@dlh.io/bideux 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +90 -0
  3. package/dist/all.d.ts +14 -0
  4. package/dist/all.js +15 -0
  5. package/dist/all.js.map +1 -0
  6. package/dist/chunk-62IQGXLW.js +11470 -0
  7. package/dist/chunk-62IQGXLW.js.map +1 -0
  8. package/dist/chunk-75CRTQK7.js +315 -0
  9. package/dist/chunk-75CRTQK7.js.map +1 -0
  10. package/dist/chunk-FVO6E22Z.js +225 -0
  11. package/dist/chunk-FVO6E22Z.js.map +1 -0
  12. package/dist/chunk-GRITOB4M.js +337 -0
  13. package/dist/chunk-GRITOB4M.js.map +1 -0
  14. package/dist/chunk-HPFHIZWO.js +40 -0
  15. package/dist/chunk-HPFHIZWO.js.map +1 -0
  16. package/dist/chunk-IMNUQGHE.js +2864 -0
  17. package/dist/chunk-IMNUQGHE.js.map +1 -0
  18. package/dist/chunk-LHD445PJ.js +571 -0
  19. package/dist/chunk-LHD445PJ.js.map +1 -0
  20. package/dist/chunk-LPLBBHOW.js +386 -0
  21. package/dist/chunk-LPLBBHOW.js.map +1 -0
  22. package/dist/chunk-NGM5R3LW.js +881 -0
  23. package/dist/chunk-NGM5R3LW.js.map +1 -0
  24. package/dist/chunk-OMPR32AR.js +1320 -0
  25. package/dist/chunk-OMPR32AR.js.map +1 -0
  26. package/dist/chunk-QDQ5VVTC.js +255 -0
  27. package/dist/chunk-QDQ5VVTC.js.map +1 -0
  28. package/dist/chunk-RRWZKNDZ.js +1004 -0
  29. package/dist/chunk-RRWZKNDZ.js.map +1 -0
  30. package/dist/chunk-SRWIBMEB.js +178 -0
  31. package/dist/chunk-SRWIBMEB.js.map +1 -0
  32. package/dist/element/chunk-AOKCBPMV.js +1646 -0
  33. package/dist/element/chunk-AOKCBPMV.js.map +1 -0
  34. package/dist/element/chunk-B67SYRQP.js +281 -0
  35. package/dist/element/chunk-B67SYRQP.js.map +1 -0
  36. package/dist/element/chunk-FNRVFA2C.js +55 -0
  37. package/dist/element/chunk-FNRVFA2C.js.map +1 -0
  38. package/dist/element/chunk-G3C722QP.js +4707 -0
  39. package/dist/element/chunk-G3C722QP.js.map +1 -0
  40. package/dist/element/chunk-H5IFOSQP.js +346 -0
  41. package/dist/element/chunk-H5IFOSQP.js.map +1 -0
  42. package/dist/element/chunk-LXR3CLCN.js +30 -0
  43. package/dist/element/chunk-LXR3CLCN.js.map +1 -0
  44. package/dist/element/chunk-TFV4CJR4.js +183 -0
  45. package/dist/element/chunk-TFV4CJR4.js.map +1 -0
  46. package/dist/element/chunk-TXSK3CIN.js +859 -0
  47. package/dist/element/chunk-TXSK3CIN.js.map +1 -0
  48. package/dist/element/chunk-WDTTBY3S.js +45 -0
  49. package/dist/element/chunk-WDTTBY3S.js.map +1 -0
  50. package/dist/element/chunk-ZI3RYCAR.js +233 -0
  51. package/dist/element/chunk-ZI3RYCAR.js.map +1 -0
  52. package/dist/element/element.d.ts +3044 -0
  53. package/dist/element/element.js +146554 -0
  54. package/dist/element/element.js.map +1 -0
  55. package/dist/element/revo-grid.entry-7FHEBN3O.js +4817 -0
  56. package/dist/element/revo-grid.entry-7FHEBN3O.js.map +1 -0
  57. package/dist/element/revogr-attribution_7.entry-LSOFVZRA.js +1328 -0
  58. package/dist/element/revogr-attribution_7.entry-LSOFVZRA.js.map +1 -0
  59. package/dist/element/revogr-clipboard_3.entry-V74UIBPJ.js +494 -0
  60. package/dist/element/revogr-clipboard_3.entry-V74UIBPJ.js.map +1 -0
  61. package/dist/element/revogr-data_4.entry-2UBOKTFN.js +1041 -0
  62. package/dist/element/revogr-data_4.entry-2UBOKTFN.js.map +1 -0
  63. package/dist/element/revogr-filter-panel.entry-B24PLQU4.js +552 -0
  64. package/dist/element/revogr-filter-panel.entry-B24PLQU4.js.map +1 -0
  65. package/dist/index.d.ts +1041 -0
  66. package/dist/index.js +10 -0
  67. package/dist/index.js.map +1 -0
  68. package/dist/react.d.ts +1915 -0
  69. package/dist/react.js +14 -0
  70. package/dist/react.js.map +1 -0
  71. package/dist/renderers/echarts.d.ts +44 -0
  72. package/dist/renderers/echarts.js +6 -0
  73. package/dist/renderers/echarts.js.map +1 -0
  74. package/dist/renderers/index.d.ts +48 -0
  75. package/dist/renderers/index.js +12 -0
  76. package/dist/renderers/index.js.map +1 -0
  77. package/dist/renderers/revogrid.d.ts +76 -0
  78. package/dist/renderers/revogrid.js +6 -0
  79. package/dist/renderers/revogrid.js.map +1 -0
  80. package/dist/renderers/tabulator.d.ts +37 -0
  81. package/dist/renderers/tabulator.js +6 -0
  82. package/dist/renderers/tabulator.js.map +1 -0
  83. package/dist/result-table-CPls-277.d.ts +1885 -0
  84. package/dist/schema/dashboard.schema.json +4374 -0
  85. package/dist/schema/semantic-model.schema.json +1200 -0
  86. package/dist/schema/widget.schema.json +1793 -0
  87. package/dist/styles.css +156 -0
  88. package/dist/theme.css +1789 -0
  89. package/dist/types-CHFSsU_X.d.ts +1007 -0
  90. package/package.json +119 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../node_modules/.pnpm/@revolist+revogrid@4.25.2/node_modules/@revolist/revogrid/dist/esm/cell-renderer-11cf-lu3.js","../../../../node_modules/.pnpm/@revolist+revogrid@4.25.2/node_modules/@revolist/revogrid/dist/esm/revogr-data_4.entry.js"],"names":["_a"],"mappings":"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","file":"revogr-data_4.entry-2UBOKTFN.js","sourcesContent":["/*!\n * Built by Revolist OU ❤️\n */\nimport { h, e as Build } from './index-CtimkLsB.js';\nimport { n as DATA_ROW, b as getSourceItem, m as DATA_COL, C as CELL_CLASS, w as DRAG_ICON_CLASS, x as DRAGGABLE_CLASS } from './dimension.helpers-fl4HSSK9.js';\nimport { A as getCellRaw, v as isGroupingColumn, l as GROUP_EXPAND_BTN, m as GROUP_EXPAND_EVENT, j as GROUP_COLUMN_PROP, P as PSEUDO_GROUP_ITEM, h as GROUP_EXPANDED, G as GROUP_DEPTH, O as isRowDragService, B as getCellDataParsed } from './column.service-Cfw3L0PN.js';\n\n/**\n * Renders sorting direction and optional additive sorting rank.\n */\nconst SortingSign = ({ column }) => {\n var _a;\n const indicatorAttrs = { class: 'sort-indicator' };\n const iconAttrs = { class: (_a = column === null || column === void 0 ? void 0 : column.order) !== null && _a !== void 0 ? _a : 'sort-off' };\n const orderIndexAttrs = { class: 'sort-order-index' };\n return (h(\"span\", Object.assign({}, indicatorAttrs), h(\"i\", Object.assign({}, iconAttrs)), (column === null || column === void 0 ? void 0 : column.sortIndex) ? (h(\"sup\", Object.assign({}, orderIndexAttrs), column.sortIndex)) : null));\n};\n\nvar __rest = (undefined && undefined.__rest) || function (s, e) {\n var t = {};\n for (var p in s)\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nconst PADDING_DEPTH = 10;\nconst RowRenderer = (_a, cells) => {\n var { rowClass, index, size, start, depth, groupingLevel } = _a, attrs = __rest(_a, [\"rowClass\", \"index\", \"size\", \"start\", \"depth\", \"groupingLevel\"]);\n const props = Object.assign(Object.assign(Object.assign({}, attrs), { [DATA_ROW]: index }), (typeof groupingLevel === 'number'\n ? { 'data-level': groupingLevel }\n : {}));\n return (h(\"div\", Object.assign({}, props, { class: `rgRow ${rowClass || ''}`, style: {\n height: `${size}px`,\n transform: `translateY(${start}px)`,\n paddingLeft: depth ? `${PADDING_DEPTH * depth}px` : undefined,\n } }), cells));\n};\n\nfunction expandEvent(e, model, virtualIndex) {\n var _a;\n const event = new CustomEvent(GROUP_EXPAND_EVENT, {\n detail: {\n model,\n virtualIndex,\n },\n cancelable: true,\n bubbles: true,\n });\n (_a = e.target) === null || _a === void 0 ? void 0 : _a.dispatchEvent(event);\n}\nfunction renderGroupCells(props, { name, expanded, depth, }) {\n const { additionalData, columnItems, groupingCellRenderer, hasExpand, itemIndex, model, providers, size, start, end, } = props;\n if (!groupingCellRenderer) {\n return [];\n }\n const renderOffset = providers.viewport.get('renderOffset') || 0;\n const data = providers.data.get('source');\n const rowItem = { itemIndex, size, start, end };\n const onExpand = (event) => expandEvent(event, model, itemIndex);\n return columnItems.map(columnItem => {\n const column = getSourceItem(providers.columns, columnItem.itemIndex);\n if (!column) {\n return null;\n }\n const isLabelColumn = isGroupingColumn(column);\n const templateProps = {\n prop: column.prop,\n model,\n data,\n column,\n rowIndex: itemIndex,\n colIndex: columnItem.itemIndex,\n colType: providers.colType,\n type: providers.type,\n value: getCellRaw(model, column),\n providers,\n columnItem,\n rowItem,\n group: {\n name,\n depth,\n expanded,\n prop: model[GROUP_COLUMN_PROP],\n isLabelColumn,\n canExpand: hasExpand,\n onExpand,\n },\n };\n return (h(\"div\", { key: columnItem.itemIndex, class: {\n [CELL_CLASS]: true,\n groupingCell: true,\n groupingLabelCell: isLabelColumn,\n }, [DATA_COL]: columnItem.itemIndex,\n [DATA_ROW]: itemIndex, style: {\n width: `${columnItem.size}px`,\n transform: `translateX(${columnItem.start - renderOffset}px)`,\n height: size ? `${size}px` : undefined,\n } }, groupingCellRenderer(h, templateProps, additionalData)));\n });\n}\nconst GroupingRowRenderer = (props) => {\n const { model, itemIndex, hasExpand, groupingCustomRenderer, groupingCellRenderer, } = props;\n const name = model[PSEUDO_GROUP_ITEM];\n const expanded = model[GROUP_EXPANDED];\n const depth = parseInt(model[GROUP_DEPTH], 10) || 0;\n const groupRowAttrs = {\n rowClass: 'groupingRow',\n depth,\n expanded,\n };\n if (groupingCellRenderer) {\n return (h(RowRenderer, Object.assign({ index: props.index, size: props.size, start: props.start }, groupRowAttrs), renderGroupCells(props, { name, expanded, depth })));\n }\n if (groupingCustomRenderer) {\n return (h(RowRenderer, Object.assign({}, props, groupRowAttrs), h(\"div\", { onClick: e => expandEvent(e, model, itemIndex) }, groupingCustomRenderer(h, Object.assign(Object.assign({}, props), { colType: props.providers.colType, name,\n expanded,\n depth })))));\n }\n return (h(RowRenderer, Object.assign({}, props, groupRowAttrs), hasExpand && [\n h(\"button\", { class: { [GROUP_EXPAND_BTN]: true }, onClick: e => expandEvent(e, model, itemIndex) }, expandSvgIconVNode(expanded)),\n String(name),\n ]));\n};\nconst expandSvgIconVNode = (expanded = false) => {\n return (h(\"svg\", { \"aria-hidden\": \"true\", style: { transform: `rotate(${!expanded ? -90 : 0}deg)` }, focusable: \"false\", viewBox: \"0 0 448 512\" }, h(\"path\", { fill: \"currentColor\", d: \"M207.029 381.476L12.686 187.132c-9.373-9.373-9.373-24.569 0-33.941l22.667-22.667c9.357-9.357 24.522-9.375 33.901-.04L224 284.505l154.745-154.021c9.379-9.335 24.544-9.317 33.901.04l22.667 22.667c9.373 9.373 9.373 24.569 0 33.941L240.971 381.476c-9.373 9.372-24.569 9.372-33.942 0z\" })));\n};\n\nfunction renderCell(v) {\n var _a;\n const els = [];\n // #region Custom cell\n const template = (_a = v.schemaModel.column) === null || _a === void 0 ? void 0 : _a.cellTemplate;\n if (template) {\n els.push(template(h, v.schemaModel, v.additionalData));\n }\n // #endregion\n // #region Regular cell\n else {\n if (!v.schemaModel.column) {\n // something is wrong with data\n if (Build === null || Build === void 0 ? void 0 : Build.isDev) {\n console.error('Investigate column problem.', v.schemaModel);\n }\n return '';\n }\n // Row drag\n if (v.schemaModel.column.rowDrag &&\n isRowDragService(v.schemaModel.column.rowDrag, v.schemaModel)) {\n els.push(h(\"span\", { class: DRAGGABLE_CLASS, onMouseDown: originalEvent => {\n var _a;\n return (_a = v.dragStartCell) === null || _a === void 0 ? void 0 : _a.emit({\n originalEvent,\n model: v.schemaModel,\n });\n } }, h(\"span\", { class: DRAG_ICON_CLASS })));\n }\n els.push(`${getCellDataParsed(v.schemaModel.model, v.schemaModel.column)}`);\n }\n return els;\n}\nconst CellRenderer = ({ renderProps, cellProps, }) => {\n const render = renderCell.bind(null, renderProps);\n return (h(\"div\", Object.assign({}, cellProps, { redraw: render }), render()));\n};\n\nexport { CellRenderer as C, GroupingRowRenderer as G, PADDING_DEPTH as P, RowRenderer as R, SortingSign as S, expandSvgIconVNode as a, expandEvent as e, renderGroupCells as r };\n","/*!\n * Built by Revolist OU ❤️\n */\nimport { r as registerInstance, a as createEvent, h, d as Host, g as getElement } from './index-CtimkLsB.js';\nimport { M as ColumnService, u as isGrouping } from './column.service-Cfw3L0PN.js';\nimport { B as ROW_FOCUSED_CLASS, b as getSourceItem, n as DATA_ROW, m as DATA_COL, M as MIN_COL_SIZE, r as HEADER_SORTABLE_CLASS, H as HEADER_CLASS, F as FOCUS_CLASS, k as getItemByIndex, u as HEADER_ROW_CLASS, v as HEADER_ACTUAL_ROW_CLASS } from './dimension.helpers-fl4HSSK9.js';\nimport { G as GroupingRowRenderer, C as CellRenderer, R as RowRenderer, P as PADDING_DEPTH, S as SortingSign } from './cell-renderer-11cf-lu3.js';\nimport { c as FilterButton } from './filter.button-DMhpuAiw.js';\nimport { H as HeaderCellRenderer } from './header-cell-renderer-Cqtg1ETB.js';\nimport { t as throttle, L as LocalScrollTimer, a as LocalScrollService, g as getContentSize } from './throttle-Cpk1LoGk.js';\nimport { H as HEADER_SLOT, C as CONTENT_SLOT, F as FOOTER_SLOT } from './viewport.helpers-CoCAvmZs.js';\nimport './debounce-PCRWZliA.js';\n\n/**\n * Class is responsible for highlighting rows in a table.\n */\nclass RowHighlightPlugin {\n constructor() {\n this.currentRange = null;\n }\n selectionChange(e, renderedRows) {\n // clear previous range\n if (this.currentRange) {\n renderedRows.forEach((row, y) => {\n var _a;\n // skip current range\n if (e && y >= e.y && y <= e.y1) {\n return;\n }\n // clear previous range\n if (row &&\n row.$elm$ instanceof HTMLElement &&\n row.$elm$.classList.contains(ROW_FOCUSED_CLASS)) {\n row.$elm$.classList.remove(ROW_FOCUSED_CLASS);\n if ((_a = row.$attrs$) === null || _a === void 0 ? void 0 : _a.class.includes(ROW_FOCUSED_CLASS)) {\n row.$attrs$.class = row.$attrs$.class.replace(ROW_FOCUSED_CLASS, '');\n }\n }\n });\n }\n // apply new range\n if (e) {\n for (let y = e.y; y <= e.y1; y++) {\n const row = renderedRows.get(y);\n if (row &&\n row.$elm$ instanceof HTMLElement &&\n !row.$elm$.classList.contains(ROW_FOCUSED_CLASS)) {\n const attrs = (row.$attrs$ = row.$attrs$ || {});\n attrs.class = (attrs.class || '') + ' ' + ROW_FOCUSED_CLASS;\n row.$elm$.classList.add(ROW_FOCUSED_CLASS);\n }\n }\n }\n this.currentRange = e;\n }\n isRowFocused(y) {\n return (this.currentRange && y >= this.currentRange.y && y <= this.currentRange.y1);\n }\n}\n\n/**\n * Converts a VNode element into an HTML element and appends it to the specified parentHolder.\n */\nfunction convertVNodeToHTML(parentHolder, redraw) {\n return new Promise(resolve => {\n const vnode = document.createElement('vnode-html');\n parentHolder.appendChild(vnode);\n vnode.redraw = redraw;\n vnode.addEventListener('html', e => {\n vnode.remove();\n resolve(e.detail);\n });\n });\n}\n\nconst revogrDataStyleCss = () => `.revo-drag-icon{width:11px;opacity:0.8}.revo-drag-icon::before{content:\"::\";display:inline-block}.revo-alt-icon{-webkit-mask-image:url(\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg viewBox='0 0 384 383' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cg%3E%3Cpath d='M192.4375,383 C197.424479,383 201.663411,381.254557 205.154297,377.763672 L205.154297,377.763672 L264.25,318.667969 C270.234375,312.683594 271.605794,306.075846 268.364258,298.844727 C265.122721,291.613607 259.51237,287.998047 251.533203,287.998047 L251.533203,287.998047 L213.382812,287.998047 L213.382812,212.445312 L288.935547,212.445312 L288.935547,250.595703 C288.935547,258.57487 292.551107,264.185221 299.782227,267.426758 C307.013346,270.668294 313.621094,269.296875 319.605469,263.3125 L319.605469,263.3125 L378.701172,204.216797 C382.192057,200.725911 383.9375,196.486979 383.9375,191.5 C383.9375,186.513021 382.192057,182.274089 378.701172,178.783203 L378.701172,178.783203 L319.605469,119.6875 C313.621094,114.201823 307.013346,112.955078 299.782227,115.947266 C292.551107,118.939453 288.935547,124.42513 288.935547,132.404297 L288.935547,132.404297 L288.935547,170.554688 L213.382812,170.554688 L213.382812,95.0019531 L251.533203,95.0019531 C259.51237,95.0019531 264.998047,91.3863932 267.990234,84.1552734 C270.982422,76.9241536 269.735677,70.3164062 264.25,64.3320312 L264.25,64.3320312 L205.154297,5.23632812 C201.663411,1.74544271 197.424479,0 192.4375,0 C187.450521,0 183.211589,1.74544271 179.720703,5.23632812 L179.720703,5.23632812 L120.625,64.3320312 C114.640625,70.3164062 113.269206,76.9241536 116.510742,84.1552734 C119.752279,91.3863932 125.36263,95.0019531 133.341797,95.0019531 L133.341797,95.0019531 L171.492188,95.0019531 L171.492188,170.554688 L95.9394531,170.554688 L95.9394531,132.404297 C95.9394531,124.42513 92.3238932,118.814779 85.0927734,115.573242 C77.8616536,112.331706 71.2539062,113.703125 65.2695312,119.6875 L65.2695312,119.6875 L6.17382812,178.783203 C2.68294271,182.274089 0.9375,186.513021 0.9375,191.5 C0.9375,196.486979 2.68294271,200.725911 6.17382812,204.216797 L6.17382812,204.216797 L65.2695312,263.3125 C71.2539062,268.798177 77.8616536,270.044922 85.0927734,267.052734 C92.3238932,264.060547 95.9394531,258.57487 95.9394531,250.595703 L95.9394531,250.595703 L95.9394531,212.445312 L171.492188,212.445312 L171.492188,287.998047 L133.341797,287.998047 C125.36263,287.998047 119.876953,291.613607 116.884766,298.844727 C113.892578,306.075846 115.139323,312.683594 120.625,318.667969 L120.625,318.667969 L179.720703,377.763672 C183.211589,381.254557 187.450521,383 192.4375,383 Z'%3E%3C/path%3E%3C/g%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg viewBox='0 0 384 383' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cg%3E%3Cpath d='M192.4375,383 C197.424479,383 201.663411,381.254557 205.154297,377.763672 L205.154297,377.763672 L264.25,318.667969 C270.234375,312.683594 271.605794,306.075846 268.364258,298.844727 C265.122721,291.613607 259.51237,287.998047 251.533203,287.998047 L251.533203,287.998047 L213.382812,287.998047 L213.382812,212.445312 L288.935547,212.445312 L288.935547,250.595703 C288.935547,258.57487 292.551107,264.185221 299.782227,267.426758 C307.013346,270.668294 313.621094,269.296875 319.605469,263.3125 L319.605469,263.3125 L378.701172,204.216797 C382.192057,200.725911 383.9375,196.486979 383.9375,191.5 C383.9375,186.513021 382.192057,182.274089 378.701172,178.783203 L378.701172,178.783203 L319.605469,119.6875 C313.621094,114.201823 307.013346,112.955078 299.782227,115.947266 C292.551107,118.939453 288.935547,124.42513 288.935547,132.404297 L288.935547,132.404297 L288.935547,170.554688 L213.382812,170.554688 L213.382812,95.0019531 L251.533203,95.0019531 C259.51237,95.0019531 264.998047,91.3863932 267.990234,84.1552734 C270.982422,76.9241536 269.735677,70.3164062 264.25,64.3320312 L264.25,64.3320312 L205.154297,5.23632812 C201.663411,1.74544271 197.424479,0 192.4375,0 C187.450521,0 183.211589,1.74544271 179.720703,5.23632812 L179.720703,5.23632812 L120.625,64.3320312 C114.640625,70.3164062 113.269206,76.9241536 116.510742,84.1552734 C119.752279,91.3863932 125.36263,95.0019531 133.341797,95.0019531 L133.341797,95.0019531 L171.492188,95.0019531 L171.492188,170.554688 L95.9394531,170.554688 L95.9394531,132.404297 C95.9394531,124.42513 92.3238932,118.814779 85.0927734,115.573242 C77.8616536,112.331706 71.2539062,113.703125 65.2695312,119.6875 L65.2695312,119.6875 L6.17382812,178.783203 C2.68294271,182.274089 0.9375,186.513021 0.9375,191.5 C0.9375,196.486979 2.68294271,200.725911 6.17382812,204.216797 L6.17382812,204.216797 L65.2695312,263.3125 C71.2539062,268.798177 77.8616536,270.044922 85.0927734,267.052734 C92.3238932,264.060547 95.9394531,258.57487 95.9394531,250.595703 L95.9394531,250.595703 L95.9394531,212.445312 L171.492188,212.445312 L171.492188,287.998047 L133.341797,287.998047 C125.36263,287.998047 119.876953,291.613607 116.884766,298.844727 C113.892578,306.075846 115.139323,312.683594 120.625,318.667969 L120.625,318.667969 L179.720703,377.763672 C183.211589,381.254557 187.450521,383 192.4375,383 Z'%3E%3C/path%3E%3C/g%3E%3C/svg%3E\");width:11px;height:11px;background-size:cover;background-repeat:no-repeat}.arrow-down{position:absolute;right:5px;top:0}.arrow-down svg{width:8px;margin-top:5px;margin-left:5px;opacity:0.4}.cell-value-wrapper{margin-right:10px;overflow:hidden;text-overflow:ellipsis}revogr-data{display:block;width:100%;position:relative}revogr-data .rgRow{position:absolute;width:100%;left:0}revogr-data .rgRow.groupingRow{font-weight:600;text-align:left}revogr-data .rgRow.groupingRow .group-expand{width:25px;height:100%;max-height:25px;margin-right:2px;background-color:transparent;border-color:transparent;vertical-align:middle;padding-left:5px;display:inline-flex}revogr-data .rgRow.groupingRow .group-expand svg{width:7px}revogr-data .revo-draggable{border:none;height:32px;display:inline-flex;outline:0;padding:0;font-size:0.8125rem;box-sizing:border-box;align-items:center;white-space:nowrap;vertical-align:middle;justify-content:center;text-decoration:none;width:24px;height:100%;cursor:pointer;display:inline-flex}revogr-data .revo-draggable:hover>.revo-drag-icon{opacity:1;zoom:1.2;font-weight:600}revogr-data .revo-draggable>.revo-drag-icon{pointer-events:none;transition:opacity 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, zoom 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms}revogr-data .rgCell{top:0;left:0;position:absolute;box-sizing:border-box;height:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;outline:none}revogr-data .rgCell.align-center{text-align:center}revogr-data .rgCell.align-left{text-align:left}revogr-data .rgCell.align-right{text-align:right}`;\n\nconst RevogrData = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.beforerowrender = createEvent(this, \"beforerowrender\", 7);\n this.afterrender = createEvent(this, \"afterrender\", 7);\n this.beforeCellRender = createEvent(this, \"beforecellrender\", 7);\n this.beforeDataRender = createEvent(this, \"beforedatarender\", 7);\n this.dragStartCell = createEvent(this, \"dragstartcell\", 7);\n /**\n * Prevent rendering until job is done.\n * Can be used for initial rendering performance improvement.\n * When several plugins require initial rendering this will prevent double initial rendering.\n */\n this.jobsBeforeRender = [];\n /**\n * Rendered rows - virtual index vs vnode\n */\n this.renderedRows = new Map();\n }\n /**\n * Pointed cell update.\n */\n async updateCell(e) {\n var _a, _b, _c;\n // Stencil tweak to update cell content\n const cell = (_b = (_a = this.renderedRows.get(e.row)) === null || _a === void 0 ? void 0 : _a.$children$) === null || _b === void 0 ? void 0 : _b[e.col];\n if ((_c = cell === null || cell === void 0 ? void 0 : cell.$attrs$) === null || _c === void 0 ? void 0 : _c.redraw) {\n const children = await convertVNodeToHTML(this.element, cell.$attrs$.redraw);\n cell.$elm$.innerHTML = children.html;\n cell.$key$ = Math.random();\n }\n }\n onDataStoreChange() {\n this.onStoreChange();\n }\n onColDataChange() {\n this.onStoreChange();\n }\n onStoreChange() {\n var _a, _b;\n (_a = this.columnService) === null || _a === void 0 ? void 0 : _a.destroy();\n this.columnService = new ColumnService(this.dataStore, this.colData);\n // make sure we have correct data, before render\n this.providers = {\n type: this.type,\n colType: this.colType,\n readonly: this.readonly,\n data: this.dataStore,\n columns: this.colData,\n viewport: this.viewportCol,\n dimension: this.dimensionRow,\n selection: this.rowSelectionStore,\n };\n (_b = this.rangeUnsubscribe) === null || _b === void 0 ? void 0 : _b.call(this);\n this.rangeUnsubscribe = this.rowSelectionStore.onChange('range', (e) => this.rowHighlightPlugin.selectionChange(e, this.renderedRows));\n }\n connectedCallback() {\n this.rowHighlightPlugin = new RowHighlightPlugin();\n this.onStoreChange();\n }\n disconnectedCallback() {\n var _a, _b;\n (_a = this.columnService) === null || _a === void 0 ? void 0 : _a.destroy();\n (_b = this.rangeUnsubscribe) === null || _b === void 0 ? void 0 : _b.call(this);\n }\n async componentWillRender() {\n this.beforeDataRender.emit({\n rowType: this.type,\n colType: this.colType,\n });\n return Promise.all(this.jobsBeforeRender.map(p => typeof p === 'function' ? p() : p));\n }\n componentDidRender() {\n this.afterrender.emit({ type: this.type });\n }\n render() {\n this.renderedRows = new Map();\n const columnsData = this.columnService.columns;\n if (!columnsData.length) {\n return;\n }\n const rows = this.viewportRow.get('items');\n if (!rows.length) {\n return;\n }\n const cols = this.viewportCol.get('items');\n if (!cols.length) {\n return;\n }\n const rowsEls = [];\n const depth = this.dataStore.get('groupingDepth');\n const groupingCustomRenderer = this.dataStore.get('groupingCustomRenderer');\n const groupingCellRenderer = this.dataStore.get('groupingCellRenderer');\n const groupDepth = this.columnService.hasGrouping ? depth : 0;\n const rowRenderOffset = this.viewportRow.get('renderOffset') || 0;\n const colRenderOffset = this.viewportCol.get('renderOffset') || 0;\n for (let rgRow of rows) {\n const dataItem = getSourceItem(this.dataStore, rgRow.itemIndex);\n // #region Grouping\n if (isGrouping(dataItem)) {\n const gmodel = Object.assign(Object.assign({}, rgRow), { start: rgRow.start - rowRenderOffset, index: rgRow.itemIndex, model: dataItem, groupingCustomRenderer,\n groupingCellRenderer, additionalData: this.additionalData,\n // Only show expand button if grouping is enabled and not in row headers\n hasExpand: this.columnService.hasGrouping && this.colType !== 'rowHeaders', columnItems: cols, providers: this.providers });\n rowsEls.push(h(GroupingRowRenderer, Object.assign({}, gmodel)));\n continue;\n }\n // #endregion\n const cells = [];\n // #region Cells\n for (let rgCol of cols) {\n const smodel = Object.assign(Object.assign({}, this.columnService.rowDataModel(rgRow.itemIndex, rgCol.itemIndex)), { providers: this.providers });\n // call before cell render\n const cellEvent = this.triggerBeforeCellRender(smodel, rgRow, rgCol);\n // if event was prevented\n if (cellEvent.defaultPrevented) {\n continue;\n }\n const { detail: { column: columnProps, row: rowProps, model: schemaModel }, } = cellEvent;\n const defaultProps = {\n [DATA_COL]: columnProps.itemIndex,\n [DATA_ROW]: rowProps.itemIndex,\n style: {\n width: `${columnProps.size}px`,\n transform: `translateX(${columnProps.start - colRenderOffset}px)`,\n height: rowProps.size ? `${rowProps.size}px` : undefined,\n },\n };\n /**\n * For grouping, can be removed in the future and replaced with event\n */\n if (groupDepth && !columnProps.itemIndex && defaultProps.style) {\n defaultProps.style.paddingLeft = `${PADDING_DEPTH * groupDepth}px`;\n }\n const props = this.columnService.mergeProperties(rowProps.itemIndex, columnProps.itemIndex, defaultProps, schemaModel);\n // Never use webcomponent for cell render\n // It's very slow because of webcomponent initialization takes time\n const cellNode = h(CellRenderer, { renderProps: {\n schemaModel,\n additionalData: this.additionalData,\n dragStartCell: this.dragStartCell,\n }, cellProps: props });\n cells.push(cellNode);\n }\n // #endregion\n // #region Rows\n let rowClass = this.rowClass\n ? this.columnService.getRowClass(rgRow.itemIndex, this.rowClass)\n : '';\n if (this.rowHighlightPlugin.isRowFocused(rgRow.itemIndex)) {\n rowClass += ` ${ROW_FOCUSED_CLASS}`;\n }\n const row = (h(RowRenderer, { index: rgRow.itemIndex, rowClass: rowClass, size: rgRow.size, start: rgRow.start - rowRenderOffset, groupingLevel: groupDepth || undefined }, cells));\n this.beforerowrender.emit({\n node: row,\n item: rgRow,\n model: dataItem,\n colType: this.columnService.type,\n rowType: this.type,\n });\n rowsEls.push(row);\n this.renderedRows.set(rgRow.itemIndex, row);\n // #endregion\n }\n return (h(Host, null, h(\"slot\", null), rowsEls));\n }\n triggerBeforeCellRender(model, row, column) {\n const detail = {\n column,\n row,\n model,\n rowType: model.type,\n colType: model.colType,\n };\n return this.beforeCellRender.emit(detail);\n }\n get element() { return getElement(this); }\n static get watchers() { return {\n \"dataStore\": [{\n \"onDataStoreChange\": 0\n }],\n \"colData\": [{\n \"onColDataChange\": 0\n }]\n }; }\n};\nRevogrData.style = revogrDataStyleCss();\n\nconst HeaderRenderer = (p) => {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n const hasSortingSign = !!(((_a = p.data) === null || _a === void 0 ? void 0 : _a.sortable) ||\n ((_b = p.data) === null || _b === void 0 ? void 0 : _b.order) ||\n ((_c = p.data) === null || _c === void 0 ? void 0 : _c.sortIndex));\n const cellClass = {\n [HEADER_CLASS]: true,\n [HEADER_SORTABLE_CLASS]: !!((_d = p.data) === null || _d === void 0 ? void 0 : _d.sortable),\n };\n if ((_e = p.data) === null || _e === void 0 ? void 0 : _e.order) {\n cellClass[p.data.order] = true;\n }\n const dataProps = {\n key: String((_g = (_f = p.data) === null || _f === void 0 ? void 0 : _f.prop) !== null && _g !== void 0 ? _g : p.column.itemIndex),\n [DATA_COL]: p.column.itemIndex,\n canResize: p.canResize,\n minWidth: ((_h = p.data) === null || _h === void 0 ? void 0 : _h.minSize) || MIN_COL_SIZE,\n maxWidth: (_j = p.data) === null || _j === void 0 ? void 0 : _j.maxSize,\n active: p.active || ['r'],\n class: cellClass,\n style: {\n width: `${p.column.size}px`,\n transform: `translateX(${p.column.start - (p.renderOffset || 0)}px)`,\n },\n onResize: p.onResize,\n onDblClick(originalEvent) {\n var _a;\n (_a = p.onDblClick) === null || _a === void 0 ? void 0 : _a.call(p, {\n column: p.data,\n index: p.column.itemIndex,\n originalEvent,\n providers: p.data.providers,\n });\n },\n onClick(originalEvent) {\n if (originalEvent.defaultPrevented || !p.onClick) {\n return;\n }\n p.onClick({\n column: p.data,\n index: p.column.itemIndex,\n originalEvent,\n providers: p.data.providers,\n });\n },\n };\n if (p.range) {\n if (p.column.itemIndex >= p.range.x && p.column.itemIndex <= p.range.x1) {\n if (typeof dataProps.class === 'object') {\n dataProps.class[FOCUS_CLASS] = true;\n }\n }\n }\n return (h(HeaderCellRenderer, { data: p.data, props: dataProps, additionalData: p.additionalData }, hasSortingSign ? h(SortingSign, { column: p.data }) : null, p.canFilter && ((_k = p.data) === null || _k === void 0 ? void 0 : _k.filter) !== false ? (h(FilterButton, { column: p.data })) : ('')));\n};\n\nconst HeaderGroupRenderer = (p) => {\n const groupProps = {\n key: `${p.group.name}-${p.group.indexes.join('-')}`,\n canResize: p.canResize,\n minWidth: p.group.indexes.length * MIN_COL_SIZE,\n maxWidth: 0,\n active: p.active || ['r'],\n class: {\n [HEADER_CLASS]: true,\n },\n style: {\n transform: `translateX(${p.start - (p.renderOffset || 0)}px)`,\n width: `${p.end - p.start}px`,\n },\n onResize: p.onResize,\n };\n return (h(HeaderCellRenderer, { data: Object.assign(Object.assign({}, p.group), { prop: '', providers: p.providers, index: p.start }), props: groupProps, additionalData: p.additionalData }));\n};\n\nconst revogrHeaderStyleCss = () => `@charset \"UTF-8\";revogr-header{position:relative;z-index:5;display:block}revogr-header .header-rgRow{display:block;position:relative}revogr-header .header-rgRow.group{z-index:0}revogr-header .group-rgRow{position:relative;overflow:hidden}revogr-header .rgHeaderCell{position:absolute;box-sizing:border-box;height:100%;z-index:1;display:flex}revogr-header .rgHeaderCell.align-center{text-align:center}revogr-header .rgHeaderCell.align-left{text-align:left}revogr-header .rgHeaderCell.align-right{text-align:right}revogr-header .rgHeaderCell.sortable{cursor:pointer}revogr-header .rgHeaderCell .sort-indicator{display:inline-flex;align-items:flex-start;gap:1px}revogr-header .rgHeaderCell .sort-indicator i.asc:after,revogr-header .rgHeaderCell .sort-indicator i.desc:after{font-size:13px}revogr-header .rgHeaderCell .sort-indicator i.asc:after{content:\"↑\"}revogr-header .rgHeaderCell .sort-indicator i.desc:after{content:\"↓\"}revogr-header .rgHeaderCell .sort-indicator .sort-order-index{font-size:10px;line-height:1;top:0}revogr-header .rgHeaderCell.active{z-index:10}revogr-header .rgHeaderCell.active .resizable{background-color:var(--rg-theme-header-resize-hover)}revogr-header .rgHeaderCell .header-content{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-grow:1}revogr-header .rgHeaderCell .resizable{display:block;position:absolute;z-index:90;touch-action:none;user-select:none}revogr-header .rgHeaderCell .resizable:hover{background-color:var(--rg-theme-header-resize-hover)}revogr-header .rgHeaderCell>.resizable-r{cursor:ew-resize;width:6px;right:0;top:0;height:100%}revogr-header .rgHeaderCell>.resizable-rb{cursor:se-resize;width:6px;height:6px;right:0;bottom:0}revogr-header .rgHeaderCell>.resizable-b{cursor:s-resize;height:6px;bottom:0;width:100%;left:0}revogr-header .rgHeaderCell>.resizable-lb{cursor:sw-resize;width:6px;height:6px;left:0;bottom:0}revogr-header .rgHeaderCell>.resizable-l{cursor:w-resize;width:6px;left:0;height:100%;top:0}revogr-header .rgHeaderCell>.resizable-lt{cursor:nw-resize;width:6px;height:6px;left:0;top:0}revogr-header .rgHeaderCell>.resizable-t{cursor:n-resize;height:6px;top:0;width:100%;left:0}revogr-header .rgHeaderCell>.resizable-rt{cursor:ne-resize;width:6px;height:6px;right:0;top:0}revogr-header .rv-filter{visibility:hidden}`;\n\nconst RevogrHeaderComponent = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.initialHeaderClick = createEvent(this, \"beforeheaderclick\", 7);\n this.headerresize = createEvent(this, \"headerresize\", 7);\n this.beforeResize = createEvent(this, \"beforeheaderresize\", 7);\n this.headerdblClick = createEvent(this, \"headerdblclick\", 7);\n this.beforeHeaderRender = createEvent(this, \"beforeheaderrender\", 7);\n this.beforeGroupHeaderRender = createEvent(this, \"beforegroupheaderrender\", 7);\n this.afterHeaderRender = createEvent(this, \"afterheaderrender\", 7);\n /**\n * Grouping depth, how many levels of grouping\n */\n this.groupingDepth = 0;\n /**\n * Extra properties to pass into header renderer, such as vue or react components to handle parent\n */\n this.additionalData = {};\n }\n onResize({ width }, index) {\n const col = this.colData[index];\n const event = this.beforeResize.emit([\n Object.assign(Object.assign({}, col), { size: width || undefined }),\n ]);\n if (event.defaultPrevented) {\n return;\n }\n this.headerresize.emit({ [index]: width || 0 });\n }\n onResizeGroup(changedX, startIndex, endIndex) {\n const sizes = {};\n const change = changedX / (endIndex - startIndex + 1);\n for (let i = startIndex; i <= endIndex; i++) {\n const item = getItemByIndex(this.dimensionCol.state, i);\n sizes[i] = item.end - item.start + change;\n }\n this.headerresize.emit(sizes);\n }\n componentDidRender() {\n this.afterHeaderRender.emit(this.providers);\n }\n render() {\n var _a;\n const cols = this.viewportCol.get('items');\n const range = (_a = this.selectionStore) === null || _a === void 0 ? void 0 : _a.get('range');\n const { cells } = this.renderHeaderColumns(cols, range);\n const groupRow = this.renderGroupingColumns();\n return [\n h(\"div\", { key: '3cc466db6bc4df0cd61c47a22c3a0473318e5dd8', class: \"group-rgRow\" }, groupRow),\n h(\"div\", { key: '9742a3fa4d4b75073aef5544806f42386ebffdea', class: `${HEADER_ROW_CLASS} ${HEADER_ACTUAL_ROW_CLASS}` }, cells),\n ];\n }\n renderHeaderColumns(cols, range) {\n const columnsToRender = [];\n const renderOffset = this.viewportCol.get('renderOffset') || 0;\n for (let rgCol of cols) {\n const colData = this.colData[rgCol.itemIndex];\n const props = {\n range,\n column: rgCol,\n data: Object.assign(Object.assign({}, colData), { index: rgCol.itemIndex, providers: this.providers }),\n canFilter: !!this.columnFilter,\n canResize: this.canResize,\n renderOffset,\n active: this.resizeHandler,\n additionalData: this.additionalData,\n onResize: e => this.onResize(e, rgCol.itemIndex),\n onDblClick: e => this.headerdblClick.emit(e),\n onClick: e => this.initialHeaderClick.emit(e),\n };\n const event = this.beforeHeaderRender.emit(props);\n if (!event.defaultPrevented) {\n columnsToRender.push(event.detail);\n }\n }\n const duplicateProps = this.getDuplicateHeaderProps(columnsToRender);\n const cells = columnsToRender.map(detail => h(HeaderRenderer, Object.assign({ key: this.getHeaderCellKey(detail.data, this.type, duplicateProps) }, detail)));\n return { cells };\n }\n renderGroupingColumns() {\n const visibleGroupRange = this.getVisibleGroupRange();\n return Array.from({ length: this.groupingDepth }, (_, level) => this.renderGroupRow(level, visibleGroupRange)).flat();\n }\n renderGroupRow(level, visibleGroupRange) {\n const groupCells = (this.groups[level] || [])\n .map(group => this.renderGroupColumn(group, level, visibleGroupRange))\n .filter((cell) => !!cell);\n return [\n ...groupCells,\n h('div', {\n key: `group-row-${level}`,\n class: {\n [HEADER_ROW_CLASS]: true,\n group: true,\n },\n }),\n ];\n }\n renderGroupColumn(group, level, visibleGroupRange) {\n const groupRange = this.getGroupIndexRange(group);\n const groupBounds = this.getGroupBounds(groupRange);\n const props = {\n level,\n providers: this.providers,\n start: groupBounds.start,\n end: groupBounds.end,\n group,\n renderOffset: this.viewportCol.get('renderOffset') || 0,\n active: this.resizeHandler,\n canResize: this.canResize,\n additionalData: this.additionalData,\n onResize: e => {\n var _a;\n return groupRange\n ? this.onResizeGroup((_a = e.changedX) !== null && _a !== void 0 ? _a : 0, groupRange.startIndex, groupRange.endIndex)\n : undefined;\n },\n };\n const event = this.beforeGroupHeaderRender.emit(props);\n if (event.defaultPrevented) {\n return;\n }\n const renderRange = this.getGroupIndexRange(event.detail.group);\n if (!renderRange ||\n !visibleGroupRange ||\n !isGroupInVisibleRange(renderRange.startIndex, renderRange.endIndex, visibleGroupRange)) {\n return;\n }\n if (event.detail.onResize === props.onResize) {\n event.detail.onResize = e => {\n var _a;\n return this.onResizeGroup((_a = e.changedX) !== null && _a !== void 0 ? _a : 0, renderRange.startIndex, renderRange.endIndex);\n };\n }\n const renderBounds = this.getGroupBounds(renderRange);\n if (event.detail.start === props.start) {\n event.detail.start = renderBounds.start;\n }\n if (event.detail.end === props.end) {\n event.detail.end = renderBounds.end;\n }\n return h(HeaderGroupRenderer, Object.assign({ key: this.getGroupHeaderCellKey(event.detail.group, level) }, event.detail));\n }\n getGroupIndexRange(group) {\n var _a;\n const startIndex = (_a = group.indexes[0]) !== null && _a !== void 0 ? _a : -1;\n if (startIndex < 0) {\n return;\n }\n const endIndex = group.indexes[group.indexes.length - 1];\n return {\n startIndex,\n endIndex,\n };\n }\n getGroupBounds(range) {\n if (!range) {\n return { start: 0, end: 0 };\n }\n return {\n start: getItemByIndex(this.dimensionCol.state, range.startIndex).start,\n end: getItemByIndex(this.dimensionCol.state, range.endIndex).end,\n };\n }\n getVisibleGroupRange() {\n const visibleColumns = this.viewportCol.get('items');\n if (!visibleColumns.length) {\n return;\n }\n return visibleColumns.reduce((range, column) => ({\n start: Math.min(range.start, column.itemIndex),\n end: Math.max(range.end, column.itemIndex),\n }), {\n start: visibleColumns[0].itemIndex,\n end: visibleColumns[0].itemIndex,\n });\n }\n getHeaderCellKey(column, type, duplicateProps) {\n if ((column === null || column === void 0 ? void 0 : column.prop) === undefined) {\n return `${type}-${String(column === null || column === void 0 ? void 0 : column.index)}`;\n }\n const propKey = String(column.prop);\n if (duplicateProps.has(propKey)) {\n return `${type}-${propKey}-${String(column.index)}`;\n }\n return `${type}-${propKey}`;\n }\n getDuplicateHeaderProps(columns) {\n const seenProps = new Set();\n const duplicateProps = new Set();\n columns.forEach(({ data }) => {\n if ((data === null || data === void 0 ? void 0 : data.prop) !== undefined) {\n const propKey = String(data.prop);\n if (seenProps.has(propKey)) {\n duplicateProps.add(propKey);\n }\n else {\n seenProps.add(propKey);\n }\n }\n });\n return duplicateProps;\n }\n getGroupHeaderCellKey(group, level) {\n return `group-${level}-${group.name}-${group.indexes.join('-')}`;\n }\n get providers() {\n return {\n type: this.type,\n readonly: this.readonly,\n data: this.colData,\n viewport: this.viewportCol,\n dimension: this.dimensionCol,\n selection: this.selectionStore,\n };\n }\n get element() { return getElement(this); }\n};\nfunction isGroupInVisibleRange(groupStartIndex, groupEndIndex, visibleRange) {\n return (groupStartIndex <= visibleRange.end &&\n groupEndIndex >= visibleRange.start);\n}\nRevogrHeaderComponent.style = revogrHeaderStyleCss();\n\nclass GridResizeService {\n constructor(el, resize, elements) {\n this.resize = resize;\n this.resizeObserver = null;\n this.previousSize = {\n width: 0,\n height: 0,\n };\n this.apply = throttle((e) => {\n var _a;\n const entry = {\n width: e.width,\n height: e.height,\n };\n (_a = this.resize) === null || _a === void 0 ? void 0 : _a.call(this, entry, this.previousSize);\n this.previousSize = entry;\n }, 40, {\n leading: false,\n trailing: true,\n });\n const extras = [];\n elements.forEach((element) => {\n if (element) {\n extras.push(element);\n }\n });\n this.init(el, extras);\n }\n init(el, extras = []) {\n const observer = this.resizeObserver = new ResizeObserver((e) => {\n if (e.length) {\n if (e[0].target === el) {\n this.apply(e[0].contentRect);\n }\n else {\n this.apply(el.getBoundingClientRect());\n }\n }\n });\n observer.observe(el);\n extras.forEach((extra) => {\n observer.observe(extra);\n });\n }\n destroy() {\n var _a;\n this.apply.cancel();\n (_a = this.resizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();\n this.resizeObserver = null;\n }\n}\n\nconst revogrViewportScrollStyleCss = () => `.rowHeaders{z-index:2;font-size:10px;display:flex;height:100%}.rowHeaders revogr-data .rgCell{text-align:center}.rowHeaders .rgCell{padding:0 1em !important;min-width:100%}revogr-viewport-scroll{-ms-overflow-style:none;scrollbar-width:none;}revogr-viewport-scroll::-webkit-scrollbar{display:none;-webkit-appearance:none}revogr-viewport-scroll{overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;position:relative;z-index:1;height:100%}revogr-viewport-scroll.colPinStart,revogr-viewport-scroll.colPinEnd{z-index:2}revogr-viewport-scroll.colPinEnd:has(.active){overflow:visible}revogr-viewport-scroll.rgCol{flex-grow:1}revogr-viewport-scroll .content-wrapper{overflow:hidden}revogr-viewport-scroll .inner-content-table{display:flex;flex-direction:column;max-height:100%;width:100%;min-width:100%;position:relative;z-index:0}revogr-viewport-scroll .vertical-inner{overflow-y:auto;position:relative;width:100%;flex-grow:1;outline:none;-ms-overflow-style:none;scrollbar-width:none;}revogr-viewport-scroll .vertical-inner::-webkit-scrollbar{display:none;-webkit-appearance:none}revogr-viewport-scroll .vertical-inner revogr-data,revogr-viewport-scroll .vertical-inner revogr-overlay-selection{height:100%}`;\n\nconst RevogrViewportScroll = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.scrollViewport = createEvent(this, \"scrollviewport\", 7);\n this.resizeViewport = createEvent(this, \"resizeviewport\", 7);\n this.scrollchange = createEvent(this, \"scrollchange\", 7);\n this.silentScroll = createEvent(this, \"scrollviewportsilent\", 7);\n /**\n * Width of inner content\n */\n this.contentWidth = 0;\n /**\n * Height of inner content\n */\n this.contentHeight = 0;\n this.noHorizontalScrollTransfer = false;\n }\n async setScroll(e) {\n var _a;\n this.localScrollTimer.latestScrollUpdate(e.dimension);\n (_a = this.localScrollService) === null || _a === void 0 ? void 0 : _a.setScroll(e);\n }\n /**\n * update on delta in case we don't know existing position or external change\n * @param e\n */\n async changeScroll(e, silent = false) {\n var _a, _b, _c, _d;\n if (silent) {\n if (e.coordinate && this.verticalScroll) {\n switch (e.dimension) {\n // for mobile devices to skip negative scroll loop. only on vertical scroll\n case 'rgRow':\n this.verticalScroll.style.transform = `translateY(${ -1 * e.coordinate}px)`;\n break;\n }\n }\n return;\n }\n if (e.delta) {\n let currentPhysicalCoordinate = 0;\n switch (e.dimension) {\n case 'rgCol':\n currentPhysicalCoordinate = this.horizontalScroll.scrollLeft;\n break;\n case 'rgRow':\n currentPhysicalCoordinate = (_b = (_a = this.verticalScroll) === null || _a === void 0 ? void 0 : _a.scrollTop) !== null && _b !== void 0 ? _b : 0;\n break;\n }\n return (_d = (_c = this.localScrollService) === null || _c === void 0 ? void 0 : _c.setScrollByDelta(e, currentPhysicalCoordinate)) !== null && _d !== void 0 ? _d : e;\n }\n return e;\n }\n /**\n * Dispatch this event to trigger vertical mouse wheel from plugins\n */\n mousewheelVertical({ detail: e, }) {\n this.verticalMouseWheel(e);\n }\n /**\n * Dispatch this event to trigger horizontal mouse wheel from plugins\n */\n mousewheelHorizontal({ detail: e, }) {\n this.horizontalMouseWheel(e);\n }\n /**\n * Allows to use outside listener\n */\n scrollApply({ detail: { type, coordinate }, }) {\n this.applyOnScroll(type, coordinate, true);\n }\n connectedCallback() {\n /**\n * Bind scroll functions for farther usage\n */\n // allow mousewheel for all devices including mobile\n this.verticalMouseWheel = this.onVerticalMouseWheel.bind(this, 'rgRow', 'deltaY');\n this.horizontalMouseWheel = this.onHorizontalMouseWheel.bind(this, 'rgCol', 'deltaX');\n this.localScrollTimer = new LocalScrollTimer('ontouchstart' in document.documentElement ? 0 : 10);\n /**\n * Create local scroll service\n */\n this.localScrollService = new LocalScrollService({\n // to improve safari smoothnes on scroll\n // skipAnimationFrame: isSafariDesktop(),\n runScroll: e => this.scrollViewport.emit(e),\n applyScroll: e => {\n this.localScrollTimer.setCoordinate(e);\n switch (e.dimension) {\n case 'rgCol':\n // this will trigger on scroll event\n this.horizontalScroll.scrollLeft = e.coordinate;\n break;\n case 'rgRow':\n if (this.verticalScroll) {\n // this will trigger on scroll event\n this.verticalScroll.scrollTop = e.coordinate;\n // for mobile devices to skip negative scroll loop. only on vertical scroll\n if (this.verticalScroll.style.transform) {\n this.verticalScroll.style.transform = '';\n }\n }\n break;\n }\n },\n });\n }\n componentDidLoad() {\n // track viewport resize\n this.resizeService = new GridResizeService(this.horizontalScroll, (entry) => {\n var _a, _b, _c, _d, _e, _f, _g, _h;\n const els = {};\n let calculatedHeight = entry.height || 0;\n if (calculatedHeight) {\n calculatedHeight -=\n ((_b = (_a = this.header) === null || _a === void 0 ? void 0 : _a.clientHeight) !== null && _b !== void 0 ? _b : 0) +\n ((_d = (_c = this.footer) === null || _c === void 0 ? void 0 : _c.clientHeight) !== null && _d !== void 0 ? _d : 0);\n }\n els.rgRow = {\n size: calculatedHeight,\n contentSize: this.contentHeight,\n scroll: (_f = (_e = this.verticalScroll) === null || _e === void 0 ? void 0 : _e.scrollTop) !== null && _f !== void 0 ? _f : 0,\n noScroll: false,\n };\n const calculatedWidth = entry.width || 0;\n els.rgCol = {\n size: calculatedWidth,\n contentSize: this.contentWidth,\n scroll: this.horizontalScroll.scrollLeft,\n noScroll: this.colType !== 'rgCol',\n };\n this.setScrollParams({\n rgRow: calculatedHeight,\n rgCol: calculatedWidth,\n });\n // Process changes in order: width first, then height\n const dimensions = ['rgCol', 'rgRow'];\n for (const dimension of dimensions) {\n const item = els[dimension];\n if (!item)\n continue;\n this.resizeViewport.emit({\n dimension,\n size: item.size,\n rowHeader: this.rowHeader,\n });\n if (item.noScroll) {\n continue;\n }\n (_g = this.localScrollService) === null || _g === void 0 ? void 0 : _g.scroll((_h = item.scroll) !== null && _h !== void 0 ? _h : 0, dimension, true);\n // track scroll visibility on outer element change\n this.setScrollVisibility(dimension, item.size, item.contentSize);\n }\n }, [this.footer, this.header]);\n }\n /**\n * Check if scroll present or not per type\n * Trigger this method on inner content size change or on outer element size change\n * If inner content bigger then outer size then scroll is present and mousewheel binding required\n * @param type - dimension type 'rgRow/y' or 'rgCol/x'\n * @param size - outer content size\n * @param innerContentSize - inner content size\n */\n setScrollVisibility(type, size, innerContentSize) {\n // test if scroll present\n const hasScroll = size < innerContentSize;\n let el;\n // event reference for binding\n switch (type) {\n case 'rgCol':\n el = this.horizontalScroll;\n break;\n case 'rgRow':\n el = this.verticalScroll;\n break;\n }\n // based on scroll visibility assign or remove class and event\n if (hasScroll) {\n el === null || el === void 0 ? void 0 : el.classList.add(`scroll-${type}`);\n }\n else {\n el === null || el === void 0 ? void 0 : el.classList.remove(`scroll-${type}`);\n }\n this.scrollchange.emit({ type, hasScroll });\n }\n disconnectedCallback() {\n var _a;\n (_a = this.resizeService) === null || _a === void 0 ? void 0 : _a.destroy();\n }\n async componentDidRender() {\n var _a, _b, _c, _d;\n this.setScrollParams({\n rgRow: (_b = (_a = this.verticalScroll) === null || _a === void 0 ? void 0 : _a.clientHeight) !== null && _b !== void 0 ? _b : 0,\n rgCol: this.horizontalScroll.clientWidth,\n });\n this.setScrollVisibility('rgRow', (_d = (_c = this.verticalScroll) === null || _c === void 0 ? void 0 : _c.clientHeight) !== null && _d !== void 0 ? _d : 0, this.contentHeight);\n this.setScrollVisibility('rgCol', this.horizontalScroll.clientWidth, this.contentWidth);\n }\n setScrollParams(clientSize) {\n this.localScrollService.setParams({\n contentSize: this.contentHeight,\n clientSize: clientSize.rgRow,\n virtualSize: 0,\n }, 'rgRow');\n this.localScrollService.setParams({\n contentSize: this.contentWidth,\n clientSize: clientSize.rgCol,\n virtualSize: 0,\n }, 'rgCol');\n }\n render() {\n var _a, _b;\n const clientHeight = (_b = (_a = this.verticalScroll) === null || _a === void 0 ? void 0 : _a.clientHeight) !== null && _b !== void 0 ? _b : 0;\n // When content fits in the viewport (no scroll needed), don't inflate content-wrapper\n // to clientHeight — that would prevent inner-content-table from shrinking and push\n // rowPinEnd (footer) to the bottom instead of letting it follow the data rows.\n // For large/compressed grids (content > clientHeight), physicalContentHeight handles\n // the browser scroll-size compression correctly.\n const physicalContentHeight = this.contentHeight < clientHeight\n ? Math.max(this.contentHeight, 0)\n : getContentSize(this.contentHeight, clientHeight);\n const physicalContentWidth = getContentSize(this.contentWidth, 0);\n return (h(Host, { key: '3dd9d29cf26743d7aa4995f51180d56008526e54', onWheel: this.horizontalMouseWheel, onScroll: (e) => this.applyScroll('rgCol', e) }, h(\"div\", { key: 'af75428e845044c33eba2fecd1ec04a9177b9b5c', class: \"inner-content-table\", style: { width: `${physicalContentWidth}px` } }, h(\"div\", { key: 'a0149f597588371e1fafe69efc3bd4411379a017', class: \"header-wrapper\", ref: e => (this.header = e) }, h(\"slot\", { key: 'e5d2570bf93897cd97ef702141c83bb8c0e13ee2', name: HEADER_SLOT })), h(\"div\", { key: 'd1388ff0d721dd8ce925b934bb2128fddc1ac17b', class: \"vertical-inner\", ref: el => (this.verticalScroll = el), onWheel: this.verticalMouseWheel, onScroll: (e) => this.applyScroll('rgRow', e) }, h(\"div\", { key: 'a306ff56f62279402e2a881a081e3224341d5bdf', class: \"content-wrapper\", style: { height: `${physicalContentHeight}px` } }, h(\"slot\", { key: '898bda8e9429da06c9ff2bd41626ac27f3cde3cc', name: CONTENT_SLOT }))), h(\"div\", { key: '5e9eba1edd5fca07a964971054a7900e4dd84099', class: \"footer-wrapper\", ref: e => (this.footer = e) }, h(\"slot\", { key: 'f233ad1c23b3f692c45e1db235cfef4704a80726', name: FOOTER_SLOT })))));\n }\n /**\n * Extra layer for scroll event monitoring, where MouseWheel event is not passing\n * We need to trigger scroll event in case there is no mousewheel event\n */\n async applyScroll(type, e) {\n if (!(e.target instanceof HTMLElement)) {\n return;\n }\n let scroll = 0;\n switch (type) {\n case 'rgCol':\n scroll = e.target.scrollLeft;\n break;\n case 'rgRow':\n scroll = e.target.scrollTop;\n break;\n }\n // for mobile devices to skip negative scroll loop\n if (scroll < 0) {\n this.silentScroll.emit({ dimension: type, coordinate: scroll });\n return;\n }\n this.applyOnScroll(type, scroll);\n }\n /**\n * Applies change on scroll event only if mousewheel event happened some time ago\n */\n applyOnScroll(type, coordinate, outside = false) {\n const lastScrollUpdate = () => {\n var _a;\n (_a = this.localScrollService) === null || _a === void 0 ? void 0 : _a.scroll(coordinate, type, undefined, undefined, outside);\n this.localScrollTimer.setCoordinateFromScroll({ dimension: type, coordinate });\n };\n // apply after throttling\n if (this.localScrollTimer.isReady(type, coordinate)) {\n lastScrollUpdate();\n }\n else {\n this.localScrollTimer.throttleLastScrollUpdate(type, coordinate, () => lastScrollUpdate());\n }\n }\n /**\n * On vertical mousewheel event\n * @param type\n * @param delta\n * @param e\n */\n onVerticalMouseWheel(type, delta, e) {\n var _a, _b, _c, _d, _e, _f, _g, _h;\n const scrollTop = (_b = (_a = this.verticalScroll) === null || _a === void 0 ? void 0 : _a.scrollTop) !== null && _b !== void 0 ? _b : 0;\n const clientHeight = (_d = (_c = this.verticalScroll) === null || _c === void 0 ? void 0 : _c.clientHeight) !== null && _d !== void 0 ? _d : 0;\n const scrollHeight = (_f = (_e = this.verticalScroll) === null || _e === void 0 ? void 0 : _e.scrollHeight) !== null && _f !== void 0 ? _f : 0;\n // Detect if the user has reached the bottom\n const atBottom = scrollTop + clientHeight >= scrollHeight && e.deltaY > 0;\n const atTop = scrollTop === 0 && e.deltaY < 0;\n if (!atBottom && !atTop) {\n (_g = e.preventDefault) === null || _g === void 0 ? void 0 : _g.call(e);\n }\n const pos = scrollTop + e[delta];\n (_h = this.localScrollService) === null || _h === void 0 ? void 0 : _h.scroll(pos, type, undefined, e[delta]);\n this.localScrollTimer.latestScrollUpdate(type);\n }\n /**\n * On horizontal mousewheel event\n * @param type\n * @param delta\n * @param e\n */\n onHorizontalMouseWheel(type, delta, e) {\n var _a, _b, _c, _d;\n if (!e.deltaX) {\n return;\n }\n const { scrollLeft, scrollWidth, clientWidth } = this.horizontalScroll;\n // Detect if the user has reached the right end\n const atRight = scrollLeft + clientWidth >= scrollWidth && e.deltaX > 0;\n // Detect if the user has reached the left end\n const atLeft = scrollLeft === 0 && e.deltaX < 0;\n if (this.noHorizontalScrollTransfer) {\n if (!atRight && !atLeft) {\n const nextScrollLeft = scrollLeft + e[delta];\n (_a = e.preventDefault) === null || _a === void 0 ? void 0 : _a.call(e);\n this.horizontalScroll.scrollLeft = nextScrollLeft;\n (_b = this.localScrollService) === null || _b === void 0 ? void 0 : _b.scroll(this.horizontalScroll.scrollLeft, type, undefined, e[delta]);\n this.localScrollTimer.latestScrollUpdate(type);\n }\n return;\n }\n if (!atRight && !atLeft) {\n (_c = e.preventDefault) === null || _c === void 0 ? void 0 : _c.call(e);\n }\n const pos = scrollLeft + e[delta];\n (_d = this.localScrollService) === null || _d === void 0 ? void 0 : _d.scroll(pos, type, undefined, e[delta]);\n this.localScrollTimer.latestScrollUpdate(type);\n }\n get horizontalScroll() { return getElement(this); }\n};\nRevogrViewportScroll.style = revogrViewportScrollStyleCss();\n\nconst VNodeToHtml = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.html = createEvent(this, \"html\", 7);\n this.redraw = null;\n this.vnodes = [];\n }\n componentDidRender() {\n this.html.emit({\n html: this.el.innerHTML,\n vnodes: this.vnodes,\n });\n }\n render() {\n var _a, _b;\n this.vnodes = (_b = (_a = this.redraw) === null || _a === void 0 ? void 0 : _a.call(this)) !== null && _b !== void 0 ? _b : null;\n return (h(Host, { key: '11b76ca8a86ebf279add88bbd86ef9eb5149605a', style: { visibility: 'hidden', position: 'absolute' } }, this.vnodes));\n }\n get el() { return getElement(this); }\n};\n\nexport { RevogrData as revogr_data, RevogrHeaderComponent as revogr_header, RevogrViewportScroll as revogr_viewport_scroll, VNodeToHtml as vnode_html };\n"]}