primer_view_components 0.1.4 → 0.1.5

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 +14 -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/heading.html.erb +1 -1
  8. data/app/components/primer/alpha/action_list/heading.rb +5 -3
  9. data/app/components/primer/alpha/action_list/item.html.erb +9 -0
  10. data/app/components/primer/alpha/action_list/item.rb +31 -10
  11. data/app/components/primer/alpha/action_list.css +1 -1
  12. data/app/components/primer/alpha/action_list.css.json +4 -41
  13. data/app/components/primer/alpha/action_list.css.map +1 -1
  14. data/app/components/primer/alpha/action_list.pcss +19 -20
  15. data/app/components/primer/alpha/action_list.rb +54 -6
  16. data/app/components/primer/alpha/action_menu/action_menu_element.d.ts +22 -0
  17. data/app/components/primer/alpha/action_menu/action_menu_element.js +139 -0
  18. data/app/components/primer/alpha/action_menu/action_menu_element.ts +137 -0
  19. data/app/components/primer/alpha/action_menu/list.rb +81 -0
  20. data/app/components/primer/alpha/action_menu.html.erb +26 -0
  21. data/app/components/primer/alpha/action_menu.rb +322 -0
  22. data/app/components/primer/alpha/auto_complete.css.json +0 -11
  23. data/app/components/primer/alpha/banner.css.json +0 -14
  24. data/app/components/primer/alpha/button_marketing.css.json +0 -10
  25. data/app/components/primer/alpha/dialog.css.json +0 -63
  26. data/app/components/primer/alpha/dialog.rb +6 -2
  27. data/app/components/primer/alpha/dropdown.css.json +0 -21
  28. data/app/components/primer/alpha/layout.css.json +0 -27
  29. data/app/components/primer/alpha/menu.css.json +0 -11
  30. data/app/components/primer/alpha/nav_list/item.rb +5 -0
  31. data/app/components/primer/alpha/overlay.css +1 -1
  32. data/app/components/primer/alpha/overlay.css.json +0 -3
  33. data/app/components/primer/alpha/overlay.css.map +1 -1
  34. data/app/components/primer/alpha/overlay.pcss +1 -0
  35. data/app/components/primer/alpha/overlay.rb +14 -18
  36. data/app/components/primer/alpha/segmented_control.css.json +0 -15
  37. data/app/components/primer/alpha/tab_nav.css.json +0 -10
  38. data/app/components/primer/alpha/text_field.css.json +0 -38
  39. data/app/components/primer/alpha/toggle_switch.css.json +0 -16
  40. data/app/components/primer/alpha/underline_nav.css.json +0 -13
  41. data/app/components/primer/beta/avatar.css.json +0 -14
  42. data/app/components/primer/beta/avatar_stack.css.json +0 -9
  43. data/app/components/primer/beta/blankslate.css.json +0 -12
  44. data/app/components/primer/beta/border_box.css.json +0 -32
  45. data/app/components/primer/beta/border_box.rb +3 -3
  46. data/app/components/primer/beta/breadcrumbs.css.json +0 -4
  47. data/app/components/primer/beta/button.css +1 -1
  48. data/app/components/primer/beta/button.css.json +0 -22
  49. data/app/components/primer/beta/button.css.map +1 -1
  50. data/app/components/primer/beta/button.pcss +3 -3
  51. data/app/components/primer/beta/counter.css.json +0 -6
  52. data/app/components/primer/beta/flash.css.json +0 -15
  53. data/app/components/primer/beta/label.css.json +0 -20
  54. data/app/components/primer/beta/link.css.json +0 -8
  55. data/app/components/primer/beta/popover.css.json +0 -18
  56. data/app/components/primer/beta/progress_bar.css.json +0 -6
  57. data/app/components/primer/beta/state.css.json +0 -10
  58. data/app/components/primer/beta/subhead.css.json +0 -8
  59. data/app/components/primer/beta/timeline_item.css.json +0 -9
  60. data/app/components/primer/beta/truncate.css.json +0 -6
  61. data/app/components/primer/focus_group.d.ts +19 -0
  62. data/app/components/primer/focus_group.js +144 -0
  63. data/app/components/primer/focus_group.ts +137 -0
  64. data/app/components/primer/icon_button.rb +1 -1
  65. data/app/components/primer/primer.d.ts +2 -0
  66. data/app/components/primer/primer.js +2 -0
  67. data/app/components/primer/primer.ts +2 -0
  68. data/app/components/primer/truncate.css.json +0 -7
  69. data/app/lib/primer/css/layout.css.json +0 -263
  70. data/app/lib/primer/css/utilities.css.json +0 -1636
  71. data/lib/primer/static/generate_arguments.rb +55 -0
  72. data/lib/primer/static/generate_audited_at.rb +17 -0
  73. data/lib/primer/static/generate_constants.rb +19 -0
  74. data/lib/primer/static/generate_info_arch.rb +156 -0
  75. data/lib/primer/static/generate_previews.rb +45 -0
  76. data/lib/primer/static/generate_statuses.rb +17 -0
  77. data/lib/primer/static.rb +72 -0
  78. data/lib/primer/view_components/linters/disallow_component_css_counter.rb +43 -4
  79. data/lib/primer/view_components/version.rb +1 -1
  80. data/lib/primer/view_components.rb +0 -48
  81. data/lib/primer/yard/component_manifest.rb +1 -0
  82. data/lib/primer/yard/component_ref.rb +14 -0
  83. data/lib/primer/yard/docs_helper.rb +3 -0
  84. data/lib/primer/yard/info_arch_docs_helper.rb +31 -0
  85. data/lib/primer/yard/legacy_gatsby_backend.rb +3 -35
  86. data/lib/primer/yard/registry.rb +2 -1
  87. data/lib/primer/yard.rb +1 -0
  88. data/lib/tasks/docs.rake +10 -12
  89. data/lib/tasks/static.rake +20 -28
  90. data/previews/primer/alpha/action_list_preview.rb +4 -1
  91. data/previews/primer/alpha/action_menu_preview/align_end.html.erb +6 -0
  92. data/previews/primer/alpha/action_menu_preview/opens_dialog.html.erb +21 -0
  93. data/previews/primer/alpha/action_menu_preview.rb +238 -0
  94. data/previews/primer/alpha/dialog_preview/body_has_scrollbar_overflow.html.erb +2 -2
  95. data/previews/primer/alpha/dialog_preview/custom_header.html.erb +3 -3
  96. data/previews/primer/alpha/dialog_preview/nested_dialog.html.erb +4 -4
  97. data/previews/primer/alpha/dialog_preview/test.html.erb +3 -3
  98. data/previews/primer/alpha/dialog_preview/with_footer.html.erb +3 -3
  99. data/previews/primer/alpha/dialog_preview/with_form.html.erb +1 -1
  100. data/previews/primer/alpha/dialog_preview/with_text_input.html.erb +2 -2
  101. data/previews/primer/alpha/dialog_preview.rb +7 -2
  102. data/previews/primer/beta/auto_complete_item_preview.rb +1 -0
  103. data/static/arguments.json +3078 -1404
  104. data/static/audited_at.json +2 -0
  105. data/static/classes.json +576 -311
  106. data/static/constants.json +42 -2
  107. data/static/info_arch.json +8859 -0
  108. data/static/previews.json +221 -101
  109. data/static/statuses.json +2 -0
  110. metadata +23 -2
@@ -0,0 +1,144 @@
1
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
2
+ if (kind === "m") throw new TypeError("Private method is not writable");
3
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
4
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
5
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
6
+ };
7
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
8
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
9
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
10
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
+ };
12
+ var _FocusGroupElement_instances, _FocusGroupElement_abortController, _FocusGroupElement_items_get;
13
+ import '@oddbird/popover-polyfill';
14
+ const menuItemSelector = '[role="menuitem"],[role="menuitemcheckbox"],[role="menuitemradio"]';
15
+ const popoverSelector = (() => {
16
+ try {
17
+ document.querySelector(':open');
18
+ return ':open';
19
+ }
20
+ catch (_a) {
21
+ return '.\\:open';
22
+ }
23
+ })();
24
+ const getMnemonicFor = (item) => { var _a; return (_a = item.textContent) === null || _a === void 0 ? void 0 : _a.trim()[0].toLowerCase(); };
25
+ const printable = /^\S$/;
26
+ export default class FocusGroupElement extends HTMLElement {
27
+ constructor() {
28
+ super(...arguments);
29
+ _FocusGroupElement_instances.add(this);
30
+ _FocusGroupElement_abortController.set(this, null);
31
+ }
32
+ get nowrap() {
33
+ return this.hasAttribute('nowrap');
34
+ }
35
+ set nowrap(value) {
36
+ this.toggleAttribute('nowrap', value);
37
+ }
38
+ get direction() {
39
+ if (this.getAttribute('direction') === 'horizontal')
40
+ return 'horizontal';
41
+ return 'vertical';
42
+ }
43
+ set direction(value) {
44
+ this.setAttribute('direction', `${value}`);
45
+ }
46
+ get retain() {
47
+ return this.hasAttribute('retain');
48
+ }
49
+ set retain(value) {
50
+ this.toggleAttribute('retain', value);
51
+ }
52
+ get mnemonics() {
53
+ return this.hasAttribute('mnemonics');
54
+ }
55
+ connectedCallback() {
56
+ __classPrivateFieldSet(this, _FocusGroupElement_abortController, new AbortController(), "f");
57
+ const { signal } = __classPrivateFieldGet(this, _FocusGroupElement_abortController, "f");
58
+ this.addEventListener('keydown', this, { signal });
59
+ this.addEventListener('click', this, { signal });
60
+ this.addEventListener('mouseover', this, { signal });
61
+ this.addEventListener('focusin', this, { signal });
62
+ }
63
+ disconnectedCallback() {
64
+ var _a;
65
+ (_a = __classPrivateFieldGet(this, _FocusGroupElement_abortController, "f")) === null || _a === void 0 ? void 0 : _a.abort();
66
+ }
67
+ handleEvent(event) {
68
+ const { direction, nowrap } = this;
69
+ if (event.type === 'focusin') {
70
+ if (this.retain && event.target instanceof Element && event.target.matches(menuItemSelector)) {
71
+ for (const item of __classPrivateFieldGet(this, _FocusGroupElement_instances, "a", _FocusGroupElement_items_get)) {
72
+ item.setAttribute('tabindex', item === event.target ? '0' : '-1');
73
+ }
74
+ }
75
+ }
76
+ else if (event instanceof KeyboardEvent) {
77
+ const items = Array.from(__classPrivateFieldGet(this, _FocusGroupElement_instances, "a", _FocusGroupElement_items_get));
78
+ let index = items.indexOf(event.target);
79
+ const key = event.key;
80
+ if (key === 'Up' || key === 'ArrowUp') {
81
+ if (direction === 'vertical' || direction === 'both') {
82
+ index -= index < 0 ? 0 : 1;
83
+ }
84
+ }
85
+ else if (key === 'Down' || key === 'ArrowDown') {
86
+ if (direction === 'vertical' || direction === 'both') {
87
+ index += 1;
88
+ }
89
+ }
90
+ else if (event.key === 'Left' || event.key === 'ArrowLeft') {
91
+ if (direction === 'horizontal' || direction === 'both') {
92
+ index -= 1;
93
+ }
94
+ }
95
+ else if (event.key === 'Right' || event.key === 'ArrowRight') {
96
+ if (direction === 'horizontal' || direction === 'both') {
97
+ index += 1;
98
+ }
99
+ }
100
+ else if (event.key === 'Home' || event.key === 'PageUp') {
101
+ index = 0;
102
+ }
103
+ else if (event.key === 'End' || event.key === 'PageDown') {
104
+ index = items.length - 1;
105
+ }
106
+ else if (this.mnemonics && printable.test(key)) {
107
+ const mnemonic = key.toLowerCase();
108
+ const offset = index > 0 && getMnemonicFor(event.target) === mnemonic ? index : 0;
109
+ index = items.findIndex((item, i) => i > offset && getMnemonicFor(item) === mnemonic);
110
+ if (index < 0 && !nowrap) {
111
+ index = items.findIndex(item => getMnemonicFor(item) === mnemonic);
112
+ }
113
+ }
114
+ else {
115
+ return;
116
+ }
117
+ if (nowrap && index < 0)
118
+ index = 0;
119
+ if (!nowrap && index >= items.length)
120
+ index = 0;
121
+ const focusEl = items.at(Math.min(index, items.length - 1));
122
+ {
123
+ let el = focusEl;
124
+ do {
125
+ el = el.closest(`[popover]:not(${popoverSelector})`);
126
+ if ((el === null || el === void 0 ? void 0 : el.popover) === 'auto') {
127
+ el.showPopover();
128
+ }
129
+ else {
130
+ el = (el === null || el === void 0 ? void 0 : el.parentElement) || null;
131
+ }
132
+ } while (el);
133
+ }
134
+ focusEl === null || focusEl === void 0 ? void 0 : focusEl.focus();
135
+ }
136
+ }
137
+ }
138
+ _FocusGroupElement_abortController = new WeakMap(), _FocusGroupElement_instances = new WeakSet(), _FocusGroupElement_items_get = function _FocusGroupElement_items_get() {
139
+ return this.querySelectorAll(menuItemSelector);
140
+ };
141
+ if (!customElements.get('focus-group')) {
142
+ window.FocusGroupElement = FocusGroupElement;
143
+ customElements.define('focus-group', FocusGroupElement);
144
+ }
@@ -0,0 +1,137 @@
1
+ import '@oddbird/popover-polyfill'
2
+
3
+ const menuItemSelector = '[role="menuitem"],[role="menuitemcheckbox"],[role="menuitemradio"]'
4
+
5
+ const popoverSelector = (() => {
6
+ try {
7
+ document.querySelector(':open')
8
+ return ':open'
9
+ } catch {
10
+ return '.\\:open'
11
+ }
12
+ })()
13
+
14
+ const getMnemonicFor = (item: Element) => item.textContent?.trim()[0].toLowerCase()
15
+
16
+ const printable = /^\S$/
17
+
18
+ export default class FocusGroupElement extends HTMLElement {
19
+ get nowrap(): boolean {
20
+ return this.hasAttribute('nowrap')
21
+ }
22
+
23
+ set nowrap(value: boolean) {
24
+ this.toggleAttribute('nowrap', value)
25
+ }
26
+
27
+ get direction(): 'horizontal' | 'vertical' | 'both' {
28
+ if (this.getAttribute('direction') === 'horizontal') return 'horizontal'
29
+ return 'vertical'
30
+ }
31
+
32
+ set direction(value: 'horizontal' | 'vertical' | 'both') {
33
+ this.setAttribute('direction', `${value}`)
34
+ }
35
+
36
+ get retain() {
37
+ return this.hasAttribute('retain')
38
+ }
39
+
40
+ set retain(value: boolean) {
41
+ this.toggleAttribute('retain', value)
42
+ }
43
+
44
+ get mnemonics() {
45
+ return this.hasAttribute('mnemonics')
46
+ }
47
+
48
+ #abortController: AbortController | null = null
49
+ connectedCallback() {
50
+ this.#abortController = new AbortController()
51
+ const {signal} = this.#abortController
52
+
53
+ this.addEventListener('keydown', this, {signal})
54
+ this.addEventListener('click', this, {signal})
55
+ this.addEventListener('mouseover', this, {signal})
56
+ this.addEventListener('focusin', this, {signal})
57
+ }
58
+
59
+ disconnectedCallback() {
60
+ this.#abortController?.abort()
61
+ }
62
+
63
+ get #items() {
64
+ return this.querySelectorAll(menuItemSelector)
65
+ }
66
+
67
+ handleEvent(event: Event) {
68
+ const {direction, nowrap} = this
69
+ if (event.type === 'focusin') {
70
+ if (this.retain && event.target instanceof Element && event.target.matches(menuItemSelector)) {
71
+ for (const item of this.#items) {
72
+ item.setAttribute('tabindex', item === event.target ? '0' : '-1')
73
+ }
74
+ }
75
+ } else if (event instanceof KeyboardEvent) {
76
+ const items = Array.from(this.#items)
77
+ let index = items.indexOf(event.target as Element)
78
+ const key = event.key
79
+ if (key === 'Up' || key === 'ArrowUp') {
80
+ if (direction === 'vertical' || direction === 'both') {
81
+ index -= index < 0 ? 0 : 1
82
+ }
83
+ } else if (key === 'Down' || key === 'ArrowDown') {
84
+ if (direction === 'vertical' || direction === 'both') {
85
+ index += 1
86
+ }
87
+ } else if (event.key === 'Left' || event.key === 'ArrowLeft') {
88
+ if (direction === 'horizontal' || direction === 'both') {
89
+ index -= 1
90
+ }
91
+ } else if (event.key === 'Right' || event.key === 'ArrowRight') {
92
+ if (direction === 'horizontal' || direction === 'both') {
93
+ index += 1
94
+ }
95
+ } else if (event.key === 'Home' || event.key === 'PageUp') {
96
+ index = 0
97
+ } else if (event.key === 'End' || event.key === 'PageDown') {
98
+ index = items.length - 1
99
+ } else if (this.mnemonics && printable.test(key)) {
100
+ const mnemonic = key.toLowerCase()
101
+ const offset = index > 0 && getMnemonicFor(event.target as Element) === mnemonic ? index : 0
102
+ index = items.findIndex((item, i) => i > offset && getMnemonicFor(item) === mnemonic)
103
+ if (index < 0 && !nowrap) {
104
+ index = items.findIndex(item => getMnemonicFor(item) === mnemonic)
105
+ }
106
+ } else {
107
+ return
108
+ }
109
+ if (nowrap && index < 0) index = 0
110
+ if (!nowrap && index >= items.length) index = 0
111
+ const focusEl = items.at(Math.min(index, items.length - 1)) as HTMLElement
112
+ {
113
+ let el: HTMLElement | null = focusEl
114
+ do {
115
+ el = el.closest(`[popover]:not(${popoverSelector})`)
116
+ if (el?.popover === 'auto') {
117
+ el.showPopover()
118
+ } else {
119
+ el = el?.parentElement || null
120
+ }
121
+ } while (el)
122
+ }
123
+ focusEl?.focus()
124
+ }
125
+ }
126
+ }
127
+
128
+ if (!customElements.get('focus-group')) {
129
+ window.FocusGroupElement = FocusGroupElement
130
+ customElements.define('focus-group', FocusGroupElement)
131
+ }
132
+
133
+ declare global {
134
+ interface Window {
135
+ FocusGroupElement: typeof FocusGroupElement
136
+ }
137
+ }
@@ -33,7 +33,7 @@ module Primer
33
33
  # @example In a BorderBox
34
34
  #
35
35
  # <%= render(Primer::Beta::BorderBox.new) do |component| %>
36
- # <% component.body do %>
36
+ # <% component.with_body do %>
37
37
  # <%= render(Primer::Beta::Text.new(pr: 2)) { "Body" } %>
38
38
  # <%= render(Primer::IconButton.new(icon: :pencil, box: true, "aria-label": "Edit")) %>
39
39
  # <% end %>
@@ -1,6 +1,7 @@
1
1
  import '@oddbird/popover-polyfill';
2
2
  import './alpha/dropdown';
3
3
  import './anchored_position';
4
+ import './focus_group';
4
5
  import './alpha/image_crop';
5
6
  import './alpha/modal_dialog';
6
7
  import './alpha/nav_list';
@@ -15,3 +16,4 @@ import './alpha/tab_container';
15
16
  import '../../../lib/primer/forms/primer_multi_input';
16
17
  import '../../../lib/primer/forms/primer_text_field';
17
18
  import '../../../lib/primer/forms/toggle_switch_input';
19
+ import './alpha/action_menu/action_menu_element';
@@ -1,6 +1,7 @@
1
1
  import '@oddbird/popover-polyfill';
2
2
  import './alpha/dropdown';
3
3
  import './anchored_position';
4
+ import './focus_group';
4
5
  import './alpha/image_crop';
5
6
  import './alpha/modal_dialog';
6
7
  import './alpha/nav_list';
@@ -15,3 +16,4 @@ import './alpha/tab_container';
15
16
  import '../../../lib/primer/forms/primer_multi_input';
16
17
  import '../../../lib/primer/forms/primer_text_field';
17
18
  import '../../../lib/primer/forms/toggle_switch_input';
19
+ import './alpha/action_menu/action_menu_element';
@@ -1,6 +1,7 @@
1
1
  import '@oddbird/popover-polyfill'
2
2
  import './alpha/dropdown'
3
3
  import './anchored_position'
4
+ import './focus_group'
4
5
  import './alpha/image_crop'
5
6
  import './alpha/modal_dialog'
6
7
  import './alpha/nav_list'
@@ -15,3 +16,4 @@ import './alpha/tab_container'
15
16
  import '../../../lib/primer/forms/primer_multi_input'
16
17
  import '../../../lib/primer/forms/primer_text_field'
17
18
  import '../../../lib/primer/forms/toggle_switch_input'
19
+ import './alpha/action_menu/action_menu_element'
@@ -9,12 +9,5 @@
9
9
  ".css-truncate.expandable.zeroclipboard-is-hover .css-truncate-target",
10
10
  ".css-truncate.expandable.zeroclipboard-is-hover.css-truncate-target",
11
11
  ".css-truncate.expandable:hover .css-truncate-target"
12
- ],
13
- "classes": [
14
- "css-truncate",
15
- "css-truncate-overflow",
16
- "css-truncate-target",
17
- "expandable",
18
- "zeroclipboard-is-hover"
19
12
  ]
20
13
  }
@@ -312,268 +312,5 @@
312
312
  ".Stack--dir-inline-whenWide>.Stack-item>.Stack-divider",
313
313
  ".Stack-item--expand-whenWide",
314
314
  ".Stack-item--keepSize-whenWide"
315
- ],
316
- "classes": [
317
- "AppFrame",
318
- "AppFrame-a11yNav",
319
- "AppFrame-a11yLink",
320
- "AppFrame-main",
321
- "AppFrame-header-wrapper",
322
- "AppFrame-header",
323
- "AppFrame-subheader",
324
- "AppFrame-body",
325
- "AppFrame-footer",
326
- "container-sm",
327
- "container-md",
328
- "container-lg",
329
- "container-xl",
330
- "col-1",
331
- "col-2",
332
- "col-3",
333
- "col-4",
334
- "col-5",
335
- "col-6",
336
- "col-7",
337
- "col-8",
338
- "col-9",
339
- "col-10",
340
- "col-11",
341
- "col-12",
342
- "col-sm-1",
343
- "col-sm-2",
344
- "col-sm-3",
345
- "col-sm-4",
346
- "col-sm-5",
347
- "col-sm-6",
348
- "col-sm-7",
349
- "col-sm-8",
350
- "col-sm-9",
351
- "col-sm-10",
352
- "col-sm-11",
353
- "col-sm-12",
354
- "col-md-1",
355
- "col-md-2",
356
- "col-md-3",
357
- "col-md-4",
358
- "col-md-5",
359
- "col-md-6",
360
- "col-md-7",
361
- "col-md-8",
362
- "col-md-9",
363
- "col-md-10",
364
- "col-md-11",
365
- "col-md-12",
366
- "col-lg-1",
367
- "col-lg-2",
368
- "col-lg-3",
369
- "col-lg-4",
370
- "col-lg-5",
371
- "col-lg-6",
372
- "col-lg-7",
373
- "col-lg-8",
374
- "col-lg-9",
375
- "col-lg-10",
376
- "col-lg-11",
377
- "col-lg-12",
378
- "col-xl-1",
379
- "col-xl-2",
380
- "col-xl-3",
381
- "col-xl-4",
382
- "col-xl-5",
383
- "col-xl-6",
384
- "col-xl-7",
385
- "col-xl-8",
386
- "col-xl-9",
387
- "col-xl-10",
388
- "col-xl-11",
389
- "col-xl-12",
390
- "gutter",
391
- "col-",
392
- "gutter-condensed",
393
- "gutter-spacious",
394
- "gutter-sm",
395
- "gutter-sm-condensed",
396
- "gutter-sm-spacious",
397
- "gutter-md",
398
- "gutter-md-condensed",
399
- "gutter-md-spacious",
400
- "gutter-lg",
401
- "gutter-lg-condensed",
402
- "gutter-lg-spacious",
403
- "gutter-xl",
404
- "gutter-xl-condensed",
405
- "gutter-xl-spacious",
406
- "offset-1",
407
- "offset-2",
408
- "offset-3",
409
- "offset-4",
410
- "offset-5",
411
- "offset-6",
412
- "offset-7",
413
- "offset-8",
414
- "offset-9",
415
- "offset-10",
416
- "offset-11",
417
- "offset-sm-1",
418
- "offset-sm-2",
419
- "offset-sm-3",
420
- "offset-sm-4",
421
- "offset-sm-5",
422
- "offset-sm-6",
423
- "offset-sm-7",
424
- "offset-sm-8",
425
- "offset-sm-9",
426
- "offset-sm-10",
427
- "offset-sm-11",
428
- "offset-md-1",
429
- "offset-md-2",
430
- "offset-md-3",
431
- "offset-md-4",
432
- "offset-md-5",
433
- "offset-md-6",
434
- "offset-md-7",
435
- "offset-md-8",
436
- "offset-md-9",
437
- "offset-md-10",
438
- "offset-md-11",
439
- "offset-lg-1",
440
- "offset-lg-2",
441
- "offset-lg-3",
442
- "offset-lg-4",
443
- "offset-lg-5",
444
- "offset-lg-6",
445
- "offset-lg-7",
446
- "offset-lg-8",
447
- "offset-lg-9",
448
- "offset-lg-10",
449
- "offset-lg-11",
450
- "offset-xl-1",
451
- "offset-xl-2",
452
- "offset-xl-3",
453
- "offset-xl-4",
454
- "offset-xl-5",
455
- "offset-xl-6",
456
- "offset-xl-7",
457
- "offset-xl-8",
458
- "offset-xl-9",
459
- "offset-xl-10",
460
- "offset-xl-11",
461
- "PageLayout",
462
- "PageLayout--panePos-start",
463
- "PageLayout--panePos-end",
464
- "PageLayout-header--hasDivider",
465
- "PageLayout-footer--hasDivider",
466
- "PageLayout--hasPaneDivider",
467
- "PageLayout-pane",
468
- "PageLayout-content",
469
- "PageLayout-pane--sticky",
470
- "PageLayout-content-centered-",
471
- "container-",
472
- "PageLayout-content-centered-sm",
473
- "PageLayout-content-centered-md",
474
- "PageLayout-content-centered-lg",
475
- "PageLayout-content-centered-xl",
476
- "PageLayout--paneWidth-narrow",
477
- "PageLayout--paneWidth-wide",
478
- "PageLayout--responsive-stackRegions",
479
- "PageLayout--responsive-panePos-start",
480
- "PageLayout--responsive-separateRegions",
481
- "PageLayout--responsive-primary-content",
482
- "PageLayout--responsive-primary-pane",
483
- "PageLayout-region--dividerNarrow-line-before",
484
- "PageLayout-region--dividerNarrow-line-after",
485
- "PageLayout-region--dividerNarrow-filled-before",
486
- "PageLayout-region--dividerNarrow-filled-after",
487
- "PageLayout-wrapper",
488
- "PageLayout-columns",
489
- "PageLayout--outerSpacing-normal",
490
- "PageLayout--outerSpacing-condensed",
491
- "PageLayout--innerSpacing-normal",
492
- "PageLayout--innerSpacing-condensed",
493
- "PageLayout--columnGap-normal",
494
- "PageLayout--columnGap-condensed",
495
- "PageLayout--columnGap-none",
496
- "PageLayout--rowGap-normal",
497
- "PageLayout--rowGap-none",
498
- "PageLayout--rowGap-condensed",
499
- "PageLayout-header",
500
- "PageLayout-footer",
501
- "Stack",
502
- "Stack-divider",
503
- "Stack-item",
504
- "Stack--dir-inline-whenNarrow",
505
- "Stack--dir-block-whenNarrow",
506
- "Stack--gap-none-whenNarrow",
507
- "Stack--gap-condensed-whenNarrow",
508
- "Stack--gap-normal-whenNarrow",
509
- "Stack--align-start-whenNarrow",
510
- "Stack--align-center-whenNarrow",
511
- "Stack--align-end-whenNarrow",
512
- "Stack--align-baseline-whenNarrow",
513
- "Stack--alignWrap-start-whenNarrow",
514
- "Stack--alignWrap-center-whenNarrow",
515
- "Stack--alignWrap-end-whenNarrow",
516
- "Stack--alignWrap-distribute-whenNarrow",
517
- "Stack--alignWrap-distributeEvenly-whenNarrow",
518
- "Stack--spread-start-whenNarrow",
519
- "Stack--spread-center-whenNarrow",
520
- "Stack--spread-end-whenNarrow",
521
- "Stack--spread-distribute-whenNarrow",
522
- "Stack--spread-distributeEvenly-whenNarrow",
523
- "Stack--wrap-whenNarrow",
524
- "Stack--nowrap-whenNarrow",
525
- "Stack--showDividers-whenNarrow",
526
- "Stack-item--expand-whenNarrow",
527
- "Stack-item--keepSize-whenNarrow",
528
- "Stack--dir-inline-whenRegular",
529
- "Stack--dir-block-whenRegular",
530
- "Stack--gap-none-whenRegular",
531
- "Stack--gap-condensed-whenRegular",
532
- "Stack--gap-normal-whenRegular",
533
- "Stack--gap-spacious-whenRegular",
534
- "Stack--align-start-whenRegular",
535
- "Stack--align-center-whenRegular",
536
- "Stack--align-end-whenRegular",
537
- "Stack--align-baseline-whenRegular",
538
- "Stack--alignWrap-start-whenRegular",
539
- "Stack--alignWrap-center-whenRegular",
540
- "Stack--alignWrap-end-whenRegular",
541
- "Stack--alignWrap-distribute-whenRegular",
542
- "Stack--alignWrap-distributeEvenly-whenRegular",
543
- "Stack--spread-start-whenRegular",
544
- "Stack--spread-center-whenRegular",
545
- "Stack--spread-end-whenRegular",
546
- "Stack--spread-distribute-whenRegular",
547
- "Stack--spread-distributeEvenly-whenRegular",
548
- "Stack--wrap-whenRegular",
549
- "Stack--nowrap-whenRegular",
550
- "Stack--showDividers-whenRegular",
551
- "Stack-item--expand-whenRegular",
552
- "Stack-item--keepSize-whenRegular",
553
- "Stack--dir-inline-whenWide",
554
- "Stack--dir-block-whenWide",
555
- "Stack--gap-none-whenWide",
556
- "Stack--gap-condensed-whenWide",
557
- "Stack--gap-normal-whenWide",
558
- "Stack--gap-spacious-whenWide",
559
- "Stack--align-start-whenWide",
560
- "Stack--align-center-whenWide",
561
- "Stack--align-end-whenWide",
562
- "Stack--align-baseline-whenWide",
563
- "Stack--alignWrap-start-whenWide",
564
- "Stack--alignWrap-center-whenWide",
565
- "Stack--alignWrap-end-whenWide",
566
- "Stack--alignWrap-distribute-whenWide",
567
- "Stack--alignWrap-distributeEvenly-whenWide",
568
- "Stack--spread-start-whenWide",
569
- "Stack--spread-center-whenWide",
570
- "Stack--spread-end-whenWide",
571
- "Stack--spread-distribute-whenWide",
572
- "Stack--spread-distributeEvenly-whenWide",
573
- "Stack--wrap-whenWide",
574
- "Stack--nowrap-whenWide",
575
- "Stack--showDividers-whenWide",
576
- "Stack-item--expand-whenWide",
577
- "Stack-item--keepSize-whenWide"
578
315
  ]
579
316
  }