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.
Files changed (110) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +51 -0
  3. data/app/assets/javascripts/app/components/primer/alpha/select_panel_element.d.ts +0 -1
  4. data/app/assets/javascripts/app/components/primer/shared_events.d.ts +2 -0
  5. data/app/assets/javascripts/primer_view_components.js +1 -1
  6. data/app/assets/javascripts/primer_view_components.js.map +1 -1
  7. data/app/assets/styles/primer_view_components.css +1 -1
  8. data/app/assets/styles/primer_view_components.css.map +1 -1
  9. data/app/components/primer/alpha/action_list/item.html.erb +1 -5
  10. data/app/components/primer/alpha/action_list/item.rb +10 -3
  11. data/app/components/primer/alpha/action_list.css +1 -1
  12. data/app/components/primer/alpha/action_list.css.json +33 -50
  13. data/app/components/primer/alpha/action_list.css.map +1 -1
  14. data/app/components/primer/alpha/action_menu/action_menu_element.js +20 -7
  15. data/app/components/primer/alpha/action_menu/action_menu_element.ts +20 -7
  16. data/app/components/primer/alpha/auto_complete.css +1 -1
  17. data/app/components/primer/alpha/auto_complete.css.json +3 -5
  18. data/app/components/primer/alpha/auto_complete.css.map +1 -1
  19. data/app/components/primer/alpha/banner.css +1 -1
  20. data/app/components/primer/alpha/banner.css.json +5 -5
  21. data/app/components/primer/alpha/banner.css.map +1 -1
  22. data/app/components/primer/alpha/button_marketing.css +1 -1
  23. data/app/components/primer/alpha/button_marketing.css.json +1 -4
  24. data/app/components/primer/alpha/button_marketing.css.map +1 -1
  25. data/app/components/primer/alpha/dialog.css +1 -1
  26. data/app/components/primer/alpha/dialog.css.json +7 -7
  27. data/app/components/primer/alpha/dialog.css.map +1 -1
  28. data/app/components/primer/alpha/layout.css +1 -1
  29. data/app/components/primer/alpha/layout.css.json +9 -15
  30. data/app/components/primer/alpha/layout.css.map +1 -1
  31. data/app/components/primer/alpha/menu.css +1 -1
  32. data/app/components/primer/alpha/menu.css.json +1 -3
  33. data/app/components/primer/alpha/menu.css.map +1 -1
  34. data/app/components/primer/alpha/segmented_control.css +1 -1
  35. data/app/components/primer/alpha/segmented_control.css.json +5 -5
  36. data/app/components/primer/alpha/segmented_control.css.map +1 -1
  37. data/app/components/primer/alpha/segmented_control.pcss +1 -0
  38. data/app/components/primer/alpha/select_panel.rb +5 -4
  39. data/app/components/primer/alpha/select_panel_element.d.ts +0 -1
  40. data/app/components/primer/alpha/select_panel_element.js +55 -26
  41. data/app/components/primer/alpha/select_panel_element.ts +53 -29
  42. data/app/components/primer/alpha/tab_nav.css +1 -1
  43. data/app/components/primer/alpha/tab_nav.css.json +1 -3
  44. data/app/components/primer/alpha/tab_nav.css.map +1 -1
  45. data/app/components/primer/alpha/text_field.css +1 -1
  46. data/app/components/primer/alpha/text_field.css.json +37 -78
  47. data/app/components/primer/alpha/text_field.css.map +1 -1
  48. data/app/components/primer/alpha/toggle_switch.css +1 -1
  49. data/app/components/primer/alpha/toggle_switch.css.json +1 -1
  50. data/app/components/primer/alpha/toggle_switch.css.map +1 -1
  51. data/app/components/primer/alpha/toggle_switch.rb +2 -1
  52. data/app/components/primer/alpha/tool_tip.js +2 -2
  53. data/app/components/primer/alpha/tool_tip.ts +2 -2
  54. data/app/components/primer/alpha/underline_nav.css +1 -1
  55. data/app/components/primer/alpha/underline_nav.css.json +2 -4
  56. data/app/components/primer/alpha/underline_nav.css.map +1 -1
  57. data/app/components/primer/beta/avatar_stack.css +1 -1
  58. data/app/components/primer/beta/avatar_stack.css.json +8 -8
  59. data/app/components/primer/beta/avatar_stack.css.map +1 -1
  60. data/app/components/primer/beta/border_box.css +1 -1
  61. data/app/components/primer/beta/border_box.css.json +4 -4
  62. data/app/components/primer/beta/border_box.css.map +1 -1
  63. data/app/components/primer/beta/breadcrumbs.css +1 -1
  64. data/app/components/primer/beta/breadcrumbs.css.json +1 -2
  65. data/app/components/primer/beta/breadcrumbs.css.map +1 -1
  66. data/app/components/primer/beta/button.css +1 -1
  67. data/app/components/primer/beta/button.css.json +6 -8
  68. data/app/components/primer/beta/button.css.map +1 -1
  69. data/app/components/primer/beta/button_group.css +1 -1
  70. data/app/components/primer/beta/button_group.css.json +3 -3
  71. data/app/components/primer/beta/button_group.css.map +1 -1
  72. data/app/components/primer/beta/label.css +1 -1
  73. data/app/components/primer/beta/label.css.json +1 -2
  74. data/app/components/primer/beta/label.css.map +1 -1
  75. data/app/components/primer/beta/link.css +1 -1
  76. data/app/components/primer/beta/link.css.json +1 -3
  77. data/app/components/primer/beta/link.css.map +1 -1
  78. data/app/components/primer/beta/popover.css +1 -1
  79. data/app/components/primer/beta/popover.css.json +16 -22
  80. data/app/components/primer/beta/popover.css.map +1 -1
  81. data/app/components/primer/beta/relative_time.rb +4 -4
  82. data/app/components/primer/beta/spinner.html.erb +1 -1
  83. data/app/components/primer/beta/state.css +1 -1
  84. data/app/components/primer/beta/state.css.map +1 -1
  85. data/app/components/primer/beta/state.pcss +4 -0
  86. data/app/components/primer/beta/truncate.css +1 -1
  87. data/app/components/primer/beta/truncate.css.json +5 -5
  88. data/app/components/primer/beta/truncate.css.map +1 -1
  89. data/app/components/primer/open_project/side_panel/section.css +1 -1
  90. data/app/components/primer/open_project/side_panel/section.css.json +1 -2
  91. data/app/components/primer/open_project/side_panel/section.css.map +1 -1
  92. data/app/components/primer/shared_events.d.ts +2 -0
  93. data/app/components/primer/shared_events.ts +2 -0
  94. data/lib/primer/forms/primer_text_field.js +3 -0
  95. data/lib/primer/forms/primer_text_field.ts +4 -0
  96. data/lib/primer/view_components/linters/details_menu_migration.rb +30 -1
  97. data/lib/primer/view_components/linters/tooltipped_migration.rb +1 -1
  98. data/lib/primer/view_components/version.rb +2 -2
  99. data/previews/primer/alpha/action_list_preview.rb +1 -1
  100. data/previews/primer/alpha/select_panel_preview/list_of_links.html.erb +16 -0
  101. data/previews/primer/alpha/select_panel_preview/no_values.html.erb +19 -0
  102. data/previews/primer/alpha/select_panel_preview/playground.html.erb +2 -1
  103. data/previews/primer/alpha/select_panel_preview/remote_fetch.html.erb +4 -1
  104. data/previews/primer/alpha/select_panel_preview/single_select.html.erb +4 -4
  105. data/previews/primer/alpha/select_panel_preview.rb +23 -7
  106. data/static/arguments.json +6 -6
  107. data/static/classes.json +39 -21
  108. data/static/info_arch.json +72 -13
  109. data/static/previews.json +26 -0
  110. 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,0FACE,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
+ {"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
- generate_node_offense(self.class, processed_source, node, MIGRATE_FROM_DETAILS_MENU) if code.match?(DETAILS_MENU_RUBY_PATTERN)
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. There are major accessibility concerns with using this tooltip so please take action. See https://primer.style/guides/rails/migration-guides/primer-css-tooltipped."
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)
@@ -5,8 +5,8 @@ module Primer
5
5
  module ViewComponents
6
6
  module VERSION
7
7
  MAJOR = 0
8
- MINOR = 41
9
- PATCH = 1
8
+ MINOR = 43
9
+ PATCH = 0
10
10
 
11
11
  STRING = [MAJOR, MINOR, PATCH].join(".")
12
12
  end
@@ -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 } %>
@@ -8,7 +8,8 @@
8
8
  src: select_panel_items_path(
9
9
  select_variant: :single,
10
10
  show_results: !simulate_no_results,
11
- fail: simulate_failure
11
+ fail: simulate_failure,
12
+ selected_items: selected_items
12
13
  ),
13
14
  select_variant: :single,
14
15
  fetch_strategy: :remote,
@@ -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
- def remote_fetch(open_on_load: false)
88
- render_with_template(locals: { open_on_load: open_on_load })
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
@@ -2388,7 +2388,7 @@
2388
2388
  "name": "select_variant",
2389
2389
  "type": "Symbol",
2390
2390
  "default": "`:single`",
2391
- "description": "One of `:multiple`, `:multiple_checkbox`, `:none`, or `:single`."
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": "sring",
4339
+ "type": "String",
4340
4340
  "default": "`nil`",
4341
- "description": "What to prefix the relative ime display with."
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": "string",
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": "string",
4417
+ "type": "String",
4418
4418
  "default": "`nil`",
4419
4419
  "description": "The language to use."
4420
4420
  },
4421
4421
  {
4422
4422
  "name": "title",
4423
- "type": "string",
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
  ],