primer_view_components 0.0.123 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (75) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +16 -0
  3. data/app/assets/javascripts/primer_view_components.js +1 -1
  4. data/app/assets/javascripts/primer_view_components.js.map +1 -1
  5. data/app/assets/styles/primer_view_components.css +2 -2
  6. data/app/assets/styles/primer_view_components.css.map +1 -1
  7. data/app/components/primer/alpha/action_list/item.rb +4 -0
  8. data/app/components/primer/alpha/action_list.css.json +41 -0
  9. data/app/components/primer/alpha/auto_complete.css.json +11 -0
  10. data/app/components/primer/alpha/banner.css.json +14 -0
  11. data/app/components/primer/alpha/button_marketing.css.json +10 -0
  12. data/app/components/primer/alpha/dialog.css.json +63 -0
  13. data/app/components/primer/alpha/dropdown.css.json +21 -0
  14. data/app/components/primer/alpha/layout.css.json +27 -0
  15. data/app/components/primer/alpha/menu.css.json +11 -0
  16. data/app/components/primer/alpha/nav_list/item.rb +3 -1
  17. data/app/components/primer/alpha/nav_list/section.rb +4 -4
  18. data/app/components/primer/alpha/nav_list.js +3 -0
  19. data/app/components/primer/alpha/nav_list.rb +2 -2
  20. data/app/components/primer/alpha/nav_list.ts +4 -0
  21. data/app/components/primer/alpha/overlay/body.rb +26 -0
  22. data/app/components/primer/alpha/overlay/footer.rb +41 -0
  23. data/app/components/primer/alpha/overlay/header.html.erb +15 -0
  24. data/app/components/primer/alpha/overlay/header.rb +47 -0
  25. data/app/components/primer/alpha/overlay.css +1 -0
  26. data/app/components/primer/alpha/overlay.css.json +11 -0
  27. data/app/components/primer/alpha/overlay.css.map +1 -0
  28. data/app/components/primer/alpha/overlay.html.erb +11 -0
  29. data/app/components/primer/alpha/overlay.pcss +14 -0
  30. data/app/components/primer/alpha/overlay.rb +194 -0
  31. data/app/components/primer/alpha/segmented_control.css.json +15 -0
  32. data/app/components/primer/alpha/tab_nav.css.json +10 -0
  33. data/app/components/primer/alpha/text_field.css.json +38 -0
  34. data/app/components/primer/alpha/toggle_switch.css.json +16 -0
  35. data/app/components/primer/alpha/underline_nav.css.json +13 -0
  36. data/app/components/primer/anchored_position.d.ts +27 -0
  37. data/app/components/primer/anchored_position.js +149 -0
  38. data/app/components/primer/anchored_position.ts +167 -0
  39. data/app/components/primer/beta/avatar.css.json +14 -0
  40. data/app/components/primer/beta/avatar_stack.css.json +9 -0
  41. data/app/components/primer/beta/blankslate.css.json +12 -0
  42. data/app/components/primer/beta/border_box.css.json +32 -0
  43. data/app/components/primer/beta/breadcrumbs.css.json +4 -0
  44. data/app/components/primer/beta/button.css.json +22 -0
  45. data/app/components/primer/beta/counter.css.json +6 -0
  46. data/app/components/primer/beta/flash.css.json +15 -0
  47. data/app/components/primer/beta/flash.html.erb +1 -2
  48. data/app/components/primer/beta/label.css.json +20 -0
  49. data/app/components/primer/beta/link.css.json +8 -0
  50. data/app/components/primer/beta/popover.css.json +18 -0
  51. data/app/components/primer/beta/progress_bar.css.json +6 -0
  52. data/app/components/primer/beta/state.css.json +10 -0
  53. data/app/components/primer/beta/subhead.css.json +8 -0
  54. data/app/components/primer/beta/timeline_item.css.json +9 -0
  55. data/app/components/primer/beta/truncate.css.json +6 -0
  56. data/app/components/primer/primer.d.ts +2 -0
  57. data/app/components/primer/primer.js +2 -0
  58. data/app/components/primer/primer.pcss +3 -0
  59. data/app/components/primer/primer.ts +2 -0
  60. data/app/components/primer/truncate.css.json +7 -0
  61. data/app/lib/primer/css/layout.css.json +263 -0
  62. data/app/lib/primer/css/utilities.css.json +1636 -0
  63. data/lib/primer/view_components/linters/base_linter.rb +1 -1
  64. data/lib/primer/view_components/linters/disallow_component_css_counter.rb +30 -0
  65. data/lib/primer/view_components/version.rb +2 -2
  66. data/lib/primer/yard/component_manifest.rb +1 -0
  67. data/previews/primer/alpha/overlay_preview/middle_of_page.html.erb +17 -0
  68. data/previews/primer/alpha/overlay_preview.rb +107 -0
  69. data/static/arguments.json +104 -0
  70. data/static/audited_at.json +4 -0
  71. data/static/classes.json +311 -0
  72. data/static/constants.json +102 -0
  73. data/static/previews.json +21 -0
  74. data/static/statuses.json +4 -0
  75. metadata +19 -2
@@ -40,7 +40,7 @@ module ERBLint
40
40
 
41
41
  tags.each do |tag|
42
42
  next if tag.closing?
43
- next unless self.class::TAGS&.include?(tag.name)
43
+ next if self.class::TAGS&.none?(tag.name)
44
44
 
45
45
  classes = tag.attributes["class"]&.value&.split(" ") || []
46
46
  tag_tree[tag][:offense] = false
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "base_linter"
4
+
5
+ # Load all the other linters so we can filter out their restricted
6
+ # CLASSES—they will be responsible for complaining about the use of
7
+ # those HTML classes.
8
+ Dir[File.join(__dir__, "*.rb")].sort.each do |file|
9
+ require file unless file == __FILE__
10
+ end
11
+
12
+ module ERBLint
13
+ module Linters
14
+ # Counts the number of times a class reserved for ViewComponents is used
15
+ class DisallowComponentCssCounter < BaseLinter
16
+ CLASSES = (
17
+ JSON.parse(
18
+ File.read(
19
+ File.join(__dir__, "..", "..", "..", "..", "static", "classes.json")
20
+ )
21
+ ) - BaseLinter.subclasses.reduce([]) do |html_classes, klass|
22
+ html_classes.concat(klass.const_get(:CLASSES))
23
+ end
24
+ ).freeze
25
+
26
+ TAGS = nil
27
+ MESSAGE = "Primer ViewComponents defines some HTML classes with associated styles that should not be used outside those components. (These classes might have their styles changed or even disappear in the future.) Instead of using this class directly, please use its component if appropriate or define the styles you need some other way."
28
+ end
29
+ end
30
+ end
@@ -5,8 +5,8 @@ module Primer
5
5
  module ViewComponents
6
6
  module VERSION
7
7
  MAJOR = 0
8
- MINOR = 0
9
- PATCH = 123
8
+ MINOR = 1
9
+ PATCH = 0
10
10
 
11
11
  STRING = [MAJOR, MINOR, PATCH].join(".")
12
12
  end
@@ -63,6 +63,7 @@ module Primer
63
63
  Primer::Alpha::TabPanels => { js: true },
64
64
  Primer::Alpha::Tooltip => { js: true },
65
65
  Primer::Alpha::ToggleSwitch => { js: true },
66
+ Primer::Alpha::Overlay => { js: true },
66
67
 
67
68
  # Examples can be seen in the NavList docs
68
69
  Primer::Alpha::NavList => { js: true },
@@ -0,0 +1,17 @@
1
+ <div style="width:100%; height: 400px; display: flex; justify-content: center; align-items: center;">
2
+ <%= render(Primer::Alpha::Overlay.new(
3
+ title: title,
4
+ subtitle: subtitle,
5
+ role: role,
6
+ size: size,
7
+ placement: placement,
8
+ anchor_align: anchor_align,
9
+ anchor_side: anchor_side,
10
+ allow_out_of_bounds: allow_out_of_bounds,
11
+ visually_hide_title: visually_hide_title,
12
+ )) do |d| %>
13
+ <% d.with_header(title: title, size: header_size) %>
14
+ <% d.with_show_button { button_text } %>
15
+ <% d.with_body { body_text } %>
16
+ <% end %>
17
+ </div>
@@ -0,0 +1,107 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Primer
4
+ module Alpha
5
+ # @label Overlay
6
+ class OverlayPreview < ViewComponent::Preview
7
+ # @label Playground
8
+ #
9
+ # @param title [String] text
10
+ # @param subtitle [String] text
11
+ # @param role [Symbol] select [dialog, menu]
12
+ # @param size [Symbol] select [auto, small, medium, medium_portrait, large, xlarge]
13
+ # @param padding [Symbol] select [normal, condensed, none]
14
+ # @param anchor_align [Symbol] select [start, center, end]
15
+ # @param anchor_offset [Symbol] select [normal, spacious]
16
+ # @param anchor_side [Symbol] select [inside_top, inside_bottom, inside_left, inside_right, inside_center, outside_top, outside_bottom, outside_left, outside_right]
17
+ # @param allow_out_of_bounds [Boolean] toggle
18
+ # @param visually_hide_title [Boolean] toggle
19
+ #
20
+ # @param header_size [Symbol] select [medium, large]
21
+ # @param button_text [String] text
22
+ # @param body_text [String] text
23
+ def playground(title: "Test Overlay", subtitle: nil, role: :dialog, size: :auto, padding: :normal, anchor_align: :center, anchor_offset: :normal, anchor_side: :outside_bottom, allow_out_of_bounds: false, visually_hide_title: false, header_size: :medium, button_text: "Show Overlay", body_text: "")
24
+ render(Primer::Alpha::Overlay.new(
25
+ title: title,
26
+ subtitle: subtitle,
27
+ role: role,
28
+ size: size,
29
+ padding: padding,
30
+ anchor_align: anchor_align,
31
+ anchor_offset: anchor_offset,
32
+ anchor_side: anchor_side,
33
+ allow_out_of_bounds: allow_out_of_bounds,
34
+ visually_hide_title: visually_hide_title,
35
+ )) do |d|
36
+ d.with_header(title: title, size: header_size)
37
+ d.with_show_button { button_text }
38
+ d.with_body { body_text }
39
+ end
40
+ end
41
+
42
+ # @label Default
43
+ #
44
+ # @param title [String] text
45
+ # @param subtitle [String] text
46
+ # @param role [Symbol] select [dialog, menu]
47
+ # @param size [Symbol] select [auto, small, medium, medium_portrait, large, xlarge]
48
+ # @param padding [Symbol] select [normal, condensed, none]
49
+ # @param anchor_align [Symbol] select [start, center, end]
50
+ # @param anchor_side [Symbol] select [inside_top, inside_bottom, inside_left, inside_right, inside_center, outside_top, outside_bottom, outside_left, outside_right]
51
+ # @param allow_out_of_bounds [Boolean] toggle
52
+ # @param visually_hide_title [Boolean] toggle
53
+ #
54
+ # @param header_size [Symbol] select [medium, large]
55
+ # @param button_text [String] text
56
+ # @param body_text [String] text
57
+ def default(title: "Test Overlay", subtitle: nil, role: :dialog, size: :auto, padding: :normal, anchor_align: :center, anchor_side: :outside_bottom, allow_out_of_bounds: false, visually_hide_title: false, header_size: :medium, button_text: "Show Overlay", body_text: "")
58
+ render(Primer::Alpha::Overlay.new(
59
+ title: title,
60
+ subtitle: subtitle,
61
+ role: role,
62
+ size: size,
63
+ padding: padding,
64
+ anchor_align: anchor_align,
65
+ anchor_side: anchor_side,
66
+ allow_out_of_bounds: allow_out_of_bounds,
67
+ visually_hide_title: visually_hide_title,
68
+ )) do |d|
69
+ d.with_header(title: title, size: header_size)
70
+ d.with_show_button { button_text }
71
+ d.with_body { body_text }
72
+ end
73
+ end
74
+
75
+ # @label Middle Of Page
76
+ #
77
+ # @param title [String] text
78
+ # @param subtitle [String] text
79
+ # @param role [Symbol] select [dialog, menu]
80
+ # @param size [Symbol] select [auto, small, medium, medium_portrait, large, xlarge]
81
+ # @param anchor_align [Symbol] select [start, center, end]
82
+ # @param anchor_side [Symbol] select [inside_top, inside_bottom, inside_left, inside_right, inside_center, outside_top, outside_bottom, outside_left, outside_right]
83
+ # @param allow_out_of_bounds [Boolean] toggle
84
+ # @param visually_hide_title [Boolean] toggle
85
+ #
86
+ # @param header_size [Symbol] select [medium, large]
87
+ # @param button_text [String] text
88
+ # @param body_text [String] text
89
+ def middle_of_page(title: "Test Overlay", subtitle: nil, role: :dialog, size: :auto, placement: :anchored, anchor_align: :center, anchor_side: :outside_bottom, allow_out_of_bounds: false, visually_hide_title: false, header_size: :medium, button_text: "Show Overlay", body_text: "")
90
+ render_with_template(locals: {
91
+ title: title,
92
+ subtitle: subtitle,
93
+ role: role,
94
+ size: size,
95
+ placement: placement,
96
+ anchor_align: anchor_align,
97
+ anchor_side: anchor_side,
98
+ allow_out_of_bounds: allow_out_of_bounds,
99
+ visually_hide_title: visually_hide_title,
100
+ header_size: header_size,
101
+ button_text: button_text,
102
+ body_text: body_text
103
+ })
104
+ end
105
+ end
106
+ end
107
+ end
@@ -2039,6 +2039,104 @@
2039
2039
  }
2040
2040
  ]
2041
2041
  },
2042
+ {
2043
+ "component": "Overlay",
2044
+ "status": "alpha",
2045
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/overlay.rb",
2046
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/overlay/default/",
2047
+ "parameters": [
2048
+ {
2049
+ "name": "id",
2050
+ "type": "String",
2051
+ "default": "`self.class.generate_id`",
2052
+ "description": "The id of the Overlay."
2053
+ },
2054
+ {
2055
+ "name": "title",
2056
+ "type": "String",
2057
+ "default": "N/A",
2058
+ "description": "Describes the content of the Overlay."
2059
+ },
2060
+ {
2061
+ "name": "subtitle",
2062
+ "type": "String",
2063
+ "default": "`nil`",
2064
+ "description": "Provides dditional context for the Overlay, also setting the `aria-describedby` attribute."
2065
+ },
2066
+ {
2067
+ "name": "popover",
2068
+ "type": "Symbol",
2069
+ "default": "`:auto`",
2070
+ "description": "The popover behaviour. One of `:auto` or `:manual`."
2071
+ },
2072
+ {
2073
+ "name": "popover",
2074
+ "type": "Symbol",
2075
+ "default": "`:auto`",
2076
+ "description": "The popover behaviour. One of `:auto` or `:manual`."
2077
+ },
2078
+ {
2079
+ "name": "size",
2080
+ "type": "Symbol",
2081
+ "default": "`:auto`",
2082
+ "description": "The size of the Overlay. One of `:auto`, `:large`, `:medium`, `:medium_portrait`, `:small`, or `:xlarge`."
2083
+ },
2084
+ {
2085
+ "name": "padding",
2086
+ "type": "Symbol",
2087
+ "default": "`:normal`",
2088
+ "description": "The padding given to the Overlay body. One of `:condensed`, `:none`, or `:normal`."
2089
+ },
2090
+ {
2091
+ "name": "anchor",
2092
+ "type": "String",
2093
+ "default": "`nil`",
2094
+ "description": "An ID of the element to anchor onto. Defaults to the `show_button`."
2095
+ },
2096
+ {
2097
+ "name": "anchor_align",
2098
+ "type": "Symbol",
2099
+ "default": "`:start`",
2100
+ "description": "The anchor alignment of the Overlay. One of `:center`, `:end`, or `:start`."
2101
+ },
2102
+ {
2103
+ "name": "anchor_side",
2104
+ "type": "Symbol",
2105
+ "default": "`:outside_bottom`",
2106
+ "description": "The side to anchor the Overlay to. One of `:inside_bottom`, `:inside_center`, `:inside_left`, `:inside_right`, `:inside_top`, `:outside_bottom`, `:outside_left`, `:outside_right`, or `:outside_top`."
2107
+ },
2108
+ {
2109
+ "name": "anchor_offset",
2110
+ "type": "Symbol",
2111
+ "default": "`:normal`",
2112
+ "description": "The anchor offset to give the Overlay. One of `:normal` or `:spacious`."
2113
+ },
2114
+ {
2115
+ "name": "allow_out_of_bounds",
2116
+ "type": "Boolean",
2117
+ "default": "`false`",
2118
+ "description": "Allow the Overlay to overflow its container."
2119
+ },
2120
+ {
2121
+ "name": "visually_hide_title",
2122
+ "type": "Boolean",
2123
+ "default": "`false`",
2124
+ "description": "If true will hide the heading title, while still making it available to Screen Readers."
2125
+ },
2126
+ {
2127
+ "name": "role",
2128
+ "type": "String",
2129
+ "default": "N/A",
2130
+ "description": "The ARIA role. One of `:dialog` or `:menu`."
2131
+ },
2132
+ {
2133
+ "name": "system_arguments",
2134
+ "type": "Hash",
2135
+ "default": "N/A",
2136
+ "description": "[System arguments](/system-arguments)"
2137
+ }
2138
+ ]
2139
+ },
2042
2140
  {
2043
2141
  "component": "NavList",
2044
2142
  "status": "alpha",
@@ -2249,6 +2347,12 @@
2249
2347
  "default": "`nil`",
2250
2348
  "description": "CSS classes that will be added to the label."
2251
2349
  },
2350
+ {
2351
+ "name": "label_arguments",
2352
+ "type": "Hash",
2353
+ "default": "`{}`",
2354
+ "description": "[System arguments](/system-arguments) used to construct the label."
2355
+ },
2252
2356
  {
2253
2357
  "name": "content_arguments",
2254
2358
  "type": "Hash",
@@ -31,6 +31,10 @@
31
31
  "Primer::Alpha::NavList::Item": "",
32
32
  "Primer::Alpha::NavList::Section": "",
33
33
  "Primer::Alpha::OcticonSymbols": "",
34
+ "Primer::Alpha::Overlay": "",
35
+ "Primer::Alpha::Overlay::Body": "",
36
+ "Primer::Alpha::Overlay::Footer": "",
37
+ "Primer::Alpha::Overlay::Header": "",
34
38
  "Primer::Alpha::RadioButton": "",
35
39
  "Primer::Alpha::RadioButtonGroup": "",
36
40
  "Primer::Alpha::SegmentedControl": "2023-02-01",
@@ -0,0 +1,311 @@
1
+ [
2
+ "ActionList--subGroup",
3
+ "ActionList-sectionDivider",
4
+ "ActionList-sectionDivider--filled",
5
+ "ActionList-sectionDivider-title",
6
+ "ActionListContent",
7
+ "ActionListContent--blockDescription",
8
+ "ActionListContent--hasActiveSubItem",
9
+ "ActionListContent--sizeLarge",
10
+ "ActionListContent--sizeXLarge",
11
+ "ActionListContent--visual16",
12
+ "ActionListContent--visual20",
13
+ "ActionListContent--visual24",
14
+ "ActionListItem",
15
+ "ActionListItem--danger",
16
+ "ActionListItem--hasSubItem",
17
+ "ActionListItem--navActive",
18
+ "ActionListItem--subItem",
19
+ "ActionListItem--trailingActionHover",
20
+ "ActionListItem--withActions",
21
+ "ActionListItem-action",
22
+ "ActionListItem-action--leading",
23
+ "ActionListItem-action--trailing",
24
+ "ActionListItem-collapseIcon",
25
+ "ActionListItem-description",
26
+ "ActionListItem-descriptionWrap",
27
+ "ActionListItem-descriptionWrap--inline",
28
+ "ActionListItem-label",
29
+ "ActionListItem-label--truncate",
30
+ "ActionListItem-multiSelectCheckmark",
31
+ "ActionListItem-multiSelectIcon",
32
+ "ActionListItem-multiSelectIconRect",
33
+ "ActionListItem-singleSelectCheckmark",
34
+ "ActionListItem-trailingAction",
35
+ "ActionListItem-visual",
36
+ "ActionListItem-visual--leading",
37
+ "ActionListItem-visual--trailing",
38
+ "ActionListWrap",
39
+ "ActionListWrap--divided",
40
+ "ActionListWrap--inset",
41
+ "AvatarStack",
42
+ "AvatarStack--right",
43
+ "AvatarStack--three-plus",
44
+ "AvatarStack--two",
45
+ "AvatarStack-body",
46
+ "Banner",
47
+ "Banner--error",
48
+ "Banner--full",
49
+ "Banner--full-whenNarrow",
50
+ "Banner--success",
51
+ "Banner--warning",
52
+ "Banner-actions",
53
+ "Banner-close",
54
+ "Banner-message",
55
+ "Banner-title",
56
+ "Banner-visual",
57
+ "Box",
58
+ "Box--blue",
59
+ "Box--condensed",
60
+ "Box--danger",
61
+ "Box--scrollable",
62
+ "Box--spacious",
63
+ "Box-body",
64
+ "Box-btn-octicon",
65
+ "Box-footer",
66
+ "Box-header",
67
+ "Box-header--blue",
68
+ "Box-row",
69
+ "Box-row--blue",
70
+ "Box-row--drag-button",
71
+ "Box-row--drag-hide",
72
+ "Box-row--focus-blue",
73
+ "Box-row--focus-gray",
74
+ "Box-row--gray",
75
+ "Box-row--hover-blue",
76
+ "Box-row--hover-gray",
77
+ "Box-row--unread",
78
+ "Box-row--yellow",
79
+ "Box-row-link",
80
+ "Box-title",
81
+ "Button",
82
+ "Button--danger",
83
+ "Button--fullWidth",
84
+ "Button--iconOnly",
85
+ "Button--invisible",
86
+ "Button--invisible-noVisuals",
87
+ "Button--large",
88
+ "Button--link",
89
+ "Button--medium",
90
+ "Button--primary",
91
+ "Button--secondary",
92
+ "Button--small",
93
+ "Button-content",
94
+ "Button-content--alignStart",
95
+ "Button-label",
96
+ "Button-leadingVisual",
97
+ "Button-trailingAction",
98
+ "Button-trailingVisual",
99
+ "Button-visual",
100
+ "Button-withTooltip",
101
+ "Counter",
102
+ "Counter--primary",
103
+ "Counter--secondary",
104
+ "FormControl",
105
+ "FormControl--fullWidth",
106
+ "FormControl-caption",
107
+ "FormControl-check-group-wrap",
108
+ "FormControl-checkbox",
109
+ "FormControl-checkbox-labelWrap",
110
+ "FormControl-checkbox-wrap",
111
+ "FormControl-error",
112
+ "FormControl-horizontalGroup",
113
+ "FormControl-inlineValidation",
114
+ "FormControl-input",
115
+ "FormControl-input-leadingVisual",
116
+ "FormControl-input-leadingVisualWrap",
117
+ "FormControl-input-trailingAction",
118
+ "FormControl-input-trailingAction--divider",
119
+ "FormControl-input-wrap",
120
+ "FormControl-input-wrap--leadingVisual",
121
+ "FormControl-input-wrap--trailingAction",
122
+ "FormControl-input-wrap-trailingAction--divider",
123
+ "FormControl-inset",
124
+ "FormControl-label",
125
+ "FormControl-large",
126
+ "FormControl-medium",
127
+ "FormControl-monospace",
128
+ "FormControl-radio",
129
+ "FormControl-radio-group-wrap",
130
+ "FormControl-radio-labelWrap",
131
+ "FormControl-radio-wrap",
132
+ "FormControl-select",
133
+ "FormControl-select-wrap",
134
+ "FormControl-small",
135
+ "FormControl-spacingWrapper",
136
+ "FormControl-success",
137
+ "FormControl-textarea",
138
+ "FormControl-toggleSwitchInput",
139
+ "FormControl-warning",
140
+ "Label",
141
+ "Label--accent",
142
+ "Label--attention",
143
+ "Label--closed",
144
+ "Label--danger",
145
+ "Label--done",
146
+ "Label--info",
147
+ "Label--inline",
148
+ "Label--large",
149
+ "Label--open",
150
+ "Label--primary",
151
+ "Label--secondary",
152
+ "Label--severe",
153
+ "Label--sponsors",
154
+ "Label--success",
155
+ "Label--warning",
156
+ "Layout",
157
+ "Layout--divided",
158
+ "Layout--flowRow-until-lg",
159
+ "Layout--flowRow-until-md",
160
+ "Layout--gutter-condensed",
161
+ "Layout--gutter-none",
162
+ "Layout--gutter-spacious",
163
+ "Layout--sidebar-narrow",
164
+ "Layout--sidebar-wide",
165
+ "Layout--sidebarPosition-end",
166
+ "Layout--sidebarPosition-flowRow-end",
167
+ "Layout--sidebarPosition-flowRow-none",
168
+ "Layout--sidebarPosition-flowRow-start",
169
+ "Layout--sidebarPosition-start",
170
+ "Layout-divider",
171
+ "Layout-divider--flowRow-hidden",
172
+ "Layout-divider--flowRow-shallow",
173
+ "Layout-main",
174
+ "Layout-main-centered-lg",
175
+ "Layout-main-centered-md",
176
+ "Layout-main-centered-xl",
177
+ "Layout-sidebar",
178
+ "Link",
179
+ "Link--muted",
180
+ "Link--onHover",
181
+ "Link--primary",
182
+ "Link--secondary",
183
+ "Overlay",
184
+ "Overlay--height-auto",
185
+ "Overlay--height-large",
186
+ "Overlay--height-medium",
187
+ "Overlay--height-small",
188
+ "Overlay--height-xlarge",
189
+ "Overlay--height-xsmall",
190
+ "Overlay--hidden",
191
+ "Overlay--motion-scaleFade",
192
+ "Overlay--size-auto",
193
+ "Overlay--size-full",
194
+ "Overlay--size-large",
195
+ "Overlay--size-medium",
196
+ "Overlay--size-medium-portrait",
197
+ "Overlay--size-small",
198
+ "Overlay--size-small-portrait",
199
+ "Overlay--size-xlarge",
200
+ "Overlay--size-xsmall",
201
+ "Overlay--visibilityHidden",
202
+ "Overlay--width-auto",
203
+ "Overlay--width-large",
204
+ "Overlay--width-medium",
205
+ "Overlay--width-small",
206
+ "Overlay--width-xlarge",
207
+ "Overlay--width-xxlarge",
208
+ "Overlay-actionWrap",
209
+ "Overlay-backdrop--anchor",
210
+ "Overlay-backdrop--anchor-whenNarrow",
211
+ "Overlay-backdrop--center",
212
+ "Overlay-backdrop--center-whenNarrow",
213
+ "Overlay-backdrop--full",
214
+ "Overlay-backdrop--full-whenNarrow",
215
+ "Overlay-backdrop--placement-bottom",
216
+ "Overlay-backdrop--placement-bottom-whenNarrow",
217
+ "Overlay-backdrop--placement-left",
218
+ "Overlay-backdrop--placement-left-whenNarrow",
219
+ "Overlay-backdrop--placement-right",
220
+ "Overlay-backdrop--placement-right-whenNarrow",
221
+ "Overlay-backdrop--placement-top",
222
+ "Overlay-backdrop--placement-top-whenNarrow",
223
+ "Overlay-backdrop--side",
224
+ "Overlay-backdrop--side-whenNarrow",
225
+ "Overlay-body",
226
+ "Overlay-body--paddingCondensed",
227
+ "Overlay-body--paddingNone",
228
+ "Overlay-closeButton",
229
+ "Overlay-description",
230
+ "Overlay-footer",
231
+ "Overlay-footer--alignCenter",
232
+ "Overlay-footer--alignEnd",
233
+ "Overlay-footer--alignStart",
234
+ "Overlay-footer--divided",
235
+ "Overlay-form",
236
+ "Overlay-header",
237
+ "Overlay-header--divided",
238
+ "Overlay-header--large",
239
+ "Overlay-headerContentWrap",
240
+ "Overlay-title",
241
+ "Overlay-titleWrap",
242
+ "Overlay-whenNarrow",
243
+ "Popover",
244
+ "Popover-message",
245
+ "Popover-message--bottom",
246
+ "Popover-message--bottom-left",
247
+ "Popover-message--bottom-right",
248
+ "Popover-message--large",
249
+ "Popover-message--left",
250
+ "Popover-message--left-bottom",
251
+ "Popover-message--left-top",
252
+ "Popover-message--no-caret",
253
+ "Popover-message--right",
254
+ "Popover-message--right-bottom",
255
+ "Popover-message--right-top",
256
+ "Popover-message--top-left",
257
+ "Popover-message--top-right",
258
+ "Progress",
259
+ "Progress--large",
260
+ "Progress--small",
261
+ "Progress-item",
262
+ "SegmentedControl",
263
+ "SegmentedControl--fullWidth",
264
+ "SegmentedControl-item",
265
+ "SegmentedControl-item--selected",
266
+ "State",
267
+ "State--closed",
268
+ "State--draft",
269
+ "State--merged",
270
+ "State--open",
271
+ "State--small",
272
+ "Subhead",
273
+ "Subhead--spacious",
274
+ "Subhead-actions",
275
+ "Subhead-description",
276
+ "Subhead-heading",
277
+ "Subhead-heading--danger",
278
+ "TimelineItem",
279
+ "TimelineItem--condensed",
280
+ "TimelineItem-avatar",
281
+ "TimelineItem-badge",
282
+ "TimelineItem-badge--success",
283
+ "TimelineItem-body",
284
+ "TimelineItem-break",
285
+ "ToggleSwitch",
286
+ "ToggleSwitch--checked",
287
+ "ToggleSwitch--disabled",
288
+ "ToggleSwitch--small",
289
+ "ToggleSwitch--statusAtEnd",
290
+ "ToggleSwitch-circleIcon",
291
+ "ToggleSwitch-icons",
292
+ "ToggleSwitch-knob",
293
+ "ToggleSwitch-lineIcon",
294
+ "ToggleSwitch-status",
295
+ "ToggleSwitch-statusIcon",
296
+ "ToggleSwitch-statusOff",
297
+ "ToggleSwitch-statusOn",
298
+ "ToggleSwitch-track",
299
+ "Truncate",
300
+ "Truncate-text",
301
+ "Truncate-text--expandable",
302
+ "Truncate-text--primary",
303
+ "UnderlineNav",
304
+ "UnderlineNav--full",
305
+ "UnderlineNav--right",
306
+ "UnderlineNav-actions",
307
+ "UnderlineNav-body",
308
+ "UnderlineNav-container",
309
+ "UnderlineNav-item",
310
+ "UnderlineNav-octicon"
311
+ ]