UNPKG

@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
((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__) { "use strict"; // 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__) { "use strict"; /* 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__) { "use strict"; __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.umd.7.js.map