primer_view_components 0.0.91 → 0.0.92
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +18 -0
- data/app/assets/javascripts/primer_view_components.js +1 -1
- data/app/assets/javascripts/primer_view_components.js.map +1 -1
- data/app/components/primer/alpha/modal-dialog-element.d.ts +18 -0
- data/app/components/primer/alpha/modal-dialog-element.js +143 -0
- data/app/components/primer/alpha/toggle-switch-element.d.ts +28 -0
- data/app/components/primer/alpha/toggle-switch-element.js +135 -0
- data/app/components/primer/alpha/toggle-switch-element.ts +147 -0
- data/app/components/primer/alpha/toggle_switch.html.erb +44 -0
- data/app/components/primer/alpha/toggle_switch.rb +89 -0
- data/app/components/primer/alpha/tool-tip-element.d.ts +2 -0
- data/app/components/primer/alpha/tool-tip-element.js +34 -20
- data/app/components/primer/alpha/tool-tip-element.ts +31 -15
- data/app/components/primer/alpha/tooltip.rb +4 -1
- data/app/components/primer/primer.d.ts +1 -1
- data/app/components/primer/primer.js +1 -1
- data/app/components/primer/primer.ts +1 -0
- data/lib/primer/forms/acts_as_component.rb +1 -1
- data/lib/primer/view_components/linters/helpers/deprecated_components_helpers.rb +0 -2
- data/lib/primer/view_components/version.rb +1 -1
- data/lib/rubocop/cop/primer/component_name_migration.rb +0 -1
- data/static/audited_at.json +1 -2
- data/static/constants.json +20 -4
- data/static/statuses.json +1 -2
- metadata +9 -4
- data/app/components/primer/border_box_component.rb +0 -7
- data/app/components/primer/button_group.rb +0 -7
@@ -1,18 +1,19 @@
|
|
1
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
2
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
3
|
+
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");
|
4
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
5
|
+
};
|
1
6
|
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
2
7
|
if (kind === "m") throw new TypeError("Private method is not writable");
|
3
8
|
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
4
9
|
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
10
|
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
6
11
|
};
|
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
12
|
var _ToolTipElement_instances, _ToolTipElement_abortController, _ToolTipElement_align, _ToolTipElement_side, _ToolTipElement_allowUpdatePosition, _ToolTipElement_update, _ToolTipElement_updatePosition;
|
13
13
|
import { getAnchoredPosition } from '@primer/behaviors';
|
14
14
|
const TOOLTIP_OPEN_CLASS = 'tooltip-open';
|
15
15
|
const TOOLTIP_ARROW_EDGE_OFFSET = 6;
|
16
|
+
const TOOLTIP_SR_ONLY_CLASS = 'sr-only';
|
16
17
|
const DIRECTION_CLASSES = [
|
17
18
|
'tooltip-n',
|
18
19
|
'tooltip-s',
|
@@ -176,6 +177,14 @@ class ToolTipElement extends HTMLElement {
|
|
176
177
|
get control() {
|
177
178
|
return this.ownerDocument.getElementById(this.htmlFor);
|
178
179
|
}
|
180
|
+
set hiddenFromView(value) {
|
181
|
+
this.classList.toggle(TOOLTIP_SR_ONLY_CLASS, value);
|
182
|
+
if (this.isConnected)
|
183
|
+
__classPrivateFieldGet(this, _ToolTipElement_instances, "m", _ToolTipElement_update).call(this);
|
184
|
+
}
|
185
|
+
get hiddenFromView() {
|
186
|
+
return this.classList.contains(TOOLTIP_SR_ONLY_CLASS);
|
187
|
+
}
|
179
188
|
connectedCallback() {
|
180
189
|
var _a;
|
181
190
|
if (!this.shadowRoot) {
|
@@ -188,7 +197,7 @@ class ToolTipElement extends HTMLElement {
|
|
188
197
|
<slot></slot>
|
189
198
|
`;
|
190
199
|
}
|
191
|
-
this.
|
200
|
+
this.hiddenFromView = true;
|
192
201
|
__classPrivateFieldSet(this, _ToolTipElement_allowUpdatePosition, true, "f");
|
193
202
|
if (!this.id) {
|
194
203
|
this.id = `tooltip-${Date.now()}-${(Math.random() * 10000).toFixed(0)}`;
|
@@ -216,19 +225,19 @@ class ToolTipElement extends HTMLElement {
|
|
216
225
|
return;
|
217
226
|
// Ensures that tooltip stays open when hovering between tooltip and element
|
218
227
|
// WCAG Success Criterion 1.4.13 Hoverable
|
219
|
-
if ((event.type === 'mouseenter' || event.type === 'focus') && this.
|
220
|
-
this.
|
228
|
+
if ((event.type === 'mouseenter' || event.type === 'focus') && this.hiddenFromView) {
|
229
|
+
this.hiddenFromView = false;
|
221
230
|
}
|
222
231
|
else if (event.type === 'blur') {
|
223
|
-
this.
|
232
|
+
this.hiddenFromView = true;
|
224
233
|
}
|
225
234
|
else if (event.type === 'mouseleave' &&
|
226
235
|
event.relatedTarget !== this.control &&
|
227
236
|
event.relatedTarget !== this) {
|
228
|
-
this.
|
237
|
+
this.hiddenFromView = true;
|
229
238
|
}
|
230
|
-
else if (event.type === 'keydown' && event.key === 'Escape' && !this.
|
231
|
-
this.
|
239
|
+
else if (event.type === 'keydown' && event.key === 'Escape' && !this.hiddenFromView) {
|
240
|
+
this.hiddenFromView = true;
|
232
241
|
}
|
233
242
|
}
|
234
243
|
attributeChangedCallback(name) {
|
@@ -236,7 +245,15 @@ class ToolTipElement extends HTMLElement {
|
|
236
245
|
if (!this.id || !this.control)
|
237
246
|
return;
|
238
247
|
if (this.type === 'label') {
|
239
|
-
this.control.
|
248
|
+
let labelledBy = this.control.getAttribute('aria-labelledby');
|
249
|
+
if (labelledBy) {
|
250
|
+
labelledBy = `${labelledBy} ${this.id}`;
|
251
|
+
}
|
252
|
+
else {
|
253
|
+
labelledBy = this.id;
|
254
|
+
}
|
255
|
+
this.control.setAttribute('aria-labelledby', labelledBy);
|
256
|
+
// Prevent duplicate accessible name announcements.
|
240
257
|
this.setAttribute('aria-hidden', 'true');
|
241
258
|
}
|
242
259
|
else {
|
@@ -245,9 +262,6 @@ class ToolTipElement extends HTMLElement {
|
|
245
262
|
this.control.setAttribute('aria-describedby', describedBy);
|
246
263
|
}
|
247
264
|
}
|
248
|
-
else if (this.isConnected && name === 'hidden') {
|
249
|
-
__classPrivateFieldGet(this, _ToolTipElement_instances, "m", _ToolTipElement_update).call(this);
|
250
|
-
}
|
251
265
|
else if (name === 'data-direction') {
|
252
266
|
this.classList.remove(...DIRECTION_CLASSES);
|
253
267
|
const direction = this.direction;
|
@@ -287,21 +301,21 @@ class ToolTipElement extends HTMLElement {
|
|
287
301
|
}
|
288
302
|
}
|
289
303
|
_ToolTipElement_abortController = new WeakMap(), _ToolTipElement_align = new WeakMap(), _ToolTipElement_side = new WeakMap(), _ToolTipElement_allowUpdatePosition = new WeakMap(), _ToolTipElement_instances = new WeakSet(), _ToolTipElement_update = function _ToolTipElement_update() {
|
290
|
-
if (this.
|
304
|
+
if (this.hiddenFromView) {
|
291
305
|
this.classList.remove(TOOLTIP_OPEN_CLASS, ...DIRECTION_CLASSES);
|
292
306
|
}
|
293
307
|
else {
|
294
308
|
this.classList.add(TOOLTIP_OPEN_CLASS);
|
295
309
|
for (const tooltip of this.ownerDocument.querySelectorAll(this.tagName)) {
|
296
310
|
if (tooltip !== this)
|
297
|
-
tooltip.
|
311
|
+
tooltip.hiddenFromView = true;
|
298
312
|
}
|
299
313
|
__classPrivateFieldGet(this, _ToolTipElement_instances, "m", _ToolTipElement_updatePosition).call(this);
|
300
314
|
}
|
301
315
|
}, _ToolTipElement_updatePosition = function _ToolTipElement_updatePosition() {
|
302
316
|
if (!this.control)
|
303
317
|
return;
|
304
|
-
if (!__classPrivateFieldGet(this, _ToolTipElement_allowUpdatePosition, "f") || this.
|
318
|
+
if (!__classPrivateFieldGet(this, _ToolTipElement_allowUpdatePosition, "f") || this.hiddenFromView)
|
305
319
|
return;
|
306
320
|
const TOOLTIP_OFFSET = 10;
|
307
321
|
this.style.left = `0px`; // Ensures we have reliable tooltip width in `getAnchoredPosition`
|
@@ -345,7 +359,7 @@ _ToolTipElement_abortController = new WeakMap(), _ToolTipElement_align = new Wea
|
|
345
359
|
}
|
346
360
|
this.classList.add(`tooltip-${direction}`);
|
347
361
|
};
|
348
|
-
ToolTipElement.observedAttributes = ['data-type', 'data-direction', 'id'
|
362
|
+
ToolTipElement.observedAttributes = ['data-type', 'data-direction', 'id'];
|
349
363
|
if (!window.customElements.get('tool-tip')) {
|
350
364
|
window.ToolTipElement = ToolTipElement;
|
351
365
|
window.customElements.define('tool-tip', ToolTipElement);
|
@@ -4,6 +4,7 @@ import {getAnchoredPosition} from '@primer/behaviors'
|
|
4
4
|
|
5
5
|
const TOOLTIP_OPEN_CLASS = 'tooltip-open'
|
6
6
|
const TOOLTIP_ARROW_EDGE_OFFSET = 6
|
7
|
+
const TOOLTIP_SR_ONLY_CLASS = 'sr-only'
|
7
8
|
|
8
9
|
type Direction = 'n' | 's' | 'e' | 'w' | 'ne' | 'se' | 'nw' | 'sw'
|
9
10
|
|
@@ -176,6 +177,15 @@ class ToolTipElement extends HTMLElement {
|
|
176
177
|
return this.ownerDocument.getElementById(this.htmlFor)
|
177
178
|
}
|
178
179
|
|
180
|
+
set hiddenFromView(value: true | false) {
|
181
|
+
this.classList.toggle(TOOLTIP_SR_ONLY_CLASS, value)
|
182
|
+
if (this.isConnected) this.#update()
|
183
|
+
}
|
184
|
+
|
185
|
+
get hiddenFromView() {
|
186
|
+
return this.classList.contains(TOOLTIP_SR_ONLY_CLASS)
|
187
|
+
}
|
188
|
+
|
179
189
|
connectedCallback() {
|
180
190
|
if (!this.shadowRoot) {
|
181
191
|
const shadow = this.attachShadow({mode: 'open'})
|
@@ -187,7 +197,7 @@ class ToolTipElement extends HTMLElement {
|
|
187
197
|
<slot></slot>
|
188
198
|
`
|
189
199
|
}
|
190
|
-
this.
|
200
|
+
this.hiddenFromView = true
|
191
201
|
this.#allowUpdatePosition = true
|
192
202
|
|
193
203
|
if (!this.id) {
|
@@ -220,30 +230,30 @@ class ToolTipElement extends HTMLElement {
|
|
220
230
|
|
221
231
|
// Ensures that tooltip stays open when hovering between tooltip and element
|
222
232
|
// WCAG Success Criterion 1.4.13 Hoverable
|
223
|
-
if ((event.type === 'mouseenter' || event.type === 'focus') && this.
|
224
|
-
this.
|
233
|
+
if ((event.type === 'mouseenter' || event.type === 'focus') && this.hiddenFromView) {
|
234
|
+
this.hiddenFromView = false
|
225
235
|
} else if (event.type === 'blur') {
|
226
|
-
this.
|
236
|
+
this.hiddenFromView = true
|
227
237
|
} else if (
|
228
238
|
event.type === 'mouseleave' &&
|
229
239
|
(event as MouseEvent).relatedTarget !== this.control &&
|
230
240
|
(event as MouseEvent).relatedTarget !== this
|
231
241
|
) {
|
232
|
-
this.
|
233
|
-
} else if (event.type === 'keydown' && (event as KeyboardEvent).key === 'Escape' && !this.
|
234
|
-
this.
|
242
|
+
this.hiddenFromView = true
|
243
|
+
} else if (event.type === 'keydown' && (event as KeyboardEvent).key === 'Escape' && !this.hiddenFromView) {
|
244
|
+
this.hiddenFromView = true
|
235
245
|
}
|
236
246
|
}
|
237
247
|
|
238
|
-
static observedAttributes = ['data-type', 'data-direction', 'id'
|
248
|
+
static observedAttributes = ['data-type', 'data-direction', 'id']
|
239
249
|
|
240
250
|
#update() {
|
241
|
-
if (this.
|
251
|
+
if (this.hiddenFromView) {
|
242
252
|
this.classList.remove(TOOLTIP_OPEN_CLASS, ...DIRECTION_CLASSES)
|
243
253
|
} else {
|
244
254
|
this.classList.add(TOOLTIP_OPEN_CLASS)
|
245
|
-
for (const tooltip of this.ownerDocument.querySelectorAll<
|
246
|
-
if (tooltip !== this) tooltip.
|
255
|
+
for (const tooltip of this.ownerDocument.querySelectorAll<ToolTipElement>(this.tagName)) {
|
256
|
+
if (tooltip !== this) tooltip.hiddenFromView = true
|
247
257
|
}
|
248
258
|
this.#updatePosition()
|
249
259
|
}
|
@@ -253,15 +263,21 @@ class ToolTipElement extends HTMLElement {
|
|
253
263
|
if (name === 'id' || name === 'data-type') {
|
254
264
|
if (!this.id || !this.control) return
|
255
265
|
if (this.type === 'label') {
|
256
|
-
this.control.
|
266
|
+
let labelledBy = this.control.getAttribute('aria-labelledby')
|
267
|
+
if (labelledBy) {
|
268
|
+
labelledBy = `${labelledBy} ${this.id}`
|
269
|
+
} else {
|
270
|
+
labelledBy = this.id
|
271
|
+
}
|
272
|
+
this.control.setAttribute('aria-labelledby', labelledBy)
|
273
|
+
|
274
|
+
// Prevent duplicate accessible name announcements.
|
257
275
|
this.setAttribute('aria-hidden', 'true')
|
258
276
|
} else {
|
259
277
|
let describedBy = this.control.getAttribute('aria-describedby')
|
260
278
|
describedBy ? (describedBy = `${describedBy} ${this.id}`) : (describedBy = this.id)
|
261
279
|
this.control.setAttribute('aria-describedby', describedBy)
|
262
280
|
}
|
263
|
-
} else if (this.isConnected && name === 'hidden') {
|
264
|
-
this.#update()
|
265
281
|
} else if (name === 'data-direction') {
|
266
282
|
this.classList.remove(...DIRECTION_CLASSES)
|
267
283
|
const direction = this.direction
|
@@ -295,7 +311,7 @@ class ToolTipElement extends HTMLElement {
|
|
295
311
|
|
296
312
|
#updatePosition() {
|
297
313
|
if (!this.control) return
|
298
|
-
if (!this.#allowUpdatePosition || this.
|
314
|
+
if (!this.#allowUpdatePosition || this.hiddenFromView) return
|
299
315
|
|
300
316
|
const TOOLTIP_OFFSET = 10
|
301
317
|
|
@@ -107,9 +107,12 @@ module Primer
|
|
107
107
|
|
108
108
|
@text = text
|
109
109
|
@system_arguments = system_arguments
|
110
|
-
@system_arguments[:hidden] = true
|
111
110
|
@system_arguments[:tag] = :"tool-tip"
|
112
111
|
@system_arguments[:for] = for_id
|
112
|
+
system_arguments[:classes] = class_names(
|
113
|
+
system_arguments[:classes],
|
114
|
+
"sr-only"
|
115
|
+
)
|
113
116
|
@system_arguments[:position] = :absolute
|
114
117
|
@system_arguments[:"data-direction"] = fetch_or_fallback(DIRECTION_OPTIONS, direction, DIRECTION_DEFAULT).to_s
|
115
118
|
@system_arguments[:"data-type"] = fetch_or_fallback(TYPE_OPTIONS, type, TYPE_FALLBACK).to_s
|
@@ -38,7 +38,7 @@ module Primer
|
|
38
38
|
end
|
39
39
|
|
40
40
|
TemplateGlob = Struct.new(:glob_pattern, :method_name, :on_compile_callback)
|
41
|
-
TemplateParams = Struct.new(:source, :identifier, :type, :format)
|
41
|
+
TemplateParams = Struct.new(:source, :identifier, :type, :format, keyword_init: true)
|
42
42
|
|
43
43
|
attr_accessor :template_root_path
|
44
44
|
|
@@ -9,14 +9,12 @@ module ERBLint
|
|
9
9
|
COMPONENT_TO_USE_INSTEAD = {
|
10
10
|
"Primer::HiddenTextExpander" => "Primer::Alpha::HiddenTextExpander",
|
11
11
|
"Primer::HeadingComponent" => "Primer::Beta::Heading",
|
12
|
-
"Primer::ButtonGroup" => "Primer::Beta::ButtonGroup",
|
13
12
|
"Primer::CloseButton" => "Primer::Beta::CloseButton",
|
14
13
|
"Primer::CounterComponent" => "Primer::Beta::Counter",
|
15
14
|
"Primer::DetailsComponent" => "Primer::Beta::Details",
|
16
15
|
"Primer::Alpha::AutoComplete::Item" => "Primer::Beta::AutoComplete::Item",
|
17
16
|
"Primer::Alpha::AutoComplete" => "Primer::Beta::AutoComplete",
|
18
17
|
"Primer::BlankslateComponent" => "Primer::Beta::Blankslate",
|
19
|
-
"Primer::BorderBoxComponent" => "Primer::Beta::BorderBox",
|
20
18
|
"Primer::BoxComponent" => "Primer::Box",
|
21
19
|
"Primer::DropdownMenuComponent" => nil,
|
22
20
|
"Primer::Tooltip" => "Primer::Alpha::Tooltip",
|
@@ -23,7 +23,6 @@ module RuboCop
|
|
23
23
|
"Primer::CloseButton" => "Primer::Beta::CloseButton",
|
24
24
|
"Primer::CounterComponent" => "Primer::Beta::Counter",
|
25
25
|
"Primer::BlankslateComponent" => "Primer::Beta::Blankslate",
|
26
|
-
"Primer::BorderBoxComponent" => "Primer::Beta::BorderBox",
|
27
26
|
"Primer::BaseButton" => "Primer::Beta::BaseButton",
|
28
27
|
"Primer::TestComponent" => "Primer::Beta::Test"
|
29
28
|
}.freeze
|
data/static/audited_at.json
CHANGED
@@ -9,6 +9,7 @@
|
|
9
9
|
"Primer::Alpha::TabNav": "",
|
10
10
|
"Primer::Alpha::TabPanels": "",
|
11
11
|
"Primer::Alpha::TextField": "",
|
12
|
+
"Primer::Alpha::ToggleSwitch": "",
|
12
13
|
"Primer::Alpha::Tooltip": "",
|
13
14
|
"Primer::Alpha::UnderlineNav": "",
|
14
15
|
"Primer::Alpha::UnderlinePanels": "",
|
@@ -33,11 +34,9 @@
|
|
33
34
|
"Primer::Beta::Truncate": "",
|
34
35
|
"Primer::Beta::Truncate::TruncateText": "",
|
35
36
|
"Primer::BlankslateComponent": "",
|
36
|
-
"Primer::BorderBoxComponent": "",
|
37
37
|
"Primer::Box": "",
|
38
38
|
"Primer::BoxComponent": "",
|
39
39
|
"Primer::ButtonComponent": "",
|
40
|
-
"Primer::ButtonGroup": "",
|
41
40
|
"Primer::ClipboardCopy": "",
|
42
41
|
"Primer::CloseButton": "",
|
43
42
|
"Primer::ConditionalWrapper": "",
|
data/static/constants.json
CHANGED
@@ -136,6 +136,26 @@
|
|
136
136
|
},
|
137
137
|
"Primer::Alpha::TextField": {
|
138
138
|
},
|
139
|
+
"Primer::Alpha::ToggleSwitch": {
|
140
|
+
"SIZE_DEFAULT": "medium",
|
141
|
+
"SIZE_MAPPINGS": {
|
142
|
+
"medium": null,
|
143
|
+
"small": "ToggleSwitch--small"
|
144
|
+
},
|
145
|
+
"SIZE_OPTIONS": [
|
146
|
+
"medium",
|
147
|
+
"small"
|
148
|
+
],
|
149
|
+
"STATUS_LABEL_POSITION_DEFAULT": "start",
|
150
|
+
"STATUS_LABEL_POSITION_MAPPINGS": {
|
151
|
+
"start": null,
|
152
|
+
"end": "ToggleSwitch--statusAtEnd"
|
153
|
+
},
|
154
|
+
"STATUS_LABEL_POSITION_OPTIONS": [
|
155
|
+
"start",
|
156
|
+
"end"
|
157
|
+
]
|
158
|
+
},
|
139
159
|
"Primer::Alpha::Tooltip": {
|
140
160
|
"DIRECTION_DEFAULT": "s",
|
141
161
|
"DIRECTION_OPTIONS": [
|
@@ -373,8 +393,6 @@
|
|
373
393
|
},
|
374
394
|
"Primer::BlankslateComponent": {
|
375
395
|
},
|
376
|
-
"Primer::BorderBoxComponent": {
|
377
|
-
},
|
378
396
|
"Primer::Box": {
|
379
397
|
},
|
380
398
|
"Primer::BoxComponent": {
|
@@ -408,8 +426,6 @@
|
|
408
426
|
"medium"
|
409
427
|
]
|
410
428
|
},
|
411
|
-
"Primer::ButtonGroup": {
|
412
|
-
},
|
413
429
|
"Primer::ClipboardCopy": {
|
414
430
|
},
|
415
431
|
"Primer::CloseButton": {
|
data/static/statuses.json
CHANGED
@@ -9,6 +9,7 @@
|
|
9
9
|
"Primer::Alpha::TabNav": "alpha",
|
10
10
|
"Primer::Alpha::TabPanels": "alpha",
|
11
11
|
"Primer::Alpha::TextField": "alpha",
|
12
|
+
"Primer::Alpha::ToggleSwitch": "alpha",
|
12
13
|
"Primer::Alpha::Tooltip": "alpha",
|
13
14
|
"Primer::Alpha::UnderlineNav": "alpha",
|
14
15
|
"Primer::Alpha::UnderlinePanels": "alpha",
|
@@ -33,11 +34,9 @@
|
|
33
34
|
"Primer::Beta::Truncate": "beta",
|
34
35
|
"Primer::Beta::Truncate::TruncateText": "alpha",
|
35
36
|
"Primer::BlankslateComponent": "deprecated",
|
36
|
-
"Primer::BorderBoxComponent": "deprecated",
|
37
37
|
"Primer::Box": "stable",
|
38
38
|
"Primer::BoxComponent": "deprecated",
|
39
39
|
"Primer::ButtonComponent": "beta",
|
40
|
-
"Primer::ButtonGroup": "deprecated",
|
41
40
|
"Primer::ClipboardCopy": "beta",
|
42
41
|
"Primer::CloseButton": "deprecated",
|
43
42
|
"Primer::ConditionalWrapper": "alpha",
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: primer_view_components
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.92
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- GitHub Open Source
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-08-
|
11
|
+
date: 2022-08-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: actionview
|
@@ -415,6 +415,8 @@ files:
|
|
415
415
|
- app/components/primer/alpha/hidden_text_expander.rb
|
416
416
|
- app/components/primer/alpha/layout.html.erb
|
417
417
|
- app/components/primer/alpha/layout.rb
|
418
|
+
- app/components/primer/alpha/modal-dialog-element.d.ts
|
419
|
+
- app/components/primer/alpha/modal-dialog-element.js
|
418
420
|
- app/components/primer/alpha/segmented-control-element.d.ts
|
419
421
|
- app/components/primer/alpha/segmented-control-element.js
|
420
422
|
- app/components/primer/alpha/tab_nav.html.erb
|
@@ -422,6 +424,11 @@ files:
|
|
422
424
|
- app/components/primer/alpha/tab_panels.html.erb
|
423
425
|
- app/components/primer/alpha/tab_panels.rb
|
424
426
|
- app/components/primer/alpha/text_field.rb
|
427
|
+
- app/components/primer/alpha/toggle-switch-element.d.ts
|
428
|
+
- app/components/primer/alpha/toggle-switch-element.js
|
429
|
+
- app/components/primer/alpha/toggle-switch-element.ts
|
430
|
+
- app/components/primer/alpha/toggle_switch.html.erb
|
431
|
+
- app/components/primer/alpha/toggle_switch.rb
|
425
432
|
- app/components/primer/alpha/tool-tip-element.d.ts
|
426
433
|
- app/components/primer/alpha/tool-tip-element.js
|
427
434
|
- app/components/primer/alpha/tool-tip-element.ts
|
@@ -464,12 +471,10 @@ files:
|
|
464
471
|
- app/components/primer/beta/truncate.rb
|
465
472
|
- app/components/primer/blankslate_component.html.erb
|
466
473
|
- app/components/primer/blankslate_component.rb
|
467
|
-
- app/components/primer/border_box_component.rb
|
468
474
|
- app/components/primer/box.rb
|
469
475
|
- app/components/primer/box_component.rb
|
470
476
|
- app/components/primer/button_component.html.erb
|
471
477
|
- app/components/primer/button_component.rb
|
472
|
-
- app/components/primer/button_group.rb
|
473
478
|
- app/components/primer/clipboard_copy.html.erb
|
474
479
|
- app/components/primer/clipboard_copy.rb
|
475
480
|
- app/components/primer/clipboard_copy_component.d.ts
|