openproject-primer_view_components 0.41.1 → 0.43.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +51 -0
- data/app/assets/javascripts/app/components/primer/alpha/select_panel_element.d.ts +0 -1
- data/app/assets/javascripts/app/components/primer/shared_events.d.ts +2 -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.html.erb +1 -5
- data/app/components/primer/alpha/action_list/item.rb +10 -3
- data/app/components/primer/alpha/action_list.css +1 -1
- data/app/components/primer/alpha/action_list.css.json +33 -50
- data/app/components/primer/alpha/action_list.css.map +1 -1
- data/app/components/primer/alpha/action_menu/action_menu_element.js +20 -7
- data/app/components/primer/alpha/action_menu/action_menu_element.ts +20 -7
- data/app/components/primer/alpha/auto_complete.css +1 -1
- data/app/components/primer/alpha/auto_complete.css.json +3 -5
- data/app/components/primer/alpha/auto_complete.css.map +1 -1
- data/app/components/primer/alpha/banner.css +1 -1
- data/app/components/primer/alpha/banner.css.json +5 -5
- data/app/components/primer/alpha/banner.css.map +1 -1
- data/app/components/primer/alpha/button_marketing.css +1 -1
- data/app/components/primer/alpha/button_marketing.css.json +1 -4
- data/app/components/primer/alpha/button_marketing.css.map +1 -1
- data/app/components/primer/alpha/dialog.css +1 -1
- data/app/components/primer/alpha/dialog.css.json +7 -7
- data/app/components/primer/alpha/dialog.css.map +1 -1
- data/app/components/primer/alpha/layout.css +1 -1
- data/app/components/primer/alpha/layout.css.json +9 -15
- data/app/components/primer/alpha/layout.css.map +1 -1
- data/app/components/primer/alpha/menu.css +1 -1
- data/app/components/primer/alpha/menu.css.json +1 -3
- data/app/components/primer/alpha/menu.css.map +1 -1
- data/app/components/primer/alpha/segmented_control.css +1 -1
- data/app/components/primer/alpha/segmented_control.css.json +5 -5
- data/app/components/primer/alpha/segmented_control.css.map +1 -1
- data/app/components/primer/alpha/segmented_control.pcss +1 -0
- data/app/components/primer/alpha/select_panel.rb +5 -4
- data/app/components/primer/alpha/select_panel_element.d.ts +0 -1
- data/app/components/primer/alpha/select_panel_element.js +55 -26
- data/app/components/primer/alpha/select_panel_element.ts +53 -29
- data/app/components/primer/alpha/tab_nav.css +1 -1
- data/app/components/primer/alpha/tab_nav.css.json +1 -3
- data/app/components/primer/alpha/tab_nav.css.map +1 -1
- data/app/components/primer/alpha/text_field.css +1 -1
- data/app/components/primer/alpha/text_field.css.json +37 -78
- data/app/components/primer/alpha/text_field.css.map +1 -1
- 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.rb +2 -1
- data/app/components/primer/alpha/tool_tip.js +2 -2
- data/app/components/primer/alpha/tool_tip.ts +2 -2
- data/app/components/primer/alpha/underline_nav.css +1 -1
- data/app/components/primer/alpha/underline_nav.css.json +2 -4
- data/app/components/primer/alpha/underline_nav.css.map +1 -1
- data/app/components/primer/beta/avatar_stack.css +1 -1
- data/app/components/primer/beta/avatar_stack.css.json +8 -8
- data/app/components/primer/beta/avatar_stack.css.map +1 -1
- data/app/components/primer/beta/border_box.css +1 -1
- data/app/components/primer/beta/border_box.css.json +4 -4
- data/app/components/primer/beta/border_box.css.map +1 -1
- data/app/components/primer/beta/breadcrumbs.css +1 -1
- data/app/components/primer/beta/breadcrumbs.css.json +1 -2
- data/app/components/primer/beta/breadcrumbs.css.map +1 -1
- data/app/components/primer/beta/button.css +1 -1
- data/app/components/primer/beta/button.css.json +6 -8
- data/app/components/primer/beta/button.css.map +1 -1
- data/app/components/primer/beta/button_group.css +1 -1
- data/app/components/primer/beta/button_group.css.json +3 -3
- data/app/components/primer/beta/button_group.css.map +1 -1
- data/app/components/primer/beta/label.css +1 -1
- data/app/components/primer/beta/label.css.json +1 -2
- data/app/components/primer/beta/label.css.map +1 -1
- data/app/components/primer/beta/link.css +1 -1
- data/app/components/primer/beta/link.css.json +1 -3
- data/app/components/primer/beta/link.css.map +1 -1
- data/app/components/primer/beta/popover.css +1 -1
- data/app/components/primer/beta/popover.css.json +16 -22
- data/app/components/primer/beta/popover.css.map +1 -1
- data/app/components/primer/beta/relative_time.rb +4 -4
- data/app/components/primer/beta/spinner.html.erb +1 -1
- data/app/components/primer/beta/state.css +1 -1
- data/app/components/primer/beta/state.css.map +1 -1
- data/app/components/primer/beta/state.pcss +4 -0
- data/app/components/primer/beta/truncate.css +1 -1
- data/app/components/primer/beta/truncate.css.json +5 -5
- data/app/components/primer/beta/truncate.css.map +1 -1
- data/app/components/primer/open_project/side_panel/section.css +1 -1
- data/app/components/primer/open_project/side_panel/section.css.json +1 -2
- data/app/components/primer/open_project/side_panel/section.css.map +1 -1
- data/app/components/primer/shared_events.d.ts +2 -0
- data/app/components/primer/shared_events.ts +2 -0
- data/lib/primer/forms/primer_text_field.js +3 -0
- data/lib/primer/forms/primer_text_field.ts +4 -0
- data/lib/primer/view_components/linters/details_menu_migration.rb +30 -1
- data/lib/primer/view_components/linters/tooltipped_migration.rb +1 -1
- data/lib/primer/view_components/version.rb +2 -2
- data/previews/primer/alpha/action_list_preview.rb +1 -1
- data/previews/primer/alpha/select_panel_preview/list_of_links.html.erb +16 -0
- data/previews/primer/alpha/select_panel_preview/no_values.html.erb +19 -0
- data/previews/primer/alpha/select_panel_preview/playground.html.erb +2 -1
- data/previews/primer/alpha/select_panel_preview/remote_fetch.html.erb +4 -1
- data/previews/primer/alpha/select_panel_preview/single_select.html.erb +4 -4
- data/previews/primer/alpha/select_panel_preview.rb +23 -7
- data/static/arguments.json +6 -6
- data/static/classes.json +39 -21
- data/static/info_arch.json +72 -13
- data/static/previews.json +26 -0
- metadata +4 -2
@@ -6,7 +6,6 @@
|
|
6
6
|
".SidePanel-sectionAction",
|
7
7
|
".SidePanel-sectionContent",
|
8
8
|
".SidePanel-sectionDescription",
|
9
|
-
".SidePanel-sectionContent:not(:last-child)"
|
10
|
-
".SidePanel-sectionDescription:not(:last-child)"
|
9
|
+
":is(.SidePanel-sectionContent,.SidePanel-sectionDescription):not(:last-child)"
|
11
10
|
]
|
12
11
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["section.pcss"],"names":[],"mappings":"AAEA,yBAEE,kBAAmB,CADnB,YAAa,CAEb,WAAY,CACZ,iBACF,CAEA,0BACE,eACF,CAEA,yBAGE,YAAa,CADb,MAAO,CADP,qBAGF,CAEA,wDAEE,YAKF,CAHE,
|
1
|
+
{"version":3,"sources":["section.pcss"],"names":[],"mappings":"AAEA,yBAEE,kBAAmB,CADnB,YAAa,CAEb,WAAY,CACZ,iBACF,CAEA,0BACE,eACF,CAEA,yBAGE,YAAa,CADb,MAAO,CADP,qBAGF,CAEA,wDAEE,YAKF,CAHE,8EACE,kBACF","file":"section.css","sourcesContent":["/* CSS for OpenProject::SidePanel::Section */\n\n.SidePanel-sectionHeader {\n display: flex;\n align-items: center;\n height: 32px;\n margin-bottom: 8px;\n}\n\n.SidePanel-sectionCounter {\n margin-left: 8px;\n}\n\n.SidePanel-sectionAction {\n justify-content: right;\n flex: 1;\n display: flex;\n}\n\n.SidePanel-sectionContent,\n.SidePanel-sectionDescription {\n margin-top: 0;\n\n &:not(:last-child) {\n margin-bottom: 16px;\n }\n}\n"]}
|
@@ -1,9 +1,11 @@
|
|
1
1
|
export type ItemActivatedEvent = {
|
2
2
|
item: Element;
|
3
3
|
checked: boolean;
|
4
|
+
value: string | null;
|
4
5
|
};
|
5
6
|
declare global {
|
6
7
|
interface HTMLElementEventMap {
|
7
8
|
itemActivated: CustomEvent<ItemActivatedEvent>;
|
9
|
+
beforeItemActivated: CustomEvent<ItemActivatedEvent>;
|
8
10
|
}
|
9
11
|
}
|
@@ -1,10 +1,12 @@
|
|
1
1
|
export type ItemActivatedEvent = {
|
2
2
|
item: Element
|
3
3
|
checked: boolean
|
4
|
+
value: string | null
|
4
5
|
}
|
5
6
|
|
6
7
|
declare global {
|
7
8
|
interface HTMLElementEventMap {
|
8
9
|
itemActivated: CustomEvent<ItemActivatedEvent>
|
10
|
+
beforeItemActivated: CustomEvent<ItemActivatedEvent>
|
9
11
|
}
|
10
12
|
}
|
@@ -19,6 +19,7 @@ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (
|
|
19
19
|
var _PrimerTextFieldElement_abortController;
|
20
20
|
import '@github/auto-check-element';
|
21
21
|
import { controller, target } from '@github/catalyst';
|
22
|
+
const SCREENREADER_TEXT_CLASSNAME = 'spinner-screenreader-text';
|
22
23
|
let PrimerTextFieldElement = class PrimerTextFieldElement extends HTMLElement {
|
23
24
|
constructor() {
|
24
25
|
super(...arguments);
|
@@ -83,10 +84,12 @@ let PrimerTextFieldElement = class PrimerTextFieldElement extends HTMLElement {
|
|
83
84
|
}
|
84
85
|
showLeadingSpinner() {
|
85
86
|
this.leadingSpinner?.removeAttribute('hidden');
|
87
|
+
this.leadingSpinner?.querySelector(SCREENREADER_TEXT_CLASSNAME)?.removeAttribute('hidden');
|
86
88
|
this.leadingVisual?.setAttribute('hidden', '');
|
87
89
|
}
|
88
90
|
hideLeadingSpinner() {
|
89
91
|
this.leadingSpinner?.setAttribute('hidden', '');
|
92
|
+
this.leadingSpinner?.querySelector(SCREENREADER_TEXT_CLASSNAME)?.setAttribute('hidden', '');
|
90
93
|
this.leadingVisual?.removeAttribute('hidden');
|
91
94
|
}
|
92
95
|
};
|
@@ -10,6 +10,8 @@ declare global {
|
|
10
10
|
'auto-check-error': AutoCheckErrorEvent
|
11
11
|
}
|
12
12
|
}
|
13
|
+
|
14
|
+
const SCREENREADER_TEXT_CLASSNAME = 'spinner-screenreader-text'
|
13
15
|
@controller
|
14
16
|
export class PrimerTextFieldElement extends HTMLElement {
|
15
17
|
@target inputElement: HTMLInputElement
|
@@ -97,11 +99,13 @@ export class PrimerTextFieldElement extends HTMLElement {
|
|
97
99
|
|
98
100
|
showLeadingSpinner(): void {
|
99
101
|
this.leadingSpinner?.removeAttribute('hidden')
|
102
|
+
this.leadingSpinner?.querySelector(SCREENREADER_TEXT_CLASSNAME)?.removeAttribute('hidden')
|
100
103
|
this.leadingVisual?.setAttribute('hidden', '')
|
101
104
|
}
|
102
105
|
|
103
106
|
hideLeadingSpinner(): void {
|
104
107
|
this.leadingSpinner?.setAttribute('hidden', '')
|
108
|
+
this.leadingSpinner?.querySelector(SCREENREADER_TEXT_CLASSNAME)?.setAttribute('hidden', '')
|
105
109
|
this.leadingVisual?.removeAttribute('hidden')
|
106
110
|
}
|
107
111
|
}
|
@@ -14,6 +14,13 @@ module ERBLint
|
|
14
14
|
" https://primer.style/design/components/action-menu/rails/alpha"
|
15
15
|
DETAILS_MENU_RUBY_PATTERN = /tag:?\s+:"details-menu"/.freeze
|
16
16
|
|
17
|
+
# Allow custom pattern matching for ERB nodes
|
18
|
+
class ConfigSchema < LinterConfig
|
19
|
+
property :custom_erb_pattern, accepts: array_of?(Regexp),
|
20
|
+
default: -> { [] }
|
21
|
+
end
|
22
|
+
self.config_schema = ConfigSchema
|
23
|
+
|
17
24
|
def run(processed_source)
|
18
25
|
# HTML tags
|
19
26
|
tags(processed_source).each do |tag|
|
@@ -25,9 +32,31 @@ module ERBLint
|
|
25
32
|
# ERB nodes
|
26
33
|
erb_nodes(processed_source).each do |node|
|
27
34
|
code = extract_ruby_from_erb_node(node)
|
28
|
-
|
35
|
+
|
36
|
+
if contains_offense?(code)
|
37
|
+
generate_node_offense(self.class, processed_source, node, MIGRATE_FROM_DETAILS_MENU)
|
38
|
+
end
|
29
39
|
end
|
30
40
|
end
|
41
|
+
|
42
|
+
def contains_offense?(code)
|
43
|
+
return true if code.match?(DETAILS_MENU_RUBY_PATTERN)
|
44
|
+
return code.match?(custom_erb_pattern) if custom_erb_pattern
|
45
|
+
false
|
46
|
+
end
|
47
|
+
|
48
|
+
def custom_erb_pattern
|
49
|
+
unless defined?(@custom_erb_pattern)
|
50
|
+
@custom_erb_pattern =
|
51
|
+
if @config.custom_erb_pattern.empty?
|
52
|
+
nil
|
53
|
+
else
|
54
|
+
Regexp.new(@config.custom_erb_pattern.join("|"), true)
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
@custom_erb_pattern
|
59
|
+
end
|
31
60
|
end
|
32
61
|
end
|
33
62
|
end
|
@@ -10,7 +10,7 @@ module ERBLint
|
|
10
10
|
include LinterRegistry
|
11
11
|
include Helpers::RuleHelpers
|
12
12
|
|
13
|
-
MIGRATE_TO_NEWER_TOOLTIP = ".tooltipped has been deprecated.
|
13
|
+
MIGRATE_TO_NEWER_TOOLTIP = ".tooltipped has been deprecated. Due to major accessibility concerns with using this tooltip, please migrate to a Primer Tooltip component or rework the design to eliminate the tooltip. See https://primer.style/guides/rails/migration-guides/primer-css-tooltipped."
|
14
14
|
TOOLTIPPED_RUBY_PATTERN = /classes:.*tooltipped|class:.*tooltipped/.freeze
|
15
15
|
|
16
16
|
def run(processed_source)
|
@@ -380,7 +380,7 @@ module Primer
|
|
380
380
|
aria: { label: "List heading" }
|
381
381
|
)) do |component|
|
382
382
|
component.with_item(label: "Default item", href: "/") do |item|
|
383
|
-
item.with_description.with_content("This is a description")
|
383
|
+
item.with_description(test_selector: "some-selector").with_content("This is a description")
|
384
384
|
end
|
385
385
|
end
|
386
386
|
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
<% subject_id = SecureRandom.hex %>
|
2
|
+
|
3
|
+
<%= render(Primer::Alpha::SelectPanel.new(
|
4
|
+
data: { interaction_subject: subject_id },
|
5
|
+
select_variant: :single,
|
6
|
+
fetch_strategy: :local,
|
7
|
+
open_on_load: open_on_load
|
8
|
+
)) do |panel| %>
|
9
|
+
<% panel.with_show_button { "Panel" } %>
|
10
|
+
<% panel.with_item(label: "GitHub", href: "https://github.com") %>
|
11
|
+
<% panel.with_item(label: "Microsoft", href: "https://microsoft.com") %>
|
12
|
+
<% panel.with_item(label: "Primer", href: "https://primer.style") %>
|
13
|
+
<% panel.with_item(label: "Catalyst", href: "https://catalyst.rocks") %>
|
14
|
+
<% end %>
|
15
|
+
|
16
|
+
<%= render partial: "primer/alpha/select_panel_preview/interaction_subject_js", locals: { subject_id: subject_id } %>
|
@@ -0,0 +1,19 @@
|
|
1
|
+
<% subject_id = SecureRandom.hex %>
|
2
|
+
|
3
|
+
<%= render(Primer::Alpha::SelectPanel.new(
|
4
|
+
data: { interaction_subject: subject_id },
|
5
|
+
select_variant: :single,
|
6
|
+
fetch_strategy: :local,
|
7
|
+
open_on_load: open_on_load
|
8
|
+
)) do |panel| %>
|
9
|
+
<% panel.with_show_button { "Choose item" } %>
|
10
|
+
<% panel.with_item(label: "Item 1") %>
|
11
|
+
<% panel.with_item(label: "Item 2") %>
|
12
|
+
<% panel.with_item(label: "Item 3") %>
|
13
|
+
<% panel.with_item(label: "Item 4") %>
|
14
|
+
<% panel.with_footer(show_divider: true) do %>
|
15
|
+
I'm a footer!
|
16
|
+
<% end %>
|
17
|
+
<% end %>
|
18
|
+
|
19
|
+
<%= render partial: "primer/alpha/select_panel_preview/interaction_subject_js", locals: { subject_id: subject_id } %>
|
@@ -2,7 +2,10 @@
|
|
2
2
|
|
3
3
|
<%= render(Primer::Alpha::SelectPanel.new(
|
4
4
|
data: { interaction_subject: subject_id },
|
5
|
-
src: select_panel_items_path
|
5
|
+
src: select_panel_items_path(
|
6
|
+
select_variant: :multiple,
|
7
|
+
selected_items: selected_items,
|
8
|
+
),
|
6
9
|
select_variant: :multiple,
|
7
10
|
fetch_strategy: :remote,
|
8
11
|
open_on_load: open_on_load
|
@@ -7,10 +7,10 @@
|
|
7
7
|
open_on_load: open_on_load
|
8
8
|
)) do |panel| %>
|
9
9
|
<% panel.with_show_button { "Choose item" } %>
|
10
|
-
<% panel.with_item(label: "Item 1", item_id: :item1) %>
|
11
|
-
<% panel.with_item(label: "Item 2", item_id: :item2) %>
|
12
|
-
<% panel.with_item(label: "Item 3", item_id: :item3) %>
|
13
|
-
<% panel.with_item(label: "Item 4", item_id: :item4) %>
|
10
|
+
<% panel.with_item(label: "Item 1", item_id: :item1, content_arguments: { data: { value: 1 } }) %>
|
11
|
+
<% panel.with_item(label: "Item 2", item_id: :item2, content_arguments: { data: { value: 2 } }) %>
|
12
|
+
<% panel.with_item(label: "Item 3", item_id: :item3, content_arguments: { data: { value: 3 } }) %>
|
13
|
+
<% panel.with_item(label: "Item 4", item_id: :item4, content_arguments: { data: { value: 4 } }) %>
|
14
14
|
<% panel.with_item(label: "Disabled", disabled: true, item_id: :disabled) %>
|
15
15
|
<% panel.with_footer(show_divider: true) do %>
|
16
16
|
I'm a footer!
|
@@ -18,6 +18,7 @@ module Primer
|
|
18
18
|
# @param open_on_load toggle
|
19
19
|
# @param anchor_align [Symbol] select [start, center, end]
|
20
20
|
# @param anchor_side [Symbol] select [outside_bottom, outside_top, outside_left, outside_right]
|
21
|
+
# @param selected_items text
|
21
22
|
def playground(
|
22
23
|
title: "Sci-fi equipment",
|
23
24
|
subtitle: "Various tools from your favorite shows",
|
@@ -31,10 +32,12 @@ module Primer
|
|
31
32
|
show_filter: true,
|
32
33
|
open_on_load: false,
|
33
34
|
anchor_align: :start,
|
34
|
-
anchor_side: :outside_bottom
|
35
|
+
anchor_side: :outside_bottom,
|
36
|
+
selected_items: "Phaser"
|
35
37
|
)
|
36
38
|
render_with_template(locals: {
|
37
39
|
subtitle: subtitle,
|
40
|
+
selected_items: selected_items,
|
38
41
|
system_arguments: {
|
39
42
|
title: title,
|
40
43
|
size: size,
|
@@ -62,8 +65,6 @@ module Primer
|
|
62
65
|
})
|
63
66
|
end
|
64
67
|
|
65
|
-
# @!group Fetch strategies
|
66
|
-
|
67
68
|
# @label Local fetch
|
68
69
|
#
|
69
70
|
# @snapshot interactive
|
@@ -84,8 +85,9 @@ module Primer
|
|
84
85
|
#
|
85
86
|
# @snapshot interactive
|
86
87
|
# @param open_on_load toggle
|
87
|
-
|
88
|
-
|
88
|
+
# @param selected_items text
|
89
|
+
def remote_fetch(open_on_load: false, selected_items: "Phaser")
|
90
|
+
render_with_template(locals: { open_on_load: open_on_load, selected_items: selected_items })
|
89
91
|
end
|
90
92
|
|
91
93
|
# @label Local fetch (no results)
|
@@ -112,8 +114,6 @@ module Primer
|
|
112
114
|
render_with_template(locals: { open_on_load: open_on_load })
|
113
115
|
end
|
114
116
|
|
115
|
-
# @!endgroup
|
116
|
-
|
117
117
|
# @label Single select
|
118
118
|
#
|
119
119
|
# @snapshot interactive
|
@@ -234,6 +234,22 @@ module Primer
|
|
234
234
|
def multiselect_form(open_on_load: false, route_format: :html)
|
235
235
|
render_with_template(locals: { open_on_load: open_on_load, route_format: route_format })
|
236
236
|
end
|
237
|
+
|
238
|
+
# @label List of links
|
239
|
+
#
|
240
|
+
# @snapshot interactive
|
241
|
+
# @param open_on_load toggle
|
242
|
+
def list_of_links(open_on_load: false)
|
243
|
+
render_with_template(locals: { open_on_load: open_on_load })
|
244
|
+
end
|
245
|
+
|
246
|
+
# @label No values
|
247
|
+
#
|
248
|
+
# @snapshot interactive
|
249
|
+
# @param open_on_load toggle
|
250
|
+
def no_values(open_on_load: false)
|
251
|
+
render_with_template(locals: { open_on_load: open_on_load })
|
252
|
+
end
|
237
253
|
end
|
238
254
|
end
|
239
255
|
end
|
data/static/arguments.json
CHANGED
@@ -2388,7 +2388,7 @@
|
|
2388
2388
|
"name": "select_variant",
|
2389
2389
|
"type": "Symbol",
|
2390
2390
|
"default": "`:single`",
|
2391
|
-
"description": "One of `:multiple`, `:
|
2391
|
+
"description": "One of `:multiple`, `:none`, or `:single`."
|
2392
2392
|
},
|
2393
2393
|
{
|
2394
2394
|
"name": "fetch_strategy",
|
@@ -4336,9 +4336,9 @@
|
|
4336
4336
|
},
|
4337
4337
|
{
|
4338
4338
|
"name": "prefix",
|
4339
|
-
"type": "
|
4339
|
+
"type": "String",
|
4340
4340
|
"default": "`nil`",
|
4341
|
-
"description": "What to prefix the relative
|
4341
|
+
"description": "What to prefix the relative time display with."
|
4342
4342
|
},
|
4343
4343
|
{
|
4344
4344
|
"name": "second",
|
@@ -4390,7 +4390,7 @@
|
|
4390
4390
|
},
|
4391
4391
|
{
|
4392
4392
|
"name": "threshold",
|
4393
|
-
"type": "
|
4393
|
+
"type": "String",
|
4394
4394
|
"default": "`nil`",
|
4395
4395
|
"description": "The threshold, in ISO-8601 'durations' format, at which relative time displays become absolute."
|
4396
4396
|
},
|
@@ -4414,13 +4414,13 @@
|
|
4414
4414
|
},
|
4415
4415
|
{
|
4416
4416
|
"name": "lang",
|
4417
|
-
"type": "
|
4417
|
+
"type": "String",
|
4418
4418
|
"default": "`nil`",
|
4419
4419
|
"description": "The language to use."
|
4420
4420
|
},
|
4421
4421
|
{
|
4422
4422
|
"name": "title",
|
4423
|
-
"type": "
|
4423
|
+
"type": "String",
|
4424
4424
|
"default": "`nil`",
|
4425
4425
|
"description": "Provide a custom title to the element."
|
4426
4426
|
},
|
data/static/classes.json
CHANGED
@@ -266,6 +266,9 @@
|
|
266
266
|
"FormControl-checkbox-wrap": [
|
267
267
|
"Primer::Alpha::TextField"
|
268
268
|
],
|
269
|
+
"FormControl-error": [
|
270
|
+
"Primer::Alpha::TextField"
|
271
|
+
],
|
269
272
|
"FormControl-horizontalGroup": [
|
270
273
|
"Primer::Alpha::TextField"
|
271
274
|
],
|
@@ -281,12 +284,27 @@
|
|
281
284
|
"FormControl-input": [
|
282
285
|
"Primer::Alpha::TextField"
|
283
286
|
],
|
287
|
+
"FormControl-input-trailingAction--divider": [
|
288
|
+
"Primer::Alpha::TextField"
|
289
|
+
],
|
284
290
|
"FormControl-input-wrap": [
|
285
291
|
"Primer::Alpha::TextField"
|
286
292
|
],
|
293
|
+
"FormControl-inset": [
|
294
|
+
"Primer::Alpha::TextField"
|
295
|
+
],
|
287
296
|
"FormControl-label": [
|
288
297
|
"Primer::Alpha::TextField"
|
289
298
|
],
|
299
|
+
"FormControl-large": [
|
300
|
+
"Primer::Alpha::TextField"
|
301
|
+
],
|
302
|
+
"FormControl-medium": [
|
303
|
+
"Primer::Alpha::TextField"
|
304
|
+
],
|
305
|
+
"FormControl-monospace": [
|
306
|
+
"Primer::Alpha::TextField"
|
307
|
+
],
|
290
308
|
"FormControl-radio-group-wrap": [
|
291
309
|
"Primer::Alpha::TextField"
|
292
310
|
],
|
@@ -299,15 +317,24 @@
|
|
299
317
|
"FormControl-select-wrap": [
|
300
318
|
"Primer::Alpha::TextField"
|
301
319
|
],
|
320
|
+
"FormControl-small": [
|
321
|
+
"Primer::Alpha::TextField"
|
322
|
+
],
|
302
323
|
"FormControl-spacingWrapper": [
|
303
324
|
"Primer::Alpha::TextField"
|
304
325
|
],
|
326
|
+
"FormControl-success": [
|
327
|
+
"Primer::Alpha::TextField"
|
328
|
+
],
|
305
329
|
"FormControl-textarea": [
|
306
330
|
"Primer::Alpha::TextField"
|
307
331
|
],
|
308
332
|
"FormControl-toggleSwitchInput": [
|
309
333
|
"Primer::Alpha::TextField"
|
310
334
|
],
|
335
|
+
"FormControl-warning": [
|
336
|
+
"Primer::Alpha::TextField"
|
337
|
+
],
|
311
338
|
"InputGroup": [
|
312
339
|
"Primer::OpenProject::InputGroup"
|
313
340
|
],
|
@@ -365,6 +392,12 @@
|
|
365
392
|
"Layout-divider": [
|
366
393
|
"Primer::Alpha::Layout"
|
367
394
|
],
|
395
|
+
"Layout-divider--flowRow-hidden": [
|
396
|
+
"Primer::Alpha::Layout"
|
397
|
+
],
|
398
|
+
"Layout-divider--flowRow-shallow": [
|
399
|
+
"Primer::Alpha::Layout"
|
400
|
+
],
|
368
401
|
"Layout-main": [
|
369
402
|
"Primer::Alpha::Layout"
|
370
403
|
],
|
@@ -465,9 +498,6 @@
|
|
465
498
|
"Popover-message": [
|
466
499
|
"Primer::Beta::Popover"
|
467
500
|
],
|
468
|
-
"Popover-message--bottom": [
|
469
|
-
"Primer::Beta::Popover"
|
470
|
-
],
|
471
501
|
"Popover-message--bottom-left": [
|
472
502
|
"Primer::Beta::Popover"
|
473
503
|
],
|
@@ -477,27 +507,9 @@
|
|
477
507
|
"Popover-message--large": [
|
478
508
|
"Primer::Beta::Popover"
|
479
509
|
],
|
480
|
-
"Popover-message--left": [
|
481
|
-
"Primer::Beta::Popover"
|
482
|
-
],
|
483
|
-
"Popover-message--left-bottom": [
|
484
|
-
"Primer::Beta::Popover"
|
485
|
-
],
|
486
|
-
"Popover-message--left-top": [
|
487
|
-
"Primer::Beta::Popover"
|
488
|
-
],
|
489
510
|
"Popover-message--no-caret": [
|
490
511
|
"Primer::Beta::Popover"
|
491
512
|
],
|
492
|
-
"Popover-message--right": [
|
493
|
-
"Primer::Beta::Popover"
|
494
|
-
],
|
495
|
-
"Popover-message--right-bottom": [
|
496
|
-
"Primer::Beta::Popover"
|
497
|
-
],
|
498
|
-
"Popover-message--right-top": [
|
499
|
-
"Primer::Beta::Popover"
|
500
|
-
],
|
501
513
|
"Popover-message--top-left": [
|
502
514
|
"Primer::Beta::Popover"
|
503
515
|
],
|
@@ -675,6 +687,12 @@
|
|
675
687
|
"Truncate": [
|
676
688
|
"Primer::Beta::Truncate"
|
677
689
|
],
|
690
|
+
"Truncate-text--expandable": [
|
691
|
+
"Primer::Beta::Truncate"
|
692
|
+
],
|
693
|
+
"Truncate-text--primary": [
|
694
|
+
"Primer::Beta::Truncate"
|
695
|
+
],
|
678
696
|
"UnderlineNav": [
|
679
697
|
"Primer::Alpha::UnderlineNav"
|
680
698
|
],
|