@primer/view-components 0.13.1-rc.1b8d61f8 → 0.13.2-rc.12c56228
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.
- package/README.md +1 -1
- package/app/assets/javascripts/primer_view_components.js +1 -1
- package/app/assets/javascripts/primer_view_components.js.map +1 -1
- package/app/components/primer/alpha/action_bar_element.js +2 -0
- package/app/components/primer/alpha/action_menu/action_menu_element.js +20 -3
- package/package.json +1 -1
- package/static/info_arch.json +6 -6
| @@ -101,6 +101,8 @@ let ActionBarElement = class ActionBarElement extends HTMLElement { | |
| 101 101 | 
             
            };
         | 
| 102 102 | 
             
            _ActionBarElement_initialBarWidth = new WeakMap(), _ActionBarElement_previousBarWidth = new WeakMap(), _ActionBarElement_focusZoneAbortController = new WeakMap(), _ActionBarElement_instances = new WeakSet(), _ActionBarElement_isVisible = function _ActionBarElement_isVisible(element) {
         | 
| 103 103 | 
             
                // Safari doesn't support `checkVisibility` yet.
         | 
| 104 | 
            +
                // eslint-disable-next-line @typescript-eslint/ban-ts-comment
         | 
| 105 | 
            +
                // @ts-ignore
         | 
| 104 106 | 
             
                if (typeof element.checkVisibility === 'function')
         | 
| 105 107 | 
             
                    return element.checkVisibility();
         | 
| 106 108 | 
             
                return Boolean(element.offsetParent || element.offsetWidth || element.offsetHeight);
         | 
| @@ -15,7 +15,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function ( | |
| 15 15 | 
             
                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");
         | 
| 16 16 | 
             
                return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
         | 
| 17 17 | 
             
            };
         | 
| 18 | 
            -
            var _ActionMenuElement_instances, _ActionMenuElement_abortController, _ActionMenuElement_originalLabel, _ActionMenuElement_inputName, _ActionMenuElement_invokerBeingClicked, _ActionMenuElement_softDisableItems, _ActionMenuElement_potentiallyDisallowActivation, _ActionMenuElement_isKeyboardActivation, _ActionMenuElement_isMouseActivation, _ActionMenuElement_isActivation, _ActionMenuElement_handleInvokerActivated, _ActionMenuElement_handleDialogItemActivated, _ActionMenuElement_handleItemActivated, _ActionMenuElement_activateItem, _ActionMenuElement_handleIncludeFragmentReplaced, _ActionMenuElement_handleFocusOut, _ActionMenuElement_show, _ActionMenuElement_hide, _ActionMenuElement_isOpen, _ActionMenuElement_setDynamicLabel, _ActionMenuElement_updateInput, _ActionMenuElement_firstItem_get, _ActionMenuElement_items_get;
         | 
| 18 | 
            +
            var _ActionMenuElement_instances, _ActionMenuElement_abortController, _ActionMenuElement_originalLabel, _ActionMenuElement_inputName, _ActionMenuElement_invokerBeingClicked, _ActionMenuElement_softDisableItems, _ActionMenuElement_potentiallyDisallowActivation, _ActionMenuElement_isKeyboardActivation, _ActionMenuElement_isKeyboardActivationViaEnter, _ActionMenuElement_isKeyboardActivationViaSpace, _ActionMenuElement_isMouseActivation, _ActionMenuElement_isActivation, _ActionMenuElement_handleInvokerActivated, _ActionMenuElement_handleDialogItemActivated, _ActionMenuElement_handleItemActivated, _ActionMenuElement_activateItem, _ActionMenuElement_handleIncludeFragmentReplaced, _ActionMenuElement_handleFocusOut, _ActionMenuElement_show, _ActionMenuElement_hide, _ActionMenuElement_isOpen, _ActionMenuElement_setDynamicLabel, _ActionMenuElement_updateInput, _ActionMenuElement_firstItem_get, _ActionMenuElement_items_get;
         | 
| 19 19 | 
             
            import { controller, target } from '@github/catalyst';
         | 
| 20 20 | 
             
            import '@oddbird/popover-polyfill';
         | 
| 21 21 | 
             
            const validSelectors = ['[role="menuitem"]', '[role="menuitemcheckbox"]', '[role="menuitemradio"]'];
         | 
| @@ -109,7 +109,7 @@ let ActionMenuElement = class ActionMenuElement extends HTMLElement { | |
| 109 109 | 
             
                    __classPrivateFieldGet(this, _ActionMenuElement_abortController, "f").abort();
         | 
| 110 110 | 
             
                }
         | 
| 111 111 | 
             
                handleEvent(event) {
         | 
| 112 | 
            -
                    var _a;
         | 
| 112 | 
            +
                    var _a, _b;
         | 
| 113 113 | 
             
                    const targetIsInvoker = (_a = this.invokerElement) === null || _a === void 0 ? void 0 : _a.contains(event.target);
         | 
| 114 114 | 
             
                    const eventIsActivation = __classPrivateFieldGet(this, _ActionMenuElement_instances, "m", _ActionMenuElement_isActivation).call(this, event);
         | 
| 115 115 | 
             
                    if (targetIsInvoker && event.type === 'mousedown') {
         | 
| @@ -151,6 +151,16 @@ let ActionMenuElement = class ActionMenuElement extends HTMLElement { | |
| 151 151 | 
             
                        }
         | 
| 152 152 | 
             
                        __classPrivateFieldGet(this, _ActionMenuElement_instances, "m", _ActionMenuElement_activateItem).call(this, event, item);
         | 
| 153 153 | 
             
                        __classPrivateFieldGet(this, _ActionMenuElement_instances, "m", _ActionMenuElement_handleItemActivated).call(this, event, item);
         | 
| 154 | 
            +
                        // Pressing the space key on a button or link will cause the page to scroll unless preventDefault()
         | 
| 155 | 
            +
                        // is called. While calling preventDefault() appears to have no effect on link navigation, it skips
         | 
| 156 | 
            +
                        // form submission. The code below therefore only calls preventDefault() if the button has been
         | 
| 157 | 
            +
                        // activated by the space key, and manually submits the form if the button is a submit button.
         | 
| 158 | 
            +
                        if (__classPrivateFieldGet(this, _ActionMenuElement_instances, "m", _ActionMenuElement_isKeyboardActivationViaSpace).call(this, event)) {
         | 
| 159 | 
            +
                            event.preventDefault();
         | 
| 160 | 
            +
                            if (item.getAttribute('type') === 'submit') {
         | 
| 161 | 
            +
                                (_b = item.closest('form')) === null || _b === void 0 ? void 0 : _b.submit();
         | 
| 162 | 
            +
                            }
         | 
| 163 | 
            +
                        }
         | 
| 154 164 | 
             
                        return;
         | 
| 155 165 | 
             
                    }
         | 
| 156 166 | 
             
                    if (event.type === 'include-fragment-replaced') {
         | 
| @@ -176,10 +186,17 @@ _ActionMenuElement_abortController = new WeakMap(), _ActionMenuElement_originalL | |
| 176 186 | 
             
                    event.stopImmediatePropagation();
         | 
| 177 187 | 
             
                }
         | 
| 178 188 | 
             
            }, _ActionMenuElement_isKeyboardActivation = function _ActionMenuElement_isKeyboardActivation(event) {
         | 
| 189 | 
            +
                return __classPrivateFieldGet(this, _ActionMenuElement_instances, "m", _ActionMenuElement_isKeyboardActivationViaEnter).call(this, event) || __classPrivateFieldGet(this, _ActionMenuElement_instances, "m", _ActionMenuElement_isKeyboardActivationViaSpace).call(this, event);
         | 
| 190 | 
            +
            }, _ActionMenuElement_isKeyboardActivationViaEnter = function _ActionMenuElement_isKeyboardActivationViaEnter(event) {
         | 
| 191 | 
            +
                return (event instanceof KeyboardEvent &&
         | 
| 192 | 
            +
                    event.type === 'keydown' &&
         | 
| 193 | 
            +
                    !(event.ctrlKey || event.altKey || event.metaKey || event.shiftKey) &&
         | 
| 194 | 
            +
                    event.key === 'Enter');
         | 
| 195 | 
            +
            }, _ActionMenuElement_isKeyboardActivationViaSpace = function _ActionMenuElement_isKeyboardActivationViaSpace(event) {
         | 
| 179 196 | 
             
                return (event instanceof KeyboardEvent &&
         | 
| 180 197 | 
             
                    event.type === 'keydown' &&
         | 
| 181 198 | 
             
                    !(event.ctrlKey || event.altKey || event.metaKey || event.shiftKey) &&
         | 
| 182 | 
            -
                     | 
| 199 | 
            +
                    event.key === ' ');
         | 
| 183 200 | 
             
            }, _ActionMenuElement_isMouseActivation = function _ActionMenuElement_isMouseActivation(event) {
         | 
| 184 201 | 
             
                return event instanceof MouseEvent && event.type === 'click';
         | 
| 185 202 | 
             
            }, _ActionMenuElement_isActivation = function _ActionMenuElement_isActivation(event) {
         | 
    
        package/package.json
    CHANGED
    
    | @@ -1,6 +1,6 @@ | |
| 1 1 | 
             
            {
         | 
| 2 2 | 
             
              "name": "@primer/view-components",
         | 
| 3 | 
            -
              "version": "0.13. | 
| 3 | 
            +
              "version": "0.13.2-rc.12c56228",
         | 
| 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",
         | 
    
        package/static/info_arch.json
    CHANGED
    
    | @@ -7062,7 +7062,7 @@ | |
| 7062 7062 | 
             
              {
         | 
| 7063 7063 | 
             
                "fully_qualified_name": "Primer::Alpha::TabNav",
         | 
| 7064 7064 | 
             
                "description": "Use `TabNav` to style navigation with a tab-based selected state, typically used for navigation placed at the top of the page.\nFor panel navigation, use {{#link_to_component}}Primer::Alpha::TabPanels{{/link_to_component}} instead.",
         | 
| 7065 | 
            -
                "accessibility_docs": "- By default, `TabNav` renders links within a `<nav>` element. `<nav>` has an\n  implicit landmark role of `navigation` which should be reserved for main links.\n  For all other set of links, set tag to `:div`.\n- See  | 
| 7065 | 
            +
                "accessibility_docs": "- By default, `TabNav` renders links within a `<nav>` element. `<nav>` has an\n  implicit landmark role of `navigation` which should be reserved for main links.\n  For all other set of links, set tag to `:div`.\n- See {{#link_to_component}}Primer::Alpha::Navigation::Tab{{/link_to_component}} for additional\n  accessibility considerations.",
         | 
| 7066 7066 | 
             
                "is_form_component": false,
         | 
| 7067 7067 | 
             
                "is_published": true,
         | 
| 7068 7068 | 
             
                "requires_js": false,
         | 
| @@ -8461,7 +8461,7 @@ | |
| 8461 8461 | 
             
              {
         | 
| 8462 8462 | 
             
                "fully_qualified_name": "Primer::Alpha::UnderlineNav",
         | 
| 8463 8463 | 
             
                "description": "Use `UnderlineNav` to style navigation links with a minimal\nunderlined selected state, typically placed at the top\nof the page.\n\nFor panel navigation, use {{#link_to_component}}Primer::Alpha::UnderlinePanels{{/link_to_component}} instead.",
         | 
| 8464 | 
            -
                "accessibility_docs": "- By default, `UnderlineNav` renders links within a `<nav>` element. `<nav>` has an\n  implicit landmark role of `navigation` which should be reserved for main links.\n  For all other set of links, set tag to `:div`.\n- See  | 
| 8464 | 
            +
                "accessibility_docs": "- By default, `UnderlineNav` renders links within a `<nav>` element. `<nav>` has an\n  implicit landmark role of `navigation` which should be reserved for main links.\n  For all other set of links, set tag to `:div`.\n- See {{#link_to_component}}Primer::Alpha::Navigation::Tab{{/link_to_component}} for additional\n  accessibility considerations.",
         | 
| 8465 8465 | 
             
                "is_form_component": false,
         | 
| 8466 8466 | 
             
                "is_published": true,
         | 
| 8467 8467 | 
             
                "requires_js": false,
         | 
| @@ -10189,7 +10189,7 @@ | |
| 10189 10189 | 
             
                  {
         | 
| 10190 10190 | 
             
                    "fully_qualified_name": "Primer::Beta::BorderBox::Header",
         | 
| 10191 10191 | 
             
                    "description": "`BorderBox::Header` is used inside `BorderBox` to render its header slot.",
         | 
| 10192 | 
            -
                    "accessibility_docs": "When using `header.with_title`, set `tag` to one of `h1`, `h2`, `h3`, etc. based on what is appropriate for the page context.  | 
| 10192 | 
            +
                    "accessibility_docs": "When using `header.with_title`, set `tag` to one of `h1`, `h2`, `h3`, etc. based on what is appropriate for the page context. [Learn more about best heading practices (WAI Headings)](https://www.w3.org/WAI/tutorials/page-structure/headings/)",
         | 
| 10193 10193 | 
             
                    "is_form_component": false,
         | 
| 10194 10194 | 
             
                    "is_published": true,
         | 
| 10195 10195 | 
             
                    "requires_js": false,
         | 
| @@ -11589,7 +11589,7 @@ | |
| 11589 11589 | 
             
              {
         | 
| 11590 11590 | 
             
                "fully_qualified_name": "Primer::Beta::Heading",
         | 
| 11591 11591 | 
             
                "description": "`Heading` should be used to communicate page organization and hierarchy.\n\n- Set tag to one of `:h1`, `:h2`, `:h3`, `:h4`, `:h5`, `:h6` based on what is appropriate for the page context.\n- Use `Heading` as the title of a section or sub section.\n- Do not use `Heading` for styling alone. For simply styling text, consider using {{#link_to_component}}Primer::Beta::Text{{/link_to_component}} with relevant {{link_to_typography_docs}}\n  such as `font_size` and `font_weight`.\n- Do not jump heading levels. For instance, do not follow a `<h1>` with an `<h3>`. Heading levels should increase by one in ascending order.",
         | 
| 11592 | 
            -
                "accessibility_docs": "While sighted users rely on visual cues such as font size changes to determine what the heading is, assistive technology users rely on programatic cues that can be read out.\nWhen text on a page is visually implied to be a heading, ensure that it is coded as a heading. Additionally, visually implied heading level and coded heading level should be\nconsistent. [See WCAG success criteria: 1.3.1: Info and Relationships](https://www.w3.org/WAI/WCAG21/Understanding/info-and-relationships.html)\n\nHeadings allow assistive technology users to quickly navigate around a page. Navigation to text that is not meant to be a heading can be a confusing experience.\n | 
| 11592 | 
            +
                "accessibility_docs": "While sighted users rely on visual cues such as font size changes to determine what the heading is, assistive technology users rely on programatic cues that can be read out.\nWhen text on a page is visually implied to be a heading, ensure that it is coded as a heading. Additionally, visually implied heading level and coded heading level should be\nconsistent. [See WCAG success criteria: 1.3.1: Info and Relationships](https://www.w3.org/WAI/WCAG21/Understanding/info-and-relationships.html)\n\nHeadings allow assistive technology users to quickly navigate around a page. Navigation to text that is not meant to be a heading can be a confusing experience.\n[Learn more about best heading practices (WAI Headings)](https://www.w3.org/WAI/tutorials/page-structure/headings/)",
         | 
| 11593 11593 | 
             
                "is_form_component": false,
         | 
| 11594 11594 | 
             
                "is_published": true,
         | 
| 11595 11595 | 
             
                "requires_js": false,
         | 
| @@ -13751,7 +13751,7 @@ | |
| 13751 13751 | 
             
              {
         | 
| 13752 13752 | 
             
                "fully_qualified_name": "Primer::Beta::Subhead",
         | 
| 13753 13753 | 
             
                "description": "Use `Subhead` as the start of a section. The `:heading` slot will render an `<h2>` font-sized text.\n\n- Optionally set the `:description` slot to render a short description and the `:actions` slot for a related action.\n- Use a succinct, one-line description for the `:description` slot. For longer descriptions, omit the description slot and render a paragraph below the `Subhead`.\n- Use the actions slot to render a related action to the right of the heading. Use {{#link_to_component}}Primer::ButtonComponent{{/link_to_component}} or {{#link_to_component}}Primer::Beta::Link{{/link_to_component}}.",
         | 
| 13754 | 
            -
                "accessibility_docs": "The `:heading` slot defaults to rendering a `<div>`. Update the tag to a heading element with the appropriate level to improve page navigation for assistive technologies.\n | 
| 13754 | 
            +
                "accessibility_docs": "The `:heading` slot defaults to rendering a `<div>`. Update the tag to a heading element with the appropriate level to improve page navigation for assistive technologies.\n[Learn more about best heading practices (WAI Headings)](https://www.w3.org/WAI/tutorials/page-structure/headings/)",
         | 
| 13755 13755 | 
             
                "is_form_component": false,
         | 
| 13756 13756 | 
             
                "is_published": true,
         | 
| 13757 13757 | 
             
                "requires_js": false,
         | 
| @@ -14288,7 +14288,7 @@ | |
| 14288 14288 | 
             
              {
         | 
| 14289 14289 | 
             
                "fully_qualified_name": "Primer::BlankslateComponent",
         | 
| 14290 14290 | 
             
                "description": "Use `Blankslate` when there is a lack of content within a page or section. Use as placeholder to tell users why something isn't there.",
         | 
| 14291 | 
            -
                "accessibility_docs": "`Blankslate` renders an `<h3>` element for the title by default. Update the heading level based on what is appropriate for your page hierarchy by setting `title_tag`.\n | 
| 14291 | 
            +
                "accessibility_docs": "`Blankslate` renders an `<h3>` element for the title by default. Update the heading level based on what is appropriate for your page hierarchy by setting `title_tag`.\n[Learn more about best heading practices (WAI Headings)](https://www.w3.org/WAI/tutorials/page-structure/headings/)",
         | 
| 14292 14292 | 
             
                "is_form_component": false,
         | 
| 14293 14293 | 
             
                "is_published": true,
         | 
| 14294 14294 | 
             
                "requires_js": false,
         |