/**
* Bundle of: js-demo
* Generated: 2018-08-05
* Version: 1.0.2
*/
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('lodash'), require('codesandbox-api'), require('marked'), require('vue'), require('vue-router'), require('vue-markdown/dist/vue-markdown')) :
typeof define === 'function' && define.amd ? define(['exports', 'lodash', 'codesandbox-api', 'marked', 'vue', 'vue-router', 'vue-markdown/dist/vue-markdown'], factory) :
(factory((global.JsDemo = {}),global._,global.codesandboxApi,global.marked,global.Vue,global.Router,global.VueMarkdown));
}(this, (function (exports,_,codesandboxApi,marked,Vue,Router,VueMarkdown) { 'use strict';
_ = _ && _.hasOwnProperty('default') ? _['default'] : _;
marked = marked && marked.hasOwnProperty('default') ? marked['default'] : marked;
Vue = Vue && Vue.hasOwnProperty('default') ? Vue['default'] : Vue;
Router = Router && Router.hasOwnProperty('default') ? Router['default'] : Router;
VueMarkdown = VueMarkdown && VueMarkdown.hasOwnProperty('default') ? VueMarkdown['default'] : VueMarkdown;
var img = new Image(); img.src = 'data:image/png;base64,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';
//
//
//
//
//
//
//
//
//
//
//
//
//
//
var script = {
data: function data () {
return {
show: false
}
},
methods: {
open: function open () {
this.show = true;
},
close: function close () {
this.show = false;
}
}
};
/* script */
var __vue_script__ = script;
/* template */
var __vue_render__ = function() {
var _vm = this;
var _h = _vm.$createElement;
var _c = _vm._self._c || _h;
return _vm.show
? _c("div", { staticClass: "modal is-active" }, [
_c("div", { staticClass: "modal-background" }),
_vm._v(" "),
_c("div", { staticClass: "modal-content" }, [
_c("div", { staticClass: "content" }, [_vm._t("default")], 2)
]),
_vm._v(" "),
_c("button", {
staticClass: "modal-close is-large",
attrs: { "aria-label": "close" },
on: { click: _vm.close }
})
])
: _vm._e()
};
var __vue_staticRenderFns__ = [];
__vue_render__._withStripped = true;
/* style */
var __vue_inject_styles__ = function (inject) {
if (!inject) { return }
inject("data-v-472af5d7_0", { source: "\n.modal-content[data-v-472af5d7] {\n background: white;\n border-radius: 5px;\n padding: 25px;\n width: 80vw;\n height: 80vh;\n}\n", map: {"version":3,"sources":["/Volumes/Data/Work/OpenSource/JavaScript/VueDemos/js-demo/src/components/ui/UiModal.vue"],"names":[],"mappings":";AAmCA;EACA,kBAAA;EACA,mBAAA;EACA,cAAA;EACA,YAAA;EACA,aAAA;CACA","file":"UiModal.vue","sourcesContent":["\n\n \n\n\n\n\n\n"]}, media: undefined });
};
/* scoped */
var __vue_scope_id__ = "data-v-472af5d7";
/* module identifier */
var __vue_module_identifier__ = undefined;
/* functional template */
var __vue_is_functional_template__ = false;
/* component normalizer */
function __vue_normalize__(
template, style, script$$1,
scope, functional, moduleIdentifier,
createInjector, createInjectorSSR
) {
var component = (typeof script$$1 === 'function' ? script$$1.options : script$$1) || {};
// For security concerns, we use only base name in production mode.
component.__file = "/Volumes/Data/Work/OpenSource/JavaScript/VueDemos/js-demo/src/components/ui/UiModal.vue";
if (!component.render) {
component.render = template.render;
component.staticRenderFns = template.staticRenderFns;
component._compiled = true;
if (functional) { component.functional = true; }
}
component._scopeId = scope;
{
var hook;
if (style) {
hook = function(context) {
style.call(this, createInjector(context));
};
}
if (hook !== undefined) {
if (component.functional) {
// register for functional component in vue file
var originalRender = component.render;
component.render = function renderWithStyleInjection(h, context) {
hook.call(context);
return originalRender(h, context)
};
} else {
// inject component registration as beforeCreate hook
var existing = component.beforeCreate;
component.beforeCreate = existing ? [].concat(existing, hook) : [hook];
}
}
}
return component
}
/* style inject */
function __vue_create_injector__() {
var head = document.head || document.getElementsByTagName('head')[0];
var styles = __vue_create_injector__.styles || (__vue_create_injector__.styles = {});
var isOldIE =
typeof navigator !== 'undefined' &&
/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());
return function addStyle(id, css) {
if (document.querySelector('style[data-vue-ssr-id~="' + id + '"]')) { return } // SSR styles are present.
var group = isOldIE ? css.media || 'default' : id;
var style = styles[group] || (styles[group] = { ids: [], parts: [], element: undefined });
if (!style.ids.includes(id)) {
var code = css.source;
var index = style.ids.length;
style.ids.push(id);
if (isOldIE) {
style.element = style.element || document.querySelector('style[data-group=' + group + ']');
}
if (!style.element) {
var el = style.element = document.createElement('style');
el.type = 'text/css';
if (css.media) { el.setAttribute('media', css.media); }
if (isOldIE) {
el.setAttribute('data-group', group);
el.setAttribute('data-next-index', '0');
}
head.appendChild(el);
}
if (isOldIE) {
index = parseInt(style.element.getAttribute('data-next-index'));
style.element.setAttribute('data-next-index', index + 1);
}
if (style.element.styleSheet) {
style.parts.push(code);
style.element.styleSheet.cssText = style.parts
.filter(Boolean)
.join('\n');
} else {
var textNode = document.createTextNode(code);
var nodes = style.element.childNodes;
if (nodes[index]) { style.element.removeChild(nodes[index]); }
if (nodes.length) { style.element.insertBefore(textNode, nodes[index]); }
else { style.element.appendChild(textNode); }
}
}
}
}
/* style inject SSR */
var UiModal = __vue_normalize__(
{ render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },
__vue_inject_styles__,
__vue_script__,
__vue_scope_id__,
__vue_is_functional_template__,
__vue_module_identifier__,
__vue_create_injector__,
undefined
);
//
var script$1 = {
props: {
label: String,
value: [String, Number],
type: {
type: String,
default: 'text'
},
},
computed: {
model: {
get: function get () {
return this.value
},
set: _.debounce(function (value) {
this.$emit('input', value);
}, 200)
}
}
};
/* script */
var __vue_script__$1 = script$1;
/* template */
var __vue_render__$1 = function() {
var _vm = this;
var _h = _vm.$createElement;
var _c = _vm._self._c || _h;
return _c("div", { staticClass: "field ui-input" }, [
_vm.label
? _c("label", { staticClass: "label is-small" }, [
_vm._v(_vm._s(_vm.label))
])
: _vm._e(),
_vm._v(" "),
_c("div", { staticClass: "control" }, [
_vm.type === "checkbox"
? _c(
"input",
_vm._b(
{
directives: [
{
name: "model",
rawName: "v-model",
value: _vm.model,
expression: "model"
}
],
staticClass: "input is-small",
attrs: { placeholder: "Text input", type: "checkbox" },
domProps: {
checked: Array.isArray(_vm.model)
? _vm._i(_vm.model, null) > -1
: _vm.model
},
on: {
change: function($event) {
var $$a = _vm.model,
$$el = $event.target,
$$c = $$el.checked ? true : false;
if (Array.isArray($$a)) {
var $$v = null,
$$i = _vm._i($$a, $$v);
if ($$el.checked) {
$$i < 0 && (_vm.model = $$a.concat([$$v]));
} else {
$$i > -1 &&
(_vm.model = $$a
.slice(0, $$i)
.concat($$a.slice($$i + 1)));
}
} else {
_vm.model = $$c;
}
}
}
},
"input",
_vm.$attrs,
false
)
)
: _vm.type === "radio"
? _c(
"input",
_vm._b(
{
directives: [
{
name: "model",
rawName: "v-model",
value: _vm.model,
expression: "model"
}
],
staticClass: "input is-small",
attrs: { placeholder: "Text input", type: "radio" },
domProps: { checked: _vm._q(_vm.model, null) },
on: {
change: function($event) {
_vm.model = null;
}
}
},
"input",
_vm.$attrs,
false
)
)
: _c(
"input",
_vm._b(
{
directives: [
{
name: "model",
rawName: "v-model",
value: _vm.model,
expression: "model"
}
],
staticClass: "input is-small",
attrs: { placeholder: "Text input", type: _vm.type },
domProps: { value: _vm.model },
on: {
input: function($event) {
if ($event.target.composing) {
return
}
_vm.model = $event.target.value;
}
}
},
"input",
_vm.$attrs,
false
)
)
])
])
};
var __vue_staticRenderFns__$1 = [];
__vue_render__$1._withStripped = true;
/* style */
var __vue_inject_styles__$1 = function (inject) {
if (!inject) { return }
inject("data-v-fa9c3514_0", { source: "\n.ui-input[data-v-fa9c3514] {\n min-width: 50px;\n}\n\n/*# sourceMappingURL=UiInput.vue.map */", map: {"version":3,"sources":["/Volumes/Data/Work/OpenSource/JavaScript/VueDemos/js-demo/src/components/ui/UiInput.vue","UiInput.vue"],"names":[],"mappings":";AAqCA;EACA,gBAAA;CACA;;ACpCA,uCAAuC","file":"UiInput.vue","sourcesContent":[null,".ui-input {\n min-width: 50px; }\n\n/*# sourceMappingURL=UiInput.vue.map */"]}, media: undefined });
};
/* scoped */
var __vue_scope_id__$1 = "data-v-fa9c3514";
/* module identifier */
var __vue_module_identifier__$1 = undefined;
/* functional template */
var __vue_is_functional_template__$1 = false;
/* component normalizer */
function __vue_normalize__$1(
template, style, script,
scope, functional, moduleIdentifier,
createInjector, createInjectorSSR
) {
var component = (typeof script === 'function' ? script.options : script) || {};
// For security concerns, we use only base name in production mode.
component.__file = "/Volumes/Data/Work/OpenSource/JavaScript/VueDemos/js-demo/src/components/ui/UiInput.vue";
if (!component.render) {
component.render = template.render;
component.staticRenderFns = template.staticRenderFns;
component._compiled = true;
if (functional) { component.functional = true; }
}
component._scopeId = scope;
{
var hook;
if (style) {
hook = function(context) {
style.call(this, createInjector(context));
};
}
if (hook !== undefined) {
if (component.functional) {
// register for functional component in vue file
var originalRender = component.render;
component.render = function renderWithStyleInjection(h, context) {
hook.call(context);
return originalRender(h, context)
};
} else {
// inject component registration as beforeCreate hook
var existing = component.beforeCreate;
component.beforeCreate = existing ? [].concat(existing, hook) : [hook];
}
}
}
return component
}
/* style inject */
function __vue_create_injector__$1() {
var head = document.head || document.getElementsByTagName('head')[0];
var styles = __vue_create_injector__$1.styles || (__vue_create_injector__$1.styles = {});
var isOldIE =
typeof navigator !== 'undefined' &&
/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());
return function addStyle(id, css) {
if (document.querySelector('style[data-vue-ssr-id~="' + id + '"]')) { return } // SSR styles are present.
var group = isOldIE ? css.media || 'default' : id;
var style = styles[group] || (styles[group] = { ids: [], parts: [], element: undefined });
if (!style.ids.includes(id)) {
var code = css.source;
var index = style.ids.length;
style.ids.push(id);
if (isOldIE) {
style.element = style.element || document.querySelector('style[data-group=' + group + ']');
}
if (!style.element) {
var el = style.element = document.createElement('style');
el.type = 'text/css';
if (css.media) { el.setAttribute('media', css.media); }
if (isOldIE) {
el.setAttribute('data-group', group);
el.setAttribute('data-next-index', '0');
}
head.appendChild(el);
}
if (isOldIE) {
index = parseInt(style.element.getAttribute('data-next-index'));
style.element.setAttribute('data-next-index', index + 1);
}
if (style.element.styleSheet) {
style.parts.push(code);
style.element.styleSheet.cssText = style.parts
.filter(Boolean)
.join('\n');
} else {
var textNode = document.createTextNode(code);
var nodes = style.element.childNodes;
if (nodes[index]) { style.element.removeChild(nodes[index]); }
if (nodes.length) { style.element.insertBefore(textNode, nodes[index]); }
else { style.element.appendChild(textNode); }
}
}
}
}
/* style inject SSR */
var UiInput = __vue_normalize__$1(
{ render: __vue_render__$1, staticRenderFns: __vue_staticRenderFns__$1 },
__vue_inject_styles__$1,
__vue_script__$1,
__vue_scope_id__$1,
__vue_is_functional_template__$1,
__vue_module_identifier__$1,
__vue_create_injector__$1,
undefined
);
//
//
//
//
//
//
//
//
//
//
//
var script$2 = {
props: {
label: String,
},
};
/* script */
var __vue_script__$2 = script$2;
/* template */
var __vue_render__$2 = function() {
var _vm = this;
var _h = _vm.$createElement;
var _c = _vm._self._c || _h;
return _c("div", { staticClass: "field ui-button" }, [
_c("div", { staticClass: "control" }, [
_c(
"button",
_vm._b(
{
staticClass: "button is-small",
attrs: { type: "button" },
on: {
click: function($event) {
_vm.$emit("click");
}
}
},
"button",
_vm.$attrs,
false
),
[_vm._t("default", [_vm._v(_vm._s(_vm.label))])],
2
)
])
])
};
var __vue_staticRenderFns__$2 = [];
__vue_render__$2._withStripped = true;
/* style */
var __vue_inject_styles__$2 = function (inject) {
if (!inject) { return }
inject("data-v-5f228503_0", { source: "\n.control[data-v-5f228503],\n.field.ui-button[data-v-5f228503] {\n display: inline-block;\n}\n", map: {"version":3,"sources":["/Volumes/Data/Work/OpenSource/JavaScript/VueDemos/js-demo/src/components/ui/UiButton.vue"],"names":[],"mappings":";AAqBA;;EAEA,sBAAA;CACA","file":"UiButton.vue","sourcesContent":["\n \n\n\n\n\n\n"]}, media: undefined });
};
/* scoped */
var __vue_scope_id__$2 = "data-v-5f228503";
/* module identifier */
var __vue_module_identifier__$2 = undefined;
/* functional template */
var __vue_is_functional_template__$2 = false;
/* component normalizer */
function __vue_normalize__$2(
template, style, script,
scope, functional, moduleIdentifier,
createInjector, createInjectorSSR
) {
var component = (typeof script === 'function' ? script.options : script) || {};
// For security concerns, we use only base name in production mode.
component.__file = "/Volumes/Data/Work/OpenSource/JavaScript/VueDemos/js-demo/src/components/ui/UiButton.vue";
if (!component.render) {
component.render = template.render;
component.staticRenderFns = template.staticRenderFns;
component._compiled = true;
if (functional) { component.functional = true; }
}
component._scopeId = scope;
{
var hook;
if (style) {
hook = function(context) {
style.call(this, createInjector(context));
};
}
if (hook !== undefined) {
if (component.functional) {
// register for functional component in vue file
var originalRender = component.render;
component.render = function renderWithStyleInjection(h, context) {
hook.call(context);
return originalRender(h, context)
};
} else {
// inject component registration as beforeCreate hook
var existing = component.beforeCreate;
component.beforeCreate = existing ? [].concat(existing, hook) : [hook];
}
}
}
return component
}
/* style inject */
function __vue_create_injector__$2() {
var head = document.head || document.getElementsByTagName('head')[0];
var styles = __vue_create_injector__$2.styles || (__vue_create_injector__$2.styles = {});
var isOldIE =
typeof navigator !== 'undefined' &&
/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());
return function addStyle(id, css) {
if (document.querySelector('style[data-vue-ssr-id~="' + id + '"]')) { return } // SSR styles are present.
var group = isOldIE ? css.media || 'default' : id;
var style = styles[group] || (styles[group] = { ids: [], parts: [], element: undefined });
if (!style.ids.includes(id)) {
var code = css.source;
var index = style.ids.length;
style.ids.push(id);
if (isOldIE) {
style.element = style.element || document.querySelector('style[data-group=' + group + ']');
}
if (!style.element) {
var el = style.element = document.createElement('style');
el.type = 'text/css';
if (css.media) { el.setAttribute('media', css.media); }
if (isOldIE) {
el.setAttribute('data-group', group);
el.setAttribute('data-next-index', '0');
}
head.appendChild(el);
}
if (isOldIE) {
index = parseInt(style.element.getAttribute('data-next-index'));
style.element.setAttribute('data-next-index', index + 1);
}
if (style.element.styleSheet) {
style.parts.push(code);
style.element.styleSheet.cssText = style.parts
.filter(Boolean)
.join('\n');
} else {
var textNode = document.createTextNode(code);
var nodes = style.element.childNodes;
if (nodes[index]) { style.element.removeChild(nodes[index]); }
if (nodes.length) { style.element.insertBefore(textNode, nodes[index]); }
else { style.element.appendChild(textNode); }
}
}
}
}
/* style inject SSR */
var UiButton = __vue_normalize__$2(
{ render: __vue_render__$2, staticRenderFns: __vue_staticRenderFns__$2 },
__vue_inject_styles__$2,
__vue_script__$2,
__vue_scope_id__$2,
__vue_is_functional_template__$2,
__vue_module_identifier__$2,
__vue_create_injector__$2,
undefined
);
//
var script$3 = {
props: {
label: String,
prompt: String,
options: {
type: [String, Array, Object],
required: true
},
value: [String, Number],
},
computed: {
model: {
get: function get () {
return this.value
},
set: function set (value) {
this.$emit('input', value);
}
},
opts: function opts () {
var opts = this.options;
// {a:1, b:2, ... }
if (_.isPlainObject(opts)) {
return Object
.keys(opts)
.reduce(function (values, key) {
values.push({ name: key, value: opts[key] });
return values
}, [])
}
var values;
if (_.isArray(opts)) {
// [{name: 'a', value: 1}, ...]
if (opts.every(function (value) { return typeof value === 'object'; })) {
return opts
}
// ['a', 'b', ...]
values = opts;
}
// 'a b c'
if (_.isString(opts)) {
values = opts.match(/\w+/g);
}
// build name > value array
if (values) {
return values
.reduce(function (values, value) {
values.push({ name: value, value: value });
return values
}, [])
}
},
val: function val () {
return this.value || this.opts[0].value
},
opt: function opt () {
var this$1 = this;
return this.opts.find(function (opt) { return opt.value === this$1.value; })
}
}
};
/* script */
var __vue_script__$3 = script$3;
/* template */
var __vue_render__$3 = function() {
var _vm = this;
var _h = _vm.$createElement;
var _c = _vm._self._c || _h;
return _c("div", { staticClass: "field ui-select" }, [
_vm.label
? _c("label", { staticClass: "label is-small" }, [
_vm._v(_vm._s(_vm.label))
])
: _vm._e(),
_vm._v(" "),
_c("div", { staticClass: "control" }, [
_c("div", { staticClass: "select is-small" }, [
_c(
"select",
{
directives: [
{
name: "model",
rawName: "v-model",
value: _vm.model,
expression: "model"
}
],
on: {
change: function($event) {
var $$selectedVal = Array.prototype.filter
.call($event.target.options, function(o) {
return o.selected
})
.map(function(o) {
var val = "_value" in o ? o._value : o.value;
return val
});
_vm.model = $event.target.multiple
? $$selectedVal
: $$selectedVal[0];
}
}
},
[
_vm.prompt
? _c("option", { attrs: { value: "" } }, [
_vm._v(_vm._s(_vm.prompt))
])
: _vm._e(),
_vm._v(" "),
_vm._l(_vm.opts, function(opt) {
return _c(
"option",
{
domProps: {
selected: String(opt.value) === String(_vm.val),
value: opt.value
}
},
[_vm._v(_vm._s(opt.name) + "\n ")]
)
})
],
2
)
])
])
])
};
var __vue_staticRenderFns__$3 = [];
__vue_render__$3._withStripped = true;
/* style */
var __vue_inject_styles__$3 = function (inject) {
if (!inject) { return }
inject("data-v-2d504eb6_0", { source: "\nselect[data-v-2d504eb6] {\n display: inline-block;\n text-transform: capitalize;\n}\n\n/*# sourceMappingURL=UiSelect.vue.map */", map: {"version":3,"sources":["/Volumes/Data/Work/OpenSource/JavaScript/VueDemos/js-demo/src/components/ui/UiSelect.vue","UiSelect.vue"],"names":[],"mappings":";AA+FA;EACA,sBAAA;EACA,2BAAA;CACA;;AC9FA,wCAAwC","file":"UiSelect.vue","sourcesContent":[null,"select {\n display: inline-block;\n text-transform: capitalize; }\n\n/*# sourceMappingURL=UiSelect.vue.map */"]}, media: undefined });
};
/* scoped */
var __vue_scope_id__$3 = "data-v-2d504eb6";
/* module identifier */
var __vue_module_identifier__$3 = undefined;
/* functional template */
var __vue_is_functional_template__$3 = false;
/* component normalizer */
function __vue_normalize__$3(
template, style, script,
scope, functional, moduleIdentifier,
createInjector, createInjectorSSR
) {
var component = (typeof script === 'function' ? script.options : script) || {};
// For security concerns, we use only base name in production mode.
component.__file = "/Volumes/Data/Work/OpenSource/JavaScript/VueDemos/js-demo/src/components/ui/UiSelect.vue";
if (!component.render) {
component.render = template.render;
component.staticRenderFns = template.staticRenderFns;
component._compiled = true;
if (functional) { component.functional = true; }
}
component._scopeId = scope;
{
var hook;
if (style) {
hook = function(context) {
style.call(this, createInjector(context));
};
}
if (hook !== undefined) {
if (component.functional) {
// register for functional component in vue file
var originalRender = component.render;
component.render = function renderWithStyleInjection(h, context) {
hook.call(context);
return originalRender(h, context)
};
} else {
// inject component registration as beforeCreate hook
var existing = component.beforeCreate;
component.beforeCreate = existing ? [].concat(existing, hook) : [hook];
}
}
}
return component
}
/* style inject */
function __vue_create_injector__$3() {
var head = document.head || document.getElementsByTagName('head')[0];
var styles = __vue_create_injector__$3.styles || (__vue_create_injector__$3.styles = {});
var isOldIE =
typeof navigator !== 'undefined' &&
/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());
return function addStyle(id, css) {
if (document.querySelector('style[data-vue-ssr-id~="' + id + '"]')) { return } // SSR styles are present.
var group = isOldIE ? css.media || 'default' : id;
var style = styles[group] || (styles[group] = { ids: [], parts: [], element: undefined });
if (!style.ids.includes(id)) {
var code = css.source;
var index = style.ids.length;
style.ids.push(id);
if (isOldIE) {
style.element = style.element || document.querySelector('style[data-group=' + group + ']');
}
if (!style.element) {
var el = style.element = document.createElement('style');
el.type = 'text/css';
if (css.media) { el.setAttribute('media', css.media); }
if (isOldIE) {
el.setAttribute('data-group', group);
el.setAttribute('data-next-index', '0');
}
head.appendChild(el);
}
if (isOldIE) {
index = parseInt(style.element.getAttribute('data-next-index'));
style.element.setAttribute('data-next-index', index + 1);
}
if (style.element.styleSheet) {
style.parts.push(code);
style.element.styleSheet.cssText = style.parts
.filter(Boolean)
.join('\n');
} else {
var textNode = document.createTextNode(code);
var nodes = style.element.childNodes;
if (nodes[index]) { style.element.removeChild(nodes[index]); }
if (nodes.length) { style.element.insertBefore(textNode, nodes[index]); }
else { style.element.appendChild(textNode); }
}
}
}
}
/* style inject SSR */
var UiSelect = __vue_normalize__$3(
{ render: __vue_render__$3, staticRenderFns: __vue_staticRenderFns__$3 },
__vue_inject_styles__$3,
__vue_script__$3,
__vue_scope_id__$3,
__vue_is_functional_template__$3,
__vue_module_identifier__$3,
__vue_create_injector__$3,
undefined
);
//
//
//
//
//
//
//
//
//
var script$4 = {
props: {
svg: String,
title: String
}
};
/* script */
var __vue_script__$4 = script$4;
/* template */
var __vue_render__$4 = function() {
var _vm = this;
var _h = _vm.$createElement;
var _c = _vm._self._c || _h;
return _c("div", { staticClass: "icon-container" }, [
_c(
"span",
{
staticClass: "icon",
attrs: { title: _vm.title },
on: {
click: function($event) {
_vm.$emit("click");
}
}
},
[
_c("span", {
staticClass: "svg",
domProps: { innerHTML: _vm._s(_vm.svg) }
})
]
),
_vm._v(" "),
_c("p", { staticClass: "title" }, [_vm._v(_vm._s(_vm.title))])
])
};
var __vue_staticRenderFns__$4 = [];
__vue_render__$4._withStripped = true;
/* style */
var __vue_inject_styles__$4 = function (inject) {
if (!inject) { return }
inject("data-v-5c4114d4_0", { source: "\n.icon-container[data-v-5c4114d4] {\n display: inline-block;\n width: 150px;\n margin: 5px;\n overflow: hidden;\n}\n.icon-container > .icon[data-v-5c4114d4] {\n width: 150px;\n height: 150px;\n cursor: pointer;\n margin-bottom: -3px;\n}\n.icon-container > .icon > .svg[data-v-5c4114d4] {\n display: inline-block;\n margin: 20px;\n line-height: 1em;\n transition: 1s all;\n transform: scale(0.9);\n}\n.icon-container > .icon:hover .svg[data-v-5c4114d4] {\n transition: 0.1s all;\n transform: scale(1.3);\n}\n.icon-container > .title[data-v-5c4114d4] {\n text-align: center;\n background: white;\n font-size: 0.6em;\n font-weight: 400;\n color: #666;\n}\n\n/*# sourceMappingURL=UiIcon.vue.map */", map: {"version":3,"sources":["/Volumes/Data/Work/OpenSource/JavaScript/VueDemos/js-demo/src/components/ui/UiIcon.vue","UiIcon.vue"],"names":[],"mappings":";AAoBA;EACA,sBAAA;EACA,aAAA;EACA,YAAA;EACA,iBAAA;CAiCA;AArCA;IAOA,aAAA;IACA,cAAA;IACA,gBAAA;IACA,oBAAA;CAiBA;AA3BA;MAaA,sBAAA;MACA,aAAA;MACA,iBAAA;MACA,mBAAA;MACA,sBAAA;CACA;AAlBA;MAsBA,qBAAA;MACA,sBAAA;CACA;AAxBA;IA8BA,mBAAA;IACA,kBAAA;IACA,iBAAA;IACA,iBAAA;IACA,YAAA;CACA;;AC7BA,sCAAsC","file":"UiIcon.vue","sourcesContent":[null,".icon-container {\n display: inline-block;\n width: 150px;\n margin: 5px;\n overflow: hidden; }\n .icon-container > .icon {\n width: 150px;\n height: 150px;\n cursor: pointer;\n margin-bottom: -3px; }\n .icon-container > .icon > .svg {\n display: inline-block;\n margin: 20px;\n line-height: 1em;\n transition: 1s all;\n transform: scale(0.9); }\n .icon-container > .icon:hover .svg {\n transition: 0.1s all;\n transform: scale(1.3); }\n .icon-container > .title {\n text-align: center;\n background: white;\n font-size: 0.6em;\n font-weight: 400;\n color: #666; }\n\n/*# sourceMappingURL=UiIcon.vue.map */"]}, media: undefined });
};
/* scoped */
var __vue_scope_id__$4 = "data-v-5c4114d4";
/* module identifier */
var __vue_module_identifier__$4 = undefined;
/* functional template */
var __vue_is_functional_template__$4 = false;
/* component normalizer */
function __vue_normalize__$4(
template, style, script,
scope, functional, moduleIdentifier,
createInjector, createInjectorSSR
) {
var component = (typeof script === 'function' ? script.options : script) || {};
// For security concerns, we use only base name in production mode.
component.__file = "/Volumes/Data/Work/OpenSource/JavaScript/VueDemos/js-demo/src/components/ui/UiIcon.vue";
if (!component.render) {
component.render = template.render;
component.staticRenderFns = template.staticRenderFns;
component._compiled = true;
if (functional) { component.functional = true; }
}
component._scopeId = scope;
{
var hook;
if (style) {
hook = function(context) {
style.call(this, createInjector(context));
};
}
if (hook !== undefined) {
if (component.functional) {
// register for functional component in vue file
var originalRender = component.render;
component.render = function renderWithStyleInjection(h, context) {
hook.call(context);
return originalRender(h, context)
};
} else {
// inject component registration as beforeCreate hook
var existing = component.beforeCreate;
component.beforeCreate = existing ? [].concat(existing, hook) : [hook];
}
}
}
return component
}
/* style inject */
function __vue_create_injector__$4() {
var head = document.head || document.getElementsByTagName('head')[0];
var styles = __vue_create_injector__$4.styles || (__vue_create_injector__$4.styles = {});
var isOldIE =
typeof navigator !== 'undefined' &&
/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());
return function addStyle(id, css) {
if (document.querySelector('style[data-vue-ssr-id~="' + id + '"]')) { return } // SSR styles are present.
var group = isOldIE ? css.media || 'default' : id;
var style = styles[group] || (styles[group] = { ids: [], parts: [], element: undefined });
if (!style.ids.includes(id)) {
var code = css.source;
var index = style.ids.length;
style.ids.push(id);
if (isOldIE) {
style.element = style.element || document.querySelector('style[data-group=' + group + ']');
}
if (!style.element) {
var el = style.element = document.createElement('style');
el.type = 'text/css';
if (css.media) { el.setAttribute('media', css.media); }
if (isOldIE) {
el.setAttribute('data-group', group);
el.setAttribute('data-next-index', '0');
}
head.appendChild(el);
}
if (isOldIE) {
index = parseInt(style.element.getAttribute('data-next-index'));
style.element.setAttribute('data-next-index', index + 1);
}
if (style.element.styleSheet) {
style.parts.push(code);
style.element.styleSheet.cssText = style.parts
.filter(Boolean)
.join('\n');
} else {
var textNode = document.createTextNode(code);
var nodes = style.element.childNodes;
if (nodes[index]) { style.element.removeChild(nodes[index]); }
if (nodes.length) { style.element.insertBefore(textNode, nodes[index]); }
else { style.element.appendChild(textNode); }
}
}
}
}
/* style inject SSR */
var UiIcon = __vue_normalize__$4(
{ render: __vue_render__$4, staticRenderFns: __vue_staticRenderFns__$4 },
__vue_inject_styles__$4,
__vue_script__$4,
__vue_scope_id__$4,
__vue_is_functional_template__$4,
__vue_module_identifier__$4,
__vue_create_injector__$4,
undefined
);
//
var script$5 = {
props: {
src: String,
label: String
},
computed: {
isActive: function isActive () {
return this.src
},
isCodeSandbox: function isCodeSandbox () {
return window.location.href.includes('codesandbox')
},
url: function url () {
return ("/src/" + (this.src))
},
text: function text () {
return this.src.includes('.vue')
? 'Edit component'
: this.src.includes('/vuex')
? 'Edit store'
: 'Edit code'
}
},
methods: {
open: function open() {
codesandboxApi.dispatch(codesandboxApi.actions.editor.openModule(this.url));
},
}
};
/* script */
var __vue_script__$5 = script$5;
/* template */
var __vue_render__$5 = function() {
var _vm = this;
var _h = _vm.$createElement;
var _c = _vm._self._c || _h;
return _vm.isActive
? _c(
"button",
{
staticClass: "button is-small is-primary",
attrs: { title: _vm.url },
on: { click: _vm.open }
},
[
_c("i", { staticClass: "fa fa-code" }),
_vm._v(" " + _vm._s(_vm.label || _vm.text) + "\n")
]
)
: _vm._e()
};
var __vue_staticRenderFns__$5 = [];
__vue_render__$5._withStripped = true;
/* style */
var __vue_inject_styles__$5 = undefined;
/* scoped */
var __vue_scope_id__$5 = undefined;
/* module identifier */
var __vue_module_identifier__$5 = undefined;
/* functional template */
var __vue_is_functional_template__$5 = false;
/* component normalizer */
function __vue_normalize__$5(
template, style, script,
scope, functional, moduleIdentifier,
createInjector, createInjectorSSR
) {
var component = (typeof script === 'function' ? script.options : script) || {};
// For security concerns, we use only base name in production mode.
component.__file = "/Volumes/Data/Work/OpenSource/JavaScript/VueDemos/js-demo/src/components/nav/EditCode.vue";
if (!component.render) {
component.render = template.render;
component.staticRenderFns = template.staticRenderFns;
component._compiled = true;
if (functional) { component.functional = true; }
}
component._scopeId = scope;
return component
}
/* style inject */
function __vue_create_injector__$5() {
var head = document.head || document.getElementsByTagName('head')[0];
var styles = __vue_create_injector__$5.styles || (__vue_create_injector__$5.styles = {});
var isOldIE =
typeof navigator !== 'undefined' &&
/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());
return function addStyle(id, css) {
if (document.querySelector('style[data-vue-ssr-id~="' + id + '"]')) { return } // SSR styles are present.
var group = isOldIE ? css.media || 'default' : id;
var style = styles[group] || (styles[group] = { ids: [], parts: [], element: undefined });
if (!style.ids.includes(id)) {
var code = css.source;
var index = style.ids.length;
style.ids.push(id);
if (isOldIE) {
style.element = style.element || document.querySelector('style[data-group=' + group + ']');
}
if (!style.element) {
var el = style.element = document.createElement('style');
el.type = 'text/css';
if (css.media) { el.setAttribute('media', css.media); }
if (isOldIE) {
el.setAttribute('data-group', group);
el.setAttribute('data-next-index', '0');
}
head.appendChild(el);
}
if (isOldIE) {
index = parseInt(style.element.getAttribute('data-next-index'));
style.element.setAttribute('data-next-index', index + 1);
}
if (style.element.styleSheet) {
style.parts.push(code);
style.element.styleSheet.cssText = style.parts
.filter(Boolean)
.join('\n');
} else {
var textNode = document.createTextNode(code);
var nodes = style.element.childNodes;
if (nodes[index]) { style.element.removeChild(nodes[index]); }
if (nodes.length) { style.element.insertBefore(textNode, nodes[index]); }
else { style.element.appendChild(textNode); }
}
}
}
}
/* style inject SSR */
var ViewCode = __vue_normalize__$5(
{ render: __vue_render__$5, staticRenderFns: __vue_staticRenderFns__$5 },
__vue_inject_styles__$5,
__vue_script__$5,
__vue_scope_id__$5,
__vue_is_functional_template__$5,
__vue_module_identifier__$5,
__vue_create_injector__$5,
undefined
);
//
//
//
//
//
//
var script$6 = {
props: {
src: String,
},
computed: {
url: function url () {
return ((this.$site.docs) + "#" + (this.src))
}
},
methods: {
open: function open () {
window.open(this.url, 'docs');
}
}
};
/* script */
var __vue_script__$6 = script$6;
/* template */
var __vue_render__$6 = function() {
var _vm = this;
var _h = _vm.$createElement;
var _c = _vm._self._c || _h;
return _c(
"button",
{
staticClass: "button is-small is-primary",
attrs: { title: "View docs", title: _vm.url },
on: { click: _vm.open }
},
[_c("i", { staticClass: "fa fa-file-text-o" }), _vm._v(" View docs\n")]
)
};
var __vue_staticRenderFns__$6 = [];
__vue_render__$6._withStripped = true;
/* style */
var __vue_inject_styles__$6 = undefined;
/* scoped */
var __vue_scope_id__$6 = undefined;
/* module identifier */
var __vue_module_identifier__$6 = undefined;
/* functional template */
var __vue_is_functional_template__$6 = false;
/* component normalizer */
function __vue_normalize__$6(
template, style, script,
scope, functional, moduleIdentifier,
createInjector, createInjectorSSR
) {
var component = (typeof script === 'function' ? script.options : script) || {};
// For security concerns, we use only base name in production mode.
component.__file = "/Volumes/Data/Work/OpenSource/JavaScript/VueDemos/js-demo/src/components/nav/ViewDocs.vue";
if (!component.render) {
component.render = template.render;
component.staticRenderFns = template.staticRenderFns;
component._compiled = true;
if (functional) { component.functional = true; }
}
component._scopeId = scope;
return component
}
/* style inject */
function __vue_create_injector__$6() {
var head = document.head || document.getElementsByTagName('head')[0];
var styles = __vue_create_injector__$6.styles || (__vue_create_injector__$6.styles = {});
var isOldIE =
typeof navigator !== 'undefined' &&
/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());
return function addStyle(id, css) {
if (document.querySelector('style[data-vue-ssr-id~="' + id + '"]')) { return } // SSR styles are present.
var group = isOldIE ? css.media || 'default' : id;
var style = styles[group] || (styles[group] = { ids: [], parts: [], element: undefined });
if (!style.ids.includes(id)) {
var code = css.source;
var index = style.ids.length;
style.ids.push(id);
if (isOldIE) {
style.element = style.element || document.querySelector('style[data-group=' + group + ']');
}
if (!style.element) {
var el = style.element = document.createElement('style');
el.type = 'text/css';
if (css.media) { el.setAttribute('media', css.media); }
if (isOldIE) {
el.setAttribute('data-group', group);
el.setAttribute('data-next-index', '0');
}
head.appendChild(el);
}
if (isOldIE) {
index = parseInt(style.element.getAttribute('data-next-index'));
style.element.setAttribute('data-next-index', index + 1);
}
if (style.element.styleSheet) {
style.parts.push(code);
style.element.styleSheet.cssText = style.parts
.filter(Boolean)
.join('\n');
} else {
var textNode = document.createTextNode(code);
var nodes = style.element.childNodes;
if (nodes[index]) { style.element.removeChild(nodes[index]); }
if (nodes.length) { style.element.insertBefore(textNode, nodes[index]); }
else { style.element.appendChild(textNode); }
}
}
}
}
/* style inject SSR */
var ViewDocs = __vue_normalize__$6(
{ render: __vue_render__$6, staticRenderFns: __vue_staticRenderFns__$6 },
__vue_inject_styles__$6,
__vue_script__$6,
__vue_scope_id__$6,
__vue_is_functional_template__$6,
__vue_module_identifier__$6,
__vue_create_injector__$6,
undefined
);
var Markdown = {
render: function render (h) {
return h('div', { class: 'markdown', ref: 'markdown' })
},
mounted: function mounted () { this.update(); },
updated: function updated () { this.update(); },
methods: {
update: function update () {
var content = this.$slots.default;
if (!content) {
this.$refs.markdown.innerHTML = '';
return
}
// remove indent
var text = content[0].text.replace(/^\s*[\r\n]+/m, '');
var indent = text.match(/^\s*/);
var html = text.replace(new RegExp(("^" + indent), 'gm'), '');
// convert content to html
this.$refs.markdown.innerHTML = marked.parse(html).trim();
}
}
};
var MarkdownPage = {
render: function render (h) {
return h('article', { class: 'content' }, this.$slots.default)
}
};
var components = {
// ui
'ui-modal': UiModal,
'ui-input': UiInput,
'ui-button': UiButton,
'ui-select': UiSelect,
'ui-icon': UiIcon,
// other
'edit-code': ViewCode,
'view-docs': ViewDocs,
// content
'markdown': Markdown,
'markdown-page': MarkdownPage,
};
Object
.keys(components)
.forEach(function (key) { return Vue.component(key, components[key]); });
//
//
//
//
var script$7 = {
name: 'menu-label',
props: {
text: String
},
};
/* script */
var __vue_script__$7 = script$7;
/* template */
var __vue_render__$7 = function() {
var _vm = this;
var _h = _vm.$createElement;
var _c = _vm._self._c || _h;
return _c("li", { staticClass: "menu-label" }, [_vm._v(_vm._s(_vm.text))])
};
var __vue_staticRenderFns__$7 = [];
__vue_render__$7._withStripped = true;
/* style */
var __vue_inject_styles__$7 = undefined;
/* scoped */
var __vue_scope_id__$7 = undefined;
/* module identifier */
var __vue_module_identifier__$7 = undefined;
/* functional template */
var __vue_is_functional_template__$7 = false;
/* component normalizer */
function __vue_normalize__$7(
template, style, script,
scope, functional, moduleIdentifier,
createInjector, createInjectorSSR
) {
var component = (typeof script === 'function' ? script.options : script) || {};
// For security concerns, we use only base name in production mode.
component.__file = "/Volumes/Data/Work/OpenSource/JavaScript/VueDemos/js-demo/src/components/sidebar/MenuLabel.vue";
if (!component.render) {
component.render = template.render;
component.staticRenderFns = template.staticRenderFns;
component._compiled = true;
if (functional) { component.functional = true; }
}
component._scopeId = scope;
return component
}
/* style inject */
function __vue_create_injector__$7() {
var head = document.head || document.getElementsByTagName('head')[0];
var styles = __vue_create_injector__$7.styles || (__vue_create_injector__$7.styles = {});
var isOldIE =
typeof navigator !== 'undefined' &&
/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());
return function addStyle(id, css) {
if (document.querySelector('style[data-vue-ssr-id~="' + id + '"]')) { return } // SSR styles are present.
var group = isOldIE ? css.media || 'default' : id;
var style = styles[group] || (styles[group] = { ids: [], parts: [], element: undefined });
if (!style.ids.includes(id)) {
var code = css.source;
var index = style.ids.length;
style.ids.push(id);
if (isOldIE) {
style.element = style.element || document.querySelector('style[data-group=' + group + ']');
}
if (!style.element) {
var el = style.element = document.createElement('style');
el.type = 'text/css';
if (css.media) { el.setAttribute('media', css.media); }
if (isOldIE) {
el.setAttribute('data-group', group);
el.setAttribute('data-next-index', '0');
}
head.appendChild(el);
}
if (isOldIE) {
index = parseInt(style.element.getAttribute('data-next-index'));
style.element.setAttribute('data-next-index', index + 1);
}
if (style.element.styleSheet) {
style.parts.push(code);
style.element.styleSheet.cssText = style.parts
.filter(Boolean)
.join('\n');
} else {
var textNode = document.createTextNode(code);
var nodes = style.element.childNodes;
if (nodes[index]) { style.element.removeChild(nodes[index]); }
if (nodes.length) { style.element.insertBefore(textNode, nodes[index]); }
else { style.element.appendChild(textNode); }
}
}
}
}
/* style inject SSR */
var MenuLabel = __vue_normalize__$7(
{ render: __vue_render__$7, staticRenderFns: __vue_staticRenderFns__$7 },
__vue_inject_styles__$7,
__vue_script__$7,
__vue_scope_id__$7,
__vue_is_functional_template__$7,
__vue_module_identifier__$7,
__vue_create_injector__$7,
undefined
);
var MenuGroup = {
functional: true,
name: 'menu-group',
render: function render (h, context) {
var item = context.props.item;
var label = h(MenuLabel, { props: { text: item.text } });
var list = h(MenuList, { props: { items: item.items } });
return [label, list]
}
};
//
var script$8 = {
name: 'menu-list',
components: {
Group: MenuGroup,
},
props: {
items: Array
},
};
/* script */
var __vue_script__$8 = script$8;
/* template */
var __vue_render__$8 = function() {
var _vm = this;
var _h = _vm.$createElement;
var _c = _vm._self._c || _h;
return _c(
"ul",
{ staticClass: "menu-list" },
_vm._l(_vm.items, function(item) {
return _c(
"li",
{ class: "item-" + item.type },
[
item.items
? _c("menu-group", { attrs: { item: item } })
: _c("router-link", { attrs: { to: item.path } }, [
_vm._v(_vm._s(item.text))
])
],
1
)
})
)
};
var __vue_staticRenderFns__$8 = [];
__vue_render__$8._withStripped = true;
/* style */
var __vue_inject_styles__$8 = function (inject) {
if (!inject) { return }
inject("data-v-f5486ffa_0", { source: "\n/*# sourceMappingURL=MenuList.vue.map */", map: {"version":3,"sources":["MenuList.vue"],"names":[],"mappings":";AACA,wCAAwC","file":"MenuList.vue"}, media: undefined });
};
/* scoped */
var __vue_scope_id__$8 = undefined;
/* module identifier */
var __vue_module_identifier__$8 = undefined;
/* functional template */
var __vue_is_functional_template__$8 = false;
/* component normalizer */
function __vue_normalize__$8(
template, style, script,
scope, functional, moduleIdentifier,
createInjector, createInjectorSSR
) {
var component = (typeof script === 'function' ? script.options : script) || {};
// For security concerns, we use only base name in production mode.
component.__file = "/Volumes/Data/Work/OpenSource/JavaScript/VueDemos/js-demo/src/components/sidebar/MenuList.vue";
if (!component.render) {
component.render = template.render;
component.staticRenderFns = template.staticRenderFns;
component._compiled = true;
if (functional) { component.functional = true; }
}
component._scopeId = scope;
{
var hook;
if (style) {
hook = function(context) {
style.call(this, createInjector(context));
};
}
if (hook !== undefined) {
if (component.functional) {
// register for functional component in vue file
var originalRender = component.render;
component.render = function renderWithStyleInjection(h, context) {
hook.call(context);
return originalRender(h, context)
};
} else {
// inject component registration as beforeCreate hook
var existing = component.beforeCreate;
component.beforeCreate = existing ? [].concat(existing, hook) : [hook];
}
}
}
return component
}
/* style inject */
function __vue_create_injector__$8() {
var head = document.head || document.getElementsByTagName('head')[0];
var styles = __vue_create_injector__$8.styles || (__vue_create_injector__$8.styles = {});
var isOldIE =
typeof navigator !== 'undefined' &&
/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());
return function addStyle(id, css) {
if (document.querySelector('style[data-vue-ssr-id~="' + id + '"]')) { return } // SSR styles are present.
var group = isOldIE ? css.media || 'default' : id;
var style = styles[group] || (styles[group] = { ids: [], parts: [], element: undefined });
if (!style.ids.includes(id)) {
var code = css.source;
var index = style.ids.length;
style.ids.push(id);
if (isOldIE) {
style.element = style.element || document.querySelector('style[data-group=' + group + ']');
}
if (!style.element) {
var el = style.element = document.createElement('style');
el.type = 'text/css';
if (css.media) { el.setAttribute('media', css.media); }
if (isOldIE) {
el.setAttribute('data-group', group);
el.setAttribute('data-next-index', '0');
}
head.appendChild(el);
}
if (isOldIE) {
index = parseInt(style.element.getAttribute('data-next-index'));
style.element.setAttribute('data-next-index', index + 1);
}
if (style.element.styleSheet) {
style.parts.push(code);
style.element.styleSheet.cssText = style.parts
.filter(Boolean)
.join('\n');
} else {
var textNode = document.createTextNode(code);
var nodes = style.element.childNodes;
if (nodes[index]) { style.element.removeChild(nodes[index]); }
if (nodes.length) { style.element.insertBefore(textNode, nodes[index]); }
else { style.element.appendChild(textNode); }
}
}
}
}
/* style inject SSR */
var MenuList = __vue_normalize__$8(
{ render: __vue_render__$8, staticRenderFns: __vue_staticRenderFns__$8 },
__vue_inject_styles__$8,
__vue_script__$8,
__vue_scope_id__$8,
__vue_is_functional_template__$8,
__vue_module_identifier__$8,
__vue_create_injector__$8,
undefined
);
//
Vue.component('menu-group', MenuGroup);
var script$9 = {
components: {
MenuList: MenuList,
MenuGroup: MenuGroup,
}
};
/* script */
var __vue_script__$9 = script$9;
/* template */
var __vue_render__$9 = function() {
var _vm = this;
var _h = _vm.$createElement;
var _c = _vm._self._c || _h;
return _c(
"ul",
{ staticClass: "sidebar" },
[
_c(
"h1",
[
_c("span", { staticClass: "logo" }),
_c("router-link", { attrs: { to: "/" } }, [
_vm._v(_vm._s(_vm.$site.name))
])
],
1
),
_vm._v(" "),
_vm._l(_vm.$menu, function(item) {
return _c("MenuGroup", { key: item.path, attrs: { item: item } })
})
],
2
)
};
var __vue_staticRenderFns__$9 = [];
__vue_render__$9._withStripped = true;
/* style */
var __vue_inject_styles__$9 = undefined;
/* scoped */
var __vue_scope_id__$9 = undefined;
/* module identifier */
var __vue_module_identifier__$9 = undefined;
/* functional template */
var __vue_is_functional_template__$9 = false;
/* component normalizer */
function __vue_normalize__$9(
template, style, script,
scope, functional, moduleIdentifier,
createInjector, createInjectorSSR
) {
var component = (typeof script === 'function' ? script.options : script) || {};
// For security concerns, we use only base name in production mode.
component.__file = "/Volumes/Data/Work/OpenSource/JavaScript/VueDemos/js-demo/src/components/sidebar/Sidebar.vue";
if (!component.render) {
component.render = template.render;
component.staticRenderFns = template.staticRenderFns;
component._compiled = true;
if (functional) { component.functional = true; }
}
component._scopeId = scope;
return component
}
/* style inject */
function __vue_create_injector__$9() {
var head = document.head || document.getElementsByTagName('head')[0];
var styles = __vue_create_injector__$9.styles || (__vue_create_injector__$9.styles = {});
var isOldIE =
typeof navigator !== 'undefined' &&
/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());
return function addStyle(id, css) {
if (document.querySelector('style[data-vue-ssr-id~="' + id + '"]')) { return } // SSR styles are present.
var group = isOldIE ? css.media || 'default' : id;
var style = styles[group] || (styles[group] = { ids: [], parts: [], element: undefined });
if (!style.ids.includes(id)) {
var code = css.source;
var index = style.ids.length;
style.ids.push(id);
if (isOldIE) {
style.element = style.element || document.querySelector('style[data-group=' + group + ']');
}
if (!style.element) {
var el = style.element = document.createElement('style');
el.type = 'text/css';
if (css.media) { el.setAttribute('media', css.media); }
if (isOldIE) {
el.setAttribute('data-group', group);
el.setAttribute('data-next-index', '0');
}
head.appendChild(el);
}
if (isOldIE) {
index = parseInt(style.element.getAttribute('data-next-index'));
style.element.setAttribute('data-next-index', index + 1);
}
if (style.element.styleSheet) {
style.parts.push(code);
style.element.styleSheet.cssText = style.parts
.filter(Boolean)
.join('\n');
} else {
var textNode = document.createTextNode(code);
var nodes = style.element.childNodes;
if (nodes[index]) { style.element.removeChild(nodes[index]); }
if (nodes.length) { style.element.insertBefore(textNode, nodes[index]); }
else { style.element.appendChild(textNode); }
}
}
}
}
/* style inject SSR */
var Sidebar = __vue_normalize__$9(
{ render: __vue_render__$9, staticRenderFns: __vue_staticRenderFns__$9 },
__vue_inject_styles__$9,
__vue_script__$9,
__vue_scope_id__$9,
__vue_is_functional_template__$9,
__vue_module_identifier__$9,
__vue_create_injector__$9,
undefined
);
//
var script$a = {
components: {
Sidebar: Sidebar,
}
};
/* script */
var __vue_script__$a = script$a;
/* template */
var __vue_render__$a = function() {
var _vm = this;
var _h = _vm.$createElement;
var _c = _vm._self._c || _h;
return _c("div", { staticClass: "container", attrs: { id: "app" } }, [
_c("aside", [
_c("div", { staticClass: "sidebar-container" }, [_c("sidebar")], 1)
]),
_vm._v(" "),
_c(
"main",
{ staticClass: "main" },
[_c("router-view", { key: _vm.$route.path })],
1
),
_vm._v(" "),
_vm.$site.repo
? _c(
"a",
{
staticClass: "github-corner",
attrs: {
target: "_blank",
href: _vm.$site.repo,
"aria-label": "View source on Github"
}
},
[
_c(
"svg",
{
staticStyle: {
fill: "#24A4C1",
color: "#fff",
position: "absolute",
top: "0",
border: "0",
right: "0"
},
attrs: {
width: "80",
height: "80",
viewBox: "0 0 250 250",
"aria-hidden": "true"
}
},
[
_c("path", {
attrs: {
d: "M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z"
}
}),
_vm._v(" "),
_c("path", {
staticClass: "octo-arm",
staticStyle: { "transform-origin": "130px 106px" },
attrs: {
d:
"M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2",
fill: "currentColor"
}
}),
_vm._v(" "),
_c("path", {
staticClass: "octo-body",
attrs: {
d:
"M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z",
fill: "currentColor"
}
})
]
)
]
)
: _vm._e()
])
};
var __vue_staticRenderFns__$a = [];
__vue_render__$a._withStripped = true;
/* style */
var __vue_inject_styles__$a = function (inject) {
if (!inject) { return }
inject("data-v-097c886f_0", { source: "\n.github-corner {\n position: fixed;\n right: 0;\n top: 0;\n}\n.github-corner:hover .octo-arm {\n animation: octocat-wave 560ms ease-in-out\n}\n@keyframes octocat-wave {\n0%, 100% {\n transform: rotate(0)\n}\n20%, 60% {\n transform: rotate(-25deg)\n}\n40%, 80% {\n transform: rotate(10deg)\n}\n}\n@media (max-width: 500px) {\n.github-corner:hover .octo-arm {\n animation: none\n}\n.github-corner .octo-arm {\n animation: octocat-wave 560ms ease-in-out\n}\n}\n", map: {"version":3,"sources":["/Volumes/Data/Work/OpenSource/JavaScript/VueDemos/js-demo/src/App.vue"],"names":[],"mappings":";AA0CA;EACA,gBAAA;EACA,SAAA;EACA,OAAA;CACA;AAEA;EACA,yCAAA;CACA;AAEA;AACA;IACA,oBAAA;CACA;AACA;IACA,yBAAA;CACA;AACA;IACA,wBAAA;CACA;CACA;AAEA;AACA;IACA,eAAA;CACA;AAEA;IACA,yCAAA;CACA;CACA","file":"App.vue","sourcesContent":["\n \n\n\n\n\n"]}, media: undefined });
};
/* scoped */
var __vue_scope_id__$a = undefined;
/* module identifier */
var __vue_module_identifier__$a = undefined;
/* functional template */
var __vue_is_functional_template__$a = false;
/* component normalizer */
function __vue_normalize__$a(
template, style, script,
scope, functional, moduleIdentifier,
createInjector, createInjectorSSR
) {
var component = (typeof script === 'function' ? script.options : script) || {};
// For security concerns, we use only base name in production mode.
component.__file = "/Volumes/Data/Work/OpenSource/JavaScript/VueDemos/js-demo/src/App.vue";
if (!component.render) {
component.render = template.render;
component.staticRenderFns = template.staticRenderFns;
component._compiled = true;
if (functional) { component.functional = true; }
}
component._scopeId = scope;
{
var hook;
if (style) {
hook = function(context) {
style.call(this, createInjector(context));
};
}
if (hook !== undefined) {
if (component.functional) {
// register for functional component in vue file
var originalRender = component.render;
component.render = function renderWithStyleInjection(h, context) {
hook.call(context);
return originalRender(h, context)
};
} else {
// inject component registration as beforeCreate hook
var existing = component.beforeCreate;
component.beforeCreate = existing ? [].concat(existing, hook) : [hook];
}
}
}
return component
}
/* style inject */
function __vue_create_injector__$a() {
var head = document.head || document.getElementsByTagName('head')[0];
var styles = __vue_create_injector__$a.styles || (__vue_create_injector__$a.styles = {});
var isOldIE =
typeof navigator !== 'undefined' &&
/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());
return function addStyle(id, css) {
if (document.querySelector('style[data-vue-ssr-id~="' + id + '"]')) { return } // SSR styles are present.
var group = isOldIE ? css.media || 'default' : id;
var style = styles[group] || (styles[group] = { ids: [], parts: [], element: undefined });
if (!style.ids.includes(id)) {
var code = css.source;
var index = style.ids.length;
style.ids.push(id);
if (isOldIE) {
style.element = style.element || document.querySelector('style[data-group=' + group + ']');
}
if (!style.element) {
var el = style.element = document.createElement('style');
el.type = 'text/css';
if (css.media) { el.setAttribute('media', css.media); }
if (isOldIE) {
el.setAttribute('data-group', group);
el.setAttribute('data-next-index', '0');
}
head.appendChild(el);
}
if (isOldIE) {
index = parseInt(style.element.getAttribute('data-next-index'));
style.element.setAttribute('data-next-index', index + 1);
}
if (style.element.styleSheet) {
style.parts.push(code);
style.element.styleSheet.cssText = style.parts
.filter(Boolean)
.join('\n');
} else {
var textNode = document.createTextNode(code);
var nodes = style.element.childNodes;
if (nodes[index]) { style.element.removeChild(nodes[index]); }
if (nodes.length) { style.element.insertBefore(textNode, nodes[index]); }
else { style.element.appendChild(textNode); }
}
}
}
}
/* style inject SSR */
var App = __vue_normalize__$a(
{ render: __vue_render__$a, staticRenderFns: __vue_staticRenderFns__$a },
__vue_inject_styles__$a,
__vue_script__$a,
__vue_scope_id__$a,
__vue_is_functional_template__$a,
__vue_module_identifier__$a,
__vue_create_injector__$a,
undefined
);
function item (type, path, text, component) {
return { type: type, path: path, text: text, component: component }
}
function route (path, component) {
return { path: path, component: component }
}
function redirect (path, redirect) {
return { path: path, redirect: redirect }
}
function list (path, text, items) {
if ( items === void 0 ) items = [];
if (Array.isArray(text)) {
items = text;
text = null;
}
if (items && !Array.isArray(items)) {
items = [items];
}
return { type: 'menu-list', text: text, path: path, items: items }
}
function page (path, text, component) {
return item('page', path, text, component)
}
function code (path, text, component) {
return item('code', path, text, component)
}
var helpers = /*#__PURE__*/Object.freeze({
item: item,
route: route,
redirect: redirect,
list: list,
page: page,
code: code
});
function makeMenu (items, prefix) {
if ( prefix === void 0 ) prefix = '/';
return items.map(function (item$$1) {
item$$1.path = prefix.replace(/^\/+/, '/') + item$$1.path;
if (item$$1.items) {
item$$1.items = makeMenu(item$$1.items, item$$1.path + '/');
}
return item$$1
})
}
function makeRoutes (items) {
function process (items) {
items.forEach(function (item$$1) {
if (item$$1.redirect) {
routes.push(item$$1);
} else {
routes.push(route(item$$1.path, item$$1.component));
if (item$$1.items) {
process(item$$1.items);
}
}
});
}
var routes = [];
process(items);
return routes
}
function afterRoute () {
// title
var route$$1 = location.hash;
var link = document.querySelector(("a[href=\"" + route$$1 + "\"]"));
// scripts
}
// build
function makeRouter (navigation) {
var menu = makeMenu(navigation);
var routes = makeRoutes(menu);
// router
Vue.use(Router);
var router = new Router({
mode: window.location.href.includes('codesandbox')
? 'history'
: 'hash',
linkActiveClass: 'is-link-active',
linkExactActiveClass: 'is-link-exact',
routes: routes.concat( [route('*', { template: '
Route not found
' })] )
});
router.afterEach(afterRoute);
setTimeout(afterRoute);
return router
}
function track (id) {
// prepare data
window.dataLayer = window.dataLayer || [];
function gtag () { dataLayer.push(arguments); }
gtag('js', new Date());
gtag('config', id);
// load analytics
var script = document.createElement('script');
script.src = 'https://www.googletagmanager.com/gtag/js?id=' + id;
script.type = 'text/javascript';
script.async = true;
document.head.appendChild(script);
}
function track$1 (id) {
if (id) {
track(id);
}
}
// plugins
Vue.use(VueMarkdown);
Vue.component('vue-markdown', VueMarkdown);
// export
function demo (site, menu, store) {
if ( site === void 0 ) site = {};
if ( menu === void 0 ) menu = {};
if ( store === void 0 ) store = {};
// analytics
track$1(site.ga);
// config
Vue.use(function (Vue$$1) { return Vue$$1.prototype.$site = site; });
Vue.use(function (Vue$$1) { return Vue$$1.prototype.$menu = menu; });
// tooling
Vue.config.devtools = true;
// app
window.store = store;
window.app = new Vue({
el: '#app',
router: makeRouter(menu),
store: store,
template: '',
components: { App: App }
});
}
Object.assign(demo, helpers);
exports.default = demo;
exports.item = item;
exports.route = route;
exports.redirect = redirect;
exports.list = list;
exports.page = page;
exports.code = code;
Object.defineProperty(exports, '__esModule', { value: true });
})));