@furo/fbp
Version:
Declarative programming with web-components.
1,507 lines • 67 kB
JSON
{
"schemaVersion": "1.0.0",
"readme": "",
"modules": [
{
"kind": "javascript-module",
"path": "src/DOMFBP.js",
"declarations": [
{
"kind": "class",
"description": "DOMFBP allows you to append FBP to any dom element.\n\n**Usage:**\n\n```html\n<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n <meta charset=\"UTF-8\">\n <title>Title</title>\n <script type=\"module\" src=\"https://cdn.jsdelivr.net/npm/@furo/precompiled@2.3.0/dist/furo-fbp.js\"></script>\n <script>\n import(\"https://cdn.jsdelivr.net/npm/@furo/precompiled@2.3.0/dist/DOMFBP.js\").then(() => {\n // activate FBP on body\n const fbphandle = new DOMFBP(document.body)\n // enable tracing\n fbphandle._FBPTraceWires();\n })\n </script>\n</head>\n<body>\n<button at-click=\"--buttonClicked\" fn-remove=\"--buttonClicked\">remove me</button>\n</body>\n</html>\n```\n\n```js\nimport {DOMFBP} from '@furo/fbp/src/DOMFBP.js';\n\n// append fbp to the body\nnew DOMFBP(document.body);\n\n\n```",
"name": "DOMFBP",
"mixins": [
{
"name": "FBP",
"module": "/src/fbp.js"
}
],
"superclass": {
"module": "src/DOMFBP.js"
},
"members": [
{
"kind": "method",
"name": "firstUpdated",
"description": "Auto append fbp for lit elements",
"privacy": "private",
"inheritedFrom": {
"name": "FBP",
"module": "src/fbp.js"
}
},
{
"kind": "method",
"name": "_FBPTriggerWire",
"parameters": [
{
"name": "wire",
"description": "(String) Name of the wire like --buttonClicked"
},
{
"name": "detailData",
"description": "(*) data to pass"
}
],
"description": "Triggers a wire",
"privacy": "private",
"inheritedFrom": {
"name": "FBP",
"module": "src/fbp.js"
}
},
{
"kind": "method",
"name": "_call",
"parameters": [
{
"name": "detailData"
},
{
"name": "receiver"
}
],
"privacy": "private",
"inheritedFrom": {
"name": "FBP",
"module": "src/fbp.js"
}
},
{
"kind": "method",
"name": "_FBPAddWireHook",
"parameters": [
{
"name": "wire",
"description": "(String) Name of the wire"
},
{
"name": "cb",
"description": "(function) Callback function cb(detailData)"
},
{
"name": "before",
"description": "(Boolean) append before the components are triggered, default is false",
"optional": true
}
],
"return": {
"type": {
"text": "number"
}
},
"privacy": "private",
"inheritedFrom": {
"name": "FBP",
"module": "src/fbp.js"
}
},
{
"kind": "method",
"name": "_FBPTraceWires",
"description": "Log all triggered wires for this component. This function may help you at debugging.\nSelect your element in the dev console and call `$0._FBPTraceWires()`",
"privacy": "private",
"inheritedFrom": {
"name": "FBP",
"module": "src/fbp.js"
}
},
{
"kind": "method",
"name": "_FBPDebug",
"parameters": [
{
"name": "wire"
},
{
"name": "openDebugger",
"description": "opens the debugger console, so you can inspect your component."
}
],
"description": "Get information for the triggered wire. This function may help you at debugging.\nSelect your element in the dev console and call `$0._FBPDebug('--dataReceived')`",
"privacy": "private",
"inheritedFrom": {
"name": "FBP",
"module": "src/fbp.js"
}
},
{
"kind": "method",
"name": "__toCamelCase",
"parameters": [
{
"name": "str"
}
],
"return": {
"type": {
"text": "*"
}
},
"privacy": "private",
"inheritedFrom": {
"name": "FBP",
"module": "src/fbp.js"
}
},
{
"kind": "method",
"name": "_appendFBP",
"parameters": [
{
"name": "dom",
"description": "dom node"
}
],
"description": "parses the dom for flowbased programming tags",
"privacy": "private",
"inheritedFrom": {
"name": "FBP",
"module": "src/fbp.js"
}
},
{
"kind": "method",
"name": "_FBPReady",
"description": "Livecycle method\nThis method is called, when the wires are ready.\nAnd triggers the `|--FBPready` wire. This does *not* respect a lit updateComplete",
"privacy": "private",
"inheritedFrom": {
"name": "FBP",
"module": "src/fbp.js"
}
},
{
"kind": "method",
"name": "__enqueueTrigger",
"parameters": [
{
"name": "wire"
},
{
"name": "detailData"
}
],
"privacy": "private",
"inheritedFrom": {
"name": "FBP",
"module": "src/fbp.js"
}
},
{
"kind": "method",
"name": "__resolveWireAndPath",
"parameters": [
{
"name": "w"
}
],
"return": {
"type": {
"text": "{path, receivingWire}"
}
},
"privacy": "private",
"inheritedFrom": {
"name": "FBP",
"module": "src/fbp.js"
}
},
{
"kind": "method",
"name": "_pathGet",
"parameters": [
{
"name": "root",
"description": "Object from which to dereference path from",
"type": {
"text": "Object"
}
},
{
"name": "path",
"description": "Path to read",
"type": {
"text": "string | !Array<string|number>"
}
}
],
"description": "Reads a value from a path. If any sub-property in the path is `undefined`,\nthis method returns `undefined` (will never throw.",
"return": {
"type": {
"text": "*"
}
},
"privacy": "private",
"inheritedFrom": {
"name": "FBP",
"module": "src/fbp.js"
}
},
{
"kind": "method",
"name": "_pathSet",
"parameters": [
{
"name": "root",
"description": "Object from which to dereference path from",
"type": {
"text": "Object"
}
},
{
"name": "path",
"description": "Path to set",
"type": {
"text": "string | !Array<string|number>"
}
},
{
"name": "value",
"description": "Value to set to path",
"type": {
"text": "*"
}
}
],
"description": "Sets a value to a path. If any sub-property in the path is `undefined`,\nthis method will no-op.",
"return": {
"type": {
"text": "string | boolean"
}
},
"privacy": "private",
"inheritedFrom": {
"name": "FBP",
"module": "src/fbp.js"
}
},
{
"kind": "method",
"name": "_split",
"parameters": [
{
"name": "path",
"description": "Input path",
"type": {
"text": "string | !Array<string|number>"
}
}
],
"description": "Splits a path into an array of property names. Accepts either arrays\nof path parts or strings.\n\nExample:\n\n```\nsplit(['foo.bar', 0, 'baz']) // ['foo', 'bar', '0', 'baz']\nsplit('foo.bar.0.baz') // ['foo', 'bar', '0', 'baz']\n```",
"return": {
"type": {
"text": "!Array<string>"
}
},
"privacy": "private",
"inheritedFrom": {
"name": "FBP",
"module": "src/fbp.js"
}
},
{
"kind": "field",
"name": "__FBPEventlistener",
"type": {
"text": "*[]"
},
"description": "used to store the listeners",
"privacy": "private",
"default": "[]",
"inheritedFrom": {
"name": "FBP",
"module": "src/fbp.js"
}
},
{
"kind": "field",
"name": "__wirebundle",
"type": {
"text": "{}"
},
"privacy": "private",
"default": "{}",
"inheritedFrom": {
"name": "FBP",
"module": "src/fbp.js"
}
},
{
"kind": "field",
"name": "__wireQueue",
"type": {
"text": "*[]"
},
"privacy": "private",
"default": "[]",
"inheritedFrom": {
"name": "FBP",
"module": "src/fbp.js"
}
}
]
}
],
"exports": [
{
"kind": "js",
"name": "DOMFBP",
"declaration": {
"name": "DOMFBP",
"module": "src/DOMFBP.js"
}
}
]
},
{
"kind": "javascript-module",
"path": "src/FbpBreakpoints.js",
"declarations": [
{
"kind": "class",
"description": "",
"name": "FbpBreakpoints",
"members": [
{
"kind": "method",
"name": "SetBreakpoints",
"static": true,
"parameters": [
{
"name": "breakpoints"
}
]
},
{
"kind": "method",
"name": "Breakpoints",
"static": true
},
{
"kind": "method",
"name": "GetElementByPath",
"static": true,
"parameters": [
{
"name": "path"
}
],
"description": "This will get the DOM Node for a path produced by FBP._getDomPath",
"return": {
"type": {
"text": "*"
}
}
},
{
"kind": "method",
"name": "getDomPath",
"static": true,
"parameters": [
{
"name": "el"
}
],
"description": "returns the querySelectorable path of the component.\n\nNote: html and body are not included.\n\nsource inspired from https://stackoverflow.com/a/31281201/2946421\n\nEven there is no ::shadow selector in DOM v1, this works fine for us",
"return": {
"type": {
"text": "string"
}
},
"privacy": "private"
}
]
}
],
"exports": [
{
"kind": "js",
"name": "FbpBreakpoints",
"declaration": {
"name": "FbpBreakpoints",
"module": "src/FbpBreakpoints.js"
}
}
]
},
{
"kind": "javascript-module",
"path": "src/empty-fbp-node.js",
"declarations": [
{
"kind": "class",
"description": "",
"name": "EmptyFBPNode",
"mixins": [
{
"name": "FBP",
"module": "/src/fbp.js"
}
],
"superclass": {
"name": "HTMLElement"
},
"tagName": "empty-fbp-node",
"customElement": true,
"members": [
{
"kind": "method",
"name": "firstUpdated",
"description": "Auto append fbp for lit elements",
"privacy": "private",
"inheritedFrom": {
"name": "FBP",
"module": "src/fbp.js"
}
},
{
"kind": "method",
"name": "_FBPTriggerWire",
"parameters": [
{
"name": "wire",
"description": "(String) Name of the wire like --buttonClicked"
},
{
"name": "detailData",
"description": "(*) data to pass"
}
],
"description": "Triggers a wire",
"privacy": "private",
"inheritedFrom": {
"name": "FBP",
"module": "src/fbp.js"
}
},
{
"kind": "method",
"name": "_call",
"parameters": [
{
"name": "detailData"
},
{
"name": "receiver"
}
],
"privacy": "private",
"inheritedFrom": {
"name": "FBP",
"module": "src/fbp.js"
}
},
{
"kind": "method",
"name": "_FBPAddWireHook",
"parameters": [
{
"name": "wire",
"description": "(String) Name of the wire"
},
{
"name": "cb",
"description": "(function) Callback function cb(detailData)"
},
{
"name": "before",
"description": "(Boolean) append before the components are triggered, default is false",
"optional": true
}
],
"return": {
"type": {
"text": "number"
}
},
"privacy": "private",
"inheritedFrom": {
"name": "FBP",
"module": "src/fbp.js"
}
},
{
"kind": "method",
"name": "_FBPTraceWires",
"description": "Log all triggered wires for this component. This function may help you at debugging.\nSelect your element in the dev console and call `$0._FBPTraceWires()`",
"privacy": "private",
"inheritedFrom": {
"name": "FBP",
"module": "src/fbp.js"
}
},
{
"kind": "method",
"name": "_FBPDebug",
"parameters": [
{
"name": "wire"
},
{
"name": "openDebugger",
"description": "opens the debugger console, so you can inspect your component."
}
],
"description": "Get information for the triggered wire. This function may help you at debugging.\nSelect your element in the dev console and call `$0._FBPDebug('--dataReceived')`",
"privacy": "private",
"inheritedFrom": {
"name": "FBP",
"module": "src/fbp.js"
}
},
{
"kind": "method",
"name": "__toCamelCase",
"parameters": [
{
"name": "str"
}
],
"return": {
"type": {
"text": "*"
}
},
"privacy": "private",
"inheritedFrom": {
"name": "FBP",
"module": "src/fbp.js"
}
},
{
"kind": "method",
"name": "_appendFBP",
"parameters": [
{
"name": "dom",
"description": "dom node"
}
],
"description": "parses the dom for flowbased programming tags",
"privacy": "private",
"inheritedFrom": {
"name": "FBP",
"module": "src/fbp.js"
}
},
{
"kind": "method",
"name": "_FBPReady",
"description": "Livecycle method\nThis method is called, when the wires are ready.\nAnd triggers the `|--FBPready` wire. This does *not* respect a lit updateComplete",
"privacy": "private",
"inheritedFrom": {
"name": "FBP",
"module": "src/fbp.js"
}
},
{
"kind": "method",
"name": "__enqueueTrigger",
"parameters": [
{
"name": "wire"
},
{
"name": "detailData"
}
],
"privacy": "private",
"inheritedFrom": {
"name": "FBP",
"module": "src/fbp.js"
}
},
{
"kind": "method",
"name": "__resolveWireAndPath",
"parameters": [
{
"name": "w"
}
],
"return": {
"type": {
"text": "{path, receivingWire}"
}
},
"privacy": "private",
"inheritedFrom": {
"name": "FBP",
"module": "src/fbp.js"
}
},
{
"kind": "method",
"name": "_pathGet",
"parameters": [
{
"name": "root",
"description": "Object from which to dereference path from",
"type": {
"text": "Object"
}
},
{
"name": "path",
"description": "Path to read",
"type": {
"text": "string | !Array<string|number>"
}
}
],
"description": "Reads a value from a path. If any sub-property in the path is `undefined`,\nthis method returns `undefined` (will never throw.",
"return": {
"type": {
"text": "*"
}
},
"privacy": "private",
"inheritedFrom": {
"name": "FBP",
"module": "src/fbp.js"
}
},
{
"kind": "method",
"name": "_pathSet",
"parameters": [
{
"name": "root",
"description": "Object from which to dereference path from",
"type": {
"text": "Object"
}
},
{
"name": "path",
"description": "Path to set",
"type": {
"text": "string | !Array<string|number>"
}
},
{
"name": "value",
"description": "Value to set to path",
"type": {
"text": "*"
}
}
],
"description": "Sets a value to a path. If any sub-property in the path is `undefined`,\nthis method will no-op.",
"return": {
"type": {
"text": "string | boolean"
}
},
"privacy": "private",
"inheritedFrom": {
"name": "FBP",
"module": "src/fbp.js"
}
},
{
"kind": "method",
"name": "_split",
"parameters": [
{
"name": "path",
"description": "Input path",
"type": {
"text": "string | !Array<string|number>"
}
}
],
"description": "Splits a path into an array of property names. Accepts either arrays\nof path parts or strings.\n\nExample:\n\n```\nsplit(['foo.bar', 0, 'baz']) // ['foo', 'bar', '0', 'baz']\nsplit('foo.bar.0.baz') // ['foo', 'bar', '0', 'baz']\n```",
"return": {
"type": {
"text": "!Array<string>"
}
},
"privacy": "private",
"inheritedFrom": {
"name": "FBP",
"module": "src/fbp.js"
}
},
{
"kind": "field",
"name": "__FBPEventlistener",
"type": {
"text": "*[]"
},
"description": "used to store the listeners",
"privacy": "private",
"default": "[]",
"inheritedFrom": {
"name": "FBP",
"module": "src/fbp.js"
}
},
{
"kind": "field",
"name": "__wirebundle",
"type": {
"text": "{}"
},
"privacy": "private",
"default": "{}",
"inheritedFrom": {
"name": "FBP",
"module": "src/fbp.js"
}
},
{
"kind": "field",
"name": "__wireQueue",
"type": {
"text": "*[]"
},
"privacy": "private",
"default": "[]",
"inheritedFrom": {
"name": "FBP",
"module": "src/fbp.js"
}
}
]
}
],
"exports": [
{
"kind": "js",
"name": "EmptyFBPNode",
"declaration": {
"name": "EmptyFBPNode",
"module": "src/empty-fbp-node.js"
}
},
{
"kind": "custom-element-definition",
"name": "empty-fbp-node",
"declaration": {
"name": "EmptyFBPNode",
"module": "src/empty-fbp-node.js"
}
}
]
},
{
"kind": "javascript-module",
"path": "src/fbp.js",
"declarations": [
{
"kind": "mixin",
"description": "",
"name": "FBP",
"members": [
{
"kind": "method",
"name": "firstUpdated",
"description": "Auto append fbp for lit elements",
"privacy": "private"
},
{
"kind": "method",
"name": "_FBPTriggerWire",
"parameters": [
{
"name": "wire",
"description": "(String) Name of the wire like --buttonClicked"
},
{
"name": "detailData",
"description": "(*) data to pass"
}
],
"description": "Triggers a wire",
"privacy": "private"
},
{
"kind": "method",
"name": "_call",
"parameters": [
{
"name": "detailData"
},
{
"name": "receiver"
}
],
"privacy": "private"
},
{
"kind": "method",
"name": "_FBPAddWireHook",
"parameters": [
{
"name": "wire",
"description": "(String) Name of the wire"
},
{
"name": "cb",
"description": "(function) Callback function cb(detailData)"
},
{
"name": "before",
"description": "(Boolean) append before the components are triggered, default is false",
"optional": true
}
],
"return": {
"type": {
"text": "number"
}
},
"privacy": "private"
},
{
"kind": "method",
"name": "_FBPTraceWires",
"description": "Log all triggered wires for this component. This function may help you at debugging.\nSelect your element in the dev console and call `$0._FBPTraceWires()`",
"privacy": "private"
},
{
"kind": "method",
"name": "_FBPDebug",
"parameters": [
{
"name": "wire"
},
{
"name": "openDebugger",
"description": "opens the debugger console, so you can inspect your component."
}
],
"description": "Get information for the triggered wire. This function may help you at debugging.\nSelect your element in the dev console and call `$0._FBPDebug('--dataReceived')`",
"privacy": "private"
},
{
"kind": "method",
"name": "__toCamelCase",
"parameters": [
{
"name": "str"
}
],
"return": {
"type": {
"text": "*"
}
},
"privacy": "private"
},
{
"kind": "method",
"name": "_appendFBP",
"parameters": [
{
"name": "dom",
"description": "dom node"
}
],
"description": "parses the dom for flowbased programming tags",
"privacy": "private"
},
{
"kind": "method",
"name": "_FBPReady",
"description": "Livecycle method\nThis method is called, when the wires are ready.\nAnd triggers the `|--FBPready` wire. This does *not* respect a lit updateComplete",
"privacy": "private"
},
{
"kind": "method",
"name": "__enqueueTrigger",
"parameters": [
{
"name": "wire"
},
{
"name": "detailData"
}
],
"privacy": "private"
},
{
"kind": "method",
"name": "__resolveWireAndPath",
"parameters": [
{
"name": "w"
}
],
"return": {
"type": {
"text": "{path, receivingWire}"
}
},
"privacy": "private"
},
{
"kind": "method",
"name": "_pathGet",
"parameters": [
{
"name": "root",
"description": "Object from which to dereference path from",
"type": {
"text": "Object"
}
},
{
"name": "path",
"description": "Path to read",
"type": {
"text": "string | !Array<string|number>"
}
}
],
"description": "Reads a value from a path. If any sub-property in the path is `undefined`,\nthis method returns `undefined` (will never throw.",
"return": {
"type": {
"text": "*"
}
},
"privacy": "private"
},
{
"kind": "method",
"name": "_pathSet",
"parameters": [
{
"name": "root",
"description": "Object from which to dereference path from",
"type": {
"text": "Object"
}
},
{
"name": "path",
"description": "Path to set",
"type": {
"text": "string | !Array<string|number>"
}
},
{
"name": "value",
"description": "Value to set to path",
"type": {
"text": "*"
}
}
],
"description": "Sets a value to a path. If any sub-property in the path is `undefined`,\nthis method will no-op.",
"return": {
"type": {
"text": "string | boolean"
}
},
"privacy": "private"
},
{
"kind": "method",
"name": "_split",
"parameters": [
{
"name": "path",
"description": "Input path",
"type": {
"text": "string | !Array<string|number>"
}
}
],
"description": "Splits a path into an array of property names. Accepts either arrays\nof path parts or strings.\n\nExample:\n\n```\nsplit(['foo.bar', 0, 'baz']) // ['foo', 'bar', '0', 'baz']\nsplit('foo.bar.0.baz') // ['foo', 'bar', '0', 'baz']\n```",
"return": {
"type": {
"text": "!Array<string>"
}
},
"privacy": "private"
},
{
"kind": "field",
"name": "__FBPEventlistener",
"type": {
"text": "*[]"
},
"description": "used to store the listeners",
"privacy": "private",
"default": "[]"
},
{
"kind": "field",
"name": "__wirebundle",
"type": {
"text": "{}"
},
"privacy": "private",
"default": "{}"
},
{
"kind": "field",
"name": "__wireQueue",
"type": {
"text": "*[]"
},
"privacy": "private",
"default": "[]"
}
],
"parameters": [
{
"name": "superClass"
}
]
}
],
"exports": [
{
"kind": "js",
"name": "FBP",
"declaration": {
"name": "FBP",
"module": "src/fbp.js"
}
}
]
},
{
"kind": "javascript-module",
"path": "src/flow-bind.js",
"declarations": [
{
"kind": "class",
"description": "`flow-bind`\n\n Custom element to allow using furo-fbp's template features in a html document.\n It comes very handy, when you want write tests or make some demos.\n\n```html\n<test-fixture id=\"basic\">\n <template>\n <flow-bind id=\"elem\">\n <template>\n <div id=\"sender\" @-click=\"--data-received\">sender</div>\n <div id=\"receiver\" ƒ-render=\"--data-received\">receiver</div>\n </template>\n </flow-bind>\n </template>\n</test-fixture>\n```",
"name": "FlowBind",
"members": [
{
"kind": "field",
"name": "template",
"privacy": "private"
},
{
"kind": "field",
"name": "_host",
"type": {
"text": "HTMLElement"
},
"privacy": "private",
"default": "elem"
},
{
"kind": "method",
"name": "firstUpdated",
"description": "Auto append fbp for lit elements",
"privacy": "private",
"inheritedFrom": {
"name": "FBP",
"module": "src/fbp.js"
}
},
{
"kind": "method",
"name": "_FBPTriggerWire",
"parameters": [
{
"name": "wire",
"description": "(String) Name of the wire like --buttonClicked"
},
{
"name": "detailData",
"description": "(*) data to pass"
}
],
"description": "Triggers a wire",
"privacy": "private",
"inheritedFrom": {
"name": "FBP",
"module": "src/fbp.js"
}
},
{
"kind": "method",
"name": "_call",
"parameters": [
{
"name": "detailData"
},
{
"name": "receiver"
}
],
"privacy": "private",
"inheritedFrom": {
"name": "FBP",
"module": "src/fbp.js"
}
},
{
"kind": "method",
"name": "_FBPAddWireHook",
"parameters": [
{
"name": "wire",
"description": "(String) Name of the wire"
},
{
"name": "cb",
"description": "(function) Callback function cb(detailData)"
},
{
"name": "before",
"description": "(Boolean) append before the components are triggered, default is false",
"optional": true
}
],
"return": {
"type": {
"text": "number"
}
},
"privacy": "private",
"inheritedFrom": {
"name": "FBP",
"module": "src/fbp.js"
}
},
{
"kind": "method",
"name": "_FBPTraceWires",
"description": "Log all triggered wires for this component. This function may help you at debugging.\nSelect your element in the dev console and call `$0._FBPTraceWires()`",
"privacy": "private",
"inheritedFrom": {
"name": "FBP",
"module": "src/fbp.js"
}
},
{
"kind": "method",
"name": "_FBPDebug",
"parameters": [
{
"name": "wire"
},
{
"name": "openDebugger",
"description": "opens the debugger console, so you can inspect your component."
}
],
"description": "Get information for the triggered wire. This function may help you at debugging.\nSelect your element in the dev console and call `$0._FBPDebug('--dataReceived')`",
"privacy": "private",
"inheritedFrom": {
"name": "FBP",
"module": "src/fbp.js"
}
},
{
"kind": "method",
"name": "__toCamelCase",
"parameters": [
{
"name": "str"
}
],
"return": {
"type": {
"text": "*"
}
},
"privacy": "private",
"inheritedFrom": {
"name": "FBP",
"module": "src/fbp.js"
}
},
{
"kind": "method",
"name": "_appendFBP",
"parameters": [
{
"name": "dom",
"description": "dom node"
}
],
"description": "parses the dom for flowbased programming tags",
"privacy": "private",
"inheritedFrom": {
"name": "FBP",
"module": "src/fbp.js"
}
},
{
"kind": "method",
"name": "_FBPReady",
"description": "Livecycle method\nThis method is called, when the wires are ready.\nAnd triggers the `|--FBPready` wire. This does *not* respect a lit updateComplete",
"privacy": "private",
"inheritedFrom": {
"name": "FBP",
"module": "src/fbp.js"
}
},
{
"kind": "method",
"name": "__enqueueTrigger",
"parameters": [
{
"name": "wire"
},
{
"name": "detailData"
}
],
"privacy": "private",
"inheritedFrom": {
"name": "FBP",
"module": "src/fbp.js"
}
},
{
"kind": "method",
"name": "__resolveWireAndPath",
"parameters": [
{
"name": "w"
}
],
"return": {
"type": {
"text": "{path, receivingWire}"
}
},
"privacy": "private",
"inheritedFrom": {
"name": "FBP",
"module": "src/fbp.js"
}
},
{
"kind": "method",
"name": "_pathGet",
"parameters": [
{
"name": "root",
"description": "Object from which to dereference path from",
"type": {
"text": "Object"
}
},
{
"name": "path",
"description": "Path to read",
"type": {
"text": "string | !Array<string|number>"
}
}
],
"description": "Reads a value from a path. If any sub-property in the path is `undefined`,\nthis method returns `undefined` (will never throw.",
"return": {
"type": {
"text": "*"
}
},
"privacy": "private",
"inheritedFrom": {
"name": "FBP",
"module": "src/fbp.js"
}
},
{
"kind": "method",
"name": "_pathSet",
"parameters": [
{
"name": "root",
"description": "Object from which to dereference path from",
"type": {
"text": "Object"
}
},
{
"name": "path",
"description": "Path to set",
"type": {
"text": "string | !Array<string|number>"
}
},
{
"name": "value",
"description": "Value to set to path",
"type": {
"text": "*"
}
}
],
"description": "Sets a value to a path. If any sub-property in the path is `undefined`,\nthis method will no-op.",
"return": {
"type": {
"text": "string | boolean"
}
},
"privacy": "private",
"inheritedFrom": {
"name": "FBP",
"module": "src/fbp.js"
}
},
{
"kind": "method",
"name": "_split",
"parameters": [
{
"name": "path",
"description": "Input path",
"type": {
"text": "string | !Array<string|number>"
}
}
],
"description": "Splits a path into an array of property names. Accepts either arrays\nof path parts or strings.\n\nExample:\n\n```\nsplit(['foo.bar', 0, 'baz']) // ['foo', 'bar', '0', 'baz']\nsplit('foo.bar.0.baz') // ['foo', 'bar', '0', 'baz']\n```",
"return": {
"type": {
"text": "!Array<string>"
}
},
"privacy": "private",
"inheritedFrom": {
"name": "FBP",
"module": "src/fbp.js"
}
},
{
"kind": "field",
"name": "__FBPEventlistener",
"type": {
"text": "*[]"
},
"description": "used to store the listeners",
"privacy": "private",
"default": "[]",
"inheritedFrom": {
"name": "FBP",
"module": "src/fbp.js"
}
},
{
"kind": "field",
"name": "__wirebundle",
"type": {
"text": "{}"
},
"privacy": "private",
"default": "{}",
"inheritedFrom": {
"name": "FBP",
"module": "src/fbp.js"
}
},
{
"kind": "field",
"name": "__wireQueue",
"type": {
"text": "*[]"
},
"privacy": "private",
"default": "[]",
"inheritedFrom": {
"name": "FBP",
"module": "src/fbp.js"
}
}
],
"mixins": [
{
"name": "FBP",
"module": "/src/fbp.js"
}
],
"superclass": {
"name": "HTMLElement"
},
"summary": "Custom element to allow using furo-fbp's template features in a html document.",
"tagName": "flow-bind",
"customElement": true
}
],
"exports": [
{
"kind": "js",
"name": "FlowBind",
"declaration": {
"name": "FlowBind",
"module": "src/flow-bind.js"
}
},
{
"kind": "custom-element-definition",
"name": "flow-bind",
"declaration": {
"name": "FlowBind",
"module": "src/flow-bind.js"
}
}
]
},
{
"kind": "javascript-module",
"path": "src/flow-repeat.js",
"declarations": [
{
"kind": "class",
"description": "`flow-repeat`\n\nCustom element to repeat Arrays. The repeated items are injected *before* the `flow-repeat` element. If you need the repeated items inside of an other dom node, use [`setInsertRef`](./flow-repeat/#setinsertref)\n\n\n```html\n<flow-repeat ƒ-inject-items=\"--dataArray\">\n <template>\n <repeated-item index=\"${this.index}\" ƒ-inject=\"--init\">\n </template>\n</flow-repeat>\n```\n> **Note**: if you want to bind a repeater node, use `furo-data-flow-repeat`.\n\n\n ## Available wires in the template:\n\n > **Note**: Each repeated item has its own closed scope. You can not use the wires outside of the `template`.\n > Use events to interact with components outside of the template.\n\n- `--init` : contains the repeated item, fired only once on creation of the repeated node\n- `--item` : contains the repeated item, fired on every inject\n- `--firstItem` : contains the repeated item, fired on the first element.\n- `--lastItem` : contains the repeated item, fired on the last element.\n- `--index` : contains a number with the index of the element.\n- `--host` : contains a reference to the host component.\n- `--trigger` : contains what was passed in to the triggering method.\n- `--triggerFirst` : contains what was passed in to the triggering method.\n- `--triggerLast` : contains what was passed in to the triggering method.\n- `--itemSelected` : contains `true`, is triggered with select(index).\n- `--itemDeSelected` : contains `false`, is triggered when another item is selected with select(index).\n\n## Available attributes\n**index** contains the current index of the item. Use this to fire a event with an index like `@-click=\"^^item-clicked(index)\"`\n**item** contains the current index of the item. Use this to fire a event with the repeated item like `@-click=\"^^item-selected(item)\"`",
"name": "FlowRepeat",
"members": [
{
"kind": "method",
"name": "clear",
"description": "Clear the list"
},
{
"kind": "method",
"name": "select",
"parameters": [
{
"name": "index",
"description": "Index of item to select",
"type": {
"text": "int"
}
}
],
"description": "Triggers the wire `--itemSelected` on selected item and `--itemDeSelected` on last selected Item."
},
{
"kind": "method",
"name": "selectIdentity",
"parameters": [
{
"name": "identifier",
"description": "Identity from `identity-path`",
"type": {
"text": "*"
}
}
],
"description": "Select item by its identity.\n\nUsing this method only works when you have set the `identity-path`."
},
{
"kind": "method",
"name": "selectNextIndex",
"description": "Selects next index. If none was selected, the first index will be selected.\n\nIf you reached the last index, the first index will be selected.\n\nIf you reach the last element, `last-element-selected` will fire.\n\nTriggers the wire `--itemSelected` on selected item and `--itemDeSelected` on last selected Item"
},
{
"kind": "method",
"name": "selectPreviousIndex",
"description": "Selects the previous index.\n\nIf you are on the first item, the last will be selected.\n\nTriggers the wire `--itemSelected` on selected item and `--itemDeSelected` on last selected Item"
},
{
"kind": "method",
"name": "triggerSelected",
"parameters": [
{
"name": "data",
"description": "Data to forward.",
"type": {
"text": "*"
}
}
],
"des