├── .editorconfig ├── .github └── FUNDING.yml ├── .gitignore ├── .vscode └── settings.json ├── LICENSE ├── README.md ├── lerna.json ├── package-lock.json ├── package.json ├── packages ├── docs │ ├── .vuepress │ │ ├── components │ │ │ ├── Alert │ │ │ │ ├── animate.vue │ │ │ │ ├── closable.vue │ │ │ │ ├── color.vue │ │ │ │ ├── default.vue │ │ │ │ ├── hiddenContent.vue │ │ │ │ ├── pagination.vue │ │ │ │ └── time.vue │ │ │ ├── Avatar │ │ │ │ ├── autoFont.vue │ │ │ │ ├── badge.vue │ │ │ │ ├── circle.vue │ │ │ │ ├── color.vue │ │ │ │ ├── default.vue │ │ │ │ ├── group.vue │ │ │ │ ├── history.vue │ │ │ │ ├── icon.vue │ │ │ │ ├── icons.vue │ │ │ │ ├── loading.vue │ │ │ │ ├── size.vue │ │ │ │ └── square.vue │ │ │ ├── Card │ │ │ │ ├── default.vue │ │ │ │ ├── group.vue │ │ │ │ ├── type2.vue │ │ │ │ ├── type3.vue │ │ │ │ ├── type4.vue │ │ │ │ └── type5.vue │ │ │ ├── Checkbox │ │ │ │ ├── array.vue │ │ │ │ ├── boolean.vue │ │ │ │ ├── color.vue │ │ │ │ ├── default.vue │ │ │ │ ├── icon.vue │ │ │ │ ├── indeterminate.vue │ │ │ │ ├── label.vue │ │ │ │ ├── linethrough.vue │ │ │ │ ├── loading.vue │ │ │ │ ├── object.vue │ │ │ │ └── string.vue │ │ │ ├── Dialog │ │ │ │ ├── blur.vue │ │ │ │ ├── default.vue │ │ │ │ ├── fullScreen.vue │ │ │ │ ├── loading.vue │ │ │ │ ├── nested.vue │ │ │ │ ├── notClose.vue │ │ │ │ ├── notPadding.vue │ │ │ │ ├── overflowHidden.vue │ │ │ │ ├── preventClose.vue │ │ │ │ ├── scroll.vue │ │ │ │ ├── square.vue │ │ │ │ └── type.vue │ │ │ ├── Input │ │ │ │ ├── border.vue │ │ │ │ ├── color.vue │ │ │ │ ├── default.vue │ │ │ │ ├── icon.vue │ │ │ │ ├── label.vue │ │ │ │ ├── labelPlaceholder.vue │ │ │ │ ├── loading.vue │ │ │ │ ├── message.vue │ │ │ │ ├── progress.vue │ │ │ │ ├── shadow.vue │ │ │ │ ├── state.vue │ │ │ │ └── types.vue │ │ │ ├── Loading │ │ │ │ ├── background.vue │ │ │ │ ├── color.vue │ │ │ │ ├── default.vue │ │ │ │ ├── percent.vue │ │ │ │ ├── progress.vue │ │ │ │ ├── target.vue │ │ │ │ ├── text.vue │ │ │ │ └── type.vue │ │ │ ├── Navbar │ │ │ │ ├── color.vue │ │ │ │ ├── default.vue │ │ │ │ ├── group.vue │ │ │ │ ├── hideScroll.vue │ │ │ │ ├── notLine.vue │ │ │ │ ├── paddingScroll.vue │ │ │ │ └── square.vue │ │ │ ├── Notification │ │ │ │ ├── allWidth.vue │ │ │ │ ├── border.vue │ │ │ │ ├── call.vue │ │ │ │ ├── color.vue │ │ │ │ ├── cookie.vue │ │ │ │ ├── default.vue │ │ │ │ ├── duration.vue │ │ │ │ ├── example.vue │ │ │ │ ├── flat.vue │ │ │ │ ├── icons.vue │ │ │ │ ├── loading.vue │ │ │ │ ├── position.vue │ │ │ │ ├── progress.vue │ │ │ │ ├── square.vue │ │ │ │ ├── sticky.vue │ │ │ │ └── user.vue │ │ │ ├── Pagination │ │ │ │ ├── buttons-dotted.vue │ │ │ │ ├── circle.vue │ │ │ │ ├── color.vue │ │ │ │ ├── default.vue │ │ │ │ ├── disabled.vue │ │ │ │ ├── disabledItems.vue │ │ │ │ ├── dotted-number.vue │ │ │ │ ├── infinite.vue │ │ │ │ ├── loadingItems.vue │ │ │ │ ├── not-arrows.vue │ │ │ │ ├── not-margin.vue │ │ │ │ ├── only-arrow.vue │ │ │ │ ├── progress.vue │ │ │ │ ├── slot.vue │ │ │ │ └── square.vue │ │ │ ├── Radio │ │ │ │ ├── color.vue │ │ │ │ ├── default.vue │ │ │ │ ├── icons.vue │ │ │ │ ├── label.vue │ │ │ │ └── loading.vue │ │ │ ├── Select │ │ │ │ ├── color.vue │ │ │ │ ├── default.vue │ │ │ │ ├── filter.vue │ │ │ │ ├── group.vue │ │ │ │ ├── label.vue │ │ │ │ ├── loading.vue │ │ │ │ ├── message.vue │ │ │ │ ├── multiple.vue │ │ │ │ └── state.vue │ │ │ ├── Sidebar │ │ │ │ ├── color.vue │ │ │ │ ├── default.vue │ │ │ │ ├── group.vue │ │ │ │ ├── open.vue │ │ │ │ ├── reduce.vue │ │ │ │ ├── reduceExpand.vue │ │ │ │ └── right.vue │ │ │ ├── Switch │ │ │ │ ├── array.vue │ │ │ │ ├── color.vue │ │ │ │ ├── default.vue │ │ │ │ ├── example.vue │ │ │ │ ├── icons.vue │ │ │ │ ├── indeterminate.vue │ │ │ │ ├── loading.vue │ │ │ │ ├── square.vue │ │ │ │ └── text.vue │ │ │ ├── Table │ │ │ │ ├── default.vue │ │ │ │ ├── edit.vue │ │ │ │ ├── expand.vue │ │ │ │ ├── miscellaneous.vue │ │ │ │ ├── multiple.vue │ │ │ │ ├── pagination.vue │ │ │ │ ├── search.vue │ │ │ │ ├── selected.vue │ │ │ │ ├── state.vue │ │ │ │ └── striped.vue │ │ │ ├── Tooltip │ │ │ │ ├── border.vue │ │ │ │ ├── circle.vue │ │ │ │ ├── color.vue │ │ │ │ ├── content.vue │ │ │ │ ├── default.vue │ │ │ │ ├── loading.vue │ │ │ │ ├── notArrow.vue │ │ │ │ ├── position.vue │ │ │ │ ├── shadow.vue │ │ │ │ └── square.vue │ │ │ ├── button │ │ │ │ ├── animate.vue │ │ │ │ ├── block.vue │ │ │ │ ├── border.vue │ │ │ │ ├── circle.vue │ │ │ │ ├── color.vue │ │ │ │ ├── default.vue │ │ │ │ ├── flat.vue │ │ │ │ ├── floating.vue │ │ │ │ ├── gradient.vue │ │ │ │ ├── group.vue │ │ │ │ ├── icon.vue │ │ │ │ ├── iconText.vue │ │ │ │ ├── loading.vue │ │ │ │ ├── relief.vue │ │ │ │ ├── shadow.vue │ │ │ │ ├── size.vue │ │ │ │ ├── social.vue │ │ │ │ ├── square.vue │ │ │ │ ├── toHref.vue │ │ │ │ ├── toggle.vue │ │ │ │ ├── transparent.vue │ │ │ │ └── upload.vue │ │ │ ├── colors │ │ │ │ └── default.vue │ │ │ ├── grid │ │ │ │ ├── default.vue │ │ │ │ ├── flexAlign.vue │ │ │ │ ├── flexJustify.vue │ │ │ │ ├── flexOrder.vue │ │ │ │ ├── offset.vue │ │ │ │ └── responsive.vue │ │ │ └── utils │ │ │ │ ├── color.vue │ │ │ │ └── icon.vue │ │ ├── config.js │ │ ├── enhanceApp.ts │ │ ├── public │ │ │ ├── Contact-56403510-attachment-300706483.png │ │ │ ├── Patreon_Mark_Primary.png │ │ │ ├── Poppins │ │ │ │ ├── Poppins-Black.ttf │ │ │ │ ├── Poppins-BlackItalic.ttf │ │ │ │ ├── Poppins-Bold.ttf │ │ │ │ ├── Poppins-BoldItalic.ttf │ │ │ │ ├── Poppins-ExtraBold.ttf │ │ │ │ ├── Poppins-ExtraBoldItalic.ttf │ │ │ │ ├── Poppins-ExtraLight.ttf │ │ │ │ ├── Poppins-ExtraLightItalic.ttf │ │ │ │ ├── Poppins-Italic.ttf │ │ │ │ ├── Poppins-Light.ttf │ │ │ │ ├── Poppins-LightItalic.ttf │ │ │ │ ├── Poppins-Medium.ttf │ │ │ │ ├── Poppins-MediumItalic.ttf │ │ │ │ ├── Poppins-Regular.ttf │ │ │ │ ├── Poppins-SemiBold.ttf │ │ │ │ ├── Poppins-SemiBoldItalic.ttf │ │ │ │ ├── Poppins-Thin.ttf │ │ │ │ └── Poppins-ThinItalic.ttf │ │ │ ├── Screenshot_1.png │ │ │ ├── avatars │ │ │ │ ├── avatar-1.png │ │ │ │ ├── avatar-10.png │ │ │ │ ├── avatar-2.png │ │ │ │ ├── avatar-3.png │ │ │ │ ├── avatar-4.png │ │ │ │ ├── avatar-5.png │ │ │ │ ├── avatar-6.png │ │ │ │ ├── avatar-7.png │ │ │ │ ├── avatar-8.png │ │ │ │ └── avatar-9.png │ │ │ ├── bit-share-code.png │ │ │ ├── bit-share-code2.png │ │ │ ├── dark-demo.jpg │ │ │ ├── favicon1_1.png │ │ │ ├── favicon2_1.png │ │ │ ├── foto1.png │ │ │ ├── foto10.png │ │ │ ├── foto11.png │ │ │ ├── foto12.png │ │ │ ├── foto13.png │ │ │ ├── foto2.jpg │ │ │ ├── foto2.png │ │ │ ├── foto3.png │ │ │ ├── foto4.png │ │ │ ├── foto5.png │ │ │ ├── foto6.png │ │ │ ├── foto7.png │ │ │ ├── foto8.png │ │ │ ├── foto9.png │ │ │ ├── licence-dark-vuesax.svg │ │ │ ├── licence-white-vuesax.svg │ │ │ ├── logo1.png │ │ │ ├── logo2.png │ │ │ ├── logos │ │ │ │ ├── logo-vuesax-logotipo-vuesax-png-1.png │ │ │ │ ├── logo-vuesax-logotipo-vuesax-png-2.png │ │ │ │ ├── logo-vuesax-logotipo-vuesax-png-3.png │ │ │ │ ├── logo-vuesax-logotipo-vuesax-png-4.png │ │ │ │ ├── logo-vuesax-logotipo-vuesax-png-5.png │ │ │ │ ├── logo-vuesax-logotipo-vuesax-png-6.png │ │ │ │ ├── logo-vuesax-logotipo-vuesax-png-7.png │ │ │ │ ├── logo-vuesax-logotipo-vuesax-png-8.png │ │ │ │ ├── logo-vuesax-svg-1.svg │ │ │ │ ├── logo-vuesax-svg-2.svg │ │ │ │ ├── logo-vuesax-svg-3.svg │ │ │ │ ├── logo-vuesax-svg-4.svg │ │ │ │ ├── logo-vuesax-svg-5.svg │ │ │ │ ├── logo-vuesax-svg-6.svg │ │ │ │ ├── logo-vuesax-svg-7.svg │ │ │ │ └── logo-vuesax-svg-8.svg │ │ │ ├── new.png │ │ │ ├── nuxt-test-page.png │ │ │ ├── nuxt-ui-vuesax.png │ │ │ ├── tipe.png │ │ │ ├── use │ │ │ │ ├── adobe-xd-1.svg │ │ │ │ ├── babel-vuesax-6.png │ │ │ │ ├── boxicons-vuesax-10.png │ │ │ │ ├── boxicons-vuesax-9.png │ │ │ │ ├── illustrator-vuesax-11.png │ │ │ │ ├── jest-vuesax-8-w.svg │ │ │ │ ├── jest-vuesax-8.svg │ │ │ │ ├── js-javaScript-vuesax.png │ │ │ │ ├── sass-vuesax-4.png │ │ │ │ ├── typescript-vuesax.png │ │ │ │ ├── vuejs-vuesax-1.png │ │ │ │ ├── vuepress-vuesax-5.png │ │ │ │ ├── webpack-vuesax-12.png │ │ │ │ └── webpack-vuesax-13.png │ │ │ ├── vue-logo.jpg │ │ │ ├── vue-logo.png │ │ │ ├── vuesax-brand-dark.svg │ │ │ ├── vuesax-brand-white.svg │ │ │ ├── vuesax-dark-1.svg │ │ │ ├── vuesax-dark-2.svg │ │ │ ├── vuesax-dark-3.svg │ │ │ ├── vuesax-dark-4.svg │ │ │ ├── vuesax-dark-5.svg │ │ │ ├── vuesax-dark-6.svg │ │ │ ├── vuesax-only-b.png │ │ │ ├── vuesax-only.png │ │ │ ├── vuesax-store.png │ │ │ ├── vuesax-white-1.svg │ │ │ ├── vuesax-white-2.svg │ │ │ ├── vuesax-white-3.svg │ │ │ ├── vuesax-white-4.svg │ │ │ ├── vuesax-white-5.svg │ │ │ ├── vuesax-white-6.svg │ │ │ ├── vuesax_components.png │ │ │ ├── woman.jpg │ │ │ ├── wrappixel-logo.png │ │ │ └── wrappixel-logo2.png │ │ └── shims-vue.d.ts │ ├── README.md │ ├── branding │ │ └── README.md │ ├── docs │ │ ├── README.md │ │ ├── animations │ │ │ └── README.md │ │ ├── components │ │ │ ├── Alert.md │ │ │ ├── Avatar.md │ │ │ ├── Card.md │ │ │ ├── Checkbox.md │ │ │ ├── Dialog.md │ │ │ ├── Input.md │ │ │ ├── Loading.md │ │ │ ├── Navbar.md │ │ │ ├── Notification.md │ │ │ ├── Pagination.md │ │ │ ├── README.md │ │ │ ├── Radio.md │ │ │ ├── Select.md │ │ │ ├── Sidebar.md │ │ │ ├── Switch.md │ │ │ ├── Table.md │ │ │ └── Tooltip.md │ │ ├── directives │ │ │ └── README.md │ │ ├── functions │ │ │ └── README.md │ │ ├── guide │ │ │ ├── README.md │ │ │ ├── configuration.md │ │ │ ├── gettingStarted.md │ │ │ ├── migration.md │ │ │ └── nuxt.md │ │ ├── layout │ │ │ └── README.md │ │ └── theme │ │ │ ├── README.md │ │ │ ├── font.md │ │ │ ├── generate.md │ │ │ └── icons.md │ ├── ecosystem │ │ └── README.md │ ├── es │ │ ├── README.md │ │ ├── branding │ │ │ └── README.md │ │ ├── docs │ │ │ ├── README.md │ │ │ ├── animations │ │ │ │ └── README.md │ │ │ ├── components │ │ │ │ ├── Alert.md │ │ │ │ ├── Avatar.md │ │ │ │ ├── Card.md │ │ │ │ ├── Checkbox.md │ │ │ │ ├── Dialog.md │ │ │ │ ├── Input.md │ │ │ │ ├── Loading.md │ │ │ │ ├── Navbar.md │ │ │ │ ├── Notification.md │ │ │ │ ├── Pagination.md │ │ │ │ ├── README.md │ │ │ │ ├── Radio.md │ │ │ │ ├── Select.md │ │ │ │ ├── Sidebar.md │ │ │ │ ├── Switch.md │ │ │ │ ├── Table.md │ │ │ │ └── Tooltip.md │ │ │ ├── directives │ │ │ │ └── README.md │ │ │ ├── functions │ │ │ │ └── README.md │ │ │ ├── guide │ │ │ │ ├── README.md │ │ │ │ ├── configuration.md │ │ │ │ ├── gettingStarted.md │ │ │ │ ├── migration.md │ │ │ │ └── nuxt.md │ │ │ ├── layout │ │ │ │ └── README.md │ │ │ └── theme │ │ │ │ ├── README.md │ │ │ │ ├── font.md │ │ │ │ ├── generate.md │ │ │ │ └── icons.md │ │ ├── ecosystem │ │ │ └── README.md │ │ ├── examples │ │ │ ├── README.md │ │ │ └── nuxt.md │ │ ├── license │ │ │ └── README.md │ │ ├── more │ │ │ └── readme.md │ │ └── pass │ │ │ └── README.md │ ├── examples │ │ ├── README.md │ │ ├── navbar.md │ │ ├── nuxt.md │ │ └── sidebar.md │ ├── license │ │ └── README.md │ ├── more │ │ └── readme.md │ ├── package-lock.json │ ├── package.json │ ├── pass │ │ └── README.md │ └── tsconfig.json ├── vuepress-theme-vuesax │ ├── .editorconfig │ ├── LICENSE │ ├── components │ │ ├── AlgoliaSearchBox.vue │ │ ├── Branding.vue │ │ ├── Carbon.vue │ │ ├── Codefund.vue │ │ ├── Config.vue │ │ ├── DocsHome.vue │ │ ├── DropdownLink.vue │ │ ├── DropdownTransition.vue │ │ ├── Footer.vue │ │ ├── HeaderNotification.vue │ │ ├── Home.vue │ │ ├── HomeComponents.vue │ │ ├── HomeIllustration1.vue │ │ ├── HomeIllustration2.vue │ │ ├── HomeIllustration3.vue │ │ ├── HomeIllustration4.vue │ │ ├── HomePatrons.vue │ │ ├── HomeTwiter.vue │ │ ├── HomeUses.vue │ │ ├── License.vue │ │ ├── NavLink.vue │ │ ├── NavLinks.vue │ │ ├── NavLinks2.vue │ │ ├── NavLinksLanguages.vue │ │ ├── Navbar.vue │ │ ├── Page.vue │ │ ├── PassLayout.vue │ │ ├── SearchBox.vue │ │ ├── Sidebar.vue │ │ ├── Sidebar2.vue │ │ ├── SidebarButton.vue │ │ ├── SidebarGroup.vue │ │ ├── SidebarLink.vue │ │ ├── SidebarLinks.vue │ │ ├── VuesaxAds.vue │ │ ├── api.vue │ │ ├── headerSvg.vue │ │ ├── homeInit.vue │ │ ├── navbarLayout.vue │ │ └── premiumThemes.vue │ ├── enhanceApp.js │ ├── global-components │ │ ├── Badge.vue │ │ ├── Color.vue │ │ ├── Coloren.vue │ │ ├── Icons.vue │ │ ├── card.vue │ │ ├── codex.vue │ │ └── docsWarn.vue │ ├── index.js │ ├── layouts │ │ ├── 404.vue │ │ ├── Layout.vue │ │ └── sidebar.vue │ ├── noopModule.js │ ├── package-lock.json │ ├── package.json │ ├── public │ │ ├── Recurso 16.png │ │ ├── Recurso 18.png │ │ ├── favicon1_1.png │ │ ├── favicon2_1.png │ │ ├── logo-vuesax.png │ │ ├── logo1.png │ │ ├── logo2_1.png │ │ └── vuesax solo.png │ ├── styles │ │ ├── arrow.styl │ │ ├── code.styl │ │ ├── custom-blocks.styl │ │ ├── mobile.styl │ │ ├── palette.styl │ │ ├── styleSass.stylus │ │ ├── theme.styl │ │ ├── toc.styl │ │ └── wrapper.styl │ └── util │ │ └── index.js └── vuesax │ ├── .babelrc │ ├── .browserslistrc │ ├── .gitignore │ ├── build │ ├── components │ │ ├── components.json │ │ └── webpack.components.js │ ├── dev │ │ └── index.js │ ├── index.js │ ├── lib │ │ └── webpack.umd.js │ ├── styles │ │ └── webpack.styles.js │ ├── utils │ │ └── print.js │ └── webpack.base.js │ ├── package-lock.json │ ├── package.json │ ├── postcss.config.js │ ├── scripts │ ├── newComponent.js │ ├── newSubComponent.js │ └── postinstall.js │ ├── src │ ├── components │ │ ├── index.ts │ │ ├── vsAlert │ │ │ └── Base │ │ │ │ ├── _root.sass │ │ │ │ ├── bx-x.svg │ │ │ │ ├── index.ts │ │ │ │ ├── style.sass │ │ │ │ └── vsAlert.ts │ │ ├── vsAvatar │ │ │ ├── Base │ │ │ │ ├── _root.sass │ │ │ │ ├── index.ts │ │ │ │ ├── style.sass │ │ │ │ └── vsAvatar.ts │ │ │ └── Group │ │ │ │ ├── index.ts │ │ │ │ ├── style.sass │ │ │ │ └── vsAvatarGroup.ts │ │ ├── vsButton │ │ │ ├── Base │ │ │ │ ├── VsButton.ts │ │ │ │ ├── _root.sass │ │ │ │ ├── index.ts │ │ │ │ └── style.sass │ │ │ └── group │ │ │ │ ├── VsButtonGroup.ts │ │ │ │ ├── index.ts │ │ │ │ └── style.sass │ │ ├── vsCard │ │ │ ├── Base │ │ │ │ ├── _root.sass │ │ │ │ ├── index.ts │ │ │ │ ├── style.sass │ │ │ │ └── vsCard.ts │ │ │ └── Group │ │ │ │ ├── index.ts │ │ │ │ ├── style.sass │ │ │ │ └── vsCardGroup.ts │ │ ├── vsCheckbox │ │ │ └── Base │ │ │ │ ├── _root.sass │ │ │ │ ├── index.ts │ │ │ │ ├── style.sass │ │ │ │ └── vsCheckbox.ts │ │ ├── vsDialog │ │ │ └── Base │ │ │ │ ├── _root.sass │ │ │ │ ├── index.ts │ │ │ │ ├── style.sass │ │ │ │ └── vsDialog.ts │ │ ├── vsInput │ │ │ └── Base │ │ │ │ ├── _root.sass │ │ │ │ ├── index.ts │ │ │ │ ├── style.sass │ │ │ │ └── vsInput.ts │ │ ├── vsNavbar │ │ │ ├── Base │ │ │ │ ├── _root.sass │ │ │ │ ├── index.ts │ │ │ │ ├── style.sass │ │ │ │ └── vsNavbar.ts │ │ │ ├── Group │ │ │ │ ├── index.ts │ │ │ │ ├── style.sass │ │ │ │ └── vsNavbarGroup.ts │ │ │ └── Item │ │ │ │ ├── index.ts │ │ │ │ ├── style.sass │ │ │ │ └── vsNavbarItem.ts │ │ ├── vsPagination │ │ │ └── Base │ │ │ │ ├── _root.sass │ │ │ │ ├── index.ts │ │ │ │ ├── style.sass │ │ │ │ └── vsPagination.ts │ │ ├── vsRadio │ │ │ └── Base │ │ │ │ ├── _root.sass │ │ │ │ ├── index.ts │ │ │ │ ├── style.sass │ │ │ │ └── vsRadio.ts │ │ ├── vsSelect │ │ │ ├── Base │ │ │ │ ├── _root.sass │ │ │ │ ├── index.ts │ │ │ │ ├── style.sass │ │ │ │ └── vsSelect.ts │ │ │ ├── Option │ │ │ │ ├── index.ts │ │ │ │ ├── style.sass │ │ │ │ └── vsSelectOption.ts │ │ │ └── OptionGroup │ │ │ │ ├── index.ts │ │ │ │ ├── style.sass │ │ │ │ └── vsOptionGroup.ts │ │ ├── vsSidebar │ │ │ ├── Base │ │ │ │ ├── _root.sass │ │ │ │ ├── index.ts │ │ │ │ ├── style.sass │ │ │ │ └── vsSidebar.ts │ │ │ ├── Group │ │ │ │ ├── index.ts │ │ │ │ ├── style.sass │ │ │ │ └── vsSidebarGroup.ts │ │ │ └── Item │ │ │ │ ├── index.ts │ │ │ │ ├── style.sass │ │ │ │ └── vsSidebarItem.ts │ │ ├── vsSwitch │ │ │ └── Base │ │ │ │ ├── _root.sass │ │ │ │ ├── index.ts │ │ │ │ ├── style.sass │ │ │ │ └── vsSwitch.ts │ │ ├── vsTable │ │ │ ├── Base │ │ │ │ ├── _root.sass │ │ │ │ ├── index.ts │ │ │ │ ├── style.sass │ │ │ │ └── vsTable.ts │ │ │ ├── Td │ │ │ │ ├── index.ts │ │ │ │ ├── style.sass │ │ │ │ └── vsTableTd.ts │ │ │ ├── Th │ │ │ │ ├── index.ts │ │ │ │ ├── style.sass │ │ │ │ └── vsTableTh.ts │ │ │ └── Tr │ │ │ │ ├── index.ts │ │ │ │ ├── style.sass │ │ │ │ ├── vsTableExpand.ts │ │ │ │ └── vsTableTr.ts │ │ └── vsTooltip │ │ │ └── Base │ │ │ ├── _root.sass │ │ │ ├── index.ts │ │ │ ├── style.sass │ │ │ └── vsTooltip.ts │ ├── functions │ │ ├── defineVuesaxFunctions.ts │ │ ├── toggleTheme │ │ │ └── index.ts │ │ ├── vsLoading │ │ │ └── Base │ │ │ │ ├── index.ts │ │ │ │ ├── style.sass │ │ │ │ └── vsLoading.ts │ │ ├── vsNotification │ │ │ └── Base │ │ │ │ ├── index.ts │ │ │ │ ├── style.sass │ │ │ │ └── vsNotification.ts │ │ └── vsTable │ │ │ └── index.ts │ ├── icons │ │ ├── arrow.ts │ │ ├── check.ts │ │ ├── close.ts │ │ ├── icons.sass │ │ └── plus.ts │ ├── index.ts │ ├── layout │ │ ├── grid │ │ │ ├── VsCol.ts │ │ │ ├── VsRow.ts │ │ │ ├── index.ts │ │ │ └── style.sass │ │ └── index.ts │ ├── mixins │ │ └── component.ts │ ├── styles │ │ ├── _colors.sass │ │ ├── _dark.sass │ │ ├── _mixins.sass │ │ ├── _reset.sass │ │ ├── _vars.sass │ │ ├── index.ts │ │ └── vuesax.sass │ └── util │ │ ├── defineVuesaxOptions.ts │ │ ├── index.ts │ │ └── ripple │ │ ├── index.ts │ │ └── style.sass │ ├── test │ ├── sum.js │ └── sum.test.js │ ├── tsconfig.json │ ├── tslint.json │ └── types │ ├── component.d.ts │ ├── components │ ├── VsAlert.d.ts │ └── VsButton.d.ts │ ├── index.d.ts │ └── test │ ├── tsconfig.json │ └── vuesax-test.ts ├── public └── vuesax.gif ├── scripts ├── deploy.sh └── dev.js └── tsconfig.json /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | charset = utf-8 5 | indent_style = space 6 | indent_size = 2 7 | end_of_line = lf 8 | insert_final_newline = true 9 | trim_trailing_whitespace = true -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github : [luisDanielRoviraContreras] 4 | patreon: luisdanielroviracontreras 5 | open_collective: vuesax 6 | ko_fi: # Replace with a single Ko-fi username 7 | tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel 8 | community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry 9 | liberapay: # Replace with a single Liberapay username 10 | issuehunt: # Replace with a single IssueHunt username 11 | otechie: # Replace with a single Otechie username 12 | custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] 13 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | 8 | # Runtime data 9 | pids 10 | *.pid 11 | *.seed 12 | *.pid.lock 13 | 14 | # Directory for instrumented libs generated by jscoverage/JSCover 15 | lib-cov 16 | 17 | # Coverage directory used by tools like istanbul 18 | coverage 19 | 20 | # nyc test coverage 21 | .nyc_output 22 | 23 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) 24 | .grunt 25 | 26 | # Bower dependency directory (https://bower.io/) 27 | bower_components 28 | 29 | # node-waf configuration 30 | .lock-wscript 31 | 32 | # Compiled binary addons (https://nodejs.org/api/addons.html) 33 | build/Release 34 | 35 | # Dependency directories 36 | node_modules/ 37 | jspm_packages/ 38 | 39 | # TypeScript v1 declaration files 40 | typings/ 41 | 42 | # Optional npm cache directory 43 | .npm 44 | 45 | # Optional eslint cache 46 | .eslintcache 47 | 48 | # Optional REPL history 49 | .node_repl_history 50 | 51 | # Output of 'npm pack' 52 | *.tgz 53 | 54 | # Yarn Integrity file 55 | .yarn-integrity 56 | 57 | # dotenv environment variables file 58 | .env 59 | 60 | # next.js build output 61 | .next 62 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "git.ignoreLimitWarning": true 3 | } -------------------------------------------------------------------------------- /lerna.json: -------------------------------------------------------------------------------- 1 | { 2 | "packages": [ 3 | "packages/*" 4 | ], 5 | "version": "independent" 6 | } 7 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "vuesax-next", 3 | "version": "4.0.0", 4 | "description": "Vuesax v4", 5 | "main": "index.js", 6 | "scripts": { 7 | "dev": "node scripts/dev.js", 8 | "docs:deploy": "sh scripts/deploy.sh" 9 | }, 10 | "keywords": [], 11 | "author": "", 12 | "license": "ISC", 13 | "private": true, 14 | "devDependencies": { 15 | "lerna": "^3.19.0", 16 | "shelljs": "^0.8.3", 17 | "vue": "^2.6.11" 18 | }, 19 | "dependencies": { 20 | "@types/lodash": "^4.14.150" 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Alert/animate.vue: -------------------------------------------------------------------------------- 1 | 13 | 20 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Alert/closable.vue: -------------------------------------------------------------------------------- 1 | 13 | 20 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Alert/default.vue: -------------------------------------------------------------------------------- 1 | 11 | 18 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Alert/hiddenContent.vue: -------------------------------------------------------------------------------- 1 | 11 | 18 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Alert/pagination.vue: -------------------------------------------------------------------------------- 1 | 22 | 29 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Alert/time.vue: -------------------------------------------------------------------------------- 1 | 12 | 36 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Avatar/autoFont.vue: -------------------------------------------------------------------------------- 1 | 35 | 40 | 45 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Avatar/badge.vue: -------------------------------------------------------------------------------- 1 | 35 | 40 | 45 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Avatar/circle.vue: -------------------------------------------------------------------------------- 1 | 30 | 35 | 40 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Avatar/color.vue: -------------------------------------------------------------------------------- 1 | 40 | 45 | 50 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Avatar/default.vue: -------------------------------------------------------------------------------- 1 | 24 | 29 | 34 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Avatar/history.vue: -------------------------------------------------------------------------------- 1 | 20 | 25 | 30 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Avatar/icon.vue: -------------------------------------------------------------------------------- 1 | 23 | 28 | 33 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Avatar/icons.vue: -------------------------------------------------------------------------------- 1 | 28 | 33 | 38 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Avatar/loading.vue: -------------------------------------------------------------------------------- 1 | 29 | 34 | 39 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Avatar/size.vue: -------------------------------------------------------------------------------- 1 | 24 | 29 | 34 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Avatar/square.vue: -------------------------------------------------------------------------------- 1 | 30 | 35 | 40 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Card/default.vue: -------------------------------------------------------------------------------- 1 | 29 | 42 | 50 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Card/group.vue: -------------------------------------------------------------------------------- 1 | 31 | 44 | 52 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Card/type2.vue: -------------------------------------------------------------------------------- 1 | 29 | 36 | 44 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Card/type3.vue: -------------------------------------------------------------------------------- 1 | 29 | 36 | 44 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Card/type4.vue: -------------------------------------------------------------------------------- 1 | 29 | 36 | 44 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Card/type5.vue: -------------------------------------------------------------------------------- 1 | 29 | 36 | 44 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Checkbox/array.vue: -------------------------------------------------------------------------------- 1 | 24 | 34 | 46 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Checkbox/boolean.vue: -------------------------------------------------------------------------------- 1 | 11 | 19 | 24 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Checkbox/color.vue: -------------------------------------------------------------------------------- 1 | 26 | 39 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Checkbox/default.vue: -------------------------------------------------------------------------------- 1 | 8 | 15 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Checkbox/indeterminate.vue: -------------------------------------------------------------------------------- 1 | 8 | 15 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Checkbox/label.vue: -------------------------------------------------------------------------------- 1 | 11 | 19 | 24 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Checkbox/linethrough.vue: -------------------------------------------------------------------------------- 1 | 8 | 15 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Checkbox/loading.vue: -------------------------------------------------------------------------------- 1 | 11 | 19 | 24 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Checkbox/object.vue: -------------------------------------------------------------------------------- 1 | 18 | 30 | 48 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Checkbox/string.vue: -------------------------------------------------------------------------------- 1 | 12 | 19 | 29 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Dialog/notPadding.vue: -------------------------------------------------------------------------------- 1 | 13 | 20 | 29 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Input/border.vue: -------------------------------------------------------------------------------- 1 | 18 | 27 | 35 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Input/color.vue: -------------------------------------------------------------------------------- 1 | 42 | 55 | 60 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Input/default.vue: -------------------------------------------------------------------------------- 1 | 6 | 13 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Input/icon.vue: -------------------------------------------------------------------------------- 1 | 16 | 24 | 29 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Input/label.vue: -------------------------------------------------------------------------------- 1 | 10 | 17 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Input/labelPlaceholder.vue: -------------------------------------------------------------------------------- 1 | 9 | 16 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Input/loading.vue: -------------------------------------------------------------------------------- 1 | 6 | 13 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Input/message.vue: -------------------------------------------------------------------------------- 1 | 31 | 47 | 52 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Input/shadow.vue: -------------------------------------------------------------------------------- 1 | 18 | 27 | 35 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Input/state.vue: -------------------------------------------------------------------------------- 1 | 32 | 45 | 50 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Input/types.vue: -------------------------------------------------------------------------------- 1 | 40 | 53 | 58 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Loading/default.vue: -------------------------------------------------------------------------------- 1 | 6 | 18 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Loading/percent.vue: -------------------------------------------------------------------------------- 1 | 6 | 31 | 35 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Loading/progress.vue: -------------------------------------------------------------------------------- 1 | 6 | 31 | 35 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Loading/text.vue: -------------------------------------------------------------------------------- 1 | 6 | 20 | 24 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Notification/allWidth.vue: -------------------------------------------------------------------------------- 1 | 11 | 25 | 34 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Notification/call.vue: -------------------------------------------------------------------------------- 1 | 17 | 35 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Notification/default.vue: -------------------------------------------------------------------------------- 1 | 8 | 20 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Notification/duration.vue: -------------------------------------------------------------------------------- 1 | 17 | 31 | 47 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Notification/example.vue: -------------------------------------------------------------------------------- 1 | 14 | 44 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Pagination/buttons-dotted.vue: -------------------------------------------------------------------------------- 1 | 9 | 16 | 21 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Pagination/circle.vue: -------------------------------------------------------------------------------- 1 | 6 | 13 | 18 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Pagination/color.vue: -------------------------------------------------------------------------------- 1 | 26 | 34 | 46 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Pagination/default.vue: -------------------------------------------------------------------------------- 1 | 6 | 13 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Pagination/disabled.vue: -------------------------------------------------------------------------------- 1 | 6 | 13 | 18 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Pagination/disabledItems.vue: -------------------------------------------------------------------------------- 1 | 6 | 13 | 18 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Pagination/dotted-number.vue: -------------------------------------------------------------------------------- 1 | 6 | 13 | 18 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Pagination/infinite.vue: -------------------------------------------------------------------------------- 1 | 6 | 13 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Pagination/loadingItems.vue: -------------------------------------------------------------------------------- 1 | 6 | 13 | 18 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Pagination/not-arrows.vue: -------------------------------------------------------------------------------- 1 | 6 | 13 | 18 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Pagination/not-margin.vue: -------------------------------------------------------------------------------- 1 | 6 | 13 | 18 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Pagination/only-arrow.vue: -------------------------------------------------------------------------------- 1 | 9 | 16 | 23 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Pagination/progress.vue: -------------------------------------------------------------------------------- 1 | 6 | 13 | 18 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Pagination/slot.vue: -------------------------------------------------------------------------------- 1 | 15 | 22 | 30 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Pagination/square.vue: -------------------------------------------------------------------------------- 1 | 6 | 13 | 18 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Radio/color.vue: -------------------------------------------------------------------------------- 1 | 26 | 33 | 40 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Radio/default.vue: -------------------------------------------------------------------------------- 1 | 17 | 24 | 31 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Radio/label.vue: -------------------------------------------------------------------------------- 1 | 11 | 18 | 25 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Radio/loading.vue: -------------------------------------------------------------------------------- 1 | 11 | 18 | 25 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Select/default.vue: -------------------------------------------------------------------------------- 1 | 28 | 35 | 41 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Switch/array.vue: -------------------------------------------------------------------------------- 1 | 24 | 34 | 48 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Switch/color.vue: -------------------------------------------------------------------------------- 1 | 2 | 13 | 26 | 34 | 35 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Switch/default.vue: -------------------------------------------------------------------------------- 1 | 2 | 9 | 18 | 26 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Switch/indeterminate.vue: -------------------------------------------------------------------------------- 1 | 2 | 9 | 18 | 26 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Switch/loading.vue: -------------------------------------------------------------------------------- 1 | 9 | 17 | 25 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Switch/square.vue: -------------------------------------------------------------------------------- 1 | 2 | 9 | 18 | 26 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Switch/text.vue: -------------------------------------------------------------------------------- 1 | 2 | 25 | 34 | 42 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Tooltip/border.vue: -------------------------------------------------------------------------------- 1 | 29 | 36 | 42 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Tooltip/circle.vue: -------------------------------------------------------------------------------- 1 | 13 | 20 | 24 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Tooltip/default.vue: -------------------------------------------------------------------------------- 1 | 13 | 20 | 24 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Tooltip/loading.vue: -------------------------------------------------------------------------------- 1 | 19 | 26 | 30 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Tooltip/notArrow.vue: -------------------------------------------------------------------------------- 1 | 37 | 44 | 50 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Tooltip/position.vue: -------------------------------------------------------------------------------- 1 | 37 | 44 | 50 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Tooltip/shadow.vue: -------------------------------------------------------------------------------- 1 | 13 | 20 | 24 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/Tooltip/square.vue: -------------------------------------------------------------------------------- 1 | 13 | 20 | 24 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/button/animate.vue: -------------------------------------------------------------------------------- 1 | 46 | 53 | 58 | 59 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/button/block.vue: -------------------------------------------------------------------------------- 1 | 10 | 17 | 22 | 23 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/button/border.vue: -------------------------------------------------------------------------------- 1 | 25 | 32 | 36 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/button/color.vue: -------------------------------------------------------------------------------- 1 | 59 | 66 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/button/default.vue: -------------------------------------------------------------------------------- 1 | 18 | 25 | 26 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/button/flat.vue: -------------------------------------------------------------------------------- 1 | 25 | 32 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/button/floating.vue: -------------------------------------------------------------------------------- 1 | 39 | 40 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/button/gradient.vue: -------------------------------------------------------------------------------- 1 | 25 | 32 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/button/icon.vue: -------------------------------------------------------------------------------- 1 | 61 | 68 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/button/iconText.vue: -------------------------------------------------------------------------------- 1 | 56 | 63 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/button/loading.vue: -------------------------------------------------------------------------------- 1 | 64 | 71 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/button/relief.vue: -------------------------------------------------------------------------------- 1 | 25 | 32 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/button/shadow.vue: -------------------------------------------------------------------------------- 1 | 8 | 15 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/button/size.vue: -------------------------------------------------------------------------------- 1 | 39 | 46 | 47 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/button/square.vue: -------------------------------------------------------------------------------- 1 | 62 | 69 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/button/toHref.vue: -------------------------------------------------------------------------------- 1 | 26 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/button/transparent.vue: -------------------------------------------------------------------------------- 1 | 8 | 15 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/grid/flexOrder.vue: -------------------------------------------------------------------------------- 1 | 19 | 40 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/grid/offset.vue: -------------------------------------------------------------------------------- 1 | 34 | 62 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/utils/color.vue: -------------------------------------------------------------------------------- 1 | 25 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/components/utils/icon.vue: -------------------------------------------------------------------------------- 1 | 23 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/enhanceApp.ts: -------------------------------------------------------------------------------- 1 | import { EnhanceApp } from 'vuepress-types' 2 | import Vuesax from '../../vuesax/src/index' 3 | 4 | const enhanceApp: EnhanceApp = ({ Vue }) => { 5 | Vue.use(Vuesax) 6 | Vue.prototype.$user = Vue.observable({ 7 | user: null 8 | }) 9 | } 10 | 11 | export default enhanceApp 12 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/public/Contact-56403510-attachment-300706483.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/docs/.vuepress/public/Contact-56403510-attachment-300706483.png -------------------------------------------------------------------------------- /packages/docs/.vuepress/public/Patreon_Mark_Primary.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/docs/.vuepress/public/Patreon_Mark_Primary.png -------------------------------------------------------------------------------- /packages/docs/.vuepress/public/Poppins/Poppins-Black.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/docs/.vuepress/public/Poppins/Poppins-Black.ttf -------------------------------------------------------------------------------- /packages/docs/.vuepress/public/Poppins/Poppins-BlackItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/docs/.vuepress/public/Poppins/Poppins-BlackItalic.ttf -------------------------------------------------------------------------------- /packages/docs/.vuepress/public/Poppins/Poppins-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/docs/.vuepress/public/Poppins/Poppins-Bold.ttf -------------------------------------------------------------------------------- /packages/docs/.vuepress/public/Poppins/Poppins-BoldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/docs/.vuepress/public/Poppins/Poppins-BoldItalic.ttf -------------------------------------------------------------------------------- /packages/docs/.vuepress/public/Poppins/Poppins-ExtraBold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/docs/.vuepress/public/Poppins/Poppins-ExtraBold.ttf -------------------------------------------------------------------------------- /packages/docs/.vuepress/public/Poppins/Poppins-ExtraBoldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/docs/.vuepress/public/Poppins/Poppins-ExtraBoldItalic.ttf -------------------------------------------------------------------------------- /packages/docs/.vuepress/public/Poppins/Poppins-ExtraLight.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/docs/.vuepress/public/Poppins/Poppins-ExtraLight.ttf -------------------------------------------------------------------------------- /packages/docs/.vuepress/public/Poppins/Poppins-ExtraLightItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/docs/.vuepress/public/Poppins/Poppins-ExtraLightItalic.ttf -------------------------------------------------------------------------------- /packages/docs/.vuepress/public/Poppins/Poppins-Italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/docs/.vuepress/public/Poppins/Poppins-Italic.ttf -------------------------------------------------------------------------------- /packages/docs/.vuepress/public/Poppins/Poppins-Light.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/docs/.vuepress/public/Poppins/Poppins-Light.ttf -------------------------------------------------------------------------------- /packages/docs/.vuepress/public/Poppins/Poppins-LightItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/docs/.vuepress/public/Poppins/Poppins-LightItalic.ttf -------------------------------------------------------------------------------- /packages/docs/.vuepress/public/Poppins/Poppins-Medium.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/docs/.vuepress/public/Poppins/Poppins-Medium.ttf -------------------------------------------------------------------------------- /packages/docs/.vuepress/public/Poppins/Poppins-MediumItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/docs/.vuepress/public/Poppins/Poppins-MediumItalic.ttf -------------------------------------------------------------------------------- /packages/docs/.vuepress/public/Poppins/Poppins-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/docs/.vuepress/public/Poppins/Poppins-Regular.ttf -------------------------------------------------------------------------------- /packages/docs/.vuepress/public/Poppins/Poppins-SemiBold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/docs/.vuepress/public/Poppins/Poppins-SemiBold.ttf -------------------------------------------------------------------------------- /packages/docs/.vuepress/public/Poppins/Poppins-SemiBoldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/docs/.vuepress/public/Poppins/Poppins-SemiBoldItalic.ttf -------------------------------------------------------------------------------- /packages/docs/.vuepress/public/Poppins/Poppins-Thin.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/docs/.vuepress/public/Poppins/Poppins-Thin.ttf -------------------------------------------------------------------------------- /packages/docs/.vuepress/public/Poppins/Poppins-ThinItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/docs/.vuepress/public/Poppins/Poppins-ThinItalic.ttf -------------------------------------------------------------------------------- /packages/docs/.vuepress/public/Screenshot_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/docs/.vuepress/public/Screenshot_1.png -------------------------------------------------------------------------------- /packages/docs/.vuepress/public/avatars/avatar-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/docs/.vuepress/public/avatars/avatar-1.png -------------------------------------------------------------------------------- /packages/docs/.vuepress/public/avatars/avatar-10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/docs/.vuepress/public/avatars/avatar-10.png -------------------------------------------------------------------------------- /packages/docs/.vuepress/public/avatars/avatar-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/docs/.vuepress/public/avatars/avatar-2.png -------------------------------------------------------------------------------- /packages/docs/.vuepress/public/avatars/avatar-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/docs/.vuepress/public/avatars/avatar-3.png -------------------------------------------------------------------------------- /packages/docs/.vuepress/public/avatars/avatar-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/docs/.vuepress/public/avatars/avatar-4.png -------------------------------------------------------------------------------- /packages/docs/.vuepress/public/avatars/avatar-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/docs/.vuepress/public/avatars/avatar-5.png -------------------------------------------------------------------------------- /packages/docs/.vuepress/public/avatars/avatar-6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/docs/.vuepress/public/avatars/avatar-6.png -------------------------------------------------------------------------------- /packages/docs/.vuepress/public/avatars/avatar-7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/docs/.vuepress/public/avatars/avatar-7.png -------------------------------------------------------------------------------- /packages/docs/.vuepress/public/avatars/avatar-8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/docs/.vuepress/public/avatars/avatar-8.png -------------------------------------------------------------------------------- /packages/docs/.vuepress/public/avatars/avatar-9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/docs/.vuepress/public/avatars/avatar-9.png -------------------------------------------------------------------------------- /packages/docs/.vuepress/public/bit-share-code.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/docs/.vuepress/public/bit-share-code.png -------------------------------------------------------------------------------- /packages/docs/.vuepress/public/bit-share-code2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/docs/.vuepress/public/bit-share-code2.png -------------------------------------------------------------------------------- /packages/docs/.vuepress/public/dark-demo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/docs/.vuepress/public/dark-demo.jpg -------------------------------------------------------------------------------- /packages/docs/.vuepress/public/favicon1_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/docs/.vuepress/public/favicon1_1.png -------------------------------------------------------------------------------- /packages/docs/.vuepress/public/favicon2_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/docs/.vuepress/public/favicon2_1.png -------------------------------------------------------------------------------- /packages/docs/.vuepress/public/foto1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/docs/.vuepress/public/foto1.png -------------------------------------------------------------------------------- /packages/docs/.vuepress/public/foto10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/docs/.vuepress/public/foto10.png -------------------------------------------------------------------------------- /packages/docs/.vuepress/public/foto11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/docs/.vuepress/public/foto11.png -------------------------------------------------------------------------------- /packages/docs/.vuepress/public/foto12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/docs/.vuepress/public/foto12.png -------------------------------------------------------------------------------- /packages/docs/.vuepress/public/foto13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/docs/.vuepress/public/foto13.png -------------------------------------------------------------------------------- /packages/docs/.vuepress/public/foto2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/docs/.vuepress/public/foto2.jpg -------------------------------------------------------------------------------- /packages/docs/.vuepress/public/foto2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/docs/.vuepress/public/foto2.png -------------------------------------------------------------------------------- /packages/docs/.vuepress/public/foto3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/docs/.vuepress/public/foto3.png -------------------------------------------------------------------------------- /packages/docs/.vuepress/public/foto4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/docs/.vuepress/public/foto4.png -------------------------------------------------------------------------------- /packages/docs/.vuepress/public/foto5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/docs/.vuepress/public/foto5.png -------------------------------------------------------------------------------- /packages/docs/.vuepress/public/foto6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/docs/.vuepress/public/foto6.png -------------------------------------------------------------------------------- /packages/docs/.vuepress/public/foto7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/docs/.vuepress/public/foto7.png -------------------------------------------------------------------------------- /packages/docs/.vuepress/public/foto8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/docs/.vuepress/public/foto8.png -------------------------------------------------------------------------------- /packages/docs/.vuepress/public/foto9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/docs/.vuepress/public/foto9.png -------------------------------------------------------------------------------- /packages/docs/.vuepress/public/logo1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/docs/.vuepress/public/logo1.png -------------------------------------------------------------------------------- /packages/docs/.vuepress/public/logo2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/docs/.vuepress/public/logo2.png -------------------------------------------------------------------------------- /packages/docs/.vuepress/public/logos/logo-vuesax-logotipo-vuesax-png-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/docs/.vuepress/public/logos/logo-vuesax-logotipo-vuesax-png-1.png -------------------------------------------------------------------------------- /packages/docs/.vuepress/public/logos/logo-vuesax-logotipo-vuesax-png-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/docs/.vuepress/public/logos/logo-vuesax-logotipo-vuesax-png-2.png -------------------------------------------------------------------------------- /packages/docs/.vuepress/public/logos/logo-vuesax-logotipo-vuesax-png-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/docs/.vuepress/public/logos/logo-vuesax-logotipo-vuesax-png-3.png -------------------------------------------------------------------------------- /packages/docs/.vuepress/public/logos/logo-vuesax-logotipo-vuesax-png-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/docs/.vuepress/public/logos/logo-vuesax-logotipo-vuesax-png-4.png -------------------------------------------------------------------------------- /packages/docs/.vuepress/public/logos/logo-vuesax-logotipo-vuesax-png-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/docs/.vuepress/public/logos/logo-vuesax-logotipo-vuesax-png-5.png -------------------------------------------------------------------------------- /packages/docs/.vuepress/public/logos/logo-vuesax-logotipo-vuesax-png-6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/docs/.vuepress/public/logos/logo-vuesax-logotipo-vuesax-png-6.png -------------------------------------------------------------------------------- /packages/docs/.vuepress/public/logos/logo-vuesax-logotipo-vuesax-png-7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/docs/.vuepress/public/logos/logo-vuesax-logotipo-vuesax-png-7.png -------------------------------------------------------------------------------- /packages/docs/.vuepress/public/logos/logo-vuesax-logotipo-vuesax-png-8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/docs/.vuepress/public/logos/logo-vuesax-logotipo-vuesax-png-8.png -------------------------------------------------------------------------------- /packages/docs/.vuepress/public/logos/logo-vuesax-svg-7.svg: -------------------------------------------------------------------------------- 1 | 2 | 14 | 15 | -------------------------------------------------------------------------------- /packages/docs/.vuepress/public/logos/logo-vuesax-svg-8.svg: -------------------------------------------------------------------------------- 1 | Recurso 48 -------------------------------------------------------------------------------- /packages/docs/.vuepress/public/new.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/docs/.vuepress/public/new.png -------------------------------------------------------------------------------- /packages/docs/.vuepress/public/nuxt-test-page.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/docs/.vuepress/public/nuxt-test-page.png -------------------------------------------------------------------------------- /packages/docs/.vuepress/public/nuxt-ui-vuesax.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/docs/.vuepress/public/nuxt-ui-vuesax.png -------------------------------------------------------------------------------- /packages/docs/.vuepress/public/tipe.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/docs/.vuepress/public/tipe.png -------------------------------------------------------------------------------- /packages/docs/.vuepress/public/use/babel-vuesax-6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/docs/.vuepress/public/use/babel-vuesax-6.png -------------------------------------------------------------------------------- /packages/docs/.vuepress/public/use/boxicons-vuesax-10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/docs/.vuepress/public/use/boxicons-vuesax-10.png -------------------------------------------------------------------------------- /packages/docs/.vuepress/public/use/boxicons-vuesax-9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/docs/.vuepress/public/use/boxicons-vuesax-9.png -------------------------------------------------------------------------------- /packages/docs/.vuepress/public/use/illustrator-vuesax-11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/docs/.vuepress/public/use/illustrator-vuesax-11.png -------------------------------------------------------------------------------- /packages/docs/.vuepress/public/use/js-javaScript-vuesax.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/docs/.vuepress/public/use/js-javaScript-vuesax.png -------------------------------------------------------------------------------- /packages/docs/.vuepress/public/use/sass-vuesax-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/docs/.vuepress/public/use/sass-vuesax-4.png -------------------------------------------------------------------------------- /packages/docs/.vuepress/public/use/typescript-vuesax.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/docs/.vuepress/public/use/typescript-vuesax.png -------------------------------------------------------------------------------- /packages/docs/.vuepress/public/use/vuejs-vuesax-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/docs/.vuepress/public/use/vuejs-vuesax-1.png -------------------------------------------------------------------------------- /packages/docs/.vuepress/public/use/vuepress-vuesax-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/docs/.vuepress/public/use/vuepress-vuesax-5.png -------------------------------------------------------------------------------- /packages/docs/.vuepress/public/use/webpack-vuesax-12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/docs/.vuepress/public/use/webpack-vuesax-12.png -------------------------------------------------------------------------------- /packages/docs/.vuepress/public/use/webpack-vuesax-13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/docs/.vuepress/public/use/webpack-vuesax-13.png -------------------------------------------------------------------------------- /packages/docs/.vuepress/public/vue-logo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/docs/.vuepress/public/vue-logo.jpg -------------------------------------------------------------------------------- /packages/docs/.vuepress/public/vue-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/docs/.vuepress/public/vue-logo.png -------------------------------------------------------------------------------- /packages/docs/.vuepress/public/vuesax-only-b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/docs/.vuepress/public/vuesax-only-b.png -------------------------------------------------------------------------------- /packages/docs/.vuepress/public/vuesax-only.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/docs/.vuepress/public/vuesax-only.png -------------------------------------------------------------------------------- /packages/docs/.vuepress/public/vuesax-store.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/docs/.vuepress/public/vuesax-store.png -------------------------------------------------------------------------------- /packages/docs/.vuepress/public/vuesax_components.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/docs/.vuepress/public/vuesax_components.png -------------------------------------------------------------------------------- /packages/docs/.vuepress/public/woman.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/docs/.vuepress/public/woman.jpg -------------------------------------------------------------------------------- /packages/docs/.vuepress/public/wrappixel-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/docs/.vuepress/public/wrappixel-logo.png -------------------------------------------------------------------------------- /packages/docs/.vuepress/public/wrappixel-logo2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/docs/.vuepress/public/wrappixel-logo2.png -------------------------------------------------------------------------------- /packages/docs/.vuepress/shims-vue.d.ts: -------------------------------------------------------------------------------- 1 | // .vuepress/shims-vue.d.ts 2 | declare module '*.vue' { 3 | import Vue from 'vue' 4 | export default Vue 5 | } 6 | -------------------------------------------------------------------------------- /packages/docs/branding/README.md: -------------------------------------------------------------------------------- 1 | --- 2 | branding: true 3 | --- 4 | 5 | # branding 6 | -------------------------------------------------------------------------------- /packages/docs/docs/README.md: -------------------------------------------------------------------------------- 1 | --- 2 | docsHome: true 3 | --- 4 | -------------------------------------------------------------------------------- /packages/docs/docs/animations/README.md: -------------------------------------------------------------------------------- 1 | # animations 2 | -------------------------------------------------------------------------------- /packages/docs/docs/directives/README.md: -------------------------------------------------------------------------------- 1 | # Directives 2 | -------------------------------------------------------------------------------- /packages/docs/docs/functions/README.md: -------------------------------------------------------------------------------- 1 | # Functions 2 | -------------------------------------------------------------------------------- /packages/docs/docs/guide/configuration.md: -------------------------------------------------------------------------------- 1 | # Configuration 2 | 3 | ## Instance Config 4 | -------------------------------------------------------------------------------- /packages/docs/docs/guide/migration.md: -------------------------------------------------------------------------------- 1 | # Migration 2 | -------------------------------------------------------------------------------- /packages/docs/docs/theme/font.md: -------------------------------------------------------------------------------- 1 | # Font 2 | -------------------------------------------------------------------------------- /packages/docs/docs/theme/generate.md: -------------------------------------------------------------------------------- 1 | # Generate 2 | 3 | ## change default Colors 4 | -------------------------------------------------------------------------------- /packages/docs/docs/theme/icons.md: -------------------------------------------------------------------------------- 1 | # Icons 2 | -------------------------------------------------------------------------------- /packages/docs/ecosystem/README.md: -------------------------------------------------------------------------------- 1 | # Vuesax Ecosystem 2 | 3 | ## Discord 4 | 5 | ## Github 6 | 7 | ## twitter 8 | 9 | ## Patreon 10 | -------------------------------------------------------------------------------- /packages/docs/es/branding/README.md: -------------------------------------------------------------------------------- 1 | --- 2 | branding: true 3 | --- 4 | 5 | # branding 6 | -------------------------------------------------------------------------------- /packages/docs/es/docs/README.md: -------------------------------------------------------------------------------- 1 | --- 2 | docsHome: true 3 | --- 4 | -------------------------------------------------------------------------------- /packages/docs/es/docs/animations/README.md: -------------------------------------------------------------------------------- 1 | # animations 2 | -------------------------------------------------------------------------------- /packages/docs/es/docs/directives/README.md: -------------------------------------------------------------------------------- 1 | # Directives 2 | -------------------------------------------------------------------------------- /packages/docs/es/docs/functions/README.md: -------------------------------------------------------------------------------- 1 | # Functions 2 | -------------------------------------------------------------------------------- /packages/docs/es/docs/guide/configuration.md: -------------------------------------------------------------------------------- 1 | # Configuration 2 | 3 | ## Instance Config 4 | -------------------------------------------------------------------------------- /packages/docs/es/docs/guide/migration.md: -------------------------------------------------------------------------------- 1 | # Migration 2 | -------------------------------------------------------------------------------- /packages/docs/es/docs/theme/font.md: -------------------------------------------------------------------------------- 1 | # Font 2 | -------------------------------------------------------------------------------- /packages/docs/es/docs/theme/generate.md: -------------------------------------------------------------------------------- 1 | # Generate 2 | 3 | ## change default Colors 4 | -------------------------------------------------------------------------------- /packages/docs/es/docs/theme/icons.md: -------------------------------------------------------------------------------- 1 | # Icons 2 | -------------------------------------------------------------------------------- /packages/docs/es/ecosystem/README.md: -------------------------------------------------------------------------------- 1 | # Vuesax Ecosystem 2 | 3 | ## Discord 4 | 5 | ## Github 6 | 7 | ## twitter 8 | 9 | ## Patreon 10 | -------------------------------------------------------------------------------- /packages/docs/es/examples/README.md: -------------------------------------------------------------------------------- 1 | # Getting Started 2 | 3 | hola mundo 4 | 5 | ## Quick-start CDN 6 | 7 | ## Install in project via NPM or YARN 8 | 9 | lorem in 10 | 11 | ## Use 12 | 13 | lorem in 14 | lorem in 15 | 16 | ## Or use individual components: 17 | -------------------------------------------------------------------------------- /packages/docs/es/examples/nuxt.md: -------------------------------------------------------------------------------- 1 | # Vuesax with Nuxt 2 | 3 | ## Init Project 4 | 5 | ## Install Vuesax 6 | -------------------------------------------------------------------------------- /packages/docs/es/more/readme.md: -------------------------------------------------------------------------------- 1 | # API 2 | 3 | esta es el api -------------------------------------------------------------------------------- /packages/docs/es/pass/README.md: -------------------------------------------------------------------------------- 1 | --- 2 | passLayout: true 3 | --- 4 | 5 | # Vuesax Pass 6 | 7 | ## prueba 8 | -------------------------------------------------------------------------------- /packages/docs/examples/README.md: -------------------------------------------------------------------------------- 1 | # Getting Started 2 | 3 | hola mundo 4 | 5 | ## Quick-start CDN 6 | 7 | ## Install in project via NPM or YARN 8 | 9 | lorem in 10 | 11 | ## Use 12 | 13 | lorem in 14 | lorem in 15 | 16 | ## Or use individual components: 17 | -------------------------------------------------------------------------------- /packages/docs/examples/navbar.md: -------------------------------------------------------------------------------- 1 | --- 2 | navbar: true 3 | --- 4 | 5 | -------------------------------------------------------------------------------- /packages/docs/examples/nuxt.md: -------------------------------------------------------------------------------- 1 | # Vuesax with Nuxt 2 | 3 | ## Init Project 4 | 5 | ## Install Vuesax 6 | -------------------------------------------------------------------------------- /packages/docs/examples/sidebar.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: sidebar 3 | --- 4 | -------------------------------------------------------------------------------- /packages/docs/more/readme.md: -------------------------------------------------------------------------------- 1 | # API 2 | 3 | esta es el api -------------------------------------------------------------------------------- /packages/docs/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "docs", 3 | "version": "0.0.1", 4 | "description": "", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1", 8 | "dev": "vuepress dev", 9 | "build": "vuepress build" 10 | }, 11 | "keywords": [], 12 | "author": "", 13 | "license": "ISC", 14 | "devDependencies": { 15 | "@vuepress/plugin-active-header-links": "^1.0.0-rc.1", 16 | "@vuesax/vuepress-theme-vuesax": "0.0.11", 17 | "boxicons": "^2.0.5", 18 | "css-loader": "^3.2.0", 19 | "fibers": "^4.0.2", 20 | "mini-css-extract-plugin": "^0.8.0", 21 | "node-sass": "^4.13.0", 22 | "postcss-loader": "^3.0.0", 23 | "sass": "^1.23.3", 24 | "sass-loader": "^7.3.1", 25 | "typescript": "^3.7.4", 26 | "vue-property-decorator": "^8.3.0", 27 | "vuepress": "^1.1.0", 28 | "vuepress-plugin-google-adsense": "0.0.4", 29 | "vuepress-plugin-typescript": "^0.1.1", 30 | "vuepress-types": "^0.5.1" 31 | }, 32 | "dependencies": { 33 | "firebase": "^7.6.1", 34 | "vue-google-adsense": "^1.8.0", 35 | "vue-script2": "^2.1.0" 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /packages/docs/pass/README.md: -------------------------------------------------------------------------------- 1 | --- 2 | passLayout: true 3 | --- 4 | 5 | # Vuesax Pass 6 | 7 | ## prueba 8 | -------------------------------------------------------------------------------- /packages/docs/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.json" 3 | } 4 | 5 | -------------------------------------------------------------------------------- /packages/vuepress-theme-vuesax/.editorconfig: -------------------------------------------------------------------------------- 1 | # editorconfig.org 2 | root = true 3 | 4 | [*] 5 | indent_style = space 6 | indent_size = 2 7 | end_of_line = lf 8 | charset = utf-8 9 | trim_trailing_whitespace = true 10 | insert_final_newline = true 11 | 12 | [*.md] 13 | trim_trailing_whitespace = false 14 | -------------------------------------------------------------------------------- /packages/vuepress-theme-vuesax/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2018-present, Yuxi (Evan) You 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /packages/vuepress-theme-vuesax/components/DropdownTransition.vue: -------------------------------------------------------------------------------- 1 | 11 | 12 | 28 | 29 | 34 | -------------------------------------------------------------------------------- /packages/vuepress-theme-vuesax/components/HomeIllustration4.vue: -------------------------------------------------------------------------------- 1 | 18 | 19 | 24 | 25 | 50 | -------------------------------------------------------------------------------- /packages/vuepress-theme-vuesax/components/SidebarButton.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 17 | 18 | 51 | -------------------------------------------------------------------------------- /packages/vuepress-theme-vuesax/enhanceApp.js: -------------------------------------------------------------------------------- 1 | // import Vuesax from '../vuesax/src/index.js' 2 | import 'boxicons/css/boxicons.min.css' 3 | export default ({ 4 | Vue, // the version of Vue being used in the VuePress app 5 | // options, // the options for the root Vue instance 6 | // router, // the router instance for the app 7 | // siteData // site metadata 8 | }) => { 9 | // ...apply enhancements to the app 10 | // Vue.use(Vuesax) 11 | Vue.prototype.$vsTheme = { 12 | mobileActive: false, 13 | openCode: false, 14 | themeDarken: false, 15 | sidebarCollapseOpen: true, 16 | sidebarCollapseOpen: true, 17 | } 18 | 19 | Vue.prototype.$codesandbox = { 20 | url: null 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /packages/vuepress-theme-vuesax/global-components/Color.vue: -------------------------------------------------------------------------------- 1 | 22 | 26 | -------------------------------------------------------------------------------- /packages/vuepress-theme-vuesax/global-components/Coloren.vue: -------------------------------------------------------------------------------- 1 | 22 | 26 | -------------------------------------------------------------------------------- /packages/vuepress-theme-vuesax/global-components/Icons.vue: -------------------------------------------------------------------------------- 1 | 20 | 25 | -------------------------------------------------------------------------------- /packages/vuepress-theme-vuesax/global-components/docsWarn.vue: -------------------------------------------------------------------------------- 1 | 11 | 16 | 17 | -------------------------------------------------------------------------------- /packages/vuepress-theme-vuesax/index.js: -------------------------------------------------------------------------------- 1 | const path = require('path') 2 | module.exports = (options, ctx) => ({ 3 | alias () { 4 | const { themeConfig, siteConfig } = ctx 5 | // resolve algolia 6 | const isAlgoliaSearch = ( 7 | themeConfig.algolia || 8 | Object.keys(siteConfig.locales && themeConfig.locales || {}) 9 | .some(base => themeConfig.locales[base].algolia) 10 | ) 11 | return { 12 | '@AlgoliaSearchBox': isAlgoliaSearch 13 | ? path.resolve(__dirname, 'components/AlgoliaSearchBox.vue') 14 | : path.resolve(__dirname, 'noopModule.js') 15 | } 16 | }, 17 | name: 'vuepress-theme-vuesax', 18 | // extend: '@vuepress/theme-default', 19 | plugins: [ 20 | ['@vuepress/active-header-links'], 21 | ['container', { 22 | type: 'tip', 23 | defaultTitle: '', 24 | }], 25 | ['container', { 26 | type: 'warning', 27 | defaultTitle: '', 28 | }], 29 | ['container', { 30 | type: 'danger', 31 | defaultTitle: '', 32 | }] 33 | ] 34 | }) 35 | 36 | -------------------------------------------------------------------------------- /packages/vuepress-theme-vuesax/layouts/404.vue: -------------------------------------------------------------------------------- 1 | 9 | 10 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /packages/vuepress-theme-vuesax/noopModule.js: -------------------------------------------------------------------------------- 1 | export default {} 2 | -------------------------------------------------------------------------------- /packages/vuepress-theme-vuesax/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@vuesax/vuepress-theme-vuesax", 3 | "version": "0.0.10", 4 | "description": "Vuepress theme for Vuesax framework", 5 | "main": "index.js", 6 | "scripts": { 7 | "p": "npm version patch && npm publish --access public" 8 | }, 9 | "keywords": [], 10 | "author": "", 11 | "license": "ISC", 12 | "devDependencies": { 13 | "@vuepress/plugin-active-header-links": "^1.0.0-rc.1", 14 | "boxicons": "^2.0.4", 15 | "node-sass": "^4.13.0", 16 | "sass": "^1.23.3", 17 | "sass-loader": "^7.3.1", 18 | "vuepress": "^1.1.0", 19 | "vuepress-plugin-container": "^2.1.0" 20 | }, 21 | "dependencies": { 22 | "minimist": "^1.2.5" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /packages/vuepress-theme-vuesax/public/Recurso 16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/vuepress-theme-vuesax/public/Recurso 16.png -------------------------------------------------------------------------------- /packages/vuepress-theme-vuesax/public/Recurso 18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/vuepress-theme-vuesax/public/Recurso 18.png -------------------------------------------------------------------------------- /packages/vuepress-theme-vuesax/public/favicon1_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/vuepress-theme-vuesax/public/favicon1_1.png -------------------------------------------------------------------------------- /packages/vuepress-theme-vuesax/public/favicon2_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/vuepress-theme-vuesax/public/favicon2_1.png -------------------------------------------------------------------------------- /packages/vuepress-theme-vuesax/public/logo-vuesax.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/vuepress-theme-vuesax/public/logo-vuesax.png -------------------------------------------------------------------------------- /packages/vuepress-theme-vuesax/public/logo1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/vuepress-theme-vuesax/public/logo1.png -------------------------------------------------------------------------------- /packages/vuepress-theme-vuesax/public/logo2_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/vuepress-theme-vuesax/public/logo2_1.png -------------------------------------------------------------------------------- /packages/vuepress-theme-vuesax/public/vuesax solo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/packages/vuepress-theme-vuesax/public/vuesax solo.png -------------------------------------------------------------------------------- /packages/vuepress-theme-vuesax/styles/arrow.styl: -------------------------------------------------------------------------------- 1 | @require './config' 2 | 3 | .arrow 4 | display inline-block 5 | width 0 6 | height 0 7 | &.up 8 | border-left 4px solid transparent 9 | border-right 4px solid transparent 10 | border-bottom 6px solid $arrowBgColor 11 | &.down 12 | border-left 4px solid transparent 13 | border-right 4px solid transparent 14 | border-top 6px solid $arrowBgColor 15 | &.right 16 | border-top 4px solid transparent 17 | border-bottom 4px solid transparent 18 | border-left 6px solid $arrowBgColor 19 | &.left 20 | border-top 4px solid transparent 21 | border-bottom 4px solid transparent 22 | border-right 6px solid $arrowBgColor 23 | -------------------------------------------------------------------------------- /packages/vuepress-theme-vuesax/styles/custom-blocks.styl: -------------------------------------------------------------------------------- 1 | .custom-block 2 | border-radius: 0px 15px 15px 0px !important 3 | code 4 | color inherit 5 | a 6 | text-decoration: underline !important 7 | color inherit !important 8 | .custom-block-title 9 | font-weight 600 10 | margin-bottom -0.4rem 11 | 12 | &.tip, &.warning, &.danger 13 | padding .1rem 1rem 14 | border-left-width .1rem 15 | border-left-style solid 16 | margin 1rem 0 17 | position relative 18 | 19 | p 20 | padding: 0px !important 21 | margin: 1rem 0px !important 22 | p, li 23 | font-size: .8rem 24 | &.tip 25 | background-color rgba(70, 201, 58,.04) 26 | border-color #42b983 27 | color darken(#42b983, 30%) 28 | &.warning 29 | background-color rgba(255, 186, 0,.09) 30 | border-color rgb(255, 186, 0) 31 | color darken(rgb(255, 186, 0), 20%) 32 | .custom-block-title 33 | color darken(rgb(255, 186, 0), 30%) 34 | a 35 | color $textColor 36 | &.danger 37 | background-color rgba(255, 71, 87,.05) 38 | border-color darken(red, 20%) 39 | border-color rgb(255, 71, 87) 40 | color darken(rgb(255, 71, 87), 20%) 41 | .custom-block-title 42 | color darken(rgb(255, 71, 87), 30%) 43 | a 44 | color $textColor 45 | 46 | 47 | 48 | 49 | 50 | -------------------------------------------------------------------------------- /packages/vuepress-theme-vuesax/styles/mobile.styl: -------------------------------------------------------------------------------- 1 | @require './config' 2 | 3 | $mobileSidebarWidth = $sidebarWidth * 0.82 4 | 5 | // narrow desktop / iPad 6 | @media (max-width: $MQNarrow) 7 | .sidebar 8 | font-size 15px 9 | width $mobileSidebarWidth 10 | // .page 11 | // padding-left $mobileSidebarWidth 12 | 13 | // wide mobile 14 | @media (max-width: 1000px) 15 | .sidebar 16 | top 0 17 | padding-top 20px 18 | transform translateX(-100%) 19 | transition transform .2s ease 20 | z-index 99999 !important 21 | box-shadow: 0px 0px 20px 0px rgba(0,0,0,.05) 22 | .effect1 23 | display none 24 | .nav-links 25 | border-bottom: 0px 26 | .nav-item 27 | a 28 | padding 0px !important 29 | text-align: left !important 30 | justify-content: flex-start 31 | &:after 32 | display none 33 | .page 34 | padding-left 0 35 | margin-left: 0px !important 36 | width: 100% 37 | .theme-container 38 | &.sidebar-open 39 | .sidebar 40 | transform translateX(0) 41 | &.no-navbar 42 | .sidebar 43 | padding-top: 0 44 | 45 | @media (max-width: 500px) 46 | .center 47 | padding 10px 0px 48 | 49 | // narrow mobile 50 | @media (max-width: $MQMobileNarrow) 51 | h1 52 | font-size 1.9rem 53 | .content 54 | div[class*="language-"] 55 | margin 0.85rem -1.5rem 56 | border-radius 0 57 | -------------------------------------------------------------------------------- /packages/vuepress-theme-vuesax/styles/palette.styl: -------------------------------------------------------------------------------- 1 | 2 | $accentColor = #2564ff 3 | // $accentColor = #111214 4 | // $textColor = #b0b4be 5 | $codeBgColor = #3f3d56 6 | 7 | // vuesax-theme vars 8 | $bgColor = #dee7ea 9 | $layoutColor = #fff 10 | -------------------------------------------------------------------------------- /packages/vuepress-theme-vuesax/styles/styleSass.stylus: -------------------------------------------------------------------------------- 1 | body 2 | background: #000 3 | -------------------------------------------------------------------------------- /packages/vuepress-theme-vuesax/styles/toc.styl: -------------------------------------------------------------------------------- 1 | .table-of-contents 2 | .badge 3 | vertical-align middle 4 | -------------------------------------------------------------------------------- /packages/vuepress-theme-vuesax/styles/wrapper.styl: -------------------------------------------------------------------------------- 1 | $wrapper 2 | max-width 900px 3 | margin 0 auto 4 | padding 2rem 2.5rem 5 | @media (max-width: $MQNarrow) 6 | padding 2rem 7 | @media (max-width: $MQMobileNarrow) 8 | padding 1.5rem 9 | 10 | -------------------------------------------------------------------------------- /packages/vuesax/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": [ 3 | // "@babel/typescript", 4 | // "@babel/env" 5 | ["@babel/env", {"loose": true, "modules": false}], 6 | "@babel/typescript" 7 | ], 8 | "plugins": [ 9 | // ["@babel/plugin-proposal-decorators", { "decoratorsBeforeExport": true }], 10 | "@babel/plugin-transform-runtime", 11 | ["@babel/plugin-proposal-decorators", 12 | { "legacy": true } 13 | ], 14 | ["@babel/plugin-proposal-class-properties", { "loose" : true }], 15 | "@babel/plugin-proposal-object-rest-spread" 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /packages/vuesax/.browserslistrc: -------------------------------------------------------------------------------- 1 | > 1% 2 | last 2 versions 3 | -------------------------------------------------------------------------------- /packages/vuesax/build/components/webpack.components.js: -------------------------------------------------------------------------------- 1 | const path = require('path') 2 | var Components = require('./components.json'); 3 | const MiniCssExtractPlugin = require('mini-css-extract-plugin'); 4 | const baseWebpackConfig = require('../webpack.base.js') 5 | const merge = require('webpack-merge') 6 | 7 | delete Components.newComponent 8 | 9 | module.exports = merge(baseWebpackConfig, { 10 | entry: Components, 11 | output: { 12 | filename: '[name]/index.js', 13 | path: path.resolve(process.cwd(), 'dist'), 14 | publicPath: '/dist/', 15 | library: '[name]', 16 | libraryTarget: 'umd', 17 | libraryExport: 'default', 18 | globalObject: 'typeof self !== \'undefined\' ? self : this' 19 | }, 20 | plugins:[ 21 | new MiniCssExtractPlugin({ 22 | filename: '[name]/style.css', 23 | }) 24 | ] 25 | }) 26 | -------------------------------------------------------------------------------- /packages/vuesax/build/dev/index.js: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /packages/vuesax/build/index.js: -------------------------------------------------------------------------------- 1 | 2 | const { execSync } = require('child_process') 3 | const print = require('./utils/print.js') 4 | const yellow = print('yellow') 5 | const emptyLine = print() 6 | const chalk = require('chalk') 7 | const green = print('green') 8 | 9 | emptyLine() 10 | emptyLine() 11 | yellow(`Building ${chalk.bold('Vuesax')} Framework`) 12 | emptyLine() 13 | emptyLine() 14 | 15 | execSync( 16 | `npx webpack --config build/lib/webpack.umd.js`, {stdio: 'inherit'} 17 | ) 18 | 19 | emptyLine() 20 | emptyLine() 21 | yellow(`Building Components`) 22 | emptyLine() 23 | emptyLine() 24 | 25 | execSync( 26 | `npx webpack --config build/components/webpack.components.js`, {stdio: 'inherit'} 27 | ) 28 | 29 | emptyLine() 30 | emptyLine() 31 | yellow(`Building Styles`) 32 | emptyLine() 33 | emptyLine() 34 | 35 | execSync( 36 | `npx webpack --config build/styles/webpack.styles.js`, {stdio: 'inherit'} 37 | ) 38 | 39 | emptyLine() 40 | emptyLine() 41 | green(chalk.bold(`Success Build!`)) 42 | emptyLine() 43 | emptyLine() 44 | 45 | // v0.1.3 46 | -------------------------------------------------------------------------------- /packages/vuesax/build/lib/webpack.umd.js: -------------------------------------------------------------------------------- 1 | const path = require('path') 2 | const baseWebpackConfig = require('../webpack.base.js') 3 | const merge = require('webpack-merge') 4 | const MiniCssExtractPlugin = require('mini-css-extract-plugin'); 5 | 6 | module.exports = merge(baseWebpackConfig, { 7 | entry: { 8 | 'vuesax': './src/index.ts', 9 | 'vuesax.min': './src/index.ts', 10 | }, 11 | output: { 12 | filename: '[name].js', 13 | path: path.resolve(process.cwd(), 'dist'), 14 | publicPath: '/dist/', 15 | library: 'Vuesax', 16 | libraryTarget: 'umd', 17 | libraryExport: 'default', 18 | umdNamedDefine: true, 19 | globalObject: 'typeof self !== \'undefined\' ? self : this' 20 | }, 21 | plugins:[ 22 | new MiniCssExtractPlugin({ 23 | filename: '[name].css', 24 | }) 25 | ] 26 | }) 27 | -------------------------------------------------------------------------------- /packages/vuesax/build/styles/webpack.styles.js: -------------------------------------------------------------------------------- 1 | const path = require('path') 2 | const baseWebpackConfig = require('../webpack.base.js') 3 | const merge = require('webpack-merge') 4 | const MiniCssExtractPlugin = require('mini-css-extract-plugin'); 5 | 6 | module.exports = merge(baseWebpackConfig, { 7 | entry: { 8 | 'base': './src/styles/index.ts', 9 | 'base.min': './src/styles/index.ts', 10 | }, 11 | output: { 12 | filename: '[name].js', 13 | path: path.resolve(process.cwd(), 'dist'), 14 | publicPath: '/dist/', 15 | library: 'Vuesax', 16 | libraryTarget: 'umd', 17 | libraryExport: 'default', 18 | umdNamedDefine: true, 19 | globalObject: 'typeof self !== \'undefined\' ? self : this' 20 | }, 21 | plugins:[ 22 | new MiniCssExtractPlugin({ 23 | filename: '[name].css', 24 | }) 25 | ] 26 | }) 27 | -------------------------------------------------------------------------------- /packages/vuesax/build/utils/print.js: -------------------------------------------------------------------------------- 1 | const chalk = require('chalk') 2 | 3 | const print = (color = null) => (str = '') => { 4 | const terminalCols = retrieveCols() 5 | const strLength = str.replace(/\u001b\[[0-9]{2}m/g, '').length 6 | const leftPaddingLength = Math.floor((terminalCols - strLength) / 2) 7 | const leftPadding = ' '.repeat(Math.max(leftPaddingLength, 0)) 8 | 9 | if (color) { 10 | str = chalk[color](str) 11 | } 12 | 13 | console.log(leftPadding, str) 14 | } 15 | 16 | const retrieveCols = (() => { 17 | let result = false 18 | 19 | return () => { 20 | if (result) { 21 | return result 22 | } 23 | const defaultCols = 80 24 | 25 | try { 26 | const terminalCols = execSync(`tput cols`, { stdio: ['pipe', 'pipe', 'ignore'] }) 27 | 28 | result = parseInt(terminalCols.toString()) || defaultCols 29 | } catch (e) { 30 | result = defaultCols 31 | } 32 | return result 33 | } 34 | })() 35 | 36 | 37 | module.exports = print 38 | -------------------------------------------------------------------------------- /packages/vuesax/postcss.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: [ 3 | require('autoprefixer') 4 | ] 5 | } 6 | -------------------------------------------------------------------------------- /packages/vuesax/src/components/vsAlert/Base/_root.sass: -------------------------------------------------------------------------------- 1 | .vs-alert 2 | --vs-color: var(--vs-primary) 3 | -------------------------------------------------------------------------------- /packages/vuesax/src/components/vsAlert/Base/bx-x.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/vuesax/src/components/vsAlert/Base/index.ts: -------------------------------------------------------------------------------- 1 | import './style.sass' 2 | import component from './VsAlert' 3 | 4 | component.install = (vue: any) => { 5 | vue.component('vs-alert', component) 6 | } 7 | 8 | if (typeof window !== 'undefined' && window.Vue) { 9 | component.install(window.Vue) 10 | } 11 | 12 | export default component 13 | -------------------------------------------------------------------------------- /packages/vuesax/src/components/vsAvatar/Base/_root.sass: -------------------------------------------------------------------------------- 1 | .vs-avatar-content 2 | --vs-color: var(--vs-gray-2) 3 | --vs-badge: var(--vs-primary) 4 | -------------------------------------------------------------------------------- /packages/vuesax/src/components/vsAvatar/Base/index.ts: -------------------------------------------------------------------------------- 1 | import './style.sass' 2 | import component from './VsAvatar' 3 | 4 | component.install = (vue: any) => { 5 | vue.component('vs-avatar', component) 6 | } 7 | 8 | if (typeof window !== 'undefined' && window.Vue) { 9 | component.install(window.Vue) 10 | } 11 | 12 | export default component 13 | -------------------------------------------------------------------------------- /packages/vuesax/src/components/vsAvatar/Group/index.ts: -------------------------------------------------------------------------------- 1 | import './style.sass' 2 | import component from './VsAvatarGroup' 3 | 4 | component.install = (vue: any) => { 5 | vue.component('vs-avatar-group', component) 6 | } 7 | 8 | if (typeof window !== 'undefined' && window.Vue) { 9 | component.install(window.Vue) 10 | } 11 | 12 | export default component 13 | -------------------------------------------------------------------------------- /packages/vuesax/src/components/vsAvatar/Group/style.sass: -------------------------------------------------------------------------------- 1 | @import '../../../styles/mixins' 2 | .vs-avatar__group 3 | display: flex 4 | align-items: center 5 | justify-content: center 6 | padding-left: 18px 7 | &.float 8 | flex-wrap: wrap 9 | align-items: flex-start 10 | justify-content: flex-start 11 | padding-left: 0px 12 | .vs-avatar-content 13 | position: relative 14 | z-index: 2 15 | border: 3px solid vs-color('background') 16 | margin: 0px 17 | &:not(.float) 18 | .vs-avatar-content 19 | margin-left: -18px 20 | position: relative 21 | z-index: 2 22 | &:hover 23 | .vs-avatar 24 | box-shadow: inset 0px 0px 0px 0px rgba(0,0,0,.1) 25 | img 26 | transform: scale(1) 27 | .vs-avatar__latest 28 | width: calc(100% - 6px) 29 | height: calc(100% - 6px) 30 | margin: 3px 31 | &:not(.vs-change-color) 32 | .vs-avatar 33 | background: vs-color('background') 34 | img 35 | width: calc(100% - 6px) 36 | // border: 3px solid vs-color('background') 37 | &:hover:not(.vs-avatar-content--hasIcons) 38 | transform: translate(-10px) 39 | .vs-avatar 40 | transform: scale(1) 41 | &--hasIcons 42 | margin-right: 0px 43 | &:hover 44 | transform: translate(-34px) !important 45 | 46 | -------------------------------------------------------------------------------- /packages/vuesax/src/components/vsAvatar/Group/vsAvatarGroup.ts: -------------------------------------------------------------------------------- 1 | import { VNode } from 'vue' 2 | import { Component, Prop } from 'vue-property-decorator' 3 | import VsComponent from '../../../mixins/component' 4 | 5 | @Component 6 | export default class VsAvatarGroup extends VsComponent { 7 | @Prop({ default: null }) max: number 8 | 9 | @Prop({ default: false, type: Boolean }) float: boolean 10 | 11 | avatars: any[] = [] 12 | 13 | vsAvatarGroup: boolean = true 14 | 15 | public render(h: any): VNode { 16 | return h('div', { 17 | staticClass: 'vs-avatar__group', 18 | class: { 19 | float: this.float 20 | } 21 | }, [ 22 | this.$slots.default 23 | ]) 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /packages/vuesax/src/components/vsButton/Base/_root.sass: -------------------------------------------------------------------------------- 1 | .vs-button 2 | --vs-color: '' 3 | --vs-color-rotate: var(--vs-primary) 4 | --vs-color-darken: var(--vs-primary) 5 | 6 | // component vars 7 | --vs-button-padding: 8px 12px 8 | --vs-button-margin: 5px 9 | --vs-button-border-radius: 12px 10 | --vs-button-text-color: #fff 11 | -------------------------------------------------------------------------------- /packages/vuesax/src/components/vsButton/Base/index.ts: -------------------------------------------------------------------------------- 1 | import './style.sass' 2 | 3 | import component from './VsButton' 4 | component.install = (vue: any) => { 5 | vue.component('vs-button', component) 6 | } 7 | 8 | if (typeof window !== 'undefined' && window.Vue) { 9 | component.install(window.Vue) 10 | } 11 | 12 | export default component 13 | -------------------------------------------------------------------------------- /packages/vuesax/src/components/vsButton/group/VsButtonGroup.ts: -------------------------------------------------------------------------------- 1 | import { VNode } from 'vue' 2 | import { Component } from 'vue-property-decorator' 3 | import VsComponent from '../../../mixins/component' 4 | 5 | @Component 6 | export default class VsButton extends VsComponent { 7 | public Class: string = '' 8 | 9 | public prototype: any 10 | 11 | public render(h: any): VNode { 12 | 13 | const btnGroup = h('div', { 14 | staticClass: 'vs-button-group' 15 | }, this.$slots.default ) 16 | 17 | return btnGroup 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /packages/vuesax/src/components/vsButton/group/index.ts: -------------------------------------------------------------------------------- 1 | import './style.sass' 2 | 3 | import component from './VsButtonGroup' 4 | component.install = (vue: any) => { 5 | vue.component('vs-button-group', component) 6 | } 7 | 8 | if (typeof window !== 'undefined' && window.Vue) { 9 | component.install(window.Vue) 10 | } 11 | 12 | export default component 13 | -------------------------------------------------------------------------------- /packages/vuesax/src/components/vsButton/group/style.sass: -------------------------------------------------------------------------------- 1 | @import '../../../styles/mixins' 2 | 3 | .vs-button-group 4 | display: flex 5 | align-items: center 6 | justify-content: center 7 | .vs-button 8 | margin: 0px 9 | .vs-button:not(:last-of-type):not(:first-of-type) 10 | border-radius: 0px 11 | border: 0px 12 | &.vs-button--border 13 | &:before 14 | border-left: 0px 15 | width: 100% 16 | + .vs-button--border:not(:last-of-type) 17 | &:before 18 | border-right: 0px 19 | width: calc(100%) 20 | .vs-button:last-of-type 21 | border-radius: 0px 12px 12px 0px 22 | .vs-button:first-of-type 23 | border-radius: 12px 0px 0px 12px 24 | 25 | -------------------------------------------------------------------------------- /packages/vuesax/src/components/vsCard/Base/_root.sass: -------------------------------------------------------------------------------- 1 | .vs-card-content 2 | --vs-color: var(--vs-primary) -------------------------------------------------------------------------------- /packages/vuesax/src/components/vsCard/Base/index.ts: -------------------------------------------------------------------------------- 1 | import './style.sass' 2 | import component from './VsCard' 3 | 4 | component.install = (vue: any) => { 5 | vue.component('vs-card', component) 6 | } 7 | 8 | if (typeof window !== 'undefined' && window.Vue) { 9 | component.install(window.Vue) 10 | } 11 | 12 | export default component 13 | -------------------------------------------------------------------------------- /packages/vuesax/src/components/vsCard/Group/index.ts: -------------------------------------------------------------------------------- 1 | import './style.sass' 2 | import component from './VsCardGroup' 3 | 4 | component.install = (vue: any) => { 5 | vue.component('vs-card-group', component) 6 | } 7 | 8 | if (typeof window !== 'undefined' && window.Vue) { 9 | component.install(window.Vue) 10 | } 11 | 12 | export default component 13 | -------------------------------------------------------------------------------- /packages/vuesax/src/components/vsCheckbox/Base/_root.sass: -------------------------------------------------------------------------------- 1 | .vs-checkbox-content 2 | --vs-color: var(--vs-primary) 3 | -------------------------------------------------------------------------------- /packages/vuesax/src/components/vsCheckbox/Base/index.ts: -------------------------------------------------------------------------------- 1 | import './style.sass' 2 | import component from './VsCheckbox' 3 | 4 | component.install = (vue: any) => { 5 | vue.component('vs-checkbox', component) 6 | } 7 | 8 | if (typeof window !== 'undefined' && window.Vue) { 9 | component.install(window.Vue) 10 | } 11 | 12 | export default component 13 | -------------------------------------------------------------------------------- /packages/vuesax/src/components/vsDialog/Base/_root.sass: -------------------------------------------------------------------------------- 1 | .vs-dialog-content 2 | --vs-color: var(--vs-primary) -------------------------------------------------------------------------------- /packages/vuesax/src/components/vsDialog/Base/index.ts: -------------------------------------------------------------------------------- 1 | import './style.sass' 2 | import component from './VsDialog' 3 | 4 | component.install = (vue: any) => { 5 | vue.component('vs-dialog', component) 6 | } 7 | 8 | if (typeof window !== 'undefined' && window.Vue) { 9 | component.install(window.Vue) 10 | } 11 | 12 | export default component 13 | -------------------------------------------------------------------------------- /packages/vuesax/src/components/vsInput/Base/_root.sass: -------------------------------------------------------------------------------- 1 | .vs-input-parent 2 | --vs-color: var(--vs-primary) 3 | -------------------------------------------------------------------------------- /packages/vuesax/src/components/vsInput/Base/index.ts: -------------------------------------------------------------------------------- 1 | import './style.sass' 2 | import component from './VsInput' 3 | 4 | component.install = (vue: any) => { 5 | vue.component('vs-input', component) 6 | } 7 | 8 | if (typeof window !== 'undefined' && window.Vue) { 9 | component.install(window.Vue) 10 | } 11 | 12 | export default component 13 | -------------------------------------------------------------------------------- /packages/vuesax/src/components/vsNavbar/Base/_root.sass: -------------------------------------------------------------------------------- 1 | .vs-navbar-content 2 | --vs-color: var(--vs-background) 3 | -------------------------------------------------------------------------------- /packages/vuesax/src/components/vsNavbar/Base/index.ts: -------------------------------------------------------------------------------- 1 | import './style.sass' 2 | import component from './VsNavbar' 3 | 4 | component.install = (vue: any) => { 5 | vue.component('vs-navbar', component) 6 | } 7 | 8 | if (typeof window !== 'undefined' && window.Vue) { 9 | component.install(window.Vue) 10 | } 11 | 12 | export default component 13 | -------------------------------------------------------------------------------- /packages/vuesax/src/components/vsNavbar/Group/index.ts: -------------------------------------------------------------------------------- 1 | import './style.sass' 2 | import component from './VsNavbarGroup' 3 | 4 | component.install = (vue: any) => { 5 | vue.component('vs-navbar-group', component) 6 | } 7 | 8 | if (typeof window !== 'undefined' && window.Vue) { 9 | component.install(window.Vue) 10 | } 11 | 12 | export default component 13 | -------------------------------------------------------------------------------- /packages/vuesax/src/components/vsNavbar/Group/vsNavbarGroup.ts: -------------------------------------------------------------------------------- 1 | import { VNode } from 'vue' 2 | import { Component } from 'vue-property-decorator' 3 | import VsComponent from '../../../mixins/component' 4 | 5 | @Component 6 | export default class VsNavbarGroup extends VsComponent { 7 | setModel(id: any) { 8 | const parent: any = this.$parent 9 | parent.setModel(id) 10 | } 11 | setLeftLine() { 12 | const parent: any = this.$parent 13 | const left = (this.$el as any).offsetLeft 14 | parent.setLeftLine(left) 15 | const width = (this.$refs.item as any).scrollWidth 16 | parent.setWidthLine(width) 17 | } 18 | setWidthLine() {} 19 | 20 | public render(h: any): VNode { 21 | const item = h('button', { 22 | staticClass: 'vs-navbar__group__item', 23 | ref: 'item' 24 | }, [ 25 | this.$slots.default 26 | ]) 27 | const items = h('div', { 28 | staticClass: 'vs-navbar__group__items' 29 | }, [ 30 | this.$slots.items 31 | ]) 32 | 33 | return h('div', { 34 | staticClass: 'vs-navbar__group', 35 | }, [ 36 | item, 37 | items 38 | ]) 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /packages/vuesax/src/components/vsNavbar/Item/index.ts: -------------------------------------------------------------------------------- 1 | import './style.sass' 2 | import component from './VsNavbarItem' 3 | 4 | component.install = (vue: any) => { 5 | vue.component('vs-navbar-item', component) 6 | } 7 | 8 | if (typeof window !== 'undefined' && window.Vue) { 9 | component.install(window.Vue) 10 | } 11 | 12 | export default component 13 | -------------------------------------------------------------------------------- /packages/vuesax/src/components/vsNavbar/Item/style.sass: -------------------------------------------------------------------------------- 1 | @import '../../../styles/mixins' 2 | .vs-navbar__item 3 | padding: 10px 15px 4 | margin: 0px 5 | border: 0px 6 | background: transparent 7 | font-size: .85rem 8 | opacity: .7 9 | transition: all .25s ease, color 0s 10 | font-weight: bold 11 | color: inherit 12 | &.active 13 | opacity: 1 14 | &:hover 15 | opacity: 1 16 | -------------------------------------------------------------------------------- /packages/vuesax/src/components/vsPagination/Base/_root.sass: -------------------------------------------------------------------------------- 1 | .vs-pagination-content 2 | --vs-color: var(--vs-primary) -------------------------------------------------------------------------------- /packages/vuesax/src/components/vsPagination/Base/index.ts: -------------------------------------------------------------------------------- 1 | import './style.sass' 2 | import component from './VsPagination' 3 | 4 | component.install = (vue: any) => { 5 | vue.component('vs-pagination', component) 6 | } 7 | 8 | if (typeof window !== 'undefined' && window.Vue) { 9 | component.install(window.Vue) 10 | } 11 | 12 | export default component 13 | -------------------------------------------------------------------------------- /packages/vuesax/src/components/vsRadio/Base/_root.sass: -------------------------------------------------------------------------------- 1 | .vs-radio-content 2 | --vs-color: var(--vs-primary) 3 | -------------------------------------------------------------------------------- /packages/vuesax/src/components/vsRadio/Base/index.ts: -------------------------------------------------------------------------------- 1 | import './style.sass' 2 | import component from './VsRadio' 3 | 4 | component.install = (vue: any) => { 5 | vue.component('vs-radio', component) 6 | } 7 | 8 | if (typeof window !== 'undefined' && window.Vue) { 9 | component.install(window.Vue) 10 | } 11 | 12 | export default component 13 | -------------------------------------------------------------------------------- /packages/vuesax/src/components/vsSelect/Base/_root.sass: -------------------------------------------------------------------------------- 1 | .vs-select 2 | --vs-color: var(--vs-primary) 3 | 4 | .vs-select__options 5 | .vs-checkbox-content 6 | --vs-color: inherit 7 | -------------------------------------------------------------------------------- /packages/vuesax/src/components/vsSelect/Base/index.ts: -------------------------------------------------------------------------------- 1 | import './style.sass' 2 | import component from './VsSelect' 3 | 4 | component.install = (vue: any) => { 5 | vue.component('vs-select', component) 6 | } 7 | 8 | if (typeof window !== 'undefined' && window.Vue) { 9 | component.install(window.Vue) 10 | } 11 | 12 | export default component 13 | -------------------------------------------------------------------------------- /packages/vuesax/src/components/vsSelect/Option/index.ts: -------------------------------------------------------------------------------- 1 | import './style.sass' 2 | import component from './VsSelectOption' 3 | 4 | component.install = (vue: any) => { 5 | vue.component('vs-option', component) 6 | } 7 | 8 | if (typeof window !== 'undefined' && window.Vue) { 9 | component.install(window.Vue) 10 | } 11 | 12 | export default component 13 | -------------------------------------------------------------------------------- /packages/vuesax/src/components/vsSelect/OptionGroup/index.ts: -------------------------------------------------------------------------------- 1 | import './style.sass' 2 | import component from './vsOptionGroup' 3 | 4 | component.install = (vue: any) => { 5 | vue.component('vs-option-group', component) 6 | } 7 | 8 | if (typeof window !== 'undefined' && window.Vue) { 9 | component.install(window.Vue) 10 | } 11 | 12 | export default component 13 | -------------------------------------------------------------------------------- /packages/vuesax/src/components/vsSelect/OptionGroup/style.sass: -------------------------------------------------------------------------------- 1 | @import '../../../styles/mixins' 2 | .vs-select__option-group 3 | padding-left: 10px 4 | border-bottom: 2px solid -color('gray-1') 5 | position: relative 6 | overflow: hidden 7 | transition: all .25s ease 8 | &:last-child 9 | border: 0px 10 | &.hiddenOptionGroup 11 | border-bottom: 0px solid -color('gray-1') 12 | // display: none 13 | // visibility: hidden 14 | // opacity: 0 15 | // max-height: 0px 16 | h5 17 | padding: 0px 18 | max-height: 0px 19 | 20 | h5 21 | max-height: 28px 22 | transition: all .25s ease 23 | opacity: .5 24 | margin: 0px 25 | padding: 0px 26 | padding: 7px 0px 27 | font-size: .7rem 28 | user-select: none 29 | overflow: hidden 30 | * 31 | pointer-events: none 32 | -------------------------------------------------------------------------------- /packages/vuesax/src/components/vsSelect/OptionGroup/vsOptionGroup.ts: -------------------------------------------------------------------------------- 1 | import { VNode } from 'vue' 2 | import { Component, Watch } from 'vue-property-decorator' 3 | import VsComponent from '../../../mixins/component' 4 | 5 | @Component 6 | export default class VsOptionGroup extends VsComponent { 7 | optionGroup: boolean = true 8 | 9 | textFilter: string = null 10 | 11 | hiddenOptionGroup: boolean = false 12 | 13 | clickOption(value: any, label: any) { 14 | (this.$parent as any).clickOption(value, label) 15 | } 16 | get labels() { 17 | let labels: string = '' 18 | this.$slots.default.forEach((item) => { 19 | if (item.tag) { 20 | labels += (item.componentInstance as any).label 21 | } 22 | }) 23 | return labels 24 | } 25 | 26 | @Watch('$parent.textFilter') 27 | handleTextFilter(val: string) { 28 | if (val) { 29 | if (this.labels.toLowerCase().indexOf(val.toLowerCase()) === -1) { 30 | this.hiddenOptionGroup = true 31 | } else { 32 | this.hiddenOptionGroup = false 33 | } 34 | } else { 35 | this.hiddenOptionGroup = false 36 | } 37 | this.textFilter = val 38 | } 39 | 40 | public render(h: any): VNode { 41 | return h('div', { 42 | staticClass: 'vs-select__option-group', 43 | class: [ 44 | { 45 | hiddenOptionGroup: this.hiddenOptionGroup 46 | } 47 | ] 48 | }, 49 | [ 50 | h('h5', {}, this.$slots.title), 51 | this.$slots.default 52 | ] 53 | ) 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /packages/vuesax/src/components/vsSidebar/Base/_root.sass: -------------------------------------------------------------------------------- 1 | .vs-sidebar-content 2 | --vs-color: var(--vs-primary) 3 | -------------------------------------------------------------------------------- /packages/vuesax/src/components/vsSidebar/Base/index.ts: -------------------------------------------------------------------------------- 1 | import './style.sass' 2 | import component from './VsSidebar' 3 | 4 | component.install = (vue: any) => { 5 | vue.component('vs-sidebar', component) 6 | } 7 | 8 | if (typeof window !== 'undefined' && window.Vue) { 9 | component.install(window.Vue) 10 | } 11 | 12 | export default component 13 | -------------------------------------------------------------------------------- /packages/vuesax/src/components/vsSidebar/Group/index.ts: -------------------------------------------------------------------------------- 1 | import './style.sass' 2 | import component from './vsSidebarGroup' 3 | 4 | component.install = (vue: any) => { 5 | vue.component('vs-sidebar-group', component) 6 | } 7 | 8 | if (typeof window !== 'undefined' && window.Vue) { 9 | component.install(window.Vue) 10 | } 11 | 12 | export default component 13 | -------------------------------------------------------------------------------- /packages/vuesax/src/components/vsSidebar/Group/style.sass: -------------------------------------------------------------------------------- 1 | @import '../../../styles/mixins' 2 | .vs-sidebar__group 3 | padding: 0px 4 | width: 100% 5 | min-width: 260px 6 | position: relative 7 | &.open 8 | .vs-sidebar__group__content 9 | &:after 10 | transform: translate(0) 11 | opacity: 1 12 | >.vs-sidebar__group__header 13 | .vs-sidebar__item 14 | opacity: 1 15 | .vs-sidebar__item__arrow 16 | transform: rotate(45deg) !important 17 | &__header 18 | display: flex 19 | align-items: center 20 | justify-content: center 21 | &__content 22 | overflow: hidden 23 | transition: all .25s ease 24 | position: relative 25 | &:after 26 | content: '' 27 | position: absolute 28 | left: 0px 29 | top: 0px 30 | background: -color('color', .3) 31 | width: 4px 32 | height: 100% 33 | opacity: 0 34 | transition: all .25s ease 35 | transform: translate(-100%) 36 | border-radius: 0px 10px 10px 0px 37 | z-index: 60 38 | .vs-sidebar__item 39 | background: -color('background') 40 | >.vs-sidebar__group__header 41 | .vs-sidebar__item:hover 42 | padding-left: 0px 43 | 44 | -------------------------------------------------------------------------------- /packages/vuesax/src/components/vsSidebar/Item/index.ts: -------------------------------------------------------------------------------- 1 | import './style.sass' 2 | import component from './VsSidebarItem' 3 | 4 | component.install = (vue: any) => { 5 | vue.component('vs-sidebar-item', component) 6 | } 7 | 8 | if (typeof window !== 'undefined' && window.Vue) { 9 | component.install(window.Vue) 10 | } 11 | 12 | export default component 13 | -------------------------------------------------------------------------------- /packages/vuesax/src/components/vsSwitch/Base/_root.sass: -------------------------------------------------------------------------------- 1 | .vs-switch 2 | --vs-color: var(--vs-primary) -------------------------------------------------------------------------------- /packages/vuesax/src/components/vsSwitch/Base/index.ts: -------------------------------------------------------------------------------- 1 | import './style.sass' 2 | import component from './VsSwitch' 3 | 4 | component.install = (vue: any) => { 5 | vue.component('vs-switch', component) 6 | } 7 | 8 | if (typeof window !== 'undefined' && window.Vue) { 9 | component.install(window.Vue) 10 | } 11 | 12 | export default component 13 | -------------------------------------------------------------------------------- /packages/vuesax/src/components/vsTable/Base/_root.sass: -------------------------------------------------------------------------------- 1 | .vs-table-content 2 | --vs-color: var(--vs-primary) -------------------------------------------------------------------------------- /packages/vuesax/src/components/vsTable/Base/index.ts: -------------------------------------------------------------------------------- 1 | import './style.sass' 2 | import component from './VsTable' 3 | 4 | component.install = (vue: any) => { 5 | vue.component('vs-table', component) 6 | } 7 | 8 | if (typeof window !== 'undefined' && window.Vue) { 9 | component.install(window.Vue) 10 | } 11 | 12 | export default component 13 | -------------------------------------------------------------------------------- /packages/vuesax/src/components/vsTable/Td/index.ts: -------------------------------------------------------------------------------- 1 | import './style.sass' 2 | import component from './VsTableTd' 3 | 4 | component.install = (vue: any) => { 5 | vue.component('vs-td', component) 6 | } 7 | 8 | if (typeof window !== 'undefined' && window.Vue) { 9 | component.install(window.Vue) 10 | } 11 | 12 | export default component 13 | -------------------------------------------------------------------------------- /packages/vuesax/src/components/vsTable/Td/style.sass: -------------------------------------------------------------------------------- 1 | @import '../../../styles/mixins' 2 | .vs-table__td 3 | padding: 10px 12px 4 | transition: all .25s ease 5 | font-size: .8rem 6 | border: 0px 7 | &:last-child 8 | border-radius: 0px 15px 15px 0px 9 | &:first-child 10 | border-radius: 15px 0px 0px 15px 11 | &.isCheckbox 12 | width: 23px 13 | &.isEdit 14 | text-decoration: underline 15 | cursor: pointer 16 | -------------------------------------------------------------------------------- /packages/vuesax/src/components/vsTable/Td/vsTableTd.ts: -------------------------------------------------------------------------------- 1 | import { VNode } from 'vue' 2 | import { Component, Prop } from 'vue-property-decorator' 3 | import VsComponent from '../../../mixins/component' 4 | 5 | @Component 6 | export default class VsTableTd extends VsComponent { 7 | @Prop({ type: Boolean }) checkbox: boolean 8 | @Prop({ type: Boolean }) edit: boolean 9 | public render(h: any): VNode { 10 | return h('td', { 11 | staticClass: 'vs-table__td', 12 | on: { 13 | click: (evt: any) => { 14 | this.$emit('click', evt) 15 | } 16 | }, 17 | class: { 18 | isCheckbox: this.checkbox, 19 | isEdit: this.edit 20 | } 21 | }, this.$slots.default) 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /packages/vuesax/src/components/vsTable/Th/index.ts: -------------------------------------------------------------------------------- 1 | import './style.sass' 2 | import component from './VsTableTh' 3 | 4 | component.install = (vue: any) => { 5 | vue.component('vs-th', component) 6 | } 7 | 8 | if (typeof window !== 'undefined' && window.Vue) { 9 | component.install(window.Vue) 10 | } 11 | 12 | export default component 13 | -------------------------------------------------------------------------------- /packages/vuesax/src/components/vsTable/Th/style.sass: -------------------------------------------------------------------------------- 1 | @import '../../../styles/mixins' 2 | .vs-table__th 3 | padding: 10px 12px 4 | text-align: left 5 | transition: all .25s ease 6 | font-size: .8rem 7 | border: 0px 8 | &.sort 9 | .vs-table__th__content 10 | pointer-events: none 11 | &:hover 12 | background: -color('gray-3') 13 | &[data-sort-type='asc'] 14 | .icon-sort-2 15 | margin-top: -7px 16 | transform: rotate(45deg) !important 17 | .icon-sort-1 18 | margin-top: -1px 19 | transform: rotate(45deg) !important 20 | &[data-sort-type='desc'] 21 | .icon-sort-2 22 | margin-top: -7px 23 | .icon-sort-1 24 | margin-top: -1px 25 | transform: rotate(-135deg) !important 26 | &__content 27 | display: flex 28 | align-items: center 29 | justify-content: flex-start 30 | transition: all .25s ease 31 | &__icons 32 | display: flex 33 | align-items: center 34 | justify-content: center 35 | flex-direction: column 36 | margin-left: 7px 37 | transform: scale(.8) 38 | .vs-icon-arrow 39 | position: relative 40 | display: block 41 | &.icon-sort-1 42 | transform: rotate(45deg) 43 | &.icon-sort-2 44 | transform: rotate(-135deg) 45 | -------------------------------------------------------------------------------- /packages/vuesax/src/components/vsTable/Th/vsTableTh.ts: -------------------------------------------------------------------------------- 1 | import { VNode } from 'vue' 2 | import { Component, Prop } from 'vue-property-decorator' 3 | import VsIconsArrow from '../../../icons/arrow' 4 | import VsComponent from '../../../mixins/component' 5 | 6 | @Component 7 | export default class VsTableTh extends VsComponent { 8 | @Prop({ default: false, type: Boolean }) sort: boolean 9 | 10 | mounted() { 11 | (this.$el as HTMLElement).style.width = `${this.$el.scrollWidth}px` 12 | } 13 | 14 | public render(h: any): VNode { 15 | const icon2 = h(VsIconsArrow, { 16 | staticClass: 'icon-sort-2' 17 | }) 18 | const icon = h(VsIconsArrow, { 19 | staticClass: 'icon-sort-1' 20 | }) 21 | 22 | const icons = h('div', { 23 | staticClass: 'vs-table__th__content__icons' 24 | }, [ 25 | icon, 26 | icon2 27 | ]) 28 | 29 | const content = h('div', { 30 | staticClass: 'vs-table__th__content', 31 | }, [ 32 | this.$slots.default, 33 | this.sort && icons 34 | ]) 35 | 36 | return h('th', { 37 | staticClass: 'vs-table__th', 38 | class: { 39 | sort: this.sort 40 | }, 41 | on: { 42 | ...this.$listeners 43 | } 44 | }, [ 45 | content 46 | ]) 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /packages/vuesax/src/components/vsTable/Tr/index.ts: -------------------------------------------------------------------------------- 1 | import './style.sass' 2 | import component from './VsTableTr' 3 | 4 | component.install = (vue: any) => { 5 | vue.component('vs-tr', component) 6 | } 7 | 8 | if (typeof window !== 'undefined' && window.Vue) { 9 | component.install(window.Vue) 10 | } 11 | 12 | export default component 13 | -------------------------------------------------------------------------------- /packages/vuesax/src/components/vsTooltip/Base/_root.sass: -------------------------------------------------------------------------------- 1 | .vs-tooltip 2 | --vs-color: var(--vs-text) 3 | -------------------------------------------------------------------------------- /packages/vuesax/src/components/vsTooltip/Base/index.ts: -------------------------------------------------------------------------------- 1 | import './style.sass' 2 | import component from './VsTooltip' 3 | 4 | component.install = (vue: any) => { 5 | vue.component('vs-tooltip', component) 6 | } 7 | 8 | if (typeof window !== 'undefined' && window.Vue) { 9 | component.install(window.Vue) 10 | } 11 | 12 | export default component 13 | -------------------------------------------------------------------------------- /packages/vuesax/src/functions/defineVuesaxFunctions.ts: -------------------------------------------------------------------------------- 1 | import { setColor } from '../util/index' 2 | import { setTheme, toggleTheme } from './toggleTheme/index' 3 | import loading from './vsLoading/Base/index' 4 | import notification from './vsNotification/Base/index' 5 | import { checkAll, getLength, getPage, getSearch, sortData } from './vsTable/index' 6 | 7 | export default (Vue: any) => { 8 | const vsFunctions = { 9 | setColor(color: string, val: string) { 10 | setColor(color, val, document.body) 11 | }, 12 | loading, 13 | toggleTheme, 14 | setTheme, 15 | notification, 16 | getPage, 17 | getLength, 18 | checkAll, 19 | getSearch, 20 | sortData 21 | } 22 | 23 | Vue.prototype.$vs = vsFunctions 24 | } 25 | -------------------------------------------------------------------------------- /packages/vuesax/src/icons/arrow.ts: -------------------------------------------------------------------------------- 1 | import Vue, { VNode } from 'vue' 2 | import { Component, Prop } from 'vue-property-decorator' 3 | import './icons.sass' 4 | @Component 5 | export default class VsIconClose extends Vue { 6 | @Prop({ type: Boolean, default: false }) public less!: boolean 7 | 8 | render(h: any): VNode { 9 | const icon = h('i', { 10 | staticClass: 'vs-icon-arrow', 11 | class: { 12 | less: this.less 13 | }, 14 | ref: 'icon', 15 | on: { 16 | ...this.$listeners 17 | } 18 | }) 19 | 20 | return icon 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /packages/vuesax/src/icons/check.ts: -------------------------------------------------------------------------------- 1 | import Vue, { VNode } from 'vue' 2 | import { Component, Prop } from 'vue-property-decorator' 3 | import './icons.sass' 4 | @Component 5 | export default class VsIconClose extends Vue { 6 | @Prop({ type: Boolean, default: false }) indeterminate: boolean 7 | 8 | render(h: any): VNode { 9 | const icon = h('i', { 10 | staticClass: 'vs-icon-check', 11 | on: { 12 | ...this.$listeners 13 | }, 14 | class: [ 15 | { 16 | indeterminate: this.indeterminate 17 | } 18 | ] 19 | }, [ 20 | h('span', {} , [ 21 | h('div', { 22 | staticClass: 'line1' 23 | }), 24 | h('div', { 25 | staticClass: 'line2' 26 | }) 27 | ]) 28 | ]) 29 | 30 | return icon 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /packages/vuesax/src/icons/close.ts: -------------------------------------------------------------------------------- 1 | import Vue, { VNode } from 'vue' 2 | import { Component, Prop } from 'vue-property-decorator' 3 | import './icons.sass' 4 | @Component 5 | export default class VsIconClose extends Vue { 6 | @Prop({ type: String, default: null }) public hover!: string | null 7 | 8 | render(h: any): VNode { 9 | const icon = h('i', { 10 | staticClass: 'vs-icon-close', 11 | class: [ 12 | `vs-icon-hover-${this.hover}` 13 | ], 14 | ref: 'icon' 15 | }) 16 | 17 | return icon 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /packages/vuesax/src/icons/plus.ts: -------------------------------------------------------------------------------- 1 | import Vue, { VNode } from 'vue' 2 | import { Component, Prop } from 'vue-property-decorator' 3 | import './icons.sass' 4 | @Component 5 | export default class VsIconClose extends Vue { 6 | @Prop({ type: Boolean, default: false }) public less!: boolean 7 | 8 | render(h: any): VNode { 9 | const icon = h('i', { 10 | staticClass: 'vs-icon-plus', 11 | class: { 12 | less: this.less 13 | }, 14 | ref: 'icon', 15 | on: { 16 | ...this.$listeners 17 | } 18 | }) 19 | 20 | return icon 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /packages/vuesax/src/index.ts: -------------------------------------------------------------------------------- 1 | import * as vsComponents from './components/index' 2 | import defineVuesaxFunctions from './functions/defineVuesaxFunctions' 3 | import * as vsLayouts from './layout/index' 4 | import './styles/vuesax.sass' 5 | import { defineVuesaxOptions, VuesaxOptions } from './util/defineVuesaxOptions' 6 | 7 | const install = (Vue: any, options?: VuesaxOptions) => { 8 | // Components 9 | Object.values(vsComponents).forEach((vsComponent) => { 10 | Vue.use(vsComponent) 11 | }) 12 | // layout 13 | Object.values(vsLayouts).forEach((vsLayout) => { 14 | Vue.use(vsLayout) 15 | }) 16 | 17 | if (options) { 18 | defineVuesaxOptions(options) 19 | } 20 | 21 | defineVuesaxFunctions(Vue) 22 | } 23 | 24 | if (typeof window !== 'undefined' && window.Vue) { 25 | install(window.Vue) 26 | } 27 | 28 | // export default install 29 | export default install 30 | -------------------------------------------------------------------------------- /packages/vuesax/src/layout/grid/VsRow.ts: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import { VNode } from 'vue' 3 | import { Component, Prop } from 'vue-property-decorator' 4 | 5 | @Component 6 | export default class VsRow extends Vue { 7 | // tslint:disable-next-line:member-access 8 | static install: (vue: any) => any 9 | // tslint:disable-next-line:member-access 10 | static use: (vue: any) => any 11 | 12 | @Prop({ type: Number, default: 12 }) public w!: number 13 | 14 | @Prop({ type: String, default: 'flex-start' }) public justify!: string 15 | 16 | @Prop({ type: String, default: 'flex-start' }) public align!: string 17 | 18 | @Prop({ type: String, default: 'row' }) public direction!: string 19 | 20 | public render(h: any): VNode { 21 | 22 | const vsRow = h('div', { 23 | staticClass: 'vs-row', 24 | style: { 25 | justifyContent: this.justify, 26 | alignItems: this.align, 27 | flexDirection: this.direction 28 | }, 29 | }, this.$slots.default ) 30 | 31 | return vsRow 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /packages/vuesax/src/layout/grid/index.ts: -------------------------------------------------------------------------------- 1 | import './style.sass' 2 | 3 | import vsCol from './VsCol' 4 | import vsRow from './VsRow' 5 | vsCol.install = (vue: any) => { 6 | vue.component('vs-col', vsCol) 7 | } 8 | 9 | vsRow.install = (vue: any) => { 10 | vue.component('vs-row', vsRow) 11 | } 12 | 13 | if (typeof window !== 'undefined' && window.Vue) { 14 | vsCol.install(window.Vue) 15 | vsRow.install(window.Vue) 16 | } 17 | 18 | export { 19 | vsCol, 20 | vsRow 21 | } 22 | -------------------------------------------------------------------------------- /packages/vuesax/src/layout/grid/style.sass: -------------------------------------------------------------------------------- 1 | @import '../../styles/mixins' 2 | // @import '../../styles/colors' 3 | 4 | .vs-row 5 | width: 100% 6 | position: relative 7 | display: flex 8 | align-items: flex-start 9 | justify-content: flex-start 10 | flex-wrap: wrap 11 | 12 | $sizes: (1: 8.33%, 2: 16.66%, 3: 25%, 4: 33.33%, 5: 41.66%, 6: 50%, 7: 58.33%, 8: 66.66%, 9: 75%, 10: 83.33%, 11: 91.66%, 12: 100%) 13 | 14 | .vs-col 15 | width: 100% 16 | position: relative 17 | 18 | @each $num ,$size in $sizes 19 | &--w-#{$num} 20 | width: $size 21 | 22 | @each $num ,$size in $sizes 23 | &--offset-#{$num} 24 | margin-left: $size 25 | 26 | // responsive 27 | @each $num ,$size in $sizes 28 | &--lg-#{$num} 29 | width: $size 30 | 31 | @media (max-width: 900px) 32 | @each $num ,$size in $sizes 33 | &--sm-#{$num} 34 | width: $size 35 | 36 | @media (max-width: 600px) 37 | @each $num ,$size in $sizes 38 | &--xs-#{$num} 39 | width: $size 40 | 41 | 42 | -------------------------------------------------------------------------------- /packages/vuesax/src/layout/index.ts: -------------------------------------------------------------------------------- 1 | export { vsRow } from './grid/index' 2 | export { vsCol } from './grid/index' 3 | // new component slot 4 | -------------------------------------------------------------------------------- /packages/vuesax/src/mixins/component.ts: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import { Component, Prop, Watch } from 'vue-property-decorator' 3 | import { getColor } from '../util/index' 4 | @Component 5 | export default class VsComponent extends Vue { 6 | static install: (vue: any) => void 7 | 8 | static use: (vue: any) => any 9 | 10 | componentColor: string = null 11 | getColor: any = null 12 | 13 | @Prop({ type: String, default: null }) color!: string 14 | 15 | @Prop({ type: Boolean, default: false }) danger!: boolean 16 | 17 | @Prop({ type: Boolean, default: false }) success!: boolean 18 | 19 | @Prop({ type: Boolean, default: false }) warn!: boolean 20 | 21 | @Prop({ type: Boolean, default: false }) dark!: boolean 22 | 23 | @Prop({ type: Boolean, default: false }) primary!: boolean 24 | 25 | @Prop({ type: Boolean, default: false }) active!: boolean 26 | 27 | get isColorDark() { 28 | return this.color === 'dark' || this.dark || this.componentColor === 'dark' 29 | } 30 | 31 | get isColor() { 32 | return !!this.color || !!this.primary || !!this.success || !!this.warn || !!this.danger || !!this.dark 33 | } 34 | 35 | mounted() { 36 | this.getColor = getColor(this.color) 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /packages/vuesax/src/styles/_dark.sass: -------------------------------------------------------------------------------- 1 | @import './mixins' 2 | 3 | [vs-theme="dark"] 4 | --vs-background: 30, 32, 35 5 | --vs-text: 255, 255, 255 6 | --vs-gray-1: 24, 25, 28 7 | --vs-gray-2: 20, 20, 23 8 | --vs-gray-3: 15, 16, 19 9 | --vs-gray-4: 10, 11, 14 10 | --vs-shadow-opacity: .3 11 | --vs-dark: 0, 0, 0 12 | --vs-background-opacity: .6 13 | .vs-pagination-content 14 | &.vs-component-dark 15 | .vs-pagination__active 16 | --vs-color: 255, 255, 255 17 | color: -color('gray-3') 18 | .vs-button 19 | &.vs-component-dark 20 | &.vs-button--transparent 21 | color: -color('text') !important 22 | &:hover 23 | &:before 24 | background: -color('color', .2) 25 | &.vs-button--active 26 | &:before 27 | background: -color('color', -var('background-opacity')) 28 | .vs-ripple,.vs-ripple-invert,.vs-ripple-content 29 | --vs-color: 0,0,0 30 | .vs-loading 31 | --vs-background: 0, 0, 0 32 | .vs-input-parent--state-dark 33 | --vs-dark: 255, 255, 255 !important 34 | .vs-input 35 | background: #000 !important 36 | .vs-component-dark 37 | --vs-color: 0, 0, 0 !important 38 | .vs-avatar 39 | color: #fff !important 40 | &.vs-alert 41 | --vs-color: 0, 0, 0 !important 42 | background: -color('color', 1) !important 43 | color: -color('text', 1) !important 44 | -------------------------------------------------------------------------------- /packages/vuesax/src/styles/_mixins.sass: -------------------------------------------------------------------------------- 1 | // get color var css 2 | @function -color($color, $alpha: 1) 3 | @return unquote('rgba(var(--vs-#{$color}), #{$alpha})') 4 | 5 | @function -var($var) 6 | @return unquote('var(--vs-#{$var})') 7 | -------------------------------------------------------------------------------- /packages/vuesax/src/styles/_reset.sass: -------------------------------------------------------------------------------- 1 | 2 | button 3 | cursor: pointer 4 | outline: none 5 | 6 | [disabled] 7 | opacity: .6 8 | 9 | input 10 | outline: none 11 | 12 | input,textarea,button,select,a 13 | -webkit-tap-highlight-color: rgba(0,0,0,0) 14 | 15 | 16 | [class*="vs-"] 17 | box-sizing: border-box 18 | outline: none 19 | list-style: none 20 | -------------------------------------------------------------------------------- /packages/vuesax/src/styles/_vars.sass: -------------------------------------------------------------------------------- 1 | \:root 2 | --vs-shadow-opacity: .05 3 | --vs-radius: 20px 4 | --vs-zindex-1: 100000 5 | --vs-zindex-2: 99000 6 | --vs-zindex-3: 98000 7 | --vs-zindex-4: 97000 8 | --vs-background-opacity: .2 9 | -------------------------------------------------------------------------------- /packages/vuesax/src/styles/index.ts: -------------------------------------------------------------------------------- 1 | import './vuesax.sass' 2 | -------------------------------------------------------------------------------- /packages/vuesax/src/styles/vuesax.sass: -------------------------------------------------------------------------------- 1 | @import 'colors' 2 | 3 | @import 'vars' 4 | 5 | @import 'dark' 6 | 7 | @import 'reset' 8 | 9 | @import '../util/ripple/style' 10 | 11 | // body,table,td,tr 12 | // backface-visibility: hidden 13 | 14 | .vs-remove-transition 15 | *, *:after, *:before 16 | transition: all 0s !important 17 | -------------------------------------------------------------------------------- /packages/vuesax/src/util/defineVuesaxOptions.ts: -------------------------------------------------------------------------------- 1 | import { setColor } from './index' 2 | 3 | export interface VuesaxOptions { 4 | colors?: VuesaxColors 5 | } 6 | 7 | export interface VuesaxColors { 8 | [item: string]: any 9 | primary: string 10 | success: string 11 | danger: string 12 | warn: string 13 | dark: string 14 | } 15 | 16 | const defineColors = (colors: VuesaxColors) => { 17 | Object.keys(colors).forEach((item) => { 18 | if (document.body) { 19 | setColor(item, colors[item], document.body) 20 | } 21 | }) 22 | } 23 | 24 | export const defineVuesaxOptions = (options: VuesaxOptions) => { 25 | if (!!options.colors) { 26 | defineColors(options.colors) 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /packages/vuesax/test/sum.js: -------------------------------------------------------------------------------- 1 | function sum(a, b) { 2 | return a + b; 3 | } 4 | module.exports = sum; 5 | -------------------------------------------------------------------------------- /packages/vuesax/test/sum.test.js: -------------------------------------------------------------------------------- 1 | const sum = require('./sum'); 2 | 3 | test('adds 1 + 2 to equal 3', () => { 4 | expect(sum(1, 2)).toBe(3); 5 | }); 6 | -------------------------------------------------------------------------------- /packages/vuesax/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.json", 3 | } 4 | 5 | -------------------------------------------------------------------------------- /packages/vuesax/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": [ 3 | "tslint:recommended", 4 | "tslint-eslint-rules" 5 | ], 6 | "rules": { 7 | "quotemark": [true, "single"], 8 | "semicolon": false, 9 | "trailing-comma": false, 10 | "no-console": false, // eliminar antes de publicar 11 | "object-literal-sort-keys":false, 12 | "member-access": false, 13 | "triple-equals": false, 14 | "interface-name": [ 15 | true, 16 | "never-prefix" 17 | ] 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /packages/vuesax/types/component.d.ts: -------------------------------------------------------------------------------- 1 | import Vue from 'vue/types/index' 2 | 3 | /** ElementUI component common definition */ 4 | export declare class VuesaxUIComponent extends Vue { 5 | /** Install component into Vue */ 6 | static install(vue: typeof Vue): void 7 | } -------------------------------------------------------------------------------- /packages/vuesax/types/components/VsAlert.d.ts: -------------------------------------------------------------------------------- 1 | import { VuesaxUIComponent } from '../component' 2 | /** Alert Component */ 3 | 4 | export declare class VsAlert extends VuesaxUIComponent { 5 | hiddenContent: boolean 6 | closable: boolean 7 | progress: number | string 8 | relief: boolean 9 | flat: boolean 10 | gradient: boolean 11 | shadow: boolean 12 | border: boolean 13 | solid: boolean 14 | } -------------------------------------------------------------------------------- /packages/vuesax/types/components/VsButton.d.ts: -------------------------------------------------------------------------------- 1 | import { VuesaxUIComponent } from '../component' 2 | /** Alert Component */ 3 | 4 | export declare class VsButton extends VuesaxUIComponent { 5 | ripple: boolean 6 | activeDisabled: boolean 7 | flat: boolean 8 | gradient: boolean 9 | shadow: boolean 10 | border: boolean 11 | solid: boolean 12 | transparent: boolean 13 | floating: boolean 14 | icon: boolean 15 | circle: boolean 16 | square: boolean 17 | size: string 18 | loading: boolean 19 | upload: boolean 20 | block: boolean 21 | animationType: string 22 | animateInactive: boolean 23 | } -------------------------------------------------------------------------------- /packages/vuesax/types/index.d.ts: -------------------------------------------------------------------------------- 1 | 2 | import Vue, { VueConstructor } from 'vue' 3 | import { VsAlert } from './components/VsAlert' 4 | 5 | /** Alert Component */ 6 | export class Alert extends VsAlert {} 7 | 8 | declare module 'vue/types/vue' { 9 | export interface Vue { 10 | $vs: any 11 | $router: any 12 | } 13 | } 14 | 15 | declare global { 16 | interface Window { 17 | Vue: VueConstructor, 18 | consolee: any 19 | } 20 | } 21 | 22 | declare module '*.svg' { 23 | const content: string; 24 | export default content; 25 | } 26 | -------------------------------------------------------------------------------- /packages/vuesax/types/test/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es5", 4 | "experimentalDecorators": true, 5 | "lib": [ 6 | "dom", 7 | "es2015" 8 | ], 9 | "module": "commonjs", 10 | "strict": true, 11 | "noEmit": true, 12 | "baseUrl": ".", 13 | "paths": { 14 | "vue": ["../index.d.ts"] 15 | } 16 | }, 17 | "include": [ 18 | "../*.d.ts", 19 | "*.ts" 20 | ], 21 | "compileOnSave": false 22 | } -------------------------------------------------------------------------------- /packages/vuesax/types/test/vuesax-test.ts: -------------------------------------------------------------------------------- 1 | import { Alert } from '../index' 2 | 3 | class Test extends Alert { 4 | progress: string = '60' 5 | color: string = 's' 6 | } -------------------------------------------------------------------------------- /public/vuesax.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lusaxweb/vuesax-next/0976043042498b9337bd3fd611f777e1788f3ba7/public/vuesax.gif -------------------------------------------------------------------------------- /scripts/deploy.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | 3 | # abort on errors 4 | set -e 5 | 6 | 7 | cd packages/docs/ 8 | 9 | # build 10 | npm run build 11 | 12 | # navigate into the build output directory 13 | cd .vuepress/dist 14 | 15 | # if you are deploying to a custom domain 16 | echo 'vuesax.com' > CNAME 17 | 18 | echo 'google.com, pub-4283907298344887, DIRECT, f08c47fec0942fa0' > ads.txt 19 | 20 | git init 21 | git add -A 22 | git commit -m 'deploy' 23 | 24 | # if you are deploying to https://.github.io 25 | # git push -f git@github.com:/.github.io.git master 26 | 27 | # if you are deploying to https://.github.io/ 28 | git push -f git@github.com:lusaxweb/vuesax-next.git master:gh-pages 29 | 30 | cd - 31 | -------------------------------------------------------------------------------- /scripts/dev.js: -------------------------------------------------------------------------------- 1 | const { execSync } = require('child_process') 2 | const { cd } = require('shelljs') 3 | 4 | 5 | cd('./packages/docs') 6 | 7 | execSync(`vuepress dev`) -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "baseUrl": ".", 4 | "sourceMap": false, 5 | "target": "es5", 6 | "module": "es6", 7 | "noImplicitAny": true, 8 | "noImplicitThis": true, 9 | "noImplicitReturns": true, 10 | "allowJs": false, 11 | "experimentalDecorators": true, 12 | "moduleResolution": "node", 13 | "lib": ["esnext", "dom"], 14 | "rootDir": ".", 15 | }, 16 | "include": [ 17 | "**/*", 18 | "./src/**/*" 19 | ], 20 | "types": [ 21 | "@types/lodash", 22 | ], 23 | "rules": { 24 | "interface-name" : [true, "never-prefix"] 25 | } 26 | } 27 | 28 | --------------------------------------------------------------------------------