@hpcc-js/composite 3.1.0 → 3.2.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 +6234 -1144
- package/dist/index.js.map +1 -7
- package/dist/index.umd.cjs +8 -0
- package/dist/index.umd.cjs.map +1 -0
- package/package.json +20 -19
- package/src/__package__.ts +2 -2
- package/types/__package__.d.ts +2 -2
package/dist/index.js.map
CHANGED
|
@@ -1,7 +1 @@
|
|
|
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
|
-
}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/__package__.ts","../../dgrid2/dist/index.js","../../layout/dist/index.js","../src/Utility.ts","../src/MultiChart.ts","../src/ChartPanel.ts","../src/Dermatology.ts","../src/MegaChart.ts","../src/Persist.ts"],"sourcesContent":["export const PKG_NAME = \"@hpcc-js/composite\";\nexport const PKG_VERSION = \"3.1.1\";\nexport const BUILD_VERSION = \"3.2.1\";\n","(function(){\"use strict\";try{if(typeof document<\"u\"){var r=document.createElement(\"style\");r.appendChild(document.createTextNode('@layer rdg{@layer Defaults,FocusSink,CheckboxInput,CheckboxIcon,CheckboxLabel,Cell,HeaderCell,SummaryCell,EditCell,Row,HeaderRow,SummaryRow,GroupedRow,Root;}@layer rdg.MeasuringCell{.mlln6zg7-0-0-beta-47{contain:strict;grid-row:1;visibility:hidden}}@layer rdg.Cell{.cj343x07-0-0-beta-47{position:relative;padding-block:0;padding-inline:8px;border-inline-end:1px solid var(--rdg-border-color);border-block-end:1px solid var(--rdg-border-color);grid-row-start:var(--rdg-grid-row-start);align-content:center;background-color:inherit;white-space:nowrap;overflow:clip;text-overflow:ellipsis;outline:none}.cj343x07-0-0-beta-47[aria-selected=true]{outline:2px solid var(--rdg-selection-color);outline-offset:-2px}}@layer rdg.Cell{.csofj7r7-0-0-beta-47{position:sticky;z-index:1}.csofj7r7-0-0-beta-47:nth-last-child(1 of.csofj7r7-0-0-beta-47){box-shadow:var(--rdg-cell-frozen-box-shadow)}}@layer rdg.CheckboxInput{.c1bn88vv7-0-0-beta-47{display:block;margin:auto;inline-size:20px;block-size:20px}.c1bn88vv7-0-0-beta-47:focus-visible{outline:2px solid var(--rdg-checkbox-focus-color);outline-offset:-3px}.c1bn88vv7-0-0-beta-47:enabled{cursor:pointer}}@layer rdg.GroupCellContent{.g1s9ylgp7-0-0-beta-47{outline:none}}@layer rdg.GroupCellCaret{.cz54e4y7-0-0-beta-47{margin-inline-start:4px;stroke:currentColor;stroke-width:1.5px;fill:transparent;vertical-align:middle}.cz54e4y7-0-0-beta-47>path{transition:d .1s}}@layer rdg.DragHandle{.c1w9bbhr7-0-0-beta-47{--rdg-drag-handle-size: 8px;z-index:0;cursor:move;inline-size:var(--rdg-drag-handle-size);block-size:var(--rdg-drag-handle-size);background-color:var(--rdg-selection-color);place-self:end}.c1w9bbhr7-0-0-beta-47:hover{--rdg-drag-handle-size: 16px;border:2px solid var(--rdg-selection-color);background-color:var(--rdg-background-color)}}@layer rdg.DragHandle{.c1creorc7-0-0-beta-47{z-index:1;position:sticky}}@layer rdg.EditCell{.cis5rrm7-0-0-beta-47{padding:0}}@layer rdg.SortableHeaderCell{.h44jtk67-0-0-beta-47{display:flex}}@layer rdg.SortableHeaderCellName{.hcgkhxz7-0-0-beta-47{flex-grow:1;overflow:clip;text-overflow:ellipsis}}@layer rdg.HeaderCell{.c6l2wv17-0-0-beta-47{cursor:pointer}}@layer rdg.HeaderCell{.c1kqdw7y7-0-0-beta-47{touch-action:none}}@layer rdg.HeaderCell{.r1y6ywlx7-0-0-beta-47{cursor:col-resize;position:absolute;inset-block-start:0;inset-inline-end:0;inset-block-end:0;inline-size:10px}}.c1bezg5o7-0-0-beta-47{opacity:.5}.c1vc96037-0-0-beta-47{background-color:var(--rdg-header-draggable-background-color)}@layer rdg.Row{.r1upfr807-0-0-beta-47{display:contents;background-color:var(--rdg-background-color)}.r1upfr807-0-0-beta-47:hover{background-color:var(--rdg-row-hover-background-color)}.r1upfr807-0-0-beta-47[aria-selected=true]{background-color:var(--rdg-row-selected-background-color)}.r1upfr807-0-0-beta-47[aria-selected=true]:hover{background-color:var(--rdg-row-selected-hover-background-color)}}@layer rdg.FocusSink{.r190mhd37-0-0-beta-47{outline:2px solid var(--rdg-selection-color);outline-offset:-2px}}@layer rdg.FocusSink{.r139qu9m7-0-0-beta-47:before{content:\"\";display:inline-block;block-size:100%;position:sticky;inset-inline-start:0;border-inline-start:2px solid var(--rdg-selection-color)}}@layer rdg.HeaderRow{.h10tskcx7-0-0-beta-47{display:contents;background-color:var(--rdg-header-background-color);font-weight:700}.h10tskcx7-0-0-beta-47>.cj343x07-0-0-beta-47{z-index:2;position:sticky}.h10tskcx7-0-0-beta-47>.csofj7r7-0-0-beta-47{z-index:3}}@layer rdg.Cell{.c6ra8a37-0-0-beta-47{background-color:#ccf}}@layer rdg.Cell{.cq910m07-0-0-beta-47{background-color:#ccf}.cq910m07-0-0-beta-47.c6ra8a37-0-0-beta-47{background-color:#99f}}@layer rdg.SortIcon{.a3ejtar7-0-0-beta-47{fill:currentColor}.a3ejtar7-0-0-beta-47>path{transition:d .1s}}@layer rdg.Defaults{.rnvodz57-0-0-beta-47 *,.rnvodz57-0-0-beta-47 *:before,.rnvodz57-0-0-beta-47 *:after{box-sizing:inherit}}@layer rdg.Root{.rnvodz57-0-0-beta-47{--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%);--rdg-selection-color: #66afe9;--rdg-font-size: 14px;--rdg-cell-frozen-box-shadow: 2px 0 5px -2px rgba(136, 136, 136, .3);display:grid;color-scheme:var(--rdg-color-scheme, light dark);accent-color:light-dark(hsl(207deg 100% 29%),hsl(207deg 100% 79%));contain:content;content-visibility:auto;block-size:350px;border:1px solid var(--rdg-border-color);box-sizing:border-box;overflow:auto;background-color:var(--rdg-background-color);color:var(--rdg-color);font-size:var(--rdg-font-size)}.rnvodz57-0-0-beta-47:dir(rtl){--rdg-cell-frozen-box-shadow: -2px 0 5px -2px rgba(136, 136, 136, .3)}.rnvodz57-0-0-beta-47:before{content:\"\";grid-column:1/-1;grid-row:1/-1}.rnvodz57-0-0-beta-47.rdg-dark{--rdg-color-scheme: dark;--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%)}.rnvodz57-0-0-beta-47.rdg-light{--rdg-color-scheme: light}@media (prefers-color-scheme: dark){.rnvodz57-0-0-beta-47:not(.rdg-light){--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%)}}.rnvodz57-0-0-beta-47>:nth-last-child(1 of.rdg-top-summary-row)>.cj343x07-0-0-beta-47{border-block-end:2px solid var(--rdg-summary-border-color)}.rnvodz57-0-0-beta-47>:nth-child(1 of.rdg-bottom-summary-row)>.cj343x07-0-0-beta-47{border-block-start:2px solid var(--rdg-summary-border-color)}}@layer rdg.Root{.vlqv91k7-0-0-beta-47{-webkit-user-select:none;user-select:none}.vlqv91k7-0-0-beta-47 .r1upfr807-0-0-beta-47{cursor:move}}@layer rdg.FocusSink{.f1lsfrzw7-0-0-beta-47{grid-column:1/-1;pointer-events:none;z-index:1}}@layer rdg.FocusSink{.f1cte0lg7-0-0-beta-47{z-index:3}}@layer rdg.SummaryCell{.s8wc6fl7-0-0-beta-47{inset-block-start:var(--rdg-summary-row-top);inset-block-end:var(--rdg-summary-row-bottom)}}@layer rdg.SummaryRow{.skuhp557-0-0-beta-47>.cj343x07-0-0-beta-47{position:sticky}}@layer rdg.SummaryRow{.tf8l5ub7-0-0-beta-47>.cj343x07-0-0-beta-47{z-index:2}.tf8l5ub7-0-0-beta-47>.csofj7r7-0-0-beta-47{z-index:3}}@layer rdg.GroupedRow{.g1yxluv37-0-0-beta-47:not([aria-selected=true]){background-color:var(--rdg-header-background-color)}.g1yxluv37-0-0-beta-47>.cj343x07-0-0-beta-47:not(:last-child,.csofj7r7-0-0-beta-47),.g1yxluv37-0-0-beta-47>:nth-last-child(n+2 of.csofj7r7-0-0-beta-47){border-inline-end:none}}@layer rdg.TextEditor{.t7vyx3i7-0-0-beta-47{-webkit-appearance:none;-moz-appearance:none;appearance:none;box-sizing:border-box;inline-size:100%;block-size:100%;padding-block:0;padding-inline:6px;border:2px solid #ccc;vertical-align:top;color:var(--rdg-color);background-color:var(--rdg-background-color);font-family:inherit;font-size:var(--rdg-font-size)}.t7vyx3i7-0-0-beta-47:focus{border-color:var(--rdg-selection-color);outline:none}.t7vyx3i7-0-0-beta-47::placeholder{color:#999;opacity:1}}.dgrid2_Table .rdg{font-family:monospace,Courier New,Courier}.dgrid2_Table .rdg-checkbox-label .rdg-checkbox{block-size:16px;inline-size:16px;border-width:2px;box-shadow:inset 0 0 0 3px var(--rdg-background-color)}')),document.head.appendChild(r)}}catch(e){console.error(\"vite-plugin-css-injected-by-js\",e)}})();\nvar __defProp = Object.defineProperty;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: !0, configurable: !0, writable: !0, value }) : obj[key] = value;\nvar __publicField = (obj, key, value) => __defNormalProp(obj, typeof key != \"symbol\" ? key + \"\" : key, value);\nimport { format, timeParse, timeFormat, HTMLWidget } from \"@hpcc-js/common\";\nconst PKG_NAME = \"@hpcc-js/dgrid2\", PKG_VERSION = \"3.1.1\", BUILD_VERSION = \"3.2.1\";\nvar n, l$1, u$2, i$1, o$1, r$2, f$2, e$1, c$1, s$1, a$1, h$1 = {}, v$1 = [], p$1 = /acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i, y$1 = Array.isArray;\nfunction d$1(n2, l2) {\n for (var u2 in l2) n2[u2] = l2[u2];\n return n2;\n}\nfunction w$2(n2) {\n n2 && n2.parentNode && n2.parentNode.removeChild(n2);\n}\nfunction _$1(l2, u2, t2) {\n var i2, o2, r2, f2 = {};\n for (r2 in u2) r2 == \"key\" ? i2 = u2[r2] : r2 == \"ref\" ? o2 = u2[r2] : f2[r2] = u2[r2];\n if (arguments.length > 2 && (f2.children = arguments.length > 3 ? n.call(arguments, 2) : t2), typeof l2 == \"function\" && l2.defaultProps != null) for (r2 in l2.defaultProps) f2[r2] === void 0 && (f2[r2] = l2.defaultProps[r2]);\n return g$2(l2, f2, i2, o2, null);\n}\nfunction g$2(n2, t2, i2, o2, r2) {\n var f2 = { type: n2, props: t2, key: i2, ref: o2, __k: null, __: null, __b: 0, __e: null, __d: void 0, __c: null, constructor: void 0, __v: r2 ?? ++u$2, __i: -1, __u: 0 };\n return r2 == null && l$1.vnode != null && l$1.vnode(f2), f2;\n}\nfunction m$1() {\n return { current: null };\n}\nfunction b(n2) {\n return n2.children;\n}\nfunction k$2(n2, l2) {\n this.props = n2, this.context = l2;\n}\nfunction x$2(n2, l2) {\n if (l2 == null) return n2.__ ? x$2(n2.__, n2.__i + 1) : null;\n for (var u2; l2 < n2.__k.length; l2++) if ((u2 = n2.__k[l2]) != null && u2.__e != null) return u2.__e;\n return typeof n2.type == \"function\" ? x$2(n2) : null;\n}\nfunction C$2(n2) {\n var l2, u2;\n if ((n2 = n2.__) != null && n2.__c != null) {\n for (n2.__e = n2.__c.base = null, l2 = 0; l2 < n2.__k.length; l2++) if ((u2 = n2.__k[l2]) != null && u2.__e != null) {\n n2.__e = n2.__c.base = u2.__e;\n break;\n }\n return C$2(n2);\n }\n}\nfunction S(n2) {\n (!n2.__d && (n2.__d = !0) && i$1.push(n2) && !M$1.__r++ || o$1 !== l$1.debounceRendering) && ((o$1 = l$1.debounceRendering) || r$2)(M$1);\n}\nfunction M$1() {\n var n2, u2, t2, o2, r2, e2, c2, s2;\n for (i$1.sort(f$2); n2 = i$1.shift(); ) n2.__d && (u2 = i$1.length, o2 = void 0, e2 = (r2 = (t2 = n2).__v).__e, c2 = [], s2 = [], t2.__P && ((o2 = d$1({}, r2)).__v = r2.__v + 1, l$1.vnode && l$1.vnode(o2), O$1(t2.__P, o2, r2, t2.__n, t2.__P.namespaceURI, 32 & r2.__u ? [e2] : null, c2, e2 ?? x$2(r2), !!(32 & r2.__u), s2), o2.__v = r2.__v, o2.__.__k[o2.__i] = o2, j$2(c2, o2, s2), o2.__e != e2 && C$2(o2)), i$1.length > u2 && i$1.sort(f$2));\n M$1.__r = 0;\n}\nfunction P$2(n2, l2, u2, t2, i2, o2, r2, f2, e2, c2, s2) {\n var a2, p2, y2, d2, w2, _2 = t2 && t2.__k || v$1, g2 = l2.length;\n for (u2.__d = e2, $$1(u2, l2, _2), e2 = u2.__d, a2 = 0; a2 < g2; a2++) (y2 = u2.__k[a2]) != null && (p2 = y2.__i === -1 ? h$1 : _2[y2.__i] || h$1, y2.__i = a2, O$1(n2, y2, p2, i2, o2, r2, f2, e2, c2, s2), d2 = y2.__e, y2.ref && p2.ref != y2.ref && (p2.ref && E$1(p2.ref, null, y2), s2.push(y2.ref, y2.__c || d2, y2)), w2 == null && d2 != null && (w2 = d2), 65536 & y2.__u || p2.__k === y2.__k ? e2 = I$1(y2, e2, n2) : typeof y2.type == \"function\" && y2.__d !== void 0 ? e2 = y2.__d : d2 && (e2 = d2.nextSibling), y2.__d = void 0, y2.__u &= -196609);\n u2.__d = e2, u2.__e = w2;\n}\nfunction $$1(n2, l2, u2) {\n var t2, i2, o2, r2, f2, e2 = l2.length, c2 = u2.length, s2 = c2, a2 = 0;\n for (n2.__k = [], t2 = 0; t2 < e2; t2++) (i2 = l2[t2]) != null && typeof i2 != \"boolean\" && typeof i2 != \"function\" ? (r2 = t2 + a2, (i2 = n2.__k[t2] = typeof i2 == \"string\" || typeof i2 == \"number\" || typeof i2 == \"bigint\" || i2.constructor == String ? g$2(null, i2, null, null, null) : y$1(i2) ? g$2(b, { children: i2 }, null, null, null) : i2.constructor === void 0 && i2.__b > 0 ? g$2(i2.type, i2.props, i2.key, i2.ref ? i2.ref : null, i2.__v) : i2).__ = n2, i2.__b = n2.__b + 1, o2 = null, (f2 = i2.__i = L$1(i2, u2, r2, s2)) !== -1 && (s2--, (o2 = u2[f2]) && (o2.__u |= 131072)), o2 == null || o2.__v === null ? (f2 == -1 && a2--, typeof i2.type != \"function\" && (i2.__u |= 65536)) : f2 !== r2 && (f2 == r2 - 1 ? a2-- : f2 == r2 + 1 ? a2++ : (f2 > r2 ? a2-- : a2++, i2.__u |= 65536))) : i2 = n2.__k[t2] = null;\n if (s2) for (t2 = 0; t2 < c2; t2++) (o2 = u2[t2]) != null && !(131072 & o2.__u) && (o2.__e == n2.__d && (n2.__d = x$2(o2)), N$1(o2, o2));\n}\nfunction I$1(n2, l2, u2) {\n var t2, i2;\n if (typeof n2.type == \"function\") {\n for (t2 = n2.__k, i2 = 0; t2 && i2 < t2.length; i2++) t2[i2] && (t2[i2].__ = n2, l2 = I$1(t2[i2], l2, u2));\n return l2;\n }\n n2.__e != l2 && (l2 && n2.type && !u2.contains(l2) && (l2 = x$2(n2)), u2.insertBefore(n2.__e, l2 || null), l2 = n2.__e);\n do\n l2 = l2 && l2.nextSibling;\n while (l2 != null && l2.nodeType === 8);\n return l2;\n}\nfunction H$1(n2, l2) {\n return l2 = l2 || [], n2 == null || typeof n2 == \"boolean\" || (y$1(n2) ? n2.some(function(n3) {\n H$1(n3, l2);\n }) : l2.push(n2)), l2;\n}\nfunction L$1(n2, l2, u2, t2) {\n var i2 = n2.key, o2 = n2.type, r2 = u2 - 1, f2 = u2 + 1, e2 = l2[u2];\n if (e2 === null || e2 && i2 == e2.key && o2 === e2.type && !(131072 & e2.__u)) return u2;\n if ((typeof o2 != \"function\" || o2 === b || i2) && t2 > (e2 != null && !(131072 & e2.__u) ? 1 : 0)) for (; r2 >= 0 || f2 < l2.length; ) {\n if (r2 >= 0) {\n if ((e2 = l2[r2]) && !(131072 & e2.__u) && i2 == e2.key && o2 === e2.type) return r2;\n r2--;\n }\n if (f2 < l2.length) {\n if ((e2 = l2[f2]) && !(131072 & e2.__u) && i2 == e2.key && o2 === e2.type) return f2;\n f2++;\n }\n }\n return -1;\n}\nfunction T$2(n2, l2, u2) {\n l2[0] === \"-\" ? n2.setProperty(l2, u2 ?? \"\") : n2[l2] = u2 == null ? \"\" : typeof u2 != \"number\" || p$1.test(l2) ? u2 : u2 + \"px\";\n}\nfunction A$2(n2, l2, u2, t2, i2) {\n var o2;\n n: if (l2 === \"style\") if (typeof u2 == \"string\") n2.style.cssText = u2;\n else {\n if (typeof t2 == \"string\" && (n2.style.cssText = t2 = \"\"), t2) for (l2 in t2) u2 && l2 in u2 || T$2(n2.style, l2, \"\");\n if (u2) for (l2 in u2) t2 && u2[l2] === t2[l2] || T$2(n2.style, l2, u2[l2]);\n }\n else if (l2[0] === \"o\" && l2[1] === \"n\") o2 = l2 !== (l2 = l2.replace(/(PointerCapture)$|Capture$/i, \"$1\")), l2 = l2.toLowerCase() in n2 || l2 === \"onFocusOut\" || l2 === \"onFocusIn\" ? l2.toLowerCase().slice(2) : l2.slice(2), n2.l || (n2.l = {}), n2.l[l2 + o2] = u2, u2 ? t2 ? u2.u = t2.u : (u2.u = e$1, n2.addEventListener(l2, o2 ? s$1 : c$1, o2)) : n2.removeEventListener(l2, o2 ? s$1 : c$1, o2);\n else {\n if (i2 == \"http://www.w3.org/2000/svg\") l2 = l2.replace(/xlink(H|:h)/, \"h\").replace(/sName$/, \"s\");\n else if (l2 != \"width\" && l2 != \"height\" && l2 != \"href\" && l2 != \"list\" && l2 != \"form\" && l2 != \"tabIndex\" && l2 != \"download\" && l2 != \"rowSpan\" && l2 != \"colSpan\" && l2 != \"role\" && l2 != \"popover\" && l2 in n2) try {\n n2[l2] = u2 ?? \"\";\n break n;\n } catch {\n }\n typeof u2 == \"function\" || (u2 == null || u2 === !1 && l2[4] !== \"-\" ? n2.removeAttribute(l2) : n2.setAttribute(l2, l2 == \"popover\" && u2 == 1 ? \"\" : u2));\n }\n}\nfunction F$2(n2) {\n return function(u2) {\n if (this.l) {\n var t2 = this.l[u2.type + n2];\n if (u2.t == null) u2.t = e$1++;\n else if (u2.t < t2.u) return;\n return l$1.event && (u2 = l$1.event(u2)), \"handleEvent\" in t2 ? t2.handleEvent(u2) : t2(u2);\n }\n };\n}\nfunction O$1(n2, u2, t2, i2, o2, r2, f2, e2, c2, s2) {\n var a2, h2, v2, p2, w2, _2, g2, m2, x2, C2, S2, M2, $2, I2, H2, L2, T2 = u2.type;\n if (u2.constructor !== void 0) return null;\n 128 & t2.__u && (c2 = !!(32 & t2.__u), r2 = [e2 = u2.__e = t2.__e]), (a2 = l$1.__b) && a2(u2);\n n: if (typeof T2 == \"function\") try {\n if (m2 = u2.props, x2 = \"prototype\" in T2 && T2.prototype.render, C2 = (a2 = T2.contextType) && i2[a2.__c], S2 = a2 ? C2 ? C2.props.value : a2.__ : i2, t2.__c ? g2 = (h2 = u2.__c = t2.__c).__ = h2.__E : (x2 ? u2.__c = h2 = new T2(m2, S2) : (u2.__c = h2 = new k$2(m2, S2), h2.constructor = T2, h2.render = V$1), C2 && C2.sub(h2), h2.props = m2, h2.state || (h2.state = {}), h2.context = S2, h2.__n = i2, v2 = h2.__d = !0, h2.__h = [], h2._sb = []), x2 && h2.__s == null && (h2.__s = h2.state), x2 && T2.getDerivedStateFromProps != null && (h2.__s == h2.state && (h2.__s = d$1({}, h2.__s)), d$1(h2.__s, T2.getDerivedStateFromProps(m2, h2.__s))), p2 = h2.props, w2 = h2.state, h2.__v = u2, v2) x2 && T2.getDerivedStateFromProps == null && h2.componentWillMount != null && h2.componentWillMount(), x2 && h2.componentDidMount != null && h2.__h.push(h2.componentDidMount);\n else {\n if (x2 && T2.getDerivedStateFromProps == null && m2 !== p2 && h2.componentWillReceiveProps != null && h2.componentWillReceiveProps(m2, S2), !h2.__e && (h2.shouldComponentUpdate != null && h2.shouldComponentUpdate(m2, h2.__s, S2) === !1 || u2.__v === t2.__v)) {\n for (u2.__v !== t2.__v && (h2.props = m2, h2.state = h2.__s, h2.__d = !1), u2.__e = t2.__e, u2.__k = t2.__k, u2.__k.some(function(n3) {\n n3 && (n3.__ = u2);\n }), M2 = 0; M2 < h2._sb.length; M2++) h2.__h.push(h2._sb[M2]);\n h2._sb = [], h2.__h.length && f2.push(h2);\n break n;\n }\n h2.componentWillUpdate != null && h2.componentWillUpdate(m2, h2.__s, S2), x2 && h2.componentDidUpdate != null && h2.__h.push(function() {\n h2.componentDidUpdate(p2, w2, _2);\n });\n }\n if (h2.context = S2, h2.props = m2, h2.__P = n2, h2.__e = !1, $2 = l$1.__r, I2 = 0, x2) {\n for (h2.state = h2.__s, h2.__d = !1, $2 && $2(u2), a2 = h2.render(h2.props, h2.state, h2.context), H2 = 0; H2 < h2._sb.length; H2++) h2.__h.push(h2._sb[H2]);\n h2._sb = [];\n } else do\n h2.__d = !1, $2 && $2(u2), a2 = h2.render(h2.props, h2.state, h2.context), h2.state = h2.__s;\n while (h2.__d && ++I2 < 25);\n h2.state = h2.__s, h2.getChildContext != null && (i2 = d$1(d$1({}, i2), h2.getChildContext())), x2 && !v2 && h2.getSnapshotBeforeUpdate != null && (_2 = h2.getSnapshotBeforeUpdate(p2, w2)), P$2(n2, y$1(L2 = a2 != null && a2.type === b && a2.key == null ? a2.props.children : a2) ? L2 : [L2], u2, t2, i2, o2, r2, f2, e2, c2, s2), h2.base = u2.__e, u2.__u &= -161, h2.__h.length && f2.push(h2), g2 && (h2.__E = h2.__ = null);\n } catch (n3) {\n if (u2.__v = null, c2 || r2 != null) {\n for (u2.__u |= c2 ? 160 : 128; e2 && e2.nodeType === 8 && e2.nextSibling; ) e2 = e2.nextSibling;\n r2[r2.indexOf(e2)] = null, u2.__e = e2;\n } else u2.__e = t2.__e, u2.__k = t2.__k;\n l$1.__e(n3, u2, t2);\n }\n else r2 == null && u2.__v === t2.__v ? (u2.__k = t2.__k, u2.__e = t2.__e) : u2.__e = z$2(t2.__e, u2, t2, i2, o2, r2, f2, c2, s2);\n (a2 = l$1.diffed) && a2(u2);\n}\nfunction j$2(n2, u2, t2) {\n u2.__d = void 0;\n for (var i2 = 0; i2 < t2.length; i2++) E$1(t2[i2], t2[++i2], t2[++i2]);\n l$1.__c && l$1.__c(u2, n2), n2.some(function(u3) {\n try {\n n2 = u3.__h, u3.__h = [], n2.some(function(n3) {\n n3.call(u3);\n });\n } catch (n3) {\n l$1.__e(n3, u3.__v);\n }\n });\n}\nfunction z$2(u2, t2, i2, o2, r2, f2, e2, c2, s2) {\n var a2, v2, p2, d2, _2, g2, m2, b2 = i2.props, k2 = t2.props, C2 = t2.type;\n if (C2 === \"svg\" ? r2 = \"http://www.w3.org/2000/svg\" : C2 === \"math\" ? r2 = \"http://www.w3.org/1998/Math/MathML\" : r2 || (r2 = \"http://www.w3.org/1999/xhtml\"), f2 != null) {\n for (a2 = 0; a2 < f2.length; a2++) if ((_2 = f2[a2]) && \"setAttribute\" in _2 == !!C2 && (C2 ? _2.localName === C2 : _2.nodeType === 3)) {\n u2 = _2, f2[a2] = null;\n break;\n }\n }\n if (u2 == null) {\n if (C2 === null) return document.createTextNode(k2);\n u2 = document.createElementNS(r2, C2, k2.is && k2), c2 && (l$1.__m && l$1.__m(t2, f2), c2 = !1), f2 = null;\n }\n if (C2 === null) b2 === k2 || c2 && u2.data === k2 || (u2.data = k2);\n else {\n if (f2 = f2 && n.call(u2.childNodes), b2 = i2.props || h$1, !c2 && f2 != null) for (b2 = {}, a2 = 0; a2 < u2.attributes.length; a2++) b2[(_2 = u2.attributes[a2]).name] = _2.value;\n for (a2 in b2) if (_2 = b2[a2], a2 != \"children\") {\n if (a2 == \"dangerouslySetInnerHTML\") p2 = _2;\n else if (!(a2 in k2)) {\n if (a2 == \"value\" && \"defaultValue\" in k2 || a2 == \"checked\" && \"defaultChecked\" in k2) continue;\n A$2(u2, a2, null, _2, r2);\n }\n }\n for (a2 in k2) _2 = k2[a2], a2 == \"children\" ? d2 = _2 : a2 == \"dangerouslySetInnerHTML\" ? v2 = _2 : a2 == \"value\" ? g2 = _2 : a2 == \"checked\" ? m2 = _2 : c2 && typeof _2 != \"function\" || b2[a2] === _2 || A$2(u2, a2, _2, b2[a2], r2);\n if (v2) c2 || p2 && (v2.__html === p2.__html || v2.__html === u2.innerHTML) || (u2.innerHTML = v2.__html), t2.__k = [];\n else if (p2 && (u2.innerHTML = \"\"), P$2(u2, y$1(d2) ? d2 : [d2], t2, i2, o2, C2 === \"foreignObject\" ? \"http://www.w3.org/1999/xhtml\" : r2, f2, e2, f2 ? f2[0] : i2.__k && x$2(i2, 0), c2, s2), f2 != null) for (a2 = f2.length; a2--; ) w$2(f2[a2]);\n c2 || (a2 = \"value\", C2 === \"progress\" && g2 == null ? u2.removeAttribute(\"value\") : g2 !== void 0 && (g2 !== u2[a2] || C2 === \"progress\" && !g2 || C2 === \"option\" && g2 !== b2[a2]) && A$2(u2, a2, g2, b2[a2], r2), a2 = \"checked\", m2 !== void 0 && m2 !== u2[a2] && A$2(u2, a2, m2, b2[a2], r2));\n }\n return u2;\n}\nfunction E$1(n2, u2, t2) {\n try {\n if (typeof n2 == \"function\") {\n var i2 = typeof n2.__u == \"function\";\n i2 && n2.__u(), i2 && u2 == null || (n2.__u = n2(u2));\n } else n2.current = u2;\n } catch (n3) {\n l$1.__e(n3, t2);\n }\n}\nfunction N$1(n2, u2, t2) {\n var i2, o2;\n if (l$1.unmount && l$1.unmount(n2), (i2 = n2.ref) && (i2.current && i2.current !== n2.__e || E$1(i2, null, u2)), (i2 = n2.__c) != null) {\n if (i2.componentWillUnmount) try {\n i2.componentWillUnmount();\n } catch (n3) {\n l$1.__e(n3, u2);\n }\n i2.base = i2.__P = null;\n }\n if (i2 = n2.__k) for (o2 = 0; o2 < i2.length; o2++) i2[o2] && N$1(i2[o2], u2, t2 || typeof n2.type != \"function\");\n t2 || w$2(n2.__e), n2.__c = n2.__ = n2.__e = n2.__d = void 0;\n}\nfunction V$1(n2, l2, u2) {\n return this.constructor(n2, u2);\n}\nfunction q$2(u2, t2, i2) {\n var o2, r2, f2, e2;\n l$1.__ && l$1.__(u2, t2), r2 = (o2 = typeof i2 == \"function\") ? null : i2 && i2.__k || t2.__k, f2 = [], e2 = [], O$1(t2, u2 = (!o2 && i2 || t2).__k = _$1(b, null, [u2]), r2 || h$1, h$1, t2.namespaceURI, !o2 && i2 ? [i2] : r2 ? null : t2.firstChild ? n.call(t2.childNodes) : null, f2, !o2 && i2 ? i2 : r2 ? r2.__e : t2.firstChild, o2, e2), j$2(f2, u2, e2);\n}\nfunction B$2(n2, l2) {\n q$2(n2, l2, B$2);\n}\nfunction D$2(l2, u2, t2) {\n var i2, o2, r2, f2, e2 = d$1({}, l2.props);\n for (r2 in l2.type && l2.type.defaultProps && (f2 = l2.type.defaultProps), u2) r2 == \"key\" ? i2 = u2[r2] : r2 == \"ref\" ? o2 = u2[r2] : e2[r2] = u2[r2] === void 0 && f2 !== void 0 ? f2[r2] : u2[r2];\n return arguments.length > 2 && (e2.children = arguments.length > 3 ? n.call(arguments, 2) : t2), g$2(l2.type, e2, i2 || l2.key, o2 || l2.ref, null);\n}\nfunction G$1(n2, l2) {\n var u2 = { __c: l2 = \"__cC\" + a$1++, __: n2, Consumer: function(n3, l3) {\n return n3.children(l3);\n }, Provider: function(n3) {\n var u3, t2;\n return this.getChildContext || (u3 = /* @__PURE__ */ new Set(), (t2 = {})[l2] = this, this.getChildContext = function() {\n return t2;\n }, this.componentWillUnmount = function() {\n u3 = null;\n }, this.shouldComponentUpdate = function(n4) {\n this.props.value !== n4.value && u3.forEach(function(n5) {\n n5.__e = !0, S(n5);\n });\n }, this.sub = function(n4) {\n u3.add(n4);\n var l3 = n4.componentWillUnmount;\n n4.componentWillUnmount = function() {\n u3 && u3.delete(n4), l3 && l3.call(n4);\n };\n }), n3.children;\n } };\n return u2.Provider.__ = u2.Consumer.contextType = u2;\n}\nn = v$1.slice, l$1 = { __e: function(n2, l2, u2, t2) {\n for (var i2, o2, r2; l2 = l2.__; ) if ((i2 = l2.__c) && !i2.__) try {\n if ((o2 = i2.constructor) && o2.getDerivedStateFromError != null && (i2.setState(o2.getDerivedStateFromError(n2)), r2 = i2.__d), i2.componentDidCatch != null && (i2.componentDidCatch(n2, t2 || {}), r2 = i2.__d), r2) return i2.__E = i2;\n } catch (l3) {\n n2 = l3;\n }\n throw n2;\n} }, u$2 = 0, k$2.prototype.setState = function(n2, l2) {\n var u2;\n u2 = this.__s != null && this.__s !== this.state ? this.__s : this.__s = d$1({}, this.state), typeof n2 == \"function\" && (n2 = n2(d$1({}, u2), this.props)), n2 && d$1(u2, n2), n2 != null && this.__v && (l2 && this._sb.push(l2), S(this));\n}, k$2.prototype.forceUpdate = function(n2) {\n this.__v && (this.__e = !0, n2 && this.__h.push(n2), S(this));\n}, k$2.prototype.render = b, i$1 = [], r$2 = typeof Promise == \"function\" ? Promise.prototype.then.bind(Promise.resolve()) : setTimeout, f$2 = function(n2, l2) {\n return n2.__v.__b - l2.__v.__b;\n}, M$1.__r = 0, e$1 = 0, c$1 = F$2(!1), s$1 = F$2(!0), a$1 = 0;\nvar f$1 = 0;\nfunction u$1(e2, t2, n2, o2, i2, u2) {\n t2 || (t2 = {});\n var a2, c2, l2 = t2;\n \"ref\" in t2 && (a2 = t2.ref, delete t2.ref);\n var p2 = { type: e2, props: l2, key: n2, ref: a2, __k: null, __: null, __b: 0, __e: null, __d: void 0, __c: null, constructor: void 0, __v: --f$1, __i: -1, __u: 0, __source: i2, __self: u2 };\n if (typeof e2 == \"function\" && (a2 = e2.defaultProps)) for (c2 in a2) l2[c2] === void 0 && (l2[c2] = a2[c2]);\n return l$1.vnode && l$1.vnode(p2), p2;\n}\nvar t, r$1, u, i, o = 0, f = [], c = l$1, e = c.__b, a = c.__r, v = c.diffed, l = c.__c, m = c.unmount, s = c.__;\nfunction d(n2, t2) {\n c.__h && c.__h(r$1, n2, o || t2), o = 0;\n var u2 = r$1.__H || (r$1.__H = { __: [], __h: [] });\n return n2 >= u2.__.length && u2.__.push({}), u2.__[n2];\n}\nfunction h(n2) {\n return o = 1, p(D$1, n2);\n}\nfunction p(n2, u2, i2) {\n var o2 = d(t++, 2);\n if (o2.t = n2, !o2.__c && (o2.__ = [i2 ? i2(u2) : D$1(void 0, u2), function(n3) {\n var t2 = o2.__N ? o2.__N[0] : o2.__[0], r2 = o2.t(t2, n3);\n t2 !== r2 && (o2.__N = [r2, o2.__[1]], o2.__c.setState({}));\n }], o2.__c = r$1, !r$1.u)) {\n var f2 = function(n3, t2, r2) {\n if (!o2.__c.__H) return !0;\n var u3 = o2.__c.__H.__.filter(function(n4) {\n return !!n4.__c;\n });\n if (u3.every(function(n4) {\n return !n4.__N;\n })) return !c2 || c2.call(this, n3, t2, r2);\n var i3 = o2.__c.props !== n3;\n return u3.forEach(function(n4) {\n if (n4.__N) {\n var t3 = n4.__[0];\n n4.__ = n4.__N, n4.__N = void 0, t3 !== n4.__[0] && (i3 = !0);\n }\n }), c2 && c2.call(this, n3, t2, r2) || i3;\n };\n r$1.u = !0;\n var c2 = r$1.shouldComponentUpdate, e2 = r$1.componentWillUpdate;\n r$1.componentWillUpdate = function(n3, t2, r2) {\n if (this.__e) {\n var u3 = c2;\n c2 = void 0, f2(n3, t2, r2), c2 = u3;\n }\n e2 && e2.call(this, n3, t2, r2);\n }, r$1.shouldComponentUpdate = f2;\n }\n return o2.__N || o2.__;\n}\nfunction y(n2, u2) {\n var i2 = d(t++, 3);\n !c.__s && C$1(i2.__H, u2) && (i2.__ = n2, i2.i = u2, r$1.__H.__h.push(i2));\n}\nfunction _(n2, u2) {\n var i2 = d(t++, 4);\n !c.__s && C$1(i2.__H, u2) && (i2.__ = n2, i2.i = u2, r$1.__h.push(i2));\n}\nfunction A$1(n2) {\n return o = 5, T$1(function() {\n return { current: n2 };\n }, []);\n}\nfunction F$1(n2, t2, r2) {\n o = 6, _(function() {\n return typeof n2 == \"function\" ? (n2(t2()), function() {\n return n2(null);\n }) : n2 ? (n2.current = t2(), function() {\n return n2.current = null;\n }) : void 0;\n }, r2 == null ? r2 : r2.concat(n2));\n}\nfunction T$1(n2, r2) {\n var u2 = d(t++, 7);\n return C$1(u2.__H, r2) && (u2.__ = n2(), u2.__H = r2, u2.__h = n2), u2.__;\n}\nfunction q$1(n2, t2) {\n return o = 8, T$1(function() {\n return n2;\n }, t2);\n}\nfunction x$1(n2) {\n var u2 = r$1.context[n2.__c], i2 = d(t++, 9);\n return i2.c = n2, u2 ? (i2.__ == null && (i2.__ = !0, u2.sub(r$1)), u2.props.value) : n2.__;\n}\nfunction P$1(n2, t2) {\n c.useDebugValue && c.useDebugValue(t2 ? t2(n2) : n2);\n}\nfunction g$1() {\n var n2 = d(t++, 11);\n if (!n2.__) {\n for (var u2 = r$1.__v; u2 !== null && !u2.__m && u2.__ !== null; ) u2 = u2.__;\n var i2 = u2.__m || (u2.__m = [0, 0]);\n n2.__ = \"P\" + i2[0] + \"-\" + i2[1]++;\n }\n return n2.__;\n}\nfunction j$1() {\n for (var n2; n2 = f.shift(); ) if (n2.__P && n2.__H) try {\n n2.__H.__h.forEach(z$1), n2.__H.__h.forEach(B$1), n2.__H.__h = [];\n } catch (t2) {\n n2.__H.__h = [], c.__e(t2, n2.__v);\n }\n}\nc.__b = function(n2) {\n r$1 = null, e && e(n2);\n}, c.__ = function(n2, t2) {\n n2 && t2.__k && t2.__k.__m && (n2.__m = t2.__k.__m), s && s(n2, t2);\n}, c.__r = function(n2) {\n a && a(n2), t = 0;\n var i2 = (r$1 = n2.__c).__H;\n i2 && (u === r$1 ? (i2.__h = [], r$1.__h = [], i2.__.forEach(function(n3) {\n n3.__N && (n3.__ = n3.__N), n3.i = n3.__N = void 0;\n })) : (i2.__h.forEach(z$1), i2.__h.forEach(B$1), i2.__h = [], t = 0)), u = r$1;\n}, c.diffed = function(n2) {\n v && v(n2);\n var t2 = n2.__c;\n t2 && t2.__H && (t2.__H.__h.length && (f.push(t2) !== 1 && i === c.requestAnimationFrame || ((i = c.requestAnimationFrame) || w$1)(j$1)), t2.__H.__.forEach(function(n3) {\n n3.i && (n3.__H = n3.i), n3.i = void 0;\n })), u = r$1 = null;\n}, c.__c = function(n2, t2) {\n t2.some(function(n3) {\n try {\n n3.__h.forEach(z$1), n3.__h = n3.__h.filter(function(n4) {\n return !n4.__ || B$1(n4);\n });\n } catch (r2) {\n t2.some(function(n4) {\n n4.__h && (n4.__h = []);\n }), t2 = [], c.__e(r2, n3.__v);\n }\n }), l && l(n2, t2);\n}, c.unmount = function(n2) {\n m && m(n2);\n var t2, r2 = n2.__c;\n r2 && r2.__H && (r2.__H.__.forEach(function(n3) {\n try {\n z$1(n3);\n } catch (n4) {\n t2 = n4;\n }\n }), r2.__H = void 0, t2 && c.__e(t2, r2.__v));\n};\nvar k$1 = typeof requestAnimationFrame == \"function\";\nfunction w$1(n2) {\n var t2, r2 = function() {\n clearTimeout(u2), k$1 && cancelAnimationFrame(t2), setTimeout(n2);\n }, u2 = setTimeout(r2, 100);\n k$1 && (t2 = requestAnimationFrame(r2));\n}\nfunction z$1(n2) {\n var t2 = r$1, u2 = n2.__c;\n typeof u2 == \"function\" && (n2.__c = void 0, u2()), r$1 = t2;\n}\nfunction B$1(n2) {\n var t2 = r$1;\n n2.__c = n2.__(), r$1 = t2;\n}\nfunction C$1(n2, t2) {\n return !n2 || n2.length !== t2.length || t2.some(function(t3, r2) {\n return t3 !== n2[r2];\n });\n}\nfunction D$1(n2, t2) {\n return typeof t2 == \"function\" ? t2(n2) : t2;\n}\nfunction g(n2, t2) {\n for (var e2 in n2) if (e2 !== \"__source\" && !(e2 in t2)) return !0;\n for (var r2 in t2) if (r2 !== \"__source\" && n2[r2] !== t2[r2]) return !0;\n return !1;\n}\nfunction E(n2, t2) {\n var e2 = t2(), r2 = h({ t: { __: e2, u: t2 } }), u2 = r2[0].t, o2 = r2[1];\n return _(function() {\n u2.__ = e2, u2.u = t2, C(u2) && o2({ t: u2 });\n }, [n2, e2, t2]), y(function() {\n return C(u2) && o2({ t: u2 }), n2(function() {\n C(u2) && o2({ t: u2 });\n });\n }, [n2]), e2;\n}\nfunction C(n2) {\n var t2, e2, r2 = n2.u, u2 = n2.__;\n try {\n var o2 = r2();\n return !((t2 = u2) === (e2 = o2) && (t2 !== 0 || 1 / t2 == 1 / e2) || t2 != t2 && e2 != e2);\n } catch {\n return !0;\n }\n}\nfunction x(n2) {\n n2();\n}\nfunction R(n2) {\n return n2;\n}\nfunction w() {\n return [!1, x];\n}\nvar k = _;\nfunction I(n2, t2) {\n this.props = n2, this.context = t2;\n}\nfunction N(n2, e2) {\n function r2(n3) {\n var t2 = this.props.ref, r3 = t2 == n3.ref;\n return !r3 && t2 && (t2.call ? t2(null) : t2.current = null), e2 ? !e2(this.props, n3) || !r3 : g(this.props, n3);\n }\n function u2(e3) {\n return this.shouldComponentUpdate = r2, _$1(n2, e3);\n }\n return u2.displayName = \"Memo(\" + (n2.displayName || n2.name) + \")\", u2.prototype.isReactComponent = !0, u2.__f = !0, u2;\n}\n(I.prototype = new k$2()).isPureReactComponent = !0, I.prototype.shouldComponentUpdate = function(n2, t2) {\n return g(this.props, n2) || g(this.state, t2);\n};\nvar M = l$1.__b;\nl$1.__b = function(n2) {\n n2.type && n2.type.__f && n2.ref && (n2.props.ref = n2.ref, n2.ref = null), M && M(n2);\n};\nvar T = typeof Symbol < \"u\" && Symbol.for && Symbol.for(\"react.forward_ref\") || 3911;\nfunction A(n2) {\n function t2(t3) {\n if (!(\"ref\" in t3)) return n2(t3, null);\n var e2 = t3.ref;\n delete t3.ref;\n var r2 = n2(t3, e2);\n return t3.ref = e2, r2;\n }\n return t2.$$typeof = T, t2.render = t2, t2.prototype.isReactComponent = t2.__f = !0, t2.displayName = \"ForwardRef(\" + (n2.displayName || n2.name) + \")\", t2;\n}\nvar D = function(n2, t2) {\n return n2 == null ? null : H$1(H$1(n2).map(t2));\n}, L = { map: D, forEach: D, count: function(n2) {\n return n2 ? H$1(n2).length : 0;\n}, only: function(n2) {\n var t2 = H$1(n2);\n if (t2.length !== 1) throw \"Children.only\";\n return t2[0];\n}, toArray: H$1 }, O = l$1.__e;\nl$1.__e = function(n2, t2, e2, r2) {\n if (n2.then) {\n for (var u2, o2 = t2; o2 = o2.__; ) if ((u2 = o2.__c) && u2.__c) return t2.__e == null && (t2.__e = e2.__e, t2.__k = e2.__k), u2.__c(n2, t2);\n }\n O(n2, t2, e2, r2);\n};\nvar F = l$1.unmount;\nfunction U(n2, t2, e2) {\n return n2 && (n2.__c && n2.__c.__H && (n2.__c.__H.__.forEach(function(n3) {\n typeof n3.__c == \"function\" && n3.__c();\n }), n2.__c.__H = null), (n2 = function(n3, t3) {\n for (var e3 in t3) n3[e3] = t3[e3];\n return n3;\n }({}, n2)).__c != null && (n2.__c.__P === e2 && (n2.__c.__P = t2), n2.__c = null), n2.__k = n2.__k && n2.__k.map(function(n3) {\n return U(n3, t2, e2);\n })), n2;\n}\nfunction V(n2, t2, e2) {\n return n2 && e2 && (n2.__v = null, n2.__k = n2.__k && n2.__k.map(function(n3) {\n return V(n3, t2, e2);\n }), n2.__c && n2.__c.__P === t2 && (n2.__e && e2.appendChild(n2.__e), n2.__c.__e = !0, n2.__c.__P = e2)), n2;\n}\nfunction W() {\n this.__u = 0, this.o = null, this.__b = null;\n}\nfunction P(n2) {\n var t2 = n2.__.__c;\n return t2 && t2.__a && t2.__a(n2);\n}\nfunction j(n2) {\n var e2, r2, u2;\n function o2(o3) {\n if (e2 || (e2 = n2()).then(function(n3) {\n r2 = n3.default || n3;\n }, function(n3) {\n u2 = n3;\n }), u2) throw u2;\n if (!r2) throw e2;\n return _$1(r2, o3);\n }\n return o2.displayName = \"Lazy\", o2.__f = !0, o2;\n}\nfunction z() {\n this.i = null, this.l = null;\n}\nl$1.unmount = function(n2) {\n var t2 = n2.__c;\n t2 && t2.__R && t2.__R(), t2 && 32 & n2.__u && (n2.type = null), F && F(n2);\n}, (W.prototype = new k$2()).__c = function(n2, t2) {\n var e2 = t2.__c, r2 = this;\n r2.o == null && (r2.o = []), r2.o.push(e2);\n var u2 = P(r2.__v), o2 = !1, i2 = function() {\n o2 || (o2 = !0, e2.__R = null, u2 ? u2(c2) : c2());\n };\n e2.__R = i2;\n var c2 = function() {\n if (!--r2.__u) {\n if (r2.state.__a) {\n var n3 = r2.state.__a;\n r2.__v.__k[0] = V(n3, n3.__c.__P, n3.__c.__O);\n }\n var t3;\n for (r2.setState({ __a: r2.__b = null }); t3 = r2.o.pop(); ) t3.forceUpdate();\n }\n };\n r2.__u++ || 32 & t2.__u || r2.setState({ __a: r2.__b = r2.__v.__k[0] }), n2.then(i2, i2);\n}, W.prototype.componentWillUnmount = function() {\n this.o = [];\n}, W.prototype.render = function(n2, e2) {\n if (this.__b) {\n if (this.__v.__k) {\n var r2 = document.createElement(\"div\"), o2 = this.__v.__k[0].__c;\n this.__v.__k[0] = U(this.__b, r2, o2.__O = o2.__P);\n }\n this.__b = null;\n }\n var i2 = e2.__a && _$1(b, null, n2.fallback);\n return i2 && (i2.__u &= -33), [_$1(b, null, e2.__a ? null : n2.children), i2];\n};\nvar B = function(n2, t2, e2) {\n if (++e2[1] === e2[0] && n2.l.delete(t2), n2.props.revealOrder && (n2.props.revealOrder[0] !== \"t\" || !n2.l.size)) for (e2 = n2.i; e2; ) {\n for (; e2.length > 3; ) e2.pop()();\n if (e2[1] < e2[0]) break;\n n2.i = e2 = e2[2];\n }\n};\nfunction H(n2) {\n return this.getChildContext = function() {\n return n2.context;\n }, n2.children;\n}\nfunction Z(n2) {\n var e2 = this, r2 = n2.h;\n e2.componentWillUnmount = function() {\n q$2(null, e2.v), e2.v = null, e2.h = null;\n }, e2.h && e2.h !== r2 && e2.componentWillUnmount(), e2.v || (e2.h = r2, e2.v = { nodeType: 1, parentNode: r2, childNodes: [], contains: function() {\n return !0;\n }, appendChild: function(n3) {\n this.childNodes.push(n3), e2.h.appendChild(n3);\n }, insertBefore: function(n3, t2) {\n this.childNodes.push(n3), e2.h.appendChild(n3);\n }, removeChild: function(n3) {\n this.childNodes.splice(this.childNodes.indexOf(n3) >>> 1, 1), e2.h.removeChild(n3);\n } }), q$2(_$1(H, { context: e2.context }, n2.__v), e2.v);\n}\nfunction Y(n2, e2) {\n var r2 = _$1(Z, { __v: n2, h: e2 });\n return r2.containerInfo = e2, r2;\n}\n(z.prototype = new k$2()).__a = function(n2) {\n var t2 = this, e2 = P(t2.__v), r2 = t2.l.get(n2);\n return r2[0]++, function(u2) {\n var o2 = function() {\n t2.props.revealOrder ? (r2.push(u2), B(t2, n2, r2)) : u2();\n };\n e2 ? e2(o2) : o2();\n };\n}, z.prototype.render = function(n2) {\n this.i = null, this.l = /* @__PURE__ */ new Map();\n var t2 = H$1(n2.children);\n n2.revealOrder && n2.revealOrder[0] === \"b\" && t2.reverse();\n for (var e2 = t2.length; e2--; ) this.l.set(t2[e2], this.i = [1, 0, this.i]);\n return n2.children;\n}, z.prototype.componentDidUpdate = z.prototype.componentDidMount = function() {\n var n2 = this;\n this.l.forEach(function(t2, e2) {\n B(n2, e2, t2);\n });\n};\nvar $ = typeof Symbol < \"u\" && Symbol.for && Symbol.for(\"react.element\") || 60103, q = /^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image(!S)|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/, G = /^on(Ani|Tra|Tou|BeforeInp|Compo)/, J = /[A-Z0-9]/g, K = typeof document < \"u\", Q = function(n2) {\n return (typeof Symbol < \"u\" && typeof Symbol() == \"symbol\" ? /fil|che|rad/ : /fil|che|ra/).test(n2);\n};\nfunction X(n2, t2, e2) {\n return t2.__k == null && (t2.textContent = \"\"), q$2(n2, t2), typeof e2 == \"function\" && e2(), n2 ? n2.__c : null;\n}\nfunction nn(n2, t2, e2) {\n return B$2(n2, t2), typeof e2 == \"function\" && e2(), n2 ? n2.__c : null;\n}\nk$2.prototype.isReactComponent = {}, [\"componentWillMount\", \"componentWillReceiveProps\", \"componentWillUpdate\"].forEach(function(t2) {\n Object.defineProperty(k$2.prototype, t2, { configurable: !0, get: function() {\n return this[\"UNSAFE_\" + t2];\n }, set: function(n2) {\n Object.defineProperty(this, t2, { configurable: !0, writable: !0, value: n2 });\n } });\n});\nvar tn = l$1.event;\nfunction en() {\n}\nfunction rn() {\n return this.cancelBubble;\n}\nfunction un() {\n return this.defaultPrevented;\n}\nl$1.event = function(n2) {\n return tn && (n2 = tn(n2)), n2.persist = en, n2.isPropagationStopped = rn, n2.isDefaultPrevented = un, n2.nativeEvent = n2;\n};\nvar on, cn = { enumerable: !1, configurable: !0, get: function() {\n return this.class;\n} }, fn = l$1.vnode;\nl$1.vnode = function(n2) {\n typeof n2.type == \"string\" && function(n3) {\n var t2 = n3.props, e2 = n3.type, u2 = {}, o2 = e2.indexOf(\"-\") === -1;\n for (var i2 in t2) {\n var c2 = t2[i2];\n if (!(i2 === \"value\" && \"defaultValue\" in t2 && c2 == null || K && i2 === \"children\" && e2 === \"noscript\" || i2 === \"class\" || i2 === \"className\")) {\n var f2 = i2.toLowerCase();\n i2 === \"defaultValue\" && \"value\" in t2 && t2.value == null ? i2 = \"value\" : i2 === \"download\" && c2 === !0 ? c2 = \"\" : f2 === \"translate\" && c2 === \"no\" ? c2 = !1 : f2[0] === \"o\" && f2[1] === \"n\" ? f2 === \"ondoubleclick\" ? i2 = \"ondblclick\" : f2 !== \"onchange\" || e2 !== \"input\" && e2 !== \"textarea\" || Q(t2.type) ? f2 === \"onfocus\" ? i2 = \"onfocusin\" : f2 === \"onblur\" ? i2 = \"onfocusout\" : G.test(i2) && (i2 = f2) : f2 = i2 = \"oninput\" : o2 && q.test(i2) ? i2 = i2.replace(J, \"-$&\").toLowerCase() : c2 === null && (c2 = void 0), f2 === \"oninput\" && u2[i2 = f2] && (i2 = \"oninputCapture\"), u2[i2] = c2;\n }\n }\n e2 == \"select\" && u2.multiple && Array.isArray(u2.value) && (u2.value = H$1(t2.children).forEach(function(n4) {\n n4.props.selected = u2.value.indexOf(n4.props.value) != -1;\n })), e2 == \"select\" && u2.defaultValue != null && (u2.value = H$1(t2.children).forEach(function(n4) {\n n4.props.selected = u2.multiple ? u2.defaultValue.indexOf(n4.props.value) != -1 : u2.defaultValue == n4.props.value;\n })), t2.class && !t2.className ? (u2.class = t2.class, Object.defineProperty(u2, \"className\", cn)) : (t2.className && !t2.class || t2.class && t2.className) && (u2.class = u2.className = t2.className), n3.props = u2;\n }(n2), n2.$$typeof = $, fn && fn(n2);\n};\nvar ln = l$1.__r;\nl$1.__r = function(n2) {\n ln && ln(n2), on = n2.__c;\n};\nvar an = l$1.diffed;\nl$1.diffed = function(n2) {\n an && an(n2);\n var t2 = n2.props, e2 = n2.__e;\n e2 != null && n2.type === \"textarea\" && \"value\" in t2 && t2.value !== e2.value && (e2.value = t2.value == null ? \"\" : t2.value), on = null;\n};\nvar sn = { ReactCurrentDispatcher: { current: { readContext: function(n2) {\n return on.__n[n2.__c].props.value;\n}, useCallback: q$1, useContext: x$1, useDebugValue: P$1, useDeferredValue: R, useEffect: y, useId: g$1, useImperativeHandle: F$1, useInsertionEffect: k, useLayoutEffect: _, useMemo: T$1, useReducer: p, useRef: A$1, useState: h, useSyncExternalStore: E, useTransition: w } } };\nfunction vn(n2) {\n return _$1.bind(null, n2);\n}\nfunction dn(n2) {\n return !!n2 && n2.$$typeof === $;\n}\nfunction pn(n2) {\n return dn(n2) && n2.type === b;\n}\nfunction mn(n2) {\n return !!n2 && !!n2.displayName && (typeof n2.displayName == \"string\" || n2.displayName instanceof String) && n2.displayName.startsWith(\"Memo(\");\n}\nfunction yn(n2) {\n return dn(n2) ? D$2.apply(null, arguments) : n2;\n}\nfunction _n(n2) {\n return !!n2.__k && (q$2(null, n2), !0);\n}\nfunction bn(n2) {\n return n2 && (n2.base || n2.nodeType === 1 && n2) || null;\n}\nvar Sn = function(n2, t2) {\n return n2(t2);\n}, gn = function(n2, t2) {\n return n2(t2);\n}, En = b, Cn = dn, xn = { useState: h, useId: g$1, useReducer: p, useEffect: y, useLayoutEffect: _, useInsertionEffect: k, useTransition: w, useDeferredValue: R, useSyncExternalStore: E, startTransition: x, useRef: A$1, useImperativeHandle: F$1, useMemo: T$1, useCallback: q$1, useContext: x$1, useDebugValue: P$1, version: \"18.3.1\", Children: L, render: X, hydrate: nn, unmountComponentAtNode: _n, createPortal: Y, createElement: _$1, createContext: G$1, createFactory: vn, cloneElement: yn, createRef: m$1, Fragment: b, isValidElement: dn, isElement: Cn, isFragment: pn, isMemo: mn, findDOMNode: bn, Component: k$2, PureComponent: I, memo: N, forwardRef: A, flushSync: gn, unstable_batchedUpdates: Sn, StrictMode: En, Suspense: W, SuspenseList: z, lazy: j, __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED: sn };\nfunction r(e2) {\n var t2, f2, n2 = \"\";\n if (typeof e2 == \"string\" || typeof e2 == \"number\") n2 += e2;\n else if (typeof e2 == \"object\") if (Array.isArray(e2)) {\n var o2 = e2.length;\n for (t2 = 0; t2 < o2; t2++) e2[t2] && (f2 = r(e2[t2])) && (n2 && (n2 += \" \"), n2 += f2);\n } else for (f2 in e2) e2[f2] && (n2 && (n2 += \" \"), n2 += f2);\n return n2;\n}\nfunction clsx() {\n for (var e2, t2, f2 = 0, n2 = \"\", o2 = arguments.length; f2 < o2; f2++) (e2 = arguments[f2]) && (t2 = r(e2)) && (n2 && (n2 += \" \"), n2 += t2);\n return n2;\n}\nfunction getColSpan(column, lastFrozenColumnIndex, args) {\n const colSpan = typeof column.colSpan == \"function\" ? column.colSpan(args) : 1;\n if (Number.isInteger(colSpan) && colSpan > 1 && (!column.frozen || column.idx + colSpan - 1 <= lastFrozenColumnIndex))\n return colSpan;\n}\nfunction stopPropagation(event) {\n event.stopPropagation();\n}\nfunction scrollIntoView(element) {\n element == null || element.scrollIntoView({\n inline: \"nearest\",\n block: \"nearest\"\n });\n}\nfunction createCellEvent(event) {\n let defaultPrevented = !1;\n const cellEvent = {\n ...event,\n preventGridDefault() {\n defaultPrevented = !0;\n },\n isGridDefaultPrevented() {\n return defaultPrevented;\n }\n };\n return Object.setPrototypeOf(cellEvent, Object.getPrototypeOf(event)), cellEvent;\n}\nconst nonInputKeys = /* @__PURE__ */ new Set([\"Unidentified\", \"Alt\", \"AltGraph\", \"CapsLock\", \"Control\", \"Fn\", \"FnLock\", \"Meta\", \"NumLock\", \"ScrollLock\", \"Shift\", \"Tab\", \"ArrowDown\", \"ArrowLeft\", \"ArrowRight\", \"ArrowUp\", \"End\", \"Home\", \"PageDown\", \"PageUp\", \"Insert\", \"ContextMenu\", \"Escape\", \"Pause\", \"Play\", \"PrintScreen\", \"F1\", \"F3\", \"F4\", \"F5\", \"F6\", \"F7\", \"F8\", \"F9\", \"F10\", \"F11\", \"F12\"]);\nfunction isCtrlKeyHeldDown(e2) {\n return (e2.ctrlKey || e2.metaKey) && e2.key !== \"Control\";\n}\nfunction isDefaultCellInput(event) {\n return isCtrlKeyHeldDown(event) && event.keyCode !== 86 ? !1 : !nonInputKeys.has(event.key);\n}\nfunction onEditorNavigation({\n key,\n target\n}) {\n var _a;\n return key === \"Tab\" && (target instanceof HTMLInputElement || target instanceof HTMLTextAreaElement || target instanceof HTMLSelectElement) ? ((_a = target.closest(\".rdg-editor-container\")) == null ? void 0 : _a.querySelectorAll(\"input, textarea, select\").length) === 1 : !1;\n}\nconst measuringCellClassname = \"mlln6zg7-0-0-beta-47\";\nfunction renderMeasuringCells(viewportColumns) {\n return viewportColumns.map(({\n key,\n idx,\n minWidth,\n maxWidth\n }) => /* @__PURE__ */ u$1(\"div\", {\n className: measuringCellClassname,\n style: {\n gridColumnStart: idx + 1,\n minWidth,\n maxWidth\n },\n \"data-measuring-cell-key\": key\n }, key));\n}\nfunction isSelectedCellEditable({\n selectedPosition,\n columns,\n rows\n}) {\n const column = columns[selectedPosition.idx], row2 = rows[selectedPosition.rowIdx];\n return isCellEditableUtil(column, row2);\n}\nfunction isCellEditableUtil(column, row2) {\n return column.renderEditCell != null && (typeof column.editable == \"function\" ? column.editable(row2) : column.editable) !== !1;\n}\nfunction getSelectedCellColSpan({\n rows,\n topSummaryRows,\n bottomSummaryRows,\n rowIdx,\n mainHeaderRowIdx,\n lastFrozenColumnIndex,\n column\n}) {\n const topSummaryRowsCount = (topSummaryRows == null ? void 0 : topSummaryRows.length) ?? 0;\n if (rowIdx === mainHeaderRowIdx)\n return getColSpan(column, lastFrozenColumnIndex, {\n type: \"HEADER\"\n });\n if (topSummaryRows && rowIdx > mainHeaderRowIdx && rowIdx <= topSummaryRowsCount + mainHeaderRowIdx)\n return getColSpan(column, lastFrozenColumnIndex, {\n type: \"SUMMARY\",\n row: topSummaryRows[rowIdx + topSummaryRowsCount]\n });\n if (rowIdx >= 0 && rowIdx < rows.length) {\n const row2 = rows[rowIdx];\n return getColSpan(column, lastFrozenColumnIndex, {\n type: \"ROW\",\n row: row2\n });\n }\n if (bottomSummaryRows)\n return getColSpan(column, lastFrozenColumnIndex, {\n type: \"SUMMARY\",\n row: bottomSummaryRows[rowIdx - rows.length]\n });\n}\nfunction getNextSelectedCellPosition({\n moveUp,\n moveNext,\n cellNavigationMode,\n columns,\n colSpanColumns,\n rows,\n topSummaryRows,\n bottomSummaryRows,\n minRowIdx,\n mainHeaderRowIdx,\n maxRowIdx,\n currentPosition: {\n idx: currentIdx,\n rowIdx: currentRowIdx\n },\n nextPosition,\n lastFrozenColumnIndex,\n isCellWithinBounds\n}) {\n let {\n idx: nextIdx,\n rowIdx: nextRowIdx\n } = nextPosition;\n const columnsCount = columns.length, setColSpan = (moveNext2) => {\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 if (colSpan && nextIdx > colIdx && nextIdx < colSpan + colIdx) {\n nextIdx = colIdx + (moveNext2 ? colSpan : 0);\n break;\n }\n }\n }, getParentRowIdx = (parent) => parent.level + mainHeaderRowIdx, setHeaderGroupColAndRowSpan = () => {\n if (moveNext) {\n let parent = columns[nextIdx].parent;\n for (; parent !== void 0; ) {\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 let parent = columns[nextIdx].parent, found = !1;\n for (; parent !== void 0; ) {\n const parentRowIdx = getParentRowIdx(parent);\n if (nextRowIdx >= parentRowIdx) {\n nextIdx = parent.idx, nextRowIdx = parentRowIdx, found = !0;\n break;\n }\n parent = parent.parent;\n }\n found || (nextIdx = currentIdx, nextRowIdx = currentRowIdx);\n }\n };\n if (isCellWithinBounds(nextPosition) && (setColSpan(moveNext), nextRowIdx < mainHeaderRowIdx && setHeaderGroupColAndRowSpan()), cellNavigationMode === \"CHANGE_ROW\" && (nextIdx === columnsCount ? nextRowIdx === maxRowIdx || (nextIdx = 0, nextRowIdx += 1) : nextIdx === -1 && (nextRowIdx === minRowIdx || (nextRowIdx -= 1, nextIdx = columnsCount - 1), setColSpan(!1))), nextRowIdx < mainHeaderRowIdx) {\n let parent = columns[nextIdx].parent;\n const nextParentRowIdx = nextRowIdx;\n for (nextRowIdx = mainHeaderRowIdx; parent !== void 0; ) {\n const parentRowIdx = getParentRowIdx(parent);\n parentRowIdx >= nextParentRowIdx && (nextRowIdx = parentRowIdx, nextIdx = parent.idx), parent = parent.parent;\n }\n }\n return {\n idx: nextIdx,\n rowIdx: nextRowIdx\n };\n}\nfunction canExitGrid({\n maxColIdx,\n minRowIdx,\n maxRowIdx,\n selectedPosition: {\n rowIdx,\n idx\n },\n shiftKey\n}) {\n return shiftKey ? idx === 0 && rowIdx === minRowIdx : idx === maxColIdx && rowIdx === maxRowIdx;\n}\nconst cell = \"cj343x07-0-0-beta-47\", cellClassname = `rdg-cell ${cell}`, cellFrozen = \"csofj7r7-0-0-beta-47\", cellFrozenClassname = `rdg-cell-frozen ${cellFrozen}`;\nfunction getRowStyle(rowIdx) {\n return {\n \"--rdg-grid-row-start\": rowIdx\n };\n}\nfunction getHeaderCellStyle(column, rowIdx, rowSpan) {\n const gridRowEnd = rowIdx + 1, paddingBlockStart = `calc(${rowSpan - 1} * var(--rdg-header-row-height))`;\n return column.parent === void 0 ? {\n insetBlockStart: 0,\n gridRowStart: 1,\n gridRowEnd,\n paddingBlockStart\n } : {\n insetBlockStart: `calc(${rowIdx - rowSpan} * var(--rdg-header-row-height))`,\n gridRowStart: gridRowEnd - rowSpan,\n gridRowEnd,\n paddingBlockStart\n };\n}\nfunction getCellStyle(column, colSpan = 1) {\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})` : void 0\n };\n}\nfunction getCellClassname(column, ...extraClasses) {\n return clsx(cellClassname, ...extraClasses, column.frozen && cellFrozenClassname);\n}\nconst {\n min,\n max,\n floor,\n sign,\n abs\n} = Math;\nfunction assertIsValidKeyGetter(keyGetter) {\n if (typeof keyGetter != \"function\")\n throw new Error(\"Please specify the rowKeyGetter prop to use selection\");\n}\nfunction clampColumnWidth(width, {\n minWidth,\n maxWidth\n}) {\n return width = max(width, minWidth), typeof maxWidth == \"number\" && maxWidth >= minWidth ? min(width, maxWidth) : width;\n}\nfunction getHeaderCellRowSpan(column, rowIdx) {\n return column.parent === void 0 ? rowIdx : column.level - column.parent.level;\n}\nconst checkbox = \"c1bn88vv7-0-0-beta-47\", checkboxClassname = `rdg-checkbox-input ${checkbox}`;\nfunction renderCheckbox({\n onChange,\n indeterminate,\n ...props\n}) {\n function handleChange(e2) {\n onChange(e2.target.checked, e2.nativeEvent.shiftKey);\n }\n return /* @__PURE__ */ u$1(\"input\", {\n ref: (el) => {\n el && (el.indeterminate = indeterminate === !0);\n },\n type: \"checkbox\",\n className: checkboxClassname,\n onChange: handleChange,\n ...props\n });\n}\nfunction renderValue(props) {\n try {\n return props.row[props.column.key];\n } catch {\n return null;\n }\n}\nconst DataGridDefaultRenderersContext = /* @__PURE__ */ G$1(void 0), DataGridDefaultRenderersProvider = DataGridDefaultRenderersContext.Provider;\nfunction useDefaultRenderers() {\n return x$1(DataGridDefaultRenderersContext);\n}\nfunction SelectCellFormatter({\n value,\n tabIndex,\n indeterminate,\n disabled,\n onChange,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy\n}) {\n const renderCheckbox2 = useDefaultRenderers().renderCheckbox;\n return renderCheckbox2({\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n tabIndex,\n indeterminate,\n disabled,\n checked: value,\n onChange\n });\n}\nconst RowSelectionContext = /* @__PURE__ */ G$1(void 0), RowSelectionProvider = RowSelectionContext.Provider, RowSelectionChangeContext = /* @__PURE__ */ G$1(void 0), RowSelectionChangeProvider = RowSelectionChangeContext.Provider;\nfunction useRowSelection() {\n const rowSelectionContext = x$1(RowSelectionContext), rowSelectionChangeContext = x$1(RowSelectionChangeContext);\n if (rowSelectionContext === void 0 || rowSelectionChangeContext === void 0)\n throw new Error(\"useRowSelection must be used within DataGrid cells\");\n return {\n isRowSelectionDisabled: rowSelectionContext.isRowSelectionDisabled,\n isRowSelected: rowSelectionContext.isRowSelected,\n onRowSelectionChange: rowSelectionChangeContext\n };\n}\nconst HeaderRowSelectionContext = /* @__PURE__ */ G$1(void 0), HeaderRowSelectionProvider = HeaderRowSelectionContext.Provider, HeaderRowSelectionChangeContext = /* @__PURE__ */ G$1(void 0), HeaderRowSelectionChangeProvider = HeaderRowSelectionChangeContext.Provider;\nfunction useHeaderRowSelection() {\n const headerRowSelectionContext = x$1(HeaderRowSelectionContext), headerRowSelectionChangeContext = x$1(HeaderRowSelectionChangeContext);\n if (headerRowSelectionContext === void 0 || headerRowSelectionChangeContext === void 0)\n throw new Error(\"useHeaderRowSelection must be used within DataGrid cells\");\n return {\n isIndeterminate: headerRowSelectionContext.isIndeterminate,\n isRowSelected: headerRowSelectionContext.isRowSelected,\n onRowSelectionChange: headerRowSelectionChangeContext\n };\n}\nconst SELECT_COLUMN_KEY = \"rdg-select-column\";\nfunction HeaderRenderer(props) {\n const {\n isIndeterminate,\n isRowSelected,\n onRowSelectionChange\n } = useHeaderRowSelection();\n return /* @__PURE__ */ u$1(SelectCellFormatter, {\n \"aria-label\": \"Select All\",\n tabIndex: props.tabIndex,\n indeterminate: isIndeterminate,\n value: isRowSelected,\n onChange: (checked) => {\n onRowSelectionChange({\n checked: isIndeterminate ? !1 : checked\n });\n }\n });\n}\nfunction SelectFormatter(props) {\n const {\n isRowSelectionDisabled,\n isRowSelected,\n onRowSelectionChange\n } = useRowSelection();\n return /* @__PURE__ */ u$1(SelectCellFormatter, {\n \"aria-label\": \"Select\",\n tabIndex: props.tabIndex,\n disabled: isRowSelectionDisabled,\n value: isRowSelected,\n onChange: (checked, isShiftClick) => {\n onRowSelectionChange({\n row: props.row,\n checked,\n isShiftClick\n });\n }\n });\n}\nfunction SelectGroupFormatter(props) {\n const {\n isRowSelected,\n onRowSelectionChange\n } = useRowSelection();\n return /* @__PURE__ */ u$1(SelectCellFormatter, {\n \"aria-label\": \"Select Group\",\n tabIndex: props.tabIndex,\n value: isRowSelected,\n onChange: (checked) => {\n onRowSelectionChange({\n row: props.row,\n checked,\n isShiftClick: !1\n });\n }\n });\n}\nconst SelectColumn = {\n key: SELECT_COLUMN_KEY,\n name: \"\",\n width: 35,\n minWidth: 35,\n maxWidth: 35,\n resizable: !1,\n sortable: !1,\n frozen: !0,\n renderHeaderCell(props) {\n return /* @__PURE__ */ u$1(HeaderRenderer, {\n ...props\n });\n },\n renderCell(props) {\n return /* @__PURE__ */ u$1(SelectFormatter, {\n ...props\n });\n },\n renderGroupCell(props) {\n return /* @__PURE__ */ u$1(SelectGroupFormatter, {\n ...props\n });\n }\n}, DEFAULT_COLUMN_WIDTH = \"auto\", DEFAULT_COLUMN_MIN_WIDTH = 50;\nfunction useCalculatedColumns({\n rawColumns,\n defaultColumnOptions,\n getColumnWidth,\n viewportWidth,\n scrollLeft,\n enableVirtualization\n}) {\n const defaultWidth = (defaultColumnOptions == null ? void 0 : defaultColumnOptions.width) ?? DEFAULT_COLUMN_WIDTH, defaultMinWidth = (defaultColumnOptions == null ? void 0 : defaultColumnOptions.minWidth) ?? DEFAULT_COLUMN_MIN_WIDTH, defaultMaxWidth = (defaultColumnOptions == null ? void 0 : defaultColumnOptions.maxWidth) ?? void 0, defaultCellRenderer = (defaultColumnOptions == null ? void 0 : defaultColumnOptions.renderCell) ?? renderValue, defaultSortable = (defaultColumnOptions == null ? void 0 : defaultColumnOptions.sortable) ?? !1, defaultResizable = (defaultColumnOptions == null ? void 0 : defaultColumnOptions.resizable) ?? !1, defaultDraggable = (defaultColumnOptions == null ? void 0 : defaultColumnOptions.draggable) ?? !1, {\n columns,\n colSpanColumns,\n lastFrozenColumnIndex,\n headerRowsCount\n } = T$1(() => {\n let lastFrozenColumnIndex2 = -1, headerRowsCount2 = 1;\n const columns2 = [];\n collectColumns(rawColumns, 1);\n function collectColumns(rawColumns2, level, parent) {\n for (const rawColumn of rawColumns2) {\n if (\"children\" in rawColumn) {\n const calculatedColumnParent = {\n name: rawColumn.name,\n parent,\n idx: -1,\n colSpan: 0,\n level: 0,\n headerCellClass: rawColumn.headerCellClass\n };\n collectColumns(rawColumn.children, level + 1, calculatedColumnParent);\n continue;\n }\n const frozen = rawColumn.frozen ?? !1, column = {\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 columns2.push(column), frozen && lastFrozenColumnIndex2++, level > headerRowsCount2 && (headerRowsCount2 = level);\n }\n }\n columns2.sort(({\n key: aKey,\n frozen: frozenA\n }, {\n key: bKey,\n frozen: frozenB\n }) => aKey === SELECT_COLUMN_KEY ? -1 : bKey === SELECT_COLUMN_KEY ? 1 : frozenA ? frozenB ? 0 : -1 : frozenB ? 1 : 0);\n const colSpanColumns2 = [];\n return columns2.forEach((column, idx) => {\n column.idx = idx, updateColumnParent(column, idx, 0), column.colSpan != null && colSpanColumns2.push(column);\n }), {\n columns: columns2,\n colSpanColumns: colSpanColumns2,\n lastFrozenColumnIndex: lastFrozenColumnIndex2,\n headerRowsCount: headerRowsCount2\n };\n }, [rawColumns, defaultWidth, defaultMinWidth, defaultMaxWidth, defaultCellRenderer, defaultResizable, defaultSortable, defaultDraggable]), {\n templateColumns,\n layoutCssVars,\n totalFrozenColumnWidth,\n columnMetrics\n } = T$1(() => {\n const columnMetrics2 = /* @__PURE__ */ new Map();\n let left = 0, totalFrozenColumnWidth2 = 0;\n const templateColumns2 = [];\n for (const column of columns) {\n let width = getColumnWidth(column);\n typeof width == \"number\" ? width = clampColumnWidth(width, column) : width = column.minWidth, templateColumns2.push(`${width}px`), columnMetrics2.set(column, {\n width,\n left\n }), left += width;\n }\n if (lastFrozenColumnIndex !== -1) {\n const columnMetric = columnMetrics2.get(columns[lastFrozenColumnIndex]);\n totalFrozenColumnWidth2 = columnMetric.left + columnMetric.width;\n }\n const layoutCssVars2 = {};\n for (let i2 = 0; i2 <= lastFrozenColumnIndex; i2++) {\n const column = columns[i2];\n layoutCssVars2[`--rdg-frozen-left-${column.idx}`] = `${columnMetrics2.get(column).left}px`;\n }\n return {\n templateColumns: templateColumns2,\n layoutCssVars: layoutCssVars2,\n totalFrozenColumnWidth: totalFrozenColumnWidth2,\n columnMetrics: columnMetrics2\n };\n }, [getColumnWidth, columns, lastFrozenColumnIndex]), [colOverscanStartIdx, colOverscanEndIdx] = T$1(() => {\n if (!enableVirtualization)\n return [0, columns.length - 1];\n const viewportLeft = scrollLeft + totalFrozenColumnWidth, viewportRight = scrollLeft + viewportWidth, lastColIdx = columns.length - 1, firstUnfrozenColumnIdx = min(lastFrozenColumnIndex + 1, lastColIdx);\n if (viewportLeft >= viewportRight)\n return [firstUnfrozenColumnIdx, firstUnfrozenColumnIdx];\n let colVisibleStartIdx = firstUnfrozenColumnIdx;\n for (; colVisibleStartIdx < lastColIdx; ) {\n const {\n left,\n width\n } = columnMetrics.get(columns[colVisibleStartIdx]);\n if (left + width > viewportLeft)\n break;\n colVisibleStartIdx++;\n }\n let colVisibleEndIdx = colVisibleStartIdx;\n for (; colVisibleEndIdx < lastColIdx; ) {\n const {\n left,\n width\n } = columnMetrics.get(columns[colVisibleEndIdx]);\n if (left + width >= viewportRight)\n break;\n colVisibleEndIdx++;\n }\n const colOverscanStartIdx2 = max(firstUnfrozenColumnIdx, colVisibleStartIdx - 1), colOverscanEndIdx2 = min(lastColIdx, colVisibleEndIdx + 1);\n return [colOverscanStartIdx2, colOverscanEndIdx2];\n }, [columnMetrics, columns, lastFrozenColumnIndex, scrollLeft, totalFrozenColumnWidth, viewportWidth, enableVirtualization]);\n return {\n columns,\n colSpanColumns,\n colOverscanStartIdx,\n colOverscanEndIdx,\n templateColumns,\n layoutCssVars,\n headerRowsCount,\n lastFrozenColumnIndex,\n totalFrozenColumnWidth\n };\n}\nfunction updateColumnParent(column, index, level) {\n if (level < column.level && (column.level = level), column.parent !== void 0) {\n const {\n parent\n } = column;\n parent.idx === -1 && (parent.idx = index), parent.colSpan += 1, updateColumnParent(parent, index, level - 1);\n }\n}\nconst useLayoutEffect = typeof window > \"u\" ? y : _;\nfunction useColumnWidths(columns, viewportColumns, templateColumns, gridRef, gridWidth, resizedColumnWidths, measuredColumnWidths, setResizedColumnWidths, setMeasuredColumnWidths, onColumnResize) {\n const prevGridWidthRef = A$1(gridWidth), columnsCanFlex = columns.length === viewportColumns.length, ignorePreviouslyMeasuredColumns = columnsCanFlex && gridWidth !== prevGridWidthRef.current, newTemplateColumns = [...templateColumns], columnsToMeasure = [];\n for (const {\n key,\n idx,\n width\n } of viewportColumns)\n typeof width == \"string\" && (ignorePreviouslyMeasuredColumns || !measuredColumnWidths.has(key)) && !resizedColumnWidths.has(key) && (newTemplateColumns[idx] = width, columnsToMeasure.push(key));\n const gridTemplateColumns = newTemplateColumns.join(\" \");\n useLayoutEffect(() => {\n prevGridWidthRef.current = gridWidth, updateMeasuredWidths(columnsToMeasure);\n });\n function updateMeasuredWidths(columnsToMeasure2) {\n columnsToMeasure2.length !== 0 && setMeasuredColumnWidths((measuredColumnWidths2) => {\n const newMeasuredColumnWidths = new Map(measuredColumnWidths2);\n let hasChanges = !1;\n for (const key of columnsToMeasure2) {\n const measuredWidth = measureColumnWidth(gridRef, key);\n hasChanges || (hasChanges = measuredWidth !== measuredColumnWidths2.get(key)), measuredWidth === void 0 ? newMeasuredColumnWidths.delete(key) : newMeasuredColumnWidths.set(key, measuredWidth);\n }\n return hasChanges ? newMeasuredColumnWidths : measuredColumnWidths2;\n });\n }\n function handleColumnResize(column, nextWidth) {\n const {\n key: resizingKey\n } = column, newTemplateColumns2 = [...templateColumns], columnsToMeasure2 = [];\n for (const {\n key,\n idx,\n width\n } of viewportColumns)\n if (resizingKey === key) {\n const width2 = typeof nextWidth == \"number\" ? `${nextWidth}px` : nextWidth;\n newTemplateColumns2[idx] = width2;\n } else columnsCanFlex && typeof width == \"string\" && !resizedColumnWidths.has(key) && (newTemplateColumns2[idx] = width, columnsToMeasure2.push(key));\n gridRef.current.style.gridTemplateColumns = newTemplateColumns2.join(\" \");\n const measuredWidth = typeof nextWidth == \"number\" ? nextWidth : measureColumnWidth(gridRef, resizingKey);\n gn(() => {\n setResizedColumnWidths((resizedColumnWidths2) => {\n const newResizedColumnWidths = new Map(resizedColumnWidths2);\n return newResizedColumnWidths.set(resizingKey, measuredWidth), newResizedColumnWidths;\n }), updateMeasuredWidths(columnsToMeasure2);\n }), onColumnResize == null || onColumnResize(column.idx, measuredWidth);\n }\n return {\n gridTemplateColumns,\n handleColumnResize\n };\n}\nfunction measureColumnWidth(gridRef, key) {\n var _a;\n const selector = `[data-measuring-cell-key=\"${CSS.escape(key)}\"]`, measuringCell = (_a = gridRef.current) == null ? void 0 : _a.querySelector(selector);\n return measuringCell == null ? void 0 : measuringCell.getBoundingClientRect().width;\n}\nfunction useGridDimensions() {\n const gridRef = A$1(null), [inlineSize, setInlineSize] = h(1), [blockSize, setBlockSize] = h(1), [horizontalScrollbarHeight, setHorizontalScrollbarHeight] = h(0);\n return useLayoutEffect(() => {\n const {\n ResizeObserver\n } = window;\n if (ResizeObserver == null) return;\n const {\n clientWidth,\n clientHeight,\n offsetWidth,\n offsetHeight\n } = gridRef.current, {\n width,\n height\n } = gridRef.current.getBoundingClientRect(), initialHorizontalScrollbarHeight = offsetHeight - clientHeight, initialWidth = width - offsetWidth + clientWidth, initialHeight = height - initialHorizontalScrollbarHeight;\n setInlineSize(initialWidth), setBlockSize(initialHeight), setHorizontalScrollbarHeight(initialHorizontalScrollbarHeight);\n const resizeObserver = new ResizeObserver((entries) => {\n const size = entries[0].contentBoxSize[0], {\n clientHeight: clientHeight2,\n offsetHeight: offsetHeight2\n } = gridRef.current;\n gn(() => {\n setInlineSize(size.inlineSize), setBlockSize(size.blockSize), setHorizontalScrollbarHeight(offsetHeight2 - clientHeight2);\n });\n });\n return resizeObserver.observe(gridRef.current), () => {\n resizeObserver.disconnect();\n };\n }, []), [gridRef, inlineSize, blockSize, horizontalScrollbarHeight];\n}\nfunction useLatestFunc(fn2) {\n const ref = A$1(fn2);\n y(() => {\n ref.current = fn2;\n });\n const callbackFn = q$1((...args) => {\n ref.current(...args);\n }, []);\n return fn2 && callbackFn;\n}\nfunction useRovingTabIndex(isSelected) {\n const [isChildFocused, setIsChildFocused] = h(!1);\n isChildFocused && !isSelected && setIsChildFocused(!1);\n function onFocus(event) {\n event.target !== event.currentTarget && setIsChildFocused(!0);\n }\n return {\n tabIndex: isSelected && !isChildFocused ? 0 : -1,\n childTabIndex: isSelected ? 0 : -1,\n onFocus: isSelected ? onFocus : void 0\n };\n}\nfunction useViewportColumns({\n columns,\n colSpanColumns,\n rows,\n topSummaryRows,\n bottomSummaryRows,\n colOverscanStartIdx,\n colOverscanEndIdx,\n lastFrozenColumnIndex,\n rowOverscanStartIdx,\n rowOverscanEndIdx\n}) {\n const startIdx = T$1(() => {\n if (colOverscanStartIdx === 0) return 0;\n let startIdx2 = colOverscanStartIdx;\n const updateStartIdx = (colIdx, colSpan) => colSpan !== void 0 && colIdx + colSpan > colOverscanStartIdx ? (startIdx2 = colIdx, !0) : !1;\n for (const column of colSpanColumns) {\n const colIdx = column.idx;\n if (colIdx >= startIdx2 || updateStartIdx(colIdx, getColSpan(column, lastFrozenColumnIndex, {\n type: \"HEADER\"\n })))\n break;\n for (let rowIdx = rowOverscanStartIdx; rowIdx <= rowOverscanEndIdx; rowIdx++) {\n const row2 = rows[rowIdx];\n if (updateStartIdx(colIdx, getColSpan(column, lastFrozenColumnIndex, {\n type: \"ROW\",\n row: row2\n })))\n break;\n }\n if (topSummaryRows != null) {\n for (const row2 of topSummaryRows)\n if (updateStartIdx(colIdx, getColSpan(column, lastFrozenColumnIndex, {\n type: \"SUMMARY\",\n row: row2\n })))\n break;\n }\n if (bottomSummaryRows != null) {\n for (const row2 of bottomSummaryRows)\n if (updateStartIdx(colIdx, getColSpan(column, lastFrozenColumnIndex, {\n type: \"SUMMARY\",\n row: row2\n })))\n break;\n }\n }\n return startIdx2;\n }, [rowOverscanStartIdx, rowOverscanEndIdx, rows, topSummaryRows, bottomSummaryRows, colOverscanStartIdx, lastFrozenColumnIndex, colSpanColumns]);\n return T$1(() => {\n const viewportColumns = [];\n for (let colIdx = 0; colIdx <= colOverscanEndIdx; colIdx++) {\n const column = columns[colIdx];\n colIdx < startIdx && !column.frozen || viewportColumns.push(column);\n }\n return viewportColumns;\n }, [startIdx, colOverscanEndIdx, columns]);\n}\nfunction useViewportRows({\n rows,\n rowHeight,\n clientHeight,\n scrollTop,\n enableVirtualization\n}) {\n const {\n totalRowHeight,\n gridTemplateRows,\n getRowTop,\n getRowHeight,\n findRowIdx\n } = T$1(() => {\n if (typeof rowHeight == \"number\")\n return {\n totalRowHeight: rowHeight * rows.length,\n gridTemplateRows: ` repeat(${rows.length}, ${rowHeight}px)`,\n getRowTop: (rowIdx) => rowIdx * rowHeight,\n getRowHeight: () => rowHeight,\n findRowIdx: (offset) => floor(offset / rowHeight)\n };\n let totalRowHeight2 = 0, gridTemplateRows2 = \" \";\n const rowPositions = rows.map((row2) => {\n const currentRowHeight = rowHeight(row2), position = {\n top: totalRowHeight2,\n height: currentRowHeight\n };\n return gridTemplateRows2 += `${currentRowHeight}px `, totalRowHeight2 += currentRowHeight, position;\n }), validateRowIdx = (rowIdx) => max(0, min(rows.length - 1, rowIdx));\n return {\n totalRowHeight: totalRowHeight2,\n gridTemplateRows: gridTemplateRows2,\n getRowTop: (rowIdx) => rowPositions[validateRowIdx(rowIdx)].top,\n getRowHeight: (rowIdx) => rowPositions[validateRowIdx(rowIdx)].height,\n findRowIdx(offset) {\n let start = 0, end = rowPositions.length - 1;\n for (; start <= end; ) {\n const middle = start + floor((end - start) / 2), currentOffset = rowPositions[middle].top;\n if (currentOffset === offset) return middle;\n if (currentOffset < offset ? start = middle + 1 : currentOffset > offset && (end = middle - 1), start > end) return end;\n }\n return 0;\n }\n };\n }, [rowHeight, rows]);\n let rowOverscanStartIdx = 0, rowOverscanEndIdx = rows.length - 1;\n if (enableVirtualization) {\n const rowVisibleStartIdx = findRowIdx(scrollTop), rowVisibleEndIdx = findRowIdx(scrollTop + clientHeight);\n rowOverscanStartIdx = max(0, rowVisibleStartIdx - 4), rowOverscanEndIdx = min(rows.length - 1, rowVisibleEndIdx + 4);\n }\n return {\n rowOverscanStartIdx,\n rowOverscanEndIdx,\n totalRowHeight,\n gridTemplateRows,\n getRowTop,\n getRowHeight,\n findRowIdx\n };\n}\nconst cellDragHandle = \"c1w9bbhr7-0-0-beta-47\", cellDragHandleFrozenClassname = \"c1creorc7-0-0-beta-47\", cellDragHandleClassname = `rdg-cell-drag-handle ${cellDragHandle}`;\nfunction DragHandle({\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}) {\n const {\n idx,\n rowIdx\n } = selectedPosition;\n function handleMouseDown(event) {\n if (event.preventDefault(), event.buttons !== 1) return;\n setDragging(!0), window.addEventListener(\"mouseover\", onMouseOver), window.addEventListener(\"mouseup\", onMouseUp);\n function onMouseOver(event2) {\n event2.buttons !== 1 && onMouseUp();\n }\n function onMouseUp() {\n window.removeEventListener(\"mouseover\", onMouseOver), window.removeEventListener(\"mouseup\", onMouseUp), setDragging(!1), handleDragEnd();\n }\n }\n function handleDragEnd() {\n const overRowIdx = latestDraggedOverRowIdx.current;\n if (overRowIdx === void 0) return;\n const startRowIndex = rowIdx < overRowIdx ? rowIdx + 1 : overRowIdx, endRowIndex = rowIdx < overRowIdx ? overRowIdx + 1 : rowIdx;\n updateRows(startRowIndex, endRowIndex), setDraggedOverRowIdx(void 0);\n }\n function handleDoubleClick(event) {\n event.stopPropagation(), updateRows(rowIdx + 1, rows.length);\n }\n function updateRows(startRowIdx, endRowIdx) {\n const sourceRow = rows[rowIdx], updatedRows = [...rows], indexes = [];\n for (let i2 = startRowIdx; i2 < endRowIdx; i2++)\n if (isCellEditable({\n rowIdx: i2,\n idx\n })) {\n const updatedRow = onFill({\n columnKey: column.key,\n sourceRow,\n targetRow: rows[i2]\n });\n updatedRow !== rows[i2] && (updatedRows[i2] = updatedRow, indexes.push(i2));\n }\n indexes.length > 0 && (onRowsChange == null || onRowsChange(updatedRows, {\n indexes,\n column\n }));\n }\n function getStyle() {\n var _a;\n const colSpan = ((_a = column.colSpan) == null ? void 0 : _a.call(column, {\n type: \"ROW\",\n row: rows[rowIdx]\n })) ?? 1, {\n insetInlineStart,\n ...style\n } = getCellStyle(column, colSpan), marginEnd = \"calc(var(--rdg-drag-handle-size) * -0.5 + 1px)\", isLastColumn = column.idx + colSpan - 1 === maxColIdx;\n return {\n ...style,\n gridRowStart,\n marginInlineEnd: isLastColumn ? void 0 : marginEnd,\n marginBlockEnd: isLastRow ? void 0 : marginEnd,\n insetInlineStart: insetInlineStart ? `calc(${insetInlineStart} + ${columnWidth}px + var(--rdg-drag-handle-size) * -0.5 - 1px)` : void 0\n };\n }\n return /* @__PURE__ */ u$1(\"div\", {\n style: getStyle(),\n className: clsx(cellDragHandleClassname, column.frozen && cellDragHandleFrozenClassname),\n onClick,\n onMouseDown: handleMouseDown,\n onDoubleClick: handleDoubleClick\n });\n}\nconst cellEditing = \"cis5rrm7-0-0-beta-47\";\nfunction EditCell({\n column,\n colSpan,\n row: row2,\n rowIdx,\n onRowChange,\n closeEditor,\n onKeyDown,\n navigate\n}) {\n var _a, _b, _c;\n const frameRequestRef = A$1(void 0), commitOnOutsideClick = ((_a = column.editorOptions) == null ? void 0 : _a.commitOnOutsideClick) !== !1, commitOnOutsideMouseDown = useLatestFunc(() => {\n onClose(!0, !1);\n });\n y(() => {\n if (!commitOnOutsideClick) return;\n function onWindowCaptureMouseDown() {\n frameRequestRef.current = requestAnimationFrame(commitOnOutsideMouseDown);\n }\n return addEventListener(\"mousedown\", onWindowCaptureMouseDown, {\n capture: !0\n }), () => {\n removeEventListener(\"mousedown\", onWindowCaptureMouseDown, {\n capture: !0\n }), cancelFrameRequest();\n };\n }, [commitOnOutsideClick, commitOnOutsideMouseDown]);\n function cancelFrameRequest() {\n cancelAnimationFrame(frameRequestRef.current);\n }\n function handleKeyDown(event) {\n if (onKeyDown) {\n const cellEvent = createCellEvent(event);\n if (onKeyDown({\n mode: \"EDIT\",\n row: row2,\n column,\n rowIdx,\n navigate() {\n navigate(event);\n },\n onClose\n }, cellEvent), cellEvent.isGridDefaultPrevented()) return;\n }\n event.key === \"Escape\" ? onClose() : event.key === \"Enter\" ? onClose(!0) : onEditorNavigation(event) && navigate(event);\n }\n function onClose(commitChanges = !1, shouldFocusCell = !0) {\n commitChanges ? onRowChange(row2, !0, shouldFocusCell) : closeEditor(shouldFocusCell);\n }\n function onEditorRowChange(row3, commitChangesAndFocus = !1) {\n onRowChange(row3, commitChangesAndFocus, commitChangesAndFocus);\n }\n const {\n cellClass\n } = column, className = getCellClassname(column, \"rdg-editor-container\", typeof cellClass == \"function\" ? cellClass(row2) : cellClass, !((_b = column.editorOptions) != null && _b.displayCellContent) && cellEditing);\n return /* @__PURE__ */ u$1(\"div\", {\n role: \"gridcell\",\n \"aria-colindex\": column.idx + 1,\n \"aria-colspan\": colSpan,\n \"aria-selected\": !0,\n className,\n style: getCellStyle(column, colSpan),\n onKeyDown: handleKeyDown,\n onMouseDownCapture: cancelFrameRequest,\n children: column.renderEditCell != null && /* @__PURE__ */ u$1(b, {\n children: [column.renderEditCell({\n column,\n row: row2,\n rowIdx,\n onRowChange: onEditorRowChange,\n onClose\n }), ((_c = column.editorOptions) == null ? void 0 : _c.displayCellContent) && column.renderCell({\n column,\n row: row2,\n rowIdx,\n isCellEditable: !0,\n tabIndex: -1,\n onRowChange: onEditorRowChange\n })]\n })\n });\n}\nfunction GroupedColumnHeaderCell({\n column,\n rowIdx,\n isCellSelected,\n selectCell\n}) {\n const {\n tabIndex,\n onFocus\n } = useRovingTabIndex(isCellSelected), {\n colSpan\n } = column, rowSpan = getHeaderCellRowSpan(column, rowIdx), index = column.idx + 1;\n function onClick() {\n selectCell({\n idx: column.idx,\n rowIdx\n });\n }\n return /* @__PURE__ */ u$1(\"div\", {\n role: \"columnheader\",\n \"aria-colindex\": index,\n \"aria-colspan\": colSpan,\n \"aria-rowspan\": rowSpan,\n \"aria-selected\": isCellSelected,\n tabIndex,\n className: clsx(cellClassname, column.headerCellClass),\n style: {\n ...getHeaderCellStyle(column, rowIdx, rowSpan),\n gridColumnStart: index,\n gridColumnEnd: index + colSpan\n },\n onFocus,\n onClick,\n children: column.name\n });\n}\nconst headerSortCellClassname = \"h44jtk67-0-0-beta-47\", headerSortName = \"hcgkhxz7-0-0-beta-47\", headerSortNameClassname = `rdg-header-sort-name ${headerSortName}`;\nfunction renderHeaderCell({\n column,\n sortDirection,\n priority\n}) {\n return column.sortable ? /* @__PURE__ */ u$1(SortableHeaderCell, {\n sortDirection,\n priority,\n children: column.name\n }) : column.name;\n}\nfunction SortableHeaderCell({\n sortDirection,\n priority,\n children\n}) {\n const renderSortStatus2 = useDefaultRenderers().renderSortStatus;\n return /* @__PURE__ */ u$1(\"span\", {\n className: headerSortCellClassname,\n children: [/* @__PURE__ */ u$1(\"span\", {\n className: headerSortNameClassname,\n children\n }), /* @__PURE__ */ u$1(\"span\", {\n children: renderSortStatus2({\n sortDirection,\n priority\n })\n })]\n });\n}\nconst cellSortableClassname = \"c6l2wv17-0-0-beta-47\", cellResizable = \"c1kqdw7y7-0-0-beta-47\", cellResizableClassname = `rdg-cell-resizable ${cellResizable}`, resizeHandleClassname = \"r1y6ywlx7-0-0-beta-47\", cellDraggableClassname = \"rdg-cell-draggable\", cellDragging = \"c1bezg5o7-0-0-beta-47\", cellDraggingClassname = `rdg-cell-dragging ${cellDragging}`, cellOver = \"c1vc96037-0-0-beta-47\", cellOverClassname = `rdg-cell-drag-over ${cellOver}`;\nfunction HeaderCell({\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}) {\n const [isDragging, setIsDragging] = h(!1), [isOver, setIsOver] = h(!1), isRtl = direction === \"rtl\", rowSpan = getHeaderCellRowSpan(column, rowIdx), {\n tabIndex,\n childTabIndex,\n onFocus\n } = useRovingTabIndex(isCellSelected), sortIndex = sortColumns == null ? void 0 : sortColumns.findIndex((sort) => sort.columnKey === column.key), sortColumn = sortIndex !== void 0 && sortIndex > -1 ? sortColumns[sortIndex] : void 0, sortDirection = sortColumn == null ? void 0 : sortColumn.direction, priority = sortColumn !== void 0 && sortColumns.length > 1 ? sortIndex + 1 : void 0, ariaSort = sortDirection && !priority ? sortDirection === \"ASC\" ? \"ascending\" : \"descending\" : void 0, {\n sortable,\n resizable,\n draggable\n } = column, className = getCellClassname(column, column.headerCellClass, sortable && cellSortableClassname, resizable && cellResizableClassname, draggable && cellDraggableClassname, isDragging && cellDraggingClassname, isOver && cellOverClassname), renderHeaderCell$1 = column.renderHeaderCell ?? renderHeaderCell;\n function onPointerDown(event) {\n if (event.pointerType === \"mouse\" && event.buttons !== 1)\n return;\n event.preventDefault();\n const {\n currentTarget,\n pointerId\n } = event, headerCell = currentTarget.parentElement, {\n right,\n left\n } = headerCell.getBoundingClientRect(), offset = isRtl ? event.clientX - left : right - event.clientX;\n let hasDoubleClicked = !1;\n function onPointerMove(event2) {\n const {\n width,\n right: right2,\n left: left2\n } = headerCell.getBoundingClientRect();\n let newWidth = isRtl ? right2 + offset - event2.clientX : event2.clientX + offset - left2;\n newWidth = clampColumnWidth(newWidth, column), width > 0 && newWidth !== width && onColumnResize(column, newWidth);\n }\n function onDoubleClick() {\n hasDoubleClicked = !0, onColumnResize(column, \"max-content\");\n }\n function onLostPointerCapture(event2) {\n hasDoubleClicked || onPointerMove(event2), currentTarget.removeEventListener(\"pointermove\", onPointerMove), currentTarget.removeEventListener(\"dblclick\", onDoubleClick), currentTarget.removeEventListener(\"lostpointercapture\", onLostPointerCapture);\n }\n currentTarget.setPointerCapture(pointerId), currentTarget.addEventListener(\"pointermove\", onPointerMove), currentTarget.addEventListener(\"dblclick\", onDoubleClick), currentTarget.addEventListener(\"lostpointercapture\", onLostPointerCapture);\n }\n function onSort(ctrlClick) {\n if (onSortColumnsChange == null) return;\n const {\n sortDescendingFirst\n } = column;\n if (sortColumn === void 0) {\n const nextSort = {\n columnKey: column.key,\n direction: sortDescendingFirst ? \"DESC\" : \"ASC\"\n };\n onSortColumnsChange(sortColumns && ctrlClick ? [...sortColumns, nextSort] : [nextSort]);\n } else {\n let nextSortColumn;\n if ((sortDescendingFirst === !0 && sortDirection === \"DESC\" || sortDescendingFirst !== !0 && sortDirection === \"ASC\") && (nextSortColumn = {\n columnKey: column.key,\n direction: sortDirection === \"ASC\" ? \"DESC\" : \"ASC\"\n }), ctrlClick) {\n const nextSortColumns = [...sortColumns];\n nextSortColumn ? nextSortColumns[sortIndex] = nextSortColumn : nextSortColumns.splice(sortIndex, 1), onSortColumnsChange(nextSortColumns);\n } else\n onSortColumnsChange(nextSortColumn ? [nextSortColumn] : []);\n }\n }\n function onClick(event) {\n selectCell({\n idx: column.idx,\n rowIdx\n }), sortable && onSort(event.ctrlKey || event.metaKey);\n }\n function handleFocus(event) {\n onFocus == null || onFocus(event), shouldFocusGrid && selectCell({\n idx: 0,\n rowIdx\n });\n }\n function onKeyDown(event) {\n (event.key === \" \" || event.key === \"Enter\") && (event.preventDefault(), onSort(event.ctrlKey || event.metaKey));\n }\n function onDragStart(event) {\n event.dataTransfer.setData(dragDropKey, column.key), event.dataTransfer.dropEffect = \"move\", setIsDragging(!0);\n }\n function onDragEnd() {\n setIsDragging(!1);\n }\n function onDragOver(event) {\n event.preventDefault(), event.dataTransfer.dropEffect = \"move\";\n }\n function onDrop(event) {\n if (setIsOver(!1), event.dataTransfer.types.includes(dragDropKey.toLowerCase())) {\n const sourceKey = event.dataTransfer.getData(dragDropKey.toLowerCase());\n sourceKey !== column.key && (event.preventDefault(), onColumnsReorder == null || onColumnsReorder(sourceKey, column.key));\n }\n }\n function onDragEnter(event) {\n isEventPertinent(event) && setIsOver(!0);\n }\n function onDragLeave(event) {\n isEventPertinent(event) && setIsOver(!1);\n }\n let draggableProps;\n return draggable && (draggableProps = {\n draggable: !0,\n onDragStart,\n onDragEnd,\n onDragOver,\n onDragEnter,\n onDragLeave,\n onDrop\n }), /* @__PURE__ */ u$1(\"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 tabIndex: shouldFocusGrid ? 0 : tabIndex,\n className,\n style: {\n ...getHeaderCellStyle(column, rowIdx, rowSpan),\n ...getCellStyle(column, colSpan)\n },\n onFocus: handleFocus,\n onClick,\n onKeyDown: sortable ? onKeyDown : void 0,\n ...draggableProps,\n children: [renderHeaderCell$1({\n column,\n sortDirection,\n priority,\n tabIndex: childTabIndex\n }), resizable && /* @__PURE__ */ u$1(\"div\", {\n className: resizeHandleClassname,\n onClick: stopPropagation,\n onPointerDown\n })]\n });\n}\nfunction isEventPertinent(event) {\n const relatedTarget = event.relatedTarget;\n return !event.currentTarget.contains(relatedTarget);\n}\nconst row = \"r1upfr807-0-0-beta-47\", rowClassname = `rdg-row ${row}`, rowSelected = \"r190mhd37-0-0-beta-47\", rowSelectedClassname = \"rdg-row-selected\", rowSelectedWithFrozenCell = \"r139qu9m7-0-0-beta-47\", topSummaryRowClassname = \"rdg-top-summary-row\", bottomSummaryRowClassname = \"rdg-bottom-summary-row\", headerRow = \"h10tskcx7-0-0-beta-47\", headerRowClassname = `rdg-header-row ${headerRow}`;\nfunction HeaderRow({\n rowIdx,\n columns,\n onColumnResize,\n onColumnsReorder,\n sortColumns,\n onSortColumnsChange,\n lastFrozenColumnIndex,\n selectedCellIdx,\n selectCell,\n shouldFocusGrid,\n direction\n}) {\n const dragDropKey = g$1(), cells = [];\n for (let index = 0; index < columns.length; index++) {\n const column = columns[index], colSpan = getColSpan(column, lastFrozenColumnIndex, {\n type: \"HEADER\"\n });\n colSpan !== void 0 && (index += colSpan - 1), cells.push(/* @__PURE__ */ u$1(HeaderCell, {\n column,\n colSpan,\n rowIdx,\n isCellSelected: selectedCellIdx === column.idx,\n onColumnResize,\n onColumnsReorder,\n onSortColumnsChange,\n sortColumns,\n selectCell,\n shouldFocusGrid: shouldFocusGrid && index === 0,\n direction,\n dragDropKey\n }, column.key));\n }\n return /* @__PURE__ */ u$1(\"div\", {\n role: \"row\",\n \"aria-rowindex\": rowIdx,\n className: clsx(headerRowClassname, selectedCellIdx === -1 && rowSelectedClassname),\n children: cells\n });\n}\nconst HeaderRow$1 = /* @__PURE__ */ N(HeaderRow);\nfunction GroupedColumnHeaderRow({\n rowIdx,\n level,\n columns,\n selectedCellIdx,\n selectCell\n}) {\n const cells = [], renderedParents = /* @__PURE__ */ new Set();\n for (const column of columns) {\n let {\n parent\n } = column;\n if (parent !== void 0) {\n for (; parent.level > level && parent.parent !== void 0; )\n parent = parent.parent;\n if (parent.level === level && !renderedParents.has(parent)) {\n renderedParents.add(parent);\n const {\n idx\n } = parent;\n cells.push(/* @__PURE__ */ u$1(GroupedColumnHeaderCell, {\n column: parent,\n rowIdx,\n isCellSelected: selectedCellIdx === idx,\n selectCell\n }, idx));\n }\n }\n }\n return /* @__PURE__ */ u$1(\"div\", {\n role: \"row\",\n \"aria-rowindex\": rowIdx,\n className: headerRowClassname,\n children: cells\n });\n}\nconst GroupedColumnHeaderRow$1 = /* @__PURE__ */ N(GroupedColumnHeaderRow), cellCopied = \"c6ra8a37-0-0-beta-47\", cellCopiedClassname = `rdg-cell-copied ${cellCopied}`, cellDraggedOver = \"cq910m07-0-0-beta-47\", cellDraggedOverClassname = `rdg-cell-dragged-over ${cellDraggedOver}`;\nfunction Cell({\n column,\n colSpan,\n isCellSelected,\n isCopied,\n isDraggedOver,\n row: row2,\n rowIdx,\n onClick,\n onDoubleClick,\n onContextMenu,\n onRowChange,\n selectCell,\n ...props\n}) {\n const {\n tabIndex,\n childTabIndex,\n onFocus\n } = useRovingTabIndex(isCellSelected), {\n cellClass\n } = column, className = getCellClassname(column, typeof cellClass == \"function\" ? cellClass(row2) : cellClass, isCopied && cellCopiedClassname, isDraggedOver && cellDraggedOverClassname), isEditable = isCellEditableUtil(column, row2);\n function selectCellWrapper(openEditor) {\n selectCell({\n rowIdx,\n idx: column.idx\n }, openEditor);\n }\n function handleClick(event) {\n if (onClick) {\n const cellEvent = createCellEvent(event);\n if (onClick({\n row: row2,\n column,\n selectCell: selectCellWrapper\n }, cellEvent), cellEvent.isGridDefaultPrevented()) return;\n }\n selectCellWrapper();\n }\n function handleContextMenu(event) {\n if (onContextMenu) {\n const cellEvent = createCellEvent(event);\n if (onContextMenu({\n row: row2,\n column,\n selectCell: selectCellWrapper\n }, cellEvent), cellEvent.isGridDefaultPrevented()) return;\n }\n selectCellWrapper();\n }\n function handleDoubleClick(event) {\n if (onDoubleClick) {\n const cellEvent = createCellEvent(event);\n if (onDoubleClick({\n row: row2,\n column,\n selectCell: selectCellWrapper\n }, cellEvent), cellEvent.isGridDefaultPrevented()) return;\n }\n selectCellWrapper(!0);\n }\n function handleRowChange(newRow) {\n onRowChange(column, newRow);\n }\n return /* @__PURE__ */ u$1(\"div\", {\n role: \"gridcell\",\n \"aria-colindex\": column.idx + 1,\n \"aria-colspan\": colSpan,\n \"aria-selected\": isCellSelected,\n \"aria-readonly\": !isEditable || void 0,\n tabIndex,\n className,\n style: getCellStyle(column, colSpan),\n onClick: handleClick,\n onDoubleClick: handleDoubleClick,\n onContextMenu: handleContextMenu,\n onFocus,\n ...props,\n children: column.renderCell({\n column,\n row: row2,\n rowIdx,\n isCellEditable: isEditable,\n tabIndex: childTabIndex,\n onRowChange: handleRowChange\n })\n });\n}\nconst Cell$1 = /* @__PURE__ */ N(Cell);\nfunction Row({\n className,\n rowIdx,\n gridRowStart,\n selectedCellIdx,\n isRowSelectionDisabled,\n isRowSelected,\n copiedCellIdx,\n draggedOverCellIdx,\n lastFrozenColumnIndex,\n row: row2,\n viewportColumns,\n selectedCellEditor,\n onCellClick,\n onCellDoubleClick,\n onCellContextMenu,\n rowClass,\n setDraggedOverRowIdx,\n onMouseEnter,\n onRowChange,\n selectCell,\n ...props\n}, ref) {\n const handleRowChange = useLatestFunc((column, newRow) => {\n onRowChange(column, rowIdx, newRow);\n });\n function handleDragEnter(event) {\n setDraggedOverRowIdx == null || setDraggedOverRowIdx(rowIdx), onMouseEnter == null || onMouseEnter(event);\n }\n className = clsx(rowClassname, `rdg-row-${rowIdx % 2 === 0 ? \"even\" : \"odd\"}`, rowClass == null ? void 0 : rowClass(row2, rowIdx), className, selectedCellIdx === -1 && rowSelectedClassname);\n const cells = [];\n for (let index = 0; index < viewportColumns.length; index++) {\n const column = viewportColumns[index], {\n idx\n } = column, colSpan = getColSpan(column, lastFrozenColumnIndex, {\n type: \"ROW\",\n row: row2\n });\n colSpan !== void 0 && (index += colSpan - 1);\n const isCellSelected = selectedCellIdx === idx;\n isCellSelected && selectedCellEditor ? cells.push(selectedCellEditor) : cells.push(/* @__PURE__ */ u$1(Cell$1, {\n column,\n colSpan,\n row: row2,\n rowIdx,\n isCopied: copiedCellIdx === idx,\n isDraggedOver: draggedOverCellIdx === idx,\n isCellSelected,\n onClick: onCellClick,\n onDoubleClick: onCellDoubleClick,\n onContextMenu: onCellContextMenu,\n onRowChange: handleRowChange,\n selectCell\n }, column.key));\n }\n const selectionValue = T$1(() => ({\n isRowSelected,\n isRowSelectionDisabled\n }), [isRowSelectionDisabled, isRowSelected]);\n return /* @__PURE__ */ u$1(RowSelectionProvider, {\n value: selectionValue,\n children: /* @__PURE__ */ u$1(\"div\", {\n role: \"row\",\n ref,\n className,\n onMouseEnter: handleDragEnter,\n style: getRowStyle(gridRowStart),\n ...props,\n children: cells\n })\n });\n}\nconst RowComponent = /* @__PURE__ */ N(/* @__PURE__ */ A(Row));\nfunction defaultRenderRow(key, props) {\n return /* @__PURE__ */ u$1(RowComponent, {\n ...props\n }, key);\n}\nfunction ScrollToCell({\n scrollToPosition: {\n idx,\n rowIdx\n },\n gridElement,\n setScrollToCellPosition\n}) {\n const ref = A$1(null);\n return useLayoutEffect(() => {\n scrollIntoView(ref.current);\n }), useLayoutEffect(() => {\n function removeScrollToCell() {\n setScrollToCellPosition(null);\n }\n const observer = new IntersectionObserver(removeScrollToCell, {\n root: gridElement,\n threshold: 1\n });\n return observer.observe(ref.current), () => {\n observer.disconnect();\n };\n }, [gridElement, setScrollToCellPosition]), /* @__PURE__ */ u$1(\"div\", {\n ref,\n style: {\n gridColumn: idx === void 0 ? \"1/-1\" : idx + 1,\n gridRow: rowIdx === void 0 ? \"1/-1\" : rowIdx + 2\n }\n });\n}\nconst arrow = \"a3ejtar7-0-0-beta-47\", arrowClassname = `rdg-sort-arrow ${arrow}`;\nfunction renderSortStatus({\n sortDirection,\n priority\n}) {\n return /* @__PURE__ */ u$1(b, {\n children: [renderSortIcon({\n sortDirection\n }), renderSortPriority({\n priority\n })]\n });\n}\nfunction renderSortIcon({\n sortDirection\n}) {\n return sortDirection === void 0 ? null : /* @__PURE__ */ u$1(\"svg\", {\n viewBox: \"0 0 12 8\",\n width: \"12\",\n height: \"8\",\n className: arrowClassname,\n \"aria-hidden\": !0,\n children: /* @__PURE__ */ u$1(\"path\", {\n d: sortDirection === \"ASC\" ? \"M0 8 6 0 12 8\" : \"M0 0 6 8 12 0\"\n })\n });\n}\nfunction renderSortPriority({\n priority\n}) {\n return priority;\n}\nconst root = \"rnvodz57-0-0-beta-47\", rootClassname = `rdg ${root}`, viewportDragging = \"vlqv91k7-0-0-beta-47\", viewportDraggingClassname = `rdg-viewport-dragging ${viewportDragging}`, focusSinkClassname = \"f1lsfrzw7-0-0-beta-47\", focusSinkHeaderAndSummaryClassname = \"f1cte0lg7-0-0-beta-47\", summaryCellClassname = \"s8wc6fl7-0-0-beta-47\";\nfunction SummaryCell({\n column,\n colSpan,\n row: row2,\n rowIdx,\n isCellSelected,\n selectCell\n}) {\n var _a;\n const {\n tabIndex,\n childTabIndex,\n onFocus\n } = useRovingTabIndex(isCellSelected), {\n summaryCellClass\n } = column, className = getCellClassname(column, summaryCellClassname, typeof summaryCellClass == \"function\" ? summaryCellClass(row2) : summaryCellClass);\n function onClick() {\n selectCell({\n rowIdx,\n idx: column.idx\n });\n }\n return /* @__PURE__ */ u$1(\"div\", {\n role: \"gridcell\",\n \"aria-colindex\": column.idx + 1,\n \"aria-colspan\": colSpan,\n \"aria-selected\": isCellSelected,\n tabIndex,\n className,\n style: getCellStyle(column, colSpan),\n onClick,\n onFocus,\n children: (_a = column.renderSummaryCell) == null ? void 0 : _a.call(column, {\n column,\n row: row2,\n tabIndex: childTabIndex\n })\n });\n}\nconst SummaryCell$1 = /* @__PURE__ */ N(SummaryCell), summaryRow = \"skuhp557-0-0-beta-47\", topSummaryRow = \"tf8l5ub7-0-0-beta-47\", summaryRowClassname = `rdg-summary-row ${summaryRow}`;\nfunction SummaryRow({\n rowIdx,\n gridRowStart,\n row: row2,\n viewportColumns,\n top,\n bottom,\n lastFrozenColumnIndex,\n selectedCellIdx,\n isTop,\n selectCell,\n \"aria-rowindex\": ariaRowIndex\n}) {\n const cells = [];\n for (let index = 0; index < viewportColumns.length; index++) {\n const column = viewportColumns[index], colSpan = getColSpan(column, lastFrozenColumnIndex, {\n type: \"SUMMARY\",\n row: row2\n });\n colSpan !== void 0 && (index += colSpan - 1);\n const isCellSelected = selectedCellIdx === column.idx;\n cells.push(/* @__PURE__ */ u$1(SummaryCell$1, {\n column,\n colSpan,\n row: row2,\n rowIdx,\n isCellSelected,\n selectCell\n }, column.key));\n }\n return /* @__PURE__ */ u$1(\"div\", {\n role: \"row\",\n \"aria-rowindex\": ariaRowIndex,\n className: clsx(rowClassname, `rdg-row-${rowIdx % 2 === 0 ? \"even\" : \"odd\"}`, summaryRowClassname, isTop ? `${topSummaryRowClassname} ${topSummaryRow}` : bottomSummaryRowClassname, selectedCellIdx === -1 && rowSelectedClassname),\n style: {\n ...getRowStyle(gridRowStart),\n \"--rdg-summary-row-top\": top !== void 0 ? `${top}px` : void 0,\n \"--rdg-summary-row-bottom\": bottom !== void 0 ? `${bottom}px` : void 0\n },\n children: cells\n });\n}\nconst SummaryRow$1 = /* @__PURE__ */ N(SummaryRow);\nfunction DataGrid(props, ref) {\n const {\n columns: rawColumns,\n rows,\n topSummaryRows,\n bottomSummaryRows,\n rowKeyGetter,\n onRowsChange,\n rowHeight: rawRowHeight,\n headerRowHeight: rawHeaderRowHeight,\n summaryRowHeight: rawSummaryRowHeight,\n selectedRows,\n isRowSelectionDisabled,\n onSelectedRowsChange,\n sortColumns,\n onSortColumnsChange,\n defaultColumnOptions,\n onCellClick,\n onCellDoubleClick,\n onCellContextMenu,\n onCellKeyDown,\n onSelectedCellChange,\n onScroll,\n onColumnResize,\n onColumnsReorder,\n onFill,\n onCopy,\n onPaste,\n enableVirtualization: rawEnableVirtualization,\n renderers,\n className,\n style,\n rowClass,\n direction: rawDirection,\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, defaultRenderers = useDefaultRenderers(), role = rawRole ?? \"grid\", rowHeight = rawRowHeight ?? 35, headerRowHeight = rawHeaderRowHeight ?? (typeof rowHeight == \"number\" ? rowHeight : 35), summaryRowHeight = rawSummaryRowHeight ?? (typeof rowHeight == \"number\" ? rowHeight : 35), renderRow = (renderers == null ? void 0 : renderers.renderRow) ?? (defaultRenderers == null ? void 0 : defaultRenderers.renderRow) ?? defaultRenderRow, renderSortStatus$1 = (renderers == null ? void 0 : renderers.renderSortStatus) ?? (defaultRenderers == null ? void 0 : defaultRenderers.renderSortStatus) ?? renderSortStatus, renderCheckbox$1 = (renderers == null ? void 0 : renderers.renderCheckbox) ?? (defaultRenderers == null ? void 0 : defaultRenderers.renderCheckbox) ?? renderCheckbox, noRowsFallback = (renderers == null ? void 0 : renderers.noRowsFallback) ?? (defaultRenderers == null ? void 0 : defaultRenderers.noRowsFallback), enableVirtualization = rawEnableVirtualization ?? !0, direction = rawDirection ?? \"ltr\", [scrollTop, setScrollTop] = h(0), [scrollLeft, setScrollLeft] = h(0), [resizedColumnWidths, setResizedColumnWidths] = h(() => /* @__PURE__ */ new Map()), [measuredColumnWidths, setMeasuredColumnWidths] = h(() => /* @__PURE__ */ new Map()), [copiedCell, setCopiedCell] = h(null), [isDragging, setDragging] = h(!1), [draggedOverRowIdx, setOverRowIdx] = h(void 0), [scrollToPosition, setScrollToPosition] = h(null), getColumnWidth = q$1((column) => resizedColumnWidths.get(column.key) ?? measuredColumnWidths.get(column.key) ?? column.width, [measuredColumnWidths, resizedColumnWidths]), [gridRef, gridWidth, gridHeight, horizontalScrollbarHeight] = useGridDimensions(), {\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 }), topSummaryRowsCount = (topSummaryRows == null ? void 0 : topSummaryRows.length) ?? 0, bottomSummaryRowsCount = (bottomSummaryRows == null ? void 0 : bottomSummaryRows.length) ?? 0, summaryRowsCount = topSummaryRowsCount + bottomSummaryRowsCount, headerAndTopSummaryRowsCount = headerRowsCount + topSummaryRowsCount, groupedColumnHeaderRowsCount = headerRowsCount - 1, minRowIdx = -headerAndTopSummaryRowsCount, mainHeaderRowIdx = minRowIdx + groupedColumnHeaderRowsCount, maxRowIdx = rows.length + bottomSummaryRowsCount - 1, [selectedPosition, setSelectedPosition] = h(() => ({\n idx: -1,\n rowIdx: minRowIdx - 1,\n mode: \"SELECT\"\n })), prevSelectedPosition = A$1(selectedPosition), latestDraggedOverRowIdx = A$1(draggedOverRowIdx), lastSelectedRowIdx = A$1(-1), focusSinkRef = A$1(null), shouldFocusCellRef = A$1(!1), isTreeGrid = role === \"treegrid\", headerRowsHeight = headerRowsCount * headerRowHeight, summaryRowsHeight = summaryRowsCount * summaryRowHeight, clientHeight = gridHeight - headerRowsHeight - summaryRowsHeight, isSelectable = selectedRows != null && onSelectedRowsChange != null, isRtl = direction === \"rtl\", leftKey = isRtl ? \"ArrowRight\" : \"ArrowLeft\", rightKey = isRtl ? \"ArrowLeft\" : \"ArrowRight\", ariaRowCount = rawAriaRowCount ?? headerRowsCount + rows.length + summaryRowsCount, defaultGridComponents = T$1(() => ({\n renderCheckbox: renderCheckbox$1,\n renderSortStatus: renderSortStatus$1\n }), [renderCheckbox$1, renderSortStatus$1]), headerSelectionValue = T$1(() => {\n let hasSelectedRow = !1, hasUnselectedRow = !1;\n if (rowKeyGetter != null && selectedRows != null && selectedRows.size > 0) {\n for (const row2 of rows)\n if (selectedRows.has(rowKeyGetter(row2)) ? hasSelectedRow = !0 : hasUnselectedRow = !0, hasSelectedRow && hasUnselectedRow) break;\n }\n return {\n isRowSelected: hasSelectedRow && !hasUnselectedRow,\n isIndeterminate: hasSelectedRow && hasUnselectedRow\n };\n }, [rows, selectedRows, rowKeyGetter]), {\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 }), viewportColumns = useViewportColumns({\n columns,\n colSpanColumns,\n colOverscanStartIdx,\n colOverscanEndIdx,\n lastFrozenColumnIndex,\n rowOverscanStartIdx,\n rowOverscanEndIdx,\n rows,\n topSummaryRows,\n bottomSummaryRows\n }), {\n gridTemplateColumns,\n handleColumnResize\n } = useColumnWidths(columns, viewportColumns, templateColumns, gridRef, gridWidth, resizedColumnWidths, measuredColumnWidths, setResizedColumnWidths, setMeasuredColumnWidths, onColumnResize), minColIdx = isTreeGrid ? -1 : 0, maxColIdx = columns.length - 1, selectedCellIsWithinSelectionBounds = isCellWithinSelectionBounds(selectedPosition), selectedCellIsWithinViewportBounds = isCellWithinViewportBounds(selectedPosition), scrollHeight = headerRowHeight + totalRowHeight + summaryRowsHeight + horizontalScrollbarHeight, handleColumnResizeLatest = useLatestFunc(handleColumnResize), onColumnsReorderLastest = useLatestFunc(onColumnsReorder), onSortColumnsChangeLatest = useLatestFunc(onSortColumnsChange), onCellClickLatest = useLatestFunc(onCellClick), onCellDoubleClickLatest = useLatestFunc(onCellDoubleClick), onCellContextMenuLatest = useLatestFunc(onCellContextMenu), selectHeaderRowLatest = useLatestFunc(selectHeaderRow), selectRowLatest = useLatestFunc(selectRow), handleFormatterRowChangeLatest = useLatestFunc(updateRow), selectCellLatest = useLatestFunc(selectCell), selectHeaderCellLatest = useLatestFunc(({\n idx,\n rowIdx\n }) => {\n selectCell({\n rowIdx: minRowIdx + rowIdx - 1,\n idx\n });\n });\n useLayoutEffect(() => {\n if (!selectedCellIsWithinSelectionBounds || isSamePosition(selectedPosition, prevSelectedPosition.current)) {\n prevSelectedPosition.current = selectedPosition;\n return;\n }\n prevSelectedPosition.current = selectedPosition, selectedPosition.idx === -1 && (focusSinkRef.current.focus({\n preventScroll: !0\n }), scrollIntoView(focusSinkRef.current));\n }), useLayoutEffect(() => {\n shouldFocusCellRef.current && (shouldFocusCellRef.current = !1, focusCellOrCellContent());\n }), F$1(ref, () => ({\n element: gridRef.current,\n scrollToCell({\n idx,\n rowIdx\n }) {\n const scrollToIdx = idx !== void 0 && idx > lastFrozenColumnIndex && idx < columns.length ? idx : void 0, scrollToRowIdx = rowIdx !== void 0 && isRowIdxWithinViewportBounds(rowIdx) ? rowIdx : void 0;\n (scrollToIdx !== void 0 || scrollToRowIdx !== void 0) && setScrollToPosition({\n idx: scrollToIdx,\n rowIdx: scrollToRowIdx\n });\n },\n selectCell\n }));\n const setDraggedOverRowIdx = q$1((rowIdx) => {\n setOverRowIdx(rowIdx), latestDraggedOverRowIdx.current = rowIdx;\n }, []);\n function selectHeaderRow(args) {\n if (!onSelectedRowsChange) return;\n assertIsValidKeyGetter(rowKeyGetter);\n const newSelectedRows = new Set(selectedRows);\n for (const row2 of rows) {\n if ((isRowSelectionDisabled == null ? void 0 : isRowSelectionDisabled(row2)) === !0) continue;\n const rowKey = rowKeyGetter(row2);\n args.checked ? newSelectedRows.add(rowKey) : newSelectedRows.delete(rowKey);\n }\n onSelectedRowsChange(newSelectedRows);\n }\n function selectRow(args) {\n if (!onSelectedRowsChange) return;\n assertIsValidKeyGetter(rowKeyGetter);\n const {\n row: row2,\n checked,\n isShiftClick\n } = args;\n if ((isRowSelectionDisabled == null ? void 0 : isRowSelectionDisabled(row2)) === !0) return;\n const newSelectedRows = new Set(selectedRows), rowKey = rowKeyGetter(row2), previousRowIdx = lastSelectedRowIdx.current, rowIdx = rows.indexOf(row2);\n if (lastSelectedRowIdx.current = rowIdx, checked ? newSelectedRows.add(rowKey) : newSelectedRows.delete(rowKey), isShiftClick && previousRowIdx !== -1 && previousRowIdx !== rowIdx && previousRowIdx < rows.length) {\n const step = sign(rowIdx - previousRowIdx);\n for (let i2 = previousRowIdx + step; i2 !== rowIdx; i2 += step) {\n const row3 = rows[i2];\n (isRowSelectionDisabled == null ? void 0 : isRowSelectionDisabled(row3)) !== !0 && (checked ? newSelectedRows.add(rowKeyGetter(row3)) : newSelectedRows.delete(rowKeyGetter(row3)));\n }\n }\n onSelectedRowsChange(newSelectedRows);\n }\n function handleKeyDown(event) {\n var _a;\n const {\n idx,\n rowIdx,\n mode\n } = selectedPosition;\n if (mode === \"EDIT\") return;\n if (onCellKeyDown && isRowIdxWithinViewportBounds(rowIdx)) {\n const row2 = rows[rowIdx], cellEvent = createCellEvent(event);\n if (onCellKeyDown({\n mode: \"SELECT\",\n row: row2,\n column: columns[idx],\n rowIdx,\n selectCell\n }, cellEvent), cellEvent.isGridDefaultPrevented()) return;\n }\n if (!(event.target instanceof Element)) return;\n const isCellEvent = event.target.closest(\".rdg-cell\") !== null, isRowEvent = isTreeGrid && event.target === focusSinkRef.current;\n if (!isCellEvent && !isRowEvent) return;\n const {\n keyCode\n } = event;\n if (selectedCellIsWithinViewportBounds && (onPaste != null || onCopy != null) && isCtrlKeyHeldDown(event)) {\n if (keyCode === 67) {\n if (((_a = window.getSelection()) == null ? void 0 : _a.isCollapsed) === !1) return;\n handleCopy();\n return;\n }\n if (keyCode === 86) {\n handlePaste();\n return;\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 function handleScroll(event) {\n const {\n scrollTop: scrollTop2,\n scrollLeft: scrollLeft2\n } = event.currentTarget;\n gn(() => {\n setScrollTop(scrollTop2), setScrollLeft(abs(scrollLeft2));\n }), onScroll == null || onScroll(event);\n }\n function updateRow(column, rowIdx, row2) {\n if (typeof onRowsChange != \"function\" || row2 === rows[rowIdx]) return;\n const updatedRows = [...rows];\n updatedRows[rowIdx] = row2, onRowsChange(updatedRows, {\n indexes: [rowIdx],\n column\n });\n }\n function commitEditorChanges() {\n selectedPosition.mode === \"EDIT\" && updateRow(columns[selectedPosition.idx], selectedPosition.rowIdx, selectedPosition.row);\n }\n function handleCopy() {\n const {\n idx,\n rowIdx\n } = selectedPosition, sourceRow = rows[rowIdx], sourceColumnKey = columns[idx].key;\n setCopiedCell({\n row: sourceRow,\n columnKey: sourceColumnKey\n }), onCopy == null || onCopy({\n sourceRow,\n sourceColumnKey\n });\n }\n function handlePaste() {\n if (!onPaste || !onRowsChange || copiedCell === null || !isCellEditable(selectedPosition))\n return;\n const {\n idx,\n rowIdx\n } = selectedPosition, targetColumn = columns[idx], targetRow = rows[rowIdx], updatedTargetRow = onPaste({\n sourceRow: copiedCell.row,\n sourceColumnKey: copiedCell.columnKey,\n targetRow,\n targetColumnKey: targetColumn.key\n });\n updateRow(targetColumn, rowIdx, updatedTargetRow);\n }\n function handleCellInput(event) {\n if (!selectedCellIsWithinViewportBounds) return;\n const row2 = rows[selectedPosition.rowIdx], {\n key,\n shiftKey\n } = event;\n if (isSelectable && shiftKey && key === \" \") {\n assertIsValidKeyGetter(rowKeyGetter);\n const rowKey = rowKeyGetter(row2);\n selectRow({\n row: row2,\n checked: !selectedRows.has(rowKey),\n isShiftClick: !1\n }), event.preventDefault();\n return;\n }\n isCellEditable(selectedPosition) && isDefaultCellInput(event) && setSelectedPosition(({\n idx,\n rowIdx\n }) => ({\n idx,\n rowIdx,\n mode: \"EDIT\",\n row: row2,\n originalRow: row2\n }));\n }\n function isColIdxWithinSelectionBounds(idx) {\n return idx >= minColIdx && idx <= maxColIdx;\n }\n function isRowIdxWithinViewportBounds(rowIdx) {\n return rowIdx >= 0 && rowIdx < rows.length;\n }\n function isCellWithinSelectionBounds({\n idx,\n rowIdx\n }) {\n return rowIdx >= minRowIdx && rowIdx <= maxRowIdx && isColIdxWithinSelectionBounds(idx);\n }\n function isCellWithinEditBounds({\n idx,\n rowIdx\n }) {\n return isRowIdxWithinViewportBounds(rowIdx) && idx >= 0 && idx <= maxColIdx;\n }\n function isCellWithinViewportBounds({\n idx,\n rowIdx\n }) {\n return isRowIdxWithinViewportBounds(rowIdx) && isColIdxWithinSelectionBounds(idx);\n }\n function isCellEditable(position) {\n return isCellWithinEditBounds(position) && isSelectedCellEditable({\n columns,\n rows,\n selectedPosition: position\n });\n }\n function selectCell(position, enableEditor) {\n if (!isCellWithinSelectionBounds(position)) return;\n commitEditorChanges();\n const row2 = rows[position.rowIdx], samePosition = isSamePosition(selectedPosition, position);\n enableEditor && isCellEditable(position) ? setSelectedPosition({\n ...position,\n mode: \"EDIT\",\n row: row2,\n originalRow: row2\n }) : samePosition ? scrollIntoView(getCellToScroll(gridRef.current)) : (shouldFocusCellRef.current = !0, setSelectedPosition({\n ...position,\n mode: \"SELECT\"\n })), onSelectedCellChange && !samePosition && onSelectedCellChange({\n rowIdx: position.rowIdx,\n row: row2,\n column: columns[position.idx]\n });\n }\n function getNextPosition(key, ctrlKey, shiftKey) {\n const {\n idx,\n rowIdx\n } = selectedPosition, isRowSelected = selectedCellIsWithinSelectionBounds && idx === -1;\n switch (key) {\n case \"ArrowUp\":\n return {\n idx,\n rowIdx: rowIdx - 1\n };\n case \"ArrowDown\":\n return {\n idx,\n rowIdx: rowIdx + 1\n };\n case leftKey:\n return {\n idx: idx - 1,\n rowIdx\n };\n case rightKey:\n return {\n idx: idx + 1,\n rowIdx\n };\n case \"Tab\":\n return {\n idx: idx + (shiftKey ? -1 : 1),\n rowIdx\n };\n case \"Home\":\n return isRowSelected ? {\n idx,\n rowIdx: minRowIdx\n } : {\n idx: 0,\n rowIdx: ctrlKey ? minRowIdx : rowIdx\n };\n case \"End\":\n return isRowSelected ? {\n idx,\n rowIdx: maxRowIdx\n } : {\n idx: maxColIdx,\n rowIdx: ctrlKey ? maxRowIdx : rowIdx\n };\n case \"PageUp\": {\n if (selectedPosition.rowIdx === minRowIdx) return selectedPosition;\n const nextRowY = getRowTop(rowIdx) + getRowHeight(rowIdx) - clientHeight;\n return {\n idx,\n rowIdx: nextRowY > 0 ? findRowIdx(nextRowY) : 0\n };\n }\n case \"PageDown\": {\n if (selectedPosition.rowIdx >= rows.length) return selectedPosition;\n const nextRowY = getRowTop(rowIdx) + clientHeight;\n return {\n idx,\n rowIdx: nextRowY < totalRowHeight ? findRowIdx(nextRowY) : rows.length - 1\n };\n }\n default:\n return selectedPosition;\n }\n }\n function navigate(event) {\n const {\n key,\n shiftKey\n } = event;\n let cellNavigationMode = \"NONE\";\n if (key === \"Tab\") {\n if (canExitGrid({\n shiftKey,\n maxColIdx,\n minRowIdx,\n maxRowIdx,\n selectedPosition\n })) {\n commitEditorChanges();\n return;\n }\n cellNavigationMode = \"CHANGE_ROW\";\n }\n event.preventDefault();\n const ctrlKey = isCtrlKeyHeldDown(event), nextPosition = getNextPosition(key, ctrlKey, shiftKey);\n if (isSamePosition(selectedPosition, nextPosition)) return;\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 selectCell(nextSelectedCellPosition);\n }\n function getDraggedOverCellIdx(currentRowIdx) {\n if (draggedOverRowIdx === void 0) return;\n const {\n rowIdx\n } = selectedPosition;\n return (rowIdx < draggedOverRowIdx ? rowIdx < currentRowIdx && currentRowIdx <= draggedOverRowIdx : rowIdx > currentRowIdx && currentRowIdx >= draggedOverRowIdx) ? selectedPosition.idx : void 0;\n }\n function focusCellOrCellContent() {\n const cell2 = getCellToScroll(gridRef.current);\n if (cell2 === null) return;\n scrollIntoView(cell2), (cell2.querySelector('[tabindex=\"0\"]') ?? cell2).focus({\n preventScroll: !0\n });\n }\n function renderDragHandle() {\n if (onFill == null || selectedPosition.mode === \"EDIT\" || !isCellWithinViewportBounds(selectedPosition))\n return;\n const {\n idx,\n rowIdx\n } = selectedPosition, column = columns[idx];\n if (column.renderEditCell == null || column.editable === !1)\n return;\n const columnWidth = getColumnWidth(column);\n return /* @__PURE__ */ u$1(DragHandle, {\n gridRowStart: headerAndTopSummaryRowsCount + rowIdx + 1,\n rows,\n column,\n columnWidth,\n maxColIdx,\n isLastRow: rowIdx === maxRowIdx,\n selectedPosition,\n isCellEditable,\n latestDraggedOverRowIdx,\n onRowsChange,\n onClick: focusCellOrCellContent,\n onFill,\n setDragging,\n setDraggedOverRowIdx\n });\n }\n function getCellEditor(rowIdx) {\n if (selectedPosition.rowIdx !== rowIdx || selectedPosition.mode === \"SELECT\") return;\n const {\n idx,\n row: row2\n } = selectedPosition, column = columns[idx], colSpan = getColSpan(column, lastFrozenColumnIndex, {\n type: \"ROW\",\n row: row2\n }), closeEditor = (shouldFocusCell) => {\n shouldFocusCellRef.current = shouldFocusCell, setSelectedPosition(({\n idx: idx2,\n rowIdx: rowIdx2\n }) => ({\n idx: idx2,\n rowIdx: rowIdx2,\n mode: \"SELECT\"\n }));\n }, onRowChange = (row3, commitChanges, shouldFocusCell) => {\n commitChanges ? gn(() => {\n updateRow(column, selectedPosition.rowIdx, row3), closeEditor(shouldFocusCell);\n }) : setSelectedPosition((position) => ({\n ...position,\n row: row3\n }));\n };\n return rows[selectedPosition.rowIdx] !== selectedPosition.originalRow && closeEditor(!1), /* @__PURE__ */ u$1(EditCell, {\n column,\n colSpan,\n row: row2,\n rowIdx,\n onRowChange,\n closeEditor,\n onKeyDown: onCellKeyDown,\n navigate\n }, column.key);\n }\n function getRowViewportColumns(rowIdx) {\n const selectedColumn = selectedPosition.idx === -1 ? void 0 : columns[selectedPosition.idx];\n return selectedColumn !== void 0 && selectedPosition.rowIdx === rowIdx && !viewportColumns.includes(selectedColumn) ? selectedPosition.idx > colOverscanEndIdx ? [...viewportColumns, selectedColumn] : [...viewportColumns.slice(0, lastFrozenColumnIndex + 1), selectedColumn, ...viewportColumns.slice(lastFrozenColumnIndex + 1)] : viewportColumns;\n }\n function getViewportRows() {\n const rowElements = [], {\n idx: selectedIdx,\n rowIdx: selectedRowIdx\n } = selectedPosition, startRowIdx = selectedCellIsWithinViewportBounds && selectedRowIdx < rowOverscanStartIdx ? rowOverscanStartIdx - 1 : rowOverscanStartIdx, endRowIdx = selectedCellIsWithinViewportBounds && selectedRowIdx > rowOverscanEndIdx ? rowOverscanEndIdx + 1 : rowOverscanEndIdx;\n for (let viewportRowIdx = startRowIdx; viewportRowIdx <= endRowIdx; viewportRowIdx++) {\n const isRowOutsideViewport = viewportRowIdx === rowOverscanStartIdx - 1 || viewportRowIdx === rowOverscanEndIdx + 1, rowIdx = isRowOutsideViewport ? selectedRowIdx : viewportRowIdx;\n let rowColumns = viewportColumns;\n const selectedColumn = selectedIdx === -1 ? void 0 : columns[selectedIdx];\n selectedColumn !== void 0 && (isRowOutsideViewport ? rowColumns = [selectedColumn] : rowColumns = getRowViewportColumns(rowIdx));\n const row2 = rows[rowIdx], gridRowStart = headerAndTopSummaryRowsCount + rowIdx + 1;\n let key = rowIdx, isRowSelected = !1;\n typeof rowKeyGetter == \"function\" && (key = rowKeyGetter(row2), isRowSelected = (selectedRows == null ? void 0 : selectedRows.has(key)) ?? !1), rowElements.push(renderRow(key, {\n \"aria-rowindex\": headerAndTopSummaryRowsCount + rowIdx + 1,\n \"aria-selected\": isSelectable ? isRowSelected : void 0,\n rowIdx,\n row: row2,\n viewportColumns: rowColumns,\n isRowSelectionDisabled: (isRowSelectionDisabled == null ? void 0 : isRowSelectionDisabled(row2)) ?? !1,\n isRowSelected,\n onCellClick: onCellClickLatest,\n onCellDoubleClick: onCellDoubleClickLatest,\n onCellContextMenu: onCellContextMenuLatest,\n rowClass,\n gridRowStart,\n copiedCellIdx: copiedCell !== null && copiedCell.row === row2 ? columns.findIndex((c2) => c2.key === copiedCell.columnKey) : void 0,\n selectedCellIdx: selectedRowIdx === rowIdx ? selectedIdx : void 0,\n draggedOverCellIdx: getDraggedOverCellIdx(rowIdx),\n setDraggedOverRowIdx: isDragging ? setDraggedOverRowIdx : void 0,\n lastFrozenColumnIndex,\n onRowChange: handleFormatterRowChangeLatest,\n selectCell: selectCellLatest,\n selectedCellEditor: getCellEditor(rowIdx)\n }));\n }\n return rowElements;\n }\n (selectedPosition.idx > maxColIdx || selectedPosition.rowIdx > maxRowIdx) && (setSelectedPosition({\n idx: -1,\n rowIdx: minRowIdx - 1,\n mode: \"SELECT\"\n }), setDraggedOverRowIdx(void 0));\n let templateRows = `repeat(${headerRowsCount}, ${headerRowHeight}px)`;\n topSummaryRowsCount > 0 && (templateRows += ` repeat(${topSummaryRowsCount}, ${summaryRowHeight}px)`), rows.length > 0 && (templateRows += gridTemplateRows), bottomSummaryRowsCount > 0 && (templateRows += ` repeat(${bottomSummaryRowsCount}, ${summaryRowHeight}px)`);\n const isGroupRowFocused = selectedPosition.idx === -1 && selectedPosition.rowIdx !== minRowIdx - 1;\n return /* @__PURE__ */ u$1(\"div\", {\n role,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n \"aria-describedby\": ariaDescribedBy,\n \"aria-multiselectable\": isSelectable ? !0 : void 0,\n \"aria-colcount\": columns.length,\n \"aria-rowcount\": ariaRowCount,\n className: clsx(rootClassname, className, isDragging && viewportDraggingClassname),\n style: {\n ...style,\n scrollPaddingInlineStart: selectedPosition.idx > lastFrozenColumnIndex || (scrollToPosition == null ? void 0 : scrollToPosition.idx) !== void 0 ? `${totalFrozenColumnWidth}px` : void 0,\n scrollPaddingBlock: isRowIdxWithinViewportBounds(selectedPosition.rowIdx) || (scrollToPosition == null ? void 0 : scrollToPosition.rowIdx) !== void 0 ? `${headerRowsHeight + topSummaryRowsCount * summaryRowHeight}px ${bottomSummaryRowsCount * summaryRowHeight}px` : void 0,\n gridTemplateColumns,\n gridTemplateRows: templateRows,\n \"--rdg-header-row-height\": `${headerRowHeight}px`,\n \"--rdg-scroll-height\": `${scrollHeight}px`,\n ...layoutCssVars\n },\n dir: direction,\n ref: gridRef,\n onScroll: handleScroll,\n onKeyDown: handleKeyDown,\n \"data-testid\": testId,\n children: [/* @__PURE__ */ u$1(DataGridDefaultRenderersProvider, {\n value: defaultGridComponents,\n children: [/* @__PURE__ */ u$1(HeaderRowSelectionChangeProvider, {\n value: selectHeaderRowLatest,\n children: /* @__PURE__ */ u$1(HeaderRowSelectionProvider, {\n value: headerSelectionValue,\n children: [Array.from({\n length: groupedColumnHeaderRowsCount\n }, (_2, index) => /* @__PURE__ */ u$1(GroupedColumnHeaderRow$1, {\n rowIdx: index + 1,\n level: -groupedColumnHeaderRowsCount + index,\n columns: getRowViewportColumns(minRowIdx + index),\n selectedCellIdx: selectedPosition.rowIdx === minRowIdx + index ? selectedPosition.idx : void 0,\n selectCell: selectHeaderCellLatest\n }, index)), /* @__PURE__ */ u$1(HeaderRow$1, {\n rowIdx: headerRowsCount,\n columns: getRowViewportColumns(mainHeaderRowIdx),\n onColumnResize: handleColumnResizeLatest,\n onColumnsReorder: onColumnsReorderLastest,\n sortColumns,\n onSortColumnsChange: onSortColumnsChangeLatest,\n lastFrozenColumnIndex,\n selectedCellIdx: selectedPosition.rowIdx === mainHeaderRowIdx ? selectedPosition.idx : void 0,\n selectCell: selectHeaderCellLatest,\n shouldFocusGrid: !selectedCellIsWithinSelectionBounds,\n direction\n })]\n })\n }), rows.length === 0 && noRowsFallback ? noRowsFallback : /* @__PURE__ */ u$1(b, {\n children: [topSummaryRows == null ? void 0 : topSummaryRows.map((row2, rowIdx) => {\n const gridRowStart = headerRowsCount + 1 + rowIdx, summaryRowIdx = mainHeaderRowIdx + 1 + rowIdx, isSummaryRowSelected = selectedPosition.rowIdx === summaryRowIdx, top = headerRowsHeight + summaryRowHeight * rowIdx;\n return /* @__PURE__ */ u$1(SummaryRow$1, {\n \"aria-rowindex\": gridRowStart,\n rowIdx: summaryRowIdx,\n gridRowStart,\n row: row2,\n top,\n bottom: void 0,\n viewportColumns: getRowViewportColumns(summaryRowIdx),\n lastFrozenColumnIndex,\n selectedCellIdx: isSummaryRowSelected ? selectedPosition.idx : void 0,\n isTop: !0,\n selectCell: selectCellLatest\n }, rowIdx);\n }), /* @__PURE__ */ u$1(RowSelectionChangeProvider, {\n value: selectRowLatest,\n children: getViewportRows()\n }), bottomSummaryRows == null ? void 0 : bottomSummaryRows.map((row2, rowIdx) => {\n const gridRowStart = headerAndTopSummaryRowsCount + rows.length + rowIdx + 1, summaryRowIdx = rows.length + rowIdx, isSummaryRowSelected = selectedPosition.rowIdx === summaryRowIdx, top = clientHeight > totalRowHeight ? gridHeight - summaryRowHeight * (bottomSummaryRows.length - rowIdx) : void 0, bottom = top === void 0 ? summaryRowHeight * (bottomSummaryRows.length - 1 - rowIdx) : void 0;\n return /* @__PURE__ */ u$1(SummaryRow$1, {\n \"aria-rowindex\": ariaRowCount - bottomSummaryRowsCount + rowIdx + 1,\n rowIdx: summaryRowIdx,\n gridRowStart,\n row: row2,\n top,\n bottom,\n viewportColumns: getRowViewportColumns(summaryRowIdx),\n lastFrozenColumnIndex,\n selectedCellIdx: isSummaryRowSelected ? selectedPosition.idx : void 0,\n isTop: !1,\n selectCell: selectCellLatest\n }, rowIdx);\n })]\n })]\n }), renderDragHandle(), renderMeasuringCells(viewportColumns), isTreeGrid && /* @__PURE__ */ u$1(\"div\", {\n ref: focusSinkRef,\n tabIndex: isGroupRowFocused ? 0 : -1,\n className: clsx(focusSinkClassname, isGroupRowFocused && [rowSelected, lastFrozenColumnIndex !== -1 && rowSelectedWithFrozenCell], !isRowIdxWithinViewportBounds(selectedPosition.rowIdx) && focusSinkHeaderAndSummaryClassname),\n style: {\n gridRowStart: selectedPosition.rowIdx + headerAndTopSummaryRowsCount + 1\n }\n }), scrollToPosition !== null && /* @__PURE__ */ u$1(ScrollToCell, {\n scrollToPosition,\n setScrollToCellPosition: setScrollToPosition,\n gridElement: gridRef.current\n })]\n });\n}\nfunction getCellToScroll(gridEl) {\n return gridEl.querySelector(':scope > [role=\"row\"] > [tabindex=\"0\"]');\n}\nfunction isSamePosition(p1, p2) {\n return p1.idx === p2.idx && p1.rowIdx === p2.rowIdx;\n}\nconst DataGrid$1 = /* @__PURE__ */ A(DataGrid);\nfunction useData(widget) {\n const columns = xn.useMemo(() => widget.columns(), [widget, widget.dataChecksum()]), data = xn.useMemo(() => widget.data(), [widget, widget.dataChecksum()]);\n return [columns, data];\n}\nfunction copyAndSort(items, attribute, descending) {\n const key = attribute;\n return [...items].sort((a2, b2) => a2[key] < b2[key] ? descending ? 1 : -1 : a2[key] > b2[key] ? descending ? -1 : 1 : 0);\n}\nconst EmptyRowsRenderer = ({\n message\n}) => /* @__PURE__ */ u$1(\"div\", { style: { textAlign: \"center\", gridColumn: \"1/-1\" }, children: message }), ReactTable = ({\n table,\n sort\n}) => {\n const [columns, data] = useData(table), multiSelect = table.multiSelect(), columnTypes = table.columnTypes(), columnPatterns = table.columnPatterns(), columnFormats = table.columnFormats(), [listColumns, setListColumns] = h([]), [sortColumn, setSortColumn] = h(), [rows, setRows] = h([]), [selectedRows, setSelectedRows] = h(/* @__PURE__ */ new Set());\n y(() => {\n setListColumns([\n ...multiSelect ? [SelectColumn] : [],\n ...columns.map((column) => {\n const type = columnTypes[column] ?? \"string\";\n let formatter, __hpcc_pattern, __hpcc_format;\n switch (type) {\n case \"time\":\n __hpcc_pattern = columnPatterns[column] !== void 0 ? timeParse(columnPatterns[column]) : void 0, __hpcc_format = columnFormats[column] !== void 0 ? timeFormat(columnFormats[column]) : void 0;\n break;\n case \"number\":\n formatter = (props) => /* @__PURE__ */ u$1(\"div\", { style: { textAlign: \"right\" }, children: props.row[props.column.key] });\n // eslint-disable-next-line no-fallthrough\n default:\n __hpcc_format = columnFormats[column] !== void 0 ? format(columnFormats[column]) : void 0;\n }\n return {\n key: column,\n name: column,\n resizable: !0,\n sortable: !0,\n minWidth: 80,\n renderCell: formatter,\n __hpcc_pattern,\n __hpcc_format\n };\n })\n ]);\n }, [columnFormats, columnPatterns, columnTypes, columns, multiSelect]);\n const onSortColumnsChange = q$1((sortColumns) => {\n const futureSortColumn = sortColumns.slice(-1)[0], sorted = futureSortColumn !== void 0, isSortedDescending = (futureSortColumn == null ? void 0 : futureSortColumn.direction) === \"DESC\";\n setSortColumn(futureSortColumn), setRows(copyAndSort(rows, sorted ? futureSortColumn.columnKey : \"key\", sorted ? isSortedDescending : !1));\n }, [rows]), rowKeyGetter = q$1((row2) => row2.key, []), onSelectedRowsChange = q$1((selectedRows2) => {\n setSelectedRows(selectedRows2);\n }, []), onCellClick = q$1((row2, column) => {\n table.onRowClickCallback(row2, column.key);\n }, [table]);\n return y(() => {\n let items = data.map((row2, index) => {\n const retVal = {\n key: index\n };\n return listColumns.forEach((column, index2) => {\n let val = row2[index2];\n column.__hpcc_pattern && column.__hpcc_format ? val = column.__hpcc_format(column.__hpcc_pattern(val)) : column.__hpcc_pattern ? val = column.__hpcc_pattern(val).toString() : column.__hpcc_format && (val = column.__hpcc_format(val)), retVal[column.key] = val;\n }), retVal;\n });\n sort != null && sort.attribute && (items = copyAndSort(items, sort.attribute, sort.descending)), setRows(items);\n }, [listColumns, data, sort]), /* @__PURE__ */ u$1(\n DataGrid$1,\n {\n columns: listColumns,\n headerRowHeight: 24,\n rows,\n rowKeyGetter,\n rowHeight: 20,\n renderers: { noRowsFallback: /* @__PURE__ */ u$1(EmptyRowsRenderer, { message: table.noDataMessage() }) },\n className: table.darkMode() ? \"rdg-dark\" : \"rdg-light\",\n sortColumns: sortColumn ? [sortColumn] : [],\n onSortColumnsChange,\n selectedRows,\n onSelectedRowsChange: multiSelect ? onSelectedRowsChange : void 0,\n onCellClick: multiSelect ? void 0 : (args, event) => onCellClick(args.row, args.column),\n \"aria-describedby\": \"\",\n \"aria-label\": \"\",\n \"aria-labelledby\": \"\",\n style: { height: \"100%\" }\n }\n );\n};\nclass Table extends HTMLWidget {\n constructor() {\n super();\n __publicField(this, \"_div\");\n __publicField(this, \"_prevRow\");\n __publicField(this, \"_prevColumn\");\n }\n columnType(column, type) {\n return arguments.length === 1 ? this.columnTypes()[column] : (this.columnTypes({ ...this.columnTypes(), [column]: type }), this);\n }\n columnPattern(column, pattern) {\n return arguments.length === 1 ? this.columnPatterns()[column] : (this.columnPatterns({ ...this.columnPatterns(), [column]: pattern }), this);\n }\n columnFormat(column, format2) {\n return arguments.length === 1 ? this.columnFormats()[column] : (this.columnFormats({ ...this.columnFormats(), [column]: format2 }), this);\n }\n onRowClickCallback(row2, column) {\n this._prevRow && JSON.stringify(this._prevRow) !== JSON.stringify(row2) && this.click(this._prevRow, this._prevColumn ?? \"\", !1), row2 && this.click(row2, column, !0), this._prevRow = row2, this._prevColumn = column;\n }\n enter(domNode, element) {\n super.enter(domNode, element), this._div = element.append(\"div\").style(\"display\", \"grid\");\n }\n update(domNode, element) {\n super.update(domNode, element), this._div.style(\"width\", this.width() + \"px\"), this._div.style(\"height\", this.height() + \"px\"), q$2(_$1(ReactTable, { table: this }), this._div.node());\n }\n exit(domNode, element) {\n this._div.remove(), super.exit(domNode, element);\n }\n // Events ---\n click(row2, col, sel) {\n }\n}\nTable.prototype._class += \" dgrid2_Table\";\nTable.prototype.publish(\"noDataMessage\", \"...empty...\", \"string\", \"No Data Message\");\nTable.prototype.publish(\"darkMode\", !1, \"boolean\", \"Dark Mode\");\nTable.prototype.publish(\"multiSelect\", !1, \"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\");\nexport {\n BUILD_VERSION,\n PKG_NAME,\n PKG_VERSION,\n Table\n};\n//# sourceMappingURL=index.js.map\n","(function(){\"use strict\";try{if(typeof document<\"u\"){var o=document.createElement(\"style\");o.appendChild(document.createTextNode('.layout_AbsoluteSurface{pointer-events:none!important}.layout_AbsoluteSurface>.placeholder{position:relative;overflow:hidden;pointer-events:all}.layout_Accordion>ul{position:relative}.layout_Accordion.open>span{font-style:italic}.layout_Accordion.closed>ul{height:0px;overflow:hidden}.layout_Accordion.open>ul{display:block}.layout_Accordion>.collapsible-icon,.layout_Accordion>.collapsible-title{cursor:pointer;box-sizing:border-box}.layout_Accordion>.collapsible-title{display:block;width:100%}.layout_Accordion>.collapsible-title{font-size:13px;color:#fff;padding:4px 8px;height:26px;-webkit-box-shadow:inset 0px -1px 1px 0px rgba(0,0,0,.2);-moz-box-shadow:inset 0px -1px 1px 0px rgba(0,0,0,.2);box-shadow:inset 0 -1px 1px #0003}.layout_Accordion li{background-color:#fff}.layout_Accordion>ul,.layout_Accordion>.collapsible-title{background-color:#333}.layout_Accordion .layout_Accordion>ul,.layout_Accordion .layout_Accordion>.collapsible-title{background-color:#555}.layout_Accordion .layout_Accordion .layout_Accordion>ul,.layout_Accordion .layout_Accordion .layout_Accordion>.collapsible-title{background-color:#777}.layout_Accordion .layout_Accordion .layout_Accordion .layout_Accordion>ul,.layout_Accordion .layout_Accordion .layout_Accordion .layout_Accordion>.collapsible-title{background-color:#999}.layout_Accordion .layout_Accordion .layout_Accordion .layout_Accordion .layout_Accordion>ul,.layout_Accordion .layout_Accordion .layout_Accordion .layout_Accordion .layout_Accordion>.collapsible-title{background-color:#bbb}.layout_Accordion .layout_Accordion .layout_Accordion .layout_Accordion .layout_Accordion .layout_Accordion>ul,.layout_Accordion .layout_Accordion .layout_Accordion .layout_Accordion .layout_Accordion .layout_Accordion>.collapsible-title{background-color:#ccc}.layout_Accordion .layout_Accordion .layout_Accordion .layout_Accordion .layout_Accordion .layout_Accordion .layout_Accordion>ul,.layout_Accordion .layout_Accordion .layout_Accordion .layout_Accordion .layout_Accordion .layout_Accordion .layout_Accordion>.collapsible-title{background-color:#ddd}.layout_Accordion>ul,.layout_Accordion>span{padding-left:0}.layout_Accordion .layout_Accordion>ul,.layout_Accordion .layout_Accordion>span{padding-left:12px}.layout_Accordion>.collapsible-title:before{padding:4px 8px;position:absolute;left:0;top:0}.layout_Accordion>.collapsible-icon{position:absolute;top:0;right:0;width:24px;height:24px;color:#fff}.layout_Surface{box-sizing:border-box;margin:0;border:1px solid #e5e5e5;overflow:hidden;height:100%;width:100%}.layout_Surface.shadow2{box-shadow:0 2px 2px #00000024,0 3px 1px -2px #0003,0 1px 5px #0000001f}.layout_Surface>h3{margin:0;padding:2px;background-color:#e5e5e5}.layout_Surface .html-button-container{position:absolute;right:0;top:3px}.layout_Surface>div{padding:8px}.layout_Surface .html-button-container .surface-button{margin-right:5px}.layout_Surface .html-button-container .surface-button i{opacity:.8}.layout_Surface .html-button-container .surface-button:hover{opacity:1}.layout_Surface .html-button-container .surface-button:active{opacity:.5}div[draggable=true].hideDragCellContent.content-icon:before{content:\"\";font-family:FontAwesome;position:absolute;top:calc(50% - 74px);left:calc(50% - 56px);font-size:100px}div[draggable=true].hideDragCellContent.content-icon-Line:before{content:\"\"}div[draggable=true].hideDragCellContent.content-icon-Pie:before{top:calc(50% - 72px);left:calc(50% - 45px);content:\"\"}div[draggable=true].hideDragCellContent.content-icon-Area:before{content:\"\"}div[draggable=true].hideDragCellContent.content-icon-Gauge:before{content:\"\"}div[draggable=true].hideDragCellContent.content-icon-Table:before{content:\"\"}div[draggable=true].hideDragCellContent.content-icon-Form:before{content:\"\"}div[draggable=true].hideDragCellContent.content-icon-Grid:before,div[draggable=true].hideDragCellContent.content-icon-Graph:before,div[draggable=true].hideDragCellContent.content-icon-Border:before,div[draggable=true].hideDragCellContent.content-icon-Tabbed:before,div[draggable=true].hideDragCellContent.content-icon-Accordion:before,div[draggable=true].hideDragCellContent.content-icon-MultiChart:before,div[draggable=true].hideDragCellContent.content-icon-MultiChartSurface:before{content:\"\"}div[draggable=true].hideDragCellContent.content-icon-ChoroplethStates:before,div[draggable=true].hideDragCellContent.content-icon-ChoroplethStatesHeat:before,div[draggable=true].hideDragCellContent.content-icon-ChoroplethCounties:before,div[draggable=true].hideDragCellContent.content-icon-ChoroplethCountries:before,div[draggable=true].hideDragCellContent.content-icon-GMap:before,div[draggable=true].hideDragCellContent.content-icon-GMapHeat:before,div[draggable=true].hideDragCellContent.content-icon-GMapGraph:before{content:\"\"}div[draggable=true].hideDragCellContent.content-icon-Text:before,div[draggable=true].hideDragCellContent.content-icon-TextBox:before,div[draggable=true].hideDragCellContent.content-icon-FAChar:before{content:\"\"}.layout_Cell .update-indicator{box-sizing:border-box;position:absolute;top:0;left:0;padding:0;z-index:1000;border-width:0px;border-style:solid;pointer-events:none}.layout_Border{width:100%;height:100%}.layout_Border>.border-content{width:100%;height:100%;position:relative}.layout_Border>.borderHandle{width:6px;height:6px;background-color:#444;opacity:.3;position:absolute;visibility:hidden}.layout_Border.design-mode>.borderHandle{visibility:visible}.layout_Border>.borderHandle:hover{background-color:#666}.layout_Border>.borderHandle.borderHandleDisabled{display:none}.layout_Border>.borderHandle_top,.layout_Border>.borderHandle_bottom{cursor:ns-resize}.layout_Border>.borderHandle_left,.layout_Border>.borderHandle_right{cursor:ew-resize}.layout_Border .cell{border-radius:5px;border:1px solid #e5e5e5;display:inline-block;overflow:hidden}.layout_Border .cell h2{margin:0;padding-top:4px;-webkit-margin:0px;text-align:center}.layout_Border .layout_BorderCell.over{border:2px dashed #000}.layout_Border .dragItem{z-index:-1;opacity:.33}.layout_Border .notDragItem{z-index:-1;opacity:1}.layout_Border div[draggable=true]{opacity:.75;cursor:default}.layout_Border div[draggable=true] .dragHandle{opacity:1}.layout_Border div[draggable=true] .dragHandle_n,.layout_Border div[draggable=true] .dragHandle_e,.layout_Border div[draggable=true] .dragHandle_s,.layout_Border div[draggable=true] .dragHandle_w{background-color:#aaa}.layout_Border div[draggable=true] .dragHandle_nw,.layout_Border div[draggable=true] .dragHandle_ne,.layout_Border div[draggable=true] .dragHandle_se,.layout_Border div[draggable=true] .dragHandle_sw{background-color:#333}.layout_Border div[draggable=true] .dragHandle_nw{cursor:nw-resize}.layout_Border div[draggable=true] .dragHandle_n{cursor:n-resize}.layout_Border div[draggable=true] .dragHandle_ne{cursor:ne-resize}.layout_Border div[draggable=true] .dragHandle_e{cursor:e-resize}.layout_Border div[draggable=true] .dragHandle_se{cursor:se-resize}.layout_Border div[draggable=true] .dragHandle_s{cursor:s-resize}.layout_Border div[draggable=true] .dragHandle_sw{cursor:sw-resize}.layout_Border div[draggable=true] .dragHandle_w{cursor:w-resize}.layout_Border div[draggable=false]>div>.dragHandle{display:none}.layout_Border .grid-drop-target{position:fixed;box-sizing:border-box;border:2px dashed #7f8c8d;border-radius:0;background:repeating-linear-gradient(-45deg,#0000,#0000 4px,#6464641a 4px,#6464641a 8px)}.layout_Border .grid-drop-target.drop-target-over{border:2px dashed #179BD7;background:repeating-linear-gradient(-45deg,#0000,#0000 6px,#119bd71a 6px,#119bd71a 12px)}.layout_Border2{display:flex;flex-direction:column}.layout_Border2>.body{margin:0;padding:0;display:flex;flex-flow:row}.layout_Border2>.body>.center{flex:1}.layout_Border2>.header{display:block}.layout_Border2>.footer{display:block}.layout_Carousel>div{position:relative;overflow:hidden}.layout_Carousel>div>.carouselItem{position:absolute}.layout_Modal-header{background-color:#3f51b5;overflow:hidden}.layout_Modal-body{background-color:#fff;overflow-y:scroll;overflow-x:hidden}.layout_Modal-title,.layout_Modal-annotations{position:absolute}.layout_Modal-closeButton{cursor:pointer}.layout_Modal-closeButton:hover{opacity:.7}.layout_Modal-closeButton:active{opacity:.5}.layout_Modal-fade{position:fixed;background-color:#000;opacity:.5;z-index:10000}.layout_Modal-content{position:fixed;background-color:#fff;z-index:10100}.layout_Modal-fade-hidden{display:none}.layout_Modal-fadeClickable{cursor:pointer}.layout_ChartPanel .series.highlight{stroke-width:2px;opacity:1}.layout_ChartPanel .series.lowlight{opacity:.3!important}.layout_FlexGrid{display:flex}.FlexGrid-list-item{overflow:hidden;border-style:solid;flex-grow:1}.layout_Grid>.ddCell{position:absolute}.layout_Grid>.laneBackground{position:absolute;border-style:solid;border-width:1px;background:#f5f5f5}.layout_Grid>.lane{position:absolute;border-style:none;opacity:.25;border-radius:0;pointer-events:none}.layout_Grid>.ddCell.draggable{border-style:solid;border-width:1px;background-color:#f8f8ff;border-radius:0;cursor:move}.layout_Grid>.ddCell.draggable>.resizeHandle{bottom:0;right:0;width:8px;height:8px;border-style:none;position:absolute;cursor:nwse-resize}.layout_Grid>.ddCell.draggable .resizeHandleDisplay{bottom:2px;right:2px;width:4px;height:4px;border-style:solid;border-left-width:0px;border-top-width:0px;border-right-width:2px;border-bottom-width:2px;border-color:#a9a9a9;background-color:none;position:absolute}.layout_Grid>.ddCell.draggable .resizeHandleDisplay:hover{border-color:orange}.layout_Grid>.dragging{border-style:solid;border-width:1px;border-color:gray;border-radius:0;position:absolute;background:repeating-linear-gradient(-45deg,#0000,#0000 4px,#6464641a 4px,#6464641a 8px)}.layout_Grid>.resizing{border-style:solid;border-width:1px;border-color:gray;background-color:orange;border-radius:0;position:absolute;opacity:.3;background:repeating-linear-gradient(-45deg,#0000,#0000 4px,orange 4px,orange 8px)}.layout_Grid>.ddCell.draggable .common_Widget.selected{border-style:solid;border-width:1px;border-color:red;background-color:gray;border-radius:0;position:absolute;background:repeating-linear-gradient(-45deg,#0000,#0000 4px,#6400001a 4px,#6400001a 8px)}.layout_Grid #drag-me:before{content:\"#\" attr(id);font-weight:700}.layout_Layered{pointer-events:none}.layout_Layered>.container>.content{position:absolute}.layout_Layered>.container>.content>div>.common_Widget,.layout_Layered>.container>.content>div>svg>.common_Widget{pointer-events:all}.layout_Tabbed .tab-button{position:relative;top:1px;display:inline-block;border-left:1px solid #ddd;border-top:1px solid #ddd;border-right:1px solid #ddd;background-color:transparent;margin-right:4px;padding:2px 2px 4px;background-color:#ccc}.layout_Tabbed .tab-button.active{background-color:#fff;z-index:999}.layout_Tabbed .on_bottom .tab-button{border-bottom:1px solid #ddd;border-top:none;top:-1px}.layout_Toolbar{height:100%;background-color:#ddd;white-space:nowrap;overflow:hidden}.layout_Toolbar .toolbar-title{display:inline-block;position:relative;top:50%;transform:translateY(-50%);-ms-transform:translateY(-50%);margin-left:4px;font-weight:700;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.layout_Toolbar .toolbar-child{position:relative;top:50%;transform:translateY(-50%);-ms-transform:translateY(-50%);float:right;margin-left:4px;margin-right:4px;line-height:16px}')),document.head.appendChild(o)}}catch(e){console.error(\"vite-plugin-css-injected-by-js\",e)}})();\nvar __defProp = Object.defineProperty;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: !0, configurable: !0, writable: !0, value }) : obj[key] = value;\nvar __publicField = (obj, key, value) => __defNormalProp(obj, typeof key != \"symbol\" ? key + \"\" : key, value);\nimport { HTMLWidget, FAChar, select, selectAll, Utility, d3Event, Platform, drag, scaleLinear, dispatch, formatLocale, formatSpecifier, format, formatPrefix, sum, SVGWidget, Database, Palette, scaleOrdinal, ProgressBar, ToggleButton, Text, Button, Spacer, TitleBar, IconBar } from \"@hpcc-js/common\";\nimport { Table } from \"@hpcc-js/dgrid2\";\nimport { instanceOfIHighlight } from \"@hpcc-js/api\";\nfunction _mergeNamespaces(n, m) {\n for (var i = 0; i < m.length; i++) {\n const e = m[i];\n if (typeof e != \"string\" && !Array.isArray(e)) {\n for (const k2 in e)\n if (k2 !== \"default\" && !(k2 in n)) {\n const d = Object.getOwnPropertyDescriptor(e, k2);\n d && Object.defineProperty(n, k2, d.get ? d : {\n enumerable: !0,\n get: () => e[k2]\n });\n }\n }\n }\n return Object.freeze(Object.defineProperty(n, Symbol.toStringTag, { value: \"Module\" }));\n}\nconst PKG_NAME = \"@hpcc-js/layout\", PKG_VERSION = \"3.1.1\", BUILD_VERSION = \"3.2.1\";\nclass AbsoluteSurface extends HTMLWidget {\n constructor() {\n super(), this._tag = \"div\";\n }\n enter(domNode, element) {\n super.enter(domNode, element);\n }\n update(domNode, element) {\n super.update(domNode, element);\n let xPos = 0, yPos = 0, width = this.clientWidth(), height = this.clientHeight();\n switch (this.units()) {\n case \"pixels\":\n xPos = this.widgetX(), yPos = this.widgetY(), width = this.widgetWidth() === \"\" ? width - xPos : Number(this.widgetWidth()), height = this.widgetHeight() === \"\" ? height - yPos : Number(this.widgetHeight());\n break;\n case \"percent\":\n xPos = this.widgetX() * width / 100, yPos = this.widgetY() * height / 100, width = this.widgetWidth() === \"\" ? width - xPos : Number(this.widgetWidth()) * width / 100, height = this.widgetHeight() === \"\" ? height - yPos : Number(this.widgetHeight()) * height / 100;\n break;\n }\n element.style(\"opacity\", this.opacity());\n const widgets = element.selectAll(\"#\" + this._id + \" > .placeholder\").data(this.widget() ? [this.widget()] : [], function(d) {\n return d._id;\n });\n widgets.enter().append(\"div\").attr(\"class\", \"placeholder\").each(function(d) {\n d.target(this);\n }).merge(widgets).style(\"left\", xPos + \"px\").style(\"top\", yPos + \"px\").style(\"width\", width + \"px\").style(\"bottom\", height + \"px\").each(function(d) {\n d.resize({ width, height });\n }), widgets.exit().each(function(d) {\n d.target(null);\n }).remove();\n }\n exit(domNode, element) {\n this.widget() && this.widget().target(null), super.exit(domNode, element);\n }\n}\nAbsoluteSurface.prototype._class += \" layout_AbsoluteSurface\";\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\");\nclass Accordion extends HTMLWidget {\n constructor() {\n super();\n __publicField(this, \"_isClosed\");\n __publicField(this, \"titleSpan\");\n __publicField(this, \"iconDiv\");\n __publicField(this, \"ul\");\n __publicField(this, \"icon\");\n this._tag = \"div\", this._isClosed = !1;\n }\n pushListItem(widget, prepend = !1, protect = !1) {\n const contentArr = this.content();\n return widget._protected = protect, prepend ? contentArr.unshift(widget) : contentArr.push(widget), this.content(contentArr), this;\n }\n clearListItems() {\n const arr = [];\n for (const i in this.content())\n this.content()[i]._protected && arr.push(this.content()[i]);\n return this.content(arr), this;\n }\n collapseClick(element) {\n element.classed(\"closed\") ? (this._isClosed = !1, element.classed(\"open\", !0), element.classed(\"closed\", !1)) : (this._isClosed = !0, element.classed(\"open\", !1), element.classed(\"closed\", !0));\n }\n enter(domNode, element) {\n super.enter(domNode, element);\n const context = this;\n this._isClosed = this.defaultCollapsed(), element.classed(this._isClosed ? \"closed\" : \"open\", !0), this.titleSpan = element.append(\"span\").classed(\"collapsible-title\", !0), this.iconDiv = element.append(\"div\").classed(\"collapsible-icon\", !0), this.ul = element.append(\"ul\"), this.icon = new FAChar().size({ height: 24, width: 24 }).target(this.iconDiv.node()), this.iconDiv.on(\"click\", function() {\n context.collapseClick(element), context.render();\n }), this.titleSpan.on(\"click\", function() {\n context.collapseClick(element), context.render();\n });\n }\n update(domNode, element) {\n super.update(domNode, element);\n const context = this, 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().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 return li;\n }), rows.exit().remove(), this.icon.text_colorFill(this.titleFontColor()).char(this._isClosed ? this.closedIcon() : this.openIcon()).render();\n }\n exit(domNode, element) {\n super.exit(domNode, element);\n }\n}\nAccordion.prototype._class += \" layout_Accordion\";\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\", \"\", \"string\", \"Icon to display when list is open\", null, { tags: [\"Private\"] });\nAccordion.prototype.publish(\"closedIcon\", \"\", \"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\"] });\nAccordion.prototype.publish(\"defaultCollapsed\", !1, \"boolean\", \"Collapsed by default if true\", null, { tags: [\"Private\"] });\nclass Surface extends HTMLWidget {\n constructor() {\n super();\n __publicField(this, \"_surfaceButtons\");\n this._tag = \"div\", this._surfaceButtons = [];\n }\n widgetSize(titleDiv, widgetDiv) {\n let width = this.clientWidth(), height = this.clientHeight();\n return this.title() && (height -= this.calcHeight(titleDiv)), height -= this.calcFrameHeight(widgetDiv), width -= this.calcFrameWidth(widgetDiv), { width, height };\n }\n enter(domNode, element) {\n super.enter(domNode, element);\n }\n update(domNode, element2) {\n super.update(domNode, element2);\n const context = this;\n element2.classed(\"shadow2\", this.surfaceShadow()).style(\"border-width\", this.surfaceBorderWidth_exists() ? this.surfaceBorderWidth() + \"px\" : null).style(\"border-color\", this.surfaceBorderColor()).style(\"border-radius\", this.surfaceBorderRadius_exists() ? this.surfaceBorderRadius() + \"px\" : null).style(\"background-color\", this.surfaceBackgroundColor());\n const titles = element2.selectAll(\".surfaceTitle\").data(this.title() ? [this.title()] : []);\n titles.enter().insert(\"h3\", \"div\").attr(\"class\", \"surfaceTitle\").merge(titles).text(function(d) {\n return d;\n }).style(\"text-align\", this.surfaceTitleAlignment()).style(\"color\", this.surfaceTitleFontColor()).style(\"font-size\", this.surfaceTitleFontSize_exists() ? this.surfaceTitleFontSize() + \"px\" : null).style(\"font-family\", this.surfaceTitleFontFamily()).style(\"font-weight\", this.surfaceTitleFontBold() ? \"bold\" : \"normal\").style(\"background-color\", this.surfaceTitleBackgroundColor()).style(\"padding\", this.surfaceTitlePadding_exists() ? this.surfaceTitlePadding() + \"px\" : null).style(\"title\", this.altText_exists() ? this.altText() : null), titles.exit().remove();\n const surfaceButtons = element2.select(\".surfaceTitle\").append(\"div\").attr(\"class\", \"html-button-container\").selectAll(\".surface-button\").data(this.buttonAnnotations());\n surfaceButtons.enter().append(\"button\").classed(\"surface-button\", !0).each(function(button, idx) {\n const el = context._surfaceButtons[idx] = select(this).attr(\"class\", \"surface-button\" + (button.class ? \" \" + button.class : \"\")).attr(\"id\", button.id).style(\"padding\", button.padding).style(\"width\", button.width).style(\"height\", button.height).style(\"cursor\", \"pointer\");\n button.font === \"FontAwesome\" ? el.style(\"background\", \"transparent\").style(\"border\", \"none\").on(\"click\", function(d) {\n context.click(d);\n }).append(\"i\").attr(\"class\", \"fa\").text(function() {\n return button.label;\n }) : el.text(function() {\n return button.label;\n }).on(\"click\", function(d) {\n context.click(d);\n });\n }), surfaceButtons.exit().each(function(_d, idx) {\n const element = select(this);\n delete context._surfaceButtons[idx], element.remove();\n });\n const widgets = element2.selectAll(\"#\" + this._id + \" > .surfaceWidget\").data(this.widget() ? [this.widget()] : [], function(d) {\n return d._id;\n });\n widgets.enter().append(\"div\").attr(\"class\", \"surfaceWidget\").each(function(d) {\n select(context.element().node().parentElement).classed(\"content-icon content-icon-\" + d.classID().split(\"_\")[1], !0), d.target(this);\n }).merge(widgets).style(\"padding\", this.surfacePadding_exists() ? this.surfacePadding() + \"px\" : null).each(function(d) {\n const widgetSize = context.widgetSize(element2.select(\"h3\"), select(this));\n widgetSize.width < 0 && (widgetSize.width = 0), widgetSize.height < 0 && (widgetSize.height = 0), d.resize({ width: widgetSize.width, height: widgetSize.height });\n }), widgets.exit().each(function(d) {\n d.target(null);\n }).remove();\n }\n exit(domNode, element) {\n this.widget() && this.widget().target(null), super.exit(domNode, element);\n }\n // Events ---\n click(obj) {\n }\n}\nSurface.prototype._class += \" layout_Surface\";\nSurface.prototype.publish(\"title\", \"\", \"string\", \"Title\", null, { tags: [\"Intermediate\"] });\nSurface.prototype.publish(\"altText\", null, \"string\", \"Alt text\", null, { optional: !0 });\nSurface.prototype.publish(\"surfaceTitlePadding\", null, \"number\", \"Title Padding (px)\", null, { tags: [\"Advanced\"], disable: (w) => !w.title() });\nSurface.prototype.publish(\"surfaceTitleFontSize\", null, \"number\", \"Title Font Size (px)\", null, { tags: [\"Advanced\"], disable: (w) => !w.title() });\nSurface.prototype.publish(\"surfaceTitleFontColor\", null, \"html-color\", \"Title Font Color\", null, { tags: [\"Advanced\"], disable: (w) => !w.title() });\nSurface.prototype.publish(\"surfaceTitleFontFamily\", null, \"string\", \"Title Font Family\", null, { tags: [\"Advanced\"], disable: (w) => !w.title() });\nSurface.prototype.publish(\"surfaceTitleFontBold\", !0, \"boolean\", \"Enable Bold Title Font\", null, { tags: [\"Advanced\"], disable: (w) => !w.title() });\nSurface.prototype.publish(\"surfaceTitleBackgroundColor\", null, \"html-color\", \"Title Background Color\", null, { tags: [\"Advanced\"], disable: (w) => !w.title() });\nSurface.prototype.publish(\"surfaceTitleAlignment\", \"center\", \"set\", \"Title Alignment\", [\"left\", \"right\", \"center\"], { tags: [\"Basic\"], disable: (w) => !w.title() });\nSurface.prototype.publish(\"surfaceShadow\", !1, \"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\"] });\nSurface.prototype.publish(\"buttonAnnotations\", [], \"array\", \"Button Array\", null, { tags: [\"Private\"] });\nSurface.prototype.publish(\"widget\", null, \"widget\", \"Widget\", null, { tags: [\"Basic\"] });\nclass Cell extends Surface {\n constructor() {\n super();\n __publicField(this, \"_indicateTheseIds\");\n this._indicateTheseIds = [];\n }\n indicateTheseIds(_) {\n return arguments.length ? (this._indicateTheseIds = _, this) : this._indicateTheseIds;\n }\n enter(domNode, element) {\n super.enter(domNode, element);\n const context = this;\n element.classed(\"layout_Surface\", !0).on(\"mouseenter\", function() {\n context.onMouseEnter();\n }).on(\"mouseleave\", function() {\n context.onMouseLeave();\n });\n }\n update(domNode, element) {\n super.update(domNode, element);\n }\n onMouseEnter() {\n const arr = this.indicateTheseIds(), opacity = this.indicatorOpacity(), indicatorBorderColor = this.indicatorBorderColor(), indicatorGlowColor = this.indicatorGlowColor();\n for (let i = 0; i < arr.length; i++) {\n const otherElement = select(\"#\" + arr[i]), otherWidget = otherElement.datum();\n otherElement && otherWidget && otherElement.append(\"div\").attr(\"class\", \"update-indicator\").style(\"width\", otherWidget.width() + \"px\").style(\"height\", otherWidget.height() + \"px\").style(\"opacity\", opacity).style(\"border-color\", indicatorBorderColor).style(\"-webkit-box-shadow\", \"inset 0px 0px 30px 0px \" + indicatorGlowColor).style(\"-moz-box-shadow\", \"inset 0px 0px 30px 0px \" + indicatorGlowColor).style(\"box-shadow\", \"inset 0px 0px 30px 0px \" + indicatorGlowColor);\n }\n }\n onMouseLeave() {\n const arr = this.indicateTheseIds();\n for (let i = 0; i < arr.length; i++)\n selectAll(\"#\" + arr[i] + \" > div.update-indicator\").remove();\n }\n}\nCell.prototype._class += \" layout_Cell\";\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\"] });\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\"] });\nclass Border extends HTMLWidget {\n constructor() {\n super();\n __publicField(this, \"_colCount\");\n __publicField(this, \"_rowCount\");\n __publicField(this, \"_colSize\");\n __publicField(this, \"_rowSize\");\n __publicField(this, \"_shrinkWrapBoxes\");\n __publicField(this, \"_watch\");\n __publicField(this, \"_offsetX\");\n __publicField(this, \"_offsetY\");\n __publicField(this, \"_dragCell\");\n __publicField(this, \"_dragCellSize\");\n __publicField(this, \"_dragCellStartSize\");\n __publicField(this, \"_handleTop\");\n __publicField(this, \"_handleLeft\");\n __publicField(this, \"_dragPrevX\");\n __publicField(this, \"_dragPrevY\");\n __publicField(this, \"_cellSizes\");\n __publicField(this, \"contentDiv\");\n __publicField(this, \"_scrollBarWidth\");\n __publicField(this, \"_borderHandles\");\n __publicField(this, \"_sectionTypeArr\");\n __publicField(this, \"lazyPostUpdate\", Utility.debounce(function() {\n this.postUpdate();\n }, 100));\n this._tag = \"div\", this._colCount = 0, this._rowCount = 0, this._colSize = 0, this._rowSize = 0, this._shrinkWrapBoxes = {}, this.content([]), this.sectionTypes([]);\n }\n watchWidget(widget) {\n if (this._watch === void 0 && (this._watch = {}), this._watch[widget.id()] && (this._watch[widget.id()].remove(), delete this._watch[widget.id()]), widget) {\n const context = this;\n this._watch[widget.id()] = widget.monitor(function(paramId, newVal, oldVal) {\n oldVal !== newVal && context.lazyPostUpdate();\n });\n }\n }\n applyLayoutType() {\n const layoutObj = this.borderLayoutObject();\n this.content().forEach(function(cell, i) {\n cell._fixedLeft = layoutObj[this.sectionTypes()[i]].left, cell._fixedTop = layoutObj[this.sectionTypes()[i]].top, cell._fixedWidth = layoutObj[this.sectionTypes()[i]].width, cell._fixedHeight = layoutObj[this.sectionTypes()[i]].height, cell._dragHandles = this.cellSpecificDragHandles(this.sectionTypes()[i]);\n }, this);\n }\n cellSpecificDragHandles(sectionType) {\n switch (sectionType) {\n case \"top\":\n return [\"s\"];\n case \"right\":\n return [\"w\"];\n case \"bottom\":\n return [\"n\"];\n case \"left\":\n return [\"e\"];\n case \"center\":\n return [];\n }\n }\n borderLayoutObject(layoutType) {\n const retObj = {}, context = this;\n let topSize, topPerc, bottomSize, bottomPerc, leftSize, leftPerc, rightSize, rightPerc;\n const bcRect = this.target().getBoundingClientRect();\n bcRect.top, bcRect.left, bcRect.bottom, bcRect.right, this.target() instanceof SVGElement ? (parseFloat(this.target().getAttribute(\"width\")), parseFloat(this.target().getAttribute(\"height\"))) : (bcRect.width, bcRect.height), this.sectionTypes().indexOf(\"top\") !== -1 && (topSize = this.topSize(), topPerc = this.topPercentage(), typeof this._shrinkWrapBoxes.top < \"u\" && (topSize = this._shrinkWrapBoxes.top.height + this.gutter(), topPerc = 0)), this.sectionTypes().indexOf(\"bottom\") !== -1 && (bottomSize = this.bottomSize(), bottomPerc = this.bottomPercentage(), typeof this._shrinkWrapBoxes.bottom < \"u\" && (bottomSize = this._shrinkWrapBoxes.bottom.height + this.gutter(), bottomPerc = 0)), this.sectionTypes().indexOf(\"left\") !== -1 && (leftSize = this.leftSize(), leftPerc = this.leftPercentage(), typeof this._shrinkWrapBoxes.left < \"u\" && (leftSize = this._shrinkWrapBoxes.left.width + this.gutter(), leftPerc = 0)), this.sectionTypes().indexOf(\"right\") !== -1 && (rightSize = this.rightSize(), rightPerc = this.rightPercentage(), typeof this._shrinkWrapBoxes.right < \"u\" && (rightSize = this._shrinkWrapBoxes.right.width + this.gutter(), rightPerc = 0));\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 }), 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 }), 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 c2 = _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 return retObj.top = t, retObj.bottom = b, retObj.right = r, retObj.left = l, retObj.center = c2, retObj;\n function _sectionPlacementObject(obj) {\n return obj.width.px = typeof obj.width.px < \"u\" ? obj.width.px : 0, obj.width[\"%\"] = typeof obj.width[\"%\"] < \"u\" ? obj.width[\"%\"] : 0, obj.height.px = typeof obj.height.px < \"u\" ? obj.height.px : 0, obj.height[\"%\"] = typeof obj.height[\"%\"] < \"u\" ? obj.height[\"%\"] : 0, {\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 }\n }\n clearContent(sectionType) {\n if (!sectionType)\n this.content().forEach(function(contentWidget) {\n return contentWidget.target(null), !1;\n }), select(\"#\" + this.id() + \" > div.borderHandle\").classed(\"borderHandleDisabled\", !0), delete this._watch, this.content([]), this.sectionTypes([]);\n else {\n const idx = this.sectionTypes().indexOf(sectionType);\n idx >= 0 && (this._watch && this.content()[idx] && delete this._watch[this.content()[idx].id()], this.content()[idx].target(null), select(\"#\" + this.id() + \" > div.borderHandle_\" + sectionType).classed(\"borderHandleDisabled\", !0), this.content().splice(idx, 1), this.sectionTypes().splice(idx, 1));\n }\n }\n hasContent(sectionType, widget, title) {\n return this.sectionTypes().indexOf(sectionType) >= 0;\n }\n setContent(sectionType, widget, title) {\n if (this.clearContent(sectionType), title = typeof title < \"u\" ? title : \"\", widget) {\n const cell = new Cell().surfaceBorderWidth(0).widget(widget).title(title);\n this.watchWidget(widget), this.content().push(cell), this.sectionTypes().push(sectionType);\n }\n return this;\n }\n getCell(id) {\n const idx = this.sectionTypes().indexOf(id);\n return idx >= 0 ? this.content()[idx] : null;\n }\n getContent(id) {\n const idx = this.sectionTypes().indexOf(id);\n return idx >= 0 ? this.content()[idx].widget() : null;\n }\n setLayoutOffsets() {\n this._offsetX = this._element.node().getBoundingClientRect().left + this.gutter() / 2, this._offsetY = this._element.node().getBoundingClientRect().top + this.gutter() / 2;\n }\n dragStart(handle) {\n const event = d3Event();\n event.sourceEvent.stopPropagation();\n const context = this;\n this._dragCell = handle, this._dragCellStartSize = this[handle + \"Size\"](), this[handle + \"ShrinkWrap\"]() && (this[handle + \"Percentage\"](0), this[handle + \"ShrinkWrap\"](!1));\n const handleElm = select(\"#\" + context.id() + \" > div.borderHandle_\" + handle);\n context._handleTop = parseFloat(handleElm.style(\"top\").split(\"px\")[0]), context._handleLeft = parseFloat(handleElm.style(\"left\").split(\"px\")[0]), this._dragPrevX = event.sourceEvent.clientX, this._dragPrevY = event.sourceEvent.clientY;\n }\n dragTick(handle) {\n const context = this, event = d3Event(), xDelta = this._dragPrevX - event.sourceEvent.clientX, yDelta = this._dragPrevY - event.sourceEvent.clientY;\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 function _moveHandles(handle2, delta) {\n if (delta === 0) return;\n const handles = selectAll(\"#\" + context.id() + \" > div.borderHandle\"), grabbedHandle = select(\"#\" + context.id() + \" > div.borderHandle_\" + handle2);\n grabbedHandle.classed(\"borderHandle_top\") ? (grabbedHandle.style(\"top\", context._handleTop - delta + \"px\"), context._cellSizes.topHeight = context._handleTop - delta, context._cellSizes.leftHeight = context._cellSizes.height, context._cellSizes.leftHeight -= context._cellSizes.topHeight, context._cellSizes.leftHeight -= context._cellSizes.bottomHeight, context._cellSizes.rightHeight = context._cellSizes.leftHeight) : grabbedHandle.classed(\"borderHandle_right\") ? (grabbedHandle.style(\"left\", context._handleLeft - delta + \"px\"), context._cellSizes.rightWidth = context._cellSizes.width - context._handleLeft + delta) : grabbedHandle.classed(\"borderHandle_bottom\") ? (grabbedHandle.style(\"top\", context._handleTop - delta + \"px\"), context._cellSizes.bottomHeight = context._cellSizes.height - context._handleTop + delta, context._cellSizes.leftHeight = context._cellSizes.height, context._cellSizes.leftHeight -= context._cellSizes.bottomHeight, context._cellSizes.leftHeight -= context._cellSizes.topHeight, context._cellSizes.rightHeight = context._cellSizes.leftHeight) : grabbedHandle.classed(\"borderHandle_left\") && (grabbedHandle.style(\"left\", context._handleLeft - delta + \"px\"), context._cellSizes.leftWidth = context._handleLeft - delta), handles.each(function() {\n const handle3 = select(this);\n handle3.classed(\"borderHandle_top\") ? (handle3.style(\"width\", context._cellSizes.width + \"px\"), handle3.style(\"top\", context._cellSizes.topHeight - 3 + \"px\")) : handle3.classed(\"borderHandle_right\") ? (handle3.style(\"left\", context._cellSizes.width - context._cellSizes.rightWidth + \"px\"), handle3.style(\"top\", context._cellSizes.topHeight + 3 + \"px\"), handle3.style(\"height\", context._cellSizes.rightHeight + \"px\")) : handle3.classed(\"borderHandle_bottom\") ? (handle3.style(\"width\", context._cellSizes.width + \"px\"), handle3.style(\"top\", context._cellSizes.height - context._cellSizes.bottomHeight - 3 + \"px\")) : handle3.classed(\"borderHandle_left\") && (handle3.style(\"left\", context._cellSizes.leftWidth + \"px\"), handle3.style(\"height\", context._cellSizes.leftHeight + \"px\"), handle3.style(\"top\", context._cellSizes.topHeight + 3 + \"px\"));\n });\n }\n }\n dragEnd(handle) {\n if (handle) {\n const event = d3Event(), xDelta = this._dragPrevX - event.sourceEvent.clientX, yDelta = this._dragPrevY - event.sourceEvent.clientY;\n switch (handle) {\n case \"top\":\n yDelta !== 0 && (this.topPercentage(0), this.topSize(this.topSize() === 0 ? this.getContent(\"top\").getBBox().height - yDelta : this.topSize() - yDelta));\n break;\n case \"right\":\n xDelta !== 0 && (this.rightPercentage(0), this.rightSize(this.rightSize() === 0 ? this.getContent(\"right\").getBBox().width + xDelta : this.rightSize() + xDelta));\n break;\n case \"bottom\":\n yDelta !== 0 && (this.bottomPercentage(0), this.bottomSize(this.bottomSize() === 0 ? this.getContent(\"bottom\").getBBox().height + yDelta : this.bottomSize() + yDelta));\n break;\n case \"left\":\n xDelta !== 0 && (this.leftPercentage(0), this.leftSize(this.leftSize() === 0 ? this.getContent(\"left\").getBBox().width - xDelta : this.leftSize() - xDelta));\n break;\n }\n this._dragPrevX = event.sourceEvent.clientX, this._dragPrevY = event.sourceEvent.clientY;\n }\n this.render();\n }\n size(_) {\n const retVal = HTMLWidget.prototype.size.apply(this, arguments);\n return arguments.length && this.contentDiv && this.contentDiv.style(\"width\", this._size.width + \"px\").style(\"height\", this._size.height + \"px\"), retVal;\n }\n enter(domNode, element) {\n super.enter(domNode, element);\n const context = this;\n element.style(\"position\", \"relative\"), this.contentDiv = element.append(\"div\").classed(\"border-content\", !0), this._scrollBarWidth = Platform.getScrollbarWidth(), this._borderHandles = [\"top\", \"left\", \"right\", \"bottom\"], element.selectAll(\"div.borderHandle\").data(this._borderHandles).enter().append(\"div\").classed(\"borderHandle\", !0).each(function(handle) {\n select(this).classed(\"borderHandle_\" + handle, !0).classed(\"borderHandleDisabled\", context.getContent(handle) === null);\n });\n }\n update(domNode, element) {\n super.update(domNode, element), this._sectionTypeArr = this.sectionTypes();\n const context = this;\n element.classed(\"design-mode\", this.designMode()), this.setLayoutOffsets();\n const rows = this.contentDiv.selectAll(\".cell_\" + this._id).data(this.content(), function(d) {\n return d._id;\n }), rowsUpdate = rows.enter().append(\"div\").classed(\"cell_\" + this._id, !0).style(\"position\", \"absolute\").each(function(d, i) {\n select(this).classed(\"border-cell border-cell-\" + context._sectionTypeArr[i], !0), d.target(this), select(\"#\" + context.id() + \" > div.borderHandle_\" + context._sectionTypeArr[i]).classed(\"borderHandleDisabled\", !1);\n }).merge(rows);\n rowsUpdate.each(function(d, idx) {\n const sectionType = context.sectionTypes()[idx];\n typeof context[sectionType + \"ShrinkWrap\"] < \"u\" && context[sectionType + \"ShrinkWrap\"]() ? (d.render(), context._shrinkWrapBoxes[sectionType] = d.widget().getBBox(!0)) : delete context._shrinkWrapBoxes[sectionType];\n });\n const drag$1 = drag().on(\"start\", function(d, i) {\n context.dragStart.call(context, d, i);\n }).on(\"drag\", function(d, i) {\n context.dragTick.call(context, d, i);\n }).on(\"end\", function(d, i) {\n context.dragEnd.call(context, d, i);\n });\n this.designMode() ? element.selectAll(\"#\" + this.id() + \" > div.borderHandle\").call(drag$1) : element.selectAll(\"#\" + this.id() + \" > div.borderHandle\").on(\".drag\", null);\n const layoutObj = this.borderLayoutObject();\n this.content().forEach(function(cell, i) {\n cell._fixedLeft = layoutObj[this.sectionTypes()[i]].left, cell._fixedTop = layoutObj[this.sectionTypes()[i]].top, cell._fixedWidth = layoutObj[this.sectionTypes()[i]].width, cell._fixedHeight = layoutObj[this.sectionTypes()[i]].height, cell._dragHandles = [];\n }, this), rowsUpdate.style(\"left\", function(d) {\n return d._fixedLeft + \"px\";\n }).style(\"top\", function(d) {\n return d._fixedTop + \"px\";\n }).style(\"width\", function(d) {\n return d._fixedWidth - context.gutter() + \"px\";\n }).style(\"height\", function(d) {\n return d._fixedHeight - context.gutter() + \"px\";\n }).each(function(d) {\n d._placeholderElement.attr(\"draggable\", context.designMode()).selectAll(\".dragHandle\").attr(\"draggable\", context.designMode()), d.surfacePadding(context.surfacePadding()).resize();\n }), rows.exit().each(function(d) {\n d.target(null);\n }).remove(), this.getCellSizes(), element.selectAll(\"#\" + this.id() + \" > div.borderHandle\").each(function() {\n const handle = select(this);\n handle.classed(\"borderHandle_top\") ? (handle.style(\"width\", context._cellSizes.width + \"px\"), handle.style(\"top\", context._cellSizes.topHeight - 3 + \"px\")) : handle.classed(\"borderHandle_right\") ? (handle.style(\"left\", context._cellSizes.width - context._cellSizes.rightWidth + \"px\"), handle.style(\"top\", context._cellSizes.topHeight + 3 + \"px\"), handle.style(\"height\", context._cellSizes.rightHeight + \"px\")) : handle.classed(\"borderHandle_bottom\") ? (handle.style(\"width\", context._cellSizes.width + \"px\"), handle.style(\"top\", context._cellSizes.height - context._cellSizes.bottomHeight - 3 + \"px\")) : handle.classed(\"borderHandle_left\") && (handle.style(\"left\", context._cellSizes.leftWidth + \"px\"), handle.style(\"height\", context._cellSizes.leftHeight + \"px\"), handle.style(\"top\", context._cellSizes.topHeight + 3 + \"px\"));\n });\n }\n getCellSizes() {\n const context = this;\n context._cellSizes = {};\n const contentRect = this.element().node().getBoundingClientRect();\n context._cellSizes.width = contentRect.width, context._cellSizes.height = contentRect.height, this.element().selectAll(\"#\" + this.id() + \" > div > div.border-cell\").each(function() {\n const cell = select(this);\n if (typeof cell.node == \"function\") {\n const rect = cell.node().getBoundingClientRect();\n cell.classed(\"border-cell-top\") ? context._cellSizes.topHeight = rect.height : cell.classed(\"border-cell-left\") ? (context._cellSizes.leftWidth = rect.width, context._cellSizes.leftHeight = rect.height) : cell.classed(\"border-cell-right\") ? (context._cellSizes.rightWidth = rect.width, context._cellSizes.rightHeight = rect.height) : cell.classed(\"border-cell-bottom\") && (context._cellSizes.bottomHeight = rect.height);\n }\n }), [\"height\", \"width\", \"topHeight\", \"bottomHeight\", \"leftHeight\", \"rightHeight\", \"leftWidth\", \"rightWidth\"].forEach(function(size) {\n context._cellSizes[size] = context._cellSizes[size] === void 0 ? 0 : context._cellSizes[size];\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(!1, !0), currBox = n.widget().getBBox(!0, !0);\n (prevBox.width !== currBox.width || prevBox.height !== currBox.height) && context.lazyRender();\n }\n });\n }\n exit(domNode, element) {\n this.content().forEach((w) => w.target(null)), super.exit(domNode, element);\n }\n}\nBorder.prototype._class += \" layout_Border\";\nBorder.prototype.publish(\"designMode\", !1, \"boolean\", \"Design Mode\", null, { tags: [\"Basic\"] });\nBorder.prototype.publish(\"content\", [], \"widgetArray\", \"widgets\", null, { tags: [\"Intermediate\"] });\nBorder.prototype.publish(\"gutter\", 0, \"number\", \"Gap Between Widgets\", null, { tags: [\"Basic\"] });\nBorder.prototype.publish(\"topShrinkWrap\", !1, \"boolean\", \"'Top' Cell shrinks to fit content\", null, { tags: [\"Intermediate\"] });\nBorder.prototype.publish(\"leftShrinkWrap\", !1, \"boolean\", \"'Left' Cell shrinks to fit content\", null, { tags: [\"Intermediate\"] });\nBorder.prototype.publish(\"rightShrinkWrap\", !1, \"boolean\", \"'Right' Cell shrinks to fit content\", null, { tags: [\"Intermediate\"] });\nBorder.prototype.publish(\"bottomShrinkWrap\", !1, \"boolean\", \"'Bottom' Cell shrinks to fit content\", null, { tags: [\"Intermediate\"] });\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\"] });\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\"] });\nBorder.prototype.publish(\"surfacePadding\", 0, \"number\", \"Cell Padding (px)\", null, { tags: [\"Intermediate\"] });\nBorder.prototype.publish(\"sectionTypes\", [], \"array\", \"Section Types sharing an index with 'content' - Used to determine position/size.\", null, { tags: [\"Private\"] });\nclass WidgetDiv {\n constructor(div) {\n __publicField(this, \"_div\");\n __publicField(this, \"_overlay\", !1);\n __publicField(this, \"_overflowX\", \"visible\");\n __publicField(this, \"_overflowY\", \"visible\");\n __publicField(this, \"_widget\");\n this._div = div;\n }\n overlay(_) {\n return arguments.length ? (this._overlay = _, this) : this._overlay;\n }\n overflowX(_) {\n return arguments.length ? (this._overflowX = _, this._div.style(\"overflow-x\", _), this) : this._overflowX;\n }\n overflowY(_) {\n return arguments.length ? (this._overflowY = _, this._div.style(\"overflow-y\", _), this) : this._overflowY;\n }\n element() {\n return this._div;\n }\n node() {\n return this._div.node();\n }\n widget(_) {\n return arguments.length ? (this._widget !== _ && (this._widget && this._widget.target(null), this._widget = _, this._widget && this._widget.target(this._div.node())), this) : this._widget;\n }\n resize(size) {\n return this._widget && (this._div.style(\"width\", `${size.width}px`).style(\"height\", `${size.height}px`), this._widget.resize(size)), this;\n }\n async render(getBBox, availableHeight, availableWidth) {\n let overflowX = this.overflowX();\n !this.overlay() && overflowX === \"visible\" && (overflowX = null);\n let overflowY = this.overflowY();\n return !this.overlay() && overflowY === \"visible\" && (overflowY = null), this._div.style(\"height\", this.overlay() ? \"0px\" : null).style(\"overflow-x\", overflowX).style(\"overflow-y\", overflowY), this._widget ? this._widget.renderPromise().then((w) => {\n if (getBBox && this._widget.visible()) {\n const retVal = this._widget.getBBox();\n return retVal.width += 8, availableHeight !== void 0 && retVal.height > availableHeight && (retVal.width += Platform.getScrollbarWidth()), availableWidth !== void 0 && retVal.width > availableWidth && (retVal.height += Platform.getScrollbarWidth()), this.overlay() ? retVal.height = 0 : retVal.height += 4, retVal;\n }\n return getBBox ? { x: 0, y: 0, width: 0, height: 0 } : void 0;\n }) : Promise.resolve(getBBox ? { x: 0, y: 0, width: 0, height: 0 } : void 0);\n }\n}\nclass Border2 extends HTMLWidget {\n constructor() {\n super();\n __publicField(this, \"_bodyElement\");\n __publicField(this, \"_topWA\");\n __publicField(this, \"_leftWA\");\n __publicField(this, \"_centerWA\");\n __publicField(this, \"_rightWA\");\n __publicField(this, \"_bottomWA\");\n __publicField(this, \"_topPrevOverflow\");\n __publicField(this, \"_leftPrevOverflow\");\n __publicField(this, \"_rightPrevOverflow\");\n __publicField(this, \"_bottomPrevOverflow\");\n this._tag = \"div\";\n }\n enter(domNode, element) {\n super.enter(domNode, element);\n const topElement = element.append(\"header\");\n this._bodyElement = element.append(\"div\").attr(\"class\", \"body\");\n const centerElement = this._bodyElement.append(\"div\").attr(\"class\", \"center\"), leftElement = this._bodyElement.append(\"div\").attr(\"class\", \"lhs\"), rightElement = this._bodyElement.append(\"div\").attr(\"class\", \"rhs\"), bottomElement = element.append(\"div\").attr(\"class\", \"footer\");\n this._topWA = new WidgetDiv(topElement), this._centerWA = new WidgetDiv(centerElement), this._leftWA = new WidgetDiv(leftElement), this._rightWA = new WidgetDiv(rightElement), this._bottomWA = new WidgetDiv(bottomElement);\n }\n update(domNode, element) {\n super.update(domNode, element), this._topWA.element().style(\"display\", this.showTop() ? null : \"none\"), this._rightWA.element().style(\"display\", this.showRight() ? null : \"none\"), this._bottomWA.element().style(\"display\", this.showBottom() ? null : \"none\"), this._leftWA.element().style(\"display\", this.showLeft() ? null : \"none\"), this.topOverflowX() !== this._topWA.overflowX() && this._topWA.overflowX(this.topOverflowX()), this.rightOverflowX() !== this._rightWA.overflowX() && this._rightWA.overflowX(this.rightOverflowX()), this.bottomOverflowX() !== this._bottomWA.overflowX() && this._bottomWA.overflowX(this.bottomOverflowX()), this.leftOverflowX() !== this._leftWA.overflowX() && this._leftWA.overflowX(this.leftOverflowX()), this.topOverflowY() !== this._topWA.overflowY() && this._topWA.overflowY(this.topOverflowY()), this.rightOverflowY() !== this._rightWA.overflowY() && this._rightWA.overflowY(this.rightOverflowY()), this.bottomOverflowY() !== this._bottomWA.overflowY() && this._bottomWA.overflowY(this.bottomOverflowY()), this.leftOverflowY() !== this._leftWA.overflowY() && this._leftWA.overflowY(this.leftOverflowY()), this.element().style(\"width\", `${this.width()}px`).style(\"height\", `${this.height()}px`);\n }\n targetNull(w) {\n w && w.target(null);\n }\n exit(domNode, element) {\n this.targetNull(this.center()), this.targetNull(this.bottom()), this.targetNull(this.right()), this.targetNull(this.left()), this.targetNull(this.top()), super.exit(domNode, element);\n }\n swap(sectionA, sectionB) {\n const a2 = this[sectionA](), b = this[sectionB]();\n return this.targetNull(a2), this.targetNull(b), this[`_${sectionA}WA`].widget(null), this[`_${sectionB}WA`].widget(null), this[sectionA](b), this[sectionB](a2), this;\n }\n render(callback) {\n return super.render((w) => {\n this._topWA ? this._topWA.widget(this.top()).overlay(this.topOverlay()).render(!0).then(async (topBBox) => {\n const bottomBBox = await this._bottomWA.widget(this.bottom()).render(!0, void 0, this.width()), availableHeight = this.height() - (topBBox.height + bottomBBox.height), leftBBox = await this._leftWA.widget(this.left()).render(!0, availableHeight), rightBBox = await this._rightWA.widget(this.right()).render(!0, availableHeight);\n this.bottomHeight_exists() && (bottomBBox.height = this.bottomHeight());\n const bodyWidth = this.width() - (leftBBox.width + rightBBox.width), bodyHeight = this.height() - (topBBox.height + bottomBBox.height), centerOverflowX = this.centerOverflowX(), centerOverflowY = this.centerOverflowY(), scrollCenterX = [\"auto\", \"scroll\"].indexOf(centerOverflowX) !== -1, scrollCenterY = [\"auto\", \"scroll\"].indexOf(centerOverflowY) !== -1;\n (scrollCenterX || scrollCenterY) && this._centerWA.overflowX(this.centerOverflowX()).overflowY(this.centerOverflowY()).widget(this.center()).resize({\n width: bodyWidth,\n height: bodyHeight\n }).render(), this._bodyElement.style(\"height\", `${bodyHeight}px`);\n const promises = [\n this._topWA.overflowX(this.topOverflowX()).overflowY(this.topOverflowY()).resize({\n width: this.width(),\n height: topBBox.height\n }).render(),\n this._leftWA.overflowX(this.leftOverflowX()).overflowY(this.leftOverflowY()).resize({\n width: leftBBox.width,\n height: bodyHeight\n }).render(),\n this._rightWA.overflowX(this.rightOverflowX()).overflowY(this.rightOverflowY()).resize({\n width: rightBBox.width,\n height: bodyHeight\n }).render(),\n this._centerWA.overflowX(this.centerOverflowX()).overflowY(this.centerOverflowY()).widget(this.center()).resize({\n width: bodyWidth,\n height: bodyHeight\n }).render(),\n this._bottomWA.overflowX(this.bottomOverflowX()).overflowY(this.bottomOverflowY()).resize({\n width: this.width(),\n height: bottomBBox.height\n }).render()\n ];\n Promise.all(promises).then((promises2) => {\n callback && callback(this);\n });\n }) : callback && callback(this);\n });\n }\n}\nBorder2.prototype._class += \" layout_Border2\";\nBorder2.prototype.publish(\"showTop\", !0, \"boolean\", \"If true, top widget adapter will display\");\nBorder2.prototype.publish(\"showRight\", !0, \"boolean\", \"If true, right widget adapter will display\");\nBorder2.prototype.publish(\"showBottom\", !0, \"boolean\", \"If true, bottom widget adapter will display\");\nBorder2.prototype.publish(\"showLeft\", !0, \"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\", void 0, { render: !1 });\nBorder2.prototype.publish(\"topOverlay\", !1, \"boolean\", \"Overlay Top Widget\");\nBorder2.prototype.publish(\"left\", null, \"widget\", \"Left Widget\", void 0, { render: !1 });\nBorder2.prototype.publish(\"center\", null, \"widget\", \"Center Widget\", void 0, { render: !1 });\nBorder2.prototype.publish(\"right\", null, \"widget\", \"Right Widget\", void 0, { render: !1 });\nBorder2.prototype.publish(\"bottom\", null, \"widget\", \"Bottom Widget\", void 0, { render: !1 });\nBorder2.prototype.publish(\"bottomHeight\", null, \"number\", \"Bottom Fixed Height\", void 0, { optional: !0 });\nclass Carousel extends HTMLWidget {\n constructor() {\n super(...arguments);\n __publicField(this, \"_prevActive\", 0);\n __publicField(this, \"_root\");\n }\n activeWidget() {\n return this.widgets()[this.active()];\n }\n enter(domNode, element) {\n super.enter(domNode, element), this._root = element.append(\"div\").attr(\"id\", `${this.id()}_root`);\n }\n update(domNode, element) {\n super.update(domNode, element);\n const active = this.active(), width = this.width();\n this._root.style(\"width\", `${width}px`).style(\"height\", `${this.height()}px`);\n const widgetElements = this._root.selectAll(`#${this.id()}_root > .carouselItem`).data(this.widgets(), (d) => d.id()), update = widgetElements.enter().append(\"div\").attr(\"class\", \"carouselItem\").each(function(w) {\n w.target(this);\n }).merge(widgetElements).style(\"left\", (d, i) => `${(i - this._prevActive) * width}px`).style(\"width\", `${width}px`);\n this._prevActive !== active && (update.style(\"display\", (d, i) => i === this._prevActive || i === active ? null : \"none\").transition().duration(this.transitionDuration()).style(\"left\", (d, i) => `${(i - active) * width}px`).on(\"end\", function(d, i) {\n select(this).style(\"display\", () => i === active ? null : \"none\");\n }), this._prevActive = active), widgetElements.exit().each(function(w) {\n w.target(null);\n }).remove();\n }\n exit(domNode, element) {\n this.widgets().forEach((w) => w.target(null)), super.exit(domNode, element);\n }\n render(callback) {\n return super.render((w) => {\n if (!this.visible() || this.isDOMHidden())\n callback && callback(w);\n else {\n const aw = this.activeWidget();\n aw && aw.resize(this.size()).render((w2) => {\n callback && callback(w);\n });\n }\n });\n }\n}\nCarousel.prototype._class += \" layout_Carousel\";\nCarousel.prototype.publish(\"widgets\", [], \"widgetArray\", \"Widgets\", null, { render: !1 });\nCarousel.prototype.publish(\"active\", 0, \"number\", \"Active widget\");\nCarousel.prototype.publish(\"transitionDuration\", 500, \"number\", \"Transition duration\");\nvar pi$1 = Math.PI, tau$1 = 2 * pi$1, epsilon = 1e-6, tauEpsilon = tau$1 - epsilon;\nfunction Path() {\n this._x0 = this._y0 = // start of current subpath\n this._x1 = this._y1 = null, this._ = \"\";\n}\nfunction path() {\n return new Path();\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 this._x1 !== null && (this._x1 = this._x0, this._y1 = this._y0, this._ += \"Z\");\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, y0 = this._y1, x21 = x2 - x1, y21 = y2 - y1, x01 = x0 - x1, y01 = y0 - y1, l01_2 = x01 * x01 + y01 * y01;\n if (r < 0) throw new Error(\"negative radius: \" + r);\n if (this._x1 === null)\n this._ += \"M\" + (this._x1 = x1) + \",\" + (this._y1 = y1);\n else if (l01_2 > epsilon) if (!(Math.abs(y01 * x21 - y21 * x01) > epsilon) || !r)\n this._ += \"L\" + (this._x1 = x1) + \",\" + (this._y1 = y1);\n else {\n var x20 = x2 - x0, y20 = y2 - y0, l21_2 = x21 * x21 + y21 * y21, l20_2 = x20 * x20 + y20 * y20, l21 = Math.sqrt(l21_2), l01 = Math.sqrt(l01_2), l = r * Math.tan((pi$1 - Math.acos((l21_2 + l01_2 - l20_2) / (2 * l21 * l01))) / 2), t01 = l / l01, t21 = l / l21;\n Math.abs(t01 - 1) > epsilon && (this._ += \"L\" + (x1 + t01 * x01) + \",\" + (y1 + t01 * y01)), 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), dy = r * Math.sin(a0), x0 = x + dx, y0 = y + dy, cw = 1 ^ ccw, da = ccw ? a0 - a1 : a1 - a0;\n if (r < 0) throw new Error(\"negative radius: \" + r);\n this._x1 === null ? this._ += \"M\" + x0 + \",\" + y0 : (Math.abs(this._x1 - x0) > epsilon || Math.abs(this._y1 - y0) > epsilon) && (this._ += \"L\" + x0 + \",\" + y0), r && (da < 0 && (da = da % tau$1 + tau$1), da > tauEpsilon ? this._ += \"A\" + r + \",\" + r + \",0,1,\" + cw + \",\" + (x - dx) + \",\" + (y - dy) + \"A\" + r + \",\" + r + \",0,1,\" + cw + \",\" + (this._x1 = x0) + \",\" + (this._y1 = y0) : da > epsilon && (this._ += \"A\" + r + \",\" + r + \",0,\" + +(da >= pi$1) + \",\" + cw + \",\" + (this._x1 = x + r * Math.cos(a1)) + \",\" + (this._y1 = y + r * Math.sin(a1))));\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};\nfunction constant(x) {\n return function() {\n return x;\n };\n}\nvar pi = Math.PI, tau = 2 * pi;\nconst d3SymbolCircle = {\n draw: function(context, size) {\n var r = Math.sqrt(size / pi);\n context.moveTo(r, 0), context.arc(0, 0, r, 0, tau);\n }\n}, d3SymbolCross = {\n draw: function(context, size) {\n var r = Math.sqrt(size / 5) / 2;\n context.moveTo(-3 * r, -r), context.lineTo(-r, -r), context.lineTo(-r, -3 * r), context.lineTo(r, -3 * r), context.lineTo(r, -r), context.lineTo(3 * r, -r), context.lineTo(3 * r, r), context.lineTo(r, r), context.lineTo(r, 3 * r), context.lineTo(-r, 3 * r), context.lineTo(-r, r), context.lineTo(-3 * r, r), context.closePath();\n }\n};\nvar tan30 = Math.sqrt(1 / 3), tan30_2 = tan30 * 2;\nconst d3SymbolDiamond = {\n draw: function(context, size) {\n var y = Math.sqrt(size / tan30_2), x = y * tan30;\n context.moveTo(0, -y), context.lineTo(x, 0), context.lineTo(0, y), context.lineTo(-x, 0), context.closePath();\n }\n};\nvar ka = 0.8908130915292852, kr = Math.sin(pi / 10) / Math.sin(7 * pi / 10), kx = Math.sin(tau / 10) * kr, ky = -Math.cos(tau / 10) * kr;\nconst d3SymbolStar = {\n draw: function(context, size) {\n var r = Math.sqrt(size * ka), x = kx * r, y = ky * r;\n context.moveTo(0, -r), context.lineTo(x, y);\n for (var i = 1; i < 5; ++i) {\n var a2 = tau * i / 5, c2 = Math.cos(a2), s2 = Math.sin(a2);\n context.lineTo(s2 * r, -c2 * r), context.lineTo(c2 * x - s2 * y, s2 * x + c2 * y);\n }\n context.closePath();\n }\n}, d3SymbolSquare = {\n draw: function(context, size) {\n var w = Math.sqrt(size), x = -w / 2;\n context.rect(x, x, w, w);\n }\n};\nvar sqrt3 = Math.sqrt(3);\nconst d3SymbolTriangle = {\n draw: function(context, size) {\n var y = -Math.sqrt(size / (sqrt3 * 3));\n context.moveTo(0, y * 2), context.lineTo(-sqrt3 * y, -y), context.lineTo(sqrt3 * y, -y), context.closePath();\n }\n};\nvar c = -0.5, s = Math.sqrt(3) / 2, k = 1 / Math.sqrt(12), a = (k / 2 + 1) * 3;\nconst d3SymbolWye = {\n draw: function(context, size) {\n var r = Math.sqrt(size / a), x0 = r / 2, y0 = r * k, x1 = x0, y1 = r * k + r, x2 = -x1, y2 = y1;\n context.moveTo(x0, y0), context.lineTo(x1, y1), context.lineTo(x2, y2), context.lineTo(c * x0 - s * y0, s * x0 + c * y0), context.lineTo(c * x1 - s * y1, s * x1 + c * y1), context.lineTo(c * x2 - s * y2, s * x2 + c * y2), context.lineTo(c * x0 + s * y0, c * y0 - s * x0), context.lineTo(c * x1 + s * y1, c * y1 - s * x1), context.lineTo(c * x2 + s * y2, c * y2 - s * x2), context.closePath();\n }\n};\nfunction d3Symbol() {\n var type = constant(d3SymbolCircle), size = constant(64), context = null;\n function symbol() {\n var buffer;\n if (context || (context = buffer = path()), type.apply(this, arguments).draw(context, +size.apply(this, arguments)), buffer) return context = null, buffer + \"\" || null;\n }\n return symbol.type = function(_) {\n return arguments.length ? (type = typeof _ == \"function\" ? _ : constant(_), symbol) : type;\n }, symbol.size = function(_) {\n return arguments.length ? (size = typeof _ == \"function\" ? _ : constant(+_), symbol) : size;\n }, symbol.context = function(_) {\n return arguments.length ? (context = _ ?? null, symbol) : context;\n }, symbol;\n}\nvar _typeof = typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" ? function(obj) {\n return typeof obj;\n} : function(obj) {\n return obj && typeof Symbol == \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n}, d3_identity = function(d) {\n return d;\n}, d3_reverse = function(arr) {\n for (var mirror = [], i = 0, l = arr.length; i < l; i++)\n mirror[i] = arr[l - i - 1];\n return mirror;\n}, d3_textWrapping = function(text, width) {\n text.each(function() {\n var text2 = select(this), words = text2.text().split(/\\s+/).reverse(), word, line = [], lineHeight = 1.2;\n text2.attr(\"y\");\n for (var dy = parseFloat(text2.attr(\"dy\")) || 0, tspan = text2.text(null).append(\"tspan\").attr(\"x\", 0).attr(\"dy\", dy + \"em\"); word = words.pop(); )\n line.push(word), tspan.text(line.join(\" \")), tspan.node().getComputedTextLength() > width && line.length > 1 && (line.pop(), tspan.text(line.join(\" \")), line = [word], tspan = text2.append(\"tspan\").attr(\"x\", 0).attr(\"dy\", lineHeight + dy + \"em\").text(word));\n });\n}, d3_mergeLabels = function() {\n var gen = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : [], labels = arguments[1], domain = arguments[2], range = arguments[3], labelDelimiter = arguments[4];\n if ((typeof labels > \"u\" ? \"undefined\" : _typeof(labels)) === \"object\") {\n if (labels.length === 0) return gen;\n for (var i = labels.length; i < gen.length; i++)\n labels.push(gen[i]);\n return labels;\n } else if (typeof labels == \"function\") {\n for (var customLabels = [], genLength = gen.length, _i = 0; _i < genLength; _i++)\n customLabels.push(labels({\n i: _i,\n genLength,\n generatedLabels: gen,\n domain,\n range,\n labelDelimiter\n }));\n return customLabels;\n }\n return gen;\n}, d3_linearLegend = function(scale, cells, labelFormat) {\n var data = [];\n if (cells.length > 1)\n data = cells;\n else\n for (var domain = scale.domain(), increment = (domain[domain.length - 1] - domain[0]) / (cells - 1), i = 0; i < cells; i++)\n data.push(domain[0] + i * increment);\n var labels = data.map(labelFormat);\n return {\n data,\n labels,\n feature: function(d) {\n return scale(d);\n }\n };\n}, d3_quantLegend = function(scale, labelFormat, labelDelimiter) {\n var labels = scale.range().map(function(d) {\n var invert = scale.invertExtent(d);\n return labelFormat(invert[0]) + \" \" + labelDelimiter + \" \" + labelFormat(invert[1]);\n });\n return {\n data: scale.range(),\n labels,\n feature: d3_identity\n };\n}, d3_ordinalLegend = function(scale) {\n return {\n data: scale.domain(),\n labels: scale.domain(),\n feature: function(d) {\n return scale(d);\n }\n };\n}, d3_cellOver = function(cellDispatcher, d, obj) {\n cellDispatcher.call(\"cellover\", obj, d);\n}, d3_cellOut = function(cellDispatcher, d, obj) {\n cellDispatcher.call(\"cellout\", obj, d);\n}, d3_cellClick = function(cellDispatcher, d, obj) {\n cellDispatcher.call(\"cellclick\", obj, d);\n}, helper = {\n d3_drawShapes: function(shape, shapes, shapeHeight, shapeWidth, shapeRadius, path2) {\n shape === \"rect\" ? shapes.attr(\"height\", shapeHeight).attr(\"width\", shapeWidth) : shape === \"circle\" ? shapes.attr(\"r\", shapeRadius) : shape === \"line\" ? shapes.attr(\"x1\", 0).attr(\"x2\", shapeWidth).attr(\"y1\", 0).attr(\"y2\", 0) : shape === \"path\" && shapes.attr(\"d\", path2);\n },\n d3_addText: function(svg, enter, labels, classPrefix, labelWidth) {\n enter.append(\"text\").attr(\"class\", classPrefix + \"label\");\n var text = svg.selectAll(\"g.\" + classPrefix + \"cell text.\" + classPrefix + \"label\").data(labels).text(d3_identity);\n return labelWidth && svg.selectAll(\"g.\" + classPrefix + \"cell text.\" + classPrefix + \"label\").call(d3_textWrapping, labelWidth), text;\n },\n d3_calcType: function(scale, ascending, cells, labels, labelFormat, labelDelimiter) {\n var type = scale.invertExtent ? d3_quantLegend(scale, labelFormat, labelDelimiter) : scale.ticks ? d3_linearLegend(scale, cells, labelFormat) : d3_ordinalLegend(scale), range = scale.range && scale.range() || scale.domain();\n return type.labels = d3_mergeLabels(type.labels, labels, scale.domain(), range, labelDelimiter), ascending && (type.labels = d3_reverse(type.labels), type.data = d3_reverse(type.data)), type;\n },\n d3_filterCells: function(type, cellFilter) {\n var filterCells = type.data.map(function(d, i) {\n return { data: d, label: type.labels[i] };\n }).filter(cellFilter), dataValues = filterCells.map(function(d) {\n return d.data;\n }), labelValues = filterCells.map(function(d) {\n return d.label;\n });\n return type.data = type.data.filter(function(d) {\n return dataValues.indexOf(d) !== -1;\n }), type.labels = type.labels.filter(function(d) {\n return labelValues.indexOf(d) !== -1;\n }), type;\n },\n d3_placement: function(orient, cell, cellTrans, text, textTrans, labelAlign) {\n cell.attr(\"transform\", cellTrans), text.attr(\"transform\", textTrans), orient === \"horizontal\" && text.style(\"text-anchor\", labelAlign);\n },\n d3_addEvents: function(cells, dispatcher) {\n cells.on(\"mouseover.legend\", function(d) {\n d3_cellOver(dispatcher, d, this);\n }).on(\"mouseout.legend\", function(d) {\n d3_cellOut(dispatcher, d, this);\n }).on(\"click.legend\", function(d) {\n d3_cellClick(dispatcher, d, this);\n });\n },\n d3_title: function(svg, title, classPrefix, titleWidth) {\n if (title !== \"\") {\n var titleText = svg.selectAll(\"text.\" + classPrefix + \"legendTitle\");\n titleText.data([title]).enter().append(\"text\").attr(\"class\", classPrefix + \"legendTitle\"), svg.selectAll(\"text.\" + classPrefix + \"legendTitle\").text(title), titleWidth && svg.selectAll(\"text.\" + classPrefix + \"legendTitle\").call(d3_textWrapping, titleWidth);\n var cellsSvg = svg.select(\".\" + classPrefix + \"legendCells\"), yOffset = svg.select(\".\" + classPrefix + \"legendTitle\").nodes().map(function(d) {\n return d.getBBox().height;\n })[0], xOffset = -cellsSvg.nodes().map(function(d) {\n return d.getBBox().x;\n })[0];\n cellsSvg.attr(\"transform\", \"translate(\" + xOffset + \",\" + yOffset + \")\");\n }\n },\n d3_defaultLocale: {\n format,\n formatPrefix\n },\n d3_defaultFormatSpecifier: \".01f\",\n d3_defaultDelimiter: \"to\"\n};\nfunction color() {\n var scale = scaleLinear(), shape = \"rect\", shapeWidth = 15, shapeHeight = 15, shapeRadius = 10, shapePadding = 2, cells = [5], cellFilter = void 0, labels = [], classPrefix = \"\", useClass = !1, title = \"\", locale = helper.d3_defaultLocale, specifier = helper.d3_defaultFormatSpecifier, labelOffset = 10, labelAlign = \"middle\", labelDelimiter = helper.d3_defaultDelimiter, labelWrap = void 0, orient = \"vertical\", ascending = !1, path2 = void 0, titleWidth = void 0, legendDispatcher = dispatch(\"cellover\", \"cellout\", \"cellclick\");\n function legend(svg) {\n var type = helper.d3_calcType(scale, ascending, cells, labels, locale.format(specifier), labelDelimiter), legendG = svg.selectAll(\"g\").data([scale]);\n legendG.enter().append(\"g\").attr(\"class\", classPrefix + \"legendCells\"), cellFilter && helper.d3_filterCells(type, cellFilter);\n var cell = svg.select(\".\" + classPrefix + \"legendCells\").selectAll(\".\" + classPrefix + \"cell\").data(type.data), cellEnter = cell.enter().append(\"g\").attr(\"class\", classPrefix + \"cell\");\n cellEnter.append(shape).attr(\"class\", classPrefix + \"swatch\");\n var shapes = svg.selectAll(\"g.\" + classPrefix + \"cell \" + shape + \".\" + classPrefix + \"swatch\").data(type.data);\n helper.d3_addEvents(cellEnter, legendDispatcher), cell.exit().transition().style(\"opacity\", 0).remove(), shapes.exit().transition().style(\"opacity\", 0).remove(), shapes = shapes.merge(shapes), helper.d3_drawShapes(shape, shapes, shapeHeight, shapeWidth, shapeRadius, path2);\n var text = helper.d3_addText(svg, cellEnter, type.labels, classPrefix, labelWrap);\n cell = cellEnter.merge(cell);\n var textSize = text.nodes().map(function(d) {\n return d.getBBox();\n }), shapeSize = shapes.nodes().map(function(d) {\n return d.getBBox();\n });\n useClass ? shapes.attr(\"class\", function(d) {\n return classPrefix + \"swatch \" + type.feature(d);\n }) : shape == \"line\" ? shapes.style(\"stroke\", type.feature) : shapes.style(\"fill\", type.feature);\n var cellTrans = void 0, textTrans = void 0, textAlign = labelAlign == \"start\" ? 0 : labelAlign == \"middle\" ? 0.5 : 1;\n orient === \"vertical\" ? function() {\n var cellSize = textSize.map(function(d, i) {\n return Math.max(d.height, shapeSize[i].height);\n });\n cellTrans = function(d, i) {\n var height = sum(cellSize.slice(0, i));\n return \"translate(0, \" + (height + i * shapePadding) + \")\";\n }, textTrans = function(d, i) {\n return \"translate( \" + (shapeSize[i].width + shapeSize[i].x + labelOffset) + \", \" + (shapeSize[i].y + shapeSize[i].height / 2 + 5) + \")\";\n };\n }() : orient === \"horizontal\" && (cellTrans = function(d, i) {\n return \"translate(\" + i * (shapeSize[i].width + shapePadding) + \",0)\";\n }, textTrans = function(d, i) {\n return \"translate(\" + (shapeSize[i].width * textAlign + shapeSize[i].x) + `,\n ` + (shapeSize[i].height + shapeSize[i].y + labelOffset + 8) + \")\";\n }), helper.d3_placement(orient, cell, cellTrans, text, textTrans, labelAlign), helper.d3_title(svg, title, classPrefix, titleWidth), cell.transition().style(\"opacity\", 1);\n }\n return legend.scale = function(_) {\n return arguments.length ? (scale = _, legend) : scale;\n }, legend.cells = function(_) {\n return arguments.length ? ((_.length > 1 || _ >= 2) && (cells = _), legend) : cells;\n }, legend.cellFilter = function(_) {\n return arguments.length ? (cellFilter = _, legend) : cellFilter;\n }, legend.shape = function(_, d) {\n return arguments.length ? ((_ == \"rect\" || _ == \"circle\" || _ == \"line\" || _ == \"path\" && typeof d == \"string\") && (shape = _, path2 = d), legend) : shape;\n }, legend.shapeWidth = function(_) {\n return arguments.length ? (shapeWidth = +_, legend) : shapeWidth;\n }, legend.shapeHeight = function(_) {\n return arguments.length ? (shapeHeight = +_, legend) : shapeHeight;\n }, legend.shapeRadius = function(_) {\n return arguments.length ? (shapeRadius = +_, legend) : shapeRadius;\n }, legend.shapePadding = function(_) {\n return arguments.length ? (shapePadding = +_, legend) : shapePadding;\n }, legend.labels = function(_) {\n return arguments.length ? (labels = _, legend) : labels;\n }, legend.labelAlign = function(_) {\n return arguments.length ? ((_ == \"start\" || _ == \"end\" || _ == \"middle\") && (labelAlign = _), legend) : labelAlign;\n }, legend.locale = function(_) {\n return arguments.length ? (locale = formatLocale(_), legend) : locale;\n }, legend.labelFormat = function(_) {\n return arguments.length ? (specifier = formatSpecifier(_), legend) : legend.locale().format(specifier);\n }, legend.labelOffset = function(_) {\n return arguments.length ? (labelOffset = +_, legend) : labelOffset;\n }, legend.labelDelimiter = function(_) {\n return arguments.length ? (labelDelimiter = _, legend) : labelDelimiter;\n }, legend.labelWrap = function(_) {\n return arguments.length ? (labelWrap = _, legend) : labelWrap;\n }, legend.useClass = function(_) {\n return arguments.length ? ((_ === !0 || _ === !1) && (useClass = _), legend) : useClass;\n }, legend.orient = function(_) {\n return arguments.length ? (_ = _.toLowerCase(), (_ == \"horizontal\" || _ == \"vertical\") && (orient = _), legend) : orient;\n }, legend.ascending = function(_) {\n return arguments.length ? (ascending = !!_, legend) : ascending;\n }, legend.classPrefix = function(_) {\n return arguments.length ? (classPrefix = _, legend) : classPrefix;\n }, legend.title = function(_) {\n return arguments.length ? (title = _, legend) : title;\n }, legend.titleWidth = function(_) {\n return arguments.length ? (titleWidth = _, legend) : titleWidth;\n }, legend.textWrap = function(_) {\n return arguments.length ? (textWrap = _, legend) : textWrap;\n }, legend.on = function() {\n var value = legendDispatcher.on.apply(legendDispatcher, arguments);\n return value === legendDispatcher ? legend : value;\n }, legend;\n}\nclass Legend extends SVGWidget {\n constructor(owner) {\n super();\n __publicField(this, \"_owner\");\n __publicField(this, \"_targetWidget\");\n __publicField(this, \"_targetWidgetMonitor\");\n __publicField(this, \"_legendOrdinal\");\n __publicField(this, \"_disabled\", []);\n __publicField(this, \"_symbolTypeMap\", {\n circle: d3SymbolCircle,\n cross: d3SymbolCross,\n diamond: d3SymbolDiamond,\n square: d3SymbolSquare,\n star: d3SymbolStar,\n triangle: d3SymbolTriangle,\n wye: d3SymbolWye\n });\n __publicField(this, \"_g\");\n __publicField(this, \"_containerSize\");\n this._owner = owner, this._drawStartPos = \"origin\";\n const context = this;\n this._legendOrdinal = color().shape(\"path\", d3Symbol().type(d3SymbolCircle).size(150)()).shapePadding(10).shapeRadius(10).on(\"cellclick\", function(d) {\n context.onClick(d, this);\n }).on(\"cellover\", (d) => {\n context.onOver(d, this);\n }).on(\"cellout\", (d) => {\n context.onOut(d, this);\n });\n }\n isDisabled(d) {\n return typeof d > \"u\" ? !1 : typeof d == \"string\" ? d.indexOf(\"__\") === 0 || this._disabled.indexOf(d) >= 0 : d instanceof Database.Field ? d.id().indexOf(\"__\") === 0 || this._disabled.indexOf(d.id()) >= 0 : this._disabled.indexOf(d) >= 0;\n }\n filteredFields() {\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 filteredColumns() {\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 filteredData() {\n switch (this.dataFamily()) {\n case \"2D\":\n return this.data().filter((row) => !this.isDisabled(row[0]));\n case \"ND\":\n const disabledCols = {};\n let anyDisabled = !1;\n return this.columns().forEach((col, idx) => {\n const disabled = this.isDisabled(col);\n disabledCols[idx] = disabled, disabled && (anyDisabled = !0);\n }), anyDisabled ? this.data().map((row) => row.filter((cell, idx) => !disabledCols[idx])) : this.data();\n }\n return this.data();\n }\n isRainbow() {\n const widget = this.getWidget();\n return widget && widget._palette && widget._palette.type() === \"rainbow\";\n }\n targetWidget(_) {\n if (!arguments.length) return this._targetWidget;\n if (this._targetWidget = _, this._targetWidgetMonitor && (this._targetWidgetMonitor.remove(), delete this._targetWidgetMonitor), 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 getWidget() {\n if (this._targetWidget)\n switch (this._targetWidget.classID()) {\n case \"composite_MultiChart\":\n return this._targetWidget.chart();\n }\n return this._targetWidget;\n }\n getPalette() {\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 return Palette.ordinal(\"default\");\n }\n getPaletteType() {\n return this.getPalette().type();\n }\n fillColorFunc() {\n const widget = this.getWidget();\n if (widget && widget.fillColor)\n return widget._palette && widget.paletteID && widget._palette.name !== widget.paletteID() && (widget._palette = widget._palette.switch(widget.paletteID())), (row, col, sel) => widget.fillColor(row, col, sel);\n const palette = Palette.ordinal(widget && widget.paletteID && widget.paletteID() || \"default\");\n return (row, col, sel) => palette(col);\n }\n fillColor(row, col, sel) {\n return this.fillColorFunc()(row, col, sel);\n }\n enter(domNode, element) {\n super.enter(domNode, element), this._g = element.append(\"g\").attr(\"class\", \"legendOrdinal\");\n }\n calcMetaData() {\n let dataArr = [], total = 0, maxLabelWidth = 0;\n const colLength = this.columns().length;\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, n2) => acc + n2, 0);\n const disabled = this.isDisabled(n[0]);\n disabled || (total += val);\n const label = n[0] + (!disabled && this.showSeriesTotal() ? ` (${val})` : \"\"), textSize = this.textSize(label);\n return maxLabelWidth < textSize.width && (maxLabelWidth = textSize.width), [fillColor(n, n[0], !1), n[0], label];\n }, this);\n break;\n case \"ND\":\n dataArr = this.columns().filter((col) => col.indexOf(\"__\") !== 0).filter(function(n, i) {\n return i > 0;\n }).map(function(n, i) {\n val = this.data().reduce((acc, n2) => acc + n2[i + 1], 0);\n const disabled = this.isDisabled(columns[i + 1]), label = n + (!disabled && this.showSeriesTotal() ? ` (${val})` : \"\");\n disabled || (total += val);\n const textSize = this.textSize(label);\n return maxLabelWidth < textSize.width && (maxLabelWidth = textSize.width), [fillColor(void 0, n, !1), n, label];\n }, this);\n break;\n default:\n dataArr = this.columns().map(function(n) {\n return [fillColor(void 0, n, !1), n];\n }, this);\n break;\n }\n break;\n case \"rainbow\":\n const palette = this.getPalette(), format$1 = format(this.rainbowFormat()), widget = this.getWidget(), steps = this.rainbowBins(), weightMin = widget._dataMinWeight, weightMax = widget._dataMaxWeight, stepWeightDiff = (weightMax - weightMin) / (steps - 1);\n dataArr.push([palette(weightMin, weightMin, weightMax), format$1(weightMin)]);\n for (let x = 1; x < steps - 1; ++x) {\n let mid = stepWeightDiff * x;\n Math.floor(mid) > parseInt(dataArr[0][1]) && (mid = Math.floor(mid)), dataArr.push([palette(mid, weightMin, weightMax), format$1(mid)]);\n }\n dataArr.push([palette(weightMax, weightMin, weightMax), format$1(weightMax)]);\n break;\n }\n }\n return {\n dataArr,\n total,\n maxLabelWidth\n };\n }\n update(domNode, element) {\n super.update(domNode, element);\n const { dataArr, maxLabelWidth, total } = this.calcMetaData(), radius = this.shapeRadius(), size = this.radiusToSymbolSize(radius), strokeWidth = 1;\n let shapePadding = this.itemPadding();\n this.orientation() === \"horizontal\" && (shapePadding += maxLabelWidth - radius * 2);\n const ordinal = scaleOrdinal().domain(dataArr.map((row) => row[1])).range(dataArr.map((row) => row[0]));\n this._legendOrdinal.shape(\"path\", d3Symbol().type(this._symbolTypeMap[this.symbolType()]).size(size)()).orient(this.orientation()).title(this.title()).labelWrap(this.labelMaxWidth()).labelAlign(this.labelAlign()).shapePadding(shapePadding).scale(ordinal).labels((d) => dataArr[d.i][2]), this._g.call(this._legendOrdinal), this.updateDisabled(element, dataArr);\n const legendCellsBbox = this._g.select(\".legendCells\").node().getBBox();\n let offsetX = Math.abs(legendCellsBbox.x), offsetY = Math.abs(legendCellsBbox.y) + strokeWidth;\n if (this.orientation() === \"horizontal\") {\n if (this.labelAlign() === \"start\" ? offsetX += strokeWidth : this.labelAlign() === \"end\" && (offsetX -= strokeWidth), this.width() > legendCellsBbox.width) {\n const extraWidth = this.width() - legendCellsBbox.width;\n offsetX += extraWidth / 2;\n }\n } else if (this.orientation() === \"vertical\" && (offsetX += strokeWidth, this._containerSize.height > legendCellsBbox.height)) {\n const extraHeight = this.height() - legendCellsBbox.height;\n offsetY += extraHeight / 2;\n }\n this._g.attr(\"transform\", `translate(${offsetX}, ${offsetY})`), this.pos({\n x: 0,\n y: 0\n }), this._legendOrdinal.labelOffset(this.itemPadding());\n const legendTotal = this._g.selectAll(\".legendTotal\").data(dataArr.length && this.showLegendTotal() ? [total] : []), totalText = `Total: ${total}`, totalOffsetX = -offsetX, totalOffsetY = legendCellsBbox.height + this.itemPadding() + strokeWidth;\n this.enableOverflowScroll(!1), this.enableOverflow(!0), legendTotal.enter().append(\"text\").classed(\"legendTotal\", !0).merge(legendTotal).attr(\"transform\", `translate(${totalOffsetX}, ${totalOffsetY})`).text(totalText), legendTotal.exit().remove();\n }\n updateDisabled(element, dataArr) {\n element.style(\"cursor\", \"pointer\").selectAll(\"path.swatch\").filter((d, i) => i < dataArr.length).style(\"stroke\", (d, i) => dataArr[i][0]).style(\n \"fill\",\n (d, i) => this._disabled.indexOf(d) < 0 ? dataArr[i][0] : \"white\"\n );\n }\n postUpdate(domNode, element) {\n let w;\n this._boundingBox && (w = this._boundingBox.width, this._boundingBox.width = this._size.width), super.postUpdate(domNode, element), w !== void 0 && (this._boundingBox.width = w), this._parentRelativeDiv.style(\"overflow\", \"hidden\");\n }\n exit(domNode, element) {\n super.exit(domNode, element);\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 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 disabledIdx < 0 ? this._disabled.push(d) : this._disabled.splice(disabledIdx, 1), this._owner.refreshColumns(), this._owner.refreshData(), this._owner.render();\n break;\n }\n break;\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 this._disabled.indexOf(d) < 0 && this._owner.highlightColumn(d);\n break;\n }\n break;\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 onDblClick(rowData, rowIdx) {\n }\n onMouseOver(rowData, rowIdx) {\n }\n resize(_size) {\n let retVal;\n if (this.fitToContent()) {\n this._containerSize = _size;\n const bbox = this.getBBox();\n _size.width > bbox.width && (bbox.width = _size.width), _size.height > bbox.height && (bbox.height = _size.height), retVal = super.resize.apply(this, [{ ...bbox }]);\n } else\n retVal = super.resize.apply(this, arguments);\n return retVal;\n }\n}\nLegend.prototype._class += \" layout_Legend\";\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: !0 });\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: !0, 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\", !1, \"boolean\", \"Show value next to series\");\nLegend.prototype.publish(\"showLegendTotal\", !1, \"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\", !0, \"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: !0, disable: (w) => w.orientation() === \"vertical\" });\nclass Modal extends HTMLWidget {\n constructor() {\n super();\n __publicField(this, \"_widget\");\n __publicField(this, \"_relativeTarget\");\n __publicField(this, \"_fade\");\n __publicField(this, \"_modal\");\n __publicField(this, \"_modalHeader\");\n __publicField(this, \"_modalBody\");\n __publicField(this, \"_modalHeaderAnnotations\");\n __publicField(this, \"_modalHeaderCloseButton\");\n __publicField(this, \"_close\");\n this._tag = \"div\";\n }\n closeModal() {\n this.visible(!1);\n }\n getRelativeTarget() {\n let relativeTarget;\n return this.relativeTargetId() && (relativeTarget = document.getElementById(this.relativeTargetId()), relativeTarget) ? relativeTarget : !relativeTarget && (relativeTarget = this.locateAncestor(\"layout_Grid\"), relativeTarget && relativeTarget.element) ? relativeTarget.element().node() : document.body;\n }\n setModalSize() {\n this.fixedHeight() !== null && this.fixedWidth() !== null ? this._modal.style(\"height\", this.fixedHeight()).style(\"width\", this.fixedWidth()).style(\"min-height\", null).style(\"min-width\", null).style(\"max-height\", null).style(\"max-width\", null) : (this.minHeight() || this.minWidth()) && this._modal.style(\"min-height\", this.minHeight()).style(\"min-width\", this.minWidth()).style(\"max-height\", this.maxHeight()).style(\"max-width\", this.maxWidth());\n const modalRect = this._modal.node().getBoundingClientRect(), headerRect = this._modalHeader.node().getBoundingClientRect();\n return this._modalBody.style(\"height\", modalRect.height - headerRect.height + \"px\").style(\"width\", modalRect.width), modalRect;\n }\n setFadePosition(rect) {\n this._fade.style(\"top\", rect.top + \"px\").style(\"left\", rect.left + \"px\").style(\"width\", rect.width + \"px\").style(\"height\", rect.height + \"px\");\n }\n setModalPosition(rect) {\n const modalRect = this.setModalSize();\n if (this.fixedTop() !== null && this.fixedLeft() !== null)\n this._modal.style(\"top\", `calc(${this.fixedTop()} + ${rect.top}px)`).style(\"left\", `calc(${this.fixedLeft()} + ${rect.left}px)`);\n else if (this.fixedHeight() !== null && this.fixedWidth() !== null)\n this._modal.style(\"top\", rect.top + rect.height / 2 - modalRect.height / 2 + \"px\").style(\"left\", rect.left + rect.width / 2 - modalRect.width / 2 + \"px\");\n else if (this.minHeight() || this.minWidth()) {\n const contentRect = this._modal.node().getBoundingClientRect();\n this._modal.style(\"top\", rect.top + rect.height / 2 - contentRect.height / 2 + \"px\").style(\"left\", rect.left + rect.width / 2 - contentRect.width / 2 + \"px\");\n }\n }\n resize(size) {\n return super.resize(), this._modal && this.setModalSize(), this;\n }\n resizeBodySync(width, height) {\n const headerRect = this._modalHeader.node().getBoundingClientRect();\n return this._modal.style(\"width\", width + \"px\").style(\"height\", height + headerRect.height + \"px\").style(\"min-width\", width + \"px\").style(\"min-height\", height + headerRect.height + \"px\"), this._modalHeader.style(\"width\", width + \"px\"), this._modalBody.style(\"width\", width + \"px\").style(\"height\", height + \"px\"), this.minWidth(width + \"px\").minHeight(height + headerRect.height + \"px\").resize({\n height: height + headerRect.height,\n width\n });\n }\n enter(domNode, element) {\n super.enter(domNode, element), this._fade = element.append(\"div\").classed(\"layout_Modal-fade\", !0).classed(\"layout_Modal-fadeClickable\", this.enableClickFadeToClose()).classed(\"layout_Modal-fade-hidden\", !this.showFade());\n const header_h = this.titleFontSize() * 2;\n this._modal = element.append(\"div\").classed(\"layout_Modal-content\", !0), this._modalHeader = this._modal.append(\"div\").classed(\"layout_Modal-header\", !0).style(\"color\", this.titleFontColor()).style(\"font-size\", this.titleFontSize() + \"px\").style(\"height\", header_h + \"px\"), this._modalBody = this._modal.append(\"div\").classed(\"layout_Modal-body\", !0).style(\"height\", `calc( 100% - ${header_h}px )`).style(\"overflow-x\", this.overflowX()).style(\"overflow-y\", this.overflowY()), this._modalHeader.append(\"div\").classed(\"layout_Modal-title\", !0).style(\"line-height\", this.titleFontSize() + \"px\").style(\"top\", this.titleFontSize() / 2 + \"px\").style(\"left\", this.titleFontSize() / 2 + \"px\").text(this.formattedTitle()), this._modalHeaderAnnotations = this._modalHeader.append(\"div\").classed(\"layout_Modal-annotations\", !0), this._modalHeaderCloseButton = this._modalHeaderAnnotations.append(\"div\").classed(\"layout_Modal-closeButton\", !0).html('<i class=\"fa fa-close\"></i>'), this._modalHeaderAnnotations.style(\"line-height\", this.titleFontSize() + \"px\").style(\"right\", this.titleFontSize() / 2 + \"px\").style(\"top\", this.titleFontSize() / 2 + \"px\"), this._modalHeaderCloseButton.on(\"click\", () => {\n this.closeModal();\n }), this._fade.on(\"click\", (n) => {\n this.enableClickFadeToClose() && this.closeModal();\n });\n }\n update(domNode, element) {\n super.update(domNode, element), element.style(\"display\", this.show() ? null : \"none\"), this._fade.classed(\"layout_Modal-fade-hidden\", !this.showFade()), this._relativeTarget = this.getRelativeTarget(), this.setModalSize();\n const rect = this._relativeTarget.getBoundingClientRect();\n this.setFadePosition(rect), this.setModalPosition(rect), this.show() ? (this._widget.target() || this._widget.target(this._modalBody.node()), this._widget.resize().render()) : this._widget.target(null).render();\n }\n exit(domNode, element) {\n this._widget && this._widget.target(null), super.exit(domNode, element);\n }\n formattedTitle() {\n const title = this.title_exists() ? this.title().trim() : \"\";\n return title.length > 0 && title.slice(0, 1) === \"(\" && title.slice(-1) === \")\" ? title.slice(1, -1) : this.title();\n }\n}\nModal.prototype._class += \" layout_Modal\";\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\");\nModal.prototype.publish(\"show\", !0, \"boolean\", \"show\");\nModal.prototype.publish(\"showFade\", !0, \"boolean\", \"showFade\");\nModal.prototype.publish(\"enableClickFadeToClose\", !0, \"boolean\", \"enableClickFadeToClose\");\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\");\nclass ChartPanel extends Border2 {\n constructor() {\n super();\n __publicField(this, \"_legend\", new Legend(this).enableOverflow(!0));\n __publicField(this, \"_progressBar\", new ProgressBar());\n __publicField(this, \"_autoScale\", !1);\n __publicField(this, \"_resolutions\", {\n tiny: { width: 100, height: 100 },\n small: { width: 300, height: 300 }\n });\n __publicField(this, \"_modal\", new Modal());\n __publicField(this, \"_highlight\");\n __publicField(this, \"_scale\");\n __publicField(this, \"_orig_size\");\n __publicField(this, \"_toggleInfo\", new ToggleButton().faChar(\"fa-info-circle\").tooltip(\".Description\").selected(!1).on(\"enabled\", () => this.description() !== \"\").on(\"click\", () => {\n if (this._toggleInfo.selected()) {\n this._modal.title(this.title()).widget(new Text().text(this.description())).show(!0).render();\n const origCloseFunc = this._modal._close;\n this._modal._close = () => {\n this._toggleInfo.selected(!1).render(), this._modal._close = origCloseFunc;\n };\n }\n }).on(\"mouseMove\", () => {\n }).on(\"mouseOut\", () => {\n }));\n __publicField(this, \"_toggleData\", new ToggleButton().faChar(\"fa-table\").tooltip(\"Data\").on(\"click\", () => {\n this.dataVisible(this._toggleData.selected()), this.render();\n }));\n __publicField(this, \"_buttonDownload\", new Button().faChar(\"fa-download\").tooltip(\"Download\").on(\"click\", () => {\n this.downloadCSV();\n }));\n __publicField(this, \"_buttonDownloadImage\", new Button().faChar(\"fa-image\").tooltip(\"Download Image\").on(\"click\", () => {\n this.downloadPNG();\n }));\n __publicField(this, \"_toggleLegend\", new ToggleButton().faChar(\"fa-list-ul\").tooltip(\"Legend\").selected(!1).on(\"click\", () => {\n const selected = this._toggleLegend.selected();\n this.legendPosition() === \"bottom\" ? this.showBottom(selected) : this.legendPosition() === \"right\" && this.showRight(selected), this.legendVisible(selected), this.render();\n }));\n __publicField(this, \"_spacer\", new Spacer());\n __publicField(this, \"_titleBar\", new TitleBar().buttons([this._toggleData, this._buttonDownload, this._buttonDownloadImage, this._spacer, this._toggleLegend]));\n __publicField(this, \"_carousel\", new Carousel());\n __publicField(this, \"_table\", new Table());\n __publicField(this, \"_widget\");\n __publicField(this, \"_hideLegendToggleList\", [\"dgrid_Table\"]);\n __publicField(this, \"_prevdataVisible\");\n __publicField(this, \"_prevlegendVisible\");\n __publicField(this, \"_prevLegendPosition\");\n __publicField(this, \"_prevChartDataFamily\");\n __publicField(this, \"_prevChart\");\n __publicField(this, \"_prevButtons\");\n this._tag = \"div\";\n }\n fields(_) {\n return arguments.length ? (super.fields(_), this._legend.fields(_), this.refreshFields(), this) : super.fields();\n }\n refreshFields() {\n return this._widget.fields(this._legend.filteredFields()), this._table.fields(this._legend.filteredFields()), this;\n }\n columns(_, asDefault) {\n return arguments.length ? (super.columns(_, asDefault), this._legend.columns(_, asDefault), this.refreshColumns(), this) : super.columns();\n }\n refreshColumns() {\n return this._widget.columns(this._legend.filteredColumns()), this._table.columns(this._legend.filteredColumns()), this;\n }\n data(_) {\n return arguments.length ? (super.data(_), this._legend.data(_), this.refreshData(), this) : super.data();\n }\n refreshData() {\n return this._widget.data(this._legend.filteredData()), this._table.data(this._legend.filteredData()), this;\n }\n highlight(_) {\n return arguments.length ? (this._highlight = _, this) : this._highlight;\n }\n startProgress() {\n this._progressBar.start();\n }\n finishProgress() {\n this._progressBar.finish();\n }\n buttons(_) {\n return arguments.length ? (this._titleBar.buttons(_), this) : this._titleBar.buttons();\n }\n downloadCSV() {\n const namePrefix = this.downloadTitle() ? this.downloadTitle() : this.title() ? this.title() : \"data\", nameSuffix = this.downloadTimestampSuffix() ? \"_\" + Utility.timestamp() : \"\";\n return Utility.downloadString(\"CSV\", this._widget.export(\"CSV\"), namePrefix + nameSuffix), this;\n }\n downloadPNG() {\n const widget = this.widget();\n return widget instanceof SVGWidget && (this.legendVisible() ? widget.downloadPNG(this.title(), void 0, this._legend) : widget.downloadPNG(this.title())), this;\n }\n highlightColumn(column) {\n if (column) {\n const cssTag = `series-${this.cssTag(column)}`;\n this._centerWA.element().selectAll(\".series\").each(function() {\n const element = select(this), highlight = element.classed(cssTag);\n element.classed(\"highlight\", highlight).classed(\"lowlight\", !highlight);\n });\n } else\n this._centerWA.element().selectAll(\".series\").classed(\"highlight\", !1).classed(\"lowlight\", !1);\n return this;\n }\n getResponsiveMode() {\n return this.enableAutoscaling() ? this._autoScale ? this.size().width <= this._resolutions.tiny.width || this.size().height <= this._resolutions.tiny.height ? \"tiny\" : this.size().width <= this._resolutions.small.width || this.size().height <= this._resolutions.small.height ? \"small\" : \"regular\" : \"regular\" : \"none\";\n }\n setOrigSize() {\n this._orig_size = JSON.parse(JSON.stringify(this.size()));\n }\n enter(domNode, element) {\n super.enter(domNode, element), this._modal.target(this.target()).relativeTargetId(this.id()), this.top(this._titleBar), this.center(this._carousel), this._legend.targetWidget(this._widget).orientation(\"vertical\").title(\"\").visible(!1), this._progressBar.enter(domNode, element), this.setOrigSize();\n }\n preUpdateTiny(element) {\n element.selectAll(\"div.body,div.title-text,div.icon-bar\").style(\"display\", \"none\");\n }\n preUpdateSmall(element) {\n const scale_x = this._orig_size.width / this._resolutions.small.width, 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._orig_size.height * (1 / this._scale) : this._resolutions.small.height\n }), element.select(\"div.title-icon\").style(\"position\", \"static\"), element.selectAll(\"lhs\").style(\"display\", \"none\"), element.selectAll(\"div.body,div.title-text,div.icon-bar\").style(\"display\", \"\"), element.selectAll(\"div.data-count\").style(\"visibility\", \"hidden\"), element.style(\"transform\", `scale(${this._scale})`);\n }\n preUpdateRegular(element) {\n element.selectAll(\"div.body,div.title-text,div.icon-bar\").style(\"display\", \"\"), element.selectAll(\"div.data-count\").style(\"visibility\", \"hidden\"), element.select(\"div.title-icon\").style(\"position\", \"static\"), element.style(\"transform\", \"translate(0px,0px) scale(1)\");\n }\n update(domNode, element) {\n if (super.update(domNode, element), this._table && this.widget_exists() && this.widget().class().indexOf(\"chart_XYAxis\") >= 0) {\n const chart = this.widget();\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()), this._table.columnFormat(column, idx === 0 ? chart.xAxisTickFormat() : chart.yAxisTickFormat());\n });\n }\n }\n preUpdate(domNode, element) {\n switch (super.preUpdate(domNode, element), this._prevLegendPosition !== this.legendPosition() && (this._legend.target() !== null && this._legend.target(null), this._prevLegendPosition !== void 0 ? this.swap(this._prevLegendPosition, this.legendPosition()) : this[this.legendPosition()](this._legend), this.legendPosition() === \"right\" ? (this.rightOverflowX(\"hidden\"), this.rightOverflowY(\"auto\"), this.bottomOverflowX(\"visible\"), this.bottomOverflowY(\"visible\")) : (this.rightOverflowX(\"visible\"), this.rightOverflowY(\"visible\"), this.bottomOverflowX(\"auto\"), this.bottomOverflowY(\"hidden\")), this._prevLegendPosition = this.legendPosition()), this._prevdataVisible !== this.dataVisible() && (this._prevdataVisible = this.dataVisible(), this._toggleData.selected(this._prevdataVisible), this._legend.visible(this._prevlegendVisible && !this._prevdataVisible), this._carousel.active(this._prevdataVisible ? 1 : 0)), this._prevlegendVisible !== this.legendVisible() && (this._prevlegendVisible = this.legendVisible(), this._toggleLegend.selected(this._prevlegendVisible), this._legend.visible(this._prevlegendVisible && !this._prevdataVisible)), this._legend.orientation(this.legendPosition() === \"bottom\" ? \"horizontal\" : \"vertical\"), this.showLeft(!this.left()), 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 const chart = this._widget.classID() === \"composite_MultiChart\" ? this._widget.chart() : this._widget;\n if (this._legend.dataFamily(chart._dataFamily || \"any\"), this._prevChartDataFamily !== this._legend.dataFamily())\n switch (this._prevChartDataFamily = this._legend.dataFamily(), this._prevChartDataFamily) {\n case \"any\":\n this._toggleLegend.selected(!1), this._legend.visible(!1);\n break;\n }\n if (element.style(\"box-shadow\", this.highlight() ? `inset 0px 0px 0px ${this.highlightSize()}px ${this.highlightColor()}` : \"none\"), this._hideLegendToggleList.indexOf(chart.classID()) !== -1 ? (this._spacer.visible(!1), this._toggleLegend.visible(!1)) : (this._spacer.visible(!0), this._toggleLegend.visible(!0)), this._prevChart !== chart) {\n this._prevChart = chart;\n const widgetIconBar = chart ? chart._titleBar || chart._iconBar : void 0;\n if (widgetIconBar && widgetIconBar instanceof IconBar) {\n this._prevButtons = this._prevButtons || [...this.buttons()];\n const buttons = [\n ...widgetIconBar.buttons(),\n new Spacer(),\n ...this._prevButtons\n ];\n widgetIconBar.buttons([]).render(), this.buttons(buttons);\n } else this._prevButtons && this.buttons(this._prevButtons);\n }\n const hiddenButtons = [];\n this.dataButtonVisible() || hiddenButtons.push(this._toggleData), this.downloadButtonVisible() || hiddenButtons.push(this._buttonDownload), this.downloadImageButtonVisible() || hiddenButtons.push(this._buttonDownloadImage), this.legendButtonVisible() || hiddenButtons.push(this._toggleLegend), this._buttonDownloadImage.enabled(this.widget() instanceof SVGWidget), this._titleBar.hiddenButtons(hiddenButtons).visible(this.titleVisible()), this.topOverlay(this.titleOverlay() || !this.titleVisible());\n }\n postUpdate(domNode, element) {\n switch (super.postUpdate(domNode, element), 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 postUpdateTiny(element) {\n element.selectAll(\"div.body,div.title-text,div.icon-bar\").style(\"display\", \"none\"), element.selectAll(\"div.data-count\").style(\"visibility\", \"visible\").style(\"font-size\", this.titleIconFontSize() / 3 + \"px\").style(\"line-height\", this.titleIconFontSize() / 3 + \"px\").style(\"left\", this.titleIconFontSize() + \"px\").text(this.data().length), element.style(\"transform\", \"translate(0px,0px) scale(1)\");\n const iconDiv = element.selectAll(\"div.title-icon\"), _node = iconDiv.node(), containerRect = element.node().parentElement.getBoundingClientRect();\n if (_node) {\n const rect = iconDiv.node().getBoundingClientRect(), icon_top = containerRect.height / 2;\n iconDiv.style(\"position\", \"absolute\").style(\"left\", `calc(50% - ${rect.width / 2}px)`).style(\"top\", `${icon_top - rect.height / 2}px`), element.selectAll(\"div.data-count\").style(\"position\", \"absolute\").style(\"left\", `calc(50% + ${rect.width / 2}px)`).style(\"top\", `${icon_top - rect.height / 2}px`);\n }\n }\n postUpdateSmall(element) {\n element.selectAll(\"lhs\").style(\"display\", \"none\"), element.selectAll(\"div.title-icon\").style(\"position\", \"static\"), element.selectAll(\"div.body,div.title-text,div.icon-bar\").style(\"display\", \"\"), element.selectAll(\"div.data-count\").style(\"visibility\", \"hidden\");\n const rect = element.node().getBoundingClientRect(), 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 postUpdateRegular(element) {\n element.selectAll(\"div.title-icon\").style(\"position\", \"static\"), element.selectAll(\"div.body,div.title-text,div.icon-bar\").style(\"display\", \"\"), element.selectAll(\"div.data-count\").style(\"visibility\", \"hidden\");\n }\n exit(domNode, element) {\n this._progressBar.exit(domNode, element), this.right(null), this._legend.target(null), this.center(null), this._carousel.target(null), this.top(null), this._titleBar.target(null), this._modal.target(null), delete this._prevChart, delete this._prevButtons, delete this._prevChartDataFamily, delete this._prevPos, delete this._prevdataVisible, delete this._prevlegendVisible, super.exit(domNode, element);\n }\n // Event Handlers ---\n // Events ---\n click(row, column, selected) {\n }\n dblclick(row, column, selected) {\n }\n vertex_click(row, col, sel, more) {\n more && more.vertex;\n }\n vertex_dblclick(row, col, sel, more) {\n more && more.vertex;\n }\n edge_click(row, col, sel, more) {\n more && more.edge;\n }\n edge_dblclick(row, col, sel, more) {\n more && more.edge;\n }\n}\nChartPanel.prototype._class += \" layout_ChartPanel\";\nChartPanel.prototype.publishReset();\nChartPanel.prototype.publishProxy(\"title\", \"_titleBar\");\nChartPanel.prototype.publish(\"titleVisible\", !0, \"boolean\");\nChartPanel.prototype.publish(\"titleOverlay\", !1, \"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\", !1, \"boolean\", \"Show data table\");\nChartPanel.prototype.publish(\"dataButtonVisible\", !0, \"boolean\", \"Show data table button\");\nChartPanel.prototype.publish(\"downloadButtonVisible\", !0, \"boolean\", \"Show data download button\");\nChartPanel.prototype.publish(\"downloadImageButtonVisible\", !1, \"boolean\", \"Show image download button\");\nChartPanel.prototype.publish(\"downloadTitle\", \"\", \"string\", \"File name when downloaded\");\nChartPanel.prototype.publish(\"downloadTimestampSuffix\", !0, \"boolean\", \"Use timestamp as file name suffix\");\nChartPanel.prototype.publish(\"legendVisible\", !1, \"boolean\", \"Show legend\");\nChartPanel.prototype.publish(\"legendButtonVisible\", !0, \"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\", void 0, { render: !1 });\nChartPanel.prototype.publish(\"enableAutoscaling\", !1, \"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\");\nChartPanel.prototype.widget = function(_) {\n if (!arguments.length) return this._widget;\n this._carousel.widgets([_, this._table]), this._widget = _, this._widget.fields(this._legend.filteredFields()).data(this._legend.filteredData());\n const context = this, tmpAny = this._widget;\n return tmpAny.click = function() {\n context.click.apply(context, arguments);\n }, tmpAny.dblclick = function() {\n context.dblclick.apply(context, arguments);\n }, tmpAny.vertex_click = function() {\n context.vertex_click.apply(context, arguments);\n }, tmpAny.vertex_dblclick = function() {\n context.vertex_dblclick.apply(context, arguments);\n }, tmpAny.edge_click = function() {\n context.edge_click.apply(context, arguments);\n }, tmpAny.edge_dblclick = function() {\n context.edge_dblclick.apply(context, arguments);\n }, this;\n};\nclass FlexGrid extends HTMLWidget {\n constructor() {\n super();\n }\n enter(domNode, element) {\n super.enter(domNode, element), select(domNode.parentNode).style(\"height\", \"100%\").style(\"width\", \"100%\");\n }\n update(domNode, element) {\n super.update(domNode, element);\n const context = this, cachedSizes = [];\n this.updateFlexParent(element);\n const listItems = element.selectAll(\".FlexGrid-list-item\").data(this.widgets(), (w) => w.id());\n listItems.enter().append(\"div\").classed(\"FlexGrid-list-item\", !0).each(function(w) {\n w.target(this);\n }).merge(listItems).style(\"min-height\", this.itemMinHeight() + \"px\").style(\"min-width\", this.itemMinWidth() + \"px\").style(\"flex-basis\", (n, i) => {\n const flexBasis = this.widgetsFlexBasis()[i];\n return typeof flexBasis < \"u\" ? flexBasis : this.flexBasis();\n }).style(\"flex-grow\", (n, i) => {\n const flexGrow = this.widgetsFlexGrow()[i];\n return typeof flexGrow < \"u\" ? flexGrow : this.flexGrow();\n }).style(\"border-width\", this.borderWidth() + \"px\").style(\"border-color\", this.itemBorderColor()).each(function() {\n this.firstChild.style.display = \"none\";\n }).each(function() {\n const rect = this.getBoundingClientRect();\n cachedSizes.push([\n rect.width,\n rect.height\n ]);\n }).each(function(w, i) {\n this.firstChild.style.display = \"block\", w.resize({\n width: cachedSizes[i][0] - 2 * context.borderWidth(),\n height: cachedSizes[i][1] - 2 * context.borderWidth()\n });\n }), listItems.exit().remove();\n }\n exit(domNode, element) {\n super.exit(domNode, element);\n }\n updateFlexParent(element) {\n element.style(\"height\", \"100%\").style(\"flex-direction\", this.orientation() === \"horizontal\" ? \"row\" : \"column\").style(\"flex-wrap\", this.flexWrap()).style(\"align-items\", this.alignItems()).style(\"align-content\", this.alignContent()).style(\"overflow-x\", () => this.forceXScroll() || this.orientation() === \"horizontal\" && this.flexWrap() === \"nowrap\" && !this.disableScroll() ? \"scroll\" : \"hidden\").style(\"overflow-y\", () => this.forceYScroll() || this.orientation() === \"vertical\" && this.flexWrap() === \"nowrap\" && !this.disableScroll() ? \"scroll\" : \"hidden\");\n }\n}\nFlexGrid.prototype._class += \" layout_FlexGrid\";\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\", !1, \"boolean\", \"If false, scrollbar will show (when flexWrap is set to 'nowrap')\", null, { disable: (w) => w.flexWrap() !== \"nowrap\" });\nFlexGrid.prototype.publish(\"forceXScroll\", !1, \"boolean\", \"If true, horzontal scrollbar will show\");\nFlexGrid.prototype.publish(\"forceYScroll\", !1, \"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\");\nfunction getDefaultExportFromCjs(x) {\n return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, \"default\") ? x.default : x;\n}\nvar gridList$2 = { exports: {} }, gridList$1 = gridList$2.exports, hasRequiredGridList;\nfunction requireGridList() {\n return hasRequiredGridList || (hasRequiredGridList = 1, function(module, exports) {\n (function(root, factory) {\n module.exports = factory();\n })(gridList$1, function() {\n var GridList2 = function(items, options) {\n this._options = options;\n for (var k2 in this.defaults)\n this._options.hasOwnProperty(k2) || (this._options[k2] = this.defaults[k2]);\n this.items = items, this._adjustSizeOfItems(), this.generateGrid();\n };\n GridList2.cloneItems = function(items, _items) {\n var i, k2;\n for (_items === void 0 && (_items = []), i = 0; i < items.length; i++) {\n _items[i] || (_items[i] = {});\n for (k2 in items[i])\n _items[i][k2] = items[i][k2];\n }\n return _items;\n }, GridList2.prototype = {\n defaults: {\n lanes: 5,\n direction: \"horizontal\"\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, output = `\n #|`, border = `\n --`, item, i, j;\n for (i = 0; i < widthOfGrid; i++)\n output += \" \" + this._padNumber(i, \" \"), border += \"---\";\n for (output += border, i = 0; i < this._options.lanes; i++)\n for (output += `\n` + this._padNumber(i, \" \") + \"|\", j = 0; j < widthOfGrid; j++)\n output += \" \", item = this.grid[j][i], output += item ? this._padNumber(this.items.indexOf(item), \"0\") : \"--\";\n return output += `\n`, output;\n },\n generateGrid: function() {\n var i;\n for (this._resetGrid(), i = 0; i < this.items.length; i++)\n this._markItemPositionToGrid(this.items[i]);\n },\n resizeGrid: function(lanes) {\n var currentColumn = 0;\n this._options.lanes = lanes, this._adjustSizeOfItems(), this._sortItemsByPosition(), this._resetGrid();\n for (var i = 0; i < this.items.length; i++) {\n var item = this.items[i], position = this._getItemPosition(item);\n this._updateItemPosition(\n item,\n this.findPositionForItem(item, { x: currentColumn, y: 0 })\n ), currentColumn = Math.max(currentColumn, position.x);\n }\n this._pullItemsToLeft();\n },\n findPositionForItem: function(item, start, fixedRow) {\n var x, y, position;\n for (x = start.x; x < this.grid.length; x++)\n if (fixedRow !== void 0) {\n if (position = [x, fixedRow], this._itemFitsAtPosition(item, position))\n return position;\n } else\n for (y = start.y; y < this._options.lanes; y++)\n if (position = [x, y], this._itemFitsAtPosition(item, position))\n return position;\n var newCol = this.grid.length, newRow = 0;\n return fixedRow !== void 0 && this._itemFitsAtPosition(item, [newCol, fixedRow]) && (newRow = fixedRow), [newCol, newRow];\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 this._updateItemPosition(item, [position.x, position.y]), this._resolveCollisions(item);\n },\n resizeItem: function(item, size) {\n var width = size.w || item.w, height = size.h || item.h;\n this._updateItemSize(item, width, height), this._resolveCollisions(item), this._pullItemsToLeft();\n },\n getChangedItems: function(initialItems, idAttribute) {\n for (var changedItems = [], i = 0; i < initialItems.length; i++) {\n var item = this._getItemByAttribute(\n idAttribute,\n initialItems[i][idAttribute]\n );\n (item.x !== initialItems[i].x || item.y !== initialItems[i].y || item.w !== initialItems[i].w || item.h !== initialItems[i].h) && changedItems.push(item);\n }\n return changedItems;\n },\n _sortItemsByPosition: function() {\n this.items.sort((function(item1, item2) {\n var position1 = this._getItemPosition(item1), position2 = this._getItemPosition(item2);\n return position1.x != position2.x ? position1.x - position2.x : position1.y != position2.y ? position1.y - position2.y : 0;\n }).bind(this));\n },\n _adjustSizeOfItems: function() {\n for (var i = 0; i < this.items.length; i++) {\n var item = this.items[i];\n item.autoSize === void 0 && (item.autoSize = item.w === 0 || item.h === 0), item.autoSize && (this._options.direction === \"horizontal\" ? item.h = this._options.lanes : item.w = this._options.lanes);\n }\n },\n _resetGrid: function() {\n this.grid = [];\n },\n _itemFitsAtPosition: function(item, newPosition) {\n var position = this._getItemPosition(item), x, y;\n if (newPosition[0] < 0 || newPosition[1] < 0 || newPosition[1] + position.h > this._options.lanes)\n return !1;\n for (x = newPosition[0]; x < newPosition[0] + position.w; x++) {\n var col = this.grid[x];\n if (col) {\n for (y = newPosition[1]; y < newPosition[1] + position.h; y++)\n if (col[y] && col[y] !== item)\n return !1;\n }\n }\n return !0;\n },\n _updateItemPosition: function(item, position) {\n item.x !== null && item.y !== null && this._deleteItemPositionFromGrid(item), this._setItemPosition(item, position), this._markItemPositionToGrid(item);\n },\n _updateItemSize: function(item, width, height) {\n item.x !== null && item.y !== null && this._deleteItemPositionFromGrid(item), item.w = width, item.h = height, this._markItemPositionToGrid(item);\n },\n _markItemPositionToGrid: function(item) {\n var position = this._getItemPosition(item), x, y;\n for (this._ensureColumns(position.x + position.w), 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 _deleteItemPositionFromGrid: function(item) {\n var position = this._getItemPosition(item), x, y;\n for (x = position.x; x < position.x + position.w; x++)\n if (this.grid[x])\n for (y = position.y; y < position.y + position.h; y++)\n this.grid[x][y] == item && (this.grid[x][y] = null);\n },\n _ensureColumns: function(N) {\n var i;\n for (i = 0; i < N; i++)\n this.grid[i] || this.grid.push(new GridCol(this._options.lanes));\n },\n _getItemsCollidingWithItem: function(item) {\n for (var collidingItems = [], i = 0; i < this.items.length; i++)\n item != this.items[i] && this._itemsAreColliding(item, this.items[i]) && collidingItems.push(i);\n return collidingItems;\n },\n _itemsAreColliding: function(item1, item2) {\n var position1 = this._getItemPosition(item1), position2 = this._getItemPosition(item2);\n return !(position2.x >= position1.x + position1.w || position2.x + position2.w <= position1.x || position2.y >= position1.y + position1.h || position2.y + position2.h <= position1.y);\n },\n _resolveCollisions: function(item) {\n this._tryToResolveCollisionsLocally(item) || this._pullItemsToLeft(item), this._pullItemsToLeft();\n },\n _tryToResolveCollisionsLocally: function(item) {\n var collidingItems = this._getItemsCollidingWithItem(item);\n if (!collidingItems.length)\n return !0;\n var _gridList = new GridList2([], this._options), leftOfItem, rightOfItem, aboveOfItem, belowOfItem;\n GridList2.cloneItems(this.items, _gridList.items), _gridList.generateGrid();\n for (var i = 0; i < collidingItems.length; i++) {\n var collidingItem = _gridList.items[collidingItems[i]], collidingPosition = this._getItemPosition(collidingItem), position = this._getItemPosition(item);\n if (leftOfItem = [position.x - collidingPosition.w, collidingPosition.y], rightOfItem = [position.x + position.w, collidingPosition.y], aboveOfItem = [collidingPosition.x, position.y - collidingPosition.h], belowOfItem = [collidingPosition.x, position.y + position.h], _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 return !1;\n }\n return GridList2.cloneItems(_gridList.items, this.items), this.generateGrid(), !0;\n },\n _pullItemsToLeft: function(fixedItem) {\n if (this._sortItemsByPosition(), this._resetGrid(), fixedItem) {\n var fixedPosition = this._getItemPosition(fixedItem);\n this._updateItemPosition(fixedItem, [fixedPosition.x, fixedPosition.y]);\n }\n for (var i = 0; i < this.items.length; i++) {\n var item = this.items[i], position = this._getItemPosition(item);\n if (!(fixedItem && item == fixedItem)) {\n var x = this._findLeftMostPositionForItem(item), newPosition = this.findPositionForItem(\n item,\n { x, y: 0 },\n position.y\n );\n this._updateItemPosition(item, newPosition);\n }\n }\n },\n _findLeftMostPositionForItem: function(item) {\n for (var tail = 0, position = this._getItemPosition(item), 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 if (otherItem) {\n var otherPosition = this._getItemPosition(otherItem);\n this.items.indexOf(otherItem) < this.items.indexOf(item) && (tail = otherPosition.x + otherPosition.w);\n }\n }\n return tail;\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 return null;\n },\n _padNumber: function(nr, prefix) {\n return nr >= 10 ? nr : prefix + nr;\n },\n _getItemPosition: function(item) {\n return this._options.direction === \"horizontal\" ? item : {\n x: item.y,\n y: item.x,\n w: item.h,\n h: item.w\n };\n },\n _setItemPosition: function(item, position) {\n this._options.direction === \"horizontal\" ? (item.x = position[0], item.y = position[1]) : (item.x = position[1], item.y = position[0]);\n }\n };\n var GridCol = function(lanes) {\n for (var i = 0; i < lanes; i++)\n this.push(null);\n };\n return GridCol.prototype = [], GridList2;\n });\n }(gridList$2)), gridList$2.exports;\n}\nvar gridListExports = requireGridList();\nconst gridList = /* @__PURE__ */ getDefaultExportFromCjs(gridListExports), _GridList = /* @__PURE__ */ _mergeNamespaces({\n __proto__: null,\n default: gridList\n}, [gridListExports]), GridList = _GridList && gridList || _GridList;\nclass Grid extends HTMLWidget {\n constructor() {\n super();\n __publicField(this, \"divItems\");\n __publicField(this, \"gridList\");\n __publicField(this, \"items\");\n __publicField(this, \"itemsMap\");\n __publicField(this, \"origItems\");\n __publicField(this, \"cellWidth\");\n __publicField(this, \"cellHeight\");\n __publicField(this, \"dragItem\");\n __publicField(this, \"dragItemPos\");\n __publicField(this, \"_d3Drag\");\n __publicField(this, \"_d3DragResize\");\n __publicField(this, \"_selectionBag\");\n __publicField(this, \"_scrollBarWidth\");\n this._tag = \"div\", this._selectionBag = new Utility.Selection(this), this.content([]);\n }\n getDimensions() {\n const size = { width: 0, height: 0 };\n return this.content().forEach(function(cell) {\n size.width < cell.gridCol() + cell.gridColSpan() && (size.width = cell.gridCol() + cell.gridColSpan()), size.height < cell.gridRow() + cell.gridRowSpan() && (size.height = cell.gridRow() + cell.gridRowSpan());\n }, this), size;\n }\n clearContent(widget) {\n this.content(this.content().filter(function(contentWidget) {\n if (!widget)\n return contentWidget.target(null), !1;\n let w = contentWidget;\n for (; w; ) {\n if (widget === w)\n return contentWidget.target(null), !1;\n w = w.widget ? w.widget() : null;\n }\n return !0;\n }));\n }\n setContent(row, col, widget, title, rowSpan, colSpan) {\n if (rowSpan = rowSpan || 1, colSpan = colSpan || 1, title = title || \"\", this.content(this.content().filter(function(contentWidget) {\n return contentWidget.gridRow() === row && contentWidget.gridCol() === col ? (contentWidget.target(null), !1) : !0;\n })), widget) {\n const cell = new Cell().gridRow(row).gridCol(col).widget(widget).title(title).gridRowSpan(rowSpan).gridColSpan(colSpan);\n this.content().push(cell);\n }\n return this;\n }\n sortedContent() {\n return this.content().sort(function(l, r) {\n return l.gridRow() === r.gridRow() ? l.gridCol() - r.gridCol() : l.gridRow() - r.gridRow();\n });\n }\n getCell(row, col) {\n let retVal = null;\n return this.content().some(function(cell) {\n return row >= cell.gridRow() && row < cell.gridRow() + cell.gridRowSpan() && col >= cell.gridCol() && col < cell.gridCol() + cell.gridColSpan() ? (retVal = cell, !0) : !1;\n }), retVal;\n }\n getWidgetCell(id) {\n let retVal = null;\n return this.content().some(function(cell) {\n return cell.widget().id() === id ? (retVal = cell, !0) : !1;\n }), retVal;\n }\n getContent(id) {\n let retVal = null;\n return this.content().some(function(cell) {\n return cell.widget().id() === id ? (retVal = cell.widget(), !0) : !1;\n }), retVal;\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 gridItemToCell(item) {\n item.cell.gridCol(item.x).gridRow(item.y).gridColSpan(item.w).gridRowSpan(item.h);\n }\n resetItemsPos() {\n this.origItems.forEach(function(origItem) {\n const item = this.itemsMap[origItem.id];\n item.x = origItem.x, item.y = origItem.y;\n }, this);\n }\n initGridList() {\n this.itemsMap = {}, this.items = this.content().map(function(cell) {\n const retVal = this.cellToGridItem(cell);\n return this.itemsMap[retVal.id] = retVal, retVal;\n }, this), this.origItems = this.content().map(this.cellToGridItem), this.gridList = new GridList(this.items, {\n direction: this.snapping(),\n lanes: this.snapping() === \"horizontal\" ? this.snappingRows() : this.snappingColumns()\n });\n }\n killGridList() {\n this.gridList = null, delete this.items, delete this.itemsMap;\n }\n enter(domNode, element) {\n super.enter(domNode, element), this._scrollBarWidth = Platform.getScrollbarWidth();\n const context = this;\n this._d3Drag = drag().subject(function(_d) {\n const d = context.cellToGridItem(_d);\n return { x: d.x * context.cellWidth, y: d.y * context.cellHeight };\n }).on(\"start\", function(_d) {\n if (!context.designMode()) return;\n d3Event().sourceEvent.stopPropagation(), context.initGridList();\n const d = context.itemsMap[_d.id()];\n context.dragItem = element.append(\"div\").attr(\"class\", \"dragging\").style(\"transform\", function() {\n return \"translate(\" + d.x * context.cellWidth + \"px, \" + d.y * context.cellHeight + \"px)\";\n }).style(\"width\", function() {\n return d.w * context.cellWidth - context.gutter() + \"px\";\n }).style(\"height\", function() {\n return d.h * context.cellHeight - context.gutter() + \"px\";\n }), context.selectionBagClick(_d);\n }).on(\"drag\", function(_d) {\n if (!context.designMode()) return;\n const event = d3Event();\n event.sourceEvent.stopPropagation();\n const d = context.itemsMap[_d.id()];\n event.x < 0 && (event.x = 0), event.x + d.w * context.cellWidth > context.snappingColumns() * context.cellWidth && (event.x = context.snappingColumns() * context.cellWidth - d.w * context.cellWidth), event.y < 0 && (event.y = 0), event.y + d.h * context.cellWidth > context.snappingRows() * context.cellWidth && (event.y = context.snappingRows() * context.cellWidth - d.h * context.cellWidth);\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 (d.x !== pos[0] || d.y !== pos[1]) && (context.snapping() !== \"none\" ? (context.resetItemsPos(), context.gridList.moveItemToPosition(d, pos)) : (d.x = pos[0], d.y = pos[1]), (_d.gridCol() !== d.x || _d.gridRow() !== d.y) && (context.items.forEach(context.gridItemToCell), context.updateGrid(!1, 100))), context.dragItem.style(\"transform\", function() {\n return \"translate(\" + event.x + \"px, \" + event.y + \"px)\";\n }).style(\"width\", function() {\n return d.w * context.cellWidth + \"px\";\n }).style(\"height\", function() {\n return d.h * context.cellHeight + \"px\";\n });\n }).on(\"end\", function() {\n context.designMode() && (d3Event().sourceEvent.stopPropagation(), context.dragItem.remove(), context.dragItem = null, context.killGridList());\n }), this._d3DragResize = drag().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 }).on(\"start\", function(_d) {\n if (!context.designMode()) return;\n d3Event().sourceEvent.stopPropagation(), context.initGridList();\n const d = context.itemsMap[_d.id()];\n context.dragItem = element.append(\"div\").attr(\"class\", \"resizing\").style(\"transform\", function() {\n return \"translate(\" + d.x * context.cellWidth + \"px, \" + d.y * context.cellHeight + \"px)\";\n }).style(\"width\", function() {\n return d.w * context.cellWidth - context.gutter() + \"px\";\n }).style(\"height\", function() {\n return d.h * context.cellHeight - context.gutter() + \"px\";\n }), context.dragItemPos = { x: d.x, y: d.y };\n }).on(\"drag\", function(_d) {\n if (!context.designMode()) return;\n const event = d3Event();\n event.sourceEvent.stopPropagation();\n const d = context.itemsMap[_d.id()], pos = [Math.max(0, Math.round(event.x / context.cellWidth)), Math.max(0, Math.round(event.y / context.cellHeight))], size = {\n w: Math.max(1, pos[0] - d.x + 1),\n h: Math.max(1, pos[1] - d.y + 1)\n };\n (d.w !== size.w || d.h !== size.h) && (context.snapping() !== \"none\" ? (context.resetItemsPos(), context.gridList.resizeItem(d, size)) : (d.w = size.w, d.h = size.h), (_d.gridColSpan() !== d.w || _d.gridRowSpan() !== d.h) && (context.items.forEach(context.gridItemToCell), context.updateGrid(d.id, 100))), context.dragItem.style(\"width\", function() {\n return (-d.x + 1) * context.cellWidth + event.x - context.gutter() + \"px\";\n }).style(\"height\", function() {\n return (-d.y + 1) * context.cellHeight + event.y - context.gutter() + \"px\";\n });\n }).on(\"end\", function() {\n context.designMode() && (d3Event().sourceEvent.stopPropagation(), context.dragItem.remove(), context.dragItem = null, context.killGridList());\n });\n }\n updateGrid(resize, transitionDuration = 0, _noRender = !1) {\n transitionDuration = transitionDuration || 0;\n const context = this;\n this.divItems.classed(\"draggable\", this.designMode()).transition().duration(transitionDuration).style(\"left\", function(d) {\n return d.gridCol() * context.cellWidth + context.gutter() / 2 + \"px\";\n }).style(\"top\", function(d) {\n return d.gridRow() * context.cellHeight + context.gutter() / 2 + \"px\";\n }).style(\"width\", function(d) {\n return d.gridColSpan() * context.cellWidth - context.gutter() + \"px\";\n }).style(\"height\", function(d) {\n return d.gridRowSpan() * context.cellHeight - context.gutter() + \"px\";\n }).on(\"end\", function(d) {\n d.surfaceShadow_default(context.surfaceShadow()).surfacePadding_default(context.surfacePadding()).surfaceBorderWidth_default(context.surfaceBorderWidth()).surfaceBackgroundColor_default(context.surfaceBackgroundColor()), (resize === !0 || resize === d.id()) && d.resize().lazyRender();\n });\n }\n update(domNode, element2) {\n super.update(domNode, element2), this._placeholderElement.style(\"overflow-x\", this.fitTo() === \"width\" ? \"hidden\" : null), this._placeholderElement.style(\"overflow-y\", this.fitTo() === \"width\" ? \"scroll\" : null);\n const dimensions = this.getDimensions(), clientWidth = this.width() - (this.fitTo() === \"width\" ? this._scrollBarWidth : 0);\n if (this.cellWidth = clientWidth / dimensions.width, this.cellHeight = this.fitTo() === \"all\" ? this.height() / dimensions.height : this.cellWidth, this.designMode()) {\n const cellLaneRatio = Math.min(this.width() / this.snappingColumns(), this.height() / this.snappingRows()), laneWidth = Math.floor(cellLaneRatio);\n this.cellWidth = laneWidth, this.cellHeight = this.cellWidth;\n }\n const context = this, divItems = element2.selectAll(\"#\" + this.id() + \" > .ddCell\").data(this.content(), function(d) {\n return d.id();\n });\n this.divItems = divItems.enter().append(\"div\").attr(\"class\", \"ddCell\").each(function(d) {\n d.target(this), d.__grid_watch = d.monitor(function(key, newVal, oldVal) {\n context._renderCount && (key === \"snapping\" || key.indexOf(\"grid\") === 0) && newVal !== oldVal && (context.gridList || (context.initGridList(), context.snapping() !== \"none\" && context.gridList.resizeGrid(context.snapping() === \"horizontal\" ? context.snappingRows() : context.snappingColumns()), context.items.forEach(context.gridItemToCell), context.updateGrid(d.id(), 100), context.killGridList()));\n }), select(this).append(\"div\").attr(\"class\", \"resizeHandle\").call(context._d3DragResize).append(\"div\").attr(\"class\", \"resizeHandleDisplay\");\n }).merge(divItems), this.divItems.each(function(d) {\n const element = select(this);\n context.designMode() ? element.call(context._d3Drag) : element.on(\"mousedown.drag\", null).on(\"touchstart.drag\", null);\n }), this.divItems.select(\".resizeHandle\").style(\"display\", this.designMode() ? null : \"none\"), this.updateGrid(!0), divItems.exit().each(function(d) {\n d.target(null), d.__grid_watch && d.__grid_watch.remove();\n }).remove();\n const lanesBackground = element2.selectAll(\"#\" + this.id() + \" > .laneBackground\").data(this.designMode() ? [\"\"] : []);\n lanesBackground.enter().insert(\"div\", \":first-child\").attr(\"class\", \"laneBackground\").style(\"left\", \"1px\").style(\"top\", \"1px\").on(\"click\", function() {\n context.selectionBagClear();\n }).merge(lanesBackground).style(\"width\", this.snappingColumns() * this.cellWidth + \"px\").style(\"height\", this.snappingRows() * this.cellHeight + \"px\"), lanesBackground.exit().each(function() {\n context.selectionBagClear();\n }).remove();\n const lanes = element2.selectAll(\"#\" + this.id() + \" > .lane\").data(this.designMode() ? [\"\"] : []);\n lanes.enter().append(\"div\").attr(\"class\", \"lane\").style(\"left\", \"1px\").style(\"top\", \"1px\"), lanes.style(\"display\", this.showLanes() ? null : \"none\").style(\"width\", this.snappingColumns() * this.cellWidth + \"px\").style(\"height\", this.snappingRows() * this.cellHeight + \"px\").style(\"background-image\", \"linear-gradient(to right, grey 1px, transparent 1px), linear-gradient(to bottom, grey 1px, transparent 1px)\").style(\"background-size\", this.cellWidth + \"px \" + this.cellHeight + \"px\"), lanes.exit().remove();\n }\n exit(domNode, element) {\n this.content().forEach((w) => w.target(null)), super.exit(domNode, element);\n }\n _createSelectionObject(d) {\n return {\n _id: d._id,\n element: () => d._element,\n widget: d\n };\n }\n selection(_) {\n return arguments.length ? (this._selectionBag.set(_.map(function(row) {\n return this._createSelectionObject(row);\n }, this)), this) : this._selectionBag.get().map(function(d) {\n return d._id;\n });\n }\n selectionBagClear() {\n this._selectionBag.isEmpty() || (this._selectionBag.clear(), this.postSelectionChange());\n }\n selectionBagClick(d) {\n if (d !== null) {\n const selectionObj = this._createSelectionObject(d);\n if (d3Event().sourceEvent.ctrlKey)\n this._selectionBag.isSelected(selectionObj) ? (this._selectionBag.remove(selectionObj), this.postSelectionChange()) : (this._selectionBag.append(selectionObj), this.postSelectionChange());\n else {\n const selected = this._selectionBag.get();\n selected.length === 1 && selected[0]._id === selectionObj._id ? this.selectionBagClear() : this._selectionBag.set([selectionObj]), this.postSelectionChange();\n }\n }\n }\n postSelectionChange() {\n }\n applyLayout(layoutArr) {\n this.divItems.each((d, i) => {\n if (layoutArr[i]) {\n const [x, y, w, h] = layoutArr[i];\n d.gridCol(x).gridRow(y).gridColSpan(w).gridRowSpan(h);\n }\n }), this.updateGrid(!0);\n }\n vizActivation(elem) {\n }\n}\nGrid.prototype._class += \" layout_Grid\";\nGrid.prototype.publish(\"designMode\", !1, \"boolean\", \"Design Mode\", null, { tags: [\"Basic\"] });\nGrid.prototype.publish(\"showLanes\", !0, \"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\");\nGrid.prototype.publish(\"gutter\", 6, \"number\", \"Gap Between Widgets\", null, { tags: [\"Basic\"] });\nGrid.prototype.publish(\"surfaceShadow\", !0, \"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\"] });\nGrid.prototype.publish(\"content\", [], \"widgetArray\", \"widgets\", null, { tags: [\"Basic\"], render: !1 });\nclass HorizontalList extends FlexGrid {\n constructor() {\n super(), this.orientation_default(\"horizontal\"), this.flexWrap_default(\"nowrap\");\n }\n}\nHorizontalList.prototype._class += \" layout_HorizontalList\";\nclass Layered extends HTMLWidget {\n constructor() {\n super();\n __publicField(this, \"_contentContainer\");\n __publicField(this, \"_widgetPlacements\");\n __publicField(this, \"_widgetRatios\");\n this._tag = \"div\", this._widgetPlacements = [], this._widgetRatios = [];\n }\n addLayer(widget, placement = \"default\", widthRatio = 1, heightRatio = 1) {\n const widgets = this.widgets();\n return widgets.push(widget || new Text().text(\"No widget defined for layer.\")), this.widgets(widgets), this._widgetPlacements.push(placement), this._widgetRatios.push([widthRatio, heightRatio]), this;\n }\n enter(domNode, element) {\n super.enter(domNode, element), this._contentContainer = element.append(\"div\").attr(\"class\", \"container\");\n }\n update(domNode, element) {\n super.update(domNode, element);\n const context = this;\n element.style(\"padding\", this.surfacePadding() + \"px\");\n const content = this._contentContainer.selectAll(\".content.id\" + this.id()).data(this.widgets(), function(d) {\n return d.id();\n });\n content.enter().append(\"div\").attr(\"class\", \"content id\" + this.id()).each(function(widget, idx) {\n widget.target(this);\n }).merge(content).each(function(widget, idx) {\n const clientSize = {\n width: context.clientWidth(),\n height: context.clientHeight()\n }, widgetSize = context.widgetSize(idx, clientSize), widgetPosition = context.widgetPosition(idx, clientSize, widgetSize);\n this.style.top = widgetPosition.y + \"px\", this.style.left = widgetPosition.x + \"px\", widget.resize(widgetSize).render();\n }), content.exit().each(function(widget, idx) {\n widget.target(null);\n }).remove(), content.order();\n }\n widgetSize(idx, clientSize) {\n return this._widgetPlacements[idx] === \"default\" ? {\n width: clientSize.width * this._widgetRatios[idx][0],\n height: clientSize.height * this._widgetRatios[idx][1]\n } : {\n width: clientSize.width * this._widgetRatios[idx][0],\n height: clientSize.height * this._widgetRatios[idx][1]\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\";\nLayered.prototype.publish(\"surfacePadding\", 0, \"number\", \"Padding\");\nLayered.prototype.publish(\"widgets\", [], \"widgetArray\", \"widgets\", null, { tags: [\"Private\"] });\nclass Popup extends HTMLWidget {\n constructor() {\n super();\n __publicField(this, \"_surfaceButtons\");\n __publicField(this, \"_originalPosition\");\n this._tag = \"div\", this._surfaceButtons = [];\n }\n updateState(visible) {\n visible = visible || !this.popupState(), this.popupState(visible).render();\n }\n enter(domNode, element) {\n super.enter(domNode, element), this.widget().target(domNode), this._originalPosition = this.position();\n }\n update(domNode, element) {\n super.update(domNode, element), element.style(\"visibility\", this.popupState() ? null : \"hidden\").style(\"opacity\", this.popupState() ? null : 0).style(\"width\", this.shrinkWrap() ? this.widget().width() + \"px\" : this._size.width + \"px\").style(\"height\", this.shrinkWrap() ? this.widget().height() + \"px\" : this._size.height + \"px\"), this.widget().size().height === 0 && this.widget().resize(this.size());\n }\n postUpdate(domNode, element) {\n let left, top;\n switch (this.centerPopup()) {\n case \"container\":\n this._placeholderElement && (left = parseInt(this._placeholderElement.style(\"width\")) / 2 - this.widget().width() / 2, top = parseInt(this._placeholderElement.style(\"height\")) / 2 - this.widget().height() / 2), this.position(\"absolute\");\n break;\n case \"window\":\n left = window.innerWidth / 2 - this.widget().width() / 2, top = window.innerHeight / 2 - this.widget().height() / 2, this.position(\"fixed\");\n break;\n default:\n left = 0, top = 0, this.position(this._originalPosition);\n break;\n }\n this.pos({ x: left, y: top }), super.postUpdate(domNode, element), element.style(\"position\", this.position()).style(\"left\", this.left() + \"px\").style(\"right\", this.right() + \"px\").style(\"top\", this.top() + \"px\").style(\"bottom\", this.bottom() + \"px\");\n }\n exit(domNode, element) {\n this.widget() && this.widget().target(null), super.exit(domNode, element);\n }\n click(obj) {\n }\n}\nPopup.prototype._class += \" layout_Popup\";\nPopup.prototype.publish(\"popupState\", !1, \"boolean\", \"State of the popup, visible (true) or hidden (false)\", null, {});\nPopup.prototype.publish(\"shrinkWrap\", !1, \"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\"] });\nPopup.prototype.publish(\"widget\", null, \"widget\", \"Widget\", null, { tags: [\"Private\"] });\nclass Tabbed extends HTMLWidget {\n constructor() {\n super();\n __publicField(this, \"_tabContainer\");\n __publicField(this, \"_contentContainer\");\n this._tag = \"div\";\n }\n clearTabs() {\n return this.labels([]), this.widgets([]), this;\n }\n addTab(widget, label, isActive, callback) {\n const widgetSize = widget.size();\n widgetSize.width === 0 && widgetSize.height === 0 && widget.size({ width: \"100%\", height: \"100%\" });\n const labels = this.labels(), widgets = this.widgets();\n isActive && this.activeTabIdx(this.widgets().length), labels.push(label);\n const surface = new Surface().widget(widget || new Text().text(\"No widget defined for tab\"));\n return widgets.push(surface), this.labels(labels), this.widgets(widgets), callback && callback(surface), this;\n }\n widgetSize(widgetDiv) {\n const width = this.clientWidth();\n let height = this.clientHeight();\n const tcBox = this._tabContainer.node().getBoundingClientRect();\n return typeof tcBox.height < \"u\" && (height -= tcBox.height), { width, height };\n }\n enter(domNode, element) {\n super.enter(domNode, element), this._tabContainer = element.append(\"div\"), this._contentContainer = element.append(\"div\");\n }\n update(domNode, element) {\n super.update(domNode, element);\n const context = this;\n element.style(\"padding\", this.surfacePadding_exists() ? this.surfacePadding() + \"px\" : null);\n const tabs = this._tabContainer.selectAll(\".tab-button.id\" + this.id()).data(this.showTabs() ? this.labels() : [], function(d) {\n return d;\n });\n tabs.enter().append(\"span\").attr(\"class\", \"tab-button id\" + this.id()).style(\"cursor\", \"pointer\").on(\"click\", function(d, idx) {\n context.click(context.widgets()[idx].widget(), d, idx), context.activeTabIdx(idx).render();\n }).merge(tabs).classed(\"active\", function(d, idx) {\n return context.activeTabIdx() === idx;\n }).text(function(d) {\n return d;\n }), tabs.exit().remove();\n const content = this._contentContainer.selectAll(\".tab-content.id\" + this.id()).data(this.widgets(), function(d) {\n return d.id();\n });\n switch (content.enter().append(\"div\").attr(\"class\", \"tab-content id\" + this.id()).each(function(widget, idx) {\n widget.target(this);\n }).merge(content).classed(\"active\", function(d, idx) {\n return context.activeTabIdx() === idx;\n }).style(\"display\", function(d, idx) {\n return context.activeTabIdx() === idx ? \"block\" : \"none\";\n }).each(function(surface, idx) {\n if (surface.visible(context.activeTabIdx() === idx), context.activeTabIdx() === idx) {\n const wSize = context.widgetSize(select(this));\n surface.surfaceBorderWidth(context.showTabs() ? null : 0).surfacePadding(context.showTabs() ? null : 0).resize(wSize);\n }\n }), content.exit().each(function(widget, idx) {\n widget.target(null);\n }).remove(), this.tabLocation()) {\n case \"bottom\":\n this._tabContainer.attr(\"class\", \"on_bottom\").style(\"top\", this._contentContainer.node().offsetHeight + this.surfacePadding() + \"px\").style(\"position\", \"absolute\"), this._contentContainer.style(\"top\", this.surfacePadding_exists() ? this.surfacePadding() + \"px\" : null).style(\"position\", \"absolute\");\n break;\n default:\n this._tabContainer.attr(\"class\", \"on_top\").style(\"top\", null).style(\"position\", \"relative\"), this._contentContainer.style(\"top\", this._tabContainer.node().offsetHeight + this.surfacePadding() + \"px\").style(\"position\", \"absolute\");\n break;\n }\n }\n click(widget, column, idx) {\n }\n}\nTabbed.prototype._class += \" layout_Tabbed\";\nTabbed.prototype.publish(\"showTabs\", !0, \"boolean\", \"Show Tabs\", null, {});\nTabbed.prototype.publish(\"surfacePadding\", 4, \"number\", \"Padding\");\nTabbed.prototype.publish(\"activeTabIdx\", 0, \"number\", \"Index of active tab\", null, {});\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\"] });\nclass Toolbar extends HTMLWidget {\n constructor() {\n super(), this._tag = \"div\";\n }\n enter(domNode, element) {\n super.enter(domNode, element);\n }\n update(domNode, element) {\n super.update(domNode, element);\n const context = this;\n element.attr(\"title\", context.title()).style(\"background-color\", this.backgroundColor());\n const title = element.selectAll(\"div.toolbar-title\").data(this.title() ? [this.title()] : []);\n title.enter().append(\"div\").classed(\"toolbar-title\", !0).append(\"span\"), title.selectAll(\"div.toolbar-title > span\").style(\"font-size\", this.fontSize_exists() ? this.fontSize() + \"px\" : null).style(\"color\", this.fontColor_exists() ? this.fontColor() : null).style(\"font-family\", this.fontFamily_exists() ? this.fontFamily() : null).style(\"font-weight\", this.fontBold_exists() ? this.fontBold() ? \"bold\" : \"normal\" : null).style(\"background-color\", this.backgroundColor_exists() ? this.backgroundColor() : null).text(context.title()), title.exit().remove();\n const childWidgets = element.selectAll(\"div.toolbar-child\").data(this.widgets() !== null ? this.widgets() : [], function(d) {\n return d.id();\n });\n childWidgets.enter().insert(\"div\", \"div.toolbar-title\").each(function(d, i) {\n const widgetClass = context.widgetClasses()[i] ? context.widgetClasses()[i] + \" toolbar-child\" : \"toolbar-child\";\n select(this).classed(widgetClass, !0), d.target(this);\n }), childWidgets.exit().each(function(d) {\n d.target(null);\n }).remove(), childWidgets.order();\n }\n render(callback) {\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\").each(function(d, i) {\n const childBBox = this.getBoundingClientRect();\n minX > childBBox.left && (minX = childBBox.left);\n }), context.element().select(\".toolbar-title\").style(\"width\", minX - toolbarBBox.left - 4 + \"px\"), callback && callback(w);\n });\n }\n exit(domNode, element) {\n this.widgets().forEach(function(w) {\n w.target(null);\n }), super.exit(domNode, element);\n }\n}\nToolbar.prototype._class += \" layout_Toolbar\";\nToolbar.prototype.publish(\"title\", \"\", \"string\", \"Title\", null, { tags: [\"Intermediate\"] });\nToolbar.prototype.publish(\"fontSize\", null, \"number\", \"Title Font Size (px)\", null, { tags: [\"Advanced\"], optional: !0 });\nToolbar.prototype.publish(\"fontColor\", null, \"html-color\", \"Title Font Color\", null, { tags: [\"Advanced\"], optional: !0 });\nToolbar.prototype.publish(\"fontFamily\", null, \"string\", \"Title Font Family\", null, { tags: [\"Advanced\"], optional: !0 });\nToolbar.prototype.publish(\"fontBold\", !0, \"boolean\", \"Enable Bold Title Font\", null, { tags: [\"Advanced\"], optional: !0 });\nToolbar.prototype.publish(\"backgroundColor\", null, \"html-color\", \"Background Color\", null, { tags: [\"Intermediate\"], optional: !0 });\nToolbar.prototype.publish(\"responsive\", !0, \"boolean\", \"Adapts to pixel width\", null, { tags: [\"Basic\"] });\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\"] });\nclass VerticalList extends FlexGrid {\n constructor() {\n super(), this.orientation_default(\"vertical\"), this.flexWrap_default(\"nowrap\");\n }\n}\nVerticalList.prototype._class += \" layout_VerticalList\";\nexport {\n AbsoluteSurface,\n Accordion,\n BUILD_VERSION,\n Border,\n Border2,\n Carousel,\n Cell,\n ChartPanel,\n FlexGrid,\n Grid,\n HorizontalList,\n Layered,\n Legend,\n Modal,\n PKG_NAME,\n PKG_VERSION,\n Popup,\n Surface,\n Tabbed,\n Toolbar,\n VerticalList,\n WidgetDiv\n};\n//# sourceMappingURL=index.js.map\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.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 { 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","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.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","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"],"names":["r","e","__defProp","__defNormalProp","__publicField","c","a","s","k","Cell","Cell$1","o","n","m","i","d","w","_","Utility","cell","t","b","l","w2","x","y","h","row","n2","root","j","N","d3Map","Legend","Button","d3Select","Persist"],"mappings":"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"}
|