@hpcc-js/form 2.8.65 → 2.8.69

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","../../../node_modules/style-inject/dist/style-inject.es.js","../src/Button.ts","../src/CheckBox.ts","../src/ColorInput.ts","../src/Form.ts","../src/Input.ts","../src/FieldForm.ts","../src/InputRange.ts","../src/OnOff.ts","../src/Radio.ts","../src/Range.ts","../src/Select.ts","../src/Slider.ts","../src/TextArea.ts","../src/__package__.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","prototype","hasOwnProperty","call","__extends","TypeError","String","__","this","constructor","create","styleInject","css","ref","insertAt","document","head","getElementsByTagName","style","createElement","type","firstChild","insertBefore","appendChild","styleSheet","cssText","createTextNode","Button","_this","_super","_inputElement","IInput","_tag","enter","domNode","element","context","append","attr","name","on","w","click","blur","value","property","change","update","text","HTMLWidget","_class","implements","CheckBox","checkboxContainer","selectOptions","length","push","forEach","val","idx","node","insertAdjacentHTML","e","vals","indexOf","insertSelectOptions","optionsArr","optionHTML","opt","html","publish","ColorInput","classed","d3Rgb","toString","bbox","getBoundingClientRect","height","Form","data","_","arguments","retVal_1","inputsForEach","input","render","callback","scope","inputs","inp","WidgetArray","content","inp2","inputsMap","retVal","calcMaxColumns","inputWidget","inputWidgetArray","values","dataArr_1","omitBlank","value_exists","undefined","v","submit","isValid","validate","checkValidation","allowEmptyRequest","some","wa","hasValue","clear","classID","allowRange","low","ret","msgArr","label","alert","join","d3Event","preventDefault","_placeholderElement","table","tbody","tfoot","btntd","_controls","default","rightJust","leftJust","target","_maxCols","rows","selectAll","each","i","element2","d3Select","inputWidget2","SVGWidget","getBBox","resize","setTimeout","disable","w2","merge","select","setFocus","exit","remove","showSubmit","row","col","sel","console","log","JSON","stringify","Input","_labelElement","checked","id","inlineLabel_exists","inlineLabel","optional","FieldForm","fields","apply","inpMap_1","map","f","__lparam","columns","key","InputRange","_rangeData","override","OnOff","_input","inner","containerRadius","offText","onText","marginLeft","marginBottom","minWidth","_switch_size","minHeight","gutter","switchRadius","offFontColor","offColor","onFontColor","onColor","Radio","radioContainer","Range","high","step","Select","maxWidth_exists","maxWidth","Slider","handleLeftPos","handleRightPos","handlePath","x","xOffset","y","width","xScale","d3ScaleLinear","clamp","slider","lowDatetime","highDatetime","time_parser","d3TimeParse","timePattern","getTime","parentNode","cloneNode","d3Drag","event","moveStartPos","handleLeftStartPos","handleRightStartPos","moveMode","Math","abs","moveHandleTo","invert","checkChangedValue","insert","fontSize","tickHeight","handleRight","handleLeft","domain","range","padding","x_distance","tickCount","tick_text_arr","tickDateFormat","Q_parser","time_formatter","d3TimeFormat","time_segment","parsed_date","value_formatter","d3Format","tickValueFormat","value_segment","tick_value","tickText","tickTextEnter","tickOffset","lowPos","highPos","updateHandles","prevValue","pos","constrain","nearestStep","round","tags","TextArea","calcHeight","max","minHeight_exists","cols","wrap","spellcheck"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || from);\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","import { IInput } from \"@hpcc-js/api\";\nimport { HTMLWidget } from \"@hpcc-js/common\";\n\nimport \"../src/Input.css\";\n\nexport class Button extends HTMLWidget {\n _inputElement = [];\n\n constructor() {\n super();\n IInput.call(this);\n\n this._tag = \"div\";\n }\n\n enter(domNode, element) {\n super.enter(domNode, element);\n const context = this;\n this._inputElement[0] = element.append(\"button\")\n .attr(\"name\", this.name())\n .on(\"click\", function (w) {\n w.click(w);\n })\n .on(\"blur\", function (w) {\n w.blur(w);\n })\n .on(\"change\", function (w) {\n context.value([context._inputElement[0].property(\"value\")]);\n w.change(w, true);\n })\n ;\n }\n\n update(domNode, element) {\n super.update(domNode, element);\n\n this._inputElement[0].text(this.value());\n }\n\n // IInput ---\n name: { (): string; (_: string): Button };\n name_exists: () => boolean;\n label: { (): string; (_: string): Button };\n label_exists: () => boolean;\n value: { (): any; (_: any): Button };\n value_exists: () => boolean;\n validate: { (): string; (_: string): Button };\n validate_exists: () => boolean;\n}\nButton.prototype._class += \" form_Button\";\nButton.prototype.implements(IInput.prototype);\n","import { IInput } from \"@hpcc-js/api\";\nimport { HTMLWidget } from \"@hpcc-js/common\";\n\nimport \"../src/Input.css\";\n\nexport class CheckBox extends HTMLWidget {\n _inputElement = [];\n\n constructor() {\n super();\n IInput.call(this);\n\n this._tag = \"div\";\n }\n\n enter(domNode, element) {\n super.enter(domNode, element);\n const context = this;\n\n const checkboxContainer = element.append(\"ul\");\n if (!this.selectOptions().length) {\n this.selectOptions().push(\"\"); // create an empty radio if we using .value and not selectOptions array\n }\n this.selectOptions().forEach(function (val, idx) {\n context._inputElement[idx] = checkboxContainer.append(\"li\").append(\"input\").attr(\"type\", \"checkbox\");\n context._inputElement[idx].node().insertAdjacentHTML(\"afterend\", \"<text>\" + val + \"</text>\");\n });\n\n this._inputElement.forEach(function (e, idx) {\n e.attr(\"name\", context.name());\n e.on(\"click\", function (w) {\n w.click(w);\n });\n e.on(\"blur\", function (w) {\n w.blur(w);\n });\n e.on(\"change\", function (w) {\n const vals = [];\n context._inputElement.forEach(function (d) {\n if (d.property(\"checked\")) {\n vals.push(d.property(\"value\"));\n }\n });\n context.value(vals);\n w.change(w, true);\n });\n });\n }\n\n update(domNode, element) {\n super.update(domNode, element);\n\n const context = this;\n\n this._inputElement.forEach(function (e, idx) {\n e.property(\"value\", context.selectOptions()[idx]);\n if (context.value().indexOf(context.selectOptions()[idx]) !== -1 && context.value() !== \"false\") {\n e.property(\"checked\", true);\n } else {\n e.property(\"checked\", false);\n }\n });\n }\n\n insertSelectOptions(optionsArr) {\n let optionHTML = \"\";\n if (optionsArr.length > 0) {\n optionsArr.forEach(function (opt) {\n const val = (opt instanceof Array ? opt[0] : opt);\n const text = (opt instanceof Array ? (opt[1] ? opt[1] : opt[0]) : opt);\n optionHTML += \"<option value='\" + val + \"'>\" + text + \"</option>\";\n });\n } else {\n optionHTML += \"<option>selectOptions not set</option>\";\n }\n this._inputElement[0].html(optionHTML);\n }\n\n selectOptions: { (): any[]; (_: any[]): CheckBox };\n selectOptions_exists: () => boolean;\n\n // IInput ---\n name: { (): string; (_: string): CheckBox };\n name_exists: () => boolean;\n label: { (): string; (_: string): CheckBox };\n label_exists: () => boolean;\n value: { (): any; (_: any): CheckBox };\n value_exists: () => boolean;\n validate: { (): string; (_: string): CheckBox };\n validate_exists: () => boolean;\n}\nCheckBox.prototype._class += \" form_CheckBox\";\nCheckBox.prototype.implements(IInput.prototype);\n\nCheckBox.prototype.publish(\"selectOptions\", [], \"array\", \"Array of options used to fill a dropdown list\");\n","import { IInput } from \"@hpcc-js/api\";\nimport { HTMLWidget } from \"@hpcc-js/common\";\nimport { rgb as d3Rgb } from \"d3-color\";\n\nimport \"../src/Input.css\";\n\nexport class ColorInput extends HTMLWidget {\n _inputElement = [];\n\n constructor() {\n super();\n IInput.call(this);\n\n this._tag = \"div\";\n }\n\n enter(domNode, element) {\n super.enter(domNode, element);\n\n const context = this;\n\n this._inputElement[0] = element.append(\"input\").attr(\"type\", \"text\");\n this._inputElement[0].classed(\"color-text\", true);\n this._inputElement[1] = element.append(\"input\").attr(\"type\", \"color\");\n\n this._inputElement.forEach(function (e, idx) {\n e.on(\"click\", function (w) {\n w.click(w);\n });\n e.on(\"blur\", function (w) {\n w.blur(w);\n });\n e.on(\"change\", function (w) {\n if (idx === 0) {\n context._inputElement[1].property(\"value\", d3Rgb(context._inputElement[0].property(\"value\")).toString());\n context.value(context._inputElement[0].property(\"value\"));\n } else {\n context._inputElement[0].property(\"value\", context._inputElement[1].property(\"value\"));\n context.value(d3Rgb(context._inputElement[1].property(\"value\")).toString());\n }\n w.change(w, true);\n });\n });\n }\n\n update(domNode, element) {\n super.update(domNode, element);\n\n const context = this;\n this._inputElement.forEach(function (e) {\n e.attr(\"name\", context.name());\n });\n\n this._inputElement[0].attr(\"type\", \"text\");\n this._inputElement[1].attr(\"type\", \"color\");\n this._inputElement[0].property(\"value\", this.value());\n this._inputElement[1].property(\"value\", d3Rgb(this.value()).toString());\n\n const bbox = this._inputElement[0].node().getBoundingClientRect();\n this._inputElement[1].style(\"height\", (bbox.height - 2) + \"px\");\n\n }\n\n // IInput ---\n name: { (): string; (_: string): ColorInput };\n name_exists: () => boolean;\n label: { (): string; (_: string): ColorInput };\n label_exists: () => boolean;\n value: { (): any; (_: any): ColorInput };\n value_exists: () => boolean;\n validate: { (): string; (_: string): ColorInput };\n validate_exists: () => boolean;\n}\nColorInput.prototype._class += \" form_ColorInput\";\nColorInput.prototype.implements(IInput.prototype);\n","import { d3Event, HTMLWidget, select as d3Select, SVGWidget, Widget, WidgetArray } from \"@hpcc-js/common\";\nimport { Button } from \"./Button\";\n\nimport \"../src/Form.css\";\n\nexport class Form extends HTMLWidget {\n tbody;\n tfoot;\n btntd;\n _controls;\n _maxCols;\n\n constructor() {\n super();\n\n this._tag = \"form\";\n }\n\n data(): any;\n data(_: any): this;\n data(_?: any): any | this {\n if (!arguments.length) {\n const retVal = [];\n this.inputsForEach(function (input) {\n retVal.push(input.value());\n });\n return retVal;\n } else {\n this.inputsForEach(function (input, idx) {\n if (_ && _.length > idx) {\n input.value(_[idx]).render();\n }\n });\n }\n return this;\n }\n\n inputsForEach(callback, scope?) {\n let idx = 0;\n this.inputs().forEach(function (inp) {\n const inpArray = inp instanceof WidgetArray ? inp.content() : [inp];\n inpArray.forEach(function (inp2) {\n if (scope) {\n callback.call(scope, inp2, idx++);\n } else {\n callback(inp2, idx++);\n }\n });\n });\n }\n\n inputsMap(): { [name: string]: Widget } {\n const retVal: { [name: string]: Widget } = {};\n this.inputs().forEach(function (inp) {\n retVal[inp.name()] = inp;\n });\n return retVal;\n }\n\n calcMaxColumns() {\n let retVal = 0;\n this.inputs().forEach(function (inputWidget) {\n const inputWidgetArray = inputWidget instanceof WidgetArray ? inputWidget.content() : [inputWidget];\n if (inputWidgetArray.length > retVal) {\n retVal = inputWidgetArray.length;\n }\n });\n return retVal;\n }\n\n values(): any;\n values(_: any): this;\n values(_?: any): any | this {\n if (!arguments.length) {\n const dataArr = {};\n this.inputsForEach(function (inp) {\n const type = inp.type ? inp.type() : \"text\";\n const value = inp.value();\n if (value || !this.omitBlank()) {\n switch (type) {\n case \"checkbox\":\n dataArr[inp.name()] = inp.value_exists() ? !!inp.value() : undefined;\n break;\n case \"number\":\n const v = inp.value();\n dataArr[inp.name()] = v === \"\" ? undefined : +v;\n break;\n case \"text\":\n default:\n dataArr[inp.name()] = inp.value_exists() ? inp.value() : undefined;\n break;\n }\n }\n }, this);\n return dataArr;\n } else {\n this.inputsForEach(function (inp) {\n if (_[inp.name()]) {\n inp.value(_[inp.name()]);\n } else if (this.omitBlank()) {\n inp.value(\"\");\n }\n }, this);\n }\n return this;\n }\n\n submit() {\n let isValid = true;\n if (this.validate()) {\n isValid = this.checkValidation();\n }\n if (!this.allowEmptyRequest() && !this.inputs().some(function (w) {\n if (w._class.indexOf(\"WidgetArray\") !== -1) {\n return w.content().some(function (wa) {\n return wa.hasValue();\n });\n }\n return w.hasValue();\n })) {\n return;\n }\n this.click(isValid ? this.values() : null, null, isValid);\n }\n\n clear() {\n this.inputsForEach(function (inp) {\n switch (inp.classID()) {\n case \"form_Slider\":\n if (inp.allowRange()) {\n inp.value([inp.low(), inp.low()]).render();\n } else {\n inp.value(inp.low()).render();\n }\n break;\n case \"form_CheckBox\":\n inp.value(false).render();\n break;\n case \"form_Button\":\n /* skip */\n break;\n default:\n inp.value(undefined).render();\n break;\n }\n });\n }\n\n checkValidation() {\n let ret = true;\n const msgArr = [];\n this.inputsForEach(function (inp) {\n if (!inp.isValid()) {\n msgArr.push(\"'\" + inp.label() + \"'\" + \" value is invalid.\");\n }\n });\n if (msgArr.length > 0) {\n alert(msgArr.join(\"\\n\"));\n ret = false;\n }\n return ret;\n }\n\n enter(domNode, element) {\n super.enter(domNode, element);\n element.on(\"submit\", function () {\n d3Event().preventDefault();\n });\n\n this._placeholderElement.style(\"overflow\", \"auto\");\n const table = element\n .append(\"table\")\n ;\n this.tbody = table.append(\"tbody\");\n this.tfoot = table.append(\"tfoot\");\n this.btntd = this.tfoot.append(\"tr\").append(\"td\")\n .attr(\"colspan\", 2)\n ;\n\n const context = this;\n this._controls = [\n new Button()\n .classed({ default: true })\n .value(\"Submit\")\n .on(\"click\", function () {\n context.submit();\n }, true),\n new Button()\n .value(\"Clear\")\n .on(\"click\", function () {\n context.clear();\n }, true)\n ];\n const rightJust = context.btntd\n .append(\"div\")\n .style(\"float\", \"right\")\n ;\n this._controls.forEach(function (w) {\n const leftJust = rightJust\n .append(\"span\")\n .style(\"float\", \"left\")\n ;\n w.target(leftJust.node()).render();\n });\n }\n\n update(domNode, element) {\n super.update(domNode, element);\n\n this._maxCols = this.calcMaxColumns();\n\n const context = this;\n const rows = this.tbody.selectAll(\"tr\").data(this.inputs());\n rows.enter().append(\"tr\")\n .each(function (inputWidget, i) {\n const element2 = d3Select(this);\n\n const inputWidgetArray = inputWidget instanceof WidgetArray ? inputWidget.content() : [inputWidget];\n inputWidgetArray.forEach(function (inputWidget2, idx) {\n element2.append(\"td\")\n .attr(\"class\", \"prompt\")\n ;\n const input = element2.append(\"td\")\n .attr(\"class\", \"input\")\n ;\n if (idx === inputWidgetArray.length - 1 && inputWidgetArray.length < context._maxCols) {\n input.attr(\"colspan\", (context._maxCols - inputWidgetArray.length + 1) * 2);\n }\n inputWidget2.target(input.node()).render();\n if (inputWidget2 instanceof SVGWidget) {\n const bbox = inputWidget2.element().node().getBBox();\n input.style(\"height\", bbox.height + \"px\");\n inputWidget2.resize().render();\n }\n\n if (inputWidget2._inputElement instanceof Array) {\n inputWidget2._inputElement.forEach(function (e) {\n e.on(\"keyup.form\", function (w) {\n setTimeout(function () {\n\n context._controls[0].disable(!context.allowEmptyRequest() && !context.inputs().some(function (w2) {\n if (w2._class.indexOf(\"WidgetArray\") !== -1) {\n return w2.content().some(function (wa) {\n return wa.hasValue();\n });\n }\n return w2.hasValue();\n }));\n }, 100);\n });\n });\n }\n });\n })\n .merge(rows)\n .each(function (inputWidget, i) {\n const element2 = d3Select(this);\n const inputWidgetArray = inputWidget instanceof WidgetArray ? inputWidget.content() : [inputWidget];\n inputWidgetArray.forEach(function (inputWidget2, idx) {\n element2.select(\"td.prompt\")\n .text(inputWidget2.label() + \":\")\n ;\n });\n })\n ;\n rows.each(function (inputWidget, i) {\n if (i === 0 && inputWidget.setFocus) {\n inputWidget.setFocus();\n }\n });\n rows.exit()\n .each(function (inputWidget, i) {\n const inputWidgetArray = inputWidget instanceof WidgetArray ? inputWidget.content() : [inputWidget];\n inputWidgetArray.forEach(function (inputWidget2, idx) {\n inputWidget2.target(null);\n });\n })\n .remove()\n ;\n\n this.tfoot\n .style(\"display\", this.showSubmit() ? \"table-footer-group\" : \"none\")\n ;\n this.btntd\n .attr(\"colspan\", this._maxCols * 2)\n ;\n\n // Disable Submit unless there is data\n if (!this.allowEmptyRequest()) {\n setTimeout(function () {\n context._controls[0].disable(!context.allowEmptyRequest() && !context.inputs().some(function (w) {\n if (w._class.indexOf(\"WidgetArray\") !== -1) {\n return w.content().some(function (wa) {\n return wa.hasValue();\n });\n }\n return w.hasValue();\n }));\n }, 100);\n }\n\n }\n\n exit(domNode, element) {\n this.inputsForEach(input => input.target(null));\n super.exit(domNode, element);\n }\n\n click(row, col, sel) {\n console.log(\"Clicked Submit: \" + JSON.stringify(row));\n }\n\n validate: { (): boolean; (_: boolean): Form };\n validate_exists: () => boolean;\n inputs: { (): any[]; (_: any[]): Form };\n inputs_exists: () => boolean;\n inputs_reset: () => void;\n showSubmit: { (): boolean; (_: boolean): Form };\n showSubmit_exists: () => boolean;\n omitBlank: { (): boolean; (_: boolean): Form };\n omitBlank_exists: () => boolean;\n allowEmptyRequest: { (): boolean; (_: boolean): Form };\n allowEmptyRequest_exists: () => boolean;\n}\nForm.prototype._class += \" form_Form\";\n\nForm.prototype.publish(\"validate\", true, \"boolean\", \"Enable/Disable input validation\");\nForm.prototype.publish(\"inputs\", [], \"widgetArray\", \"Array of input widgets\", null, { render: false });\nForm.prototype.publish(\"showSubmit\", true, \"boolean\", \"Show Submit/Cancel Controls\");\nForm.prototype.publish(\"omitBlank\", false, \"boolean\", \"Drop Blank Fields From Submit\");\nForm.prototype.publish(\"allowEmptyRequest\", false, \"boolean\", \"Allow Blank Form to be Submitted\");\n","import { IInput } from \"@hpcc-js/api\";\nimport { HTMLWidget } from \"@hpcc-js/common\";\n\nimport \"../src/Input.css\";\n\nexport class Input extends HTMLWidget {\n _inputElement = [];\n _labelElement = [];\n\n constructor() {\n super();\n IInput.call(this);\n\n this._tag = \"div\";\n }\n\n checked(_) {\n if (!arguments.length) return this._inputElement[0] ? this._inputElement[0].property(\"checked\") : false;\n if (this._inputElement[0]) {\n this._inputElement[0].property(\"checked\", _);\n }\n return this;\n }\n\n enter(domNode, element) {\n super.enter(domNode, element);\n\n this._labelElement[0] = element.append(\"label\")\n .attr(\"for\", this.id() + \"_input\")\n .style(\"visibility\", this.inlineLabel_exists() ? \"visible\" : \"hidden\")\n ;\n\n const context = this;\n switch (this.type()) {\n case \"button\":\n this._inputElement[0] = element.append(\"button\")\n .attr(\"id\", this.id() + \"_input\")\n ;\n break;\n case \"textarea\":\n this._inputElement[0] = element.append(\"textarea\")\n .attr(\"id\", this.id() + \"_input\")\n ;\n break;\n default:\n this._inputElement[0] = element.append(\"input\")\n .attr(\"id\", this.id() + \"_input\")\n .attr(\"type\", this.type())\n ;\n break;\n }\n\n this._inputElement.forEach(function (e, idx) {\n e.attr(\"name\", context.name());\n e.on(\"click\", function (w: Input) {\n w.click(w);\n });\n e.on(\"blur\", function (w: Input) {\n w.blur(w);\n });\n e.on(\"change\", function (w: Input) {\n context.value([e.property(\"value\")]);\n w.change(w, true);\n });\n e.on(\"keyup\", function (w: Input) {\n context.value([e.property(\"value\")]);\n w.change(w, false);\n });\n });\n }\n\n update(domNode, element) {\n super.update(domNode, element);\n\n this._labelElement[0]\n .style(\"visibility\", this.inlineLabel_exists() ? \"visible\" : \"hidden\")\n .text(this.inlineLabel())\n ;\n switch (this.type()) {\n case \"button\":\n this._inputElement[0].text(this.value());\n break;\n case \"textarea\":\n this._inputElement[0].property(\"value\", this.value());\n break;\n default:\n this._inputElement[0].attr(\"type\", this.type());\n this._inputElement[0].property(\"value\", this.value());\n break;\n }\n }\n\n type: { (): string; (_: string): Input };\n type_exists: () => boolean;\n type_default: { (): string; (_: string): Input };\n inlineLabel: { (): string; (_: string): Input };\n inlineLabel_exists: () => boolean;\n\n // IInput ---\n name: { (): string; (_: string): Input };\n name_exists: () => boolean;\n label: { (): string; (_: string): Input };\n label_exists: () => boolean;\n value: { (): any; (_: any): Input };\n value_exists: () => boolean;\n validate: { (): string; (_: string): Input };\n validate_exists: () => boolean;\n\n // IInput Events ---\n blur: (w: Input) => void;\n keyup: (w: Input) => void;\n focus: (w: Input) => void;\n click: (w: Input) => void;\n dblclick: (w: Input) => void;\n change: (w: Input, complete: boolean) => void;\n}\nInput.prototype._class += \" form_Input\";\nInput.prototype.implements(IInput.prototype);\n\nInput.prototype.publish(\"type\", \"text\", \"set\", \"Input type\", [\"number\", \"button\", \"checkbox\", \"date\", \"text\", \"textarea\", \"search\", \"email\", \"time\", \"datetime\", \"hidden\"]);\nInput.prototype.publish(\"inlineLabel\", null, \"string\", \"Input Label\", null, { optional: true });\n","import { Database } from \"@hpcc-js/common\";\nimport { Form } from \"./Form\";\nimport { Input } from \"./Input\";\n\nimport \"../src/Form.css\";\n\nexport class FieldForm extends Form {\n\n constructor() {\n super();\n\n this._tag = \"form\";\n }\n\n fields(): Database.Field[];\n fields(_: Database.Field[]): this;\n fields(_?: Database.Field[]): Database.Field[] | this {\n const retVal = super.fields.apply(this, arguments);\n if (arguments.length) {\n const inpMap = this.inputsMap();\n this.inputs(_.map(f => inpMap[f.id()] || new Input()\n .name(f.id())\n .label(f.label())\n .type(f.type())\n ));\n }\n return retVal;\n }\n\n data(): any;\n data(_: any): this;\n data(_?: any): any | this {\n if (!arguments.length) return super.data();\n super.data(_[0]);\n if (_[0]) {\n // Update input \"name\" with the __lparam ids ---\n const inputs = this.inputs();\n const __lparam = _[0][this.columns().length];\n let i = 0;\n for (const key in __lparam) {\n inputs[i].name(key);\n ++i;\n }\n }\n return this;\n }\n\n}\nFieldForm.prototype._class += \" form_FieldForm\";\n","import { IInput } from \"@hpcc-js/api\";\nimport { HTMLWidget } from \"@hpcc-js/common\";\n\nimport \"../src/Input.css\";\n\nexport class InputRange extends HTMLWidget {\n _inputElement = [];\n _labelElement = [];\n _rangeData = [];\n\n constructor() {\n super();\n IInput.call(this);\n\n this._tag = \"div\";\n }\n\n enter(domNode, element) {\n super.enter(domNode, element);\n\n this._labelElement[0] = element.append(\"label\")\n .attr(\"for\", this.id() + \"_input\")\n .style(\"visibility\", this.inlineLabel_exists() ? \"visible\" : \"hidden\")\n ;\n\n this._inputElement.push(element.append(\"input\")\n .attr(\"id\", this.id() + \"_input_min\")\n .attr(\"type\", this.type()));\n this._inputElement.push(element.append(\"input\")\n .attr(\"id\", this.id() + \"_input_max\")\n .attr(\"type\", this.type()));\n\n const context = this;\n this._inputElement.forEach(function (e, idx) {\n e.attr(\"name\", context.name());\n e.on(\"click\", function (w) {\n w.click(w);\n });\n e.on(\"blur\", function (w) {\n w.blur(w);\n });\n e.on(\"change\", function (w) {\n context._rangeData[idx] = e.property(\"value\");\n context.value(context._rangeData);\n w.change(w, true);\n });\n });\n }\n\n update(domNode, element) {\n super.update(domNode, element);\n\n this._labelElement[0]\n .style(\"visibility\", this.inlineLabel_exists() ? \"visible\" : \"hidden\")\n .text(this.inlineLabel())\n ;\n\n this._rangeData = this.value();\n this._inputElement.forEach(function (e, idx) {\n e\n .attr(\"type\", this.type())\n .property(\"value\", this._rangeData.length > idx ? this._rangeData[idx] : \"\");\n }, this);\n }\n\n type: { (): string; (_: string): InputRange };\n type_exists: () => boolean;\n inlineLabel: { (): string; (_: string): InputRange };\n inlineLabel_exists: () => boolean;\n value: { (): any[]; (_: any[]): InputRange };\n value_exists: () => boolean;\n\n // IInput ---\n name: { (): string; (_: string): InputRange };\n name_exists: () => boolean;\n label: { (): string; (_: string): InputRange };\n label_exists: () => boolean;\n validate: { (): string; (_: string): InputRange };\n validate_exists: () => boolean;\n}\nInputRange.prototype._class += \" form_InputRange\";\nInputRange.prototype.implements(IInput.prototype);\n\nInputRange.prototype.publish(\"type\", \"text\", \"set\", \"InputRange type\", [\"number\", \"date\", \"text\", \"time\", \"datetime\", \"hidden\"]);\nInputRange.prototype.publish(\"inlineLabel\", null, \"string\", \"InputRange Label\", null, { optional: true });\nInputRange.prototype.publish(\"value\", [\"\", \"\"], \"array\", \"Input Current Value\", null, { override: true });\n","import { IInput } from \"@hpcc-js/api\";\nimport { HTMLWidget } from \"@hpcc-js/common\";\n\nimport \"../src/OnOff.css\";\n\nexport class OnOff extends HTMLWidget {\n _inputElement = [];\n _input;\n\n constructor() {\n super();\n IInput.call(this);\n\n this._tag = \"div\";\n }\n\n enter(domNode, element) {\n super.enter(domNode, element);\n element.classed(\"onoffswitch\", true);\n const context = this;\n this._input = element.append(\"input\")\n .attr(\"class\", \"onoffswitch-checkbox\")\n .attr(\"type\", \"checkbox\")\n .attr(\"id\", this.id() + \"_onOff\")\n .on(\"click\", function (w) {\n w.click(w);\n })\n .on(\"blur\", function (w) {\n w.blur(w);\n })\n .on(\"change\", function (w) {\n const vals = [];\n context._inputElement.forEach(function (d, idx) {\n if (d.property(\"checked\")) {\n vals.push(d.property(\"value\"));\n }\n });\n context.value(vals);\n w.change(w, true);\n })\n ;\n const label = element.append(\"label\")\n .attr(\"class\", \"onoffswitch-label\")\n .attr(\"for\", this.id() + \"_onOff\")\n ;\n const inner = label.append(\"div\")\n .attr(\"class\", \"onoffswitch-inner\")\n ;\n inner.append(\"div\")\n .attr(\"class\", \"onoffswitch-offText\")\n .style(\"padding-right\", (this.containerRadius() / 2) + \"px\")\n .text(this.offText())\n ;\n inner.append(\"div\")\n .attr(\"class\", \"onoffswitch-onText\")\n .style(\"padding-left\", (this.containerRadius() / 2) + \"px\")\n .style(\"width\", `calc(100% - ${(this.containerRadius() / 2)}px)`)\n .text(this.onText())\n ;\n label.append(\"div\")\n .attr(\"class\", \"onoffswitch-switch\")\n ;\n }\n\n update(domNode, element) {\n super.update(domNode, element);\n this._input\n .attr(\"name\", this.name())\n ;\n element\n .style(\"margin-left\", this.marginLeft() + \"px\")\n .style(\"margin-bottom\", this.marginBottom() + \"px\")\n .style(\"width\", this.minWidth() + \"px\")\n ;\n\n const _switch_size = this.minHeight() - (this.gutter() * 4);\n\n element.select(\".onoffswitch-switch\")\n .style(\"height\", _switch_size + \"px\")\n .style(\"width\", _switch_size + \"px\")\n .style(\"top\", (this.gutter() * 2) + 1 + \"px\")\n .style(\"border-radius\", this.switchRadius() + \"px\")\n ;\n element.select(\".onoffswitch-inner\")\n .style(\"min-height\", this.minHeight() + \"px\")\n ;\n element.select(\".onoffswitch-label\")\n .style(\"border-radius\", this.containerRadius() + \"px\")\n ;\n element.select(\".onoffswitch-offText\")\n .style(\"color\", this.offFontColor())\n .style(\"background-color\", this.offColor())\n ;\n element.select(\".onoffswitch-onText\")\n .style(\"color\", this.onFontColor())\n .style(\"background-color\", this.onColor())\n ;\n }\n\n // IInput ---\n name: { (): string; (_: string): OnOff };\n name_exists: () => boolean;\n label: { (): string; (_: string): OnOff };\n label_exists: () => boolean;\n value: { (): any; (_: any): OnOff };\n value_exists: () => boolean;\n validate: { (): string; (_: string): OnOff };\n validate_exists: () => boolean;\n}\nOnOff.prototype._class += \" form_OnOff\";\nexport interface OnOff {\n marginLeft(): number;\n marginLeft(_: number): this;\n marginBottom(): number;\n marginBottom(_: number): this;\n minWidth(): number;\n minWidth(_: number): this;\n minHeight(): number;\n minHeight(_: number): this;\n gutter(): number;\n gutter(_: number): this;\n offText(): string;\n offText(_: string): this;\n onText(): string;\n onText(_: string): this;\n switchRadius(): number;\n switchRadius(_: number): this;\n containerRadius(): number;\n containerRadius(_: number): this;\n offColor(): string;\n offColor(_: string): this;\n onColor(): string;\n onColor(_: string): this;\n offFontColor(): string;\n offFontColor(_: string): this;\n onFontColor(): string;\n onFontColor(_: string): this;\n\n}\nOnOff.prototype.implements(IInput.prototype);\n\nOnOff.prototype.publish(\"marginLeft\", 0, \"number\", \"Margin left of OnOff\");\nOnOff.prototype.publish(\"marginBottom\", 0, \"number\", \"Margin bottom of OnOff\");\nOnOff.prototype.publish(\"minWidth\", 100, \"number\", \"Minimum width of OnOff (pixels)\");\nOnOff.prototype.publish(\"minHeight\", 20, \"number\", \"Minimum height of OnOff (pixels)\");\nOnOff.prototype.publish(\"gutter\", 1, \"number\", \"Space between switch and border of OnOff (pixels)\");\nOnOff.prototype.publish(\"onText\", \"Save\", \"string\", \"Text to display when 'ON'\");\nOnOff.prototype.publish(\"offText\", \"Properties\", \"string\", \"Text to display when 'OFF'\");\nOnOff.prototype.publish(\"switchRadius\", 10, \"number\", \"Border radius of switch (pixels)\");\nOnOff.prototype.publish(\"containerRadius\", 10, \"number\", \"Border radius of OnOff (pixels)\");\nOnOff.prototype.publish(\"onColor\", \"#2ecc71\", \"html-color\", \"Background color when 'ON'\");\nOnOff.prototype.publish(\"offColor\", \"#ecf0f1\", \"html-color\", \"Background color when 'OFF'\");\nOnOff.prototype.publish(\"onFontColor\", \"#2c3e50\", \"html-color\", \"Font color when 'ON'\");\nOnOff.prototype.publish(\"offFontColor\", \"#7f8c8d\", \"html-color\", \"Font color when 'OFF'\");\n","import { IInput } from \"@hpcc-js/api\";\nimport { HTMLWidget } from \"@hpcc-js/common\";\n\nimport \"../src/Input.css\";\n\nexport class Radio extends HTMLWidget {\n _inputElement = [];\n constructor() {\n super();\n IInput.call(this);\n\n this._tag = \"div\";\n }\n\n enter(domNode, element) {\n super.enter(domNode, element);\n\n const context = this;\n\n const radioContainer = element.append(\"ul\");\n if (!this.selectOptions().length) {\n this.selectOptions().push(\"\"); // create an empty radio if we using .value and not selectOptions array\n }\n this.selectOptions().forEach(function (val, idx) {\n context._inputElement[idx] = radioContainer.append(\"li\").append(\"input\").attr(\"type\", \"radio\");\n context._inputElement[idx].node().insertAdjacentHTML(\"afterend\", \"<text>\" + val + \"</text>\");\n });\n\n this._inputElement.forEach(function (e, idx) {\n e.attr(\"name\", context.name());\n e.on(\"click\", function (w) {\n w.click(w);\n });\n e.on(\"blur\", function (w) {\n w.blur(w);\n });\n e.on(\"change\", function (w) {\n context.value([e.property(\"value\")]);\n w.change(w, true);\n });\n });\n }\n\n update(domNode, element) {\n super.update(domNode, element);\n\n const context = this;\n\n this._inputElement.forEach(function (e, idx) {\n e.property(\"value\", context.selectOptions()[idx]);\n if (context.value().indexOf(context.selectOptions()[idx]) !== -1 && context.value() !== \"false\") {\n e.property(\"checked\", true);\n } else {\n e.property(\"checked\", false);\n }\n });\n }\n\n selectOptions: { (): any[]; (_: any[]): Radio };\n selectOptions_exists: () => boolean;\n\n // IInput ---\n name: { (): string; (_: string): Radio };\n name_exists: () => boolean;\n label: { (): string; (_: string): Radio };\n label_exists: () => boolean;\n value: { (): any; (_: any): Radio };\n value_exists: () => boolean;\n validate: { (): string; (_: string): Radio };\n validate_exists: () => boolean;\n}\nRadio.prototype._class += \" form_Radio\";\nRadio.prototype.implements(IInput.prototype);\n\nRadio.prototype.publish(\"selectOptions\", [], \"array\", \"Array of options used to fill a dropdown list\");\n","import { IInput } from \"@hpcc-js/api\";\nimport { HTMLWidget } from \"@hpcc-js/common\";\nimport { rgb as d3Rgb } from \"d3-color\";\n\nimport \"../src/Input.css\";\n\nexport class Range extends HTMLWidget {\n _inputElement = [];\n\n constructor() {\n super();\n\n IInput.call(this);\n\n this._tag = \"div\";\n }\n\n enter(domNode, element) {\n super.enter(domNode, element);\n\n const context = this;\n\n this._inputElement[0] = element.append(\"input\").attr(\"type\", \"range\");\n this._inputElement[1] = element.append(\"input\").attr(\"type\", \"number\");\n\n this._inputElement.forEach(function (e, idx) {\n e.attr(\"name\", context.name());\n e.on(\"click\", function (w) {\n w.click(w);\n });\n e.on(\"blur\", function (w) {\n w.blur(w);\n });\n e.on(\"change\", function (w) {\n if (idx === 0) {\n context._inputElement[1].property(\"value\", d3Rgb(context._inputElement[0].property(\"value\")).toString());\n context.value(context._inputElement[0].property(\"value\"));\n } else {\n context._inputElement[0].property(\"value\", context._inputElement[1].property(\"value\"));\n context.value(d3Rgb(context._inputElement[1].property(\"value\")).toString());\n }\n w.change(w, true);\n });\n });\n }\n\n update(domNode, element) {\n super.update(domNode, element);\n\n this._inputElement[0].attr(\"type\", \"range\");\n this._inputElement[0].property(\"value\", this.value());\n this._inputElement[0].attr(\"min\", this.low());\n this._inputElement[0].attr(\"max\", this.high());\n this._inputElement[0].attr(\"step\", this.step());\n this._inputElement[1].attr(\"type\", \"number\");\n this._inputElement[1].property(\"value\", this.value());\n this._inputElement[1].attr(\"min\", this.low());\n this._inputElement[1].attr(\"max\", this.high());\n this._inputElement[1].attr(\"step\", this.step());\n }\n\n insertSelectOptions(optionsArr) {\n let optionHTML = \"\";\n if (optionsArr.length > 0) {\n optionsArr.forEach(function (opt) {\n const val = (opt instanceof Array ? opt[0] : opt);\n const text = (opt instanceof Array ? (opt[1] ? opt[1] : opt[0]) : opt);\n optionHTML += \"<option value='\" + val + \"'>\" + text + \"</option>\";\n });\n } else {\n optionHTML += \"<option>selectOptions not set</option>\";\n }\n this._inputElement[0].html(optionHTML);\n }\n\n type: { (): string; (_: string): Range };\n type_exists: () => boolean;\n selectOptions: { (): any[]; (_: any[]): Range };\n selectOptions_exists: () => boolean;\n low: { (): number; (_: number): Range };\n low_exists: () => boolean;\n high: { (): number; (_: number): Range };\n high_exists: () => boolean;\n step: { (): number; (_: number): Range };\n step_exists: () => boolean;\n\n // IInput ---\n name: { (): string; (_: string): Range };\n name_exists: () => boolean;\n label: { (): string; (_: string): Range };\n label_exists: () => boolean;\n value: { (): any; (_: any): Range };\n value_exists: () => boolean;\n validate: { (): string; (_: string): Range };\n validate_exists: () => boolean;\n}\nRange.prototype._class += \" form_Range\";\nRange.prototype.implements(IInput.prototype);\n\nRange.prototype.publish(\"type\", \"text\", \"set\", \"Input type\", [\"html-color\", \"number\", \"checkbox\", \"button\", \"select\", \"textarea\", \"date\", \"text\", \"range\", \"search\", \"email\", \"time\", \"datetime\"]);\nRange.prototype.publish(\"selectOptions\", [], \"array\", \"Array of options used to fill a dropdown list\");\nRange.prototype.publish(\"low\", null, \"number\", \"Minimum value for Range input\");\nRange.prototype.publish(\"high\", null, \"number\", \"Maximum value for Range input\");\nRange.prototype.publish(\"step\", null, \"number\", \"Step value for Range input\");\n","import { IInput } from \"@hpcc-js/api\";\nimport { HTMLWidget } from \"@hpcc-js/common\";\n\nimport \"../src/Input.css\";\n\nexport class Select extends HTMLWidget {\n _inputElement = [];\n\n constructor() {\n super();\n\n IInput.call(this);\n\n this._tag = \"div\";\n }\n\n enter(domNode, element) {\n super.enter(domNode, element);\n\n const context = this;\n\n this._inputElement[0] = element.append(\"select\")\n .attr(\"name\", this.name())\n .on(\"click\", function (w) {\n w.click(w);\n })\n .on(\"blur\", function (w) {\n w.blur(w);\n })\n .on(\"change\", function (w) {\n context.value([context._inputElement[0].property(\"value\")]);\n w.change(w, true);\n })\n ;\n }\n\n update(domNode, element) {\n super.update(domNode, element);\n\n this.insertSelectOptions(this.selectOptions());\n this._inputElement[0]\n .property(\"value\", this.value())\n .style(\"max-width\", this.maxWidth_exists() ? this.maxWidth() + \"px\" : null)\n ;\n }\n\n insertSelectOptions(optionsArr) {\n let optionHTML = \"\";\n if (optionsArr.length > 0) {\n optionsArr.forEach(function (opt) {\n const val = (opt instanceof Array ? opt[0] : opt);\n const text = (opt instanceof Array ? (opt[1] ? opt[1] : opt[0]) : opt);\n optionHTML += \"<option value='\" + val + \"'>\" + text + \"</option>\";\n });\n } else {\n optionHTML += \"<option>selectOptions not set</option>\";\n }\n this._inputElement[0].html(optionHTML);\n }\n\n selectOptions: { (): any[]; (_: any[]): Select };\n selectOptions_exists: () => boolean;\n maxWidth: { (): number; (_: number): Select };\n maxWidth_exists: () => boolean;\n\n // IInput ---\n name: { (): string; (_: string): Select };\n name_exists: () => boolean;\n label: { (): string; (_: string): Select };\n label_exists: () => boolean;\n value: { (): any; (_: any): Select };\n value_exists: () => boolean;\n validate: { (): string; (_: string): Select };\n validate_exists: () => boolean;\n}\nSelect.prototype._class += \" form_Select\";\nSelect.prototype.implements(IInput.prototype);\n\nSelect.prototype.publish(\"selectOptions\", [], \"array\", \"Array of options used to fill a dropdown list\");\nSelect.prototype.publish(\"maxWidth\", 120, \"number\", \"Width\", null, { optional: true });\n","import { IInput } from \"@hpcc-js/api\";\nimport { d3Event, select as d3Select, SVGWidget } from \"@hpcc-js/common\";\nimport { drag as d3Drag } from \"d3-drag\";\nimport { format as d3Format } from \"d3-format\";\nimport { scaleLinear as d3ScaleLinear } from \"d3-scale\";\nimport { timeFormat as d3TimeFormat, timeParse as d3TimeParse } from \"d3-time-format\";\n\nimport \"../src/Slider.css\";\n\nexport class Slider extends SVGWidget {\n xScale;\n\n moveMode: \"both\" | \"left\" | \"right\";\n moveStartPos: number;\n\n prevValue;\n\n slider;\n\n handleLeft;\n handleLeftPos: number = 0;\n handleLeftStartPos: number;\n\n handleRight;\n handleRightPos: number = 0;\n handleRightStartPos: number;\n\n constructor() {\n super();\n IInput.call(this);\n }\n\n enter(domNode, element) {\n super.enter(domNode, element);\n this.resize({ width: this.width(), height: 50 });\n\n this.xScale = d3ScaleLinear()\n .clamp(true);\n\n this.slider = element.append(\"g\")\n .attr(\"class\", \"slider\")\n ;\n if (this.low() === null && this.high() === null) {\n if (this.lowDatetime() !== null && this.highDatetime() !== null) {\n const time_parser = d3TimeParse(this.timePattern() ? this.timePattern() : \"%Q\");\n this.low(time_parser(this.lowDatetime()).getTime());\n this.high(time_parser(this.highDatetime()).getTime());\n }\n }\n this.slider.append(\"line\")\n .attr(\"class\", \"track\")\n .select(function () { return this.parentNode.appendChild(this.cloneNode(true)); })\n .attr(\"class\", \"track-inset\")\n .select(function () { return this.parentNode.appendChild(this.cloneNode(true)); })\n .attr(\"class\", \"track-overlay\")\n .call(d3Drag()\n .on(\"start\", () => {\n const event = d3Event();\n this.moveStartPos = event.x;\n this.handleLeftStartPos = this.handleLeftPos;\n this.handleRightStartPos = this.handleRightPos;\n if (this.allowRange() && this.handleLeftPos <= event.x && event.x <= this.handleRightPos) {\n this.moveMode = \"both\";\n } else if (Math.abs(event.x - this.handleLeftPos) < Math.abs(event.x - this.handleRightPos)) {\n this.moveMode = \"left\";\n } else {\n this.moveMode = \"right\";\n }\n this.moveHandleTo(event.x);\n })\n .on(\"drag\", () => {\n this.moveHandleTo(d3Event().x);\n })\n .on(\"end\", () => {\n this.moveHandleTo(d3Event().x);\n this.data([[this.xScale.invert(this.handleLeftPos), this.xScale.invert(this.handleRightPos)]]);\n this.checkChangedValue();\n }));\n\n this.slider.insert(\"g\", \".track-overlay\")\n .attr(\"class\", \"ticks\")\n .attr(\"transform\", `translate(0, ${this.fontSize() + (this.tickHeight() / 2)})`)\n ;\n\n this.handleRight = this.slider.insert(\"path\", \".track-overlay\")\n .attr(\"class\", \"handle\")\n ;\n\n this.handleLeft = this.slider.insert(\"path\", \".track-overlay\")\n .attr(\"class\", \"handle\")\n ;\n }\n\n update(domNode, element) {\n super.update(domNode, element);\n const context = this;\n this.xScale\n .domain([this.low(), this.high()])\n .range([0, this.width() - this.padding() * 2])\n ;\n\n this.slider\n .attr(\"transform\", \"translate(\" + (-this.width() / 2 + this.padding()) + \",\" + 0 + \")\");\n\n this.slider.selectAll(\"line.track,line.track-inset,line.track-overlay\")\n .attr(\"x1\", this.xScale.range()[0])\n .attr(\"x2\", this.xScale.range()[1])\n ;\n\n const x_distance = (this.width() - (this.padding() * 2)) / (this.tickCount() - 1);\n\n const tick_text_arr = [];\n if (this.tickDateFormat() !== null && this.timePattern() !== null) {\n const Q_parser = d3TimeParse(\"%Q\");\n const time_formatter = d3TimeFormat(this.tickDateFormat());\n const time_segment = (this.high() - this.low()) / (this.tickCount() - 1);\n for (let i = 0; i < this.tickCount(); i++) {\n const date_to_parse = \"\" + (this.low() + (time_segment * i));\n const parsed_date = Q_parser(date_to_parse);\n tick_text_arr.push(time_formatter(parsed_date));\n }\n } else {\n const value_formatter = d3Format(this.tickValueFormat());\n const value_segment = (this.high() - this.low()) / (this.tickCount() - 1);\n for (let i = 0; i < this.tickCount(); i++) {\n const tick_value = this.low() + (value_segment * i);\n tick_text_arr.push(value_formatter(tick_value));\n }\n }\n const tickText = this.slider.selectAll(\"g.tick\").data(tick_text_arr);\n const tickTextEnter = tickText.enter().append(\"g\").attr(\"class\", \"tick\");\n\n tickTextEnter.append(\"text\").attr(\"class\", \"tick-text\");\n tickTextEnter.append(\"line\").attr(\"class\", \"tick-line\");\n tickTextEnter\n .merge(tickText)\n .each(function (d, i) {\n const x = x_distance * i;\n\n d3Select(this).select(\"text.tick-text\")\n .style(\"font-size\", context.fontSize())\n .attr(\"x\", function () {\n if (i === 0) return x - 2;\n return i === context.tickCount() - 1 ? x + 2 : x;\n })\n .attr(\"y\", context.tickHeight() + (context.tickOffset() / 2) + context.fontSize())\n .attr(\"text-basline\", \"text-before-edge\")\n .attr(\"text-anchor\", function () {\n if (i === 0) return \"start\";\n return i === context.tickCount() - 1 ? \"end\" : \"middle\";\n })\n .text(() => d)\n ;\n\n d3Select(this).select(\"line.tick-line\")\n .attr(\"x1\", x)\n .attr(\"x2\", x)\n .attr(\"y1\", context.tickOffset() - 1)\n .attr(\"y2\", context.tickOffset() + context.tickHeight())\n .style(\"stroke\", \"#000\")\n .style(\"stroke-width\", 1)\n ;\n });\n this.slider.node().appendChild(this.handleRight.node());\n this.slider.node().appendChild(this.handleLeft.node());\n this.handleLeftPos = this.lowPos();\n this.handleRightPos = this.highPos();\n this.updateHandles();\n this.checkChangedValue();\n }\n\n checkChangedValue() {\n if (this.prevValue !== this.value() && typeof this.prevValue !== \"undefined\") {\n this.change(this);\n }\n this.prevValue = this.value();\n }\n\n updateHandles() {\n this.handleLeft\n .attr(\"transform\", `translate(${this.handleLeftPos}, -28)`)\n .attr(\"d\", (d) => this.handlePath(\"l\"))\n ;\n this.handleRight\n .attr(\"transform\", `translate(${this.handleRightPos}, -28)`)\n .attr(\"d\", (d) => this.handlePath(\"r\"))\n ;\n }\n\n lowPos(): number {\n let data = [[this.low(), this.high()]];\n if (this.data().length > 0 && typeof this.data()[0][0] === \"number\" && typeof this.data()[0][1] === \"number\") {\n data = this.data();\n }\n return this.xScale(data[0][0]);\n }\n\n highPos(): number {\n let data = [[this.low(), this.high()]];\n if (this.data().length > 0 && typeof this.data()[0][0] === \"number\" && typeof this.data()[0][1] === \"number\") {\n data = this.data();\n }\n return this.xScale(data[0][this.allowRange() ? 1 : 0]);\n }\n\n moveHandleTo(pos) {\n if (this.allowRange()) {\n switch (this.moveMode) {\n case \"both\":\n this.handleLeftPos = this.handleLeftStartPos + pos - this.moveStartPos;\n this.handleRightPos = this.handleRightStartPos + pos - this.moveStartPos;\n break;\n case \"left\":\n this.handleLeftPos = pos;\n if (this.handleLeftPos > this.handleRightPos) {\n this.handleRightPos = this.handleLeftPos;\n }\n break;\n case \"right\":\n this.handleRightPos = pos;\n if (this.handleRightPos < this.handleLeftPos) {\n this.handleLeftPos = this.handleRightPos;\n }\n break;\n }\n } else {\n this.handleLeftPos = this.handleRightPos = pos;\n }\n\n this.handleLeftPos = this.constrain(this.handleLeftPos);\n this.handleRightPos = this.constrain(this.handleRightPos);\n this.value(this.allowRange() ? [this.xScale.invert(this.handleLeftPos), this.xScale.invert(this.handleRightPos)] : this.xScale.invert(this.handleLeftPos));\n this.updateHandles();\n }\n\n constrain(pos: number): number {\n const range = this.xScale.range();\n if (pos < range[0]) pos = range[0];\n if (pos > range[1]) pos = range[1];\n return this.nearestStep(pos);\n }\n\n nearestStep(pos) {\n const value = this.xScale.invert(pos);\n return this.xScale(this.low() + Math.round((value - this.low()) / this.step()) * this.step());\n }\n\n handlePath = function (d) {\n const e = +(d === \"r\");\n const x = e ? 1 : -1;\n const xOffset = this.allowRange() ? 0.5 : 0.0;\n const y = 18;\n let retVal = \"M\" + (xOffset * x) + \",\" + y +\n \"A6,6 0 0 \" + e + \" \" + (6.5 * x) + \",\" + (y + 6) +\n \"V\" + (2 * y - 6) +\n \"A6,6 0 0 \" + e + \" \" + (xOffset * x) + \",\" + (2 * y)\n ;\n if (this.allowRange()) {\n retVal += \"Z\" +\n \"M\" + (2.5 * x) + \",\" + (y + 8) +\n \"V\" + (2 * y - 8) +\n \"M\" + (4.5 * x) + \",\" + (y + 8) +\n \"V\" + (2 * y - 8)\n ;\n } else {\n retVal += \"M\" + (1 * x) + \",\" + (y + 8) +\n \"V\" + (2 * y - 8)\n ;\n }\n return retVal;\n };\n\n name: (_?: string) => string | this;\n change: (_: Slider) => void;\n}\nSlider.prototype._class += \" form_Slider\";\nSlider.prototype.implements(IInput.prototype);\n\nexport interface Slider {\n padding(): number;\n padding(_: number): this;\n fontSize(): number;\n fontSize(_: number): this;\n fontFamily(): string;\n fontFamily(_: string): this;\n fontColor(): string;\n fontColor(_: string): this;\n allowRange(): boolean;\n allowRange(_: boolean): this;\n low(): number;\n low(_: number): this;\n high(): number;\n high(_: number): this;\n step(): number;\n step(_: number): this;\n lowDatetime(): string;\n lowDatetime(_: string): this;\n highDatetime(): string;\n highDatetime(_: string): this;\n stepDatetime(): number;\n stepDatetime(_: number): this;\n selectionLabel(): string;\n selectionLabel(_: string): this;\n label(): string;\n label(_: string): this;\n value(): any;\n value(_: any): this;\n validate(): string;\n validate(_: string): this;\n tickCount(): number;\n tickCount(_: number): this;\n tickOffset(): number;\n tickOffset(_: number): this;\n tickHeight(): number;\n tickHeight(_: number): this;\n tickDateFormat(): string;\n tickDateFormat(_: string): this;\n tickValueFormat(): string;\n tickValueFormat(_: string): this;\n timePattern(): string;\n timePattern(_: string): this;\n\n padding_exists(): boolean;\n fontSize_exists(): boolean;\n fontFamily_exists(): boolean;\n fontColor_exists(): boolean;\n allowRange_exists(): boolean;\n low_exists(): boolean;\n step_exists(): boolean;\n high_exists(): boolean;\n selectionLabel_exists(): boolean;\n name_exists(): boolean;\n label_exists(): boolean;\n value_exists(): boolean;\n validate_exists(): boolean;\n}\n\nSlider.prototype.publish(\"padding\", 16, \"number\", \"Outer Padding\", null, { tags: [\"Basic\"] });\nSlider.prototype.publish(\"fontSize\", 12, \"number\", \"Font Size\", null, { tags: [\"Basic\"] });\nSlider.prototype.publish(\"fontFamily\", null, \"string\", \"Font Name\", null, { tags: [\"Basic\"] });\nSlider.prototype.publish(\"fontColor\", null, \"html-color\", \"Font Color\", null, { tags: [\"Basic\"] });\n\nSlider.prototype.publish(\"allowRange\", false, \"boolean\", \"Allow Range Selection\", null, { tags: [\"Intermediate\"] });\nSlider.prototype.publish(\"low\", null, \"number\", \"Low\", null, { tags: [\"Intermediate\"] });\nSlider.prototype.publish(\"high\", null, \"number\", \"High\", null, { tags: [\"Intermediate\"] });\nSlider.prototype.publish(\"step\", 10, \"number\", \"Step\", null, { tags: [\"Intermediate\"] });\nSlider.prototype.publish(\"lowDatetime\", null, \"string\", \"Low\", null, { tags: [\"Intermediate\"] });\nSlider.prototype.publish(\"highDatetime\", null, \"string\", \"High\", null, { tags: [\"Intermediate\"] });\nSlider.prototype.publish(\"selectionLabel\", \"\", \"string\", \"Selection Label\", null, { tags: [\"Intermediate\"] });\n\nSlider.prototype.publish(\"timePattern\", \"%Y-%m-%d\", \"string\");\n\nSlider.prototype.publish(\"tickCount\", 10, \"number\");\nSlider.prototype.publish(\"tickOffset\", 5, \"number\");\nSlider.prototype.publish(\"tickHeight\", 8, \"number\");\nSlider.prototype.publish(\"tickDateFormat\", null, \"string\");\nSlider.prototype.publish(\"tickValueFormat\", \",.0f\", \"string\");\n\nconst name = Slider.prototype.name;\nSlider.prototype.name = function (_: any): any {\n const retVal = name.apply(this, arguments);\n if (arguments.length) {\n const val = _ instanceof Array ? _ : [_];\n SVGWidget.prototype.columns.call(this, val);\n }\n return retVal;\n};\n\nconst value = Slider.prototype.value;\nSlider.prototype.value = function (_?: any): any {\n const retVal = value.apply(this, arguments);\n if (!arguments.length) {\n if (!this.allowRange()) {\n return SVGWidget.prototype.data.call(this)[0][0];\n }\n return SVGWidget.prototype.data.call(this)[0];\n } else {\n SVGWidget.prototype.data.call(this, [this.allowRange() ? _ : [_, _]]);\n }\n return retVal;\n};\n","import { Input } from \"./Input\";\n\nexport class TextArea extends Input {\n constructor() {\n super();\n\n this._tag = \"div\";\n this.type(\"textarea\");\n }\n\n enter(domNode, element) {\n super.enter(domNode, element);\n }\n\n calcHeight() {\n return Math.max(this.minHeight_exists() ? this.minHeight() : 0, this.height());\n }\n\n update(domNode, element) {\n super.update(domNode, element);\n this._inputElement[0]\n .attr(\"rows\", this.rows())\n .attr(\"cols\", this.cols())\n .attr(\"wrap\", this.wrap())\n .attr(\"spellcheck\", this.spellcheck())\n .style(\"height\", this.calcHeight() + \"px\")\n ;\n }\n\n rows: { (): number; (_: number): TextArea };\n rows_exists: () => boolean;\n cols: { (): number; (_: number): TextArea };\n cols_exists: () => boolean;\n wrap: { (): string; (_: string): TextArea };\n wrap_exists: () => boolean;\n minHeight: { (): number; (_: number): TextArea };\n minHeight_exists: () => boolean;\n spellcheck: { (): boolean; (_: boolean): TextArea };\n spellcheck_exists: () => boolean;\n value: { (): any; (_: any): TextArea };\n}\nTextArea.prototype._class += \" form_TextArea\";\n\nTextArea.prototype.publish(\"rows\", null, \"number\", \"Rows\", null, { optional: true });\nTextArea.prototype.publish(\"cols\", null, \"number\", \"Columns\", null, { optional: true });\nTextArea.prototype.publish(\"wrap\", \"off\", \"set\", \"Wrap\", [\"off\", \"on\"]);\nTextArea.prototype.publish(\"minHeight\", null, \"number\", \"Minimum Height\", null, { optional: true });\nTextArea.prototype.publish(\"spellcheck\", null, \"boolean\", \"Input spell checking\", { optional: true });\n","export const PKG_NAME = \"@hpcc-js/form\";\r\nexport const PKG_VERSION = \"2.8.65\";\r\nexport const BUILD_VERSION = \"2.95.0\";\r\n"]}
1
+ {"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","../../../node_modules/style-inject/dist/style-inject.es.js","../src/Button.ts","../src/CheckBox.ts","../src/ColorInput.ts","../src/Form.ts","../src/Input.ts","../src/FieldForm.ts","../src/InputRange.ts","../src/OnOff.ts","../src/Radio.ts","../src/Range.ts","../src/Select.ts","../src/Slider.ts","../src/TextArea.ts","../src/__package__.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","prototype","hasOwnProperty","call","__extends","TypeError","String","__","this","constructor","create","styleInject","css","ref","insertAt","document","head","getElementsByTagName","style","createElement","type","firstChild","insertBefore","appendChild","styleSheet","cssText","createTextNode","Button","_this","_super","_inputElement","IInput","_tag","enter","domNode","element","context","append","attr","name","on","w","click","blur","value","property","change","update","text","HTMLWidget","_class","implements","CheckBox","checkboxContainer","selectOptions","length","push","forEach","val","idx","node","insertAdjacentHTML","e","vals","indexOf","insertSelectOptions","optionsArr","optionHTML","opt","html","publish","ColorInput","classed","d3Rgb","toString","bbox","getBoundingClientRect","height","Form","data","_","arguments","retVal_1","inputsForEach","input","render","callback","scope","inputs","inp","WidgetArray","content","inp2","inputsMap","retVal","calcMaxColumns","inputWidget","inputWidgetArray","values","dataArr_1","omitBlank","value_exists","undefined","v","submit","isValid","validate","checkValidation","allowEmptyRequest","some","wa","hasValue","clear","classID","allowRange","low","ret","msgArr","label","alert","join","d3Event","preventDefault","_placeholderElement","table","tbody","tfoot","btntd","_controls","default","rightJust","leftJust","target","_maxCols","rows","selectAll","each","i","element2","d3Select","inputWidget2","SVGWidget","getBBox","resize","setTimeout","disable","w2","merge","select","setFocus","exit","remove","showSubmit","row","col","sel","console","log","JSON","stringify","Input","_labelElement","checked","id","inlineLabel_exists","inlineLabel","optional","FieldForm","fields","apply","inpMap_1","map","f","__lparam","columns","key","InputRange","_rangeData","override","OnOff","_input","inner","containerRadius","offText","onText","marginLeft","marginBottom","minWidth","_switch_size","minHeight","gutter","switchRadius","offFontColor","offColor","onFontColor","onColor","Radio","radioContainer","Range","high","step","Select","maxWidth_exists","maxWidth","Slider","handleLeftPos","handleRightPos","handlePath","x","xOffset","y","width","xScale","d3ScaleLinear","clamp","slider","lowDatetime","highDatetime","time_parser","d3TimeParse","timePattern","getTime","parentNode","cloneNode","d3Drag","event","moveStartPos","handleLeftStartPos","handleRightStartPos","moveMode","Math","abs","moveHandleTo","invert","checkChangedValue","insert","fontSize","tickHeight","handleRight","handleLeft","domain","range","padding","x_distance","tickCount","tick_text_arr","tickDateFormat","Q_parser","time_formatter","d3TimeFormat","time_segment","parsed_date","value_formatter","d3Format","tickValueFormat","value_segment","tick_value","tickText","tickTextEnter","tickOffset","lowPos","highPos","updateHandles","prevValue","pos","constrain","nearestStep","round","tags","TextArea","calcHeight","max","minHeight_exists","cols","wrap","spellcheck"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || from);\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","import { IInput } from \"@hpcc-js/api\";\nimport { HTMLWidget } from \"@hpcc-js/common\";\n\nimport \"../src/Input.css\";\n\nexport class Button extends HTMLWidget {\n _inputElement = [];\n\n constructor() {\n super();\n IInput.call(this);\n\n this._tag = \"div\";\n }\n\n enter(domNode, element) {\n super.enter(domNode, element);\n const context = this;\n this._inputElement[0] = element.append(\"button\")\n .attr(\"name\", this.name())\n .on(\"click\", function (w) {\n w.click(w);\n })\n .on(\"blur\", function (w) {\n w.blur(w);\n })\n .on(\"change\", function (w) {\n context.value([context._inputElement[0].property(\"value\")]);\n w.change(w, true);\n })\n ;\n }\n\n update(domNode, element) {\n super.update(domNode, element);\n\n this._inputElement[0].text(this.value());\n }\n\n // IInput ---\n name: { (): string; (_: string): Button };\n name_exists: () => boolean;\n label: { (): string; (_: string): Button };\n label_exists: () => boolean;\n value: { (): any; (_: any): Button };\n value_exists: () => boolean;\n validate: { (): string; (_: string): Button };\n validate_exists: () => boolean;\n}\nButton.prototype._class += \" form_Button\";\nButton.prototype.implements(IInput.prototype);\n","import { IInput } from \"@hpcc-js/api\";\nimport { HTMLWidget } from \"@hpcc-js/common\";\n\nimport \"../src/Input.css\";\n\nexport class CheckBox extends HTMLWidget {\n _inputElement = [];\n\n constructor() {\n super();\n IInput.call(this);\n\n this._tag = \"div\";\n }\n\n enter(domNode, element) {\n super.enter(domNode, element);\n const context = this;\n\n const checkboxContainer = element.append(\"ul\");\n if (!this.selectOptions().length) {\n this.selectOptions().push(\"\"); // create an empty radio if we using .value and not selectOptions array\n }\n this.selectOptions().forEach(function (val, idx) {\n context._inputElement[idx] = checkboxContainer.append(\"li\").append(\"input\").attr(\"type\", \"checkbox\");\n context._inputElement[idx].node().insertAdjacentHTML(\"afterend\", \"<text>\" + val + \"</text>\");\n });\n\n this._inputElement.forEach(function (e, idx) {\n e.attr(\"name\", context.name());\n e.on(\"click\", function (w) {\n w.click(w);\n });\n e.on(\"blur\", function (w) {\n w.blur(w);\n });\n e.on(\"change\", function (w) {\n const vals = [];\n context._inputElement.forEach(function (d) {\n if (d.property(\"checked\")) {\n vals.push(d.property(\"value\"));\n }\n });\n context.value(vals);\n w.change(w, true);\n });\n });\n }\n\n update(domNode, element) {\n super.update(domNode, element);\n\n const context = this;\n\n this._inputElement.forEach(function (e, idx) {\n e.property(\"value\", context.selectOptions()[idx]);\n if (context.value().indexOf(context.selectOptions()[idx]) !== -1 && context.value() !== \"false\") {\n e.property(\"checked\", true);\n } else {\n e.property(\"checked\", false);\n }\n });\n }\n\n insertSelectOptions(optionsArr) {\n let optionHTML = \"\";\n if (optionsArr.length > 0) {\n optionsArr.forEach(function (opt) {\n const val = (opt instanceof Array ? opt[0] : opt);\n const text = (opt instanceof Array ? (opt[1] ? opt[1] : opt[0]) : opt);\n optionHTML += \"<option value='\" + val + \"'>\" + text + \"</option>\";\n });\n } else {\n optionHTML += \"<option>selectOptions not set</option>\";\n }\n this._inputElement[0].html(optionHTML);\n }\n\n selectOptions: { (): any[]; (_: any[]): CheckBox };\n selectOptions_exists: () => boolean;\n\n // IInput ---\n name: { (): string; (_: string): CheckBox };\n name_exists: () => boolean;\n label: { (): string; (_: string): CheckBox };\n label_exists: () => boolean;\n value: { (): any; (_: any): CheckBox };\n value_exists: () => boolean;\n validate: { (): string; (_: string): CheckBox };\n validate_exists: () => boolean;\n}\nCheckBox.prototype._class += \" form_CheckBox\";\nCheckBox.prototype.implements(IInput.prototype);\n\nCheckBox.prototype.publish(\"selectOptions\", [], \"array\", \"Array of options used to fill a dropdown list\");\n","import { IInput } from \"@hpcc-js/api\";\nimport { HTMLWidget } from \"@hpcc-js/common\";\nimport { rgb as d3Rgb } from \"d3-color\";\n\nimport \"../src/Input.css\";\n\nexport class ColorInput extends HTMLWidget {\n _inputElement = [];\n\n constructor() {\n super();\n IInput.call(this);\n\n this._tag = \"div\";\n }\n\n enter(domNode, element) {\n super.enter(domNode, element);\n\n const context = this;\n\n this._inputElement[0] = element.append(\"input\").attr(\"type\", \"text\");\n this._inputElement[0].classed(\"color-text\", true);\n this._inputElement[1] = element.append(\"input\").attr(\"type\", \"color\");\n\n this._inputElement.forEach(function (e, idx) {\n e.on(\"click\", function (w) {\n w.click(w);\n });\n e.on(\"blur\", function (w) {\n w.blur(w);\n });\n e.on(\"change\", function (w) {\n if (idx === 0) {\n context._inputElement[1].property(\"value\", d3Rgb(context._inputElement[0].property(\"value\")).toString());\n context.value(context._inputElement[0].property(\"value\"));\n } else {\n context._inputElement[0].property(\"value\", context._inputElement[1].property(\"value\"));\n context.value(d3Rgb(context._inputElement[1].property(\"value\")).toString());\n }\n w.change(w, true);\n });\n });\n }\n\n update(domNode, element) {\n super.update(domNode, element);\n\n const context = this;\n this._inputElement.forEach(function (e) {\n e.attr(\"name\", context.name());\n });\n\n this._inputElement[0].attr(\"type\", \"text\");\n this._inputElement[1].attr(\"type\", \"color\");\n this._inputElement[0].property(\"value\", this.value());\n this._inputElement[1].property(\"value\", d3Rgb(this.value()).toString());\n\n const bbox = this._inputElement[0].node().getBoundingClientRect();\n this._inputElement[1].style(\"height\", (bbox.height - 2) + \"px\");\n\n }\n\n // IInput ---\n name: { (): string; (_: string): ColorInput };\n name_exists: () => boolean;\n label: { (): string; (_: string): ColorInput };\n label_exists: () => boolean;\n value: { (): any; (_: any): ColorInput };\n value_exists: () => boolean;\n validate: { (): string; (_: string): ColorInput };\n validate_exists: () => boolean;\n}\nColorInput.prototype._class += \" form_ColorInput\";\nColorInput.prototype.implements(IInput.prototype);\n","import { d3Event, HTMLWidget, select as d3Select, SVGWidget, Widget, WidgetArray } from \"@hpcc-js/common\";\nimport { Button } from \"./Button\";\n\nimport \"../src/Form.css\";\n\nexport class Form extends HTMLWidget {\n tbody;\n tfoot;\n btntd;\n _controls;\n _maxCols;\n\n constructor() {\n super();\n\n this._tag = \"form\";\n }\n\n data(): any;\n data(_: any): this;\n data(_?: any): any | this {\n if (!arguments.length) {\n const retVal = [];\n this.inputsForEach(function (input) {\n retVal.push(input.value());\n });\n return retVal;\n } else {\n this.inputsForEach(function (input, idx) {\n if (_ && _.length > idx) {\n input.value(_[idx]).render();\n }\n });\n }\n return this;\n }\n\n inputsForEach(callback, scope?) {\n let idx = 0;\n this.inputs().forEach(function (inp) {\n const inpArray = inp instanceof WidgetArray ? inp.content() : [inp];\n inpArray.forEach(function (inp2) {\n if (scope) {\n callback.call(scope, inp2, idx++);\n } else {\n callback(inp2, idx++);\n }\n });\n });\n }\n\n inputsMap(): { [name: string]: Widget } {\n const retVal: { [name: string]: Widget } = {};\n this.inputs().forEach(function (inp) {\n retVal[inp.name()] = inp;\n });\n return retVal;\n }\n\n calcMaxColumns() {\n let retVal = 0;\n this.inputs().forEach(function (inputWidget) {\n const inputWidgetArray = inputWidget instanceof WidgetArray ? inputWidget.content() : [inputWidget];\n if (inputWidgetArray.length > retVal) {\n retVal = inputWidgetArray.length;\n }\n });\n return retVal;\n }\n\n values(): any;\n values(_: any): this;\n values(_?: any): any | this {\n if (!arguments.length) {\n const dataArr = {};\n this.inputsForEach(function (inp) {\n const type = inp.type ? inp.type() : \"text\";\n const value = inp.value();\n if (value || !this.omitBlank()) {\n switch (type) {\n case \"checkbox\":\n dataArr[inp.name()] = inp.value_exists() ? !!inp.value() : undefined;\n break;\n case \"number\":\n const v = inp.value();\n dataArr[inp.name()] = v === \"\" ? undefined : +v;\n break;\n case \"text\":\n default:\n dataArr[inp.name()] = inp.value_exists() ? inp.value() : undefined;\n break;\n }\n }\n }, this);\n return dataArr;\n } else {\n this.inputsForEach(function (inp) {\n if (_[inp.name()]) {\n inp.value(_[inp.name()]);\n } else if (this.omitBlank()) {\n inp.value(\"\");\n }\n }, this);\n }\n return this;\n }\n\n submit() {\n let isValid = true;\n if (this.validate()) {\n isValid = this.checkValidation();\n }\n if (!this.allowEmptyRequest() && !this.inputs().some(function (w) {\n if (w._class.indexOf(\"WidgetArray\") !== -1) {\n return w.content().some(function (wa) {\n return wa.hasValue();\n });\n }\n return w.hasValue();\n })) {\n return;\n }\n this.click(isValid ? this.values() : null, null, isValid);\n }\n\n clear() {\n this.inputsForEach(function (inp) {\n switch (inp.classID()) {\n case \"form_Slider\":\n if (inp.allowRange()) {\n inp.value([inp.low(), inp.low()]).render();\n } else {\n inp.value(inp.low()).render();\n }\n break;\n case \"form_CheckBox\":\n inp.value(false).render();\n break;\n case \"form_Button\":\n /* skip */\n break;\n default:\n inp.value(undefined).render();\n break;\n }\n });\n }\n\n checkValidation() {\n let ret = true;\n const msgArr = [];\n this.inputsForEach(function (inp) {\n if (!inp.isValid()) {\n msgArr.push(\"'\" + inp.label() + \"'\" + \" value is invalid.\");\n }\n });\n if (msgArr.length > 0) {\n alert(msgArr.join(\"\\n\"));\n ret = false;\n }\n return ret;\n }\n\n enter(domNode, element) {\n super.enter(domNode, element);\n element.on(\"submit\", function () {\n d3Event().preventDefault();\n });\n\n this._placeholderElement.style(\"overflow\", \"auto\");\n const table = element\n .append(\"table\")\n ;\n this.tbody = table.append(\"tbody\");\n this.tfoot = table.append(\"tfoot\");\n this.btntd = this.tfoot.append(\"tr\").append(\"td\")\n .attr(\"colspan\", 2)\n ;\n\n const context = this;\n this._controls = [\n new Button()\n .classed({ default: true })\n .value(\"Submit\")\n .on(\"click\", function () {\n context.submit();\n }, true),\n new Button()\n .value(\"Clear\")\n .on(\"click\", function () {\n context.clear();\n }, true)\n ];\n const rightJust = context.btntd\n .append(\"div\")\n .style(\"float\", \"right\")\n ;\n this._controls.forEach(function (w) {\n const leftJust = rightJust\n .append(\"span\")\n .style(\"float\", \"left\")\n ;\n w.target(leftJust.node()).render();\n });\n }\n\n update(domNode, element) {\n super.update(domNode, element);\n\n this._maxCols = this.calcMaxColumns();\n\n const context = this;\n const rows = this.tbody.selectAll(\"tr\").data(this.inputs());\n rows.enter().append(\"tr\")\n .each(function (inputWidget, i) {\n const element2 = d3Select(this);\n\n const inputWidgetArray = inputWidget instanceof WidgetArray ? inputWidget.content() : [inputWidget];\n inputWidgetArray.forEach(function (inputWidget2, idx) {\n element2.append(\"td\")\n .attr(\"class\", \"prompt\")\n ;\n const input = element2.append(\"td\")\n .attr(\"class\", \"input\")\n ;\n if (idx === inputWidgetArray.length - 1 && inputWidgetArray.length < context._maxCols) {\n input.attr(\"colspan\", (context._maxCols - inputWidgetArray.length + 1) * 2);\n }\n inputWidget2.target(input.node()).render();\n if (inputWidget2 instanceof SVGWidget) {\n const bbox = inputWidget2.element().node().getBBox();\n input.style(\"height\", bbox.height + \"px\");\n inputWidget2.resize().render();\n }\n\n if (inputWidget2._inputElement instanceof Array) {\n inputWidget2._inputElement.forEach(function (e) {\n e.on(\"keyup.form\", function (w) {\n setTimeout(function () {\n\n context._controls[0].disable(!context.allowEmptyRequest() && !context.inputs().some(function (w2) {\n if (w2._class.indexOf(\"WidgetArray\") !== -1) {\n return w2.content().some(function (wa) {\n return wa.hasValue();\n });\n }\n return w2.hasValue();\n }));\n }, 100);\n });\n });\n }\n });\n })\n .merge(rows)\n .each(function (inputWidget, i) {\n const element2 = d3Select(this);\n const inputWidgetArray = inputWidget instanceof WidgetArray ? inputWidget.content() : [inputWidget];\n inputWidgetArray.forEach(function (inputWidget2, idx) {\n element2.select(\"td.prompt\")\n .text(inputWidget2.label() + \":\")\n ;\n });\n })\n ;\n rows.each(function (inputWidget, i) {\n if (i === 0 && inputWidget.setFocus) {\n inputWidget.setFocus();\n }\n });\n rows.exit()\n .each(function (inputWidget, i) {\n const inputWidgetArray = inputWidget instanceof WidgetArray ? inputWidget.content() : [inputWidget];\n inputWidgetArray.forEach(function (inputWidget2, idx) {\n inputWidget2.target(null);\n });\n })\n .remove()\n ;\n\n this.tfoot\n .style(\"display\", this.showSubmit() ? \"table-footer-group\" : \"none\")\n ;\n this.btntd\n .attr(\"colspan\", this._maxCols * 2)\n ;\n\n // Disable Submit unless there is data\n if (!this.allowEmptyRequest()) {\n setTimeout(function () {\n context._controls[0].disable(!context.allowEmptyRequest() && !context.inputs().some(function (w) {\n if (w._class.indexOf(\"WidgetArray\") !== -1) {\n return w.content().some(function (wa) {\n return wa.hasValue();\n });\n }\n return w.hasValue();\n }));\n }, 100);\n }\n\n }\n\n exit(domNode, element) {\n this.inputsForEach(input => input.target(null));\n super.exit(domNode, element);\n }\n\n click(row, col, sel) {\n console.log(\"Clicked Submit: \" + JSON.stringify(row));\n }\n\n validate: { (): boolean; (_: boolean): Form };\n validate_exists: () => boolean;\n inputs: { (): any[]; (_: any[]): Form };\n inputs_exists: () => boolean;\n inputs_reset: () => void;\n showSubmit: { (): boolean; (_: boolean): Form };\n showSubmit_exists: () => boolean;\n omitBlank: { (): boolean; (_: boolean): Form };\n omitBlank_exists: () => boolean;\n allowEmptyRequest: { (): boolean; (_: boolean): Form };\n allowEmptyRequest_exists: () => boolean;\n}\nForm.prototype._class += \" form_Form\";\n\nForm.prototype.publish(\"validate\", true, \"boolean\", \"Enable/Disable input validation\");\nForm.prototype.publish(\"inputs\", [], \"widgetArray\", \"Array of input widgets\", null, { render: false });\nForm.prototype.publish(\"showSubmit\", true, \"boolean\", \"Show Submit/Cancel Controls\");\nForm.prototype.publish(\"omitBlank\", false, \"boolean\", \"Drop Blank Fields From Submit\");\nForm.prototype.publish(\"allowEmptyRequest\", false, \"boolean\", \"Allow Blank Form to be Submitted\");\n","import { IInput } from \"@hpcc-js/api\";\nimport { HTMLWidget } from \"@hpcc-js/common\";\n\nimport \"../src/Input.css\";\n\nexport class Input extends HTMLWidget {\n _inputElement = [];\n _labelElement = [];\n\n constructor() {\n super();\n IInput.call(this);\n\n this._tag = \"div\";\n }\n\n checked(_) {\n if (!arguments.length) return this._inputElement[0] ? this._inputElement[0].property(\"checked\") : false;\n if (this._inputElement[0]) {\n this._inputElement[0].property(\"checked\", _);\n }\n return this;\n }\n\n enter(domNode, element) {\n super.enter(domNode, element);\n\n this._labelElement[0] = element.append(\"label\")\n .attr(\"for\", this.id() + \"_input\")\n .style(\"visibility\", this.inlineLabel_exists() ? \"visible\" : \"hidden\")\n ;\n\n const context = this;\n switch (this.type()) {\n case \"button\":\n this._inputElement[0] = element.append(\"button\")\n .attr(\"id\", this.id() + \"_input\")\n ;\n break;\n case \"textarea\":\n this._inputElement[0] = element.append(\"textarea\")\n .attr(\"id\", this.id() + \"_input\")\n ;\n break;\n default:\n this._inputElement[0] = element.append(\"input\")\n .attr(\"id\", this.id() + \"_input\")\n .attr(\"type\", this.type())\n ;\n break;\n }\n\n this._inputElement.forEach(function (e, idx) {\n e.attr(\"name\", context.name());\n e.on(\"click\", function (w: Input) {\n w.click(w);\n });\n e.on(\"blur\", function (w: Input) {\n w.blur(w);\n });\n e.on(\"change\", function (w: Input) {\n context.value([e.property(\"value\")]);\n w.change(w, true);\n });\n e.on(\"keyup\", function (w: Input) {\n context.value([e.property(\"value\")]);\n w.change(w, false);\n });\n });\n }\n\n update(domNode, element) {\n super.update(domNode, element);\n\n this._labelElement[0]\n .style(\"visibility\", this.inlineLabel_exists() ? \"visible\" : \"hidden\")\n .text(this.inlineLabel())\n ;\n switch (this.type()) {\n case \"button\":\n this._inputElement[0].text(this.value());\n break;\n case \"textarea\":\n this._inputElement[0].property(\"value\", this.value());\n break;\n default:\n this._inputElement[0].attr(\"type\", this.type());\n this._inputElement[0].property(\"value\", this.value());\n break;\n }\n }\n\n type: { (): string; (_: string): Input };\n type_exists: () => boolean;\n type_default: { (): string; (_: string): Input };\n inlineLabel: { (): string; (_: string): Input };\n inlineLabel_exists: () => boolean;\n\n // IInput ---\n name: { (): string; (_: string): Input };\n name_exists: () => boolean;\n label: { (): string; (_: string): Input };\n label_exists: () => boolean;\n value: { (): any; (_: any): Input };\n value_exists: () => boolean;\n validate: { (): string; (_: string): Input };\n validate_exists: () => boolean;\n\n // IInput Events ---\n blur: (w: Input) => void;\n keyup: (w: Input) => void;\n focus: (w: Input) => void;\n click: (w: Input) => void;\n dblclick: (w: Input) => void;\n change: (w: Input, complete: boolean) => void;\n}\nInput.prototype._class += \" form_Input\";\nInput.prototype.implements(IInput.prototype);\n\nInput.prototype.publish(\"type\", \"text\", \"set\", \"Input type\", [\"number\", \"button\", \"checkbox\", \"date\", \"text\", \"textarea\", \"search\", \"email\", \"time\", \"datetime\", \"hidden\"]);\nInput.prototype.publish(\"inlineLabel\", null, \"string\", \"Input Label\", null, { optional: true });\n","import { Database } from \"@hpcc-js/common\";\nimport { Form } from \"./Form\";\nimport { Input } from \"./Input\";\n\nimport \"../src/Form.css\";\n\nexport class FieldForm extends Form {\n\n constructor() {\n super();\n\n this._tag = \"form\";\n }\n\n fields(): Database.Field[];\n fields(_: Database.Field[]): this;\n fields(_?: Database.Field[]): Database.Field[] | this {\n const retVal = super.fields.apply(this, arguments);\n if (arguments.length) {\n const inpMap = this.inputsMap();\n this.inputs(_.map(f => inpMap[f.id()] || new Input()\n .name(f.id())\n .label(f.label())\n .type(f.type())\n ));\n }\n return retVal;\n }\n\n data(): any;\n data(_: any): this;\n data(_?: any): any | this {\n if (!arguments.length) return super.data();\n super.data(_[0]);\n if (_[0]) {\n // Update input \"name\" with the __lparam ids ---\n const inputs = this.inputs();\n const __lparam = _[0][this.columns().length];\n let i = 0;\n for (const key in __lparam) {\n inputs[i].name(key);\n ++i;\n }\n }\n return this;\n }\n\n}\nFieldForm.prototype._class += \" form_FieldForm\";\n","import { IInput } from \"@hpcc-js/api\";\nimport { HTMLWidget } from \"@hpcc-js/common\";\n\nimport \"../src/Input.css\";\n\nexport class InputRange extends HTMLWidget {\n _inputElement = [];\n _labelElement = [];\n _rangeData = [];\n\n constructor() {\n super();\n IInput.call(this);\n\n this._tag = \"div\";\n }\n\n enter(domNode, element) {\n super.enter(domNode, element);\n\n this._labelElement[0] = element.append(\"label\")\n .attr(\"for\", this.id() + \"_input\")\n .style(\"visibility\", this.inlineLabel_exists() ? \"visible\" : \"hidden\")\n ;\n\n this._inputElement.push(element.append(\"input\")\n .attr(\"id\", this.id() + \"_input_min\")\n .attr(\"type\", this.type()));\n this._inputElement.push(element.append(\"input\")\n .attr(\"id\", this.id() + \"_input_max\")\n .attr(\"type\", this.type()));\n\n const context = this;\n this._inputElement.forEach(function (e, idx) {\n e.attr(\"name\", context.name());\n e.on(\"click\", function (w) {\n w.click(w);\n });\n e.on(\"blur\", function (w) {\n w.blur(w);\n });\n e.on(\"change\", function (w) {\n context._rangeData[idx] = e.property(\"value\");\n context.value(context._rangeData);\n w.change(w, true);\n });\n });\n }\n\n update(domNode, element) {\n super.update(domNode, element);\n\n this._labelElement[0]\n .style(\"visibility\", this.inlineLabel_exists() ? \"visible\" : \"hidden\")\n .text(this.inlineLabel())\n ;\n\n this._rangeData = this.value();\n this._inputElement.forEach(function (e, idx) {\n e\n .attr(\"type\", this.type())\n .property(\"value\", this._rangeData.length > idx ? this._rangeData[idx] : \"\");\n }, this);\n }\n\n type: { (): string; (_: string): InputRange };\n type_exists: () => boolean;\n inlineLabel: { (): string; (_: string): InputRange };\n inlineLabel_exists: () => boolean;\n value: { (): any[]; (_: any[]): InputRange };\n value_exists: () => boolean;\n\n // IInput ---\n name: { (): string; (_: string): InputRange };\n name_exists: () => boolean;\n label: { (): string; (_: string): InputRange };\n label_exists: () => boolean;\n validate: { (): string; (_: string): InputRange };\n validate_exists: () => boolean;\n}\nInputRange.prototype._class += \" form_InputRange\";\nInputRange.prototype.implements(IInput.prototype);\n\nInputRange.prototype.publish(\"type\", \"text\", \"set\", \"InputRange type\", [\"number\", \"date\", \"text\", \"time\", \"datetime\", \"hidden\"]);\nInputRange.prototype.publish(\"inlineLabel\", null, \"string\", \"InputRange Label\", null, { optional: true });\nInputRange.prototype.publish(\"value\", [\"\", \"\"], \"array\", \"Input Current Value\", null, { override: true });\n","import { IInput } from \"@hpcc-js/api\";\nimport { HTMLWidget } from \"@hpcc-js/common\";\n\nimport \"../src/OnOff.css\";\n\nexport class OnOff extends HTMLWidget {\n _inputElement = [];\n _input;\n\n constructor() {\n super();\n IInput.call(this);\n\n this._tag = \"div\";\n }\n\n enter(domNode, element) {\n super.enter(domNode, element);\n element.classed(\"onoffswitch\", true);\n const context = this;\n this._input = element.append(\"input\")\n .attr(\"class\", \"onoffswitch-checkbox\")\n .attr(\"type\", \"checkbox\")\n .attr(\"id\", this.id() + \"_onOff\")\n .on(\"click\", function (w) {\n w.click(w);\n })\n .on(\"blur\", function (w) {\n w.blur(w);\n })\n .on(\"change\", function (w) {\n const vals = [];\n context._inputElement.forEach(function (d, idx) {\n if (d.property(\"checked\")) {\n vals.push(d.property(\"value\"));\n }\n });\n context.value(vals);\n w.change(w, true);\n })\n ;\n const label = element.append(\"label\")\n .attr(\"class\", \"onoffswitch-label\")\n .attr(\"for\", this.id() + \"_onOff\")\n ;\n const inner = label.append(\"div\")\n .attr(\"class\", \"onoffswitch-inner\")\n ;\n inner.append(\"div\")\n .attr(\"class\", \"onoffswitch-offText\")\n .style(\"padding-right\", (this.containerRadius() / 2) + \"px\")\n .text(this.offText())\n ;\n inner.append(\"div\")\n .attr(\"class\", \"onoffswitch-onText\")\n .style(\"padding-left\", (this.containerRadius() / 2) + \"px\")\n .style(\"width\", `calc(100% - ${(this.containerRadius() / 2)}px)`)\n .text(this.onText())\n ;\n label.append(\"div\")\n .attr(\"class\", \"onoffswitch-switch\")\n ;\n }\n\n update(domNode, element) {\n super.update(domNode, element);\n this._input\n .attr(\"name\", this.name())\n ;\n element\n .style(\"margin-left\", this.marginLeft() + \"px\")\n .style(\"margin-bottom\", this.marginBottom() + \"px\")\n .style(\"width\", this.minWidth() + \"px\")\n ;\n\n const _switch_size = this.minHeight() - (this.gutter() * 4);\n\n element.select(\".onoffswitch-switch\")\n .style(\"height\", _switch_size + \"px\")\n .style(\"width\", _switch_size + \"px\")\n .style(\"top\", (this.gutter() * 2) + 1 + \"px\")\n .style(\"border-radius\", this.switchRadius() + \"px\")\n ;\n element.select(\".onoffswitch-inner\")\n .style(\"min-height\", this.minHeight() + \"px\")\n ;\n element.select(\".onoffswitch-label\")\n .style(\"border-radius\", this.containerRadius() + \"px\")\n ;\n element.select(\".onoffswitch-offText\")\n .style(\"color\", this.offFontColor())\n .style(\"background-color\", this.offColor())\n ;\n element.select(\".onoffswitch-onText\")\n .style(\"color\", this.onFontColor())\n .style(\"background-color\", this.onColor())\n ;\n }\n\n // IInput ---\n name: { (): string; (_: string): OnOff };\n name_exists: () => boolean;\n label: { (): string; (_: string): OnOff };\n label_exists: () => boolean;\n value: { (): any; (_: any): OnOff };\n value_exists: () => boolean;\n validate: { (): string; (_: string): OnOff };\n validate_exists: () => boolean;\n}\nOnOff.prototype._class += \" form_OnOff\";\nexport interface OnOff {\n marginLeft(): number;\n marginLeft(_: number): this;\n marginBottom(): number;\n marginBottom(_: number): this;\n minWidth(): number;\n minWidth(_: number): this;\n minHeight(): number;\n minHeight(_: number): this;\n gutter(): number;\n gutter(_: number): this;\n offText(): string;\n offText(_: string): this;\n onText(): string;\n onText(_: string): this;\n switchRadius(): number;\n switchRadius(_: number): this;\n containerRadius(): number;\n containerRadius(_: number): this;\n offColor(): string;\n offColor(_: string): this;\n onColor(): string;\n onColor(_: string): this;\n offFontColor(): string;\n offFontColor(_: string): this;\n onFontColor(): string;\n onFontColor(_: string): this;\n\n}\nOnOff.prototype.implements(IInput.prototype);\n\nOnOff.prototype.publish(\"marginLeft\", 0, \"number\", \"Margin left of OnOff\");\nOnOff.prototype.publish(\"marginBottom\", 0, \"number\", \"Margin bottom of OnOff\");\nOnOff.prototype.publish(\"minWidth\", 100, \"number\", \"Minimum width of OnOff (pixels)\");\nOnOff.prototype.publish(\"minHeight\", 20, \"number\", \"Minimum height of OnOff (pixels)\");\nOnOff.prototype.publish(\"gutter\", 1, \"number\", \"Space between switch and border of OnOff (pixels)\");\nOnOff.prototype.publish(\"onText\", \"Save\", \"string\", \"Text to display when 'ON'\");\nOnOff.prototype.publish(\"offText\", \"Properties\", \"string\", \"Text to display when 'OFF'\");\nOnOff.prototype.publish(\"switchRadius\", 10, \"number\", \"Border radius of switch (pixels)\");\nOnOff.prototype.publish(\"containerRadius\", 10, \"number\", \"Border radius of OnOff (pixels)\");\nOnOff.prototype.publish(\"onColor\", \"#2ecc71\", \"html-color\", \"Background color when 'ON'\");\nOnOff.prototype.publish(\"offColor\", \"#ecf0f1\", \"html-color\", \"Background color when 'OFF'\");\nOnOff.prototype.publish(\"onFontColor\", \"#2c3e50\", \"html-color\", \"Font color when 'ON'\");\nOnOff.prototype.publish(\"offFontColor\", \"#7f8c8d\", \"html-color\", \"Font color when 'OFF'\");\n","import { IInput } from \"@hpcc-js/api\";\nimport { HTMLWidget } from \"@hpcc-js/common\";\n\nimport \"../src/Input.css\";\n\nexport class Radio extends HTMLWidget {\n _inputElement = [];\n constructor() {\n super();\n IInput.call(this);\n\n this._tag = \"div\";\n }\n\n enter(domNode, element) {\n super.enter(domNode, element);\n\n const context = this;\n\n const radioContainer = element.append(\"ul\");\n if (!this.selectOptions().length) {\n this.selectOptions().push(\"\"); // create an empty radio if we using .value and not selectOptions array\n }\n this.selectOptions().forEach(function (val, idx) {\n context._inputElement[idx] = radioContainer.append(\"li\").append(\"input\").attr(\"type\", \"radio\");\n context._inputElement[idx].node().insertAdjacentHTML(\"afterend\", \"<text>\" + val + \"</text>\");\n });\n\n this._inputElement.forEach(function (e, idx) {\n e.attr(\"name\", context.name());\n e.on(\"click\", function (w) {\n w.click(w);\n });\n e.on(\"blur\", function (w) {\n w.blur(w);\n });\n e.on(\"change\", function (w) {\n context.value([e.property(\"value\")]);\n w.change(w, true);\n });\n });\n }\n\n update(domNode, element) {\n super.update(domNode, element);\n\n const context = this;\n\n this._inputElement.forEach(function (e, idx) {\n e.property(\"value\", context.selectOptions()[idx]);\n if (context.value().indexOf(context.selectOptions()[idx]) !== -1 && context.value() !== \"false\") {\n e.property(\"checked\", true);\n } else {\n e.property(\"checked\", false);\n }\n });\n }\n\n selectOptions: { (): any[]; (_: any[]): Radio };\n selectOptions_exists: () => boolean;\n\n // IInput ---\n name: { (): string; (_: string): Radio };\n name_exists: () => boolean;\n label: { (): string; (_: string): Radio };\n label_exists: () => boolean;\n value: { (): any; (_: any): Radio };\n value_exists: () => boolean;\n validate: { (): string; (_: string): Radio };\n validate_exists: () => boolean;\n}\nRadio.prototype._class += \" form_Radio\";\nRadio.prototype.implements(IInput.prototype);\n\nRadio.prototype.publish(\"selectOptions\", [], \"array\", \"Array of options used to fill a dropdown list\");\n","import { IInput } from \"@hpcc-js/api\";\nimport { HTMLWidget } from \"@hpcc-js/common\";\nimport { rgb as d3Rgb } from \"d3-color\";\n\nimport \"../src/Input.css\";\n\nexport class Range extends HTMLWidget {\n _inputElement = [];\n\n constructor() {\n super();\n\n IInput.call(this);\n\n this._tag = \"div\";\n }\n\n enter(domNode, element) {\n super.enter(domNode, element);\n\n const context = this;\n\n this._inputElement[0] = element.append(\"input\").attr(\"type\", \"range\");\n this._inputElement[1] = element.append(\"input\").attr(\"type\", \"number\");\n\n this._inputElement.forEach(function (e, idx) {\n e.attr(\"name\", context.name());\n e.on(\"click\", function (w) {\n w.click(w);\n });\n e.on(\"blur\", function (w) {\n w.blur(w);\n });\n e.on(\"change\", function (w) {\n if (idx === 0) {\n context._inputElement[1].property(\"value\", d3Rgb(context._inputElement[0].property(\"value\")).toString());\n context.value(context._inputElement[0].property(\"value\"));\n } else {\n context._inputElement[0].property(\"value\", context._inputElement[1].property(\"value\"));\n context.value(d3Rgb(context._inputElement[1].property(\"value\")).toString());\n }\n w.change(w, true);\n });\n });\n }\n\n update(domNode, element) {\n super.update(domNode, element);\n\n this._inputElement[0].attr(\"type\", \"range\");\n this._inputElement[0].property(\"value\", this.value());\n this._inputElement[0].attr(\"min\", this.low());\n this._inputElement[0].attr(\"max\", this.high());\n this._inputElement[0].attr(\"step\", this.step());\n this._inputElement[1].attr(\"type\", \"number\");\n this._inputElement[1].property(\"value\", this.value());\n this._inputElement[1].attr(\"min\", this.low());\n this._inputElement[1].attr(\"max\", this.high());\n this._inputElement[1].attr(\"step\", this.step());\n }\n\n insertSelectOptions(optionsArr) {\n let optionHTML = \"\";\n if (optionsArr.length > 0) {\n optionsArr.forEach(function (opt) {\n const val = (opt instanceof Array ? opt[0] : opt);\n const text = (opt instanceof Array ? (opt[1] ? opt[1] : opt[0]) : opt);\n optionHTML += \"<option value='\" + val + \"'>\" + text + \"</option>\";\n });\n } else {\n optionHTML += \"<option>selectOptions not set</option>\";\n }\n this._inputElement[0].html(optionHTML);\n }\n\n type: { (): string; (_: string): Range };\n type_exists: () => boolean;\n selectOptions: { (): any[]; (_: any[]): Range };\n selectOptions_exists: () => boolean;\n low: { (): number; (_: number): Range };\n low_exists: () => boolean;\n high: { (): number; (_: number): Range };\n high_exists: () => boolean;\n step: { (): number; (_: number): Range };\n step_exists: () => boolean;\n\n // IInput ---\n name: { (): string; (_: string): Range };\n name_exists: () => boolean;\n label: { (): string; (_: string): Range };\n label_exists: () => boolean;\n value: { (): any; (_: any): Range };\n value_exists: () => boolean;\n validate: { (): string; (_: string): Range };\n validate_exists: () => boolean;\n}\nRange.prototype._class += \" form_Range\";\nRange.prototype.implements(IInput.prototype);\n\nRange.prototype.publish(\"type\", \"text\", \"set\", \"Input type\", [\"html-color\", \"number\", \"checkbox\", \"button\", \"select\", \"textarea\", \"date\", \"text\", \"range\", \"search\", \"email\", \"time\", \"datetime\"]);\nRange.prototype.publish(\"selectOptions\", [], \"array\", \"Array of options used to fill a dropdown list\");\nRange.prototype.publish(\"low\", null, \"number\", \"Minimum value for Range input\");\nRange.prototype.publish(\"high\", null, \"number\", \"Maximum value for Range input\");\nRange.prototype.publish(\"step\", null, \"number\", \"Step value for Range input\");\n","import { IInput } from \"@hpcc-js/api\";\nimport { HTMLWidget } from \"@hpcc-js/common\";\n\nimport \"../src/Input.css\";\n\nexport class Select extends HTMLWidget {\n _inputElement = [];\n\n constructor() {\n super();\n\n IInput.call(this);\n\n this._tag = \"div\";\n }\n\n enter(domNode, element) {\n super.enter(domNode, element);\n\n const context = this;\n\n this._inputElement[0] = element.append(\"select\")\n .attr(\"name\", this.name())\n .on(\"click\", function (w) {\n w.click(w);\n })\n .on(\"blur\", function (w) {\n w.blur(w);\n })\n .on(\"change\", function (w) {\n context.value([context._inputElement[0].property(\"value\")]);\n w.change(w, true);\n })\n ;\n }\n\n update(domNode, element) {\n super.update(domNode, element);\n\n this.insertSelectOptions(this.selectOptions());\n this._inputElement[0]\n .property(\"value\", this.value())\n .style(\"max-width\", this.maxWidth_exists() ? this.maxWidth() + \"px\" : null)\n ;\n }\n\n insertSelectOptions(optionsArr) {\n let optionHTML = \"\";\n if (optionsArr.length > 0) {\n optionsArr.forEach(function (opt) {\n const val = (opt instanceof Array ? opt[0] : opt);\n const text = (opt instanceof Array ? (opt[1] ? opt[1] : opt[0]) : opt);\n optionHTML += \"<option value='\" + val + \"'>\" + text + \"</option>\";\n });\n } else {\n optionHTML += \"<option>selectOptions not set</option>\";\n }\n this._inputElement[0].html(optionHTML);\n }\n\n selectOptions: { (): any[]; (_: any[]): Select };\n selectOptions_exists: () => boolean;\n maxWidth: { (): number; (_: number): Select };\n maxWidth_exists: () => boolean;\n\n // IInput ---\n name: { (): string; (_: string): Select };\n name_exists: () => boolean;\n label: { (): string; (_: string): Select };\n label_exists: () => boolean;\n value: { (): any; (_: any): Select };\n value_exists: () => boolean;\n validate: { (): string; (_: string): Select };\n validate_exists: () => boolean;\n}\nSelect.prototype._class += \" form_Select\";\nSelect.prototype.implements(IInput.prototype);\n\nSelect.prototype.publish(\"selectOptions\", [], \"array\", \"Array of options used to fill a dropdown list\");\nSelect.prototype.publish(\"maxWidth\", 120, \"number\", \"Width\", null, { optional: true });\n","import { IInput } from \"@hpcc-js/api\";\nimport { d3Event, select as d3Select, SVGWidget } from \"@hpcc-js/common\";\nimport { drag as d3Drag } from \"d3-drag\";\nimport { format as d3Format } from \"d3-format\";\nimport { scaleLinear as d3ScaleLinear } from \"d3-scale\";\nimport { timeFormat as d3TimeFormat, timeParse as d3TimeParse } from \"d3-time-format\";\n\nimport \"../src/Slider.css\";\n\nexport class Slider extends SVGWidget {\n xScale;\n\n moveMode: \"both\" | \"left\" | \"right\";\n moveStartPos: number;\n\n prevValue;\n\n slider;\n\n handleLeft;\n handleLeftPos: number = 0;\n handleLeftStartPos: number;\n\n handleRight;\n handleRightPos: number = 0;\n handleRightStartPos: number;\n\n constructor() {\n super();\n IInput.call(this);\n }\n\n enter(domNode, element) {\n super.enter(domNode, element);\n this.resize({ width: this.width(), height: 50 });\n\n this.xScale = d3ScaleLinear()\n .clamp(true);\n\n this.slider = element.append(\"g\")\n .attr(\"class\", \"slider\")\n ;\n if (this.low() === null && this.high() === null) {\n if (this.lowDatetime() !== null && this.highDatetime() !== null) {\n const time_parser = d3TimeParse(this.timePattern() ? this.timePattern() : \"%Q\");\n this.low(time_parser(this.lowDatetime()).getTime());\n this.high(time_parser(this.highDatetime()).getTime());\n }\n }\n this.slider.append(\"line\")\n .attr(\"class\", \"track\")\n .select(function () { return this.parentNode.appendChild(this.cloneNode(true)); })\n .attr(\"class\", \"track-inset\")\n .select(function () { return this.parentNode.appendChild(this.cloneNode(true)); })\n .attr(\"class\", \"track-overlay\")\n .call(d3Drag()\n .on(\"start\", () => {\n const event = d3Event();\n this.moveStartPos = event.x;\n this.handleLeftStartPos = this.handleLeftPos;\n this.handleRightStartPos = this.handleRightPos;\n if (this.allowRange() && this.handleLeftPos <= event.x && event.x <= this.handleRightPos) {\n this.moveMode = \"both\";\n } else if (Math.abs(event.x - this.handleLeftPos) < Math.abs(event.x - this.handleRightPos)) {\n this.moveMode = \"left\";\n } else {\n this.moveMode = \"right\";\n }\n this.moveHandleTo(event.x);\n })\n .on(\"drag\", () => {\n this.moveHandleTo(d3Event().x);\n })\n .on(\"end\", () => {\n this.moveHandleTo(d3Event().x);\n this.data([[this.xScale.invert(this.handleLeftPos), this.xScale.invert(this.handleRightPos)]]);\n this.checkChangedValue();\n }));\n\n this.slider.insert(\"g\", \".track-overlay\")\n .attr(\"class\", \"ticks\")\n .attr(\"transform\", `translate(0, ${this.fontSize() + (this.tickHeight() / 2)})`)\n ;\n\n this.handleRight = this.slider.insert(\"path\", \".track-overlay\")\n .attr(\"class\", \"handle\")\n ;\n\n this.handleLeft = this.slider.insert(\"path\", \".track-overlay\")\n .attr(\"class\", \"handle\")\n ;\n }\n\n update(domNode, element) {\n super.update(domNode, element);\n const context = this;\n this.xScale\n .domain([this.low(), this.high()])\n .range([0, this.width() - this.padding() * 2])\n ;\n\n this.slider\n .attr(\"transform\", \"translate(\" + (-this.width() / 2 + this.padding()) + \",\" + 0 + \")\");\n\n this.slider.selectAll(\"line.track,line.track-inset,line.track-overlay\")\n .attr(\"x1\", this.xScale.range()[0])\n .attr(\"x2\", this.xScale.range()[1])\n ;\n\n const x_distance = (this.width() - (this.padding() * 2)) / (this.tickCount() - 1);\n\n const tick_text_arr = [];\n if (this.tickDateFormat() !== null && this.timePattern() !== null) {\n const Q_parser = d3TimeParse(\"%Q\");\n const time_formatter = d3TimeFormat(this.tickDateFormat());\n const time_segment = (this.high() - this.low()) / (this.tickCount() - 1);\n for (let i = 0; i < this.tickCount(); i++) {\n const date_to_parse = \"\" + (this.low() + (time_segment * i));\n const parsed_date = Q_parser(date_to_parse);\n tick_text_arr.push(time_formatter(parsed_date));\n }\n } else {\n const value_formatter = d3Format(this.tickValueFormat());\n const value_segment = (this.high() - this.low()) / (this.tickCount() - 1);\n for (let i = 0; i < this.tickCount(); i++) {\n const tick_value = this.low() + (value_segment * i);\n tick_text_arr.push(value_formatter(tick_value));\n }\n }\n const tickText = this.slider.selectAll(\"g.tick\").data(tick_text_arr);\n const tickTextEnter = tickText.enter().append(\"g\").attr(\"class\", \"tick\");\n\n tickTextEnter.append(\"text\").attr(\"class\", \"tick-text\");\n tickTextEnter.append(\"line\").attr(\"class\", \"tick-line\");\n tickTextEnter\n .merge(tickText)\n .each(function (d, i) {\n const x = x_distance * i;\n\n d3Select(this).select(\"text.tick-text\")\n .style(\"font-size\", context.fontSize())\n .attr(\"x\", function () {\n if (i === 0) return x - 2;\n return i === context.tickCount() - 1 ? x + 2 : x;\n })\n .attr(\"y\", context.tickHeight() + (context.tickOffset() / 2) + context.fontSize())\n .attr(\"text-basline\", \"text-before-edge\")\n .attr(\"text-anchor\", function () {\n if (i === 0) return \"start\";\n return i === context.tickCount() - 1 ? \"end\" : \"middle\";\n })\n .text(() => d)\n ;\n\n d3Select(this).select(\"line.tick-line\")\n .attr(\"x1\", x)\n .attr(\"x2\", x)\n .attr(\"y1\", context.tickOffset() - 1)\n .attr(\"y2\", context.tickOffset() + context.tickHeight())\n .style(\"stroke\", \"#000\")\n .style(\"stroke-width\", 1)\n ;\n });\n this.slider.node().appendChild(this.handleRight.node());\n this.slider.node().appendChild(this.handleLeft.node());\n this.handleLeftPos = this.lowPos();\n this.handleRightPos = this.highPos();\n this.updateHandles();\n this.checkChangedValue();\n }\n\n checkChangedValue() {\n if (this.prevValue !== this.value() && typeof this.prevValue !== \"undefined\") {\n this.change(this);\n }\n this.prevValue = this.value();\n }\n\n updateHandles() {\n this.handleLeft\n .attr(\"transform\", `translate(${this.handleLeftPos}, -28)`)\n .attr(\"d\", (d) => this.handlePath(\"l\"))\n ;\n this.handleRight\n .attr(\"transform\", `translate(${this.handleRightPos}, -28)`)\n .attr(\"d\", (d) => this.handlePath(\"r\"))\n ;\n }\n\n lowPos(): number {\n let data = [[this.low(), this.high()]];\n if (this.data().length > 0 && typeof this.data()[0][0] === \"number\" && typeof this.data()[0][1] === \"number\") {\n data = this.data();\n }\n return this.xScale(data[0][0]);\n }\n\n highPos(): number {\n let data = [[this.low(), this.high()]];\n if (this.data().length > 0 && typeof this.data()[0][0] === \"number\" && typeof this.data()[0][1] === \"number\") {\n data = this.data();\n }\n return this.xScale(data[0][this.allowRange() ? 1 : 0]);\n }\n\n moveHandleTo(pos) {\n if (this.allowRange()) {\n switch (this.moveMode) {\n case \"both\":\n this.handleLeftPos = this.handleLeftStartPos + pos - this.moveStartPos;\n this.handleRightPos = this.handleRightStartPos + pos - this.moveStartPos;\n break;\n case \"left\":\n this.handleLeftPos = pos;\n if (this.handleLeftPos > this.handleRightPos) {\n this.handleRightPos = this.handleLeftPos;\n }\n break;\n case \"right\":\n this.handleRightPos = pos;\n if (this.handleRightPos < this.handleLeftPos) {\n this.handleLeftPos = this.handleRightPos;\n }\n break;\n }\n } else {\n this.handleLeftPos = this.handleRightPos = pos;\n }\n\n this.handleLeftPos = this.constrain(this.handleLeftPos);\n this.handleRightPos = this.constrain(this.handleRightPos);\n this.value(this.allowRange() ? [this.xScale.invert(this.handleLeftPos), this.xScale.invert(this.handleRightPos)] : this.xScale.invert(this.handleLeftPos));\n this.updateHandles();\n }\n\n constrain(pos: number): number {\n const range = this.xScale.range();\n if (pos < range[0]) pos = range[0];\n if (pos > range[1]) pos = range[1];\n return this.nearestStep(pos);\n }\n\n nearestStep(pos) {\n const value = this.xScale.invert(pos);\n return this.xScale(this.low() + Math.round((value - this.low()) / this.step()) * this.step());\n }\n\n handlePath = function (d) {\n const e = +(d === \"r\");\n const x = e ? 1 : -1;\n const xOffset = this.allowRange() ? 0.5 : 0.0;\n const y = 18;\n let retVal = \"M\" + (xOffset * x) + \",\" + y +\n \"A6,6 0 0 \" + e + \" \" + (6.5 * x) + \",\" + (y + 6) +\n \"V\" + (2 * y - 6) +\n \"A6,6 0 0 \" + e + \" \" + (xOffset * x) + \",\" + (2 * y)\n ;\n if (this.allowRange()) {\n retVal += \"Z\" +\n \"M\" + (2.5 * x) + \",\" + (y + 8) +\n \"V\" + (2 * y - 8) +\n \"M\" + (4.5 * x) + \",\" + (y + 8) +\n \"V\" + (2 * y - 8)\n ;\n } else {\n retVal += \"M\" + (1 * x) + \",\" + (y + 8) +\n \"V\" + (2 * y - 8)\n ;\n }\n return retVal;\n };\n\n name: (_?: string) => string | this;\n change: (_: Slider) => void;\n}\nSlider.prototype._class += \" form_Slider\";\nSlider.prototype.implements(IInput.prototype);\n\nexport interface Slider {\n padding(): number;\n padding(_: number): this;\n fontSize(): number;\n fontSize(_: number): this;\n fontFamily(): string;\n fontFamily(_: string): this;\n fontColor(): string;\n fontColor(_: string): this;\n allowRange(): boolean;\n allowRange(_: boolean): this;\n low(): number;\n low(_: number): this;\n high(): number;\n high(_: number): this;\n step(): number;\n step(_: number): this;\n lowDatetime(): string;\n lowDatetime(_: string): this;\n highDatetime(): string;\n highDatetime(_: string): this;\n stepDatetime(): number;\n stepDatetime(_: number): this;\n selectionLabel(): string;\n selectionLabel(_: string): this;\n label(): string;\n label(_: string): this;\n value(): any;\n value(_: any): this;\n validate(): string;\n validate(_: string): this;\n tickCount(): number;\n tickCount(_: number): this;\n tickOffset(): number;\n tickOffset(_: number): this;\n tickHeight(): number;\n tickHeight(_: number): this;\n tickDateFormat(): string;\n tickDateFormat(_: string): this;\n tickValueFormat(): string;\n tickValueFormat(_: string): this;\n timePattern(): string;\n timePattern(_: string): this;\n\n padding_exists(): boolean;\n fontSize_exists(): boolean;\n fontFamily_exists(): boolean;\n fontColor_exists(): boolean;\n allowRange_exists(): boolean;\n low_exists(): boolean;\n step_exists(): boolean;\n high_exists(): boolean;\n selectionLabel_exists(): boolean;\n name_exists(): boolean;\n label_exists(): boolean;\n value_exists(): boolean;\n validate_exists(): boolean;\n}\n\nSlider.prototype.publish(\"padding\", 16, \"number\", \"Outer Padding\", null, { tags: [\"Basic\"] });\nSlider.prototype.publish(\"fontSize\", 12, \"number\", \"Font Size\", null, { tags: [\"Basic\"] });\nSlider.prototype.publish(\"fontFamily\", null, \"string\", \"Font Name\", null, { tags: [\"Basic\"] });\nSlider.prototype.publish(\"fontColor\", null, \"html-color\", \"Font Color\", null, { tags: [\"Basic\"] });\n\nSlider.prototype.publish(\"allowRange\", false, \"boolean\", \"Allow Range Selection\", null, { tags: [\"Intermediate\"] });\nSlider.prototype.publish(\"low\", null, \"number\", \"Low\", null, { tags: [\"Intermediate\"] });\nSlider.prototype.publish(\"high\", null, \"number\", \"High\", null, { tags: [\"Intermediate\"] });\nSlider.prototype.publish(\"step\", 10, \"number\", \"Step\", null, { tags: [\"Intermediate\"] });\nSlider.prototype.publish(\"lowDatetime\", null, \"string\", \"Low\", null, { tags: [\"Intermediate\"] });\nSlider.prototype.publish(\"highDatetime\", null, \"string\", \"High\", null, { tags: [\"Intermediate\"] });\nSlider.prototype.publish(\"selectionLabel\", \"\", \"string\", \"Selection Label\", null, { tags: [\"Intermediate\"] });\n\nSlider.prototype.publish(\"timePattern\", \"%Y-%m-%d\", \"string\");\n\nSlider.prototype.publish(\"tickCount\", 10, \"number\");\nSlider.prototype.publish(\"tickOffset\", 5, \"number\");\nSlider.prototype.publish(\"tickHeight\", 8, \"number\");\nSlider.prototype.publish(\"tickDateFormat\", null, \"string\");\nSlider.prototype.publish(\"tickValueFormat\", \",.0f\", \"string\");\n\nconst name = Slider.prototype.name;\nSlider.prototype.name = function (_: any): any {\n const retVal = name.apply(this, arguments);\n if (arguments.length) {\n const val = _ instanceof Array ? _ : [_];\n SVGWidget.prototype.columns.call(this, val);\n }\n return retVal;\n};\n\nconst value = Slider.prototype.value;\nSlider.prototype.value = function (_?: any): any {\n const retVal = value.apply(this, arguments);\n if (!arguments.length) {\n if (!this.allowRange()) {\n return SVGWidget.prototype.data.call(this)[0][0];\n }\n return SVGWidget.prototype.data.call(this)[0];\n } else {\n SVGWidget.prototype.data.call(this, [this.allowRange() ? _ : [_, _]]);\n }\n return retVal;\n};\n","import { Input } from \"./Input\";\n\nexport class TextArea extends Input {\n constructor() {\n super();\n\n this._tag = \"div\";\n this.type(\"textarea\");\n }\n\n enter(domNode, element) {\n super.enter(domNode, element);\n }\n\n calcHeight() {\n return Math.max(this.minHeight_exists() ? this.minHeight() : 0, this.height());\n }\n\n update(domNode, element) {\n super.update(domNode, element);\n this._inputElement[0]\n .attr(\"rows\", this.rows())\n .attr(\"cols\", this.cols())\n .attr(\"wrap\", this.wrap())\n .attr(\"spellcheck\", this.spellcheck())\n .style(\"height\", this.calcHeight() + \"px\")\n ;\n }\n\n rows: { (): number; (_: number): TextArea };\n rows_exists: () => boolean;\n cols: { (): number; (_: number): TextArea };\n cols_exists: () => boolean;\n wrap: { (): string; (_: string): TextArea };\n wrap_exists: () => boolean;\n minHeight: { (): number; (_: number): TextArea };\n minHeight_exists: () => boolean;\n spellcheck: { (): boolean; (_: boolean): TextArea };\n spellcheck_exists: () => boolean;\n value: { (): any; (_: any): TextArea };\n}\nTextArea.prototype._class += \" form_TextArea\";\n\nTextArea.prototype.publish(\"rows\", null, \"number\", \"Rows\", null, { optional: true });\nTextArea.prototype.publish(\"cols\", null, \"number\", \"Columns\", null, { optional: true });\nTextArea.prototype.publish(\"wrap\", \"off\", \"set\", \"Wrap\", [\"off\", \"on\"]);\nTextArea.prototype.publish(\"minHeight\", null, \"number\", \"Minimum Height\", null, { optional: true });\nTextArea.prototype.publish(\"spellcheck\", null, \"boolean\", \"Input spell checking\", { optional: true });\n","export const PKG_NAME = \"@hpcc-js/form\";\r\nexport const PKG_VERSION = \"2.8.69\";\r\nexport const BUILD_VERSION = \"2.101.0\";\r\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hpcc-js/form",
3
- "version": "2.8.65",
3
+ "version": "2.8.69",
4
4
  "description": "hpcc-js - Viz Form",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.es6",
@@ -34,15 +34,16 @@
34
34
  "watch": "npm-run-all compile-es6 -p compile-es6-watch bundle-watch",
35
35
  "stamp": "node node_modules/@hpcc-js/bundle/src/stamp.js",
36
36
  "lint": "eslint src/**/*.ts",
37
- "docs": "typedoc --options tdoptions.json ."
37
+ "docs": "typedoc --options tdoptions.json .",
38
+ "update": "npx npm-check-updates -u -t minor"
38
39
  },
39
40
  "dependencies": {
40
- "@hpcc-js/api": "^2.8.56",
41
- "@hpcc-js/chart": "^2.71.0",
42
- "@hpcc-js/common": "^2.61.0"
41
+ "@hpcc-js/api": "^2.8.60",
42
+ "@hpcc-js/chart": "^2.75.0",
43
+ "@hpcc-js/common": "^2.65.0"
43
44
  },
44
45
  "devDependencies": {
45
- "@hpcc-js/bundle": "^2.10.20",
46
+ "@hpcc-js/bundle": "^2.10.23",
46
47
  "@rollup/plugin-alias": "3.1.0",
47
48
  "@rollup/plugin-commonjs": "12.0.0",
48
49
  "@rollup/plugin-node-resolve": "8.0.0",
@@ -77,5 +78,5 @@
77
78
  "url": "https://github.com/hpcc-systems/Visualization/issues"
78
79
  },
79
80
  "homepage": "https://github.com/hpcc-systems/Visualization",
80
- "gitHead": "0ecc9bdf1688d237242e998f5c23e4355ee0586d"
81
+ "gitHead": "e89ca1a0aecd1422fde175a1916720134e18014e"
81
82
  }
@@ -1,3 +1,3 @@
1
1
  export const PKG_NAME = "@hpcc-js/form";
2
- export const PKG_VERSION = "2.8.65";
3
- export const BUILD_VERSION = "2.95.0";
2
+ export const PKG_VERSION = "2.8.69";
3
+ export const BUILD_VERSION = "2.101.0";
@@ -1,4 +1,4 @@
1
1
  export declare const PKG_NAME = "@hpcc-js/form";
2
- export declare const PKG_VERSION = "2.8.65";
3
- export declare const BUILD_VERSION = "2.95.0";
2
+ export declare const PKG_VERSION = "2.8.69";
3
+ export declare const BUILD_VERSION = "2.101.0";
4
4
  //# sourceMappingURL=__package__.d.ts.map