@papillonbits/components 0.2.0 → 0.5.0
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/build/index.scss +1 -0
- package/build/primer/Alert/Alert.js +142 -0
- package/build/primer/Alert/Alert.prop.js +43 -0
- package/build/primer/Alert/Alert.scss +158 -0
- package/build/primer/Alert/index.js +21 -0
- package/build/primer/Blankslate/Blankslate.js +39 -0
- package/build/primer/Blankslate/Blankslate.prop.js +31 -0
- package/build/primer/Blankslate/Blankslate.scss +91 -0
- package/build/primer/Blankslate/index.js +21 -0
- package/build/primer/Box/box.scss +294 -0
- package/build/primer/BranchName/branch-name.scss +32 -0
- package/build/primer/Breadcrumb/Breadcrumb.js +87 -0
- package/build/primer/Breadcrumb/Breadcrumb.prop.js +34 -0
- package/build/primer/Breadcrumb/Breadcrumb.scss +35 -0
- package/build/primer/Breadcrumb/index.js +21 -0
- package/build/primer/Button/Button.js +85 -7
- package/build/primer/Button/Button.prop.js +64 -3
- package/build/primer/Button/Button.scss +293 -4
- package/build/primer/Button/index.js +39 -1
- package/build/primer/Button/misc.scss +182 -1
- package/build/primer/Dropdown/Dropdown.js +126 -0
- package/build/primer/Dropdown/Dropdown.prop.js +39 -0
- package/build/primer/Dropdown/Dropdown.scss +276 -0
- package/build/primer/Dropdown/index.js +21 -0
- package/build/primer/ErrorBoundary/ErrorBoundary.js +82 -0
- package/build/primer/ErrorBoundary/ErrorBoundary.prop.js +15 -0
- package/build/primer/ErrorBoundary/index.js +13 -0
- package/build/primer/Form/Checkbox/Checkbox.js +53 -0
- package/build/primer/Form/Checkbox/Checkbox.md +32 -0
- package/build/primer/Form/Checkbox/Checkbox.prop.js +42 -0
- package/build/primer/Form/Checkbox/Checkbox.scss +8 -0
- package/build/primer/Form/Checkbox/__tests__/__snapshots__/Checkbox.int.test.js.snap +77 -0
- package/build/primer/Form/Checkbox/index.js +21 -0
- package/build/primer/Form/Input/Input.js +58 -0
- package/build/primer/Form/Input/Input.md +34 -0
- package/build/primer/Form/Input/Input.prop.js +51 -0
- package/build/primer/Form/Input/Input.scss +9 -0
- package/build/primer/Form/Input/__tests__/__snapshots__/Input.int.test.js.snap +31 -0
- package/build/primer/Form/Input/index.js +27 -0
- package/build/primer/Form/Radio/Radio.js +52 -0
- package/build/primer/Form/Radio/Radio.md +25 -0
- package/build/primer/Form/Radio/Radio.prop.js +40 -0
- package/build/primer/Form/Radio/Radio.scss +6 -0
- package/build/primer/Form/Radio/__tests__/__snapshots__/Radio.int.test.js.snap +75 -0
- package/build/primer/Form/Radio/index.js +21 -0
- package/build/primer/Form/form-control.scss +264 -0
- package/build/primer/Form/form-group.scss +277 -0
- package/build/primer/Form/form-select.scss +46 -0
- package/build/primer/Form/form-validation.scss +365 -0
- package/build/primer/Form/index.js +29 -0
- package/build/primer/Form/index.scss +8 -0
- package/build/primer/Form/input-group.scss +55 -0
- package/build/primer/Form/radio-group.scss +62 -0
- package/build/primer/Grid/DisplayTable/DisplayTable.js +71 -0
- package/build/primer/Grid/DisplayTable/DisplayTable.md +14 -0
- package/build/primer/Grid/DisplayTable/DisplayTable.prop.js +22 -0
- package/build/primer/Grid/DisplayTable/__tests__/__snapshots__/DisplayTable.int.test.js.snap +346 -0
- package/build/primer/Grid/DisplayTable/index.js +13 -0
- package/build/primer/Grid/FlexGrid/FlexGrid.js +277 -0
- package/build/primer/Grid/FlexGrid/FlexGrid.md +106 -0
- package/build/primer/Grid/FlexGrid/FlexGrid.prop.js +55 -0
- package/build/primer/Grid/FlexGrid/FlexGrid.scss +27 -0
- package/build/primer/Grid/FlexGrid/__tests__/__snapshots__/FlexGrid.int.test.js.snap +7225 -0
- package/build/primer/Grid/FlexGrid/index.js +27 -0
- package/build/primer/Grid/index.js +18 -0
- package/build/primer/Icon/Icon.js +79 -0
- package/build/primer/Icon/Icon.part.js +1386 -0
- package/build/primer/Icon/Icon.prop.js +517 -0
- package/build/primer/Icon/index.js +27 -0
- package/build/primer/Label/Label.js +40 -0
- package/build/primer/Label/Label.prop.js +41 -0
- package/build/primer/Label/counters.scss +38 -0
- package/build/primer/Label/diffstat.scss +37 -0
- package/build/primer/Label/index.js +13 -0
- package/build/primer/Label/index.scss +8 -0
- package/build/primer/Label/issue-labels.scss +25 -0
- package/build/primer/Label/labels.scss +94 -0
- package/build/primer/Label/mixins.scss +39 -0
- package/build/primer/Label/states.scss +56 -0
- package/build/primer/Layout/container.scss +32 -0
- package/build/primer/Layout/grid-offset.scss +45 -0
- package/build/primer/Layout/grid.scss +123 -0
- package/build/primer/Loader/Loader.js +82 -0
- package/build/primer/Loader/Loader.prop.js +26 -0
- package/build/primer/Loader/Loader.scss +21 -0
- package/build/primer/Loader/index.js +21 -0
- package/build/primer/Navigation/Menu/Menu.js +87 -0
- package/build/primer/Navigation/Menu/Menu.md +25 -0
- package/build/primer/Navigation/Menu/Menu.prop.js +32 -0
- package/build/primer/Navigation/Menu/Menu.scss +128 -0
- package/build/primer/Navigation/Menu/__tests__/__snapshots__/Menu.int.test.js.snap +120 -0
- package/build/primer/Navigation/Menu/index.js +13 -0
- package/build/primer/Navigation/TabNav/TabNav.js +148 -0
- package/build/primer/Navigation/TabNav/TabNav.md +56 -0
- package/build/primer/Navigation/TabNav/TabNav.prop.js +41 -0
- package/build/primer/Navigation/TabNav/TabNav.scss +103 -0
- package/build/primer/Navigation/TabNav/__tests__/__snapshots__/TabNav.int.test.js.snap +218 -0
- package/build/primer/Navigation/TabNav/index.js +21 -0
- package/build/primer/Navigation/UnderlineNav/UnderlineNav.js +148 -0
- package/build/primer/Navigation/UnderlineNav/UnderlineNav.md +65 -0
- package/build/primer/Navigation/UnderlineNav/UnderlineNav.prop.js +47 -0
- package/build/primer/Navigation/UnderlineNav/UnderlineNav.scss +92 -0
- package/build/primer/Navigation/UnderlineNav/__tests__/__snapshots__/UnderlineNav.int.test.js.snap +271 -0
- package/build/primer/Navigation/UnderlineNav/index.js +27 -0
- package/build/primer/Navigation/index.js +22 -0
- package/build/primer/Pagination/PreviousNext/PreviousNext.js +89 -0
- package/build/primer/Pagination/PreviousNext/PreviousNext.md +20 -0
- package/build/primer/Pagination/PreviousNext/PreviousNext.prop.js +61 -0
- package/build/primer/Pagination/PreviousNext/PreviousNext.scss +157 -0
- package/build/primer/Pagination/PreviousNext/__tests__/__snapshots__/PreviousNext.int.test.js.snap +63 -0
- package/build/primer/Pagination/PreviousNext/index.js +21 -0
- package/build/primer/Pagination/index.js +14 -0
- package/build/primer/Popover/Popover.js +77 -0
- package/build/primer/Popover/Popover.prop.js +47 -0
- package/build/primer/Popover/Popover.scss +230 -0
- package/build/primer/Popover/index.js +27 -0
- package/build/primer/Progress/Progress.js +41 -0
- package/build/primer/Progress/Progress.prop.js +26 -0
- package/build/primer/Progress/Progress.scss +29 -0
- package/build/primer/Progress/index.js +21 -0
- package/build/primer/SVG/icon/alert-16.svg +1 -0
- package/build/primer/SVG/icon/alert-24.svg +1 -0
- package/build/primer/SVG/icon/archive-16.svg +1 -0
- package/build/primer/SVG/icon/archive-24.svg +1 -0
- package/build/primer/SVG/icon/arrow-both-16.svg +1 -0
- package/build/primer/SVG/icon/arrow-both-24.svg +1 -0
- package/build/primer/SVG/icon/arrow-down-16.svg +1 -0
- package/build/primer/SVG/icon/arrow-down-24.svg +1 -0
- package/build/primer/SVG/icon/arrow-down-left-24.svg +1 -0
- package/build/primer/SVG/icon/arrow-down-right-24.svg +1 -0
- package/build/primer/SVG/icon/arrow-left-16.svg +1 -0
- package/build/primer/SVG/icon/arrow-left-24.svg +1 -0
- package/build/primer/SVG/icon/arrow-right-16.svg +1 -0
- package/build/primer/SVG/icon/arrow-right-24.svg +1 -0
- package/build/primer/SVG/icon/arrow-switch-16.svg +1 -0
- package/build/primer/SVG/icon/arrow-switch-24.svg +1 -0
- package/build/primer/SVG/icon/arrow-up-16.svg +1 -0
- package/build/primer/SVG/icon/arrow-up-24.svg +1 -0
- package/build/primer/SVG/icon/arrow-up-left-24.svg +1 -0
- package/build/primer/SVG/icon/arrow-up-right-24.svg +1 -0
- package/build/primer/SVG/icon/beaker-16.svg +1 -0
- package/build/primer/SVG/icon/beaker-24.svg +1 -0
- package/build/primer/SVG/icon/bell-16.svg +1 -0
- package/build/primer/SVG/icon/bell-24.svg +1 -0
- package/build/primer/SVG/icon/bell-fill-24.svg +1 -0
- package/build/primer/SVG/icon/bell-slash-16.svg +1 -0
- package/build/primer/SVG/icon/bell-slash-24.svg +1 -0
- package/build/primer/SVG/icon/blocked-16.svg +1 -0
- package/build/primer/SVG/icon/blocked-24.svg +1 -0
- package/build/primer/SVG/icon/bold-16.svg +1 -0
- package/build/primer/SVG/icon/bold-24.svg +1 -0
- package/build/primer/SVG/icon/book-16.svg +1 -0
- package/build/primer/SVG/icon/book-24.svg +1 -0
- package/build/primer/SVG/icon/bookmark-16.svg +1 -0
- package/build/primer/SVG/icon/bookmark-24.svg +1 -0
- package/build/primer/SVG/icon/bookmark-fill-24.svg +1 -0
- package/build/primer/SVG/icon/bookmark-slash-16.svg +1 -0
- package/build/primer/SVG/icon/bookmark-slash-24.svg +1 -0
- package/build/primer/SVG/icon/bookmark-slash-fill-24.svg +1 -0
- package/build/primer/SVG/icon/briefcase-16.svg +1 -0
- package/build/primer/SVG/icon/briefcase-24.svg +1 -0
- package/build/primer/SVG/icon/broadcast-16.svg +1 -0
- package/build/primer/SVG/icon/broadcast-24.svg +1 -0
- package/build/primer/SVG/icon/browser-16.svg +1 -0
- package/build/primer/SVG/icon/browser-24.svg +1 -0
- package/build/primer/SVG/icon/bug-16.svg +1 -0
- package/build/primer/SVG/icon/bug-24.svg +1 -0
- package/build/primer/SVG/icon/calendar-16.svg +1 -0
- package/build/primer/SVG/icon/calendar-24.svg +1 -0
- package/build/primer/SVG/icon/check-16.svg +1 -0
- package/build/primer/SVG/icon/check-24.svg +1 -0
- package/build/primer/SVG/icon/check-circle-16.svg +1 -0
- package/build/primer/SVG/icon/check-circle-24.svg +1 -0
- package/build/primer/SVG/icon/check-circle-fill-16.svg +1 -0
- package/build/primer/SVG/icon/check-circle-fill-24.svg +1 -0
- package/build/primer/SVG/icon/checklist-16.svg +1 -0
- package/build/primer/SVG/icon/checklist-24.svg +1 -0
- package/build/primer/SVG/icon/chevron-down-16.svg +1 -0
- package/build/primer/SVG/icon/chevron-down-24.svg +1 -0
- package/build/primer/SVG/icon/chevron-left-16.svg +1 -0
- package/build/primer/SVG/icon/chevron-left-24.svg +1 -0
- package/build/primer/SVG/icon/chevron-right-16.svg +1 -0
- package/build/primer/SVG/icon/chevron-right-24.svg +1 -0
- package/build/primer/SVG/icon/chevron-up-16.svg +1 -0
- package/build/primer/SVG/icon/chevron-up-24.svg +1 -0
- package/build/primer/SVG/icon/circle-16.svg +1 -0
- package/build/primer/SVG/icon/circle-24.svg +1 -0
- package/build/primer/SVG/icon/circle-slash-16.svg +1 -0
- package/build/primer/SVG/icon/circle-slash-24.svg +1 -0
- package/build/primer/SVG/icon/clippy-16.svg +1 -0
- package/build/primer/SVG/icon/clippy-24.svg +1 -0
- package/build/primer/SVG/icon/clock-16.svg +1 -0
- package/build/primer/SVG/icon/clock-24.svg +1 -0
- package/build/primer/SVG/icon/code-16.svg +1 -0
- package/build/primer/SVG/icon/code-24.svg +1 -0
- package/build/primer/SVG/icon/code-review-16.svg +1 -0
- package/build/primer/SVG/icon/code-review-24.svg +1 -0
- package/build/primer/SVG/icon/code-square-16.svg +1 -0
- package/build/primer/SVG/icon/code-square-24.svg +1 -0
- package/build/primer/SVG/icon/codescan-16.svg +1 -0
- package/build/primer/SVG/icon/codescan-24.svg +1 -0
- package/build/primer/SVG/icon/codescan-checkmark-16.svg +1 -0
- package/build/primer/SVG/icon/codescan-checkmark-24.svg +1 -0
- package/build/primer/SVG/icon/codespaces-16.svg +1 -0
- package/build/primer/SVG/icon/codespaces-24.svg +1 -0
- package/build/primer/SVG/icon/columns-16.svg +1 -0
- package/build/primer/SVG/icon/columns-24.svg +1 -0
- package/build/primer/SVG/icon/comment-16.svg +1 -0
- package/build/primer/SVG/icon/comment-24.svg +1 -0
- package/build/primer/SVG/icon/comment-discussion-16.svg +1 -0
- package/build/primer/SVG/icon/comment-discussion-24.svg +1 -0
- package/build/primer/SVG/icon/commit-24.svg +1 -0
- package/build/primer/SVG/icon/container-16.svg +1 -0
- package/build/primer/SVG/icon/container-24.svg +1 -0
- package/build/primer/SVG/icon/copy-24.svg +1 -0
- package/build/primer/SVG/icon/cpu-16.svg +1 -0
- package/build/primer/SVG/icon/cpu-24.svg +1 -0
- package/build/primer/SVG/icon/credit-card-16.svg +1 -0
- package/build/primer/SVG/icon/credit-card-24.svg +1 -0
- package/build/primer/SVG/icon/cross-reference-16.svg +1 -0
- package/build/primer/SVG/icon/cross-reference-24.svg +1 -0
- package/build/primer/SVG/icon/dash-16.svg +1 -0
- package/build/primer/SVG/icon/dash-24.svg +1 -0
- package/build/primer/SVG/icon/database-16.svg +1 -0
- package/build/primer/SVG/icon/database-24.svg +1 -0
- package/build/primer/SVG/icon/dependabot-16.svg +1 -0
- package/build/primer/SVG/icon/dependabot-24.svg +1 -0
- package/build/primer/SVG/icon/desktop-download-16.svg +1 -0
- package/build/primer/SVG/icon/desktop-download-24.svg +1 -0
- package/build/primer/SVG/icon/device-camera-16.svg +1 -0
- package/build/primer/SVG/icon/device-camera-video-16.svg +1 -0
- package/build/primer/SVG/icon/device-camera-video-24.svg +1 -0
- package/build/primer/SVG/icon/device-desktop-16.svg +1 -0
- package/build/primer/SVG/icon/device-desktop-24.svg +1 -0
- package/build/primer/SVG/icon/device-mobile-16.svg +1 -0
- package/build/primer/SVG/icon/device-mobile-24.svg +1 -0
- package/build/primer/SVG/icon/diamond-16.svg +1 -0
- package/build/primer/SVG/icon/diamond-24.svg +1 -0
- package/build/primer/SVG/icon/diff-16.svg +1 -0
- package/build/primer/SVG/icon/diff-24.svg +1 -0
- package/build/primer/SVG/icon/diff-added-16.svg +1 -0
- package/build/primer/SVG/icon/diff-ignored-16.svg +1 -0
- package/build/primer/SVG/icon/diff-modified-16.svg +1 -0
- package/build/primer/SVG/icon/diff-removed-16.svg +1 -0
- package/build/primer/SVG/icon/diff-renamed-16.svg +1 -0
- package/build/primer/SVG/icon/dot-16.svg +1 -0
- package/build/primer/SVG/icon/dot-24.svg +1 -0
- package/build/primer/SVG/icon/dot-fill-16.svg +1 -0
- package/build/primer/SVG/icon/dot-fill-24.svg +1 -0
- package/build/primer/SVG/icon/download-16.svg +1 -0
- package/build/primer/SVG/icon/download-24.svg +1 -0
- package/build/primer/SVG/icon/duplicate-16.svg +1 -0
- package/build/primer/SVG/icon/duplicate-24.svg +1 -0
- package/build/primer/SVG/icon/ellipsis-16.svg +1 -0
- package/build/primer/SVG/icon/eye-16.svg +1 -0
- package/build/primer/SVG/icon/eye-24.svg +1 -0
- package/build/primer/SVG/icon/eye-closed-16.svg +1 -0
- package/build/primer/SVG/icon/eye-closed-24.svg +1 -0
- package/build/primer/SVG/icon/eye-slash-24.svg +1 -0
- package/build/primer/SVG/icon/file-16.svg +1 -0
- package/build/primer/SVG/icon/file-24.svg +1 -0
- package/build/primer/SVG/icon/file-badge-16.svg +1 -0
- package/build/primer/SVG/icon/file-binary-16.svg +1 -0
- package/build/primer/SVG/icon/file-binary-24.svg +1 -0
- package/build/primer/SVG/icon/file-code-16.svg +1 -0
- package/build/primer/SVG/icon/file-code-24.svg +1 -0
- package/build/primer/SVG/icon/file-diff-16.svg +1 -0
- package/build/primer/SVG/icon/file-diff-24.svg +1 -0
- package/build/primer/SVG/icon/file-directory-16.svg +1 -0
- package/build/primer/SVG/icon/file-directory-24.svg +1 -0
- package/build/primer/SVG/icon/file-directory-fill-24.svg +1 -0
- package/build/primer/SVG/icon/file-media-24.svg +1 -0
- package/build/primer/SVG/icon/file-submodule-16.svg +1 -0
- package/build/primer/SVG/icon/file-submodule-24.svg +1 -0
- package/build/primer/SVG/icon/file-symlink-24.svg +1 -0
- package/build/primer/SVG/icon/file-symlink-file-16.svg +1 -0
- package/build/primer/SVG/icon/file-symlink-file-24.svg +1 -0
- package/build/primer/SVG/icon/file-zip-16.svg +1 -0
- package/build/primer/SVG/icon/file-zip-24.svg +1 -0
- package/build/primer/SVG/icon/filter-16.svg +1 -0
- package/build/primer/SVG/icon/filter-24.svg +1 -0
- package/build/primer/SVG/icon/fire-24.svg +1 -0
- package/build/primer/SVG/icon/flame-16.svg +1 -0
- package/build/primer/SVG/icon/flame-24.svg +1 -0
- package/build/primer/SVG/icon/fold-16.svg +1 -0
- package/build/primer/SVG/icon/fold-24.svg +1 -0
- package/build/primer/SVG/icon/fold-down-16.svg +1 -0
- package/build/primer/SVG/icon/fold-down-24.svg +1 -0
- package/build/primer/SVG/icon/fold-up-16.svg +1 -0
- package/build/primer/SVG/icon/fold-up-24.svg +1 -0
- package/build/primer/SVG/icon/gear-16.svg +1 -0
- package/build/primer/SVG/icon/gear-24.svg +1 -0
- package/build/primer/SVG/icon/gift-16.svg +1 -0
- package/build/primer/SVG/icon/gift-24.svg +1 -0
- package/build/primer/SVG/icon/git-branch-16.svg +1 -0
- package/build/primer/SVG/icon/git-branch-24.svg +1 -0
- package/build/primer/SVG/icon/git-commit-16.svg +1 -0
- package/build/primer/SVG/icon/git-commit-24.svg +1 -0
- package/build/primer/SVG/icon/git-compare-16.svg +1 -0
- package/build/primer/SVG/icon/git-compare-24.svg +1 -0
- package/build/primer/SVG/icon/git-fork-24.svg +1 -0
- package/build/primer/SVG/icon/git-merge-16.svg +1 -0
- package/build/primer/SVG/icon/git-merge-24.svg +1 -0
- package/build/primer/SVG/icon/git-pull-request-16.svg +1 -0
- package/build/primer/SVG/icon/git-pull-request-24.svg +1 -0
- package/build/primer/SVG/icon/git-pull-request-closed-16.svg +1 -0
- package/build/primer/SVG/icon/git-pull-request-closed-24.svg +1 -0
- package/build/primer/SVG/icon/git-pull-request-draft-16.svg +1 -0
- package/build/primer/SVG/icon/git-pull-request-draft-24.svg +1 -0
- package/build/primer/SVG/icon/globe-16.svg +1 -0
- package/build/primer/SVG/icon/globe-24.svg +1 -0
- package/build/primer/SVG/icon/grabber-16.svg +1 -0
- package/build/primer/SVG/icon/grabber-24.svg +1 -0
- package/build/primer/SVG/icon/graph-16.svg +1 -0
- package/build/primer/SVG/icon/graph-24.svg +1 -0
- package/build/primer/SVG/icon/hash-16.svg +1 -0
- package/build/primer/SVG/icon/hash-24.svg +1 -0
- package/build/primer/SVG/icon/heading-16.svg +1 -0
- package/build/primer/SVG/icon/heading-24.svg +1 -0
- package/build/primer/SVG/icon/heart-16.svg +1 -0
- package/build/primer/SVG/icon/heart-24.svg +1 -0
- package/build/primer/SVG/icon/heart-fill-16.svg +1 -0
- package/build/primer/SVG/icon/heart-fill-24.svg +1 -0
- package/build/primer/SVG/icon/history-16.svg +1 -0
- package/build/primer/SVG/icon/history-24.svg +1 -0
- package/build/primer/SVG/icon/home-16.svg +1 -0
- package/build/primer/SVG/icon/home-24.svg +1 -0
- package/build/primer/SVG/icon/home-fill-24.svg +1 -0
- package/build/primer/SVG/icon/horizontal-rule-16.svg +1 -0
- package/build/primer/SVG/icon/horizontal-rule-24.svg +1 -0
- package/build/primer/SVG/icon/hourglass-16.svg +1 -0
- package/build/primer/SVG/icon/hourglass-24.svg +1 -0
- package/build/primer/SVG/icon/hubot-16.svg +1 -0
- package/build/primer/SVG/icon/hubot-24.svg +1 -0
- package/build/primer/SVG/icon/image-16.svg +1 -0
- package/build/primer/SVG/icon/image-24.svg +1 -0
- package/build/primer/SVG/icon/inbox-16.svg +1 -0
- package/build/primer/SVG/icon/inbox-24.svg +1 -0
- package/build/primer/SVG/icon/index.js +1248 -0
- package/build/primer/SVG/icon/infinity-16.svg +1 -0
- package/build/primer/SVG/icon/infinity-24.svg +1 -0
- package/build/primer/SVG/icon/info-16.svg +1 -0
- package/build/primer/SVG/icon/info-24.svg +1 -0
- package/build/primer/SVG/icon/insights-24.svg +1 -0
- package/build/primer/SVG/icon/issue-closed-16.svg +1 -0
- package/build/primer/SVG/icon/issue-closed-24.svg +1 -0
- package/build/primer/SVG/icon/issue-draft-16.svg +1 -0
- package/build/primer/SVG/icon/issue-draft-24.svg +1 -0
- package/build/primer/SVG/icon/issue-opened-16.svg +1 -0
- package/build/primer/SVG/icon/issue-opened-24.svg +1 -0
- package/build/primer/SVG/icon/issue-reopened-16.svg +1 -0
- package/build/primer/SVG/icon/issue-reopened-24.svg +1 -0
- package/build/primer/SVG/icon/italic-16.svg +1 -0
- package/build/primer/SVG/icon/italic-24.svg +1 -0
- package/build/primer/SVG/icon/kebab-horizontal-16.svg +1 -0
- package/build/primer/SVG/icon/kebab-horizontal-24.svg +1 -0
- package/build/primer/SVG/icon/key-16.svg +1 -0
- package/build/primer/SVG/icon/key-24.svg +1 -0
- package/build/primer/SVG/icon/law-16.svg +1 -0
- package/build/primer/SVG/icon/law-24.svg +1 -0
- package/build/primer/SVG/icon/light-bulb-16.svg +1 -0
- package/build/primer/SVG/icon/light-bulb-24.svg +1 -0
- package/build/primer/SVG/icon/link-16.svg +1 -0
- package/build/primer/SVG/icon/link-24.svg +1 -0
- package/build/primer/SVG/icon/link-external-16.svg +1 -0
- package/build/primer/SVG/icon/link-external-24.svg +1 -0
- package/build/primer/SVG/icon/list-ordered-16.svg +1 -0
- package/build/primer/SVG/icon/list-ordered-24.svg +1 -0
- package/build/primer/SVG/icon/list-unordered-16.svg +1 -0
- package/build/primer/SVG/icon/list-unordered-24.svg +1 -0
- package/build/primer/SVG/icon/location-16.svg +1 -0
- package/build/primer/SVG/icon/location-24.svg +1 -0
- package/build/primer/SVG/icon/lock-16.svg +1 -0
- package/build/primer/SVG/icon/lock-24.svg +1 -0
- package/build/primer/SVG/icon/logo-gist-16.svg +1 -0
- package/build/primer/SVG/icon/logo-github-16.svg +1 -0
- package/build/primer/SVG/icon/mail-16.svg +1 -0
- package/build/primer/SVG/icon/mail-24.svg +1 -0
- package/build/primer/SVG/icon/mark-github-16.svg +1 -0
- package/build/primer/SVG/icon/markdown-16.svg +1 -0
- package/build/primer/SVG/icon/megaphone-16.svg +1 -0
- package/build/primer/SVG/icon/megaphone-24.svg +1 -0
- package/build/primer/SVG/icon/mention-16.svg +1 -0
- package/build/primer/SVG/icon/mention-24.svg +1 -0
- package/build/primer/SVG/icon/meter-16.svg +1 -0
- package/build/primer/SVG/icon/milestone-16.svg +1 -0
- package/build/primer/SVG/icon/milestone-24.svg +1 -0
- package/build/primer/SVG/icon/mirror-16.svg +1 -0
- package/build/primer/SVG/icon/mirror-24.svg +1 -0
- package/build/primer/SVG/icon/moon-16.svg +1 -0
- package/build/primer/SVG/icon/moon-24.svg +1 -0
- package/build/primer/SVG/icon/mortar-board-16.svg +1 -0
- package/build/primer/SVG/icon/mortar-board-24.svg +1 -0
- package/build/primer/SVG/icon/multi-select-16.svg +1 -0
- package/build/primer/SVG/icon/multi-select-24.svg +1 -0
- package/build/primer/SVG/icon/mute-16.svg +1 -0
- package/build/primer/SVG/icon/mute-24.svg +1 -0
- package/build/primer/SVG/icon/no-entry-16.svg +1 -0
- package/build/primer/SVG/icon/no-entry-24.svg +1 -0
- package/build/primer/SVG/icon/north-star-16.svg +1 -0
- package/build/primer/SVG/icon/north-star-24.svg +1 -0
- package/build/primer/SVG/icon/note-16.svg +1 -0
- package/build/primer/SVG/icon/note-24.svg +1 -0
- package/build/primer/SVG/icon/number-16.svg +1 -0
- package/build/primer/SVG/icon/number-24.svg +1 -0
- package/build/primer/SVG/icon/octoface-16.svg +1 -0
- package/build/primer/SVG/icon/octoface-24.svg +1 -0
- package/build/primer/SVG/icon/organization-16.svg +1 -0
- package/build/primer/SVG/icon/organization-24.svg +1 -0
- package/build/primer/SVG/icon/package-16.svg +1 -0
- package/build/primer/SVG/icon/package-24.svg +1 -0
- package/build/primer/SVG/icon/package-dependencies-16.svg +1 -0
- package/build/primer/SVG/icon/package-dependencies-24.svg +1 -0
- package/build/primer/SVG/icon/package-dependents-16.svg +1 -0
- package/build/primer/SVG/icon/package-dependents-24.svg +1 -0
- package/build/primer/SVG/icon/paintbrush-16.svg +1 -0
- package/build/primer/SVG/icon/paper-airplane-16.svg +1 -0
- package/build/primer/SVG/icon/paper-airplane-24.svg +1 -0
- package/build/primer/SVG/icon/pencil-16.svg +1 -0
- package/build/primer/SVG/icon/pencil-24.svg +1 -0
- package/build/primer/SVG/icon/people-16.svg +1 -0
- package/build/primer/SVG/icon/people-24.svg +1 -0
- package/build/primer/SVG/icon/person-16.svg +1 -0
- package/build/primer/SVG/icon/person-24.svg +1 -0
- package/build/primer/SVG/icon/person-add-16.svg +1 -0
- package/build/primer/SVG/icon/person-add-24.svg +1 -0
- package/build/primer/SVG/icon/pin-16.svg +1 -0
- package/build/primer/SVG/icon/pin-24.svg +1 -0
- package/build/primer/SVG/icon/play-16.svg +1 -0
- package/build/primer/SVG/icon/play-24.svg +1 -0
- package/build/primer/SVG/icon/plug-16.svg +1 -0
- package/build/primer/SVG/icon/plug-24.svg +1 -0
- package/build/primer/SVG/icon/plus-16.svg +1 -0
- package/build/primer/SVG/icon/plus-24.svg +1 -0
- package/build/primer/SVG/icon/plus-circle-16.svg +1 -0
- package/build/primer/SVG/icon/plus-circle-24.svg +1 -0
- package/build/primer/SVG/icon/project-16.svg +1 -0
- package/build/primer/SVG/icon/project-24.svg +1 -0
- package/build/primer/SVG/icon/pulse-16.svg +1 -0
- package/build/primer/SVG/icon/pulse-24.svg +1 -0
- package/build/primer/SVG/icon/question-16.svg +1 -0
- package/build/primer/SVG/icon/question-24.svg +1 -0
- package/build/primer/SVG/icon/quote-16.svg +1 -0
- package/build/primer/SVG/icon/quote-24.svg +1 -0
- package/build/primer/SVG/icon/reply-16.svg +1 -0
- package/build/primer/SVG/icon/reply-24.svg +1 -0
- package/build/primer/SVG/icon/repo-16.svg +1 -0
- package/build/primer/SVG/icon/repo-24.svg +1 -0
- package/build/primer/SVG/icon/repo-clone-16.svg +1 -0
- package/build/primer/SVG/icon/repo-forked-16.svg +1 -0
- package/build/primer/SVG/icon/repo-forked-24.svg +1 -0
- package/build/primer/SVG/icon/repo-pull-16.svg +1 -0
- package/build/primer/SVG/icon/repo-push-16.svg +1 -0
- package/build/primer/SVG/icon/repo-push-24.svg +1 -0
- package/build/primer/SVG/icon/repo-template-16.svg +1 -0
- package/build/primer/SVG/icon/repo-template-24.svg +1 -0
- package/build/primer/SVG/icon/report-16.svg +1 -0
- package/build/primer/SVG/icon/report-24.svg +1 -0
- package/build/primer/SVG/icon/rocket-16.svg +1 -0
- package/build/primer/SVG/icon/rocket-24.svg +1 -0
- package/build/primer/SVG/icon/rows-16.svg +1 -0
- package/build/primer/SVG/icon/rows-24.svg +1 -0
- package/build/primer/SVG/icon/rss-16.svg +1 -0
- package/build/primer/SVG/icon/rss-24.svg +1 -0
- package/build/primer/SVG/icon/ruby-16.svg +1 -0
- package/build/primer/SVG/icon/ruby-24.svg +1 -0
- package/build/primer/SVG/icon/screen-full-16.svg +1 -0
- package/build/primer/SVG/icon/screen-full-24.svg +1 -0
- package/build/primer/SVG/icon/screen-normal-16.svg +1 -0
- package/build/primer/SVG/icon/screen-normal-24.svg +1 -0
- package/build/primer/SVG/icon/search-16.svg +1 -0
- package/build/primer/SVG/icon/search-24.svg +1 -0
- package/build/primer/SVG/icon/select-single-16.svg +1 -0
- package/build/primer/SVG/icon/server-16.svg +1 -0
- package/build/primer/SVG/icon/server-24.svg +1 -0
- package/build/primer/SVG/icon/settings-24.svg +1 -0
- package/build/primer/SVG/icon/share-16.svg +1 -0
- package/build/primer/SVG/icon/share-24.svg +1 -0
- package/build/primer/SVG/icon/share-android-16.svg +1 -0
- package/build/primer/SVG/icon/share-android-24.svg +1 -0
- package/build/primer/SVG/icon/shield-16.svg +1 -0
- package/build/primer/SVG/icon/shield-24.svg +1 -0
- package/build/primer/SVG/icon/shield-check-16.svg +1 -0
- package/build/primer/SVG/icon/shield-check-24.svg +1 -0
- package/build/primer/SVG/icon/shield-lock-16.svg +1 -0
- package/build/primer/SVG/icon/shield-lock-24.svg +1 -0
- package/build/primer/SVG/icon/shield-x-16.svg +1 -0
- package/build/primer/SVG/icon/shield-x-24.svg +1 -0
- package/build/primer/SVG/icon/sidebar-collapse-16.svg +1 -0
- package/build/primer/SVG/icon/sidebar-collapse-24.svg +1 -0
- package/build/primer/SVG/icon/sidebar-expand-16.svg +1 -0
- package/build/primer/SVG/icon/sidebar-expand-24.svg +1 -0
- package/build/primer/SVG/icon/sign-in-16.svg +1 -0
- package/build/primer/SVG/icon/sign-in-24.svg +1 -0
- package/build/primer/SVG/icon/sign-out-16.svg +1 -0
- package/build/primer/SVG/icon/sign-out-24.svg +1 -0
- package/build/primer/SVG/icon/single-select-24.svg +1 -0
- package/build/primer/SVG/icon/skip-16.svg +1 -0
- package/build/primer/SVG/icon/skip-24.svg +1 -0
- package/build/primer/SVG/icon/smiley-16.svg +1 -0
- package/build/primer/SVG/icon/smiley-24.svg +1 -0
- package/build/primer/SVG/icon/square-16.svg +1 -0
- package/build/primer/SVG/icon/square-24.svg +1 -0
- package/build/primer/SVG/icon/square-fill-16.svg +1 -0
- package/build/primer/SVG/icon/square-fill-24.svg +1 -0
- package/build/primer/SVG/icon/squirrel-16.svg +1 -0
- package/build/primer/SVG/icon/squirrel-24.svg +1 -0
- package/build/primer/SVG/icon/star-16.svg +1 -0
- package/build/primer/SVG/icon/star-24.svg +1 -0
- package/build/primer/SVG/icon/star-fill-16.svg +1 -0
- package/build/primer/SVG/icon/star-fill-24.svg +1 -0
- package/build/primer/SVG/icon/stop-16.svg +1 -0
- package/build/primer/SVG/icon/stop-24.svg +1 -0
- package/build/primer/SVG/icon/stopwatch-16.svg +1 -0
- package/build/primer/SVG/icon/stopwatch-24.svg +1 -0
- package/build/primer/SVG/icon/strikethrough-16.svg +1 -0
- package/build/primer/SVG/icon/strikethrough-24.svg +1 -0
- package/build/primer/SVG/icon/sun-16.svg +1 -0
- package/build/primer/SVG/icon/sun-24.svg +1 -0
- package/build/primer/SVG/icon/sync-16.svg +1 -0
- package/build/primer/SVG/icon/sync-24.svg +1 -0
- package/build/primer/SVG/icon/tab-24.svg +1 -0
- package/build/primer/SVG/icon/table-16.svg +1 -0
- package/build/primer/SVG/icon/table-24.svg +1 -0
- package/build/primer/SVG/icon/tag-16.svg +1 -0
- package/build/primer/SVG/icon/tag-24.svg +1 -0
- package/build/primer/SVG/icon/tasklist-16.svg +1 -0
- package/build/primer/SVG/icon/tasklist-24.svg +1 -0
- package/build/primer/SVG/icon/telescope-16.svg +1 -0
- package/build/primer/SVG/icon/telescope-24.svg +1 -0
- package/build/primer/SVG/icon/terminal-16.svg +1 -0
- package/build/primer/SVG/icon/terminal-24.svg +1 -0
- package/build/primer/SVG/icon/three-bars-16.svg +1 -0
- package/build/primer/SVG/icon/thumbsdown-16.svg +1 -0
- package/build/primer/SVG/icon/thumbsdown-24.svg +1 -0
- package/build/primer/SVG/icon/thumbsup-16.svg +1 -0
- package/build/primer/SVG/icon/thumbsup-24.svg +1 -0
- package/build/primer/SVG/icon/tools-16.svg +1 -0
- package/build/primer/SVG/icon/tools-24.svg +1 -0
- package/build/primer/SVG/icon/trash-16.svg +1 -0
- package/build/primer/SVG/icon/trash-24.svg +1 -0
- package/build/primer/SVG/icon/trashcan-16.svg +1 -0
- package/build/primer/SVG/icon/triangle-down-16.svg +1 -0
- package/build/primer/SVG/icon/triangle-down-24.svg +1 -0
- package/build/primer/SVG/icon/triangle-left-16.svg +1 -0
- package/build/primer/SVG/icon/triangle-left-24.svg +1 -0
- package/build/primer/SVG/icon/triangle-right-16.svg +1 -0
- package/build/primer/SVG/icon/triangle-right-24.svg +1 -0
- package/build/primer/SVG/icon/triangle-up-16.svg +1 -0
- package/build/primer/SVG/icon/triangle-up-24.svg +1 -0
- package/build/primer/SVG/icon/typography-16.svg +1 -0
- package/build/primer/SVG/icon/typography-24.svg +1 -0
- package/build/primer/SVG/icon/unfold-16.svg +1 -0
- package/build/primer/SVG/icon/unfold-24.svg +1 -0
- package/build/primer/SVG/icon/unlock-16.svg +1 -0
- package/build/primer/SVG/icon/unlock-24.svg +1 -0
- package/build/primer/SVG/icon/unmute-16.svg +1 -0
- package/build/primer/SVG/icon/unmute-24.svg +1 -0
- package/build/primer/SVG/icon/unverifed-24.svg +1 -0
- package/build/primer/SVG/icon/unverified-16.svg +1 -0
- package/build/primer/SVG/icon/unverified-24.svg +1 -0
- package/build/primer/SVG/icon/upload-16.svg +1 -0
- package/build/primer/SVG/icon/upload-24.svg +1 -0
- package/build/primer/SVG/icon/verified-16.svg +1 -0
- package/build/primer/SVG/icon/verified-24.svg +1 -0
- package/build/primer/SVG/icon/versions-16.svg +1 -0
- package/build/primer/SVG/icon/versions-24.svg +1 -0
- package/build/primer/SVG/icon/video-16.svg +1 -0
- package/build/primer/SVG/icon/video-24.svg +1 -0
- package/build/primer/SVG/icon/workflow-16.svg +1 -0
- package/build/primer/SVG/icon/workflow-24.svg +1 -0
- package/build/primer/SVG/icon/x-16.svg +1 -0
- package/build/primer/SVG/icon/x-24.svg +1 -0
- package/build/primer/SVG/icon/x-circle-16.svg +1 -0
- package/build/primer/SVG/icon/x-circle-24.svg +1 -0
- package/build/primer/SVG/icon/x-circle-fill-16.svg +1 -0
- package/build/primer/SVG/icon/x-circle-fill-24.svg +1 -0
- package/build/primer/SVG/icon/zap-16.svg +1 -0
- package/build/primer/SVG/icon/zap-24.svg +1 -0
- package/build/primer/SVG/index.js +13 -0
- package/build/primer/Select/Select.js +78 -0
- package/build/primer/Select/Select.prop.js +32 -0
- package/build/primer/Select/Select.scss +49 -0
- package/build/primer/Select/index.js +21 -0
- package/build/primer/SelectMenu/SelectMenu.js +114 -0
- package/build/primer/SelectMenu/SelectMenu.prop.js +31 -0
- package/build/primer/SelectMenu/SelectMenu.scss +467 -0
- package/build/primer/SelectMenu/index.js +13 -0
- package/build/primer/Subhead/Subhead.js +34 -0
- package/build/primer/Subhead/Subhead.prop.js +20 -0
- package/build/primer/Subhead/Subhead.scss +50 -0
- package/build/primer/Subhead/index.js +13 -0
- package/build/primer/Toast/Toast.js +64 -0
- package/build/primer/Toast/Toast.prop.js +31 -0
- package/build/primer/Toast/Toast.scss +130 -0
- package/build/primer/Toast/index.js +21 -0
- package/build/primer/index.js +93 -1
- package/build/primer/index.scss +1 -1
- package/package.json +6 -2
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Menu
|
|
2
|
+
|
|
3
|
+
> The menu is a vertical list of navigational links. A menu's width and placement must be set by you. If you like, just use our grid columns as a parent. Otherwise, apply a custom width.
|
|
4
|
+
|
|
5
|
+
# Variants
|
|
6
|
+
|
|
7
|
+
> - Default, WithIcons, WithHeading
|
|
8
|
+
|
|
9
|
+
## Default
|
|
10
|
+
|
|
11
|
+
```jsx
|
|
12
|
+
<Menu ariaAttr={ariaAttr} items={defaultItems} onClick={action('onClick')} />
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## WithIcons
|
|
16
|
+
|
|
17
|
+
```jsx
|
|
18
|
+
<Menu ariaAttr={ariaAttr} items={iconItems} onClick={action('onClick')} />
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## WithHeading
|
|
22
|
+
|
|
23
|
+
```jsx
|
|
24
|
+
<Menu heading={heading} ariaAttr={ariaAttr} items={defaultItems} onClick={action('onClick')} />
|
|
25
|
+
```
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.propTypes = exports.defaultProps = void 0;
|
|
7
|
+
|
|
8
|
+
var _propTypes = require("prop-types");
|
|
9
|
+
|
|
10
|
+
var propTypes = {
|
|
11
|
+
className: _propTypes.string,
|
|
12
|
+
heading: _propTypes.string,
|
|
13
|
+
ariaAttr: (0, _propTypes.shape)({
|
|
14
|
+
label: _propTypes.string,
|
|
15
|
+
labelledBy: _propTypes.string,
|
|
16
|
+
current: _propTypes.string
|
|
17
|
+
}).isRequired,
|
|
18
|
+
items: (0, _propTypes.arrayOf)((0, _propTypes.shape)({
|
|
19
|
+
href: _propTypes.string,
|
|
20
|
+
icon: _propTypes.string,
|
|
21
|
+
text: _propTypes.string,
|
|
22
|
+
html: _propTypes.node,
|
|
23
|
+
isSelected: _propTypes.bool
|
|
24
|
+
})).isRequired,
|
|
25
|
+
onClick: _propTypes.func.isRequired
|
|
26
|
+
};
|
|
27
|
+
exports.propTypes = propTypes;
|
|
28
|
+
var defaultProps = {
|
|
29
|
+
className: null,
|
|
30
|
+
heading: null
|
|
31
|
+
};
|
|
32
|
+
exports.defaultProps = defaultProps;
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
@import '../../index.scss';
|
|
2
|
+
@import '../../../index.scss';
|
|
3
|
+
|
|
4
|
+
// Side menu
|
|
5
|
+
//
|
|
6
|
+
// A menu on the side of a page, defaults to left side. e.g. github.com/about
|
|
7
|
+
|
|
8
|
+
.menu {
|
|
9
|
+
margin-bottom: $spacer-3;
|
|
10
|
+
list-style: none;
|
|
11
|
+
background-color: var(--color-canvas-default);
|
|
12
|
+
border: $border-width $border-style var(--color-border-default);
|
|
13
|
+
border-radius: $border-radius;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.menu-item {
|
|
17
|
+
position: relative;
|
|
18
|
+
display: block;
|
|
19
|
+
padding: $spacer-2 $spacer-3;
|
|
20
|
+
color: var(--color-fg-default);
|
|
21
|
+
border-bottom: $border-width $border-style var(--color-border-muted);
|
|
22
|
+
|
|
23
|
+
&:first-child {
|
|
24
|
+
border-top: 0;
|
|
25
|
+
border-top-left-radius: $border-radius;
|
|
26
|
+
border-top-right-radius: $border-radius;
|
|
27
|
+
|
|
28
|
+
&::before {
|
|
29
|
+
border-top-left-radius: $border-radius;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
&:last-child {
|
|
34
|
+
border-bottom: 0;
|
|
35
|
+
border-bottom-right-radius: $border-radius;
|
|
36
|
+
border-bottom-left-radius: $border-radius;
|
|
37
|
+
|
|
38
|
+
&::before {
|
|
39
|
+
border-bottom-left-radius: $border-radius;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
&:focus {
|
|
44
|
+
z-index: 1;
|
|
45
|
+
outline: none;
|
|
46
|
+
box-shadow: var(--color-primer-shadow-focus);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
&:hover {
|
|
50
|
+
text-decoration: none;
|
|
51
|
+
background-color: var(--color-neutral-subtle);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
&:active {
|
|
55
|
+
background-color: var(--color-canvas-subtle);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
&.selected,
|
|
59
|
+
&[aria-selected='true'],
|
|
60
|
+
&[aria-current]:not([aria-current='false']) {
|
|
61
|
+
cursor: default;
|
|
62
|
+
background-color: var(--color-menu-bg-active);
|
|
63
|
+
|
|
64
|
+
&::before {
|
|
65
|
+
position: absolute;
|
|
66
|
+
top: 0;
|
|
67
|
+
bottom: 0;
|
|
68
|
+
left: 0;
|
|
69
|
+
width: 2px;
|
|
70
|
+
content: '';
|
|
71
|
+
background-color: var(--color-primer-border-active);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
.octicon {
|
|
76
|
+
width: 16px;
|
|
77
|
+
margin-right: $spacer-2;
|
|
78
|
+
color: var(--color-fg-muted);
|
|
79
|
+
text-align: center;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
.Counter {
|
|
83
|
+
float: right;
|
|
84
|
+
margin-left: $spacer-1;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
.menu-warning {
|
|
88
|
+
float: right;
|
|
89
|
+
color: var(--color-attention-fg);
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
.avatar {
|
|
93
|
+
float: left;
|
|
94
|
+
margin-right: $spacer-1;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
&.alert {
|
|
98
|
+
.Counter {
|
|
99
|
+
color: var(--color-danger-fg);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
.menu-heading {
|
|
105
|
+
display: block;
|
|
106
|
+
padding: $spacer-2 $spacer-3;
|
|
107
|
+
margin-top: 0;
|
|
108
|
+
margin-bottom: 0;
|
|
109
|
+
font-size: inherit;
|
|
110
|
+
font-weight: $font-weight-bold;
|
|
111
|
+
color: var(--color-fg-default);
|
|
112
|
+
border-bottom: $border-width $border-style var(--color-border-muted);
|
|
113
|
+
|
|
114
|
+
&:hover {
|
|
115
|
+
text-decoration: none;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
&:first-child {
|
|
119
|
+
border-top-left-radius: $border-radius;
|
|
120
|
+
border-top-right-radius: $border-radius;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
&:last-child {
|
|
124
|
+
border-bottom: 0;
|
|
125
|
+
border-bottom-right-radius: $border-radius;
|
|
126
|
+
border-bottom-left-radius: $border-radius;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
|
2
|
+
|
|
3
|
+
exports[`<Menu /> Render must match regular() 1`] = `
|
|
4
|
+
<nav
|
|
5
|
+
aria-label="Person settings"
|
|
6
|
+
aria-labelledby="menu-heading"
|
|
7
|
+
className="menu"
|
|
8
|
+
>
|
|
9
|
+
<a
|
|
10
|
+
aria-current="page"
|
|
11
|
+
className="menu-item"
|
|
12
|
+
href="#url"
|
|
13
|
+
onClick={[Function]}
|
|
14
|
+
>
|
|
15
|
+
Account
|
|
16
|
+
</a>
|
|
17
|
+
<a
|
|
18
|
+
className="menu-item"
|
|
19
|
+
href="#url"
|
|
20
|
+
onClick={[Function]}
|
|
21
|
+
>
|
|
22
|
+
Profile
|
|
23
|
+
</a>
|
|
24
|
+
<a
|
|
25
|
+
className="menu-item"
|
|
26
|
+
href="#url"
|
|
27
|
+
onClick={[Function]}
|
|
28
|
+
>
|
|
29
|
+
Emails
|
|
30
|
+
</a>
|
|
31
|
+
<a
|
|
32
|
+
className="menu-item"
|
|
33
|
+
href="#url"
|
|
34
|
+
onClick={[Function]}
|
|
35
|
+
>
|
|
36
|
+
Notifications
|
|
37
|
+
</a>
|
|
38
|
+
</nav>
|
|
39
|
+
`;
|
|
40
|
+
|
|
41
|
+
exports[`<Menu /> Render must match withHeading() 1`] = `
|
|
42
|
+
<nav
|
|
43
|
+
aria-label="Person settings"
|
|
44
|
+
aria-labelledby="menu-heading"
|
|
45
|
+
className="menu"
|
|
46
|
+
>
|
|
47
|
+
<span
|
|
48
|
+
className="menu-heading"
|
|
49
|
+
>
|
|
50
|
+
Menu heading
|
|
51
|
+
</span>
|
|
52
|
+
<a
|
|
53
|
+
aria-current="page"
|
|
54
|
+
className="menu-item"
|
|
55
|
+
href="#url"
|
|
56
|
+
onClick={[Function]}
|
|
57
|
+
>
|
|
58
|
+
Account
|
|
59
|
+
</a>
|
|
60
|
+
<a
|
|
61
|
+
className="menu-item"
|
|
62
|
+
href="#url"
|
|
63
|
+
onClick={[Function]}
|
|
64
|
+
>
|
|
65
|
+
Profile
|
|
66
|
+
</a>
|
|
67
|
+
<a
|
|
68
|
+
className="menu-item"
|
|
69
|
+
href="#url"
|
|
70
|
+
onClick={[Function]}
|
|
71
|
+
>
|
|
72
|
+
Emails
|
|
73
|
+
</a>
|
|
74
|
+
<a
|
|
75
|
+
className="menu-item"
|
|
76
|
+
href="#url"
|
|
77
|
+
onClick={[Function]}
|
|
78
|
+
>
|
|
79
|
+
Notifications
|
|
80
|
+
</a>
|
|
81
|
+
</nav>
|
|
82
|
+
`;
|
|
83
|
+
|
|
84
|
+
exports[`<Menu /> Render must match withIcons() 1`] = `
|
|
85
|
+
<nav
|
|
86
|
+
aria-label="Person settings"
|
|
87
|
+
aria-labelledby="menu-heading"
|
|
88
|
+
className="menu"
|
|
89
|
+
>
|
|
90
|
+
<a
|
|
91
|
+
aria-current="page"
|
|
92
|
+
className="menu-item"
|
|
93
|
+
href="#url"
|
|
94
|
+
onClick={[Function]}
|
|
95
|
+
>
|
|
96
|
+
Account
|
|
97
|
+
</a>
|
|
98
|
+
<a
|
|
99
|
+
className="menu-item"
|
|
100
|
+
href="#url"
|
|
101
|
+
onClick={[Function]}
|
|
102
|
+
>
|
|
103
|
+
Profile
|
|
104
|
+
</a>
|
|
105
|
+
<a
|
|
106
|
+
className="menu-item"
|
|
107
|
+
href="#url"
|
|
108
|
+
onClick={[Function]}
|
|
109
|
+
>
|
|
110
|
+
Emails
|
|
111
|
+
</a>
|
|
112
|
+
<a
|
|
113
|
+
className="menu-item"
|
|
114
|
+
href="#url"
|
|
115
|
+
onClick={[Function]}
|
|
116
|
+
>
|
|
117
|
+
Notifications
|
|
118
|
+
</a>
|
|
119
|
+
</nav>
|
|
120
|
+
`;
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.TabNav = TabNav;
|
|
9
|
+
|
|
10
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
+
|
|
12
|
+
var _react = require("react");
|
|
13
|
+
|
|
14
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
15
|
+
|
|
16
|
+
var _uuid = require("uuid");
|
|
17
|
+
|
|
18
|
+
var _array = require("@papillonbits/library/array");
|
|
19
|
+
|
|
20
|
+
var _TabNav = require("./TabNav.prop");
|
|
21
|
+
|
|
22
|
+
var _TabNav2 = _interopRequireDefault(require("./TabNav.scss"));
|
|
23
|
+
|
|
24
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
25
|
+
|
|
26
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
27
|
+
|
|
28
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
29
|
+
|
|
30
|
+
function TabNav(_ref) {
|
|
31
|
+
var className = _ref.className,
|
|
32
|
+
ariaAttr = _ref.ariaAttr,
|
|
33
|
+
items = _ref.items,
|
|
34
|
+
actions = _ref.actions,
|
|
35
|
+
_onClick = _ref.onClick,
|
|
36
|
+
children = _ref.children,
|
|
37
|
+
state = _ref.state;
|
|
38
|
+
|
|
39
|
+
if (!items) {
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
var label = ariaAttr.label,
|
|
44
|
+
current = ariaAttr.current;
|
|
45
|
+
var indexItems = (0, _array.getIndexItems)(items);
|
|
46
|
+
|
|
47
|
+
function renderActions() {
|
|
48
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_react.Fragment, {
|
|
49
|
+
children: actions
|
|
50
|
+
}); // eslint-disable-line react/jsx-no-useless-fragment
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
54
|
+
className: (0, _classnames["default"])(className, _TabNav2["default"].tabnav, (0, _defineProperty2["default"])({}, _TabNav2["default"]['tabnav-inactive'], state === _TabNav.tabNavState.inactive)),
|
|
55
|
+
children: [actions && renderActions(), /*#__PURE__*/(0, _jsxRuntime.jsx)("nav", {
|
|
56
|
+
className: _TabNav2["default"]['tabnav-tabs'],
|
|
57
|
+
"aria-label": label,
|
|
58
|
+
children: indexItems.map(function (indexItem) {
|
|
59
|
+
var href = indexItem.href,
|
|
60
|
+
text = indexItem.text,
|
|
61
|
+
link = indexItem.link,
|
|
62
|
+
isSelected = indexItem.isSelected,
|
|
63
|
+
enabled = indexItem.enabled,
|
|
64
|
+
visible = indexItem.visible;
|
|
65
|
+
var itemOtherProps = isSelected ? _objectSpread({}, {
|
|
66
|
+
'aria-current': current
|
|
67
|
+
}) : null;
|
|
68
|
+
|
|
69
|
+
if (href && text) {
|
|
70
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)("a", _objectSpread(_objectSpread({
|
|
71
|
+
onClick: function onClick() {
|
|
72
|
+
if (!enabled) {
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
var newIndexItems = (0, _array.getIndexItemsWithSelected)(indexItems, indexItem);
|
|
77
|
+
|
|
78
|
+
_onClick({
|
|
79
|
+
ariaAttr: ariaAttr,
|
|
80
|
+
items: newIndexItems.map(function (newIndexItem) {
|
|
81
|
+
return function (_ref2) {
|
|
82
|
+
var href = _ref2.href,
|
|
83
|
+
text = _ref2.text,
|
|
84
|
+
isSelected = _ref2.isSelected;
|
|
85
|
+
return {
|
|
86
|
+
href: href,
|
|
87
|
+
text: text,
|
|
88
|
+
isSelected: isSelected,
|
|
89
|
+
enabled: enabled,
|
|
90
|
+
visible: visible
|
|
91
|
+
};
|
|
92
|
+
}(newIndexItem);
|
|
93
|
+
} // eslint-disable-line
|
|
94
|
+
)
|
|
95
|
+
});
|
|
96
|
+
},
|
|
97
|
+
className: _TabNav2["default"]['tabnav-tab'],
|
|
98
|
+
href: href
|
|
99
|
+
}, itemOtherProps), {}, {
|
|
100
|
+
children: text
|
|
101
|
+
}), (0, _uuid.v1)());
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
if (link) {
|
|
105
|
+
var _cx2;
|
|
106
|
+
|
|
107
|
+
var Link = link.component;
|
|
108
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(Link, _objectSpread(_objectSpread(_objectSpread({
|
|
109
|
+
onClick: function onClick() {
|
|
110
|
+
if (!enabled) {
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
var newIndexItems = (0, _array.getIndexItemsWithSelected)(indexItems, indexItem);
|
|
115
|
+
|
|
116
|
+
_onClick({
|
|
117
|
+
ariaAttr: ariaAttr,
|
|
118
|
+
items: newIndexItems.map(function (newIndexItem) {
|
|
119
|
+
return function (_ref3) {
|
|
120
|
+
var link = _ref3.link,
|
|
121
|
+
isSelected = _ref3.isSelected,
|
|
122
|
+
enabled = _ref3.enabled,
|
|
123
|
+
visible = _ref3.visible;
|
|
124
|
+
return {
|
|
125
|
+
link: link,
|
|
126
|
+
isSelected: isSelected,
|
|
127
|
+
enabled: enabled,
|
|
128
|
+
visible: visible
|
|
129
|
+
};
|
|
130
|
+
}(newIndexItem);
|
|
131
|
+
} // eslint-disable-line
|
|
132
|
+
)
|
|
133
|
+
});
|
|
134
|
+
},
|
|
135
|
+
className: (0, _classnames["default"])(className, _TabNav2["default"]['tabnav-tab'], (_cx2 = {}, (0, _defineProperty2["default"])(_cx2, _TabNav2["default"]['tabnav-tab-inactive'], enabled === false), (0, _defineProperty2["default"])(_cx2, _TabNav2["default"]['tabnav-tab-hidden'], visible === false), _cx2))
|
|
136
|
+
}, itemOtherProps), link.props), {}, {
|
|
137
|
+
children: link.children
|
|
138
|
+
}), (0, _uuid.v1)());
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
return null;
|
|
142
|
+
})
|
|
143
|
+
}), children]
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
TabNav.propTypes = _TabNav.propTypes;
|
|
148
|
+
TabNav.defaultProps = _TabNav.defaultProps;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# TabNav
|
|
2
|
+
|
|
3
|
+
> When you need to toggle between different views, consider using a tabnav. It'll give you a left-aligned horizontal row of tabs.
|
|
4
|
+
|
|
5
|
+
# Variants
|
|
6
|
+
|
|
7
|
+
> - Default
|
|
8
|
+
> - WithButtonActions, WithTextActions, WithLinkActions
|
|
9
|
+
> - WithNavigation, WithMixedEnabledVisibleItems
|
|
10
|
+
> - Inactive
|
|
11
|
+
|
|
12
|
+
## Default
|
|
13
|
+
|
|
14
|
+
```jsx
|
|
15
|
+
<TabNav ariaAttr={ariaAttr} items={defaultItems} onClick={action('onClick')} />
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## WithButtonActions
|
|
19
|
+
|
|
20
|
+
```jsx
|
|
21
|
+
<TabNav ariaAttr={ariaAttr} items={defaultItems} actions={buttonActions} onClick={action('onClick')} />
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## WithTextActions
|
|
25
|
+
|
|
26
|
+
```jsx
|
|
27
|
+
<TabNav ariaAttr={ariaAttr} items={defaultItems} actions={textActions} onClick={action('onClick')} />
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## WithLinkActions
|
|
31
|
+
|
|
32
|
+
```jsx
|
|
33
|
+
<TabNav ariaAttr={ariaAttr} items={defaultItems} actions={linkActions} onClick={action('onClick')} />
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## WithNavigation
|
|
37
|
+
|
|
38
|
+
```jsx
|
|
39
|
+
<BrowserRouter>
|
|
40
|
+
<TabNav ariaAttr={ariaAttr} items={navigationItems} onClick={action('onClick')} />
|
|
41
|
+
</BrowserRouter>
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## WithMixedEnabledVisibleItems
|
|
45
|
+
|
|
46
|
+
```jsx
|
|
47
|
+
<BrowserRouter>
|
|
48
|
+
<TabNav ariaAttr={ariaAttr} items={mixedEnabledVisibleItems} onClick={action('onClick')} />
|
|
49
|
+
</BrowserRouter>
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## Inactive
|
|
53
|
+
|
|
54
|
+
```jsx
|
|
55
|
+
<TabNav ariaAttr={ariaAttr} items={defaultItems} onClick={action('onClick')} state={tabNavState.inactive} />
|
|
56
|
+
```
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.tabNavState = exports.propTypes = exports.defaultProps = void 0;
|
|
7
|
+
|
|
8
|
+
var _propTypes = require("prop-types");
|
|
9
|
+
|
|
10
|
+
var tabNavState = {
|
|
11
|
+
active: 'active',
|
|
12
|
+
inactive: 'inactive'
|
|
13
|
+
};
|
|
14
|
+
exports.tabNavState = tabNavState;
|
|
15
|
+
var propTypes = {
|
|
16
|
+
className: _propTypes.string,
|
|
17
|
+
ariaAttr: (0, _propTypes.shape)({
|
|
18
|
+
label: _propTypes.string,
|
|
19
|
+
current: _propTypes.string
|
|
20
|
+
}).isRequired,
|
|
21
|
+
items: (0, _propTypes.arrayOf)((0, _propTypes.shape)({
|
|
22
|
+
href: _propTypes.string,
|
|
23
|
+
text: _propTypes.string,
|
|
24
|
+
link: _propTypes.shape,
|
|
25
|
+
isSelected: _propTypes.bool,
|
|
26
|
+
enabled: _propTypes.bool,
|
|
27
|
+
visible: _propTypes.bool
|
|
28
|
+
})).isRequired,
|
|
29
|
+
actions: (0, _propTypes.arrayOf)(_propTypes.node),
|
|
30
|
+
onClick: _propTypes.func.isRequired,
|
|
31
|
+
children: _propTypes.node,
|
|
32
|
+
state: (0, _propTypes.oneOf)(Object.keys(tabNavState))
|
|
33
|
+
};
|
|
34
|
+
exports.propTypes = propTypes;
|
|
35
|
+
var defaultProps = {
|
|
36
|
+
className: null,
|
|
37
|
+
actions: null,
|
|
38
|
+
children: null,
|
|
39
|
+
state: tabNavState.active
|
|
40
|
+
};
|
|
41
|
+
exports.defaultProps = defaultProps;
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
@import '../../index.scss';
|
|
2
|
+
@import '../../../index.scss';
|
|
3
|
+
|
|
4
|
+
// Outer wrapper
|
|
5
|
+
// stylelint-disable no-descending-specificity
|
|
6
|
+
// stylelint-disable selector-max-type
|
|
7
|
+
.tabnav {
|
|
8
|
+
margin-top: 0;
|
|
9
|
+
margin-bottom: $spacer-3;
|
|
10
|
+
border-bottom: $border-width $border-style var(--color-border-default);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
.tabnav-tabs {
|
|
14
|
+
display: flex;
|
|
15
|
+
// stylelint-disable-next-line primer/spacing
|
|
16
|
+
margin-bottom: -1px;
|
|
17
|
+
overflow: auto;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.tabnav-tab {
|
|
21
|
+
display: inline-block;
|
|
22
|
+
flex-shrink: 0;
|
|
23
|
+
padding: $spacer-2 $spacer-3;
|
|
24
|
+
font-size: $h5-size;
|
|
25
|
+
// stylelint-disable-next-line primer/typography
|
|
26
|
+
line-height: 23px;
|
|
27
|
+
color: var(--color-fg-muted);
|
|
28
|
+
text-decoration: none;
|
|
29
|
+
background-color: transparent;
|
|
30
|
+
border: $border-width $border-style transparent;
|
|
31
|
+
border-bottom: 0;
|
|
32
|
+
transition: color 0.2s cubic-bezier(0.3, 0, 0.5, 1);
|
|
33
|
+
|
|
34
|
+
&.selected,
|
|
35
|
+
&[aria-selected='true'],
|
|
36
|
+
&[aria-current]:not([aria-current='false']) {
|
|
37
|
+
color: var(--color-fg-default);
|
|
38
|
+
background-color: var(--color-canvas-default); // cover bottom border
|
|
39
|
+
border-color: var(--color-border-default);
|
|
40
|
+
border-radius: $border-radius $border-radius 0 0;
|
|
41
|
+
|
|
42
|
+
.octicon {
|
|
43
|
+
color: inherit;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
&:hover,
|
|
48
|
+
&:focus {
|
|
49
|
+
color: var(--color-fg-default);
|
|
50
|
+
text-decoration: none;
|
|
51
|
+
transition-duration: 0.1s;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
&:active {
|
|
55
|
+
color: var(--color-fg-muted);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
.octicon {
|
|
59
|
+
margin-right: $spacer-1;
|
|
60
|
+
color: var(--color-fg-muted);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
.Counter {
|
|
64
|
+
margin-left: $spacer-1;
|
|
65
|
+
color: inherit;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
// Tabnav extras
|
|
70
|
+
//
|
|
71
|
+
// Tabnav extras are non-tab elements that sit in the tabnav. Usually they're
|
|
72
|
+
// inline text or links.
|
|
73
|
+
|
|
74
|
+
.tabnav-extra {
|
|
75
|
+
display: inline-block;
|
|
76
|
+
// stylelint-disable-next-line primer/spacing
|
|
77
|
+
padding-top: 10px;
|
|
78
|
+
// stylelint-disable-next-line primer/spacing
|
|
79
|
+
margin-left: 10px;
|
|
80
|
+
font-size: $font-size-small;
|
|
81
|
+
color: var(--color-fg-muted);
|
|
82
|
+
|
|
83
|
+
> .octicon {
|
|
84
|
+
// stylelint-disable-next-line primer/spacing
|
|
85
|
+
margin-right: 2px;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
// When tabnav-extra are anchors
|
|
90
|
+
// stylelint-disable-next-line selector-no-qualifying-type
|
|
91
|
+
a.tabnav-extra:hover {
|
|
92
|
+
color: var(--color-accent-fg);
|
|
93
|
+
text-decoration: none;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
// Tabnav buttons
|
|
97
|
+
//
|
|
98
|
+
// For when there are multiple buttons, space them out appropriately. Requires
|
|
99
|
+
// the buttons to be floated or inline-block.
|
|
100
|
+
|
|
101
|
+
.tabnav-btn {
|
|
102
|
+
margin-left: $spacer-2;
|
|
103
|
+
}
|