primer_view_components 0.0.118 → 0.0.119
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +10 -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/item.rb +1 -1
- data/app/components/primer/alpha/action_list.rb +1 -1
- data/app/components/primer/alpha/dialog.rb +2 -2
- data/app/components/primer/alpha/text_field.css +1 -1
- data/app/components/primer/alpha/text_field.css.json +1 -1
- data/app/components/primer/alpha/text_field.css.map +1 -1
- data/app/components/primer/alpha/text_field.pcss +6 -0
- data/app/components/primer/alpha/toggle_switch.css +1 -1
- data/app/components/primer/alpha/toggle_switch.css.json +1 -1
- data/app/components/primer/alpha/toggle_switch.css.map +1 -1
- data/app/components/primer/alpha/toggle_switch.html.erb +4 -2
- data/app/components/primer/alpha/toggle_switch.js +23 -11
- data/app/components/primer/alpha/toggle_switch.pcss +6 -0
- data/app/components/primer/alpha/toggle_switch.ts +27 -11
- data/app/components/primer/alpha/tool_tip.js +0 -3
- data/app/components/primer/alpha/tool_tip.ts +0 -4
- data/app/components/primer/alpha/tooltip.rb +4 -3
- data/app/components/primer/beta/icon_button.rb +1 -1
- data/app/components/primer/component.rb +4 -0
- data/app/components/primer/icon_button.rb +1 -1
- data/app/components/primer/primer.d.ts +1 -0
- data/app/components/primer/primer.js +1 -0
- data/app/components/primer/primer.ts +1 -0
- data/app/forms/example_toggle_switch_form.rb +1 -1
- data/lib/primer/forms/dsl/input.rb +1 -1
- data/lib/primer/forms/toggle_switch.html.erb +7 -2
- data/lib/primer/forms/toggle_switch.rb +2 -4
- data/lib/primer/forms/toggle_switch_input.d.ts +5 -0
- data/lib/primer/forms/toggle_switch_input.js +29 -0
- data/lib/primer/forms/toggle_switch_input.ts +19 -0
- data/lib/primer/view_components/version.rb +1 -1
- data/previews/primer/alpha/tooltip_preview.rb +8 -8
- data/previews/primer/beta/clipboard_copy_preview.rb +1 -1
- data/previews/primer/forms/forms_preview/example_toggle_switch_form.html.erb +3 -1
- data/static/arguments.json +2 -2
- metadata +5 -16
@@ -3,6 +3,6 @@
|
|
3
3
|
# :nodoc:
|
4
4
|
class ExampleToggleSwitchForm < Primer::Forms::ToggleSwitchForm
|
5
5
|
def initialize(**system_arguments)
|
6
|
-
super(name: :example_field, label: "Example", **system_arguments)
|
6
|
+
super(name: :example_field, label: "Example", caption: "This is an example toggle switch.", **system_arguments)
|
7
7
|
end
|
8
8
|
end
|
@@ -1,9 +1,14 @@
|
|
1
|
-
<%= content_tag(
|
1
|
+
<%= content_tag("toggle-switch-input", **@input.input_arguments) do %>
|
2
2
|
<span style="flex-grow: 1">
|
3
3
|
<%= builder.label(@input.name, **@input.label_arguments) do %>
|
4
4
|
<%= @input.label %>
|
5
5
|
<% end %>
|
6
|
-
|
6
|
+
|
7
|
+
<%= content_tag(:div, data: { target: "toggle-switch-input.validationElement" }, **@input.validation_arguments) do %>
|
8
|
+
<%= content_tag(:span, @input.validation_messages.first, data: { target: "toggle-switch-input.validationMessageElement" }, **@input.validation_message_arguments) %>
|
9
|
+
<% end %>
|
10
|
+
|
11
|
+
<div><%= render(Caption.new(input: @input)) %></div>
|
7
12
|
</span>
|
8
13
|
<%
|
9
14
|
csrf = @input.csrf || @view_context.form_authenticity_token(
|
@@ -9,10 +9,8 @@ module Primer
|
|
9
9
|
def initialize(input:)
|
10
10
|
@input = input
|
11
11
|
@input.add_label_classes("FormControl-label")
|
12
|
-
|
13
|
-
@
|
14
|
-
|
15
|
-
@form_group_arguments[:hidden] = "hidden" if @input.hidden?
|
12
|
+
@input.add_input_classes("FormControl-toggleSwitchInput")
|
13
|
+
@input.input_arguments[:hidden] = "hidden" if @input.hidden?
|
16
14
|
end
|
17
15
|
end
|
18
16
|
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
6
|
+
};
|
7
|
+
import { controller, target } from '@github/catalyst';
|
8
|
+
let ToggleSwitchInputElement = class ToggleSwitchInputElement extends HTMLElement {
|
9
|
+
connectedCallback() {
|
10
|
+
this.addEventListener('toggleSwitchError', (event) => {
|
11
|
+
this.validationMessageElement.innerText = event.detail;
|
12
|
+
this.validationElement.removeAttribute('hidden');
|
13
|
+
});
|
14
|
+
this.addEventListener('toggleSwitchSuccess', () => {
|
15
|
+
this.validationMessageElement.innerText = '';
|
16
|
+
this.validationElement.setAttribute('hidden', 'hidden');
|
17
|
+
});
|
18
|
+
}
|
19
|
+
};
|
20
|
+
__decorate([
|
21
|
+
target
|
22
|
+
], ToggleSwitchInputElement.prototype, "validationElement", void 0);
|
23
|
+
__decorate([
|
24
|
+
target
|
25
|
+
], ToggleSwitchInputElement.prototype, "validationMessageElement", void 0);
|
26
|
+
ToggleSwitchInputElement = __decorate([
|
27
|
+
controller
|
28
|
+
], ToggleSwitchInputElement);
|
29
|
+
export { ToggleSwitchInputElement };
|
@@ -0,0 +1,19 @@
|
|
1
|
+
import {controller, target} from '@github/catalyst'
|
2
|
+
|
3
|
+
@controller
|
4
|
+
export class ToggleSwitchInputElement extends HTMLElement {
|
5
|
+
@target validationElement: HTMLElement
|
6
|
+
@target validationMessageElement: HTMLElement
|
7
|
+
|
8
|
+
connectedCallback() {
|
9
|
+
this.addEventListener('toggleSwitchError', (event: Event) => {
|
10
|
+
this.validationMessageElement.innerText = (event as CustomEvent).detail
|
11
|
+
this.validationElement.removeAttribute('hidden')
|
12
|
+
})
|
13
|
+
|
14
|
+
this.addEventListener('toggleSwitchSuccess', () => {
|
15
|
+
this.validationMessageElement.innerText = ''
|
16
|
+
this.validationElement.setAttribute('hidden', 'hidden')
|
17
|
+
})
|
18
|
+
}
|
19
|
+
}
|
@@ -7,7 +7,7 @@ module Primer
|
|
7
7
|
# @param type [Symbol] select [["Description", description], ["Label", label]]
|
8
8
|
# @param direction select [s, n, e, w, ne, nw, se, sw]
|
9
9
|
# @param tooltip_text text
|
10
|
-
def playground(type: :description, direction: :s, tooltip_text: "
|
10
|
+
def playground(type: :description, direction: :s, tooltip_text: "You can press a button")
|
11
11
|
render(Primer::Beta::Button.new(id: "button-with-tooltip")) do |component|
|
12
12
|
component.with_tooltip(text: tooltip_text, type: type, direction: direction)
|
13
13
|
"Button"
|
@@ -17,7 +17,7 @@ module Primer
|
|
17
17
|
# @param type [Symbol] select [["Description", description], ["Label", label]]
|
18
18
|
# @param direction select [s, n, e, w, ne, nw, se, sw]
|
19
19
|
# @param tooltip_text text
|
20
|
-
def default(type: :description, direction: :s, tooltip_text: "
|
20
|
+
def default(type: :description, direction: :s, tooltip_text: "You can press a button")
|
21
21
|
render(Primer::Beta::Button.new(id: "button-with-tooltip")) do |component|
|
22
22
|
component.with_tooltip(text: tooltip_text, type: type, direction: direction)
|
23
23
|
"Button"
|
@@ -26,7 +26,7 @@ module Primer
|
|
26
26
|
|
27
27
|
# @param direction select [s, n, e, w, ne, nw, se, sw]
|
28
28
|
# @param tooltip_text text
|
29
|
-
def label_tooltip_on_button_with_existing_labelledby(type: :label, direction: :s, tooltip_text: "
|
29
|
+
def label_tooltip_on_button_with_existing_labelledby(type: :label, direction: :s, tooltip_text: "You can press a button")
|
30
30
|
render(Primer::Beta::Button.new(id: "button-with-existing-label", "aria-labelledby": "existing-label-id")) do |component|
|
31
31
|
component.with_tooltip(text: tooltip_text, type: type, direction: direction)
|
32
32
|
"Button"
|
@@ -35,7 +35,7 @@ module Primer
|
|
35
35
|
|
36
36
|
# @param direction select [s, n, e, w, ne, nw, se, sw]
|
37
37
|
# @param tooltip_text text
|
38
|
-
def description_tooltip_on_button_with_existing_describedby(type: :description, direction: :s, tooltip_text: "
|
38
|
+
def description_tooltip_on_button_with_existing_describedby(type: :description, direction: :s, tooltip_text: "You can press a button")
|
39
39
|
render(Primer::Beta::Button.new(id: "button-with-existing-description", "aria-describedby": "existing-description-id")) do |component|
|
40
40
|
component.with_tooltip(text: tooltip_text, type: type, direction: direction)
|
41
41
|
"Button"
|
@@ -56,7 +56,7 @@ module Primer
|
|
56
56
|
|
57
57
|
# @param direction select [s, n, e, w, ne, nw, se, sw]
|
58
58
|
# @param tooltip_text text
|
59
|
-
def with_multiple_on_a_page(type: :description, direction: :s, tooltip_text: "
|
59
|
+
def with_multiple_on_a_page(type: :description, direction: :s, tooltip_text: "You can press a button")
|
60
60
|
render_with_template(
|
61
61
|
locals: {
|
62
62
|
type: type,
|
@@ -68,7 +68,7 @@ module Primer
|
|
68
68
|
|
69
69
|
# @!group Tooltip enabled elements
|
70
70
|
# @label Tooltip with Primer::Beta::Button
|
71
|
-
def tooltip_with_button(type: :description, direction: :s, tooltip_text: "
|
71
|
+
def tooltip_with_button(type: :description, direction: :s, tooltip_text: "You can press a button")
|
72
72
|
render(Primer::Beta::Button.new(id: "button-with-tooltip")) do |component|
|
73
73
|
component.with_tooltip(text: tooltip_text, type: type, direction: direction)
|
74
74
|
"Button"
|
@@ -76,7 +76,7 @@ module Primer
|
|
76
76
|
end
|
77
77
|
|
78
78
|
# @label Tooltip with Primer::Beta::Link
|
79
|
-
def tooltip_with_link(type: :description, direction: :s, tooltip_text: "
|
79
|
+
def tooltip_with_link(type: :description, direction: :s, tooltip_text: "You can press a button")
|
80
80
|
render(Primer::Beta::Link.new(href: "#link-with-tooltip", id: "link-with-tooltip")) do |component|
|
81
81
|
component.with_tooltip(text: tooltip_text, type: type, direction: direction)
|
82
82
|
"Button"
|
@@ -84,7 +84,7 @@ module Primer
|
|
84
84
|
end
|
85
85
|
|
86
86
|
# @label Tooltip with Primer::IconButton
|
87
|
-
def tooltip_with_icon_button(direction: :s, tooltip_text: "
|
87
|
+
def tooltip_with_icon_button(direction: :s, tooltip_text: "You can press a button")
|
88
88
|
render(Primer::Beta::IconButton.new(icon: :search, "aria-label": tooltip_text, tooltip_direction: direction))
|
89
89
|
end
|
90
90
|
# @!endgroup
|
@@ -24,7 +24,7 @@ module Primer
|
|
24
24
|
#
|
25
25
|
# @param aria_label [String]
|
26
26
|
# @param value [String]
|
27
|
-
def text(value: "Text to copy", aria_label: "
|
27
|
+
def text(value: "Text to copy", aria_label: "Click to copy!")
|
28
28
|
render(Primer::Beta::ClipboardCopy.new(value: value, "aria-label": aria_label)) { "Click to copy!" }
|
29
29
|
end
|
30
30
|
|
@@ -1 +1,3 @@
|
|
1
|
-
<%= render(ExampleToggleSwitchForm.new(csrf: "let_me_in", src: toggle_switch_index_path)) %>
|
1
|
+
<%= render(ExampleToggleSwitchForm.new(csrf: "let_me_in", src: toggle_switch_index_path, id: "success-toggle")) %>
|
2
|
+
<hr>
|
3
|
+
<%= render(ExampleToggleSwitchForm.new(csrf: "a_bad_value", src: toggle_switch_index_path, id: "error-toggle")) %>
|
data/static/arguments.json
CHANGED
@@ -194,7 +194,7 @@
|
|
194
194
|
{
|
195
195
|
"name": "id",
|
196
196
|
"type": "String",
|
197
|
-
"default": "`
|
197
|
+
"default": "`self.class.generate_id`",
|
198
198
|
"description": "Used internally."
|
199
199
|
},
|
200
200
|
{
|
@@ -308,7 +308,7 @@
|
|
308
308
|
{
|
309
309
|
"name": "id",
|
310
310
|
"type": "String",
|
311
|
-
"default": "
|
311
|
+
"default": "`self.class.generate_id`",
|
312
312
|
"description": "The id of the dialog."
|
313
313
|
},
|
314
314
|
{
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: primer_view_components
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.119
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- GitHub Open Source
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-01-
|
11
|
+
date: 2023-01-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: actionview
|
@@ -100,20 +100,6 @@ dependencies:
|
|
100
100
|
- - "~>"
|
101
101
|
- !ruby/object:Gem::Version
|
102
102
|
version: 0.6.3
|
103
|
-
- !ruby/object:Gem::Dependency
|
104
|
-
name: axe-core-api
|
105
|
-
requirement: !ruby/object:Gem::Requirement
|
106
|
-
requirements:
|
107
|
-
- - "~>"
|
108
|
-
- !ruby/object:Gem::Version
|
109
|
-
version: 4.2.0
|
110
|
-
type: :development
|
111
|
-
prerelease: false
|
112
|
-
version_requirements: !ruby/object:Gem::Requirement
|
113
|
-
requirements:
|
114
|
-
- - "~>"
|
115
|
-
- !ruby/object:Gem::Version
|
116
|
-
version: 4.2.0
|
117
103
|
- !ruby/object:Gem::Dependency
|
118
104
|
name: benchmark-ips
|
119
105
|
requirement: !ruby/object:Gem::Requirement
|
@@ -851,6 +837,9 @@ files:
|
|
851
837
|
- lib/primer/forms/toggle_switch.html.erb
|
852
838
|
- lib/primer/forms/toggle_switch.rb
|
853
839
|
- lib/primer/forms/toggle_switch_form.rb
|
840
|
+
- lib/primer/forms/toggle_switch_input.d.ts
|
841
|
+
- lib/primer/forms/toggle_switch_input.js
|
842
|
+
- lib/primer/forms/toggle_switch_input.ts
|
854
843
|
- lib/primer/forms/utils.rb
|
855
844
|
- lib/primer/view_components.rb
|
856
845
|
- lib/primer/view_components/audited.rb
|