primer_view_components 0.0.118 → 0.0.119
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 +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
|