@world-vision-canada/wvc-design-system
Version:
WVC Vue Design system is a fork of Vue Design System, an open-source tool for building Design Systems with Vue.js
623 lines (524 loc) • 26.2 kB
JavaScript
((typeof self !== 'undefined' ? self : this)["webpackJsonpwvc"] = (typeof self !== 'undefined' ? self : this)["webpackJsonpwvc"] || []).push([[17],{
/***/ "079d":
/***/ (function(module, exports) {
module.exports = {
functional: true,
render(_h, _vm) {
const { _c, _v, data, children = [] } = _vm;
const {
class: classNames,
staticClass,
style,
staticStyle,
attrs = {},
...rest
} = data;
return _c(
'svg',
{
class: [classNames,staticClass],
style: [style,staticStyle],
attrs: Object.assign({"xmlns":"http://www.w3.org/2000/svg","width":"8","height":"12","fill":"none"}, attrs),
...rest,
},
children.concat([_c('path',{attrs:{"fill":"currentColor","fill-rule":"evenodd","d":"M4.823 6L0 1.487 1.589 0 8 6l-6.411 6L0 10.513 4.823 6z","clip-rule":"evenodd"}})])
)
}
}
/***/ }),
/***/ "2350":
/***/ (function(module, exports) {
/*
MIT License http://www.opensource.org/licenses/mit-license.php
Author Tobias Koppers @sokra
*/
// css base code, injected by the css-loader
module.exports = function(useSourceMap) {
var list = [];
// return the list of modules as css string
list.toString = function toString() {
return this.map(function (item) {
var content = cssWithMappingToString(item, useSourceMap);
if(item[2]) {
return "@media " + item[2] + "{" + content + "}";
} else {
return content;
}
}).join("");
};
// import a list of modules into the list
list.i = function(modules, mediaQuery) {
if(typeof modules === "string")
modules = [[null, modules, ""]];
var alreadyImportedModules = {};
for(var i = 0; i < this.length; i++) {
var id = this[i][0];
if(typeof id === "number")
alreadyImportedModules[id] = true;
}
for(i = 0; i < modules.length; i++) {
var item = modules[i];
// skip already imported module
// this implementation is not 100% perfect for weird media query combinations
// when a module is imported multiple times with different media queries.
// I hope this will never occur (Hey this way we have smaller bundles)
if(typeof item[0] !== "number" || !alreadyImportedModules[item[0]]) {
if(mediaQuery && !item[2]) {
item[2] = mediaQuery;
} else if(mediaQuery) {
item[2] = "(" + item[2] + ") and (" + mediaQuery + ")";
}
list.push(item);
}
}
};
return list;
};
function cssWithMappingToString(item, useSourceMap) {
var content = item[1] || '';
var cssMapping = item[3];
if (!cssMapping) {
return content;
}
if (useSourceMap && typeof btoa === 'function') {
var sourceMapping = toComment(cssMapping);
var sourceURLs = cssMapping.sources.map(function (source) {
return '/*# sourceURL=' + cssMapping.sourceRoot + source + ' */'
});
return [content].concat(sourceURLs).concat([sourceMapping]).join('\n');
}
return [content].join('\n');
}
// Adapted from convert-source-map (MIT)
function toComment(sourceMap) {
// eslint-disable-next-line no-undef
var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));
var data = 'sourceMappingURL=data:application/json;charset=utf-8;base64,' + base64;
return '/*# ' + data + ' */';
}
/***/ }),
/***/ "2877":
/***/ (function(module, __webpack_exports__, __webpack_require__) {
;
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; });
/* globals __VUE_SSR_CONTEXT__ */
// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).
// This module is a runtime utility for cleaner component module output and will
// be included in the final webpack user bundle.
function normalizeComponent (
scriptExports,
render,
staticRenderFns,
functionalTemplate,
injectStyles,
scopeId,
moduleIdentifier, /* server only */
shadowMode /* vue-cli only */
) {
// Vue.extend constructor export interop
var options = typeof scriptExports === 'function'
? scriptExports.options
: scriptExports
// render functions
if (render) {
options.render = render
options.staticRenderFns = staticRenderFns
options._compiled = true
}
// functional template
if (functionalTemplate) {
options.functional = true
}
// scopedId
if (scopeId) {
options._scopeId = 'data-v-' + scopeId
}
var hook
if (moduleIdentifier) { // server build
hook = function (context) {
// 2.3 injection
context =
context || // cached call
(this.$vnode && this.$vnode.ssrContext) || // stateful
(this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional
// 2.2 with runInNewContext: true
if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
context = __VUE_SSR_CONTEXT__
}
// inject component styles
if (injectStyles) {
injectStyles.call(this, context)
}
// register component module identifier for async chunk inferrence
if (context && context._registeredComponents) {
context._registeredComponents.add(moduleIdentifier)
}
}
// used by ssr in case component is cached and beforeCreate
// never gets called
options._ssrRegister = hook
} else if (injectStyles) {
hook = shadowMode
? function () {
injectStyles.call(
this,
(options.functional ? this.parent : this).$root.$options.shadowRoot
)
}
: injectStyles
}
if (hook) {
if (options.functional) {
// for template-only hot-reload because in that case the render fn doesn't
// go through the normalizer
options._injectStyles = hook
// register for functional component in vue file
var originalRender = options.render
options.render = function renderWithStyleInjection (h, context) {
hook.call(context)
return originalRender(h, context)
}
} else {
// inject component registration as beforeCreate hook
var existing = options.beforeCreate
options.beforeCreate = existing
? [].concat(existing, hook)
: [hook]
}
}
return {
exports: scriptExports,
options: options
}
}
/***/ }),
/***/ "35d6":
/***/ (function(module, __webpack_exports__, __webpack_require__) {
;
// ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);
// EXPORTS
__webpack_require__.d(__webpack_exports__, "default", function() { return /* binding */ addStylesToShadowDOM; });
// CONCATENATED MODULE: ./node_modules/vue-style-loader/lib/listToStyles.js
/**
* Translates the list format produced by css-loader into something
* easier to manipulate.
*/
function listToStyles (parentId, list) {
var styles = []
var newStyles = {}
for (var i = 0; i < list.length; i++) {
var item = list[i]
var id = item[0]
var css = item[1]
var media = item[2]
var sourceMap = item[3]
var part = {
id: parentId + ':' + i,
css: css,
media: media,
sourceMap: sourceMap
}
if (!newStyles[id]) {
styles.push(newStyles[id] = { id: id, parts: [part] })
} else {
newStyles[id].parts.push(part)
}
}
return styles
}
// CONCATENATED MODULE: ./node_modules/vue-style-loader/lib/addStylesShadow.js
function addStylesToShadowDOM(parentId, list, shadowRoot) {
var styles = listToStyles(parentId, list);
addStyles(styles, shadowRoot);
}
/*
type StyleObject = {
id: number;
parts: Array<StyleObjectPart>
}
type StyleObjectPart = {
css: string;
media: string;
sourceMap: ?string
}
*/
function addStyles(styles
/* Array<StyleObject> */
, shadowRoot) {
var injectedStyles = shadowRoot._injectedStyles || (shadowRoot._injectedStyles = {});
for (var i = 0; i < styles.length; i++) {
var item = styles[i];
var style = injectedStyles[item.id];
if (!style) {
for (var j = 0; j < item.parts.length; j++) {
addStyle(item.parts[j], shadowRoot);
}
injectedStyles[item.id] = true;
}
}
}
function createStyleElement(shadowRoot) {
var styleElement = document.createElement('style');
styleElement.type = 'text/css';
shadowRoot.appendChild(styleElement);
return styleElement;
}
function addStyle(obj
/* StyleObjectPart */
, shadowRoot) {
var styleElement = createStyleElement(shadowRoot);
var css = obj.css;
var media = obj.media;
var sourceMap = obj.sourceMap;
if (media) {
styleElement.setAttribute('media', media);
}
if (sourceMap) {
// https://developer.chrome.com/devtools/docs/javascript-debugging
// this makes source maps inside style tags work properly in Chrome
css += '\n/*# sourceURL=' + sourceMap.sources[0] + ' */'; // http://stackoverflow.com/a/26603875
css += '\n/*# sourceMappingURL=data:application/json;base64,' + btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))) + ' */';
}
if (styleElement.styleSheet) {
styleElement.styleSheet.cssText = css;
} else {
while (styleElement.firstChild) {
styleElement.removeChild(styleElement.firstChild);
}
styleElement.appendChild(document.createTextNode(css));
}
}
/***/ }),
/***/ "40a8":
/***/ (function(module, exports) {
module.exports = {
functional: true,
render(_h, _vm) {
const { _c, _v, data, children = [] } = _vm;
const {
class: classNames,
staticClass,
style,
staticStyle,
attrs = {},
...rest
} = data;
return _c(
'svg',
{
class: [classNames,staticClass],
style: [style,staticStyle],
attrs: Object.assign({"xmlns":"http://www.w3.org/2000/svg","width":"6","height":"9","fill":"none"}, attrs),
...rest,
},
children.concat([_c('path',{attrs:{"fill":"currentColor","fill-rule":"evenodd","d":"M3.617 4.5L0 1.115 1.192 0 6 4.5 1.192 9 0 7.885 3.617 4.5z","clip-rule":"evenodd"}})])
)
}
}
/***/ }),
/***/ "5595":
/***/ (function(module, __webpack_exports__, __webpack_require__) {
;
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_WvcButton_vue_vue_type_style_index_0_id_1b6fe3e5_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("de6c");
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_WvcButton_vue_vue_type_style_index_0_id_1b6fe3e5_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_WvcButton_vue_vue_type_style_index_0_id_1b6fe3e5_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_WvcButton_vue_vue_type_style_index_0_id_1b6fe3e5_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_WvcButton_vue_vue_type_style_index_0_id_1b6fe3e5_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
/* harmony default export */ __webpack_exports__["default"] = (_node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_WvcButton_vue_vue_type_style_index_0_id_1b6fe3e5_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default.a);
/***/ }),
/***/ "de6c":
/***/ (function(module, exports, __webpack_require__) {
// style-loader: Adds some css to the DOM by adding a <style> tag
// load the styles
var content = __webpack_require__("ef59");
if(typeof content === 'string') content = [[module.i, content, '']];
if(content.locals) module.exports = content.locals;
// add CSS to Shadow Root
var add = __webpack_require__("35d6").default
module.exports.__inject__ = function (shadowRoot) {
add("4dbeb35a", content, shadowRoot)
};
/***/ }),
/***/ "ef59":
/***/ (function(module, exports, __webpack_require__) {
exports = module.exports = __webpack_require__("2350")(false);
// imports
exports.push([module.i, "@import url(https://fonts.googleapis.com/css2?family=Karla:wght@700&family=Lato:ital,wght@0,400;0,700;1,400&display=swap);", ""]);
// module
exports.push([module.i, ".button[data-v-1b6fe3e5]{box-sizing:border-box;padding:0;margin:0;will-change:transform;transition:all .2s ease;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:600;font-family:Karla,Lato,Arial,sans-serif;text-transform:uppercase;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:4px;cursor:pointer;font-family:Karla;font-size:16px;letter-spacing:2.4px;line-height:24px;text-align:center;padding:12px 16px}.button[data-v-1b6fe3e5]:before{content:\"\";display:block;height:0;width:0;margin-top:-.1em}@media (max-width:1024px){.button[data-v-1b6fe3e5]{font-family:Karla;font-size:14px;letter-spacing:2.1px;line-height:24px;text-align:center;padding:8px 16px}}.button .icon-wrapper[data-v-1b6fe3e5],.button .icon-wrapper-sm[data-v-1b6fe3e5]{padding-left:8px;overflow:visible;align-items:center;height:100%}.button .icon-wrapper-sm>svg[data-v-1b6fe3e5],.button .icon-wrapper>svg[data-v-1b6fe3e5]{display:block;margin:0 auto;text-align:center}.button .icon-wrapper[data-v-1b6fe3e5]{display:flex}@media (max-width:1024px){.button .icon-wrapper[data-v-1b6fe3e5]{display:none}}.button .icon-wrapper-sm[data-v-1b6fe3e5]{display:none}@media (max-width:1024px){.button .icon-wrapper-sm[data-v-1b6fe3e5]{display:flex}}.button-primary.theme-light[data-v-1b6fe3e5],.button.theme-light[data-v-1b6fe3e5]{color:#fff;background-color:#0c6699;box-shadow:none;border:none}.button-primary.theme-light.hover[data-v-1b6fe3e5],.button-primary.theme-light[data-v-1b6fe3e5]:hover,.button.theme-light.hover[data-v-1b6fe3e5],.button.theme-light[data-v-1b6fe3e5]:hover{color:#fff;background-color:#0d4773;box-shadow:none}.button-primary.theme-light.focus[data-v-1b6fe3e5],.button-primary.theme-light[data-v-1b6fe3e5]:focus,.button.theme-light.focus[data-v-1b6fe3e5],.button.theme-light[data-v-1b6fe3e5]:focus{background-color:#0d4773;color:#fff;box-shadow:0 0 0 4px #0c6699;outline:none}.button-primary.theme-light.active[data-v-1b6fe3e5],.button-primary.theme-light.visited[data-v-1b6fe3e5],.button-primary.theme-light[data-v-1b6fe3e5]:active,.button-primary.theme-light[data-v-1b6fe3e5]:visited,.button.theme-light.active[data-v-1b6fe3e5],.button.theme-light.visited[data-v-1b6fe3e5],.button.theme-light[data-v-1b6fe3e5]:active,.button.theme-light[data-v-1b6fe3e5]:visited{transition:none;background-color:#337ab7;color:#fff;box-shadow:none}.button-primary.theme-light.disabled[data-v-1b6fe3e5],.button-primary.theme-light[data-v-1b6fe3e5]:disabled,.button.theme-light.disabled[data-v-1b6fe3e5],.button.theme-light[data-v-1b6fe3e5]:disabled{background-color:transparent;color:#999;box-shadow:none}.button-primary.theme-dark[data-v-1b6fe3e5],.button.theme-dark[data-v-1b6fe3e5]{color:#0c6699;background-color:#fff;box-shadow:none;border:none}.button-primary.theme-dark.hover[data-v-1b6fe3e5],.button-primary.theme-dark[data-v-1b6fe3e5]:hover,.button.theme-dark.hover[data-v-1b6fe3e5],.button.theme-dark[data-v-1b6fe3e5]:hover{color:#0d4773;background-color:#fff;box-shadow:none}.button-primary.theme-dark.focus[data-v-1b6fe3e5],.button-primary.theme-dark[data-v-1b6fe3e5]:focus,.button.theme-dark.focus[data-v-1b6fe3e5],.button.theme-dark[data-v-1b6fe3e5]:focus{background-color:#fff;color:#0d4773;box-shadow:0 0 0 4px #00acca;outline:none}.button-primary.theme-dark.active[data-v-1b6fe3e5],.button-primary.theme-dark.visited[data-v-1b6fe3e5],.button-primary.theme-dark[data-v-1b6fe3e5]:active,.button-primary.theme-dark[data-v-1b6fe3e5]:visited,.button.theme-dark.active[data-v-1b6fe3e5],.button.theme-dark.visited[data-v-1b6fe3e5],.button.theme-dark[data-v-1b6fe3e5]:active,.button.theme-dark[data-v-1b6fe3e5]:visited{transition:none;background-color:#0c6699;color:#fff;box-shadow:inset 0 0 0 2px #fff}.button-primary.theme-dark.disabled[data-v-1b6fe3e5],.button-primary.theme-dark[data-v-1b6fe3e5]:disabled,.button.theme-dark.disabled[data-v-1b6fe3e5],.button.theme-dark[data-v-1b6fe3e5]:disabled{background-color:transparent;color:#999;box-shadow:inset 0 0 0 2px #999}.button-secondary[data-v-1b6fe3e5]{text-align:left}.button-secondary.theme-light[data-v-1b6fe3e5]{color:#0c6699;background-color:#fff;box-shadow:inset 0 0 0 2px #0c6699;border:none}.button-secondary.theme-light.hover[data-v-1b6fe3e5],.button-secondary.theme-light[data-v-1b6fe3e5]:hover{color:#0d4773;background-color:#fff;box-shadow:inset 0 0 0 2px #0d4773}.button-secondary.theme-light.focus[data-v-1b6fe3e5],.button-secondary.theme-light[data-v-1b6fe3e5]:focus{background-color:#0d4773;color:#fff;box-shadow:0 0 0 4px #0c6699;outline:none}.button-secondary.theme-light.active[data-v-1b6fe3e5],.button-secondary.theme-light[data-v-1b6fe3e5]:active{transition:none;background-color:#fff;color:#337ab7;box-shadow:inset 0 0 0 2px #337ab7}.button-secondary.theme-light.disabled[data-v-1b6fe3e5],.button-secondary.theme-light[data-v-1b6fe3e5]:disabled{background-color:transparent;color:#999;box-shadow:inset 0 0 0 2px #999}.button-secondary.theme-dark[data-v-1b6fe3e5]{color:#fff;background-color:transparent;box-shadow:inset 0 0 0 2px #fff;border:none}.button-secondary.theme-dark.hover[data-v-1b6fe3e5],.button-secondary.theme-dark[data-v-1b6fe3e5]:hover{color:#333;background-color:#fff;box-shadow:inset 0 0 0 2px #fff}.button-secondary.theme-dark.focus[data-v-1b6fe3e5],.button-secondary.theme-dark[data-v-1b6fe3e5]:focus{background-color:#fff;box-shadow:0 0 0 4px #00acca;outline:none}.button-secondary.theme-dark.active[data-v-1b6fe3e5],.button-secondary.theme-dark[data-v-1b6fe3e5]:active{transition:none;background-color:transparent;color:#ccc;box-shadow:inset 0 0 0 2px #ccc}.button-secondary.theme-dark.disabled[data-v-1b6fe3e5],.button-secondary.theme-dark[data-v-1b6fe3e5]:disabled{background-color:transparent;color:#999;box-shadow:inset 0 0 0 2px #999}.full-width[data-v-1b6fe3e5]{width:100%}.button-submit-disabled.theme-light[data-v-1b6fe3e5]{color:#666!important;background-color:#f5f5f5!important;box-shadow:inset 0 0 0 2px #f5f5f5!important}.button-submit-disabled.theme-dark[data-v-1b6fe3e5]{color:#ccc!important;background-color:transparent!important;box-shadow:inset 0 0 0 2px #ccc!important}", ""]);
// exports
/***/ }),
/***/ "f9fd":
/***/ (function(module, __webpack_exports__, __webpack_require__) {
;
// ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"01f5881a-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/elements/WvcButton.vue?vue&type=template&id=1b6fe3e5&scoped=true&
var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('button',{class:['button', _vm.themeClass, _vm.state, _vm.classes],style:({ backgroundColor: _vm.backgroundColor, color: _vm.color }),attrs:{"aria-describedby":_vm.ariaDescribedby,"aria-label":_vm.ariaLabel,"aria-labelledby":_vm.ariaLabeledby,"disabled":_vm.disabled,"type":_vm.submit ? 'submit' : 'button',"role":'button'}},[_vm._t("default"),(_vm.hasIcon)?[_c('span',{staticClass:"icon-wrapper"},[_vm._t("icon")],2),_c('span',{staticClass:"icon-wrapper-sm"},[_vm._t("icon-sm")],2)]:_vm._e(),(!_vm.hasIcon && _vm.secondary)?[_c('span',{staticClass:"icon-wrapper"},[_c('IconChevron',{attrs:{"aria-hidden":"true"}})],1),_c('span',{staticClass:"icon-wrapper-sm"},[_c('IconChevronSm',{attrs:{"aria-hidden":"true"}})],1)]:_vm._e()],2)}
var staticRenderFns = []
// CONCATENATED MODULE: ./src/elements/WvcButton.vue?vue&type=template&id=1b6fe3e5&scoped=true&
// EXTERNAL MODULE: ./src/assets/icons/chevron.svg
var chevron = __webpack_require__("079d");
var chevron_default = /*#__PURE__*/__webpack_require__.n(chevron);
// EXTERNAL MODULE: ./src/assets/icons/chevronSm.svg
var chevronSm = __webpack_require__("40a8");
var chevronSm_default = /*#__PURE__*/__webpack_require__.n(chevronSm);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/elements/WvcButton.vue?vue&type=script&lang=js&
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
/**
* `Buttons` are generally used for interface actions. Suitable for all-purpose use.
* Default appearance set to `primary` style.
* `primary` style will be used only once per view for main call-to-action.
*/
/* harmony default export */ var WvcButtonvue_type_script_lang_js_ = ({
name: 'WvcButton',
components: {
IconChevron: chevron_default.a,
IconChevronSm: chevronSm_default.a
},
props: {
ariaDescribedby: {
type: String,
default: null
},
ariaLabel: {
type: String,
default: null
},
ariaLabeledby: {
type: String,
default: null
},
/**
* Use dark theme for component.
*/
dark: {
type: Boolean,
default: false
},
/**
* If set, overrides the default light/dark theme's color for the button background color.
*/
backgroundColor: {
type: String,
default: null
},
/**
* If set, overrides the default light/dark theme's text color for the button.
*/
color: {
type: String,
default: null
},
disabled: {
type: Boolean,
default: false
},
fullWidth: {
type: Boolean,
default: false
},
/**
* Use the secondary styling for the button
*/
secondary: {
type: Boolean,
default: false
},
/**
* Manually trigger various states of the button.
* @values hover, active, focus
*/
state: {
type: String,
default: null,
validator: function validator(value) {
return value.match(/(hover|focus|active|visited|disabled)/);
}
},
/**
* Set the button’s type to “submit”.
*/
submit: {
type: Boolean,
default: false
}
},
computed: {
classes: function classes() {
return {
'button-primary': !this.secondary,
'button-secondary': this.secondary,
'full-width': this.fullWidth,
'button-submit-disabled': this.disabled && this.submit
};
},
// TODO - can be refactored out of all components as shared module once we are using Vue 3 composition API
// TODO - can also break out things like size props + classes, etc.
themeClass: function themeClass() {
return {
'theme-light': !this.dark,
'theme-dark': this.dark
};
},
hasIcon: function hasIcon() {
return this.$slots.icon;
}
}
});
// CONCATENATED MODULE: ./src/elements/WvcButton.vue?vue&type=script&lang=js&
/* harmony default export */ var elements_WvcButtonvue_type_script_lang_js_ = (WvcButtonvue_type_script_lang_js_);
// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
var componentNormalizer = __webpack_require__("2877");
// CONCATENATED MODULE: ./src/elements/WvcButton.vue
function injectStyles (context) {
var style0 = __webpack_require__("5595")
if (style0.__inject__) style0.__inject__(context)
}
/* normalize component */
var component = Object(componentNormalizer["a" /* default */])(
elements_WvcButtonvue_type_script_lang_js_,
render,
staticRenderFns,
false,
injectStyles,
"1b6fe3e5",
null
,true
)
/* harmony default export */ var WvcButton = __webpack_exports__["default"] = (component.exports);
/***/ })
}]);
//# sourceMappingURL=wvc.common.17.js.map