@primer/view-components 0.35.0-rc.5668df81 → 0.35.0-rc.641faa6e

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.
Files changed (48) hide show
  1. package/app/assets/styles/primer_view_components.css +1 -1
  2. package/app/assets/styles/primer_view_components.css.map +1 -1
  3. package/app/components/primer/alpha/action_bar_element.d.ts +17 -0
  4. package/app/components/primer/alpha/action_list.css +1 -1
  5. package/app/components/primer/alpha/action_list.d.ts +16 -0
  6. package/app/components/primer/alpha/action_menu/action_menu_element.d.ts +42 -0
  7. package/app/components/primer/alpha/dialog.css +1 -1
  8. package/app/components/primer/alpha/dropdown/menu.d.ts +1 -0
  9. package/app/components/primer/alpha/dropdown.d.ts +1 -0
  10. package/app/components/primer/alpha/image_crop.d.ts +1 -0
  11. package/app/components/primer/alpha/modal_dialog.d.ts +18 -0
  12. package/app/components/primer/alpha/segmented_control.d.ts +12 -0
  13. package/app/components/primer/alpha/select_panel_element.d.ts +63 -0
  14. package/app/components/primer/alpha/stack.css +1 -0
  15. package/app/components/primer/alpha/stack.css.json +90 -0
  16. package/app/components/primer/alpha/stack_item.css +1 -0
  17. package/app/components/primer/alpha/stack_item.css.json +12 -0
  18. package/app/components/primer/alpha/tab_container.d.ts +1 -0
  19. package/app/components/primer/alpha/text_field.css +1 -1
  20. package/app/components/primer/alpha/toggle_switch.d.ts +34 -0
  21. package/app/components/primer/alpha/tool_tip.d.ts +27 -0
  22. package/app/components/primer/alpha/x_banner.d.ts +18 -0
  23. package/app/components/primer/anchored_position.d.ts +27 -0
  24. package/app/components/primer/aria_live.d.ts +8 -0
  25. package/app/components/primer/beta/auto_complete/auto_complete.d.ts +1 -0
  26. package/app/components/primer/beta/clipboard_copy.d.ts +1 -0
  27. package/app/components/primer/beta/nav_list.d.ts +20 -0
  28. package/app/components/primer/beta/nav_list_group_element.d.ts +19 -0
  29. package/app/components/primer/beta/relative_time.d.ts +1 -0
  30. package/app/components/primer/dialog_helper.d.ts +15 -0
  31. package/app/components/primer/focus_group.d.ts +19 -0
  32. package/app/components/primer/primer.d.ts +28 -0
  33. package/app/components/primer/scrollable_region.d.ts +13 -0
  34. package/app/components/primer/shared_events.d.ts +11 -0
  35. package/app/lib/primer/forms/primer_multi_input.js +44 -0
  36. package/app/lib/primer/forms/primer_text_field.js +119 -0
  37. package/app/lib/primer/forms/toggle_switch_input.js +34 -0
  38. package/package.json +6 -6
  39. package/static/arguments.json +86 -0
  40. package/static/audited_at.json +2 -0
  41. package/static/classes.json +6 -0
  42. package/static/constants.json +24 -0
  43. package/static/info_arch.json +172 -0
  44. package/static/previews.json +68 -0
  45. package/static/statuses.json +2 -0
  46. /package/{lib → app/lib}/primer/forms/primer_multi_input.d.ts +0 -0
  47. /package/{lib → app/lib}/primer/forms/primer_text_field.d.ts +0 -0
  48. /package/{lib → app/lib}/primer/forms/toggle_switch_input.d.ts +0 -0
@@ -0,0 +1,8 @@
1
+ export declare function announceFromElement(el: HTMLElement, options?: {
2
+ assertive?: boolean;
3
+ element?: HTMLElement;
4
+ }): void;
5
+ export declare function announce(message: string, options?: {
6
+ assertive?: boolean;
7
+ element?: HTMLElement;
8
+ }): void;
@@ -0,0 +1 @@
1
+ import '@github/auto-complete-element';
@@ -0,0 +1 @@
1
+ import '@github/clipboard-copy-element';
@@ -0,0 +1,20 @@
1
+ export declare class NavListElement extends HTMLElement {
2
+ #private;
3
+ items: HTMLElement[];
4
+ topLevelList: HTMLElement;
5
+ connectedCallback(): void;
6
+ disconnectedCallback(): void;
7
+ selectItemById(itemId: string | null): boolean;
8
+ selectItemByHref(href: string | null): boolean;
9
+ selectItemByCurrentLocation(): boolean;
10
+ expandItem(item: HTMLElement): void;
11
+ collapseItem(item: HTMLElement): void;
12
+ itemIsExpanded(item: HTMLElement | null): boolean;
13
+ handleItemWithSubItemClick(e: Event): void;
14
+ handleItemWithSubItemKeydown(e: KeyboardEvent): void;
15
+ }
16
+ declare global {
17
+ interface Window {
18
+ NavListElement: typeof NavListElement;
19
+ }
20
+ }
@@ -0,0 +1,19 @@
1
+ export declare class NavListGroupElement extends HTMLElement {
2
+ #private;
3
+ showMoreItem: HTMLElement;
4
+ focusMarkers: HTMLElement[];
5
+ connectedCallback(): void;
6
+ get showMoreDisabled(): boolean;
7
+ set showMoreDisabled(value: boolean);
8
+ set currentPage(value: number);
9
+ get currentPage(): number;
10
+ get totalPages(): number;
11
+ get paginationSrc(): string;
12
+ private showMore;
13
+ private setShowMoreItemState;
14
+ }
15
+ declare global {
16
+ interface Window {
17
+ NavListGroupElement: typeof NavListGroupElement;
18
+ }
19
+ }
@@ -0,0 +1 @@
1
+ import '@github/relative-time-element';
@@ -0,0 +1,15 @@
1
+ export declare class DialogHelperElement extends HTMLElement {
2
+ #private;
3
+ get dialog(): HTMLDialogElement | null;
4
+ connectedCallback(): void;
5
+ disconnectedCallback(): void;
6
+ handleEvent(event: MouseEvent): void;
7
+ }
8
+ declare global {
9
+ interface Window {
10
+ DialogHelperElement: typeof DialogHelperElement;
11
+ }
12
+ interface HTMLElementTagNameMap {
13
+ 'dialog-helper': DialogHelperElement;
14
+ }
15
+ }
@@ -0,0 +1,19 @@
1
+ import '@oddbird/popover-polyfill';
2
+ export default class FocusGroupElement extends HTMLElement {
3
+ #private;
4
+ get nowrap(): boolean;
5
+ set nowrap(value: boolean);
6
+ get direction(): 'horizontal' | 'vertical' | 'both';
7
+ set direction(value: 'horizontal' | 'vertical' | 'both');
8
+ get retain(): boolean;
9
+ set retain(value: boolean);
10
+ get mnemonics(): boolean;
11
+ connectedCallback(): void;
12
+ disconnectedCallback(): void;
13
+ handleEvent(event: Event): void;
14
+ }
15
+ declare global {
16
+ interface Window {
17
+ FocusGroupElement: typeof FocusGroupElement;
18
+ }
19
+ }
@@ -0,0 +1,28 @@
1
+ import '@github/include-fragment-element';
2
+ import '@github/remote-input-element';
3
+ import './alpha/action_list';
4
+ import './alpha/action_bar_element';
5
+ import './alpha/dropdown';
6
+ import './anchored_position';
7
+ import './dialog_helper';
8
+ import './focus_group';
9
+ import './scrollable_region';
10
+ import './aria_live';
11
+ import './shared_events';
12
+ import './alpha/image_crop';
13
+ import './alpha/modal_dialog';
14
+ import './beta/nav_list';
15
+ import './beta/nav_list_group_element';
16
+ import './alpha/segmented_control';
17
+ import './alpha/toggle_switch';
18
+ import './alpha/tool_tip';
19
+ import './alpha/x_banner';
20
+ import './beta/auto_complete/auto_complete';
21
+ import './beta/clipboard_copy';
22
+ import './beta/relative_time';
23
+ import './alpha/tab_container';
24
+ import '../../lib/primer/forms/primer_multi_input';
25
+ import '../../lib/primer/forms/primer_text_field';
26
+ import '../../lib/primer/forms/toggle_switch_input';
27
+ import './alpha/action_menu/action_menu_element';
28
+ import './alpha/select_panel_element';
@@ -0,0 +1,13 @@
1
+ export declare class ScrollableRegionElement extends HTMLElement {
2
+ hasOverflow: boolean;
3
+ labelledBy: string;
4
+ observer: ResizeObserver;
5
+ connectedCallback(): void;
6
+ disconnectedCallback(): void;
7
+ attributeChangedCallback(name: string): void;
8
+ }
9
+ declare global {
10
+ interface Window {
11
+ ScrollableRegionElement: typeof ScrollableRegionElement;
12
+ }
13
+ }
@@ -0,0 +1,11 @@
1
+ export type ItemActivatedEvent = {
2
+ item: Element;
3
+ checked: boolean;
4
+ value: string | null;
5
+ };
6
+ declare global {
7
+ interface HTMLElementEventMap {
8
+ itemActivated: CustomEvent<ItemActivatedEvent>;
9
+ beforeItemActivated: CustomEvent<ItemActivatedEvent>;
10
+ }
11
+ }
@@ -0,0 +1,44 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ /* eslint-disable custom-elements/expose-class-on-global */
8
+ import { controller, targets } from '@github/catalyst';
9
+ let PrimerMultiInputElement = class PrimerMultiInputElement extends HTMLElement {
10
+ activateField(name) {
11
+ const fieldWithName = this.findField(name);
12
+ if (!fieldWithName)
13
+ return;
14
+ for (const field of this.fields) {
15
+ if (field === fieldWithName)
16
+ continue;
17
+ field.setAttribute('disabled', 'disabled');
18
+ field.setAttribute('hidden', 'hidden');
19
+ field.parentElement?.setAttribute('hidden', 'hidden');
20
+ }
21
+ fieldWithName.removeAttribute('disabled');
22
+ fieldWithName.removeAttribute('hidden');
23
+ fieldWithName.parentElement?.removeAttribute('hidden');
24
+ }
25
+ findField(name) {
26
+ for (const field of this.fields) {
27
+ if (field.getAttribute('data-name') === name) {
28
+ return field;
29
+ }
30
+ }
31
+ return null;
32
+ }
33
+ };
34
+ __decorate([
35
+ targets
36
+ ], PrimerMultiInputElement.prototype, "fields", void 0);
37
+ PrimerMultiInputElement = __decorate([
38
+ controller
39
+ ], PrimerMultiInputElement);
40
+ export { PrimerMultiInputElement };
41
+ if (!window.customElements.get('primer-multi-input')) {
42
+ Object.assign(window, { PrimerMultiInputElement });
43
+ window.customElements.define('primer-multi-input', PrimerMultiInputElement);
44
+ }
@@ -0,0 +1,119 @@
1
+ /* eslint-disable custom-elements/expose-class-on-global */
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
9
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
10
+ 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");
11
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
12
+ };
13
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
14
+ if (kind === "m") throw new TypeError("Private method is not writable");
15
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
16
+ 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");
17
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
18
+ };
19
+ var _PrimerTextFieldElement_abortController;
20
+ import '@github/auto-check-element';
21
+ import { controller, target } from '@github/catalyst';
22
+ let PrimerTextFieldElement = class PrimerTextFieldElement extends HTMLElement {
23
+ constructor() {
24
+ super(...arguments);
25
+ _PrimerTextFieldElement_abortController.set(this, void 0);
26
+ }
27
+ connectedCallback() {
28
+ __classPrivateFieldGet(this, _PrimerTextFieldElement_abortController, "f")?.abort();
29
+ const { signal } = (__classPrivateFieldSet(this, _PrimerTextFieldElement_abortController, new AbortController(), "f"));
30
+ this.addEventListener('auto-check-success', async (event) => {
31
+ const message = await event.detail.response.text();
32
+ if (message && message.length > 0) {
33
+ this.setSuccess(message);
34
+ }
35
+ else {
36
+ this.clearError();
37
+ }
38
+ }, { signal });
39
+ this.addEventListener('auto-check-error', async (event) => {
40
+ const errorMessage = await event.detail.response.text();
41
+ this.setError(errorMessage);
42
+ }, { signal });
43
+ }
44
+ disconnectedCallback() {
45
+ __classPrivateFieldGet(this, _PrimerTextFieldElement_abortController, "f")?.abort();
46
+ }
47
+ clearContents() {
48
+ this.inputElement.value = '';
49
+ this.inputElement.focus();
50
+ this.inputElement.dispatchEvent(new Event('input', { bubbles: true, cancelable: false }));
51
+ }
52
+ clearError() {
53
+ this.inputElement.removeAttribute('invalid');
54
+ this.validationElement.hidden = true;
55
+ this.validationMessageElement.replaceChildren();
56
+ }
57
+ setValidationMessage(message) {
58
+ const template = document.createElement('template');
59
+ // eslint-disable-next-line github/no-inner-html
60
+ template.innerHTML = message;
61
+ const fragment = document.importNode(template.content, true);
62
+ this.validationMessageElement.replaceChildren(fragment);
63
+ }
64
+ toggleValidationStyling(isError) {
65
+ if (isError) {
66
+ this.validationElement.classList.remove('FormControl-inlineValidation--success');
67
+ }
68
+ else {
69
+ this.validationElement.classList.add('FormControl-inlineValidation--success');
70
+ }
71
+ this.validationSuccessIcon.hidden = isError;
72
+ this.validationErrorIcon.hidden = !isError;
73
+ this.inputElement.setAttribute('invalid', isError ? 'true' : 'false');
74
+ }
75
+ setSuccess(message) {
76
+ this.toggleValidationStyling(false);
77
+ this.setValidationMessage(message);
78
+ this.validationElement.hidden = false;
79
+ }
80
+ setError(message) {
81
+ this.toggleValidationStyling(true);
82
+ this.setValidationMessage(message);
83
+ this.validationElement.hidden = false;
84
+ }
85
+ showLeadingSpinner() {
86
+ this.leadingSpinner?.removeAttribute('hidden');
87
+ this.leadingVisual?.setAttribute('hidden', '');
88
+ }
89
+ hideLeadingSpinner() {
90
+ this.leadingSpinner?.setAttribute('hidden', '');
91
+ this.leadingVisual?.removeAttribute('hidden');
92
+ }
93
+ };
94
+ _PrimerTextFieldElement_abortController = new WeakMap();
95
+ __decorate([
96
+ target
97
+ ], PrimerTextFieldElement.prototype, "inputElement", void 0);
98
+ __decorate([
99
+ target
100
+ ], PrimerTextFieldElement.prototype, "validationElement", void 0);
101
+ __decorate([
102
+ target
103
+ ], PrimerTextFieldElement.prototype, "validationMessageElement", void 0);
104
+ __decorate([
105
+ target
106
+ ], PrimerTextFieldElement.prototype, "validationSuccessIcon", void 0);
107
+ __decorate([
108
+ target
109
+ ], PrimerTextFieldElement.prototype, "validationErrorIcon", void 0);
110
+ __decorate([
111
+ target
112
+ ], PrimerTextFieldElement.prototype, "leadingVisual", void 0);
113
+ __decorate([
114
+ target
115
+ ], PrimerTextFieldElement.prototype, "leadingSpinner", void 0);
116
+ PrimerTextFieldElement = __decorate([
117
+ controller
118
+ ], PrimerTextFieldElement);
119
+ export { PrimerTextFieldElement };
@@ -0,0 +1,34 @@
1
+ /* eslint-disable custom-elements/expose-class-on-global */
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ import { controller, target } from '@github/catalyst';
9
+ let ToggleSwitchInputElement = class ToggleSwitchInputElement extends HTMLElement {
10
+ connectedCallback() {
11
+ this.addEventListener('toggleSwitchError', (event) => {
12
+ this.validationMessageElement.textContent = event.detail;
13
+ this.validationElement.removeAttribute('hidden');
14
+ });
15
+ this.addEventListener('toggleSwitchSuccess', () => {
16
+ this.validationMessageElement.textContent = '';
17
+ this.validationElement.setAttribute('hidden', 'hidden');
18
+ });
19
+ this.addEventListener('toggleSwitchLoading', () => {
20
+ this.validationMessageElement.textContent = '';
21
+ this.validationElement.setAttribute('hidden', 'hidden');
22
+ });
23
+ }
24
+ };
25
+ __decorate([
26
+ target
27
+ ], ToggleSwitchInputElement.prototype, "validationElement", void 0);
28
+ __decorate([
29
+ target
30
+ ], ToggleSwitchInputElement.prototype, "validationMessageElement", void 0);
31
+ ToggleSwitchInputElement = __decorate([
32
+ controller
33
+ ], ToggleSwitchInputElement);
34
+ export { ToggleSwitchInputElement };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@primer/view-components",
3
- "version": "0.35.0-rc.5668df81",
3
+ "version": "0.35.0-rc.641faa6e",
4
4
  "description": "ViewComponents for the Primer Design System",
5
5
  "main": "app/assets/javascripts/primer_view_components.js",
6
6
  "module": "app/components/primer/primer.js",
@@ -26,15 +26,15 @@
26
26
  "app/components/primer/**/*.css",
27
27
  "app/components/primer/**/*.css.json",
28
28
  "app/components/primer/**/*.d.ts",
29
- "lib/primer/forms/**/*.js",
30
- "lib/primer/forms/**/*.d.ts"
29
+ "app/lib/primer/forms/**/*.js",
30
+ "app/lib/primer/forms/**/*.d.ts"
31
31
  ],
32
32
  "scripts": {
33
33
  "clean": "git clean -fdX -- app/",
34
34
  "prepare": "script/build-assets",
35
35
  "lint": "npm run lint:stylelint && npm run lint:eslint",
36
- "lint:stylelint": "stylelint 'app/components/**/*.pcss'",
37
- "lint:stylelint:fix": "stylelint 'app/components/**/*.pcss' --fix",
36
+ "lint:stylelint": "stylelint --rd -q 'app/components/**/*.pcss'",
37
+ "lint:stylelint:fix": "npm run lint:stylelint -- --fix",
38
38
  "lint:eslint": "eslint 'app/components/**/*.ts'",
39
39
  "lint:eslint:fix": "eslint 'app/components/**/*.ts' --fix",
40
40
  "changeset:version": "changeset version && script/version",
@@ -66,7 +66,7 @@
66
66
  "@playwright/test": "^1.35.1",
67
67
  "@primer/css": "21.3.6",
68
68
  "@primer/primitives": "^9.0.2",
69
- "@primer/stylelint-config": "^13.0.1",
69
+ "@primer/stylelint-config": "^13.1.1",
70
70
  "@rollup/plugin-node-resolve": "^15.2.3",
71
71
  "@rollup/plugin-typescript": "^8.3.3",
72
72
  "@typescript-eslint/eslint-plugin": "^7.0.1",
@@ -2510,6 +2510,92 @@
2510
2510
  }
2511
2511
  ]
2512
2512
  },
2513
+ {
2514
+ "component": "Stack",
2515
+ "status": "alpha",
2516
+ "a11y_reviewed": false,
2517
+ "short_name": "Stack",
2518
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/stack.rb",
2519
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/stack/default/",
2520
+ "parameters": [
2521
+ {
2522
+ "name": "tag",
2523
+ "type": "Symbol",
2524
+ "default": "`:div`",
2525
+ "description": "Customize the element type of the rendered container."
2526
+ },
2527
+ {
2528
+ "name": "gap",
2529
+ "type": "Symbol",
2530
+ "default": "`GapArg::DEFAULT`",
2531
+ "description": "Specify the gap between children elements in the stack. One of `nil`, `:condensed`, `:normal`, or `:spacious`."
2532
+ },
2533
+ {
2534
+ "name": "direction",
2535
+ "type": "Symbol",
2536
+ "default": "`:vertical`",
2537
+ "description": "Specify the direction for the stack container. One of `nil`, `:horizontal`, or `:vertical`."
2538
+ },
2539
+ {
2540
+ "name": "align",
2541
+ "type": "Symbol",
2542
+ "default": "`:stretch`",
2543
+ "description": "Specify the alignment between items in the cross-axis of the direction. One of `nil`, `:baseline`, `:center`, `:end`, `:start`, or `:stretch`."
2544
+ },
2545
+ {
2546
+ "name": "wrap",
2547
+ "type": "Symbol",
2548
+ "default": "`:nowrap`",
2549
+ "description": "Specify whether items are forced onto one line or can wrap onto multiple lines. One of `nil`, `:nowrap`, or `:wrap`."
2550
+ },
2551
+ {
2552
+ "name": "justify",
2553
+ "type": "Symbol",
2554
+ "default": "`:start`",
2555
+ "description": "Specify how items will be distributed in the stacking direction. One of `nil`, `:center`, `:end`, `:space_between`, `:space_evenly`, or `:start`."
2556
+ },
2557
+ {
2558
+ "name": "padding",
2559
+ "type": "Symbol",
2560
+ "default": "`:none`",
2561
+ "description": "Specify the padding of the stack container. One of `nil`, `:condensed`, `:none`, `:normal`, or `:spacious`."
2562
+ },
2563
+ {
2564
+ "name": "system_arguments",
2565
+ "type": "Hash",
2566
+ "default": "N/A",
2567
+ "description": "[System arguments](/system-arguments)"
2568
+ }
2569
+ ]
2570
+ },
2571
+ {
2572
+ "component": "StackItem",
2573
+ "status": "alpha",
2574
+ "a11y_reviewed": false,
2575
+ "short_name": "StackItem",
2576
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/stack_item.rb",
2577
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/stack_item/default/",
2578
+ "parameters": [
2579
+ {
2580
+ "name": "tag",
2581
+ "type": "Symbol",
2582
+ "default": "`:div`",
2583
+ "description": "Customize the element type of the rendered container."
2584
+ },
2585
+ {
2586
+ "name": "grow",
2587
+ "type": "Boolean",
2588
+ "default": "`false`",
2589
+ "description": "Allow item to keep size or expand to fill the available space."
2590
+ },
2591
+ {
2592
+ "name": "system_arguments",
2593
+ "type": "Hash",
2594
+ "default": "N/A",
2595
+ "description": "[System arguments](/system-arguments)"
2596
+ }
2597
+ ]
2598
+ },
2513
2599
  {
2514
2600
  "component": "SubmitButton",
2515
2601
  "status": "alpha",
@@ -54,6 +54,8 @@
54
54
  "Primer::Alpha::Select": "",
55
55
  "Primer::Alpha::SelectPanel": "",
56
56
  "Primer::Alpha::SelectPanel::ItemList": "2023-07-10",
57
+ "Primer::Alpha::Stack": "",
58
+ "Primer::Alpha::StackItem": "",
57
59
  "Primer::Alpha::SubmitButton": "",
58
60
  "Primer::Alpha::TabContainer": "",
59
61
  "Primer::Alpha::TabNav": "",
@@ -501,6 +501,12 @@
501
501
  "SelectPanel-loadingPanel": [
502
502
  "Primer::Alpha::SelectPanel"
503
503
  ],
504
+ "Stack": [
505
+ "Primer::Alpha::Stack"
506
+ ],
507
+ "StackItem": [
508
+ "Primer::Alpha::StackItem"
509
+ ],
504
510
  "State": [
505
511
  "Primer::Beta::State"
506
512
  ],
@@ -621,6 +621,30 @@
621
621
  },
622
622
  "Primer::Alpha::SelectPanel::ItemList": {
623
623
  },
624
+ "Primer::Alpha::Stack": {
625
+ "ARG_CLASSES": [
626
+ "Primer::Alpha::Stack::JustifyArg",
627
+ "Primer::Alpha::Stack::DirectionArg",
628
+ "Primer::Alpha::Stack::AlignArg",
629
+ "Primer::Alpha::Stack::WrapArg",
630
+ "Primer::Alpha::Stack::PaddingArg",
631
+ "Primer::Alpha::Stack::GapArg"
632
+ ],
633
+ "AlignArg": "Primer::Alpha::Stack::AlignArg",
634
+ "DEFAULT_TAG": "div",
635
+ "DirectionArg": "Primer::Alpha::Stack::DirectionArg",
636
+ "GapArg": "Primer::Alpha::Stack::GapArg",
637
+ "JustifyArg": "Primer::Alpha::Stack::JustifyArg",
638
+ "PaddingArg": "Primer::Alpha::Stack::PaddingArg",
639
+ "WrapArg": "Primer::Alpha::Stack::WrapArg"
640
+ },
641
+ "Primer::Alpha::StackItem": {
642
+ "ARG_CLASSES": [
643
+ "Primer::Alpha::StackItem::GrowArg"
644
+ ],
645
+ "DEFAULT_TAG": "div",
646
+ "GrowArg": "Primer::Alpha::StackItem::GrowArg"
647
+ },
624
648
  "Primer::Alpha::SubmitButton": {
625
649
  },
626
650
  "Primer::Alpha::TabContainer": {