;(function(l, i, v, e) { v = l.createElement(i) v.async = 1 v.src = "//" + (location.host || "localhost").split(":")[0] + ":35729/livereload.js?snipver=1" e = l.getElementsByTagName(i)[0] e.parentNode.insertBefore(v, e) })(document, "script") var app = (function() { "use strict" function noop() {} function assign(tar, src) { // @ts-ignore for (const k in src) tar[k] = src[k] return tar } function is_promise(value) { return ( value && typeof value === "object" && typeof value.then === "function" ) } function add_location(element, file, line, column, char) { element.__svelte_meta = { loc: { file, line, column, char }, } } function run(fn) { return fn() } function blank_object() { return Object.create(null) } function run_all(fns) { fns.forEach(run) } function is_function(thing) { return typeof thing === "function" } function safe_not_equal(a, b) { return a != a ? b == b : a !== b || (a && typeof a === "object") || typeof a === "function" } function create_slot(definition, ctx, fn) { if (definition) { const slot_ctx = get_slot_context(definition, ctx, fn) return definition[0](slot_ctx) } } function get_slot_context(definition, ctx, fn) { return definition[1] ? assign({}, assign(ctx.$$scope.ctx, definition[1](fn ? fn(ctx) : {}))) : ctx.$$scope.ctx } function get_slot_changes(definition, ctx, changed, fn) { return definition[1] ? assign( {}, assign( ctx.$$scope.changed || {}, definition[1](fn ? fn(changed) : {}) ) ) : ctx.$$scope.changed || {} } function null_to_empty(value) { return value == null ? "" : value } function append(target, node) { target.appendChild(node) } function insert(target, node, anchor) { target.insertBefore(node, anchor || null) } function detach(node) { node.parentNode.removeChild(node) } function destroy_each(iterations, detaching) { for (let i = 0; i < iterations.length; i += 1) { if (iterations[i]) iterations[i].d(detaching) } } function element(name) { return document.createElement(name) } function svg_element(name) { return document.createElementNS("http://www.w3.org/2000/svg", name) } function text(data) { return document.createTextNode(data) } function space() { return text(" ") } function empty() { return text("") } function listen(node, event, handler, options) { node.addEventListener(event, handler, options) return () => node.removeEventListener(event, handler, options) } function attr(node, attribute, value) { if (value == null) node.removeAttribute(attribute) else node.setAttribute(attribute, value) } function children(element) { return Array.from(element.childNodes) } function claim_element(nodes, name, attributes, svg) { for (let i = 0; i < nodes.length; i += 1) { const node = nodes[i] if (node.nodeName === name) { for (let j = 0; j < node.attributes.length; j += 1) { const attribute = node.attributes[j] if (!attributes[attribute.name]) node.removeAttribute(attribute.name) } return nodes.splice(i, 1)[0] // TODO strip unwanted attributes } } return svg ? svg_element(name) : element(name) } function claim_text(nodes, data) { for (let i = 0; i < nodes.length; i += 1) { const node = nodes[i] if (node.nodeType === 3) { node.data = "" + data return nodes.splice(i, 1)[0] } } return text(data) } function claim_space(nodes) { return claim_text(nodes, " ") } function set_input_value(input, value) { if (value != null || input.value) { input.value = value } } function set_style(node, key, value, important) { node.style.setProperty(key, value, important ? "important" : "") } function toggle_class(element, name, toggle) { element.classList[toggle ? "add" : "remove"](name) } function custom_event(type, detail) { const e = document.createEvent("CustomEvent") e.initCustomEvent(type, false, false, detail) return e } let current_component function set_current_component(component) { current_component = component } function get_current_component() { if (!current_component) throw new Error(`Function called outside component initialization`) return current_component } // TODO figure out if we still want to support // shorthand events, or if we want to implement // a real bubbling mechanism function bubble(component, event) { const callbacks = component.$$.callbacks[event.type] if (callbacks) { callbacks.slice().forEach(fn => fn(event)) } } const dirty_components = [] const binding_callbacks = [] const render_callbacks = [] const flush_callbacks = [] const resolved_promise = Promise.resolve() let update_scheduled = false function schedule_update() { if (!update_scheduled) { update_scheduled = true resolved_promise.then(flush) } } function add_render_callback(fn) { render_callbacks.push(fn) } function flush() { const seen_callbacks = new Set() do { // first, call beforeUpdate functions // and update components while (dirty_components.length) { const component = dirty_components.shift() set_current_component(component) update(component.$$) } while (binding_callbacks.length) binding_callbacks.pop()() // then, once components are updated, call // afterUpdate functions. This may cause // subsequent updates... for (let i = 0; i < render_callbacks.length; i += 1) { const callback = render_callbacks[i] if (!seen_callbacks.has(callback)) { callback() // ...so guard against infinite loops seen_callbacks.add(callback) } } render_callbacks.length = 0 } while (dirty_components.length) while (flush_callbacks.length) { flush_callbacks.pop()() } update_scheduled = false } function update($$) { if ($$.fragment) { $$.update($$.dirty) run_all($$.before_update) $$.fragment.p($$.dirty, $$.ctx) $$.dirty = null $$.after_update.forEach(add_render_callback) } } const outroing = new Set() let outros function group_outros() { outros = { r: 0, c: [], p: outros, // parent group } } function check_outros() { if (!outros.r) { run_all(outros.c) } outros = outros.p } function transition_in(block, local) { if (block && block.i) { outroing.delete(block) block.i(local) } } function transition_out(block, local, detach, callback) { if (block && block.o) { if (outroing.has(block)) return outroing.add(block) outros.c.push(() => { outroing.delete(block) if (callback) { if (detach) block.d(1) callback() } }) block.o(local) } } function handle_promise(promise, info) { const token = (info.token = {}) function update(type, index, key, value) { if (info.token !== token) return info.resolved = key && { [key]: value } const child_ctx = assign(assign({}, info.ctx), info.resolved) const block = type && (info.current = type)(child_ctx) if (info.block) { if (info.blocks) { info.blocks.forEach((block, i) => { if (i !== index && block) { group_outros() transition_out(block, 1, 1, () => { info.blocks[i] = null }) check_outros() } }) } else { info.block.d(1) } block.c() transition_in(block, 1) block.m(info.mount(), info.anchor) flush() } info.block = block if (info.blocks) info.blocks[index] = block } if (is_promise(promise)) { const current_component = get_current_component() promise.then( value => { set_current_component(current_component) update(info.then, 1, info.value, value) set_current_component(null) }, error => { set_current_component(current_component) update(info.catch, 2, info.error, error) set_current_component(null) } ) // if we previously had a then/catch block, destroy it if (info.current !== info.pending) { update(info.pending, 0) return true } } else { if (info.current !== info.then) { update(info.then, 1, info.value, promise) return true } info.resolved = { [info.value]: promise } } } const globals = typeof window !== "undefined" ? window : global function mount_component(component, target, anchor) { const { fragment, on_mount, on_destroy, after_update } = component.$$ fragment.m(target, anchor) // onMount happens before the initial afterUpdate add_render_callback(() => { const new_on_destroy = on_mount.map(run).filter(is_function) if (on_destroy) { on_destroy.push(...new_on_destroy) } else { // Edge case - component was destroyed immediately, // most likely as a result of a binding initialising run_all(new_on_destroy) } component.$$.on_mount = [] }) after_update.forEach(add_render_callback) } function destroy_component(component, detaching) { if (component.$$.fragment) { run_all(component.$$.on_destroy) component.$$.fragment.d(detaching) // TODO null out other refs, including component.$$ (but need to // preserve final state?) component.$$.on_destroy = component.$$.fragment = null component.$$.ctx = {} } } function make_dirty(component, key) { if (!component.$$.dirty) { dirty_components.push(component) schedule_update() component.$$.dirty = blank_object() } component.$$.dirty[key] = true } function init( component, options, instance, create_fragment, not_equal, prop_names ) { const parent_component = current_component set_current_component(component) const props = options.props || {} const $$ = (component.$$ = { fragment: null, ctx: null, // state props: prop_names, update: noop, not_equal, bound: blank_object(), // lifecycle on_mount: [], on_destroy: [], before_update: [], after_update: [], context: new Map(parent_component ? parent_component.$$.context : []), // everything else callbacks: blank_object(), dirty: null, }) let ready = false $$.ctx = instance ? instance(component, props, (key, ret, value = ret) => { if ($$.ctx && not_equal($$.ctx[key], ($$.ctx[key] = value))) { if ($$.bound[key]) $$.bound[key](value) if (ready) make_dirty(component, key) } return ret }) : props $$.update() ready = true run_all($$.before_update) $$.fragment = create_fragment($$.ctx) if (options.target) { if (options.hydrate) { // eslint-disable-next-line @typescript-eslint/no-non-null-assertion $$.fragment.l(children(options.target)) } else { // eslint-disable-next-line @typescript-eslint/no-non-null-assertion $$.fragment.c() } if (options.intro) transition_in(component.$$.fragment) mount_component(component, options.target, options.anchor) flush() } set_current_component(parent_component) } let SvelteElement if (typeof HTMLElement !== "undefined") { SvelteElement = class extends HTMLElement { constructor() { super() this.attachShadow({ mode: "open" }) } connectedCallback() { // @ts-ignore todo: improve typings for (const key in this.$$.slotted) { // @ts-ignore todo: improve typings this.appendChild(this.$$.slotted[key]) } } attributeChangedCallback(attr, _oldValue, newValue) { this[attr] = newValue } $destroy() { destroy_component(this, 1) this.$destroy = noop } $on(type, callback) { // TODO should this delegate to addEventListener? const callbacks = this.$$.callbacks[type] || (this.$$.callbacks[type] = []) callbacks.push(callback) return () => { const index = callbacks.indexOf(callback) if (index !== -1) callbacks.splice(index, 1) } } $set() { // overridden by instance, if it has props } } } class SvelteComponent { $destroy() { destroy_component(this, 1) this.$destroy = noop } $on(type, callback) { const callbacks = this.$$.callbacks[type] || (this.$$.callbacks[type] = []) callbacks.push(callback) return () => { const index = callbacks.indexOf(callback) if (index !== -1) callbacks.splice(index, 1) } } $set() { // overridden by instance, if it has props } } function dispatch_dev(type, detail) { document.dispatchEvent(custom_event(type, detail)) } function append_dev(target, node) { dispatch_dev("SvelteDOMInsert", { target, node }) append(target, node) } function insert_dev(target, node, anchor) { dispatch_dev("SvelteDOMInsert", { target, node, anchor }) insert(target, node, anchor) } function detach_dev(node) { dispatch_dev("SvelteDOMRemove", { node }) detach(node) } function listen_dev( node, event, handler, options, has_prevent_default, has_stop_propagation ) { const modifiers = options === true ? ["capture"] : options ? Array.from(Object.keys(options)) : [] if (has_prevent_default) modifiers.push("preventDefault") if (has_stop_propagation) modifiers.push("stopPropagation") dispatch_dev("SvelteDOMAddEventListener", { node, event, handler, modifiers, }) const dispose = listen(node, event, handler, options) return () => { dispatch_dev("SvelteDOMRemoveEventListener", { node, event, handler, modifiers, }) dispose() } } function attr_dev(node, attribute, value) { attr(node, attribute, value) if (value == null) dispatch_dev("SvelteDOMRemoveAttribute", { node, attribute }) else dispatch_dev("SvelteDOMSetAttribute", { node, attribute, value }) } function prop_dev(node, property, value) { node[property] = value dispatch_dev("SvelteDOMSetProperty", { node, property, value }) } function set_data_dev(text, data) { data = "" + data if (text.data === data) return dispatch_dev("SvelteDOMSetData", { node: text, data }) text.data = data } class SvelteComponentDev extends SvelteComponent { constructor(options) { if (!options || (!options.target && !options.$$inline)) { throw new Error(`'target' is a required option`) } super() } $destroy() { super.$destroy() this.$destroy = () => { console.warn(`Component was already destroyed`) // eslint-disable-line no-console } } } const subscriber_queue = [] /** * Create a `Writable` store that allows both updating and reading by subscription. * @param {*=}value initial value * @param {StartStopNotifier=}start start and stop notifications for subscriptions */ function writable(value, start = noop) { let stop const subscribers = [] function set(new_value) { if (safe_not_equal(value, new_value)) { value = new_value if (stop) { // store is ready const run_queue = !subscriber_queue.length for (let i = 0; i < subscribers.length; i += 1) { const s = subscribers[i] s[1]() subscriber_queue.push(s, value) } if (run_queue) { for (let i = 0; i < subscriber_queue.length; i += 2) { subscriber_queue[i][0](subscriber_queue[i + 1]) } subscriber_queue.length = 0 } } } } function update(fn) { set(fn(value)) } function subscribe(run, invalidate = noop) { const subscriber = [run, invalidate] subscribers.push(subscriber) if (subscribers.length === 1) { stop = start(set) || noop } run(value) return () => { const index = subscribers.indexOf(subscriber) if (index !== -1) { subscribers.splice(index, 1) } if (subscribers.length === 0) { stop() stop = null } } } return { set, update, subscribe } } /* src\Textbox.svelte generated by Svelte v3.12.1 */ const file = "src\\Textbox.svelte" // (32:0) {:else} function create_else_block(ctx) { var input, input_class_value const block = { c: function create() { input = element("input") this.h() }, l: function claim(nodes) { input = claim_element( nodes, "INPUT", { class: true, type: true, value: true }, false ) var input_nodes = children(input) input_nodes.forEach(detach_dev) this.h() }, h: function hydrate() { attr_dev( input, "class", (input_class_value = "" + null_to_empty(ctx.className) + " svelte-1ec4wqj") ) attr_dev(input, "type", "text") input.value = ctx.actualValue add_location(input, file, 32, 0, 546) }, m: function mount(target, anchor) { insert_dev(target, input, anchor) }, p: function update(changed, ctx) { if ( changed.className && input_class_value !== (input_class_value = "" + null_to_empty(ctx.className) + " svelte-1ec4wqj") ) { attr_dev(input, "class", input_class_value) } if (changed.actualValue) { prop_dev(input, "value", ctx.actualValue) } }, d: function destroy(detaching) { if (detaching) { detach_dev(input) } }, } dispatch_dev("SvelteRegisterBlock", { block, id: create_else_block.name, type: "else", source: "(32:0) {:else}", ctx, }) return block } // (28:0) {#if hideValue} function create_if_block(ctx) { var input, input_class_value, dispose const block = { c: function create() { input = element("input") this.h() }, l: function claim(nodes) { input = claim_element( nodes, "INPUT", { class: true, type: true, value: true }, false ) var input_nodes = children(input) input_nodes.forEach(detach_dev) this.h() }, h: function hydrate() { attr_dev( input, "class", (input_class_value = "" + null_to_empty(ctx.className) + " svelte-1ec4wqj") ) attr_dev(input, "type", "password") input.value = ctx.actualValue add_location(input, file, 28, 0, 455) dispose = listen_dev(input, "change", ctx.change_handler) }, m: function mount(target, anchor) { insert_dev(target, input, anchor) }, p: function update(changed, ctx) { if ( changed.className && input_class_value !== (input_class_value = "" + null_to_empty(ctx.className) + " svelte-1ec4wqj") ) { attr_dev(input, "class", input_class_value) } if (changed.actualValue) { prop_dev(input, "value", ctx.actualValue) } }, d: function destroy(detaching) { if (detaching) { detach_dev(input) } dispose() }, } dispatch_dev("SvelteRegisterBlock", { block, id: create_if_block.name, type: "if", source: "(28:0) {#if hideValue}", ctx, }) return block } function create_fragment(ctx) { var if_block_anchor function select_block_type(changed, ctx) { if (ctx.hideValue) return create_if_block return create_else_block } var current_block_type = select_block_type(null, ctx) var if_block = current_block_type(ctx) const block = { c: function create() { if_block.c() if_block_anchor = empty() }, l: function claim(nodes) { if_block.l(nodes) if_block_anchor = empty() }, m: function mount(target, anchor) { if_block.m(target, anchor) insert_dev(target, if_block_anchor, anchor) }, p: function update(changed, ctx) { if ( current_block_type === (current_block_type = select_block_type(changed, ctx)) && if_block ) { if_block.p(changed, ctx) } else { if_block.d(1) if_block = current_block_type(ctx) if (if_block) { if_block.c() if_block.m(if_block_anchor.parentNode, if_block_anchor) } } }, i: noop, o: noop, d: function destroy(detaching) { if_block.d(detaching) if (detaching) { detach_dev(if_block_anchor) } }, } dispatch_dev("SvelteRegisterBlock", { block, id: create_fragment.name, type: "component", source: "", ctx, }) return block } function instance($$self, $$props, $$invalidate) { let { value = "", hideValue = false, className = "default", _bb } = $$props let actualValue = "" const writable_props = ["value", "hideValue", "className", "_bb"] Object.keys($$props).forEach(key => { if (!writable_props.includes(key) && !key.startsWith("$$")) console.warn(` was created with unknown prop '${key}'`) }) function change_handler(event) { bubble($$self, event) } $$self.$set = $$props => { if ("value" in $$props) $$invalidate("value", (value = $$props.value)) if ("hideValue" in $$props) $$invalidate("hideValue", (hideValue = $$props.hideValue)) if ("className" in $$props) $$invalidate("className", (className = $$props.className)) if ("_bb" in $$props) $$invalidate("_bb", (_bb = $$props._bb)) } $$self.$capture_state = () => { return { value, hideValue, className, _bb, actualValue } } $$self.$inject_state = $$props => { if ("value" in $$props) $$invalidate("value", (value = $$props.value)) if ("hideValue" in $$props) $$invalidate("hideValue", (hideValue = $$props.hideValue)) if ("className" in $$props) $$invalidate("className", (className = $$props.className)) if ("_bb" in $$props) $$invalidate("_bb", (_bb = $$props._bb)) if ("actualValue" in $$props) $$invalidate("actualValue", (actualValue = $$props.actualValue)) } $$self.$$.update = ($$dirty = { _bb: 1, value: 1 }) => { if ($$dirty._bb || $$dirty.value) { { if (_bb && value._isstate) { _bb.store.subscribe(s => { $$invalidate( "actualValue", (actualValue = _bb.store.getValue(s, value)) ) }) } } } } return { value, hideValue, className, _bb, actualValue, change_handler, } } class Textbox extends SvelteComponentDev { constructor(options) { super(options) init(this, options, instance, create_fragment, safe_not_equal, [ "value", "hideValue", "className", "_bb", ]) dispatch_dev("SvelteRegisterComponent", { component: this, tagName: "Textbox", options, id: create_fragment.name, }) const { ctx } = this.$$ const props = options.props || {} if (ctx._bb === undefined && !("_bb" in props)) { console.warn(" was created without expected prop '_bb'") } } get value() { throw new Error( ": Props cannot be read directly from the component instance unless compiling with 'accessors: true' or ''" ) } set value(value) { throw new Error( ": Props cannot be set directly on the component instance unless compiling with 'accessors: true' or ''" ) } get hideValue() { throw new Error( ": Props cannot be read directly from the component instance unless compiling with 'accessors: true' or ''" ) } set hideValue(value) { throw new Error( ": Props cannot be set directly on the component instance unless compiling with 'accessors: true' or ''" ) } get className() { throw new Error( ": Props cannot be read directly from the component instance unless compiling with 'accessors: true' or ''" ) } set className(value) { throw new Error( ": Props cannot be set directly on the component instance unless compiling with 'accessors: true' or ''" ) } get _bb() { throw new Error( ": Props cannot be read directly from the component instance unless compiling with 'accessors: true' or ''" ) } set _bb(value) { throw new Error( ": Props cannot be set directly on the component instance unless compiling with 'accessors: true' or ''" ) } } /* src\Form.svelte generated by Svelte v3.12.1 */ const file$1 = "src\\Form.svelte" function get_each_context(ctx, list, i) { const child_ctx = Object.create(ctx) child_ctx.child = list[i] child_ctx.index = i return child_ctx } // (30:4) {#each formControls as child, index} function create_each_block(ctx) { var div0, t0_value = ctx.labels[ctx.index] + "", t0, t1, div1, index = ctx.index const assign_div1 = () => ctx.div1_binding(div1, index) const unassign_div1 = () => ctx.div1_binding(null, index) const block = { c: function create() { div0 = element("div") t0 = text(t0_value) t1 = space() div1 = element("div") this.h() }, l: function claim(nodes) { div0 = claim_element(nodes, "DIV", { class: true }, false) var div0_nodes = children(div0) t0 = claim_text(div0_nodes, t0_value) div0_nodes.forEach(detach_dev) t1 = claim_space(nodes) div1 = claim_element(nodes, "DIV", { class: true }, false) var div1_nodes = children(div1) div1_nodes.forEach(detach_dev) this.h() }, h: function hydrate() { attr_dev(div0, "class", "label svelte-m9d6ue") add_location(div0, file$1, 30, 4, 559) attr_dev(div1, "class", "control svelte-m9d6ue") add_location(div1, file$1, 31, 4, 604) }, m: function mount(target, anchor) { insert_dev(target, div0, anchor) append_dev(div0, t0) insert_dev(target, t1, anchor) insert_dev(target, div1, anchor) assign_div1() }, p: function update(changed, new_ctx) { ctx = new_ctx if ( changed.labels && t0_value !== (t0_value = ctx.labels[ctx.index] + "") ) { set_data_dev(t0, t0_value) } if (index !== ctx.index) { unassign_div1() index = ctx.index assign_div1() } }, d: function destroy(detaching) { if (detaching) { detach_dev(div0) detach_dev(t1) detach_dev(div1) } unassign_div1() }, } dispatch_dev("SvelteRegisterBlock", { block, id: create_each_block.name, type: "each", source: "(30:4) {#each formControls as child, index}", ctx, }) return block } function create_fragment$1(ctx) { var div, div_class_value let each_value = ctx.formControls let each_blocks = [] for (let i = 0; i < each_value.length; i += 1) { each_blocks[i] = create_each_block(get_each_context(ctx, each_value, i)) } const block = { c: function create() { div = element("div") for (let i = 0; i < each_blocks.length; i += 1) { each_blocks[i].c() } this.h() }, l: function claim(nodes) { div = claim_element(nodes, "DIV", { class: true }, false) var div_nodes = children(div) for (let i = 0; i < each_blocks.length; i += 1) { each_blocks[i].l(div_nodes) } div_nodes.forEach(detach_dev) this.h() }, h: function hydrate() { attr_dev( div, "class", (div_class_value = "form-root " + ctx.containerClass + " svelte-m9d6ue") ) add_location(div, file$1, 28, 0, 473) }, m: function mount(target, anchor) { insert_dev(target, div, anchor) for (let i = 0; i < each_blocks.length; i += 1) { each_blocks[i].m(div, null) } }, p: function update(changed, ctx) { if (changed.htmlElements || changed.labels || changed.formControls) { each_value = ctx.formControls let i for (i = 0; i < each_value.length; i += 1) { const child_ctx = get_each_context(ctx, each_value, i) if (each_blocks[i]) { each_blocks[i].p(changed, child_ctx) } else { each_blocks[i] = create_each_block(child_ctx) each_blocks[i].c() each_blocks[i].m(div, null) } } for (; i < each_blocks.length; i += 1) { each_blocks[i].d(1) } each_blocks.length = each_value.length } if ( changed.containerClass && div_class_value !== (div_class_value = "form-root " + ctx.containerClass + " svelte-m9d6ue") ) { attr_dev(div, "class", div_class_value) } }, i: noop, o: noop, d: function destroy(detaching) { if (detaching) { detach_dev(div) } destroy_each(each_blocks, detaching) }, } dispatch_dev("SvelteRegisterBlock", { block, id: create_fragment$1.name, type: "component", source: "", ctx, }) return block } function instance$1($$self, $$props, $$invalidate) { let { containerClass = "", formControls = [], _bb } = $$props let htmlElements = {} let labels = {} const writable_props = ["containerClass", "formControls", "_bb"] Object.keys($$props).forEach(key => { if (!writable_props.includes(key) && !key.startsWith("$$")) console.warn(`
was created with unknown prop '${key}'`) }) function div1_binding($$value, index) { if (htmlElements[index] === $$value) return binding_callbacks[$$value ? "unshift" : "push"](() => { htmlElements[index] = $$value $$invalidate("htmlElements", htmlElements) }) } $$self.$set = $$props => { if ("containerClass" in $$props) $$invalidate( "containerClass", (containerClass = $$props.containerClass) ) if ("formControls" in $$props) $$invalidate("formControls", (formControls = $$props.formControls)) if ("_bb" in $$props) $$invalidate("_bb", (_bb = $$props._bb)) } $$self.$capture_state = () => { return { containerClass, formControls, _bb, htmlElements, labels } } $$self.$inject_state = $$props => { if ("containerClass" in $$props) $$invalidate( "containerClass", (containerClass = $$props.containerClass) ) if ("formControls" in $$props) $$invalidate("formControls", (formControls = $$props.formControls)) if ("_bb" in $$props) $$invalidate("_bb", (_bb = $$props._bb)) if ("htmlElements" in $$props) $$invalidate("htmlElements", (htmlElements = $$props.htmlElements)) if ("labels" in $$props) $$invalidate("labels", (labels = $$props.labels)) } $$self.$$.update = ( $$dirty = { formControls: 1, _bb: 1, htmlElements: 1 } ) => { if ($$dirty.formControls || $$dirty._bb || $$dirty.htmlElements) { { let cIndex = 0 for (let c of formControls) { $$invalidate("labels", (labels[cIndex] = c.label), labels) cIndex++ } if (_bb && htmlElements) { for (let el in htmlElements) { _bb.initialiseComponent( formControls[el].control, htmlElements[el] ) } } } } } return { containerClass, formControls, _bb, htmlElements, labels, div1_binding, } } class Form extends SvelteComponentDev { constructor(options) { super(options) init(this, options, instance$1, create_fragment$1, safe_not_equal, [ "containerClass", "formControls", "_bb", ]) dispatch_dev("SvelteRegisterComponent", { component: this, tagName: "Form", options, id: create_fragment$1.name, }) const { ctx } = this.$$ const props = options.props || {} if (ctx._bb === undefined && !("_bb" in props)) { console.warn(" was created without expected prop '_bb'") } } get containerClass() { throw new Error( ": Props cannot be read directly from the component instance unless compiling with 'accessors: true' or ''" ) } set containerClass(value) { throw new Error( ": Props cannot be set directly on the component instance unless compiling with 'accessors: true' or ''" ) } get formControls() { throw new Error( ": Props cannot be read directly from the component instance unless compiling with 'accessors: true' or ''" ) } set formControls(value) { throw new Error( ": Props cannot be set directly on the component instance unless compiling with 'accessors: true' or ''" ) } get _bb() { throw new Error( ": Props cannot be read directly from the component instance unless compiling with 'accessors: true' or ''" ) } set _bb(value) { throw new Error( ": Props cannot be set directly on the component instance unless compiling with 'accessors: true' or ''" ) } } /* src\Button.svelte generated by Svelte v3.12.1 */ const file$2 = "src\\Button.svelte" // (30:4) {:else} function create_else_block$1(ctx) { var current const default_slot_template = ctx.$$slots.default const default_slot = create_slot(default_slot_template, ctx, null) const block = { c: function create() { if (default_slot) default_slot.c() }, l: function claim(nodes) { if (default_slot) default_slot.l(nodes) }, m: function mount(target, anchor) { if (default_slot) { default_slot.m(target, anchor) } current = true }, p: function update(changed, ctx) { if (default_slot && default_slot.p && changed.$$scope) { default_slot.p( get_slot_changes(default_slot_template, ctx, changed, null), get_slot_context(default_slot_template, ctx, null) ) } }, i: function intro(local) { if (current) return transition_in(default_slot, local) current = true }, o: function outro(local) { transition_out(default_slot, local) current = false }, d: function destroy(detaching) { if (default_slot) default_slot.d(detaching) }, } dispatch_dev("SvelteRegisterBlock", { block, id: create_else_block$1.name, type: "else", source: "(30:4) {:else}", ctx, }) return block } // (28:26) function create_if_block_1(ctx) { var t const block = { c: function create() { t = text(ctx.contentText) }, l: function claim(nodes) { t = claim_text(nodes, ctx.contentText) }, m: function mount(target, anchor) { insert_dev(target, t, anchor) }, p: function update(changed, ctx) { if (changed.contentText) { set_data_dev(t, ctx.contentText) } }, i: noop, o: noop, d: function destroy(detaching) { if (detaching) { detach_dev(t) } }, } dispatch_dev("SvelteRegisterBlock", { block, id: create_if_block_1.name, type: "if", source: "(28:26) ", ctx, }) return block } // (25:4) {#if contentComponent && contentComponent._component} function create_if_block$1(ctx) { var div const block = { c: function create() { div = element("div") this.h() }, l: function claim(nodes) { div = claim_element(nodes, "DIV", {}, false) var div_nodes = children(div) div_nodes.forEach(detach_dev) this.h() }, h: function hydrate() { add_location(div, file$2, 25, 1, 543) }, m: function mount(target, anchor) { insert_dev(target, div, anchor) ctx.div_binding(div) }, p: noop, i: noop, o: noop, d: function destroy(detaching) { if (detaching) { detach_dev(div) } ctx.div_binding(null) }, } dispatch_dev("SvelteRegisterBlock", { block, id: create_if_block$1.name, type: "if", source: "(25:4) {#if contentComponent && contentComponent._component}", ctx, }) return block } function create_fragment$2(ctx) { var button, current_block_type_index, if_block, button_class_value, current, dispose var if_block_creators = [ create_if_block$1, create_if_block_1, create_else_block$1, ] var if_blocks = [] function select_block_type(changed, ctx) { if (ctx.contentComponent && ctx.contentComponent._component) return 0 if (ctx.contentText) return 1 return 2 } current_block_type_index = select_block_type(null, ctx) if_block = if_blocks[current_block_type_index] = if_block_creators[ current_block_type_index ](ctx) const block = { c: function create() { button = element("button") if_block.c() this.h() }, l: function claim(nodes) { button = claim_element( nodes, "BUTTON", { class: true, disabled: true }, false ) var button_nodes = children(button) if_block.l(button_nodes) button_nodes.forEach(detach_dev) this.h() }, h: function hydrate() { attr_dev( button, "class", (button_class_value = "" + null_to_empty(ctx.className) + " svelte-1q8lga0") ) button.disabled = ctx.disabled add_location(button, file$2, 23, 0, 422) dispose = listen_dev(button, "click", ctx.clickHandler) }, m: function mount(target, anchor) { insert_dev(target, button, anchor) if_blocks[current_block_type_index].m(button, null) current = true }, p: function update(changed, ctx) { var previous_block_index = current_block_type_index current_block_type_index = select_block_type(changed, ctx) if (current_block_type_index === previous_block_index) { if_blocks[current_block_type_index].p(changed, ctx) } else { group_outros() transition_out(if_blocks[previous_block_index], 1, 1, () => { if_blocks[previous_block_index] = null }) check_outros() if_block = if_blocks[current_block_type_index] if (!if_block) { if_block = if_blocks[current_block_type_index] = if_block_creators[ current_block_type_index ](ctx) if_block.c() } transition_in(if_block, 1) if_block.m(button, null) } if ( (!current || changed.className) && button_class_value !== (button_class_value = "" + null_to_empty(ctx.className) + " svelte-1q8lga0") ) { attr_dev(button, "class", button_class_value) } if (!current || changed.disabled) { prop_dev(button, "disabled", ctx.disabled) } }, i: function intro(local) { if (current) return transition_in(if_block) current = true }, o: function outro(local) { transition_out(if_block) current = false }, d: function destroy(detaching) { if (detaching) { detach_dev(button) } if_blocks[current_block_type_index].d() dispose() }, } dispatch_dev("SvelteRegisterBlock", { block, id: create_fragment$2.name, type: "component", source: "", ctx, }) return block } function instance$2($$self, $$props, $$invalidate) { let { className = "default", disabled = false, contentText, contentComponent, onClick = () => {}, } = $$props let { _bb } = $$props let contentComponentContainer const clickHandler = () => { if (onClick) onClick() } const writable_props = [ "className", "disabled", "contentText", "contentComponent", "onClick", "_bb", ] Object.keys($$props).forEach(key => { if (!writable_props.includes(key) && !key.startsWith("$$")) console.warn(`