├── 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 | 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 | 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 | 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 | 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 | 11 | 26 | 28 | -------------------------------------------------------------------------------- /src/components/Tabs/TabPane.vue: -------------------------------------------------------------------------------- 1 | 10 | 31 | 33 | -------------------------------------------------------------------------------- /src/components/BaseSwitch.vue: -------------------------------------------------------------------------------- 1 | 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 | 13 | 33 | 35 | -------------------------------------------------------------------------------- /src/components/Tabs/Tab.vue: -------------------------------------------------------------------------------- 1 | 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 | 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 | 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 | 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 | 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 | 14 | 46 | 48 | -------------------------------------------------------------------------------- /src/views/components/Navigation/Menu4.vue: -------------------------------------------------------------------------------- 1 | 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 | 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 `