@hpcc-js/composite 2.8.2 → 3.1.0
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.
- package/dist/index.js +1135 -1035
- package/dist/index.js.map +7 -1
- package/package.json +38 -41
- package/src/ChartPanel.ts +2 -4
- package/src/MegaChart.ts +1 -1
- package/src/MultiChart.ts +3 -3
- package/src/MultiChartSurface.ts +1 -1
- package/src/Persist.ts +1 -1
- package/src/__package__.ts +2 -2
- package/src/index.ts +7 -7
- package/types/ChartPanel.d.ts +2 -4
- package/types/Dermatology.d.ts +0 -1
- package/types/MegaChart.d.ts +4 -5
- package/types/MultiChart.d.ts +0 -1
- package/types/Persist.d.ts +0 -1
- package/types/Utility.d.ts +0 -1
- package/types/__package__.d.ts +2 -3
- package/types/index.d.ts +7 -8
- package/dist/index.es6.js +0 -1051
- package/dist/index.es6.js.map +0 -1
- package/dist/index.min.js +0 -2
- package/dist/index.min.js.map +0 -1
- package/types/ChartPanel.d.ts.map +0 -1
- package/types/Dermatology.d.ts.map +0 -1
- package/types/MegaChart.d.ts.map +0 -1
- package/types/MultiChart.d.ts.map +0 -1
- package/types/MultiChartSurface.d.ts +0 -5
- package/types/MultiChartSurface.d.ts.map +0 -1
- package/types/Persist.d.ts.map +0 -1
- package/types/Utility.d.ts.map +0 -1
- package/types/__package__.d.ts.map +0 -1
- package/types/index.d.ts.map +0 -1
- package/types-3.4/ChartPanel.d.ts +0 -19
- package/types-3.4/Dermatology.d.ts +0 -26
- package/types-3.4/MegaChart.d.ts +0 -155
- package/types-3.4/MultiChart.d.ts +0 -62
- package/types-3.4/MultiChartSurface.d.ts +0 -5
- package/types-3.4/Persist.d.ts +0 -7
- package/types-3.4/Utility.d.ts +0 -3
- package/types-3.4/__package__.d.ts +0 -4
- package/types-3.4/index.d.ts +0 -10
package/dist/index.js.map
CHANGED
|
@@ -1 +1,7 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/__package__.ts","../../../node_modules/tslib/tslib.es6.mjs","../src/Utility.ts","../src/MultiChart.ts","../../../node_modules/style-inject/dist/style-inject.es.js","../src/ChartPanel.ts","../src/Dermatology.ts","../src/MegaChart.ts","../src/Persist.ts"],"sourcesContent":["export const PKG_NAME = \"@hpcc-js/composite\";\nexport const PKG_VERSION = \"2.8.2\";\nexport const BUILD_VERSION = \"2.106.4\";\n","/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\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;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\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);\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); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\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\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\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\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose, inner;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n if (async) inner = dispose;\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n function next() {\n while (env.stack.length) {\n var rec = env.stack.pop();\n try {\n var result = rec.dispose && rec.dispose.call(rec.value);\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n catch (e) {\n fail(e);\n }\n }\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n};\n","import { Utility } from \"@hpcc-js/common\";\n\ndeclare const require: any;\nexport function requireWidget(classID) {\n return new Promise(function (resolve, _reject) {\n const parsedClassID = Utility.parseClassID(classID);\n if (require) {\n require([parsedClassID.package], function (Package) {\n let Widget = null;\n if (Package && Package[parsedClassID.widgetID]) {\n Widget = Package[parsedClassID.widgetID];\n }\n resolve(parsedClassID.memberWidgetID ? (Widget.prototype ? Widget.prototype[parsedClassID.memberWidgetID] : Widget[parsedClassID.memberWidgetID]) : Widget);\n });\n }\n });\n}\n\nexport function requireWidgets(classIDs) {\n return Promise.all(classIDs.map(requireWidget));\n}\n","import { IGraph, INDChart } from \"@hpcc-js/api\";\nimport { Database, HTMLWidget, Utility, Widget } from \"@hpcc-js/common\";\nimport { map as d3Map } from \"d3-collection\";\nimport { requireWidget } from \"./Utility\";\n\ndeclare const require: any;\nexport class MultiChart extends HTMLWidget {\n _allCharts = {};\n _chartTypeDefaults;\n _chartTypeProperties;\n _chartMonitor;\n _switchingTo;\n\n constructor() {\n super();\n INDChart.call(this);\n IGraph.call(this);\n\n this._tag = \"div\";\n\n this._allCharts = {};\n this._allChartTypes.forEach(function (item) {\n const newItem = JSON.parse(JSON.stringify(item));\n newItem.widget = null;\n this._allCharts[item.id] = newItem;\n this._allCharts[item.display] = newItem;\n this._allCharts[item.widgetClass] = newItem;\n }, this);\n this._chartTypeDefaults = {};\n this._chartTypeProperties = {};\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 (this.chart()) {\n if (!arguments.length) return this.chart().fields();\n this.chart().fields(_);\n }\n return retVal;\n }\n\n columns(): string[];\n columns(_, asDefault?: boolean): this;\n columns(_?, asDefault?: boolean) {\n const retVal = HTMLWidget.prototype.columns.apply(this, arguments);\n if (this.chart()) {\n if (!arguments.length) return this.chart().columns();\n this.chart().columns(_, asDefault);\n }\n return retVal;\n }\n\n data(_?) {\n const retVal = HTMLWidget.prototype.data.apply(this, arguments);\n if (this.chart()) {\n if (!arguments.length) return this.chart().data();\n this.chart().data(_);\n }\n return retVal;\n }\n\n hasOverlay() {\n return this.chart() && this.chart().hasOverlay();\n }\n\n visible(): boolean;\n visible(_: boolean): this;\n visible(_?: boolean): boolean | this {\n if (!arguments.length) return this.chart() && this.chart().visible();\n if (this.chart()) {\n this.chart().visible(_);\n }\n return this;\n }\n\n chartTypeDefaults(): object;\n chartTypeDefaults(_: object): this;\n chartTypeDefaults(_?: object): object | this {\n if (!arguments.length) return this._chartTypeDefaults;\n this._chartTypeDefaults = _;\n return this;\n }\n\n chartTypeProperties(): object;\n chartTypeProperties(_: object): this;\n chartTypeProperties(_?: object): object | this {\n if (!arguments.length) return this._chartTypeProperties;\n this._chartTypeProperties = _;\n return this;\n }\n\n getChartDataFamily() {\n return this._allCharts[this.chartType()].family;\n }\n\n requireContent(chartType, callback) {\n const classInfo = Utility.parseClassID(this._allCharts[chartType].widgetClass);\n switch (classInfo.package) {\n case \"@hpcc-js/chart\":\n require([\"@hpcc-js/chart\"], mod => {\n callback(new mod[classInfo.widgetID]());\n });\n break;\n case \"@hpcc-js/dgrid\":\n require([\"@hpcc-js/dgrid\"], mod => {\n callback(new mod[classInfo.widgetID]());\n });\n break;\n default:\n requireWidget(this._allCharts[chartType].widgetClass).then(function (WidgetClass: any) {\n callback(new WidgetClass());\n });\n }\n }\n\n switchChart(callback) {\n if (this._switchingTo === this.chartType()) {\n if (callback) {\n callback(this);\n }\n return;\n } else if (this._switchingTo) {\n console.warn(\"Attempting switch to: \" + this.chartType() + \", before previous switch is complete (\" + this._switchingTo + \")\");\n }\n this._switchingTo = this.chartType();\n const oldContent = this.chart();\n const context = this;\n this.requireContent(this.chartType(), function (newContent) {\n if (newContent !== oldContent) {\n const size = context.size();\n newContent\n .fields(context.fields())\n .data(context.data())\n .size(size)\n ;\n\n context.chart(newContent);\n if (oldContent) {\n oldContent\n .size({ width: 1, height: 1 })\n .render()\n ;\n }\n }\n delete context._switchingTo;\n if (callback) {\n callback(this);\n }\n });\n }\n\n update(domNode, element) {\n super.update(domNode, element);\n const content = element.selectAll(\".multiChart\").data(this.chart() ? [this.chart()] : [], function (d) { return d._id; });\n content.enter().append(\"div\")\n .attr(\"class\", \"multiChart\")\n .each(function (d) {\n d.target(this);\n })\n ;\n\n const currChart = this.chart();\n if (currChart) {\n for (const key in this._chartTypeDefaults) {\n if (currChart[key + \"_default\"]) {\n try {\n currChart[key + \"_default\"](this._chartTypeDefaults[key]);\n } catch (e) {\n console.warn(\"Exception Setting Default: \" + key);\n }\n } else {\n console.warn(\"Unknown Default: \" + key);\n }\n }\n this._chartTypeDefaults = {};\n for (const propKey in this._chartTypeProperties) {\n if (currChart[propKey]) {\n try {\n currChart[propKey](this._chartTypeProperties[propKey]);\n } catch (e) {\n console.warn(\"Exception Setting Property: \" + propKey);\n }\n } else {\n console.warn(\"Unknown Property: \" + propKey);\n }\n }\n this._chartTypeProperties = {};\n }\n\n const context = this;\n content\n .each(function (d) { d.resize(context.size()); })\n ;\n\n content.exit().transition()\n .each(function (d) { d.target(null); })\n .remove()\n ;\n }\n\n exit(domNode, element) {\n if (this._chartMonitor) {\n this._chartMonitor.remove();\n delete this._chartMonitor;\n }\n if (this.chart()) {\n this.chart().target(null);\n }\n super.exit(domNode, element);\n }\n\n render(_callback?) {\n if (this.chartType() && (!this.chart() || (this.chart().classID() !== this._allCharts[this.chartType()].widgetClass))) {\n const context = this;\n const args = arguments;\n this.switchChart(function () {\n HTMLWidget.prototype.render.apply(context, args);\n });\n return this;\n }\n return HTMLWidget.prototype.render.apply(this, arguments);\n }\n}\nMultiChart.prototype._class += \" composite_MultiChart\";\nMultiChart.prototype.implements(INDChart.prototype);\nMultiChart.prototype.implements(IGraph.prototype);\nexport interface ChartMeta {\n id: string;\n display: string;\n widgetClass: string;\n widgetPath?: string;\n}\nexport interface MultiChart {\n _otherChartTypes: ChartMeta[];\n _graphChartTypes: ChartMeta[];\n _1DChartTypes: ChartMeta[];\n _2DChartTypes: ChartMeta[];\n _NDChartTypes: ChartMeta[];\n _mapChartTypes: ChartMeta[];\n _anyChartTypes: ChartMeta[];\n _allChartTypes: ChartMeta[];\n _allMap;\n _allFamilies: string[];\n _allChartTypesMap;\n _allChartTypesByClass;\n\n hideRowOnLegendClick(): boolean;\n hideRowOnLegendClick(_: boolean): this;\n chartType(): string;\n chartType(_: string): this;\n chart(): Widget;\n chart(_: Widget): this;\n chart_access(): Widget;\n chart_access(_: Widget): this;\n\n click(_row, _column, _selected): void;\n dblclick(_row, _column, _selected): void;\n vertex_click(row, column, selected, more): void;\n vertex_dblclick(row, column, selected, more): void;\n edge_click(row, column, selected, more): void;\n edge_dblclick(row, column, selected, more): void;\n}\n\nMultiChart.prototype._otherChartTypes = [\n { id: \"FORM\", display: \"Form\", widgetClass: \"form_FieldForm\" }\n].map(function (item: any) { item.family = \"other\"; return item; });\nMultiChart.prototype._graphChartTypes = [\n { id: \"GRAPH\", display: \"Graph\", widgetClass: \"graph_Graph\" },\n { id: \"ADJACENCY_GRAPH\", display: \"Graph\", widgetClass: \"graph_AdjacencyGraph\" },\n { id: \"GRAPHC\", display: \"GraphC\", widgetClass: \"graph_GraphC\" }\n].map(function (item: any) { item.family = \"GRAPH\"; return item; });\nMultiChart.prototype._1DChartTypes = [\n].map(function (item: any) { item.family = \"1D\"; return item; });\nMultiChart.prototype._2DChartTypes = [\n { id: \"SUMMARY\", display: \"Summary\", widgetClass: \"chart_Summary\" },\n { id: \"BUBBLE\", display: \"Bubble\", widgetClass: \"chart_Bubble\" },\n { id: \"PIE\", display: \"Pie\", widgetClass: \"chart_Pie\" },\n { id: \"WORD_CLOUD\", display: \"Word Cloud\", widgetClass: \"other_WordCloud\" }\n].map(function (item: any) { item.family = \"2D\"; return item; });\nMultiChart.prototype._NDChartTypes = [\n { id: \"COLUMN\", display: \"Column\", widgetClass: \"chart_Column\" },\n { id: \"BAR\", display: \"Bar\", widgetClass: \"chart_Bar\" },\n { id: \"LINE\", display: \"Line\", widgetClass: \"chart_Line\" },\n { id: \"AREA\", display: \"Area\", widgetClass: \"chart_Area\" },\n { id: \"STEP\", display: \"Step\", widgetClass: \"chart_Step\" },\n { id: \"SCATTER\", display: \"Scatter\", widgetClass: \"chart_Scatter\" },\n { id: \"HEXBIN\", display: \"Hex Bin\", widgetClass: \"chart_HexBin\" }\n].map(function (item: any) { item.family = \"ND\"; return item; });\nMultiChart.prototype._mapChartTypes = [\n { id: \"CHORO_USSTATES\", display: \"US State Choropleth\", widgetClass: \"map_ChoroplethStates\" },\n { id: \"CHORO_USCOUNTIES\", display: \"US County Choropleth\", widgetClass: \"map_ChoroplethCounties\" },\n { id: \"CHORO_COUNTRIES\", display: \"Country Choropleth\", widgetClass: \"map_ChoroplethCountries\" },\n { id: \"GMAP_CHORO_USCOUNTIES\", display: \"Google Map US County Choropleth\", widgetClass: \"map_GMapCounties\" },\n { id: \"GOOGLE_MAP\", display: \"Google Map\", widgetClass: \"map_GMapLayered\" },\n { id: \"OPENSTREET\", display: \"Open Street Map\", widgetClass: \"map_OpenStreet\" }\n].map(function (item: any) { item.family = \"map\"; return item; });\nMultiChart.prototype._anyChartTypes = [\n { id: \"TABLE\", display: \"Table\", widgetClass: \"dgrid_Table\" },\n { id: \"TABLE_LEGACY\", display: \"Table (legacy)\", widgetClass: \"other_Table\" },\n { id: \"TABLE_NESTED\", display: \"Nested Table\", widgetClass: \"other_NestedTable\" },\n { id: \"TABLE_CALENDAR\", display: \"Table driven Calendar Heat Map\", widgetClass: \"other_CalendarHeatMap\" },\n { id: \"TABLE_BULLET\", display: \"Table driven bullet chart\", widgetClass: \"chart_Bullet\" },\n { id: \"TABLE_SELECT\", display: \"Table driven select\", widgetClass: \"other_Select\" },\n { id: \"TABLE_AUTOCOMPLETE\", display: \"Table driven auto complete\", widgetClass: \"other_AutoCompleteText\" },\n { id: \"TABLE_OPPORTUNITY\", display: \"Table driven opportunity widget\", widgetClass: \"graph_Opportunity\" },\n { id: \"TABLE_TREE\", display: \"Table driven tree\", widgetClass: \"tree_Dendrogram\" },\n { id: \"TABLE_TREEMAP\", display: \"Table driven Treemap\", widgetClass: \"tree_Treemap\" },\n { id: \"TABLE_SANKEY\", display: \"Table driven Sankey\", widgetClass: \"graph_Sankey\" },\n { id: \"TABLE_GMAP_PIN\", display: \"Table driven Google Map (pins)\", widgetClass: \"map_GMapPin\" },\n { id: \"TABLE_GMAP_PINLINE\", display: \"Table driven Google Map (pins/lines)\", widgetClass: \"map_GMapPinLine\" },\n { id: \"TABLE_XML_TREE\", display: \"Table driven XML Tree\", widgetClass: \"tree_Indented\" }\n].map(function (item: any) { item.family = \"any\"; return item; });\nMultiChart.prototype._allChartTypes =\n MultiChart.prototype._otherChartTypes.concat(\n MultiChart.prototype._graphChartTypes.concat(\n MultiChart.prototype._1DChartTypes.concat(\n MultiChart.prototype._2DChartTypes.concat(\n MultiChart.prototype._NDChartTypes.concat(\n MultiChart.prototype._mapChartTypes.concat(\n MultiChart.prototype._anyChartTypes\n ))))));\nMultiChart.prototype._allMap = d3Map(MultiChart.prototype._allChartTypes, function (item: any) { return item.family; });\nMultiChart.prototype._allFamilies = MultiChart.prototype._allMap.keys();\nMultiChart.prototype._allChartTypesMap = {};\nMultiChart.prototype._allChartTypesByClass = {};\nMultiChart.prototype._allChartTypes.forEach(function (item) {\n item.widgetPath = Utility.widgetPath(item.widgetClass);\n MultiChart.prototype._allChartTypesMap[item.id] = item;\n MultiChart.prototype._allChartTypesByClass[item.widgetClass] = item;\n});\n\nMultiChart.prototype.publishReset();\nMultiChart.prototype.publish(\"hideRowOnLegendClick\", false, \"boolean\", \"Enable/Disable hiding row on legend clicks\", null, { tags: [\"Basic\"] });\nMultiChart.prototype.publish(\"chartType\", \"BUBBLE\", \"set\", \"Chart Type\", MultiChart.prototype._allChartTypes.map(function (item) { return item.id; }), { tags: [\"Basic\"] });\nMultiChart.prototype.publish(\"chart\", null, \"widget\", \"Chart\", null, { tags: [\"Basic\"] });\n\nconst _origChart = MultiChart.prototype.chart;\nMultiChart.prototype.chart = function (_?) {\n const retVal = _origChart.apply(this, arguments);\n if (arguments.length) {\n const context = this;\n if (this._allChartTypesByClass[_.classID()]) {\n this.chartType(this._allChartTypesByClass[_.classID()].id);\n } else {\n console.warn(\"Unknown Class ID: \" + _.classID());\n }\n _.click = function (_row, _column, _selected) {\n context.click.apply(context, arguments);\n };\n _.dblclick = function (_row, _column, _selected) {\n context.dblclick.apply(context, arguments);\n };\n _.vertex_click = function (row, column, selected, more) {\n context.vertex_click.apply(context, arguments);\n };\n _.vertex_dblclick = function (row, column, selected, more) {\n context.vertex_dblclick.apply(context, arguments);\n };\n _.edge_click = function (row, column, selected, more) {\n context.edge_click.apply(context, arguments);\n };\n _.edge_dblclick = function (row, column, selected, more) {\n context.edge_dblclick.apply(context, arguments);\n };\n if (this._chartMonitor) {\n this._chartMonitor.remove();\n delete this._chartMonitor;\n }\n this._chartMonitor = _.monitor(function (key, newVal, oldVal) {\n context.broadcast(key, newVal, oldVal, _);\n });\n }\n return retVal;\n};\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 { HTMLWidget, Widget } from \"@hpcc-js/common\";\nimport { ChartPanel } from \"@hpcc-js/layout\";\nimport { MultiChart } from \"./MultiChart\";\n\nimport \"../src/ChartPanel.css\";\n\nclass Summary extends HTMLWidget {\n\n constructor() {\n super();\n }\n\n enter(domNode, element) {\n super.enter(domNode, element);\n element.append(\"p\");\n }\n\n update(domNode, element) {\n super.update(domNode, element);\n element.select(\"p\").text(this.text());\n }\n}\ninterface Summary {\n text(): string;\n text(_: string): this;\n}\nSummary.prototype.publish(\"text\", \"\", \"string\");\n\nexport class MultiChartPanel extends ChartPanel {\n\n _widget: MultiChart;\n\n constructor() {\n super();\n this.widget(new MultiChart().chartType(\"COLUMN\"));\n }\n\n multiChart(): MultiChart {\n return this._widget;\n }\n\n chartType(): string;\n chartType(_: string): this;\n chartType(_?: string): string | this {\n if (!arguments.length) return this._widget.chartType();\n this._widget.chartType(_);\n return this;\n }\n\n chart(): Widget;\n chart(_: Widget): this;\n chart(_?: Widget): Widget | this {\n if (!arguments.length) return this._widget.chart();\n this._widget.chart(_);\n return this;\n }\n\n chartTypeDefaults(): object;\n chartTypeDefaults(_: object): this;\n chartTypeDefaults(_?: object): this | object {\n if (!arguments.length) return this._widget.chartTypeDefaults();\n this._widget.chartTypeDefaults(_);\n return this;\n }\n\n chartTypeProperties(): object;\n chartTypeProperties(_: object): this;\n chartTypeProperties(_?: object): this | object {\n if (!arguments.length) return this._widget.chartTypeProperties();\n this._widget.chartTypeProperties(_);\n return this;\n }\n\n update(domNode, element) {\n super.update(domNode, element);\n if (this._widget instanceof MultiChart) {\n this._legend.dataFamily(this._widget.getChartDataFamily());\n }\n super.update(domNode, element);\n }\n}\nMultiChartPanel.prototype._class += \" composite_MultiChartPanel\";\n","import { OnOff } from \"@hpcc-js/form\";\nimport { Border, Toolbar } from \"@hpcc-js/layout\";\nimport { PropertyEditor } from \"@hpcc-js/other\";\n\nimport \"../src/Dermatology.css\";\n\nexport class Dermatology extends Border {\n _toolbar;\n _propEditor;\n _showProperties;\n _propsButton;\n _prevWidget;\n\n constructor() {\n super();\n\n this._toolbar = new Toolbar()\n .title(\"Dermatology\")\n ;\n this._propEditor = new PropertyEditor()\n .show_settings(true)\n ;\n }\n\n showProperties(_?) {\n if (!arguments.length) return this._showProperties;\n this._showProperties = _;\n this\n .rightPercentage(0)\n .rightSize(this._showProperties ? 360 : 0)\n .setContent(\"right\", this._showProperties ? this._propEditor : null)\n ;\n const widget = this.widget();\n if (widget && widget.designMode) {\n widget.designMode(this._showProperties);\n }\n return this;\n }\n\n toggleProperties() {\n return this.showProperties(!this.showProperties());\n }\n\n enter(domNode, element) {\n super.enter(domNode, element);\n\n this\n .topPercentage(0)\n .topSize(0)\n .setContent(\"top\", this._toolbar)\n ;\n this.getCell(\"top\").surfaceShadow(true);\n\n const context = this;\n this._propsButton = new OnOff()\n .id(this.id() + \"_props\")\n .value(\"Properties\")\n .on(\"click\", function () {\n context\n .toggleProperties()\n .render()\n ;\n })\n ;\n this._toolbar.widgets([this._propsButton]);\n }\n\n update(domNode, element) {\n this\n .topPercentage(0)\n .topSize(this.showToolbar() ? 32 : 0)\n ;\n\n super.update(domNode, element);\n\n const widget = this.widget();\n element.style(\"background-color\", widget && widget.surfaceShadow ? null : \"white\");\n }\n\n render(callback) {\n const widget = this.widget();\n if (widget !== this._prevWidget) {\n if (widget && widget.surfaceShadow) {\n widget.surfaceBackgroundColor_default(\"white\");\n }\n this.setContent(\"center\", widget);\n this._propEditor.widget(widget);\n this._prevWidget = widget;\n }\n return super.render(callback);\n }\n\n showToolbar: { (): boolean; (_: boolean): Dermatology };\n showToolbar_exists: () => boolean;\n widget: { (): any; (_: any): Dermatology };\n widget_exists: () => boolean;\n}\nDermatology.prototype._class += \" composite_Dermatology\";\n\nDermatology.prototype.publish(\"showToolbar\", true, \"boolean\", \"Show Toolbar\");\nDermatology.prototype.publish(\"widget\", null, \"widget\", \"Widget\");\n","import { Database, Text, Utility } from \"@hpcc-js/common\";\nimport { Button, Input, Select } from \"@hpcc-js/form\";\nimport { Border, Grid, Toolbar } from \"@hpcc-js/layout\";\nimport { Html, Legend } from \"@hpcc-js/other\";\nimport { select as d3Select } from \"d3-selection\";\nimport \"d3-transition\";\nimport { MultiChart } from \"./MultiChart\";\n\nimport \"../src/MegaChart.css\";\n\nexport class MegaChart extends Border {\n _chart = new MultiChart();\n _toolbar = new Toolbar();\n _valueTitle = new Text();\n _domainTitle = new Text();\n _legend: Legend = new Legend();\n _csvButton;\n _infoButton;\n _maximizeButton;\n _legendButton;\n _chartTypeSelect;\n _prevLegendPosition;\n _prevShowToolbar;\n _1DChartTypes;\n _2DChartTypes;\n _NDChartTypes;\n _anyChartTypes;\n _allChartTypes;\n _contentClasses;\n _dataCount;\n\n constructor() {\n super();\n this._tag = \"div\";\n const context = this;\n this._chart.click = function () {\n context.click.apply(context, arguments);\n };\n this._chart.dblclick = function () {\n context.dblclick.apply(context, arguments);\n };\n this._chart.vertex_click = function () {\n context.vertex_click.apply(context, arguments);\n };\n this._chart.vertex_dblclick = function () {\n context.vertex_dblclick.apply(context, arguments);\n };\n this._chart.edge_click = function () {\n context.edge_click.apply(context, arguments);\n };\n this._chart.edge_dblclick = function () {\n context.edge_dblclick.apply(context, arguments);\n };\n }\n\n toolbarWidgets(_?) {\n if (!arguments.length) return this._toolbar.widgets();\n this._toolbar.widgets(_);\n return this;\n }\n\n chartTypeDefaults(_?) {\n if (!arguments.length) return this._chart.chartTypeDefaults();\n this._chart.chartTypeDefaults(_);\n return this;\n }\n\n chartTypeProperties(_?) {\n if (!arguments.length) return this._chart.chartTypeProperties();\n this._chart.chartTypeProperties(_);\n return this;\n }\n\n fields(): Database.Field[];\n fields(_: Database.Field[]): this;\n fields(_?: Database.Field[]): Database.Field[] | this {\n if (!arguments.length) return this._chart.fields();\n this._chart.fields(_);\n return this;\n }\n\n columns(): string[];\n columns(_: string[], asDefault?: boolean): this;\n columns(_?: string[], asDefault?: boolean): string[] | this {\n if (!arguments.length) return this._chart.columns();\n this._chart.columns(_, asDefault);\n return this;\n }\n\n data(_?) {\n if (!arguments.length) return this._chart.data();\n this._chart.data(_);\n return this;\n }\n\n downloadCSV() {\n Utility.downloadString(\"CSV\", this._chart.export(\"CSV\"));\n return this;\n }\n\n enter(domNode, element) {\n super.enter(domNode, element);\n const context = this;\n\n this.topShrinkWrap(false).topPercentage(0).topSize(30);\n this._dataCount = new Html()\n .classed({ \"composite_MegaChart-dataCount\": true })\n .id(this.id() + \"_dataCount\")\n .html('<span class=\"MegaChart-dataCount-label\">Count:</span> <span class=\"MegaChart-dataCount-value\">' + (this.data() ? this.data().length : \"0\") + \"</span>\")\n .overflowX(\"visible\")\n .overflowY(\"visible\")\n ;\n\n this._csvButton = new Button()\n .classed({ \"composite_MegaChart-CSV\": true })\n .id(this.id() + \"_csv\")\n .value(\"CSV\")\n ;\n this._csvButton.click = function (a) {\n context.downloadCSV();\n };\n\n this._infoButton = new Button()\n .classed({ \"composite_MegaChart-Info\": true })\n .id(this.id() + \"_info\")\n .value(this.infoIcon())\n ;\n\n this._maximizeButton = new Button()\n .classed({ \"composite_MegaChart-Maximize\": true })\n .id(this.id() + \"_maximize\")\n .value(\"\\uf2d0\")\n ;\n this._maximizeButton.click = function (buttonWidget) {\n const target = context.target() as any;\n let node = target;\n const isMaximized = d3Select(target).classed(\"__hpccisMaximized\");\n\n // Find the layout_Grid ancestor\n const parentGrid = context.locateAncestor(\"layout_Grid\");\n if (parentGrid) {\n node = parentGrid.element().node();\n } else {\n node = document.body;\n }\n\n const targetElement = d3Select(context.target()) as any;\n if (isMaximized) {\n // Restore from maximized to natural size/position\n const targetParentBox = target.parentElement.getBoundingClientRect();\n const targetPaddingTop = parseInt(getComputedStyle(target, null).getPropertyValue(\"padding-top\").replace(\"px\", \"\"));\n const targetPaddingLeft = parseInt(getComputedStyle(target, null).getPropertyValue(\"padding-left\").replace(\"px\", \"\"));\n const targetPaddingRight = parseInt(getComputedStyle(target, null).getPropertyValue(\"padding-right\").replace(\"px\", \"\"));\n const targetPaddingBottom = parseInt(getComputedStyle(target, null).getPropertyValue(\"padding-bottom\").replace(\"px\", \"\"));\n context.contentDiv.style(\"opacity\", 0).transition(100);\n targetElement.transition()// .duration(3000)\n .style(\"top\", targetParentBox.top + \"px\")\n .style(\"left\", targetParentBox.left + \"px\")\n .style(\"width\", (targetParentBox.width - targetPaddingLeft - targetPaddingRight) + \"px\")\n .style(\"height\", (targetParentBox.height - targetPaddingTop - targetPaddingBottom) + \"px\")\n .each(\"end\", function () {\n targetElement.style(\"position\", target.__old_position);\n targetElement.style(\"z-index\", target.__old_zindex);\n targetElement.style(\"background-color\", target.__old_backgroundColor);\n targetElement.style(\"box-shadow\", target.__old_boxshadow);\n context\n .resize({\n width: targetParentBox.width - targetPaddingLeft - targetPaddingRight,\n height: targetParentBox.height - targetPaddingTop - targetPaddingBottom\n })\n .render(function () {\n context.contentDiv.transition()\n .style(\"opacity\", 1);\n });\n buttonWidget.value(\"\\uf2d0\").render();\n });\n } else {\n // Maximize this MegaChart\n target.__old_position = target.style.position;\n target.__old_zindex = target.style.zIndex;\n target.__old_boxshadow = target.style.boxShadow;\n target.__old_backgroundColor = context.element().style(\"background-color\");\n const grid = d3Select(node).datum() as Grid;\n const gridTarget = grid.target();\n const gridBox = grid ? gridTarget.getBoundingClientRect() : node.getBoundingClientRect();\n const gridPaddingTop = parseInt(getComputedStyle(gridTarget, null).getPropertyValue(\"padding-top\").replace(\"px\", \"\"));\n const gridPaddingLeft = parseInt(getComputedStyle(gridTarget, null).getPropertyValue(\"padding-left\").replace(\"px\", \"\"));\n const gridPaddingRight = parseInt(getComputedStyle(gridTarget, null).getPropertyValue(\"padding-right\").replace(\"px\", \"\"));\n const gridPaddingBottom = parseInt(getComputedStyle(gridTarget, null).getPropertyValue(\"padding-bottom\").replace(\"px\", \"\"));\n context.contentDiv.style(\"opacity\", 0).transition(100);\n targetElement\n .style(\"position\", \"fixed\")\n .style(\"z-index\", 999999)\n .style(\"box-shadow\", \"0 8px 8px 0 rgba(0,0,0,.14),0 12px 4px -8px rgba(0,0,0,.2),0 4px 20px 0 rgba(0,0,0,.12)\")\n .style(\"background-color\", target.__old_backgroundColor)\n .transition()// .duration(3000)\n .style(\"top\", (gridBox.top + gridPaddingTop) + \"px\")\n .style(\"left\", (gridBox.left + gridPaddingLeft) + \"px\")\n .style(\"width\", (gridBox.width - gridPaddingLeft - gridPaddingRight) + \"px\")\n .style(\"height\", (gridBox.height - gridPaddingTop - gridPaddingBottom) + \"px\")\n .each(\"end\", function () {\n targetElement.style(\"background-color\", context.maximizedBackgroundColor());\n context\n .resize({\n width: (gridBox.width - gridPaddingLeft - gridPaddingRight),\n height: (gridBox.height - gridPaddingTop - gridPaddingBottom)\n })\n .render(function () {\n context.contentDiv.transition()\n .style(\"opacity\", 1);\n });\n buttonWidget.value(\"\\uf2d1\").render();\n });\n }\n\n d3Select(target).classed(\"__hpccisMaximized\", !isMaximized);\n };\n\n this._legendButton = new Input()\n .classed({ \"composite_MegaChart-legend\": true })\n .id(this.id() + \"_legend\")\n .type(\"checkbox\")\n .inlineLabel(\"Legend: \")\n ;\n this._legendButton.click = function (a) {\n context.render();\n };\n\n this._chartTypeSelect = new Select()\n .classed({ \"composite_MegaChart-chartType\": true })\n .id(this.id() + \"_chartType\")\n .selectOptions(this._allChartTypes.map(function (a) { return [a.id, a.display]; }))\n .value(this.chartType())\n ;\n this._chartTypeSelect.change = function (a) {\n context.chartType(a.value()).render();\n };\n\n this.setContent(\"center\", this._chart);\n\n this._legend\n .targetWidget(this._chart)\n .orientation([\"top\", \"bottom\"].indexOf(this.legendPosition()) !== -1 ? \"horizontal\" : \"vertical\")\n .fixedSize(true)\n ;\n\n this._prevLegendPosition = this.legendPosition();\n\n if (this.valueAxisTitle()) {\n this.setContent(\"left\", this._valueTitle.rotation(-90)).leftShrinkWrap(true);\n }\n if (this.domainAxisTitle()) {\n this.setContent(\"bottom\", this._domainTitle).bottomShrinkWrap(true);\n }\n\n if (this.legendPosition() !== \"none\") {\n this.setContent(this.legendPosition(), this._legend)[this.legendPosition() + \"ShrinkWrap\"](true);\n }\n }\n\n update(domNode, element) {\n function showHideButton(twArr2, button, show) {\n if (show && twArr2.indexOf(button) === -1) {\n twArr2.push(button);\n } else if (!show) {\n const idx = twArr2.indexOf(button);\n if (idx >= 0) {\n twArr2.splice(idx, 1);\n }\n }\n }\n\n if (this._chart && typeof this._chart.hideRowOnLegendClick === \"function\") {\n this._chart.hideRowOnLegendClick(this.hideRowOnLegendClick());\n }\n\n this._dataCount.html('<span class=\"MegaChart-dataCount-label\">Count:</span> <span class=\"MegaChart-dataCount-value\">' + (this.data() ? this.data().length : \"0\") + \"</span>\");\n\n this._chartTypeSelect.value(this.chartType());\n const twArr = this.toolbarWidgets();\n showHideButton(twArr, this._csvButton, this.showCSV());\n showHideButton(twArr, this._maximizeButton, this.showMaximize());\n showHideButton(twArr, this._legendButton, this.toolbarShowLegend());\n showHideButton(twArr, this._chartTypeSelect, this.showChartSelect());\n showHideButton(twArr, this._infoButton, this.showInfoButton());\n showHideButton(twArr, this._dataCount, this.showCount());\n this.toolbarWidgets(twArr);\n\n if (this._prevShowToolbar !== this.showToolbar()) {\n this.setContent(\"top\", this.showToolbar() ? this._toolbar : null);\n this._prevShowToolbar = this.showToolbar();\n }\n\n // TODO: Proxy + themes not working...\n this._toolbar\n .fontSize(this.titleFontSize())\n .fontColor(this.titleFontColor())\n .fontFamily(this.titleFontFamily())\n .fontBold(this.titleFontBold())\n .backgroundColor(this.titleBackgroundColor())\n ;\n\n this._chart\n .data(this.data());\n\n if (this._chart.chartType() !== this.chartType()) {\n this._chart.chartType(this.chartType());\n }\n\n let legendPosition = this.legendPosition();\n if (this.toolbarShowLegend() && !this._legendButton.checked()) {\n legendPosition = \"none\";\n }\n if (this._prevLegendPosition !== legendPosition) {\n if (this._prevLegendPosition !== \"none\") {\n this.clearContent(this._prevLegendPosition);\n }\n this._prevLegendPosition = legendPosition;\n if (legendPosition !== \"none\") {\n this._legend = new Legend().targetWidget(this.getContent(\"center\").fixedSize(true));\n this.setContent(legendPosition, this._legend);\n this._legend.orientation([\"top\", \"bottom\"].indexOf(legendPosition) !== -1 ? \"horizontal\" : \"vertical\");\n }\n }\n this._contentClasses = this.getContentClasses();\n\n if (this.valueAxisTitle() && this._contentClasses.left !== \"common_Text\") {\n if (legendPosition !== \"left\") {\n this.setContent(\"left\", this._valueTitle.rotation(-90));\n }\n }\n if (this.domainAxisTitle() && this._contentClasses.bottom !== \"common_Text\") {\n if (legendPosition !== \"bottom\") {\n this.setContent(\"bottom\", this._domainTitle).bottomShrinkWrap(true);\n }\n }\n\n this._legend.dataFamily(this._chart.getChartDataFamily());\n\n super.update(domNode, element);\n }\n\n exit(domNode, element) {\n super.exit(domNode, element);\n }\n\n getContentClasses() {\n const obj: any = {};\n const t = this.getContent(\"top\");\n const r = this.getContent(\"right\");\n const b = this.getContent(\"bottom\");\n const l = this.getContent(\"left\");\n obj.top = t !== null ? t.classID() : undefined;\n obj.right = r !== null ? r.classID() : undefined;\n obj.bottom = b !== null ? b.classID() : undefined;\n obj.left = l !== null ? l.classID() : undefined;\n return obj;\n }\n\n serializeState() {\n const state: any = {\n title: this.title(),\n data: this.data()\n };\n const chart = this.chart();\n if (chart) {\n if (chart.serializeState) {\n state.chart = chart.serializeState();\n delete state.chart.data;\n }\n }\n return state;\n }\n\n deserializeState(state) {\n if (state) {\n this\n .title(state.title)\n .data(state.data)\n ;\n const chart = this.chart();\n if (chart && state.chart) {\n if (chart.serializeState) {\n chart.deserializeState(state.chart);\n }\n }\n }\n return this;\n }\n\n // Events ---\n click(row, column, selected) {\n }\n\n dblclick(row, column, selected) {\n }\n vertex_click(row, col, sel, more) {\n if (more && more.vertex) {\n // console.log(\"Vertex click: \" + more.vertex.id());\n }\n }\n\n vertex_dblclick(row, col, sel, more) {\n if (more && more.vertex) {\n // console.log(\"Vertex double click: \" + more.vertex.id());\n }\n }\n\n edge_click(row, col, sel, more) {\n if (more && more.edge) {\n // console.log(\"Edge click: \" + more.edge.id());\n }\n }\n\n edge_dblclick(row, col, sel, more) {\n if (more && more.edge) {\n // console.log(\"Edge double click: \" + more.edge.id());\n }\n }\n\n hideRowOnLegendClick: { (): boolean; (_: boolean): MegaChart };\n hideRowOnLegendClick_exists: () => boolean;\n showToolbar: { (): boolean; (_: boolean): MegaChart };\n showToolbar_exists: () => boolean;\n titleFontSize: { (): number; (_: number): MegaChart };\n titleFontSize_exists: () => boolean;\n titleFontColor: { (): string; (_: string): MegaChart };\n titleFontColor_exists: () => boolean;\n titleFontFamily: { (): string; (_: string): MegaChart };\n titleFontFamily_exists: () => boolean;\n titleFontBold: { (): boolean; (_: boolean): MegaChart };\n titleFontBold_exists: () => boolean;\n titleBackgroundColor: { (): string; (_: string): MegaChart };\n titleBackgroundColor_exists: () => boolean;\n maximizedBackgroundColor: { (): string; (_: string): MegaChart };\n maximizedBackgroundColor_exists: () => boolean;\n showChartSelect: { (): boolean; (_: boolean): MegaChart };\n showChartSelect_exists: () => boolean;\n showCSV: { (): boolean; (_: boolean): MegaChart };\n showCSV_exists: () => boolean;\n showCount: { (): boolean; (_: boolean): MegaChart };\n showCount_exists: () => boolean;\n showMaximize: { (): boolean; (_: boolean): MegaChart };\n showMaximize_exists: () => boolean;\n toolbarShowLegend: { (): boolean; (_: boolean): MegaChart };\n toolbarShowLegend_exists: () => boolean;\n showInfoButton: { (): boolean; (_: boolean): MegaChart };\n showInfoButton_exists: () => boolean;\n infoIcon: { (): string; (_: string): MegaChart };\n infoIcon_exists: () => boolean;\n legendPosition: { (): string; (_: string): MegaChart };\n legendPosition_exists: () => boolean;\n\n title: { (): string; (_: string): MegaChart };\n title_exists: () => boolean;\n\n domainAxisTitle: { (): string; (_: string): MegaChart };\n domainAxisTitle_exists: () => boolean;\n valueAxisTitle: { (): string; (_: string): MegaChart };\n valueAxisTitle_exists: () => boolean;\n\n chartType: { (): string; (_: string): MegaChart };\n chartType_exists: () => boolean;\n chart: { (): any; (_: any): MegaChart };\n chart_exists: () => boolean;\n}\nMegaChart.prototype._class += \" composite_MegaChart\";\n\nMegaChart.prototype._1DChartTypes = MultiChart.prototype._1DChartTypes;\nMegaChart.prototype._2DChartTypes = MultiChart.prototype._2DChartTypes;\nMegaChart.prototype._NDChartTypes = MultiChart.prototype._NDChartTypes;\nMegaChart.prototype._anyChartTypes = MultiChart.prototype._anyChartTypes;\nMegaChart.prototype._allChartTypes = MultiChart.prototype._allChartTypes;\n\nMegaChart.prototype.publishReset();\n\nMegaChart.prototype.publish(\"hideRowOnLegendClick\", false, \"boolean\", \"Enable/Disable hiding row on legend clicks\", null, { tags: [\"Basic\"] });\nMegaChart.prototype.publish(\"showToolbar\", true, \"boolean\", \"Enable/Disable Toolbar widget\", null, { tags: [\"Basic\"] });\nMegaChart.prototype.publishProxy(\"title\", \"_toolbar\", \"title\");\nMegaChart.prototype.publish(\"ddlParamsFormat\", \"\", \"string\", \"DDL Param Format '{fname}, {lname}'\", null, { tags: [\"Advanced\"], optional: true });\nMegaChart.prototype.publish(\"titleFontSize\", null, \"number\", \"Title Font Size (px)\", null, { tags: [\"Advanced\"], optional: true });\nMegaChart.prototype.publish(\"titleFontColor\", null, \"html-color\", \"Title Font Color\", null, { tags: [\"Advanced\"], optional: true });\nMegaChart.prototype.publish(\"titleFontFamily\", null, \"string\", \"Title Font Family\", null, { tags: [\"Advanced\"], optional: true });\nMegaChart.prototype.publish(\"titleFontBold\", true, \"boolean\", \"Enable Bold Title Font\", null, { tags: [\"Advanced\"], optional: true });\nMegaChart.prototype.publish(\"titleBackgroundColor\", null, \"html-color\", \"Background Color\", null, { tags: [\"Intermediate\"], optional: true });\nMegaChart.prototype.publish(\"maximizedBackgroundColor\", \"#FFFFFF\", \"html-color\", \"Background Color while maximized\", null, { tags: [\"Intermediate\"], optional: true });\n\nMegaChart.prototype.publish(\"showChartSelect\", true, \"boolean\", \"Show/Hide the chartType dropdown in the toolbar\", null, { tags: [\"Basic\"] });\nMegaChart.prototype.publish(\"showCSV\", true, \"boolean\", \"Show/Hide CSV button\", null, { tags: [\"Basic\"] });\nMegaChart.prototype.publish(\"showCount\", false, \"boolean\", \"Show/Hide Data Count\", null, { tags: [\"Basic\"] });\nMegaChart.prototype.publish(\"showMaximize\", false, \"boolean\", \"Show/Hide Maximize button\", null, { tags: [\"Basic\"] });\nMegaChart.prototype.publish(\"toolbarShowLegend\", false, \"boolean\", \"Show/Hide Legend button\", null, { tags: [\"Basic\"] });\nMegaChart.prototype.publish(\"showInfoButton\", false, \"boolean\", \"Show/Hide Info button in toolbar\", null, { tags: [\"Basic\"] });\nMegaChart.prototype.publish(\"infoIcon\", \"\\uf05a\", \"string\", \"Help Icon\", null, { tags: [\"Basic\"] });\n\nMegaChart.prototype.publish(\"legendPosition\", \"none\", \"set\", \"Position of the Legend widget\", [\"none\", \"top\", \"right\", \"bottom\", \"left\"], { tags: [\"Basic\"] });\nMegaChart.prototype.publishProxy(\"legendFormat\", \"_legend\", \"rainbowFormat\");\nMegaChart.prototype.publishProxy(\"legendBins\", \"_legend\", \"rainbowBins\");\n\nMegaChart.prototype.publishProxy(\"domainAxisTitle\", \"_domainTitle\", \"text\");\nMegaChart.prototype.publishProxy(\"valueAxisTitle\", \"_valueTitle\", \"text\");\n\nMegaChart.prototype.publishProxy(\"chartType\", \"_chart\", \"chartType\");\nMegaChart.prototype.publishProxy(\"chart\", \"_chart\", \"chart\");\n","import { Platform, Utility, Widget } from \"@hpcc-js/common\";\nimport { Persist } from \"@hpcc-js/other\";\nimport { requireWidget } from \"./Utility\";\n\nexport function retrofit_114_serialization(state, replacement_version) {\n replacement_version = !replacement_version || replacement_version === \"1.14.2-dev\" ? \"1.18.0\" : replacement_version;\n if (!state.__version) return state;\n const state_version_obj = Utility.parseVersionString(state.__version);\n const target_version_obj = Utility.parseVersionString(replacement_version);\n if (state_version_obj.major === 1 && state_version_obj.minor === 14) {\n console.info(\"Upgrading old persist from \" + state.__version + \" to \" + replacement_version);\n let _json_str = JSON.stringify(state);\n _json_str = _json_str.split('\"' + state.__version).join('\"' + replacement_version);\n\n const ret_obj = JSON.parse(_json_str);\n if (ret_obj.__properties && ret_obj.__properties.content) {\n ret_obj.__properties.content.forEach(function (n) {// FOR EACH top tier layout_Cell\n if (JSON.stringify(n).split(\"graph_Graph\").length > 1 && target_version_obj.minor >= 16) {\n n.__properties.widget.__id = n.__properties.widget.__properties.widget.__id;\n n.__properties.widget.__class = \"composite_MegaChart\";\n n.__properties.widget.__properties.showCSV = false;\n n.__properties.widget.__properties.chartType = \"GRAPH\";\n n.__properties.widget.__properties.chart = n.__properties.widget.__properties.widget;\n delete n.__properties.widget.__properties.chart.__id;\n delete n.__properties.widget.__properties.widget;\n }\n if (\"undefined\" === typeof n.__properties.fields) {\n n.__properties.fields = [];\n }\n });\n }\n return ret_obj;\n } else {\n return state;\n }\n}\n\nexport function deserializeFromObject(widget, state) {\n const promises = [];\n Persist.widgetPropertyWalker(widget, null, (w, item) => {\n w[item.id + \"_reset\"]();\n if (state.__properties[item.id] !== undefined) {\n switch (item.type) {\n case \"widget\":\n const widgetKey = item.id;\n promises.push(create(state.__properties[item.id]).then((w2: any) => {\n w2._owner = w;\n w[widgetKey](w2);\n return w2;\n }));\n break;\n case \"widgetArray\":\n case \"propertyArray\":\n const widgetArrayKey = item.id;\n const widgetStateArray = state.__properties[item.id];\n if (widgetStateArray.length) {\n const arrPromises = [];\n for (const widgetState of widgetStateArray) {\n arrPromises.push(create(widgetState).then((widgetItem: any) => {\n widgetItem._owner = w;\n return widgetItem;\n }));\n }\n promises.push(Promise.all(arrPromises).then(widgetArray => {\n w[widgetArrayKey](widgetArray);\n }));\n }\n break;\n default:\n w[item.id](state.__properties[item.id]);\n break;\n }\n }\n });\n return Promise.all(promises).then(widgets => {\n if (state.__data) {\n for (const key in state.__data) {\n if (state.__data.HasOwnProperty(key)) {\n switch (key) {\n case \"data\":\n widget.data(state.__data[key]);\n break;\n default:\n console.warn(\"Unexpected __data item: \" + key);\n widget[key](state.__data[key]);\n break;\n }\n }\n }\n }\n if (state.__state) {\n if (widget.deserializeState) {\n widget.deserializeState(state.__state);\n } else if (state.__state.data && widget.data) {\n widget.data(state.__state.data);\n }\n }\n return widget;\n });\n}\n\nexport function deserialize(widget, state) {\n if (typeof state === \"string\") {\n state = JSON.parse(state);\n }\n if (state.__id && state.__id.indexOf(widget._idSeed) !== 0 && widget._id !== state.__id) {\n console.warn(\"Deserialize: IDs do not match - \" + widget._id);\n }\n deserializeFromObject(widget, state);\n}\n\nexport function create(state: any): Promise<Widget> {\n if (typeof state === \"string\") {\n state = JSON.parse(state);\n }\n state = retrofit_114_serialization(state, Platform.version());\n return requireWidget(state.__class).then((WidgetClass: any) => {\n const widget = new WidgetClass();\n if (state.__id && state.__id.indexOf(widget._idSeed) !== 0 && state.__id.indexOf(\"_pe\") !== 0) {\n widget._id = state.__id;\n }\n return deserializeFromObject(widget, state);\n }).catch(function (e) {\n console.error(\"Persist.create: ***exception***\");\n console.error(e);\n });\n}\n\nexport function clone(widget) {\n create(Persist.serializeToObject(widget, undefined, true, true));\n}\n"],"names":["Utility","INDChart","IGraph","HTMLWidget","d3Map","ChartPanel","Toolbar","PropertyEditor","OnOff","Border","Text","Legend","Html","Button","d3Select","Input","Select","Persist","Platform"],"mappings":"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","x_google_ignoreList":[1,4]}
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/__package__.ts", "../src/ChartPanel.ts", "../../../node_modules/grid-list/src/gridList.js", "../../layout/src/__package__.ts", "../../layout/src/AbsoluteSurface.ts", "../../layout/src/AbsoluteSurface.css", "../../layout/src/Accordion.ts", "../../layout/src/Accordion.css", "../../layout/src/Border.ts", "../../layout/src/Cell.ts", "../../layout/src/Surface.ts", "../../layout/src/Surface.css", "../../layout/src/Cell.css", "../../layout/src/Border.css", "../../layout/src/Border2.ts", "../../layout/src/Border2.css", "../../layout/src/Carousel.ts", "../../layout/src/Carousel.css", "../../layout/src/ChartPanel.ts", "../../layout/src/Legend.ts", "../../../node_modules/d3-path/src/path.js", "../../../node_modules/d3-shape/src/constant.js", "../../../node_modules/d3-shape/src/math.js", "../../../node_modules/d3-shape/src/symbol/circle.js", "../../../node_modules/d3-shape/src/symbol/cross.js", "../../../node_modules/d3-shape/src/symbol/diamond.js", "../../../node_modules/d3-shape/src/symbol/star.js", "../../../node_modules/d3-shape/src/symbol/square.js", "../../../node_modules/d3-shape/src/symbol/triangle.js", "../../../node_modules/d3-shape/src/symbol/wye.js", "../../../node_modules/d3-shape/src/symbol.js", "../../../node_modules/d3-svg-legend/src/legend.js", "../../../node_modules/d3-svg-legend/src/color.js", "../../../node_modules/d3-svg-legend/src/size.js", "../../../node_modules/d3-svg-legend/src/symbol.js", "../../../node_modules/d3-svg-legend/src/helpers.js", "../../../node_modules/d3-svg-legend/index.js", "../../layout/src/Modal.ts", "../../layout/src/Modal.css", "../../layout/src/ChartPanel.css", "../../layout/src/FlexGrid.ts", "../../layout/src/FlexGrid.css", "../../layout/src/Grid.ts", "../../layout/src/Grid.css", "../../layout/src/HorizontalList.ts", "../../layout/src/Layered.ts", "../../layout/src/Layered.css", "../../layout/src/Popup.ts", "../../layout/src/Tabbed.ts", "../../layout/src/Tabbed.css", "../../layout/src/Toolbar.ts", "../../layout/src/Toolbar.css", "../../layout/src/VerticalList.ts", "../../../node_modules/react/cjs/react.production.min.js", "../../../node_modules/react/index.js", "../../../node_modules/react-dom/node_modules/scheduler/cjs/scheduler.production.min.js", "../../../node_modules/react-dom/node_modules/scheduler/index.js", "../../../node_modules/react-dom/cjs/react-dom.production.min.js", "../../../node_modules/react-dom/index.js", "../../../node_modules/react-dom/client.js", "../../../node_modules/react/cjs/react-jsx-runtime.production.min.js", "../../../node_modules/react/jsx-runtime.js", "../../dgrid2/src/__package__.ts", "../../dgrid2/src/table.ts", "../../dgrid2/src/reactTable.tsx", "../../../node_modules/clsx/dist/clsx.mjs", "../../../node_modules/react-data-grid/src/utils/colSpanUtils.ts", "../../../node_modules/react-data-grid/src/utils/domUtils.ts", "../../../node_modules/react-data-grid/src/utils/eventUtils.ts", "../../../node_modules/react-data-grid/src/utils/keyboardUtils.ts", "../../../node_modules/react-data-grid/src/utils/renderMeasuringCells.tsx", "../../../node_modules/react-data-grid/src/utils/selectedCellUtils.ts", "../../../node_modules/react-data-grid/src/style/cell.ts", "../../../node_modules/react-data-grid/src/utils/styleUtils.ts", "../../../node_modules/react-data-grid/src/utils/index.ts", "../../../node_modules/react-data-grid/src/cellRenderers/renderCheckbox.tsx", "../../../node_modules/react-data-grid/src/cellRenderers/renderToggleGroup.tsx", "../../../node_modules/react-data-grid/src/cellRenderers/renderValue.tsx", "../../../node_modules/react-data-grid/src/DataGridDefaultRenderersProvider.ts", "../../../node_modules/react-data-grid/src/cellRenderers/SelectCellFormatter.tsx", "../../../node_modules/react-data-grid/src/hooks/useRowSelection.ts", "../../../node_modules/react-data-grid/src/Columns.tsx", "../../../node_modules/react-data-grid/src/hooks/useCalculatedColumns.ts", "../../../node_modules/react-data-grid/src/hooks/useLayoutEffect.ts", "../../../node_modules/react-data-grid/src/hooks/useColumnWidths.ts", "../../../node_modules/react-data-grid/src/hooks/useGridDimensions.ts", "../../../node_modules/react-data-grid/src/hooks/useLatestFunc.ts", "../../../node_modules/react-data-grid/src/hooks/useRovingTabIndex.ts", "../../../node_modules/react-data-grid/src/hooks/useViewportColumns.ts", "../../../node_modules/react-data-grid/src/hooks/useViewportRows.ts", "../../../node_modules/react-data-grid/src/DragHandle.tsx", "../../../node_modules/react-data-grid/src/EditCell.tsx", "../../../node_modules/react-data-grid/src/GroupedColumnHeaderCell.tsx", "../../../node_modules/react-data-grid/src/renderHeaderCell.tsx", "../../../node_modules/react-data-grid/src/HeaderCell.tsx", "../../../node_modules/react-data-grid/src/style/row.ts", "../../../node_modules/react-data-grid/src/HeaderRow.tsx", "../../../node_modules/react-data-grid/src/GroupedColumnHeaderRow.tsx", "../../../node_modules/react-data-grid/src/Cell.tsx", "../../../node_modules/react-data-grid/src/Row.tsx", "../../../node_modules/react-data-grid/src/ScrollToCell.tsx", "../../../node_modules/react-data-grid/src/sortStatus.tsx", "../../../node_modules/react-data-grid/src/style/core.ts", "../../../node_modules/react-data-grid/src/SummaryCell.tsx", "../../../node_modules/react-data-grid/src/SummaryRow.tsx", "../../../node_modules/react-data-grid/src/DataGrid.tsx", "../../../node_modules/react-data-grid/src/GroupCell.tsx", "../../../node_modules/react-data-grid/src/GroupRow.tsx", "../../../node_modules/react-data-grid/src/TreeDataGrid.tsx", "../../../node_modules/react-data-grid/src/editors/textEditor.tsx", "../../dgrid2/src/hooks.ts", "../../../node_modules/react-data-grid/lib/styles.css", "../../dgrid2/src/table.css", "../src/MultiChart.ts", "../src/Utility.ts", "../src/ChartPanel.css", "../src/Dermatology.ts", "../src/Dermatology.css", "../src/MegaChart.ts", "../src/MegaChart.css", "../src/Persist.ts"],
|
|
4
|
+
"sourcesContent": ["export const PKG_NAME = \"@hpcc-js/composite\";\nexport const PKG_VERSION = \"3.1.0\";\nexport const BUILD_VERSION = \"3.2.0\";\n", "import { HTMLWidget, Widget } from \"@hpcc-js/common\";\nimport { ChartPanel } from \"@hpcc-js/layout\";\nimport { MultiChart } from \"./MultiChart.ts\";\n\nimport \"../src/ChartPanel.css\";\n\nclass Summary extends HTMLWidget {\n\n constructor() {\n super();\n }\n\n enter(domNode, element) {\n super.enter(domNode, element);\n element.append(\"p\");\n }\n\n update(domNode, element) {\n super.update(domNode, element);\n element.select(\"p\").text(this.text());\n }\n}\ninterface Summary {\n text(): string;\n text(_: string): this;\n}\nSummary.prototype.publish(\"text\", \"\", \"string\");\n\nexport class MultiChartPanel extends ChartPanel<MultiChart> {\n\n constructor() {\n super();\n this.widget(new MultiChart().chartType(\"COLUMN\"));\n }\n\n multiChart(): MultiChart {\n return this._widget;\n }\n\n chartType(): string;\n chartType(_: string): this;\n chartType(_?: string): string | this {\n if (!arguments.length) return this._widget.chartType();\n this._widget.chartType(_);\n return this;\n }\n\n chart(): Widget;\n chart(_: Widget): this;\n chart(_?: Widget): Widget | this {\n if (!arguments.length) return this._widget.chart();\n this._widget.chart(_);\n return this;\n }\n\n chartTypeDefaults(): object;\n chartTypeDefaults(_: object): this;\n chartTypeDefaults(_?: object): this | object {\n if (!arguments.length) return this._widget.chartTypeDefaults();\n this._widget.chartTypeDefaults(_);\n return this;\n }\n\n chartTypeProperties(): object;\n chartTypeProperties(_: object): this;\n chartTypeProperties(_?: object): this | object {\n if (!arguments.length) return this._widget.chartTypeProperties();\n this._widget.chartTypeProperties(_);\n return this;\n }\n\n update(domNode, element) {\n super.update(domNode, element);\n if (this._widget instanceof MultiChart) {\n this._legend.dataFamily(this._widget.getChartDataFamily());\n }\n super.update(domNode, element);\n }\n}\nMultiChartPanel.prototype._class += \" composite_MultiChartPanel\";\n", "(function (root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define([], factory);\n } else if (typeof exports === 'object') {\n // Node. Does not work with strict CommonJS, but\n // only CommonJS-like environments that support module.exports,\n // like Node.\n module.exports = factory();\n } else {\n // Browser globals (root is window)\n root.GridList = factory();\n }\n}(this, function() {\n\nvar GridList = function(items, options) {\n /**\n * A GridList manages the two-dimensional positions from a list of items,\n * within a virtual matrix.\n *\n * The GridList's main function is to convert the item positions from one\n * grid size to another, maintaining as much of their order as possible.\n *\n * The GridList's second function is to handle collisions when moving an item\n * over another.\n *\n * The positioning algorithm places items in columns. Starting from left to\n * right, going through each column top to bottom.\n *\n * The size of an item is expressed using the number of cols and rows it\n * takes up within the grid (w and h)\n *\n * The position of an item is express using the col and row position within\n * the grid (x and y)\n *\n * An item is an object of structure:\n * {\n * w: 3, h: 1,\n * x: 0, y: 1\n * }\n */\n\n this._options = options;\n for (var k in this.defaults) {\n if (!this._options.hasOwnProperty(k)) {\n this._options[k] = this.defaults[k];\n }\n }\n\n this.items = items;\n\n this._adjustSizeOfItems();\n\n this.generateGrid();\n};\n\nGridList.cloneItems = function(items, _items) {\n /**\n * Clone items with a deep level of one. Items are not referenced but their\n * properties are\n */\n var _item,\n i,\n k;\n if (_items === undefined) {\n _items = [];\n }\n for (i = 0; i < items.length; i++) {\n // XXX: this is good because we don't want to lose item reference, but\n // maybe we should clear their properties since some might be optional\n if (!_items[i]) {\n _items[i] = {};\n }\n for (k in items[i]) {\n _items[i][k] = items[i][k];\n }\n }\n return _items;\n};\n\nGridList.prototype = {\n\n defaults: {\n lanes: 5,\n direction: 'horizontal'\n },\n\n /**\n * Illustates grid as text-based table, using a number identifier for each\n * item. E.g.\n *\n * #| 0 1 2 3 4 5 6 7 8 9 10 11 12 13\n * --------------------------------------------\n * 0| 00 02 03 04 04 06 08 08 08 12 12 13 14 16\n * 1| 01 -- 03 05 05 07 09 10 11 11 -- 13 15 --\n *\n * Warn: Does not work if items don't have a width or height specified\n * besides their position in the grid.\n */\n toString: function() {\n var widthOfGrid = this.grid.length,\n output = '\\n #|',\n border = '\\n --',\n item,\n i,\n j;\n\n // Render the table header\n for (i = 0; i < widthOfGrid; i++) {\n output += ' ' + this._padNumber(i, ' ');\n border += '---';\n };\n output += border;\n\n // Render table contents row by row, as we go on the y axis\n for (i = 0; i < this._options.lanes; i++) {\n output += '\\n' + this._padNumber(i, ' ') + '|';\n for (j = 0; j < widthOfGrid; j++) {\n output += ' ';\n item = this.grid[j][i];\n output += item ? this._padNumber(this.items.indexOf(item), '0') : '--';\n }\n };\n output += '\\n';\n return output;\n },\n\n generateGrid: function() {\n /**\n * Build the grid structure from scratch, with the current item positions\n */\n var i;\n this._resetGrid();\n for (i = 0; i < this.items.length; i++) {\n this._markItemPositionToGrid(this.items[i]);\n }\n },\n\n resizeGrid: function(lanes) {\n var currentColumn = 0;\n\n this._options.lanes = lanes;\n this._adjustSizeOfItems();\n\n this._sortItemsByPosition();\n this._resetGrid();\n\n // The items will be sorted based on their index within the this.items array,\n // that is their \"1d position\"\n for (var i = 0; i < this.items.length; i++) {\n var item = this.items[i],\n position = this._getItemPosition(item);\n\n this._updateItemPosition(\n item, this.findPositionForItem(item, {x: currentColumn, y: 0}));\n\n // New items should never be placed to the left of previous items\n currentColumn = Math.max(currentColumn, position.x);\n }\n\n this._pullItemsToLeft();\n },\n\n findPositionForItem: function(item, start, fixedRow) {\n /**\n * This method has two options for the position we want for the item:\n * - Starting from a certain row/column number and only looking for\n * positions to its right\n * - Accepting positions for a certain row number only (use-case: items\n * being shifted to the left/right as a result of collisions)\n *\n * @param {Object<x:Number, y:Number, w:Number, h:Number} item\n * @param {Object<x:Number, y:Number} start Position from which to start\n * the search.\n * @param {Number} [fixedRow] If provided, we're going to try to find a\n * position for the new item on it. If doesn't fit there, we're going\n * to put it on the first row.\n *\n * @returns {Number[2]} x and y.\n */\n\n var x, y, position;\n\n // Start searching for a position from the horizontal position of the\n // rightmost item from the grid\n for (x = start.x; x < this.grid.length; x++) {\n if (fixedRow !== undefined) {\n position = [x, fixedRow];\n\n if (this._itemFitsAtPosition(item, position)) {\n return position;\n }\n } else {\n for (y = start.y; y < this._options.lanes; y++) {\n position = [x, y];\n\n if (this._itemFitsAtPosition(item, position)) {\n return position;\n }\n }\n }\n }\n\n // If we've reached this point, we need to start a new column\n var newCol = this.grid.length,\n newRow = 0;\n\n if (fixedRow !== undefined &&\n this._itemFitsAtPosition(item, [newCol, fixedRow])) {\n newRow = fixedRow;\n }\n\n return [newCol, newRow];\n },\n\n moveItemToPosition: function(item, newPosition) {\n var position = this._getItemPosition({\n x: newPosition[0],\n y: newPosition[1],\n w: item.w,\n h: item.h\n });\n\n this._updateItemPosition(item, [position.x, position.y]);\n this._resolveCollisions(item);\n },\n\n resizeItem: function(item, size) {\n /**\n * Resize an item and resolve collisions.\n *\n * @param {Object} item A reference to an item that's part of the grid.\n * @param {Object} size\n * @param {Number} [size.w=item.w] The new width.\n * @param {Number} [size.h=item.h] The new height.\n */\n\n var width = size.w || item.w,\n height = size.h || item.h;\n\n this._updateItemSize(item, width, height);\n\n this._resolveCollisions(item);\n\n this._pullItemsToLeft();\n },\n\n getChangedItems: function(initialItems, idAttribute) {\n /**\n * Compare the current items against a previous snapshot and return only\n * the ones that changed their attributes in the meantime. This includes both\n * position (x, y) and size (w, h)\n *\n * Since both their position and size can change, the items need an\n * additional identifier attribute to match them with their previous state\n */\n var changedItems = [];\n\n for (var i = 0; i < initialItems.length; i++) {\n var item = this._getItemByAttribute(idAttribute,\n initialItems[i][idAttribute]);\n\n if (item.x !== initialItems[i].x ||\n item.y !== initialItems[i].y ||\n item.w !== initialItems[i].w ||\n item.h !== initialItems[i].h) {\n changedItems.push(item);\n }\n }\n\n return changedItems;\n },\n\n _sortItemsByPosition: function() {\n this.items.sort(function(item1, item2) {\n var position1 = this._getItemPosition(item1),\n position2 = this._getItemPosition(item2);\n\n // Try to preserve columns.\n if (position1.x != position2.x) {\n return position1.x - position2.x;\n }\n\n if (position1.y != position2.y) {\n return position1.y - position2.y;\n }\n\n // The items are placed on the same position.\n return 0;\n }.bind(this));\n },\n\n _adjustSizeOfItems: function() {\n /**\n * Some items can have 100% height or 100% width. Those dimmensions are\n * expressed as 0. We need to ensure a valid width and height for each of\n * those items as the number of items per lane.\n */\n\n for (var i = 0; i < this.items.length; i++) {\n var item = this.items[i];\n\n // This can happen only the first time items are checked.\n // We need the property to have a value for all the items so that the\n // `cloneItems` method will merge the properties properly. If we only set\n // it to the items that need it then the following can happen:\n //\n // cloneItems([{id: 1, autoSize: true}, {id: 2}],\n // [{id: 2}, {id: 1, autoSize: true}]);\n //\n // will result in\n //\n // [{id: 1, autoSize: true}, {id: 2, autoSize: true}]\n if (item.autoSize === undefined) {\n item.autoSize = item.w === 0 || item.h === 0;\n }\n\n if (item.autoSize) {\n if (this._options.direction === 'horizontal') {\n item.h = this._options.lanes;\n } else {\n item.w = this._options.lanes;\n }\n }\n }\n },\n\n _resetGrid: function() {\n this.grid = [];\n },\n\n _itemFitsAtPosition: function(item, newPosition) {\n /**\n * Check that an item wouldn't overlap with another one if placed at a\n * certain position within the grid\n */\n\n var position = this._getItemPosition(item),\n x, y, row;\n\n // No coordonate can be negative\n if (newPosition[0] < 0 || newPosition[1] < 0) {\n return false;\n }\n\n // Make sure the item isn't larger than the entire grid\n if (newPosition[1] + position.h > this._options.lanes) {\n return false;\n }\n\n // Make sure the position doesn't overlap with an already positioned\n // item.\n for (x = newPosition[0]; x < newPosition[0] + position.w; x++) {\n var col = this.grid[x];\n\n // Surely a column that hasn't even been created yet is available\n if (!col) {\n continue;\n }\n\n for (y = newPosition[1]; y < newPosition[1] + position.h; y++) {\n // Any space occupied by an item can continue to be occupied by the\n // same item.\n if (col[y] && col[y] !== item) {\n return false;\n }\n }\n }\n\n return true;\n },\n\n _updateItemPosition: function(item, position) {\n if (item.x !== null && item.y !== null) {\n this._deleteItemPositionFromGrid(item);\n }\n\n this._setItemPosition(item, position);\n\n this._markItemPositionToGrid(item);\n },\n\n _updateItemSize: function(item, width, height) {\n /**\n * @param {Object} item A reference to a grid item.\n * @param {Number} width The new width.\n * @param {Number} height The new height.\n */\n\n if (item.x !== null && item.y !== null) {\n this._deleteItemPositionFromGrid(item);\n }\n\n item.w = width;\n item.h = height;\n\n this._markItemPositionToGrid(item);\n },\n\n _markItemPositionToGrid: function(item) {\n /**\n * Mark the grid cells that are occupied by an item. This prevents items\n * from overlapping in the grid\n */\n\n var position = this._getItemPosition(item),\n x, y;\n\n // Ensure that the grid has enough columns to accomodate the current item.\n this._ensureColumns(position.x + position.w);\n\n for (x = position.x; x < position.x + position.w; x++) {\n for (y = position.y; y < position.y + position.h; y++) {\n this.grid[x][y] = item;\n }\n }\n },\n\n _deleteItemPositionFromGrid: function(item) {\n var position = this._getItemPosition(item),\n x, y;\n\n for (x = position.x; x < position.x + position.w; x++) {\n // It can happen to try to remove an item from a position not generated\n // in the grid, probably when loading a persisted grid of items. No need\n // to create a column to be able to remove something from it, though\n if (!this.grid[x]) {\n continue;\n }\n\n for (y = position.y; y < position.y + position.h; y++) {\n // Don't clear the cell if it's been occupied by a different widget in\n // the meantime (e.g. when an item has been moved over this one, and\n // thus by continuing to clear this item's previous position you would\n // cancel the first item's move, leaving it without any position even)\n if (this.grid[x][y] == item) {\n this.grid[x][y] = null;\n }\n }\n }\n },\n\n _ensureColumns: function(N) {\n /**\n * Ensure that the grid has at least N columns available.\n */\n var i;\n for (i = 0; i < N; i++) {\n if (!this.grid[i]) {\n this.grid.push(new GridCol(this._options.lanes));\n }\n }\n },\n\n _getItemsCollidingWithItem: function(item) {\n var collidingItems = [];\n for (var i = 0; i < this.items.length; i++) {\n if (item != this.items[i] &&\n this._itemsAreColliding(item, this.items[i])) {\n collidingItems.push(i);\n }\n }\n return collidingItems;\n },\n\n _itemsAreColliding: function(item1, item2) {\n var position1 = this._getItemPosition(item1),\n position2 = this._getItemPosition(item2);\n\n return !(position2.x >= position1.x + position1.w ||\n position2.x + position2.w <= position1.x ||\n position2.y >= position1.y + position1.h ||\n position2.y + position2.h <= position1.y);\n },\n\n _resolveCollisions: function(item) {\n if (!this._tryToResolveCollisionsLocally(item)) {\n this._pullItemsToLeft(item);\n }\n this._pullItemsToLeft();\n },\n\n _tryToResolveCollisionsLocally: function(item) {\n /**\n * Attempt to resolve the collisions after moving a an item over one or more\n * other items within the grid, by shifting the position of the colliding\n * items around the moving one. This might result in subsequent collisions,\n * in which case we will revert all position permutations. To be able to\n * revert to the initial item positions, we create a virtual grid in the\n * process\n */\n var collidingItems = this._getItemsCollidingWithItem(item);\n if (!collidingItems.length) {\n return true;\n }\n var _gridList = new GridList([], this._options),\n leftOfItem,\n rightOfItem,\n aboveOfItem,\n belowOfItem;\n\n GridList.cloneItems(this.items, _gridList.items);\n _gridList.generateGrid();\n\n for (var i = 0; i < collidingItems.length; i++) {\n var collidingItem = _gridList.items[collidingItems[i]],\n collidingPosition = this._getItemPosition(collidingItem);\n\n // We use a simple algorithm for moving items around when collisions occur:\n // In this prioritized order, we try to move a colliding item around the\n // moving one:\n // 1. to its left side\n // 2. above it\n // 3. under it\n // 4. to its right side\n var position = this._getItemPosition(item);\n\n leftOfItem = [position.x - collidingPosition.w, collidingPosition.y];\n rightOfItem = [position.x + position.w, collidingPosition.y];\n aboveOfItem = [collidingPosition.x, position.y - collidingPosition.h];\n belowOfItem = [collidingPosition.x, position.y + position.h];\n\n if (_gridList._itemFitsAtPosition(collidingItem, leftOfItem)) {\n _gridList._updateItemPosition(collidingItem, leftOfItem);\n } else if (_gridList._itemFitsAtPosition(collidingItem, aboveOfItem)) {\n _gridList._updateItemPosition(collidingItem, aboveOfItem);\n } else if (_gridList._itemFitsAtPosition(collidingItem, belowOfItem)) {\n _gridList._updateItemPosition(collidingItem, belowOfItem);\n } else if (_gridList._itemFitsAtPosition(collidingItem, rightOfItem)) {\n _gridList._updateItemPosition(collidingItem, rightOfItem);\n } else {\n // Collisions failed, we must use the pullItemsToLeft method to arrange\n // the other items around this item with fixed position. This is our\n // plan B for when local collision resolving fails.\n return false;\n }\n }\n // If we reached this point it means we managed to resolve the collisions\n // from one single iteration, just by moving the colliding items around. So\n // we accept this scenario and marge the brached-out grid instance into the\n // original one\n GridList.cloneItems(_gridList.items, this.items);\n this.generateGrid();\n return true;\n },\n\n _pullItemsToLeft: function(fixedItem) {\n /**\n * Build the grid from scratch, by using the current item positions and\n * pulling them as much to the left as possible, removing as space between\n * them as possible.\n *\n * If a \"fixed item\" is provided, its position will be kept intact and the\n * rest of the items will be layed around it.\n */\n\n\n // Start a fresh grid with the fixed item already placed inside\n this._sortItemsByPosition();\n this._resetGrid();\n\n // Start the grid with the fixed item as the first positioned item\n if (fixedItem) {\n var fixedPosition = this._getItemPosition(fixedItem);\n this._updateItemPosition(fixedItem, [fixedPosition.x, fixedPosition.y]);\n }\n\n for (var i = 0; i < this.items.length; i++) {\n var item = this.items[i],\n position = this._getItemPosition(item);\n\n // The fixed item keeps its exact position\n if (fixedItem && item == fixedItem) {\n continue;\n }\n\n var x = this._findLeftMostPositionForItem(item),\n newPosition = this.findPositionForItem(\n item, {x: x, y: 0}, position.y);\n\n this._updateItemPosition(item, newPosition);\n }\n },\n\n _findLeftMostPositionForItem: function(item) {\n /**\n * When pulling items to the left, we need to find the leftmost position for\n * an item, with two considerations in mind:\n * - preserving its current row\n * - preserving the previous horizontal order between items\n */\n\n var tail = 0,\n position = this._getItemPosition(item);\n\n for (var i = 0; i < this.grid.length; i++) {\n for (var j = position.y; j < position.y + position.h; j++) {\n var otherItem = this.grid[i][j];\n\n if (!otherItem) {\n continue;\n }\n\n var otherPosition = this._getItemPosition(otherItem);\n\n if (this.items.indexOf(otherItem) < this.items.indexOf(item)) {\n tail = otherPosition.x + otherPosition.w;\n }\n }\n }\n\n return tail;\n },\n\n _getItemByAttribute: function(key, value) {\n for (var i = 0; i < this.items.length; i++) {\n if (this.items[i][key] === value) {\n return this.items[i];\n }\n }\n return null;\n },\n\n _padNumber: function(nr, prefix) {\n // Currently works for 2-digit numbers (<100)\n return nr >= 10 ? nr : prefix + nr;\n },\n\n _getItemPosition: function(item) {\n /**\n * If the direction is vertical we need to rotate the grid 90 deg to the\n * left. Thus, we simulate the fact that items are being pulled to the top.\n *\n * Since the items have widths and heights, if we apply the classic\n * counter-clockwise 90 deg rotation\n *\n * [0 -1]\n * [1 0]\n *\n * then the top left point of an item will become the bottom left point of\n * the rotated item. To adjust for this, we need to subtract from the y\n * position the height of the original item - the width of the rotated item.\n *\n * However, if we do this then we'll reverse some actions: resizing the\n * width of an item will stretch the item to the left instead of to the\n * right; resizing an item that doesn't fit into the grid will push the\n * items around it instead of going on a new row, etc.\n *\n * We found it better to do a vertical flip of the grid after rotating it.\n * This restores the direction of the actions and greatly simplifies the\n * transformations.\n */\n\n if (this._options.direction === 'horizontal') {\n return item;\n } else {\n return {\n x: item.y,\n y: item.x,\n w: item.h,\n h: item.w\n };\n }\n },\n\n _setItemPosition: function(item, position) {\n /**\n * See _getItemPosition.\n */\n\n if (this._options.direction === 'horizontal') {\n item.x = position[0];\n item.y = position[1];\n } else {\n // We're supposed to subtract the rotated item's height which is actually\n // the non-rotated item's width.\n item.x = position[1];\n item.y = position[0];\n }\n }\n};\n\nvar GridCol = function(lanes) {\n for (var i = 0; i < lanes; i++) {\n this.push(null);\n }\n};\n\n// Extend the Array prototype\nGridCol.prototype = [];\n\n// This module will have direct access to the GridList class\nreturn GridList;\n\n}));\n", "export const PKG_NAME = \"@hpcc-js/layout\";\nexport const PKG_VERSION = \"3.1.0\";\nexport const BUILD_VERSION = \"3.2.0\";\n", "import { HTMLWidget } from \"@hpcc-js/common\";\n\nimport \"../src/AbsoluteSurface.css\";\n\nexport class AbsoluteSurface extends HTMLWidget {\n constructor() {\n super();\n\n this._tag = \"div\";\n }\n\n enter(domNode, element) {\n super.enter(domNode, element);\n }\n\n update(domNode, element) {\n super.update(domNode, element);\n\n let xPos = 0;\n let yPos = 0;\n let width = this.clientWidth();\n let height = this.clientHeight();\n switch (this.units()) {\n case \"pixels\":\n xPos = this.widgetX();\n yPos = this.widgetY();\n width = this.widgetWidth() === \"\" ? width - xPos : Number(this.widgetWidth());\n height = this.widgetHeight() === \"\" ? height - yPos : Number(this.widgetHeight());\n break;\n case \"percent\":\n xPos = this.widgetX() * width / 100;\n yPos = this.widgetY() * height / 100;\n width = this.widgetWidth() === \"\" ? width - xPos : Number(this.widgetWidth()) * width / 100;\n height = this.widgetHeight() === \"\" ? height - yPos : Number(this.widgetHeight()) * height / 100;\n break;\n }\n element.style(\"opacity\", this.opacity());\n\n const widgets = element.selectAll(\"#\" + this._id + \" > .placeholder\").data(this.widget() ? [this.widget()] : [], function (d) { return d._id; });\n widgets.enter().append(\"div\")\n .attr(\"class\", \"placeholder\")\n .each(function (d) {\n d.target(this);\n })\n .merge(widgets)\n .style(\"left\", xPos + \"px\")\n .style(\"top\", yPos + \"px\")\n .style(\"width\", width + \"px\")\n .style(\"bottom\", height + \"px\")\n .each(function (d) {\n d\n .resize({ width, height })\n ;\n })\n ;\n widgets.exit().each(function (d) {\n d.target(null);\n }).remove();\n }\n\n exit(domNode, element) {\n if (this.widget()) {\n this.widget().target(null);\n }\n super.exit(domNode, element);\n }\n}\nAbsoluteSurface.prototype._class += \" layout_AbsoluteSurface\";\n\nexport interface AbsoluteSurface {\n units(): string;\n units(_: string): this;\n widgetX(): number;\n widgetX(_: number): this;\n widgetY(): number;\n widgetY(_: number): this;\n widgetWidth(): string;\n widgetWidth(_: string): this;\n widgetHeight(): string;\n widgetHeight(_: string): this;\n widget(): any;\n widget(_: any): this;\n opacity(): number;\n opacity(_: number): this;\n}\n\nAbsoluteSurface.prototype.publish(\"units\", \"percent\", \"set\", \"Units\", [\"pixels\", \"percent\"]);\nAbsoluteSurface.prototype.publish(\"widgetX\", 0, \"number\", \"Widget XPos\");\nAbsoluteSurface.prototype.publish(\"widgetY\", 0, \"number\", \"Widget YPos\");\nAbsoluteSurface.prototype.publish(\"widgetWidth\", \"100\", \"string\", \"Widget Width, omit for full\");\nAbsoluteSurface.prototype.publish(\"widgetHeight\", \"100\", \"string\", \"Widget Height, omit for full\");\nAbsoluteSurface.prototype.publish(\"widget\", null, \"widget\", \"Widget\", null, { tags: [\"Private\"] });\nAbsoluteSurface.prototype.publish(\"opacity\", 1, \"number\", \"Opacity\");\n", "(function(){\n if (!document.getElementById('e4246716')) {\n var e = document.createElement('style');\n e.id = 'e4246716';\n e.textContent = `.layout_AbsoluteSurface {\n pointer-events: none !important;\n}\n\n.layout_AbsoluteSurface > .placeholder {\n position: relative;\n overflow: hidden;\n pointer-events: all;\n}\n`;\n document.head.appendChild(e);\n }\n })();", "import { FAChar, HTMLWidget } from \"@hpcc-js/common\";\n\nimport \"../src/Accordion.css\";\n\nexport class Accordion extends HTMLWidget {\n protected _isClosed: boolean;\n titleSpan;\n iconDiv;\n ul;\n icon;\n\n constructor() {\n super();\n\n this._tag = \"div\";\n this._isClosed = false;\n }\n\n pushListItem(widget, prepend: boolean = false, protect: boolean = false) {\n const contentArr = this.content();\n\n widget._protected = protect;\n\n if (prepend) {\n contentArr.unshift(widget);\n } else {\n contentArr.push(widget);\n }\n this.content(contentArr);\n return this;\n }\n\n clearListItems() {\n const arr = [];\n for (const i in this.content()) {\n if (this.content()[i]._protected) {\n arr.push(this.content()[i]);\n }\n }\n this.content(arr);\n return this;\n }\n\n collapseClick(element) {\n if (element.classed(\"closed\")) {\n this._isClosed = false;\n element.classed(\"open\", true);\n element.classed(\"closed\", false);\n } else {\n this._isClosed = true;\n element.classed(\"open\", false);\n element.classed(\"closed\", true);\n }\n }\n\n enter(domNode, element) {\n super.enter(domNode, element);\n const context = this;\n this._isClosed = this.defaultCollapsed();\n element.classed(this._isClosed ? \"closed\" : \"open\", true);\n\n this.titleSpan = element.append(\"span\").classed(\"collapsible-title\", true);\n this.iconDiv = element.append(\"div\").classed(\"collapsible-icon\", true);\n this.ul = element.append(\"ul\");\n\n this.icon = new FAChar()\n .size({ height: 24, width: 24 })\n .target(this.iconDiv.node());\n\n this.iconDiv.on(\"click\", function () {\n context.collapseClick(element);\n context.render();\n });\n this.titleSpan.on(\"click\", function () {\n context.collapseClick(element);\n context.render();\n });\n }\n\n update(domNode, element) {\n super.update(domNode, element);\n const context = this;\n const this_id = \"\";\n this.titleSpan.text(context.title().length > 0 ? context.title() + this_id : \"Accordion [\" + context._id + \"]\" + this_id);\n const rows = this.ul.selectAll(\"#\" + context._id + \" > ul > li\").data(this.content(), function (d) {\n return d._id;\n });\n rows.enter()\n .append(function (widget) {\n const li = document.createElement(\"li\");\n if (widget._target === null) {\n const wSize = widget.size();\n if (wSize.width === 0 || wSize.height === 0) {\n const cSize = context.size();\n widget.size({\n width: cSize.width,\n height: cSize.width\n });\n }\n widget.target(li);\n } else {\n return widget._target;\n }\n return li;\n })\n ;\n rows.exit().remove();\n\n this.icon\n .text_colorFill(this.titleFontColor())\n .char(this._isClosed ? this.closedIcon() : this.openIcon()).render()\n ;\n }\n\n exit(domNode, element) {\n super.exit(domNode, element);\n }\n}\nAccordion.prototype._class += \" layout_Accordion\";\n\nexport interface Accordion {\n content(): any[];\n content(_: any[]): this;\n title(): string;\n title(_: string): this;\n openIcon(): string;\n openIcon(_: string): this;\n closedIcon(): string;\n closedIcon(_: string): this;\n titleFontColor(): string;\n titleFontColor(_: string): this;\n titleBackgroundColor(): string;\n titleBackgroundColor(_: string): this;\n\n defaultCollapsed(): boolean;\n defaultCollapsed(_: boolean): this;\n}\n\nAccordion.prototype.publish(\"content\", [], \"widgetArray\", \"Array of widgets\", null, { tags: [\"Basic\"] });\nAccordion.prototype.publish(\"title\", \"\", \"string\", \"Title of collapsible section\", null, { tags: [\"Private\"] });\nAccordion.prototype.publish(\"openIcon\", \"\\uf147\", \"string\", \"Icon to display when list is open\", null, { tags: [\"Private\"] });\nAccordion.prototype.publish(\"closedIcon\", \"\\uf196\", \"string\", \"Icon to display when list is closed\", null, { tags: [\"Private\"] });\nAccordion.prototype.publish(\"titleFontColor\", \"#FFFFFF\", \"html-color\", \"Title font color\", null, { tags: [\"Private\"] });\nAccordion.prototype.publish(\"titleBackgroundColor\", \"#333333\", \"html-color\", \"Title background color\", null, { tags: [\"Private\"] });\n\nAccordion.prototype.publish(\"defaultCollapsed\", false, \"boolean\", \"Collapsed by default if true\", null, { tags: [\"Private\"] });\n", "(function(){\n if (!document.getElementById('d5b8185a')) {\n var e = document.createElement('style');\n e.id = 'd5b8185a';\n e.textContent = `.layout_Accordion > ul{\n position:relative;\n}\n.layout_Accordion.open > span {\n font-style:italic;\n}\n.layout_Accordion.closed > ul {\n height: 0px;\n overflow: hidden;\n}\n.layout_Accordion.open > ul{\n display:block;\n}\n.layout_Accordion > .collapsible-icon,\n.layout_Accordion > .collapsible-title{\n cursor:pointer;\n box-sizing: border-box;\n}\n.layout_Accordion > .collapsible-title{\n display:block;\n width:100%;\n}\n.layout_Accordion > .collapsible-title{\n font-size: 13px;\n color:#FFF;\n padding:4px 8px;\n height:26px;\n -webkit-box-shadow: inset 0px -1px 1px 0px rgba(0,0,0,0.2);\n -moz-box-shadow: inset 0px -1px 1px 0px rgba(0,0,0,0.2);\n box-shadow: inset 0px -1px 1px 0px rgba(0,0,0,0.2);\n}\n.layout_Accordion li{ \n background-color:#FFFFFF; \n}\n.layout_Accordion > ul, \n.layout_Accordion > .collapsible-title{ \n background-color:#333; \n}\n.layout_Accordion .layout_Accordion > ul, \n.layout_Accordion .layout_Accordion > .collapsible-title{ \n background-color:#555; \n}\n.layout_Accordion .layout_Accordion .layout_Accordion > ul, \n.layout_Accordion .layout_Accordion .layout_Accordion > .collapsible-title{ \n background-color:#777; \n}\n.layout_Accordion .layout_Accordion .layout_Accordion .layout_Accordion > ul, \n.layout_Accordion .layout_Accordion .layout_Accordion .layout_Accordion > .collapsible-title{ \n background-color:#999; \n}\n.layout_Accordion .layout_Accordion .layout_Accordion .layout_Accordion .layout_Accordion > ul, \n.layout_Accordion .layout_Accordion .layout_Accordion .layout_Accordion .layout_Accordion > .collapsible-title{ \n background-color:#BBB; \n}\n.layout_Accordion .layout_Accordion .layout_Accordion .layout_Accordion .layout_Accordion .layout_Accordion > ul, \n.layout_Accordion .layout_Accordion .layout_Accordion .layout_Accordion .layout_Accordion .layout_Accordion > .collapsible-title{ \n background-color:#CCC; \n}\n.layout_Accordion .layout_Accordion .layout_Accordion .layout_Accordion .layout_Accordion .layout_Accordion .layout_Accordion > ul, \n.layout_Accordion .layout_Accordion .layout_Accordion .layout_Accordion .layout_Accordion .layout_Accordion .layout_Accordion > .collapsible-title{ \n background-color:#DDD; \n}\n.layout_Accordion > ul, \n.layout_Accordion > span{ \n padding-left:0px;\n}\n.layout_Accordion .layout_Accordion > ul, \n.layout_Accordion .layout_Accordion > span{ \n padding-left: 12px;\n}\n\n.layout_Accordion > .collapsible-title:before{\n padding: 4px 8px 4px 8px;\n position: absolute;\n left: 0;\n top: 0;\n}\n.layout_Accordion > .collapsible-icon{\n position:absolute;\n top:0px;\n right:0px;\n width:24px;\n height:24px;\n color:#FFF;\n}`;\n document.head.appendChild(e);\n }\n })();", "import { d3Event, HTMLWidget, Platform, select as d3Select, selectAll as d3SelectAll, Utility } from \"@hpcc-js/common\";\nimport { drag as d3Drag } from \"d3-drag\";\nimport { Cell } from \"./Cell.ts\";\n\nimport \"../src/Border.css\";\n\nexport class Border extends HTMLWidget {\n _colCount: number;\n _rowCount: number;\n _colSize: number;\n _rowSize: number;\n _shrinkWrapBoxes;\n _watch;\n _offsetX;\n _offsetY;\n _dragCell;\n _dragCellSize;\n _dragCellStartSize;\n _handleTop;\n _handleLeft;\n _dragPrevX;\n _dragPrevY;\n _cellSizes;\n contentDiv;\n _scrollBarWidth;\n _borderHandles;\n _sectionTypeArr;\n\n constructor() {\n super();\n\n this._tag = \"div\";\n\n this._colCount = 0;\n this._rowCount = 0;\n this._colSize = 0;\n this._rowSize = 0;\n\n this._shrinkWrapBoxes = {};\n\n this.content([]);\n this.sectionTypes([]);\n }\n\n watchWidget(widget) {\n if (this._watch === undefined) {\n this._watch = {};\n }\n if (this._watch[widget.id()]) {\n this._watch[widget.id()].remove();\n delete this._watch[widget.id()];\n }\n if (widget) {\n const context = this;\n this._watch[widget.id()] = widget.monitor(function (paramId, newVal, oldVal) {\n if (oldVal !== newVal) {\n context.lazyPostUpdate();\n }\n });\n }\n }\n\n lazyPostUpdate = Utility.debounce(function () {\n this.postUpdate();\n }, 100);\n\n applyLayoutType() {\n const layoutObj = this.borderLayoutObject();\n this.content().forEach(function (cell, i) {\n cell._fixedLeft = layoutObj[this.sectionTypes()[i]].left;\n cell._fixedTop = layoutObj[this.sectionTypes()[i]].top;\n cell._fixedWidth = layoutObj[this.sectionTypes()[i]].width;\n cell._fixedHeight = layoutObj[this.sectionTypes()[i]].height;\n cell._dragHandles = this.cellSpecificDragHandles(this.sectionTypes()[i]);\n }, this);\n }\n cellSpecificDragHandles(sectionType) {\n switch (sectionType) {\n case \"top\": return [\"s\"];\n case \"right\": return [\"w\"];\n case \"bottom\": return [\"n\"];\n case \"left\": return [\"e\"];\n case \"center\": return [];\n }\n }\n\n borderLayoutObject(layoutType?) {\n const retObj = {};\n const context = this;\n let topSize;\n let topPerc;\n let bottomSize;\n let bottomPerc;\n let leftSize;\n let leftPerc;\n let rightSize;\n let rightPerc;\n\n const bcRect = this.target().getBoundingClientRect();\n const gridRect: any = {};\n gridRect.top = bcRect.top;\n gridRect.left = bcRect.left;\n gridRect.bottom = bcRect.bottom;\n gridRect.right = bcRect.right;\n if (this.target() instanceof SVGElement) {\n gridRect.width = parseFloat(this.target().getAttribute(\"width\"));\n gridRect.height = parseFloat(this.target().getAttribute(\"height\"));\n } else {\n gridRect.width = bcRect.width;\n gridRect.height = bcRect.height;\n }\n if (this.sectionTypes().indexOf(\"top\") !== -1) {\n topSize = this.topSize();\n topPerc = this.topPercentage();\n if (typeof (this._shrinkWrapBoxes[\"top\"]) !== \"undefined\") {\n topSize = this._shrinkWrapBoxes[\"top\"].height + this.gutter();\n topPerc = 0;\n }\n }\n if (this.sectionTypes().indexOf(\"bottom\") !== -1) {\n bottomSize = this.bottomSize();\n bottomPerc = this.bottomPercentage();\n if (typeof (this._shrinkWrapBoxes[\"bottom\"]) !== \"undefined\") {\n bottomSize = this._shrinkWrapBoxes[\"bottom\"].height + this.gutter();\n bottomPerc = 0;\n }\n }\n if (this.sectionTypes().indexOf(\"left\") !== -1) {\n leftSize = this.leftSize();\n leftPerc = this.leftPercentage();\n if (typeof (this._shrinkWrapBoxes[\"left\"]) !== \"undefined\") {\n leftSize = this._shrinkWrapBoxes[\"left\"].width + this.gutter();\n leftPerc = 0;\n }\n }\n if (this.sectionTypes().indexOf(\"right\") !== -1) {\n rightSize = this.rightSize();\n rightPerc = this.rightPercentage();\n if (typeof (this._shrinkWrapBoxes[\"right\"]) !== \"undefined\") {\n rightSize = this._shrinkWrapBoxes[\"right\"].width + this.gutter();\n rightPerc = 0;\n }\n }\n\n const t = _sectionPlacementObject({\n width: { \"px\": 0, \"%\": 100 },\n height: { \"px\": topSize, \"%\": topPerc },\n top: { \"px\": 0, \"%\": 0 },\n left: { \"px\": 0, \"%\": 0 }\n });\n const b = _sectionPlacementObject({\n width: { \"px\": 0, \"%\": 100 },\n height: { \"px\": bottomSize, \"%\": bottomPerc },\n top: { \"px\": 0, \"%\": 100 },\n left: { \"px\": 0, \"%\": 0 }\n });\n b.top -= b.height;\n const l = _sectionPlacementObject({\n width: { \"px\": leftSize, \"%\": leftPerc },\n height: { \"px\": -t.height - b.height, \"%\": 100 },\n top: { \"px\": t.height, \"%\": 0 },\n left: { \"px\": 0, \"%\": 0 }\n });\n const r = _sectionPlacementObject({\n width: { \"px\": rightSize, \"%\": rightPerc },\n height: { \"px\": -t.height - b.height, \"%\": 100 },\n top: { \"px\": t.height, \"%\": 0 },\n left: { \"px\": 0, \"%\": 100 }\n });\n r.left -= r.width;\n const c = _sectionPlacementObject({\n width: { \"px\": -r.width - l.width, \"%\": 100 },\n height: { \"px\": -t.height - b.height, \"%\": 100 },\n top: { \"px\": t.height, \"%\": 0 },\n left: { \"px\": l.width, \"%\": 0 }\n });\n retObj[\"top\"] = t;\n retObj[\"bottom\"] = b;\n retObj[\"right\"] = r;\n retObj[\"left\"] = l;\n retObj[\"center\"] = c;\n return retObj;\n\n function _sectionPlacementObject(obj) {\n obj.width[\"px\"] = typeof (obj.width[\"px\"]) !== \"undefined\" ? obj.width[\"px\"] : 0;\n obj.width[\"%\"] = typeof (obj.width[\"%\"]) !== \"undefined\" ? obj.width[\"%\"] : 0;\n obj.height[\"px\"] = typeof (obj.height[\"px\"]) !== \"undefined\" ? obj.height[\"px\"] : 0;\n obj.height[\"%\"] = typeof (obj.height[\"%\"]) !== \"undefined\" ? obj.height[\"%\"] : 0;\n const ret = {\n width: obj.width[\"px\"] + (obj.width[\"%\"] / 100 * context.width()),\n height: obj.height[\"px\"] + (obj.height[\"%\"] / 100 * context.height()),\n top: obj.top[\"px\"] + (obj.top[\"%\"] / 100 * context.height()) + context.gutter() / 2,\n left: obj.left[\"px\"] + (obj.left[\"%\"] / 100 * context.width()) + context.gutter() / 2\n };\n return ret;\n }\n }\n\n clearContent(sectionType) {\n if (!sectionType) {\n this.content().forEach(function (contentWidget) {\n contentWidget.target(null);\n return false;\n });\n d3Select(\"#\" + this.id() + \" > div.borderHandle\")\n .classed(\"borderHandleDisabled\", true)\n ;\n delete this._watch;\n this.content([]);\n this.sectionTypes([]);\n } else {\n const idx = this.sectionTypes().indexOf(sectionType);\n if (idx >= 0) {\n if (this._watch && this.content()[idx]) {\n delete this._watch[this.content()[idx].id()];\n }\n this.content()[idx].target(null);\n d3Select(\"#\" + this.id() + \" > div.borderHandle_\" + sectionType)\n .classed(\"borderHandleDisabled\", true)\n ;\n this.content().splice(idx, 1);\n this.sectionTypes().splice(idx, 1);\n }\n }\n }\n\n hasContent(sectionType, widget, title) {\n return this.sectionTypes().indexOf(sectionType) >= 0;\n }\n\n setContent(sectionType, widget, title?) {\n this.clearContent(sectionType);\n title = typeof (title) !== \"undefined\" ? title : \"\";\n if (widget) {\n const cell = new Cell()\n .surfaceBorderWidth(0)\n .widget(widget)\n .title(title)\n ;\n this.watchWidget(widget);\n this.content().push(cell);\n this.sectionTypes().push(sectionType);\n }\n return this;\n }\n\n getCell(id) {\n const idx = this.sectionTypes().indexOf(id);\n if (idx >= 0) {\n return this.content()[idx];\n }\n return null;\n }\n\n getContent(id) {\n const idx = this.sectionTypes().indexOf(id);\n if (idx >= 0) {\n return this.content()[idx].widget();\n }\n return null;\n }\n\n setLayoutOffsets() {\n this._offsetX = this._element.node().getBoundingClientRect().left + (this.gutter() / 2);\n this._offsetY = this._element.node().getBoundingClientRect().top + (this.gutter() / 2);\n }\n\n dragStart(handle) {\n const event = d3Event();\n event.sourceEvent.stopPropagation();\n const context = this;\n\n this._dragCell = handle;\n this._dragCellStartSize = this[handle + \"Size\"]();\n\n if (this[handle + \"ShrinkWrap\"]()) {\n this[handle + \"Percentage\"](0);\n this[handle + \"ShrinkWrap\"](false);\n }\n\n const handleElm = d3Select(\"#\" + context.id() + \" > div.borderHandle_\" + handle);\n context._handleTop = parseFloat(handleElm.style(\"top\").split(\"px\")[0]);\n context._handleLeft = parseFloat(handleElm.style(\"left\").split(\"px\")[0]);\n\n this._dragPrevX = event.sourceEvent.clientX;\n this._dragPrevY = event.sourceEvent.clientY;\n }\n dragTick(handle) {\n const context = this;\n\n const event = d3Event();\n const xDelta = this._dragPrevX - event.sourceEvent.clientX;\n const yDelta = this._dragPrevY - event.sourceEvent.clientY;\n\n switch (handle) {\n case \"top\":\n case \"bottom\":\n _moveHandles(handle, yDelta);\n break;\n case \"right\":\n case \"left\":\n _moveHandles(handle, xDelta);\n break;\n }\n\n function _moveHandles(handle2, delta) {\n if (delta === 0) return;\n const handles = d3SelectAll(\"#\" + context.id() + \" > div.borderHandle\");\n const grabbedHandle = d3Select(\"#\" + context.id() + \" > div.borderHandle_\" + handle2);\n\n if (grabbedHandle.classed(\"borderHandle_top\")) {\n grabbedHandle.style(\"top\", (context._handleTop - delta) + \"px\");\n context._cellSizes.topHeight = context._handleTop - delta;\n context._cellSizes.leftHeight = context._cellSizes.height;\n context._cellSizes.leftHeight -= context._cellSizes.topHeight;\n context._cellSizes.leftHeight -= context._cellSizes.bottomHeight;\n context._cellSizes.rightHeight = context._cellSizes.leftHeight;\n } else if (grabbedHandle.classed(\"borderHandle_right\")) {\n grabbedHandle.style(\"left\", (context._handleLeft - delta) + \"px\");\n context._cellSizes.rightWidth = context._cellSizes.width - context._handleLeft + delta;\n } else if (grabbedHandle.classed(\"borderHandle_bottom\")) {\n grabbedHandle.style(\"top\", (context._handleTop - delta) + \"px\");\n context._cellSizes.bottomHeight = context._cellSizes.height - context._handleTop + delta;\n context._cellSizes.leftHeight = context._cellSizes.height;\n context._cellSizes.leftHeight -= context._cellSizes.bottomHeight;\n context._cellSizes.leftHeight -= context._cellSizes.topHeight;\n context._cellSizes.rightHeight = context._cellSizes.leftHeight;\n } else if (grabbedHandle.classed(\"borderHandle_left\")) {\n grabbedHandle.style(\"left\", (context._handleLeft - delta) + \"px\");\n context._cellSizes.leftWidth = context._handleLeft - delta;\n }\n\n handles.each(function () {\n const handle3 = d3Select(this);\n if (handle3.classed(\"borderHandle_top\")) {\n handle3.style(\"width\", context._cellSizes.width + \"px\");\n handle3.style(\"top\", (context._cellSizes.topHeight - 3) + \"px\");\n } else if (handle3.classed(\"borderHandle_right\")) {\n handle3.style(\"left\", (context._cellSizes.width - context._cellSizes.rightWidth) + \"px\");\n handle3.style(\"top\", (context._cellSizes.topHeight + 3) + \"px\");\n handle3.style(\"height\", context._cellSizes.rightHeight + \"px\");\n } else if (handle3.classed(\"borderHandle_bottom\")) {\n handle3.style(\"width\", context._cellSizes.width + \"px\");\n handle3.style(\"top\", (context._cellSizes.height - context._cellSizes.bottomHeight - 3) + \"px\");\n } else if (handle3.classed(\"borderHandle_left\")) {\n handle3.style(\"left\", context._cellSizes.leftWidth + \"px\");\n handle3.style(\"height\", context._cellSizes.leftHeight + \"px\");\n handle3.style(\"top\", (context._cellSizes.topHeight + 3) + \"px\");\n }\n });\n }\n }\n dragEnd(handle) {\n if (handle) {\n const event = d3Event();\n const xDelta = this._dragPrevX - event.sourceEvent.clientX;\n const yDelta = this._dragPrevY - event.sourceEvent.clientY;\n\n switch (handle) {\n case \"top\":\n if (yDelta !== 0) {\n this.topPercentage(0);\n this.topSize(this.topSize() === 0 ? this.getContent(\"top\").getBBox().height - yDelta : this.topSize() - yDelta);\n }\n break;\n case \"right\":\n if (xDelta !== 0) {\n this.rightPercentage(0);\n this.rightSize(this.rightSize() === 0 ? this.getContent(\"right\").getBBox().width + xDelta : this.rightSize() + xDelta);\n }\n break;\n case \"bottom\":\n if (yDelta !== 0) {\n this.bottomPercentage(0);\n this.bottomSize(this.bottomSize() === 0 ? this.getContent(\"bottom\").getBBox().height + yDelta : this.bottomSize() + yDelta);\n }\n break;\n case \"left\":\n if (xDelta !== 0) {\n this.leftPercentage(0);\n this.leftSize(this.leftSize() === 0 ? this.getContent(\"left\").getBBox().width - xDelta : this.leftSize() - xDelta);\n }\n break;\n }\n\n this._dragPrevX = event.sourceEvent.clientX;\n this._dragPrevY = event.sourceEvent.clientY;\n }\n this.render();\n }\n\n size(_?) {\n const retVal = HTMLWidget.prototype.size.apply(this, arguments);\n if (arguments.length && this.contentDiv) {\n this.contentDiv\n .style(\"width\", this._size.width + \"px\")\n .style(\"height\", this._size.height + \"px\")\n ;\n }\n return retVal;\n }\n\n enter(domNode, element) {\n super.enter(domNode, element);\n const context = this;\n element.style(\"position\", \"relative\");\n this.contentDiv = element.append(\"div\").classed(\"border-content\", true);\n this._scrollBarWidth = Platform.getScrollbarWidth();\n this._borderHandles = [\"top\", \"left\", \"right\", \"bottom\"];\n\n const handles = element.selectAll(\"div.borderHandle\").data(this._borderHandles);\n handles.enter().append(\"div\")\n .classed(\"borderHandle\", true)\n .each(function (handle) {\n const h = d3Select(this);\n h.classed(\"borderHandle_\" + handle, true)\n .classed(\"borderHandleDisabled\", context.getContent(handle) === null)\n ;\n });\n }\n\n update(domNode, element) {\n super.update(domNode, element);\n this._sectionTypeArr = this.sectionTypes();\n const context = this;\n\n element.classed(\"design-mode\", this.designMode());\n\n this.setLayoutOffsets();\n\n const rows = this.contentDiv.selectAll(\".cell_\" + this._id).data(this.content(), function (d) { return d._id; });\n const rowsUpdate = rows.enter().append(\"div\")\n .classed(\"cell_\" + this._id, true)\n .style(\"position\", \"absolute\")\n .each(function (d, i) {\n d3Select(this).classed(\"border-cell border-cell-\" + context._sectionTypeArr[i], true);\n d.target(this);\n d3Select(\"#\" + context.id() + \" > div.borderHandle_\" + context._sectionTypeArr[i])\n .classed(\"borderHandleDisabled\", false);\n }).merge(rows);\n rowsUpdate\n .each(function (d, idx) {\n const sectionType = context.sectionTypes()[idx];\n if (typeof (context[sectionType + \"ShrinkWrap\"]) !== \"undefined\" && context[sectionType + \"ShrinkWrap\"]()) {\n d.render();\n context._shrinkWrapBoxes[sectionType] = d.widget().getBBox(true);\n } else {\n delete context._shrinkWrapBoxes[sectionType];\n }\n });\n\n const drag = d3Drag()\n .on(\"start\", function (d, i) { context.dragStart.call(context, d, i); })\n .on(\"drag\", function (d, i) { context.dragTick.call(context, d, i); })\n .on(\"end\", function (d, i) { context.dragEnd.call(context, d, i); })\n ;\n if (this.designMode()) {\n element.selectAll(\"#\" + this.id() + \" > div.borderHandle\").call(drag);\n } else {\n element.selectAll(\"#\" + this.id() + \" > div.borderHandle\").on(\".drag\", null);\n }\n\n const layoutObj = this.borderLayoutObject();\n this.content().forEach(function (cell, i) {\n cell._fixedLeft = layoutObj[this.sectionTypes()[i]].left;\n cell._fixedTop = layoutObj[this.sectionTypes()[i]].top;\n cell._fixedWidth = layoutObj[this.sectionTypes()[i]].width;\n cell._fixedHeight = layoutObj[this.sectionTypes()[i]].height;\n cell._dragHandles = [];\n }, this);\n\n rowsUpdate\n .style(\"left\", function (d) { return d._fixedLeft + \"px\"; })\n .style(\"top\", function (d) { return d._fixedTop + \"px\"; })\n .style(\"width\", function (d) { return d._fixedWidth - context.gutter() + \"px\"; })\n .style(\"height\", function (d) { return d._fixedHeight - context.gutter() + \"px\"; })\n .each(function (d) {\n d._placeholderElement\n .attr(\"draggable\", context.designMode())\n .selectAll(\".dragHandle\")\n .attr(\"draggable\", context.designMode())\n ;\n d\n .surfacePadding(context.surfacePadding())\n .resize()\n ;\n });\n rows.exit().each(function (d) {\n d.target(null);\n }).remove();\n\n this.getCellSizes();\n\n element\n .selectAll(\"#\" + this.id() + \" > div.borderHandle\")\n .each(function () {\n const handle = d3Select(this);\n if (handle.classed(\"borderHandle_top\")) {\n handle.style(\"width\", context._cellSizes.width + \"px\");\n handle.style(\"top\", (context._cellSizes.topHeight - 3) + \"px\");\n } else if (handle.classed(\"borderHandle_right\")) {\n handle.style(\"left\", (context._cellSizes.width - context._cellSizes.rightWidth) + \"px\");\n handle.style(\"top\", (context._cellSizes.topHeight + 3) + \"px\");\n handle.style(\"height\", context._cellSizes.rightHeight + \"px\");\n } else if (handle.classed(\"borderHandle_bottom\")) {\n handle.style(\"width\", context._cellSizes.width + \"px\");\n handle.style(\"top\", (context._cellSizes.height - context._cellSizes.bottomHeight - 3) + \"px\");\n } else if (handle.classed(\"borderHandle_left\")) {\n handle.style(\"left\", context._cellSizes.leftWidth + \"px\");\n handle.style(\"height\", context._cellSizes.leftHeight + \"px\");\n handle.style(\"top\", (context._cellSizes.topHeight + 3) + \"px\");\n }\n\n })\n ;\n }\n\n getCellSizes() {\n const context = this;\n context._cellSizes = {};\n const contentRect = this.element().node().getBoundingClientRect();\n context._cellSizes.width = contentRect.width;\n context._cellSizes.height = contentRect.height;\n this.element()\n .selectAll(\"#\" + this.id() + \" > div > div.border-cell\")\n .each(function () {\n const cell = d3Select(this);\n if (typeof cell.node === \"function\") {\n const rect = cell.node().getBoundingClientRect();\n if (cell.classed(\"border-cell-top\")) {\n context._cellSizes.topHeight = rect.height;\n } else if (cell.classed(\"border-cell-left\")) {\n context._cellSizes.leftWidth = rect.width;\n context._cellSizes.leftHeight = rect.height;\n } else if (cell.classed(\"border-cell-right\")) {\n context._cellSizes.rightWidth = rect.width;\n context._cellSizes.rightHeight = rect.height;\n } else if (cell.classed(\"border-cell-bottom\")) {\n context._cellSizes.bottomHeight = rect.height;\n }\n }\n });\n const sizes = [\"height\", \"width\", \"topHeight\", \"bottomHeight\", \"leftHeight\", \"rightHeight\", \"leftWidth\", \"rightWidth\"];\n sizes.forEach(function (size) {\n context._cellSizes[size] = context._cellSizes[size] === undefined ? 0 : context._cellSizes[size];\n });\n }\n\n postUpdate(domNode, element) {\n const context = this;\n this.content().forEach(function (n) {\n if (n._element.node() !== null && n.widget()) {\n const prevBox = n.widget().getBBox(false, true);\n const currBox = n.widget().getBBox(true, true);\n if (prevBox.width !== currBox.width || prevBox.height !== currBox.height) {\n context.lazyRender();\n }\n }\n });\n }\n\n exit(domNode, element) {\n this.content().forEach(w => w.target(null));\n super.exit(domNode, element);\n }\n}\nBorder.prototype._class += \" layout_Border\";\n\nexport interface Border {\n designMode(): boolean;\n designMode(_: boolean): this;\n\n content(): any[];\n content(_: any[]): this;\n\n gutter(): number;\n gutter(_: number): this;\n\n topShrinkWrap(): boolean;\n topShrinkWrap(_: boolean): this;\n leftShrinkWrap(): boolean;\n leftShrinkWrap(_: boolean): this;\n rightShrinkWrap(): boolean;\n rightShrinkWrap(_: boolean): this;\n bottomShrinkWrap(): boolean;\n bottomShrinkWrap(_: boolean): this;\n\n topSize(): number;\n topSize(_: number): this;\n leftSize(): number;\n leftSize(_: number): this;\n rightSize(): number;\n rightSize(_: number): this;\n bottomSize(): number;\n bottomSize(_: number): this;\n\n topPercentage(): number;\n topPercentage(_: number): this;\n leftPercentage(): number;\n leftPercentage(_: number): this;\n rightPercentage(): number;\n rightPercentage(_: number): this;\n bottomPercentage(): number;\n bottomPercentage(_: number): this;\n\n surfacePadding(): number;\n surfacePadding(_: number): this;\n\n sectionTypes(): any[];\n sectionTypes(_: any[]): this;\n}\n\nBorder.prototype.publish(\"designMode\", false, \"boolean\", \"Design Mode\", null, { tags: [\"Basic\"] });\n\nBorder.prototype.publish(\"content\", [], \"widgetArray\", \"widgets\", null, { tags: [\"Intermediate\"] });\n\nBorder.prototype.publish(\"gutter\", 0, \"number\", \"Gap Between Widgets\", null, { tags: [\"Basic\"] });\n\nBorder.prototype.publish(\"topShrinkWrap\", false, \"boolean\", \"'Top' Cell shrinks to fit content\", null, { tags: [\"Intermediate\"] });\nBorder.prototype.publish(\"leftShrinkWrap\", false, \"boolean\", \"'Left' Cell shrinks to fit content\", null, { tags: [\"Intermediate\"] });\nBorder.prototype.publish(\"rightShrinkWrap\", false, \"boolean\", \"'Right' Cell shrinks to fit content\", null, { tags: [\"Intermediate\"] });\nBorder.prototype.publish(\"bottomShrinkWrap\", false, \"boolean\", \"'Bottom' Cell shrinks to fit content\", null, { tags: [\"Intermediate\"] });\n\nBorder.prototype.publish(\"topSize\", 0, \"number\", \"Height of the 'Top' Cell (px)\", null, { tags: [\"Private\"] });\nBorder.prototype.publish(\"leftSize\", 0, \"number\", \"Width of the 'Left' Cell (px)\", null, { tags: [\"Private\"] });\nBorder.prototype.publish(\"rightSize\", 0, \"number\", \"Width of the 'Right' Cell (px)\", null, { tags: [\"Private\"] });\nBorder.prototype.publish(\"bottomSize\", 0, \"number\", \"Height of the 'Bottom' Cell (px)\", null, { tags: [\"Private\"] });\n\nBorder.prototype.publish(\"topPercentage\", 20, \"number\", \"Percentage (of parent) Height of the 'Top' Cell\", null, { tags: [\"Private\"] });\nBorder.prototype.publish(\"leftPercentage\", 20, \"number\", \"Percentage (of parent) Width of the 'Left' Cell\", null, { tags: [\"Private\"] });\nBorder.prototype.publish(\"rightPercentage\", 20, \"number\", \"Percentage (of parent) Width of the 'Right' Cell\", null, { tags: [\"Private\"] });\nBorder.prototype.publish(\"bottomPercentage\", 20, \"number\", \"Percentage (of parent) Height of the 'Bottom' Cell\", null, { tags: [\"Private\"] });\n\nBorder.prototype.publish(\"surfacePadding\", 0, \"number\", \"Cell Padding (px)\", null, { tags: [\"Intermediate\"] });\n\nBorder.prototype.publish(\"sectionTypes\", [], \"array\", \"Section Types sharing an index with 'content' - Used to determine position/size.\", null, { tags: [\"Private\"] });\n", "import { Widget } from \"@hpcc-js/common\";\nimport { select as d3Select, selectAll as d3SelectAll } from \"d3-selection\";\nimport { Surface } from \"./Surface.ts\";\n\nimport \"../src/Cell.css\";\n\nexport class Cell extends Surface {\n _indicateTheseIds;\n\n constructor() {\n super();\n this._indicateTheseIds = [];\n }\n\n indicateTheseIds(): any[];\n indicateTheseIds(_: any[]): Cell;\n indicateTheseIds(_?: any[]): any[] | Cell {\n if (!arguments.length) return this._indicateTheseIds;\n this._indicateTheseIds = _;\n return this;\n }\n\n enter(domNode, element) {\n super.enter(domNode, element);\n const context = this;\n element\n .classed(\"layout_Surface\", true)\n .on(\"mouseenter\", function () { context.onMouseEnter(); })\n .on(\"mouseleave\", function () { context.onMouseLeave(); })\n ;\n }\n\n update(domNode, element) {\n super.update(domNode, element);\n }\n\n onMouseEnter() {\n const arr = this.indicateTheseIds();\n const opacity = this.indicatorOpacity();\n const indicatorBorderColor = this.indicatorBorderColor();\n const indicatorGlowColor = this.indicatorGlowColor();\n for (let i = 0; i < arr.length; i++) {\n const otherElement = d3Select(\"#\" + arr[i]);\n const otherWidget: Widget = otherElement.datum() as Widget;\n if (otherElement && otherWidget) {\n otherElement.append(\"div\")\n .attr(\"class\", \"update-indicator\")\n .style(\"width\", otherWidget.width() + \"px\")\n .style(\"height\", otherWidget.height() + \"px\")\n .style(\"opacity\", opacity)\n .style(\"border-color\", indicatorBorderColor)\n .style(\"-webkit-box-shadow\", \"inset 0px 0px 30px 0px \" + indicatorGlowColor)\n .style(\"-moz-box-shadow\", \"inset 0px 0px 30px 0px \" + indicatorGlowColor)\n .style(\"box-shadow\", \"inset 0px 0px 30px 0px \" + indicatorGlowColor)\n ;\n }\n }\n }\n\n onMouseLeave() {\n const arr = this.indicateTheseIds();\n for (let i = 0; i < arr.length; i++) {\n d3SelectAll(\"#\" + arr[i] + \" > div.update-indicator\").remove();\n }\n }\n}\nCell.prototype._class += \" layout_Cell\";\n\nexport interface Cell {\n gridRow(): number;\n gridRow(_: number): this;\n gridCol(): number;\n gridCol(_: number): this;\n gridRowSpan(): number;\n gridRowSpan(_: number): this;\n gridColSpan(): number;\n gridColSpan(_: number): this;\n\n indicatorGlowColor(): string;\n indicatorGlowColor(_: string): this;\n indicatorBorderColor(): string;\n indicatorBorderColor(_: string): this;\n indicatorOpacity(): number;\n indicatorOpacity(_: number): this;\n}\n\nCell.prototype.publish(\"gridRow\", 0, \"number\", \"Grid Row Position\", null, { tags: [\"Private\"] });\nCell.prototype.publish(\"gridCol\", 0, \"number\", \"Grid Column Position\", null, { tags: [\"Private\"] });\nCell.prototype.publish(\"gridRowSpan\", 1, \"number\", \"Grid Row Span\", null, { tags: [\"Private\"] });\nCell.prototype.publish(\"gridColSpan\", 1, \"number\", \"Grid Column Span\", null, { tags: [\"Private\"] });\n\nCell.prototype.publish(\"indicatorGlowColor\", \"#EEEE11\", \"html-color\", \"Glow color of update-indicator\", null, { tags: [\"Basic\"] });\nCell.prototype.publish(\"indicatorBorderColor\", \"#F48A00\", \"html-color\", \"Border color of update-indicator\", null, { tags: [\"Basic\"] });\nCell.prototype.publish(\"indicatorOpacity\", 0.8, \"number\", \"Opacity of update-indicator\", null, { tags: [\"Basic\"] });\n", "import { HTMLWidget, Widget } from \"@hpcc-js/common\";\nimport { select as d3Select } from \"d3-selection\";\n\nimport \"../src/Surface.css\";\n\nexport class Surface extends HTMLWidget {\n _surfaceButtons;\n\n constructor() {\n super();\n\n this._tag = \"div\";\n this._surfaceButtons = [];\n }\n\n widgetSize(titleDiv, widgetDiv) {\n let width = this.clientWidth();\n let height = this.clientHeight();\n if (this.title()) {\n height -= this.calcHeight(titleDiv);\n }\n height -= this.calcFrameHeight(widgetDiv);\n width -= this.calcFrameWidth(widgetDiv);\n return { width, height };\n }\n\n enter(domNode, element) {\n super.enter(domNode, element);\n }\n\n update(domNode, element2) {\n super.update(domNode, element2);\n const context = this;\n\n element2\n .classed(\"shadow2\", this.surfaceShadow())\n .style(\"border-width\", this.surfaceBorderWidth_exists() ? this.surfaceBorderWidth() + \"px\" : null)\n .style(\"border-color\", this.surfaceBorderColor())\n .style(\"border-radius\", this.surfaceBorderRadius_exists() ? this.surfaceBorderRadius() + \"px\" : null)\n .style(\"background-color\", this.surfaceBackgroundColor())\n ;\n\n const titles = element2.selectAll(\".surfaceTitle\").data(this.title() ? [this.title()] : []);\n titles.enter().insert(\"h3\", \"div\")\n .attr(\"class\", \"surfaceTitle\")\n .merge(titles)\n .text(function (d) { return d; })\n .style(\"text-align\", this.surfaceTitleAlignment())\n .style(\"color\", this.surfaceTitleFontColor())\n .style(\"font-size\", this.surfaceTitleFontSize_exists() ? this.surfaceTitleFontSize() + \"px\" : null)\n .style(\"font-family\", this.surfaceTitleFontFamily())\n .style(\"font-weight\", this.surfaceTitleFontBold() ? \"bold\" : \"normal\")\n .style(\"background-color\", this.surfaceTitleBackgroundColor())\n .style(\"padding\", this.surfaceTitlePadding_exists() ? this.surfaceTitlePadding() + \"px\" : null)\n .style(\"title\", this.altText_exists() ? this.altText() : null)\n ;\n titles.exit().remove();\n\n const surfaceTitle = element2.select(\".surfaceTitle\");\n\n const surfaceButtons = surfaceTitle.append(\"div\").attr(\"class\", \"html-button-container\").selectAll(\".surface-button\").data(this.buttonAnnotations());\n surfaceButtons.enter().append(\"button\").classed(\"surface-button\", true)\n .each(function (button, idx) {\n const el = context._surfaceButtons[idx] = d3Select(this)\n .attr(\"class\", \"surface-button\" + (button.class ? \" \" + button.class : \"\"))\n .attr(\"id\", button.id)\n .style(\"padding\", button.padding)\n .style(\"width\", button.width)\n .style(\"height\", button.height)\n .style(\"cursor\", \"pointer\");\n if (button.font === \"FontAwesome\") {\n el\n .style(\"background\", \"transparent\")\n .style(\"border\", \"none\")\n .on(\"click\", function (d) { context.click(d); })\n .append(\"i\")\n .attr(\"class\", \"fa\")\n .text(function () { return button.label; });\n } else {\n el\n .text(function () { return button.label; })\n .on(\"click\", function (d) { context.click(d); });\n }\n })\n ;\n surfaceButtons.exit()\n .each(function (_d, idx) {\n const element = d3Select(this);\n delete context._surfaceButtons[idx];\n element.remove();\n })\n ;\n const widgets = element2.selectAll(\"#\" + this._id + \" > .surfaceWidget\").data(this.widget() ? [this.widget()] : [], function (d) { return d._id; });\n\n widgets.enter().append(\"div\")\n .attr(\"class\", \"surfaceWidget\")\n .each(function (d) {\n d3Select(context.element().node().parentElement).classed(\"content-icon content-icon-\" + (d.classID().split(\"_\")[1]), true);\n d.target(this);\n })\n .merge(widgets)\n .style(\"padding\", this.surfacePadding_exists() ? this.surfacePadding() + \"px\" : null)\n .each(function (d) {\n const widgetSize = context.widgetSize(element2.select(\"h3\"), d3Select(this));\n if (widgetSize.width < 0) widgetSize.width = 0;\n if (widgetSize.height < 0) widgetSize.height = 0;\n d\n .resize({ width: widgetSize.width, height: widgetSize.height })\n ;\n })\n ;\n widgets.exit().each(function (d) {\n d.target(null);\n }).remove();\n }\n\n exit(domNode, element) {\n if (this.widget()) {\n this.widget().target(null);\n }\n super.exit(domNode, element);\n }\n\n // Events ---\n click(obj) {\n }\n}\nSurface.prototype._class += \" layout_Surface\";\n\nexport interface Surface {\n /* \n title: { (): string; (_: string): Surface; };\n altText: { (): string; (_: string): Surface; };\n altText_exists: () => boolean;\n surfaceTitlePadding: { (): number; (_: number): Surface; };\n surfaceTitlePadding_exists: () => boolean;\n surfaceTitleFontSize: { (): number; (_: number): Surface; };\n surfaceTitleFontSize_exists: () => boolean;\n surfaceTitleFontColor: { (): string; (_: string): Surface; };\n surfaceTitleFontFamily: { (): string; (_: string): Surface; };\n surfaceTitleFontBold: { (): boolean; (_: boolean): Surface; };\n surfaceTitleBackgroundColor: { (): string; (_: string): Surface; };\n surfaceTitleAlignment: { (): string; (_: string): Surface; };\n\n surfaceShadow: { (): boolean; (_: boolean): Surface; };\n surfacePadding: { (): string; (_: string): Surface; };\n surfacePadding_exists: () => boolean;\n surfaceBackgroundColor: { (): string; (_: string): Surface; };\n surfaceBorderWidth: { (): number; (_: number): Surface; };\n surfaceBorderWidth_exists: () => boolean;\n surfaceBorderColor: { (): string; (_: string): Surface; };\n surfaceBorderRadius: { (): number; (_: number): Surface; };\n surfaceBorderRadius_exists: () => boolean;\n\n buttonAnnotations: { (): any[]; (_: any[]): Surface; };\n\n widget: { (): Widget; (_: Widget): Surface; };\n */\n title(): string;\n title(_: string): this;\n altText(): string;\n altText(_: string): this;\n altText_exists(): boolean;\n surfaceTitlePadding(): number;\n surfaceTitlePadding(_: number): this;\n surfaceTitlePadding_exists(): boolean;\n surfaceTitleFontSize(): number;\n surfaceTitleFontSize(_: number): this;\n surfaceTitleFontSize_exists(): boolean;\n surfaceTitleFontColor(): string;\n surfaceTitleFontColor(_: string): this;\n surfaceTitleFontFamily(): string;\n surfaceTitleFontFamily(_: string): this;\n surfaceTitleFontBold(): boolean;\n surfaceTitleFontBold(_: boolean): this;\n surfaceTitleBackgroundColor(): string;\n surfaceTitleBackgroundColor(_: string): this;\n surfaceTitleAlignment(): string;\n surfaceTitleAlignment(_: string): this;\n\n surfaceShadow(): boolean;\n surfaceShadow(_: boolean): this;\n surfacePadding(): string;\n surfacePadding(_: string): this;\n surfacePadding_exists(): boolean;\n surfaceBackgroundColor(): string;\n surfaceBackgroundColor(_: string): this;\n surfaceBorderWidth(): number;\n surfaceBorderWidth(_: number): this;\n surfaceBorderWidth_exists(): boolean;\n surfaceBorderColor(): string;\n surfaceBorderColor(_: string): this;\n surfaceBorderRadius(): number;\n surfaceBorderRadius(_: number): this;\n surfaceBorderRadius_exists(): boolean;\n\n buttonAnnotations(): any[];\n buttonAnnotations(_: any[]): this;\n\n widget(): Widget;\n widget(_: Widget): this;\n}\n\nSurface.prototype.publish(\"title\", \"\", \"string\", \"Title\", null, { tags: [\"Intermediate\"] });\nSurface.prototype.publish(\"altText\", null, \"string\", \"Alt text\", null, { optional: true });\nSurface.prototype.publish(\"surfaceTitlePadding\", null, \"number\", \"Title Padding (px)\", null, { tags: [\"Advanced\"], disable: (w: any) => !w.title() });\nSurface.prototype.publish(\"surfaceTitleFontSize\", null, \"number\", \"Title Font Size (px)\", null, { tags: [\"Advanced\"], disable: (w: any) => !w.title() });\nSurface.prototype.publish(\"surfaceTitleFontColor\", null, \"html-color\", \"Title Font Color\", null, { tags: [\"Advanced\"], disable: (w: any) => !w.title() });\nSurface.prototype.publish(\"surfaceTitleFontFamily\", null, \"string\", \"Title Font Family\", null, { tags: [\"Advanced\"], disable: (w: any) => !w.title() });\nSurface.prototype.publish(\"surfaceTitleFontBold\", true, \"boolean\", \"Enable Bold Title Font\", null, { tags: [\"Advanced\"], disable: (w: any) => !w.title() });\nSurface.prototype.publish(\"surfaceTitleBackgroundColor\", null, \"html-color\", \"Title Background Color\", null, { tags: [\"Advanced\"], disable: (w: any) => !w.title() });\nSurface.prototype.publish(\"surfaceTitleAlignment\", \"center\", \"set\", \"Title Alignment\", [\"left\", \"right\", \"center\"], { tags: [\"Basic\"], disable: (w: any) => !w.title() });\n\nSurface.prototype.publish(\"surfaceShadow\", false, \"boolean\", \"3D Shadow\");\nSurface.prototype.publish(\"surfacePadding\", null, \"string\", \"Surface Padding (px)\", null, { tags: [\"Intermediate\"] });\nSurface.prototype.publish(\"surfaceBackgroundColor\", null, \"html-color\", \"Surface Background Color\", null, { tags: [\"Advanced\"] });\nSurface.prototype.publish(\"surfaceBorderWidth\", null, \"number\", \"Surface Border Width (px)\", null, { tags: [\"Advanced\"] });\nSurface.prototype.publish(\"surfaceBorderColor\", null, \"html-color\", \"Surface Border Color\", null, { tags: [\"Advanced\"] });\nSurface.prototype.publish(\"surfaceBorderRadius\", null, \"number\", \"Surface Border Radius (px)\", null, { tags: [\"Advanced\"] });\n\nSurface.prototype.publish(\"buttonAnnotations\", [], \"array\", \"Button Array\", null, { tags: [\"Private\"] });\n\nSurface.prototype.publish(\"widget\", null, \"widget\", \"Widget\", null, { tags: [\"Basic\"] });\n", "(function(){\n if (!document.getElementById('41033346')) {\n var e = document.createElement('style');\n e.id = '41033346';\n e.textContent = `.layout_Surface {\n box-sizing: border-box;\n margin: 0px;\n border: 1px solid #e5e5e5;\n overflow:hidden;\n height: 100%;\n width: 100%;\n}\n\n.layout_Surface.shadow2 {\n box-shadow: 0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12)\n}\n\n.layout_Surface > h3 {\n margin: 0px;\n padding: 2px;\n background-color: #e5e5e5;\n}\n.layout_Surface .html-button-container {\n position: absolute;\n right: 0px;\n top:3px;\n}\n\n.layout_Surface > div {\n padding: 8px;\n}\n\n.layout_Surface .html-button-container .surface-button {\n margin-right: 5px;\n}\n.layout_Surface .html-button-container .surface-button i {\n opacity: 0.8;\n}\n\n.layout_Surface .html-button-container .surface-button:hover { opacity: 1; }\n.layout_Surface .html-button-container .surface-button:active { opacity: 0.5; }\n\ndiv[draggable=true].hideDragCellContent.content-icon:before{\n content: \"\\f080\";\n font-family: FontAwesome;\n position: absolute;\n top: calc(50% - 74px);\n left: calc(50% - 56px);\n font-size: 100px;\n}\ndiv[draggable=true].hideDragCellContent.content-icon-Line:before{\n content:\"\\f201\";\n}\ndiv[draggable=true].hideDragCellContent.content-icon-Pie:before{\n top: calc(50% - 72px);\n left: calc(50% - 45px);\n content:\"\\f200\";\n}\ndiv[draggable=true].hideDragCellContent.content-icon-Area:before{\n content:\"\\f1fe\";\n}\ndiv[draggable=true].hideDragCellContent.content-icon-Gauge:before{\n content:\"\\f0e4\";\n}\ndiv[draggable=true].hideDragCellContent.content-icon-Table:before{\n content:\"\\f0ce\";\n}\ndiv[draggable=true].hideDragCellContent.content-icon-Form:before{\n content:\"\\f11c\";\n}\ndiv[draggable=true].hideDragCellContent.content-icon-Grid:before,\ndiv[draggable=true].hideDragCellContent.content-icon-Graph:before,\ndiv[draggable=true].hideDragCellContent.content-icon-Border:before,\ndiv[draggable=true].hideDragCellContent.content-icon-Tabbed:before,\ndiv[draggable=true].hideDragCellContent.content-icon-Accordion:before,\ndiv[draggable=true].hideDragCellContent.content-icon-MultiChart:before,\ndiv[draggable=true].hideDragCellContent.content-icon-MultiChartSurface:before{\n content:\"\\f247\";\n}\ndiv[draggable=true].hideDragCellContent.content-icon-ChoroplethStates:before,\ndiv[draggable=true].hideDragCellContent.content-icon-ChoroplethStatesHeat:before,\ndiv[draggable=true].hideDragCellContent.content-icon-ChoroplethCounties:before,\ndiv[draggable=true].hideDragCellContent.content-icon-ChoroplethCountries:before,\ndiv[draggable=true].hideDragCellContent.content-icon-GMap:before,\ndiv[draggable=true].hideDragCellContent.content-icon-GMapHeat:before,\ndiv[draggable=true].hideDragCellContent.content-icon-GMapGraph:before{\n content:\"\\f278\";\n}\ndiv[draggable=true].hideDragCellContent.content-icon-Text:before,\ndiv[draggable=true].hideDragCellContent.content-icon-TextBox:before,\ndiv[draggable=true].hideDragCellContent.content-icon-FAChar:before{\n content:\"\\f278\";\n}\n`;\n document.head.appendChild(e);\n }\n })();", "(function(){\n if (!document.getElementById('bc383397')) {\n var e = document.createElement('style');\n e.id = 'bc383397';\n e.textContent = `.layout_Cell .update-indicator {\n box-sizing: border-box;\n position: absolute;\n top: 0px;\n left: 0px;\n padding: 0px;\n z-index: 1000;\n border-width: 0px;\n border-style: solid;\n pointer-events: none;\n}\n`;\n document.head.appendChild(e);\n }\n })();", "(function(){\n if (!document.getElementById('df37b09f')) {\n var e = document.createElement('style');\n e.id = 'df37b09f';\n e.textContent = `.layout_Border{\n width: 100%;\n height: 100%;\n}\n.layout_Border > .border-content{\n width: 100%;\n height: 100%;\n position:relative;\n}\n.layout_Border > .borderHandle{\n width: 6px;\n height: 6px;\n background-color: #444;\n opacity: 0.3;\n position:absolute;\n visibility:hidden;\n}\n.layout_Border.design-mode > .borderHandle{\n visibility:visible;\n}\n.layout_Border > .borderHandle:hover{\n background-color: #666;\n}\n.layout_Border > .borderHandle.borderHandleDisabled{\n display:none;\n}\n.layout_Border > .borderHandle_top,\n.layout_Border > .borderHandle_bottom\n{\n cursor:ns-resize;\n}\n.layout_Border > .borderHandle_left,\n.layout_Border > .borderHandle_right\n{\n cursor:ew-resize;\n}\n.layout_Border .cell {\n border-radius: 5px;\n border: 1px solid #e5e5e5;\n display: inline-block;\n overflow: hidden;\n}\n\n.layout_Border .cell h2 {\n margin: 0px;\n padding-top: 4px;\n -webkit-margin: 0px;\n text-align: center;\n}\n\n.layout_Border .layout_BorderCell.over {\n border: 2px dashed #000;\n}\n.layout_Border .dragItem { \n z-index: -1;\n opacity:0.33;\n}\n\n.layout_Border .notDragItem { \n z-index: -1;\n opacity: 1;\n}\n.layout_Border div[draggable=true] { \n opacity: 0.75;\n cursor: default;\n}\n\n.layout_Border div[draggable=true] .dragHandle {\n opacity: 1.0;\n}\n\n.layout_Border div[draggable=true] .dragHandle_n,\n.layout_Border div[draggable=true] .dragHandle_e,\n.layout_Border div[draggable=true] .dragHandle_s,\n.layout_Border div[draggable=true] .dragHandle_w{\n background-color:#AAA;\n}\n\n.layout_Border div[draggable=true] .dragHandle_nw,\n.layout_Border div[draggable=true] .dragHandle_ne,\n.layout_Border div[draggable=true] .dragHandle_se,\n.layout_Border div[draggable=true] .dragHandle_sw { \n background-color:#333;\n}\n\n.layout_Border div[draggable=true] .dragHandle_nw { \n cursor:nw-resize;\n}\n\n.layout_Border div[draggable=true] .dragHandle_n { \n cursor:n-resize;\n}\n\n.layout_Border div[draggable=true] .dragHandle_ne { \n cursor:ne-resize;\n}\n\n.layout_Border div[draggable=true] .dragHandle_e { \n cursor:e-resize;\n}\n\n.layout_Border div[draggable=true] .dragHandle_se { \n cursor:se-resize;\n}\n\n.layout_Border div[draggable=true] .dragHandle_s { \n cursor:s-resize;\n}\n\n.layout_Border div[draggable=true] .dragHandle_sw { \n cursor:sw-resize;\n}\n\n.layout_Border div[draggable=true] .dragHandle_w { \n cursor:w-resize;\n}\n\n.layout_Border div[draggable=false] > div > .dragHandle {\n display:none;\n}\n\n.layout_Border .grid-drop-target{\n position:fixed;\n box-sizing:border-box;\n border:2px dashed #7f8c8d;\n border-radius:0px;\n background: repeating-linear-gradient(\n -45deg,\n rgba(0, 0, 0, 0),\n rgba(0, 0, 0, 0) 4px,\n rgba(100, 100, 100, 0.1) 4px,\n rgba(100, 100, 100, 0.1) 8px\n );\n}\n\n.layout_Border .grid-drop-target.drop-target-over{\n border:2px dashed #179BD7;\n background: repeating-linear-gradient(\n -45deg,\n rgba(0, 0, 0, 0),\n rgba(0, 0, 0, 0) 6px,\n rgba(17, 155, 215, 0.1) 6px,\n rgba(17, 155, 215, 0.1) 12px\n );\n}`;\n document.head.appendChild(e);\n }\n })();", "import { BBox, HTMLWidget, Platform, Widget } from \"@hpcc-js/common\";\n\nimport \"../src/Border2.css\";\n\nexport type OverflowT = \"hidden\" | \"scroll\" | \"visible\" | \"auto\";\nexport type ChartPanelSectionT = \"top\" | \"right\" | \"bottom\" | \"left\" | \"center\";\nexport class WidgetDiv {\n private _div;\n private _overlay: boolean = false;\n private _overflowX: OverflowT = \"visible\";\n private _overflowY: OverflowT = \"visible\";\n private _widget: Widget;\n\n constructor(div) {\n this._div = div;\n }\n\n overlay(): boolean;\n overlay(_: boolean): this;\n overlay(_?: boolean): boolean | this {\n if (!arguments.length) return this._overlay;\n this._overlay = _;\n return this;\n }\n\n overflowX(): OverflowT;\n overflowX(_: OverflowT): this;\n overflowX(_?: OverflowT): OverflowT | this {\n if (!arguments.length) return this._overflowX;\n this._overflowX = _;\n this._div.style(\"overflow-x\", _);\n return this;\n }\n overflowY(): OverflowT;\n overflowY(_: OverflowT): this;\n overflowY(_?: OverflowT): OverflowT | this {\n if (!arguments.length) return this._overflowY;\n this._overflowY = _;\n this._div.style(\"overflow-y\", _);\n return this;\n }\n\n element() {\n return this._div;\n }\n\n node(): SVGElement | HTMLElement {\n return this._div.node();\n }\n\n widget(): Widget;\n widget(_: Widget): this;\n widget(_?: Widget): Widget | this {\n if (!arguments.length) return this._widget;\n if (this._widget !== _) {\n if (this._widget) {\n this._widget.target(null);\n }\n this._widget = _;\n if (this._widget) {\n this._widget.target(this._div.node());\n }\n }\n return this;\n }\n\n resize(size: { width: number, height: number }) {\n if (this._widget) {\n this._div\n .style(\"width\", `${size.width}px`)\n .style(\"height\", `${size.height}px`)\n ;\n this._widget.resize(size);\n }\n return this;\n }\n\n async render(getBBox?, availableHeight?: number, availableWidth?: number): Promise<BBox | undefined> {\n let overflowX = this.overflowX();\n if(!this.overlay() && overflowX === \"visible\") {\n overflowX = null;\n }\n let overflowY = this.overflowY();\n if(!this.overlay() && overflowY === \"visible\") {\n overflowY = null;\n }\n this._div\n .style(\"height\", this.overlay() ? \"0px\" : null)\n .style(\"overflow-x\", overflowX)\n .style(\"overflow-y\", overflowY)\n ;\n if (this._widget) {\n return this._widget.renderPromise().then(w => {\n if (getBBox && this._widget.visible()) {\n const retVal = this._widget.getBBox();\n retVal.width += 8;\n if (availableHeight !== undefined && retVal.height > availableHeight) {\n retVal.width += Platform.getScrollbarWidth();\n }\n if (availableWidth !== undefined && retVal.width > availableWidth) {\n retVal.height += Platform.getScrollbarWidth();\n }\n if (this.overlay()) {\n retVal.height = 0;\n } else {\n retVal.height += 4;\n }\n return retVal;\n }\n return getBBox ? { x: 0, y: 0, width: 0, height: 0 } : undefined;\n });\n } else {\n return Promise.resolve(getBBox ? { x: 0, y: 0, width: 0, height: 0 } : undefined);\n }\n }\n}\n\nexport class Border2 extends HTMLWidget {\n\n protected _bodyElement;\n\n protected _topWA: WidgetDiv;\n protected _leftWA: WidgetDiv;\n protected _centerWA: WidgetDiv;\n protected _rightWA: WidgetDiv;\n protected _bottomWA: WidgetDiv;\n protected _topPrevOverflow: OverflowT;\n protected _leftPrevOverflow: OverflowT;\n protected _rightPrevOverflow: OverflowT;\n protected _bottomPrevOverflow: OverflowT;\n\n constructor() {\n super();\n this._tag = \"div\";\n }\n\n enter(domNode, element) {\n super.enter(domNode, element);\n \n const topElement = element.append(\"header\");\n\n this._bodyElement = element.append(\"div\").attr(\"class\", \"body\");\n const centerElement = this._bodyElement.append(\"div\").attr(\"class\", \"center\");\n const leftElement = this._bodyElement.append(\"div\").attr(\"class\", \"lhs\");\n const rightElement = this._bodyElement.append(\"div\").attr(\"class\", \"rhs\");\n\n const bottomElement = element.append(\"div\").attr(\"class\", \"footer\");\n\n this._topWA = new WidgetDiv(topElement);\n this._centerWA = new WidgetDiv(centerElement);\n this._leftWA = new WidgetDiv(leftElement);\n this._rightWA = new WidgetDiv(rightElement);\n this._bottomWA = new WidgetDiv(bottomElement);\n }\n\n update(domNode, element) {\n super.update(domNode, element);\n this._topWA.element().style(\"display\", this.showTop() ? null : \"none\");\n this._rightWA.element().style(\"display\", this.showRight() ? null : \"none\");\n this._bottomWA.element().style(\"display\", this.showBottom() ? null : \"none\");\n this._leftWA.element().style(\"display\", this.showLeft() ? null : \"none\");\n if(this.topOverflowX() !== this._topWA.overflowX()) {\n this._topWA.overflowX(this.topOverflowX());\n }\n if(this.rightOverflowX() !== this._rightWA.overflowX()) {\n this._rightWA.overflowX(this.rightOverflowX());\n }\n if(this.bottomOverflowX() !== this._bottomWA.overflowX()) {\n this._bottomWA.overflowX(this.bottomOverflowX());\n }\n if(this.leftOverflowX() !== this._leftWA.overflowX()) {\n this._leftWA.overflowX(this.leftOverflowX());\n }\n if(this.topOverflowY() !== this._topWA.overflowY()) {\n this._topWA.overflowY(this.topOverflowY());\n }\n if(this.rightOverflowY() !== this._rightWA.overflowY()) {\n this._rightWA.overflowY(this.rightOverflowY());\n }\n if(this.bottomOverflowY() !== this._bottomWA.overflowY()) {\n this._bottomWA.overflowY(this.bottomOverflowY());\n }\n if(this.leftOverflowY() !== this._leftWA.overflowY()) {\n this._leftWA.overflowY(this.leftOverflowY());\n }\n this.element()\n .style(\"width\", `${this.width()}px`)\n .style(\"height\", `${this.height()}px`)\n ;\n }\n\n private targetNull(w?: Widget) {\n if (w) {\n w.target(null);\n }\n }\n\n exit(domNode, element) {\n this.targetNull(this.center());\n this.targetNull(this.bottom());\n this.targetNull(this.right());\n this.targetNull(this.left());\n this.targetNull(this.top());\n super.exit(domNode, element);\n }\n\n swap(sectionA: ChartPanelSectionT, sectionB: ChartPanelSectionT): this {\n const a = this[sectionA]();\n const b = this[sectionB]();\n this.targetNull(a);\n this.targetNull(b);\n this[`_${sectionA}WA`].widget(null);\n this[`_${sectionB}WA`].widget(null);\n this[sectionA](b);\n this[sectionB](a);\n return this;\n }\n\n render(callback?: (w: Widget) => void): this {\n const retVal = super.render(w => {\n if (this._topWA) {\n this._topWA\n .widget(this.top())\n .overlay(this.topOverlay())\n .render(true).then(async topBBox => {\n const bottomBBox: BBox = await this._bottomWA.widget(this.bottom()).render(true, undefined, this.width()) as BBox;\n const availableHeight = this.height() - (topBBox.height + bottomBBox.height);\n const leftBBox: BBox = await this._leftWA.widget(this.left()).render(true, availableHeight) as BBox;\n const rightBBox: BBox = await this._rightWA.widget(this.right()).render(true, availableHeight) as BBox;\n \n if (this.bottomHeight_exists()) {\n bottomBBox.height = this.bottomHeight();\n }\n const bodyWidth = this.width() - (leftBBox.width + rightBBox.width);\n const bodyHeight = this.height() - (topBBox.height + bottomBBox.height);\n \n const centerOverflowX = this.centerOverflowX();\n const centerOverflowY = this.centerOverflowY();\n\n const scrollCenterX = [\"auto\", \"scroll\"].indexOf(centerOverflowX) !== -1;\n const scrollCenterY = [\"auto\", \"scroll\"].indexOf(centerOverflowY) !== -1;\n if(scrollCenterX || scrollCenterY) {\n this._centerWA\n .overflowX(this.centerOverflowX())\n .overflowY(this.centerOverflowY())\n .widget(this.center())\n .resize({\n width: bodyWidth,\n height: bodyHeight\n })\n .render()\n ;\n }\n this._bodyElement.style(\"height\", `${bodyHeight}px`);\n const promises = [\n this._topWA\n .overflowX(this.topOverflowX())\n .overflowY(this.topOverflowY())\n .resize({\n width: this.width(),\n height: topBBox.height\n })\n .render(),\n this._leftWA\n .overflowX(this.leftOverflowX())\n .overflowY(this.leftOverflowY())\n .resize({\n width: leftBBox.width,\n height: bodyHeight\n })\n .render(),\n this._rightWA\n .overflowX(this.rightOverflowX())\n .overflowY(this.rightOverflowY())\n .resize({\n width: rightBBox.width,\n height: bodyHeight\n })\n .render(),\n this._centerWA\n .overflowX(this.centerOverflowX())\n .overflowY(this.centerOverflowY())\n .widget(this.center())\n .resize({\n width: bodyWidth,\n height: bodyHeight\n })\n .render(),\n this._bottomWA\n .overflowX(this.bottomOverflowX())\n .overflowY(this.bottomOverflowY())\n .resize({\n width: this.width(),\n height: bottomBBox.height\n })\n .render()\n ];\n Promise.all(promises).then(promises => {\n if (callback) {\n callback(this);\n }\n });\n })\n ;\n } else {\n if (callback) {\n callback(this);\n }\n }\n });\n return retVal;\n }\n}\nBorder2.prototype._class += \" layout_Border2\";\n\nexport interface Border2 {\n top(): Widget;\n top(_: Widget): this;\n topOverlay(): boolean;\n topOverlay(_: boolean): this;\n left(): Widget;\n left(_: Widget): this;\n center(): Widget;\n center(_: Widget): this;\n right(): Widget;\n right(_: Widget): this;\n bottom(): Widget;\n bottom(_: Widget): this;\n bottomHeight(): number;\n bottomHeight(_: number): this;\n bottomHeight_exists(): boolean;\n topOverflowX(): OverflowT;\n topOverflowX(_: OverflowT): this;\n rightOverflowX(): OverflowT;\n rightOverflowX(_: OverflowT): this;\n bottomOverflowX(): OverflowT;\n bottomOverflowX(_: OverflowT): this;\n leftOverflowX(): OverflowT;\n leftOverflowX(_: OverflowT): this;\n centerOverflowX(): OverflowT;\n centerOverflowX(_: OverflowT): this;\n topOverflowY(): OverflowT;\n topOverflowY(_: OverflowT): this;\n rightOverflowY(): OverflowT;\n rightOverflowY(_: OverflowT): this;\n bottomOverflowY(): OverflowT;\n bottomOverflowY(_: OverflowT): this;\n leftOverflowY(): OverflowT;\n leftOverflowY(_: OverflowT): this;\n centerOverflowY(): OverflowT;\n centerOverflowY(_: OverflowT): this;\n showTop(): boolean;\n showTop(_: boolean): this;\n showRight(): boolean;\n showRight(_: boolean): this;\n showBottom(): boolean;\n showBottom(_: boolean): this;\n showLeft(): boolean;\n showLeft(_: boolean): this;\n topOverflowX_default(_: OverflowT);\n rightOverflowX_default(_: OverflowT);\n bottomOverflowX_default(_: OverflowT);\n leftOverflowX_default(_: OverflowT);\n centerOverflowX_default(_: OverflowT);\n topOverflowY_default(_: OverflowT);\n rightOverflowY_default(_: OverflowT);\n bottomOverflowY_default(_: OverflowT);\n leftOverflowY_default(_: OverflowT);\n centerOverflowY_default(_: OverflowT);\n}\nBorder2.prototype.publish(\"showTop\", true, \"boolean\", \"If true, top widget adapter will display\");\nBorder2.prototype.publish(\"showRight\", true, \"boolean\", \"If true, right widget adapter will display\");\nBorder2.prototype.publish(\"showBottom\", true, \"boolean\", \"If true, bottom widget adapter will display\");\nBorder2.prototype.publish(\"showLeft\", true, \"boolean\", \"If true, left widget adapter will display\");\nBorder2.prototype.publish(\"topOverflowX\", \"visible\", \"set\", \"Sets the overflow-x css style for the top widget adapter\", [\"hidden\", \"scroll\", \"visible\", \"auto\"]);\nBorder2.prototype.publish(\"rightOverflowX\", \"visible\", \"set\", \"Sets the overflow-x css style for the right widget adapter\", [\"hidden\", \"scroll\", \"visible\", \"auto\"]);\nBorder2.prototype.publish(\"bottomOverflowX\", \"visible\", \"set\", \"Sets the overflow-x css style for the bottom widget adapter\", [\"hidden\", \"scroll\", \"visible\", \"auto\"]);\nBorder2.prototype.publish(\"leftOverflowX\", \"visible\", \"set\", \"Sets the overflow-x css style for the left widget adapter\", [\"hidden\", \"scroll\", \"visible\", \"auto\"]);\nBorder2.prototype.publish(\"centerOverflowX\", \"visible\", \"set\", \"Sets the overflow-x css style for the center widget adapter\", [\"hidden\", \"scroll\", \"visible\", \"auto\"]);\nBorder2.prototype.publish(\"topOverflowY\", \"visible\", \"set\", \"Sets the overflow-y css style for the top widget adapter\", [\"hidden\", \"scroll\", \"visible\", \"auto\"]);\nBorder2.prototype.publish(\"rightOverflowY\", \"visible\", \"set\", \"Sets the overflow-y css style for the right widget adapter\", [\"hidden\", \"scroll\", \"visible\", \"auto\"]);\nBorder2.prototype.publish(\"bottomOverflowY\", \"visible\", \"set\", \"Sets the overflow-y css style for the bottom widget adapter\", [\"hidden\", \"scroll\", \"visible\", \"auto\"]);\nBorder2.prototype.publish(\"leftOverflowY\", \"visible\", \"set\", \"Sets the overflow-y css style for the left widget adapter\", [\"hidden\", \"scroll\", \"visible\", \"auto\"]);\nBorder2.prototype.publish(\"centerOverflowY\", \"visible\", \"set\", \"Sets the overflow-y css style for the center widget adapter\", [\"hidden\", \"scroll\", \"visible\", \"auto\"]);\nBorder2.prototype.publish(\"top\", null, \"widget\", \"Top Widget\", undefined, { render: false });\nBorder2.prototype.publish(\"topOverlay\", false, \"boolean\", \"Overlay Top Widget\");\nBorder2.prototype.publish(\"left\", null, \"widget\", \"Left Widget\", undefined, { render: false });\nBorder2.prototype.publish(\"center\", null, \"widget\", \"Center Widget\", undefined, { render: false });\nBorder2.prototype.publish(\"right\", null, \"widget\", \"Right Widget\", undefined, { render: false });\nBorder2.prototype.publish(\"bottom\", null, \"widget\", \"Bottom Widget\", undefined, { render: false });\nBorder2.prototype.publish(\"bottomHeight\", null, \"number\", \"Bottom Fixed Height\", undefined, { optional: true });\n", "(function(){\n if (!document.getElementById('23362289')) {\n var e = document.createElement('style');\n e.id = '23362289';\n e.textContent = `.layout_Border2 {\n display: flex;\n flex-direction: column;\n}\n.layout_Border2 > .body {\n margin: 0;\n padding: 0;\n display: flex;\n flex-flow: row;\n}\n\n.layout_Border2 > .body > .center {\n flex: 1;\n}\n\n.layout_Border2 > .header {\n display: block;\n}\n\n.layout_Border2 > .footer {\n display: block;\n}\n`;\n document.head.appendChild(e);\n }\n })();", "import { HTMLWidget, Widget } from \"@hpcc-js/common\";\nimport { select as d3Select } from \"d3-selection\";\nimport \"d3-transition\";\n\nimport \"../src/Carousel.css\";\n\nexport class Carousel extends HTMLWidget {\n\n protected _prevActive: number = 0;\n protected _root;\n\n activeWidget(): Widget {\n return this.widgets()[this.active()];\n }\n\n enter(domNode, element) {\n super.enter(domNode, element);\n this._root = element.append(\"div\")\n .attr(\"id\", `${this.id()}_root`)\n ;\n }\n\n update(domNode, element) {\n super.update(domNode, element);\n const active = this.active();\n const width = this.width();\n this._root\n .style(\"width\", `${width}px`)\n .style(\"height\", `${this.height()}px`)\n ;\n const widgetElements = this._root.selectAll(`#${this.id()}_root > .carouselItem`).data(this.widgets(), d => d.id());\n const update = widgetElements.enter().append(\"div\")\n .attr(\"class\", \"carouselItem\")\n .each(function (w) {\n w.target(this);\n })\n .merge(widgetElements)\n .style(\"left\", (d, i) => `${(i - this._prevActive) * width}px`)\n .style(\"width\", `${width}px`)\n ;\n if (this._prevActive !== active) {\n update\n .style(\"display\", (d, i) => i === this._prevActive || i === active ? null : \"none\") // Must be called before render callback (not inside transition)\n .transition().duration(this.transitionDuration())\n .style(\"left\", (d, i) => `${(i - active) * width}px`)\n .on(\"end\", function (d, i) {\n d3Select(this).style(\"display\", () => i === active ? null : \"none\");\n })\n ;\n this._prevActive = active;\n }\n widgetElements.exit()\n .each(function (w) {\n w.target(null);\n })\n .remove()\n ;\n }\n\n exit(domNode, element) {\n this.widgets().forEach(w => w.target(null));\n super.exit(domNode, element);\n }\n\n render(callback): this {\n return super.render(w => {\n if (!this.visible() || this.isDOMHidden()) {\n if (callback) {\n callback(w);\n }\n } else {\n const aw = this.activeWidget();\n if (aw) {\n aw\n .resize(this.size())\n .render(w2 => {\n if (callback) {\n callback(w);\n }\n })\n ;\n }\n }\n });\n }\n}\nCarousel.prototype._class += \" layout_Carousel\";\n\nexport interface Carousel {\n widgets(): Widget[];\n widgets(_: Widget[]): this;\n active(): number;\n active(_: number): this;\n transitionDuration(): Widget[];\n transitionDuration(_: Widget[]): this;\n}\n\nCarousel.prototype.publish(\"widgets\", [], \"widgetArray\", \"Widgets\", null, { render: false });\nCarousel.prototype.publish(\"active\", 0, \"number\", \"Active widget\");\nCarousel.prototype.publish(\"transitionDuration\", 500, \"number\", \"Transition duration\");\n", "(function(){\n if (!document.getElementById('17c1eb84')) {\n var e = document.createElement('style');\n e.id = '17c1eb84';\n e.textContent = `.layout_Carousel > div {\n position: relative;\n overflow: hidden;\n}\n\n.layout_Carousel > div > .carouselItem {\n position: absolute;\n}`;\n document.head.appendChild(e);\n }\n })();", "import { IHighlight } from \"@hpcc-js/api\";\nimport { Button, Database, IconBar, ProgressBar, Spacer, SVGWidget, Text, TitleBar, ToggleButton, Utility, Widget } from \"@hpcc-js/common\";\nimport type { XYAxis } from \"@hpcc-js/chart\";\nimport { Table } from \"@hpcc-js/dgrid2\";\nimport { select as d3Select } from \"d3-selection\";\nimport { Border2 } from \"./Border2.ts\";\nimport { Carousel } from \"./Carousel.ts\";\nimport { Legend } from \"./Legend.ts\";\nimport { Modal } from \"./Modal.ts\";\n\nimport \"../src/ChartPanel.css\";\n\nexport class ChartPanel<T extends Widget = Widget> extends Border2 implements IHighlight {\n\n protected _legend = new Legend(this).enableOverflow(true);\n protected _progressBar = new ProgressBar();\n protected _autoScale = false;\n protected _resolutions = {\n tiny: { width: 100, height: 100 },\n small: { width: 300, height: 300 }\n };\n private _modal = new Modal();\n private _highlight: boolean;\n private _scale: number;\n private _orig_size: any;\n\n private _toggleInfo = new ToggleButton().faChar(\"fa-info-circle\").tooltip(\".Description\")\n .selected(false)\n .on(\"enabled\", () => {\n return this.description() !== \"\";\n })\n .on(\"click\", () => {\n if (this._toggleInfo.selected()) {\n this._modal\n .title(this.title())\n .widget(new Text().text(this.description()))\n .show(true)\n .render()\n ;\n\n const origCloseFunc = this._modal._close;\n this._modal._close = () => {\n this._toggleInfo\n .selected(false)\n .render()\n ;\n this._modal._close = origCloseFunc;\n };\n }\n })\n .on(\"mouseMove\", () => {\n /*\n this._modal.showPreview(true).render(n => {\n n.resize().render();\n });\n */\n })\n .on(\"mouseOut\", () => {\n /*\n if (this._modal.showPreview()) {\n this._modal.show(false).showPreview(false).render();\n }\n */\n });\n\n private _toggleData = new ToggleButton().faChar(\"fa-table\").tooltip(\"Data\")\n .on(\"click\", () => {\n this.dataVisible(this._toggleData.selected());\n this.render();\n });\n\n private _buttonDownload = new Button().faChar(\"fa-download\").tooltip(\"Download\")\n .on(\"click\", () => {\n this.downloadCSV();\n });\n\n private _buttonDownloadImage = new Button().faChar(\"fa-image\").tooltip(\"Download Image\")\n .on(\"click\", () => {\n this.downloadPNG();\n });\n\n private _toggleLegend = new ToggleButton().faChar(\"fa-list-ul\").tooltip(\"Legend\")\n .selected(false)\n .on(\"click\", () => {\n const selected = this._toggleLegend.selected();\n if (this.legendPosition() === \"bottom\") {\n this.showBottom(selected);\n } else if (this.legendPosition() === \"right\") {\n this.showRight(selected);\n }\n this.legendVisible(selected);\n this.render();\n });\n\n protected _spacer = new Spacer();\n\n _titleBar = new TitleBar().buttons([this._toggleData, this._buttonDownload, this._buttonDownloadImage, this._spacer, this._toggleLegend]);\n\n protected _carousel = new Carousel();\n protected _table = new Table();\n protected _widget: T;\n\n protected _hideLegendToggleList = [\"dgrid_Table\"];\n\n constructor() {\n super();\n this._tag = \"div\";\n }\n\n fields(): Database.Field[];\n fields(_: Database.Field[]): this;\n fields(_?: Database.Field[]): this | Database.Field[] {\n if (!arguments.length) return super.fields();\n super.fields(_);\n this._legend.fields(_);\n this.refreshFields();\n return this;\n }\n refreshFields() {\n this._widget.fields(this._legend.filteredFields());\n this._table.fields(this._legend.filteredFields());\n return this;\n }\n\n columns(): string[];\n columns(_: string[], asDefault?: boolean): this;\n columns(_?: string[], asDefault?: boolean): string[] | this {\n if (!arguments.length) return super.columns();\n super.columns(_, asDefault);\n this._legend.columns(_, asDefault);\n this.refreshColumns();\n return this;\n }\n refreshColumns() {\n this._widget.columns(this._legend.filteredColumns());\n this._table.columns(this._legend.filteredColumns());\n return this;\n }\n\n data(_?) {\n if (!arguments.length) return super.data();\n super.data(_);\n this._legend.data(_);\n this.refreshData();\n return this;\n }\n refreshData() {\n this._widget.data(this._legend.filteredData());\n this._table.data(this._legend.filteredData());\n return this;\n }\n\n highlight(): boolean;\n highlight(_: boolean): this;\n highlight(_?: boolean): boolean | this {\n if (!arguments.length) return this._highlight;\n this._highlight = _;\n return this;\n }\n\n startProgress() {\n this._progressBar.start();\n }\n\n finishProgress() {\n this._progressBar.finish();\n }\n\n buttons(): Widget[];\n buttons(_: Widget[]): this;\n buttons(_?: Widget[]): this | Widget[] {\n if (!arguments.length) return this._titleBar.buttons();\n this._titleBar.buttons(_);\n return this;\n }\n\n downloadCSV() {\n const namePrefix = this.downloadTitle() ? this.downloadTitle() : this.title() ? this.title() : \"data\";\n const nameSuffix = this.downloadTimestampSuffix() ? \"_\" + Utility.timestamp() : \"\";\n Utility.downloadString(\"CSV\", this._widget.export(\"CSV\"), namePrefix + nameSuffix);\n return this;\n }\n\n downloadPNG() {\n const widget = this.widget();\n if (widget instanceof SVGWidget) {\n if (!this.legendVisible()) {\n widget.downloadPNG(this.title());\n } else {\n widget.downloadPNG(this.title(), undefined, this._legend);\n }\n }\n return this;\n }\n\n highlightColumn(column?: string): this {\n if (column) {\n const cssTag = `series-${this.cssTag(column)}`;\n this._centerWA.element().selectAll(\".series\")\n .each(function () {\n const element = d3Select(this);\n const highlight = element.classed(cssTag);\n element\n .classed(\"highlight\", highlight)\n .classed(\"lowlight\", !highlight)\n ;\n })\n ;\n } else {\n this._centerWA.element().selectAll(\".series\")\n .classed(\"highlight\", false)\n .classed(\"lowlight\", false)\n ;\n }\n return this;\n }\n\n getResponsiveMode(): \"tiny\" | \"small\" | \"regular\" | \"none\" {\n if (!this.enableAutoscaling()) return \"none\";\n if (!this._autoScale) return \"regular\";\n if (this.size().width <= this._resolutions.tiny.width || this.size().height <= this._resolutions.tiny.height) {\n return \"tiny\";\n } else if (this.size().width <= this._resolutions.small.width || this.size().height <= this._resolutions.small.height) {\n return \"small\";\n }\n return \"regular\";\n }\n\n setOrigSize() {\n this._orig_size = JSON.parse(JSON.stringify(this.size()));\n }\n\n enter(domNode, element) {\n super.enter(domNode, element);\n this._modal\n .target(this.target())\n .relativeTargetId(this.id())\n ;\n\n this.top(this._titleBar);\n this.center(this._carousel);\n\n this._legend\n .targetWidget(this._widget)\n .orientation(\"vertical\")\n .title(\"\")\n .visible(false)\n ;\n\n this._progressBar.enter(domNode, element);\n this.setOrigSize();\n }\n\n preUpdateTiny(element) {\n element.selectAll(\"div.body,div.title-text,div.icon-bar\").style(\"display\", \"none\");\n }\n\n preUpdateSmall(element) {\n const scale_x = this._orig_size.width / this._resolutions.small.width;\n const scale_y = this._orig_size.height / this._resolutions.small.height;\n this._scale = Math.min(scale_x, scale_y);\n const x_is_smaller = this._scale === scale_x;\n this.size({\n width: x_is_smaller ? this._resolutions.small.width : this._orig_size.width * (1 / this._scale),\n height: !x_is_smaller ? this._resolutions.small.height : this._orig_size.height * (1 / this._scale)\n });\n element.select(\"div.title-icon\").style(\"position\", \"static\");\n element.selectAll(\"lhs\").style(\"display\", \"none\");\n element.selectAll(\"div.body,div.title-text,div.icon-bar\").style(\"display\", \"\");\n element.selectAll(\"div.data-count\").style(\"visibility\", \"hidden\");\n element.style(\"transform\", `scale(${this._scale})`);\n }\n\n preUpdateRegular(element) {\n element.selectAll(\"div.body,div.title-text,div.icon-bar\").style(\"display\", \"\");\n element.selectAll(\"div.data-count\").style(\"visibility\", \"hidden\");\n element.select(\"div.title-icon\").style(\"position\", \"static\");\n element.style(\"transform\", \"translate(0px,0px) scale(1)\");\n }\n\n private _prevdataVisible;\n private _prevlegendVisible;\n private _prevLegendPosition;\n private _prevChartDataFamily;\n private _prevChart;\n private _prevButtons;\n update(domNode, element) {\n super.update(domNode, element);\n if (this._table && this.widget_exists() && this.widget().class().indexOf(\"chart_XYAxis\") >= 0) {\n const chart = this.widget() as unknown as XYAxis;\n this._table.columns().forEach((column, idx) => {\n switch (idx === 0 ? chart.xAxisType() : chart.yAxisType()) {\n case \"linear\":\n case \"log\":\n case \"pow\":\n this._table.columnType(column, \"number\");\n break;\n case \"time\":\n this._table.columnType(column, \"time\");\n break;\n case \"ordinal\":\n default:\n this._table.columnType(column, \"string\");\n }\n this._table.columnPattern(column, idx === 0 ? chart.xAxisTypeTimePattern() : chart.yAxisTypeTimePattern());\n this._table.columnFormat(column, idx === 0 ? chart.xAxisTickFormat() : chart.yAxisTickFormat());\n });\n }\n }\n\n preUpdate(domNode, element) {\n\n super.preUpdate(domNode, element);\n\n if (this._prevLegendPosition !== this.legendPosition()) {\n if (this._legend.target() !== null) this._legend.target(null);\n if (this._prevLegendPosition !== undefined) {\n this.swap(this._prevLegendPosition, this.legendPosition());\n } else {\n this[this.legendPosition()](this._legend);\n }\n if (this.legendPosition() === \"right\") {\n this.rightOverflowX(\"hidden\");\n this.rightOverflowY(\"auto\");\n this.bottomOverflowX(\"visible\");\n this.bottomOverflowY(\"visible\");\n } else {\n this.rightOverflowX(\"visible\");\n this.rightOverflowY(\"visible\");\n this.bottomOverflowX(\"auto\");\n this.bottomOverflowY(\"hidden\");\n }\n this._prevLegendPosition = this.legendPosition();\n }\n\n if (this._prevdataVisible !== this.dataVisible()) {\n this._prevdataVisible = this.dataVisible();\n this._toggleData.selected(this._prevdataVisible);\n this._legend.visible(this._prevlegendVisible && !this._prevdataVisible);\n this._carousel.active(this._prevdataVisible ? 1 : 0);\n }\n\n if (this._prevlegendVisible !== this.legendVisible()) {\n this._prevlegendVisible = this.legendVisible();\n this._toggleLegend.selected(this._prevlegendVisible);\n this._legend.visible(this._prevlegendVisible && !this._prevdataVisible);\n }\n\n this._legend.orientation(this.legendPosition() === \"bottom\" ? \"horizontal\" : \"vertical\");\n\n this.showLeft(!this.left());\n\n switch (this.getResponsiveMode()) {\n case \"tiny\":\n this.preUpdateTiny(element);\n break;\n case \"small\":\n this.preUpdateSmall(element);\n break;\n case \"regular\":\n this.preUpdateRegular(element);\n break;\n }\n\n const chart = this._widget.classID() === \"composite_MultiChart\" ? this._widget[\"chart\"]() : this._widget;\n this._legend.dataFamily(chart._dataFamily || \"any\");\n\n if (this._prevChartDataFamily !== this._legend.dataFamily()) {\n this._prevChartDataFamily = this._legend.dataFamily();\n switch (this._prevChartDataFamily) {\n case \"any\":\n this._toggleLegend.selected(false);\n this._legend.visible(false);\n break;\n }\n }\n element.style(\"box-shadow\", this.highlight() ? `inset 0px 0px 0px ${this.highlightSize()}px ${this.highlightColor()}` : \"none\");\n\n if (this._hideLegendToggleList.indexOf(chart.classID()) !== -1) {\n this._spacer.visible(false);\n this._toggleLegend.visible(false);\n } else {\n this._spacer.visible(true);\n this._toggleLegend.visible(true);\n }\n if (this._prevChart !== chart) {\n this._prevChart = chart;\n const widgetIconBar = chart ? chart[\"_titleBar\"] || chart[\"_iconBar\"] : undefined;\n if (widgetIconBar && widgetIconBar instanceof IconBar) {\n this._prevButtons = this._prevButtons || [...this.buttons()];\n const buttons: Widget[] = [\n ...widgetIconBar.buttons(),\n new Spacer(),\n ...this._prevButtons\n ];\n widgetIconBar.buttons([]).render();\n this.buttons(buttons);\n } else if (this._prevButtons) {\n this.buttons(this._prevButtons);\n }\n }\n\n const hiddenButtons = [];\n if (!this.dataButtonVisible()) hiddenButtons.push(this._toggleData);\n if (!this.downloadButtonVisible()) hiddenButtons.push(this._buttonDownload);\n if (!this.downloadImageButtonVisible()) hiddenButtons.push(this._buttonDownloadImage);\n if (!this.legendButtonVisible()) hiddenButtons.push(this._toggleLegend);\n this._buttonDownloadImage.enabled(this.widget() instanceof SVGWidget);\n this._titleBar\n .hiddenButtons(hiddenButtons)\n .visible(this.titleVisible())\n ;\n this.topOverlay(this.titleOverlay() || !this.titleVisible());\n }\n\n postUpdate(domNode, element) {\n super.postUpdate(domNode, element);\n\n switch (this.getResponsiveMode()) {\n case \"tiny\":\n this.postUpdateTiny(element);\n break;\n case \"small\":\n this.postUpdateSmall(element);\n break;\n case \"regular\":\n this.postUpdateRegular(element);\n break;\n }\n }\n\n postUpdateTiny(element) {\n element.selectAll(\"div.body,div.title-text,div.icon-bar\").style(\"display\", \"none\");\n element.selectAll(\"div.data-count\")\n .style(\"visibility\", \"visible\")\n .style(\"font-size\", (this.titleIconFontSize() / 3) + \"px\")\n .style(\"line-height\", (this.titleIconFontSize() / 3) + \"px\")\n .style(\"left\", this.titleIconFontSize() + \"px\")\n .text(this.data().length)\n ;\n element.style(\"transform\", \"translate(0px,0px) scale(1)\");\n const iconDiv = element.selectAll(\"div.title-icon\");\n const _node = iconDiv.node();\n const _container = element.node().parentElement;\n const containerRect = _container.getBoundingClientRect();\n if (_node) {\n const rect = iconDiv.node().getBoundingClientRect();\n const icon_top = containerRect.height / 2;\n iconDiv\n .style(\"position\", \"absolute\")\n .style(\"left\", `calc(50% - ${rect.width / 2}px)`)\n .style(\"top\", `${icon_top - (rect.height / 2)}px`)\n ;\n element.selectAll(\"div.data-count\")\n .style(\"position\", \"absolute\")\n .style(\"left\", `calc(50% + ${rect.width / 2}px)`)\n .style(\"top\", `${icon_top - (rect.height / 2)}px`)\n ;\n }\n }\n\n postUpdateSmall(element) {\n element.selectAll(\"lhs\").style(\"display\", \"none\"); // TODO: a bug in Border2?\n element.selectAll(\"div.title-icon\").style(\"position\", \"static\");\n element.selectAll(\"div.body,div.title-text,div.icon-bar\").style(\"display\", \"\");\n element.selectAll(\"div.data-count\").style(\"visibility\", \"hidden\");\n const rect = element.node().getBoundingClientRect();\n const parentRect = element.node().parentElement.getBoundingClientRect();\n element.style(\"transform\", `translate(${parentRect.x - rect.x}px, ${parentRect.y - rect.y}px) scale(${this._scale})`);\n }\n\n postUpdateRegular(element) {\n element.selectAll(\"div.title-icon\").style(\"position\", \"static\");\n element.selectAll(\"div.body,div.title-text,div.icon-bar\").style(\"display\", \"\");\n element.selectAll(\"div.data-count\").style(\"visibility\", \"hidden\");\n }\n\n exit(domNode, element) {\n this._progressBar.exit(domNode, element);\n\n this.right(null);\n this._legend.target(null);\n this.center(null);\n this._carousel.target(null);\n this.top(null);\n this._titleBar.target(null);\n\n this._modal.target(null);\n\n delete this._prevChart;\n delete this._prevButtons;\n delete this._prevChartDataFamily;\n delete this._prevPos;\n delete this._prevdataVisible;\n delete this._prevlegendVisible;\n\n super.exit(domNode, element);\n }\n\n // Event Handlers ---\n // Events ---\n click(row, column, selected) {\n // console.log(\"Click: \" + JSON.stringify(row) + \", \" + column + \", \" + selected);\n }\n\n dblclick(row, column, selected) {\n // console.log(\"Double click: \" + JSON.stringify(row) + \", \" + column + \", \" + selected);\n }\n\n vertex_click(row, col, sel, more) {\n if (more && more.vertex) {\n // console.log(\"Vertex click: \" + more.vertex.id());\n }\n }\n\n vertex_dblclick(row, col, sel, more) {\n if (more && more.vertex) {\n // console.log(\"Vertex double click: \" + more.vertex.id());\n }\n }\n\n edge_click(row, col, sel, more) {\n if (more && more.edge) {\n // console.log(\"Edge click: \" + more.edge.id());\n }\n }\n\n edge_dblclick(row, col, sel, more) {\n if (more && more.edge) {\n // console.log(\"Edge double click: \" + more.edge.id());\n }\n }\n}\nChartPanel.prototype._class += \" layout_ChartPanel\";\n\nexport interface ChartPanel<T extends Widget = Widget> {\n title(): string;\n title(_: string): this;\n titleVisible(): boolean;\n titleVisible(_: boolean): this;\n titleOverlay(): boolean;\n titleOverlay(_: boolean): this;\n title_exists(): boolean;\n titleFontSize(): number;\n titleFontSize(_: number): this;\n titleFontSize_exists(): boolean;\n titleIconFontSize(): number;\n titleIconFontSize(_: number): this;\n titleIconFontSize_exists(): boolean;\n dataVisible(): boolean;\n dataVisible(_: boolean): this;\n dataButtonVisible(): boolean;\n dataButtonVisible(_: boolean): this;\n downloadButtonVisible(): boolean;\n downloadButtonVisible(_: boolean): this;\n downloadImageButtonVisible(): boolean;\n downloadImageButtonVisible(_: boolean): this;\n downloadTitle(): string;\n downloadTitle(_: string): this;\n downloadTimestampSuffix(): boolean;\n downloadTimestampSuffix(_: boolean): this;\n legendVisible(): boolean;\n legendVisible(_: boolean): this;\n legendButtonVisible(): boolean;\n legendButtonVisible(_: boolean): this;\n legendPosition(): \"right\" | \"bottom\";\n legendPosition(_: \"right\" | \"bottom\"): this;\n description(): string;\n description(_: string): this;\n description_exists(): boolean;\n widget(): T;\n widget(_: T): this;\n widget_exists(): boolean;\n enableAutoscaling(): boolean;\n enableAutoscaling(_: boolean): this;\n enableAutoscaling_exists(): boolean;\n highlightSize(): number;\n highlightSize(_: number): this;\n highlightSize_exists(): boolean;\n highlightColor(): string;\n highlightColor(_: string): this;\n highlightColor_exists(): boolean;\n}\n\nChartPanel.prototype.publishReset();\nChartPanel.prototype.publishProxy(\"title\", \"_titleBar\");\nChartPanel.prototype.publish(\"titleVisible\", true, \"boolean\");\nChartPanel.prototype.publish(\"titleOverlay\", false, \"boolean\");\nChartPanel.prototype.publishProxy(\"titleIcon\", \"_titleBar\");\nChartPanel.prototype.publishProxy(\"titleIconFont\", \"_titleBar\");\nChartPanel.prototype.publishProxy(\"titleFont\", \"_titleBar\");\nChartPanel.prototype.publishProxy(\"titleIconFontSize\", \"_titleBar\");\nChartPanel.prototype.publishProxy(\"titleFontSize\", \"_titleBar\");\nChartPanel.prototype.publishProxy(\"description\", \"_titleBar\");\nChartPanel.prototype.publishProxy(\"descriptionFont\", \"_titleBar\");\nChartPanel.prototype.publishProxy(\"descriptionFontSize\", \"_titleBar\");\nChartPanel.prototype.publish(\"dataVisible\", false, \"boolean\", \"Show data table\");\nChartPanel.prototype.publish(\"dataButtonVisible\", true, \"boolean\", \"Show data table button\");\nChartPanel.prototype.publish(\"downloadButtonVisible\", true, \"boolean\", \"Show data download button\");\nChartPanel.prototype.publish(\"downloadImageButtonVisible\", false, \"boolean\", \"Show image download button\");\nChartPanel.prototype.publish(\"downloadTitle\", \"\", \"string\", \"File name when downloaded\");\nChartPanel.prototype.publish(\"downloadTimestampSuffix\", true, \"boolean\", \"Use timestamp as file name suffix\");\nChartPanel.prototype.publish(\"legendVisible\", false, \"boolean\", \"Show legend\");\nChartPanel.prototype.publish(\"legendButtonVisible\", true, \"boolean\", \"Show legend button\");\nChartPanel.prototype.publish(\"legendPosition\", \"right\", \"set\", \"Position of legend\", [\"right\", \"bottom\"]);\nChartPanel.prototype.publishProxy(\"legend_labelMaxWidth\", \"_legend\", \"labelMaxWidth\");\nChartPanel.prototype.publishProxy(\"legend_showSeriesTotal\", \"_legend\", \"showSeriesTotal\");\nChartPanel.prototype.publishProxy(\"legend_showLegendTotal\", \"_legend\", \"showLegendTotal\");\nChartPanel.prototype.publishProxy(\"legend_itemPadding\", \"_legend\", \"itemPadding\");\nChartPanel.prototype.publishProxy(\"legend_shapeRadius\", \"_legend\", \"shapeRadius\");\nChartPanel.prototype.publishProxy(\"legend_symbolType\", \"_legend\", \"symbolType\");\nChartPanel.prototype.publishProxy(\"legend_labelAlign\", \"_legend\", \"labelAlign\");\nChartPanel.prototype.publish(\"widget\", null, \"widget\", \"Widget\", undefined, { render: false });\nChartPanel.prototype.publish(\"enableAutoscaling\", false, \"boolean\");\nChartPanel.prototype.publish(\"highlightSize\", 4, \"number\");\nChartPanel.prototype.publish(\"highlightColor\", \"#e67e22\", \"html-color\");\nChartPanel.prototype.publishProxy(\"progress_halfLife\", \"_progressBar\", \"halfLife\");\nChartPanel.prototype.publishProxy(\"progress_decay\", \"_progressBar\", \"decay\");\nChartPanel.prototype.publishProxy(\"progress_size\", \"_progressBar\", \"size\");\nChartPanel.prototype.publishProxy(\"progress_color\", \"_progressBar\", \"color\");\nChartPanel.prototype.publishProxy(\"progress_blurBar\", \"_progressBar\", \"blurBar\");\nChartPanel.prototype.publishProxy(\"progress_blurSize\", \"_progressBar\", \"blurSize\");\nChartPanel.prototype.publishProxy(\"progress_blurColor\", \"_progressBar\", \"blurColor\");\nChartPanel.prototype.publishProxy(\"progress_blurOpacity\", \"_progressBar\", \"blurOpacity\");\n\nChartPanel.prototype.widget = function (_?) {\n if (!arguments.length) return this._widget;\n this._carousel.widgets([_, this._table]);\n this._widget = _;\n this._widget\n .fields(this._legend.filteredFields())\n .data(this._legend.filteredData())\n ;\n\n const context = this;\n const tmpAny = this._widget as any;\n tmpAny.click = function () {\n context.click.apply(context, arguments);\n };\n tmpAny.dblclick = function () {\n context.dblclick.apply(context, arguments);\n };\n tmpAny.vertex_click = function () {\n context.vertex_click.apply(context, arguments);\n };\n tmpAny.vertex_dblclick = function () {\n context.vertex_dblclick.apply(context, arguments);\n };\n tmpAny.edge_click = function () {\n context.edge_click.apply(context, arguments);\n };\n tmpAny.edge_dblclick = function () {\n context.edge_dblclick.apply(context, arguments);\n };\n return this;\n};\n", "import { instanceOfIHighlight } from \"@hpcc-js/api\";\nimport { Database, Palette, SVGWidget, Widget } from \"@hpcc-js/common\";\nimport { format as d3Format } from \"d3-format\";\nimport { scaleOrdinal as d3ScaleOrdinal } from \"d3-scale\";\nimport {\n symbol as d3Symbol,\n symbolCircle as d3SymbolCircle,\n symbolCross as d3SymbolCross,\n symbolDiamond as d3SymbolDiamond,\n symbolSquare as d3SymbolSquare,\n symbolStar as d3SymbolStar,\n symbolTriangle as d3SymbolTriangle,\n symbolWye as d3SymbolWye\n} from \"d3-shape\";\nimport { legendColor as d3LegendColor } from \"d3-svg-legend\";\nimport { ChartPanel } from \"./ChartPanel.ts\";\n\nexport class Legend extends SVGWidget {\n _owner: ChartPanel;\n _targetWidget: Widget;\n _targetWidgetMonitor;\n _legendOrdinal;\n _disabled: string[] = [];\n\n private _symbolTypeMap = {\n \"circle\": d3SymbolCircle,\n \"cross\": d3SymbolCross,\n \"diamond\": d3SymbolDiamond,\n \"square\": d3SymbolSquare,\n \"star\": d3SymbolStar,\n \"triangle\": d3SymbolTriangle,\n \"wye\": d3SymbolWye\n };\n\n constructor(owner: ChartPanel) {\n super();\n this._owner = owner;\n this._drawStartPos = \"origin\";\n\n const context = this;\n this._legendOrdinal = d3LegendColor()\n .shape(\"path\", d3Symbol().type(d3SymbolCircle).size(150)())\n .shapePadding(10)\n .shapeRadius(10)\n .on(\"cellclick\", function (d) {\n context.onClick(d, this);\n })\n .on(\"cellover\", (d) => {\n context.onOver(d, this);\n })\n .on(\"cellout\", (d) => {\n context.onOut(d, this);\n })\n ;\n }\n\n isDisabled(d: string | Database.Field): boolean {\n if (typeof d === \"undefined\") {\n return false;\n } else if (typeof d === \"string\") {\n return d.indexOf(\"__\") === 0 || this._disabled.indexOf(d) >= 0;\n } else if (d instanceof Database.Field) {\n return d.id().indexOf(\"__\") === 0 || this._disabled.indexOf(d.id()) >= 0;\n }\n return this._disabled.indexOf(d) >= 0;\n }\n\n filteredFields(): Database.Field[] {\n switch (this.dataFamily()) {\n case \"2D\":\n return this.fields();\n case \"ND\":\n return this.fields().filter(d => !this.isDisabled(d));\n }\n return this.fields();\n }\n\n filteredColumns(): string[] {\n switch (this.dataFamily()) {\n case \"2D\":\n return this.columns();\n case \"ND\":\n return this.columns().filter(d => !this.isDisabled(d));\n }\n return this.columns();\n }\n\n filteredData(): any[][] {\n switch (this.dataFamily()) {\n case \"2D\":\n return this.data().filter(row => !this.isDisabled(row[0]));\n case \"ND\":\n const disabledCols: { [key: number]: boolean } = {};\n let anyDisabled: boolean = false;\n this.columns().forEach((col, idx) => {\n const disabled = this.isDisabled(col);\n disabledCols[idx] = disabled;\n if (disabled) {\n anyDisabled = true;\n }\n });\n return !anyDisabled ? this.data() : this.data().map(row => {\n return row.filter((cell, idx) => !disabledCols[idx]);\n });\n }\n return this.data();\n }\n\n isRainbow() {\n const widget = this.getWidget();\n return widget && widget._palette && widget._palette.type() === \"rainbow\";\n }\n\n targetWidget(): Widget;\n targetWidget(_: Widget): this;\n targetWidget(_?: Widget): Widget | this {\n if (!arguments.length) return this._targetWidget;\n this._targetWidget = _;\n if (this._targetWidgetMonitor) {\n this._targetWidgetMonitor.remove();\n delete this._targetWidgetMonitor;\n }\n if (this._targetWidget) {\n const context = this;\n this._targetWidgetMonitor = this._targetWidget.monitor(function (key, newProp, oldProp, source) {\n switch (key) {\n case \"chart\":\n case \"columns\":\n case \"data\":\n case \"paletteID\":\n context.lazyRender();\n break;\n }\n });\n }\n return this;\n }\n\n getWidget() {\n if (this._targetWidget) {\n switch (this._targetWidget.classID()) {\n case \"composite_MultiChart\":\n return (this._targetWidget as any).chart();\n }\n }\n return this._targetWidget;\n }\n\n getPalette(): Palette.OrdinalPaletteFunc | Palette.RainbowPaletteFunc {\n const widget = this.getWidget();\n if (widget && widget._palette) {\n switch (widget._palette.type()) {\n case \"ordinal\":\n return Palette.ordinal(widget._palette.id());\n case \"rainbow\":\n return Palette.rainbow(widget._palette.id());\n }\n }\n return Palette.ordinal(\"default\");\n }\n\n getPaletteType() {\n return this.getPalette().type();\n }\n\n fillColorFunc() {\n const widget = this.getWidget();\n if (widget && widget.fillColor) {\n // Legend will render before the widget, so its possible the widgets palette will not have switched yet...\n if (widget._palette && widget.paletteID && widget._palette.name !== widget.paletteID()) {\n widget._palette = widget._palette.switch(widget.paletteID());\n }\n return (row, col, sel) => {\n return widget.fillColor(row, col, sel);\n };\n }\n const palette = Palette.ordinal(widget && widget.paletteID ? widget.paletteID() || \"default\" : \"default\");\n return (row, col, sel) => {\n return palette(col);\n };\n }\n\n fillColor(row, col, sel) {\n return this.fillColorFunc()(row, col, sel);\n }\n\n protected _g;\n enter(domNode, element) {\n super.enter(domNode, element);\n this._g = element.append(\"g\")\n .attr(\"class\", \"legendOrdinal\")\n ;\n }\n\n calcMetaData() {\n let dataArr = [];\n let total = 0;\n let maxLabelWidth = 0;\n const colLength = this.columns().length;\n\n if (this._targetWidget) {\n const columns = this.columns();\n switch (this.getPaletteType()) {\n case \"ordinal\":\n const fillColor = this.fillColorFunc();\n let val = 0;\n switch (this.dataFamily()) {\n case \"2D\":\n dataArr = this.data().map(function (n, i) {\n val = this.data()[i].slice(1, colLength).reduce((acc, n) => acc + n, 0);\n const disabled = this.isDisabled(n[0]);\n if (!disabled) total += val;\n const label = n[0] + (!disabled && this.showSeriesTotal() ? ` (${val})` : \"\");\n const textSize = this.textSize(label);\n if (maxLabelWidth < textSize.width) maxLabelWidth = textSize.width;\n return [fillColor(n, n[0], false), n[0], label];\n }, this);\n break;\n case \"ND\":\n const widgetColumns = this.columns().filter(col => col.indexOf(\"__\") !== 0);\n dataArr = widgetColumns.filter(function (n, i) { return i > 0; }).map(function (n, i) {\n val = this.data().reduce((acc, n) => acc + n[i + 1], 0);\n const disabled = this.isDisabled(columns[i + 1]);\n const label = n + (!disabled && this.showSeriesTotal() ? ` (${val})` : \"\");\n if (!disabled) total += val;\n const textSize = this.textSize(label);\n if (maxLabelWidth < textSize.width) maxLabelWidth = textSize.width;\n return [fillColor(undefined, n, false), n, label];\n }, this);\n break;\n default:\n const widgetColumns2 = this.columns();\n dataArr = widgetColumns2.map(function (n) {\n return [fillColor(undefined, n, false), n];\n }, this);\n break;\n }\n break;\n case \"rainbow\":\n const palette = this.getPalette() as Palette.RainbowPaletteFunc;\n const format = d3Format(this.rainbowFormat());\n const widget = this.getWidget();\n const steps = this.rainbowBins();\n const weightMin: number = widget._dataMinWeight;\n const weightMax: number = widget._dataMaxWeight;\n const stepWeightDiff = (weightMax - weightMin) / (steps - 1);\n dataArr.push([palette(weightMin, weightMin, weightMax), format(weightMin)]);\n for (let x = 1; x < steps - 1; ++x) {\n let mid = stepWeightDiff * x;\n if (Math.floor(mid) > parseInt(dataArr[0][1])) {\n mid = Math.floor(mid);\n }\n dataArr.push([palette(mid, weightMin, weightMax), format(mid)]);\n }\n dataArr.push([palette(weightMax, weightMin, weightMax), format(weightMax)]);\n break;\n }\n }\n return {\n dataArr,\n total,\n maxLabelWidth\n };\n }\n\n update(domNode, element) {\n super.update(domNode, element);\n\n const { dataArr, maxLabelWidth, total } = this.calcMetaData();\n\n const radius = this.shapeRadius();\n const size = this.radiusToSymbolSize(radius);\n\n const strokeWidth = 1;\n\n let shapePadding = this.itemPadding();// + strokeWidth;\n if (this.orientation() === \"horizontal\") {\n shapePadding += maxLabelWidth - (radius * 2);\n }\n\n const ordinal = d3ScaleOrdinal()\n .domain(dataArr.map(row => row[1]))\n .range(dataArr.map(row => row[0]));\n this._legendOrdinal\n .shape(\"path\", d3Symbol().type(this._symbolTypeMap[this.symbolType()]).size(size)())\n .orient(this.orientation())\n .title(this.title())\n .labelWrap(this.labelMaxWidth())\n .labelAlign(this.labelAlign())\n .shapePadding(shapePadding)\n .scale(ordinal)\n .labels(d => dataArr[d.i][2])\n ;\n\n this._g.call(this._legendOrdinal);\n\n this.updateDisabled(element, dataArr);\n\n const legendCellsBbox = this._g.select(\".legendCells\").node().getBBox();\n let offsetX = Math.abs(legendCellsBbox.x);\n let offsetY = Math.abs(legendCellsBbox.y) + strokeWidth;\n\n if (this.orientation() === \"horizontal\") {\n if (this.labelAlign() === \"start\") {\n offsetX += strokeWidth;\n } else if (this.labelAlign() === \"end\") {\n offsetX -= strokeWidth;\n }\n if (this.width() > legendCellsBbox.width) {\n const extraWidth = this.width() - legendCellsBbox.width;\n offsetX += (extraWidth / 2);\n }\n } else if (this.orientation() === \"vertical\") {\n offsetX += strokeWidth;\n if (this._containerSize.height > legendCellsBbox.height) {\n const extraHeight = this.height() - legendCellsBbox.height;\n offsetY += (extraHeight / 2);\n }\n }\n\n this._g.attr(\"transform\", `translate(${offsetX}, ${offsetY})`);\n this.pos({\n x: 0,\n y: 0\n });\n this._legendOrdinal\n .labelOffset(this.itemPadding())\n ;\n const legendTotal = this._g.selectAll(\".legendTotal\").data(dataArr.length && this.showLegendTotal() ? [total] : []);\n const totalText = `Total: ${total}`;\n const totalOffsetX = -offsetX;\n const totalOffsetY = legendCellsBbox.height + this.itemPadding() + strokeWidth;\n this.enableOverflowScroll(false);\n this.enableOverflow(true);\n legendTotal\n .enter()\n .append(\"text\")\n .classed(\"legendTotal\", true)\n .merge(legendTotal)\n .attr(\"transform\", `translate(${totalOffsetX}, ${totalOffsetY})`)\n .text(totalText)\n ;\n legendTotal.exit().remove();\n }\n\n updateDisabled(element, dataArr) {\n element\n .style(\"cursor\", \"pointer\")\n .selectAll(\"path.swatch\").filter((d, i) => i < dataArr.length)\n .style(\"stroke\", (d, i) => dataArr[i][0])\n .style(\"fill\", (d, i) =>\n this._disabled.indexOf(d) < 0 ? dataArr[i][0] : \"white\"\n )\n ;\n }\n\n postUpdate(domNode, element) {\n let w;\n if (this._boundingBox) {\n w = this._boundingBox.width;\n this._boundingBox.width = this._size.width;\n }\n super.postUpdate(domNode, element);\n if (w !== undefined) {\n this._boundingBox.width = w;\n }\n this._parentRelativeDiv.style(\"overflow\", \"hidden\");\n }\n\n exit(domNode, element) {\n super.exit(domNode, element);\n }\n\n radiusToSymbolSize(radius) {\n const circleSize = Math.pow(radius, 2) * Math.PI;\n switch (this.symbolType()) {\n case \"star\":\n return circleSize * 0.45;\n case \"triangle\":\n return circleSize * 0.65;\n case \"cross\":\n case \"diamond\":\n case \"wye\":\n return circleSize * 0.75;\n case \"circle\":\n return circleSize;\n case \"square\":\n return circleSize * 1.3;\n }\n }\n\n onClick(d, domNode) {\n switch (this.getPaletteType()) {\n case \"ordinal\":\n switch (this.dataFamily()) {\n case \"2D\":\n case \"ND\":\n const disabledIdx = this._disabled.indexOf(d);\n if (disabledIdx < 0) {\n this._disabled.push(d);\n } else {\n this._disabled.splice(disabledIdx, 1);\n }\n this._owner.refreshColumns();\n this._owner.refreshData();\n this._owner.render();\n break;\n }\n break;\n }\n }\n\n onOver(d, domNode) {\n if (instanceOfIHighlight(this._owner)) {\n switch (this.getPaletteType()) {\n case \"ordinal\":\n switch (this.dataFamily()) {\n case \"2D\":\n case \"ND\":\n if (this._disabled.indexOf(d) < 0) {\n this._owner.highlightColumn(d);\n }\n break;\n }\n break;\n }\n }\n }\n\n onOut(d, domNode) {\n if (instanceOfIHighlight(this._owner)) {\n switch (this.getPaletteType()) {\n case \"ordinal\":\n switch (this.dataFamily()) {\n case \"2D\":\n case \"ND\":\n this._owner.highlightColumn();\n break;\n }\n break;\n }\n }\n }\n\n onDblClick(rowData, rowIdx) {\n }\n\n onMouseOver(rowData, rowIdx) {\n }\n private _containerSize;\n resize(_size?: { width: number, height: number }) {\n let retVal;\n if (this.fitToContent()) {\n this._containerSize = _size;\n const bbox = this.getBBox();\n if (_size.width > bbox.width) {\n bbox.width = _size.width;\n }\n if (_size.height > bbox.height) {\n bbox.height = _size.height;\n }\n retVal = super.resize.apply(this, [{ ...bbox }]);\n } else {\n retVal = super.resize.apply(this, arguments);\n }\n return retVal;\n }\n\n}\nLegend.prototype._class += \" layout_Legend\";\n\nexport interface Legend {\n title(): string;\n title(_: string): this;\n symbolType(): \"circle\" | \"cross\" | \"diamond\" | \"square\" | \"star\" | \"triangle\" | \"wye\";\n symbolType(_: \"circle\" | \"cross\" | \"diamond\" | \"square\" | \"star\" | \"triangle\" | \"wye\"): this;\n labelMaxWidth(): number;\n labelMaxWidth(_: number): this;\n orientation(): \"vertical\" | \"horizontal\";\n orientation(_: \"vertical\" | \"horizontal\"): this;\n orientation_exists: () => boolean;\n dataFamily(): \"1D\" | \"2D\" | \"ND\" | \"map\" | \"graph\" | \"any\";\n dataFamily(_: \"1D\" | \"2D\" | \"ND\" | \"map\" | \"graph\" | \"any\"): this;\n dataFamily_exists: () => boolean;\n rainbowFormat(): string;\n rainbowFormat(_: string): this;\n rainbowFormat_exists: () => boolean;\n rainbowBins(): number;\n rainbowBins(_: number): this;\n rainbowBins_exists: () => boolean;\n showSeriesTotal(): boolean;\n showSeriesTotal(_: boolean): this;\n showLegendTotal(): boolean;\n showLegendTotal(_: boolean): this;\n itemPadding(): number;\n itemPadding(_: number): this;\n shapeRadius(): number;\n shapeRadius(_: number): this;\n fitToContent(): boolean;\n fitToContent(_: boolean): this;\n labelAlign(): \"start\" | \"middle\" | \"end\";\n labelAlign(_: \"start\" | \"middle\" | \"end\"): this;\n}\nLegend.prototype.publish(\"title\", \"\", \"string\", \"Title\");\nLegend.prototype.publish(\"symbolType\", \"circle\", \"set\", \"Shape of each legend item\", [\"circle\", \"cross\", \"diamond\", \"square\", \"star\", \"triangle\", \"wye\"]);\nLegend.prototype.publish(\"labelMaxWidth\", null, \"number\", \"Max Label Width (pixels)\", null, { optional: true });\nLegend.prototype.publish(\"orientation\", \"vertical\", \"set\", \"Orientation of Legend rows\", [\"vertical\", \"horizontal\"], { tags: [\"Private\"] });\nLegend.prototype.publish(\"dataFamily\", \"ND\", \"set\", \"Type of data\", [\"1D\", \"2D\", \"ND\", \"map\", \"graph\", \"any\"], { tags: [\"Private\"] });\nLegend.prototype.publish(\"rainbowFormat\", \",\", \"string\", \"Rainbow number formatting\", null, { tags: [\"Private\"], optional: true, disable: w => !w.isRainbow() });\nLegend.prototype.publish(\"rainbowBins\", 8, \"number\", \"Number of rainbow bins\", null, { tags: [\"Private\"], disable: w => !w.isRainbow() });\nLegend.prototype.publish(\"showSeriesTotal\", false, \"boolean\", \"Show value next to series\");\nLegend.prototype.publish(\"showLegendTotal\", false, \"boolean\", \"Show a total of the series values under the legend\", null);\nLegend.prototype.publish(\"itemPadding\", 8, \"number\", \"Padding between legend items (pixels)\");\nLegend.prototype.publish(\"shapeRadius\", 7, \"number\", \"Radius of legend shape (pixels)\");\nLegend.prototype.publish(\"fitToContent\", true, \"boolean\", \"If true, resize will simply reapply the bounding box dimensions\");\nLegend.prototype.publish(\"labelAlign\", \"start\", \"set\", \"Horizontal alignment of legend item label (for horizontal orientation only)\", [\"start\", \"middle\", \"end\"], { optional: true, disable: (w: any) => w.orientation() === \"vertical\" });\n", "var pi = Math.PI,\n tau = 2 * pi,\n epsilon = 1e-6,\n tauEpsilon = tau - epsilon;\n\nfunction Path() {\n this._x0 = this._y0 = // start of current subpath\n this._x1 = this._y1 = null; // end of current subpath\n this._ = \"\";\n}\n\nfunction path() {\n return new Path;\n}\n\nPath.prototype = path.prototype = {\n constructor: Path,\n moveTo: function(x, y) {\n this._ += \"M\" + (this._x0 = this._x1 = +x) + \",\" + (this._y0 = this._y1 = +y);\n },\n closePath: function() {\n if (this._x1 !== null) {\n this._x1 = this._x0, this._y1 = this._y0;\n this._ += \"Z\";\n }\n },\n lineTo: function(x, y) {\n this._ += \"L\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n quadraticCurveTo: function(x1, y1, x, y) {\n this._ += \"Q\" + (+x1) + \",\" + (+y1) + \",\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n bezierCurveTo: function(x1, y1, x2, y2, x, y) {\n this._ += \"C\" + (+x1) + \",\" + (+y1) + \",\" + (+x2) + \",\" + (+y2) + \",\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n arcTo: function(x1, y1, x2, y2, r) {\n x1 = +x1, y1 = +y1, x2 = +x2, y2 = +y2, r = +r;\n var x0 = this._x1,\n y0 = this._y1,\n x21 = x2 - x1,\n y21 = y2 - y1,\n x01 = x0 - x1,\n y01 = y0 - y1,\n l01_2 = x01 * x01 + y01 * y01;\n\n // Is the radius negative? Error.\n if (r < 0) throw new Error(\"negative radius: \" + r);\n\n // Is this path empty? Move to (x1,y1).\n if (this._x1 === null) {\n this._ += \"M\" + (this._x1 = x1) + \",\" + (this._y1 = y1);\n }\n\n // Or, is (x1,y1) coincident with (x0,y0)? Do nothing.\n else if (!(l01_2 > epsilon));\n\n // Or, are (x0,y0), (x1,y1) and (x2,y2) collinear?\n // Equivalently, is (x1,y1) coincident with (x2,y2)?\n // Or, is the radius zero? Line to (x1,y1).\n else if (!(Math.abs(y01 * x21 - y21 * x01) > epsilon) || !r) {\n this._ += \"L\" + (this._x1 = x1) + \",\" + (this._y1 = y1);\n }\n\n // Otherwise, draw an arc!\n else {\n var x20 = x2 - x0,\n y20 = y2 - y0,\n l21_2 = x21 * x21 + y21 * y21,\n l20_2 = x20 * x20 + y20 * y20,\n l21 = Math.sqrt(l21_2),\n l01 = Math.sqrt(l01_2),\n l = r * Math.tan((pi - Math.acos((l21_2 + l01_2 - l20_2) / (2 * l21 * l01))) / 2),\n t01 = l / l01,\n t21 = l / l21;\n\n // If the start tangent is not coincident with (x0,y0), line to.\n if (Math.abs(t01 - 1) > epsilon) {\n this._ += \"L\" + (x1 + t01 * x01) + \",\" + (y1 + t01 * y01);\n }\n\n this._ += \"A\" + r + \",\" + r + \",0,0,\" + (+(y01 * x20 > x01 * y20)) + \",\" + (this._x1 = x1 + t21 * x21) + \",\" + (this._y1 = y1 + t21 * y21);\n }\n },\n arc: function(x, y, r, a0, a1, ccw) {\n x = +x, y = +y, r = +r, ccw = !!ccw;\n var dx = r * Math.cos(a0),\n dy = r * Math.sin(a0),\n x0 = x + dx,\n y0 = y + dy,\n cw = 1 ^ ccw,\n da = ccw ? a0 - a1 : a1 - a0;\n\n // Is the radius negative? Error.\n if (r < 0) throw new Error(\"negative radius: \" + r);\n\n // Is this path empty? Move to (x0,y0).\n if (this._x1 === null) {\n this._ += \"M\" + x0 + \",\" + y0;\n }\n\n // Or, is (x0,y0) not coincident with the previous point? Line to (x0,y0).\n else if (Math.abs(this._x1 - x0) > epsilon || Math.abs(this._y1 - y0) > epsilon) {\n this._ += \"L\" + x0 + \",\" + y0;\n }\n\n // Is this arc empty? We\u2019re done.\n if (!r) return;\n\n // Does the angle go the wrong way? Flip the direction.\n if (da < 0) da = da % tau + tau;\n\n // Is this a complete circle? Draw two arcs to complete the circle.\n if (da > tauEpsilon) {\n this._ += \"A\" + r + \",\" + r + \",0,1,\" + cw + \",\" + (x - dx) + \",\" + (y - dy) + \"A\" + r + \",\" + r + \",0,1,\" + cw + \",\" + (this._x1 = x0) + \",\" + (this._y1 = y0);\n }\n\n // Is this arc non-empty? Draw an arc!\n else if (da > epsilon) {\n this._ += \"A\" + r + \",\" + r + \",0,\" + (+(da >= pi)) + \",\" + cw + \",\" + (this._x1 = x + r * Math.cos(a1)) + \",\" + (this._y1 = y + r * Math.sin(a1));\n }\n },\n rect: function(x, y, w, h) {\n this._ += \"M\" + (this._x0 = this._x1 = +x) + \",\" + (this._y0 = this._y1 = +y) + \"h\" + (+w) + \"v\" + (+h) + \"h\" + (-w) + \"Z\";\n },\n toString: function() {\n return this._;\n }\n};\n\nexport default path;\n", "export default function(x) {\n return function constant() {\n return x;\n };\n}\n", "export var abs = Math.abs;\nexport var atan2 = Math.atan2;\nexport var cos = Math.cos;\nexport var max = Math.max;\nexport var min = Math.min;\nexport var sin = Math.sin;\nexport var sqrt = Math.sqrt;\n\nexport var epsilon = 1e-12;\nexport var pi = Math.PI;\nexport var halfPi = pi / 2;\nexport var tau = 2 * pi;\n\nexport function acos(x) {\n return x > 1 ? 0 : x < -1 ? pi : Math.acos(x);\n}\n\nexport function asin(x) {\n return x >= 1 ? halfPi : x <= -1 ? -halfPi : Math.asin(x);\n}\n", "import {pi, tau} from \"../math.js\";\n\nexport default {\n draw: function(context, size) {\n var r = Math.sqrt(size / pi);\n context.moveTo(r, 0);\n context.arc(0, 0, r, 0, tau);\n }\n};\n", "export default {\n draw: function(context, size) {\n var r = Math.sqrt(size / 5) / 2;\n context.moveTo(-3 * r, -r);\n context.lineTo(-r, -r);\n context.lineTo(-r, -3 * r);\n context.lineTo(r, -3 * r);\n context.lineTo(r, -r);\n context.lineTo(3 * r, -r);\n context.lineTo(3 * r, r);\n context.lineTo(r, r);\n context.lineTo(r, 3 * r);\n context.lineTo(-r, 3 * r);\n context.lineTo(-r, r);\n context.lineTo(-3 * r, r);\n context.closePath();\n }\n};\n", "var tan30 = Math.sqrt(1 / 3),\n tan30_2 = tan30 * 2;\n\nexport default {\n draw: function(context, size) {\n var y = Math.sqrt(size / tan30_2),\n x = y * tan30;\n context.moveTo(0, -y);\n context.lineTo(x, 0);\n context.lineTo(0, y);\n context.lineTo(-x, 0);\n context.closePath();\n }\n};\n", "import {pi, tau} from \"../math.js\";\n\nvar ka = 0.89081309152928522810,\n kr = Math.sin(pi / 10) / Math.sin(7 * pi / 10),\n kx = Math.sin(tau / 10) * kr,\n ky = -Math.cos(tau / 10) * kr;\n\nexport default {\n draw: function(context, size) {\n var r = Math.sqrt(size * ka),\n x = kx * r,\n y = ky * r;\n context.moveTo(0, -r);\n context.lineTo(x, y);\n for (var i = 1; i < 5; ++i) {\n var a = tau * i / 5,\n c = Math.cos(a),\n s = Math.sin(a);\n context.lineTo(s * r, -c * r);\n context.lineTo(c * x - s * y, s * x + c * y);\n }\n context.closePath();\n }\n};\n", "export default {\n draw: function(context, size) {\n var w = Math.sqrt(size),\n x = -w / 2;\n context.rect(x, x, w, w);\n }\n};\n", "var sqrt3 = Math.sqrt(3);\n\nexport default {\n draw: function(context, size) {\n var y = -Math.sqrt(size / (sqrt3 * 3));\n context.moveTo(0, y * 2);\n context.lineTo(-sqrt3 * y, -y);\n context.lineTo(sqrt3 * y, -y);\n context.closePath();\n }\n};\n", "var c = -0.5,\n s = Math.sqrt(3) / 2,\n k = 1 / Math.sqrt(12),\n a = (k / 2 + 1) * 3;\n\nexport default {\n draw: function(context, size) {\n var r = Math.sqrt(size / a),\n x0 = r / 2,\n y0 = r * k,\n x1 = x0,\n y1 = r * k + r,\n x2 = -x1,\n y2 = y1;\n context.moveTo(x0, y0);\n context.lineTo(x1, y1);\n context.lineTo(x2, y2);\n context.lineTo(c * x0 - s * y0, s * x0 + c * y0);\n context.lineTo(c * x1 - s * y1, s * x1 + c * y1);\n context.lineTo(c * x2 - s * y2, s * x2 + c * y2);\n context.lineTo(c * x0 + s * y0, c * y0 - s * x0);\n context.lineTo(c * x1 + s * y1, c * y1 - s * x1);\n context.lineTo(c * x2 + s * y2, c * y2 - s * x2);\n context.closePath();\n }\n};\n", "import {path} from \"d3-path\";\nimport circle from \"./symbol/circle.js\";\nimport cross from \"./symbol/cross.js\";\nimport diamond from \"./symbol/diamond.js\";\nimport star from \"./symbol/star.js\";\nimport square from \"./symbol/square.js\";\nimport triangle from \"./symbol/triangle.js\";\nimport wye from \"./symbol/wye.js\";\nimport constant from \"./constant.js\";\n\nexport var symbols = [\n circle,\n cross,\n diamond,\n square,\n star,\n triangle,\n wye\n];\n\nexport default function() {\n var type = constant(circle),\n size = constant(64),\n context = null;\n\n function symbol() {\n var buffer;\n if (!context) context = buffer = path();\n type.apply(this, arguments).draw(context, +size.apply(this, arguments));\n if (buffer) return context = null, buffer + \"\" || null;\n }\n\n symbol.type = function(_) {\n return arguments.length ? (type = typeof _ === \"function\" ? _ : constant(_), symbol) : type;\n };\n\n symbol.size = function(_) {\n return arguments.length ? (size = typeof _ === \"function\" ? _ : constant(+_), symbol) : size;\n };\n\n symbol.context = function(_) {\n return arguments.length ? (context = _ == null ? null : _, symbol) : context;\n };\n\n return symbol;\n}\n", "import { select } from \"d3-selection\"\nimport { format, formatPrefix } from \"d3-format\"\n\nconst d3_identity = d => d\n\nconst d3_reverse = arr => {\n const mirror = []\n for (let i = 0, l = arr.length; i < l; i++) {\n mirror[i] = arr[l - i - 1]\n }\n return mirror\n}\n\n//Text wrapping code adapted from Mike Bostock\nconst d3_textWrapping = (text, width) => {\n text.each(function() {\n var text = select(this),\n words = text\n .text()\n .split(/\\s+/)\n .reverse(),\n word,\n line = [],\n lineNumber = 0,\n lineHeight = 1.2, //ems\n y = text.attr(\"y\"),\n dy = parseFloat(text.attr(\"dy\")) || 0,\n tspan = text\n .text(null)\n .append(\"tspan\")\n .attr(\"x\", 0)\n .attr(\"dy\", dy + \"em\")\n\n while ((word = words.pop())) {\n line.push(word)\n tspan.text(line.join(\" \"))\n if (tspan.node().getComputedTextLength() > width && line.length > 1) {\n line.pop()\n tspan.text(line.join(\" \"))\n line = [word]\n tspan = text\n .append(\"tspan\")\n .attr(\"x\", 0)\n .attr(\"dy\", lineHeight + dy + \"em\")\n .text(word)\n }\n }\n })\n}\n\nconst d3_mergeLabels = (gen = [], labels, domain, range, labelDelimiter) => {\n if (typeof labels === \"object\") {\n if (labels.length === 0) return gen\n\n let i = labels.length\n for (; i < gen.length; i++) {\n labels.push(gen[i])\n }\n return labels\n } else if (typeof labels === \"function\") {\n const customLabels = []\n const genLength = gen.length\n for (let i = 0; i < genLength; i++) {\n customLabels.push(\n labels({\n i,\n genLength,\n generatedLabels: gen,\n domain,\n range,\n labelDelimiter\n })\n )\n }\n return customLabels\n }\n\n return gen\n}\n\nconst d3_linearLegend = (scale, cells, labelFormat) => {\n let data = []\n\n if (cells.length > 1) {\n data = cells\n } else {\n const domain = scale.domain(),\n increment = (domain[domain.length - 1] - domain[0]) / (cells - 1)\n let i = 0\n\n for (; i < cells; i++) {\n data.push(domain[0] + i * increment)\n }\n }\n\n const labels = data.map(labelFormat)\n return {\n data: data,\n labels: labels,\n feature: d => scale(d)\n }\n}\n\nconst d3_quantLegend = (scale, labelFormat, labelDelimiter) => {\n const labels = scale.range().map(d => {\n const invert = scale.invertExtent(d)\n return (\n labelFormat(invert[0]) +\n \" \" +\n labelDelimiter +\n \" \" +\n labelFormat(invert[1])\n )\n })\n\n return {\n data: scale.range(),\n labels: labels,\n feature: d3_identity\n }\n}\n\nconst d3_ordinalLegend = scale => ({\n data: scale.domain(),\n labels: scale.domain(),\n feature: d => scale(d)\n})\n\nconst d3_cellOver = (cellDispatcher, d, obj) => {\n cellDispatcher.call(\"cellover\", obj, d)\n}\n\nconst d3_cellOut = (cellDispatcher, d, obj) => {\n cellDispatcher.call(\"cellout\", obj, d)\n}\n\nconst d3_cellClick = (cellDispatcher, d, obj) => {\n cellDispatcher.call(\"cellclick\", obj, d)\n}\n\nexport default {\n d3_drawShapes: (\n shape,\n shapes,\n shapeHeight,\n shapeWidth,\n shapeRadius,\n path\n ) => {\n if (shape === \"rect\") {\n shapes.attr(\"height\", shapeHeight).attr(\"width\", shapeWidth)\n } else if (shape === \"circle\") {\n shapes.attr(\"r\", shapeRadius)\n } else if (shape === \"line\") {\n shapes\n .attr(\"x1\", 0)\n .attr(\"x2\", shapeWidth)\n .attr(\"y1\", 0)\n .attr(\"y2\", 0)\n } else if (shape === \"path\") {\n shapes.attr(\"d\", path)\n }\n },\n\n d3_addText: function(svg, enter, labels, classPrefix, labelWidth) {\n enter.append(\"text\").attr(\"class\", classPrefix + \"label\")\n const text = svg\n .selectAll(`g.${classPrefix}cell text.${classPrefix}label`)\n .data(labels)\n .text(d3_identity)\n\n if (labelWidth) {\n svg\n .selectAll(`g.${classPrefix}cell text.${classPrefix}label`)\n .call(d3_textWrapping, labelWidth)\n }\n\n return text\n },\n\n d3_calcType: function(\n scale,\n ascending,\n cells,\n labels,\n labelFormat,\n labelDelimiter\n ) {\n const type = scale.invertExtent\n ? d3_quantLegend(scale, labelFormat, labelDelimiter)\n : scale.ticks\n ? d3_linearLegend(scale, cells, labelFormat)\n : d3_ordinalLegend(scale)\n\n //for d3.scaleSequential that doesn't have a range function\n const range = (scale.range && scale.range()) || scale.domain()\n type.labels = d3_mergeLabels(\n type.labels,\n labels,\n scale.domain(),\n range,\n labelDelimiter\n )\n\n if (ascending) {\n type.labels = d3_reverse(type.labels)\n type.data = d3_reverse(type.data)\n }\n\n return type\n },\n\n d3_filterCells: (type, cellFilter) => {\n let filterCells = type.data\n .map((d, i) => ({ data: d, label: type.labels[i] }))\n .filter(cellFilter)\n const dataValues = filterCells.map(d => d.data)\n const labelValues = filterCells.map(d => d.label)\n type.data = type.data.filter(d => dataValues.indexOf(d) !== -1)\n type.labels = type.labels.filter(d => labelValues.indexOf(d) !== -1)\n return type\n },\n\n d3_placement: (orient, cell, cellTrans, text, textTrans, labelAlign) => {\n cell.attr(\"transform\", cellTrans)\n text.attr(\"transform\", textTrans)\n if (orient === \"horizontal\") {\n text.style(\"text-anchor\", labelAlign)\n }\n },\n\n d3_addEvents: function(cells, dispatcher) {\n cells\n .on(\"mouseover.legend\", function(d) {\n d3_cellOver(dispatcher, d, this)\n })\n .on(\"mouseout.legend\", function(d) {\n d3_cellOut(dispatcher, d, this)\n })\n .on(\"click.legend\", function(d) {\n d3_cellClick(dispatcher, d, this)\n })\n },\n\n d3_title: (svg, title, classPrefix, titleWidth) => {\n if (title !== \"\") {\n const titleText = svg.selectAll(\"text.\" + classPrefix + \"legendTitle\")\n\n titleText\n .data([title])\n .enter()\n .append(\"text\")\n .attr(\"class\", classPrefix + \"legendTitle\")\n\n svg.selectAll(\"text.\" + classPrefix + \"legendTitle\").text(title)\n\n if (titleWidth) {\n svg\n .selectAll(\"text.\" + classPrefix + \"legendTitle\")\n .call(d3_textWrapping, titleWidth)\n }\n\n const cellsSvg = svg.select(\".\" + classPrefix + \"legendCells\")\n const yOffset = svg\n .select(\".\" + classPrefix + \"legendTitle\")\n .nodes()\n .map(d => d.getBBox().height)[0],\n xOffset = -cellsSvg.nodes().map(function(d) {\n return d.getBBox().x\n })[0]\n cellsSvg.attr(\"transform\", \"translate(\" + xOffset + \",\" + yOffset + \")\")\n }\n },\n\n d3_defaultLocale: {\n format,\n formatPrefix\n },\n\n d3_defaultFormatSpecifier: \".01f\",\n\n d3_defaultDelimiter: \"to\"\n}\n", "import helper from \"./legend\"\nimport { dispatch } from \"d3-dispatch\"\nimport { scaleLinear } from \"d3-scale\"\nimport { formatLocale, formatSpecifier } from \"d3-format\"\n\nimport { sum } from \"d3-array\"\n\nexport default function color() {\n let scale = scaleLinear(),\n shape = \"rect\",\n shapeWidth = 15,\n shapeHeight = 15,\n shapeRadius = 10,\n shapePadding = 2,\n cells = [5],\n cellFilter,\n labels = [],\n classPrefix = \"\",\n useClass = false,\n title = \"\",\n locale = helper.d3_defaultLocale,\n specifier = helper.d3_defaultFormatSpecifier,\n labelOffset = 10,\n labelAlign = \"middle\",\n labelDelimiter = helper.d3_defaultDelimiter,\n labelWrap,\n orient = \"vertical\",\n ascending = false,\n path,\n titleWidth,\n legendDispatcher = dispatch(\"cellover\", \"cellout\", \"cellclick\")\n\n function legend(svg) {\n const type = helper.d3_calcType(\n scale,\n ascending,\n cells,\n labels,\n locale.format(specifier),\n labelDelimiter\n ),\n legendG = svg.selectAll(\"g\").data([scale])\n\n legendG\n .enter()\n .append(\"g\")\n .attr(\"class\", classPrefix + \"legendCells\")\n\n if (cellFilter) {\n helper.d3_filterCells(type, cellFilter)\n }\n\n let cell = svg\n .select(\".\" + classPrefix + \"legendCells\")\n .selectAll(\".\" + classPrefix + \"cell\")\n .data(type.data)\n\n const cellEnter = cell\n .enter()\n .append(\"g\")\n .attr(\"class\", classPrefix + \"cell\")\n cellEnter.append(shape).attr(\"class\", classPrefix + \"swatch\")\n\n let shapes = svg\n .selectAll(\n \"g.\" + classPrefix + \"cell \" + shape + \".\" + classPrefix + \"swatch\"\n )\n .data(type.data)\n\n //add event handlers\n helper.d3_addEvents(cellEnter, legendDispatcher)\n\n cell\n .exit()\n .transition()\n .style(\"opacity\", 0)\n .remove()\n shapes\n .exit()\n .transition()\n .style(\"opacity\", 0)\n .remove()\n\n shapes = shapes.merge(shapes)\n\n helper.d3_drawShapes(\n shape,\n shapes,\n shapeHeight,\n shapeWidth,\n shapeRadius,\n path\n )\n const text = helper.d3_addText(\n svg,\n cellEnter,\n type.labels,\n classPrefix,\n labelWrap\n )\n\n // we need to merge the selection, otherwise changes in the legend (e.g. change of orientation) are applied only to the new cells and not the existing ones.\n cell = cellEnter.merge(cell)\n\n // sets placement\n const textSize = text.nodes().map(d => d.getBBox()),\n shapeSize = shapes.nodes().map(d => d.getBBox())\n //sets scale\n //everything is fill except for line which is stroke,\n if (!useClass) {\n if (shape == \"line\") {\n shapes.style(\"stroke\", type.feature)\n } else {\n shapes.style(\"fill\", type.feature)\n }\n } else {\n shapes.attr(\"class\", d => `${classPrefix}swatch ${type.feature(d)}`)\n }\n\n let cellTrans,\n textTrans,\n textAlign = labelAlign == \"start\" ? 0 : labelAlign == \"middle\" ? 0.5 : 1\n\n //positions cells and text\n if (orient === \"vertical\") {\n const cellSize = textSize.map((d, i) =>\n Math.max(d.height, shapeSize[i].height)\n )\n\n cellTrans = (d, i) => {\n const height = sum(cellSize.slice(0, i))\n return `translate(0, ${height + i * shapePadding})`\n }\n\n textTrans = (d, i) =>\n `translate( ${shapeSize[i].width +\n shapeSize[i].x +\n labelOffset}, ${shapeSize[i].y + shapeSize[i].height / 2 + 5})`\n } else if (orient === \"horizontal\") {\n cellTrans = (d, i) =>\n `translate(${i * (shapeSize[i].width + shapePadding)},0)`\n textTrans = (d, i) => `translate(${shapeSize[i].width * textAlign +\n shapeSize[i].x},\n ${shapeSize[i].height + shapeSize[i].y + labelOffset + 8})`\n }\n\n helper.d3_placement(orient, cell, cellTrans, text, textTrans, labelAlign)\n helper.d3_title(svg, title, classPrefix, titleWidth)\n\n cell.transition().style(\"opacity\", 1)\n }\n\n legend.scale = function(_) {\n if (!arguments.length) return scale\n scale = _\n return legend\n }\n\n legend.cells = function(_) {\n if (!arguments.length) return cells\n if (_.length > 1 || _ >= 2) {\n cells = _\n }\n return legend\n }\n\n legend.cellFilter = function(_) {\n if (!arguments.length) return cellFilter\n cellFilter = _\n return legend\n }\n\n legend.shape = function(_, d) {\n if (!arguments.length) return shape\n if (\n _ == \"rect\" ||\n _ == \"circle\" ||\n _ == \"line\" ||\n (_ == \"path\" && typeof d === \"string\")\n ) {\n shape = _\n path = d\n }\n return legend\n }\n\n legend.shapeWidth = function(_) {\n if (!arguments.length) return shapeWidth\n shapeWidth = +_\n return legend\n }\n\n legend.shapeHeight = function(_) {\n if (!arguments.length) return shapeHeight\n shapeHeight = +_\n return legend\n }\n\n legend.shapeRadius = function(_) {\n if (!arguments.length) return shapeRadius\n shapeRadius = +_\n return legend\n }\n\n legend.shapePadding = function(_) {\n if (!arguments.length) return shapePadding\n shapePadding = +_\n return legend\n }\n\n legend.labels = function(_) {\n if (!arguments.length) return labels\n labels = _\n return legend\n }\n\n legend.labelAlign = function(_) {\n if (!arguments.length) return labelAlign\n if (_ == \"start\" || _ == \"end\" || _ == \"middle\") {\n labelAlign = _\n }\n return legend\n }\n\n legend.locale = function(_) {\n if (!arguments.length) return locale\n locale = formatLocale(_)\n return legend\n }\n\n legend.labelFormat = function(_) {\n if (!arguments.length) return legend.locale().format(specifier)\n specifier = formatSpecifier(_)\n return legend\n }\n\n legend.labelOffset = function(_) {\n if (!arguments.length) return labelOffset\n labelOffset = +_\n return legend\n }\n\n legend.labelDelimiter = function(_) {\n if (!arguments.length) return labelDelimiter\n labelDelimiter = _\n return legend\n }\n\n legend.labelWrap = function(_) {\n if (!arguments.length) return labelWrap\n labelWrap = _\n return legend\n }\n\n legend.useClass = function(_) {\n if (!arguments.length) return useClass\n if (_ === true || _ === false) {\n useClass = _\n }\n return legend\n }\n\n legend.orient = function(_) {\n if (!arguments.length) return orient\n _ = _.toLowerCase()\n if (_ == \"horizontal\" || _ == \"vertical\") {\n orient = _\n }\n return legend\n }\n\n legend.ascending = function(_) {\n if (!arguments.length) return ascending\n ascending = !!_\n return legend\n }\n\n legend.classPrefix = function(_) {\n if (!arguments.length) return classPrefix\n classPrefix = _\n return legend\n }\n\n legend.title = function(_) {\n if (!arguments.length) return title\n title = _\n return legend\n }\n\n legend.titleWidth = function(_) {\n if (!arguments.length) return titleWidth\n titleWidth = _\n return legend\n }\n\n legend.textWrap = function(_) {\n if (!arguments.length) return textWrap\n textWrap = _\n return legend\n }\n\n legend.on = function() {\n const value = legendDispatcher.on.apply(legendDispatcher, arguments)\n return value === legendDispatcher ? legend : value\n }\n\n return legend\n}\n", "import helper from \"./legend\"\nimport { dispatch } from \"d3-dispatch\"\nimport { scaleLinear } from \"d3-scale\"\nimport { formatLocale, formatSpecifier } from \"d3-format\"\nimport { sum, max } from \"d3-array\"\n\nexport default function size() {\n let scale = scaleLinear(),\n shape = \"rect\",\n shapeWidth = 15,\n shapePadding = 2,\n cells = [5],\n cellFilter,\n labels = [],\n classPrefix = \"\",\n title = \"\",\n locale = helper.d3_defaultLocale,\n specifier = helper.d3_defaultFormatSpecifier,\n labelOffset = 10,\n labelAlign = \"middle\",\n labelDelimiter = helper.d3_defaultDelimiter,\n labelWrap,\n orient = \"vertical\",\n ascending = false,\n path,\n titleWidth,\n legendDispatcher = dispatch(\"cellover\", \"cellout\", \"cellclick\")\n\n function legend(svg) {\n const type = helper.d3_calcType(\n scale,\n ascending,\n cells,\n labels,\n locale.format(specifier),\n labelDelimiter\n ),\n legendG = svg.selectAll(\"g\").data([scale])\n\n if (cellFilter) {\n helper.d3_filterCells(type, cellFilter)\n }\n\n legendG\n .enter()\n .append(\"g\")\n .attr(\"class\", classPrefix + \"legendCells\")\n\n let cell = svg\n .select(\".\" + classPrefix + \"legendCells\")\n .selectAll(\".\" + classPrefix + \"cell\")\n .data(type.data)\n const cellEnter = cell\n .enter()\n .append(\"g\")\n .attr(\"class\", classPrefix + \"cell\")\n cellEnter.append(shape).attr(\"class\", classPrefix + \"swatch\")\n\n let shapes = svg.selectAll(\n \"g.\" + classPrefix + \"cell \" + shape + \".\" + classPrefix + \"swatch\"\n )\n\n //add event handlers\n helper.d3_addEvents(cellEnter, legendDispatcher)\n\n cell\n .exit()\n .transition()\n .style(\"opacity\", 0)\n .remove()\n\n shapes\n .exit()\n .transition()\n .style(\"opacity\", 0)\n .remove()\n shapes = shapes.merge(shapes)\n\n //creates shape\n if (shape === \"line\") {\n helper.d3_drawShapes(shape, shapes, 0, shapeWidth)\n shapes.attr(\"stroke-width\", type.feature)\n } else {\n helper.d3_drawShapes(\n shape,\n shapes,\n type.feature,\n type.feature,\n type.feature,\n path\n )\n }\n\n const text = helper.d3_addText(\n svg,\n cellEnter,\n type.labels,\n classPrefix,\n labelWrap\n )\n\n // we need to merge the selection, otherwise changes in the legend (e.g. change of orientation) are applied only to the new cells and not the existing ones.\n cell = cellEnter.merge(cell)\n\n //sets placement\n\n const textSize = text.nodes().map(d => d.getBBox()),\n shapeSize = shapes.nodes().map((d, i) => {\n const bbox = d.getBBox()\n const stroke = scale(type.data[i])\n\n if (shape === \"line\" && orient === \"horizontal\") {\n bbox.height = bbox.height + stroke\n } else if (shape === \"line\" && orient === \"vertical\") {\n bbox.width = bbox.width\n }\n return bbox\n })\n\n const maxH = max(shapeSize, d => d.height + d.y),\n maxW = max(shapeSize, d => d.width + d.x)\n\n let cellTrans,\n textTrans,\n textAlign = labelAlign == \"start\" ? 0 : labelAlign == \"middle\" ? 0.5 : 1\n\n //positions cells and text\n if (orient === \"vertical\") {\n const cellSize = textSize.map((d, i) =>\n Math.max(d.height, shapeSize[i].height)\n )\n const y =\n shape == \"circle\" || shape == \"line\" ? shapeSize[0].height / 2 : 0\n cellTrans = (d, i) => {\n const height = sum(cellSize.slice(0, i))\n\n return `translate(0, ${y + height + i * shapePadding})`\n }\n\n textTrans = (d, i) => `translate( ${maxW + labelOffset},\n ${shapeSize[i].y + shapeSize[i].height / 2 + 5})`\n } else if (orient === \"horizontal\") {\n cellTrans = (d, i) => {\n const width = sum(shapeSize.slice(0, i), d => d.width)\n const y = shape == \"circle\" || shape == \"line\" ? maxH / 2 : 0\n return `translate(${width + i * shapePadding}, ${y})`\n }\n\n const offset = shape == \"line\" ? maxH / 2 : maxH\n textTrans = (d, i) => {\n return `translate( ${shapeSize[i].width * textAlign + shapeSize[i].x},\n ${offset + labelOffset})`\n }\n }\n\n helper.d3_placement(orient, cell, cellTrans, text, textTrans, labelAlign)\n helper.d3_title(svg, title, classPrefix, titleWidth)\n\n cell.transition().style(\"opacity\", 1)\n }\n\n legend.scale = function(_) {\n if (!arguments.length) return scale\n scale = _\n return legend\n }\n\n legend.cells = function(_) {\n if (!arguments.length) return cells\n if (_.length > 1 || _ >= 2) {\n cells = _\n }\n return legend\n }\n\n legend.cellFilter = function(_) {\n if (!arguments.length) return cellFilter\n cellFilter = _\n return legend\n }\n\n legend.shape = function(_, d) {\n if (!arguments.length) return shape\n if (_ == \"rect\" || _ == \"circle\" || _ == \"line\") {\n shape = _\n path = d\n }\n return legend\n }\n\n legend.shapeWidth = function(_) {\n if (!arguments.length) return shapeWidth\n shapeWidth = +_\n return legend\n }\n\n legend.shapePadding = function(_) {\n if (!arguments.length) return shapePadding\n shapePadding = +_\n return legend\n }\n\n legend.labels = function(_) {\n if (!arguments.length) return labels\n labels = _\n return legend\n }\n\n legend.labelAlign = function(_) {\n if (!arguments.length) return labelAlign\n if (_ == \"start\" || _ == \"end\" || _ == \"middle\") {\n labelAlign = _\n }\n return legend\n }\n\n legend.locale = function(_) {\n if (!arguments.length) return locale\n locale = formatLocale(_)\n return legend\n }\n\n legend.labelFormat = function(_) {\n if (!arguments.length) return legend.locale().format(specifier)\n specifier = formatSpecifier(_)\n return legend\n }\n\n legend.labelOffset = function(_) {\n if (!arguments.length) return labelOffset\n labelOffset = +_\n return legend\n }\n\n legend.labelDelimiter = function(_) {\n if (!arguments.length) return labelDelimiter\n labelDelimiter = _\n return legend\n }\n\n legend.labelWrap = function(_) {\n if (!arguments.length) return labelWrap\n labelWrap = _\n return legend\n }\n\n legend.orient = function(_) {\n if (!arguments.length) return orient\n _ = _.toLowerCase()\n if (_ == \"horizontal\" || _ == \"vertical\") {\n orient = _\n }\n return legend\n }\n\n legend.ascending = function(_) {\n if (!arguments.length) return ascending\n ascending = !!_\n return legend\n }\n\n legend.classPrefix = function(_) {\n if (!arguments.length) return classPrefix\n classPrefix = _\n return legend\n }\n\n legend.title = function(_) {\n if (!arguments.length) return title\n title = _\n return legend\n }\n\n legend.titleWidth = function(_) {\n if (!arguments.length) return titleWidth\n titleWidth = _\n return legend\n }\n\n legend.on = function() {\n const value = legendDispatcher.on.apply(legendDispatcher, arguments)\n return value === legendDispatcher ? legend : value\n }\n\n return legend\n}\n", "import helper from \"./legend\"\nimport { dispatch } from \"d3-dispatch\"\nimport { scaleLinear } from \"d3-scale\"\nimport { formatLocale, formatSpecifier } from \"d3-format\"\nimport { sum, max } from \"d3-array\"\n\nexport default function symbol() {\n let scale = scaleLinear(),\n shape = \"path\",\n shapeWidth = 15,\n shapeHeight = 15,\n shapeRadius = 10,\n shapePadding = 5,\n cells = [5],\n cellFilter,\n labels = [],\n classPrefix = \"\",\n title = \"\",\n locale = helper.d3_defaultLocale,\n specifier = helper.d3_defaultFormatSpecifier,\n labelAlign = \"middle\",\n labelOffset = 10,\n labelDelimiter = helper.d3_defaultDelimiter,\n labelWrap,\n orient = \"vertical\",\n ascending = false,\n titleWidth,\n legendDispatcher = dispatch(\"cellover\", \"cellout\", \"cellclick\")\n\n function legend(svg) {\n const type = helper.d3_calcType(\n scale,\n ascending,\n cells,\n labels,\n locale.format(specifier),\n labelDelimiter\n ),\n legendG = svg.selectAll(\"g\").data([scale])\n\n if (cellFilter) {\n helper.d3_filterCells(type, cellFilter)\n }\n\n legendG\n .enter()\n .append(\"g\")\n .attr(\"class\", classPrefix + \"legendCells\")\n\n let cell = svg\n .select(\".\" + classPrefix + \"legendCells\")\n .selectAll(\".\" + classPrefix + \"cell\")\n .data(type.data)\n const cellEnter = cell\n .enter()\n .append(\"g\")\n .attr(\"class\", classPrefix + \"cell\")\n cellEnter.append(shape).attr(\"class\", classPrefix + \"swatch\")\n\n let shapes = svg.selectAll(\"g.\" + classPrefix + \"cell \" + shape + \".\" + classPrefix + \"swatch\")\n\n //add event handlers\n helper.d3_addEvents(cellEnter, legendDispatcher)\n\n //remove old shapes\n cell\n .exit()\n .transition()\n .style(\"opacity\", 0)\n .remove()\n shapes\n .exit()\n .transition()\n .style(\"opacity\", 0)\n .remove()\n shapes = shapes.merge(shapes)\n\n helper.d3_drawShapes(\n shape,\n shapes,\n shapeHeight,\n shapeWidth,\n shapeRadius,\n type.feature\n )\n const text = helper.d3_addText(\n svg,\n cellEnter,\n type.labels,\n classPrefix,\n labelWrap\n )\n\n // we need to merge the selection, otherwise changes in the legend (e.g. change of orientation) are applied only to the new cells and not the existing ones.\n cell = cellEnter.merge(cell)\n\n // sets placement\n const textSize = text.nodes().map(d => d.getBBox()),\n shapeSize = shapes.nodes().map(d => d.getBBox())\n\n const maxH = max(shapeSize, d => d.height),\n maxW = max(shapeSize, d => d.width)\n\n let cellTrans,\n textTrans,\n textAlign = labelAlign == \"start\" ? 0 : labelAlign == \"middle\" ? 0.5 : 1\n\n //positions cells and text\n if (orient === \"vertical\") {\n const cellSize = textSize.map((d, i) => Math.max(maxH, d.height))\n\n cellTrans = (d, i) => {\n const height = sum(cellSize.slice(0, i))\n return `translate(0, ${height + i * shapePadding} )`\n }\n textTrans = (d, i) => `translate( ${maxW + labelOffset},\n ${shapeSize[i].y + shapeSize[i].height / 2 + 5})`\n } else if (orient === \"horizontal\") {\n cellTrans = (d, i) => `translate( ${i * (maxW + shapePadding)},0)`\n textTrans = (d, i) => `translate( ${shapeSize[i].width * textAlign +\n shapeSize[i].x},\n ${maxH + labelOffset})`\n }\n\n helper.d3_placement(orient, cell, cellTrans, text, textTrans, labelAlign)\n helper.d3_title(svg, title, classPrefix, titleWidth)\n cell.transition().style(\"opacity\", 1)\n }\n\n legend.scale = function(_) {\n if (!arguments.length) return scale\n scale = _\n return legend\n }\n\n legend.cells = function(_) {\n if (!arguments.length) return cells\n if (_.length > 1 || _ >= 2) {\n cells = _\n }\n return legend\n }\n\n legend.cellFilter = function(_) {\n if (!arguments.length) return cellFilter\n cellFilter = _\n return legend\n }\n\n legend.shapePadding = function(_) {\n if (!arguments.length) return shapePadding\n shapePadding = +_\n return legend\n }\n\n legend.labels = function(_) {\n if (!arguments.length) return labels\n labels = _\n return legend\n }\n\n legend.labelAlign = function(_) {\n if (!arguments.length) return labelAlign\n if (_ == \"start\" || _ == \"end\" || _ == \"middle\") {\n labelAlign = _\n }\n return legend\n }\n\n legend.locale = function(_) {\n if (!arguments.length) return locale\n locale = formatLocale(_)\n return legend\n }\n\n legend.labelFormat = function(_) {\n if (!arguments.length) return legend.locale().format(specifier)\n specifier = formatSpecifier(_)\n return legend\n }\n\n legend.labelOffset = function(_) {\n if (!arguments.length) return labelOffset\n labelOffset = +_\n return legend\n }\n\n legend.labelDelimiter = function(_) {\n if (!arguments.length) return labelDelimiter\n labelDelimiter = _\n return legend\n }\n\n legend.labelWrap = function(_) {\n if (!arguments.length) return labelWrap\n labelWrap = _\n return legend\n }\n\n legend.orient = function(_) {\n if (!arguments.length) return orient\n _ = _.toLowerCase()\n if (_ == \"horizontal\" || _ == \"vertical\") {\n orient = _\n }\n return legend\n }\n\n legend.ascending = function(_) {\n if (!arguments.length) return ascending\n ascending = !!_\n return legend\n }\n\n legend.classPrefix = function(_) {\n if (!arguments.length) return classPrefix\n classPrefix = _\n return legend\n }\n\n legend.title = function(_) {\n if (!arguments.length) return title\n title = _\n return legend\n }\n\n legend.titleWidth = function(_) {\n if (!arguments.length) return titleWidth\n titleWidth = _\n return legend\n }\n\n legend.on = function() {\n const value = legendDispatcher.on.apply(legendDispatcher, arguments)\n return value === legendDispatcher ? legend : value\n }\n\n return legend\n}\n", "export const thresholdLabels = function({\n i,\n genLength,\n generatedLabels,\n labelDelimiter\n}) {\n if (i === 0) {\n const values = generatedLabels[i].split(` ${labelDelimiter} `)\n return `Less than ${values[1]}`\n } else if (i === genLength - 1) {\n const values = generatedLabels[i].split(` ${labelDelimiter} `)\n return `${values[0]} or more`\n }\n return generatedLabels[i]\n}\n\nexport default {\n thresholdLabels\n}\n", "import legendColor from './src/color'\nimport legendSize from './src/size'\nimport legendSymbol from './src/symbol'\nimport legendHelpers from './src/helpers'\n\nexport { legendColor, legendSize, legendSymbol, legendHelpers }\n\nexport default {\n legendColor,\n legendSize,\n legendSymbol,\n legendHelpers\n};\n", "import { HTMLWidget, ISize, Widget } from \"@hpcc-js/common\";\n\nimport \"../src/Modal.css\";\n\nexport class Modal extends HTMLWidget {\n\n protected _widget: Widget;\n\n protected _relativeTarget: HTMLElement;\n\n protected _fade;\n protected _modal;\n protected _modalHeader;\n protected _modalBody;\n protected _modalHeaderAnnotations;\n protected _modalHeaderCloseButton;\n _close: () => void;\n\n constructor() {\n super();\n this._tag = \"div\";\n }\n\n closeModal() {\n this.visible(false);\n }\n\n getRelativeTarget() {\n let relativeTarget;\n if (this.relativeTargetId()) {\n relativeTarget = document.getElementById(this.relativeTargetId());\n if (relativeTarget) {\n return relativeTarget;\n }\n }\n if (!relativeTarget) {\n relativeTarget = this.locateAncestor(\"layout_Grid\");\n if (relativeTarget && relativeTarget.element) {\n return relativeTarget.element().node();\n }\n }\n return document.body;\n }\n\n setModalSize(): ISize {\n if (this.fixedHeight() !== null && this.fixedWidth() !== null) {\n this._modal\n .style(\"height\", this.fixedHeight())\n .style(\"width\", this.fixedWidth())\n .style(\"min-height\", null)\n .style(\"min-width\", null)\n .style(\"max-height\", null)\n .style(\"max-width\", null)\n ;\n } else if (this.minHeight() || this.minWidth()) {\n this._modal\n .style(\"min-height\", this.minHeight())\n .style(\"min-width\", this.minWidth())\n .style(\"max-height\", this.maxHeight())\n .style(\"max-width\", this.maxWidth())\n ;\n }\n const modalRect = this._modal.node().getBoundingClientRect();\n const headerRect = this._modalHeader.node().getBoundingClientRect();\n this._modalBody\n .style(\"height\", (modalRect.height - headerRect.height) + \"px\")\n .style(\"width\", modalRect.width);\n\n return modalRect;\n }\n\n setFadePosition(rect) {\n this._fade\n .style(\"top\", rect.top + \"px\")\n .style(\"left\", rect.left + \"px\")\n .style(\"width\", rect.width + \"px\")\n .style(\"height\", rect.height + \"px\")\n ;\n }\n\n setModalPosition(rect) {\n const modalRect = this.setModalSize();\n if (this.fixedTop() !== null && this.fixedLeft() !== null) {\n this._modal\n .style(\"top\", `calc(${this.fixedTop()} + ${rect.top}px)`)\n .style(\"left\", `calc(${this.fixedLeft()} + ${rect.left}px)`)\n ;\n } else if (this.fixedHeight() !== null && this.fixedWidth() !== null) {\n this._modal\n .style(\"top\", (rect.top + (rect.height / 2) - (modalRect.height / 2)) + \"px\")\n .style(\"left\", (rect.left + (rect.width / 2) - (modalRect.width / 2)) + \"px\")\n ;\n } else if (this.minHeight() || this.minWidth()) {\n const contentRect = this._modal.node().getBoundingClientRect();\n this._modal\n .style(\"top\", (rect.top + (rect.height / 2) - (contentRect.height / 2)) + \"px\")\n .style(\"left\", (rect.left + (rect.width / 2) - (contentRect.width / 2)) + \"px\")\n ;\n }\n }\n\n resize(size?: any): this {\n super.resize();\n if (this._modal) this.setModalSize();\n return this;\n }\n\n resizeBodySync(width: number, height: number): this {\n const header = this._modalHeader.node();\n const headerRect = header.getBoundingClientRect();\n\n this._modal\n .style(\"width\", width + \"px\")\n .style(\"height\", (height + headerRect.height) + \"px\")\n .style(\"min-width\", width + \"px\")\n .style(\"min-height\", (height + headerRect.height) + \"px\")\n ;\n this._modalHeader\n .style(\"width\", width + \"px\")\n ;\n this._modalBody\n .style(\"width\", width + \"px\")\n .style(\"height\", height + \"px\")\n ;\n return this\n .minWidth(width + \"px\")\n .minHeight((height + headerRect.height) + \"px\")\n .resize({\n height: height + headerRect.height,\n width\n })\n ;\n }\n\n enter(domNode, element) {\n super.enter(domNode, element);\n this._fade = element.append(\"div\")\n .classed(\"layout_Modal-fade\", true)\n .classed(\"layout_Modal-fadeClickable\", this.enableClickFadeToClose())\n .classed(\"layout_Modal-fade-hidden\", !this.showFade())\n ;\n const header_h = this.titleFontSize() * 2;\n this._modal = element.append(\"div\")\n .classed(\"layout_Modal-content\", true)\n ;\n this._modalHeader = this._modal.append(\"div\")\n .classed(\"layout_Modal-header\", true)\n .style(\"color\", this.titleFontColor())\n .style(\"font-size\", this.titleFontSize() + \"px\")\n .style(\"height\", header_h + \"px\")\n ;\n this._modalBody = this._modal.append(\"div\")\n .classed(\"layout_Modal-body\", true)\n .style(\"height\", `calc( 100% - ${header_h}px )`)\n .style(\"overflow-x\", this.overflowX())\n .style(\"overflow-y\", this.overflowY())\n ;\n this._modalHeader.append(\"div\")\n .classed(\"layout_Modal-title\", true)\n .style(\"line-height\", this.titleFontSize() + \"px\")\n .style(\"top\", (this.titleFontSize() / 2) + \"px\")\n .style(\"left\", (this.titleFontSize() / 2) + \"px\")\n .text(this.formattedTitle())\n ;\n\n this._modalHeaderAnnotations = this._modalHeader.append(\"div\")\n .classed(\"layout_Modal-annotations\", true)\n ;\n this._modalHeaderCloseButton = this._modalHeaderAnnotations.append(\"div\")\n .classed(\"layout_Modal-closeButton\", true)\n .html(\"<i class=\\\"fa fa-close\\\"></i>\")\n ;\n\n this._modalHeaderAnnotations\n .style(\"line-height\", this.titleFontSize() + \"px\")\n .style(\"right\", (this.titleFontSize() / 2) + \"px\")\n .style(\"top\", (this.titleFontSize() / 2) + \"px\")\n ;\n this._modalHeaderCloseButton.on(\"click\", () => {\n this.closeModal();\n });\n this._fade.on(\"click\", n => {\n if (this.enableClickFadeToClose()) {\n this.closeModal();\n }\n });\n }\n\n update(domNode, element) {\n super.update(domNode, element);\n element.style(\"display\", this.show() ? null : \"none\");\n this._fade.classed(\"layout_Modal-fade-hidden\", !this.showFade());\n this._relativeTarget = this.getRelativeTarget();\n\n this.setModalSize();\n const rect = this._relativeTarget.getBoundingClientRect();\n this.setFadePosition(rect);\n this.setModalPosition(rect);\n\n if (this.show()) {\n if (!this._widget.target()) {\n this._widget.target(this._modalBody.node());\n }\n this._widget.resize().render();\n } else {\n this._widget\n .target(null)\n .render()\n ;\n }\n }\n\n exit(domNode, element) {\n if (this._widget) {\n this._widget.target(null);\n }\n super.exit(domNode, element);\n }\n\n formattedTitle() {\n const title = this.title_exists() ? this.title().trim() : \"\";\n if (title.length > 0 && title.slice(0, 1) === \"(\" && title.slice(-1) === \")\") {\n return title.slice(1, -1);\n }\n return this.title();\n }\n}\nModal.prototype._class += \" layout_Modal\";\n\nexport interface Modal {\n show(): boolean;\n show(_: boolean): this;\n showFade(): boolean;\n showFade(_: boolean): this;\n enableClickFadeToClose(): boolean;\n enableClickFadeToClose(_: boolean): this;\n title(): string;\n title(_: string): this;\n title_exists(): boolean;\n titleFontSize(): number;\n titleFontSize(_: number): this;\n titleFontColor(): string;\n titleFontColor(_: string): this;\n minWidth(): string;\n minWidth(_: string): this;\n minHeight(): string;\n minHeight(_: string): this;\n maxWidth(): string;\n maxWidth(_: string): this;\n maxHeight(): string;\n maxHeight(_: string): this;\n fixedWidth(): string;\n fixedWidth(_: string): this;\n fixedHeight(): string;\n fixedHeight(_: string): this;\n fixedTop(): string;\n fixedTop(_: string): this;\n fixedLeft(): string;\n fixedLeft(_: string): this;\n relativeTargetId(): string;\n relativeTargetId(_: string): this;\n widget(): Widget;\n widget(_: Widget): this;\n overflowX(): \"hidden\" | \"scroll\";\n overflowX(_: \"hidden\" | \"scroll\"): this;\n overflowY(): \"hidden\" | \"scroll\";\n overflowY(_: \"hidden\" | \"scroll\"): this;\n}\n\nModal.prototype.publish(\"title\", null, \"string\", \"title\");\nModal.prototype.publish(\"widget\", null, \"widget\", \"widget\");\nModal.prototype.publish(\"titleFontSize\", 18, \"number\", \"titleFontSize (in pixels)\");\nModal.prototype.publish(\"titleFontColor\", \"#ffffff\", \"html-color\", \"titleFontColor\");\nModal.prototype.publish(\"relativeTargetId\", null, \"string\", \"relativeTargetId\");\n\nModal.prototype.publish(\"show\", true, \"boolean\", \"show\");\nModal.prototype.publish(\"showFade\", true, \"boolean\", \"showFade\");\nModal.prototype.publish(\"enableClickFadeToClose\", true, \"boolean\", \"enableClickFadeToClose\");\n\nModal.prototype.publish(\"minWidth\", \"400px\", \"string\", \"minWidth\");\nModal.prototype.publish(\"minHeight\", \"400px\", \"string\", \"minHeight\");\nModal.prototype.publish(\"maxWidth\", \"800px\", \"string\", \"maxWidth\");\nModal.prototype.publish(\"maxHeight\", \"800px\", \"string\", \"maxHeight\");\nModal.prototype.publish(\"fixedWidth\", null, \"string\", \"fixedWidth\");\nModal.prototype.publish(\"fixedHeight\", null, \"string\", \"fixedHeight\");\nModal.prototype.publish(\"fixedTop\", null, \"string\", \"fixedTop\");\nModal.prototype.publish(\"fixedLeft\", null, \"string\", \"fixedLeft\");\nModal.prototype.publish(\"overflowX\", \"hidden\", \"string\", \"overflowX\");\nModal.prototype.publish(\"overflowY\", \"scroll\", \"string\", \"overflowY\");\n", "(function(){\n if (!document.getElementById('810b6dee')) {\n var e = document.createElement('style');\n e.id = '810b6dee';\n e.textContent = `.layout_Modal-header {\n background-color: rgb(63,81,181);\n overflow: hidden;\n}\n.layout_Modal-body {\n background-color: #ffffff;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n.layout_Modal-title {\n position: absolute;\n}\n.layout_Modal-annotations {\n position: absolute;\n}\n.layout_Modal-closeButton {\n cursor: pointer;\n}\n.layout_Modal-closeButton:hover {\n opacity: 0.7;\n}\n.layout_Modal-closeButton:active {\n opacity: 0.5;\n}\n.layout_Modal-fade {\n position: fixed;\n background-color: #000;\n opacity: 0.5;\n z-index: 10000;\n}\n.layout_Modal-content {\n position: fixed;\n background-color: #ffffff;\n z-index: 10100;\n}\n.layout_Modal-fade-hidden {\n display: none;\n}\n.layout_Modal-fadeClickable {\n cursor: pointer;\n}`;\n document.head.appendChild(e);\n }\n })();", "(function(){\n if (!document.getElementById('0b83f800')) {\n var e = document.createElement('style');\n e.id = '0b83f800';\n e.textContent = `.layout_ChartPanel .series.highlight {\n stroke-width: 2px;\n opacity: 1;\n}\n\n.layout_ChartPanel .series.lowlight {\n opacity: 0.3!important;\n}\n`;\n document.head.appendChild(e);\n }\n })();", "import { HTMLWidget } from \"@hpcc-js/common\";\nimport { select as d3Select } from \"d3-selection\";\n\nimport \"../src/FlexGrid.css\";\n\nexport class FlexGrid extends HTMLWidget {\n constructor() {\n super();\n }\n enter(domNode, element) {\n super.enter(domNode, element);\n d3Select(domNode.parentNode)\n .style(\"height\", \"100%\")\n .style(\"width\", \"100%\")\n ;\n }\n update(domNode, element) {\n super.update(domNode, element);\n const context = this;\n\n const cachedSizes = [];\n this.updateFlexParent(element);\n const listItems = element.selectAll(\".FlexGrid-list-item\").data(this.widgets(), w => w.id());\n listItems.enter()\n .append(\"div\")\n .classed(\"FlexGrid-list-item\", true)\n .each(function (w) {\n w.target(this);\n })\n .merge(listItems)\n .style(\"min-height\", this.itemMinHeight() + \"px\")\n .style(\"min-width\", this.itemMinWidth() + \"px\")\n .style(\"flex-basis\", (n, i) => {\n const flexBasis = this.widgetsFlexBasis()[i];\n return typeof flexBasis !== \"undefined\" ? flexBasis : this.flexBasis();\n })\n .style(\"flex-grow\", (n, i) => {\n const flexGrow = this.widgetsFlexGrow()[i];\n return typeof flexGrow !== \"undefined\" ? flexGrow : this.flexGrow();\n })\n .style(\"border-width\", this.borderWidth() + \"px\")\n .style(\"border-color\", this.itemBorderColor())\n .each(function () {\n this.firstChild.style.display = \"none\";\n })\n .each(function () {\n const rect = this.getBoundingClientRect();\n cachedSizes.push([\n rect.width,\n rect.height\n ]);\n })\n .each(function (w, i) {\n this.firstChild.style.display = \"block\";\n w.resize({\n width: cachedSizes[i][0] - (2 * context.borderWidth()),\n height: cachedSizes[i][1] - (2 * context.borderWidth())\n });\n })\n ;\n listItems.exit().remove();\n }\n exit(domNode, element) {\n super.exit(domNode, element);\n }\n updateFlexParent(element) {\n element\n .style(\"height\", \"100%\")\n .style(\"flex-direction\", this.orientation() === \"horizontal\" ? \"row\" : \"column\")\n .style(\"flex-wrap\", this.flexWrap())\n .style(\"align-items\", this.alignItems())\n .style(\"align-content\", this.alignContent())\n .style(\"overflow-x\", () => {\n if (this.forceXScroll() || (this.orientation() === \"horizontal\" && this.flexWrap() === \"nowrap\" && !this.disableScroll())) {\n return \"scroll\";\n }\n return \"hidden\";\n })\n .style(\"overflow-y\", () => {\n if (this.forceYScroll() || (this.orientation() === \"vertical\" && this.flexWrap() === \"nowrap\" && !this.disableScroll())) {\n return \"scroll\";\n }\n return \"hidden\";\n })\n ;\n }\n}\nFlexGrid.prototype._class += \" layout_FlexGrid\";\n\nexport interface FlexGrid {\n widgets(): any;\n widgets(_: any): this;\n orientation(): \"horizontal\" | \"vertical\";\n orientation(_: \"horizontal\" | \"vertical\"): this;\n flexWrap(): \"nowrap\" | \"wrap\" | \"wrap-reverse\";\n flexWrap(_: \"nowrap\" | \"wrap\" | \"wrap-reverse\"): this;\n itemMinHeight(): number;\n itemMinHeight(_: number): this;\n itemMinWidth(): number;\n itemMinWidth(_: number): this;\n alignItems(): \"flex-start\" | \"center\" | \"flex-end\" | \"stretch\";\n alignItems(_: \"flex-start\" | \"center\" | \"flex-end\" | \"stretch\"): this;\n alignContent(): \"flex-start\" | \"center\" | \"flex-end\" | \"stretch\" | \"space-between\" | \"space-around\";\n alignContent(_: \"flex-start\" | \"center\" | \"flex-end\" | \"stretch\" | \"space-between\" | \"space-around\"): this;\n itemBorderColor(): string;\n itemBorderColor(_: string): this;\n borderWidth(): number;\n borderWidth(_: number): this;\n flexGrow(): number;\n flexGrow(_: number): this;\n widgetsFlexGrow(): number[];\n widgetsFlexGrow(_: number[]): this;\n flexBasis(): string;\n flexBasis(_: string): this;\n widgetsFlexBasis(): string[];\n widgetsFlexBasis(_: string[]): this;\n disableScroll(): boolean;\n disableScroll(_: boolean): this;\n forceXScroll(): boolean;\n forceXScroll(_: boolean): this;\n forceYScroll(): boolean;\n forceYScroll(_: boolean): this;\n}\n\nFlexGrid.prototype.publish(\"itemBorderColor\", \"transparent\", \"html-color\", \"Color of list item borders\");\nFlexGrid.prototype.publish(\"borderWidth\", 0, \"number\", \"Width of list item borders (pixels)\");\nFlexGrid.prototype.publish(\"orientation\", \"horizontal\", \"set\", \"Controls the flex-direction of the list items\", [\"horizontal\", \"vertical\"]);\nFlexGrid.prototype.publish(\"flexWrap\", \"wrap\", \"set\", \"Controls the line wrap when overflow occurs\", [\"nowrap\", \"wrap\", \"wrap-reverse\"]);\nFlexGrid.prototype.publish(\"disableScroll\", false, \"boolean\", \"If false, scrollbar will show (when flexWrap is set to 'nowrap')\", null, { disable: (w: any) => w.flexWrap() !== \"nowrap\" });\nFlexGrid.prototype.publish(\"forceXScroll\", false, \"boolean\", \"If true, horzontal scrollbar will show\");\nFlexGrid.prototype.publish(\"forceYScroll\", false, \"boolean\", \"If true, vertical scrollbar will show\");\nFlexGrid.prototype.publish(\"itemMinHeight\", 64, \"number\", \"Minimum height of a list item (pixels)\");\nFlexGrid.prototype.publish(\"itemMinWidth\", 64, \"number\", \"Minimum width of a list item (pixels)\");\nFlexGrid.prototype.publish(\"alignItems\", \"stretch\", \"set\", \"Controls normal alignment of items\", [\"flex-start\", \"center\", \"flex-end\", \"stretch\"]);\nFlexGrid.prototype.publish(\"alignContent\", \"stretch\", \"set\", \"Controls normal alignment of item rows\", [\"flex-start\", \"center\", \"flex-end\", \"stretch\", \"space-between\", \"space-around\"]);\nFlexGrid.prototype.publish(\"flexGrow\", 1, \"number\", \"Default flex-grow style for all list items\");\nFlexGrid.prototype.publish(\"flexBasis\", \"10%\", \"string\", \"Default flex-basis style for all list items\");\nFlexGrid.prototype.publish(\"widgetsFlexGrow\", [], \"array\", \"Array of flex-grow values keyed on the widgets array\");\nFlexGrid.prototype.publish(\"widgetsFlexBasis\", [], \"array\", \"Array of flex-basis values keyed on the widgets array\");\nFlexGrid.prototype.publish(\"widgets\", [], \"widgetArray\", \"Array of widgets to be rendered as list items\");\n", "(function(){\n if (!document.getElementById('1c68d178')) {\n var e = document.createElement('style');\n e.id = '1c68d178';\n e.textContent = `.layout_FlexGrid{\n display: flex;\n}\n.FlexGrid-list-item{\n overflow: hidden;\n border-style: solid;\n flex-grow: 1;\n}`;\n document.head.appendChild(e);\n }\n })();", "import { d3Event, drag as d3Drag, HTMLWidget, Platform, select as d3Select, Utility } from \"@hpcc-js/common\";\nimport * as _GridList from \"grid-list\";\nimport { Cell } from \"./Cell.ts\";\n\nimport \"../src/Grid.css\";\n\nconst GridList = (_GridList && _GridList.default) || _GridList;\n\nexport type ICellPosition = [number, number, number, number];\n\nexport class Grid extends HTMLWidget {\n divItems;\n\n gridList;\n items;\n itemsMap;\n origItems;\n cellWidth;\n cellHeight;\n dragItem;\n dragItemPos;\n\n _d3Drag;\n _d3DragResize;\n _selectionBag;\n _scrollBarWidth;\n\n constructor() {\n super();\n\n this._tag = \"div\";\n this._selectionBag = new Utility.Selection(this);\n\n this.content([]);\n }\n\n getDimensions() {\n const size = { width: 0, height: 0 };\n this.content().forEach(function (cell) {\n if (size.width < cell.gridCol() + cell.gridColSpan()) {\n size.width = cell.gridCol() + cell.gridColSpan();\n }\n if (size.height < cell.gridRow() + cell.gridRowSpan()) {\n size.height = cell.gridRow() + cell.gridRowSpan();\n }\n }, this);\n return size;\n }\n\n clearContent(widget) {\n this.content(this.content().filter(function (contentWidget) {\n if (!widget) {\n contentWidget.target(null);\n return false;\n }\n let w: any = contentWidget;\n while (w) {\n if (widget === w) {\n contentWidget.target(null);\n return false;\n }\n w = w.widget ? w.widget() : null;\n }\n return true;\n }));\n }\n\n setContent(row, col, widget, title?, rowSpan?, colSpan?) {\n rowSpan = rowSpan || 1;\n colSpan = colSpan || 1;\n title = title || \"\";\n this.content(this.content().filter(function (contentWidget) {\n if (contentWidget.gridRow() === row && contentWidget.gridCol() === col) {\n contentWidget.target(null);\n return false;\n }\n return true;\n }));\n if (widget) {\n const cell = new Cell()\n .gridRow(row)\n .gridCol(col)\n .widget(widget)\n .title(title)\n .gridRowSpan(rowSpan)\n .gridColSpan(colSpan)\n ;\n this.content().push(cell);\n }\n return this;\n }\n\n sortedContent() {\n return this.content().sort(function (l, r) {\n if (l.gridRow() === r.gridRow()) {\n return l.gridCol() - r.gridCol();\n }\n return l.gridRow() - r.gridRow();\n });\n }\n\n getCell(row, col) {\n let retVal = null;\n this.content().some(function (cell) {\n if (row >= cell.gridRow() && row < cell.gridRow() + cell.gridRowSpan() &&\n col >= cell.gridCol() && col < cell.gridCol() + cell.gridColSpan()) {\n retVal = cell;\n return true;\n }\n return false;\n });\n return retVal;\n }\n\n getWidgetCell(id) {\n let retVal = null;\n this.content().some(function (cell) {\n if (cell.widget().id() === id) {\n retVal = cell;\n return true;\n }\n return false;\n });\n return retVal;\n }\n\n getContent(id) {\n let retVal = null;\n this.content().some(function (cell) {\n if (cell.widget().id() === id) {\n retVal = cell.widget();\n return true;\n }\n return false;\n });\n return retVal;\n }\n\n cellToGridItem(cell) {\n return {\n x: cell.gridCol(),\n y: cell.gridRow(),\n w: cell.gridColSpan(),\n h: cell.gridRowSpan(),\n id: cell.id(),\n cell\n };\n }\n\n gridItemToCell(item) {\n item.cell\n .gridCol(item.x)\n .gridRow(item.y)\n .gridColSpan(item.w)\n .gridRowSpan(item.h)\n ;\n }\n\n resetItemsPos() {\n this.origItems.forEach(function (origItem) {\n const item = this.itemsMap[origItem.id];\n item.x = origItem.x;\n item.y = origItem.y;\n }, this);\n }\n\n initGridList() {\n this.itemsMap = {};\n this.items = this.content().map(function (cell) {\n const retVal = this.cellToGridItem(cell);\n this.itemsMap[retVal.id] = retVal;\n return retVal;\n }, this);\n this.origItems = this.content().map(this.cellToGridItem);\n this.gridList = new GridList(this.items, {\n direction: this.snapping(),\n lanes: this.snapping() === \"horizontal\" ? this.snappingRows() : this.snappingColumns()\n });\n }\n\n killGridList() {\n this.gridList = null;\n delete this.items;\n delete this.itemsMap;\n }\n\n enter(domNode, element) {\n super.enter(domNode, element);\n\n this._scrollBarWidth = Platform.getScrollbarWidth();\n\n const context = this;\n this._d3Drag = d3Drag()\n .subject(function (_d) {\n const d = context.cellToGridItem(_d);\n return { x: d.x * context.cellWidth, y: d.y * context.cellHeight };\n })\n .on(\"start\", function (_d: any) {\n if (!context.designMode()) return;\n d3Event().sourceEvent.stopPropagation();\n context.initGridList();\n const d = context.itemsMap[_d.id()];\n context.dragItem = element.append(\"div\")\n .attr(\"class\", \"dragging\")\n .style(\"transform\", function () { return \"translate(\" + d.x * context.cellWidth + \"px, \" + d.y * context.cellHeight + \"px)\"; })\n .style(\"width\", function () { return d.w * context.cellWidth - context.gutter() + \"px\"; })\n .style(\"height\", function () { return d.h * context.cellHeight - context.gutter() + \"px\"; })\n ;\n context.selectionBagClick(_d);\n })\n .on(\"drag\", function (_d: any) {\n if (!context.designMode()) return;\n const event = d3Event();\n event.sourceEvent.stopPropagation();\n const d = context.itemsMap[_d.id()];\n if (event.x < 0) {\n event.x = 0;\n }\n if (event.x + d.w * context.cellWidth > context.snappingColumns() * context.cellWidth) {\n event.x = context.snappingColumns() * context.cellWidth - d.w * context.cellWidth;\n }\n if (event.y < 0) {\n event.y = 0;\n }\n if (event.y + d.h * context.cellWidth > context.snappingRows() * context.cellWidth) {\n event.y = context.snappingRows() * context.cellWidth - d.h * context.cellWidth;\n }\n const pos = [Math.max(0, Math.floor((event.x + context.cellWidth / 2) / context.cellWidth)), Math.max(0, Math.floor((event.y + context.cellHeight / 2) / context.cellHeight))];\n if (d.x !== pos[0] || d.y !== pos[1]) {\n if (context.snapping() !== \"none\") {\n context.resetItemsPos();\n context.gridList.moveItemToPosition(d, pos);\n } else {\n d.x = pos[0];\n d.y = pos[1];\n }\n if (_d.gridCol() !== d.x || _d.gridRow() !== d.y) {\n context.items.forEach(context.gridItemToCell);\n context.updateGrid(false, 100);\n }\n }\n context.dragItem\n .style(\"transform\", function () { return \"translate(\" + event.x + \"px, \" + event.y + \"px)\"; })\n .style(\"width\", function () { return d.w * context.cellWidth + \"px\"; })\n .style(\"height\", function () { return d.h * context.cellHeight + \"px\"; })\n ;\n })\n .on(\"end\", function () {\n if (!context.designMode()) return;\n d3Event().sourceEvent.stopPropagation();\n context.dragItem.remove();\n context.dragItem = null;\n context.killGridList();\n })\n ;\n\n this._d3DragResize = d3Drag()\n .subject(function (_d) {\n const d = context.cellToGridItem(_d);\n return { x: (d.x + d.w - 1) * context.cellWidth, y: (d.y + d.h - 1) * context.cellHeight };\n })\n .on(\"start\", function (_d: any) {\n if (!context.designMode()) return;\n d3Event().sourceEvent.stopPropagation();\n context.initGridList();\n const d = context.itemsMap[_d.id()];\n context.dragItem = element.append(\"div\")\n .attr(\"class\", \"resizing\")\n .style(\"transform\", function () { return \"translate(\" + d.x * context.cellWidth + \"px, \" + d.y * context.cellHeight + \"px)\"; })\n .style(\"width\", function () { return d.w * context.cellWidth - context.gutter() + \"px\"; })\n .style(\"height\", function () { return d.h * context.cellHeight - context.gutter() + \"px\"; })\n ;\n context.dragItemPos = { x: d.x, y: d.y };\n })\n .on(\"drag\", function (_d: any) {\n if (!context.designMode()) return;\n const event = d3Event();\n event.sourceEvent.stopPropagation();\n const d = context.itemsMap[_d.id()];\n const pos = [Math.max(0, Math.round(event.x / context.cellWidth)), Math.max(0, Math.round(event.y / context.cellHeight))];\n const size = {\n w: Math.max(1, pos[0] - d.x + 1),\n h: Math.max(1, pos[1] - d.y + 1)\n };\n if (d.w !== size.w || d.h !== size.h) {\n if (context.snapping() !== \"none\") {\n context.resetItemsPos();\n context.gridList.resizeItem(d, size);\n } else {\n d.w = size.w;\n d.h = size.h;\n }\n if (_d.gridColSpan() !== d.w || _d.gridRowSpan() !== d.h) {\n context.items.forEach(context.gridItemToCell);\n context.updateGrid(d.id, 100);\n }\n }\n context.dragItem\n .style(\"width\", function () { return (-d.x + 1) * context.cellWidth + event.x - context.gutter() + \"px\"; })\n .style(\"height\", function () { return (-d.y + 1) * context.cellHeight + event.y - context.gutter() + \"px\"; })\n ;\n })\n .on(\"end\", function () {\n if (!context.designMode()) return;\n d3Event().sourceEvent.stopPropagation();\n context.dragItem.remove();\n context.dragItem = null;\n context.killGridList();\n })\n ;\n }\n\n updateGrid(resize, transitionDuration: number = 0, _noRender: boolean = false) {\n transitionDuration = transitionDuration || 0;\n const context = this;\n this.divItems\n .classed(\"draggable\", this.designMode())\n .transition().duration(transitionDuration)\n .style(\"left\", function (d) { return d.gridCol() * context.cellWidth + context.gutter() / 2 + \"px\"; })\n .style(\"top\", function (d) { return d.gridRow() * context.cellHeight + context.gutter() / 2 + \"px\"; })\n .style(\"width\", function (d) { return d.gridColSpan() * context.cellWidth - context.gutter() + \"px\"; })\n .style(\"height\", function (d) { return d.gridRowSpan() * context.cellHeight - context.gutter() + \"px\"; })\n .on(\"end\", function (d) {\n d\n .surfaceShadow_default(context.surfaceShadow())\n .surfacePadding_default(context.surfacePadding())\n .surfaceBorderWidth_default(context.surfaceBorderWidth())\n .surfaceBackgroundColor_default(context.surfaceBackgroundColor())\n ;\n\n if (resize === true || resize === d.id()) {\n d\n .resize()\n .lazyRender()\n ;\n }\n })\n ;\n }\n\n update(domNode, element2) {\n super.update(domNode, element2);\n\n this._placeholderElement.style(\"overflow-x\", this.fitTo() === \"width\" ? \"hidden\" : null);\n this._placeholderElement.style(\"overflow-y\", this.fitTo() === \"width\" ? \"scroll\" : null);\n const dimensions = this.getDimensions();\n const clientWidth = this.width() - (this.fitTo() === \"width\" ? this._scrollBarWidth : 0);\n this.cellWidth = clientWidth / dimensions.width;\n this.cellHeight = this.fitTo() === \"all\" ? this.height() / dimensions.height : this.cellWidth;\n if (this.designMode()) {\n const cellLaneRatio = Math.min(this.width() / this.snappingColumns(), this.height() / this.snappingRows());\n const laneWidth = Math.floor(cellLaneRatio);\n this.cellWidth = laneWidth;\n this.cellHeight = this.cellWidth;\n }\n\n // Grid ---\n const context = this;\n const divItems = element2.selectAll(\"#\" + this.id() + \" > .ddCell\").data(this.content(), function (d) { return d.id(); });\n this.divItems = divItems.enter().append(\"div\")\n .attr(\"class\", \"ddCell\")\n .each(function (d) {\n d.target(this);\n d.__grid_watch = d.monitor(function (key, newVal, oldVal) {\n if (context._renderCount && (key === \"snapping\" || key.indexOf(\"grid\") === 0) && newVal !== oldVal) {\n if (!context.gridList) {\n // API Call (only needed when not dragging) ---\n context.initGridList();\n if (context.snapping() !== \"none\") {\n context.gridList.resizeGrid(context.snapping() === \"horizontal\" ? context.snappingRows() : context.snappingColumns());\n }\n context.items.forEach(context.gridItemToCell);\n context.updateGrid(d.id(), 100);\n context.killGridList();\n }\n }\n });\n const element = d3Select(this);\n element.append(\"div\")\n .attr(\"class\", \"resizeHandle\")\n .call(context._d3DragResize)\n .append(\"div\")\n .attr(\"class\", \"resizeHandleDisplay\")\n ;\n }).merge(divItems)\n ;\n this.divItems.each(function (d) {\n const element = d3Select(this);\n if (context.designMode()) {\n element.call(context._d3Drag);\n } else {\n element\n .on(\"mousedown.drag\", null)\n .on(\"touchstart.drag\", null)\n ;\n }\n });\n this.divItems.select(\".resizeHandle\")\n .style(\"display\", this.designMode() ? null : \"none\")\n ;\n\n this.updateGrid(true);\n divItems.exit()\n .each(function (d) {\n d.target(null);\n if (d.__grid_watch) {\n d.__grid_watch.remove();\n }\n })\n .remove()\n ;\n\n // Snapping ---\n const lanesBackground = element2.selectAll(\"#\" + this.id() + \" > .laneBackground\").data(this.designMode() ? [\"\"] : []);\n lanesBackground.enter().insert(\"div\", \":first-child\")\n .attr(\"class\", \"laneBackground\")\n .style(\"left\", \"1px\")\n .style(\"top\", \"1px\")\n .on(\"click\", function () {\n context.selectionBagClear();\n })\n .merge(lanesBackground)\n .style(\"width\", (this.snappingColumns() * this.cellWidth) + \"px\")\n .style(\"height\", (this.snappingRows() * this.cellHeight) + \"px\")\n ;\n lanesBackground.exit()\n .each(function () {\n context.selectionBagClear();\n })\n .remove()\n ;\n\n const lanes = element2.selectAll(\"#\" + this.id() + \" > .lane\").data(this.designMode() ? [\"\"] : []);\n lanes.enter().append(\"div\")\n .attr(\"class\", \"lane\")\n .style(\"left\", \"1px\")\n .style(\"top\", \"1px\")\n ;\n lanes\n .style(\"display\", this.showLanes() ? null : \"none\")\n .style(\"width\", (this.snappingColumns() * this.cellWidth) + \"px\")\n .style(\"height\", (this.snappingRows() * this.cellHeight) + \"px\")\n .style(\"background-image\", \"linear-gradient(to right, grey 1px, transparent 1px), linear-gradient(to bottom, grey 1px, transparent 1px)\")\n .style(\"background-size\", this.cellWidth + \"px \" + this.cellHeight + \"px\")\n ;\n lanes.exit()\n .remove()\n ;\n }\n\n exit(domNode, element) {\n this.content().forEach(w => w.target(null));\n super.exit(domNode, element);\n }\n\n _createSelectionObject(d) {\n return {\n _id: d._id,\n element: () => {\n return d._element;\n },\n widget: d\n };\n }\n\n selection(_) {\n if (!arguments.length) return this._selectionBag.get().map(function (d) { return d._id; });\n this._selectionBag.set(_.map(function (row) {\n return this._createSelectionObject(row);\n }, this));\n return this;\n }\n\n selectionBagClear() {\n if (!this._selectionBag.isEmpty()) {\n this._selectionBag.clear();\n this.postSelectionChange();\n }\n }\n\n selectionBagClick(d) {\n if (d !== null) {\n const selectionObj = this._createSelectionObject(d);\n if (d3Event().sourceEvent.ctrlKey) {\n if (this._selectionBag.isSelected(selectionObj)) {\n this._selectionBag.remove(selectionObj);\n this.postSelectionChange();\n } else {\n this._selectionBag.append(selectionObj);\n this.postSelectionChange();\n }\n } else {\n const selected = this._selectionBag.get();\n if (selected.length === 1 && selected[0]._id === selectionObj._id) {\n this.selectionBagClear();\n } else {\n this._selectionBag.set([selectionObj]);\n }\n this.postSelectionChange();\n }\n }\n }\n\n postSelectionChange() {\n }\n\n applyLayout(layoutArr: ICellPosition[]) {\n this.divItems.each((d, i) => {\n if (layoutArr[i]) {\n const [x, y, w, h] = layoutArr[i];\n d\n .gridCol(x)\n .gridRow(y)\n .gridColSpan(w)\n .gridRowSpan(h)\n ;\n }\n });\n this.updateGrid(true);\n }\n\n vizActivation(elem) {\n }\n}\nGrid.prototype._class += \" layout_Grid\";\n\nexport interface Grid {\n designMode(): boolean;\n designMode(_: boolean): this;\n showLanes(): boolean;\n showLanes(_: boolean): this;\n fitTo(): string;\n fitTo(_: string): this;\n\n snapping(): string;\n snapping(_: string): this;\n snappingColumns(): number;\n snappingColumns(_: number): this;\n snappingRows(): number;\n snappingRows(_: number): this;\n snappingColumns_default(): number;\n snappingColumns_default(_: number): this;\n snappingRows_default(): number;\n snappingRows_default(_: number): this;\n\n gutter(): number;\n gutter(_: number): this;\n\n surfaceShadow(): boolean;\n surfaceShadow(_: boolean): this;\n surfacePadding(): string;\n surfacePadding(_: string): this;\n surfaceBorderWidth(): number;\n surfaceBorderWidth(_: number): this;\n surfaceBackgroundColor(): string;\n surfaceBackgroundColor(_: string): this;\n\n content(): Cell[];\n content(_: Cell[]): this;\n}\n\nGrid.prototype.publish(\"designMode\", false, \"boolean\", \"Design Mode\", null, { tags: [\"Basic\"] });\nGrid.prototype.publish(\"showLanes\", true, \"boolean\", \"Show snapping lanes when in design mode\", null, { tags: [\"Basic\"], disable: w => !w.designMode() });\nGrid.prototype.publish(\"fitTo\", \"all\", \"set\", \"Sizing Strategy\", [\"all\", \"width\"], { tags: [\"Basic\"] });\nGrid.prototype.publish(\"snapping\", \"vertical\", \"set\", \"Snapping Strategy\", [\"vertical\", \"horizontal\", \"none\"]);\nGrid.prototype.publish(\"snappingColumns\", 12, \"number\", \"Snapping Columns\");\nGrid.prototype.publish(\"snappingRows\", 16, \"number\", \"Snapping Rows\");\n\nGrid.prototype.publish(\"gutter\", 6, \"number\", \"Gap Between Widgets\", null, { tags: [\"Basic\"] });\n\nGrid.prototype.publish(\"surfaceShadow\", true, \"boolean\", \"3D Shadow\");\nGrid.prototype.publish(\"surfacePadding\", null, \"string\", \"Cell Padding (px)\", null, { tags: [\"Intermediate\"] });\nGrid.prototype.publish(\"surfaceBorderWidth\", 1, \"number\", \"Width (px) of Cell Border\", null, { tags: [\"Intermediate\"] });\nGrid.prototype.publish(\"surfaceBackgroundColor\", null, \"html-color\", \"Surface Background Color\", null, { tags: [\"Advanced\"] });\n\nGrid.prototype.publish(\"content\", [], \"widgetArray\", \"widgets\", null, { tags: [\"Basic\"], render: false });\n", "(function(){\n if (!document.getElementById('71cbabbe')) {\n var e = document.createElement('style');\n e.id = '71cbabbe';\n e.textContent = `.layout_Grid > .ddCell {\n position: absolute;\n}\n\n.layout_Grid > .laneBackground {\n position: absolute;\n border-style: solid;\n border-width: 1px;\n background: whitesmoke;\n}\n\n.layout_Grid > .lane {\n position: absolute;\n border-style: none;\n opacity: 0.25;\n border-radius: 0px;\n pointer-events: none;\n}\n\n.layout_Grid > .ddCell.draggable {\n border-style: solid;\n border-width: 1px;\n background-color: ghostwhite;\n border-radius: 0px;\n cursor:move;\n}\n\n.layout_Grid > .ddCell.draggable > .resizeHandle {\n bottom: 0px;\n right: 0px;\n width: 8px;\n height: 8px;\n border-style: none;\n position: absolute;\n cursor:nwse-resize;\n}\n\n.layout_Grid > .ddCell.draggable .resizeHandleDisplay {\n bottom: 2px;\n right: 2px;\n width: 4px;\n height: 4px;\n border-style: solid;\n border-left-width: 0px;\n border-top-width: 0px;\n border-right-width: 2px;\n border-bottom-width: 2px;\n border-color: darkGray;\n background-color:none;\n position: absolute;\n}\n\n.layout_Grid > .ddCell.draggable .resizeHandleDisplay:hover {\n border-color: orange;\n}\n\n.layout_Grid > .dragging {\n border-style: solid;\n border-width: 1px;\n border-color: gray;\n border-radius: 0px;\n position: absolute;\n background: repeating-linear-gradient( -45deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0) 4px, rgba(100, 100, 100, 0.1) 4px, rgba(100, 100, 100, 0.1) 8px );\n}\n\n.layout_Grid > .resizing {\n border-style: solid;\n border-width: 1px;\n border-color: gray;\n background-color: orange;\n border-radius: 0px;\n position: absolute;\n opacity:0.3;\n background: repeating-linear-gradient( -45deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0) 4px, orange 4px, orange 8px );\n}\n\n.layout_Grid > .ddCell.draggable .common_Widget.selected {\n border-style: solid;\n border-width: 1px;\n border-color: red;\n background-color: gray;\n border-radius: 0px;\n position: absolute;\n background: repeating-linear-gradient( -45deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0) 4px, rgba(100, 0, 0, 0.1) 4px, rgba(100, 0, 0, 0.1) 8px );\n}\n\n.layout_Grid #drag-me::before {\n content: \"#\" attr(id);\n font-weight: bold;\n}\n`;\n document.head.appendChild(e);\n }\n })();", "import { FlexGrid } from \"./FlexGrid.ts\";\n\nexport class HorizontalList extends FlexGrid {\n constructor() {\n super();\n this.orientation_default(\"horizontal\");\n this.flexWrap_default(\"nowrap\");\n }\n}\nHorizontalList.prototype._class += \" layout_HorizontalList\";\n\nexport interface HorizontalList {\n orientation_default(_: \"horizontal\" | \"vertical\");\n flexWrap_default(_: \"nowrap\" | \"wrap\" | \"wrap-reverse\");\n}\n", "import { HTMLWidget, Text } from \"@hpcc-js/common\";\n\nimport \"../src/Layered.css\";\n\nexport type LayerPlacement = \"default\" | \"top\" | \"right\" | \"bottom\" | \"left\" | \"center\";\n\nexport class Layered extends HTMLWidget {\n protected _contentContainer;\n _widgetPlacements;\n _widgetRatios;\n constructor() {\n super();\n\n this._tag = \"div\";\n this._widgetPlacements = [];\n this._widgetRatios = [];\n }\n\n addLayer(widget, placement: LayerPlacement = \"default\", widthRatio: number = 1, heightRatio: number = 1) {\n const widgets = this.widgets();\n widgets.push(widget ? widget : new Text().text(\"No widget defined for layer.\"));\n this.widgets(widgets);\n this._widgetPlacements.push(placement);\n this._widgetRatios.push([widthRatio, heightRatio]);\n return this;\n }\n\n enter(domNode, element) {\n super.enter(domNode, element);\n this._contentContainer = element.append(\"div\")\n .attr(\"class\", \"container\")\n ;\n }\n\n update(domNode, element) {\n super.update(domNode, element);\n const context = this;\n\n element.style(\"padding\", this.surfacePadding() + \"px\");\n\n const content = this._contentContainer.selectAll(\".content.id\" + this.id()).data(this.widgets(), function (d) { return d.id(); });\n content.enter().append(\"div\")\n .attr(\"class\", \"content id\" + this.id())\n .each(function (widget, idx) {\n widget.target(this);\n })\n .merge(content)\n .each(function (widget, idx) {\n const clientSize = {\n width: context.clientWidth(),\n height: context.clientHeight()\n };\n const widgetSize = context.widgetSize(idx, clientSize);\n const widgetPosition = context.widgetPosition(idx, clientSize, widgetSize);\n this.style.top = widgetPosition.y + \"px\";\n this.style.left = widgetPosition.x + \"px\";\n widget\n .resize(widgetSize)\n .render()\n ;\n })\n ;\n content.exit()\n .each(function (widget, idx) {\n widget\n .target(null)\n ;\n })\n .remove()\n ;\n content.order();\n }\n\n widgetSize(idx, clientSize) {\n if (this._widgetPlacements[idx] === \"default\") {\n return {\n width: clientSize.width * this._widgetRatios[idx][0],\n height: clientSize.height * this._widgetRatios[idx][1]\n };\n } else {\n return {\n width: clientSize.width * this._widgetRatios[idx][0],\n height: clientSize.height * this._widgetRatios[idx][1]\n };\n }\n }\n widgetPosition(idx, clientSize, widgetSize) {\n switch (this._widgetPlacements[idx]) {\n default:\n return {\n x: 0,\n y: 0\n };\n case \"top\":\n return {\n x: (clientSize.width / 2) - (widgetSize.width / 2),\n y: 0\n };\n case \"bottom\":\n return {\n x: (clientSize.width / 2) - (widgetSize.width / 2),\n y: clientSize.height - widgetSize.height\n };\n case \"left\":\n return {\n x: 0,\n y: (clientSize.height / 2) - (widgetSize.height / 2)\n };\n case \"right\":\n return {\n x: clientSize.width - widgetSize.width,\n y: (clientSize.height / 2) - (widgetSize.height / 2)\n };\n case \"center\":\n return {\n x: (clientSize.width / 2) - (widgetSize.width / 2),\n y: (clientSize.height / 2) - (widgetSize.height / 2)\n };\n }\n }\n}\nLayered.prototype._class += \" layout_Layered\";\n\nexport interface Layered {\n surfacePadding(): number;\n surfacePadding(_: number): this;\n widgets(): any;\n widgets(_: any): this;\n}\n\nLayered.prototype.publish(\"surfacePadding\", 0, \"number\", \"Padding\");\nLayered.prototype.publish(\"widgets\", [], \"widgetArray\", \"widgets\", null, { tags: [\"Private\"] });\n", "(function(){\n if (!document.getElementById('ed0ab859')) {\n var e = document.createElement('style');\n e.id = 'ed0ab859';\n e.textContent = `.layout_Layered {\n pointer-events: none;\n}\n.layout_Layered > .container > .content {\n position: absolute;\n}\n.layout_Layered > .container > .content > div > .common_Widget,\n.layout_Layered > .container > .content > div > svg > .common_Widget {\n pointer-events: all;\n}\n`;\n document.head.appendChild(e);\n }\n })();", "import { HTMLWidget, Widget } from \"@hpcc-js/common\";\n\nexport class Popup extends HTMLWidget {\n _surfaceButtons;\n _originalPosition;\n\n constructor() {\n super();\n this._tag = \"div\";\n this._surfaceButtons = [];\n }\n\n updateState(visible) {\n visible = visible || !this.popupState();\n this.popupState(visible).render();\n }\n\n enter(domNode, element) {\n super.enter(domNode, element);\n this.widget()\n .target(domNode)\n ;\n this._originalPosition = this.position();\n }\n\n update(domNode, element) {\n super.update(domNode, element);\n element\n .style(\"visibility\", this.popupState() ? null : \"hidden\")\n .style(\"opacity\", this.popupState() ? null : 0)\n .style(\"width\", this.shrinkWrap() ? this.widget().width() + \"px\" : this._size.width + \"px\")\n .style(\"height\", this.shrinkWrap() ? this.widget().height() + \"px\" : this._size.height + \"px\")\n ;\n if (this.widget().size().height === 0) {\n this.widget().resize(this.size());\n }\n }\n\n postUpdate(domNode, element) {\n let left;\n let top;\n switch (this.centerPopup()) {\n case \"container\":\n if (this._placeholderElement) {\n left = parseInt(this._placeholderElement.style(\"width\")) / 2 - this.widget().width() / 2;\n top = parseInt(this._placeholderElement.style(\"height\")) / 2 - this.widget().height() / 2;\n }\n this.position(\"absolute\");\n break;\n\n case \"window\":\n left = window.innerWidth / 2 - this.widget().width() / 2;\n top = window.innerHeight / 2 - this.widget().height() / 2;\n this.position(\"fixed\");\n break;\n\n default:\n left = 0;\n top = 0;\n this.position(this._originalPosition);\n break;\n }\n\n this.pos({ x: left, y: top });\n\n super.postUpdate(domNode, element);\n\n element\n .style(\"position\", this.position())\n .style(\"left\", this.left() + \"px\")\n .style(\"right\", this.right() + \"px\")\n .style(\"top\", this.top() + \"px\")\n .style(\"bottom\", this.bottom() + \"px\")\n ;\n }\n\n exit(domNode, element) {\n if (this.widget()) {\n this.widget().target(null);\n }\n super.exit(domNode, element);\n }\n\n click(obj) {\n }\n}\nPopup.prototype._class += \" layout_Popup\";\n\nexport interface Popup {\n popupState(): boolean;\n popupState(_: boolean): this;\n shrinkWrap(): boolean;\n shrinkWrap(_: boolean): this;\n centerPopup(): \"none\" | \"container\" | \"window\";\n centerPopup(_: \"none\" | \"container\" | \"window\"): this;\n top(): number;\n top(_: number): this;\n bottom(): number;\n bottom(_: number): this;\n left(): number;\n left(_: number): this;\n right(): number;\n right(_: number): this;\n position(): string;\n position(_: string): this;\n\n widget(): Widget;\n widget(_: Widget): this;\n}\n\nPopup.prototype.publish(\"popupState\", false, \"boolean\", \"State of the popup, visible (true) or hidden (false)\", null, {});\nPopup.prototype.publish(\"shrinkWrap\", false, \"boolean\", \"The popup parent container either shrinks to the size of its contents (true) or expands to fit thge popup's parentDiv (false)\", null, {});\nPopup.prototype.publish(\"centerPopup\", \"none\", \"set\", \"Center the widget in its container element (target) or in the window\", [\"none\", \"container\", \"window\"], {});\nPopup.prototype.publish(\"top\", null, \"number\", \"Top position property of popup\", null, {});\nPopup.prototype.publish(\"bottom\", null, \"number\", \"Bottom position property of popup\", null, {});\nPopup.prototype.publish(\"left\", null, \"number\", \"Left position property of popup\", null, {});\nPopup.prototype.publish(\"right\", null, \"number\", \"Right position property of popup\", null, {});\nPopup.prototype.publish(\"position\", \"relative\", \"set\", \"Value of the 'position' property\", [\"absolute\", \"relative\", \"fixed\", \"static\", \"initial\", \"inherit\"], { tags: [\"Private\"] });\n\nPopup.prototype.publish(\"widget\", null, \"widget\", \"Widget\", null, { tags: [\"Private\"] });\n", "import { HTMLWidget, Text, Widget } from \"@hpcc-js/common\";\nimport { select as d3Select } from \"d3-selection\";\nimport { Surface } from \"./Surface.ts\";\n\nimport \"../src/Tabbed.css\";\n\nexport class Tabbed extends HTMLWidget {\n _tabContainer;\n _contentContainer;\n\n constructor() {\n super();\n\n this._tag = \"div\";\n }\n\n clearTabs() {\n this.labels([]);\n this.widgets([]);\n return this;\n }\n\n addTab(widget, label, isActive?, callback?) {\n const widgetSize = widget.size();\n if (widgetSize.width === 0 && widgetSize.height === 0) {\n widget.size({ width: \"100%\", height: \"100%\" });\n }\n const labels = this.labels();\n const widgets = this.widgets();\n if (isActive) {\n this.activeTabIdx(this.widgets().length);\n }\n labels.push(label);\n const surface = new Surface().widget(widget ? widget : new Text().text(\"No widget defined for tab\"));\n widgets.push(surface);\n this.labels(labels);\n this.widgets(widgets);\n if (callback) {\n callback(surface);\n }\n return this;\n }\n\n widgetSize(widgetDiv) {\n const width = this.clientWidth();\n let height = this.clientHeight();\n\n const tcBox = this._tabContainer.node().getBoundingClientRect();\n if (typeof (tcBox.height) !== \"undefined\") {\n height -= tcBox.height;\n }\n return { width, height };\n }\n\n enter(domNode, element) {\n super.enter(domNode, element);\n this._tabContainer = element.append(\"div\");\n this._contentContainer = element.append(\"div\");\n }\n\n update(domNode, element) {\n super.update(domNode, element);\n const context = this;\n\n element.style(\"padding\", this.surfacePadding_exists() ? this.surfacePadding() + \"px\" : null);\n\n const tabs = this._tabContainer.selectAll(\".tab-button.id\" + this.id()).data(this.showTabs() ? this.labels() : [], function (d) { return d; });\n tabs.enter().append(\"span\")\n .attr(\"class\", \"tab-button id\" + this.id())\n .style(\"cursor\", \"pointer\")\n .on(\"click\", function (d, idx) {\n context.click(context.widgets()[idx].widget(), d, idx);\n context\n .activeTabIdx(idx)\n .render()\n ;\n }).merge(tabs)\n .classed(\"active\", function (d, idx) { return context.activeTabIdx() === idx; })\n .text(function (d) { return d; })\n ;\n tabs.exit().remove();\n\n const content = this._contentContainer.selectAll(\".tab-content.id\" + this.id()).data(this.widgets(), function (d) { return d.id(); });\n content.enter().append(\"div\")\n .attr(\"class\", \"tab-content id\" + this.id())\n .each(function (widget, idx) {\n widget.target(this);\n }).merge(content)\n .classed(\"active\", function (d, idx) { return context.activeTabIdx() === idx; })\n .style(\"display\", function (d, idx) { return context.activeTabIdx() === idx ? \"block\" : \"none\"; })\n .each(function (surface, idx) {\n surface.visible(context.activeTabIdx() === idx);\n if (context.activeTabIdx() === idx) {\n const wSize = context.widgetSize(d3Select(this));\n surface\n .surfaceBorderWidth(context.showTabs() ? null : 0)\n .surfacePadding(context.showTabs() ? null : 0)\n .resize(wSize)\n ;\n }\n })\n ;\n content.exit()\n .each(function (widget, idx) {\n widget\n .target(null)\n ;\n })\n .remove();\n\n switch (this.tabLocation()) {\n case \"bottom\":\n this._tabContainer\n .attr(\"class\", \"on_bottom\")\n .style(\"top\", (this._contentContainer.node().offsetHeight + this.surfacePadding()) + \"px\")\n .style(\"position\", \"absolute\")\n ;\n this._contentContainer\n .style(\"top\", this.surfacePadding_exists() ? this.surfacePadding() + \"px\" : null)\n .style(\"position\", \"absolute\")\n ;\n break;\n default:\n this._tabContainer\n .attr(\"class\", \"on_top\")\n .style(\"top\", null)\n .style(\"position\", \"relative\")\n ;\n this._contentContainer\n .style(\"top\", (this._tabContainer.node().offsetHeight + this.surfacePadding()) + \"px\")\n .style(\"position\", \"absolute\")\n ;\n break;\n }\n }\n\n click(widget, column, idx) {\n }\n}\nTabbed.prototype._class += \" layout_Tabbed\";\n\nexport interface Tabbed {\n showTabs(): boolean;\n showTabs(_: boolean): this;\n surfacePadding(): number;\n surfacePadding(_: number): this;\n surfacePadding_exists(): boolean;\n activeTabIdx(): number;\n activeTabIdx(_: number): this;\n\n labels(): string[];\n labels(_: string[]): this;\n tabLocation(): \"top\" | \"bottom\";\n tabLocation(_: \"top\" | \"bottom\"): this;\n widgets(): any[];\n widgets(_: any[]): this;\n}\n\nTabbed.prototype.publish(\"showTabs\", true, \"boolean\", \"Show Tabs\", null, {});\nTabbed.prototype.publish(\"surfacePadding\", 4, \"number\", \"Padding\");\nTabbed.prototype.publish(\"activeTabIdx\", 0, \"number\", \"Index of active tab\", null, {});\n\nTabbed.prototype.publish(\"labels\", [], \"array\", \"Array of tab labels sharing an index with \", null, { tags: [\"Private\"] });\nTabbed.prototype.publish(\"tabLocation\", \"top\", \"set\", \"Position the tabs at the bottom of the widget\", [\"top\", \"bottom\"], { tags: [\"Private\"] });\nTabbed.prototype.publish(\"widgets\", [], \"widgetArray\", \"widgets\", null, { tags: [\"Private\"] });\n", "(function(){\n if (!document.getElementById('6b6715fa')) {\n var e = document.createElement('style');\n e.id = '6b6715fa';\n e.textContent = `.layout_Tabbed .tab-button {\n position: relative;\n top: 1px;\n display: inline-block;\n border-left: 1px solid #ddd;\n border-top: 1px solid #ddd;\n border-right: 1px solid #ddd;\n background-color: transparent;\n margin-right: 4px;\n padding: 2px;\n padding-bottom: 4px;\n background-color: #ccc;\n}\n\n.layout_Tabbed .tab-button.active {\n background-color: white;\n z-index:999;\n}\n.layout_Tabbed .on_bottom .tab-button {\n border-bottom: 1px solid #ddd;\n border-top: none;\n top: -1px;\n}`;\n document.head.appendChild(e);\n }\n })();", "import { HTMLWidget, Widget } from \"@hpcc-js/common\";\nimport { select as d3Select } from \"d3-selection\";\n\nimport \"../src/Toolbar.css\";\n\nexport class Toolbar extends HTMLWidget {\n\n constructor() {\n super();\n this._tag = \"div\";\n }\n\n enter(domNode, element) {\n super.enter(domNode, element);\n }\n\n update(domNode, element) {\n super.update(domNode, element);\n const context = this;\n\n element\n .attr(\"title\", context.title())\n .style(\"background-color\", this.backgroundColor())\n ;\n\n const title = element.selectAll(\"div.toolbar-title\")\n .data(this.title() ? [this.title()] : []);\n title.enter().append(\"div\")\n .classed(\"toolbar-title\", true)\n .append(\"span\")\n ;\n title.selectAll(\"div.toolbar-title > span\")\n .style(\"font-size\", this.fontSize_exists() ? this.fontSize() + \"px\" : null)\n .style(\"color\", this.fontColor_exists() ? this.fontColor() : null)\n .style(\"font-family\", this.fontFamily_exists() ? this.fontFamily() : null)\n .style(\"font-weight\", this.fontBold_exists() ? (this.fontBold() ? \"bold\" : \"normal\") : null)\n .style(\"background-color\", this.backgroundColor_exists() ? this.backgroundColor() : null)\n .text(context.title())\n ;\n title.exit().remove();\n\n const childWidgets = element.selectAll(\"div.toolbar-child\")\n .data(this.widgets() !== null ? this.widgets() : [], function (d) { return d.id(); });\n\n childWidgets.enter().insert(\"div\", \"div.toolbar-title\")\n .each(function (d, i) {\n const widgetClass = context.widgetClasses()[i] ? context.widgetClasses()[i] + \" toolbar-child\" : \"toolbar-child\";\n d3Select(this).classed(widgetClass, true);\n d.target(this);\n });\n childWidgets.exit().each(function (d) {\n d.target(null);\n }).remove();\n childWidgets.order();\n }\n\n render(callback?: (w: Widget) => void): this {\n const context = this;\n return super.render(function (w) {\n const toolbarBBox = context.element().node().getBoundingClientRect();\n let minX = toolbarBBox.left + toolbarBBox.width;\n context.element().selectAll(\"div.toolbar-child\")\n .each(function (d, i) {\n const childBBox = this.getBoundingClientRect();\n if (minX > childBBox.left)\n minX = childBBox.left;\n })\n ;\n context.element().select(\".toolbar-title\")\n .style(\"width\", (minX - toolbarBBox.left - 4) + \"px\")\n ;\n if (callback) {\n callback(w);\n }\n });\n }\n\n exit(domNode, element) {\n this.widgets().forEach(function (w) {\n w.target(null);\n });\n super.exit(domNode, element);\n }\n}\nToolbar.prototype._class += \" layout_Toolbar\";\n\nexport interface Toolbar {\n title(): string;\n title(_: string): this;\n\n fontSize(): number;\n fontSize(_: number): this;\n fontSize_exists(): boolean;\n fontColor(): string;\n fontColor(_: string): this;\n fontColor_exists(): boolean;\n fontFamily(): string;\n fontFamily(_: string): this;\n fontFamily_exists(): boolean;\n fontBold(): boolean;\n fontBold(_: boolean): this;\n fontBold_exists(): boolean;\n backgroundColor(): string;\n backgroundColor(_: string): this;\n backgroundColor_exists(): boolean;\n\n responsive(): boolean;\n responsive(_: boolean): this;\n\n widgets(): any[];\n widgets(_: any[]): this;\n widgetClasses(): string[];\n widgetClasses(_: string[]): this;\n}\n\nToolbar.prototype.publish(\"title\", \"\", \"string\", \"Title\", null, { tags: [\"Intermediate\"] });\n\nToolbar.prototype.publish(\"fontSize\", null, \"number\", \"Title Font Size (px)\", null, { tags: [\"Advanced\"], optional: true });\nToolbar.prototype.publish(\"fontColor\", null, \"html-color\", \"Title Font Color\", null, { tags: [\"Advanced\"], optional: true });\nToolbar.prototype.publish(\"fontFamily\", null, \"string\", \"Title Font Family\", null, { tags: [\"Advanced\"], optional: true });\nToolbar.prototype.publish(\"fontBold\", true, \"boolean\", \"Enable Bold Title Font\", null, { tags: [\"Advanced\"], optional: true });\nToolbar.prototype.publish(\"backgroundColor\", null, \"html-color\", \"Background Color\", null, { tags: [\"Intermediate\"], optional: true });\n\nToolbar.prototype.publish(\"responsive\", true, \"boolean\", \"Adapts to pixel width\", null, { tags: [\"Basic\"] });\n\nToolbar.prototype.publish(\"widgets\", [], \"widgetArray\", \"Child widgets of the toolbar\", null, { tags: [\"Basic\"] });\nToolbar.prototype.publish(\"widgetClasses\", [], \"array\", \"Array of Html Element classes to be assigned to the child widgets (shares index with widgets param)\", null, { tags: [\"Basic\"] });\n", "(function(){\n if (!document.getElementById('67787f94')) {\n var e = document.createElement('style');\n e.id = '67787f94';\n e.textContent = `.layout_Toolbar {\n height:100%;\n background-color:#dddddd;\n white-space: nowrap;\n overflow: hidden;\n}\n.layout_Toolbar .toolbar-title {\n display: inline-block;\n position: relative;\n top: 50%;\n transform: translateY(-50%);\n -ms-transform: translateY(-50%);\n\n margin-left:4px;\n font-weight:bold;\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n}\n.layout_Toolbar .toolbar-title span {\n}\n.layout_Toolbar .toolbar-child {\n position: relative;\n top: 50%;\n transform: translateY(-50%);\n -ms-transform: translateY(-50%);\n\n float:right;\n margin-left:4px;\n margin-right:4px;\n line-height:16px;\n}\n`;\n document.head.appendChild(e);\n }\n })();", "import { FlexGrid } from \"./FlexGrid.ts\";\n\nexport class VerticalList extends FlexGrid {\n constructor() {\n super();\n this.orientation_default(\"vertical\");\n this.flexWrap_default(\"nowrap\");\n }\n}\nVerticalList.prototype._class += \" layout_VerticalList\";\n\nexport interface VerticalList {\n orientation_default(_: \"horizontal\" | \"vertical\");\n flexWrap_default(_: \"nowrap\" | \"wrap\" | \"wrap-reverse\");\n}\n", "/**\n * @license React\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=Symbol.for(\"react.element\"),n=Symbol.for(\"react.portal\"),p=Symbol.for(\"react.fragment\"),q=Symbol.for(\"react.strict_mode\"),r=Symbol.for(\"react.profiler\"),t=Symbol.for(\"react.provider\"),u=Symbol.for(\"react.context\"),v=Symbol.for(\"react.forward_ref\"),w=Symbol.for(\"react.suspense\"),x=Symbol.for(\"react.memo\"),y=Symbol.for(\"react.lazy\"),z=Symbol.iterator;function A(a){if(null===a||\"object\"!==typeof a)return null;a=z&&a[z]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}\nvar B={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,D={};function E(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}E.prototype.isReactComponent={};\nE.prototype.setState=function(a,b){if(\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a)throw Error(\"setState(...): takes an object of state variables to update or a function which returns an object of state variables.\");this.updater.enqueueSetState(this,a,b,\"setState\")};E.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};function F(){}F.prototype=E.prototype;function G(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}var H=G.prototype=new F;\nH.constructor=G;C(H,E.prototype);H.isPureReactComponent=!0;var I=Array.isArray,J=Object.prototype.hasOwnProperty,K={current:null},L={key:!0,ref:!0,__self:!0,__source:!0};\nfunction M(a,b,e){var d,c={},k=null,h=null;if(null!=b)for(d in void 0!==b.ref&&(h=b.ref),void 0!==b.key&&(k=\"\"+b.key),b)J.call(b,d)&&!L.hasOwnProperty(d)&&(c[d]=b[d]);var g=arguments.length-2;if(1===g)c.children=e;else if(1<g){for(var f=Array(g),m=0;m<g;m++)f[m]=arguments[m+2];c.children=f}if(a&&a.defaultProps)for(d in g=a.defaultProps,g)void 0===c[d]&&(c[d]=g[d]);return{$$typeof:l,type:a,key:k,ref:h,props:c,_owner:K.current}}\nfunction N(a,b){return{$$typeof:l,type:a.type,key:b,ref:a.ref,props:a.props,_owner:a._owner}}function O(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===l}function escape(a){var b={\"=\":\"=0\",\":\":\"=2\"};return\"$\"+a.replace(/[=:]/g,function(a){return b[a]})}var P=/\\/+/g;function Q(a,b){return\"object\"===typeof a&&null!==a&&null!=a.key?escape(\"\"+a.key):b.toString(36)}\nfunction R(a,b,e,d,c){var k=typeof a;if(\"undefined\"===k||\"boolean\"===k)a=null;var h=!1;if(null===a)h=!0;else switch(k){case \"string\":case \"number\":h=!0;break;case \"object\":switch(a.$$typeof){case l:case n:h=!0}}if(h)return h=a,c=c(h),a=\"\"===d?\".\"+Q(h,0):d,I(c)?(e=\"\",null!=a&&(e=a.replace(P,\"$&/\")+\"/\"),R(c,b,e,\"\",function(a){return a})):null!=c&&(O(c)&&(c=N(c,e+(!c.key||h&&h.key===c.key?\"\":(\"\"+c.key).replace(P,\"$&/\")+\"/\")+a)),b.push(c)),1;h=0;d=\"\"===d?\".\":d+\":\";if(I(a))for(var g=0;g<a.length;g++){k=\na[g];var f=d+Q(k,g);h+=R(k,b,e,f,c)}else if(f=A(a),\"function\"===typeof f)for(a=f.call(a),g=0;!(k=a.next()).done;)k=k.value,f=d+Q(k,g++),h+=R(k,b,e,f,c);else if(\"object\"===k)throw b=String(a),Error(\"Objects are not valid as a React child (found: \"+(\"[object Object]\"===b?\"object with keys {\"+Object.keys(a).join(\", \")+\"}\":b)+\"). If you meant to render a collection of children, use an array instead.\");return h}\nfunction S(a,b,e){if(null==a)return a;var d=[],c=0;R(a,d,\"\",\"\",function(a){return b.call(e,a,c++)});return d}function T(a){if(-1===a._status){var b=a._result;b=b();b.then(function(b){if(0===a._status||-1===a._status)a._status=1,a._result=b},function(b){if(0===a._status||-1===a._status)a._status=2,a._result=b});-1===a._status&&(a._status=0,a._result=b)}if(1===a._status)return a._result.default;throw a._result;}\nvar U={current:null},V={transition:null},W={ReactCurrentDispatcher:U,ReactCurrentBatchConfig:V,ReactCurrentOwner:K};function X(){throw Error(\"act(...) is not supported in production builds of React.\");}\nexports.Children={map:S,forEach:function(a,b,e){S(a,function(){b.apply(this,arguments)},e)},count:function(a){var b=0;S(a,function(){b++});return b},toArray:function(a){return S(a,function(a){return a})||[]},only:function(a){if(!O(a))throw Error(\"React.Children.only expected to receive a single React element child.\");return a}};exports.Component=E;exports.Fragment=p;exports.Profiler=r;exports.PureComponent=G;exports.StrictMode=q;exports.Suspense=w;\nexports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=W;exports.act=X;\nexports.cloneElement=function(a,b,e){if(null===a||void 0===a)throw Error(\"React.cloneElement(...): The argument must be a React element, but you passed \"+a+\".\");var d=C({},a.props),c=a.key,k=a.ref,h=a._owner;if(null!=b){void 0!==b.ref&&(k=b.ref,h=K.current);void 0!==b.key&&(c=\"\"+b.key);if(a.type&&a.type.defaultProps)var g=a.type.defaultProps;for(f in b)J.call(b,f)&&!L.hasOwnProperty(f)&&(d[f]=void 0===b[f]&&void 0!==g?g[f]:b[f])}var f=arguments.length-2;if(1===f)d.children=e;else if(1<f){g=Array(f);\nfor(var m=0;m<f;m++)g[m]=arguments[m+2];d.children=g}return{$$typeof:l,type:a.type,key:c,ref:k,props:d,_owner:h}};exports.createContext=function(a){a={$$typeof:u,_currentValue:a,_currentValue2:a,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null};a.Provider={$$typeof:t,_context:a};return a.Consumer=a};exports.createElement=M;exports.createFactory=function(a){var b=M.bind(null,a);b.type=a;return b};exports.createRef=function(){return{current:null}};\nexports.forwardRef=function(a){return{$$typeof:v,render:a}};exports.isValidElement=O;exports.lazy=function(a){return{$$typeof:y,_payload:{_status:-1,_result:a},_init:T}};exports.memo=function(a,b){return{$$typeof:x,type:a,compare:void 0===b?null:b}};exports.startTransition=function(a){var b=V.transition;V.transition={};try{a()}finally{V.transition=b}};exports.unstable_act=X;exports.useCallback=function(a,b){return U.current.useCallback(a,b)};exports.useContext=function(a){return U.current.useContext(a)};\nexports.useDebugValue=function(){};exports.useDeferredValue=function(a){return U.current.useDeferredValue(a)};exports.useEffect=function(a,b){return U.current.useEffect(a,b)};exports.useId=function(){return U.current.useId()};exports.useImperativeHandle=function(a,b,e){return U.current.useImperativeHandle(a,b,e)};exports.useInsertionEffect=function(a,b){return U.current.useInsertionEffect(a,b)};exports.useLayoutEffect=function(a,b){return U.current.useLayoutEffect(a,b)};\nexports.useMemo=function(a,b){return U.current.useMemo(a,b)};exports.useReducer=function(a,b,e){return U.current.useReducer(a,b,e)};exports.useRef=function(a){return U.current.useRef(a)};exports.useState=function(a){return U.current.useState(a)};exports.useSyncExternalStore=function(a,b,e){return U.current.useSyncExternalStore(a,b,e)};exports.useTransition=function(){return U.current.useTransition()};exports.version=\"18.3.1\";\n", "'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n", "/**\n * @license React\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';function f(a,b){var c=a.length;a.push(b);a:for(;0<c;){var d=c-1>>>1,e=a[d];if(0<g(e,b))a[d]=b,a[c]=e,c=d;else break a}}function h(a){return 0===a.length?null:a[0]}function k(a){if(0===a.length)return null;var b=a[0],c=a.pop();if(c!==b){a[0]=c;a:for(var d=0,e=a.length,w=e>>>1;d<w;){var m=2*(d+1)-1,C=a[m],n=m+1,x=a[n];if(0>g(C,c))n<e&&0>g(x,C)?(a[d]=x,a[n]=c,d=n):(a[d]=C,a[m]=c,d=m);else if(n<e&&0>g(x,c))a[d]=x,a[n]=c,d=n;else break a}}return b}\nfunction g(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}var r=[],t=[],u=1,v=null,y=3,z=!1,A=!1,B=!1,D=\"function\"===typeof setTimeout?setTimeout:null,E=\"function\"===typeof clearTimeout?clearTimeout:null,F=\"undefined\"!==typeof setImmediate?setImmediate:null;\n\"undefined\"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function G(a){for(var b=h(t);null!==b;){if(null===b.callback)k(t);else if(b.startTime<=a)k(t),b.sortIndex=b.expirationTime,f(r,b);else break;b=h(t)}}function H(a){B=!1;G(a);if(!A)if(null!==h(r))A=!0,I(J);else{var b=h(t);null!==b&&K(H,b.startTime-a)}}\nfunction J(a,b){A=!1;B&&(B=!1,E(L),L=-1);z=!0;var c=y;try{G(b);for(v=h(r);null!==v&&(!(v.expirationTime>b)||a&&!M());){var d=v.callback;if(\"function\"===typeof d){v.callback=null;y=v.priorityLevel;var e=d(v.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?v.callback=e:v===h(r)&&k(r);G(b)}else k(r);v=h(r)}if(null!==v)var w=!0;else{var m=h(t);null!==m&&K(H,m.startTime-b);w=!1}return w}finally{v=null,y=c,z=!1}}var N=!1,O=null,L=-1,P=5,Q=-1;\nfunction M(){return exports.unstable_now()-Q<P?!1:!0}function R(){if(null!==O){var a=exports.unstable_now();Q=a;var b=!0;try{b=O(!0,a)}finally{b?S():(N=!1,O=null)}}else N=!1}var S;if(\"function\"===typeof F)S=function(){F(R)};else if(\"undefined\"!==typeof MessageChannel){var T=new MessageChannel,U=T.port2;T.port1.onmessage=R;S=function(){U.postMessage(null)}}else S=function(){D(R,0)};function I(a){O=a;N||(N=!0,S())}function K(a,b){L=D(function(){a(exports.unstable_now())},b)}\nexports.unstable_IdlePriority=5;exports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){A||z||(A=!0,I(J))};\nexports.unstable_forceFrameRate=function(a){0>a||125<a?console.error(\"forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported\"):P=0<a?Math.floor(1E3/a):5};exports.unstable_getCurrentPriorityLevel=function(){return y};exports.unstable_getFirstCallbackNode=function(){return h(r)};exports.unstable_next=function(a){switch(y){case 1:case 2:case 3:var b=3;break;default:b=y}var c=y;y=b;try{return a()}finally{y=c}};exports.unstable_pauseExecution=function(){};\nexports.unstable_requestPaint=function(){};exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=y;y=a;try{return b()}finally{y=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();\"object\"===typeof c&&null!==c?(c=c.delay,c=\"number\"===typeof c&&0<c?d+c:d):c=d;switch(a){case 1:var e=-1;break;case 2:e=250;break;case 5:e=1073741823;break;case 4:e=1E4;break;default:e=5E3}e=c+e;a={id:u++,callback:b,priorityLevel:a,startTime:c,expirationTime:e,sortIndex:-1};c>d?(a.sortIndex=c,f(t,a),null===h(r)&&a===h(t)&&(B?(E(L),L=-1):B=!0,K(H,c-d))):(a.sortIndex=e,f(r,a),A||z||(A=!0,I(J)));return a};\nexports.unstable_shouldYield=M;exports.unstable_wrapCallback=function(a){var b=y;return function(){var c=y;y=b;try{return a.apply(this,arguments)}finally{y=c}}};\n", "'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n", "/**\n * @license React\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),ca=require(\"scheduler\");function p(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;c<arguments.length;c++)b+=\"&args[]=\"+encodeURIComponent(arguments[c]);return\"Minified React error #\"+a+\"; visit \"+b+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}var da=new Set,ea={};function fa(a,b){ha(a,b);ha(a+\"Capture\",b)}\nfunction ha(a,b){ea[a]=b;for(a=0;a<b.length;a++)da.add(b[a])}\nvar ia=!(\"undefined\"===typeof window||\"undefined\"===typeof window.document||\"undefined\"===typeof window.document.createElement),ja=Object.prototype.hasOwnProperty,ka=/^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,la=\n{},ma={};function oa(a){if(ja.call(ma,a))return!0;if(ja.call(la,a))return!1;if(ka.test(a))return ma[a]=!0;la[a]=!0;return!1}function pa(a,b,c,d){if(null!==c&&0===c.type)return!1;switch(typeof b){case \"function\":case \"symbol\":return!0;case \"boolean\":if(d)return!1;if(null!==c)return!c.acceptsBooleans;a=a.toLowerCase().slice(0,5);return\"data-\"!==a&&\"aria-\"!==a;default:return!1}}\nfunction qa(a,b,c,d){if(null===b||\"undefined\"===typeof b||pa(a,b,c,d))return!0;if(d)return!1;if(null!==c)switch(c.type){case 3:return!b;case 4:return!1===b;case 5:return isNaN(b);case 6:return isNaN(b)||1>b}return!1}function v(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var z={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){z[a]=new v(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];z[b]=new v(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){z[a]=new v(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){z[a]=new v(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){z[a]=new v(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){z[a]=new v(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){z[a]=new v(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){z[a]=new v(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){z[a]=new v(a,5,!1,a.toLowerCase(),null,!1,!1)});var ra=/[\\-:]([a-z])/g;function sa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(ra,\nsa);z[b]=new v(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!1,!1)});\nz.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction ta(a,b,c,d){var e=z.hasOwnProperty(b)?z[b]:null;if(null!==e?0!==e.type:d||!(2<b.length)||\"o\"!==b[0]&&\"O\"!==b[0]||\"n\"!==b[1]&&\"N\"!==b[1])qa(b,c,e,d)&&(c=null),d||null===e?oa(b)&&(null===c?a.removeAttribute(b):a.setAttribute(b,\"\"+c)):e.mustUseProperty?a[e.propertyName]=null===c?3===e.type?!1:\"\":c:(b=e.attributeName,d=e.attributeNamespace,null===c?a.removeAttribute(b):(e=e.type,c=3===e||4===e&&!0===c?\"\":\"\"+c,d?a.setAttributeNS(d,b,c):a.setAttribute(b,c)))}\nvar ua=aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,va=Symbol.for(\"react.element\"),wa=Symbol.for(\"react.portal\"),ya=Symbol.for(\"react.fragment\"),za=Symbol.for(\"react.strict_mode\"),Aa=Symbol.for(\"react.profiler\"),Ba=Symbol.for(\"react.provider\"),Ca=Symbol.for(\"react.context\"),Da=Symbol.for(\"react.forward_ref\"),Ea=Symbol.for(\"react.suspense\"),Fa=Symbol.for(\"react.suspense_list\"),Ga=Symbol.for(\"react.memo\"),Ha=Symbol.for(\"react.lazy\");Symbol.for(\"react.scope\");Symbol.for(\"react.debug_trace_mode\");\nvar Ia=Symbol.for(\"react.offscreen\");Symbol.for(\"react.legacy_hidden\");Symbol.for(\"react.cache\");Symbol.for(\"react.tracing_marker\");var Ja=Symbol.iterator;function Ka(a){if(null===a||\"object\"!==typeof a)return null;a=Ja&&a[Ja]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}var A=Object.assign,La;function Ma(a){if(void 0===La)try{throw Error();}catch(c){var b=c.stack.trim().match(/\\n( *(at )?)/);La=b&&b[1]||\"\"}return\"\\n\"+La+a}var Na=!1;\nfunction Oa(a,b){if(!a||Na)return\"\";Na=!0;var c=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(b)if(b=function(){throw Error();},Object.defineProperty(b.prototype,\"props\",{set:function(){throw Error();}}),\"object\"===typeof Reflect&&Reflect.construct){try{Reflect.construct(b,[])}catch(l){var d=l}Reflect.construct(a,[],b)}else{try{b.call()}catch(l){d=l}a.call(b.prototype)}else{try{throw Error();}catch(l){d=l}a()}}catch(l){if(l&&d&&\"string\"===typeof l.stack){for(var e=l.stack.split(\"\\n\"),\nf=d.stack.split(\"\\n\"),g=e.length-1,h=f.length-1;1<=g&&0<=h&&e[g]!==f[h];)h--;for(;1<=g&&0<=h;g--,h--)if(e[g]!==f[h]){if(1!==g||1!==h){do if(g--,h--,0>h||e[g]!==f[h]){var k=\"\\n\"+e[g].replace(\" at new \",\" at \");a.displayName&&k.includes(\"<anonymous>\")&&(k=k.replace(\"<anonymous>\",a.displayName));return k}while(1<=g&&0<=h)}break}}}finally{Na=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Ma(a):\"\"}\nfunction Pa(a){switch(a.tag){case 5:return Ma(a.type);case 16:return Ma(\"Lazy\");case 13:return Ma(\"Suspense\");case 19:return Ma(\"SuspenseList\");case 0:case 2:case 15:return a=Oa(a.type,!1),a;case 11:return a=Oa(a.type.render,!1),a;case 1:return a=Oa(a.type,!0),a;default:return\"\"}}\nfunction Qa(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ya:return\"Fragment\";case wa:return\"Portal\";case Aa:return\"Profiler\";case za:return\"StrictMode\";case Ea:return\"Suspense\";case Fa:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case Ca:return(a.displayName||\"Context\")+\".Consumer\";case Ba:return(a._context.displayName||\"Context\")+\".Provider\";case Da:var b=a.render;a=a.displayName;a||(a=b.displayName||\nb.name||\"\",a=\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");return a;case Ga:return b=a.displayName||null,null!==b?b:Qa(a.type)||\"Memo\";case Ha:b=a._payload;a=a._init;try{return Qa(a(b))}catch(c){}}return null}\nfunction Ra(a){var b=a.type;switch(a.tag){case 24:return\"Cache\";case 9:return(b.displayName||\"Context\")+\".Consumer\";case 10:return(b._context.displayName||\"Context\")+\".Provider\";case 18:return\"DehydratedFragment\";case 11:return a=b.render,a=a.displayName||a.name||\"\",b.displayName||(\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");case 7:return\"Fragment\";case 5:return b;case 4:return\"Portal\";case 3:return\"Root\";case 6:return\"Text\";case 16:return Qa(b);case 8:return b===za?\"StrictMode\":\"Mode\";case 22:return\"Offscreen\";\ncase 12:return\"Profiler\";case 21:return\"Scope\";case 13:return\"Suspense\";case 19:return\"SuspenseList\";case 25:return\"TracingMarker\";case 1:case 0:case 17:case 2:case 14:case 15:if(\"function\"===typeof b)return b.displayName||b.name||null;if(\"string\"===typeof b)return b}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"string\":case \"undefined\":return a;case \"object\":return a;default:return\"\"}}\nfunction Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return A({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function ab(a,b){b=b.checked;null!=b&&ta(a,\"checked\",b,!1)}\nfunction bb(a,b){ab(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?cb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&cb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction db(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction cb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}var eb=Array.isArray;\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e<c.length;e++)b[\"$\"+c[e]]=!0;for(c=0;c<a.length;c++)e=b.hasOwnProperty(\"$\"+a[c].value),a[c].selected!==e&&(a[c].selected=e),e&&d&&(a[c].defaultSelected=!0)}else{c=\"\"+Sa(c);b=null;for(e=0;e<a.length;e++){if(a[e].value===c){a[e].selected=!0;d&&(a[e].defaultSelected=!0);return}null!==b||a[e].disabled||(b=a[e])}null!==b&&(b.selected=!0)}}\nfunction gb(a,b){if(null!=b.dangerouslySetInnerHTML)throw Error(p(91));return A({},b,{value:void 0,defaultValue:void 0,children:\"\"+a._wrapperState.initialValue})}function hb(a,b){var c=b.value;if(null==c){c=b.children;b=b.defaultValue;if(null!=c){if(null!=b)throw Error(p(92));if(eb(c)){if(1<c.length)throw Error(p(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:Sa(c)}}\nfunction ib(a,b){var c=Sa(b.value),d=Sa(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function jb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}function kb(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}\nfunction lb(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?kb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar mb,nb=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(\"http://www.w3.org/2000/svg\"!==a.namespaceURI||\"innerHTML\"in a)a.innerHTML=b;else{mb=mb||document.createElement(\"div\");mb.innerHTML=\"<svg>\"+b.valueOf().toString()+\"</svg>\";for(b=mb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction ob(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar pb={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,\nzoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},qb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(pb).forEach(function(a){qb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);pb[b]=pb[a]})});function rb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||pb.hasOwnProperty(a)&&pb[a]?(\"\"+b).trim():b+\"px\"}\nfunction sb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=rb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var tb=A({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction ub(a,b){if(b){if(tb[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(p(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(p(60));if(\"object\"!==typeof b.dangerouslySetInnerHTML||!(\"__html\"in b.dangerouslySetInnerHTML))throw Error(p(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(p(62));}}\nfunction vb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}var wb=null;function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(p(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;a<b.length;a++)Bb(b[a])}}function Gb(a,b){return a(b)}function Hb(){}var Ib=!1;function Jb(a,b,c){if(Ib)return a(b,c);Ib=!0;try{return Gb(a,b,c)}finally{if(Ib=!1,null!==zb||null!==Ab)Hb(),Fb()}}\nfunction Kb(a,b){var c=a.stateNode;if(null===c)return null;var d=Db(c);if(null===d)return null;c=d[b];a:switch(b){case \"onClick\":case \"onClickCapture\":case \"onDoubleClick\":case \"onDoubleClickCapture\":case \"onMouseDown\":case \"onMouseDownCapture\":case \"onMouseMove\":case \"onMouseMoveCapture\":case \"onMouseUp\":case \"onMouseUpCapture\":case \"onMouseEnter\":(d=!d.disabled)||(a=a.type,d=!(\"button\"===a||\"input\"===a||\"select\"===a||\"textarea\"===a));a=!d;break a;default:a=!1}if(a)return null;if(c&&\"function\"!==\ntypeof c)throw Error(p(231,b,typeof c));return c}var Lb=!1;if(ia)try{var Mb={};Object.defineProperty(Mb,\"passive\",{get:function(){Lb=!0}});window.addEventListener(\"test\",Mb,Mb);window.removeEventListener(\"test\",Mb,Mb)}catch(a){Lb=!1}function Nb(a,b,c,d,e,f,g,h,k){var l=Array.prototype.slice.call(arguments,3);try{b.apply(c,l)}catch(m){this.onError(m)}}var Ob=!1,Pb=null,Qb=!1,Rb=null,Sb={onError:function(a){Ob=!0;Pb=a}};function Tb(a,b,c,d,e,f,g,h,k){Ob=!1;Pb=null;Nb.apply(Sb,arguments)}\nfunction Ub(a,b,c,d,e,f,g,h,k){Tb.apply(this,arguments);if(Ob){if(Ob){var l=Pb;Ob=!1;Pb=null}else throw Error(p(198));Qb||(Qb=!0,Rb=l)}}function Vb(a){var b=a,c=a;if(a.alternate)for(;b.return;)b=b.return;else{a=b;do b=a,0!==(b.flags&4098)&&(c=b.return),a=b.return;while(a)}return 3===b.tag?c:null}function Wb(a){if(13===a.tag){var b=a.memoizedState;null===b&&(a=a.alternate,null!==a&&(b=a.memoizedState));if(null!==b)return b.dehydrated}return null}function Xb(a){if(Vb(a)!==a)throw Error(p(188));}\nfunction Yb(a){var b=a.alternate;if(!b){b=Vb(a);if(null===b)throw Error(p(188));return b!==a?null:a}for(var c=a,d=b;;){var e=c.return;if(null===e)break;var f=e.alternate;if(null===f){d=e.return;if(null!==d){c=d;continue}break}if(e.child===f.child){for(f=e.child;f;){if(f===c)return Xb(e),a;if(f===d)return Xb(e),b;f=f.sibling}throw Error(p(188));}if(c.return!==d.return)c=e,d=f;else{for(var g=!1,h=e.child;h;){if(h===c){g=!0;c=e;d=f;break}if(h===d){g=!0;d=e;c=f;break}h=h.sibling}if(!g){for(h=f.child;h;){if(h===\nc){g=!0;c=f;d=e;break}if(h===d){g=!0;d=f;c=e;break}h=h.sibling}if(!g)throw Error(p(189));}}if(c.alternate!==d)throw Error(p(190));}if(3!==c.tag)throw Error(p(188));return c.stateNode.current===c?a:b}function Zb(a){a=Yb(a);return null!==a?$b(a):null}function $b(a){if(5===a.tag||6===a.tag)return a;for(a=a.child;null!==a;){var b=$b(a);if(null!==b)return b;a=a.sibling}return null}\nvar ac=ca.unstable_scheduleCallback,bc=ca.unstable_cancelCallback,cc=ca.unstable_shouldYield,dc=ca.unstable_requestPaint,B=ca.unstable_now,ec=ca.unstable_getCurrentPriorityLevel,fc=ca.unstable_ImmediatePriority,gc=ca.unstable_UserBlockingPriority,hc=ca.unstable_NormalPriority,ic=ca.unstable_LowPriority,jc=ca.unstable_IdlePriority,kc=null,lc=null;function mc(a){if(lc&&\"function\"===typeof lc.onCommitFiberRoot)try{lc.onCommitFiberRoot(kc,a,void 0,128===(a.current.flags&128))}catch(b){}}\nvar oc=Math.clz32?Math.clz32:nc,pc=Math.log,qc=Math.LN2;function nc(a){a>>>=0;return 0===a?32:31-(pc(a)/qc|0)|0}var rc=64,sc=4194304;\nfunction tc(a){switch(a&-a){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return a&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;\ndefault:return a}}function uc(a,b){var c=a.pendingLanes;if(0===c)return 0;var d=0,e=a.suspendedLanes,f=a.pingedLanes,g=c&268435455;if(0!==g){var h=g&~e;0!==h?d=tc(h):(f&=g,0!==f&&(d=tc(f)))}else g=c&~e,0!==g?d=tc(g):0!==f&&(d=tc(f));if(0===d)return 0;if(0!==b&&b!==d&&0===(b&e)&&(e=d&-d,f=b&-b,e>=f||16===e&&0!==(f&4194240)))return b;0!==(d&4)&&(d|=c&16);b=a.entangledLanes;if(0!==b)for(a=a.entanglements,b&=d;0<b;)c=31-oc(b),e=1<<c,d|=a[c],b&=~e;return d}\nfunction vc(a,b){switch(a){case 1:case 2:case 4:return b+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return b+5E3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}\nfunction wc(a,b){for(var c=a.suspendedLanes,d=a.pingedLanes,e=a.expirationTimes,f=a.pendingLanes;0<f;){var g=31-oc(f),h=1<<g,k=e[g];if(-1===k){if(0===(h&c)||0!==(h&d))e[g]=vc(h,b)}else k<=b&&(a.expiredLanes|=h);f&=~h}}function xc(a){a=a.pendingLanes&-1073741825;return 0!==a?a:a&1073741824?1073741824:0}function yc(){var a=rc;rc<<=1;0===(rc&4194240)&&(rc=64);return a}function zc(a){for(var b=[],c=0;31>c;c++)b.push(a);return b}\nfunction Ac(a,b,c){a.pendingLanes|=b;536870912!==b&&(a.suspendedLanes=0,a.pingedLanes=0);a=a.eventTimes;b=31-oc(b);a[b]=c}function Bc(a,b){var c=a.pendingLanes&~b;a.pendingLanes=b;a.suspendedLanes=0;a.pingedLanes=0;a.expiredLanes&=b;a.mutableReadLanes&=b;a.entangledLanes&=b;b=a.entanglements;var d=a.eventTimes;for(a=a.expirationTimes;0<c;){var e=31-oc(c),f=1<<e;b[e]=0;d[e]=-1;a[e]=-1;c&=~f}}\nfunction Cc(a,b){var c=a.entangledLanes|=b;for(a=a.entanglements;c;){var d=31-oc(c),e=1<<d;e&b|a[d]&b&&(a[d]|=b);c&=~e}}var C=0;function Dc(a){a&=-a;return 1<a?4<a?0!==(a&268435455)?16:536870912:4:1}var Ec,Fc,Gc,Hc,Ic,Jc=!1,Kc=[],Lc=null,Mc=null,Nc=null,Oc=new Map,Pc=new Map,Qc=[],Rc=\"mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit\".split(\" \");\nfunction Sc(a,b){switch(a){case \"focusin\":case \"focusout\":Lc=null;break;case \"dragenter\":case \"dragleave\":Mc=null;break;case \"mouseover\":case \"mouseout\":Nc=null;break;case \"pointerover\":case \"pointerout\":Oc.delete(b.pointerId);break;case \"gotpointercapture\":case \"lostpointercapture\":Pc.delete(b.pointerId)}}\nfunction Tc(a,b,c,d,e,f){if(null===a||a.nativeEvent!==f)return a={blockedOn:b,domEventName:c,eventSystemFlags:d,nativeEvent:f,targetContainers:[e]},null!==b&&(b=Cb(b),null!==b&&Fc(b)),a;a.eventSystemFlags|=d;b=a.targetContainers;null!==e&&-1===b.indexOf(e)&&b.push(e);return a}\nfunction Uc(a,b,c,d,e){switch(b){case \"focusin\":return Lc=Tc(Lc,a,b,c,d,e),!0;case \"dragenter\":return Mc=Tc(Mc,a,b,c,d,e),!0;case \"mouseover\":return Nc=Tc(Nc,a,b,c,d,e),!0;case \"pointerover\":var f=e.pointerId;Oc.set(f,Tc(Oc.get(f)||null,a,b,c,d,e));return!0;case \"gotpointercapture\":return f=e.pointerId,Pc.set(f,Tc(Pc.get(f)||null,a,b,c,d,e)),!0}return!1}\nfunction Vc(a){var b=Wc(a.target);if(null!==b){var c=Vb(b);if(null!==c)if(b=c.tag,13===b){if(b=Wb(c),null!==b){a.blockedOn=b;Ic(a.priority,function(){Gc(c)});return}}else if(3===b&&c.stateNode.current.memoizedState.isDehydrated){a.blockedOn=3===c.tag?c.stateNode.containerInfo:null;return}}a.blockedOn=null}\nfunction Xc(a){if(null!==a.blockedOn)return!1;for(var b=a.targetContainers;0<b.length;){var c=Yc(a.domEventName,a.eventSystemFlags,b[0],a.nativeEvent);if(null===c){c=a.nativeEvent;var d=new c.constructor(c.type,c);wb=d;c.target.dispatchEvent(d);wb=null}else return b=Cb(c),null!==b&&Fc(b),a.blockedOn=c,!1;b.shift()}return!0}function Zc(a,b,c){Xc(a)&&c.delete(b)}function $c(){Jc=!1;null!==Lc&&Xc(Lc)&&(Lc=null);null!==Mc&&Xc(Mc)&&(Mc=null);null!==Nc&&Xc(Nc)&&(Nc=null);Oc.forEach(Zc);Pc.forEach(Zc)}\nfunction ad(a,b){a.blockedOn===b&&(a.blockedOn=null,Jc||(Jc=!0,ca.unstable_scheduleCallback(ca.unstable_NormalPriority,$c)))}\nfunction bd(a){function b(b){return ad(b,a)}if(0<Kc.length){ad(Kc[0],a);for(var c=1;c<Kc.length;c++){var d=Kc[c];d.blockedOn===a&&(d.blockedOn=null)}}null!==Lc&&ad(Lc,a);null!==Mc&&ad(Mc,a);null!==Nc&&ad(Nc,a);Oc.forEach(b);Pc.forEach(b);for(c=0;c<Qc.length;c++)d=Qc[c],d.blockedOn===a&&(d.blockedOn=null);for(;0<Qc.length&&(c=Qc[0],null===c.blockedOn);)Vc(c),null===c.blockedOn&&Qc.shift()}var cd=ua.ReactCurrentBatchConfig,dd=!0;\nfunction ed(a,b,c,d){var e=C,f=cd.transition;cd.transition=null;try{C=1,fd(a,b,c,d)}finally{C=e,cd.transition=f}}function gd(a,b,c,d){var e=C,f=cd.transition;cd.transition=null;try{C=4,fd(a,b,c,d)}finally{C=e,cd.transition=f}}\nfunction fd(a,b,c,d){if(dd){var e=Yc(a,b,c,d);if(null===e)hd(a,b,d,id,c),Sc(a,d);else if(Uc(e,a,b,c,d))d.stopPropagation();else if(Sc(a,d),b&4&&-1<Rc.indexOf(a)){for(;null!==e;){var f=Cb(e);null!==f&&Ec(f);f=Yc(a,b,c,d);null===f&&hd(a,b,d,id,c);if(f===e)break;e=f}null!==e&&d.stopPropagation()}else hd(a,b,d,null,c)}}var id=null;\nfunction Yc(a,b,c,d){id=null;a=xb(d);a=Wc(a);if(null!==a)if(b=Vb(a),null===b)a=null;else if(c=b.tag,13===c){a=Wb(b);if(null!==a)return a;a=null}else if(3===c){if(b.stateNode.current.memoizedState.isDehydrated)return 3===b.tag?b.stateNode.containerInfo:null;a=null}else b!==a&&(a=null);id=a;return null}\nfunction jd(a){switch(a){case \"cancel\":case \"click\":case \"close\":case \"contextmenu\":case \"copy\":case \"cut\":case \"auxclick\":case \"dblclick\":case \"dragend\":case \"dragstart\":case \"drop\":case \"focusin\":case \"focusout\":case \"input\":case \"invalid\":case \"keydown\":case \"keypress\":case \"keyup\":case \"mousedown\":case \"mouseup\":case \"paste\":case \"pause\":case \"play\":case \"pointercancel\":case \"pointerdown\":case \"pointerup\":case \"ratechange\":case \"reset\":case \"resize\":case \"seeked\":case \"submit\":case \"touchcancel\":case \"touchend\":case \"touchstart\":case \"volumechange\":case \"change\":case \"selectionchange\":case \"textInput\":case \"compositionstart\":case \"compositionend\":case \"compositionupdate\":case \"beforeblur\":case \"afterblur\":case \"beforeinput\":case \"blur\":case \"fullscreenchange\":case \"focus\":case \"hashchange\":case \"popstate\":case \"select\":case \"selectstart\":return 1;case \"drag\":case \"dragenter\":case \"dragexit\":case \"dragleave\":case \"dragover\":case \"mousemove\":case \"mouseout\":case \"mouseover\":case \"pointermove\":case \"pointerout\":case \"pointerover\":case \"scroll\":case \"toggle\":case \"touchmove\":case \"wheel\":case \"mouseenter\":case \"mouseleave\":case \"pointerenter\":case \"pointerleave\":return 4;\ncase \"message\":switch(ec()){case fc:return 1;case gc:return 4;case hc:case ic:return 16;case jc:return 536870912;default:return 16}default:return 16}}var kd=null,ld=null,md=null;function nd(){if(md)return md;var a,b=ld,c=b.length,d,e=\"value\"in kd?kd.value:kd.textContent,f=e.length;for(a=0;a<c&&b[a]===e[a];a++);var g=c-a;for(d=1;d<=g&&b[c-d]===e[f-d];d++);return md=e.slice(a,1<d?1-d:void 0)}\nfunction od(a){var b=a.keyCode;\"charCode\"in a?(a=a.charCode,0===a&&13===b&&(a=13)):a=b;10===a&&(a=13);return 32<=a||13===a?a:0}function pd(){return!0}function qd(){return!1}\nfunction rd(a){function b(b,d,e,f,g){this._reactName=b;this._targetInst=e;this.type=d;this.nativeEvent=f;this.target=g;this.currentTarget=null;for(var c in a)a.hasOwnProperty(c)&&(b=a[c],this[c]=b?b(f):f[c]);this.isDefaultPrevented=(null!=f.defaultPrevented?f.defaultPrevented:!1===f.returnValue)?pd:qd;this.isPropagationStopped=qd;return this}A(b.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():\"unknown\"!==typeof a.returnValue&&\n(a.returnValue=!1),this.isDefaultPrevented=pd)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():\"unknown\"!==typeof a.cancelBubble&&(a.cancelBubble=!0),this.isPropagationStopped=pd)},persist:function(){},isPersistent:pd});return b}\nvar sd={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(a){return a.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},td=rd(sd),ud=A({},sd,{view:0,detail:0}),vd=rd(ud),wd,xd,yd,Ad=A({},ud,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:zd,button:0,buttons:0,relatedTarget:function(a){return void 0===a.relatedTarget?a.fromElement===a.srcElement?a.toElement:a.fromElement:a.relatedTarget},movementX:function(a){if(\"movementX\"in\na)return a.movementX;a!==yd&&(yd&&\"mousemove\"===a.type?(wd=a.screenX-yd.screenX,xd=a.screenY-yd.screenY):xd=wd=0,yd=a);return wd},movementY:function(a){return\"movementY\"in a?a.movementY:xd}}),Bd=rd(Ad),Cd=A({},Ad,{dataTransfer:0}),Dd=rd(Cd),Ed=A({},ud,{relatedTarget:0}),Fd=rd(Ed),Gd=A({},sd,{animationName:0,elapsedTime:0,pseudoElement:0}),Hd=rd(Gd),Id=A({},sd,{clipboardData:function(a){return\"clipboardData\"in a?a.clipboardData:window.clipboardData}}),Jd=rd(Id),Kd=A({},sd,{data:0}),Ld=rd(Kd),Md={Esc:\"Escape\",\nSpacebar:\" \",Left:\"ArrowLeft\",Up:\"ArrowUp\",Right:\"ArrowRight\",Down:\"ArrowDown\",Del:\"Delete\",Win:\"OS\",Menu:\"ContextMenu\",Apps:\"ContextMenu\",Scroll:\"ScrollLock\",MozPrintableKey:\"Unidentified\"},Nd={8:\"Backspace\",9:\"Tab\",12:\"Clear\",13:\"Enter\",16:\"Shift\",17:\"Control\",18:\"Alt\",19:\"Pause\",20:\"CapsLock\",27:\"Escape\",32:\" \",33:\"PageUp\",34:\"PageDown\",35:\"End\",36:\"Home\",37:\"ArrowLeft\",38:\"ArrowUp\",39:\"ArrowRight\",40:\"ArrowDown\",45:\"Insert\",46:\"Delete\",112:\"F1\",113:\"F2\",114:\"F3\",115:\"F4\",116:\"F5\",117:\"F6\",118:\"F7\",\n119:\"F8\",120:\"F9\",121:\"F10\",122:\"F11\",123:\"F12\",144:\"NumLock\",145:\"ScrollLock\",224:\"Meta\"},Od={Alt:\"altKey\",Control:\"ctrlKey\",Meta:\"metaKey\",Shift:\"shiftKey\"};function Pd(a){var b=this.nativeEvent;return b.getModifierState?b.getModifierState(a):(a=Od[a])?!!b[a]:!1}function zd(){return Pd}\nvar Qd=A({},ud,{key:function(a){if(a.key){var b=Md[a.key]||a.key;if(\"Unidentified\"!==b)return b}return\"keypress\"===a.type?(a=od(a),13===a?\"Enter\":String.fromCharCode(a)):\"keydown\"===a.type||\"keyup\"===a.type?Nd[a.keyCode]||\"Unidentified\":\"\"},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:zd,charCode:function(a){return\"keypress\"===a.type?od(a):0},keyCode:function(a){return\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0},which:function(a){return\"keypress\"===\na.type?od(a):\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0}}),Rd=rd(Qd),Sd=A({},Ad,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Td=rd(Sd),Ud=A({},ud,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:zd}),Vd=rd(Ud),Wd=A({},sd,{propertyName:0,elapsedTime:0,pseudoElement:0}),Xd=rd(Wd),Yd=A({},Ad,{deltaX:function(a){return\"deltaX\"in a?a.deltaX:\"wheelDeltaX\"in a?-a.wheelDeltaX:0},\ndeltaY:function(a){return\"deltaY\"in a?a.deltaY:\"wheelDeltaY\"in a?-a.wheelDeltaY:\"wheelDelta\"in a?-a.wheelDelta:0},deltaZ:0,deltaMode:0}),Zd=rd(Yd),$d=[9,13,27,32],ae=ia&&\"CompositionEvent\"in window,be=null;ia&&\"documentMode\"in document&&(be=document.documentMode);var ce=ia&&\"TextEvent\"in window&&!be,de=ia&&(!ae||be&&8<be&&11>=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1<b.char.length)return b.char;if(b.which)return String.fromCharCode(b.which)}return null;case \"compositionend\":return de&&\"ko\"!==b.locale?null:b.data;default:return null}}\nvar le={color:!0,date:!0,datetime:!0,\"datetime-local\":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function me(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return\"input\"===b?!!le[a.type]:\"textarea\"===b?!0:!1}function ne(a,b,c,d){Eb(d);b=oe(b,\"onChange\");0<b.length&&(c=new td(\"onChange\",\"change\",null,c,d),a.push({event:c,listeners:b}))}var pe=null,qe=null;function re(a){se(a,0)}function te(a){var b=ue(a);if(Wa(b))return a}\nfunction ve(a,b){if(\"change\"===a)return b}var we=!1;if(ia){var xe;if(ia){var ye=\"oninput\"in document;if(!ye){var ze=document.createElement(\"div\");ze.setAttribute(\"oninput\",\"return;\");ye=\"function\"===typeof ze.oninput}xe=ye}else xe=!1;we=xe&&(!document.documentMode||9<document.documentMode)}function Ae(){pe&&(pe.detachEvent(\"onpropertychange\",Be),qe=pe=null)}function Be(a){if(\"value\"===a.propertyName&&te(qe)){var b=[];ne(b,qe,a,xb(a));Jb(re,b)}}\nfunction Ce(a,b,c){\"focusin\"===a?(Ae(),pe=b,qe=c,pe.attachEvent(\"onpropertychange\",Be)):\"focusout\"===a&&Ae()}function De(a){if(\"selectionchange\"===a||\"keyup\"===a||\"keydown\"===a)return te(qe)}function Ee(a,b){if(\"click\"===a)return te(b)}function Fe(a,b){if(\"input\"===a||\"change\"===a)return te(b)}function Ge(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var He=\"function\"===typeof Object.is?Object.is:Ge;\nfunction Ie(a,b){if(He(a,b))return!0;if(\"object\"!==typeof a||null===a||\"object\"!==typeof b||null===b)return!1;var c=Object.keys(a),d=Object.keys(b);if(c.length!==d.length)return!1;for(d=0;d<c.length;d++){var e=c[d];if(!ja.call(b,e)||!He(a[e],b[e]))return!1}return!0}function Je(a){for(;a&&a.firstChild;)a=a.firstChild;return a}\nfunction Ke(a,b){var c=Je(a);a=0;for(var d;c;){if(3===c.nodeType){d=a+c.textContent.length;if(a<=b&&d>=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Je(c)}}function Le(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Le(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Me(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Ne(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nfunction Oe(a){var b=Me(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&c&&c.ownerDocument&&Le(c.ownerDocument.documentElement,c)){if(null!==d&&Ne(c))if(b=d.start,a=d.end,void 0===a&&(a=b),\"selectionStart\"in c)c.selectionStart=b,c.selectionEnd=Math.min(a,c.value.length);else if(a=(b=c.ownerDocument||document)&&b.defaultView||window,a.getSelection){a=a.getSelection();var e=c.textContent.length,f=Math.min(d.start,e);d=void 0===d.end?f:Math.min(d.end,e);!a.extend&&f>d&&(e=d,d=f,f=e);e=Ke(c,f);var g=Ke(c,\nd);e&&g&&(1!==a.rangeCount||a.anchorNode!==e.node||a.anchorOffset!==e.offset||a.focusNode!==g.node||a.focusOffset!==g.offset)&&(b=b.createRange(),b.setStart(e.node,e.offset),a.removeAllRanges(),f>d?(a.addRange(b),a.extend(g.node,g.offset)):(b.setEnd(g.node,g.offset),a.addRange(b)))}b=[];for(a=c;a=a.parentNode;)1===a.nodeType&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});\"function\"===typeof c.focus&&c.focus();for(c=0;c<b.length;c++)a=b[c],a.element.scrollLeft=a.left,a.element.scrollTop=a.top}}\nvar Pe=ia&&\"documentMode\"in document&&11>=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Ne(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Ie(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0<d.length&&(b=new td(\"onSelect\",\"select\",null,b,c),a.push({event:b,listeners:d}),b.target=Qe)))}\nfunction Ve(a,b){var c={};c[a.toLowerCase()]=b.toLowerCase();c[\"Webkit\"+a]=\"webkit\"+b;c[\"Moz\"+a]=\"moz\"+b;return c}var We={animationend:Ve(\"Animation\",\"AnimationEnd\"),animationiteration:Ve(\"Animation\",\"AnimationIteration\"),animationstart:Ve(\"Animation\",\"AnimationStart\"),transitionend:Ve(\"Transition\",\"TransitionEnd\")},Xe={},Ye={};\nia&&(Ye=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete We.animationend.animation,delete We.animationiteration.animation,delete We.animationstart.animation),\"TransitionEvent\"in window||delete We.transitionend.transition);function Ze(a){if(Xe[a])return Xe[a];if(!We[a])return a;var b=We[a],c;for(c in b)if(b.hasOwnProperty(c)&&c in Ye)return Xe[a]=b[c];return a}var $e=Ze(\"animationend\"),af=Ze(\"animationiteration\"),bf=Ze(\"animationstart\"),cf=Ze(\"transitionend\"),df=new Map,ef=\"abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel\".split(\" \");\nfunction ff(a,b){df.set(a,b);fa(b,[a])}for(var gf=0;gf<ef.length;gf++){var hf=ef[gf],jf=hf.toLowerCase(),kf=hf[0].toUpperCase()+hf.slice(1);ff(jf,\"on\"+kf)}ff($e,\"onAnimationEnd\");ff(af,\"onAnimationIteration\");ff(bf,\"onAnimationStart\");ff(\"dblclick\",\"onDoubleClick\");ff(\"focusin\",\"onFocus\");ff(\"focusout\",\"onBlur\");ff(cf,\"onTransitionEnd\");ha(\"onMouseEnter\",[\"mouseout\",\"mouseover\"]);ha(\"onMouseLeave\",[\"mouseout\",\"mouseover\"]);ha(\"onPointerEnter\",[\"pointerout\",\"pointerover\"]);\nha(\"onPointerLeave\",[\"pointerout\",\"pointerover\"]);fa(\"onChange\",\"change click focusin focusout input keydown keyup selectionchange\".split(\" \"));fa(\"onSelect\",\"focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange\".split(\" \"));fa(\"onBeforeInput\",[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]);fa(\"onCompositionEnd\",\"compositionend focusout keydown keypress keyup mousedown\".split(\" \"));fa(\"onCompositionStart\",\"compositionstart focusout keydown keypress keyup mousedown\".split(\" \"));\nfa(\"onCompositionUpdate\",\"compositionupdate focusout keydown keypress keyup mousedown\".split(\" \"));var lf=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \"),mf=new Set(\"cancel close invalid load scroll toggle\".split(\" \").concat(lf));\nfunction nf(a,b,c){var d=a.type||\"unknown-event\";a.currentTarget=c;Ub(d,b,void 0,a);a.currentTarget=null}\nfunction se(a,b){b=0!==(b&4);for(var c=0;c<a.length;c++){var d=a[c],e=d.event;d=d.listeners;a:{var f=void 0;if(b)for(var g=d.length-1;0<=g;g--){var h=d[g],k=h.instance,l=h.currentTarget;h=h.listener;if(k!==f&&e.isPropagationStopped())break a;nf(e,h,l);f=k}else for(g=0;g<d.length;g++){h=d[g];k=h.instance;l=h.currentTarget;h=h.listener;if(k!==f&&e.isPropagationStopped())break a;nf(e,h,l);f=k}}}if(Qb)throw a=Rb,Qb=!1,Rb=null,a;}\nfunction D(a,b){var c=b[of];void 0===c&&(c=b[of]=new Set);var d=a+\"__bubble\";c.has(d)||(pf(b,a,2,!1),c.add(d))}function qf(a,b,c){var d=0;b&&(d|=4);pf(c,a,d,b)}var rf=\"_reactListening\"+Math.random().toString(36).slice(2);function sf(a){if(!a[rf]){a[rf]=!0;da.forEach(function(b){\"selectionchange\"!==b&&(mf.has(b)||qf(b,!1,a),qf(b,!0,a))});var b=9===a.nodeType?a:a.ownerDocument;null===b||b[rf]||(b[rf]=!0,qf(\"selectionchange\",!1,b))}}\nfunction pf(a,b,c,d){switch(jd(b)){case 1:var e=ed;break;case 4:e=gd;break;default:e=fd}c=e.bind(null,b,c,a);e=void 0;!Lb||\"touchstart\"!==b&&\"touchmove\"!==b&&\"wheel\"!==b||(e=!0);d?void 0!==e?a.addEventListener(b,c,{capture:!0,passive:e}):a.addEventListener(b,c,!0):void 0!==e?a.addEventListener(b,c,{passive:e}):a.addEventListener(b,c,!1)}\nfunction hd(a,b,c,d,e){var f=d;if(0===(b&1)&&0===(b&2)&&null!==d)a:for(;;){if(null===d)return;var g=d.tag;if(3===g||4===g){var h=d.stateNode.containerInfo;if(h===e||8===h.nodeType&&h.parentNode===e)break;if(4===g)for(g=d.return;null!==g;){var k=g.tag;if(3===k||4===k)if(k=g.stateNode.containerInfo,k===e||8===k.nodeType&&k.parentNode===e)return;g=g.return}for(;null!==h;){g=Wc(h);if(null===g)return;k=g.tag;if(5===k||6===k){d=f=g;continue a}h=h.parentNode}}d=d.return}Jb(function(){var d=f,e=xb(c),g=[];\na:{var h=df.get(a);if(void 0!==h){var k=td,n=a;switch(a){case \"keypress\":if(0===od(c))break a;case \"keydown\":case \"keyup\":k=Rd;break;case \"focusin\":n=\"focus\";k=Fd;break;case \"focusout\":n=\"blur\";k=Fd;break;case \"beforeblur\":case \"afterblur\":k=Fd;break;case \"click\":if(2===c.button)break a;case \"auxclick\":case \"dblclick\":case \"mousedown\":case \"mousemove\":case \"mouseup\":case \"mouseout\":case \"mouseover\":case \"contextmenu\":k=Bd;break;case \"drag\":case \"dragend\":case \"dragenter\":case \"dragexit\":case \"dragleave\":case \"dragover\":case \"dragstart\":case \"drop\":k=\nDd;break;case \"touchcancel\":case \"touchend\":case \"touchmove\":case \"touchstart\":k=Vd;break;case $e:case af:case bf:k=Hd;break;case cf:k=Xd;break;case \"scroll\":k=vd;break;case \"wheel\":k=Zd;break;case \"copy\":case \"cut\":case \"paste\":k=Jd;break;case \"gotpointercapture\":case \"lostpointercapture\":case \"pointercancel\":case \"pointerdown\":case \"pointermove\":case \"pointerout\":case \"pointerover\":case \"pointerup\":k=Td}var t=0!==(b&4),J=!t&&\"scroll\"===a,x=t?null!==h?h+\"Capture\":null:h;t=[];for(var w=d,u;null!==\nw;){u=w;var F=u.stateNode;5===u.tag&&null!==F&&(u=F,null!==x&&(F=Kb(w,x),null!=F&&t.push(tf(w,F,u))));if(J)break;w=w.return}0<t.length&&(h=new k(h,n,null,c,e),g.push({event:h,listeners:t}))}}if(0===(b&7)){a:{h=\"mouseover\"===a||\"pointerover\"===a;k=\"mouseout\"===a||\"pointerout\"===a;if(h&&c!==wb&&(n=c.relatedTarget||c.fromElement)&&(Wc(n)||n[uf]))break a;if(k||h){h=e.window===e?e:(h=e.ownerDocument)?h.defaultView||h.parentWindow:window;if(k){if(n=c.relatedTarget||c.toElement,k=d,n=n?Wc(n):null,null!==\nn&&(J=Vb(n),n!==J||5!==n.tag&&6!==n.tag))n=null}else k=null,n=d;if(k!==n){t=Bd;F=\"onMouseLeave\";x=\"onMouseEnter\";w=\"mouse\";if(\"pointerout\"===a||\"pointerover\"===a)t=Td,F=\"onPointerLeave\",x=\"onPointerEnter\",w=\"pointer\";J=null==k?h:ue(k);u=null==n?h:ue(n);h=new t(F,w+\"leave\",k,c,e);h.target=J;h.relatedTarget=u;F=null;Wc(e)===d&&(t=new t(x,w+\"enter\",n,c,e),t.target=u,t.relatedTarget=J,F=t);J=F;if(k&&n)b:{t=k;x=n;w=0;for(u=t;u;u=vf(u))w++;u=0;for(F=x;F;F=vf(F))u++;for(;0<w-u;)t=vf(t),w--;for(;0<u-w;)x=\nvf(x),u--;for(;w--;){if(t===x||null!==x&&t===x.alternate)break b;t=vf(t);x=vf(x)}t=null}else t=null;null!==k&&wf(g,h,k,t,!1);null!==n&&null!==J&&wf(g,J,n,t,!0)}}}a:{h=d?ue(d):window;k=h.nodeName&&h.nodeName.toLowerCase();if(\"select\"===k||\"input\"===k&&\"file\"===h.type)var na=ve;else if(me(h))if(we)na=Fe;else{na=De;var xa=Ce}else(k=h.nodeName)&&\"input\"===k.toLowerCase()&&(\"checkbox\"===h.type||\"radio\"===h.type)&&(na=Ee);if(na&&(na=na(a,d))){ne(g,na,c,e);break a}xa&&xa(a,h,d);\"focusout\"===a&&(xa=h._wrapperState)&&\nxa.controlled&&\"number\"===h.type&&cb(h,\"number\",h.value)}xa=d?ue(d):window;switch(a){case \"focusin\":if(me(xa)||\"true\"===xa.contentEditable)Qe=xa,Re=d,Se=null;break;case \"focusout\":Se=Re=Qe=null;break;case \"mousedown\":Te=!0;break;case \"contextmenu\":case \"mouseup\":case \"dragend\":Te=!1;Ue(g,c,e);break;case \"selectionchange\":if(Pe)break;case \"keydown\":case \"keyup\":Ue(g,c,e)}var $a;if(ae)b:{switch(a){case \"compositionstart\":var ba=\"onCompositionStart\";break b;case \"compositionend\":ba=\"onCompositionEnd\";\nbreak b;case \"compositionupdate\":ba=\"onCompositionUpdate\";break b}ba=void 0}else ie?ge(a,c)&&(ba=\"onCompositionEnd\"):\"keydown\"===a&&229===c.keyCode&&(ba=\"onCompositionStart\");ba&&(de&&\"ko\"!==c.locale&&(ie||\"onCompositionStart\"!==ba?\"onCompositionEnd\"===ba&&ie&&($a=nd()):(kd=e,ld=\"value\"in kd?kd.value:kd.textContent,ie=!0)),xa=oe(d,ba),0<xa.length&&(ba=new Ld(ba,a,null,c,e),g.push({event:ba,listeners:xa}),$a?ba.data=$a:($a=he(c),null!==$a&&(ba.data=$a))));if($a=ce?je(a,c):ke(a,c))d=oe(d,\"onBeforeInput\"),\n0<d.length&&(e=new Ld(\"onBeforeInput\",\"beforeinput\",null,c,e),g.push({event:e,listeners:d}),e.data=$a)}se(g,b)})}function tf(a,b,c){return{instance:a,listener:b,currentTarget:c}}function oe(a,b){for(var c=b+\"Capture\",d=[];null!==a;){var e=a,f=e.stateNode;5===e.tag&&null!==f&&(e=f,f=Kb(a,c),null!=f&&d.unshift(tf(a,f,e)),f=Kb(a,b),null!=f&&d.push(tf(a,f,e)));a=a.return}return d}function vf(a){if(null===a)return null;do a=a.return;while(a&&5!==a.tag);return a?a:null}\nfunction wf(a,b,c,d,e){for(var f=b._reactName,g=[];null!==c&&c!==d;){var h=c,k=h.alternate,l=h.stateNode;if(null!==k&&k===d)break;5===h.tag&&null!==l&&(h=l,e?(k=Kb(c,f),null!=k&&g.unshift(tf(c,k,h))):e||(k=Kb(c,f),null!=k&&g.push(tf(c,k,h))));c=c.return}0!==g.length&&a.push({event:b,listeners:g})}var xf=/\\r\\n?/g,yf=/\\u0000|\\uFFFD/g;function zf(a){return(\"string\"===typeof a?a:\"\"+a).replace(xf,\"\\n\").replace(yf,\"\")}function Af(a,b,c){b=zf(b);if(zf(a)!==b&&c)throw Error(p(425));}function Bf(){}\nvar Cf=null,Df=null;function Ef(a,b){return\"textarea\"===a||\"noscript\"===a||\"string\"===typeof b.children||\"number\"===typeof b.children||\"object\"===typeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&null!=b.dangerouslySetInnerHTML.__html}\nvar Ff=\"function\"===typeof setTimeout?setTimeout:void 0,Gf=\"function\"===typeof clearTimeout?clearTimeout:void 0,Hf=\"function\"===typeof Promise?Promise:void 0,Jf=\"function\"===typeof queueMicrotask?queueMicrotask:\"undefined\"!==typeof Hf?function(a){return Hf.resolve(null).then(a).catch(If)}:Ff;function If(a){setTimeout(function(){throw a;})}\nfunction Kf(a,b){var c=b,d=0;do{var e=c.nextSibling;a.removeChild(c);if(e&&8===e.nodeType)if(c=e.data,\"/$\"===c){if(0===d){a.removeChild(e);bd(b);return}d--}else\"$\"!==c&&\"$?\"!==c&&\"$!\"!==c||d++;c=e}while(c);bd(b)}function Lf(a){for(;null!=a;a=a.nextSibling){var b=a.nodeType;if(1===b||3===b)break;if(8===b){b=a.data;if(\"$\"===b||\"$!\"===b||\"$?\"===b)break;if(\"/$\"===b)return null}}return a}\nfunction Mf(a){a=a.previousSibling;for(var b=0;a;){if(8===a.nodeType){var c=a.data;if(\"$\"===c||\"$!\"===c||\"$?\"===c){if(0===b)return a;b--}else\"/$\"===c&&b++}a=a.previousSibling}return null}var Nf=Math.random().toString(36).slice(2),Of=\"__reactFiber$\"+Nf,Pf=\"__reactProps$\"+Nf,uf=\"__reactContainer$\"+Nf,of=\"__reactEvents$\"+Nf,Qf=\"__reactListeners$\"+Nf,Rf=\"__reactHandles$\"+Nf;\nfunction Wc(a){var b=a[Of];if(b)return b;for(var c=a.parentNode;c;){if(b=c[uf]||c[Of]){c=b.alternate;if(null!==b.child||null!==c&&null!==c.child)for(a=Mf(a);null!==a;){if(c=a[Of])return c;a=Mf(a)}return b}a=c;c=a.parentNode}return null}function Cb(a){a=a[Of]||a[uf];return!a||5!==a.tag&&6!==a.tag&&13!==a.tag&&3!==a.tag?null:a}function ue(a){if(5===a.tag||6===a.tag)return a.stateNode;throw Error(p(33));}function Db(a){return a[Pf]||null}var Sf=[],Tf=-1;function Uf(a){return{current:a}}\nfunction E(a){0>Tf||(a.current=Sf[Tf],Sf[Tf]=null,Tf--)}function G(a,b){Tf++;Sf[Tf]=a.current;a.current=b}var Vf={},H=Uf(Vf),Wf=Uf(!1),Xf=Vf;function Yf(a,b){var c=a.type.contextTypes;if(!c)return Vf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}\nfunction Zf(a){a=a.childContextTypes;return null!==a&&void 0!==a}function $f(){E(Wf);E(H)}function ag(a,b,c){if(H.current!==Vf)throw Error(p(168));G(H,b);G(Wf,c)}function bg(a,b,c){var d=a.stateNode;b=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in b))throw Error(p(108,Ra(a)||\"Unknown\",e));return A({},c,d)}\nfunction cg(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Vf;Xf=H.current;G(H,a);G(Wf,Wf.current);return!0}function dg(a,b,c){var d=a.stateNode;if(!d)throw Error(p(169));c?(a=bg(a,b,Xf),d.__reactInternalMemoizedMergedChildContext=a,E(Wf),E(H),G(H,a)):E(Wf);G(Wf,c)}var eg=null,fg=!1,gg=!1;function hg(a){null===eg?eg=[a]:eg.push(a)}function ig(a){fg=!0;hg(a)}\nfunction jg(){if(!gg&&null!==eg){gg=!0;var a=0,b=C;try{var c=eg;for(C=1;a<c.length;a++){var d=c[a];do d=d(!0);while(null!==d)}eg=null;fg=!1}catch(e){throw null!==eg&&(eg=eg.slice(a+1)),ac(fc,jg),e;}finally{C=b,gg=!1}}return null}var kg=[],lg=0,mg=null,ng=0,og=[],pg=0,qg=null,rg=1,sg=\"\";function tg(a,b){kg[lg++]=ng;kg[lg++]=mg;mg=a;ng=b}\nfunction ug(a,b,c){og[pg++]=rg;og[pg++]=sg;og[pg++]=qg;qg=a;var d=rg;a=sg;var e=32-oc(d)-1;d&=~(1<<e);c+=1;var f=32-oc(b)+e;if(30<f){var g=e-e%5;f=(d&(1<<g)-1).toString(32);d>>=g;e-=g;rg=1<<32-oc(b)+e|c<<e|d;sg=f+a}else rg=1<<f|c<<e|d,sg=a}function vg(a){null!==a.return&&(tg(a,1),ug(a,1,0))}function wg(a){for(;a===mg;)mg=kg[--lg],kg[lg]=null,ng=kg[--lg],kg[lg]=null;for(;a===qg;)qg=og[--pg],og[pg]=null,sg=og[--pg],og[pg]=null,rg=og[--pg],og[pg]=null}var xg=null,yg=null,I=!1,zg=null;\nfunction Ag(a,b){var c=Bg(5,null,null,0);c.elementType=\"DELETED\";c.stateNode=b;c.return=a;b=a.deletions;null===b?(a.deletions=[c],a.flags|=16):b.push(c)}\nfunction Cg(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,xg=a,yg=Lf(b.firstChild),!0):!1;case 6:return b=\"\"===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,xg=a,yg=null,!0):!1;case 13:return b=8!==b.nodeType?null:b,null!==b?(c=null!==qg?{id:rg,overflow:sg}:null,a.memoizedState={dehydrated:b,treeContext:c,retryLane:1073741824},c=Bg(18,null,null,0),c.stateNode=b,c.return=a,a.child=c,xg=a,yg=\nnull,!0):!1;default:return!1}}function Dg(a){return 0!==(a.mode&1)&&0===(a.flags&128)}function Eg(a){if(I){var b=yg;if(b){var c=b;if(!Cg(a,b)){if(Dg(a))throw Error(p(418));b=Lf(c.nextSibling);var d=xg;b&&Cg(a,b)?Ag(d,c):(a.flags=a.flags&-4097|2,I=!1,xg=a)}}else{if(Dg(a))throw Error(p(418));a.flags=a.flags&-4097|2;I=!1;xg=a}}}function Fg(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&13!==a.tag;)a=a.return;xg=a}\nfunction Gg(a){if(a!==xg)return!1;if(!I)return Fg(a),I=!0,!1;var b;(b=3!==a.tag)&&!(b=5!==a.tag)&&(b=a.type,b=\"head\"!==b&&\"body\"!==b&&!Ef(a.type,a.memoizedProps));if(b&&(b=yg)){if(Dg(a))throw Hg(),Error(p(418));for(;b;)Ag(a,b),b=Lf(b.nextSibling)}Fg(a);if(13===a.tag){a=a.memoizedState;a=null!==a?a.dehydrated:null;if(!a)throw Error(p(317));a:{a=a.nextSibling;for(b=0;a;){if(8===a.nodeType){var c=a.data;if(\"/$\"===c){if(0===b){yg=Lf(a.nextSibling);break a}b--}else\"$\"!==c&&\"$!\"!==c&&\"$?\"!==c||b++}a=a.nextSibling}yg=\nnull}}else yg=xg?Lf(a.stateNode.nextSibling):null;return!0}function Hg(){for(var a=yg;a;)a=Lf(a.nextSibling)}function Ig(){yg=xg=null;I=!1}function Jg(a){null===zg?zg=[a]:zg.push(a)}var Kg=ua.ReactCurrentBatchConfig;\nfunction Lg(a,b,c){a=c.ref;if(null!==a&&\"function\"!==typeof a&&\"object\"!==typeof a){if(c._owner){c=c._owner;if(c){if(1!==c.tag)throw Error(p(309));var d=c.stateNode}if(!d)throw Error(p(147,a));var e=d,f=\"\"+a;if(null!==b&&null!==b.ref&&\"function\"===typeof b.ref&&b.ref._stringRef===f)return b.ref;b=function(a){var b=e.refs;null===a?delete b[f]:b[f]=a};b._stringRef=f;return b}if(\"string\"!==typeof a)throw Error(p(284));if(!c._owner)throw Error(p(290,a));}return a}\nfunction Mg(a,b){a=Object.prototype.toString.call(b);throw Error(p(31,\"[object Object]\"===a?\"object with keys {\"+Object.keys(b).join(\", \")+\"}\":a));}function Ng(a){var b=a._init;return b(a._payload)}\nfunction Og(a){function b(b,c){if(a){var d=b.deletions;null===d?(b.deletions=[c],b.flags|=16):d.push(c)}}function c(c,d){if(!a)return null;for(;null!==d;)b(c,d),d=d.sibling;return null}function d(a,b){for(a=new Map;null!==b;)null!==b.key?a.set(b.key,b):a.set(b.index,b),b=b.sibling;return a}function e(a,b){a=Pg(a,b);a.index=0;a.sibling=null;return a}function f(b,c,d){b.index=d;if(!a)return b.flags|=1048576,c;d=b.alternate;if(null!==d)return d=d.index,d<c?(b.flags|=2,c):d;b.flags|=2;return c}function g(b){a&&\nnull===b.alternate&&(b.flags|=2);return b}function h(a,b,c,d){if(null===b||6!==b.tag)return b=Qg(c,a.mode,d),b.return=a,b;b=e(b,c);b.return=a;return b}function k(a,b,c,d){var f=c.type;if(f===ya)return m(a,b,c.props.children,d,c.key);if(null!==b&&(b.elementType===f||\"object\"===typeof f&&null!==f&&f.$$typeof===Ha&&Ng(f)===b.type))return d=e(b,c.props),d.ref=Lg(a,b,c),d.return=a,d;d=Rg(c.type,c.key,c.props,null,a.mode,d);d.ref=Lg(a,b,c);d.return=a;return d}function l(a,b,c,d){if(null===b||4!==b.tag||\nb.stateNode.containerInfo!==c.containerInfo||b.stateNode.implementation!==c.implementation)return b=Sg(c,a.mode,d),b.return=a,b;b=e(b,c.children||[]);b.return=a;return b}function m(a,b,c,d,f){if(null===b||7!==b.tag)return b=Tg(c,a.mode,d,f),b.return=a,b;b=e(b,c);b.return=a;return b}function q(a,b,c){if(\"string\"===typeof b&&\"\"!==b||\"number\"===typeof b)return b=Qg(\"\"+b,a.mode,c),b.return=a,b;if(\"object\"===typeof b&&null!==b){switch(b.$$typeof){case va:return c=Rg(b.type,b.key,b.props,null,a.mode,c),\nc.ref=Lg(a,null,b),c.return=a,c;case wa:return b=Sg(b,a.mode,c),b.return=a,b;case Ha:var d=b._init;return q(a,d(b._payload),c)}if(eb(b)||Ka(b))return b=Tg(b,a.mode,c,null),b.return=a,b;Mg(a,b)}return null}function r(a,b,c,d){var e=null!==b?b.key:null;if(\"string\"===typeof c&&\"\"!==c||\"number\"===typeof c)return null!==e?null:h(a,b,\"\"+c,d);if(\"object\"===typeof c&&null!==c){switch(c.$$typeof){case va:return c.key===e?k(a,b,c,d):null;case wa:return c.key===e?l(a,b,c,d):null;case Ha:return e=c._init,r(a,\nb,e(c._payload),d)}if(eb(c)||Ka(c))return null!==e?null:m(a,b,c,d,null);Mg(a,c)}return null}function y(a,b,c,d,e){if(\"string\"===typeof d&&\"\"!==d||\"number\"===typeof d)return a=a.get(c)||null,h(b,a,\"\"+d,e);if(\"object\"===typeof d&&null!==d){switch(d.$$typeof){case va:return a=a.get(null===d.key?c:d.key)||null,k(b,a,d,e);case wa:return a=a.get(null===d.key?c:d.key)||null,l(b,a,d,e);case Ha:var f=d._init;return y(a,b,c,f(d._payload),e)}if(eb(d)||Ka(d))return a=a.get(c)||null,m(b,a,d,e,null);Mg(b,d)}return null}\nfunction n(e,g,h,k){for(var l=null,m=null,u=g,w=g=0,x=null;null!==u&&w<h.length;w++){u.index>w?(x=u,u=null):x=u.sibling;var n=r(e,u,h[w],k);if(null===n){null===u&&(u=x);break}a&&u&&null===n.alternate&&b(e,u);g=f(n,g,w);null===m?l=n:m.sibling=n;m=n;u=x}if(w===h.length)return c(e,u),I&&tg(e,w),l;if(null===u){for(;w<h.length;w++)u=q(e,h[w],k),null!==u&&(g=f(u,g,w),null===m?l=u:m.sibling=u,m=u);I&&tg(e,w);return l}for(u=d(e,u);w<h.length;w++)x=y(u,e,w,h[w],k),null!==x&&(a&&null!==x.alternate&&u.delete(null===\nx.key?w:x.key),g=f(x,g,w),null===m?l=x:m.sibling=x,m=x);a&&u.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function t(e,g,h,k){var l=Ka(h);if(\"function\"!==typeof l)throw Error(p(150));h=l.call(h);if(null==h)throw Error(p(151));for(var u=l=null,m=g,w=g=0,x=null,n=h.next();null!==m&&!n.done;w++,n=h.next()){m.index>w?(x=m,m=null):x=m.sibling;var t=r(e,m,n.value,k);if(null===t){null===m&&(m=x);break}a&&m&&null===t.alternate&&b(e,m);g=f(t,g,w);null===u?l=t:u.sibling=t;u=t;m=x}if(n.done)return c(e,\nm),I&&tg(e,w),l;if(null===m){for(;!n.done;w++,n=h.next())n=q(e,n.value,k),null!==n&&(g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);I&&tg(e,w);return l}for(m=d(e,m);!n.done;w++,n=h.next())n=y(m,e,w,n.value,k),null!==n&&(a&&null!==n.alternate&&m.delete(null===n.key?w:n.key),g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);a&&m.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function J(a,d,f,h){\"object\"===typeof f&&null!==f&&f.type===ya&&null===f.key&&(f=f.props.children);if(\"object\"===typeof f&&null!==f){switch(f.$$typeof){case va:a:{for(var k=\nf.key,l=d;null!==l;){if(l.key===k){k=f.type;if(k===ya){if(7===l.tag){c(a,l.sibling);d=e(l,f.props.children);d.return=a;a=d;break a}}else if(l.elementType===k||\"object\"===typeof k&&null!==k&&k.$$typeof===Ha&&Ng(k)===l.type){c(a,l.sibling);d=e(l,f.props);d.ref=Lg(a,l,f);d.return=a;a=d;break a}c(a,l);break}else b(a,l);l=l.sibling}f.type===ya?(d=Tg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Rg(f.type,f.key,f.props,null,a.mode,h),h.ref=Lg(a,d,f),h.return=a,a=h)}return g(a);case wa:a:{for(l=f.key;null!==\nd;){if(d.key===l)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=Sg(f,a.mode,h);d.return=a;a=d}return g(a);case Ha:return l=f._init,J(a,d,l(f._payload),h)}if(eb(f))return n(a,d,f,h);if(Ka(f))return t(a,d,f,h);Mg(a,f)}return\"string\"===typeof f&&\"\"!==f||\"number\"===typeof f?(f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):\n(c(a,d),d=Qg(f,a.mode,h),d.return=a,a=d),g(a)):c(a,d)}return J}var Ug=Og(!0),Vg=Og(!1),Wg=Uf(null),Xg=null,Yg=null,Zg=null;function $g(){Zg=Yg=Xg=null}function ah(a){var b=Wg.current;E(Wg);a._currentValue=b}function bh(a,b,c){for(;null!==a;){var d=a.alternate;(a.childLanes&b)!==b?(a.childLanes|=b,null!==d&&(d.childLanes|=b)):null!==d&&(d.childLanes&b)!==b&&(d.childLanes|=b);if(a===c)break;a=a.return}}\nfunction ch(a,b){Xg=a;Zg=Yg=null;a=a.dependencies;null!==a&&null!==a.firstContext&&(0!==(a.lanes&b)&&(dh=!0),a.firstContext=null)}function eh(a){var b=a._currentValue;if(Zg!==a)if(a={context:a,memoizedValue:b,next:null},null===Yg){if(null===Xg)throw Error(p(308));Yg=a;Xg.dependencies={lanes:0,firstContext:a}}else Yg=Yg.next=a;return b}var fh=null;function gh(a){null===fh?fh=[a]:fh.push(a)}\nfunction hh(a,b,c,d){var e=b.interleaved;null===e?(c.next=c,gh(b)):(c.next=e.next,e.next=c);b.interleaved=c;return ih(a,d)}function ih(a,b){a.lanes|=b;var c=a.alternate;null!==c&&(c.lanes|=b);c=a;for(a=a.return;null!==a;)a.childLanes|=b,c=a.alternate,null!==c&&(c.childLanes|=b),c=a,a=a.return;return 3===c.tag?c.stateNode:null}var jh=!1;function kh(a){a.updateQueue={baseState:a.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}\nfunction lh(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,firstBaseUpdate:a.firstBaseUpdate,lastBaseUpdate:a.lastBaseUpdate,shared:a.shared,effects:a.effects})}function mh(a,b){return{eventTime:a,lane:b,tag:0,payload:null,callback:null,next:null}}\nfunction nh(a,b,c){var d=a.updateQueue;if(null===d)return null;d=d.shared;if(0!==(K&2)){var e=d.pending;null===e?b.next=b:(b.next=e.next,e.next=b);d.pending=b;return ih(a,c)}e=d.interleaved;null===e?(b.next=b,gh(d)):(b.next=e.next,e.next=b);d.interleaved=b;return ih(a,c)}function oh(a,b,c){b=b.updateQueue;if(null!==b&&(b=b.shared,0!==(c&4194240))){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nfunction ph(a,b){var c=a.updateQueue,d=a.alternate;if(null!==d&&(d=d.updateQueue,c===d)){var e=null,f=null;c=c.firstBaseUpdate;if(null!==c){do{var g={eventTime:c.eventTime,lane:c.lane,tag:c.tag,payload:c.payload,callback:c.callback,next:null};null===f?e=f=g:f=f.next=g;c=c.next}while(null!==c);null===f?e=f=b:f=f.next=b}else e=f=b;c={baseState:d.baseState,firstBaseUpdate:e,lastBaseUpdate:f,shared:d.shared,effects:d.effects};a.updateQueue=c;return}a=c.lastBaseUpdate;null===a?c.firstBaseUpdate=b:a.next=\nb;c.lastBaseUpdate=b}\nfunction qh(a,b,c,d){var e=a.updateQueue;jh=!1;var f=e.firstBaseUpdate,g=e.lastBaseUpdate,h=e.shared.pending;if(null!==h){e.shared.pending=null;var k=h,l=k.next;k.next=null;null===g?f=l:g.next=l;g=k;var m=a.alternate;null!==m&&(m=m.updateQueue,h=m.lastBaseUpdate,h!==g&&(null===h?m.firstBaseUpdate=l:h.next=l,m.lastBaseUpdate=k))}if(null!==f){var q=e.baseState;g=0;m=l=k=null;h=f;do{var r=h.lane,y=h.eventTime;if((d&r)===r){null!==m&&(m=m.next={eventTime:y,lane:0,tag:h.tag,payload:h.payload,callback:h.callback,\nnext:null});a:{var n=a,t=h;r=b;y=c;switch(t.tag){case 1:n=t.payload;if(\"function\"===typeof n){q=n.call(y,q,r);break a}q=n;break a;case 3:n.flags=n.flags&-65537|128;case 0:n=t.payload;r=\"function\"===typeof n?n.call(y,q,r):n;if(null===r||void 0===r)break a;q=A({},q,r);break a;case 2:jh=!0}}null!==h.callback&&0!==h.lane&&(a.flags|=64,r=e.effects,null===r?e.effects=[h]:r.push(h))}else y={eventTime:y,lane:r,tag:h.tag,payload:h.payload,callback:h.callback,next:null},null===m?(l=m=y,k=q):m=m.next=y,g|=r;\nh=h.next;if(null===h)if(h=e.shared.pending,null===h)break;else r=h,h=r.next,r.next=null,e.lastBaseUpdate=r,e.shared.pending=null}while(1);null===m&&(k=q);e.baseState=k;e.firstBaseUpdate=l;e.lastBaseUpdate=m;b=e.shared.interleaved;if(null!==b){e=b;do g|=e.lane,e=e.next;while(e!==b)}else null===f&&(e.shared.lanes=0);rh|=g;a.lanes=g;a.memoizedState=q}}\nfunction sh(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;b<a.length;b++){var d=a[b],e=d.callback;if(null!==e){d.callback=null;d=c;if(\"function\"!==typeof e)throw Error(p(191,e));e.call(d)}}}var th={},uh=Uf(th),vh=Uf(th),wh=Uf(th);function xh(a){if(a===th)throw Error(p(174));return a}\nfunction yh(a,b){G(wh,b);G(vh,a);G(uh,th);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:lb(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=lb(b,a)}E(uh);G(uh,b)}function zh(){E(uh);E(vh);E(wh)}function Ah(a){xh(wh.current);var b=xh(uh.current);var c=lb(b,a.type);b!==c&&(G(vh,a),G(uh,c))}function Bh(a){vh.current===a&&(E(uh),E(vh))}var L=Uf(0);\nfunction Ch(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||\"$?\"===c.data||\"$!\"===c.data))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.flags&128))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}var Dh=[];\nfunction Eh(){for(var a=0;a<Dh.length;a++)Dh[a]._workInProgressVersionPrimary=null;Dh.length=0}var Fh=ua.ReactCurrentDispatcher,Gh=ua.ReactCurrentBatchConfig,Hh=0,M=null,N=null,O=null,Ih=!1,Jh=!1,Kh=0,Lh=0;function P(){throw Error(p(321));}function Mh(a,b){if(null===b)return!1;for(var c=0;c<b.length&&c<a.length;c++)if(!He(a[c],b[c]))return!1;return!0}\nfunction Nh(a,b,c,d,e,f){Hh=f;M=b;b.memoizedState=null;b.updateQueue=null;b.lanes=0;Fh.current=null===a||null===a.memoizedState?Oh:Ph;a=c(d,e);if(Jh){f=0;do{Jh=!1;Kh=0;if(25<=f)throw Error(p(301));f+=1;O=N=null;b.updateQueue=null;Fh.current=Qh;a=c(d,e)}while(Jh)}Fh.current=Rh;b=null!==N&&null!==N.next;Hh=0;O=N=M=null;Ih=!1;if(b)throw Error(p(300));return a}function Sh(){var a=0!==Kh;Kh=0;return a}\nfunction Th(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===O?M.memoizedState=O=a:O=O.next=a;return O}function Uh(){if(null===N){var a=M.alternate;a=null!==a?a.memoizedState:null}else a=N.next;var b=null===O?M.memoizedState:O.next;if(null!==b)O=b,N=a;else{if(null===a)throw Error(p(310));N=a;a={memoizedState:N.memoizedState,baseState:N.baseState,baseQueue:N.baseQueue,queue:N.queue,next:null};null===O?M.memoizedState=O=a:O=O.next=a}return O}\nfunction Vh(a,b){return\"function\"===typeof b?b(a):b}\nfunction Wh(a){var b=Uh(),c=b.queue;if(null===c)throw Error(p(311));c.lastRenderedReducer=a;var d=N,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){f=e.next;d=d.baseState;var h=g=null,k=null,l=f;do{var m=l.lane;if((Hh&m)===m)null!==k&&(k=k.next={lane:0,action:l.action,hasEagerState:l.hasEagerState,eagerState:l.eagerState,next:null}),d=l.hasEagerState?l.eagerState:a(d,l.action);else{var q={lane:m,action:l.action,hasEagerState:l.hasEagerState,\neagerState:l.eagerState,next:null};null===k?(h=k=q,g=d):k=k.next=q;M.lanes|=m;rh|=m}l=l.next}while(null!==l&&l!==f);null===k?g=d:k.next=h;He(d,b.memoizedState)||(dh=!0);b.memoizedState=d;b.baseState=g;b.baseQueue=k;c.lastRenderedState=d}a=c.interleaved;if(null!==a){e=a;do f=e.lane,M.lanes|=f,rh|=f,e=e.next;while(e!==a)}else null===e&&(c.lanes=0);return[b.memoizedState,c.dispatch]}\nfunction Xh(a){var b=Uh(),c=b.queue;if(null===c)throw Error(p(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);He(f,b.memoizedState)||(dh=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}function Yh(){}\nfunction Zh(a,b){var c=M,d=Uh(),e=b(),f=!He(d.memoizedState,e);f&&(d.memoizedState=e,dh=!0);d=d.queue;$h(ai.bind(null,c,d,a),[a]);if(d.getSnapshot!==b||f||null!==O&&O.memoizedState.tag&1){c.flags|=2048;bi(9,ci.bind(null,c,d,e,b),void 0,null);if(null===Q)throw Error(p(349));0!==(Hh&30)||di(c,b,e)}return e}function di(a,b,c){a.flags|=16384;a={getSnapshot:b,value:c};b=M.updateQueue;null===b?(b={lastEffect:null,stores:null},M.updateQueue=b,b.stores=[a]):(c=b.stores,null===c?b.stores=[a]:c.push(a))}\nfunction ci(a,b,c,d){b.value=c;b.getSnapshot=d;ei(b)&&fi(a)}function ai(a,b,c){return c(function(){ei(b)&&fi(a)})}function ei(a){var b=a.getSnapshot;a=a.value;try{var c=b();return!He(a,c)}catch(d){return!0}}function fi(a){var b=ih(a,1);null!==b&&gi(b,a,1,-1)}\nfunction hi(a){var b=Th();\"function\"===typeof a&&(a=a());b.memoizedState=b.baseState=a;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:Vh,lastRenderedState:a};b.queue=a;a=a.dispatch=ii.bind(null,M,a);return[b.memoizedState,a]}\nfunction bi(a,b,c,d){a={tag:a,create:b,destroy:c,deps:d,next:null};b=M.updateQueue;null===b?(b={lastEffect:null,stores:null},M.updateQueue=b,b.lastEffect=a.next=a):(c=b.lastEffect,null===c?b.lastEffect=a.next=a:(d=c.next,c.next=a,a.next=d,b.lastEffect=a));return a}function ji(){return Uh().memoizedState}function ki(a,b,c,d){var e=Th();M.flags|=a;e.memoizedState=bi(1|b,c,void 0,void 0===d?null:d)}\nfunction li(a,b,c,d){var e=Uh();d=void 0===d?null:d;var f=void 0;if(null!==N){var g=N.memoizedState;f=g.destroy;if(null!==d&&Mh(d,g.deps)){e.memoizedState=bi(b,c,f,d);return}}M.flags|=a;e.memoizedState=bi(1|b,c,f,d)}function mi(a,b){return ki(8390656,8,a,b)}function $h(a,b){return li(2048,8,a,b)}function ni(a,b){return li(4,2,a,b)}function oi(a,b){return li(4,4,a,b)}\nfunction pi(a,b){if(\"function\"===typeof b)return a=a(),b(a),function(){b(null)};if(null!==b&&void 0!==b)return a=a(),b.current=a,function(){b.current=null}}function qi(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return li(4,4,pi.bind(null,b,a),c)}function ri(){}function si(a,b){var c=Uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&Mh(b,d[1]))return d[0];c.memoizedState=[a,b];return a}\nfunction ti(a,b){var c=Uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&Mh(b,d[1]))return d[0];a=a();c.memoizedState=[a,b];return a}function ui(a,b,c){if(0===(Hh&21))return a.baseState&&(a.baseState=!1,dh=!0),a.memoizedState=c;He(c,b)||(c=yc(),M.lanes|=c,rh|=c,a.baseState=!0);return b}function vi(a,b){var c=C;C=0!==c&&4>c?c:4;a(!0);var d=Gh.transition;Gh.transition={};try{a(!1),b()}finally{C=c,Gh.transition=d}}function wi(){return Uh().memoizedState}\nfunction xi(a,b,c){var d=yi(a);c={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(zi(a))Ai(b,c);else if(c=hh(a,b,c,d),null!==c){var e=R();gi(c,a,d,e);Bi(c,b,d)}}\nfunction ii(a,b,c){var d=yi(a),e={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(zi(a))Ai(b,e);else{var f=a.alternate;if(0===a.lanes&&(null===f||0===f.lanes)&&(f=b.lastRenderedReducer,null!==f))try{var g=b.lastRenderedState,h=f(g,c);e.hasEagerState=!0;e.eagerState=h;if(He(h,g)){var k=b.interleaved;null===k?(e.next=e,gh(b)):(e.next=k.next,k.next=e);b.interleaved=e;return}}catch(l){}finally{}c=hh(a,b,e,d);null!==c&&(e=R(),gi(c,a,d,e),Bi(c,b,d))}}\nfunction zi(a){var b=a.alternate;return a===M||null!==b&&b===M}function Ai(a,b){Jh=Ih=!0;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}function Bi(a,b,c){if(0!==(c&4194240)){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nvar Rh={readContext:eh,useCallback:P,useContext:P,useEffect:P,useImperativeHandle:P,useInsertionEffect:P,useLayoutEffect:P,useMemo:P,useReducer:P,useRef:P,useState:P,useDebugValue:P,useDeferredValue:P,useTransition:P,useMutableSource:P,useSyncExternalStore:P,useId:P,unstable_isNewReconciler:!1},Oh={readContext:eh,useCallback:function(a,b){Th().memoizedState=[a,void 0===b?null:b];return a},useContext:eh,useEffect:mi,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ki(4194308,\n4,pi.bind(null,b,a),c)},useLayoutEffect:function(a,b){return ki(4194308,4,a,b)},useInsertionEffect:function(a,b){return ki(4,2,a,b)},useMemo:function(a,b){var c=Th();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=Th();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};d.queue=a;a=a.dispatch=xi.bind(null,M,a);return[d.memoizedState,a]},useRef:function(a){var b=\nTh();a={current:a};return b.memoizedState=a},useState:hi,useDebugValue:ri,useDeferredValue:function(a){return Th().memoizedState=a},useTransition:function(){var a=hi(!1),b=a[0];a=vi.bind(null,a[1]);Th().memoizedState=a;return[b,a]},useMutableSource:function(){},useSyncExternalStore:function(a,b,c){var d=M,e=Th();if(I){if(void 0===c)throw Error(p(407));c=c()}else{c=b();if(null===Q)throw Error(p(349));0!==(Hh&30)||di(d,b,c)}e.memoizedState=c;var f={value:c,getSnapshot:b};e.queue=f;mi(ai.bind(null,d,\nf,a),[a]);d.flags|=2048;bi(9,ci.bind(null,d,f,c,b),void 0,null);return c},useId:function(){var a=Th(),b=Q.identifierPrefix;if(I){var c=sg;var d=rg;c=(d&~(1<<32-oc(d)-1)).toString(32)+c;b=\":\"+b+\"R\"+c;c=Kh++;0<c&&(b+=\"H\"+c.toString(32));b+=\":\"}else c=Lh++,b=\":\"+b+\"r\"+c.toString(32)+\":\";return a.memoizedState=b},unstable_isNewReconciler:!1},Ph={readContext:eh,useCallback:si,useContext:eh,useEffect:$h,useImperativeHandle:qi,useInsertionEffect:ni,useLayoutEffect:oi,useMemo:ti,useReducer:Wh,useRef:ji,useState:function(){return Wh(Vh)},\nuseDebugValue:ri,useDeferredValue:function(a){var b=Uh();return ui(b,N.memoizedState,a)},useTransition:function(){var a=Wh(Vh)[0],b=Uh().memoizedState;return[a,b]},useMutableSource:Yh,useSyncExternalStore:Zh,useId:wi,unstable_isNewReconciler:!1},Qh={readContext:eh,useCallback:si,useContext:eh,useEffect:$h,useImperativeHandle:qi,useInsertionEffect:ni,useLayoutEffect:oi,useMemo:ti,useReducer:Xh,useRef:ji,useState:function(){return Xh(Vh)},useDebugValue:ri,useDeferredValue:function(a){var b=Uh();return null===\nN?b.memoizedState=a:ui(b,N.memoizedState,a)},useTransition:function(){var a=Xh(Vh)[0],b=Uh().memoizedState;return[a,b]},useMutableSource:Yh,useSyncExternalStore:Zh,useId:wi,unstable_isNewReconciler:!1};function Ci(a,b){if(a&&a.defaultProps){b=A({},b);a=a.defaultProps;for(var c in a)void 0===b[c]&&(b[c]=a[c]);return b}return b}function Di(a,b,c,d){b=a.memoizedState;c=c(d,b);c=null===c||void 0===c?b:A({},b,c);a.memoizedState=c;0===a.lanes&&(a.updateQueue.baseState=c)}\nvar Ei={isMounted:function(a){return(a=a._reactInternals)?Vb(a)===a:!1},enqueueSetState:function(a,b,c){a=a._reactInternals;var d=R(),e=yi(a),f=mh(d,e);f.payload=b;void 0!==c&&null!==c&&(f.callback=c);b=nh(a,f,e);null!==b&&(gi(b,a,e,d),oh(b,a,e))},enqueueReplaceState:function(a,b,c){a=a._reactInternals;var d=R(),e=yi(a),f=mh(d,e);f.tag=1;f.payload=b;void 0!==c&&null!==c&&(f.callback=c);b=nh(a,f,e);null!==b&&(gi(b,a,e,d),oh(b,a,e))},enqueueForceUpdate:function(a,b){a=a._reactInternals;var c=R(),d=\nyi(a),e=mh(c,d);e.tag=2;void 0!==b&&null!==b&&(e.callback=b);b=nh(a,e,d);null!==b&&(gi(b,a,d,c),oh(b,a,d))}};function Fi(a,b,c,d,e,f,g){a=a.stateNode;return\"function\"===typeof a.shouldComponentUpdate?a.shouldComponentUpdate(d,f,g):b.prototype&&b.prototype.isPureReactComponent?!Ie(c,d)||!Ie(e,f):!0}\nfunction Gi(a,b,c){var d=!1,e=Vf;var f=b.contextType;\"object\"===typeof f&&null!==f?f=eh(f):(e=Zf(b)?Xf:H.current,d=b.contextTypes,f=(d=null!==d&&void 0!==d)?Yf(a,e):Vf);b=new b(c,f);a.memoizedState=null!==b.state&&void 0!==b.state?b.state:null;b.updater=Ei;a.stateNode=b;b._reactInternals=a;d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=e,a.__reactInternalMemoizedMaskedChildContext=f);return b}\nfunction Hi(a,b,c,d){a=b.state;\"function\"===typeof b.componentWillReceiveProps&&b.componentWillReceiveProps(c,d);\"function\"===typeof b.UNSAFE_componentWillReceiveProps&&b.UNSAFE_componentWillReceiveProps(c,d);b.state!==a&&Ei.enqueueReplaceState(b,b.state,null)}\nfunction Ii(a,b,c,d){var e=a.stateNode;e.props=c;e.state=a.memoizedState;e.refs={};kh(a);var f=b.contextType;\"object\"===typeof f&&null!==f?e.context=eh(f):(f=Zf(b)?Xf:H.current,e.context=Yf(a,f));e.state=a.memoizedState;f=b.getDerivedStateFromProps;\"function\"===typeof f&&(Di(a,b,f,c),e.state=a.memoizedState);\"function\"===typeof b.getDerivedStateFromProps||\"function\"===typeof e.getSnapshotBeforeUpdate||\"function\"!==typeof e.UNSAFE_componentWillMount&&\"function\"!==typeof e.componentWillMount||(b=e.state,\n\"function\"===typeof e.componentWillMount&&e.componentWillMount(),\"function\"===typeof e.UNSAFE_componentWillMount&&e.UNSAFE_componentWillMount(),b!==e.state&&Ei.enqueueReplaceState(e,e.state,null),qh(a,c,e,d),e.state=a.memoizedState);\"function\"===typeof e.componentDidMount&&(a.flags|=4194308)}function Ji(a,b){try{var c=\"\",d=b;do c+=Pa(d),d=d.return;while(d);var e=c}catch(f){e=\"\\nError generating stack: \"+f.message+\"\\n\"+f.stack}return{value:a,source:b,stack:e,digest:null}}\nfunction Ki(a,b,c){return{value:a,source:null,stack:null!=c?c:null,digest:null!=b?b:null}}function Li(a,b){try{console.error(b.value)}catch(c){setTimeout(function(){throw c;})}}var Mi=\"function\"===typeof WeakMap?WeakMap:Map;function Ni(a,b,c){c=mh(-1,c);c.tag=3;c.payload={element:null};var d=b.value;c.callback=function(){Oi||(Oi=!0,Pi=d);Li(a,b)};return c}\nfunction Qi(a,b,c){c=mh(-1,c);c.tag=3;var d=a.type.getDerivedStateFromError;if(\"function\"===typeof d){var e=b.value;c.payload=function(){return d(e)};c.callback=function(){Li(a,b)}}var f=a.stateNode;null!==f&&\"function\"===typeof f.componentDidCatch&&(c.callback=function(){Li(a,b);\"function\"!==typeof d&&(null===Ri?Ri=new Set([this]):Ri.add(this));var c=b.stack;this.componentDidCatch(b.value,{componentStack:null!==c?c:\"\"})});return c}\nfunction Si(a,b,c){var d=a.pingCache;if(null===d){d=a.pingCache=new Mi;var e=new Set;d.set(b,e)}else e=d.get(b),void 0===e&&(e=new Set,d.set(b,e));e.has(c)||(e.add(c),a=Ti.bind(null,a,b,c),b.then(a,a))}function Ui(a){do{var b;if(b=13===a.tag)b=a.memoizedState,b=null!==b?null!==b.dehydrated?!0:!1:!0;if(b)return a;a=a.return}while(null!==a);return null}\nfunction Vi(a,b,c,d,e){if(0===(a.mode&1))return a===b?a.flags|=65536:(a.flags|=128,c.flags|=131072,c.flags&=-52805,1===c.tag&&(null===c.alternate?c.tag=17:(b=mh(-1,1),b.tag=2,nh(c,b,1))),c.lanes|=1),a;a.flags|=65536;a.lanes=e;return a}var Wi=ua.ReactCurrentOwner,dh=!1;function Xi(a,b,c,d){b.child=null===a?Vg(b,null,c,d):Ug(b,a.child,c,d)}\nfunction Yi(a,b,c,d,e){c=c.render;var f=b.ref;ch(b,e);d=Nh(a,b,c,d,f,e);c=Sh();if(null!==a&&!dh)return b.updateQueue=a.updateQueue,b.flags&=-2053,a.lanes&=~e,Zi(a,b,e);I&&c&&vg(b);b.flags|=1;Xi(a,b,d,e);return b.child}\nfunction $i(a,b,c,d,e){if(null===a){var f=c.type;if(\"function\"===typeof f&&!aj(f)&&void 0===f.defaultProps&&null===c.compare&&void 0===c.defaultProps)return b.tag=15,b.type=f,bj(a,b,f,d,e);a=Rg(c.type,null,d,b,b.mode,e);a.ref=b.ref;a.return=b;return b.child=a}f=a.child;if(0===(a.lanes&e)){var g=f.memoizedProps;c=c.compare;c=null!==c?c:Ie;if(c(g,d)&&a.ref===b.ref)return Zi(a,b,e)}b.flags|=1;a=Pg(f,d);a.ref=b.ref;a.return=b;return b.child=a}\nfunction bj(a,b,c,d,e){if(null!==a){var f=a.memoizedProps;if(Ie(f,d)&&a.ref===b.ref)if(dh=!1,b.pendingProps=d=f,0!==(a.lanes&e))0!==(a.flags&131072)&&(dh=!0);else return b.lanes=a.lanes,Zi(a,b,e)}return cj(a,b,c,d,e)}\nfunction dj(a,b,c){var d=b.pendingProps,e=d.children,f=null!==a?a.memoizedState:null;if(\"hidden\"===d.mode)if(0===(b.mode&1))b.memoizedState={baseLanes:0,cachePool:null,transitions:null},G(ej,fj),fj|=c;else{if(0===(c&1073741824))return a=null!==f?f.baseLanes|c:c,b.lanes=b.childLanes=1073741824,b.memoizedState={baseLanes:a,cachePool:null,transitions:null},b.updateQueue=null,G(ej,fj),fj|=a,null;b.memoizedState={baseLanes:0,cachePool:null,transitions:null};d=null!==f?f.baseLanes:c;G(ej,fj);fj|=d}else null!==\nf?(d=f.baseLanes|c,b.memoizedState=null):d=c,G(ej,fj),fj|=d;Xi(a,b,e,c);return b.child}function gj(a,b){var c=b.ref;if(null===a&&null!==c||null!==a&&a.ref!==c)b.flags|=512,b.flags|=2097152}function cj(a,b,c,d,e){var f=Zf(c)?Xf:H.current;f=Yf(b,f);ch(b,e);c=Nh(a,b,c,d,f,e);d=Sh();if(null!==a&&!dh)return b.updateQueue=a.updateQueue,b.flags&=-2053,a.lanes&=~e,Zi(a,b,e);I&&d&&vg(b);b.flags|=1;Xi(a,b,c,e);return b.child}\nfunction hj(a,b,c,d,e){if(Zf(c)){var f=!0;cg(b)}else f=!1;ch(b,e);if(null===b.stateNode)ij(a,b),Gi(b,c,d),Ii(b,c,d,e),d=!0;else if(null===a){var g=b.stateNode,h=b.memoizedProps;g.props=h;var k=g.context,l=c.contextType;\"object\"===typeof l&&null!==l?l=eh(l):(l=Zf(c)?Xf:H.current,l=Yf(b,l));var m=c.getDerivedStateFromProps,q=\"function\"===typeof m||\"function\"===typeof g.getSnapshotBeforeUpdate;q||\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof g.componentWillReceiveProps||\n(h!==d||k!==l)&&Hi(b,g,d,l);jh=!1;var r=b.memoizedState;g.state=r;qh(b,d,g,e);k=b.memoizedState;h!==d||r!==k||Wf.current||jh?(\"function\"===typeof m&&(Di(b,c,m,d),k=b.memoizedState),(h=jh||Fi(b,c,h,d,r,k,l))?(q||\"function\"!==typeof g.UNSAFE_componentWillMount&&\"function\"!==typeof g.componentWillMount||(\"function\"===typeof g.componentWillMount&&g.componentWillMount(),\"function\"===typeof g.UNSAFE_componentWillMount&&g.UNSAFE_componentWillMount()),\"function\"===typeof g.componentDidMount&&(b.flags|=4194308)):\n(\"function\"===typeof g.componentDidMount&&(b.flags|=4194308),b.memoizedProps=d,b.memoizedState=k),g.props=d,g.state=k,g.context=l,d=h):(\"function\"===typeof g.componentDidMount&&(b.flags|=4194308),d=!1)}else{g=b.stateNode;lh(a,b);h=b.memoizedProps;l=b.type===b.elementType?h:Ci(b.type,h);g.props=l;q=b.pendingProps;r=g.context;k=c.contextType;\"object\"===typeof k&&null!==k?k=eh(k):(k=Zf(c)?Xf:H.current,k=Yf(b,k));var y=c.getDerivedStateFromProps;(m=\"function\"===typeof y||\"function\"===typeof g.getSnapshotBeforeUpdate)||\n\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof g.componentWillReceiveProps||(h!==q||r!==k)&&Hi(b,g,d,k);jh=!1;r=b.memoizedState;g.state=r;qh(b,d,g,e);var n=b.memoizedState;h!==q||r!==n||Wf.current||jh?(\"function\"===typeof y&&(Di(b,c,y,d),n=b.memoizedState),(l=jh||Fi(b,c,l,d,r,n,k)||!1)?(m||\"function\"!==typeof g.UNSAFE_componentWillUpdate&&\"function\"!==typeof g.componentWillUpdate||(\"function\"===typeof g.componentWillUpdate&&g.componentWillUpdate(d,n,k),\"function\"===typeof g.UNSAFE_componentWillUpdate&&\ng.UNSAFE_componentWillUpdate(d,n,k)),\"function\"===typeof g.componentDidUpdate&&(b.flags|=4),\"function\"===typeof g.getSnapshotBeforeUpdate&&(b.flags|=1024)):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=1024),b.memoizedProps=d,b.memoizedState=n),g.props=d,g.state=n,g.context=k,d=l):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&r===\na.memoizedState||(b.flags|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=1024),d=!1)}return jj(a,b,c,d,f,e)}\nfunction jj(a,b,c,d,e,f){gj(a,b);var g=0!==(b.flags&128);if(!d&&!g)return e&&dg(b,c,!1),Zi(a,b,f);d=b.stateNode;Wi.current=b;var h=g&&\"function\"!==typeof c.getDerivedStateFromError?null:d.render();b.flags|=1;null!==a&&g?(b.child=Ug(b,a.child,null,f),b.child=Ug(b,null,h,f)):Xi(a,b,h,f);b.memoizedState=d.state;e&&dg(b,c,!0);return b.child}function kj(a){var b=a.stateNode;b.pendingContext?ag(a,b.pendingContext,b.pendingContext!==b.context):b.context&&ag(a,b.context,!1);yh(a,b.containerInfo)}\nfunction lj(a,b,c,d,e){Ig();Jg(e);b.flags|=256;Xi(a,b,c,d);return b.child}var mj={dehydrated:null,treeContext:null,retryLane:0};function nj(a){return{baseLanes:a,cachePool:null,transitions:null}}\nfunction oj(a,b,c){var d=b.pendingProps,e=L.current,f=!1,g=0!==(b.flags&128),h;(h=g)||(h=null!==a&&null===a.memoizedState?!1:0!==(e&2));if(h)f=!0,b.flags&=-129;else if(null===a||null!==a.memoizedState)e|=1;G(L,e&1);if(null===a){Eg(b);a=b.memoizedState;if(null!==a&&(a=a.dehydrated,null!==a))return 0===(b.mode&1)?b.lanes=1:\"$!\"===a.data?b.lanes=8:b.lanes=1073741824,null;g=d.children;a=d.fallback;return f?(d=b.mode,f=b.child,g={mode:\"hidden\",children:g},0===(d&1)&&null!==f?(f.childLanes=0,f.pendingProps=\ng):f=pj(g,d,0,null),a=Tg(a,d,c,null),f.return=b,a.return=b,f.sibling=a,b.child=f,b.child.memoizedState=nj(c),b.memoizedState=mj,a):qj(b,g)}e=a.memoizedState;if(null!==e&&(h=e.dehydrated,null!==h))return rj(a,b,g,d,h,e,c);if(f){f=d.fallback;g=b.mode;e=a.child;h=e.sibling;var k={mode:\"hidden\",children:d.children};0===(g&1)&&b.child!==e?(d=b.child,d.childLanes=0,d.pendingProps=k,b.deletions=null):(d=Pg(e,k),d.subtreeFlags=e.subtreeFlags&14680064);null!==h?f=Pg(h,f):(f=Tg(f,g,c,null),f.flags|=2);f.return=\nb;d.return=b;d.sibling=f;b.child=d;d=f;f=b.child;g=a.child.memoizedState;g=null===g?nj(c):{baseLanes:g.baseLanes|c,cachePool:null,transitions:g.transitions};f.memoizedState=g;f.childLanes=a.childLanes&~c;b.memoizedState=mj;return d}f=a.child;a=f.sibling;d=Pg(f,{mode:\"visible\",children:d.children});0===(b.mode&1)&&(d.lanes=c);d.return=b;d.sibling=null;null!==a&&(c=b.deletions,null===c?(b.deletions=[a],b.flags|=16):c.push(a));b.child=d;b.memoizedState=null;return d}\nfunction qj(a,b){b=pj({mode:\"visible\",children:b},a.mode,0,null);b.return=a;return a.child=b}function sj(a,b,c,d){null!==d&&Jg(d);Ug(b,a.child,null,c);a=qj(b,b.pendingProps.children);a.flags|=2;b.memoizedState=null;return a}\nfunction rj(a,b,c,d,e,f,g){if(c){if(b.flags&256)return b.flags&=-257,d=Ki(Error(p(422))),sj(a,b,g,d);if(null!==b.memoizedState)return b.child=a.child,b.flags|=128,null;f=d.fallback;e=b.mode;d=pj({mode:\"visible\",children:d.children},e,0,null);f=Tg(f,e,g,null);f.flags|=2;d.return=b;f.return=b;d.sibling=f;b.child=d;0!==(b.mode&1)&&Ug(b,a.child,null,g);b.child.memoizedState=nj(g);b.memoizedState=mj;return f}if(0===(b.mode&1))return sj(a,b,g,null);if(\"$!\"===e.data){d=e.nextSibling&&e.nextSibling.dataset;\nif(d)var h=d.dgst;d=h;f=Error(p(419));d=Ki(f,d,void 0);return sj(a,b,g,d)}h=0!==(g&a.childLanes);if(dh||h){d=Q;if(null!==d){switch(g&-g){case 4:e=2;break;case 16:e=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:e=32;break;case 536870912:e=268435456;break;default:e=0}e=0!==(e&(d.suspendedLanes|g))?0:e;\n0!==e&&e!==f.retryLane&&(f.retryLane=e,ih(a,e),gi(d,a,e,-1))}tj();d=Ki(Error(p(421)));return sj(a,b,g,d)}if(\"$?\"===e.data)return b.flags|=128,b.child=a.child,b=uj.bind(null,a),e._reactRetry=b,null;a=f.treeContext;yg=Lf(e.nextSibling);xg=b;I=!0;zg=null;null!==a&&(og[pg++]=rg,og[pg++]=sg,og[pg++]=qg,rg=a.id,sg=a.overflow,qg=b);b=qj(b,d.children);b.flags|=4096;return b}function vj(a,b,c){a.lanes|=b;var d=a.alternate;null!==d&&(d.lanes|=b);bh(a.return,b,c)}\nfunction wj(a,b,c,d,e){var f=a.memoizedState;null===f?a.memoizedState={isBackwards:b,rendering:null,renderingStartTime:0,last:d,tail:c,tailMode:e}:(f.isBackwards=b,f.rendering=null,f.renderingStartTime=0,f.last=d,f.tail=c,f.tailMode=e)}\nfunction xj(a,b,c){var d=b.pendingProps,e=d.revealOrder,f=d.tail;Xi(a,b,d.children,c);d=L.current;if(0!==(d&2))d=d&1|2,b.flags|=128;else{if(null!==a&&0!==(a.flags&128))a:for(a=b.child;null!==a;){if(13===a.tag)null!==a.memoizedState&&vj(a,c,b);else if(19===a.tag)vj(a,c,b);else if(null!==a.child){a.child.return=a;a=a.child;continue}if(a===b)break a;for(;null===a.sibling;){if(null===a.return||a.return===b)break a;a=a.return}a.sibling.return=a.return;a=a.sibling}d&=1}G(L,d);if(0===(b.mode&1))b.memoizedState=\nnull;else switch(e){case \"forwards\":c=b.child;for(e=null;null!==c;)a=c.alternate,null!==a&&null===Ch(a)&&(e=c),c=c.sibling;c=e;null===c?(e=b.child,b.child=null):(e=c.sibling,c.sibling=null);wj(b,!1,e,c,f);break;case \"backwards\":c=null;e=b.child;for(b.child=null;null!==e;){a=e.alternate;if(null!==a&&null===Ch(a)){b.child=e;break}a=e.sibling;e.sibling=c;c=e;e=a}wj(b,!0,c,null,f);break;case \"together\":wj(b,!1,null,null,void 0);break;default:b.memoizedState=null}return b.child}\nfunction ij(a,b){0===(b.mode&1)&&null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2)}function Zi(a,b,c){null!==a&&(b.dependencies=a.dependencies);rh|=b.lanes;if(0===(c&b.childLanes))return null;if(null!==a&&b.child!==a.child)throw Error(p(153));if(null!==b.child){a=b.child;c=Pg(a,a.pendingProps);b.child=c;for(c.return=b;null!==a.sibling;)a=a.sibling,c=c.sibling=Pg(a,a.pendingProps),c.return=b;c.sibling=null}return b.child}\nfunction yj(a,b,c){switch(b.tag){case 3:kj(b);Ig();break;case 5:Ah(b);break;case 1:Zf(b.type)&&cg(b);break;case 4:yh(b,b.stateNode.containerInfo);break;case 10:var d=b.type._context,e=b.memoizedProps.value;G(Wg,d._currentValue);d._currentValue=e;break;case 13:d=b.memoizedState;if(null!==d){if(null!==d.dehydrated)return G(L,L.current&1),b.flags|=128,null;if(0!==(c&b.child.childLanes))return oj(a,b,c);G(L,L.current&1);a=Zi(a,b,c);return null!==a?a.sibling:null}G(L,L.current&1);break;case 19:d=0!==(c&\nb.childLanes);if(0!==(a.flags&128)){if(d)return xj(a,b,c);b.flags|=128}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null,e.lastEffect=null);G(L,L.current);if(d)break;else return null;case 22:case 23:return b.lanes=0,dj(a,b,c)}return Zi(a,b,c)}var zj,Aj,Bj,Cj;\nzj=function(a,b){for(var c=b.child;null!==c;){if(5===c.tag||6===c.tag)a.appendChild(c.stateNode);else if(4!==c.tag&&null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return}c.sibling.return=c.return;c=c.sibling}};Aj=function(){};\nBj=function(a,b,c,d){var e=a.memoizedProps;if(e!==d){a=b.stateNode;xh(uh.current);var f=null;switch(c){case \"input\":e=Ya(a,e);d=Ya(a,d);f=[];break;case \"select\":e=A({},e,{value:void 0});d=A({},d,{value:void 0});f=[];break;case \"textarea\":e=gb(a,e);d=gb(a,d);f=[];break;default:\"function\"!==typeof e.onClick&&\"function\"===typeof d.onClick&&(a.onclick=Bf)}ub(c,d);var g;c=null;for(l in e)if(!d.hasOwnProperty(l)&&e.hasOwnProperty(l)&&null!=e[l])if(\"style\"===l){var h=e[l];for(g in h)h.hasOwnProperty(g)&&\n(c||(c={}),c[g]=\"\")}else\"dangerouslySetInnerHTML\"!==l&&\"children\"!==l&&\"suppressContentEditableWarning\"!==l&&\"suppressHydrationWarning\"!==l&&\"autoFocus\"!==l&&(ea.hasOwnProperty(l)?f||(f=[]):(f=f||[]).push(l,null));for(l in d){var k=d[l];h=null!=e?e[l]:void 0;if(d.hasOwnProperty(l)&&k!==h&&(null!=k||null!=h))if(\"style\"===l)if(h){for(g in h)!h.hasOwnProperty(g)||k&&k.hasOwnProperty(g)||(c||(c={}),c[g]=\"\");for(g in k)k.hasOwnProperty(g)&&h[g]!==k[g]&&(c||(c={}),c[g]=k[g])}else c||(f||(f=[]),f.push(l,\nc)),c=k;else\"dangerouslySetInnerHTML\"===l?(k=k?k.__html:void 0,h=h?h.__html:void 0,null!=k&&h!==k&&(f=f||[]).push(l,k)):\"children\"===l?\"string\"!==typeof k&&\"number\"!==typeof k||(f=f||[]).push(l,\"\"+k):\"suppressContentEditableWarning\"!==l&&\"suppressHydrationWarning\"!==l&&(ea.hasOwnProperty(l)?(null!=k&&\"onScroll\"===l&&D(\"scroll\",a),f||h===k||(f=[])):(f=f||[]).push(l,k))}c&&(f=f||[]).push(\"style\",c);var l=f;if(b.updateQueue=l)b.flags|=4}};Cj=function(a,b,c,d){c!==d&&(b.flags|=4)};\nfunction Dj(a,b){if(!I)switch(a.tailMode){case \"hidden\":b=a.tail;for(var c=null;null!==b;)null!==b.alternate&&(c=b),b=b.sibling;null===c?a.tail=null:c.sibling=null;break;case \"collapsed\":c=a.tail;for(var d=null;null!==c;)null!==c.alternate&&(d=c),c=c.sibling;null===d?b||null===a.tail?a.tail=null:a.tail.sibling=null:d.sibling=null}}\nfunction S(a){var b=null!==a.alternate&&a.alternate.child===a.child,c=0,d=0;if(b)for(var e=a.child;null!==e;)c|=e.lanes|e.childLanes,d|=e.subtreeFlags&14680064,d|=e.flags&14680064,e.return=a,e=e.sibling;else for(e=a.child;null!==e;)c|=e.lanes|e.childLanes,d|=e.subtreeFlags,d|=e.flags,e.return=a,e=e.sibling;a.subtreeFlags|=d;a.childLanes=c;return b}\nfunction Ej(a,b,c){var d=b.pendingProps;wg(b);switch(b.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return S(b),null;case 1:return Zf(b.type)&&$f(),S(b),null;case 3:d=b.stateNode;zh();E(Wf);E(H);Eh();d.pendingContext&&(d.context=d.pendingContext,d.pendingContext=null);if(null===a||null===a.child)Gg(b)?b.flags|=4:null===a||a.memoizedState.isDehydrated&&0===(b.flags&256)||(b.flags|=1024,null!==zg&&(Fj(zg),zg=null));Aj(a,b);S(b);return null;case 5:Bh(b);var e=xh(wh.current);\nc=b.type;if(null!==a&&null!=b.stateNode)Bj(a,b,c,d,e),a.ref!==b.ref&&(b.flags|=512,b.flags|=2097152);else{if(!d){if(null===b.stateNode)throw Error(p(166));S(b);return null}a=xh(uh.current);if(Gg(b)){d=b.stateNode;c=b.type;var f=b.memoizedProps;d[Of]=b;d[Pf]=f;a=0!==(b.mode&1);switch(c){case \"dialog\":D(\"cancel\",d);D(\"close\",d);break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",d);break;case \"video\":case \"audio\":for(e=0;e<lf.length;e++)D(lf[e],d);break;case \"source\":D(\"error\",d);break;case \"img\":case \"image\":case \"link\":D(\"error\",\nd);D(\"load\",d);break;case \"details\":D(\"toggle\",d);break;case \"input\":Za(d,f);D(\"invalid\",d);break;case \"select\":d._wrapperState={wasMultiple:!!f.multiple};D(\"invalid\",d);break;case \"textarea\":hb(d,f),D(\"invalid\",d)}ub(c,f);e=null;for(var g in f)if(f.hasOwnProperty(g)){var h=f[g];\"children\"===g?\"string\"===typeof h?d.textContent!==h&&(!0!==f.suppressHydrationWarning&&Af(d.textContent,h,a),e=[\"children\",h]):\"number\"===typeof h&&d.textContent!==\"\"+h&&(!0!==f.suppressHydrationWarning&&Af(d.textContent,\nh,a),e=[\"children\",\"\"+h]):ea.hasOwnProperty(g)&&null!=h&&\"onScroll\"===g&&D(\"scroll\",d)}switch(c){case \"input\":Va(d);db(d,f,!0);break;case \"textarea\":Va(d);jb(d);break;case \"select\":case \"option\":break;default:\"function\"===typeof f.onClick&&(d.onclick=Bf)}d=e;b.updateQueue=d;null!==d&&(b.flags|=4)}else{g=9===e.nodeType?e:e.ownerDocument;\"http://www.w3.org/1999/xhtml\"===a&&(a=kb(c));\"http://www.w3.org/1999/xhtml\"===a?\"script\"===c?(a=g.createElement(\"div\"),a.innerHTML=\"<script>\\x3c/script>\",a=a.removeChild(a.firstChild)):\n\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[Of]=b;a[Pf]=d;zj(a,b,!1,!1);b.stateNode=a;a:{g=vb(c,d);switch(c){case \"dialog\":D(\"cancel\",a);D(\"close\",a);e=d;break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;e<lf.length;e++)D(lf[e],a);e=d;break;case \"source\":D(\"error\",a);e=d;break;case \"img\":case \"image\":case \"link\":D(\"error\",\na);D(\"load\",a);e=d;break;case \"details\":D(\"toggle\",a);e=d;break;case \"input\":Za(a,d);e=Ya(a,d);D(\"invalid\",a);break;case \"option\":e=d;break;case \"select\":a._wrapperState={wasMultiple:!!d.multiple};e=A({},d,{value:void 0});D(\"invalid\",a);break;case \"textarea\":hb(a,d);e=gb(a,d);D(\"invalid\",a);break;default:e=d}ub(c,e);h=e;for(f in h)if(h.hasOwnProperty(f)){var k=h[f];\"style\"===f?sb(a,k):\"dangerouslySetInnerHTML\"===f?(k=k?k.__html:void 0,null!=k&&nb(a,k)):\"children\"===f?\"string\"===typeof k?(\"textarea\"!==\nc||\"\"!==k)&&ob(a,k):\"number\"===typeof k&&ob(a,\"\"+k):\"suppressContentEditableWarning\"!==f&&\"suppressHydrationWarning\"!==f&&\"autoFocus\"!==f&&(ea.hasOwnProperty(f)?null!=k&&\"onScroll\"===f&&D(\"scroll\",a):null!=k&&ta(a,f,k,g))}switch(c){case \"input\":Va(a);db(a,d,!1);break;case \"textarea\":Va(a);jb(a);break;case \"option\":null!=d.value&&a.setAttribute(\"value\",\"\"+Sa(d.value));break;case \"select\":a.multiple=!!d.multiple;f=d.value;null!=f?fb(a,!!d.multiple,f,!1):null!=d.defaultValue&&fb(a,!!d.multiple,d.defaultValue,\n!0);break;default:\"function\"===typeof e.onClick&&(a.onclick=Bf)}switch(c){case \"button\":case \"input\":case \"select\":case \"textarea\":d=!!d.autoFocus;break a;case \"img\":d=!0;break a;default:d=!1}}d&&(b.flags|=4)}null!==b.ref&&(b.flags|=512,b.flags|=2097152)}S(b);return null;case 6:if(a&&null!=b.stateNode)Cj(a,b,a.memoizedProps,d);else{if(\"string\"!==typeof d&&null===b.stateNode)throw Error(p(166));c=xh(wh.current);xh(uh.current);if(Gg(b)){d=b.stateNode;c=b.memoizedProps;d[Of]=b;if(f=d.nodeValue!==c)if(a=\nxg,null!==a)switch(a.tag){case 3:Af(d.nodeValue,c,0!==(a.mode&1));break;case 5:!0!==a.memoizedProps.suppressHydrationWarning&&Af(d.nodeValue,c,0!==(a.mode&1))}f&&(b.flags|=4)}else d=(9===c.nodeType?c:c.ownerDocument).createTextNode(d),d[Of]=b,b.stateNode=d}S(b);return null;case 13:E(L);d=b.memoizedState;if(null===a||null!==a.memoizedState&&null!==a.memoizedState.dehydrated){if(I&&null!==yg&&0!==(b.mode&1)&&0===(b.flags&128))Hg(),Ig(),b.flags|=98560,f=!1;else if(f=Gg(b),null!==d&&null!==d.dehydrated){if(null===\na){if(!f)throw Error(p(318));f=b.memoizedState;f=null!==f?f.dehydrated:null;if(!f)throw Error(p(317));f[Of]=b}else Ig(),0===(b.flags&128)&&(b.memoizedState=null),b.flags|=4;S(b);f=!1}else null!==zg&&(Fj(zg),zg=null),f=!0;if(!f)return b.flags&65536?b:null}if(0!==(b.flags&128))return b.lanes=c,b;d=null!==d;d!==(null!==a&&null!==a.memoizedState)&&d&&(b.child.flags|=8192,0!==(b.mode&1)&&(null===a||0!==(L.current&1)?0===T&&(T=3):tj()));null!==b.updateQueue&&(b.flags|=4);S(b);return null;case 4:return zh(),\nAj(a,b),null===a&&sf(b.stateNode.containerInfo),S(b),null;case 10:return ah(b.type._context),S(b),null;case 17:return Zf(b.type)&&$f(),S(b),null;case 19:E(L);f=b.memoizedState;if(null===f)return S(b),null;d=0!==(b.flags&128);g=f.rendering;if(null===g)if(d)Dj(f,!1);else{if(0!==T||null!==a&&0!==(a.flags&128))for(a=b.child;null!==a;){g=Ch(a);if(null!==g){b.flags|=128;Dj(f,!1);d=g.updateQueue;null!==d&&(b.updateQueue=d,b.flags|=4);b.subtreeFlags=0;d=c;for(c=b.child;null!==c;)f=c,a=d,f.flags&=14680066,\ng=f.alternate,null===g?(f.childLanes=0,f.lanes=a,f.child=null,f.subtreeFlags=0,f.memoizedProps=null,f.memoizedState=null,f.updateQueue=null,f.dependencies=null,f.stateNode=null):(f.childLanes=g.childLanes,f.lanes=g.lanes,f.child=g.child,f.subtreeFlags=0,f.deletions=null,f.memoizedProps=g.memoizedProps,f.memoizedState=g.memoizedState,f.updateQueue=g.updateQueue,f.type=g.type,a=g.dependencies,f.dependencies=null===a?null:{lanes:a.lanes,firstContext:a.firstContext}),c=c.sibling;G(L,L.current&1|2);return b.child}a=\na.sibling}null!==f.tail&&B()>Gj&&(b.flags|=128,d=!0,Dj(f,!1),b.lanes=4194304)}else{if(!d)if(a=Ch(g),null!==a){if(b.flags|=128,d=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Dj(f,!0),null===f.tail&&\"hidden\"===f.tailMode&&!g.alternate&&!I)return S(b),null}else 2*B()-f.renderingStartTime>Gj&&1073741824!==c&&(b.flags|=128,d=!0,Dj(f,!1),b.lanes=4194304);f.isBackwards?(g.sibling=b.child,b.child=g):(c=f.last,null!==c?c.sibling=g:b.child=g,f.last=g)}if(null!==f.tail)return b=f.tail,f.rendering=\nb,f.tail=b.sibling,f.renderingStartTime=B(),b.sibling=null,c=L.current,G(L,d?c&1|2:c&1),b;S(b);return null;case 22:case 23:return Hj(),d=null!==b.memoizedState,null!==a&&null!==a.memoizedState!==d&&(b.flags|=8192),d&&0!==(b.mode&1)?0!==(fj&1073741824)&&(S(b),b.subtreeFlags&6&&(b.flags|=8192)):S(b),null;case 24:return null;case 25:return null}throw Error(p(156,b.tag));}\nfunction Ij(a,b){wg(b);switch(b.tag){case 1:return Zf(b.type)&&$f(),a=b.flags,a&65536?(b.flags=a&-65537|128,b):null;case 3:return zh(),E(Wf),E(H),Eh(),a=b.flags,0!==(a&65536)&&0===(a&128)?(b.flags=a&-65537|128,b):null;case 5:return Bh(b),null;case 13:E(L);a=b.memoizedState;if(null!==a&&null!==a.dehydrated){if(null===b.alternate)throw Error(p(340));Ig()}a=b.flags;return a&65536?(b.flags=a&-65537|128,b):null;case 19:return E(L),null;case 4:return zh(),null;case 10:return ah(b.type._context),null;case 22:case 23:return Hj(),\nnull;case 24:return null;default:return null}}var Jj=!1,U=!1,Kj=\"function\"===typeof WeakSet?WeakSet:Set,V=null;function Lj(a,b){var c=a.ref;if(null!==c)if(\"function\"===typeof c)try{c(null)}catch(d){W(a,b,d)}else c.current=null}function Mj(a,b,c){try{c()}catch(d){W(a,b,d)}}var Nj=!1;\nfunction Oj(a,b){Cf=dd;a=Me();if(Ne(a)){if(\"selectionStart\"in a)var c={start:a.selectionStart,end:a.selectionEnd};else a:{c=(c=a.ownerDocument)&&c.defaultView||window;var d=c.getSelection&&c.getSelection();if(d&&0!==d.rangeCount){c=d.anchorNode;var e=d.anchorOffset,f=d.focusNode;d=d.focusOffset;try{c.nodeType,f.nodeType}catch(F){c=null;break a}var g=0,h=-1,k=-1,l=0,m=0,q=a,r=null;b:for(;;){for(var y;;){q!==c||0!==e&&3!==q.nodeType||(h=g+e);q!==f||0!==d&&3!==q.nodeType||(k=g+d);3===q.nodeType&&(g+=\nq.nodeValue.length);if(null===(y=q.firstChild))break;r=q;q=y}for(;;){if(q===a)break b;r===c&&++l===e&&(h=g);r===f&&++m===d&&(k=g);if(null!==(y=q.nextSibling))break;q=r;r=q.parentNode}q=y}c=-1===h||-1===k?null:{start:h,end:k}}else c=null}c=c||{start:0,end:0}}else c=null;Df={focusedElem:a,selectionRange:c};dd=!1;for(V=b;null!==V;)if(b=V,a=b.child,0!==(b.subtreeFlags&1028)&&null!==a)a.return=b,V=a;else for(;null!==V;){b=V;try{var n=b.alternate;if(0!==(b.flags&1024))switch(b.tag){case 0:case 11:case 15:break;\ncase 1:if(null!==n){var t=n.memoizedProps,J=n.memoizedState,x=b.stateNode,w=x.getSnapshotBeforeUpdate(b.elementType===b.type?t:Ci(b.type,t),J);x.__reactInternalSnapshotBeforeUpdate=w}break;case 3:var u=b.stateNode.containerInfo;1===u.nodeType?u.textContent=\"\":9===u.nodeType&&u.documentElement&&u.removeChild(u.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(p(163));}}catch(F){W(b,b.return,F)}a=b.sibling;if(null!==a){a.return=b.return;V=a;break}V=b.return}n=Nj;Nj=!1;return n}\nfunction Pj(a,b,c){var d=b.updateQueue;d=null!==d?d.lastEffect:null;if(null!==d){var e=d=d.next;do{if((e.tag&a)===a){var f=e.destroy;e.destroy=void 0;void 0!==f&&Mj(b,c,f)}e=e.next}while(e!==d)}}function Qj(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.create;c.destroy=d()}c=c.next}while(c!==b)}}function Rj(a){var b=a.ref;if(null!==b){var c=a.stateNode;switch(a.tag){case 5:a=c;break;default:a=c}\"function\"===typeof b?b(a):b.current=a}}\nfunction Sj(a){var b=a.alternate;null!==b&&(a.alternate=null,Sj(b));a.child=null;a.deletions=null;a.sibling=null;5===a.tag&&(b=a.stateNode,null!==b&&(delete b[Of],delete b[Pf],delete b[of],delete b[Qf],delete b[Rf]));a.stateNode=null;a.return=null;a.dependencies=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.stateNode=null;a.updateQueue=null}function Tj(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction Uj(a){a:for(;;){for(;null===a.sibling;){if(null===a.return||Tj(a.return))return null;a=a.return}a.sibling.return=a.return;for(a=a.sibling;5!==a.tag&&6!==a.tag&&18!==a.tag;){if(a.flags&2)continue a;if(null===a.child||4===a.tag)continue a;else a.child.return=a,a=a.child}if(!(a.flags&2))return a.stateNode}}\nfunction Vj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=Bf));else if(4!==d&&(a=a.child,null!==a))for(Vj(a,b,c),a=a.sibling;null!==a;)Vj(a,b,c),a=a.sibling}\nfunction Wj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(Wj(a,b,c),a=a.sibling;null!==a;)Wj(a,b,c),a=a.sibling}var X=null,Xj=!1;function Yj(a,b,c){for(c=c.child;null!==c;)Zj(a,b,c),c=c.sibling}\nfunction Zj(a,b,c){if(lc&&\"function\"===typeof lc.onCommitFiberUnmount)try{lc.onCommitFiberUnmount(kc,c)}catch(h){}switch(c.tag){case 5:U||Lj(c,b);case 6:var d=X,e=Xj;X=null;Yj(a,b,c);X=d;Xj=e;null!==X&&(Xj?(a=X,c=c.stateNode,8===a.nodeType?a.parentNode.removeChild(c):a.removeChild(c)):X.removeChild(c.stateNode));break;case 18:null!==X&&(Xj?(a=X,c=c.stateNode,8===a.nodeType?Kf(a.parentNode,c):1===a.nodeType&&Kf(a,c),bd(a)):Kf(X,c.stateNode));break;case 4:d=X;e=Xj;X=c.stateNode.containerInfo;Xj=!0;\nYj(a,b,c);X=d;Xj=e;break;case 0:case 11:case 14:case 15:if(!U&&(d=c.updateQueue,null!==d&&(d=d.lastEffect,null!==d))){e=d=d.next;do{var f=e,g=f.destroy;f=f.tag;void 0!==g&&(0!==(f&2)?Mj(c,b,g):0!==(f&4)&&Mj(c,b,g));e=e.next}while(e!==d)}Yj(a,b,c);break;case 1:if(!U&&(Lj(c,b),d=c.stateNode,\"function\"===typeof d.componentWillUnmount))try{d.props=c.memoizedProps,d.state=c.memoizedState,d.componentWillUnmount()}catch(h){W(c,b,h)}Yj(a,b,c);break;case 21:Yj(a,b,c);break;case 22:c.mode&1?(U=(d=U)||null!==\nc.memoizedState,Yj(a,b,c),U=d):Yj(a,b,c);break;default:Yj(a,b,c)}}function ak(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Kj);b.forEach(function(b){var d=bk.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nfunction ck(a,b){var c=b.deletions;if(null!==c)for(var d=0;d<c.length;d++){var e=c[d];try{var f=a,g=b,h=g;a:for(;null!==h;){switch(h.tag){case 5:X=h.stateNode;Xj=!1;break a;case 3:X=h.stateNode.containerInfo;Xj=!0;break a;case 4:X=h.stateNode.containerInfo;Xj=!0;break a}h=h.return}if(null===X)throw Error(p(160));Zj(f,g,e);X=null;Xj=!1;var k=e.alternate;null!==k&&(k.return=null);e.return=null}catch(l){W(e,b,l)}}if(b.subtreeFlags&12854)for(b=b.child;null!==b;)dk(b,a),b=b.sibling}\nfunction dk(a,b){var c=a.alternate,d=a.flags;switch(a.tag){case 0:case 11:case 14:case 15:ck(b,a);ek(a);if(d&4){try{Pj(3,a,a.return),Qj(3,a)}catch(t){W(a,a.return,t)}try{Pj(5,a,a.return)}catch(t){W(a,a.return,t)}}break;case 1:ck(b,a);ek(a);d&512&&null!==c&&Lj(c,c.return);break;case 5:ck(b,a);ek(a);d&512&&null!==c&&Lj(c,c.return);if(a.flags&32){var e=a.stateNode;try{ob(e,\"\")}catch(t){W(a,a.return,t)}}if(d&4&&(e=a.stateNode,null!=e)){var f=a.memoizedProps,g=null!==c?c.memoizedProps:f,h=a.type,k=a.updateQueue;\na.updateQueue=null;if(null!==k)try{\"input\"===h&&\"radio\"===f.type&&null!=f.name&&ab(e,f);vb(h,g);var l=vb(h,f);for(g=0;g<k.length;g+=2){var m=k[g],q=k[g+1];\"style\"===m?sb(e,q):\"dangerouslySetInnerHTML\"===m?nb(e,q):\"children\"===m?ob(e,q):ta(e,m,q,l)}switch(h){case \"input\":bb(e,f);break;case \"textarea\":ib(e,f);break;case \"select\":var r=e._wrapperState.wasMultiple;e._wrapperState.wasMultiple=!!f.multiple;var y=f.value;null!=y?fb(e,!!f.multiple,y,!1):r!==!!f.multiple&&(null!=f.defaultValue?fb(e,!!f.multiple,\nf.defaultValue,!0):fb(e,!!f.multiple,f.multiple?[]:\"\",!1))}e[Pf]=f}catch(t){W(a,a.return,t)}}break;case 6:ck(b,a);ek(a);if(d&4){if(null===a.stateNode)throw Error(p(162));e=a.stateNode;f=a.memoizedProps;try{e.nodeValue=f}catch(t){W(a,a.return,t)}}break;case 3:ck(b,a);ek(a);if(d&4&&null!==c&&c.memoizedState.isDehydrated)try{bd(b.containerInfo)}catch(t){W(a,a.return,t)}break;case 4:ck(b,a);ek(a);break;case 13:ck(b,a);ek(a);e=a.child;e.flags&8192&&(f=null!==e.memoizedState,e.stateNode.isHidden=f,!f||\nnull!==e.alternate&&null!==e.alternate.memoizedState||(fk=B()));d&4&&ak(a);break;case 22:m=null!==c&&null!==c.memoizedState;a.mode&1?(U=(l=U)||m,ck(b,a),U=l):ck(b,a);ek(a);if(d&8192){l=null!==a.memoizedState;if((a.stateNode.isHidden=l)&&!m&&0!==(a.mode&1))for(V=a,m=a.child;null!==m;){for(q=V=m;null!==V;){r=V;y=r.child;switch(r.tag){case 0:case 11:case 14:case 15:Pj(4,r,r.return);break;case 1:Lj(r,r.return);var n=r.stateNode;if(\"function\"===typeof n.componentWillUnmount){d=r;c=r.return;try{b=d,n.props=\nb.memoizedProps,n.state=b.memoizedState,n.componentWillUnmount()}catch(t){W(d,c,t)}}break;case 5:Lj(r,r.return);break;case 22:if(null!==r.memoizedState){gk(q);continue}}null!==y?(y.return=r,V=y):gk(q)}m=m.sibling}a:for(m=null,q=a;;){if(5===q.tag){if(null===m){m=q;try{e=q.stateNode,l?(f=e.style,\"function\"===typeof f.setProperty?f.setProperty(\"display\",\"none\",\"important\"):f.display=\"none\"):(h=q.stateNode,k=q.memoizedProps.style,g=void 0!==k&&null!==k&&k.hasOwnProperty(\"display\")?k.display:null,h.style.display=\nrb(\"display\",g))}catch(t){W(a,a.return,t)}}}else if(6===q.tag){if(null===m)try{q.stateNode.nodeValue=l?\"\":q.memoizedProps}catch(t){W(a,a.return,t)}}else if((22!==q.tag&&23!==q.tag||null===q.memoizedState||q===a)&&null!==q.child){q.child.return=q;q=q.child;continue}if(q===a)break a;for(;null===q.sibling;){if(null===q.return||q.return===a)break a;m===q&&(m=null);q=q.return}m===q&&(m=null);q.sibling.return=q.return;q=q.sibling}}break;case 19:ck(b,a);ek(a);d&4&&ak(a);break;case 21:break;default:ck(b,\na),ek(a)}}function ek(a){var b=a.flags;if(b&2){try{a:{for(var c=a.return;null!==c;){if(Tj(c)){var d=c;break a}c=c.return}throw Error(p(160));}switch(d.tag){case 5:var e=d.stateNode;d.flags&32&&(ob(e,\"\"),d.flags&=-33);var f=Uj(a);Wj(a,f,e);break;case 3:case 4:var g=d.stateNode.containerInfo,h=Uj(a);Vj(a,h,g);break;default:throw Error(p(161));}}catch(k){W(a,a.return,k)}a.flags&=-3}b&4096&&(a.flags&=-4097)}function hk(a,b,c){V=a;ik(a,b,c)}\nfunction ik(a,b,c){for(var d=0!==(a.mode&1);null!==V;){var e=V,f=e.child;if(22===e.tag&&d){var g=null!==e.memoizedState||Jj;if(!g){var h=e.alternate,k=null!==h&&null!==h.memoizedState||U;h=Jj;var l=U;Jj=g;if((U=k)&&!l)for(V=e;null!==V;)g=V,k=g.child,22===g.tag&&null!==g.memoizedState?jk(e):null!==k?(k.return=g,V=k):jk(e);for(;null!==f;)V=f,ik(f,b,c),f=f.sibling;V=e;Jj=h;U=l}kk(a,b,c)}else 0!==(e.subtreeFlags&8772)&&null!==f?(f.return=e,V=f):kk(a,b,c)}}\nfunction kk(a){for(;null!==V;){var b=V;if(0!==(b.flags&8772)){var c=b.alternate;try{if(0!==(b.flags&8772))switch(b.tag){case 0:case 11:case 15:U||Qj(5,b);break;case 1:var d=b.stateNode;if(b.flags&4&&!U)if(null===c)d.componentDidMount();else{var e=b.elementType===b.type?c.memoizedProps:Ci(b.type,c.memoizedProps);d.componentDidUpdate(e,c.memoizedState,d.__reactInternalSnapshotBeforeUpdate)}var f=b.updateQueue;null!==f&&sh(b,f,d);break;case 3:var g=b.updateQueue;if(null!==g){c=null;if(null!==b.child)switch(b.child.tag){case 5:c=\nb.child.stateNode;break;case 1:c=b.child.stateNode}sh(b,g,c)}break;case 5:var h=b.stateNode;if(null===c&&b.flags&4){c=h;var k=b.memoizedProps;switch(b.type){case \"button\":case \"input\":case \"select\":case \"textarea\":k.autoFocus&&c.focus();break;case \"img\":k.src&&(c.src=k.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(null===b.memoizedState){var l=b.alternate;if(null!==l){var m=l.memoizedState;if(null!==m){var q=m.dehydrated;null!==q&&bd(q)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;\ndefault:throw Error(p(163));}U||b.flags&512&&Rj(b)}catch(r){W(b,b.return,r)}}if(b===a){V=null;break}c=b.sibling;if(null!==c){c.return=b.return;V=c;break}V=b.return}}function gk(a){for(;null!==V;){var b=V;if(b===a){V=null;break}var c=b.sibling;if(null!==c){c.return=b.return;V=c;break}V=b.return}}\nfunction jk(a){for(;null!==V;){var b=V;try{switch(b.tag){case 0:case 11:case 15:var c=b.return;try{Qj(4,b)}catch(k){W(b,c,k)}break;case 1:var d=b.stateNode;if(\"function\"===typeof d.componentDidMount){var e=b.return;try{d.componentDidMount()}catch(k){W(b,e,k)}}var f=b.return;try{Rj(b)}catch(k){W(b,f,k)}break;case 5:var g=b.return;try{Rj(b)}catch(k){W(b,g,k)}}}catch(k){W(b,b.return,k)}if(b===a){V=null;break}var h=b.sibling;if(null!==h){h.return=b.return;V=h;break}V=b.return}}\nvar lk=Math.ceil,mk=ua.ReactCurrentDispatcher,nk=ua.ReactCurrentOwner,ok=ua.ReactCurrentBatchConfig,K=0,Q=null,Y=null,Z=0,fj=0,ej=Uf(0),T=0,pk=null,rh=0,qk=0,rk=0,sk=null,tk=null,fk=0,Gj=Infinity,uk=null,Oi=!1,Pi=null,Ri=null,vk=!1,wk=null,xk=0,yk=0,zk=null,Ak=-1,Bk=0;function R(){return 0!==(K&6)?B():-1!==Ak?Ak:Ak=B()}\nfunction yi(a){if(0===(a.mode&1))return 1;if(0!==(K&2)&&0!==Z)return Z&-Z;if(null!==Kg.transition)return 0===Bk&&(Bk=yc()),Bk;a=C;if(0!==a)return a;a=window.event;a=void 0===a?16:jd(a.type);return a}function gi(a,b,c,d){if(50<yk)throw yk=0,zk=null,Error(p(185));Ac(a,c,d);if(0===(K&2)||a!==Q)a===Q&&(0===(K&2)&&(qk|=c),4===T&&Ck(a,Z)),Dk(a,d),1===c&&0===K&&0===(b.mode&1)&&(Gj=B()+500,fg&&jg())}\nfunction Dk(a,b){var c=a.callbackNode;wc(a,b);var d=uc(a,a===Q?Z:0);if(0===d)null!==c&&bc(c),a.callbackNode=null,a.callbackPriority=0;else if(b=d&-d,a.callbackPriority!==b){null!=c&&bc(c);if(1===b)0===a.tag?ig(Ek.bind(null,a)):hg(Ek.bind(null,a)),Jf(function(){0===(K&6)&&jg()}),c=null;else{switch(Dc(d)){case 1:c=fc;break;case 4:c=gc;break;case 16:c=hc;break;case 536870912:c=jc;break;default:c=hc}c=Fk(c,Gk.bind(null,a))}a.callbackPriority=b;a.callbackNode=c}}\nfunction Gk(a,b){Ak=-1;Bk=0;if(0!==(K&6))throw Error(p(327));var c=a.callbackNode;if(Hk()&&a.callbackNode!==c)return null;var d=uc(a,a===Q?Z:0);if(0===d)return null;if(0!==(d&30)||0!==(d&a.expiredLanes)||b)b=Ik(a,d);else{b=d;var e=K;K|=2;var f=Jk();if(Q!==a||Z!==b)uk=null,Gj=B()+500,Kk(a,b);do try{Lk();break}catch(h){Mk(a,h)}while(1);$g();mk.current=f;K=e;null!==Y?b=0:(Q=null,Z=0,b=T)}if(0!==b){2===b&&(e=xc(a),0!==e&&(d=e,b=Nk(a,e)));if(1===b)throw c=pk,Kk(a,0),Ck(a,d),Dk(a,B()),c;if(6===b)Ck(a,d);\nelse{e=a.current.alternate;if(0===(d&30)&&!Ok(e)&&(b=Ik(a,d),2===b&&(f=xc(a),0!==f&&(d=f,b=Nk(a,f))),1===b))throw c=pk,Kk(a,0),Ck(a,d),Dk(a,B()),c;a.finishedWork=e;a.finishedLanes=d;switch(b){case 0:case 1:throw Error(p(345));case 2:Pk(a,tk,uk);break;case 3:Ck(a,d);if((d&130023424)===d&&(b=fk+500-B(),10<b)){if(0!==uc(a,0))break;e=a.suspendedLanes;if((e&d)!==d){R();a.pingedLanes|=a.suspendedLanes&e;break}a.timeoutHandle=Ff(Pk.bind(null,a,tk,uk),b);break}Pk(a,tk,uk);break;case 4:Ck(a,d);if((d&4194240)===\nd)break;b=a.eventTimes;for(e=-1;0<d;){var g=31-oc(d);f=1<<g;g=b[g];g>e&&(e=g);d&=~f}d=e;d=B()-d;d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*lk(d/1960))-d;if(10<d){a.timeoutHandle=Ff(Pk.bind(null,a,tk,uk),d);break}Pk(a,tk,uk);break;case 5:Pk(a,tk,uk);break;default:throw Error(p(329));}}}Dk(a,B());return a.callbackNode===c?Gk.bind(null,a):null}\nfunction Nk(a,b){var c=sk;a.current.memoizedState.isDehydrated&&(Kk(a,b).flags|=256);a=Ik(a,b);2!==a&&(b=tk,tk=c,null!==b&&Fj(b));return a}function Fj(a){null===tk?tk=a:tk.push.apply(tk,a)}\nfunction Ok(a){for(var b=a;;){if(b.flags&16384){var c=b.updateQueue;if(null!==c&&(c=c.stores,null!==c))for(var d=0;d<c.length;d++){var e=c[d],f=e.getSnapshot;e=e.value;try{if(!He(f(),e))return!1}catch(g){return!1}}}c=b.child;if(b.subtreeFlags&16384&&null!==c)c.return=b,b=c;else{if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return!0;b=b.return}b.sibling.return=b.return;b=b.sibling}}return!0}\nfunction Ck(a,b){b&=~rk;b&=~qk;a.suspendedLanes|=b;a.pingedLanes&=~b;for(a=a.expirationTimes;0<b;){var c=31-oc(b),d=1<<c;a[c]=-1;b&=~d}}function Ek(a){if(0!==(K&6))throw Error(p(327));Hk();var b=uc(a,0);if(0===(b&1))return Dk(a,B()),null;var c=Ik(a,b);if(0!==a.tag&&2===c){var d=xc(a);0!==d&&(b=d,c=Nk(a,d))}if(1===c)throw c=pk,Kk(a,0),Ck(a,b),Dk(a,B()),c;if(6===c)throw Error(p(345));a.finishedWork=a.current.alternate;a.finishedLanes=b;Pk(a,tk,uk);Dk(a,B());return null}\nfunction Qk(a,b){var c=K;K|=1;try{return a(b)}finally{K=c,0===K&&(Gj=B()+500,fg&&jg())}}function Rk(a){null!==wk&&0===wk.tag&&0===(K&6)&&Hk();var b=K;K|=1;var c=ok.transition,d=C;try{if(ok.transition=null,C=1,a)return a()}finally{C=d,ok.transition=c,K=b,0===(K&6)&&jg()}}function Hj(){fj=ej.current;E(ej)}\nfunction Kk(a,b){a.finishedWork=null;a.finishedLanes=0;var c=a.timeoutHandle;-1!==c&&(a.timeoutHandle=-1,Gf(c));if(null!==Y)for(c=Y.return;null!==c;){var d=c;wg(d);switch(d.tag){case 1:d=d.type.childContextTypes;null!==d&&void 0!==d&&$f();break;case 3:zh();E(Wf);E(H);Eh();break;case 5:Bh(d);break;case 4:zh();break;case 13:E(L);break;case 19:E(L);break;case 10:ah(d.type._context);break;case 22:case 23:Hj()}c=c.return}Q=a;Y=a=Pg(a.current,null);Z=fj=b;T=0;pk=null;rk=qk=rh=0;tk=sk=null;if(null!==fh){for(b=\n0;b<fh.length;b++)if(c=fh[b],d=c.interleaved,null!==d){c.interleaved=null;var e=d.next,f=c.pending;if(null!==f){var g=f.next;f.next=e;d.next=g}c.pending=d}fh=null}return a}\nfunction Mk(a,b){do{var c=Y;try{$g();Fh.current=Rh;if(Ih){for(var d=M.memoizedState;null!==d;){var e=d.queue;null!==e&&(e.pending=null);d=d.next}Ih=!1}Hh=0;O=N=M=null;Jh=!1;Kh=0;nk.current=null;if(null===c||null===c.return){T=1;pk=b;Y=null;break}a:{var f=a,g=c.return,h=c,k=b;b=Z;h.flags|=32768;if(null!==k&&\"object\"===typeof k&&\"function\"===typeof k.then){var l=k,m=h,q=m.tag;if(0===(m.mode&1)&&(0===q||11===q||15===q)){var r=m.alternate;r?(m.updateQueue=r.updateQueue,m.memoizedState=r.memoizedState,\nm.lanes=r.lanes):(m.updateQueue=null,m.memoizedState=null)}var y=Ui(g);if(null!==y){y.flags&=-257;Vi(y,g,h,f,b);y.mode&1&&Si(f,l,b);b=y;k=l;var n=b.updateQueue;if(null===n){var t=new Set;t.add(k);b.updateQueue=t}else n.add(k);break a}else{if(0===(b&1)){Si(f,l,b);tj();break a}k=Error(p(426))}}else if(I&&h.mode&1){var J=Ui(g);if(null!==J){0===(J.flags&65536)&&(J.flags|=256);Vi(J,g,h,f,b);Jg(Ji(k,h));break a}}f=k=Ji(k,h);4!==T&&(T=2);null===sk?sk=[f]:sk.push(f);f=g;do{switch(f.tag){case 3:f.flags|=65536;\nb&=-b;f.lanes|=b;var x=Ni(f,k,b);ph(f,x);break a;case 1:h=k;var w=f.type,u=f.stateNode;if(0===(f.flags&128)&&(\"function\"===typeof w.getDerivedStateFromError||null!==u&&\"function\"===typeof u.componentDidCatch&&(null===Ri||!Ri.has(u)))){f.flags|=65536;b&=-b;f.lanes|=b;var F=Qi(f,h,b);ph(f,F);break a}}f=f.return}while(null!==f)}Sk(c)}catch(na){b=na;Y===c&&null!==c&&(Y=c=c.return);continue}break}while(1)}function Jk(){var a=mk.current;mk.current=Rh;return null===a?Rh:a}\nfunction tj(){if(0===T||3===T||2===T)T=4;null===Q||0===(rh&268435455)&&0===(qk&268435455)||Ck(Q,Z)}function Ik(a,b){var c=K;K|=2;var d=Jk();if(Q!==a||Z!==b)uk=null,Kk(a,b);do try{Tk();break}catch(e){Mk(a,e)}while(1);$g();K=c;mk.current=d;if(null!==Y)throw Error(p(261));Q=null;Z=0;return T}function Tk(){for(;null!==Y;)Uk(Y)}function Lk(){for(;null!==Y&&!cc();)Uk(Y)}function Uk(a){var b=Vk(a.alternate,a,fj);a.memoizedProps=a.pendingProps;null===b?Sk(a):Y=b;nk.current=null}\nfunction Sk(a){var b=a;do{var c=b.alternate;a=b.return;if(0===(b.flags&32768)){if(c=Ej(c,b,fj),null!==c){Y=c;return}}else{c=Ij(c,b);if(null!==c){c.flags&=32767;Y=c;return}if(null!==a)a.flags|=32768,a.subtreeFlags=0,a.deletions=null;else{T=6;Y=null;return}}b=b.sibling;if(null!==b){Y=b;return}Y=b=a}while(null!==b);0===T&&(T=5)}function Pk(a,b,c){var d=C,e=ok.transition;try{ok.transition=null,C=1,Wk(a,b,c,d)}finally{ok.transition=e,C=d}return null}\nfunction Wk(a,b,c,d){do Hk();while(null!==wk);if(0!==(K&6))throw Error(p(327));c=a.finishedWork;var e=a.finishedLanes;if(null===c)return null;a.finishedWork=null;a.finishedLanes=0;if(c===a.current)throw Error(p(177));a.callbackNode=null;a.callbackPriority=0;var f=c.lanes|c.childLanes;Bc(a,f);a===Q&&(Y=Q=null,Z=0);0===(c.subtreeFlags&2064)&&0===(c.flags&2064)||vk||(vk=!0,Fk(hc,function(){Hk();return null}));f=0!==(c.flags&15990);if(0!==(c.subtreeFlags&15990)||f){f=ok.transition;ok.transition=null;\nvar g=C;C=1;var h=K;K|=4;nk.current=null;Oj(a,c);dk(c,a);Oe(Df);dd=!!Cf;Df=Cf=null;a.current=c;hk(c,a,e);dc();K=h;C=g;ok.transition=f}else a.current=c;vk&&(vk=!1,wk=a,xk=e);f=a.pendingLanes;0===f&&(Ri=null);mc(c.stateNode,d);Dk(a,B());if(null!==b)for(d=a.onRecoverableError,c=0;c<b.length;c++)e=b[c],d(e.value,{componentStack:e.stack,digest:e.digest});if(Oi)throw Oi=!1,a=Pi,Pi=null,a;0!==(xk&1)&&0!==a.tag&&Hk();f=a.pendingLanes;0!==(f&1)?a===zk?yk++:(yk=0,zk=a):yk=0;jg();return null}\nfunction Hk(){if(null!==wk){var a=Dc(xk),b=ok.transition,c=C;try{ok.transition=null;C=16>a?16:a;if(null===wk)var d=!1;else{a=wk;wk=null;xk=0;if(0!==(K&6))throw Error(p(331));var e=K;K|=4;for(V=a.current;null!==V;){var f=V,g=f.child;if(0!==(V.flags&16)){var h=f.deletions;if(null!==h){for(var k=0;k<h.length;k++){var l=h[k];for(V=l;null!==V;){var m=V;switch(m.tag){case 0:case 11:case 15:Pj(8,m,f)}var q=m.child;if(null!==q)q.return=m,V=q;else for(;null!==V;){m=V;var r=m.sibling,y=m.return;Sj(m);if(m===\nl){V=null;break}if(null!==r){r.return=y;V=r;break}V=y}}}var n=f.alternate;if(null!==n){var t=n.child;if(null!==t){n.child=null;do{var J=t.sibling;t.sibling=null;t=J}while(null!==t)}}V=f}}if(0!==(f.subtreeFlags&2064)&&null!==g)g.return=f,V=g;else b:for(;null!==V;){f=V;if(0!==(f.flags&2048))switch(f.tag){case 0:case 11:case 15:Pj(9,f,f.return)}var x=f.sibling;if(null!==x){x.return=f.return;V=x;break b}V=f.return}}var w=a.current;for(V=w;null!==V;){g=V;var u=g.child;if(0!==(g.subtreeFlags&2064)&&null!==\nu)u.return=g,V=u;else b:for(g=w;null!==V;){h=V;if(0!==(h.flags&2048))try{switch(h.tag){case 0:case 11:case 15:Qj(9,h)}}catch(na){W(h,h.return,na)}if(h===g){V=null;break b}var F=h.sibling;if(null!==F){F.return=h.return;V=F;break b}V=h.return}}K=e;jg();if(lc&&\"function\"===typeof lc.onPostCommitFiberRoot)try{lc.onPostCommitFiberRoot(kc,a)}catch(na){}d=!0}return d}finally{C=c,ok.transition=b}}return!1}function Xk(a,b,c){b=Ji(c,b);b=Ni(a,b,1);a=nh(a,b,1);b=R();null!==a&&(Ac(a,1,b),Dk(a,b))}\nfunction W(a,b,c){if(3===a.tag)Xk(a,a,c);else for(;null!==b;){if(3===b.tag){Xk(b,a,c);break}else if(1===b.tag){var d=b.stateNode;if(\"function\"===typeof b.type.getDerivedStateFromError||\"function\"===typeof d.componentDidCatch&&(null===Ri||!Ri.has(d))){a=Ji(c,a);a=Qi(b,a,1);b=nh(b,a,1);a=R();null!==b&&(Ac(b,1,a),Dk(b,a));break}}b=b.return}}\nfunction Ti(a,b,c){var d=a.pingCache;null!==d&&d.delete(b);b=R();a.pingedLanes|=a.suspendedLanes&c;Q===a&&(Z&c)===c&&(4===T||3===T&&(Z&130023424)===Z&&500>B()-fk?Kk(a,0):rk|=c);Dk(a,b)}function Yk(a,b){0===b&&(0===(a.mode&1)?b=1:(b=sc,sc<<=1,0===(sc&130023424)&&(sc=4194304)));var c=R();a=ih(a,b);null!==a&&(Ac(a,b,c),Dk(a,c))}function uj(a){var b=a.memoizedState,c=0;null!==b&&(c=b.retryLane);Yk(a,c)}\nfunction bk(a,b){var c=0;switch(a.tag){case 13:var d=a.stateNode;var e=a.memoizedState;null!==e&&(c=e.retryLane);break;case 19:d=a.stateNode;break;default:throw Error(p(314));}null!==d&&d.delete(b);Yk(a,c)}var Vk;\nVk=function(a,b,c){if(null!==a)if(a.memoizedProps!==b.pendingProps||Wf.current)dh=!0;else{if(0===(a.lanes&c)&&0===(b.flags&128))return dh=!1,yj(a,b,c);dh=0!==(a.flags&131072)?!0:!1}else dh=!1,I&&0!==(b.flags&1048576)&&ug(b,ng,b.index);b.lanes=0;switch(b.tag){case 2:var d=b.type;ij(a,b);a=b.pendingProps;var e=Yf(b,H.current);ch(b,c);e=Nh(null,b,d,a,e,c);var f=Sh();b.flags|=1;\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof?(b.tag=1,b.memoizedState=null,b.updateQueue=\nnull,Zf(d)?(f=!0,cg(b)):f=!1,b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null,kh(b),e.updater=Ei,b.stateNode=e,e._reactInternals=b,Ii(b,d,a,c),b=jj(null,b,d,!0,f,c)):(b.tag=0,I&&f&&vg(b),Xi(null,b,e,c),b=b.child);return b;case 16:d=b.elementType;a:{ij(a,b);a=b.pendingProps;e=d._init;d=e(d._payload);b.type=d;e=b.tag=Zk(d);a=Ci(d,a);switch(e){case 0:b=cj(null,b,d,a,c);break a;case 1:b=hj(null,b,d,a,c);break a;case 11:b=Yi(null,b,d,a,c);break a;case 14:b=$i(null,b,d,Ci(d.type,a),c);break a}throw Error(p(306,\nd,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),cj(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),hj(a,b,d,e,c);case 3:a:{kj(b);if(null===a)throw Error(p(387));d=b.pendingProps;f=b.memoizedState;e=f.element;lh(a,b);qh(b,d,null,c);var g=b.memoizedState;d=g.element;if(f.isDehydrated)if(f={element:d,isDehydrated:!1,cache:g.cache,pendingSuspenseBoundaries:g.pendingSuspenseBoundaries,transitions:g.transitions},b.updateQueue.baseState=\nf,b.memoizedState=f,b.flags&256){e=Ji(Error(p(423)),b);b=lj(a,b,d,c,e);break a}else if(d!==e){e=Ji(Error(p(424)),b);b=lj(a,b,d,c,e);break a}else for(yg=Lf(b.stateNode.containerInfo.firstChild),xg=b,I=!0,zg=null,c=Vg(b,null,d,c),b.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling;else{Ig();if(d===e){b=Zi(a,b,c);break a}Xi(a,b,d,c)}b=b.child}return b;case 5:return Ah(b),null===a&&Eg(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,Ef(d,e)?g=null:null!==f&&Ef(d,f)&&(b.flags|=32),\ngj(a,b),Xi(a,b,g,c),b.child;case 6:return null===a&&Eg(b),null;case 13:return oj(a,b,c);case 4:return yh(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Ug(b,null,d,c):Xi(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),Yi(a,b,d,e,c);case 7:return Xi(a,b,b.pendingProps,c),b.child;case 8:return Xi(a,b,b.pendingProps.children,c),b.child;case 12:return Xi(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;f=b.memoizedProps;\ng=e.value;G(Wg,d._currentValue);d._currentValue=g;if(null!==f)if(He(f.value,g)){if(f.children===e.children&&!Wf.current){b=Zi(a,b,c);break a}}else for(f=b.child,null!==f&&(f.return=b);null!==f;){var h=f.dependencies;if(null!==h){g=f.child;for(var k=h.firstContext;null!==k;){if(k.context===d){if(1===f.tag){k=mh(-1,c&-c);k.tag=2;var l=f.updateQueue;if(null!==l){l=l.shared;var m=l.pending;null===m?k.next=k:(k.next=m.next,m.next=k);l.pending=k}}f.lanes|=c;k=f.alternate;null!==k&&(k.lanes|=c);bh(f.return,\nc,b);h.lanes|=c;break}k=k.next}}else if(10===f.tag)g=f.type===b.type?null:f.child;else if(18===f.tag){g=f.return;if(null===g)throw Error(p(341));g.lanes|=c;h=g.alternate;null!==h&&(h.lanes|=c);bh(g,c,b);g=f.sibling}else g=f.child;if(null!==g)g.return=f;else for(g=f;null!==g;){if(g===b){g=null;break}f=g.sibling;if(null!==f){f.return=g.return;g=f;break}g=g.return}f=g}Xi(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,d=b.pendingProps.children,ch(b,c),e=eh(e),d=d(e),b.flags|=1,Xi(a,b,d,c),\nb.child;case 14:return d=b.type,e=Ci(d,b.pendingProps),e=Ci(d.type,e),$i(a,b,d,e,c);case 15:return bj(a,b,b.type,b.pendingProps,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),ij(a,b),b.tag=1,Zf(d)?(a=!0,cg(b)):a=!1,ch(b,c),Gi(b,d,e),Ii(b,d,e,c),jj(null,b,d,!0,a,c);case 19:return xj(a,b,c);case 22:return dj(a,b,c)}throw Error(p(156,b.tag));};function Fk(a,b){return ac(a,b)}\nfunction $k(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.subtreeFlags=this.flags=0;this.deletions=null;this.childLanes=this.lanes=0;this.alternate=null}function Bg(a,b,c,d){return new $k(a,b,c,d)}function aj(a){a=a.prototype;return!(!a||!a.isReactComponent)}\nfunction Zk(a){if(\"function\"===typeof a)return aj(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===Da)return 11;if(a===Ga)return 14}return 2}\nfunction Pg(a,b){var c=a.alternate;null===c?(c=Bg(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.type=a.type,c.flags=0,c.subtreeFlags=0,c.deletions=null);c.flags=a.flags&14680064;c.childLanes=a.childLanes;c.lanes=a.lanes;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{lanes:b.lanes,firstContext:b.firstContext};\nc.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction Rg(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)aj(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ya:return Tg(c.children,e,f,b);case za:g=8;e|=8;break;case Aa:return a=Bg(12,c,b,e|2),a.elementType=Aa,a.lanes=f,a;case Ea:return a=Bg(13,c,b,e),a.elementType=Ea,a.lanes=f,a;case Fa:return a=Bg(19,c,b,e),a.elementType=Fa,a.lanes=f,a;case Ia:return pj(c,e,f,b);default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case Ba:g=10;break a;case Ca:g=9;break a;case Da:g=11;\nbreak a;case Ga:g=14;break a;case Ha:g=16;d=null;break a}throw Error(p(130,null==a?a:typeof a,\"\"));}b=Bg(g,c,b,e);b.elementType=a;b.type=d;b.lanes=f;return b}function Tg(a,b,c,d){a=Bg(7,a,d,b);a.lanes=c;return a}function pj(a,b,c,d){a=Bg(22,a,d,b);a.elementType=Ia;a.lanes=c;a.stateNode={isHidden:!1};return a}function Qg(a,b,c){a=Bg(6,a,null,b);a.lanes=c;return a}\nfunction Sg(a,b,c){b=Bg(4,null!==a.children?a.children:[],a.key,b);b.lanes=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction al(a,b,c,d,e){this.tag=b;this.containerInfo=a;this.finishedWork=this.pingCache=this.current=this.pendingChildren=null;this.timeoutHandle=-1;this.callbackNode=this.pendingContext=this.context=null;this.callbackPriority=0;this.eventTimes=zc(0);this.expirationTimes=zc(-1);this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0;this.entanglements=zc(0);this.identifierPrefix=d;this.onRecoverableError=e;this.mutableSourceEagerHydrationData=\nnull}function bl(a,b,c,d,e,f,g,h,k){a=new al(a,b,c,h,k);1===b?(b=1,!0===f&&(b|=8)):b=0;f=Bg(3,null,null,b);a.current=f;f.stateNode=a;f.memoizedState={element:d,isDehydrated:c,cache:null,transitions:null,pendingSuspenseBoundaries:null};kh(f);return a}function cl(a,b,c){var d=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:wa,key:null==d?null:\"\"+d,children:a,containerInfo:b,implementation:c}}\nfunction dl(a){if(!a)return Vf;a=a._reactInternals;a:{if(Vb(a)!==a||1!==a.tag)throw Error(p(170));var b=a;do{switch(b.tag){case 3:b=b.stateNode.context;break a;case 1:if(Zf(b.type)){b=b.stateNode.__reactInternalMemoizedMergedChildContext;break a}}b=b.return}while(null!==b);throw Error(p(171));}if(1===a.tag){var c=a.type;if(Zf(c))return bg(a,c,b)}return b}\nfunction el(a,b,c,d,e,f,g,h,k){a=bl(c,d,!0,a,e,f,g,h,k);a.context=dl(null);c=a.current;d=R();e=yi(c);f=mh(d,e);f.callback=void 0!==b&&null!==b?b:null;nh(c,f,e);a.current.lanes=e;Ac(a,e,d);Dk(a,d);return a}function fl(a,b,c,d){var e=b.current,f=R(),g=yi(e);c=dl(c);null===b.context?b.context=c:b.pendingContext=c;b=mh(f,g);b.payload={element:a};d=void 0===d?null:d;null!==d&&(b.callback=d);a=nh(e,b,g);null!==a&&(gi(a,e,g,f),oh(a,e,g));return g}\nfunction gl(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode}}function hl(a,b){a=a.memoizedState;if(null!==a&&null!==a.dehydrated){var c=a.retryLane;a.retryLane=0!==c&&c<b?c:b}}function il(a,b){hl(a,b);(a=a.alternate)&&hl(a,b)}function jl(){return null}var kl=\"function\"===typeof reportError?reportError:function(a){console.error(a)};function ll(a){this._internalRoot=a}\nml.prototype.render=ll.prototype.render=function(a){var b=this._internalRoot;if(null===b)throw Error(p(409));fl(a,b,null,null)};ml.prototype.unmount=ll.prototype.unmount=function(){var a=this._internalRoot;if(null!==a){this._internalRoot=null;var b=a.containerInfo;Rk(function(){fl(null,a,null,null)});b[uf]=null}};function ml(a){this._internalRoot=a}\nml.prototype.unstable_scheduleHydration=function(a){if(a){var b=Hc();a={blockedOn:null,target:a,priority:b};for(var c=0;c<Qc.length&&0!==b&&b<Qc[c].priority;c++);Qc.splice(c,0,a);0===c&&Vc(a)}};function nl(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType)}function ol(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType&&(8!==a.nodeType||\" react-mount-point-unstable \"!==a.nodeValue))}function pl(){}\nfunction ql(a,b,c,d,e){if(e){if(\"function\"===typeof d){var f=d;d=function(){var a=gl(g);f.call(a)}}var g=el(b,d,a,0,null,!1,!1,\"\",pl);a._reactRootContainer=g;a[uf]=g.current;sf(8===a.nodeType?a.parentNode:a);Rk();return g}for(;e=a.lastChild;)a.removeChild(e);if(\"function\"===typeof d){var h=d;d=function(){var a=gl(k);h.call(a)}}var k=bl(a,0,!1,null,null,!1,!1,\"\",pl);a._reactRootContainer=k;a[uf]=k.current;sf(8===a.nodeType?a.parentNode:a);Rk(function(){fl(b,k,c,d)});return k}\nfunction rl(a,b,c,d,e){var f=c._reactRootContainer;if(f){var g=f;if(\"function\"===typeof e){var h=e;e=function(){var a=gl(g);h.call(a)}}fl(b,g,a,e)}else g=ql(c,b,a,e,d);return gl(g)}Ec=function(a){switch(a.tag){case 3:var b=a.stateNode;if(b.current.memoizedState.isDehydrated){var c=tc(b.pendingLanes);0!==c&&(Cc(b,c|1),Dk(b,B()),0===(K&6)&&(Gj=B()+500,jg()))}break;case 13:Rk(function(){var b=ih(a,1);if(null!==b){var c=R();gi(b,a,1,c)}}),il(a,1)}};\nFc=function(a){if(13===a.tag){var b=ih(a,134217728);if(null!==b){var c=R();gi(b,a,134217728,c)}il(a,134217728)}};Gc=function(a){if(13===a.tag){var b=yi(a),c=ih(a,b);if(null!==c){var d=R();gi(c,a,b,d)}il(a,b)}};Hc=function(){return C};Ic=function(a,b){var c=C;try{return C=a,b()}finally{C=c}};\nyb=function(a,b,c){switch(b){case \"input\":bb(a,c);b=c.name;if(\"radio\"===c.type&&null!=b){for(c=a;c.parentNode;)c=c.parentNode;c=c.querySelectorAll(\"input[name=\"+JSON.stringify(\"\"+b)+'][type=\"radio\"]');for(b=0;b<c.length;b++){var d=c[b];if(d!==a&&d.form===a.form){var e=Db(d);if(!e)throw Error(p(90));Wa(d);bb(d,e)}}}break;case \"textarea\":ib(a,c);break;case \"select\":b=c.value,null!=b&&fb(a,!!c.multiple,b,!1)}};Gb=Qk;Hb=Rk;\nvar sl={usingClientEntryPoint:!1,Events:[Cb,ue,Db,Eb,Fb,Qk]},tl={findFiberByHostInstance:Wc,bundleType:0,version:\"18.3.1\",rendererPackageName:\"react-dom\"};\nvar ul={bundleType:tl.bundleType,version:tl.version,rendererPackageName:tl.rendererPackageName,rendererConfig:tl.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:ua.ReactCurrentDispatcher,findHostInstanceByFiber:function(a){a=Zb(a);return null===a?null:a.stateNode},findFiberByHostInstance:tl.findFiberByHostInstance||\njl,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:\"18.3.1-next-f1338f8080-20240426\"};if(\"undefined\"!==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var vl=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!vl.isDisabled&&vl.supportsFiber)try{kc=vl.inject(ul),lc=vl}catch(a){}}exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=sl;\nexports.createPortal=function(a,b){var c=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!nl(b))throw Error(p(200));return cl(a,b,null,c)};exports.createRoot=function(a,b){if(!nl(a))throw Error(p(299));var c=!1,d=\"\",e=kl;null!==b&&void 0!==b&&(!0===b.unstable_strictMode&&(c=!0),void 0!==b.identifierPrefix&&(d=b.identifierPrefix),void 0!==b.onRecoverableError&&(e=b.onRecoverableError));b=bl(a,1,!1,null,null,c,!1,d,e);a[uf]=b.current;sf(8===a.nodeType?a.parentNode:a);return new ll(b)};\nexports.findDOMNode=function(a){if(null==a)return null;if(1===a.nodeType)return a;var b=a._reactInternals;if(void 0===b){if(\"function\"===typeof a.render)throw Error(p(188));a=Object.keys(a).join(\",\");throw Error(p(268,a));}a=Zb(b);a=null===a?null:a.stateNode;return a};exports.flushSync=function(a){return Rk(a)};exports.hydrate=function(a,b,c){if(!ol(b))throw Error(p(200));return rl(null,a,b,!0,c)};\nexports.hydrateRoot=function(a,b,c){if(!nl(a))throw Error(p(405));var d=null!=c&&c.hydratedSources||null,e=!1,f=\"\",g=kl;null!==c&&void 0!==c&&(!0===c.unstable_strictMode&&(e=!0),void 0!==c.identifierPrefix&&(f=c.identifierPrefix),void 0!==c.onRecoverableError&&(g=c.onRecoverableError));b=el(b,null,a,1,null!=c?c:null,e,!1,f,g);a[uf]=b.current;sf(a);if(d)for(a=0;a<d.length;a++)c=d[a],e=c._getVersion,e=e(c._source),null==b.mutableSourceEagerHydrationData?b.mutableSourceEagerHydrationData=[c,e]:b.mutableSourceEagerHydrationData.push(c,\ne);return new ml(b)};exports.render=function(a,b,c){if(!ol(b))throw Error(p(200));return rl(null,a,b,!1,c)};exports.unmountComponentAtNode=function(a){if(!ol(a))throw Error(p(40));return a._reactRootContainer?(Rk(function(){rl(null,null,a,!1,function(){a._reactRootContainer=null;a[uf]=null})}),!0):!1};exports.unstable_batchedUpdates=Qk;\nexports.unstable_renderSubtreeIntoContainer=function(a,b,c,d){if(!ol(c))throw Error(p(200));if(null==a||void 0===a._reactInternals)throw Error(p(38));return rl(a,b,c,!1,d)};exports.version=\"18.3.1-next-f1338f8080-20240426\";\n", "'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.min.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n", "'use strict';\n\nvar m = require('react-dom');\nif (process.env.NODE_ENV === 'production') {\n exports.createRoot = m.createRoot;\n exports.hydrateRoot = m.hydrateRoot;\n} else {\n var i = m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n exports.createRoot = function(c, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.createRoot(c, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n exports.hydrateRoot = function(c, h, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.hydrateRoot(c, h, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n}\n", "/**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var f=require(\"react\"),k=Symbol.for(\"react.element\"),l=Symbol.for(\"react.fragment\"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=\"\"+g);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q;\n", "'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n", "export const PKG_NAME = \"@hpcc-js/dgrid2\";\nexport const PKG_VERSION = \"3.1.0\";\nexport const BUILD_VERSION = \"3.2.0\";\n", "\uFEFFimport React from \"react\";\nimport { createRoot, Root } from \"react-dom/client\";\nimport { HTMLWidget } from \"@hpcc-js/common\";\nimport { ReactTable } from \"./reactTable.tsx\";\n\nimport \"./table.css\";\n\nexport type ColumnType = \"boolean\" | \"number\" | \"string\" | \"time\";\n\nexport class Table extends HTMLWidget {\n\n protected _div;\n protected _root: Root;\n\n constructor() {\n super();\n }\n\n columnType(column: string): ColumnType;\n columnType(column: string, type: ColumnType): this;\n columnType(column: string, type?: ColumnType): ColumnType | this {\n if (arguments.length === 1) return this.columnTypes()[column];\n this.columnTypes({ ...this.columnTypes(), [column]: type });\n return this;\n }\n\n columnPattern(column: string): string;\n columnPattern(column: string, pattern: string): this;\n columnPattern(column: string, pattern?: string): string | this {\n if (arguments.length === 1) return this.columnPatterns()[column];\n this.columnPatterns({ ...this.columnPatterns(), [column]: pattern });\n return this;\n }\n\n columnFormat(column: string): string;\n columnFormat(column: string, format: string): this;\n columnFormat(column: string, format?: string): string | this {\n if (arguments.length === 1) return this.columnFormats()[column];\n this.columnFormats({ ...this.columnFormats(), [column]: format });\n return this;\n }\n\n private _prevRow;\n private _prevColumn;\n onRowClickCallback(row, column) {\n if (this._prevRow && JSON.stringify(this._prevRow) !== JSON.stringify(row)) {\n this.click(this._prevRow, this._prevColumn ?? \"\", false);\n }\n if (row) {\n this.click(row, column, true);\n }\n this._prevRow = row;\n this._prevColumn = column;\n }\n\n enter(domNode, element) {\n super.enter(domNode, element);\n this._div = element\n .append(\"div\")\n .style(\"display\", \"grid\")\n ;\n this._root = createRoot(this._div.node());\n }\n\n update(domNode, element) {\n super.update(domNode, element);\n this._div.style(\"width\", this.width() + \"px\");\n this._div.style(\"height\", this.height() + \"px\");\n this._root.render(React.createElement(ReactTable, { table: this }));\n }\n\n exit(domNode, element) {\n this._root.unmount();\n this._div.remove();\n super.exit(domNode, element);\n }\n\n // Events ---\n click(row, col, sel) {\n }\n}\nTable.prototype._class += \" dgrid2_Table\";\n\nexport interface Table {\n noDataMessage(): string;\n noDataMessage(_: string): this;\n darkMode(): boolean;\n darkMode(_: boolean): this;\n multiSelect(): boolean;\n multiSelect(_: boolean): this;\n columnTypes(): { [column: string]: ColumnType };\n columnTypes(_: { [column: string]: ColumnType }): this;\n columnPatterns(): { [column: string]: string };\n columnPatterns(_: { [column: string]: string }): this;\n columnFormats(): { [column: string]: string };\n columnFormats(_: { [column: string]: string }): this;\n}\n\nTable.prototype.publish(\"noDataMessage\", \"...empty...\", \"string\", \"No Data Message\");\nTable.prototype.publish(\"darkMode\", false, \"boolean\", \"Dark Mode\");\nTable.prototype.publish(\"multiSelect\", false, \"boolean\", \"Multiple Selection\");\nTable.prototype.publish(\"columnTypes\", {}, \"object\", \"Column Types (\\\"boolean\\\" | \\\"number\\\" | \\\"string\\\" | \\\"time\\\"\");\nTable.prototype.publish(\"columnPatterns\", {}, \"object\", \"Column Patterns\");\nTable.prototype.publish(\"columnFormats\", {}, \"object\", \"Column Formats\");\n\n", "\uFEFFimport React from \"react\";\nimport DataGrid, { Column, SelectColumn, SortColumn } from \"react-data-grid\";\nimport { format, timeFormat, timeParse } from \"@hpcc-js/common\";\nimport { useData } from \"./hooks.ts\";\nimport type { Table } from \"./table.ts\";\n\nimport \"react-data-grid/lib/styles.css\";\n\nexport type QuerySortItem = { attribute: string, descending: boolean };\nfunction copyAndSort<T>(items: T[], attribute: string, descending?: boolean): T[] {\n const key = attribute as keyof T;\n return [...items].sort((a: T, b: T) => {\n if (a[key] < b[key]) {\n return descending ? 1 : -1;\n } else if (a[key] > b[key]) {\n return descending ? -1 : 1;\n }\n return 0;\n });\n}\n\ninterface EmptyRowsRendererProps {\n message: string\n}\n\nconst EmptyRowsRenderer: React.FunctionComponent<EmptyRowsRendererProps> = ({\n message\n}) => {\n\n return <div style={{ textAlign: \"center\", gridColumn: \"1/-1\" }} >\n {message}\n </div>;\n};\n\ninterface ColumnEx<TRow, TSummaryRow = unknown> extends Column<TRow, TSummaryRow> {\n renderCell?: (props: any) => React.JSX.Element;\n __hpcc_pattern?: ReturnType<typeof timeParse>;\n __hpcc_format?: ReturnType<typeof format> | ReturnType<typeof timeFormat>;\n}\n\nexport interface ReactTableProps {\n table: Table;\n sort?: QuerySortItem,\n}\n\nexport const ReactTable: React.FunctionComponent<ReactTableProps> = ({\n table,\n sort\n}) => {\n const [columns, data] = useData(table);\n const multiSelect = table.multiSelect();\n const columnTypes = table.columnTypes();\n const columnPatterns = table.columnPatterns();\n const columnFormats = table.columnFormats();\n\n const [listColumns, setListColumns] = React.useState<ColumnEx<any[]>[]>([]);\n const [sortColumn, setSortColumn] = React.useState<SortColumn>();\n const [rows, setRows] = React.useState<any[]>([]);\n const [selectedRows, setSelectedRows] = React.useState<ReadonlySet<number>>(new Set());\n\n // Columns ---\n React.useEffect(() => {\n setListColumns([\n ...multiSelect ? [SelectColumn as ColumnEx<any[]>] : [],\n ...columns.map((column): ColumnEx<any[]> => {\n const type = columnTypes[column] ?? \"string\";\n let formatter;\n let __hpcc_pattern;\n let __hpcc_format;\n switch (type) {\n case \"time\":\n __hpcc_pattern = columnPatterns[column] !== undefined ? timeParse(columnPatterns[column]) : undefined;\n __hpcc_format = columnFormats[column] !== undefined ? timeFormat(columnFormats[column]) : undefined;\n break;\n case \"number\":\n formatter = (props) => {\n return <div style={{ textAlign: \"right\" }}>{props.row[props.column.key]}</div>;\n };\n // eslint-disable-next-line no-fallthrough\n default:\n __hpcc_format = columnFormats[column] !== undefined ? format(columnFormats[column]) : undefined;\n }\n return {\n key: column,\n name: column,\n resizable: true,\n sortable: true,\n minWidth: 80,\n renderCell: formatter,\n __hpcc_pattern,\n __hpcc_format\n };\n })\n ]);\n }, [columnFormats, columnPatterns, columnTypes, columns, multiSelect]);\n\n const onSortColumnsChange = React.useCallback((sortColumns: SortColumn[]) => {\n const futureSortColumn = sortColumns.slice(-1)[0];\n const sorted = futureSortColumn !== undefined;\n const isSortedDescending: boolean = futureSortColumn?.direction === \"DESC\";\n setSortColumn(futureSortColumn);\n setRows(copyAndSort(rows, sorted ? futureSortColumn.columnKey : \"key\", sorted ? isSortedDescending : false));\n }, [rows]);\n\n const rowKeyGetter = React.useCallback((row: any) => {\n return row.key;\n }, []);\n\n const onSelectedRowsChange = React.useCallback((selectedRows: Set<any>) => {\n setSelectedRows(selectedRows);\n }, []);\n\n const onCellClick = React.useCallback((row, column) => {\n table.onRowClickCallback(row, column.key);\n }, [table]);\n\n // Rows ---\n React.useEffect(() => {\n let items = data.map((row, index) => {\n const retVal = {\n key: index\n };\n listColumns.forEach((column, index) => {\n let val = row[index] as string;\n if (column.__hpcc_pattern && column.__hpcc_format) {\n val = column.__hpcc_format(column.__hpcc_pattern(val));\n } else if (column.__hpcc_pattern) {\n val = column.__hpcc_pattern(val).toString();\n } else if (column.__hpcc_format) {\n val = column.__hpcc_format(val as any);\n }\n retVal[column.key] = val;\n });\n return retVal;\n });\n if (sort?.attribute) {\n items = copyAndSort(items, sort.attribute, sort.descending);\n }\n setRows(items);\n }, [listColumns, data, sort]);\n\n return <DataGrid\n columns={listColumns}\n headerRowHeight={24}\n rows={rows}\n rowKeyGetter={rowKeyGetter}\n rowHeight={20}\n renderers={{ noRowsFallback: <EmptyRowsRenderer message={table.noDataMessage()} /> }}\n className={table.darkMode() ? \"rdg-dark\" : \"rdg-light\"}\n sortColumns={sortColumn ? [sortColumn] : []}\n onSortColumnsChange={onSortColumnsChange}\n selectedRows={selectedRows}\n onSelectedRowsChange={multiSelect ? onSelectedRowsChange : undefined}\n onCellClick={multiSelect ? undefined : (args, event) => onCellClick(args.row, args.column)}\n aria-describedby={\"\"}\n aria-label={\"\"}\n aria-labelledby={\"\"}\n style={{ height: \"100%\" }}\n />;\n};\n\n", "function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f)}else for(f in e)e[f]&&(n&&(n+=\" \"),n+=f);return n}export function clsx(){for(var e,t,f=0,n=\"\",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}export default clsx;", "import type { CalculatedColumn, ColSpanArgs } from '../types';\n\nexport function getColSpan<R, SR>(\n column: CalculatedColumn<R, SR>,\n lastFrozenColumnIndex: number,\n args: ColSpanArgs<R, SR>\n): number | undefined {\n const colSpan = typeof column.colSpan === 'function' ? column.colSpan(args) : 1;\n if (\n Number.isInteger(colSpan) &&\n colSpan! > 1 &&\n // ignore colSpan if it spans over both frozen and regular columns\n (!column.frozen || column.idx + colSpan! - 1 <= lastFrozenColumnIndex)\n ) {\n return colSpan!;\n }\n return undefined;\n}\n", "import type { Maybe } from '../types';\n\nexport function stopPropagation(event: React.SyntheticEvent) {\n event.stopPropagation();\n}\n\nexport function scrollIntoView(element: Maybe<Element>) {\n element?.scrollIntoView({ inline: 'nearest', block: 'nearest' });\n}\n", "import type { CellEvent } from '../types';\n\nexport function createCellEvent<E extends React.SyntheticEvent<HTMLDivElement>>(\n event: E\n): CellEvent<E> {\n let defaultPrevented = false;\n const cellEvent = {\n ...event,\n preventGridDefault() {\n defaultPrevented = true;\n },\n isGridDefaultPrevented() {\n return defaultPrevented;\n }\n };\n\n Object.setPrototypeOf(cellEvent, Object.getPrototypeOf(event));\n\n return cellEvent;\n}\n", "// https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key/Key_Values\nconst nonInputKeys = new Set([\n // Special keys\n 'Unidentified',\n // Modifier keys\n 'Alt',\n 'AltGraph',\n 'CapsLock',\n 'Control',\n 'Fn',\n 'FnLock',\n 'Meta',\n 'NumLock',\n 'ScrollLock',\n 'Shift',\n // Whitespace keys\n 'Tab',\n // Navigation keys\n 'ArrowDown',\n 'ArrowLeft',\n 'ArrowRight',\n 'ArrowUp',\n 'End',\n 'Home',\n 'PageDown',\n 'PageUp',\n // Editing\n 'Insert',\n // UI keys\n 'ContextMenu',\n 'Escape',\n 'Pause',\n 'Play',\n // Device keys\n 'PrintScreen',\n // Function keys\n 'F1',\n // 'F2', /!\\ specifically allowed, do not edit\n 'F3',\n 'F4',\n 'F5',\n 'F6',\n 'F7',\n 'F8',\n 'F9',\n 'F10',\n 'F11',\n 'F12'\n]);\n\nexport function isCtrlKeyHeldDown(e: React.KeyboardEvent): boolean {\n return (e.ctrlKey || e.metaKey) && e.key !== 'Control';\n}\n\nexport function isDefaultCellInput(event: React.KeyboardEvent<HTMLDivElement>): boolean {\n const vKey = 86;\n if (isCtrlKeyHeldDown(event) && event.keyCode !== vKey) return false;\n return !nonInputKeys.has(event.key);\n}\n\n/**\n * By default, the following navigation keys are enabled while an editor is open, under specific conditions:\n * - Tab:\n * - The editor must be an <input>, a <textarea>, or a <select> element.\n * - The editor element must be the only immediate child of the editor container/a label.\n */\nexport function onEditorNavigation({ key, target }: React.KeyboardEvent<HTMLDivElement>): boolean {\n if (\n key === 'Tab' &&\n (target instanceof HTMLInputElement ||\n target instanceof HTMLTextAreaElement ||\n target instanceof HTMLSelectElement)\n ) {\n return (\n target.closest('.rdg-editor-container')?.querySelectorAll('input, textarea, select')\n .length === 1\n );\n }\n return false;\n}\n", "import { css } from '@linaria/core';\n\nimport type { CalculatedColumn } from '../types';\n\nconst measuringCellClassname = css`\n @layer rdg.MeasuringCell {\n contain: strict;\n grid-row: 1;\n visibility: hidden;\n }\n`;\n\nexport function renderMeasuringCells<R, SR>(viewportColumns: readonly CalculatedColumn<R, SR>[]) {\n return viewportColumns.map(({ key, idx, minWidth, maxWidth }) => (\n <div\n key={key}\n className={measuringCellClassname}\n style={{ gridColumnStart: idx + 1, minWidth, maxWidth }}\n data-measuring-cell-key={key}\n />\n ));\n}\n", "import type {\n CalculatedColumn,\n CalculatedColumnParent,\n CellNavigationMode,\n Maybe,\n Position\n} from '../types';\nimport { getColSpan } from './colSpanUtils';\n\ninterface IsSelectedCellEditableOpts<R, SR> {\n selectedPosition: Position;\n columns: readonly CalculatedColumn<R, SR>[];\n rows: readonly R[];\n}\n\nexport function isSelectedCellEditable<R, SR>({\n selectedPosition,\n columns,\n rows\n}: IsSelectedCellEditableOpts<R, SR>): boolean {\n const column = columns[selectedPosition.idx];\n const row = rows[selectedPosition.rowIdx];\n return isCellEditableUtil(column, row);\n}\n\n// https://github.com/vercel/next.js/issues/56480\nexport function isCellEditableUtil<R, SR>(column: CalculatedColumn<R, SR>, row: R): boolean {\n return (\n column.renderEditCell != null &&\n (typeof column.editable === 'function' ? column.editable(row) : column.editable) !== false\n );\n}\n\ninterface GetNextSelectedCellPositionOpts<R, SR> {\n moveUp: boolean;\n moveNext: boolean;\n cellNavigationMode: CellNavigationMode;\n columns: readonly CalculatedColumn<R, SR>[];\n colSpanColumns: readonly CalculatedColumn<R, SR>[];\n rows: readonly R[];\n topSummaryRows: Maybe<readonly SR[]>;\n bottomSummaryRows: Maybe<readonly SR[]>;\n minRowIdx: number;\n mainHeaderRowIdx: number;\n maxRowIdx: number;\n currentPosition: Position;\n nextPosition: Position;\n lastFrozenColumnIndex: number;\n isCellWithinBounds: (position: Position) => boolean;\n}\n\nfunction getSelectedCellColSpan<R, SR>({\n rows,\n topSummaryRows,\n bottomSummaryRows,\n rowIdx,\n mainHeaderRowIdx,\n lastFrozenColumnIndex,\n column\n}: Pick<\n GetNextSelectedCellPositionOpts<R, SR>,\n 'rows' | 'topSummaryRows' | 'bottomSummaryRows' | 'lastFrozenColumnIndex' | 'mainHeaderRowIdx'\n> & {\n rowIdx: number;\n column: CalculatedColumn<R, SR>;\n}) {\n const topSummaryRowsCount = topSummaryRows?.length ?? 0;\n if (rowIdx === mainHeaderRowIdx) {\n return getColSpan(column, lastFrozenColumnIndex, { type: 'HEADER' });\n }\n\n if (\n topSummaryRows &&\n rowIdx > mainHeaderRowIdx &&\n rowIdx <= topSummaryRowsCount + mainHeaderRowIdx\n ) {\n return getColSpan(column, lastFrozenColumnIndex, {\n type: 'SUMMARY',\n row: topSummaryRows[rowIdx + topSummaryRowsCount]\n });\n }\n\n if (rowIdx >= 0 && rowIdx < rows.length) {\n const row = rows[rowIdx];\n return getColSpan(column, lastFrozenColumnIndex, { type: 'ROW', row });\n }\n\n if (bottomSummaryRows) {\n return getColSpan(column, lastFrozenColumnIndex, {\n type: 'SUMMARY',\n row: bottomSummaryRows[rowIdx - rows.length]\n });\n }\n\n return undefined;\n}\n\nexport function getNextSelectedCellPosition<R, SR>({\n moveUp,\n moveNext,\n cellNavigationMode,\n columns,\n colSpanColumns,\n rows,\n topSummaryRows,\n bottomSummaryRows,\n minRowIdx,\n mainHeaderRowIdx,\n maxRowIdx,\n currentPosition: { idx: currentIdx, rowIdx: currentRowIdx },\n nextPosition,\n lastFrozenColumnIndex,\n isCellWithinBounds\n}: GetNextSelectedCellPositionOpts<R, SR>): Position {\n let { idx: nextIdx, rowIdx: nextRowIdx } = nextPosition;\n const columnsCount = columns.length;\n\n const setColSpan = (moveNext: boolean) => {\n // If a cell within the colspan range is selected then move to the\n // previous or the next cell depending on the navigation direction\n for (const column of colSpanColumns) {\n const colIdx = column.idx;\n if (colIdx > nextIdx) break;\n const colSpan = getSelectedCellColSpan({\n rows,\n topSummaryRows,\n bottomSummaryRows,\n rowIdx: nextRowIdx,\n mainHeaderRowIdx,\n lastFrozenColumnIndex,\n column\n });\n\n if (colSpan && nextIdx > colIdx && nextIdx < colSpan + colIdx) {\n nextIdx = colIdx + (moveNext ? colSpan : 0);\n break;\n }\n }\n };\n\n const getParentRowIdx = (parent: CalculatedColumnParent<R, SR>) => {\n return parent.level + mainHeaderRowIdx;\n };\n\n const setHeaderGroupColAndRowSpan = () => {\n if (moveNext) {\n // find the parent at the same row level\n const nextColumn = columns[nextIdx];\n let parent = nextColumn.parent;\n while (parent !== undefined) {\n const parentRowIdx = getParentRowIdx(parent);\n if (nextRowIdx === parentRowIdx) {\n nextIdx = parent.idx + parent.colSpan;\n break;\n }\n parent = parent.parent;\n }\n } else if (moveUp) {\n // find the first reachable parent\n const nextColumn = columns[nextIdx];\n let parent = nextColumn.parent;\n let found = false;\n while (parent !== undefined) {\n const parentRowIdx = getParentRowIdx(parent);\n if (nextRowIdx >= parentRowIdx) {\n nextIdx = parent.idx;\n nextRowIdx = parentRowIdx;\n found = true;\n break;\n }\n parent = parent.parent;\n }\n\n // keep the current position if there is no parent matching the new row position\n if (!found) {\n nextIdx = currentIdx;\n nextRowIdx = currentRowIdx;\n }\n }\n };\n\n if (isCellWithinBounds(nextPosition)) {\n setColSpan(moveNext);\n\n if (nextRowIdx < mainHeaderRowIdx) {\n setHeaderGroupColAndRowSpan();\n }\n }\n\n if (cellNavigationMode === 'CHANGE_ROW') {\n const isAfterLastColumn = nextIdx === columnsCount;\n const isBeforeFirstColumn = nextIdx === -1;\n\n if (isAfterLastColumn) {\n const isLastRow = nextRowIdx === maxRowIdx;\n if (!isLastRow) {\n nextIdx = 0;\n nextRowIdx += 1;\n }\n } else if (isBeforeFirstColumn) {\n const isFirstRow = nextRowIdx === minRowIdx;\n if (!isFirstRow) {\n nextRowIdx -= 1;\n nextIdx = columnsCount - 1;\n }\n setColSpan(false);\n }\n }\n\n if (nextRowIdx < mainHeaderRowIdx) {\n // Find the last reachable parent for the new rowIdx\n // This check is needed when navigating to a column\n // that does not have a parent matching the new rowIdx\n const nextColumn = columns[nextIdx];\n let parent = nextColumn.parent;\n const nextParentRowIdx = nextRowIdx;\n nextRowIdx = mainHeaderRowIdx;\n while (parent !== undefined) {\n const parentRowIdx = getParentRowIdx(parent);\n if (parentRowIdx >= nextParentRowIdx) {\n nextRowIdx = parentRowIdx;\n nextIdx = parent.idx;\n }\n parent = parent.parent;\n }\n }\n\n return { idx: nextIdx, rowIdx: nextRowIdx };\n}\n\ninterface CanExitGridOpts {\n maxColIdx: number;\n minRowIdx: number;\n maxRowIdx: number;\n selectedPosition: Position;\n shiftKey: boolean;\n}\n\nexport function canExitGrid({\n maxColIdx,\n minRowIdx,\n maxRowIdx,\n selectedPosition: { rowIdx, idx },\n shiftKey\n}: CanExitGridOpts): boolean {\n // Exit the grid if we're at the first or last cell of the grid\n const atLastCellInRow = idx === maxColIdx;\n const atFirstCellInRow = idx === 0;\n const atLastRow = rowIdx === maxRowIdx;\n const atFirstRow = rowIdx === minRowIdx;\n\n return shiftKey ? atFirstCellInRow && atFirstRow : atLastCellInRow && atLastRow;\n}\n", "import { css } from '@linaria/core';\n\nexport const cell = css`\n @layer rdg.Cell {\n /* max-content does not work with size containment\n * dynamically switching between different containment styles incurs a heavy relayout penalty\n * Chromium bug: at odd zoom levels or subpixel positioning,\n * layout/paint/style containment can make cell borders disappear\n * https://bugs.chromium.org/p/chromium/issues/detail?id=1326946\n */\n position: relative; /* needed for absolute positioning to work */\n padding-block: 0;\n padding-inline: 8px;\n border-inline-end: 1px solid var(--rdg-border-color);\n border-block-end: 1px solid var(--rdg-border-color);\n grid-row-start: var(--rdg-grid-row-start);\n align-content: center;\n background-color: inherit;\n\n white-space: nowrap;\n overflow: clip;\n text-overflow: ellipsis;\n outline: none;\n\n &[aria-selected='true'] {\n outline: 2px solid var(--rdg-selection-color);\n outline-offset: -2px;\n }\n }\n`;\n\nexport const cellClassname = `rdg-cell ${cell}`;\n\nexport const cellFrozen = css`\n @layer rdg.Cell {\n position: sticky;\n /* Should have a higher value than 0 to show up above unfrozen cells */\n z-index: 1;\n\n /* Add box-shadow on the last frozen cell */\n &:nth-last-child(1 of &) {\n box-shadow: var(--rdg-cell-frozen-box-shadow);\n }\n }\n`;\n\nexport const cellFrozenClassname = `rdg-cell-frozen ${cellFrozen}`;\n", "import type { CSSProperties } from 'react';\nimport clsx from 'clsx';\n\nimport type { CalculatedColumn, CalculatedColumnOrColumnGroup } from '../types';\nimport { cellClassname, cellFrozenClassname } from '../style/cell';\n\nexport function getRowStyle(rowIdx: number): CSSProperties {\n return { '--rdg-grid-row-start': rowIdx } as unknown as CSSProperties;\n}\n\nexport function getHeaderCellStyle<R, SR>(\n column: CalculatedColumnOrColumnGroup<R, SR>,\n rowIdx: number,\n rowSpan: number\n): React.CSSProperties {\n const gridRowEnd = rowIdx + 1;\n const paddingBlockStart = `calc(${rowSpan - 1} * var(--rdg-header-row-height))`;\n\n if (column.parent === undefined) {\n return {\n insetBlockStart: 0,\n gridRowStart: 1,\n gridRowEnd,\n paddingBlockStart\n };\n }\n\n return {\n insetBlockStart: `calc(${rowIdx - rowSpan} * var(--rdg-header-row-height))`,\n gridRowStart: gridRowEnd - rowSpan,\n gridRowEnd,\n paddingBlockStart\n };\n}\n\nexport function getCellStyle<R, SR>(\n column: CalculatedColumn<R, SR>,\n colSpan = 1\n): React.CSSProperties {\n const index = column.idx + 1;\n return {\n gridColumnStart: index,\n gridColumnEnd: index + colSpan,\n insetInlineStart: column.frozen ? `var(--rdg-frozen-left-${column.idx})` : undefined\n };\n}\n\nexport function getCellClassname<R, SR>(\n column: CalculatedColumn<R, SR>,\n ...extraClasses: Parameters<typeof clsx>\n): string {\n return clsx(\n cellClassname,\n {\n [cellFrozenClassname]: column.frozen\n },\n ...extraClasses\n );\n}\n", "import type { CalculatedColumn, CalculatedColumnOrColumnGroup } from '../types';\n\nexport * from './colSpanUtils';\nexport * from './domUtils';\nexport * from './eventUtils';\nexport * from './keyboardUtils';\nexport * from './renderMeasuringCells';\nexport * from './selectedCellUtils';\nexport * from './styleUtils';\n\nexport const { min, max, floor, sign, abs } = Math;\n\nexport function assertIsValidKeyGetter<R, K extends React.Key>(\n keyGetter: unknown\n): asserts keyGetter is (row: R) => K {\n if (typeof keyGetter !== 'function') {\n throw new Error('Please specify the rowKeyGetter prop to use selection');\n }\n}\n\nexport function clampColumnWidth<R, SR>(\n width: number,\n { minWidth, maxWidth }: CalculatedColumn<R, SR>\n): number {\n width = max(width, minWidth);\n\n // ignore maxWidth if it less than minWidth\n if (typeof maxWidth === 'number' && maxWidth >= minWidth) {\n return min(width, maxWidth);\n }\n\n return width;\n}\n\nexport function getHeaderCellRowSpan<R, SR>(\n column: CalculatedColumnOrColumnGroup<R, SR>,\n rowIdx: number\n) {\n return column.parent === undefined ? rowIdx : column.level - column.parent.level;\n}\n", "import { css } from '@linaria/core';\n\nimport type { RenderCheckboxProps } from '../types';\n\nconst checkbox = css`\n @layer rdg.CheckboxInput {\n display: block;\n margin: auto;\n inline-size: 20px;\n block-size: 20px;\n\n &:focus-visible {\n outline: 2px solid var(--rdg-checkbox-focus-color);\n outline-offset: -3px;\n }\n\n &:enabled {\n cursor: pointer;\n }\n }\n`;\n\nconst checkboxClassname = `rdg-checkbox-input ${checkbox}`;\n\nexport function renderCheckbox({ onChange, indeterminate, ...props }: RenderCheckboxProps) {\n function handleChange(e: React.ChangeEvent<HTMLInputElement>) {\n onChange(e.target.checked, (e.nativeEvent as MouseEvent).shiftKey);\n }\n\n return (\n <input\n ref={(el) => {\n if (el) {\n el.indeterminate = indeterminate === true;\n }\n }}\n type=\"checkbox\"\n className={checkboxClassname}\n onChange={handleChange}\n {...props}\n />\n );\n}\n", "import { css } from '@linaria/core';\n\nimport type { RenderGroupCellProps } from '../types';\n\nconst groupCellContent = css`\n @layer rdg.GroupCellContent {\n outline: none;\n }\n`;\n\nconst groupCellContentClassname = `rdg-group-cell-content ${groupCellContent}`;\n\nconst caret = css`\n @layer rdg.GroupCellCaret {\n margin-inline-start: 4px;\n stroke: currentColor;\n stroke-width: 1.5px;\n fill: transparent;\n vertical-align: middle;\n\n > path {\n transition: d 0.1s;\n }\n }\n`;\n\nconst caretClassname = `rdg-caret ${caret}`;\n\nexport function renderToggleGroup<R, SR>(props: RenderGroupCellProps<R, SR>) {\n return <ToggleGroup {...props} />;\n}\n\nexport function ToggleGroup<R, SR>({\n groupKey,\n isExpanded,\n tabIndex,\n toggleGroup\n}: RenderGroupCellProps<R, SR>) {\n function handleKeyDown({ key }: React.KeyboardEvent<HTMLSpanElement>) {\n if (key === 'Enter') {\n toggleGroup();\n }\n }\n\n const d = isExpanded ? 'M1 1 L 7 7 L 13 1' : 'M1 7 L 7 1 L 13 7';\n\n return (\n <span className={groupCellContentClassname} tabIndex={tabIndex} onKeyDown={handleKeyDown}>\n {groupKey as string}\n <svg viewBox=\"0 0 14 8\" width=\"14\" height=\"8\" className={caretClassname} aria-hidden>\n <path d={d} />\n </svg>\n </span>\n );\n}\n", "import type { RenderCellProps } from '../types';\n\nexport function renderValue<R, SR>(props: RenderCellProps<R, SR>) {\n try {\n return props.row[props.column.key as keyof R] as React.ReactNode;\n } catch {\n return null;\n }\n}\n", "import { createContext, useContext } from 'react';\n\nimport type { Maybe, Renderers } from './types';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst DataGridDefaultRenderersContext = createContext<Maybe<Renderers<any, any>>>(undefined);\n\nexport const DataGridDefaultRenderersProvider = DataGridDefaultRenderersContext.Provider;\n\nexport function useDefaultRenderers<R, SR>(): Maybe<Renderers<R, SR>> {\n return useContext(DataGridDefaultRenderersContext);\n}\n", "import type { RenderCheckboxProps } from '../types';\nimport { useDefaultRenderers } from '../DataGridDefaultRenderersProvider';\n\ntype SharedInputProps = Pick<\n RenderCheckboxProps,\n 'disabled' | 'tabIndex' | 'aria-label' | 'aria-labelledby' | 'indeterminate' | 'onChange'\n>;\n\ninterface SelectCellFormatterProps extends SharedInputProps {\n value: boolean;\n}\n\nexport function SelectCellFormatter({\n value,\n tabIndex,\n indeterminate,\n disabled,\n onChange,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy\n}: SelectCellFormatterProps) {\n const renderCheckbox = useDefaultRenderers()!.renderCheckbox!;\n\n return renderCheckbox({\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy,\n tabIndex,\n indeterminate,\n disabled,\n checked: value,\n onChange\n });\n}\n", "import { createContext, useContext } from 'react';\n\nimport type { SelectHeaderRowEvent, SelectRowEvent } from '../types';\n\nexport interface RowSelectionContextValue {\n readonly isRowSelected: boolean;\n readonly isRowSelectionDisabled: boolean;\n}\n\nconst RowSelectionContext = createContext<RowSelectionContextValue | undefined>(undefined);\n\nexport const RowSelectionProvider = RowSelectionContext.Provider;\n\nconst RowSelectionChangeContext = createContext<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ((selectRowEvent: SelectRowEvent<any>) => void) | undefined\n>(undefined);\n\nexport const RowSelectionChangeProvider = RowSelectionChangeContext.Provider;\n\nexport function useRowSelection() {\n const rowSelectionContext = useContext(RowSelectionContext);\n const rowSelectionChangeContext = useContext(RowSelectionChangeContext);\n\n if (rowSelectionContext === undefined || rowSelectionChangeContext === undefined) {\n throw new Error('useRowSelection must be used within DataGrid cells');\n }\n\n return {\n isRowSelectionDisabled: rowSelectionContext.isRowSelectionDisabled,\n isRowSelected: rowSelectionContext.isRowSelected,\n onRowSelectionChange: rowSelectionChangeContext\n };\n}\n\nexport interface HeaderRowSelectionContextValue {\n readonly isRowSelected: boolean;\n readonly isIndeterminate: boolean;\n}\n\nconst HeaderRowSelectionContext = createContext<HeaderRowSelectionContextValue | undefined>(\n undefined\n);\n\nexport const HeaderRowSelectionProvider = HeaderRowSelectionContext.Provider;\n\nconst HeaderRowSelectionChangeContext = createContext<\n ((selectRowEvent: SelectHeaderRowEvent) => void) | undefined\n>(undefined);\n\nexport const HeaderRowSelectionChangeProvider = HeaderRowSelectionChangeContext.Provider;\n\nexport function useHeaderRowSelection() {\n const headerRowSelectionContext = useContext(HeaderRowSelectionContext);\n const headerRowSelectionChangeContext = useContext(HeaderRowSelectionChangeContext);\n\n if (headerRowSelectionContext === undefined || headerRowSelectionChangeContext === undefined) {\n throw new Error('useHeaderRowSelection must be used within DataGrid cells');\n }\n\n return {\n isIndeterminate: headerRowSelectionContext.isIndeterminate,\n isRowSelected: headerRowSelectionContext.isRowSelected,\n onRowSelectionChange: headerRowSelectionChangeContext\n };\n}\n", "import { useHeaderRowSelection, useRowSelection } from './hooks/useRowSelection';\nimport type { Column, RenderCellProps, RenderGroupCellProps, RenderHeaderCellProps } from './types';\nimport { SelectCellFormatter } from './cellRenderers';\n\nexport const SELECT_COLUMN_KEY = 'rdg-select-column';\n\nfunction HeaderRenderer(props: RenderHeaderCellProps<unknown>) {\n const { isIndeterminate, isRowSelected, onRowSelectionChange } = useHeaderRowSelection();\n\n return (\n <SelectCellFormatter\n aria-label=\"Select All\"\n tabIndex={props.tabIndex}\n indeterminate={isIndeterminate}\n value={isRowSelected}\n onChange={(checked) => {\n onRowSelectionChange({ checked: isIndeterminate ? false : checked });\n }}\n />\n );\n}\n\nfunction SelectFormatter(props: RenderCellProps<unknown>) {\n const { isRowSelectionDisabled, isRowSelected, onRowSelectionChange } = useRowSelection();\n\n return (\n <SelectCellFormatter\n aria-label=\"Select\"\n tabIndex={props.tabIndex}\n disabled={isRowSelectionDisabled}\n value={isRowSelected}\n onChange={(checked, isShiftClick) => {\n onRowSelectionChange({ row: props.row, checked, isShiftClick });\n }}\n />\n );\n}\n\nfunction SelectGroupFormatter(props: RenderGroupCellProps<unknown>) {\n const { isRowSelected, onRowSelectionChange } = useRowSelection();\n\n return (\n <SelectCellFormatter\n aria-label=\"Select Group\"\n tabIndex={props.tabIndex}\n value={isRowSelected}\n onChange={(checked) => {\n onRowSelectionChange({ row: props.row, checked, isShiftClick: false });\n }}\n />\n );\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const SelectColumn: Column<any, any> = {\n key: SELECT_COLUMN_KEY,\n name: '',\n width: 35,\n minWidth: 35,\n maxWidth: 35,\n resizable: false,\n sortable: false,\n frozen: true,\n renderHeaderCell(props) {\n return <HeaderRenderer {...props} />;\n },\n renderCell(props) {\n return <SelectFormatter {...props} />;\n },\n renderGroupCell(props) {\n return <SelectGroupFormatter {...props} />;\n }\n};\n", "import { useMemo } from 'react';\n\nimport { clampColumnWidth, max, min } from '../utils';\nimport type { CalculatedColumn, CalculatedColumnParent, ColumnOrColumnGroup, Omit } from '../types';\nimport { renderValue } from '../cellRenderers';\nimport { SELECT_COLUMN_KEY } from '../Columns';\nimport type { DataGridProps } from '../DataGrid';\n\ntype Mutable<T> = {\n -readonly [P in keyof T]: T[P] extends ReadonlyArray<infer V> ? Mutable<V>[] : T[P];\n};\n\ninterface WithParent<R, SR> {\n readonly parent: MutableCalculatedColumnParent<R, SR> | undefined;\n}\n\ntype MutableCalculatedColumnParent<R, SR> = Omit<Mutable<CalculatedColumnParent<R, SR>>, 'parent'> &\n WithParent<R, SR>;\ntype MutableCalculatedColumn<R, SR> = Omit<Mutable<CalculatedColumn<R, SR>>, 'parent'> &\n WithParent<R, SR>;\n\ninterface ColumnMetric {\n width: number;\n left: number;\n}\n\nconst DEFAULT_COLUMN_WIDTH = 'auto';\nconst DEFAULT_COLUMN_MIN_WIDTH = 50;\n\ninterface CalculatedColumnsArgs<R, SR> {\n rawColumns: readonly ColumnOrColumnGroup<R, SR>[];\n defaultColumnOptions: DataGridProps<R, SR>['defaultColumnOptions'];\n viewportWidth: number;\n scrollLeft: number;\n getColumnWidth: (column: CalculatedColumn<R, SR>) => string | number;\n enableVirtualization: boolean;\n}\n\nexport function useCalculatedColumns<R, SR>({\n rawColumns,\n defaultColumnOptions,\n getColumnWidth,\n viewportWidth,\n scrollLeft,\n enableVirtualization\n}: CalculatedColumnsArgs<R, SR>) {\n const defaultWidth = defaultColumnOptions?.width ?? DEFAULT_COLUMN_WIDTH;\n const defaultMinWidth = defaultColumnOptions?.minWidth ?? DEFAULT_COLUMN_MIN_WIDTH;\n const defaultMaxWidth = defaultColumnOptions?.maxWidth ?? undefined;\n const defaultCellRenderer = defaultColumnOptions?.renderCell ?? renderValue;\n const defaultSortable = defaultColumnOptions?.sortable ?? false;\n const defaultResizable = defaultColumnOptions?.resizable ?? false;\n const defaultDraggable = defaultColumnOptions?.draggable ?? false;\n\n const { columns, colSpanColumns, lastFrozenColumnIndex, headerRowsCount } = useMemo((): {\n readonly columns: readonly CalculatedColumn<R, SR>[];\n readonly colSpanColumns: readonly CalculatedColumn<R, SR>[];\n readonly lastFrozenColumnIndex: number;\n readonly headerRowsCount: number;\n } => {\n let lastFrozenColumnIndex = -1;\n let headerRowsCount = 1;\n const columns: MutableCalculatedColumn<R, SR>[] = [];\n\n collectColumns(rawColumns, 1);\n\n function collectColumns(\n rawColumns: readonly ColumnOrColumnGroup<R, SR>[],\n level: number,\n parent?: MutableCalculatedColumnParent<R, SR>\n ) {\n for (const rawColumn of rawColumns) {\n if ('children' in rawColumn) {\n const calculatedColumnParent: MutableCalculatedColumnParent<R, SR> = {\n name: rawColumn.name,\n parent,\n idx: -1,\n colSpan: 0,\n level: 0,\n headerCellClass: rawColumn.headerCellClass\n };\n\n collectColumns(rawColumn.children, level + 1, calculatedColumnParent);\n continue;\n }\n\n const frozen = rawColumn.frozen ?? false;\n\n const column: MutableCalculatedColumn<R, SR> = {\n ...rawColumn,\n parent,\n idx: 0,\n level: 0,\n frozen,\n width: rawColumn.width ?? defaultWidth,\n minWidth: rawColumn.minWidth ?? defaultMinWidth,\n maxWidth: rawColumn.maxWidth ?? defaultMaxWidth,\n sortable: rawColumn.sortable ?? defaultSortable,\n resizable: rawColumn.resizable ?? defaultResizable,\n draggable: rawColumn.draggable ?? defaultDraggable,\n renderCell: rawColumn.renderCell ?? defaultCellRenderer\n };\n\n columns.push(column);\n\n if (frozen) {\n lastFrozenColumnIndex++;\n }\n\n if (level > headerRowsCount) {\n headerRowsCount = level;\n }\n }\n }\n\n columns.sort(({ key: aKey, frozen: frozenA }, { key: bKey, frozen: frozenB }) => {\n // Sort select column first:\n if (aKey === SELECT_COLUMN_KEY) return -1;\n if (bKey === SELECT_COLUMN_KEY) return 1;\n\n // Sort frozen columns second:\n if (frozenA) {\n if (frozenB) return 0;\n return -1;\n }\n if (frozenB) return 1;\n\n // TODO: sort columns to keep them grouped if they have a parent\n\n // Sort other columns last:\n return 0;\n });\n\n const colSpanColumns: CalculatedColumn<R, SR>[] = [];\n columns.forEach((column, idx) => {\n column.idx = idx;\n updateColumnParent(column, idx, 0);\n\n if (column.colSpan != null) {\n colSpanColumns.push(column);\n }\n });\n\n return {\n columns,\n colSpanColumns,\n lastFrozenColumnIndex,\n headerRowsCount\n };\n }, [\n rawColumns,\n defaultWidth,\n defaultMinWidth,\n defaultMaxWidth,\n defaultCellRenderer,\n defaultResizable,\n defaultSortable,\n defaultDraggable\n ]);\n\n const { templateColumns, layoutCssVars, totalFrozenColumnWidth, columnMetrics } = useMemo((): {\n templateColumns: readonly string[];\n layoutCssVars: Readonly<Record<string, string>>;\n totalFrozenColumnWidth: number;\n columnMetrics: ReadonlyMap<CalculatedColumn<R, SR>, ColumnMetric>;\n } => {\n const columnMetrics = new Map<CalculatedColumn<R, SR>, ColumnMetric>();\n let left = 0;\n let totalFrozenColumnWidth = 0;\n const templateColumns: string[] = [];\n\n for (const column of columns) {\n let width = getColumnWidth(column);\n\n if (typeof width === 'number') {\n width = clampColumnWidth(width, column);\n } else {\n // This is a placeholder width so we can continue to use virtualization.\n // The actual value is set after the column is rendered\n width = column.minWidth;\n }\n templateColumns.push(`${width}px`);\n columnMetrics.set(column, { width, left });\n left += width;\n }\n\n if (lastFrozenColumnIndex !== -1) {\n const columnMetric = columnMetrics.get(columns[lastFrozenColumnIndex])!;\n totalFrozenColumnWidth = columnMetric.left + columnMetric.width;\n }\n\n const layoutCssVars: Record<string, string> = {};\n\n for (let i = 0; i <= lastFrozenColumnIndex; i++) {\n const column = columns[i];\n layoutCssVars[`--rdg-frozen-left-${column.idx}`] = `${columnMetrics.get(column)!.left}px`;\n }\n\n return { templateColumns, layoutCssVars, totalFrozenColumnWidth, columnMetrics };\n }, [getColumnWidth, columns, lastFrozenColumnIndex]);\n\n const [colOverscanStartIdx, colOverscanEndIdx] = useMemo((): [number, number] => {\n if (!enableVirtualization) {\n return [0, columns.length - 1];\n }\n // get the viewport's left side and right side positions for non-frozen columns\n const viewportLeft = scrollLeft + totalFrozenColumnWidth;\n const viewportRight = scrollLeft + viewportWidth;\n // get first and last non-frozen column indexes\n const lastColIdx = columns.length - 1;\n const firstUnfrozenColumnIdx = min(lastFrozenColumnIndex + 1, lastColIdx);\n\n // skip rendering non-frozen columns if the frozen columns cover the entire viewport\n if (viewportLeft >= viewportRight) {\n return [firstUnfrozenColumnIdx, firstUnfrozenColumnIdx];\n }\n\n // get the first visible non-frozen column index\n let colVisibleStartIdx = firstUnfrozenColumnIdx;\n while (colVisibleStartIdx < lastColIdx) {\n const { left, width } = columnMetrics.get(columns[colVisibleStartIdx])!;\n // if the right side of the columnn is beyond the left side of the available viewport,\n // then it is the first column that's at least partially visible\n if (left + width > viewportLeft) {\n break;\n }\n colVisibleStartIdx++;\n }\n\n // get the last visible non-frozen column index\n let colVisibleEndIdx = colVisibleStartIdx;\n while (colVisibleEndIdx < lastColIdx) {\n const { left, width } = columnMetrics.get(columns[colVisibleEndIdx])!;\n // if the right side of the column is beyond or equal to the right side of the available viewport,\n // then it the last column that's at least partially visible, as the previous column's right side is not beyond the viewport.\n if (left + width >= viewportRight) {\n break;\n }\n colVisibleEndIdx++;\n }\n\n const colOverscanStartIdx = max(firstUnfrozenColumnIdx, colVisibleStartIdx - 1);\n const colOverscanEndIdx = min(lastColIdx, colVisibleEndIdx + 1);\n\n return [colOverscanStartIdx, colOverscanEndIdx];\n }, [\n columnMetrics,\n columns,\n lastFrozenColumnIndex,\n scrollLeft,\n totalFrozenColumnWidth,\n viewportWidth,\n enableVirtualization\n ]);\n\n return {\n columns,\n colSpanColumns,\n colOverscanStartIdx,\n colOverscanEndIdx,\n templateColumns,\n layoutCssVars,\n headerRowsCount,\n lastFrozenColumnIndex,\n totalFrozenColumnWidth\n };\n}\n\nfunction updateColumnParent<R, SR>(\n column: MutableCalculatedColumn<R, SR> | MutableCalculatedColumnParent<R, SR>,\n index: number,\n level: number\n) {\n if (level < column.level) {\n column.level = level;\n }\n\n if (column.parent !== undefined) {\n const { parent } = column;\n if (parent.idx === -1) {\n parent.idx = index;\n }\n parent.colSpan += 1;\n updateColumnParent(parent, index, level - 1);\n }\n}\n", "// eslint-disable-next-line @typescript-eslint/no-restricted-imports\nimport { useEffect, useLayoutEffect as useOriginalLayoutEffect } from 'react';\n\n// Silence silly warning\n// https://reactjs.org/link/uselayouteffect-ssr\nexport const useLayoutEffect = typeof window === 'undefined' ? useEffect : useOriginalLayoutEffect;\n", "import { useRef } from 'react';\nimport { flushSync } from 'react-dom';\n\nimport type { CalculatedColumn, StateSetter } from '../types';\nimport { useLayoutEffect } from './useLayoutEffect';\nimport type { DataGridProps } from '../DataGrid';\n\nexport function useColumnWidths<R, SR>(\n columns: readonly CalculatedColumn<R, SR>[],\n viewportColumns: readonly CalculatedColumn<R, SR>[],\n templateColumns: readonly string[],\n gridRef: React.RefObject<HTMLDivElement | null>,\n gridWidth: number,\n resizedColumnWidths: ReadonlyMap<string, number>,\n measuredColumnWidths: ReadonlyMap<string, number>,\n setResizedColumnWidths: StateSetter<ReadonlyMap<string, number>>,\n setMeasuredColumnWidths: StateSetter<ReadonlyMap<string, number>>,\n onColumnResize: DataGridProps<R, SR>['onColumnResize']\n) {\n const prevGridWidthRef = useRef(gridWidth);\n const columnsCanFlex: boolean = columns.length === viewportColumns.length;\n // Allow columns to flex again when...\n const ignorePreviouslyMeasuredColumns: boolean =\n // there is enough space for columns to flex and the grid was resized\n columnsCanFlex && gridWidth !== prevGridWidthRef.current;\n const newTemplateColumns = [...templateColumns];\n const columnsToMeasure: string[] = [];\n\n for (const { key, idx, width } of viewportColumns) {\n if (\n typeof width === 'string' &&\n (ignorePreviouslyMeasuredColumns || !measuredColumnWidths.has(key)) &&\n !resizedColumnWidths.has(key)\n ) {\n newTemplateColumns[idx] = width;\n columnsToMeasure.push(key);\n }\n }\n\n const gridTemplateColumns = newTemplateColumns.join(' ');\n\n useLayoutEffect(() => {\n prevGridWidthRef.current = gridWidth;\n updateMeasuredWidths(columnsToMeasure);\n });\n\n function updateMeasuredWidths(columnsToMeasure: readonly string[]) {\n if (columnsToMeasure.length === 0) return;\n\n setMeasuredColumnWidths((measuredColumnWidths) => {\n const newMeasuredColumnWidths = new Map(measuredColumnWidths);\n let hasChanges = false;\n\n for (const key of columnsToMeasure) {\n const measuredWidth = measureColumnWidth(gridRef, key);\n hasChanges ||= measuredWidth !== measuredColumnWidths.get(key);\n if (measuredWidth === undefined) {\n newMeasuredColumnWidths.delete(key);\n } else {\n newMeasuredColumnWidths.set(key, measuredWidth);\n }\n }\n\n return hasChanges ? newMeasuredColumnWidths : measuredColumnWidths;\n });\n }\n\n function handleColumnResize(column: CalculatedColumn<R, SR>, nextWidth: number | 'max-content') {\n const { key: resizingKey } = column;\n const newTemplateColumns = [...templateColumns];\n const columnsToMeasure: string[] = [];\n\n for (const { key, idx, width } of viewportColumns) {\n if (resizingKey === key) {\n const width = typeof nextWidth === 'number' ? `${nextWidth}px` : nextWidth;\n newTemplateColumns[idx] = width;\n } else if (columnsCanFlex && typeof width === 'string' && !resizedColumnWidths.has(key)) {\n newTemplateColumns[idx] = width;\n columnsToMeasure.push(key);\n }\n }\n\n gridRef.current!.style.gridTemplateColumns = newTemplateColumns.join(' ');\n const measuredWidth =\n typeof nextWidth === 'number' ? nextWidth : measureColumnWidth(gridRef, resizingKey)!;\n\n // TODO: remove\n // need flushSync to keep frozen column offsets in sync\n // we may be able to use `startTransition` or even `requestIdleCallback` instead\n flushSync(() => {\n setResizedColumnWidths((resizedColumnWidths) => {\n const newResizedColumnWidths = new Map(resizedColumnWidths);\n newResizedColumnWidths.set(resizingKey, measuredWidth);\n return newResizedColumnWidths;\n });\n updateMeasuredWidths(columnsToMeasure);\n });\n\n onColumnResize?.(column.idx, measuredWidth);\n }\n\n return {\n gridTemplateColumns,\n handleColumnResize\n } as const;\n}\n\nfunction measureColumnWidth(gridRef: React.RefObject<HTMLDivElement | null>, key: string) {\n const selector = `[data-measuring-cell-key=\"${CSS.escape(key)}\"]`;\n const measuringCell = gridRef.current?.querySelector(selector);\n return measuringCell?.getBoundingClientRect().width;\n}\n", "import { useRef, useState } from 'react';\nimport { flushSync } from 'react-dom';\n\nimport { useLayoutEffect } from './useLayoutEffect';\n\nexport function useGridDimensions() {\n const gridRef = useRef<HTMLDivElement>(null);\n const [inlineSize, setInlineSize] = useState(1);\n const [blockSize, setBlockSize] = useState(1);\n const [horizontalScrollbarHeight, setHorizontalScrollbarHeight] = useState(0);\n\n useLayoutEffect(() => {\n const { ResizeObserver } = window;\n\n // don't break in Node.js (SSR), jsdom, and browsers that don't support ResizeObserver\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (ResizeObserver == null) return;\n\n const { clientWidth, clientHeight, offsetWidth, offsetHeight } = gridRef.current!;\n const { width, height } = gridRef.current!.getBoundingClientRect();\n const initialHorizontalScrollbarHeight = offsetHeight - clientHeight;\n const initialWidth = width - offsetWidth + clientWidth;\n const initialHeight = height - initialHorizontalScrollbarHeight;\n\n setInlineSize(initialWidth);\n setBlockSize(initialHeight);\n setHorizontalScrollbarHeight(initialHorizontalScrollbarHeight);\n\n const resizeObserver = new ResizeObserver((entries) => {\n const size = entries[0].contentBoxSize[0];\n const { clientHeight, offsetHeight } = gridRef.current!;\n\n // we use flushSync here to avoid flashing scrollbars\n flushSync(() => {\n setInlineSize(size.inlineSize);\n setBlockSize(size.blockSize);\n setHorizontalScrollbarHeight(offsetHeight - clientHeight);\n });\n });\n resizeObserver.observe(gridRef.current!);\n\n return () => {\n resizeObserver.disconnect();\n };\n }, []);\n\n return [gridRef, inlineSize, blockSize, horizontalScrollbarHeight] as const;\n}\n", "import { useCallback, useEffect, useRef } from 'react';\n\nimport type { Maybe } from '../types';\n\n// https://reactjs.org/docs/hooks-faq.html#what-can-i-do-if-my-effect-dependencies-change-too-often\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function useLatestFunc<T extends Maybe<(...args: any[]) => any>>(fn: T): T {\n const ref = useRef(fn);\n\n useEffect(() => {\n ref.current = fn;\n });\n\n const callbackFn = useCallback((...args: Parameters<NonNullable<T>>) => {\n ref.current!(...args);\n }, []);\n\n // @ts-expect-error\n return fn ? callbackFn : fn;\n}\n", "import { useState } from 'react';\n\n// https://www.w3.org/TR/wai-aria-practices-1.1/#kbd_roving_tabindex\nexport function useRovingTabIndex(isSelected: boolean) {\n // https://www.w3.org/TR/wai-aria-practices-1.1/#gridNav_focus\n const [isChildFocused, setIsChildFocused] = useState(false);\n\n if (isChildFocused && !isSelected) {\n setIsChildFocused(false);\n }\n\n function onFocus(event: React.FocusEvent<HTMLDivElement>) {\n if (event.target !== event.currentTarget) {\n setIsChildFocused(true);\n }\n }\n\n const isFocusable = isSelected && !isChildFocused;\n\n return {\n tabIndex: isFocusable ? 0 : -1,\n childTabIndex: isSelected ? 0 : -1,\n onFocus: isSelected ? onFocus : undefined\n };\n}\n", "import { useMemo } from 'react';\n\nimport { getColSpan } from '../utils';\nimport type { CalculatedColumn, Maybe } from '../types';\n\ninterface ViewportColumnsArgs<R, SR> {\n columns: readonly CalculatedColumn<R, SR>[];\n colSpanColumns: readonly CalculatedColumn<R, SR>[];\n rows: readonly R[];\n topSummaryRows: Maybe<readonly SR[]>;\n bottomSummaryRows: Maybe<readonly SR[]>;\n colOverscanStartIdx: number;\n colOverscanEndIdx: number;\n lastFrozenColumnIndex: number;\n rowOverscanStartIdx: number;\n rowOverscanEndIdx: number;\n}\n\nexport function useViewportColumns<R, SR>({\n columns,\n colSpanColumns,\n rows,\n topSummaryRows,\n bottomSummaryRows,\n colOverscanStartIdx,\n colOverscanEndIdx,\n lastFrozenColumnIndex,\n rowOverscanStartIdx,\n rowOverscanEndIdx\n}: ViewportColumnsArgs<R, SR>) {\n // find the column that spans over a column within the visible columns range and adjust colOverscanStartIdx\n const startIdx = useMemo(() => {\n if (colOverscanStartIdx === 0) return 0;\n\n let startIdx = colOverscanStartIdx;\n\n const updateStartIdx = (colIdx: number, colSpan: number | undefined) => {\n if (colSpan !== undefined && colIdx + colSpan > colOverscanStartIdx) {\n startIdx = colIdx;\n return true;\n }\n return false;\n };\n\n for (const column of colSpanColumns) {\n // check header row\n const colIdx = column.idx;\n if (colIdx >= startIdx) break;\n if (updateStartIdx(colIdx, getColSpan(column, lastFrozenColumnIndex, { type: 'HEADER' }))) {\n break;\n }\n\n // check viewport rows\n for (let rowIdx = rowOverscanStartIdx; rowIdx <= rowOverscanEndIdx; rowIdx++) {\n const row = rows[rowIdx];\n if (\n updateStartIdx(colIdx, getColSpan(column, lastFrozenColumnIndex, { type: 'ROW', row }))\n ) {\n break;\n }\n }\n\n // check summary rows\n if (topSummaryRows != null) {\n for (const row of topSummaryRows) {\n if (\n updateStartIdx(\n colIdx,\n getColSpan(column, lastFrozenColumnIndex, { type: 'SUMMARY', row })\n )\n ) {\n break;\n }\n }\n }\n\n if (bottomSummaryRows != null) {\n for (const row of bottomSummaryRows) {\n if (\n updateStartIdx(\n colIdx,\n getColSpan(column, lastFrozenColumnIndex, { type: 'SUMMARY', row })\n )\n ) {\n break;\n }\n }\n }\n }\n\n return startIdx;\n }, [\n rowOverscanStartIdx,\n rowOverscanEndIdx,\n rows,\n topSummaryRows,\n bottomSummaryRows,\n colOverscanStartIdx,\n lastFrozenColumnIndex,\n colSpanColumns\n ]);\n\n return useMemo((): readonly CalculatedColumn<R, SR>[] => {\n const viewportColumns: CalculatedColumn<R, SR>[] = [];\n for (let colIdx = 0; colIdx <= colOverscanEndIdx; colIdx++) {\n const column = columns[colIdx];\n\n if (colIdx < startIdx && !column.frozen) continue;\n viewportColumns.push(column);\n }\n\n return viewportColumns;\n }, [startIdx, colOverscanEndIdx, columns]);\n}\n", "import { useMemo } from 'react';\n\nimport { floor, max, min } from '../utils';\n\ninterface ViewportRowsArgs<R> {\n rows: readonly R[];\n rowHeight: number | ((row: R) => number);\n clientHeight: number;\n scrollTop: number;\n enableVirtualization: boolean;\n}\n\nexport function useViewportRows<R>({\n rows,\n rowHeight,\n clientHeight,\n scrollTop,\n enableVirtualization\n}: ViewportRowsArgs<R>) {\n const { totalRowHeight, gridTemplateRows, getRowTop, getRowHeight, findRowIdx } = useMemo(() => {\n if (typeof rowHeight === 'number') {\n return {\n totalRowHeight: rowHeight * rows.length,\n gridTemplateRows: ` repeat(${rows.length}, ${rowHeight}px)`,\n getRowTop: (rowIdx: number) => rowIdx * rowHeight,\n getRowHeight: () => rowHeight,\n findRowIdx: (offset: number) => floor(offset / rowHeight)\n };\n }\n\n let totalRowHeight = 0;\n let gridTemplateRows = ' ';\n // Calcule the height of all the rows upfront. This can cause performance issues\n // and we can consider using a similar approach as react-window\n // https://github.com/bvaughn/react-window/blob/b0a470cc264e9100afcaa1b78ed59d88f7914ad4/src/VariableSizeList.js#L68\n const rowPositions = rows.map((row) => {\n const currentRowHeight = rowHeight(row);\n const position = { top: totalRowHeight, height: currentRowHeight };\n gridTemplateRows += `${currentRowHeight}px `;\n totalRowHeight += currentRowHeight;\n return position;\n });\n\n const validateRowIdx = (rowIdx: number) => {\n return max(0, min(rows.length - 1, rowIdx));\n };\n\n return {\n totalRowHeight,\n gridTemplateRows,\n getRowTop: (rowIdx: number) => rowPositions[validateRowIdx(rowIdx)].top,\n getRowHeight: (rowIdx: number) => rowPositions[validateRowIdx(rowIdx)].height,\n findRowIdx(offset: number) {\n let start = 0;\n let end = rowPositions.length - 1;\n while (start <= end) {\n const middle = start + floor((end - start) / 2);\n const currentOffset = rowPositions[middle].top;\n\n if (currentOffset === offset) return middle;\n\n if (currentOffset < offset) {\n start = middle + 1;\n } else if (currentOffset > offset) {\n end = middle - 1;\n }\n\n if (start > end) return end;\n }\n return 0;\n }\n };\n }, [rowHeight, rows]);\n\n let rowOverscanStartIdx = 0;\n let rowOverscanEndIdx = rows.length - 1;\n\n if (enableVirtualization) {\n const overscanThreshold = 4;\n const rowVisibleStartIdx = findRowIdx(scrollTop);\n const rowVisibleEndIdx = findRowIdx(scrollTop + clientHeight);\n rowOverscanStartIdx = max(0, rowVisibleStartIdx - overscanThreshold);\n rowOverscanEndIdx = min(rows.length - 1, rowVisibleEndIdx + overscanThreshold);\n }\n\n return {\n rowOverscanStartIdx,\n rowOverscanEndIdx,\n totalRowHeight,\n gridTemplateRows,\n getRowTop,\n getRowHeight,\n findRowIdx\n };\n}\n", "import { css } from '@linaria/core';\nimport clsx from 'clsx';\n\nimport { getCellStyle } from './utils';\nimport type { CalculatedColumn, FillEvent, Position } from './types';\nimport type { DataGridProps, SelectCellState } from './DataGrid';\n\nconst cellDragHandle = css`\n @layer rdg.DragHandle {\n --rdg-drag-handle-size: 8px;\n z-index: 0;\n cursor: move;\n inline-size: var(--rdg-drag-handle-size);\n block-size: var(--rdg-drag-handle-size);\n background-color: var(--rdg-selection-color);\n place-self: end;\n\n &:hover {\n --rdg-drag-handle-size: 16px;\n border: 2px solid var(--rdg-selection-color);\n background-color: var(--rdg-background-color);\n }\n }\n`;\n\nconst cellDragHandleFrozenClassname = css`\n @layer rdg.DragHandle {\n z-index: 1;\n position: sticky;\n }\n`;\n\nconst cellDragHandleClassname = `rdg-cell-drag-handle ${cellDragHandle}`;\n\ninterface Props<R, SR> extends Pick<DataGridProps<R, SR>, 'rows' | 'onRowsChange'> {\n gridRowStart: number;\n column: CalculatedColumn<R, SR>;\n columnWidth: number | string;\n maxColIdx: number;\n isLastRow: boolean;\n selectedPosition: SelectCellState;\n latestDraggedOverRowIdx: React.MutableRefObject<number | undefined>;\n isCellEditable: (position: Position) => boolean;\n onClick: () => void;\n onFill: (event: FillEvent<R>) => R;\n setDragging: (isDragging: boolean) => void;\n setDraggedOverRowIdx: (overRowIdx: number | undefined) => void;\n}\n\nexport default function DragHandle<R, SR>({\n gridRowStart,\n rows,\n column,\n columnWidth,\n maxColIdx,\n isLastRow,\n selectedPosition,\n latestDraggedOverRowIdx,\n isCellEditable,\n onRowsChange,\n onFill,\n onClick,\n setDragging,\n setDraggedOverRowIdx\n}: Props<R, SR>) {\n const { idx, rowIdx } = selectedPosition;\n\n function handleMouseDown(event: React.MouseEvent<HTMLDivElement>) {\n // keep the focus on the cell\n event.preventDefault();\n if (event.buttons !== 1) return;\n setDragging(true);\n window.addEventListener('mouseover', onMouseOver);\n window.addEventListener('mouseup', onMouseUp);\n\n function onMouseOver(event: MouseEvent) {\n // Trigger onMouseup in edge cases where we release the mouse button but `mouseup` isn't triggered,\n // for example when releasing the mouse button outside the iframe the grid is rendered in.\n // https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/buttons\n if (event.buttons !== 1) onMouseUp();\n }\n\n function onMouseUp() {\n window.removeEventListener('mouseover', onMouseOver);\n window.removeEventListener('mouseup', onMouseUp);\n setDragging(false);\n handleDragEnd();\n }\n }\n\n function handleDragEnd() {\n const overRowIdx = latestDraggedOverRowIdx.current;\n if (overRowIdx === undefined) return;\n\n const startRowIndex = rowIdx < overRowIdx ? rowIdx + 1 : overRowIdx;\n const endRowIndex = rowIdx < overRowIdx ? overRowIdx + 1 : rowIdx;\n updateRows(startRowIndex, endRowIndex);\n setDraggedOverRowIdx(undefined);\n }\n\n function handleDoubleClick(event: React.MouseEvent<HTMLDivElement>) {\n event.stopPropagation();\n updateRows(rowIdx + 1, rows.length);\n }\n\n function updateRows(startRowIdx: number, endRowIdx: number) {\n const sourceRow = rows[rowIdx];\n const updatedRows = [...rows];\n const indexes: number[] = [];\n for (let i = startRowIdx; i < endRowIdx; i++) {\n if (isCellEditable({ rowIdx: i, idx })) {\n const updatedRow = onFill({ columnKey: column.key, sourceRow, targetRow: rows[i] });\n if (updatedRow !== rows[i]) {\n updatedRows[i] = updatedRow;\n indexes.push(i);\n }\n }\n }\n\n if (indexes.length > 0) {\n onRowsChange?.(updatedRows, { indexes, column });\n }\n }\n\n function getStyle(): React.CSSProperties {\n const colSpan = column.colSpan?.({ type: 'ROW', row: rows[rowIdx] }) ?? 1;\n const { insetInlineStart, ...style } = getCellStyle(column, colSpan);\n const marginEnd = 'calc(var(--rdg-drag-handle-size) * -0.5 + 1px)';\n const isLastColumn = column.idx + colSpan - 1 === maxColIdx;\n\n return {\n ...style,\n gridRowStart,\n marginInlineEnd: isLastColumn ? undefined : marginEnd,\n marginBlockEnd: isLastRow ? undefined : marginEnd,\n insetInlineStart: insetInlineStart\n ? `calc(${insetInlineStart} + ${columnWidth}px + var(--rdg-drag-handle-size) * -0.5 - 1px)`\n : undefined\n };\n }\n\n return (\n <div\n style={getStyle()}\n className={clsx(cellDragHandleClassname, column.frozen && cellDragHandleFrozenClassname)}\n onClick={onClick}\n onMouseDown={handleMouseDown}\n onDoubleClick={handleDoubleClick}\n />\n );\n}\n", "import { useEffect, useRef } from 'react';\nimport { css } from '@linaria/core';\n\nimport { useLatestFunc } from './hooks';\nimport { createCellEvent, getCellClassname, getCellStyle, onEditorNavigation } from './utils';\nimport type {\n CellKeyboardEvent,\n CellRendererProps,\n EditCellKeyDownArgs,\n Maybe,\n Omit,\n RenderEditCellProps\n} from './types';\n\n/*\n * To check for outside `mousedown` events, we listen to all `mousedown` events at their birth,\n * i.e. on the window during the capture phase, and at their death, i.e. on the window during the bubble phase.\n *\n * We schedule a check at the birth of the event, cancel the check when the event reaches the \"inside\" container,\n * and trigger the \"outside\" callback when the event bubbles back up to the window.\n *\n * The event can be `stopPropagation()`ed halfway through, so they may not always bubble back up to the window,\n * so an alternative check must be used. The check must happen after the event can reach the \"inside\" container,\n * and not before it run to completion. `requestAnimationFrame` is the best way we know how to achieve this.\n * Usually we want click event handlers from parent components to access the latest commited values,\n * so `mousedown` is used instead of `click`.\n *\n * We must also rely on React's event capturing/bubbling to handle elements rendered in a portal.\n */\n\nconst cellEditing = css`\n @layer rdg.EditCell {\n padding: 0;\n }\n`;\n\ntype SharedCellRendererProps<R, SR> = Pick<CellRendererProps<R, SR>, 'colSpan'>;\n\ninterface EditCellProps<R, SR>\n extends Omit<RenderEditCellProps<R, SR>, 'onRowChange' | 'onClose'>,\n SharedCellRendererProps<R, SR> {\n rowIdx: number;\n onRowChange: (row: R, commitChanges: boolean, shouldFocusCell: boolean) => void;\n closeEditor: (shouldFocusCell: boolean) => void;\n navigate: (event: React.KeyboardEvent<HTMLDivElement>) => void;\n onKeyDown: Maybe<(args: EditCellKeyDownArgs<R, SR>, event: CellKeyboardEvent) => void>;\n}\n\nexport default function EditCell<R, SR>({\n column,\n colSpan,\n row,\n rowIdx,\n onRowChange,\n closeEditor,\n onKeyDown,\n navigate\n}: EditCellProps<R, SR>) {\n const frameRequestRef = useRef<number | undefined>(undefined);\n const commitOnOutsideClick = column.editorOptions?.commitOnOutsideClick !== false;\n\n // We need to prevent the `useEffect` from cleaning up between re-renders,\n // as `onWindowCaptureMouseDown` might otherwise miss valid mousedown events.\n // To that end we instead access the latest props via useLatestFunc.\n const commitOnOutsideMouseDown = useLatestFunc(() => {\n onClose(true, false);\n });\n\n useEffect(() => {\n if (!commitOnOutsideClick) return;\n\n function onWindowCaptureMouseDown() {\n frameRequestRef.current = requestAnimationFrame(commitOnOutsideMouseDown);\n }\n\n addEventListener('mousedown', onWindowCaptureMouseDown, { capture: true });\n\n return () => {\n removeEventListener('mousedown', onWindowCaptureMouseDown, { capture: true });\n cancelFrameRequest();\n };\n }, [commitOnOutsideClick, commitOnOutsideMouseDown]);\n\n function cancelFrameRequest() {\n cancelAnimationFrame(frameRequestRef.current!);\n }\n\n function handleKeyDown(event: React.KeyboardEvent<HTMLDivElement>) {\n if (onKeyDown) {\n const cellEvent = createCellEvent(event);\n onKeyDown(\n {\n mode: 'EDIT',\n row,\n column,\n rowIdx,\n navigate() {\n navigate(event);\n },\n onClose\n },\n cellEvent\n );\n if (cellEvent.isGridDefaultPrevented()) return;\n }\n\n if (event.key === 'Escape') {\n // Discard changes\n onClose();\n } else if (event.key === 'Enter') {\n onClose(true);\n } else if (onEditorNavigation(event)) {\n navigate(event);\n }\n }\n\n function onClose(commitChanges = false, shouldFocusCell = true) {\n if (commitChanges) {\n onRowChange(row, true, shouldFocusCell);\n } else {\n closeEditor(shouldFocusCell);\n }\n }\n\n function onEditorRowChange(row: R, commitChangesAndFocus = false) {\n onRowChange(row, commitChangesAndFocus, commitChangesAndFocus);\n }\n\n const { cellClass } = column;\n const className = getCellClassname(\n column,\n 'rdg-editor-container',\n !column.editorOptions?.displayCellContent && cellEditing,\n typeof cellClass === 'function' ? cellClass(row) : cellClass\n );\n\n return (\n <div\n role=\"gridcell\"\n aria-colindex={column.idx + 1} // aria-colindex is 1-based\n aria-colspan={colSpan}\n aria-selected\n className={className}\n style={getCellStyle(column, colSpan)}\n onKeyDown={handleKeyDown}\n onMouseDownCapture={cancelFrameRequest}\n >\n {column.renderEditCell != null && (\n <>\n {column.renderEditCell({\n column,\n row,\n rowIdx,\n onRowChange: onEditorRowChange,\n onClose\n })}\n {column.editorOptions?.displayCellContent &&\n column.renderCell({\n column,\n row,\n rowIdx,\n isCellEditable: true,\n tabIndex: -1,\n onRowChange: onEditorRowChange\n })}\n </>\n )}\n </div>\n );\n}\n", "import clsx from 'clsx';\n\nimport { useRovingTabIndex } from './hooks';\nimport { getHeaderCellRowSpan, getHeaderCellStyle } from './utils';\nimport type { CalculatedColumnParent } from './types';\nimport type { GroupedColumnHeaderRowProps } from './GroupedColumnHeaderRow';\nimport { cellClassname } from './style/cell';\n\ntype SharedGroupedColumnHeaderRowProps<R, SR> = Pick<\n GroupedColumnHeaderRowProps<R, SR>,\n 'rowIdx' | 'selectCell'\n>;\n\ninterface GroupedColumnHeaderCellProps<R, SR> extends SharedGroupedColumnHeaderRowProps<R, SR> {\n column: CalculatedColumnParent<R, SR>;\n isCellSelected: boolean;\n}\n\nexport default function GroupedColumnHeaderCell<R, SR>({\n column,\n rowIdx,\n isCellSelected,\n selectCell\n}: GroupedColumnHeaderCellProps<R, SR>) {\n const { tabIndex, onFocus } = useRovingTabIndex(isCellSelected);\n const { colSpan } = column;\n const rowSpan = getHeaderCellRowSpan(column, rowIdx);\n const index = column.idx + 1;\n\n function onClick() {\n selectCell({ idx: column.idx, rowIdx });\n }\n\n return (\n <div\n role=\"columnheader\"\n aria-colindex={index}\n aria-colspan={colSpan}\n aria-rowspan={rowSpan}\n aria-selected={isCellSelected}\n tabIndex={tabIndex}\n className={clsx(cellClassname, column.headerCellClass)}\n style={{\n ...getHeaderCellStyle(column, rowIdx, rowSpan),\n gridColumnStart: index,\n gridColumnEnd: index + colSpan\n }}\n onFocus={onFocus}\n onClick={onClick}\n >\n {column.name}\n </div>\n );\n}\n", "import { css } from '@linaria/core';\n\nimport type { RenderHeaderCellProps } from './types';\nimport { useDefaultRenderers } from './DataGridDefaultRenderersProvider';\n\nconst headerSortCellClassname = css`\n @layer rdg.SortableHeaderCell {\n display: flex;\n }\n`;\n\nconst headerSortName = css`\n @layer rdg.SortableHeaderCellName {\n flex-grow: 1;\n overflow: clip;\n text-overflow: ellipsis;\n }\n`;\n\nconst headerSortNameClassname = `rdg-header-sort-name ${headerSortName}`;\n\nexport default function renderHeaderCell<R, SR>({\n column,\n sortDirection,\n priority\n}: RenderHeaderCellProps<R, SR>) {\n if (!column.sortable) return column.name;\n\n return (\n <SortableHeaderCell sortDirection={sortDirection} priority={priority}>\n {column.name}\n </SortableHeaderCell>\n );\n}\n\ntype SharedHeaderCellProps<R, SR> = Pick<\n RenderHeaderCellProps<R, SR>,\n 'sortDirection' | 'priority'\n>;\n\ninterface SortableHeaderCellProps<R, SR> extends SharedHeaderCellProps<R, SR> {\n children: React.ReactNode;\n}\n\nfunction SortableHeaderCell<R, SR>({\n sortDirection,\n priority,\n children\n}: SortableHeaderCellProps<R, SR>) {\n const renderSortStatus = useDefaultRenderers<R, SR>()!.renderSortStatus!;\n\n return (\n <span className={headerSortCellClassname}>\n <span className={headerSortNameClassname}>{children}</span>\n <span>{renderSortStatus({ sortDirection, priority })}</span>\n </span>\n );\n}\n", "import { useState } from 'react';\nimport { css } from '@linaria/core';\n\nimport { useRovingTabIndex } from './hooks';\nimport {\n clampColumnWidth,\n getCellClassname,\n getCellStyle,\n getHeaderCellRowSpan,\n getHeaderCellStyle,\n stopPropagation\n} from './utils';\nimport type { CalculatedColumn, SortColumn } from './types';\nimport type { HeaderRowProps } from './HeaderRow';\nimport defaultRenderHeaderCell from './renderHeaderCell';\n\nconst cellSortableClassname = css`\n @layer rdg.HeaderCell {\n cursor: pointer;\n }\n`;\n\nconst cellResizable = css`\n @layer rdg.HeaderCell {\n touch-action: none;\n }\n`;\n\nconst cellResizableClassname = `rdg-cell-resizable ${cellResizable}`;\n\nexport const resizeHandleClassname = css`\n @layer rdg.HeaderCell {\n cursor: col-resize;\n position: absolute;\n inset-block-start: 0;\n inset-inline-end: 0;\n inset-block-end: 0;\n inline-size: 10px;\n }\n`;\n\nconst cellDraggableClassname = 'rdg-cell-draggable';\n\nconst cellDragging = css`\n opacity: 0.5;\n`;\n\nconst cellDraggingClassname = `rdg-cell-dragging ${cellDragging}`;\n\nconst cellOver = css`\n background-color: var(--rdg-header-draggable-background-color);\n`;\n\nconst cellOverClassname = `rdg-cell-drag-over ${cellOver}`;\n\ntype SharedHeaderRowProps<R, SR> = Pick<\n HeaderRowProps<R, SR, React.Key>,\n | 'sortColumns'\n | 'onSortColumnsChange'\n | 'selectCell'\n | 'onColumnResize'\n | 'shouldFocusGrid'\n | 'direction'\n | 'onColumnsReorder'\n>;\n\nexport interface HeaderCellProps<R, SR> extends SharedHeaderRowProps<R, SR> {\n column: CalculatedColumn<R, SR>;\n colSpan: number | undefined;\n rowIdx: number;\n isCellSelected: boolean;\n dragDropKey: string;\n}\n\nexport default function HeaderCell<R, SR>({\n column,\n colSpan,\n rowIdx,\n isCellSelected,\n onColumnResize,\n onColumnsReorder,\n sortColumns,\n onSortColumnsChange,\n selectCell,\n shouldFocusGrid,\n direction,\n dragDropKey\n}: HeaderCellProps<R, SR>) {\n const [isDragging, setIsDragging] = useState(false);\n const [isOver, setIsOver] = useState(false);\n const isRtl = direction === 'rtl';\n const rowSpan = getHeaderCellRowSpan(column, rowIdx);\n const { tabIndex, childTabIndex, onFocus } = useRovingTabIndex(isCellSelected);\n const sortIndex = sortColumns?.findIndex((sort) => sort.columnKey === column.key);\n const sortColumn =\n sortIndex !== undefined && sortIndex > -1 ? sortColumns![sortIndex] : undefined;\n const sortDirection = sortColumn?.direction;\n const priority = sortColumn !== undefined && sortColumns!.length > 1 ? sortIndex! + 1 : undefined;\n const ariaSort =\n sortDirection && !priority ? (sortDirection === 'ASC' ? 'ascending' : 'descending') : undefined;\n const { sortable, resizable, draggable } = column;\n\n const className = getCellClassname(column, column.headerCellClass, {\n [cellSortableClassname]: sortable,\n [cellResizableClassname]: resizable,\n [cellDraggableClassname]: draggable,\n [cellDraggingClassname]: isDragging,\n [cellOverClassname]: isOver\n });\n\n const renderHeaderCell = column.renderHeaderCell ?? defaultRenderHeaderCell;\n\n function onPointerDown(event: React.PointerEvent<HTMLDivElement>) {\n if (event.pointerType === 'mouse' && event.buttons !== 1) {\n return;\n }\n\n // Fix column resizing on a draggable column in FF\n event.preventDefault();\n\n const { currentTarget, pointerId } = event;\n const headerCell = currentTarget.parentElement!;\n const { right, left } = headerCell.getBoundingClientRect();\n const offset = isRtl ? event.clientX - left : right - event.clientX;\n let hasDoubleClicked = false;\n\n function onPointerMove(event: PointerEvent) {\n const { width, right, left } = headerCell.getBoundingClientRect();\n let newWidth = isRtl ? right + offset - event.clientX : event.clientX + offset - left;\n newWidth = clampColumnWidth(newWidth, column);\n if (width > 0 && newWidth !== width) {\n onColumnResize(column, newWidth);\n }\n }\n\n function onDoubleClick() {\n hasDoubleClicked = true;\n onColumnResize(column, 'max-content');\n }\n\n function onLostPointerCapture(event: PointerEvent) {\n // Handle final pointer position that may have been skipped by coalesced pointer move events.\n // Skip move pointer handling if the user double-clicked.\n if (!hasDoubleClicked) {\n onPointerMove(event);\n }\n\n currentTarget.removeEventListener('pointermove', onPointerMove);\n currentTarget.removeEventListener('dblclick', onDoubleClick);\n currentTarget.removeEventListener('lostpointercapture', onLostPointerCapture);\n }\n\n currentTarget.setPointerCapture(pointerId);\n currentTarget.addEventListener('pointermove', onPointerMove);\n currentTarget.addEventListener('dblclick', onDoubleClick);\n currentTarget.addEventListener('lostpointercapture', onLostPointerCapture);\n }\n\n function onSort(ctrlClick: boolean) {\n if (onSortColumnsChange == null) return;\n const { sortDescendingFirst } = column;\n if (sortColumn === undefined) {\n // not currently sorted\n const nextSort: SortColumn = {\n columnKey: column.key,\n direction: sortDescendingFirst ? 'DESC' : 'ASC'\n };\n onSortColumnsChange(sortColumns && ctrlClick ? [...sortColumns, nextSort] : [nextSort]);\n } else {\n let nextSortColumn: SortColumn | undefined;\n if (\n (sortDescendingFirst === true && sortDirection === 'DESC') ||\n (sortDescendingFirst !== true && sortDirection === 'ASC')\n ) {\n nextSortColumn = {\n columnKey: column.key,\n direction: sortDirection === 'ASC' ? 'DESC' : 'ASC'\n };\n }\n if (ctrlClick) {\n const nextSortColumns = [...sortColumns!];\n if (nextSortColumn) {\n // swap direction\n nextSortColumns[sortIndex!] = nextSortColumn;\n } else {\n // remove sort\n nextSortColumns.splice(sortIndex!, 1);\n }\n onSortColumnsChange(nextSortColumns);\n } else {\n onSortColumnsChange(nextSortColumn ? [nextSortColumn] : []);\n }\n }\n }\n\n function onClick(event: React.MouseEvent<HTMLSpanElement>) {\n selectCell({ idx: column.idx, rowIdx });\n\n if (sortable) {\n onSort(event.ctrlKey || event.metaKey);\n }\n }\n\n function handleFocus(event: React.FocusEvent<HTMLDivElement>) {\n onFocus?.(event);\n if (shouldFocusGrid) {\n // Select the first header cell if there is no selected cell\n selectCell({ idx: 0, rowIdx });\n }\n }\n\n function onKeyDown(event: React.KeyboardEvent<HTMLSpanElement>) {\n if (event.key === ' ' || event.key === 'Enter') {\n // prevent scrolling\n event.preventDefault();\n onSort(event.ctrlKey || event.metaKey);\n }\n }\n\n function onDragStart(event: React.DragEvent<HTMLDivElement>) {\n event.dataTransfer.setData(dragDropKey, column.key);\n event.dataTransfer.dropEffect = 'move';\n setIsDragging(true);\n }\n\n function onDragEnd() {\n setIsDragging(false);\n }\n\n function onDragOver(event: React.DragEvent<HTMLDivElement>) {\n // prevent default to allow drop\n event.preventDefault();\n event.dataTransfer.dropEffect = 'move';\n }\n\n function onDrop(event: React.DragEvent<HTMLDivElement>) {\n setIsOver(false);\n // The dragDropKey is derived from the useId() hook, which can sometimes generate keys with uppercase letters.\n // When setting data using event.dataTransfer.setData(), the key is automatically converted to lowercase in some browsers.\n // To ensure consistent comparison, we normalize the dragDropKey to lowercase before checking its presence in the event's dataTransfer types.\n // https://html.spec.whatwg.org/multipage/dnd.html#the-datatransfer-interface\n if (event.dataTransfer.types.includes(dragDropKey.toLowerCase())) {\n const sourceKey = event.dataTransfer.getData(dragDropKey.toLowerCase());\n if (sourceKey !== column.key) {\n event.preventDefault();\n onColumnsReorder?.(sourceKey, column.key);\n }\n }\n }\n\n function onDragEnter(event: React.DragEvent<HTMLDivElement>) {\n if (isEventPertinent(event)) {\n setIsOver(true);\n }\n }\n\n function onDragLeave(event: React.DragEvent<HTMLDivElement>) {\n if (isEventPertinent(event)) {\n setIsOver(false);\n }\n }\n\n let draggableProps: React.HTMLAttributes<HTMLDivElement> | undefined;\n if (draggable) {\n draggableProps = {\n draggable: true,\n /* events fired on the draggable target */\n onDragStart,\n onDragEnd,\n /* events fired on the drop targets */\n onDragOver,\n onDragEnter,\n onDragLeave,\n onDrop\n };\n }\n\n return (\n <div\n role=\"columnheader\"\n aria-colindex={column.idx + 1}\n aria-colspan={colSpan}\n aria-rowspan={rowSpan}\n aria-selected={isCellSelected}\n aria-sort={ariaSort}\n // set the tabIndex to 0 when there is no selected cell so grid can receive focus\n tabIndex={shouldFocusGrid ? 0 : tabIndex}\n className={className}\n style={{\n ...getHeaderCellStyle(column, rowIdx, rowSpan),\n ...getCellStyle(column, colSpan)\n }}\n onFocus={handleFocus}\n onClick={onClick}\n onKeyDown={sortable ? onKeyDown : undefined}\n {...draggableProps}\n >\n {renderHeaderCell({\n column,\n sortDirection,\n priority,\n tabIndex: childTabIndex\n })}\n\n {resizable && (\n <div\n className={resizeHandleClassname}\n onClick={stopPropagation}\n onPointerDown={onPointerDown}\n />\n )}\n </div>\n );\n}\n\n// only accept pertinent drag events:\n// - ignore drag events going from the container to an element inside the container\n// - ignore drag events going from an element inside the container to the container\nfunction isEventPertinent(event: React.DragEvent) {\n const relatedTarget = event.relatedTarget as HTMLElement | null;\n\n return !event.currentTarget.contains(relatedTarget);\n}\n", "import { css } from '@linaria/core';\n\nexport const row = css`\n @layer rdg.Row {\n display: contents;\n background-color: var(--rdg-background-color);\n\n &:hover {\n background-color: var(--rdg-row-hover-background-color);\n }\n\n &[aria-selected='true'] {\n background-color: var(--rdg-row-selected-background-color);\n\n &:hover {\n background-color: var(--rdg-row-selected-hover-background-color);\n }\n }\n }\n`;\n\nexport const rowClassname = `rdg-row ${row}`;\n\nexport const rowSelected = css`\n @layer rdg.FocusSink {\n outline: 2px solid var(--rdg-selection-color);\n outline-offset: -2px;\n }\n`;\n\nexport const rowSelectedClassname = 'rdg-row-selected';\n\nexport const rowSelectedWithFrozenCell = css`\n @layer rdg.FocusSink {\n &::before {\n content: '';\n display: inline-block;\n block-size: 100%;\n position: sticky;\n inset-inline-start: 0;\n border-inline-start: 2px solid var(--rdg-selection-color);\n }\n }\n`;\n\nexport const topSummaryRowClassname = 'rdg-top-summary-row';\n\nexport const bottomSummaryRowClassname = 'rdg-bottom-summary-row';\n", "import { memo, useId } from 'react';\nimport { css } from '@linaria/core';\nimport clsx from 'clsx';\n\nimport { getColSpan } from './utils';\nimport type { CalculatedColumn, Direction, Position } from './types';\nimport type { DataGridProps } from './DataGrid';\nimport HeaderCell from './HeaderCell';\nimport { cell, cellFrozen } from './style/cell';\nimport { rowSelectedClassname } from './style/row';\n\ntype SharedDataGridProps<R, SR, K extends React.Key> = Pick<\n DataGridProps<R, SR, K>,\n 'sortColumns' | 'onSortColumnsChange' | 'onColumnsReorder'\n>;\n\nexport interface HeaderRowProps<R, SR, K extends React.Key> extends SharedDataGridProps<R, SR, K> {\n rowIdx: number;\n columns: readonly CalculatedColumn<R, SR>[];\n onColumnResize: (column: CalculatedColumn<R, SR>, width: number | 'max-content') => void;\n selectCell: (position: Position) => void;\n lastFrozenColumnIndex: number;\n selectedCellIdx: number | undefined;\n shouldFocusGrid: boolean;\n direction: Direction;\n}\n\nconst headerRow = css`\n @layer rdg.HeaderRow {\n display: contents;\n background-color: var(--rdg-header-background-color);\n font-weight: bold;\n\n & > .${cell} {\n /* Should have a higher value than 1 to show up above regular cells and the focus sink */\n z-index: 2;\n position: sticky;\n }\n\n & > .${cellFrozen} {\n z-index: 3;\n }\n }\n`;\n\nexport const headerRowClassname = `rdg-header-row ${headerRow}`;\n\nfunction HeaderRow<R, SR, K extends React.Key>({\n rowIdx,\n columns,\n onColumnResize,\n onColumnsReorder,\n sortColumns,\n onSortColumnsChange,\n lastFrozenColumnIndex,\n selectedCellIdx,\n selectCell,\n shouldFocusGrid,\n direction\n}: HeaderRowProps<R, SR, K>) {\n const dragDropKey = useId();\n\n const cells = [];\n for (let index = 0; index < columns.length; index++) {\n const column = columns[index];\n const colSpan = getColSpan(column, lastFrozenColumnIndex, { type: 'HEADER' });\n if (colSpan !== undefined) {\n index += colSpan - 1;\n }\n\n cells.push(\n <HeaderCell<R, SR>\n key={column.key}\n column={column}\n colSpan={colSpan}\n rowIdx={rowIdx}\n isCellSelected={selectedCellIdx === column.idx}\n onColumnResize={onColumnResize}\n onColumnsReorder={onColumnsReorder}\n onSortColumnsChange={onSortColumnsChange}\n sortColumns={sortColumns}\n selectCell={selectCell}\n shouldFocusGrid={shouldFocusGrid && index === 0}\n direction={direction}\n dragDropKey={dragDropKey}\n />\n );\n }\n\n return (\n <div\n role=\"row\"\n aria-rowindex={rowIdx} // aria-rowindex is 1 based\n className={clsx(headerRowClassname, {\n [rowSelectedClassname]: selectedCellIdx === -1\n })}\n >\n {cells}\n </div>\n );\n}\n\nexport default memo(HeaderRow) as <R, SR, K extends React.Key>(\n props: HeaderRowProps<R, SR, K>\n) => React.JSX.Element;\n", "import { memo } from 'react';\n\nimport type { CalculatedColumn, CalculatedColumnParent, Position } from './types';\nimport GroupedColumnHeaderCell from './GroupedColumnHeaderCell';\nimport { headerRowClassname } from './HeaderRow';\n\nexport interface GroupedColumnHeaderRowProps<R, SR> {\n rowIdx: number;\n level: number;\n columns: readonly CalculatedColumn<R, SR>[];\n selectCell: (position: Position) => void;\n selectedCellIdx: number | undefined;\n}\n\nfunction GroupedColumnHeaderRow<R, SR>({\n rowIdx,\n level,\n columns,\n selectedCellIdx,\n selectCell\n}: GroupedColumnHeaderRowProps<R, SR>) {\n const cells = [];\n const renderedParents = new Set<CalculatedColumnParent<R, SR>>();\n\n for (const column of columns) {\n let { parent } = column;\n\n if (parent === undefined) continue;\n\n while (parent.level > level) {\n if (parent.parent === undefined) break;\n parent = parent.parent;\n }\n\n if (parent.level === level && !renderedParents.has(parent)) {\n renderedParents.add(parent);\n const { idx } = parent;\n cells.push(\n <GroupedColumnHeaderCell<R, SR>\n key={idx}\n column={parent}\n rowIdx={rowIdx}\n isCellSelected={selectedCellIdx === idx}\n selectCell={selectCell}\n />\n );\n }\n }\n\n return (\n <div\n role=\"row\"\n aria-rowindex={rowIdx} // aria-rowindex is 1 based\n className={headerRowClassname}\n >\n {cells}\n </div>\n );\n}\n\nexport default memo(GroupedColumnHeaderRow) as <R, SR>(\n props: GroupedColumnHeaderRowProps<R, SR>\n) => React.JSX.Element;\n", "import { memo } from 'react';\nimport { css } from '@linaria/core';\n\nimport { useRovingTabIndex } from './hooks';\nimport { createCellEvent, getCellClassname, getCellStyle, isCellEditableUtil } from './utils';\nimport type { CellRendererProps } from './types';\n\nconst cellCopied = css`\n @layer rdg.Cell {\n background-color: #ccccff;\n }\n`;\n\nconst cellCopiedClassname = `rdg-cell-copied ${cellCopied}`;\n\nconst cellDraggedOver = css`\n @layer rdg.Cell {\n background-color: #ccccff;\n\n &.${cellCopied} {\n background-color: #9999ff;\n }\n }\n`;\n\nconst cellDraggedOverClassname = `rdg-cell-dragged-over ${cellDraggedOver}`;\n\nfunction Cell<R, SR>({\n column,\n colSpan,\n isCellSelected,\n isCopied,\n isDraggedOver,\n row,\n rowIdx,\n onClick,\n onDoubleClick,\n onContextMenu,\n onRowChange,\n selectCell,\n ...props\n}: CellRendererProps<R, SR>) {\n const { tabIndex, childTabIndex, onFocus } = useRovingTabIndex(isCellSelected);\n\n const { cellClass } = column;\n const className = getCellClassname(\n column,\n {\n [cellCopiedClassname]: isCopied,\n [cellDraggedOverClassname]: isDraggedOver\n },\n typeof cellClass === 'function' ? cellClass(row) : cellClass\n );\n const isEditable = isCellEditableUtil(column, row);\n\n function selectCellWrapper(openEditor?: boolean) {\n selectCell({ rowIdx, idx: column.idx }, openEditor);\n }\n\n function handleClick(event: React.MouseEvent<HTMLDivElement>) {\n if (onClick) {\n const cellEvent = createCellEvent(event);\n onClick({ row, column, selectCell: selectCellWrapper }, cellEvent);\n if (cellEvent.isGridDefaultPrevented()) return;\n }\n selectCellWrapper();\n }\n\n function handleContextMenu(event: React.MouseEvent<HTMLDivElement>) {\n if (onContextMenu) {\n const cellEvent = createCellEvent(event);\n onContextMenu({ row, column, selectCell: selectCellWrapper }, cellEvent);\n if (cellEvent.isGridDefaultPrevented()) return;\n }\n selectCellWrapper();\n }\n\n function handleDoubleClick(event: React.MouseEvent<HTMLDivElement>) {\n if (onDoubleClick) {\n const cellEvent = createCellEvent(event);\n onDoubleClick({ row, column, selectCell: selectCellWrapper }, cellEvent);\n if (cellEvent.isGridDefaultPrevented()) return;\n }\n selectCellWrapper(true);\n }\n\n function handleRowChange(newRow: R) {\n onRowChange(column, newRow);\n }\n\n return (\n <div\n role=\"gridcell\"\n aria-colindex={column.idx + 1} // aria-colindex is 1-based\n aria-colspan={colSpan}\n aria-selected={isCellSelected}\n aria-readonly={!isEditable || undefined}\n tabIndex={tabIndex}\n className={className}\n style={getCellStyle(column, colSpan)}\n onClick={handleClick}\n onDoubleClick={handleDoubleClick}\n onContextMenu={handleContextMenu}\n onFocus={onFocus}\n {...props}\n >\n {column.renderCell({\n column,\n row,\n rowIdx,\n isCellEditable: isEditable,\n tabIndex: childTabIndex,\n onRowChange: handleRowChange\n })}\n </div>\n );\n}\n\nexport default memo(Cell) as <R, SR>(props: CellRendererProps<R, SR>) => React.JSX.Element;\n", "import { forwardRef, memo, useMemo, type RefAttributes } from 'react';\nimport clsx from 'clsx';\n\nimport { RowSelectionProvider, useLatestFunc, type RowSelectionContextValue } from './hooks';\nimport { getColSpan, getRowStyle } from './utils';\nimport type { CalculatedColumn, RenderRowProps } from './types';\nimport Cell from './Cell';\nimport { rowClassname, rowSelectedClassname } from './style/row';\n\nfunction Row<R, SR>(\n {\n className,\n rowIdx,\n gridRowStart,\n selectedCellIdx,\n isRowSelectionDisabled,\n isRowSelected,\n copiedCellIdx,\n draggedOverCellIdx,\n lastFrozenColumnIndex,\n row,\n viewportColumns,\n selectedCellEditor,\n onCellClick,\n onCellDoubleClick,\n onCellContextMenu,\n rowClass,\n setDraggedOverRowIdx,\n onMouseEnter,\n onRowChange,\n selectCell,\n ...props\n }: RenderRowProps<R, SR>,\n ref: React.Ref<HTMLDivElement>\n) {\n const handleRowChange = useLatestFunc((column: CalculatedColumn<R, SR>, newRow: R) => {\n onRowChange(column, rowIdx, newRow);\n });\n\n function handleDragEnter(event: React.MouseEvent<HTMLDivElement>) {\n setDraggedOverRowIdx?.(rowIdx);\n onMouseEnter?.(event);\n }\n\n className = clsx(\n rowClassname,\n `rdg-row-${rowIdx % 2 === 0 ? 'even' : 'odd'}`,\n {\n [rowSelectedClassname]: selectedCellIdx === -1\n },\n rowClass?.(row, rowIdx),\n className\n );\n\n const cells = [];\n\n for (let index = 0; index < viewportColumns.length; index++) {\n const column = viewportColumns[index];\n const { idx } = column;\n const colSpan = getColSpan(column, lastFrozenColumnIndex, { type: 'ROW', row });\n if (colSpan !== undefined) {\n index += colSpan - 1;\n }\n\n const isCellSelected = selectedCellIdx === idx;\n\n if (isCellSelected && selectedCellEditor) {\n cells.push(selectedCellEditor);\n } else {\n cells.push(\n <Cell\n key={column.key}\n column={column}\n colSpan={colSpan}\n row={row}\n rowIdx={rowIdx}\n isCopied={copiedCellIdx === idx}\n isDraggedOver={draggedOverCellIdx === idx}\n isCellSelected={isCellSelected}\n onClick={onCellClick}\n onDoubleClick={onCellDoubleClick}\n onContextMenu={onCellContextMenu}\n onRowChange={handleRowChange}\n selectCell={selectCell}\n />\n );\n }\n }\n\n const selectionValue = useMemo(\n (): RowSelectionContextValue => ({ isRowSelected, isRowSelectionDisabled }),\n [isRowSelectionDisabled, isRowSelected]\n );\n\n return (\n <RowSelectionProvider value={selectionValue}>\n <div\n role=\"row\"\n ref={ref}\n className={className}\n onMouseEnter={handleDragEnter}\n style={getRowStyle(gridRowStart)}\n {...props}\n >\n {cells}\n </div>\n </RowSelectionProvider>\n );\n}\n\nconst RowComponent = memo(forwardRef(Row)) as <R, SR>(\n props: RenderRowProps<R, SR> & RefAttributes<HTMLDivElement>\n) => React.JSX.Element;\n\nexport default RowComponent;\n\nexport function defaultRenderRow<R, SR>(key: React.Key, props: RenderRowProps<R, SR>) {\n return <RowComponent key={key} {...props} />;\n}\n", "import { useRef } from 'react';\n\nimport { useLayoutEffect } from './hooks';\nimport { scrollIntoView } from './utils';\n\nexport interface PartialPosition {\n readonly idx?: number | undefined;\n readonly rowIdx?: number | undefined;\n}\n\nexport default function ScrollToCell({\n scrollToPosition: { idx, rowIdx },\n gridElement,\n setScrollToCellPosition\n}: {\n scrollToPosition: PartialPosition;\n gridElement: HTMLDivElement;\n setScrollToCellPosition: (cell: null) => void;\n}) {\n const ref = useRef<HTMLDivElement>(null);\n\n useLayoutEffect(() => {\n // scroll until the cell is completely visible\n // this is needed if the grid has auto-sized columns\n scrollIntoView(ref.current);\n });\n\n useLayoutEffect(() => {\n function removeScrollToCell() {\n setScrollToCellPosition(null);\n }\n\n const observer = new IntersectionObserver(removeScrollToCell, {\n root: gridElement,\n threshold: 1.0\n });\n\n observer.observe(ref.current!);\n\n return () => {\n observer.disconnect();\n };\n }, [gridElement, setScrollToCellPosition]);\n\n return (\n <div\n ref={ref}\n style={{\n gridColumn: idx === undefined ? '1/-1' : idx + 1,\n gridRow: rowIdx === undefined ? '1/-1' : rowIdx + 2\n }}\n />\n );\n}\n", "import { css } from '@linaria/core';\n\nimport type { RenderSortIconProps, RenderSortPriorityProps, RenderSortStatusProps } from './types';\n\nconst arrow = css`\n @layer rdg.SortIcon {\n fill: currentColor;\n\n > path {\n transition: d 0.1s;\n }\n }\n`;\n\nconst arrowClassname = `rdg-sort-arrow ${arrow}`;\n\nexport default function renderSortStatus({ sortDirection, priority }: RenderSortStatusProps) {\n return (\n <>\n {renderSortIcon({ sortDirection })}\n {renderSortPriority({ priority })}\n </>\n );\n}\n\nexport function renderSortIcon({ sortDirection }: RenderSortIconProps) {\n if (sortDirection === undefined) return null;\n\n return (\n <svg viewBox=\"0 0 12 8\" width=\"12\" height=\"8\" className={arrowClassname} aria-hidden>\n <path d={sortDirection === 'ASC' ? 'M0 8 6 0 12 8' : 'M0 0 6 8 12 0'} />\n </svg>\n );\n}\n\nexport function renderSortPriority({ priority }: RenderSortPriorityProps) {\n return priority;\n}\n", "import { css } from '@linaria/core';\n\nimport { cell } from './cell';\nimport { bottomSummaryRowClassname, row, topSummaryRowClassname } from './row';\n\nconst lightTheme = `\n --rdg-color: #000;\n --rdg-border-color: #ddd;\n --rdg-summary-border-color: #aaa;\n --rdg-background-color: hsl(0deg 0% 100%);\n --rdg-header-background-color: hsl(0deg 0% 97.5%);\n --rdg-header-draggable-background-color: hsl(0deg 0% 90.5%);\n --rdg-row-hover-background-color: hsl(0deg 0% 96%);\n --rdg-row-selected-background-color: hsl(207deg 76% 92%);\n --rdg-row-selected-hover-background-color: hsl(207deg 76% 88%);\n\n --rdg-checkbox-focus-color: hsl(207deg 100% 69%);\n`;\n\nconst darkTheme = `\n --rdg-color: #ddd;\n --rdg-border-color: #444;\n --rdg-summary-border-color: #555;\n --rdg-background-color: hsl(0deg 0% 13%);\n --rdg-header-background-color: hsl(0deg 0% 10.5%);\n --rdg-header-draggable-background-color: hsl(0deg 0% 17.5%);\n --rdg-row-hover-background-color: hsl(0deg 0% 9%);\n --rdg-row-selected-background-color: hsl(207deg 76% 42%);\n --rdg-row-selected-hover-background-color: hsl(207deg 76% 38%);\n\n --rdg-checkbox-focus-color: hsl(207deg 100% 89%);\n`;\n\nconst root = css`\n @layer rdg.Defaults {\n *,\n *::before,\n *::after {\n box-sizing: inherit;\n }\n }\n\n @layer rdg.Root {\n ${lightTheme}\n --rdg-selection-color: #66afe9;\n --rdg-font-size: 14px;\n --rdg-cell-frozen-box-shadow: 2px 0 5px -2px rgba(136, 136, 136, 0.3);\n\n &:dir(rtl) {\n --rdg-cell-frozen-box-shadow: -2px 0 5px -2px rgba(136, 136, 136, 0.3);\n }\n\n display: grid;\n\n color-scheme: var(--rdg-color-scheme, light dark);\n accent-color: light-dark(hsl(207deg 100% 29%), hsl(207deg 100% 79%));\n\n /* https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Positioning/Understanding_z_index/The_stacking_context */\n /* We set a stacking context so internal elements don't render on top of external elements. */\n /* size containment is not used as it could break \"width: min-content\" for example, and the grid would infinitely resize on Chromium browsers */\n contain: content;\n content-visibility: auto;\n block-size: 350px;\n border: 1px solid var(--rdg-border-color);\n box-sizing: border-box;\n overflow: auto;\n background-color: var(--rdg-background-color);\n color: var(--rdg-color);\n font-size: var(--rdg-font-size);\n\n /* needed on Firefox to fix scrollbars */\n &::before {\n content: '';\n grid-column: 1/-1;\n grid-row: 1/-1;\n }\n\n &.rdg-dark {\n --rdg-color-scheme: dark;\n ${darkTheme}\n }\n\n &.rdg-light {\n --rdg-color-scheme: light;\n }\n\n @media (prefers-color-scheme: dark) {\n &:not(.rdg-light) {\n ${darkTheme}\n }\n }\n\n > :nth-last-child(1 of .${topSummaryRowClassname}) {\n > .${cell} {\n border-block-end: 2px solid var(--rdg-summary-border-color);\n }\n }\n\n > :nth-child(1 of .${bottomSummaryRowClassname}) {\n > .${cell} {\n border-block-start: 2px solid var(--rdg-summary-border-color);\n }\n }\n }\n`;\n\nexport const rootClassname = `rdg ${root}`;\n\nconst viewportDragging = css`\n @layer rdg.Root {\n user-select: none;\n\n & .${row} {\n cursor: move;\n }\n }\n`;\n\nexport const viewportDraggingClassname = `rdg-viewport-dragging ${viewportDragging}`;\n\nexport const focusSinkClassname = css`\n @layer rdg.FocusSink {\n grid-column: 1/-1;\n pointer-events: none;\n /* Should have a higher value than 1 to show up above regular frozen cells */\n z-index: 1;\n }\n`;\n\nexport const focusSinkHeaderAndSummaryClassname = css`\n @layer rdg.FocusSink {\n /* Should have a higher value than 3 to show up above header and summary rows */\n z-index: 3;\n }\n`;\n", "import { memo } from 'react';\nimport { css } from '@linaria/core';\n\nimport { useRovingTabIndex } from './hooks';\nimport { getCellClassname, getCellStyle } from './utils';\nimport type { CellRendererProps } from './types';\n\nexport const summaryCellClassname = css`\n @layer rdg.SummaryCell {\n inset-block-start: var(--rdg-summary-row-top);\n inset-block-end: var(--rdg-summary-row-bottom);\n }\n`;\n\ntype SharedCellRendererProps<R, SR> = Pick<\n CellRendererProps<R, SR>,\n 'rowIdx' | 'column' | 'colSpan' | 'isCellSelected' | 'selectCell'\n>;\n\ninterface SummaryCellProps<R, SR> extends SharedCellRendererProps<R, SR> {\n row: SR;\n}\n\nfunction SummaryCell<R, SR>({\n column,\n colSpan,\n row,\n rowIdx,\n isCellSelected,\n selectCell\n}: SummaryCellProps<R, SR>) {\n const { tabIndex, childTabIndex, onFocus } = useRovingTabIndex(isCellSelected);\n const { summaryCellClass } = column;\n const className = getCellClassname(\n column,\n summaryCellClassname,\n typeof summaryCellClass === 'function' ? summaryCellClass(row) : summaryCellClass\n );\n\n function onClick() {\n selectCell({ rowIdx, idx: column.idx });\n }\n\n return (\n <div\n role=\"gridcell\"\n aria-colindex={column.idx + 1}\n aria-colspan={colSpan}\n aria-selected={isCellSelected}\n tabIndex={tabIndex}\n className={className}\n style={getCellStyle(column, colSpan)}\n onClick={onClick}\n onFocus={onFocus}\n >\n {column.renderSummaryCell?.({ column, row, tabIndex: childTabIndex })}\n </div>\n );\n}\n\nexport default memo(SummaryCell) as <R, SR>(props: SummaryCellProps<R, SR>) => React.JSX.Element;\n", "import { memo } from 'react';\nimport { css } from '@linaria/core';\nimport clsx from 'clsx';\n\nimport { getColSpan, getRowStyle } from './utils';\nimport type { RenderRowProps } from './types';\nimport { cell, cellFrozen } from './style/cell';\nimport {\n bottomSummaryRowClassname,\n rowClassname,\n rowSelectedClassname,\n topSummaryRowClassname\n} from './style/row';\nimport SummaryCell from './SummaryCell';\n\ntype SharedRenderRowProps<R, SR> = Pick<\n RenderRowProps<R, SR>,\n 'viewportColumns' | 'rowIdx' | 'gridRowStart' | 'selectCell'\n>;\n\ninterface SummaryRowProps<R, SR> extends SharedRenderRowProps<R, SR> {\n 'aria-rowindex': number;\n row: SR;\n top: number | undefined;\n bottom: number | undefined;\n lastFrozenColumnIndex: number;\n selectedCellIdx: number | undefined;\n isTop: boolean;\n}\n\nconst summaryRow = css`\n @layer rdg.SummaryRow {\n > .${cell} {\n position: sticky;\n }\n }\n`;\n\nconst topSummaryRow = css`\n @layer rdg.SummaryRow {\n > .${cell} {\n z-index: 2;\n }\n\n > .${cellFrozen} {\n z-index: 3;\n }\n }\n`;\n\nconst summaryRowClassname = `rdg-summary-row ${summaryRow}`;\n\nfunction SummaryRow<R, SR>({\n rowIdx,\n gridRowStart,\n row,\n viewportColumns,\n top,\n bottom,\n lastFrozenColumnIndex,\n selectedCellIdx,\n isTop,\n selectCell,\n 'aria-rowindex': ariaRowIndex\n}: SummaryRowProps<R, SR>) {\n const cells = [];\n for (let index = 0; index < viewportColumns.length; index++) {\n const column = viewportColumns[index];\n const colSpan = getColSpan(column, lastFrozenColumnIndex, { type: 'SUMMARY', row });\n if (colSpan !== undefined) {\n index += colSpan - 1;\n }\n\n const isCellSelected = selectedCellIdx === column.idx;\n\n cells.push(\n <SummaryCell<R, SR>\n key={column.key}\n column={column}\n colSpan={colSpan}\n row={row}\n rowIdx={rowIdx}\n isCellSelected={isCellSelected}\n selectCell={selectCell}\n />\n );\n }\n\n return (\n <div\n role=\"row\"\n aria-rowindex={ariaRowIndex}\n className={clsx(\n rowClassname,\n `rdg-row-${rowIdx % 2 === 0 ? 'even' : 'odd'}`,\n summaryRowClassname,\n {\n [rowSelectedClassname]: selectedCellIdx === -1,\n [`${topSummaryRowClassname} ${topSummaryRow}`]: isTop,\n [bottomSummaryRowClassname]: !isTop\n }\n )}\n style={\n {\n ...getRowStyle(gridRowStart),\n '--rdg-summary-row-top': top !== undefined ? `${top}px` : undefined,\n '--rdg-summary-row-bottom': bottom !== undefined ? `${bottom}px` : undefined\n } as unknown as React.CSSProperties\n }\n >\n {cells}\n </div>\n );\n}\n\nexport default memo(SummaryRow) as <R, SR>(props: SummaryRowProps<R, SR>) => React.JSX.Element;\n", "import { forwardRef, useCallback, useImperativeHandle, useMemo, useRef, useState } from 'react';\nimport type { Key, KeyboardEvent, RefAttributes } from 'react';\nimport { flushSync } from 'react-dom';\nimport clsx from 'clsx';\n\nimport {\n HeaderRowSelectionChangeProvider,\n HeaderRowSelectionProvider,\n RowSelectionChangeProvider,\n useCalculatedColumns,\n useColumnWidths,\n useGridDimensions,\n useLatestFunc,\n useLayoutEffect,\n useViewportColumns,\n useViewportRows,\n type HeaderRowSelectionContextValue\n} from './hooks';\nimport {\n abs,\n assertIsValidKeyGetter,\n canExitGrid,\n createCellEvent,\n getColSpan,\n getNextSelectedCellPosition,\n isCtrlKeyHeldDown,\n isDefaultCellInput,\n isSelectedCellEditable,\n renderMeasuringCells,\n scrollIntoView,\n sign\n} from './utils';\nimport type {\n CalculatedColumn,\n CellClickArgs,\n CellKeyboardEvent,\n CellKeyDownArgs,\n CellMouseEvent,\n CellNavigationMode,\n CellSelectArgs,\n Column,\n ColumnOrColumnGroup,\n CopyEvent,\n Direction,\n FillEvent,\n Maybe,\n PasteEvent,\n Position,\n Renderers,\n RowsChangeData,\n SelectHeaderRowEvent,\n SelectRowEvent,\n SortColumn\n} from './types';\nimport { renderCheckbox as defaultRenderCheckbox } from './cellRenderers';\nimport {\n DataGridDefaultRenderersProvider,\n useDefaultRenderers\n} from './DataGridDefaultRenderersProvider';\nimport DragHandle from './DragHandle';\nimport EditCell from './EditCell';\nimport GroupedColumnHeaderRow from './GroupedColumnHeaderRow';\nimport HeaderRow from './HeaderRow';\nimport { defaultRenderRow } from './Row';\nimport type { PartialPosition } from './ScrollToCell';\nimport ScrollToCell from './ScrollToCell';\nimport { default as defaultRenderSortStatus } from './sortStatus';\nimport {\n focusSinkClassname,\n focusSinkHeaderAndSummaryClassname,\n rootClassname,\n viewportDraggingClassname\n} from './style/core';\nimport { rowSelected, rowSelectedWithFrozenCell } from './style/row';\nimport SummaryRow from './SummaryRow';\n\nexport interface SelectCellState extends Position {\n readonly mode: 'SELECT';\n}\n\ninterface EditCellState<R> extends Position {\n readonly mode: 'EDIT';\n readonly row: R;\n readonly originalRow: R;\n}\n\ntype DefaultColumnOptions<R, SR> = Pick<\n Column<R, SR>,\n 'renderCell' | 'width' | 'minWidth' | 'maxWidth' | 'resizable' | 'sortable' | 'draggable'\n>;\n\nexport interface DataGridHandle {\n element: HTMLDivElement | null;\n scrollToCell: (position: PartialPosition) => void;\n selectCell: (position: Position, enableEditor?: Maybe<boolean>) => void;\n}\n\ntype SharedDivProps = Pick<\n React.HTMLAttributes<HTMLDivElement>,\n | 'role'\n | 'aria-label'\n | 'aria-labelledby'\n | 'aria-describedby'\n | 'aria-rowcount'\n | 'className'\n | 'style'\n>;\n\nexport interface DataGridProps<R, SR = unknown, K extends Key = Key> extends SharedDivProps {\n /**\n * Grid and data Props\n */\n /** An array of objects representing each column on the grid */\n columns: readonly ColumnOrColumnGroup<NoInfer<R>, NoInfer<SR>>[];\n /** A function called for each rendered row that should return a plain key/value pair object */\n rows: readonly R[];\n /**\n * Rows to be pinned at the top of the rows view for summary, the vertical scroll bar will not scroll these rows.\n */\n topSummaryRows?: Maybe<readonly SR[]>;\n /**\n * Rows to be pinned at the bottom of the rows view for summary, the vertical scroll bar will not scroll these rows.\n */\n bottomSummaryRows?: Maybe<readonly SR[]>;\n /** The getter should return a unique key for each row */\n rowKeyGetter?: Maybe<(row: NoInfer<R>) => K>;\n onRowsChange?: Maybe<(rows: NoInfer<R>[], data: RowsChangeData<NoInfer<R>, NoInfer<SR>>) => void>;\n\n /**\n * Dimensions props\n */\n /**\n * The height of each row in pixels\n * @default 35\n */\n rowHeight?: Maybe<number | ((row: NoInfer<R>) => number)>;\n /**\n * The height of the header row in pixels\n * @default 35\n */\n headerRowHeight?: Maybe<number>;\n /**\n * The height of each summary row in pixels\n * @default 35\n */\n summaryRowHeight?: Maybe<number>;\n\n /**\n * Feature props\n */\n /** Set of selected row keys */\n selectedRows?: Maybe<ReadonlySet<K>>;\n /** Determines if row selection is disabled, per row */\n isRowSelectionDisabled?: Maybe<(row: NoInfer<R>) => boolean>;\n /** Function called whenever row selection is changed */\n onSelectedRowsChange?: Maybe<(selectedRows: Set<NoInfer<K>>) => void>;\n /** Used for multi column sorting */\n sortColumns?: Maybe<readonly SortColumn[]>;\n onSortColumnsChange?: Maybe<(sortColumns: SortColumn[]) => void>;\n defaultColumnOptions?: Maybe<DefaultColumnOptions<NoInfer<R>, NoInfer<SR>>>;\n onFill?: Maybe<(event: FillEvent<NoInfer<R>>) => NoInfer<R>>;\n onCopy?: Maybe<(event: CopyEvent<NoInfer<R>>) => void>;\n onPaste?: Maybe<(event: PasteEvent<NoInfer<R>>) => NoInfer<R>>;\n\n /**\n * Event props\n */\n /** Function called whenever a cell is clicked */\n onCellClick?: Maybe<\n (args: CellClickArgs<NoInfer<R>, NoInfer<SR>>, event: CellMouseEvent) => void\n >;\n /** Function called whenever a cell is double clicked */\n onCellDoubleClick?: Maybe<\n (args: CellClickArgs<NoInfer<R>, NoInfer<SR>>, event: CellMouseEvent) => void\n >;\n /** Function called whenever a cell is right clicked */\n onCellContextMenu?: Maybe<\n (args: CellClickArgs<NoInfer<R>, NoInfer<SR>>, event: CellMouseEvent) => void\n >;\n onCellKeyDown?: Maybe<\n (args: CellKeyDownArgs<NoInfer<R>, NoInfer<SR>>, event: CellKeyboardEvent) => void\n >;\n /** Function called whenever cell selection is changed */\n onSelectedCellChange?: Maybe<(args: CellSelectArgs<NoInfer<R>, NoInfer<SR>>) => void>;\n /** Called when the grid is scrolled */\n onScroll?: Maybe<(event: React.UIEvent<HTMLDivElement>) => void>;\n /** Called when a column is resized */\n onColumnResize?: Maybe<(idx: number, width: number) => void>;\n /** Called when a column is reordered */\n onColumnsReorder?: Maybe<(sourceColumnKey: string, targetColumnKey: string) => void>;\n\n /**\n * Toggles and modes\n */\n /** @default true */\n enableVirtualization?: Maybe<boolean>;\n\n /**\n * Miscellaneous\n */\n renderers?: Maybe<Renderers<NoInfer<R>, NoInfer<SR>>>;\n rowClass?: Maybe<(row: NoInfer<R>, rowIdx: number) => Maybe<string>>;\n /** @default 'ltr' */\n direction?: Maybe<Direction>;\n 'data-testid'?: Maybe<string>;\n}\n\n/**\n * Main API Component to render a data grid of rows and columns\n *\n * @example\n *\n * <DataGrid columns={columns} rows={rows} />\n */\nfunction DataGrid<R, SR, K extends Key>(\n props: DataGridProps<R, SR, K>,\n ref: React.Ref<DataGridHandle>\n) {\n const {\n // Grid and data Props\n columns: rawColumns,\n rows,\n topSummaryRows,\n bottomSummaryRows,\n rowKeyGetter,\n onRowsChange,\n // Dimensions props\n rowHeight: rawRowHeight,\n headerRowHeight: rawHeaderRowHeight,\n summaryRowHeight: rawSummaryRowHeight,\n // Feature props\n selectedRows,\n isRowSelectionDisabled,\n onSelectedRowsChange,\n sortColumns,\n onSortColumnsChange,\n defaultColumnOptions,\n // Event props\n onCellClick,\n onCellDoubleClick,\n onCellContextMenu,\n onCellKeyDown,\n onSelectedCellChange,\n onScroll,\n onColumnResize,\n onColumnsReorder,\n onFill,\n onCopy,\n onPaste,\n // Toggles and modes\n enableVirtualization: rawEnableVirtualization,\n // Miscellaneous\n renderers,\n className,\n style,\n rowClass,\n direction: rawDirection,\n // ARIA\n role: rawRole,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy,\n 'aria-describedby': ariaDescribedBy,\n 'aria-rowcount': rawAriaRowCount,\n 'data-testid': testId\n } = props;\n\n /**\n * defaults\n */\n const defaultRenderers = useDefaultRenderers<R, SR>();\n const role = rawRole ?? 'grid';\n const rowHeight = rawRowHeight ?? 35;\n const headerRowHeight = rawHeaderRowHeight ?? (typeof rowHeight === 'number' ? rowHeight : 35);\n const summaryRowHeight = rawSummaryRowHeight ?? (typeof rowHeight === 'number' ? rowHeight : 35);\n const renderRow = renderers?.renderRow ?? defaultRenderers?.renderRow ?? defaultRenderRow;\n const renderSortStatus =\n renderers?.renderSortStatus ?? defaultRenderers?.renderSortStatus ?? defaultRenderSortStatus;\n const renderCheckbox =\n renderers?.renderCheckbox ?? defaultRenderers?.renderCheckbox ?? defaultRenderCheckbox;\n const noRowsFallback = renderers?.noRowsFallback ?? defaultRenderers?.noRowsFallback;\n const enableVirtualization = rawEnableVirtualization ?? true;\n const direction = rawDirection ?? 'ltr';\n\n /**\n * states\n */\n const [scrollTop, setScrollTop] = useState(0);\n const [scrollLeft, setScrollLeft] = useState(0);\n const [resizedColumnWidths, setResizedColumnWidths] = useState(\n (): ReadonlyMap<string, number> => new Map()\n );\n const [measuredColumnWidths, setMeasuredColumnWidths] = useState(\n (): ReadonlyMap<string, number> => new Map()\n );\n const [copiedCell, setCopiedCell] = useState<{ row: R; columnKey: string } | null>(null);\n const [isDragging, setDragging] = useState(false);\n const [draggedOverRowIdx, setOverRowIdx] = useState<number | undefined>(undefined);\n const [scrollToPosition, setScrollToPosition] = useState<PartialPosition | null>(null);\n\n const getColumnWidth = useCallback(\n (column: CalculatedColumn<R, SR>) => {\n return (\n resizedColumnWidths.get(column.key) ?? measuredColumnWidths.get(column.key) ?? column.width\n );\n },\n [measuredColumnWidths, resizedColumnWidths]\n );\n\n const [gridRef, gridWidth, gridHeight, horizontalScrollbarHeight] = useGridDimensions();\n const {\n columns,\n colSpanColumns,\n lastFrozenColumnIndex,\n headerRowsCount,\n colOverscanStartIdx,\n colOverscanEndIdx,\n templateColumns,\n layoutCssVars,\n totalFrozenColumnWidth\n } = useCalculatedColumns({\n rawColumns,\n defaultColumnOptions,\n getColumnWidth,\n scrollLeft,\n viewportWidth: gridWidth,\n enableVirtualization\n });\n\n const topSummaryRowsCount = topSummaryRows?.length ?? 0;\n const bottomSummaryRowsCount = bottomSummaryRows?.length ?? 0;\n const summaryRowsCount = topSummaryRowsCount + bottomSummaryRowsCount;\n const headerAndTopSummaryRowsCount = headerRowsCount + topSummaryRowsCount;\n const groupedColumnHeaderRowsCount = headerRowsCount - 1;\n const minRowIdx = -headerAndTopSummaryRowsCount;\n const mainHeaderRowIdx = minRowIdx + groupedColumnHeaderRowsCount;\n const maxRowIdx = rows.length + bottomSummaryRowsCount - 1;\n\n const [selectedPosition, setSelectedPosition] = useState(\n (): SelectCellState | EditCellState<R> => ({ idx: -1, rowIdx: minRowIdx - 1, mode: 'SELECT' })\n );\n\n /**\n * refs\n */\n const prevSelectedPosition = useRef(selectedPosition);\n const latestDraggedOverRowIdx = useRef(draggedOverRowIdx);\n const lastSelectedRowIdx = useRef(-1);\n const focusSinkRef = useRef<HTMLDivElement>(null);\n const shouldFocusCellRef = useRef(false);\n\n /**\n * computed values\n */\n const isTreeGrid = role === 'treegrid';\n const headerRowsHeight = headerRowsCount * headerRowHeight;\n const summaryRowsHeight = summaryRowsCount * summaryRowHeight;\n const clientHeight = gridHeight - headerRowsHeight - summaryRowsHeight;\n const isSelectable = selectedRows != null && onSelectedRowsChange != null;\n const isRtl = direction === 'rtl';\n const leftKey = isRtl ? 'ArrowRight' : 'ArrowLeft';\n const rightKey = isRtl ? 'ArrowLeft' : 'ArrowRight';\n const ariaRowCount = rawAriaRowCount ?? headerRowsCount + rows.length + summaryRowsCount;\n\n const defaultGridComponents = useMemo(\n () => ({\n renderCheckbox,\n renderSortStatus\n }),\n [renderCheckbox, renderSortStatus]\n );\n\n const headerSelectionValue = useMemo((): HeaderRowSelectionContextValue => {\n // no rows to select = explicitely unchecked\n let hasSelectedRow = false;\n let hasUnselectedRow = false;\n\n if (rowKeyGetter != null && selectedRows != null && selectedRows.size > 0) {\n for (const row of rows) {\n if (selectedRows.has(rowKeyGetter(row))) {\n hasSelectedRow = true;\n } else {\n hasUnselectedRow = true;\n }\n\n if (hasSelectedRow && hasUnselectedRow) break;\n }\n }\n\n return {\n isRowSelected: hasSelectedRow && !hasUnselectedRow,\n isIndeterminate: hasSelectedRow && hasUnselectedRow\n };\n }, [rows, selectedRows, rowKeyGetter]);\n\n const {\n rowOverscanStartIdx,\n rowOverscanEndIdx,\n totalRowHeight,\n gridTemplateRows,\n getRowTop,\n getRowHeight,\n findRowIdx\n } = useViewportRows({\n rows,\n rowHeight,\n clientHeight,\n scrollTop,\n enableVirtualization\n });\n\n const viewportColumns = useViewportColumns({\n columns,\n colSpanColumns,\n colOverscanStartIdx,\n colOverscanEndIdx,\n lastFrozenColumnIndex,\n rowOverscanStartIdx,\n rowOverscanEndIdx,\n rows,\n topSummaryRows,\n bottomSummaryRows\n });\n\n const { gridTemplateColumns, handleColumnResize } = useColumnWidths(\n columns,\n viewportColumns,\n templateColumns,\n gridRef,\n gridWidth,\n resizedColumnWidths,\n measuredColumnWidths,\n setResizedColumnWidths,\n setMeasuredColumnWidths,\n onColumnResize\n );\n\n const minColIdx = isTreeGrid ? -1 : 0;\n const maxColIdx = columns.length - 1;\n const selectedCellIsWithinSelectionBounds = isCellWithinSelectionBounds(selectedPosition);\n const selectedCellIsWithinViewportBounds = isCellWithinViewportBounds(selectedPosition);\n const scrollHeight =\n headerRowHeight + totalRowHeight + summaryRowsHeight + horizontalScrollbarHeight;\n\n /**\n * The identity of the wrapper function is stable so it won't break memoization\n */\n const handleColumnResizeLatest = useLatestFunc(handleColumnResize);\n const onColumnsReorderLastest = useLatestFunc(onColumnsReorder);\n const onSortColumnsChangeLatest = useLatestFunc(onSortColumnsChange);\n const onCellClickLatest = useLatestFunc(onCellClick);\n const onCellDoubleClickLatest = useLatestFunc(onCellDoubleClick);\n const onCellContextMenuLatest = useLatestFunc(onCellContextMenu);\n const selectHeaderRowLatest = useLatestFunc(selectHeaderRow);\n const selectRowLatest = useLatestFunc(selectRow);\n const handleFormatterRowChangeLatest = useLatestFunc(updateRow);\n const selectCellLatest = useLatestFunc(selectCell);\n const selectHeaderCellLatest = useLatestFunc(({ idx, rowIdx }: Position) => {\n selectCell({ rowIdx: minRowIdx + rowIdx - 1, idx });\n });\n\n /**\n * effects\n */\n useLayoutEffect(() => {\n if (\n !selectedCellIsWithinSelectionBounds ||\n isSamePosition(selectedPosition, prevSelectedPosition.current)\n ) {\n prevSelectedPosition.current = selectedPosition;\n return;\n }\n\n prevSelectedPosition.current = selectedPosition;\n\n if (selectedPosition.idx === -1) {\n focusSinkRef.current!.focus({ preventScroll: true });\n scrollIntoView(focusSinkRef.current);\n }\n });\n\n useLayoutEffect(() => {\n if (!shouldFocusCellRef.current) return;\n shouldFocusCellRef.current = false;\n focusCellOrCellContent();\n });\n\n useImperativeHandle(ref, () => ({\n element: gridRef.current,\n scrollToCell({ idx, rowIdx }) {\n const scrollToIdx =\n idx !== undefined && idx > lastFrozenColumnIndex && idx < columns.length ? idx : undefined;\n const scrollToRowIdx =\n rowIdx !== undefined && isRowIdxWithinViewportBounds(rowIdx) ? rowIdx : undefined;\n\n if (scrollToIdx !== undefined || scrollToRowIdx !== undefined) {\n setScrollToPosition({ idx: scrollToIdx, rowIdx: scrollToRowIdx });\n }\n },\n selectCell\n }));\n\n /**\n * callbacks\n */\n const setDraggedOverRowIdx = useCallback((rowIdx?: number) => {\n setOverRowIdx(rowIdx);\n latestDraggedOverRowIdx.current = rowIdx;\n }, []);\n\n /**\n * event handlers\n */\n function selectHeaderRow(args: SelectHeaderRowEvent) {\n if (!onSelectedRowsChange) return;\n\n assertIsValidKeyGetter<R, K>(rowKeyGetter);\n\n const newSelectedRows = new Set(selectedRows);\n for (const row of rows) {\n if (isRowSelectionDisabled?.(row) === true) continue;\n const rowKey = rowKeyGetter(row);\n if (args.checked) {\n newSelectedRows.add(rowKey);\n } else {\n newSelectedRows.delete(rowKey);\n }\n }\n onSelectedRowsChange(newSelectedRows);\n }\n\n function selectRow(args: SelectRowEvent<R>) {\n if (!onSelectedRowsChange) return;\n\n assertIsValidKeyGetter<R, K>(rowKeyGetter);\n const { row, checked, isShiftClick } = args;\n if (isRowSelectionDisabled?.(row) === true) return;\n const newSelectedRows = new Set(selectedRows);\n const rowKey = rowKeyGetter(row);\n const previousRowIdx = lastSelectedRowIdx.current;\n const rowIdx = rows.indexOf(row);\n lastSelectedRowIdx.current = rowIdx;\n\n if (checked) {\n newSelectedRows.add(rowKey);\n } else {\n newSelectedRows.delete(rowKey);\n }\n\n if (\n isShiftClick &&\n previousRowIdx !== -1 &&\n previousRowIdx !== rowIdx &&\n previousRowIdx < rows.length\n ) {\n const step = sign(rowIdx - previousRowIdx);\n for (let i = previousRowIdx + step; i !== rowIdx; i += step) {\n const row = rows[i];\n if (isRowSelectionDisabled?.(row) === true) continue;\n if (checked) {\n newSelectedRows.add(rowKeyGetter(row));\n } else {\n newSelectedRows.delete(rowKeyGetter(row));\n }\n }\n }\n\n onSelectedRowsChange(newSelectedRows);\n }\n\n function handleKeyDown(event: KeyboardEvent<HTMLDivElement>) {\n const { idx, rowIdx, mode } = selectedPosition;\n if (mode === 'EDIT') return;\n\n if (onCellKeyDown && isRowIdxWithinViewportBounds(rowIdx)) {\n const row = rows[rowIdx];\n const cellEvent = createCellEvent(event);\n onCellKeyDown(\n {\n mode: 'SELECT',\n row,\n column: columns[idx],\n rowIdx,\n selectCell\n },\n cellEvent\n );\n if (cellEvent.isGridDefaultPrevented()) return;\n }\n if (!(event.target instanceof Element)) return;\n const isCellEvent = event.target.closest('.rdg-cell') !== null;\n const isRowEvent = isTreeGrid && event.target === focusSinkRef.current;\n if (!isCellEvent && !isRowEvent) return;\n\n const { keyCode } = event;\n\n if (\n selectedCellIsWithinViewportBounds &&\n (onPaste != null || onCopy != null) &&\n isCtrlKeyHeldDown(event)\n ) {\n // event.key may differ by keyboard input language, so we use event.keyCode instead\n // event.nativeEvent.code cannot be used either as it would break copy/paste for the DVORAK layout\n const cKey = 67;\n const vKey = 86;\n if (keyCode === cKey) {\n // copy highlighted text only\n if (window.getSelection()?.isCollapsed === false) return;\n handleCopy();\n return;\n }\n if (keyCode === vKey) {\n handlePaste();\n return;\n }\n }\n\n switch (event.key) {\n case 'Escape':\n setCopiedCell(null);\n return;\n case 'ArrowUp':\n case 'ArrowDown':\n case 'ArrowLeft':\n case 'ArrowRight':\n case 'Tab':\n case 'Home':\n case 'End':\n case 'PageUp':\n case 'PageDown':\n navigate(event);\n break;\n default:\n handleCellInput(event);\n break;\n }\n }\n\n function handleScroll(event: React.UIEvent<HTMLDivElement>) {\n const { scrollTop, scrollLeft } = event.currentTarget;\n flushSync(() => {\n setScrollTop(scrollTop);\n // scrollLeft is nagative when direction is rtl\n setScrollLeft(abs(scrollLeft));\n });\n onScroll?.(event);\n }\n\n function updateRow(column: CalculatedColumn<R, SR>, rowIdx: number, row: R) {\n if (typeof onRowsChange !== 'function') return;\n if (row === rows[rowIdx]) return;\n const updatedRows = [...rows];\n updatedRows[rowIdx] = row;\n onRowsChange(updatedRows, {\n indexes: [rowIdx],\n column\n });\n }\n\n function commitEditorChanges() {\n if (selectedPosition.mode !== 'EDIT') return;\n updateRow(columns[selectedPosition.idx], selectedPosition.rowIdx, selectedPosition.row);\n }\n\n function handleCopy() {\n const { idx, rowIdx } = selectedPosition;\n const sourceRow = rows[rowIdx];\n const sourceColumnKey = columns[idx].key;\n setCopiedCell({ row: sourceRow, columnKey: sourceColumnKey });\n onCopy?.({ sourceRow, sourceColumnKey });\n }\n\n function handlePaste() {\n if (!onPaste || !onRowsChange || copiedCell === null || !isCellEditable(selectedPosition)) {\n return;\n }\n\n const { idx, rowIdx } = selectedPosition;\n const targetColumn = columns[idx];\n const targetRow = rows[rowIdx];\n\n const updatedTargetRow = onPaste({\n sourceRow: copiedCell.row,\n sourceColumnKey: copiedCell.columnKey,\n targetRow,\n targetColumnKey: targetColumn.key\n });\n\n updateRow(targetColumn, rowIdx, updatedTargetRow);\n }\n\n function handleCellInput(event: KeyboardEvent<HTMLDivElement>) {\n if (!selectedCellIsWithinViewportBounds) return;\n const row = rows[selectedPosition.rowIdx];\n const { key, shiftKey } = event;\n\n // Select the row on Shift + Space\n if (isSelectable && shiftKey && key === ' ') {\n assertIsValidKeyGetter<R, K>(rowKeyGetter);\n const rowKey = rowKeyGetter(row);\n selectRow({ row, checked: !selectedRows.has(rowKey), isShiftClick: false });\n // do not scroll\n event.preventDefault();\n return;\n }\n\n if (isCellEditable(selectedPosition) && isDefaultCellInput(event)) {\n setSelectedPosition(({ idx, rowIdx }) => ({\n idx,\n rowIdx,\n mode: 'EDIT',\n row,\n originalRow: row\n }));\n }\n }\n\n /**\n * utils\n */\n function isColIdxWithinSelectionBounds(idx: number) {\n return idx >= minColIdx && idx <= maxColIdx;\n }\n\n function isRowIdxWithinViewportBounds(rowIdx: number) {\n return rowIdx >= 0 && rowIdx < rows.length;\n }\n\n function isCellWithinSelectionBounds({ idx, rowIdx }: Position): boolean {\n return rowIdx >= minRowIdx && rowIdx <= maxRowIdx && isColIdxWithinSelectionBounds(idx);\n }\n\n function isCellWithinEditBounds({ idx, rowIdx }: Position): boolean {\n return isRowIdxWithinViewportBounds(rowIdx) && idx >= 0 && idx <= maxColIdx;\n }\n\n function isCellWithinViewportBounds({ idx, rowIdx }: Position): boolean {\n return isRowIdxWithinViewportBounds(rowIdx) && isColIdxWithinSelectionBounds(idx);\n }\n\n function isCellEditable(position: Position): boolean {\n return (\n isCellWithinEditBounds(position) &&\n isSelectedCellEditable({ columns, rows, selectedPosition: position })\n );\n }\n\n function selectCell(position: Position, enableEditor?: Maybe<boolean>): void {\n if (!isCellWithinSelectionBounds(position)) return;\n commitEditorChanges();\n\n const row = rows[position.rowIdx];\n const samePosition = isSamePosition(selectedPosition, position);\n\n if (enableEditor && isCellEditable(position)) {\n setSelectedPosition({ ...position, mode: 'EDIT', row, originalRow: row });\n } else if (samePosition) {\n // Avoid re-renders if the selected cell state is the same\n scrollIntoView(getCellToScroll(gridRef.current!));\n } else {\n shouldFocusCellRef.current = true;\n setSelectedPosition({ ...position, mode: 'SELECT' });\n }\n\n if (onSelectedCellChange && !samePosition) {\n onSelectedCellChange({\n rowIdx: position.rowIdx,\n row,\n column: columns[position.idx]\n });\n }\n }\n\n function getNextPosition(key: string, ctrlKey: boolean, shiftKey: boolean): Position {\n const { idx, rowIdx } = selectedPosition;\n const isRowSelected = selectedCellIsWithinSelectionBounds && idx === -1;\n\n switch (key) {\n case 'ArrowUp':\n return { idx, rowIdx: rowIdx - 1 };\n case 'ArrowDown':\n return { idx, rowIdx: rowIdx + 1 };\n case leftKey:\n return { idx: idx - 1, rowIdx };\n case rightKey:\n return { idx: idx + 1, rowIdx };\n case 'Tab':\n return { idx: idx + (shiftKey ? -1 : 1), rowIdx };\n case 'Home':\n // If row is selected then move focus to the first row\n if (isRowSelected) return { idx, rowIdx: minRowIdx };\n return { idx: 0, rowIdx: ctrlKey ? minRowIdx : rowIdx };\n case 'End':\n // If row is selected then move focus to the last row.\n if (isRowSelected) return { idx, rowIdx: maxRowIdx };\n return { idx: maxColIdx, rowIdx: ctrlKey ? maxRowIdx : rowIdx };\n case 'PageUp': {\n if (selectedPosition.rowIdx === minRowIdx) return selectedPosition;\n const nextRowY = getRowTop(rowIdx) + getRowHeight(rowIdx) - clientHeight;\n return { idx, rowIdx: nextRowY > 0 ? findRowIdx(nextRowY) : 0 };\n }\n case 'PageDown': {\n if (selectedPosition.rowIdx >= rows.length) return selectedPosition;\n const nextRowY = getRowTop(rowIdx) + clientHeight;\n return { idx, rowIdx: nextRowY < totalRowHeight ? findRowIdx(nextRowY) : rows.length - 1 };\n }\n default:\n return selectedPosition;\n }\n }\n\n function navigate(event: KeyboardEvent<HTMLDivElement>) {\n const { key, shiftKey } = event;\n let cellNavigationMode: CellNavigationMode = 'NONE';\n if (key === 'Tab') {\n if (\n canExitGrid({\n shiftKey,\n maxColIdx,\n minRowIdx,\n maxRowIdx,\n selectedPosition\n })\n ) {\n commitEditorChanges();\n // Allow focus to leave the grid so the next control in the tab order can be focused\n return;\n }\n\n cellNavigationMode = 'CHANGE_ROW';\n }\n\n // Do not allow focus to leave and prevent scrolling\n event.preventDefault();\n\n const ctrlKey = isCtrlKeyHeldDown(event);\n const nextPosition = getNextPosition(key, ctrlKey, shiftKey);\n if (isSamePosition(selectedPosition, nextPosition)) return;\n\n const nextSelectedCellPosition = getNextSelectedCellPosition({\n moveUp: key === 'ArrowUp',\n moveNext: key === rightKey || (key === 'Tab' && !shiftKey),\n columns,\n colSpanColumns,\n rows,\n topSummaryRows,\n bottomSummaryRows,\n minRowIdx,\n mainHeaderRowIdx,\n maxRowIdx,\n lastFrozenColumnIndex,\n cellNavigationMode,\n currentPosition: selectedPosition,\n nextPosition,\n isCellWithinBounds: isCellWithinSelectionBounds\n });\n\n selectCell(nextSelectedCellPosition);\n }\n\n function getDraggedOverCellIdx(currentRowIdx: number): number | undefined {\n if (draggedOverRowIdx === undefined) return;\n const { rowIdx } = selectedPosition;\n\n const isDraggedOver =\n rowIdx < draggedOverRowIdx\n ? rowIdx < currentRowIdx && currentRowIdx <= draggedOverRowIdx\n : rowIdx > currentRowIdx && currentRowIdx >= draggedOverRowIdx;\n\n return isDraggedOver ? selectedPosition.idx : undefined;\n }\n\n function focusCellOrCellContent() {\n const cell = getCellToScroll(gridRef.current!);\n if (cell === null) return;\n\n scrollIntoView(cell);\n // Focus cell content when available instead of the cell itself\n const elementToFocus = cell.querySelector<Element & HTMLOrSVGElement>('[tabindex=\"0\"]') ?? cell;\n elementToFocus.focus({ preventScroll: true });\n }\n\n function renderDragHandle() {\n if (\n onFill == null ||\n selectedPosition.mode === 'EDIT' ||\n !isCellWithinViewportBounds(selectedPosition)\n ) {\n return;\n }\n\n const { idx, rowIdx } = selectedPosition;\n const column = columns[idx];\n if (column.renderEditCell == null || column.editable === false) {\n return;\n }\n\n const columnWidth = getColumnWidth(column);\n\n return (\n <DragHandle\n gridRowStart={headerAndTopSummaryRowsCount + rowIdx + 1}\n rows={rows}\n column={column}\n columnWidth={columnWidth}\n maxColIdx={maxColIdx}\n isLastRow={rowIdx === maxRowIdx}\n selectedPosition={selectedPosition}\n isCellEditable={isCellEditable}\n latestDraggedOverRowIdx={latestDraggedOverRowIdx}\n onRowsChange={onRowsChange}\n onClick={focusCellOrCellContent}\n onFill={onFill}\n setDragging={setDragging}\n setDraggedOverRowIdx={setDraggedOverRowIdx}\n />\n );\n }\n\n function getCellEditor(rowIdx: number) {\n if (selectedPosition.rowIdx !== rowIdx || selectedPosition.mode === 'SELECT') return;\n\n const { idx, row } = selectedPosition;\n const column = columns[idx];\n const colSpan = getColSpan(column, lastFrozenColumnIndex, { type: 'ROW', row });\n\n const closeEditor = (shouldFocusCell: boolean) => {\n shouldFocusCellRef.current = shouldFocusCell;\n setSelectedPosition(({ idx, rowIdx }) => ({ idx, rowIdx, mode: 'SELECT' }));\n };\n\n const onRowChange = (row: R, commitChanges: boolean, shouldFocusCell: boolean) => {\n if (commitChanges) {\n // Prevents two issues when editor is closed by clicking on a different cell\n //\n // Otherwise commitEditorChanges may be called before the cell state is changed to\n // SELECT and this results in onRowChange getting called twice.\n flushSync(() => {\n updateRow(column, selectedPosition.rowIdx, row);\n closeEditor(shouldFocusCell);\n });\n } else {\n setSelectedPosition((position) => ({ ...position, row }));\n }\n };\n\n if (rows[selectedPosition.rowIdx] !== selectedPosition.originalRow) {\n // Discard changes if rows are updated from outside\n closeEditor(false);\n }\n\n return (\n <EditCell\n key={column.key}\n column={column}\n colSpan={colSpan}\n row={row}\n rowIdx={rowIdx}\n onRowChange={onRowChange}\n closeEditor={closeEditor}\n onKeyDown={onCellKeyDown}\n navigate={navigate}\n />\n );\n }\n\n function getRowViewportColumns(rowIdx: number) {\n // idx can be -1 if grouping is enabled\n const selectedColumn = selectedPosition.idx === -1 ? undefined : columns[selectedPosition.idx];\n if (\n selectedColumn !== undefined &&\n selectedPosition.rowIdx === rowIdx &&\n !viewportColumns.includes(selectedColumn)\n ) {\n // Add the selected column to viewport columns if the cell is not within the viewport\n return selectedPosition.idx > colOverscanEndIdx\n ? [...viewportColumns, selectedColumn]\n : [\n ...viewportColumns.slice(0, lastFrozenColumnIndex + 1),\n selectedColumn,\n ...viewportColumns.slice(lastFrozenColumnIndex + 1)\n ];\n }\n return viewportColumns;\n }\n\n function getViewportRows() {\n const rowElements: React.ReactNode[] = [];\n\n const { idx: selectedIdx, rowIdx: selectedRowIdx } = selectedPosition;\n\n const startRowIdx =\n selectedCellIsWithinViewportBounds && selectedRowIdx < rowOverscanStartIdx\n ? rowOverscanStartIdx - 1\n : rowOverscanStartIdx;\n const endRowIdx =\n selectedCellIsWithinViewportBounds && selectedRowIdx > rowOverscanEndIdx\n ? rowOverscanEndIdx + 1\n : rowOverscanEndIdx;\n\n for (let viewportRowIdx = startRowIdx; viewportRowIdx <= endRowIdx; viewportRowIdx++) {\n const isRowOutsideViewport =\n viewportRowIdx === rowOverscanStartIdx - 1 || viewportRowIdx === rowOverscanEndIdx + 1;\n const rowIdx = isRowOutsideViewport ? selectedRowIdx : viewportRowIdx;\n\n let rowColumns = viewportColumns;\n const selectedColumn = selectedIdx === -1 ? undefined : columns[selectedIdx];\n if (selectedColumn !== undefined) {\n if (isRowOutsideViewport) {\n // if the row is outside the viewport then only render the selected cell\n rowColumns = [selectedColumn];\n } else {\n // if the row is within the viewport and cell is not, add the selected column to viewport columns\n rowColumns = getRowViewportColumns(rowIdx);\n }\n }\n\n const row = rows[rowIdx];\n const gridRowStart = headerAndTopSummaryRowsCount + rowIdx + 1;\n let key: K | number = rowIdx;\n let isRowSelected = false;\n if (typeof rowKeyGetter === 'function') {\n key = rowKeyGetter(row);\n isRowSelected = selectedRows?.has(key) ?? false;\n }\n\n rowElements.push(\n renderRow(key, {\n // aria-rowindex is 1 based\n 'aria-rowindex': headerAndTopSummaryRowsCount + rowIdx + 1,\n 'aria-selected': isSelectable ? isRowSelected : undefined,\n rowIdx,\n row,\n viewportColumns: rowColumns,\n isRowSelectionDisabled: isRowSelectionDisabled?.(row) ?? false,\n isRowSelected,\n onCellClick: onCellClickLatest,\n onCellDoubleClick: onCellDoubleClickLatest,\n onCellContextMenu: onCellContextMenuLatest,\n rowClass,\n gridRowStart,\n copiedCellIdx:\n copiedCell !== null && copiedCell.row === row\n ? columns.findIndex((c) => c.key === copiedCell.columnKey)\n : undefined,\n\n selectedCellIdx: selectedRowIdx === rowIdx ? selectedIdx : undefined,\n draggedOverCellIdx: getDraggedOverCellIdx(rowIdx),\n setDraggedOverRowIdx: isDragging ? setDraggedOverRowIdx : undefined,\n lastFrozenColumnIndex,\n onRowChange: handleFormatterRowChangeLatest,\n selectCell: selectCellLatest,\n selectedCellEditor: getCellEditor(rowIdx)\n })\n );\n }\n\n return rowElements;\n }\n\n // Reset the positions if the current values are no longer valid. This can happen if a column or row is removed\n if (selectedPosition.idx > maxColIdx || selectedPosition.rowIdx > maxRowIdx) {\n setSelectedPosition({ idx: -1, rowIdx: minRowIdx - 1, mode: 'SELECT' });\n setDraggedOverRowIdx(undefined);\n }\n\n let templateRows = `repeat(${headerRowsCount}, ${headerRowHeight}px)`;\n if (topSummaryRowsCount > 0) {\n templateRows += ` repeat(${topSummaryRowsCount}, ${summaryRowHeight}px)`;\n }\n if (rows.length > 0) {\n templateRows += gridTemplateRows;\n }\n if (bottomSummaryRowsCount > 0) {\n templateRows += ` repeat(${bottomSummaryRowsCount}, ${summaryRowHeight}px)`;\n }\n\n const isGroupRowFocused =\n selectedPosition.idx === -1 && selectedPosition.rowIdx !== minRowIdx - 1;\n\n return (\n <div\n role={role}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n aria-describedby={ariaDescribedBy}\n aria-multiselectable={isSelectable ? true : undefined}\n aria-colcount={columns.length}\n aria-rowcount={ariaRowCount}\n className={clsx(\n rootClassname,\n {\n [viewportDraggingClassname]: isDragging\n },\n className\n )}\n style={\n {\n ...style,\n // set scrollPadding to correctly position non-sticky cells after scrolling\n scrollPaddingInlineStart:\n selectedPosition.idx > lastFrozenColumnIndex || scrollToPosition?.idx !== undefined\n ? `${totalFrozenColumnWidth}px`\n : undefined,\n scrollPaddingBlock:\n isRowIdxWithinViewportBounds(selectedPosition.rowIdx) ||\n scrollToPosition?.rowIdx !== undefined\n ? `${headerRowsHeight + topSummaryRowsCount * summaryRowHeight}px ${\n bottomSummaryRowsCount * summaryRowHeight\n }px`\n : undefined,\n gridTemplateColumns,\n gridTemplateRows: templateRows,\n '--rdg-header-row-height': `${headerRowHeight}px`,\n '--rdg-scroll-height': `${scrollHeight}px`,\n ...layoutCssVars\n } as unknown as React.CSSProperties\n }\n dir={direction}\n ref={gridRef}\n onScroll={handleScroll}\n onKeyDown={handleKeyDown}\n data-testid={testId}\n >\n <DataGridDefaultRenderersProvider value={defaultGridComponents}>\n <HeaderRowSelectionChangeProvider value={selectHeaderRowLatest}>\n <HeaderRowSelectionProvider value={headerSelectionValue}>\n {Array.from({ length: groupedColumnHeaderRowsCount }, (_, index) => (\n <GroupedColumnHeaderRow\n key={index}\n rowIdx={index + 1}\n level={-groupedColumnHeaderRowsCount + index}\n columns={getRowViewportColumns(minRowIdx + index)}\n selectedCellIdx={\n selectedPosition.rowIdx === minRowIdx + index ? selectedPosition.idx : undefined\n }\n selectCell={selectHeaderCellLatest}\n />\n ))}\n <HeaderRow\n rowIdx={headerRowsCount}\n columns={getRowViewportColumns(mainHeaderRowIdx)}\n onColumnResize={handleColumnResizeLatest}\n onColumnsReorder={onColumnsReorderLastest}\n sortColumns={sortColumns}\n onSortColumnsChange={onSortColumnsChangeLatest}\n lastFrozenColumnIndex={lastFrozenColumnIndex}\n selectedCellIdx={\n selectedPosition.rowIdx === mainHeaderRowIdx ? selectedPosition.idx : undefined\n }\n selectCell={selectHeaderCellLatest}\n shouldFocusGrid={!selectedCellIsWithinSelectionBounds}\n direction={direction}\n />\n </HeaderRowSelectionProvider>\n </HeaderRowSelectionChangeProvider>\n {rows.length === 0 && noRowsFallback ? (\n noRowsFallback\n ) : (\n <>\n {topSummaryRows?.map((row, rowIdx) => {\n const gridRowStart = headerRowsCount + 1 + rowIdx;\n const summaryRowIdx = mainHeaderRowIdx + 1 + rowIdx;\n const isSummaryRowSelected = selectedPosition.rowIdx === summaryRowIdx;\n const top = headerRowsHeight + summaryRowHeight * rowIdx;\n\n return (\n <SummaryRow\n key={rowIdx}\n aria-rowindex={gridRowStart}\n rowIdx={summaryRowIdx}\n gridRowStart={gridRowStart}\n row={row}\n top={top}\n bottom={undefined}\n viewportColumns={getRowViewportColumns(summaryRowIdx)}\n lastFrozenColumnIndex={lastFrozenColumnIndex}\n selectedCellIdx={isSummaryRowSelected ? selectedPosition.idx : undefined}\n isTop\n selectCell={selectCellLatest}\n />\n );\n })}\n <RowSelectionChangeProvider value={selectRowLatest}>\n {getViewportRows()}\n </RowSelectionChangeProvider>\n {bottomSummaryRows?.map((row, rowIdx) => {\n const gridRowStart = headerAndTopSummaryRowsCount + rows.length + rowIdx + 1;\n const summaryRowIdx = rows.length + rowIdx;\n const isSummaryRowSelected = selectedPosition.rowIdx === summaryRowIdx;\n const top =\n clientHeight > totalRowHeight\n ? gridHeight - summaryRowHeight * (bottomSummaryRows.length - rowIdx)\n : undefined;\n const bottom =\n top === undefined\n ? summaryRowHeight * (bottomSummaryRows.length - 1 - rowIdx)\n : undefined;\n\n return (\n <SummaryRow\n aria-rowindex={ariaRowCount - bottomSummaryRowsCount + rowIdx + 1}\n key={rowIdx}\n rowIdx={summaryRowIdx}\n gridRowStart={gridRowStart}\n row={row}\n top={top}\n bottom={bottom}\n viewportColumns={getRowViewportColumns(summaryRowIdx)}\n lastFrozenColumnIndex={lastFrozenColumnIndex}\n selectedCellIdx={isSummaryRowSelected ? selectedPosition.idx : undefined}\n isTop={false}\n selectCell={selectCellLatest}\n />\n );\n })}\n </>\n )}\n </DataGridDefaultRenderersProvider>\n\n {renderDragHandle()}\n\n {/* render empty cells that span only 1 column so we can safely measure column widths, regardless of colSpan */}\n {renderMeasuringCells(viewportColumns)}\n\n {/* extra div is needed for row navigation in a treegrid */}\n {isTreeGrid && (\n <div\n ref={focusSinkRef}\n tabIndex={isGroupRowFocused ? 0 : -1}\n className={clsx(focusSinkClassname, {\n [focusSinkHeaderAndSummaryClassname]: !isRowIdxWithinViewportBounds(\n selectedPosition.rowIdx\n ),\n [rowSelected]: isGroupRowFocused,\n [rowSelectedWithFrozenCell]: isGroupRowFocused && lastFrozenColumnIndex !== -1\n })}\n style={{\n gridRowStart: selectedPosition.rowIdx + headerAndTopSummaryRowsCount + 1\n }}\n />\n )}\n\n {scrollToPosition !== null && (\n <ScrollToCell\n scrollToPosition={scrollToPosition}\n setScrollToCellPosition={setScrollToPosition}\n gridElement={gridRef.current!}\n />\n )}\n </div>\n );\n}\n\nfunction getCellToScroll(gridEl: HTMLDivElement) {\n return gridEl.querySelector<HTMLDivElement>(':scope > [role=\"row\"] > [tabindex=\"0\"]');\n}\n\nfunction isSamePosition(p1: Position, p2: Position) {\n return p1.idx === p2.idx && p1.rowIdx === p2.rowIdx;\n}\n\nexport default forwardRef(DataGrid) as <R, SR = unknown, K extends Key = Key>(\n props: DataGridProps<R, SR, K> & RefAttributes<DataGridHandle>\n) => React.JSX.Element;\n", "import { memo } from 'react';\n\nimport { useRovingTabIndex } from './hooks';\nimport { getCellClassname, getCellStyle } from './utils';\nimport type { CalculatedColumn, GroupRow } from './types';\n\ninterface GroupCellProps<R, SR> {\n id: string;\n groupKey: unknown;\n childRows: readonly R[];\n toggleGroup: (expandedGroupId: unknown) => void;\n isExpanded: boolean;\n column: CalculatedColumn<R, SR>;\n row: GroupRow<R>;\n isCellSelected: boolean;\n groupColumnIndex: number;\n isGroupByColumn: boolean;\n}\n\nfunction GroupCell<R, SR>({\n id,\n groupKey,\n childRows,\n isExpanded,\n isCellSelected,\n column,\n row,\n groupColumnIndex,\n isGroupByColumn,\n toggleGroup: toggleGroupWrapper\n}: GroupCellProps<R, SR>) {\n const { tabIndex, childTabIndex, onFocus } = useRovingTabIndex(isCellSelected);\n\n function toggleGroup() {\n toggleGroupWrapper(id);\n }\n\n // Only make the cell clickable if the group level matches\n const isLevelMatching = isGroupByColumn && groupColumnIndex === column.idx;\n\n return (\n <div\n role=\"gridcell\"\n aria-colindex={column.idx + 1}\n aria-selected={isCellSelected}\n tabIndex={tabIndex}\n key={column.key}\n className={getCellClassname(column)}\n style={{\n ...getCellStyle(column),\n cursor: isLevelMatching ? 'pointer' : 'default'\n }}\n onClick={isLevelMatching ? toggleGroup : undefined}\n onFocus={onFocus}\n >\n {(!isGroupByColumn || isLevelMatching) &&\n column.renderGroupCell?.({\n groupKey,\n childRows,\n column,\n row,\n isExpanded,\n tabIndex: childTabIndex,\n toggleGroup\n })}\n </div>\n );\n}\n\nexport default memo(GroupCell) as <R, SR>(props: GroupCellProps<R, SR>) => React.JSX.Element;\n", "import { memo, useMemo } from 'react';\nimport { css } from '@linaria/core';\nimport clsx from 'clsx';\n\nimport { RowSelectionProvider, type RowSelectionContextValue } from './hooks';\nimport { getRowStyle } from './utils';\nimport type { BaseRenderRowProps, GroupRow } from './types';\nimport { SELECT_COLUMN_KEY } from './Columns';\nimport GroupCell from './GroupCell';\nimport { cell, cellFrozen } from './style/cell';\nimport { rowClassname, rowSelectedClassname } from './style/row';\n\nconst groupRow = css`\n @layer rdg.GroupedRow {\n &:not([aria-selected='true']) {\n background-color: var(--rdg-header-background-color);\n }\n\n > .${cell}:not(:last-child, .${cellFrozen}),\n > :nth-last-child(n + 2 of .${cellFrozen}) {\n border-inline-end: none;\n }\n }\n`;\n\nconst groupRowClassname = `rdg-group-row ${groupRow}`;\n\ninterface GroupRowRendererProps<R, SR> extends BaseRenderRowProps<R, SR> {\n row: GroupRow<R>;\n groupBy: readonly string[];\n toggleGroup: (expandedGroupId: unknown) => void;\n}\n\nfunction GroupedRow<R, SR>({\n className,\n row,\n rowIdx,\n viewportColumns,\n selectedCellIdx,\n isRowSelected,\n selectCell,\n gridRowStart,\n groupBy,\n toggleGroup,\n isRowSelectionDisabled,\n ...props\n}: GroupRowRendererProps<R, SR>) {\n // Select is always the first column\n const idx = viewportColumns[0].key === SELECT_COLUMN_KEY ? row.level + 1 : row.level;\n\n function handleSelectGroup() {\n selectCell({ rowIdx, idx: -1 });\n }\n\n const selectionValue = useMemo(\n (): RowSelectionContextValue => ({ isRowSelectionDisabled: false, isRowSelected }),\n [isRowSelected]\n );\n\n return (\n <RowSelectionProvider value={selectionValue}>\n <div\n role=\"row\"\n aria-level={row.level + 1} // aria-level is 1-based\n aria-setsize={row.setSize}\n aria-posinset={row.posInSet + 1} // aria-posinset is 1-based\n aria-expanded={row.isExpanded}\n className={clsx(\n rowClassname,\n groupRowClassname,\n `rdg-row-${rowIdx % 2 === 0 ? 'even' : 'odd'}`,\n selectedCellIdx === -1 && rowSelectedClassname,\n className\n )}\n onClick={handleSelectGroup}\n style={getRowStyle(gridRowStart)}\n {...props}\n >\n {viewportColumns.map((column) => (\n <GroupCell\n key={column.key}\n id={row.id}\n groupKey={row.groupKey}\n childRows={row.childRows}\n isExpanded={row.isExpanded}\n isCellSelected={selectedCellIdx === column.idx}\n column={column}\n row={row}\n groupColumnIndex={idx}\n toggleGroup={toggleGroup}\n isGroupByColumn={groupBy.includes(column.key)}\n />\n ))}\n </div>\n </RowSelectionProvider>\n );\n}\n\nexport default memo(GroupedRow) as <R, SR>(\n props: GroupRowRendererProps<R, SR>\n) => React.JSX.Element;\n", "import { forwardRef, useCallback, useMemo } from 'react';\nimport type { Key, RefAttributes } from 'react';\n\nimport { useLatestFunc } from './hooks';\nimport { assertIsValidKeyGetter, isCtrlKeyHeldDown } from './utils';\nimport type {\n CellKeyboardEvent,\n CellKeyDownArgs,\n Column,\n GroupRow,\n Maybe,\n Omit,\n RenderRowProps,\n RowHeightArgs,\n RowsChangeData\n} from './types';\nimport { renderToggleGroup } from './cellRenderers';\nimport { SELECT_COLUMN_KEY } from './Columns';\nimport DataGrid from './DataGrid';\nimport type { DataGridHandle, DataGridProps } from './DataGrid';\nimport { useDefaultRenderers } from './DataGridDefaultRenderersProvider';\nimport GroupedRow from './GroupRow';\nimport { defaultRenderRow } from './Row';\n\nexport interface TreeDataGridProps<R, SR = unknown, K extends Key = Key>\n extends Omit<\n DataGridProps<R, SR, K>,\n 'columns' | 'role' | 'aria-rowcount' | 'rowHeight' | 'onFill' | 'isRowSelectionDisabled'\n > {\n columns: readonly Column<NoInfer<R>, NoInfer<SR>>[];\n rowHeight?: Maybe<number | ((args: RowHeightArgs<NoInfer<R>>) => number)>;\n groupBy: readonly string[];\n rowGrouper: (\n rows: readonly NoInfer<R>[],\n columnKey: string\n ) => Record<string, readonly NoInfer<R>[]>;\n expandedGroupIds: ReadonlySet<unknown>;\n onExpandedGroupIdsChange: (expandedGroupIds: Set<unknown>) => void;\n}\n\ntype GroupByDictionary<TRow> = Record<\n string,\n {\n readonly childRows: readonly TRow[];\n readonly childGroups: readonly TRow[] | Readonly<GroupByDictionary<TRow>>;\n readonly startRowIndex: number;\n }\n>;\n\nfunction TreeDataGrid<R, SR, K extends Key>(\n {\n columns: rawColumns,\n rows: rawRows,\n rowHeight: rawRowHeight,\n rowKeyGetter: rawRowKeyGetter,\n onCellKeyDown: rawOnCellKeyDown,\n onRowsChange,\n selectedRows: rawSelectedRows,\n onSelectedRowsChange: rawOnSelectedRowsChange,\n renderers,\n groupBy: rawGroupBy,\n rowGrouper,\n expandedGroupIds,\n onExpandedGroupIdsChange,\n ...props\n }: TreeDataGridProps<R, SR, K>,\n ref: React.Ref<DataGridHandle>\n) {\n const defaultRenderers = useDefaultRenderers<R, SR>();\n const rawRenderRow = renderers?.renderRow ?? defaultRenderers?.renderRow ?? defaultRenderRow;\n const headerAndTopSummaryRowsCount = 1 + (props.topSummaryRows?.length ?? 0);\n const isRtl = props.direction === 'rtl';\n const leftKey = isRtl ? 'ArrowRight' : 'ArrowLeft';\n const rightKey = isRtl ? 'ArrowLeft' : 'ArrowRight';\n const toggleGroupLatest = useLatestFunc(toggleGroup);\n\n const { columns, groupBy } = useMemo(() => {\n const columns = [...rawColumns].sort(({ key: aKey }, { key: bKey }) => {\n // Sort select column first:\n if (aKey === SELECT_COLUMN_KEY) return -1;\n if (bKey === SELECT_COLUMN_KEY) return 1;\n\n // Sort grouped columns second, following the groupBy order:\n if (rawGroupBy.includes(aKey)) {\n if (rawGroupBy.includes(bKey)) {\n return rawGroupBy.indexOf(aKey) - rawGroupBy.indexOf(bKey);\n }\n return -1;\n }\n if (rawGroupBy.includes(bKey)) return 1;\n\n // Sort other columns last:\n return 0;\n });\n\n const groupBy: string[] = [];\n for (const [index, column] of columns.entries()) {\n if (rawGroupBy.includes(column.key)) {\n groupBy.push(column.key);\n columns[index] = {\n ...column,\n frozen: true,\n renderCell: () => null,\n renderGroupCell: column.renderGroupCell ?? renderToggleGroup,\n editable: false\n };\n }\n }\n\n return { columns, groupBy };\n }, [rawColumns, rawGroupBy]);\n\n const [groupedRows, rowsCount] = useMemo(() => {\n if (groupBy.length === 0) return [undefined, rawRows.length];\n\n const groupRows = (\n rows: readonly R[],\n [groupByKey, ...remainingGroupByKeys]: readonly string[],\n startRowIndex: number\n ): [Readonly<GroupByDictionary<R>>, number] => {\n let groupRowsCount = 0;\n const groups: GroupByDictionary<R> = {};\n for (const [key, childRows] of Object.entries(rowGrouper(rows, groupByKey))) {\n // Recursively group each parent group\n const [childGroups, childRowsCount] =\n remainingGroupByKeys.length === 0\n ? [childRows, childRows.length]\n : groupRows(childRows, remainingGroupByKeys, startRowIndex + groupRowsCount + 1); // 1 for parent row\n groups[key] = { childRows, childGroups, startRowIndex: startRowIndex + groupRowsCount };\n groupRowsCount += childRowsCount + 1; // 1 for parent row\n }\n\n return [groups, groupRowsCount];\n };\n\n return groupRows(rawRows, groupBy, 0);\n }, [groupBy, rowGrouper, rawRows]);\n\n const [rows, isGroupRow] = useMemo((): [\n ReadonlyArray<R | GroupRow<R>>,\n (row: R | GroupRow<R>) => row is GroupRow<R>\n ] => {\n const allGroupRows = new Set<unknown>();\n if (!groupedRows) return [rawRows, isGroupRow];\n\n const flattenedRows: Array<R | GroupRow<R>> = [];\n const expandGroup = (\n rows: GroupByDictionary<R> | readonly R[],\n parentId: string | undefined,\n level: number\n ): void => {\n if (isReadonlyArray(rows)) {\n flattenedRows.push(...rows);\n return;\n }\n Object.keys(rows).forEach((groupKey, posInSet, keys) => {\n // TODO: should users have control over the generated key?\n const id = parentId !== undefined ? `${parentId}__${groupKey}` : groupKey;\n const isExpanded = expandedGroupIds.has(id);\n const { childRows, childGroups, startRowIndex } = rows[groupKey];\n\n const groupRow: GroupRow<R> = {\n id,\n parentId,\n groupKey,\n isExpanded,\n childRows,\n level,\n posInSet,\n startRowIndex,\n setSize: keys.length\n };\n flattenedRows.push(groupRow);\n allGroupRows.add(groupRow);\n\n if (isExpanded) {\n expandGroup(childGroups, id, level + 1);\n }\n });\n };\n\n expandGroup(groupedRows, undefined, 0);\n return [flattenedRows, isGroupRow];\n\n function isGroupRow(row: R | GroupRow<R>): row is GroupRow<R> {\n return allGroupRows.has(row);\n }\n }, [expandedGroupIds, groupedRows, rawRows]);\n\n const rowHeight = useMemo(() => {\n if (typeof rawRowHeight === 'function') {\n return (row: R | GroupRow<R>): number => {\n if (isGroupRow(row)) {\n return rawRowHeight({ type: 'GROUP', row });\n }\n return rawRowHeight({ type: 'ROW', row });\n };\n }\n\n return rawRowHeight;\n }, [isGroupRow, rawRowHeight]);\n\n const getParentRowAndIndex = useCallback(\n (row: R | GroupRow<R>) => {\n const rowIdx = rows.indexOf(row);\n for (let i = rowIdx - 1; i >= 0; i--) {\n const parentRow = rows[i];\n if (isGroupRow(parentRow) && (!isGroupRow(row) || row.parentId === parentRow.id)) {\n return [parentRow, i] as const;\n }\n }\n\n return undefined;\n },\n [isGroupRow, rows]\n );\n\n const rowKeyGetter = useCallback(\n (row: R | GroupRow<R>) => {\n if (isGroupRow(row)) {\n return row.id;\n }\n\n if (typeof rawRowKeyGetter === 'function') {\n return rawRowKeyGetter(row);\n }\n\n const parentRowAndIndex = getParentRowAndIndex(row);\n if (parentRowAndIndex !== undefined) {\n const { startRowIndex, childRows } = parentRowAndIndex[0];\n const groupIndex = childRows.indexOf(row);\n return startRowIndex + groupIndex + 1;\n }\n\n return rows.indexOf(row);\n },\n [getParentRowAndIndex, isGroupRow, rawRowKeyGetter, rows]\n );\n\n const selectedRows = useMemo((): Maybe<ReadonlySet<Key>> => {\n if (rawSelectedRows == null) return null;\n\n assertIsValidKeyGetter<R, K>(rawRowKeyGetter);\n\n const selectedRows = new Set<Key>(rawSelectedRows);\n for (const row of rows) {\n if (isGroupRow(row)) {\n // select parent row if all the children are selected\n const isGroupRowSelected = row.childRows.every((cr) =>\n rawSelectedRows.has(rawRowKeyGetter(cr))\n );\n if (isGroupRowSelected) {\n selectedRows.add(row.id);\n }\n }\n }\n\n return selectedRows;\n }, [isGroupRow, rawRowKeyGetter, rawSelectedRows, rows]);\n\n function onSelectedRowsChange(newSelectedRows: Set<Key>) {\n if (!rawOnSelectedRowsChange) return;\n\n assertIsValidKeyGetter<R, K>(rawRowKeyGetter);\n\n const newRawSelectedRows = new Set(rawSelectedRows);\n for (const row of rows) {\n const key = rowKeyGetter(row);\n if (selectedRows?.has(key) && !newSelectedRows.has(key)) {\n if (isGroupRow(row)) {\n // select all children if the parent row is selected\n for (const cr of row.childRows) {\n newRawSelectedRows.delete(rawRowKeyGetter(cr));\n }\n } else {\n newRawSelectedRows.delete(key as K);\n }\n } else if (!selectedRows?.has(key) && newSelectedRows.has(key)) {\n if (isGroupRow(row)) {\n // unselect all children if the parent row is unselected\n for (const cr of row.childRows) {\n newRawSelectedRows.add(rawRowKeyGetter(cr));\n }\n } else {\n newRawSelectedRows.add(key as K);\n }\n }\n }\n\n rawOnSelectedRowsChange(newRawSelectedRows);\n }\n\n function handleKeyDown(args: CellKeyDownArgs<R, SR>, event: CellKeyboardEvent) {\n rawOnCellKeyDown?.(args, event);\n if (event.isGridDefaultPrevented()) return;\n\n if (args.mode === 'EDIT') return;\n const { column, rowIdx, selectCell } = args;\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n const idx = column?.idx ?? -1;\n const row = rows[rowIdx];\n\n if (!isGroupRow(row)) return;\n if (\n idx === -1 &&\n // Collapse the current group row if it is focused and is in expanded state\n ((event.key === leftKey && row.isExpanded) ||\n // Expand the current group row if it is focused and is in collapsed state\n (event.key === rightKey && !row.isExpanded))\n ) {\n event.preventDefault(); // Prevents scrolling\n event.preventGridDefault();\n toggleGroup(row.id);\n }\n\n // If a group row is focused, and it is collapsed, move to the parent group row (if there is one).\n if (idx === -1 && event.key === leftKey && !row.isExpanded && row.level !== 0) {\n const parentRowAndIndex = getParentRowAndIndex(row);\n if (parentRowAndIndex !== undefined) {\n event.preventGridDefault();\n selectCell({ idx, rowIdx: parentRowAndIndex[1] });\n }\n }\n\n // Prevent copy/paste on group rows\n if (isCtrlKeyHeldDown(event) && (event.keyCode === 67 || event.keyCode === 86)) {\n event.preventGridDefault();\n }\n }\n\n function handleRowsChange(updatedRows: R[], { indexes, column }: RowsChangeData<R, SR>) {\n if (!onRowsChange) return;\n const updatedRawRows = [...rawRows];\n const rawIndexes: number[] = [];\n for (const index of indexes) {\n const rawIndex = rawRows.indexOf(rows[index] as R);\n updatedRawRows[rawIndex] = updatedRows[index];\n rawIndexes.push(rawIndex);\n }\n onRowsChange(updatedRawRows, {\n indexes: rawIndexes,\n column\n });\n }\n\n function toggleGroup(groupId: unknown) {\n const newExpandedGroupIds = new Set(expandedGroupIds);\n if (newExpandedGroupIds.has(groupId)) {\n newExpandedGroupIds.delete(groupId);\n } else {\n newExpandedGroupIds.add(groupId);\n }\n onExpandedGroupIdsChange(newExpandedGroupIds);\n }\n\n function renderRow(\n key: Key,\n {\n row,\n rowClass,\n onCellClick,\n onCellDoubleClick,\n onCellContextMenu,\n onRowChange,\n lastFrozenColumnIndex,\n copiedCellIdx,\n draggedOverCellIdx,\n setDraggedOverRowIdx,\n selectedCellEditor,\n ...rowProps\n }: RenderRowProps<R, SR>\n ) {\n if (isGroupRow(row)) {\n const { startRowIndex } = row;\n return (\n <GroupedRow\n key={key}\n {...rowProps}\n aria-rowindex={headerAndTopSummaryRowsCount + startRowIndex + 1}\n row={row}\n groupBy={groupBy}\n toggleGroup={toggleGroupLatest}\n />\n );\n }\n\n let ariaRowIndex = rowProps['aria-rowindex'];\n const parentRowAndIndex = getParentRowAndIndex(row);\n if (parentRowAndIndex !== undefined) {\n const { startRowIndex, childRows } = parentRowAndIndex[0];\n const groupIndex = childRows.indexOf(row);\n ariaRowIndex = startRowIndex + headerAndTopSummaryRowsCount + groupIndex + 2;\n }\n\n return rawRenderRow(key, {\n ...rowProps,\n 'aria-rowindex': ariaRowIndex,\n row,\n rowClass,\n onCellClick,\n onCellDoubleClick,\n onCellContextMenu,\n onRowChange,\n lastFrozenColumnIndex,\n copiedCellIdx,\n draggedOverCellIdx,\n setDraggedOverRowIdx,\n selectedCellEditor\n });\n }\n\n return (\n <DataGrid<R, SR, Key>\n {...props}\n role=\"treegrid\"\n aria-rowcount={\n rowsCount + 1 + (props.topSummaryRows?.length ?? 0) + (props.bottomSummaryRows?.length ?? 0)\n }\n ref={ref}\n columns={columns}\n rows={rows as R[]} // TODO: check types\n rowHeight={rowHeight}\n rowKeyGetter={rowKeyGetter}\n onRowsChange={handleRowsChange}\n selectedRows={selectedRows}\n onSelectedRowsChange={onSelectedRowsChange}\n onCellKeyDown={handleKeyDown}\n renderers={{\n ...renderers,\n renderRow\n }}\n />\n );\n}\n\nfunction isReadonlyArray(arr: unknown): arr is readonly unknown[] {\n return Array.isArray(arr);\n}\n\nexport default forwardRef(TreeDataGrid) as <R, SR = unknown, K extends Key = Key>(\n props: TreeDataGridProps<R, SR, K> & RefAttributes<DataGridHandle>\n) => React.JSX.Element;\n", "import { css } from '@linaria/core';\n\nimport type { RenderEditCellProps } from '../types';\n\nconst textEditorInternalClassname = css`\n @layer rdg.TextEditor {\n appearance: none;\n\n box-sizing: border-box;\n inline-size: 100%;\n block-size: 100%;\n padding-block: 0;\n padding-inline: 6px;\n border: 2px solid #ccc;\n vertical-align: top;\n color: var(--rdg-color);\n background-color: var(--rdg-background-color);\n\n font-family: inherit;\n font-size: var(--rdg-font-size);\n\n &:focus {\n border-color: var(--rdg-selection-color);\n outline: none;\n }\n\n &::placeholder {\n color: #999;\n opacity: 1;\n }\n }\n`;\n\nexport const textEditorClassname = `rdg-text-editor ${textEditorInternalClassname}`;\n\nfunction autoFocusAndSelect(input: HTMLInputElement | null) {\n input?.focus();\n input?.select();\n}\n\nexport default function textEditor<TRow, TSummaryRow>({\n row,\n column,\n onRowChange,\n onClose\n}: RenderEditCellProps<TRow, TSummaryRow>) {\n return (\n <input\n className={textEditorClassname}\n ref={autoFocusAndSelect}\n value={row[column.key as keyof TRow] as unknown as string}\n onChange={(event) => onRowChange({ ...row, [column.key]: event.target.value })}\n onBlur={() => onClose(true, false)}\n />\n );\n}\n", "import React from \"react\";\nimport { Widget } from \"@hpcc-js/common\";\n\nexport function useData(widget: Widget): [string[], Array<string | number>[]] {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const columns: string[] = React.useMemo(() => widget.columns(), [widget, widget.dataChecksum()]);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const data: Array<string | number>[] = React.useMemo(() => widget.data(), [widget, widget.dataChecksum()]);\n\n return [columns, data];\n}\n", "(function(){\n if (!document.getElementById('acd94ec7')) {\n var e = document.createElement('style');\n e.id = 'acd94ec7';\n e.textContent = `@layer rdg {\n @layer Defaults,\n FocusSink,\n CheckboxInput,\n CheckboxIcon,\n CheckboxLabel,\n Cell,\n HeaderCell,\n SummaryCell,\n EditCell,\n Row,\n HeaderRow,\n SummaryRow,\n GroupedRow,\n Root;\n}\n\n.mlln6zg7-0-0-beta-47 {\n @layer rdg.MeasuringCell {\n contain: strict;\n grid-row: 1;\n visibility: hidden;\n }\n}\n\n\n.cj343x07-0-0-beta-47 {\n @layer rdg.Cell {\n /* max-content does not work with size containment\n * dynamically switching between different containment styles incurs a heavy relayout penalty\n * Chromium bug: at odd zoom levels or subpixel positioning,\n * layout/paint/style containment can make cell borders disappear\n * https://bugs.chromium.org/p/chromium/issues/detail?id=1326946\n */\n position: relative; /* needed for absolute positioning to work */\n padding-block: 0;\n padding-inline: 8px;\n border-inline-end: 1px solid var(--rdg-border-color);\n border-block-end: 1px solid var(--rdg-border-color);\n grid-row-start: var(--rdg-grid-row-start);\n align-content: center;\n background-color: inherit;\n\n white-space: nowrap;\n overflow: clip;\n text-overflow: ellipsis;\n outline: none;\n\n &[aria-selected='true'] {\n outline: 2px solid var(--rdg-selection-color);\n outline-offset: -2px;\n }\n }\n}\n\n.csofj7r7-0-0-beta-47 {\n @layer rdg.Cell {\n position: sticky;\n /* Should have a higher value than 0 to show up above unfrozen cells */\n z-index: 1;\n\n /* Add box-shadow on the last frozen cell */\n &:nth-last-child(1 of &) {\n box-shadow: var(--rdg-cell-frozen-box-shadow);\n }\n }\n}\n\n\n.c1bn88vv7-0-0-beta-47 {\n @layer rdg.CheckboxInput {\n display: block;\n margin: auto;\n inline-size: 20px;\n block-size: 20px;\n\n &:focus-visible {\n outline: 2px solid var(--rdg-checkbox-focus-color);\n outline-offset: -3px;\n }\n\n &:enabled {\n cursor: pointer;\n }\n }\n}\n\n\n.g1s9ylgp7-0-0-beta-47 {\n @layer rdg.GroupCellContent {\n outline: none;\n }\n}\n\n.cz54e4y7-0-0-beta-47 {\n @layer rdg.GroupCellCaret {\n margin-inline-start: 4px;\n stroke: currentColor;\n stroke-width: 1.5px;\n fill: transparent;\n vertical-align: middle;\n\n > path {\n transition: d 0.1s;\n }\n }\n}\n\n\n.c1w9bbhr7-0-0-beta-47 {\n @layer rdg.DragHandle {\n --rdg-drag-handle-size: 8px;\n z-index: 0;\n cursor: move;\n inline-size: var(--rdg-drag-handle-size);\n block-size: var(--rdg-drag-handle-size);\n background-color: var(--rdg-selection-color);\n place-self: end;\n\n &:hover {\n --rdg-drag-handle-size: 16px;\n border: 2px solid var(--rdg-selection-color);\n background-color: var(--rdg-background-color);\n }\n }\n}\n\n.c1creorc7-0-0-beta-47 {\n @layer rdg.DragHandle {\n z-index: 1;\n position: sticky;\n }\n}\n\n\n.cis5rrm7-0-0-beta-47 {\n @layer rdg.EditCell {\n padding: 0;\n }\n}\n\n\n.h44jtk67-0-0-beta-47 {\n @layer rdg.SortableHeaderCell {\n display: flex;\n }\n}\n\n.hcgkhxz7-0-0-beta-47 {\n @layer rdg.SortableHeaderCellName {\n flex-grow: 1;\n overflow: clip;\n text-overflow: ellipsis;\n }\n}\n\n\n.c6l2wv17-0-0-beta-47 {\n @layer rdg.HeaderCell {\n cursor: pointer;\n }\n}\n\n.c1kqdw7y7-0-0-beta-47 {\n @layer rdg.HeaderCell {\n touch-action: none;\n }\n}\n\n.r1y6ywlx7-0-0-beta-47 {\n @layer rdg.HeaderCell {\n cursor: col-resize;\n position: absolute;\n inset-block-start: 0;\n inset-inline-end: 0;\n inset-block-end: 0;\n inline-size: 10px;\n }\n}\n\n.c1bezg5o7-0-0-beta-47 {\n opacity: 0.5;\n}\n\n.c1vc96037-0-0-beta-47 {\n background-color: var(--rdg-header-draggable-background-color);\n}\n\n\n.r1upfr807-0-0-beta-47 {\n @layer rdg.Row {\n display: contents;\n background-color: var(--rdg-background-color);\n\n &:hover {\n background-color: var(--rdg-row-hover-background-color);\n }\n\n &[aria-selected='true'] {\n background-color: var(--rdg-row-selected-background-color);\n\n &:hover {\n background-color: var(--rdg-row-selected-hover-background-color);\n }\n }\n }\n}\n\n.r190mhd37-0-0-beta-47 {\n @layer rdg.FocusSink {\n outline: 2px solid var(--rdg-selection-color);\n outline-offset: -2px;\n }\n}\n\n.r139qu9m7-0-0-beta-47 {\n @layer rdg.FocusSink {\n &::before {\n content: '';\n display: inline-block;\n block-size: 100%;\n position: sticky;\n inset-inline-start: 0;\n border-inline-start: 2px solid var(--rdg-selection-color);\n }\n }\n}\n\n\n.h10tskcx7-0-0-beta-47 {\n @layer rdg.HeaderRow {\n display: contents;\n background-color: var(--rdg-header-background-color);\n font-weight: bold;\n\n & > .cj343x07-0-0-beta-47 {\n /* Should have a higher value than 1 to show up above regular cells and the focus sink */\n z-index: 2;\n position: sticky;\n }\n\n & > .csofj7r7-0-0-beta-47 {\n z-index: 3;\n }\n }\n}\n\n\n.c6ra8a37-0-0-beta-47 {\n @layer rdg.Cell {\n background-color: #ccccff;\n }\n}\n\n.cq910m07-0-0-beta-47 {\n @layer rdg.Cell {\n background-color: #ccccff;\n\n &.c6ra8a37-0-0-beta-47 {\n background-color: #9999ff;\n }\n }\n}\n\n\n.a3ejtar7-0-0-beta-47 {\n @layer rdg.SortIcon {\n fill: currentColor;\n\n > path {\n transition: d 0.1s;\n }\n }\n}\n\n\n.rnvodz57-0-0-beta-47 {\n @layer rdg.Defaults {\n *,\n *::before,\n *::after {\n box-sizing: inherit;\n }\n }\n\n @layer rdg.Root {\n --rdg-color: #000; --rdg-border-color: #ddd; --rdg-summary-border-color: #aaa; --rdg-background-color: hsl(0deg 0% 100%); --rdg-header-background-color: hsl(0deg 0% 97.5%); --rdg-header-draggable-background-color: hsl(0deg 0% 90.5%); --rdg-row-hover-background-color: hsl(0deg 0% 96%); --rdg-row-selected-background-color: hsl(207deg 76% 92%); --rdg-row-selected-hover-background-color: hsl(207deg 76% 88%); --rdg-checkbox-focus-color: hsl(207deg 100% 69%);\n --rdg-selection-color: #66afe9;\n --rdg-font-size: 14px;\n --rdg-cell-frozen-box-shadow: 2px 0 5px -2px rgba(136, 136, 136, 0.3);\n\n &:dir(rtl) {\n --rdg-cell-frozen-box-shadow: -2px 0 5px -2px rgba(136, 136, 136, 0.3);\n }\n\n display: grid;\n\n color-scheme: var(--rdg-color-scheme, light dark);\n accent-color: light-dark(hsl(207deg 100% 29%), hsl(207deg 100% 79%));\n\n /* https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Positioning/Understanding_z_index/The_stacking_context */\n /* We set a stacking context so internal elements don't render on top of external elements. */\n /* size containment is not used as it could break \"width: min-content\" for example, and the grid would infinitely resize on Chromium browsers */\n contain: content;\n content-visibility: auto;\n block-size: 350px;\n border: 1px solid var(--rdg-border-color);\n box-sizing: border-box;\n overflow: auto;\n background-color: var(--rdg-background-color);\n color: var(--rdg-color);\n font-size: var(--rdg-font-size);\n\n /* needed on Firefox to fix scrollbars */\n &::before {\n content: '';\n grid-column: 1/-1;\n grid-row: 1/-1;\n }\n\n &.rdg-dark {\n --rdg-color-scheme: dark;\n --rdg-color: #ddd; --rdg-border-color: #444; --rdg-summary-border-color: #555; --rdg-background-color: hsl(0deg 0% 13%); --rdg-header-background-color: hsl(0deg 0% 10.5%); --rdg-header-draggable-background-color: hsl(0deg 0% 17.5%); --rdg-row-hover-background-color: hsl(0deg 0% 9%); --rdg-row-selected-background-color: hsl(207deg 76% 42%); --rdg-row-selected-hover-background-color: hsl(207deg 76% 38%); --rdg-checkbox-focus-color: hsl(207deg 100% 89%);\n }\n\n &.rdg-light {\n --rdg-color-scheme: light;\n }\n\n @media (prefers-color-scheme: dark) {\n &:not(.rdg-light) {\n --rdg-color: #ddd; --rdg-border-color: #444; --rdg-summary-border-color: #555; --rdg-background-color: hsl(0deg 0% 13%); --rdg-header-background-color: hsl(0deg 0% 10.5%); --rdg-header-draggable-background-color: hsl(0deg 0% 17.5%); --rdg-row-hover-background-color: hsl(0deg 0% 9%); --rdg-row-selected-background-color: hsl(207deg 76% 42%); --rdg-row-selected-hover-background-color: hsl(207deg 76% 38%); --rdg-checkbox-focus-color: hsl(207deg 100% 89%);\n }\n }\n\n > :nth-last-child(1 of .rdg-top-summary-row) {\n > .cj343x07-0-0-beta-47 {\n border-block-end: 2px solid var(--rdg-summary-border-color);\n }\n }\n\n > :nth-child(1 of .rdg-bottom-summary-row) {\n > .cj343x07-0-0-beta-47 {\n border-block-start: 2px solid var(--rdg-summary-border-color);\n }\n }\n }\n}\n\n.vlqv91k7-0-0-beta-47 {\n @layer rdg.Root {\n user-select: none;\n\n & .r1upfr807-0-0-beta-47 {\n cursor: move;\n }\n }\n}\n\n.f1lsfrzw7-0-0-beta-47 {\n @layer rdg.FocusSink {\n grid-column: 1/-1;\n pointer-events: none;\n /* Should have a higher value than 1 to show up above regular frozen cells */\n z-index: 1;\n }\n}\n\n.f1cte0lg7-0-0-beta-47 {\n @layer rdg.FocusSink {\n /* Should have a higher value than 3 to show up above header and summary rows */\n z-index: 3;\n }\n}\n\n\n.s8wc6fl7-0-0-beta-47 {\n @layer rdg.SummaryCell {\n inset-block-start: var(--rdg-summary-row-top);\n inset-block-end: var(--rdg-summary-row-bottom);\n }\n}\n\n\n.skuhp557-0-0-beta-47 {\n @layer rdg.SummaryRow {\n > .cj343x07-0-0-beta-47 {\n position: sticky;\n }\n }\n}\n\n.tf8l5ub7-0-0-beta-47 {\n @layer rdg.SummaryRow {\n > .cj343x07-0-0-beta-47 {\n z-index: 2;\n }\n\n > .csofj7r7-0-0-beta-47 {\n z-index: 3;\n }\n }\n}\n\n\n.g1yxluv37-0-0-beta-47 {\n @layer rdg.GroupedRow {\n &:not([aria-selected='true']) {\n background-color: var(--rdg-header-background-color);\n }\n\n > .cj343x07-0-0-beta-47:not(:last-child, .csofj7r7-0-0-beta-47),\n > :nth-last-child(n + 2 of .csofj7r7-0-0-beta-47) {\n border-inline-end: none;\n }\n }\n}\n\n\n.t7vyx3i7-0-0-beta-47 {\n @layer rdg.TextEditor {\n appearance: none;\n\n box-sizing: border-box;\n inline-size: 100%;\n block-size: 100%;\n padding-block: 0;\n padding-inline: 6px;\n border: 2px solid #ccc;\n vertical-align: top;\n color: var(--rdg-color);\n background-color: var(--rdg-background-color);\n\n font-family: inherit;\n font-size: var(--rdg-font-size);\n\n &:focus {\n border-color: var(--rdg-selection-color);\n outline: none;\n }\n\n &::placeholder {\n color: #999;\n opacity: 1;\n }\n }\n}\n\n`;\n document.head.appendChild(e);\n }\n })();", "(function(){\n if (!document.getElementById('c2b63dd3')) {\n var e = document.createElement('style');\n e.id = 'c2b63dd3';\n e.textContent = `.dgrid2_Table .rdg {\n font-family: monospace, 'Courier New', Courier;\n}\n\n.dgrid2_Table .rdg-checkbox-label .rdg-checkbox {\n block-size: 16px;\n inline-size: 16px;\n border-width: 2px;\n box-shadow: inset 0 0 0 3px var(--rdg-background-color);\n}`;\n document.head.appendChild(e);\n }\n })();", "import { IGraph, INDChart } from \"@hpcc-js/api\";\nimport { Database, HTMLWidget, Utility, Widget } from \"@hpcc-js/common\";\nimport { map as d3Map } from \"d3-collection\";\nimport { requireWidget } from \"./Utility.ts\";\n\ndeclare const require: any;\nexport class MultiChart extends HTMLWidget {\n _allCharts = {};\n _chartTypeDefaults;\n _chartTypeProperties;\n _chartMonitor;\n _switchingTo;\n\n constructor() {\n super();\n INDChart.call(this);\n IGraph.call(this);\n\n this._tag = \"div\";\n\n this._allCharts = {};\n this._allChartTypes.forEach(function (item) {\n const newItem = JSON.parse(JSON.stringify(item));\n newItem.widget = null;\n this._allCharts[item.id] = newItem;\n this._allCharts[item.display] = newItem;\n this._allCharts[item.widgetClass] = newItem;\n }, this);\n this._chartTypeDefaults = {};\n this._chartTypeProperties = {};\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 (this.chart()) {\n if (!arguments.length) return this.chart().fields();\n this.chart().fields(_);\n }\n return retVal;\n }\n\n columns(): string[];\n columns(_, asDefault?: boolean): this;\n columns(_?, asDefault?: boolean) {\n const retVal = HTMLWidget.prototype.columns.apply(this, arguments);\n if (this.chart()) {\n if (!arguments.length) return this.chart().columns();\n this.chart().columns(_, asDefault);\n }\n return retVal;\n }\n\n data(_?) {\n const retVal = HTMLWidget.prototype.data.apply(this, arguments);\n if (this.chart()) {\n if (!arguments.length) return this.chart().data();\n this.chart().data(_);\n }\n return retVal;\n }\n\n hasOverlay() {\n return this.chart() && this.chart().hasOverlay();\n }\n\n visible(): boolean;\n visible(_: boolean): this;\n visible(_?: boolean): boolean | this {\n if (!arguments.length) return this.chart() && this.chart().visible();\n if (this.chart()) {\n this.chart().visible(_);\n }\n return this;\n }\n\n chartTypeDefaults(): object;\n chartTypeDefaults(_: object): this;\n chartTypeDefaults(_?: object): object | this {\n if (!arguments.length) return this._chartTypeDefaults;\n this._chartTypeDefaults = _;\n return this;\n }\n\n chartTypeProperties(): object;\n chartTypeProperties(_: object): this;\n chartTypeProperties(_?: object): object | this {\n if (!arguments.length) return this._chartTypeProperties;\n this._chartTypeProperties = _;\n return this;\n }\n\n getChartDataFamily() {\n return this._allCharts[this.chartType()].family;\n }\n\n requireContent(chartType, callback) {\n const classInfo = Utility.parseClassID(this._allCharts[chartType].widgetClass);\n switch (classInfo.package) {\n case \"@hpcc-js/chart\":\n import(\"@hpcc-js/chart\").then(mod => {\n callback(new mod[classInfo.widgetID]());\n });\n break;\n case \"@hpcc-js/dgrid\":\n import(\"@hpcc-js/dgrid\").then(mod => {\n callback(new mod[classInfo.widgetID]());\n });\n break;\n default:\n requireWidget(this._allCharts[chartType].widgetClass).then(function (WidgetClass: any) {\n callback(new WidgetClass());\n });\n }\n }\n\n switchChart(callback) {\n if (this._switchingTo === this.chartType()) {\n if (callback) {\n callback(this);\n }\n return;\n } else if (this._switchingTo) {\n console.warn(\"Attempting switch to: \" + this.chartType() + \", before previous switch is complete (\" + this._switchingTo + \")\");\n }\n this._switchingTo = this.chartType();\n const oldContent = this.chart();\n const context = this;\n this.requireContent(this.chartType(), function (newContent) {\n if (newContent !== oldContent) {\n const size = context.size();\n newContent\n .fields(context.fields())\n .data(context.data())\n .size(size)\n ;\n\n context.chart(newContent);\n if (oldContent) {\n oldContent\n .size({ width: 1, height: 1 })\n .render()\n ;\n }\n }\n delete context._switchingTo;\n if (callback) {\n callback(this);\n }\n });\n }\n\n update(domNode, element) {\n super.update(domNode, element);\n const content = element.selectAll(\".multiChart\").data(this.chart() ? [this.chart()] : [], function (d) { return d._id; });\n content.enter().append(\"div\")\n .attr(\"class\", \"multiChart\")\n .each(function (d) {\n d.target(this);\n })\n ;\n\n const currChart = this.chart();\n if (currChart) {\n for (const key in this._chartTypeDefaults) {\n if (currChart[key + \"_default\"]) {\n try {\n currChart[key + \"_default\"](this._chartTypeDefaults[key]);\n } catch (e) {\n console.warn(\"Exception Setting Default: \" + key);\n }\n } else {\n console.warn(\"Unknown Default: \" + key);\n }\n }\n this._chartTypeDefaults = {};\n for (const propKey in this._chartTypeProperties) {\n if (currChart[propKey]) {\n try {\n currChart[propKey](this._chartTypeProperties[propKey]);\n } catch (e) {\n console.warn(\"Exception Setting Property: \" + propKey);\n }\n } else {\n console.warn(\"Unknown Property: \" + propKey);\n }\n }\n this._chartTypeProperties = {};\n }\n\n const context = this;\n content\n .each(function (d) { d.resize(context.size()); })\n ;\n\n content.exit().transition()\n .each(function (d) { d.target(null); })\n .remove()\n ;\n }\n\n exit(domNode, element) {\n if (this._chartMonitor) {\n this._chartMonitor.remove();\n delete this._chartMonitor;\n }\n if (this.chart()) {\n this.chart().target(null);\n }\n super.exit(domNode, element);\n }\n\n render(_callback?) {\n if (this.chartType() && (!this.chart() || (this.chart().classID() !== this._allCharts[this.chartType()].widgetClass))) {\n const context = this;\n const args = arguments;\n this.switchChart(function () {\n HTMLWidget.prototype.render.apply(context, args);\n });\n return this;\n }\n return HTMLWidget.prototype.render.apply(this, arguments);\n }\n}\nMultiChart.prototype._class += \" composite_MultiChart\";\nMultiChart.prototype.implements(INDChart.prototype);\nMultiChart.prototype.implements(IGraph.prototype);\nexport interface ChartMeta {\n id: string;\n display: string;\n widgetClass: string;\n widgetPath?: string;\n}\nexport interface MultiChart {\n _otherChartTypes: ChartMeta[];\n _graphChartTypes: ChartMeta[];\n _1DChartTypes: ChartMeta[];\n _2DChartTypes: ChartMeta[];\n _NDChartTypes: ChartMeta[];\n _mapChartTypes: ChartMeta[];\n _anyChartTypes: ChartMeta[];\n _allChartTypes: ChartMeta[];\n _allMap;\n _allFamilies: string[];\n _allChartTypesMap;\n _allChartTypesByClass;\n\n hideRowOnLegendClick(): boolean;\n hideRowOnLegendClick(_: boolean): this;\n chartType(): string;\n chartType(_: string): this;\n chart(): Widget;\n chart(_: Widget): this;\n chart_access(): Widget;\n chart_access(_: Widget): this;\n\n click(_row, _column, _selected): void;\n dblclick(_row, _column, _selected): void;\n vertex_click(row, column, selected, more): void;\n vertex_dblclick(row, column, selected, more): void;\n edge_click(row, column, selected, more): void;\n edge_dblclick(row, column, selected, more): void;\n}\n\nMultiChart.prototype._otherChartTypes = [\n { id: \"FORM\", display: \"Form\", widgetClass: \"form_FieldForm\" }\n].map(function (item: any) { item.family = \"other\"; return item; });\nMultiChart.prototype._graphChartTypes = [\n { id: \"GRAPH\", display: \"Graph\", widgetClass: \"graph_Graph\" },\n { id: \"ADJACENCY_GRAPH\", display: \"Graph\", widgetClass: \"graph_AdjacencyGraph\" },\n { id: \"GRAPHC\", display: \"GraphC\", widgetClass: \"graph_GraphC\" }\n].map(function (item: any) { item.family = \"GRAPH\"; return item; });\nMultiChart.prototype._1DChartTypes = [\n].map(function (item: any) { item.family = \"1D\"; return item; });\nMultiChart.prototype._2DChartTypes = [\n { id: \"SUMMARY\", display: \"Summary\", widgetClass: \"chart_Summary\" },\n { id: \"BUBBLE\", display: \"Bubble\", widgetClass: \"chart_Bubble\" },\n { id: \"PIE\", display: \"Pie\", widgetClass: \"chart_Pie\" },\n { id: \"WORD_CLOUD\", display: \"Word Cloud\", widgetClass: \"other_WordCloud\" }\n].map(function (item: any) { item.family = \"2D\"; return item; });\nMultiChart.prototype._NDChartTypes = [\n { id: \"COLUMN\", display: \"Column\", widgetClass: \"chart_Column\" },\n { id: \"BAR\", display: \"Bar\", widgetClass: \"chart_Bar\" },\n { id: \"LINE\", display: \"Line\", widgetClass: \"chart_Line\" },\n { id: \"AREA\", display: \"Area\", widgetClass: \"chart_Area\" },\n { id: \"STEP\", display: \"Step\", widgetClass: \"chart_Step\" },\n { id: \"SCATTER\", display: \"Scatter\", widgetClass: \"chart_Scatter\" },\n { id: \"HEXBIN\", display: \"Hex Bin\", widgetClass: \"chart_HexBin\" }\n].map(function (item: any) { item.family = \"ND\"; return item; });\nMultiChart.prototype._mapChartTypes = [\n { id: \"CHORO_USSTATES\", display: \"US State Choropleth\", widgetClass: \"map_ChoroplethStates\" },\n { id: \"CHORO_USCOUNTIES\", display: \"US County Choropleth\", widgetClass: \"map_ChoroplethCounties\" },\n { id: \"CHORO_COUNTRIES\", display: \"Country Choropleth\", widgetClass: \"map_ChoroplethCountries\" },\n { id: \"GMAP_CHORO_USCOUNTIES\", display: \"Google Map US County Choropleth\", widgetClass: \"map_GMapCounties\" },\n { id: \"GOOGLE_MAP\", display: \"Google Map\", widgetClass: \"map_GMapLayered\" },\n { id: \"OPENSTREET\", display: \"Open Street Map\", widgetClass: \"map_OpenStreet\" }\n].map(function (item: any) { item.family = \"map\"; return item; });\nMultiChart.prototype._anyChartTypes = [\n { id: \"TABLE\", display: \"Table\", widgetClass: \"dgrid_Table\" },\n { id: \"TABLE_LEGACY\", display: \"Table (legacy)\", widgetClass: \"other_Table\" },\n { id: \"TABLE_NESTED\", display: \"Nested Table\", widgetClass: \"other_NestedTable\" },\n { id: \"TABLE_CALENDAR\", display: \"Table driven Calendar Heat Map\", widgetClass: \"other_CalendarHeatMap\" },\n { id: \"TABLE_BULLET\", display: \"Table driven bullet chart\", widgetClass: \"chart_Bullet\" },\n { id: \"TABLE_SELECT\", display: \"Table driven select\", widgetClass: \"other_Select\" },\n { id: \"TABLE_AUTOCOMPLETE\", display: \"Table driven auto complete\", widgetClass: \"other_AutoCompleteText\" },\n { id: \"TABLE_OPPORTUNITY\", display: \"Table driven opportunity widget\", widgetClass: \"graph_Opportunity\" },\n { id: \"TABLE_TREE\", display: \"Table driven tree\", widgetClass: \"tree_Dendrogram\" },\n { id: \"TABLE_TREEMAP\", display: \"Table driven Treemap\", widgetClass: \"tree_Treemap\" },\n { id: \"TABLE_SANKEY\", display: \"Table driven Sankey\", widgetClass: \"graph_Sankey\" },\n { id: \"TABLE_GMAP_PIN\", display: \"Table driven Google Map (pins)\", widgetClass: \"map_GMapPin\" },\n { id: \"TABLE_GMAP_PINLINE\", display: \"Table driven Google Map (pins/lines)\", widgetClass: \"map_GMapPinLine\" },\n { id: \"TABLE_XML_TREE\", display: \"Table driven XML Tree\", widgetClass: \"tree_Indented\" }\n].map(function (item: any) { item.family = \"any\"; return item; });\nMultiChart.prototype._allChartTypes =\n MultiChart.prototype._otherChartTypes.concat(\n MultiChart.prototype._graphChartTypes.concat(\n MultiChart.prototype._1DChartTypes.concat(\n MultiChart.prototype._2DChartTypes.concat(\n MultiChart.prototype._NDChartTypes.concat(\n MultiChart.prototype._mapChartTypes.concat(\n MultiChart.prototype._anyChartTypes\n ))))));\nMultiChart.prototype._allMap = d3Map(MultiChart.prototype._allChartTypes, function (item: any) { return item.family; });\nMultiChart.prototype._allFamilies = MultiChart.prototype._allMap.keys();\nMultiChart.prototype._allChartTypesMap = {};\nMultiChart.prototype._allChartTypesByClass = {};\nMultiChart.prototype._allChartTypes.forEach(function (item) {\n item.widgetPath = Utility.widgetPath(item.widgetClass);\n MultiChart.prototype._allChartTypesMap[item.id] = item;\n MultiChart.prototype._allChartTypesByClass[item.widgetClass] = item;\n});\n\nMultiChart.prototype.publishReset();\nMultiChart.prototype.publish(\"hideRowOnLegendClick\", false, \"boolean\", \"Enable/Disable hiding row on legend clicks\", null, { tags: [\"Basic\"] });\nMultiChart.prototype.publish(\"chartType\", \"BUBBLE\", \"set\", \"Chart Type\", MultiChart.prototype._allChartTypes.map(function (item) { return item.id; }), { tags: [\"Basic\"] });\nMultiChart.prototype.publish(\"chart\", null, \"widget\", \"Chart\", null, { tags: [\"Basic\"] });\n\nconst _origChart = MultiChart.prototype.chart;\nMultiChart.prototype.chart = function (_?) {\n const retVal = _origChart.apply(this, arguments);\n if (arguments.length) {\n const context = this;\n if (this._allChartTypesByClass[_.classID()]) {\n this.chartType(this._allChartTypesByClass[_.classID()].id);\n } else {\n console.warn(\"Unknown Class ID: \" + _.classID());\n }\n _.click = function (_row, _column, _selected) {\n context.click.apply(context, arguments);\n };\n _.dblclick = function (_row, _column, _selected) {\n context.dblclick.apply(context, arguments);\n };\n _.vertex_click = function (row, column, selected, more) {\n context.vertex_click.apply(context, arguments);\n };\n _.vertex_dblclick = function (row, column, selected, more) {\n context.vertex_dblclick.apply(context, arguments);\n };\n _.edge_click = function (row, column, selected, more) {\n context.edge_click.apply(context, arguments);\n };\n _.edge_dblclick = function (row, column, selected, more) {\n context.edge_dblclick.apply(context, arguments);\n };\n if (this._chartMonitor) {\n this._chartMonitor.remove();\n delete this._chartMonitor;\n }\n this._chartMonitor = _.monitor(function (key, newVal, oldVal) {\n context.broadcast(key, newVal, oldVal, _);\n });\n }\n return retVal;\n};\n", "import { Utility } from \"@hpcc-js/common\";\n\ndeclare const require: any;\nexport function requireWidget(classID) {\n return new Promise(function (resolve, _reject) {\n const parsedClassID = Utility.parseClassID(classID);\n if (require) {\n require([parsedClassID.package], function (Package) {\n let Widget = null;\n if (Package && Package[parsedClassID.widgetID]) {\n Widget = Package[parsedClassID.widgetID];\n }\n resolve(parsedClassID.memberWidgetID ? (Widget.prototype ? Widget.prototype[parsedClassID.memberWidgetID] : Widget[parsedClassID.memberWidgetID]) : Widget);\n });\n }\n });\n}\n\nexport function requireWidgets(classIDs) {\n return Promise.all(classIDs.map(requireWidget));\n}\n", "(function(){\n if (!document.getElementById('34d5dd28')) {\n var e = document.createElement('style');\n e.id = '34d5dd28';\n e.textContent = `.composite_ChartPanel > .body {\n margin: 0;\n padding: 0;\n display: flex;\n flex-flow: row;\n}\n\n.composite_ChartPanel > .body > article {\n flex: 3 1 60%;\n order: 2;\n}\n\n.composite_ChartPanel > .body > nav {\n flex: 1 6 20%;\n order: 1;\n}\n\n.composite_ChartPanel > .body > aside {\n margin-left: 4px;\n flex: 1 6 20%;\n order: 3;\n}\n\nheader, footer {\n display: block;\n}\n`;\n document.head.appendChild(e);\n }\n })();", "\uFEFFimport { OnOff } from \"@hpcc-js/form\";\nimport { Border, Toolbar } from \"@hpcc-js/layout\";\nimport { PropertyEditor } from \"@hpcc-js/other\";\n\nimport \"../src/Dermatology.css\";\n\nexport class Dermatology extends Border {\n _toolbar;\n _propEditor;\n _showProperties;\n _propsButton;\n _prevWidget;\n\n constructor() {\n super();\n\n this._toolbar = new Toolbar()\n .title(\"Dermatology\")\n ;\n this._propEditor = new PropertyEditor()\n .show_settings(true)\n ;\n }\n\n showProperties(_?) {\n if (!arguments.length) return this._showProperties;\n this._showProperties = _;\n this\n .rightPercentage(0)\n .rightSize(this._showProperties ? 360 : 0)\n .setContent(\"right\", this._showProperties ? this._propEditor : null)\n ;\n const widget = this.widget();\n if (widget && widget.designMode) {\n widget.designMode(this._showProperties);\n }\n return this;\n }\n\n toggleProperties() {\n return this.showProperties(!this.showProperties());\n }\n\n enter(domNode, element) {\n super.enter(domNode, element);\n\n this\n .topPercentage(0)\n .topSize(0)\n .setContent(\"top\", this._toolbar)\n ;\n this.getCell(\"top\").surfaceShadow(true);\n\n const context = this;\n this._propsButton = new OnOff()\n .id(this.id() + \"_props\")\n .value(\"Properties\")\n .on(\"click\", function () {\n context\n .toggleProperties()\n .render()\n ;\n })\n ;\n this._toolbar.widgets([this._propsButton]);\n }\n\n update(domNode, element) {\n this\n .topPercentage(0)\n .topSize(this.showToolbar() ? 32 : 0)\n ;\n\n super.update(domNode, element);\n\n const widget = this.widget();\n element.style(\"background-color\", widget && widget.surfaceShadow ? null : \"white\");\n }\n\n render(callback) {\n const widget = this.widget();\n if (widget !== this._prevWidget) {\n if (widget && widget.surfaceShadow) {\n widget.surfaceBackgroundColor_default(\"white\");\n }\n this.setContent(\"center\", widget);\n this._propEditor.widget(widget);\n this._prevWidget = widget;\n }\n return super.render(callback);\n }\n\n showToolbar: { (): boolean; (_: boolean): Dermatology };\n showToolbar_exists: () => boolean;\n widget: { (): any; (_: any): Dermatology };\n widget_exists: () => boolean;\n}\nDermatology.prototype._class += \" composite_Dermatology\";\n\nDermatology.prototype.publish(\"showToolbar\", true, \"boolean\", \"Show Toolbar\");\nDermatology.prototype.publish(\"widget\", null, \"widget\", \"Widget\");\n", "(function(){\n if (!document.getElementById('e6188c82')) {\n var e = document.createElement('style');\n e.id = 'e6188c82';\n e.textContent = `\uFEFF.composite_Dermatology {\n background-color: ghostwhite;\n}\n\n.composite_Dermatology .common_Icon {\n background-color: red;\n opacity:0.75;\n}\n\n.composite_Dermatology .common_Icon .common_Shape {\n fill: white;\n stroke: darkgray;\n cursor:pointer;\n}\n\n.composite_Dermatology .common_Icon.show .common_Shape {\n fill: lightgray;\n}\n\n.composite_Dermatology .common_Icon .common_FAChar .common_Text {\n fill: darkgray;\n cursor:pointer;\n}\n\n.composite_Dermatology .other_PropertyEditor {\n font-family: sans-serif;\n font-size: 11px;\n}\n\n.composite_Dermatology .other_PropertyEditor input {\n font-family: sans-serif;\n font-size: 11px;\n border:0px;\n}\n\n.composite_Dermatology .other_PropertyEditor .property-label {\n height:unset;\n}\n`;\n document.head.appendChild(e);\n }\n })();", "import { Database, Text, Utility } from \"@hpcc-js/common\";\nimport { Button, Input, Select } from \"@hpcc-js/form\";\nimport { Border, Grid, Toolbar } from \"@hpcc-js/layout\";\nimport { Html, Legend } from \"@hpcc-js/other\";\nimport { select as d3Select } from \"d3-selection\";\nimport \"d3-transition\";\nimport { MultiChart } from \"./MultiChart.ts\";\n\nimport \"../src/MegaChart.css\";\n\nexport class MegaChart extends Border {\n _chart = new MultiChart();\n _toolbar = new Toolbar();\n _valueTitle = new Text();\n _domainTitle = new Text();\n _legend: Legend = new Legend();\n _csvButton;\n _infoButton;\n _maximizeButton;\n _legendButton;\n _chartTypeSelect;\n _prevLegendPosition;\n _prevShowToolbar;\n _1DChartTypes;\n _2DChartTypes;\n _NDChartTypes;\n _anyChartTypes;\n _allChartTypes;\n _contentClasses;\n _dataCount;\n\n constructor() {\n super();\n this._tag = \"div\";\n const context = this;\n this._chart.click = function () {\n context.click.apply(context, arguments);\n };\n this._chart.dblclick = function () {\n context.dblclick.apply(context, arguments);\n };\n this._chart.vertex_click = function () {\n context.vertex_click.apply(context, arguments);\n };\n this._chart.vertex_dblclick = function () {\n context.vertex_dblclick.apply(context, arguments);\n };\n this._chart.edge_click = function () {\n context.edge_click.apply(context, arguments);\n };\n this._chart.edge_dblclick = function () {\n context.edge_dblclick.apply(context, arguments);\n };\n }\n\n toolbarWidgets(_?) {\n if (!arguments.length) return this._toolbar.widgets();\n this._toolbar.widgets(_);\n return this;\n }\n\n chartTypeDefaults(_?) {\n if (!arguments.length) return this._chart.chartTypeDefaults();\n this._chart.chartTypeDefaults(_);\n return this;\n }\n\n chartTypeProperties(_?) {\n if (!arguments.length) return this._chart.chartTypeProperties();\n this._chart.chartTypeProperties(_);\n return this;\n }\n\n fields(): Database.Field[];\n fields(_: Database.Field[]): this;\n fields(_?: Database.Field[]): Database.Field[] | this {\n if (!arguments.length) return this._chart.fields();\n this._chart.fields(_);\n return this;\n }\n\n columns(): string[];\n columns(_: string[], asDefault?: boolean): this;\n columns(_?: string[], asDefault?: boolean): string[] | this {\n if (!arguments.length) return this._chart.columns();\n this._chart.columns(_, asDefault);\n return this;\n }\n\n data(_?) {\n if (!arguments.length) return this._chart.data();\n this._chart.data(_);\n return this;\n }\n\n downloadCSV() {\n Utility.downloadString(\"CSV\", this._chart.export(\"CSV\"));\n return this;\n }\n\n enter(domNode, element) {\n super.enter(domNode, element);\n const context = this;\n\n this.topShrinkWrap(false).topPercentage(0).topSize(30);\n this._dataCount = new Html()\n .classed({ \"composite_MegaChart-dataCount\": true })\n .id(this.id() + \"_dataCount\")\n .html('<span class=\"MegaChart-dataCount-label\">Count:</span> <span class=\"MegaChart-dataCount-value\">' + (this.data() ? this.data().length : \"0\") + \"</span>\")\n .overflowX(\"visible\")\n .overflowY(\"visible\")\n ;\n\n this._csvButton = new Button()\n .classed({ \"composite_MegaChart-CSV\": true })\n .id(this.id() + \"_csv\")\n .value(\"CSV\")\n ;\n this._csvButton.click = function (a) {\n context.downloadCSV();\n };\n\n this._infoButton = new Button()\n .classed({ \"composite_MegaChart-Info\": true })\n .id(this.id() + \"_info\")\n .value(this.infoIcon())\n ;\n\n this._maximizeButton = new Button()\n .classed({ \"composite_MegaChart-Maximize\": true })\n .id(this.id() + \"_maximize\")\n .value(\"\\uf2d0\")\n ;\n this._maximizeButton.click = function (buttonWidget) {\n const target = context.target() as any;\n let node = target;\n const isMaximized = d3Select(target).classed(\"__hpccisMaximized\");\n\n // Find the layout_Grid ancestor\n const parentGrid = context.locateAncestor(\"layout_Grid\");\n if (parentGrid) {\n node = parentGrid.element().node();\n } else {\n node = document.body;\n }\n\n const targetElement = d3Select(context.target()) as any;\n if (isMaximized) {\n // Restore from maximized to natural size/position\n const targetParentBox = target.parentElement.getBoundingClientRect();\n const targetPaddingTop = parseInt(getComputedStyle(target, null).getPropertyValue(\"padding-top\").replace(\"px\", \"\"));\n const targetPaddingLeft = parseInt(getComputedStyle(target, null).getPropertyValue(\"padding-left\").replace(\"px\", \"\"));\n const targetPaddingRight = parseInt(getComputedStyle(target, null).getPropertyValue(\"padding-right\").replace(\"px\", \"\"));\n const targetPaddingBottom = parseInt(getComputedStyle(target, null).getPropertyValue(\"padding-bottom\").replace(\"px\", \"\"));\n context.contentDiv.style(\"opacity\", 0).transition(100);\n targetElement.transition()// .duration(3000)\n .style(\"top\", targetParentBox.top + \"px\")\n .style(\"left\", targetParentBox.left + \"px\")\n .style(\"width\", (targetParentBox.width - targetPaddingLeft - targetPaddingRight) + \"px\")\n .style(\"height\", (targetParentBox.height - targetPaddingTop - targetPaddingBottom) + \"px\")\n .each(\"end\", function () {\n targetElement.style(\"position\", target.__old_position);\n targetElement.style(\"z-index\", target.__old_zindex);\n targetElement.style(\"background-color\", target.__old_backgroundColor);\n targetElement.style(\"box-shadow\", target.__old_boxshadow);\n context\n .resize({\n width: targetParentBox.width - targetPaddingLeft - targetPaddingRight,\n height: targetParentBox.height - targetPaddingTop - targetPaddingBottom\n })\n .render(function () {\n context.contentDiv.transition()\n .style(\"opacity\", 1);\n });\n buttonWidget.value(\"\\uf2d0\").render();\n });\n } else {\n // Maximize this MegaChart\n target.__old_position = target.style.position;\n target.__old_zindex = target.style.zIndex;\n target.__old_boxshadow = target.style.boxShadow;\n target.__old_backgroundColor = context.element().style(\"background-color\");\n const grid = d3Select(node).datum() as Grid;\n const gridTarget = grid.target();\n const gridBox = grid ? gridTarget.getBoundingClientRect() : node.getBoundingClientRect();\n const gridPaddingTop = parseInt(getComputedStyle(gridTarget, null).getPropertyValue(\"padding-top\").replace(\"px\", \"\"));\n const gridPaddingLeft = parseInt(getComputedStyle(gridTarget, null).getPropertyValue(\"padding-left\").replace(\"px\", \"\"));\n const gridPaddingRight = parseInt(getComputedStyle(gridTarget, null).getPropertyValue(\"padding-right\").replace(\"px\", \"\"));\n const gridPaddingBottom = parseInt(getComputedStyle(gridTarget, null).getPropertyValue(\"padding-bottom\").replace(\"px\", \"\"));\n context.contentDiv.style(\"opacity\", 0).transition(100);\n targetElement\n .style(\"position\", \"fixed\")\n .style(\"z-index\", 999999)\n .style(\"box-shadow\", \"0 8px 8px 0 rgba(0,0,0,.14),0 12px 4px -8px rgba(0,0,0,.2),0 4px 20px 0 rgba(0,0,0,.12)\")\n .style(\"background-color\", target.__old_backgroundColor)\n .transition()// .duration(3000)\n .style(\"top\", (gridBox.top + gridPaddingTop) + \"px\")\n .style(\"left\", (gridBox.left + gridPaddingLeft) + \"px\")\n .style(\"width\", (gridBox.width - gridPaddingLeft - gridPaddingRight) + \"px\")\n .style(\"height\", (gridBox.height - gridPaddingTop - gridPaddingBottom) + \"px\")\n .each(\"end\", function () {\n targetElement.style(\"background-color\", context.maximizedBackgroundColor());\n context\n .resize({\n width: (gridBox.width - gridPaddingLeft - gridPaddingRight),\n height: (gridBox.height - gridPaddingTop - gridPaddingBottom)\n })\n .render(function () {\n context.contentDiv.transition()\n .style(\"opacity\", 1);\n });\n buttonWidget.value(\"\\uf2d1\").render();\n });\n }\n\n d3Select(target).classed(\"__hpccisMaximized\", !isMaximized);\n };\n\n this._legendButton = new Input()\n .classed({ \"composite_MegaChart-legend\": true })\n .id(this.id() + \"_legend\")\n .type(\"checkbox\")\n .inlineLabel(\"Legend: \")\n ;\n this._legendButton.click = function (a) {\n context.render();\n };\n\n this._chartTypeSelect = new Select()\n .classed({ \"composite_MegaChart-chartType\": true })\n .id(this.id() + \"_chartType\")\n .selectOptions(this._allChartTypes.map(function (a) { return [a.id, a.display]; }))\n .value(this.chartType())\n ;\n this._chartTypeSelect.change = function (a) {\n context.chartType(a.value()).render();\n };\n\n this.setContent(\"center\", this._chart);\n\n this._legend\n .targetWidget(this._chart)\n .orientation([\"top\", \"bottom\"].indexOf(this.legendPosition()) !== -1 ? \"horizontal\" : \"vertical\")\n .fixedSize(true)\n ;\n\n this._prevLegendPosition = this.legendPosition();\n\n if (this.valueAxisTitle()) {\n this.setContent(\"left\", this._valueTitle.rotation(-90)).leftShrinkWrap(true);\n }\n if (this.domainAxisTitle()) {\n this.setContent(\"bottom\", this._domainTitle).bottomShrinkWrap(true);\n }\n\n if (this.legendPosition() !== \"none\") {\n this.setContent(this.legendPosition(), this._legend)[this.legendPosition() + \"ShrinkWrap\"](true);\n }\n }\n\n update(domNode, element) {\n function showHideButton(twArr2, button, show) {\n if (show && twArr2.indexOf(button) === -1) {\n twArr2.push(button);\n } else if (!show) {\n const idx = twArr2.indexOf(button);\n if (idx >= 0) {\n twArr2.splice(idx, 1);\n }\n }\n }\n\n if (this._chart && typeof this._chart.hideRowOnLegendClick === \"function\") {\n this._chart.hideRowOnLegendClick(this.hideRowOnLegendClick());\n }\n\n this._dataCount.html('<span class=\"MegaChart-dataCount-label\">Count:</span> <span class=\"MegaChart-dataCount-value\">' + (this.data() ? this.data().length : \"0\") + \"</span>\");\n\n this._chartTypeSelect.value(this.chartType());\n const twArr = this.toolbarWidgets();\n showHideButton(twArr, this._csvButton, this.showCSV());\n showHideButton(twArr, this._maximizeButton, this.showMaximize());\n showHideButton(twArr, this._legendButton, this.toolbarShowLegend());\n showHideButton(twArr, this._chartTypeSelect, this.showChartSelect());\n showHideButton(twArr, this._infoButton, this.showInfoButton());\n showHideButton(twArr, this._dataCount, this.showCount());\n this.toolbarWidgets(twArr);\n\n if (this._prevShowToolbar !== this.showToolbar()) {\n this.setContent(\"top\", this.showToolbar() ? this._toolbar : null);\n this._prevShowToolbar = this.showToolbar();\n }\n\n // TODO: Proxy + themes not working...\n this._toolbar\n .fontSize(this.titleFontSize())\n .fontColor(this.titleFontColor())\n .fontFamily(this.titleFontFamily())\n .fontBold(this.titleFontBold())\n .backgroundColor(this.titleBackgroundColor())\n ;\n\n this._chart\n .data(this.data());\n\n if (this._chart.chartType() !== this.chartType()) {\n this._chart.chartType(this.chartType());\n }\n\n let legendPosition = this.legendPosition();\n if (this.toolbarShowLegend() && !this._legendButton.checked()) {\n legendPosition = \"none\";\n }\n if (this._prevLegendPosition !== legendPosition) {\n if (this._prevLegendPosition !== \"none\") {\n this.clearContent(this._prevLegendPosition);\n }\n this._prevLegendPosition = legendPosition;\n if (legendPosition !== \"none\") {\n this._legend = new Legend().targetWidget(this.getContent(\"center\").fixedSize(true));\n this.setContent(legendPosition, this._legend);\n this._legend.orientation([\"top\", \"bottom\"].indexOf(legendPosition) !== -1 ? \"horizontal\" : \"vertical\");\n }\n }\n this._contentClasses = this.getContentClasses();\n\n if (this.valueAxisTitle() && this._contentClasses.left !== \"common_Text\") {\n if (legendPosition !== \"left\") {\n this.setContent(\"left\", this._valueTitle.rotation(-90));\n }\n }\n if (this.domainAxisTitle() && this._contentClasses.bottom !== \"common_Text\") {\n if (legendPosition !== \"bottom\") {\n this.setContent(\"bottom\", this._domainTitle).bottomShrinkWrap(true);\n }\n }\n\n this._legend.dataFamily(this._chart.getChartDataFamily());\n\n super.update(domNode, element);\n }\n\n exit(domNode, element) {\n super.exit(domNode, element);\n }\n\n getContentClasses() {\n const obj: any = {};\n const t = this.getContent(\"top\");\n const r = this.getContent(\"right\");\n const b = this.getContent(\"bottom\");\n const l = this.getContent(\"left\");\n obj.top = t !== null ? t.classID() : undefined;\n obj.right = r !== null ? r.classID() : undefined;\n obj.bottom = b !== null ? b.classID() : undefined;\n obj.left = l !== null ? l.classID() : undefined;\n return obj;\n }\n\n serializeState() {\n const state: any = {\n title: this.title(),\n data: this.data()\n };\n const chart = this.chart();\n if (chart) {\n if (chart.serializeState) {\n state.chart = chart.serializeState();\n delete state.chart.data;\n }\n }\n return state;\n }\n\n deserializeState(state) {\n if (state) {\n this\n .title(state.title)\n .data(state.data)\n ;\n const chart = this.chart();\n if (chart && state.chart) {\n if (chart.serializeState) {\n chart.deserializeState(state.chart);\n }\n }\n }\n return this;\n }\n\n // Events ---\n click(row, column, selected) {\n }\n\n dblclick(row, column, selected) {\n }\n vertex_click(row, col, sel, more) {\n if (more && more.vertex) {\n // console.log(\"Vertex click: \" + more.vertex.id());\n }\n }\n\n vertex_dblclick(row, col, sel, more) {\n if (more && more.vertex) {\n // console.log(\"Vertex double click: \" + more.vertex.id());\n }\n }\n\n edge_click(row, col, sel, more) {\n if (more && more.edge) {\n // console.log(\"Edge click: \" + more.edge.id());\n }\n }\n\n edge_dblclick(row, col, sel, more) {\n if (more && more.edge) {\n // console.log(\"Edge double click: \" + more.edge.id());\n }\n }\n\n hideRowOnLegendClick: { (): boolean; (_: boolean): MegaChart };\n hideRowOnLegendClick_exists: () => boolean;\n showToolbar: { (): boolean; (_: boolean): MegaChart };\n showToolbar_exists: () => boolean;\n titleFontSize: { (): number; (_: number): MegaChart };\n titleFontSize_exists: () => boolean;\n titleFontColor: { (): string; (_: string): MegaChart };\n titleFontColor_exists: () => boolean;\n titleFontFamily: { (): string; (_: string): MegaChart };\n titleFontFamily_exists: () => boolean;\n titleFontBold: { (): boolean; (_: boolean): MegaChart };\n titleFontBold_exists: () => boolean;\n titleBackgroundColor: { (): string; (_: string): MegaChart };\n titleBackgroundColor_exists: () => boolean;\n maximizedBackgroundColor: { (): string; (_: string): MegaChart };\n maximizedBackgroundColor_exists: () => boolean;\n showChartSelect: { (): boolean; (_: boolean): MegaChart };\n showChartSelect_exists: () => boolean;\n showCSV: { (): boolean; (_: boolean): MegaChart };\n showCSV_exists: () => boolean;\n showCount: { (): boolean; (_: boolean): MegaChart };\n showCount_exists: () => boolean;\n showMaximize: { (): boolean; (_: boolean): MegaChart };\n showMaximize_exists: () => boolean;\n toolbarShowLegend: { (): boolean; (_: boolean): MegaChart };\n toolbarShowLegend_exists: () => boolean;\n showInfoButton: { (): boolean; (_: boolean): MegaChart };\n showInfoButton_exists: () => boolean;\n infoIcon: { (): string; (_: string): MegaChart };\n infoIcon_exists: () => boolean;\n legendPosition: { (): string; (_: string): MegaChart };\n legendPosition_exists: () => boolean;\n\n title: { (): string; (_: string): MegaChart };\n title_exists: () => boolean;\n\n domainAxisTitle: { (): string; (_: string): MegaChart };\n domainAxisTitle_exists: () => boolean;\n valueAxisTitle: { (): string; (_: string): MegaChart };\n valueAxisTitle_exists: () => boolean;\n\n chartType: { (): string; (_: string): MegaChart };\n chartType_exists: () => boolean;\n chart: { (): any; (_: any): MegaChart };\n chart_exists: () => boolean;\n}\nMegaChart.prototype._class += \" composite_MegaChart\";\n\nMegaChart.prototype._1DChartTypes = MultiChart.prototype._1DChartTypes;\nMegaChart.prototype._2DChartTypes = MultiChart.prototype._2DChartTypes;\nMegaChart.prototype._NDChartTypes = MultiChart.prototype._NDChartTypes;\nMegaChart.prototype._anyChartTypes = MultiChart.prototype._anyChartTypes;\nMegaChart.prototype._allChartTypes = MultiChart.prototype._allChartTypes;\n\nMegaChart.prototype.publishReset();\n\nMegaChart.prototype.publish(\"hideRowOnLegendClick\", false, \"boolean\", \"Enable/Disable hiding row on legend clicks\", null, { tags: [\"Basic\"] });\nMegaChart.prototype.publish(\"showToolbar\", true, \"boolean\", \"Enable/Disable Toolbar widget\", null, { tags: [\"Basic\"] });\nMegaChart.prototype.publishProxy(\"title\", \"_toolbar\", \"title\");\nMegaChart.prototype.publish(\"ddlParamsFormat\", \"\", \"string\", \"DDL Param Format '{fname}, {lname}'\", null, { tags: [\"Advanced\"], optional: true });\nMegaChart.prototype.publish(\"titleFontSize\", null, \"number\", \"Title Font Size (px)\", null, { tags: [\"Advanced\"], optional: true });\nMegaChart.prototype.publish(\"titleFontColor\", null, \"html-color\", \"Title Font Color\", null, { tags: [\"Advanced\"], optional: true });\nMegaChart.prototype.publish(\"titleFontFamily\", null, \"string\", \"Title Font Family\", null, { tags: [\"Advanced\"], optional: true });\nMegaChart.prototype.publish(\"titleFontBold\", true, \"boolean\", \"Enable Bold Title Font\", null, { tags: [\"Advanced\"], optional: true });\nMegaChart.prototype.publish(\"titleBackgroundColor\", null, \"html-color\", \"Background Color\", null, { tags: [\"Intermediate\"], optional: true });\nMegaChart.prototype.publish(\"maximizedBackgroundColor\", \"#FFFFFF\", \"html-color\", \"Background Color while maximized\", null, { tags: [\"Intermediate\"], optional: true });\n\nMegaChart.prototype.publish(\"showChartSelect\", true, \"boolean\", \"Show/Hide the chartType dropdown in the toolbar\", null, { tags: [\"Basic\"] });\nMegaChart.prototype.publish(\"showCSV\", true, \"boolean\", \"Show/Hide CSV button\", null, { tags: [\"Basic\"] });\nMegaChart.prototype.publish(\"showCount\", false, \"boolean\", \"Show/Hide Data Count\", null, { tags: [\"Basic\"] });\nMegaChart.prototype.publish(\"showMaximize\", false, \"boolean\", \"Show/Hide Maximize button\", null, { tags: [\"Basic\"] });\nMegaChart.prototype.publish(\"toolbarShowLegend\", false, \"boolean\", \"Show/Hide Legend button\", null, { tags: [\"Basic\"] });\nMegaChart.prototype.publish(\"showInfoButton\", false, \"boolean\", \"Show/Hide Info button in toolbar\", null, { tags: [\"Basic\"] });\nMegaChart.prototype.publish(\"infoIcon\", \"\\uf05a\", \"string\", \"Help Icon\", null, { tags: [\"Basic\"] });\n\nMegaChart.prototype.publish(\"legendPosition\", \"none\", \"set\", \"Position of the Legend widget\", [\"none\", \"top\", \"right\", \"bottom\", \"left\"], { tags: [\"Basic\"] });\nMegaChart.prototype.publishProxy(\"legendFormat\", \"_legend\", \"rainbowFormat\");\nMegaChart.prototype.publishProxy(\"legendBins\", \"_legend\", \"rainbowBins\");\n\nMegaChart.prototype.publishProxy(\"domainAxisTitle\", \"_domainTitle\", \"text\");\nMegaChart.prototype.publishProxy(\"valueAxisTitle\", \"_valueTitle\", \"text\");\n\nMegaChart.prototype.publishProxy(\"chartType\", \"_chart\", \"chartType\");\nMegaChart.prototype.publishProxy(\"chart\", \"_chart\", \"chart\");\n", "(function(){\n if (!document.getElementById('e075cdb6')) {\n var e = document.createElement('style');\n e.id = 'e075cdb6';\n e.textContent = `.composite_MegaChart-Info,\n.composite_MegaChart-Info *,\n.composite_MegaChart-Maximize,\n.composite_MegaChart-Maximize *{\n font-family: FontAwesome;\n}`;\n document.head.appendChild(e);\n }\n })();", "import { Platform, Utility, Widget } from \"@hpcc-js/common\";\nimport { Persist } from \"@hpcc-js/other\";\nimport { requireWidget } from \"./Utility.ts\";\n\nexport function retrofit_114_serialization(state, replacement_version) {\n replacement_version = !replacement_version || replacement_version === \"1.14.2-dev\" ? \"1.18.0\" : replacement_version;\n if (!state.__version) return state;\n const state_version_obj = Utility.parseVersionString(state.__version);\n const target_version_obj = Utility.parseVersionString(replacement_version);\n if (state_version_obj.major === 1 && state_version_obj.minor === 14) {\n console.info(\"Upgrading old persist from \" + state.__version + \" to \" + replacement_version);\n let _json_str = JSON.stringify(state);\n _json_str = _json_str.split('\"' + state.__version).join('\"' + replacement_version);\n\n const ret_obj = JSON.parse(_json_str);\n if (ret_obj.__properties && ret_obj.__properties.content) {\n ret_obj.__properties.content.forEach(function (n) {// FOR EACH top tier layout_Cell\n if (JSON.stringify(n).split(\"graph_Graph\").length > 1 && target_version_obj.minor >= 16) {\n n.__properties.widget.__id = n.__properties.widget.__properties.widget.__id;\n n.__properties.widget.__class = \"composite_MegaChart\";\n n.__properties.widget.__properties.showCSV = false;\n n.__properties.widget.__properties.chartType = \"GRAPH\";\n n.__properties.widget.__properties.chart = n.__properties.widget.__properties.widget;\n delete n.__properties.widget.__properties.chart.__id;\n delete n.__properties.widget.__properties.widget;\n }\n if (\"undefined\" === typeof n.__properties.fields) {\n n.__properties.fields = [];\n }\n });\n }\n return ret_obj;\n } else {\n return state;\n }\n}\n\nexport function deserializeFromObject(widget, state) {\n const promises = [];\n Persist.widgetPropertyWalker(widget, null, (w, item) => {\n w[item.id + \"_reset\"]();\n if (state.__properties[item.id] !== undefined) {\n switch (item.type) {\n case \"widget\":\n const widgetKey = item.id;\n promises.push(create(state.__properties[item.id]).then((w2: any) => {\n w2._owner = w;\n w[widgetKey](w2);\n return w2;\n }));\n break;\n case \"widgetArray\":\n case \"propertyArray\":\n const widgetArrayKey = item.id;\n const widgetStateArray = state.__properties[item.id];\n if (widgetStateArray.length) {\n const arrPromises = [];\n for (const widgetState of widgetStateArray) {\n arrPromises.push(create(widgetState).then((widgetItem: any) => {\n widgetItem._owner = w;\n return widgetItem;\n }));\n }\n promises.push(Promise.all(arrPromises).then(widgetArray => {\n w[widgetArrayKey](widgetArray);\n }));\n }\n break;\n default:\n w[item.id](state.__properties[item.id]);\n break;\n }\n }\n });\n return Promise.all(promises).then(widgets => {\n if (state.__data) {\n for (const key in state.__data) {\n if (state.__data.HasOwnProperty(key)) {\n switch (key) {\n case \"data\":\n widget.data(state.__data[key]);\n break;\n default:\n console.warn(\"Unexpected __data item: \" + key);\n widget[key](state.__data[key]);\n break;\n }\n }\n }\n }\n if (state.__state) {\n if (widget.deserializeState) {\n widget.deserializeState(state.__state);\n } else if (state.__state.data && widget.data) {\n widget.data(state.__state.data);\n }\n }\n return widget;\n });\n}\n\nexport function deserialize(widget, state) {\n if (typeof state === \"string\") {\n state = JSON.parse(state);\n }\n if (state.__id && state.__id.indexOf(widget._idSeed) !== 0 && widget._id !== state.__id) {\n console.warn(\"Deserialize: IDs do not match - \" + widget._id);\n }\n deserializeFromObject(widget, state);\n}\n\nexport function create(state: any): Promise<Widget> {\n if (typeof state === \"string\") {\n state = JSON.parse(state);\n }\n state = retrofit_114_serialization(state, Platform.version());\n return requireWidget(state.__class).then((WidgetClass: any) => {\n const widget = new WidgetClass();\n if (state.__id && state.__id.indexOf(widget._idSeed) !== 0 && state.__id.indexOf(\"_pe\") !== 0) {\n widget._id = state.__id;\n }\n return deserializeFromObject(widget, state);\n }).catch(function (e) {\n console.error(\"Persist.create: ***exception***\");\n console.error(e);\n });\n}\n\nexport function clone(widget) {\n create(Persist.serializeToObject(widget, undefined, true, true));\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["PKG_NAME", "PKG_VERSION", "BUILD_VERSION", "HTMLWidget", "HTMLWidget", "FAChar", "d3Event", "Platform", "d3Select", "d3SelectAll", "Utility", "d3Drag", "Button", "IconBar", "ProgressBar", "Spacer", "SVGWidget", "Text", "TitleBar", "ToggleButton", "HTMLWidget", "format", "timeFormat", "timeParse", "require_react_production_min", "__commonJSMin", "exports", "l", "n", "p", "q", "r", "t", "u", "v", "w", "x", "y", "z", "A", "a", "__name", "B", "C", "D", "E", "b", "e", "F", "G", "H", "I", "J", "K", "L", "M", "d", "c", "k", "h", "g", "f", "m", "N", "O", "escape", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "require_react", "module", "Ta", "require_scheduler_production_min", "require_scheduler", "Ua", "require_react_dom_production_min", "aa", "bt", "ca", "Wa", "da", "ea", "fa", "ha", "ia", "ja", "ka", "la", "ma", "oa", "pa", "qa", "ra", "sa", "ta", "ua", "va", "wa", "ya", "za", "Aa", "Ba", "Ca", "Da", "Ea", "Fa", "Ga", "Ha", "Ia", "Ja", "Ka", "La", "Ma", "Na", "Oa", "Pa", "Qa", "Ra", "Sa", "Va", "Xa", "Ya", "Za", "ab", "bb", "cb", "db", "eb", "fb", "gb", "hb", "ib", "jb", "kb", "lb", "mb", "nb", "ob", "pb", "qb", "rb", "sb", "tb", "ub", "vb", "wb", "xb", "yb", "zb", "Ab", "Bb", "Cb", "Db", "Eb", "Fb", "Gb", "Hb", "Ib", "Jb", "Kb", "Lb", "Mb", "Nb", "Ob", "Pb", "Qb", "Rb", "Sb", "Tb", "Ub", "Vb", "Wb", "Xb", "Yb", "Zb", "$b", "ac", "bc", "cc", "dc", "ec", "fc", "gc", "hc", "ic", "jc", "kc", "lc", "mc", "oc", "nc", "pc", "qc", "rc", "sc", "tc", "uc", "vc", "wc", "xc", "yc", "zc", "Ac", "Bc", "Cc", "Dc", "Ec", "Fc", "Gc", "Hc", "Ic", "Jc", "Kc", "Lc", "Mc", "Nc", "Oc", "Pc", "Qc", "Rc", "Sc", "Tc", "Uc", "Vc", "Wc", "Xc", "Yc", "Zc", "$c", "ad", "bd", "cd", "dd", "ed", "fd", "gd", "hd", "id", "jd", "kd", "ld", "md", "nd", "od", "pd", "qd", "rd", "sd", "td", "ud", "vd", "wd", "xd", "yd", "Ad", "zd", "Bd", "Cd", "Dd", "Ed", "Fd", "Gd", "Hd", "Id", "Jd", "Kd", "Ld", "Md", "Nd", "Od", "Pd", "Qd", "Rd", "Sd", "Td", "Ud", "Vd", "Wd", "Xd", "Yd", "Zd", "$d", "ae", "be", "ce", "de", "ee", "fe", "ge", "he", "ie", "je", "ke", "le", "me", "ne", "oe", "pe", "qe", "re", "se", "te", "ue", "ve", "we", "ye", "ze", "xe", "Ae", "Be", "Ce", "De", "Ee", "Fe", "Ge", "He", "Ie", "Je", "Ke", "Le", "Me", "Ne", "Oe", "Pe", "Qe", "Re", "Se", "Te", "Ue", "Ve", "We", "Xe", "Ye", "Ze", "$e", "af", "bf", "cf", "df", "ef", "ff", "gf", "hf", "jf", "kf", "lf", "mf", "nf", "of", "pf", "qf", "rf", "sf", "tf", "uf", "vf", "wf", "na", "xa", "$a", "ba", "xf", "yf", "zf", "Af", "Bf", "Cf", "Df", "Ef", "Ff", "Gf", "Hf", "Jf", "If", "Kf", "Lf", "Mf", "Nf", "Of", "Pf", "Qf", "Rf", "Sf", "Tf", "Uf", "Vf", "Wf", "Xf", "Yf", "Zf", "$f", "ag", "bg", "cg", "dg", "eg", "fg", "gg", "hg", "ig", "jg", "kg", "lg", "mg", "ng", "og", "pg", "qg", "rg", "sg", "tg", "ug", "vg", "wg", "xg", "yg", "zg", "Ag", "Bg", "Cg", "Dg", "Eg", "Fg", "Gg", "Hg", "Ig", "Jg", "Kg", "Lg", "Mg", "Ng", "Og", "Pg", "Qg", "Rg", "Sg", "Tg", "Ug", "Vg", "Wg", "Xg", "Yg", "Zg", "$g", "ah", "bh", "ch", "dh", "eh", "fh", "gh", "hh", "ih", "jh", "kh", "lh", "mh", "nh", "oh", "ph", "qh", "rh", "sh", "th", "uh", "vh", "wh", "xh", "yh", "zh", "Ah", "Bh", "Ch", "Dh", "Eh", "Fh", "Gh", "Hh", "Ih", "Jh", "Kh", "Lh", "Mh", "Nh", "Oh", "Ph", "Qh", "Rh", "Sh", "Th", "Uh", "Vh", "Wh", "Xh", "Yh", "Zh", "$h", "ai", "bi", "ci", "di", "ei", "fi", "gi", "hi", "ii", "ji", "ki", "li", "mi", "ni", "oi", "pi", "qi", "ri", "si", "ti", "ui", "vi", "wi", "xi", "yi", "zi", "Ai", "Bi", "Ci", "Di", "Ei", "Fi", "Gi", "Hi", "Ii", "Ji", "Ki", "Li", "Mi", "Ni", "Oi", "Pi", "Qi", "Ri", "Si", "Ti", "Ui", "Vi", "Wi", "Xi", "Yi", "Zi", "$i", "aj", "bj", "cj", "dj", "ej", "fj", "gj", "hj", "ij", "jj", "kj", "lj", "mj", "nj", "oj", "pj", "qj", "rj", "sj", "tj", "uj", "vj", "wj", "xj", "yj", "zj", "Aj", "Bj", "Cj", "Dj", "Ej", "Fj", "Gj", "Hj", "Ij", "Jj", "Kj", "Lj", "Mj", "Nj", "Oj", "Pj", "Qj", "Rj", "Sj", "Tj", "Uj", "Vj", "Wj", "Xj", "Yj", "Zj", "ak", "bk", "ck", "dk", "ek", "fk", "gk", "hk", "ik", "jk", "kk", "lk", "mk", "nk", "ok", "Y", "Z", "pk", "qk", "rk", "sk", "tk", "uk", "vk", "wk", "xk", "yk", "zk", "Ak", "Bk", "Ck", "Dk", "Ek", "Fk", "Gk", "Hk", "Ik", "Jk", "Kk", "Lk", "Mk", "Nk", "Ok", "Pk", "Qk", "Rk", "Sk", "Tk", "Uk", "Vk", "Wk", "Xk", "Yk", "Zk", "$k", "al", "bl", "cl", "dl", "el", "fl", "gl", "hl", "il", "jl", "kl", "ll", "ml", "nl", "ol", "pl", "ql", "rl", "sl", "tl", "ul", "vl", "require_react_dom", "checkDCE", "err", "require_client", "js", "i", "require_react_jsx_runtime_production_min", "require_jsx_runtime", "ep", "import_react", "qt", "bt", "import_client", "Jf", "N", "ao", "js", "r", "e", "t", "f", "n", "o", "__name", "clsx", "clsx_default", "getColSpan", "column", "lastFrozenColumnIndex", "args", "colSpan", "Number", "isInteger", "frozen", "idx", "stopPropagation", "event", "scrollIntoView", "element", "inline", "block", "createCellEvent", "defaultPrevented", "cellEvent", "preventGridDefault", "isGridDefaultPrevented", "Object", "setPrototypeOf", "getPrototypeOf", "nonInputKeys", "Set", "isCtrlKeyHeldDown", "ctrlKey", "metaKey", "key", "isDefaultCellInput", "keyCode", "vKey", "has", "onEditorNavigation", "target", "HTMLInputElement", "HTMLTextAreaElement", "HTMLSelectElement", "closest", "querySelectorAll", "length", "measuringCellClassname", "renderMeasuringCells", "viewportColumns", "map", "minWidth", "maxWidth", "_jsx", "className", "style", "gridColumnStart", "isSelectedCellEditable", "selectedPosition", "columns", "rows", "row", "rowIdx", "isCellEditableUtil", "renderEditCell", "editable", "getSelectedCellColSpan", "topSummaryRows", "bottomSummaryRows", "mainHeaderRowIdx", "topSummaryRowsCount", "type", "getNextSelectedCellPosition", "moveUp", "moveNext", "cellNavigationMode", "colSpanColumns", "minRowIdx", "maxRowIdx", "currentPosition", "currentIdx", "currentRowIdx", "nextPosition", "isCellWithinBounds", "nextIdx", "nextRowIdx", "columnsCount", "setColSpan", "colIdx", "getParentRowIdx", "parent", "level", "setHeaderGroupColAndRowSpan", "undefined", "parentRowIdx", "found", "nextParentRowIdx", "canExitGrid", "maxColIdx", "shiftKey", "cell", "cellClassname", "cellFrozen", "cellFrozenClassname", "getRowStyle", "getHeaderCellStyle", "rowSpan", "gridRowEnd", "paddingBlockStart", "insetBlockStart", "gridRowStart", "getCellStyle", "index", "gridColumnEnd", "insetInlineStart", "getCellClassname", "extraClasses", "min", "max", "floor", "sign", "abs", "Math", "assertIsValidKeyGetter", "keyGetter", "Error", "clampColumnWidth", "width", "getHeaderCellRowSpan", "checkbox", "checkboxClassname", "renderCheckbox", "onChange", "indeterminate", "props", "handleChange", "checked", "nativeEvent", "ref", "el", "groupCellContent", "groupCellContentClassname", "caret", "caretClassname", "renderValue", "DataGridDefaultRenderersContext", "createContext", "DataGridDefaultRenderersProvider", "Provider", "useDefaultRenderers", "useContext", "SelectCellFormatter", "value", "tabIndex", "disabled", "ariaLabel", "ariaLabelledBy", "RowSelectionContext", "RowSelectionProvider", "RowSelectionChangeContext", "RowSelectionChangeProvider", "useRowSelection", "rowSelectionContext", "rowSelectionChangeContext", "isRowSelectionDisabled", "isRowSelected", "onRowSelectionChange", "HeaderRowSelectionContext", "HeaderRowSelectionProvider", "HeaderRowSelectionChangeContext", "HeaderRowSelectionChangeProvider", "useHeaderRowSelection", "headerRowSelectionContext", "headerRowSelectionChangeContext", "isIndeterminate", "SELECT_COLUMN_KEY", "HeaderRenderer", "SelectFormatter", "isShiftClick", "SelectGroupFormatter", "SelectColumn", "name", "resizable", "sortable", "renderHeaderCell", "renderCell", "renderGroupCell", "DEFAULT_COLUMN_WIDTH", "DEFAULT_COLUMN_MIN_WIDTH", "useCalculatedColumns", "rawColumns", "defaultColumnOptions", "getColumnWidth", "viewportWidth", "scrollLeft", "enableVirtualization", "defaultWidth", "defaultMinWidth", "defaultMaxWidth", "defaultCellRenderer", "defaultSortable", "defaultResizable", "defaultDraggable", "draggable", "headerRowsCount", "useMemo", "collectColumns", "rawColumn", "calculatedColumnParent", "headerCellClass", "children", "push", "sort", "aKey", "frozenA", "bKey", "frozenB", "forEach", "updateColumnParent", "templateColumns", "layoutCssVars", "totalFrozenColumnWidth", "columnMetrics", "Map", "left", "set", "columnMetric", "get", "i", "colOverscanStartIdx", "colOverscanEndIdx", "viewportLeft", "viewportRight", "lastColIdx", "firstUnfrozenColumnIdx", "colVisibleStartIdx", "colVisibleEndIdx", "useLayoutEffect", "window", "useEffect", "useOriginalLayoutEffect", "useColumnWidths", "gridRef", "gridWidth", "resizedColumnWidths", "measuredColumnWidths", "setResizedColumnWidths", "setMeasuredColumnWidths", "onColumnResize", "prevGridWidthRef", "useRef", "columnsCanFlex", "ignorePreviouslyMeasuredColumns", "current", "newTemplateColumns", "columnsToMeasure", "gridTemplateColumns", "join", "updateMeasuredWidths", "newMeasuredColumnWidths", "hasChanges", "measuredWidth", "measureColumnWidth", "delete", "handleColumnResize", "nextWidth", "resizingKey", "flushSync", "newResizedColumnWidths", "selector", "CSS", "escape", "querySelector", "getBoundingClientRect", "useGridDimensions", "inlineSize", "setInlineSize", "useState", "blockSize", "setBlockSize", "horizontalScrollbarHeight", "setHorizontalScrollbarHeight", "ResizeObserver", "clientWidth", "clientHeight", "offsetWidth", "offsetHeight", "height", "initialHorizontalScrollbarHeight", "initialWidth", "initialHeight", "resizeObserver", "entries", "size", "contentBoxSize", "observe", "disconnect", "useLatestFunc", "fn", "callbackFn", "useCallback", "useRovingTabIndex", "isSelected", "isChildFocused", "setIsChildFocused", "onFocus", "currentTarget", "childTabIndex", "useViewportColumns", "rowOverscanStartIdx", "rowOverscanEndIdx", "startIdx", "updateStartIdx", "useViewportRows", "rowHeight", "scrollTop", "totalRowHeight", "gridTemplateRows", "getRowTop", "getRowHeight", "findRowIdx", "offset", "rowPositions", "currentRowHeight", "position", "top", "validateRowIdx", "start", "end", "middle", "currentOffset", "rowVisibleStartIdx", "rowVisibleEndIdx", "overscanThreshold", "cellDragHandle", "cellDragHandleFrozenClassname", "cellDragHandleClassname", "DragHandle", "columnWidth", "isLastRow", "latestDraggedOverRowIdx", "isCellEditable", "onRowsChange", "onFill", "onClick", "setDragging", "setDraggedOverRowIdx", "handleMouseDown", "preventDefault", "buttons", "addEventListener", "onMouseOver", "onMouseUp", "removeEventListener", "handleDragEnd", "overRowIdx", "startRowIndex", "endRowIndex", "updateRows", "handleDoubleClick", "startRowIdx", "endRowIdx", "sourceRow", "updatedRows", "indexes", "updatedRow", "columnKey", "targetRow", "getStyle", "marginEnd", "isLastColumn", "marginInlineEnd", "marginBlockEnd", "onMouseDown", "onDoubleClick", "cellEditing", "EditCell", "onRowChange", "closeEditor", "onKeyDown", "navigate", "frameRequestRef", "commitOnOutsideClick", "editorOptions", "commitOnOutsideMouseDown", "onClose", "onWindowCaptureMouseDown", "requestAnimationFrame", "capture", "cancelFrameRequest", "cancelAnimationFrame", "handleKeyDown", "mode", "commitChanges", "shouldFocusCell", "onEditorRowChange", "commitChangesAndFocus", "cellClass", "displayCellContent", "role", "onMouseDownCapture", "_jsxs", "_Fragment", "GroupedColumnHeaderCell", "isCellSelected", "selectCell", "headerSortCellClassname", "headerSortName", "headerSortNameClassname", "sortDirection", "priority", "SortableHeaderCell", "renderSortStatus", "cellSortableClassname", "cellResizable", "cellResizableClassname", "resizeHandleClassname", "cellDraggableClassname", "cellDragging", "cellDraggingClassname", "cellOver", "cellOverClassname", "HeaderCell", "onColumnsReorder", "sortColumns", "onSortColumnsChange", "shouldFocusGrid", "direction", "dragDropKey", "isDragging", "setIsDragging", "isOver", "setIsOver", "isRtl", "sortIndex", "findIndex", "sortColumn", "ariaSort", "defaultRenderHeaderCell", "onPointerDown", "pointerType", "pointerId", "headerCell", "parentElement", "right", "clientX", "hasDoubleClicked", "onPointerMove", "newWidth", "onLostPointerCapture", "setPointerCapture", "onSort", "ctrlClick", "sortDescendingFirst", "nextSort", "nextSortColumn", "nextSortColumns", "splice", "handleFocus", "onDragStart", "dataTransfer", "setData", "dropEffect", "onDragEnd", "onDragOver", "onDrop", "types", "includes", "toLowerCase", "sourceKey", "getData", "onDragEnter", "isEventPertinent", "onDragLeave", "draggableProps", "relatedTarget", "contains", "rowClassname", "rowSelected", "rowSelectedClassname", "rowSelectedWithFrozenCell", "topSummaryRowClassname", "bottomSummaryRowClassname", "headerRow", "headerRowClassname", "HeaderRow", "selectedCellIdx", "useId", "cells", "HeaderRow$1", "memo", "GroupedColumnHeaderRow", "renderedParents", "add", "GroupedColumnHeaderRow$1", "cellCopied", "cellCopiedClassname", "cellDraggedOver", "cellDraggedOverClassname", "Cell", "isCopied", "isDraggedOver", "onContextMenu", "isEditable", "selectCellWrapper", "openEditor", "handleClick", "handleContextMenu", "handleRowChange", "newRow", "Cell$1", "Row", "copiedCellIdx", "draggedOverCellIdx", "selectedCellEditor", "onCellClick", "onCellDoubleClick", "onCellContextMenu", "rowClass", "onMouseEnter", "handleDragEnter", "selectionValue", "RowComponent", "forwardRef", "defaultRenderRow", "ScrollToCell", "scrollToPosition", "gridElement", "setScrollToCellPosition", "removeScrollToCell", "observer", "IntersectionObserver", "root", "threshold", "gridColumn", "gridRow", "arrow", "arrowClassname", "renderSortIcon", "renderSortPriority", "viewBox", "d", "rootClassname", "viewportDragging", "viewportDraggingClassname", "focusSinkClassname", "focusSinkHeaderAndSummaryClassname", "summaryCellClassname", "SummaryCell", "summaryCellClass", "renderSummaryCell", "SummaryCell$1", "summaryRow", "topSummaryRow", "summaryRowClassname", "SummaryRow", "bottom", "isTop", "ariaRowIndex", "SummaryRow$1", "DataGrid", "rowKeyGetter", "rawRowHeight", "headerRowHeight", "rawHeaderRowHeight", "summaryRowHeight", "rawSummaryRowHeight", "selectedRows", "onSelectedRowsChange", "onCellKeyDown", "onSelectedCellChange", "onScroll", "onCopy", "onPaste", "rawEnableVirtualization", "renderers", "rawDirection", "rawRole", "ariaDescribedBy", "rawAriaRowCount", "testId", "defaultRenderers", "renderRow", "defaultRenderSortStatus", "defaultRenderCheckbox", "noRowsFallback", "setScrollTop", "setScrollLeft", "copiedCell", "setCopiedCell", "draggedOverRowIdx", "setOverRowIdx", "setScrollToPosition", "gridHeight", "bottomSummaryRowsCount", "summaryRowsCount", "headerAndTopSummaryRowsCount", "groupedColumnHeaderRowsCount", "setSelectedPosition", "prevSelectedPosition", "lastSelectedRowIdx", "focusSinkRef", "shouldFocusCellRef", "isTreeGrid", "headerRowsHeight", "summaryRowsHeight", "isSelectable", "leftKey", "rightKey", "ariaRowCount", "defaultGridComponents", "headerSelectionValue", "hasSelectedRow", "hasUnselectedRow", "minColIdx", "selectedCellIsWithinSelectionBounds", "isCellWithinSelectionBounds", "selectedCellIsWithinViewportBounds", "isCellWithinViewportBounds", "scrollHeight", "handleColumnResizeLatest", "onColumnsReorderLastest", "onSortColumnsChangeLatest", "onCellClickLatest", "onCellDoubleClickLatest", "onCellContextMenuLatest", "selectHeaderRowLatest", "selectHeaderRow", "selectRowLatest", "selectRow", "handleFormatterRowChangeLatest", "updateRow", "selectCellLatest", "selectHeaderCellLatest", "isSamePosition", "focus", "preventScroll", "focusCellOrCellContent", "useImperativeHandle", "scrollToCell", "scrollToIdx", "scrollToRowIdx", "isRowIdxWithinViewportBounds", "newSelectedRows", "rowKey", "previousRowIdx", "indexOf", "step", "Element", "isCellEvent", "isRowEvent", "cKey", "getSelection", "isCollapsed", "handleCopy", "handlePaste", "handleCellInput", "handleScroll", "commitEditorChanges", "sourceColumnKey", "targetColumn", "updatedTargetRow", "targetColumnKey", "originalRow", "isColIdxWithinSelectionBounds", "isCellWithinEditBounds", "enableEditor", "samePosition", "getCellToScroll", "getNextPosition", "nextRowY", "nextSelectedCellPosition", "getDraggedOverCellIdx", "renderDragHandle", "getCellEditor", "getRowViewportColumns", "selectedColumn", "slice", "getViewportRows", "rowElements", "selectedIdx", "selectedRowIdx", "viewportRowIdx", "isRowOutsideViewport", "rowColumns", "c", "templateRows", "isGroupRowFocused", "scrollPaddingInlineStart", "scrollPaddingBlock", "dir", "Array", "from", "_", "summaryRowIdx", "isSummaryRowSelected", "gridEl", "p1", "p2", "DataGrid$1", "groupRow", "groupRowClassname", "textEditorInternalClassname", "textEditorClassname", "useData", "widget", "Gs", "React", "data", "copyAndSort", "items", "attribute", "descending", "a", "b", "EmptyRowsRenderer", "message", "Ee", "ReactTable", "table", "multiSelect", "columnTypes", "columnPatterns", "columnFormats", "listColumns", "setListColumns", "setSortColumn", "setRows", "setSelectedRows", "formatter", "__hpcc_pattern", "__hpcc_format", "timeParse", "timeFormat", "format", "futureSortColumn", "sorted", "isSortedDescending", "retVal", "val", "Table", "HTMLWidget", "pattern", "domNode", "Tp", "Pp", "col", "sel", "d3Select", "instanceOfIHighlight", "Database", "Palette", "SVGWidget", "d3Format", "d3ScaleOrdinal", "ze", "Pe", "Ae", "Oe", "ke", "He", "Ie", "Fe", "HTMLWidget", "d3Event", "d3Drag", "Platform", "Utility", "Text", "require_gridList", "__commonJSMin", "exports", "module", "root", "factory", "GridList", "__name", "items", "options", "k", "_items", "_item", "i", "widthOfGrid", "output", "border", "item", "j", "lanes", "currentColumn", "position", "start", "fixedRow", "x", "y", "newCol", "newRow", "newPosition", "size", "width", "height", "initialItems", "idAttribute", "changedItems", "item1", "item2", "position1", "position2", "row", "col", "N", "GridCol", "collidingItems", "_gridList", "leftOfItem", "rightOfItem", "aboveOfItem", "belowOfItem", "collidingItem", "collidingPosition", "fixedItem", "fixedPosition", "tail", "otherItem", "otherPosition", "key", "value", "nr", "prefix", "e", "AbsoluteSurface", "HTMLWidget", "__name", "domNode", "element", "xPos", "yPos", "width", "height", "widgets", "d", "Accordion", "widget", "prepend", "protect", "contentArr", "arr", "i", "context", "FAChar", "this_id", "rows", "li", "wSize", "cSize", "Surface", "titleDiv", "widgetDiv", "element2", "titles", "surfaceButtons", "button", "idx", "el", "d3Select", "_d", "widgetSize", "obj", "w", "Cell", "_", "opacity", "indicatorBorderColor", "indicatorGlowColor", "otherElement", "otherWidget", "d3SelectAll", "Border", "paramId", "newVal", "oldVal", "Utility", "layoutObj", "cell", "sectionType", "layoutType", "retObj", "topSize", "topPerc", "bottomSize", "bottomPerc", "leftSize", "leftPerc", "rightSize", "rightPerc", "bcRect", "gridRect", "t", "_sectionPlacementObject", "b", "l", "r", "c", "contentWidget", "title", "id", "handle", "event", "d3Event", "handleElm", "xDelta", "yDelta", "_moveHandles", "handle2", "delta", "handles", "grabbedHandle", "handle3", "retVal", "Platform", "rowsUpdate", "drag", "d3Drag", "contentRect", "rect", "size", "n", "prevBox", "currBox", "WidgetDiv", "div", "getBBox", "availableHeight", "availableWidth", "overflowX", "overflowY", "Border2", "topElement", "centerElement", "leftElement", "rightElement", "bottomElement", "sectionA", "sectionB", "a", "callback", "topBBox", "bottomBBox", "leftBBox", "rightBBox", "bodyWidth", "bodyHeight", "centerOverflowX", "centerOverflowY", "scrollCenterX", "scrollCenterY", "promises", "Carousel", "active", "widgetElements", "update", "aw", "w2", "pi", "tau", "epsilon", "tauEpsilon", "Path", "path", "x", "y", "x1", "y1", "x2", "y2", "x0", "y0", "x21", "y21", "x01", "y01", "l01_2", "x20", "y20", "l21_2", "l20_2", "l21", "l01", "t01", "t21", "a0", "a1", "ccw", "dx", "dy", "cw", "da", "h", "path_default", "constant_default", "halfPi", "circle_default", "cross_default", "tan30", "tan30_2", "diamond_default", "ka", "kr", "kx", "ky", "star_default", "s", "square_default", "sqrt3", "triangle_default", "k", "wye_default", "symbol_default", "type", "symbol", "buffer", "Me", "d3_identity", "d3_reverse", "mirror", "length", "d3_textWrapping", "text", "each", "select", "words", "split", "reverse", "word", "line", "lineNumber", "lineHeight", "attr", "parseFloat", "tspan", "append", "pop", "push", "p", "join", "node", "getComputedTextLength", "d3_mergeLabels", "gen", "labels", "domain", "range", "labelDelimiter", "_typeof", "customLabels", "genLength", "d3_linearLegend", "scale", "cells", "labelFormat", "data", "o", "increment", "map", "d3_quantLegend", "invert", "invertExtent", "d3_ordinalLegend", "d3_cellOver", "cellDispatcher", "call", "d3_cellOut", "d3_cellClick", "helper", "shape", "shapes", "shapeHeight", "shapeWidth", "shapeRadius", "svg", "enter", "classPrefix", "labelWidth", "selectAll", "ascending", "ticks", "cellFilter", "filterCells", "label", "filter", "dataValues", "labelValues", "indexOf", "orient", "cellTrans", "textTrans", "labelAlign", "style", "dispatcher", "on", "Ge", "Ye", "Xe", "titleWidth", "titleText", "cellsSvg", "yOffset", "nodes", "xOffset", "Pe", "Oe", "color", "scaleLinear", "shapePadding", "useClass", "locale", "d3_defaultLocale", "specifier", "d3_defaultFormatSpecifier", "labelOffset", "d3_defaultDelimiter", "labelWrap", "legendDispatcher", "dispatch", "legend", "d3_calcType", "format", "legendG", "Zt", "d3_filterCells", "cellEnter", "at", "V", "d3_addEvents", "et", "exit", "transition", "remove", "N", "merge", "d3_drawShapes", "d3_addText", "textSize", "shapeSize", "feature", "textAlign", "cellSize", "Math", "max", "ct", "sum", "slice", "pt", "d3_placement", "d3_title", "arguments", "T", "formatLocale", "formatSpecifier", "g", "u", "toLowerCase", "textWrap", "value", "apply", "Legend", "SVGWidget", "owner", "Database", "row", "disabledCols", "anyDisabled", "col", "disabled", "key", "newProp", "oldProp", "source", "Palette", "sel", "palette", "dataArr", "total", "maxLabelWidth", "colLength", "columns", "fillColor", "val", "acc", "d3Format", "steps", "weightMin", "weightMax", "stepWeightDiff", "mid", "radius", "strokeWidth", "ordinal", "d3ScaleOrdinal", "legendCellsBbox", "offsetX", "offsetY", "extraWidth", "extraHeight", "legendTotal", "totalText", "totalOffsetX", "totalOffsetY", "circleSize", "disabledIdx", "instanceOfIHighlight", "rowData", "rowIdx", "_size", "bbox", "Modal", "relativeTarget", "modalRect", "headerRect", "header_h", "ChartPanel", "ProgressBar", "ToggleButton", "Text", "origCloseFunc", "Button", "selected", "Spacer", "TitleBar", "Table", "asDefault", "namePrefix", "nameSuffix", "column", "cssTag", "highlight", "scale_x", "scale_y", "x_is_smaller", "chart", "widgetIconBar", "IconBar", "buttons", "hiddenButtons", "iconDiv", "_node", "containerRect", "icon_top", "parentRect", "more", "tmpAny", "FlexGrid", "cachedSizes", "listItems", "flexBasis", "flexGrow", "_GridList", "ae", "qt", "GridList", "ut", "Grid", "rowSpan", "colSpan", "item", "origItem", "pos", "resize", "transitionDuration", "_noRender", "dimensions", "clientWidth", "cellLaneRatio", "laneWidth", "divItems", "lanesBackground", "lanes", "selectionObj", "layoutArr", "elem", "HorizontalList", "Layered", "placement", "widthRatio", "heightRatio", "content", "clientSize", "widgetPosition", "Popup", "visible", "left", "top", "Tabbed", "isActive", "surface", "tcBox", "tabs", "Toolbar", "childWidgets", "widgetClass", "toolbarBBox", "minX", "childBBox", "VerticalList", "IGraph", "INDChart", "HTMLWidget", "Utility", "d3Map", "Utility_exports", "__export", "requireWidget", "requireWidgets", "Utility", "requireWidget", "classID", "resolve", "_reject", "parsedClassID", "Utility", "__require", "Package", "Widget", "__name", "requireWidgets", "classIDs", "MultiChart", "HTMLWidget", "__name", "INDChart", "IGraph", "item", "newItem", "_", "retVal", "asDefault", "chartType", "callback", "classInfo", "Utility", "mod", "requireWidget", "WidgetClass", "oldContent", "context", "newContent", "size", "domNode", "element", "content", "d", "currChart", "key", "propKey", "_callback", "args", "d3Map", "_origChart", "_row", "_column", "_selected", "row", "column", "selected", "more", "newVal", "oldVal", "e", "Summary", "HTMLWidget", "__name", "domNode", "element", "MultiChartPanel", "f", "MultiChart", "_", "OnOff", "PropertyEditor", "e", "Dermatology", "z", "__name", "M", "PropertyEditor", "_", "widget", "domNode", "element", "context", "OnOff", "callback", "Text", "Utility", "Button", "Input", "Select", "Html", "Legend", "d3Select", "e", "MegaChart", "z", "__name", "MultiChart", "M", "Text", "Legend", "context", "_", "asDefault", "Utility", "domNode", "element", "Html", "Button", "a", "buttonWidget", "target", "node", "isMaximized", "d3Select", "parentGrid", "targetElement", "targetParentBox", "targetPaddingTop", "targetPaddingLeft", "targetPaddingRight", "targetPaddingBottom", "grid", "gridTarget", "gridBox", "gridPaddingTop", "gridPaddingLeft", "gridPaddingRight", "gridPaddingBottom", "Input", "Select", "showHideButton", "twArr2", "button", "show", "idx", "twArr", "legendPosition", "obj", "t", "r", "b", "l", "state", "chart", "row", "column", "selected", "col", "sel", "more", "Persist_exports", "__export", "clone", "create", "deserialize", "deserializeFromObject", "retrofit_114_serialization", "Platform", "Utility", "Persist", "retrofit_114_serialization", "state", "replacement_version", "state_version_obj", "Utility", "target_version_obj", "_json_str", "ret_obj", "n", "__name", "deserializeFromObject", "widget", "promises", "Persist", "w", "item", "widgetKey", "create", "w2", "widgetArrayKey", "widgetStateArray", "arrPromises", "widgetState", "widgetItem", "widgetArray", "widgets", "key", "deserialize", "Platform", "requireWidget", "WidgetClass", "e", "clone"]
|
|
7
|
+
}
|