├── src
├── assets
│ ├── scss
│ │ ├── custom
│ │ │ ├── _accordion.scss
│ │ │ ├── _carousel.scss
│ │ │ ├── _grid.scss
│ │ │ ├── utilities
│ │ │ │ ├── _sizing.scss
│ │ │ │ ├── _transform.scss
│ │ │ │ ├── _shadows.scss
│ │ │ │ ├── _backgrounds.scss
│ │ │ │ ├── _floating.scss
│ │ │ │ ├── _text.scss
│ │ │ │ ├── _helper.scss
│ │ │ │ └── _spacing.scss
│ │ │ ├── mixins
│ │ │ │ ├── _icon.scss
│ │ │ │ ├── _alert.scss
│ │ │ │ ├── _badge.scss
│ │ │ │ ├── _modals.scss
│ │ │ │ ├── _background-variant.scss
│ │ │ │ ├── _popover.scss
│ │ │ │ └── _forms.scss
│ │ │ ├── _popover.scss
│ │ │ ├── _mixins.scss
│ │ │ ├── _utilities.scss
│ │ │ ├── _modal.scss
│ │ │ ├── vendor
│ │ │ │ ├── _headroom.scss
│ │ │ │ └── _flatpickr.scss
│ │ │ ├── _reboot.scss
│ │ │ ├── _functions.scss
│ │ │ ├── _close.scss
│ │ │ ├── _list-group.scss
│ │ │ ├── _pagination.scss
│ │ │ ├── _avatars.scss
│ │ │ ├── _badge.scss
│ │ │ ├── _input-group.scss
│ │ │ ├── _progress.scss
│ │ │ ├── _icons.scss
│ │ │ ├── _type.scss
│ │ │ ├── _alerts.scss
│ │ │ ├── _dropdown.scss
│ │ │ ├── _nav.scss
│ │ │ ├── _footer.scss
│ │ │ ├── _card.scss
│ │ │ ├── _forms.scss
│ │ │ └── _buttons.scss
│ │ ├── bootstrap
│ │ │ ├── utilities
│ │ │ │ ├── _clearfix.scss
│ │ │ │ ├── _screenreaders.scss
│ │ │ │ ├── _visibility.scss
│ │ │ │ ├── _shadows.scss
│ │ │ │ ├── _sizing.scss
│ │ │ │ ├── _float.scss
│ │ │ │ ├── _align.scss
│ │ │ │ ├── _background.scss
│ │ │ │ ├── _position.scss
│ │ │ │ ├── _embed.scss
│ │ │ │ ├── _display.scss
│ │ │ │ ├── _spacing.scss
│ │ │ │ ├── _borders.scss
│ │ │ │ ├── _text.scss
│ │ │ │ └── _flex.scss
│ │ │ ├── _media.scss
│ │ │ ├── mixins
│ │ │ │ ├── _box-shadow.scss
│ │ │ │ ├── _clearfix.scss
│ │ │ │ ├── _size.scss
│ │ │ │ ├── _visibility.scss
│ │ │ │ ├── _lists.scss
│ │ │ │ ├── _text-truncate.scss
│ │ │ │ ├── _resize.scss
│ │ │ │ ├── _float.scss
│ │ │ │ ├── _badge.scss
│ │ │ │ ├── _alert.scss
│ │ │ │ ├── _nav-divider.scss
│ │ │ │ ├── _text-emphasis.scss
│ │ │ │ ├── _transition.scss
│ │ │ │ ├── _text-hide.scss
│ │ │ │ ├── _list-group.scss
│ │ │ │ ├── _pagination.scss
│ │ │ │ ├── _background-variant.scss
│ │ │ │ ├── _reset-text.scss
│ │ │ │ ├── _table-row.scss
│ │ │ │ ├── _border-radius.scss
│ │ │ │ ├── _screen-reader.scss
│ │ │ │ ├── _hover.scss
│ │ │ │ ├── _image.scss
│ │ │ │ ├── _caret.scss
│ │ │ │ ├── _grid.scss
│ │ │ │ ├── _grid-framework.scss
│ │ │ │ └── _gradients.scss
│ │ │ ├── _transitions.scss
│ │ │ ├── _jumbotron.scss
│ │ │ ├── _utilities.scss
│ │ │ ├── _root.scss
│ │ │ ├── _progress.scss
│ │ │ ├── _close.scss
│ │ │ ├── _mixins.scss
│ │ │ ├── _code.scss
│ │ │ ├── _badge.scss
│ │ │ ├── _grid.scss
│ │ │ ├── _images.scss
│ │ │ ├── _alert.scss
│ │ │ ├── _breadcrumb.scss
│ │ │ ├── _pagination.scss
│ │ │ ├── _nav.scss
│ │ │ ├── _type.scss
│ │ │ ├── _functions.scss
│ │ │ ├── _tooltip.scss
│ │ │ ├── _buttons.scss
│ │ │ └── _list-group.scss
│ │ └── argon.scss
│ └── vendor
│ │ ├── nucleo
│ │ ├── fonts
│ │ │ ├── nucleo-icons.eot
│ │ │ ├── nucleo-icons.ttf
│ │ │ ├── nucleo-icons.woff
│ │ │ └── nucleo-icons.woff2
│ │ └── css
│ │ │ └── nucleo-svg.css
│ │ └── font-awesome
│ │ └── fonts
│ │ ├── FontAwesome.otf
│ │ ├── fontawesome-webfont.eot
│ │ ├── fontawesome-webfont.ttf
│ │ ├── fontawesome-webfont.woff
│ │ └── fontawesome-webfont.woff2
├── components
│ ├── Tabs
│ │ ├── PillsLayout.vue
│ │ ├── TabsLayout.vue
│ │ ├── TabPane.vue
│ │ └── Tab.vue
│ ├── stringUtils.js
│ ├── NavbarToggleButton.vue
│ ├── BaseSwitch.vue
│ ├── CloseButton.vue
│ ├── Badge.vue
│ ├── Icon.vue
│ ├── BaseRadio.vue
│ ├── BaseCheckbox.vue
│ ├── Card.vue
│ ├── BaseProgress.vue
│ ├── BaseAlert.vue
│ ├── BaseDropdown.vue
│ ├── BaseSlider.vue
│ ├── BaseNav.vue
│ ├── BaseButton.vue
│ └── Modal.vue
├── views
│ ├── Starter.vue
│ ├── components
│ │ ├── Navigation
│ │ │ ├── Menu6.vue
│ │ │ ├── Menu5.vue
│ │ │ ├── Menu2.vue
│ │ │ ├── Menu4.vue
│ │ │ ├── Menu1.vue
│ │ │ └── Menu3.vue
│ │ ├── JavascriptComponents
│ │ │ ├── ProgressPagination.vue
│ │ │ ├── Images.vue
│ │ │ ├── DatePickers.vue
│ │ │ └── Tooltips.vue
│ │ ├── Carousel.vue
│ │ ├── Navigation.vue
│ │ ├── Icons.vue
│ │ ├── Hero.vue
│ │ └── Inputs.vue
│ └── Components.vue
├── plugins
│ ├── globalDirectives.js
│ ├── argon-kit.js
│ └── globalComponents.js
├── starterRouter.js
├── App.vue
├── directives
│ └── click-ouside.js
├── main.js
├── registerServiceWorker.js
└── router.js
├── .browserslistrc
├── .postcssrc.js
├── public
├── favicon.ico
├── favicon.png
├── img
│ ├── brand
│ │ ├── blue.png
│ │ ├── white.png
│ │ ├── favicon.png
│ │ ├── github-white-slim.png
│ │ └── creativetim-white-slim.png
│ ├── theme
│ │ ├── landing.jpg
│ │ ├── profile.jpg
│ │ ├── promo-1.png
│ │ ├── img-1-1200x1000.jpg
│ │ ├── img-2-1200x1000.jpg
│ │ ├── team-1-800x800.jpg
│ │ ├── team-2-800x800.jpg
│ │ ├── team-3-800x800.jpg
│ │ └── team-4-800x800.jpg
│ └── icons
│ │ └── common
│ │ ├── github.svg
│ │ └── google.svg
└── index.html
├── babel.config.js
├── CHANGELOG.md
├── .gitignore
├── .eslintrc.js
├── ISSUE_TEMPLATE.md
├── vue.config.js
├── package.json
└── .github
└── workflows
└── main.yml
/src/assets/scss/custom/_accordion.scss:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/.browserslistrc:
--------------------------------------------------------------------------------
1 | > 1%
2 | last 2 versions
3 | not ie <= 11
4 |
--------------------------------------------------------------------------------
/src/assets/scss/custom/_carousel.scss:
--------------------------------------------------------------------------------
1 | // Bootstrap carousel
2 |
--------------------------------------------------------------------------------
/.postcssrc.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | plugins: {
3 | autoprefixer: {}
4 | }
5 | }
--------------------------------------------------------------------------------
/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spider-yamet/vue-haystack-ui/master/public/favicon.ico
--------------------------------------------------------------------------------
/public/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spider-yamet/vue-haystack-ui/master/public/favicon.png
--------------------------------------------------------------------------------
/src/assets/scss/bootstrap/utilities/_clearfix.scss:
--------------------------------------------------------------------------------
1 | .clearfix {
2 | @include clearfix();
3 | }
4 |
--------------------------------------------------------------------------------
/public/img/brand/blue.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spider-yamet/vue-haystack-ui/master/public/img/brand/blue.png
--------------------------------------------------------------------------------
/public/img/brand/white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spider-yamet/vue-haystack-ui/master/public/img/brand/white.png
--------------------------------------------------------------------------------
/public/img/brand/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spider-yamet/vue-haystack-ui/master/public/img/brand/favicon.png
--------------------------------------------------------------------------------
/public/img/theme/landing.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spider-yamet/vue-haystack-ui/master/public/img/theme/landing.jpg
--------------------------------------------------------------------------------
/public/img/theme/profile.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spider-yamet/vue-haystack-ui/master/public/img/theme/profile.jpg
--------------------------------------------------------------------------------
/public/img/theme/promo-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spider-yamet/vue-haystack-ui/master/public/img/theme/promo-1.png
--------------------------------------------------------------------------------
/src/assets/scss/custom/_grid.scss:
--------------------------------------------------------------------------------
1 | @include media-breakpoint-up(lg) {
2 | .container-lg {
3 | max-width: 1160px;
4 | }
5 | }
--------------------------------------------------------------------------------
/src/assets/scss/custom/utilities/_sizing.scss:
--------------------------------------------------------------------------------
1 | // Height values in vh
2 |
3 | .h-100vh {
4 | height: 100vh !important;
5 | }
6 |
--------------------------------------------------------------------------------
/public/img/theme/img-1-1200x1000.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spider-yamet/vue-haystack-ui/master/public/img/theme/img-1-1200x1000.jpg
--------------------------------------------------------------------------------
/public/img/theme/img-2-1200x1000.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spider-yamet/vue-haystack-ui/master/public/img/theme/img-2-1200x1000.jpg
--------------------------------------------------------------------------------
/public/img/theme/team-1-800x800.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spider-yamet/vue-haystack-ui/master/public/img/theme/team-1-800x800.jpg
--------------------------------------------------------------------------------
/public/img/theme/team-2-800x800.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spider-yamet/vue-haystack-ui/master/public/img/theme/team-2-800x800.jpg
--------------------------------------------------------------------------------
/public/img/theme/team-3-800x800.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spider-yamet/vue-haystack-ui/master/public/img/theme/team-3-800x800.jpg
--------------------------------------------------------------------------------
/public/img/theme/team-4-800x800.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spider-yamet/vue-haystack-ui/master/public/img/theme/team-4-800x800.jpg
--------------------------------------------------------------------------------
/public/img/brand/github-white-slim.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spider-yamet/vue-haystack-ui/master/public/img/brand/github-white-slim.png
--------------------------------------------------------------------------------
/public/img/brand/creativetim-white-slim.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spider-yamet/vue-haystack-ui/master/public/img/brand/creativetim-white-slim.png
--------------------------------------------------------------------------------
/src/assets/scss/bootstrap/_media.scss:
--------------------------------------------------------------------------------
1 | .media {
2 | display: flex;
3 | align-items: flex-start;
4 | }
5 |
6 | .media-body {
7 | flex: 1;
8 | }
9 |
--------------------------------------------------------------------------------
/src/assets/scss/bootstrap/mixins/_box-shadow.scss:
--------------------------------------------------------------------------------
1 | @mixin box-shadow($shadow...) {
2 | @if $enable-shadows {
3 | box-shadow: $shadow;
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/src/assets/vendor/nucleo/fonts/nucleo-icons.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spider-yamet/vue-haystack-ui/master/src/assets/vendor/nucleo/fonts/nucleo-icons.eot
--------------------------------------------------------------------------------
/src/assets/vendor/nucleo/fonts/nucleo-icons.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spider-yamet/vue-haystack-ui/master/src/assets/vendor/nucleo/fonts/nucleo-icons.ttf
--------------------------------------------------------------------------------
/src/assets/vendor/nucleo/fonts/nucleo-icons.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spider-yamet/vue-haystack-ui/master/src/assets/vendor/nucleo/fonts/nucleo-icons.woff
--------------------------------------------------------------------------------
/src/components/Tabs/PillsLayout.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/src/assets/scss/bootstrap/mixins/_clearfix.scss:
--------------------------------------------------------------------------------
1 | @mixin clearfix() {
2 | &::after {
3 | display: block;
4 | clear: both;
5 | content: "";
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/src/assets/scss/bootstrap/mixins/_size.scss:
--------------------------------------------------------------------------------
1 | // Sizing shortcuts
2 |
3 | @mixin size($width, $height: $width) {
4 | width: $width;
5 | height: $height;
6 | }
7 |
--------------------------------------------------------------------------------
/src/assets/vendor/nucleo/fonts/nucleo-icons.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spider-yamet/vue-haystack-ui/master/src/assets/vendor/nucleo/fonts/nucleo-icons.woff2
--------------------------------------------------------------------------------
/src/assets/vendor/font-awesome/fonts/FontAwesome.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spider-yamet/vue-haystack-ui/master/src/assets/vendor/font-awesome/fonts/FontAwesome.otf
--------------------------------------------------------------------------------
/src/assets/vendor/font-awesome/fonts/fontawesome-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spider-yamet/vue-haystack-ui/master/src/assets/vendor/font-awesome/fonts/fontawesome-webfont.eot
--------------------------------------------------------------------------------
/src/assets/vendor/font-awesome/fonts/fontawesome-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spider-yamet/vue-haystack-ui/master/src/assets/vendor/font-awesome/fonts/fontawesome-webfont.ttf
--------------------------------------------------------------------------------
/src/assets/vendor/font-awesome/fonts/fontawesome-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spider-yamet/vue-haystack-ui/master/src/assets/vendor/font-awesome/fonts/fontawesome-webfont.woff
--------------------------------------------------------------------------------
/src/assets/vendor/font-awesome/fonts/fontawesome-webfont.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spider-yamet/vue-haystack-ui/master/src/assets/vendor/font-awesome/fonts/fontawesome-webfont.woff2
--------------------------------------------------------------------------------
/src/views/Starter.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 | Hello World
4 |
5 |
6 |
9 |
11 |
--------------------------------------------------------------------------------
/src/assets/scss/custom/mixins/_icon.scss:
--------------------------------------------------------------------------------
1 | @mixin icon-shape-variant($color) {
2 | color: saturate(darken($color, 10%), 10);
3 | background-color: transparentize(lighten($color, 10%), .5);
4 | }
--------------------------------------------------------------------------------
/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | presets: [
3 | [
4 | "@vue/app",
5 | {
6 | "polyfills": ["es7.object.entries", "es6.promise"]
7 | }
8 | ]
9 | ]
10 | };
11 |
--------------------------------------------------------------------------------
/src/assets/scss/bootstrap/mixins/_visibility.scss:
--------------------------------------------------------------------------------
1 | // stylelint-disable declaration-no-important
2 |
3 | // Visibility
4 |
5 | @mixin invisible($visibility) {
6 | visibility: $visibility !important;
7 | }
8 |
--------------------------------------------------------------------------------
/src/assets/scss/bootstrap/utilities/_screenreaders.scss:
--------------------------------------------------------------------------------
1 | //
2 | // Screenreaders
3 | //
4 |
5 | .sr-only {
6 | @include sr-only();
7 | }
8 |
9 | .sr-only-focusable {
10 | @include sr-only-focusable();
11 | }
12 |
--------------------------------------------------------------------------------
/src/assets/scss/bootstrap/utilities/_visibility.scss:
--------------------------------------------------------------------------------
1 | //
2 | // Visibility utilities
3 | //
4 |
5 | .visible {
6 | @include invisible(visible);
7 | }
8 |
9 | .invisible {
10 | @include invisible(hidden);
11 | }
12 |
--------------------------------------------------------------------------------
/src/assets/scss/bootstrap/mixins/_lists.scss:
--------------------------------------------------------------------------------
1 | // Lists
2 |
3 | // Unstyled keeps list items block level, just removes default browser padding and list-style
4 | @mixin list-unstyled {
5 | padding-left: 0;
6 | list-style: none;
7 | }
8 |
--------------------------------------------------------------------------------
/src/assets/scss/bootstrap/mixins/_text-truncate.scss:
--------------------------------------------------------------------------------
1 | // Text truncate
2 | // Requires inline-block or block for proper styling
3 |
4 | @mixin text-truncate() {
5 | overflow: hidden;
6 | text-overflow: ellipsis;
7 | white-space: nowrap;
8 | }
9 |
--------------------------------------------------------------------------------
/src/assets/scss/bootstrap/mixins/_resize.scss:
--------------------------------------------------------------------------------
1 | // Resize anything
2 |
3 | @mixin resizable($direction) {
4 | overflow: auto; // Per CSS3 UI, `resize` only applies when `overflow` isn't `visible`
5 | resize: $direction; // Options: horizontal, vertical, both
6 | }
7 |
--------------------------------------------------------------------------------
/src/assets/scss/bootstrap/mixins/_float.scss:
--------------------------------------------------------------------------------
1 | // stylelint-disable declaration-no-important
2 |
3 | @mixin float-left {
4 | float: left !important;
5 | }
6 | @mixin float-right {
7 | float: right !important;
8 | }
9 | @mixin float-none {
10 | float: none !important;
11 | }
12 |
--------------------------------------------------------------------------------
/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | # Changelog
2 |
3 | ##[1.1.0] 2019-02-12
4 | - Package updates
5 | - SSR fixes for checkboxes and radio
6 | - IE fixes
7 | - Best practices & accessibility improvements + pwa support
8 |
9 | ## [1.0.0] 2018-08-14
10 | Initial stable release
11 | ### Original Release
12 |
--------------------------------------------------------------------------------
/src/assets/scss/bootstrap/utilities/_shadows.scss:
--------------------------------------------------------------------------------
1 | // stylelint-disable declaration-no-important
2 |
3 | .shadow-sm { box-shadow: $box-shadow-sm !important; }
4 | .shadow { box-shadow: $box-shadow !important; }
5 | .shadow-lg { box-shadow: $box-shadow-lg !important; }
6 | .shadow-none { box-shadow: none !important; }
7 |
--------------------------------------------------------------------------------
/src/assets/scss/custom/_popover.scss:
--------------------------------------------------------------------------------
1 | .popover {
2 | border: 0;
3 | }
4 |
5 | .popover-header {
6 | font-weight: $font-weight-bold;
7 | }
8 |
9 | // Alternative colors
10 | @each $color, $value in $theme-colors {
11 | .popover-#{$color} {
12 | @include popover-variant($value);
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | node_modules
3 | /dist
4 |
5 | # local env files
6 | .env.local
7 | .env.*.local
8 |
9 | # Log files
10 | npm-debug.log*
11 | yarn-debug.log*
12 | yarn-error.log*
13 |
14 | # Editor directories and files
15 | .idea
16 | .vscode
17 | *.suo
18 | *.ntvs*
19 | *.njsproj
20 | *.sln
21 | *.sw*
22 |
--------------------------------------------------------------------------------
/src/assets/scss/custom/_mixins.scss:
--------------------------------------------------------------------------------
1 | @import "./mixins/alert.scss";
2 | @import "./mixins/badge.scss";
3 | @import "./mixins/background-variant.scss";
4 | @import "./mixins/buttons.scss";
5 | @import "./mixins/forms.scss";
6 | @import "./mixins/icon.scss";
7 | @import "./mixins/modals.scss";
8 | @import "./mixins/popover.scss";
9 |
--------------------------------------------------------------------------------
/src/assets/scss/bootstrap/mixins/_badge.scss:
--------------------------------------------------------------------------------
1 | @mixin badge-variant($bg) {
2 | color: color-yiq($bg);
3 | background-color: $bg;
4 |
5 | &[href] {
6 | @include hover-focus {
7 | color: color-yiq($bg);
8 | text-decoration: none;
9 | background-color: darken($bg, 10%);
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/src/assets/scss/bootstrap/mixins/_alert.scss:
--------------------------------------------------------------------------------
1 | @mixin alert-variant($background, $border, $color) {
2 | color: $color;
3 | @include gradient-bg($background);
4 | border-color: $border;
5 |
6 | hr {
7 | border-top-color: darken($border, 5%);
8 | }
9 |
10 | .alert-link {
11 | color: darken($color, 10%);
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/src/components/stringUtils.js:
--------------------------------------------------------------------------------
1 | export function randomString(length = 7) {
2 | const possibleChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
3 | let text = "";
4 |
5 | for (let i = 0; i < length; i++)
6 | text += possibleChars.charAt(Math.floor(Math.random() * possibleChars.length));
7 |
8 | return text;
9 | }
10 |
--------------------------------------------------------------------------------
/src/assets/scss/custom/utilities/_transform.scss:
--------------------------------------------------------------------------------
1 | @include media-breakpoint-up(lg) {
2 | .transform-perspective-right {
3 | transform: scale(1) perspective(1040px) rotateY(-11deg) rotateX(2deg) rotate(2deg);
4 | }
5 | .transform-perspective-left{
6 | transform: scale(1) perspective(2000px) rotateY(11deg) rotateX(2deg) rotate(-2deg)
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/src/assets/scss/bootstrap/mixins/_nav-divider.scss:
--------------------------------------------------------------------------------
1 | // Horizontal dividers
2 | //
3 | // Dividers (basically an hr) within dropdowns and nav lists
4 |
5 | @mixin nav-divider($color: $nav-divider-color, $margin-y: $nav-divider-margin-y) {
6 | height: 0;
7 | margin: $margin-y 0;
8 | overflow: hidden;
9 | border-top: 1px solid $color;
10 | }
11 |
--------------------------------------------------------------------------------
/src/assets/scss/bootstrap/mixins/_text-emphasis.scss:
--------------------------------------------------------------------------------
1 | // stylelint-disable declaration-no-important
2 |
3 | // Typography
4 |
5 | @mixin text-emphasis-variant($parent, $color) {
6 | #{$parent} {
7 | color: $color !important;
8 | }
9 | a#{$parent} {
10 | @include hover-focus {
11 | color: darken($color, 10%) !important;
12 | }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/src/assets/scss/custom/mixins/_alert.scss:
--------------------------------------------------------------------------------
1 | @mixin alert-variant($background, $border, $color) {
2 | color: color-yiq($background);
3 | @include gradient-bg($background);
4 | border-color: $border;
5 |
6 | hr {
7 | border-top-color: darken($border, 5%);
8 | }
9 |
10 | .alert-link {
11 | color: darken($color, 10%);
12 | }
13 | }
--------------------------------------------------------------------------------
/src/assets/scss/bootstrap/mixins/_transition.scss:
--------------------------------------------------------------------------------
1 | @mixin transition($transition...) {
2 | @if $enable-transitions {
3 | @if length($transition) == 0 {
4 | transition: $transition-base;
5 | } @else {
6 | transition: $transition;
7 | }
8 | }
9 |
10 | @media screen and (prefers-reduced-motion: reduce) {
11 | transition: none;
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/src/assets/scss/custom/_utilities.scss:
--------------------------------------------------------------------------------
1 | @import "custom/utilities/backgrounds.scss";
2 | @import "custom/utilities/floating.scss";
3 | @import "custom/utilities/helper.scss";
4 | @import "custom/utilities/sizing.scss";
5 | @import "custom/utilities/spacing.scss";
6 | @import "custom/utilities/shadows.scss";
7 | @import "custom/utilities/text.scss";
8 | @import "custom/utilities/transform.scss";
--------------------------------------------------------------------------------
/src/assets/scss/custom/mixins/_badge.scss:
--------------------------------------------------------------------------------
1 | @mixin badge-variant($bg) {
2 | color: saturate(darken($bg, 10%), 10);
3 | background-color: transparentize(lighten($bg, 25%), .5);
4 |
5 | &[href] {
6 | @include hover-focus {
7 | color: color-yiq($bg);
8 | text-decoration: none;
9 | background-color: darken($bg, 10%);
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/src/plugins/globalDirectives.js:
--------------------------------------------------------------------------------
1 | import clickOutside from "../directives/click-ouside.js";
2 |
3 | /**
4 | * You can register global directives here and use them as a plugin in your main Vue instance
5 | */
6 |
7 | const GlobalDirectives = {
8 | install(Vue) {
9 | Vue.directive("click-outside", clickOutside);
10 | }
11 | };
12 |
13 | export default GlobalDirectives;
14 |
--------------------------------------------------------------------------------
/src/assets/scss/bootstrap/utilities/_sizing.scss:
--------------------------------------------------------------------------------
1 | // stylelint-disable declaration-no-important
2 |
3 | // Width and height
4 |
5 | @each $prop, $abbrev in (width: w, height: h) {
6 | @each $size, $length in $sizes {
7 | .#{$abbrev}-#{$size} { #{$prop}: $length !important; }
8 | }
9 | }
10 |
11 | .mw-100 { max-width: 100% !important; }
12 | .mh-100 { max-height: 100% !important; }
13 |
--------------------------------------------------------------------------------
/src/assets/scss/bootstrap/utilities/_float.scss:
--------------------------------------------------------------------------------
1 | @each $breakpoint in map-keys($grid-breakpoints) {
2 | @include media-breakpoint-up($breakpoint) {
3 | $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
4 |
5 | .float#{$infix}-left { @include float-left; }
6 | .float#{$infix}-right { @include float-right; }
7 | .float#{$infix}-none { @include float-none; }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/.eslintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | root: true,
3 | env: {
4 | node: true
5 | },
6 | 'extends': [
7 | 'plugin:vue/essential'
8 | ],
9 | rules: {
10 | 'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off',
11 | 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off'
12 | },
13 | parserOptions: {
14 | parser: 'babel-eslint'
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/src/assets/scss/custom/utilities/_shadows.scss:
--------------------------------------------------------------------------------
1 | [class*="shadow"] {
2 | @if $enable-transitions {
3 | transition: $transition-base;
4 | }
5 | }
6 |
7 | .shadow-sm--hover:hover { box-shadow: $box-shadow-sm !important; }
8 | .shadow--hover:hover { box-shadow: $box-shadow !important; }
9 | .shadow-lg--hover:hover { box-shadow: $box-shadow-lg !important; }
10 | .shadow-none--hover:hover { box-shadow: none !important; }
11 |
--------------------------------------------------------------------------------
/src/components/Tabs/TabsLayout.vue:
--------------------------------------------------------------------------------
1 |
2 |
12 |
13 |
14 |
19 |
--------------------------------------------------------------------------------
/src/assets/scss/bootstrap/_transitions.scss:
--------------------------------------------------------------------------------
1 | // stylelint-disable selector-no-qualifying-type
2 |
3 | .fade {
4 | @include transition($transition-fade);
5 |
6 | &:not(.show) {
7 | opacity: 0;
8 | }
9 | }
10 |
11 | .collapse {
12 | &:not(.show) {
13 | display: none;
14 | }
15 | }
16 |
17 | .collapsing {
18 | position: relative;
19 | height: 0;
20 | overflow: hidden;
21 | @include transition($transition-collapse);
22 | }
23 |
--------------------------------------------------------------------------------
/ISSUE_TEMPLATE.md:
--------------------------------------------------------------------------------
1 |
8 |
9 |
14 |
--------------------------------------------------------------------------------
/src/assets/scss/bootstrap/_jumbotron.scss:
--------------------------------------------------------------------------------
1 | .jumbotron {
2 | padding: $jumbotron-padding ($jumbotron-padding / 2);
3 | margin-bottom: $jumbotron-padding;
4 | background-color: $jumbotron-bg;
5 | @include border-radius($border-radius-lg);
6 |
7 | @include media-breakpoint-up(sm) {
8 | padding: ($jumbotron-padding * 2) $jumbotron-padding;
9 | }
10 | }
11 |
12 | .jumbotron-fluid {
13 | padding-right: 0;
14 | padding-left: 0;
15 | @include border-radius(0);
16 | }
17 |
--------------------------------------------------------------------------------
/src/assets/scss/bootstrap/utilities/_align.scss:
--------------------------------------------------------------------------------
1 | // stylelint-disable declaration-no-important
2 |
3 | .align-baseline { vertical-align: baseline !important; } // Browser default
4 | .align-top { vertical-align: top !important; }
5 | .align-middle { vertical-align: middle !important; }
6 | .align-bottom { vertical-align: bottom !important; }
7 | .align-text-bottom { vertical-align: text-bottom !important; }
8 | .align-text-top { vertical-align: text-top !important; }
9 |
--------------------------------------------------------------------------------
/src/assets/scss/bootstrap/mixins/_text-hide.scss:
--------------------------------------------------------------------------------
1 | // CSS image replacement
2 | @mixin text-hide($ignore-warning: false) {
3 | // stylelint-disable-next-line font-family-no-missing-generic-family-keyword
4 | font: 0/0 a;
5 | color: transparent;
6 | text-shadow: none;
7 | background-color: transparent;
8 | border: 0;
9 |
10 | @if ($ignore-warning != true) {
11 | @warn "The `text-hide()` mixin has been deprecated as of v4.1.0. It will be removed entirely in v5.";
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/src/plugins/argon-kit.js:
--------------------------------------------------------------------------------
1 | import "@/assets/vendor/nucleo/css/nucleo.css";
2 | import "@/assets/vendor/font-awesome/css/font-awesome.css";
3 | import "@/assets/scss/argon.scss";
4 | import globalComponents from "./globalComponents";
5 | import globalDirectives from "./globalDirectives";
6 | import VueLazyload from "vue-lazyload";
7 |
8 | export default {
9 | install(Vue) {
10 | Vue.use(globalComponents);
11 | Vue.use(globalDirectives);
12 | Vue.use(VueLazyload);
13 | }
14 | };
15 |
--------------------------------------------------------------------------------
/src/assets/scss/custom/mixins/_modals.scss:
--------------------------------------------------------------------------------
1 | @mixin modal-variant($background) {
2 | .modal-title {
3 | color: color-yiq($background);
4 | }
5 | .modal-header,
6 | .modal-footer {
7 | border-color: rgba(color-yiq($background), .075);
8 | }
9 | .modal-content {
10 | background-color: $background;
11 | color: color-yiq($background);
12 |
13 | .heading {
14 | color: color-yiq($background);
15 | }
16 | }
17 |
18 | .close {
19 | &>span:not(.sr-only) {
20 | color: $white;
21 | }
22 | }
23 | }
--------------------------------------------------------------------------------
/src/assets/scss/bootstrap/utilities/_background.scss:
--------------------------------------------------------------------------------
1 | // stylelint-disable declaration-no-important
2 |
3 | @each $color, $value in $theme-colors {
4 | @include bg-variant(".bg-#{$color}", $value);
5 | }
6 |
7 | @if $enable-gradients {
8 | @each $color, $value in $theme-colors {
9 | @include bg-gradient-variant(".bg-gradient-#{$color}", $value);
10 | }
11 | }
12 |
13 | .bg-white {
14 | background-color: $white !important;
15 | }
16 |
17 | .bg-transparent {
18 | background-color: transparent !important;
19 | }
20 |
--------------------------------------------------------------------------------
/src/assets/scss/bootstrap/_utilities.scss:
--------------------------------------------------------------------------------
1 | @import "utilities/align";
2 | @import "utilities/background";
3 | @import "utilities/borders";
4 | @import "utilities/clearfix";
5 | @import "utilities/display";
6 | @import "utilities/embed";
7 | @import "utilities/flex";
8 | @import "utilities/float";
9 | @import "utilities/position";
10 | @import "utilities/screenreaders";
11 | @import "utilities/shadows";
12 | @import "utilities/sizing";
13 | @import "utilities/spacing";
14 | @import "utilities/text";
15 | @import "utilities/visibility";
16 |
--------------------------------------------------------------------------------
/src/starterRouter.js:
--------------------------------------------------------------------------------
1 | import Vue from "vue";
2 | import Router from "vue-router";
3 | import Header from "./layout/starter/StarterHeader";
4 | import Footer from "./layout/starter/StarterFooter";
5 | import Starter from "./views/Starter.vue";
6 |
7 | Vue.use(Router);
8 |
9 | export default new Router({
10 | routes: [
11 | {
12 | path: "/",
13 | name: "starter",
14 | components: {
15 | header: Header,
16 | default: Starter,
17 | footer: Footer
18 | }
19 | }
20 | ]
21 | });
22 |
--------------------------------------------------------------------------------
/src/App.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
21 |
--------------------------------------------------------------------------------
/src/assets/scss/bootstrap/mixins/_list-group.scss:
--------------------------------------------------------------------------------
1 | // List Groups
2 |
3 | @mixin list-group-item-variant($state, $background, $color) {
4 | .list-group-item-#{$state} {
5 | color: $color;
6 | background-color: $background;
7 |
8 | &.list-group-item-action {
9 | @include hover-focus {
10 | color: $color;
11 | background-color: darken($background, 5%);
12 | }
13 |
14 | &.active {
15 | color: $white;
16 | background-color: $color;
17 | border-color: $color;
18 | }
19 | }
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/src/assets/scss/custom/_modal.scss:
--------------------------------------------------------------------------------
1 | .modal-content {
2 | border: 0;
3 | @if $enable-rounded {
4 | border-radius: $modal-content-border-radius;
5 | } @else {
6 | border-radius: 0;
7 | }
8 | }
9 |
10 |
11 | .modal-fluid {
12 | .modal-dialog {
13 | margin-top: 0;
14 | margin-bottom: 0;
15 | }
16 | .modal-content {
17 | border-radius: 0;
18 | }
19 | }
20 |
21 | @each $color, $value in $theme-colors {
22 | .modal-#{$color} {
23 | @include modal-variant($value);
24 | }
25 | }
26 |
27 |
--------------------------------------------------------------------------------
/src/assets/scss/custom/mixins/_background-variant.scss:
--------------------------------------------------------------------------------
1 | // Contextual backgrounds
2 | @mixin bg-variant($parent, $color) {
3 | #{$parent} {
4 | background-color: $color !important;
5 | }
6 | a#{$parent},
7 | button#{$parent} {
8 | @include hover-focus {
9 | background-color: darken($color, 10%) !important;
10 | }
11 | }
12 | }
13 |
14 | @mixin bg-gradient-variant($parent, $color) {
15 | #{$parent} {
16 | background: linear-gradient(87deg, $color 0, adjust-hue($color, 25%) 100%) !important;
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/src/assets/scss/custom/vendor/_headroom.scss:
--------------------------------------------------------------------------------
1 |
2 | .headroom {
3 | will-change: transform;
4 | transition: $transition-base;
5 | background-color: inherit;
6 | }
7 | .headroom--pinned {
8 | @extend .position-fixed;
9 | transform: translateY(0%);
10 | }
11 | .headroom--unpinned {
12 | @extend .position-fixed;
13 | transform: translateY(-100%);
14 | }
15 |
16 | .headroom--not-top {
17 | padding-top: .5rem;
18 | padding-bottom: .5rem;
19 | background-color: theme-color("default") !important;
20 | box-shadow: 0 1px 10px rgba(130, 130, 134, 0.1);
21 | }
--------------------------------------------------------------------------------
/src/assets/scss/bootstrap/mixins/_pagination.scss:
--------------------------------------------------------------------------------
1 | // Pagination
2 |
3 | @mixin pagination-size($padding-y, $padding-x, $font-size, $line-height, $border-radius) {
4 | .page-link {
5 | padding: $padding-y $padding-x;
6 | font-size: $font-size;
7 | line-height: $line-height;
8 | }
9 |
10 | .page-item {
11 | &:first-child {
12 | .page-link {
13 | @include border-left-radius($border-radius);
14 | }
15 | }
16 | &:last-child {
17 | .page-link {
18 | @include border-right-radius($border-radius);
19 | }
20 | }
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/src/assets/scss/bootstrap/mixins/_background-variant.scss:
--------------------------------------------------------------------------------
1 | // stylelint-disable declaration-no-important
2 |
3 | // Contextual backgrounds
4 |
5 | @mixin bg-variant($parent, $color) {
6 | #{$parent} {
7 | background-color: $color !important;
8 | }
9 | a#{$parent},
10 | button#{$parent} {
11 | @include hover-focus {
12 | background-color: darken($color, 10%) !important;
13 | }
14 | }
15 | }
16 |
17 | @mixin bg-gradient-variant($parent, $color) {
18 | #{$parent} {
19 | background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x !important;
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/src/directives/click-ouside.js:
--------------------------------------------------------------------------------
1 | export default {
2 | bind: function(el, binding, vnode) {
3 | el.clickOutsideEvent = function(event) {
4 | // here I check that click was outside the el and his childrens
5 | if (!(el == event.target || el.contains(event.target))) {
6 | // and if it did, call method provided in attribute value
7 | vnode.context[binding.expression](event);
8 | }
9 | };
10 | document.body.addEventListener("click", el.clickOutsideEvent);
11 | },
12 | unbind: function(el) {
13 | document.body.removeEventListener("click", el.clickOutsideEvent);
14 | }
15 | };
16 |
--------------------------------------------------------------------------------
/vue.config.js:
--------------------------------------------------------------------------------
1 | const webpack = require('webpack');
2 |
3 | module.exports = {
4 | configureWebpack: {
5 | // Set up all the aliases we use in our app.
6 | plugins: [
7 | new webpack.optimize.LimitChunkCountPlugin({
8 | maxChunks: 6
9 | })
10 | ]
11 | },
12 | pwa: {
13 | name: 'Vue Argon Design',
14 | themeColor: '#172b4d',
15 | msTileColor: '#172b4d',
16 | appleMobileWebAppCapable: 'yes',
17 | appleMobileWebAppStatusBarStyle: '#172b4d'
18 | },
19 | css: {
20 | // Enable CSS source maps.
21 | sourceMap: process.env.NODE_ENV !== 'production'
22 | }
23 | };
24 |
--------------------------------------------------------------------------------
/src/assets/scss/bootstrap/mixins/_reset-text.scss:
--------------------------------------------------------------------------------
1 | @mixin reset-text {
2 | font-family: $font-family-base;
3 | // We deliberately do NOT reset font-size or word-wrap.
4 | font-style: normal;
5 | font-weight: $font-weight-normal;
6 | line-height: $line-height-base;
7 | text-align: left; // Fallback for where `start` is not supported
8 | text-align: start; // stylelint-disable-line declaration-block-no-duplicate-properties
9 | text-decoration: none;
10 | text-shadow: none;
11 | text-transform: none;
12 | letter-spacing: normal;
13 | word-break: normal;
14 | word-spacing: normal;
15 | white-space: normal;
16 | line-break: auto;
17 | }
18 |
--------------------------------------------------------------------------------
/src/assets/scss/custom/_reboot.scss:
--------------------------------------------------------------------------------
1 | @at-root {
2 | @-ms-viewport{
3 | width: device-width;
4 | }
5 | }
6 | html {
7 | box-sizing: border-box;
8 | -ms-overflow-style: scrollbar;
9 | -webkit-font-smoothing: antialiased;
10 | -moz-osx-font-smoothing: grayscale;
11 | }
12 | body {
13 | font-family: $font-family-base;
14 | font-size: $font-size-base;
15 | line-height: $line-height-base;
16 | color: $body-color;
17 | background-color: $body-bg;
18 | }
19 |
20 | iframe {
21 | border: 0;
22 | }
23 | figcaption,
24 | figure,
25 | main {
26 | display: block;
27 | }
28 |
29 | main {
30 | overflow: hidden;
31 | }
--------------------------------------------------------------------------------
/src/assets/scss/bootstrap/_root.scss:
--------------------------------------------------------------------------------
1 | :root {
2 | // Custom variable values only support SassScript inside `#{}`.
3 | @each $color, $value in $colors {
4 | --#{$color}: #{$value};
5 | }
6 |
7 | @each $color, $value in $theme-colors {
8 | --#{$color}: #{$value};
9 | }
10 |
11 | @each $bp, $value in $grid-breakpoints {
12 | --breakpoint-#{$bp}: #{$value};
13 | }
14 |
15 | // Use `inspect` for lists so that quoted items keep the quotes.
16 | // See https://github.com/sass/sass/issues/2383#issuecomment-336349172
17 | --font-family-sans-serif: #{inspect($font-family-sans-serif)};
18 | --font-family-monospace: #{inspect($font-family-monospace)};
19 | }
20 |
--------------------------------------------------------------------------------
/src/assets/scss/custom/_functions.scss:
--------------------------------------------------------------------------------
1 | // Retrieve color Sass maps
2 |
3 | @function section-color($key: "primary") {
4 | @return map-get($section-colors, $key);
5 | }
6 |
7 | // Lines colors
8 |
9 | @function shapes-primary-color($key: "step-1-gradient-bg") {
10 | @return map-get($shapes-primary-colors, $key);
11 | }
12 |
13 | @function shapes-default-color($key: "step-1-gradient-bg") {
14 | @return map-get($shapes-default-colors, $key);
15 | }
16 |
17 | @function lines-light-color($key: "step-1-gradient-bg") {
18 | @return map-get($shapes-light-colors, $key);
19 | }
20 |
21 | @function shapes-dark-color($key: "step-1-gradient-bg") {
22 | @return map-get($shapes-dark-colors, $key);
23 | }
--------------------------------------------------------------------------------
/src/components/NavbarToggleButton.vue:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
10 |
11 |
26 |
28 |
--------------------------------------------------------------------------------
/src/components/Tabs/TabPane.vue:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
9 |
10 |
31 |
33 |
--------------------------------------------------------------------------------
/src/components/BaseSwitch.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 |
9 |
10 |
33 |
35 |
--------------------------------------------------------------------------------
/src/assets/scss/custom/mixins/_popover.scss:
--------------------------------------------------------------------------------
1 | @mixin popover-variant($background) {
2 |
3 | background-color: $background;
4 |
5 | .popover-header {
6 | background-color: $background;
7 | color: color-yiq($background);
8 | }
9 |
10 | .popover-body {
11 | color: color-yiq($background);
12 | }
13 | .popover-header{
14 | border-color: rgba(color-yiq($background), .2);
15 | }
16 | &.bs-popover-top {
17 | .arrow::after {
18 | border-top-color: $background;
19 | }
20 | }
21 | &.bs-popover-right {
22 | .arrow::after {
23 | border-right-color: $background;
24 | }
25 | }
26 | &.bs-popover-bottom {
27 | .arrow::after {
28 | border-bottom-color: $background;
29 | }
30 | }
31 | &.bs-popover-left {
32 | .arrow::after {
33 | border-left-color: $background;
34 | }
35 | }
36 | }
--------------------------------------------------------------------------------
/src/assets/scss/custom/_close.scss:
--------------------------------------------------------------------------------
1 | .close {
2 | @if $enable-transitions {
3 | transition: $transition-base;
4 | }
5 | &>span:not(.sr-only) {
6 | background-color: $close-bg;
7 | color: $close-color;
8 | line-height: 17px;
9 | height: 1.25rem;
10 | width: 1.25rem;
11 | border-radius: 50%;
12 | font-size: 1.25rem;
13 | display: block;
14 | @if $enable-transitions {
15 | transition: $transition-base;
16 | }
17 | }
18 |
19 | &:hover,
20 | &:focus {
21 | background-color: $close-hover-bg;
22 | color: $close-hover-color;
23 | outline: none;
24 |
25 | span:not(.sr-only) {
26 | background-color: $close-hover-bg;
27 | }
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/src/assets/scss/bootstrap/mixins/_table-row.scss:
--------------------------------------------------------------------------------
1 | // Tables
2 |
3 | @mixin table-row-variant($state, $background) {
4 | // Exact selectors below required to override `.table-striped` and prevent
5 | // inheritance to nested tables.
6 | .table-#{$state} {
7 | &,
8 | > th,
9 | > td {
10 | background-color: $background;
11 | }
12 | }
13 |
14 | // Hover states for `.table-hover`
15 | // Note: this is not available for cells or rows within `thead` or `tfoot`.
16 | .table-hover {
17 | $hover-background: darken($background, 5%);
18 |
19 | .table-#{$state} {
20 | @include hover {
21 | background-color: $hover-background;
22 |
23 | > td,
24 | > th {
25 | background-color: $hover-background;
26 | }
27 | }
28 | }
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/src/assets/scss/bootstrap/utilities/_position.scss:
--------------------------------------------------------------------------------
1 | // stylelint-disable declaration-no-important
2 |
3 | // Common values
4 |
5 | // Sass list not in variables since it's not intended for customization.
6 | // stylelint-disable-next-line scss/dollar-variable-default
7 | $positions: static, relative, absolute, fixed, sticky;
8 |
9 | @each $position in $positions {
10 | .position-#{$position} { position: $position !important; }
11 | }
12 |
13 | // Shorthand
14 |
15 | .fixed-top {
16 | position: fixed;
17 | top: 0;
18 | right: 0;
19 | left: 0;
20 | z-index: $zindex-fixed;
21 | }
22 |
23 | .fixed-bottom {
24 | position: fixed;
25 | right: 0;
26 | bottom: 0;
27 | left: 0;
28 | z-index: $zindex-fixed;
29 | }
30 |
31 | .sticky-top {
32 | @supports (position: sticky) {
33 | position: sticky;
34 | top: 0;
35 | z-index: $zindex-sticky;
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/src/assets/scss/custom/_list-group.scss:
--------------------------------------------------------------------------------
1 | // Space list items
2 |
3 | .list-group-space {
4 | .list-group-item {
5 | margin-bottom: 1.5rem;
6 | @include border-radius($list-group-border-radius);
7 | }
8 | }
9 |
10 |
11 | // List group components
12 |
13 | .list-group-img {
14 | width: 3rem;
15 | height: 3rem;
16 | border-radius: 50%;
17 | vertical-align: top;
18 | margin: -.1rem 1.2rem 0 -.2rem;
19 | }
20 | .list-group-content {
21 | -webkit-box-flex: 1;
22 | -ms-flex: 1;
23 | flex: 1;
24 | min-width: 0;
25 | }
26 | .list-group-content > p {
27 | color: $gray-500;
28 | line-height: 1.5;
29 | margin: .2rem 0 0;
30 | }
31 | .list-group-heading {
32 | font-size: $font-size-base;
33 | color: $gray-800;
34 | }
35 | .list-group-heading > small {
36 | float: right;
37 | color: $gray-500;
38 | font-weight: 500;
39 | }
40 |
--------------------------------------------------------------------------------
/src/assets/scss/custom/_pagination.scss:
--------------------------------------------------------------------------------
1 | .page-item {
2 | &.active .page-link {
3 | box-shadow: $pagination-active-box-shadow;
4 | }
5 |
6 | .page-link,
7 | span {
8 | display: flex;
9 | align-items: center;
10 | justify-content: center;
11 | padding: 0;
12 | margin: 0 3px;
13 | border-radius: 50% !important;
14 | width: 36px;
15 | height: 36px;
16 | font-size: $font-size-sm;
17 | }
18 | }
19 |
20 | .pagination-lg {
21 | .page-item {
22 | .page-link,
23 | span {
24 | width: 46px;
25 | height: 46px;
26 | line-height: 46px;
27 | }
28 | }
29 | }
30 |
31 | .pagination-sm {
32 | .page-item {
33 | .page-link,
34 | span {
35 | width: 30px;
36 | height: 30px;
37 | line-height: 30px;
38 | }
39 | }
40 | }
--------------------------------------------------------------------------------
/src/components/CloseButton.vue:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
11 |
12 |
13 |
33 |
35 |
--------------------------------------------------------------------------------
/src/components/Tabs/Tab.vue:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
8 |
9 |
41 |
43 |
--------------------------------------------------------------------------------
/src/assets/scss/bootstrap/mixins/_border-radius.scss:
--------------------------------------------------------------------------------
1 | // Single side border-radius
2 |
3 | @mixin border-radius($radius: $border-radius) {
4 | @if $enable-rounded {
5 | border-radius: $radius;
6 | }
7 | }
8 |
9 | @mixin border-top-radius($radius) {
10 | @if $enable-rounded {
11 | border-top-left-radius: $radius;
12 | border-top-right-radius: $radius;
13 | }
14 | }
15 |
16 | @mixin border-right-radius($radius) {
17 | @if $enable-rounded {
18 | border-top-right-radius: $radius;
19 | border-bottom-right-radius: $radius;
20 | }
21 | }
22 |
23 | @mixin border-bottom-radius($radius) {
24 | @if $enable-rounded {
25 | border-bottom-right-radius: $radius;
26 | border-bottom-left-radius: $radius;
27 | }
28 | }
29 |
30 | @mixin border-left-radius($radius) {
31 | @if $enable-rounded {
32 | border-top-left-radius: $radius;
33 | border-bottom-left-radius: $radius;
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/src/assets/scss/bootstrap/mixins/_screen-reader.scss:
--------------------------------------------------------------------------------
1 | // Only display content to screen readers
2 | //
3 | // See: https://a11yproject.com/posts/how-to-hide-content/
4 | // See: https://hugogiraudel.com/2016/10/13/css-hide-and-seek/
5 |
6 | @mixin sr-only {
7 | position: absolute;
8 | width: 1px;
9 | height: 1px;
10 | padding: 0;
11 | overflow: hidden;
12 | clip: rect(0, 0, 0, 0);
13 | white-space: nowrap;
14 | border: 0;
15 | }
16 |
17 | // Use in conjunction with .sr-only to only display content when it's focused.
18 | //
19 | // Useful for "Skip to main content" links; see https://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1
20 | //
21 | // Credit: HTML5 Boilerplate
22 |
23 | @mixin sr-only-focusable {
24 | &:active,
25 | &:focus {
26 | position: static;
27 | width: auto;
28 | height: auto;
29 | overflow: visible;
30 | clip: auto;
31 | white-space: normal;
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "vue-argon-design-system",
3 | "version": "0.1.0",
4 | "private": true,
5 | "scripts": {
6 | "serve": "vue-cli-service serve",
7 | "build": "vue-cli-service build",
8 | "lint": "vue-cli-service lint"
9 | },
10 | "dependencies": {
11 | "bootstrap-vue": "^2.0.4",
12 | "flatpickr": "^4.5.1",
13 | "nouislider": "^11.1.0",
14 | "register-service-worker": "^1.5.2",
15 | "vue": "^2.6.6",
16 | "vue-flatpickr-component": "^8.1.1",
17 | "vue-lazyload": "^1.2.6",
18 | "vue-router": "^3.0.2",
19 | "vue2-transitions": "^0.2.3"
20 | },
21 | "devDependencies": {
22 | "@vue/cli-plugin-babel": "^3.4.0",
23 | "@vue/cli-plugin-eslint": "^3.4.0",
24 | "@vue/cli-plugin-pwa": "^3.4.0",
25 | "@vue/cli-service": "^3.4.0",
26 | "node-sass": "^4.11.0",
27 | "sass-loader": "^7.1.0",
28 | "vue-template-compiler": "^2.6.6"
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/src/assets/scss/custom/_avatars.scss:
--------------------------------------------------------------------------------
1 | .avatar {
2 | color: $white;
3 | background-color: $gray-500;
4 | display: inline-flex;
5 | align-items: center;
6 | justify-content: center;
7 | font-size: 1rem;
8 | border-radius: 50%;
9 | height: 48px;
10 | width: 48px;
11 | }
12 |
13 | .avatar img {
14 | width: 100%;
15 | border-radius: 50%;
16 | }
17 |
18 | .avatar + .avatar-content {
19 | display: inline-block;
20 | margin-left: .75rem;
21 | }
22 | .avatar-lg {
23 | width: 58px;
24 | height: 58px;
25 | font-size: $font-size-sm;
26 | }
27 |
28 | .avatar-sm {
29 | width: 38px;
30 | height: 38px;
31 | font-size: $font-size-sm;
32 | }
33 |
34 | // Overlapped avatars
35 |
36 | .avatar-group {
37 | .avatar {
38 | position: relative;
39 | z-index: 2;
40 | border: 2px solid $card-bg;
41 |
42 | &:hover {
43 | z-index: 3;
44 | }
45 | }
46 |
47 | .avatar + .avatar {
48 | margin-left: -1rem;
49 |
50 | }
51 | }
52 |
--------------------------------------------------------------------------------
/src/assets/scss/bootstrap/mixins/_hover.scss:
--------------------------------------------------------------------------------
1 | // Hover mixin and `$enable-hover-media-query` are deprecated.
2 | //
3 | // Originally added during our alphas and maintained during betas, this mixin was
4 | // designed to prevent `:hover` stickiness on iOS-an issue where hover styles
5 | // would persist after initial touch.
6 | //
7 | // For backward compatibility, we've kept these mixins and updated them to
8 | // always return their regular pseudo-classes instead of a shimmed media query.
9 | //
10 | // Issue: https://github.com/twbs/bootstrap/issues/25195
11 |
12 | @mixin hover {
13 | &:hover { @content; }
14 | }
15 |
16 | @mixin hover-focus {
17 | &:hover,
18 | &:focus {
19 | @content;
20 | }
21 | }
22 |
23 | @mixin plain-hover-focus {
24 | &,
25 | &:hover,
26 | &:focus {
27 | @content;
28 | }
29 | }
30 |
31 | @mixin hover-focus-active {
32 | &:hover,
33 | &:focus,
34 | &:active {
35 | @content;
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/src/views/components/Navigation/Menu6.vue:
--------------------------------------------------------------------------------
1 |
2 |
22 |
23 |
26 |
28 |
--------------------------------------------------------------------------------
/src/assets/scss/bootstrap/utilities/_embed.scss:
--------------------------------------------------------------------------------
1 | // Credit: Nicolas Gallagher and SUIT CSS.
2 |
3 | .embed-responsive {
4 | position: relative;
5 | display: block;
6 | width: 100%;
7 | padding: 0;
8 | overflow: hidden;
9 |
10 | &::before {
11 | display: block;
12 | content: "";
13 | }
14 |
15 | .embed-responsive-item,
16 | iframe,
17 | embed,
18 | object,
19 | video {
20 | position: absolute;
21 | top: 0;
22 | bottom: 0;
23 | left: 0;
24 | width: 100%;
25 | height: 100%;
26 | border: 0;
27 | }
28 | }
29 |
30 | .embed-responsive-21by9 {
31 | &::before {
32 | padding-top: percentage(9 / 21);
33 | }
34 | }
35 |
36 | .embed-responsive-16by9 {
37 | &::before {
38 | padding-top: percentage(9 / 16);
39 | }
40 | }
41 |
42 | .embed-responsive-4by3 {
43 | &::before {
44 | padding-top: percentage(3 / 4);
45 | }
46 | }
47 |
48 | .embed-responsive-1by1 {
49 | &::before {
50 | padding-top: percentage(1 / 1);
51 | }
52 | }
53 |
--------------------------------------------------------------------------------
/src/main.js:
--------------------------------------------------------------------------------
1 | /*!
2 |
3 | =========================================================
4 | * Vue Argon Design System - v1.1.0
5 | =========================================================
6 |
7 | * Product Page: https://www.creative-tim.com/product/argon-design-system
8 | * Copyright 2019 Creative Tim (https://www.creative-tim.com)
9 | * Licensed under MIT (https://github.com/creativetimofficial/argon-design-system/blob/master/LICENSE.md)
10 |
11 | * Coded by www.creative-tim.com
12 |
13 | =========================================================
14 |
15 | * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
16 |
17 | */
18 | import Vue from "vue";
19 | import App from "./App.vue";
20 | import router from "./router";
21 | import Argon from "./plugins/argon-kit";
22 | import './registerServiceWorker'
23 |
24 | Vue.config.productionTip = false;
25 | Vue.use(Argon);
26 | new Vue({
27 | router,
28 | render: h => h(App)
29 | }).$mount("#app");
30 |
--------------------------------------------------------------------------------
/src/views/components/Navigation/Menu5.vue:
--------------------------------------------------------------------------------
1 |
2 |
22 |
23 |
26 |
28 |
--------------------------------------------------------------------------------
/src/assets/scss/custom/utilities/_backgrounds.scss:
--------------------------------------------------------------------------------
1 | @each $color, $value in $colors {
2 | @include bg-variant(".bg-#{$color}", $value);
3 | }
4 |
5 | @each $color, $value in $theme-colors {
6 | @include bg-gradient-variant(".bg-gradient-#{$color}", $value);
7 | }
8 |
9 | @each $color, $value in $colors {
10 | @include bg-gradient-variant(".bg-gradient-#{$color}", $value);
11 | }
12 |
13 |
14 | // Sections
15 |
16 | section {
17 | //background-color: section-color("primary");
18 | }
19 |
20 | @each $color, $value in $section-colors {
21 | @include bg-variant(".section-#{$color}", $value);
22 | }
23 |
24 | @each $color, $value in $theme-colors {
25 | @include bg-gradient-variant(".bg-gradient-#{$color}", $value);
26 | }
27 |
28 |
29 | // Shape (svg) fill colors
30 | @each $color, $value in $theme-colors {
31 | .fill-#{$color} {
32 | fill: $value;
33 | }
34 |
35 | .stroke-#{$color} {
36 | stroke: $value;
37 | }
38 | }
39 |
40 | .fill-opacity-8 {
41 | fill-opacity: .8;
42 | }
--------------------------------------------------------------------------------
/src/assets/scss/bootstrap/_progress.scss:
--------------------------------------------------------------------------------
1 | @keyframes progress-bar-stripes {
2 | from { background-position: $progress-height 0; }
3 | to { background-position: 0 0; }
4 | }
5 |
6 | .progress {
7 | display: flex;
8 | height: $progress-height;
9 | overflow: hidden; // force rounded corners by cropping it
10 | font-size: $progress-font-size;
11 | background-color: $progress-bg;
12 | @include border-radius($progress-border-radius);
13 | @include box-shadow($progress-box-shadow);
14 | }
15 |
16 | .progress-bar {
17 | display: flex;
18 | flex-direction: column;
19 | justify-content: center;
20 | color: $progress-bar-color;
21 | text-align: center;
22 | white-space: nowrap;
23 | background-color: $progress-bar-bg;
24 | @include transition($progress-bar-transition);
25 | }
26 |
27 | .progress-bar-striped {
28 | @include gradient-striped();
29 | background-size: $progress-height $progress-height;
30 | }
31 |
32 | .progress-bar-animated {
33 | animation: progress-bar-stripes $progress-bar-animation-timing;
34 | }
35 |
--------------------------------------------------------------------------------
/src/assets/scss/bootstrap/_close.scss:
--------------------------------------------------------------------------------
1 | .close {
2 | float: right;
3 | font-size: $close-font-size;
4 | font-weight: $close-font-weight;
5 | line-height: 1;
6 | color: $close-color;
7 | text-shadow: $close-text-shadow;
8 | opacity: .5;
9 |
10 | &:not(:disabled):not(.disabled) {
11 |
12 | @include hover-focus {
13 | color: $close-color;
14 | text-decoration: none;
15 | opacity: .75;
16 | }
17 |
18 | // Opinionated: add "hand" cursor to non-disabled .close elements
19 | cursor: pointer;
20 | }
21 | }
22 |
23 | // Additional properties for button version
24 | // iOS requires the button element instead of an anchor tag.
25 | // If you want the anchor version, it requires `href="#"`.
26 | // See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile
27 |
28 | // stylelint-disable property-no-vendor-prefix, selector-no-qualifying-type
29 | button.close {
30 | padding: 0;
31 | background-color: transparent;
32 | border: 0;
33 | -webkit-appearance: none;
34 | }
35 | // stylelint-enable
36 |
--------------------------------------------------------------------------------
/src/views/components/JavascriptComponents/ProgressPagination.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
Progress bars
5 |
6 |
7 |
8 |
9 |
Pagination
10 |
11 |
12 |
13 |
14 |
15 |
27 |
29 |
--------------------------------------------------------------------------------
/src/registerServiceWorker.js:
--------------------------------------------------------------------------------
1 | /* eslint-disable no-console */
2 |
3 | import { register } from 'register-service-worker'
4 |
5 | if (process.env.NODE_ENV === 'production') {
6 | register(`${process.env.BASE_URL}service-worker.js`, {
7 | ready () {
8 | console.log(
9 | 'App is being served from cache by a service worker.\n' +
10 | 'For more details, visit https://goo.gl/AFskqB'
11 | )
12 | },
13 | registered () {
14 | console.log('Service worker has been registered.')
15 | },
16 | cached () {
17 | console.log('Content has been cached for offline use.')
18 | },
19 | updatefound () {
20 | console.log('New content is downloading.')
21 | },
22 | updated () {
23 | console.log('New content is available; please refresh.')
24 | },
25 | offline () {
26 | console.log('No internet connection found. App is running in offline mode.')
27 | },
28 | error (error) {
29 | console.error('Error during service worker registration:', error)
30 | }
31 | })
32 | }
33 |
--------------------------------------------------------------------------------
/src/assets/scss/custom/utilities/_floating.scss:
--------------------------------------------------------------------------------
1 | .floating {
2 | animation: floating 3s ease infinite;
3 | will-change: transform;
4 |
5 | &:hover {
6 | animation-play-state: paused;
7 | }
8 | }
9 |
10 | .floating-lg {
11 | animation: floating-lg 3s ease infinite;
12 | }
13 |
14 | .floating-sm {
15 | animation: floating-sm 3s ease infinite;
16 | }
17 |
18 | // Keyframes
19 |
20 | @keyframes floating-lg {
21 | 0% {
22 | transform: translateY(0px)
23 | }
24 | 50% {
25 | transform: translateY(15px)
26 | }
27 | 100% {
28 | transform: translateY(0px)
29 | }
30 | }
31 |
32 | @keyframes floating {
33 | 0% {
34 | transform: translateY(0px)
35 | }
36 | 50% {
37 | transform: translateY(10px)
38 | }
39 | 100% {
40 | transform: translateY(0px)
41 | }
42 | }
43 |
44 | @keyframes floating-sm {
45 | 0% {
46 | transform: translateY(0px)
47 | }
48 | 50% {
49 | transform: translateY(5px)
50 | }
51 | 100% {
52 | transform: translateY(0px)
53 | }
54 | }
--------------------------------------------------------------------------------
/src/assets/scss/custom/utilities/_text.scss:
--------------------------------------------------------------------------------
1 | // Weight and italics
2 |
3 | .font-weight-300 { font-weight: 300 !important; }
4 | .font-weight-400 { font-weight: 400 !important; }
5 | .font-weight-500 { font-weight: 500 !important; }
6 | .font-weight-600 { font-weight: 600 !important; }
7 | .font-weight-700 { font-weight: 700 !important; }
8 | .font-weight-800 { font-weight: 800 !important; }
9 | .font-weight-900 { font-weight: 900 !important; }
10 |
11 |
12 | // Text decorations
13 |
14 | .text-underline { text-decoration: underline; }
15 | .text-through { text-decoration: line-through; }
16 |
17 |
18 | // Line heights
19 |
20 | .lh-100 { line-height: 1; }
21 | .lh-110 { line-height: 1.1; }
22 | .lh-120 { line-height: 1.2; }
23 | .lh-130 { line-height: 1.3; }
24 | .lh-140 { line-height: 1.4; }
25 | .lh-150 { line-height: 1.5; }
26 | .lh-160 { line-height: 1.6; }
27 | .lh-170 { line-height: 1.7; }
28 | .lh-180 { line-height: 1.8; }
29 |
30 |
31 | // Letter spacings
32 |
33 | .ls-1 { letter-spacing: .0625rem; }
34 | .ls-15 { letter-spacing: .09375rem; }
35 | .ls-2 { letter-spacing: 0.125rem; }
--------------------------------------------------------------------------------
/src/views/components/Navigation/Menu2.vue:
--------------------------------------------------------------------------------
1 |
2 |
21 |
22 |
25 |
27 |
--------------------------------------------------------------------------------
/src/assets/scss/custom/utilities/_helper.scss:
--------------------------------------------------------------------------------
1 | // Image
2 |
3 | .img-center {
4 | display: block;
5 | margin-left: auto;
6 | margin-right: auto;
7 | }
8 |
9 | // Clearfix
10 |
11 | .floatfix {
12 | &:before,
13 | &:after {
14 | content: '';
15 | display: table;
16 | }
17 | &:after {
18 | clear: both;
19 | }
20 | }
21 |
22 | // Overflows
23 |
24 | .overflow-visible {
25 | overflow: visible !important;
26 | }
27 | .overflow-hidden {
28 | overflow: hidden !important;
29 | }
30 |
31 | // Opacity classes
32 |
33 | .opacity-1 {
34 | opacity: .1 !important;
35 | }
36 | .opacity-2 {
37 | opacity: .2 !important;
38 | }
39 | .opacity-3 {
40 | opacity: .3 !important;
41 | }
42 | .opacity-4 {
43 | opacity: .4 !important;
44 | }
45 | .opacity-5 {
46 | opacity: .5 !important;
47 | }
48 | .opacity-6 {
49 | opacity: .6 !important;
50 | }
51 | .opacity-7 {
52 | opacity: .7 !important;
53 | }
54 | .opacity-8 {
55 | opacity: .8 !important;
56 | }
57 | .opacity-8 {
58 | opacity: .9 !important;
59 | }
60 | .opacity-10 {
61 | opacity: 1 !important;
62 | }
--------------------------------------------------------------------------------
/src/assets/scss/bootstrap/_mixins.scss:
--------------------------------------------------------------------------------
1 | // Toggles
2 | //
3 | // Used in conjunction with global variables to enable certain theme features.
4 |
5 | // Utilities
6 | @import "mixins/breakpoints";
7 | @import "mixins/hover";
8 | @import "mixins/image";
9 | @import "mixins/badge";
10 | @import "mixins/resize";
11 | @import "mixins/screen-reader";
12 | @import "mixins/size";
13 | @import "mixins/reset-text";
14 | @import "mixins/text-emphasis";
15 | @import "mixins/text-hide";
16 | @import "mixins/text-truncate";
17 | @import "mixins/visibility";
18 |
19 | // // Components
20 | @import "mixins/alert";
21 | @import "mixins/buttons";
22 | @import "mixins/caret";
23 | @import "mixins/pagination";
24 | @import "mixins/lists";
25 | @import "mixins/list-group";
26 | @import "mixins/nav-divider";
27 | @import "mixins/forms";
28 | @import "mixins/table-row";
29 |
30 | // // Skins
31 | @import "mixins/background-variant";
32 | @import "mixins/border-radius";
33 | @import "mixins/box-shadow";
34 | @import "mixins/gradients";
35 | @import "mixins/transition";
36 |
37 | // // Layout
38 | @import "mixins/clearfix";
39 | @import "mixins/grid-framework";
40 | @import "mixins/grid";
41 | @import "mixins/float";
42 |
--------------------------------------------------------------------------------
/src/assets/scss/bootstrap/_code.scss:
--------------------------------------------------------------------------------
1 | // Inline code
2 | code {
3 | font-size: $code-font-size;
4 | color: $code-color;
5 | word-break: break-word;
6 |
7 | // Streamline the style when inside anchors to avoid broken underline and more
8 | a > & {
9 | color: inherit;
10 | }
11 | }
12 |
13 | // User input typically entered via keyboard
14 | kbd {
15 | padding: $kbd-padding-y $kbd-padding-x;
16 | font-size: $kbd-font-size;
17 | color: $kbd-color;
18 | background-color: $kbd-bg;
19 | @include border-radius($border-radius-sm);
20 | @include box-shadow($kbd-box-shadow);
21 |
22 | kbd {
23 | padding: 0;
24 | font-size: 100%;
25 | font-weight: $nested-kbd-font-weight;
26 | @include box-shadow(none);
27 | }
28 | }
29 |
30 | // Blocks of code
31 | pre {
32 | display: block;
33 | font-size: $code-font-size;
34 | color: $pre-color;
35 |
36 | // Account for some code outputs that place code tags in pre tags
37 | code {
38 | font-size: inherit;
39 | color: inherit;
40 | word-break: normal;
41 | }
42 | }
43 |
44 | // Enable scrollable blocks of code
45 | .pre-scrollable {
46 | max-height: $pre-scrollable-max-height;
47 | overflow-y: scroll;
48 | }
49 |
--------------------------------------------------------------------------------
/src/assets/scss/bootstrap/_badge.scss:
--------------------------------------------------------------------------------
1 | // Base class
2 | //
3 | // Requires one of the contextual, color modifier classes for `color` and
4 | // `background-color`.
5 |
6 | .badge {
7 | display: inline-block;
8 | padding: $badge-padding-y $badge-padding-x;
9 | font-size: $badge-font-size;
10 | font-weight: $badge-font-weight;
11 | line-height: 1;
12 | text-align: center;
13 | white-space: nowrap;
14 | vertical-align: baseline;
15 | @include border-radius($badge-border-radius);
16 |
17 | // Empty badges collapse automatically
18 | &:empty {
19 | display: none;
20 | }
21 | }
22 |
23 | // Quick fix for badges in buttons
24 | .btn .badge {
25 | position: relative;
26 | top: -1px;
27 | }
28 |
29 | // Pill badges
30 | //
31 | // Make them extra rounded with a modifier to replace v3's badges.
32 |
33 | .badge-pill {
34 | padding-right: $badge-pill-padding-x;
35 | padding-left: $badge-pill-padding-x;
36 | @include border-radius($badge-pill-border-radius);
37 | }
38 |
39 | // Colors
40 | //
41 | // Contextual variations (linked badges get darker on :hover).
42 |
43 | @each $color, $value in $theme-colors {
44 | .badge-#{$color} {
45 | @include badge-variant($value);
46 | }
47 | }
48 |
--------------------------------------------------------------------------------
/src/components/Badge.vue:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
11 |
12 |
13 |
14 |
46 |
48 |
--------------------------------------------------------------------------------
/src/views/components/Navigation/Menu4.vue:
--------------------------------------------------------------------------------
1 |
2 |
28 |
29 |
32 |
34 |
--------------------------------------------------------------------------------
/src/assets/scss/bootstrap/_grid.scss:
--------------------------------------------------------------------------------
1 | // Container widths
2 | //
3 | // Set the container width, and override it for fixed navbars in media queries.
4 |
5 | @if $enable-grid-classes {
6 | .container {
7 | @include make-container();
8 | @include make-container-max-widths();
9 | }
10 | }
11 |
12 | // Fluid container
13 | //
14 | // Utilizes the mixin meant for fixed width containers, but with 100% width for
15 | // fluid, full width layouts.
16 |
17 | @if $enable-grid-classes {
18 | .container-fluid {
19 | @include make-container();
20 | }
21 | }
22 |
23 | // Row
24 | //
25 | // Rows contain and clear the floats of your columns.
26 |
27 | @if $enable-grid-classes {
28 | .row {
29 | @include make-row();
30 | }
31 |
32 | // Remove the negative margin from default .row, then the horizontal padding
33 | // from all immediate children columns (to prevent runaway style inheritance).
34 | .no-gutters {
35 | margin-right: 0;
36 | margin-left: 0;
37 |
38 | > .col,
39 | > [class*="col-"] {
40 | padding-right: 0;
41 | padding-left: 0;
42 | }
43 | }
44 | }
45 |
46 | // Columns
47 | //
48 | // Common styles for small and large grid columns
49 |
50 | @if $enable-grid-classes {
51 | @include make-grid-columns();
52 | }
53 |
--------------------------------------------------------------------------------
/src/plugins/globalComponents.js:
--------------------------------------------------------------------------------
1 | import Badge from "../components/Badge";
2 | import BaseAlert from "../components/BaseAlert";
3 | import BaseButton from "../components/BaseButton";
4 | import BaseCheckbox from "../components/BaseCheckbox";
5 | import BaseInput from "../components/BaseInput";
6 | import BasePagination from "../components/BasePagination";
7 | import BaseProgress from "../components/BaseProgress";
8 | import BaseRadio from "../components/BaseRadio";
9 | import BaseSlider from "../components/BaseSlider";
10 | import BaseSwitch from "../components/BaseSwitch";
11 | import Card from "../components/Card";
12 | import Icon from "../components/Icon";
13 |
14 | export default {
15 | install(Vue) {
16 | Vue.component(Badge.name, Badge);
17 | Vue.component(BaseAlert.name, BaseAlert);
18 | Vue.component(BaseButton.name, BaseButton);
19 | Vue.component(BaseInput.name, BaseInput);
20 | Vue.component(BaseCheckbox.name, BaseCheckbox);
21 | Vue.component(BasePagination.name, BasePagination);
22 | Vue.component(BaseProgress.name, BaseProgress);
23 | Vue.component(BaseRadio.name, BaseRadio);
24 | Vue.component(BaseSlider.name, BaseSlider);
25 | Vue.component(BaseSwitch.name, BaseSwitch);
26 | Vue.component(Card.name, Card);
27 | Vue.component(Icon.name, Icon);
28 | }
29 | };
30 |
--------------------------------------------------------------------------------
/src/views/Components.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
43 |
--------------------------------------------------------------------------------
/src/assets/scss/custom/_badge.scss:
--------------------------------------------------------------------------------
1 | .badge {
2 | text-transform: $badge-text-transfom;
3 |
4 | a {
5 | color: #FFF;
6 | }
7 | }
8 |
9 | .badge + .badge {
10 | margin-left: 3px;
11 | }
12 |
13 | // Variations
14 | .badge-pill {
15 | padding-right: $badge-pill-padding-x;
16 | padding-left: $badge-pill-padding-x;
17 | }
18 |
19 | .badge-circle {
20 | text-align: center;
21 | display: inline-flex;
22 | align-items: center;
23 | justify-content: center;
24 | border-radius: 50%;
25 | width: 2rem;
26 | height: 2rem;
27 | font-size: .875rem;
28 | }
29 |
30 | // Multiple inline badges
31 | .badge-inline {
32 | margin-right: .625rem;
33 | }
34 |
35 | .badge-inline + span {
36 | top: 2px;
37 | position: relative;
38 | }
39 |
40 | .badge-inline + span > a {
41 | text-decoration: underline;
42 | }
43 |
44 | // Sizes
45 | .badge-md {
46 | padding: .65em 1em;
47 | }
48 |
49 | .badge-lg {
50 | padding: .85em 1.375em;
51 | }
52 |
53 |
54 | // Color variations
55 |
56 | .badge-secondary {
57 | color: $gray-800;
58 | }
59 |
60 | // Link badges
61 |
62 | .btn {
63 | .badge {
64 | &:not(:first-child) {
65 | margin-left: .5rem;
66 | }
67 | &:not(:last-child) {
68 | margin-right: .5rem;
69 | }
70 | }
71 | }
72 |
--------------------------------------------------------------------------------
/.github/workflows/main.yml:
--------------------------------------------------------------------------------
1 | name: Autocloser
2 | on: [issues]
3 | jobs:
4 | autoclose:
5 | runs-on: ubuntu-latest
6 | steps:
7 | - name: Issue auto-closer
8 | uses: roots/issue-closer-action@v1.1
9 | with:
10 | repo-token: ${{ secrets.GITHUB_TOKEN }}
11 | issue-close-message: "@${issue.user.login} this issue was automatically closed because it did not follow the bellow rules:\n\n
\n\n\n\nIMPORTANT: Please use the following link to create a new issue:\n\nhttps://www.creative-tim.com/new-issue/vue-argon-design-system\n\n**If your issue was not created using the app above, it will be closed immediately.**\n\n\n\nLove Creative Tim? Do you need Angular, React, Vuejs or HTML? You can visit:\n👉 https://www.creative-tim.com/bundles\n👉 https://www.creative-tim.com\n\n\n \n\n"
12 | issue-pattern: (\#\#\# Version([\S\s.*]*?)\#\#\# Reproduction link([\S\s.*]*?)\#\#\# Operating System([\S\s.*]*?)\#\#\# Device([\S\s.*]*?)\#\#\# Browser & Version([\S\s.*]*?)\#\#\# Steps to reproduce([\S\s.*]*?)\#\#\# What is expected([\S\s.*]*?)\#\#\# What is actually happening([\S\s.*]*?)---([\S\s.*]*?)\#\#\# Solution([\S\s.*]*?)\#\#\# Additional comments([\S\s.*]*?)\<\!-- generated by creative-tim-issues\. DO NOT REMOVE --\>)|(\#\#\# What is your enhancement([\S\s.*]*?)\<\!-- generated by creative-tim-issues\. DO NOT REMOVE --\>)
13 |
--------------------------------------------------------------------------------
/src/assets/scss/bootstrap/_images.scss:
--------------------------------------------------------------------------------
1 | // Responsive images (ensure images don't scale beyond their parents)
2 | //
3 | // This is purposefully opt-in via an explicit class rather than being the default for all ` `s.
4 | // We previously tried the "images are responsive by default" approach in Bootstrap v2,
5 | // and abandoned it in Bootstrap v3 because it breaks lots of third-party widgets (including Google Maps)
6 | // which weren't expecting the images within themselves to be involuntarily resized.
7 | // See also https://github.com/twbs/bootstrap/issues/18178
8 | .img-fluid {
9 | @include img-fluid;
10 | }
11 |
12 |
13 | // Image thumbnails
14 | .img-thumbnail {
15 | padding: $thumbnail-padding;
16 | background-color: $thumbnail-bg;
17 | border: $thumbnail-border-width solid $thumbnail-border-color;
18 | @include border-radius($thumbnail-border-radius);
19 | @include box-shadow($thumbnail-box-shadow);
20 |
21 | // Keep them at most 100% wide
22 | @include img-fluid;
23 | }
24 |
25 | //
26 | // Figures
27 | //
28 |
29 | .figure {
30 | // Ensures the caption's text aligns with the image.
31 | display: inline-block;
32 | }
33 |
34 | .figure-img {
35 | margin-bottom: ($spacer / 2);
36 | line-height: 1;
37 | }
38 |
39 | .figure-caption {
40 | font-size: $figure-caption-font-size;
41 | color: $figure-caption-color;
42 | }
43 |
--------------------------------------------------------------------------------
/src/assets/scss/bootstrap/mixins/_image.scss:
--------------------------------------------------------------------------------
1 | // Image Mixins
2 | // - Responsive image
3 | // - Retina image
4 |
5 |
6 | // Responsive image
7 | //
8 | // Keep images from scaling beyond the width of their parents.
9 |
10 | @mixin img-fluid {
11 | // Part 1: Set a maximum relative to the parent
12 | max-width: 100%;
13 | // Part 2: Override the height to auto, otherwise images will be stretched
14 | // when setting a width and height attribute on the img element.
15 | height: auto;
16 | }
17 |
18 |
19 | // Retina image
20 | //
21 | // Short retina mixin for setting background-image and -size.
22 |
23 | // stylelint-disable indentation, media-query-list-comma-newline-after
24 | @mixin img-retina($file-1x, $file-2x, $width-1x, $height-1x) {
25 | background-image: url($file-1x);
26 |
27 | // Autoprefixer takes care of adding -webkit-min-device-pixel-ratio and -o-min-device-pixel-ratio,
28 | // but doesn't convert dppx=>dpi.
29 | // There's no such thing as unprefixed min-device-pixel-ratio since it's nonstandard.
30 | // Compatibility info: https://caniuse.com/#feat=css-media-resolution
31 | @media only screen and (min-resolution: 192dpi), // IE9-11 don't support dppx
32 | only screen and (min-resolution: 2dppx) { // Standardized
33 | background-image: url($file-2x);
34 | background-size: $width-1x $height-1x;
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/src/assets/scss/bootstrap/_alert.scss:
--------------------------------------------------------------------------------
1 | //
2 | // Base styles
3 | //
4 |
5 | .alert {
6 | position: relative;
7 | padding: $alert-padding-y $alert-padding-x;
8 | margin-bottom: $alert-margin-bottom;
9 | border: $alert-border-width solid transparent;
10 | @include border-radius($alert-border-radius);
11 | }
12 |
13 | // Headings for larger alerts
14 | .alert-heading {
15 | // Specified to prevent conflicts of changing $headings-color
16 | color: inherit;
17 | }
18 |
19 | // Provide class for links that match alerts
20 | .alert-link {
21 | font-weight: $alert-link-font-weight;
22 | }
23 |
24 |
25 | // Dismissible alerts
26 | //
27 | // Expand the right padding and account for the close button's positioning.
28 |
29 | .alert-dismissible {
30 | padding-right: ($close-font-size + $alert-padding-x * 2);
31 |
32 | // Adjust close link position
33 | .close {
34 | position: absolute;
35 | top: 0;
36 | right: 0;
37 | padding: $alert-padding-y $alert-padding-x;
38 | color: inherit;
39 | }
40 | }
41 |
42 |
43 | // Alternate styles
44 | //
45 | // Generate contextual modifier classes for colorizing the alert.
46 |
47 | @each $color, $value in $theme-colors {
48 | .alert-#{$color} {
49 | @include alert-variant(theme-color-level($color, $alert-bg-level), theme-color-level($color, $alert-border-level), theme-color-level($color, $alert-color-level));
50 | }
51 | }
52 |
--------------------------------------------------------------------------------
/src/assets/scss/custom/_input-group.scss:
--------------------------------------------------------------------------------
1 | .input-group {
2 | box-shadow: $input-box-shadow;
3 | border-radius: $input-border-radius;
4 | transition: $transition-base;
5 |
6 | .form-control {
7 | box-shadow: none;
8 |
9 | &:not(:first-child) {
10 | border-left: 0;
11 | padding-left: 0;
12 | }
13 | &:not(:last-child) {
14 | border-right: 0;
15 | padding-right: 0;
16 | }
17 | &:focus {
18 | box-shadow: none;
19 | }
20 | }
21 | }
22 |
23 | .input-group-text {
24 | transition: $input-transition;
25 | }
26 |
27 | .input-group-alternative {
28 | box-shadow: $input-alternative-box-shadow;
29 | border: 0;
30 | transition: box-shadow .15s ease;
31 |
32 | .form-control,
33 | .input-group-text {
34 | border: 0;
35 | box-shadow: none;
36 | }
37 | }
38 |
39 | .focused {
40 | .input-group-alternative {
41 | box-shadow: $input-focus-alternative-box-shadow !important;
42 | }
43 | }
44 |
45 |
46 | // .focus class is applied dinamycally from theme.js
47 |
48 | .focused {
49 | .input-group {
50 | box-shadow: $input-focus-box-shadow;
51 | }
52 |
53 | .input-group-text {
54 | color: $input-group-addon-focus-color;
55 | background-color: $input-group-addon-focus-bg;
56 | border-color: $input-group-addon-focus-border-color;
57 | }
58 |
59 | .form-control {
60 | border-color: $input-group-addon-focus-border-color;
61 | }
62 | }
63 |
--------------------------------------------------------------------------------
/src/assets/scss/bootstrap/_breadcrumb.scss:
--------------------------------------------------------------------------------
1 | .breadcrumb {
2 | display: flex;
3 | flex-wrap: wrap;
4 | padding: $breadcrumb-padding-y $breadcrumb-padding-x;
5 | margin-bottom: $breadcrumb-margin-bottom;
6 | list-style: none;
7 | background-color: $breadcrumb-bg;
8 | @include border-radius($breadcrumb-border-radius);
9 | }
10 |
11 | .breadcrumb-item {
12 | // The separator between breadcrumbs (by default, a forward-slash: "/")
13 | + .breadcrumb-item {
14 | padding-left: $breadcrumb-item-padding;
15 |
16 | &::before {
17 | display: inline-block; // Suppress underlining of the separator in modern browsers
18 | padding-right: $breadcrumb-item-padding;
19 | color: $breadcrumb-divider-color;
20 | content: $breadcrumb-divider;
21 | }
22 | }
23 |
24 | // IE9-11 hack to properly handle hyperlink underlines for breadcrumbs built
25 | // without `