@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
472 lines (380 loc) • 22.2 kB
JavaScript
((typeof self !== 'undefined' ? self : this)["webpackJsonpwvc"] = (typeof self !== 'undefined' ? self : this)["webpackJsonpwvc"] || []).push([[7],{
/***/ "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"}})])
)
}
}
/***/ }),
/***/ "09d3":
/***/ (function(module, exports, __webpack_require__) {
var map = {
"./en.json": "7029",
"./fr.json": "c529",
"./zh.json": "3733"
};
function webpackContext(req) {
var id = webpackContextResolve(req);
return __webpack_require__(id);
}
function webpackContextResolve(req) {
if(!__webpack_require__.o(map, req)) {
var e = new Error("Cannot find module '" + req + "'");
e.code = 'MODULE_NOT_FOUND';
throw e;
}
return map[req];
}
webpackContext.keys = function webpackContextKeys() {
return Object.keys(map);
};
webpackContext.resolve = webpackContextResolve;
module.exports = webpackContext;
webpackContext.id = "09d3";
/***/ }),
/***/ "3733":
/***/ (function(module) {
module.exports = JSON.parse("{\"open_in_new_tab\":\"在新窗口中打开\",\"copyright\":\"© $year World Vision Canada. All rights reserved.\"}");
/***/ }),
/***/ "403f":
/***/ (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, ".container[data-v-260151e5]{display:inline-block}.container[data-v-260151e5],.link[data-v-260151e5]{box-sizing:border-box;padding:0;margin:0}.link[data-v-260151e5]{cursor:pointer;text-align:left;text-decoration:none;letter-spacing:normal;line-height:1.5}.link-primary.theme-light[data-v-260151e5]{color:#0c6699;height:24px;margin:0 0 0 0;display:inline-flex}.link-primary.theme-light.link-large[data-v-260151e5]{font-family:Karla;font-size:16px;font-weight:700;line-height:24px;letter-spacing:.8px}.link-primary.theme-light.link-small[data-v-260151e5]{font-family:Karla;font-size:14px;font-weight:700;line-height:24px;letter-spacing:.7px}.link-primary.theme-light.hover[data-v-260151e5],.link-primary.theme-light.hover path[data-v-260151e5],.link-primary.theme-light[data-v-260151e5]:hover,.link-primary.theme-light:hover path[data-v-260151e5]{color:#00acca!important;fill:#00acca!important;text-decoration:underline!important}.link-primary.theme-light.active[data-v-260151e5],.link-primary.theme-light.active path[data-v-260151e5],.link-primary.theme-light.visited[data-v-260151e5],.link-primary.theme-light.visited path[data-v-260151e5],.link-primary.theme-light[data-v-260151e5]:active,.link-primary.theme-light:active path[data-v-260151e5],.link-primary.theme-light[data-v-260151e5]:visited,.link-primary.theme-light:visited path[data-v-260151e5]{color:#337ab7;fill:#337ab7;text-decoration:underline}.link-primary.theme-light.disabled[data-v-260151e5],.link-primary.theme-light.disabled path[data-v-260151e5],.link-primary.theme-light[data-v-260151e5]:disabled,.link-primary.theme-light:disabled path[data-v-260151e5]{color:#999;fill:#999}.link-primary.theme-dark[data-v-260151e5]{color:#fff;height:24px;margin:0 0 0 0;display:inline-flex}.link-primary.theme-dark.link-large[data-v-260151e5]{font-family:Karla;font-size:16px;font-weight:700;line-height:24px;letter-spacing:.8px}.link-primary.theme-dark.link-small[data-v-260151e5]{font-family:Karla;font-size:14px;font-weight:700;line-height:24px;letter-spacing:.7px}.link-primary.theme-dark.hover[data-v-260151e5],.link-primary.theme-dark.hover path[data-v-260151e5],.link-primary.theme-dark[data-v-260151e5]:hover,.link-primary.theme-dark:hover path[data-v-260151e5]{color:#00acca!important;fill:#00acca!important;text-decoration:underline!important}.link-primary.theme-dark.active[data-v-260151e5],.link-primary.theme-dark.active path[data-v-260151e5],.link-primary.theme-dark.visited[data-v-260151e5],.link-primary.theme-dark.visited path[data-v-260151e5],.link-primary.theme-dark[data-v-260151e5]:active,.link-primary.theme-dark:active path[data-v-260151e5],.link-primary.theme-dark[data-v-260151e5]:visited,.link-primary.theme-dark:visited path[data-v-260151e5]{color:#ededed;fill:#ededed;text-decoration:underline}.link-primary.theme-dark.disabled[data-v-260151e5],.link-primary.theme-dark.disabled path[data-v-260151e5],.link-primary.theme-dark[data-v-260151e5]:disabled,.link-primary.theme-dark:disabled path[data-v-260151e5]{color:#999;fill:#999}.primaryLargeChevron[data-v-260151e5]{width:8px;height:14px;margin:6px 0 5px 8px;object-fit:contain}.primarySmallChevron[data-v-260151e5]{width:9px;height:12px;margin:6px 0 8px 8px}.link-text.theme-light[data-v-260151e5]{color:#0c6699;height:24px;margin:0 0 0 0;text-decoration:underline}.link-text.theme-light.link-large[data-v-260151e5]{font-family:Lato;font-size:16px;font-weight:700;line-height:24px}.link-text.theme-light.link-small[data-v-260151e5]{font-family:Lato;font-size:14px;font-weight:700;line-height:24px}.link-text.theme-light.hover[data-v-260151e5],.link-text.theme-light[data-v-260151e5]:hover{color:#00acca!important}.link-text.theme-light.active[data-v-260151e5],.link-text.theme-light.visited[data-v-260151e5],.link-text.theme-light[data-v-260151e5]:active,.link-text.theme-light[data-v-260151e5]:visited{transition:none;color:#337ab7}.link-text.theme-light.disabled[data-v-260151e5],.link-text.theme-light[data-v-260151e5]:disabled{color:#999;text-decoration:none}.link-text.theme-dark[data-v-260151e5]{color:#00acca;height:24px;margin:0 0 0 0;text-decoration:underline}.link-text.theme-dark.link-large[data-v-260151e5]{font-family:Lato;font-size:16px;font-weight:700;line-height:24px}.link-text.theme-dark.link-small[data-v-260151e5]{font-family:Lato;font-size:14px;font-weight:700;line-height:24px}.link-text.theme-dark.hover[data-v-260151e5],.link-text.theme-dark[data-v-260151e5]:hover{color:#337ab7!important}.link-text.theme-dark.active[data-v-260151e5],.link-text.theme-dark.visited[data-v-260151e5],.link-text.theme-dark[data-v-260151e5]:active,.link-text.theme-dark[data-v-260151e5]:visited{transition:none;color:#ededed}.link-text.theme-dark.disabled[data-v-260151e5],.link-text.theme-dark[data-v-260151e5]:disabled{color:#999;text-decoration:none}.link-inline.theme-light[data-v-260151e5]{color:#0c6699;height:32px;flex-grow:0;margin:0 0 0 0;text-decoration:underline}.link-inline.theme-light.link-large[data-v-260151e5]{font-family:Lato;font-size:18px;line-height:32px}.link-inline.theme-light.link-small[data-v-260151e5]{font-family:Lato;font-size:16px;line-height:32px}.link-inline.theme-light.active[data-v-260151e5],.link-inline.theme-light.visited[data-v-260151e5],.link-inline.theme-light[data-v-260151e5]:active,.link-inline.theme-light[data-v-260151e5]:visited{color:#337ab7}.link-inline.theme-light.disabled[data-v-260151e5],.link-inline.theme-light[data-v-260151e5]:disabled{color:#999;text-decoration:none}.link-inline.theme-dark[data-v-260151e5]{color:#00acca;height:32px;flex-grow:0;margin:0 0 0 0;text-decoration:underline}.link-inline.theme-dark.link-large[data-v-260151e5]{font-family:Lato;font-size:18px;line-height:32px}.link-inline.theme-dark.link-small[data-v-260151e5]{font-family:Lato;font-size:16px;line-height:32px}.link-inline.theme-dark.active[data-v-260151e5],.link-inline.theme-dark.visited[data-v-260151e5],.link-inline.theme-dark[data-v-260151e5]:active,.link-inline.theme-dark[data-v-260151e5]:visited{color:#ededed}.link-inline.theme-dark.disabled[data-v-260151e5],.link-inline.theme-dark[data-v-260151e5]:disabled{color:#999;text-decoration:none}.link-uppercase[data-v-260151e5]{text-transform:uppercase}", ""]);
// exports
/***/ }),
/***/ "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"}})])
)
}
}
/***/ }),
/***/ "6c94":
/***/ (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/WvcLink.vue?vue&type=template&id=260151e5&scoped=true&
var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"container"},[(_vm.showSmallChevron || _vm.showLargeChevron)?_c('a',{class:['link', _vm.themeClass, _vm.state, _vm.classes],style:({ color: _vm.color }),attrs:{"aria-describedby":_vm.ariaDescribedby,"aria-label":_vm.ariaLabel,"aria-labelledby":_vm.ariaLabeledby,"href":_vm.href,"role":'link',"target":_vm.target ? '_blank' : null}},[_vm._t("default"),(_vm.showSmallChevron)?_c('SmallChevronSvg',{staticClass:"primarySmallChevron",attrs:{"aria-hidden":"true"}}):_vm._e(),(_vm.showLargeChevron)?_c('LargeChevronSvg',{staticClass:"primaryLargeChevron",attrs:{"aria-hidden":"true"}}):_vm._e()],2):_c('a',{class:['link', _vm.themeClass, _vm.state, _vm.classes],style:({ color: _vm.color }),attrs:{"aria-describedby":_vm.ariaDescribedby,"aria-label":_vm.ariaLabel,"aria-labelledby":_vm.ariaLabeledby,"href":_vm.href,"role":'link',"target":_vm.target ? '_blank' : null}},[_vm._t("default")],2)])}
var staticRenderFns = []
// CONCATENATED MODULE: ./src/elements/WvcLink.vue?vue&type=template&id=260151e5&scoped=true&
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/defineProperty.js
var defineProperty = __webpack_require__("9523");
var defineProperty_default = /*#__PURE__*/__webpack_require__.n(defineProperty);
// EXTERNAL MODULE: ./src/i18n.js
var i18n = __webpack_require__("9225");
// 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/WvcLink.vue?vue&type=script&lang=js&
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
/**
* `Links` 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 WvcLinkvue_type_script_lang_js_ = ({
name: 'WvcLink',
components: {
SmallChevronSvg: chevronSm_default.a,
LargeChevronSvg: chevron_default.a
},
props: {
/**
* aria-label
*/
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
},
/**
* When set, overrides default light/dark theme text color.
*/
color: {
type: String,
default: null
},
/**
* Use this option to set a href.
*/
href: {
type: String,
default: null
},
/**
* Use the inline styling for the link
*/
inline: {
type: Boolean,
default: false
},
/**
* Use the text styling for the link
*/
text: {
type: Boolean,
default: false
},
/**
* Short form for using small size link.
*/
small: {
type: Boolean,
default: false
},
/**
* Manually trigger various states of the link.
* @values hover, active, visited, disabled
*/
state: {
type: String,
default: null,
validator: function validator(value) {
return value.match(/(hover|active|visited|disabled)/);
}
},
/**
* Open in new window. Defaults to null.
*/
target: {
type: Boolean,
default: false
},
/**
* Show text in uppercase or not
*/
uppercase: {
type: Boolean,
default: false
}
},
computed: {
classes: function classes() {
var _ref;
return _ref = {
'link-primary': !this.text && !this.inline,
'link-text': this.text && !this.inline,
'link-inline': !this.text && this.inline
}, defineProperty_default()(_ref, "link-".concat(this.small ? 'small' : 'large'), true), defineProperty_default()(_ref, 'link-uppercase', this.willUpperCaseText), _ref;
},
// 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
};
},
showSmallChevron: function showSmallChevron() {
return !this.text && !this.inline && this.small;
},
showLargeChevron: function showLargeChevron() {
return !this.text && !this.inline && !this.small;
},
willUpperCaseText: function willUpperCaseText() {
return this.uppercase || !this.text && !this.inline;
}
},
i18n: i18n["a" /* default */]
});
// CONCATENATED MODULE: ./src/elements/WvcLink.vue?vue&type=script&lang=js&
/* harmony default export */ var elements_WvcLinkvue_type_script_lang_js_ = (WvcLinkvue_type_script_lang_js_);
// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
var componentNormalizer = __webpack_require__("2877");
// CONCATENATED MODULE: ./src/elements/WvcLink.vue
function injectStyles (context) {
var style0 = __webpack_require__("f92b")
if (style0.__inject__) style0.__inject__(context)
}
/* normalize component */
var component = Object(componentNormalizer["a" /* default */])(
elements_WvcLinkvue_type_script_lang_js_,
render,
staticRenderFns,
false,
injectStyles,
"260151e5",
null
,true
)
/* harmony default export */ var WvcLink = __webpack_exports__["default"] = (component.exports);
/***/ }),
/***/ "7029":
/***/ (function(module) {
module.exports = JSON.parse("{\"open_in_new_tab\":\"Open in a new window\",\"copyright\":\"© $year World Vision Canada. All rights reserved.\"}");
/***/ }),
/***/ "9225":
/***/ (function(module, __webpack_exports__, __webpack_require__) {
;
/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("2b0e");
/* harmony import */ var vue_i18n__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("a925");
vue__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].use(vue_i18n__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"]); // get locale from page, with user window as fallback
var getLocale = function getLocale() {
// for demo i removed so i can show diffrent language in my browser changes aria label
// document.documentElement.lang doesn't change lang in storybook
return (window.navigator.userLanguage || window.navigator.language).substring(0, 2);
};
function loadLocaleMessages() {
var locales = __webpack_require__("09d3");
var messages = {};
locales.keys().forEach(function (key) {
var matched = key.match(/([A-Za-z0-9-_]+)\./i);
if (matched && matched.length > 1) {
var locale = matched[1];
messages[locale] = locales(key);
}
});
return messages;
}
/* harmony default export */ __webpack_exports__["a"] = (new vue_i18n__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"]({
locale: getLocale() || Object({"NODE_ENV":"production","BASE_URL":"/"}).VUE_APP_I18N_LOCALE || 'en',
fallbackLocale: Object({"NODE_ENV":"production","BASE_URL":"/"}).VUE_APP_I18N_FALLBACK_LOCALE || 'en',
messages: loadLocaleMessages()
}));
/***/ }),
/***/ "9386":
/***/ (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__("403f");
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("7ff26e4c", content, shadowRoot)
};
/***/ }),
/***/ "9523":
/***/ (function(module, exports) {
function _defineProperty(obj, key, value) {
if (key in obj) {
Object.defineProperty(obj, key, {
value: value,
enumerable: true,
configurable: true,
writable: true
});
} else {
obj[key] = value;
}
return obj;
}
module.exports = _defineProperty;
/***/ }),
/***/ "c529":
/***/ (function(module) {
module.exports = JSON.parse("{\"open_in_new_tab\":\"Ouvrir dans un nouvel onglet\",\"copyright\":\"© Vision Mondiale Canada - $year tous droits réservés.\"}");
/***/ }),
/***/ "f92b":
/***/ (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_WvcLink_vue_vue_type_style_index_0_id_260151e5_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("9386");
/* 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_WvcLink_vue_vue_type_style_index_0_id_260151e5_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_WvcLink_vue_vue_type_style_index_0_id_260151e5_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_WvcLink_vue_vue_type_style_index_0_id_260151e5_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_WvcLink_vue_vue_type_style_index_0_id_260151e5_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_WvcLink_vue_vue_type_style_index_0_id_260151e5_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default.a);
/***/ })
}]);
//# sourceMappingURL=wvc.common.7.js.map