mirror of
https://github.com/feathericons/feather.git
synced 2023-08-10 21:13:24 +03:00
133 lines
3.5 KiB
JavaScript
133 lines
3.5 KiB
JavaScript
|
/******/ (function(modules) { // webpackBootstrap
|
||
|
/******/ // The module cache
|
||
|
/******/ var installedModules = {};
|
||
|
|
||
|
/******/ // The require function
|
||
|
/******/ function __webpack_require__(moduleId) {
|
||
|
|
||
|
/******/ // Check if module is in cache
|
||
|
/******/ if(installedModules[moduleId])
|
||
|
/******/ return installedModules[moduleId].exports;
|
||
|
|
||
|
/******/ // Create a new module (and put it into the cache)
|
||
|
/******/ var module = installedModules[moduleId] = {
|
||
|
/******/ i: moduleId,
|
||
|
/******/ l: false,
|
||
|
/******/ exports: {}
|
||
|
/******/ };
|
||
|
|
||
|
/******/ // Execute the module function
|
||
|
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
|
||
|
|
||
|
/******/ // Flag the module as loaded
|
||
|
/******/ module.l = true;
|
||
|
|
||
|
/******/ // Return the exports of the module
|
||
|
/******/ return module.exports;
|
||
|
/******/ }
|
||
|
|
||
|
|
||
|
/******/ // expose the modules object (__webpack_modules__)
|
||
|
/******/ __webpack_require__.m = modules;
|
||
|
|
||
|
/******/ // expose the module cache
|
||
|
/******/ __webpack_require__.c = installedModules;
|
||
|
|
||
|
/******/ // identity function for calling harmony imports with the correct context
|
||
|
/******/ __webpack_require__.i = function(value) { return value; };
|
||
|
|
||
|
/******/ // define getter function for harmony exports
|
||
|
/******/ __webpack_require__.d = function(exports, name, getter) {
|
||
|
/******/ if(!__webpack_require__.o(exports, name)) {
|
||
|
/******/ Object.defineProperty(exports, name, {
|
||
|
/******/ configurable: false,
|
||
|
/******/ enumerable: true,
|
||
|
/******/ get: getter
|
||
|
/******/ });
|
||
|
/******/ }
|
||
|
/******/ };
|
||
|
|
||
|
/******/ // getDefaultExport function for compatibility with non-harmony modules
|
||
|
/******/ __webpack_require__.n = function(module) {
|
||
|
/******/ var getter = module && module.__esModule ?
|
||
|
/******/ function getDefault() { return module['default']; } :
|
||
|
/******/ function getModuleExports() { return module; };
|
||
|
/******/ __webpack_require__.d(getter, 'a', getter);
|
||
|
/******/ return getter;
|
||
|
/******/ };
|
||
|
|
||
|
/******/ // Object.prototype.hasOwnProperty.call
|
||
|
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
|
||
|
|
||
|
/******/ // __webpack_public_path__
|
||
|
/******/ __webpack_require__.p = "";
|
||
|
|
||
|
/******/ // Load entry module and return exports
|
||
|
/******/ return __webpack_require__(__webpack_require__.s = 0);
|
||
|
/******/ })
|
||
|
/************************************************************************/
|
||
|
/******/ ([
|
||
|
/* 0 */
|
||
|
/***/ (function(module, exports) {
|
||
|
|
||
|
const data = {
|
||
|
icons: [
|
||
|
'square',
|
||
|
'circle',
|
||
|
'rectangle-vertical',
|
||
|
'rectangle-horizontal'
|
||
|
]
|
||
|
};
|
||
|
|
||
|
Vue.component('icon', {
|
||
|
props: {
|
||
|
name: {
|
||
|
type: String,
|
||
|
required: true
|
||
|
},
|
||
|
size: {
|
||
|
type: String,
|
||
|
default: '24'
|
||
|
}
|
||
|
},
|
||
|
template: '#icon-template',
|
||
|
mounted() {
|
||
|
fetch(`./icons/${this.name}.svg`)
|
||
|
.then(response => {
|
||
|
if (response.ok) {
|
||
|
return response.text();
|
||
|
}
|
||
|
throw new Error(`Cannot find ${this.name}.svg`);
|
||
|
})
|
||
|
.then(svgText => {
|
||
|
const svgDocument = new DOMParser().parseFromString(svgText, 'image/svg+xml');
|
||
|
const svgIcon = svgDocument.querySelector('svg').cloneNode(true);
|
||
|
|
||
|
svgIcon.setAttribute('width', this.size);
|
||
|
svgIcon.setAttribute('height', this.size);
|
||
|
|
||
|
this.$el.appendChild(svgIcon);
|
||
|
})
|
||
|
.catch(error => {
|
||
|
console.error(error);
|
||
|
});
|
||
|
}
|
||
|
});
|
||
|
|
||
|
Vue.component('icon-container', {
|
||
|
props: {
|
||
|
name: {
|
||
|
type: String,
|
||
|
required: true
|
||
|
}
|
||
|
},
|
||
|
template: '#icon-container-template'
|
||
|
})
|
||
|
|
||
|
new Vue({
|
||
|
el: '#app',
|
||
|
data: data
|
||
|
});
|
||
|
|
||
|
/***/ })
|
||
|
/******/ ]);
|