vue-documenter
Advanced tools
Comparing version 0.0.4 to 0.0.5
@@ -85,3 +85,3 @@ module.exports = | ||
/******/ // Load entry module and return exports | ||
/******/ return __webpack_require__(__webpack_require__.s = "fb15"); | ||
/******/ return __webpack_require__(__webpack_require__.s = "980f"); | ||
/******/ }) | ||
@@ -91,70 +91,396 @@ /************************************************************************/ | ||
/***/ "230b": | ||
/***/ "02b5": | ||
/***/ (function(module, exports, __webpack_require__) { | ||
// extracted by mini-css-extract-plugin | ||
// style-loader: Adds some css to the DOM by adding a <style> tag | ||
// load the styles | ||
var content = __webpack_require__("19d8"); | ||
if(typeof content === 'string') content = [[module.i, content, '']]; | ||
if(content.locals) module.exports = content.locals; | ||
// add the styles to the DOM | ||
var add = __webpack_require__("499e").default | ||
var update = add("7fd1a97e", content, true, {"sourceMap":false,"shadowMode":false}); | ||
/***/ }), | ||
/***/ "e677": | ||
/***/ (function(module, __webpack_exports__, __webpack_require__) { | ||
/***/ "19d8": | ||
/***/ (function(module, exports, __webpack_require__) { | ||
"use strict"; | ||
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_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_sass_loader_lib_loader_js_ref_8_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_VueDocumenter_vue_vue_type_style_index_0_id_7edd7376_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("230b"); | ||
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_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_sass_loader_lib_loader_js_ref_8_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_VueDocumenter_vue_vue_type_style_index_0_id_7edd7376_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_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_sass_loader_lib_loader_js_ref_8_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_VueDocumenter_vue_vue_type_style_index_0_id_7edd7376_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__); | ||
/* unused harmony reexport * */ | ||
/* unused harmony default export */ var _unused_webpack_default_export = (_node_modules_mini_css_extract_plugin_dist_loader_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_sass_loader_lib_loader_js_ref_8_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_VueDocumenter_vue_vue_type_style_index_0_id_7edd7376_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default.a); | ||
exports = module.exports = __webpack_require__("2350")(false); | ||
// imports | ||
// module | ||
exports.push([module.i, "h2[data-v-1e6e30cc]{margin-top:1rem}.alert h2[data-v-1e6e30cc]{margin-top:.25rem;margin-bottom:1rem}.indent[data-v-1e6e30cc]{margin-left:2rem}.code-highlight[data-v-1e6e30cc]{background:#f5f2f0;color:#999;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;overflow-x:scroll;padding:1em;text-shadow:0 1px #fff;white-space:nowrap}.code-highlight[data-v-1e6e30cc] .property,.code-highlight[data-v-1e6e30cc] .tag,.code-highlight[data-v-1e6e30cc] .value{display:inline-block}.code-highlight[data-v-1e6e30cc] .tag{color:#905}.code-highlight[data-v-1e6e30cc] .property{color:#690;margin-left:2em}.code-highlight[data-v-1e6e30cc] .value{color:#07a}.code-highlight[data-v-1e6e30cc] .slot{margin-left:2em}.code-highlight[data-v-1e6e30cc] .slot .property{margin-left:0}.code-highlight[data-v-1e6e30cc] .slot .slot-contents{margin-left:4em}", ""]); | ||
// exports | ||
/***/ }), | ||
/***/ "f6fd": | ||
/***/ "2350": | ||
/***/ (function(module, exports) { | ||
// document.currentScript polyfill by Adam Miller | ||
/* | ||
MIT License http://www.opensource.org/licenses/mit-license.php | ||
Author Tobias Koppers @sokra | ||
*/ | ||
// css base code, injected by the css-loader | ||
module.exports = function(useSourceMap) { | ||
var list = []; | ||
// MIT license | ||
// return the list of modules as css string | ||
list.toString = function toString() { | ||
return this.map(function (item) { | ||
var content = cssWithMappingToString(item, useSourceMap); | ||
if(item[2]) { | ||
return "@media " + item[2] + "{" + content + "}"; | ||
} else { | ||
return content; | ||
} | ||
}).join(""); | ||
}; | ||
(function(document){ | ||
var currentScript = "currentScript", | ||
scripts = document.getElementsByTagName('script'); // Live NodeList collection | ||
// import a list of modules into the list | ||
list.i = function(modules, mediaQuery) { | ||
if(typeof modules === "string") | ||
modules = [[null, modules, ""]]; | ||
var alreadyImportedModules = {}; | ||
for(var i = 0; i < this.length; i++) { | ||
var id = this[i][0]; | ||
if(typeof id === "number") | ||
alreadyImportedModules[id] = true; | ||
} | ||
for(i = 0; i < modules.length; i++) { | ||
var item = modules[i]; | ||
// skip already imported module | ||
// this implementation is not 100% perfect for weird media query combinations | ||
// when a module is imported multiple times with different media queries. | ||
// I hope this will never occur (Hey this way we have smaller bundles) | ||
if(typeof item[0] !== "number" || !alreadyImportedModules[item[0]]) { | ||
if(mediaQuery && !item[2]) { | ||
item[2] = mediaQuery; | ||
} else if(mediaQuery) { | ||
item[2] = "(" + item[2] + ") and (" + mediaQuery + ")"; | ||
} | ||
list.push(item); | ||
} | ||
} | ||
}; | ||
return list; | ||
}; | ||
// If browser needs currentScript polyfill, add get currentScript() to the document object | ||
if (!(currentScript in document)) { | ||
Object.defineProperty(document, currentScript, { | ||
get: function(){ | ||
function cssWithMappingToString(item, useSourceMap) { | ||
var content = item[1] || ''; | ||
var cssMapping = item[3]; | ||
if (!cssMapping) { | ||
return content; | ||
} | ||
// IE 6-10 supports script readyState | ||
// IE 10+ support stack trace | ||
try { throw new Error(); } | ||
catch (err) { | ||
if (useSourceMap && typeof btoa === 'function') { | ||
var sourceMapping = toComment(cssMapping); | ||
var sourceURLs = cssMapping.sources.map(function (source) { | ||
return '/*# sourceURL=' + cssMapping.sourceRoot + source + ' */' | ||
}); | ||
// Find the second match for the "at" string to get file src url from stack. | ||
// Specifically works with the format of stack traces in IE. | ||
var i, res = ((/.*at [^\(]*\((.*):.+:.+\)$/ig).exec(err.stack) || [false])[1]; | ||
return [content].concat(sourceURLs).concat([sourceMapping]).join('\n'); | ||
} | ||
// For all scripts on the page, if src matches or if ready state is interactive, return the script tag | ||
for(i in scripts){ | ||
if(scripts[i].src == res || scripts[i].readyState == "interactive"){ | ||
return scripts[i]; | ||
} | ||
} | ||
return [content].join('\n'); | ||
} | ||
// If no match, return null | ||
return null; | ||
// Adapted from convert-source-map (MIT) | ||
function toComment(sourceMap) { | ||
// eslint-disable-next-line no-undef | ||
var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))); | ||
var data = 'sourceMappingURL=data:application/json;charset=utf-8;base64,' + base64; | ||
return '/*# ' + data + ' */'; | ||
} | ||
/***/ }), | ||
/***/ "499e": | ||
/***/ (function(module, __webpack_exports__, __webpack_require__) { | ||
"use strict"; | ||
__webpack_require__.r(__webpack_exports__); | ||
// CONCATENATED MODULE: ./node_modules/vue-style-loader/lib/listToStyles.js | ||
/** | ||
* Translates the list format produced by css-loader into something | ||
* easier to manipulate. | ||
*/ | ||
function listToStyles (parentId, list) { | ||
var styles = [] | ||
var newStyles = {} | ||
for (var i = 0; i < list.length; i++) { | ||
var item = list[i] | ||
var id = item[0] | ||
var css = item[1] | ||
var media = item[2] | ||
var sourceMap = item[3] | ||
var part = { | ||
id: parentId + ':' + i, | ||
css: css, | ||
media: media, | ||
sourceMap: sourceMap | ||
} | ||
if (!newStyles[id]) { | ||
styles.push(newStyles[id] = { id: id, parts: [part] }) | ||
} else { | ||
newStyles[id].parts.push(part) | ||
} | ||
} | ||
return styles | ||
} | ||
// CONCATENATED MODULE: ./node_modules/vue-style-loader/lib/addStylesClient.js | ||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return addStylesClient; }); | ||
/* | ||
MIT License http://www.opensource.org/licenses/mit-license.php | ||
Author Tobias Koppers @sokra | ||
Modified by Evan You @yyx990803 | ||
*/ | ||
var hasDocument = typeof document !== 'undefined' | ||
if (typeof DEBUG !== 'undefined' && DEBUG) { | ||
if (!hasDocument) { | ||
throw new Error( | ||
'vue-style-loader cannot be used in a non-browser environment. ' + | ||
"Use { target: 'node' } in your Webpack config to indicate a server-rendering environment." | ||
) } | ||
} | ||
/* | ||
type StyleObject = { | ||
id: number; | ||
parts: Array<StyleObjectPart> | ||
} | ||
type StyleObjectPart = { | ||
css: string; | ||
media: string; | ||
sourceMap: ?string | ||
} | ||
*/ | ||
var stylesInDom = {/* | ||
[id: number]: { | ||
id: number, | ||
refs: number, | ||
parts: Array<(obj?: StyleObjectPart) => void> | ||
} | ||
*/} | ||
var head = hasDocument && (document.head || document.getElementsByTagName('head')[0]) | ||
var singletonElement = null | ||
var singletonCounter = 0 | ||
var isProduction = false | ||
var noop = function () {} | ||
var options = null | ||
var ssrIdKey = 'data-vue-ssr-id' | ||
// Force single-tag solution on IE6-9, which has a hard limit on the # of <style> | ||
// tags it will allow on a page | ||
var isOldIE = typeof navigator !== 'undefined' && /msie [6-9]\b/.test(navigator.userAgent.toLowerCase()) | ||
function addStylesClient (parentId, list, _isProduction, _options) { | ||
isProduction = _isProduction | ||
options = _options || {} | ||
var styles = listToStyles(parentId, list) | ||
addStylesToDom(styles) | ||
return function update (newList) { | ||
var mayRemove = [] | ||
for (var i = 0; i < styles.length; i++) { | ||
var item = styles[i] | ||
var domStyle = stylesInDom[item.id] | ||
domStyle.refs-- | ||
mayRemove.push(domStyle) | ||
} | ||
if (newList) { | ||
styles = listToStyles(parentId, newList) | ||
addStylesToDom(styles) | ||
} else { | ||
styles = [] | ||
} | ||
for (var i = 0; i < mayRemove.length; i++) { | ||
var domStyle = mayRemove[i] | ||
if (domStyle.refs === 0) { | ||
for (var j = 0; j < domStyle.parts.length; j++) { | ||
domStyle.parts[j]() | ||
} | ||
delete stylesInDom[domStyle.id] | ||
} | ||
}); | ||
} | ||
} | ||
})(document); | ||
} | ||
function addStylesToDom (styles /* Array<StyleObject> */) { | ||
for (var i = 0; i < styles.length; i++) { | ||
var item = styles[i] | ||
var domStyle = stylesInDom[item.id] | ||
if (domStyle) { | ||
domStyle.refs++ | ||
for (var j = 0; j < domStyle.parts.length; j++) { | ||
domStyle.parts[j](item.parts[j]) | ||
} | ||
for (; j < item.parts.length; j++) { | ||
domStyle.parts.push(addStyle(item.parts[j])) | ||
} | ||
if (domStyle.parts.length > item.parts.length) { | ||
domStyle.parts.length = item.parts.length | ||
} | ||
} else { | ||
var parts = [] | ||
for (var j = 0; j < item.parts.length; j++) { | ||
parts.push(addStyle(item.parts[j])) | ||
} | ||
stylesInDom[item.id] = { id: item.id, refs: 1, parts: parts } | ||
} | ||
} | ||
} | ||
function createStyleElement () { | ||
var styleElement = document.createElement('style') | ||
styleElement.type = 'text/css' | ||
head.appendChild(styleElement) | ||
return styleElement | ||
} | ||
function addStyle (obj /* StyleObjectPart */) { | ||
var update, remove | ||
var styleElement = document.querySelector('style[' + ssrIdKey + '~="' + obj.id + '"]') | ||
if (styleElement) { | ||
if (isProduction) { | ||
// has SSR styles and in production mode. | ||
// simply do nothing. | ||
return noop | ||
} else { | ||
// has SSR styles but in dev mode. | ||
// for some reason Chrome can't handle source map in server-rendered | ||
// style tags - source maps in <style> only works if the style tag is | ||
// created and inserted dynamically. So we remove the server rendered | ||
// styles and inject new ones. | ||
styleElement.parentNode.removeChild(styleElement) | ||
} | ||
} | ||
if (isOldIE) { | ||
// use singleton mode for IE9. | ||
var styleIndex = singletonCounter++ | ||
styleElement = singletonElement || (singletonElement = createStyleElement()) | ||
update = applyToSingletonTag.bind(null, styleElement, styleIndex, false) | ||
remove = applyToSingletonTag.bind(null, styleElement, styleIndex, true) | ||
} else { | ||
// use multi-style-tag mode in all other cases | ||
styleElement = createStyleElement() | ||
update = applyToTag.bind(null, styleElement) | ||
remove = function () { | ||
styleElement.parentNode.removeChild(styleElement) | ||
} | ||
} | ||
update(obj) | ||
return function updateStyle (newObj /* StyleObjectPart */) { | ||
if (newObj) { | ||
if (newObj.css === obj.css && | ||
newObj.media === obj.media && | ||
newObj.sourceMap === obj.sourceMap) { | ||
return | ||
} | ||
update(obj = newObj) | ||
} else { | ||
remove() | ||
} | ||
} | ||
} | ||
var replaceText = (function () { | ||
var textStore = [] | ||
return function (index, replacement) { | ||
textStore[index] = replacement | ||
return textStore.filter(Boolean).join('\n') | ||
} | ||
})() | ||
function applyToSingletonTag (styleElement, index, remove, obj) { | ||
var css = remove ? '' : obj.css | ||
if (styleElement.styleSheet) { | ||
styleElement.styleSheet.cssText = replaceText(index, css) | ||
} else { | ||
var cssNode = document.createTextNode(css) | ||
var childNodes = styleElement.childNodes | ||
if (childNodes[index]) styleElement.removeChild(childNodes[index]) | ||
if (childNodes.length) { | ||
styleElement.insertBefore(cssNode, childNodes[index]) | ||
} else { | ||
styleElement.appendChild(cssNode) | ||
} | ||
} | ||
} | ||
function applyToTag (styleElement, obj) { | ||
var css = obj.css | ||
var media = obj.media | ||
var sourceMap = obj.sourceMap | ||
if (media) { | ||
styleElement.setAttribute('media', media) | ||
} | ||
if (options.ssrId) { | ||
styleElement.setAttribute(ssrIdKey, obj.id) | ||
} | ||
if (sourceMap) { | ||
// https://developer.chrome.com/devtools/docs/javascript-debugging | ||
// this makes source maps inside style tags work properly in Chrome | ||
css += '\n/*# sourceURL=' + sourceMap.sources[0] + ' */' | ||
// http://stackoverflow.com/a/26603875 | ||
css += '\n/*# sourceMappingURL=data:application/json;base64,' + btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))) + ' */' | ||
} | ||
if (styleElement.styleSheet) { | ||
styleElement.styleSheet.cssText = css | ||
} else { | ||
while (styleElement.firstChild) { | ||
styleElement.removeChild(styleElement.firstChild) | ||
} | ||
styleElement.appendChild(document.createTextNode(css)) | ||
} | ||
} | ||
/***/ }), | ||
/***/ "fb15": | ||
/***/ "955d": | ||
/***/ (function(module, __webpack_exports__, __webpack_require__) { | ||
"use strict"; | ||
/* 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_nvm_versions_node_v10_5_0_lib_node_modules_vue_cli_service_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_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_VueDocumenter_vue_vue_type_style_index_0_id_1e6e30cc_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("02b5"); | ||
/* 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_nvm_versions_node_v10_5_0_lib_node_modules_vue_cli_service_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_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_VueDocumenter_vue_vue_type_style_index_0_id_1e6e30cc_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_nvm_versions_node_v10_5_0_lib_node_modules_vue_cli_service_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_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_VueDocumenter_vue_vue_type_style_index_0_id_1e6e30cc_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__); | ||
/* unused harmony reexport * */ | ||
/* unused harmony default export */ var _unused_webpack_default_export = (_node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_nvm_versions_node_v10_5_0_lib_node_modules_vue_cli_service_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_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_VueDocumenter_vue_vue_type_style_index_0_id_1e6e30cc_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default.a); | ||
/***/ }), | ||
/***/ "980f": | ||
/***/ (function(module, __webpack_exports__, __webpack_require__) { | ||
"use strict"; | ||
__webpack_require__.r(__webpack_exports__); | ||
// CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js | ||
// CONCATENATED MODULE: /Users/ianjohnson/.nvm/versions/node/v10.5.0/lib/node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js | ||
// This file is imported into lib/wc client bundles. | ||
@@ -164,3 +490,3 @@ | ||
if (true) { | ||
__webpack_require__("f6fd") | ||
__webpack_require__("e165") | ||
} | ||
@@ -177,3 +503,3 @@ | ||
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"fc4fac74-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/VueDocumenter.vue?vue&type=template&id=7edd7376&scoped=true& | ||
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"cdceb08a-vue-loader-template"}!/Users/ianjohnson/.nvm/versions/node/v10.5.0/lib/node_modules/@vue/cli-service/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/VueDocumenter.vue?vue&type=template&id=1e6e30cc&scoped=true& | ||
var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticStyle:{"display":"none"}},[_vm._t("default")],2),_c('div',{staticClass:"row"},[_c('div',{staticClass:"col-sm-3"},[_c('div',{staticClass:"card card-body"},[_c('h2',{staticClass:"mt-0"},[_vm._v("Components")]),_c('ul',_vm._l((_vm.loadedComponents),function(component){return _c('li',{key:("table-of-contents-" + (component.name))},[_c('a',{attrs:{"href":"#{component.name}"}},[_vm._v(_vm._s(component.name))])])}),0)])]),_c('div',{staticClass:"col-sm-9"},_vm._l((_vm.loadedComponents),function(component){return _c('div',{key:("component-" + (component.name)),staticClass:"card card-body mb-5"},[_c('h1',{attrs:{"id":_vm.getKebabCaseFromCamelCase(component.name)}},[_vm._v("<"+_vm._s(_vm.getKebabCaseFromCamelCase(component.name))+">")]),_c('h2',[_vm._v("Properties")]),_c('div',{staticClass:"table-responsive mb-3"},[_c('table',{staticClass:"table table-striped"},[_vm._m(0,true),_c('tbody',_vm._l((component.properties),function(property){return _c('tr',{key:("property-" + (property.name)),class:{ 'deprecated': property.deprecated }},[_c('td',{staticStyle:{"white-space":"nowrap"}},[_vm._v("\n "+_vm._s(property.type !== 'string' ? ':' : '')+_vm._s(property.name)+"\n "),(property.required)?_c('span',{staticClass:"badge badge-danger",attrs:{"title":property.required}},[_vm._v("Required")]):_vm._e(),(property.deprecated)?_c('span',{staticClass:"badge badge-warning",attrs:{"title":property.deprecated,"data-tippy":""}},[_vm._v("Deprecated "),_c('i',{staticClass:"fas fa-question-circle"})]):_vm._e()]),_c('td',{staticStyle:{"white-space":"nowrap"}},[_vm._v(_vm._s(property.type))]),_c('td',{staticStyle:{"white-space":"nowrap"}},[_vm._v(_vm._s(property.defaultValue))]),_c('td',[_c('code',[_vm._v(_vm._s(property.example))])])])}),0)])]),_vm._m(1,true),_c('div',{staticClass:"row mb-3"},[_c('div',{staticClass:"col"},[(component.events)?_c('div',{staticClass:"table-responsive"},[_c('table',{staticClass:"table table-striped"},[_vm._m(2,true),_c('tbody',_vm._l((component.events),function(event){return _c('tr',{key:("event-" + (event.name))},[_c('td',{staticStyle:{"white-space":"nowrap"}},[_vm._v(_vm._s(event.name))]),_c('td',{staticStyle:{"white-space":"nowrap"}},[_vm._v(_vm._s(event.selector))]),_c('td',{staticStyle:{"white-space":"nowrap"}},[_vm._v(_vm._s(event.on))]),_c('td',{staticStyle:{"white-space":"nowrap"}},[_vm._v(_vm._s(event.example))])])}),0)])]):_c('h3',[_vm._v("None")])])]),_c('div',{staticClass:"row"},[_c('div',{staticClass:"col-sm-6"},[_c('h2',[_vm._v("Minimal Example")]),_c('div',{staticClass:"code-highlight",domProps:{"innerHTML":_vm._s(_vm.getComponentExampleHtml(component, { onlyRequired: true }))}})]),_c('div',{staticClass:"col-sm-6"},[_c('h2',[_vm._v("Full Example")]),_c('div',{staticClass:"code-highlight",domProps:{"innerHTML":_vm._s(_vm.getComponentExampleHtml(component))}})])])])}),0)]),_vm._m(3)])} | ||
@@ -183,3 +509,3 @@ var staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('thead',[_c('tr',[_c('th',[_vm._v("Name")]),_c('th',[_vm._v("Type")]),_c('th',[_vm._v("Default Value")]),_c('th',[_vm._v("Example")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h2',[_vm._v("Events ("),_c('a',{attrs:{"href":"https://vuejs.org/v2/api/#vm-emit","target":"_blank"}},[_vm._v("Vue Docs")]),_vm._v(")")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('thead',[_c('tr',[_c('th',[_vm._v("Name")]),_c('th',[_vm._v("Selector")]),_c('th',[_vm._v("On")]),_c('th',[_vm._v("Example Value")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"alert alert-info d-flex"},[_c('i',{staticClass:"fas fa-exclamation-triangle fa-2x mr-4"}),_c('div',[_c('h2',[_vm._v("If you're building a new Vue component and you want it to be auto-documented here")]),_c('div',[_c('p',[_c('span',{staticClass:"badge badge-danger"},[_vm._v("Required")]),_vm._v(" The component must have it's properties defined with "),_c('code',[_vm._v("type")]),_vm._v(" and "),_c('code',[_vm._v("default")]),_vm._v(" properties, see "),_c('a',{attrs:{"href":"https://vuejs.org/v2/guide/components-props.html#Prop-Validation","target":"_blank"}},[_vm._v("Prop Validation")])]),_c('p',[_c('span',{staticClass:"badge badge-secondary"},[_vm._v("Optional")]),_vm._v(" The component maybe also include a top level "),_c('code',[_vm._v("meta")]),_vm._v(" property with slot and event availability, ex.\n"),_c('code',{staticStyle:{"white-space":"pre"}},[_vm._v("\nmeta: {\nslots: {\n default: {\n type: 'component',\n valid: ['ComponentNameOne', 'ComponentNameTwo'],\n ],\n named: [{\n name: 'filters',\n type: 'component',\n valid: ['OtherComponentName'],\n }],\n},\nevents: [{\n name: 'date-selected',\n selector: '.dates li',\n on: 'click',\n example: '2019-02-11',\n}],\n},\n")])]),_c('p',[_c('span',{staticClass:"badge badge-secondary"},[_vm._v("Optional")]),_vm._v(" The component's properties may also include an additional "),_c('code',[_vm._v("meta")]),_vm._v(" property in the property definition, ex.\n"),_c('code',{staticStyle:{"white-space":"pre"}},[_vm._v("\nmeta: {\nrequired: [true|false],\nexample: 'Example implementation code',\ndeprecated: 'Deprecation note that will appear on hover',\n},\n")])])])])])}] | ||
// CONCATENATED MODULE: ./src/VueDocumenter.vue?vue&type=template&id=7edd7376&scoped=true& | ||
// CONCATENATED MODULE: ./src/VueDocumenter.vue?vue&type=template&id=1e6e30cc&scoped=true& | ||
@@ -342,8 +668,4 @@ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/VueDocumenter.vue?vue&type=script&lang=js& | ||
loadComponents() { | ||
this.log('loadComponents()'); | ||
const components = this.$slots.default.filter(vnode => vnode.tag !== undefined); | ||
this.log('Components found', components); | ||
if (!components) { | ||
@@ -441,4 +763,2 @@ return []; | ||
loadProperties(vnode) { | ||
this.log('loadProperties()', vnode); | ||
if (!vnode) { | ||
@@ -453,4 +773,2 @@ return false; | ||
this.log('Properties found', propertyKeys); | ||
for (let i = 0; i < propertyKeys.length; i += 1) { | ||
@@ -550,4 +868,2 @@ const item = propertyKeys[i]; | ||
this.log(properties); | ||
return properties; | ||
@@ -568,4 +884,4 @@ }, | ||
/* harmony default export */ var src_VueDocumentervue_type_script_lang_js_ = (VueDocumentervue_type_script_lang_js_); | ||
// EXTERNAL MODULE: ./src/VueDocumenter.vue?vue&type=style&index=0&id=7edd7376&lang=scss&scoped=true& | ||
var VueDocumentervue_type_style_index_0_id_7edd7376_lang_scss_scoped_true_ = __webpack_require__("e677"); | ||
// EXTERNAL MODULE: ./src/VueDocumenter.vue?vue&type=style&index=0&id=1e6e30cc&lang=scss&scoped=true& | ||
var VueDocumentervue_type_style_index_0_id_1e6e30cc_lang_scss_scoped_true_ = __webpack_require__("955d"); | ||
@@ -682,3 +998,3 @@ // CONCATENATED MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js | ||
null, | ||
"7edd7376", | ||
"1e6e30cc", | ||
null | ||
@@ -689,16 +1005,55 @@ | ||
/* harmony default export */ var VueDocumenter = (component.exports); | ||
// CONCATENATED MODULE: ./src/index.js | ||
// CONCATENATED MODULE: /Users/ianjohnson/.nvm/versions/node/v10.5.0/lib/node_modules/@vue/cli-service/lib/commands/build/entry-lib.js | ||
/* harmony default export */ var src = (VueDocumenter); | ||
// CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js | ||
/* harmony default export */ var entry_lib = __webpack_exports__["default"] = (VueDocumenter); | ||
/* harmony default export */ var entry_lib = __webpack_exports__["default"] = (src); | ||
/***/ }), | ||
/***/ "e165": | ||
/***/ (function(module, exports) { | ||
// document.currentScript polyfill by Adam Miller | ||
// MIT license | ||
(function(document){ | ||
var currentScript = "currentScript", | ||
scripts = document.getElementsByTagName('script'); // Live NodeList collection | ||
// If browser needs currentScript polyfill, add get currentScript() to the document object | ||
if (!(currentScript in document)) { | ||
Object.defineProperty(document, currentScript, { | ||
get: function(){ | ||
// IE 6-10 supports script readyState | ||
// IE 10+ support stack trace | ||
try { throw new Error(); } | ||
catch (err) { | ||
// Find the second match for the "at" string to get file src url from stack. | ||
// Specifically works with the format of stack traces in IE. | ||
var i, res = ((/.*at [^\(]*\((.*):.+:.+\)$/ig).exec(err.stack) || [false])[1]; | ||
// For all scripts on the page, if src matches or if ready state is interactive, return the script tag | ||
for(i in scripts){ | ||
if(scripts[i].src == res || scripts[i].readyState == "interactive"){ | ||
return scripts[i]; | ||
} | ||
} | ||
// If no match, return null | ||
return null; | ||
} | ||
} | ||
}); | ||
} | ||
})(document); | ||
/***/ }) | ||
/******/ }); | ||
/******/ })["default"]; | ||
//# sourceMappingURL=vue-documenter.common.js.map |
@@ -94,3 +94,3 @@ (function webpackUniversalModuleDefinition(root, factory) { | ||
/******/ // Load entry module and return exports | ||
/******/ return __webpack_require__(__webpack_require__.s = "fb15"); | ||
/******/ return __webpack_require__(__webpack_require__.s = "980f"); | ||
/******/ }) | ||
@@ -100,70 +100,396 @@ /************************************************************************/ | ||
/***/ "230b": | ||
/***/ "02b5": | ||
/***/ (function(module, exports, __webpack_require__) { | ||
// extracted by mini-css-extract-plugin | ||
// style-loader: Adds some css to the DOM by adding a <style> tag | ||
// load the styles | ||
var content = __webpack_require__("19d8"); | ||
if(typeof content === 'string') content = [[module.i, content, '']]; | ||
if(content.locals) module.exports = content.locals; | ||
// add the styles to the DOM | ||
var add = __webpack_require__("499e").default | ||
var update = add("7fd1a97e", content, true, {"sourceMap":false,"shadowMode":false}); | ||
/***/ }), | ||
/***/ "e677": | ||
/***/ (function(module, __webpack_exports__, __webpack_require__) { | ||
/***/ "19d8": | ||
/***/ (function(module, exports, __webpack_require__) { | ||
"use strict"; | ||
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_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_sass_loader_lib_loader_js_ref_8_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_VueDocumenter_vue_vue_type_style_index_0_id_7edd7376_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("230b"); | ||
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_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_sass_loader_lib_loader_js_ref_8_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_VueDocumenter_vue_vue_type_style_index_0_id_7edd7376_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_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_sass_loader_lib_loader_js_ref_8_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_VueDocumenter_vue_vue_type_style_index_0_id_7edd7376_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__); | ||
/* unused harmony reexport * */ | ||
/* unused harmony default export */ var _unused_webpack_default_export = (_node_modules_mini_css_extract_plugin_dist_loader_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_sass_loader_lib_loader_js_ref_8_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_VueDocumenter_vue_vue_type_style_index_0_id_7edd7376_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default.a); | ||
exports = module.exports = __webpack_require__("2350")(false); | ||
// imports | ||
// module | ||
exports.push([module.i, "h2[data-v-1e6e30cc]{margin-top:1rem}.alert h2[data-v-1e6e30cc]{margin-top:.25rem;margin-bottom:1rem}.indent[data-v-1e6e30cc]{margin-left:2rem}.code-highlight[data-v-1e6e30cc]{background:#f5f2f0;color:#999;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;overflow-x:scroll;padding:1em;text-shadow:0 1px #fff;white-space:nowrap}.code-highlight[data-v-1e6e30cc] .property,.code-highlight[data-v-1e6e30cc] .tag,.code-highlight[data-v-1e6e30cc] .value{display:inline-block}.code-highlight[data-v-1e6e30cc] .tag{color:#905}.code-highlight[data-v-1e6e30cc] .property{color:#690;margin-left:2em}.code-highlight[data-v-1e6e30cc] .value{color:#07a}.code-highlight[data-v-1e6e30cc] .slot{margin-left:2em}.code-highlight[data-v-1e6e30cc] .slot .property{margin-left:0}.code-highlight[data-v-1e6e30cc] .slot .slot-contents{margin-left:4em}", ""]); | ||
// exports | ||
/***/ }), | ||
/***/ "f6fd": | ||
/***/ "2350": | ||
/***/ (function(module, exports) { | ||
// document.currentScript polyfill by Adam Miller | ||
/* | ||
MIT License http://www.opensource.org/licenses/mit-license.php | ||
Author Tobias Koppers @sokra | ||
*/ | ||
// css base code, injected by the css-loader | ||
module.exports = function(useSourceMap) { | ||
var list = []; | ||
// MIT license | ||
// return the list of modules as css string | ||
list.toString = function toString() { | ||
return this.map(function (item) { | ||
var content = cssWithMappingToString(item, useSourceMap); | ||
if(item[2]) { | ||
return "@media " + item[2] + "{" + content + "}"; | ||
} else { | ||
return content; | ||
} | ||
}).join(""); | ||
}; | ||
(function(document){ | ||
var currentScript = "currentScript", | ||
scripts = document.getElementsByTagName('script'); // Live NodeList collection | ||
// import a list of modules into the list | ||
list.i = function(modules, mediaQuery) { | ||
if(typeof modules === "string") | ||
modules = [[null, modules, ""]]; | ||
var alreadyImportedModules = {}; | ||
for(var i = 0; i < this.length; i++) { | ||
var id = this[i][0]; | ||
if(typeof id === "number") | ||
alreadyImportedModules[id] = true; | ||
} | ||
for(i = 0; i < modules.length; i++) { | ||
var item = modules[i]; | ||
// skip already imported module | ||
// this implementation is not 100% perfect for weird media query combinations | ||
// when a module is imported multiple times with different media queries. | ||
// I hope this will never occur (Hey this way we have smaller bundles) | ||
if(typeof item[0] !== "number" || !alreadyImportedModules[item[0]]) { | ||
if(mediaQuery && !item[2]) { | ||
item[2] = mediaQuery; | ||
} else if(mediaQuery) { | ||
item[2] = "(" + item[2] + ") and (" + mediaQuery + ")"; | ||
} | ||
list.push(item); | ||
} | ||
} | ||
}; | ||
return list; | ||
}; | ||
// If browser needs currentScript polyfill, add get currentScript() to the document object | ||
if (!(currentScript in document)) { | ||
Object.defineProperty(document, currentScript, { | ||
get: function(){ | ||
function cssWithMappingToString(item, useSourceMap) { | ||
var content = item[1] || ''; | ||
var cssMapping = item[3]; | ||
if (!cssMapping) { | ||
return content; | ||
} | ||
// IE 6-10 supports script readyState | ||
// IE 10+ support stack trace | ||
try { throw new Error(); } | ||
catch (err) { | ||
if (useSourceMap && typeof btoa === 'function') { | ||
var sourceMapping = toComment(cssMapping); | ||
var sourceURLs = cssMapping.sources.map(function (source) { | ||
return '/*# sourceURL=' + cssMapping.sourceRoot + source + ' */' | ||
}); | ||
// Find the second match for the "at" string to get file src url from stack. | ||
// Specifically works with the format of stack traces in IE. | ||
var i, res = ((/.*at [^\(]*\((.*):.+:.+\)$/ig).exec(err.stack) || [false])[1]; | ||
return [content].concat(sourceURLs).concat([sourceMapping]).join('\n'); | ||
} | ||
// For all scripts on the page, if src matches or if ready state is interactive, return the script tag | ||
for(i in scripts){ | ||
if(scripts[i].src == res || scripts[i].readyState == "interactive"){ | ||
return scripts[i]; | ||
} | ||
} | ||
return [content].join('\n'); | ||
} | ||
// If no match, return null | ||
return null; | ||
// Adapted from convert-source-map (MIT) | ||
function toComment(sourceMap) { | ||
// eslint-disable-next-line no-undef | ||
var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))); | ||
var data = 'sourceMappingURL=data:application/json;charset=utf-8;base64,' + base64; | ||
return '/*# ' + data + ' */'; | ||
} | ||
/***/ }), | ||
/***/ "499e": | ||
/***/ (function(module, __webpack_exports__, __webpack_require__) { | ||
"use strict"; | ||
__webpack_require__.r(__webpack_exports__); | ||
// CONCATENATED MODULE: ./node_modules/vue-style-loader/lib/listToStyles.js | ||
/** | ||
* Translates the list format produced by css-loader into something | ||
* easier to manipulate. | ||
*/ | ||
function listToStyles (parentId, list) { | ||
var styles = [] | ||
var newStyles = {} | ||
for (var i = 0; i < list.length; i++) { | ||
var item = list[i] | ||
var id = item[0] | ||
var css = item[1] | ||
var media = item[2] | ||
var sourceMap = item[3] | ||
var part = { | ||
id: parentId + ':' + i, | ||
css: css, | ||
media: media, | ||
sourceMap: sourceMap | ||
} | ||
if (!newStyles[id]) { | ||
styles.push(newStyles[id] = { id: id, parts: [part] }) | ||
} else { | ||
newStyles[id].parts.push(part) | ||
} | ||
} | ||
return styles | ||
} | ||
// CONCATENATED MODULE: ./node_modules/vue-style-loader/lib/addStylesClient.js | ||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return addStylesClient; }); | ||
/* | ||
MIT License http://www.opensource.org/licenses/mit-license.php | ||
Author Tobias Koppers @sokra | ||
Modified by Evan You @yyx990803 | ||
*/ | ||
var hasDocument = typeof document !== 'undefined' | ||
if (typeof DEBUG !== 'undefined' && DEBUG) { | ||
if (!hasDocument) { | ||
throw new Error( | ||
'vue-style-loader cannot be used in a non-browser environment. ' + | ||
"Use { target: 'node' } in your Webpack config to indicate a server-rendering environment." | ||
) } | ||
} | ||
/* | ||
type StyleObject = { | ||
id: number; | ||
parts: Array<StyleObjectPart> | ||
} | ||
type StyleObjectPart = { | ||
css: string; | ||
media: string; | ||
sourceMap: ?string | ||
} | ||
*/ | ||
var stylesInDom = {/* | ||
[id: number]: { | ||
id: number, | ||
refs: number, | ||
parts: Array<(obj?: StyleObjectPart) => void> | ||
} | ||
*/} | ||
var head = hasDocument && (document.head || document.getElementsByTagName('head')[0]) | ||
var singletonElement = null | ||
var singletonCounter = 0 | ||
var isProduction = false | ||
var noop = function () {} | ||
var options = null | ||
var ssrIdKey = 'data-vue-ssr-id' | ||
// Force single-tag solution on IE6-9, which has a hard limit on the # of <style> | ||
// tags it will allow on a page | ||
var isOldIE = typeof navigator !== 'undefined' && /msie [6-9]\b/.test(navigator.userAgent.toLowerCase()) | ||
function addStylesClient (parentId, list, _isProduction, _options) { | ||
isProduction = _isProduction | ||
options = _options || {} | ||
var styles = listToStyles(parentId, list) | ||
addStylesToDom(styles) | ||
return function update (newList) { | ||
var mayRemove = [] | ||
for (var i = 0; i < styles.length; i++) { | ||
var item = styles[i] | ||
var domStyle = stylesInDom[item.id] | ||
domStyle.refs-- | ||
mayRemove.push(domStyle) | ||
} | ||
if (newList) { | ||
styles = listToStyles(parentId, newList) | ||
addStylesToDom(styles) | ||
} else { | ||
styles = [] | ||
} | ||
for (var i = 0; i < mayRemove.length; i++) { | ||
var domStyle = mayRemove[i] | ||
if (domStyle.refs === 0) { | ||
for (var j = 0; j < domStyle.parts.length; j++) { | ||
domStyle.parts[j]() | ||
} | ||
delete stylesInDom[domStyle.id] | ||
} | ||
}); | ||
} | ||
} | ||
})(document); | ||
} | ||
function addStylesToDom (styles /* Array<StyleObject> */) { | ||
for (var i = 0; i < styles.length; i++) { | ||
var item = styles[i] | ||
var domStyle = stylesInDom[item.id] | ||
if (domStyle) { | ||
domStyle.refs++ | ||
for (var j = 0; j < domStyle.parts.length; j++) { | ||
domStyle.parts[j](item.parts[j]) | ||
} | ||
for (; j < item.parts.length; j++) { | ||
domStyle.parts.push(addStyle(item.parts[j])) | ||
} | ||
if (domStyle.parts.length > item.parts.length) { | ||
domStyle.parts.length = item.parts.length | ||
} | ||
} else { | ||
var parts = [] | ||
for (var j = 0; j < item.parts.length; j++) { | ||
parts.push(addStyle(item.parts[j])) | ||
} | ||
stylesInDom[item.id] = { id: item.id, refs: 1, parts: parts } | ||
} | ||
} | ||
} | ||
function createStyleElement () { | ||
var styleElement = document.createElement('style') | ||
styleElement.type = 'text/css' | ||
head.appendChild(styleElement) | ||
return styleElement | ||
} | ||
function addStyle (obj /* StyleObjectPart */) { | ||
var update, remove | ||
var styleElement = document.querySelector('style[' + ssrIdKey + '~="' + obj.id + '"]') | ||
if (styleElement) { | ||
if (isProduction) { | ||
// has SSR styles and in production mode. | ||
// simply do nothing. | ||
return noop | ||
} else { | ||
// has SSR styles but in dev mode. | ||
// for some reason Chrome can't handle source map in server-rendered | ||
// style tags - source maps in <style> only works if the style tag is | ||
// created and inserted dynamically. So we remove the server rendered | ||
// styles and inject new ones. | ||
styleElement.parentNode.removeChild(styleElement) | ||
} | ||
} | ||
if (isOldIE) { | ||
// use singleton mode for IE9. | ||
var styleIndex = singletonCounter++ | ||
styleElement = singletonElement || (singletonElement = createStyleElement()) | ||
update = applyToSingletonTag.bind(null, styleElement, styleIndex, false) | ||
remove = applyToSingletonTag.bind(null, styleElement, styleIndex, true) | ||
} else { | ||
// use multi-style-tag mode in all other cases | ||
styleElement = createStyleElement() | ||
update = applyToTag.bind(null, styleElement) | ||
remove = function () { | ||
styleElement.parentNode.removeChild(styleElement) | ||
} | ||
} | ||
update(obj) | ||
return function updateStyle (newObj /* StyleObjectPart */) { | ||
if (newObj) { | ||
if (newObj.css === obj.css && | ||
newObj.media === obj.media && | ||
newObj.sourceMap === obj.sourceMap) { | ||
return | ||
} | ||
update(obj = newObj) | ||
} else { | ||
remove() | ||
} | ||
} | ||
} | ||
var replaceText = (function () { | ||
var textStore = [] | ||
return function (index, replacement) { | ||
textStore[index] = replacement | ||
return textStore.filter(Boolean).join('\n') | ||
} | ||
})() | ||
function applyToSingletonTag (styleElement, index, remove, obj) { | ||
var css = remove ? '' : obj.css | ||
if (styleElement.styleSheet) { | ||
styleElement.styleSheet.cssText = replaceText(index, css) | ||
} else { | ||
var cssNode = document.createTextNode(css) | ||
var childNodes = styleElement.childNodes | ||
if (childNodes[index]) styleElement.removeChild(childNodes[index]) | ||
if (childNodes.length) { | ||
styleElement.insertBefore(cssNode, childNodes[index]) | ||
} else { | ||
styleElement.appendChild(cssNode) | ||
} | ||
} | ||
} | ||
function applyToTag (styleElement, obj) { | ||
var css = obj.css | ||
var media = obj.media | ||
var sourceMap = obj.sourceMap | ||
if (media) { | ||
styleElement.setAttribute('media', media) | ||
} | ||
if (options.ssrId) { | ||
styleElement.setAttribute(ssrIdKey, obj.id) | ||
} | ||
if (sourceMap) { | ||
// https://developer.chrome.com/devtools/docs/javascript-debugging | ||
// this makes source maps inside style tags work properly in Chrome | ||
css += '\n/*# sourceURL=' + sourceMap.sources[0] + ' */' | ||
// http://stackoverflow.com/a/26603875 | ||
css += '\n/*# sourceMappingURL=data:application/json;base64,' + btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))) + ' */' | ||
} | ||
if (styleElement.styleSheet) { | ||
styleElement.styleSheet.cssText = css | ||
} else { | ||
while (styleElement.firstChild) { | ||
styleElement.removeChild(styleElement.firstChild) | ||
} | ||
styleElement.appendChild(document.createTextNode(css)) | ||
} | ||
} | ||
/***/ }), | ||
/***/ "fb15": | ||
/***/ "955d": | ||
/***/ (function(module, __webpack_exports__, __webpack_require__) { | ||
"use strict"; | ||
/* 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_nvm_versions_node_v10_5_0_lib_node_modules_vue_cli_service_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_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_VueDocumenter_vue_vue_type_style_index_0_id_1e6e30cc_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("02b5"); | ||
/* 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_nvm_versions_node_v10_5_0_lib_node_modules_vue_cli_service_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_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_VueDocumenter_vue_vue_type_style_index_0_id_1e6e30cc_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_nvm_versions_node_v10_5_0_lib_node_modules_vue_cli_service_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_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_VueDocumenter_vue_vue_type_style_index_0_id_1e6e30cc_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__); | ||
/* unused harmony reexport * */ | ||
/* unused harmony default export */ var _unused_webpack_default_export = (_node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_nvm_versions_node_v10_5_0_lib_node_modules_vue_cli_service_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_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_VueDocumenter_vue_vue_type_style_index_0_id_1e6e30cc_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default.a); | ||
/***/ }), | ||
/***/ "980f": | ||
/***/ (function(module, __webpack_exports__, __webpack_require__) { | ||
"use strict"; | ||
__webpack_require__.r(__webpack_exports__); | ||
// CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js | ||
// CONCATENATED MODULE: /Users/ianjohnson/.nvm/versions/node/v10.5.0/lib/node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js | ||
// This file is imported into lib/wc client bundles. | ||
@@ -173,3 +499,3 @@ | ||
if (true) { | ||
__webpack_require__("f6fd") | ||
__webpack_require__("e165") | ||
} | ||
@@ -186,3 +512,3 @@ | ||
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"fc4fac74-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/VueDocumenter.vue?vue&type=template&id=7edd7376&scoped=true& | ||
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"cdceb08a-vue-loader-template"}!/Users/ianjohnson/.nvm/versions/node/v10.5.0/lib/node_modules/@vue/cli-service/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/VueDocumenter.vue?vue&type=template&id=1e6e30cc&scoped=true& | ||
var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticStyle:{"display":"none"}},[_vm._t("default")],2),_c('div',{staticClass:"row"},[_c('div',{staticClass:"col-sm-3"},[_c('div',{staticClass:"card card-body"},[_c('h2',{staticClass:"mt-0"},[_vm._v("Components")]),_c('ul',_vm._l((_vm.loadedComponents),function(component){return _c('li',{key:("table-of-contents-" + (component.name))},[_c('a',{attrs:{"href":"#{component.name}"}},[_vm._v(_vm._s(component.name))])])}),0)])]),_c('div',{staticClass:"col-sm-9"},_vm._l((_vm.loadedComponents),function(component){return _c('div',{key:("component-" + (component.name)),staticClass:"card card-body mb-5"},[_c('h1',{attrs:{"id":_vm.getKebabCaseFromCamelCase(component.name)}},[_vm._v("<"+_vm._s(_vm.getKebabCaseFromCamelCase(component.name))+">")]),_c('h2',[_vm._v("Properties")]),_c('div',{staticClass:"table-responsive mb-3"},[_c('table',{staticClass:"table table-striped"},[_vm._m(0,true),_c('tbody',_vm._l((component.properties),function(property){return _c('tr',{key:("property-" + (property.name)),class:{ 'deprecated': property.deprecated }},[_c('td',{staticStyle:{"white-space":"nowrap"}},[_vm._v("\n "+_vm._s(property.type !== 'string' ? ':' : '')+_vm._s(property.name)+"\n "),(property.required)?_c('span',{staticClass:"badge badge-danger",attrs:{"title":property.required}},[_vm._v("Required")]):_vm._e(),(property.deprecated)?_c('span',{staticClass:"badge badge-warning",attrs:{"title":property.deprecated,"data-tippy":""}},[_vm._v("Deprecated "),_c('i',{staticClass:"fas fa-question-circle"})]):_vm._e()]),_c('td',{staticStyle:{"white-space":"nowrap"}},[_vm._v(_vm._s(property.type))]),_c('td',{staticStyle:{"white-space":"nowrap"}},[_vm._v(_vm._s(property.defaultValue))]),_c('td',[_c('code',[_vm._v(_vm._s(property.example))])])])}),0)])]),_vm._m(1,true),_c('div',{staticClass:"row mb-3"},[_c('div',{staticClass:"col"},[(component.events)?_c('div',{staticClass:"table-responsive"},[_c('table',{staticClass:"table table-striped"},[_vm._m(2,true),_c('tbody',_vm._l((component.events),function(event){return _c('tr',{key:("event-" + (event.name))},[_c('td',{staticStyle:{"white-space":"nowrap"}},[_vm._v(_vm._s(event.name))]),_c('td',{staticStyle:{"white-space":"nowrap"}},[_vm._v(_vm._s(event.selector))]),_c('td',{staticStyle:{"white-space":"nowrap"}},[_vm._v(_vm._s(event.on))]),_c('td',{staticStyle:{"white-space":"nowrap"}},[_vm._v(_vm._s(event.example))])])}),0)])]):_c('h3',[_vm._v("None")])])]),_c('div',{staticClass:"row"},[_c('div',{staticClass:"col-sm-6"},[_c('h2',[_vm._v("Minimal Example")]),_c('div',{staticClass:"code-highlight",domProps:{"innerHTML":_vm._s(_vm.getComponentExampleHtml(component, { onlyRequired: true }))}})]),_c('div',{staticClass:"col-sm-6"},[_c('h2',[_vm._v("Full Example")]),_c('div',{staticClass:"code-highlight",domProps:{"innerHTML":_vm._s(_vm.getComponentExampleHtml(component))}})])])])}),0)]),_vm._m(3)])} | ||
@@ -192,3 +518,3 @@ var staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('thead',[_c('tr',[_c('th',[_vm._v("Name")]),_c('th',[_vm._v("Type")]),_c('th',[_vm._v("Default Value")]),_c('th',[_vm._v("Example")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h2',[_vm._v("Events ("),_c('a',{attrs:{"href":"https://vuejs.org/v2/api/#vm-emit","target":"_blank"}},[_vm._v("Vue Docs")]),_vm._v(")")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('thead',[_c('tr',[_c('th',[_vm._v("Name")]),_c('th',[_vm._v("Selector")]),_c('th',[_vm._v("On")]),_c('th',[_vm._v("Example Value")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"alert alert-info d-flex"},[_c('i',{staticClass:"fas fa-exclamation-triangle fa-2x mr-4"}),_c('div',[_c('h2',[_vm._v("If you're building a new Vue component and you want it to be auto-documented here")]),_c('div',[_c('p',[_c('span',{staticClass:"badge badge-danger"},[_vm._v("Required")]),_vm._v(" The component must have it's properties defined with "),_c('code',[_vm._v("type")]),_vm._v(" and "),_c('code',[_vm._v("default")]),_vm._v(" properties, see "),_c('a',{attrs:{"href":"https://vuejs.org/v2/guide/components-props.html#Prop-Validation","target":"_blank"}},[_vm._v("Prop Validation")])]),_c('p',[_c('span',{staticClass:"badge badge-secondary"},[_vm._v("Optional")]),_vm._v(" The component maybe also include a top level "),_c('code',[_vm._v("meta")]),_vm._v(" property with slot and event availability, ex.\n"),_c('code',{staticStyle:{"white-space":"pre"}},[_vm._v("\nmeta: {\nslots: {\n default: {\n type: 'component',\n valid: ['ComponentNameOne', 'ComponentNameTwo'],\n ],\n named: [{\n name: 'filters',\n type: 'component',\n valid: ['OtherComponentName'],\n }],\n},\nevents: [{\n name: 'date-selected',\n selector: '.dates li',\n on: 'click',\n example: '2019-02-11',\n}],\n},\n")])]),_c('p',[_c('span',{staticClass:"badge badge-secondary"},[_vm._v("Optional")]),_vm._v(" The component's properties may also include an additional "),_c('code',[_vm._v("meta")]),_vm._v(" property in the property definition, ex.\n"),_c('code',{staticStyle:{"white-space":"pre"}},[_vm._v("\nmeta: {\nrequired: [true|false],\nexample: 'Example implementation code',\ndeprecated: 'Deprecation note that will appear on hover',\n},\n")])])])])])}] | ||
// CONCATENATED MODULE: ./src/VueDocumenter.vue?vue&type=template&id=7edd7376&scoped=true& | ||
// CONCATENATED MODULE: ./src/VueDocumenter.vue?vue&type=template&id=1e6e30cc&scoped=true& | ||
@@ -351,8 +677,4 @@ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/VueDocumenter.vue?vue&type=script&lang=js& | ||
loadComponents() { | ||
this.log('loadComponents()'); | ||
const components = this.$slots.default.filter(vnode => vnode.tag !== undefined); | ||
this.log('Components found', components); | ||
if (!components) { | ||
@@ -450,4 +772,2 @@ return []; | ||
loadProperties(vnode) { | ||
this.log('loadProperties()', vnode); | ||
if (!vnode) { | ||
@@ -462,4 +782,2 @@ return false; | ||
this.log('Properties found', propertyKeys); | ||
for (let i = 0; i < propertyKeys.length; i += 1) { | ||
@@ -559,4 +877,2 @@ const item = propertyKeys[i]; | ||
this.log(properties); | ||
return properties; | ||
@@ -577,4 +893,4 @@ }, | ||
/* harmony default export */ var src_VueDocumentervue_type_script_lang_js_ = (VueDocumentervue_type_script_lang_js_); | ||
// EXTERNAL MODULE: ./src/VueDocumenter.vue?vue&type=style&index=0&id=7edd7376&lang=scss&scoped=true& | ||
var VueDocumentervue_type_style_index_0_id_7edd7376_lang_scss_scoped_true_ = __webpack_require__("e677"); | ||
// EXTERNAL MODULE: ./src/VueDocumenter.vue?vue&type=style&index=0&id=1e6e30cc&lang=scss&scoped=true& | ||
var VueDocumentervue_type_style_index_0_id_1e6e30cc_lang_scss_scoped_true_ = __webpack_require__("955d"); | ||
@@ -691,3 +1007,3 @@ // CONCATENATED MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js | ||
null, | ||
"7edd7376", | ||
"1e6e30cc", | ||
null | ||
@@ -698,17 +1014,56 @@ | ||
/* harmony default export */ var VueDocumenter = (component.exports); | ||
// CONCATENATED MODULE: ./src/index.js | ||
// CONCATENATED MODULE: /Users/ianjohnson/.nvm/versions/node/v10.5.0/lib/node_modules/@vue/cli-service/lib/commands/build/entry-lib.js | ||
/* harmony default export */ var src = (VueDocumenter); | ||
// CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js | ||
/* harmony default export */ var entry_lib = __webpack_exports__["default"] = (VueDocumenter); | ||
/* harmony default export */ var entry_lib = __webpack_exports__["default"] = (src); | ||
/***/ }), | ||
/***/ "e165": | ||
/***/ (function(module, exports) { | ||
// document.currentScript polyfill by Adam Miller | ||
// MIT license | ||
(function(document){ | ||
var currentScript = "currentScript", | ||
scripts = document.getElementsByTagName('script'); // Live NodeList collection | ||
// If browser needs currentScript polyfill, add get currentScript() to the document object | ||
if (!(currentScript in document)) { | ||
Object.defineProperty(document, currentScript, { | ||
get: function(){ | ||
// IE 6-10 supports script readyState | ||
// IE 10+ support stack trace | ||
try { throw new Error(); } | ||
catch (err) { | ||
// Find the second match for the "at" string to get file src url from stack. | ||
// Specifically works with the format of stack traces in IE. | ||
var i, res = ((/.*at [^\(]*\((.*):.+:.+\)$/ig).exec(err.stack) || [false])[1]; | ||
// For all scripts on the page, if src matches or if ready state is interactive, return the script tag | ||
for(i in scripts){ | ||
if(scripts[i].src == res || scripts[i].readyState == "interactive"){ | ||
return scripts[i]; | ||
} | ||
} | ||
// If no match, return null | ||
return null; | ||
} | ||
} | ||
}); | ||
} | ||
})(document); | ||
/***/ }) | ||
/******/ }); | ||
/******/ })["default"]; | ||
}); | ||
//# sourceMappingURL=vue-documenter.umd.js.map |
@@ -1,2 +0,2 @@ | ||
(function(e,t){"object"===typeof exports&&"object"===typeof module?module.exports=t():"function"===typeof define&&define.amd?define([],t):"object"===typeof exports?exports["vue-documenter"]=t():e["vue-documenter"]=t()})("undefined"!==typeof self?self:this,function(){return function(e){var t={};function n(a){if(t[a])return t[a].exports;var s=t[a]={i:a,l:!1,exports:{}};return e[a].call(s.exports,s,s.exports,n),s.l=!0,s.exports}return n.m=e,n.c=t,n.d=function(e,t,a){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:a})},n.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var a=Object.create(null);if(n.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var s in e)n.d(a,s,function(t){return e[t]}.bind(null,s));return a},n.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s="fb15")}({"230b":function(e,t,n){},e677:function(e,t,n){"use strict";var a=n("230b"),s=n.n(a);s.a},f6fd:function(e,t){(function(e){var t="currentScript",n=e.getElementsByTagName("script");t in e||Object.defineProperty(e,t,{get:function(){try{throw new Error}catch(a){var e,t=(/.*at [^\(]*\((.*):.+:.+\)$/gi.exec(a.stack)||[!1])[1];for(e in n)if(n[e].src==t||"interactive"==n[e].readyState)return n[e];return null}}})})(document)},fb15:function(e,t,n){"use strict";var a;(n.r(t),"undefined"!==typeof window)&&(n("f6fd"),(a=window.document.currentScript)&&(a=a.src.match(/(.+\/)[^\/]+\.js(\?.*)?$/))&&(n.p=a[1]));var s=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[n("div",{staticStyle:{display:"none"}},[e._t("default")],2),n("div",{staticClass:"row"},[n("div",{staticClass:"col-sm-3"},[n("div",{staticClass:"card card-body"},[n("h2",{staticClass:"mt-0"},[e._v("Components")]),n("ul",e._l(e.loadedComponents,function(t){return n("li",{key:"table-of-contents-"+t.name},[n("a",{attrs:{href:"#{component.name}"}},[e._v(e._s(t.name))])])}),0)])]),n("div",{staticClass:"col-sm-9"},e._l(e.loadedComponents,function(t){return n("div",{key:"component-"+t.name,staticClass:"card card-body mb-5"},[n("h1",{attrs:{id:e.getKebabCaseFromCamelCase(t.name)}},[e._v("<"+e._s(e.getKebabCaseFromCamelCase(t.name))+">")]),n("h2",[e._v("Properties")]),n("div",{staticClass:"table-responsive mb-3"},[n("table",{staticClass:"table table-striped"},[e._m(0,!0),n("tbody",e._l(t.properties,function(t){return n("tr",{key:"property-"+t.name,class:{deprecated:t.deprecated}},[n("td",{staticStyle:{"white-space":"nowrap"}},[e._v("\n "+e._s("string"!==t.type?":":"")+e._s(t.name)+"\n "),t.required?n("span",{staticClass:"badge badge-danger",attrs:{title:t.required}},[e._v("Required")]):e._e(),t.deprecated?n("span",{staticClass:"badge badge-warning",attrs:{title:t.deprecated,"data-tippy":""}},[e._v("Deprecated "),n("i",{staticClass:"fas fa-question-circle"})]):e._e()]),n("td",{staticStyle:{"white-space":"nowrap"}},[e._v(e._s(t.type))]),n("td",{staticStyle:{"white-space":"nowrap"}},[e._v(e._s(t.defaultValue))]),n("td",[n("code",[e._v(e._s(t.example))])])])}),0)])]),e._m(1,!0),n("div",{staticClass:"row mb-3"},[n("div",{staticClass:"col"},[t.events?n("div",{staticClass:"table-responsive"},[n("table",{staticClass:"table table-striped"},[e._m(2,!0),n("tbody",e._l(t.events,function(t){return n("tr",{key:"event-"+t.name},[n("td",{staticStyle:{"white-space":"nowrap"}},[e._v(e._s(t.name))]),n("td",{staticStyle:{"white-space":"nowrap"}},[e._v(e._s(t.selector))]),n("td",{staticStyle:{"white-space":"nowrap"}},[e._v(e._s(t.on))]),n("td",{staticStyle:{"white-space":"nowrap"}},[e._v(e._s(t.example))])])}),0)])]):n("h3",[e._v("None")])])]),n("div",{staticClass:"row"},[n("div",{staticClass:"col-sm-6"},[n("h2",[e._v("Minimal Example")]),n("div",{staticClass:"code-highlight",domProps:{innerHTML:e._s(e.getComponentExampleHtml(t,{onlyRequired:!0}))}})]),n("div",{staticClass:"col-sm-6"},[n("h2",[e._v("Full Example")]),n("div",{staticClass:"code-highlight",domProps:{innerHTML:e._s(e.getComponentExampleHtml(t))}})])])])}),0)]),e._m(3)])},o=[function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("thead",[n("tr",[n("th",[e._v("Name")]),n("th",[e._v("Type")]),n("th",[e._v("Default Value")]),n("th",[e._v("Example")])])])},function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("h2",[e._v("Events ("),n("a",{attrs:{href:"https://vuejs.org/v2/api/#vm-emit",target:"_blank"}},[e._v("Vue Docs")]),e._v(")")])},function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("thead",[n("tr",[n("th",[e._v("Name")]),n("th",[e._v("Selector")]),n("th",[e._v("On")]),n("th",[e._v("Example Value")])])])},function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"alert alert-info d-flex"},[n("i",{staticClass:"fas fa-exclamation-triangle fa-2x mr-4"}),n("div",[n("h2",[e._v("If you're building a new Vue component and you want it to be auto-documented here")]),n("div",[n("p",[n("span",{staticClass:"badge badge-danger"},[e._v("Required")]),e._v(" The component must have it's properties defined with "),n("code",[e._v("type")]),e._v(" and "),n("code",[e._v("default")]),e._v(" properties, see "),n("a",{attrs:{href:"https://vuejs.org/v2/guide/components-props.html#Prop-Validation",target:"_blank"}},[e._v("Prop Validation")])]),n("p",[n("span",{staticClass:"badge badge-secondary"},[e._v("Optional")]),e._v(" The component maybe also include a top level "),n("code",[e._v("meta")]),e._v(" property with slot and event availability, ex.\n"),n("code",{staticStyle:{"white-space":"pre"}},[e._v("\nmeta: {\nslots: {\n default: {\n type: 'component',\n valid: ['ComponentNameOne', 'ComponentNameTwo'],\n ],\n named: [{\n name: 'filters',\n type: 'component',\n valid: ['OtherComponentName'],\n }],\n},\nevents: [{\n name: 'date-selected',\n selector: '.dates li',\n on: 'click',\n example: '2019-02-11',\n}],\n},\n")])]),n("p",[n("span",{staticClass:"badge badge-secondary"},[e._v("Optional")]),e._v(" The component's properties may also include an additional "),n("code",[e._v("meta")]),e._v(" property in the property definition, ex.\n"),n("code",{staticStyle:{"white-space":"pre"}},[e._v("\nmeta: {\nrequired: [true|false],\nexample: 'Example implementation code',\ndeprecated: 'Deprecation note that will appear on hover',\n},\n")])])])])])}],r={data(){return{loadedComponents:[]}},mounted(){this.loadComponents()},methods:{loadComponents(){this.log("loadComponents()");const e=this.$slots.default.filter(e=>void 0!==e.tag);if(this.log("Components found",e),!e)return[];for(let t=0;t<e.length;t+=1){const n=this.loadProperties(e[t]),a={name:e[t].componentOptions.tag,properties:[...n],events:e[t].componentInstance.$options.meta&&e[t].componentInstance.$options.meta.events?e[t].componentInstance.$options.meta.events:null,slots:e[t].componentInstance.$options.meta&&e[t].componentInstance.$options.meta.slots?e[t].componentInstance.$options.meta.slots:null};this.loadedComponents.push(a)}return!0},getComponentExampleHtml(e,t=!1){const n=this.getKebabCaseFromCamelCase(e.name),a=t?e.properties&&e.properties.filter(e=>e.required&&!e.deprecated):e.properties&&e.properties.filter(e=>!e.deprecated);let s=a.map(e=>`<span class="property">${"string"===e.type?"":":"}${e.name}</span>="<span class="value">${e.example}</span>"`).join("<br>");s&&(s=`<br>${s}<br>`);let o="";t||(e.slots&&(e.slots.named.length>0&&e.slots.named.forEach(e=>{"component"===e.type&&e.valid.forEach(t=>{const n=this.getKebabCaseFromCamelCase(t);o=`\n ${o}\n <br>\n <div class="slot">\n <template v-slot:${e.name}>\n <br>\n <span class="slot-contents"><${n}></${n}></span>\n <br>\n </template>\n </div>\n `})}),e.slots.default&&(o=`${o}\n <br>\n <div class="slot">\n <<span class="tag">template</span> <span class="property">v-slot:default</span>>\n `,"component"===e.slots.default.type&&e.slots.default.valid.forEach(e=>{const t=this.getKebabCaseFromCamelCase(e);o=`${o}<br><span class="slot-contents"><a href="#${t}"><<span class="tag">${t}</span>></<span class="tag">${t}</span>></a></span>`}),o=`${o}\n <br>\n </<span class="tag">template</span>>\n </div>\n `)),o&&(o=`${o}`));const r=`<<span class="tag">${n}</span>${s}>${o}</<span class="tag">${n}</span>>`;return r},loadProperties(e){if(this.log("loadProperties()",e),!e)return!1;const t=[],n=Object.keys(e.componentInstance.$options.props);n.sort(),this.log("Properties found",n);for(let a=0;a<n.length;a+=1){const s=n[a],o=this.getKebabCaseFromCamelCase(s),r=this.getPropertyType(e.componentInstance.$options.props[s].type);let i=e.componentInstance.$options.props[s].default&&e.componentInstance.$options.props[s].default.toString();const l=e.componentInstance.$options.props[s].meta&&e.componentInstance.$options.props[s].meta.required,p=e.componentInstance.$options.props[s].meta&&e.componentInstance.$options.props[s].meta.deprecated;let c=e.componentInstance.$options.props[s].meta&&e.componentInstance.$options.props[s].meta.example;switch(r){case"array":if(c=c||"[4, 8, 15, 16, 23, 42]",i){const e=i.match(/{\s*return\s*(.*);?\s*}/);e&&void 0!==e[1]&&([,i]=e)}break;case"object":if(c=c||"{ key1: value1, key2: value2 }",i){const e=i.match(/(?:_default|function)\(\)\s*(.*)/);e&&void 0!==e[1]&&([,i]=e)}break;case"string":c=c||"Some text";break;case"function":if(c=c||"(value) => { return value.toUpperCase() }",i){const e=i.match(/{(.*)}/);e&&void 0!==e[1]&&([,i]=e)}break;case"number":c=c||"14";break;case"boolean":c=c||"true";break;default:c=c||""}c=c.replace(/"/g,"'"),t.push({name:o,type:r,defaultValue:i,example:c,required:l,deprecated:p})}return t.length>0&&t.sort((e,t)=>{const n=!!e.required,a=!!t.required;return n===a?e.name>t.name:n!==a&&n&&!a?-1:1}),this.log(t),t},getKebabCaseFromCamelCase(e){return e&&e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()},getPropertyType(e){const t=e.toString().split(" ")[1];return t.substr(0,t.length-2).toLowerCase()}}},i=r;n("e677");function l(e,t,n,a,s,o,r,i){var l,p="function"===typeof e?e.options:e;if(t&&(p.render=t,p.staticRenderFns=n,p._compiled=!0),a&&(p.functional=!0),o&&(p._scopeId="data-v-"+o),r?(l=function(e){e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,e||"undefined"===typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),s&&s.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(r)},p._ssrRegister=l):s&&(l=i?function(){s.call(this,this.$root.$options.shadowRoot)}:s),l)if(p.functional){p._injectStyles=l;var c=p.render;p.render=function(e,t){return l.call(t),c(e,t)}}else{var d=p.beforeCreate;p.beforeCreate=d?[].concat(d,l):[l]}return{exports:e,options:p}}var p=l(i,s,o,!1,null,"7edd7376",null),c=p.exports,d=c;t["default"]=d}})}); | ||
(function(e,t){"object"===typeof exports&&"object"===typeof module?module.exports=t():"function"===typeof define&&define.amd?define([],t):"object"===typeof exports?exports["vue-documenter"]=t():e["vue-documenter"]=t()})("undefined"!==typeof self?self:this,function(){return function(e){var t={};function n(a){if(t[a])return t[a].exports;var o=t[a]={i:a,l:!1,exports:{}};return e[a].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,a){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:a})},n.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var a=Object.create(null);if(n.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(a,o,function(t){return e[t]}.bind(null,o));return a},n.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s="980f")}({"02b5":function(e,t,n){var a=n("19d8");"string"===typeof a&&(a=[[e.i,a,""]]),a.locals&&(e.exports=a.locals);var o=n("499e").default;o("7fd1a97e",a,!0,{sourceMap:!1,shadowMode:!1})},"19d8":function(e,t,n){t=e.exports=n("2350")(!1),t.push([e.i,"h2[data-v-1e6e30cc]{margin-top:1rem}.alert h2[data-v-1e6e30cc]{margin-top:.25rem;margin-bottom:1rem}.indent[data-v-1e6e30cc]{margin-left:2rem}.code-highlight[data-v-1e6e30cc]{background:#f5f2f0;color:#999;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;overflow-x:scroll;padding:1em;text-shadow:0 1px #fff;white-space:nowrap}.code-highlight[data-v-1e6e30cc] .property,.code-highlight[data-v-1e6e30cc] .tag,.code-highlight[data-v-1e6e30cc] .value{display:inline-block}.code-highlight[data-v-1e6e30cc] .tag{color:#905}.code-highlight[data-v-1e6e30cc] .property{color:#690;margin-left:2em}.code-highlight[data-v-1e6e30cc] .value{color:#07a}.code-highlight[data-v-1e6e30cc] .slot{margin-left:2em}.code-highlight[data-v-1e6e30cc] .slot .property{margin-left:0}.code-highlight[data-v-1e6e30cc] .slot .slot-contents{margin-left:4em}",""])},2350:function(e,t){function n(e,t){var n=e[1]||"",o=e[3];if(!o)return n;if(t&&"function"===typeof btoa){var s=a(o),r=o.sources.map(function(e){return"/*# sourceURL="+o.sourceRoot+e+" */"});return[n].concat(r).concat([s]).join("\n")}return[n].join("\n")}function a(e){var t=btoa(unescape(encodeURIComponent(JSON.stringify(e)))),n="sourceMappingURL=data:application/json;charset=utf-8;base64,"+t;return"/*# "+n+" */"}e.exports=function(e){var t=[];return t.toString=function(){return this.map(function(t){var a=n(t,e);return t[2]?"@media "+t[2]+"{"+a+"}":a}).join("")},t.i=function(e,n){"string"===typeof e&&(e=[[null,e,""]]);for(var a={},o=0;o<this.length;o++){var s=this[o][0];"number"===typeof s&&(a[s]=!0)}for(o=0;o<e.length;o++){var r=e[o];"number"===typeof r[0]&&a[r[0]]||(n&&!r[2]?r[2]=n:n&&(r[2]="("+r[2]+") and ("+n+")"),t.push(r))}},t}},"499e":function(e,t,n){"use strict";function a(e,t){for(var n=[],a={},o=0;o<t.length;o++){var s=t[o],r=s[0],i=s[1],c=s[2],l=s[3],p={id:e+":"+o,css:i,media:c,sourceMap:l};a[r]?a[r].parts.push(p):n.push(a[r]={id:r,parts:[p]})}return n}n.r(t),n.d(t,"default",function(){return f});var o="undefined"!==typeof document;if("undefined"!==typeof DEBUG&&DEBUG&&!o)throw new Error("vue-style-loader cannot be used in a non-browser environment. Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.");var s={},r=o&&(document.head||document.getElementsByTagName("head")[0]),i=null,c=0,l=!1,p=function(){},d=null,u="data-vue-ssr-id",m="undefined"!==typeof navigator&&/msie [6-9]\b/.test(navigator.userAgent.toLowerCase());function f(e,t,n,o){l=n,d=o||{};var r=a(e,t);return v(r),function(t){for(var n=[],o=0;o<r.length;o++){var i=r[o],c=s[i.id];c.refs--,n.push(c)}t?(r=a(e,t),v(r)):r=[];for(o=0;o<n.length;o++){c=n[o];if(0===c.refs){for(var l=0;l<c.parts.length;l++)c.parts[l]();delete s[c.id]}}}}function v(e){for(var t=0;t<e.length;t++){var n=e[t],a=s[n.id];if(a){a.refs++;for(var o=0;o<a.parts.length;o++)a.parts[o](n.parts[o]);for(;o<n.parts.length;o++)a.parts.push(g(n.parts[o]));a.parts.length>n.parts.length&&(a.parts.length=n.parts.length)}else{var r=[];for(o=0;o<n.parts.length;o++)r.push(g(n.parts[o]));s[n.id]={id:n.id,refs:1,parts:r}}}}function h(){var e=document.createElement("style");return e.type="text/css",r.appendChild(e),e}function g(e){var t,n,a=document.querySelector("style["+u+'~="'+e.id+'"]');if(a){if(l)return p;a.parentNode.removeChild(a)}if(m){var o=c++;a=i||(i=h()),t=_.bind(null,a,o,!1),n=_.bind(null,a,o,!0)}else a=h(),t=y.bind(null,a),n=function(){a.parentNode.removeChild(a)};return t(e),function(a){if(a){if(a.css===e.css&&a.media===e.media&&a.sourceMap===e.sourceMap)return;t(e=a)}else n()}}var b=function(){var e=[];return function(t,n){return e[t]=n,e.filter(Boolean).join("\n")}}();function _(e,t,n,a){var o=n?"":a.css;if(e.styleSheet)e.styleSheet.cssText=b(t,o);else{var s=document.createTextNode(o),r=e.childNodes;r[t]&&e.removeChild(r[t]),r.length?e.insertBefore(s,r[t]):e.appendChild(s)}}function y(e,t){var n=t.css,a=t.media,o=t.sourceMap;if(a&&e.setAttribute("media",a),d.ssrId&&e.setAttribute(u,t.id),o&&(n+="\n/*# sourceURL="+o.sources[0]+" */",n+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(o))))+" */"),e.styleSheet)e.styleSheet.cssText=n;else{while(e.firstChild)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}},"955d":function(e,t,n){"use strict";var a=n("02b5"),o=n.n(a);o.a},"980f":function(e,t,n){"use strict";var a;(n.r(t),"undefined"!==typeof window)&&(n("e165"),(a=window.document.currentScript)&&(a=a.src.match(/(.+\/)[^\/]+\.js(\?.*)?$/))&&(n.p=a[1]));var o=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[n("div",{staticStyle:{display:"none"}},[e._t("default")],2),n("div",{staticClass:"row"},[n("div",{staticClass:"col-sm-3"},[n("div",{staticClass:"card card-body"},[n("h2",{staticClass:"mt-0"},[e._v("Components")]),n("ul",e._l(e.loadedComponents,function(t){return n("li",{key:"table-of-contents-"+t.name},[n("a",{attrs:{href:"#{component.name}"}},[e._v(e._s(t.name))])])}),0)])]),n("div",{staticClass:"col-sm-9"},e._l(e.loadedComponents,function(t){return n("div",{key:"component-"+t.name,staticClass:"card card-body mb-5"},[n("h1",{attrs:{id:e.getKebabCaseFromCamelCase(t.name)}},[e._v("<"+e._s(e.getKebabCaseFromCamelCase(t.name))+">")]),n("h2",[e._v("Properties")]),n("div",{staticClass:"table-responsive mb-3"},[n("table",{staticClass:"table table-striped"},[e._m(0,!0),n("tbody",e._l(t.properties,function(t){return n("tr",{key:"property-"+t.name,class:{deprecated:t.deprecated}},[n("td",{staticStyle:{"white-space":"nowrap"}},[e._v("\n "+e._s("string"!==t.type?":":"")+e._s(t.name)+"\n "),t.required?n("span",{staticClass:"badge badge-danger",attrs:{title:t.required}},[e._v("Required")]):e._e(),t.deprecated?n("span",{staticClass:"badge badge-warning",attrs:{title:t.deprecated,"data-tippy":""}},[e._v("Deprecated "),n("i",{staticClass:"fas fa-question-circle"})]):e._e()]),n("td",{staticStyle:{"white-space":"nowrap"}},[e._v(e._s(t.type))]),n("td",{staticStyle:{"white-space":"nowrap"}},[e._v(e._s(t.defaultValue))]),n("td",[n("code",[e._v(e._s(t.example))])])])}),0)])]),e._m(1,!0),n("div",{staticClass:"row mb-3"},[n("div",{staticClass:"col"},[t.events?n("div",{staticClass:"table-responsive"},[n("table",{staticClass:"table table-striped"},[e._m(2,!0),n("tbody",e._l(t.events,function(t){return n("tr",{key:"event-"+t.name},[n("td",{staticStyle:{"white-space":"nowrap"}},[e._v(e._s(t.name))]),n("td",{staticStyle:{"white-space":"nowrap"}},[e._v(e._s(t.selector))]),n("td",{staticStyle:{"white-space":"nowrap"}},[e._v(e._s(t.on))]),n("td",{staticStyle:{"white-space":"nowrap"}},[e._v(e._s(t.example))])])}),0)])]):n("h3",[e._v("None")])])]),n("div",{staticClass:"row"},[n("div",{staticClass:"col-sm-6"},[n("h2",[e._v("Minimal Example")]),n("div",{staticClass:"code-highlight",domProps:{innerHTML:e._s(e.getComponentExampleHtml(t,{onlyRequired:!0}))}})]),n("div",{staticClass:"col-sm-6"},[n("h2",[e._v("Full Example")]),n("div",{staticClass:"code-highlight",domProps:{innerHTML:e._s(e.getComponentExampleHtml(t))}})])])])}),0)]),e._m(3)])},s=[function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("thead",[n("tr",[n("th",[e._v("Name")]),n("th",[e._v("Type")]),n("th",[e._v("Default Value")]),n("th",[e._v("Example")])])])},function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("h2",[e._v("Events ("),n("a",{attrs:{href:"https://vuejs.org/v2/api/#vm-emit",target:"_blank"}},[e._v("Vue Docs")]),e._v(")")])},function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("thead",[n("tr",[n("th",[e._v("Name")]),n("th",[e._v("Selector")]),n("th",[e._v("On")]),n("th",[e._v("Example Value")])])])},function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"alert alert-info d-flex"},[n("i",{staticClass:"fas fa-exclamation-triangle fa-2x mr-4"}),n("div",[n("h2",[e._v("If you're building a new Vue component and you want it to be auto-documented here")]),n("div",[n("p",[n("span",{staticClass:"badge badge-danger"},[e._v("Required")]),e._v(" The component must have it's properties defined with "),n("code",[e._v("type")]),e._v(" and "),n("code",[e._v("default")]),e._v(" properties, see "),n("a",{attrs:{href:"https://vuejs.org/v2/guide/components-props.html#Prop-Validation",target:"_blank"}},[e._v("Prop Validation")])]),n("p",[n("span",{staticClass:"badge badge-secondary"},[e._v("Optional")]),e._v(" The component maybe also include a top level "),n("code",[e._v("meta")]),e._v(" property with slot and event availability, ex.\n"),n("code",{staticStyle:{"white-space":"pre"}},[e._v("\nmeta: {\nslots: {\n default: {\n type: 'component',\n valid: ['ComponentNameOne', 'ComponentNameTwo'],\n ],\n named: [{\n name: 'filters',\n type: 'component',\n valid: ['OtherComponentName'],\n }],\n},\nevents: [{\n name: 'date-selected',\n selector: '.dates li',\n on: 'click',\n example: '2019-02-11',\n}],\n},\n")])]),n("p",[n("span",{staticClass:"badge badge-secondary"},[e._v("Optional")]),e._v(" The component's properties may also include an additional "),n("code",[e._v("meta")]),e._v(" property in the property definition, ex.\n"),n("code",{staticStyle:{"white-space":"pre"}},[e._v("\nmeta: {\nrequired: [true|false],\nexample: 'Example implementation code',\ndeprecated: 'Deprecation note that will appear on hover',\n},\n")])])])])])}],r={data(){return{loadedComponents:[]}},mounted(){this.loadComponents()},methods:{loadComponents(){const e=this.$slots.default.filter(e=>void 0!==e.tag);if(!e)return[];for(let t=0;t<e.length;t+=1){const n=this.loadProperties(e[t]),a={name:e[t].componentOptions.tag,properties:[...n],events:e[t].componentInstance.$options.meta&&e[t].componentInstance.$options.meta.events?e[t].componentInstance.$options.meta.events:null,slots:e[t].componentInstance.$options.meta&&e[t].componentInstance.$options.meta.slots?e[t].componentInstance.$options.meta.slots:null};this.loadedComponents.push(a)}return!0},getComponentExampleHtml(e,t=!1){const n=this.getKebabCaseFromCamelCase(e.name),a=t?e.properties&&e.properties.filter(e=>e.required&&!e.deprecated):e.properties&&e.properties.filter(e=>!e.deprecated);let o=a.map(e=>`<span class="property">${"string"===e.type?"":":"}${e.name}</span>="<span class="value">${e.example}</span>"`).join("<br>");o&&(o=`<br>${o}<br>`);let s="";t||(e.slots&&(e.slots.named.length>0&&e.slots.named.forEach(e=>{"component"===e.type&&e.valid.forEach(t=>{const n=this.getKebabCaseFromCamelCase(t);s=`\n ${s}\n <br>\n <div class="slot">\n <template v-slot:${e.name}>\n <br>\n <span class="slot-contents"><${n}></${n}></span>\n <br>\n </template>\n </div>\n `})}),e.slots.default&&(s=`${s}\n <br>\n <div class="slot">\n <<span class="tag">template</span> <span class="property">v-slot:default</span>>\n `,"component"===e.slots.default.type&&e.slots.default.valid.forEach(e=>{const t=this.getKebabCaseFromCamelCase(e);s=`${s}<br><span class="slot-contents"><a href="#${t}"><<span class="tag">${t}</span>></<span class="tag">${t}</span>></a></span>`}),s=`${s}\n <br>\n </<span class="tag">template</span>>\n </div>\n `)),s&&(s=`${s}`));const r=`<<span class="tag">${n}</span>${o}>${s}</<span class="tag">${n}</span>>`;return r},loadProperties(e){if(!e)return!1;const t=[],n=Object.keys(e.componentInstance.$options.props);n.sort();for(let a=0;a<n.length;a+=1){const o=n[a],s=this.getKebabCaseFromCamelCase(o),r=this.getPropertyType(e.componentInstance.$options.props[o].type);let i=e.componentInstance.$options.props[o].default&&e.componentInstance.$options.props[o].default.toString();const c=e.componentInstance.$options.props[o].meta&&e.componentInstance.$options.props[o].meta.required,l=e.componentInstance.$options.props[o].meta&&e.componentInstance.$options.props[o].meta.deprecated;let p=e.componentInstance.$options.props[o].meta&&e.componentInstance.$options.props[o].meta.example;switch(r){case"array":if(p=p||"[4, 8, 15, 16, 23, 42]",i){const e=i.match(/{\s*return\s*(.*);?\s*}/);e&&void 0!==e[1]&&([,i]=e)}break;case"object":if(p=p||"{ key1: value1, key2: value2 }",i){const e=i.match(/(?:_default|function)\(\)\s*(.*)/);e&&void 0!==e[1]&&([,i]=e)}break;case"string":p=p||"Some text";break;case"function":if(p=p||"(value) => { return value.toUpperCase() }",i){const e=i.match(/{(.*)}/);e&&void 0!==e[1]&&([,i]=e)}break;case"number":p=p||"14";break;case"boolean":p=p||"true";break;default:p=p||""}p=p.replace(/"/g,"'"),t.push({name:s,type:r,defaultValue:i,example:p,required:c,deprecated:l})}return t.length>0&&t.sort((e,t)=>{const n=!!e.required,a=!!t.required;return n===a?e.name>t.name:n!==a&&n&&!a?-1:1}),t},getKebabCaseFromCamelCase(e){return e&&e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()},getPropertyType(e){const t=e.toString().split(" ")[1];return t.substr(0,t.length-2).toLowerCase()}}},i=r;n("955d");function c(e,t,n,a,o,s,r,i){var c,l="function"===typeof e?e.options:e;if(t&&(l.render=t,l.staticRenderFns=n,l._compiled=!0),a&&(l.functional=!0),s&&(l._scopeId="data-v-"+s),r?(c=function(e){e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,e||"undefined"===typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),o&&o.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(r)},l._ssrRegister=c):o&&(c=i?function(){o.call(this,this.$root.$options.shadowRoot)}:o),c)if(l.functional){l._injectStyles=c;var p=l.render;l.render=function(e,t){return c.call(t),p(e,t)}}else{var d=l.beforeCreate;l.beforeCreate=d?[].concat(d,c):[c]}return{exports:e,options:l}}var l=c(i,o,s,!1,null,"1e6e30cc",null),p=l.exports;t["default"]=p},e165:function(e,t){(function(e){var t="currentScript",n=e.getElementsByTagName("script");t in e||Object.defineProperty(e,t,{get:function(){try{throw new Error}catch(a){var e,t=(/.*at [^\(]*\((.*):.+:.+\)$/gi.exec(a.stack)||[!1])[1];for(e in n)if(n[e].src==t||"interactive"==n[e].readyState)return n[e];return null}}})})(document)}})["default"]}); | ||
//# sourceMappingURL=vue-documenter.umd.min.js.map |
{ | ||
"name": "vue-documenter", | ||
"version": "0.0.4", | ||
"version": "0.0.5", | ||
"description": "An automatic Vue component documenter - yes - a component that documents components", | ||
"main": "dist/vue-documenter.common.js", | ||
"module": "dist/vue-documenter.umd.js", | ||
"unpkg": "dist/vue-documenter.common.js", | ||
"scripts": { | ||
@@ -7,0 +9,0 @@ "build": "vue-cli-service build --target lib --name vue-documenter ./src/index.js", |
@@ -1,10 +0,38 @@ | ||
# vue-documenter | ||
An automatic Vue component documenter - yes - a component that documents components | ||
# Vue Documenter | ||
An automatic, living Vue component documenter - yes - a component that documents components, with no build step (ie Webpack or Rollup or extra commands to run, because it's just another component). | ||
# Usage | ||
``` | ||
<vue-documenter> | ||
<your-component-here></your-component-here> | ||
<another-component></another-component> | ||
</vue-documenter> | ||
// YourVueDocumentationPage.vue | ||
<template> | ||
<div> | ||
<vue-documenter> | ||
<some-component></some-component> | ||
<another-component></another-component> | ||
</vue-documenter> | ||
</div> | ||
</template> | ||
<script> | ||
import VueDocumenter from 'vue-documenter'; | ||
import SomeComponent from './components/SomeComponent.vue'; | ||
import AnotherComponent from './components/AnotherComponent.vue'; | ||
export default { | ||
components: { | ||
VueDocumenter, | ||
SomeComponent, | ||
AnotherComponent, | ||
}, | ||
data () { | ||
return {} | ||
} | ||
} | ||
</script> | ||
``` | ||
# Why? | ||
For when you don't always have time to keep secondary documentation updated, or aren't able to roll out something like Storybook for everybody on your team. |
@@ -1,3 +0,28 @@ | ||
import VueDocumenter from './VueDocumenter.vue' | ||
// Import vue component | ||
import VueDocumenter from './VueDocumenter.vue'; | ||
// Declare install function executed by Vue.use() | ||
export function install(Vue) { | ||
if (install.installed) return; | ||
install.installed = true; | ||
Vue.component('VueDocumenter', VueDocumenter); | ||
} | ||
// Create module definition for Vue.use() | ||
const plugin = { | ||
install, | ||
}; | ||
// Auto-install when vue is found (eg. in browser via <script> tag) | ||
let GlobalVue = null; | ||
if (typeof window !== 'undefined') { | ||
GlobalVue = window.Vue; | ||
} else if (typeof global !== 'undefined') { | ||
GlobalVue = global.Vue; | ||
} | ||
if (GlobalVue) { | ||
GlobalVue.use(plugin); | ||
} | ||
// To allow use as module (npm/webpack/etc.) export component | ||
export default VueDocumenter; |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
815911
16373
38