@yourdash/uikit 1.0.0 → 1.0.2
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +2 -2
- package/components/box/box.module.scss +21 -21
- package/components/box/box.tsx +22 -22
- package/components/button/button.module.scss +46 -47
- package/components/button/button.tsx +24 -23
- package/components/buttonLink/buttonLink.module.scss +51 -47
- package/components/buttonLink/buttonLink.tsx +27 -26
- package/components/buttonWithIcon/buttonWithIcon.module.scss +56 -0
- package/components/buttonWithIcon/buttonWithIcon.tsx +36 -0
- package/components/card/card.module.scss +78 -78
- package/components/card/card.tsx +64 -61
- package/components/container/container.module.scss +20 -0
- package/components/container/container.tsx +22 -0
- package/components/contextMenu/contextMenu.tsx +55 -55
- package/components/contextMenu/contextMenuRoot.module.scss +31 -31
- package/components/contextMenu/contextMenuRoot.tsx +4 -4
- package/components/contextMenu/contextMenuRootContext.tsx +22 -22
- package/components/flex/flex.module.scss +12 -0
- package/components/flex/flex.tsx +34 -13
- package/components/heading/heading.module.scss +41 -41
- package/components/heading/heading.tsx +27 -27
- package/components/icon/icon.module.scss +26 -26
- package/components/icon/icon.tsx +30 -30
- package/components/icon/iconDictionary.ts +573 -573
- package/components/icon/icons/accessibility-16.svg +8 -8
- package/components/icon/icons/accessibility-inset-16.svg +8 -8
- package/components/icon/icons/alert-16.svg +8 -8
- package/components/icon/icons/alert-24.svg +9 -9
- package/components/icon/icons/alert-fill-12.svg +8 -8
- package/components/icon/icons/app-launcher-16.svg +11 -11
- package/components/icon/icons/apps-16.svg +8 -8
- package/components/icon/icons/archive-16.svg +8 -8
- package/components/icon/icons/archive-24.svg +11 -11
- package/components/icon/icons/arrow-both-16.svg +8 -8
- package/components/icon/icons/arrow-both-24.svg +5 -5
- package/components/icon/icons/arrow-down-16.svg +8 -8
- package/components/icon/icons/arrow-down-24.svg +8 -8
- package/components/icon/icons/arrow-down-left-24.svg +8 -8
- package/components/icon/icons/arrow-down-right-24.svg +8 -8
- package/components/icon/icons/arrow-left-16.svg +8 -8
- package/components/icon/icons/arrow-left-24.svg +8 -8
- package/components/icon/icons/arrow-right-16.svg +8 -8
- package/components/icon/icons/arrow-right-24.svg +8 -8
- package/components/icon/icons/arrow-switch-16.svg +5 -5
- package/components/icon/icons/arrow-switch-24.svg +5 -5
- package/components/icon/icons/arrow-up-16.svg +8 -8
- package/components/icon/icons/arrow-up-24.svg +8 -8
- package/components/icon/icons/arrow-up-left-24.svg +8 -8
- package/components/icon/icons/arrow-up-right-24.svg +8 -8
- package/components/icon/icons/beaker-16.svg +8 -8
- package/components/icon/icons/beaker-24.svg +8 -8
- package/components/icon/icons/bell-16.svg +9 -9
- package/components/icon/icons/bell-24.svg +8 -8
- package/components/icon/icons/bell-fill-16.svg +5 -5
- package/components/icon/icons/bell-fill-24.svg +8 -8
- package/components/icon/icons/bell-slash-16.svg +8 -8
- package/components/icon/icons/bell-slash-24.svg +10 -10
- package/components/icon/icons/blocked-16.svg +8 -8
- package/components/icon/icons/blocked-24.svg +8 -8
- package/components/icon/icons/bold-16.svg +8 -8
- package/components/icon/icons/bold-24.svg +8 -8
- package/components/icon/icons/book-16.svg +8 -8
- package/components/icon/icons/book-24.svg +8 -8
- package/components/icon/icons/bookmark-16.svg +8 -8
- package/components/icon/icons/bookmark-24.svg +8 -8
- package/components/icon/icons/bookmark-fill-24.svg +8 -8
- package/components/icon/icons/bookmark-slash-16.svg +8 -8
- package/components/icon/icons/bookmark-slash-24.svg +9 -9
- package/components/icon/icons/bookmark-slash-fill-24.svg +8 -8
- package/components/icon/icons/briefcase-16.svg +8 -8
- package/components/icon/icons/briefcase-24.svg +8 -8
- package/components/icon/icons/broadcast-16.svg +8 -8
- package/components/icon/icons/broadcast-24.svg +5 -5
- package/components/icon/icons/browser-16.svg +8 -8
- package/components/icon/icons/browser-24.svg +8 -8
- package/components/icon/icons/bug-16.svg +8 -8
- package/components/icon/icons/bug-24.svg +8 -8
- package/components/icon/icons/cache-16.svg +10 -10
- package/components/icon/icons/calendar-16.svg +8 -8
- package/components/icon/icons/calendar-24.svg +8 -8
- package/components/icon/icons/check-16.svg +8 -8
- package/components/icon/icons/check-24.svg +8 -8
- package/components/icon/icons/check-circle-16.svg +8 -8
- package/components/icon/icons/check-circle-24.svg +9 -9
- package/components/icon/icons/check-circle-fill-12.svg +8 -8
- package/components/icon/icons/check-circle-fill-16.svg +8 -8
- package/components/icon/icons/check-circle-fill-24.svg +8 -8
- package/components/icon/icons/checkbox-16.svg +8 -8
- package/components/icon/icons/checkbox-24.svg +9 -9
- package/components/icon/icons/checklist-16.svg +8 -8
- package/components/icon/icons/checklist-24.svg +5 -5
- package/components/icon/icons/chevron-down-16.svg +8 -8
- package/components/icon/icons/chevron-down-24.svg +8 -8
- package/components/icon/icons/chevron-left-16.svg +8 -8
- package/components/icon/icons/chevron-left-24.svg +8 -8
- package/components/icon/icons/chevron-right-16.svg +8 -8
- package/components/icon/icons/chevron-right-24.svg +8 -8
- package/components/icon/icons/chevron-up-16.svg +8 -8
- package/components/icon/icons/chevron-up-24.svg +8 -8
- package/components/icon/icons/circle-16.svg +7 -7
- package/components/icon/icons/circle-24.svg +8 -8
- package/components/icon/icons/circle-slash-16.svg +8 -8
- package/components/icon/icons/circle-slash-24.svg +8 -8
- package/components/icon/icons/clock-16.svg +8 -8
- package/components/icon/icons/clock-24.svg +9 -9
- package/components/icon/icons/cloud-16.svg +8 -8
- package/components/icon/icons/cloud-24.svg +8 -8
- package/components/icon/icons/cloud-offline-16.svg +10 -10
- package/components/icon/icons/cloud-offline-24.svg +10 -10
- package/components/icon/icons/code-16.svg +8 -8
- package/components/icon/icons/code-24.svg +8 -8
- package/components/icon/icons/code-of-conduct-16.svg +8 -8
- package/components/icon/icons/code-of-conduct-24.svg +8 -8
- package/components/icon/icons/code-review-16.svg +8 -8
- package/components/icon/icons/code-review-24.svg +10 -10
- package/components/icon/icons/code-square-16.svg +8 -8
- package/components/icon/icons/code-square-24.svg +10 -10
- package/components/icon/icons/codescan-16.svg +10 -10
- package/components/icon/icons/codescan-24.svg +10 -10
- package/components/icon/icons/codescan-checkmark-16.svg +9 -9
- package/components/icon/icons/codescan-checkmark-24.svg +9 -9
- package/components/icon/icons/codespaces-16.svg +10 -10
- package/components/icon/icons/codespaces-24.svg +10 -10
- package/components/icon/icons/columns-16.svg +8 -8
- package/components/icon/icons/columns-24.svg +8 -8
- package/components/icon/icons/command-palette-16.svg +5 -5
- package/components/icon/icons/command-palette-24.svg +5 -5
- package/components/icon/icons/comment-16.svg +8 -8
- package/components/icon/icons/comment-24.svg +8 -8
- package/components/icon/icons/comment-discussion-16.svg +8 -8
- package/components/icon/icons/comment-discussion-24.svg +10 -10
- package/components/icon/icons/commit-24.svg +9 -9
- package/components/icon/icons/container-16.svg +8 -8
- package/components/icon/icons/container-24.svg +8 -8
- package/components/icon/icons/copilot-16.svg +9 -9
- package/components/icon/icons/copilot-24.svg +9 -9
- package/components/icon/icons/copilot-48.svg +9 -9
- package/components/icon/icons/copilot-96.svg +9 -9
- package/components/icon/icons/copilot-error-16.svg +8 -8
- package/components/icon/icons/copilot-warning-16.svg +10 -10
- package/components/icon/icons/copy-16.svg +10 -10
- package/components/icon/icons/copy-24.svg +10 -10
- package/components/icon/icons/cpu-16.svg +8 -8
- package/components/icon/icons/cpu-24.svg +10 -10
- package/components/icon/icons/credit-card-16.svg +9 -9
- package/components/icon/icons/credit-card-24.svg +9 -9
- package/components/icon/icons/cross-reference-16.svg +8 -8
- package/components/icon/icons/cross-reference-24.svg +5 -5
- package/components/icon/icons/dash-16.svg +7 -7
- package/components/icon/icons/dash-24.svg +7 -7
- package/components/icon/icons/database-16.svg +8 -8
- package/components/icon/icons/database-24.svg +8 -8
- package/components/icon/icons/dependabot-16.svg +9 -9
- package/components/icon/icons/dependabot-24.svg +9 -9
- package/components/icon/icons/desktop-download-16.svg +5 -5
- package/components/icon/icons/desktop-download-24.svg +10 -10
- package/components/icon/icons/device-camera-16.svg +8 -8
- package/components/icon/icons/device-camera-video-16.svg +8 -8
- package/components/icon/icons/device-camera-video-24.svg +8 -8
- package/components/icon/icons/device-desktop-16.svg +8 -8
- package/components/icon/icons/device-desktop-24.svg +8 -8
- package/components/icon/icons/device-mobile-16.svg +8 -8
- package/components/icon/icons/device-mobile-24.svg +9 -9
- package/components/icon/icons/diamond-16.svg +8 -8
- package/components/icon/icons/diamond-24.svg +8 -8
- package/components/icon/icons/diff-16.svg +8 -8
- package/components/icon/icons/diff-24.svg +8 -8
- package/components/icon/icons/diff-added-16.svg +8 -8
- package/components/icon/icons/diff-ignored-16.svg +8 -8
- package/components/icon/icons/diff-modified-16.svg +8 -8
- package/components/icon/icons/diff-removed-16.svg +8 -8
- package/components/icon/icons/diff-renamed-16.svg +8 -8
- package/components/icon/icons/dot-16.svg +7 -7
- package/components/icon/icons/dot-24.svg +7 -7
- package/components/icon/icons/dot-fill-16.svg +7 -7
- package/components/icon/icons/dot-fill-24.svg +5 -5
- package/components/icon/icons/download-16.svg +8 -8
- package/components/icon/icons/download-24.svg +5 -5
- package/components/icon/icons/duplicate-16.svg +11 -11
- package/components/icon/icons/duplicate-24.svg +11 -11
- package/components/icon/icons/ellipsis-16.svg +8 -8
- package/components/icon/icons/ewsgit.svg +14 -14
- package/components/icon/icons/eye-16.svg +8 -8
- package/components/icon/icons/eye-24.svg +9 -9
- package/components/icon/icons/eye-closed-16.svg +8 -8
- package/components/icon/icons/eye-closed-24.svg +10 -10
- package/components/icon/icons/feed-discussion-16.svg +8 -8
- package/components/icon/icons/feed-forked-16.svg +8 -8
- package/components/icon/icons/feed-heart-16.svg +8 -8
- package/components/icon/icons/feed-merged-16.svg +8 -8
- package/components/icon/icons/feed-person-16.svg +8 -8
- package/components/icon/icons/feed-repo-16.svg +8 -8
- package/components/icon/icons/feed-rocket-16.svg +8 -8
- package/components/icon/icons/feed-star-16.svg +8 -8
- package/components/icon/icons/feed-tag-16.svg +9 -9
- package/components/icon/icons/feed-trophy-16.svg +9 -9
- package/components/icon/icons/file-16.svg +8 -8
- package/components/icon/icons/file-24.svg +8 -8
- package/components/icon/icons/file-added-16.svg +8 -8
- package/components/icon/icons/file-badge-16.svg +10 -10
- package/components/icon/icons/file-binary-16.svg +8 -8
- package/components/icon/icons/file-binary-24.svg +11 -11
- package/components/icon/icons/file-code-16.svg +8 -8
- package/components/icon/icons/file-code-24.svg +10 -10
- package/components/icon/icons/file-diff-16.svg +8 -8
- package/components/icon/icons/file-diff-24.svg +10 -10
- package/components/icon/icons/file-directory-16.svg +8 -8
- package/components/icon/icons/file-directory-24.svg +8 -8
- package/components/icon/icons/file-directory-fill-16.svg +5 -5
- package/components/icon/icons/file-directory-fill-24.svg +8 -8
- package/components/icon/icons/file-directory-open-fill-16.svg +5 -5
- package/components/icon/icons/file-media-24.svg +8 -8
- package/components/icon/icons/file-moved-16.svg +5 -5
- package/components/icon/icons/file-removed-16.svg +8 -8
- package/components/icon/icons/file-submodule-16.svg +8 -8
- package/components/icon/icons/file-submodule-24.svg +8 -8
- package/components/icon/icons/file-symlink-file-16.svg +8 -8
- package/components/icon/icons/file-symlink-file-24.svg +8 -8
- package/components/icon/icons/file-zip-16.svg +8 -8
- package/components/icon/icons/file-zip-24.svg +12 -12
- package/components/icon/icons/filter-16.svg +8 -8
- package/components/icon/icons/filter-24.svg +5 -5
- package/components/icon/icons/flame-16.svg +8 -8
- package/components/icon/icons/flame-24.svg +8 -8
- package/components/icon/icons/fold-16.svg +5 -5
- package/components/icon/icons/fold-24.svg +12 -12
- package/components/icon/icons/fold-down-16.svg +5 -5
- package/components/icon/icons/fold-down-24.svg +10 -10
- package/components/icon/icons/fold-up-16.svg +5 -5
- package/components/icon/icons/fold-up-24.svg +10 -10
- package/components/icon/icons/gear-16.svg +8 -8
- package/components/icon/icons/gear-24.svg +9 -9
- package/components/icon/icons/gift-16.svg +8 -8
- package/components/icon/icons/gift-24.svg +8 -8
- package/components/icon/icons/git-branch-16.svg +8 -8
- package/components/icon/icons/git-branch-24.svg +11 -11
- package/components/icon/icons/git-commit-16.svg +8 -8
- package/components/icon/icons/git-commit-24.svg +8 -8
- package/components/icon/icons/git-compare-16.svg +8 -8
- package/components/icon/icons/git-compare-24.svg +11 -11
- package/components/icon/icons/git-merge-16.svg +8 -8
- package/components/icon/icons/git-merge-24.svg +10 -10
- package/components/icon/icons/git-merge-queue-16.svg +10 -10
- package/components/icon/icons/git-pull-request-16.svg +8 -8
- package/components/icon/icons/git-pull-request-24.svg +10 -10
- package/components/icon/icons/git-pull-request-closed-16.svg +8 -8
- package/components/icon/icons/git-pull-request-closed-24.svg +10 -10
- package/components/icon/icons/git-pull-request-draft-16.svg +9 -9
- package/components/icon/icons/git-pull-request-draft-24.svg +9 -9
- package/components/icon/icons/globe-16.svg +8 -8
- package/components/icon/icons/globe-24.svg +8 -8
- package/components/icon/icons/grabber-16.svg +8 -8
- package/components/icon/icons/grabber-24.svg +8 -8
- package/components/icon/icons/graph-16.svg +8 -8
- package/components/icon/icons/graph-24.svg +5 -5
- package/components/icon/icons/hash-16.svg +8 -8
- package/components/icon/icons/hash-24.svg +8 -8
- package/components/icon/icons/heading-16.svg +8 -8
- package/components/icon/icons/heading-24.svg +8 -8
- package/components/icon/icons/heart-16.svg +8 -8
- package/components/icon/icons/heart-24.svg +8 -8
- package/components/icon/icons/heart-fill-16.svg +8 -8
- package/components/icon/icons/heart-fill-24.svg +5 -5
- package/components/icon/icons/history-16.svg +8 -8
- package/components/icon/icons/history-24.svg +5 -5
- package/components/icon/icons/home-16.svg +5 -5
- package/components/icon/icons/home-24.svg +8 -8
- package/components/icon/icons/home-fill-24.svg +5 -5
- package/components/icon/icons/horizontal-rule-16.svg +7 -7
- package/components/icon/icons/horizontal-rule-24.svg +7 -7
- package/components/icon/icons/hourglass-16.svg +8 -8
- package/components/icon/icons/hourglass-24.svg +8 -8
- package/components/icon/icons/hubot-16.svg +8 -8
- package/components/icon/icons/hubot-24.svg +10 -10
- package/components/icon/icons/id-badge-16.svg +10 -10
- package/components/icon/icons/image-16.svg +8 -8
- package/components/icon/icons/image-24.svg +8 -8
- package/components/icon/icons/inbox-16.svg +8 -8
- package/components/icon/icons/inbox-24.svg +8 -8
- package/components/icon/icons/infinity-16.svg +8 -8
- package/components/icon/icons/infinity-24.svg +8 -8
- package/components/icon/icons/info-16.svg +8 -8
- package/components/icon/icons/info-24.svg +10 -10
- package/components/icon/icons/issue-closed-16.svg +8 -8
- package/components/icon/icons/issue-closed-24.svg +9 -9
- package/components/icon/icons/issue-draft-16.svg +8 -8
- package/components/icon/icons/issue-draft-24.svg +8 -8
- package/components/icon/icons/issue-opened-16.svg +8 -8
- package/components/icon/icons/issue-opened-24.svg +8 -8
- package/components/icon/icons/issue-reopened-16.svg +5 -5
- package/components/icon/icons/issue-reopened-24.svg +5 -5
- package/components/icon/icons/italic-16.svg +8 -8
- package/components/icon/icons/italic-24.svg +8 -8
- package/components/icon/icons/iterations-16.svg +5 -5
- package/components/icon/icons/iterations-24.svg +5 -5
- package/components/icon/icons/kebab-horizontal-16.svg +5 -5
- package/components/icon/icons/kebab-horizontal-24.svg +7 -7
- package/components/icon/icons/key-16.svg +8 -8
- package/components/icon/icons/key-24.svg +9 -9
- package/components/icon/icons/key-asterisk-16.svg +10 -10
- package/components/icon/icons/law-16.svg +8 -8
- package/components/icon/icons/law-24.svg +8 -8
- package/components/icon/icons/light-bulb-16.svg +8 -8
- package/components/icon/icons/light-bulb-24.svg +8 -8
- package/components/icon/icons/link-16.svg +8 -8
- package/components/icon/icons/link-24.svg +5 -5
- package/components/icon/icons/link-external-16.svg +8 -8
- package/components/icon/icons/link-external-24.svg +5 -5
- package/components/icon/icons/list-ordered-16.svg +8 -8
- package/components/icon/icons/list-ordered-24.svg +5 -5
- package/components/icon/icons/list-unordered-16.svg +8 -8
- package/components/icon/icons/list-unordered-24.svg +8 -8
- package/components/icon/icons/location-16.svg +8 -8
- package/components/icon/icons/location-24.svg +9 -9
- package/components/icon/icons/lock-16.svg +8 -8
- package/components/icon/icons/lock-24.svg +8 -8
- package/components/icon/icons/log-16.svg +9 -9
- package/components/icon/icons/login.svg +9 -9
- package/components/icon/icons/logo-gist-16.svg +8 -8
- package/components/icon/icons/logo-github-16.svg +8 -8
- package/components/icon/icons/logout.svg +9 -9
- package/components/icon/icons/mail-16.svg +8 -8
- package/components/icon/icons/mail-24.svg +8 -8
- package/components/icon/icons/mark-github-16.svg +8 -8
- package/components/icon/icons/markdown-16.svg +8 -8
- package/components/icon/icons/megaphone-16.svg +13 -13
- package/components/icon/icons/megaphone-24.svg +8 -8
- package/components/icon/icons/mention-16.svg +8 -8
- package/components/icon/icons/mention-24.svg +8 -8
- package/components/icon/icons/meter-16.svg +8 -8
- package/components/icon/icons/milestone-16.svg +8 -8
- package/components/icon/icons/milestone-24.svg +8 -8
- package/components/icon/icons/mirror-16.svg +8 -8
- package/components/icon/icons/mirror-24.svg +8 -8
- package/components/icon/icons/moon-16.svg +8 -8
- package/components/icon/icons/moon-24.svg +8 -8
- package/components/icon/icons/mortar-board-16.svg +8 -8
- package/components/icon/icons/mortar-board-24.svg +8 -8
- package/components/icon/icons/multi-select-16.svg +9 -9
- package/components/icon/icons/multi-select-24.svg +9 -9
- package/components/icon/icons/mute-16.svg +8 -8
- package/components/icon/icons/mute-24.svg +10 -10
- package/components/icon/icons/no-entry-16.svg +8 -8
- package/components/icon/icons/no-entry-24.svg +8 -8
- package/components/icon/icons/no-entry-fill-12.svg +7 -7
- package/components/icon/icons/north-star-16.svg +5 -5
- package/components/icon/icons/north-star-24.svg +5 -5
- package/components/icon/icons/note-16.svg +8 -8
- package/components/icon/icons/note-24.svg +10 -10
- package/components/icon/icons/number-16.svg +8 -8
- package/components/icon/icons/number-24.svg +8 -8
- package/components/icon/icons/organization-16.svg +8 -8
- package/components/icon/icons/organization-24.svg +10 -10
- package/components/icon/icons/package-16.svg +8 -8
- package/components/icon/icons/package-24.svg +8 -8
- package/components/icon/icons/package-dependencies-16.svg +8 -8
- package/components/icon/icons/package-dependencies-24.svg +10 -10
- package/components/icon/icons/package-dependents-16.svg +8 -8
- package/components/icon/icons/package-dependents-24.svg +10 -10
- package/components/icon/icons/paintbrush-16.svg +8 -8
- package/components/icon/icons/paper-airplane-16.svg +8 -8
- package/components/icon/icons/paper-airplane-24.svg +8 -8
- package/components/icon/icons/paperclip-16.svg +8 -8
- package/components/icon/icons/paperclip-24.svg +8 -8
- package/components/icon/icons/paste-16.svg +8 -8
- package/components/icon/icons/paste-24.svg +10 -10
- package/components/icon/icons/pencil-16.svg +8 -8
- package/components/icon/icons/pencil-24.svg +8 -8
- package/components/icon/icons/people-16.svg +8 -8
- package/components/icon/icons/people-24.svg +10 -10
- package/components/icon/icons/person-16.svg +8 -8
- package/components/icon/icons/person-24.svg +8 -8
- package/components/icon/icons/person-add-16.svg +8 -8
- package/components/icon/icons/person-add-24.svg +8 -8
- package/components/icon/icons/person-fill-16.svg +5 -5
- package/components/icon/icons/person-fill-24.svg +5 -5
- package/components/icon/icons/pin-16.svg +8 -8
- package/components/icon/icons/pin-24.svg +8 -8
- package/components/icon/icons/play-16.svg +8 -8
- package/components/icon/icons/play-24.svg +9 -9
- package/components/icon/icons/plug-16.svg +8 -8
- package/components/icon/icons/plug-24.svg +8 -8
- package/components/icon/icons/plus-16.svg +8 -8
- package/components/icon/icons/plus-24.svg +8 -8
- package/components/icon/icons/plus-circle-16.svg +8 -8
- package/components/icon/icons/plus-circle-24.svg +9 -9
- package/components/icon/icons/project-16.svg +8 -8
- package/components/icon/icons/project-24.svg +10 -10
- package/components/icon/icons/pulse-16.svg +8 -8
- package/components/icon/icons/pulse-24.svg +8 -8
- package/components/icon/icons/question-16.svg +8 -8
- package/components/icon/icons/question-24.svg +10 -10
- package/components/icon/icons/quote-16.svg +8 -8
- package/components/icon/icons/quote-24.svg +8 -8
- package/components/icon/icons/reply-16.svg +8 -8
- package/components/icon/icons/reply-24.svg +5 -5
- package/components/icon/icons/repo-16.svg +8 -8
- package/components/icon/icons/repo-24.svg +9 -9
- package/components/icon/icons/repo-clone-16.svg +8 -8
- package/components/icon/icons/repo-deleted-16.svg +5 -5
- package/components/icon/icons/repo-forked-16.svg +8 -8
- package/components/icon/icons/repo-forked-24.svg +11 -11
- package/components/icon/icons/repo-locked-16.svg +10 -10
- package/components/icon/icons/repo-locked-24.svg +10 -10
- package/components/icon/icons/repo-pull-16.svg +8 -8
- package/components/icon/icons/repo-push-16.svg +8 -8
- package/components/icon/icons/repo-push-24.svg +5 -5
- package/components/icon/icons/repo-template-16.svg +8 -8
- package/components/icon/icons/repo-template-24.svg +5 -5
- package/components/icon/icons/report-16.svg +8 -8
- package/components/icon/icons/report-24.svg +8 -8
- package/components/icon/icons/rocket-16.svg +8 -8
- package/components/icon/icons/rocket-24.svg +8 -8
- package/components/icon/icons/rows-16.svg +8 -8
- package/components/icon/icons/rows-24.svg +8 -8
- package/components/icon/icons/rss-16.svg +8 -8
- package/components/icon/icons/rss-24.svg +8 -8
- package/components/icon/icons/ruby-16.svg +8 -8
- package/components/icon/icons/ruby-24.svg +8 -8
- package/components/icon/icons/screen-full-16.svg +8 -8
- package/components/icon/icons/screen-full-24.svg +8 -8
- package/components/icon/icons/screen-normal-16.svg +8 -8
- package/components/icon/icons/screen-normal-24.svg +8 -8
- package/components/icon/icons/search-16.svg +8 -8
- package/components/icon/icons/search-24.svg +8 -8
- package/components/icon/icons/server-16.svg +8 -8
- package/components/icon/icons/server-24.svg +10 -10
- package/components/icon/icons/server-error.svg +8 -8
- package/components/icon/icons/share-16.svg +8 -8
- package/components/icon/icons/share-24.svg +8 -8
- package/components/icon/icons/share-android-16.svg +8 -8
- package/components/icon/icons/share-android-24.svg +8 -8
- package/components/icon/icons/shield-16.svg +8 -8
- package/components/icon/icons/shield-24.svg +9 -9
- package/components/icon/icons/shield-check-16.svg +8 -8
- package/components/icon/icons/shield-check-24.svg +9 -9
- package/components/icon/icons/shield-lock-16.svg +8 -8
- package/components/icon/icons/shield-lock-24.svg +8 -8
- package/components/icon/icons/shield-slash-16.svg +10 -10
- package/components/icon/icons/shield-x-16.svg +8 -8
- package/components/icon/icons/shield-x-24.svg +10 -10
- package/components/icon/icons/sidebar-collapse-16.svg +9 -9
- package/components/icon/icons/sidebar-collapse-24.svg +9 -9
- package/components/icon/icons/sidebar-expand-16.svg +9 -9
- package/components/icon/icons/sidebar-expand-24.svg +9 -9
- package/components/icon/icons/sign-in-16.svg +8 -8
- package/components/icon/icons/sign-in-24.svg +8 -8
- package/components/icon/icons/sign-out-16.svg +8 -8
- package/components/icon/icons/sign-out-24.svg +8 -8
- package/components/icon/icons/single-select-16.svg +9 -9
- package/components/icon/icons/single-select-24.svg +9 -9
- package/components/icon/icons/skip-16.svg +8 -8
- package/components/icon/icons/skip-24.svg +9 -9
- package/components/icon/icons/sliders-16.svg +5 -5
- package/components/icon/icons/smiley-16.svg +8 -8
- package/components/icon/icons/smiley-24.svg +11 -11
- package/components/icon/icons/sort-asc-16.svg +8 -8
- package/components/icon/icons/sort-asc-24.svg +5 -5
- package/components/icon/icons/sort-desc-16.svg +9 -9
- package/components/icon/icons/sort-desc-24.svg +5 -5
- package/components/icon/icons/square-16.svg +8 -8
- package/components/icon/icons/square-24.svg +8 -8
- package/components/icon/icons/square-fill-16.svg +8 -8
- package/components/icon/icons/square-fill-24.svg +8 -8
- package/components/icon/icons/squirrel-16.svg +8 -8
- package/components/icon/icons/squirrel-24.svg +5 -5
- package/components/icon/icons/stack-16.svg +8 -8
- package/components/icon/icons/stack-24.svg +12 -12
- package/components/icon/icons/star-16.svg +8 -8
- package/components/icon/icons/star-24.svg +8 -8
- package/components/icon/icons/star-fill-16.svg +8 -8
- package/components/icon/icons/star-fill-24.svg +8 -8
- package/components/icon/icons/stop-16.svg +8 -8
- package/components/icon/icons/stop-24.svg +9 -9
- package/components/icon/icons/stopwatch-16.svg +8 -8
- package/components/icon/icons/stopwatch-24.svg +8 -8
- package/components/icon/icons/store.svg +10 -10
- package/components/icon/icons/strikethrough-16.svg +8 -8
- package/components/icon/icons/strikethrough-24.svg +8 -8
- package/components/icon/icons/sun-16.svg +8 -8
- package/components/icon/icons/sun-24.svg +8 -8
- package/components/icon/icons/sync-16.svg +8 -8
- package/components/icon/icons/sync-24.svg +5 -5
- package/components/icon/icons/tab-24.svg +5 -5
- package/components/icon/icons/tab-external-16.svg +5 -5
- package/components/icon/icons/table-16.svg +8 -8
- package/components/icon/icons/table-24.svg +8 -8
- package/components/icon/icons/tag-16.svg +8 -8
- package/components/icon/icons/tag-24.svg +9 -9
- package/components/icon/icons/tasklist-16.svg +8 -8
- package/components/icon/icons/tasklist-24.svg +9 -9
- package/components/icon/icons/telescope-16.svg +8 -8
- package/components/icon/icons/telescope-24.svg +10 -10
- package/components/icon/icons/telescope-fill-16.svg +8 -8
- package/components/icon/icons/telescope-fill-24.svg +10 -10
- package/components/icon/icons/terminal-16.svg +8 -8
- package/components/icon/icons/terminal-24.svg +10 -10
- package/components/icon/icons/three-bars-16.svg +8 -8
- package/components/icon/icons/thumbsdown-16.svg +8 -8
- package/components/icon/icons/thumbsdown-24.svg +8 -8
- package/components/icon/icons/thumbsup-16.svg +8 -8
- package/components/icon/icons/thumbsup-24.svg +8 -8
- package/components/icon/icons/tools-16.svg +8 -8
- package/components/icon/icons/tools-24.svg +8 -8
- package/components/icon/icons/trash-16.svg +8 -8
- package/components/icon/icons/trash-24.svg +12 -12
- package/components/icon/icons/triangle-down-16.svg +5 -5
- package/components/icon/icons/triangle-down-24.svg +5 -5
- package/components/icon/icons/triangle-left-16.svg +5 -5
- package/components/icon/icons/triangle-left-24.svg +5 -5
- package/components/icon/icons/triangle-right-16.svg +5 -5
- package/components/icon/icons/triangle-right-24.svg +5 -5
- package/components/icon/icons/triangle-up-16.svg +5 -5
- package/components/icon/icons/triangle-up-24.svg +5 -5
- package/components/icon/icons/trophy-16.svg +8 -8
- package/components/icon/icons/trophy-24.svg +8 -8
- package/components/icon/icons/typography-16.svg +8 -8
- package/components/icon/icons/typography-24.svg +8 -8
- package/components/icon/icons/unfold-16.svg +5 -5
- package/components/icon/icons/unfold-24.svg +11 -11
- package/components/icon/icons/unlock-16.svg +8 -8
- package/components/icon/icons/unlock-24.svg +8 -8
- package/components/icon/icons/unmute-16.svg +8 -8
- package/components/icon/icons/unmute-24.svg +10 -10
- package/components/icon/icons/unverified-16.svg +8 -8
- package/components/icon/icons/unverified-24.svg +10 -10
- package/components/icon/icons/upload-16.svg +8 -8
- package/components/icon/icons/upload-24.svg +8 -8
- package/components/icon/icons/verified-16.svg +8 -8
- package/components/icon/icons/verified-24.svg +9 -9
- package/components/icon/icons/versions-16.svg +8 -8
- package/components/icon/icons/versions-24.svg +8 -8
- package/components/icon/icons/video-16.svg +9 -9
- package/components/icon/icons/video-24.svg +9 -9
- package/components/icon/icons/webhook-16.svg +5 -5
- package/components/icon/icons/workflow-16.svg +8 -8
- package/components/icon/icons/workflow-24.svg +8 -8
- package/components/icon/icons/x-16.svg +8 -8
- package/components/icon/icons/x-24.svg +8 -8
- package/components/icon/icons/x-circle-16.svg +8 -8
- package/components/icon/icons/x-circle-24.svg +10 -10
- package/components/icon/icons/x-circle-fill-12.svg +8 -8
- package/components/icon/icons/x-circle-fill-16.svg +8 -8
- package/components/icon/icons/x-circle-fill-24.svg +8 -8
- package/components/icon/icons/yourdash.svg +64 -64
- package/components/icon/icons/zap-16.svg +8 -8
- package/components/icon/icons/zap-24.svg +8 -8
- package/components/iconButton/iconButton.module.scss +40 -40
- package/components/iconButton/iconButton.tsx +34 -34
- package/components/image/image.module.scss +81 -10
- package/components/image/image.tsx +62 -9
- package/components/link/link.module.scss +32 -32
- package/components/link/link.tsx +21 -21
- package/components/progressBar/progressBar.module.scss +25 -0
- package/components/progressBar/progressBar.tsx +21 -0
- package/components/redirect/redirect.tsx +17 -17
- package/components/separator/separator.module.scss +33 -28
- package/components/separator/separator.tsx +14 -14
- package/components/spinner/spinner.module.scss +93 -93
- package/components/spinner/spinner.tsx +31 -31
- package/components/subtext/subtext.module.scss +17 -17
- package/components/subtext/subtext.tsx +14 -14
- package/components/tag/tag.module.scss +13 -0
- package/components/tag/tag.tsx +21 -0
- package/components/text/text.module.scss +13 -13
- package/components/text/text.tsx +14 -14
- package/components/textButton/textButton.module.scss +30 -30
- package/components/textButton/textButton.tsx +22 -22
- package/components/textInput/textInput.module.scss +52 -52
- package/components/textInput/textInput.tsx +84 -54
- package/components/toast/toast.module.scss +48 -8
- package/components/toast/toast.ts +12 -0
- package/components/toast/toastAction.ts +12 -0
- package/components/toast/toastContext.ts +16 -14
- package/components/toast/toasts.tsx +99 -0
- package/core/decrementLevel.tsx +1 -1
- package/core/incrementLevel.tsx +13 -13
- package/core/level.tsx +27 -27
- package/core/remToPx.ts +8 -0
- package/core/root.tsx +13 -19
- package/core/toast.ts +5 -4
- package/imports.d.ts +81 -0
- package/package.json +19 -49
- package/theme/defaultTheme.module.scss +361 -349
- package/theme/themeValues.scss +49 -46
- package/tsconfig.json +30 -20
- package/utilityComponent/hasBeenShown/hasBeenShown.tsx +47 -0
- package/utilityComponent/onInView/onInView.tsx +83 -0
- package/views/carousel/carousel.module.scss +77 -0
- package/views/carousel/carousel.tsx +138 -0
- package/views/header/header.module.scss +16 -0
- package/views/header/header.tsx +28 -0
- package/views/infiniteScroll/infiniteScroll.module.scss +26 -0
- package/views/infiniteScroll/infiniteScroll.tsx +90 -0
- package/views/navBar/components/navImage/navImage.module.scss +7 -0
- package/views/navBar/components/navImage/navImage.tsx +15 -0
- package/views/navBar/components/navTitle/navTitle.tsx +13 -0
- package/views/navBar/navBar.module.scss +22 -0
- package/views/navBar/navBar.tsx +37 -0
- package/views/onBoarding/onBoarding.module.scss +79 -0
- package/views/onBoarding/onBoarding.tsx +138 -0
- package/views/panAndZoom/panAndZoom.tsx +9 -2
- package/views/sidebar/Sidebar.module.scss +49 -0
- package/views/sidebar/Sidebar.tsx +30 -0
- package/views/sidebar/SidebarContainer.module.scss +22 -0
- package/views/sidebar/SidebarContainer.tsx +38 -0
- package/views/sidebar/SidebarContext.tsx +15 -0
- package/views/sidebar/SidebarToggleButton.tsx +25 -0
- package/components/toast/toast.tsx +0 -65
@@ -0,0 +1,13 @@
|
|
1
|
+
import React from "react";
|
2
|
+
import Heading from "../../../../components/heading/heading.tsx";
|
3
|
+
|
4
|
+
const NavTitle: React.FC<{ title: string }> = ({ title }) => {
|
5
|
+
return (
|
6
|
+
<Heading
|
7
|
+
text={title}
|
8
|
+
level={2}
|
9
|
+
/>
|
10
|
+
);
|
11
|
+
};
|
12
|
+
|
13
|
+
export default NavTitle;
|
@@ -0,0 +1,22 @@
|
|
1
|
+
@import "@yourdash/uikit/theme/themeValues";
|
2
|
+
|
3
|
+
.component {
|
4
|
+
--nav-height: calc(2rem + var(#{$theme+$padding}));
|
5
|
+
|
6
|
+
width: 100%;
|
7
|
+
height: calc(var(--nav-height) + calc(var(#{$theme+$padding}) * 2));
|
8
|
+
border-top: 0;
|
9
|
+
border-left: 0;
|
10
|
+
border-right: 0;
|
11
|
+
padding: var(#{$theme+$padding});
|
12
|
+
display: grid;
|
13
|
+
grid-template-columns: auto 1fr auto;
|
14
|
+
justify-content: center;
|
15
|
+
align-items: center;
|
16
|
+
}
|
17
|
+
|
18
|
+
.segment {
|
19
|
+
display: flex;
|
20
|
+
align-items: center;
|
21
|
+
justify-content: center;
|
22
|
+
}
|
@@ -0,0 +1,37 @@
|
|
1
|
+
import React from "react";
|
2
|
+
import Box from "../../components/box/box.tsx";
|
3
|
+
import styles from "./navBar.module.scss";
|
4
|
+
import Flex from "../../components/flex/flex.tsx";
|
5
|
+
import clippy from "@yourdash/shared/web/helpers/clippy.ts";
|
6
|
+
|
7
|
+
const NavBar: React.FC<{
|
8
|
+
leftSection?: React.ReactElement | React.ReactElement[];
|
9
|
+
centerSection?: React.ReactElement | React.ReactElement[];
|
10
|
+
rightSection?: React.ReactElement | React.ReactElement[];
|
11
|
+
className?: string;
|
12
|
+
}> = ({ leftSection, centerSection, rightSection, className }) => {
|
13
|
+
return (
|
14
|
+
<Box className={clippy(styles.component, className)}>
|
15
|
+
<Flex
|
16
|
+
className={styles.segment}
|
17
|
+
direction="row"
|
18
|
+
>
|
19
|
+
{leftSection}
|
20
|
+
</Flex>
|
21
|
+
<Flex
|
22
|
+
className={styles.segment}
|
23
|
+
direction="row"
|
24
|
+
>
|
25
|
+
{centerSection}
|
26
|
+
</Flex>
|
27
|
+
<Flex
|
28
|
+
className={styles.segment}
|
29
|
+
direction="row"
|
30
|
+
>
|
31
|
+
{rightSection}
|
32
|
+
</Flex>
|
33
|
+
</Box>
|
34
|
+
);
|
35
|
+
};
|
36
|
+
|
37
|
+
export default NavBar;
|
@@ -0,0 +1,79 @@
|
|
1
|
+
@import "../../theme/themeValues";
|
2
|
+
|
3
|
+
.page {
|
4
|
+
display: flex;
|
5
|
+
align-items: center;
|
6
|
+
justify-content: center;
|
7
|
+
flex-direction: column;
|
8
|
+
width: 100%;
|
9
|
+
height: 100%;
|
10
|
+
position: relative;
|
11
|
+
animation: fadeIn 1s 0s cubic-bezier(0.215, 0.610, 0.355, 1);
|
12
|
+
|
13
|
+
&::before {
|
14
|
+
content: "";
|
15
|
+
//noinspection CssUnknownTarget
|
16
|
+
background-image: url("/assets/productLogos/yourdash.svg");
|
17
|
+
background-size: 20rem;
|
18
|
+
background-repeat: repeat;
|
19
|
+
width: 1000rem;
|
20
|
+
height: 1000rem;
|
21
|
+
position: absolute;
|
22
|
+
filter: blur(0.25rem) grayscale(1);
|
23
|
+
opacity: 0.1;
|
24
|
+
transform: rotate(-45deg);
|
25
|
+
z-index: -1;
|
26
|
+
}
|
27
|
+
|
28
|
+
@keyframes fadeIn {
|
29
|
+
from {
|
30
|
+
transform: translateY(2.5rem);
|
31
|
+
opacity: 0;
|
32
|
+
}
|
33
|
+
to {
|
34
|
+
transform: translateY(0);
|
35
|
+
opacity: 1;
|
36
|
+
}
|
37
|
+
}
|
38
|
+
}
|
39
|
+
|
40
|
+
.card {
|
41
|
+
display: flex;
|
42
|
+
align-items: center;
|
43
|
+
justify-content: center;
|
44
|
+
flex-direction: column;
|
45
|
+
gap: calc(var(#{$theme+$gap}) * 2);
|
46
|
+
padding: 2rem;
|
47
|
+
}
|
48
|
+
|
49
|
+
.cardContainer {
|
50
|
+
box-shadow: #00000088 0 0 4rem;
|
51
|
+
}
|
52
|
+
|
53
|
+
.goBackButton {
|
54
|
+
}
|
55
|
+
|
56
|
+
.headerImage {
|
57
|
+
height: 16rem;
|
58
|
+
}
|
59
|
+
|
60
|
+
.header {
|
61
|
+
line-height: 1;
|
62
|
+
text-align: center;
|
63
|
+
}
|
64
|
+
|
65
|
+
.body {
|
66
|
+
text-align: center;
|
67
|
+
}
|
68
|
+
|
69
|
+
.actions {
|
70
|
+
}
|
71
|
+
|
72
|
+
.action {
|
73
|
+
}
|
74
|
+
|
75
|
+
.actionWithoutIcon {
|
76
|
+
}
|
77
|
+
|
78
|
+
.actionWithIcon {
|
79
|
+
}
|
@@ -0,0 +1,138 @@
|
|
1
|
+
import * as React from "react";
|
2
|
+
import Card from "../../components/card/card.tsx";
|
3
|
+
import { UKIcon } from "../../components/icon/iconDictionary.ts";
|
4
|
+
import IconButton from "../../components/iconButton/iconButton.tsx";
|
5
|
+
import Image from "../../components/image/image.tsx";
|
6
|
+
import Heading from "../../components/heading/heading.tsx";
|
7
|
+
import Text from "../../components/text/text.tsx";
|
8
|
+
import ButtonWithIcon from "../../components/buttonWithIcon/buttonWithIcon.tsx";
|
9
|
+
import Button from "../../components/button/button.tsx";
|
10
|
+
import { Outlet } from "react-router";
|
11
|
+
import styles from "./onBoarding.module.scss";
|
12
|
+
import Flex from "../../components/flex/flex.tsx";
|
13
|
+
import clippy from "@yourdash/shared/web/helpers/clippy.ts";
|
14
|
+
|
15
|
+
const OnBoarding: React.FC<{
|
16
|
+
meta: { id: string };
|
17
|
+
pages: {
|
18
|
+
headerImage: string;
|
19
|
+
header: string;
|
20
|
+
body: string;
|
21
|
+
actions: { label: string; icon?: UKIcon; onClick: () => void; changeTo?: "next" | "previous" | "remain" | "completed" }[];
|
22
|
+
allowGoBack?: boolean;
|
23
|
+
}[];
|
24
|
+
}> = ({ pages, meta }) => {
|
25
|
+
const [currentPage, setCurrentPage] = React.useState<number>(0);
|
26
|
+
const page = pages[currentPage];
|
27
|
+
|
28
|
+
if (localStorage.getItem(`yourdash-application-visited-${meta.id}`) || currentPage > pages.length - 1) {
|
29
|
+
localStorage.setItem(`yourdash-application-visited-${meta.id}`, "true");
|
30
|
+
|
31
|
+
return <Outlet />;
|
32
|
+
}
|
33
|
+
|
34
|
+
return (
|
35
|
+
<div className={styles.page}>
|
36
|
+
<Card
|
37
|
+
className={styles.card}
|
38
|
+
containerClassName={styles.cardContainer}
|
39
|
+
>
|
40
|
+
{page.allowGoBack && (
|
41
|
+
<IconButton
|
42
|
+
className={styles.goBackButton}
|
43
|
+
accessibleLabel="Go back to the last page"
|
44
|
+
icon={UKIcon.ChevronLeft}
|
45
|
+
onClick={() => {
|
46
|
+
setCurrentPage(currentPage - 1);
|
47
|
+
}}
|
48
|
+
/>
|
49
|
+
)}
|
50
|
+
<Image
|
51
|
+
className={styles.headerImage}
|
52
|
+
src={page.headerImage}
|
53
|
+
accessibleLabel=""
|
54
|
+
/>
|
55
|
+
<Heading
|
56
|
+
className={styles.header}
|
57
|
+
text={page.header}
|
58
|
+
/>
|
59
|
+
<Text
|
60
|
+
className={styles.body}
|
61
|
+
text={page.body}
|
62
|
+
/>
|
63
|
+
<Flex
|
64
|
+
className={styles.actions}
|
65
|
+
direction="row"
|
66
|
+
>
|
67
|
+
{page.actions.map((action) => {
|
68
|
+
if (action.icon) {
|
69
|
+
return (
|
70
|
+
<>
|
71
|
+
<ButtonWithIcon
|
72
|
+
key={action.label}
|
73
|
+
className={clippy(styles.action, styles.actionWithIcon)}
|
74
|
+
text={action.label}
|
75
|
+
icon={action.icon}
|
76
|
+
onClick={() => {
|
77
|
+
action.onClick();
|
78
|
+
if (action.changeTo) {
|
79
|
+
switch (action.changeTo) {
|
80
|
+
case "next":
|
81
|
+
setCurrentPage(currentPage + 1);
|
82
|
+
break;
|
83
|
+
case "previous":
|
84
|
+
if (currentPage > 0) setCurrentPage(currentPage - 1);
|
85
|
+
break;
|
86
|
+
case "remain":
|
87
|
+
break;
|
88
|
+
case "completed":
|
89
|
+
setCurrentPage(pages.length + 1);
|
90
|
+
break;
|
91
|
+
default:
|
92
|
+
break;
|
93
|
+
}
|
94
|
+
}
|
95
|
+
}}
|
96
|
+
/>
|
97
|
+
</>
|
98
|
+
);
|
99
|
+
}
|
100
|
+
|
101
|
+
return (
|
102
|
+
<>
|
103
|
+
<Button
|
104
|
+
key={action.icon}
|
105
|
+
className={clippy(styles.action, styles.actionWithoutIcon)}
|
106
|
+
text={action.label}
|
107
|
+
onClick={() => {
|
108
|
+
action.onClick();
|
109
|
+
|
110
|
+
if (action.changeTo) {
|
111
|
+
switch (action.changeTo) {
|
112
|
+
case "next":
|
113
|
+
setCurrentPage(currentPage + 1);
|
114
|
+
break;
|
115
|
+
case "previous":
|
116
|
+
if (currentPage > 0) setCurrentPage(currentPage - 1);
|
117
|
+
break;
|
118
|
+
case "remain":
|
119
|
+
break;
|
120
|
+
case "completed":
|
121
|
+
setCurrentPage(pages.length + 1);
|
122
|
+
break;
|
123
|
+
default:
|
124
|
+
break;
|
125
|
+
}
|
126
|
+
}
|
127
|
+
}}
|
128
|
+
/>
|
129
|
+
</>
|
130
|
+
);
|
131
|
+
})}
|
132
|
+
</Flex>
|
133
|
+
</Card>
|
134
|
+
</div>
|
135
|
+
);
|
136
|
+
};
|
137
|
+
|
138
|
+
export default OnBoarding;
|
@@ -3,18 +3,25 @@
|
|
3
3
|
* YourDash is licensed under the MIT License. (https://ewsgit.mit-license.org)
|
4
4
|
*/
|
5
5
|
|
6
|
-
import React, { FC, useRef, useState } from "react";
|
6
|
+
import React, { FC, useEffect, useRef, useState } from "react";
|
7
7
|
|
8
|
-
const PanAndZoom: FC<{ children: React.ReactNode; minZoom?: number; maxZoom?: number }> = ({
|
8
|
+
const PanAndZoom: FC<{ children: React.ReactNode; minZoom?: number; maxZoom?: number; onScaleChange?: (scale: number) => void }> = ({
|
9
9
|
children,
|
10
10
|
minZoom,
|
11
11
|
maxZoom,
|
12
|
+
onScaleChange,
|
12
13
|
}) => {
|
13
14
|
const containerRef = useRef<HTMLDivElement>(null);
|
14
15
|
const [translateX, setTranslateX] = useState(0);
|
15
16
|
const [translateY, setTranslateY] = useState(0);
|
16
17
|
const [scale, setScale] = useState(1);
|
17
18
|
|
19
|
+
if (onScaleChange) {
|
20
|
+
useEffect(() => {
|
21
|
+
onScaleChange(scale);
|
22
|
+
}, [scale]);
|
23
|
+
}
|
24
|
+
|
18
25
|
const handleWheel = (event: WheelEvent) => {
|
19
26
|
event.stopPropagation();
|
20
27
|
const delta = event.deltaY;
|
@@ -0,0 +1,49 @@
|
|
1
|
+
/*!
|
2
|
+
* Copyright ©2024 Ewsgit<https://github.com/ewsgit> and YourDash<https://github.com/yourdash> contributors.
|
3
|
+
* YourDash is licensed under the MIT License. (https://ewsgit.mit-license.org)
|
4
|
+
*/
|
5
|
+
|
6
|
+
@import "@yourdash/uikit/theme/themeValues";
|
7
|
+
|
8
|
+
.component {
|
9
|
+
height: 100%;
|
10
|
+
background: var(#{$theme+$background});
|
11
|
+
pointer-events: none;
|
12
|
+
opacity: 0;
|
13
|
+
border: var(#{$theme+$border});
|
14
|
+
border-top: 0;
|
15
|
+
border-bottom: 0;
|
16
|
+
border-left: 0;
|
17
|
+
flex-direction: column;
|
18
|
+
max-height: 100%;
|
19
|
+
max-width: 0;
|
20
|
+
transition: transform var(#{$theme+$transition+$transition}), max-height var(#{$theme+$transition+$transition});
|
21
|
+
transform: translateX(-100%);
|
22
|
+
visibility: hidden;
|
23
|
+
padding: 0;
|
24
|
+
|
25
|
+
@media (max-width: $sizeTablet) {
|
26
|
+
max-width: 100%;
|
27
|
+
max-height: 0;
|
28
|
+
height: max-content;
|
29
|
+
border-right: 0;
|
30
|
+
border-bottom: unset;
|
31
|
+
}
|
32
|
+
|
33
|
+
>*[type="button"] {
|
34
|
+
min-width: 100%;
|
35
|
+
}
|
36
|
+
}
|
37
|
+
|
38
|
+
.open {
|
39
|
+
pointer-events: all;
|
40
|
+
opacity: 1;
|
41
|
+
transform: translateX(0);
|
42
|
+
visibility: visible;
|
43
|
+
max-width: 32rem;
|
44
|
+
padding: var(#{$theme+$padding});
|
45
|
+
|
46
|
+
@media (max-width: $sizeTablet) {
|
47
|
+
height: max-content;
|
48
|
+
}
|
49
|
+
}
|
@@ -0,0 +1,30 @@
|
|
1
|
+
/*
|
2
|
+
* Copyright ©2024 Ewsgit<https://github.com/ewsgit> and YourDash<https://github.com/yourdash> contributors.
|
3
|
+
* YourDash is licensed under the MIT License. (https://ewsgit.mit-license.org)
|
4
|
+
*/
|
5
|
+
|
6
|
+
import clippy from "@yourdash/shared/web/helpers/clippy.ts";
|
7
|
+
import Flex from "../../components/flex/flex.tsx";
|
8
|
+
import IncrementLevel from "../../core/incrementLevel.tsx";
|
9
|
+
import { useLevel, useLevelClass } from "../../core/level.tsx";
|
10
|
+
import styles from "./Sidebar.module.scss";
|
11
|
+
import SidebarContext from "./SidebarContext.tsx";
|
12
|
+
import { FC, useContext } from "react";
|
13
|
+
|
14
|
+
const Sidebar: FC<{ children: React.ReactNode | React.ReactNode[] }> = ({ children }) => {
|
15
|
+
const sidebarContext = useContext(SidebarContext);
|
16
|
+
const level = useLevel();
|
17
|
+
|
18
|
+
return (
|
19
|
+
<IncrementLevel>
|
20
|
+
<Flex
|
21
|
+
direction={"column"}
|
22
|
+
className={clippy(styles.component, sidebarContext.isOpen && styles.open, useLevelClass(level + 1))}
|
23
|
+
>
|
24
|
+
{children}
|
25
|
+
</Flex>
|
26
|
+
</IncrementLevel>
|
27
|
+
);
|
28
|
+
};
|
29
|
+
|
30
|
+
export default Sidebar;
|
@@ -0,0 +1,22 @@
|
|
1
|
+
/*!
|
2
|
+
* Copyright ©2024 Ewsgit<https://github.com/ewsgit> and YourDash<https://github.com/yourdash> contributors.
|
3
|
+
* YourDash is licensed under the MIT License. (https://ewsgit.mit-license.org)
|
4
|
+
*/
|
5
|
+
|
6
|
+
@import '@yourdash/uikit/theme/themeValues';
|
7
|
+
|
8
|
+
.component {
|
9
|
+
display: flex;
|
10
|
+
flex-direction: row;
|
11
|
+
width: 100%;
|
12
|
+
height: 100%;
|
13
|
+
overflow: hidden;
|
14
|
+
|
15
|
+
&[dir=rtl] {
|
16
|
+
flex-direction: row-reverse;
|
17
|
+
}
|
18
|
+
|
19
|
+
@media (max-width: $sizeTablet) {
|
20
|
+
flex-direction: column;
|
21
|
+
}
|
22
|
+
}
|
@@ -0,0 +1,38 @@
|
|
1
|
+
/*
|
2
|
+
* Copyright ©2024 Ewsgit<https://github.com/ewsgit> and YourDash<https://github.com/yourdash> contributors.
|
3
|
+
* YourDash is licensed under the MIT License. (https://ewsgit.mit-license.org)
|
4
|
+
*/
|
5
|
+
|
6
|
+
import React, { FC, useState } from "react";
|
7
|
+
import SidebarContext from "./SidebarContext.tsx";
|
8
|
+
import styles from "./SidebarContainer.module.scss";
|
9
|
+
import clippy from "@yourdash/shared/web/helpers/clippy.ts";
|
10
|
+
|
11
|
+
const SidebarContainer: FC<{ children: React.ReactNode | React.ReactNode[]; showSidebarByDefault?: boolean; className?: string }> = ({
|
12
|
+
children,
|
13
|
+
showSidebarByDefault,
|
14
|
+
className,
|
15
|
+
}) => {
|
16
|
+
const [showSidebar, setShowSidebar] = useState<boolean>(showSidebarByDefault || true);
|
17
|
+
|
18
|
+
return (
|
19
|
+
<SidebarContext.Provider
|
20
|
+
value={{
|
21
|
+
closeSidebar: () => {
|
22
|
+
setShowSidebar(false);
|
23
|
+
},
|
24
|
+
toggleSidebar: () => {
|
25
|
+
setShowSidebar(!showSidebar);
|
26
|
+
},
|
27
|
+
openSidebar: () => {
|
28
|
+
setShowSidebar(true);
|
29
|
+
},
|
30
|
+
isOpen: showSidebar,
|
31
|
+
}}
|
32
|
+
>
|
33
|
+
<div className={clippy(styles.component, className)}>{children}</div>
|
34
|
+
</SidebarContext.Provider>
|
35
|
+
);
|
36
|
+
};
|
37
|
+
|
38
|
+
export default SidebarContainer;
|
@@ -0,0 +1,15 @@
|
|
1
|
+
/*
|
2
|
+
* Copyright ©2024 Ewsgit<https://github.com/ewsgit> and YourDash<https://github.com/yourdash> contributors.
|
3
|
+
* YourDash is licensed under the MIT License. (https://ewsgit.mit-license.org)
|
4
|
+
*/
|
5
|
+
|
6
|
+
import { createContext } from "react";
|
7
|
+
|
8
|
+
const SidebarContext = createContext({
|
9
|
+
openSidebar: () => {},
|
10
|
+
closeSidebar: () => {},
|
11
|
+
toggleSidebar: () => {},
|
12
|
+
isOpen: true,
|
13
|
+
});
|
14
|
+
|
15
|
+
export default SidebarContext;
|
@@ -0,0 +1,25 @@
|
|
1
|
+
/*
|
2
|
+
* Copyright ©2024 Ewsgit<https://github.com/ewsgit> and YourDash<https://github.com/yourdash> contributors.
|
3
|
+
* YourDash is licensed under the MIT License. (https://ewsgit.mit-license.org)
|
4
|
+
*/
|
5
|
+
|
6
|
+
import { FC, useContext } from "react";
|
7
|
+
import { UKIcon } from "../../components/icon/iconDictionary.ts";
|
8
|
+
import SidebarContext from "./SidebarContext.tsx";
|
9
|
+
import IconButton from "../../components/iconButton/iconButton.tsx";
|
10
|
+
|
11
|
+
const SidebarToggleButton: FC = () => {
|
12
|
+
const sidebarContext = useContext(SidebarContext);
|
13
|
+
|
14
|
+
return (
|
15
|
+
<IconButton
|
16
|
+
accessibleLabel={sidebarContext.isOpen ? "Collapse Sidebar" : "Expand Sidebar"}
|
17
|
+
icon={sidebarContext.isOpen ? UKIcon.SidebarCollapse : UKIcon.SidebarExpand}
|
18
|
+
onClick={() => {
|
19
|
+
sidebarContext.toggleSidebar();
|
20
|
+
}}
|
21
|
+
/>
|
22
|
+
);
|
23
|
+
};
|
24
|
+
|
25
|
+
export default SidebarToggleButton;
|
@@ -1,65 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
* Copyright ©2024 Ewsgit<https://github.com/ewsgit> and YourDash<https://github.com/yourdash> contributors.
|
3
|
-
* YourDash is licensed under the MIT License. (https://ewsgit.mit-license.org)
|
4
|
-
*/
|
5
|
-
|
6
|
-
import clippy from "@yourdash/shared/web/helpers/clippy.js";
|
7
|
-
import { FC, useState } from "react";
|
8
|
-
import Card from "../card/card.js";
|
9
|
-
import { UKIcon } from "../icon/iconDictionary.js";
|
10
|
-
import IconButton from "../iconButton/iconButton.js";
|
11
|
-
import Text from "../text/text.js";
|
12
|
-
import ToastContext from "./toastContext.js";
|
13
|
-
import React from "react";
|
14
|
-
import styles from "./toast.module.scss";
|
15
|
-
|
16
|
-
const Toast: FC<{ children: React.ReactNode | React.ReactNode[] }> = ({ children }) => {
|
17
|
-
const [toasts, setToasts] = useState<
|
18
|
-
{ type: "success" | "error" | "warning" | "info"; content: string; persist?: boolean; timestamp: number }[]
|
19
|
-
>([]);
|
20
|
-
|
21
|
-
return (
|
22
|
-
<>
|
23
|
-
<ToastContext.Provider
|
24
|
-
value={{
|
25
|
-
showToast: (data: { type: "success" | "error" | "warning" | "info"; content: string; persist?: boolean }) => {
|
26
|
-
const timestamp = Date.now();
|
27
|
-
|
28
|
-
setToasts([...toasts, { ...data, timestamp: timestamp }]);
|
29
|
-
|
30
|
-
if (!data.persist) {
|
31
|
-
setTimeout(() => {
|
32
|
-
setToasts(toasts.filter((t) => t.timestamp !== timestamp));
|
33
|
-
}, 5000);
|
34
|
-
}
|
35
|
-
},
|
36
|
-
}}
|
37
|
-
>
|
38
|
-
<div className={styles.container}>
|
39
|
-
{toasts.map((t) => {
|
40
|
-
return (
|
41
|
-
<Card
|
42
|
-
key={t.timestamp}
|
43
|
-
actions={
|
44
|
-
t.persist ? (
|
45
|
-
<IconButton
|
46
|
-
accessibleLabel={"Close toast"}
|
47
|
-
icon={UKIcon.X}
|
48
|
-
onClick={() => setToasts(toasts.filter((x) => x.timestamp !== t.timestamp))}
|
49
|
-
/>
|
50
|
-
) : null
|
51
|
-
}
|
52
|
-
containerClassName={clippy(styles.component, t.type && styles[t.type])}
|
53
|
-
>
|
54
|
-
<Text text={t.content} />
|
55
|
-
</Card>
|
56
|
-
);
|
57
|
-
})}
|
58
|
-
</div>
|
59
|
-
{children}
|
60
|
-
</ToastContext.Provider>
|
61
|
-
</>
|
62
|
-
);
|
63
|
-
};
|
64
|
-
|
65
|
-
export default Toast;
|