{ "version": 3, "sources": ["../../../assets/lib/bm.js/bm.module.js", "../../../assets/lib/bm.js/components/alert/alert.js", "../../../assets/lib/bm.js/components/common.js", "../../../assets/lib/bm.js/components/breadcrumb/breadcrumb.js", "../../../assets/lib/bm.js/components/button/button.js", "../../../assets/lib/bm.js/components/card/card.js", "../../../assets/lib/bm.js/components/chip/chip.js", "../../../assets/lib/bm.js/components/collapse/collapse.js", "../../../assets/lib/bm.js/components/icon/icon.js", "../../../assets/lib/bm.js/components/input/input.js", "../../../assets/lib/bm.js/components/layout/full-page.js", "../../../assets/lib/bm.js/components/modal/modal.js", "../../../assets/lib/bm.js/components/placeholder/placeholder.js", "../../../assets/lib/bm.js/components/tabs/tabs.js", "../../../assets/lib/bm.js/components/tabs/tab-header.js", "../../../assets/lib/bm.js/components/tabs/tab-panel.js", "../../../assets/lib/bm.js/components/data.js", "../../../assets/js/common.js", "../../../assets/js/components/dropdown/dropdown.js", "../../../assets/js/components/go-back.js", "../../../assets/js/components/input/key-value.js", "../../../assets/js/components/input/list.js", "../../../assets/js/components/link-tabs/tabs.js", "../../../assets/js/components/popover/popover.js", "../../../assets/js/components/slider/range.js", "../../../assets/js/components/slider/slider.js", "../../../assets/js/components/switch/switch.js", "../../../assets/js/components/textarea/textarea.js", "../../../assets/js/enhanced/button.js", "../../../assets/js/enhanced/form.js", "../../../assets/js/enhanced/textarea.js", "../../../assets/js/layout/header/logo.js", "../../../assets/js/layout/header/search.js", "../../../assets/js/shortcut.js"], "sourcesContent": ["// bluemir's micro js library.\n// light-weight & simple & vanilla friendly\n//\n// Usage\n// import * as $ from \"bm.module.js\";\nexport var config = {\n\thook: {\n\t\tpreRequest: function(method, url, opt) { return opt }\n\t},\n}\n\nexport function get(target, query) {\n\tif(target.querySelector instanceof Function) {\n\t\treturn target.querySelector(query);\n\t}\n\treturn document.querySelector(target)\n}\nexport function all(target, query) {\n\tif(target.querySelectorAll instanceof Function) {\n\t\treturn target.querySelectorAll(query);\n\t}\n\treturn document.querySelectorAll(target);\n}\nexport function create(tagname, attr = {}) {\n\tvar newTag = document.createElement(tagname);\n\tif (attr.$text){\n\t\tnewTag.appendChild(document.createTextNode(attr.$text));\n\t}\n\tif (attr.$html){\n\t\tnewTag.innerHTML = attr.$html;\n\t}\n\tif (attr.$child) {\n\t\tif (attr.$child instanceof Array){\n\t\t\tattr.$child.forEach(n => newTag.appendChild(n))\n\t\t} else {\n\t\t\tnewTag.appendChild(attr.$child)\n\t\t}\n\t}\n\tif (attr.$values) {\n\t\tObject.entries(attr.$values).forEach(([k, v]) => {\n\t\t\tnewTag[k] = v;\n\t\t});\n\t}\n\tObject.entries(attr).filter(([key, values]) => key[0] != \"$\").forEach(([key, value]) => {\n\t\tnewTag.setAttribute(key, value);\n\t});\n\treturn newTag;\n}\nexport async function request(method, url, options = {}) {\n\ttry {\n\t\tvar opts = config.hook.preRequest(method, url, options) || options;\n\t} catch(e) {\n\t\tvar opts = options;\n\t}\n\n\tif (opts.timestamp === true) {\n\t\topts.query = opts.query || {};\n\t\topts.query[\"_timestamp\"] = Date.now();\n\t}\n\n\t// parse url\n\tconst u = new URL(url, location);\n\topts.query = [...u.searchParams.entries()].reduce((obj, [key, value]) => {\n\t\tobj[key] = value\n\t\treturn obj\n\t}, opts.query || {});\n\n\n\n\tu.search = \"\";\n\turl = u.href\n\n\treturn new Promise(function(resolve, reject) {\n\t\tlet req = new XMLHttpRequest();\n\n\t\treq.addEventListener(\"readystatechange\", function(){\n\t\t\tif (req.readyState == 4) {\n\t\t\t\tvar result = {\n\t\t\t\t\tstatusCode: req.status,\n\t\t\t\t\ttext : req.responseText,\n\t\t\t\t};\n\n\t\t\t\tvar contentType = req.getResponseHeader(\"Content-Type\") || \"\";\n\t\t\t\tif(contentType.includes(\"application/json\")) {\n\t\t\t\t\tresult.json = JSON.parse(result.text);\n\t\t\t\t}\n\n\t\t\t\tif (req.status >= 200 && req.status < 300){\n\t\t\t\t\tresolve(result)\n\t\t\t\t} else {\n\t\t\t\t\treject(result);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\tif (opts.auth) {\n\t\t\tconsole.debug(\"request with auth\", opts.auth)\n\t\t\t// In Chrome and firefox Auth header not included request(due to security, see https://bugs.chromium.org/p/chromium/issues/detail?id=128323)\n\t\t\t// so forced set header\n\t\t\treq.open(method, resolveParam(url, opts.params) + queryString(opts.query), true, opts.auth.user, opts.auth.password);\n\t\t\treq.setRequestHeader(\"Authorization\", \"Basic \" + btoa(opts.auth.user+\":\"+opts.auth.password));\n\t\t} else {\n\t\t\treq.open(method, resolveParam(url, opts.params) + queryString(opts.query), true);\n\t\t}\n\n\t\t// set default accept\n\t\treq.setRequestHeader(\"Accept\", \"application/json,*/*\");\n\n\t\treq.withCredentials = opts.withCredentials;\n\t\tObject.keys(opts.headers || {}).forEach(function(name){\n\t\t\treq.setRequestHeader(name, opts.headers[name]);\n\t\t});\n\n\t\topts.body = opts.body || opts.data;\n\n\t\tswitch (typeof opts.body) {\n\t\t\tcase \"object\":\n\t\t\t\tif (opts.body instanceof FormData) {\n\t\t\t\t\treq.send(opts.body);\n\t\t\t\t} else {\n\t\t\t\t\treq.setRequestHeader(\"Content-Type\", \"application/json\")\n\t\t\t\t\treq.send(JSON.stringify(opts.body))\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase \"string\":\n\t\t\t\treq.send(opts.body);\n\t\t\t\tbreak;\n\t\t\tcase \"undefined\":\n\t\t\t\treq.send();\n\t\t\t\tbreak; // just skip\n\t\t\tdefault:\n\t\t\t\treject(\"unknown type: req.body\");\n\t\t\t\tbreak;\n\t\t}\n\t});\n}\nexport async function timeout(ms) {\n\treturn new Promise(function(resolve, reject){\n\t\tsetTimeout(resolve, ms);\n\t});\n}\nexport function defer() {\n\tvar ret = {}\n\tret.promise = new Promise(function(resolve, reject){\n\t\tret.resolve = resolve;\n\t\tret.reject = reject;\n\t});\n\treturn ret;\n}\nexport function prevent(func){\n\treturn function(evt){\n\t\tevt.preventDefault();\n\t\treturn func();\n\t}\n}\nexport function form(form) {\n\tvar fd = new FormData(form)\n\treturn Array.from(fd).reduce((obj, [k, v] )=> {\n\t\tswitch(get(form, `[name=${k}]`).attr(\"type\")) {\n\t\t\tcase \"number\":\n\t\t\t\tobj[k] = v-0;\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tobj[k] = v;\n\t\t\t\tbreak;\n\t\t}\n\t\treturn obj;\n\t}, {});\n}\nexport function debounce(func, {timeout = 200} = {}) {\n\tlet timer;\n\n\treturn function(...args) {\n\t\tclearTimeout(timer);\n\t\ttimer = setTimeout(_=> func.apply(this, args), timeout)\n\t}\n}\n\n// for await ( let dt of $.frames()){ /* do something */ }\nexport function frames({fps = 30} = {}) {\n\tvar stop = false;\n\tvar fpsInterval = 1000 / fps;\n\tvar then = Date.now();\n\n\tasync function* f() {\n\t\twhile(true) {\n\t\t\tyield new Promise((resolve, reject) => {\n\t\t\t\tconst animate = () => {\n\t\t\t\t\tvar now = Date.now();\n\t\t\t\t\tvar elapsed = now - then;\n\n\t\t\t\t\tif (elapsed > fpsInterval) {\n\t\t\t\t\t\tthen = now - (elapsed%fpsInterval);\n\n\t\t\t\t\t\tresolve(elapsed - (elapsed%fpsInterval))\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// wait next frame\n\t\t\t\t\t\trequestAnimationFrame(animate)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\trequestAnimationFrame(animate)\n\t\t\t});\n\t\t}\n\t}\n\treturn f();\n}\n\nexport function animateFrame(callback, {fps = 30} = {}) {\n\tvar stop = false;\n\tvar fpsInterval = 1000 / fps;\n\tvar then = Date.now();\n\tanimate();\n\n\tfunction animate() {\n\t\tif (stop) {\n\t\t\treturn;\n\t\t}\n\t\trequestAnimationFrame(animate);\n\n\t\tvar now = Date.now();\n\t\tvar elapsed = now - then;\n\n\t\tif (elapsed > fpsInterval) {\n\t\t\tthen = now - (elapsed % fpsInterval);\n\n\t\t\tvar ret = callback(elapsed - (elapsed%fpsInterval));\n\t\t\tif (ret && ret.stop) {\n\t\t\t\tstop = true;\n\t\t\t}\n\t\t}\n\t}\n}\nexport function jq(data, query, value) {\n\tvar keys = query.split(\"\\\\.\").map(str => str.split(\".\")).reduce((p, c) => {\n\t\tif (p.length == 0 ) {\n\t\t\treturn c;\n\t\t}\n\t\tvar last = p.pop();\n\t\tvar first = c.shift();\n\n\t\treturn [].concat(p, [last+\".\"+first], c);\n\t});\n\n\tif (query[0] == \".\") {\n\t\tkeys.shift(); // remove first empty key\n\t}\n\n\ttry {\n\t\tvar visitor = data;\n\t\twhile(keys.length > 1) {\n\t\t\tvisitor = visitor[keys.shift()];\n\t\t}\n\n\t\tif (value !== undefined) {\n\t\t\tvisitor[keys.shift()] = value;\n\t\t\treturn value;\n\t\t} else {\n\t\t\treturn visitor[keys.shift()];\n\t\t}\n\t} catch(e) {\n\t\tthrow new ExtendedError(\"[$.jq] not found\", e);\n\t}\n}\nexport function merge(...args) {\n\treturn args.reduce((target, src={}) => {\n\t\treturn Object.entries(src).reduce((t, [key,value]) => {\n\t\t\tif (value instanceof Array) {\n\t\t\t\treturn {\n\t\t\t\t\t...t,\n\t\t\t\t\t[key]: [...(t[key]||[]), ...value],\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (value instanceof Object) {\n\t\t\t\treturn {\n\t\t\t\t\t...t,\n\t\t\t\t\t[key]: merge(t[key], value)\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn {...t, [key]:value}\n\t\t}, target)\n\t}, {})\n}\n\nclass ExtendedError extends Error {\n\tconstructor(message, error){\n\t\tsuper(message)\n\n\t\tthis.name = error.name;\n\n\t\tthis.cause = error;\n\t\tlet message_lines = (this.message.match(/\\n/g)||[]).length + 1;\n\t\tthis.stack = this.stack.split('\\n').slice(0, message_lines+1).join('\\n') + '\\n' + error.stack;\n\t}\n}\nexport function wsURL (url){\n\tvar u= new URL(url, document.location)\n\tu.protocol = document.location.protocol.includes(\"https\") ? \"wss:\" : \"ws:\"\n\treturn u;\n}\n\nexport const util = {\n\tfilter: {\n\t\tnotNull: e => e != null,\n\t\tunique: (value, index, self) => self.indexOf(value) === index,\n\t},\n\treduce: {\n\t\tappendChild: function(parent, child) {\n\t\t\tparent.appendChild(child);\n\t\t\treturn parent;\n\t\t},\n\t},\n};\nexport var events = new EventTarget();\n\nfunction resolveParam(url, params) {\n\tif (params == null) {\n\t\treturn url\n\t}\n\treturn url.replace(/:([a-zA-Z0-9]+)/g, function(matched, name){\n\t\tif (params[name]) {\n\t\t\treturn params[name];\n\t\t}\n\t\tconsole.warn(`[$.reqeust] find param pattern '${name}', but not provided`);\n\t\treturn matched;\n\t});\n}\n\nfunction queryString(obj) {\n\tif (obj == null) {\n\t\treturn \"\";\n\t}\n\treturn \"?\" + Object.keys(obj).map(function(key) {\n\t\treturn key + \"=\" + encodeURIComponent(obj[key]);\n\t}).join(\"&\");\n}\n\nObject.keyValues= function(obj, f) {\n\treturn Object.entries(obj).map(([key, value]) => {\n\t\treturn {key, value};\n\t});\n}\nObject.map = function(obj, f) {\n\treturn Object.entries(obj).map(([key, value]) => f({key,value})).reduce((obj, {key,value}={}) => (key?{ ...obj, [key]: value}:obj), {});\n}\nObject.same = function(x, y) {\n\tif (x === null || x === undefined || y === null || y === undefined) {\n\t\treturn x === y;\n\t}\n\tif (x.constructor !== y.constructor) {\n\t\treturn false;\n\t}\n\tif (x instanceof RegExp || x instanceof Function) {\n\t\treturn x === y;\n\t}\n\tif (x === y || x.valueOf() === y.valueOf()) {\n\t\treturn true;\n\t}\n\tif (Array.isArray(x) && x.length !== y.length) {\n\t\treturn false;\n\t}\n\n\t// if they are dates, they must had equal valueOf\n\tif (x instanceof Date) {\n\t\treturn false;\n\t}\n\n\tif (!(x instanceof Object)) {\n\t\treturn false;\n\t}\n\tif (!(y instanceof Object)) {\n\t\treturn false;\n\t}\n\tlet xk = Object.keys(x);\n\tlet yk = Object.keys(y);\n\n\tif (xk.length != yk.length) {\n\t\treturn false\n\t}\n\tif (!xk.every(i => yk.indexOf(i) !== -1)) {\n\t\treturn false\n\t}\n\n\t// recursive object equality check\n\treturn xk.every(i => Object.same(x[i], y[i]))\n}\n\nconst sig = \"__bm.js_inserted__\"\nfunction extend(TargetClass, proto){\n\tif (TargetClass.hasOwnProperty(sig)) {\n\t\tconsole.trace(\"already installed\")\n\t\treturn // already inserted\n\t}\n\n\tObject.keys(proto).forEach(function(name) {\n\t\tif (name in TargetClass.prototype) {\n\t\t\tconsole.warn(`cannot extend prototype: '${name}' already exist`)\n\t\t\treturn; // skip\n\t\t}\n\t\tTargetClass.prototype[name] = proto[name];\n\t});\n\n\tTargetClass[sig] = true\n}\nextend(Node, {\n\tappendTo: function(target) {\n\t\ttarget.appendChild(this);\n\t\treturn this;\n\t},\n\tclear : function(filter) {\n\t\tvar f = filter || function(e) { return true };\n\t\tthis.childNodes.filter(f).forEach((e) => this.removeChild(e))\n\t\treturn this;\n\t},\n});\nextend(Element, {\n\tattr: function(name, value){\n\t\tif (value === null) {\n\t\t\tthis.removeAttribute(name);\n\t\t\treturn\n\t\t}\n\t\tif (value !== undefined) {\n\n\t\t\tthis.setAttribute(name, value)\n\t\t\treturn value;\n\t\t} else {\n\t\t\treturn this.getAttribute(name)\n\t\t}\n\t},\n})\n\nextend(EventTarget, {\n\ton: function(name, handler, opt) {\n\t\tthis.addEventListener(name, handler, opt);\n\t\treturn this;\n\t},\n\toff: function(name, handler, opt) {\n\t\tthis.removeEventListener(name, handler, opt)\n\t\treturn this;\n\t},\n\tfireEvent: function(name, detail) {\n\t\tvar evt = new CustomEvent(name, {detail: detail});\n\t\tthis.dispatchEvent(evt);\n\t\treturn this;\n\t}\n});\n\nextend(NodeList, {\n\tmap: Array.prototype.map,\n\tfilter: Array.prototype.filter,\n\t//\"forEach\": Array.prototype.forEach,\n});\nextend(HTMLCollection, {\n\tmap: Array.prototype.map,\n\tfilter: Array.prototype.filter,\n\tforEach: Array.prototype.forEach,\n});\n\nextend(Array, {\n\tunique: function(isSame) {\n\t\tif (!isSame) {\n\t\t\treturn [... new Set(this)];\n\t\t}\n\t\treturn this.filter((v, i) => this.first(v, isSame) == i);\n\t},\n\tpromise: function() {\n\t\tvar arr = this;\n\t\treturn {\n\t\t\tall: () => Promise.all(arr),\n\t\t\tany: () => Promise.any(arr),\n\t\t\trace: () => Promise.race(arr),\n\t\t}\n\t},\n\tfirst: function(v, isSame = ((a,b)=>a==b)) {\n\t\tfor (let i = 0; i < this.length; i ++){\n\t\t\tif(isSame(this[i], v)) {\n\t\t\t\treturn i;\n\t\t\t}\n\t\t}\n\t},\n});\n\n\nexport class CustomElement extends HTMLElement {\n\t// private\n\t#handler = {}\n\n\tconstructor({enableShadow = true} = {}) {\n\t\tsuper();\n\n\t\tif (enableShadow) {\n\t\t\t//this[\"--shadow\"] = this.attachShadow({mode: 'open'})\n\t\t\tthis.attachShadow({mode: 'open'})\n\t\t}\n\t}\n\t// syntactic sugar\n\tattributeChangedCallback(name, oldValue, newValue) {\n\t\t// to use set follow to custom elements\n\t\t//\n\t\t//\tstatic get observedAttributes() {\n\t\t//\t\treturn [\"cluster\"];\n\t\t//\t}\n\t\tthis.fireEvent(\"attribute-changed\", {\n\t\t\tname: name,\n\t\t\told: oldValue,\n\t\t\tnew: newValue,\n\t\t});\n\t\tthis.onAttributeChanged(name, oldValue, newValue);\n\t}\n\tonAttributeChanged() {\n\t\tthis.render && this.render();\n\t}\n\tconnectedCallback() {\n\t\tthis.render && this.render();\n\t\tthis.onConnected && this.onConnected();\n\t\tthis.fireEvent(\"connected\")\n\t}\n\tdisconnectedCallback() {\n\t\tthis.onDisconnected && this.onDisconnected();\n\t\tthis.fireEvent(\"disconnected\")\n\t}\n\tget shadow() {\n\t\treturn this.shadowRoot;\n\t}\n\thandler(h) {\n\t\tvar name = h instanceof Function ? h.name : h;\n\t\tvar f = h instanceof Function ? h : this[h];\n\n\t\tif (!this.#handler[name]) {\n\t\t\tthis.#handler[name] = evt => f.call(this, evt.detail);\n\t\t}\n\t\treturn this.#handler[name];\n\t}\n}\n\nexport class AwaitEventTarget {\n\tconstructor() {\n\t\tthis.handlers = new Map();\n\t}\n\n\t// method\n\taddEventListener(eventName, handler) {\n\t\tif (!this.handlers.has(eventName)) {\n\t\t\tthis.handlers.set(eventName, new Set());\n\t\t}\n\t\tthis.handlers.get(eventName).add(handler);\n\t}\n\tremoveEventListener(eventName, handler) {\n\t\tif (!this.handlers.has(eventName)) {\n\t\t\treturn;\n\t\t}\n\t\tthis.handlers.get(eventName).delete(handler);\n\t}\n\tdispatchEvent(event) {\n\t\tlet name = event.type;\n\t\tif (!this.handlers.has(name)) {\n\t\t\treturn;\n\t\t}\n\t\treturn [...this.handlers.get(name)].map(handler => {\n\t\t\treturn handler(event);\n\t\t}).promise().all();\n\t}\n\n\t// syntactic sugar\n\ton(eventName, handler) {\n\t\tthis.addEventListener(eventName, handler)\n\t}\n\toff(eventName, handler) {\n\t\tthis.removeEventListener(eventName, handler)\n\t}\n\tfireEvent(name, detail) {\n\t\tvar evt = new CustomEvent(name, {detail: detail});\n\t\t// name will be evt.type\n\t\treturn this.dispatchEvent(evt);\n\t}\n}\n\nexport class AwaitQueue {\n\tconstructor() {\n\t\tthis.queue = [];\n\t\tthis.resolve = null;\n\t}\n\t[Symbol.iterator]() {\n\t\tlet next = () => {\n\t\t\tif (this.queue.length > 0) {\n\t\t\t\treturn {\n\t\t\t\t\tvalue: this.queue.shift(),\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tvalue: () => new Promise((resolve) => {\n\t\t\t\t\tthis.resolve = resolve;\n\t\t\t\t}),\n\t\t\t};\n\t\t}\n\t\treturn { next }\n\t}\n\tadd(f) {\n\t\tif (!(f instanceof Function)) {\n\t\t\tthrow Error(\"must put function\");\n\t\t}\n\t\tif(this.resolve) {\n\t\t\tthis.resolve(f());\n\t\t\tthis.resolve = null;\n\t\t\treturn\n\t\t}\n\t\tthis.queue.push(f)\n\t}\n\tremove(f) {\n\t\tthis.queue = this.queue.filter(job => job != f);\n\t}\n\tget length() {\n\t\treturn this.queue.length;\n\t}\n}\n\nexport function logger(opt){\n\treturn new Logger(opt);\n}\nclass Logger {\n\tconstructor({show, name} = {}) {\n\t\tthis.show = show;\n\t\tthis.name = name;\n\t}\n\tdebug(message) {\n\t\tif(this.show) return;\n\t\tconsole.debug.apply(console, arguments);\n\t}\n\tinfo(message) {\n\t\tif(this.show) return;\n\t\tconsole.info.apply(console, arguments);\n\t}\n\twarn(message) {\n\t\tif(this.show) return;\n\t\tconsole.warn.apply(console, arguments);\n\t}\n\terror(message) {\n\t\tif(this.show) return;\n\t\tconsole.error.apply(console, arguments);\n\t}\n}\n", "import * as $ from \"../../bm.module.js\";\nimport {html, render} from 'lit-html';\nimport {css} from \"../common.js\";\n\nvar tmpl = (elem) => html`\n\t\n\t${elem.attr(\"text\")}\n`;\n\nclass Alert extends $.CustomElement {\n\tconstructor() {\n\t\tsuper();\n\t}\n\tstatic get observedAttributes() {\n\t\treturn [\"text\"];\n\t}\n\tasync render() {\n\t\trender(tmpl(this), this.shadow);\n\t}\n}\ncustomElements.define(\"c-alert\", Alert);\n", "export const css = `\n/* prevent FOUC */\n*:not(:defined) {\n\tdisplay:none;\n}\n:host {\n\tdisplay: block;\n}\n`\n", "import * as $ from \"../../bm.module.js\";\nimport {html, render} from 'lit-html';\n\nvar tmpl = (elem) => html`\n\t\n\t\n`;\n\nclass Breadcrumbs extends $.CustomElement {\n\tconstructor() {\n\t\tsuper();\n\t}\n\tasync render() {\n\t\trender(tmpl(this), this.shadow);\n\t}\n\t// attribute\n\tget breadcrumbs() {\n\t\tconst arr = location.pathname.split(\"/\").filter(e => e.length);\n\n\t\treturn arr.map((item, index) => {\n\t\t\treturn {\n\t\t\t\tname: item,\n\t\t\t\tpath: \"/\" + arr.slice(0, index+1).join(\"/\"),\n\t\t\t}\n\t\t});\n\t}\n}\ncustomElements.define(\"c-breadcrumbs\", Breadcrumbs);\n\n", "import * as $ from \"../../bm.module.js\";\nimport {html, render} from 'lit-html';\nimport {css} from \"../common.js\";\n\nvar tmpl = (elem) => html`\n\t\n\t\n`;\n\n\nclass Button extends $.CustomElement {\n\tconstructor() {\n\t\tsuper();\n\t}\n\tasync render() {\n\t\trender(tmpl(this), this.shadow);\n\t}\n\tonConnected() {\n\t\tif(!$.get(this, \"a, button\")) {\n\t\t\tthis.setAttribute(\"pure\", \"\");\n\t\t}\n\t}\n}\ncustomElements.define(\"c-button\", Button);\n", "import * as $ from \"../../bm.module.js\";\nimport {html, render} from 'lit-html';\nimport {css} from \"../common.js\";\n\nvar tmpl = (elem) => html`\n\t\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t
\n`;\n\nclass Card extends $.CustomElement {\n\tconstructor() {\n\t\tsuper();\n\t}\n\tasync render() {\n\t\trender(tmpl(this), this.shadow);\n\t}\n}\ncustomElements.define(\"c-card\", Card);\n", "import * as $ from \"../../bm.module.js\";\nimport {html, render} from 'lit-html';\nimport {css} from \"../common.js\";\n\nvar tmpl = (elem) => html`\n\t\n\t\n`;\n\nclass Chip extends $.CustomElement {\n\tconstructor() {\n\t\tsuper();\n\t}\n\tasync render() {\n\t\trender(tmpl(this), this.shadow);\n\t}\n}\ncustomElements.define(\"c-chip\", Chip);\n", "import * as $ from \"../../bm.module.js\";\nimport {html, render} from 'lit-html';\nimport {css} from \"../common.js\";\n\nvar tmpl = (elem) => html`\n\t\n\t
elem.toggle(evt)}\">\n\t\t\n\t\t

${elem.attr(\"title\") || \"extends\"}

\n\t\t\n\t
\n\t
\n\t\t\n\t
\n`;\n\nclass Collapse extends $.CustomElement {\n\tconstructor() {\n\t\tsuper();\n\t}\n\tstatic get observedAttributes() {\n\t\treturn [\"title\", \"state\"];\n\t}\n\tasync render() {\n\t\trender(tmpl(this), this.shadow);\n\t}\n\tonAttributeChanged(name, old, v) {\n\t\tthis.render();\n\t}\n\ttoggle() {\n\t\tthis.state = this.state == \"open\" ? \"close\": \"open\"\n\t}\n\t// attribute\n\tget state() {\n\t\treturn this.attr(\"state\");\n\t}\n\tset state(v) {\n\t\tthis.attr(\"state\", v)\n\t}\n}\ncustomElements.define(\"c-collapse\", Collapse);\n\n", "import * as $ from \"../../bm.module.js\";\nimport {html, render} from 'lit-html';\nimport {css} from \"../common.js\";\n\nvar tmpl = (elem) => html`\n\t\n\t\n\n\t${elem.attr(\"kind\")}\n`;\n\nclass Icon extends $.CustomElement {\n\tconstructor() {\n\t\tsuper();\n\t}\n\tonConnected() {\n\t\tif ($.get(document, \"head link#icons\")) {\n\t\t\treturn\n\t\t}\n\t\t$.get(document, \"head\").appendChild($.create(\"link\", {\n\t\t\thref: \"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined\",\n\t\t\trel: \"stylesheet\",\n\t\t\tid: \"icons\",\n\t\t}));\n\t}\n\tstatic get observedAttributes() {\n\t\treturn [\"kind\", \"size\"];\n\t}\n\tonAttributeChanged(name, old, v) {\n\t\tthis.render();\n\t}\n\tasync render() {\n\t\trender(tmpl(this), this.shadow);\n\t}\n\t// attribute\n\tget size() {\n\t\tlet n = this.attr(\"size\");\n\t\treturn n ? `font-size: ${n};` : \"\"\n\t}\n}\ncustomElements.define(\"c-icon\", Icon);\n\n", "import * as $ from \"../../bm.module.js\";\nimport {html, render} from 'lit-html';\nimport {css} from \"../common.js\";\n\nvar tmpl = (elem) => html`\n\t\n\t
\n\t\t\n\t\t elem.value = evt.target.value}\"\n\t\t\t@keypress=\"${ evt => elem.onKeyPress(evt)}\"\n\t\t/>\n\t
\n`;\n\n// TODO\n// - animation\n// - proxy attribute of input\n// - type of input(outline, underline, ...)\n\nclass Input extends $.CustomElement {\n\tstatic get formAssociated() {\n\t\treturn true;\n\t}\n\n\tstatic get observedAttributes() {\n\t\treturn [\"name\", \"label\", \"placeholder\", \"type\"];\n\t}\n\n\t#internal = this.attachInternals();\n\t#value\n\n\tconstructor() {\n\t\tsuper();\n\t}\n\tasync render() {\n\t\trender(tmpl(this), this.shadow);\n\t}\n\n\tget name(){\n\t\treturn this.attr(\"name\");\n\t}\n\tget value(){\n\t\treturn this.#value;\n\t}\n\tset value(v){\n\t\tthis.#value = v;\n\t\tthis.#internal.setFormValue(v);\n\t}\n\tformResetCallback() {\n\t\tthis.#value = \"\";\n\t\t$.get(this.shadowRoot, \"input\").value = \"\";\n\t}\n\tonKeyPress(evt) {\n\t\tif (evt.code == \"Enter\" && this.#internal.form) {\n\t\t\tthis.#internal.form.requestSubmit();\n\t\t}\n\t}\n}\ncustomElements.define(\"c-input\", Input);\n", "import * as $ from \"bm.js/bm.module.js\";\nimport {html, render} from 'lit-html';\nimport {css} from \"../common.js\";\n\nvar tmpl = (elem) => html`\n\t\n\t
\n\t\t\n\t
\n\t\n\t
\n\t\t${elem.hasAttribute(\"footer\") ? html`\n\t\t\t\n\t\t` : html`\n\t\t\t\n\t\t`}\n\t
\n\t\n`;\n\nclass FullPage extends $.CustomElement {\n\tconstructor() {\n\t\tsuper();\n\t}\n\n\tasync render() {\n\t\trender(tmpl(this), this.shadow);\n\t}\n}\ncustomElements.define(\"c-layout-full-page\", FullPage);\n", "import * as $ from \"../../bm.module.js\";\nimport {html, render} from 'lit-html';\nimport {css} from \"../common.js\";\n\nvar tmpl = (self) => html`\n\t\n\t
evt.stopPropagation()}\">\n\t\t
\n\t\t\tModal\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t\n\t
\n`;\n\nclass Modal extends $.CustomElement {\n\tconstructor() {\n\t\tsuper();\n\t}\n\tasync onConnected() {\n\t\tthis.on(\"click\", evt => this.close())\n\t}\n\tasync render() {\n\t\trender(tmpl(this), this.shadow);\n\t}\n\topen(){\n\t\tconsole.log(\"open\")\n\t\tthis.classList.add(\"show\")\n\t}\n\tclose() {\n\t\tthis.classList.remove(\"show\");\n\t}\n}\n\ncustomElements.define(\"c-modal\", Modal);\n\n", "import * as $ from \"../../bm.module.js\";\nimport {html, render} from 'lit-html';\nimport {css} from \"../common.js\";\n\nvar tmpl = (elem) => html`\n\t\n\t${elem.attr(\"text\") || \"placeholder\"}\n`;\n\nclass Placeholder extends $.CustomElement {\n\tconstructor() {\n\t\tsuper();\n\t}\n\tstatic get observedAttributes() {\n\t\treturn [\"text\", \"width\", \"height\"];\n\t}\n\tonAttributeChanged() {\n\t\tthis.render();\n\t}\n\tasync render() {\n\t\trender(tmpl(this), this.shadow);\n\t}\n\tget width() {\n\t\tlet w = this.attr(\"width\");\n\t\treturn w ? `width: ${w}` : ``;\n\t}\n\tget height() {\n\t\tlet h = this.attr(\"height\");\n\t\treturn h ? `height: ${h}`: ``;\n\t}\n}\ncustomElements.define(\"c-placeholder\", Placeholder);\n", "import * as $ from \"../../bm.module.js\";\nimport {html, render} from 'lit-html';\nimport {css} from \"../common.js\";\n/*\n\n\n\tA Header\n\t\n\t\tA Contents\n\t\n\tB Header\n\t onActive(evt)}\">\n\t\tB Contents\n\t\n\n\n*/\n\nvar tmpl = (app) => html`\n\t\n\t
app.handleTabHeaderClick(evt)}>\n\t\t\n\t
\n\t\n`;\n\nclass Tabs extends $.CustomElement {\n\tconstructor() {\n\t\tsuper();\n\t}\n\tstatic get observedAttributes() {\n\t\treturn [ \"selected\" ];\n\t}\n\tasync onConnected(){\n\t\tlet role = this.attr(\"selected\") || $.get(this, `c-tab-header`).attr(\"role\");\n\n\t\tthis.changePanel(role);\n\t}\n\tasync onAttributeChanged(name, ov, nv) {\n\t\tswitch(name) {\n\t\t\tcase \"selected\":\n\t\t\t\tif (ov == nv) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tthis.changePanel(nv);\n\t\t\t\treturn\n\t\t}\n\t}\n\tasync render() {\n\t\trender(tmpl(this), this.shadow);\n\t}\n\tasync handleTabHeaderClick(evt) {\n\t\tlet role = evt.target.attr(\"role\");\n\t\tif (!role) {\n\t\t\treturn\n\t\t}\n\t\tthis.selected = role;\n\t}\n\n\tget selected() {\n\t\treturn this.attr(\"selected\");\n\t}\n\tset selected(role) {\n\t\tthis.attr(\"selected\", role);\n\t}\n\tchangePanel(role) {\n\t\t$.all(this, `c-tab-header`).forEach(elem => elem.classList.remove(\"selected\"));\n\t\t$.get(this, `c-tab-header[role=${role}]`).classList.add(\"selected\");\n\t\t$.all(this, `c-tab-panel`).forEach(elem => elem.classList.remove(\"selected\"));\n\t\t$.get(this, `c-tab-panel[role=${role}]`).classList.add(\"selected\");\n\n\t\t$.all(this, `.selected`).forEach(e => {\n\t\t\te.fireEvent(\"active\")\n\t\t});\n\t}\n}\ncustomElements.define(\"c-tabs\", Tabs);\n", "import * as $ from \"../../bm.module.js\";\nimport {html, render} from 'lit-html';\nimport {css} from \"../common.js\";\n\nvar tmpl = (app) => html`\n\t\n\t\n`;\n\nclass TabHeader extends $.CustomElement {\n\tconstructor() {\n\t\tsuper();\n\t}\n\n\tasync render() {\n\t\trender(tmpl(this), this.shadow);\n\t}\n}\ncustomElements.define(\"c-tab-header\", TabHeader);\n", "import * as $ from \"../../bm.module.js\";\nimport {html, render} from 'lit-html';\nimport {css} from \"../common.js\";\n\nvar tmpl = (app) => html`\n\t\n\t\n`;\n\nclass TabPanel extends $.CustomElement {\n\tconstructor() {\n\t\tsuper();\n\t}\n\n\tasync render() {\n\t\trender(tmpl(this), this.shadow);\n\t}\n}\ncustomElements.define(\"c-tab-panel\", TabPanel);\n", "import * as $ from \"../bm.module.js\";\nimport {html, render} from 'lit-html';\n\nclass Data extends $.CustomElement {\n\tconstructor() {\n\t\tsuper({enableShadow: false});\n\t}\n\t// attribute\n\tget json() {\n\t\treturn JSON.parse(this.innerHTML);\n\t}\n\tget text() {\n\t\treturn this.innerHTML;\n\t}\n}\ncustomElements.define(\"c-data\", Data);\n", "import \"bm.js/components/index.js\";\n\nexport let css = `\n@import url(\"/-/static/css/element.css\");\n`;\n\nexport let events = new EventTarget();", "import * as $ from \"bm.js/bm.module.js\";\nimport {html, render} from 'lit-html';\nimport {css} from \"common.js\";\n\nclass CustomElement extends $.CustomElement {\n\tconstructor() {\n\t\tsuper();\n\t}\n\n\ttemplate(title){\n\t\treturn html`\n\t\t\t\n\t\t\t
\n\t\t\t\t${title}\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t`;\n\t}\n\n\tasync render() {\n\t\trender(this.template(this.attr(\"name\")), this.shadowRoot);\n\t}\n}\ncustomElements.define(\"c-dropdown\", CustomElement);\n", "import * as $ from \"bm.js/bm.module.js\";\n//import {html, render} from '/lib/lit-html/lit-html.js';\nimport {html, render} from 'lit-html';\n\nvar tmpl = (self) => html`\n\t\n\t self.goBack(evt)}\">Go Back\n`;\n\nclass GoBack extends $.CustomElement {\n\tconstructor() {\n\t\tsuper();\n\t}\n\n\tasync render() {\n\t\trender(tmpl(this), this.shadowRoot);\n\t}\n\n\tasync goBack(evt) {\n\t\tevt.preventDefault();\n\n\t\thistory.back();\n\t}\n}\ncustomElements.define(\"c-go-back\", GoBack);\n", "import * as $ from \"bm.js/bm.module.js\";\n//import {html, render} from '/lib/lit-html/lit-html.js';\nimport {html, render} from 'lit-html';\nimport {css} from \"common.js\";\n\nvar tmpl = (elem) => html`\n\t\n\t
\n\t\t${elem.kvs.map((kv, index) => html`\n\t\t\t
\n\t\t\t\t elem.setKey(index, evt.target.value)}\" placeholder=\"key\" />\n\t\t\t\t elem.setValue(index, evt.target.value)}\" placeholder=\"value\" />\n\t\t\t\t\n\t\t\t
\n\t\t`)}\n\t\t\n\t
\n\n\n`;\n\n// key value input\n// encode to `{key}={value},{key}={value}`\nclass CustomElement extends $.CustomElement {\n\tstatic get formAssociated() {\n\t\treturn true;\n\t}\n\n\tstatic get observedAttributes() {\n\t\treturn [\"name\", \"label\", \"placeholder\"];\n\t}\n\n\tkvs = [{key:\"\", value:\"\"}];\n\t#internal = this.attachInternals();\n\n\tconstructor() {\n\t\tsuper();\n\t}\n\n\tsetKey(index, key) {\n\t\tthis.kvs[index].key = key;\n\t\tthis.encodeToInternal();\n\t}\n\tsetValue(index, value) {\n\t\tthis.kvs[index].value = value;\n\t\tthis.encodeToInternal();\n\t}\n\n\tencodeToInternal() {\n\t\tlet v = this.kvs.map(({key, value}) => `${key}=${value}`).join(\",\");\n\t\tthis.#internal.setFormValue(v);\n\t}\n\taddKeyValue() {\n\t\tthis.kvs.push({key:\"\", value:\"\"});\n\t\tthis.render();\n\t}\n\tremoveKeyValue(index) {\n\t\tthis.kvs.splice(index,1);\n\t\tthis.render();\n\t}\n\n\tget value() {\n\t\treturn this.kvs.reduce((obj, kv) => {\n\t\t\tobj[kv.key] = kv.value;\n\t\t\treturn obj\n\t\t}, {})\n\t}\n\tset value(obj) {\n\t\tthis.kvs = Object.entries(obj).map(([k, v]) => ({key: k, value: v}))\n\t\tthis.render();\n\t}\n\n\tasync render() {\n\t\trender(tmpl(this), this.shadowRoot);\n\t}\n}\ncustomElements.define(\"c-input-key-value\", CustomElement);\n", "import * as $ from \"bm.js/bm.module.js\";\n//import {html, render} from '/lib/lit-html/lit-html.js';\nimport {html, render} from 'lit-html';\nimport {css} from \"common.js\";\n\nvar tmpl = (elem) => html`\n\t\n\t
\n\t\t${elem.items.map((item, index) => html`\n\t\t\t
\n\t\t\t\t elem.setValue(index, evt.target.value)}\"\n\t\t\t\t\tplaceholder=\"${elem.attr(\"placeholder\")}\"\n\t\t\t\t\ttype=\"${elem.attr(\"type\")||\"text\"}\"\n\t\t\t\t/>\n\t\t\t\t\n\t\t\t
\n\t\t`)}\n\t\t\n\t
\n`;\n\n// key value input\n// encode to `{item},{item}`\nclass CustomElement extends $.CustomElement {\n\tstatic get formAssociated() {\n\t\treturn true;\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\t}\n\n\titems = [\"\"];\n\t#internal = this.attachInternals();\n\n\tsetValue(index, value) {\n\t\tthis.items[index] = value;\n\t\tthis.#internal.setFormValue(this.items.join(\",\"));\n\t}\n\taddValue() {\n\t\tthis.items.push(\"\");\n\t\tthis.render();\n\t}\n\tremoveValue(index) {\n\t\tthis.items.splice(index, 1);\n\t\tthis.render();\n\t}\n\tget value() {\n\t\treturn this.items;\n\t}\n\tset value(v) {\n\t\tthis.items = v;\n\t\tthis.render();\n\t}\n\n\tasync render() {\n\t\trender(tmpl(this), this.shadowRoot);\n\t}\n}\ncustomElements.define(\"c-input-list\", CustomElement);\n", "import * as $ from \"bm.js/bm.module.js\";\nimport {html, render} from 'lit-html';\nimport {css} from \"common.js\";\n\nvar tmpl = (elem) => html`\n\t\n\t\n`;\n\nclass CustomElement extends $.CustomElement {\n\tconstructor() {\n\t\tsuper();\n\t}\n\tonConnected() {\n\t\t$.all(this, \"a\").\n\t\t\tforEach(elem => console.log(elem.pathname))\n\t\t$.all(this, \"a\").\n\t\t\tfilter((elem) => elem.hasAttribute(\"exact\") ? elem.pathname == location.pathname : location.pathname.startsWith(elem.pathname)).\n\t\t\tfilter((elem) => elem.hasAttribute(\"exact\") ? elem.search == location.search: true). // TODO check only pathname?\n\t\t\tforEach(elem => elem.classList.add(\"selected\"));\n\t}\n\n\tasync render() {\n\t\trender(tmpl(this), this.shadowRoot);\n\t}\n}\ncustomElements.define(\"c-link-tabs\", CustomElement);\n", "import * as $ from \"bm.js/bm.module.js\";\n//import {html, render} from '/lib/lit-html/lit-html.js';\nimport {html, render} from 'lit-html';\n\nvar tmpl = (elem) => html`\n\t\n\t\n\t\t elem.onHover(evt)}\">\n\t\t
\n\t\t\t\n\t\t
\n\t
\n`;\n\nclass Popover extends $.CustomElement {\n\tstatic get observedAttributes() {\n\t\treturn [];\n\t}\n\tconstructor() {\n\t\tsuper();\n\t}\n\n\tonAttributeChanged(name, oValue, nValue) {\n\t}\n\n\tonConnected() {\n\t}\n\n\tasync render() {\n\t\trender(tmpl(this), this.shadowRoot);\n\t}\n\tonHover(evt) {\n\t\tconsole.log(evt);\n\t}\n}\ncustomElements.define(\"c-popover\", Popover);\n", "import * as $ from \"bm.js/bm.module.js\";\nimport {html, render} from 'lit-html';\n\nvar tmpl = (elem) => html`\n\t\n\t
\n\t\t${elem.min}\n\t\t${elem.max}\n\t
\n\t
\n\t\t
\n\t\t elem.onRangeChange(evt)}\" />\n\t\t elem.onRangeChange(evt)}\" />\n\t
\n\t
\n\t\t\t elem.onInputChange(evt)}\" />\n\t\t\t - \n\t\t\t elem.onInputChange(evt)}\" value=\"5\"/>\n\t
\n`;\n\nclass RangeSlider extends $.CustomElement {\n\tconstructor() {\n\t\tsuper();\n\t}\n\n\tstatic get observedAttributes() {\n\t\treturn [];\n\t}\n\tonAttributeChanged(name, oValue, nValue) {\n\t}\n\n\tget start() {\n\t\treturn $.get(this.shadowRoot, \"input[role=low]\").value;\n\t}\n\tget end() {\n\t\treturn $.get(this.shadowRoot, \"input[role=high]\").value;\n\t}\n\tget max() {\n\t\treturn Number(this.attr(\"max\")) || 100;\n\t}\n\tget min() {\n\t\treturn Number(this.attr(\"min\")) || 0;\n\t}\n\tget step() {\n\t\treturn Number(this.attr(\"step\")) || 1;\n\t}\n\n\tonConnected(){\n\t\tthis.updateBar(this.start, this.end, this.min, this.max);\n\t}\n\n\tasync render() {\n\t\trender(tmpl(this), this.shadowRoot);\n\t}\n\n\t//handler\n\tonRangeChange(evt) {\n\t\t$.get(this.shadowRoot, `input[type=number][role=${evt.target.attr(\"role\")}]`).value = evt.target.value;\n\n\t\tthis.updateBar(this.start, this.end, this.min, this.max);\n\t}\n\tonInputChange(evt) {\n\t\t$.get(this.shadowRoot, `input[type=range][role=${evt.target.attr(\"role\")}]`).value = evt.target.value;\n\t\tthis.updateBar(this.start, this.end, this.min, this.max);\n\t}\n\tupdateBar(start, end, min, max) {\n\t\tlet total = max - min;\n\t\tlet $color = $.get(this.shadowRoot, \"#bar div\");\n\n\t\t$color.style.left = `${((start - min)/total)*100}%`;\n\t\t$color.style.right = `${((max - end)/total)*100}%`;\n\t\tconsole.log(total, start, end, min, max,(start - min)/total,(max - end)/total);\n\t}\n}\ncustomElements.define(\"c-range-slider\", RangeSlider);\n", "import * as $ from \"bm.js/bm.module.js\";\nimport {html, render} from 'lit-html';\n\nvar tmpl = (elem) => html`\n\t\n\t\n`;\n\nclass Slider extends $.CustomElement {\n\tconstructor() {\n\t\tsuper();\n\t}\n\n\tasync render() {\n\t\trender(tmpl(this), this.shadowRoot);\n\t}\n}\ncustomElements.define(\"c-slider\", Slider);\n", "import * as $ from \"bm.js/bm.module.js\";\nimport {html, render} from 'lit-html';\n\nvar tmpl = (elem) => html`\n\t\n\t
\n\t\t
\n\t
\n`;\n\nclass Switch extends $.CustomElement {\n\tstatic get observedAttributes() {\n\t\treturn [];\n\t}\n\tconstructor() {\n\t\tsuper();\n\t}\n\n\tonAttributeChanged(name, oValue, nValue) {\n\t}\n\n\tasync render() {\n\t\trender(tmpl(this), this.shadowRoot);\n\t}\n}\ncustomElements.define(\"c-switch\", Switch);\n", "import * as $ from \"bm.js/bm.module.js\";\n//import {html, render} from '/lib/lit-html/lit-html.js';\nimport {html, render} from 'lit-html';\n\nvar tmpl = (elem) => html`\n\t\n\t\n`;\n\nclass Textarea extends $.CustomElement {\n\tstatic get formAssociated() {\n\t\treturn true;\n\t}\n\n\tstatic get observedAttributes() {\n\t\treturn [\"name\"];\n\t}\n\n\t#internal = this.attachInternals();\n\t#value\n\n\tget value(){\n\t\treturn this.#value;\n\t}\n\tset value(v){\n\t\tthis.#value = v;\n\t\tthis.#internal.setFormValue(v);\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\t}\n\tonConnected() {\n\t\tthis.resize();\n\t}\n\tformResetCallback() {\n\t\t$.get(this.shadowRoot, \"textarea\").value = \"\";\n\t\tthis.value = \"\";\n\t}\n\n\tasync render() {\n\t\trender(tmpl(this), this.shadowRoot);\n\t}\n\n\tresize() {\n\t\tlet $textarea = $.get(this.shadowRoot, \"textarea\");\n\t\t$textarea.style.height = `auto`;\n\t\t$textarea.style.height = `${$textarea.scrollHeight + 2}px`;\n\t}\n}\ncustomElements.define(\"c-textarea\", Textarea);\n", "import * as $ from \"bm.js/bm.module.js\";\n\n$.all(\"button[type=button][method]\").map(elem => elem.on(\"click\", async evt => {\n\tevt.preventDefault();\n\n\tlet $button = evt.target;\n\tlet method = $button.attr(\"method\") ? $button.attr(\"method\").toLowerCase() : \"get\";\n\tlet endpoint = $button.attr(\"action\") ? $button.attr(\"action\") : location;\n\n\tlet res = await fetch(endpoint, {method: method});\n\n\tif (res.redirected) {\n\t\tlocation.href = res.url;\n\t\treturn\n\t}\n}));\n", "import * as $ from \"bm.js/bm.module.js\";\n\n$.all(`form[method=\"delete\" i], form[method=\"put\" i]`).map(elem => elem.on(\"submit\", async evt => {\n\t// hijack submit\n\tevt.preventDefault();\n\n\tlet $form = evt.target;\n\tlet method = $form.attr(\"method\") ? $form.attr(\"method\").toLowerCase() : \"get\";\n\n\tlet data = new FormData($form);\n\n\tlet res = await fetch($form.action, {method: method, body: data, redirect: \"follow\"});\n\n\tconsole.log(\"method=delete or method=put not support in valila, it will redirect 'GET' request\")\n\n\tif (res.status >= 500) {\n\t\tconsole.error(\"error on request\")\n\t\treturn\n\t}\n\n\t// handle redirect\n\tif (res.redirected) {\n\t\tlocation.href = res.url;\n\t\treturn\n\t}\n\n\t// if not,\n\tlocation.href = $form.action;\n}))\n", "import * as $ from \"bm.js/bm.module.js\";\n\n$.all(\"textarea[indent]\").map(elem => elem.on(\"keydown\", evt => {\n // handle indent, un-indent\n switch(evt.code) {\n case \"Tab\":\n evt.preventDefault();\n let $textarea = evt.target;\n let start = $textarea.selectionStart;\n let end = $textarea.selectionEnd;\n let data = $textarea.value;\n let indent = getIndentCharacter($textarea.attr(\"indent\"))\n\n if (evt.shiftKey) {\n // un-tab\n\n let n = data.substring(0, start).lastIndexOf(\"\\n\")+1;\n\n let sections = [data.substring(0, n), data.substring(n, end), data.substring(end)];\n sections[1] = sections[1].split('\\n').map(line => line.startsWith(indent)?line.substring(indent.length): line).join('\\n');\n\n $textarea.value = sections.join(\"\");\n\n $textarea.selectionStart = start > 0 ? start-1: 0;\n $textarea.selectionEnd = sections[0].length + sections[1].length;\n } else {\n // tab\n // if (end-start > 0 ) { }// mean selection is not empty\n\n let n = data.substring(0, start).lastIndexOf(\"\\n\")+1;\n let sections = [data.substring(0, n), data.substring(n, end), data.substring(end)];\n\n sections[1] = sections[1].split('\\n').map(line => indent + line).join('\\n');\n\n $textarea.value = sections.join(\"\");\n\n $textarea.selectionStart = start + indent.length;\n $textarea.selectionEnd = sections[0].length + sections[1].length;\n }\n return;\n\t\tcase \"Enter\":\n {\n let $textarea = evt.target;\n let start = $textarea.selectionStart;\n let end = $textarea.selectionEnd;\n let data = $textarea.value;\n\n if (end - start > 0) {\n return; // skip. it has selection\n }\n\n evt.preventDefault();\n\n // insert newline & indent\n let n = data.substring(0, start).lastIndexOf(\"\\n\")+1;\n\n let lastLine = data.substring(n, start);\n\n let indent = lastLine; // if empty line, use whole line.\n let matched = lastLine.match(/[^\\s]/);\n if (matched){\n indent = data.substring(n, n + lastLine.match(/[^\\s]/).index);\n }\n\n let arr = [data.substring(0, start), \"\\n\", indent, data.substring(start)];\n\n $textarea.value = arr.join(\"\");\n $textarea.selectionStart = $textarea.selectionEnd = arr[0].length + arr[1].length + arr[2].length;\n\n return;\n }\n default:\n //console.log(evt);\n }\n}));\n\nfunction getIndentCharacter(attr) {\n switch(attr) {\n case \"2space\":\n return \" \";\n case \"4space\":\n return \" \";\n case \"tab\":\n default:\n return \"\\t\";\n }\n}\n\n$.all(\"textarea[auto-resize]\").map(elem => {\n // use `field-sizing: content` when available\n if (CSS.supports(\"field-sizing\", \"content\")) {\n elem.style.fieldSizing = \"content\"\n return\n }\n\n // try old fashioned way.\n elem.style.height = `${elem.scrollHeight+2}px`;\n elem.on(\"input\", evt => {\n // resize textarea\n let $textarea = evt.target;\n $textarea.style.height = `auto`; // it's magic, shrink area to fit contents\n $textarea.style.height = `${$textarea.scrollHeight+2}px`;\n })\n});\n\n$.all(\"textarea[submit-shortcut]\").map(textarea => {\n textarea.on(\"keydown\", async evt => {\n if (!(evt.code == \"KeyS\" && evt.ctrlKey)) {\n return // just skip\n }\n evt.preventDefault();\n\n\t\t// evt.target.closest(\"form\").submit();\n\t\tlet $form = evt.target.closest(\"form\");\n\n\t\tlet data = new FormData($form);\n\t\tlet res = await $.request($form.method||\"get\", $form.action||location.pathname, {body: data});\n // TODO show message\n })\n});\n", "import * as $ from \"bm.js/bm.module.js\";\nimport {html, render} from 'lit-html';\nimport {css} from \"common.js\";\n\nvar tmpl = (app) => html`\n\t\n\tWikinote\n`;\n\nclass WikinoteHeaderLogo extends $.CustomElement {\n\tconstructor() {\n\t\tsuper();\n\t}\n\tasync render() {\n\t\trender(tmpl(this), this.shadow);\n\t}\n\t// attribute\n}\ncustomElements.define(\"wikinote-header-logo\", WikinoteHeaderLogo);\n", "import * as $ from \"bm.js/bm.module.js\";\nimport {html, render} from 'lit-html';\nimport {css} from \"common.js\";\n\nvar tmpl = (app) => html`\n\t\n\t
\n\t\t\n\t\t\n\t
\n`;\n\nclass CustomElement extends $.CustomElement {\n\tconstructor() {\n\t\tsuper();\n\t}\n\tasync render() {\n\t\trender(tmpl(this), this.shadow);\n\t}\n\t// attribute\n\tget query() {\n\t\t//if (location.pathname != \"/-/search\") {\n\t\t//\treturn \"\"\n\t\t//}\n\n\t\tlet params = new URLSearchParams(document.location.search);\n\n\t\treturn params.get(\"q\");\n\t}\n}\ncustomElements.define(\"wikinote-header-search\", CustomElement);\n", "import * as $ from \"bm.js/bm.module.js\";\n\n// tab + space\n// alt + s\n// ctrl + s\n// ctrl + shift + e\nconst noop = ()=>{}\n\n//var L = console;\nvar L = {info: noop, log: noop}\n\nclass Shortcut {\n\tconstructor(elem) {\n\t\tif (!(elem instanceof EventTarget)) {\n\t\t\tconsole.debug(elem)\n\t\t\tthrow Error(\"type error\")\n\t\t}\n\n\t\tthis.handlers = [];\n\t\tthis.status = {};\n\n\t\telem.on(\"keydown\", evt => this.handleKeydown(evt));\n\t\telem.on(\"keyup\" , evt => this.handleKeyup (evt));\n\t}\n\tadd(q, func) {\n\t\tvar code = new Code(q, func, {preventDefault:true});\n\t\tthis.handlers.push(code);\n\t}\n\thook(q, func) {\n\t\tvar code = new Code(q, func, {preventDefault:false});\n\t\tthis.handlers.push(code);\n\t}\n\thandleKeydown(evt) {\n\t\tif (evt.keyCode == 229) {\n\t\t\treturn // just ignore this event\n\t\t\t// http://lists.w3.org/Archives/Public/www-dom/2010JulSep/att-0182/keyCode-spec.html\n\t\t\t// it is 'in progress key input' code\n\t\t}\n\t\tthis.status[evt.keyCode] = true;\n\n\t\tthis.handleModifier(evt);\n\n\t\tthis.fire(evt);\n\t}\n\thandleKeyup(evt) {\n\t\tdelete this.status[evt.keyCode];\n\n\t\tthis.handleModifier(evt);\n\t}\n\thandleModifier(evt) {\n\t\tif (evt.altKey) {\n\t\t\tthis.status[toCode.alt] = true;\n\t\t} else {\n\t\t\tdelete(this.status[toCode.alt])\n\t\t}\n\n\t\tif (evt.metaKey) {\n\t\t\tthis.status[toCode.meta] = true;\n\t\t} else {\n\t\t\tdelete(this.status[toCode.meta])\n\t\t}\n\n\t\tif (evt.shiftKey) {\n\t\t\tthis.status[toCode.shift] = true;\n\t\t} else {\n\t\t\tdelete(this.status[toCode.shift])\n\t\t}\n\n\t\tif (evt.ctrlKey) {\n\t\t\tthis.status[toCode.ctrl] = true;\n\t\t} else {\n\t\t\tdelete(this.status[toCode.ctrl])\n\t\t}\n\t}\n\tfire(evt) {\n\t\tvar keyCodes = Object.keys(this.status).map(c => c-0).sort();\n\t\tL.log(keyCodes);\n\n\t\tthis.handlers.forEach((h) => {\n\t\t\tif (h.match(keyCodes)) {\n\t\t\t\th.func();\n\t\t\t\tif (h.preventDefault) {\n\t\t\t\t\tevt.preventDefault();\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n}\n\nclass Code {\n\tconstructor(q, func, {preventDefault = true} = {}) {\n\t\tthis.parse(q)\n\t\tthis.func = func;\n\t\tthis.preventDefault = preventDefault;\n\t}\n\tparse(q) {\n\t\tvar keys = q.toLowerCase().split(\"+\").map(s => s.trim());\n\t\tvar codes = keys.map(c => toCode[c]).reduce((arr, code) => {\n\t\t\tarr.push(code);\n\t\t\treturn arr\n\t\t}, []).sort();\n\n\t\tL.log(codes)\n\t\tthis.codes = codes;\n\t}\n\tmatch(codes) {\n\t\tL.log(JSON.stringify(codes) , JSON.stringify(this.codes))\n\t\treturn JSON.stringify(codes) == JSON.stringify(this.codes); // simple match\n\t}\n}\n\nconst toCode = {\n\t\"alt\": 18, \"ctrl\": 17, \"shift\": 16,\n\n\t'esc':27, 'escape':27,\n\t'tab':9,\n\t'space':32,\n\t'return':13, 'enter':13,\n\t'backspace':8,\n\n\t'scrolllock':145, 'scroll_lock':145, 'scroll':145,\n\t'capslock':20, 'caps_lock':20, 'caps':20,\n\t'numlock':144, 'num_lock':144, 'num':144,\n\n\t'pause':19, 'break':19,\n\t'insert':45, 'home':36, 'delete':46, 'end':35,\n\n\t'pageup':33, 'page_up':33,\n\t'pagedown':34, 'page_down':34,\n\n\t'left':37, 'up':38, 'right':39, 'down':40,\n\n\t'f1':112, 'f2':113, 'f3':114, 'f4':115, 'f5':116,\n\t'f6':117, 'f7':118, 'f8':119, 'f9':120, 'f10':121,\n\t'f11':122, 'f12':123\n};\n\n(function init(){\n\tvar str = \"`1234567890-=qwertyuiop[]\\\\asdfghjkl;'zxcvbnm,./\";\n\tfor (var i= 0; i < str.length; i++) {\n\t\tvar char = str.charAt(i);\n\t\tvar code = char.toUpperCase().charCodeAt(0);\n\n\t\ttoCode[char] = code;\n\t}\n})();\n\nlet shortcut = new Shortcut(document.body);\n\nexport {Shortcut, shortcut};\n"], "mappings": "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", "names": ["obj", "html", "render", "tmpl", "html", "render", "tmpl", "html", "render", "html", "render", "tmpl", "html", "render", "html", "render", "tmpl", "html", "render", "html", "render", "tmpl", "html", "render", "html", "render", "tmpl", "html", "render", "html", "render", "tmpl", "html", "render", "html", "render", "tmpl", "html", "render", "html", "render", "tmpl", "html", "render", "html", "render", "tmpl", "html", "render", "html", "render", "tmpl", "html", "render", "html", "render", "tmpl", "html", "render", "html", "render", "tmpl", "html", "render", "html", "render", "css", "events", "html", "render", "CustomElement", "html", "css", "render", "html", "render", "tmpl", "html", "render", "tmpl", "html", "css", "CustomElement", "render", "html", "render", "tmpl", "html", "css", "CustomElement", "render", "html", "render", "tmpl", "html", "css", "CustomElement", "render", "html", "render", "tmpl", "html", "render", "tmpl", "html", "render", "tmpl", "html", "render", "tmpl", "html", "render", "tmpl", "$textarea", "start", "end", "data", "indent", "html", "render", "tmpl", "html", "css", "render", "html", "render", "tmpl", "html", "css", "CustomElement", "render"] }