@nebula.js/sn-waterfall 0.26.1 → 0.29.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/api-specifications/properties.json +1 -1
- package/core/esm/index.js +3 -981
- package/core/esm/index.js.map +1 -1
- package/dist/sn-waterfall.js +5 -983
- package/dist/sn-waterfall.js.map +1 -1
- package/package.json +2 -2
package/core/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../chart-modules/common/picasso/plugins/event-area.js","../../../../chart-modules/common/picasso/disclaimer/disclaimer-component.jsx","../../../../chart-modules/common/nebula/snapshot.js","../../src/object-properties.js","../../src/waterfallchart-data-definition.js","../../../../node_modules/qlik-object-conversion/dist/conversion.js","../../src/waterfallchart-import-export.js","../../src/waterfallchart-qae.js","../../../../node_modules/qlik-chart-modules/dist/qlik-chart-modules.esm.js","../../src/waterfallchart-utils.js","../../src/waterfallchart-properties.js","../../src/ext.js","../../../../chart-modules/common/extra/class.js","../../../../chart-modules/common/extra/generate-id.js","../../../../chart-modules/common/picasso/chart-builder/components/util/axis-dock-util.js","../../../../chart-modules/common/extra/rtl-util.js","../../../../chart-modules/common/picasso/chart-builder/components/util/ref-line-util.js","../../../../chart-modules/common/picasso/chart-builder/presets/dimension-measure-chart/constants.js","../../../../chart-modules/common/picasso/chart-builder/presets/dimension-measure-chart/layout-settings.js","../../../../chart-modules/common/picasso/chart-builder/presets/dimension-measure-chart/dimension-measure-chart.js","../../../../chart-modules/common/picasso/scroll/scroll-actions.js","../../../../chart-modules/common/picasso/chart-builder/scale.js","../../../../chart-modules/common/picasso/chart-builder/components/axis.js","../../../../chart-modules/common/picasso/chart-builder/components/text.js","../../../../chart-modules/common/picasso/chart-builder/components/util/range-util.js","../../../../chart-modules/common/picasso/chart-builder/layout-modes.js","../../../../chart-modules/common/picasso/chart-builder/components/labels.js","../../../../chart-modules/common/picasso/chart-builder/components/categorical-legend.js","../../../../chart-modules/common/picasso/chart-builder/chart-builder.js","../../../../chart-modules/common/picasso/chart-builder/components/box-marker.js","../../../../chart-modules/common/picasso/chart-builder/components/point-marker.js","../../../../chart-modules/common/picasso/chart-builder/components/scrollbar.js","../../../../chart-modules/common/picasso/chart-builder/components/lasso.js","../../../../chart-modules/common/picasso/chart-builder/components/range.js","../../../../chart-modules/common/picasso/chart-builder/components/range-area.js","../../../../chart-modules/common/picasso/chart-builder/components/sequential-legend.js","../../../../chart-modules/common/picasso/chart-builder/components/grid-line.js","../../../../chart-modules/common/picasso/chart-builder/components/interaction.js","../../../../chart-modules/common/picasso/chart-builder/components/ref-line.js","../../../../chart-modules/common/picasso/chart-builder/components/event-area.js","../../../../chart-modules/common/picasso/chart-builder/chart-presets.js","../../../../chart-modules/common/picasso/disclaimer/disclaimers-config.js","../../../../chart-modules/common/picasso/disclaimer/disclaimer-attributes-util.js","../../../../chart-modules/common/picasso/disclaimer/disclaimer-component-helper.js","../../../../chart-modules/common/picasso/disclaimer/disclaimer.js","../../../../chart-modules/common/picasso/chart-view.js","../../../../chart-modules/common/extra/css-colors.js","../../../../chart-modules/common/extra/color.js","../../../../chart-modules/common/extra/chart-style-utils.js","../../../../chart-modules/common/picasso/scroll/scroll-handler.js","../../../../chart-modules/common/picasso/selections/gestures/on-component-checker.js","../../../../chart-modules/common/picasso/selections/gestures/lasso-gesture.js","../../../../chart-modules/common/picasso/selections/gestures/measure-range-gesture.js","../../../../chart-modules/common/picasso/selections/gestures/area-range-gesture.js","../../../../chart-modules/common/picasso/selections/gestures/dimension-range-gesture.js","../../../../chart-modules/common/picasso/selections/gestures/drag-gesture.js","../../../../chart-modules/common/picasso/selections/gestures/navigational-button-gesture.js","../../../../chart-modules/common/picasso/selections/dependent-interactions.js","../../../../chart-modules/common/picasso/tooltip/tooltip-actions.js","../../../../chart-modules/common/picasso/formatting.js","../../../../chart-modules/common/picasso/tooltip/tooltip-content.js","../../../../chart-modules/common/picasso/tooltip/tooltips-component.js","../../../../chart-modules/common/picasso/tooltip/tooltip-renderer.jsx","../../../../chart-modules/common/picasso/tooltip/tooltips-handler.js","../../../../chart-modules/common/extra/string-util.js","../../src/waterfallchart-cube-generator-by-measures.js","../../../../node_modules/d3-array/src/ascending.js","../../../../node_modules/d3-array/src/bisect.js","../../../../node_modules/d3-array/src/bisector.js","../../../../node_modules/d3-array/src/ticks.js","../../../../node_modules/d3-scale/src/init.js","../../../../node_modules/d3-collection/src/map.js","../../../../node_modules/d3-collection/src/set.js","../../../../node_modules/d3-scale/src/array.js","../../../../node_modules/d3-color/src/define.js","../../../../node_modules/d3-color/src/color.js","../../../../node_modules/d3-interpolate/src/constant.js","../../../../node_modules/d3-interpolate/src/color.js","../../../../node_modules/d3-interpolate/src/rgb.js","../../../../node_modules/d3-interpolate/src/numberArray.js","../../../../node_modules/d3-interpolate/src/array.js","../../../../node_modules/d3-interpolate/src/date.js","../../../../node_modules/d3-interpolate/src/number.js","../../../../node_modules/d3-interpolate/src/object.js","../../../../node_modules/d3-interpolate/src/string.js","../../../../node_modules/d3-interpolate/src/value.js","../../../../node_modules/d3-interpolate/src/round.js","../../../../node_modules/d3-scale/src/number.js","../../../../node_modules/d3-scale/src/continuous.js","../../../../node_modules/d3-scale/src/constant.js","../../../../node_modules/d3-format/src/formatDecimal.js","../../../../node_modules/d3-format/src/exponent.js","../../../../node_modules/d3-format/src/formatSpecifier.js","../../../../node_modules/d3-format/src/formatPrefixAuto.js","../../../../node_modules/d3-format/src/formatRounded.js","../../../../node_modules/d3-format/src/formatTypes.js","../../../../node_modules/d3-format/src/identity.js","../../../../node_modules/d3-format/src/locale.js","../../../../node_modules/d3-format/src/defaultLocale.js","../../../../node_modules/d3-format/src/formatGroup.js","../../../../node_modules/d3-format/src/formatNumerals.js","../../../../node_modules/d3-format/src/formatTrim.js","../../../../node_modules/d3-scale/src/tickFormat.js","../../../../node_modules/d3-format/src/precisionPrefix.js","../../../../node_modules/d3-format/src/precisionRound.js","../../../../node_modules/d3-format/src/precisionFixed.js","../../../../node_modules/d3-scale/src/linear.js","../../src/waterfallchart-tick-generator.js","../../src/waterfallchart-view.js","../../src/index.js","../../../../chart-modules/common/locale/index.js","../../../../chart-modules/common/picasso/picasso-setup.js","../../../../chart-modules/common/nebula/use-environment.js","../../../../chart-modules/common/nebula/resize.js"],"sourcesContent":["export default function init(Picasso) {\n // Transparent component, placed on top of the data area and used to register event on\n Picasso.component('event-area', {\n mounted(element) {\n element.classList.add('event-area');\n element.style.pointerEvents = 'auto';\n element.style.zIndex = 1;\n },\n render() {\n const nodes = [];\n return nodes;\n },\n });\n}\n","/** @jsx h */\n\nfunction getStyle(dock, rect) {\n const style = {\n pointerEvents: 'auto',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n color: '#7b7a78',\n fontStyle: 'italic',\n fontSize: '13px',\n };\n\n switch (dock) {\n case 'left':\n style.width = `${rect.height}px`;\n style.transform = `rotate(-90deg) translate(-${rect.height}px, 0)`;\n style.transformOrigin = 'top left';\n break;\n\n case 'right':\n style.width = `${rect.height}px`;\n style.transform = `rotate(90deg) translate(0, -${rect.width}px)`;\n style.transformOrigin = 'top left';\n break;\n\n case 'center':\n style.width = `${rect.width}px`;\n style.height = `${rect.height}px`;\n style.color = '#595959';\n style.fontStyle = 'normal';\n style.fontSize = '1.2em';\n style.textAlign = 'center';\n break;\n\n default:\n case 'top':\n case 'bottom':\n style.justifyContent = 'flex-start';\n style.alignItems = 'flex-start';\n break;\n }\n return style;\n}\n\nexport default {\n renderer: 'dom',\n disableTriggers: true,\n preferredSize: function preferredSize() {\n return 22;\n },\n render(h) {\n const {\n settings: { label, rtl },\n layout: { dock },\n } = this.settings;\n const dir = (dock === 'top' || dock === 'bottom') && rtl ? 'rtl' : 'ltr';\n const style = getStyle(dock, this.rect);\n\n const modifiedLabel = dock === 'center' ? label : `* ${label}`;\n\n const spanStyle = dock !== 'center' ? { overflow: 'hidden', whiteSpace: 'nowrap', textOverflow: 'ellipsis' } : {};\n\n return (\n <div style={style} dir={dir}>\n <span ref={this.alignToRef} style={spanStyle} title={modifiedLabel}>\n {modifiedLabel}\n </span>\n </div>\n );\n },\n};\n","import { onTakeSnapshot, useImperativeHandle } from '@nebula.js/stardust';\n\nconst setupSnapshot = (chartInstance) => {\n onTakeSnapshot((layout) => {\n if (!chartInstance) {\n return undefined;\n }\n\n return chartInstance.setSnapshotData(layout);\n });\n\n useImperativeHandle(\n () => ({\n getViewState() {\n if (!chartInstance) {\n return undefined;\n }\n return chartInstance.getViewState();\n },\n }),\n [chartInstance]\n );\n};\n\nexport default setupSnapshot;\n","/**\n * Settings for subtotal\n * @typedef {object} subtotalProperties\n * @property {boolean} enable=false Option to add a subtotal after a measure.\n * @property {string} label='Subtotal' Label of the subtotal added after a measure.\n */\n\n/**\n * Extends `NxInlineMeasureDef`, see Engine API: `NxInlineMeasureDef`.\n * @typedef {object} InlineMeasureDef\n * @extends NxInlineMeasureDef\n * @property {subtotalProperties} subtotal subtotal settings.\n * @property {'NORMAL'|'INVERSE'|'SUBTOTAL'} valueType='NORMAL' Measure operation.\n */\n\n/**\n * Extends `NxMeasure`, see Engine API: `NxMeasure`.\n * @typedef {object} MeasureProperties\n * @extends NxMeasure\n * @property {InlineMeasureDef} qDef\n */\n\n/**\n * Field attributes structure.\n * @typedef {object} FieldAttributes\n * @property {string} dec - Defines the decimal separator.\n * @property {string} Fmt - Defines the format pattern that applies to qText.\n * @property {number} nDec - Number of decimals.\n * @property {string} Thou - Defines the thousand separator (if any).\n * @property {string} Type - Type of the field.\n * @property {number} UseThou - Defines whether or not a thousands separator must be used.\n */\n\n/**\n * Color information structure. Holds the actual color and index in palette.\n * @typedef {object} paletteColor\n * @property {string} color - Color as hex string (mandatory if index: -1)\n * @property {number} index - Index in palette\n */\n\n/**\n * Styling settings for reference line\n * @typedef {object} refLineStyle\n * @property {number} [lineThickness=2] Set the thickness for this reference line.\n * @property {string} [lineType=''] Set the dash type for this reference line.\n */\n\n/**\n * @typedef {object} refLine\n * @property {boolean|ValueExpression} show=true Set to true to display this reference line.\n * @property {string} label Reference line label.\n * @property {boolean} [showLabel=true] Set to true to show the label of this reference line.\n * @property {boolean} [showValue=true] Set to true to show the value of this reference line.\n * @property {paletteColor} paletteColor\n * @property {refLineStyle} [style] - Styling settings for reference line\n * @property {boolean} [coloredBackground=false] Set to true to fill the label and/or value of this reference line with this color\n */\n\n/**\n * @namespace properties\n * @entry\n */\n\nconst properties = {\n /**\n * Current version of this generic object definition.\n * @type {string}\n * @default\n */\n version: process.env.PACKAGE_VERSION,\n\n /**\n * Extends `HyperCubeDef`, see Engine API: `HyperCubeDef`.\n * @extends {HyperCubeDef}\n */\n qHyperCubeDef: {\n qDimensions: [],\n /** @type {MeasureProperties[]} */\n qMeasures: [],\n qMode: 'S',\n qInitialDataFetch: [{ qWidth: 200, qHeight: 10 }],\n qSuppressMissing: true,\n },\n /**\n * Color settings.\n * Most color options for visualizations are set in the color object in the options. You activate custom coloring by setting `\"auto\": false` which turns off auto-coloring.\n * If `\"auto\": true`, no other properties need to be defined in the color object.\n * Note: Some of the color properties are depending on which theme is currently being used.\n * @type {object}\n */\n color: {\n /**\n * Set to use automatic coloring.\n * When `\"auto\": true`, color settings are based on the visualization used and the number of dimensions\n * and measures, that is, the settings are not fixed, but are dependent on the data input.\n * @type {boolean}\n * @default\n */\n auto: true,\n /**\n * Positive value color.\n * @type {object}\n */\n positiveValue: {\n /**\n * paletteColor\n * @type {paletteColor}\n * @default { index: 6, color: null }\n */\n paletteColor: {\n index: 6,\n color: null,\n },\n },\n /**\n * Negative value color.\n * @type {object}\n */\n negativeValue: {\n /**\n * paletteColor\n * @type {paletteColor}\n * @default { index: -1, color: '#cc6677' }\n */\n paletteColor: {\n index: -1,\n color: '#cc6677',\n },\n },\n /**\n * Subtotal value color.\n * @type {object}\n */\n subtotal: {\n /**\n * paletteColor\n * @type {paletteColor}\n * @default { index: -1, color: '#c3c3c3' }\n */\n paletteColor: {\n index: -1,\n color: '#c3c3c3',\n },\n },\n },\n /**\n * Data point.\n * @type {object}\n */\n dataPoint: {\n /**\n * Show labels.\n * @type {boolean}\n * @default\n */\n showLabels: true,\n },\n /**\n * Dimension axis settings.\n * @type {object}\n */\n dimensionAxis: {\n /**\n * Axis docking position\n * @type {'near'|'far'}\n * @default \"near\"\n */\n dock: 'near',\n /**\n * Label orientation\n * @type {'auto'|'horizontal'|'tilted'}\n */\n label: 'auto',\n /**\n * Labels and title\n * @type {'labels'|'none'}\n * @default\n */\n show: 'labels',\n },\n /**\n * Grid lines settings.\n * @type {object}\n */\n gridlines: {\n /**\n * Automatic grid line spacing.\n * @type {boolean}\n * @default\n */\n auto: true,\n /**\n * Grid line spacing. Used only when auto is set to false.\n * @type {0|2|3}\n * @default\n */\n spacing: 2,\n },\n /**\n * Legend settings.\n * @type {object}\n */\n legend: {\n /**\n * Sets the legend position.\n * @type {'auto'|'right'|'left'|'bottom'|'top'}\n * @default 'auto'\n */\n dock: 'auto',\n /**\n * Set to show the legend.\n * @type {boolean}\n * @default\n */\n show: true,\n },\n /**\n * Measure axis settings.\n * @type {object}\n */\n measureAxis: {\n /**\n * Automatic max/min\n * @type {boolean}\n * @default\n */\n autoMinMax: true,\n /**\n * Axis docking position\n * @type {'near'|'far'}\n * @default \"near\"\n */\n dock: 'near',\n /**\n * Axis max value. `\"autoMinMax\"` must be set to false and `\"minMax\"`\n * must be set to `\"max\"` or `\"minMax\"` to use this property\n * @type {number|ValueExpression}\n * @default\n */\n max: 10,\n /**\n * Axis min value. `\"autoMinMax\"` must be set to false and `\"minMax\"`\n * must be set to `\"min\"` or `\"minMax\"` to use this property\n * @type {number|ValueExpression}\n * @default\n */\n min: 0,\n /**\n * Set custom max/min\n * @type {'min'|'max'|'minMax'}\n * @default \"min\"\n */\n minMax: 'min',\n /**\n * Labels and title\n * @type {'labels'|'none'}\n * @default \"labels\"\n */\n show: 'labels',\n /**\n * Axis scale\n * @type {number}\n * @default\n */\n spacing: 1,\n },\n qDef: {\n /**\n * see Engine API: `FieldAttributes`.\n * @type {FieldAttributes=}\n */\n qNumFormat: {},\n /**\n * When enabled, the number format to use can be selected from multiple predefined formats based on the desired type (number, date).\n * @type {boolean}\n * @default\n */\n numFormatFromTemplate: true,\n /**\n * If true, the client formatting will be toggled off.\n * @type {boolean}\n * @default\n */\n isCustomFormatted: false,\n },\n /**\n * Reference lines settings\n * @type {object}\n */\n refLine: {\n /**\n * Array of measure based reference line definitions\n * @type {refLine[]}\n */\n refLines: [],\n },\n /**\n * Show title for the visualization.\n * @type {boolean=}\n * @default\n */\n showTitles: true,\n /**\n * Visualization subtitle.\n * @type {(string|StringExpression)=}\n * @default\n */\n subtitle: '',\n /**\n * Visualization title.\n * @type {(string|StringExpression)=}\n * @default\n */\n title: '',\n /**\n * Visualization footnote.\n * @type {(string|StringExpression)=}\n * @default\n */\n footnote: '',\n};\n\nexport default properties;\n","export default function data(env) {\n const { translator } = env;\n\n const dimensions = {\n min: 0,\n max: 0,\n };\n const measures = {\n min: 1,\n max: 50,\n description() {\n return translator.get('Visualizations.Descriptions.Bars');\n },\n };\n return {\n path: '/qHyperCubeDef',\n dimensions,\n measures,\n };\n}\n","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"conversion\"] = factory();\n\telse\n\t\troot[\"conversion\"] = factory();\n})(window, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/conversion/\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = \"./index.js\");\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ \"../node_modules/extend/index.js\":\n/*!***************************************!*\\\n !*** ../node_modules/extend/index.js ***!\n \\***************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar hasOwn = Object.prototype.hasOwnProperty;\nvar toStr = Object.prototype.toString;\nvar defineProperty = Object.defineProperty;\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nvar isArray = function isArray(arr) {\n\tif (typeof Array.isArray === 'function') {\n\t\treturn Array.isArray(arr);\n\t}\n\n\treturn toStr.call(arr) === '[object Array]';\n};\n\nvar isPlainObject = function isPlainObject(obj) {\n\tif (!obj || toStr.call(obj) !== '[object Object]') {\n\t\treturn false;\n\t}\n\n\tvar hasOwnConstructor = hasOwn.call(obj, 'constructor');\n\tvar hasIsPrototypeOf = obj.constructor && obj.constructor.prototype && hasOwn.call(obj.constructor.prototype, 'isPrototypeOf');\n\t// Not own constructor property must be Object\n\tif (obj.constructor && !hasOwnConstructor && !hasIsPrototypeOf) {\n\t\treturn false;\n\t}\n\n\t// Own properties are enumerated firstly, so to speed up,\n\t// if last one is own, then all properties are own.\n\tvar key;\n\tfor (key in obj) { /**/ }\n\n\treturn typeof key === 'undefined' || hasOwn.call(obj, key);\n};\n\n// If name is '__proto__', and Object.defineProperty is available, define __proto__ as an own property on target\nvar setProperty = function setProperty(target, options) {\n\tif (defineProperty && options.name === '__proto__') {\n\t\tdefineProperty(target, options.name, {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\tvalue: options.newValue,\n\t\t\twritable: true\n\t\t});\n\t} else {\n\t\ttarget[options.name] = options.newValue;\n\t}\n};\n\n// Return undefined instead of __proto__ if '__proto__' is not an own property\nvar getProperty = function getProperty(obj, name) {\n\tif (name === '__proto__') {\n\t\tif (!hasOwn.call(obj, name)) {\n\t\t\treturn void 0;\n\t\t} else if (gOPD) {\n\t\t\t// In early versions of node, obj['__proto__'] is buggy when obj has\n\t\t\t// __proto__ as an own property. Object.getOwnPropertyDescriptor() works.\n\t\t\treturn gOPD(obj, name).value;\n\t\t}\n\t}\n\n\treturn obj[name];\n};\n\nmodule.exports = function extend() {\n\tvar options, name, src, copy, copyIsArray, clone;\n\tvar target = arguments[0];\n\tvar i = 1;\n\tvar length = arguments.length;\n\tvar deep = false;\n\n\t// Handle a deep copy situation\n\tif (typeof target === 'boolean') {\n\t\tdeep = target;\n\t\ttarget = arguments[1] || {};\n\t\t// skip the boolean and the target\n\t\ti = 2;\n\t}\n\tif (target == null || (typeof target !== 'object' && typeof target !== 'function')) {\n\t\ttarget = {};\n\t}\n\n\tfor (; i < length; ++i) {\n\t\toptions = arguments[i];\n\t\t// Only deal with non-null/undefined values\n\t\tif (options != null) {\n\t\t\t// Extend the base object\n\t\t\tfor (name in options) {\n\t\t\t\tsrc = getProperty(target, name);\n\t\t\t\tcopy = getProperty(options, name);\n\n\t\t\t\t// Prevent never-ending loop\n\t\t\t\tif (target !== copy) {\n\t\t\t\t\t// Recurse if we're merging plain objects or arrays\n\t\t\t\t\tif (deep && copy && (isPlainObject(copy) || (copyIsArray = isArray(copy)))) {\n\t\t\t\t\t\tif (copyIsArray) {\n\t\t\t\t\t\t\tcopyIsArray = false;\n\t\t\t\t\t\t\tclone = src && isArray(src) ? src : [];\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tclone = src && isPlainObject(src) ? src : {};\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Never move original objects, clone them\n\t\t\t\t\t\tsetProperty(target, { name: name, newValue: extend(deep, clone, copy) });\n\n\t\t\t\t\t// Don't bring in undefined values\n\t\t\t\t\t} else if (typeof copy !== 'undefined') {\n\t\t\t\t\t\tsetProperty(target, { name: name, newValue: copy });\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Return the modified object\n\treturn target;\n};\n\n\n/***/ }),\n\n/***/ \"../node_modules/qlik-modifiers/dist/qlik-modifiers.js\":\n/*!*************************************************************!*\\\n !*** ../node_modules/qlik-modifiers/dist/qlik-modifiers.js ***!\n \\*************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n!function(e,r){ true?module.exports=r():undefined}(window,function(){return function(e){var r={};function n(i){if(r[i])return r[i].exports;var t=r[i]={i:i,l:!1,exports:{}};return e[i].call(t.exports,t,t.exports,n),t.l=!0,t.exports}return n.m=e,n.c=r,n.d=function(e,r,i){n.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:i})},n.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},n.t=function(e,r){if(1&r&&(e=n(e)),8&r)return e;if(4&r&&\"object\"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,\"default\",{enumerable:!0,value:e}),2&r&&\"string\"!=typeof e)for(var t in e)n.d(i,t,function(r){return e[r]}.bind(null,t));return i},n.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(r,\"a\",r),r},n.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},n.p=\"/qlik-modifiers/\",n(n.s=1)}([function(e,r,n){\"use strict\";var i=Object.prototype.hasOwnProperty,t=Object.prototype.toString,o=Object.defineProperty,s=Object.getOwnPropertyDescriptor,a=function(e){return\"function\"==typeof Array.isArray?Array.isArray(e):\"[object Array]\"===t.call(e)},u=function(e){if(!e||\"[object Object]\"!==t.call(e))return!1;var r,n=i.call(e,\"constructor\"),o=e.constructor&&e.constructor.prototype&&i.call(e.constructor.prototype,\"isPrototypeOf\");if(e.constructor&&!n&&!o)return!1;for(r in e);return void 0===r||i.call(e,r)},l=function(e,r){o&&\"__proto__\"===r.name?o(e,r.name,{enumerable:!0,configurable:!0,value:r.newValue,writable:!0}):e[r.name]=r.newValue},c=function(e,r){if(\"__proto__\"===r){if(!i.call(e,r))return;if(s)return s(e,r).value}return e[r]};e.exports=function e(){var r,n,i,t,o,s,p=arguments[0],f=1,m=arguments.length,d=!1;for(\"boolean\"==typeof p&&(d=p,p=arguments[1]||{},f=2),(null==p||\"object\"!=typeof p&&\"function\"!=typeof p)&&(p={});f<m;++f)if(null!=(r=arguments[f]))for(n in r)i=c(p,n),p!==(t=c(r,n))&&(d&&t&&(u(t)||(o=a(t)))?(o?(o=!1,s=i&&a(i)?i:[]):s=i&&u(i)?i:{},l(p,{name:n,newValue:e(d,s,t)})):void 0!==t&&l(p,{name:n,newValue:t}));return p}},function(e,r,n){\"use strict\";n.r(r);var i=n(0),t=n.n(i),o={setValue:function(e,r,n){if(!r)return!1;var i,t=r.split(\".\"),o=t[t.length-1],s=e;for(i=0;i<t.length-1;++i)void 0===s[t[i]]&&(s[t[i]]=Number.isNaN(+t[i+1])?{}:[]),s=s[t[i]];if(void 0!==n){var a=s[o];return s[o]=n,{updated:n,previous:a}}return delete s[o],!1},getValue:function(e,r,n){var i,t=r.split(\".\"),o=e;if(void 0===o)return n;for(i=0;i<t.length;++i){if(void 0===o[t[i]])return n;o=o[t[i]]}return o}},s=\"\".concat(\" \",\"(\").concat(\" \"),a=\"\".concat(\" \",\")\").concat(\" \");function u(e){return s+e+a}function l(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(e.qLibraryId){var n=function(e,r){if(!r)return null;var n,i;for(n=0;n<r.length;n++)if((i=r[n]).qInfo.qId===e)return i;return null}(e.qLibraryId,r.dimensionList);return n&&n.qData.info[0].qTags.indexOf(\"$numeric\")>-1}var i=function(e,r){if(!r)return null;var n,i,t=function(e){var r=e.trim();\"=\"===r.charAt(0)&&(r=(r=r.substring(1)).trim());var n=r.length-1;return\"[\"===r.charAt(0)&&\"]\"===r.charAt(n)&&(r=(r=r.substring(1,n)).trim()),r}(e);for(n=0;n<r.length;n++){if((i=r[n]).qName===t)return i;if(i.qDerivedFieldData)for(var o=0;o<i.qDerivedFieldData.qDerivedFieldLists.length;++o)for(var s=i.qDerivedFieldData.qDerivedFieldLists[o],a=0;a<s.qFieldDefs.length;++a){var u=s.qFieldDefs[a];if(u.qName===t)return u}}return null}(e.qDef.qFieldDefs[0],r.fieldList);return i&&i.qTags.indexOf(\"$numeric\")>-1}function c(e){return!(!e.fullAccumulation&&!e.fullRange)}function p(e,r){var n=e.crossAllDimensions;return 2===r&&n?\"RowNo(Total)\":\"RowNo()\"}function f(e){var r=function(e){return e?(e=function(e){return e.replace(/\\/\\*[^]*?\\*\\//g,\"\")}(e=function(e){return e.replace(/\\/\\/(.*)$/gm,\"\")}(e))).trim():\"\"}(e).trim();return\"=\"===r.substring(0,1)?r.substring(1).trim():r}function m(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return\"[$(=Replace(GetObjectField(\".concat(e,\"),']',']]'))]\")}function d(e,r){var n=e.crossAllDimensions;return 2===r&&n?\"Above(Total \":\"Above(\"}function y(e){return void 0===e?\")\":\", 0, \".concat(e,\")\")}function g(e,r){return e?\"\".concat(r,'={\">=$(=Min(').concat(r,\"))<=$(=Max(\").concat(r,'))\"}'):\"\".concat(r,'={\"=Only({1}').concat(r,\")>='$(=MinString(\").concat(r,\"))' and Only({1}\").concat(r,\")<='$(=MaxString(\").concat(r,\"))'\\\"}\")}function b(e){var r=e.modifier,n=void 0===r?{}:r,i=e.dimensions,t=e.dimensionAndFieldList,o=e.funcComp,s=void 0===o?\"Sum\":o,a=e.valueComp,u=void 0===a?\"0\":a;if(!n.showExcludedValues)return\"\";if(i&&1===i.length){var c=g(l(i[0],t),m(0));return\"\".concat(s,\"({1<\").concat(c,\">}\").concat(u,\")\")}if(i&&2===i.length){var p=l(i[0],t),f=l(i[1],t),d=m(0),y=m(1),b=g(p,d),v=g(f,y);return\"\".concat(s,\"({1<\").concat(b,\",\").concat(v,\">}\").concat(u,\")\")}return\"\".concat(s,\"({1}\").concat(u,\")\")}function v(e){return\"\".concat(e,\"(\")}function D(){return\")\"}function q(e){var r=e.properties,n=e.layout;return o.getValue(r,\"qHyperCubeDef.qDimensions\",o.getValue(n,\"qHyperCube.qDimensionInfo\",[])).length}var h={isFullRange:c,getNumDimensions:q,getExpressionWithExcludedComp:function(e){var r=e.expression,n=e.modifier,i=e.dimensions,t=e.dimensionAndFieldList,o=e.treatMissingAsNull,s=u(f(r));if(!n.showExcludedValues)return s;var a=b({modifier:n,dimensions:i,dimensionAndFieldList:t}),l=o?\"\":\", 0\";if(i&&1===i.length){var c=m(0);return\"If(Count(\".concat(c,\") > 0, \").concat(s,\" + \").concat(a).concat(l,\")\")}if(i&&2===i.length){var p=m(0),d=m(1);return\"If(Count(\".concat(p,\") * Count(\").concat(d,\") > 0, \").concat(s,\" + \").concat(a).concat(l,\")\")}return s},getRowNoComp:p,getNumStepComp:function(e,r){if(!c(e)){var n=e.steps;return\"number\"!=typeof n||Number.isNaN(n)?6:n}return p(e,r)},getAboveCompPrefix:d,getAboveCompSuffix:y,getAboveComp:function(e,r,n,i){return d(e,r)+n+y(i)},getFunctionPrefix:v,getFunctionSuffix:D,getRangeComp:function(e,r){return v(e)+r+\")\"},getAggrComp:function(e,r,n){return\"Aggr(\".concat(e,\", \").concat(r,\", \").concat(n,\")\")},getExcludedComp:b,needDimension:function(e){var r=e.modifier,n=e.properties,i=e.layout;return 0===function(e){return void 0===e.primaryDimension?e.accumulationDimension:e.primaryDimension}(r)&&2===q({properties:n,layout:i})},getDimComp:function(e,r){var n=function(e){return e[arguments.length>1&&void 0!==arguments[1]?arguments[1]:0].qDef.qSortCriterias[0]}(e,r),i=m(r);if(!n.qSortByExpression&&!n.qSortByNumeric&&!n.qSortByAscii)return i;var t=[\"Descending\",\"Ascending\"],o=n.qSortByNumeric?\"(Numeric, \".concat(t[(n.qSortByNumeric+1)/2],\")\"):\"\",s=n.qSortByAscii?\"(Text, \".concat(t[(n.qSortByAscii+1)/2],\")\"):\"\";return n.qSortByNumeric&&n.qSortByAscii?\"(\".concat(i,\", \").concat(o,\", \").concat(s,\")\"):n.qSortByNumeric?\"(\".concat(i,\", \").concat(o,\")\"):n.qSortByAscii?\"(\".concat(i,\", \").concat(s,\")\"):i},simplifyExpression:f,extractInputExpression:function(e){var r=e.outputExpression;if(e.modifier){var n=r.indexOf(s);if(-1!==n){var i=r.indexOf(a);if(-1!==i)return r.substring(n+s.length,i)}}},initModifier:function(e,r){Object.keys(r).forEach(function(n){void 0===e[n]&&(e[n]=r[n])})},isNumeric:l,isApplicable:function(e){var r=e.properties,n=e.layout,i=e.minDimensions,t=void 0===i?1:i,o=e.maxDimensions,s=void 0===o?2:o;if(!r&&!n)return!0;var a=q({properties:r,layout:n});return a>=t&&a<=s},getExpressionWithMarkers:u,canExtract:function(e){var r=e.indexOf(s),n=e.indexOf(a);return r>-1&&n>-1&&r<n},getDimDefWithWrapper:m,getFieldWithWrapper:function(e){var r=e?e.replace(/]/g,\"]]\"):e;return\"[\".concat(r,\"]\")}};function E(e){return function(e){if(Array.isArray(e)){for(var r=0,n=new Array(e.length);r<e.length;r++)n[r]=e[r];return n}}(e)||function(e){if(Symbol.iterator in Object(e)||\"[object Arguments]\"===Object.prototype.toString.call(e))return Array.from(e)}(e)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance\")}()}function A(e){return(A=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}var I=t.a.bind(null,!0),S={},x=Array.isArray;function L(e){return null!=e&&!Array.isArray(e)&&\"object\"===A(e)}function V(e){return void 0===e}function N(e,r){return\"function\"==typeof e[r]||\"$$\"===r.substring(0,2)||\"_\"===r.substring(0,1)}function C(e,r){var n,i=r.substring(1).split(\"/\").slice(0,-1);return i.forEach(function(r,t){if(t!==i.length){n=+r;var o=Number.isNaN(n)?{}:[];e[n||r]=V(e[n||r])?o:e[r],e=e[n||r]}}),e}function F(e,r){var n=!0;if(L(e)&&L(r))return Object.keys(e).length===Object.keys(r).length&&(Object.keys(e).forEach(function(i){F(e[i],r[i])||(n=!1)}),n);if(x(e)&&x(r)){if(e.length!==r.length)return!1;for(var i=0,t=e.length;i<t;i+=1)if(!F(e[i],r[i]))return!1;return!0}return e===r}S.generate=function(e,r,n){n=n||\"\";var i=[];return Object.keys(r).forEach(function(t){var o=function(e){return e?I({},{val:e}).val:e}(r[t]),s=e[t],a=\"\".concat(n,\"/\").concat(t);F(o,s)||N(r,t)||(V(s)?i.push({op:\"add\",path:a,value:o}):L(o)&&L(s)?i=i.concat(S.generate(s,o,a)):x(o)&&x(s)?i=i.concat(function(e,r,n){var i=[],t=e.slice(),o=-1;function s(e,r,n){if(e[n]&&V(e[n].qInfo))return null;if(e[n]&&e[n].qInfo.qId===r)return n;for(var i=0,t=e.length;i<t;i+=1)if(e[i]&&e[i].qInfo.qId===r)return i;return-1}if(F(r,t))return i;if(!V(r[0])&&V(r[0].qInfo))return i.push({op:\"replace\",path:n,value:r}),i;for(var a=t.length-1;a>=0;a-=1)-1===(o=s(r,t[a].qInfo&&t[a].qInfo.qId,a))?(i.push({op:\"remove\",path:\"\".concat(n,\"/\").concat(a)}),t.splice(a,1)):i=i.concat(S.generate(t[a],r[o],\"\".concat(n,\"/\").concat(a)));for(var u=0,l=r.length;u<l;u+=1)-1===(o=s(t,r[u].qInfo&&r[u].qInfo.qId))?(i.push({op:\"add\",path:\"\".concat(n,\"/\").concat(u),value:r[u]}),t.splice(u,0,r[u])):o!==u&&(i.push({op:\"move\",path:\"\".concat(n,\"/\").concat(u),from:\"\".concat(n,\"/\").concat(o)}),t.splice(u,0,t.splice(o,1)[0]));return i}(s,o,a)):i.push({op:\"replace\",path:\"\".concat(n,\"/\").concat(t),value:o}))}),Object.keys(e).forEach(function(t){V(r[t])&&!N(e,t)&&i.push({op:\"remove\",path:\"\".concat(n,\"/\").concat(t)})}),i},S.apply=function(e,r){r.forEach(function(r){var n,i=C(e,r.path),t=r.path.split(\"/\").splice(-1)[0],o=t&&Number.isNaN(+t)?i[t]:i[+t]||i,s=r.from?r.from.split(\"/\").splice(-1)[0]:null;if(\"/\"===r.path&&(i=null,o=e),\"add\"===r.op||\"replace\"===r.op)if(x(i))\"-\"===t&&(t=i.length),i.splice(+t,\"add\"===r.op?0:1,r.value);else if(x(o)&&x(r.value)){var a,u=r.value.slice();o.length=0,(a=o).push.apply(a,E(u))}else if(L(o)&&L(r.value))n=o,Object.keys(n).forEach(function(e){Object.getOwnPropertyDescriptor(n,e).configurable&&!N(n,e)&&delete n[e]}),I(o,r.value);else{if(!i)throw new Error(\"Patchee is not an object we can patch\");i[t]=r.value}else if(\"move\"===r.op){var l=C(e,r.from);x(i)?i.splice(+t,0,l.splice(+s,1)[0]):(i[t]=l[s],delete l[s])}else\"remove\"===r.op&&(x(i)?i.splice(+t,1):delete i[t])})},S.clone=function(e){return I({},e)},S.createPatch=function(e,r,n){var i={op:e.toLowerCase(),path:n};return\"move\"===i.op?i.from=r:void 0!==r&&(i.value=r),i},S.updateObject=function(e,r){Object.keys(e).length?S.apply(e,S.generate(e,r)):I(e,r)};var O=S,w={saveSoftProperties:function(e,r,n){if(!e)return Promise.resolve();var i=O.generate(r,n);return t()(!0,r,n),i&&i.length?(i=i.map(function(e){return{qOp:e.op,qValue:JSON.stringify(e.value),qPath:e.path}}),e.applyPatches(i,!0)):Promise.resolve()}},M=\"accumulation\";function T(e,r){var n=o.getValue(e,r);if(n)for(var i=0;i<n.length;i++)if(n[i].type===M)return n[i]}function P(e,r){var n=function(e,r){var n=o.getValue(e,r);if(!n)return-1;for(var i=0;i<n.length;i++)if(n[i].type===M)return i;return-1}(e,r);return n>-1?\"\".concat(r,\".\").concat(n):r}var j={type:\"accumulation\",disabled:!1,accumulationDimension:0,crossAllDimensions:!1,showExcludedValues:!0,fullAccumulation:!1,steps:6,outputExpression:\"\"},R={translationKey:\"properties.modifier.accumulation\",needDimension:h.needDimension,isApplicable:function(e){var r=e.properties,n=e.layout;return h.isApplicable({properties:r,layout:n,minDimensions:1,maxDimensions:2})},generateExpression:function(e){var r=e.expression,n=e.modifier,i=e.properties,t=e.layout,s=e.numDimensions,a=e.dimensionAndFieldList;if(!n)return r;var u=s;void 0===u&&(u=h.getNumDimensions({properties:i,layout:t}));var l=o.getValue(i,\"qHyperCubeDef.qDimensions\",[]),c=h.getExpressionWithExcludedComp({expression:r,modifier:n,dimensions:l,dimensionAndFieldList:a}),p=h.getNumStepComp(n,u),f=h.getAboveComp(n,u,c,p),m=h.getRangeComp(\"RangeSum\",f);if(h.needDimension({modifier:n,properties:i,layout:t})){var d=h.getDimComp(l,1),y=h.getDimComp(l,0),g=h.getAggrComp(m,d,y);m=n.showExcludedValues?h.getExcludedComp({modifier:n,dimensions:l,dimensionAndFieldList:a,valueComp:g}):g}return m},extractInputExpression:h.extractInputExpression,initModifier:function(e){h.initModifier(e,j)},enableTotalsFunction:function(){return!1},propertyPanelDef:function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n={type:\"items\",items:{disclaimer:{component:\"text\",translation:r.disclaimer||\"properties.modifier.accumulation.disclaimer\",show:function(e,r){return!h.isApplicable({properties:r.properties})}},settings:{type:\"items\",items:{primaryDimension:{refFn:function(r){return\"\".concat(P(r,e),\".accumulationDimension\")},type:\"integer\",translation:r.primaryDimension||\"properties.modifier.primaryDimension\",title:{translation:r.primaryDimensionTooltip||\"properties.modifier.accumulation.primaryDimension.tooltip\"},component:\"dropdown\",schemaIgnore:!0,defaultValue:1,options:function(e,r){return r.layout.qHyperCube.qDimensionInfo.map(function(e,r){return{value:r,label:e.qGroupFallbackTitles[0]}})},show:function(e,r){return r.layout.qHyperCube.qDimensionInfo.length>1}},crossAllDimensions:{refFn:function(r){return\"\".concat(P(r,e),\".crossAllDimensions\")},type:\"boolean\",translation:r.crossAllDimensions||\"properties.modifier.crossAllDimensions\",title:{translation:r.crossAllDimensionsTooltip||\"properties.modifier.accumulation.crossAllDimensions.tooltip\"},schemaIgnore:!0,defaultValue:!1,show:function(e,r){return r.layout.qHyperCube.qDimensionInfo.length>1}},fullRange:{refFn:function(r){return\"\".concat(P(r,e),\".fullAccumulation\")},type:\"boolean\",translation:r.range||\"properties.modifier.range\",component:\"dropdown\",schemaIgnore:!0,defaultValue:!1,options:[{value:!0,translation:r.rangeFull||\"properties.modifier.range.full\"},{value:!1,translation:r.rangeCustom||\"properties.modifier.range.custom\"}]},steps:{refFn:function(r){return\"\".concat(P(r,e),\".steps\")},type:\"integer\",translation:r.rangeSteps||\"properties.modifier.range.steps\",schemaIgnore:!0,defaultValue:6,change:function(r){var n=T(r,e);if(n){var i=n.steps;n.steps=\"number\"!=typeof i||Number.isNaN(i)?6:Math.abs(i)}},show:function(r){var n=T(r,e);return n&&!n.fullAccumulation}},showExcludedValues:{refFn:function(r){return\"\".concat(P(r,e),\".showExcludedValues\")},type:\"boolean\",translation:r.showExcludedValues||\"properties.modifier.showExcludedValues\",schemaIgnore:!0,defaultValue:!0}},show:function(e,r){return h.isApplicable({properties:r.properties})}}},show:function(r,n,i){var t=i.ext.support.modifiers;if(!(Array.isArray(t)&&-1!==t.indexOf(M)))return!1;var o=T(r,e);return o&&!o.disabled}};return n}},_=\"movingAverage\";function H(e,r){var n=o.getValue(e,r);if(n)for(var i=0;i<n.length;i++)if(n[i].type===_)return n[i]}function k(e,r){var n=function(e,r){var n=o.getValue(e,r);if(!n)return-1;for(var i=0;i<n.length;i++)if(n[i].type===_)return i;return-1}(e,r);return n>-1?\"\".concat(r,\".\").concat(n):r}var B={type:\"movingAverage\",disabled:!1,primaryDimension:0,crossAllDimensions:!1,showExcludedValues:!0,fullRange:!1,steps:6,outputExpression:\"\",nullSuppression:!1};var W={translationKey:\"properties.modifier.movingAverage\",needDimension:h.needDimension,isApplicable:function(e){var r=e.properties,n=e.layout;return h.isApplicable({properties:r,layout:n,minDimensions:1,maxDimensions:2})},generateExpression:function(e){var r,n=e.expression,i=e.modifier,t=e.properties,s=e.layout,a=e.numDimensions,u=e.dimensionAndFieldList;if(!i)return n;var l=a;void 0===l&&(l=h.getNumDimensions({properties:t,layout:s}));var c=o.getValue(t,\"qHyperCubeDef.qDimensions\",[]),p=i.showExcludedValues&&i.nullSuppression,f=h.getExpressionWithExcludedComp({expression:n,modifier:i,dimensions:c,dimensionAndFieldList:u,treatMissingAsNull:p}),m=h.getNumStepComp(i,l),d=h.getAboveComp(i,l,f,m);if(i.nullSuppression)r=h.getRangeComp(\"RangeAvg\",d);else{var y=h.getRangeComp(\"RangeSum\",d),g=function(e,r){var n=h.getRowNoComp(e,r);if(!h.isFullRange(e)){var i=e.steps,t=\"number\"!=typeof i||Number.isNaN(i)?6:i;return\"RangeMin(\".concat(t,\", \").concat(n,\")\")}return n}(i,l);r=\"\".concat(y,\" / \").concat(g)}var b=r;if(h.needDimension({modifier:i,properties:t,layout:s})){var v=h.getDimComp(c,1),D=h.getDimComp(c,0),q=h.getAggrComp(b,v,D);b=i.showExcludedValues?h.getExcludedComp({modifier:i,dimensions:c,dimensionAndFieldList:u,funcComp:\"Only\",valueComp:q}):q}return b},extractInputExpression:h.extractInputExpression,initModifier:function(e){h.initModifier(e,B)},enableTotalsFunction:function(){return!1},propertyPanelDef:function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n={type:\"items\",items:{disclaimer:{component:\"text\",translation:r.disclaimer||\"properties.modifier.movingAverage.disclaimer\",show:function(e,r){return!h.isApplicable({properties:r.properties})}},settings:{type:\"items\",items:{primaryDimension:{refFn:function(r){return\"\".concat(k(r,e),\".primaryDimension\")},type:\"integer\",translation:r.primaryDimension||\"properties.modifier.primaryDimension\",title:{translation:r.primaryDimensionTooltip||\"properties.modifier.movingAverage.primaryDimension.tooltip\"},component:\"dropdown\",schemaIgnore:!0,defaultValue:1,options:function(e,r){return r.layout.qHyperCube.qDimensionInfo.map(function(e,r){return{value:r,label:e.qGroupFallbackTitles[0]}})},show:function(e,r){return r.layout.qHyperCube.qDimensionInfo.length>1}},crossAllDimensions:{refFn:function(r){return\"\".concat(k(r,e),\".crossAllDimensions\")},type:\"boolean\",translation:r.crossAllDimensions||\"properties.modifier.crossAllDimensions\",title:{translation:r.crossAllDimensionsTooltip||\"properties.modifier.movingAverage.crossAllDimensions.tooltip\"},schemaIgnore:!0,defaultValue:!1,show:function(e,r){return r.layout.qHyperCube.qDimensionInfo.length>1}},fullRange:{refFn:function(r){return\"\".concat(k(r,e),\".fullRange\")},type:\"boolean\",translation:r.range||\"properties.modifier.range\",component:\"dropdown\",schemaIgnore:!0,defaultValue:!1,options:[{value:!0,translation:r.rangeFull||\"properties.modifier.range.full\"},{value:!1,translation:r.rangeCustom||\"properties.modifier.range.custom\"}]},steps:{refFn:function(r){return\"\".concat(k(r,e),\".steps\")},type:\"integer\",translation:r.rangeSteps||\"properties.modifier.range.steps\",schemaIgnore:!0,defaultValue:6,change:function(r){var n=H(r,e);if(n){var i=n.steps;n.steps=\"number\"!=typeof i||Number.isNaN(i)?6:Math.abs(i)}},show:function(r){var n=H(r,e);return n&&!n.fullRange}},showExcludedValues:{refFn:function(r){return\"\".concat(k(r,e),\".showExcludedValues\")},type:\"boolean\",translation:r.showExcludedValues||\"properties.modifier.showExcludedValues\",schemaIgnore:!0,defaultValue:!0},nullSuppression:{refFn:function(r){return\"\".concat(k(r,e),\".nullSuppression\")},type:\"boolean\",translation:r.showNull||\"properties.dimensions.showNull\",schemaIgnore:!0,defaultValue:!1,inverted:!0}},show:function(e,r){return h.isApplicable({properties:r.properties})}}},show:function(r,n,i){var t=i.ext.support.modifiers;if(!(Array.isArray(t)&&-1!==t.indexOf(_)))return!1;var o=H(r,e);return o&&!o.disabled}};return n}},G=\"difference\";function $(e,r){var n=o.getValue(e,r);if(n)for(var i=0;i<n.length;i++)if(n[i].type===G)return n[i]}function U(e,r){var n=function(e,r){var n=o.getValue(e,r);if(!n)return-1;for(var i=0;i<n.length;i++)if(n[i].type===G)return i;return-1}(e,r);return n>-1?\"\".concat(r,\".\").concat(n):r}var z={type:\"difference\",disabled:!1,primaryDimension:0,crossAllDimensions:!1,showExcludedValues:!0,outputExpression:\"\"},J={translationKey:\"properties.modifier.difference\",needDimension:h.needDimension,isApplicable:function(e){var r=e.properties,n=e.layout;return h.isApplicable({properties:r,layout:n,minDimensions:1,maxDimensions:2})},extractInputExpression:h.extractInputExpression,generateExpression:function(e){var r=e.expression,n=e.modifier,i=e.properties,t=e.layout,s=e.numDimensions,a=e.dimensionAndFieldList;if(!n)return r;var u=s;void 0===u&&(u=h.getNumDimensions({properties:i,layout:t}));var l=o.getValue(i,\"qHyperCubeDef.qDimensions\",[]),c=h.getExpressionWithExcludedComp({expression:r,modifier:n,dimensions:l,dimensionAndFieldList:a}),p=h.getAboveComp(n,u,c),f=\"\".concat(c,\" - \").concat(p);if(h.needDimension({modifier:n,properties:i,layout:t})){var m=h.getDimComp(l,1),d=h.getDimComp(l,0),y=h.getAggrComp(f,m,d);f=n.showExcludedValues?h.getExcludedComp({modifier:n,dimensions:l,dimensionAndFieldList:a,funcComp:\"Only\",valueComp:y}):y}return f},initModifier:function(e){Object.keys(z).forEach(function(r){void 0===e[r]&&(e[r]=z[r])})},enableTotalsFunction:function(){return!1},propertyPanelDef:function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n={type:\"items\",items:{disclaimer:{component:\"text\",translation:r.disclaimer||\"properties.modifier.difference.disclaimer\",show:function(e,r){return!h.isApplicable({properties:r.properties})}},settings:{type:\"items\",items:{primaryDimension:{refFn:function(r){return\"\".concat(U(r,e),\".primaryDimension\")},type:\"integer\",translation:r.primaryDimension||\"properties.modifier.primaryDimension\",title:{translation:r.primaryDimensionTooltip||\"properties.modifier.difference.primaryDimension.tooltip\"},component:\"dropdown\",schemaIgnore:!0,defaultValue:1,options:function(e,r){return r.layout.qHyperCube.qDimensionInfo.map(function(e,r){return{value:r,label:e.qGroupFallbackTitles[0]}})},show:function(e,r){return r.layout.qHyperCube.qDimensionInfo.length>1}},crossAllDimensions:{refFn:function(r){return\"\".concat(U(r,e),\".crossAllDimensions\")},type:\"boolean\",translation:r.crossAllDimensions||\"properties.modifier.crossAllDimensions\",title:{translation:r.crossAllDimensionsTooltip||\"properties.modifier.difference.crossAllDimensions.tooltip\"},schemaIgnore:!0,defaultValue:!1,show:function(e,r){return r.layout.qHyperCube.qDimensionInfo.length>1}},showExcludedValues:{refFn:function(r){return\"\".concat(U(r,e),\".showExcludedValues\")},type:\"boolean\",translation:r.showExcludedValues||\"properties.modifier.showExcludedValues\",schemaIgnore:!0,defaultValue:!0}},show:function(e,r){return h.isApplicable({properties:r.properties})}}},show:function(r,n,i){var t=i.ext.support.modifiers;if(!(Array.isArray(t)&&-1!==t.indexOf(G)))return!1;var o=$(r,e);return o&&!o.disabled}};return n}},K={SELECTION:{CURRENT_SELECTION:0,SELECT_FIELD_VALUE:1,DISREGARD_SELECTION:2},DIMENSION:{ONE_DIMENSION:0,ALL_DIMENSIOANS:1,DISREGARD_ALL_DIMENSIONS:2}},Q=\"normalization\";function X(e,r){var n=o.getValue(e,r);if(n)for(var i=0;i<n.length;i++)if(n[i].type===Q)return n[i]}function Y(e,r){var n=function(e,r){var n=o.getValue(e,r);if(!n)return-1;for(var i=0;i<n.length;i++)if(n[i].type===Q)return i;return-1}(e,r);return n>-1?\"\".concat(r,\".\").concat(n):r}function Z(e,r){for(var n=0;n<e.length;n++)if(e[n].value===r)return n;return-1}function ee(e,r,n,i){var t=r.layout.qHyperCube.qDimensionInfo.length,o=[{value:K.DIMENSION.ONE_DIMENSION,translation:n.dimensionalScopeOneDimension||\"properties.modifier.dimensionalScope.respectOneDimension\",tooltipTranslation:n.dimensionalScopeOneDimensionTooltip||\"properties.modifier.dimensionalScope.respectOneDimension.tooltip\"},{value:K.DIMENSION.ALL_DIMENSIOANS,translation:n.dimensionalScopeAllDimensions||\"properties.modifier.dimensionalScope.\".concat(2===t?\"respectAllDimensions\":\"respectDimension\"),tooltipTranslation:n.dimensionalScopeAllDimensionsTooltip||\"properties.modifier.dimensionalScope.\".concat(2===t?\"respectAllDimensions\":\"respectDimension\",\".tooltip\")},{value:K.DIMENSION.DISREGARD_ALL_DIMENSIONS,translation:n.dimensionalScopeDisregardAllDimensions||\"properties.modifier.dimensionalScope.\".concat(2===t?\"disregardAllDimensions\":\"disregardDimension\"),tooltipTranslation:n.dimensionalScopeDisregardAllDimensionsTooltip||\"properties.modifier.dimensionalScope.\".concat(2===t?\"disregardAllDimensions\":\"disregardDimension\",\".tooltip\")}];return o=function(e,r,n){if(e<2){var i=Z(r,n);r.splice(i,1)}return r}(t,o,0),o=function(e,r,n){if(0===e){var i=Z(r,n);r.splice(i,1)}return r}(X(e,i).selectionScope,o,1)}function re(e,r,n){var i=[{value:K.SELECTION.CURRENT_SELECTION,translation:r.selectionScopeCurrentSelection||\"properties.modifier.selectionScope.currentSelection\"},{value:K.SELECTION.SELECT_FIELD_VALUE,translation:r.selectionScopeSpecificValue||\"properties.modifier.selectionScope.selectAField\"},{value:K.SELECTION.DISREGARD_SELECTION,translation:r.selectionScopeTotal||\"properties.modifier.selectionScope.total\"}];return i=function(e,r,n){if(1===e){var i=Z(r,n);r.splice(i,1)}return r}(X(e,n).dimensionalScope,i,0)}var ne={type:\"normalization\",disabled:!1,primaryDimension:0,outputExpression:\"\",dimensionalScope:K.DIMENSION.DISREGARD_ALL_DIMENSIONS,selectionScope:K.SELECTION.DISREGARD_SELECTION};function ie(e){return 2===e?\"{1}\":\"\"}function te(e,r,n){return 1===e?\"{$<\".concat(h.getFieldWithWrapper(r),\"={'\").concat(n,\"'}>}\"):\"\"}function oe(e,r){return 0===e&&r>1||2===e?\"Total\":\"\"}function se(e,r,n){return 0===e&&r>1?\"<\".concat(h.getDimDefWithWrapper(n),\">\"):\"\"}function ae(e,r,n,i,t,o,s){var a=ie(r),u=te(r,n,i),l=\"\"===a&&\"\"===u?\"\":a||u,c=oe(t,o),p=se(t,o,s),f=function(e){for(var r=[],n=0;n<e;n++)r[n]=h.getDimDefWithWrapper(n);return r.join(\", \")}(o);return\"\".concat(e,\"/ Sum(\").concat(l,\" \").concat(c).concat(p,\" Aggr(\").concat(l,\" \").concat(e,\", \").concat(f,\"))\")}var ue={translationKey:\"properties.modifier.normalization\",needDimension:function(){return!0},isApplicable:function(e){var r=e.properties,n=e.layout;return h.isApplicable({properties:r,layout:n,minDimensions:1,maxDimensions:2})},extractInputExpression:h.extractInputExpression,generateExpression:function(e){var r=e.expression,n=e.modifier,i=e.properties,t=e.layout,s=e.numDimensions,a=e.dimensionAndFieldList;if(!n)return r;var u=s;void 0===u&&(u=h.getNumDimensions({properties:i,layout:t}));var l=o.getValue(i,\"qHyperCubeDef.qDimensions\",[]),c=h.getExpressionWithExcludedComp({expression:r,modifier:n,dimensions:l,dimensionAndFieldList:a}),p=n.selectionScope,f=n.dimensionalScope;return ae(c,p,n.field,n.value,f,u,n.primaryDimension)},initModifier:function(e){Object.keys(ne).forEach(function(r){void 0===e[r]&&(e[r]=ne[r])})},updateModifier:function(e,r){1===(r.qDimensions?r.qDimensions.length:0)&&0===e.dimensionalScope&&(e.dimensionalScope=2)},enableTotalsFunction:function(){return!0},propertyPanelDef:function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n={type:\"items\",items:{disclaimer:{component:\"text\",translation:r.disclaimer||\"properties.modifier.normalization.disclaimer\",show:function(e,r){return!h.isApplicable({properties:r.properties})}},settings:{type:\"items\",items:{selectionScope:{refFn:function(r){return\"\".concat(Y(r,e),\".selectionScope\")},type:\"string\",translation:r.modifierSelectionScope||\"properties.modifier.selectionScope\",title:{translation:r.modifierSelectionScopeTooltip||\"properties.modifier.selectionScope.tooltip\"},component:\"dropdown\",schemaIgnore:!0,defaultValue:K.SELECTION.DISREGARD_SELECTION,options:function(n){return re(n,r,e)}},field:{refFn:function(r){return\"\".concat(Y(r,e),\".field\")},type:\"string\",component:\"expression-with-dropdown\",translation:\"Common.Field\",defaultValue:\"\",dropdownOnly:!0,options:function(e,r,n){return n.app.getFieldList().then(function(e){return e.map(function(e){return{label:e.qName,value:e.qName}})})},show:function(r){return X(r,e).selectionScope===K.SELECTION.SELECT_FIELD_VALUE}},value:{refFn:function(r){return\"\".concat(Y(r,e),\".value\")},type:\"string\",ref:\"value\",component:\"string\",translation:\"properties.value\",expression:\"optional\",show:function(r){return X(r,e).selectionScope===K.SELECTION.SELECT_FIELD_VALUE}},dimensionalScope:{refFn:function(r){return\"\".concat(Y(r,e),\".dimensionalScope\")},type:\"string\",translation:r.modifierDimensionalScope||\"properties.modifier.dimensionalScope\",title:{translation:r.modifierDimensionalScopeTooltip||\"properties.modifier.dimensionalScope.tooltip\"},component:\"dropdown\",schemaIgnore:!0,defaultValue:K.DIMENSION.DISREGARD_ALL_DIMENSIONS,supportTooltip:!0,options:function(n,i){return ee(n,i,r,e)}},primaryDimension:{refFn:function(r){return\"\".concat(Y(r,e),\".primaryDimension\")},type:\"integer\",translation:r.primaryDimension||\"properties.modifier.primaryDimension\",title:{translation:r.primaryDimensionTooltip||\"properties.modifier.normalization.primaryDimension.tooltip\"},component:\"dropdown\",schemaIgnore:!0,defaultValue:1,options:function(e,r){return r.layout.qHyperCube.qDimensionInfo.map(function(e,r){return{value:r,label:e.qGroupFallbackTitles[0]}})},show:function(r,n){return(X(r,e).dimensionalScope||0)===K.DIMENSION.ONE_DIMENSION&&n.layout.qHyperCube.qDimensionInfo.length>1}}},show:function(e,r){return h.isApplicable({properties:r.properties})}}},show:function(r,n,i){var t=i.ext.support.modifiers;if(!(Array.isArray(t)&&-1!==t.indexOf(Q)))return!1;var o=X(r,e);return o&&!o.disabled}};return n},getDisregardSelectionComp:ie,getFieldSelectionComp:te,getTotalComp:oe,getSelectedDimComp:se};function le(e){var r=e.model,n=e.callback,i={},t={},s={},a={dimension:[\"qDim.qFieldDefs\"],measure:[\"qMeasure.qDef\",\"qMeasure.qLabel\",\"qMeasure.qLabelExpression\",\"qMeasure.coloring\",\"qMeasure.qNumFormat\",\"qMeasure.isCustomFormatted\"]};function u(e){var r={},n=o.getValue(e,\"qInfo.qType\");return n&&a[n]&&a[n].forEach(function(n){r[n]=o.getValue(e,n)}),JSON.stringify(r)}function l(e){var r=e.qInfo.qId;if(i[r]){var t=u(e);i[r].properties!==t&&(i[r].properties=t,\"function\"==typeof n&&i[r].enabled&&n(e)),i[r].enabled=!0}}function c(e,n){return r.app[n](e).then(function(r){i[e]={listener:r.layoutSubscribe(l),enabled:!1,properties:u(r.layout)}})}return{subscribe:function(e){var n=e.measureLibraryIds,o=e.dimensionLibraryIds,a=[];return function(e){var r=e.measureLibraryIds,n=e.dimensionLibraryIds;t={},r.forEach(function(e){t[e]=!0}),s={},n.forEach(function(e){s[e]=!0})}({measureLibraryIds:n,dimensionLibraryIds:o}),Object.keys(i).forEach(function(e){t[e]||s[e]||(i[e].listener.dispose(),delete i[e])}),r.app&&(Object.keys(t).forEach(function(e){t[e]&&!i[e]&&a.push(c(e,\"getMeasure\"))}),Object.keys(s).forEach(function(e){s[e]&&!i[e]&&a.push(c(e,\"getDimension\"))})),Promise.all(a)},unsubscribe:function(){Object.keys(i).forEach(function(e){i[e].listener.dispose()}),i={}}}}var ce={getExpression:function(e){return o.getValue(e,\"qDef.base.qDef\")||o.getValue(e,\"qDef.qDef\")},getExpressionRef:function(e){return o.getValue(e,\"qDef.base.qDef\")?\"qDef.base.qDef\":\"qDef.qDef\"},getLibraryIdRef:function(e){return o.getValue(e,\"qDef.base.qLibraryId\")?\"qDef.base.qLibraryId\":\"qLibraryId\"},getLibraryId:function(e){return o.getValue(e,\"qDef.base.qLibraryId\")||o.getValue(e,\"qLibraryId\")},getLabelRef:function(e){return o.getValue(e,\"qDef.base\")?\"qDef.base.qLabel\":\"qDef.qLabel\"},getLabelExpressionRef:function(e){return o.getValue(e,\"qDef.base\")?\"qDef.base.qLabelExpression\":\"qDef.qLabelExpression\"}},pe={initBase:function(e,r){(r||pe.isValid(e))&&(o.setValue(e,\"qDef.base.qDef\",o.getValue(e,\"qDef.qDef\")),o.setValue(e,\"qDef.base.qLibraryId\",o.getValue(e,\"qLibraryId\")),o.setValue(e,\"qDef.base.qLabel\",o.getValue(e,\"qDef.qLabel\")),o.setValue(e,\"qDef.base.qLabelExpression\",o.getValue(e,\"qDef.qLabelExpression\")))},restoreBase:function(e){pe.isValid(e)&&(o.setValue(e,\"qDef.qDef\",o.getValue(e,\"qDef.base.qDef\")),o.setValue(e,\"qLibraryId\",o.getValue(e,\"qDef.base.qLibraryId\")),o.setValue(e,\"qDef.qLabel\",o.getValue(e,\"qDef.base.qLabel\")),o.setValue(e,\"qDef.qLabelExpression\",o.getValue(e,\"qDef.base.qLabelExpression\")),o.getValue(e,\"qDef.qAggrFunc\")&&o.getValue(e,\"qDef.base.qAggrFunc\")&&o.setValue(e,\"qDef.qAggrFunc\",o.getValue(e,\"qDef.base.qAggrFunc\")),delete e.qDef.base)},isValid:function(e){var r=o.getValue(e,\"qDef.base.qDef\"),n=o.getValue(e,\"qDef.base.qLibraryId\");return void 0!==r||void 0!==n}},fe=pe;function me(e){return(me=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}var de={accumulation:R,movingAverage:W,difference:J,normalization:ue},ye=(r.default={modifiers:de,apply:ge,applyModifiers:be,cleanUpMeasure:ve,destroy:function(e){e&&ye[e.id]&&ye[e.id].masterItemSubscriber&&(ye[e.id].masterItemSubscriber&&ye[e.id].masterItemSubscriber.unsubscribe(),delete ye[e.id])},hasActiveModifiers:De,getActiveModifier:qe,initBase:fe.initBase,isSupportedModifiers:function(e){return Array.isArray(e)&&e.some(function(e){return de[e]})},isApplicableSupportedModifiers:function(e){var r=e.modifierTypes,n=e.properties,i=e.layout;return Array.isArray(r)&&r.some(function(e){return de[e]&&de[e].isApplicable({properties:n,layout:i})})},measureBase:ce,limitedSorting:function(e){var r=e.measures,n=e.properties,i=e.layout,t=!1,o=!1;return r.forEach(function(e){var r=Ae(e);Ce({modifiers:r,properties:n,layout:i})&&(t=!0,o=o||Te({modifiers:r,properties:n,layout:i}))}),t&&!o},ifEnableTotalsFunction:he},{});function ge(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=e.model,n=e.properties,i=e.isSnapshot,s=void 0!==i&&i,a=e.masterItem;ye[r.id]=ye[r.id]||{isFirstTime:!0};var u=ye[r.id].isFirstTime;if(ye[r.id].isFirstTime=!1,n&&\"object\"===me(n))return be({model:r,properties:n});var l=r?r.layout:void 0,c=o.getValue(l,\"qSelectionInfo.qInSelections\");if(s||c)return Promise.resolve(!1);var p=o.getValue(l,\"qHyperCube.qMeasureInfo\"),f=ye[r.id].lastReloadTime;if(ye[r.id].lastReloadTime=o.getValue(r,\"app.layout.qLastReloadTime\"),De({measures:p,layout:l})){var m=function(e){var r=e.measures,n=e.layout,i=e.model,t=e.lastReloadTime;return o.getValue(i,\"app.layout.qLastReloadTime\")!==t&&function(e){var r=e.measures,n=e.properties,i=e.layout;if(!Array.isArray(r))return!1;return r.some(function(e){return Ne({measure:e,properties:n,layout:i})})}({measures:r,layout:n})}({measures:p,layout:l,model:r,lastReloadTime:f});return m||function(e){var r=e.measures,n=e.layout,i=e.masterItem,t=e.isFirstTime;if(!Array.isArray(r))return!1;return t||i||r.some(function(e){return function(e){var r=e.measure,n=e.layout;if(Ce({modifiers:Ae(r),layout:n}))return!r.base;return!!r.base}({measure:e,layout:n})})}({measures:p,layout:l,masterItem:a,isFirstTime:u})?r.getEffectiveProperties().then(function(e){var n=t()(!0,{},e);Se(n);var i=Pe(n);return Fe({model:r}).then(function(t){return Oe({libraryIds:i,model:r}).then(function(i){return m&&function(e){var r=e.properties;Ee(r).forEach(function(e){return function(e){var r=e.measure,n=e.properties;if(Ne({measure:r,properties:n})){var i=0,t=r.qDef.modifiers;Array.isArray(t)&&t.forEach(function(e){if(\"object\"===me(e)&&!e.disabled){if(i++,\"object\"!==me(de[e.type]))throw new Error('Modifier \"'.concat(e.type,'\" is not available'));if(i>1)throw new Error(\"More than 1 modifier on a measure! (not yet supported)\");var n=de[e.type].extractInputExpression({outputExpression:r.qDef.qDef,modifier:e});void 0!==n&&Le(r)&&h.simplifyExpression(r.qDef.base.qDef)!==h.simplifyExpression(n)&&(r.qDef.base.qDef=n)}})}}({measure:e,properties:r})})}({properties:n}),be({model:r,oldProperties:e,properties:n,runUpdateIfChange:!0,masterItem:a,libraryItemsProps:i,dimensionAndFieldList:t})})})}):Promise.resolve(!1)}return function(e){if(!Array.isArray(e))return!1;return e.some(function(e){return\"object\"===me(e.base)})}(p)?r.getEffectiveProperties().then(function(e){return function(e){var r=e.model,n=e.properties,i=Pe(n);return je({model:r,libraryIds:i}).then(function(){var e=t()(!0,{},n);return Ee(n).forEach(function(e){return ve(e)}),Me({oldProperties:e,newProperties:n,model:r})})}({model:r,properties:e})}):Promise.resolve(!1)}function be(e){var r=e.model,n=e.oldProperties,i=e.properties,s=e.measures,a=e.runUpdateIfChange,u=void 0!==a&&a,l=e.masterItem,c=e.libraryItemsProps,p=e.dimensionAndFieldList;void 0===n&&(n=u?t()(!0,{},i):i),Se(i);var f=Pe(i);return je({model:r,libraryIds:f,masterItem:l}).then(function(){return function(e){var r=e.measures,n=e.properties,i=e.model,s=e.libraryItemsProps,a=e.dimensionAndFieldList;r||(r=Ee(n));if(!r.length)return Promise.resolve();if(!De({measures:r,properties:n}))return r.forEach(function(e){return ve(e)}),Promise.resolve();var u=s?void 0:Pe(n);return Fe({model:i,dimensionAndFieldList:a}).then(function(e){return Oe({libraryIds:u,model:i,libraryItemsProps:s}).then(function(i){r.forEach(function(r){Ce({modifiers:r.qDef.modifiers,properties:n})?(!function(e){var r=e.measure,n=e.properties,i=e.libraryItemsProps,s=e.dimensionAndFieldList,a=0;fe.isValid(r)||fe.initBase(r,!0);var u=r.qDef,l=u.modifiers,c=u.base;Array.isArray(l)&&l.forEach(function(e){if(\"object\"===me(e)&&!e.disabled){if(a++,\"object\"!==me(de[e.type]))throw new Error('Modifier \"'.concat(e.type,'\" is not available'));if(a>1)throw new Error(\"More than 1 modifier on a measure! (not yet supported)\");de[e.type].initModifier(e);var u=r.qLibraryId||c&&c.qLibraryId;u?function(e){var r=e.measure,n=e.modifier,i=e.libraryId,o=e.properties,s=e.libraryItemsProps,a=e.dimensionAndFieldList,u=s[i],l=u.qMeasure.qDef,c=de[n.type].generateExpression({expression:l,modifier:n,properties:o,dimensionAndFieldList:a});n.outputExpression=c,r.qDef.qDef=n.outputExpression,(r.qDef.qLabel||u.qMeasure.qLabel)&&(r.qDef.qLabel=u.qMeasure.qLabel);(r.qDef.qLabelExpression||u.qMeasure.qLabelExpression)&&(r.qDef.qLabelExpression=u.qMeasure.qLabelExpression);r.qDef.quarantine&&r.qDef.quarantine.qNumFormat&&u.qMeasure.qNumFormat&&(r.qDef.qNumFormat=u.qMeasure.qNumFormat,r.qDef.isCustomFormatted=u.qMeasure.isCustomFormatted);delete r.qLibraryId,r.qDef.coloring=u.qMeasure.coloring,n.base=t()(!0,{},r.qDef.base)}({measure:r,modifier:e,libraryId:u,properties:n,libraryItemsProps:i,dimensionAndFieldList:s}):function(e){var r=e.measure,n=e.modifier,i=e.properties,o=e.dimensionAndFieldList;\"function\"==typeof de[n.type].updateModifier&&de[n.type].updateModifier(n,i.qHyperCubeDef);var s=ce.getExpression(r),a=de[n.type].generateExpression({expression:s,modifier:n,properties:i,dimensionAndFieldList:o});n.outputExpression=a,r.qDef.qDef=n.outputExpression,r.qDef.base.qLabelExpression?r.qDef.qLabelExpression=r.qDef.base.qLabelExpression:r.qDef.qLabel=r.qDef.base.qLabel||s;n.base=t()(!0,{},r.qDef.base)}({measure:r,modifier:e,properties:n,dimensionAndFieldList:s}),function(e){var r=o.getValue(e,\"qDef.qAggrFunc\");\"Expr\"!==r||he(e)?\"None\"!==r?delete e.qDef.base.qAggrFunc:\"None\"===r&&he(e)&&\"Expr\"===e.qDef.base.qAggrFunc&&(e.qDef.qAggrFunc=\"Expr\",delete e.qDef.base.qAggrFunc):(e.qDef.qAggrFunc=\"None\",e.qDef.base.qAggrFunc=\"Expr\")}(r)}})}({measure:r,properties:n,libraryItemsProps:i,dimensionAndFieldList:e}),xe(r)):ve(r)})})})}({measures:s,properties:i,model:r,libraryItemsProps:c,dimensionAndFieldList:p}).then(function(){return u?Me({oldProperties:n,newProperties:i,model:r}):Promise.resolve(!1)})})}function ve(e){!function(e){var r=Ae(e);return Array.isArray(r)&&r.some(function(e){return\"object\"===me(e)&&!e.disabled&&!de[e.type]})}(e)?fe.restoreBase(e):delete e.qDef.base,e.qDef.coloring&&delete e.qDef.coloring,xe(e)}function De(e){var r=e.measures,n=e.properties,i=e.layout;return!!Array.isArray(r)&&r.some(function(e){return Ce({modifiers:Ae(e),properties:n,layout:i})})}function qe(e){var r=Ae(e);if(Array.isArray(r))for(var n=0;n<r.length;n++){var i=r[n];if(de[i.type]&&!i.disabled)return i}}function he(e){var r=qe(e);return!r||de[r.type].enableTotalsFunction(e)}function Ee(e){return o.getValue(e,\"qHyperCubeDef.qMeasures\",[]).concat(o.getValue(e,\"qHyperCubeDef.qLayoutExclude.qHyperCubeDef.qMeasures\",[]))}function Ae(e){return e.modifiers||e.qDef&&e.qDef.modifiers}function Ie(e){return o.getValue(e,\"outputExpression.qValueExpression.qExpr\")||o.getValue(e,\"outputExpression\")}function Se(e){Ee(e).forEach(function(e){return function(e){var r=qe(e);r&&(void 0!==r.outputExpression&&Ie(r)!==e.qDef.qDef?delete e.qDef.base:!fe.isValid(e)&&r.base&&(e.qDef.base=t()(!0,{},r.base)))}(e)})}function xe(e){var r=Ae(e);Array.isArray(r)&&r.forEach(function(r){\"object\"===me(r)&&(r.disabled||!de[r.type]&&Ie(r)!==e.qDef.qDef)&&(r.disabled=!0,delete r.base)})}function Le(e){return e.base||e.qDef&&e.qDef.base}function Ve(e){var r=Le(e);return e.qLibraryId||r&&r.qLibraryId}function Ne(e){var r=e.measure,n=e.properties,i=e.layout;return!Ve(r)&&Ce({modifiers:Ae(r),properties:n,layout:i})}function Ce(e){var r=e.modifiers,n=e.properties,i=e.layout,t={};return Array.isArray(r)&&r.some(function(e){return!(\"object\"!==me(e)||e.disabled||!de[e.type])&&(void 0===t[e.type]&&(t[e.type]=de[e.type].isApplicable({properties:n,layout:i})),t[e.type])})}function Fe(e){var r=e.model,n=e.dimensionAndFieldList;if(n)return Promise.resolve(n);var i=[],t={},o=r.app.getDimensionList().then(function(e){t.dimensionList=e});i.push(o);var s=r.app.getFieldList().then(function(e){t.fieldList=e});return i.push(s),Promise.all(i).then(function(){return t})}function Oe(e){var r=e.libraryIds,n=e.model,i=e.libraryItemsProps;if(i)return Promise.resolve(i);var t=r.measureLibraryIds,o=r.dimensionLibraryIds,s={},a=[];return t.forEach(function(e){var r=n.app.getMeasure(e).then(function(r){return r.getProperties().then(function(r){s[e]=r})});a.push(r)}),o.forEach(function(e){var r=n.app.getDimension(e).then(function(r){return r.getProperties().then(function(r){s[e]=r})});a.push(r)}),Promise.all(a).then(function(){return s})}function we(e,r){if(\"\"!==r||-1===[\"qFmt\",\"qDec\",\"qThou\"].indexOf(e))return r}function Me(e){var r=e.oldProperties,n=e.newProperties,i=e.model,t=JSON.stringify(o.getValue(r,\"qHyperCubeDef.qMeasures\"),we)!==JSON.stringify(o.getValue(n,\"qHyperCubeDef.qMeasures\"),we)||JSON.stringify(o.getValue(r,\"qHyperCubeDef.qLayoutExclude.qHyperCubeDef.qMeasures\"),we)!==JSON.stringify(o.getValue(n,\"qHyperCubeDef.qLayoutExclude.qHyperCubeDef.qMeasures\"),we);return t?function(e){var r=e.model,n=e.oldProperties,i=e.newProperties,t=r.layout;return t&&!t.qHasSoftPatches&&!t.qExtendsId&&o.getValue(t,\"qMeta.privileges\",[]).indexOf(\"update\")>-1?r.setProperties(i):w.saveSoftProperties(r,n,i)}({model:i,oldProperties:r,newProperties:n}).then(function(){return t}):Promise.resolve(t)}function Te(e){var r=e.modifiers,n=e.properties,i=e.layout;return Array.isArray(r)&&r.some(function(e){return\"object\"===me(e)&&!e.disabled&&de[e.type]&&de[e.type].needDimension({modifier:e,properties:n,layout:i})})}function Pe(e){var r=Ee(e),n=[],i=[],t=!1;return r.forEach(function(r){var i=Ae(r);if(Ce({modifiers:i,properties:e})){var o=Ve(r);o&&n.push(o),t=t||Te({modifiers:i,properties:e})}}),o.getValue(e,\"qHyperCubeDef.qDimensions\",[]).forEach(function(e){var r=e.qLibraryId;r&&i.push(r)}),{measureLibraryIds:n,dimensionLibraryIds:i}}function je(e){var r=e.model,n=e.libraryIds;return!e.masterItem&&n&&(n.measureLibraryIds.length||n.dimensionLibraryIds.length)?(ye[r.id].masterItemSubscriber=ye[r.id].masterItemSubscriber||le({model:r,callback:function(e){return ge({model:r,masterItem:e}).then(function(){return r.app.clearUndoBuffer()})}}),ye[r.id].masterItemSubscriber.subscribe(n)):Promise.resolve()}}])});\n\n/***/ }),\n\n/***/ \"./axis-chart/export-properties/index.js\":\n/*!***********************************************!*\\\n !*** ./axis-chart/export-properties/index.js ***!\n \\***********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return exportProperties; });\n/* harmony import */ var _quarantine_quarantine_property__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../quarantine/quarantine-property */ \"./quarantine/quarantine-property.js\");\n/* harmony import */ var _color_chart__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../color-chart */ \"./color-chart/index.js\");\n\n\nfunction exportProperties(_ref) {\n var propertyTree = _ref.propertyTree,\n hypercubePath = _ref.hypercubePath,\n viewDataMode = _ref.viewDataMode,\n _ref$supportedAutoMin = _ref.supportedAutoMinMax,\n supportedAutoMinMax = _ref$supportedAutoMin === void 0 ? true : _ref$supportedAutoMin;\n var exportFormat = _color_chart__WEBPACK_IMPORTED_MODULE_1__[\"default\"].exportProperties({\n propertyTree: propertyTree,\n hypercubePath: hypercubePath,\n viewDataMode: viewDataMode\n });\n var properties = exportFormat.properties;\n\n if (supportedAutoMinMax) {\n Object(_quarantine_quarantine_property__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(properties, 'measureAxis.min', 'supportedAutoMinMax');\n Object(_quarantine_quarantine_property__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(properties, 'measureAxis.max', 'supportedAutoMinMax');\n } else {\n Object(_quarantine_quarantine_property__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(properties, 'measureAxis.min', 'unsupportedAutoMinMax');\n Object(_quarantine_quarantine_property__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(properties, 'measureAxis.max', 'unsupportedAutoMinMax');\n }\n\n return exportFormat;\n}\n\n/***/ }),\n\n/***/ \"./axis-chart/import-properties/helpers/get-measures-per-axis.js\":\n/*!***********************************************************************!*\\\n !*** ./axis-chart/import-properties/helpers/get-measures-per-axis.js ***!\n \\***********************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getMeasuresPerAxis; });\nvar MEASURE_AXIS_TYPES = ['bar', 'marker', 'line'];\nfunction getMeasuresPerAxis(qHyperCubeDef) {\n var measuresPerAxis = [];\n\n if (qHyperCubeDef.qMeasures.length > 0) {\n qHyperCubeDef.qMeasures.forEach(function (measure) {\n if (measure.qDef.series) {\n var _measure$qDef$series = measure.qDef.series,\n type = _measure$qDef$series.type,\n axis = _measure$qDef$series.axis;\n\n if (!measuresPerAxis[axis]) {\n measuresPerAxis[axis] = {\n axis: axis,\n type: {\n line: 0,\n marker: 0,\n bar: 0,\n total: 0\n }\n };\n }\n\n if (MEASURE_AXIS_TYPES.includes(type)) {\n measuresPerAxis[axis].type[type]++;\n }\n\n measuresPerAxis[axis].type.total++;\n }\n });\n }\n\n return measuresPerAxis;\n}\n\n/***/ }),\n\n/***/ \"./axis-chart/import-properties/helpers/handle-auto-min-max.js\":\n/*!*********************************************************************!*\\\n !*** ./axis-chart/import-properties/helpers/handle-auto-min-max.js ***!\n \\*********************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return handleAutoMinMax; });\n/* harmony import */ var extend__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! extend */ \"../node_modules/extend/index.js\");\n/* harmony import */ var extend__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(extend__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _quarantine_unquarantine_property__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../quarantine/unquarantine-property */ \"./quarantine/unquarantine-property.js\");\n\n\nfunction handleAutoMinMax(_ref) {\n var initialProperties = _ref.initialProperties,\n properties = _ref.properties;\n\n if (initialProperties.measureAxis && typeof initialProperties.measureAxis.autoMinMax === 'undefined') {\n if (!Object(_quarantine_unquarantine_property__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(properties, 'unsupportedAutoMinMax')) {\n extend__WEBPACK_IMPORTED_MODULE_0___default()(properties.measureAxis, initialProperties.measureAxis);\n }\n } else if (!Object(_quarantine_unquarantine_property__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(properties, 'supportedAutoMinMax')) {\n extend__WEBPACK_IMPORTED_MODULE_0___default()(properties.measureAxis, initialProperties.measureAxis);\n }\n}\n\n/***/ }),\n\n/***/ \"./axis-chart/import-properties/helpers/handle-measures-axis.js\":\n/*!**********************************************************************!*\\\n !*** ./axis-chart/import-properties/helpers/handle-measures-axis.js ***!\n \\**********************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return handleMeasuresAxis; });\n/* harmony import */ var extend__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! extend */ \"../node_modules/extend/index.js\");\n/* harmony import */ var extend__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(extend__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _should_update_measure_axis__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./should-update-measure-axis */ \"./axis-chart/import-properties/helpers/should-update-measure-axis.js\");\n/* harmony import */ var _get_measures_per_axis__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./get-measures-per-axis */ \"./axis-chart/import-properties/helpers/get-measures-per-axis.js\");\n\n\n\nfunction handleMeasuresAxis(_ref) {\n var exportFormat = _ref.exportFormat,\n initialProperties = _ref.initialProperties,\n properties = _ref.properties,\n measureType = _ref.measureType;\n var temp;\n var qHyperCubeDef = properties.qHyperCubeDef,\n measureAxis = properties.measureAxis;\n\n if (Object(_should_update_measure_axis__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n exportFormat: exportFormat,\n initialProperties: initialProperties\n })) {\n var measuresPerAxis = Object(_get_measures_per_axis__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(qHyperCubeDef);\n\n if (measuresPerAxis.length) {\n if (measureType) {\n temp = measuresPerAxis.filter(function (m) {\n return m.type[measureType] > 0;\n }).sort(function (a, b) {\n return b.type[measureType] - a.type[measureType];\n });\n }\n\n if (!temp || !temp.length) {\n temp = measuresPerAxis.sort(function (a, b) {\n return b.type.total - a.type.total;\n });\n }\n\n if (temp && temp[0]) {\n extend__WEBPACK_IMPORTED_MODULE_0___default()(measureAxis, exportFormat.properties.measureAxes[temp[0].axis]);\n }\n } else {\n extend__WEBPACK_IMPORTED_MODULE_0___default()(measureAxis, exportFormat.properties.measureAxes[0]);\n }\n }\n}\n\n/***/ }),\n\n/***/ \"./axis-chart/import-properties/helpers/index.js\":\n/*!*******************************************************!*\\\n !*** ./axis-chart/import-properties/helpers/index.js ***!\n \\*******************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _handle_auto_min_max__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./handle-auto-min-max */ \"./axis-chart/import-properties/helpers/handle-auto-min-max.js\");\n/* harmony import */ var _handle_measures_axis__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./handle-measures-axis */ \"./axis-chart/import-properties/helpers/handle-measures-axis.js\");\n/* harmony import */ var _set_inter_column_sort_order__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./set-inter-column-sort-order */ \"./axis-chart/import-properties/helpers/set-inter-column-sort-order.js\");\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n handleAutoMinMax: _handle_auto_min_max__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n handleMeasuresAxis: _handle_measures_axis__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n setInterColumnSortOrder: _set_inter_column_sort_order__WEBPACK_IMPORTED_MODULE_2__[\"default\"]\n});\n\n/***/ }),\n\n/***/ \"./axis-chart/import-properties/helpers/set-inter-column-sort-order.js\":\n/*!*****************************************************************************!*\\\n !*** ./axis-chart/import-properties/helpers/set-inter-column-sort-order.js ***!\n \\*****************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return setInterColumnSortOrder; });\n/* eslint-disable no-param-reassign */\nfunction setInterColumnSortOrder(qHyperCubeDef) {\n // change sorting to fix multidimensional paging, which locks sorting to outer dimension\n if (qHyperCubeDef.qDimensions.length > 1) {\n var index = qHyperCubeDef.qInterColumnSortOrder.indexOf(0);\n\n if (index !== 0) {\n var temp = qHyperCubeDef.qInterColumnSortOrder[0];\n qHyperCubeDef.qInterColumnSortOrder[0] = 0;\n qHyperCubeDef.qInterColumnSortOrder[index] = temp;\n }\n }\n}\n\n/***/ }),\n\n/***/ \"./axis-chart/import-properties/helpers/should-update-measure-axis.js\":\n/*!****************************************************************************!*\\\n !*** ./axis-chart/import-properties/helpers/should-update-measure-axis.js ***!\n \\****************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return shouldUpdateMeasureAxis; });\nfunction shouldUpdateMeasureAxis(_ref) {\n var exportFormat = _ref.exportFormat,\n initialProperties = _ref.initialProperties;\n return !!(exportFormat.properties.measureAxes && !initialProperties.measureAxes && initialProperties.measureAxis && typeof initialProperties.measureAxis.autoMinMax !== 'undefined');\n}\n\n/***/ }),\n\n/***/ \"./axis-chart/import-properties/index.js\":\n/*!***********************************************!*\\\n !*** ./axis-chart/import-properties/index.js ***!\n \\***********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return importProperties; });\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./helpers */ \"./axis-chart/import-properties/helpers/index.js\");\n/* harmony import */ var _color_chart__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../color-chart */ \"./color-chart/index.js\");\n\n\nfunction importProperties(_ref) {\n var exportFormat = _ref.exportFormat,\n initialProperties = _ref.initialProperties,\n dataDefinition = _ref.dataDefinition,\n defaultPropertyValues = _ref.defaultPropertyValues,\n hypercubePath = _ref.hypercubePath,\n measureType = _ref.measureType,\n extension = _ref.extension,\n supportedFilters = _ref.supportedFilters;\n var propertyTree = _color_chart__WEBPACK_IMPORTED_MODULE_1__[\"default\"].importProperties({\n exportFormat: exportFormat,\n initialProperties: initialProperties,\n dataDefinition: dataDefinition,\n defaultPropertyValues: defaultPropertyValues,\n hypercubePath: hypercubePath,\n extension: extension,\n supportedFilters: supportedFilters\n });\n var properties = propertyTree.qProperty;\n _helpers__WEBPACK_IMPORTED_MODULE_0__[\"default\"].handleAutoMinMax({\n initialProperties: initialProperties,\n properties: properties\n });\n _helpers__WEBPACK_IMPORTED_MODULE_0__[\"default\"].handleMeasuresAxis({\n exportFormat: exportFormat,\n initialProperties: initialProperties,\n properties: properties,\n measureType: measureType\n });\n _helpers__WEBPACK_IMPORTED_MODULE_0__[\"default\"].setInterColumnSortOrder(properties.qHyperCubeDef);\n return propertyTree;\n}\n\n/***/ }),\n\n/***/ \"./axis-chart/index.js\":\n/*!*****************************!*\\\n !*** ./axis-chart/index.js ***!\n \\*****************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _export_properties__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./export-properties */ \"./axis-chart/export-properties/index.js\");\n/* harmony import */ var _import_properties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./import-properties */ \"./axis-chart/import-properties/index.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n exportProperties: _export_properties__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n importProperties: _import_properties__WEBPACK_IMPORTED_MODULE_1__[\"default\"]\n});\n\n/***/ }),\n\n/***/ \"./color-chart/export-properties/index.js\":\n/*!************************************************!*\\\n !*** ./color-chart/export-properties/index.js ***!\n \\************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return exportProperties; });\n/* harmony import */ var _utils_attribute_expression_util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/attribute-expression-util */ \"./utils/attribute-expression-util/index.js\");\n/* harmony import */ var _hypercube__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../hypercube */ \"./hypercube/index.js\");\n\n\nfunction exportProperties(_ref) {\n var propertyTree = _ref.propertyTree,\n hypercubePath = _ref.hypercubePath,\n viewDataMode = _ref.viewDataMode;\n // Remove color attribute expression\n var expFormat = _hypercube__WEBPACK_IMPORTED_MODULE_1__[\"default\"].exportProperties({\n propertyTree: propertyTree,\n hypercubePath: hypercubePath,\n viewDataMode: viewDataMode\n });\n var dataGroup = expFormat.data[0];\n var dimensions = dataGroup.dimensions.concat(dataGroup.excludedDimensions);\n var measures = dataGroup.measures.concat(dataGroup.excludedMeasures);\n var _attributeExpsUtil$ID = _utils_attribute_expression_util__WEBPACK_IMPORTED_MODULE_0__[\"default\"].IDMAP,\n COLOR_BY_ALTERNATIVE = _attributeExpsUtil$ID.COLOR_BY_ALTERNATIVE,\n COLOR_BY_EXPRESSION = _attributeExpsUtil$ID.COLOR_BY_EXPRESSION; // Remove all colorBy things, these are later restored from color.colorExpression, color.byDimDef and color.byMeasureDef\n\n _utils_attribute_expression_util__WEBPACK_IMPORTED_MODULE_0__[\"default\"].moveByIdFromGroup(dimensions, [], 'qAttributeDimensions', COLOR_BY_ALTERNATIVE);\n _utils_attribute_expression_util__WEBPACK_IMPORTED_MODULE_0__[\"default\"].moveByIdFromGroup(dimensions, [], 'qAttributeExpressions', COLOR_BY_ALTERNATIVE);\n _utils_attribute_expression_util__WEBPACK_IMPORTED_MODULE_0__[\"default\"].moveByIdFromGroup(measures, [], 'qAttributeExpressions', COLOR_BY_EXPRESSION);\n return expFormat;\n}\n\n/***/ }),\n\n/***/ \"./color-chart/import-properties/helpers/add-color-by-expression.js\":\n/*!**************************************************************************!*\\\n !*** ./color-chart/import-properties/helpers/add-color-by-expression.js ***!\n \\**************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return addColorByExpression; });\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../utils */ \"./utils/index.js\");\n\nfunction addColorByExpression(properties) {\n var attributeExps = _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getValue(properties, 'qHyperCubeDef.qMeasures.0.qAttributeExpressions', []);\n var colorExps = _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getValue(properties, 'color.colorExpression', '');\n attributeExps.splice(0, 0, {\n qExpression: colorExps,\n id: 'colorByExpression'\n });\n _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].setValue(properties, 'qHyperCubeDef.qMeasures.0.qAttributeExpressions', attributeExps);\n}\n\n/***/ }),\n\n/***/ \"./color-chart/import-properties/helpers/change-property.js\":\n/*!******************************************************************!*\\\n !*** ./color-chart/import-properties/helpers/change-property.js ***!\n \\******************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return changeProperty; });\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../utils */ \"./utils/index.js\");\n/* harmony import */ var _update_layout_exclude__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./update-layout-exclude */ \"./color-chart/import-properties/helpers/update-layout-exclude.js\");\n\n\n/**\n * Temporarily change the value of a property.\n *\n * The change is stored and will then be restored to its previous value when object properties are exported.\n * Typically used when an object doesn't support a certain value of a property.\n * @param properties properties\n * @param propertyPath\n * @param newValue\n *\n * @example\n * // assuming the old object has a a property, color.mode, set to 'awesome':\n * // props.color.mode = 'awesome';\n *\n * // the new object does not support an awesome value so it needs to be changed:\n * changeProperty( properties, 'color.mode', 'boring')\n */\n\nfunction changeProperty(properties, propertyPath, newValue) {\n _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].setValue(properties, propertyPath, newValue);\n\n if (_utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].isAtomicValue(newValue)) {\n Object(_update_layout_exclude__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(properties, propertyPath, newValue);\n }\n}\n\n/***/ }),\n\n/***/ \"./color-chart/import-properties/helpers/clear-attribute-by-type.js\":\n/*!**************************************************************************!*\\\n !*** ./color-chart/import-properties/helpers/clear-attribute-by-type.js ***!\n \\**************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return clearAttributeByType; });\n/* harmony import */ var _utils_array_util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../utils/array-util */ \"./utils/array-util.js\");\n/* eslint-disable no-param-reassign */\n\nfunction clearAttributeByType(target, attribute, type) {\n if (Array.isArray(target[attribute])) {\n var index = _utils_array_util__WEBPACK_IMPORTED_MODULE_0__[\"default\"].findIndexByPropertyValue(target[attribute], 'id', type);\n\n if (index >= 0) {\n target[attribute].splice(index, 1);\n }\n } else {\n target[attribute] = [];\n }\n}\n\n/***/ }),\n\n/***/ \"./color-chart/import-properties/helpers/clear-color-by-item.js\":\n/*!**********************************************************************!*\\\n !*** ./color-chart/import-properties/helpers/clear-color-by-item.js ***!\n \\**********************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return clearColorByItem; });\n/* harmony import */ var _utils_attribute_expression_util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../utils/attribute-expression-util */ \"./utils/attribute-expression-util/index.js\");\n/* harmony import */ var _clear_attribute_by_type__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./clear-attribute-by-type */ \"./color-chart/import-properties/helpers/clear-attribute-by-type.js\");\n\n\nfunction clearColorByItem(dimensions, excludedDimensions) {\n var COLOR_BY_ALTERNATIVE = _utils_attribute_expression_util__WEBPACK_IMPORTED_MODULE_0__[\"default\"].IDMAP.COLOR_BY_ALTERNATIVE;\n dimensions.forEach(function (dim) {\n Object(_clear_attribute_by_type__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(dim, 'qAttributeDimensions', COLOR_BY_ALTERNATIVE);\n Object(_clear_attribute_by_type__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(dim, 'qAttributeExpressions', COLOR_BY_ALTERNATIVE);\n });\n excludedDimensions.forEach(function (dim) {\n Object(_clear_attribute_by_type__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(dim, 'qAttributeDimensions', COLOR_BY_ALTERNATIVE);\n Object(_clear_attribute_by_type__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(dim, 'qAttributeExpressions', COLOR_BY_ALTERNATIVE);\n });\n}\n\n/***/ }),\n\n/***/ \"./color-chart/import-properties/helpers/delete-total-mode.js\":\n/*!********************************************************************!*\\\n !*** ./color-chart/import-properties/helpers/delete-total-mode.js ***!\n \\********************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return deleteTotalMode; });\nfunction deleteTotalMode(dimensions) {\n dimensions.forEach(function (d) {\n // turn off totals mode since no chart handles it properly\n if (d.qOtherTotalSpec && 'qTotalMode' in d.qOtherTotalSpec) {\n delete d.qOtherTotalSpec.qTotalMode; // eslint-disable-line no-param-reassign\n }\n });\n}\n\n/***/ }),\n\n/***/ \"./color-chart/import-properties/helpers/get-can-color-by.js\":\n/*!*******************************************************************!*\\\n !*** ./color-chart/import-properties/helpers/get-can-color-by.js ***!\n \\*******************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getCanColorBy; });\n/* harmony import */ var _get_color_options__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./get-color-options */ \"./color-chart/import-properties/helpers/get-color-options.js\");\n\nfunction getCanColorBy(hyperCube, visualization) {\n var canColorByObject = {\n primary: true\n };\n\n if (hyperCube) {\n var colorOptions = Object(_get_color_options__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(visualization);\n canColorByObject.byDimension = colorOptions.dimension(hyperCube);\n canColorByObject.byMeasure = colorOptions.measure(hyperCube);\n canColorByObject.byMultiple = colorOptions.multiColor(hyperCube);\n canColorByObject.byExpression = colorOptions.expression(hyperCube);\n }\n\n return canColorByObject;\n}\n\n/***/ }),\n\n/***/ \"./color-chart/import-properties/helpers/get-color-by-definition.js\":\n/*!**************************************************************************!*\\\n !*** ./color-chart/import-properties/helpers/get-color-by-definition.js ***!\n \\**************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getColorByDefinition; });\n/* harmony import */ var _get_expression__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./get-expression */ \"./color-chart/import-properties/helpers/get-expression.js\");\n/* harmony import */ var _get_dimension_label__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./get-dimension-label */ \"./color-chart/import-properties/helpers/get-dimension-label.js\");\n/* harmony import */ var _get_measure_label__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./get-measure-label */ \"./color-chart/import-properties/helpers/get-measure-label.js\");\n/* harmony import */ var _get_measure_library_id__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./get-measure-library-id */ \"./color-chart/import-properties/helpers/get-measure-library-id.js\");\n/* eslint-disable prefer-destructuring */\n\n\n\n\nfunction getColorByDefinition(type, isAttribute, target, colorByActiveMeasure) {\n var ret = {};\n var qLibraryId;\n var expression;\n\n switch (type) {\n case 'dimension':\n if (target.qLibraryId) {\n ret.type = 'dimension';\n ret.name = target.qLibraryId;\n ret.id = target.qLibraryId;\n } else {\n ret.type = 'field';\n\n if (isAttribute) {\n ret.name = target.label || target.qDef;\n ret.id = target.qDef;\n } else {\n ret.name = target.qDef.qFieldDefs[0];\n ret.label = Object(_get_dimension_label__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(target);\n }\n }\n\n break;\n\n case 'measure':\n qLibraryId = Object(_get_measure_library_id__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(target, isAttribute);\n\n if (qLibraryId) {\n ret.type = 'measure';\n ret.name = qLibraryId;\n ret.id = qLibraryId;\n expression = Object(_get_expression__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(target, colorByActiveMeasure);\n\n if (expression) {\n ret.expression = expression;\n }\n } else {\n ret.type = 'expression';\n\n if (isAttribute) {\n ret.name = target.label || target.qExpression;\n ret.id = target.qExpression;\n } else {\n ret.name = target.qDef.qDef;\n ret.label = Object(_get_measure_label__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(target);\n }\n }\n\n break;\n\n default:\n throw new Error('columnType should be \"dimension\" or \"measure\"');\n }\n\n return ret;\n}\n\n/***/ }),\n\n/***/ \"./color-chart/import-properties/helpers/get-color-options.js\":\n/*!********************************************************************!*\\\n !*** ./color-chart/import-properties/helpers/get-color-options.js ***!\n \\********************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getColorOptions; });\n/* harmony import */ var _patches_default__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./patches/default */ \"./color-chart/import-properties/helpers/patches/default.js\");\n/* harmony import */ var _patches_scatter_plot__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./patches/scatter-plot */ \"./color-chart/import-properties/helpers/patches/scatter-plot.js\");\n/* harmony import */ var _patches_pie_chart__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./patches/pie-chart */ \"./color-chart/import-properties/helpers/patches/pie-chart.js\");\n/* harmony import */ var _patches_line_chart__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./patches/line-chart */ \"./color-chart/import-properties/helpers/patches/line-chart.js\");\n/* harmony import */ var _patches_map__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./patches/map */ \"./color-chart/import-properties/helpers/patches/map.js\");\n/* harmony import */ var _patches_distribution_plot__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./patches/distribution-plot */ \"./color-chart/import-properties/helpers/patches/distribution-plot.js\");\n\n\n\n\n\n\nvar chartMap = {\n scatterplot: _patches_scatter_plot__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n 'sn-scatter-plot': _patches_scatter_plot__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n piechart: _patches_pie_chart__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n linechart: _patches_line_chart__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n map: _patches_map__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n distributionplot: _patches_distribution_plot__WEBPACK_IMPORTED_MODULE_5__[\"default\"]\n};\nfunction getColorOptions(chart) {\n var targetPatch = chartMap[chart] || _patches_default__WEBPACK_IMPORTED_MODULE_0__[\"default\"];\n return targetPatch.colorModeOptions || _patches_default__WEBPACK_IMPORTED_MODULE_0__[\"default\"].colorModeOptions;\n}\n\n/***/ }),\n\n/***/ \"./color-chart/import-properties/helpers/get-dimension-label.js\":\n/*!**********************************************************************!*\\\n !*** ./color-chart/import-properties/helpers/get-dimension-label.js ***!\n \\**********************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getDimensionLabel; });\nfunction getDimensionLabel(dimension) {\n var qDef = dimension.qDef;\n\n if (qDef.qLabelExpression) {\n return qDef.qLabelExpression;\n }\n\n return qDef.qFieldLabels && qDef.qFieldLabels[0] ? qDef.qFieldLabels[0] : qDef.qFieldDefs[0];\n}\n\n/***/ }),\n\n/***/ \"./color-chart/import-properties/helpers/get-expression.js\":\n/*!*****************************************************************!*\\\n !*** ./color-chart/import-properties/helpers/get-expression.js ***!\n \\*****************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getExpression; });\n/* harmony import */ var qlik_modifiers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! qlik-modifiers */ \"../node_modules/qlik-modifiers/dist/qlik-modifiers.js\");\n/* harmony import */ var qlik_modifiers__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(qlik_modifiers__WEBPACK_IMPORTED_MODULE_0__);\n\nfunction getExpression(measure, colorByActiveMeasure) {\n var hasActiveModifiers = qlik_modifiers__WEBPACK_IMPORTED_MODULE_0___default.a.hasActiveModifiers({\n measures: [measure]\n }); // Only when a modifier is applied to a master measure and color by 'Measure 1' (or 'Measure 2', etc.)\n\n return hasActiveModifiers && colorByActiveMeasure ? measure.qDef.qDef : undefined;\n}\n\n/***/ }),\n\n/***/ \"./color-chart/import-properties/helpers/get-measure-label.js\":\n/*!********************************************************************!*\\\n !*** ./color-chart/import-properties/helpers/get-measure-label.js ***!\n \\********************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getMeasureLabel; });\nfunction getMeasureLabel(measure) {\n var qDef = measure.qDef;\n\n if (qDef.qLabelExpression) {\n return qDef.qLabelExpression;\n }\n\n return qDef.qLabel ? qDef.qLabel : qDef.qDef;\n}\n\n/***/ }),\n\n/***/ \"./color-chart/import-properties/helpers/get-measure-library-id.js\":\n/*!*************************************************************************!*\\\n !*** ./color-chart/import-properties/helpers/get-measure-library-id.js ***!\n \\*************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getMeasureLibraryId; });\n/* harmony import */ var qlik_modifiers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! qlik-modifiers */ \"../node_modules/qlik-modifiers/dist/qlik-modifiers.js\");\n/* harmony import */ var qlik_modifiers__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(qlik_modifiers__WEBPACK_IMPORTED_MODULE_0__);\n\nfunction getMeasureLibraryId(measure, isAttribute) {\n return isAttribute ? measure.qLibraryId : qlik_modifiers__WEBPACK_IMPORTED_MODULE_0___default.a.measureBase.getLibraryId(measure);\n}\n\n/***/ }),\n\n/***/ \"./color-chart/import-properties/helpers/index.js\":\n/*!********************************************************!*\\\n !*** ./color-chart/import-properties/helpers/index.js ***!\n \\********************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _change_property__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./change-property */ \"./color-chart/import-properties/helpers/change-property.js\");\n/* harmony import */ var _get_can_color_by__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./get-can-color-by */ \"./color-chart/import-properties/helpers/get-can-color-by.js\");\n/* harmony import */ var _should_update_color_by__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./should-update-color-by */ \"./color-chart/import-properties/helpers/should-update-color-by.js\");\n/* harmony import */ var _update_color_by__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./update-color-by */ \"./color-chart/import-properties/helpers/update-color-by.js\");\n/* harmony import */ var _delete_total_mode__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./delete-total-mode */ \"./color-chart/import-properties/helpers/delete-total-mode.js\");\n/* harmony import */ var _should_add_color_by_expression__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./should-add-color-by-expression */ \"./color-chart/import-properties/helpers/should-add-color-by-expression.js\");\n/* harmony import */ var _add_color_by_expression__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./add-color-by-expression */ \"./color-chart/import-properties/helpers/add-color-by-expression.js\");\n/* harmony import */ var _switch_to_auto_color__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./switch-to-auto-color */ \"./color-chart/import-properties/helpers/switch-to-auto-color.js\");\n/* harmony import */ var _should_switch_to_color_persistent__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./should-switch-to-color-persistent */ \"./color-chart/import-properties/helpers/should-switch-to-color-persistent.js\");\n\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n changeProperty: _change_property__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n getCanColorBy: _get_can_color_by__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n shouldUpdateColorBy: _should_update_color_by__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n updateColorBy: _update_color_by__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n deleteTotalMode: _delete_total_mode__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n shouldAddColorByExpression: _should_add_color_by_expression__WEBPACK_IMPORTED_MODULE_5__[\"default\"],\n addColorByExpression: _add_color_by_expression__WEBPACK_IMPORTED_MODULE_6__[\"default\"],\n switchToAutoColor: _switch_to_auto_color__WEBPACK_IMPORTED_MODULE_7__[\"default\"],\n shouldSwitchToColorPersistent: _should_switch_to_color_persistent__WEBPACK_IMPORTED_MODULE_8__[\"default\"]\n});\n\n/***/ }),\n\n/***/ \"./color-chart/import-properties/helpers/is-map-point-layer.js\":\n/*!*********************************************************************!*\\\n !*** ./color-chart/import-properties/helpers/is-map-point-layer.js ***!\n \\*********************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return isMapPointLayer; });\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../utils */ \"./utils/index.js\");\n\nfunction isMapPointLayer(dimensions, properties, path) {\n var viz = _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getValue(properties, 'visualization');\n var array = path.split('.');\n var layerIndex = Number(array[1]);\n var type = _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getValue(properties, \"layers.\".concat(layerIndex, \".type\"));\n\n if (dimensions.length === 2 && viz === 'map' && type === 'point') {\n return true;\n }\n\n return false;\n}\n\n/***/ }),\n\n/***/ \"./color-chart/import-properties/helpers/patches/default.js\":\n/*!******************************************************************!*\\\n !*** ./color-chart/import-properties/helpers/patches/default.js ***!\n \\******************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_hypercube_util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../utils/hypercube-util */ \"./utils/hypercube-util.js\");\n\n\nvar primary = function primary() {\n return true;\n};\n\nvar dimension = function dimension(data) {\n return _utils_hypercube_util__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getNumDimensions(data) > 0 && _utils_hypercube_util__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getNumMeasures(data) <= 1;\n};\n\nvar multiColor = function multiColor(data) {\n return _utils_hypercube_util__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getNumMeasures(data) > 1;\n};\n\nvar measure = function measure(data) {\n return _utils_hypercube_util__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getNumDimensions(data) > 0;\n};\n\nvar expression = function expression(data) {\n return _utils_hypercube_util__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getNumMeasures(data) >= 1;\n};\n\nvar colorModeOptions = {\n primary: primary,\n dimension: dimension,\n multiColor: multiColor,\n measure: measure,\n expression: expression\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n colorModeOptions: colorModeOptions\n});\n\n/***/ }),\n\n/***/ \"./color-chart/import-properties/helpers/patches/distribution-plot.js\":\n/*!****************************************************************************!*\\\n !*** ./color-chart/import-properties/helpers/patches/distribution-plot.js ***!\n \\****************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_hypercube_util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../utils/hypercube-util */ \"./utils/hypercube-util.js\");\n\n\nvar primary = function primary() {\n return true;\n};\n\nvar dimension = function dimension() {\n return true;\n};\n\nvar multiColor = function multiColor() {\n return false;\n};\n\nvar measure = function measure() {\n return true;\n};\n\nvar expression = function expression(data) {\n return _utils_hypercube_util__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getNumDimensions(data) >= 1;\n};\n\nvar colorModeOptions = {\n primary: primary,\n dimension: dimension,\n multiColor: multiColor,\n measure: measure,\n expression: expression\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n colorModeOptions: colorModeOptions\n});\n\n/***/ }),\n\n/***/ \"./color-chart/import-properties/helpers/patches/line-chart.js\":\n/*!*********************************************************************!*\\\n !*** ./color-chart/import-properties/helpers/patches/line-chart.js ***!\n \\*********************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_hypercube_util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../utils/hypercube-util */ \"./utils/hypercube-util.js\");\n\n\nvar primary = function primary() {\n return true;\n};\n\nvar dimension = function dimension(data) {\n return _utils_hypercube_util__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getNumDimensions(data) > 1;\n};\n\nvar multiColor = function multiColor(data) {\n return _utils_hypercube_util__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getNumMeasures(data) > 1;\n};\n\nvar measure = function measure(data) {\n return _utils_hypercube_util__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getNumDimensions(data) <= 1;\n};\n\nvar expression = function expression(data) {\n return _utils_hypercube_util__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getNumMeasures(data) >= 1;\n};\n\nvar colorModeOptions = {\n primary: primary,\n dimension: dimension,\n multiColor: multiColor,\n measure: measure,\n expression: expression\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n colorModeOptions: colorModeOptions\n});\n\n/***/ }),\n\n/***/ \"./color-chart/import-properties/helpers/patches/map.js\":\n/*!**************************************************************!*\\\n !*** ./color-chart/import-properties/helpers/patches/map.js ***!\n \\**************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_hypercube_util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../utils/hypercube-util */ \"./utils/hypercube-util.js\");\n\n\nvar primary = function primary() {\n return true;\n};\n\nvar dimension = function dimension(data) {\n return _utils_hypercube_util__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getNumDimensions(data) >= 1;\n};\n\nvar multiColor = function multiColor(data) {\n return _utils_hypercube_util__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getNumMeasures(data) > 1;\n};\n\nvar measure = function measure(data) {\n return _utils_hypercube_util__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getNumDimensions(data) >= 1;\n};\n\nvar expression = function expression(data) {\n return _utils_hypercube_util__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getNumDimensions(data) >= 1;\n};\n\nvar colorModeOptions = {\n primary: primary,\n dimension: dimension,\n multiColor: multiColor,\n measure: measure,\n expression: expression\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n colorModeOptions: colorModeOptions\n});\n\n/***/ }),\n\n/***/ \"./color-chart/import-properties/helpers/patches/pie-chart.js\":\n/*!********************************************************************!*\\\n !*** ./color-chart/import-properties/helpers/patches/pie-chart.js ***!\n \\********************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_hypercube_util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../utils/hypercube-util */ \"./utils/hypercube-util.js\");\n\n\nvar primary = function primary() {\n return true;\n};\n\nvar dimension = function dimension() {\n return true;\n};\n\nvar multiColor = function multiColor() {\n return false;\n};\n\nvar measure = function measure() {\n return true;\n};\n\nvar expression = function expression(data) {\n return _utils_hypercube_util__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getNumMeasures(data) >= 1;\n};\n\nvar colorModeOptions = {\n primary: primary,\n dimension: dimension,\n multiColor: multiColor,\n measure: measure,\n expression: expression\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n colorModeOptions: colorModeOptions\n});\n\n/***/ }),\n\n/***/ \"./color-chart/import-properties/helpers/patches/scatter-plot.js\":\n/*!***********************************************************************!*\\\n !*** ./color-chart/import-properties/helpers/patches/scatter-plot.js ***!\n \\***********************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_hypercube_util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../utils/hypercube-util */ \"./utils/hypercube-util.js\");\n\n\nvar primary = function primary() {\n return true;\n};\n\nvar dimension = function dimension() {\n return true;\n};\n\nvar multiColor = function multiColor() {\n return false;\n};\n\nvar measure = function measure() {\n return true;\n};\n\nvar expression = function expression(data) {\n return _utils_hypercube_util__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getNumMeasures(data) >= 1;\n};\n\nvar colorModeOptions = {\n primary: primary,\n dimension: dimension,\n multiColor: multiColor,\n measure: measure,\n expression: expression\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n colorModeOptions: colorModeOptions\n});\n\n/***/ }),\n\n/***/ \"./color-chart/import-properties/helpers/resolve-color-by-property-def.js\":\n/*!********************************************************************************!*\\\n !*** ./color-chart/import-properties/helpers/resolve-color-by-property-def.js ***!\n \\********************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return resolveColorByPropertyDef; });\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../utils */ \"./utils/index.js\");\n/* harmony import */ var _utils_attribute_expression_util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../utils/attribute-expression-util */ \"./utils/attribute-expression-util/index.js\");\n/* harmony import */ var _clear_color_by_item__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./clear-color-by-item */ \"./color-chart/import-properties/helpers/clear-color-by-item.js\");\n/* harmony import */ var _set_attribute_by_expression__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./set-attribute-by-expression */ \"./color-chart/import-properties/helpers/set-attribute-by-expression.js\");\n/* harmony import */ var _set_attribute_by_library__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./set-attribute-by-library */ \"./color-chart/import-properties/helpers/set-attribute-by-library.js\");\n\n\n\n\n\nfunction resolveColorByPropertyDef(_ref) {\n var properties = _ref.properties,\n isDimension = _ref.isDimension,\n dimensions = _ref.dimensions,\n excludedDimensions = _ref.excludedDimensions,\n measures = _ref.measures,\n label = _ref.label;\n Object(_clear_color_by_item__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(dimensions, excludedDimensions);\n var dimension = dimensions[dimensions.length - 1];\n\n if (dimension) {\n var item = isDimension ? _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getValue(properties, 'color.byDimDef') : _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getValue(properties, 'color.byMeasureDef');\n var qNumFormat = _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getValue(properties, 'color.formatting.qNumFormat');\n var isCustomFormatted = _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getValue(properties, 'color.formatting.isCustomFormatted');\n\n if (item) {\n var attributeExpression = _utils_attribute_expression_util__WEBPACK_IMPORTED_MODULE_1__[\"default\"].create(_utils_attribute_expression_util__WEBPACK_IMPORTED_MODULE_1__[\"default\"].IDMAP.COLOR_BY_ALTERNATIVE);\n\n switch (item.type) {\n case 'expression':\n Object(_set_attribute_by_expression__WEBPACK_IMPORTED_MODULE_3__[\"default\"])({\n attributeExpression: attributeExpression,\n label: label,\n item: item,\n isDimension: isDimension,\n qNumFormat: qNumFormat,\n isCustomFormatted: isCustomFormatted\n });\n break;\n\n case 'libraryItem':\n Object(_set_attribute_by_library__WEBPACK_IMPORTED_MODULE_4__[\"default\"])({\n attributeExpression: attributeExpression,\n measures: measures,\n item: item,\n isDimension: isDimension,\n qNumFormat: qNumFormat,\n isCustomFormatted: isCustomFormatted\n });\n break;\n\n default:\n break;\n }\n\n if (isDimension) {\n attributeExpression.qSortBy = {\n qSortByAscii: 1\n };\n dimension.qAttributeDimensions.push(attributeExpression);\n } else {\n dimension.qAttributeExpressions.push(attributeExpression);\n }\n }\n }\n}\n\n/***/ }),\n\n/***/ \"./color-chart/import-properties/helpers/set-alt-label.js\":\n/*!****************************************************************!*\\\n !*** ./color-chart/import-properties/helpers/set-alt-label.js ***!\n \\****************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return setAltLabel; });\n/* eslint-disable no-param-reassign */\nfunction setAltLabel(properties, label) {\n if (!label) {\n return;\n }\n\n var isExpression = label.charAt(0) === '=';\n properties.color.altLabel = isExpression ? {\n qStringExpression: {\n qExpr: label.substr(1)\n }\n } : label;\n}\n\n/***/ }),\n\n/***/ \"./color-chart/import-properties/helpers/set-attribute-by-expression.js\":\n/*!******************************************************************************!*\\\n !*** ./color-chart/import-properties/helpers/set-attribute-by-expression.js ***!\n \\******************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return setAttributeByExpression; });\n/* eslint-disable no-param-reassign */\nfunction setAttributeByExpression(_ref) {\n var attributeExpression = _ref.attributeExpression,\n label = _ref.label,\n item = _ref.item,\n isDimension = _ref.isDimension,\n qNumFormat = _ref.qNumFormat,\n isCustomFormatted = _ref.isCustomFormatted;\n attributeExpression.label = label || item.label;\n\n if (isDimension) {\n attributeExpression.qDef = item.key;\n } else {\n attributeExpression.qExpression = item.key;\n\n if (qNumFormat) {\n attributeExpression.qNumFormat = qNumFormat;\n attributeExpression.isCustomFormatted = isCustomFormatted;\n }\n }\n\n attributeExpression.matchMeasure = item.activeMeasureIndex;\n\n if (attributeExpression.label && attributeExpression.label.charAt(0) === '=') {\n attributeExpression.labelExpRef = 'color.altLabel';\n }\n}\n\n/***/ }),\n\n/***/ \"./color-chart/import-properties/helpers/set-attribute-by-library.js\":\n/*!***************************************************************************!*\\\n !*** ./color-chart/import-properties/helpers/set-attribute-by-library.js ***!\n \\***************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return setAttributeByLibrary; });\n/* harmony import */ var _utils_array_util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../utils/array-util */ \"./utils/array-util.js\");\n/* eslint-disable no-param-reassign */\n\nfunction setAttributeByLibrary(_ref) {\n var attributeExpression = _ref.attributeExpression,\n measures = _ref.measures,\n item = _ref.item,\n isDimension = _ref.isDimension,\n qNumFormat = _ref.qNumFormat,\n isCustomFormatted = _ref.isCustomFormatted;\n\n if (!isDimension) {\n // Figure out if we are using a library item that matches one in data\n attributeExpression.matchMeasure = _utils_array_util__WEBPACK_IMPORTED_MODULE_0__[\"default\"].findIndexByPropertyValue(measures, 'qLibraryId', item.key);\n\n if (qNumFormat) {\n attributeExpression.qNumFormat = qNumFormat;\n attributeExpression.isCustomFormatted = isCustomFormatted;\n }\n } // When modifier is applied to a master measure, the color scheme is from master measure but the value is from the generated expression\n\n\n if (typeof item.expression !== 'undefined') {\n attributeExpression.qExpression = item.expression;\n } else {\n attributeExpression.qLibraryId = item.key;\n }\n\n attributeExpression.colorMapRef = item.key;\n}\n\n/***/ }),\n\n/***/ \"./color-chart/import-properties/helpers/set-color-by-dimension-1.js\":\n/*!***************************************************************************!*\\\n !*** ./color-chart/import-properties/helpers/set-color-by-dimension-1.js ***!\n \\***************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return setColorByDimension1; });\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../utils */ \"./utils/index.js\");\n/* harmony import */ var _get_color_by_definition__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./get-color-by-definition */ \"./color-chart/import-properties/helpers/get-color-by-definition.js\");\n/* harmony import */ var _set_color_by_property_def__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./set-color-by-property-def */ \"./color-chart/import-properties/helpers/set-color-by-property-def.js\");\n\n\n\nfunction setColorByDimension1(properties, path) {\n var dimensions = _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getValue(properties, \"\".concat(path, \"qDimensions\"), []);\n var item = _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getValue(properties, 'color.byDimDef');\n item.activeDimensionIndex = Math.min(item.activeDimensionIndex, dimensions.length - 1); // Set to last active dimension index if index if out of bounds\n\n var dimension = dimensions[item.activeDimensionIndex];\n var colorByDefinition = Object(_get_color_by_definition__WEBPACK_IMPORTED_MODULE_1__[\"default\"])('dimension', false, dimension);\n colorByDefinition.activeDimensionIndex = item.activeDimensionIndex;\n Object(_set_color_by_property_def__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(properties, colorByDefinition);\n}\n\n/***/ }),\n\n/***/ \"./color-chart/import-properties/helpers/set-color-by-dimension-2.js\":\n/*!***************************************************************************!*\\\n !*** ./color-chart/import-properties/helpers/set-color-by-dimension-2.js ***!\n \\***************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return setColorByDimension2; });\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../utils */ \"./utils/index.js\");\n/* harmony import */ var _utils_array_util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../utils/array-util */ \"./utils/array-util.js\");\n/* harmony import */ var _utils_attribute_expression_util__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../utils/attribute-expression-util */ \"./utils/attribute-expression-util/index.js\");\n/* harmony import */ var _get_color_by_definition__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./get-color-by-definition */ \"./color-chart/import-properties/helpers/get-color-by-definition.js\");\n/* harmony import */ var _set_color_by_property_def__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./set-color-by-property-def */ \"./color-chart/import-properties/helpers/set-color-by-property-def.js\");\n/* harmony import */ var _is_map_point_layer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./is-map-point-layer */ \"./color-chart/import-properties/helpers/is-map-point-layer.js\");\n\n\n\n\n\n\nfunction setColorByDimension2(properties, path) {\n // special treatment for a map point layer where the second dimension is a hidden geo-dimension\n // replace the hidden geo-dimension by the first dimension which is point names\n var dimensions = _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getValue(properties, \"\".concat(path, \"qDimensions\"), []);\n var dimension = dimensions[Object(_is_map_point_layer__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(dimensions, properties, path) ? 0 : dimensions.length - 1];\n var COLOR_BY_ALTERNATIVE = _utils_attribute_expression_util__WEBPACK_IMPORTED_MODULE_2__[\"default\"].IDMAP.COLOR_BY_ALTERNATIVE;\n var attrDim = _utils_array_util__WEBPACK_IMPORTED_MODULE_1__[\"default\"].findItemByPropertyValue(dimension.qAttributeDimensions, 'id', COLOR_BY_ALTERNATIVE);\n Object(_set_color_by_property_def__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(properties, Object(_get_color_by_definition__WEBPACK_IMPORTED_MODULE_3__[\"default\"])('dimension', !!attrDim, attrDim || dimension));\n return !!attrDim;\n}\n\n/***/ }),\n\n/***/ \"./color-chart/import-properties/helpers/set-color-by-measure-1.js\":\n/*!*************************************************************************!*\\\n !*** ./color-chart/import-properties/helpers/set-color-by-measure-1.js ***!\n \\*************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return setColorByMeasure1; });\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../utils */ \"./utils/index.js\");\n/* harmony import */ var _get_color_by_definition__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./get-color-by-definition */ \"./color-chart/import-properties/helpers/get-color-by-definition.js\");\n/* harmony import */ var _set_color_by_property_def__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./set-color-by-property-def */ \"./color-chart/import-properties/helpers/set-color-by-property-def.js\");\n\n\n\nfunction setColorByMeasure1(properties, path) {\n var measures = _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getValue(properties, \"\".concat(path, \"qMeasures\"), []);\n var item = _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getValue(properties, 'color.byMeasureDef');\n item.activeMeasureIndex = Math.min(item.activeMeasureIndex, measures.length - 1); // Set to last active measure index if index if out of bounds\n\n if (item.activeMeasureIndex > -1) {\n var measure = measures[item.activeMeasureIndex];\n var colorByDefinition = Object(_get_color_by_definition__WEBPACK_IMPORTED_MODULE_1__[\"default\"])('measure', false, measure, true);\n colorByDefinition.activeMeasureIndex = item.activeMeasureIndex;\n Object(_set_color_by_property_def__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(properties, colorByDefinition);\n }\n}\n\n/***/ }),\n\n/***/ \"./color-chart/import-properties/helpers/set-color-by-measure-2.js\":\n/*!*************************************************************************!*\\\n !*** ./color-chart/import-properties/helpers/set-color-by-measure-2.js ***!\n \\*************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return setColorByMeasure2; });\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../utils */ \"./utils/index.js\");\n/* harmony import */ var _utils_array_util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../utils/array-util */ \"./utils/array-util.js\");\n/* harmony import */ var _utils_attribute_expression_util__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../utils/attribute-expression-util */ \"./utils/attribute-expression-util/index.js\");\n/* harmony import */ var _get_color_by_definition__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./get-color-by-definition */ \"./color-chart/import-properties/helpers/get-color-by-definition.js\");\n/* harmony import */ var _set_color_by_property_def__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./set-color-by-property-def */ \"./color-chart/import-properties/helpers/set-color-by-property-def.js\");\n\n\n\n\n\nfunction setColorByMeasure2(properties, path) {\n var dimensions = _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getValue(properties, \"\".concat(path, \"qDimensions\"), []);\n var measures = _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getValue(properties, \"\".concat(path, \"qMeasures\"), []);\n var dimension = dimensions[dimensions.length - 1];\n var COLOR_BY_ALTERNATIVE = _utils_attribute_expression_util__WEBPACK_IMPORTED_MODULE_2__[\"default\"].IDMAP.COLOR_BY_ALTERNATIVE;\n var attrDim = _utils_array_util__WEBPACK_IMPORTED_MODULE_1__[\"default\"].findItemByPropertyValue(dimension.qAttributeExpressions, 'id', COLOR_BY_ALTERNATIVE);\n Object(_set_color_by_property_def__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(properties, Object(_get_color_by_definition__WEBPACK_IMPORTED_MODULE_3__[\"default\"])('measure', !!attrDim, attrDim || measures[0]));\n return !!attrDim;\n}\n\n/***/ }),\n\n/***/ \"./color-chart/import-properties/helpers/set-color-by-property-def.js\":\n/*!****************************************************************************!*\\\n !*** ./color-chart/import-properties/helpers/set-color-by-property-def.js ***!\n \\****************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return setColorByPropertyDef; });\n/* harmony import */ var _utils_hypercube_util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../utils/hypercube-util */ \"./utils/hypercube-util.js\");\n/* harmony import */ var _utils_number_format_util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../utils/number-format-util */ \"./utils/number-format-util.js\");\n/* harmony import */ var _set_alt_label__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./set-alt-label */ \"./color-chart/import-properties/helpers/set-alt-label.js\");\n/* eslint-disable no-param-reassign */\n\n\n\nfunction setColorByPropertyDef(properties, item, expression, keepMode) {\n var itemType = expression ? 'expression' : item.type;\n var color = properties.color;\n var mode = color.mode;\n var label = _utils_hypercube_util__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getItemLabel(item);\n Object(_set_alt_label__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(properties, label || '');\n\n switch (itemType) {\n case 'field':\n mode = 'byDimension';\n color.byDimDef = {\n label: item.label || _utils_hypercube_util__WEBPACK_IMPORTED_MODULE_0__[\"default\"].wrapFieldName(item.name),\n key: _utils_hypercube_util__WEBPACK_IMPORTED_MODULE_0__[\"default\"].wrapFieldName(item.name),\n type: 'expression',\n activeDimensionIndex: item.activeDimensionIndex\n };\n break;\n\n case 'expression':\n mode = 'byMeasure';\n color.byMeasureDef = {\n label: expression || label,\n key: expression || item.name,\n type: 'expression',\n activeMeasureIndex: item.activeMeasureIndex\n };\n break;\n\n case 'dimension':\n mode = 'byDimension';\n color.byDimDef = {\n label: item.name,\n key: item.id,\n type: 'libraryItem',\n activeDimensionIndex: item.activeDimensionIndex\n };\n break;\n\n case 'measure':\n mode = 'byMeasure';\n color.byMeasureDef = {\n label: item.name,\n key: item.id,\n expression: item.expression,\n type: 'libraryItem',\n activeMeasureIndex: item.activeMeasureIndex\n };\n\n if (color.formatting) {\n _utils_number_format_util__WEBPACK_IMPORTED_MODULE_1__[\"default\"].useMasterNumberFormat(color.formatting);\n }\n\n break;\n\n default:\n break;\n }\n\n if (!keepMode) {\n color.auto = false;\n color.mode = mode;\n }\n}\n\n/***/ }),\n\n/***/ \"./color-chart/import-properties/helpers/should-add-color-by-expression.js\":\n/*!*********************************************************************************!*\\\n !*** ./color-chart/import-properties/helpers/should-add-color-by-expression.js ***!\n \\*********************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return shouldAddColorByExpression; });\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../utils */ \"./utils/index.js\");\n\nfunction shouldAddColorByExpression(_ref) {\n var shouldUpdateColorBy = _ref.shouldUpdateColorBy,\n properties = _ref.properties;\n var measures = _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getValue(properties, 'qHyperCubeDef.qMeasures', []);\n var colorMode = _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getValue(properties, 'color.mode', '');\n return !shouldUpdateColorBy && colorMode === 'byExpression' && measures.length > 0;\n}\n\n/***/ }),\n\n/***/ \"./color-chart/import-properties/helpers/should-set-color-by-dimension-1.js\":\n/*!**********************************************************************************!*\\\n !*** ./color-chart/import-properties/helpers/should-set-color-by-dimension-1.js ***!\n \\**********************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return shouldSetColorByDimension1; });\nfunction shouldSetColorByDimension1(item) {\n return !!(item && item.activeDimensionIndex > -1);\n}\n\n/***/ }),\n\n/***/ \"./color-chart/import-properties/helpers/should-set-color-by-dimension-2.js\":\n/*!**********************************************************************************!*\\\n !*** ./color-chart/import-properties/helpers/should-set-color-by-dimension-2.js ***!\n \\**********************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return shouldSetColorByDimension2; });\nfunction shouldSetColorByDimension2(item) {\n return !item || !item.key;\n}\n\n/***/ }),\n\n/***/ \"./color-chart/import-properties/helpers/should-set-color-by-measure-1.js\":\n/*!********************************************************************************!*\\\n !*** ./color-chart/import-properties/helpers/should-set-color-by-measure-1.js ***!\n \\********************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return shouldSetColorByMeasure1; });\nfunction shouldSetColorByMeasure1(item) {\n return !!(item && item.activeMeasureIndex > -1);\n}\n\n/***/ }),\n\n/***/ \"./color-chart/import-properties/helpers/should-set-color-by-measure-2.js\":\n/*!********************************************************************************!*\\\n !*** ./color-chart/import-properties/helpers/should-set-color-by-measure-2.js ***!\n \\********************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return shouldSetColorByMeasure2; });\nfunction shouldSetColorByMeasure2(item, measures) {\n return (!item || !item.key) && measures.length > 0;\n}\n\n/***/ }),\n\n/***/ \"./color-chart/import-properties/helpers/should-switch-to-color-persistent.js\":\n/*!************************************************************************************!*\\\n !*** ./color-chart/import-properties/helpers/should-switch-to-color-persistent.js ***!\n \\************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return shouldSwitchToColorPersistent; });\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../utils */ \"./utils/index.js\");\n\nfunction shouldSwitchToColorPersistent(properties) {\n var dimensions = _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getValue(properties, 'qHyperCubeDef.qDimensions', []);\n var isPersistent = _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getValue(properties, 'color.persistent', false);\n return dimensions.length > 1 && !isPersistent;\n}\n\n/***/ }),\n\n/***/ \"./color-chart/import-properties/helpers/should-update-color-by-dimension.js\":\n/*!***********************************************************************************!*\\\n !*** ./color-chart/import-properties/helpers/should-update-color-by-dimension.js ***!\n \\***********************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return shouldUpdateColorByDimension; });\nfunction shouldUpdateColorByDimension(_ref) {\n var auto = _ref.auto,\n colorMode = _ref.colorMode,\n dimensions = _ref.dimensions;\n return !auto && colorMode === 'byDimension' && dimensions.length > 0;\n}\n\n/***/ }),\n\n/***/ \"./color-chart/import-properties/helpers/should-update-color-by-measure.js\":\n/*!*********************************************************************************!*\\\n !*** ./color-chart/import-properties/helpers/should-update-color-by-measure.js ***!\n \\*********************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return shouldUpdateColorByMeasure; });\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../utils */ \"./utils/index.js\");\n\nfunction shouldUpdateColorByMeasure(_ref) {\n var auto = _ref.auto,\n colorMode = _ref.colorMode,\n dimensions = _ref.dimensions,\n measures = _ref.measures,\n properties = _ref.properties;\n var viz = _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getValue(properties, 'visualization');\n return !!(!auto && colorMode === 'byMeasure' && dimensions.length && (viz === 'map' || measures.length));\n}\n\n/***/ }),\n\n/***/ \"./color-chart/import-properties/helpers/should-update-color-by.js\":\n/*!*************************************************************************!*\\\n !*** ./color-chart/import-properties/helpers/should-update-color-by.js ***!\n \\*************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return shouldUpdateColorBy; });\nfunction shouldUpdateColorBy(_ref) {\n var canColorBy = _ref.canColorBy,\n autoColor = _ref.autoColor,\n colorMode = _ref.colorMode,\n dimensions = _ref.dimensions;\n return !!(!canColorBy[colorMode] || autoColor || (colorMode === 'byDimension' || colorMode === 'byMeasure') && dimensions.length);\n}\n\n/***/ }),\n\n/***/ \"./color-chart/import-properties/helpers/switch-to-auto-color.js\":\n/*!***********************************************************************!*\\\n !*** ./color-chart/import-properties/helpers/switch-to-auto-color.js ***!\n \\***********************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return switchToAutoColor; });\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../utils */ \"./utils/index.js\");\n\nfunction switchToAutoColor(properties) {\n _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].setValue(properties, 'color.mode', 'primary');\n _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].setValue(properties, 'color.auto', true);\n}\n\n/***/ }),\n\n/***/ \"./color-chart/import-properties/helpers/update-color-by-dimension.js\":\n/*!****************************************************************************!*\\\n !*** ./color-chart/import-properties/helpers/update-color-by-dimension.js ***!\n \\****************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return updateColorByDimension; });\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../utils */ \"./utils/index.js\");\n/* harmony import */ var _set_alt_label__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./set-alt-label */ \"./color-chart/import-properties/helpers/set-alt-label.js\");\n/* harmony import */ var _resolve_color_by_property_def__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./resolve-color-by-property-def */ \"./color-chart/import-properties/helpers/resolve-color-by-property-def.js\");\n/* harmony import */ var _should_set_color_by_dimension_1__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./should-set-color-by-dimension-1 */ \"./color-chart/import-properties/helpers/should-set-color-by-dimension-1.js\");\n/* harmony import */ var _should_set_color_by_dimension_2__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./should-set-color-by-dimension-2 */ \"./color-chart/import-properties/helpers/should-set-color-by-dimension-2.js\");\n/* harmony import */ var _set_color_by_dimension_1__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./set-color-by-dimension-1 */ \"./color-chart/import-properties/helpers/set-color-by-dimension-1.js\");\n/* harmony import */ var _set_color_by_dimension_2__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./set-color-by-dimension-2 */ \"./color-chart/import-properties/helpers/set-color-by-dimension-2.js\");\n\n\n\n\n\n\n\nfunction updateColorByDimension(properties, path) {\n var dimensions = _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getValue(properties, \"\".concat(path, \"qDimensions\"), []);\n var measures = _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getValue(properties, \"\".concat(path, \"qMeasures\"), []);\n var excludedDimensions = _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getValue(properties, \"\".concat(path, \"qLayoutExclude.qHyperCubeDef.qDimensions\"), []);\n var item = _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getValue(properties, 'color.byDimDef');\n\n if (item) {\n Object(_set_alt_label__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(properties, item.label);\n }\n\n if (Object(_should_set_color_by_dimension_1__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(item)) {\n Object(_set_color_by_dimension_1__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(properties, path);\n } else if (Object(_should_set_color_by_dimension_2__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(item)) {\n if (Object(_set_color_by_dimension_2__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(properties, path)) {\n return;\n }\n }\n\n var label = _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getValue(properties, 'color.byDimDef.label');\n var isDimension = true;\n Object(_resolve_color_by_property_def__WEBPACK_IMPORTED_MODULE_2__[\"default\"])({\n properties: properties,\n isDimension: isDimension,\n dimensions: dimensions,\n excludedDimensions: excludedDimensions,\n measures: measures,\n label: label\n });\n}\n\n/***/ }),\n\n/***/ \"./color-chart/import-properties/helpers/update-color-by-measure.js\":\n/*!**************************************************************************!*\\\n !*** ./color-chart/import-properties/helpers/update-color-by-measure.js ***!\n \\**************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return updateColorByMeasure; });\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../utils */ \"./utils/index.js\");\n/* harmony import */ var _set_alt_label__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./set-alt-label */ \"./color-chart/import-properties/helpers/set-alt-label.js\");\n/* harmony import */ var _resolve_color_by_property_def__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./resolve-color-by-property-def */ \"./color-chart/import-properties/helpers/resolve-color-by-property-def.js\");\n/* harmony import */ var _set_color_by_measure_1__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./set-color-by-measure-1 */ \"./color-chart/import-properties/helpers/set-color-by-measure-1.js\");\n/* harmony import */ var _set_color_by_measure_2__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./set-color-by-measure-2 */ \"./color-chart/import-properties/helpers/set-color-by-measure-2.js\");\n/* harmony import */ var _should_set_color_by_measure_1__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./should-set-color-by-measure-1 */ \"./color-chart/import-properties/helpers/should-set-color-by-measure-1.js\");\n/* harmony import */ var _should_set_color_by_measure_2__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./should-set-color-by-measure-2 */ \"./color-chart/import-properties/helpers/should-set-color-by-measure-2.js\");\n\n\n\n\n\n\n\nfunction updateColorByMeasure(properties, path) {\n var dimensions = _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getValue(properties, \"\".concat(path, \"qDimensions\"), []);\n var measures = _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getValue(properties, \"\".concat(path, \"qMeasures\"), []);\n var excludedDimensions = _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getValue(properties, \"\".concat(path, \"qLayoutExclude.qHyperCubeDef.qDimensions\"), []);\n var item = _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getValue(properties, 'color.byMeasureDef');\n\n if (item) {\n Object(_set_alt_label__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(properties, item.label);\n }\n\n if (Object(_should_set_color_by_measure_1__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(item)) {\n Object(_set_color_by_measure_1__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(properties, path);\n } else if (Object(_should_set_color_by_measure_2__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(item, measures)) {\n if (Object(_set_color_by_measure_2__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(properties, path)) {\n return;\n }\n }\n\n var label = _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getValue(properties, 'color.byMeasureDef.label');\n var isDimension = false;\n Object(_resolve_color_by_property_def__WEBPACK_IMPORTED_MODULE_2__[\"default\"])({\n properties: properties,\n isDimension: isDimension,\n dimensions: dimensions,\n excludedDimensions: excludedDimensions,\n measures: measures,\n label: label\n });\n}\n\n/***/ }),\n\n/***/ \"./color-chart/import-properties/helpers/update-color-by-other.js\":\n/*!************************************************************************!*\\\n !*** ./color-chart/import-properties/helpers/update-color-by-other.js ***!\n \\************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return updateColorByOther; });\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../utils */ \"./utils/index.js\");\n/* harmony import */ var _clear_color_by_item__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./clear-color-by-item */ \"./color-chart/import-properties/helpers/clear-color-by-item.js\");\n\n\nfunction updateColorByOther(properties, path) {\n var colorMode = _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getValue(properties, 'color.mode');\n var dimensions = _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getValue(properties, \"\".concat(path, \"qDimensions\"), []);\n var measures = _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getValue(properties, \"\".concat(path, \"qMeasures\"), []);\n var excludedDimensions = _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getValue(properties, \"\".concat(path, \"qLayoutExclude.qHyperCubeDef.qDimensions\"), []);\n\n if (colorMode === 'byMultiple' && measures.length < 2) {\n _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].setValue(properties, 'color.mode', 'primary');\n } // Remove color by properties\n\n\n Object(_clear_color_by_item__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(dimensions, excludedDimensions);\n}\n\n/***/ }),\n\n/***/ \"./color-chart/import-properties/helpers/update-color-by.js\":\n/*!******************************************************************!*\\\n !*** ./color-chart/import-properties/helpers/update-color-by.js ***!\n \\******************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return updateColorBy; });\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../utils */ \"./utils/index.js\");\n/* harmony import */ var _clear_color_by_item__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./clear-color-by-item */ \"./color-chart/import-properties/helpers/clear-color-by-item.js\");\n/* harmony import */ var _should_update_color_by_dimension__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./should-update-color-by-dimension */ \"./color-chart/import-properties/helpers/should-update-color-by-dimension.js\");\n/* harmony import */ var _should_update_color_by_measure__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./should-update-color-by-measure */ \"./color-chart/import-properties/helpers/should-update-color-by-measure.js\");\n/* harmony import */ var _update_color_by_dimension__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./update-color-by-dimension */ \"./color-chart/import-properties/helpers/update-color-by-dimension.js\");\n/* harmony import */ var _update_color_by_measure__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./update-color-by-measure */ \"./color-chart/import-properties/helpers/update-color-by-measure.js\");\n/* harmony import */ var _update_color_by_other__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./update-color-by-other */ \"./color-chart/import-properties/helpers/update-color-by-other.js\");\n/* eslint-disable prefer-destructuring */\n\n/* eslint-disable no-param-reassign */\n\n\n\n\n\n\n\nfunction updateColorBy(properties, path) {\n var colorMode = _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getValue(properties, 'color.mode');\n var auto = _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getValue(properties, 'color.auto');\n var dimensions = _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getValue(properties, \"\".concat(path, \"qDimensions\"), []);\n var measures = _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getValue(properties, \"\".concat(path, \"qMeasures\"), []);\n var excludedDimensions = _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getValue(properties, \"\".concat(path, \"qLayoutExclude.qHyperCubeDef.qDimensions\"), []);\n\n if (auto) {\n Object(_clear_color_by_item__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(dimensions, excludedDimensions);\n } else if (Object(_should_update_color_by_dimension__WEBPACK_IMPORTED_MODULE_2__[\"default\"])({\n auto: auto,\n colorMode: colorMode,\n dimensions: dimensions\n })) {\n Object(_update_color_by_dimension__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(properties, path);\n } else if (Object(_should_update_color_by_measure__WEBPACK_IMPORTED_MODULE_3__[\"default\"])({\n auto: auto,\n colorMode: colorMode,\n dimensions: dimensions,\n measures: measures,\n properties: properties\n })) {\n Object(_update_color_by_measure__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(properties, path);\n } else {\n Object(_update_color_by_other__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(properties, path);\n }\n}\n\n/***/ }),\n\n/***/ \"./color-chart/import-properties/helpers/update-layout-exclude.js\":\n/*!************************************************************************!*\\\n !*** ./color-chart/import-properties/helpers/update-layout-exclude.js ***!\n \\************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return updateLayoutExclude; });\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../utils */ \"./utils/index.js\");\n\nfunction updateLayoutExclude(properties, propertyPath, newValue) {\n var qLayoutExclude = properties.qLayoutExclude;\n\n if (qLayoutExclude) {\n if (!qLayoutExclude.changed) {\n qLayoutExclude.changed = {};\n }\n\n qLayoutExclude.changed[propertyPath] = {\n from: _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getValue(properties, propertyPath),\n to: newValue\n };\n }\n}\n\n/***/ }),\n\n/***/ \"./color-chart/import-properties/index.js\":\n/*!************************************************!*\\\n !*** ./color-chart/import-properties/index.js ***!\n \\************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return importProperties; });\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils */ \"./utils/index.js\");\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./helpers */ \"./color-chart/import-properties/helpers/index.js\");\n/* harmony import */ var _hypercube__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../hypercube */ \"./hypercube/index.js\");\n\n\n\nfunction importProperties(_ref) {\n var exportFormat = _ref.exportFormat,\n initialProperties = _ref.initialProperties,\n dataDefinition = _ref.dataDefinition,\n defaultPropertyValues = _ref.defaultPropertyValues,\n hypercubePath = _ref.hypercubePath,\n extension = _ref.extension,\n supportedFilters = _ref.supportedFilters;\n var propertyTree = _hypercube__WEBPACK_IMPORTED_MODULE_2__[\"default\"].importProperties({\n exportFormat: exportFormat,\n initialProperties: initialProperties,\n dataDefinition: dataDefinition,\n defaultPropertyValues: defaultPropertyValues,\n hypercubePath: hypercubePath,\n extension: extension,\n supportedFilters: supportedFilters\n });\n var properties = propertyTree.qProperty;\n var visualization = _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getValue(properties, 'visualization');\n var dimensions = _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getValue(properties, 'qHyperCubeDef.qDimensions', []);\n var colorMode = _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getValue(properties, 'color.mode', '');\n var autoColor = _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getValue(properties, 'color.auto', '');\n var canColorBy = _helpers__WEBPACK_IMPORTED_MODULE_1__[\"default\"].getCanColorBy(properties, visualization);\n var shouldUpdateColorBy = _helpers__WEBPACK_IMPORTED_MODULE_1__[\"default\"].shouldUpdateColorBy({\n canColorBy: canColorBy,\n autoColor: autoColor,\n colorMode: colorMode,\n dimensions: dimensions\n });\n\n if (!canColorBy[colorMode]) {\n // If we cannot color by the current mode, switch to auto\n _helpers__WEBPACK_IMPORTED_MODULE_1__[\"default\"].switchToAutoColor(properties);\n } else if (_helpers__WEBPACK_IMPORTED_MODULE_1__[\"default\"].shouldAddColorByExpression({\n shouldUpdateColorBy: shouldUpdateColorBy,\n properties: properties\n })) {\n // Add byExpression back\n _helpers__WEBPACK_IMPORTED_MODULE_1__[\"default\"].addColorByExpression(properties);\n }\n\n if (shouldUpdateColorBy) {\n _helpers__WEBPACK_IMPORTED_MODULE_1__[\"default\"].updateColorBy(properties, 'qHyperCubeDef.');\n }\n\n if (_helpers__WEBPACK_IMPORTED_MODULE_1__[\"default\"].shouldSwitchToColorPersistent(properties)) {\n // Persistent colors needs to be one for multiple dimensions\n _helpers__WEBPACK_IMPORTED_MODULE_1__[\"default\"].changeProperty(properties, 'color.persistent', true);\n }\n\n _helpers__WEBPACK_IMPORTED_MODULE_1__[\"default\"].deleteTotalMode(dimensions);\n return propertyTree;\n}\n\n/***/ }),\n\n/***/ \"./color-chart/index.js\":\n/*!******************************!*\\\n !*** ./color-chart/index.js ***!\n \\******************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _export_properties__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./export-properties */ \"./color-chart/export-properties/index.js\");\n/* harmony import */ var _import_properties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./import-properties */ \"./color-chart/import-properties/index.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n exportProperties: _export_properties__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n importProperties: _import_properties__WEBPACK_IMPORTED_MODULE_1__[\"default\"]\n});\n\n/***/ }),\n\n/***/ \"./conditional-coloring.js\":\n/*!*********************************!*\\\n !*** ./conditional-coloring.js ***!\n \\*********************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _quarantine_quarantine_array_prop__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./quarantine/quarantine-array-prop */ \"./quarantine/quarantine-array-prop.js\");\n/* harmony import */ var _quarantine_unquarantine_array_prop__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./quarantine/unquarantine-array-prop */ \"./quarantine/unquarantine-array-prop.js\");\n\n\nvar arrayPath = 'qHyperCubeDef.qMeasures';\nvar quarantineName = 'conditionalColoring';\nvar arrayName = 'measures';\nvar itemPath = 'qDef.conditionalColoring';\n/**\n * Goes through all measures and removes all conditionalColoring objects\n * and stores them in the quarantine\n *\n * @param {Object} properties The properties object\n */\n\nfunction quarantine(properties) {\n Object(_quarantine_quarantine_array_prop__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n properties: properties,\n arrayPath: arrayPath,\n quarantineName: quarantineName,\n arrayName: arrayName,\n itemPath: itemPath\n });\n}\n/**\n * Goes through all measures and restores all conditionalColoring objects\n * found in the quarantine\n *\n * @param {Object} properties The properties object\n */\n\n\nfunction unquarantine(properties) {\n Object(_quarantine_unquarantine_array_prop__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n properties: properties,\n arrayPath: arrayPath,\n itemPath: itemPath,\n arrayName: arrayName,\n quarantineName: quarantineName\n });\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n quarantine: quarantine,\n unquarantine: unquarantine\n});\n\n/***/ }),\n\n/***/ \"./conditional-show.js\":\n/*!*****************************!*\\\n !*** ./conditional-show.js ***!\n \\*****************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _quarantine_quarantine_array_prop__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./quarantine/quarantine-array-prop */ \"./quarantine/quarantine-array-prop.js\");\n/* harmony import */ var _quarantine_unquarantine_array_prop__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./quarantine/unquarantine-array-prop */ \"./quarantine/unquarantine-array-prop.js\");\n\n\nvar measuresPath = 'qHyperCubeDef.qMeasures';\nvar measuresName = 'measures';\nvar dimensionsPath = 'qHyperCubeDef.qDimensions';\nvar dimensionsName = 'dimensions';\nvar itemPath = 'qCalcCondition';\nvar quarantineName = 'conditionalShowHide';\n/**\n * Goes through all dimensions and measures and removes all qCalcCondition\n * and stores them in the quarantine\n *\n * @param {Object} properties The properties object\n */\n\nfunction quarantine(properties) {\n Object(_quarantine_quarantine_array_prop__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n properties: properties,\n arrayPath: measuresPath,\n quarantineName: quarantineName,\n arrayName: measuresName,\n itemPath: itemPath\n });\n Object(_quarantine_quarantine_array_prop__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n properties: properties,\n arrayPath: dimensionsPath,\n quarantineName: quarantineName,\n arrayName: dimensionsName,\n itemPath: itemPath\n });\n}\n/**\n * Goes through all dimensions and measures and restores all qCalcCondition\n * found in the quarantine\n *\n * @param {Object} properties The properties object\n */\n\n\nfunction unquarantine(properties) {\n Object(_quarantine_unquarantine_array_prop__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n properties: properties,\n arrayPath: measuresPath,\n quarantineName: quarantineName,\n arrayName: measuresName,\n itemPath: itemPath\n });\n Object(_quarantine_unquarantine_array_prop__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n properties: properties,\n arrayPath: dimensionsPath,\n quarantineName: quarantineName,\n arrayName: dimensionsName,\n itemPath: itemPath\n });\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n quarantine: quarantine,\n unquarantine: unquarantine\n});\n\n/***/ }),\n\n/***/ \"./export-format.js\":\n/*!**************************!*\\\n !*** ./export-format.js ***!\n \\**************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return createExportFormat; });\n/**\n * Used for exporting and importing properties between backend models. An object that exports to\n * ExportFormat should put dimensions and measures inside one data group. If an object has two hypercubes\n * each of the cubes should export dimensions and measures in two separate data groups.\n * An object that imports from this structure is responsible for putting the existing properties where they should be\n * in the new model.\n * @interface ExportFormat\n * @ignore\n * @property {(ExportDataDef[])=} data\n * @property {object=} properties\n */\n\n/**\n * @ignore\n * @interface ExportDataDef\n * @property {qae.NxDimension[]} dimensions\n * @property {qae.NxMeasure[]} measures\n * @property {qae.NxDimension[]} excludedDimensions\n * @property {qae.NxMeasure[]} excludedMeasures\n * @property {number[]} interColumnSortOrder\n */\n\n/**\n * @ignore\n * @param {number} nDataGroups\n * @return {ExportFormat}\n */\nfunction createExportFormat() {\n var nDataGroups = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;\n var exportFormat = {\n data: [],\n properties: {}\n };\n\n for (var i = 0; i < nDataGroups; ++i) {\n exportFormat.data.push({\n dimensions: [],\n measures: [],\n excludedDimensions: [],\n excludedMeasures: [],\n interColumnSortOrder: []\n });\n }\n\n return exportFormat;\n}\n\n/***/ }),\n\n/***/ \"./hypercube/export-properties/helpers/add-dimensions.js\":\n/*!***************************************************************!*\\\n !*** ./hypercube/export-properties/helpers/add-dimensions.js ***!\n \\***************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return addDimensions; });\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../utils */ \"./utils/index.js\");\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n\nfunction addDimensions(_ref) {\n var _dataGroup$dimensions;\n\n var exportFormat = _ref.exportFormat,\n qHyperCubeDef = _ref.qHyperCubeDef;\n var dataGroup = exportFormat.data[0]; // export dimensions\n\n (_dataGroup$dimensions = dataGroup.dimensions).push.apply(_dataGroup$dimensions, _toConsumableArray(qHyperCubeDef.qDimensions)); // excluded dimensions\n\n\n var dimensions = _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getValue(qHyperCubeDef, 'qLayoutExclude.qHyperCubeDef.qDimensions');\n\n if (dimensions) {\n var _dataGroup$excludedDi;\n\n (_dataGroup$excludedDi = dataGroup.excludedDimensions).push.apply(_dataGroup$excludedDi, _toConsumableArray(dimensions));\n }\n}\n\n/***/ }),\n\n/***/ \"./hypercube/export-properties/helpers/add-measures.js\":\n/*!*************************************************************!*\\\n !*** ./hypercube/export-properties/helpers/add-measures.js ***!\n \\*************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return addDimensions; });\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../utils */ \"./utils/index.js\");\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n\nfunction addDimensions(_ref) {\n var _dataGroup$measures;\n\n var exportFormat = _ref.exportFormat,\n qHyperCubeDef = _ref.qHyperCubeDef;\n var dataGroup = exportFormat.data[0]; // export measures\n\n (_dataGroup$measures = dataGroup.measures).push.apply(_dataGroup$measures, _toConsumableArray(qHyperCubeDef.qMeasures)); // excluded measures\n\n\n var measures = _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getValue(qHyperCubeDef, 'qLayoutExclude.qHyperCubeDef.qMeasures');\n\n if (measures) {\n var _dataGroup$excludedMe;\n\n (_dataGroup$excludedMe = dataGroup.excludedMeasures).push.apply(_dataGroup$excludedMe, _toConsumableArray(measures));\n }\n}\n\n/***/ }),\n\n/***/ \"./hypercube/export-properties/helpers/copy-properties.js\":\n/*!****************************************************************!*\\\n !*** ./hypercube/export-properties/helpers/copy-properties.js ***!\n \\****************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return copyProperties; });\n/* eslint-disable no-param-reassign */\nfunction copyProperties(_ref) {\n var exportFormat = _ref.exportFormat,\n properties = _ref.properties;\n Object.keys(properties).forEach(function (prop) {\n exportFormat.properties[prop] = properties[prop];\n });\n}\n\n/***/ }),\n\n/***/ \"./hypercube/export-properties/helpers/index.js\":\n/*!******************************************************!*\\\n !*** ./hypercube/export-properties/helpers/index.js ***!\n \\******************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _add_dimensions__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./add-dimensions */ \"./hypercube/export-properties/helpers/add-dimensions.js\");\n/* harmony import */ var _add_measures__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./add-measures */ \"./hypercube/export-properties/helpers/add-measures.js\");\n/* harmony import */ var _set_inter_column_sort_order__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./set-inter-column-sort-order */ \"./hypercube/export-properties/helpers/set-inter-column-sort-order.js\");\n/* harmony import */ var _copy_properties__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./copy-properties */ \"./hypercube/export-properties/helpers/copy-properties.js\");\n/* harmony import */ var _update_layout_exclude__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./update-layout-exclude */ \"./hypercube/export-properties/helpers/update-layout-exclude.js\");\n/* harmony import */ var _store_measures_modifiers__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./store-measures-modifiers */ \"./hypercube/export-properties/helpers/store-measures-modifiers.js\");\n/* eslint-disable no-prototype-builtins */\n\n/* eslint-disable no-param-reassign */\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n addDimensions: _add_dimensions__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n addMeasures: _add_measures__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n setInterColumnSortOrder: _set_inter_column_sort_order__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n copyProperties: _copy_properties__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n updateLayoutExclude: _update_layout_exclude__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n storeMeasuresModifiers: _store_measures_modifiers__WEBPACK_IMPORTED_MODULE_5__[\"default\"]\n});\n\n/***/ }),\n\n/***/ \"./hypercube/export-properties/helpers/restore-changed-properties.js\":\n/*!***************************************************************************!*\\\n !*** ./hypercube/export-properties/helpers/restore-changed-properties.js ***!\n \\***************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return restoreChangedProperties; });\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../utils */ \"./utils/index.js\");\n\n/**\n * Restore properties that were temporarily changed during conversion.\n *\n * @ignore\n * @param properties The properties. Must be an object.\n */\n\nfunction restoreChangedProperties(properties) {\n Object.keys(properties.qLayoutExclude.changed).forEach(function (property) {\n if (properties.qLayoutExclude.changed[property].to === _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getValue(properties, property)) {\n // only revert back to old value if the current value is the same as it was changed to during conversion\n _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].setValue(properties, property, properties.qLayoutExclude.changed[property].from);\n }\n });\n}\n\n/***/ }),\n\n/***/ \"./hypercube/export-properties/helpers/set-inter-column-sort-order.js\":\n/*!****************************************************************************!*\\\n !*** ./hypercube/export-properties/helpers/set-inter-column-sort-order.js ***!\n \\****************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return setInterColumnSortOrder; });\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../utils */ \"./utils/index.js\");\n/* harmony import */ var _utils_array_util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../utils/array-util */ \"./utils/array-util.js\");\n/* eslint-disable no-param-reassign */\n\n\nfunction setInterColumnSortOrder(_ref) {\n var exportFormat = _ref.exportFormat,\n qHyperCubeDef = _ref.qHyperCubeDef;\n var dataGroup = exportFormat.data[0];\n\n if (!qHyperCubeDef.qInterColumnSortOrder) {\n qHyperCubeDef.qInterColumnSortOrder = [];\n } // export sort order\n\n\n dataGroup.interColumnSortOrder = qHyperCubeDef.qInterColumnSortOrder.concat(); // if we have a excluded sort order, try apply that instead\n\n var interColumnSortOrder = _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getValue(qHyperCubeDef, 'qLayoutExclude.qHyperCubeDef.qInterColumnSortOrder');\n\n if (interColumnSortOrder) {\n // If the exporting sort order hasn't changed compared to the excluded we can apply the full excluded instead\n if (_utils_array_util__WEBPACK_IMPORTED_MODULE_1__[\"default\"].isOrderedSubset(interColumnSortOrder, dataGroup.interColumnSortOrder)) {\n dataGroup.interColumnSortOrder = interColumnSortOrder.concat();\n }\n }\n}\n\n/***/ }),\n\n/***/ \"./hypercube/export-properties/helpers/store-measures-modifiers.js\":\n/*!*************************************************************************!*\\\n !*** ./hypercube/export-properties/helpers/store-measures-modifiers.js ***!\n \\*************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return storeMeasuresModifiers; });\n/* harmony import */ var qlik_modifiers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! qlik-modifiers */ \"../node_modules/qlik-modifiers/dist/qlik-modifiers.js\");\n/* harmony import */ var qlik_modifiers__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(qlik_modifiers__WEBPACK_IMPORTED_MODULE_0__);\n/* eslint-disable no-param-reassign */\n\nfunction storeMeasuresModifiers(measures) {\n measures.forEach(function (measure) {\n qlik_modifiers__WEBPACK_IMPORTED_MODULE_0___default.a.cleanUpMeasure(measure);\n\n if (measure.qDef.modifiers) {\n measure.store = {\n modifiers: measure.qDef.modifiers\n };\n delete measure.qDef.modifiers;\n }\n });\n}\n\n/***/ }),\n\n/***/ \"./hypercube/export-properties/helpers/update-layout-exclude.js\":\n/*!**********************************************************************!*\\\n !*** ./hypercube/export-properties/helpers/update-layout-exclude.js ***!\n \\**********************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return updateLayoutExclude; });\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../utils */ \"./utils/index.js\");\n/* harmony import */ var _restore_changed_properties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./restore-changed-properties */ \"./hypercube/export-properties/helpers/restore-changed-properties.js\");\n/* eslint-disable no-prototype-builtins */\n\n/* eslint-disable no-param-reassign */\n\n\nfunction updateLayoutExclude(_ref) {\n var exportFormat = _ref.exportFormat,\n properties = _ref.properties;\n\n if (!properties.qLayoutExclude) {\n properties.qLayoutExclude = {};\n }\n\n if (properties.qLayoutExclude.disabled) {\n Object.keys(properties.qLayoutExclude.disabled).forEach(function (prop) {\n if (!exportFormat.properties.hasOwnProperty(prop)) {\n exportFormat.properties[prop] = properties.qLayoutExclude.disabled[prop];\n }\n });\n delete properties.qLayoutExclude.disabled;\n }\n\n if (properties.qLayoutExclude.changed) {\n Object(_restore_changed_properties__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(properties);\n delete properties.qLayoutExclude.changed;\n }\n\n if (!properties.qLayoutExclude.quarantine || _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].isEmpty(properties.qLayoutExclude.quarantine)) {\n delete properties.qLayoutExclude;\n }\n}\n\n/***/ }),\n\n/***/ \"./hypercube/export-properties/index.js\":\n/*!**********************************************!*\\\n !*** ./hypercube/export-properties/index.js ***!\n \\**********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return exportProperties; });\n/* harmony import */ var _export_format__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../export-format */ \"./export-format.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils */ \"./utils/index.js\");\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./helpers */ \"./hypercube/export-properties/helpers/index.js\");\n/* harmony import */ var _quarantine_quarantine_property__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../quarantine/quarantine-property */ \"./quarantine/quarantine-property.js\");\n/* eslint-disable no-prototype-builtins */\n\n\n\n\n/**\n * Exports properties for a chart with a hypercube.\n *\n * @ignore\n * @param propertyTree The properties tree. Must be an object.\n * @param hypercubePath Reference to the qHyperCubeDef.\n * @returns {ExportFormat}\n */\n\nfunction exportProperties(_ref) {\n var propertyTree = _ref.propertyTree,\n hypercubePath = _ref.hypercubePath,\n viewDataMode = _ref.viewDataMode;\n var exportFormat = Object(_export_format__WEBPACK_IMPORTED_MODULE_0__[\"default\"])();\n var properties = propertyTree.qProperty;\n var hcdParent = _utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].getValue(properties, hypercubePath || '');\n var qHyperCubeDef = hcdParent.qHyperCubeDef;\n\n if (!qHyperCubeDef.qInterColumnSortOrder) {\n qHyperCubeDef.qInterColumnSortOrder = [];\n }\n\n _helpers__WEBPACK_IMPORTED_MODULE_2__[\"default\"].addDimensions({\n exportFormat: exportFormat,\n qHyperCubeDef: qHyperCubeDef\n });\n _helpers__WEBPACK_IMPORTED_MODULE_2__[\"default\"].addMeasures({\n exportFormat: exportFormat,\n qHyperCubeDef: qHyperCubeDef\n });\n _helpers__WEBPACK_IMPORTED_MODULE_2__[\"default\"].setInterColumnSortOrder({\n exportFormat: exportFormat,\n qHyperCubeDef: qHyperCubeDef\n });\n delete qHyperCubeDef.qLayoutExclude;\n _helpers__WEBPACK_IMPORTED_MODULE_2__[\"default\"].copyProperties({\n exportFormat: exportFormat,\n properties: properties\n });\n\n if (hypercubePath) {\n exportFormat.properties.qHyperCubeDef = qHyperCubeDef;\n delete hcdParent.qHyperCubeDef;\n }\n\n _helpers__WEBPACK_IMPORTED_MODULE_2__[\"default\"].updateLayoutExclude({\n exportFormat: exportFormat,\n properties: properties\n });\n\n if (!viewDataMode) {\n _helpers__WEBPACK_IMPORTED_MODULE_2__[\"default\"].storeMeasuresModifiers(exportFormat.properties.qHyperCubeDef.qMeasures);\n }\n\n if (Array.isArray(exportFormat.properties.filters)) {\n Object(_quarantine_quarantine_property__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(exportFormat.properties, 'filters', 'storedFilters');\n delete exportFormat.properties.filters;\n }\n\n if (exportFormat.properties.qHyperCubeDef.qContextSetExpression) {\n Object(_quarantine_quarantine_property__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(exportFormat.properties, 'qHyperCubeDef.qContextSetExpression', 'storedFilters');\n exportFormat.properties.qHyperCubeDef.qContextSetExpression = '';\n }\n\n return exportFormat;\n}\n\n/***/ }),\n\n/***/ \"./hypercube/import-properties/helpers/add-dimensions.js\":\n/*!***************************************************************!*\\\n !*** ./hypercube/import-properties/helpers/add-dimensions.js ***!\n \\***************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return addDimensions; });\n/* harmony import */ var _create_dimension__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./create-dimension */ \"./hypercube/import-properties/helpers/create-dimension.js\");\n\nfunction addDimensions(_ref) {\n var exportFormat = _ref.exportFormat,\n maxDimensions = _ref.maxDimensions,\n minDimensions = _ref.minDimensions,\n newHyperCubeDef = _ref.newHyperCubeDef,\n defaultDimension = _ref.defaultDimension;\n var dataGroup = exportFormat.data[0];\n var i;\n\n for (i = 0; i < dataGroup.dimensions.length; ++i) {\n var dimension = Object(_create_dimension__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dataGroup.dimensions[i], defaultDimension);\n\n if (newHyperCubeDef.qDimensions.length < maxDimensions) {\n newHyperCubeDef.qDimensions.push(dimension);\n } else {\n newHyperCubeDef.qLayoutExclude.qHyperCubeDef.qDimensions.push(dimension);\n }\n }\n\n for (i = 0; i < dataGroup.excludedDimensions.length; ++i) {\n var _dimension = Object(_create_dimension__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dataGroup.excludedDimensions[i], defaultDimension);\n\n if (newHyperCubeDef.qDimensions.length < minDimensions) {\n newHyperCubeDef.qDimensions.push(_dimension);\n } else {\n newHyperCubeDef.qLayoutExclude.qHyperCubeDef.qDimensions.push(_dimension);\n }\n }\n}\n\n/***/ }),\n\n/***/ \"./hypercube/import-properties/helpers/add-measures.js\":\n/*!*************************************************************!*\\\n !*** ./hypercube/import-properties/helpers/add-measures.js ***!\n \\*************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return addMeasures; });\n/* harmony import */ var _create_measure__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./create-measure */ \"./hypercube/import-properties/helpers/create-measure.js\");\n\nfunction addMeasures(_ref) {\n var exportFormat = _ref.exportFormat,\n maxMeasures = _ref.maxMeasures,\n minMeasures = _ref.minMeasures,\n newHyperCubeDef = _ref.newHyperCubeDef,\n defaultMeasure = _ref.defaultMeasure;\n var dataGroup = exportFormat.data[0];\n var i;\n\n for (i = 0; i < dataGroup.measures.length; ++i) {\n var measure = Object(_create_measure__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dataGroup.measures[i], defaultMeasure);\n\n if (newHyperCubeDef.qMeasures.length < maxMeasures) {\n newHyperCubeDef.qMeasures.push(measure);\n } else {\n newHyperCubeDef.qLayoutExclude.qHyperCubeDef.qMeasures.push(measure);\n }\n }\n\n for (i = 0; i < dataGroup.excludedMeasures.length; ++i) {\n var _measure = Object(_create_measure__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dataGroup.excludedMeasures[i], defaultMeasure);\n\n if (newHyperCubeDef.qMeasures.length < minMeasures) {\n newHyperCubeDef.qMeasures.push(_measure);\n } else {\n newHyperCubeDef.qLayoutExclude.qHyperCubeDef.qMeasures.push(_measure);\n }\n }\n}\n\n/***/ }),\n\n/***/ \"./hypercube/import-properties/helpers/copy-property-if-exist.js\":\n/*!***********************************************************************!*\\\n !*** ./hypercube/import-properties/helpers/copy-property-if-exist.js ***!\n \\***********************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return copyPropertyIfExist; });\n/* eslint-disable no-param-reassign */\n\n/* eslint-disable no-prototype-builtins */\nfunction copyPropertyIfExist(propertyName, source, target) {\n if (source.hasOwnProperty(propertyName)) {\n target[propertyName] = source[propertyName];\n }\n}\n\n/***/ }),\n\n/***/ \"./hypercube/import-properties/helpers/copy-property-or-set-default.js\":\n/*!*****************************************************************************!*\\\n !*** ./hypercube/import-properties/helpers/copy-property-or-set-default.js ***!\n \\*****************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return copyPropertyOrSetDefault; });\n/* eslint-disable no-param-reassign */\n\n/* eslint-disable no-prototype-builtins */\nfunction copyPropertyOrSetDefault(propertyName, source, target, defaultValue) {\n if (source.hasOwnProperty(propertyName)) {\n target[propertyName] = source[propertyName];\n } else {\n target[propertyName] = defaultValue;\n }\n}\n\n/***/ }),\n\n/***/ \"./hypercube/import-properties/helpers/create-dimension.js\":\n/*!*****************************************************************!*\\\n !*** ./hypercube/import-properties/helpers/create-dimension.js ***!\n \\*****************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return createDimension; });\n/* harmony import */ var extend__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! extend */ \"../node_modules/extend/index.js\");\n/* harmony import */ var extend__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(extend__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../utils */ \"./utils/index.js\");\n/* harmony import */ var _get_others_label__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./get-others-label */ \"./hypercube/import-properties/helpers/get-others-label.js\");\n/* eslint-disable no-prototype-builtins */\n\n\n\nfunction createDimension(dimensionDef, dimensionProperties) {\n var def = extend__WEBPACK_IMPORTED_MODULE_0___default()(true, {}, dimensionProperties, dimensionDef);\n\n if (!_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].getValue(def, 'qOtherTotalSpec.qOtherCounted')) {\n _utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].setValue(def, 'qOtherTotalSpec.qOtherCounted', {\n qv: '10'\n });\n }\n\n if (!_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].getValue(def, 'qOtherTotalSpec.qOtherLimit')) {\n _utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].setValue(def, 'qOtherTotalSpec.qOtherLimit', {\n qv: '0'\n });\n }\n\n if (!def.hasOwnProperty('othersLabel')) {\n def.othersLabel = Object(_get_others_label__WEBPACK_IMPORTED_MODULE_2__[\"default\"])();\n }\n\n return def;\n}\n\n/***/ }),\n\n/***/ \"./hypercube/import-properties/helpers/create-measure.js\":\n/*!***************************************************************!*\\\n !*** ./hypercube/import-properties/helpers/create-measure.js ***!\n \\***************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return createMeasure; });\n/* harmony import */ var extend__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! extend */ \"../node_modules/extend/index.js\");\n/* harmony import */ var extend__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(extend__WEBPACK_IMPORTED_MODULE_0__);\n\nfunction createMeasure(measureDef, measureProperties) {\n return extend__WEBPACK_IMPORTED_MODULE_0___default()(true, {}, measureProperties, measureDef);\n}\n\n/***/ }),\n\n/***/ \"./hypercube/import-properties/helpers/create-new-properties.js\":\n/*!**********************************************************************!*\\\n !*** ./hypercube/import-properties/helpers/create-new-properties.js ***!\n \\**********************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return createNewProperties; });\n/* harmony import */ var extend__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! extend */ \"../node_modules/extend/index.js\");\n/* harmony import */ var extend__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(extend__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../utils */ \"./utils/index.js\");\n/* harmony import */ var _is_master_item_property__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./is-master-item-property */ \"./hypercube/import-properties/helpers/is-master-item-property.js\");\n/* eslint-disable no-prototype-builtins */\n\n\n\nfunction createNewProperties(_ref) {\n var exportFormat = _ref.exportFormat,\n initialProperties = _ref.initialProperties,\n hypercubePath = _ref.hypercubePath;\n var newProperties = {\n qLayoutExclude: {\n disabled: {},\n quarantine: {}\n }\n };\n Object.keys(exportFormat.properties).forEach(function (key) {\n if (key === 'qLayoutExclude') {\n if (exportFormat.properties[key].quarantine) {\n newProperties.qLayoutExclude.quarantine = extend__WEBPACK_IMPORTED_MODULE_0___default()(true, {}, exportFormat.properties[key].quarantine);\n }\n } else if (key === 'qHyperCubeDef' && hypercubePath) {\n _utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].setValue(newProperties, \"\".concat(hypercubePath, \".qHyperCubeDef\"), exportFormat.properties.qHyperCubeDef);\n } else if (initialProperties.hasOwnProperty(key) || Object(_is_master_item_property__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(key)) {\n // TODO: qExtendsId ??\n newProperties[key] = exportFormat.properties[key];\n } else {\n newProperties.qLayoutExclude.disabled[key] = exportFormat.properties[key];\n }\n });\n newProperties = extend__WEBPACK_IMPORTED_MODULE_0___default()(true, {}, initialProperties, newProperties);\n\n if (newProperties.components === null) {\n newProperties.components = [];\n }\n\n return newProperties;\n}\n\n/***/ }),\n\n/***/ \"./hypercube/import-properties/helpers/get-default-dimension.js\":\n/*!**********************************************************************!*\\\n !*** ./hypercube/import-properties/helpers/get-default-dimension.js ***!\n \\**********************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getDefaultDimension; });\n/* harmony import */ var _get_others_label__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./get-others-label */ \"./hypercube/import-properties/helpers/get-others-label.js\");\n\nfunction getDefaultDimension() {\n return {\n qDef: {\n autoSort: true,\n cId: '',\n othersLabel: Object(_get_others_label__WEBPACK_IMPORTED_MODULE_0__[\"default\"])()\n },\n qLibraryId: '',\n qNullSuppression: false,\n qOtherLabel: 'Others',\n qOtherTotalSpec: {\n qOtherLimitMode: 'OTHER_GE_LIMIT',\n qOtherMode: 'OTHER_OFF',\n qOtherSortMode: 'OTHER_SORT_DESCENDING',\n qSuppressOther: false\n }\n };\n}\n\n/***/ }),\n\n/***/ \"./hypercube/import-properties/helpers/get-default-measure.js\":\n/*!********************************************************************!*\\\n !*** ./hypercube/import-properties/helpers/get-default-measure.js ***!\n \\********************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getDefaultMeasure; });\nfunction getDefaultMeasure() {\n return {\n qDef: {\n autoSort: true,\n cId: '',\n numFormatFromTemplate: true\n },\n qLibraryId: '',\n qTrendLines: []\n };\n}\n\n/***/ }),\n\n/***/ \"./hypercube/import-properties/helpers/get-max-min-dimension-measure.js\":\n/*!******************************************************************************!*\\\n !*** ./hypercube/import-properties/helpers/get-max-min-dimension-measure.js ***!\n \\******************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getMaxMinDimensionMeasure; });\n/* harmony import */ var _resolve_value__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./resolve-value */ \"./hypercube/import-properties/helpers/resolve-value.js\");\n\nvar MAX_SAFE_INTEGER = Math.pow(2, 53) - 1;\nfunction getMaxMinDimensionMeasure(_ref) {\n var exportFormat = _ref.exportFormat,\n _ref$dataDefinition = _ref.dataDefinition,\n dataDefinition = _ref$dataDefinition === void 0 ? {} : _ref$dataDefinition;\n var dataGroup = exportFormat.data[0];\n var dimensionDef = dataDefinition.dimensions || {\n max: 0\n };\n var measureDef = dataDefinition.measures || {\n max: 0\n };\n var maxMeasures = Object(_resolve_value__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(measureDef.max, dataGroup.dimensions.length, MAX_SAFE_INTEGER);\n var minMeasures = Object(_resolve_value__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(measureDef.min, dataGroup.dimensions.length, 0);\n var maxDimensions = Object(_resolve_value__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dimensionDef.max, maxMeasures, MAX_SAFE_INTEGER);\n var minDimensions = Object(_resolve_value__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dimensionDef.min, minMeasures, 0);\n return {\n maxDimensions: maxDimensions,\n minDimensions: minDimensions,\n maxMeasures: maxMeasures,\n minMeasures: minMeasures\n };\n}\n\n/***/ }),\n\n/***/ \"./hypercube/import-properties/helpers/get-others-label.js\":\n/*!*****************************************************************!*\\\n !*** ./hypercube/import-properties/helpers/get-others-label.js ***!\n \\*****************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getOthersLabel; });\nfunction getOthersLabel() {\n return 'Others'; // TODO: translator.get('properties.dimensionLimits.others')\n}\n\n/***/ }),\n\n/***/ \"./hypercube/import-properties/helpers/import-common-properties.js\":\n/*!*************************************************************************!*\\\n !*** ./hypercube/import-properties/helpers/import-common-properties.js ***!\n \\*************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return importCommonProperties; });\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../utils */ \"./utils/index.js\");\n/* eslint-disable no-param-reassign */\n\nfunction importCommonProperties(newProperties, exportFormat, initialProperties) {\n // always copy type and visualization\n var qType = _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getValue(exportFormat, 'properties.qInfo.qType') === 'masterobject' ? 'masterobject' : _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getValue(initialProperties, 'qInfo.qType');\n _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].setValue(newProperties, 'qInfo.qType', qType);\n newProperties.visualization = initialProperties.visualization;\n}\n\n/***/ }),\n\n/***/ \"./hypercube/import-properties/helpers/index.js\":\n/*!******************************************************!*\\\n !*** ./hypercube/import-properties/helpers/index.js ***!\n \\******************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _import_common_properties__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./import-common-properties */ \"./hypercube/import-properties/helpers/import-common-properties.js\");\n/* harmony import */ var _copy_property_if_exist__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./copy-property-if-exist */ \"./hypercube/import-properties/helpers/copy-property-if-exist.js\");\n/* harmony import */ var _copy_property_or_set_default__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./copy-property-or-set-default */ \"./hypercube/import-properties/helpers/copy-property-or-set-default.js\");\n/* harmony import */ var _get_default_dimension__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./get-default-dimension */ \"./hypercube/import-properties/helpers/get-default-dimension.js\");\n/* harmony import */ var _get_default_measure__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./get-default-measure */ \"./hypercube/import-properties/helpers/get-default-measure.js\");\n/* harmony import */ var _add_dimensions__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./add-dimensions */ \"./hypercube/import-properties/helpers/add-dimensions.js\");\n/* harmony import */ var _add_measures__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./add-measures */ \"./hypercube/import-properties/helpers/add-measures.js\");\n/* harmony import */ var _get_max_min_dimension_measure__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./get-max-min-dimension-measure */ \"./hypercube/import-properties/helpers/get-max-min-dimension-measure.js\");\n/* harmony import */ var _set_inter_column_sort_order__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./set-inter-column-sort-order */ \"./hypercube/import-properties/helpers/set-inter-column-sort-order.js\");\n/* harmony import */ var _create_new_properties__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./create-new-properties */ \"./hypercube/import-properties/helpers/create-new-properties.js\");\n/* harmony import */ var _should_init_layout_exclude__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./should-init-layout-exclude */ \"./hypercube/import-properties/helpers/should-init-layout-exclude.js\");\n/* harmony import */ var _init_layout_exclude__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./init-layout-exclude */ \"./hypercube/import-properties/helpers/init-layout-exclude.js\");\n/* harmony import */ var _update_dimensions_on_added__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./update-dimensions-on-added */ \"./hypercube/import-properties/helpers/update-dimensions-on-added.js\");\n/* harmony import */ var _update_measures_on_added__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./update-measures-on-added */ \"./hypercube/import-properties/helpers/update-measures-on-added.js\");\n/* harmony import */ var _restore_measures_modifiers__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./restore-measures-modifiers */ \"./hypercube/import-properties/helpers/restore-measures-modifiers.js\");\n/* eslint-disable no-prototype-builtins */\n\n/* eslint-disable no-param-reassign */\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n importCommonProperties: _import_common_properties__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n copyPropertyIfExist: _copy_property_if_exist__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n copyPropertyOrSetDefault: _copy_property_or_set_default__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n getDefaultDimension: _get_default_dimension__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n getDefaultMeasure: _get_default_measure__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n addDimensions: _add_dimensions__WEBPACK_IMPORTED_MODULE_5__[\"default\"],\n addMeasures: _add_measures__WEBPACK_IMPORTED_MODULE_6__[\"default\"],\n getMaxMinDimensionMeasure: _get_max_min_dimension_measure__WEBPACK_IMPORTED_MODULE_7__[\"default\"],\n setInterColumnSortOrder: _set_inter_column_sort_order__WEBPACK_IMPORTED_MODULE_8__[\"default\"],\n createNewProperties: _create_new_properties__WEBPACK_IMPORTED_MODULE_9__[\"default\"],\n shouldInitLayoutExclude: _should_init_layout_exclude__WEBPACK_IMPORTED_MODULE_10__[\"default\"],\n initLayoutExclude: _init_layout_exclude__WEBPACK_IMPORTED_MODULE_11__[\"default\"],\n updateDimensionsOnAdded: _update_dimensions_on_added__WEBPACK_IMPORTED_MODULE_12__[\"default\"],\n updateMeasuresOnAdded: _update_measures_on_added__WEBPACK_IMPORTED_MODULE_13__[\"default\"],\n restoreMeasuresModifiers: _restore_measures_modifiers__WEBPACK_IMPORTED_MODULE_14__[\"default\"]\n});\n\n/***/ }),\n\n/***/ \"./hypercube/import-properties/helpers/init-layout-exclude.js\":\n/*!********************************************************************!*\\\n !*** ./hypercube/import-properties/helpers/init-layout-exclude.js ***!\n \\********************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return initLayoutExclude; });\n/* eslint-disable no-param-reassign */\nfunction initLayoutExclude(_ref) {\n var exportFormat = _ref.exportFormat,\n maxDimensions = _ref.maxDimensions,\n minDimensions = _ref.minDimensions,\n maxMeasures = _ref.maxMeasures,\n minMeasures = _ref.minMeasures,\n newHyperCubeDef = _ref.newHyperCubeDef;\n var dataGroup = exportFormat.data[0];\n\n if (!newHyperCubeDef.qLayoutExclude) {\n newHyperCubeDef.qLayoutExclude = {};\n }\n\n if (!newHyperCubeDef.qLayoutExclude.qHyperCubeDef) {\n newHyperCubeDef.qLayoutExclude.qHyperCubeDef = {};\n }\n\n if (dataGroup.dimensions.length > maxDimensions && maxDimensions > 0 || dataGroup.excludedDimensions && dataGroup.excludedDimensions.length && dataGroup.dimensions.length + dataGroup.excludedDimensions.length > minDimensions) {\n if (!newHyperCubeDef.qLayoutExclude.qHyperCubeDef.qDimensions) {\n newHyperCubeDef.qLayoutExclude.qHyperCubeDef.qDimensions = [];\n }\n }\n\n if (dataGroup.measures.length > maxMeasures && maxMeasures > 0 || dataGroup.excludedMeasures && dataGroup.excludedMeasures.length && dataGroup.measures.length + dataGroup.excludedMeasures.length > minMeasures) {\n if (!newHyperCubeDef.qLayoutExclude.qHyperCubeDef.qMeasures) {\n newHyperCubeDef.qLayoutExclude.qHyperCubeDef.qMeasures = [];\n }\n }\n\n if (!maxMeasures && dataGroup.measures.length) {\n // if the object don't support measures put them in alternative measures instead\n if (!newHyperCubeDef.qLayoutExclude.qHyperCubeDef.qMeasures) {\n newHyperCubeDef.qLayoutExclude.qHyperCubeDef.qMeasures = [];\n }\n }\n\n if (!maxDimensions && dataGroup.dimensions.length) {\n // if the object don't support dimensions put them in alternative dimensions instead\n if (!newHyperCubeDef.qLayoutExclude.qHyperCubeDef.qDimensions) {\n newHyperCubeDef.qLayoutExclude.qHyperCubeDef.qDimensions = [];\n }\n }\n}\n\n/***/ }),\n\n/***/ \"./hypercube/import-properties/helpers/is-master-item-property.js\":\n/*!************************************************************************!*\\\n !*** ./hypercube/import-properties/helpers/is-master-item-property.js ***!\n \\************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return isMasterItemPropperty; });\n/**\n * Used to check if a property key is part of the master item information\n *\n * @ignore\n * @param propertyName Name of the key in the properties object\n * @returns {boolean}\n */\nfunction isMasterItemPropperty(propertyName) {\n return ['qMetaDef', 'descriptionExpression', 'labelExpression'].indexOf(propertyName) !== -1;\n}\n\n/***/ }),\n\n/***/ \"./hypercube/import-properties/helpers/resolve-value.js\":\n/*!**************************************************************!*\\\n !*** ./hypercube/import-properties/helpers/resolve-value.js ***!\n \\**************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return resolveValue; });\nfunction resolveValue(data, input, defaultValue) {\n if (typeof data === 'function') {\n return data(input);\n }\n\n return !Number.isNaN(+data) ? data : defaultValue;\n}\n\n/***/ }),\n\n/***/ \"./hypercube/import-properties/helpers/restore-measures-modifiers.js\":\n/*!***************************************************************************!*\\\n !*** ./hypercube/import-properties/helpers/restore-measures-modifiers.js ***!\n \\***************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return restoreMeasuresModifiers; });\n/* harmony import */ var qlik_modifiers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! qlik-modifiers */ \"../node_modules/qlik-modifiers/dist/qlik-modifiers.js\");\n/* harmony import */ var qlik_modifiers__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(qlik_modifiers__WEBPACK_IMPORTED_MODULE_0__);\n/* eslint-disable no-param-reassign */\n\nfunction restoreMeasuresModifiers(_ref) {\n var measures = _ref.measures,\n modifierTypes = _ref.modifierTypes;\n\n if (modifierTypes && qlik_modifiers__WEBPACK_IMPORTED_MODULE_0___default.a.isSupportedModifiers(modifierTypes)) {\n measures.forEach(function (measure) {\n if (measure.store && measure.store.modifiers) {\n measure.qDef.modifiers = measure.store.modifiers;\n }\n\n delete measure.store;\n });\n }\n}\n\n/***/ }),\n\n/***/ \"./hypercube/import-properties/helpers/set-inter-column-sort-order.js\":\n/*!****************************************************************************!*\\\n !*** ./hypercube/import-properties/helpers/set-inter-column-sort-order.js ***!\n \\****************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return setInterColumnSortOrder; });\n/* harmony import */ var _utils_array_util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../utils/array-util */ \"./utils/array-util.js\");\n/* eslint-disable no-param-reassign */\n\nfunction setInterColumnSortOrder(_ref) {\n var exportFormat = _ref.exportFormat,\n newHyperCubeDef = _ref.newHyperCubeDef;\n var dataGroup = exportFormat.data[0];\n var nCols = newHyperCubeDef.qDimensions.length + newHyperCubeDef.qMeasures.length;\n newHyperCubeDef.qInterColumnSortOrder = dataGroup.interColumnSortOrder.concat();\n var i = newHyperCubeDef.qInterColumnSortOrder.length;\n\n if (i !== nCols) {\n if (newHyperCubeDef.qLayoutExclude) {\n // Store them if needed\n newHyperCubeDef.qLayoutExclude.qHyperCubeDef.qInterColumnSortOrder = dataGroup.interColumnSortOrder.concat();\n }\n\n while (i !== nCols) {\n if (i < nCols) {\n _utils_array_util__WEBPACK_IMPORTED_MODULE_0__[\"default\"].indexAdded(newHyperCubeDef.qInterColumnSortOrder, i);\n ++i;\n } else {\n --i;\n _utils_array_util__WEBPACK_IMPORTED_MODULE_0__[\"default\"].indexRemoved(newHyperCubeDef.qInterColumnSortOrder, i);\n }\n }\n }\n}\n\n/***/ }),\n\n/***/ \"./hypercube/import-properties/helpers/should-init-layout-exclude.js\":\n/*!***************************************************************************!*\\\n !*** ./hypercube/import-properties/helpers/should-init-layout-exclude.js ***!\n \\***************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return shouldInitLayoutExclude; });\nfunction shouldInitLayoutExclude(_ref) {\n var exportFormat = _ref.exportFormat,\n maxDimensions = _ref.maxDimensions,\n minDimensions = _ref.minDimensions,\n maxMeasures = _ref.maxMeasures,\n minMeasures = _ref.minMeasures;\n var dataGroup = exportFormat.data[0];\n return dataGroup.dimensions.length > maxDimensions && maxDimensions > 0 || dataGroup.measures.length > maxMeasures && maxMeasures > 0 || dataGroup.excludedDimensions.length > 0 && dataGroup.dimensions.length + dataGroup.excludedDimensions.length > minDimensions || dataGroup.excludedMeasures.length > 0 && dataGroup.measures.length + dataGroup.excludedMeasures.length > minMeasures || !maxMeasures && dataGroup.measures.length > 0 || !maxDimensions && dataGroup.dimensions.length > 0;\n}\n\n/***/ }),\n\n/***/ \"./hypercube/import-properties/helpers/update-dimensions-on-added.js\":\n/*!***************************************************************************!*\\\n !*** ./hypercube/import-properties/helpers/update-dimensions-on-added.js ***!\n \\***************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return updateDimensionsOnAdded; });\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../utils */ \"./utils/index.js\");\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n\nfunction updateDimensionsOnAdded(_ref) {\n var newProperties = _ref.newProperties,\n dataDefinition = _ref.dataDefinition,\n hypercubePath = _ref.hypercubePath;\n\n if (dataDefinition.dimensions && typeof dataDefinition.dimensions.added === 'function') {\n var newHyperCubeDef = _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getValue(newProperties, hypercubePath || '').qHyperCubeDef;\n\n var dimensions = _toConsumableArray(newHyperCubeDef.qDimensions);\n\n newHyperCubeDef.qDimensions = [];\n dimensions.forEach(function (dimension) {\n newHyperCubeDef.qDimensions.push(dimension);\n dataDefinition.dimensions.added(dimension, newProperties);\n });\n }\n}\n\n/***/ }),\n\n/***/ \"./hypercube/import-properties/helpers/update-measures-on-added.js\":\n/*!*************************************************************************!*\\\n !*** ./hypercube/import-properties/helpers/update-measures-on-added.js ***!\n \\*************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return updateMeasuresOnAdded; });\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../utils */ \"./utils/index.js\");\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n\nfunction updateMeasuresOnAdded(_ref) {\n var newProperties = _ref.newProperties,\n dataDefinition = _ref.dataDefinition,\n hypercubePath = _ref.hypercubePath;\n\n if (dataDefinition.measures && typeof dataDefinition.measures.added === 'function') {\n var newHyperCubeDef = _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getValue(newProperties, hypercubePath || '').qHyperCubeDef;\n\n var measures = _toConsumableArray(newHyperCubeDef.qMeasures);\n\n newHyperCubeDef.qMeasures = [];\n measures.forEach(function (measure) {\n newHyperCubeDef.qMeasures.push(measure);\n dataDefinition.measures.added(measure, newProperties);\n });\n }\n}\n\n/***/ }),\n\n/***/ \"./hypercube/import-properties/index.js\":\n/*!**********************************************!*\\\n !*** ./hypercube/import-properties/index.js ***!\n \\**********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return importProperties; });\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils */ \"./utils/index.js\");\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./helpers */ \"./hypercube/import-properties/helpers/index.js\");\n/* harmony import */ var _quarantine_unquarantine_property__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../quarantine/unquarantine-property */ \"./quarantine/unquarantine-property.js\");\n/* eslint-disable no-param-reassign */\n\n/* eslint-disable no-prototype-builtins */\n\n\n\n/**\n * Imports properties for a chart with a hypercube.\n *\n * @ignore\n * @param {ExportFormat} exportFormat The export object which is the output of exportProperties.\n * @param initialProperties Initial properties of the target chart.\n * @param dataDefinition Data definition of the target chart.\n * @param defaultPropertyValues Default values for a number of properties of the target chart.\n * @param hypercubePath Reference to the qHyperCubeDef.\n * @returns {Object} A properties tree\n */\n\nfunction importProperties(_ref) {\n var exportFormat = _ref.exportFormat,\n _ref$initialPropertie = _ref.initialProperties,\n initialProperties = _ref$initialPropertie === void 0 ? {} : _ref$initialPropertie,\n _ref$dataDefinition = _ref.dataDefinition,\n dataDefinition = _ref$dataDefinition === void 0 ? {} : _ref$dataDefinition,\n _ref$defaultPropertyV = _ref.defaultPropertyValues,\n defaultPropertyValues = _ref$defaultPropertyV === void 0 ? {} : _ref$defaultPropertyV,\n hypercubePath = _ref.hypercubePath,\n extension = _ref.extension,\n _ref$supportedFilters = _ref.supportedFilters,\n supportedFilters = _ref$supportedFilters === void 0 ? true : _ref$supportedFilters;\n var newPropertyTree = {\n qChildren: []\n };\n var newProperties = _helpers__WEBPACK_IMPORTED_MODULE_1__[\"default\"].createNewProperties({\n exportFormat: exportFormat,\n initialProperties: initialProperties,\n hypercubePath: hypercubePath\n });\n var initHyperCubeDef = _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getValue(initialProperties, hypercubePath || '').qHyperCubeDef;\n var newHyperCubeDef = _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getValue(newProperties, hypercubePath || '').qHyperCubeDef;\n\n var _helpers$getMaxMinDim = _helpers__WEBPACK_IMPORTED_MODULE_1__[\"default\"].getMaxMinDimensionMeasure({\n exportFormat: exportFormat,\n dataDefinition: dataDefinition\n }),\n maxDimensions = _helpers$getMaxMinDim.maxDimensions,\n minDimensions = _helpers$getMaxMinDim.minDimensions,\n maxMeasures = _helpers$getMaxMinDim.maxMeasures,\n minMeasures = _helpers$getMaxMinDim.minMeasures;\n\n var _defaultPropertyValue = defaultPropertyValues.defaultDimension,\n defaultDimension = _defaultPropertyValue === void 0 ? _helpers__WEBPACK_IMPORTED_MODULE_1__[\"default\"].getDefaultDimension() : _defaultPropertyValue,\n _defaultPropertyValue2 = defaultPropertyValues.defaultMeasure,\n defaultMeasure = _defaultPropertyValue2 === void 0 ? _helpers__WEBPACK_IMPORTED_MODULE_1__[\"default\"].getDefaultMeasure() : _defaultPropertyValue2; // empty dimensions and measures of new hypercube\n\n newHyperCubeDef.qDimensions.length = 0;\n newHyperCubeDef.qMeasures.length = 0; // create layout exclude structures if needed\n\n if (_helpers__WEBPACK_IMPORTED_MODULE_1__[\"default\"].shouldInitLayoutExclude({\n exportFormat: exportFormat,\n maxDimensions: maxDimensions,\n minDimensions: minDimensions,\n maxMeasures: maxMeasures,\n minMeasures: minMeasures\n })) {\n _helpers__WEBPACK_IMPORTED_MODULE_1__[\"default\"].initLayoutExclude({\n exportFormat: exportFormat,\n maxDimensions: maxDimensions,\n minDimensions: minDimensions,\n maxMeasures: maxMeasures,\n minMeasures: minMeasures,\n newHyperCubeDef: newHyperCubeDef\n });\n } // and now fill them in.\n\n\n _helpers__WEBPACK_IMPORTED_MODULE_1__[\"default\"].addDimensions({\n exportFormat: exportFormat,\n maxDimensions: maxDimensions,\n minDimensions: minDimensions,\n newHyperCubeDef: newHyperCubeDef,\n defaultDimension: defaultDimension\n });\n _helpers__WEBPACK_IMPORTED_MODULE_1__[\"default\"].addMeasures({\n exportFormat: exportFormat,\n maxMeasures: maxMeasures,\n minMeasures: minMeasures,\n newHyperCubeDef: newHyperCubeDef,\n defaultMeasure: defaultMeasure\n });\n _helpers__WEBPACK_IMPORTED_MODULE_1__[\"default\"].updateDimensionsOnAdded({\n newProperties: newProperties,\n dataDefinition: dataDefinition,\n hypercubePath: hypercubePath\n });\n _helpers__WEBPACK_IMPORTED_MODULE_1__[\"default\"].updateMeasuresOnAdded({\n newProperties: newProperties,\n dataDefinition: dataDefinition,\n hypercubePath: hypercubePath\n });\n _helpers__WEBPACK_IMPORTED_MODULE_1__[\"default\"].setInterColumnSortOrder({\n exportFormat: exportFormat,\n newHyperCubeDef: newHyperCubeDef\n });\n _helpers__WEBPACK_IMPORTED_MODULE_1__[\"default\"].copyPropertyIfExist('qMaxStackedCells', initHyperCubeDef, newHyperCubeDef);\n _helpers__WEBPACK_IMPORTED_MODULE_1__[\"default\"].copyPropertyIfExist('qNoOfLeftDims', initHyperCubeDef, newHyperCubeDef);\n _helpers__WEBPACK_IMPORTED_MODULE_1__[\"default\"].copyPropertyOrSetDefault('qInitialDataFetch', initHyperCubeDef, newHyperCubeDef, [{\n qTop: 0,\n qLeft: 0,\n qWidth: 0,\n qHeight: 0\n }]);\n _helpers__WEBPACK_IMPORTED_MODULE_1__[\"default\"].copyPropertyOrSetDefault('qMode', initHyperCubeDef, newHyperCubeDef, 'S');\n _helpers__WEBPACK_IMPORTED_MODULE_1__[\"default\"].copyPropertyOrSetDefault('qReductionMode', initHyperCubeDef, newHyperCubeDef, 'N');\n _helpers__WEBPACK_IMPORTED_MODULE_1__[\"default\"].copyPropertyOrSetDefault('qSortbyYValue', initHyperCubeDef, newHyperCubeDef);\n _helpers__WEBPACK_IMPORTED_MODULE_1__[\"default\"].copyPropertyOrSetDefault('qIndentMode', initHyperCubeDef, newHyperCubeDef);\n _helpers__WEBPACK_IMPORTED_MODULE_1__[\"default\"].copyPropertyOrSetDefault('qShowTotalsAbove', initHyperCubeDef, newHyperCubeDef); // always copy type and visualization\n\n _helpers__WEBPACK_IMPORTED_MODULE_1__[\"default\"].importCommonProperties(newProperties, exportFormat, initialProperties);\n newPropertyTree.qProperty = newProperties;\n var modifierTypes = _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getValue(extension || {}, 'support.modifiers');\n _helpers__WEBPACK_IMPORTED_MODULE_1__[\"default\"].restoreMeasuresModifiers({\n measures: newProperties.qHyperCubeDef.qMeasures,\n modifierTypes: modifierTypes\n });\n\n if (supportedFilters) {\n Object(_quarantine_unquarantine_property__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(newPropertyTree.qProperty, 'storedFilters');\n }\n\n return newPropertyTree;\n}\n\n/***/ }),\n\n/***/ \"./hypercube/index.js\":\n/*!****************************!*\\\n !*** ./hypercube/index.js ***!\n \\****************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _export_properties__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./export-properties */ \"./hypercube/export-properties/index.js\");\n/* harmony import */ var _import_properties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./import-properties */ \"./hypercube/import-properties/index.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n exportProperties: _export_properties__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n importProperties: _import_properties__WEBPACK_IMPORTED_MODULE_1__[\"default\"]\n});\n\n/***/ }),\n\n/***/ \"./index.js\":\n/*!******************!*\\\n !*** ./index.js ***!\n \\******************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _hypercube__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./hypercube */ \"./hypercube/index.js\");\n/* harmony import */ var _color_chart__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./color-chart */ \"./color-chart/index.js\");\n/* harmony import */ var _axis_chart__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./axis-chart */ \"./axis-chart/index.js\");\n/* harmony import */ var _quarantine_quarantine_property__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./quarantine/quarantine-property */ \"./quarantine/quarantine-property.js\");\n/* harmony import */ var _quarantine_unquarantine_property__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./quarantine/unquarantine-property */ \"./quarantine/unquarantine-property.js\");\n/* harmony import */ var _quarantine_quarantine_array_prop__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./quarantine/quarantine-array-prop */ \"./quarantine/quarantine-array-prop.js\");\n/* harmony import */ var _quarantine_unquarantine_array_prop__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./quarantine/unquarantine-array-prop */ \"./quarantine/unquarantine-array-prop.js\");\n/* harmony import */ var _conditional_coloring__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./conditional-coloring */ \"./conditional-coloring.js\");\n/* harmony import */ var _conditional_show__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./conditional-show */ \"./conditional-show.js\");\n\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n hypercube: _hypercube__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n colorChart: _color_chart__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n axisChart: _axis_chart__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n quarantineProperty: _quarantine_quarantine_property__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n unquarantineProperty: _quarantine_unquarantine_property__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n quarantineArrayProp: _quarantine_quarantine_array_prop__WEBPACK_IMPORTED_MODULE_5__[\"default\"],\n unquarantineArrayProp: _quarantine_unquarantine_array_prop__WEBPACK_IMPORTED_MODULE_6__[\"default\"],\n conditionalColoring: _conditional_coloring__WEBPACK_IMPORTED_MODULE_7__[\"default\"],\n conditionalShow: _conditional_show__WEBPACK_IMPORTED_MODULE_8__[\"default\"]\n});\n\n/***/ }),\n\n/***/ \"./quarantine/get-quarantine-path.js\":\n/*!*******************************************!*\\\n !*** ./quarantine/get-quarantine-path.js ***!\n \\*******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getQuarantinePath; });\nfunction getQuarantinePath(quarantineName, arrayName, cId) {\n return \"qLayoutExclude.quarantine.\".concat(quarantineName, \".\").concat(arrayName, \".\").concat(cId);\n}\n\n/***/ }),\n\n/***/ \"./quarantine/quarantine-array-item.js\":\n/*!*********************************************!*\\\n !*** ./quarantine/quarantine-array-item.js ***!\n \\*********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return quarantineArrayItem; });\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils */ \"./utils/index.js\");\n/* harmony import */ var _get_quarantine_path__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./get-quarantine-path */ \"./quarantine/get-quarantine-path.js\");\n\n\nfunction quarantineArrayItem(_ref) {\n var properties = _ref.properties,\n quarantineName = _ref.quarantineName,\n arrayName = _ref.arrayName,\n item = _ref.item,\n itemPath = _ref.itemPath;\n var value = _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getValue(item, itemPath); // Dont do anything if the value is empty\n\n if (value === undefined) {\n return;\n } // Make sure the item have an id that we can associate the value with\n\n\n var cId = _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getValue(item, 'qDef.cId');\n\n if (!cId) {\n cId = _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].generateId();\n _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].setValue(item, 'qDef.cId', cId);\n } // Put away the value and delete it from the item\n\n\n var quarantinePath = Object(_get_quarantine_path__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(quarantineName, arrayName, cId);\n _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].setValue(properties, quarantinePath, value);\n _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].setValue(item, itemPath, undefined);\n}\n\n/***/ }),\n\n/***/ \"./quarantine/quarantine-array-prop.js\":\n/*!*********************************************!*\\\n !*** ./quarantine/quarantine-array-prop.js ***!\n \\*********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return quarantineArrayProp; });\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils */ \"./utils/index.js\");\n/* harmony import */ var _quarantine_array_item__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./quarantine-array-item */ \"./quarantine/quarantine-array-item.js\");\n\n\n/**\n * Used to quarantine values from items in a dimensions or measures array\n * It will go through the specified array and quarantine the specified value\n *\n * @param {Object} properties The properties object\n * @param {string} arrayPath Dot notation path to the array in the object\n * @param {string} itemPath Dot notation path to the value relative to the array item\n * @param {string} arrayName The name of the array (eg measures, dimension)\n * @param {string} quarantineName The name of the quarantine object containing the quarantined values\n */\n\nfunction quarantineArrayProp(_ref) {\n var properties = _ref.properties,\n arrayPath = _ref.arrayPath,\n quarantineName = _ref.quarantineName,\n arrayName = _ref.arrayName,\n itemPath = _ref.itemPath;\n var items = _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getValue(properties, arrayPath, []);\n items.forEach(function (item) {\n return Object(_quarantine_array_item__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n properties: properties,\n quarantineName: quarantineName,\n arrayName: arrayName,\n item: item,\n itemPath: itemPath\n });\n });\n}\n\n/***/ }),\n\n/***/ \"./quarantine/quarantine-property.js\":\n/*!*******************************************!*\\\n !*** ./quarantine/quarantine-property.js ***!\n \\*******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return quarantineProperty; });\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils */ \"./utils/index.js\");\n\nfunction quarantineProperty(properties, propertyPath, quarantineName) {\n var value = _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getValue(properties, propertyPath);\n var stringified;\n var depth;\n\n if (!_utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].isAtomicValue(value)) {\n try {\n stringified = JSON.stringify(value); // to get rid of possible dangerous stuff\n\n depth = stringified.match(/:\\{/g);\n depth = depth ? depth.length : 0;\n\n if (depth > 2) {\n return;\n }\n\n value = JSON.parse(stringified);\n } catch (e) {\n return;\n }\n }\n\n if (!_utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getValue(properties, 'qLayoutExclude.quarantine')) {\n _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].setValue(properties, 'qLayoutExclude.quarantine', {});\n }\n\n var quarantine = _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getValue(properties, 'qLayoutExclude.quarantine');\n\n if (!quarantine[quarantineName]) {\n quarantine[quarantineName] = {};\n }\n\n quarantine[quarantineName][propertyPath] = value;\n}\n\n/***/ }),\n\n/***/ \"./quarantine/unquarantine-array-item.js\":\n/*!***********************************************!*\\\n !*** ./quarantine/unquarantine-array-item.js ***!\n \\***********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return unquarantineArrayItem; });\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils */ \"./utils/index.js\");\n/* harmony import */ var _get_quarantine_path__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./get-quarantine-path */ \"./quarantine/get-quarantine-path.js\");\n\n\nfunction unquarantineArrayItem(_ref) {\n var properties = _ref.properties,\n quarantineName = _ref.quarantineName,\n arrayName = _ref.arrayName,\n item = _ref.item,\n itemPath = _ref.itemPath;\n // Need to have an id to be able to find what to unquarantine\n var cId = _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getValue(item, 'qDef.cId');\n\n if (!cId) {\n return;\n }\n\n var quarantinePath = Object(_get_quarantine_path__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(quarantineName, arrayName, cId);\n var value = _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getValue(properties, quarantinePath); // Dont do anything if the quarantine was empty\n\n if (value === undefined) {\n return;\n } // Restore the value and delete it from the quarantine\n\n\n _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].setValue(item, itemPath, value);\n _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].setValue(properties, quarantinePath, undefined);\n}\n\n/***/ }),\n\n/***/ \"./quarantine/unquarantine-array-prop.js\":\n/*!***********************************************!*\\\n !*** ./quarantine/unquarantine-array-prop.js ***!\n \\***********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return unquarantineArrayProp; });\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils */ \"./utils/index.js\");\n/* harmony import */ var _unquarantine_array_item__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./unquarantine-array-item */ \"./quarantine/unquarantine-array-item.js\");\n\n\n/**\n * Used to unquarantine values to items in a dimensions or measures array\n * It will go through the specified array and unquarantine the specified value\n *\n * @param {Object} properties The properties object\n * @param {string} arrayPath Dot notation path to the array in the object\n * @param {string} itemPath Dot notation path to the value relative to the array item\n * @param {string} arrayName The name of the array (eg measures, dimension)\n * @param {string} quarantineName The name of the quarantine object containing the quarantined values\n */\n\nfunction unquarantineArrayProp(_ref) {\n var properties = _ref.properties,\n arrayPath = _ref.arrayPath,\n quarantineName = _ref.quarantineName,\n arrayName = _ref.arrayName,\n itemPath = _ref.itemPath;\n var items = _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getValue(properties, arrayPath, []);\n items.forEach(function (item) {\n return Object(_unquarantine_array_item__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n properties: properties,\n quarantineName: quarantineName,\n arrayName: arrayName,\n item: item,\n itemPath: itemPath\n });\n });\n}\n\n/***/ }),\n\n/***/ \"./quarantine/unquarantine-property.js\":\n/*!*********************************************!*\\\n !*** ./quarantine/unquarantine-property.js ***!\n \\*********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return unquarantineProperty; });\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils */ \"./utils/index.js\");\n\nfunction unquarantineProperty(properties, quarantineName) {\n var quarantine = _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getValue(properties, 'qLayoutExclude.quarantine', {});\n var quarantineProperty = quarantine[quarantineName];\n\n if (!quarantineProperty) {\n return false;\n }\n\n Object.keys(quarantineProperty).forEach(function (prop) {\n _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].setValue(properties, prop, quarantineProperty[prop]);\n });\n delete properties.qLayoutExclude.quarantine[quarantineName]; // eslint-disable-line no-param-reassign\n\n return true;\n}\n\n/***/ }),\n\n/***/ \"./utils/array-util.js\":\n/*!*****************************!*\\\n !*** ./utils/array-util.js ***!\n \\*****************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _find_item_by_property_value__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./find-item-by-property-value */ \"./utils/find-item-by-property-value.js\");\n/* harmony import */ var _find_index_by_property_value__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./find-index-by-property-value */ \"./utils/find-index-by-property-value.js\");\n\n\n/* eslint-disable no-param-reassign */\n\n/**\n * Returns true if the second array is a ordered subset of the first.\n *\n * @ignore\n * @param array1\n * @param array2\n * @returns {boolean}\n */\n\nfunction isOrderedSubset(outer, subset) {\n if (!outer || !subset || !outer.length || !subset.length) {\n return false;\n }\n\n var start = outer.indexOf(subset[0]);\n\n if (start !== -1) {\n for (var i = 0; i < subset.length; i++) {\n var next = outer.indexOf(subset[i]);\n\n if (start > next) {\n return false;\n }\n\n start = next;\n }\n\n return true;\n }\n\n return false;\n}\n/**\n * Used for adding an index to an index array. An index array contains indices from 0-N in any order and\n * is used for keeping track of how items in another arrayed could be presented in a specific order.\n *\n * @ignore\n * @param array\n * @param index\n */\n\n\nfunction indexAdded(array, index) {\n var i;\n\n for (i = 0; i < array.length; ++i) {\n if (array[i] >= 0 && array[i] >= index) {\n ++array[i];\n }\n }\n\n array.push(index);\n}\n/**\n * Used for removing an index from an index array. An index array contains indices from 0-N in any order and\n * is used for keeping track of how items in another arrayed could be presented in a specific order.\n *\n * @ignore\n * @param array\n * @param index\n */\n\n\nfunction indexRemoved(array, index) {\n var removeIndex = 0;\n var i;\n\n for (i = 0; i < array.length; ++i) {\n if (array[i] > index) {\n --array[i];\n } else if (array[i] === index) {\n removeIndex = i;\n }\n }\n\n array.splice(removeIndex, 1);\n return removeIndex;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n isOrderedSubset: isOrderedSubset,\n indexAdded: indexAdded,\n indexRemoved: indexRemoved,\n findItemByPropertyValue: _find_item_by_property_value__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n findIndexByPropertyValue: _find_index_by_property_value__WEBPACK_IMPORTED_MODULE_1__[\"default\"]\n});\n\n/***/ }),\n\n/***/ \"./utils/attribute-expression-util/create.js\":\n/*!***************************************************!*\\\n !*** ./utils/attribute-expression-util/create.js ***!\n \\***************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return create; });\nvar reverseMap = {\n cellBackgroundColor: true,\n cellForegroundColor: true,\n colorByAlternative: true,\n colorByExpression: true,\n tooltip: true,\n urlLabel: true,\n url: true\n};\nfunction create(id, props) {\n if (!id || !reverseMap[id]) {\n throw new Error('Attribute Expressions Util: ID required');\n }\n\n var ret = {};\n\n if (props) {\n Object.keys(props).forEach(function (key) {\n ret[key] = props[key];\n });\n }\n\n ret.id = id;\n ret.qAttribute = true;\n return ret;\n}\n\n/***/ }),\n\n/***/ \"./utils/attribute-expression-util/index.js\":\n/*!**************************************************!*\\\n !*** ./utils/attribute-expression-util/index.js ***!\n \\**************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _create__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./create */ \"./utils/attribute-expression-util/create.js\");\n/* harmony import */ var _move_by_id_from_group__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./move-by-id-from-group */ \"./utils/attribute-expression-util/move-by-id-from-group.js\");\n/* eslint-disable no-param-reassign */\n\n\nvar IDMAP = {\n CELL_BACKGROUND_COLOR: 'cellBackgroundColor',\n CELL_FOREGROUND_COLOR: 'cellForegroundColor',\n COLOR_BY_ALTERNATIVE: 'colorByAlternative',\n COLOR_BY_EXPRESSION: 'colorByExpression',\n TOOLTIP: 'tooltip',\n CELL_LINK_LABEL: 'urlLabel',\n CELL_LINK_URL: 'url'\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n create: _create__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n moveByIdFromGroup: _move_by_id_from_group__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n IDMAP: IDMAP\n});\n\n/***/ }),\n\n/***/ \"./utils/attribute-expression-util/is-size-changed.js\":\n/*!************************************************************!*\\\n !*** ./utils/attribute-expression-util/is-size-changed.js ***!\n \\************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return isSizeChanged; });\nfunction isSizeChanged(array, len) {\n return array.length !== len;\n}\n\n/***/ }),\n\n/***/ \"./utils/attribute-expression-util/move-by-id-from-group.js\":\n/*!******************************************************************!*\\\n !*** ./utils/attribute-expression-util/move-by-id-from-group.js ***!\n \\******************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return moveByIdFromGroup; });\n/* harmony import */ var _move_by_id__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./move-by-id */ \"./utils/attribute-expression-util/move-by-id.js\");\n/* harmony import */ var _is_size_changed__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./is-size-changed */ \"./utils/attribute-expression-util/is-size-changed.js\");\n/* eslint-disable no-param-reassign */\n\n\nfunction moveByIdFromGroup(fromGroup, toArray, attributeProp, id, idProp) {\n attributeProp = attributeProp || 'qAttributeExpressions';\n idProp = idProp || 'id';\n\n for (var i = 0; i < fromGroup.length; i++) {\n var fromArray = fromGroup[i][attributeProp];\n var len = toArray.length;\n Object(_move_by_id__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(fromArray, toArray, id, idProp);\n\n if (Object(_is_size_changed__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(toArray, len)) {\n return toArray;\n }\n }\n\n return toArray;\n}\n\n/***/ }),\n\n/***/ \"./utils/attribute-expression-util/move-by-id.js\":\n/*!*******************************************************!*\\\n !*** ./utils/attribute-expression-util/move-by-id.js ***!\n \\*******************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return moveById; });\n/* harmony import */ var _find_index_by_property_value__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../find-index-by-property-value */ \"./utils/find-index-by-property-value.js\");\n/* eslint-disable no-param-reassign */\n\nfunction moveById(fromArray, toArray, id, idProp) {\n toArray = toArray || [];\n var fromIndex = Object(_find_index_by_property_value__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(fromArray, idProp, id);\n var toIndex = Object(_find_index_by_property_value__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(toArray, idProp, id);\n\n if (fromIndex !== -1 && toIndex === -1) {\n var attribExps = fromArray.splice(fromIndex, 1);\n toArray.push(attribExps[0]);\n }\n\n return toArray;\n}\n\n/***/ }),\n\n/***/ \"./utils/find-index-by-property-value.js\":\n/*!***********************************************!*\\\n !*** ./utils/find-index-by-property-value.js ***!\n \\***********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return findIndexByPropertyValue; });\nfunction findIndexByPropertyValue(array, property, value) {\n if (array) {\n for (var i = 0; i < array.length; i++) {\n if (array[i][property] === value) {\n return i;\n }\n }\n\n return -1;\n }\n\n return -1;\n}\n\n/***/ }),\n\n/***/ \"./utils/find-item-by-property-value.js\":\n/*!**********************************************!*\\\n !*** ./utils/find-item-by-property-value.js ***!\n \\**********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return findItemByPropertyValue; });\n/* eslint-disable no-param-reassign */\nfunction findItemByPropertyValue(array, property, value) {\n if (array) {\n for (var i = 0; i < array.length; i++) {\n if (array[i][property] === value) {\n return array[i];\n }\n }\n\n return null;\n }\n\n return null;\n}\n\n/***/ }),\n\n/***/ \"./utils/generate-id.js\":\n/*!******************************!*\\\n !*** ./utils/generate-id.js ***!\n \\******************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return generateId; });\n/* harmony import */ var _get_base62__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./get-base62 */ \"./utils/get-base62.js\");\n\nfunction generateId() {\n var s = Object(_get_base62__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Math.round(Math.random() * (1e13 - 1e11) + 1e11));\n return s.replace(/\\W/g, '');\n}\n\n/***/ }),\n\n/***/ \"./utils/get-base62.js\":\n/*!*****************************!*\\\n !*** ./utils/get-base62.js ***!\n \\*****************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getBase62; });\n/* harmony import */ var _get_char__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./get-char */ \"./utils/get-char.js\");\n\nfunction getBase62(value) {\n var chr = Object(_get_char__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value % 62);\n var y = Math.floor(value / 62);\n return y > 0 ? getBase62(y) + chr : chr;\n}\n\n/***/ }),\n\n/***/ \"./utils/get-char.js\":\n/*!***************************!*\\\n !*** ./utils/get-char.js ***!\n \\***************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getChar; });\nfunction getChar(value) {\n // 0 o O i I l\n var banned = [48, 111, 79, 105, 73, 108];\n var val = value;\n var charCode;\n\n if (val > 9) {\n charCode = 65 + val - 10;\n\n if (charCode > 90) {\n charCode += 6;\n }\n } else {\n val = \"\".concat(val).charCodeAt(0);\n }\n\n return banned.indexOf(charCode) > -1 ? getChar(val + 1) : String.fromCharCode(charCode);\n}\n\n/***/ }),\n\n/***/ \"./utils/hypercube-util.js\":\n/*!*********************************!*\\\n !*** ./utils/hypercube-util.js ***!\n \\*********************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! . */ \"./utils/index.js\");\n/* harmony import */ var _wrap_file_name__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./wrap-file-name */ \"./utils/wrap-file-name.js\");\n\n\n\nfunction getNumDimensions(obj) {\n return ___WEBPACK_IMPORTED_MODULE_0__[\"default\"].getValue(obj, 'qHyperCubeDef.qDimensions.length', 0);\n}\n\nfunction getNumMeasures(obj) {\n return ___WEBPACK_IMPORTED_MODULE_0__[\"default\"].getValue(obj, 'qHyperCubeDef.qMeasures.length', 0);\n}\n\nfunction getItemLabel(item) {\n return item.label || item.name;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n getNumDimensions: getNumDimensions,\n getNumMeasures: getNumMeasures,\n wrapFieldName: _wrap_file_name__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n getItemLabel: getItemLabel\n});\n\n/***/ }),\n\n/***/ \"./utils/index.js\":\n/*!************************!*\\\n !*** ./utils/index.js ***!\n \\************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _generate_id__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./generate-id */ \"./utils/generate-id.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n\n/**\n * Gets a value from a data object structure.\n *\n * @ignore\n * @param data The data object.\n * @param reference Reference to the value.\n * @param defaultValue Default value to return if no value was found.\n * @returns {*} The default value if specified, otherwise undefined.\n */\n\nfunction getValue(data, reference, defaultValue) {\n if (data === undefined || data === null || reference === undefined || reference === null) {\n return defaultValue;\n }\n\n var steps = reference.split('.');\n var dataContainer = data;\n\n for (var i = 0; i < steps.length; ++i) {\n var step = steps[i];\n\n if (step === '') {\n continue; // eslint-disable-line no-continue\n }\n\n if (dataContainer[step] === undefined || dataContainer[step] === null) {\n return defaultValue;\n }\n\n dataContainer = dataContainer[step];\n }\n\n return dataContainer;\n}\n/**\n * Sets a value in a data object using a dot notated reference to point out the path.\n *\n * Example:\n * If data is an empty object, reference is \"my.value\" and value the is \"x\", then\n * the resulting data object will be: { my: { value: \"x\" } }\n *\n * @ignore\n * @param data The data object. Must be an object.\n * @param reference Reference to the value.\n * @param value Arbitrary value to set. If the value is set to undefined, the value property will be removed.\n */\n\n\nfunction setValue(data, reference, value) {\n if (data === undefined || data === null || reference === undefined || reference === null) {\n return;\n }\n\n var steps = reference.split('.');\n var propertyName = steps[steps.length - 1];\n var dataContainer = data;\n\n for (var i = 0; i < steps.length - 1; ++i) {\n var step = steps[i];\n\n if (dataContainer[step] === undefined || dataContainer[step] === null) {\n dataContainer[step] = Number.isNaN(+steps[i + 1]) ? {} : [];\n }\n\n dataContainer = dataContainer[step];\n }\n\n if (typeof value !== 'undefined') {\n dataContainer[propertyName] = value;\n } else {\n delete dataContainer[propertyName];\n }\n}\n\nfunction isEmpty(object) {\n return Object.keys(object).length === 0 && object.constructor === Object;\n}\n\nfunction isAtomicValue(value) {\n return /boolean|number|string/.test(_typeof(value));\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n getValue: getValue,\n setValue: setValue,\n isEmpty: isEmpty,\n isAtomicValue: isAtomicValue,\n generateId: _generate_id__WEBPACK_IMPORTED_MODULE_0__[\"default\"]\n});\n\n/***/ }),\n\n/***/ \"./utils/number-format-util.js\":\n/*!*************************************!*\\\n !*** ./utils/number-format-util.js ***!\n \\*************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* eslint-disable no-param-reassign */\nfunction useMasterNumberFormat(formatting) {\n formatting.quarantine = {\n qNumFormat: formatting.qNumFormat || {},\n isCustomFormatted: formatting.isCustomFormatted || false\n };\n formatting.qNumFormat = null;\n formatting.isCustomFormatted = undefined;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n useMasterNumberFormat: useMasterNumberFormat\n});\n\n/***/ }),\n\n/***/ \"./utils/wrap-file-name.js\":\n/*!*********************************!*\\\n !*** ./utils/wrap-file-name.js ***!\n \\*********************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return wrapFieldName; });\nfunction wrapFieldName(name) {\n return name.split(' ').length > 1 && name[0] !== '=' && name[0] !== '[' ? \"[\".concat(name, \"]\") : name;\n}\n\n/***/ })\n\n/******/ });\n});\n//# sourceMappingURL=conversion.js.map","import extend from 'extend';\nimport conversion from 'qlik-object-conversion';\n\nexport function importProperties({ dataDefinition, defaultPropertyValues, exportFormat, initialProperties }) {\n const propTree = conversion.hypercube.importProperties({\n exportFormat,\n initialProperties,\n dataDefinition,\n defaultPropertyValues,\n });\n\n const props = propTree.qProperty;\n if (props.dimensionAxis.show === 'all') {\n props.dimensionAxis.show = 'labels';\n } else if (props.dimensionAxis.show === 'title') {\n props.dimensionAxis.show = 'none';\n }\n if (props.measureAxis.show === 'all') {\n props.measureAxis.show = 'labels';\n } else if (props.measureAxis.show === 'title') {\n props.measureAxis.show = 'none';\n }\n\n if (props.qHyperCubeDef.qMeasures.length > 0) {\n props.qDef.numFormatFromTemplate = props.qHyperCubeDef.qMeasures[0].qDef.numFormatFromTemplate;\n props.qDef.qNumFormat = props.qHyperCubeDef.qMeasures[0].qDef.qNumFormat;\n props.qHyperCubeDef.qMeasures.forEach((measure) => {\n measure.qDef.numFormatFromTemplate = props.qDef.numFormatFromTemplate;\n measure.qDef.qNumFormat = extend(true, {}, props.qDef.qNumFormat);\n });\n }\n\n props.qHyperCubeDef.qSuppressZero = false;\n\n return propTree;\n}\n\nexport function exportProperties({ propertyTree, viewDataMode }) {\n const exportFormat = conversion.hypercube.exportProperties({\n propertyTree,\n viewDataMode,\n });\n\n return exportFormat;\n}\n","import properties from './object-properties';\nimport data from './waterfallchart-data-definition';\nimport { importProperties, exportProperties } from './waterfallchart-import-export';\n\nexport default (env) => {\n const dataDefinition = data(env);\n return {\n properties,\n data: {\n targets: [dataDefinition],\n },\n importProperties({ exportFormat, initialProperties }) {\n return importProperties({ dataDefinition, exportFormat, initialProperties });\n },\n exportProperties,\n };\n};\n","/*\n* qlik-chart-modules v0.20.1\n* Copyright (c) 2021 QlikTech International AB\n* Released under the MIT license.\n*/\n\nfunction e(t){return(e=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(t)}function t(e,t,n,r,o,i,a){try{var u=e[i](a),l=u.value}catch(e){return void n(e)}u.done?t(l):Promise.resolve(l).then(r,o)}function n(e){return function(){var n=this,r=arguments;return new Promise((function(o,i){var a=e.apply(n,r);function u(e){t(a,o,i,u,l,\"next\",e)}function l(e){t(a,o,i,u,l,\"throw\",e)}u(void 0)}))}}function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?o(Object(n),!0).forEach((function(t){r(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function a(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function u(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if(\"undefined\"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var n=[],r=!0,o=!1,i=void 0;try{for(var a,u=e[Symbol.iterator]();!(r=(a=u.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{r||null==u.return||u.return()}finally{if(o)throw i}}return n}(e,t)||c(e,t)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function l(e){return function(e){if(Array.isArray(e))return s(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||c(e)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function c(e,t){if(e){if(\"string\"==typeof e)return s(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return\"Object\"===n&&e.constructor&&(n=e.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(e):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?s(e,t):void 0}}function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var f=Object.prototype.hasOwnProperty,d=Object.prototype.toString,p=Object.defineProperty,v=Object.getOwnPropertyDescriptor,h=function(e){return\"function\"==typeof Array.isArray?Array.isArray(e):\"[object Array]\"===d.call(e)},m=function(e){if(!e||\"[object Object]\"!==d.call(e))return!1;var t,n=f.call(e,\"constructor\"),r=e.constructor&&e.constructor.prototype&&f.call(e.constructor.prototype,\"isPrototypeOf\");if(e.constructor&&!n&&!r)return!1;for(t in e);return void 0===t||f.call(e,t)},g=function(e,t){p&&\"__proto__\"===t.name?p(e,t.name,{enumerable:!0,configurable:!0,value:t.newValue,writable:!0}):e[t.name]=t.newValue},y=function(e,t){if(\"__proto__\"===t){if(!f.call(e,t))return;if(v)return v(e,t).value}return e[t]},b=function e(){var t,n,r,o,i,a,u=arguments[0],l=1,c=arguments.length,s=!1;for(\"boolean\"==typeof u&&(s=u,u=arguments[1]||{},l=2),(null==u||\"object\"!=typeof u&&\"function\"!=typeof u)&&(u={});l<c;++l)if(null!=(t=arguments[l]))for(n in t)r=y(u,n),u!==(o=y(t,n))&&(s&&o&&(m(o)||(i=h(o)))?(i?(i=!1,a=r&&h(r)?r:[]):a=r&&m(r)?r:{},g(u,{name:n,newValue:e(s,a,o)})):void 0!==o&&g(u,{name:n,newValue:o}));return u};function x(e,t){return{range:function(e){var n=e.resources,r=e.data,o=n.theme.palette(\"categorical\",t);return r.items.map((function(e){return o[e.value%o.length]}))},valueAccessor:e.value}}function q(e,t){return{range:function(e){var n=e.resources,r=e.data,o=n.theme.palette(\"categorical\",t);return r.items.map((function(e){return o[e.row.value%o.length]}))},valueAccessor:e.value}}function w(e,t,n,r,o){var i,a=o.byRow,u=o.byElemNo;if(r&&(t.input.persistent||e.hc.qDimensionInfo.length>1||void 0===n.activeDimensionIndex&&e.hc.qSize.qcy>((null===(i=e.hc.qDataPages[0])||void 0===i?void 0:i.qArea.qHeight)||0)))return u(r,r.raw().qCardinal);if(r){var l=t.pic.extract({field:r.key(),trackBy:r.value}).length;return a(r,l)}return{}}function k(e,t){var n=e.hc.qDimensionInfo,r=t.input.byDimDef||{activeDimensionIndex:n.length-1};if(r.activeDimensionIndex>=0){var o=n[r.activeDimensionIndex];r=o.coloring&&o.coloring.colorMapRef?{type:\"libraryItem\",key:o.coloring.colorMapRef,activeDimensionIndex:r.activeDimensionIndex}:{activeDimensionIndex:r.activeDimensionIndex}}return r}function D(e,t){var n;return t.activeDimensionIndex>=0?n=e.pic.fields().filter((function(e){return\"dimension\"===e.type()}))[t.activeDimensionIndex]:\"libraryItem\"===t.type?!1===(n=t.key?e.pic.field((function(e){return e.raw().colorMapRef===t.key})):void 0)&&(n=e.pic.field((function(e){return\"colorByAlternative\"===e.raw().id}))):\"expression\"===t.type&&(n=e.pic.field((function(e){return\"colorByAlternative\"===e.raw().id}))),n}function C(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function M(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function S(){}var I=1/.7,A=\"\\\\s*([+-]?\\\\d+)\\\\s*\",O=\"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",N=\"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",E=/^#([0-9a-f]{3,8})$/,P=new RegExp(\"^rgb\\\\(\"+[A,A,A]+\"\\\\)$\"),j=new RegExp(\"^rgb\\\\(\"+[N,N,N]+\"\\\\)$\"),T=new RegExp(\"^rgba\\\\(\"+[A,A,A,O]+\"\\\\)$\"),F=new RegExp(\"^rgba\\\\(\"+[N,N,N,O]+\"\\\\)$\"),L=new RegExp(\"^hsl\\\\(\"+[O,N,N]+\"\\\\)$\"),H=new RegExp(\"^hsla\\\\(\"+[O,N,N,O]+\"\\\\)$\"),z={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function R(){return this.rgb().formatHex()}function V(){return this.rgb().formatRgb()}function B(e){var t,n;return e=(e+\"\").trim().toLowerCase(),(t=E.exec(e))?(n=t[1].length,t=parseInt(t[1],16),6===n?_(t):3===n?new $(t>>8&15|t>>4&240,t>>4&15|240&t,(15&t)<<4|15&t,1):8===n?U(t>>24&255,t>>16&255,t>>8&255,(255&t)/255):4===n?U(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|240&t,((15&t)<<4|15&t)/255):null):(t=P.exec(e))?new $(t[1],t[2],t[3],1):(t=j.exec(e))?new $(255*t[1]/100,255*t[2]/100,255*t[3]/100,1):(t=T.exec(e))?U(t[1],t[2],t[3],t[4]):(t=F.exec(e))?U(255*t[1]/100,255*t[2]/100,255*t[3]/100,t[4]):(t=L.exec(e))?Q(t[1],t[2]/100,t[3]/100,1):(t=H.exec(e))?Q(t[1],t[2]/100,t[3]/100,t[4]):z.hasOwnProperty(e)?_(z[e]):\"transparent\"===e?new $(NaN,NaN,NaN,0):null}function _(e){return new $(e>>16&255,e>>8&255,255&e,1)}function U(e,t,n,r){return r<=0&&(e=t=n=NaN),new $(e,t,n,r)}function K(e){return e instanceof S||(e=B(e)),e?new $((e=e.rgb()).r,e.g,e.b,e.opacity):new $}function Y(e,t,n,r){return 1===arguments.length?K(e):new $(e,t,n,null==r?1:r)}function $(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}function W(){return\"#\"+G(this.r)+G(this.g)+G(this.b)}function J(){var e=this.opacity;return(1===(e=isNaN(e)?1:Math.max(0,Math.min(1,e)))?\"rgb(\":\"rgba(\")+Math.max(0,Math.min(255,Math.round(this.r)||0))+\", \"+Math.max(0,Math.min(255,Math.round(this.g)||0))+\", \"+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===e?\")\":\", \"+e+\")\")}function G(e){return((e=Math.max(0,Math.min(255,Math.round(e)||0)))<16?\"0\":\"\")+e.toString(16)}function Q(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new Z(e,t,n,r)}function X(e){if(e instanceof Z)return new Z(e.h,e.s,e.l,e.opacity);if(e instanceof S||(e=B(e)),!e)return new Z;if(e instanceof Z)return e;var t=(e=e.rgb()).r/255,n=e.g/255,r=e.b/255,o=Math.min(t,n,r),i=Math.max(t,n,r),a=NaN,u=i-o,l=(i+o)/2;return u?(a=t===i?(n-r)/u+6*(n<r):n===i?(r-t)/u+2:(t-n)/u+4,u/=l<.5?i+o:2-i-o,a*=60):u=l>0&&l<1?0:a,new Z(a,u,l,e.opacity)}function Z(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}function ee(e,t,n){return 255*(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)}function te(e){return function(){return e}}function ne(e){return 1==(e=+e)?re:function(t,n){return n-t?function(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(r){return Math.pow(e+r*t,n)}}(t,n,e):te(isNaN(t)?n:t)}}function re(e,t){var n=t-e;return n?function(e,t){return function(n){return e+n*t}}(e,n):te(isNaN(e)?t:e)}C(S,B,{copy:function(e){return Object.assign(new this.constructor,this,e)},displayable:function(){return this.rgb().displayable()},hex:R,formatHex:R,formatHsl:function(){return X(this).formatHsl()},formatRgb:V,toString:V}),C($,Y,M(S,{brighter:function(e){return e=null==e?I:Math.pow(I,e),new $(this.r*e,this.g*e,this.b*e,this.opacity)},darker:function(e){return e=null==e?.7:Math.pow(.7,e),new $(this.r*e,this.g*e,this.b*e,this.opacity)},rgb:function(){return this},displayable:function(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:W,formatHex:W,formatRgb:J,toString:J})),C(Z,(function(e,t,n,r){return 1===arguments.length?X(e):new Z(e,t,n,null==r?1:r)}),M(S,{brighter:function(e){return e=null==e?I:Math.pow(I,e),new Z(this.h,this.s,this.l*e,this.opacity)},darker:function(e){return e=null==e?.7:Math.pow(.7,e),new Z(this.h,this.s,this.l*e,this.opacity)},rgb:function(){var e=this.h%360+360*(this.h<0),t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,o=2*n-r;return new $(ee(e>=240?e-240:e+120,o,r),ee(e,o,r),ee(e<120?e+240:e-120,o,r),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl:function(){var e=this.opacity;return(1===(e=isNaN(e)?1:Math.max(0,Math.min(1,e)))?\"hsl(\":\"hsla(\")+(this.h||0)+\", \"+100*(this.s||0)+\"%, \"+100*(this.l||0)+\"%\"+(1===e?\")\":\", \"+e+\")\")}}));var oe=function e(t){var n=ne(t);function r(e,t){var r=n((e=Y(e)).r,(t=Y(t)).r),o=n(e.g,t.g),i=n(e.b,t.b),a=re(e.opacity,t.opacity);return function(t){return e.r=r(t),e.g=o(t),e.b=i(t),e.opacity=a(t),e+\"\"}}return r.gamma=e,r}(1),ie=/^class(-pyramid)?/,ae=function(e,t,n,r){var o=void 0!==n.min?n.min:r.min(),i=void 0!==n.max?n.max:r.max(),a=o,u=i,c=t.limits,s={},f=\"percent\"===t.limitType?c.map((function(e){return o+(i-o)*e})):c,d=t.colors.map((function(t){return e.resolveUIColor(t)}));if(o=Math.min.apply(Math,[o].concat(l(f))),i=Math.max.apply(Math,[i].concat(l(f))),s.min=o,s.max=i,t.breakTypes&&-1===t.breakTypes.indexOf(!0))s.type=\"categorical\",Object.assign(s,function(e){var t=e.min,n=e.max,r=e.limits,o=e.range,i=[],a=[];if(r.length)if(r[r.length-1]<t)a.push(t,n),i.push(o[o.length-1],o[o.length-1],o[o.length-1]);else if(r[0]>n)a.push(t,n),i.push(o[0],o[0],o[0]);else{if(r[0]>t)a.push(t),i.push(o[0]);else{a.push(t);for(var u=0;u<r.length;u++)if(t<r[u]){i.push(o[u]);break}}for(var l=0;l<r.length;l++)t<r[l]&&r[l]<n&&(a.push(r[l]),i.push(o[l]));if(r[r.length-1]<n)a.push(n),i.push(o[r.length]),i.push(o[r.length]);else{a.push(n);for(var c=0;c<r.length;c++)if(r[c]>n){i.push(o[c]),i.push(o[c]);break}}}else i.push(o[0]);return{min:t,max:n,range:i,domain:a}}({min:\"percent\"===t.limitType?o:a,max:\"percent\"===t.limitType?i:u,range:d,limits:\"percent\"===t.limitType?f:c}));else if(t.breakTypes){var p=t.breakTypes;s.type=\"continuous\",s.domain=[o],s.range=[d[0]];for(var v=0;v<f.length;v+=1)if(p[v]){var h=d[v],m=d[v+1],g=oe(h,m)(.5);s.range.push(g),s.domain.push(f[v]),v<f.length-1&&p[v+1]&&(s.range.push(d[v+1]),s.domain.push((f[v]+f[v+1])/2))}else s.range.push(d[v]),s.range.push(d[v+1]),s.domain.push(f[v]),s.domain.push(f[v]+Math.min(1e-6,(i-o)/1e6));s.range.push(d[d.length-1]),s.domain.push(i)}else s.domain=f,s.range=d;return s};function ue(e,t,n,r,o){var i,a,u,l=0,c=[],s=(e-t)/(r+1);if(0===s)return 1;for(i=0;i<n.length;i+=1)a=.99*(n[i]-t),u=n[i]>e?Math.floor(e/s):n[i]<t?0:Math.floor(a/s),Number.isNaN(u)||(c[u]?c[u]+=1:c[u]=1);for(i=0;i<c.length;i+=1)c[i]&&(l+=1);return l<=r||l>=o?Math.max(l,r):ue(e,t,n,r+1,o)}var le=function(e,t,n,r){var o,i,a=t.theme,u=t.hc,c=r.f,s={mode:\"field\",fieldType:\"measure\",field:c?c.key():void 0,reverse:n.input.reverseScheme||!1,type:\"continuous\",range:function(e){return e.resources.theme.palette(\"quant\")}},f=[],d=!0;if(c){if(Number.isNaN(+c.min())||Number.isNaN(+c.max()))return{invalid:!0};(d=!(\"S\"===(o=n.pic.raw()).qMode&&(o.qDataPages[0]&&o.qSize.qcy>o.qDataPages[0].qArea.qHeight||!o.qDataPages.length&&o.qSize.qcy>0)||\"K\"===o.qMode&&o.qStackedDataPages[0]&&o.qSize.qcy>o.qStackedDataPages[0].qArea.qHeight||\"T\"===o.qMode&&o.qSize.qcy>o.qTreeDataPages[0].qGroupSize))&&(f=n.pic.extract({field:0,props:{num:{field:c.key()},exclude:{fields:u.qDimensionInfo.map((function(e,t){return{field:\"qDimensionInfo/\".concat(t)}})),value:function(e){return Math.min.apply(Math,l(e))<0}}}}).filter((function(e){return e.value>=0&&!e.exclude.value})).map((function(e){return e.num.value})).filter((function(e){return\"number\"==typeof e})))}if(!1===n.input.autoMinMax){if(s.min=n.input.measureMin,s.max=n.input.measureMax,s.max<s.min)return{invalid:!0}}else if(c&&!d)s.min=c.min(),s.max=c.max();else if(c){if(!f.length)return{invalid:!0};s.min=Math.min.apply(Math,l(f)),s.max=Math.max.apply(Math,l(f))}if(n.input.measureScheme&&(s.palettes={quant:n.input.measureScheme}),a){var p=a.getDataColorScales().filter((function(e){return e.key===n.input.measureScheme}))[0];s.type=p&&ie.test(p.type)?\"categorical\":\"continuous\",\"categorical\"===s.type&&(i=p.colors.some((function(e){return Array.isArray(e)}))?Math.max.apply(Math,l(p.colors.map((function(e){return e?e.length:0})))):p.colors.length)}if(\"categorical\"===s.type){for(var v=d?ue(s.max,s.min,f,1,i):i,h=(s.max-s.min)/v,m=[],g=0;g<v+1;g+=1)m.push(s.min+h*g);s.domain=m,s.range=function(e){for(var t=e.resources.theme.palette(\"quant\",v),n=Math.max(1,Math.floor(t.length/v)),r=[],o=0;o<v;o+=1)r.push(t[o*n]);return[r[0]].concat(r,[r[r.length-1]])}}return s};function ce(e,t){var n;return t.activeMeasureIndex>=0?n=e.pic.fields().filter((function(e){return\"measure\"===e.type()}))[t.activeMeasureIndex]:\"libraryItem\"===t.type?n=e.pic.field((function(e){return e.raw().colorMapRef===t.key&&void 0!==t.key})):\"expression\"===t.type&&(n=e.pic.field((function(e){return\"colorByAlternative\"===e.raw().id}))),n||(n=e.pic.field((function(e){return void 0!==e.raw().matchMeasure})))&&(n=e.pic.fields().filter((function(e){return\"measure\"===e.type()}))[n.raw().matchMeasure]),n}function se(e){var t,n=e.cm,r=e.defaults,o=e.index,a=e.input,u=e.pic;if(!a||!a.on)return null;var l=null!==(t=a.mode)&&void 0!==t?t:\"primary\";return\"primary\"===l?function(e,t,n){var r=n.primary;return void 0!==t.paletteColor&&t.paletteColor&&(r=e.resolveUIColor(t.paletteColor)),i(i({},n),{},{mode:\"constant\",type:\"constant\",primary:r})}(n,a,r):\"byExpression\"===l?function(e,t,n){var r=\"qMeasureInfo/\".concat(e,\"/\"),o=t.field((function(e){return e.id().startsWith(r)&&\"colorByMeasureExpression\"===e.raw().id})),a=o;return i(i({},n),{},a?{mode:\"field\",fieldType:\"expression\",field:o?o.key():void 0,type:\"color\"}:{mode:\"constant\",type:\"constant\",primary:n.nil})}(o,u,r):null}function fe(e){e.measureOverrides.every((function(e){return!e}))&&(e.measureOverrides=null)}function de(e,t){for(var n=(null==t?void 0:t.domain)||[],r=(null==t?void 0:t.range)||[],o=[],i=0;i<e.length;++i){var a=e[i];if(\"constant\"===(null==a?void 0:a.mode)){var u=n.indexOf(i);-1===u?(n.push(i),r.push(a.primary)):r[u]=a.primary,e[i]=null}else if(a){o.push(i);var l=n.indexOf(i);-1!==l&&(n.splice(l,1),r.splice(l,1))}}return{domain:n,range:r,exclude:o}}function pe(e,t,n,r){if(t.input&&!t.input.auto){if(\"byMeasure\"===t.input.mode)return function(e,t,n){var r=t.theme,o=t.hc,i=(arguments.length>3&&void 0!==arguments[3]?arguments[3]:{}).getCField,a=void 0===i?ce:i,u=n.input.byMeasureDef||{activeMeasureIndex:0},l=a(n,u),c=le(0,{theme:r,hc:o},n,{f:l});if(c.invalid)return c;(\"expression\"===u.type||u.activeMeasureIndex<0)&&(c.label=u.label,l&&\"color.altLabel\"===l.raw().labelExpRef&&(c.label=n.input.altLabel)),!c.label&&l&&(c.label=l.title());var s=u.activeMeasureIndex>=0?l:null;if(!s&&l&&void 0!==l.raw().matchMeasure&&l.raw().matchMeasure>-1&&(s=n.pic.fields().filter((function(e){return\"measure\"===e.type()}))[l.raw().matchMeasure]),n.input.useMeasureGradient&&\"libraryItem\"===u.type)if(s){var f=s.raw().coloring;f&&f.gradient&&b(c,ae(e,f.gradient,c,s))}else c.auxiliary=u;return c}(e,n,t);if(\"byDimension\"===t.input.mode)return function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=r.getCDef,i=void 0===o?k:o,a=r.getCByField,u=void 0===a?D:a,l=r.getPersistence,c=void 0===l?w:l,s=i(t,n),f=u(n,s),d=f?f.raw():{},p=n&&n.pic?n.pic.raw():{};if(d.qError||d.qSize&&0===d.qSize.qcy&&!p.qHasOtherValues)return{invalid:!0};var v={mode:\"field\",fieldType:\"dimension\",type:\"categorical\",field:f?f.key():void 0,isFieldLocked:d.qLocked};return(\"expression\"===s.type||s.activeDimensionIndex<0)&&(v.label=s.label,\"color.altLabel\"===d.labelExpRef&&(v.label=n.input.altLabel)),!v.label&&f&&(v.label=f.title()),n.input.dimensionScheme&&(v.palettes={categorical:n.input.dimensionScheme}),n.input.useDimColVal&&\"libraryItem\"===s.type&&(v.auxiliary=s),b(v,c(t,n,s,f,{byRow:q,byElemNo:x})),v}(e,n,t);if(\"byExpression\"===t.input.mode)return function(e,t,n,r){var o=t.hc,i=t.theme,a=t.translator,u=n.pic.field((function(e){return\"colorByExpression\"===e.raw().id}));if(!(u&&u.raw().qFallbackTitle&&(Number.isFinite(u.raw().qMin)&&Number.isFinite(u.raw().qMax)||n.input.expressionIsColor)))return{mode:\"constant\",type:\"constant\",primary:r.nil};if(n.input.expressionIsColor)return{mode:\"field\",fieldType:\"expression\",field:u?u.key():void 0,type:\"color\"};var l=le(0,{hc:o,theme:i},n,{f:u});return l.invalid||(l.label=n.input.expressionLabel||a.get(\"Object.ChartTooltip.ColorExpression\")),l}(0,n,t,r);if(\"byMultiple\"===t.input.mode||\"primary\"===t.input.mode)return function(e,t,n,r){var o=t.hc,i=t.theme,a=t.translator,u=n.input.useBaseColors;if((\"byMultiple\"===n.input.mode||\"primary\"===n.input.mode&&\"measure\"===n.input.useBaseColors)&&o.qMeasureInfo.length>1&&(u=\"measure\"),\"measure\"===u){var l=[],c=[];\"measure\"===n.input.useBaseColors&&o.qMeasureInfo.forEach((function(t,n){if(t.baseColor||t.coloring&&t.coloring.baseColor){l.push(n);var o=e.resolveUIColor(t.baseColor||t.coloring.baseColor);\"none\"===o?c.push(r.primary):c.push(o)}}));var s=n.input.dimensionScheme?{categorical:n.input.dimensionScheme}:void 0,f=i?i.getDataColorPalettes()[0]:void 0;return\"measure\"===n.input.useBaseColors&&f&&(s={categorical:f.key}),{mode:\"measure\",type:\"categorical\",palettes:s,label:a?a.get(\"Common.Measures\"):void 0,explicit:l.length?{domain:l,range:c}:void 0}}if(\"dimension\"===u){var d=[],p=[];return o.qDimensionInfo.forEach((function(t,n){if(t.baseColor||t.coloring&&t.coloring.baseColor){d.push(n);var o=e.resolveUIColor(t.baseColor||t.coloring.baseColor);\"none\"===o?p.push(r.primary):p.push(o)}})),{mode:\"dimension\",type:\"categorical\",field:d.length?d[0]:void 0,explicit:d.length?{domain:d,range:p}:void 0}}var v=r.primary;if(void 0!==n.input.paletteColor)n.input.paletteColor&&(v=e.resolveUIColor(n.input.paletteColor));else{var h=n.input.singleColor;\"number\"!=typeof h||Number.isNaN(h)||(v=[\"#b0afae\",\"#7b7a78\",\"#545352\",\"#4477aa\",\"#7db8da\",\"#b6d7ea\",\"#46c646\",\"#f93f17\",\"#ffcf02\",\"#276e27\",\"#ffffff\",\"#000000\"][h])}return{mode:\"constant\",type:\"constant\",primary:v}}(e,n,t,r)}return{}}function ve(e,t,n,r){var o=pe(e,t,n,r);return t.input.measureOverrides?(o.measureOverrides=t.input.measureOverrides.map((function(n,o){return se({cm:e,input:n,defaults:r,index:o,pic:t.pic})})),function(e,t){var n,r,o,i=t.translator;if(fe(e),1===(null===(n=e.measureOverrides)||void 0===n?void 0:n.length))return e.measureOverrides[0];if(\"measure\"===e.mode&&e.measureOverrides&&(e.explicit=de(e.measureOverrides,e.explicit),fe(e)),null!==(r=e.measureOverrides)&&void 0!==r&&r.every((function(e){return\"constant\"===(null==e?void 0:e.mode)}))){var a={mode:\"measure\",type:\"categorical\",label:null==i?void 0:i.get(\"Common.Measures\")};return a.explicit=de(e.measureOverrides),a}return null!==(o=e.measureOverrides)&&void 0!==o&&o.every((function(e){return e}))?{invalid:!0,measureOverrides:e.measureOverrides}:e}(o,n)):o}function he(e){var t=i({hc:null,colorProps:null,layout:null,theme:null},e),n={},r={auto:function(){return{mode:\"primary\"}},getDimensionColorMap:function(){return Promise.reject()},getMeasure:function(){return Promise.reject()},getAttributeDimension:function(){return Promise.reject()}},o={auto:function(e){return e?(r.auto=e,o):r.auto},getDimensionColorMap:function(e){return e?(r.getDimensionColorMap=e,o):r.getDimensionColorMap},getAttributeDimension:function(e){return e?(r.getAttributeDimension=e,o):r.getAttributeDimension},getMeasure:function(e){return e?(r.getMeasure=e,o):r.getMeasure},set:function(e){var o;if(!e.colorProps)throw new Error('Missing \"colorProps\"');if(b(t,e),(n={pic:t.picasso.data(\"q\")({data:t.hc,config:{localeInfo:t.localeInfo}}),input:t.colorProps}).input.auto){var i=r.auto(e.layout);n.input=b(!0,{},n.input,i,{auto:!1});var a=t.theme?t.theme.getDataColorPalettes():[];a[0]&&(n.input.dimensionScheme=a[0].key);var u=0;n.input.byDimDef&&+n.input.byDimDef.activeDimensionIndex>=0&&(u=+n.input.byDimDef.activeDimensionIndex),t.hc&&t.hc.qDimensionInfo[u]&&t.hc.qDimensionInfo[u].coloring&&t.hc.qDimensionInfo[u].coloring.colorMapRef&&n.input.byDimDef&&(n.input.byDimDef.type=\"libraryItem\",n.input.byDimDef.key=t.hc.qDimensionInfo[u].coloring.colorMapRef)}null!==(o=n.input.measureOverrides)&&void 0!==o&&o.every((function(e){return!e||!e.on}))&&(n.input=b(!1,{},n.input,{measureOverrides:null}))},palettes:function(){if(!n.palettes){var e=t.theme,r=[];(e&&e.getDataColorPickerPalettes()||[]).forEach((function(e){r.push({key:\"ui\",colors:e.colors})})),n.palettes=r}return n.palettes},getAuxiliaryData:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"/qHyperCubeDef\";if(!e.auxiliary&&!/qAttrDimInfo/.test(e.field))return Promise.resolve();var o=e.auxiliary||{},i=o.key;if(\"measure\"===e.fieldType)return r.getMeasure(i,t).catch((function(){}));if(\"dimension\"===e.fieldType){var a=\"\".concat(n,\"/\").concat(e.field).replace(\"qDimensionInfo\",\"qDimensions\").replace(\"qAttrDimInfo\",\"qAttributeDimensions\");return Promise.all([/qAttrDimInfo/.test(e.field)?r.getAttributeDimension(a,t).catch((function(){})):Promise.resolve(),i?r.getDimensionColorMap(i,t).catch((function(){})):Promise.resolve()])}return Promise.resolve()},getAuxiliarySettings:function(e,r){var o=this;return e.auxiliary||/qAttrDimInfo/.test(e.field)?(this.palettes(),this.getAuxiliaryData(e,r).then((function(r){if(!r)return{};if(\"measure\"===e.fieldType){if(r.coloring&&r.coloring.gradient){var a=n.pic.field(e.field);return ae(o,r.coloring.gradient,e,a)}return{}}if(\"dimension\"===e.fieldType){var u={nil:e.nil,others:e.others},l=r[0],c=r[1]?r[1].colorMap:null;if(l){var s=t.picasso.data(\"q\")({data:{qDimensionInfo:[n.pic.field(e.field).raw(),n.pic.field(e.field).raw()],qMeasureInfo:[],qDataPages:l,qInterColumnSortOrder:[0,1],qMode:\"S\"}});u.legendDataset=s}return c?function(e,t,n,r){var o=r.external,a=r.field,u=i({},e);b(u,x(a,a.raw().qCardinal));var l=o.theme?o.theme.getDataColorPalettes()[0]:null;return t.nul&&(u.nil=n.resolveUIColor(t.nul)),t.oth&&(u.others=n.resolveUIColor(t.oth)),t.usePal?(u.palettes={categorical:t.pal},l&&!t.pal&&(u.palettes.categorical=l.key,b(u,x(a)))):!1===t.autoFill&&t.single?u.range=[n.resolveUIColor(t.single)]:t.autoFill&&(l&&(u.palettes={categorical:l.key}),b(u,x(a))),t.colors&&t.colors.length&&(u.explicit=function(e,t,n){for(var r={},o=0;o<e.length;o+=1)r[e[o].value]=e[o].baseColor;var i=[];return{domain:function(e){var o=e.data,a=[];i=[];for(var u=0;u<o.items.length;u++){var l=o.items[u],c=(l.text||l).label;r[c]&&-1===a.indexOf(l.value)&&(a.push(l.value),i.push(t.resolveUIColor(r[c])))}return a.push(-3,-2),i.push(n.others),i.push(n.nil),a},range:function(){return i}}}(t.colors,n,u)),u}(u,c,o,{external:t,field:n.pic.field(e.field)}):u}return{}}))):Promise.resolve()},resolveUIColor:function(e){if(e.index<0||void 0===e.index)return e.color;if(void 0===n.uiPalette&&(n.uiPalette=this.palettes().filter((function(e){return\"ui\"===e.key}))[0]||!1),!n.uiPalette)return e.color;var t=\"none\"===n.uiPalette.colors[0]?e.index:e.index-1;return void 0===n.uiPalette.colors[t]?e.color:n.uiPalette.colors[t]},settings:function(){if(this.palettes(),!n.settings){var e={primary:\"steelblue\",others:\"#aaa\",nil:\"#ddd\"},r=t.theme;r&&(e=i(i({},e),r.getDataColorSpecials())),n.settings=b(e,ve(this,n,t,e))}return n.settings}};return o}var me=function(e,t){var n=e.fieldType,r={};if(t)if(\"measure\"===n){var o=t.coloring;o&&(r.measureGradient=o.gradient)}else if(\"dimension\"===n){var i=t[0],a=t[1];i&&(r.legendDataPage=i),a&&(r.dimValsData=a.colorMap)}return r},ge=function(e){throw e.isHandled=!0,e},ye=function(e,t){var n=t.layout,r=t.app;return n&&n.snapshotData?n.snapshotData.content&&n.snapshotData.content.chartData&&n.snapshotData.content.chartData.dimValsData?Promise.resolve({colorMap:n.snapshotData.content.chartData.dimValsData}):Promise.reject():r&&r.getObject?r.getObject(\"ColorMapModel_\".concat(e)).then((function(e){return e.getLayout()})):Promise.reject()},be=function(e,t){var n=t.layout,r=t.app;return n&&n.snapshotData?n.snapshotData.content&&n.snapshotData.content.chartData&&n.snapshotData.content.chartData.measureGradient?Promise.resolve({coloring:{gradient:n.snapshotData.content.chartData.measureGradient}}):Promise.reject():r&&r.getMeasure?r.getMeasure(e).then((function(e){return e.getMeasure()})):Promise.reject()},xe=function(e,t){var n=t.layout,r=t.model,o=t.app;if(n&&n.snapshotData)return n.snapshotData.content&&n.snapshotData.content.chartData&&n.snapshotData.content.chartData.legendDataPage?Promise.resolve(n.snapshotData.content.chartData.legendDataPage):Promise.reject();if(r&&r.session&&o){return r.getHyperCubeData(e,[{qHeight:100,qLeft:0,qTop:0,qWidth:2}]).catch(ge)}return Promise.reject()};function qe(e){var t=e.hc,n=e.source,r=e.coloring,o={data:{extract:[{source:\"dummy\",field:0,filter:function(){return o.expando=t.qDataPages[0]?t.qDataPages[0].qArea.qTop:0,!1}},{source:n,field:r.field,trackBy:r.valueAccessor,reduce:\"first\",props:{row:{reduce:function(){return o.expando++}},text:{value:function(e){return e.qText},reduce:\"first\"}}}]},expando:0};return o}function we(t){return function(n){return\"object\"===e(n.datum[t])?n.datum[t].value:void 0}}function ke(t){return\"object\"===e(t.datum.isNull)?t.datum.isNull.value:-2===t.datum.value}function De(e){return-3===e.datum.value}var Ce=function(e,t,n){var r=e&&e.dock||void 0;if(\"auto\"!==r)return r||\"right\";if(t){var o=t.element.getBoundingClientRect();if(o.height>o.width)return\"bottom\"}return n?\"left\":\"right\"},Me=function(e,t,n){return!(n.invalid||\"color\"===n.type||\"measure\"===n.mode&&t.qMeasureInfo.length<=1||\"dimension\"===n.mode)&&(\"function\"==typeof e.show?e.show():!1!==e.show)};function Se(e,t){var n=e.styleReference,r=e.chart,o=e.rtl,i=t.legendProps,a=t.coloring,u=t.theme,l=t.hc;return{layout:{minimumLayoutMode:\"MEDIUM\",dock:Ce(i,r,o)},show:\"function\"==typeof i.show?function(){return Me(i,l,a)}:Me(i,l,a),renderer:\"svg\",mounted:function(e){e.childNodes[0].style.pointerEvents=\"none\",e.style.overflow=\"hidden\"},settings:{title:{show:!1!==i.showTitle,wordBreak:\"break-word\",maxLines:2,lineHeight:1.2,text:a.label||\"\",fill:u?u.getStyle(n,\"legend.title\",\"color\"):void 0,fontSize:u?u.getStyle(n,\"legend.title\",\"fontSize\"):\"16px\",fontFamily:u?u.getStyle(n,\"legend.title\",\"fontFamily\"):\"QlikView Sans, sans-serif\"}}}}function Ie(e,t,n){return\"categorical\"===t.coloring.type?function(e,t,n){var r=Se(e,t);if(!r.show)return!1;var o=e.key,i=e.styleReference,a=e.viewState,u=e.rtl,l=e.settings,c=e.style,s=t.scaleKey,f=t.theme,d=t.scales,p={up:\"M13.6,11 L2.4,11 C2.28954305,11 2.2,10.9104569 2.2,10.8 C2.2,10.756726 2.21403557,10.7146192 2.24,10.68 L7.84,3.21333333 C7.90627417,3.12496777 8.03163444,3.10705916 8.12,3.17333333 C8.13516113,3.18470418 8.14862915,3.1981722 8.16,3.21333333 L13.76,10.68 C13.8262742,10.7683656 13.8083656,10.8937258 13.72,10.96 C13.6853808,10.9859644 13.643274,11 13.6,11 Z\",down:\"M2.4,4 L13.6,4 C13.7104569,4 13.8,4.08954305 13.8,4.2 C13.8,4.24327404 13.7859644,4.28538077 13.76,4.32 L8.16,11.7866667 C8.09372583,11.8750322 7.96836556,11.8929408 7.88,11.8266667 C7.86483887,11.8152958 7.85137085,11.8018278 7.84,11.7866667 L2.24,4.32 C2.17372583,4.23163444 2.19163444,4.10627417 2.28,4.04 C2.31461923,4.01403557 2.35672596,4 2.4,4 Z\",left:\"M11,2.4 L11,13.6 C11,13.7104569 10.9104569,13.8 10.8,13.8 C10.756726,13.8 10.7146192,13.7859644 10.68,13.76 L3.21333333,8.16 C3.12496777,8.09372583 3.10705916,7.96836556 3.17333333,7.88 C3.18470418,7.86483887 3.1981722,7.85137085 3.21333333,7.84 L10.68,2.24 C10.7683656,2.17372583 10.8937258,2.19163444 10.96,2.28 C10.9859644,2.31461923 11,2.35672596 11,2.4 Z\",right:\"M4,13.6 L4,2.4 C4,2.28954305 4.08954305,2.2 4.2,2.2 C4.24327404,2.2 4.28538077,2.21403557 4.32,2.24 L11.7866667,7.84 C11.8750322,7.90627417 11.8929408,8.03163444 11.8266667,8.12 C11.8152958,8.13516113 11.8018278,8.14862915 11.7866667,8.16 L4.32,13.76 C4.23163444,13.8262742 4.10627417,13.8083656 4.04,13.72 C4.01403557,13.6853808 4,13.643274 4,13.6 Z\"},v=\"\".concat(s,\"Legend\");return b(!0,r,{type:\"legend-cat\",key:\"\".concat(o,\"-cat\"),scale:v in d?v:s,settings:{layout:{scrollOffset:function(){return a?a.get(\"legendScrollOffset\"):void 0},size:-1!==[\"top\",\"bottom\"].indexOf(r.layout.dock)?2:1,direction:u?\"rtl\":\"ltr\",horizontal:20},item:{show:function(e){return-2!==e.datum.value},label:{fill:f?f.getStyle(i,\"legend.label\",\"color\"):void 0,fontSize:f?f.getStyle(i,\"legend.label\",\"fontSize\"):void 0,fontFamily:f?f.getStyle(i,\"legend.label\",\"fontFamily\"):\"QlikView Sans, sans-serif\"}},navigation:{disabled:n,button:{content:function(e,t){var n=t.direction;return e(\"i\",{style:{\"pointer-events\":\"none\",fontSize:\"12px\",display:\"inline-block\",fontStyle:\"normal\",lineHeight:\"0\",textAlign:\"center\",textTransform:\"none\",verticalAlign:\"-0.125em\",textRendering:\"optimizelegibility\",margin:\"0px\"}},[e(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",viewBox:\"0 0 16 16\",fill:\"currentColor\"},[e(\"path\",{d:p[n]})])])}}}},brush:{consume:[{context:\"selection\",data:[\"\",o],style:{inactive:{opacity:.3}}}]}},{settings:l,style:c})}(e,t,n):\"continuous\"===t.coloring.type&&function(e,t){var n=e.key,r=e.styleReference,o=e.rtl,i=e.settings,a=e.style,u=t.scaleKey,l=t.theme,c=Se(e,t);return!!c.show&&b(!0,c,{type:\"legend-seq\",key:\"\".concat(n,\"-seq\"),settings:{fill:u,major:\"\".concat(u,\"Range\"),length:1,tick:{fill:l?l.getStyle(r,\"legend.label\",\"color\"):void 0,fontSize:l?l.getStyle(r,\"legend.label\",\"fontSize\"):void 0,fontFamily:l?l.getStyle(r,\"legend.label\",\"fontFamily\"):\"QlikView Sans, sans-serif\"},title:{anchor:!o||\"top\"!==c.layout.dock&&\"bottom\"!==c.layout.dock?void 0:\"right\",padding:parseFloat(c.settings.title.fontSize)||16}}},{settings:i,style:a})}(e,t)}function Ae(e,t,n){var o=[],i=[],a=Ie(e,t,n&&n.navigationDisabled);return o.push(a),a&&\"legend-cat\"===a.type&&(i.push(function(e){var t=e.key,n=e.requireFailure,r=e.recognizeWith,o=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).actions;return{key:\"event:tap-\".concat(t),type:\"Tap\",requireFailure:n,recognizeWith:r,options:{event:\"legendtap\",interval:10,pointers:1,enable:function(e,n){var r;if(!n)return!0;if(null!=o&&null!==(r=o.interact)&&void 0!==r&&r.enabled&&!o.interact.enabled())return!1;if(!this.chart.componentsFromPoint({x:n.center.x,y:n.center.y}).some((function(e){return e.key===\"\".concat(t,\"-cat\")})))return!1;var i=n.srcEvent.target;return!!(i&&i.hasAttribute(\"data-action\")&&i.hasAttribute(\"data-component-key\"))||!(!i||!i.childNodes[0]||\"BUTTON\"!==i.childNodes[0].nodeName)}},events:{legendtap:function(e){e.preventDefault();var t=e.srcEvent.target;t&&t.hasAttribute(\"data-action\")&&t.hasAttribute(\"data-component-key\")&&this.chart.component(t.getAttribute(\"data-component-key\")).emit(t.getAttribute(\"data-action\"))}}}}(e,n)),i.push(function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.eventName,o=t.key,i=t.requireFailure,a=t.recognizeWith,u=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).actions;return{key:\"event:pan-\".concat(o),type:\"Pan\",requireFailure:i,recognizeWith:a,options:{event:n,pointers:1,threshold:10,enable:function(e,t){var r;return this.started===n||!t||!(null!=u&&null!==(r=u.interact)&&void 0!==r&&r.enabled&&!u.interact.enabled())&&this.chart.componentsFromPoint({x:t.center.x,y:t.center.y}).some((function(e){return e.key===\"\".concat(o,\"-cat\")}))}},events:(e={},r(e,\"\".concat(n,\"start\"),(function(e){e.preventDefault(),this.started!==n&&(this.started=n,this.chart.component(\"\".concat(o,\"-cat\")).emit(\"panstart\",e))})),r(e,\"\".concat(n,\"move\"),(function(e){e.preventDefault(),this.chart.component(\"\".concat(o,\"-cat\")).emit(\"panmove\",e)})),r(e,\"\".concat(n,\"end\"),(function(e){e.preventDefault(),this.chart.component(\"\".concat(o,\"-cat\")).emit(\"panend\",e),this.started=!1})),e)}}(e,n))),{interactions:i,components:o}}var Oe=function(e){return\"rgba(\".concat([(16711680&e)>>16,(65280&e)>>8,255&e,((4278190080&e)>>>24)/255].join(\",\"),\")\")};function Ne(e){var t=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.auto,n=he(e.resources).auto(t||function(){return{mode:\"byDimension\",persistent:!1,useDimColVal:!0,byDimDef:{activeDimensionIndex:0,type:\"expression\",label:\"\"}}}).getDimensionColorMap((function(e,t){var n=t.layout,r=t.app;return ye(e,{layout:n,app:r})})).getMeasure((function(e,t){var n=t.layout,r=t.app;return be(e,{layout:n,app:r})})).getAttributeDimension((function(e,t){var n=t.layout,r=t.model,o=t.app;return xe(e,{layout:n,model:r,app:o})}));return n.getSnapshotData=me,n}({resources:e}),n={},o={},a=function(e){return o.settings||(e||console.warn(\"settings() called before auxiliarySettings()\"),o.settings=t.settings()),o.settings},u={config:function(r){if(n=i({},r),o={},!n.key)throw new Error(\"Missing key\");t.set(i(i({},e),n))},auto:function(e){return e?(t.auto(e),u):t.auto()},getAuxiliarySettings:function(e){return o.auxiliarySettings?Promise.resolve(o.auxiliarySettings):t.getAuxiliarySettings(a(!0),e).then((function(e){return o.auxiliarySettings=e||{},o.settings=i(i({},o.settings),o.auxiliarySettings),o.scales=void 0,o.color=void 0,o.auxiliarySettings}))},getAuxiliaryData:function(){return t.getAuxiliaryData(a())},getSnapshotData:function(e){var n=a();return t.getAuxiliaryData(n,e).then((function(e){return t.getSnapshotData(n,e)}))},resolveUIColor:function(e){return t.resolveUIColor(e)},settings:function(){var e=a();return{mode:e.mode,type:e.type,label:e.label,field:e.field,fieldType:e.fieldType,nil:e.nil,others:e.others,primary:e.primary}},settingsForMeasure:function(e){var t,n=null===(t=a().measureOverrides)||void 0===t?void 0:t[e];return n||this.settings()},isSelectionLocked:function(e){var t=e.isMeasureSelectionLocked;return function(e,t){var n=t.isMeasureSelectionLocked;return\"field\"!==e.mode||(\"dimension\"===e.fieldType?e.isFieldLocked:\"measure\"!==e.fieldType||n)}(a(),{isMeasureSelectionLocked:t})},palettes:function(){return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.colorProps,n=e.coloring,r=e.theme,o=[];if(n&&n.palettes&&r){var i=n.palettes.categorical||t.dimensionScheme,a=r.getDataColorPalettes().filter((function(e){return e.key===i}))[0]||r.getDataColorPalettes()[0];i&&a&&o.push({key:\"categorical\",colors:a.colors});var u=n.palettes.metric||t.measureScheme,c=r.getDataColorScales().filter((function(e){return e.key===u}))[0];if(c){var s=c.colors[0]?c.colors:[[]].concat(l(c.colors.slice(1)));s=Array.isArray(s[0])?s.map((function(e){return e.slice().reverse()})):s.slice().reverse(),o.push({key:\"quant\",colors:s})}}return o}({coloring:a(),colorProps:n.colorProps,theme:n.theme})},scales:function(){return o.scales=o.scales||function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.hc,n=e.coloring,r=e.rtl,o=e.key,a=e.source,u=e.picasso,c={},s=o;if(n){var f={override:!0,domain:n.explicit&&\"function\"==typeof n.explicit.domain?n.explicit.domain:[].concat(l((n.explicit||{}).domain||[]),[-3,-2]),range:n.explicit&&\"function\"==typeof n.explicit.range?n.explicit.range:[].concat(l((n.explicit||{}).range||[]),[n.others,n.nil])};if(\"field\"===n.mode){if(\"dimension\"===n.fieldType){var d,p=qe({hc:t,source:a,coloring:n}).data;if(n.legendDataset){var v=0,h={};u.data(\"q\")({data:t}).extract({field:n.field,trackBy:n.valueAccessor,reduce:function(e){var t=e[0];return h[t]=v++,e[0]}}),d={source:\"attrDim\",extract:{field:\"qDimensionInfo/0\",filter:function(e){return e.qElemNumber>=0},props:{row:{value:function(e){return h[e.qElemNumber]}}}}}}var m={data:p,range:n.range,domain:n.domain,explicit:f,type:\"categorical-color\",label:function(e){return e.datum.text&&e.datum.text.value?e.datum.text.value:e.datum.label}};c[s]=m,d&&(c[\"\".concat(s,\"Legend\")]=i(i({},m),{},{data:d})),t&&t.qHasOtherValues&&d&&((d||m.data).amend=[{label:t.qDimensionInfo[0].othersLabel,source:{key:\"qHyperCube\",field:\"qDimensionInfo/0\"},row:{value:-3},value:-3}])}else if(\"measure\"===n.fieldType){var g={data:{field:n.field},min:n.min,max:n.max};c[s]=b({},g,{type:\"categorical\"===n.type?\"threshold-color\":\"sequential-color\",range:n.range,domain:n.domain,invert:n.reverse}),\"sequential-color\"===c[s].type&&(c[\"\".concat(s,\"Range\")]=b({},g,{invert:!!r}))}else if(\"color\"!==n.type)throw new Error(\"UNUSED FIELD\")}else if(\"dimension\"===n.mode){var y={data:t.qDimensionInfo.map((function(e,t){return t})),label:function(e){return t.qDimensionInfo[e.datum.value].qFallbackTitle},explicit:f,type:\"categorical-color\"};c[s]=y}else if(\"measure\"===n.mode){var x={data:t.qMeasureInfo.map((function(e,t){return t})).filter((function(e){var t,r;return!(null!==(t=n.explicit)&&void 0!==t&&null!==(r=t.exclude)&&void 0!==r&&r.includes(e))})),label:function(e){return t.qMeasureInfo[e.datum.value].qFallbackTitle},explicit:f,type:\"categorical-color\"};c[s]=x}}return c}({hc:n.hc,coloring:a(),key:n.key,source:n.source,picasso:e.picasso}),o.scales},color:function(){return o.color=o.color||function(e){var t=e.coloring,n=e.scales,r=e.key,o=we(r),i=we(\"\".concat(r,\"IsAnOther\")),a=function(e,t){var r=e.fieldType,a=e.invalid,u=e.mode,l=e.nil,c=e.others,s=e.primary,f=e.type;return a?function(e){return De(e)||i(e)?c:l}:n[t]?function(e){return De(e)?c:ke(e)||-2===o(e)&&\"dimension\"===r||\"NaN\"===o(e)?l:i(e)?c:e.resources.scale(t)(o(e))||c}:\"constant\"===u?function(e){return De(e)||i(e)?c:ke(e)?l:s}:\"color\"===f?function(e){return De(e)||i(e)?c:ke(e)?l:o(e)||c}:null},u=a(t,r);if(t.measureOverrides){var l=we(\"\".concat(r,\"MeasureIdx\")),c=t.measureOverrides.map((function(e){return e&&a(e)}));return function(e){var t=l(e);return c[t]?c[t](e):u(e)}}return u}({coloring:a(),scales:this.scales(),key:n.key}),o.color},datumProps:function(e){return function(e){var t,n,o=e.hc,i=e.coloring,a=e.scales,u=e.key,l=e.addMeasureIx,c=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,s=u,f=i.nil;\"field\"===i.mode&&i.field?t=i.field:a[u]&&\"field\"===i.mode&&(t=a[u].data.field||i.field),t?(n={field:t,reduce:\"first\"},\"color\"===i.type&&(n.value=function(e){return\"NaN\"!==e.qNum?Oe(e.qNum):e.qText&&B(e.qText)?e.qText:f})):\"dimension\"===i.mode?n=void 0!==i.field?i.field:o.qDimensionInfo.length-1:\"measure\"===i.mode&&(n=c);var d=r({},s,n);return o.qDimensionInfo.length>1&&(d[\"\".concat(s,\"IsAnOther\")]={fields:o.qDimensionInfo.map((function(e,t){return{field:\"qDimensionInfo/\".concat(t)}})),value:function(e){return-1!==e.indexOf(-3)}}),l&&(d[\"\".concat(s,\"MeasureIdx\")]=c),d}({coloring:this.settingsForMeasure(e),scales:this.scales(),key:n.key,hc:n.hc,addMeasureIx:a().measureOverrides},e)},data:function(){var e=a(),t={key:\"dummy\",data:[[\"field\"],[\"a\"]]};return e.legendDataset?[t,{type:\"q\",key:\"attrDim\",data:e.legendDataset.raw(),config:{localeInfo:n.localeInfo}}]:[t]},legend:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.eventName,r=e.key,o=e.viewState,i=e.chart,u=e.rtl,l=e.styleReference,c=void 0===l?\"object.legend\":l,s=e.settings,f=void 0===s?{}:s,d=e.style,p=void 0===d?{}:d,v=arguments.length>1?arguments[1]:void 0;return Ae({eventName:t,key:r,rtl:u,viewState:o,chart:i,styleReference:c,settings:f,style:p},{legendProps:n.legendProps,scaleKey:n.key,coloring:a(),theme:n.theme,hc:n.hc,scales:this.scales()},v)}};return u}var Ee=function(e){return e.baseColor||e.coloring&&e.coloring.baseColor};function Pe(e){var t=e.qHyperCube,n=t.qDimensionInfo,r=t.qMeasureInfo,o=n.some(Ee),i=r.some(Ee),a=e.color.useBaseColors;return\"measure\"===a&&!i||\"dimension\"===a&&!o?\"off\":a}function je(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=i(i(i({},e),t),{},{colorProps:i(i({},e.colorProps),t.colorProps||{})});return n}var Te=function(e){return e.baseColor||e.coloring&&e.coloring.baseColor};function Fe(e){var t,n=e.qHyperCube.qDimensionInfo.some(Te),r=e.qHyperCube.qMeasureInfo.some(Te),o=n?\"dimension\":void 0;return{mode:\"primary\",useBaseColors:null!==(t=null!=o?o:r?\"measure\":void 0)&&void 0!==t?t:\"off\",paletteColor:null}}var Le=function(){};function He(e){var t,n,r,o,a=e.picasso,u=e.model,l=e.app,c=e.translator,s=e.layoutService,f=void 0===s?void 0:s,d=e.createConfig,p=void 0===d?Le:d,v=e.config,h=void 0===v?{}:v,m=e.custom,g=void 0===m?{}:m,y=h.localeInfo,b=h.key,x=h.theme,q=void 0===x?void 0:x,w=h.auto,k=void 0===w?void 0:w,D=h.definitionPath,C=null==f||null===(t=f.getLayout)||void 0===t?void 0:t.call(f),M={theme:q,key:b,localeInfo:y,layout:C,hc:null==f||null===(n=f.getHyperCube)||void 0===n?void 0:n.call(f),legendProps:null==f||null===(r=f.getLayoutValue)||void 0===r?void 0:r.call(f,\"legend\"),colorProps:i(i({},null==f||null===(o=f.getLayoutValue)||void 0===o?void 0:o.call(f,\"color\")),{},{useBaseColors:C?Pe(C):void 0})},S=Ne({picasso:a,model:u,app:l,translator:c,auto:k});!1!==k&&S.auto((function(e){return k?k({layout:e,defaultAuto:Fe}):Fe(e)}));var I=!1;return{getColor:function(){return S.color()},getPaletteColor:function(e){var t=e.index,n=e.color;return S.resolveUIColor({index:t,color:n})},getData:function(){return S.data()},getDatumProps:function(e){return S.datumProps(e)},getSnapshotData:function(){return S.getSnapshotData(D)},getSettingsForMeasure:function(e){return S.settingsForMeasure(e)},getSettings:function(){return S.settings()},getLegend:function(e,t){return S.legend(e,t)},getScales:function(){return S.scales()},getPalettes:function(){return S.palettes()},isSelectionLocked:function(e){var t=e.isMeasureSelectionLocked;return S.isSelectionLocked({isMeasureSelectionLocked:t})},isInitialized:function(){return I},custom:i({},g),initialize:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.createConfig,n=void 0===t?p:t,r=n({getUseBaseColors:Pe}),o=je(M,r);S.config(o);var i=S.getAuxiliarySettings(D).then((function(){I=!0}));return i}}}function ze(e){var t=e.chart,n=e.logicalSize;if(n)return n;var r=t?t.element.getBoundingClientRect():{};return{width:r.width,height:r.height}}var Re=[{key:\"FULL\",size:{width:550,height:450}},{key:\"MEDIUM\",size:{width:400,height:220}},{key:\"SMALL\",size:{width:300,height:150}},{key:\"XSMALL\",size:{width:150,height:75}}];function Ve(e){var t=e.width,n=e.height,r=Re.filter((function(e){return t>=e.size.width&&n>=e.size.height})).shift();return r?r.key:\"SPARK\"}var Be={left:\"right\",right:\"left\",top:\"bottom\",bottom:\"top\",near:\"far\",far:\"near\"};function _e(e){var t=e.orientation,n=e.dock,r=e.btt,o=e.rtl,i=\"horizontal\"===t?function(e){return\"bottom\"===e||\"near\"===e?\"bottom\":\"top\"}(n):function(e,t){var n=\"left\"===e||\"near\"===e?\"left\":\"right\";return t?Be[n]:n}(n,o),a=function(e,t,n){return\"vertical\"===e?t?\"bottom\":\"top\":n?\"right\":\"left\"}(t,r,o);return{current:i,opposite:Be[i],start:a,end:Be[a]}}function Ue(e){var t=e.chart,n=e.layoutService,r=e.config,o=void 0===r?{}:r,i=o.logicalSize,a=void 0!==i&&i,u=o.rtl,l=void 0!==u&&u,c={chart:{size:void 0,mode:void 0},x:{dock:void 0,opposite:void 0,size:void 0},y:{dock:void 0,opposite:void 0,size:void 0}},s={type:\"x-y\",meta:c,update:function(e){c.chart.size={width:e.width,height:e.height},c.chart.mode=Ve(e);var t=_e({orientation:\"horizontal\",dock:n.getLayoutValue(\"xAxis.dock\"),btt:!1,rtl:l}),r=t.current,o=t.opposite;c.x.dock=r,c.x.opposite=o,c.x.size=e.width;var i=_e({orientation:\"vertical\",dock:n.getLayoutValue(\"yAxis.dock\"),btt:!0,rtl:l}),a=i.current,u=i.opposite;c.y.dock=a,c.y.opposite=u,c.y.size=e.height}};return s.update(ze({chart:t,logicalSize:a})),s}var Ke=\"vertical\",Ye=\"horizontal\";function $e(e){var t=e.chart,n=e.layoutService,r=e.config,o=void 0===r?{}:r,i=e.typeConfig,a=void 0===i?{}:i,u=o.logicalSize,l=void 0!==u&&u,c=o.rtl,s=void 0!==c&&c,f=a.fallback===Ke?Ke:Ye,d=!!a.invert,p=a.measureAxes||[{ref:\"measureAxis\",name:\"minor\"}],v={chart:{orientation:void 0,size:void 0,mode:void 0},major:{orientation:void 0,dock:void 0,opposite:void 0,size:void 0}},h={type:\"major-minor\",meta:v,update:function(e){v.chart.orientation=n.getLayoutValue(\"orientation\",f),v.chart.size={width:e.width,height:e.height},v.chart.mode=Ve(e),v.major.orientation=function(e){var t=e.layoutService,n=e.chartOrientation,r=e.invert;return t.meta.isContinuous?Ye:r?n===Ke?Ye:Ke:n}({layoutService:n,chartOrientation:v.chart.orientation,invert:d});var t=_e({orientation:v.major.orientation,dock:n.getLayoutValue(\"dimensionAxis.dock\"),btt:!1,rtl:s}),r=t.current,o=t.opposite;v.major.dock=r,v.major.opposite=o,v.major.size=v.major.orientation===Ke?e.height:e.width,p.forEach((function(t){var r={};r.orientation=v.major.orientation===Ke?Ye:Ke;var o=_e({orientation:r.orientation,dock:n.getLayoutValue(\"\".concat(t.ref,\".dock\")),btt:!0,rtl:s}),i=o.current,a=o.opposite,u=o.start,l=o.end;r.dock=i,r.opposite=a,r.start=u,r.end=l,r.size=r.orientation===Ke?e.height:e.width,v[t.name]=r}))}};return h.update(ze({chart:t,logicalSize:l})),h}function We(e){var t=e.chart,n=e.layoutService,r=e.config,o=void 0===r?{}:r,i=e.typeConfig,a=void 0===i?{}:i;return(\"x-y\"===a.type?Ue:$e)({chart:t,layoutService:n,config:o,typeConfig:a})}function Je(e,t,n){if(void 0===e||void 0===t)return n;for(var r=t.split(\".\"),o=e,i=0;i<r.length;++i){var a=r[i];if(void 0===o[a])return n;o=o[a]}return o}function Ge(e,t,n){if(void 0!==e&&void 0!==t){for(var r=t.split(\".\"),o=r[r.length-1],i=e,a=0;a<r.length-1;++a){var u=r[a];void 0===i[u]&&(i[u]=Number.isNaN(+r[a+1])?{}:[]),i=i[u]}void 0!==n?i[o]=n:delete i[o]}}function Qe(){var e={};return{get:function(t){return e[t]},set:function(t,n){return e[t]=n,n},has:function(t){return t in e},remove:function(t){delete e[t]},empty:function(){e={}}}}function Xe(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(e){return e},n=Qe();return function(r){var o=t(r);return n.has(o)?n.get(o):n.set(o,e(r))}}function Ze(e){var t=i({},e),n={},r={},o=!1,a={get:function(e){return t[e]},set:function(e,i){var a=t[e];!o&&n[e]?t[e]=n[e](i,a):t[e]=i,!o&&r[e]&&r[e](t[e],a)},preventSet:function(e,t){o=!0,a.set(e,t),o=!1},intercept:function(e,t){n[e]=t},onChanged:function(e,t){r[e]=t}};return a}function et(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:50;return function(){for(var r=this,o=arguments.length,i=new Array(o),a=0;a<o;a++)i[a]=arguments[a];var u=function(){return e.apply(r,i)};clearTimeout(t),t=setTimeout(u,n)}}function tt(e){var t,n,r,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:50,i=0;return function(){t=this;for(var a=arguments.length,u=new Array(a),l=0;l<a;l++)u[l]=arguments[l];n=u;var c=Date.now()-i,s=function(){i=Date.now(),r=0,e.apply(t,n)};r||(c>=o?s():r=setTimeout(s,o-c))}}function nt(e){var t;return((null==e||null===(t=e.qHyperCube)||void 0===t?void 0:t.qDimensionInfo)||[]).map((function(e){var t,n=null===(t=e.qCardinalities)||void 0===t?void 0:t.qHypercubeCardinal;if(n)return n;var r=e.qStateCounts||{},o=r.qLocked,i=void 0===o?0:o,a=r.qOption,u=void 0===a?0:a,l=r.qSelected;return i+u+(void 0===l?0:l)}))}function rt(e){switch(e.qHyperCube.qMode){case\"S\":return function(e){var t=e.qHyperCube.qSize;return{refs:{dataPages:\"qHyperCube.qDataPages\"},size:{x:t.qcx,y:t.qcy,dimensions:nt(e)}}}(e);case\"K\":return function(e){var t=nt(e);return{refs:{dataPages:\"qHyperCube.qStackedDataPages\"},size:{x:e.qHyperCube.qSize.qcx,y:t[0],dimensions:t}}}(e);case\"T\":return function(e){var t=nt(e);return{refs:{dataPages:\"qHyperCube.qTreeDataPages\"},size:{x:e.qHyperCube.qSize.qcx,y:t[0],dimensions:t}}}(e);default:throw new Error(\"Mode not supported\")}}function ot(e){var t=e.source,n=e.metaAdditionsFn,r=b(!0,{},t),o=rt(r),a=function(){return function(e){var t=e.layout,n=e.additionsFn,r=void 0===n?function(){return{}}:n,o=e.additionsProps,a=void 0===o?{}:o,u=t.qHyperCube,l=u.qDimensionInfo,c=u.qMeasureInfo,s=u.qMode,f=l.length,d=c.length,p=i({mode:{S:\"S\"===s,P:\"P\"===s,K:\"K\"===s,T:\"T\"===s},dimensionCount:f,measureCount:d,hasMultipleDimensions:f>1,hasMultipleMeasures:d>1,isOneDimensional:1===f,isTwoDimensional:2===f},a);return i(i({},p),r({layout:t,meta:p}))}({layout:r,additionsFn:n,additionsProps:{size:o.size}})},u={refs:i({},o.refs),meta:a(),getLayout:function(){return r},getLayoutValue:function(e,t){return Je(r,e,t)},setLayoutValue:function(e,t){Ge(r,e,t),o=rt(r),u.meta=a()},getHyperCube:function(){return r.qHyperCube},getHyperCubeValue:function(e,t){return Je(r.qHyperCube,e,t)},setHyperCubeValue:function(e,t){Ge(r.qHyperCube,e,t),o=rt(r),u.meta=a()},getDataPages:function(){return Je(r,o.refs.dataPages)},setDataPages:function(e){Ge(r,o.refs.dataPages,e),u.meta=a()}};return u}function it(e){var t=e.originalArray,n=e.newArray,r=e.matchKey;return Array.isArray(t)&&t.length?(n.forEach((function(e){var n=-1;t.some((function(t,o){return t[r]&&t[r]===e[r]&&(n=o),n})),n>-1?t[n]=e:t.push(e)})),t):n}function at(t){var r=t.picassoInstance,o=t.plugins,a=t.pluginArgs,c=void 0===a?{}:a,s={initialized:!1,definitions:[]};return{initialize:function(){return n(regeneratorRuntime.mark((function t(){var a,u,f,d;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!s.initialized){t.next=2;break}return t.abrupt(\"return\");case 2:return u=Promise.all(o.filter((function(e){return\"custom-component\"===e.info.type})).map(function(){var t=n(regeneratorRuntime.mark((function t(n){var o;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n.info.componentName){t.next=2;break}throw new Error(\"plugin-service: Custom component is missing componentName\");case 2:return t.next=4,n.fn(i({},c));case 4:if(\"object\"===e(o=t.sent)){t.next=7;break}throw new Error(\"plugin-service: Custom component needs to be an object\");case 7:r.component(n.info.componentName,o);case 8:case\"end\":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}())),f=Promise.all(o.filter((function(e){return\"component-definition\"===e.info.type})).map((function(e){return e.fn(i({},c))}))),t.next=6,Promise.all([u,f]);case 6:d=t.sent,s.initialized=!0,(a=s.definitions).push.apply(a,l(d[1]));case 9:case\"end\":return t.stop()}}),t)})))()},extendComponents:function(t){return s.initialized?(s.definitions.filter(Boolean).forEach((function(n){var r=u(t.filter((function(e){return e.key&&e.key===n.key})),1)[0];if(r){var o=b(!0,{},r.brush);b(!0,r,n),n.brush&&(r.brush=function(t,n){return\"object\"===e(t)&&Object.keys(t).length?(Array.isArray(n.consume)&&(t.consume=it({originalArray:t.consume,newArray:n.consume,matchKey:\"context\"})),Array.isArray(n.trigger)&&(t.trigger=it({originalArray:t.trigger,newArray:n.trigger,matchKey:\"on\"})),t):n}(o,n.brush))}else t.push(n)})),t):t}}}function ut(e){return(ut=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function lt(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function ct(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function st(e,t,n){return t&&ct(e.prototype,t),n&&ct(e,n),e}function ft(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function dt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function pt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?dt(Object(n),!0).forEach((function(t){ft(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):dt(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function vt(e,t){return(vt=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function ht(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}function mt(e,t,n){return(mt=ht()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var o=new(Function.bind.apply(e,r));return n&&vt(o,n.prototype),o}).apply(null,arguments)}function gt(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if(\"undefined\"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var n=[],r=!0,o=!1,i=void 0;try{for(var a,u=e[Symbol.iterator]();!(r=(a=u.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{r||null==u.return||u.return()}finally{if(o)throw i}}return n}(e,t)||bt(e,t)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function yt(e){return function(e){if(Array.isArray(e))return xt(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||bt(e)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function bt(e,t){if(e){if(\"string\"==typeof e)return xt(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return\"Object\"===n&&e.constructor&&(n=e.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(e):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?xt(e,t):void 0}}function xt(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var qt=Object.prototype.hasOwnProperty,wt=Object.prototype.toString,kt=Object.defineProperty,Dt=Object.getOwnPropertyDescriptor,Ct=function(e){return\"function\"==typeof Array.isArray?Array.isArray(e):\"[object Array]\"===wt.call(e)},Mt=function(e){if(!e||\"[object Object]\"!==wt.call(e))return!1;var t,n=qt.call(e,\"constructor\"),r=e.constructor&&e.constructor.prototype&&qt.call(e.constructor.prototype,\"isPrototypeOf\");if(e.constructor&&!n&&!r)return!1;for(t in e);return void 0===t||qt.call(e,t)},St=function(e,t){kt&&\"__proto__\"===t.name?kt(e,t.name,{enumerable:!0,configurable:!0,value:t.newValue,writable:!0}):e[t.name]=t.newValue},It=function(e,t){if(\"__proto__\"===t){if(!qt.call(e,t))return;if(Dt)return Dt(e,t).value}return e[t]},At=function e(){var t,n,r,o,i,a,u=arguments[0],l=1,c=arguments.length,s=!1;for(\"boolean\"==typeof u&&(s=u,u=arguments[1]||{},l=2),(null==u||\"object\"!=typeof u&&\"function\"!=typeof u)&&(u={});l<c;++l)if(null!=(t=arguments[l]))for(n in t)r=It(u,n),u!==(o=It(t,n))&&(s&&o&&(Mt(o)||(i=Ct(o)))?(i?(i=!1,a=r&&Ct(r)?r:[]):a=r&&Mt(r)?r:{},St(u,{name:n,newValue:e(s,a,o)})):void 0!==o&&St(u,{name:n,newValue:o}));return u};function Ot(e,t,n){if(!e)return-1;var r=n.cache,o=e.origin?e.origin():null;o&&(e=o);var i=r.fields.indexOf(e),a=-1,u=-1;if(-1===i)for(var l=0;l<r.wrappedFields.length;l++)if(u=r.wrappedFields[l].attrDims.map((function(e){return e.instance})).indexOf(e),a=r.wrappedFields[l].attrExps.map((function(e){return e.instance})).indexOf(e),-1!==u||-1!==a){i=l;break}return(i-=t.qArea.qLeft)<0||i>=t.qArea.qWidth?-1:u>=0?function(e){return e[i].qAttrDims.qValues[u]}:a>=0?function(e){return e[i].qAttrExps.qValues[a]}:function(e){return e[i]}}function Nt(e,t,n){var r=n.key,o={value:\"function\"==typeof e.value?e.value(t):void 0!==e.value?e.value:t};return o.label=\"function\"==typeof e.label?e.label(t):void 0!==e.label?String(e.label):String(o.value),e.field&&(o.source={key:r,field:e.field.key()}),o}function Et(e){var t=e.cache,n=e.f,r=e.mainCell,o=e.p;e.prop;var i=e.page,a=e.rowIdx,u=e.row,l=e.sourceKey,c=e.target,s=e.targetProp,f=r;if(o.field&&o.field!==n){var d=Ot(o.field,i,{cache:t});if(-1===d)return;f=At({qRow:a},d(u))}c[s]=Nt(o,f,{key:l})}function Pt(e,t,n,r){for(var o=Array.isArray(e)?e:[e],i=[],a=0;a<o.length;a++)if(void 0!==o[a].field){for(var u=t.raw(),l=t.key(),c=\"object\"===ut(o[a].field)?o[a].field:t.field(o[a].field),s=r.normalizeConfig(o[a],t),f=s.props,d=s.main,p=Object.keys(f),v=!!o[a].trackBy,h=ut(o[a].trackBy),m={},g=[],y=[],b=0;b<u.qDataPages.length;b++){var x=Ot(c,u.qDataPages[b],{cache:n});if(-1!==x)for(var q=0;q<u.qDataPages[b].qMatrix.length;q++){var w=u.qDataPages[b].qArea.qTop+q,k=At({qRow:w},x(u.qDataPages[b].qMatrix[q])),D=Nt(d,k,{key:l});if(!(d.filter&&!d.filter(k))){for(var C=0;C<p.length;C++){var M=f[p[C]],S=M.fields||[M];M.fields&&(D[p[C]]=[]);for(var I=0;I<S.length;I++)Et({cache:n,f:c,mainCell:k,p:S[I],prop:p[C],props:f,page:u.qDataPages[b],rowIdx:w,row:u.qDataPages[b].qMatrix[q],sourceKey:l,target:M.fields?D[p[C]]:D,targetProp:M.fields?I:p[C]});if(M.fields){var A=D[p[C]].map((function(e){return e.value})),O=D[p[C]].map((function(e){return e.label}));D[p[C]]={value:\"function\"==typeof M.value?M.value(A):void 0!==M.value?M.value:A,label:\"function\"==typeof M.label?M.label(O):void 0!==M.label?String(M.label):String(D[p[C]].value)}}}v&&r.track({cfg:o[a],itemData:k,obj:D,target:g,tracker:m,trackType:h}),y.push(D)}}}v?i.push.apply(i,yt(r.collect(g,{main:d,propsArr:p,props:f}))):i.push.apply(i,y)}return i}function jt(e){var t=0,n=e.children,r=n&&n.length;if(r)for(;--r>=0;)t+=n[r].value;else t=1;e.value=t}function Tt(e,t){var n,r,o,i,a,u=new zt(e),l=+e.value&&(u.value=e.value),c=[u];for(null==t&&(t=Ft);n=c.pop();)if(l&&(n.value=+n.data.value),(o=t(n.data))&&(a=o.length))for(n.children=new Array(a),i=a-1;i>=0;--i)c.push(r=n.children[i]=new zt(o[i])),r.parent=n,r.depth=n.depth+1;return u.eachBefore(Ht)}function Ft(e){return e.children}function Lt(e){e.data=e.data.data}function Ht(e){var t=0;do{e.height=t}while((e=e.parent)&&e.height<++t)}function zt(e){this.data=e,this.depth=this.height=0,this.parent=null}function Rt(e){if(\"function\"!=typeof e)throw new Error;return e}zt.prototype=Tt.prototype={constructor:zt,count:function(){return this.eachAfter(jt)},each:function(e){var t,n,r,o,i=this,a=[i];do{for(t=a.reverse(),a=[];i=t.pop();)if(e(i),n=i.children)for(r=0,o=n.length;r<o;++r)a.push(n[r])}while(a.length);return this},eachAfter:function(e){for(var t,n,r,o=this,i=[o],a=[];o=i.pop();)if(a.push(o),t=o.children)for(n=0,r=t.length;n<r;++n)i.push(t[n]);for(;o=a.pop();)e(o);return this},eachBefore:function(e){for(var t,n,r=this,o=[r];r=o.pop();)if(e(r),t=r.children)for(n=t.length-1;n>=0;--n)o.push(t[n]);return this},sum:function(e){return this.eachAfter((function(t){for(var n=+e(t.data)||0,r=t.children,o=r&&r.length;--o>=0;)n+=r[o].value;t.value=n}))},sort:function(e){return this.eachBefore((function(t){t.children&&t.children.sort(e)}))},path:function(e){for(var t=this,n=function(e,t){if(e===t)return e;var n=e.ancestors(),r=t.ancestors(),o=null;e=n.pop(),t=r.pop();for(;e===t;)o=e,e=n.pop(),t=r.pop();return o}(t,e),r=[t];t!==n;)t=t.parent,r.push(t);for(var o=r.length;e!==n;)r.splice(o,0,e),e=e.parent;return r},ancestors:function(){for(var e=this,t=[e];e=e.parent;)t.push(e);return t},descendants:function(){var e=[];return this.each((function(t){e.push(t)})),e},leaves:function(){var e=[];return this.eachBefore((function(t){t.children||e.push(t)})),e},links:function(){var e=this,t=[];return e.each((function(n){n!==e&&t.push({source:n.parent,target:n})})),t},copy:function(){return Tt(this).eachBefore(Lt)}};var Vt={depth:-1},Bt={};function _t(e){return e.id}function Ut(e){return e.parentId}function Kt(e,t){\"/\"===e.charAt(0)&&(e=e.substring(1));for(var n,r=e.split(\"/\"),o=t,i=0;i<r.length;i++){if(\"*\"===r[i]&&Array.isArray(o)){var a=[];n=r.slice(i+1).join(\"/\");for(var u=0;u<o.length;u++){var l=Kt(n,o[u]);Array.isArray(l)?a.push.apply(a,yt(l)):a.push(l)}return a}if(!r[i]&&Array.isArray(o)){var c=new Array(o.length);n=r.slice(i+1).join(\"/\");for(var s=0;s<o.length;s++)c[s]=Kt(n,o[s]);return c}r[i]in o&&(o=o[r[i]])}return o}function Yt(e,t,n){var r=[];if(!e||!e.length)return r;if(t<=0){var o=n>=0?[e[n]]:e;r.push.apply(r,yt(o))}else for(var i=0;i<e.length;i++)e[i].children&&e[i].children.length&&r.push.apply(r,yt(Yt(e[i].children,t-1,n)));return r}function $t(e,t,n){if(e===t)return function(e){return e};if(e>t){var r=Math.max(0,Math.min(100,e-t)),o=yt(Array(r)).map(String.prototype.valueOf,\"parent\").join(\".\");return Function(\"node\",\"return node.\".concat(o,\";\"))}if(t>e){var i=Math.max(0,Math.min(100,t-e));return function(e){return Yt(e.children,i-1,n)}}return!1}function Wt(e,t){var n=t.cache;if(\"number\"==typeof e)return n.fields[e];var r=n.allFields;if(\"function\"==typeof e){for(var o=0;o<r.length;o++)if(e(r[o]))return r[o];return!1}if(\"string\"==typeof e){for(var i=0;i<r.length;i++)if(r[i].key()===e||r[i].title()===e)return r[i]}else if(e&&-1!==r.indexOf(e))return e;throw Error(\"Field not found: \".concat(e))}var Jt=/^qDimensionInfo(?:\\/(\\d+))?/,Gt=/^\\/?qMeasureInfo\\/(\\d+)/,Qt=/\\/qAttrExprInfo\\/(\\d+)/,Xt=/\\/qAttrDimInfo\\/(\\d+)/;function Zt(e){return(e.qColumnOrder&&e.qColumnOrder.length?e.qColumnOrder:e.qDimensionInfo.map((function(e,t){return t}))).filter((function(t){return t<e.qDimensionInfo.length}))}function en(e,t){var n=t.cube;if(!e)return-1;var r=e.origin&&e.origin()?e.origin().key():e.key(),o=!1,i=-1,a=-1,u=-1,l=-1,c=-1,s=r,f=n.qEffectiveInterColumnSortOrder,d=Zt(n);return Jt.test(s)&&(o=!0,i=+Jt.exec(s)[1],s=r.replace(Jt,\"\")),Gt.test(s)&&(\"K\"===n.qMode?l=+Gt.exec(s)[1]:f&&-1!==f.indexOf(-1)?(l=+Gt.exec(s)[1],c=0):c=+Gt.exec(s)[1],s=s.replace(Gt,\"\")),s&&(Xt.exec(s)?u=+Xt.exec(s)[1]:Qt.exec(s)&&(a=+Qt.exec(s)[1])),{fieldDepth:(o?\"S\"===n.qMode?d[i]:f?f.indexOf(i):i:f&&-1!==f.indexOf(-1)?f.indexOf(-1):n.qDimensionInfo.length-(\"K\"===n.qMode?0:1))+1,pseudoMeasureIndex:l,measureIdx:c,attrDimIdx:u,attrIdx:a}}function tn(e,t){var n,r,o=$t(e.fieldDepth,t.fieldDepth,t.pseudoMeasureIndex);return n=t.measureIdx>=0?function(e){return e.data.qValues[t.measureIdx]}:function(e){return e.data},t.attrDimIdx>=0?r=function(e){var n;return null==e||null===(n=e.qAttrDims)||void 0===n?void 0:n.qValues[t.attrDimIdx]}:t.attrIdx>=0&&(r=function(e){var n;return null==e||null===(n=e.qAttrExps)||void 0===n?void 0:n.qValues[t.attrIdx]}),{nodeFn:o,attrFn:r,valueFn:n}}function nn(e,t,n){var r=n.key,o={value:\"function\"==typeof e.value?e.value(t):void 0!==e.value?e.value:t};return o.label=\"function\"==typeof e.label?e.label(t):void 0!==e.label?String(e.label):String(o.value),e.field&&(o.source={key:r,field:e.field.key()}),o}function rn(e){for(var t=e.propsArr,n=e.props,r=e.item,o=e.itemData,i=e.ret,a=e.sourceKey,u=0;u<t.length;u++){var l=n[t[u]],c=l.fields||[l],s=void 0,f=void 0;l.fields&&(s=[],f=[]);for(var d=function(e){var n=c[e],d=void 0,p=void 0,v=void 0,h=void 0,m=void 0,g=void 0;if(\"primitive\"===n.type?(v=n.value,g=String(n.value)):(\"function\"==typeof n.value&&(d=function(e){return n.value(e,r)}),\"function\"==typeof n.label&&(p=function(e){return n.label(e,r)}),n.accessor?(h=n.accessor(r),Array.isArray(h)?(m=h.map(n.valueAccessor),n.attrAccessor&&(m=m.map(n.attrAccessor)),d&&(v=m.map(d),d=null),p&&(g=m.map(p),p=null),v=n.reduce?n.reduce(v):v,g=n.reduceLabel?n.reduceLabel(g,v):String(v)):g=v=n.attrAccessor?n.attrAccessor(n.valueAccessor(h)):n.valueAccessor(h)):(v=o,g=o)),l.fields){var y=d?d(v):v;s.push(y),f.push(p&&null!=g?p(g):null!=g?g:String(y))}else{var b=d?d(v):v;i[t[u]]={value:b,label:p?p(g):null!=g?g:String(b)},n.field&&(i[t[u]].source={field:n.field.key(),key:a})}},p=0;p<c.length;p++)d(p);s&&(i[t[u]]={value:\"function\"==typeof l.value?l.value(s,r):s,label:\"function\"==typeof l.label?l.label(f,r):f})}}var on=function(e,t,n){var r=\"K\"===e.qMode?\"/qStackedDataPages/*/qData\":\"/qTreeDataPages/*\",o=\"K\"===e.qMode?\"qSubNodes\":\"qNodes\",i=Kt(r,e);return i&&i[0]?(t.tree=Tt(i[0],n.children||function(e){return e[o]}),t.tree):null};function an(e){for(var t=e.raw().qDataPages.length?e.raw().qDataPages[0].qMatrix:[],n=function(e){var t=e.raw().qColumnOrder,n=e.fields();return t&&t.length===n.length?t:n.map((function(e,t){return t}))}(e),r=e.fields(),o=e.fields().filter((function(e){return\"dimension\"===e.type()})).map((function(e){return n.indexOf(r.indexOf(e))})),i=e.fields().filter((function(e){return\"measure\"===e.type()})).map((function(e){return n.indexOf(r.indexOf(e))})),a={__root:{__id:\"__root\",qValues:[]}},u=0;u<t.length;u++){for(var l=t[u],c=\"__root\",s=!1,f=0;f<o.length;f++){var d=l[o[f]],p=\"\".concat(c,\"__\").concat(d.qText);a[p]||(a[p]=pt({__id:p,__parent:c,qValues:[]},d),s=!0),c=p}if(s)for(var v=0;v<i.length;v++){var h=l[i[v]];a[c].qValues.push(h)}}var m=Object.keys(a).map((function(e){return a[e]}));return function(){var e=_t,t=Ut;function n(n){var r,o,i,a,u,l,c,s=n.length,f=new Array(s),d={};for(o=0;o<s;++o)r=n[o],u=f[o]=new zt(r),null!=(l=e(r,o,n))&&(l+=\"\")&&(d[c=\"$\"+(u.id=l)]=c in d?Bt:u);for(o=0;o<s;++o)if(u=f[o],null!=(l=t(n[o],o,n))&&(l+=\"\")){if(!(a=d[\"$\"+l]))throw new Error(\"missing: \"+l);if(a===Bt)throw new Error(\"ambiguous: \"+l);a.children?a.children.push(u):a.children=[u],u.parent=a}else{if(i)throw new Error(\"multiple roots\");i=u}if(!i)throw new Error(\"no root\");if(i.parent=Vt,i.eachBefore((function(e){e.depth=e.parent.depth+1,--s})).eachBefore(Ht),i.parent=null,s>0)throw new Error(\"cycle\");return i}return n.id=function(t){return arguments.length?(e=Rt(t),n):e},n.parentId=function(e){return arguments.length?(t=Rt(e),n):t},n}().id((function(e){return e.__id})).parentId((function(e){return e.__parent}))(m)}var un=function(e){for(var t=e.propsArr,n=e.props,r=e.cube,o=e.cache,i=e.itemDepthObject,a=e.f,u=0;u<t.length;u++)for(var l=n[t[u]],c=l.fields?l.fields:[l],s=0;s<c.length;s++){var f=c[s];if(f.field!==a){var d=tn(i,en(f.field,{cube:r,cache:o}));f.accessor=d.nodeFn,f.valueAccessor=d.valueFn,f.attrAccessor=d.attrFn}}};function ln(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0,n=arguments.length>2?arguments[2]:void 0,r=arguments.length>3?arguments[3]:void 0,o=t.raw(),i=t.key(),a=\"S\"===o.qMode?an(t):on(o,n,e);if(!a)return null;for(var u=a.height,l=[],c=0;c<=u;c++){var s=null;if(c>0)if(\"S\"===o.qMode){var f=Zt(o),d=f[c-1];s=n.fields[d]}else{var p=o.qEffectiveInterColumnSortOrder[c-1];c>o.qEffectiveInterColumnSortOrder.length&&(p=o.qDimensionInfo.length),s=n.fields[p]}var v=r.normalizeConfig(pt(pt({},e),{},{field:s?s.key():void 0}),t),h=v.props,m=v.main,g=Object.keys(h);l[c]={propsArr:g,props:h,main:m};var y=s?en(s,{cube:o,cache:n}):{fieldDepth:0};un({propsArr:g,props:h,cube:o,cache:n,itemDepthObject:y,f:s})}for(var b=a.copy(),x=b.descendants(),q=a.descendants(),w=0;w<q.length;w++){var k=l[q[w].depth].propsArr,D=l[q[w].depth].props,C=l[q[w].depth].main,M=x[w],S=M.data,I=nn(C,S,{key:i});rn({propsArr:k,props:D,item:M,itemData:S,ret:I,sourceKey:i,isTree:!0}),q[w].data=I}return a}function cn(e,t,n,r){for(var o=Array.isArray(e)?e:[e],i=[],a=0;a<o.length;a++)if(void 0!==o[a].field){var u=t.raw(),l=t.key();if(!on(u,n,e))continue;var c=\"object\"===ut(o[a].field)?o[a].field:t.field(o[a].field),s=r.normalizeConfig(o[a],t),f=s.props,d=s.main,p=Object.keys(f),v=en(c,{cube:u,cache:n}),h=tn({fieldDepth:0},v),m=h.nodeFn,g=h.attrFn,y=h.valueFn;un({propsArr:p,props:f,cube:u,cache:n,itemDepthObject:v,f:c});for(var b=!!o[a].trackBy,x=ut(o[a].trackBy),q={},w=[],k=m(n.tree),D=[],C=0;C<k.length;C++){var M=k[C],S=g?g(y(M)):y(M);if(!(d.filter&&!d.filter(S))){var I=nn(d,S,{key:l});rn({propsArr:p,props:f,item:M,itemData:S,ret:I,sourceKey:l}),b&&r.track({cfg:o[a],itemData:S,obj:I,target:w,tracker:q,trackType:x}),D.push(I)}}b?i.push.apply(i,yt(r.collect(w,{main:d,propsArr:p,props:f}))):i.push.apply(i,D)}return i}\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self&&self;var sn,fn=(function(e){\n/*! javascript-number-formatter - v1.1.11 - http://mottie.github.com/javascript-number-formatter/ * © ecava */\ne.exports=function(e,t){if(!e||isNaN(+t))return t;var n,r,o,i,a,u,l,c,s,f,d=e.length,p=e.search(/[0-9\\-\\+#]/),v=p>0?e.substring(0,p):\"\",h=e.split(\"\").reverse().join(\"\"),m=h.search(/[0-9\\-\\+#]/),g=d-m,y=e.substring(g,g+1),b=g+(\".\"===y||\",\"===y?1:0),x=m>0?e.substring(b,d):\"\";if(n=(t=\"-\"===(e=e.substring(p,b)).charAt(0)?-t:+t)<0?t=-t:0,o=(r=e.match(/[^\\d\\-\\+#]/g))&&r[r.length-1]||\".\",i=r&&r[1]&&r[0]||\",\",e=e.split(o),t=+(t=t.toFixed(e[1]&&e[1].length))+\"\",u=e[1]&&e[1].lastIndexOf(\"0\"),(!(c=t.split(\".\"))[1]||c[1]&&c[1].length<=u)&&(t=(+t).toFixed(u+1)),s=e[0].split(i),e[0]=s.join(\"\"),(a=e[0]&&e[0].indexOf(\"0\"))>-1)for(;c[0].length<e[0].length-a;)c[0]=\"0\"+c[0];else 0==+c[0]&&(c[0]=\"\");if((t=t.split(\".\"))[0]=c[0],l=s[1]&&s[s.length-1].length){for(h=\"\",g=(f=t[0]).length%l,d=f.length,b=0;b<d;b++)h+=f.charAt(b),!((b-g+1)%l)&&b<d-l&&(h+=i);t[0]=h}return t[1]=e[1]&&t[1]?o+t[1]:\"\",\"0\"!==(r=t.join(\"\"))&&\"\"!==r||(n=!1),v+(n?\"-\":\"\")+r+x}}(sn={exports:{}},sn.exports),sn.exports);function dn(e){return e.replace(/[-[\\]/{}()*+?.\\\\^$|]/g,\"\\\\$&\")}var pn={3:\"k\",6:\"M\",9:\"G\",12:\"T\",15:\"P\",18:\"E\",21:\"Z\",24:\"Y\",\"-3\":\"m\",\"-6\":\"μ\",\"-9\":\"n\",\"-12\":\"p\",\"-15\":\"f\",\"-18\":\"a\",\"-21\":\"z\",\"-24\":\"y\"},vn=/%$/,hn=/^\\(r(0[2-9]|[12]\\d|3[0-6])\\)/i,mn=/^\\(oct\\)/i,gn=/^\\(dec\\)/i,yn=/^\\(hex\\)/i,bn=/^\\(bin\\)/i,xn=/^\\(rom\\)/i,qn=/^(\\(rom\\)|\\(bin\\)|\\(hex\\)|\\(dec\\)|\\(oct\\)|\\(r(0[2-9]|[12]\\d|3[0-6])\\))/i,wn=/#|0/g;function kn(e,t,n,r){return e=e.toString(t),n[1]===n[1].toUpperCase()&&(e=e.toUpperCase()),e.length-e.indexOf(\".\")>10&&(e=e.slice(0,e.indexOf(\".\")+11)),e.replace(\".\",r||\".\")}function Dn(e,t,n){var r;return hn.test(t)?e=kn(e,Number(/\\d{2}/.exec(t)[0]),t,n):mn.test(t)?e=kn(e,8,t,n):gn.test(t)?e=kn(e,10,t,n):yn.test(t)?e=kn(e,16,t,n):bn.test(t)?e=kn(e,2,t,n):xn.test(t)&&(r=\"\",e<0&&(r=\"-\",e=-e),e=0===(e=Math.floor(e))?\"0\":e<=5e5?r+(e=function(e,t){for(var n,r=\"\",o=Number(String(e).slice(-3)),i=(e-o)/1e3,a=[0,1,4,5,9,10,40,50,90,100,400,500,900].reverse(),u=[\"0\",\"I\",\"IV\",\"V\",\"IX\",\"X\",\"XL\",\"L\",\"XC\",\"C\",\"CD\",\"D\",\"CM\"].reverse();o>0;)for(n=0;n<a.length;n++)if(a[n]<=o){r+=u[n],o-=a[n];break}for(n=0;n<i;n++)r=\"M\".concat(r);return t[1]!==t[1].toUpperCase()&&(r=r.toLowerCase()),r}(e,t)):t+r+e.toExponential(0)),e}function Cn(e,t,n){var r=dn(e);return n?r:new RegExp(r||\"\",t)}function Mn(e,t,n){var r,o,i,a,u,l,c,s,f,d,p,v=e.pattern;v.indexOf(\"A\")>=0&&(v=v.replace(\"A\",\"\"),e.abbreviate=!0),d=t,(p=n)&&(p=dn(p)),d&&(d=dn(d)),f=new RegExp(\"(?:[#0]+\".concat(d,\")?[#0]+(?:\").concat(p,\"[#0]+)?\")),a=(i=(i=v.match(f))?i[0]:\"\")?v.substr(0,v.indexOf(i)):v,u=i?v.substring(v.indexOf(i)+i.length):\"\",i||(i=v?\"#\":\"##########\"),t&&t===n&&(o=(r=i.split(n)).pop(),i=r.join(\"\")+n+o,t=\"\"),l=t,t=/,/.test(n)?\"¤\":\",\",l&&(i=i.replace(Cn(l,\"g\"),t)),c=n,n=\".\",c&&(i=i.replace(Cn(c,\"g\"),n)),s=(s=i.match(/#/g))?s.length:0;var h,m=v.split(c);m[1]&&(h=m[1].match(wn)),e.prefix=a||\"\",e.postfix=u||\"\",e.pattern=v,e.maxPrecision=h?h.length:2,e.percentage=vn.test(v),e.numericPattern=i||\"\",e.numericRegex=new RegExp(\"\".concat(Cn(t,null,!0),\"|\").concat(Cn(n,null,!0)),\"g\"),e.groupTemp=l,e.decTemp=c,e.t=t,e.d=n,e.temp=s}var Sn=function(){function e(t,n,r,o,i){lt(this,e),this.localeInfo=t,this.pattern=n,this.thousandDelimiter=r||\",\",this.decimalDelimiter=o||\".\",this.type=i||\"numeric\",this.patternSeparator=\";\",this.abbreviations=function(e,t){if(!e||!e.qNumericalAbbreviation)return pn;var n={};return e.qNumericalAbbreviation.split(t).forEach((function(e){var t=e.split(\":\");2===t.length&&(n[t[0]]=t[1])})),n}(t,this.patternSeparator),this.prepare()}return st(e,[{key:\"clone\",value:function(){var t=new e(this.localeInfo,this.pattern,this.thousandDelimiter,this.decimalDelimiter,this.type);return t.subtype=this.subtype,t}},{key:\"format\",value:function(e,t,n,r){return this.prepare(t,n,r),this.formatValue(e)}},{key:\"prepare\",value:function(e,t,n){var r;void 0===e&&(e=this.pattern),void 0===t&&(t=this.thousandDelimiter),void 0===n&&(n=this.decimalDelimiter),e?(this._prepared={positive:{d:n,t:t,abbreviate:!1,isFunctional:!1,prefix:\"\",postfix:\"\"},negative:{d:n,t:t,abbreviate:!1,isFunctional:!1,prefix:\"\",postfix:\"\"},zero:{d:n,t:t,abbreviate:!1,isFunctional:!1,prefix:\"\",postfix:\"\"}},r=this._prepared,e=e.split(this.patternSeparator),r.positive.pattern=e[0],r.negative.pattern=e[1],r.zero.pattern=e[2],qn.test(e[0])&&(r.positive.isFunctional=!0),e[1]?qn.test(e[1])&&(r.negative.isFunctional=!0):r.negative=!1,e[2]?qn.test(e[2])&&(r.zero.isFunctional=!0):r.zero=!1,r.positive.isFunctional||Mn(r.positive,t,n),r.negative&&!r.negative.isFunctional&&Mn(r.negative,t,n),r.zero&&!r.zero.isFunctional&&Mn(r.zero,t,n)):this._prepared={pattern:!1}}},{key:\"formatValue\",value:function(e){var t,n,r,o,i,a,u,l,c,s=this._prepared,f=\"\",d=\"\",p=e;if(isNaN(e))return\"\".concat(p);if(e=+e,!1===s.pattern)return e.toString();if(0===e&&s.zero)return(s=s.zero).pattern;if(e<0&&s.negative?(s=s.negative,e=-e):s=s.positive,i=s.d,a=s.t,s.isFunctional)e=Dn(e,s.pattern,i);else{if(s.percentage&&(e*=100),s.abbreviate){var v,h,m=Object.keys(this.abbreviations).map((function(e){return parseInt(e,10)})).sort((function(e,t){return e-t})),g=m[0];for(u=0,n=Number(Number(e).toExponential().split(\"e\")[1]);g<=n&&u<m.length;)g=m[++u];u>0&&(v=m[u-1]),v&&n>0&&v>0?h=v:(n<0&&v<0||!v)&&(g<0&&g-n<=s.maxPrecision?h=g:v<=n&&!(g>0&&-n<=s.maxPrecision)&&(h=v)),h&&(f=this.abbreviations[h],e/=Math.pow(10,h))}if(r=Math.abs(e),t=s.temp,c=(l=s.numericPattern).split(i)[1],\"I\"===this.type&&(e=Math.round(e)),o=e,c||\"#\"!==l.slice(-1)[0])if(r>=1e15||r>0&&r<=1e-14)e=r?r.toExponential(15).replace(/\\.?0+(?=e)/,\"\"):\"0\";else{var y=Number(e.toFixed(Math.min(20,c?c.length:0)).split(\".\")[0]),b=l.split(i)[0];if(e=fn(b+=i,y)||\"0\",c){var x=Math.max(0,Math.min(14,c.length)),q=c.replace(/#+$/,\"\").length,w=(\"I\"===this.type?0:r%1).toFixed(x).slice(2).replace(/0+$/,\"\");for(u=w.length;u<q;u++)w+=\"0\";w&&(e+=i+w)}else 0===y&&(o=0)}else if(r>=Math.pow(10,t)||r<1||r<1e-4)0===e?e=\"0\":r<1e-4||r>=1e20?(e=(e=o.toExponential(Math.max(1,Math.min(14,t))-1)).replace(/\\.?0+(?=e)/,\"\"),d=\"\"):(e=e.toPrecision(Math.max(1,Math.min(14,t)))).indexOf(\".\")>=0&&(e=(e=e.replace(e.indexOf(\"e\")<0?/0+$/:/\\.?0+(?=e)/,\"\")).replace(\".\",i));else{for(l+=i,t=Math.max(0,Math.min(20,t-Math.ceil(Math.log(r)/Math.log(10)))),u=0;u<t;u++)l+=\"#\";e=fn(l,e)}e=e.replace(s.numericRegex,(function(e){return e===a?s.groupTemp:e===i?s.decTemp:\"\"})),o<0&&!/^-/.test(e)&&(e=\"-\".concat(e))}return s.prefix+e+d+f+s.postfix}}],[{key:\"getStaticFormatter\",value:function(){return{prepare:function(){},formatValue:function(e){return\"\".concat(e)}}}}]),e}();function In(e){var t,n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=r.size,i=void 0===o?5e3:o,a=r.multipleArguments,u=void 0!==a&&a,l=r.toKey,c=void 0===l?function(e){return e}:l,s=Object.create(null),f=Object.create(null),d=0,p=0;return(t=u?function(){return n=c.apply(void 0,arguments),t.has(n)?t.get(n):t.set(n,e.apply(void 0,arguments))}:function(r){return n=c(r),t.has(n)?t.get(n):t.set(n,e(r))}).set=function(e,t){return d>=i&&(delete s[f[p]],delete f[p],d--,p++),s[e]=t,f[d]=e,d++,t},t.get=function(e){return s[e]},t.has=function(e){return e in s},t.clear=function(){s=Object.create(null),f=Object.create(null),d=0,p=0},t.size=function(){return d},t}function An(e,t,n,r,o){var i=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return mt(Sn,t)}(o,e,t,n,r),a=In(i.formatValue.bind(i),{toKey:function(e){return isNaN(e)?e:+e}});function u(e){return a(e)}return u.format=function(e,t,n,r){return a.clear(),i.format(t,e,n,r)},u.pattern=function(e){return e&&(a.clear(),i.pattern=e,i.prepare()),i.pattern},u}var On=\"D\",Nn=\"T\",En=\"TS\",Pn=\"IV\",jn=[\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\",\"Sunday\"],Tn=[\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\",\"Sun\"],Fn=[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],Ln=[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"];function Hn(e,t){for(var n=e.length;n<t;n++)e=\"0\".concat(e);return e}function zn(e){var t=e.toString().split(\".\");return t[1]?t=Number(\"0.\".concat(t[1])):0}function Rn(e,t){var n,r=function(e){var t=e,n=24*zn(t),r=60*zn(n),o=60*zn(r),i=1e3*zn(o);return{d:Math.floor(t),h:Math.floor(n),m:Math.floor(r),s:Math.floor(o),f:Math.round(i)}}(e),o=r.d,i=r.h,a=r.m,u=r.s,l=r.f,c=0;/w+|t+/gi.test(t)&&(n=new Date(Date.UTC(1899,11,30+Math.floor(e),0,0,Math.round(86400*(e-Math.floor(e))))),isNaN(n.getTime())&&(n=null)),/D+/gi.test(t)||(i+=24*o),/h+/gi.test(t)||(a+=60*i),/m+/gi.test(t)||(u+=60*a),/w+/gi.test(t)&&(c=n?n.getDay()-1:0)<0&&(c=6);var s=\"\";return n&&(s=n.getUTCHours()>=12?\"pm\":\"am\"),{year:0,month:0,day:c,date:o,h:i,m:a,s:u,f:l,t:s}}var Vn=function(){function e(t,n,r){lt(this,e);var o,i=t||{};(i.qCalendarStrings||(i.qCalendarStrings={qLongDayNames:jn,qDayNames:Tn,qLongMonthNames:Fn,qMonthNames:Ln}),this.localeInfo=i,this.locale_days=i.qCalendarStrings.qLongDayNames.slice(),this.locale_days_abbr=i.qCalendarStrings.qDayNames.slice(),this.locale_months=i.qCalendarStrings.qLongMonthNames.slice(),this.locale_months_abbr=i.qCalendarStrings.qMonthNames.slice(),n)||(n=(ft(o={},Nn,i.qTimeFmt||\"hh:mm:ss\"),ft(o,On,i.qDateFmt||\"YYYY-MM-DD\"),ft(o,En,i.qTimestampFmt||\"YYYY-MM-DD hh:mm:ss\"),o)[r]);this.pattern=n}return st(e,[{key:\"clone\",value:function(){var t=new e(this.localeInfo,this.pattern);return t.subtype=this.subtype,t}},{key:\"format\",value:function(e,t){t||(t=this.pattern?this.pattern:\"YYYY-MM-DD hh:mm:ss\"),t=t.replace(/\\[.+]|\\[|]/g,\"\");var n,r,o,i,a,u=/t+/gi.test(t);e instanceof Date?(o=u,i=(r=e).getUTCHours(),a=r.getUTCDay()-1,o&&((i%=12)||(i=12)),a<0&&(a=6),n={year:r.getUTCFullYear(),month:r.getUTCMonth(),day:a,date:r.getUTCDate(),h:i,m:r.getUTCMinutes(),s:r.getUTCSeconds(),f:r.getUTCMilliseconds(),t:r.getUTCHours()>=12?\"pm\":\"am\"}):(e<0&&(e=-e,t=\"-\".concat(t)),n=Rn(e,t));var l=function(e,t){return{\"Y+|y+\":{Y:\"\".concat(Number(\"\".concat(t.year).slice(-2))),YY:Hn(\"\".concat(t.year).slice(-2),2),YYY:Hn(\"\".concat(t.year).slice(-3),3),def:function(e){return Hn(\"\".concat(t.year),e.length)}},\"M+\":{M:t.month+1,MM:Hn(\"\".concat(t.month+1),2),MMM:e.locale_months_abbr[t.month],def:e.locale_months[t.month]},\"W+|w+\":{W:t.day,WW:Hn(\"\".concat(t.day),2),WWW:e.locale_days_abbr[t.day],def:e.locale_days[t.day]},\"D+|d+\":{D:t.date,def:function(e){return Hn(\"\".concat(t.date),e.length)}},\"h+|H+\":{h:t.h,def:function(e){return Hn(\"\".concat(t.h),e.length)}},\"m+\":{m:t.m,def:function(e){return Hn(\"\".concat(t.m),e.length)}},\"s+|S+\":{s:t.s,def:function(e){return Hn(\"\".concat(t.s),e.length)}},\"f+|F+\":{def:function(e){var n=\"\".concat(t.f),r=e.length-n.length;if(r>0)for(var o=0;o<r;o++)n+=\"0\";else r<0&&(n=n.slice(0,e.length));return n}},\"t{1,2}|T{1,2}\":{def:function(e){var n=t.t;return e[0].toUpperCase()===e[0]&&(n=n.toUpperCase()),n.slice(0,e.length)}}}}(this,n),c=[];for(var s in l)Object.prototype.hasOwnProperty.call(l,s)&&c.push(s);var f=new RegExp(c.join(\"|\"),\"g\");return t.replace(f,(function(e){var t,n,r;for(n in l)if(Object.prototype.hasOwnProperty.call(l,n)&&(t=new RegExp(n)).test(e))break;if(!t)return\"\";for(var o in l[n])if(o===e||o.toLowerCase()===e){void 0===(r=l[n][o])&&(r=l[n][o.toLowerCase()]);break}return void 0===r&&(r=l[n].def),\"function\"==typeof r&&(r=r(e)),r}))}}]),e}();function Bn(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return mt(Vn,t)}function _n(e){return new Date(Date.UTC(1899,11,30+Math.floor(e),0,0,0,Math.round(864e5*(e-Math.floor(e)))))}function Un(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"TS\",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=Bn(n,e,t),o=In(r.format.bind(r),{toKey:function(e){return\"object\"===ut(e)&&\"function\"==typeof e.getTime?e.getTime():e}});function i(e){return t!==Pn?_n(e):e}function a(e){return e=i(e),o(e)}return a.format=function(e,t){return o.clear(),t=i(t),r.format(t,e)},a.locale=function(n){return r=Bn(n,e,t),o=In(r.format.bind(r),{toKey:function(e){return\"object\"===ut(e)?e.getTime():e}}),this},a.qtype=function(e){return void 0!==e&&(t=e,o.clear()),t},a}function Kn(e,t){if(e&&e.qNumFormat&&-1!==[\"D\",\"T\",\"TS\",\"IV\"].indexOf(e.qNumFormat.qType))return Un(e.qNumFormat.qFmt,e.qNumFormat.qType,t);var n=\"#\",r=t&&void 0!==t.qThousandSep?t.qThousandSep:\",\",o=t&&void 0!==t.qDecimalSep?t.qDecimalSep:\".\",i=\"U\",a=e&&!!e.qIsAutoFormat;return e&&e.qNumFormat?(n=e.qNumFormat.qFmt||n,r=e.qNumFormat.qThou||r,o=e.qNumFormat.qDec||o,i=e.qNumFormat.qType||i,a=a&&-1===[\"M\"].indexOf(e.qNumFormat.qType)):a=!0,(a||\"U\"===i)&&(n=\"#\".concat(o,\"##A\"),i=\"U\"),An(n,r,o,i,t)}function Yn(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.meta,r=t.id,o=t.key,i=t.localeInfo,a=t.fieldExtractor,u=t.value,l=t.type,c=t.sourceField,s=u||(\"dimension\"===l?function(e){return e.qElemNo}:function(e){return e.qValue}),f=function(e){return e.qText||\"\"},d=\"dimension\"===l?\"first\":\"avg\",p=Kn(n,i),v=\"dimension\"===l?\"first\":function(e,t){return p(t)},h={id:function(){return r},key:function(){return o},raw:function(){return n},title:function(){return n.qFallbackTitle||n.label},type:function(){return l},origin:function(){return c},items:function(){return e||(e=a(h)),e},min:function(){return n.qMin},max:function(){return n.qMax},value:s,label:f,reduce:d,reduceLabel:v,formatter:function(){return p},tags:function(){return n.qTags}};return h}function $n(e,t,n,r,o){return(t[e]||[]).map((function(t,i){var a=\"\".concat(r?\"\".concat(r,\"/\"):\"\").concat(e,\"/\").concat(i),u={instance:Yn(At({id:\"\".concat(n?\"\".concat(n,\"/\"):\"\").concat(a),key:a,meta:t},o))};return u.attrDims=$n(\"qAttrDimInfo\",t,n,a,At({},o,{value:function(e){return e.qElemNo},type:\"dimension\"})),u.attrExps=$n(\"qAttrExprInfo\",t,n,a,At({},o,{value:function(e){return e.qNum},type:\"measure\"})),u.measures=$n(\"qMeasureInfo\",t,n,a,At({},o,{value:function(e){return e.qValue},type:\"measure\"})),u}))}function Wn(){var e,t,n,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},o=r.key,i=r.data,a=r.config,u=void 0===a?{}:a,l={fields:[],wrappedFields:[],allFields:[],virtualFields:[]},c=i;if(!c)throw new Error('Missing \"data\" input');if(!c.qDimensionInfo)throw new Error('The \"data\" input is not recognized as a hypercube');var s=Wn.util,f={cache:l,cube:c,localeInfo:u.localeInfo,fieldExtractor:null,pages:null,hierarchy:function(){return null},virtualFields:u.virtualFields},d={key:function(){return o},raw:function(){return c},field:function(e){return Wt(e,f)},fields:function(){return l.fields.slice()},extract:function(e){return f.extractor(e,d,l,s)},hierarchy:function(e){return f.hierarchy(e,d,l,s)},_cache:function(){return l}};\"K\"===c.qMode||\"T\"===c.qMode||!c.qMode&&c.qNodesOnDim?(f.extractor=cn,f.hierarchy=ln,f.pages=\"K\"===c.qMode?c.qStackedDataPages:c.qTreeDataPages):\"S\"===c.qMode?(f.extractor=Pt,f.pages=c.qDataPages,f.hierarchy=ln):f.extractor=function(){return[]},f.fieldExtractor=function(e){return f.extractor({field:e},d,l,s)};var p=\"S\"===c.qMode?function(e){return e.qElemNumber}:void 0,v=\"S\"===c.qMode?function(e){return e.qNum}:void 0;(e=l.wrappedFields).push.apply(e,yt($n(\"qDimensionInfo\",c,o,\"\",At({},f,{value:p,type:\"dimension\"})))),(t=l.wrappedFields).push.apply(t,yt($n(\"qMeasureInfo\",c,o,\"\",At({},f,{value:v,type:\"measure\"})))),l.fields=l.wrappedFields.map((function(e){return e.instance}));var h=function e(t){t.forEach((function(t){l.allFields.push(t.instance),e(t.measures),e(t.attrDims),e(t.attrExps)}))};return h(l.wrappedFields),(u.virtualFields||[]).forEach((function(e){var t=d.field(e.from),n=Yn(pt({meta:t.raw(),id:\"\".concat(o,\"/\").concat(e.key),sourceField:t,fieldExtractor:function(e){return f.extractor({field:e},d,l,s)},key:e.key,type:t.type(),localeInfo:f.localeInfo,value:t.value},e.override||{}));l.virtualFields.push(n)})),(n=l.allFields).push.apply(n,yt(l.virtualFields)),d}var Jn=[[\"qHyperCube\",\"qHyperCubeDef\"],[\"qTreeData\",\"qTreeDataDef\"],[\"qDimensionInfo\",\"qDimensions\"],[\"qMeasureInfo\",\"qMeasures\"],[\"qAttrDimInfo\",\"qAttributeDimensions\"],[\"qAttrExprInfo\",\"qAttributeExpressions\"]],Gn=/\\/qDimensionInfo(?:\\/(\\d+))?/,Qn=/\\/qMeasureInfo\\/(\\d+)/,Xn=/\\/qAttrDimInfo\\/(\\d+)(?:\\/(\\d+))?/,Zn=/\\/qAttrExprInfo\\/(\\d+)/,er=/\\/?qHyperCube/,tr=/\\/?qTreeData/,nr=function(e){return\"\".concat(e.substr(0,e.indexOf(\"/qHyperCubeDef\")+14))},rr=function(e){return\"\".concat(e.substr(0,e.indexOf(\"/qTreeDataDef\")+13))};function or(e,t){var n=e,r=-1,o=-1,i=\"\",a=function(e){return e};er.test(e)?(i=\"\".concat(n.substr(0,n.indexOf(\"qHyperCube\")+10)),a=nr):tr.test(e)&&(i=\"\".concat(n.substr(0,n.indexOf(\"qTreeData\")+9)),a=rr);var u=!0;if(Gn.test(e)&&(r=+Gn.exec(e)[1]),Qn.test(e)&&(o=+Qn.exec(e)[1]),Xn.test(e)){o=-1,r=0;var l=+Xn.exec(n)[2];isNaN(l)||(r=l,n=n.replace(/\\/\\d+$/,\"\")),u=!1}if(Zn.test(e)){var c=o;if(t){o=0;var s=Kt(i,t);o+=(s.qMeasureInfo||[]).length,r>-1?(o=s.qDimensionInfo.slice(0,r).reduce((function(e,t){return e+t.qAttrExprInfo.length}),o),r=-1):(o=s.qDimensionInfo.reduce((function(e,t){return e+t.qAttrExprInfo.length}),o),o=s.qMeasureInfo.slice(0,c).reduce((function(e,t){return e+t.qAttrExprInfo.length}),o)),o+=+Zn.exec(n)[1]}else r>-1?(r=-1,o=+Zn.exec(n)[1]):o+=+Zn.exec(n)[1]+1}return Jn.forEach((function(e){var t=gt(e,2),r=t[0],o=t[1];n=n.replace(r,o)})),u&&(n=a(n)),n&&\"/\"!==n[0]&&(n=\"/\".concat(n)),{measureIdx:o,dimensionIdx:r,path:n}}function ir(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2?arguments[2]:void 0,o=n.byCells,i=n.primarySource,a=[],u={},l=e.isActive(),c=!1;if(e.brushes().forEach((function(e){var t=or(e.id,r);if(\"range\"===e.type&&t.measureIdx>-1&&t.dimensionIdx>-1){var n=e.brush.ranges();n.length&&(c=!0,u.multiRangeSelectTreeDataValues||(u.multiRangeSelectTreeDataValues={path:t.path,ranges:[]}),n.forEach((function(e){return u.multiRangeSelectTreeDataValues.ranges.push({qMeasureIx:t.measureIdx,qDimensionIx:t.dimensionIdx,qRange:{qMin:e.min,qMax:e.max,qMinInclEq:!0,qMaxInclEq:!0}})})))}else{if(\"range\"===e.type&&t.measureIdx>-1){var l=e.brush.ranges();l.length&&(c=!0,u.rangeSelectHyperCubeValues||(u.rangeSelectHyperCubeValues={path:t.path,ranges:[]}),l.forEach((function(e){return u.rangeSelectHyperCubeValues.ranges.push({qMeasureIx:t.measureIdx,qRange:{qMin:e.min,qMax:e.max,qMinInclEq:!0,qMaxInclEq:!0}})})))}if(\"range\"===e.type&&t.dimensionIdx>-1){var s=e.brush.ranges();s.length&&(c=!0,u.selectHyperCubeContinuousRange||(u.selectHyperCubeContinuousRange={path:t.path,ranges:[]}),s.forEach((function(e){return u.selectHyperCubeContinuousRange.ranges.push({qDimIx:t.dimensionIdx,qRange:{qMin:e.min,qMax:e.max,qMinInclEq:!0,qMaxInclEq:!1}})})))}if(\"value\"===e.type&&t.dimensionIdx>-1)if(o)if(r&&r.qHyperCube&&(\"P\"===r.qHyperCube.qMode||\"T\"===r.qHyperCube.qMode||\"K\"===r.qHyperCube.qMode)){var f=r.qHyperCube,d=f.qNoOfLeftDims,p=f.qEffectiveInterColumnSortOrder.indexOf(t.dimensionIdx);if(u.selectPivotCells||(u.selectPivotCells={path:t.path,cells:[]}),e.id===i||!i){var v=e.brush.values().map((function(e){return+e})).filter((function(e){return!isNaN(e)}));(0===d||p>=d)&&d>-1?v.forEach((function(e){u.selectPivotCells.cells.push({qType:\"T\",qCol:e,qRow:p-d})})):v.forEach((function(e){u.selectPivotCells.cells.push({qType:\"L\",qCol:t.dimensionIdx,qRow:e})})),c=!!u.selectPivotCells.cells.length}}else u.selectHyperCubeCells||(u.selectHyperCubeCells={path:t.path,cols:[]}),u.selectHyperCubeCells.cols.push(t.dimensionIdx),e.id!==i&&(i||u.selectHyperCubeCells.values)||(u.selectHyperCubeCells.values=e.brush.values().map((function(e){return+e})).filter((function(e){return!isNaN(e)})),c=!!u.selectHyperCubeCells.values.length);else{var h=e.brush.values().map((function(e){return+e})).filter((function(e){return!isNaN(e)}));c=!!h.length,a.push({params:[t.path,t.dimensionIdx,h,!1],method:\"selectHyperCubeValues\"})}}})),!c&&l)return[{method:\"resetMadeSelections\",params:[]}];u.rangeSelectHyperCubeValues&&a.push({method:\"rangeSelectHyperCubeValues\",params:[u.rangeSelectHyperCubeValues.path,u.rangeSelectHyperCubeValues.ranges,[],null===(t=n.orMode)||void 0===t||t]});return u.selectHyperCubeContinuousRange&&a.push({method:\"selectHyperCubeContinuousRange\",params:[u.selectHyperCubeContinuousRange.path,u.selectHyperCubeContinuousRange.ranges]}),u.selectHyperCubeCells&&a.push({method:\"selectHyperCubeCells\",params:[u.selectHyperCubeCells.path,u.selectHyperCubeCells.values,u.selectHyperCubeCells.cols]}),u.selectPivotCells&&a.push({method:\"selectPivotCells\",params:[u.selectPivotCells.path,u.selectPivotCells.cells]}),u.multiRangeSelectTreeDataValues&&a.push({method:\"multiRangeSelectTreeDataValues\",params:[u.multiRangeSelectTreeDataValues.path,u.multiRangeSelectTreeDataValues.ranges]}),a}function ar(e){Wn.util=e.data(\"matrix\").util,e.data(\"q\",Wn),e.formatter(\"q-number\",An),e.formatter(\"q-time\",Un)}function ur(e){var t=Je(e.layout||{},e.path.split(\"/\").join(\".\"));if(!t)return!1;var n=t.qIsOneAndOnlyOne;return void 0!==n&&n}function lr(e){var t,n,r,o=e.selections,i=e.picassoSelections,a=e.layout,u={lockedDimensions:[],singleSelectDimensions:[]};null!=o&&null!==(t=o.isModal)&&void 0!==t&&t.call(o)&&o.confirm(),i.layout(a);var l=(null!==(n=null==a?void 0:a.qHyperCube)&&void 0!==n?n:{}).qDimensionInfo,c=void 0===l?[]:l;return u.lockedDimensions=c.map((function(e){return!!e.qLocked})),u.singleSelectDimensions=c.map((function(e,t){return ur({layout:a,path:\"qHyperCube/qDimensionInfo/\".concat(t)})})),u.singleSelectIndex=function(e){var t,n=((null==e?void 0:e.qHyperCube)||{}).qDimensionInfo,r=void 0===n?[]:n;return null!==(t=r.map((function(e,t){var n;return!(e.qLocked||(null===(n=e.qCardinalities)||void 0===n?void 0:n.qHypercubeCardinal)<=1)&&t})).filter((function(e){return\"number\"==typeof e}))[0])&&void 0!==t?t:Math.max(r.length-1,0)}(a),u.canSelect=0===c.length||c.some((function(e){return!e.qLocked})),u.dimensionLocked=!(null===(r=c[0])||void 0===r||!r.qLocked),u}function cr(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];if(null==t||!t.length)return!1;var n=t.filter((function(t){return\"object\"===e(t.data)&&Array.isArray(t.data.fields)})).every((function(e){return e.data.fields.every((function(e){var t=e.raw();return!(!t.qLocked&&t.qCardinal)}))}));return n}function sr(e){var t=e.brush,n=e.colorField,r=e.legendAlias,o=e.useLegendCube,i=void 0!==o&&o;!n||/qAttrDimInfo/.test(n)?(t.removeKeyAlias(\"attrDim/qDimensionInfo/0\"),r&&t.removeKeyAlias(r),t.addKeyAlias(\"attrDim/qDimensionInfo/0\",\"qHyperCube/\".concat(n))):i&&t.addKeyAlias(r,\"qHyperCube/\".concat(n))}ar.qBrushHelper=ir,ar.selections=ir;var fr=\"Enter\",dr=\"Escape\",pr=\"Esc\",vr=\"Shift\";function hr(e){var t=e.brush,n=e.getConfig;return{interceptor:function(e){var r=t.brushes(),o=n(),i=o.allowSimultaneous,a=o.layout,u=void 0===a?{}:a;r.forEach((function(n){var r,o,a;(\"range\"===n.type||null!==(r=e[0])&&void 0!==r&&r.key&&(null===(o=e[0])||void 0===o?void 0:o.key)!==n.id&&0!==i.indexOf(null===(a=e[0])||void 0===a?void 0:a.key))&&t.clear([])}));var c=e.filter((function(e){return-2!==e.value}));return c.length>1?function(e){var t=e.layout,n=void 0===t?{}:t,r=e.values,o=void 0===r?[]:r;if(null==o||!o.length)return[];var i=Array.from(new Set(o.map((function(e){return e.key})))),a=[];return i.forEach((function(e){var t=ur({layout:n,path:e}),r=o.filter((function(t){return t.key===e})),i=t?[r.pop()]:r;a.push.apply(a,l(i))})),a.filter(Boolean)}({layout:u,values:c}):c},rangeInterceptor:function(e){var r=t.brushes(),o=n().allowSimultaneous;return r.filter((function(e){return\"value\"===e.type})).length?(t.clear([]),e):(r.forEach((function(n){var r=n.id===e[0].key||o.includes(n.id)&&o.includes(e[0].key);\"range\"!==n.type||r||t.clear([])})),e)}}}var mr=[],gr=0,yr=function(e){var t=mr.filter((function(e){var t;return null===(t=e.selections)||void 0===t?void 0:t.isActive()}));t.length&&(e.key===fr?t.forEach((function(e){return e.selections.confirm()})):e.key!==dr&&e.key!==pr||t.forEach((function(e){return e.selections.cancel()})))},br=function(){document.addEventListener(\"keyup\",yr)},xr=function(){document.removeEventListener(\"keyup\",yr)},qr=function(e,t){Object.keys(t).forEach((function(n){e.on(n,t[n])}))},wr=function(e,t){Object.keys(t).forEach((function(n){e.removeListener(n,t[n])}))};function kr(e,t,n){if(t&&void 0!==n&&\"selectHyperCubeContinuousRange\"===e.method){var r=e.params;if(r&&r[1]&&r[1][0]){var o=r[1][0],i=o.qDimIx,a=o.qRange;\"undefined\"!==i&&a&&!1===a.qMaxInclEq&&a.qMax>=n&&(a.qMaxInclEq=!0)}}}function Dr(e){var t=e.chart,n=e.document,r=e.selectionInfo,o=e.eventName,i=e.componentName,a=e.brushName,u=void 0===a?\"selection\":a,l=e.emit,c=void 0===l?\"rangeClear\":l,s=r.event===o,f=n.querySelector(\"[data-key='\".concat(i,\"-edge-0']\"));if(s||!f)return!1;var d=t.component(i);return!!d&&(d.emit(c),\"string\"==typeof u&&t.brush(u).clear(),d)}function Cr(e){var t=e.selectionInfo,n=e.chart,r=e.document,o=e.eventName,i=void 0===o?\"discreteRange\":o,a=e.componentName,u=void 0===a?\"discrete-range-brush\":a,l=e.cleared;return Dr({selectionInfo:t,chart:n,document:r,eventName:void 0!==l&&l?void 0:i,componentName:u,emit:\"areaClear\",brushName:e.brushName})}function Mr(e){var t=e.selectionInfo,n=e.chart,r=e.document,o=e.eventName,i=void 0===o?\"continuousRange\":o,a=e.componentName,u=void 0===a?\"continuous-range-brush\":a,l=e.cleared;return Dr({selectionInfo:t,chart:n,document:r,eventName:void 0!==l&&l?void 0:i,componentName:u,brushName:e.brushName})}function Sr(e){var t=e.selectionInfo,n=e.chart,r=e.document,o=e.componentName,i=void 0===o?\"minor-range-brush\":o,a=e.eventName,u=void 0===a?\"minorRange\":a,l=e.cleared,c=void 0!==l&&l,s=e.brushName,f=Dr({selectionInfo:t,chart:n,document:r,eventName:c?void 0:u,componentName:i,brushName:void 0!==s&&s});if(f){var d=f.settings.settings,p=d.scale,v=d.brush,h=n.scale(p).data().fields.map((function(e){return e.id()})),m=n.brush(v),g=m.brushes().filter((function(e){return\"range\"===e.type&&h.some((function(t){return t===e.id}))}));m&&g.length&&g.forEach((function(e){m.removeRanges(e.brush.ranges().map((function(t){return{key:e.id,range:t}})))}))}}function Ir(e){var t=e.selectionInfo,n=e.chart,r=e.document,o=e.selections,i=e.eventName,a=void 0===i?\"xAxis\":i,u=e.cleared;Dr({selectionInfo:t,chart:n,document:r,eventName:void 0!==u&&u?void 0:a,componentName:\"\".concat(a,\"-range-brush\"),emit:\"areaClear\",brushName:!1})&&o.clear()}function Ar(e){var t=e.chart,n=e.selectionInfo,r=e.selections,o=e.events,i=void 0===o?[\"tap\"]:o,a=e.brushNames,u=void 0===a?[]:a;if(n&&i.includes(n.event)){var l=n.currentComponent;n.previousComponent!==l&&(r.clear(),u.forEach((function(e){return t.brush(e).end()})))}}function Or(e){var t=e.selectionInfo,n=e.chart,r=e.document,o=e.selections,i=e.eventName,a=void 0===i?\"legendRange\":i,u=e.componentName,l=void 0===u?\"legend-range-brush\":u,c=e.cleared,s=void 0!==c&&c,f=e.brushName;Dr({selectionInfo:t,chart:n,document:r,eventName:s?void 0:a,componentName:l,brushName:void 0!==f&&f})&&o.clear()}var Nr=function(e){e.chart,e.document,e.selections,e.selectionInfo;var t=a(e,[\"chart\",\"document\",\"selections\",\"selectionInfo\"]);t.clearDiscrete(),t.clearContinuous(),t.clearMinor(),t.clearRange(),t.clearTap(),t.clearLegend()};function Er(e){var t=e.selectionEvents,n=e.selections,r=e.selectionInfo,o=e.clear,a=e.chart,u=e.document,l=t.start,c={selections:n,selectionInfo:r,chart:a,document:u},s=function(e){return Object.assign(r,e||{})},f=function(e){var t=e.event,n=e.components;return function(){return function(e){var t=e.selectionInfo,n=void 0===t?{}:t,r=e.setSelectionInfo,o=e.clear,a=e.event,u=e.components,l=void 0===u?[]:u;r(i(i({},n),{},{event:a,components:l.map((function(e){return e.key})).filter(Boolean)})),o()}({event:t,components:n,clear:o,chart:a,selectionInfo:r,setSelectionInfo:s})}};return\"function\"==typeof l?function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];l(i(i({defaultFunc:f({event:e,components:t}),setSelectionInfo:s,clear:o},c),{},{event:e,components:t}))}:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];f({event:e,components:t})()}}function Pr(e){var t,n=e.lasso;null!=n&&null!==(t=n.active)&&void 0!==t&&t.call(n)&&(null==n||n.action(!1))}function jr(e){var t,n=e.chart,r=e.selectionInfo,o=e.selectionActions,a=e.actions,l=void 0===a?{}:a,c=e.selections,s=e.selectionEvents;if(!1===o||!1===s)return function(){};var f=(l||{}).lasso,d=void 0!==f&&f,p=o.reset,v=void 0===p?Pr:p,h=o.clear,m=!1!==h&&function(e){var t=e.clear,n=void 0===t?Nr:t,r=e.selections,o=e.selectionInfo,a=e.chart;return function(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).cleared,t={selections:r,selectionInfo:o,chart:a,document:document,cleared:e};return n(i({clearDiscrete:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return Cr(i(i({},t),e))},clearContinuous:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return Mr(i(i({},t),e))},clearMinor:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return Sr(i(i({},t),e))},clearRange:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return Ir(i(i({},t),e))},clearTap:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return Ar(i(i({},t),e))},clearLegend:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return Or(i(i({},t),e))}},t))}}({clear:h,selections:c,selectionInfo:r,chart:n}),g=function(e){var t=e.chart,n=e.lasso,r=e.reset,o=e.clear,i=!1,a={deactivated:function(e){r({e:e,lasso:n})},canceled:function(e){r({e:e,lasso:n}),o({e:e,chart:t,document:document})},cleared:function(e){i||(i=!0,o({e:e,chart:t,document:document,cleared:!0}),i=!1)}};return!1===r&&delete a.deactivated,!1===o&&delete a.cleared,!1===r&&!1===o&&delete a.canceled,a}({chart:n,clear:m,reset:v,lasso:d}),y={};Object.entries(g).forEach((function(e){var t=u(e,2),n=t[0],r=t[1];y[n]=function(e,t){return t?function(n){return t({event:n,defaultFunc:e})}:e}(r,s[n])}));var b=Er({selectionEvents:s,selections:c,selectionInfo:r,clear:m,chart:n,document:document});return null==l||null===(t=l.select)||void 0===t||t.on(\"start\",b),Object.entries(y).forEach((function(e){var t=u(e,2),n=t[0],r=t[1];null==c||c.on(n,r)})),function(){var e;null==l||null===(e=l.select)||void 0===e||e.removeListener(\"start\",b),Object.entries(y).forEach((function(e){var t=u(e,2),n=t[0],r=t[1];null==c||c.removeListener(n,r)}))}}function Tr(e){var t=e.chart,n=e.selectionActions,r=e.brush,o=e.actions,i=e.selectionInfo,a=e.selections,l=e.selectionEvents,c=function(e){var t=e.brush,n=e.chart,r=e.selectionInfo,o=e.brushEvents,i=void 0===o?{}:o,a=Object.entries(i).map((function(e){var o=u(e,2),i=o[0],a=o[1],l=function(){return a({chart:n,selectionInfo:r})};return t.on(i,l),[i,l]}));return function(){a.forEach((function(e){var n=u(e,2),r=n[0],o=n[1];t.removeListener(r,o)}))}}({brush:r,chart:t,selectionInfo:i,brushEvents:e.brushEvents}),s=jr({chart:t,selectionInfo:i,selectionActions:n,actions:o,selections:a,selectionEvents:l}),f=function(e){var t=e.actions;if(null==t||!t.lasso)return function(){};var n=!1,r=function(e){n||e.key!==vr||(t.lasso.action(!0),n=!0)},o=function(e){e.key===vr&&(t.lasso.action(!1),n=!1)};return document.addEventListener(\"keydown\",r),document.addEventListener(\"keyup\",o),function(){document.removeEventListener(\"keydown\",r),document.removeEventListener(\"keyup\",o)}}({actions:o});return function(){c(),s(),f()}}var Fr=[{key:\"qHyperCube/qDimensionInfo/0:numeric\",includeMax:!1}];function Lr(e){var t=e.chart,n=e.actions,r=e.selections,o=e.picassoQ,i=e.config,a=i.allowSimultaneous,c=void 0!==a&&a,s=i.majorScale,f=void 0===s?void 0:s,d=i.selectionActions,p=(d=void 0===d?{}:d).clear,v=d.reset,h=i.selectionEvents,m=void 0===h?{deactivated:void 0,canceled:void 0,cleared:void 0,start:void 0}:h,g=i.brushEvents,y=void 0===g?{}:g,b=i.brushName,x=void 0===b?\"selection\":b,q=i.brushMaxListeners,w=void 0===q?20:q,k=i.brushRanges,D=void 0!==k&&k,C=i.interceptors,M=void 0===C?{}:C,S=i.selectionsFn,I=void 0===S?o.selections:S,A=t.brush(x);if(\"number\"==typeof w&&A.setMaxListeners(w),D){var O=!0===D?Fr:D;A.configure({ranges:O})}var N={canSelect:!0,getIsSelectionLocked:!1,isInnerDimensionLocked:!1,lockedDimensions:[],singleSelectIndex:0,singleSelectDims:[],selectionInfo:{colorField:void 0,components:[],event:void 0,currentComponent:void 0,previousComponent:void 0}},E=function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.selections,r=t.brush,o=t.majorScale,i=t.actions,a=t.selectionsFn,u=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).path,l=void 0===u?\"/qHyperCubeDef\":u;if(!n)return{layout:function(){},allowSimultaneous:function(){},release:function(){}};var c=++gr,s=null,f=[],d={};n.on=n.on.bind(n),n.isActive=n.isActive.bind(n),n.addListener=n.addListener.bind(n),n.removeListener=n.removeListener.bind(n);var p=hr({brush:r,getConfig:function(){return{layout:s,allowSimultaneous:f}}}),v=p.rangeInterceptor,h=p.interceptor;r.intercept(\"set-ranges\",v),r.intercept(\"toggle-ranges\",v),r.intercept(\"toggle-values\",h),r.intercept(\"set-values\",h),r.intercept(\"add-values\",h),r.on(\"start\",(function(){return n.begin(l)}));var m={activate:function(){},deactivated:function(){return r.end()},cleared:function(){return r.clear()},canceled:function(){return r.end()}};qr(n,m);var g=null==o||null===(e=o.max)||void 0===e?void 0:e.call(o);return null!=i&&i.select?(i.select.on(\"start\",(function(){var e;r.start(),\"function\"==typeof i.select.getBrushOptions&&(d=(e=i.select).getBrushOptions.apply(e,arguments))})),i.select.on(\"end\",(function(){a(r,d,s).forEach((function(e){kr(e,i.select.brushSelectionIncludeMax,g),n.select(e)}))}))):r.on(\"update\",(function(){a(r,d,s).forEach((function(e){return n.select(e)}))})),0===mr.length&&br(),mr.push({key:c,selections:n}),{layout:function(e){s=e},allowSimultaneous:function(e){f=e},release:function(){s=null;var e=mr.indexOf(mr.filter((function(e){return e.key===c}))[0]);-1!==e&&mr.splice(e,1),mr.length||xr(),wr(n,m)}}}({brush:A,majorScale:f,actions:n,selections:r,picassoQ:o,selectionsFn:I});!function(e){var t=e.brush,n=e.interceptors,r=void 0===n?{}:n;Object.entries(r).forEach((function(e){var n=u(e,2),r=n[0],o=n[1];(Array.isArray(o)?o:[o]).forEach((function(e){t.intercept(r,e)}))}))}({brush:A,interceptors:M});var P=Tr({chart:t,brush:A,actions:n,selections:r,selectionInfo:N.selectionInfo,selectionActions:{clear:p,reset:v},selectionEvents:m,brushEvents:y});if(c){var j=!0===c?l(Array(15)).map((function(e,t){return\"qHyperCube/qMeasureInfo/\".concat(t)})):c;E.allowSimultaneous(j)}return{unbindEvents:P,state:N,picassoSelections:E,brush:A}}function Hr(e){var t=e.chart,n=e.selections,r=e.actions,o=void 0!==r&&r,u=e.config,l=void 0===u?{}:u,c=Lr({chart:t,actions:o,selections:n,picassoQ:ar,config:l}),s=c.unbindEvents,f=c.state,d=c.picassoSelections,p=c.brush,v=l.custom,h=void 0===v?{}:v,m=l.legendAlias,g=void 0===m?void 0:m,y=l.setBrushAliases,b=void 0===y?sr:y;return{getIsDimensionLocked:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return f.lockedDimensions[e]},getIsSelectionLocked:function(){var e,t,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return null!==(e=null==n||null===(t=n.isLocked)||void 0===t?void 0:t.call(n))&&void 0!==e?e:cr(r)},getIsSingleSelect:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:f.singleSelectIndex;return f.singleSelectDimensions[e]},getCanSelect:function(){return f.canSelect},getSelectionInfo:function(){return f.selectionInfo},setLayout:function(e){var t=lr({selections:n,picassoSelections:d,layout:e});Object.assign(f,t)},setBrushAliases:function(e){var t=e.colorField,n=e.useLegendCube,r=void 0!==n&&n,o=a(e,[\"colorField\",\"useLegendCube\"]),u=i({useLegendCube:r,colorField:t,brush:p,legendAlias:g},o);b(i(i({},u),{},{defaultFunc:function(){return sr(u)}}))},destroy:function(){s(),d.release()},custom:i({},h)}}var zr=\"QlikView Sans, sans-serif\",Rr=\"#333333\",Vr=\"#595959\",Br=\"#737373\",_r=\"#cccccc\",Ur=\"#e6e6e6\";function Kr(e){var t={};return[].concat(l(e),l([[\"\",\"\",\"color\"],[\"object\",\"axis.title\",\"fontFamily\",zr],[\"object\",\"axis.title\",\"fontSize\",\"13px\"],[\"object\",\"axis.title\",\"color\"],[\"object\",\"axis.label.name\",\"fontFamily\",zr],[\"object\",\"axis.label.name\",\"fontSize\",\"12px\"],[\"object\",\"axis.label.name\",\"color\",Vr],[\"object\",\"axis.line.major\",\"color\",_r],[\"object\",\"axis.line.minor\",\"color\",Ur],[\"object\",\"grid.line.major\",\"color\",_r],[\"object\",\"grid.line.minor\",\"color\",Ur],[\"object\",\"grid.line.highContrast\",\"color\",Ur],[\"object\",\"referenceLine.label.name\",\"fontFamily\",zr],[\"object\",\"referenceLine.label.name\",\"fontSize\",\"12px\"],[\"object\",\"referenceLine.label.name\",\"color\",Rr],[\"object\",\"referenceLine.outOfBounds\",\"fontFamily\",zr],[\"object\",\"referenceLine.outOfBounds\",\"fontSize\",\"12px\"],[\"object\",\"referenceLine.outOfBounds\",\"color\",Ur],[\"object\",\"referenceLine.outOfBounds\",\"backgroundColor\",Br,function(e){return\"transparent\"===e?Br:e}]])).reduce((function(e,n){var r=\"\".concat(n[0],\"-\").concat(n[1],\"-\").concat(n[2],\"}\");return t[r]||(t[r]=!0,e.push(n)),e}),[]).sort((function(e,t){return(e[0].split?e[0].split(\".\").length:0)-(t[0].split?t[0].split(\".\").length:0)}))}function Yr(e,t){var n={};return e.forEach((function(e){var r=u(e,5),o=r[0],i=r[1],a=r[2],l=r[3],c=r[4],s=(void 0===c?function(e){return e}:c)(function(e,t,n,r){var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:void 0;if(!e||!1===t)return o;var i=e.getStyle(t,n,r);return void 0===i?o:i}(t,o,i,a,l));Ge(n,[i,a].filter(Boolean).join(\".\"),s)})),n}function $r(e){var t=e.theme,n=e.styleMatrix,r={theme:t,styleMatrix:Kr(void 0===n?[]:n),styles:void 0};return r.styles=Yr(r.styleMatrix,t),{getStyles:function(){return r.styles},getTheme:function(){return r.theme},setTheme:function(e){r.theme=e,r.styles=Yr(r.styleMatrix,e)}}}var Wr={NOOP:function(){},FALSE:function(){return!1},ARRAY:function(){return[]},OBJECT:function(){return{}}};var Jr=\"chart-modules-tooltip\",Gr=\"#\".concat(Jr);function Qr(){if(!document.querySelector(Gr)){var e=document.createElement(\"div\");e.id=Jr,e.style.overflow=\"hidden\",e.style.position=\"fixed\",e.style.pointerEvents=\"none\",e.style.left=\"0px\",e.style.top=\"0px\",e.style.width=\"100%\",e.style.height=\"100%\",e.style.zIndex=1020,document.body.appendChild(e)}}function Xr(e){return{show:!0,key:e.key,type:\"tooltip\",layout:{displayOrder:3},beforeMount:function(){Qr()},beforeUpdate:function(){Qr()},destroyed:function(){var e;null!=(e=document.querySelector(Gr))&&e.parentElement&&e.childElementCount<1&&e.parentElement.removeChild(e)},settings:{appendTo:function(){return document.querySelector(Gr)},direction:e.rtl?\"rtl\":\"ltr\"},style:{arrow:{color:\"#404040\"},content:{display:\"table\",\"border-spacing\":\"4px\",background:\"rgba(64, 64, 64, 0.9)\",opacity:\"1\",fontSize:\"13px\",fontFamily:\"QlikView Sans, sans-serif\",\"empty-cells\":\"show\"},cell:{\"max-width\":\"180px\",\"word-break\":\"break-word\",\"word-wrap\":\"break-word\",\"overflow-wrap\":\"break-word\",hyphens:\"auto\"}}}}var Zr={bar:\"rect\",diamond:\"path\",point:\"circle\",square:\"rect\",triangle:\"path\",\"n-polygon\":\"path\",slice:\"path\"},eo=function(e){return e.data.value},to=function(e){var t,n=e.data;return null==n||null===(t=n.major)||void 0===t?void 0:t.value};function no(e){var t=e.chart,n=e.nodes,r=e.collectConfig,o=e.collectibles,i=e.triggerer,a=r.from,c={chart:t,nodes:n,collectConfig:r,collectibles:o,triggerer:i};switch(\"function\"==typeof a?\"custom\":a){case\"single\":return function(e){var t=u(e.nodes,1)[0];return[\"container\"===t.type&&t.children[0]||t]}(c);case\"position\":return function(e){return e.nodes}(c);case\"dimension\":return function(e){var t=e.chart,n=e.nodes,r=e.collectConfig,o=e.collectibles,i=u(n,1)[0],a=r.filter,c=\"function\"==typeof a?a:function(){return!0},s=r.by,f=void 0===s?eo:s;return o.reduce((function(e,n){var r=n.major,o=void 0===r?to:r,a=Zr[n.type]||n.type;return e.push.apply(e,l(t.findShapes(a).filter((function(e){return e.key===n.key&&e.data&&o({data:e.data})===f({data:i.data})})))),e}),[]).filter(c)}(c);case\"radius\":return function(e){var t=e.chart,n=e.nodes,r=e.collectConfig,o=e.collectibles,i=u(n,1)[0].localBounds,a=r.distance,l=r.filter,c=\"function\"==typeof l?l:function(){return!0},s=o.map((function(e){return e.key})),f=u(s,1)[0],d=t.component(f).rect,p=d.scaleRatio,v=d.computedInner,h=i.width*p.x,m=i.height*p.y,g=i.x*p.x+h/2+v.x,y=i.y*p.y+m/2+v.y,b=void 0===a?Math.max(h,m):a;return t.shapesAt({cx:g,cy:y,r:b},{components:s.map((function(e){return{key:e}}))}).filter((function(e){return c({data:e.data})}))}(c);case\"custom\":return function(e){var t=e.chart,n=e.nodes,r=e.collectConfig,o=e.triggerer;return r.from({chart:t,nodes:n,meta:{triggerer:o}})}(c);default:return[]}}var ro=Number.MAX_VALUE;function oo(e){var t=e.nodes.reduce((function(e,t){var n=t.bounds;return e.xMin=Math.min(e.xMin,n.x,n.x+n.width),e.yMin=Math.min(e.yMin,n.y,n.y+n.height),e.xMax=Math.max(e.xMax,n.x,n.x+n.width),e.yMax=Math.max(e.yMax,n.y,n.y+n.height),e}),{xMin:ro,xMax:-ro,yMin:ro,yMax:-ro}),n=t.xMin,r=t.xMax,o=t.yMin;return{x:n,y:o,width:r-n,height:t.yMax-o}}function io(e){var t=e.chart,n=e.config,r=e.placementConfig,o=e.hovered,i=e.collected,a=e.triggerer,l=function(e){for(var t=e.chart,n=e.config,r=e.placementConfig,o=e.hovered,i=e.collected,a=u(o,1)[0],l=Array.isArray(r)?r:[r],c={bounds:a.bounds,key:a.key},s=0;s<l.length;s++){var f=l[s];if(\"function\"==typeof f){var d=f({chart:t,node:a,nodes:i});if(d)return d}if(\"trigger\"===f)return c;if(\"collectible\"===f){var p=n.main.placements.collectible;return{bounds:\"function\"==typeof p?p({nodes:i}):oo({nodes:i}),key:i[0].key}}}return c}({chart:t,config:n,placementConfig:r,hovered:o,collected:i}),c=l.bounds,s=l.key,f=u(i,1)[0].desc;return[{bounds:c,nodes:i,data:i.map((function(e){return e.data})),key:s,meta:{triggerer:a},desc:f}]}function ao(e){var t=e.chart,n=e.config,r=e.nodes;if(!r.length)return[];var o=u(r,1)[0].key,i=n.main.collectibles;if(!i.length)return[];var a=n.main.triggers.find((function(e){return-1!==e.keys.indexOf(o)}))||{},l=a.collect,c=a.placement;if(!l||!l.from||!c)return[];var s=no({chart:t,nodes:r,collectConfig:l,collectibles:i,triggerer:o}).map((function(e){return e.children.length?e.children[0]:e}));return s.length?io({chart:t,config:n,placementConfig:c,hovered:r,collected:s,triggerer:o}):[]}var uo=\"[־׀׃׆א-״߀-ߪߴ-ߵߺ-ࠕࠚࠤࠨ࠰-ࡘ࡞יִײַ-ﬨשׁ-ﭏ]\",lo=\"[؈؋؍؛-ي٭-ٯٱ-ەۥ-ۦۮ-ۯۺ-܍ܐܒ-ܯݍ-ޥޱﭐ-ﴽﵐ-﷼ﹰ-ﻼ]\",co=new RegExp(\"[A-Za-zªµºÀ-ÖØ-öø-ʸʻ-ˁː-ˑˠ-ˤˮͰ-ͳͶ-ͽΆΈ-ϵϷ-҂Ҋ-։ः-हऻऽ-ीॉ-ौॎ-ॐक़-ॡ।-ॿং-হঽ-ীে-ৌৎ-ৡ০-ৱ৴-৺ਃ-ਹਾ-ੀਖ਼-੯ੲ-ੴઃ-હઽ-ીૉ-ૌૐ-ૡ૦-૯ଂ-ହଽ-ାୀେ-ୌୗ-ୡ୦-୷ஃ-ிு-ௌௐ-௲ఁ-ఽు-ౄౘ-ౡ౦-౯౿-ಹಽ-ೋೕ-ೡ೦-ീെ-ൌൎ-ൡ൦-ෆා-ෑෘ-ะา-ำเ-ๆ๏-ະາ-ຳຽ-ໆ໐-༗༚-༴༶༸༾-ཬཿ྅ྈ-ྌ྾-࿅࿇-ာေးျ-ြဿ-ၗၚ-ၝၡ-ၰၵ-ႁႃ-ႄႇ-ႌႎ-ႜ႞-ፚ፠-ᎏᎠ-Ᏼᐁ-ᙿᚁ-ᚚᚠ-ᜑᜠ-ᜱ᜵-ᝑᝠ-ᝰក-ាើ-ៅះ-ៈ។-៚ៜ០-៩᠐-ᢨᢪ-ᤜᤣ-ᤦᤩ-ᤱᤳ-ᤸ᥆-᧚ᨀ-ᨖᨙ-ᩕᩗᩡᩣ-ᩤᩭ-ᩲ᪀-᪭ᬄ-ᬳᬵᬻᬽ-ᭁᭃ-᭪᭴-᭼ᮂ-ᮡᮦ-ᮧ᮪-ᯥᯧᯪ-ᯬᯮ᯲-ᰫᰴ-ᰵ᰻-᱿᳓᳡ᳩ-ᳬᳮ-ᶿḀ-ᾼιῂ-ῌῐ-Ίῠ-Ῥῲ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎ-⅏Ⅰ-ↈ⌶-⍺⎕⒜-ⓩ⚬⠀-⣿Ⰰ-ⳤⳫ-ⳮⴀ-⵰ⶀ-ⷞ々-〇〡-〩〱-〵〸-〼ぁ-ゖゝ-ゟァ-ヺー-ㆺㇰ-㈜㈠-㉏㉠-㉻㉿-㊰㋀-㋋㋐-㍶㍻-㏝㏠-㏾㐀-䶵一-ꒌꓐ-ꘌꘐ-ꙮꚀ-ꛯ꛲-꛷Ꜣ-ꞇ꞉-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠤꠧ꠰-꠷ꡀ-ꡳꢀ-ꣃ꣎-꣙ꣲ-ꤥ꤮-ꥆꥒ-ꥼꦃ-ꦲꦴ-ꦵꦺ-ꦻꦽ-ꨨꨯ-ꨰꨳ-ꨴꩀ-ꩂꩄ-ꩋꩍ-ꪯꪱꪵ-ꪶꪹ-ꪽꫀꫂ-ꯤꯦ-ꯧꯩ-꯬꯰-ﬗA-Za-zヲ-ᅵ]\"),so=new RegExp(uo),fo=new RegExp(lo),po=function(e){return co.test(e)},vo=function(e){return so.test(e)||fo.test(e)};function ho(e){for(var t=e?e.length:0,n=0;n<t;n++){var r=e[n];if(po(r))return\"ltr\";if(vo(r))return\"rtl\"}return\"ltr\"}function mo(e){var t=e.visibility;return{type:\"divider\",content:[{content:\"\",style:{\"background-image\":\"linear-gradient(transparent 8px, rgba(255, 255, 255, 0.4) 8px, rgba(255, 255, 255, 0.4) 9.2px, transparent 9.2px)\",height:\"17px\"},colspan:2}],visibility:i(i({},{count:!1}),t)}}function go(e){var t=e.config,n=e.h,r=e.context,o=e.nodes,a=e.property,l=e.filter,c=e.visibility,s=t.rtl,f={type:\"color\",label:void 0,value:void 0,content:[],filter:l,visibility:i(i({},{count:!0}),c)},d=t.getColorSettings();if(\"color\"===d.type||!d.fieldType)return f;var p=u(o,1)[0];if(f.value=function(e){var t=e.config,n=e.context,r=e.property,o=e.node.data[r];if(o){var i=n.resources.dataset(o.source.key).field(o.source.field).formatter(),a=o.value,u=o.label,l=t.getColorSettings();if(i&&\"measure\"===l.fieldType)return Number.isNaN(+a)?\"-\":i(o.value);var c=u||a;return void 0===c||Number.isNaN(c)||\"NaN\"===c?\"-\":c}}({config:t,context:r,property:a,node:p}),void 0===f.value)return f;f.label=function(e){var t=e.config,n=e.context,r=e.property,o=e.node,i=t.getColorSettings();if(i.label)return i.label;var a=o.data[r];if(a&&\"color\"!==i.type){var u=n.resources.dataset,l=a.source,c=l.key,s=l.field;return u(c).field(s).title()}}({config:t,context:r,property:a,node:p});var v=n(\"div\",{style:{display:\"inline-block\",width:10,height:10,\"background-color\":function(e){var t=e.node.attrs;return(null==t?void 0:t.fill)||\"#ddd\"}({node:p}),margin:\"0 8px\"}});return f.content.push({content:s?[\":\",f.label]:[f.label,\":\"],style:{\"text-align\":s?\"right\":\"left\",direction:ho(f.label)}},{content:s?[f.value,v]:[v,f.value],style:{\"text-align\":s?\"left\":\"right\",\"vertical-align\":\"middle\",direction:ho(f.value)}}),f}function yo(e){var t=e.config,n=e.h,r=e.context;return{section:function(e){return function(e){return{type:\"section\",content:e.content}}({content:e.content})},text:function(e){var n=e.value,r=e.style,o=e.visibility;return function(e){var t=e.config,n=e.value,r=e.style,o=(r=void 0===r?{}:r).bold,a=void 0!==o&&o,u=r.italic,l=void 0!==u&&u,c=e.visibility;return{type:\"text\",content:[{content:n,style:{\"font-weight\":a?\"bold\":\"normal\",\"font-style\":l?\"italic\":\"normal\",\"text-align\":t.rtl?\"right\":\"left\",direction:ho(n)},colspan:2}],visibility:i(i({},{count:!0}),c)}}({config:t,value:n,style:r,visibility:o})},measure:function(e){var n=e.label,r=e.value,o=e.style,a=e.survive,u=e.visibility;return function(e){var t,n,r,o,a=e.config,u=e.label,l=e.value,c=e.style,s=e.survive,f=e.visibility,d=a.rtl;return{type:\"measure\",label:u,value:l,content:[{content:d?[\":\",u]:[u,\":\"],style:{\"text-align\":d?\"right\":\"left\",\"font-weight\":null!=c&&null!==(t=c.label)&&void 0!==t&&t.bold?\"bold\":\"normal\",\"font-style\":null!=c&&null!==(n=c.label)&&void 0!==n&&n.italic?\"italic\":\"normal\",direction:ho(u)}},{content:l,style:{\"text-align\":d?\"left\":\"right\",\"vertical-align\":\"middle\",\"font-weight\":null!=c&&null!==(r=c.value)&&void 0!==r&&r.bold?\"bold\":\"normal\",\"font-style\":null!=c&&null!==(o=c.value)&&void 0!==o&&o.italic?\"italic\":\"normal\",direction:ho(l)}}],survive:i(i({},{color:!1,duplicate:!1}),s),visibility:i(i({},{count:!0}),f)}}({config:t,label:n,value:r,style:o,survive:a,visibility:u})},divider:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.visibility;return mo({visibility:t})},row:function(e){return function(e){var t=e.content,n=e.style,r=e.colspan,o=e.visibility;return{type:\"row\",content:[{content:t,style:n,colspan:r}],visibility:i(i({},{count:!0}),o)}}({content:e.content,style:e.style,colspan:e.colspan,visibility:e.visibility})},raw:function(e){return function(e){var t=e.value,n=e.visibility;return{type:\"raw\",content:t,visibility:i(i({},{count:!0}),n)}}({value:e.value,visibility:e.visibility})},color:function(e){var o=e.nodes,i=e.property,a=e.filter,u=void 0===a||a,l=e.visibility;return go({config:t,h:n,context:r,nodes:o,property:i,filter:u,visibility:l})}}}function bo(e){var t=e.translator,n=e.config,r=e.templates,o=function(e){var t=e.limit,n=e.grouping,r={count:0,overflow:0,index:{started:void 0,group:void 0}};return{process:function(e){var o=e.visibility,i=e.index;if(r.count>=t){if(!n)return r.overflow++,!1;if(r.index.started!==i)return r.index.group!==i&&(r.overflow++,r.index.group=i),!1}return o.count&&r.count++,n&&(r.index.started=i),!0},overflow:function(){return r.overflow}}}({limit:n.main.layout.rows,grouping:n.main.layout.grouping}),i=r.reduce((function(e,t,n){var i=t.type,a=t.content;\"section\"===i&&(void 0===a?[]:a).forEach((function(t){o.process({visibility:t.visibility,index:n})&&e.push(t.content)}));var u=n===r.length-1;return\"divider\"!==i||u||o.process({visibility:t.visibility,index:n})&&e.push(t.content),e}),[]).filter((function(e){return e.length})),a=o.overflow();return a&&i.push(function(e){var t=e.translator,n=e.config,r=e.count,o=t?t.get(\"Object.ChartTooltip.NMore\",r):\"+\".concat(r,\" more\"),i=ho(o);return[{content:o,style:{\"font-weight\":\"bold\",\"text-align\":n.rtl?\"right\":\"left\",direction:i},colspan:2}]}({translator:t,config:n,count:a})),i}function xo(e){var t=e.chart,n=e.translator,r=e.config,o=e.h,a=e.data,c=e.style,s=u(a,1)[0],f=function(e){var t=e.config,n=e.nodes.reduce((function(e,n){var r=t.main.getGroupByValue({data:n.data});return e[r]||(e[r]=[]),e[r].push(n),e}),{});return Object.keys(n).map((function(e){return n[e]}))}({config:r,nodes:s.node.nodes}),d=function(e){var t=e.chart,n=e.config,r=e.h,o=e.context,i=e.groups,a=o.node.meta,u=o.resources,c=u.dataset,s=u.formatter,f=yo({config:n,h:r,context:o}),d=function(e){var t=e.dataset;return{dataset:{title:function(e,n){return t(e).field(n).title()}}}}({dataset:c}),p=i.map((function(e){var t=f.section({content:l((n.main.section({h:r,nodes:e,dataset:c,formatter:s,meta:a,create:f,util:d})||[]).filter((function(e){var t;return null===(t=e.content)||void 0===t?void 0:t.length}))).filter(Boolean)});return t.content=function(e){var t=e.config,n=e.content,r=n.find((function(e){return\"color\"===e.type&&e.filter})),o=r?n.filter((function(e){return\"measure\"!==e.type||e.survive.color||e.label!==r.label||e.value!==r.value})):n;return t.main.showDuplicateMeasures?o:o.reduce((function(e,t){var n=t.type,r=t.survive;if(\"measure\"!==n||r.duplicate)return e.filtered.push(t),e;var o=\"\".concat(t.label,\"-\").concat(t.value);return e.memory[o]||(e.memory[o]=!0,e.filtered.push(t)),e}),{memory:{},filtered:[]}).filtered}({config:n,content:t.content}),t}));return n.main.sections({chart:t,h:r,nodes:o.node.nodes,dataset:c,formatter:s,meta:a,create:f,util:d,sections:p}),p.filter(Boolean)}({chart:t,config:r,h:o,context:s,groups:f}),p=bo({translator:n,config:r,h:o,templates:d});return p.length?function(e){var t=e.h,n=e.style;return e.rows.map((function(e){return t(\"tr\",{},e.map((function(e){var r={style:i(i({},n.cell||{}),e.style||{}),class:e.class};return e.colspan&&(r.colspan=e.colspan),t(\"td\",r,e.content)})))}))}({h:o,style:c,rows:p}):function(e){var t=e.h;return t(\"tr\",{},t(\"td\",{style:{fontStyle:\"italic\",opacity:.75}},\"Empty\"))}({h:o})}function qo(e){var t=e.chart,n=e.translator,r=e.config,o=e.expando;if(!r.main.key)return!1;var i=r.main,a=i.delay,u=i.duration,l=Qe(),c=Xr({key:r.main.key,rtl:r.rtl}),s=r.main.events.tooltip,f=s.afterShow,d=s.afterHide,p=function(){return{expando:o,nodes:l.get(\"collected\")}};return b(!0,c,{settings:{filter:function(e){return ao({chart:t,config:r,nodes:e})},extract:function(e){return l.set(\"collected\",e.node.nodes),e},content:function(e){var o=e.h,i=e.data,a=e.style;return xo({chart:t,translator:n,config:r,h:o,data:i,style:a})},placement:function(e){var t=e.nodes;return r.main.placement({meta:t[0].meta})},delay:a,duration:u,afterShow:function(){return f(p())},afterHide:function(){return d(p())}},style:{arrow:{color:r.style.background},content:r.style}})}function wo(e){var t=e.config,n=t.legend.keys;if(!n.tooltip||!n.component)return!1;if(\"categorical\"!==t.getColorSettings().type)return!1;var r=Xr({key:n.tooltip,rtl:t.rtl});return b(!0,r,{settings:{filter:function(e){return e.filter((function(e){return e.data&&e.key===n.component}))},extract:function(e){return e},content:function(e){var t=e.h,n=e.data;return[t(\"tr\",{},[t(\"td\",{style:i(i({},e.style.cell||{}),{\"font-weight\":\"bold\",\"text-align\":\"left\"}),colspan:2},n[0].node.data.label)])]},placement:\"pointer\"},style:{arrow:{color:t.style.background},content:t.style}})}function ko(e){var t=e.chart,n=e.e,r=t.element.getBoundingClientRect(),o=r.left,i=r.top;return{x:(n.center?n.center.x:n.clientX)-o,y:(n.center?n.center.y:n.clientY)-i}}function Do(e){var t=e.chart,n=e.config,o=e.expando,i=e.facade,a=n.main.triggers.reduce((function(e,t){return e.push.apply(e,l(t.keys)),e}),[]);return{key:\"event:\".concat(\"tooltipTap\"),type:\"Tap\",options:{event:\"tooltipTap\",enable:function(e,r){return!r||!!n.enable({event:r})&&t.componentsFromPoint({x:r.center.x,y:r.center.y}).filter((function(e){return-1!==a.indexOf(e.key)})).length>0}},recognizeWith:\"tap\",events:r({},\"tooltipTap\",(function(e){if(e.preventDefault(),\"mouse\"!==e.pointerType){var r=t.component(n.main.key);if(r&&r.show){var a=ko({chart:t,e:e}),u=t.shapesAt(a);u.length?n.main.events.tooltip.beforeShow({expando:o,event:e,collectNodes:function(){return i.collectNodes({nodes:u})}}).then((function(){r.emit(\"show\",e,{nodes:u})})).catch((function(){})):r.emit(\"hide\")}}}))}}function Co(e){var t=e.config,n=e.expando,r=e.facade,o=t.main.events.tooltip.beforeShow,i={ongoing:{},latest:void 0};return function(e){var t=e.event,a=e.tooltip,u=e.nodes,l=function(e){var t=e.nodes;return JSON.stringify(t.map((function(e){return{key:e.key,bounds:e.bounds,value:e.data.value}})))}({nodes:u});i.ongoing[l]||(i.ongoing[l]=!0,i.latest=l,o({expando:n,event:t,collectNodes:function(){return r.collectNodes({nodes:u})}}).then((function(){l===i.latest&&a.emit(\"show\",t,{nodes:u})})).catch((function(){})).finally((function(){delete i.ongoing[l],l===i.latest&&(i.latest=void 0)})))}}function Mo(e){var t=e.chart,n=e.config,r=e.expando,o=e.facade,i=Co({config:n,expando:r,facade:o}),a=[n.main.key,n.legend.keys.tooltip].filter(Boolean),u=function(){a.forEach((function(e){var n=t.component(e);null!=n&&n.show&&n.emit(\"hide\")}))},c=n.main.triggers.reduce((function(e,t){return t.keys.forEach((function(n){var r;e[n]=\"radius\"===(null===(r=t.collect)||void 0===r?void 0:r.from)})),e}),{});return{type:\"native\",events:{mousemove:function(e){if(n.enable({event:e})&&!n.main.suppress({event:e})){var r=t.componentsFromPoint({x:e.clientX,y:e.clientY}),o=t.component(n.main.key);if(o&&o.show){var a=r.filter((function(e){return void 0!==c[e.key]})).reduce((function(e,t){return e.any=!0,(c[t.key]?e.radius:e.position).push(t.key),e}),{any:!1,radius:[],position:[]});if(a.any){var u=ko({chart:t,e:e}),s=u.x,f=u.y,d=[];if(a.position.length&&d.push.apply(d,l(t.shapesAt({x:s,y:f},{components:a.position.map((function(e){return{key:e}}))}))),!d.length&&a.radius.length){var p=t.shapesAt({cx:s,cy:f,r:n.main.distance},{components:a.radius.map((function(e){return{key:e}}))});p.length&&d.push(function(e){var t=e.nodes,n=e.origin,r=e.offset,o=function(e){var t=Math.abs(n.x-(e.localBounds.x+e.localBounds.width/2+r.x)),o=Math.abs(n.y-(e.localBounds.y+e.localBounds.height/2+r.y));return Math.sqrt(t*t+o*o)};return t.slice(1).reduce((function(e,t){var n=o(t);return n<e.distance&&(e.distance=n,e.node=t),e}),{node:t[0],distance:o(t[0])}).node}({nodes:p,origin:{x:s,y:f},offset:r.filter((function(e){return e.key===a.radius[0]}))[0].rect.computedInner}))}if(!d.length)return void o.emit(\"hide\");i({event:e,tooltip:o,nodes:d})}else o.emit(\"hide\")}var v=n.legend;if(v.keys.tooltip&&v.keys.component){var h=t.component(v.keys.tooltip);h&&h.show&&(r.some((function(e){return e.key===v.keys.component}))?h.emit(\"show\",e):h.emit(\"hide\"))}}},mouseup:function(e){2===e.button&&u()},mouseleave:function(){n.main.events.interaction.mouseleave({expando:r}),u()},wheel:function(){u()}}}}function So(e){var t=e.chart,n=e.config,r=e.expando,o=function(e){var t=e.chart,n=e.config;return{collectNodes:function(e){var r=e.nodes;return u(ao({chart:t,config:n,nodes:r}),1)[0].nodes}}}({chart:t,config:n});return{gestures:[Do({chart:t,config:n,expando:r,facade:o})],native:Mo({chart:t,config:n,expando:r,facade:o})}}function Io(e){var t=e.chart,n=e.translator,r=function(e){var t=e.config;return b(!0,{},{rtl:!1,enable:Wr.FALSE,getColorSettings:Wr.OBJECT,style:{fontSize:void 0,fontFamily:void 0,color:void 0,background:void 0},main:{key:void 0,suppress:Wr.FALSE,getGroupByValue:Wr.NOOP,delay:500,duration:8e3,distance:4,collectibles:[],triggers:[],placement:function(){return{type:\"bounds\"}},placements:{collectible:\"combine\"},showDuplicateMeasures:!1,layout:{rows:7,grouping:!1},section:Wr.ARRAY,sections:Wr.NOOP,events:{tooltip:{beforeShow:function(){return Promise.resolve()},afterShow:Wr.NOOP,afterHide:Wr.NOOP},interaction:{mouseleave:Wr.NOOP}}},legend:{keys:{tooltip:void 0,component:void 0}}},void 0===t?{}:t)}({config:e.config}),o=Qe(),i={components:void 0,interactions:void 0};return{getComponents:function(){return i.components||(i.components=function(e){var t=e.chart,n=e.translator,r=e.config;return[qo({chart:t,translator:n,config:r,expando:e.expando}),wo({config:r})].filter(Boolean)}({chart:t,translator:n,config:r,expando:o})),i.components},getInteractions:function(){return i.interactions||(i.interactions=So({chart:t,config:r,expando:o})),i.interactions},expando:o}}export{Qe as cache,He as colorService,et as debouncer,We as dockService,Je as getValue,ot as layoutService,Xe as memoize,at as pluginService,Hr as selectionService,Ge as setValue,Ze as storage,$r as themeService,tt as throttler,Io as tooltipService};\n","const CHART_ID = 'object.waterfallChart';\n\nfunction getShapeColor(layout, theme, name, defaultColor, defaultIndex) {\n const layoutColor = layout.color || layout.qDef.color;\n if (!layoutColor || layoutColor.auto || !layoutColor[name]) {\n const color = theme.getStyle(CHART_ID, `shape.${name}`, 'fill') || defaultColor;\n const index = defaultIndex; // chartStyleUtils.Theme.currentPalette.indexOf(color);\n return { index, color };\n }\n\n return layoutColor[name].paletteColor;\n}\n\nfunction getColorForPositiveValue(layout, theme) {\n return theme.getColorPickerColor(getShapeColor(layout, theme, 'positiveValue', null, 6));\n}\n\nfunction getColorForNegativeValue(layout, theme) {\n return theme.getColorPickerColor(getShapeColor(layout, theme, 'negativeValue', '#cc6677', -1));\n}\n\nfunction getColorForSubtotal(layout, theme) {\n return theme.getColorPickerColor(getShapeColor(layout, theme, 'subtotal', '#c3c3c3', -1));\n}\n\nconst waterfallUtils = {\n valueTypes: {\n NORMAL: 'NORMAL',\n INVERSE: 'INVERSE',\n SUBTOTAL: 'SUBTOTAL',\n },\n chartID: CHART_ID,\n getColorForPositiveValue,\n getColorForNegativeValue,\n getColorForSubtotal,\n};\n\nObject.freeze(waterfallUtils.valueTypes);\nObject.freeze(waterfallUtils);\n\nexport default waterfallUtils;\n","import extend from 'extend';\nimport { getValue } from 'qlik-chart-modules';\n// import defaultProperties from '../../../assets/client/property-panel/default-properties';\nimport waterfallUtils from './waterfallchart-utils';\n\nfunction colorIsNotAuto(data) {\n return !data.color.auto;\n}\n\nexport default function propertyDefinition(env) {\n const { flags, translator } = env;\n const data = {\n uses: 'data',\n addTranslation: 'Properties.AddData',\n items: {\n measures: {\n disabledRef: '',\n items: {\n numberFormatting: {\n show: false,\n },\n valueType: {\n type: 'string',\n component: 'dropdown',\n ref: 'qDef.valueType',\n translation: 'properties.waterfall.measureOperation',\n options: [\n {\n value: waterfallUtils.valueTypes.NORMAL,\n translation: 'properties.waterfall.measureOperation.add',\n },\n {\n value: waterfallUtils.valueTypes.INVERSE,\n translation: 'properties.waterfall.measureOperation.subtract',\n },\n {\n value: waterfallUtils.valueTypes.SUBTOTAL,\n translation: 'properties.waterfall.measureOperation.subtotal',\n },\n ],\n defaultValue: waterfallUtils.valueTypes.NORMAL,\n },\n subTotal: {\n ref: 'qDef.subtotal.enable',\n type: 'boolean',\n defaultValue: false,\n translation: 'properties.waterfall.measureOperation.subtotal',\n show(data) {\n return data.qDef.valueType !== waterfallUtils.valueTypes.SUBTOTAL;\n },\n },\n subTotalLabel: {\n translation: 'properties.waterfall.subtotalLabel',\n component: 'string',\n expression: 'optional',\n ref: 'qDef.subtotal.label',\n defaultValue() {\n return translator.get('properties.waterfall.measureOperation.subtotal');\n },\n show(data) {\n return (\n data.qDef.valueType !== waterfallUtils.valueTypes.SUBTOTAL &&\n data.qDef.subtotal &&\n data.qDef.subtotal.enable\n );\n },\n },\n },\n },\n },\n };\n\n const presentation = {\n type: 'items',\n translation: 'properties.presentation',\n grouped: true,\n items: {\n gridLines: {\n type: 'items',\n snapshot: {\n tid: 'property-gridLines',\n },\n items: {\n showGridLines: {\n ref: 'gridlines.auto',\n type: 'boolean',\n translation: 'properties.gridLine.spacing',\n component: 'switch',\n defaultValue: true,\n options: [\n {\n value: true,\n translation: 'Common.Auto',\n },\n {\n value: false,\n translation: 'Common.Custom',\n },\n ],\n },\n gridSpacing: {\n ref: 'gridlines.spacing',\n type: 'number',\n component: 'dropdown',\n defaultValue: 2,\n options: [\n {\n value: 0,\n translation: 'properties.gridLine.noLines',\n },\n {\n value: 2,\n translation: 'properties.gridLine.medium',\n },\n {\n value: 3,\n translation: 'properties.gridLine.narrow',\n },\n ],\n show(data) {\n return data.gridlines && !data.gridlines.auto;\n },\n },\n },\n },\n showLabels: {\n ref: 'dataPoint.showLabels',\n type: 'boolean',\n translation: 'properties.dataPoints.labelmode',\n component: 'switch',\n defaultValue: true,\n options: [\n {\n value: true,\n translation: 'Common.Auto',\n },\n {\n value: false,\n translation: 'properties.off',\n },\n ],\n snapshot: {\n tid: 'property-dataPoints',\n },\n },\n },\n };\n\n const colors = {\n translation: 'properties.colorsAndLegend',\n type: 'items',\n grouped: true,\n items: {\n colors: {\n type: 'items',\n items: {\n autoColor: {\n ref: 'color.auto',\n type: 'boolean',\n translation: 'properties.colors',\n component: 'switch',\n defaultValue: true,\n options: [\n {\n value: true,\n translation: 'Common.Auto',\n },\n {\n value: false,\n translation: 'Common.Custom',\n },\n ],\n },\n positiveValueColor: {\n ref: 'color.positiveValue.paletteColor',\n translation: 'properties.waterfall.color.positiveValueColor',\n type: 'object',\n component: 'color-picker',\n dualOutput: true,\n defaultValue: { index: 6, color: null },\n show: colorIsNotAuto,\n },\n negativeValueColor: {\n ref: 'color.negativeValue.paletteColor',\n translation: 'properties.waterfall.color.negativeValueColor',\n type: 'object',\n component: 'color-picker',\n dualOutput: true,\n defaultValue: { index: -1, color: '#cc6677' },\n show: colorIsNotAuto,\n },\n subtotalColor: {\n ref: 'color.subtotal.paletteColor',\n translation: 'properties.waterfall.color.subtotalColor',\n type: 'object',\n component: 'color-picker',\n dualOutput: true,\n defaultValue: { index: -1, color: '#c3c3c3' },\n show: colorIsNotAuto,\n },\n },\n },\n legend: {\n type: 'items',\n items: {\n show: {\n ref: 'legend.show',\n type: 'boolean',\n translation: 'properties.legend.show',\n component: 'switch',\n defaultValue: true,\n options: [\n {\n value: true,\n translation: 'Common.Auto',\n },\n {\n value: false,\n translation: 'properties.off',\n },\n ],\n },\n dock: {\n type: 'string',\n component: 'dropdown',\n ref: 'legend.dock',\n translation: 'properties.legend.position',\n options: [\n {\n value: 'auto',\n translation: 'Common.Auto',\n },\n {\n value: 'right',\n translation: 'properties.dock.right',\n },\n {\n value: 'bottom',\n translation: 'Common.Bottom',\n },\n {\n value: 'left',\n translation: 'properties.dock.left',\n },\n {\n value: 'top',\n translation: 'Common.Top',\n },\n ],\n defaultValue: 'auto',\n show(data) {\n return getValue(data, 'legend.show', true);\n },\n },\n },\n },\n },\n };\n\n const measureAxis = {\n uses: 'axis.picasso.measureAxis',\n label: translator.get('properties.yAxis'),\n items: {\n axis: {\n items: {\n show: {\n translation: 'properties.labels',\n defaultValue: 'labels',\n options: [\n {\n value: 'labels',\n translation: 'properties.labels',\n },\n {\n value: 'none',\n translation: 'Common.None',\n },\n null,\n null,\n ],\n },\n },\n },\n },\n };\n\n const dimensionAxis = {\n uses: 'axis.picasso.dimensionAxis',\n items: {\n othersGroup: {\n items: {\n show: {\n translation: 'properties.labels',\n defaultValue: 'labels',\n options: [\n {\n value: 'labels',\n translation: 'properties.labels',\n },\n {\n value: 'none',\n translation: 'Common.None',\n },\n null,\n null,\n ],\n },\n label: {\n options: flags.isEnabled('SENSECLIENT_LAYERED_LABELS')\n ? [\n {\n value: 'auto',\n translation: 'Common.Auto',\n },\n {\n value: 'horizontal',\n translation: 'Common.Horizontal',\n },\n {\n value: 'tilted',\n translation: 'properties.labels.tilted',\n },\n {\n value: 'layered',\n translation: 'properties.labels.layered',\n },\n ]\n : undefined,\n },\n },\n },\n },\n };\n\n const settings = {\n uses: 'settings',\n items: {\n presentation,\n colors,\n measureAxis,\n dimensionAxis,\n },\n };\n\n const addons = {\n type: 'items',\n component: 'expandable-items',\n translation: 'properties.addons',\n items: {\n dataHandling: {\n uses: 'dataHandling',\n items: {\n suppressZero: null,\n calcCond: {\n uses: 'calcCond',\n },\n },\n },\n refLines: {\n uses: 'reflines',\n items: {\n colorBackground: {\n show: false,\n },\n },\n },\n },\n };\n const numberFormatting = {\n translation: 'properties.numberFormatting',\n type: 'items',\n globalChange(data) {\n data.qHyperCubeDef.qMeasures.forEach((measure) => {\n measure.qDef.numFormatFromTemplate = data.qDef.numFormatFromTemplate;\n measure.qDef.qNumFormat = extend(true, {}, data.qDef.qNumFormat);\n });\n },\n items: {\n numberFormatting: {\n uses: 'measures.items.numberFormatting',\n items: { numberFormattingType: undefined },\n },\n },\n };\n\n return {\n type: 'items',\n component: 'accordion',\n items: {\n data,\n numberFormatting,\n addons,\n settings,\n },\n };\n}\n","import pp from './waterfallchart-properties';\nimport dataDefinition from './waterfallchart-data-definition';\nimport { importProperties, exportProperties } from './waterfallchart-import-export';\n\nexport default function ext(env) {\n if (!env.anything?.sense) {\n return undefined;\n }\n\n return {\n definition: pp(env),\n support: {\n cssScaling: false,\n snapshot: true,\n export: true,\n exportData: true,\n sharing: true,\n viewData: true,\n },\n importProperties(exportFormat, initialProperties, extension) {\n extension.mapProperties();\n\n const defaultPropertyValues = {\n defaultDimension: extension.getDefaultDimensionProperties(),\n defaultMeasure: extension.getDefaultMeasureProperties(),\n };\n return importProperties({\n dataDefinition: dataDefinition(env),\n defaultPropertyValues,\n exportFormat,\n initialProperties,\n });\n },\n exportProperties(propertyTree, hyperCubePath, viewDataMode) {\n return exportProperties({ propertyTree, viewDataMode });\n },\n };\n}\n","/* eslint-disable prefer-rest-params */\n/* eslint-disable guard-for-in */\n/* eslint-disable no-restricted-syntax */\n\n/* Simple JavaScript Inheritance\n * By John Resig http://ejohn.org/\n * MIT Licensed.\n * Modified by Qliktech\n */\n// Inspired by base2 and Prototype\n\n/* eslint no-new-func:0,no-unused-vars:0 */\n\nconst fnTest = /xyz/.test(() => {\n let xyz;\n})\n ? /\\b_super\\b/\n : /.*/;\n\n/**\n * Helper module for creating subclasses (or rather prototypal inheritance) of superclasses.\n *\n * @class\n *\n * @example\n * var Animal = Class.extend( \"Animal\", {\n * init: function ( name ) {\n * this.name = name || \"Unnamed\";\n * },\n * say: function ( sound ) {\n * console.log( this.name + \" says \" + sound );\n * }\n * } );\n *\n * var Cat = Animal.extend( \"Cat\", {\n * say: function () {\n * this._super( \"Meouw\" );\n * }\n * } );\n *\n * var cat = new Cat( \"Gustaf\" );\n * cat.say(); => \"Gustaf says Meouw\"\n *\n * @example\n * var MyClass = Class.extend();\n *\n * var a = new MyClass();\n * console.log( a instanceof MyClass ) // => true\n * console.log( a.constructor.name ) // => Class\n *\n * @example\n * var MyClass = Class.extend( \"MyClass\" );\n *\n * var a = new MyClass();\n * console.log( a instanceof MyClass ) // => true\n * console.log( a.constructor.name ) // => MyClass\n *\n */\nconst Class = function () {};\n\n/**\n * This method is available inside each function defined on the prototype when using {@link module:assets/core/utils/class~Class.extend}.\n *\n * It will invoke the super class' method with the same name, but it's up to programmer to invoke it with the arguments needed.\n * @method module:assets/core/utils/class~Class#_super\n */\n\n/**\n * Create a new Class that inherits from this class\n * @param {String} [className=\"Class\"] The name of the new class constructor.\n * @param {Object} proto The prototype for the new class.\n */\nClass.extend = function extend(className, proto) {\n const _super = this.prototype;\n\n if (typeof className !== 'string') {\n proto = className;\n className = 'Class';\n }\n\n // Instantiate a base class (but only create the instance,\n // don't run the init constructor)\n const prototype = Object.create(this.prototype);\n\n // Copy the properties over onto the new prototype\n for (const name in proto) {\n // Check if we're overwriting an existing function\n prototype[name] =\n typeof proto[name] === 'function' && typeof _super[name] === 'function' && fnTest.test(proto[name])\n ? (function (name, fn) {\n return function () {\n const tmp = this._super;\n\n // Add a new ._super() method that is the same method\n // but on the super-class\n this._super = _super[name];\n\n // The method only need to be bound temporarily, so we\n // remove it when we're done executing\n const ret = fn.apply(this, arguments);\n this._super = tmp;\n\n return ret;\n };\n })(name, proto[name])\n : proto[name];\n }\n\n if (!/^[_a-z][_a-z\\d]*$/i.test(className)) {\n throw new Error('Invalid subclass name. Alphanumericals only.');\n }\n\n // The dummy class constructor\n const ctor = new Function(\n `return (function ${className}(){ typeof this.init === 'function' && this.init.apply(this, [].slice.call(arguments)) });`\n )();\n\n // Populate our constructed prototype object\n ctor.prototype = prototype;\n\n // Enforce the constructor to be what we expect\n ctor.prototype.constructor = ctor;\n\n // And make this class extendable\n ctor.extend = extend;\n\n return ctor;\n};\n\nexport default Class;\n","// private\nconst idGen = {\n getChar(value) {\n // 0 o O i I l\n const banned = [48, 111, 79, 105, 73, 108];\n let val = value;\n\n let charCode;\n if (val > 9) {\n charCode = 65 + val - 10;\n if (charCode > 90) {\n charCode += 6;\n }\n } else {\n val = `${val}`.charCodeAt(0);\n }\n return banned.indexOf(charCode) > -1 ? this.getChar(val + 1) : String.fromCharCode(charCode);\n },\n base62(value) {\n const chr = this.getChar(value % 62);\n const y = Math.floor(value / 62);\n return y > 0 ? this.base62(y) + chr : chr;\n },\n id() {\n const s = this.base62(Math.round(Math.random() * (1e13 - 1e11) + 1e11));\n return s.replace(/\\W/g, '');\n },\n};\n\nexport default function generateId() {\n return idGen.id();\n}\n","function getAxisDock(direction, dock, isRtl) {\n return direction === 'y' ? getYAxisDock(dock, isRtl) : getXAxisDock(dock);\n}\n\nfunction getOppositeAxisDock(direction, dock, isRtl) {\n const oppositeDock = dock === 'far' ? 'near' : 'far';\n return getAxisDock(direction, oppositeDock, isRtl);\n}\n\nfunction getYAxisDock(dock, isRtl) {\n const yDockNearFar = dock || 'near';\n return (isRtl && yDockNearFar === 'near') || (!isRtl && yDockNearFar === 'far') ? 'right' : 'left';\n}\n\nfunction getXAxisDock(dock) {\n return dock === 'far' ? 'top' : 'bottom';\n}\n\nexport default {\n getAxisDock,\n getOppositeAxisDock,\n getYAxisDock,\n};\n","// Source: https://en.wikipedia.org/wiki/Bi-directional_text and http://www.unicode.org/Public/6.0.0/ucd/UnicodeData.txt\n// 3 types of strong direction characters: L (strong left-to-right), R(strong right-to-left, Hebrew) and AL(strong right-to-left, Arabic language)\nconst rangesOfLChars =\n '[\\u0041-\\u005A\\u0061-\\u007A\\u00AA\\u00B5\\u00BA\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02B8\\u02BB-\\u02C1\\u02D0-\\u02D1\\u02E0-\\u02E4\\u02EE\\u0370-\\u0373\\u0376-\\u037D\\u0386\\u0388-\\u03F5\\u03F7-\\u0482\\u048A-\\u0589\\u0903-\\u0939\\u093B\\u093D-\\u0940\\u0949-\\u094C\\u094E-\\u0950\\u0958-\\u0961\\u0964-\\u097F\\u0982-\\u09B9\\u09BD-\\u09C0\\u09C7-\\u09CC\\u09CE-\\u09E1\\u09E6-\\u09F1\\u09F4-\\u09FA\\u0A03-\\u0A39\\u0A3E-\\u0A40\\u0A59-\\u0A6F\\u0A72-\\u0A74\\u0A83-\\u0AB9\\u0ABD-\\u0AC0\\u0AC9-\\u0ACC\\u0AD0-\\u0AE1\\u0AE6-\\u0AEF\\u0B02-\\u0B39\\u0B3D-\\u0B3E\\u0B40\\u0B47-\\u0B4C\\u0B57-\\u0B61\\u0B66-\\u0B77\\u0B83-\\u0BBF\\u0BC1-\\u0BCC\\u0BD0-\\u0BF2\\u0C01-\\u0C3D\\u0C41-\\u0C44\\u0C58-\\u0C61\\u0C66-\\u0C6F\\u0C7F-\\u0CB9\\u0CBD-\\u0CCB\\u0CD5-\\u0CE1\\u0CE6-\\u0D40\\u0D46-\\u0D4C\\u0D4E-\\u0D61\\u0D66-\\u0DC6\\u0DCF-\\u0DD1\\u0DD8-\\u0E30\\u0E32-\\u0E33\\u0E40-\\u0E46\\u0E4F-\\u0EB0\\u0EB2-\\u0EB3\\u0EBD-\\u0EC6\\u0ED0-\\u0F17\\u0F1A-\\u0F34\\u0F36\\u0F38\\u0F3E-\\u0F6C\\u0F7F\\u0F85\\u0F88-\\u0F8C\\u0FBE-\\u0FC5\\u0FC7-\\u102C\\u1031\\u1038\\u103B-\\u103C\\u103F-\\u1057\\u105A-\\u105D\\u1061-\\u1070\\u1075-\\u1081\\u1083-\\u1084\\u1087-\\u108C\\u108E-\\u109C\\u109E-\\u135A\\u1360-\\u138F\\u13A0-\\u13F4\\u1401-\\u167F\\u1681-\\u169A\\u16A0-\\u1711\\u1720-\\u1731\\u1735-\\u1751\\u1760-\\u1770\\u1780-\\u17B6\\u17BE-\\u17C5\\u17C7-\\u17C8\\u17D4-\\u17DA\\u17DC\\u17E0-\\u17E9\\u1810-\\u18A8\\u18AA-\\u191C\\u1923-\\u1926\\u1929-\\u1931\\u1933-\\u1938\\u1946-\\u19DA\\u1A00-\\u1A16\\u1A19-\\u1A55\\u1A57\\u1A61\\u1A63-\\u1A64\\u1A6D-\\u1A72\\u1A80-\\u1AAD\\u1B04-\\u1B33\\u1B35\\u1B3B\\u1B3D-\\u1B41\\u1B43-\\u1B6A\\u1B74-\\u1B7C\\u1B82-\\u1BA1\\u1BA6-\\u1BA7\\u1BAA-\\u1BE5\\u1BE7\\u1BEA-\\u1BEC\\u1BEE\\u1BF2-\\u1C2B\\u1C34-\\u1C35\\u1C3B-\\u1C7F\\u1CD3\\u1CE1\\u1CE9-\\u1CEC\\u1CEE-\\u1DBF\\u1E00-\\u1FBC\\u1FBE\\u1FC2-\\u1FCC\\u1FD0-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FFC\\u200E\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E-\\u214F\\u2160-\\u2188\\u2336-\\u237A\\u2395\\u249C-\\u24E9\\u26AC\\u2800-\\u28FF\\u2C00-\\u2CE4\\u2CEB-\\u2CEE\\u2D00-\\u2D70\\u2D80-\\u2DDE\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u31BA\\u31F0-\\u321C\\u3220-\\u324F\\u3260-\\u327B\\u327F-\\u32B0\\u32C0-\\u32CB\\u32D0-\\u3376\\u337B-\\u33DD\\u33E0-\\u33FE\\u3400-\\u4DB5\\u4E00-\\uA48C\\uA4D0-\\uA60C\\uA610-\\uA66E\\uA680-\\uA6EF\\uA6F2-\\uA6F7\\uA722-\\uA787\\uA789-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA824\\uA827\\uA830-\\uA837\\uA840-\\uA873\\uA880-\\uA8C3\\uA8CE-\\uA8D9\\uA8F2-\\uA925\\uA92E-\\uA946\\uA952-\\uA97C\\uA983-\\uA9B2\\uA9B4-\\uA9B5\\uA9BA-\\uA9BB\\uA9BD-\\uAA28\\uAA2F-\\uAA30\\uAA33-\\uAA34\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA4D-\\uAAAF\\uAAB1\\uAAB5-\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2-\\uABE4\\uABE6-\\uABE7\\uABE9-\\uABEC\\uABF0-\\uFB17\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFDC]';\nconst rangesOfRChars =\n '[\\u05BE\\u05C0\\u05C3\\u05C6\\u05D0-\\u05F4\\u07C0-\\u07EA\\u07F4-\\u07F5\\u07FA-\\u0815\\u081A\\u0824\\u0828\\u0830-\\u0858\\u085E\\u200F\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB4F]';\nconst rangesOfALChars =\n '[\\u0608\\u060B\\u060D\\u061B-\\u064A\\u066D-\\u066F\\u0671-\\u06D5\\u06E5-\\u06E6\\u06EE-\\u06EF\\u06FA-\\u070D\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\uFB50-\\uFD3D\\uFD50-\\uFDFC\\uFE70-\\uFEFC]';\n// eslint-disable-next-line no-misleading-character-class\nconst rangesOfLRgExp = new RegExp(rangesOfLChars);\nconst rangesOfRRgExp = new RegExp(rangesOfRChars);\nconst rangesOfALRgExp = new RegExp(rangesOfALChars);\n\nconst // left-to-right marker\n lrm = String.fromCharCode(8206); // right-to-left marker\n\nconst rlm = String.fromCharCode(8207);\n\nfunction isLtrChar(c) {\n return rangesOfLRgExp.test(c);\n}\n\nfunction isRtlChar(c) {\n return rangesOfRRgExp.test(c) || rangesOfALRgExp.test(c);\n}\n\nfunction detectTextDirection(s) {\n const n = s ? s.length : 0;\n let i;\n let c;\n for (i = 0; i < n; i++) {\n c = s[i];\n if (isLtrChar(c)) {\n return 'ltr';\n }\n if (isRtlChar(c)) {\n return 'rtl';\n }\n }\n return 'ltr';\n}\n\nexport default {\n lrm,\n rlm,\n detectTextDirection,\n};\n","import extend from 'extend';\nimport RtlUtil from '../../../../extra/rtl-util';\n\n/**\n * Get Picasso settings for an individual ref-line.\n *\n * @param {*} settings Default settings for the ref-line\n * @param {*} lineColorIndex Chart builder options + paletteColor option\n */\nfunction lineSettings(settings, options) {\n const lineStroke =\n typeof options.paletteColor !== 'undefined'\n ? options.theme.getColorPickerColor(options.paletteColor)\n : 'transparent';\n const defaultSettings = {\n value: 0,\n line: {\n stroke: lineStroke,\n strokeDasharray: options?.style?.lineType,\n },\n };\n return extend(true, defaultSettings, settings || {});\n}\n\n/**\n * Get Picasso settings for an individual ref-line used to display label and OOB.\n *\n * @param {*} settings Default settings for the ref-line label\n * @param {*} options Chart builder options + paletteColor option\n */\nfunction lineLabelSettings(settings, options) {\n const chartID = options && options.chartID; // Should we validate if the parameter exists?\n let labelColor = options.theme.getStyle(chartID, 'referenceLine.label.name', 'color');\n const labelFontSize = options.theme.getStyle(chartID, 'referenceLine.label.name', 'fontSize');\n const labelFontFamily = options.theme.getStyle(chartID, 'referenceLine.label.name', 'fontFamily');\n\n if (options.paletteColor) {\n labelColor = options.theme.getColorPickerColor(options.paletteColor);\n } else if (!labelColor) {\n labelColor = 'transparent';\n }\n\n const defaultSettings = {\n value: 0,\n line: {\n stroke: 'transparent',\n },\n label: {\n align: 'center',\n vAlign: 'middle',\n text: '',\n fill: labelColor,\n fontFamily: labelFontFamily,\n fontSize: labelFontSize,\n maxWidthPx: 135,\n },\n };\n return extend(true, defaultSettings, settings || {});\n}\n\nconst isVisible = (refLine) =>\n refLine && refLine.show !== false && refLine.show !== 0 && refLine.show !== '0' && refLine.refLineExpr !== undefined;\n\nfunction getRefLineTitle({ refLine, label, valueString }) {\n if (refLine.showValue !== false) {\n if (refLine.showLabel !== false) {\n return `${label} ${RtlUtil.lrm}(${valueString})${RtlUtil.lrm}`;\n }\n return `${RtlUtil.lrm}(${valueString})${RtlUtil.lrm}`;\n }\n if (refLine.showLabel !== false) {\n return label;\n }\n return '';\n}\n\nexport default {\n lineSettings,\n lineLabelSettings,\n isVisible,\n getRefLineTitle,\n};\n","import DimensionMeasureChartLayoutSettings from './layout-settings';\n\nconst constants = {\n SHOW_AXIS_LABELS_OPTIONS: ['all', 'labels'], // show dim/measure axis labels when it matches one of this values\n SHOW_TITLE_OPTIONS: ['all', 'title'], // show the dimension/measure title when the show option matches one of these values\n HORIZONTAL: 'horizontal',\n VERTICAL: 'vertical',\n LAYOUTSETTINGS: DimensionMeasureChartLayoutSettings,\n};\n\nconstants.DEFAULT_CHART_ORIENTATION = constants.HORIZONTAL;\n\nexport default constants;\n","export default {\n lasso: {\n displayOrder: 10000,\n },\n rangeDim: {\n displayOrder: 10000,\n },\n rangeMeasure: {\n displayOrder: 10000,\n },\n rangeMinor: {\n displayOrder: 10000,\n },\n\n // SPARK\n scrollBar: {\n minimumLayoutMode: 'SPARK',\n prioOrder: -1,\n displayOrder: 100,\n },\n\n refLines: {\n minimumLayoutMode: 'SPARK',\n prioOrder: 60,\n displayOrder: -10,\n },\n\n // XMALL\n measureAxisTitle: {\n minimumLayoutMode: 'XSMALL',\n prioOrder: 30,\n displayOrder: 90,\n },\n dimensionAxisTitle: {\n minimumLayoutMode: 'XSMALL',\n prioOrder: 30,\n displayOrder: 90,\n },\n\n measureAxis: {\n minimumLayoutMode: 'XSMALL',\n prioOrder: 10,\n displayOrder: 80,\n },\n dimensionAxis: {\n minimumLayoutMode: 'XSMALL',\n prioOrder: 10,\n displayOrder: 80,\n },\n\n gridLines: {\n minimumLayoutMode: 'XSMALL',\n displayOrder: -100,\n },\n\n // SMALL\n refLinesLabels: {\n minimumLayoutMode: 'SMALL',\n prioOrder: 60,\n displayOrder: 0,\n },\n};\n","import extend from 'extend';\nimport generateId from '../../../../extra/generate-id';\nimport getScrollActions from '../../../scroll/scroll-actions';\nimport axisDockUtil from '../../components/util/axis-dock-util';\nimport refLineUtil from '../../components/util/ref-line-util';\nimport CONSTANTS from './constants';\n\nconst SENSE_PICASSO_SPACING_COEFFICIENT = 100;\n\nfunction DimensionMeasureChart(chartBuilder, opts) {\n const options = opts || {};\n\n const measureAxisProperties = options.measureAxisProperties || {};\n const dimensionAxisProperties = options.dimensionAxisProperties || {};\n const chartOrientation = options.orientation || CONSTANTS.DEFAULT_CHART_ORIENTATION;\n const isChartHorizontal = chartOrientation === CONSTANTS.HORIZONTAL;\n const measureDirection = isChartHorizontal ? 'x' : 'y';\n const dimensionDirection = isChartHorizontal ? 'y' : 'x';\n const SHOW_AXIS_LABELS_OPTIONS = CONSTANTS.SHOW_AXIS_LABELS_OPTIONS;\n const SHOW_TITLE_OPTIONS = CONSTANTS.SHOW_TITLE_OPTIONS;\n const includeMeasureAxisComponent = SHOW_AXIS_LABELS_OPTIONS.includes(measureAxisProperties.show);\n const includeMeasureAxisTitleComponent =\n !!options.measureTitleText && SHOW_TITLE_OPTIONS.includes(measureAxisProperties.show);\n const includeDimensionAxisComponent =\n options.includeDimensionAxis && SHOW_AXIS_LABELS_OPTIONS.includes(dimensionAxisProperties.show);\n const includeDimensionAxisTitleComponent =\n options.includeDimensionAxis &&\n !!options.dimensionTitleText &&\n SHOW_TITLE_OPTIONS.includes(dimensionAxisProperties.show);\n const includeGridlines = options.gridlines && !(!options.gridlines.auto && options.gridlines.spacing === 0);\n\n const includeRefLines = options.refLines && options.refLines.some((refLine) => refLine.show);\n\n const interactionActions = [];\n\n if (includeMeasureAxisComponent) {\n addMeasureAxisComponent(chartBuilder, options, measureDirection, measureAxisProperties);\n }\n\n if (includeMeasureAxisTitleComponent) {\n addMeasureAxisTitleComponent(chartBuilder, options, measureDirection);\n }\n\n addMeasureScale(chartBuilder, options, chartOrientation, measureAxisProperties);\n\n if (includeDimensionAxisComponent) {\n addDimensionAxisComponent(chartBuilder, options, dimensionDirection);\n }\n\n if (includeDimensionAxisTitleComponent) {\n addDimensionAxisTitleComponent(chartBuilder, options, dimensionDirection);\n }\n\n if (options.includeDimensionAxis) {\n addDimensionScale(chartBuilder, options, chartOrientation);\n }\n\n if (includeGridlines) {\n addGridlinesComponent(chartBuilder, options.gridlines, measureDirection);\n }\n\n if (options.hasNavigation) {\n addScrollbarComponent(chartBuilder, interactionActions, options, isChartHorizontal);\n }\n\n if (includeRefLines) {\n addRefLineComponent(chartBuilder, options, measureDirection, measureAxisProperties);\n }\n\n if (options.enableLasso && options.selectionsEnabled) {\n const lassoOptions = options.lasso || {};\n addLassoComponent(chartBuilder, lassoOptions);\n }\n\n if (options.enableDimRange && options.includeDimensionAxis && options.selectionsEnabled) {\n const rangeDimOptions = options.dimRange || {};\n const dimensionAxisOptions = getDimensionAxisOptions(options, dimensionDirection);\n addRangeDimComponent(chartBuilder, rangeDimOptions, isChartHorizontal, dimensionAxisOptions.dock, options.isRtl);\n }\n\n if (options.enableMeasureRange && options.selectionsEnabled) {\n const rangeMeasureOptions = options.measureRange || {};\n const measureAxisOptions = getMeasureAxisOptions(options, measureDirection);\n addRangeMeasureComponent(\n chartBuilder,\n rangeMeasureOptions,\n isChartHorizontal,\n measureAxisOptions.dock,\n options.isRtl\n );\n }\n\n if (options.enableAreaRange && options.selectionsEnabled) {\n const areaDimOptions = options.areaRange || {};\n const dimAreaAxisOptions = getDimensionAxisOptions(options, dimensionDirection);\n addRangeAreaComponent(chartBuilder, areaDimOptions, isChartHorizontal, dimAreaAxisOptions.dock, options.isRtl);\n }\n\n if (options.brushActions) {\n addInteractionActions(interactionActions, options.brushActions);\n }\n\n if (interactionActions.length) {\n addInteractionComponent(chartBuilder, interactionActions);\n }\n}\n\nexport default DimensionMeasureChart;\n\nfunction addInteractionComponent(chartBuilder, interactionActions) {\n return chartBuilder.addInteraction({}, { gestures: interactionActions });\n}\n\nfunction addInteractionActions(interactionActions, actions) {\n actions.forEach((a) => {\n interactionActions.push(a);\n });\n}\n\nfunction addMeasureScale(chartBuilder, options, chartOrientation, measureAxisProperties) {\n let measureScaleSettings = options.measureScaleSettings;\n\n const measureScaleOptions = {\n isRtl: options.isRtl,\n source: options.measureSource,\n orientation: chartOrientation,\n measureAxisProperties,\n };\n\n if (measureAxisProperties && measureAxisProperties.spacing > 0) {\n measureScaleSettings = extend(true, measureScaleSettings || {}, {\n component: {\n ticks: {\n distance: measureAxisProperties.spacing * SENSE_PICASSO_SPACING_COEFFICIENT,\n },\n },\n });\n }\n\n chartBuilder.addScale('measure-scale', measureScaleSettings, measureScaleOptions);\n}\n\nfunction addMeasureAxisComponent(chartBuilder, options, measureDirection, measureAxisProperties) {\n let measureAxisSettings = {\n scale: 'measure',\n forceBounds: measureAxisProperties && !measureAxisProperties.autoMinMax && measureAxisProperties.showBounds,\n };\n measureAxisSettings = extend(measureAxisSettings, CONSTANTS.LAYOUTSETTINGS.measureAxis);\n\n const measureAxisOptions = getMeasureAxisOptions(options, measureDirection);\n\n chartBuilder.addComponent(`${measureDirection}-axis`, measureAxisSettings, measureAxisOptions);\n}\n\nfunction addMeasureAxisTitleComponent(chartBuilder, options, measureDirection) {\n let measureTitleSettings = {\n text: options.measureTitleText,\n };\n measureTitleSettings = extend(measureTitleSettings, CONSTANTS.LAYOUTSETTINGS.measureAxisTitle);\n\n const measureAxisOptions = getMeasureAxisTitleOptions(options, measureDirection);\n\n chartBuilder.addComponent(`${measureDirection}-axis-title`, measureTitleSettings, measureAxisOptions);\n}\n\nfunction addDimensionScale(chartBuilder, options, chartOrientation) {\n const dimensionScaleOptions = {\n isRtl: options.isRtl,\n source: options.dimensionSource,\n orientation: chartOrientation === CONSTANTS.HORIZONTAL ? CONSTANTS.VERTICAL : CONSTANTS.HORIZONTAL,\n };\n\n chartBuilder.addScale('dimension-scale', options.dimensionScaleSettings, dimensionScaleOptions);\n}\n\nfunction addDimensionAxisComponent(chartBuilder, options, dimensionDirection) {\n let dimensionAxisSettings = {\n scale: 'dimension',\n };\n dimensionAxisSettings = extend(dimensionAxisSettings, CONSTANTS.LAYOUTSETTINGS.dimensionAxis);\n\n const dimensionAxisOptions = getDimensionAxisOptions(options, dimensionDirection);\n\n extend(true, dimensionAxisSettings, options.dimensionAxisSettings || {});\n\n chartBuilder.addComponent(`${dimensionDirection}-axis`, dimensionAxisSettings, dimensionAxisOptions);\n}\n\nfunction addDimensionAxisTitleComponent(chartBuilder, options, dimensionDirection) {\n let dimensionAxisTitleSettings = {\n text: options.dimensionTitleText,\n };\n dimensionAxisTitleSettings = extend(dimensionAxisTitleSettings, CONSTANTS.LAYOUTSETTINGS.dimensionAxisTitle);\n\n const dimensionAxisTitleOptions = getDimensionAxisTitleOptions(options, dimensionDirection);\n\n chartBuilder.addComponent(`${dimensionDirection}-axis-title`, dimensionAxisTitleSettings, dimensionAxisTitleOptions);\n}\n\nfunction addGridlinesComponent(chartBuilder, gridlinesOptions, measureDirection) {\n let gridlinesSettings = {\n ticks: {\n show: true,\n },\n minorTicks: {\n show: !gridlinesOptions.auto && !gridlinesOptions.auto && gridlinesOptions.spacing === 3,\n },\n };\n gridlinesSettings = extend(gridlinesSettings, CONSTANTS.LAYOUTSETTINGS.gridLines);\n\n gridlinesSettings[measureDirection] = { scale: 'measure' };\n\n chartBuilder.addComponent('grid-line', gridlinesSettings);\n}\n\nfunction addScrollbarComponent(chartBuilder, interactionActions, options, isChartHorizontal) {\n const settings = chartBuilder.getSettings();\n\n settings.scroll = {\n dimension: {\n viewSize: (options.scrollSettings && options.scrollSettings.viewSize) || 0,\n max: (options.scrollSettings && options.scrollSettings.max) || 0,\n },\n };\n\n const scrollbarOptions = {\n isRtl: options.isRtl,\n chartID: options.chartID,\n isHorizontal: !isChartHorizontal,\n };\n\n const scrollBarSettings = extend({}, CONSTANTS.LAYOUTSETTINGS.scrollBar);\n\n chartBuilder.addComponent('scrollbar', scrollBarSettings, scrollbarOptions);\n\n addInteractionActions(interactionActions, getScrollActions(options.isNavigationEnabledFn));\n}\n\n/*\n * Add \"ref-line\" component(s). Currently two \"ref-line\" components are used to reserve space for labels and\n * OOB markers outside of the data area. First component: shows the line(s) within the data area. Second component:\n * shows the label(s) and OOB marker(s).\n */\nfunction addRefLineComponent(chartBuilder, options, measureDirection, measureAxisProperties) {\n const axisDock = axisDockUtil.getAxisDock(measureDirection, measureAxisProperties.dock, options.isRtl);\n let refLinesSettings = {\n // First component\n key: 'ref-line',\n style: {\n oob: {\n show: false,\n },\n },\n lines: {\n x: [],\n y: [],\n },\n };\n refLinesSettings = extend(refLinesSettings, CONSTANTS.LAYOUTSETTINGS.refLines);\n\n let refLinesLabelsSettings = {\n // Second component\n // Use a unique key to force re-render of this component in Picasso.\n // This must be done because Picasso does not allow re-binding of functions (and shouldn't either).\n key: `ref-line-labels-${generateId()}`,\n require: ['renderer', 'chart'],\n dock: axisDockUtil.getOppositeAxisDock(measureDirection, measureAxisProperties.dock, options.isRtl),\n preferredSize() {\n if (measureDirection === 'x') {\n // Use constant component size if horizontal\n return 26;\n }\n\n // Adapt component size to the longest label if vertical\n const measureText = this.renderer.measureText;\n const formatter = this.chart.formatter({ data: chartBuilder.settings.scales.measure.data });\n const labelWidths = refLinesLabelsSettings.lines.y.map((line) => {\n const formattedValue = line.label.showValue !== false ? `(${formatter(line.value)})` : '';\n const text = `${line.label.text} ${formattedValue}`;\n const minimumText = line.label.text && formattedValue ? ` ${formattedValue}` : formattedValue;\n return {\n wanted: measureText({\n text,\n fontSize: line.fontSize,\n fontFamily: line.fontFamily,\n }).width,\n required: measureText({\n text: minimumText,\n fontSize: line.fontSize,\n fontFamily: line.fontFamily,\n }).width,\n };\n });\n\n const maxLabelWidth = labelWidths[0];\n for (let i = 1; i < labelWidths.length; i++) {\n if (labelWidths[i].wanted > maxLabelWidth.wanted) {\n maxLabelWidth.wanted = labelWidths[i].wanted;\n }\n if (labelWidths[i].required > maxLabelWidth.required) {\n maxLabelWidth.required = labelWidths[i].required;\n }\n }\n const labelPadding = 12;\n if (maxLabelWidth.required + labelPadding > 100) {\n return maxLabelWidth.required + labelPadding; // Always have space for the value\n }\n return Math.min(maxLabelWidth.wanted + labelPadding, 100); // Limit to 100 px width\n },\n lines: {\n x: [],\n y: [],\n },\n };\n refLinesLabelsSettings = extend(refLinesLabelsSettings, CONSTANTS.LAYOUTSETTINGS.refLinesLabels);\n\n options.refLines.forEach((refLine) => {\n if (!refLine.show) {\n return;\n }\n\n const expressionValue = refLine.refLineExpr && refLine.refLineExpr.value;\n const lineOptions = extend(true, {}, options, {\n paletteColor: refLine.paletteColor,\n style: refLine.style,\n chartID: chartBuilder.options.chartID,\n });\n\n // Add a line for each visible ref line\n const lineSettings = refLineUtil.lineSettings(\n {\n scale: 'measure',\n dir: measureDirection,\n value: expressionValue,\n },\n lineOptions\n );\n\n refLinesSettings.lines[measureDirection].push(lineSettings);\n\n // Add a label and an OOB marker for each visible ref line (using the second component)\n const lineLabelSettings = refLineUtil.lineLabelSettings(\n {\n scale: 'measure',\n value: expressionValue,\n label: {\n text: refLine.showLabel !== false ? refLine.label : '',\n showValue: refLine.showValue !== false,\n },\n },\n lineOptions\n );\n\n if (measureDirection === 'x') {\n lineLabelSettings.label.vAlign = axisDock === 'near' ? 1 : 0;\n } else {\n // y\n lineLabelSettings.label.align = axisDock === 'near' ? 0 : 1;\n }\n\n refLinesLabelsSettings.lines[measureDirection].push(lineLabelSettings);\n });\n\n chartBuilder.addComponent('ref-line', refLinesSettings, {});\n chartBuilder.addComponent('ref-line', refLinesLabelsSettings, {});\n}\n\n/**\n * Adds a lasso component to the chart builder\n * @param {ChartBuilder} chartBuilder\n * @param {object} options - lasso options\n * @param {string} options.brushKey - key used as context for lasso selection triggers\n * @param {string} options.brushComponent - target component key\n */\nfunction addLassoComponent(chartBuilder, options) {\n const lassoOptions = {\n brushKey: options.brushKey,\n brushComponents: options.brushComponents,\n brushData: options.brushData,\n };\n\n chartBuilder.addComponent('lasso', CONSTANTS.LAYOUTSETTINGS.lasso, lassoOptions);\n}\n/**\n * Adds a dimension range component to the chart builder\n * @param {any} chartBuilder\n * @param {object} options - range dim options\n * @param {string} options.brushKey - key used as context for range selection triggers\n * @param {string} options.brushAxis - target axis to perform range select on\n * @param {string} options.brushScale - Scale to use\n * @param {boolean} isChartHorizontal - Whether the chart is horizontal or not\n */\nfunction addRangeDimComponent(chartBuilder, options, isChartHorizontal, dock, isRtl) {\n let rangeDimSettings = {\n key: 'rangeDim',\n };\n\n rangeDimSettings = extend(rangeDimSettings, CONSTANTS.LAYOUTSETTINGS.rangeDim);\n\n const rangeDimOptions = {\n brushKey: options.brushKey,\n brushAxis: options.brushAxis,\n brushArea: options.brushArea,\n brushScale: options.brushScale,\n isHorizontal: !isChartHorizontal,\n dock,\n isRtl,\n };\n\n chartBuilder.addComponent('range', rangeDimSettings, rangeDimOptions);\n}\n\nfunction addRangeMeasureComponent(chartBuilder, options, isChartHorizontal, dock, isRtl) {\n let rangeMeasureSettings = {\n key: 'rangeMeasure',\n };\n\n rangeMeasureSettings = extend(rangeMeasureSettings, CONSTANTS.LAYOUTSETTINGS.rangeMeasure);\n\n const rangeMeasureOptions = {\n brushKey: options.brushKey,\n brushAxis: options.brushAxis,\n brushArea: options.brushArea,\n brushScale: options.brushScale,\n multiple: options.multiple,\n isHorizontal: isChartHorizontal,\n dock,\n isRtl,\n };\n\n chartBuilder.addComponent('range', rangeMeasureSettings, rangeMeasureOptions);\n}\n\nfunction addRangeAreaComponent(chartBuilder, options, isChartHorizontal, dock, isRtl) {\n let rangeMinorSettings = {\n key: 'rangeMinor',\n };\n\n rangeMinorSettings = extend(rangeMinorSettings, CONSTANTS.LAYOUTSETTINGS.rangeMinor);\n\n const rangeMeasureOptions = {\n brushKey: options.brushKey,\n brushAxis: options.brushAxis,\n brushData: options.brushData,\n brushArea: options.brushArea,\n brushComponents: options.brushComponents,\n brushScale: options.brushScale,\n multiple: options.multiple,\n isHorizontal: options.brushScale === 'measure' ? isChartHorizontal : !isChartHorizontal,\n dock,\n isRtl,\n chartInstance: options.chartInstance,\n };\n\n chartBuilder.addComponent('range-area', rangeMinorSettings, rangeMeasureOptions);\n}\n\nfunction getMeasureAxisOptions(options, measureDirection) {\n return {\n dock: options.measureAxisProperties && options.measureAxisProperties.dock,\n direction: measureDirection,\n isRtl: options.isRtl,\n };\n}\n\nfunction getMeasureAxisTitleOptions(options, measureDirection) {\n return getMeasureAxisOptions(options, measureDirection);\n}\n\nfunction getDimensionAxisOptions(options, dimensionDirection) {\n return {\n dock: options.dimensionAxisProperties && options.dimensionAxisProperties.dock,\n direction: dimensionDirection,\n isRtl: options.isRtl,\n };\n}\n\nfunction getDimensionAxisTitleOptions(options, dimensionDirection) {\n return getDimensionAxisOptions(options, dimensionDirection);\n}\n","const SCROLLBAR_KEY = 'scrollbar';\n\nfunction getActions(isEnabledFn) {\n function targetIsScrollbar(manager, e) {\n if (!e || !isEnabledFn()) {\n return false;\n }\n const startPoint = {\n x: e.center.x - e.deltaX,\n y: e.center.y - e.deltaY,\n };\n const components = this.chart.componentsFromPoint(startPoint);\n return components.some((c) => c.settings.key === SCROLLBAR_KEY);\n }\n\n const tap = {\n // single tap\n type: 'Tap',\n options: {\n enable: targetIsScrollbar,\n },\n events: {\n tap(e) {\n this.chart.component(SCROLLBAR_KEY).emit('tap', e);\n },\n },\n };\n\n const pan = {\n type: 'Pan',\n options: {\n enable: targetIsScrollbar,\n },\n events: {\n panstart(e) {\n this.chart.component(SCROLLBAR_KEY).emit('panStart', e);\n },\n pan(e) {\n this.chart.component(SCROLLBAR_KEY).emit('panMove', e);\n },\n panend(e) {\n this.chart.component(SCROLLBAR_KEY).emit('panEnd', e);\n },\n pancancel(e) {\n this.chart.component(SCROLLBAR_KEY).emit('panCancel', e);\n },\n },\n };\n\n const actions = [tap, pan];\n return actions;\n}\n\nexport default getActions;\n","import extend from 'extend';\n\nfunction scale(settings, opts) {\n const options = opts || {};\n const isHorizontal = !options.orientation || options.orientation === 'horizontal';\n const isRtl = !!options.isRtl;\n\n const defaultSettings = {\n name: options.name || 'scale',\n component: {\n invert: isHorizontal && isRtl,\n minorTicks: {\n count: 1,\n },\n range: options.range || undefined,\n domain: options.domain || undefined,\n trackBy: options.trackBy || 'id',\n },\n };\n\n return extend(true, {}, defaultSettings, settings || {});\n}\n\nfunction measureScale(settings, opts) {\n const options = opts || {};\n let fields = options.source || [];\n if (typeof fields === 'string') {\n fields = [fields];\n }\n\n const defaultSettings = {\n name: 'measure',\n component: {\n expand: 0.1,\n data: {\n fields: fields.map((f) => ({\n field: f,\n })),\n },\n },\n };\n\n const measureAxisProperties = opts && opts.measureAxisProperties;\n\n if (measureAxisProperties && !measureAxisProperties.autoMinMax) {\n // explicit min max measure scale range\n if (['min', 'minMax'].includes(measureAxisProperties.minMax)) {\n defaultSettings.component.min = measureAxisProperties.min;\n }\n if (['max', 'minMax'].includes(measureAxisProperties.minMax)) {\n defaultSettings.component.max = measureAxisProperties.max;\n }\n }\n\n const measureSettings = extend(true, defaultSettings, settings || {});\n const scaleSettings = scale(measureSettings, opts);\n const hasInvertSettings = settings && settings.component && typeof settings.component.invert !== 'undefined';\n\n if (!hasInvertSettings && opts && opts.orientation === 'vertical') {\n scaleSettings.component.invert = !scaleSettings.component.invert;\n }\n\n return scaleSettings;\n}\n\nfunction dimensionScale(settings, opts) {\n const defaultSettings = {\n name: 'dimension',\n component: {\n trackBy: 'id',\n type: 'band',\n data: {\n extract: {\n field: (opts && opts.source) || '',\n props: {\n label(v) {\n return v.qText || '';\n }, // Map qText to handle both qElemNo and qElemNumber\n },\n },\n },\n label(v) {\n return v.datum.label.value;\n }, // Set qText as value from the mapping on r.92\n },\n };\n\n const dimensionSettings = extend(true, defaultSettings, settings || {});\n\n return scale(dimensionSettings, opts);\n}\n\nscale.measureScale = measureScale;\nscale.dimensionScale = dimensionScale;\n\nexport default scale;\n","import extend from 'extend';\nimport axisDockUtil from './util/axis-dock-util';\n\nfunction axis(settings, options) {\n const chartID = options && options.chartID; // Should we validate if the parameter exists?\n const dock = options && options.dock;\n const direction = options && options.direction;\n const isRtl = options && options.isRtl;\n\n const axisLineStroke = options.theme.getStyle(chartID, 'axis.line.major', 'color');\n const titleFontSize = options.theme.getStyle(chartID, 'axis.title', 'fontSize');\n const titleFill = options.theme.getStyle(chartID, 'axis.title', 'color');\n const labelsFill = options.theme.getStyle(chartID, 'axis.label.name', 'color');\n const labelsFontSize = options.theme.getStyle(chartID, 'axis.label.name', 'fontSize');\n const titleFontFamily = options.theme.getStyle(chartID, 'axis.title', 'fontFamily');\n const labelsFontFamily = options.theme.getStyle(chartID, 'axis.label.name', 'fontFamily');\n\n const defaultSettings = {\n key: 'axis',\n type: 'axis',\n dock: axisDockUtil.getAxisDock(direction, dock, isRtl),\n brush: { trigger: [], consume: [] },\n settings: {\n title: {\n fontSize: titleFontSize,\n fontFamily: titleFontFamily,\n fill: titleFill,\n },\n line: {\n show: true,\n strokeWidth: 1,\n stroke: axisLineStroke,\n },\n labels: {\n fill: labelsFill,\n fontSize: labelsFontSize,\n fontFamily: labelsFontFamily,\n tiltAngle: isRtl ? -40 : 40,\n maxEdgeBleed: 75,\n maxSize: 150,\n mode: 'auto',\n },\n ticks: {\n stroke: axisLineStroke,\n },\n minorTicks: {\n stroke: axisLineStroke,\n },\n },\n };\n return extend(true, {}, defaultSettings, settings || {});\n}\n\nfunction xAxis(settings, options) {\n const defaultSettings = {\n key: 'x-axis',\n scale: 'x',\n };\n const xAxisSettings = extend(true, defaultSettings, settings || {});\n return axis(xAxisSettings, options);\n}\n\nfunction yAxis(settings, options) {\n const dock = options && options.dock;\n const isRtl = options && options.isRtl;\n const defaultSettings = {\n key: 'y-axis',\n scale: 'y',\n dock: axisDockUtil.getYAxisDock(dock, isRtl),\n };\n const yAxisSettings = extend(true, defaultSettings, settings || {});\n return axis(yAxisSettings, options);\n}\n\naxis.xAxis = xAxis;\naxis.yAxis = yAxis;\n\nexport default axis;\n","import extend from 'extend';\nimport axisDockUtil from './util/axis-dock-util';\n\nfunction text(settings, options) {\n const chartID = options && options.chartID;\n const dock = options && options.dock;\n const direction = options && options.direction;\n const isRtl = options && options.isRtl;\n const titleFontSize = options.theme.getStyle(chartID, 'axis.title', 'fontSize');\n const titleFill = options.theme.getStyle(chartID, 'axis.title', 'color');\n const titleFontFamily = options.theme.getStyle(chartID, 'axis.title', 'fontFamily');\n\n const defaultSettings = {\n key: 'text',\n type: 'text',\n dock: axisDockUtil.getAxisDock(direction, dock, isRtl) || 'bottom',\n displayOrder: 0, // TODO: This can be removed when picasso set displayOrder for text component to 0. Currently picasso set it to 99.\n style: {\n text: {\n fontSize: titleFontSize,\n fontFamily: titleFontFamily,\n fill: titleFill,\n },\n },\n };\n return extend(true, {}, defaultSettings, settings || {});\n}\n\nfunction xAxisTitle(settings, options) {\n const defaultSettings = {\n key: 'x-axis-title',\n };\n const xAxisTitleSettings = extend(true, defaultSettings, settings || {});\n return text(xAxisTitleSettings, options);\n}\n\nfunction yAxisTitle(settings, options) {\n const dock = options && options.dock;\n const isRtl = options && options.isRtl;\n const defaultSettings = {\n key: 'y-axis-title',\n dock: axisDockUtil.getYAxisDock(dock, isRtl) || 'left',\n };\n const yAxisTitleSettings = extend(true, defaultSettings, settings || {});\n return text(yAxisTitleSettings, options);\n}\n\ntext.xAxisTitle = xAxisTitle;\ntext.yAxisTitle = yAxisTitle;\n\nexport default text;\n","function getBublesAlign(isHorizontal, dock, isRtl) {\n let isAlignStart = (isHorizontal && dock !== 'far') || (!isHorizontal && dock === 'far');\n if (!isHorizontal && isRtl) {\n isAlignStart = !isAlignStart;\n }\n return isAlignStart ? 'start' : 'end';\n}\n\nfunction getDock(brushAxis, brushArea) {\n const dockTargets = [];\n let dockT;\n if (brushAxis) {\n dockTargets.push(`@${brushAxis}`);\n }\n if (brushArea) {\n dockTargets.push(`@${brushArea}`);\n }\n if (dockTargets.length) {\n dockT = dockTargets.join(',');\n }\n return dockT;\n}\n\nexport default {\n getBublesAlign,\n getDock,\n};\n","/* eslint-disable guard-for-in */\n/* eslint-disable no-restricted-syntax */\nconst layoutModes = {\n SPARK: { width: 0, height: 0 },\n XSMALL: { width: 150, height: 75 },\n SMALL: { width: 300, height: 150 },\n MEDIUM: { width: 400, height: 220 },\n FULL: { width: 550, height: 450 },\n};\n\nfunction LayoutModes() {\n return layoutModes;\n}\n\nLayoutModes.getLayoutModeKeys = function () {\n const layoutModeKeys = [];\n let modeKey;\n\n for (modeKey in layoutModes) {\n layoutModeKeys.push(modeKey);\n }\n return layoutModeKeys;\n};\n\nexport default LayoutModes;\n","import extend from 'extend';\n\nfunction getLabel(context) {\n const end = context.data.end;\n const formatter = context.dataset(end.source.key).field(end.source.field).formatter();\n return formatter(end.value);\n}\n\nfunction labels(settings, options) {\n const chartID = options && options.chartID;\n const labelsFill = options.theme.getStyle(chartID, 'label.value', 'color');\n const labelsFontSize = options.theme.getStyle(chartID, 'label.value', 'fontSize');\n const labelsFontFamily = options.theme.getStyle(chartID, 'label.value', 'fontFamily');\n\n const defaultSettings = {\n key: 'labels',\n type: 'labels',\n displayOrder: 1,\n settings: {\n sources: [\n {\n component: 'box-marker', // Connects with the matching \"key:\" attribute in the visualizations\n selector: 'rect',\n strategy: {\n type: 'bar',\n settings: {\n direction: 'up',\n fontFamily: labelsFontFamily,\n fontSize: parseFloat(labelsFontSize),\n align: 0.5,\n labels: [\n {\n placements: [\n {\n position: 'outside',\n fill: labelsFill,\n justify: 0,\n },\n {\n position: 'inside',\n fill: settings && settings.settings.sources[0].strategy.settings.labels[0].placements[1].fill,\n justify: 1,\n },\n ],\n label: getLabel,\n },\n ],\n },\n },\n },\n ],\n },\n };\n return extend(true, {}, defaultSettings, settings || {});\n}\n\nexport default labels;\n","import extend from 'extend';\n\nconst directions = {\n left: 'left',\n right: 'right',\n up: 'top',\n down: 'bottom',\n};\n\nfunction legend(settings, options) {\n const chartID = options && options.chartID;\n const isRtl = options && options.isRtl;\n let dock = (options && options.dock) || 'auto';\n const show = options && options.show;\n\n if (dock === 'auto') {\n dock = options.chartHeight / options.chartWidth < 1 ? (isRtl ? 'left' : 'right') : 'bottom';\n }\n\n const titleFill = options.theme.getStyle(chartID, 'legend.title', 'color');\n const titleFontSize = options.theme.getStyle(chartID, 'legend.title', 'fontSize');\n const itemFill = options.theme.getStyle(chartID, 'legend.label', 'color');\n const itemFontSize = options.theme.getStyle(chartID, 'legend.label', 'fontSize');\n const titleFontFamily = options.theme.getStyle(chartID, 'legend.title', 'fontFamily');\n const itemFontFamily = options.theme.getStyle(chartID, 'legend.label', 'fontFamily');\n\n const defaultSettings = {\n key: 'legend',\n type: 'legend-cat',\n dock,\n show,\n\n scale: {\n type: 'color',\n },\n settings: {\n title: {\n anchor: 'middle',\n },\n layout: {\n direction: isRtl ? 'rtl' : 'ltr',\n size: dock === 'top' || dock === 'bottom' ? 2 : 1,\n vertical: dock === 'top' || dock === 'bottom' ? 16 : 8,\n },\n navigation: {\n button: {\n class: {\n 'lui-fade-button': true,\n },\n content(h, state) {\n const c = ['lui-button__icon', 'lui-icon', `lui-icon--triangle-${directions[state.direction]}`];\n return h('span', {\n style: {\n pointerEvents: 'none',\n },\n class: c.join(' '),\n });\n },\n },\n },\n },\n style: {\n item: {\n label: {\n fontSize: itemFontSize,\n fontFamily: itemFontFamily,\n fill: itemFill,\n lineHeight: 1,\n wordBreak: 'break-word',\n },\n margin: {\n top: 5,\n left: 10,\n right: 10,\n bottom: 10,\n },\n shape: {\n type: options.type ? options.type : 'square',\n size: (parseInt(itemFontSize, 10) * 3) / 4, // To make it consistent with non-picasso charts\n },\n },\n title: {\n show: options.showTitle,\n fontSize: titleFontSize,\n fontFamily: titleFontFamily,\n fill: titleFill,\n },\n },\n };\n return extend(true, {}, defaultSettings, settings);\n}\n\nexport default legend;\n","import extend from 'extend';\nimport ChartPresets from './chart-presets';\nimport scale from './scale';\nimport axis from './components/axis';\nimport boxMarker from './components/box-marker';\nimport eventArea from './components/event-area';\nimport gridLine from './components/grid-line';\nimport interaction from './components/interaction';\nimport pointMarker from './components/point-marker';\nimport scrollbar from './components/scrollbar';\nimport text from './components/text';\nimport lasso from './components/lasso';\nimport range from './components/range';\nimport refLine from './components/ref-line';\nimport layoutModes from './layout-modes';\nimport labels from './components/labels';\nimport categoricalLegend from './components/categorical-legend';\nimport sequentialLegend from './components/sequential-legend';\nimport rangeArea from './components/range-area';\n\nfunction createComponent(type, settings, options) {\n switch (type) {\n // Picasso components\n case 'scale':\n return scale(settings, options);\n case 'measure-scale':\n return scale.measureScale(settings, options);\n case 'dimension-scale':\n return scale.dimensionScale(settings, options);\n case 'axis':\n return axis(settings, options);\n case 'box-marker':\n return boxMarker(settings, options);\n case 'point-marker':\n return pointMarker(settings, options);\n case 'scrollbar':\n return scrollbar(settings, options);\n case 'text':\n return text(settings, options);\n case 'lasso':\n return lasso(settings, options);\n case 'range':\n return range(settings, options);\n case 'range-area':\n return rangeArea(settings, options);\n case 'categorical-legend':\n return categoricalLegend(settings, options);\n case 'sequential-legend':\n return sequentialLegend(settings, options);\n // Wrapepd picasso components\n case 'x-axis':\n return axis.xAxis(settings, options);\n case 'y-axis':\n return axis.yAxis(settings, options);\n case 'x-axis-title':\n return text.xAxisTitle(settings, options);\n case 'y-axis-title':\n return text.yAxisTitle(settings, options);\n case 'grid-line':\n return gridLine(settings, options);\n case 'interaction':\n return interaction(settings, options);\n case 'ref-line':\n return refLine(settings, options);\n // Custom components\n case 'event-area':\n return eventArea(settings, options);\n case 'labels':\n return labels(settings, options);\n default:\n return undefined;\n }\n}\n\nfunction ChartBuilder(options) {\n this.options = options || {};\n\n this.settings = {\n dockLayout: {\n layoutModes: layoutModes(),\n },\n components: [],\n scales: {},\n };\n}\n\nChartBuilder.prototype.addComponent = function addComponent(type, settings, options) {\n const extendedOptions = extend(true, {}, this.options, options || {});\n const component = createComponent(type, settings, extendedOptions);\n this.settings.components.push(component);\n return component;\n};\n\nChartBuilder.prototype.addInteraction = function addInteraction(settings, options) {\n const extendedOptions = extend(true, {}, this.options, options || {});\n const component = createComponent('interaction', settings, extendedOptions);\n if (!this.settings.interactions) {\n this.settings.interactions = [];\n }\n this.settings.interactions.push(component);\n return component;\n};\n\nChartBuilder.prototype.addScale = function addScale(type, settings, options) {\n const extendedOptions = extend(true, {}, this.options, options || {});\n const scale = createComponent(type, settings, extendedOptions);\n this.settings.scales[scale.name] = scale.component;\n};\n\nChartBuilder.prototype.getSettings = function getSettings() {\n return this.settings;\n};\n\nChartBuilder.prototype.getComponent = function getComponent(key) {\n return this.settings.components.filter((component) => component.key === key)[0];\n};\n\nChartBuilder.prototype.addPreset = function addPreset(type, options) {\n ChartPresets(type, this, options);\n};\n\nChartBuilder.validateComponentKeys = function validateComponentKeys(components) {\n const keys = {};\n return components\n .map((component) => {\n const key = component.key;\n if (!key) {\n return `Missing key for component ${component.type}`;\n }\n if (keys[key]) {\n return `Duplicate key for component ${component.type}`;\n }\n keys[key] = true;\n return null;\n })\n .filter((msg) => !!msg);\n};\n\n/*\n * Factory function\n */\nChartBuilder.create = function (options) {\n return new ChartBuilder(options);\n};\n\nChartBuilder.createComponent = createComponent;\n\nexport default ChartBuilder;\n","import extend from 'extend';\n\nfunction boxMarker(settings) {\n const defaultSettings = {\n key: 'box-marker',\n type: 'box-marker',\n settings: {\n minor: { scale: 'x' },\n orientation: 'horizontal',\n },\n brush: { trigger: [], consume: [] },\n };\n return extend(true, {}, defaultSettings, settings || {});\n}\n\nexport default boxMarker;\n","import extend from 'extend';\n\nfunction pointMarker(settings) {\n const defaultSettings = {\n key: 'point-marker',\n type: 'point-marker',\n settings: {},\n brush: { trigger: [], consume: [] },\n };\n return extend(true, {}, defaultSettings, settings || {});\n}\n\nexport default pointMarker;\n","import extend from 'extend';\n\nfunction scrollbar(settings, options) {\n const isRtl = options && options.isRtl;\n const chartID = options && options.chartID;\n const isHorizontal = options && options.isHorizontal;\n const defaultSettings = {\n key: 'scrollbar',\n type: 'scrollbar',\n scroll: 'dimension',\n dock: isHorizontal ? 'bottom' : isRtl ? 'left' : 'right',\n settings: {\n backgroundColor: options.theme.getStyle(chartID, '', 'backgroundColor'),\n invert: isRtl && isHorizontal,\n },\n };\n return extend(true, {}, defaultSettings, settings || {});\n}\n\nexport default scrollbar;\n","import extend from 'extend';\n\nfunction lasso(settings, options) {\n const brushKey = options && options.brushKey;\n const brushComponents = options && options.brushComponents ? options.brushComponents : [];\n const brushData = options && options.brushData ? options.brushData : ['elemNo'];\n\n const defaultSettings = {\n type: 'brush-lasso',\n key: 'lasso',\n displayOrder: 99,\n settings: {\n brush: {\n components: [],\n },\n lasso: {\n fill: 'rgba(0, 0, 0, 0)',\n stroke: 'rgba(102,102,102,1)',\n strokeWidth: 2,\n opacity: 1,\n strokeDasharray: null, // '10, 4',\n },\n startPoint: {\n r: 10,\n fill: 'rgba(0, 152, 69, 1)',\n strokeWidth: 0,\n opacity: 1,\n },\n },\n };\n\n brushComponents.forEach((comp) => {\n defaultSettings.settings.brush.components.push({\n contexts: brushKey ? [brushKey] : undefined,\n key: comp,\n data: brushData,\n });\n });\n\n return extend(true, {}, defaultSettings, settings || {});\n}\n\nexport default lasso;\n","import extend from 'extend';\nimport rangeUtil from './util/range-util';\n\nfunction range(settings, options) {\n const brushKey = options && options.brushKey;\n const brushAxis = options && options.brushAxis;\n const brushArea = options && options.brushArea;\n const brushScale = options && options.brushScale;\n const isHorizontal = options && options.isHorizontal;\n const dock = options && options.dock;\n const isRtl = options && options.isRtl;\n\n const defaultSettings = {\n type: 'brush-range',\n key: 'range',\n displayOrder: 99,\n dock: rangeUtil.getDock(brushAxis, brushArea),\n settings: {\n brush: brushKey,\n fill: 'rgba(0, 0, 0, 0)',\n scale: brushScale,\n multiple: options && options.multiple === false ? options.multiple : true,\n direction: isHorizontal ? 'horizontal' : 'vertical',\n target: {\n component: brushAxis,\n fill: 'rgba( 82, 204, 82, 0.2 )',\n fillActive: 'rgba(82, 204, 82, 0.4)',\n },\n bubbles: {\n align: rangeUtil.getBublesAlign(isHorizontal, dock, isRtl),\n },\n },\n };\n return extend(true, {}, defaultSettings, settings || {});\n}\n\nexport default range;\n","import extend from 'extend';\nimport rangeUtil from './util/range-util';\n\nfunction rangeArea(settings, options) {\n const brushKey = options && options.brushKey;\n const brushAxis = options && options.brushAxis;\n const brushComponents = options && options.brushComponents ? options.brushComponents : [];\n const brushData = options && options.brushData ? options.brushData : ['elemNo'];\n const brushArea = options && options.brushArea;\n const isHorizontal = options && options.isHorizontal;\n const dock = options && options.dock;\n const isRtl = options && options.isRtl;\n const chartInstance = options && options.chartInstance;\n let isStartBorder = true;\n\n const defaultSettings = {\n type: 'brush-area-dir',\n key: 'area',\n displayOrder: 99,\n dock: rangeUtil.getDock(brushAxis, brushArea),\n settings: {\n brush: {\n components: [],\n },\n direction: isHorizontal ? 'horizontal' : 'vertical',\n target: {\n component: brushAxis,\n fill: 'rgba( 82, 204, 82, 0.2 )',\n fillActive: 'rgba(82, 204, 82, 0.4)',\n },\n bubbles: {\n align: rangeUtil.getBublesAlign(isHorizontal, dock, isRtl),\n label(data) {\n if (isStartBorder) {\n isStartBorder = false;\n const formattedStartValue = chartInstance\n .dataset(data.binStart.source.key)\n .field(data.binStart.source.field)\n .formatter()(data.binStart.value);\n return formattedStartValue;\n }\n isStartBorder = true;\n const formattedEndValue = chartInstance\n .dataset(data.binEnd.source.key)\n .field(data.binEnd.source.field)\n .formatter()(data.binEnd.value);\n return formattedEndValue;\n },\n },\n multiple: options && options.multiple === false ? options.multiple : true,\n },\n };\n\n brushComponents.forEach((comp) => {\n defaultSettings.settings.brush.components.push({\n contexts: brushKey ? [brushKey] : undefined,\n key: comp,\n data: brushData,\n action: 'add',\n });\n });\n\n return extend(true, {}, defaultSettings, settings || {});\n}\n\nexport default rangeArea;\n","import extend from 'extend';\n\nfunction sequentialLegend(settings, options) {\n const chartID = options && options.chartID;\n const isRtl = options && options.isRtl;\n let dock = options.dock || 'auto';\n\n if (dock === 'auto') {\n dock = options.chartHeight < options.chartWidth ? (isRtl ? 'left' : 'right') : 'bottom';\n }\n\n const titleFill = options.theme.getStyle(chartID, 'legend.title', 'color');\n const titleFontSize = options.theme.getStyle(chartID, 'legend.title', 'fontSize');\n const titleFontFamily = options.theme.getStyle(chartID, 'legend.title', 'fontFamily');\n const tickFill = options.theme.getStyle(chartID, 'legend.label', 'color');\n const tickFontSize = options.theme.getStyle(chartID, 'legend.label', 'fontSize');\n const tickFontFamily = options.theme.getStyle(chartID, 'legend.label', 'fontFamily');\n\n function getAlignValue(word) {\n switch (word) {\n case 'left':\n return 0;\n case 'right':\n return 1;\n case 'middle':\n default:\n return 0.5;\n }\n }\n\n const defaultSettings = {\n key: 'seqlegend',\n type: 'legend-seq',\n dock,\n\n // Settings to position the legend outside of the axis\n displayOrder: 200,\n minimumLayoutMode: 'MEDIUM',\n prioOrder: 0,\n\n settings: {\n align: isRtl ? getAlignValue('right') : getAlignValue('left'),\n major: {\n invert: dock === 'left' || dock === 'right' || isRtl,\n },\n title: {\n show: options.showTitle,\n fontSize: titleFontSize,\n fontFamily: titleFontFamily,\n fill: titleFill,\n },\n tick: {\n fill: tickFill,\n fontSize: tickFontSize,\n fontFamily: tickFontFamily,\n },\n },\n };\n const finalSettings = extend(true, {}, defaultSettings, settings);\n return finalSettings;\n}\n\nexport default sequentialLegend;\n","import extend from 'extend';\n\nfunction gridLine(settings, options) {\n const chartID = options && options.chartID;\n\n const axisLineStroke = options.theme.getStyle(chartID, 'grid.line.major', 'color');\n\n const defaultSettings = {\n displayOrder: -1,\n key: 'grid-line',\n type: 'grid-line',\n x: null,\n y: null,\n ticks: {\n stroke: axisLineStroke,\n },\n minorTicks: {\n stroke: axisLineStroke,\n },\n };\n\n return extend(true, {}, defaultSettings, settings || {});\n}\n\nexport default gridLine;\n","import extend from 'extend';\n\nfunction interaction(settings, options) {\n const gestures = (options && options.gestures) || [];\n const defaultSettings = {\n type: 'hammer',\n key: 'hammered',\n gestures,\n };\n return extend(true, {}, defaultSettings, settings || {});\n}\n\nexport default interaction;\n","import extend from 'extend';\n\nfunction refLine(settings, options) {\n const chartID = options && options.chartID; // Should we validate if the parameter exists?\n const oobColor = options.theme.getStyle(chartID, 'referenceLine.outOfBounds', 'color');\n const oobBackgroundColor = options.theme.getStyle(chartID, 'referenceLine.outOfBounds', 'backgroundColor');\n\n const defaultSettings = {\n key: 'ref-line',\n type: 'ref-line',\n dock: 'center',\n prioOrder: -1,\n lines: {\n x: [],\n y: [],\n },\n style: {\n oob: {\n width: 7,\n fill: oobBackgroundColor,\n text: {\n fill: oobColor,\n },\n padding: {\n x: 7,\n y: 5,\n },\n },\n },\n };\n\n return extend(true, {}, defaultSettings, settings || {});\n}\n\nexport default refLine;\n","import extend from 'extend';\n\nfunction eventArea(settings) {\n const defaultSettings = {\n type: 'event-area',\n key: 'event-area',\n };\n return extend(true, {}, defaultSettings, settings || {});\n}\n\nexport default eventArea;\n","import DimensionMeasureChart from './presets/dimension-measure-chart/dimension-measure-chart';\n\nfunction ChartPresets(type, chartBuilder, options) {\n switch (type) {\n case 'dimension-measure-chart':\n DimensionMeasureChart(chartBuilder, options);\n break;\n default:\n throw Error('There is no chart preset with that type');\n }\n}\n\nexport default ChartPresets;\n","/**\n * Configuration for disclaimers\n *\n */\n\n/**\n * Placement on chart\n */\nconst ALIGNMENT = {\n CENTER: 0,\n BOTTOM: 1,\n};\n\n/**\n * Configuration of all disclaimers\n *\n * label - key for translation\n * alignment - Placement on chart\n * default - Supported by default. If 'false' the disclaimer needs to be set to 'true' in supportedDisclaimers to be valid\n */\nconst DISCLAIMERS = [\n {\n label: 'NoDataExist',\n alignment: ALIGNMENT.CENTER,\n default: true,\n },\n {\n label: 'RequireNumericDimension',\n alignment: ALIGNMENT.CENTER,\n default: false,\n },\n {\n label: 'OnlyNanData',\n alignment: ALIGNMENT.CENTER,\n default: true,\n },\n {\n label: 'OnlyNegativeOrZeroValues',\n alignment: ALIGNMENT.CENTER,\n default: false,\n },\n {\n label: 'LimitedData',\n alignment: ALIGNMENT.BOTTOM,\n default: false,\n },\n {\n label: 'OnlyNanColor',\n alignment: ALIGNMENT.BOTTOM,\n default: false,\n },\n {\n label: 'NegativeOrZeroValues',\n alignment: ALIGNMENT.BOTTOM,\n default: false,\n },\n {\n label: 'DataRangeIncludingZero',\n alignment: ALIGNMENT.BOTTOM,\n default: false,\n },\n];\n\nexport default {\n DISCLAIMERS,\n ALIGNMENT,\n};\n","/**\n * Disclaimer utility for setting attributes needed for the disclaimer component\n *\n * @exports objects.picasso/disclaimer/disclaimer-attributes-utils\n */\nimport DisclaimersConfig from './disclaimers-config';\n\n/**\n * Checks if the data range in measures and axis spans over the value 0\n * @ignore\n * @param measureAxis\n * @param measureInfo\n * @returns {boolean} True if the data range in any measure or the given axis spans over 0\n */\nfunction hasDataRangeIncludingZero(measureAxis, measureInfo) {\n const len = measureInfo.length;\n let i;\n let explicitMinOn;\n let explicitMaxOn;\n let min;\n let max;\n if (measureAxis) {\n explicitMinOn =\n !measureAxis.autoMinMax &&\n (measureAxis.minMax === 'min' || measureAxis.minMax === 'minMax') &&\n measureAxis.min !== null &&\n !Number.isNaN(+measureAxis.min);\n explicitMaxOn =\n !measureAxis.autoMinMax &&\n (measureAxis.minMax === 'max' || measureAxis.minMax === 'minMax') &&\n measureAxis.max !== null &&\n !Number.isNaN(+measureAxis.max);\n }\n min = Number.MAX_VALUE;\n max = -Number.MAX_VALUE;\n\n // return true if data contains zero\n for (i = 0; i < len; i++) {\n min = Math.min(min, measureInfo[i].qMin);\n max = Math.max(max, measureInfo[i].qMax);\n if (min <= 0 && max >= 0) {\n return true;\n }\n }\n\n // return true if axis explicits contains zero\n min = explicitMinOn ? measureAxis.min : min;\n max = explicitMaxOn ? measureAxis.max : max;\n return min <= 0 && max >= 0;\n}\n\nfunction hasSubNodes(stackedDataPages) {\n return (\n stackedDataPages && stackedDataPages[0] && stackedDataPages[0].qData[0] && stackedDataPages[0].qData[0].qSubNodes\n );\n}\n\nconst util = {\n getNoDataExistAttribute(qHyperCube) {\n return qHyperCube.qSize.qcy * qHyperCube.qSize.qcx === 0;\n },\n\n getLimitedDataAttribute(qHyperCube, opts) {\n let result = false;\n let maxNbrOfDimensions;\n if (!qHyperCube) {\n result = opts.explicitLimitedData === true;\n } else if (opts.explicitLimitedData !== undefined) {\n result = opts.explicitLimitedData === true;\n } else if (qHyperCube.qDataPages && qHyperCube.qDataPages[0]) {\n result = !opts.paging && qHyperCube.qSize.qcy > qHyperCube.qDataPages[0].qMatrix.length;\n } else if (hasSubNodes(qHyperCube.qStackedDataPages)) {\n maxNbrOfDimensions = opts.maxNbrOfDimensions ? opts.maxNbrOfDimensions : 2;\n if (qHyperCube.qDimensionInfo.length >= maxNbrOfDimensions) {\n result = qHyperCube.qStackedDataPages[0].qData[0].qSubNodes.some((node) => node.qDown > 0);\n } else {\n result =\n qHyperCube.qStackedDataPages[0].qData[0].qSubNodes.length < qHyperCube.qStackedDataPages[0].qArea.qHeight;\n }\n }\n return result;\n },\n\n getNegativeOrZeroValuesAttribute(qHyperCube, opts) {\n return !opts.supportNegative && qHyperCube.qMeasureInfo.some((measure) => measure.qMin <= 0);\n },\n\n getOnlyNegativeOrZeroValuesAttribute(qHyperCube, opts) {\n return (\n (!opts.supportNegative &&\n qHyperCube.qMeasureInfo.every((measure) => measure.qMax <= 0 && measure.qMax >= measure.qMin)) ||\n qHyperCube.qSize.qcy === 0\n );\n },\n\n getOnlyNanDataAttribute(qHyperCube, opts) {\n if (opts.explicitOnlyNanData !== undefined) {\n return opts.explicitOnlyNanData;\n }\n\n return qHyperCube.qMeasureInfo.every((measure) => measure.qMax < measure.qMin || measure.qMax === 'NaN');\n },\n\n getDataRangeIncludingZeroAttribute(data, opts) {\n return !opts.supportRangeOverZero && hasDataRangeIncludingZero(data.measureAxis, data.qHyperCube.qMeasureInfo);\n },\n\n /**\n * Apply attributes that configures disclaimers for a charts\n * @param {Object} options - Options\n * @param {Object} data - Layout data\n * @returns {Object}\n */\n applyAttributes(options, data) {\n const opts = options || {};\n const dataAttributes = {};\n\n opts.supportNegative = opts.supportNegative === undefined ? true : opts.supportNegative;\n opts.supportRangeOverZero = opts.supportRangeOverZero === undefined ? true : opts.supportRangeOverZero;\n\n DisclaimersConfig.DISCLAIMERS.forEach((config) => {\n dataAttributes[config.label] = false;\n });\n if (!data || !data.qHyperCube) {\n return dataAttributes;\n }\n dataAttributes.NoDataExist = this.getNoDataExistAttribute(data.qHyperCube);\n if (dataAttributes.NoDataExist) {\n return dataAttributes;\n }\n dataAttributes.RequireNumericDimension = opts.explicitRequireNumericDimension;\n if (dataAttributes.RequireNumericDimension) {\n return dataAttributes;\n }\n dataAttributes.LimitedData = this.getLimitedDataAttribute(data.qHyperCube, opts);\n dataAttributes.NegativeOrZeroValues = this.getNegativeOrZeroValuesAttribute(data.qHyperCube, opts);\n dataAttributes.OnlyNegativeOrZeroValues = this.getOnlyNegativeOrZeroValuesAttribute(data.qHyperCube, opts);\n dataAttributes.OnlyNanData = this.getOnlyNanDataAttribute(data.qHyperCube, opts);\n dataAttributes.DataRangeIncludingZero = this.getDataRangeIncludingZeroAttribute(data, opts);\n\n return dataAttributes;\n },\n};\nexport default util;\n","/**\n * Helper for disclaimer component\n *\n */\n\n/**\n * Create new Helper for disclaimer\n * @param disclaimersConfig {Array} List of disclaimer config objects\n * @param dataAttributes {Object} Config for which disclaimers that are valid to show\n * @param supportedDisclaimers {Object} Config for which disclaimers that are supported\n * @constructor\n */\nfunction Helper(disclaimersConfig, dataAttributes, supportedDisclaimers) {\n this.disclaimersConfig = disclaimersConfig;\n this.dataAttributes = dataAttributes;\n this.supportedDisclaimers = supportedDisclaimers;\n}\n\nfunction isValid(label, list) {\n return label && list && list[label];\n}\n\n/**\n * Returns true if disclaimer config is valid, supported and has an alignment\n * @param disclaimer {Object} Configuration for a disclaimer\n * @param alignment {Integer} Alignment value in disclaimers config\n * @returns {Boolean}\n */\nHelper.prototype.isValidAndSupported = function (disclaimer, alignment) {\n return (\n isValid(disclaimer.label, this.dataAttributes) &&\n (disclaimer.default || isValid(disclaimer.label, this.supportedDisclaimers)) &&\n alignment !== undefined &&\n disclaimer.alignment === alignment\n );\n};\n\n/**\n * Returns true if there are any valid disclaimers for an alignment\n * @param alignment {Integer} Alignment value in disclaimers config\n * @returns {Boolean}\n */\nHelper.prototype.isAnyValidDisclaimer = function (alignment) {\n let result = false;\n const self = this;\n this.disclaimersConfig.forEach((config) => {\n if (self.isValidAndSupported(config, alignment)) {\n result = true;\n }\n });\n return result;\n};\n\n/**\n * Gets all translated disclaimer messages for an alignment\n * @param alignment {Integer} Alignment value in disclaimers config\n * @param translator {Object} Translator component\n * @returns {string}\n */\nHelper.prototype.getMessage = function (alignment, translator) {\n let str = '';\n const self = this;\n if (translator) {\n this.disclaimersConfig.forEach((config) => {\n if (self.isValidAndSupported(config, alignment)) {\n str += `${translator.get(`Object.Disclaimer.${config.label}`)} `;\n }\n });\n }\n return str;\n};\n\nexport default Helper;\n","/**\n * Disclaimer component for Picasso base charts\n *\n * @exports objects.picasso/disclaimer/disclaimer\n */\n\nimport extend from 'extend';\nimport DisclaimersConfig from './disclaimers-config';\nimport AttributesUtil from './disclaimer-attributes-util';\nimport DisclaimerComponentHelper from './disclaimer-component-helper';\n\nDisclaimer.ERRORS = {\n SET: 'Calling Disclaimer.set() without attributes',\n DISPLAY: 'Calling Disclaimer.display() before attributes are applied',\n};\n\n/**\n * Create new disclaimer component\n * @param {Object} options - A reference to chart options\n * @constructor\n */\nfunction Disclaimer(environment) {\n this.environment = environment;\n this.clear();\n}\n\nDisclaimer._applyDefaultSupport = function (supportedDisclaimers, disclaimersConfig) {\n let supported = supportedDisclaimers;\n if (!supported) {\n supported = {};\n }\n disclaimersConfig.forEach((config) => {\n if (supported[config.label] === undefined) {\n supported[config.label] = config.default;\n }\n });\n return supported;\n};\n\nDisclaimer.prototype.getComponentSettings = function () {\n const { translator } = this.environment;\n const supportedDisclaimers = extend(true, {}, this.vizAttributes.supportedDisclaimers);\n const helper = new DisclaimerComponentHelper(\n DisclaimersConfig.DISCLAIMERS,\n this.dataAttributes,\n supportedDisclaimers\n );\n\n let message;\n let dock;\n if (helper.isAnyValidDisclaimer(DisclaimersConfig.ALIGNMENT.CENTER)) {\n message = helper.getMessage(DisclaimersConfig.ALIGNMENT.CENTER, translator);\n dock = 'center';\n } else if (helper.isAnyValidDisclaimer(DisclaimersConfig.ALIGNMENT.BOTTOM)) {\n message = helper.getMessage(DisclaimersConfig.ALIGNMENT.BOTTOM, translator);\n dock = 'bottom';\n } else {\n return undefined;\n }\n\n return {\n key: 'disclaimer',\n type: 'disclaimer',\n layout: {\n displayOrder: 1000,\n dock,\n },\n settings: {\n label: message,\n rtl: this.environment?.options?.direction === 'rtl',\n },\n };\n};\n\n/**\n * Set attributes that configures disclaimers for a charts\n * @param {Object} attributes - Disclaimer settings for a chart\n */\nDisclaimer.prototype.set = function (attributes) {\n this.clear();\n if (attributes) {\n this.vizAttributes = attributes;\n this.dataAttributes = AttributesUtil.applyAttributes(this.vizAttributes.options, this.vizAttributes.data);\n } else {\n throw new Error(Disclaimer.ERRORS.SET);\n }\n};\n\n/**\n * Clears disclaimer settings\n */\nDisclaimer.prototype.clear = function () {\n this.vizAttributes = null;\n this.dataAttributes = null;\n};\n\nexport default Disclaimer;\n","import extend from 'extend';\nimport { getValue } from 'qlik-chart-modules';\n\nimport Class from '../extra/class';\nimport ChartBuilder from './chart-builder/chart-builder';\nimport Disclaimer from './disclaimer/disclaimer';\n\nfunction getData(backendApi, hyperCube, rect) {\n let page = {\n qTop: 0,\n qLeft: 0,\n qWidth: hyperCube.qSize.qcx,\n qHeight: 10000 / hyperCube.qSize.qcx,\n };\n let dataPagesPath;\n\n if (rect) {\n const width = rect.width || hyperCube.qSize.qcx;\n const maxHeight = Math.floor(10000 / width);\n page = {\n qTop: rect.top || 0,\n qLeft: rect.left || 0,\n qWidth: width,\n qHeight: rect.height ? Math.min(rect.height, maxHeight) : maxHeight,\n };\n } else {\n page = {\n qTop: 0,\n qLeft: 0,\n qWidth: hyperCube.qSize.qcx,\n qHeight: 10000 / hyperCube.qSize.qcx,\n };\n }\n\n switch (hyperCube.qMode) {\n case 'K': // Stacked mode\n dataPagesPath = 'qStackedDataPages';\n break;\n case 'S': // Straight table mode\n default:\n dataPagesPath = 'qDataPages';\n break;\n }\n\n return backendApi.getData([page], null, hyperCube).then((pages) => {\n hyperCube[dataPagesPath] = pages;\n });\n}\n\nconst ChartView = Class.extend({\n init(picasso, $element, environment, backendApi, selectionsApi) {\n this.$element = $element;\n this.environment = environment;\n this.backendApi = backendApi;\n\n this._selectionsApi = selectionsApi;\n this._on = false;\n this._disclaimer = new Disclaimer(environment);\n this._dataPaths = ['qHyperCube'];\n\n const self = this;\n\n // Set properties that should be available in subclasses\n\n this.picassoElement = $element[0];\n this.picassoElement.className += ' picasso-chart';\n\n // Paint a visually empty Picasso chart containing an event-area component\n this.chartInstance = picasso.chart({\n element: this.picassoElement,\n settings: {\n components: [\n ChartBuilder.createComponent('event-area', {\n mounted(element) {\n // Mounted is run synchronously so this.dataAreaElem will be available in subclass constructors\n self.dataAreaElem = element;\n },\n }),\n ],\n },\n });\n },\n\n updateEnvironment(environment) {\n this.environment = environment;\n },\n\n isRtl() {\n return this.environment.options?.direction === 'rtl';\n },\n\n setDataPaths(dataPaths) {\n this._dataPaths = dataPaths;\n },\n\n getData(backendApi, hyperCube, rect) {\n return getData(backendApi, hyperCube, rect);\n },\n\n hasValidData() {\n return true;\n },\n\n paint() {\n // Use this.layout\n if (this.hasValidData()) {\n this._disclaimer.set(this.getDisclaimerAttributes(this.layout));\n const disclaimerComponent = this._disclaimer.getComponentSettings();\n const isSuppressingDisc = disclaimerComponent?.layout?.dock === 'center';\n\n const chartSettings = this.createChartSettings(this.layout);\n if (isSuppressingDisc) {\n chartSettings.components = [disclaimerComponent];\n } else if (disclaimerComponent) {\n chartSettings.components.push(disclaimerComponent);\n }\n ChartBuilder.validateComponentKeys(chartSettings.components).forEach((errorMsg) => {\n console.error(errorMsg);\n });\n\n this.updateChart(this.layout, chartSettings);\n this._painted = true;\n }\n return Promise.resolve();\n },\n\n resize() {\n // Use this.layout\n if (!this.layout) {\n // There are cases where resize is run before updateData, therefore layout is undefined\n return undefined;\n }\n return this.paint();\n },\n\n createChartSettings() {\n throw new Error('Subclass must implement \"createChartSettings\" function');\n },\n\n addSnapshotChartSettings(settings, layout) {\n const { freeResize } = this.environment.options;\n if (!freeResize && layout.snapshotData) {\n settings.dockLayout.logicalSize = {\n width: layout.snapshotData.content.size.w,\n height: layout.snapshotData.content.size.h,\n preserveAspectRatio: true,\n };\n }\n },\n\n updateData(layout) {\n // clone the layout so that updates ignored by suppressOnPaint does not affect it.\n if (this._destroyed) {\n return Promise.reject();\n }\n\n this.layout = extend(true, {}, layout);\n this.layout.permissions = layout.permissions;\n return Promise.resolve();\n },\n\n updateChart(layout, settings, isPartialData) {\n const localeInfo = this.environment.appLayout?.qLocaleInfo ?? {};\n const data = this._dataPaths.map((path) => ({\n type: 'q',\n key: path,\n config: {\n localeInfo,\n },\n data: getValue(layout, path.replace(/\\//g, '.')),\n }));\n if (this.colorService) {\n data.push(...this.colorService.getData());\n }\n\n this.chartInstance.update({\n data,\n settings,\n partialData: isPartialData,\n });\n\n const STATE_DATA_UPDATED = 2;\n this.picassoElement.setAttribute('data-state', STATE_DATA_UPDATED); // For integration test\n },\n\n destroy() {\n this._destroyed = true;\n this.off();\n this.chartInstance.destroy();\n },\n\n getViewState() {\n return {};\n },\n\n isLassoDisabled() {\n return true;\n },\n\n setSnapshotData(snapshotLayout) {\n if (!snapshotLayout.snapshotData) {\n snapshotLayout.snapshotData = {};\n }\n snapshotLayout.snapshotData.content = {\n // eslint-disable-line no-param-reassign\n chartData: {},\n size: {\n w: this.$element.width(),\n h: this.$element.height(),\n },\n };\n },\n\n getDisclaimerAttributes(layout) {\n return {\n data: layout,\n };\n },\n});\n\nexport default ChartView;\n","const colorStruct = {\n aliceblue: { r: 240, g: 248, b: 255 },\n antiquewhite: { r: 250, g: 235, b: 215 },\n aqua: { r: 0, g: 255, b: 255 },\n aquamarine: { r: 127, g: 255, b: 212 },\n azure: { r: 240, g: 255, b: 255 },\n beige: { r: 245, g: 245, b: 220 },\n bisque: { r: 255, g: 228, b: 196 },\n black: { r: 0, g: 0, b: 0 },\n blanchedalmond: { r: 255, g: 235, b: 205 },\n blue: { r: 0, g: 0, b: 255 },\n blueviolet: { r: 138, g: 43, b: 226 },\n brown: { r: 165, g: 42, b: 42 },\n burlywood: { r: 222, g: 184, b: 135 },\n cadetblue: { r: 95, g: 158, b: 160 },\n chartreuse: { r: 127, g: 255, b: 0 },\n chocolate: { r: 210, g: 105, b: 30 },\n coral: { r: 255, g: 127, b: 80 },\n cornflowerblue: { r: 100, g: 149, b: 237 },\n cornsilk: { r: 255, g: 248, b: 220 },\n crimson: { r: 220, g: 20, b: 60 },\n cyan: { r: 0, g: 255, b: 255 },\n darkblue: { r: 0, g: 0, b: 139 },\n darkcyan: { r: 0, g: 139, b: 139 },\n darkgoldenrod: { r: 184, g: 134, b: 11 },\n darkgray: { r: 169, g: 169, b: 169 },\n darkgreen: { r: 0, g: 100, b: 0 },\n darkgrey: { r: 169, g: 169, b: 169 },\n darkkhaki: { r: 189, g: 183, b: 107 },\n darkmagenta: { r: 139, g: 0, b: 139 },\n darkolivegreen: { r: 85, g: 107, b: 47 },\n darkorange: { r: 255, g: 140, b: 0 },\n darkorchid: { r: 153, g: 50, b: 204 },\n darkred: { r: 139, g: 0, b: 0 },\n darksalmon: { r: 233, g: 150, b: 122 },\n darkseagreen: { r: 143, g: 188, b: 143 },\n darkslateblue: { r: 72, g: 61, b: 139 },\n darkslategray: { r: 47, g: 79, b: 79 },\n darkslategrey: { r: 47, g: 79, b: 79 },\n darkturquoise: { r: 0, g: 206, b: 209 },\n darkviolet: { r: 148, g: 0, b: 211 },\n deeppink: { r: 255, g: 20, b: 147 },\n deepskyblue: { r: 0, g: 191, b: 255 },\n dimgray: { r: 105, g: 105, b: 105 },\n dimgrey: { r: 105, g: 105, b: 105 },\n dodgerblue: { r: 30, g: 144, b: 255 },\n firebrick: { r: 178, g: 34, b: 34 },\n floralwhite: { r: 255, g: 250, b: 240 },\n forestgreen: { r: 34, g: 139, b: 34 },\n fuchsia: { r: 255, g: 0, b: 255 },\n gainsboro: { r: 220, g: 220, b: 220 },\n ghostwhite: { r: 248, g: 248, b: 255 },\n gold: { r: 255, g: 215, b: 0 },\n goldenrod: { r: 218, g: 165, b: 32 },\n gray: { r: 128, g: 128, b: 128 },\n green: { r: 0, g: 128, b: 0 },\n greenyellow: { r: 173, g: 255, b: 47 },\n grey: { r: 128, g: 128, b: 128 },\n honeydew: { r: 240, g: 255, b: 240 },\n hotpink: { r: 255, g: 105, b: 180 },\n indianred: { r: 205, g: 92, b: 92 },\n indigo: { r: 75, g: 0, b: 130 },\n ivory: { r: 255, g: 255, b: 240 },\n khaki: { r: 240, g: 230, b: 140 },\n lavender: { r: 230, g: 230, b: 250 },\n lavenderblush: { r: 255, g: 240, b: 245 },\n lawngreen: { r: 124, g: 252, b: 0 },\n lemonchiffon: { r: 255, g: 250, b: 205 },\n lightblue: { r: 173, g: 216, b: 230 },\n lightcoral: { r: 240, g: 128, b: 128 },\n lightcyan: { r: 224, g: 255, b: 255 },\n lightgoldenrodyellow: { r: 250, g: 250, b: 210 },\n lightgray: { r: 211, g: 211, b: 211 },\n lightgreen: { r: 144, g: 238, b: 144 },\n lightgrey: { r: 211, g: 211, b: 211 },\n lightpink: { r: 255, g: 182, b: 193 },\n lightsalmon: { r: 255, g: 160, b: 122 },\n lightseagreen: { r: 32, g: 178, b: 170 },\n lightskyblue: { r: 135, g: 206, b: 250 },\n lightslategray: { r: 119, g: 136, b: 153 },\n lightslategrey: { r: 119, g: 136, b: 153 },\n lightsteelblue: { r: 176, g: 196, b: 222 },\n lightyellow: { r: 255, g: 255, b: 224 },\n lime: { r: 0, g: 255, b: 0 },\n limegreen: { r: 50, g: 205, b: 50 },\n linen: { r: 250, g: 240, b: 230 },\n magenta: { r: 255, g: 0, b: 255 },\n maroon: { r: 128, g: 0, b: 0 },\n mediumaquamarine: { r: 102, g: 205, b: 170 },\n mediumblue: { r: 0, g: 0, b: 205 },\n mediumorchid: { r: 186, g: 85, b: 211 },\n mediumpurple: { r: 147, g: 112, b: 219 },\n mediumseagreen: { r: 60, g: 179, b: 113 },\n mediumslateblue: { r: 123, g: 104, b: 238 },\n mediumspringgreen: { r: 0, g: 250, b: 154 },\n mediumturquoise: { r: 72, g: 209, b: 204 },\n mediumvioletred: { r: 199, g: 21, b: 133 },\n midnightblue: { r: 25, g: 25, b: 112 },\n mintcream: { r: 245, g: 255, b: 250 },\n mistyrose: { r: 255, g: 228, b: 225 },\n moccasin: { r: 255, g: 228, b: 181 },\n navajowhite: { r: 255, g: 222, b: 173 },\n navy: { r: 0, g: 0, b: 128 },\n oldlace: { r: 253, g: 245, b: 230 },\n olive: { r: 128, g: 128, b: 0 },\n olivedrab: { r: 107, g: 142, b: 35 },\n orange: { r: 255, g: 165, b: 0 },\n orangered: { r: 255, g: 69, b: 0 },\n orchid: { r: 218, g: 112, b: 214 },\n palegoldenrod: { r: 238, g: 232, b: 170 },\n palegreen: { r: 152, g: 251, b: 152 },\n paleturquoise: { r: 175, g: 238, b: 238 },\n palevioletred: { r: 219, g: 112, b: 147 },\n papayawhip: { r: 255, g: 239, b: 213 },\n peachpuff: { r: 255, g: 218, b: 185 },\n peru: { r: 205, g: 133, b: 63 },\n pink: { r: 255, g: 192, b: 203 },\n plum: { r: 221, g: 160, b: 221 },\n powderblue: { r: 176, g: 224, b: 230 },\n purple: { r: 128, g: 0, b: 128 },\n red: { r: 255, g: 0, b: 0 },\n rosybrown: { r: 188, g: 143, b: 143 },\n royalblue: { r: 65, g: 105, b: 225 },\n saddlebrown: { r: 139, g: 69, b: 19 },\n salmon: { r: 250, g: 128, b: 114 },\n sandybrown: { r: 244, g: 164, b: 96 },\n seagreen: { r: 46, g: 139, b: 87 },\n seashell: { r: 255, g: 245, b: 238 },\n sienna: { r: 160, g: 82, b: 45 },\n silver: { r: 192, g: 192, b: 192 },\n skyblue: { r: 135, g: 206, b: 235 },\n slateblue: { r: 106, g: 90, b: 205 },\n slategray: { r: 112, g: 128, b: 144 },\n slategrey: { r: 112, g: 128, b: 144 },\n snow: { r: 255, g: 250, b: 250 },\n springgreen: { r: 0, g: 255, b: 127 },\n steelblue: { r: 70, g: 130, b: 180 },\n tan: { r: 210, g: 180, b: 140 },\n teal: { r: 0, g: 128, b: 128 },\n thistle: { r: 216, g: 191, b: 216 },\n tomato: { r: 255, g: 99, b: 71 },\n transparent: {\n r: 255,\n g: 255,\n b: 255,\n a: 0,\n },\n turquoise: { r: 64, g: 224, b: 208 },\n violet: { r: 238, g: 130, b: 238 },\n wheat: { r: 245, g: 222, b: 179 },\n white: { r: 255, g: 255, b: 255 },\n whitesmoke: { r: 245, g: 245, b: 245 },\n yellow: { r: 255, g: 255, b: 0 },\n yellowgreen: { r: 154, g: 205, b: 50 },\n};\n\nexport default colorStruct;\n","/* eslint-disable camelcase */\n/* eslint-disable no-bitwise */\n/* eslint-disable no-nested-ternary */\n/* eslint-disable no-cond-assign */\n/* eslint-disable prefer-rest-params */\n\n/**\n * Module which defines a color object\n * @exports objects.views/charts/representation/color\n * @expose module:objects.views/charts/representation/color~Color\n */\nimport Class from './class';\nimport CSSColors from './css-colors';\n\n// color formats\nconst rgb = /^rgb\\((\\d{1,3}),(\\d{1,3}),(\\d{1,3})\\)$/i;\n\nconst rgba = /^rgba\\((\\d{1,3}),(\\d{1,3}),(\\d{1,3}),(\\d(\\.\\d+)?)\\)$/i;\nconst hex = /^#([A-f0-9]{2})([A-f0-9]{2})([A-f0-9]{2})$/i;\nconst hexShort = /^#([A-f0-9])([A-f0-9])([A-f0-9])$/i;\nconst hsl = /^hsl\\(\\s*(\\d+(\\.\\d+)?)\\s*,\\s*(\\d+(\\.\\d+)?%?)\\s*,\\s*(\\d+(\\.\\d+)?%?)\\s*\\)$/i;\nconst hsla = /^hsla\\(\\s*(\\d+(\\.\\d+)?)\\s*,\\s*(\\d+(\\.\\d+)?%?)\\s*,\\s*(\\d+(\\.\\d+)?%?)\\s*,(\\d(\\.\\d+)?)\\)$/i;\nconst floor = Math.floor;\nconst round = Math.round;\n\n/**\n * @class\n * @classdesc Class which provides color transformation functionality\n * @description This is a constructor.\n * @param {object} - Parameters to create a color from different notations\n * @example\n * // a few ways of instantiating a red color\n * var red;\n * red = new Color(255, 0, 0, 1); // rgba as parameters\n * red = new Color('#ff0000'); // hex\n * red = new Color('rgb(255,0,0)');//rgb as string\n * red = new Color('hsl(0, 100, 50)');// hsl as string\n * red = new Color(16711680);// uint\n */\nconst Color = Class.extend(\n /** @lends module:objects.views/charts/representation/color~Color# */ {\n init() {\n let r = 0;\n let g = 0;\n let b = 0;\n let a = 1;\n let h;\n let s;\n let lcs;\n let l;\n let v;\n let c;\n let h_;\n let x;\n let rgb_;\n let m;\n let matches;\n let colorString;\n\n this._invalid = false;\n\n if (arguments[0] instanceof Color) {\n r = arguments[0]._r;\n g = arguments[0]._g;\n b = arguments[0]._b;\n a = arguments[0]._a;\n this._invalid = arguments[0]._invalid;\n } else if (arguments.length < 3) {\n if (typeof arguments[0] === 'string') {\n colorString = arguments[0];\n\n if ((matches = /^rgb\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*\\)$/i.exec(colorString))) {\n r = parseInt(matches[1], 10);\n g = parseInt(matches[2], 10);\n b = parseInt(matches[3], 10);\n } else if (\n (matches = /^rgba\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d(\\.\\d+)?)\\s*\\)$/i.exec(\n colorString\n ))\n ) {\n // rgba(1, 2, 3, 0.4)\n r = parseInt(matches[1], 10);\n g = parseInt(matches[2], 10);\n b = parseInt(matches[3], 10);\n a = parseFloat(matches[4]);\n } else if ((matches = /^#([A-f0-9]{2})([A-f0-9]{2})([A-f0-9]{2})$/i.exec(colorString))) {\n // #aBc123\n r = parseInt(matches[1], 16);\n g = parseInt(matches[2], 16);\n b = parseInt(matches[3], 16);\n a = 1;\n } else if ((matches = /^#([A-f0-9])([A-f0-9])([A-f0-9])$/i.exec(colorString))) {\n // #a5F\n r = parseInt(matches[1] + matches[1], 16);\n g = parseInt(matches[2] + matches[2], 16);\n b = parseInt(matches[3] + matches[3], 16);\n a = 1;\n } else if (\n (matches = /^hsl\\(\\s*(\\d+(\\.\\d+)?)\\s*,\\s*(\\d+(\\.\\d+)?%?)\\s*,\\s*(\\d+(\\.\\d+)?%?)\\s*\\)$/i.exec(colorString))\n ) {\n // hsl(1, 2, 3)\n h = parseFloat(matches[1]);\n s = parseFloat(matches[3]);\n l = parseFloat(matches[5]);\n\n h %= 360;\n s /= 100;\n l /= 100;\n\n h = h < 0 ? 0 : h > 360 ? 360 : h;\n s = s < 0 ? 0 : s > 1 ? 1 : s;\n l = l < 0 ? 0 : l > 1 ? 1 : l;\n\n c = l <= 0.5 ? 2 * l * s : (2 - 2 * l) * s;\n h_ = h / 60;\n x = c * (1 - Math.abs((h_ % 2) - 1));\n\n rgb_ = [];\n\n h_ = Math.floor(h_);\n switch (h_) {\n case 0:\n rgb_ = [c, x, 0];\n break;\n case 1:\n rgb_ = [x, c, 0];\n break;\n case 2:\n rgb_ = [0, c, x];\n break;\n case 3:\n rgb_ = [0, x, c];\n break;\n case 4:\n rgb_ = [x, 0, c];\n break;\n case 5:\n rgb_ = [c, 0, x];\n break;\n default:\n rgb_ = [0, 0, 0];\n }\n\n m = l - 0.5 * c;\n\n r = rgb_[0] + m;\n g = rgb_[1] + m;\n b = rgb_[2] + m;\n\n r = round(255 * r);\n g = round(255 * g);\n b = round(255 * b);\n a = 1.0;\n } else if (\n (matches = /^hsla\\(\\s*(\\d+(\\.\\d+)?)\\s*,\\s*(\\d+(\\.\\d+)?%?)\\s*,\\s*(\\d+(\\.\\d+)?%?)\\s*,(\\d(\\.\\d+)?)\\)$/i.exec(\n colorString\n ))\n ) {\n // hsla(1,2,3,0.4)\n h = parseFloat(matches[1]);\n s = parseFloat(matches[3]);\n l = parseFloat(matches[5]);\n a = parseFloat(matches[7]);\n\n h %= 360;\n s /= 100;\n l /= 100;\n\n h = h < 0 ? 0 : h > 360 ? 360 : h;\n s = s < 0 ? 0 : s > 1 ? 1 : s;\n l = l < 0 ? 0 : l > 1 ? 1 : l;\n\n c = l <= 0.5 ? 2 * l * s : (2 - 2 * l) * s;\n h_ = h / 60;\n x = c * (1 - Math.abs((h_ % 2) - 1));\n\n rgb_ = [];\n\n h_ = Math.floor(h_);\n switch (h_) {\n case 0:\n rgb_ = [c, x, 0];\n break;\n case 1:\n rgb_ = [x, c, 0];\n break;\n case 2:\n rgb_ = [0, c, x];\n break;\n case 3:\n rgb_ = [0, x, c];\n break;\n case 4:\n rgb_ = [x, 0, c];\n break;\n case 5:\n rgb_ = [c, 0, x];\n break;\n default:\n rgb_ = [0, 0, 0];\n }\n\n m = l - 0.5 * c;\n\n r = rgb_[0] + m;\n g = rgb_[1] + m;\n b = rgb_[2] + m;\n\n r = round(255 * r);\n g = round(255 * g);\n b = round(255 * b);\n } else if (\n (matches = /^hsv\\(\\s*(\\d+(\\.\\d+)?)\\s*,\\s*(\\d+(\\.\\d+)?%?)\\s*,\\s*(\\d+(\\.\\d+)?%?)\\s*\\)$/i.exec(colorString))\n ) {\n // hsv(1, 2, 3) {\n h = parseFloat(matches[1]);\n s = parseFloat(matches[3]);\n v = parseFloat(matches[5]);\n\n h %= 360;\n s /= 100;\n v /= 100;\n\n h = h < 0 ? 0 : h > 360 ? 360 : h;\n s = s < 0 ? 0 : s > 1 ? 1 : s;\n v = v < 0 ? 0 : v > 1 ? 1 : v;\n\n c = v * s;\n h_ = h / 60;\n x = c * (1 - Math.abs((h_ % 2) - 1));\n\n rgb_ = [];\n\n h_ = Math.floor(h_);\n switch (h_) {\n case 0:\n rgb_ = [c, x, 0];\n break;\n case 1:\n rgb_ = [x, c, 0];\n break;\n case 2:\n rgb_ = [0, c, x];\n break;\n case 3:\n rgb_ = [0, x, c];\n break;\n case 4:\n rgb_ = [x, 0, c];\n break;\n case 5:\n rgb_ = [c, 0, x];\n break;\n default:\n rgb_ = [0, 0, 0];\n }\n\n m = v - c;\n\n r = rgb_[0] + m;\n g = rgb_[1] + m;\n b = rgb_[2] + m;\n\n r = round(255 * r);\n g = round(255 * g);\n b = round(255 * b);\n a = 1.0;\n } else if (CSSColors[colorString.toLowerCase()]) {\n lcs = colorString.toLowerCase();\n r = CSSColors[lcs].r;\n g = CSSColors[lcs].g;\n b = CSSColors[lcs].b;\n a = typeof CSSColors[lcs].a === 'number' ? CSSColors[lcs].a : 1.0;\n } else {\n this._invalid = true;\n }\n } else if (typeof arguments[0] === 'number' && arguments[0] >= 0 && arguments[1] === 'argb') {\n a = (0xff000000 & arguments[0]) >>> 24;\n a /= 255;\n r = (0xff0000 & arguments[0]) >> 16;\n g = (0x00ff00 & arguments[0]) >> 8;\n b = 0x0000ff & arguments[0];\n } else if (typeof arguments[0] === 'number' && arguments[0] >= 0) {\n r = (0xff0000 & arguments[0]) >> 16;\n g = (0x00ff00 & arguments[0]) >> 8;\n b = 0x0000ff & arguments[0];\n } else {\n this._invalid = true;\n }\n } else if (arguments.length >= 3) {\n r = arguments[0];\n g = arguments[1];\n b = arguments[2];\n a = arguments.length >= 4 ? arguments[3] : 1;\n } else {\n this._invalid = true;\n }\n\n if (Number.isNaN(+r + g + b + a)) {\n this._invalid = true;\n }\n\n this._r = floor(r);\n this._g = floor(g);\n this._b = floor(b);\n this._a = a;\n\n // object to cache string representations in various color spaces\n this._spaces = {};\n },\n isInvalid() {\n return this._invalid;\n },\n /**\n * Sets alpha value of color\n * @param {number} a - Alpha value of the color\n */\n setAlpha(a) {\n this._a = a;\n this._spaces = {};\n },\n /**\n * Gets the alpha value of this color\n * @returns {number}\n */\n getAlpha() {\n return this._a;\n },\n /**\n * Returns an rgb string representation of this color.\n * @return {string} An rgb string representation of this color\n */\n toRGB: function toRGB() {\n if (!this._spaces.rgb) {\n this._spaces.rgb = Color.toRGB(this);\n }\n return this._spaces.rgb;\n },\n /**\n * Returns an rgba string representation of this color.\n * @return {string} An rgba string representation of this color.\n */\n toRGBA: function toRGBA() {\n if (!this._spaces.rgba) {\n this._spaces.rgba = Color.toRGBA(this);\n }\n return this._spaces.rgba;\n },\n toString() {\n if (!this._spaces.rgb) {\n this._spaces.rgb = Color.toRGB(this);\n }\n return this._spaces.rgb;\n },\n /**\n * Returns a hex string representation of this color.\n * @return {string}\n */\n toHex: function toHex() {\n if (!this._spaces.hex) {\n this._spaces.hex = Color.toHex(this);\n }\n return this._spaces.hex;\n },\n /**\n * Returns a hsl string representation of this color using \"bi-hexcone\" model for lightness\n * @param {boolean} luma - Whether to use luma calculation\n * @return {string} In format hsl(0,0,0)\n */\n toHSL: function toHSL(luma) {\n if (!this._spaces.hsl) {\n this._spaces.hsl = Color.toHSL(this, luma);\n }\n return this._spaces.hsl;\n },\n /**\n * Returns a hsla string representation of this color using \"bi-hexcone\" model for lightness\n * @param {boolean} luma - Whether to use luma calculation\n * @return {string} In format hsla(0,0,0,0)\n */\n toHSLA: function toHSLA(luma) {\n if (!this._spaces.hsla) {\n this._spaces.hsla = Color.toHSLA(this, luma);\n }\n return this._spaces.hsla;\n },\n /**\n * Return the color components in hsv space using \"hexcone\" model for value (lightness)\n * @param {Color|string} c\n * @returns {object} The color components in hsv space {h:0-360, s:0-100, v:0-100}\n */\n toHSV() {\n const hsvComp = this.toHSVComponents();\n return `hsv(${hsvComp.h},${hsvComp.s},${hsvComp.v})`;\n },\n /**\n * Return the color components in hsv space using \"hexcone\" model for value (lightness)\n * @param {Color|string} c\n * @returns {object} The color components in hsv space {h:0-360, s:0-100, v:0-100}\n */\n toHSVComponents: function toHSVComponents() {\n if (!this._spaces.hsvComp) {\n this._spaces.hsvComp = Color.toHSVComponents(this);\n }\n return this._spaces.hsvComp;\n },\n /**\n * Returns a uint representation of this color\n * @return {number}\n */\n toNumber: function toNumber() {\n if (!this._spaces.num) {\n this._spaces.num = Color.toNumber(this);\n }\n return this._spaces.num;\n },\n /**\n * Checks if this color is perceived as dark.\n * @return {string} True if the luminance is below 160, false otherwise.\n */\n isDark() {\n return this.isInvalid() || this.getLuminance() < 125; // luminace calc option #2\n // return this.getLuminance() < 160; //luminace calc option #3\n },\n /**\n * Calculates the perceived luminance of the color.\n * @return {number} A value in the range 0-255 where a low value is considered dark and vice versa.\n */\n getLuminance() {\n // alpha channel is not considered\n if (typeof this._lumi === 'undefined') {\n // calculate luminance\n // this._lumi = 0.2126 * this._r + 0.7152 * this._g + 0.0722 * this._b; // option 1\n this._lumi = 0.299 * this._r + 0.587 * this._g + 0.114 * this._b; // option 2\n // this._lumi = Math.sqrt( 0.241 * this._r * this._r + 0.691 * this._g * this._g + 0.068 * this._b * this._b ); // option 3\n }\n\n return this._lumi;\n },\n /**\n * Shifts the color towards a lighter or darker shade\n * @param {number} value - A value in the range -100-100 to shift the color with along the HSL lightness.\n * @return {string} The shifted color as hsla string.\n */\n shiftLuminance(value) {\n const chsla = this.toHSLA();\n const matches = /^hsla\\(\\s*(\\d+(\\.\\d+)?)\\s*,\\s*(\\d+(\\.\\d+)?%?)\\s*,\\s*(\\d+(\\.\\d+)?%?)\\s*,(\\d(\\.\\d+)?)\\)$/i.exec(\n chsla\n );\n\n const h = parseFloat(matches[1]);\n const s = parseFloat(matches[3]);\n let l = parseFloat(matches[5]);\n const a = parseFloat(matches[7]);\n // l *= 1 + value / 100;\n // l = Math.max( 0, l % 100 );\n l += value;\n l = Math.max(0, Math.min(l, 100));\n\n // if( value > 0 ){\n // s = s*0.2; //removing saturation to avoid the border from being too light\n // }\n\n return `hsla(${h},${s},${l},${a})`;\n },\n /**\n * Compares two colors.\n * @param {Color} c The color to compare with.\n * @return {boolean} True if the rgb channels are the same, false otherwise\n */\n isEqual(c) {\n if (c instanceof Color) {\n return this._r === c._r && this._g === c._g && this._b === c._b;\n }\n\n c = new Color(c);\n return this._r === c._r && this._g === c._g && this._b === c._b;\n },\n /**\n * Linearly interpolates each channel of two colors.\n * @param {Color} c2 The other color.\n * @param {number} t The interpolation value in the range (0-1).\n * @return {string} The blend as an rgb string.\n */\n blend(c2, t) {\n const r = floor(this._r + (c2._r - this._r) * t);\n const g = floor(this._g + (c2._g - this._g) * t);\n const b = floor(this._b + (c2._b - this._b) * t);\n const a = floor(this._a + (c2._a - this._a) * t);\n\n return `rgba(${[r, g, b, a].join(',')})`;\n },\n\n createShiftedColor(v) {\n if (v === undefined || Number.isNaN(+v)) {\n v = 1;\n }\n const lumi = this.getLuminance();\n const greenMultiplier = this._g < 126 ? 1 : 1 + this._g / 512;\n const hsla_string = this.shiftLuminance(\n (lumi * greenMultiplier < 220 ? 0.8 + 4 * (1 / (lumi + 1)) : -(0.8 + 1 * (lumi / 255))) * 20 * v\n );\n\n return new Color(hsla_string);\n },\n }\n);\n\n/**\n * Returns an rgb string representation of this color\n * @param {Color|string} c\n * @returns {string} An rgb string with channel values within range 0-255.\n */\nColor.toRGB = function toRGB(c) {\n if (c instanceof Color) {\n return `rgb(${[c._r, c._g, c._b].join(',')})`;\n }\n\n if (typeof c === 'string') {\n c = Color.toNumber(c);\n }\n\n const r = (c & 0xff0000) >> 16;\n const g = (c & 0x00ff00) >> 8;\n const b = c & 0x0000ff;\n\n return `rgb(${r},${g},${b})`;\n};\n/**\n *\n * @param c\n * @param a\n * @returns {string} The color rgb format.\n */\nColor.toRGBA = function toRGB(c, a) {\n if (c instanceof Color) {\n return `rgba(${[c._r, c._g, c._b, typeof a !== 'undefined' ? a : c._a].join(',')})`;\n }\n\n if (typeof c === 'string') {\n c = Color.toNumber(c);\n }\n\n const r = (c & 0xff0000) >> 16;\n const g = (c & 0x00ff00) >> 8;\n const b = c & 0x0000ff;\n\n return `rgba(${r},${g},${b},${typeof a !== 'undefined' ? a : c._a})`;\n};\n/**\n *\n * @param {Color|string} c\n * @returns {string} The color in hexadecimal space.\n */\nColor.toHex = function toHex(c) {\n let r;\n let g;\n let b;\n if (c instanceof Color) {\n r = c._r.toString(16);\n g = c._g.toString(16);\n b = c._b.toString(16);\n if (r.length === 1) {\n r = `0${r}`;\n }\n if (g.length === 1) {\n g = `0${g}`;\n }\n if (b.length === 1) {\n b = `0${b}`;\n }\n return `#${[r, g, b].join('')}`;\n }\n\n if (typeof c === 'string') {\n c = Color.toNumber(c);\n }\n\n r = ((c & 0xff0000) >> 16).toString(16);\n g = ((c & 0x00ff00) >> 8).toString(16);\n b = (c & 0x0000ff).toString(16);\n\n if (r.length === 1) {\n r = `0${r}`;\n }\n if (g.length === 1) {\n g = `0${g}`;\n }\n if (b.length === 1) {\n b = `0${b}`;\n }\n\n return `#${r}${g}${b}`;\n};\n/**\n * Return the color in hsl space using \"bi-hexcone\" model for lightness\n * @param {Color|string} c\n * @param {boolean} luma - Whether to use luma calculation\n * @returns {string} The color in hsl space.\n */\nColor.toHSL = function (c, luma) {\n let h = 0;\n let s;\n let l;\n let ch;\n if (typeof c === 'string') {\n c = new Color(c);\n }\n\n // red, green, blue, hue, saturation, lightness/luma, max, min, chroma\n const r = c._r / 255;\n const g = c._g / 255;\n const b = c._b / 255;\n\n const max = Math.max(r, g, b);\n const min = Math.min(r, g, b);\n if (luma) {\n // Y'709 http://en.wikipedia.org/wiki/Rec._709\n // Y′709 = 0.21R + 0.72G + 0.07B\n l = 0.21 * r + 0.72 * g + 0.07 * b;\n } else {\n l = (max + min) / 2;\n }\n\n if (max === min) {\n // greyscale\n s = 0;\n h = 0;\n } else {\n ch = max - min;\n s = l > 0.5 ? ch / (2 - max - min) : ch / (max + min);\n switch (max) {\n case r:\n h = (g - b) / ch + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / ch + 2;\n break;\n case b:\n h = (r - g) / ch + 4;\n break;\n default:\n break;\n }\n h /= 6;\n }\n\n return `hsl(${h * 360},${s * 100},${l * 100})`;\n};\n/**\n * Return the color in hsla space using \"bi-hexcone\" model for lightness\n * @param {Color|string} c\n * @param {boolean} luma - Whether to use luma calculation\n * @returns {string} The color in hsla space.\n */\nColor.toHSLA = function (c, luma) {\n let h = 0;\n let s;\n let l;\n let ch;\n if (typeof c === 'string') {\n c = new Color(c);\n }\n\n // red, green, blue, hue, saturation, lightness/luma, max, min, chroma\n const r = c._r / 255;\n const g = c._g / 255;\n const b = c._b / 255;\n const a = c._a;\n\n const max = Math.max(r, g, b);\n const min = Math.min(r, g, b);\n if (luma) {\n // Y'709 http://en.wikipedia.org/wiki/Rec._709\n // Y′709 = 0.21R + 0.72G + 0.07B\n l = 0.21 * r + 0.72 * g + 0.07 * b;\n } else {\n l = (max + min) / 2;\n }\n\n if (max === min) {\n // greyscale\n s = 0;\n h = 0;\n } else {\n ch = max - min;\n s = l > 0.5 ? ch / (2 - max - min) : ch / (max + min);\n switch (max) {\n case r:\n h = (g - b) / ch + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / ch + 2;\n break;\n case b:\n h = (r - g) / ch + 4;\n break;\n default:\n break;\n }\n h /= 6;\n }\n\n return `hsla(${h * 360},${s * 100},${l * 100},${a})`;\n};\n/**\n * Return the color components in hsv space using \"hexcone\" model for value (lightness)\n * @param {Color|string} c\n * @returns {object} The color components in hsv space {h:0-360, s:0-100, v:0-100}\n */\nColor.toHSVComponents = function (c) {\n let h = 0;\n let s;\n let ch;\n if (typeof c === 'string') {\n c = new Color(c);\n }\n\n // red, green, blue, hue, saturation, value/luma, max, min, chroma\n const r = c._r / 255;\n const g = c._g / 255;\n const b = c._b / 255;\n\n const max = Math.max(r, g, b);\n const min = Math.min(r, g, b);\n\n const v = max;\n\n if (max === min) {\n // greyscale\n s = 0;\n h = 0;\n } else {\n ch = max - min;\n s = ch === 0 ? 0 : ch / v;\n switch (max) {\n case r:\n h = (g - b) / ch + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / ch + 2;\n break;\n case b:\n h = (r - g) / ch + 4;\n break;\n default:\n break;\n }\n h /= 6;\n }\n\n return { h: (h * 360) % 360, s: s * 100, v: v * 100 };\n};\n/**\n * Returns an number representation of the color\n * @param {Color|string} c\n * @returns {Number} Unsigned integer in the range 0-16 777 216\n */\nColor.toNumber = function toNumber() {\n if (arguments.length === 1 && arguments[0] instanceof Color) {\n return (arguments[0]._r << 16) + (arguments[0]._g << 8) + arguments[0]._b;\n }\n\n let r = 0;\n let g = 0;\n let b = 0;\n let matches;\n let colorString;\n\n if (arguments.length === 1) {\n if (typeof arguments[0] === 'string') {\n colorString = arguments[0];\n\n if ((matches = /^rgb\\((\\d{1,3}),(\\d{1,3}),(\\d{1,3})\\)$/i.exec(colorString))) {\n r = parseInt(matches[1], 10);\n g = parseInt(matches[2], 10);\n b = parseInt(matches[3], 10);\n } else if ((matches = /^#([A-f0-9]{2})([A-f0-9]{2})([A-f0-9]{2})$/i.exec(colorString))) {\n r = parseInt(matches[1], 16);\n g = parseInt(matches[2], 16);\n b = parseInt(matches[3], 16);\n } else if ((matches = /^#([A-f0-9])([A-f0-9])([A-f0-9])$/i.exec(colorString))) {\n r = parseInt(matches[1] + matches[1], 16);\n g = parseInt(matches[2] + matches[2], 16);\n b = parseInt(matches[3] + matches[3], 16);\n }\n }\n }\n return (r << 16) + (g << 8) + b;\n};\nColor.blend = function blend(c1, c2, t) {\n c1 = Color.toNumber(c1);\n c2 = Color.toNumber(c2);\n\n const r1 = (c1 & 0xff0000) >> 16;\n const g1 = (c1 & 0x00ff00) >> 8;\n const b1 = c1 & 0x0000ff;\n const r2 = (c2 & 0xff0000) >> 16;\n const g2 = (c2 & 0x00ff00) >> 8;\n const b2 = c2 & 0x0000ff;\n const r = r1 + (r2 - r1) * t;\n const g = g1 + (g2 - g1) * t;\n const b = b1 + (b2 - b1) * t;\n\n return (r << 16) + (g << 8) + b;\n};\nColor.getBlend = function getBlend(c1, c2, t) {\n const r = c1._r + (c2._r - c1._r) * t;\n const g = c1._g + (c2._g - c1._g) * t;\n const b = c1._b + (c2._b - c1._b) * t;\n const a = c1._a + (c2._a - c1._a) * t;\n\n return new Color(r, g, b, a);\n};\nColor.isCSSColor = function (color) {\n if (arguments.length > 1 || typeof color !== 'string') {\n return false;\n }\n return (\n rgb.test(color) ||\n rgba.test(color) ||\n hex.test(color) ||\n hexShort.test(color) ||\n hsl.test(color) ||\n hsla.test(color) ||\n CSSColors[color.toLowerCase()]\n );\n};\n\nColor.getBestContrast = function (color, cl, cd) {\n const lum = color.getLuminance();\n return Math.abs(lum - cl.getLuminance()) > Math.abs(lum - cd.getLuminance()) ? cl : cd;\n};\n\nColor.getContrast = function (color1, color2) {\n if (!color1 || !color2) {\n return undefined;\n }\n\n const l1 = color1.getLuminance() / 100;\n const l2 = color2.getLuminance() / 100;\n\n if (l1 > l2) {\n return (l1 + 0.05) / (l2 + 0.05);\n }\n\n return (l2 + 0.05) / (l1 + 0.05);\n};\n\nColor.isDark = function () {\n const o = {\n getLuminance: Color.prototype.getLuminance,\n isInvalid: Color.prototype.isInvalid,\n };\n Color.prototype.init.apply(o, [].slice.call(arguments));\n return Color.prototype.isDark.call(o);\n};\n\nColor.useDarkLabel = function (areaColor, bgIsDark) {\n return areaColor._a > 0.5 ? !areaColor.isDark() : !bgIsDark;\n};\n\nexport default Color;\n","import Color from './color';\n\nconst chartUtils = {\n TRANSPARENT_BLACK: 'rgba( 0,0,0,0.2 )',\n TRANSPARENT_WHITE: 'rgba( 255,255,255,0.7 )',\n LIGHT_GREY: '#ccc',\n DARK_GREY: '#666',\n BLACK: '#000',\n WHITE: '#fff',\n\n getInverse(color) {\n const colorObj = new Color(color);\n const alpha = colorObj.getAlpha();\n\n if (alpha === 0) {\n return this.BLACK;\n }\n return colorObj.isDark() ? this.WHITE : this.BLACK;\n },\n\n getContrastingGrey(color) {\n const colorObj = new Color(color);\n const alpha = colorObj.getAlpha();\n\n if (alpha === 0) {\n return this.DARK_GREY;\n }\n return Color.getBestContrast(colorObj, new Color(chartUtils.LIGHT_GREY), new Color(chartUtils.DARK_GREY));\n },\n\n getBestContrast(color, color1, color2) {\n return Color.getBestContrast(new Color(color), new Color(color1), new Color(color2));\n },\n\n getContrastingTransparent(color) {\n const colorObj = new Color(color);\n const alpha = colorObj.getAlpha();\n\n if (alpha === 0 || color === 'none') {\n return this.TRANSPARENT_BLACK;\n }\n return colorObj.isDark() ? this.TRANSPARENT_WHITE : this.TRANSPARENT_BLACK;\n },\n};\n\nexport default chartUtils;\n","const namespace = '.scrollHandler';\n\nScrollHandler.prototype.getScrollApi = getScrollApi;\nScrollHandler.prototype.setDisabled = setDisabled;\nScrollHandler.prototype.getDisabled = getDisabled;\nScrollHandler.prototype.setItemSize = setItemSize;\nScrollHandler.prototype.getItemSize = getItemSize;\nScrollHandler.prototype.getScrollViewSizeInItem = getScrollViewSizeInItem;\nScrollHandler.prototype.on = on;\nScrollHandler.prototype.isOn = isOn;\nScrollHandler.prototype.off = off;\nScrollHandler.prototype.updateViewState = updateViewState;\nScrollHandler.prototype.onResize = onResize;\nScrollHandler.prototype.isDataSizeChanged = isDataSizeChanged;\nScrollHandler.prototype.resetScroll = resetScroll;\nScrollHandler.prototype.getViewData = getViewData;\nScrollHandler.prototype.setOptions = setOptions;\nScrollHandler.prototype.getScrollState = getScrollState;\nScrollHandler.prototype.setScrollState = setScrollState;\n\nexport default ScrollHandler;\n\n/**\n * Implementation details\n */\n\nfunction ScrollHandler(chartInstance, $chartElement, getSlicedDataFn, onScrollCallback, legendKey) {\n if (!chartInstance || !$chartElement || !getSlicedDataFn) {\n throw Error('Scroll-handler: Missing input');\n }\n this._chartInstance = chartInstance;\n this._$chartElement = $chartElement;\n this._getSlicedDataFn = getSlicedDataFn;\n this._on = false;\n this._itemSize = 30;\n this.options = {\n direction: 'vertical',\n };\n this._onScrollCallback = onScrollCallback;\n this._legendKey = legendKey;\n}\n\nfunction getScrollApi() {\n if (!this._scrollApi) {\n this._scrollApi = this._chartInstance.scroll('dimension');\n }\n return this._scrollApi;\n}\n\nfunction setDisabled(b) {\n this._disabled = b;\n}\n\nfunction getDisabled() {\n return this._disabled;\n}\n\nfunction setItemSize(s) {\n if (this._itemSize !== s) {\n this._itemSize = s;\n calculateScrollViewSizeInItem.call(this);\n }\n}\n\nfunction getItemSize() {\n return this._itemSize;\n}\n\nfunction getScrollViewSizeInItem() {\n if (!this._scrollViewSizeInItem) {\n calculateScrollViewSizeInItem.call(this);\n }\n return this._scrollViewSizeInItem;\n}\n\nfunction on() {\n if (this._on) {\n return;\n }\n if (this.getScrollApi()) {\n this._scrollApi.removeAllListeners();\n this._scrollApi.on('update', onScroll.bind(this));\n }\n this._$chartElement.on(`mousewheel${namespace} DOMMouseScroll${namespace}`, onMouseWheel.bind(this));\n // TODO: Picasso does not support pointer events therefore we need to remove preventDefault on pointer down to make it work for IE.\n // However, this will make paning on touch device to pan the object, so we need to prevent it.\n // This fix should be removed when Picasso support pointer events.\n this._$chartElement.on(`touchstart${namespace}`, (event) => {\n event.preventDefault();\n });\n this._on = true;\n}\nfunction isOn() {\n return this._on;\n}\nfunction off() {\n if (!this._on) {\n return;\n }\n if (this.getScrollApi()) {\n this._scrollApi.removeAllListeners();\n }\n this._$chartElement.off(namespace);\n this._on = false;\n}\n\nfunction updateViewState(max) {\n calculateScrollViewSizeInItem.call(this);\n if (this.getScrollApi()) {\n this._scrollApi.update({ viewSize: this._scrollViewSizeInItem, max });\n }\n}\n\nfunction onResize() {\n this._sizeChanged = true;\n calculateScrollViewSizeInItem.call(this);\n if (this.getScrollApi()) {\n this._scrollApi.update({ viewSize: this._scrollViewSizeInItem });\n }\n}\n\nfunction isDataSizeChanged(pageNumberOfRows, datasetNumberOfRows) {\n return Math.min(this.getScrollViewSizeInItem(), datasetNumberOfRows) !== pageNumberOfRows;\n}\n\nfunction resetScroll() {\n if (this.getScrollApi()) {\n this._scrollApi.moveTo(0);\n }\n}\n\nfunction getViewData() {\n let top = 0;\n let height = 0;\n if (this.getScrollApi()) {\n const state = this._scrollApi.getState();\n top = Math.round(state.start);\n height = state.viewSize;\n }\n return this._getSlicedDataFn(top, height);\n}\n\nfunction getScrollState() {\n return this.getScrollApi().getState().start;\n}\nfunction setScrollState(state) {\n this.getScrollApi().moveTo(state);\n}\n\nfunction setOptions(options) {\n if (this.options.direction !== options.direction) {\n this._scrollViewSizeInItem = undefined;\n }\n this.options = options;\n}\n\nfunction calculateScrollViewSizeInItem() {\n const scrollSize =\n (this.options.direction === 'horizontal' ? this._$chartElement.width() : this._$chartElement.height()) || 0;\n const n = Math.floor(scrollSize / this.getItemSize());\n this._scrollViewSizeInItem = Math.max(n, 1); // Number of visible items should be at least 1\n}\n\nfunction getMouseWheelData(orgEvent) {\n let delta = 0;\n let deltaX = 0;\n let deltaY = 0;\n const divider = 60;\n\n // Old school scrollwheel delta\n if (orgEvent.wheelDelta) {\n delta = orgEvent.wheelDelta / divider;\n }\n if (orgEvent.detail) {\n delta = -orgEvent.detail / 3;\n }\n\n // New school multidimensional scroll (touchpads) deltas\n deltaY = delta;\n\n // Gecko\n if (orgEvent.axis !== undefined && orgEvent.axis === orgEvent.HORIZONTAL_AXIS) {\n deltaY = 0;\n deltaX = -1 * delta;\n }\n\n // Webkit\n if (orgEvent.wheelDeltaY !== undefined) {\n deltaY = orgEvent.wheelDeltaY / divider;\n }\n if (orgEvent.wheelDeltaX !== undefined) {\n deltaX = (-1 * orgEvent.wheelDeltaX) / divider;\n }\n\n return {\n delta,\n deltaX,\n deltaY,\n x: orgEvent.pageX,\n y: orgEvent.pageY,\n };\n}\n\nfunction onLegendMouseWheel(e, event, chart, legendKey) {\n if (!!legendKey && chart.componentsFromPoint(event).some((c) => c.settings.key === legendKey)) {\n const legend = chart.component(legendKey);\n legend.emit(event.delta > 0 ? 'prev' : 'next');\n e.preventDefault();\n return true;\n }\n return false;\n}\n\nfunction onMouseWheel(e) {\n const event = getMouseWheelData(e.originalEvent);\n if (onLegendMouseWheel(e, event, this._chartInstance, this._legendKey) || this._disabled || !this.getScrollApi()) {\n return;\n }\n e.preventDefault();\n if (!event.delta) {\n return;\n }\n const scrollSpeed = 3;\n const value = event.delta < 0 ? scrollSpeed : -scrollSpeed;\n this._scrollApi.move(value);\n}\n\nfunction onScroll() {\n if (this._disabled || this._sizeChanged) {\n this._sizeChanged = false;\n return;\n }\n const self = this;\n this.getViewData()\n .then((layout) => {\n if (self._on && !self._disabled && self._onScrollCallback) {\n // Chart is updated with partial data\n self._onScrollCallback(layout, undefined, true);\n }\n })\n .catch((err) => {\n if (process.env.NODE_ENV === 'development') {\n if (typeof err !== 'undefined') {\n console.error(err);\n }\n }\n });\n}\n","/**\n * Checks whether a collision has occurred for range selection\n * @param e - event, in this case a mouse event\n * @param targets - the target points that the selections are hitting\n * @param selectionGesture - The type of selection gesture, for example area range select\n * @returns {boolean} - True, if a collision has occurred, otherwise false\n */\nfunction isOnComponentForRange(e, targets, selectionGesture) {\n return (\n !!e &&\n !!selectionGesture.chart\n .componentsFromPoint({\n x: e.center.x,\n y: e.center.y,\n })\n .filter((c) => targets.indexOf(c.settings.key) !== -1)[0]\n );\n}\n\n/**\n * Checks whether a collision has occurred for lasso selection\n * @param e - event, in this case a mouse event\n * @param gesturesParams - parameters for lasso selection\n * @param lassoGesture - the lasso gesture instance\n * @returns {boolean} - True, if a collision has occurred, otherwise false\n */\nfunction isOnComponentForLasso(e, gesturesParams, lassoGesture) {\n return (\n e &&\n lassoGesture.chart\n .componentsFromPoint({\n x: e.center.x,\n y: e.center.y,\n })\n .filter((c) => c.settings.key === gesturesParams.keys.componentKey)[0]\n );\n}\n\nfunction isOnComponentForNavBtn(e, legendBrushKey, navBtnGesture) {\n const components = navBtnGesture.chart.componentsFromPoint(e.center);\n return components.some((c) => c.settings.key === legendBrushKey);\n}\n\nexport default {\n isOnComponentForRange,\n isOnComponentForLasso,\n isOnComponentForNavBtn,\n};\n","import Hammer from 'hammerjs';\nimport onComponentChecker from './on-component-checker';\n\nfunction getLassoState(handlers) {\n return handlers.selectionHandler.lassoState() && !handlers.selectionHandler.allFieldsLocked();\n}\n\n/**\n * Handles lasso events for picasso charts using HammerJS. When activating lasso selection enable function is\n * triggered first. lassoStart is triggered on all areas specified by options.direction key. Lasso is the gesture\n * that will be active by default.\n */\nfunction callLassoGesture(state, gesturesFns, gesturesParams) {\n return {\n type: 'Pan',\n options: {\n direction: Hammer.DIRECTION_ALL,\n threshold: 1,\n enable(manager, e) {\n if (state.lassoing) {\n return gesturesFns.isSelectionEnabled();\n }\n const hitComp = onComponentChecker.isOnComponentForLasso(e, gesturesParams, this);\n return (\n gesturesFns.isSelectionEnabled() && e && (getLassoState(gesturesParams.handlers) || state.lassoing) && hitComp\n );\n },\n event: 'lasso',\n },\n recognizeWith: gesturesParams.handlers.scrollHandler ? 'drag' : null,\n events: {\n lassostart(e) {\n const hitComp = onComponentChecker.isOnComponentForLasso(e, gesturesParams, this);\n if (!hitComp) {\n return;\n }\n gesturesFns.switchTo('lasso', this.chart, e);\n state.lassoing = true;\n gesturesParams.handlers.selectionHandler.pauseEngineCalls(gesturesParams.keys.lassoBrushKey);\n e.clientX = e.pointers[0].clientX;\n e.clientY = e.pointers[0].clientY;\n gesturesFns.doEmit(this.chart, 'lasso', 'lassoStart', e);\n },\n lassomove(e) {\n if (!state.lassoing) {\n return;\n }\n e.clientX = e.pointers[0].clientX;\n e.clientY = e.pointers[0].clientY;\n gesturesFns.doEmit(this.chart, 'lasso', 'lassoMove', e);\n },\n lassoend(e) {\n if (!state.lassoing) {\n return;\n }\n\n e.clientX = e.pointers[0].clientX;\n e.clientY = e.pointers[0].clientY;\n gesturesFns.doEmit(this.chart, 'lasso', 'lassoEnd', e);\n gesturesParams.handlers.selectionHandler.resumeEngineCalls(gesturesParams.keys.lassoBrushKey, true);\n state.lassoing = false;\n },\n lassocancel(e) {\n state.lassoing = false;\n gesturesFns.doEmit(this.chart, 'lasso', 'lassoCancel', e);\n gesturesParams.handlers.selectionHandler.resumeEngineCalls(gesturesParams.keys.lassoBrushKey, false);\n },\n },\n };\n}\n\nexport default {\n callLassoGesture,\n};\n","import Hammer from 'hammerjs';\nimport onComponentChecker from './on-component-checker';\n\n/**\n * Handles measure range selection events for picasso charts using HammerJS. When activating measure range selection enable function is\n * triggered first. measurerangestart is triggered on all areas specified by options.direction key. Only after measurerangestart\n * is triggered, then the other events might be triggered as well. The different event\n * names must be appended as suffixes for options.event. In this case options.event is called measurerange, then our\n * events must be named measurerangestart, measurerangemove, measurerangeend, measurerangecancel.\n */\nfunction callMeasureRangeGesture(state, gesturesFns, gesturesParams, measureAxis) {\n const activeRangeBrush = gesturesParams.keys.dimRangeBrushKey ? 'majorrange' : 'arearange';\n\n return {\n type: 'Pan',\n options: {\n direction: gesturesParams.isHorizontal ? Hammer.DIRECTION_HORIZONTAL : Hammer.DIRECTION_VERTICAL,\n event: 'measurerange',\n enable(manager, e) {\n if (!gesturesParams.rangeSelStatus.isOpenMea) {\n return false;\n }\n\n if (state.measureSelecting) {\n return gesturesFns.isSelectionEnabled();\n }\n const targets =\n gesturesParams.active.gesture === 'measurerange'\n ? [measureAxis, gesturesParams.keys.componentKey]\n : [measureAxis];\n const hitComp = onComponentChecker.isOnComponentForRange(e, targets, this);\n\n state.measureSelecting = gesturesFns.isSelectionEnabled() && !!e && !!hitComp;\n return state.measureSelecting && !!gesturesParams.keys.measureRangeBrushKey;\n },\n },\n requireFailure: `lasso ${activeRangeBrush}`,\n recognizeWith: gesturesParams.handlers.scrollHandler ? 'drag' : null,\n events: {\n measurerangestart(e) {\n const targets =\n gesturesParams.active.gesture === 'measurerange'\n ? [measureAxis, gesturesParams.keys.componentKey]\n : [measureAxis];\n const hitComp = onComponentChecker.isOnComponentForRange(e, targets, this);\n if (!hitComp) {\n return;\n }\n\n state.measureSelecting = true;\n gesturesFns.switchTo('measurerange', this.chart, e);\n gesturesFns.doEmit(this.chart, 'rangeMeasure', 'rangeStart', e);\n gesturesParams.handlers.selectionHandler.pauseEngineCalls(gesturesParams.keys.measureRangeBrushKey);\n },\n measurerangemove(e) {\n if (!state.measureSelecting) {\n return;\n }\n gesturesFns.doEmit(this.chart, 'rangeMeasure', 'rangeMove', e);\n },\n measurerangeend(e) {\n if (!state.measureSelecting) {\n return;\n }\n gesturesParams.handlers.selectionHandler.resumeEngineCalls(gesturesParams.keys.measureRangeBrushKey, true);\n gesturesFns.doEmit(this.chart, 'rangeMeasure', 'rangeEnd', e);\n state.measureSelecting = false;\n },\n measurerangecancel() {\n gesturesParams.handlers.selectionHandler.resumeEngineCalls(gesturesParams.keys.measureRangeBrushKey, false);\n state.measureSelecting = false;\n },\n },\n };\n}\n\nexport default {\n callMeasureRangeGesture,\n};\n","import Hammer from 'hammerjs';\nimport onComponentChecker from './on-component-checker';\n\nfunction getAxisOrientation(axis, orientation) {\n let dir;\n if (axis === 'x-axis') {\n dir = orientation === 'horizontal' ? Hammer.DIRECTION_VERTICAL : Hammer.DIRECTION_HORIZONTAL;\n } else {\n dir = orientation === 'horizontal' ? Hammer.DIRECTION_HORIZONTAL : Hammer.DIRECTION_VERTICAL;\n }\n return dir;\n}\n\n/**\n * Handles area range selection events for picasso charts using HammerJS. When activating area range selection enable function is\n * triggered first. arearangestart is triggered on all areas specified by options.direction key. Only after arearangestart\n * is triggered, then the other events might be triggered as well. The different event\n * names must be appended as suffixes for options.event. In this case options.event is called arearange, then our\n * events must be named arearangestart, arearangemove, arearangeend, arearangecancel.\n */\nfunction callAreaRangeGesture(state, gesturesFns, gesturesParams, axis) {\n const activeRangeBrush = gesturesParams.keys.dimRangeBrushKey ? 'majorrange' : 'measurerange';\n\n return {\n // Area range select gesture\n type: 'Pan',\n options: {\n direction: getAxisOrientation(axis, gesturesParams.isHorizontal),\n event: 'arearange',\n enable(manager, e) {\n if (!gesturesParams.rangeSelStatus.isOpenDim) {\n return false;\n }\n\n if (state.minoring) {\n return gesturesFns.isSelectionEnabled();\n }\n const targets =\n gesturesParams.active.gesture === 'arearange' ? [axis, gesturesParams.keys.componentKey] : [axis];\n const hitComp = onComponentChecker.isOnComponentForRange(e, targets, this);\n\n state.minoring = gesturesFns.isSelectionEnabled() && !!e && !!hitComp;\n return state.minoring;\n },\n },\n requireFailure: `lasso ${activeRangeBrush}`,\n recognizeWith: gesturesParams.handlers.scrollHandler ? 'drag' : null,\n events: {\n arearangestart(e) {\n const targets =\n gesturesParams.active.gesture === 'arearange' ? [axis, gesturesParams.keys.componentKey] : [axis];\n const hitComp = onComponentChecker.isOnComponentForRange(e, targets, this);\n if (!hitComp) {\n return;\n }\n\n state.minoring = true;\n gesturesFns.switchTo('arearange', this.chart, e);\n gesturesFns.doEmit(this.chart, 'rangeMinor', 'areaStart', e);\n gesturesParams.handlers.selectionHandler.pauseEngineCalls(gesturesParams.keys.areaBrushKey);\n },\n arearangemove(e) {\n if (!state.minoring) {\n return;\n }\n // Behaves likes lasso, which adds all data points as soon as we hit the points, we only want to highlight the values within the range\n this.chart.brush(gesturesParams.keys.areaBrushKey).clear();\n gesturesFns.doEmit(this.chart, 'rangeMinor', 'areaMove', e);\n },\n arearangeend(e) {\n if (!state.minoring) {\n return;\n }\n gesturesParams.handlers.selectionHandler.resumeEngineCalls(gesturesParams.keys.areaBrushKey, true);\n gesturesFns.doEmit(this.chart, 'rangeMinor', 'areaEnd', e);\n state.minoring = false;\n },\n arearangecancel() {\n gesturesParams.handlers.selectionHandler.resumeEngineCalls(gesturesParams.keys.areaBrushKey, false);\n state.minoring = false;\n },\n },\n };\n}\n\nexport default {\n callAreaRangeGesture,\n};\n","import Hammer from 'hammerjs';\nimport onComponentChecker from './on-component-checker';\n\n/**\n * Handles dimension range selection events for picasso charts using HammerJS. When activating dimension range selection enable function is\n * triggered first. majorrangestart is triggered on all areas specified by options.direction key. Only after majorrangestart\n * is triggered, then the other events might be triggered as well. The different event\n * names must be appended as suffixes for options.event. In this case options.event is called majorrange, then our\n * events must be named majorrangestart, majorrangemove, majorrangeend, majorrangecancel.\n */\nfunction callDimensionRangeGesture(state, gesturesFns, gesturesParams, dimAxis) {\n const activeRangeBrush = gesturesParams.keys.measureRangeBrushKey ? 'measurerange' : 'arearange';\n return {\n type: 'Pan',\n options: {\n direction: gesturesParams.isHorizontal ? Hammer.DIRECTION_VERTICAL : Hammer.DIRECTION_HORIZONTAL,\n event: 'majorrange',\n enable(manager, e) {\n if (!gesturesParams.rangeSelStatus.isOpenDim) {\n return false;\n }\n if (state.majoring) {\n return gesturesFns.isSelectionEnabled();\n }\n const targets =\n gesturesParams.active.gesture === 'majorrange' ? [dimAxis, gesturesParams.keys.componentKey] : [dimAxis];\n const hitComp = onComponentChecker.isOnComponentForRange(e, targets, this);\n\n state.majoring = gesturesFns.isSelectionEnabled() && !!e && !!hitComp;\n return state.majoring && !!gesturesParams.keys.dimRangeBrushKey;\n },\n },\n requireFailure: `lasso ${activeRangeBrush}`,\n recognizeWith: gesturesParams.handlers.scrollHandler ? 'drag' : null,\n events: {\n majorrangestart(e) {\n const targets =\n gesturesParams.active.gesture === 'majorrange' ? [dimAxis, gesturesParams.keys.componentKey] : [dimAxis];\n const hitComp = onComponentChecker.isOnComponentForRange(e, targets, this);\n if (!hitComp) {\n return;\n }\n\n state.majoring = true;\n gesturesFns.switchTo('majorrange', this.chart, e);\n gesturesFns.doEmit(this.chart, 'rangeDim', 'rangeStart', e);\n gesturesParams.handlers.selectionHandler.pauseEngineCalls(gesturesParams.keys.dimRangeBrushKey);\n },\n majorrangemove(e) {\n if (!state.majoring) {\n return;\n }\n gesturesFns.doEmit(this.chart, 'rangeDim', 'rangeMove', e);\n },\n majorrangeend(e) {\n if (!state.majoring) {\n return;\n }\n gesturesParams.handlers.selectionHandler.resumeEngineCalls(gesturesParams.keys.dimRangeBrushKey, true);\n gesturesFns.doEmit(this.chart, 'rangeDim', 'rangeEnd', e);\n state.majoring = false;\n },\n majorrangecancel() {\n gesturesParams.handlers.selectionHandler.resumeEngineCalls(gesturesParams.keys.dimRangeBrushKey, false);\n state.majoring = false;\n },\n },\n };\n}\n\nexport default {\n callDimensionRangeGesture,\n};\n","import Hammer from 'hammerjs';\n\n/**\n * Handles dragging for picasso charts using HammerJS. When activating dragging the enable function is\n * triggered first. dragstart is triggered on all areas specified by options.direction key. The different event\n * names must be appended as suffixes for options.event. In this case options.event is called drag, then our\n * events must be named dragstart, dragmove, dragend, dragcancel.\n */\nfunction callDragGesture(state, gesturesFns, gesturesParams, hasSelections, isRtl) {\n let dragPoint = {};\n return {\n type: 'Pan',\n options: {\n direction: gesturesParams.isHorizontal ? Hammer.DIRECTION_VERTICAL : Hammer.DIRECTION_HORIZONTAL,\n event: 'drag',\n enable(manager, e) {\n if (state.dragging) {\n return gesturesFns.isNavigationEnabled();\n }\n\n state.dragging =\n gesturesFns.isNavigationEnabled() &&\n !!e &&\n !!this.chart\n .componentsFromPoint({ x: e.center.x, y: e.center.y })\n .filter((c) => c.settings.key === gesturesParams.keys.componentKey)[0];\n return state.dragging;\n },\n },\n requireFailure: hasSelections ? `lasso ${gesturesFns.getBrushConfig()}` : '',\n events: {\n dragstart(e) {\n dragPoint = { x: e.deltaX, y: e.deltaY };\n let change =\n -(gesturesParams.isHorizontal ? e.deltaY : e.deltaX) / gesturesParams.handlers.scrollHandler.getItemSize();\n if (!gesturesParams.isHorizontal && isRtl) {\n change = -change;\n }\n gesturesParams.handlers.scrollHandler.getScrollApi().move(change);\n },\n dragmove(e) {\n if (!state.dragging) {\n return;\n }\n let change =\n -(gesturesParams.isHorizontal ? e.deltaY - dragPoint.y : e.deltaX - dragPoint.x) /\n gesturesParams.handlers.scrollHandler.getItemSize();\n if (!gesturesParams.isHorizontal && isRtl) {\n change = -change;\n }\n gesturesParams.handlers.scrollHandler.getScrollApi().move(change);\n dragPoint = { x: e.deltaX, y: e.deltaY };\n },\n dragend() {\n if (!state.dragging) {\n return;\n }\n state.dragging = false;\n },\n dragcancel() {\n state.dragging = false;\n },\n },\n };\n}\n\nexport default {\n callDragGesture,\n};\n","import onComponentChecker from './on-component-checker';\n\n/**\n * Handles navigational button events for picasso charts using HammerJS. When pressing on a navigational button,\n * the enable function is triggered to check if the navigational button should be enabled or not.\n * For example, in edit mode it should be disabled.\n * @param isEnabledFn - Function that returns a boolean. In this case return false if in edit mode, true otherwise\n * @param legendBrushKey - String defining the legend brush key\n * @returns An object for reacting to tap events according to HammerJS API\n */\nfunction callNavBtnGesture(isEnabledFn, legendBrushKey) {\n return {\n type: 'Tap',\n options: {\n event: 'navBtnTap',\n enable(manager, e) {\n if (!e || !isEnabledFn()) {\n return false;\n }\n\n return onComponentChecker.isOnComponentForNavBtn(e, legendBrushKey, this);\n },\n },\n events: {\n navBtnTap(e) {\n // Invokes paging interaction on legend\n this.chart.componentsFromPoint(e.center).forEach((c) => {\n const btn = e.target;\n const attr = btn ? btn.getAttribute('data-action') : '';\n if (attr) {\n return c.emit(attr);\n }\n return undefined;\n });\n },\n },\n };\n}\n\nexport default {\n callNavBtnGesture,\n};\n","import lassoGesture from './gestures/lasso-gesture';\nimport measureRangeGesture from './gestures/measure-range-gesture';\nimport areaRangeGesture from './gestures/area-range-gesture';\nimport dimensionRangeGesture from './gestures/dimension-range-gesture';\nimport dragGesture from './gestures/drag-gesture';\nimport navBtnGesture from './gestures/navigational-button-gesture';\n\n/**\n * Creates Picasso components for interaction component that are dependent on eatchother\n */\n\nfunction DependentInteractions(handlers, orientation, isRtl, keys, rangeSelStatus) {\n const ret = {};\n\n orientation = orientation || 'vertical';\n\n const lassoBrushKey = keys.lassoBrushKey || 'select';\n const dimRangeBrushKey = keys.dimRangeBrushKey || null;\n const measureRangeBrushKey = keys.measureRangeBrushKey || null;\n const areaBrushKey = keys.areaBrushKey || null;\n const legendBrushKey = keys.legendBrushKey || null;\n\n const hasSelections = !!handlers.selectionHandler && handlers.selectionHandler.isOn();\n\n const state = {\n dragging: false,\n lassoing: false,\n majoring: false,\n minoring: false,\n measureSelecting: false,\n };\n\n const active = {\n gesture: '',\n type: '',\n };\n\n const isHorizontal = orientation === 'horizontal';\n\n const dimAxis = isHorizontal ? 'y-axis' : 'x-axis';\n const measureAxis = isHorizontal ? 'x-axis' : 'y-axis';\n\n function switchTo(gesture, chart, e) {\n if (active.gesture === gesture) {\n return;\n }\n let clearKey = lassoBrushKey;\n const activeChart = chart || active.chart;\n\n switch (active.gesture) {\n case 'majorrange':\n doEmit(activeChart, 'rangeDim', 'rangeClear', e);\n clearKey = dimRangeBrushKey;\n break;\n case 'measurerange':\n doEmit(activeChart, 'rangeMeasure', 'rangeClear', e);\n clearKey = measureRangeBrushKey;\n break;\n case 'arearange':\n doEmit(activeChart, 'rangeMinor', 'areaClear', e);\n clearKey = areaBrushKey;\n break;\n default:\n break;\n }\n\n active.gesture = gesture;\n const newType = gesture === 'range' ? 'range' : 'item';\n\n if (active.type && active.type !== newType) {\n activeChart.brush(clearKey).clear();\n }\n\n active.chart = chart;\n active.type = newType;\n }\n\n // Just added here to allow easy disabling of things while developing\n function doEmit(chart, comp, cont, e) {\n if (chart) {\n const inst = chart.component(comp);\n if (inst) {\n inst.emit(cont, e);\n }\n }\n }\n\n function getBrushConfig() {\n if (!dimRangeBrushKey) {\n return 'measurerange arearange';\n }\n if (!measureRangeBrushKey) {\n return 'majorrange arearange';\n }\n return 'majorrange measurerange';\n }\n\n let gestures = [];\n\n const gesturesFns = {\n isSelectionEnabled: () => handlers.selectionHandler && handlers.selectionHandler.isOn(),\n isNavigationEnabled: () => handlers.scrollHandler && handlers.scrollHandler.isOn(),\n doEmit,\n switchTo,\n getBrushConfig,\n };\n\n const gesturesParams = {\n handlers,\n keys,\n isHorizontal,\n active,\n rangeSelStatus,\n };\n\n if (hasSelections) {\n gestures = [\n {\n type: 'Tap',\n options: {\n event: 'rangeClearTap',\n },\n events: {\n rangeClearTap(e) {\n switchTo('none', this.chart, e);\n\n state.majoring = false;\n state.measureSelecting = false;\n state.minoring = false;\n },\n },\n },\n ];\n\n // Ordering matters here because the tap event, because the above gesture does not return anything\n // and we want don't want to call the navigational button enable function for all tap events\n gestures.unshift(navBtnGesture.callNavBtnGesture(gesturesFns.isNavigationEnabled, legendBrushKey));\n\n gestures.push(lassoGesture.callLassoGesture(state, gesturesFns, gesturesParams));\n\n // Only two of the axis range selection can exist at the same time\n if (!dimRangeBrushKey) {\n gestures.push(measureRangeGesture.callMeasureRangeGesture(state, gesturesFns, gesturesParams, measureAxis));\n // Register component to selections handler so it is cleared properly\n handlers.selectionHandler.addComponent(measureRangeBrushKey, { id: 'rangeMeasure', clear: 'rangeClear' });\n\n gestures.push(areaRangeGesture.callAreaRangeGesture(state, gesturesFns, gesturesParams, dimAxis));\n handlers.selectionHandler.addComponent(areaBrushKey, { id: 'rangeMinor', clear: 'areaClear' });\n } else if (!measureRangeBrushKey) {\n gestures.push(dimensionRangeGesture.callDimensionRangeGesture(state, gesturesFns, gesturesParams, dimAxis));\n handlers.selectionHandler.addComponent(dimRangeBrushKey, { id: 'rangeDim', clear: 'rangeClear' });\n\n gestures.push(areaRangeGesture.callAreaRangeGesture(state, gesturesFns, gesturesParams, measureAxis));\n handlers.selectionHandler.addComponent(areaBrushKey, { id: 'rangeMinor', clear: 'areaClear' });\n } else {\n gestures.push(dimensionRangeGesture.callDimensionRangeGesture(state, gesturesFns, gesturesParams, dimAxis));\n handlers.selectionHandler.addComponent(dimRangeBrushKey, { id: 'rangeDim', clear: 'rangeClear' });\n\n gestures.push(measureRangeGesture.callMeasureRangeGesture(state, gesturesFns, gesturesParams, measureAxis));\n handlers.selectionHandler.addComponent(measureRangeBrushKey, { id: 'rangeMeasure', clear: 'rangeClear' });\n }\n }\n\n if (handlers.scrollHandler) {\n gestures.push(dragGesture.callDragGesture(state, gesturesFns, gesturesParams, hasSelections, isRtl));\n\n // On scroll we need to switch of the major ranging, so that pan will work\n handlers.scrollHandler.getScrollApi().on('update', onScrollUpdate);\n }\n\n function onScrollUpdate() {\n switchTo('none');\n state.majoring = false;\n state.measureSelecting = false;\n state.minoring = false;\n }\n\n ret.gestures = gestures;\n ret.destroy = function () {\n if (handlers.scrollHandler) {\n handlers.scrollHandler.getScrollApi().removeListener('update', onScrollUpdate);\n }\n };\n\n return ret;\n}\n\nexport default {\n create: DependentInteractions,\n};\n","/**\n * Create a new tooltip action context\n *\n * @param {Object} chartInstance Picasso chart instance\n * @returns {Object} The tooltip actions handler instance\n */\nfunction TooltipActions(chartInstance, componentKey, data, context, tooltipKey) {\n let hasOpen = false;\n\n context = context || 'tooltip';\n data = data || ['self'];\n\n const brush = chartInstance.brush(context);\n\n const fn = {};\n\n // Exposed here for test stub purposes\n fn.isOpen = function () {\n return hasOpen;\n };\n\n function closeTooltip() {\n if (hasOpen) {\n const tooltip = chartInstance.component(tooltipKey);\n tooltip.emit('hide');\n }\n hasOpen = false;\n }\n\n function openTooltip(shapes) {\n hasOpen = true;\n const tooltip = chartInstance.component(tooltipKey);\n const e = {};\n const data = { nodes: shapes };\n tooltip.emit('show', e, data);\n }\n\n fn.closeTooltip = closeTooltip;\n\n /**\n * Updates the contents in tooltip. Requires an array of tooltipInfo.labelData and\n * an array of tooltipInfo.measureRows for the tooltip to display content, otherwise\n * it will show nothing. These key value mappings should be sent in from the charts.\n */\n function update() {\n const brushes = brush.brushes();\n\n // Fetches only the shapes that we are hovering over\n const shapes = chartInstance.getAffectedShapes(context, 'and', data, componentKey);\n\n if (brushes.length >= 1) {\n hasOpen = true;\n openTooltip(shapes);\n } else {\n closeTooltip();\n }\n }\n\n function toggleInterceptor(items) {\n // Remove duplicates if we have multiple dimensions to aoivd a toggle\n // ex: set(2006 ) ->2006 is on, followed by set(2006 ) ->2006 is off\n if (data.length > 1) {\n const check = {};\n const ret = [];\n items.forEach((item) => {\n if (!check[item.key]) {\n check[item.key] = {};\n }\n if (!check[item.key][item.value]) {\n check[item.key][item.value] = true;\n ret.push(item);\n }\n });\n return ret;\n }\n return items;\n }\n\n fn.update = update;\n fn.toggleInterceptor = toggleInterceptor;\n return fn;\n}\n\nexport default {\n create(...args) {\n return TooltipActions(...args);\n },\n};\n","export default {\n formatMeasureValue,\n};\n\nfunction formatMeasureValue(field, measureContent) {\n if (field.raw().isCustomFormatted) {\n return field.formatter()(measureContent.value.qText);\n }\n const value = measureContent.value.qNum !== undefined ? measureContent.value.qNum : measureContent.value.qValue;\n return field.formatter()(value);\n}\n","const MAX_VISIBLE_ITEMS = 5;\nconst OTHERS_ELEMNO = -3;\nconst NULL_ELEMNO = -2;\n\n// TODO: The function getAffectedShapes returns duplicate shapes.\n// Remove when this is fixed on picasso\nfunction filterDuplicateShapes(shapes) {\n const uniques = [];\n\n shapes.forEach((shape) => {\n if (uniques.indexOf(shape) === -1 && shape.type !== 'container') {\n uniques.push(shape);\n }\n });\n\n return uniques;\n}\n\nexport const createFilter = (filterShapes) => (shapes) =>\n filterShapes ? filterShapes(shapes) : filterDuplicateShapes(shapes);\n\nexport const createContent =\n (context) =>\n ({ h, data, style }) => {\n const content = extractContent(context, data);\n const renderSettings = {\n h,\n style,\n rtl: context.direction === 'rtl',\n translator: context.translator,\n };\n return context.renderer(renderSettings, content);\n };\n\nfunction extractContent(tooltipInfo, uniqueShapes) {\n const dataset = tooltipInfo.chartInstance.dataset(tooltipInfo.dataPath);\n\n // Create content + header\n const content = [];\n\n const numberInExcess = uniqueShapes.length - MAX_VISIBLE_ITEMS;\n const numItems = Math.min(MAX_VISIBLE_ITEMS, uniqueShapes.length);\n for (let j = 0; j < numItems; j++) {\n const shape = uniqueShapes[j];\n const localContent = {\n rows: [],\n };\n\n if (tooltipInfo.labelData) {\n const labels = [];\n const refPaths = tooltipInfo.labelData;\n let isNullValue = false;\n for (let i = 0; i < refPaths.length; i++) {\n const currentNode = shape.data[refPaths[i]].value;\n if (currentNode.qElemNo === NULL_ELEMNO || currentNode.qElemNumber === NULL_ELEMNO) {\n // The node is null\n isNullValue = true;\n break;\n }\n labels.push(shape.data[refPaths[i]].value.qText);\n }\n\n if (isNullValue) {\n return undefined;\n }\n\n localContent.header = tooltipInfo.headerResolver(labels);\n localContent.rows = tooltipInfo.measureRows\n .map((measureRow) => {\n const rowData = shape.data;\n return tooltipInfo.rowResolver(dataset.field(rowData[measureRow].source.field), rowData[measureRow], rowData);\n })\n .filter((row) => !!row);\n\n const colorByData = getColorByDimData(tooltipInfo, shape);\n if (colorByData) {\n localContent.rows.unshift(colorByData);\n }\n content.push(localContent);\n }\n }\n if (numberInExcess > 0) {\n content.numberInExcess = numberInExcess;\n }\n\n content.rowCount = content[0] ? content.length * content[0].rows.length : 0;\n return content;\n}\n\nfunction getOthersIndex(values) {\n let index = -1;\n for (let i = 0; i < values.length; i++) {\n if (values[i] === OTHERS_ELEMNO) {\n index = i;\n }\n }\n return index;\n}\n\n/**\n * Get the information of how the color by row should look like.\n * The data for color by is fetched directly from the shape and it's key value mapping called\n * colorByDim, which contains the label and the elemNo\n * @param tooltipInfo - an object containing the chart view\n * @param shape - an object representing the shape currently hovered upon\n * @returns {{label: string - legendTitle, value: (*|String) - color by value, template: string - html template}}\n */\nfunction getColorByDimData(tooltipInfo, shape) {\n const colorData = shape.data.color;\n const colorSettings = tooltipInfo.colorService?.getSettings?.();\n\n if (!colorSettings || colorSettings.type === 'color' || !colorData || !colorSettings.fieldType) {\n return undefined;\n }\n\n const ids = [];\n tooltipInfo.data.forEach((mapping) => {\n const elemNoObj = shape.data[mapping];\n if (elemNoObj) {\n ids.push(elemNoObj.value);\n }\n });\n const othersIndex = getOthersIndex(ids);\n\n const { translator } = tooltipInfo;\n const label = colorSettings.label;\n const color = shape.attrs?.fill;\n const value = othersIndex !== -1 ? translator.get('properties.dimensionLimits.others') : colorData.label;\n return { color, label, value };\n}\n","/* eslint no-underscore-dangle: 0 */\nconst TOOLTIP_CONTAINER_ID = 'dist-flow-tooltip';\nconst TOOLTIP_CONTAINER_SELECTOR = `#${TOOLTIP_CONTAINER_ID}`;\n\nfunction appendTooltipContainer() {\n if (!document.querySelector(TOOLTIP_CONTAINER_SELECTOR)) {\n const container = document.createElement('div');\n container.id = TOOLTIP_CONTAINER_ID;\n container.style.overflow = 'hidden';\n container.style.position = 'fixed';\n container.style.pointerEvents = 'none';\n container.style.left = '0px';\n container.style.top = '0px';\n container.style.width = '100%';\n container.style.height = '100%';\n container.style.zIndex = 1020;\n document.body.appendChild(container);\n }\n}\n\nfunction destroyTooltipContainer() {\n const elm = document.querySelector(TOOLTIP_CONTAINER_SELECTOR);\n if (elm && elm.parentElement && elm.childElementCount < 1) {\n elm.parentElement.removeChild(elm);\n }\n}\n\n/**\n * Base tooltip definition\n */\nexport default function tooltip({ key = 'tooltip', rtl, fontFamily, filter, content }) {\n return {\n show: true,\n key,\n type: 'tooltip',\n layout: {\n displayOrder: 3,\n },\n beforeMount() {\n appendTooltipContainer();\n },\n beforeUpdate() {\n appendTooltipContainer();\n },\n destroyed() {\n destroyTooltipContainer();\n },\n settings: {\n appendTo: () => document.querySelector(TOOLTIP_CONTAINER_SELECTOR),\n content,\n filter,\n extract: (context) => context.node,\n direction: rtl ? 'rtl' : 'ltr',\n placement: 'bounds',\n },\n style: {\n arrow: {\n color: '#404040',\n },\n content: {\n display: 'table',\n 'border-spacing': '4px',\n background: 'rgba(64, 64, 64, 0.9)',\n opacity: '1',\n fontSize: '13px',\n fontFamily,\n 'empty-cells': 'show',\n },\n cell: {\n 'max-width': '180px',\n 'word-break': 'break-word',\n 'word-wrap': 'break-word',\n 'overflow-wrap': 'break-word',\n hyphens: 'auto',\n },\n },\n };\n}\n","/** @jsx h */\nimport rtlUtils from '../../extra/rtl-util';\n\nconst { detectTextDirection: getDirection } = rtlUtils;\n\nexport default function render(settings, content) {\n const { h, style, translator, rtl } = settings;\n const result = [];\n const labelTextAlign = rtl ? 'right' : 'left';\n content.forEach((item) => {\n if (item.header) {\n const headerStyle = {\n ...style.cell,\n textAlign: labelTextAlign,\n fontWeight: 'bold',\n direction: getDirection(item.header),\n };\n result.push(\n <tr>\n <td style={headerStyle} colSpan={2}>\n {item.header}\n </td>\n </tr>\n );\n }\n item.rows.forEach((row) => {\n let valueContent = row.value;\n if (row.color) {\n const symbolStyle = {\n display: 'inline-block',\n width: 10,\n height: 10,\n 'background-color': row.color,\n margin: '0 8px',\n };\n const symbol = <div style={symbolStyle} />;\n valueContent = rtl ? [row.value, symbol] : [symbol, row.value];\n }\n const label = rtl ? [':', row.label] : [row.label, ':'];\n const labelStyle = { ...style.cell, textAlign: labelTextAlign, direction: getDirection(row.label) };\n const valueStyle = { ...style.cell, textAlign: rtl ? 'left' : 'right', direction: getDirection(row.value) };\n result.push(\n <tr>\n <td style={labelStyle}>{label}</td>\n <td style={valueStyle}>{valueContent}</td>\n </tr>\n );\n });\n });\n if (content.numberInExcess) {\n const moreText = translator.get('Object.ChartTooltip.NMore', content.numberInExcess);\n const moreStyle = { ...style.cell, textAlign: labelTextAlign, direction: getDirection(moreText) };\n result.push(\n <tr>\n <td style={moreStyle} colSpan={2}>\n {moreText}\n </td>\n </tr>\n );\n }\n return result;\n}\n","import extend from 'extend';\nimport TooltipAction from './tooltip-actions';\nimport formatting from '../formatting';\nimport { createFilter, createContent } from './tooltip-content';\nimport createTooltip from './tooltips-component';\nimport defaultTooltipRenderer from './tooltip-renderer';\n\nconst DEFAULT_OPTIONS = {\n tooltipKey: 'tooltip',\n data: [''],\n contexts: ['tooltip'],\n headerResolver(values) {\n return values.join(', ');\n },\n rowResolver(field, measureContent) {\n return {\n value: formatting.formatMeasureValue(field, measureContent),\n label: field.title(),\n };\n },\n direction: 'ltr',\n renderer: defaultTooltipRenderer,\n};\n\n/**\n * Create a new Tooltips handler\n *\n * @param {Object} model The backend model for the chart\n * @param {Object} chartInstance Picasso chart instance\n * @returns {Object} The selections handler instance\n */\nfunction Tooltips(chartInstance, $element, chartType) {\n if (!chartInstance) {\n throw Error('Tooltips-handler: Missing input');\n }\n\n let tooltipContexts = {};\n let on = false;\n\n // Not need for a function, so turned it into an object\n const fn = {};\n\n /**\n * Setup a tooltips context\n * @param {Object} options Tooltip context options\n * @returns {Object} The selections handler instance\n */\n fn.setUp = function (options) {\n const opts = extend(true, {}, DEFAULT_OPTIONS, options);\n\n if (!opts.componentKey) {\n throw Error('Tooltips-handler.setUp: Missing required input');\n }\n\n if (tooltipContexts[opts.contexts[0]] && on) {\n deRegContext(tooltipContexts[opts.contexts[0]]);\n }\n\n const context = createContext(opts, chartInstance);\n tooltipContexts[opts.contexts[0]] = context;\n\n if (on) {\n registerContext(context);\n }\n\n const component = createTooltip({\n key: opts.tooltipKey,\n rtl: context.direction === 'rtl',\n fontFamily: context.theme.getStyle(chartType, 'tooltip', 'fontFamily'),\n filter: createFilter(context.filterShapes),\n content: createContent(context, opts.dataPath),\n });\n\n const settings = opts.chartBuilder.getSettings();\n settings.components.push(component);\n\n return {\n trigger: {\n on: context.treatAsDesktop ? 'over' : 'tap',\n action: 'set',\n contexts: opts.contexts,\n data: opts.data,\n globalPropagation: 'stop',\n },\n consume: opts.contexts.map((c) => ({ context: c })),\n component,\n };\n };\n\n fn.tearDown = function () {\n if (on) {\n deregister();\n }\n tooltipContexts = [];\n };\n\n function register() {\n Object.keys(tooltipContexts).forEach((key) => {\n registerContext(tooltipContexts[key]);\n });\n }\n\n function registerContext(context) {\n context.listeners.update = function (added, removed) {\n context.action.update(added, removed, context);\n };\n context.listeners.end = function () {\n context.action.closeTooltip();\n };\n\n context.brush.on(context.treatAsDesktop ? 'update' : 'set-values', context.listeners.update);\n context.brush.on('end', context.listeners.end);\n // Intecept the set-values call to avoid a toggle in the second dimension.\n context.brush.intercept('set-values', context.action.toggleInterceptor);\n }\n\n function deregister() {\n Object.keys(tooltipContexts).forEach((key) => {\n deRegContext(tooltipContexts[key]);\n });\n }\n\n function deRegContext(context) {\n context.brush.removeListener(context.treatAsDesktop ? 'update' : 'set-values', context.listeners.update);\n context.brush.removeListener('end', context.listeners.end);\n context.brush.removeInterceptor('set-values', context.action.toggleInterceptor);\n }\n\n function closeTooltip() {\n Object.keys(tooltipContexts).forEach((key) => {\n tooltipContexts[key].action.closeTooltip();\n });\n }\n\n function mouseLeave() {\n closeTooltip();\n // eslint-disable-next-line guard-for-in, no-restricted-syntax\n for (const prop in tooltipContexts) {\n tooltipContexts[prop].brush.clear();\n }\n }\n\n fn.closeTooltip = closeTooltip;\n\n fn.isOn = () => on;\n fn.on = function () {\n if (on) {\n return;\n }\n on = true;\n\n register();\n\n if ($element) {\n $element.on('mouseleave', mouseLeave);\n }\n };\n\n fn.off = function () {\n if (!on) {\n return;\n }\n on = false;\n deregister();\n\n if ($element) {\n $element.off('mouseleave', mouseLeave);\n }\n closeTooltip();\n };\n\n return fn;\n}\n\nexport default {\n create(chartInstance, $element, chartType) {\n return Tooltips(chartInstance, $element, chartType);\n },\n};\n\nfunction createContext(options, chartInstance) {\n return {\n brush: chartInstance.brush(options.contexts[0]),\n action: TooltipAction.create(\n chartInstance,\n options.componentKey,\n options.data,\n options.contexts[0],\n options.tooltipKey\n ),\n listeners: {},\n chartInstance,\n dataPath: options.dataPath,\n renderer: options.renderer,\n data: options.data,\n headerResolver: options.headerResolver,\n rowResolver: options.rowResolver,\n colorService: options.colorService,\n attrDimPath: options.attrDimPath,\n measureRows: options.measureRows,\n labelData: options.labelData,\n filterShapes: options.filterShapes,\n\n direction: options.environment.options.direction,\n theme: options.environment.theme,\n translator: options.environment.translator,\n treatAsDesktop: options.environment.deviceType !== 'touch',\n };\n}\n","/**\n * String validation util.\n *\n */\n\nconst CHARACTER_AVERAGE_WIDTH = 166 / 26;\nconst CHARACTER_MAX_WIDTH = 12;\nconst M_WIDTH = 11;\nconst CJK_AVERAGE_WIDTH = 12;\nconst CJK_OVER_LATIN_WIDTH_RATIO = CJK_AVERAGE_WIDTH / M_WIDTH;\n\nfunction startsWith(string, prefix) {\n return string.indexOf(prefix) === 0;\n}\n\nfunction endsWith(string, suffix) {\n return string.indexOf(suffix, string.length - suffix.length) !== -1;\n}\n\nfunction contains(haystack, needle) {\n if (!haystack) {\n throw new Error('Haystack is undefined.');\n }\n\n if (!needle) {\n throw new Error('Needle is undefined.');\n }\n\n return haystack.indexOf(needle) !== -1;\n}\n\nfunction stringWidthOverMWidth(len) {\n const n = 3; // For short strings with wide letters or numbers\n return (Math.min(len, n) * CHARACTER_MAX_WIDTH + Math.max(len - n, 0) * CHARACTER_AVERAGE_WIDTH) / M_WIDTH;\n}\n\nfunction getCharacterRatios(s) {\n if (!s) {\n return {\n latin: 0,\n cjk: 0,\n };\n }\n let CJK = s.match(/[\\u4E00-\\u9FFF]/g);\n let hiragana = s.match(/[\\u3040-\\u309F]/g);\n let katakana = s.match(/[\\u30A0-\\u30FF]/g);\n CJK = CJK ? CJK.length : 0;\n hiragana = hiragana ? hiragana.length : 0;\n katakana = katakana ? katakana.length : 0;\n const t = CJK + hiragana + katakana;\n return {\n latin: s.length - t,\n cjk: t,\n };\n}\n\nfunction getTotalCharacterRatios(qMatrix, columnIndex) {\n const total = { latin: 0, cjk: 0 };\n if (columnIndex === undefined) {\n qMatrix.forEach((row) => {\n const res = getCharacterRatios(row.qText);\n total.latin += res.latin;\n total.cjk += res.cjk;\n });\n } else {\n qMatrix.forEach((row) => {\n const res = getCharacterRatios(row[columnIndex].qText);\n total.latin += res.latin;\n total.cjk += res.cjk;\n });\n }\n const t = Math.max(1, total.latin + total.cjk);\n total.latinRatio = total.latin / t;\n total.cjkRatio = total.cjk / t;\n return total;\n}\n\nfunction getAdjustedMaxGlyphCount(maxGlyphCount, qMatrix, columnIndex) {\n const totalCharacterRatios = getTotalCharacterRatios(qMatrix, columnIndex);\n const latinGlyphCount = totalCharacterRatios.latinRatio * maxGlyphCount;\n const cjkGlyphCount = totalCharacterRatios.cjkRatio * maxGlyphCount;\n const adjustedMaxGlyphCount = Math.ceil(\n stringWidthOverMWidth(latinGlyphCount) + cjkGlyphCount * CJK_OVER_LATIN_WIDTH_RATIO\n );\n return adjustedMaxGlyphCount;\n}\n\n// TODO: Need to improve to make sure longer strings should have bigger width than shorter strings\nfunction estimateLatinLabelWidth(numLatins, maxLatinWidth, averageLatinWidth) {\n const latinWidth = numLatins <= 24 ? maxLatinWidth : averageLatinWidth;\n return numLatins * latinWidth;\n}\n\nfunction estimateLabelWidth(numCjks, numLatins, cjkWidth, maxLatinWidth, averageLatinWidth) {\n return numCjks * cjkWidth + estimateLatinLabelWidth(numLatins, maxLatinWidth, averageLatinWidth);\n}\n\nexport default {\n endsWith,\n startsWith,\n contains,\n stringWidthOverMWidth,\n getCharacterRatios,\n getTotalCharacterRatios,\n getAdjustedMaxGlyphCount,\n estimateLatinLabelWidth,\n estimateLabelWidth,\n};\n","import waterfallUtils from './waterfallchart-utils';\n// import NumberFormatter from '../../../assets/objects/utils/number-formatter';\n\n/**\n * Implementation details\n */\n\n// This will generate a hypercube from n measures\n\nfunction getGeneratedDimensionPath(dimIndex) {\n return `qDimensionInfo/${dimIndex}`;\n}\n\nfunction getGeneratedMeasurePath(mesIndex) {\n return `qMeasureInfo/${mesIndex}`;\n}\n\nfunction getMeasureFormat(layout) {\n return layout.qHyperCube.qMeasureInfo[0].qNumFormat;\n}\n\nfunction generateHyperCube(layout, theme) {\n const qMeasureInfo = layout.qHyperCube.qMeasureInfo;\n const qMatrix = layout.qHyperCube.qDataPages[0].qMatrix;\n const numMeasures = qMeasureInfo.length;\n if (!numMeasures) {\n return;\n }\n\n const positveColor = waterfallUtils.getColorForPositiveValue(layout, theme);\n const negativeColor = waterfallUtils.getColorForNegativeValue(layout, theme);\n\n const subtotalColor = waterfallUtils.getColorForSubtotal(layout, theme);\n // const _numberFormatter = new NumberFormatter(); // TODO: number formatter from picasso-plugin-q ??\n const _numberFormatter = { prepare: () => {}, formatValue: (x) => `${x}` };\n _numberFormatter.prepare('#.#A'); // Used by client generated subtotals when format by Measure expression selected.\n\n const generatedMatrix = [];\n let start = 0;\n let end = 0;\n let startMax = -Number.MAX_VALUE;\n let startMin = Number.MAX_VALUE;\n let endMax = -Number.MAX_VALUE;\n let endMin = Number.MAX_VALUE;\n let numItems = 0;\n let color;\n let qNum;\n for (let i = 0; i < numMeasures; i++) {\n qNum = Number.isNaN(+qMatrix[0][i].qNum) ? 0 : qMatrix[0][i].qNum;\n if (qMeasureInfo[i].valueType !== waterfallUtils.valueTypes.SUBTOTAL) {\n start = end;\n end += qNum * (qMeasureInfo[i].valueType === waterfallUtils.valueTypes.INVERSE ? -1 : 1);\n color = start < end ? positveColor : negativeColor;\n generatedMatrix.push([\n { qText: qMeasureInfo[i].qFallbackTitle, qElemNumber: numItems++ },\n { qText: color },\n { qNum: start },\n { qNum: end },\n { qNum: end - start, qText: qMatrix[0][i].qText },\n ]);\n if (qMeasureInfo[i].subtotal && qMeasureInfo[i].subtotal.enable) {\n generatedMatrix.push([\n { qText: qMeasureInfo[i].subtotal.label || '', qElemNumber: numItems++ },\n { qText: subtotalColor },\n { qNum: 0 },\n { qNum: end },\n { qNum: end, qText: _numberFormatter.formatValue(end) },\n ]);\n }\n } else {\n start = 0;\n end = qNum;\n generatedMatrix.push([\n { qText: qMeasureInfo[i].qFallbackTitle, qElemNumber: numItems++ },\n { qText: subtotalColor },\n { qNum: start },\n { qNum: end },\n { qNum: end - start, qText: qMatrix[0][i].qText },\n ]);\n }\n startMax = Math.max(startMax, start);\n startMin = Math.min(startMin, start);\n endMax = Math.max(endMax, end);\n endMin = Math.min(endMin, end);\n }\n const numFormat = getMeasureFormat(layout);\n const isAutoFormat = layout.qHyperCube.qMeasureInfo[0].qIsAutoFormat;\n const isCustomFormatted = layout.qDef.isCustomFormatted;\n const generated = {\n qHyperCube: {\n qMode: 'S',\n qDataPages: [\n {\n qArea: {\n qTop: 0,\n qLeft: 0,\n qWidth: 5,\n qHeight: generatedMatrix.length,\n },\n qMatrix: generatedMatrix,\n },\n ],\n qDimensionInfo: [\n {\n qStateCounts: {},\n },\n {\n qStateCounts: {},\n },\n ],\n qMeasureInfo: [\n {\n qMin: startMin,\n qMax: startMax,\n qNumFormat: numFormat,\n qIsAutoFormat: isAutoFormat,\n isCustomFormatted,\n },\n {\n qMin: endMin,\n qMax: endMax,\n qNumFormat: numFormat,\n qIsAutoFormat: isAutoFormat,\n isCustomFormatted,\n },\n {\n qMin: endMin,\n qMax: endMax,\n qNumFormat: numFormat,\n qIsAutoFormat: isAutoFormat,\n isCustomFormatted,\n },\n ],\n },\n };\n layout.generatedMatrix = generatedMatrix;\n layout.generated = generated;\n}\n\nfunction generateSlicedHyperCube(layout, top, height) {\n layout.generated.qHyperCube.qDataPages = [\n {\n qArea: {\n qTop: top,\n qLeft: 0,\n qWidth: 5,\n qHeight: height,\n },\n qMatrix: layout.generatedMatrix.slice(top, top + height),\n },\n ];\n}\n\nexport default {\n generateHyperCube,\n generateSlicedHyperCube,\n getGeneratedDimensionPath,\n getGeneratedMeasurePath,\n};\n","export default function(a, b) {\n return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}\n","import ascending from \"./ascending\";\nimport bisector from \"./bisector\";\n\nvar ascendingBisect = bisector(ascending);\nexport var bisectRight = ascendingBisect.right;\nexport var bisectLeft = ascendingBisect.left;\nexport default bisectRight;\n","import ascending from \"./ascending\";\n\nexport default function(compare) {\n if (compare.length === 1) compare = ascendingComparator(compare);\n return {\n left: function(a, x, lo, hi) {\n if (lo == null) lo = 0;\n if (hi == null) hi = a.length;\n while (lo < hi) {\n var mid = lo + hi >>> 1;\n if (compare(a[mid], x) < 0) lo = mid + 1;\n else hi = mid;\n }\n return lo;\n },\n right: function(a, x, lo, hi) {\n if (lo == null) lo = 0;\n if (hi == null) hi = a.length;\n while (lo < hi) {\n var mid = lo + hi >>> 1;\n if (compare(a[mid], x) > 0) hi = mid;\n else lo = mid + 1;\n }\n return lo;\n }\n };\n}\n\nfunction ascendingComparator(f) {\n return function(d, x) {\n return ascending(f(d), x);\n };\n}\n","var e10 = Math.sqrt(50),\n e5 = Math.sqrt(10),\n e2 = Math.sqrt(2);\n\nexport default function(start, stop, count) {\n var reverse,\n i = -1,\n n,\n ticks,\n step;\n\n stop = +stop, start = +start, count = +count;\n if (start === stop && count > 0) return [start];\n if (reverse = stop < start) n = start, start = stop, stop = n;\n if ((step = tickIncrement(start, stop, count)) === 0 || !isFinite(step)) return [];\n\n if (step > 0) {\n start = Math.ceil(start / step);\n stop = Math.floor(stop / step);\n ticks = new Array(n = Math.ceil(stop - start + 1));\n while (++i < n) ticks[i] = (start + i) * step;\n } else {\n start = Math.floor(start * step);\n stop = Math.ceil(stop * step);\n ticks = new Array(n = Math.ceil(start - stop + 1));\n while (++i < n) ticks[i] = (start - i) / step;\n }\n\n if (reverse) ticks.reverse();\n\n return ticks;\n}\n\nexport function tickIncrement(start, stop, count) {\n var step = (stop - start) / Math.max(0, count),\n power = Math.floor(Math.log(step) / Math.LN10),\n error = step / Math.pow(10, power);\n return power >= 0\n ? (error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1) * Math.pow(10, power)\n : -Math.pow(10, -power) / (error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1);\n}\n\nexport function tickStep(start, stop, count) {\n var step0 = Math.abs(stop - start) / Math.max(0, count),\n step1 = Math.pow(10, Math.floor(Math.log(step0) / Math.LN10)),\n error = step0 / step1;\n if (error >= e10) step1 *= 10;\n else if (error >= e5) step1 *= 5;\n else if (error >= e2) step1 *= 2;\n return stop < start ? -step1 : step1;\n}\n","export function initRange(domain, range) {\n switch (arguments.length) {\n case 0: break;\n case 1: this.range(domain); break;\n default: this.range(range).domain(domain); break;\n }\n return this;\n}\n\nexport function initInterpolator(domain, interpolator) {\n switch (arguments.length) {\n case 0: break;\n case 1: this.interpolator(domain); break;\n default: this.interpolator(interpolator).domain(domain); break;\n }\n return this;\n}\n","export var prefix = \"$\";\n\nfunction Map() {}\n\nMap.prototype = map.prototype = {\n constructor: Map,\n has: function(key) {\n return (prefix + key) in this;\n },\n get: function(key) {\n return this[prefix + key];\n },\n set: function(key, value) {\n this[prefix + key] = value;\n return this;\n },\n remove: function(key) {\n var property = prefix + key;\n return property in this && delete this[property];\n },\n clear: function() {\n for (var property in this) if (property[0] === prefix) delete this[property];\n },\n keys: function() {\n var keys = [];\n for (var property in this) if (property[0] === prefix) keys.push(property.slice(1));\n return keys;\n },\n values: function() {\n var values = [];\n for (var property in this) if (property[0] === prefix) values.push(this[property]);\n return values;\n },\n entries: function() {\n var entries = [];\n for (var property in this) if (property[0] === prefix) entries.push({key: property.slice(1), value: this[property]});\n return entries;\n },\n size: function() {\n var size = 0;\n for (var property in this) if (property[0] === prefix) ++size;\n return size;\n },\n empty: function() {\n for (var property in this) if (property[0] === prefix) return false;\n return true;\n },\n each: function(f) {\n for (var property in this) if (property[0] === prefix) f(this[property], property.slice(1), this);\n }\n};\n\nfunction map(object, f) {\n var map = new Map;\n\n // Copy constructor.\n if (object instanceof Map) object.each(function(value, key) { map.set(key, value); });\n\n // Index array by numeric index or specified key function.\n else if (Array.isArray(object)) {\n var i = -1,\n n = object.length,\n o;\n\n if (f == null) while (++i < n) map.set(i, object[i]);\n else while (++i < n) map.set(f(o = object[i], i, object), o);\n }\n\n // Convert object to map.\n else if (object) for (var key in object) map.set(key, object[key]);\n\n return map;\n}\n\nexport default map;\n","import {default as map, prefix} from \"./map\";\n\nfunction Set() {}\n\nvar proto = map.prototype;\n\nSet.prototype = set.prototype = {\n constructor: Set,\n has: proto.has,\n add: function(value) {\n value += \"\";\n this[prefix + value] = value;\n return this;\n },\n remove: proto.remove,\n clear: proto.clear,\n values: proto.keys,\n size: proto.size,\n empty: proto.empty,\n each: proto.each\n};\n\nfunction set(object, f) {\n var set = new Set;\n\n // Copy constructor.\n if (object instanceof Set) object.each(function(value) { set.add(value); });\n\n // Otherwise, assume it’s an array.\n else if (object) {\n var i = -1, n = object.length;\n if (f == null) while (++i < n) set.add(object[i]);\n else while (++i < n) set.add(f(object[i], i, object));\n }\n\n return set;\n}\n\nexport default set;\n","var array = Array.prototype;\n\nexport var map = array.map;\nexport var slice = array.slice;\n","export default function(constructor, factory, prototype) {\n constructor.prototype = factory.prototype = prototype;\n prototype.constructor = constructor;\n}\n\nexport function extend(parent, definition) {\n var prototype = Object.create(parent.prototype);\n for (var key in definition) prototype[key] = definition[key];\n return prototype;\n}\n","import define, {extend} from \"./define.js\";\n\nexport function Color() {}\n\nexport var darker = 0.7;\nexport var brighter = 1 / darker;\n\nvar reI = \"\\\\s*([+-]?\\\\d+)\\\\s*\",\n reN = \"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",\n reP = \"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",\n reHex = /^#([0-9a-f]{3,8})$/,\n reRgbInteger = new RegExp(\"^rgb\\\\(\" + [reI, reI, reI] + \"\\\\)$\"),\n reRgbPercent = new RegExp(\"^rgb\\\\(\" + [reP, reP, reP] + \"\\\\)$\"),\n reRgbaInteger = new RegExp(\"^rgba\\\\(\" + [reI, reI, reI, reN] + \"\\\\)$\"),\n reRgbaPercent = new RegExp(\"^rgba\\\\(\" + [reP, reP, reP, reN] + \"\\\\)$\"),\n reHslPercent = new RegExp(\"^hsl\\\\(\" + [reN, reP, reP] + \"\\\\)$\"),\n reHslaPercent = new RegExp(\"^hsla\\\\(\" + [reN, reP, reP, reN] + \"\\\\)$\");\n\nvar named = {\n aliceblue: 0xf0f8ff,\n antiquewhite: 0xfaebd7,\n aqua: 0x00ffff,\n aquamarine: 0x7fffd4,\n azure: 0xf0ffff,\n beige: 0xf5f5dc,\n bisque: 0xffe4c4,\n black: 0x000000,\n blanchedalmond: 0xffebcd,\n blue: 0x0000ff,\n blueviolet: 0x8a2be2,\n brown: 0xa52a2a,\n burlywood: 0xdeb887,\n cadetblue: 0x5f9ea0,\n chartreuse: 0x7fff00,\n chocolate: 0xd2691e,\n coral: 0xff7f50,\n cornflowerblue: 0x6495ed,\n cornsilk: 0xfff8dc,\n crimson: 0xdc143c,\n cyan: 0x00ffff,\n darkblue: 0x00008b,\n darkcyan: 0x008b8b,\n darkgoldenrod: 0xb8860b,\n darkgray: 0xa9a9a9,\n darkgreen: 0x006400,\n darkgrey: 0xa9a9a9,\n darkkhaki: 0xbdb76b,\n darkmagenta: 0x8b008b,\n darkolivegreen: 0x556b2f,\n darkorange: 0xff8c00,\n darkorchid: 0x9932cc,\n darkred: 0x8b0000,\n darksalmon: 0xe9967a,\n darkseagreen: 0x8fbc8f,\n darkslateblue: 0x483d8b,\n darkslategray: 0x2f4f4f,\n darkslategrey: 0x2f4f4f,\n darkturquoise: 0x00ced1,\n darkviolet: 0x9400d3,\n deeppink: 0xff1493,\n deepskyblue: 0x00bfff,\n dimgray: 0x696969,\n dimgrey: 0x696969,\n dodgerblue: 0x1e90ff,\n firebrick: 0xb22222,\n floralwhite: 0xfffaf0,\n forestgreen: 0x228b22,\n fuchsia: 0xff00ff,\n gainsboro: 0xdcdcdc,\n ghostwhite: 0xf8f8ff,\n gold: 0xffd700,\n goldenrod: 0xdaa520,\n gray: 0x808080,\n green: 0x008000,\n greenyellow: 0xadff2f,\n grey: 0x808080,\n honeydew: 0xf0fff0,\n hotpink: 0xff69b4,\n indianred: 0xcd5c5c,\n indigo: 0x4b0082,\n ivory: 0xfffff0,\n khaki: 0xf0e68c,\n lavender: 0xe6e6fa,\n lavenderblush: 0xfff0f5,\n lawngreen: 0x7cfc00,\n lemonchiffon: 0xfffacd,\n lightblue: 0xadd8e6,\n lightcoral: 0xf08080,\n lightcyan: 0xe0ffff,\n lightgoldenrodyellow: 0xfafad2,\n lightgray: 0xd3d3d3,\n lightgreen: 0x90ee90,\n lightgrey: 0xd3d3d3,\n lightpink: 0xffb6c1,\n lightsalmon: 0xffa07a,\n lightseagreen: 0x20b2aa,\n lightskyblue: 0x87cefa,\n lightslategray: 0x778899,\n lightslategrey: 0x778899,\n lightsteelblue: 0xb0c4de,\n lightyellow: 0xffffe0,\n lime: 0x00ff00,\n limegreen: 0x32cd32,\n linen: 0xfaf0e6,\n magenta: 0xff00ff,\n maroon: 0x800000,\n mediumaquamarine: 0x66cdaa,\n mediumblue: 0x0000cd,\n mediumorchid: 0xba55d3,\n mediumpurple: 0x9370db,\n mediumseagreen: 0x3cb371,\n mediumslateblue: 0x7b68ee,\n mediumspringgreen: 0x00fa9a,\n mediumturquoise: 0x48d1cc,\n mediumvioletred: 0xc71585,\n midnightblue: 0x191970,\n mintcream: 0xf5fffa,\n mistyrose: 0xffe4e1,\n moccasin: 0xffe4b5,\n navajowhite: 0xffdead,\n navy: 0x000080,\n oldlace: 0xfdf5e6,\n olive: 0x808000,\n olivedrab: 0x6b8e23,\n orange: 0xffa500,\n orangered: 0xff4500,\n orchid: 0xda70d6,\n palegoldenrod: 0xeee8aa,\n palegreen: 0x98fb98,\n paleturquoise: 0xafeeee,\n palevioletred: 0xdb7093,\n papayawhip: 0xffefd5,\n peachpuff: 0xffdab9,\n peru: 0xcd853f,\n pink: 0xffc0cb,\n plum: 0xdda0dd,\n powderblue: 0xb0e0e6,\n purple: 0x800080,\n rebeccapurple: 0x663399,\n red: 0xff0000,\n rosybrown: 0xbc8f8f,\n royalblue: 0x4169e1,\n saddlebrown: 0x8b4513,\n salmon: 0xfa8072,\n sandybrown: 0xf4a460,\n seagreen: 0x2e8b57,\n seashell: 0xfff5ee,\n sienna: 0xa0522d,\n silver: 0xc0c0c0,\n skyblue: 0x87ceeb,\n slateblue: 0x6a5acd,\n slategray: 0x708090,\n slategrey: 0x708090,\n snow: 0xfffafa,\n springgreen: 0x00ff7f,\n steelblue: 0x4682b4,\n tan: 0xd2b48c,\n teal: 0x008080,\n thistle: 0xd8bfd8,\n tomato: 0xff6347,\n turquoise: 0x40e0d0,\n violet: 0xee82ee,\n wheat: 0xf5deb3,\n white: 0xffffff,\n whitesmoke: 0xf5f5f5,\n yellow: 0xffff00,\n yellowgreen: 0x9acd32\n};\n\ndefine(Color, color, {\n copy: function(channels) {\n return Object.assign(new this.constructor, this, channels);\n },\n displayable: function() {\n return this.rgb().displayable();\n },\n hex: color_formatHex, // Deprecated! Use color.formatHex.\n formatHex: color_formatHex,\n formatHsl: color_formatHsl,\n formatRgb: color_formatRgb,\n toString: color_formatRgb\n});\n\nfunction color_formatHex() {\n return this.rgb().formatHex();\n}\n\nfunction color_formatHsl() {\n return hslConvert(this).formatHsl();\n}\n\nfunction color_formatRgb() {\n return this.rgb().formatRgb();\n}\n\nexport default function color(format) {\n var m, l;\n format = (format + \"\").trim().toLowerCase();\n return (m = reHex.exec(format)) ? (l = m[1].length, m = parseInt(m[1], 16), l === 6 ? rgbn(m) // #ff0000\n : l === 3 ? new Rgb((m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), ((m & 0xf) << 4) | (m & 0xf), 1) // #f00\n : l === 8 ? rgba(m >> 24 & 0xff, m >> 16 & 0xff, m >> 8 & 0xff, (m & 0xff) / 0xff) // #ff000000\n : l === 4 ? rgba((m >> 12 & 0xf) | (m >> 8 & 0xf0), (m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), (((m & 0xf) << 4) | (m & 0xf)) / 0xff) // #f000\n : null) // invalid hex\n : (m = reRgbInteger.exec(format)) ? new Rgb(m[1], m[2], m[3], 1) // rgb(255, 0, 0)\n : (m = reRgbPercent.exec(format)) ? new Rgb(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, 1) // rgb(100%, 0%, 0%)\n : (m = reRgbaInteger.exec(format)) ? rgba(m[1], m[2], m[3], m[4]) // rgba(255, 0, 0, 1)\n : (m = reRgbaPercent.exec(format)) ? rgba(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, m[4]) // rgb(100%, 0%, 0%, 1)\n : (m = reHslPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, 1) // hsl(120, 50%, 50%)\n : (m = reHslaPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, m[4]) // hsla(120, 50%, 50%, 1)\n : named.hasOwnProperty(format) ? rgbn(named[format]) // eslint-disable-line no-prototype-builtins\n : format === \"transparent\" ? new Rgb(NaN, NaN, NaN, 0)\n : null;\n}\n\nfunction rgbn(n) {\n return new Rgb(n >> 16 & 0xff, n >> 8 & 0xff, n & 0xff, 1);\n}\n\nfunction rgba(r, g, b, a) {\n if (a <= 0) r = g = b = NaN;\n return new Rgb(r, g, b, a);\n}\n\nexport function rgbConvert(o) {\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Rgb;\n o = o.rgb();\n return new Rgb(o.r, o.g, o.b, o.opacity);\n}\n\nexport function rgb(r, g, b, opacity) {\n return arguments.length === 1 ? rgbConvert(r) : new Rgb(r, g, b, opacity == null ? 1 : opacity);\n}\n\nexport function Rgb(r, g, b, opacity) {\n this.r = +r;\n this.g = +g;\n this.b = +b;\n this.opacity = +opacity;\n}\n\ndefine(Rgb, rgb, extend(Color, {\n brighter: function(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n darker: function(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n rgb: function() {\n return this;\n },\n displayable: function() {\n return (-0.5 <= this.r && this.r < 255.5)\n && (-0.5 <= this.g && this.g < 255.5)\n && (-0.5 <= this.b && this.b < 255.5)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n hex: rgb_formatHex, // Deprecated! Use color.formatHex.\n formatHex: rgb_formatHex,\n formatRgb: rgb_formatRgb,\n toString: rgb_formatRgb\n}));\n\nfunction rgb_formatHex() {\n return \"#\" + hex(this.r) + hex(this.g) + hex(this.b);\n}\n\nfunction rgb_formatRgb() {\n var a = this.opacity; a = isNaN(a) ? 1 : Math.max(0, Math.min(1, a));\n return (a === 1 ? \"rgb(\" : \"rgba(\")\n + Math.max(0, Math.min(255, Math.round(this.r) || 0)) + \", \"\n + Math.max(0, Math.min(255, Math.round(this.g) || 0)) + \", \"\n + Math.max(0, Math.min(255, Math.round(this.b) || 0))\n + (a === 1 ? \")\" : \", \" + a + \")\");\n}\n\nfunction hex(value) {\n value = Math.max(0, Math.min(255, Math.round(value) || 0));\n return (value < 16 ? \"0\" : \"\") + value.toString(16);\n}\n\nfunction hsla(h, s, l, a) {\n if (a <= 0) h = s = l = NaN;\n else if (l <= 0 || l >= 1) h = s = NaN;\n else if (s <= 0) h = NaN;\n return new Hsl(h, s, l, a);\n}\n\nexport function hslConvert(o) {\n if (o instanceof Hsl) return new Hsl(o.h, o.s, o.l, o.opacity);\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Hsl;\n if (o instanceof Hsl) return o;\n o = o.rgb();\n var r = o.r / 255,\n g = o.g / 255,\n b = o.b / 255,\n min = Math.min(r, g, b),\n max = Math.max(r, g, b),\n h = NaN,\n s = max - min,\n l = (max + min) / 2;\n if (s) {\n if (r === max) h = (g - b) / s + (g < b) * 6;\n else if (g === max) h = (b - r) / s + 2;\n else h = (r - g) / s + 4;\n s /= l < 0.5 ? max + min : 2 - max - min;\n h *= 60;\n } else {\n s = l > 0 && l < 1 ? 0 : h;\n }\n return new Hsl(h, s, l, o.opacity);\n}\n\nexport function hsl(h, s, l, opacity) {\n return arguments.length === 1 ? hslConvert(h) : new Hsl(h, s, l, opacity == null ? 1 : opacity);\n}\n\nfunction Hsl(h, s, l, opacity) {\n this.h = +h;\n this.s = +s;\n this.l = +l;\n this.opacity = +opacity;\n}\n\ndefine(Hsl, hsl, extend(Color, {\n brighter: function(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n darker: function(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n rgb: function() {\n var h = this.h % 360 + (this.h < 0) * 360,\n s = isNaN(h) || isNaN(this.s) ? 0 : this.s,\n l = this.l,\n m2 = l + (l < 0.5 ? l : 1 - l) * s,\n m1 = 2 * l - m2;\n return new Rgb(\n hsl2rgb(h >= 240 ? h - 240 : h + 120, m1, m2),\n hsl2rgb(h, m1, m2),\n hsl2rgb(h < 120 ? h + 240 : h - 120, m1, m2),\n this.opacity\n );\n },\n displayable: function() {\n return (0 <= this.s && this.s <= 1 || isNaN(this.s))\n && (0 <= this.l && this.l <= 1)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n formatHsl: function() {\n var a = this.opacity; a = isNaN(a) ? 1 : Math.max(0, Math.min(1, a));\n return (a === 1 ? \"hsl(\" : \"hsla(\")\n + (this.h || 0) + \", \"\n + (this.s || 0) * 100 + \"%, \"\n + (this.l || 0) * 100 + \"%\"\n + (a === 1 ? \")\" : \", \" + a + \")\");\n }\n}));\n\n/* From FvD 13.37, CSS Color Module Level 3 */\nfunction hsl2rgb(h, m1, m2) {\n return (h < 60 ? m1 + (m2 - m1) * h / 60\n : h < 180 ? m2\n : h < 240 ? m1 + (m2 - m1) * (240 - h) / 60\n : m1) * 255;\n}\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","import constant from \"./constant.js\";\n\nfunction linear(a, d) {\n return function(t) {\n return a + t * d;\n };\n}\n\nfunction exponential(a, b, y) {\n return a = Math.pow(a, y), b = Math.pow(b, y) - a, y = 1 / y, function(t) {\n return Math.pow(a + t * b, y);\n };\n}\n\nexport function hue(a, b) {\n var d = b - a;\n return d ? linear(a, d > 180 || d < -180 ? d - 360 * Math.round(d / 360) : d) : constant(isNaN(a) ? b : a);\n}\n\nexport function gamma(y) {\n return (y = +y) === 1 ? nogamma : function(a, b) {\n return b - a ? exponential(a, b, y) : constant(isNaN(a) ? b : a);\n };\n}\n\nexport default function nogamma(a, b) {\n var d = b - a;\n return d ? linear(a, d) : constant(isNaN(a) ? b : a);\n}\n","import {rgb as colorRgb} from \"d3-color\";\nimport basis from \"./basis.js\";\nimport basisClosed from \"./basisClosed.js\";\nimport nogamma, {gamma} from \"./color.js\";\n\nexport default (function rgbGamma(y) {\n var color = gamma(y);\n\n function rgb(start, end) {\n var r = color((start = colorRgb(start)).r, (end = colorRgb(end)).r),\n g = color(start.g, end.g),\n b = color(start.b, end.b),\n opacity = nogamma(start.opacity, end.opacity);\n return function(t) {\n start.r = r(t);\n start.g = g(t);\n start.b = b(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n\n rgb.gamma = rgbGamma;\n\n return rgb;\n})(1);\n\nfunction rgbSpline(spline) {\n return function(colors) {\n var n = colors.length,\n r = new Array(n),\n g = new Array(n),\n b = new Array(n),\n i, color;\n for (i = 0; i < n; ++i) {\n color = colorRgb(colors[i]);\n r[i] = color.r || 0;\n g[i] = color.g || 0;\n b[i] = color.b || 0;\n }\n r = spline(r);\n g = spline(g);\n b = spline(b);\n color.opacity = 1;\n return function(t) {\n color.r = r(t);\n color.g = g(t);\n color.b = b(t);\n return color + \"\";\n };\n };\n}\n\nexport var rgbBasis = rgbSpline(basis);\nexport var rgbBasisClosed = rgbSpline(basisClosed);\n","export default function(a, b) {\n if (!b) b = [];\n var n = a ? Math.min(b.length, a.length) : 0,\n c = b.slice(),\n i;\n return function(t) {\n for (i = 0; i < n; ++i) c[i] = a[i] * (1 - t) + b[i] * t;\n return c;\n };\n}\n\nexport function isNumberArray(x) {\n return ArrayBuffer.isView(x) && !(x instanceof DataView);\n}\n","import value from \"./value.js\";\nimport numberArray, {isNumberArray} from \"./numberArray.js\";\n\nexport default function(a, b) {\n return (isNumberArray(b) ? numberArray : genericArray)(a, b);\n}\n\nexport function genericArray(a, b) {\n var nb = b ? b.length : 0,\n na = a ? Math.min(nb, a.length) : 0,\n x = new Array(na),\n c = new Array(nb),\n i;\n\n for (i = 0; i < na; ++i) x[i] = value(a[i], b[i]);\n for (; i < nb; ++i) c[i] = b[i];\n\n return function(t) {\n for (i = 0; i < na; ++i) c[i] = x[i](t);\n return c;\n };\n}\n","export default function(a, b) {\n var d = new Date;\n return a = +a, b = +b, function(t) {\n return d.setTime(a * (1 - t) + b * t), d;\n };\n}\n","export default function(a, b) {\n return a = +a, b = +b, function(t) {\n return a * (1 - t) + b * t;\n };\n}\n","import value from \"./value.js\";\n\nexport default function(a, b) {\n var i = {},\n c = {},\n k;\n\n if (a === null || typeof a !== \"object\") a = {};\n if (b === null || typeof b !== \"object\") b = {};\n\n for (k in b) {\n if (k in a) {\n i[k] = value(a[k], b[k]);\n } else {\n c[k] = b[k];\n }\n }\n\n return function(t) {\n for (k in i) c[k] = i[k](t);\n return c;\n };\n}\n","import number from \"./number.js\";\n\nvar reA = /[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,\n reB = new RegExp(reA.source, \"g\");\n\nfunction zero(b) {\n return function() {\n return b;\n };\n}\n\nfunction one(b) {\n return function(t) {\n return b(t) + \"\";\n };\n}\n\nexport default function(a, b) {\n var bi = reA.lastIndex = reB.lastIndex = 0, // scan index for next number in b\n am, // current match in a\n bm, // current match in b\n bs, // string preceding current number in b, if any\n i = -1, // index in s\n s = [], // string constants and placeholders\n q = []; // number interpolators\n\n // Coerce inputs to strings.\n a = a + \"\", b = b + \"\";\n\n // Interpolate pairs of numbers in a & b.\n while ((am = reA.exec(a))\n && (bm = reB.exec(b))) {\n if ((bs = bm.index) > bi) { // a string precedes the next number in b\n bs = b.slice(bi, bs);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n if ((am = am[0]) === (bm = bm[0])) { // numbers in a & b match\n if (s[i]) s[i] += bm; // coalesce with previous string\n else s[++i] = bm;\n } else { // interpolate non-matching numbers\n s[++i] = null;\n q.push({i: i, x: number(am, bm)});\n }\n bi = reB.lastIndex;\n }\n\n // Add remains of b.\n if (bi < b.length) {\n bs = b.slice(bi);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n\n // Special optimization for only a single match.\n // Otherwise, interpolate each of the numbers and rejoin the string.\n return s.length < 2 ? (q[0]\n ? one(q[0].x)\n : zero(b))\n : (b = q.length, function(t) {\n for (var i = 0, o; i < b; ++i) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n });\n}\n","import {color} from \"d3-color\";\nimport rgb from \"./rgb.js\";\nimport {genericArray} from \"./array.js\";\nimport date from \"./date.js\";\nimport number from \"./number.js\";\nimport object from \"./object.js\";\nimport string from \"./string.js\";\nimport constant from \"./constant.js\";\nimport numberArray, {isNumberArray} from \"./numberArray.js\";\n\nexport default function(a, b) {\n var t = typeof b, c;\n return b == null || t === \"boolean\" ? constant(b)\n : (t === \"number\" ? number\n : t === \"string\" ? ((c = color(b)) ? (b = c, rgb) : string)\n : b instanceof color ? rgb\n : b instanceof Date ? date\n : isNumberArray(b) ? numberArray\n : Array.isArray(b) ? genericArray\n : typeof b.valueOf !== \"function\" && typeof b.toString !== \"function\" || isNaN(b) ? object\n : number)(a, b);\n}\n","export default function(a, b) {\n return a = +a, b = +b, function(t) {\n return Math.round(a * (1 - t) + b * t);\n };\n}\n","export default function(x) {\n return +x;\n}\n","import {bisect} from \"d3-array\";\nimport {interpolate as interpolateValue, interpolateNumber, interpolateRound} from \"d3-interpolate\";\nimport {map, slice} from \"./array\";\nimport constant from \"./constant\";\nimport number from \"./number\";\n\nvar unit = [0, 1];\n\nexport function identity(x) {\n return x;\n}\n\nfunction normalize(a, b) {\n return (b -= (a = +a))\n ? function(x) { return (x - a) / b; }\n : constant(isNaN(b) ? NaN : 0.5);\n}\n\nfunction clamper(domain) {\n var a = domain[0], b = domain[domain.length - 1], t;\n if (a > b) t = a, a = b, b = t;\n return function(x) { return Math.max(a, Math.min(b, x)); };\n}\n\n// normalize(a, b)(x) takes a domain value x in [a,b] and returns the corresponding parameter t in [0,1].\n// interpolate(a, b)(t) takes a parameter t in [0,1] and returns the corresponding range value x in [a,b].\nfunction bimap(domain, range, interpolate) {\n var d0 = domain[0], d1 = domain[1], r0 = range[0], r1 = range[1];\n if (d1 < d0) d0 = normalize(d1, d0), r0 = interpolate(r1, r0);\n else d0 = normalize(d0, d1), r0 = interpolate(r0, r1);\n return function(x) { return r0(d0(x)); };\n}\n\nfunction polymap(domain, range, interpolate) {\n var j = Math.min(domain.length, range.length) - 1,\n d = new Array(j),\n r = new Array(j),\n i = -1;\n\n // Reverse descending domains.\n if (domain[j] < domain[0]) {\n domain = domain.slice().reverse();\n range = range.slice().reverse();\n }\n\n while (++i < j) {\n d[i] = normalize(domain[i], domain[i + 1]);\n r[i] = interpolate(range[i], range[i + 1]);\n }\n\n return function(x) {\n var i = bisect(domain, x, 1, j) - 1;\n return r[i](d[i](x));\n };\n}\n\nexport function copy(source, target) {\n return target\n .domain(source.domain())\n .range(source.range())\n .interpolate(source.interpolate())\n .clamp(source.clamp())\n .unknown(source.unknown());\n}\n\nexport function transformer() {\n var domain = unit,\n range = unit,\n interpolate = interpolateValue,\n transform,\n untransform,\n unknown,\n clamp = identity,\n piecewise,\n output,\n input;\n\n function rescale() {\n piecewise = Math.min(domain.length, range.length) > 2 ? polymap : bimap;\n output = input = null;\n return scale;\n }\n\n function scale(x) {\n return isNaN(x = +x) ? unknown : (output || (output = piecewise(domain.map(transform), range, interpolate)))(transform(clamp(x)));\n }\n\n scale.invert = function(y) {\n return clamp(untransform((input || (input = piecewise(range, domain.map(transform), interpolateNumber)))(y)));\n };\n\n scale.domain = function(_) {\n return arguments.length ? (domain = map.call(_, number), clamp === identity || (clamp = clamper(domain)), rescale()) : domain.slice();\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = slice.call(_), rescale()) : range.slice();\n };\n\n scale.rangeRound = function(_) {\n return range = slice.call(_), interpolate = interpolateRound, rescale();\n };\n\n scale.clamp = function(_) {\n return arguments.length ? (clamp = _ ? clamper(domain) : identity, scale) : clamp !== identity;\n };\n\n scale.interpolate = function(_) {\n return arguments.length ? (interpolate = _, rescale()) : interpolate;\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n return function(t, u) {\n transform = t, untransform = u;\n return rescale();\n };\n}\n\nexport default function continuous(transform, untransform) {\n return transformer()(transform, untransform);\n}\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","export default function(x) {\n return Math.abs(x = Math.round(x)) >= 1e21\n ? x.toLocaleString(\"en\").replace(/,/g, \"\")\n : x.toString(10);\n}\n\n// Computes the decimal coefficient and exponent of the specified number x with\n// significant digits p, where x is positive and p is in [1, 21] or undefined.\n// For example, formatDecimalParts(1.23) returns [\"123\", 0].\nexport function formatDecimalParts(x, p) {\n if ((i = (x = p ? x.toExponential(p - 1) : x.toExponential()).indexOf(\"e\")) < 0) return null; // NaN, ±Infinity\n var i, coefficient = x.slice(0, i);\n\n // The string returned by toExponential either has the form \\d\\.\\d+e[-+]\\d+\n // (e.g., 1.2e+3) or the form \\de[-+]\\d+ (e.g., 1e+3).\n return [\n coefficient.length > 1 ? coefficient[0] + coefficient.slice(2) : coefficient,\n +x.slice(i + 1)\n ];\n}\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport default function(x) {\n return x = formatDecimalParts(Math.abs(x)), x ? x[1] : NaN;\n}\n","// [[fill]align][sign][symbol][0][width][,][.precision][~][type]\nvar re = /^(?:(.)?([<>=^]))?([+\\-( ])?([$#])?(0)?(\\d+)?(,)?(\\.\\d+)?(~)?([a-z%])?$/i;\n\nexport default function formatSpecifier(specifier) {\n if (!(match = re.exec(specifier))) throw new Error(\"invalid format: \" + specifier);\n var match;\n return new FormatSpecifier({\n fill: match[1],\n align: match[2],\n sign: match[3],\n symbol: match[4],\n zero: match[5],\n width: match[6],\n comma: match[7],\n precision: match[8] && match[8].slice(1),\n trim: match[9],\n type: match[10]\n });\n}\n\nformatSpecifier.prototype = FormatSpecifier.prototype; // instanceof\n\nexport function FormatSpecifier(specifier) {\n this.fill = specifier.fill === undefined ? \" \" : specifier.fill + \"\";\n this.align = specifier.align === undefined ? \">\" : specifier.align + \"\";\n this.sign = specifier.sign === undefined ? \"-\" : specifier.sign + \"\";\n this.symbol = specifier.symbol === undefined ? \"\" : specifier.symbol + \"\";\n this.zero = !!specifier.zero;\n this.width = specifier.width === undefined ? undefined : +specifier.width;\n this.comma = !!specifier.comma;\n this.precision = specifier.precision === undefined ? undefined : +specifier.precision;\n this.trim = !!specifier.trim;\n this.type = specifier.type === undefined ? \"\" : specifier.type + \"\";\n}\n\nFormatSpecifier.prototype.toString = function() {\n return this.fill\n + this.align\n + this.sign\n + this.symbol\n + (this.zero ? \"0\" : \"\")\n + (this.width === undefined ? \"\" : Math.max(1, this.width | 0))\n + (this.comma ? \",\" : \"\")\n + (this.precision === undefined ? \"\" : \".\" + Math.max(0, this.precision | 0))\n + (this.trim ? \"~\" : \"\")\n + this.type;\n};\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport var prefixExponent;\n\nexport default function(x, p) {\n var d = formatDecimalParts(x, p);\n if (!d) return x + \"\";\n var coefficient = d[0],\n exponent = d[1],\n i = exponent - (prefixExponent = Math.max(-8, Math.min(8, Math.floor(exponent / 3))) * 3) + 1,\n n = coefficient.length;\n return i === n ? coefficient\n : i > n ? coefficient + new Array(i - n + 1).join(\"0\")\n : i > 0 ? coefficient.slice(0, i) + \".\" + coefficient.slice(i)\n : \"0.\" + new Array(1 - i).join(\"0\") + formatDecimalParts(x, Math.max(0, p + i - 1))[0]; // less than 1y!\n}\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport default function(x, p) {\n var d = formatDecimalParts(x, p);\n if (!d) return x + \"\";\n var coefficient = d[0],\n exponent = d[1];\n return exponent < 0 ? \"0.\" + new Array(-exponent).join(\"0\") + coefficient\n : coefficient.length > exponent + 1 ? coefficient.slice(0, exponent + 1) + \".\" + coefficient.slice(exponent + 1)\n : coefficient + new Array(exponent - coefficient.length + 2).join(\"0\");\n}\n","import formatDecimal from \"./formatDecimal.js\";\nimport formatPrefixAuto from \"./formatPrefixAuto.js\";\nimport formatRounded from \"./formatRounded.js\";\n\nexport default {\n \"%\": function(x, p) { return (x * 100).toFixed(p); },\n \"b\": function(x) { return Math.round(x).toString(2); },\n \"c\": function(x) { return x + \"\"; },\n \"d\": formatDecimal,\n \"e\": function(x, p) { return x.toExponential(p); },\n \"f\": function(x, p) { return x.toFixed(p); },\n \"g\": function(x, p) { return x.toPrecision(p); },\n \"o\": function(x) { return Math.round(x).toString(8); },\n \"p\": function(x, p) { return formatRounded(x * 100, p); },\n \"r\": formatRounded,\n \"s\": formatPrefixAuto,\n \"X\": function(x) { return Math.round(x).toString(16).toUpperCase(); },\n \"x\": function(x) { return Math.round(x).toString(16); }\n};\n","export default function(x) {\n return x;\n}\n","import exponent from \"./exponent.js\";\nimport formatGroup from \"./formatGroup.js\";\nimport formatNumerals from \"./formatNumerals.js\";\nimport formatSpecifier from \"./formatSpecifier.js\";\nimport formatTrim from \"./formatTrim.js\";\nimport formatTypes from \"./formatTypes.js\";\nimport {prefixExponent} from \"./formatPrefixAuto.js\";\nimport identity from \"./identity.js\";\n\nvar map = Array.prototype.map,\n prefixes = [\"y\",\"z\",\"a\",\"f\",\"p\",\"n\",\"µ\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\",\"P\",\"E\",\"Z\",\"Y\"];\n\nexport default function(locale) {\n var group = locale.grouping === undefined || locale.thousands === undefined ? identity : formatGroup(map.call(locale.grouping, Number), locale.thousands + \"\"),\n currencyPrefix = locale.currency === undefined ? \"\" : locale.currency[0] + \"\",\n currencySuffix = locale.currency === undefined ? \"\" : locale.currency[1] + \"\",\n decimal = locale.decimal === undefined ? \".\" : locale.decimal + \"\",\n numerals = locale.numerals === undefined ? identity : formatNumerals(map.call(locale.numerals, String)),\n percent = locale.percent === undefined ? \"%\" : locale.percent + \"\",\n minus = locale.minus === undefined ? \"-\" : locale.minus + \"\",\n nan = locale.nan === undefined ? \"NaN\" : locale.nan + \"\";\n\n function newFormat(specifier) {\n specifier = formatSpecifier(specifier);\n\n var fill = specifier.fill,\n align = specifier.align,\n sign = specifier.sign,\n symbol = specifier.symbol,\n zero = specifier.zero,\n width = specifier.width,\n comma = specifier.comma,\n precision = specifier.precision,\n trim = specifier.trim,\n type = specifier.type;\n\n // The \"n\" type is an alias for \",g\".\n if (type === \"n\") comma = true, type = \"g\";\n\n // The \"\" type, and any invalid type, is an alias for \".12~g\".\n else if (!formatTypes[type]) precision === undefined && (precision = 12), trim = true, type = \"g\";\n\n // If zero fill is specified, padding goes after sign and before digits.\n if (zero || (fill === \"0\" && align === \"=\")) zero = true, fill = \"0\", align = \"=\";\n\n // Compute the prefix and suffix.\n // For SI-prefix, the suffix is lazily computed.\n var prefix = symbol === \"$\" ? currencyPrefix : symbol === \"#\" && /[boxX]/.test(type) ? \"0\" + type.toLowerCase() : \"\",\n suffix = symbol === \"$\" ? currencySuffix : /[%p]/.test(type) ? percent : \"\";\n\n // What format function should we use?\n // Is this an integer type?\n // Can this type generate exponential notation?\n var formatType = formatTypes[type],\n maybeSuffix = /[defgprs%]/.test(type);\n\n // Set the default precision if not specified,\n // or clamp the specified precision to the supported range.\n // For significant precision, it must be in [1, 21].\n // For fixed precision, it must be in [0, 20].\n precision = precision === undefined ? 6\n : /[gprs]/.test(type) ? Math.max(1, Math.min(21, precision))\n : Math.max(0, Math.min(20, precision));\n\n function format(value) {\n var valuePrefix = prefix,\n valueSuffix = suffix,\n i, n, c;\n\n if (type === \"c\") {\n valueSuffix = formatType(value) + valueSuffix;\n value = \"\";\n } else {\n value = +value;\n\n // Determine the sign. -0 is not less than 0, but 1 / -0 is!\n var valueNegative = value < 0 || 1 / value < 0;\n\n // Perform the initial formatting.\n value = isNaN(value) ? nan : formatType(Math.abs(value), precision);\n\n // Trim insignificant zeros.\n if (trim) value = formatTrim(value);\n\n // If a negative value rounds to zero after formatting, and no explicit positive sign is requested, hide the sign.\n if (valueNegative && +value === 0 && sign !== \"+\") valueNegative = false;\n\n // Compute the prefix and suffix.\n valuePrefix = (valueNegative ? (sign === \"(\" ? sign : minus) : sign === \"-\" || sign === \"(\" ? \"\" : sign) + valuePrefix;\n valueSuffix = (type === \"s\" ? prefixes[8 + prefixExponent / 3] : \"\") + valueSuffix + (valueNegative && sign === \"(\" ? \")\" : \"\");\n\n // Break the formatted value into the integer “value” part that can be\n // grouped, and fractional or exponential “suffix” part that is not.\n if (maybeSuffix) {\n i = -1, n = value.length;\n while (++i < n) {\n if (c = value.charCodeAt(i), 48 > c || c > 57) {\n valueSuffix = (c === 46 ? decimal + value.slice(i + 1) : value.slice(i)) + valueSuffix;\n value = value.slice(0, i);\n break;\n }\n }\n }\n }\n\n // If the fill character is not \"0\", grouping is applied before padding.\n if (comma && !zero) value = group(value, Infinity);\n\n // Compute the padding.\n var length = valuePrefix.length + value.length + valueSuffix.length,\n padding = length < width ? new Array(width - length + 1).join(fill) : \"\";\n\n // If the fill character is \"0\", grouping is applied after padding.\n if (comma && zero) value = group(padding + value, padding.length ? width - valueSuffix.length : Infinity), padding = \"\";\n\n // Reconstruct the final output based on the desired alignment.\n switch (align) {\n case \"<\": value = valuePrefix + value + valueSuffix + padding; break;\n case \"=\": value = valuePrefix + padding + value + valueSuffix; break;\n case \"^\": value = padding.slice(0, length = padding.length >> 1) + valuePrefix + value + valueSuffix + padding.slice(length); break;\n default: value = padding + valuePrefix + value + valueSuffix; break;\n }\n\n return numerals(value);\n }\n\n format.toString = function() {\n return specifier + \"\";\n };\n\n return format;\n }\n\n function formatPrefix(specifier, value) {\n var f = newFormat((specifier = formatSpecifier(specifier), specifier.type = \"f\", specifier)),\n e = Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3,\n k = Math.pow(10, -e),\n prefix = prefixes[8 + e / 3];\n return function(value) {\n return f(k * value) + prefix;\n };\n }\n\n return {\n format: newFormat,\n formatPrefix: formatPrefix\n };\n}\n","import formatLocale from \"./locale.js\";\n\nvar locale;\nexport var format;\nexport var formatPrefix;\n\ndefaultLocale({\n decimal: \".\",\n thousands: \",\",\n grouping: [3],\n currency: [\"$\", \"\"],\n minus: \"-\"\n});\n\nexport default function defaultLocale(definition) {\n locale = formatLocale(definition);\n format = locale.format;\n formatPrefix = locale.formatPrefix;\n return locale;\n}\n","export default function(grouping, thousands) {\n return function(value, width) {\n var i = value.length,\n t = [],\n j = 0,\n g = grouping[0],\n length = 0;\n\n while (i > 0 && g > 0) {\n if (length + g + 1 > width) g = Math.max(1, width - length);\n t.push(value.substring(i -= g, i + g));\n if ((length += g + 1) > width) break;\n g = grouping[j = (j + 1) % grouping.length];\n }\n\n return t.reverse().join(thousands);\n };\n}\n","export default function(numerals) {\n return function(value) {\n return value.replace(/[0-9]/g, function(i) {\n return numerals[+i];\n });\n };\n}\n","// Trims insignificant zeros, e.g., replaces 1.2000k with 1.2k.\nexport default function(s) {\n out: for (var n = s.length, i = 1, i0 = -1, i1; i < n; ++i) {\n switch (s[i]) {\n case \".\": i0 = i1 = i; break;\n case \"0\": if (i0 === 0) i0 = i; i1 = i; break;\n default: if (!+s[i]) break out; if (i0 > 0) i0 = 0; break;\n }\n }\n return i0 > 0 ? s.slice(0, i0) + s.slice(i1 + 1) : s;\n}\n","import {tickStep} from \"d3-array\";\nimport {format, formatPrefix, formatSpecifier, precisionFixed, precisionPrefix, precisionRound} from \"d3-format\";\n\nexport default function(start, stop, count, specifier) {\n var step = tickStep(start, stop, count),\n precision;\n specifier = formatSpecifier(specifier == null ? \",f\" : specifier);\n switch (specifier.type) {\n case \"s\": {\n var value = Math.max(Math.abs(start), Math.abs(stop));\n if (specifier.precision == null && !isNaN(precision = precisionPrefix(step, value))) specifier.precision = precision;\n return formatPrefix(specifier, value);\n }\n case \"\":\n case \"e\":\n case \"g\":\n case \"p\":\n case \"r\": {\n if (specifier.precision == null && !isNaN(precision = precisionRound(step, Math.max(Math.abs(start), Math.abs(stop))))) specifier.precision = precision - (specifier.type === \"e\");\n break;\n }\n case \"f\":\n case \"%\": {\n if (specifier.precision == null && !isNaN(precision = precisionFixed(step))) specifier.precision = precision - (specifier.type === \"%\") * 2;\n break;\n }\n }\n return format(specifier);\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step, value) {\n return Math.max(0, Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3 - exponent(Math.abs(step)));\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step, max) {\n step = Math.abs(step), max = Math.abs(max) - step;\n return Math.max(0, exponent(max) - exponent(step)) + 1;\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step) {\n return Math.max(0, -exponent(Math.abs(step)));\n}\n","import {ticks, tickIncrement} from \"d3-array\";\nimport continuous, {copy, identity} from \"./continuous\";\nimport {initRange} from \"./init\";\nimport tickFormat from \"./tickFormat\";\n\nexport function linearish(scale) {\n var domain = scale.domain;\n\n scale.ticks = function(count) {\n var d = domain();\n return ticks(d[0], d[d.length - 1], count == null ? 10 : count);\n };\n\n scale.tickFormat = function(count, specifier) {\n var d = domain();\n return tickFormat(d[0], d[d.length - 1], count == null ? 10 : count, specifier);\n };\n\n scale.nice = function(count) {\n if (count == null) count = 10;\n\n var d = domain(),\n i0 = 0,\n i1 = d.length - 1,\n start = d[i0],\n stop = d[i1],\n step;\n\n if (stop < start) {\n step = start, start = stop, stop = step;\n step = i0, i0 = i1, i1 = step;\n }\n\n step = tickIncrement(start, stop, count);\n\n if (step > 0) {\n start = Math.floor(start / step) * step;\n stop = Math.ceil(stop / step) * step;\n step = tickIncrement(start, stop, count);\n } else if (step < 0) {\n start = Math.ceil(start * step) / step;\n stop = Math.floor(stop * step) / step;\n step = tickIncrement(start, stop, count);\n }\n\n if (step > 0) {\n d[i0] = Math.floor(start / step) * step;\n d[i1] = Math.ceil(stop / step) * step;\n domain(d);\n } else if (step < 0) {\n d[i0] = Math.ceil(start * step) / step;\n d[i1] = Math.floor(stop * step) / step;\n domain(d);\n }\n\n return scale;\n };\n\n return scale;\n}\n\nexport default function linear() {\n var scale = continuous(identity, identity);\n\n scale.copy = function() {\n return copy(scale, linear());\n };\n\n initRange.apply(scale, arguments);\n\n return linearish(scale);\n}\n","import { scaleLinear } from 'd3-scale';\n\nconst SENSE_PICASSO_SPACING_COEFFICIENT = 100;\n\nconst tickGenerator = {\n getMinorTicks({ majorTicks, minorTickCount }) {\n const minor = [];\n for (let i = 0; i < majorTicks.length - 1; i++) {\n const start = majorTicks[i];\n const end = majorTicks[i + 1];\n const step = (end - start) / (minorTickCount + 1);\n\n for (let c = 1; c <= minorTickCount; c++) {\n minor.push(start + step * c);\n }\n }\n\n return minor;\n },\n\n // Adjust ticks: a) add minor ticks at two ends, if neccessary,\n // b) add set min and/or set max\n // For simplicity, only consider minorTickCount == 1\n adjustTicks({ ticks, majorTicks, minorTicks, autoMinMax, minMax, min, max }) {\n // a) add minor ticks at two ends, if neccessary,\n const d = minorTicks[0] - majorTicks[0];\n const deltaMin = majorTicks[0] - min;\n if (deltaMin > d) ticks.unshift({ value: majorTicks[0] - d, isMinor: true });\n const deltaMax = max - majorTicks[majorTicks.length - 1];\n if (deltaMax > d) ticks.push({ value: majorTicks[majorTicks.length - 1] + d, isMinor: true });\n if (autoMinMax) return ticks;\n\n // b) add set min and/or set max\n if ((minMax === 'min' || minMax === 'minMax') && deltaMin > 0) {\n ticks.unshift({ value: min, isMinor: false });\n }\n if ((minMax === 'max' || minMax === 'minMax') && deltaMax > 0) {\n ticks.push({ value: max, isMinor: false });\n }\n return ticks;\n },\n\n getTicks({ layout, height }) {\n const { autoMinMax, minMax, spacing } = layout.measureAxis;\n let min = Math.min(...layout.generated.qHyperCube.qMeasureInfo.map((measure) => measure.qMin));\n let max = Math.max(...layout.generated.qHyperCube.qMeasureInfo.map((measure) => measure.qMax));\n if (!autoMinMax) {\n switch (minMax) {\n case 'min':\n min = layout.measureAxis.min;\n break;\n case 'max':\n max = layout.measureAxis.max;\n break;\n case 'minMax':\n ({ min, max } = layout.measureAxis);\n break;\n default:\n break;\n }\n }\n const distance = SENSE_PICASSO_SPACING_COEFFICIENT * spacing;\n const count = Math.max(1, Math.round(height / distance));\n\n const scale = scaleLinear().domain([min, max]);\n const majorTicks = scale.ticks(count);\n const minorTicks = tickGenerator.getMinorTicks({ majorTicks, minorTickCount: 1 });\n\n // Generate an array of tick objects following the format defined by picasso\n const ticks = [\n ...majorTicks.map((value) => ({ value, isMinor: false })),\n ...minorTicks.map((value) => ({ value, isMinor: true })),\n ].sort((a, b) => a.value - b.value);\n return tickGenerator.adjustTicks({ ticks, majorTicks, minorTicks, autoMinMax, minMax, min, max });\n },\n};\n\nexport default tickGenerator;\n","import ChartView from '@qlik/common/picasso/chart-view';\nimport ChartBuilder from '@qlik/common/picasso/chart-builder/chart-builder';\nimport chartStyleUtils from '@qlik/common/extra/chart-style-utils';\nimport ScrollHandler from '@qlik/common/picasso/scroll/scroll-handler';\nimport DependentInteractions from '@qlik/common/picasso/selections/dependent-interactions';\nimport TooltipHandler from '@qlik/common/picasso/tooltip/tooltips-handler';\nimport formatting from '@qlik/common/picasso/formatting';\nimport stringUtil from '@qlik/common/extra/string-util';\nimport CubeGenerator from './waterfallchart-cube-generator-by-measures';\nimport waterfallUtils from './waterfallchart-utils';\nimport tickGenerator from './waterfallchart-tick-generator';\n\nconst chartID = waterfallUtils.chartID;\nconst MAX_GLYPH_COUNT = 20;\nconst BAR_WIDTH_RATIO = 0.7;\n\n//\n// Implementation details\n//\n\nfunction init({ picasso, environment, $element }) {\n const backendApi = null;\n const selectionsApi = null;\n this._super(picasso, $element, environment, backendApi, selectionsApi);\n this._tooltipHandler = TooltipHandler.create(this.chartInstance, $element, chartID);\n this._scrollHandler = new ScrollHandler(\n this.chartInstance,\n $element,\n this.getSlicedData.bind(this),\n this.updateChart.bind(this)\n );\n this._scrollHandler.setOptions({ direction: 'horizontal' });\n this.setDataPaths(['generated/qHyperCube']);\n}\n\nfunction getSlicedData(top, height) {\n CubeGenerator.generateSlicedHyperCube(this.layout, top, height);\n return Promise.resolve(this.layout);\n}\n\nfunction setSnapshotData(snapshotLayout) {\n this._super(snapshotLayout);\n snapshotLayout.generated = this.layout.generated; // eslint-disable-line no-param-reassign\n snapshotLayout.generatedMatrix = this.layout.generatedMatrix; // eslint-disable-line no-param-reassign\n}\nfunction getViewState() {\n return {\n scroll: this._scrollHandler.getScrollState(),\n };\n}\n\nfunction updateScrollHandlerState(b) {\n this._scrollHandler.setDisabled(!!b);\n}\n\nfunction updateConstraints(constraints) {\n const navigation = !constraints.active;\n const tooltip = !constraints.passive;\n\n this._scrollHandler[navigation ? 'on' : 'off']();\n this._tooltipHandler[tooltip ? 'on' : 'off']();\n}\nfunction off() {\n this._scrollHandler.off();\n this._tooltipHandler.off();\n}\n\nfunction getMaxGlyphCountForDimAxis(layout) {\n let glyphCount = -Number.MAX_VALUE;\n layout.qHyperCube.qMeasureInfo.forEach((measureInfo) => {\n glyphCount = Math.max(glyphCount, measureInfo.qFallbackTitle.length);\n if (\n measureInfo.valueType !== waterfallUtils.valueTypes.SUBTOTAL &&\n measureInfo.subtotal &&\n measureInfo.subtotal.enable\n ) {\n glyphCount = Math.max(glyphCount, measureInfo.subtotal.label ? measureInfo.subtotal.label.length : 0);\n }\n });\n return Math.min(MAX_GLYPH_COUNT, Math.max(0, glyphCount));\n}\n\nfunction getDimAxisSettings(layout) {\n return {\n settings: {\n labels: {\n mode: layout.dimensionAxis.label,\n maxGlyphCount: Math.ceil(stringUtil.stringWidthOverMWidth(getMaxGlyphCountForDimAxis(layout))), // To mitigate SUI-1445\n maxLengthPx: this.picassoElement.getBoundingClientRect().height / 4, // Picasso version 0.5.3 does not support function here\n },\n },\n };\n}\n\nfunction getBarSettings(tooltipSettings, layout) {\n const brushTrigger = tooltipSettings ? [tooltipSettings.box.trigger] : [];\n const brushConsume = tooltipSettings ? tooltipSettings.box.consume : [];\n return {\n data: {\n extract: {\n key: 'qHyperCube',\n field: CubeGenerator.getGeneratedDimensionPath(0),\n props: {\n start: { field: CubeGenerator.getGeneratedMeasurePath(0) },\n end: { field: CubeGenerator.getGeneratedMeasurePath(1) },\n measure: {\n field: CubeGenerator.getGeneratedMeasurePath(2),\n reduce: 'first',\n value(v) {\n return v;\n },\n },\n boxColor: {\n field: CubeGenerator.getGeneratedDimensionPath(1),\n value(v) {\n return v.qText;\n },\n },\n isCustomFormatted: !!layout.qDef.isCustomFormatted,\n tooltip: {\n value(v) {\n return v;\n },\n },\n },\n },\n },\n settings: {\n major: { scale: 'dimension' },\n minor: { scale: 'measure' },\n orientation: '', // There is a bug in Picasso where it uses height instead of width when the orientation is vertical.\n box: {\n width: BAR_WIDTH_RATIO,\n maxWidthPx: 4000,\n fill(d) {\n return d.datum.boxColor.value;\n },\n strokeWidth: 0,\n },\n },\n brush: {\n trigger: brushTrigger,\n consume: brushConsume,\n },\n };\n}\n\nfunction getInsideValueColor(boxColor, darkColor, lightColor) {\n return chartStyleUtils.getBestContrast(boxColor, darkColor, lightColor);\n}\n\nfunction getLabel(context) {\n const measure = context.data.measure;\n const field = context.dataset(measure.source.key).field(measure.source.field);\n return formatting.formatMeasureValue(field, measure);\n}\n\nfunction getBarLabelSettings(theme) {\n const outsideValueColor = theme.getStyle(chartID, 'value.color', 'default');\n const darkColor = theme.getStyle(chartID, 'value.color', 'dark');\n const lightColor = theme.getStyle(chartID, 'value.color', 'light');\n return {\n settings: {\n sources: [\n {\n strategy: {\n settings: {\n direction(context) {\n return context.data && context.data.end.value > context.data.start.value ? 'up' : 'down';\n },\n labels: [\n {\n placements: [\n { fill: outsideValueColor },\n {\n fill(s) {\n return getInsideValueColor(s.data.boxColor.value, darkColor, lightColor);\n },\n },\n {\n position: 'opposite',\n fill: outsideValueColor,\n justify: 0,\n },\n ],\n label: getLabel,\n },\n ],\n },\n },\n },\n ],\n },\n };\n}\n\nfunction getPicassoScrollSettings(layout, viewSize) {\n return {\n viewSize,\n max: layout.generatedMatrix.length,\n };\n}\n\nfunction getBridgeSettings(isRtl, theme) {\n const bridgeColor = theme.getStyle(chartID, 'shape.bridge', 'stroke');\n return {\n data: {\n extract: {\n key: 'qHyperCube',\n field: CubeGenerator.getGeneratedDimensionPath(0),\n props: {\n x: {},\n y: {\n field: CubeGenerator.getGeneratedMeasurePath(1),\n },\n },\n },\n },\n settings: {\n x: {\n scale: 'dimension',\n ref: 'x',\n fn(d) {\n return isRtl ? d.scale(d.datum.value) : d.scale(d.datum.value) + d.scale.bandwidth(); // place the point between two bars\n },\n },\n y: { scale: 'measure' },\n sizeLimits: {\n maxPx: 20000,\n maxRelExtent: 10000,\n minRelDiscrete: 0,\n maxRelDiscrete: 1,\n },\n shape: 'line',\n stroke: bridgeColor,\n size: 1 - BAR_WIDTH_RATIO,\n strokeDasharray: '4 4',\n fill: 'none',\n strokeWidth(d, i) {\n return i === d.data.items.length - 1 ? 0 : 2;\n },\n },\n };\n}\n\nfunction getLegendSettings(environment, layout) {\n const { theme, translator } = environment;\n const positveColor = waterfallUtils.getColorForPositiveValue(layout, theme);\n const negativeColor = waterfallUtils.getColorForNegativeValue(layout, theme);\n const subtotalColor = waterfallUtils.getColorForSubtotal(layout, theme);\n const positiveText = translator.get('waterfall.legend.positiveValue.label');\n const negativeText = translator.get('waterfall.legend.negativeValue.label');\n const subtotalText = translator.get('waterfall.legend.subtotal.label');\n return {\n displayOrder: 200,\n minimumLayoutMode: 'MEDIUM',\n prioOrder: 0,\n scale: {\n type: 'categorical-color',\n data: [positiveText, negativeText, subtotalText],\n range: [positveColor, negativeColor, subtotalColor],\n },\n style: {\n title: {\n show: false,\n },\n },\n };\n}\n\nfunction createChartSettings(layout) {\n // Create components\n const isRtl = this.isRtl();\n const { theme } = this.environment;\n const isSnapshot = !!layout.snapshotData;\n const chartBuilder = ChartBuilder.create({\n chartID,\n theme,\n isRtl,\n });\n const width = this.picassoElement.clientWidth;\n const height = this.picassoElement.clientHeight;\n\n const tooltipSettings = {};\n tooltipSettings.box = this._tooltipHandler.setUp({\n chartBuilder,\n environment: this.environment,\n data: [''],\n contexts: ['boxTip'],\n componentKey: 'box-marker',\n headerResolver() {\n return undefined; // Waterfall does not have dimension\n },\n rowResolver(field, measureContent, shapeData) {\n const color = shapeData.boxColor.value;\n const value = formatting.formatMeasureValue(field, measureContent);\n return {\n value,\n label: shapeData.tooltip.value.qText,\n color,\n };\n },\n labelData: ['tooltip'], // Should be a mapped path under extract, mandatory to display tooltip\n measureRows: ['measure'], // Should be a mapped path under extract, mandatory to display tooltip\n });\n\n const handlers = {\n scrollHandler: this._scrollHandler,\n selectionHandler: null,\n };\n\n const keys = {\n componentKey: 'box-marker',\n };\n\n if (this._dependentActions) {\n this._dependentActions.destroy();\n }\n this._dependentActions = DependentInteractions.create(handlers, 'vertical', isRtl, keys);\n\n chartBuilder.addPreset('dimension-measure-chart', {\n // common\n isRtl,\n orientation: 'vertical',\n theme,\n\n // grid lines\n gridlines: layout.gridlines,\n\n // dimension axis and title\n includeDimensionAxis: true,\n dimensionAxisProperties: layout.dimensionAxis,\n dimensionAxisSettings: getDimAxisSettings.call(this, layout),\n dimensionSource: CubeGenerator.getGeneratedDimensionPath(0),\n dimensionScaleSettings: {\n component: {\n maxPxStep() {\n return height / 4;\n },\n },\n },\n\n // measure axis and title\n includeMeasureAxis: true,\n measureAxisProperties: layout.measureAxis,\n // measureTitleText: \"\",\n measureSource: [CubeGenerator.getGeneratedMeasurePath(0), CubeGenerator.getGeneratedMeasurePath(1)],\n measureScaleSettings: {\n component: {\n expand: 0,\n include: [0], // Make sure that the measure axis starts from 0.\n ticks: {\n values: () => tickGenerator.getTicks({ layout, height }),\n },\n },\n },\n\n // scroll\n hasNavigation: !isSnapshot,\n isNavigationEnabledFn: () => this._scrollHandler.isOn(),\n scrollSettings: getPicassoScrollSettings(layout, this._scrollHandler.getScrollViewSizeInItem()),\n\n // ref-lines\n refLines: layout.refLine && layout.refLine.refLines,\n\n brushActions: this._dependentActions.gestures,\n });\n\n chartBuilder.addComponent('box-marker', getBarSettings(tooltipSettings, layout));\n chartBuilder.addComponent('point-marker', getBridgeSettings(isRtl, theme));\n\n if (!layout.legend || layout.legend.show) {\n chartBuilder.addComponent('categorical-legend', getLegendSettings(this.environment, layout), {\n dock: layout.legend ? layout.legend.dock : 'auto',\n isRtl,\n chartWidth: width,\n chartHeight: height,\n });\n }\n\n if (layout.dataPoint.showLabels) {\n chartBuilder.addComponent('labels', getBarLabelSettings(theme));\n }\n\n // Add snapshot settings\n const settings = chartBuilder.getSettings();\n this.addSnapshotChartSettings(settings, layout);\n\n return settings;\n}\n\nfunction updateData(layout) {\n const { theme, options } = this.environment;\n const self = this;\n\n return this._super(layout).then(() => {\n if (self._destroyed) {\n return Promise.reject();\n }\n\n let top;\n let height;\n\n const isSnapshot = !!layout.snapshotData;\n if (isSnapshot) {\n const area = self.layout.generated.qHyperCube.qDataPages[0].qArea; // To fix SUI-4307\n top = area.qTop;\n height = area.qHeight;\n CubeGenerator.generateHyperCube(self.layout, theme);\n } else {\n CubeGenerator.generateHyperCube(self.layout, theme);\n updateScrollHandlerState.call(self, true); // No need to run it in snapshot mode\n const { viewState } = options;\n if (viewState) {\n self._scrollHandler.updateViewState(self.layout.generatedMatrix.length);\n self._scrollHandler.setScrollState(viewState.scroll);\n top = viewState.scroll;\n } else {\n self._scrollHandler.resetScroll();\n top = 0;\n }\n height = self._scrollHandler.getScrollViewSizeInItem();\n }\n CubeGenerator.generateSlicedHyperCube(self.layout, top, height);\n return undefined;\n });\n}\n\nfunction updateOnScrollViewChanged(chart) {\n chart._scrollHandler.onResize();\n}\n\nfunction resize() {\n updateOnScrollViewChanged(this);\n this._super();\n}\n\nfunction paint() {\n const isSnapshot = !!this.layout.snapshotData;\n if (!isSnapshot && !this.environment.options.viewState) {\n updateScrollHandlerState.call(this, false);\n }\n this._tooltipHandler.closeTooltip();\n\n const pageNumberOfRows = this.layout.generated.qHyperCube.qDataPages[0].qMatrix.length;\n const datasetNumberOfRows = this.layout.generatedMatrix.length;\n if (!isSnapshot && this._scrollHandler.isDataSizeChanged(pageNumberOfRows, datasetNumberOfRows)) {\n const _super = this._super;\n const self = this;\n return this._scrollHandler.getViewData().finally(() => _super.call(self));\n }\n return this._super();\n}\n\nconst waterfallChartView = ChartView.extend('WaterfallChart', {\n namespace: '.waterfallchart',\n chartID,\n init,\n updateConstraints,\n off,\n createChartSettings,\n updateData,\n resize,\n paint,\n getSlicedData,\n setSnapshotData,\n getViewState,\n});\n\nexport default waterfallChartView;\n","import { useConstraints, useEffect, useElement, usePromise, useState, useStaleLayout } from '@nebula.js/stardust';\nimport $ from 'jquery';\nimport locale from '@qlik/common/locale';\nimport picassoSetup from '@qlik/common/picasso/picasso-setup';\nimport useResize from '@qlik/common/nebula/resize';\nimport useEnvironment from '@qlik/common/nebula/use-environment';\nimport setupSnapshot from '@qlik/common/nebula/snapshot';\n\nimport qae from './waterfallchart-qae';\nimport ext from './ext';\nimport ChartView from './waterfallchart-view';\n\nfunction usePromiseNoError(...args) {\n const [, error] = usePromise(...args);\n if (error) {\n throw error;\n }\n}\n\nexport default function supernova(env) {\n locale(env.translator);\n const picasso = picassoSetup();\n\n return {\n qae: qae(env),\n ext: ext(env),\n component() {\n const element = useElement();\n const environment = useEnvironment();\n const layout = useStaleLayout();\n const constraints = useConstraints();\n\n const [instance, setInstance] = useState();\n\n useEffect(() => {\n const $element = $(element);\n const view = new ChartView({ picasso, environment, $element });\n\n setInstance(view);\n\n return () => {\n view.destroy();\n };\n }, []);\n\n usePromiseNoError(async () => {\n if (!instance) {\n return;\n }\n instance.updateEnvironment(environment);\n instance.updateConstraints(constraints);\n\n await instance.updateData(layout);\n await instance.paint();\n }, [layout, instance, environment]);\n\n useResize(instance);\n setupSnapshot(instance);\n },\n };\n}\n","import all from './all.json';\n\nexport default function autoRegister(translator) {\n if (translator && translator.get && translator.add) {\n const t = 'Object.Disclaimer.LimitedData';\n const g = translator.get(t);\n // if translated string is different from its id\n // assume translations already exists for current locale\n if (g !== t) {\n return;\n }\n\n Object.keys(all).forEach((key) => {\n translator.add(all[key]);\n });\n }\n}\n","import picassojs from 'picasso.js';\nimport PicassoQ from 'picasso-plugin-q';\nimport PicassoHammer from 'picasso-plugin-hammer';\nimport Hammer from 'hammerjs';\nimport eventArea from './plugins/event-area';\nimport disclaimer from './disclaimer/disclaimer-component.jsx';\n\nexport default function setup() {\n const picasso = picassojs();\n // default to use canvas renderer\n picasso.renderer.prio(['canvas']);\n\n // TODO: investigate picasso warnings\n // if (DebugFlags.DEVELOPER) {\n // picasso.logger.level(picassojs.logger.LOG_LEVEL.WARN);\n // }\n\n picasso.use(PicassoQ);\n picasso.use(PicassoHammer(Hammer));\n picasso.use(eventArea);\n picasso.component('disclaimer', disclaimer);\n return picasso;\n}\n","import { useApp, useAppLayout, useTranslator, useOptions, useMemo, useTheme, useDeviceType } from '@nebula.js/stardust';\n\nexport default function useEnvironment() {\n const app = useApp();\n const appLayout = useAppLayout();\n const deviceType = useDeviceType();\n const options = useOptions();\n const theme = useTheme();\n const translator = useTranslator();\n\n const environment = useMemo(\n () => ({\n app,\n appLayout,\n deviceType,\n options,\n theme,\n translator,\n }),\n [app, appLayout, options.direction, options.freeResize, translator.language(), theme.name(), deviceType]\n );\n\n return environment;\n}\n","import { useConstraints, useOptions, usePromise, useRect } from '@nebula.js/stardust';\n\nexport default function useResize(chartInstance) {\n const rect = useRect();\n const options = useOptions();\n const constraints = useConstraints();\n\n const [, error] = usePromise(async () => {\n if (!chartInstance) {\n return;\n }\n chartInstance.updateConstraints(constraints);\n chartInstance.options = options;\n await chartInstance.resize();\n }, [rect.width, rect.height]);\n\n if (error) {\n throw error;\n }\n}\n"],"names":["init","Picasso","component","mounted","element","classList","add","style","pointerEvents","zIndex","render","renderer","disableTriggers","preferredSize","h","this","settings","label","rtl","dock","layout","dir","rect","display","justifyContent","alignItems","color","fontStyle","fontSize","width","height","transform","transformOrigin","textAlign","getStyle","modifiedLabel","spanStyle","overflow","whiteSpace","textOverflow","ref","alignToRef","title","properties","version","qHyperCubeDef","qDimensions","qMeasures","qMode","qInitialDataFetch","qWidth","qHeight","qSuppressMissing","auto","positiveValue","paletteColor","index","negativeValue","subtotal","dataPoint","showLabels","dimensionAxis","show","gridlines","spacing","legend","measureAxis","autoMinMax","max","min","minMax","qDef","qNumFormat","numFormatFromTemplate","isCustomFormatted","refLine","refLines","showTitles","subtitle","footnote","data","env","translator","path","dimensions","measures","description","get","window","modules","installedModules","__webpack_require__","moduleId","exports","module","i","l","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","r","Symbol","toStringTag","value","t","mode","_typeof2","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","hasOwn","toStr","toString","gOPD","getOwnPropertyDescriptor","isArray","arr","Array","isPlainObject","obj","hasOwnConstructor","hasIsPrototypeOf","constructor","setProperty","target","options","configurable","newValue","writable","getProperty","extend","src","copy","copyIsArray","clone","arguments","length","deep","e","default","a","u","f","setValue","split","Number","isNaN","updated","previous","getValue","concat","qLibraryId","qInfo","qId","dimensionList","qData","info","qTags","indexOf","trim","charAt","substring","qName","qDerivedFieldData","qDerivedFieldLists","qFieldDefs","fieldList","fullAccumulation","fullRange","crossAllDimensions","replace","y","g","b","modifier","dimensionAndFieldList","funcComp","valueComp","showExcludedValues","v","D","q","isFullRange","getNumDimensions","getExpressionWithExcludedComp","expression","treatMissingAsNull","getRowNoComp","getNumStepComp","steps","getAboveCompPrefix","getAboveCompSuffix","getAboveComp","getFunctionPrefix","getFunctionSuffix","getRangeComp","getAggrComp","getExcludedComp","needDimension","primaryDimension","accumulationDimension","getDimComp","qSortCriterias","qSortByExpression","qSortByNumeric","qSortByAscii","simplifyExpression","extractInputExpression","outputExpression","initModifier","keys","forEach","isNumeric","isApplicable","minDimensions","maxDimensions","getExpressionWithMarkers","canExtract","getDimDefWithWrapper","getFieldWithWrapper","E","iterator","from","TypeError","A","I","S","x","L","V","N","C","slice","F","generate","val","push","op","splice","apply","Error","createPatch","toLowerCase","updateObject","O","w","saveSoftProperties","Promise","resolve","map","qOp","qValue","JSON","stringify","qPath","applyPatches","M","T","type","P","j","disabled","R","translationKey","generateExpression","numDimensions","enableTotalsFunction","propertyPanelDef","items","disclaimer","translation","refFn","primaryDimensionTooltip","schemaIgnore","defaultValue","qHyperCube","qDimensionInfo","qGroupFallbackTitles","crossAllDimensionsTooltip","range","rangeFull","rangeCustom","rangeSteps","change","Math","abs","ext","support","modifiers","_","H","k","B","nullSuppression","W","showNull","inverted","G","$","U","z","J","K","SELECTION","CURRENT_SELECTION","SELECT_FIELD_VALUE","DISREGARD_SELECTION","DIMENSION","ONE_DIMENSION","ALL_DIMENSIOANS","DISREGARD_ALL_DIMENSIONS","Q","X","Y","Z","ee","dimensionalScopeOneDimension","tooltipTranslation","dimensionalScopeOneDimensionTooltip","dimensionalScopeAllDimensions","dimensionalScopeAllDimensionsTooltip","dimensionalScopeDisregardAllDimensions","dimensionalScopeDisregardAllDimensionsTooltip","selectionScope","re","selectionScopeCurrentSelection","selectionScopeSpecificValue","selectionScopeTotal","dimensionalScope","ne","ie","te","oe","se","ae","join","ue","field","updateModifier","modifierSelectionScope","modifierSelectionScopeTooltip","dropdownOnly","app","getFieldList","then","modifierDimensionalScope","modifierDimensionalScopeTooltip","supportTooltip","getDisregardSelectionComp","getFieldSelectionComp","getTotalComp","getSelectedDimComp","le","model","callback","dimension","measure","enabled","listener","layoutSubscribe","subscribe","measureLibraryIds","dimensionLibraryIds","dispose","all","unsubscribe","ce","getExpression","getExpressionRef","getLibraryIdRef","getLibraryId","getLabelRef","getLabelExpressionRef","pe","initBase","isValid","restoreBase","base","fe","me","de","accumulation","movingAverage","difference","normalization","ye","ge","applyModifiers","be","cleanUpMeasure","ve","destroy","id","masterItemSubscriber","hasActiveModifiers","De","getActiveModifier","qe","isSupportedModifiers","some","isApplicableSupportedModifiers","modifierTypes","measureBase","limitedSorting","Ae","Ce","Te","ifEnableTotalsFunction","he","isSnapshot","masterItem","isFirstTime","lastReloadTime","Ne","getEffectiveProperties","Se","Pe","Fe","Oe","libraryIds","Ee","Le","oldProperties","runUpdateIfChange","libraryItemsProps","je","Me","newProperties","libraryId","qMeasure","qLabel","qLabelExpression","quarantine","coloring","qAggrFunc","xe","Ie","Ve","getDimensionList","getMeasure","getProperties","getDimension","we","qHasSoftPatches","qExtendsId","setProperties","clearUndoBuffer","__webpack_exports__","exportProperties","_quarantine_quarantine_property__WEBPACK_IMPORTED_MODULE_0__","_color_chart__WEBPACK_IMPORTED_MODULE_1__","_ref","propertyTree","hypercubePath","viewDataMode","_ref$supportedAutoMin","supportedAutoMinMax","exportFormat","getMeasuresPerAxis","MEASURE_AXIS_TYPES","measuresPerAxis","series","_measure$qDef$series","axis","line","marker","bar","total","includes","handleAutoMinMax","extend__WEBPACK_IMPORTED_MODULE_0__","extend__WEBPACK_IMPORTED_MODULE_0___default","_quarantine_unquarantine_property__WEBPACK_IMPORTED_MODULE_1__","initialProperties","handleMeasuresAxis","_should_update_measure_axis__WEBPACK_IMPORTED_MODULE_1__","_get_measures_per_axis__WEBPACK_IMPORTED_MODULE_2__","temp","measureType","filter","sort","measureAxes","_handle_auto_min_max__WEBPACK_IMPORTED_MODULE_0__","_handle_measures_axis__WEBPACK_IMPORTED_MODULE_1__","_set_inter_column_sort_order__WEBPACK_IMPORTED_MODULE_2__","setInterColumnSortOrder","qInterColumnSortOrder","shouldUpdateMeasureAxis","importProperties","_helpers__WEBPACK_IMPORTED_MODULE_0__","dataDefinition","defaultPropertyValues","extension","supportedFilters","qProperty","_export_properties__WEBPACK_IMPORTED_MODULE_0__","_import_properties__WEBPACK_IMPORTED_MODULE_1__","_utils_attribute_expression_util__WEBPACK_IMPORTED_MODULE_0__","_hypercube__WEBPACK_IMPORTED_MODULE_1__","expFormat","dataGroup","excludedDimensions","excludedMeasures","_attributeExpsUtil$ID","IDMAP","COLOR_BY_ALTERNATIVE","COLOR_BY_EXPRESSION","moveByIdFromGroup","addColorByExpression","_utils__WEBPACK_IMPORTED_MODULE_0__","attributeExps","colorExps","qExpression","changeProperty","_update_layout_exclude__WEBPACK_IMPORTED_MODULE_1__","propertyPath","isAtomicValue","clearAttributeByType","_utils_array_util__WEBPACK_IMPORTED_MODULE_0__","attribute","findIndexByPropertyValue","clearColorByItem","_clear_attribute_by_type__WEBPACK_IMPORTED_MODULE_1__","dim","deleteTotalMode","qOtherTotalSpec","qTotalMode","getCanColorBy","_get_color_options__WEBPACK_IMPORTED_MODULE_0__","hyperCube","visualization","canColorByObject","primary","colorOptions","byDimension","byMeasure","byMultiple","multiColor","byExpression","getColorByDefinition","_get_expression__WEBPACK_IMPORTED_MODULE_0__","_get_dimension_label__WEBPACK_IMPORTED_MODULE_1__","_get_measure_label__WEBPACK_IMPORTED_MODULE_2__","_get_measure_library_id__WEBPACK_IMPORTED_MODULE_3__","isAttribute","colorByActiveMeasure","ret","getColorOptions","_patches_default__WEBPACK_IMPORTED_MODULE_0__","_patches_scatter_plot__WEBPACK_IMPORTED_MODULE_1__","_patches_pie_chart__WEBPACK_IMPORTED_MODULE_2__","_patches_line_chart__WEBPACK_IMPORTED_MODULE_3__","_patches_map__WEBPACK_IMPORTED_MODULE_4__","_patches_distribution_plot__WEBPACK_IMPORTED_MODULE_5__","chartMap","scatterplot","piechart","linechart","distributionplot","chart","colorModeOptions","getDimensionLabel","qFieldLabels","qlik_modifiers__WEBPACK_IMPORTED_MODULE_0__","qlik_modifiers__WEBPACK_IMPORTED_MODULE_0___default","undefined","getMeasureLabel","getMeasureLibraryId","_change_property__WEBPACK_IMPORTED_MODULE_0__","_get_can_color_by__WEBPACK_IMPORTED_MODULE_1__","_should_update_color_by__WEBPACK_IMPORTED_MODULE_2__","_update_color_by__WEBPACK_IMPORTED_MODULE_3__","_delete_total_mode__WEBPACK_IMPORTED_MODULE_4__","_should_add_color_by_expression__WEBPACK_IMPORTED_MODULE_5__","_add_color_by_expression__WEBPACK_IMPORTED_MODULE_6__","_switch_to_auto_color__WEBPACK_IMPORTED_MODULE_7__","_should_switch_to_color_persistent__WEBPACK_IMPORTED_MODULE_8__","shouldUpdateColorBy","updateColorBy","shouldAddColorByExpression","switchToAutoColor","shouldSwitchToColorPersistent","isMapPointLayer","viz","array","layerIndex","_utils_hypercube_util__WEBPACK_IMPORTED_MODULE_0__","getNumMeasures","resolveColorByPropertyDef","_utils_attribute_expression_util__WEBPACK_IMPORTED_MODULE_1__","_clear_color_by_item__WEBPACK_IMPORTED_MODULE_2__","_set_attribute_by_expression__WEBPACK_IMPORTED_MODULE_3__","_set_attribute_by_library__WEBPACK_IMPORTED_MODULE_4__","isDimension","item","attributeExpression","qSortBy","qAttributeDimensions","qAttributeExpressions","setAltLabel","isExpression","altLabel","qStringExpression","qExpr","substr","setAttributeByExpression","matchMeasure","activeMeasureIndex","labelExpRef","setAttributeByLibrary","colorMapRef","setColorByDimension1","_get_color_by_definition__WEBPACK_IMPORTED_MODULE_1__","_set_color_by_property_def__WEBPACK_IMPORTED_MODULE_2__","activeDimensionIndex","colorByDefinition","setColorByDimension2","_utils_array_util__WEBPACK_IMPORTED_MODULE_1__","_utils_attribute_expression_util__WEBPACK_IMPORTED_MODULE_2__","_get_color_by_definition__WEBPACK_IMPORTED_MODULE_3__","_set_color_by_property_def__WEBPACK_IMPORTED_MODULE_4__","_is_map_point_layer__WEBPACK_IMPORTED_MODULE_5__","attrDim","findItemByPropertyValue","setColorByMeasure1","setColorByMeasure2","setColorByPropertyDef","_utils_number_format_util__WEBPACK_IMPORTED_MODULE_1__","_set_alt_label__WEBPACK_IMPORTED_MODULE_2__","keepMode","itemType","getItemLabel","byDimDef","wrapFieldName","byMeasureDef","formatting","useMasterNumberFormat","colorMode","shouldSetColorByDimension1","shouldSetColorByDimension2","shouldSetColorByMeasure1","shouldSetColorByMeasure2","isPersistent","shouldUpdateColorByDimension","shouldUpdateColorByMeasure","canColorBy","autoColor","updateColorByDimension","_set_alt_label__WEBPACK_IMPORTED_MODULE_1__","_resolve_color_by_property_def__WEBPACK_IMPORTED_MODULE_2__","_should_set_color_by_dimension_1__WEBPACK_IMPORTED_MODULE_3__","_should_set_color_by_dimension_2__WEBPACK_IMPORTED_MODULE_4__","_set_color_by_dimension_1__WEBPACK_IMPORTED_MODULE_5__","_set_color_by_dimension_2__WEBPACK_IMPORTED_MODULE_6__","updateColorByMeasure","_set_color_by_measure_1__WEBPACK_IMPORTED_MODULE_3__","_set_color_by_measure_2__WEBPACK_IMPORTED_MODULE_4__","_should_set_color_by_measure_1__WEBPACK_IMPORTED_MODULE_5__","_should_set_color_by_measure_2__WEBPACK_IMPORTED_MODULE_6__","updateColorByOther","_clear_color_by_item__WEBPACK_IMPORTED_MODULE_1__","_should_update_color_by_dimension__WEBPACK_IMPORTED_MODULE_2__","_should_update_color_by_measure__WEBPACK_IMPORTED_MODULE_3__","_update_color_by_dimension__WEBPACK_IMPORTED_MODULE_4__","_update_color_by_measure__WEBPACK_IMPORTED_MODULE_5__","_update_color_by_other__WEBPACK_IMPORTED_MODULE_6__","updateLayoutExclude","qLayoutExclude","changed","to","_helpers__WEBPACK_IMPORTED_MODULE_1__","_hypercube__WEBPACK_IMPORTED_MODULE_2__","_quarantine_quarantine_array_prop__WEBPACK_IMPORTED_MODULE_0__","_quarantine_unquarantine_array_prop__WEBPACK_IMPORTED_MODULE_1__","arrayPath","quarantineName","arrayName","itemPath","unquarantine","measuresPath","measuresName","dimensionsPath","dimensionsName","createExportFormat","nDataGroups","interColumnSortOrder","addDimensions","_toConsumableArray","_arrayLikeToArray","_arrayWithoutHoles","iter","_iterableToArray","minLen","test","_unsupportedIterableToArray","_nonIterableSpread","len","arr2","_dataGroup$dimensions","_dataGroup$excludedDi","_dataGroup$measures","_dataGroup$excludedMe","copyProperties","prop","_add_dimensions__WEBPACK_IMPORTED_MODULE_0__","_add_measures__WEBPACK_IMPORTED_MODULE_1__","_copy_properties__WEBPACK_IMPORTED_MODULE_3__","_update_layout_exclude__WEBPACK_IMPORTED_MODULE_4__","_store_measures_modifiers__WEBPACK_IMPORTED_MODULE_5__","addMeasures","storeMeasuresModifiers","restoreChangedProperties","isOrderedSubset","store","_restore_changed_properties__WEBPACK_IMPORTED_MODULE_1__","isEmpty","_export_format__WEBPACK_IMPORTED_MODULE_0__","_utils__WEBPACK_IMPORTED_MODULE_1__","_helpers__WEBPACK_IMPORTED_MODULE_2__","_quarantine_quarantine_property__WEBPACK_IMPORTED_MODULE_3__","hcdParent","filters","qContextSetExpression","_create_dimension__WEBPACK_IMPORTED_MODULE_0__","newHyperCubeDef","defaultDimension","_dimension","_create_measure__WEBPACK_IMPORTED_MODULE_0__","maxMeasures","minMeasures","defaultMeasure","_measure","copyPropertyIfExist","propertyName","source","copyPropertyOrSetDefault","createDimension","_get_others_label__WEBPACK_IMPORTED_MODULE_2__","dimensionDef","dimensionProperties","def","qv","othersLabel","createMeasure","measureDef","measureProperties","createNewProperties","_is_master_item_property__WEBPACK_IMPORTED_MODULE_2__","components","getDefaultDimension","_get_others_label__WEBPACK_IMPORTED_MODULE_0__","autoSort","cId","qNullSuppression","qOtherLabel","qOtherLimitMode","qOtherMode","qOtherSortMode","qSuppressOther","getDefaultMeasure","qTrendLines","getMaxMinDimensionMeasure","_resolve_value__WEBPACK_IMPORTED_MODULE_0__","MAX_SAFE_INTEGER","pow","_ref$dataDefinition","getOthersLabel","importCommonProperties","qType","_import_common_properties__WEBPACK_IMPORTED_MODULE_0__","_copy_property_if_exist__WEBPACK_IMPORTED_MODULE_1__","_copy_property_or_set_default__WEBPACK_IMPORTED_MODULE_2__","_get_default_dimension__WEBPACK_IMPORTED_MODULE_3__","_get_default_measure__WEBPACK_IMPORTED_MODULE_4__","_add_dimensions__WEBPACK_IMPORTED_MODULE_5__","_add_measures__WEBPACK_IMPORTED_MODULE_6__","_get_max_min_dimension_measure__WEBPACK_IMPORTED_MODULE_7__","_set_inter_column_sort_order__WEBPACK_IMPORTED_MODULE_8__","_create_new_properties__WEBPACK_IMPORTED_MODULE_9__","_should_init_layout_exclude__WEBPACK_IMPORTED_MODULE_10__","_init_layout_exclude__WEBPACK_IMPORTED_MODULE_11__","_update_dimensions_on_added__WEBPACK_IMPORTED_MODULE_12__","_update_measures_on_added__WEBPACK_IMPORTED_MODULE_13__","_restore_measures_modifiers__WEBPACK_IMPORTED_MODULE_14__","shouldInitLayoutExclude","initLayoutExclude","updateDimensionsOnAdded","updateMeasuresOnAdded","restoreMeasuresModifiers","isMasterItemPropperty","resolveValue","input","nCols","indexAdded","indexRemoved","added","_quarantine_unquarantine_property__WEBPACK_IMPORTED_MODULE_2__","_ref$initialPropertie","_ref$defaultPropertyV","_ref$supportedFilters","newPropertyTree","qChildren","initHyperCubeDef","_helpers$getMaxMinDim","_defaultPropertyValue","_defaultPropertyValue2","qTop","qLeft","_hypercube__WEBPACK_IMPORTED_MODULE_0__","_axis_chart__WEBPACK_IMPORTED_MODULE_2__","_quarantine_unquarantine_property__WEBPACK_IMPORTED_MODULE_4__","_quarantine_quarantine_array_prop__WEBPACK_IMPORTED_MODULE_5__","_quarantine_unquarantine_array_prop__WEBPACK_IMPORTED_MODULE_6__","_conditional_coloring__WEBPACK_IMPORTED_MODULE_7__","_conditional_show__WEBPACK_IMPORTED_MODULE_8__","hypercube","colorChart","axisChart","quarantineProperty","unquarantineProperty","quarantineArrayProp","unquarantineArrayProp","conditionalColoring","conditionalShow","getQuarantinePath","quarantineArrayItem","_get_quarantine_path__WEBPACK_IMPORTED_MODULE_1__","generateId","quarantinePath","_quarantine_array_item__WEBPACK_IMPORTED_MODULE_1__","stringified","depth","match","parse","unquarantineArrayItem","_unquarantine_array_item__WEBPACK_IMPORTED_MODULE_1__","_find_item_by_property_value__WEBPACK_IMPORTED_MODULE_0__","_find_index_by_property_value__WEBPACK_IMPORTED_MODULE_1__","outer","subset","start","next","removeIndex","reverseMap","cellBackgroundColor","cellForegroundColor","colorByAlternative","colorByExpression","tooltip","urlLabel","url","props","qAttribute","_create__WEBPACK_IMPORTED_MODULE_0__","_move_by_id_from_group__WEBPACK_IMPORTED_MODULE_1__","CELL_BACKGROUND_COLOR","CELL_FOREGROUND_COLOR","TOOLTIP","CELL_LINK_LABEL","CELL_LINK_URL","isSizeChanged","_move_by_id__WEBPACK_IMPORTED_MODULE_0__","_is_size_changed__WEBPACK_IMPORTED_MODULE_1__","fromGroup","toArray","attributeProp","idProp","fromArray","moveById","_find_index_by_property_value__WEBPACK_IMPORTED_MODULE_0__","fromIndex","toIndex","attribExps","_get_base62__WEBPACK_IMPORTED_MODULE_0__","round","random","getBase62","_get_char__WEBPACK_IMPORTED_MODULE_0__","chr","floor","getChar","charCode","charCodeAt","String","fromCharCode","___WEBPACK_IMPORTED_MODULE_0__","_wrap_file_name__WEBPACK_IMPORTED_MODULE_1__","_generate_id__WEBPACK_IMPORTED_MODULE_0__","_typeof","reference","dataContainer","step","propTree","conversion","qSuppressZero","targets","RegExp","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","rgb","formatHex","formatRgb","exec","parseInt","NaN","opacity","Je","lt","ct","st","ft","assign","displayable","hex","formatHsl","brighter","darker","sn","fn","search","reverse","toFixed","lastIndexOf","dn","pn","vn","hn","mn","gn","yn","bn","xn","qn","wn","kn","toUpperCase","Cn","Mn","pattern","abbreviate","pop","prefix","postfix","maxPrecision","percentage","numericPattern","numericRegex","groupTemp","decTemp","localeInfo","thousandDelimiter","decimalDelimiter","patternSeparator","abbreviations","qNumericalAbbreviation","prepare","subtype","formatValue","_prepared","positive","isFunctional","negative","zero","toExponential","Dn","toPrecision","ceil","log","jn","Tn","Fn","Ln","Hn","zn","qCalendarStrings","qLongDayNames","qDayNames","qLongMonthNames","qMonthNames","locale_days","locale_days_abbr","locale_months","locale_months_abbr","qTimeFmt","qDateFmt","qTimestampFmt","Date","getUTCHours","getUTCDay","year","getUTCFullYear","month","getUTCMonth","day","date","getUTCDate","getUTCMinutes","getUTCSeconds","getUTCMilliseconds","UTC","getTime","getDay","Rn","YY","YYY","MM","MMM","WW","WWW","getShapeColor","theme","defaultColor","defaultIndex","layoutColor","waterfallUtils","valueTypes","NORMAL","INVERSE","SUBTOTAL","chartID","getColorForPositiveValue","getColorPickerColor","getColorForNegativeValue","getColorForSubtotal","colorIsNotAuto","propertyDefinition","flags","numberFormatting","globalChange","uses","numberFormattingType","addTranslation","disabledRef","valueType","subTotal","subTotalLabel","enable","addons","dataHandling","suppressZero","calcCond","colorBackground","presentation","grouped","gridLines","snapshot","tid","showGridLines","gridSpacing","colors","positiveValueColor","dualOutput","negativeValueColor","subtotalColor","othersGroup","isEnabled","anything","_env$anything","sense","definition","pp","cssScaling","export","exportData","sharing","viewData","mapProperties","getDefaultDimensionProperties","getDefaultMeasureProperties","hyperCubePath","freeze","fnTest","Class","className","proto","_super","tmp","ctor","Function","idGen","base62","getAxisDock","direction","isRtl","getYAxisDock","getXAxisDock","yDockNearFar","getOppositeAxisDock","rangesOfLRgExp","rangesOfRRgExp","rangesOfALRgExp","isLtrChar","isRtlChar","lrm","rlm","detectTextDirection","lineSettings","defaultSettings","stroke","strokeDasharray","_options$style","lineType","lineLabelSettings","labelColor","labelFontSize","labelFontFamily","align","vAlign","text","fill","fontFamily","maxWidthPx","isVisible","refLineExpr","getRefLineTitle","valueString","showValue","showLabel","RtlUtil","constants","SHOW_AXIS_LABELS_OPTIONS","SHOW_TITLE_OPTIONS","HORIZONTAL","VERTICAL","LAYOUTSETTINGS","lasso","displayOrder","rangeDim","rangeMeasure","rangeMinor","scrollBar","minimumLayoutMode","prioOrder","measureAxisTitle","dimensionAxisTitle","refLinesLabels","DEFAULT_CHART_ORIENTATION","DimensionMeasureChart","chartBuilder","opts","measureAxisProperties","dimensionAxisProperties","chartOrientation","orientation","CONSTANTS","isChartHorizontal","measureDirection","dimensionDirection","includeMeasureAxisComponent","includeMeasureAxisTitleComponent","measureTitleText","includeDimensionAxisComponent","includeDimensionAxis","includeDimensionAxisTitleComponent","dimensionTitleText","includeGridlines","includeRefLines","interactionActions","measureAxisSettings","scale","forceBounds","showBounds","measureAxisOptions","getMeasureAxisOptions","addComponent","addMeasureAxisComponent","measureTitleSettings","getMeasureAxisTitleOptions","addMeasureAxisTitleComponent","measureScaleSettings","measureScaleOptions","measureSource","ticks","distance","addScale","addMeasureScale","dimensionAxisSettings","dimensionAxisOptions","getDimensionAxisOptions","addDimensionAxisComponent","dimensionAxisTitleSettings","dimensionAxisTitleOptions","getDimensionAxisTitleOptions","addDimensionAxisTitleComponent","dimensionScaleOptions","dimensionSource","dimensionScaleSettings","addDimensionScale","gridlinesOptions","gridlinesSettings","minorTicks","addGridlinesComponent","hasNavigation","getSettings","scroll","viewSize","scrollSettings","scrollbarOptions","isHorizontal","scrollBarSettings","addInteractionActions","isEnabledFn","targetIsScrollbar","manager","startPoint","center","deltaX","deltaY","componentsFromPoint","events","tap","emit","panstart","pan","panend","pancancel","getScrollActions","isNavigationEnabledFn","addScrollbarComponent","axisDock","axisDockUtil","refLinesSettings","oob","lines","refLinesLabelsSettings","require","measureText","formatter","scales","labelWidths","formattedValue","minimumText","wanted","required","maxLabelWidth","labelPadding","expressionValue","lineOptions","refLineUtil","addRefLineComponent","enableLasso","selectionsEnabled","lassoOptions","brushKey","brushComponents","brushData","addLassoComponent","enableDimRange","rangeDimSettings","rangeDimOptions","brushAxis","brushArea","brushScale","addRangeDimComponent","dimRange","enableMeasureRange","rangeMeasureSettings","rangeMeasureOptions","multiple","addRangeMeasureComponent","measureRange","enableAreaRange","rangeMinorSettings","chartInstance","addRangeAreaComponent","areaRange","brushActions","addInteraction","gestures","addInteractionComponent","actions","invert","count","domain","trackBy","axisLineStroke","titleFontSize","titleFill","labelsFill","labelsFontSize","titleFontFamily","labelsFontFamily","brush","trigger","consume","strokeWidth","labels","tiltAngle","maxEdgeBleed","maxSize","measureScale","fields","expand","scaleSettings","dimensionScale","extract","qText","datum","xAxis","yAxis","xAxisTitle","yAxisTitle","getBublesAlign","isAlignStart","getDock","dockT","dockTargets","layoutModes","SPARK","XSMALL","SMALL","MEDIUM","FULL","LayoutModes","getLabel","context","end","dataset","getLayoutModeKeys","modeKey","layoutModeKeys","directions","left","right","up","down","createComponent","minor","boxMarker","pointMarker","backgroundColor","scrollbar","comp","contexts","rangeUtil","fillActive","bubbles","isStartBorder","binStart","binEnd","action","rangeArea","chartHeight","chartWidth","itemFill","itemFontSize","anchor","size","vertical","navigation","button","class","content","state","lineHeight","wordBreak","margin","top","bottom","shape","showTitle","categoricalLegend","tickFill","tickFontSize","tickFontFamily","getAlignValue","word","major","tick","sequentialLegend","gridLine","interaction","oobColor","oobBackgroundColor","padding","eventArea","sources","selector","strategy","parseFloat","placements","position","justify","ChartBuilder","dockLayout","interactions","getComponent","addPreset","ChartPresets","validateComponentKeys","msg","ALIGNMENT","CENTER","BOTTOM","DISCLAIMERS","alignment","util","getNoDataExistAttribute","qSize","qcy","qcx","getLimitedDataAttribute","maxNbrOfDimensions","stackedDataPages","result","explicitLimitedData","qDataPages","paging","qMatrix","qStackedDataPages","qSubNodes","node","qDown","qArea","getNegativeOrZeroValuesAttribute","supportNegative","qMeasureInfo","qMin","getOnlyNegativeOrZeroValuesAttribute","every","qMax","getOnlyNanDataAttribute","explicitOnlyNanData","getDataRangeIncludingZeroAttribute","supportRangeOverZero","measureInfo","explicitMinOn","explicitMaxOn","MAX_VALUE","hasDataRangeIncludingZero","applyAttributes","dataAttributes","DisclaimersConfig","config","NoDataExist","RequireNumericDimension","explicitRequireNumericDimension","LimitedData","NegativeOrZeroValues","OnlyNegativeOrZeroValues","OnlyNanData","DataRangeIncludingZero","Helper","disclaimersConfig","supportedDisclaimers","list","Disclaimer","environment","clear","isValidAndSupported","isAnyValidDisclaimer","self","getMessage","str","ERRORS","SET","DISPLAY","_applyDefaultSupport","supported","getComponentSettings","message","vizAttributes","helper","DisclaimerComponentHelper","set","attributes","AttributesUtil","ChartView","picasso","$element","backendApi","selectionsApi","_selectionsApi","_on","_disclaimer","_dataPaths","picassoElement","dataAreaElem","updateEnvironment","setDataPaths","dataPaths","getData","dataPagesPath","page","maxHeight","pages","hasValidData","paint","getDisclaimerAttributes","disclaimerComponent","isSuppressingDisc","chartSettings","createChartSettings","errorMsg","console","error","updateChart","_painted","resize","addSnapshotChartSettings","freeResize","snapshotData","logicalSize","preserveAspectRatio","updateData","_destroyed","reject","permissions","isPartialData","appLayout","_this$environment$app2","qLocaleInfo","colorService","update","partialData","setAttribute","off","getViewState","isLassoDisabled","setSnapshotData","snapshotLayout","chartData","colorStruct","transparent","rgba","hexShort","hsl","hsla","Color","lcs","h_","rgb_","matches","colorString","_invalid","_r","_g","_b","_a","CSSColors","_spaces","isInvalid","setAlpha","getAlpha","toRGB","toRGBA","toHex","toHSL","luma","toHSLA","toHSV","hsvComp","toHSVComponents","toNumber","num","isDark","getLuminance","_lumi","shiftLuminance","chsla","isEqual","blend","c2","createShiftedColor","lumi","greenMultiplier","hsla_string","ch","c1","r1","g1","b1","getBlend","isCSSColor","getBestContrast","cl","cd","lum","getContrast","color1","color2","l1","l2","useDarkLabel","areaColor","bgIsDark","chartUtils","TRANSPARENT_BLACK","TRANSPARENT_WHITE","LIGHT_GREY","DARK_GREY","BLACK","WHITE","getInverse","colorObj","getContrastingGrey","getContrastingTransparent","namespace","ScrollHandler","$chartElement","getSlicedDataFn","onScrollCallback","legendKey","_chartInstance","_$chartElement","_getSlicedDataFn","_itemSize","_onScrollCallback","_legendKey","calculateScrollViewSizeInItem","scrollSize","getItemSize","_scrollViewSizeInItem","onMouseWheel","orgEvent","delta","event","originalEvent","wheelDelta","detail","HORIZONTAL_AXIS","wheelDeltaY","wheelDeltaX","pageX","pageY","preventDefault","onLegendMouseWheel","_disabled","getScrollApi","_scrollApi","move","onScroll","_sizeChanged","getViewData","catch","err","setDisabled","getDisabled","setItemSize","getScrollViewSizeInItem","on","removeAllListeners","isOn","updateViewState","onResize","isDataSizeChanged","pageNumberOfRows","datasetNumberOfRows","resetScroll","moveTo","getState","setOptions","getScrollState","setScrollState","isOnComponentForRange","selectionGesture","isOnComponentForLasso","gesturesParams","lassoGesture","componentKey","isOnComponentForNavBtn","legendBrushKey","navBtnGesture","callLassoGesture","gesturesFns","Hammer","DIRECTION_ALL","threshold","lassoing","isSelectionEnabled","handlers","hitComp","onComponentChecker","selectionHandler","lassoState","allFieldsLocked","recognizeWith","scrollHandler","lassostart","switchTo","pauseEngineCalls","lassoBrushKey","clientX","pointers","clientY","doEmit","lassomove","lassoend","resumeEngineCalls","lassocancel","callMeasureRangeGesture","activeRangeBrush","dimRangeBrushKey","DIRECTION_HORIZONTAL","DIRECTION_VERTICAL","rangeSelStatus","isOpenMea","measureSelecting","active","gesture","measureRangeBrushKey","requireFailure","measurerangestart","measurerangemove","measurerangeend","measurerangecancel","getAxisOrientation","callAreaRangeGesture","isOpenDim","minoring","arearangestart","areaBrushKey","arearangemove","arearangeend","arearangecancel","callDimensionRangeGesture","dimAxis","majoring","majorrangestart","majorrangemove","majorrangeend","majorrangecancel","callDragGesture","hasSelections","dragPoint","dragging","isNavigationEnabled","getBrushConfig","dragstart","dragmove","dragend","dragcancel","callNavBtnGesture","navBtnTap","btn","attr","getAttribute","clearKey","activeChart","newType","cont","inst","onScrollUpdate","rangeClearTap","unshift","dimensionRangeGesture","measureRangeGesture","areaRangeGesture","dragGesture","removeListener","TooltipActions","tooltipKey","hasOpen","closeTooltip","isOpen","brushes","shapes","getAffectedShapes","nodes","openTooltip","toggleInterceptor","check","formatMeasureValue","measureContent","raw","qNum","createContent","tooltipInfo","uniqueShapes","dataPath","numberInExcess","numItems","localContent","rows","labelData","refPaths","isNullValue","currentNode","qElemNo","qElemNumber","header","headerResolver","measureRows","measureRow","rowData","rowResolver","row","colorByData","colorData","colorSettings","_tooltipInfo$colorSer","_tooltipInfo$colorSer2","fieldType","ids","mapping","elemNoObj","othersIndex","values","getOthersIndex","attrs","_shape$attrs","getColorByDimData","rowCount","extractContent","renderSettings","TOOLTIP_CONTAINER_SELECTOR","appendTooltipContainer","document","querySelector","container","createElement","body","appendChild","beforeMount","beforeUpdate","destroyed","elm","parentElement","childElementCount","removeChild","appendTo","placement","arrow","background","cell","hyphens","getDirection","rtlUtils","DEFAULT_OPTIONS","labelTextAlign","headerStyle","fontWeight","colSpan","valueContent","symbolStyle","symbol","labelStyle","valueStyle","moreText","moreStyle","Tooltips","chartType","tooltipContexts","registerContext","listeners","removed","treatAsDesktop","intercept","deregister","deRegContext","removeInterceptor","mouseLeave","setUp","TooltipAction","attrDimPath","filterShapes","deviceType","createContext","createTooltip","uniques","filterDuplicateShapes","globalPropagation","tearDown","stringWidthOverMWidth","getCharacterRatios","latin","cjk","CJK","hiragana","katakana","getTotalCharacterRatios","columnIndex","res","latinRatio","cjkRatio","estimateLatinLabelWidth","numLatins","maxLatinWidth","averageLatinWidth","endsWith","string","suffix","startsWith","contains","haystack","needle","getAdjustedMaxGlyphCount","maxGlyphCount","totalCharacterRatios","latinGlyphCount","cjkGlyphCount","CJK_AVERAGE_WIDTH","estimateLabelWidth","numCjks","cjkWidth","generateHyperCube","numMeasures","positveColor","negativeColor","_numberFormatter","generatedMatrix","startMax","startMin","endMax","endMin","qFallbackTitle","numFormat","getMeasureFormat","isAutoFormat","qIsAutoFormat","generated","qStateCounts","generateSlicedHyperCube","getGeneratedDimensionPath","dimIndex","getGeneratedMeasurePath","mesIndex","compare","bisectRight","ascending","lo","hi","mid","e10","sqrt","e5","e2","tickIncrement","stop","power","LN10","initRange","Map","each","Set","has","remove","entries","empty","factory","parent","reI","reN","reP","reHex","reRgbInteger","reRgbPercent","reRgbaInteger","reRgbaPercent","reHslPercent","reHslaPercent","named","color_formatHex","color_formatRgb","format","rgbn","Rgb","rgbConvert","rgb_formatHex","rgb_formatRgb","Hsl","hslConvert","hsl2rgb","m1","m2","gamma","nogamma","exponential","constant","linear","define","channels","rgbGamma","colorRgb","genericArray","nb","na","setTime","reA","reB","am","bm","bs","bi","lastIndex","number","one","ArrayBuffer","isView","DataView","valueOf","numberArray","unit","identity","normalize","clamper","bimap","interpolate","d0","d1","r0","polymap","bisect","clamp","unknown","continuous","untransform","piecewise","output","interpolateValue","rescale","interpolateNumber","rangeRound","interpolateRound","transformer","formatDecimalParts","coefficient","prefixExponent","formatSpecifier","specifier","FormatSpecifier","sign","comma","precision","exponent","toLocaleString","formatRounded","locale","formatPrefix","prefixes","grouping","thousands","group","currencyPrefix","currency","currencySuffix","decimal","numerals","formatNumerals","percent","minus","nan","newFormat","formatTypes","formatType","maybeSuffix","valuePrefix","valueSuffix","valueNegative","out","i1","i0","formatTrim","Infinity","step0","step1","tickStep","precisionPrefix","precisionRound","precisionFixed","linearish","isFinite","tickFormat","nice","formatLocale","tickGenerator","getMinorTicks","majorTicks","minorTickCount","adjustTicks","deltaMin","isMinor","deltaMax","getTicks","scaleLinear","updateScrollHandlerState","_scrollHandler","getMaxGlyphCountForDimAxis","glyphCount","getDimAxisSettings","stringUtil","maxLengthPx","getBoundingClientRect","getBarLabelSettings","outsideValueColor","darkColor","lightColor","boxColor","chartStyleUtils","getInsideValueColor","getPicassoScrollSettings","waterfallChartView","_tooltipHandler","TooltipHandler","getSlicedData","updateConstraints","constraints","passive","clientWidth","clientHeight","tooltipSettings","box","shapeData","_dependentActions","DependentInteractions","CubeGenerator","maxPxStep","includeMeasureAxis","include","_this","brushTrigger","brushConsume","reduce","getBarSettings","bridgeColor","bandwidth","sizeLimits","maxPx","maxRelExtent","minRelDiscrete","maxRelDiscrete","getBridgeSettings","getLegendSettings","area","viewState","finally","supernova","picassojs","prio","use","PicassoQ","PicassoHammer","picassoSetup","qae","useElement","useApp","useAppLayout","useDeviceType","useOptions","useTheme","useTranslator","useMemo","language","useStaleLayout","useConstraints","useState","instance","setInstance","useEffect","view","usePromise","usePromiseNoError","useRect","useResize","onTakeSnapshot","useImperativeHandle"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../chart-modules/common/picasso/plugins/event-area.js","../../../../chart-modules/common/picasso/disclaimer/disclaimer-component.jsx","../../../../chart-modules/common/nebula/snapshot.js","../../src/object-properties.js","../../src/waterfallchart-data-definition.js","../../../../node_modules/qlik-object-conversion/dist/conversion.js","../../src/waterfallchart-import-export.js","../../src/waterfallchart-qae.js","../../../../node_modules/qlik-chart-modules/dist/qlik-chart-modules.esm.js","../../src/waterfallchart-utils.js","../../src/waterfallchart-properties.js","../../src/ext.js","../../../../chart-modules/common/extra/class.js","../../../../chart-modules/common/extra/generate-id.js","../../../../chart-modules/common/picasso/chart-builder/components/util/axis-dock-util.js","../../../../chart-modules/common/extra/rtl-util.js","../../../../chart-modules/common/picasso/chart-builder/components/util/ref-line-util.js","../../../../chart-modules/common/picasso/chart-builder/presets/dimension-measure-chart/constants.js","../../../../chart-modules/common/picasso/chart-builder/presets/dimension-measure-chart/layout-settings.js","../../../../chart-modules/common/picasso/chart-builder/presets/dimension-measure-chart/dimension-measure-chart.js","../../../../chart-modules/common/picasso/scroll/scroll-actions.js","../../../../chart-modules/common/picasso/chart-builder/scale.js","../../../../chart-modules/common/picasso/chart-builder/components/axis.js","../../../../chart-modules/common/picasso/chart-builder/components/text.js","../../../../chart-modules/common/picasso/chart-builder/components/util/range-util.js","../../../../chart-modules/common/picasso/chart-builder/layout-modes.js","../../../../chart-modules/common/picasso/chart-builder/components/labels.js","../../../../chart-modules/common/picasso/chart-builder/components/categorical-legend.js","../../../../chart-modules/common/picasso/chart-builder/chart-builder.js","../../../../chart-modules/common/picasso/chart-builder/components/box-marker.js","../../../../chart-modules/common/picasso/chart-builder/components/point-marker.js","../../../../chart-modules/common/picasso/chart-builder/components/scrollbar.js","../../../../chart-modules/common/picasso/chart-builder/components/lasso.js","../../../../chart-modules/common/picasso/chart-builder/components/range.js","../../../../chart-modules/common/picasso/chart-builder/components/range-area.js","../../../../chart-modules/common/picasso/chart-builder/components/sequential-legend.js","../../../../chart-modules/common/picasso/chart-builder/components/grid-line.js","../../../../chart-modules/common/picasso/chart-builder/components/interaction.js","../../../../chart-modules/common/picasso/chart-builder/components/ref-line.js","../../../../chart-modules/common/picasso/chart-builder/components/event-area.js","../../../../chart-modules/common/picasso/chart-builder/chart-presets.js","../../../../chart-modules/common/picasso/disclaimer/disclaimers-config.js","../../../../chart-modules/common/picasso/disclaimer/disclaimer-attributes-util.js","../../../../chart-modules/common/picasso/disclaimer/disclaimer-component-helper.js","../../../../chart-modules/common/picasso/disclaimer/disclaimer.js","../../../../chart-modules/common/picasso/chart-view.js","../../../../chart-modules/common/extra/css-colors.js","../../../../chart-modules/common/extra/color.js","../../../../chart-modules/common/extra/chart-style-utils.js","../../../../chart-modules/common/picasso/scroll/scroll-handler.js","../../../../chart-modules/common/picasso/selections/gestures/on-component-checker.js","../../../../chart-modules/common/picasso/selections/gestures/lasso-gesture.js","../../../../chart-modules/common/picasso/selections/gestures/measure-range-gesture.js","../../../../chart-modules/common/picasso/selections/gestures/area-range-gesture.js","../../../../chart-modules/common/picasso/selections/gestures/dimension-range-gesture.js","../../../../chart-modules/common/picasso/selections/gestures/drag-gesture.js","../../../../chart-modules/common/picasso/selections/gestures/navigational-button-gesture.js","../../../../chart-modules/common/picasso/selections/dependent-interactions.js","../../../../chart-modules/common/picasso/tooltip/tooltip-actions.js","../../../../chart-modules/common/picasso/formatting.js","../../../../chart-modules/common/picasso/tooltip/tooltip-content.js","../../../../chart-modules/common/picasso/tooltip/tooltips-component.js","../../../../chart-modules/common/picasso/tooltip/tooltip-renderer.jsx","../../../../chart-modules/common/picasso/tooltip/tooltips-handler.js","../../../../chart-modules/common/extra/string-util.js","../../src/waterfallchart-cube-generator-by-measures.js","../../../../node_modules/d3-array/src/ascending.js","../../../../node_modules/d3-array/src/bisect.js","../../../../node_modules/d3-array/src/bisector.js","../../../../node_modules/d3-array/src/ticks.js","../../../../node_modules/d3-scale/src/init.js","../../../../node_modules/d3-collection/src/map.js","../../../../node_modules/d3-collection/src/set.js","../../../../node_modules/d3-scale/src/array.js","../../../../node_modules/d3-color/src/define.js","../../../../node_modules/d3-color/src/color.js","../../../../node_modules/d3-interpolate/src/constant.js","../../../../node_modules/d3-interpolate/src/color.js","../../../../node_modules/d3-interpolate/src/rgb.js","../../../../node_modules/d3-interpolate/src/numberArray.js","../../../../node_modules/d3-interpolate/src/array.js","../../../../node_modules/d3-interpolate/src/date.js","../../../../node_modules/d3-interpolate/src/number.js","../../../../node_modules/d3-interpolate/src/object.js","../../../../node_modules/d3-interpolate/src/string.js","../../../../node_modules/d3-interpolate/src/value.js","../../../../node_modules/d3-interpolate/src/round.js","../../../../node_modules/d3-scale/src/number.js","../../../../node_modules/d3-scale/src/continuous.js","../../../../node_modules/d3-scale/src/constant.js","../../../../node_modules/d3-format/src/formatDecimal.js","../../../../node_modules/d3-format/src/exponent.js","../../../../node_modules/d3-format/src/formatSpecifier.js","../../../../node_modules/d3-format/src/formatPrefixAuto.js","../../../../node_modules/d3-format/src/formatRounded.js","../../../../node_modules/d3-format/src/formatTypes.js","../../../../node_modules/d3-format/src/identity.js","../../../../node_modules/d3-format/src/locale.js","../../../../node_modules/d3-format/src/defaultLocale.js","../../../../node_modules/d3-format/src/formatGroup.js","../../../../node_modules/d3-format/src/formatNumerals.js","../../../../node_modules/d3-format/src/formatTrim.js","../../../../node_modules/d3-scale/src/tickFormat.js","../../../../node_modules/d3-format/src/precisionPrefix.js","../../../../node_modules/d3-format/src/precisionRound.js","../../../../node_modules/d3-format/src/precisionFixed.js","../../../../node_modules/d3-scale/src/linear.js","../../src/waterfallchart-tick-generator.js","../../src/waterfallchart-view.js","../../src/index.js","../../../../chart-modules/common/locale/index.js","../../../../chart-modules/common/picasso/picasso-setup.js","../../../../chart-modules/common/nebula/use-environment.js","../../../../chart-modules/common/nebula/resize.js"],"sourcesContent":["export default function init(Picasso) {\n // Transparent component, placed on top of the data area and used to register event on\n Picasso.component('event-area', {\n mounted(element) {\n element.classList.add('event-area');\n element.style.pointerEvents = 'auto';\n element.style.zIndex = 1;\n },\n render() {\n const nodes = [];\n return nodes;\n },\n });\n}\n","/** @jsx h */\n\nfunction getStyle(dock, rect) {\n const style = {\n pointerEvents: 'auto',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n color: '#7b7a78',\n fontStyle: 'italic',\n fontSize: '13px',\n };\n\n switch (dock) {\n case 'left':\n style.width = `${rect.height}px`;\n style.transform = `rotate(-90deg) translate(-${rect.height}px, 0)`;\n style.transformOrigin = 'top left';\n break;\n\n case 'right':\n style.width = `${rect.height}px`;\n style.transform = `rotate(90deg) translate(0, -${rect.width}px)`;\n style.transformOrigin = 'top left';\n break;\n\n case 'center':\n style.width = `${rect.width}px`;\n style.height = `${rect.height}px`;\n style.color = '#595959';\n style.fontStyle = 'normal';\n style.fontSize = '1.2em';\n style.textAlign = 'center';\n break;\n\n default:\n case 'top':\n case 'bottom':\n style.justifyContent = 'flex-start';\n style.alignItems = 'flex-start';\n break;\n }\n return style;\n}\n\nexport default {\n renderer: 'dom',\n disableTriggers: true,\n preferredSize: function preferredSize() {\n return 22;\n },\n render(h) {\n const {\n settings: { label, rtl },\n layout: { dock },\n } = this.settings;\n const dir = (dock === 'top' || dock === 'bottom') && rtl ? 'rtl' : 'ltr';\n const style = getStyle(dock, this.rect);\n\n const modifiedLabel = dock === 'center' ? label : `* ${label}`;\n\n const spanStyle = dock !== 'center' ? { overflow: 'hidden', whiteSpace: 'nowrap', textOverflow: 'ellipsis' } : {};\n\n return (\n <div style={style} dir={dir}>\n <span ref={this.alignToRef} style={spanStyle} title={modifiedLabel}>\n {modifiedLabel}\n </span>\n </div>\n );\n },\n};\n","import { onTakeSnapshot, useImperativeHandle } from '@nebula.js/stardust';\n\nconst setupSnapshot = (chartInstance) => {\n onTakeSnapshot((layout) => {\n if (!chartInstance) {\n return undefined;\n }\n\n return chartInstance.setSnapshotData(layout);\n });\n\n useImperativeHandle(\n () => ({\n getViewState() {\n if (!chartInstance) {\n return undefined;\n }\n return chartInstance.getViewState();\n },\n }),\n [chartInstance]\n );\n};\n\nexport default setupSnapshot;\n","/**\n * Settings for subtotal\n * @typedef {object} subtotalProperties\n * @property {boolean} enable=false Option to add a subtotal after a measure.\n * @property {string} label='Subtotal' Label of the subtotal added after a measure.\n */\n\n/**\n * Extends `NxInlineMeasureDef`, see Engine API: `NxInlineMeasureDef`.\n * @typedef {object} InlineMeasureDef\n * @extends NxInlineMeasureDef\n * @property {subtotalProperties} subtotal subtotal settings.\n * @property {'NORMAL'|'INVERSE'|'SUBTOTAL'} valueType='NORMAL' Measure operation.\n */\n\n/**\n * Extends `NxMeasure`, see Engine API: `NxMeasure`.\n * @typedef {object} MeasureProperties\n * @extends NxMeasure\n * @property {InlineMeasureDef} qDef\n */\n\n/**\n * Field attributes structure.\n * @typedef {object} FieldAttributes\n * @property {string} dec - Defines the decimal separator.\n * @property {string} Fmt - Defines the format pattern that applies to qText.\n * @property {number} nDec - Number of decimals.\n * @property {string} Thou - Defines the thousand separator (if any).\n * @property {string} Type - Type of the field.\n * @property {number} UseThou - Defines whether or not a thousands separator must be used.\n */\n\n/**\n * Color information structure. Holds the actual color and index in palette.\n * @typedef {object} paletteColor\n * @property {string} color - Color as hex string (mandatory if index: -1)\n * @property {number} index - Index in palette\n */\n\n/**\n * Styling settings for reference line\n * @typedef {object} refLineStyle\n * @property {number} [lineThickness=2] Set the thickness for this reference line.\n * @property {string} [lineType=''] Set the dash type for this reference line.\n */\n\n/**\n * @typedef {object} refLine\n * @property {boolean|ValueExpression} show=true Set to true to display this reference line.\n * @property {string} label Reference line label.\n * @property {boolean} [showLabel=true] Set to true to show the label of this reference line.\n * @property {boolean} [showValue=true] Set to true to show the value of this reference line.\n * @property {paletteColor} paletteColor\n * @property {refLineStyle} [style] - Styling settings for reference line\n * @property {boolean} [coloredBackground=false] Set to true to fill the label and/or value of this reference line with this color\n */\n\n/**\n * @namespace properties\n * @entry\n */\n\nconst properties = {\n /**\n * Current version of this generic object definition.\n * @type {string}\n * @default\n */\n version: process.env.PACKAGE_VERSION,\n\n /**\n * Extends `HyperCubeDef`, see Engine API: `HyperCubeDef`.\n * @extends {HyperCubeDef}\n */\n qHyperCubeDef: {\n qDimensions: [],\n /** @type {MeasureProperties[]} */\n qMeasures: [],\n qMode: 'S',\n qInitialDataFetch: [{ qWidth: 200, qHeight: 10 }],\n qSuppressMissing: true,\n },\n /**\n * Color settings.\n * Most color options for visualizations are set in the color object in the options. You activate custom coloring by setting `\"auto\": false` which turns off auto-coloring.\n * If `\"auto\": true`, no other properties need to be defined in the color object.\n * Note: Some of the color properties are depending on which theme is currently being used.\n * @type {object}\n */\n color: {\n /**\n * Set to use automatic coloring.\n * When `\"auto\": true`, color settings are based on the visualization used and the number of dimensions\n * and measures, that is, the settings are not fixed, but are dependent on the data input.\n * @type {boolean}\n * @default\n */\n auto: true,\n /**\n * Positive value color.\n * @type {object}\n */\n positiveValue: {\n /**\n * paletteColor\n * @type {paletteColor}\n * @default { index: 6, color: null }\n */\n paletteColor: {\n index: 6,\n color: null,\n },\n },\n /**\n * Negative value color.\n * @type {object}\n */\n negativeValue: {\n /**\n * paletteColor\n * @type {paletteColor}\n * @default { index: -1, color: '#cc6677' }\n */\n paletteColor: {\n index: -1,\n color: '#cc6677',\n },\n },\n /**\n * Subtotal value color.\n * @type {object}\n */\n subtotal: {\n /**\n * paletteColor\n * @type {paletteColor}\n * @default { index: -1, color: '#c3c3c3' }\n */\n paletteColor: {\n index: -1,\n color: '#c3c3c3',\n },\n },\n },\n /**\n * Data point.\n * @type {object}\n */\n dataPoint: {\n /**\n * Show labels.\n * @type {boolean}\n * @default\n */\n showLabels: true,\n },\n /**\n * Dimension axis settings.\n * @type {object}\n */\n dimensionAxis: {\n /**\n * Axis docking position\n * @type {'near'|'far'}\n * @default \"near\"\n */\n dock: 'near',\n /**\n * Label orientation\n * @type {'auto'|'horizontal'|'tilted'}\n */\n label: 'auto',\n /**\n * Labels and title\n * @type {'labels'|'none'}\n * @default\n */\n show: 'labels',\n },\n /**\n * Grid lines settings.\n * @type {object}\n */\n gridlines: {\n /**\n * Automatic grid line spacing.\n * @type {boolean}\n * @default\n */\n auto: true,\n /**\n * Grid line spacing. Used only when auto is set to false.\n * @type {0|2|3}\n * @default\n */\n spacing: 2,\n },\n /**\n * Legend settings.\n * @type {object}\n */\n legend: {\n /**\n * Sets the legend position.\n * @type {'auto'|'right'|'left'|'bottom'|'top'}\n * @default 'auto'\n */\n dock: 'auto',\n /**\n * Set to show the legend.\n * @type {boolean}\n * @default\n */\n show: true,\n },\n /**\n * Measure axis settings.\n * @type {object}\n */\n measureAxis: {\n /**\n * Automatic max/min\n * @type {boolean}\n * @default\n */\n autoMinMax: true,\n /**\n * Axis docking position\n * @type {'near'|'far'}\n * @default \"near\"\n */\n dock: 'near',\n /**\n * Axis max value. `\"autoMinMax\"` must be set to false and `\"minMax\"`\n * must be set to `\"max\"` or `\"minMax\"` to use this property\n * @type {number|ValueExpression}\n * @default\n */\n max: 10,\n /**\n * Axis min value. `\"autoMinMax\"` must be set to false and `\"minMax\"`\n * must be set to `\"min\"` or `\"minMax\"` to use this property\n * @type {number|ValueExpression}\n * @default\n */\n min: 0,\n /**\n * Set custom max/min\n * @type {'min'|'max'|'minMax'}\n * @default \"min\"\n */\n minMax: 'min',\n /**\n * Labels and title\n * @type {'labels'|'none'}\n * @default \"labels\"\n */\n show: 'labels',\n /**\n * Axis scale\n * @type {number}\n * @default\n */\n spacing: 1,\n },\n qDef: {\n /**\n * see Engine API: `FieldAttributes`.\n * @type {FieldAttributes=}\n */\n qNumFormat: {},\n /**\n * When enabled, the number format to use can be selected from multiple predefined formats based on the desired type (number, date).\n * @type {boolean}\n * @default\n */\n numFormatFromTemplate: true,\n /**\n * If true, the client formatting will be toggled off.\n * @type {boolean}\n * @default\n */\n isCustomFormatted: false,\n },\n /**\n * Reference lines settings\n * @type {object}\n */\n refLine: {\n /**\n * Array of measure based reference line definitions\n * @type {refLine[]}\n */\n refLines: [],\n },\n /**\n * Show title for the visualization.\n * @type {boolean=}\n * @default\n */\n showTitles: true,\n /**\n * Visualization subtitle.\n * @type {(string|StringExpression)=}\n * @default\n */\n subtitle: '',\n /**\n * Visualization title.\n * @type {(string|StringExpression)=}\n * @default\n */\n title: '',\n /**\n * Visualization footnote.\n * @type {(string|StringExpression)=}\n * @default\n */\n footnote: '',\n};\n\nexport default properties;\n","export default function data(env) {\n const { translator } = env;\n\n const dimensions = {\n min: 0,\n max: 0,\n };\n const measures = {\n min: 1,\n max: 50,\n description() {\n return translator.get('Visualizations.Descriptions.Bars');\n },\n };\n return {\n path: '/qHyperCubeDef',\n dimensions,\n measures,\n };\n}\n","!function(e,r){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=r():\"function\"==typeof define&&define.amd?define([],r):\"object\"==typeof exports?exports.conversion=r():e.conversion=r()}(window,(function(){return function(e){var r={};function n(t){if(r[t])return r[t].exports;var o=r[t]={i:t,l:!1,exports:{}};return e[t].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=r,n.d=function(e,r,t){n.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},n.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},n.t=function(e,r){if(1&r&&(e=n(e)),8&r)return e;if(4&r&&\"object\"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(n.r(t),Object.defineProperty(t,\"default\",{enumerable:!0,value:e}),2&r&&\"string\"!=typeof e)for(var o in e)n.d(t,o,function(r){return e[r]}.bind(null,o));return t},n.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(r,\"a\",r),r},n.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},n.p=\"/conversion/\",n(n.s=2)}([function(e,r,n){\"use strict\";var t=Object.prototype.hasOwnProperty,o=Object.prototype.toString,i=Object.defineProperty,a=Object.getOwnPropertyDescriptor,s=function(e){return\"function\"==typeof Array.isArray?Array.isArray(e):\"[object Array]\"===o.call(e)},u=function(e){if(!e||\"[object Object]\"!==o.call(e))return!1;var r,n=t.call(e,\"constructor\"),i=e.constructor&&e.constructor.prototype&&t.call(e.constructor.prototype,\"isPrototypeOf\");if(e.constructor&&!n&&!i)return!1;for(r in e);return void 0===r||t.call(e,r)},l=function(e,r){i&&\"__proto__\"===r.name?i(e,r.name,{enumerable:!0,configurable:!0,value:r.newValue,writable:!0}):e[r.name]=r.newValue},c=function(e,r){if(\"__proto__\"===r){if(!t.call(e,r))return;if(a)return a(e,r).value}return e[r]};e.exports=function e(){var r,n,t,o,i,a,p=arguments[0],f=1,m=arguments.length,d=!1;for(\"boolean\"==typeof p&&(d=p,p=arguments[1]||{},f=2),(null==p||\"object\"!=typeof p&&\"function\"!=typeof p)&&(p={});f<m;++f)if(null!=(r=arguments[f]))for(n in r)t=c(p,n),p!==(o=c(r,n))&&(d&&o&&(u(o)||(i=s(o)))?(i?(i=!1,a=t&&s(t)?t:[]):a=t&&u(t)?t:{},l(p,{name:n,newValue:e(d,a,o)})):void 0!==o&&l(p,{name:n,newValue:o}));return p}},function(e,r,n){window,e.exports=function(e){var r={};function n(t){if(r[t])return r[t].exports;var o=r[t]={i:t,l:!1,exports:{}};return e[t].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=r,n.d=function(e,r,t){n.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},n.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},n.t=function(e,r){if(1&r&&(e=n(e)),8&r)return e;if(4&r&&\"object\"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(n.r(t),Object.defineProperty(t,\"default\",{enumerable:!0,value:e}),2&r&&\"string\"!=typeof e)for(var o in e)n.d(t,o,function(r){return e[r]}.bind(null,o));return t},n.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(r,\"a\",r),r},n.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},n.p=\"/qlik-modifiers/\",n(n.s=1)}([function(e,r,n){\"use strict\";var t=Object.prototype.hasOwnProperty,o=Object.prototype.toString,i=Object.defineProperty,a=Object.getOwnPropertyDescriptor,s=function(e){return\"function\"==typeof Array.isArray?Array.isArray(e):\"[object Array]\"===o.call(e)},u=function(e){if(!e||\"[object Object]\"!==o.call(e))return!1;var r,n=t.call(e,\"constructor\"),i=e.constructor&&e.constructor.prototype&&t.call(e.constructor.prototype,\"isPrototypeOf\");if(e.constructor&&!n&&!i)return!1;for(r in e);return void 0===r||t.call(e,r)},l=function(e,r){i&&\"__proto__\"===r.name?i(e,r.name,{enumerable:!0,configurable:!0,value:r.newValue,writable:!0}):e[r.name]=r.newValue},c=function(e,r){if(\"__proto__\"===r){if(!t.call(e,r))return;if(a)return a(e,r).value}return e[r]};e.exports=function e(){var r,n,t,o,i,a,p=arguments[0],f=1,m=arguments.length,d=!1;for(\"boolean\"==typeof p&&(d=p,p=arguments[1]||{},f=2),(null==p||\"object\"!=typeof p&&\"function\"!=typeof p)&&(p={});f<m;++f)if(null!=(r=arguments[f]))for(n in r)t=c(p,n),p!==(o=c(r,n))&&(d&&o&&(u(o)||(i=s(o)))?(i?(i=!1,a=t&&s(t)?t:[]):a=t&&u(t)?t:{},l(p,{name:n,newValue:e(d,a,o)})):void 0!==o&&l(p,{name:n,newValue:o}));return p}},function(e,r,n){\"use strict\";n.r(r);var t=n(0),o=n.n(t),i=function(e,r,n){if(!r)return!1;var t,o=r.split(\".\"),i=o[o.length-1],a=e;for(t=0;t<o.length-1;++t)void 0===a[o[t]]&&(a[o[t]]=Number.isNaN(+o[t+1])?{}:[]),a=a[o[t]];if(void 0!==n){var s=a[i];return a[i]=n,{updated:n,previous:s}}return delete a[i],!1},a=function(e,r,n){var t,o=r.split(\".\"),i=e;if(void 0===i)return n;for(t=0;t<o.length;++t){if(void 0===i[o[t]])return n;i=i[o[t]]}return i},s=\"\".concat(\" \",\"(\").concat(\" \"),u=\"\".concat(\" \",\")\").concat(\" \");function l(e){return s+e+u}function c(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(e.qLibraryId){var n=function(e,r){if(!r)return null;var n,t;for(n=0;n<r.length;n++)if((t=r[n]).qInfo.qId===e)return t;return null}(e.qLibraryId,r.dimensionList);return n&&n.qData.info[0].qTags.indexOf(\"$numeric\")>-1}var t=function(e,r){if(!r)return null;var n,t,o=function(e){var r=e.trim();\"=\"===r.charAt(0)&&(r=(r=r.substring(1)).trim());var n=r.length-1;return\"[\"===r.charAt(0)&&\"]\"===r.charAt(n)&&(r=(r=r.substring(1,n)).trim()),r}(e);for(n=0;n<r.length;n++){if((t=r[n]).qName===o)return t;if(t.qDerivedFieldData)for(var i=0;i<t.qDerivedFieldData.qDerivedFieldLists.length;++i)for(var a=t.qDerivedFieldData.qDerivedFieldLists[i],s=0;s<a.qFieldDefs.length;++s){var u=a.qFieldDefs[s];if(u.qName===o)return u}}return null}(e.qDef.qFieldDefs[0],r.fieldList);return t&&t.qTags.indexOf(\"$numeric\")>-1}function p(e){return!(!e.fullAccumulation&&!e.fullRange)}function f(e,r){var n=e.crossAllDimensions;return 2===r&&n?\"RowNo(Total)\":\"RowNo()\"}function m(e){var r=function(e){return e?(e=function(e){return e.replace(/\\/\\*[^]*?\\*\\//g,\"\")}(e=function(e){return e.replace(/\\/\\/(.*)$/gm,\"\")}(e))).trim():\"\"}(e).trim();return\"=\"===r.substring(0,1)?r.substring(1).trim():r}function d(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return\"[$(=Replace(GetObjectField(\".concat(e,\"),']',']]'))]\")}function y(e,r){var n=e.crossAllDimensions;return 2===r&&n?\"Above(Total \":\"Above(\"}function q(e){return void 0===e?\")\":\", 0, \".concat(e,\")\")}function b(e,r){return e?\"\".concat(r,'={\">=$(=Min(').concat(r,\"))<=$(=Max(\").concat(r,'))\"}'):\"\".concat(r,'={\"=Only({1}').concat(r,\")>='$(=MinString(\").concat(r,\"))' and Only({1}\").concat(r,\")<='$(=MaxString(\").concat(r,\"))'\\\"}\")}function D(e){var r=e.modifier,n=void 0===r?{}:r,t=e.dimensions,o=e.dimensionAndFieldList,i=e.funcComp,a=void 0===i?\"Sum\":i,s=e.valueComp,u=void 0===s?\"0\":s;if(!n.showExcludedValues)return\"\";if(t&&1===t.length){var l=b(c(t[0],o),d(0));return\"\".concat(a,\"({1<\").concat(l,\">}\").concat(u,\")\")}if(t&&2===t.length){var p=c(t[0],o),f=c(t[1],o),m=d(0),y=d(1),q=b(p,m),D=b(f,y);return\"\".concat(a,\"({1<\").concat(q,\",\").concat(D,\">}\").concat(u,\")\")}return\"\".concat(a,\"({1}\").concat(u,\")\")}function v(e){return\"\".concat(e,\"(\")}function g(e){var r=e.properties,n=e.layout;return a(r,\"qHyperCubeDef.qDimensions\",a(n,\"qHyperCube.qDimensionInfo\",[])).length}var h={isFullRange:p,getNumDimensions:g,getExpressionWithExcludedComp:function(e){var r=e.expression,n=e.modifier,t=e.dimensions,o=e.dimensionAndFieldList,i=e.treatMissingAsNull,a=l(m(r));if(!n.showExcludedValues)return a;var s=D({modifier:n,dimensions:t,dimensionAndFieldList:o}),u=i?\"\":\", 0\";if(t&&1===t.length){var c=d(0);return\"If(Count(\".concat(c,\") > 0, \").concat(a,\" + \").concat(s).concat(u,\")\")}if(t&&2===t.length){var p=d(0),f=d(1);return\"If(Count(\".concat(p,\") * Count(\").concat(f,\") > 0, \").concat(a,\" + \").concat(s).concat(u,\")\")}return a},getRowNoComp:f,getNumStepComp:function(e,r){if(!p(e)){var n=e.steps;return\"number\"!=typeof n||Number.isNaN(n)?6:n}return f(e,r)},getAboveCompPrefix:y,getAboveCompSuffix:q,getAboveComp:function(e,r,n,t){return y(e,r)+n+q(t)},getFunctionPrefix:v,getFunctionSuffix:function(){return\")\"},getRangeComp:function(e,r){return v(e)+r+\")\"},getAggrComp:function(e,r,n){return\"Aggr(\".concat(e,\", \").concat(r,\", \").concat(n,\")\")},getExcludedComp:D,needDimension:function(e){var r=e.modifier,n=e.properties,t=e.layout;return 0===function(e){return void 0===e.primaryDimension?e.accumulationDimension:e.primaryDimension}(r)&&2===g({properties:n,layout:t})},getDimComp:function(e,r){var n=function(e){return e[arguments.length>1&&void 0!==arguments[1]?arguments[1]:0].qDef.qSortCriterias[0]}(e,r),t=d(r);if(!n.qSortByExpression&&!n.qSortByNumeric&&!n.qSortByAscii)return t;var o=[\"Descending\",\"Ascending\"],i=n.qSortByNumeric?\"(Numeric, \".concat(o[(n.qSortByNumeric+1)/2],\")\"):\"\",a=n.qSortByAscii?\"(Text, \".concat(o[(n.qSortByAscii+1)/2],\")\"):\"\";return n.qSortByNumeric&&n.qSortByAscii?\"(\".concat(t,\", \").concat(i,\", \").concat(a,\")\"):n.qSortByNumeric?\"(\".concat(t,\", \").concat(i,\")\"):n.qSortByAscii?\"(\".concat(t,\", \").concat(a,\")\"):t},simplifyExpression:m,extractInputExpression:function(e){var r=e.outputExpression;if(e.modifier){var n=r.indexOf(s);if(-1!==n){var t=r.indexOf(u);if(-1!==t)return r.substring(n+s.length,t)}}},initModifier:function(e,r){Object.keys(r).forEach((function(n){void 0===e[n]&&(e[n]=r[n])}))},isNumeric:c,isApplicable:function(e){var r=e.properties,n=e.layout,t=e.minDimensions,o=void 0===t?1:t,i=e.maxDimensions,a=void 0===i?2:i;if(!r&&!n)return!0;var s=g({properties:r,layout:n});return s>=o&&s<=a},getExpressionWithMarkers:l,canExtract:function(e){var r=e.indexOf(s),n=e.indexOf(u);return r>-1&&n>-1&&r<n},getDimDefWithWrapper:d,getFieldWithWrapper:function(e){var r=e?e.replace(/]/g,\"]]\"):e;return\"[\".concat(r,\"]\")}};function x(e){return(x=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}var E=o.a.bind(null,!0),A={},C=Array.isArray;function I(e){return null!=e&&!Array.isArray(e)&&\"object\"===x(e)}function M(e){return void 0===e}function S(e,r){return\"function\"==typeof e[r]||\"$$\"===r.substring(0,2)||\"_\"===r.substring(0,1)}function L(e,r){var n,t=r.substring(1).split(\"/\").slice(0,-1);return t.forEach((function(r,o){if(o!==t.length){n=+r;var i=Number.isNaN(n)?{}:[];e[n||r]=M(e[n||r])?i:e[r],e=e[n||r]}})),e}function O(e,r){var n=!0;if(I(e)&&I(r))return Object.keys(e).length===Object.keys(r).length&&(Object.keys(e).forEach((function(t){O(e[t],r[t])||(n=!1)})),n);if(C(e)&&C(r)){if(e.length!==r.length)return!1;for(var t=0,o=e.length;t<o;t+=1)if(!O(e[t],r[t]))return!1;return!0}return e===r}A.generate=function(e,r,n){n=n||\"\";var t=[];return Object.keys(r).forEach((function(o){var i=function(e){return e?E({},{val:e}).val:e}(r[o]),a=e[o],s=\"\".concat(n,\"/\").concat(o);O(i,a)||S(r,o)||(M(a)?t.push({op:\"add\",path:s,value:i}):I(i)&&I(a)?t=t.concat(A.generate(a,i,s)):C(i)&&C(a)?t=t.concat(function(e,r,n){var t=[],o=e.slice(),i=-1;function a(e,r,n){if(e[n]&&M(e[n].qInfo))return null;if(e[n]&&e[n].qInfo.qId===r)return n;for(var t=0,o=e.length;t<o;t+=1)if(e[t]&&e[t].qInfo.qId===r)return t;return-1}if(O(r,o))return t;if(!M(r[0])&&M(r[0].qInfo))return t.push({op:\"replace\",path:n,value:r}),t;for(var s=o.length-1;s>=0;s-=1)-1===(i=a(r,o[s].qInfo&&o[s].qInfo.qId,s))?(t.push({op:\"remove\",path:\"\".concat(n,\"/\").concat(s)}),o.splice(s,1)):t=t.concat(A.generate(o[s],r[i],\"\".concat(n,\"/\").concat(s)));for(var u=0,l=r.length;u<l;u+=1)-1===(i=a(o,r[u].qInfo&&r[u].qInfo.qId))?(t.push({op:\"add\",path:\"\".concat(n,\"/\").concat(u),value:r[u]}),o.splice(u,0,r[u])):i!==u&&(t.push({op:\"move\",path:\"\".concat(n,\"/\").concat(u),from:\"\".concat(n,\"/\").concat(i)}),o.splice(u,0,o.splice(i,1)[0]));return t}(a,i,s)):t.push({op:\"replace\",path:\"\".concat(n,\"/\").concat(o),value:i}))})),Object.keys(e).forEach((function(o){M(r[o])&&!S(e,o)&&t.push({op:\"remove\",path:\"\".concat(n,\"/\").concat(o)})})),t},A.apply=function(e,r){r.forEach((function(r){var n,t=L(e,r.path),o=r.path.split(\"/\").splice(-1)[0],i=o&&Number.isNaN(+o)?t[o]:t[+o]||t,a=r.from?r.from.split(\"/\").splice(-1)[0]:null;if(\"/\"===r.path&&(t=null,i=e),\"add\"===r.op||\"replace\"===r.op)if(C(t))\"-\"===o&&(o=t.length),t.splice(+o,\"add\"===r.op?0:1,r.value);else if(C(i)&&C(r.value)){var s,u=r.value.slice();i.length=0,(s=i).push.apply(s,function(e){return function(e){if(Array.isArray(e)){for(var r=0,n=new Array(e.length);r<e.length;r++)n[r]=e[r];return n}}(e)||function(e){if(Symbol.iterator in Object(e)||\"[object Arguments]\"===Object.prototype.toString.call(e))return Array.from(e)}(e)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance\")}()}(u))}else if(I(i)&&I(r.value))n=i,Object.keys(n).forEach((function(e){Object.getOwnPropertyDescriptor(n,e).configurable&&!S(n,e)&&delete n[e]})),E(i,r.value);else{if(!t)throw new Error(\"Patchee is not an object we can patch\");t[o]=r.value}else if(\"move\"===r.op){var l=L(e,r.from);C(t)?t.splice(+o,0,l.splice(+a,1)[0]):(t[o]=l[a],delete l[a])}else\"remove\"===r.op&&(C(t)?t.splice(+o,1):delete t[o])}))},A.clone=function(e){return E({},e)},A.createPatch=function(e,r,n){var t={op:e.toLowerCase(),path:n};return\"move\"===t.op?t.from=r:void 0!==r&&(t.value=r),t},A.updateObject=function(e,r){Object.keys(e).length?A.apply(e,A.generate(e,r)):E(e,r)};var F=A,P=function(e,r,n){if(!e)return Promise.resolve();var t=F.generate(r,n);return o()(!0,r,n),t&&t.length?(t=t.map((function(e){return{qOp:e.op,qValue:JSON.stringify(e.value),qPath:e.path}})),e.applyPatches(t,!0)):Promise.resolve()},N=\"accumulation\";function V(e,r){var n=a(e,r);if(n)for(var t=0;t<n.length;t++)if(n[t].type===N)return n[t]}function w(e,r){var n=function(e,r){var n=a(e,r);if(!n)return-1;for(var t=0;t<n.length;t++)if(n[t].type===N)return t;return-1}(e,r);return n>-1?\"\".concat(r,\".\").concat(n):r}var T={type:\"accumulation\",disabled:!1,accumulationDimension:0,crossAllDimensions:!1,showExcludedValues:!0,fullAccumulation:!1,steps:6,outputExpression:\"\"},H={translationKey:\"properties.modifier.accumulation\",needDimension:h.needDimension,isApplicable:function(e){var r=e.properties,n=e.layout;return h.isApplicable({properties:r,layout:n,minDimensions:1,maxDimensions:2})},generateExpression:function(e){var r=e.expression,n=e.modifier,t=e.properties,o=e.layout,i=e.numDimensions,s=e.dimensionAndFieldList;if(!n)return r;var u=i;void 0===u&&(u=h.getNumDimensions({properties:t,layout:o}));var l=a(t,\"qHyperCubeDef.qDimensions\",[]),c=h.getExpressionWithExcludedComp({expression:r,modifier:n,dimensions:l,dimensionAndFieldList:s}),p=h.getNumStepComp(n,u),f=h.getAboveComp(n,u,c,p),m=h.getRangeComp(\"RangeSum\",f);if(h.needDimension({modifier:n,properties:t,layout:o})){var d=h.getDimComp(l,1),y=h.getDimComp(l,0),q=h.getAggrComp(m,d,y);m=n.showExcludedValues?h.getExcludedComp({modifier:n,dimensions:l,dimensionAndFieldList:s,valueComp:q}):q}return m},extractInputExpression:h.extractInputExpression,initModifier:function(e){h.initModifier(e,T)},enableTotalsFunction:function(){return!1},propertyPanelDef:function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n={type:\"items\",items:{disclaimer:{component:\"text\",translation:r.disclaimer||\"properties.modifier.accumulation.disclaimer\",show:function(e,r){return!h.isApplicable({properties:r.properties})}},settings:{type:\"items\",items:{primaryDimension:{refFn:function(r){return\"\".concat(w(r,e),\".accumulationDimension\")},type:\"integer\",translation:r.primaryDimension||\"properties.modifier.primaryDimension\",title:{translation:r.primaryDimensionTooltip||\"properties.modifier.accumulation.primaryDimension.tooltip\"},component:\"dropdown\",schemaIgnore:!0,defaultValue:1,options:function(e,r){return r.layout.qHyperCube.qDimensionInfo.map((function(e,r){return{value:r,label:e.qGroupFallbackTitles[0]}}))},show:function(e,r){return r.layout.qHyperCube.qDimensionInfo.length>1}},crossAllDimensions:{refFn:function(r){return\"\".concat(w(r,e),\".crossAllDimensions\")},type:\"boolean\",translation:r.crossAllDimensions||\"properties.modifier.crossAllDimensions\",title:{translation:r.crossAllDimensionsTooltip||\"properties.modifier.accumulation.crossAllDimensions.tooltip\"},schemaIgnore:!0,defaultValue:!1,show:function(e,r){return r.layout.qHyperCube.qDimensionInfo.length>1}},fullRange:{refFn:function(r){return\"\".concat(w(r,e),\".fullAccumulation\")},type:\"boolean\",translation:r.range||\"properties.modifier.range\",component:\"dropdown\",schemaIgnore:!0,defaultValue:!1,options:[{value:!0,translation:r.rangeFull||\"properties.modifier.range.full\"},{value:!1,translation:r.rangeCustom||\"properties.modifier.range.custom\"}]},steps:{refFn:function(r){return\"\".concat(w(r,e),\".steps\")},type:\"integer\",translation:r.rangeSteps||\"properties.modifier.range.steps\",schemaIgnore:!0,defaultValue:6,change:function(r){var n=V(r,e);if(n){var t=n.steps;n.steps=\"number\"!=typeof t||Number.isNaN(t)?6:Math.abs(t)}},show:function(r){var n=V(r,e);return n&&!n.fullAccumulation}},showExcludedValues:{refFn:function(r){return\"\".concat(w(r,e),\".showExcludedValues\")},type:\"boolean\",translation:r.showExcludedValues||\"properties.modifier.showExcludedValues\",schemaIgnore:!0,defaultValue:!0}},show:function(e,r){return h.isApplicable({properties:r.properties})}}},show:function(r,n,t){var o=t.ext.support.modifiers;if(!Array.isArray(o)||-1===o.indexOf(N))return!1;var i=V(r,e);return i&&!i.disabled}};return n}},j=\"movingAverage\";function _(e,r){var n=a(e,r);if(n)for(var t=0;t<n.length;t++)if(n[t].type===j)return n[t]}function R(e,r){var n=function(e,r){var n=a(e,r);if(!n)return-1;for(var t=0;t<n.length;t++)if(n[t].type===j)return t;return-1}(e,r);return n>-1?\"\".concat(r,\".\").concat(n):r}var B={type:\"movingAverage\",disabled:!1,primaryDimension:0,crossAllDimensions:!1,showExcludedValues:!0,fullRange:!1,steps:6,outputExpression:\"\",nullSuppression:!1},k={translationKey:\"properties.modifier.movingAverage\",needDimension:h.needDimension,isApplicable:function(e){var r=e.properties,n=e.layout;return h.isApplicable({properties:r,layout:n,minDimensions:1,maxDimensions:2})},generateExpression:function(e){var r,n=e.expression,t=e.modifier,o=e.properties,i=e.layout,s=e.numDimensions,u=e.dimensionAndFieldList;if(!t)return n;var l=s;void 0===l&&(l=h.getNumDimensions({properties:o,layout:i}));var c=a(o,\"qHyperCubeDef.qDimensions\",[]),p=t.showExcludedValues&&t.nullSuppression,f=h.getExpressionWithExcludedComp({expression:n,modifier:t,dimensions:c,dimensionAndFieldList:u,treatMissingAsNull:p}),m=h.getNumStepComp(t,l),d=h.getAboveComp(t,l,f,m);if(t.nullSuppression)r=h.getRangeComp(\"RangeAvg\",d);else{var y=h.getRangeComp(\"RangeSum\",d),q=function(e,r){var n=h.getRowNoComp(e,r);if(!h.isFullRange(e)){var t=e.steps,o=\"number\"!=typeof t||Number.isNaN(t)?6:t;return\"RangeMin(\".concat(o,\", \").concat(n,\")\")}return n}(t,l);r=\"\".concat(y,\" / \").concat(q)}var b=r;if(h.needDimension({modifier:t,properties:o,layout:i})){var D=h.getDimComp(c,1),v=h.getDimComp(c,0),g=h.getAggrComp(b,D,v);b=t.showExcludedValues?h.getExcludedComp({modifier:t,dimensions:c,dimensionAndFieldList:u,funcComp:\"Only\",valueComp:g}):g}return b},extractInputExpression:h.extractInputExpression,initModifier:function(e){h.initModifier(e,B)},enableTotalsFunction:function(){return!1},propertyPanelDef:function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n={type:\"items\",items:{disclaimer:{component:\"text\",translation:r.disclaimer||\"properties.modifier.movingAverage.disclaimer\",show:function(e,r){return!h.isApplicable({properties:r.properties})}},settings:{type:\"items\",items:{primaryDimension:{refFn:function(r){return\"\".concat(R(r,e),\".primaryDimension\")},type:\"integer\",translation:r.primaryDimension||\"properties.modifier.primaryDimension\",title:{translation:r.primaryDimensionTooltip||\"properties.modifier.movingAverage.primaryDimension.tooltip\"},component:\"dropdown\",schemaIgnore:!0,defaultValue:1,options:function(e,r){return r.layout.qHyperCube.qDimensionInfo.map((function(e,r){return{value:r,label:e.qGroupFallbackTitles[0]}}))},show:function(e,r){return r.layout.qHyperCube.qDimensionInfo.length>1}},crossAllDimensions:{refFn:function(r){return\"\".concat(R(r,e),\".crossAllDimensions\")},type:\"boolean\",translation:r.crossAllDimensions||\"properties.modifier.crossAllDimensions\",title:{translation:r.crossAllDimensionsTooltip||\"properties.modifier.movingAverage.crossAllDimensions.tooltip\"},schemaIgnore:!0,defaultValue:!1,show:function(e,r){return r.layout.qHyperCube.qDimensionInfo.length>1}},fullRange:{refFn:function(r){return\"\".concat(R(r,e),\".fullRange\")},type:\"boolean\",translation:r.range||\"properties.modifier.range\",component:\"dropdown\",schemaIgnore:!0,defaultValue:!1,options:[{value:!0,translation:r.rangeFull||\"properties.modifier.range.full\"},{value:!1,translation:r.rangeCustom||\"properties.modifier.range.custom\"}]},steps:{refFn:function(r){return\"\".concat(R(r,e),\".steps\")},type:\"integer\",translation:r.rangeSteps||\"properties.modifier.range.steps\",schemaIgnore:!0,defaultValue:6,change:function(r){var n=_(r,e);if(n){var t=n.steps;n.steps=\"number\"!=typeof t||Number.isNaN(t)?6:Math.abs(t)}},show:function(r){var n=_(r,e);return n&&!n.fullRange}},showExcludedValues:{refFn:function(r){return\"\".concat(R(r,e),\".showExcludedValues\")},type:\"boolean\",translation:r.showExcludedValues||\"properties.modifier.showExcludedValues\",schemaIgnore:!0,defaultValue:!0},nullSuppression:{refFn:function(r){return\"\".concat(R(r,e),\".nullSuppression\")},type:\"boolean\",translation:r.showNull||\"properties.dimensions.showNull\",schemaIgnore:!0,defaultValue:!1,inverted:!0}},show:function(e,r){return h.isApplicable({properties:r.properties})}}},show:function(r,n,t){var o=t.ext.support.modifiers;if(!Array.isArray(o)||-1===o.indexOf(j))return!1;var i=_(r,e);return i&&!i.disabled}};return n}},U=\"difference\";function G(e,r){var n=a(e,r);if(n)for(var t=0;t<n.length;t++)if(n[t].type===U)return n[t]}function W(e,r){var n=function(e,r){var n=a(e,r);if(!n)return-1;for(var t=0;t<n.length;t++)if(n[t].type===U)return t;return-1}(e,r);return n>-1?\"\".concat(r,\".\").concat(n):r}var $={type:\"difference\",disabled:!1,primaryDimension:0,crossAllDimensions:!1,showExcludedValues:!0,outputExpression:\"\"},z={translationKey:\"properties.modifier.difference\",needDimension:h.needDimension,isApplicable:function(e){var r=e.properties,n=e.layout;return h.isApplicable({properties:r,layout:n,minDimensions:1,maxDimensions:2})},extractInputExpression:h.extractInputExpression,generateExpression:function(e){var r=e.expression,n=e.modifier,t=e.properties,o=e.layout,i=e.numDimensions,s=e.dimensionAndFieldList;if(!n)return r;var u=i;void 0===u&&(u=h.getNumDimensions({properties:t,layout:o}));var l=a(t,\"qHyperCubeDef.qDimensions\",[]),c=h.getExpressionWithExcludedComp({expression:r,modifier:n,dimensions:l,dimensionAndFieldList:s}),p=h.getAboveComp(n,u,c),f=\"\".concat(c,\" - \").concat(p);if(h.needDimension({modifier:n,properties:t,layout:o})){var m=h.getDimComp(l,1),d=h.getDimComp(l,0),y=h.getAggrComp(f,m,d);f=n.showExcludedValues?h.getExcludedComp({modifier:n,dimensions:l,dimensionAndFieldList:s,funcComp:\"Only\",valueComp:y}):y}return f},initModifier:function(e){Object.keys($).forEach((function(r){void 0===e[r]&&(e[r]=$[r])}))},enableTotalsFunction:function(){return!1},propertyPanelDef:function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n={type:\"items\",items:{disclaimer:{component:\"text\",translation:r.disclaimer||\"properties.modifier.difference.disclaimer\",show:function(e,r){return!h.isApplicable({properties:r.properties})}},settings:{type:\"items\",items:{primaryDimension:{refFn:function(r){return\"\".concat(W(r,e),\".primaryDimension\")},type:\"integer\",translation:r.primaryDimension||\"properties.modifier.primaryDimension\",title:{translation:r.primaryDimensionTooltip||\"properties.modifier.difference.primaryDimension.tooltip\"},component:\"dropdown\",schemaIgnore:!0,defaultValue:1,options:function(e,r){return r.layout.qHyperCube.qDimensionInfo.map((function(e,r){return{value:r,label:e.qGroupFallbackTitles[0]}}))},show:function(e,r){return r.layout.qHyperCube.qDimensionInfo.length>1}},crossAllDimensions:{refFn:function(r){return\"\".concat(W(r,e),\".crossAllDimensions\")},type:\"boolean\",translation:r.crossAllDimensions||\"properties.modifier.crossAllDimensions\",title:{translation:r.crossAllDimensionsTooltip||\"properties.modifier.difference.crossAllDimensions.tooltip\"},schemaIgnore:!0,defaultValue:!1,show:function(e,r){return r.layout.qHyperCube.qDimensionInfo.length>1}},showExcludedValues:{refFn:function(r){return\"\".concat(W(r,e),\".showExcludedValues\")},type:\"boolean\",translation:r.showExcludedValues||\"properties.modifier.showExcludedValues\",schemaIgnore:!0,defaultValue:!0}},show:function(e,r){return h.isApplicable({properties:r.properties})}}},show:function(r,n,t){var o=t.ext.support.modifiers;if(!Array.isArray(o)||-1===o.indexOf(U))return!1;var i=G(r,e);return i&&!i.disabled}};return n}},Y={CURRENT_SELECTION:0,SELECT_FIELD_VALUE:1,DISREGARD_SELECTION:2},J={ONE_DIMENSION:0,ALL_DIMENSIOANS:1,DISREGARD_ALL_DIMENSIONS:2},K=\"normalization\";function X(e,r){var n=a(e,r);if(n)for(var t=0;t<n.length;t++)if(n[t].type===K)return n[t]}function Q(e,r){var n=function(e,r){var n=a(e,r);if(!n)return-1;for(var t=0;t<n.length;t++)if(n[t].type===K)return t;return-1}(e,r);return n>-1?\"\".concat(r,\".\").concat(n):r}function Z(e,r){for(var n=0;n<e.length;n++)if(e[n].value===r)return n;return-1}function ee(e,r,n,t){var o=r.layout.qHyperCube.qDimensionInfo.length,i=[{value:J.ONE_DIMENSION,translation:n.dimensionalScopeOneDimension||\"properties.modifier.dimensionalScope.respectOneDimension\",tooltipTranslation:n.dimensionalScopeOneDimensionTooltip||\"properties.modifier.dimensionalScope.respectOneDimension.tooltip\"},{value:J.ALL_DIMENSIOANS,translation:n.dimensionalScopeAllDimensions||\"properties.modifier.dimensionalScope.\".concat(2===o?\"respectAllDimensions\":\"respectDimension\"),tooltipTranslation:n.dimensionalScopeAllDimensionsTooltip||\"properties.modifier.dimensionalScope.\".concat(2===o?\"respectAllDimensions\":\"respectDimension\",\".tooltip\")},{value:J.DISREGARD_ALL_DIMENSIONS,translation:n.dimensionalScopeDisregardAllDimensions||\"properties.modifier.dimensionalScope.\".concat(2===o?\"disregardAllDimensions\":\"disregardDimension\"),tooltipTranslation:n.dimensionalScopeDisregardAllDimensionsTooltip||\"properties.modifier.dimensionalScope.\".concat(2===o?\"disregardAllDimensions\":\"disregardDimension\",\".tooltip\")}];return i=function(e,r,n){if(e<2){var t=Z(r,0);r.splice(t,1)}return r}(o,i),function(e,r,n){if(0===e){var t=Z(r,1);r.splice(t,1)}return r}(X(e,t).selectionScope,i)}function re(e,r,n){var t=[{value:Y.CURRENT_SELECTION,translation:r.selectionScopeCurrentSelection||\"properties.modifier.selectionScope.currentSelection\"},{value:Y.SELECT_FIELD_VALUE,translation:r.selectionScopeSpecificValue||\"properties.modifier.selectionScope.selectAField\"},{value:Y.DISREGARD_SELECTION,translation:r.selectionScopeTotal||\"properties.modifier.selectionScope.total\"}];return function(e,r,n){if(1===e){var t=Z(r,0);r.splice(t,1)}return r}(X(e,n).dimensionalScope,t)}var ne={type:\"normalization\",disabled:!1,primaryDimension:0,outputExpression:\"\",dimensionalScope:J.DISREGARD_ALL_DIMENSIONS,selectionScope:Y.DISREGARD_SELECTION};function te(e){return 2===e?\"{1}\":\"\"}function oe(e,r,n){return 1===e?\"{$<\".concat(h.getFieldWithWrapper(r),\"={'\").concat(n,\"'}>}\"):\"\"}function ie(e,r){return 0===e&&r>1||2===e?\"Total\":\"\"}function ae(e,r,n){return 0===e&&r>1?\"<\".concat(h.getDimDefWithWrapper(n),\">\"):\"\"}var se={translationKey:\"properties.modifier.normalization\",needDimension:function(){return!0},isApplicable:function(e){var r=e.properties,n=e.layout;return h.isApplicable({properties:r,layout:n,minDimensions:1,maxDimensions:2})},extractInputExpression:h.extractInputExpression,generateExpression:function(e){var r=e.expression,n=e.modifier,t=e.properties,o=e.layout,i=e.numDimensions,s=e.dimensionAndFieldList;if(!n)return r;var u=i;void 0===u&&(u=h.getNumDimensions({properties:t,layout:o}));var l=a(t,\"qHyperCubeDef.qDimensions\",[]),c=h.getExpressionWithExcludedComp({expression:r,modifier:n,dimensions:l,dimensionAndFieldList:s}),p=n.selectionScope,f=n.dimensionalScope;return function(e,r,n,t,o,i,a){var s=te(r),u=oe(r,n,t),l=\"\"===s&&\"\"===u?\"\":s||u,c=ie(o,i),p=ae(o,i,a),f=function(e){for(var r=[],n=0;n<e;n++)r[n]=h.getDimDefWithWrapper(n);return r.join(\", \")}(i);return\"\".concat(e,\"/ Sum(\").concat(l,\" \").concat(c).concat(p,\" Aggr(\").concat(l,\" \").concat(e,\", \").concat(f,\"))\")}(c,p,n.field,n.value,f,u,n.primaryDimension)},initModifier:function(e){Object.keys(ne).forEach((function(r){void 0===e[r]&&(e[r]=ne[r])}))},updateModifier:function(e,r){1===(r.qDimensions?r.qDimensions.length:0)&&0===e.dimensionalScope&&(e.dimensionalScope=2)},enableTotalsFunction:function(){return!0},propertyPanelDef:function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n={type:\"items\",items:{disclaimer:{component:\"text\",translation:r.disclaimer||\"properties.modifier.normalization.disclaimer\",show:function(e,r){return!h.isApplicable({properties:r.properties})}},settings:{type:\"items\",items:{selectionScope:{refFn:function(r){return\"\".concat(Q(r,e),\".selectionScope\")},type:\"string\",translation:r.modifierSelectionScope||\"properties.modifier.selectionScope\",title:{translation:r.modifierSelectionScopeTooltip||\"properties.modifier.selectionScope.tooltip\"},component:\"dropdown\",schemaIgnore:!0,defaultValue:Y.DISREGARD_SELECTION,options:function(n){return re(n,r,e)}},field:{refFn:function(r){return\"\".concat(Q(r,e),\".field\")},type:\"string\",component:\"expression-with-dropdown\",translation:\"Common.Field\",defaultValue:\"\",dropdownOnly:!0,options:function(e,r,n){return n.app.getFieldList().then((function(e){return e.map((function(e){return{label:e.qName,value:e.qName}}))}))},show:function(r){return X(r,e).selectionScope===Y.SELECT_FIELD_VALUE}},value:{refFn:function(r){return\"\".concat(Q(r,e),\".value\")},type:\"string\",ref:\"value\",component:\"string\",translation:\"properties.value\",expression:\"optional\",show:function(r){return X(r,e).selectionScope===Y.SELECT_FIELD_VALUE}},dimensionalScope:{refFn:function(r){return\"\".concat(Q(r,e),\".dimensionalScope\")},type:\"string\",translation:r.modifierDimensionalScope||\"properties.modifier.dimensionalScope\",title:{translation:r.modifierDimensionalScopeTooltip||\"properties.modifier.dimensionalScope.tooltip\"},component:\"dropdown\",schemaIgnore:!0,defaultValue:J.DISREGARD_ALL_DIMENSIONS,supportTooltip:!0,options:function(n,t){return ee(n,t,r,e)}},primaryDimension:{refFn:function(r){return\"\".concat(Q(r,e),\".primaryDimension\")},type:\"integer\",translation:r.primaryDimension||\"properties.modifier.primaryDimension\",title:{translation:r.primaryDimensionTooltip||\"properties.modifier.normalization.primaryDimension.tooltip\"},component:\"dropdown\",schemaIgnore:!0,defaultValue:1,options:function(e,r){return r.layout.qHyperCube.qDimensionInfo.map((function(e,r){return{value:r,label:e.qGroupFallbackTitles[0]}}))},show:function(r,n){return(X(r,e).dimensionalScope||0)===J.ONE_DIMENSION&&n.layout.qHyperCube.qDimensionInfo.length>1}}},show:function(e,r){return h.isApplicable({properties:r.properties})}}},show:function(r,n,t){var o=t.ext.support.modifiers;if(!Array.isArray(o)||-1===o.indexOf(K))return!1;var i=X(r,e);return i&&!i.disabled}};return n},getDisregardSelectionComp:te,getFieldSelectionComp:oe,getTotalComp:ie,getSelectedDimComp:ae},ue={getExpression:function(e){return a(e,\"qDef.base.qDef\")||a(e,\"qDef.qDef\")},getExpressionRef:function(e){return a(e,\"qDef.base.qDef\")?\"qDef.base.qDef\":\"qDef.qDef\"},getLibraryIdRef:function(e){return a(e,\"qDef.base.qLibraryId\")?\"qDef.base.qLibraryId\":\"qLibraryId\"},getLibraryId:function(e){return a(e,\"qDef.base.qLibraryId\")||a(e,\"qLibraryId\")},getLabelRef:function(e){return a(e,\"qDef.base\")?\"qDef.base.qLabel\":\"qDef.qLabel\"},getLabelExpressionRef:function(e){return a(e,\"qDef.base\")?\"qDef.base.qLabelExpression\":\"qDef.qLabelExpression\"}},le={initBase:function(e,r){(r||le.isValid(e))&&(i(e,\"qDef.base.qDef\",a(e,\"qDef.qDef\")),i(e,\"qDef.base.qLibraryId\",a(e,\"qLibraryId\")),i(e,\"qDef.base.qLabel\",a(e,\"qDef.qLabel\")),i(e,\"qDef.base.qLabelExpression\",a(e,\"qDef.qLabelExpression\")))},restoreBase:function(e){le.isValid(e)&&(i(e,\"qDef.qDef\",a(e,\"qDef.base.qDef\")),i(e,\"qLibraryId\",a(e,\"qDef.base.qLibraryId\")),i(e,\"qDef.qLabel\",a(e,\"qDef.base.qLabel\")),i(e,\"qDef.qLabelExpression\",a(e,\"qDef.base.qLabelExpression\")),a(e,\"qDef.qAggrFunc\")&&a(e,\"qDef.base.qAggrFunc\")&&i(e,\"qDef.qAggrFunc\",a(e,\"qDef.base.qAggrFunc\")),delete e.qDef.base)},isValid:function(e){var r=a(e,\"qDef.base.qDef\"),n=a(e,\"qDef.base.qLibraryId\");return void 0!==r||void 0!==n}},ce=le;function pe(e){return(pe=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}var fe={accumulation:H,movingAverage:k,difference:z,normalization:se},me=(r.default={modifiers:fe,apply:de,applyModifiers:ye,cleanUpMeasure:qe,destroy:function(e){e&&me[e.id]&&me[e.id].masterItemSubscriber&&(me[e.id].masterItemSubscriber&&me[e.id].masterItemSubscriber.unsubscribe(),delete me[e.id])},hasActiveModifiers:be,getActiveModifier:De,initBase:ce.initBase,isSupportedModifiers:function(e){return Array.isArray(e)&&e.some((function(e){return fe[e]}))},isApplicableSupportedModifiers:function(e){var r=e.modifierTypes,n=e.properties,t=e.layout;return Array.isArray(r)&&r.some((function(e){return fe[e]&&fe[e].isApplicable({properties:n,layout:t})}))},measureBase:ue,limitedSorting:function(e){var r=e.measures,n=e.properties,t=e.layout,o=!1,i=!1;return r.forEach((function(e){var r=he(e);Se({modifiers:r,properties:n,layout:t})&&(o=!0,i=i||Ne({modifiers:r,properties:n,layout:t}))})),o&&!i},ifEnableTotalsFunction:ve},{});function de(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=e.model,n=e.properties,t=e.isSnapshot,i=void 0!==t&&t,s=e.masterItem;me[r.id]=me[r.id]||{isFirstTime:!0};var u=me[r.id].isFirstTime;if(me[r.id].isFirstTime=!1,n&&\"object\"===pe(n))return ye({model:r,properties:n});var l=r?r.layout:void 0,c=a(l,\"qSelectionInfo.qInSelections\");if(i||c)return Promise.resolve(!1);var p=a(l,\"qHyperCube.qMeasureInfo\"),f=me[r.id].lastReloadTime;if(me[r.id].lastReloadTime=a(r,\"app.layout.qLastReloadTime\"),be({measures:p,layout:l})){var m=function(e){var r=e.measures,n=e.layout,t=e.lastReloadTime;return a(e.model,\"app.layout.qLastReloadTime\")!==t&&function(e){var r=e.measures,n=e.properties,t=e.layout;return!!Array.isArray(r)&&r.some((function(e){return Me({measure:e,properties:n,layout:t})}))}({measures:r,layout:n})}({measures:p,layout:l,model:r,lastReloadTime:f});return m||function(e){var r=e.measures,n=e.layout,t=e.masterItem,o=e.isFirstTime;return!!Array.isArray(r)&&(o||t||r.some((function(e){return function(e){var r=e.measure,n=e.layout;return Se({modifiers:he(r),layout:n})?!r.base:!!r.base}({measure:e,layout:n})})))}({measures:p,layout:l,masterItem:s,isFirstTime:u})?r.getEffectiveProperties().then((function(e){var n=o()(!0,{},e);Ee(n);var t=Ve(n);return Le({model:r}).then((function(o){return Oe({libraryIds:t,model:r}).then((function(t){return m&&function(e){var r=e.properties;ge(r).forEach((function(e){return function(e){var r=e.measure;if(Me({measure:r,properties:e.properties})){var n=0,t=r.qDef.modifiers;Array.isArray(t)&&t.forEach((function(e){if(\"object\"===pe(e)&&!e.disabled){if(n++,\"object\"!==pe(fe[e.type]))throw new Error('Modifier \"'.concat(e.type,'\" is not available'));if(n>1)throw new Error(\"More than 1 modifier on a measure! (not yet supported)\");var t=fe[e.type].extractInputExpression({outputExpression:r.qDef.qDef,modifier:e});void 0!==t&&Ce(r)&&h.simplifyExpression(r.qDef.base.qDef)!==h.simplifyExpression(t)&&(r.qDef.base.qDef=t)}}))}}({measure:e,properties:r})}))}({properties:n}),ye({model:r,oldProperties:e,properties:n,runUpdateIfChange:!0,masterItem:s,libraryItemsProps:t,dimensionAndFieldList:o})}))}))})):Promise.resolve(!1)}return function(e){return!!Array.isArray(e)&&e.some((function(e){return\"object\"===pe(e.base)}))}(p)?r.getEffectiveProperties().then((function(e){return function(e){var r=e.model,n=e.properties,t=Ve(n);return we({model:r,libraryIds:t}).then((function(){var e=o()(!0,{},n);return ge(n).forEach((function(e){return qe(e)})),Pe({oldProperties:e,newProperties:n,model:r})}))}({model:r,properties:e})})):Promise.resolve(!1)}function ye(e){var r=e.model,n=e.oldProperties,t=e.properties,i=e.measures,s=e.runUpdateIfChange,u=void 0!==s&&s,l=e.masterItem,c=e.libraryItemsProps,p=e.dimensionAndFieldList;void 0===n&&(n=u?o()(!0,{},t):t),Ee(t);var f=Ve(t);return we({model:r,libraryIds:f,masterItem:l}).then((function(){return function(e){var r=e.measures,n=e.properties,t=e.model,i=e.libraryItemsProps,s=e.dimensionAndFieldList;if(r||(r=ge(n)),!r.length)return Promise.resolve();if(!be({measures:r,properties:n}))return r.forEach((function(e){return qe(e)})),Promise.resolve();var u=i?void 0:Ve(n);return Le({model:t,dimensionAndFieldList:s}).then((function(e){return Oe({libraryIds:u,model:t,libraryItemsProps:i}).then((function(t){r.forEach((function(r){Se({modifiers:r.qDef.modifiers,properties:n})?(function(e){var r=e.measure,n=e.properties,t=e.libraryItemsProps,i=e.dimensionAndFieldList,s=0;ce.isValid(r)||ce.initBase(r,!0);var u=r.qDef,l=u.modifiers,c=u.base;Array.isArray(l)&&l.forEach((function(e){if(\"object\"===pe(e)&&!e.disabled){if(s++,\"object\"!==pe(fe[e.type]))throw new Error('Modifier \"'.concat(e.type,'\" is not available'));if(s>1)throw new Error(\"More than 1 modifier on a measure! (not yet supported)\");fe[e.type].initModifier(e);var u=r.qLibraryId||c&&c.qLibraryId;u?function(e){var r=e.measure,n=e.modifier,t=e.properties,i=e.dimensionAndFieldList,a=e.libraryItemsProps[e.libraryId],s=a.qMeasure.qDef,u=fe[n.type].generateExpression({expression:s,modifier:n,properties:t,dimensionAndFieldList:i});n.outputExpression=u,r.qDef.qDef=n.outputExpression,(r.qDef.qLabel||a.qMeasure.qLabel)&&(r.qDef.qLabel=a.qMeasure.qLabel),(r.qDef.qLabelExpression||a.qMeasure.qLabelExpression)&&(r.qDef.qLabelExpression=a.qMeasure.qLabelExpression),r.qDef.quarantine&&r.qDef.quarantine.qNumFormat&&a.qMeasure.qNumFormat&&(r.qDef.qNumFormat=a.qMeasure.qNumFormat,r.qDef.isCustomFormatted=a.qMeasure.isCustomFormatted),delete r.qLibraryId,r.qDef.coloring=a.qMeasure.coloring,n.base=o()(!0,{},r.qDef.base)}({measure:r,modifier:e,libraryId:u,properties:n,libraryItemsProps:t,dimensionAndFieldList:i}):function(e){var r=e.measure,n=e.modifier,t=e.properties,i=e.dimensionAndFieldList;\"function\"==typeof fe[n.type].updateModifier&&fe[n.type].updateModifier(n,t.qHyperCubeDef);var a=ue.getExpression(r),s=fe[n.type].generateExpression({expression:a,modifier:n,properties:t,dimensionAndFieldList:i});n.outputExpression=s,r.qDef.qDef=n.outputExpression,r.qDef.base.qLabelExpression?r.qDef.qLabelExpression=r.qDef.base.qLabelExpression:r.qDef.qLabel=r.qDef.base.qLabel||a,n.base=o()(!0,{},r.qDef.base)}({measure:r,modifier:e,properties:n,dimensionAndFieldList:i}),function(e){var r=a(e,\"qDef.qAggrFunc\");\"Expr\"!==r||ve(e)?\"None\"!==r?delete e.qDef.base.qAggrFunc:\"None\"===r&&ve(e)&&\"Expr\"===e.qDef.base.qAggrFunc&&(e.qDef.qAggrFunc=\"Expr\",delete e.qDef.base.qAggrFunc):(e.qDef.qAggrFunc=\"None\",e.qDef.base.qAggrFunc=\"Expr\")}(r)}}))}({measure:r,properties:n,libraryItemsProps:t,dimensionAndFieldList:e}),Ae(r)):qe(r)}))}))}))}({measures:i,properties:t,model:r,libraryItemsProps:c,dimensionAndFieldList:p}).then((function(){return u?Pe({oldProperties:n,newProperties:t,model:r}):Promise.resolve(!1)}))}))}function qe(e){!function(e){var r=he(e);return Array.isArray(r)&&r.some((function(e){return\"object\"===pe(e)&&!e.disabled&&!fe[e.type]}))}(e)?ce.restoreBase(e):delete e.qDef.base,e.qDef.coloring&&delete e.qDef.coloring,Ae(e)}function be(e){var r=e.measures,n=e.properties,t=e.layout;return!!Array.isArray(r)&&r.some((function(e){return Se({modifiers:he(e),properties:n,layout:t})}))}function De(e){var r=he(e);if(Array.isArray(r))for(var n=0;n<r.length;n++){var t=r[n];if(fe[t.type]&&!t.disabled)return t}}function ve(e){var r=De(e);return!r||fe[r.type].enableTotalsFunction(e)}function ge(e){return a(e,\"qHyperCubeDef.qMeasures\",[]).concat(a(e,\"qHyperCubeDef.qLayoutExclude.qHyperCubeDef.qMeasures\",[]))}function he(e){return e.modifiers||e.qDef&&e.qDef.modifiers}function xe(e){return a(e,\"outputExpression.qValueExpression.qExpr\")||a(e,\"outputExpression\")}function Ee(e){ge(e).forEach((function(e){return function(e){var r=De(e);r&&(void 0!==r.outputExpression&&xe(r)!==e.qDef.qDef?delete e.qDef.base:!ce.isValid(e)&&r.base&&(e.qDef.base=o()(!0,{},r.base)))}(e)}))}function Ae(e){var r=he(e);Array.isArray(r)&&r.forEach((function(r){\"object\"===pe(r)&&(r.disabled||!fe[r.type]&&xe(r)!==e.qDef.qDef)&&(r.disabled=!0,delete r.base)}))}function Ce(e){return e.base||e.qDef&&e.qDef.base}function Ie(e){var r=Ce(e);return e.qLibraryId||r&&r.qLibraryId}function Me(e){var r=e.measure,n=e.properties,t=e.layout;return!Ie(r)&&Se({modifiers:he(r),properties:n,layout:t})}function Se(e){var r=e.modifiers,n=e.properties,t=e.layout,o={};return Array.isArray(r)&&r.some((function(e){return!(\"object\"!==pe(e)||e.disabled||!fe[e.type])&&(void 0===o[e.type]&&(o[e.type]=fe[e.type].isApplicable({properties:n,layout:t})),o[e.type])}))}function Le(e){var r=e.model,n=e.dimensionAndFieldList;if(n)return Promise.resolve(n);var t=[],o={},i=r.app.getDimensionList().then((function(e){o.dimensionList=e}));t.push(i);var a=r.app.getFieldList().then((function(e){o.fieldList=e}));return t.push(a),Promise.all(t).then((function(){return o}))}function Oe(e){var r=e.libraryIds,n=e.model,t=e.libraryItemsProps;if(t)return Promise.resolve(t);var o=r.measureLibraryIds,i=r.dimensionLibraryIds,a={},s=[];return o.forEach((function(e){var r=n.app.getMeasure(e).then((function(r){return r.getProperties().then((function(r){a[e]=r}))}));s.push(r)})),i.forEach((function(e){var r=n.app.getDimension(e).then((function(r){return r.getProperties().then((function(r){a[e]=r}))}));s.push(r)})),Promise.all(s).then((function(){return a}))}function Fe(e,r){if(\"\"!==r||-1===[\"qFmt\",\"qDec\",\"qThou\"].indexOf(e))return r}function Pe(e){var r=e.oldProperties,n=e.newProperties,t=e.model,o=JSON.stringify(a(r,\"qHyperCubeDef.qMeasures\"),Fe)!==JSON.stringify(a(n,\"qHyperCubeDef.qMeasures\"),Fe)||JSON.stringify(a(r,\"qHyperCubeDef.qLayoutExclude.qHyperCubeDef.qMeasures\"),Fe)!==JSON.stringify(a(n,\"qHyperCubeDef.qLayoutExclude.qHyperCubeDef.qMeasures\"),Fe);return o?function(e){var r=e.model,n=e.oldProperties,t=e.newProperties,o=r.layout;return o&&!o.qHasSoftPatches&&!o.qExtendsId&&a(o,\"qMeta.privileges\",[]).indexOf(\"update\")>-1?r.setProperties(t):P(r,n,t)}({model:t,oldProperties:r,newProperties:n}).then((function(){return o})):Promise.resolve(o)}function Ne(e){var r=e.modifiers,n=e.properties,t=e.layout;return Array.isArray(r)&&r.some((function(e){return\"object\"===pe(e)&&!e.disabled&&fe[e.type]&&fe[e.type].needDimension({modifier:e,properties:n,layout:t})}))}function Ve(e){var r=ge(e),n=[],t=[],o=!1;return r.forEach((function(r){var t=he(r);if(Se({modifiers:t,properties:e})){var i=Ie(r);i&&n.push(i),o=o||Ne({modifiers:t,properties:e})}})),a(e,\"qHyperCubeDef.qDimensions\",[]).forEach((function(e){var r=e.qLibraryId;r&&t.push(r)})),{measureLibraryIds:n,dimensionLibraryIds:t}}function we(e){var r=e.model,n=e.libraryIds;return!e.masterItem&&n&&(n.measureLibraryIds.length||n.dimensionLibraryIds.length)?(me[r.id].masterItemSubscriber=me[r.id].masterItemSubscriber||function(e){var r=e.model,n=e.callback,t={},o={},i={},s={dimension:[\"qDim.qFieldDefs\"],measure:[\"qMeasure.qDef\",\"qMeasure.qLabel\",\"qMeasure.qLabelExpression\",\"qMeasure.coloring\",\"qMeasure.qNumFormat\",\"qMeasure.isCustomFormatted\"]};function u(e){var r={},n=a(e,\"qInfo.qType\");return n&&s[n]&&s[n].forEach((function(n){r[n]=a(e,n)})),JSON.stringify(r)}function l(e){var r=e.qInfo.qId;if(t[r]){var o=u(e);t[r].properties!==o&&(t[r].properties=o,\"function\"==typeof n&&t[r].enabled&&n(e)),t[r].enabled=!0}}function c(e,n){return r.app[n](e).then((function(r){t[e]={listener:r.layoutSubscribe(l),enabled:!1,properties:u(r.layout)}}))}return{subscribe:function(e){var n=e.measureLibraryIds,a=e.dimensionLibraryIds,s=[];return function(e){var r=e.dimensionLibraryIds;o={},e.measureLibraryIds.forEach((function(e){o[e]=!0})),i={},r.forEach((function(e){i[e]=!0}))}({measureLibraryIds:n,dimensionLibraryIds:a}),Object.keys(t).forEach((function(e){o[e]||i[e]||(t[e].listener.dispose(),delete t[e])})),r.app&&(Object.keys(o).forEach((function(e){o[e]&&!t[e]&&s.push(c(e,\"getMeasure\"))})),Object.keys(i).forEach((function(e){i[e]&&!t[e]&&s.push(c(e,\"getDimension\"))}))),Promise.all(s)},unsubscribe:function(){Object.keys(t).forEach((function(e){t[e].listener.dispose()})),t={}}}}({model:r,callback:function(e){return de({model:r,masterItem:e}).then((function(){return r.app.clearUndoBuffer()}))}}),me[r.id].masterItemSubscriber.subscribe(n)):Promise.resolve()}}])},function(e,r,n){\"use strict\";function t(e){var r=function e(r){var n,t=r;return t>9?(n=65+t-10)>90&&(n+=6):t=\"\".concat(t).charCodeAt(0),[48,111,79,105,73,108].indexOf(n)>-1?e(t+1):String.fromCharCode(n)}(e%62),n=Math.floor(e/62);return n>0?t(n)+r:r}function o(e){return(o=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}n.r(r);var i={getValue:function(e,r,n){if(null==e||null==r)return n;for(var t=r.split(\".\"),o=e,i=0;i<t.length;++i){var a=t[i];if(\"\"!==a){if(void 0===o[a]||null===o[a])return n;o=o[a]}}return o},setValue:function(e,r,n){if(null!=e&&null!=r){for(var t=r.split(\".\"),o=t[t.length-1],i=e,a=0;a<t.length-1;++a){var s=t[a];void 0!==i[s]&&null!==i[s]||(i[s]=Number.isNaN(+t[a+1])?{}:[]),i=i[s]}void 0!==n?i[o]=n:delete i[o]}},isEmpty:function(e){return 0===Object.keys(e).length&&e.constructor===Object},isAtomicValue:function(e){return/boolean|number|string/.test(o(e))},generateId:function(){return t(Math.round(99e11*Math.random()+1e11)).replace(/\\W/g,\"\")}};function a(e){return function(e){if(Array.isArray(e))return s(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,r){if(!e)return;if(\"string\"==typeof e)return s(e,r);var n=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===n&&e.constructor&&(n=e.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(e);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return s(e,r)}(e)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function s(e,r){(null==r||r>e.length)&&(r=e.length);for(var n=0,t=new Array(r);n<r;n++)t[n]=e[n];return t}function u(e){return function(e){if(Array.isArray(e))return l(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,r){if(!e)return;if(\"string\"==typeof e)return l(e,r);var n=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===n&&e.constructor&&(n=e.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(e);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return l(e,r)}(e)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function l(e,r){(null==r||r>e.length)&&(r=e.length);for(var n=0,t=new Array(r);n<r;n++)t[n]=e[n];return t}function c(e,r,n){if(e){for(var t=0;t<e.length;t++)if(e[t][r]===n)return t;return-1}return-1}var p={isOrderedSubset:function(e,r){if(!(e&&r&&e.length&&r.length))return!1;var n=e.indexOf(r[0]);if(-1!==n){for(var t=0;t<r.length;t++){var o=e.indexOf(r[t]);if(n>o)return!1;n=o}return!0}return!1},indexAdded:function(e,r){var n;for(n=0;n<e.length;++n)e[n]>=0&&e[n]>=r&&++e[n];e.push(r)},indexRemoved:function(e,r){var n,t=0;for(n=0;n<e.length;++n)e[n]>r?--e[n]:e[n]===r&&(t=n);return e.splice(t,1),t},findItemByPropertyValue:function(e,r,n){if(e){for(var t=0;t<e.length;t++)if(e[t][r]===n)return e[t];return null}return null},findIndexByPropertyValue:c};var f=n(1),m=n.n(f);var d={addDimensions:function(e){var r,n=e.exportFormat,t=e.qHyperCubeDef,o=n.data[0];(r=o.dimensions).push.apply(r,a(t.qDimensions));var s,u=i.getValue(t,\"qLayoutExclude.qHyperCubeDef.qDimensions\");u&&(s=o.excludedDimensions).push.apply(s,a(u))},addMeasures:function(e){var r,n=e.exportFormat,t=e.qHyperCubeDef,o=n.data[0];(r=o.measures).push.apply(r,u(t.qMeasures));var a,s=i.getValue(t,\"qLayoutExclude.qHyperCubeDef.qMeasures\");s&&(a=o.excludedMeasures).push.apply(a,u(s))},setInterColumnSortOrder:function(e){var r=e.exportFormat,n=e.qHyperCubeDef,t=r.data[0];n.qInterColumnSortOrder||(n.qInterColumnSortOrder=[]),t.interColumnSortOrder=n.qInterColumnSortOrder.concat();var o=i.getValue(n,\"qLayoutExclude.qHyperCubeDef.qInterColumnSortOrder\");o&&p.isOrderedSubset(o,t.interColumnSortOrder)&&(t.interColumnSortOrder=o.concat())},copyProperties:function(e){var r=e.exportFormat,n=e.properties;Object.keys(n).forEach((function(e){r.properties[e]=n[e]}))},updateLayoutExclude:function(e){var r=e.exportFormat,n=e.properties;n.qLayoutExclude||(n.qLayoutExclude={}),n.qLayoutExclude.disabled&&(Object.keys(n.qLayoutExclude.disabled).forEach((function(e){r.properties.hasOwnProperty(e)||(r.properties[e]=n.qLayoutExclude.disabled[e])})),delete n.qLayoutExclude.disabled),n.qLayoutExclude.changed&&(!function(e){Object.keys(e.qLayoutExclude.changed).forEach((function(r){e.qLayoutExclude.changed[r].to===i.getValue(e,r)&&i.setValue(e,r,e.qLayoutExclude.changed[r].from)}))}(n),delete n.qLayoutExclude.changed),n.qLayoutExclude.quarantine&&!i.isEmpty(n.qLayoutExclude.quarantine)||delete n.qLayoutExclude},storeMeasuresModifiers:function(e){e.forEach((function(e){m.a.cleanUpMeasure(e),e.qDef.modifiers&&(e.store={modifiers:e.qDef.modifiers},delete e.qDef.modifiers)}))}};function y(e,r,n){var t,o,a=i.getValue(e,r);if(!i.isAtomicValue(a))try{if((o=(o=(t=JSON.stringify(a)).match(/:\\{/g))?o.length:0)>2)return;a=JSON.parse(t)}catch(e){return}i.getValue(e,\"qLayoutExclude.quarantine\")||i.setValue(e,\"qLayoutExclude.quarantine\",{});var s=i.getValue(e,\"qLayoutExclude.quarantine\");s[n]||(s[n]={}),s[n][r]=a}var q=n(0),b=n.n(q);function D(e,r){var n=b()(!0,{},r,e);return i.getValue(n,\"qOtherTotalSpec.qOtherCounted\")||i.setValue(n,\"qOtherTotalSpec.qOtherCounted\",{qv:\"10\"}),i.getValue(n,\"qOtherTotalSpec.qOtherLimit\")||i.setValue(n,\"qOtherTotalSpec.qOtherLimit\",{qv:\"0\"}),n.hasOwnProperty(\"othersLabel\")||(n.othersLabel=\"Others\"),n}function v(e,r){return b()(!0,{},r,e)}function g(e,r,n){return\"function\"==typeof e?e(r):Number.isNaN(+e)?n:e}var h=Math.pow(2,53)-1;function x(e){return function(e){if(Array.isArray(e))return E(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,r){if(!e)return;if(\"string\"==typeof e)return E(e,r);var n=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===n&&e.constructor&&(n=e.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(e);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return E(e,r)}(e)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function E(e,r){(null==r||r>e.length)&&(r=e.length);for(var n=0,t=new Array(r);n<r;n++)t[n]=e[n];return t}function A(e){return function(e){if(Array.isArray(e))return C(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,r){if(!e)return;if(\"string\"==typeof e)return C(e,r);var n=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===n&&e.constructor&&(n=e.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(e);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return C(e,r)}(e)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function C(e,r){(null==r||r>e.length)&&(r=e.length);for(var n=0,t=new Array(r);n<r;n++)t[n]=e[n];return t}var I={importCommonProperties:function(e,r,n){var t=\"masterobject\"===i.getValue(r,\"properties.qInfo.qType\")?\"masterobject\":i.getValue(n,\"qInfo.qType\");i.setValue(e,\"qInfo.qType\",t),e.visualization=n.visualization},copyPropertyIfExist:function(e,r,n){r.hasOwnProperty(e)&&(n[e]=r[e])},copyPropertyOrSetDefault:function(e,r,n,t){r.hasOwnProperty(e)?n[e]=r[e]:n[e]=t},getDefaultDimension:function(){return{qDef:{autoSort:!0,cId:\"\",othersLabel:\"Others\"},qLibraryId:\"\",qNullSuppression:!1,qOtherLabel:\"Others\",qOtherTotalSpec:{qOtherLimitMode:\"OTHER_GE_LIMIT\",qOtherMode:\"OTHER_OFF\",qOtherSortMode:\"OTHER_SORT_DESCENDING\",qSuppressOther:!1}}},getDefaultMeasure:function(){return{qDef:{autoSort:!0,cId:\"\",numFormatFromTemplate:!0},qLibraryId:\"\",qTrendLines:[]}},addDimensions:function(e){var r,n=e.exportFormat,t=e.maxDimensions,o=e.minDimensions,i=e.newHyperCubeDef,a=e.defaultDimension,s=n.data[0];for(r=0;r<s.dimensions.length;++r){var u=D(s.dimensions[r],a);i.qDimensions.length<t?i.qDimensions.push(u):i.qLayoutExclude.qHyperCubeDef.qDimensions.push(u)}for(r=0;r<s.excludedDimensions.length;++r){var l=D(s.excludedDimensions[r],a);i.qDimensions.length<o?i.qDimensions.push(l):i.qLayoutExclude.qHyperCubeDef.qDimensions.push(l)}},addMeasures:function(e){var r,n=e.exportFormat,t=e.maxMeasures,o=e.minMeasures,i=e.newHyperCubeDef,a=e.defaultMeasure,s=n.data[0];for(r=0;r<s.measures.length;++r){var u=v(s.measures[r],a);i.qMeasures.length<t?i.qMeasures.push(u):i.qLayoutExclude.qHyperCubeDef.qMeasures.push(u)}for(r=0;r<s.excludedMeasures.length;++r){var l=v(s.excludedMeasures[r],a);i.qMeasures.length<o?i.qMeasures.push(l):i.qLayoutExclude.qHyperCubeDef.qMeasures.push(l)}},getMaxMinDimensionMeasure:function(e){var r=e.exportFormat,n=e.dataDefinition,t=void 0===n?{}:n,o=r.data[0],i=t.dimensions||{max:0},a=t.measures||{max:0},s=g(a.max,o.dimensions.length,h),u=g(a.min,o.dimensions.length,0);return{maxDimensions:g(i.max,s,h),minDimensions:g(i.min,u,0),maxMeasures:s,minMeasures:u}},setInterColumnSortOrder:function(e){var r=e.exportFormat,n=e.newHyperCubeDef,t=r.data[0],o=n.qDimensions.length+n.qMeasures.length;n.qInterColumnSortOrder=t.interColumnSortOrder.concat();var i=n.qInterColumnSortOrder.length;if(i!==o)for(n.qLayoutExclude&&(n.qLayoutExclude.qHyperCubeDef.qInterColumnSortOrder=t.interColumnSortOrder.concat());i!==o;)i<o?(p.indexAdded(n.qInterColumnSortOrder,i),++i):(--i,p.indexRemoved(n.qInterColumnSortOrder,i))},createNewProperties:function(e){var r=e.exportFormat,n=e.initialProperties,t=e.hypercubePath,o={qLayoutExclude:{disabled:{},quarantine:{}}};return Object.keys(r.properties).forEach((function(e){\"qLayoutExclude\"===e?r.properties[e].quarantine&&(o.qLayoutExclude.quarantine=b()(!0,{},r.properties[e].quarantine)):\"qHyperCubeDef\"===e&&t?i.setValue(o,\"\".concat(t,\".qHyperCubeDef\"),r.properties.qHyperCubeDef):n.hasOwnProperty(e)||-1!==[\"qMetaDef\",\"descriptionExpression\",\"labelExpression\"].indexOf(e)?o[e]=r.properties[e]:o.qLayoutExclude.disabled[e]=r.properties[e]})),null===(o=b()(!0,{},n,o)).components&&(o.components=[]),o},shouldInitLayoutExclude:function(e){var r=e.exportFormat,n=e.maxDimensions,t=e.minDimensions,o=e.maxMeasures,i=e.minMeasures,a=r.data[0];return a.dimensions.length>n&&n>0||a.measures.length>o&&o>0||a.excludedDimensions.length>0&&a.dimensions.length+a.excludedDimensions.length>t||a.excludedMeasures.length>0&&a.measures.length+a.excludedMeasures.length>i||!o&&a.measures.length>0||!n&&a.dimensions.length>0},initLayoutExclude:function(e){var r=e.exportFormat,n=e.maxDimensions,t=e.minDimensions,o=e.maxMeasures,i=e.minMeasures,a=e.newHyperCubeDef,s=r.data[0];a.qLayoutExclude||(a.qLayoutExclude={}),a.qLayoutExclude.qHyperCubeDef||(a.qLayoutExclude.qHyperCubeDef={}),(s.dimensions.length>n&&n>0||s.excludedDimensions&&s.excludedDimensions.length&&s.dimensions.length+s.excludedDimensions.length>t)&&(a.qLayoutExclude.qHyperCubeDef.qDimensions||(a.qLayoutExclude.qHyperCubeDef.qDimensions=[])),(s.measures.length>o&&o>0||s.excludedMeasures&&s.excludedMeasures.length&&s.measures.length+s.excludedMeasures.length>i)&&(a.qLayoutExclude.qHyperCubeDef.qMeasures||(a.qLayoutExclude.qHyperCubeDef.qMeasures=[])),!o&&s.measures.length&&(a.qLayoutExclude.qHyperCubeDef.qMeasures||(a.qLayoutExclude.qHyperCubeDef.qMeasures=[])),!n&&s.dimensions.length&&(a.qLayoutExclude.qHyperCubeDef.qDimensions||(a.qLayoutExclude.qHyperCubeDef.qDimensions=[]))},updateDimensionsOnAdded:function(e){var r=e.newProperties,n=e.dataDefinition,t=e.hypercubePath;if(n.dimensions&&\"function\"==typeof n.dimensions.added){var o=i.getValue(r,t||\"\").qHyperCubeDef,a=x(o.qDimensions);o.qDimensions=[],a.forEach((function(e){o.qDimensions.push(e),n.dimensions.added(e,r)}))}},updateMeasuresOnAdded:function(e){var r=e.newProperties,n=e.dataDefinition,t=e.hypercubePath;if(n.measures&&\"function\"==typeof n.measures.added){var o=i.getValue(r,t||\"\").qHyperCubeDef,a=A(o.qMeasures);o.qMeasures=[],a.forEach((function(e){o.qMeasures.push(e),n.measures.added(e,r)}))}},restoreMeasuresModifiers:function(e){var r=e.measures,n=e.modifierTypes;r&&n&&m.a.isSupportedModifiers(n)&&r.forEach((function(e){e.store&&e.store.modifiers&&(e.qDef.modifiers=e.store.modifiers),delete e.store}))}};function M(e,r){var n=i.getValue(e,\"qLayoutExclude.quarantine\",{})[r];return!!n&&(Object.keys(n).forEach((function(r){i.setValue(e,r,n[r])})),delete e.qLayoutExclude.quarantine[r],!0)}var S={exportProperties:function(e){var r=e.propertyTree,n=e.hypercubePath,t=e.viewDataMode,o=function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,r={data:[],properties:{}},n=0;n<e;++n)r.data.push({dimensions:[],measures:[],excludedDimensions:[],excludedMeasures:[],interColumnSortOrder:[]});return r}(),a=r.qProperty,s=i.getValue(a,n||\"\"),u=s.qHyperCubeDef;return u.qInterColumnSortOrder||(u.qInterColumnSortOrder=[]),d.addDimensions({exportFormat:o,qHyperCubeDef:u}),d.addMeasures({exportFormat:o,qHyperCubeDef:u}),d.setInterColumnSortOrder({exportFormat:o,qHyperCubeDef:u}),delete u.qLayoutExclude,d.copyProperties({exportFormat:o,properties:a}),n&&(o.properties.qHyperCubeDef=u,delete s.qHyperCubeDef),d.updateLayoutExclude({exportFormat:o,properties:a}),t||d.storeMeasuresModifiers(o.properties.qHyperCubeDef.qMeasures),Array.isArray(o.properties.filters)&&(y(o.properties,\"filters\",\"storedFilters\"),delete o.properties.filters),o.properties.qHyperCubeDef.qContextSetExpression&&(y(o.properties,\"qHyperCubeDef.qContextSetExpression\",\"storedFilters\"),o.properties.qHyperCubeDef.qContextSetExpression=\"\"),o.properties.qHyperCubeDef.qDynamicScript&&o.properties.qHyperCubeDef.qDynamicScript.length&&(y(o.properties,\"qHyperCubeDef.qDynamicScript\",\"dynamicScript\"),o.properties.qHyperCubeDef.qDynamicScript=[]),o},importProperties:function(e){var r=e.exportFormat,n=e.initialProperties,t=void 0===n?{}:n,o=e.dataDefinition,a=void 0===o?{}:o,s=e.defaultPropertyValues,u=void 0===s?{}:s,l=e.hypercubePath,c=e.extension,p=e.supportedFilters,f=void 0===p||p,m={qChildren:[]},d=I.createNewProperties({exportFormat:r,initialProperties:t,hypercubePath:l}),y=i.getValue(t,l||\"\").qHyperCubeDef,q=i.getValue(d,l||\"\").qHyperCubeDef,b=I.getMaxMinDimensionMeasure({exportFormat:r,dataDefinition:a}),D=b.maxDimensions,v=b.minDimensions,g=b.maxMeasures,h=b.minMeasures,x=u.defaultDimension,E=void 0===x?I.getDefaultDimension():x,A=u.defaultMeasure,C=void 0===A?I.getDefaultMeasure():A;q.qDimensions.length=0,q.qMeasures.length=0,I.shouldInitLayoutExclude({exportFormat:r,maxDimensions:D,minDimensions:v,maxMeasures:g,minMeasures:h})&&I.initLayoutExclude({exportFormat:r,maxDimensions:D,minDimensions:v,maxMeasures:g,minMeasures:h,newHyperCubeDef:q}),I.addDimensions({exportFormat:r,maxDimensions:D,minDimensions:v,newHyperCubeDef:q,defaultDimension:E}),I.addMeasures({exportFormat:r,maxMeasures:g,minMeasures:h,newHyperCubeDef:q,defaultMeasure:C}),I.updateDimensionsOnAdded({newProperties:d,dataDefinition:a,hypercubePath:l}),I.updateMeasuresOnAdded({newProperties:d,dataDefinition:a,hypercubePath:l}),I.setInterColumnSortOrder({exportFormat:r,newHyperCubeDef:q}),I.copyPropertyIfExist(\"qMaxStackedCells\",y,q),I.copyPropertyIfExist(\"qNoOfLeftDims\",y,q),I.copyPropertyOrSetDefault(\"qInitialDataFetch\",y,q,[{qTop:0,qLeft:0,qWidth:0,qHeight:0}]),I.copyPropertyOrSetDefault(\"qMode\",y,q,\"S\"),I.copyPropertyOrSetDefault(\"qReductionMode\",y,q,\"N\"),I.copyPropertyOrSetDefault(\"qSortbyYValue\",y,q),I.copyPropertyOrSetDefault(\"qIndentMode\",y,q),I.copyPropertyOrSetDefault(\"qShowTotalsAbove\",y,q),I.importCommonProperties(d,r,t),m.qProperty=d;var S=i.getValue(c||{},\"support.modifiers\");return I.restoreMeasuresModifiers({measures:q.qMeasures,modifierTypes:S}),f&&M(m.qProperty,\"storedFilters\"),\"S\"===q.qMode&&M(m.qProperty,\"dynamicScript\"),m}},L={cellBackgroundColor:!0,cellForegroundColor:!0,colorByAlternative:!0,colorByExpression:!0,tooltip:!0,urlLabel:!0,url:!0};function O(e,r,n,t){r=r||[];var o=c(e,t,n),i=c(r,t,n);if(-1!==o&&-1===i){var a=e.splice(o,1);r.push(a[0])}return r}function F(e,r){return e.length!==r}var P={create:function(e,r){if(!e||!L[e])throw new Error(\"Attribute Expressions Util: ID required\");var n={};return r&&Object.keys(r).forEach((function(e){n[e]=r[e]})),n.id=e,n.qAttribute=!0,n},moveByIdFromGroup:function(e,r,n,t,o){n=n||\"qAttributeExpressions\",o=o||\"id\";for(var i=0;i<e.length;i++){var a=e[i][n],s=r.length;if(O(a,r,t,o),F(r,s))return r}return r},IDMAP:{CELL_BACKGROUND_COLOR:\"cellBackgroundColor\",CELL_FOREGROUND_COLOR:\"cellForegroundColor\",COLOR_BY_ALTERNATIVE:\"colorByAlternative\",COLOR_BY_EXPRESSION:\"colorByExpression\",TOOLTIP:\"tooltip\",CELL_LINK_LABEL:\"urlLabel\",CELL_LINK_URL:\"url\"}};var N={getNumDimensions:function(e){return i.getValue(e,\"qHyperCubeDef.qDimensions.length\",0)},getNumMeasures:function(e){return i.getValue(e,\"qHyperCubeDef.qMeasures.length\",0)},wrapFieldName:function(e){return e.split(\" \").length>1&&\"=\"!==e[0]&&\"[\"!==e[0]?\"[\".concat(e,\"]\"):e},getItemLabel:function(e){return e.label||e.name}},V={colorModeOptions:{primary:function(){return!0},dimension:function(e){return N.getNumDimensions(e)>0&&N.getNumMeasures(e)<=1},multiColor:function(e){return N.getNumMeasures(e)>1},measure:function(e){return N.getNumDimensions(e)>0},expression:function(e){return N.getNumMeasures(e)>=1}}},w={colorModeOptions:{primary:function(){return!0},dimension:function(){return!0},multiColor:function(){return!1},measure:function(){return!0},expression:function(e){return N.getNumMeasures(e)>=1}}},T={scatterplot:w,\"sn-scatter-plot\":w,piechart:{colorModeOptions:{primary:function(){return!0},dimension:function(){return!0},multiColor:function(){return!1},measure:function(){return!0},expression:function(e){return N.getNumMeasures(e)>=1}}},linechart:{colorModeOptions:{primary:function(){return!0},dimension:function(e){return N.getNumDimensions(e)>1},multiColor:function(e){return N.getNumMeasures(e)>1},measure:function(e){return N.getNumDimensions(e)<=1},expression:function(e){return N.getNumMeasures(e)>=1}}},map:{colorModeOptions:{primary:function(){return!0},dimension:function(e){return N.getNumDimensions(e)>=1},multiColor:function(e){return N.getNumMeasures(e)>1},measure:function(e){return N.getNumDimensions(e)>=1},expression:function(e){return N.getNumDimensions(e)>=1}}},distributionplot:{colorModeOptions:{primary:function(){return!0},dimension:function(){return!0},multiColor:function(){return!1},measure:function(){return!0},expression:function(e){return N.getNumDimensions(e)>=1}}}};function H(e,r,n){if(Array.isArray(e[r])){var t=p.findIndexByPropertyValue(e[r],\"id\",n);t>=0&&e[r].splice(t,1)}else e[r]=[]}function j(e,r){var n=P.IDMAP.COLOR_BY_ALTERNATIVE;e.forEach((function(e){H(e,\"qAttributeDimensions\",n),H(e,\"qAttributeExpressions\",n)})),r.forEach((function(e){H(e,\"qAttributeDimensions\",n),H(e,\"qAttributeExpressions\",n)}))}function _(e,r){if(r){var n=\"=\"===r.charAt(0);e.color.altLabel=n?{qStringExpression:{qExpr:r.substr(1)}}:r}}function R(e){var r=e.properties,n=e.isDimension,t=e.dimensions,o=e.excludedDimensions,a=e.measures,s=e.label;j(t,o);var u=t[t.length-1];if(u){var l=n?i.getValue(r,\"color.byDimDef\"):i.getValue(r,\"color.byMeasureDef\"),c=i.getValue(r,\"color.formatting.qNumFormat\"),f=i.getValue(r,\"color.formatting.isCustomFormatted\");if(l){var m=P.create(P.IDMAP.COLOR_BY_ALTERNATIVE);switch(l.type){case\"expression\":!function(e){var r=e.attributeExpression,n=e.label,t=e.item,o=e.isDimension,i=e.qNumFormat,a=e.isCustomFormatted;r.label=n||t.label,o?r.qDef=t.key:(r.qExpression=t.key,i&&(r.qNumFormat=i,r.isCustomFormatted=a)),r.matchMeasure=t.activeMeasureIndex,r.label&&\"=\"===r.label.charAt(0)&&(r.labelExpRef=\"color.altLabel\")}({attributeExpression:m,label:s,item:l,isDimension:n,qNumFormat:c,isCustomFormatted:f});break;case\"libraryItem\":!function(e){var r=e.attributeExpression,n=e.measures,t=e.item,o=e.isDimension,i=e.qNumFormat,a=e.isCustomFormatted;o||(r.matchMeasure=p.findIndexByPropertyValue(n,\"qLibraryId\",t.key),i&&(r.qNumFormat=i,r.isCustomFormatted=a)),void 0!==t.expression?r.qExpression=t.expression:r.qLibraryId=t.key,r.colorMapRef=t.key}({attributeExpression:m,measures:a,item:l,isDimension:n,qNumFormat:c,isCustomFormatted:f})}n?(m.qSortBy={qSortByAscii:1},u.qAttributeDimensions.push(m)):u.qAttributeExpressions.push(m)}}}function B(e,r,n,t){var o,i,a,s={};switch(e){case\"dimension\":n.qLibraryId?(s.type=\"dimension\",s.name=n.qLibraryId,s.id=n.qLibraryId):(s.type=\"field\",r?(s.name=n.label||n.qDef,s.id=n.qDef):(s.name=n.qDef.qFieldDefs[0],s.label=(a=n.qDef).qLabelExpression?a.qLabelExpression:a.qFieldLabels&&a.qFieldLabels[0]?a.qFieldLabels[0]:a.qFieldDefs[0]));break;case\"measure\":(o=function(e,r){return r?e.qLibraryId:m.a.measureBase.getLibraryId(e)}(n,r))?(s.type=\"measure\",s.name=o,s.id=o,(i=function(e,r){return m.a.hasActiveModifiers({measures:[e]})&&r?e.qDef.qDef:void 0}(n,t))&&(s.expression=i)):(s.type=\"expression\",r?(s.name=n.label||n.qExpression,s.id=n.qExpression):(s.name=n.qDef.qDef,s.label=function(e){var r=e.qDef;return r.qLabelExpression?r.qLabelExpression:r.qLabel?r.qLabel:r.qDef}(n)));break;default:throw new Error('columnType should be \"dimension\" or \"measure\"')}return s}var k={useMasterNumberFormat:function(e){e.quarantine={qNumFormat:e.qNumFormat||{},isCustomFormatted:e.isCustomFormatted||!1},e.qNumFormat=null,e.isCustomFormatted=void 0}};function U(e,r,n,t){var o=n?\"expression\":r.type,i=e.color,a=i.mode,s=N.getItemLabel(r);switch(_(e,s||\"\"),o){case\"field\":a=\"byDimension\",i.byDimDef={label:r.label||N.wrapFieldName(r.name),key:N.wrapFieldName(r.name),type:\"expression\",activeDimensionIndex:r.activeDimensionIndex};break;case\"expression\":a=\"byMeasure\",i.byMeasureDef={label:n||s,key:n||r.name,type:\"expression\",activeMeasureIndex:r.activeMeasureIndex};break;case\"dimension\":a=\"byDimension\",i.byDimDef={label:r.name,key:r.id,type:\"libraryItem\",activeDimensionIndex:r.activeDimensionIndex};break;case\"measure\":a=\"byMeasure\",i.byMeasureDef={label:r.name,key:r.id,expression:r.expression,type:\"libraryItem\",activeMeasureIndex:r.activeMeasureIndex},i.formatting&&k.useMasterNumberFormat(i.formatting)}t||(i.auto=!1,i.mode=a)}function G(e,r){var n=i.getValue(e,\"\".concat(r,\"qDimensions\"),[]),t=n[function(e,r,n){var t=i.getValue(r,\"visualization\"),o=n.split(\".\"),a=Number(o[1]),s=i.getValue(r,\"layers.\".concat(a,\".type\"));return 2===e.length&&\"map\"===t&&\"point\"===s}(n,e,r)?0:n.length-1],o=P.IDMAP.COLOR_BY_ALTERNATIVE,a=p.findItemByPropertyValue(t.qAttributeDimensions,\"id\",o);return U(e,B(\"dimension\",!!a,a||t)),!!a}function W(e,r){var n=i.getValue(e,\"\".concat(r,\"qDimensions\"),[]),t=i.getValue(e,\"\".concat(r,\"qMeasures\"),[]),o=i.getValue(e,\"\".concat(r,\"qLayoutExclude.qHyperCubeDef.qDimensions\"),[]),a=i.getValue(e,\"color.byDimDef\");if(a&&_(e,a.label),function(e){return!!(e&&e.activeDimensionIndex>-1)}(a))!function(e,r){var n=i.getValue(e,\"\".concat(r,\"qDimensions\"),[]),t=i.getValue(e,\"color.byDimDef\");t.activeDimensionIndex=Math.min(t.activeDimensionIndex,n.length-1);var o=B(\"dimension\",!1,n[t.activeDimensionIndex]);o.activeDimensionIndex=t.activeDimensionIndex,U(e,o)}(e,r);else if(function(e){return!e||!e.key}(a)&&G(e,r))return;R({properties:e,isDimension:!0,dimensions:n,excludedDimensions:o,measures:t,label:i.getValue(e,\"color.byDimDef.label\")})}function $(e,r){var n=i.getValue(e,\"\".concat(r,\"qDimensions\"),[]),t=i.getValue(e,\"\".concat(r,\"qMeasures\"),[]),o=i.getValue(e,\"\".concat(r,\"qLayoutExclude.qHyperCubeDef.qDimensions\"),[]),a=i.getValue(e,\"color.byMeasureDef\");if(a&&_(e,a.label),function(e){return!!(e&&e.activeMeasureIndex>-1)}(a))!function(e,r){var n=i.getValue(e,\"\".concat(r,\"qMeasures\"),[]),t=i.getValue(e,\"color.byMeasureDef\");if(t.activeMeasureIndex=Math.min(t.activeMeasureIndex,n.length-1),t.activeMeasureIndex>-1){var o=B(\"measure\",!1,n[t.activeMeasureIndex],!0);o.activeMeasureIndex=t.activeMeasureIndex,U(e,o)}}(e,r);else if(function(e,r){return(!e||!e.key)&&r.length>0}(a,t)&&function(e,r){var n=i.getValue(e,\"\".concat(r,\"qDimensions\"),[]),t=i.getValue(e,\"\".concat(r,\"qMeasures\"),[]),o=n[n.length-1],a=P.IDMAP.COLOR_BY_ALTERNATIVE,s=p.findItemByPropertyValue(o.qAttributeExpressions,\"id\",a);return U(e,B(\"measure\",!!s,s||t[0])),!!s}(e,r))return;R({properties:e,isDimension:!1,dimensions:n,excludedDimensions:o,measures:t,label:i.getValue(e,\"color.byMeasureDef.label\")})}var z={changeProperty:function(e,r,n){i.setValue(e,r,n),i.isAtomicValue(n)&&function(e,r,n){var t=e.qLayoutExclude;t&&(t.changed||(t.changed={}),t.changed[r]={from:i.getValue(e,r),to:n})}(e,r,n)},getCanColorBy:function(e,r){var n={primary:!0};if(e){var t=(T[r]||V).colorModeOptions||V.colorModeOptions;n.byDimension=t.dimension(e),n.byMeasure=t.measure(e),n.byMultiple=t.multiColor(e),n.byExpression=t.expression(e)}return n},shouldUpdateColorBy:function(e){var r=e.canColorBy,n=e.autoColor,t=e.colorMode,o=e.dimensions;return!(r[t]&&!n&&(\"byDimension\"!==t&&\"byMeasure\"!==t||!o.length))},updateColorBy:function(e,r){var n=i.getValue(e,\"color.mode\"),t=i.getValue(e,\"color.auto\"),o=i.getValue(e,\"\".concat(r,\"qDimensions\"),[]),a=i.getValue(e,\"\".concat(r,\"qMeasures\"),[]),s=i.getValue(e,\"\".concat(r,\"qLayoutExclude.qHyperCubeDef.qDimensions\"),[]);t?j(o,s):function(e){var r=e.auto,n=e.colorMode,t=e.dimensions;return!r&&\"byDimension\"===n&&t.length>0}({auto:t,colorMode:n,dimensions:o})?W(e,r):function(e){var r=e.auto,n=e.colorMode,t=e.dimensions,o=e.measures,a=e.properties,s=i.getValue(a,\"visualization\");return!(r||\"byMeasure\"!==n||!t.length||\"map\"!==s&&!o.length)}({auto:t,colorMode:n,dimensions:o,measures:a,properties:e})?$(e,r):function(e,r){var n=i.getValue(e,\"color.mode\"),t=i.getValue(e,\"\".concat(r,\"qDimensions\"),[]),o=i.getValue(e,\"\".concat(r,\"qMeasures\"),[]),a=i.getValue(e,\"\".concat(r,\"qLayoutExclude.qHyperCubeDef.qDimensions\"),[]);\"byMultiple\"===n&&o.length<2&&i.setValue(e,\"color.mode\",\"primary\"),j(t,a)}(e,r)},deleteTotalMode:function(e){e.forEach((function(e){e.qOtherTotalSpec&&\"qTotalMode\"in e.qOtherTotalSpec&&delete e.qOtherTotalSpec.qTotalMode}))},shouldAddColorByExpression:function(e){var r=e.shouldUpdateColorBy,n=e.properties,t=i.getValue(n,\"qHyperCubeDef.qMeasures\",[]),o=i.getValue(n,\"color.mode\",\"\");return!r&&\"byExpression\"===o&&t.length>0},addColorByExpression:function(e){var r=i.getValue(e,\"qHyperCubeDef.qMeasures.0.qAttributeExpressions\",[]),n=i.getValue(e,\"color.colorExpression\",\"\");r.splice(0,0,{qExpression:n,id:\"colorByExpression\"}),i.setValue(e,\"qHyperCubeDef.qMeasures.0.qAttributeExpressions\",r)},switchToAutoColor:function(e){i.setValue(e,\"color.mode\",\"primary\"),i.setValue(e,\"color.auto\",!0)},shouldSwitchToColorPersistent:function(e){var r=i.getValue(e,\"qHyperCubeDef.qDimensions\",[]),n=i.getValue(e,\"color.persistent\",!1);return r.length>1&&!n}};var Y={exportProperties:function(e){var r=e.propertyTree,n=e.hypercubePath,t=e.viewDataMode,o=S.exportProperties({propertyTree:r,hypercubePath:n,viewDataMode:t}),i=o.data[0],a=i.dimensions.concat(i.excludedDimensions),s=i.measures.concat(i.excludedMeasures),u=P.IDMAP,l=u.COLOR_BY_ALTERNATIVE,c=u.COLOR_BY_EXPRESSION;return P.moveByIdFromGroup(a,[],\"qAttributeDimensions\",l),P.moveByIdFromGroup(a,[],\"qAttributeExpressions\",l),P.moveByIdFromGroup(s,[],\"qAttributeExpressions\",c),o},importProperties:function(e){var r=e.exportFormat,n=e.initialProperties,t=e.dataDefinition,o=e.defaultPropertyValues,a=e.hypercubePath,s=e.extension,u=e.supportedFilters,l=S.importProperties({exportFormat:r,initialProperties:n,dataDefinition:t,defaultPropertyValues:o,hypercubePath:a,extension:s,supportedFilters:u}),c=l.qProperty,p=i.getValue(c,\"visualization\"),f=i.getValue(c,\"qHyperCubeDef.qDimensions\",[]),m=i.getValue(c,\"color.mode\",\"\"),d=i.getValue(c,\"color.auto\",\"\"),y=z.getCanColorBy(c,p),q=z.shouldUpdateColorBy({canColorBy:y,autoColor:d,colorMode:m,dimensions:f});return y[m]?z.shouldAddColorByExpression({shouldUpdateColorBy:q,properties:c})&&z.addColorByExpression(c):z.switchToAutoColor(c),q&&z.updateColorBy(c,\"qHyperCubeDef.\"),z.shouldSwitchToColorPersistent(c)&&z.changeProperty(c,\"color.persistent\",!0),z.deleteTotalMode(f),l}};var J=[\"bar\",\"marker\",\"line\"];var K={handleAutoMinMax:function(e){var r=e.initialProperties,n=e.properties;r.measureAxis&&void 0===r.measureAxis.autoMinMax?M(n,\"unsupportedAutoMinMax\")||b()(n.measureAxis,r.measureAxis):M(n,\"supportedAutoMinMax\")||b()(n.measureAxis,r.measureAxis)},handleMeasuresAxis:function(e){var r,n=e.exportFormat,t=e.initialProperties,o=e.properties,i=e.measureType,a=o.qHyperCubeDef,s=o.measureAxis;if(function(e){var r=e.exportFormat,n=e.initialProperties;return!(!r.properties.measureAxes||n.measureAxes||!n.measureAxis||void 0===n.measureAxis.autoMinMax)}({exportFormat:n,initialProperties:t})){var u=function(e){var r=[];return e.qMeasures.length>0&&e.qMeasures.forEach((function(e){if(e.qDef.series){var n=e.qDef.series,t=n.type,o=n.axis;r[o]||(r[o]={axis:o,type:{line:0,marker:0,bar:0,total:0}}),J.includes(t)&&r[o].type[t]++,r[o].type.total++}})),r}(a);u.length?(i&&(r=u.filter((function(e){return e.type[i]>0})).sort((function(e,r){return r.type[i]-e.type[i]}))),r&&r.length||(r=u.sort((function(e,r){return r.type.total-e.type.total}))),r&&r[0]&&b()(s,n.properties.measureAxes[r[0].axis])):b()(s,n.properties.measureAxes[0])}},setInterColumnSortOrder:function(e){if(e.qDimensions.length>1){var r=e.qInterColumnSortOrder.indexOf(0);if(0!==r){var n=e.qInterColumnSortOrder[0];e.qInterColumnSortOrder[0]=0,e.qInterColumnSortOrder[r]=n}}}};var X={exportProperties:function(e){var r=e.propertyTree,n=e.hypercubePath,t=e.viewDataMode,o=e.supportedAutoMinMax,i=void 0===o||o,a=Y.exportProperties({propertyTree:r,hypercubePath:n,viewDataMode:t}),s=a.properties;return i?(y(s,\"measureAxis.min\",\"supportedAutoMinMax\"),y(s,\"measureAxis.max\",\"supportedAutoMinMax\")):(y(s,\"measureAxis.min\",\"unsupportedAutoMinMax\"),y(s,\"measureAxis.max\",\"unsupportedAutoMinMax\")),a},importProperties:function(e){var r=e.exportFormat,n=e.initialProperties,t=e.dataDefinition,o=e.defaultPropertyValues,i=e.hypercubePath,a=e.measureType,s=e.extension,u=e.supportedFilters,l=Y.importProperties({exportFormat:r,initialProperties:n,dataDefinition:t,defaultPropertyValues:o,hypercubePath:i,extension:s,supportedFilters:u}),c=l.qProperty;return K.handleAutoMinMax({initialProperties:n,properties:c}),K.handleMeasuresAxis({exportFormat:r,initialProperties:n,properties:c,measureType:a}),K.setInterColumnSortOrder(c.qHyperCubeDef),l}};function Q(e,r,n){return\"qLayoutExclude.quarantine.\".concat(e,\".\").concat(r,\".\").concat(n)}function Z(e){var r=e.properties,n=e.arrayPath,t=e.quarantineName,o=e.arrayName,a=e.itemPath;i.getValue(r,n,[]).forEach((function(e){return function(e){var r=e.properties,n=e.quarantineName,t=e.arrayName,o=e.item,a=e.itemPath,s=i.getValue(o,a);if(void 0!==s){var u=i.getValue(o,\"qDef.cId\");u||(u=i.generateId(),i.setValue(o,\"qDef.cId\",u));var l=Q(n,t,u);i.setValue(r,l,s),i.setValue(o,a,void 0)}}({properties:r,quarantineName:t,arrayName:o,item:e,itemPath:a})}))}function ee(e){var r=e.properties,n=e.arrayPath,t=e.quarantineName,o=e.arrayName,a=e.itemPath;i.getValue(r,n,[]).forEach((function(e){return function(e){var r=e.properties,n=e.quarantineName,t=e.arrayName,o=e.item,a=e.itemPath,s=i.getValue(o,\"qDef.cId\");if(s){var u=Q(n,t,s),l=i.getValue(r,u);void 0!==l&&(i.setValue(o,a,l),i.setValue(r,u,void 0))}}({properties:r,quarantineName:t,arrayName:o,item:e,itemPath:a})}))}var re={quarantine:function(e){Z({properties:e,arrayPath:\"qHyperCubeDef.qMeasures\",quarantineName:\"conditionalColoring\",arrayName:\"measures\",itemPath:\"qDef.conditionalColoring\"})},unquarantine:function(e){ee({properties:e,arrayPath:\"qHyperCubeDef.qMeasures\",itemPath:\"qDef.conditionalColoring\",arrayName:\"measures\",quarantineName:\"conditionalColoring\"})}};var ne={quarantine:function(e){Z({properties:e,arrayPath:\"qHyperCubeDef.qMeasures\",quarantineName:\"conditionalShowHide\",arrayName:\"measures\",itemPath:\"qCalcCondition\"}),Z({properties:e,arrayPath:\"qHyperCubeDef.qDimensions\",quarantineName:\"conditionalShowHide\",arrayName:\"dimensions\",itemPath:\"qCalcCondition\"})},unquarantine:function(e){ee({properties:e,arrayPath:\"qHyperCubeDef.qMeasures\",quarantineName:\"conditionalShowHide\",arrayName:\"measures\",itemPath:\"qCalcCondition\"}),ee({properties:e,arrayPath:\"qHyperCubeDef.qDimensions\",quarantineName:\"conditionalShowHide\",arrayName:\"dimensions\",itemPath:\"qCalcCondition\"})}};r.default={hypercube:S,colorChart:Y,axisChart:X,quarantineProperty:y,unquarantineProperty:M,quarantineArrayProp:Z,unquarantineArrayProp:ee,conditionalColoring:re,conditionalShow:ne}}])}));","import extend from 'extend';\nimport conversion from 'qlik-object-conversion';\n\nexport function importProperties({ dataDefinition, defaultPropertyValues, exportFormat, initialProperties }) {\n const propTree = conversion.hypercube.importProperties({\n exportFormat,\n initialProperties,\n dataDefinition,\n defaultPropertyValues,\n });\n\n const props = propTree.qProperty;\n if (props.dimensionAxis.show === 'all') {\n props.dimensionAxis.show = 'labels';\n } else if (props.dimensionAxis.show === 'title') {\n props.dimensionAxis.show = 'none';\n }\n if (props.measureAxis.show === 'all') {\n props.measureAxis.show = 'labels';\n } else if (props.measureAxis.show === 'title') {\n props.measureAxis.show = 'none';\n }\n\n if (props.qHyperCubeDef.qMeasures.length > 0) {\n props.qDef.numFormatFromTemplate = props.qHyperCubeDef.qMeasures[0].qDef.numFormatFromTemplate;\n props.qDef.qNumFormat = props.qHyperCubeDef.qMeasures[0].qDef.qNumFormat;\n props.qHyperCubeDef.qMeasures.forEach((measure) => {\n measure.qDef.numFormatFromTemplate = props.qDef.numFormatFromTemplate;\n measure.qDef.qNumFormat = extend(true, {}, props.qDef.qNumFormat);\n });\n }\n\n props.qHyperCubeDef.qSuppressZero = false;\n\n return propTree;\n}\n\nexport function exportProperties({ propertyTree, viewDataMode }) {\n const exportFormat = conversion.hypercube.exportProperties({\n propertyTree,\n viewDataMode,\n });\n\n return exportFormat;\n}\n","import properties from './object-properties';\nimport data from './waterfallchart-data-definition';\nimport { importProperties, exportProperties } from './waterfallchart-import-export';\n\nexport default (env) => {\n const dataDefinition = data(env);\n return {\n properties,\n data: {\n targets: [dataDefinition],\n },\n importProperties({ exportFormat, initialProperties }) {\n return importProperties({ dataDefinition, exportFormat, initialProperties });\n },\n exportProperties,\n };\n};\n","/*\n* qlik-chart-modules v0.20.1\n* Copyright (c) 2021 QlikTech International AB\n* Released under the MIT license.\n*/\n\nfunction e(t){return(e=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(t)}function t(e,t,n,r,o,i,a){try{var u=e[i](a),l=u.value}catch(e){return void n(e)}u.done?t(l):Promise.resolve(l).then(r,o)}function n(e){return function(){var n=this,r=arguments;return new Promise((function(o,i){var a=e.apply(n,r);function u(e){t(a,o,i,u,l,\"next\",e)}function l(e){t(a,o,i,u,l,\"throw\",e)}u(void 0)}))}}function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?o(Object(n),!0).forEach((function(t){r(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function a(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function u(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if(\"undefined\"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var n=[],r=!0,o=!1,i=void 0;try{for(var a,u=e[Symbol.iterator]();!(r=(a=u.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{r||null==u.return||u.return()}finally{if(o)throw i}}return n}(e,t)||c(e,t)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function l(e){return function(e){if(Array.isArray(e))return s(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||c(e)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function c(e,t){if(e){if(\"string\"==typeof e)return s(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return\"Object\"===n&&e.constructor&&(n=e.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(e):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?s(e,t):void 0}}function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var f=Object.prototype.hasOwnProperty,d=Object.prototype.toString,p=Object.defineProperty,v=Object.getOwnPropertyDescriptor,h=function(e){return\"function\"==typeof Array.isArray?Array.isArray(e):\"[object Array]\"===d.call(e)},m=function(e){if(!e||\"[object Object]\"!==d.call(e))return!1;var t,n=f.call(e,\"constructor\"),r=e.constructor&&e.constructor.prototype&&f.call(e.constructor.prototype,\"isPrototypeOf\");if(e.constructor&&!n&&!r)return!1;for(t in e);return void 0===t||f.call(e,t)},g=function(e,t){p&&\"__proto__\"===t.name?p(e,t.name,{enumerable:!0,configurable:!0,value:t.newValue,writable:!0}):e[t.name]=t.newValue},y=function(e,t){if(\"__proto__\"===t){if(!f.call(e,t))return;if(v)return v(e,t).value}return e[t]},b=function e(){var t,n,r,o,i,a,u=arguments[0],l=1,c=arguments.length,s=!1;for(\"boolean\"==typeof u&&(s=u,u=arguments[1]||{},l=2),(null==u||\"object\"!=typeof u&&\"function\"!=typeof u)&&(u={});l<c;++l)if(null!=(t=arguments[l]))for(n in t)r=y(u,n),u!==(o=y(t,n))&&(s&&o&&(m(o)||(i=h(o)))?(i?(i=!1,a=r&&h(r)?r:[]):a=r&&m(r)?r:{},g(u,{name:n,newValue:e(s,a,o)})):void 0!==o&&g(u,{name:n,newValue:o}));return u};function x(e,t){return{range:function(e){var n=e.resources,r=e.data,o=n.theme.palette(\"categorical\",t);return r.items.map((function(e){return o[e.value%o.length]}))},valueAccessor:e.value}}function q(e,t){return{range:function(e){var n=e.resources,r=e.data,o=n.theme.palette(\"categorical\",t);return r.items.map((function(e){return o[e.row.value%o.length]}))},valueAccessor:e.value}}function w(e,t,n,r,o){var i,a=o.byRow,u=o.byElemNo;if(r&&(t.input.persistent||e.hc.qDimensionInfo.length>1||void 0===n.activeDimensionIndex&&e.hc.qSize.qcy>((null===(i=e.hc.qDataPages[0])||void 0===i?void 0:i.qArea.qHeight)||0)))return u(r,r.raw().qCardinal);if(r){var l=t.pic.extract({field:r.key(),trackBy:r.value}).length;return a(r,l)}return{}}function k(e,t){var n=e.hc.qDimensionInfo,r=t.input.byDimDef||{activeDimensionIndex:n.length-1};if(r.activeDimensionIndex>=0){var o=n[r.activeDimensionIndex];r=o.coloring&&o.coloring.colorMapRef?{type:\"libraryItem\",key:o.coloring.colorMapRef,activeDimensionIndex:r.activeDimensionIndex}:{activeDimensionIndex:r.activeDimensionIndex}}return r}function D(e,t){var n;return t.activeDimensionIndex>=0?n=e.pic.fields().filter((function(e){return\"dimension\"===e.type()}))[t.activeDimensionIndex]:\"libraryItem\"===t.type?!1===(n=t.key?e.pic.field((function(e){return e.raw().colorMapRef===t.key})):void 0)&&(n=e.pic.field((function(e){return\"colorByAlternative\"===e.raw().id}))):\"expression\"===t.type&&(n=e.pic.field((function(e){return\"colorByAlternative\"===e.raw().id}))),n}function C(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function M(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function S(){}var I=1/.7,A=\"\\\\s*([+-]?\\\\d+)\\\\s*\",O=\"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",N=\"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",E=/^#([0-9a-f]{3,8})$/,P=new RegExp(\"^rgb\\\\(\"+[A,A,A]+\"\\\\)$\"),j=new RegExp(\"^rgb\\\\(\"+[N,N,N]+\"\\\\)$\"),T=new RegExp(\"^rgba\\\\(\"+[A,A,A,O]+\"\\\\)$\"),F=new RegExp(\"^rgba\\\\(\"+[N,N,N,O]+\"\\\\)$\"),L=new RegExp(\"^hsl\\\\(\"+[O,N,N]+\"\\\\)$\"),H=new RegExp(\"^hsla\\\\(\"+[O,N,N,O]+\"\\\\)$\"),z={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function R(){return this.rgb().formatHex()}function V(){return this.rgb().formatRgb()}function B(e){var t,n;return e=(e+\"\").trim().toLowerCase(),(t=E.exec(e))?(n=t[1].length,t=parseInt(t[1],16),6===n?_(t):3===n?new $(t>>8&15|t>>4&240,t>>4&15|240&t,(15&t)<<4|15&t,1):8===n?U(t>>24&255,t>>16&255,t>>8&255,(255&t)/255):4===n?U(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|240&t,((15&t)<<4|15&t)/255):null):(t=P.exec(e))?new $(t[1],t[2],t[3],1):(t=j.exec(e))?new $(255*t[1]/100,255*t[2]/100,255*t[3]/100,1):(t=T.exec(e))?U(t[1],t[2],t[3],t[4]):(t=F.exec(e))?U(255*t[1]/100,255*t[2]/100,255*t[3]/100,t[4]):(t=L.exec(e))?Q(t[1],t[2]/100,t[3]/100,1):(t=H.exec(e))?Q(t[1],t[2]/100,t[3]/100,t[4]):z.hasOwnProperty(e)?_(z[e]):\"transparent\"===e?new $(NaN,NaN,NaN,0):null}function _(e){return new $(e>>16&255,e>>8&255,255&e,1)}function U(e,t,n,r){return r<=0&&(e=t=n=NaN),new $(e,t,n,r)}function K(e){return e instanceof S||(e=B(e)),e?new $((e=e.rgb()).r,e.g,e.b,e.opacity):new $}function Y(e,t,n,r){return 1===arguments.length?K(e):new $(e,t,n,null==r?1:r)}function $(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}function W(){return\"#\"+G(this.r)+G(this.g)+G(this.b)}function J(){var e=this.opacity;return(1===(e=isNaN(e)?1:Math.max(0,Math.min(1,e)))?\"rgb(\":\"rgba(\")+Math.max(0,Math.min(255,Math.round(this.r)||0))+\", \"+Math.max(0,Math.min(255,Math.round(this.g)||0))+\", \"+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===e?\")\":\", \"+e+\")\")}function G(e){return((e=Math.max(0,Math.min(255,Math.round(e)||0)))<16?\"0\":\"\")+e.toString(16)}function Q(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new Z(e,t,n,r)}function X(e){if(e instanceof Z)return new Z(e.h,e.s,e.l,e.opacity);if(e instanceof S||(e=B(e)),!e)return new Z;if(e instanceof Z)return e;var t=(e=e.rgb()).r/255,n=e.g/255,r=e.b/255,o=Math.min(t,n,r),i=Math.max(t,n,r),a=NaN,u=i-o,l=(i+o)/2;return u?(a=t===i?(n-r)/u+6*(n<r):n===i?(r-t)/u+2:(t-n)/u+4,u/=l<.5?i+o:2-i-o,a*=60):u=l>0&&l<1?0:a,new Z(a,u,l,e.opacity)}function Z(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}function ee(e,t,n){return 255*(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)}function te(e){return function(){return e}}function ne(e){return 1==(e=+e)?re:function(t,n){return n-t?function(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(r){return Math.pow(e+r*t,n)}}(t,n,e):te(isNaN(t)?n:t)}}function re(e,t){var n=t-e;return n?function(e,t){return function(n){return e+n*t}}(e,n):te(isNaN(e)?t:e)}C(S,B,{copy:function(e){return Object.assign(new this.constructor,this,e)},displayable:function(){return this.rgb().displayable()},hex:R,formatHex:R,formatHsl:function(){return X(this).formatHsl()},formatRgb:V,toString:V}),C($,Y,M(S,{brighter:function(e){return e=null==e?I:Math.pow(I,e),new $(this.r*e,this.g*e,this.b*e,this.opacity)},darker:function(e){return e=null==e?.7:Math.pow(.7,e),new $(this.r*e,this.g*e,this.b*e,this.opacity)},rgb:function(){return this},displayable:function(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:W,formatHex:W,formatRgb:J,toString:J})),C(Z,(function(e,t,n,r){return 1===arguments.length?X(e):new Z(e,t,n,null==r?1:r)}),M(S,{brighter:function(e){return e=null==e?I:Math.pow(I,e),new Z(this.h,this.s,this.l*e,this.opacity)},darker:function(e){return e=null==e?.7:Math.pow(.7,e),new Z(this.h,this.s,this.l*e,this.opacity)},rgb:function(){var e=this.h%360+360*(this.h<0),t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,o=2*n-r;return new $(ee(e>=240?e-240:e+120,o,r),ee(e,o,r),ee(e<120?e+240:e-120,o,r),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl:function(){var e=this.opacity;return(1===(e=isNaN(e)?1:Math.max(0,Math.min(1,e)))?\"hsl(\":\"hsla(\")+(this.h||0)+\", \"+100*(this.s||0)+\"%, \"+100*(this.l||0)+\"%\"+(1===e?\")\":\", \"+e+\")\")}}));var oe=function e(t){var n=ne(t);function r(e,t){var r=n((e=Y(e)).r,(t=Y(t)).r),o=n(e.g,t.g),i=n(e.b,t.b),a=re(e.opacity,t.opacity);return function(t){return e.r=r(t),e.g=o(t),e.b=i(t),e.opacity=a(t),e+\"\"}}return r.gamma=e,r}(1),ie=/^class(-pyramid)?/,ae=function(e,t,n,r){var o=void 0!==n.min?n.min:r.min(),i=void 0!==n.max?n.max:r.max(),a=o,u=i,c=t.limits,s={},f=\"percent\"===t.limitType?c.map((function(e){return o+(i-o)*e})):c,d=t.colors.map((function(t){return e.resolveUIColor(t)}));if(o=Math.min.apply(Math,[o].concat(l(f))),i=Math.max.apply(Math,[i].concat(l(f))),s.min=o,s.max=i,t.breakTypes&&-1===t.breakTypes.indexOf(!0))s.type=\"categorical\",Object.assign(s,function(e){var t=e.min,n=e.max,r=e.limits,o=e.range,i=[],a=[];if(r.length)if(r[r.length-1]<t)a.push(t,n),i.push(o[o.length-1],o[o.length-1],o[o.length-1]);else if(r[0]>n)a.push(t,n),i.push(o[0],o[0],o[0]);else{if(r[0]>t)a.push(t),i.push(o[0]);else{a.push(t);for(var u=0;u<r.length;u++)if(t<r[u]){i.push(o[u]);break}}for(var l=0;l<r.length;l++)t<r[l]&&r[l]<n&&(a.push(r[l]),i.push(o[l]));if(r[r.length-1]<n)a.push(n),i.push(o[r.length]),i.push(o[r.length]);else{a.push(n);for(var c=0;c<r.length;c++)if(r[c]>n){i.push(o[c]),i.push(o[c]);break}}}else i.push(o[0]);return{min:t,max:n,range:i,domain:a}}({min:\"percent\"===t.limitType?o:a,max:\"percent\"===t.limitType?i:u,range:d,limits:\"percent\"===t.limitType?f:c}));else if(t.breakTypes){var p=t.breakTypes;s.type=\"continuous\",s.domain=[o],s.range=[d[0]];for(var v=0;v<f.length;v+=1)if(p[v]){var h=d[v],m=d[v+1],g=oe(h,m)(.5);s.range.push(g),s.domain.push(f[v]),v<f.length-1&&p[v+1]&&(s.range.push(d[v+1]),s.domain.push((f[v]+f[v+1])/2))}else s.range.push(d[v]),s.range.push(d[v+1]),s.domain.push(f[v]),s.domain.push(f[v]+Math.min(1e-6,(i-o)/1e6));s.range.push(d[d.length-1]),s.domain.push(i)}else s.domain=f,s.range=d;return s};function ue(e,t,n,r,o){var i,a,u,l=0,c=[],s=(e-t)/(r+1);if(0===s)return 1;for(i=0;i<n.length;i+=1)a=.99*(n[i]-t),u=n[i]>e?Math.floor(e/s):n[i]<t?0:Math.floor(a/s),Number.isNaN(u)||(c[u]?c[u]+=1:c[u]=1);for(i=0;i<c.length;i+=1)c[i]&&(l+=1);return l<=r||l>=o?Math.max(l,r):ue(e,t,n,r+1,o)}var le=function(e,t,n,r){var o,i,a=t.theme,u=t.hc,c=r.f,s={mode:\"field\",fieldType:\"measure\",field:c?c.key():void 0,reverse:n.input.reverseScheme||!1,type:\"continuous\",range:function(e){return e.resources.theme.palette(\"quant\")}},f=[],d=!0;if(c){if(Number.isNaN(+c.min())||Number.isNaN(+c.max()))return{invalid:!0};(d=!(\"S\"===(o=n.pic.raw()).qMode&&(o.qDataPages[0]&&o.qSize.qcy>o.qDataPages[0].qArea.qHeight||!o.qDataPages.length&&o.qSize.qcy>0)||\"K\"===o.qMode&&o.qStackedDataPages[0]&&o.qSize.qcy>o.qStackedDataPages[0].qArea.qHeight||\"T\"===o.qMode&&o.qSize.qcy>o.qTreeDataPages[0].qGroupSize))&&(f=n.pic.extract({field:0,props:{num:{field:c.key()},exclude:{fields:u.qDimensionInfo.map((function(e,t){return{field:\"qDimensionInfo/\".concat(t)}})),value:function(e){return Math.min.apply(Math,l(e))<0}}}}).filter((function(e){return e.value>=0&&!e.exclude.value})).map((function(e){return e.num.value})).filter((function(e){return\"number\"==typeof e})))}if(!1===n.input.autoMinMax){if(s.min=n.input.measureMin,s.max=n.input.measureMax,s.max<s.min)return{invalid:!0}}else if(c&&!d)s.min=c.min(),s.max=c.max();else if(c){if(!f.length)return{invalid:!0};s.min=Math.min.apply(Math,l(f)),s.max=Math.max.apply(Math,l(f))}if(n.input.measureScheme&&(s.palettes={quant:n.input.measureScheme}),a){var p=a.getDataColorScales().filter((function(e){return e.key===n.input.measureScheme}))[0];s.type=p&&ie.test(p.type)?\"categorical\":\"continuous\",\"categorical\"===s.type&&(i=p.colors.some((function(e){return Array.isArray(e)}))?Math.max.apply(Math,l(p.colors.map((function(e){return e?e.length:0})))):p.colors.length)}if(\"categorical\"===s.type){for(var v=d?ue(s.max,s.min,f,1,i):i,h=(s.max-s.min)/v,m=[],g=0;g<v+1;g+=1)m.push(s.min+h*g);s.domain=m,s.range=function(e){for(var t=e.resources.theme.palette(\"quant\",v),n=Math.max(1,Math.floor(t.length/v)),r=[],o=0;o<v;o+=1)r.push(t[o*n]);return[r[0]].concat(r,[r[r.length-1]])}}return s};function ce(e,t){var n;return t.activeMeasureIndex>=0?n=e.pic.fields().filter((function(e){return\"measure\"===e.type()}))[t.activeMeasureIndex]:\"libraryItem\"===t.type?n=e.pic.field((function(e){return e.raw().colorMapRef===t.key&&void 0!==t.key})):\"expression\"===t.type&&(n=e.pic.field((function(e){return\"colorByAlternative\"===e.raw().id}))),n||(n=e.pic.field((function(e){return void 0!==e.raw().matchMeasure})))&&(n=e.pic.fields().filter((function(e){return\"measure\"===e.type()}))[n.raw().matchMeasure]),n}function se(e){var t,n=e.cm,r=e.defaults,o=e.index,a=e.input,u=e.pic;if(!a||!a.on)return null;var l=null!==(t=a.mode)&&void 0!==t?t:\"primary\";return\"primary\"===l?function(e,t,n){var r=n.primary;return void 0!==t.paletteColor&&t.paletteColor&&(r=e.resolveUIColor(t.paletteColor)),i(i({},n),{},{mode:\"constant\",type:\"constant\",primary:r})}(n,a,r):\"byExpression\"===l?function(e,t,n){var r=\"qMeasureInfo/\".concat(e,\"/\"),o=t.field((function(e){return e.id().startsWith(r)&&\"colorByMeasureExpression\"===e.raw().id})),a=o;return i(i({},n),{},a?{mode:\"field\",fieldType:\"expression\",field:o?o.key():void 0,type:\"color\"}:{mode:\"constant\",type:\"constant\",primary:n.nil})}(o,u,r):null}function fe(e){e.measureOverrides.every((function(e){return!e}))&&(e.measureOverrides=null)}function de(e,t){for(var n=(null==t?void 0:t.domain)||[],r=(null==t?void 0:t.range)||[],o=[],i=0;i<e.length;++i){var a=e[i];if(\"constant\"===(null==a?void 0:a.mode)){var u=n.indexOf(i);-1===u?(n.push(i),r.push(a.primary)):r[u]=a.primary,e[i]=null}else if(a){o.push(i);var l=n.indexOf(i);-1!==l&&(n.splice(l,1),r.splice(l,1))}}return{domain:n,range:r,exclude:o}}function pe(e,t,n,r){if(t.input&&!t.input.auto){if(\"byMeasure\"===t.input.mode)return function(e,t,n){var r=t.theme,o=t.hc,i=(arguments.length>3&&void 0!==arguments[3]?arguments[3]:{}).getCField,a=void 0===i?ce:i,u=n.input.byMeasureDef||{activeMeasureIndex:0},l=a(n,u),c=le(0,{theme:r,hc:o},n,{f:l});if(c.invalid)return c;(\"expression\"===u.type||u.activeMeasureIndex<0)&&(c.label=u.label,l&&\"color.altLabel\"===l.raw().labelExpRef&&(c.label=n.input.altLabel)),!c.label&&l&&(c.label=l.title());var s=u.activeMeasureIndex>=0?l:null;if(!s&&l&&void 0!==l.raw().matchMeasure&&l.raw().matchMeasure>-1&&(s=n.pic.fields().filter((function(e){return\"measure\"===e.type()}))[l.raw().matchMeasure]),n.input.useMeasureGradient&&\"libraryItem\"===u.type)if(s){var f=s.raw().coloring;f&&f.gradient&&b(c,ae(e,f.gradient,c,s))}else c.auxiliary=u;return c}(e,n,t);if(\"byDimension\"===t.input.mode)return function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=r.getCDef,i=void 0===o?k:o,a=r.getCByField,u=void 0===a?D:a,l=r.getPersistence,c=void 0===l?w:l,s=i(t,n),f=u(n,s),d=f?f.raw():{},p=n&&n.pic?n.pic.raw():{};if(d.qError||d.qSize&&0===d.qSize.qcy&&!p.qHasOtherValues)return{invalid:!0};var v={mode:\"field\",fieldType:\"dimension\",type:\"categorical\",field:f?f.key():void 0,isFieldLocked:d.qLocked};return(\"expression\"===s.type||s.activeDimensionIndex<0)&&(v.label=s.label,\"color.altLabel\"===d.labelExpRef&&(v.label=n.input.altLabel)),!v.label&&f&&(v.label=f.title()),n.input.dimensionScheme&&(v.palettes={categorical:n.input.dimensionScheme}),n.input.useDimColVal&&\"libraryItem\"===s.type&&(v.auxiliary=s),b(v,c(t,n,s,f,{byRow:q,byElemNo:x})),v}(e,n,t);if(\"byExpression\"===t.input.mode)return function(e,t,n,r){var o=t.hc,i=t.theme,a=t.translator,u=n.pic.field((function(e){return\"colorByExpression\"===e.raw().id}));if(!(u&&u.raw().qFallbackTitle&&(Number.isFinite(u.raw().qMin)&&Number.isFinite(u.raw().qMax)||n.input.expressionIsColor)))return{mode:\"constant\",type:\"constant\",primary:r.nil};if(n.input.expressionIsColor)return{mode:\"field\",fieldType:\"expression\",field:u?u.key():void 0,type:\"color\"};var l=le(0,{hc:o,theme:i},n,{f:u});return l.invalid||(l.label=n.input.expressionLabel||a.get(\"Object.ChartTooltip.ColorExpression\")),l}(0,n,t,r);if(\"byMultiple\"===t.input.mode||\"primary\"===t.input.mode)return function(e,t,n,r){var o=t.hc,i=t.theme,a=t.translator,u=n.input.useBaseColors;if((\"byMultiple\"===n.input.mode||\"primary\"===n.input.mode&&\"measure\"===n.input.useBaseColors)&&o.qMeasureInfo.length>1&&(u=\"measure\"),\"measure\"===u){var l=[],c=[];\"measure\"===n.input.useBaseColors&&o.qMeasureInfo.forEach((function(t,n){if(t.baseColor||t.coloring&&t.coloring.baseColor){l.push(n);var o=e.resolveUIColor(t.baseColor||t.coloring.baseColor);\"none\"===o?c.push(r.primary):c.push(o)}}));var s=n.input.dimensionScheme?{categorical:n.input.dimensionScheme}:void 0,f=i?i.getDataColorPalettes()[0]:void 0;return\"measure\"===n.input.useBaseColors&&f&&(s={categorical:f.key}),{mode:\"measure\",type:\"categorical\",palettes:s,label:a?a.get(\"Common.Measures\"):void 0,explicit:l.length?{domain:l,range:c}:void 0}}if(\"dimension\"===u){var d=[],p=[];return o.qDimensionInfo.forEach((function(t,n){if(t.baseColor||t.coloring&&t.coloring.baseColor){d.push(n);var o=e.resolveUIColor(t.baseColor||t.coloring.baseColor);\"none\"===o?p.push(r.primary):p.push(o)}})),{mode:\"dimension\",type:\"categorical\",field:d.length?d[0]:void 0,explicit:d.length?{domain:d,range:p}:void 0}}var v=r.primary;if(void 0!==n.input.paletteColor)n.input.paletteColor&&(v=e.resolveUIColor(n.input.paletteColor));else{var h=n.input.singleColor;\"number\"!=typeof h||Number.isNaN(h)||(v=[\"#b0afae\",\"#7b7a78\",\"#545352\",\"#4477aa\",\"#7db8da\",\"#b6d7ea\",\"#46c646\",\"#f93f17\",\"#ffcf02\",\"#276e27\",\"#ffffff\",\"#000000\"][h])}return{mode:\"constant\",type:\"constant\",primary:v}}(e,n,t,r)}return{}}function ve(e,t,n,r){var o=pe(e,t,n,r);return t.input.measureOverrides?(o.measureOverrides=t.input.measureOverrides.map((function(n,o){return se({cm:e,input:n,defaults:r,index:o,pic:t.pic})})),function(e,t){var n,r,o,i=t.translator;if(fe(e),1===(null===(n=e.measureOverrides)||void 0===n?void 0:n.length))return e.measureOverrides[0];if(\"measure\"===e.mode&&e.measureOverrides&&(e.explicit=de(e.measureOverrides,e.explicit),fe(e)),null!==(r=e.measureOverrides)&&void 0!==r&&r.every((function(e){return\"constant\"===(null==e?void 0:e.mode)}))){var a={mode:\"measure\",type:\"categorical\",label:null==i?void 0:i.get(\"Common.Measures\")};return a.explicit=de(e.measureOverrides),a}return null!==(o=e.measureOverrides)&&void 0!==o&&o.every((function(e){return e}))?{invalid:!0,measureOverrides:e.measureOverrides}:e}(o,n)):o}function he(e){var t=i({hc:null,colorProps:null,layout:null,theme:null},e),n={},r={auto:function(){return{mode:\"primary\"}},getDimensionColorMap:function(){return Promise.reject()},getMeasure:function(){return Promise.reject()},getAttributeDimension:function(){return Promise.reject()}},o={auto:function(e){return e?(r.auto=e,o):r.auto},getDimensionColorMap:function(e){return e?(r.getDimensionColorMap=e,o):r.getDimensionColorMap},getAttributeDimension:function(e){return e?(r.getAttributeDimension=e,o):r.getAttributeDimension},getMeasure:function(e){return e?(r.getMeasure=e,o):r.getMeasure},set:function(e){var o;if(!e.colorProps)throw new Error('Missing \"colorProps\"');if(b(t,e),(n={pic:t.picasso.data(\"q\")({data:t.hc,config:{localeInfo:t.localeInfo}}),input:t.colorProps}).input.auto){var i=r.auto(e.layout);n.input=b(!0,{},n.input,i,{auto:!1});var a=t.theme?t.theme.getDataColorPalettes():[];a[0]&&(n.input.dimensionScheme=a[0].key);var u=0;n.input.byDimDef&&+n.input.byDimDef.activeDimensionIndex>=0&&(u=+n.input.byDimDef.activeDimensionIndex),t.hc&&t.hc.qDimensionInfo[u]&&t.hc.qDimensionInfo[u].coloring&&t.hc.qDimensionInfo[u].coloring.colorMapRef&&n.input.byDimDef&&(n.input.byDimDef.type=\"libraryItem\",n.input.byDimDef.key=t.hc.qDimensionInfo[u].coloring.colorMapRef)}null!==(o=n.input.measureOverrides)&&void 0!==o&&o.every((function(e){return!e||!e.on}))&&(n.input=b(!1,{},n.input,{measureOverrides:null}))},palettes:function(){if(!n.palettes){var e=t.theme,r=[];(e&&e.getDataColorPickerPalettes()||[]).forEach((function(e){r.push({key:\"ui\",colors:e.colors})})),n.palettes=r}return n.palettes},getAuxiliaryData:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"/qHyperCubeDef\";if(!e.auxiliary&&!/qAttrDimInfo/.test(e.field))return Promise.resolve();var o=e.auxiliary||{},i=o.key;if(\"measure\"===e.fieldType)return r.getMeasure(i,t).catch((function(){}));if(\"dimension\"===e.fieldType){var a=\"\".concat(n,\"/\").concat(e.field).replace(\"qDimensionInfo\",\"qDimensions\").replace(\"qAttrDimInfo\",\"qAttributeDimensions\");return Promise.all([/qAttrDimInfo/.test(e.field)?r.getAttributeDimension(a,t).catch((function(){})):Promise.resolve(),i?r.getDimensionColorMap(i,t).catch((function(){})):Promise.resolve()])}return Promise.resolve()},getAuxiliarySettings:function(e,r){var o=this;return e.auxiliary||/qAttrDimInfo/.test(e.field)?(this.palettes(),this.getAuxiliaryData(e,r).then((function(r){if(!r)return{};if(\"measure\"===e.fieldType){if(r.coloring&&r.coloring.gradient){var a=n.pic.field(e.field);return ae(o,r.coloring.gradient,e,a)}return{}}if(\"dimension\"===e.fieldType){var u={nil:e.nil,others:e.others},l=r[0],c=r[1]?r[1].colorMap:null;if(l){var s=t.picasso.data(\"q\")({data:{qDimensionInfo:[n.pic.field(e.field).raw(),n.pic.field(e.field).raw()],qMeasureInfo:[],qDataPages:l,qInterColumnSortOrder:[0,1],qMode:\"S\"}});u.legendDataset=s}return c?function(e,t,n,r){var o=r.external,a=r.field,u=i({},e);b(u,x(a,a.raw().qCardinal));var l=o.theme?o.theme.getDataColorPalettes()[0]:null;return t.nul&&(u.nil=n.resolveUIColor(t.nul)),t.oth&&(u.others=n.resolveUIColor(t.oth)),t.usePal?(u.palettes={categorical:t.pal},l&&!t.pal&&(u.palettes.categorical=l.key,b(u,x(a)))):!1===t.autoFill&&t.single?u.range=[n.resolveUIColor(t.single)]:t.autoFill&&(l&&(u.palettes={categorical:l.key}),b(u,x(a))),t.colors&&t.colors.length&&(u.explicit=function(e,t,n){for(var r={},o=0;o<e.length;o+=1)r[e[o].value]=e[o].baseColor;var i=[];return{domain:function(e){var o=e.data,a=[];i=[];for(var u=0;u<o.items.length;u++){var l=o.items[u],c=(l.text||l).label;r[c]&&-1===a.indexOf(l.value)&&(a.push(l.value),i.push(t.resolveUIColor(r[c])))}return a.push(-3,-2),i.push(n.others),i.push(n.nil),a},range:function(){return i}}}(t.colors,n,u)),u}(u,c,o,{external:t,field:n.pic.field(e.field)}):u}return{}}))):Promise.resolve()},resolveUIColor:function(e){if(e.index<0||void 0===e.index)return e.color;if(void 0===n.uiPalette&&(n.uiPalette=this.palettes().filter((function(e){return\"ui\"===e.key}))[0]||!1),!n.uiPalette)return e.color;var t=\"none\"===n.uiPalette.colors[0]?e.index:e.index-1;return void 0===n.uiPalette.colors[t]?e.color:n.uiPalette.colors[t]},settings:function(){if(this.palettes(),!n.settings){var e={primary:\"steelblue\",others:\"#aaa\",nil:\"#ddd\"},r=t.theme;r&&(e=i(i({},e),r.getDataColorSpecials())),n.settings=b(e,ve(this,n,t,e))}return n.settings}};return o}var me=function(e,t){var n=e.fieldType,r={};if(t)if(\"measure\"===n){var o=t.coloring;o&&(r.measureGradient=o.gradient)}else if(\"dimension\"===n){var i=t[0],a=t[1];i&&(r.legendDataPage=i),a&&(r.dimValsData=a.colorMap)}return r},ge=function(e){throw e.isHandled=!0,e},ye=function(e,t){var n=t.layout,r=t.app;return n&&n.snapshotData?n.snapshotData.content&&n.snapshotData.content.chartData&&n.snapshotData.content.chartData.dimValsData?Promise.resolve({colorMap:n.snapshotData.content.chartData.dimValsData}):Promise.reject():r&&r.getObject?r.getObject(\"ColorMapModel_\".concat(e)).then((function(e){return e.getLayout()})):Promise.reject()},be=function(e,t){var n=t.layout,r=t.app;return n&&n.snapshotData?n.snapshotData.content&&n.snapshotData.content.chartData&&n.snapshotData.content.chartData.measureGradient?Promise.resolve({coloring:{gradient:n.snapshotData.content.chartData.measureGradient}}):Promise.reject():r&&r.getMeasure?r.getMeasure(e).then((function(e){return e.getMeasure()})):Promise.reject()},xe=function(e,t){var n=t.layout,r=t.model,o=t.app;if(n&&n.snapshotData)return n.snapshotData.content&&n.snapshotData.content.chartData&&n.snapshotData.content.chartData.legendDataPage?Promise.resolve(n.snapshotData.content.chartData.legendDataPage):Promise.reject();if(r&&r.session&&o){return r.getHyperCubeData(e,[{qHeight:100,qLeft:0,qTop:0,qWidth:2}]).catch(ge)}return Promise.reject()};function qe(e){var t=e.hc,n=e.source,r=e.coloring,o={data:{extract:[{source:\"dummy\",field:0,filter:function(){return o.expando=t.qDataPages[0]?t.qDataPages[0].qArea.qTop:0,!1}},{source:n,field:r.field,trackBy:r.valueAccessor,reduce:\"first\",props:{row:{reduce:function(){return o.expando++}},text:{value:function(e){return e.qText},reduce:\"first\"}}}]},expando:0};return o}function we(t){return function(n){return\"object\"===e(n.datum[t])?n.datum[t].value:void 0}}function ke(t){return\"object\"===e(t.datum.isNull)?t.datum.isNull.value:-2===t.datum.value}function De(e){return-3===e.datum.value}var Ce=function(e,t,n){var r=e&&e.dock||void 0;if(\"auto\"!==r)return r||\"right\";if(t){var o=t.element.getBoundingClientRect();if(o.height>o.width)return\"bottom\"}return n?\"left\":\"right\"},Me=function(e,t,n){return!(n.invalid||\"color\"===n.type||\"measure\"===n.mode&&t.qMeasureInfo.length<=1||\"dimension\"===n.mode)&&(\"function\"==typeof e.show?e.show():!1!==e.show)};function Se(e,t){var n=e.styleReference,r=e.chart,o=e.rtl,i=t.legendProps,a=t.coloring,u=t.theme,l=t.hc;return{layout:{minimumLayoutMode:\"MEDIUM\",dock:Ce(i,r,o)},show:\"function\"==typeof i.show?function(){return Me(i,l,a)}:Me(i,l,a),renderer:\"svg\",mounted:function(e){e.childNodes[0].style.pointerEvents=\"none\",e.style.overflow=\"hidden\"},settings:{title:{show:!1!==i.showTitle,wordBreak:\"break-word\",maxLines:2,lineHeight:1.2,text:a.label||\"\",fill:u?u.getStyle(n,\"legend.title\",\"color\"):void 0,fontSize:u?u.getStyle(n,\"legend.title\",\"fontSize\"):\"16px\",fontFamily:u?u.getStyle(n,\"legend.title\",\"fontFamily\"):\"QlikView Sans, sans-serif\"}}}}function Ie(e,t,n){return\"categorical\"===t.coloring.type?function(e,t,n){var r=Se(e,t);if(!r.show)return!1;var o=e.key,i=e.styleReference,a=e.viewState,u=e.rtl,l=e.settings,c=e.style,s=t.scaleKey,f=t.theme,d=t.scales,p={up:\"M13.6,11 L2.4,11 C2.28954305,11 2.2,10.9104569 2.2,10.8 C2.2,10.756726 2.21403557,10.7146192 2.24,10.68 L7.84,3.21333333 C7.90627417,3.12496777 8.03163444,3.10705916 8.12,3.17333333 C8.13516113,3.18470418 8.14862915,3.1981722 8.16,3.21333333 L13.76,10.68 C13.8262742,10.7683656 13.8083656,10.8937258 13.72,10.96 C13.6853808,10.9859644 13.643274,11 13.6,11 Z\",down:\"M2.4,4 L13.6,4 C13.7104569,4 13.8,4.08954305 13.8,4.2 C13.8,4.24327404 13.7859644,4.28538077 13.76,4.32 L8.16,11.7866667 C8.09372583,11.8750322 7.96836556,11.8929408 7.88,11.8266667 C7.86483887,11.8152958 7.85137085,11.8018278 7.84,11.7866667 L2.24,4.32 C2.17372583,4.23163444 2.19163444,4.10627417 2.28,4.04 C2.31461923,4.01403557 2.35672596,4 2.4,4 Z\",left:\"M11,2.4 L11,13.6 C11,13.7104569 10.9104569,13.8 10.8,13.8 C10.756726,13.8 10.7146192,13.7859644 10.68,13.76 L3.21333333,8.16 C3.12496777,8.09372583 3.10705916,7.96836556 3.17333333,7.88 C3.18470418,7.86483887 3.1981722,7.85137085 3.21333333,7.84 L10.68,2.24 C10.7683656,2.17372583 10.8937258,2.19163444 10.96,2.28 C10.9859644,2.31461923 11,2.35672596 11,2.4 Z\",right:\"M4,13.6 L4,2.4 C4,2.28954305 4.08954305,2.2 4.2,2.2 C4.24327404,2.2 4.28538077,2.21403557 4.32,2.24 L11.7866667,7.84 C11.8750322,7.90627417 11.8929408,8.03163444 11.8266667,8.12 C11.8152958,8.13516113 11.8018278,8.14862915 11.7866667,8.16 L4.32,13.76 C4.23163444,13.8262742 4.10627417,13.8083656 4.04,13.72 C4.01403557,13.6853808 4,13.643274 4,13.6 Z\"},v=\"\".concat(s,\"Legend\");return b(!0,r,{type:\"legend-cat\",key:\"\".concat(o,\"-cat\"),scale:v in d?v:s,settings:{layout:{scrollOffset:function(){return a?a.get(\"legendScrollOffset\"):void 0},size:-1!==[\"top\",\"bottom\"].indexOf(r.layout.dock)?2:1,direction:u?\"rtl\":\"ltr\",horizontal:20},item:{show:function(e){return-2!==e.datum.value},label:{fill:f?f.getStyle(i,\"legend.label\",\"color\"):void 0,fontSize:f?f.getStyle(i,\"legend.label\",\"fontSize\"):void 0,fontFamily:f?f.getStyle(i,\"legend.label\",\"fontFamily\"):\"QlikView Sans, sans-serif\"}},navigation:{disabled:n,button:{content:function(e,t){var n=t.direction;return e(\"i\",{style:{\"pointer-events\":\"none\",fontSize:\"12px\",display:\"inline-block\",fontStyle:\"normal\",lineHeight:\"0\",textAlign:\"center\",textTransform:\"none\",verticalAlign:\"-0.125em\",textRendering:\"optimizelegibility\",margin:\"0px\"}},[e(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",viewBox:\"0 0 16 16\",fill:\"currentColor\"},[e(\"path\",{d:p[n]})])])}}}},brush:{consume:[{context:\"selection\",data:[\"\",o],style:{inactive:{opacity:.3}}}]}},{settings:l,style:c})}(e,t,n):\"continuous\"===t.coloring.type&&function(e,t){var n=e.key,r=e.styleReference,o=e.rtl,i=e.settings,a=e.style,u=t.scaleKey,l=t.theme,c=Se(e,t);return!!c.show&&b(!0,c,{type:\"legend-seq\",key:\"\".concat(n,\"-seq\"),settings:{fill:u,major:\"\".concat(u,\"Range\"),length:1,tick:{fill:l?l.getStyle(r,\"legend.label\",\"color\"):void 0,fontSize:l?l.getStyle(r,\"legend.label\",\"fontSize\"):void 0,fontFamily:l?l.getStyle(r,\"legend.label\",\"fontFamily\"):\"QlikView Sans, sans-serif\"},title:{anchor:!o||\"top\"!==c.layout.dock&&\"bottom\"!==c.layout.dock?void 0:\"right\",padding:parseFloat(c.settings.title.fontSize)||16}}},{settings:i,style:a})}(e,t)}function Ae(e,t,n){var o=[],i=[],a=Ie(e,t,n&&n.navigationDisabled);return o.push(a),a&&\"legend-cat\"===a.type&&(i.push(function(e){var t=e.key,n=e.requireFailure,r=e.recognizeWith,o=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).actions;return{key:\"event:tap-\".concat(t),type:\"Tap\",requireFailure:n,recognizeWith:r,options:{event:\"legendtap\",interval:10,pointers:1,enable:function(e,n){var r;if(!n)return!0;if(null!=o&&null!==(r=o.interact)&&void 0!==r&&r.enabled&&!o.interact.enabled())return!1;if(!this.chart.componentsFromPoint({x:n.center.x,y:n.center.y}).some((function(e){return e.key===\"\".concat(t,\"-cat\")})))return!1;var i=n.srcEvent.target;return!!(i&&i.hasAttribute(\"data-action\")&&i.hasAttribute(\"data-component-key\"))||!(!i||!i.childNodes[0]||\"BUTTON\"!==i.childNodes[0].nodeName)}},events:{legendtap:function(e){e.preventDefault();var t=e.srcEvent.target;t&&t.hasAttribute(\"data-action\")&&t.hasAttribute(\"data-component-key\")&&this.chart.component(t.getAttribute(\"data-component-key\")).emit(t.getAttribute(\"data-action\"))}}}}(e,n)),i.push(function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.eventName,o=t.key,i=t.requireFailure,a=t.recognizeWith,u=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).actions;return{key:\"event:pan-\".concat(o),type:\"Pan\",requireFailure:i,recognizeWith:a,options:{event:n,pointers:1,threshold:10,enable:function(e,t){var r;return this.started===n||!t||!(null!=u&&null!==(r=u.interact)&&void 0!==r&&r.enabled&&!u.interact.enabled())&&this.chart.componentsFromPoint({x:t.center.x,y:t.center.y}).some((function(e){return e.key===\"\".concat(o,\"-cat\")}))}},events:(e={},r(e,\"\".concat(n,\"start\"),(function(e){e.preventDefault(),this.started!==n&&(this.started=n,this.chart.component(\"\".concat(o,\"-cat\")).emit(\"panstart\",e))})),r(e,\"\".concat(n,\"move\"),(function(e){e.preventDefault(),this.chart.component(\"\".concat(o,\"-cat\")).emit(\"panmove\",e)})),r(e,\"\".concat(n,\"end\"),(function(e){e.preventDefault(),this.chart.component(\"\".concat(o,\"-cat\")).emit(\"panend\",e),this.started=!1})),e)}}(e,n))),{interactions:i,components:o}}var Oe=function(e){return\"rgba(\".concat([(16711680&e)>>16,(65280&e)>>8,255&e,((4278190080&e)>>>24)/255].join(\",\"),\")\")};function Ne(e){var t=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.auto,n=he(e.resources).auto(t||function(){return{mode:\"byDimension\",persistent:!1,useDimColVal:!0,byDimDef:{activeDimensionIndex:0,type:\"expression\",label:\"\"}}}).getDimensionColorMap((function(e,t){var n=t.layout,r=t.app;return ye(e,{layout:n,app:r})})).getMeasure((function(e,t){var n=t.layout,r=t.app;return be(e,{layout:n,app:r})})).getAttributeDimension((function(e,t){var n=t.layout,r=t.model,o=t.app;return xe(e,{layout:n,model:r,app:o})}));return n.getSnapshotData=me,n}({resources:e}),n={},o={},a=function(e){return o.settings||(e||console.warn(\"settings() called before auxiliarySettings()\"),o.settings=t.settings()),o.settings},u={config:function(r){if(n=i({},r),o={},!n.key)throw new Error(\"Missing key\");t.set(i(i({},e),n))},auto:function(e){return e?(t.auto(e),u):t.auto()},getAuxiliarySettings:function(e){return o.auxiliarySettings?Promise.resolve(o.auxiliarySettings):t.getAuxiliarySettings(a(!0),e).then((function(e){return o.auxiliarySettings=e||{},o.settings=i(i({},o.settings),o.auxiliarySettings),o.scales=void 0,o.color=void 0,o.auxiliarySettings}))},getAuxiliaryData:function(){return t.getAuxiliaryData(a())},getSnapshotData:function(e){var n=a();return t.getAuxiliaryData(n,e).then((function(e){return t.getSnapshotData(n,e)}))},resolveUIColor:function(e){return t.resolveUIColor(e)},settings:function(){var e=a();return{mode:e.mode,type:e.type,label:e.label,field:e.field,fieldType:e.fieldType,nil:e.nil,others:e.others,primary:e.primary}},settingsForMeasure:function(e){var t,n=null===(t=a().measureOverrides)||void 0===t?void 0:t[e];return n||this.settings()},isSelectionLocked:function(e){var t=e.isMeasureSelectionLocked;return function(e,t){var n=t.isMeasureSelectionLocked;return\"field\"!==e.mode||(\"dimension\"===e.fieldType?e.isFieldLocked:\"measure\"!==e.fieldType||n)}(a(),{isMeasureSelectionLocked:t})},palettes:function(){return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.colorProps,n=e.coloring,r=e.theme,o=[];if(n&&n.palettes&&r){var i=n.palettes.categorical||t.dimensionScheme,a=r.getDataColorPalettes().filter((function(e){return e.key===i}))[0]||r.getDataColorPalettes()[0];i&&a&&o.push({key:\"categorical\",colors:a.colors});var u=n.palettes.metric||t.measureScheme,c=r.getDataColorScales().filter((function(e){return e.key===u}))[0];if(c){var s=c.colors[0]?c.colors:[[]].concat(l(c.colors.slice(1)));s=Array.isArray(s[0])?s.map((function(e){return e.slice().reverse()})):s.slice().reverse(),o.push({key:\"quant\",colors:s})}}return o}({coloring:a(),colorProps:n.colorProps,theme:n.theme})},scales:function(){return o.scales=o.scales||function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.hc,n=e.coloring,r=e.rtl,o=e.key,a=e.source,u=e.picasso,c={},s=o;if(n){var f={override:!0,domain:n.explicit&&\"function\"==typeof n.explicit.domain?n.explicit.domain:[].concat(l((n.explicit||{}).domain||[]),[-3,-2]),range:n.explicit&&\"function\"==typeof n.explicit.range?n.explicit.range:[].concat(l((n.explicit||{}).range||[]),[n.others,n.nil])};if(\"field\"===n.mode){if(\"dimension\"===n.fieldType){var d,p=qe({hc:t,source:a,coloring:n}).data;if(n.legendDataset){var v=0,h={};u.data(\"q\")({data:t}).extract({field:n.field,trackBy:n.valueAccessor,reduce:function(e){var t=e[0];return h[t]=v++,e[0]}}),d={source:\"attrDim\",extract:{field:\"qDimensionInfo/0\",filter:function(e){return e.qElemNumber>=0},props:{row:{value:function(e){return h[e.qElemNumber]}}}}}}var m={data:p,range:n.range,domain:n.domain,explicit:f,type:\"categorical-color\",label:function(e){return e.datum.text&&e.datum.text.value?e.datum.text.value:e.datum.label}};c[s]=m,d&&(c[\"\".concat(s,\"Legend\")]=i(i({},m),{},{data:d})),t&&t.qHasOtherValues&&d&&((d||m.data).amend=[{label:t.qDimensionInfo[0].othersLabel,source:{key:\"qHyperCube\",field:\"qDimensionInfo/0\"},row:{value:-3},value:-3}])}else if(\"measure\"===n.fieldType){var g={data:{field:n.field},min:n.min,max:n.max};c[s]=b({},g,{type:\"categorical\"===n.type?\"threshold-color\":\"sequential-color\",range:n.range,domain:n.domain,invert:n.reverse}),\"sequential-color\"===c[s].type&&(c[\"\".concat(s,\"Range\")]=b({},g,{invert:!!r}))}else if(\"color\"!==n.type)throw new Error(\"UNUSED FIELD\")}else if(\"dimension\"===n.mode){var y={data:t.qDimensionInfo.map((function(e,t){return t})),label:function(e){return t.qDimensionInfo[e.datum.value].qFallbackTitle},explicit:f,type:\"categorical-color\"};c[s]=y}else if(\"measure\"===n.mode){var x={data:t.qMeasureInfo.map((function(e,t){return t})).filter((function(e){var t,r;return!(null!==(t=n.explicit)&&void 0!==t&&null!==(r=t.exclude)&&void 0!==r&&r.includes(e))})),label:function(e){return t.qMeasureInfo[e.datum.value].qFallbackTitle},explicit:f,type:\"categorical-color\"};c[s]=x}}return c}({hc:n.hc,coloring:a(),key:n.key,source:n.source,picasso:e.picasso}),o.scales},color:function(){return o.color=o.color||function(e){var t=e.coloring,n=e.scales,r=e.key,o=we(r),i=we(\"\".concat(r,\"IsAnOther\")),a=function(e,t){var r=e.fieldType,a=e.invalid,u=e.mode,l=e.nil,c=e.others,s=e.primary,f=e.type;return a?function(e){return De(e)||i(e)?c:l}:n[t]?function(e){return De(e)?c:ke(e)||-2===o(e)&&\"dimension\"===r||\"NaN\"===o(e)?l:i(e)?c:e.resources.scale(t)(o(e))||c}:\"constant\"===u?function(e){return De(e)||i(e)?c:ke(e)?l:s}:\"color\"===f?function(e){return De(e)||i(e)?c:ke(e)?l:o(e)||c}:null},u=a(t,r);if(t.measureOverrides){var l=we(\"\".concat(r,\"MeasureIdx\")),c=t.measureOverrides.map((function(e){return e&&a(e)}));return function(e){var t=l(e);return c[t]?c[t](e):u(e)}}return u}({coloring:a(),scales:this.scales(),key:n.key}),o.color},datumProps:function(e){return function(e){var t,n,o=e.hc,i=e.coloring,a=e.scales,u=e.key,l=e.addMeasureIx,c=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,s=u,f=i.nil;\"field\"===i.mode&&i.field?t=i.field:a[u]&&\"field\"===i.mode&&(t=a[u].data.field||i.field),t?(n={field:t,reduce:\"first\"},\"color\"===i.type&&(n.value=function(e){return\"NaN\"!==e.qNum?Oe(e.qNum):e.qText&&B(e.qText)?e.qText:f})):\"dimension\"===i.mode?n=void 0!==i.field?i.field:o.qDimensionInfo.length-1:\"measure\"===i.mode&&(n=c);var d=r({},s,n);return o.qDimensionInfo.length>1&&(d[\"\".concat(s,\"IsAnOther\")]={fields:o.qDimensionInfo.map((function(e,t){return{field:\"qDimensionInfo/\".concat(t)}})),value:function(e){return-1!==e.indexOf(-3)}}),l&&(d[\"\".concat(s,\"MeasureIdx\")]=c),d}({coloring:this.settingsForMeasure(e),scales:this.scales(),key:n.key,hc:n.hc,addMeasureIx:a().measureOverrides},e)},data:function(){var e=a(),t={key:\"dummy\",data:[[\"field\"],[\"a\"]]};return e.legendDataset?[t,{type:\"q\",key:\"attrDim\",data:e.legendDataset.raw(),config:{localeInfo:n.localeInfo}}]:[t]},legend:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.eventName,r=e.key,o=e.viewState,i=e.chart,u=e.rtl,l=e.styleReference,c=void 0===l?\"object.legend\":l,s=e.settings,f=void 0===s?{}:s,d=e.style,p=void 0===d?{}:d,v=arguments.length>1?arguments[1]:void 0;return Ae({eventName:t,key:r,rtl:u,viewState:o,chart:i,styleReference:c,settings:f,style:p},{legendProps:n.legendProps,scaleKey:n.key,coloring:a(),theme:n.theme,hc:n.hc,scales:this.scales()},v)}};return u}var Ee=function(e){return e.baseColor||e.coloring&&e.coloring.baseColor};function Pe(e){var t=e.qHyperCube,n=t.qDimensionInfo,r=t.qMeasureInfo,o=n.some(Ee),i=r.some(Ee),a=e.color.useBaseColors;return\"measure\"===a&&!i||\"dimension\"===a&&!o?\"off\":a}function je(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=i(i(i({},e),t),{},{colorProps:i(i({},e.colorProps),t.colorProps||{})});return n}var Te=function(e){return e.baseColor||e.coloring&&e.coloring.baseColor};function Fe(e){var t,n=e.qHyperCube.qDimensionInfo.some(Te),r=e.qHyperCube.qMeasureInfo.some(Te),o=n?\"dimension\":void 0;return{mode:\"primary\",useBaseColors:null!==(t=null!=o?o:r?\"measure\":void 0)&&void 0!==t?t:\"off\",paletteColor:null}}var Le=function(){};function He(e){var t,n,r,o,a=e.picasso,u=e.model,l=e.app,c=e.translator,s=e.layoutService,f=void 0===s?void 0:s,d=e.createConfig,p=void 0===d?Le:d,v=e.config,h=void 0===v?{}:v,m=e.custom,g=void 0===m?{}:m,y=h.localeInfo,b=h.key,x=h.theme,q=void 0===x?void 0:x,w=h.auto,k=void 0===w?void 0:w,D=h.definitionPath,C=null==f||null===(t=f.getLayout)||void 0===t?void 0:t.call(f),M={theme:q,key:b,localeInfo:y,layout:C,hc:null==f||null===(n=f.getHyperCube)||void 0===n?void 0:n.call(f),legendProps:null==f||null===(r=f.getLayoutValue)||void 0===r?void 0:r.call(f,\"legend\"),colorProps:i(i({},null==f||null===(o=f.getLayoutValue)||void 0===o?void 0:o.call(f,\"color\")),{},{useBaseColors:C?Pe(C):void 0})},S=Ne({picasso:a,model:u,app:l,translator:c,auto:k});!1!==k&&S.auto((function(e){return k?k({layout:e,defaultAuto:Fe}):Fe(e)}));var I=!1;return{getColor:function(){return S.color()},getPaletteColor:function(e){var t=e.index,n=e.color;return S.resolveUIColor({index:t,color:n})},getData:function(){return S.data()},getDatumProps:function(e){return S.datumProps(e)},getSnapshotData:function(){return S.getSnapshotData(D)},getSettingsForMeasure:function(e){return S.settingsForMeasure(e)},getSettings:function(){return S.settings()},getLegend:function(e,t){return S.legend(e,t)},getScales:function(){return S.scales()},getPalettes:function(){return S.palettes()},isSelectionLocked:function(e){var t=e.isMeasureSelectionLocked;return S.isSelectionLocked({isMeasureSelectionLocked:t})},isInitialized:function(){return I},custom:i({},g),initialize:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.createConfig,n=void 0===t?p:t,r=n({getUseBaseColors:Pe}),o=je(M,r);S.config(o);var i=S.getAuxiliarySettings(D).then((function(){I=!0}));return i}}}function ze(e){var t=e.chart,n=e.logicalSize;if(n)return n;var r=t?t.element.getBoundingClientRect():{};return{width:r.width,height:r.height}}var Re=[{key:\"FULL\",size:{width:550,height:450}},{key:\"MEDIUM\",size:{width:400,height:220}},{key:\"SMALL\",size:{width:300,height:150}},{key:\"XSMALL\",size:{width:150,height:75}}];function Ve(e){var t=e.width,n=e.height,r=Re.filter((function(e){return t>=e.size.width&&n>=e.size.height})).shift();return r?r.key:\"SPARK\"}var Be={left:\"right\",right:\"left\",top:\"bottom\",bottom:\"top\",near:\"far\",far:\"near\"};function _e(e){var t=e.orientation,n=e.dock,r=e.btt,o=e.rtl,i=\"horizontal\"===t?function(e){return\"bottom\"===e||\"near\"===e?\"bottom\":\"top\"}(n):function(e,t){var n=\"left\"===e||\"near\"===e?\"left\":\"right\";return t?Be[n]:n}(n,o),a=function(e,t,n){return\"vertical\"===e?t?\"bottom\":\"top\":n?\"right\":\"left\"}(t,r,o);return{current:i,opposite:Be[i],start:a,end:Be[a]}}function Ue(e){var t=e.chart,n=e.layoutService,r=e.config,o=void 0===r?{}:r,i=o.logicalSize,a=void 0!==i&&i,u=o.rtl,l=void 0!==u&&u,c={chart:{size:void 0,mode:void 0},x:{dock:void 0,opposite:void 0,size:void 0},y:{dock:void 0,opposite:void 0,size:void 0}},s={type:\"x-y\",meta:c,update:function(e){c.chart.size={width:e.width,height:e.height},c.chart.mode=Ve(e);var t=_e({orientation:\"horizontal\",dock:n.getLayoutValue(\"xAxis.dock\"),btt:!1,rtl:l}),r=t.current,o=t.opposite;c.x.dock=r,c.x.opposite=o,c.x.size=e.width;var i=_e({orientation:\"vertical\",dock:n.getLayoutValue(\"yAxis.dock\"),btt:!0,rtl:l}),a=i.current,u=i.opposite;c.y.dock=a,c.y.opposite=u,c.y.size=e.height}};return s.update(ze({chart:t,logicalSize:a})),s}var Ke=\"vertical\",Ye=\"horizontal\";function $e(e){var t=e.chart,n=e.layoutService,r=e.config,o=void 0===r?{}:r,i=e.typeConfig,a=void 0===i?{}:i,u=o.logicalSize,l=void 0!==u&&u,c=o.rtl,s=void 0!==c&&c,f=a.fallback===Ke?Ke:Ye,d=!!a.invert,p=a.measureAxes||[{ref:\"measureAxis\",name:\"minor\"}],v={chart:{orientation:void 0,size:void 0,mode:void 0},major:{orientation:void 0,dock:void 0,opposite:void 0,size:void 0}},h={type:\"major-minor\",meta:v,update:function(e){v.chart.orientation=n.getLayoutValue(\"orientation\",f),v.chart.size={width:e.width,height:e.height},v.chart.mode=Ve(e),v.major.orientation=function(e){var t=e.layoutService,n=e.chartOrientation,r=e.invert;return t.meta.isContinuous?Ye:r?n===Ke?Ye:Ke:n}({layoutService:n,chartOrientation:v.chart.orientation,invert:d});var t=_e({orientation:v.major.orientation,dock:n.getLayoutValue(\"dimensionAxis.dock\"),btt:!1,rtl:s}),r=t.current,o=t.opposite;v.major.dock=r,v.major.opposite=o,v.major.size=v.major.orientation===Ke?e.height:e.width,p.forEach((function(t){var r={};r.orientation=v.major.orientation===Ke?Ye:Ke;var o=_e({orientation:r.orientation,dock:n.getLayoutValue(\"\".concat(t.ref,\".dock\")),btt:!0,rtl:s}),i=o.current,a=o.opposite,u=o.start,l=o.end;r.dock=i,r.opposite=a,r.start=u,r.end=l,r.size=r.orientation===Ke?e.height:e.width,v[t.name]=r}))}};return h.update(ze({chart:t,logicalSize:l})),h}function We(e){var t=e.chart,n=e.layoutService,r=e.config,o=void 0===r?{}:r,i=e.typeConfig,a=void 0===i?{}:i;return(\"x-y\"===a.type?Ue:$e)({chart:t,layoutService:n,config:o,typeConfig:a})}function Je(e,t,n){if(void 0===e||void 0===t)return n;for(var r=t.split(\".\"),o=e,i=0;i<r.length;++i){var a=r[i];if(void 0===o[a])return n;o=o[a]}return o}function Ge(e,t,n){if(void 0!==e&&void 0!==t){for(var r=t.split(\".\"),o=r[r.length-1],i=e,a=0;a<r.length-1;++a){var u=r[a];void 0===i[u]&&(i[u]=Number.isNaN(+r[a+1])?{}:[]),i=i[u]}void 0!==n?i[o]=n:delete i[o]}}function Qe(){var e={};return{get:function(t){return e[t]},set:function(t,n){return e[t]=n,n},has:function(t){return t in e},remove:function(t){delete e[t]},empty:function(){e={}}}}function Xe(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(e){return e},n=Qe();return function(r){var o=t(r);return n.has(o)?n.get(o):n.set(o,e(r))}}function Ze(e){var t=i({},e),n={},r={},o=!1,a={get:function(e){return t[e]},set:function(e,i){var a=t[e];!o&&n[e]?t[e]=n[e](i,a):t[e]=i,!o&&r[e]&&r[e](t[e],a)},preventSet:function(e,t){o=!0,a.set(e,t),o=!1},intercept:function(e,t){n[e]=t},onChanged:function(e,t){r[e]=t}};return a}function et(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:50;return function(){for(var r=this,o=arguments.length,i=new Array(o),a=0;a<o;a++)i[a]=arguments[a];var u=function(){return e.apply(r,i)};clearTimeout(t),t=setTimeout(u,n)}}function tt(e){var t,n,r,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:50,i=0;return function(){t=this;for(var a=arguments.length,u=new Array(a),l=0;l<a;l++)u[l]=arguments[l];n=u;var c=Date.now()-i,s=function(){i=Date.now(),r=0,e.apply(t,n)};r||(c>=o?s():r=setTimeout(s,o-c))}}function nt(e){var t;return((null==e||null===(t=e.qHyperCube)||void 0===t?void 0:t.qDimensionInfo)||[]).map((function(e){var t,n=null===(t=e.qCardinalities)||void 0===t?void 0:t.qHypercubeCardinal;if(n)return n;var r=e.qStateCounts||{},o=r.qLocked,i=void 0===o?0:o,a=r.qOption,u=void 0===a?0:a,l=r.qSelected;return i+u+(void 0===l?0:l)}))}function rt(e){switch(e.qHyperCube.qMode){case\"S\":return function(e){var t=e.qHyperCube.qSize;return{refs:{dataPages:\"qHyperCube.qDataPages\"},size:{x:t.qcx,y:t.qcy,dimensions:nt(e)}}}(e);case\"K\":return function(e){var t=nt(e);return{refs:{dataPages:\"qHyperCube.qStackedDataPages\"},size:{x:e.qHyperCube.qSize.qcx,y:t[0],dimensions:t}}}(e);case\"T\":return function(e){var t=nt(e);return{refs:{dataPages:\"qHyperCube.qTreeDataPages\"},size:{x:e.qHyperCube.qSize.qcx,y:t[0],dimensions:t}}}(e);default:throw new Error(\"Mode not supported\")}}function ot(e){var t=e.source,n=e.metaAdditionsFn,r=b(!0,{},t),o=rt(r),a=function(){return function(e){var t=e.layout,n=e.additionsFn,r=void 0===n?function(){return{}}:n,o=e.additionsProps,a=void 0===o?{}:o,u=t.qHyperCube,l=u.qDimensionInfo,c=u.qMeasureInfo,s=u.qMode,f=l.length,d=c.length,p=i({mode:{S:\"S\"===s,P:\"P\"===s,K:\"K\"===s,T:\"T\"===s},dimensionCount:f,measureCount:d,hasMultipleDimensions:f>1,hasMultipleMeasures:d>1,isOneDimensional:1===f,isTwoDimensional:2===f},a);return i(i({},p),r({layout:t,meta:p}))}({layout:r,additionsFn:n,additionsProps:{size:o.size}})},u={refs:i({},o.refs),meta:a(),getLayout:function(){return r},getLayoutValue:function(e,t){return Je(r,e,t)},setLayoutValue:function(e,t){Ge(r,e,t),o=rt(r),u.meta=a()},getHyperCube:function(){return r.qHyperCube},getHyperCubeValue:function(e,t){return Je(r.qHyperCube,e,t)},setHyperCubeValue:function(e,t){Ge(r.qHyperCube,e,t),o=rt(r),u.meta=a()},getDataPages:function(){return Je(r,o.refs.dataPages)},setDataPages:function(e){Ge(r,o.refs.dataPages,e),u.meta=a()}};return u}function it(e){var t=e.originalArray,n=e.newArray,r=e.matchKey;return Array.isArray(t)&&t.length?(n.forEach((function(e){var n=-1;t.some((function(t,o){return t[r]&&t[r]===e[r]&&(n=o),n})),n>-1?t[n]=e:t.push(e)})),t):n}function at(t){var r=t.picassoInstance,o=t.plugins,a=t.pluginArgs,c=void 0===a?{}:a,s={initialized:!1,definitions:[]};return{initialize:function(){return n(regeneratorRuntime.mark((function t(){var a,u,f,d;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!s.initialized){t.next=2;break}return t.abrupt(\"return\");case 2:return u=Promise.all(o.filter((function(e){return\"custom-component\"===e.info.type})).map(function(){var t=n(regeneratorRuntime.mark((function t(n){var o;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n.info.componentName){t.next=2;break}throw new Error(\"plugin-service: Custom component is missing componentName\");case 2:return t.next=4,n.fn(i({},c));case 4:if(\"object\"===e(o=t.sent)){t.next=7;break}throw new Error(\"plugin-service: Custom component needs to be an object\");case 7:r.component(n.info.componentName,o);case 8:case\"end\":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}())),f=Promise.all(o.filter((function(e){return\"component-definition\"===e.info.type})).map((function(e){return e.fn(i({},c))}))),t.next=6,Promise.all([u,f]);case 6:d=t.sent,s.initialized=!0,(a=s.definitions).push.apply(a,l(d[1]));case 9:case\"end\":return t.stop()}}),t)})))()},extendComponents:function(t){return s.initialized?(s.definitions.filter(Boolean).forEach((function(n){var r=u(t.filter((function(e){return e.key&&e.key===n.key})),1)[0];if(r){var o=b(!0,{},r.brush);b(!0,r,n),n.brush&&(r.brush=function(t,n){return\"object\"===e(t)&&Object.keys(t).length?(Array.isArray(n.consume)&&(t.consume=it({originalArray:t.consume,newArray:n.consume,matchKey:\"context\"})),Array.isArray(n.trigger)&&(t.trigger=it({originalArray:t.trigger,newArray:n.trigger,matchKey:\"on\"})),t):n}(o,n.brush))}else t.push(n)})),t):t}}}function ut(e){return(ut=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function lt(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function ct(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function st(e,t,n){return t&&ct(e.prototype,t),n&&ct(e,n),e}function ft(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function dt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function pt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?dt(Object(n),!0).forEach((function(t){ft(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):dt(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function vt(e,t){return(vt=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function ht(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}function mt(e,t,n){return(mt=ht()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var o=new(Function.bind.apply(e,r));return n&&vt(o,n.prototype),o}).apply(null,arguments)}function gt(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if(\"undefined\"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var n=[],r=!0,o=!1,i=void 0;try{for(var a,u=e[Symbol.iterator]();!(r=(a=u.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{r||null==u.return||u.return()}finally{if(o)throw i}}return n}(e,t)||bt(e,t)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function yt(e){return function(e){if(Array.isArray(e))return xt(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||bt(e)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function bt(e,t){if(e){if(\"string\"==typeof e)return xt(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return\"Object\"===n&&e.constructor&&(n=e.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(e):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?xt(e,t):void 0}}function xt(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var qt=Object.prototype.hasOwnProperty,wt=Object.prototype.toString,kt=Object.defineProperty,Dt=Object.getOwnPropertyDescriptor,Ct=function(e){return\"function\"==typeof Array.isArray?Array.isArray(e):\"[object Array]\"===wt.call(e)},Mt=function(e){if(!e||\"[object Object]\"!==wt.call(e))return!1;var t,n=qt.call(e,\"constructor\"),r=e.constructor&&e.constructor.prototype&&qt.call(e.constructor.prototype,\"isPrototypeOf\");if(e.constructor&&!n&&!r)return!1;for(t in e);return void 0===t||qt.call(e,t)},St=function(e,t){kt&&\"__proto__\"===t.name?kt(e,t.name,{enumerable:!0,configurable:!0,value:t.newValue,writable:!0}):e[t.name]=t.newValue},It=function(e,t){if(\"__proto__\"===t){if(!qt.call(e,t))return;if(Dt)return Dt(e,t).value}return e[t]},At=function e(){var t,n,r,o,i,a,u=arguments[0],l=1,c=arguments.length,s=!1;for(\"boolean\"==typeof u&&(s=u,u=arguments[1]||{},l=2),(null==u||\"object\"!=typeof u&&\"function\"!=typeof u)&&(u={});l<c;++l)if(null!=(t=arguments[l]))for(n in t)r=It(u,n),u!==(o=It(t,n))&&(s&&o&&(Mt(o)||(i=Ct(o)))?(i?(i=!1,a=r&&Ct(r)?r:[]):a=r&&Mt(r)?r:{},St(u,{name:n,newValue:e(s,a,o)})):void 0!==o&&St(u,{name:n,newValue:o}));return u};function Ot(e,t,n){if(!e)return-1;var r=n.cache,o=e.origin?e.origin():null;o&&(e=o);var i=r.fields.indexOf(e),a=-1,u=-1;if(-1===i)for(var l=0;l<r.wrappedFields.length;l++)if(u=r.wrappedFields[l].attrDims.map((function(e){return e.instance})).indexOf(e),a=r.wrappedFields[l].attrExps.map((function(e){return e.instance})).indexOf(e),-1!==u||-1!==a){i=l;break}return(i-=t.qArea.qLeft)<0||i>=t.qArea.qWidth?-1:u>=0?function(e){return e[i].qAttrDims.qValues[u]}:a>=0?function(e){return e[i].qAttrExps.qValues[a]}:function(e){return e[i]}}function Nt(e,t,n){var r=n.key,o={value:\"function\"==typeof e.value?e.value(t):void 0!==e.value?e.value:t};return o.label=\"function\"==typeof e.label?e.label(t):void 0!==e.label?String(e.label):String(o.value),e.field&&(o.source={key:r,field:e.field.key()}),o}function Et(e){var t=e.cache,n=e.f,r=e.mainCell,o=e.p;e.prop;var i=e.page,a=e.rowIdx,u=e.row,l=e.sourceKey,c=e.target,s=e.targetProp,f=r;if(o.field&&o.field!==n){var d=Ot(o.field,i,{cache:t});if(-1===d)return;f=At({qRow:a},d(u))}c[s]=Nt(o,f,{key:l})}function Pt(e,t,n,r){for(var o=Array.isArray(e)?e:[e],i=[],a=0;a<o.length;a++)if(void 0!==o[a].field){for(var u=t.raw(),l=t.key(),c=\"object\"===ut(o[a].field)?o[a].field:t.field(o[a].field),s=r.normalizeConfig(o[a],t),f=s.props,d=s.main,p=Object.keys(f),v=!!o[a].trackBy,h=ut(o[a].trackBy),m={},g=[],y=[],b=0;b<u.qDataPages.length;b++){var x=Ot(c,u.qDataPages[b],{cache:n});if(-1!==x)for(var q=0;q<u.qDataPages[b].qMatrix.length;q++){var w=u.qDataPages[b].qArea.qTop+q,k=At({qRow:w},x(u.qDataPages[b].qMatrix[q])),D=Nt(d,k,{key:l});if(!(d.filter&&!d.filter(k))){for(var C=0;C<p.length;C++){var M=f[p[C]],S=M.fields||[M];M.fields&&(D[p[C]]=[]);for(var I=0;I<S.length;I++)Et({cache:n,f:c,mainCell:k,p:S[I],prop:p[C],props:f,page:u.qDataPages[b],rowIdx:w,row:u.qDataPages[b].qMatrix[q],sourceKey:l,target:M.fields?D[p[C]]:D,targetProp:M.fields?I:p[C]});if(M.fields){var A=D[p[C]].map((function(e){return e.value})),O=D[p[C]].map((function(e){return e.label}));D[p[C]]={value:\"function\"==typeof M.value?M.value(A):void 0!==M.value?M.value:A,label:\"function\"==typeof M.label?M.label(O):void 0!==M.label?String(M.label):String(D[p[C]].value)}}}v&&r.track({cfg:o[a],itemData:k,obj:D,target:g,tracker:m,trackType:h}),y.push(D)}}}v?i.push.apply(i,yt(r.collect(g,{main:d,propsArr:p,props:f}))):i.push.apply(i,y)}return i}function jt(e){var t=0,n=e.children,r=n&&n.length;if(r)for(;--r>=0;)t+=n[r].value;else t=1;e.value=t}function Tt(e,t){var n,r,o,i,a,u=new zt(e),l=+e.value&&(u.value=e.value),c=[u];for(null==t&&(t=Ft);n=c.pop();)if(l&&(n.value=+n.data.value),(o=t(n.data))&&(a=o.length))for(n.children=new Array(a),i=a-1;i>=0;--i)c.push(r=n.children[i]=new zt(o[i])),r.parent=n,r.depth=n.depth+1;return u.eachBefore(Ht)}function Ft(e){return e.children}function Lt(e){e.data=e.data.data}function Ht(e){var t=0;do{e.height=t}while((e=e.parent)&&e.height<++t)}function zt(e){this.data=e,this.depth=this.height=0,this.parent=null}function Rt(e){if(\"function\"!=typeof e)throw new Error;return e}zt.prototype=Tt.prototype={constructor:zt,count:function(){return this.eachAfter(jt)},each:function(e){var t,n,r,o,i=this,a=[i];do{for(t=a.reverse(),a=[];i=t.pop();)if(e(i),n=i.children)for(r=0,o=n.length;r<o;++r)a.push(n[r])}while(a.length);return this},eachAfter:function(e){for(var t,n,r,o=this,i=[o],a=[];o=i.pop();)if(a.push(o),t=o.children)for(n=0,r=t.length;n<r;++n)i.push(t[n]);for(;o=a.pop();)e(o);return this},eachBefore:function(e){for(var t,n,r=this,o=[r];r=o.pop();)if(e(r),t=r.children)for(n=t.length-1;n>=0;--n)o.push(t[n]);return this},sum:function(e){return this.eachAfter((function(t){for(var n=+e(t.data)||0,r=t.children,o=r&&r.length;--o>=0;)n+=r[o].value;t.value=n}))},sort:function(e){return this.eachBefore((function(t){t.children&&t.children.sort(e)}))},path:function(e){for(var t=this,n=function(e,t){if(e===t)return e;var n=e.ancestors(),r=t.ancestors(),o=null;e=n.pop(),t=r.pop();for(;e===t;)o=e,e=n.pop(),t=r.pop();return o}(t,e),r=[t];t!==n;)t=t.parent,r.push(t);for(var o=r.length;e!==n;)r.splice(o,0,e),e=e.parent;return r},ancestors:function(){for(var e=this,t=[e];e=e.parent;)t.push(e);return t},descendants:function(){var e=[];return this.each((function(t){e.push(t)})),e},leaves:function(){var e=[];return this.eachBefore((function(t){t.children||e.push(t)})),e},links:function(){var e=this,t=[];return e.each((function(n){n!==e&&t.push({source:n.parent,target:n})})),t},copy:function(){return Tt(this).eachBefore(Lt)}};var Vt={depth:-1},Bt={};function _t(e){return e.id}function Ut(e){return e.parentId}function Kt(e,t){\"/\"===e.charAt(0)&&(e=e.substring(1));for(var n,r=e.split(\"/\"),o=t,i=0;i<r.length;i++){if(\"*\"===r[i]&&Array.isArray(o)){var a=[];n=r.slice(i+1).join(\"/\");for(var u=0;u<o.length;u++){var l=Kt(n,o[u]);Array.isArray(l)?a.push.apply(a,yt(l)):a.push(l)}return a}if(!r[i]&&Array.isArray(o)){var c=new Array(o.length);n=r.slice(i+1).join(\"/\");for(var s=0;s<o.length;s++)c[s]=Kt(n,o[s]);return c}r[i]in o&&(o=o[r[i]])}return o}function Yt(e,t,n){var r=[];if(!e||!e.length)return r;if(t<=0){var o=n>=0?[e[n]]:e;r.push.apply(r,yt(o))}else for(var i=0;i<e.length;i++)e[i].children&&e[i].children.length&&r.push.apply(r,yt(Yt(e[i].children,t-1,n)));return r}function $t(e,t,n){if(e===t)return function(e){return e};if(e>t){var r=Math.max(0,Math.min(100,e-t)),o=yt(Array(r)).map(String.prototype.valueOf,\"parent\").join(\".\");return Function(\"node\",\"return node.\".concat(o,\";\"))}if(t>e){var i=Math.max(0,Math.min(100,t-e));return function(e){return Yt(e.children,i-1,n)}}return!1}function Wt(e,t){var n=t.cache;if(\"number\"==typeof e)return n.fields[e];var r=n.allFields;if(\"function\"==typeof e){for(var o=0;o<r.length;o++)if(e(r[o]))return r[o];return!1}if(\"string\"==typeof e){for(var i=0;i<r.length;i++)if(r[i].key()===e||r[i].title()===e)return r[i]}else if(e&&-1!==r.indexOf(e))return e;throw Error(\"Field not found: \".concat(e))}var Jt=/^qDimensionInfo(?:\\/(\\d+))?/,Gt=/^\\/?qMeasureInfo\\/(\\d+)/,Qt=/\\/qAttrExprInfo\\/(\\d+)/,Xt=/\\/qAttrDimInfo\\/(\\d+)/;function Zt(e){return(e.qColumnOrder&&e.qColumnOrder.length?e.qColumnOrder:e.qDimensionInfo.map((function(e,t){return t}))).filter((function(t){return t<e.qDimensionInfo.length}))}function en(e,t){var n=t.cube;if(!e)return-1;var r=e.origin&&e.origin()?e.origin().key():e.key(),o=!1,i=-1,a=-1,u=-1,l=-1,c=-1,s=r,f=n.qEffectiveInterColumnSortOrder,d=Zt(n);return Jt.test(s)&&(o=!0,i=+Jt.exec(s)[1],s=r.replace(Jt,\"\")),Gt.test(s)&&(\"K\"===n.qMode?l=+Gt.exec(s)[1]:f&&-1!==f.indexOf(-1)?(l=+Gt.exec(s)[1],c=0):c=+Gt.exec(s)[1],s=s.replace(Gt,\"\")),s&&(Xt.exec(s)?u=+Xt.exec(s)[1]:Qt.exec(s)&&(a=+Qt.exec(s)[1])),{fieldDepth:(o?\"S\"===n.qMode?d[i]:f?f.indexOf(i):i:f&&-1!==f.indexOf(-1)?f.indexOf(-1):n.qDimensionInfo.length-(\"K\"===n.qMode?0:1))+1,pseudoMeasureIndex:l,measureIdx:c,attrDimIdx:u,attrIdx:a}}function tn(e,t){var n,r,o=$t(e.fieldDepth,t.fieldDepth,t.pseudoMeasureIndex);return n=t.measureIdx>=0?function(e){return e.data.qValues[t.measureIdx]}:function(e){return e.data},t.attrDimIdx>=0?r=function(e){var n;return null==e||null===(n=e.qAttrDims)||void 0===n?void 0:n.qValues[t.attrDimIdx]}:t.attrIdx>=0&&(r=function(e){var n;return null==e||null===(n=e.qAttrExps)||void 0===n?void 0:n.qValues[t.attrIdx]}),{nodeFn:o,attrFn:r,valueFn:n}}function nn(e,t,n){var r=n.key,o={value:\"function\"==typeof e.value?e.value(t):void 0!==e.value?e.value:t};return o.label=\"function\"==typeof e.label?e.label(t):void 0!==e.label?String(e.label):String(o.value),e.field&&(o.source={key:r,field:e.field.key()}),o}function rn(e){for(var t=e.propsArr,n=e.props,r=e.item,o=e.itemData,i=e.ret,a=e.sourceKey,u=0;u<t.length;u++){var l=n[t[u]],c=l.fields||[l],s=void 0,f=void 0;l.fields&&(s=[],f=[]);for(var d=function(e){var n=c[e],d=void 0,p=void 0,v=void 0,h=void 0,m=void 0,g=void 0;if(\"primitive\"===n.type?(v=n.value,g=String(n.value)):(\"function\"==typeof n.value&&(d=function(e){return n.value(e,r)}),\"function\"==typeof n.label&&(p=function(e){return n.label(e,r)}),n.accessor?(h=n.accessor(r),Array.isArray(h)?(m=h.map(n.valueAccessor),n.attrAccessor&&(m=m.map(n.attrAccessor)),d&&(v=m.map(d),d=null),p&&(g=m.map(p),p=null),v=n.reduce?n.reduce(v):v,g=n.reduceLabel?n.reduceLabel(g,v):String(v)):g=v=n.attrAccessor?n.attrAccessor(n.valueAccessor(h)):n.valueAccessor(h)):(v=o,g=o)),l.fields){var y=d?d(v):v;s.push(y),f.push(p&&null!=g?p(g):null!=g?g:String(y))}else{var b=d?d(v):v;i[t[u]]={value:b,label:p?p(g):null!=g?g:String(b)},n.field&&(i[t[u]].source={field:n.field.key(),key:a})}},p=0;p<c.length;p++)d(p);s&&(i[t[u]]={value:\"function\"==typeof l.value?l.value(s,r):s,label:\"function\"==typeof l.label?l.label(f,r):f})}}var on=function(e,t,n){var r=\"K\"===e.qMode?\"/qStackedDataPages/*/qData\":\"/qTreeDataPages/*\",o=\"K\"===e.qMode?\"qSubNodes\":\"qNodes\",i=Kt(r,e);return i&&i[0]?(t.tree=Tt(i[0],n.children||function(e){return e[o]}),t.tree):null};function an(e){for(var t=e.raw().qDataPages.length?e.raw().qDataPages[0].qMatrix:[],n=function(e){var t=e.raw().qColumnOrder,n=e.fields();return t&&t.length===n.length?t:n.map((function(e,t){return t}))}(e),r=e.fields(),o=e.fields().filter((function(e){return\"dimension\"===e.type()})).map((function(e){return n.indexOf(r.indexOf(e))})),i=e.fields().filter((function(e){return\"measure\"===e.type()})).map((function(e){return n.indexOf(r.indexOf(e))})),a={__root:{__id:\"__root\",qValues:[]}},u=0;u<t.length;u++){for(var l=t[u],c=\"__root\",s=!1,f=0;f<o.length;f++){var d=l[o[f]],p=\"\".concat(c,\"__\").concat(d.qText);a[p]||(a[p]=pt({__id:p,__parent:c,qValues:[]},d),s=!0),c=p}if(s)for(var v=0;v<i.length;v++){var h=l[i[v]];a[c].qValues.push(h)}}var m=Object.keys(a).map((function(e){return a[e]}));return function(){var e=_t,t=Ut;function n(n){var r,o,i,a,u,l,c,s=n.length,f=new Array(s),d={};for(o=0;o<s;++o)r=n[o],u=f[o]=new zt(r),null!=(l=e(r,o,n))&&(l+=\"\")&&(d[c=\"$\"+(u.id=l)]=c in d?Bt:u);for(o=0;o<s;++o)if(u=f[o],null!=(l=t(n[o],o,n))&&(l+=\"\")){if(!(a=d[\"$\"+l]))throw new Error(\"missing: \"+l);if(a===Bt)throw new Error(\"ambiguous: \"+l);a.children?a.children.push(u):a.children=[u],u.parent=a}else{if(i)throw new Error(\"multiple roots\");i=u}if(!i)throw new Error(\"no root\");if(i.parent=Vt,i.eachBefore((function(e){e.depth=e.parent.depth+1,--s})).eachBefore(Ht),i.parent=null,s>0)throw new Error(\"cycle\");return i}return n.id=function(t){return arguments.length?(e=Rt(t),n):e},n.parentId=function(e){return arguments.length?(t=Rt(e),n):t},n}().id((function(e){return e.__id})).parentId((function(e){return e.__parent}))(m)}var un=function(e){for(var t=e.propsArr,n=e.props,r=e.cube,o=e.cache,i=e.itemDepthObject,a=e.f,u=0;u<t.length;u++)for(var l=n[t[u]],c=l.fields?l.fields:[l],s=0;s<c.length;s++){var f=c[s];if(f.field!==a){var d=tn(i,en(f.field,{cube:r,cache:o}));f.accessor=d.nodeFn,f.valueAccessor=d.valueFn,f.attrAccessor=d.attrFn}}};function ln(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0,n=arguments.length>2?arguments[2]:void 0,r=arguments.length>3?arguments[3]:void 0,o=t.raw(),i=t.key(),a=\"S\"===o.qMode?an(t):on(o,n,e);if(!a)return null;for(var u=a.height,l=[],c=0;c<=u;c++){var s=null;if(c>0)if(\"S\"===o.qMode){var f=Zt(o),d=f[c-1];s=n.fields[d]}else{var p=o.qEffectiveInterColumnSortOrder[c-1];c>o.qEffectiveInterColumnSortOrder.length&&(p=o.qDimensionInfo.length),s=n.fields[p]}var v=r.normalizeConfig(pt(pt({},e),{},{field:s?s.key():void 0}),t),h=v.props,m=v.main,g=Object.keys(h);l[c]={propsArr:g,props:h,main:m};var y=s?en(s,{cube:o,cache:n}):{fieldDepth:0};un({propsArr:g,props:h,cube:o,cache:n,itemDepthObject:y,f:s})}for(var b=a.copy(),x=b.descendants(),q=a.descendants(),w=0;w<q.length;w++){var k=l[q[w].depth].propsArr,D=l[q[w].depth].props,C=l[q[w].depth].main,M=x[w],S=M.data,I=nn(C,S,{key:i});rn({propsArr:k,props:D,item:M,itemData:S,ret:I,sourceKey:i,isTree:!0}),q[w].data=I}return a}function cn(e,t,n,r){for(var o=Array.isArray(e)?e:[e],i=[],a=0;a<o.length;a++)if(void 0!==o[a].field){var u=t.raw(),l=t.key();if(!on(u,n,e))continue;var c=\"object\"===ut(o[a].field)?o[a].field:t.field(o[a].field),s=r.normalizeConfig(o[a],t),f=s.props,d=s.main,p=Object.keys(f),v=en(c,{cube:u,cache:n}),h=tn({fieldDepth:0},v),m=h.nodeFn,g=h.attrFn,y=h.valueFn;un({propsArr:p,props:f,cube:u,cache:n,itemDepthObject:v,f:c});for(var b=!!o[a].trackBy,x=ut(o[a].trackBy),q={},w=[],k=m(n.tree),D=[],C=0;C<k.length;C++){var M=k[C],S=g?g(y(M)):y(M);if(!(d.filter&&!d.filter(S))){var I=nn(d,S,{key:l});rn({propsArr:p,props:f,item:M,itemData:S,ret:I,sourceKey:l}),b&&r.track({cfg:o[a],itemData:S,obj:I,target:w,tracker:q,trackType:x}),D.push(I)}}b?i.push.apply(i,yt(r.collect(w,{main:d,propsArr:p,props:f}))):i.push.apply(i,D)}return i}\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self&&self;var sn,fn=(function(e){\n/*! javascript-number-formatter - v1.1.11 - http://mottie.github.com/javascript-number-formatter/ * © ecava */\ne.exports=function(e,t){if(!e||isNaN(+t))return t;var n,r,o,i,a,u,l,c,s,f,d=e.length,p=e.search(/[0-9\\-\\+#]/),v=p>0?e.substring(0,p):\"\",h=e.split(\"\").reverse().join(\"\"),m=h.search(/[0-9\\-\\+#]/),g=d-m,y=e.substring(g,g+1),b=g+(\".\"===y||\",\"===y?1:0),x=m>0?e.substring(b,d):\"\";if(n=(t=\"-\"===(e=e.substring(p,b)).charAt(0)?-t:+t)<0?t=-t:0,o=(r=e.match(/[^\\d\\-\\+#]/g))&&r[r.length-1]||\".\",i=r&&r[1]&&r[0]||\",\",e=e.split(o),t=+(t=t.toFixed(e[1]&&e[1].length))+\"\",u=e[1]&&e[1].lastIndexOf(\"0\"),(!(c=t.split(\".\"))[1]||c[1]&&c[1].length<=u)&&(t=(+t).toFixed(u+1)),s=e[0].split(i),e[0]=s.join(\"\"),(a=e[0]&&e[0].indexOf(\"0\"))>-1)for(;c[0].length<e[0].length-a;)c[0]=\"0\"+c[0];else 0==+c[0]&&(c[0]=\"\");if((t=t.split(\".\"))[0]=c[0],l=s[1]&&s[s.length-1].length){for(h=\"\",g=(f=t[0]).length%l,d=f.length,b=0;b<d;b++)h+=f.charAt(b),!((b-g+1)%l)&&b<d-l&&(h+=i);t[0]=h}return t[1]=e[1]&&t[1]?o+t[1]:\"\",\"0\"!==(r=t.join(\"\"))&&\"\"!==r||(n=!1),v+(n?\"-\":\"\")+r+x}}(sn={exports:{}},sn.exports),sn.exports);function dn(e){return e.replace(/[-[\\]/{}()*+?.\\\\^$|]/g,\"\\\\$&\")}var pn={3:\"k\",6:\"M\",9:\"G\",12:\"T\",15:\"P\",18:\"E\",21:\"Z\",24:\"Y\",\"-3\":\"m\",\"-6\":\"μ\",\"-9\":\"n\",\"-12\":\"p\",\"-15\":\"f\",\"-18\":\"a\",\"-21\":\"z\",\"-24\":\"y\"},vn=/%$/,hn=/^\\(r(0[2-9]|[12]\\d|3[0-6])\\)/i,mn=/^\\(oct\\)/i,gn=/^\\(dec\\)/i,yn=/^\\(hex\\)/i,bn=/^\\(bin\\)/i,xn=/^\\(rom\\)/i,qn=/^(\\(rom\\)|\\(bin\\)|\\(hex\\)|\\(dec\\)|\\(oct\\)|\\(r(0[2-9]|[12]\\d|3[0-6])\\))/i,wn=/#|0/g;function kn(e,t,n,r){return e=e.toString(t),n[1]===n[1].toUpperCase()&&(e=e.toUpperCase()),e.length-e.indexOf(\".\")>10&&(e=e.slice(0,e.indexOf(\".\")+11)),e.replace(\".\",r||\".\")}function Dn(e,t,n){var r;return hn.test(t)?e=kn(e,Number(/\\d{2}/.exec(t)[0]),t,n):mn.test(t)?e=kn(e,8,t,n):gn.test(t)?e=kn(e,10,t,n):yn.test(t)?e=kn(e,16,t,n):bn.test(t)?e=kn(e,2,t,n):xn.test(t)&&(r=\"\",e<0&&(r=\"-\",e=-e),e=0===(e=Math.floor(e))?\"0\":e<=5e5?r+(e=function(e,t){for(var n,r=\"\",o=Number(String(e).slice(-3)),i=(e-o)/1e3,a=[0,1,4,5,9,10,40,50,90,100,400,500,900].reverse(),u=[\"0\",\"I\",\"IV\",\"V\",\"IX\",\"X\",\"XL\",\"L\",\"XC\",\"C\",\"CD\",\"D\",\"CM\"].reverse();o>0;)for(n=0;n<a.length;n++)if(a[n]<=o){r+=u[n],o-=a[n];break}for(n=0;n<i;n++)r=\"M\".concat(r);return t[1]!==t[1].toUpperCase()&&(r=r.toLowerCase()),r}(e,t)):t+r+e.toExponential(0)),e}function Cn(e,t,n){var r=dn(e);return n?r:new RegExp(r||\"\",t)}function Mn(e,t,n){var r,o,i,a,u,l,c,s,f,d,p,v=e.pattern;v.indexOf(\"A\")>=0&&(v=v.replace(\"A\",\"\"),e.abbreviate=!0),d=t,(p=n)&&(p=dn(p)),d&&(d=dn(d)),f=new RegExp(\"(?:[#0]+\".concat(d,\")?[#0]+(?:\").concat(p,\"[#0]+)?\")),a=(i=(i=v.match(f))?i[0]:\"\")?v.substr(0,v.indexOf(i)):v,u=i?v.substring(v.indexOf(i)+i.length):\"\",i||(i=v?\"#\":\"##########\"),t&&t===n&&(o=(r=i.split(n)).pop(),i=r.join(\"\")+n+o,t=\"\"),l=t,t=/,/.test(n)?\"¤\":\",\",l&&(i=i.replace(Cn(l,\"g\"),t)),c=n,n=\".\",c&&(i=i.replace(Cn(c,\"g\"),n)),s=(s=i.match(/#/g))?s.length:0;var h,m=v.split(c);m[1]&&(h=m[1].match(wn)),e.prefix=a||\"\",e.postfix=u||\"\",e.pattern=v,e.maxPrecision=h?h.length:2,e.percentage=vn.test(v),e.numericPattern=i||\"\",e.numericRegex=new RegExp(\"\".concat(Cn(t,null,!0),\"|\").concat(Cn(n,null,!0)),\"g\"),e.groupTemp=l,e.decTemp=c,e.t=t,e.d=n,e.temp=s}var Sn=function(){function e(t,n,r,o,i){lt(this,e),this.localeInfo=t,this.pattern=n,this.thousandDelimiter=r||\",\",this.decimalDelimiter=o||\".\",this.type=i||\"numeric\",this.patternSeparator=\";\",this.abbreviations=function(e,t){if(!e||!e.qNumericalAbbreviation)return pn;var n={};return e.qNumericalAbbreviation.split(t).forEach((function(e){var t=e.split(\":\");2===t.length&&(n[t[0]]=t[1])})),n}(t,this.patternSeparator),this.prepare()}return st(e,[{key:\"clone\",value:function(){var t=new e(this.localeInfo,this.pattern,this.thousandDelimiter,this.decimalDelimiter,this.type);return t.subtype=this.subtype,t}},{key:\"format\",value:function(e,t,n,r){return this.prepare(t,n,r),this.formatValue(e)}},{key:\"prepare\",value:function(e,t,n){var r;void 0===e&&(e=this.pattern),void 0===t&&(t=this.thousandDelimiter),void 0===n&&(n=this.decimalDelimiter),e?(this._prepared={positive:{d:n,t:t,abbreviate:!1,isFunctional:!1,prefix:\"\",postfix:\"\"},negative:{d:n,t:t,abbreviate:!1,isFunctional:!1,prefix:\"\",postfix:\"\"},zero:{d:n,t:t,abbreviate:!1,isFunctional:!1,prefix:\"\",postfix:\"\"}},r=this._prepared,e=e.split(this.patternSeparator),r.positive.pattern=e[0],r.negative.pattern=e[1],r.zero.pattern=e[2],qn.test(e[0])&&(r.positive.isFunctional=!0),e[1]?qn.test(e[1])&&(r.negative.isFunctional=!0):r.negative=!1,e[2]?qn.test(e[2])&&(r.zero.isFunctional=!0):r.zero=!1,r.positive.isFunctional||Mn(r.positive,t,n),r.negative&&!r.negative.isFunctional&&Mn(r.negative,t,n),r.zero&&!r.zero.isFunctional&&Mn(r.zero,t,n)):this._prepared={pattern:!1}}},{key:\"formatValue\",value:function(e){var t,n,r,o,i,a,u,l,c,s=this._prepared,f=\"\",d=\"\",p=e;if(isNaN(e))return\"\".concat(p);if(e=+e,!1===s.pattern)return e.toString();if(0===e&&s.zero)return(s=s.zero).pattern;if(e<0&&s.negative?(s=s.negative,e=-e):s=s.positive,i=s.d,a=s.t,s.isFunctional)e=Dn(e,s.pattern,i);else{if(s.percentage&&(e*=100),s.abbreviate){var v,h,m=Object.keys(this.abbreviations).map((function(e){return parseInt(e,10)})).sort((function(e,t){return e-t})),g=m[0];for(u=0,n=Number(Number(e).toExponential().split(\"e\")[1]);g<=n&&u<m.length;)g=m[++u];u>0&&(v=m[u-1]),v&&n>0&&v>0?h=v:(n<0&&v<0||!v)&&(g<0&&g-n<=s.maxPrecision?h=g:v<=n&&!(g>0&&-n<=s.maxPrecision)&&(h=v)),h&&(f=this.abbreviations[h],e/=Math.pow(10,h))}if(r=Math.abs(e),t=s.temp,c=(l=s.numericPattern).split(i)[1],\"I\"===this.type&&(e=Math.round(e)),o=e,c||\"#\"!==l.slice(-1)[0])if(r>=1e15||r>0&&r<=1e-14)e=r?r.toExponential(15).replace(/\\.?0+(?=e)/,\"\"):\"0\";else{var y=Number(e.toFixed(Math.min(20,c?c.length:0)).split(\".\")[0]),b=l.split(i)[0];if(e=fn(b+=i,y)||\"0\",c){var x=Math.max(0,Math.min(14,c.length)),q=c.replace(/#+$/,\"\").length,w=(\"I\"===this.type?0:r%1).toFixed(x).slice(2).replace(/0+$/,\"\");for(u=w.length;u<q;u++)w+=\"0\";w&&(e+=i+w)}else 0===y&&(o=0)}else if(r>=Math.pow(10,t)||r<1||r<1e-4)0===e?e=\"0\":r<1e-4||r>=1e20?(e=(e=o.toExponential(Math.max(1,Math.min(14,t))-1)).replace(/\\.?0+(?=e)/,\"\"),d=\"\"):(e=e.toPrecision(Math.max(1,Math.min(14,t)))).indexOf(\".\")>=0&&(e=(e=e.replace(e.indexOf(\"e\")<0?/0+$/:/\\.?0+(?=e)/,\"\")).replace(\".\",i));else{for(l+=i,t=Math.max(0,Math.min(20,t-Math.ceil(Math.log(r)/Math.log(10)))),u=0;u<t;u++)l+=\"#\";e=fn(l,e)}e=e.replace(s.numericRegex,(function(e){return e===a?s.groupTemp:e===i?s.decTemp:\"\"})),o<0&&!/^-/.test(e)&&(e=\"-\".concat(e))}return s.prefix+e+d+f+s.postfix}}],[{key:\"getStaticFormatter\",value:function(){return{prepare:function(){},formatValue:function(e){return\"\".concat(e)}}}}]),e}();function In(e){var t,n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=r.size,i=void 0===o?5e3:o,a=r.multipleArguments,u=void 0!==a&&a,l=r.toKey,c=void 0===l?function(e){return e}:l,s=Object.create(null),f=Object.create(null),d=0,p=0;return(t=u?function(){return n=c.apply(void 0,arguments),t.has(n)?t.get(n):t.set(n,e.apply(void 0,arguments))}:function(r){return n=c(r),t.has(n)?t.get(n):t.set(n,e(r))}).set=function(e,t){return d>=i&&(delete s[f[p]],delete f[p],d--,p++),s[e]=t,f[d]=e,d++,t},t.get=function(e){return s[e]},t.has=function(e){return e in s},t.clear=function(){s=Object.create(null),f=Object.create(null),d=0,p=0},t.size=function(){return d},t}function An(e,t,n,r,o){var i=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return mt(Sn,t)}(o,e,t,n,r),a=In(i.formatValue.bind(i),{toKey:function(e){return isNaN(e)?e:+e}});function u(e){return a(e)}return u.format=function(e,t,n,r){return a.clear(),i.format(t,e,n,r)},u.pattern=function(e){return e&&(a.clear(),i.pattern=e,i.prepare()),i.pattern},u}var On=\"D\",Nn=\"T\",En=\"TS\",Pn=\"IV\",jn=[\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\",\"Sunday\"],Tn=[\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\",\"Sun\"],Fn=[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],Ln=[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"];function Hn(e,t){for(var n=e.length;n<t;n++)e=\"0\".concat(e);return e}function zn(e){var t=e.toString().split(\".\");return t[1]?t=Number(\"0.\".concat(t[1])):0}function Rn(e,t){var n,r=function(e){var t=e,n=24*zn(t),r=60*zn(n),o=60*zn(r),i=1e3*zn(o);return{d:Math.floor(t),h:Math.floor(n),m:Math.floor(r),s:Math.floor(o),f:Math.round(i)}}(e),o=r.d,i=r.h,a=r.m,u=r.s,l=r.f,c=0;/w+|t+/gi.test(t)&&(n=new Date(Date.UTC(1899,11,30+Math.floor(e),0,0,Math.round(86400*(e-Math.floor(e))))),isNaN(n.getTime())&&(n=null)),/D+/gi.test(t)||(i+=24*o),/h+/gi.test(t)||(a+=60*i),/m+/gi.test(t)||(u+=60*a),/w+/gi.test(t)&&(c=n?n.getDay()-1:0)<0&&(c=6);var s=\"\";return n&&(s=n.getUTCHours()>=12?\"pm\":\"am\"),{year:0,month:0,day:c,date:o,h:i,m:a,s:u,f:l,t:s}}var Vn=function(){function e(t,n,r){lt(this,e);var o,i=t||{};(i.qCalendarStrings||(i.qCalendarStrings={qLongDayNames:jn,qDayNames:Tn,qLongMonthNames:Fn,qMonthNames:Ln}),this.localeInfo=i,this.locale_days=i.qCalendarStrings.qLongDayNames.slice(),this.locale_days_abbr=i.qCalendarStrings.qDayNames.slice(),this.locale_months=i.qCalendarStrings.qLongMonthNames.slice(),this.locale_months_abbr=i.qCalendarStrings.qMonthNames.slice(),n)||(n=(ft(o={},Nn,i.qTimeFmt||\"hh:mm:ss\"),ft(o,On,i.qDateFmt||\"YYYY-MM-DD\"),ft(o,En,i.qTimestampFmt||\"YYYY-MM-DD hh:mm:ss\"),o)[r]);this.pattern=n}return st(e,[{key:\"clone\",value:function(){var t=new e(this.localeInfo,this.pattern);return t.subtype=this.subtype,t}},{key:\"format\",value:function(e,t){t||(t=this.pattern?this.pattern:\"YYYY-MM-DD hh:mm:ss\"),t=t.replace(/\\[.+]|\\[|]/g,\"\");var n,r,o,i,a,u=/t+/gi.test(t);e instanceof Date?(o=u,i=(r=e).getUTCHours(),a=r.getUTCDay()-1,o&&((i%=12)||(i=12)),a<0&&(a=6),n={year:r.getUTCFullYear(),month:r.getUTCMonth(),day:a,date:r.getUTCDate(),h:i,m:r.getUTCMinutes(),s:r.getUTCSeconds(),f:r.getUTCMilliseconds(),t:r.getUTCHours()>=12?\"pm\":\"am\"}):(e<0&&(e=-e,t=\"-\".concat(t)),n=Rn(e,t));var l=function(e,t){return{\"Y+|y+\":{Y:\"\".concat(Number(\"\".concat(t.year).slice(-2))),YY:Hn(\"\".concat(t.year).slice(-2),2),YYY:Hn(\"\".concat(t.year).slice(-3),3),def:function(e){return Hn(\"\".concat(t.year),e.length)}},\"M+\":{M:t.month+1,MM:Hn(\"\".concat(t.month+1),2),MMM:e.locale_months_abbr[t.month],def:e.locale_months[t.month]},\"W+|w+\":{W:t.day,WW:Hn(\"\".concat(t.day),2),WWW:e.locale_days_abbr[t.day],def:e.locale_days[t.day]},\"D+|d+\":{D:t.date,def:function(e){return Hn(\"\".concat(t.date),e.length)}},\"h+|H+\":{h:t.h,def:function(e){return Hn(\"\".concat(t.h),e.length)}},\"m+\":{m:t.m,def:function(e){return Hn(\"\".concat(t.m),e.length)}},\"s+|S+\":{s:t.s,def:function(e){return Hn(\"\".concat(t.s),e.length)}},\"f+|F+\":{def:function(e){var n=\"\".concat(t.f),r=e.length-n.length;if(r>0)for(var o=0;o<r;o++)n+=\"0\";else r<0&&(n=n.slice(0,e.length));return n}},\"t{1,2}|T{1,2}\":{def:function(e){var n=t.t;return e[0].toUpperCase()===e[0]&&(n=n.toUpperCase()),n.slice(0,e.length)}}}}(this,n),c=[];for(var s in l)Object.prototype.hasOwnProperty.call(l,s)&&c.push(s);var f=new RegExp(c.join(\"|\"),\"g\");return t.replace(f,(function(e){var t,n,r;for(n in l)if(Object.prototype.hasOwnProperty.call(l,n)&&(t=new RegExp(n)).test(e))break;if(!t)return\"\";for(var o in l[n])if(o===e||o.toLowerCase()===e){void 0===(r=l[n][o])&&(r=l[n][o.toLowerCase()]);break}return void 0===r&&(r=l[n].def),\"function\"==typeof r&&(r=r(e)),r}))}}]),e}();function Bn(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return mt(Vn,t)}function _n(e){return new Date(Date.UTC(1899,11,30+Math.floor(e),0,0,0,Math.round(864e5*(e-Math.floor(e)))))}function Un(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"TS\",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=Bn(n,e,t),o=In(r.format.bind(r),{toKey:function(e){return\"object\"===ut(e)&&\"function\"==typeof e.getTime?e.getTime():e}});function i(e){return t!==Pn?_n(e):e}function a(e){return e=i(e),o(e)}return a.format=function(e,t){return o.clear(),t=i(t),r.format(t,e)},a.locale=function(n){return r=Bn(n,e,t),o=In(r.format.bind(r),{toKey:function(e){return\"object\"===ut(e)?e.getTime():e}}),this},a.qtype=function(e){return void 0!==e&&(t=e,o.clear()),t},a}function Kn(e,t){if(e&&e.qNumFormat&&-1!==[\"D\",\"T\",\"TS\",\"IV\"].indexOf(e.qNumFormat.qType))return Un(e.qNumFormat.qFmt,e.qNumFormat.qType,t);var n=\"#\",r=t&&void 0!==t.qThousandSep?t.qThousandSep:\",\",o=t&&void 0!==t.qDecimalSep?t.qDecimalSep:\".\",i=\"U\",a=e&&!!e.qIsAutoFormat;return e&&e.qNumFormat?(n=e.qNumFormat.qFmt||n,r=e.qNumFormat.qThou||r,o=e.qNumFormat.qDec||o,i=e.qNumFormat.qType||i,a=a&&-1===[\"M\"].indexOf(e.qNumFormat.qType)):a=!0,(a||\"U\"===i)&&(n=\"#\".concat(o,\"##A\"),i=\"U\"),An(n,r,o,i,t)}function Yn(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.meta,r=t.id,o=t.key,i=t.localeInfo,a=t.fieldExtractor,u=t.value,l=t.type,c=t.sourceField,s=u||(\"dimension\"===l?function(e){return e.qElemNo}:function(e){return e.qValue}),f=function(e){return e.qText||\"\"},d=\"dimension\"===l?\"first\":\"avg\",p=Kn(n,i),v=\"dimension\"===l?\"first\":function(e,t){return p(t)},h={id:function(){return r},key:function(){return o},raw:function(){return n},title:function(){return n.qFallbackTitle||n.label},type:function(){return l},origin:function(){return c},items:function(){return e||(e=a(h)),e},min:function(){return n.qMin},max:function(){return n.qMax},value:s,label:f,reduce:d,reduceLabel:v,formatter:function(){return p},tags:function(){return n.qTags}};return h}function $n(e,t,n,r,o){return(t[e]||[]).map((function(t,i){var a=\"\".concat(r?\"\".concat(r,\"/\"):\"\").concat(e,\"/\").concat(i),u={instance:Yn(At({id:\"\".concat(n?\"\".concat(n,\"/\"):\"\").concat(a),key:a,meta:t},o))};return u.attrDims=$n(\"qAttrDimInfo\",t,n,a,At({},o,{value:function(e){return e.qElemNo},type:\"dimension\"})),u.attrExps=$n(\"qAttrExprInfo\",t,n,a,At({},o,{value:function(e){return e.qNum},type:\"measure\"})),u.measures=$n(\"qMeasureInfo\",t,n,a,At({},o,{value:function(e){return e.qValue},type:\"measure\"})),u}))}function Wn(){var e,t,n,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},o=r.key,i=r.data,a=r.config,u=void 0===a?{}:a,l={fields:[],wrappedFields:[],allFields:[],virtualFields:[]},c=i;if(!c)throw new Error('Missing \"data\" input');if(!c.qDimensionInfo)throw new Error('The \"data\" input is not recognized as a hypercube');var s=Wn.util,f={cache:l,cube:c,localeInfo:u.localeInfo,fieldExtractor:null,pages:null,hierarchy:function(){return null},virtualFields:u.virtualFields},d={key:function(){return o},raw:function(){return c},field:function(e){return Wt(e,f)},fields:function(){return l.fields.slice()},extract:function(e){return f.extractor(e,d,l,s)},hierarchy:function(e){return f.hierarchy(e,d,l,s)},_cache:function(){return l}};\"K\"===c.qMode||\"T\"===c.qMode||!c.qMode&&c.qNodesOnDim?(f.extractor=cn,f.hierarchy=ln,f.pages=\"K\"===c.qMode?c.qStackedDataPages:c.qTreeDataPages):\"S\"===c.qMode?(f.extractor=Pt,f.pages=c.qDataPages,f.hierarchy=ln):f.extractor=function(){return[]},f.fieldExtractor=function(e){return f.extractor({field:e},d,l,s)};var p=\"S\"===c.qMode?function(e){return e.qElemNumber}:void 0,v=\"S\"===c.qMode?function(e){return e.qNum}:void 0;(e=l.wrappedFields).push.apply(e,yt($n(\"qDimensionInfo\",c,o,\"\",At({},f,{value:p,type:\"dimension\"})))),(t=l.wrappedFields).push.apply(t,yt($n(\"qMeasureInfo\",c,o,\"\",At({},f,{value:v,type:\"measure\"})))),l.fields=l.wrappedFields.map((function(e){return e.instance}));var h=function e(t){t.forEach((function(t){l.allFields.push(t.instance),e(t.measures),e(t.attrDims),e(t.attrExps)}))};return h(l.wrappedFields),(u.virtualFields||[]).forEach((function(e){var t=d.field(e.from),n=Yn(pt({meta:t.raw(),id:\"\".concat(o,\"/\").concat(e.key),sourceField:t,fieldExtractor:function(e){return f.extractor({field:e},d,l,s)},key:e.key,type:t.type(),localeInfo:f.localeInfo,value:t.value},e.override||{}));l.virtualFields.push(n)})),(n=l.allFields).push.apply(n,yt(l.virtualFields)),d}var Jn=[[\"qHyperCube\",\"qHyperCubeDef\"],[\"qTreeData\",\"qTreeDataDef\"],[\"qDimensionInfo\",\"qDimensions\"],[\"qMeasureInfo\",\"qMeasures\"],[\"qAttrDimInfo\",\"qAttributeDimensions\"],[\"qAttrExprInfo\",\"qAttributeExpressions\"]],Gn=/\\/qDimensionInfo(?:\\/(\\d+))?/,Qn=/\\/qMeasureInfo\\/(\\d+)/,Xn=/\\/qAttrDimInfo\\/(\\d+)(?:\\/(\\d+))?/,Zn=/\\/qAttrExprInfo\\/(\\d+)/,er=/\\/?qHyperCube/,tr=/\\/?qTreeData/,nr=function(e){return\"\".concat(e.substr(0,e.indexOf(\"/qHyperCubeDef\")+14))},rr=function(e){return\"\".concat(e.substr(0,e.indexOf(\"/qTreeDataDef\")+13))};function or(e,t){var n=e,r=-1,o=-1,i=\"\",a=function(e){return e};er.test(e)?(i=\"\".concat(n.substr(0,n.indexOf(\"qHyperCube\")+10)),a=nr):tr.test(e)&&(i=\"\".concat(n.substr(0,n.indexOf(\"qTreeData\")+9)),a=rr);var u=!0;if(Gn.test(e)&&(r=+Gn.exec(e)[1]),Qn.test(e)&&(o=+Qn.exec(e)[1]),Xn.test(e)){o=-1,r=0;var l=+Xn.exec(n)[2];isNaN(l)||(r=l,n=n.replace(/\\/\\d+$/,\"\")),u=!1}if(Zn.test(e)){var c=o;if(t){o=0;var s=Kt(i,t);o+=(s.qMeasureInfo||[]).length,r>-1?(o=s.qDimensionInfo.slice(0,r).reduce((function(e,t){return e+t.qAttrExprInfo.length}),o),r=-1):(o=s.qDimensionInfo.reduce((function(e,t){return e+t.qAttrExprInfo.length}),o),o=s.qMeasureInfo.slice(0,c).reduce((function(e,t){return e+t.qAttrExprInfo.length}),o)),o+=+Zn.exec(n)[1]}else r>-1?(r=-1,o=+Zn.exec(n)[1]):o+=+Zn.exec(n)[1]+1}return Jn.forEach((function(e){var t=gt(e,2),r=t[0],o=t[1];n=n.replace(r,o)})),u&&(n=a(n)),n&&\"/\"!==n[0]&&(n=\"/\".concat(n)),{measureIdx:o,dimensionIdx:r,path:n}}function ir(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2?arguments[2]:void 0,o=n.byCells,i=n.primarySource,a=[],u={},l=e.isActive(),c=!1;if(e.brushes().forEach((function(e){var t=or(e.id,r);if(\"range\"===e.type&&t.measureIdx>-1&&t.dimensionIdx>-1){var n=e.brush.ranges();n.length&&(c=!0,u.multiRangeSelectTreeDataValues||(u.multiRangeSelectTreeDataValues={path:t.path,ranges:[]}),n.forEach((function(e){return u.multiRangeSelectTreeDataValues.ranges.push({qMeasureIx:t.measureIdx,qDimensionIx:t.dimensionIdx,qRange:{qMin:e.min,qMax:e.max,qMinInclEq:!0,qMaxInclEq:!0}})})))}else{if(\"range\"===e.type&&t.measureIdx>-1){var l=e.brush.ranges();l.length&&(c=!0,u.rangeSelectHyperCubeValues||(u.rangeSelectHyperCubeValues={path:t.path,ranges:[]}),l.forEach((function(e){return u.rangeSelectHyperCubeValues.ranges.push({qMeasureIx:t.measureIdx,qRange:{qMin:e.min,qMax:e.max,qMinInclEq:!0,qMaxInclEq:!0}})})))}if(\"range\"===e.type&&t.dimensionIdx>-1){var s=e.brush.ranges();s.length&&(c=!0,u.selectHyperCubeContinuousRange||(u.selectHyperCubeContinuousRange={path:t.path,ranges:[]}),s.forEach((function(e){return u.selectHyperCubeContinuousRange.ranges.push({qDimIx:t.dimensionIdx,qRange:{qMin:e.min,qMax:e.max,qMinInclEq:!0,qMaxInclEq:!1}})})))}if(\"value\"===e.type&&t.dimensionIdx>-1)if(o)if(r&&r.qHyperCube&&(\"P\"===r.qHyperCube.qMode||\"T\"===r.qHyperCube.qMode||\"K\"===r.qHyperCube.qMode)){var f=r.qHyperCube,d=f.qNoOfLeftDims,p=f.qEffectiveInterColumnSortOrder.indexOf(t.dimensionIdx);if(u.selectPivotCells||(u.selectPivotCells={path:t.path,cells:[]}),e.id===i||!i){var v=e.brush.values().map((function(e){return+e})).filter((function(e){return!isNaN(e)}));(0===d||p>=d)&&d>-1?v.forEach((function(e){u.selectPivotCells.cells.push({qType:\"T\",qCol:e,qRow:p-d})})):v.forEach((function(e){u.selectPivotCells.cells.push({qType:\"L\",qCol:t.dimensionIdx,qRow:e})})),c=!!u.selectPivotCells.cells.length}}else u.selectHyperCubeCells||(u.selectHyperCubeCells={path:t.path,cols:[]}),u.selectHyperCubeCells.cols.push(t.dimensionIdx),e.id!==i&&(i||u.selectHyperCubeCells.values)||(u.selectHyperCubeCells.values=e.brush.values().map((function(e){return+e})).filter((function(e){return!isNaN(e)})),c=!!u.selectHyperCubeCells.values.length);else{var h=e.brush.values().map((function(e){return+e})).filter((function(e){return!isNaN(e)}));c=!!h.length,a.push({params:[t.path,t.dimensionIdx,h,!1],method:\"selectHyperCubeValues\"})}}})),!c&&l)return[{method:\"resetMadeSelections\",params:[]}];u.rangeSelectHyperCubeValues&&a.push({method:\"rangeSelectHyperCubeValues\",params:[u.rangeSelectHyperCubeValues.path,u.rangeSelectHyperCubeValues.ranges,[],null===(t=n.orMode)||void 0===t||t]});return u.selectHyperCubeContinuousRange&&a.push({method:\"selectHyperCubeContinuousRange\",params:[u.selectHyperCubeContinuousRange.path,u.selectHyperCubeContinuousRange.ranges]}),u.selectHyperCubeCells&&a.push({method:\"selectHyperCubeCells\",params:[u.selectHyperCubeCells.path,u.selectHyperCubeCells.values,u.selectHyperCubeCells.cols]}),u.selectPivotCells&&a.push({method:\"selectPivotCells\",params:[u.selectPivotCells.path,u.selectPivotCells.cells]}),u.multiRangeSelectTreeDataValues&&a.push({method:\"multiRangeSelectTreeDataValues\",params:[u.multiRangeSelectTreeDataValues.path,u.multiRangeSelectTreeDataValues.ranges]}),a}function ar(e){Wn.util=e.data(\"matrix\").util,e.data(\"q\",Wn),e.formatter(\"q-number\",An),e.formatter(\"q-time\",Un)}function ur(e){var t=Je(e.layout||{},e.path.split(\"/\").join(\".\"));if(!t)return!1;var n=t.qIsOneAndOnlyOne;return void 0!==n&&n}function lr(e){var t,n,r,o=e.selections,i=e.picassoSelections,a=e.layout,u={lockedDimensions:[],singleSelectDimensions:[]};null!=o&&null!==(t=o.isModal)&&void 0!==t&&t.call(o)&&o.confirm(),i.layout(a);var l=(null!==(n=null==a?void 0:a.qHyperCube)&&void 0!==n?n:{}).qDimensionInfo,c=void 0===l?[]:l;return u.lockedDimensions=c.map((function(e){return!!e.qLocked})),u.singleSelectDimensions=c.map((function(e,t){return ur({layout:a,path:\"qHyperCube/qDimensionInfo/\".concat(t)})})),u.singleSelectIndex=function(e){var t,n=((null==e?void 0:e.qHyperCube)||{}).qDimensionInfo,r=void 0===n?[]:n;return null!==(t=r.map((function(e,t){var n;return!(e.qLocked||(null===(n=e.qCardinalities)||void 0===n?void 0:n.qHypercubeCardinal)<=1)&&t})).filter((function(e){return\"number\"==typeof e}))[0])&&void 0!==t?t:Math.max(r.length-1,0)}(a),u.canSelect=0===c.length||c.some((function(e){return!e.qLocked})),u.dimensionLocked=!(null===(r=c[0])||void 0===r||!r.qLocked),u}function cr(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];if(null==t||!t.length)return!1;var n=t.filter((function(t){return\"object\"===e(t.data)&&Array.isArray(t.data.fields)})).every((function(e){return e.data.fields.every((function(e){var t=e.raw();return!(!t.qLocked&&t.qCardinal)}))}));return n}function sr(e){var t=e.brush,n=e.colorField,r=e.legendAlias,o=e.useLegendCube,i=void 0!==o&&o;!n||/qAttrDimInfo/.test(n)?(t.removeKeyAlias(\"attrDim/qDimensionInfo/0\"),r&&t.removeKeyAlias(r),t.addKeyAlias(\"attrDim/qDimensionInfo/0\",\"qHyperCube/\".concat(n))):i&&t.addKeyAlias(r,\"qHyperCube/\".concat(n))}ar.qBrushHelper=ir,ar.selections=ir;var fr=\"Enter\",dr=\"Escape\",pr=\"Esc\",vr=\"Shift\";function hr(e){var t=e.brush,n=e.getConfig;return{interceptor:function(e){var r=t.brushes(),o=n(),i=o.allowSimultaneous,a=o.layout,u=void 0===a?{}:a;r.forEach((function(n){var r,o,a;(\"range\"===n.type||null!==(r=e[0])&&void 0!==r&&r.key&&(null===(o=e[0])||void 0===o?void 0:o.key)!==n.id&&0!==i.indexOf(null===(a=e[0])||void 0===a?void 0:a.key))&&t.clear([])}));var c=e.filter((function(e){return-2!==e.value}));return c.length>1?function(e){var t=e.layout,n=void 0===t?{}:t,r=e.values,o=void 0===r?[]:r;if(null==o||!o.length)return[];var i=Array.from(new Set(o.map((function(e){return e.key})))),a=[];return i.forEach((function(e){var t=ur({layout:n,path:e}),r=o.filter((function(t){return t.key===e})),i=t?[r.pop()]:r;a.push.apply(a,l(i))})),a.filter(Boolean)}({layout:u,values:c}):c},rangeInterceptor:function(e){var r=t.brushes(),o=n().allowSimultaneous;return r.filter((function(e){return\"value\"===e.type})).length?(t.clear([]),e):(r.forEach((function(n){var r=n.id===e[0].key||o.includes(n.id)&&o.includes(e[0].key);\"range\"!==n.type||r||t.clear([])})),e)}}}var mr=[],gr=0,yr=function(e){var t=mr.filter((function(e){var t;return null===(t=e.selections)||void 0===t?void 0:t.isActive()}));t.length&&(e.key===fr?t.forEach((function(e){return e.selections.confirm()})):e.key!==dr&&e.key!==pr||t.forEach((function(e){return e.selections.cancel()})))},br=function(){document.addEventListener(\"keyup\",yr)},xr=function(){document.removeEventListener(\"keyup\",yr)},qr=function(e,t){Object.keys(t).forEach((function(n){e.on(n,t[n])}))},wr=function(e,t){Object.keys(t).forEach((function(n){e.removeListener(n,t[n])}))};function kr(e,t,n){if(t&&void 0!==n&&\"selectHyperCubeContinuousRange\"===e.method){var r=e.params;if(r&&r[1]&&r[1][0]){var o=r[1][0],i=o.qDimIx,a=o.qRange;\"undefined\"!==i&&a&&!1===a.qMaxInclEq&&a.qMax>=n&&(a.qMaxInclEq=!0)}}}function Dr(e){var t=e.chart,n=e.document,r=e.selectionInfo,o=e.eventName,i=e.componentName,a=e.brushName,u=void 0===a?\"selection\":a,l=e.emit,c=void 0===l?\"rangeClear\":l,s=r.event===o,f=n.querySelector(\"[data-key='\".concat(i,\"-edge-0']\"));if(s||!f)return!1;var d=t.component(i);return!!d&&(d.emit(c),\"string\"==typeof u&&t.brush(u).clear(),d)}function Cr(e){var t=e.selectionInfo,n=e.chart,r=e.document,o=e.eventName,i=void 0===o?\"discreteRange\":o,a=e.componentName,u=void 0===a?\"discrete-range-brush\":a,l=e.cleared;return Dr({selectionInfo:t,chart:n,document:r,eventName:void 0!==l&&l?void 0:i,componentName:u,emit:\"areaClear\",brushName:e.brushName})}function Mr(e){var t=e.selectionInfo,n=e.chart,r=e.document,o=e.eventName,i=void 0===o?\"continuousRange\":o,a=e.componentName,u=void 0===a?\"continuous-range-brush\":a,l=e.cleared;return Dr({selectionInfo:t,chart:n,document:r,eventName:void 0!==l&&l?void 0:i,componentName:u,brushName:e.brushName})}function Sr(e){var t=e.selectionInfo,n=e.chart,r=e.document,o=e.componentName,i=void 0===o?\"minor-range-brush\":o,a=e.eventName,u=void 0===a?\"minorRange\":a,l=e.cleared,c=void 0!==l&&l,s=e.brushName,f=Dr({selectionInfo:t,chart:n,document:r,eventName:c?void 0:u,componentName:i,brushName:void 0!==s&&s});if(f){var d=f.settings.settings,p=d.scale,v=d.brush,h=n.scale(p).data().fields.map((function(e){return e.id()})),m=n.brush(v),g=m.brushes().filter((function(e){return\"range\"===e.type&&h.some((function(t){return t===e.id}))}));m&&g.length&&g.forEach((function(e){m.removeRanges(e.brush.ranges().map((function(t){return{key:e.id,range:t}})))}))}}function Ir(e){var t=e.selectionInfo,n=e.chart,r=e.document,o=e.selections,i=e.eventName,a=void 0===i?\"xAxis\":i,u=e.cleared;Dr({selectionInfo:t,chart:n,document:r,eventName:void 0!==u&&u?void 0:a,componentName:\"\".concat(a,\"-range-brush\"),emit:\"areaClear\",brushName:!1})&&o.clear()}function Ar(e){var t=e.chart,n=e.selectionInfo,r=e.selections,o=e.events,i=void 0===o?[\"tap\"]:o,a=e.brushNames,u=void 0===a?[]:a;if(n&&i.includes(n.event)){var l=n.currentComponent;n.previousComponent!==l&&(r.clear(),u.forEach((function(e){return t.brush(e).end()})))}}function Or(e){var t=e.selectionInfo,n=e.chart,r=e.document,o=e.selections,i=e.eventName,a=void 0===i?\"legendRange\":i,u=e.componentName,l=void 0===u?\"legend-range-brush\":u,c=e.cleared,s=void 0!==c&&c,f=e.brushName;Dr({selectionInfo:t,chart:n,document:r,eventName:s?void 0:a,componentName:l,brushName:void 0!==f&&f})&&o.clear()}var Nr=function(e){e.chart,e.document,e.selections,e.selectionInfo;var t=a(e,[\"chart\",\"document\",\"selections\",\"selectionInfo\"]);t.clearDiscrete(),t.clearContinuous(),t.clearMinor(),t.clearRange(),t.clearTap(),t.clearLegend()};function Er(e){var t=e.selectionEvents,n=e.selections,r=e.selectionInfo,o=e.clear,a=e.chart,u=e.document,l=t.start,c={selections:n,selectionInfo:r,chart:a,document:u},s=function(e){return Object.assign(r,e||{})},f=function(e){var t=e.event,n=e.components;return function(){return function(e){var t=e.selectionInfo,n=void 0===t?{}:t,r=e.setSelectionInfo,o=e.clear,a=e.event,u=e.components,l=void 0===u?[]:u;r(i(i({},n),{},{event:a,components:l.map((function(e){return e.key})).filter(Boolean)})),o()}({event:t,components:n,clear:o,chart:a,selectionInfo:r,setSelectionInfo:s})}};return\"function\"==typeof l?function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];l(i(i({defaultFunc:f({event:e,components:t}),setSelectionInfo:s,clear:o},c),{},{event:e,components:t}))}:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];f({event:e,components:t})()}}function Pr(e){var t,n=e.lasso;null!=n&&null!==(t=n.active)&&void 0!==t&&t.call(n)&&(null==n||n.action(!1))}function jr(e){var t,n=e.chart,r=e.selectionInfo,o=e.selectionActions,a=e.actions,l=void 0===a?{}:a,c=e.selections,s=e.selectionEvents;if(!1===o||!1===s)return function(){};var f=(l||{}).lasso,d=void 0!==f&&f,p=o.reset,v=void 0===p?Pr:p,h=o.clear,m=!1!==h&&function(e){var t=e.clear,n=void 0===t?Nr:t,r=e.selections,o=e.selectionInfo,a=e.chart;return function(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).cleared,t={selections:r,selectionInfo:o,chart:a,document:document,cleared:e};return n(i({clearDiscrete:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return Cr(i(i({},t),e))},clearContinuous:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return Mr(i(i({},t),e))},clearMinor:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return Sr(i(i({},t),e))},clearRange:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return Ir(i(i({},t),e))},clearTap:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return Ar(i(i({},t),e))},clearLegend:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return Or(i(i({},t),e))}},t))}}({clear:h,selections:c,selectionInfo:r,chart:n}),g=function(e){var t=e.chart,n=e.lasso,r=e.reset,o=e.clear,i=!1,a={deactivated:function(e){r({e:e,lasso:n})},canceled:function(e){r({e:e,lasso:n}),o({e:e,chart:t,document:document})},cleared:function(e){i||(i=!0,o({e:e,chart:t,document:document,cleared:!0}),i=!1)}};return!1===r&&delete a.deactivated,!1===o&&delete a.cleared,!1===r&&!1===o&&delete a.canceled,a}({chart:n,clear:m,reset:v,lasso:d}),y={};Object.entries(g).forEach((function(e){var t=u(e,2),n=t[0],r=t[1];y[n]=function(e,t){return t?function(n){return t({event:n,defaultFunc:e})}:e}(r,s[n])}));var b=Er({selectionEvents:s,selections:c,selectionInfo:r,clear:m,chart:n,document:document});return null==l||null===(t=l.select)||void 0===t||t.on(\"start\",b),Object.entries(y).forEach((function(e){var t=u(e,2),n=t[0],r=t[1];null==c||c.on(n,r)})),function(){var e;null==l||null===(e=l.select)||void 0===e||e.removeListener(\"start\",b),Object.entries(y).forEach((function(e){var t=u(e,2),n=t[0],r=t[1];null==c||c.removeListener(n,r)}))}}function Tr(e){var t=e.chart,n=e.selectionActions,r=e.brush,o=e.actions,i=e.selectionInfo,a=e.selections,l=e.selectionEvents,c=function(e){var t=e.brush,n=e.chart,r=e.selectionInfo,o=e.brushEvents,i=void 0===o?{}:o,a=Object.entries(i).map((function(e){var o=u(e,2),i=o[0],a=o[1],l=function(){return a({chart:n,selectionInfo:r})};return t.on(i,l),[i,l]}));return function(){a.forEach((function(e){var n=u(e,2),r=n[0],o=n[1];t.removeListener(r,o)}))}}({brush:r,chart:t,selectionInfo:i,brushEvents:e.brushEvents}),s=jr({chart:t,selectionInfo:i,selectionActions:n,actions:o,selections:a,selectionEvents:l}),f=function(e){var t=e.actions;if(null==t||!t.lasso)return function(){};var n=!1,r=function(e){n||e.key!==vr||(t.lasso.action(!0),n=!0)},o=function(e){e.key===vr&&(t.lasso.action(!1),n=!1)};return document.addEventListener(\"keydown\",r),document.addEventListener(\"keyup\",o),function(){document.removeEventListener(\"keydown\",r),document.removeEventListener(\"keyup\",o)}}({actions:o});return function(){c(),s(),f()}}var Fr=[{key:\"qHyperCube/qDimensionInfo/0:numeric\",includeMax:!1}];function Lr(e){var t=e.chart,n=e.actions,r=e.selections,o=e.picassoQ,i=e.config,a=i.allowSimultaneous,c=void 0!==a&&a,s=i.majorScale,f=void 0===s?void 0:s,d=i.selectionActions,p=(d=void 0===d?{}:d).clear,v=d.reset,h=i.selectionEvents,m=void 0===h?{deactivated:void 0,canceled:void 0,cleared:void 0,start:void 0}:h,g=i.brushEvents,y=void 0===g?{}:g,b=i.brushName,x=void 0===b?\"selection\":b,q=i.brushMaxListeners,w=void 0===q?20:q,k=i.brushRanges,D=void 0!==k&&k,C=i.interceptors,M=void 0===C?{}:C,S=i.selectionsFn,I=void 0===S?o.selections:S,A=t.brush(x);if(\"number\"==typeof w&&A.setMaxListeners(w),D){var O=!0===D?Fr:D;A.configure({ranges:O})}var N={canSelect:!0,getIsSelectionLocked:!1,isInnerDimensionLocked:!1,lockedDimensions:[],singleSelectIndex:0,singleSelectDims:[],selectionInfo:{colorField:void 0,components:[],event:void 0,currentComponent:void 0,previousComponent:void 0}},E=function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.selections,r=t.brush,o=t.majorScale,i=t.actions,a=t.selectionsFn,u=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).path,l=void 0===u?\"/qHyperCubeDef\":u;if(!n)return{layout:function(){},allowSimultaneous:function(){},release:function(){}};var c=++gr,s=null,f=[],d={};n.on=n.on.bind(n),n.isActive=n.isActive.bind(n),n.addListener=n.addListener.bind(n),n.removeListener=n.removeListener.bind(n);var p=hr({brush:r,getConfig:function(){return{layout:s,allowSimultaneous:f}}}),v=p.rangeInterceptor,h=p.interceptor;r.intercept(\"set-ranges\",v),r.intercept(\"toggle-ranges\",v),r.intercept(\"toggle-values\",h),r.intercept(\"set-values\",h),r.intercept(\"add-values\",h),r.on(\"start\",(function(){return n.begin(l)}));var m={activate:function(){},deactivated:function(){return r.end()},cleared:function(){return r.clear()},canceled:function(){return r.end()}};qr(n,m);var g=null==o||null===(e=o.max)||void 0===e?void 0:e.call(o);return null!=i&&i.select?(i.select.on(\"start\",(function(){var e;r.start(),\"function\"==typeof i.select.getBrushOptions&&(d=(e=i.select).getBrushOptions.apply(e,arguments))})),i.select.on(\"end\",(function(){a(r,d,s).forEach((function(e){kr(e,i.select.brushSelectionIncludeMax,g),n.select(e)}))}))):r.on(\"update\",(function(){a(r,d,s).forEach((function(e){return n.select(e)}))})),0===mr.length&&br(),mr.push({key:c,selections:n}),{layout:function(e){s=e},allowSimultaneous:function(e){f=e},release:function(){s=null;var e=mr.indexOf(mr.filter((function(e){return e.key===c}))[0]);-1!==e&&mr.splice(e,1),mr.length||xr(),wr(n,m)}}}({brush:A,majorScale:f,actions:n,selections:r,picassoQ:o,selectionsFn:I});!function(e){var t=e.brush,n=e.interceptors,r=void 0===n?{}:n;Object.entries(r).forEach((function(e){var n=u(e,2),r=n[0],o=n[1];(Array.isArray(o)?o:[o]).forEach((function(e){t.intercept(r,e)}))}))}({brush:A,interceptors:M});var P=Tr({chart:t,brush:A,actions:n,selections:r,selectionInfo:N.selectionInfo,selectionActions:{clear:p,reset:v},selectionEvents:m,brushEvents:y});if(c){var j=!0===c?l(Array(15)).map((function(e,t){return\"qHyperCube/qMeasureInfo/\".concat(t)})):c;E.allowSimultaneous(j)}return{unbindEvents:P,state:N,picassoSelections:E,brush:A}}function Hr(e){var t=e.chart,n=e.selections,r=e.actions,o=void 0!==r&&r,u=e.config,l=void 0===u?{}:u,c=Lr({chart:t,actions:o,selections:n,picassoQ:ar,config:l}),s=c.unbindEvents,f=c.state,d=c.picassoSelections,p=c.brush,v=l.custom,h=void 0===v?{}:v,m=l.legendAlias,g=void 0===m?void 0:m,y=l.setBrushAliases,b=void 0===y?sr:y;return{getIsDimensionLocked:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return f.lockedDimensions[e]},getIsSelectionLocked:function(){var e,t,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return null!==(e=null==n||null===(t=n.isLocked)||void 0===t?void 0:t.call(n))&&void 0!==e?e:cr(r)},getIsSingleSelect:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:f.singleSelectIndex;return f.singleSelectDimensions[e]},getCanSelect:function(){return f.canSelect},getSelectionInfo:function(){return f.selectionInfo},setLayout:function(e){var t=lr({selections:n,picassoSelections:d,layout:e});Object.assign(f,t)},setBrushAliases:function(e){var t=e.colorField,n=e.useLegendCube,r=void 0!==n&&n,o=a(e,[\"colorField\",\"useLegendCube\"]),u=i({useLegendCube:r,colorField:t,brush:p,legendAlias:g},o);b(i(i({},u),{},{defaultFunc:function(){return sr(u)}}))},destroy:function(){s(),d.release()},custom:i({},h)}}var zr=\"QlikView Sans, sans-serif\",Rr=\"#333333\",Vr=\"#595959\",Br=\"#737373\",_r=\"#cccccc\",Ur=\"#e6e6e6\";function Kr(e){var t={};return[].concat(l(e),l([[\"\",\"\",\"color\"],[\"object\",\"axis.title\",\"fontFamily\",zr],[\"object\",\"axis.title\",\"fontSize\",\"13px\"],[\"object\",\"axis.title\",\"color\"],[\"object\",\"axis.label.name\",\"fontFamily\",zr],[\"object\",\"axis.label.name\",\"fontSize\",\"12px\"],[\"object\",\"axis.label.name\",\"color\",Vr],[\"object\",\"axis.line.major\",\"color\",_r],[\"object\",\"axis.line.minor\",\"color\",Ur],[\"object\",\"grid.line.major\",\"color\",_r],[\"object\",\"grid.line.minor\",\"color\",Ur],[\"object\",\"grid.line.highContrast\",\"color\",Ur],[\"object\",\"referenceLine.label.name\",\"fontFamily\",zr],[\"object\",\"referenceLine.label.name\",\"fontSize\",\"12px\"],[\"object\",\"referenceLine.label.name\",\"color\",Rr],[\"object\",\"referenceLine.outOfBounds\",\"fontFamily\",zr],[\"object\",\"referenceLine.outOfBounds\",\"fontSize\",\"12px\"],[\"object\",\"referenceLine.outOfBounds\",\"color\",Ur],[\"object\",\"referenceLine.outOfBounds\",\"backgroundColor\",Br,function(e){return\"transparent\"===e?Br:e}]])).reduce((function(e,n){var r=\"\".concat(n[0],\"-\").concat(n[1],\"-\").concat(n[2],\"}\");return t[r]||(t[r]=!0,e.push(n)),e}),[]).sort((function(e,t){return(e[0].split?e[0].split(\".\").length:0)-(t[0].split?t[0].split(\".\").length:0)}))}function Yr(e,t){var n={};return e.forEach((function(e){var r=u(e,5),o=r[0],i=r[1],a=r[2],l=r[3],c=r[4],s=(void 0===c?function(e){return e}:c)(function(e,t,n,r){var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:void 0;if(!e||!1===t)return o;var i=e.getStyle(t,n,r);return void 0===i?o:i}(t,o,i,a,l));Ge(n,[i,a].filter(Boolean).join(\".\"),s)})),n}function $r(e){var t=e.theme,n=e.styleMatrix,r={theme:t,styleMatrix:Kr(void 0===n?[]:n),styles:void 0};return r.styles=Yr(r.styleMatrix,t),{getStyles:function(){return r.styles},getTheme:function(){return r.theme},setTheme:function(e){r.theme=e,r.styles=Yr(r.styleMatrix,e)}}}var Wr={NOOP:function(){},FALSE:function(){return!1},ARRAY:function(){return[]},OBJECT:function(){return{}}};var Jr=\"chart-modules-tooltip\",Gr=\"#\".concat(Jr);function Qr(){if(!document.querySelector(Gr)){var e=document.createElement(\"div\");e.id=Jr,e.style.overflow=\"hidden\",e.style.position=\"fixed\",e.style.pointerEvents=\"none\",e.style.left=\"0px\",e.style.top=\"0px\",e.style.width=\"100%\",e.style.height=\"100%\",e.style.zIndex=1020,document.body.appendChild(e)}}function Xr(e){return{show:!0,key:e.key,type:\"tooltip\",layout:{displayOrder:3},beforeMount:function(){Qr()},beforeUpdate:function(){Qr()},destroyed:function(){var e;null!=(e=document.querySelector(Gr))&&e.parentElement&&e.childElementCount<1&&e.parentElement.removeChild(e)},settings:{appendTo:function(){return document.querySelector(Gr)},direction:e.rtl?\"rtl\":\"ltr\"},style:{arrow:{color:\"#404040\"},content:{display:\"table\",\"border-spacing\":\"4px\",background:\"rgba(64, 64, 64, 0.9)\",opacity:\"1\",fontSize:\"13px\",fontFamily:\"QlikView Sans, sans-serif\",\"empty-cells\":\"show\"},cell:{\"max-width\":\"180px\",\"word-break\":\"break-word\",\"word-wrap\":\"break-word\",\"overflow-wrap\":\"break-word\",hyphens:\"auto\"}}}}var Zr={bar:\"rect\",diamond:\"path\",point:\"circle\",square:\"rect\",triangle:\"path\",\"n-polygon\":\"path\",slice:\"path\"},eo=function(e){return e.data.value},to=function(e){var t,n=e.data;return null==n||null===(t=n.major)||void 0===t?void 0:t.value};function no(e){var t=e.chart,n=e.nodes,r=e.collectConfig,o=e.collectibles,i=e.triggerer,a=r.from,c={chart:t,nodes:n,collectConfig:r,collectibles:o,triggerer:i};switch(\"function\"==typeof a?\"custom\":a){case\"single\":return function(e){var t=u(e.nodes,1)[0];return[\"container\"===t.type&&t.children[0]||t]}(c);case\"position\":return function(e){return e.nodes}(c);case\"dimension\":return function(e){var t=e.chart,n=e.nodes,r=e.collectConfig,o=e.collectibles,i=u(n,1)[0],a=r.filter,c=\"function\"==typeof a?a:function(){return!0},s=r.by,f=void 0===s?eo:s;return o.reduce((function(e,n){var r=n.major,o=void 0===r?to:r,a=Zr[n.type]||n.type;return e.push.apply(e,l(t.findShapes(a).filter((function(e){return e.key===n.key&&e.data&&o({data:e.data})===f({data:i.data})})))),e}),[]).filter(c)}(c);case\"radius\":return function(e){var t=e.chart,n=e.nodes,r=e.collectConfig,o=e.collectibles,i=u(n,1)[0].localBounds,a=r.distance,l=r.filter,c=\"function\"==typeof l?l:function(){return!0},s=o.map((function(e){return e.key})),f=u(s,1)[0],d=t.component(f).rect,p=d.scaleRatio,v=d.computedInner,h=i.width*p.x,m=i.height*p.y,g=i.x*p.x+h/2+v.x,y=i.y*p.y+m/2+v.y,b=void 0===a?Math.max(h,m):a;return t.shapesAt({cx:g,cy:y,r:b},{components:s.map((function(e){return{key:e}}))}).filter((function(e){return c({data:e.data})}))}(c);case\"custom\":return function(e){var t=e.chart,n=e.nodes,r=e.collectConfig,o=e.triggerer;return r.from({chart:t,nodes:n,meta:{triggerer:o}})}(c);default:return[]}}var ro=Number.MAX_VALUE;function oo(e){var t=e.nodes.reduce((function(e,t){var n=t.bounds;return e.xMin=Math.min(e.xMin,n.x,n.x+n.width),e.yMin=Math.min(e.yMin,n.y,n.y+n.height),e.xMax=Math.max(e.xMax,n.x,n.x+n.width),e.yMax=Math.max(e.yMax,n.y,n.y+n.height),e}),{xMin:ro,xMax:-ro,yMin:ro,yMax:-ro}),n=t.xMin,r=t.xMax,o=t.yMin;return{x:n,y:o,width:r-n,height:t.yMax-o}}function io(e){var t=e.chart,n=e.config,r=e.placementConfig,o=e.hovered,i=e.collected,a=e.triggerer,l=function(e){for(var t=e.chart,n=e.config,r=e.placementConfig,o=e.hovered,i=e.collected,a=u(o,1)[0],l=Array.isArray(r)?r:[r],c={bounds:a.bounds,key:a.key},s=0;s<l.length;s++){var f=l[s];if(\"function\"==typeof f){var d=f({chart:t,node:a,nodes:i});if(d)return d}if(\"trigger\"===f)return c;if(\"collectible\"===f){var p=n.main.placements.collectible;return{bounds:\"function\"==typeof p?p({nodes:i}):oo({nodes:i}),key:i[0].key}}}return c}({chart:t,config:n,placementConfig:r,hovered:o,collected:i}),c=l.bounds,s=l.key,f=u(i,1)[0].desc;return[{bounds:c,nodes:i,data:i.map((function(e){return e.data})),key:s,meta:{triggerer:a},desc:f}]}function ao(e){var t=e.chart,n=e.config,r=e.nodes;if(!r.length)return[];var o=u(r,1)[0].key,i=n.main.collectibles;if(!i.length)return[];var a=n.main.triggers.find((function(e){return-1!==e.keys.indexOf(o)}))||{},l=a.collect,c=a.placement;if(!l||!l.from||!c)return[];var s=no({chart:t,nodes:r,collectConfig:l,collectibles:i,triggerer:o}).map((function(e){return e.children.length?e.children[0]:e}));return s.length?io({chart:t,config:n,placementConfig:c,hovered:r,collected:s,triggerer:o}):[]}var uo=\"[־׀׃׆א-״߀-ߪߴ-ߵߺ-ࠕࠚࠤࠨ࠰-ࡘ࡞יִײַ-ﬨשׁ-ﭏ]\",lo=\"[؈؋؍؛-ي٭-ٯٱ-ەۥ-ۦۮ-ۯۺ-܍ܐܒ-ܯݍ-ޥޱﭐ-ﴽﵐ-﷼ﹰ-ﻼ]\",co=new RegExp(\"[A-Za-zªµºÀ-ÖØ-öø-ʸʻ-ˁː-ˑˠ-ˤˮͰ-ͳͶ-ͽΆΈ-ϵϷ-҂Ҋ-։ः-हऻऽ-ीॉ-ौॎ-ॐक़-ॡ।-ॿং-হঽ-ীে-ৌৎ-ৡ০-ৱ৴-৺ਃ-ਹਾ-ੀਖ਼-੯ੲ-ੴઃ-હઽ-ીૉ-ૌૐ-ૡ૦-૯ଂ-ହଽ-ାୀେ-ୌୗ-ୡ୦-୷ஃ-ிு-ௌௐ-௲ఁ-ఽు-ౄౘ-ౡ౦-౯౿-ಹಽ-ೋೕ-ೡ೦-ീെ-ൌൎ-ൡ൦-ෆා-ෑෘ-ะา-ำเ-ๆ๏-ະາ-ຳຽ-ໆ໐-༗༚-༴༶༸༾-ཬཿ྅ྈ-ྌ྾-࿅࿇-ာေးျ-ြဿ-ၗၚ-ၝၡ-ၰၵ-ႁႃ-ႄႇ-ႌႎ-ႜ႞-ፚ፠-ᎏᎠ-Ᏼᐁ-ᙿᚁ-ᚚᚠ-ᜑᜠ-ᜱ᜵-ᝑᝠ-ᝰក-ាើ-ៅះ-ៈ។-៚ៜ០-៩᠐-ᢨᢪ-ᤜᤣ-ᤦᤩ-ᤱᤳ-ᤸ᥆-᧚ᨀ-ᨖᨙ-ᩕᩗᩡᩣ-ᩤᩭ-ᩲ᪀-᪭ᬄ-ᬳᬵᬻᬽ-ᭁᭃ-᭪᭴-᭼ᮂ-ᮡᮦ-ᮧ᮪-ᯥᯧᯪ-ᯬᯮ᯲-ᰫᰴ-ᰵ᰻-᱿᳓᳡ᳩ-ᳬᳮ-ᶿḀ-ᾼιῂ-ῌῐ-Ίῠ-Ῥῲ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎ-⅏Ⅰ-ↈ⌶-⍺⎕⒜-ⓩ⚬⠀-⣿Ⰰ-ⳤⳫ-ⳮⴀ-⵰ⶀ-ⷞ々-〇〡-〩〱-〵〸-〼ぁ-ゖゝ-ゟァ-ヺー-ㆺㇰ-㈜㈠-㉏㉠-㉻㉿-㊰㋀-㋋㋐-㍶㍻-㏝㏠-㏾㐀-䶵一-ꒌꓐ-ꘌꘐ-ꙮꚀ-ꛯ꛲-꛷Ꜣ-ꞇ꞉-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠤꠧ꠰-꠷ꡀ-ꡳꢀ-ꣃ꣎-꣙ꣲ-ꤥ꤮-ꥆꥒ-ꥼꦃ-ꦲꦴ-ꦵꦺ-ꦻꦽ-ꨨꨯ-ꨰꨳ-ꨴꩀ-ꩂꩄ-ꩋꩍ-ꪯꪱꪵ-ꪶꪹ-ꪽꫀꫂ-ꯤꯦ-ꯧꯩ-꯬꯰-ﬗA-Za-zヲ-ᅵ]\"),so=new RegExp(uo),fo=new RegExp(lo),po=function(e){return co.test(e)},vo=function(e){return so.test(e)||fo.test(e)};function ho(e){for(var t=e?e.length:0,n=0;n<t;n++){var r=e[n];if(po(r))return\"ltr\";if(vo(r))return\"rtl\"}return\"ltr\"}function mo(e){var t=e.visibility;return{type:\"divider\",content:[{content:\"\",style:{\"background-image\":\"linear-gradient(transparent 8px, rgba(255, 255, 255, 0.4) 8px, rgba(255, 255, 255, 0.4) 9.2px, transparent 9.2px)\",height:\"17px\"},colspan:2}],visibility:i(i({},{count:!1}),t)}}function go(e){var t=e.config,n=e.h,r=e.context,o=e.nodes,a=e.property,l=e.filter,c=e.visibility,s=t.rtl,f={type:\"color\",label:void 0,value:void 0,content:[],filter:l,visibility:i(i({},{count:!0}),c)},d=t.getColorSettings();if(\"color\"===d.type||!d.fieldType)return f;var p=u(o,1)[0];if(f.value=function(e){var t=e.config,n=e.context,r=e.property,o=e.node.data[r];if(o){var i=n.resources.dataset(o.source.key).field(o.source.field).formatter(),a=o.value,u=o.label,l=t.getColorSettings();if(i&&\"measure\"===l.fieldType)return Number.isNaN(+a)?\"-\":i(o.value);var c=u||a;return void 0===c||Number.isNaN(c)||\"NaN\"===c?\"-\":c}}({config:t,context:r,property:a,node:p}),void 0===f.value)return f;f.label=function(e){var t=e.config,n=e.context,r=e.property,o=e.node,i=t.getColorSettings();if(i.label)return i.label;var a=o.data[r];if(a&&\"color\"!==i.type){var u=n.resources.dataset,l=a.source,c=l.key,s=l.field;return u(c).field(s).title()}}({config:t,context:r,property:a,node:p});var v=n(\"div\",{style:{display:\"inline-block\",width:10,height:10,\"background-color\":function(e){var t=e.node.attrs;return(null==t?void 0:t.fill)||\"#ddd\"}({node:p}),margin:\"0 8px\"}});return f.content.push({content:s?[\":\",f.label]:[f.label,\":\"],style:{\"text-align\":s?\"right\":\"left\",direction:ho(f.label)}},{content:s?[f.value,v]:[v,f.value],style:{\"text-align\":s?\"left\":\"right\",\"vertical-align\":\"middle\",direction:ho(f.value)}}),f}function yo(e){var t=e.config,n=e.h,r=e.context;return{section:function(e){return function(e){return{type:\"section\",content:e.content}}({content:e.content})},text:function(e){var n=e.value,r=e.style,o=e.visibility;return function(e){var t=e.config,n=e.value,r=e.style,o=(r=void 0===r?{}:r).bold,a=void 0!==o&&o,u=r.italic,l=void 0!==u&&u,c=e.visibility;return{type:\"text\",content:[{content:n,style:{\"font-weight\":a?\"bold\":\"normal\",\"font-style\":l?\"italic\":\"normal\",\"text-align\":t.rtl?\"right\":\"left\",direction:ho(n)},colspan:2}],visibility:i(i({},{count:!0}),c)}}({config:t,value:n,style:r,visibility:o})},measure:function(e){var n=e.label,r=e.value,o=e.style,a=e.survive,u=e.visibility;return function(e){var t,n,r,o,a=e.config,u=e.label,l=e.value,c=e.style,s=e.survive,f=e.visibility,d=a.rtl;return{type:\"measure\",label:u,value:l,content:[{content:d?[\":\",u]:[u,\":\"],style:{\"text-align\":d?\"right\":\"left\",\"font-weight\":null!=c&&null!==(t=c.label)&&void 0!==t&&t.bold?\"bold\":\"normal\",\"font-style\":null!=c&&null!==(n=c.label)&&void 0!==n&&n.italic?\"italic\":\"normal\",direction:ho(u)}},{content:l,style:{\"text-align\":d?\"left\":\"right\",\"vertical-align\":\"middle\",\"font-weight\":null!=c&&null!==(r=c.value)&&void 0!==r&&r.bold?\"bold\":\"normal\",\"font-style\":null!=c&&null!==(o=c.value)&&void 0!==o&&o.italic?\"italic\":\"normal\",direction:ho(l)}}],survive:i(i({},{color:!1,duplicate:!1}),s),visibility:i(i({},{count:!0}),f)}}({config:t,label:n,value:r,style:o,survive:a,visibility:u})},divider:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.visibility;return mo({visibility:t})},row:function(e){return function(e){var t=e.content,n=e.style,r=e.colspan,o=e.visibility;return{type:\"row\",content:[{content:t,style:n,colspan:r}],visibility:i(i({},{count:!0}),o)}}({content:e.content,style:e.style,colspan:e.colspan,visibility:e.visibility})},raw:function(e){return function(e){var t=e.value,n=e.visibility;return{type:\"raw\",content:t,visibility:i(i({},{count:!0}),n)}}({value:e.value,visibility:e.visibility})},color:function(e){var o=e.nodes,i=e.property,a=e.filter,u=void 0===a||a,l=e.visibility;return go({config:t,h:n,context:r,nodes:o,property:i,filter:u,visibility:l})}}}function bo(e){var t=e.translator,n=e.config,r=e.templates,o=function(e){var t=e.limit,n=e.grouping,r={count:0,overflow:0,index:{started:void 0,group:void 0}};return{process:function(e){var o=e.visibility,i=e.index;if(r.count>=t){if(!n)return r.overflow++,!1;if(r.index.started!==i)return r.index.group!==i&&(r.overflow++,r.index.group=i),!1}return o.count&&r.count++,n&&(r.index.started=i),!0},overflow:function(){return r.overflow}}}({limit:n.main.layout.rows,grouping:n.main.layout.grouping}),i=r.reduce((function(e,t,n){var i=t.type,a=t.content;\"section\"===i&&(void 0===a?[]:a).forEach((function(t){o.process({visibility:t.visibility,index:n})&&e.push(t.content)}));var u=n===r.length-1;return\"divider\"!==i||u||o.process({visibility:t.visibility,index:n})&&e.push(t.content),e}),[]).filter((function(e){return e.length})),a=o.overflow();return a&&i.push(function(e){var t=e.translator,n=e.config,r=e.count,o=t?t.get(\"Object.ChartTooltip.NMore\",r):\"+\".concat(r,\" more\"),i=ho(o);return[{content:o,style:{\"font-weight\":\"bold\",\"text-align\":n.rtl?\"right\":\"left\",direction:i},colspan:2}]}({translator:t,config:n,count:a})),i}function xo(e){var t=e.chart,n=e.translator,r=e.config,o=e.h,a=e.data,c=e.style,s=u(a,1)[0],f=function(e){var t=e.config,n=e.nodes.reduce((function(e,n){var r=t.main.getGroupByValue({data:n.data});return e[r]||(e[r]=[]),e[r].push(n),e}),{});return Object.keys(n).map((function(e){return n[e]}))}({config:r,nodes:s.node.nodes}),d=function(e){var t=e.chart,n=e.config,r=e.h,o=e.context,i=e.groups,a=o.node.meta,u=o.resources,c=u.dataset,s=u.formatter,f=yo({config:n,h:r,context:o}),d=function(e){var t=e.dataset;return{dataset:{title:function(e,n){return t(e).field(n).title()}}}}({dataset:c}),p=i.map((function(e){var t=f.section({content:l((n.main.section({h:r,nodes:e,dataset:c,formatter:s,meta:a,create:f,util:d})||[]).filter((function(e){var t;return null===(t=e.content)||void 0===t?void 0:t.length}))).filter(Boolean)});return t.content=function(e){var t=e.config,n=e.content,r=n.find((function(e){return\"color\"===e.type&&e.filter})),o=r?n.filter((function(e){return\"measure\"!==e.type||e.survive.color||e.label!==r.label||e.value!==r.value})):n;return t.main.showDuplicateMeasures?o:o.reduce((function(e,t){var n=t.type,r=t.survive;if(\"measure\"!==n||r.duplicate)return e.filtered.push(t),e;var o=\"\".concat(t.label,\"-\").concat(t.value);return e.memory[o]||(e.memory[o]=!0,e.filtered.push(t)),e}),{memory:{},filtered:[]}).filtered}({config:n,content:t.content}),t}));return n.main.sections({chart:t,h:r,nodes:o.node.nodes,dataset:c,formatter:s,meta:a,create:f,util:d,sections:p}),p.filter(Boolean)}({chart:t,config:r,h:o,context:s,groups:f}),p=bo({translator:n,config:r,h:o,templates:d});return p.length?function(e){var t=e.h,n=e.style;return e.rows.map((function(e){return t(\"tr\",{},e.map((function(e){var r={style:i(i({},n.cell||{}),e.style||{}),class:e.class};return e.colspan&&(r.colspan=e.colspan),t(\"td\",r,e.content)})))}))}({h:o,style:c,rows:p}):function(e){var t=e.h;return t(\"tr\",{},t(\"td\",{style:{fontStyle:\"italic\",opacity:.75}},\"Empty\"))}({h:o})}function qo(e){var t=e.chart,n=e.translator,r=e.config,o=e.expando;if(!r.main.key)return!1;var i=r.main,a=i.delay,u=i.duration,l=Qe(),c=Xr({key:r.main.key,rtl:r.rtl}),s=r.main.events.tooltip,f=s.afterShow,d=s.afterHide,p=function(){return{expando:o,nodes:l.get(\"collected\")}};return b(!0,c,{settings:{filter:function(e){return ao({chart:t,config:r,nodes:e})},extract:function(e){return l.set(\"collected\",e.node.nodes),e},content:function(e){var o=e.h,i=e.data,a=e.style;return xo({chart:t,translator:n,config:r,h:o,data:i,style:a})},placement:function(e){var t=e.nodes;return r.main.placement({meta:t[0].meta})},delay:a,duration:u,afterShow:function(){return f(p())},afterHide:function(){return d(p())}},style:{arrow:{color:r.style.background},content:r.style}})}function wo(e){var t=e.config,n=t.legend.keys;if(!n.tooltip||!n.component)return!1;if(\"categorical\"!==t.getColorSettings().type)return!1;var r=Xr({key:n.tooltip,rtl:t.rtl});return b(!0,r,{settings:{filter:function(e){return e.filter((function(e){return e.data&&e.key===n.component}))},extract:function(e){return e},content:function(e){var t=e.h,n=e.data;return[t(\"tr\",{},[t(\"td\",{style:i(i({},e.style.cell||{}),{\"font-weight\":\"bold\",\"text-align\":\"left\"}),colspan:2},n[0].node.data.label)])]},placement:\"pointer\"},style:{arrow:{color:t.style.background},content:t.style}})}function ko(e){var t=e.chart,n=e.e,r=t.element.getBoundingClientRect(),o=r.left,i=r.top;return{x:(n.center?n.center.x:n.clientX)-o,y:(n.center?n.center.y:n.clientY)-i}}function Do(e){var t=e.chart,n=e.config,o=e.expando,i=e.facade,a=n.main.triggers.reduce((function(e,t){return e.push.apply(e,l(t.keys)),e}),[]);return{key:\"event:\".concat(\"tooltipTap\"),type:\"Tap\",options:{event:\"tooltipTap\",enable:function(e,r){return!r||!!n.enable({event:r})&&t.componentsFromPoint({x:r.center.x,y:r.center.y}).filter((function(e){return-1!==a.indexOf(e.key)})).length>0}},recognizeWith:\"tap\",events:r({},\"tooltipTap\",(function(e){if(e.preventDefault(),\"mouse\"!==e.pointerType){var r=t.component(n.main.key);if(r&&r.show){var a=ko({chart:t,e:e}),u=t.shapesAt(a);u.length?n.main.events.tooltip.beforeShow({expando:o,event:e,collectNodes:function(){return i.collectNodes({nodes:u})}}).then((function(){r.emit(\"show\",e,{nodes:u})})).catch((function(){})):r.emit(\"hide\")}}}))}}function Co(e){var t=e.config,n=e.expando,r=e.facade,o=t.main.events.tooltip.beforeShow,i={ongoing:{},latest:void 0};return function(e){var t=e.event,a=e.tooltip,u=e.nodes,l=function(e){var t=e.nodes;return JSON.stringify(t.map((function(e){return{key:e.key,bounds:e.bounds,value:e.data.value}})))}({nodes:u});i.ongoing[l]||(i.ongoing[l]=!0,i.latest=l,o({expando:n,event:t,collectNodes:function(){return r.collectNodes({nodes:u})}}).then((function(){l===i.latest&&a.emit(\"show\",t,{nodes:u})})).catch((function(){})).finally((function(){delete i.ongoing[l],l===i.latest&&(i.latest=void 0)})))}}function Mo(e){var t=e.chart,n=e.config,r=e.expando,o=e.facade,i=Co({config:n,expando:r,facade:o}),a=[n.main.key,n.legend.keys.tooltip].filter(Boolean),u=function(){a.forEach((function(e){var n=t.component(e);null!=n&&n.show&&n.emit(\"hide\")}))},c=n.main.triggers.reduce((function(e,t){return t.keys.forEach((function(n){var r;e[n]=\"radius\"===(null===(r=t.collect)||void 0===r?void 0:r.from)})),e}),{});return{type:\"native\",events:{mousemove:function(e){if(n.enable({event:e})&&!n.main.suppress({event:e})){var r=t.componentsFromPoint({x:e.clientX,y:e.clientY}),o=t.component(n.main.key);if(o&&o.show){var a=r.filter((function(e){return void 0!==c[e.key]})).reduce((function(e,t){return e.any=!0,(c[t.key]?e.radius:e.position).push(t.key),e}),{any:!1,radius:[],position:[]});if(a.any){var u=ko({chart:t,e:e}),s=u.x,f=u.y,d=[];if(a.position.length&&d.push.apply(d,l(t.shapesAt({x:s,y:f},{components:a.position.map((function(e){return{key:e}}))}))),!d.length&&a.radius.length){var p=t.shapesAt({cx:s,cy:f,r:n.main.distance},{components:a.radius.map((function(e){return{key:e}}))});p.length&&d.push(function(e){var t=e.nodes,n=e.origin,r=e.offset,o=function(e){var t=Math.abs(n.x-(e.localBounds.x+e.localBounds.width/2+r.x)),o=Math.abs(n.y-(e.localBounds.y+e.localBounds.height/2+r.y));return Math.sqrt(t*t+o*o)};return t.slice(1).reduce((function(e,t){var n=o(t);return n<e.distance&&(e.distance=n,e.node=t),e}),{node:t[0],distance:o(t[0])}).node}({nodes:p,origin:{x:s,y:f},offset:r.filter((function(e){return e.key===a.radius[0]}))[0].rect.computedInner}))}if(!d.length)return void o.emit(\"hide\");i({event:e,tooltip:o,nodes:d})}else o.emit(\"hide\")}var v=n.legend;if(v.keys.tooltip&&v.keys.component){var h=t.component(v.keys.tooltip);h&&h.show&&(r.some((function(e){return e.key===v.keys.component}))?h.emit(\"show\",e):h.emit(\"hide\"))}}},mouseup:function(e){2===e.button&&u()},mouseleave:function(){n.main.events.interaction.mouseleave({expando:r}),u()},wheel:function(){u()}}}}function So(e){var t=e.chart,n=e.config,r=e.expando,o=function(e){var t=e.chart,n=e.config;return{collectNodes:function(e){var r=e.nodes;return u(ao({chart:t,config:n,nodes:r}),1)[0].nodes}}}({chart:t,config:n});return{gestures:[Do({chart:t,config:n,expando:r,facade:o})],native:Mo({chart:t,config:n,expando:r,facade:o})}}function Io(e){var t=e.chart,n=e.translator,r=function(e){var t=e.config;return b(!0,{},{rtl:!1,enable:Wr.FALSE,getColorSettings:Wr.OBJECT,style:{fontSize:void 0,fontFamily:void 0,color:void 0,background:void 0},main:{key:void 0,suppress:Wr.FALSE,getGroupByValue:Wr.NOOP,delay:500,duration:8e3,distance:4,collectibles:[],triggers:[],placement:function(){return{type:\"bounds\"}},placements:{collectible:\"combine\"},showDuplicateMeasures:!1,layout:{rows:7,grouping:!1},section:Wr.ARRAY,sections:Wr.NOOP,events:{tooltip:{beforeShow:function(){return Promise.resolve()},afterShow:Wr.NOOP,afterHide:Wr.NOOP},interaction:{mouseleave:Wr.NOOP}}},legend:{keys:{tooltip:void 0,component:void 0}}},void 0===t?{}:t)}({config:e.config}),o=Qe(),i={components:void 0,interactions:void 0};return{getComponents:function(){return i.components||(i.components=function(e){var t=e.chart,n=e.translator,r=e.config;return[qo({chart:t,translator:n,config:r,expando:e.expando}),wo({config:r})].filter(Boolean)}({chart:t,translator:n,config:r,expando:o})),i.components},getInteractions:function(){return i.interactions||(i.interactions=So({chart:t,config:r,expando:o})),i.interactions},expando:o}}export{Qe as cache,He as colorService,et as debouncer,We as dockService,Je as getValue,ot as layoutService,Xe as memoize,at as pluginService,Hr as selectionService,Ge as setValue,Ze as storage,$r as themeService,tt as throttler,Io as tooltipService};\n","const CHART_ID = 'object.waterfallChart';\n\nfunction getShapeColor(layout, theme, name, defaultColor, defaultIndex) {\n const layoutColor = layout.color || layout.qDef.color;\n if (!layoutColor || layoutColor.auto || !layoutColor[name]) {\n const color = theme.getStyle(CHART_ID, `shape.${name}`, 'fill') || defaultColor;\n const index = defaultIndex; // chartStyleUtils.Theme.currentPalette.indexOf(color);\n return { index, color };\n }\n\n return layoutColor[name].paletteColor;\n}\n\nfunction getColorForPositiveValue(layout, theme) {\n return theme.getColorPickerColor(getShapeColor(layout, theme, 'positiveValue', null, 6));\n}\n\nfunction getColorForNegativeValue(layout, theme) {\n return theme.getColorPickerColor(getShapeColor(layout, theme, 'negativeValue', '#cc6677', -1));\n}\n\nfunction getColorForSubtotal(layout, theme) {\n return theme.getColorPickerColor(getShapeColor(layout, theme, 'subtotal', '#c3c3c3', -1));\n}\n\nconst waterfallUtils = {\n valueTypes: {\n NORMAL: 'NORMAL',\n INVERSE: 'INVERSE',\n SUBTOTAL: 'SUBTOTAL',\n },\n chartID: CHART_ID,\n getColorForPositiveValue,\n getColorForNegativeValue,\n getColorForSubtotal,\n};\n\nObject.freeze(waterfallUtils.valueTypes);\nObject.freeze(waterfallUtils);\n\nexport default waterfallUtils;\n","import extend from 'extend';\nimport { getValue } from 'qlik-chart-modules';\n// import defaultProperties from '../../../assets/client/property-panel/default-properties';\nimport waterfallUtils from './waterfallchart-utils';\n\nfunction colorIsNotAuto(data) {\n return !data.color.auto;\n}\n\nexport default function propertyDefinition(env) {\n const { flags, translator } = env;\n const data = {\n uses: 'data',\n addTranslation: 'Properties.AddData',\n items: {\n measures: {\n disabledRef: '',\n items: {\n numberFormatting: {\n show: false,\n },\n valueType: {\n type: 'string',\n component: 'dropdown',\n ref: 'qDef.valueType',\n translation: 'properties.waterfall.measureOperation',\n options: [\n {\n value: waterfallUtils.valueTypes.NORMAL,\n translation: 'properties.waterfall.measureOperation.add',\n },\n {\n value: waterfallUtils.valueTypes.INVERSE,\n translation: 'properties.waterfall.measureOperation.subtract',\n },\n {\n value: waterfallUtils.valueTypes.SUBTOTAL,\n translation: 'properties.waterfall.measureOperation.subtotal',\n },\n ],\n defaultValue: waterfallUtils.valueTypes.NORMAL,\n },\n subTotal: {\n ref: 'qDef.subtotal.enable',\n type: 'boolean',\n defaultValue: false,\n translation: 'properties.waterfall.measureOperation.subtotal',\n show(data) {\n return data.qDef.valueType !== waterfallUtils.valueTypes.SUBTOTAL;\n },\n },\n subTotalLabel: {\n translation: 'properties.waterfall.subtotalLabel',\n component: 'string',\n expression: 'optional',\n ref: 'qDef.subtotal.label',\n defaultValue() {\n return translator.get('properties.waterfall.measureOperation.subtotal');\n },\n show(data) {\n return (\n data.qDef.valueType !== waterfallUtils.valueTypes.SUBTOTAL &&\n data.qDef.subtotal &&\n data.qDef.subtotal.enable\n );\n },\n },\n },\n },\n },\n };\n\n const presentation = {\n type: 'items',\n translation: 'properties.presentation',\n grouped: true,\n items: {\n gridLines: {\n type: 'items',\n snapshot: {\n tid: 'property-gridLines',\n },\n items: {\n showGridLines: {\n ref: 'gridlines.auto',\n type: 'boolean',\n translation: 'properties.gridLine.spacing',\n component: 'switch',\n defaultValue: true,\n options: [\n {\n value: true,\n translation: 'Common.Auto',\n },\n {\n value: false,\n translation: 'Common.Custom',\n },\n ],\n },\n gridSpacing: {\n ref: 'gridlines.spacing',\n type: 'number',\n component: 'dropdown',\n defaultValue: 2,\n options: [\n {\n value: 0,\n translation: 'properties.gridLine.noLines',\n },\n {\n value: 2,\n translation: 'properties.gridLine.medium',\n },\n {\n value: 3,\n translation: 'properties.gridLine.narrow',\n },\n ],\n show(data) {\n return data.gridlines && !data.gridlines.auto;\n },\n },\n },\n },\n showLabels: {\n ref: 'dataPoint.showLabels',\n type: 'boolean',\n translation: 'properties.dataPoints.labelmode',\n component: 'switch',\n defaultValue: true,\n options: [\n {\n value: true,\n translation: 'Common.Auto',\n },\n {\n value: false,\n translation: 'properties.off',\n },\n ],\n snapshot: {\n tid: 'property-dataPoints',\n },\n },\n },\n };\n\n const autoColor = {\n ref: 'color.auto',\n type: 'boolean',\n component: 'switch',\n defaultValue: true,\n options: [\n {\n value: true,\n translation: 'Common.Auto',\n },\n {\n value: false,\n translation: 'Common.Custom',\n },\n ],\n };\n const positiveValueColor = {\n ref: 'color.positiveValue.paletteColor',\n translation: 'properties.waterfall.color.positiveValueColor',\n type: 'object',\n component: 'color-picker',\n dualOutput: true,\n defaultValue: { index: 6, color: null },\n show: colorIsNotAuto,\n };\n const negativeValueColor = {\n ref: 'color.negativeValue.paletteColor',\n translation: 'properties.waterfall.color.negativeValueColor',\n type: 'object',\n component: 'color-picker',\n dualOutput: true,\n defaultValue: { index: -1, color: '#cc6677' },\n show: colorIsNotAuto,\n };\n const subtotalColor = {\n ref: 'color.subtotal.paletteColor',\n translation: 'properties.waterfall.color.subtotalColor',\n type: 'object',\n component: 'color-picker',\n dualOutput: true,\n defaultValue: { index: -1, color: '#c3c3c3' },\n show: colorIsNotAuto,\n };\n\n const colors = {\n translation: 'properties.colorsAndLegend',\n type: 'items',\n grouped: true,\n items: {\n colors: {\n type: 'items',\n items: {\n autoColor: {\n ...autoColor,\n translation: 'properties.colors',\n },\n positiveValueColor,\n negativeValueColor,\n subtotalColor,\n },\n },\n simpleColors: {\n classification: {\n section: 'color',\n tags: ['simple'],\n exclusive: true,\n },\n type: 'items',\n items: {\n autoColor: {\n ...autoColor,\n label: (data) => translator.get(data.color?.auto ? 'Common.Auto' : 'Common.Custom'),\n },\n positiveValueColor,\n negativeValueColor,\n subtotalColor,\n },\n },\n legend: {\n type: 'items',\n items: {\n show: {\n ref: 'legend.show',\n type: 'boolean',\n translation: 'properties.legend.show',\n component: 'switch',\n defaultValue: true,\n options: [\n {\n value: true,\n translation: 'Common.Auto',\n },\n {\n value: false,\n translation: 'properties.off',\n },\n ],\n },\n dock: {\n type: 'string',\n component: 'dropdown',\n ref: 'legend.dock',\n translation: 'properties.legend.position',\n options: [\n {\n value: 'auto',\n translation: 'Common.Auto',\n },\n {\n value: 'right',\n translation: 'properties.dock.right',\n },\n {\n value: 'bottom',\n translation: 'Common.Bottom',\n },\n {\n value: 'left',\n translation: 'properties.dock.left',\n },\n {\n value: 'top',\n translation: 'Common.Top',\n },\n ],\n defaultValue: 'auto',\n show(data) {\n return getValue(data, 'legend.show', true);\n },\n },\n },\n },\n },\n };\n\n const measureAxis = {\n uses: 'axis.picasso.measureAxis',\n label: translator.get('properties.yAxis'),\n items: {\n axis: {\n items: {\n show: {\n translation: 'properties.labels',\n defaultValue: 'labels',\n options: [\n {\n value: 'labels',\n translation: 'properties.labels',\n },\n {\n value: 'none',\n translation: 'Common.None',\n },\n null,\n null,\n ],\n },\n },\n },\n },\n };\n\n const dimensionAxis = {\n uses: 'axis.picasso.dimensionAxis',\n items: {\n othersGroup: {\n items: {\n show: {\n translation: 'properties.labels',\n defaultValue: 'labels',\n options: [\n {\n value: 'labels',\n translation: 'properties.labels',\n },\n {\n value: 'none',\n translation: 'Common.None',\n },\n null,\n null,\n ],\n },\n label: {\n options: flags.isEnabled('SENSECLIENT_LAYERED_LABELS')\n ? [\n {\n value: 'auto',\n translation: 'Common.Auto',\n },\n {\n value: 'horizontal',\n translation: 'Common.Horizontal',\n },\n {\n value: 'tilted',\n translation: 'properties.labels.tilted',\n },\n {\n value: 'layered',\n translation: 'properties.labels.layered',\n },\n ]\n : undefined,\n },\n },\n },\n },\n };\n\n const settings = {\n uses: 'settings',\n items: {\n presentation,\n colors,\n measureAxis,\n dimensionAxis,\n },\n };\n\n const addons = {\n type: 'items',\n component: 'expandable-items',\n translation: 'properties.addons',\n items: {\n dataHandling: {\n uses: 'dataHandling',\n items: {\n suppressZero: null,\n calcCond: {\n uses: 'calcCond',\n },\n },\n },\n refLines: {\n uses: 'reflines',\n items: {\n colorBackground: {\n show: false,\n },\n },\n },\n },\n };\n const numberFormatting = {\n translation: 'properties.numberFormatting',\n type: 'items',\n globalChange(data) {\n data.qHyperCubeDef.qMeasures.forEach((measure) => {\n measure.qDef.numFormatFromTemplate = data.qDef.numFormatFromTemplate;\n measure.qDef.qNumFormat = extend(true, {}, data.qDef.qNumFormat);\n });\n },\n items: {\n numberFormatting: {\n uses: 'measures.items.numberFormatting',\n items: { numberFormattingType: undefined },\n },\n },\n };\n\n return {\n type: 'items',\n component: 'accordion',\n items: {\n data,\n numberFormatting,\n addons,\n settings,\n },\n };\n}\n","import pp from './waterfallchart-properties';\nimport dataDefinition from './waterfallchart-data-definition';\nimport { importProperties, exportProperties } from './waterfallchart-import-export';\n\nexport default function ext(env) {\n if (!env.anything?.sense) {\n return undefined;\n }\n\n return {\n definition: pp(env),\n support: {\n cssScaling: false,\n snapshot: true,\n export: true,\n exportData: true,\n sharing: true,\n viewData: true,\n },\n importProperties(exportFormat, initialProperties, extension) {\n extension.mapProperties();\n\n const defaultPropertyValues = {\n defaultDimension: extension.getDefaultDimensionProperties(),\n defaultMeasure: extension.getDefaultMeasureProperties(),\n };\n return importProperties({\n dataDefinition: dataDefinition(env),\n defaultPropertyValues,\n exportFormat,\n initialProperties,\n });\n },\n exportProperties(propertyTree, hyperCubePath, viewDataMode) {\n return exportProperties({ propertyTree, viewDataMode });\n },\n };\n}\n","/* eslint-disable prefer-rest-params */\n/* eslint-disable guard-for-in */\n/* eslint-disable no-restricted-syntax */\n\n/* Simple JavaScript Inheritance\n * By John Resig http://ejohn.org/\n * MIT Licensed.\n * Modified by Qliktech\n */\n// Inspired by base2 and Prototype\n\n/* eslint no-new-func:0,no-unused-vars:0 */\n\nconst fnTest = /xyz/.test(() => {\n let xyz;\n})\n ? /\\b_super\\b/\n : /.*/;\n\n/**\n * Helper module for creating subclasses (or rather prototypal inheritance) of superclasses.\n *\n * @class\n *\n * @example\n * var Animal = Class.extend( \"Animal\", {\n * init: function ( name ) {\n * this.name = name || \"Unnamed\";\n * },\n * say: function ( sound ) {\n * console.log( this.name + \" says \" + sound );\n * }\n * } );\n *\n * var Cat = Animal.extend( \"Cat\", {\n * say: function () {\n * this._super( \"Meouw\" );\n * }\n * } );\n *\n * var cat = new Cat( \"Gustaf\" );\n * cat.say(); => \"Gustaf says Meouw\"\n *\n * @example\n * var MyClass = Class.extend();\n *\n * var a = new MyClass();\n * console.log( a instanceof MyClass ) // => true\n * console.log( a.constructor.name ) // => Class\n *\n * @example\n * var MyClass = Class.extend( \"MyClass\" );\n *\n * var a = new MyClass();\n * console.log( a instanceof MyClass ) // => true\n * console.log( a.constructor.name ) // => MyClass\n *\n */\nconst Class = function () {};\n\n/**\n * This method is available inside each function defined on the prototype when using {@link module:assets/core/utils/class~Class.extend}.\n *\n * It will invoke the super class' method with the same name, but it's up to programmer to invoke it with the arguments needed.\n * @method module:assets/core/utils/class~Class#_super\n */\n\n/**\n * Create a new Class that inherits from this class\n * @param {String} [className=\"Class\"] The name of the new class constructor.\n * @param {Object} proto The prototype for the new class.\n */\nClass.extend = function extend(className, proto) {\n const _super = this.prototype;\n\n if (typeof className !== 'string') {\n proto = className;\n className = 'Class';\n }\n\n // Instantiate a base class (but only create the instance,\n // don't run the init constructor)\n const prototype = Object.create(this.prototype);\n\n // Copy the properties over onto the new prototype\n for (const name in proto) {\n // Check if we're overwriting an existing function\n prototype[name] =\n typeof proto[name] === 'function' && typeof _super[name] === 'function' && fnTest.test(proto[name])\n ? (function (name, fn) {\n return function () {\n const tmp = this._super;\n\n // Add a new ._super() method that is the same method\n // but on the super-class\n this._super = _super[name];\n\n // The method only need to be bound temporarily, so we\n // remove it when we're done executing\n const ret = fn.apply(this, arguments);\n this._super = tmp;\n\n return ret;\n };\n })(name, proto[name])\n : proto[name];\n }\n\n if (!/^[_a-z][_a-z\\d]*$/i.test(className)) {\n throw new Error('Invalid subclass name. Alphanumericals only.');\n }\n\n // The dummy class constructor\n const ctor = new Function(\n `return (function ${className}(){ typeof this.init === 'function' && this.init.apply(this, [].slice.call(arguments)) });`\n )();\n\n // Populate our constructed prototype object\n ctor.prototype = prototype;\n\n // Enforce the constructor to be what we expect\n ctor.prototype.constructor = ctor;\n\n // And make this class extendable\n ctor.extend = extend;\n\n return ctor;\n};\n\nexport default Class;\n","// private\nconst idGen = {\n getChar(value) {\n // 0 o O i I l\n const banned = [48, 111, 79, 105, 73, 108];\n let val = value;\n\n let charCode;\n if (val > 9) {\n charCode = 65 + val - 10;\n if (charCode > 90) {\n charCode += 6;\n }\n } else {\n val = `${val}`.charCodeAt(0);\n }\n return banned.indexOf(charCode) > -1 ? this.getChar(val + 1) : String.fromCharCode(charCode);\n },\n base62(value) {\n const chr = this.getChar(value % 62);\n const y = Math.floor(value / 62);\n return y > 0 ? this.base62(y) + chr : chr;\n },\n id() {\n const s = this.base62(Math.round(Math.random() * (1e13 - 1e11) + 1e11));\n return s.replace(/\\W/g, '');\n },\n};\n\nexport default function generateId() {\n return idGen.id();\n}\n","function getAxisDock(direction, dock, isRtl) {\n return direction === 'y' ? getYAxisDock(dock, isRtl) : getXAxisDock(dock);\n}\n\nfunction getOppositeAxisDock(direction, dock, isRtl) {\n const oppositeDock = dock === 'far' ? 'near' : 'far';\n return getAxisDock(direction, oppositeDock, isRtl);\n}\n\nfunction getYAxisDock(dock, isRtl) {\n const yDockNearFar = dock || 'near';\n return (isRtl && yDockNearFar === 'near') || (!isRtl && yDockNearFar === 'far') ? 'right' : 'left';\n}\n\nfunction getXAxisDock(dock) {\n return dock === 'far' ? 'top' : 'bottom';\n}\n\nexport default {\n getAxisDock,\n getOppositeAxisDock,\n getYAxisDock,\n};\n","// Source: https://en.wikipedia.org/wiki/Bi-directional_text and http://www.unicode.org/Public/6.0.0/ucd/UnicodeData.txt\n// 3 types of strong direction characters: L (strong left-to-right), R(strong right-to-left, Hebrew) and AL(strong right-to-left, Arabic language)\nconst rangesOfLChars =\n '[\\u0041-\\u005A\\u0061-\\u007A\\u00AA\\u00B5\\u00BA\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02B8\\u02BB-\\u02C1\\u02D0-\\u02D1\\u02E0-\\u02E4\\u02EE\\u0370-\\u0373\\u0376-\\u037D\\u0386\\u0388-\\u03F5\\u03F7-\\u0482\\u048A-\\u0589\\u0903-\\u0939\\u093B\\u093D-\\u0940\\u0949-\\u094C\\u094E-\\u0950\\u0958-\\u0961\\u0964-\\u097F\\u0982-\\u09B9\\u09BD-\\u09C0\\u09C7-\\u09CC\\u09CE-\\u09E1\\u09E6-\\u09F1\\u09F4-\\u09FA\\u0A03-\\u0A39\\u0A3E-\\u0A40\\u0A59-\\u0A6F\\u0A72-\\u0A74\\u0A83-\\u0AB9\\u0ABD-\\u0AC0\\u0AC9-\\u0ACC\\u0AD0-\\u0AE1\\u0AE6-\\u0AEF\\u0B02-\\u0B39\\u0B3D-\\u0B3E\\u0B40\\u0B47-\\u0B4C\\u0B57-\\u0B61\\u0B66-\\u0B77\\u0B83-\\u0BBF\\u0BC1-\\u0BCC\\u0BD0-\\u0BF2\\u0C01-\\u0C3D\\u0C41-\\u0C44\\u0C58-\\u0C61\\u0C66-\\u0C6F\\u0C7F-\\u0CB9\\u0CBD-\\u0CCB\\u0CD5-\\u0CE1\\u0CE6-\\u0D40\\u0D46-\\u0D4C\\u0D4E-\\u0D61\\u0D66-\\u0DC6\\u0DCF-\\u0DD1\\u0DD8-\\u0E30\\u0E32-\\u0E33\\u0E40-\\u0E46\\u0E4F-\\u0EB0\\u0EB2-\\u0EB3\\u0EBD-\\u0EC6\\u0ED0-\\u0F17\\u0F1A-\\u0F34\\u0F36\\u0F38\\u0F3E-\\u0F6C\\u0F7F\\u0F85\\u0F88-\\u0F8C\\u0FBE-\\u0FC5\\u0FC7-\\u102C\\u1031\\u1038\\u103B-\\u103C\\u103F-\\u1057\\u105A-\\u105D\\u1061-\\u1070\\u1075-\\u1081\\u1083-\\u1084\\u1087-\\u108C\\u108E-\\u109C\\u109E-\\u135A\\u1360-\\u138F\\u13A0-\\u13F4\\u1401-\\u167F\\u1681-\\u169A\\u16A0-\\u1711\\u1720-\\u1731\\u1735-\\u1751\\u1760-\\u1770\\u1780-\\u17B6\\u17BE-\\u17C5\\u17C7-\\u17C8\\u17D4-\\u17DA\\u17DC\\u17E0-\\u17E9\\u1810-\\u18A8\\u18AA-\\u191C\\u1923-\\u1926\\u1929-\\u1931\\u1933-\\u1938\\u1946-\\u19DA\\u1A00-\\u1A16\\u1A19-\\u1A55\\u1A57\\u1A61\\u1A63-\\u1A64\\u1A6D-\\u1A72\\u1A80-\\u1AAD\\u1B04-\\u1B33\\u1B35\\u1B3B\\u1B3D-\\u1B41\\u1B43-\\u1B6A\\u1B74-\\u1B7C\\u1B82-\\u1BA1\\u1BA6-\\u1BA7\\u1BAA-\\u1BE5\\u1BE7\\u1BEA-\\u1BEC\\u1BEE\\u1BF2-\\u1C2B\\u1C34-\\u1C35\\u1C3B-\\u1C7F\\u1CD3\\u1CE1\\u1CE9-\\u1CEC\\u1CEE-\\u1DBF\\u1E00-\\u1FBC\\u1FBE\\u1FC2-\\u1FCC\\u1FD0-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FFC\\u200E\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E-\\u214F\\u2160-\\u2188\\u2336-\\u237A\\u2395\\u249C-\\u24E9\\u26AC\\u2800-\\u28FF\\u2C00-\\u2CE4\\u2CEB-\\u2CEE\\u2D00-\\u2D70\\u2D80-\\u2DDE\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u31BA\\u31F0-\\u321C\\u3220-\\u324F\\u3260-\\u327B\\u327F-\\u32B0\\u32C0-\\u32CB\\u32D0-\\u3376\\u337B-\\u33DD\\u33E0-\\u33FE\\u3400-\\u4DB5\\u4E00-\\uA48C\\uA4D0-\\uA60C\\uA610-\\uA66E\\uA680-\\uA6EF\\uA6F2-\\uA6F7\\uA722-\\uA787\\uA789-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA824\\uA827\\uA830-\\uA837\\uA840-\\uA873\\uA880-\\uA8C3\\uA8CE-\\uA8D9\\uA8F2-\\uA925\\uA92E-\\uA946\\uA952-\\uA97C\\uA983-\\uA9B2\\uA9B4-\\uA9B5\\uA9BA-\\uA9BB\\uA9BD-\\uAA28\\uAA2F-\\uAA30\\uAA33-\\uAA34\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA4D-\\uAAAF\\uAAB1\\uAAB5-\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2-\\uABE4\\uABE6-\\uABE7\\uABE9-\\uABEC\\uABF0-\\uFB17\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFDC]';\nconst rangesOfRChars =\n '[\\u05BE\\u05C0\\u05C3\\u05C6\\u05D0-\\u05F4\\u07C0-\\u07EA\\u07F4-\\u07F5\\u07FA-\\u0815\\u081A\\u0824\\u0828\\u0830-\\u0858\\u085E\\u200F\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB4F]';\nconst rangesOfALChars =\n '[\\u0608\\u060B\\u060D\\u061B-\\u064A\\u066D-\\u066F\\u0671-\\u06D5\\u06E5-\\u06E6\\u06EE-\\u06EF\\u06FA-\\u070D\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\uFB50-\\uFD3D\\uFD50-\\uFDFC\\uFE70-\\uFEFC]';\n// eslint-disable-next-line no-misleading-character-class\nconst rangesOfLRgExp = new RegExp(rangesOfLChars);\nconst rangesOfRRgExp = new RegExp(rangesOfRChars);\nconst rangesOfALRgExp = new RegExp(rangesOfALChars);\n\nconst // left-to-right marker\n lrm = String.fromCharCode(8206); // right-to-left marker\n\nconst rlm = String.fromCharCode(8207);\n\nfunction isLtrChar(c) {\n return rangesOfLRgExp.test(c);\n}\n\nfunction isRtlChar(c) {\n return rangesOfRRgExp.test(c) || rangesOfALRgExp.test(c);\n}\n\nfunction detectTextDirection(s) {\n const n = s ? s.length : 0;\n let i;\n let c;\n for (i = 0; i < n; i++) {\n c = s[i];\n if (isLtrChar(c)) {\n return 'ltr';\n }\n if (isRtlChar(c)) {\n return 'rtl';\n }\n }\n return 'ltr';\n}\n\nexport default {\n lrm,\n rlm,\n detectTextDirection,\n};\n","import extend from 'extend';\nimport RtlUtil from '../../../../extra/rtl-util';\n\n/**\n * Get Picasso settings for an individual ref-line.\n *\n * @param {*} settings Default settings for the ref-line\n * @param {*} lineColorIndex Chart builder options + paletteColor option\n */\nfunction lineSettings(settings, options) {\n const lineStroke =\n typeof options.paletteColor !== 'undefined'\n ? options.theme.getColorPickerColor(options.paletteColor)\n : 'transparent';\n const defaultSettings = {\n value: 0,\n line: {\n stroke: lineStroke,\n strokeDasharray: options?.style?.lineType,\n },\n };\n return extend(true, defaultSettings, settings || {});\n}\n\n/**\n * Get Picasso settings for an individual ref-line used to display label and OOB.\n *\n * @param {*} settings Default settings for the ref-line label\n * @param {*} options Chart builder options + paletteColor option\n */\nfunction lineLabelSettings(settings, options) {\n const chartID = options && options.chartID; // Should we validate if the parameter exists?\n let labelColor = options.theme.getStyle(chartID, 'referenceLine.label.name', 'color');\n const labelFontSize = options.theme.getStyle(chartID, 'referenceLine.label.name', 'fontSize');\n const labelFontFamily = options.theme.getStyle(chartID, 'referenceLine.label.name', 'fontFamily');\n\n if (options.paletteColor) {\n labelColor = options.theme.getColorPickerColor(options.paletteColor);\n } else if (!labelColor) {\n labelColor = 'transparent';\n }\n\n const defaultSettings = {\n value: 0,\n line: {\n stroke: 'transparent',\n },\n label: {\n align: 'center',\n vAlign: 'middle',\n text: '',\n fill: labelColor,\n fontFamily: labelFontFamily,\n fontSize: labelFontSize,\n maxWidthPx: 135,\n },\n };\n return extend(true, defaultSettings, settings || {});\n}\n\nconst isVisible = (refLine) =>\n refLine && refLine.show !== false && refLine.show !== 0 && refLine.show !== '0' && refLine.refLineExpr !== undefined;\n\nfunction getRefLineTitle({ refLine, label, valueString }) {\n if (refLine.showValue !== false) {\n if (refLine.showLabel !== false) {\n return `${label} ${RtlUtil.lrm}(${valueString})${RtlUtil.lrm}`;\n }\n return `${RtlUtil.lrm}(${valueString})${RtlUtil.lrm}`;\n }\n if (refLine.showLabel !== false) {\n return label;\n }\n return '';\n}\n\nexport default {\n lineSettings,\n lineLabelSettings,\n isVisible,\n getRefLineTitle,\n};\n","import DimensionMeasureChartLayoutSettings from './layout-settings';\n\nconst constants = {\n SHOW_AXIS_LABELS_OPTIONS: ['all', 'labels'], // show dim/measure axis labels when it matches one of this values\n SHOW_TITLE_OPTIONS: ['all', 'title'], // show the dimension/measure title when the show option matches one of these values\n HORIZONTAL: 'horizontal',\n VERTICAL: 'vertical',\n LAYOUTSETTINGS: DimensionMeasureChartLayoutSettings,\n};\n\nconstants.DEFAULT_CHART_ORIENTATION = constants.HORIZONTAL;\n\nexport default constants;\n","export default {\n lasso: {\n displayOrder: 10000,\n },\n rangeDim: {\n displayOrder: 10000,\n },\n rangeMeasure: {\n displayOrder: 10000,\n },\n rangeMinor: {\n displayOrder: 10000,\n },\n\n // SPARK\n scrollBar: {\n minimumLayoutMode: 'SPARK',\n prioOrder: -1,\n displayOrder: 100,\n },\n\n refLines: {\n minimumLayoutMode: 'SPARK',\n prioOrder: 60,\n displayOrder: -10,\n },\n\n // XMALL\n measureAxisTitle: {\n minimumLayoutMode: 'XSMALL',\n prioOrder: 30,\n displayOrder: 90,\n },\n dimensionAxisTitle: {\n minimumLayoutMode: 'XSMALL',\n prioOrder: 30,\n displayOrder: 90,\n },\n\n measureAxis: {\n minimumLayoutMode: 'XSMALL',\n prioOrder: 10,\n displayOrder: 80,\n },\n dimensionAxis: {\n minimumLayoutMode: 'XSMALL',\n prioOrder: 10,\n displayOrder: 80,\n },\n\n gridLines: {\n minimumLayoutMode: 'XSMALL',\n displayOrder: -100,\n },\n\n // SMALL\n refLinesLabels: {\n minimumLayoutMode: 'SMALL',\n prioOrder: 60,\n displayOrder: 0,\n },\n};\n","import extend from 'extend';\nimport generateId from '../../../../extra/generate-id';\nimport getScrollActions from '../../../scroll/scroll-actions';\nimport axisDockUtil from '../../components/util/axis-dock-util';\nimport refLineUtil from '../../components/util/ref-line-util';\nimport CONSTANTS from './constants';\n\nconst SENSE_PICASSO_SPACING_COEFFICIENT = 100;\n\nfunction DimensionMeasureChart(chartBuilder, opts) {\n const options = opts || {};\n\n const measureAxisProperties = options.measureAxisProperties || {};\n const dimensionAxisProperties = options.dimensionAxisProperties || {};\n const chartOrientation = options.orientation || CONSTANTS.DEFAULT_CHART_ORIENTATION;\n const isChartHorizontal = chartOrientation === CONSTANTS.HORIZONTAL;\n const measureDirection = isChartHorizontal ? 'x' : 'y';\n const dimensionDirection = isChartHorizontal ? 'y' : 'x';\n const SHOW_AXIS_LABELS_OPTIONS = CONSTANTS.SHOW_AXIS_LABELS_OPTIONS;\n const SHOW_TITLE_OPTIONS = CONSTANTS.SHOW_TITLE_OPTIONS;\n const includeMeasureAxisComponent = SHOW_AXIS_LABELS_OPTIONS.includes(measureAxisProperties.show);\n const includeMeasureAxisTitleComponent =\n !!options.measureTitleText && SHOW_TITLE_OPTIONS.includes(measureAxisProperties.show);\n const includeDimensionAxisComponent =\n options.includeDimensionAxis && SHOW_AXIS_LABELS_OPTIONS.includes(dimensionAxisProperties.show);\n const includeDimensionAxisTitleComponent =\n options.includeDimensionAxis &&\n !!options.dimensionTitleText &&\n SHOW_TITLE_OPTIONS.includes(dimensionAxisProperties.show);\n const includeGridlines = options.gridlines && !(!options.gridlines.auto && options.gridlines.spacing === 0);\n\n const includeRefLines = options.refLines && options.refLines.some((refLine) => refLine.show);\n\n const interactionActions = [];\n\n if (includeMeasureAxisComponent) {\n addMeasureAxisComponent(chartBuilder, options, measureDirection, measureAxisProperties);\n }\n\n if (includeMeasureAxisTitleComponent) {\n addMeasureAxisTitleComponent(chartBuilder, options, measureDirection);\n }\n\n addMeasureScale(chartBuilder, options, chartOrientation, measureAxisProperties);\n\n if (includeDimensionAxisComponent) {\n addDimensionAxisComponent(chartBuilder, options, dimensionDirection);\n }\n\n if (includeDimensionAxisTitleComponent) {\n addDimensionAxisTitleComponent(chartBuilder, options, dimensionDirection);\n }\n\n if (options.includeDimensionAxis) {\n addDimensionScale(chartBuilder, options, chartOrientation);\n }\n\n if (includeGridlines) {\n addGridlinesComponent(chartBuilder, options.gridlines, measureDirection);\n }\n\n if (options.hasNavigation) {\n addScrollbarComponent(chartBuilder, interactionActions, options, isChartHorizontal);\n }\n\n if (includeRefLines) {\n addRefLineComponent(chartBuilder, options, measureDirection, measureAxisProperties);\n }\n\n if (options.enableLasso && options.selectionsEnabled) {\n const lassoOptions = options.lasso || {};\n addLassoComponent(chartBuilder, lassoOptions);\n }\n\n if (options.enableDimRange && options.includeDimensionAxis && options.selectionsEnabled) {\n const rangeDimOptions = options.dimRange || {};\n const dimensionAxisOptions = getDimensionAxisOptions(options, dimensionDirection);\n addRangeDimComponent(chartBuilder, rangeDimOptions, isChartHorizontal, dimensionAxisOptions.dock, options.isRtl);\n }\n\n if (options.enableMeasureRange && options.selectionsEnabled) {\n const rangeMeasureOptions = options.measureRange || {};\n const measureAxisOptions = getMeasureAxisOptions(options, measureDirection);\n addRangeMeasureComponent(\n chartBuilder,\n rangeMeasureOptions,\n isChartHorizontal,\n measureAxisOptions.dock,\n options.isRtl\n );\n }\n\n if (options.enableAreaRange && options.selectionsEnabled) {\n const areaDimOptions = options.areaRange || {};\n const dimAreaAxisOptions = getDimensionAxisOptions(options, dimensionDirection);\n addRangeAreaComponent(chartBuilder, areaDimOptions, isChartHorizontal, dimAreaAxisOptions.dock, options.isRtl);\n }\n\n if (options.brushActions) {\n addInteractionActions(interactionActions, options.brushActions);\n }\n\n if (interactionActions.length) {\n addInteractionComponent(chartBuilder, interactionActions);\n }\n}\n\nexport default DimensionMeasureChart;\n\nfunction addInteractionComponent(chartBuilder, interactionActions) {\n return chartBuilder.addInteraction({}, { gestures: interactionActions });\n}\n\nfunction addInteractionActions(interactionActions, actions) {\n actions.forEach((a) => {\n interactionActions.push(a);\n });\n}\n\nfunction addMeasureScale(chartBuilder, options, chartOrientation, measureAxisProperties) {\n let measureScaleSettings = options.measureScaleSettings;\n\n const measureScaleOptions = {\n isRtl: options.isRtl,\n source: options.measureSource,\n orientation: chartOrientation,\n measureAxisProperties,\n };\n\n if (measureAxisProperties && measureAxisProperties.spacing > 0) {\n measureScaleSettings = extend(true, measureScaleSettings || {}, {\n component: {\n ticks: {\n distance: measureAxisProperties.spacing * SENSE_PICASSO_SPACING_COEFFICIENT,\n },\n },\n });\n }\n\n chartBuilder.addScale('measure-scale', measureScaleSettings, measureScaleOptions);\n}\n\nfunction addMeasureAxisComponent(chartBuilder, options, measureDirection, measureAxisProperties) {\n let measureAxisSettings = {\n scale: 'measure',\n forceBounds: measureAxisProperties && !measureAxisProperties.autoMinMax && measureAxisProperties.showBounds,\n };\n measureAxisSettings = extend(measureAxisSettings, CONSTANTS.LAYOUTSETTINGS.measureAxis);\n\n const measureAxisOptions = getMeasureAxisOptions(options, measureDirection);\n\n chartBuilder.addComponent(`${measureDirection}-axis`, measureAxisSettings, measureAxisOptions);\n}\n\nfunction addMeasureAxisTitleComponent(chartBuilder, options, measureDirection) {\n let measureTitleSettings = {\n text: options.measureTitleText,\n };\n measureTitleSettings = extend(measureTitleSettings, CONSTANTS.LAYOUTSETTINGS.measureAxisTitle);\n\n const measureAxisOptions = getMeasureAxisTitleOptions(options, measureDirection);\n\n chartBuilder.addComponent(`${measureDirection}-axis-title`, measureTitleSettings, measureAxisOptions);\n}\n\nfunction addDimensionScale(chartBuilder, options, chartOrientation) {\n const dimensionScaleOptions = {\n isRtl: options.isRtl,\n source: options.dimensionSource,\n orientation: chartOrientation === CONSTANTS.HORIZONTAL ? CONSTANTS.VERTICAL : CONSTANTS.HORIZONTAL,\n };\n\n chartBuilder.addScale('dimension-scale', options.dimensionScaleSettings, dimensionScaleOptions);\n}\n\nfunction addDimensionAxisComponent(chartBuilder, options, dimensionDirection) {\n let dimensionAxisSettings = {\n scale: 'dimension',\n };\n dimensionAxisSettings = extend(dimensionAxisSettings, CONSTANTS.LAYOUTSETTINGS.dimensionAxis);\n\n const dimensionAxisOptions = getDimensionAxisOptions(options, dimensionDirection);\n\n extend(true, dimensionAxisSettings, options.dimensionAxisSettings || {});\n\n chartBuilder.addComponent(`${dimensionDirection}-axis`, dimensionAxisSettings, dimensionAxisOptions);\n}\n\nfunction addDimensionAxisTitleComponent(chartBuilder, options, dimensionDirection) {\n let dimensionAxisTitleSettings = {\n text: options.dimensionTitleText,\n };\n dimensionAxisTitleSettings = extend(dimensionAxisTitleSettings, CONSTANTS.LAYOUTSETTINGS.dimensionAxisTitle);\n\n const dimensionAxisTitleOptions = getDimensionAxisTitleOptions(options, dimensionDirection);\n\n chartBuilder.addComponent(`${dimensionDirection}-axis-title`, dimensionAxisTitleSettings, dimensionAxisTitleOptions);\n}\n\nfunction addGridlinesComponent(chartBuilder, gridlinesOptions, measureDirection) {\n let gridlinesSettings = {\n ticks: {\n show: true,\n },\n minorTicks: {\n show: !gridlinesOptions.auto && !gridlinesOptions.auto && gridlinesOptions.spacing === 3,\n },\n };\n gridlinesSettings = extend(gridlinesSettings, CONSTANTS.LAYOUTSETTINGS.gridLines);\n\n gridlinesSettings[measureDirection] = { scale: 'measure' };\n\n chartBuilder.addComponent('grid-line', gridlinesSettings);\n}\n\nfunction addScrollbarComponent(chartBuilder, interactionActions, options, isChartHorizontal) {\n const settings = chartBuilder.getSettings();\n\n settings.scroll = {\n dimension: {\n viewSize: (options.scrollSettings && options.scrollSettings.viewSize) || 0,\n max: (options.scrollSettings && options.scrollSettings.max) || 0,\n },\n };\n\n const scrollbarOptions = {\n isRtl: options.isRtl,\n chartID: options.chartID,\n isHorizontal: !isChartHorizontal,\n };\n\n const scrollBarSettings = extend({}, CONSTANTS.LAYOUTSETTINGS.scrollBar);\n\n chartBuilder.addComponent('scrollbar', scrollBarSettings, scrollbarOptions);\n\n addInteractionActions(interactionActions, getScrollActions(options.isNavigationEnabledFn));\n}\n\n/*\n * Add \"ref-line\" component(s). Currently two \"ref-line\" components are used to reserve space for labels and\n * OOB markers outside of the data area. First component: shows the line(s) within the data area. Second component:\n * shows the label(s) and OOB marker(s).\n */\nfunction addRefLineComponent(chartBuilder, options, measureDirection, measureAxisProperties) {\n const axisDock = axisDockUtil.getAxisDock(measureDirection, measureAxisProperties.dock, options.isRtl);\n let refLinesSettings = {\n // First component\n key: 'ref-line',\n style: {\n oob: {\n show: false,\n },\n },\n lines: {\n x: [],\n y: [],\n },\n };\n refLinesSettings = extend(refLinesSettings, CONSTANTS.LAYOUTSETTINGS.refLines);\n\n let refLinesLabelsSettings = {\n // Second component\n // Use a unique key to force re-render of this component in Picasso.\n // This must be done because Picasso does not allow re-binding of functions (and shouldn't either).\n key: `ref-line-labels-${generateId()}`,\n require: ['renderer', 'chart'],\n dock: axisDockUtil.getOppositeAxisDock(measureDirection, measureAxisProperties.dock, options.isRtl),\n preferredSize() {\n if (measureDirection === 'x') {\n // Use constant component size if horizontal\n return 26;\n }\n\n // Adapt component size to the longest label if vertical\n const measureText = this.renderer.measureText;\n const formatter = this.chart.formatter({ data: chartBuilder.settings.scales.measure.data });\n const labelWidths = refLinesLabelsSettings.lines.y.map((line) => {\n const formattedValue = line.label.showValue !== false ? `(${formatter(line.value)})` : '';\n const text = `${line.label.text} ${formattedValue}`;\n const minimumText = line.label.text && formattedValue ? ` ${formattedValue}` : formattedValue;\n return {\n wanted: measureText({\n text,\n fontSize: line.fontSize,\n fontFamily: line.fontFamily,\n }).width,\n required: measureText({\n text: minimumText,\n fontSize: line.fontSize,\n fontFamily: line.fontFamily,\n }).width,\n };\n });\n\n const maxLabelWidth = labelWidths[0];\n for (let i = 1; i < labelWidths.length; i++) {\n if (labelWidths[i].wanted > maxLabelWidth.wanted) {\n maxLabelWidth.wanted = labelWidths[i].wanted;\n }\n if (labelWidths[i].required > maxLabelWidth.required) {\n maxLabelWidth.required = labelWidths[i].required;\n }\n }\n const labelPadding = 12;\n if (maxLabelWidth.required + labelPadding > 100) {\n return maxLabelWidth.required + labelPadding; // Always have space for the value\n }\n return Math.min(maxLabelWidth.wanted + labelPadding, 100); // Limit to 100 px width\n },\n lines: {\n x: [],\n y: [],\n },\n };\n refLinesLabelsSettings = extend(refLinesLabelsSettings, CONSTANTS.LAYOUTSETTINGS.refLinesLabels);\n\n options.refLines.forEach((refLine) => {\n if (!refLine.show) {\n return;\n }\n\n const expressionValue = refLine.refLineExpr && refLine.refLineExpr.value;\n const lineOptions = extend(true, {}, options, {\n paletteColor: refLine.paletteColor,\n style: refLine.style,\n chartID: chartBuilder.options.chartID,\n });\n\n // Add a line for each visible ref line\n const lineSettings = refLineUtil.lineSettings(\n {\n scale: 'measure',\n dir: measureDirection,\n value: expressionValue,\n },\n lineOptions\n );\n\n refLinesSettings.lines[measureDirection].push(lineSettings);\n\n // Add a label and an OOB marker for each visible ref line (using the second component)\n const lineLabelSettings = refLineUtil.lineLabelSettings(\n {\n scale: 'measure',\n value: expressionValue,\n label: {\n text: refLine.showLabel !== false ? refLine.label : '',\n showValue: refLine.showValue !== false,\n },\n },\n lineOptions\n );\n\n if (measureDirection === 'x') {\n lineLabelSettings.label.vAlign = axisDock === 'near' ? 1 : 0;\n } else {\n // y\n lineLabelSettings.label.align = axisDock === 'near' ? 0 : 1;\n }\n\n refLinesLabelsSettings.lines[measureDirection].push(lineLabelSettings);\n });\n\n chartBuilder.addComponent('ref-line', refLinesSettings, {});\n chartBuilder.addComponent('ref-line', refLinesLabelsSettings, {});\n}\n\n/**\n * Adds a lasso component to the chart builder\n * @param {ChartBuilder} chartBuilder\n * @param {object} options - lasso options\n * @param {string} options.brushKey - key used as context for lasso selection triggers\n * @param {string} options.brushComponent - target component key\n */\nfunction addLassoComponent(chartBuilder, options) {\n const lassoOptions = {\n brushKey: options.brushKey,\n brushComponents: options.brushComponents,\n brushData: options.brushData,\n };\n\n chartBuilder.addComponent('lasso', CONSTANTS.LAYOUTSETTINGS.lasso, lassoOptions);\n}\n/**\n * Adds a dimension range component to the chart builder\n * @param {any} chartBuilder\n * @param {object} options - range dim options\n * @param {string} options.brushKey - key used as context for range selection triggers\n * @param {string} options.brushAxis - target axis to perform range select on\n * @param {string} options.brushScale - Scale to use\n * @param {boolean} isChartHorizontal - Whether the chart is horizontal or not\n */\nfunction addRangeDimComponent(chartBuilder, options, isChartHorizontal, dock, isRtl) {\n let rangeDimSettings = {\n key: 'rangeDim',\n };\n\n rangeDimSettings = extend(rangeDimSettings, CONSTANTS.LAYOUTSETTINGS.rangeDim);\n\n const rangeDimOptions = {\n brushKey: options.brushKey,\n brushAxis: options.brushAxis,\n brushArea: options.brushArea,\n brushScale: options.brushScale,\n isHorizontal: !isChartHorizontal,\n dock,\n isRtl,\n };\n\n chartBuilder.addComponent('range', rangeDimSettings, rangeDimOptions);\n}\n\nfunction addRangeMeasureComponent(chartBuilder, options, isChartHorizontal, dock, isRtl) {\n let rangeMeasureSettings = {\n key: 'rangeMeasure',\n };\n\n rangeMeasureSettings = extend(rangeMeasureSettings, CONSTANTS.LAYOUTSETTINGS.rangeMeasure);\n\n const rangeMeasureOptions = {\n brushKey: options.brushKey,\n brushAxis: options.brushAxis,\n brushArea: options.brushArea,\n brushScale: options.brushScale,\n multiple: options.multiple,\n isHorizontal: isChartHorizontal,\n dock,\n isRtl,\n };\n\n chartBuilder.addComponent('range', rangeMeasureSettings, rangeMeasureOptions);\n}\n\nfunction addRangeAreaComponent(chartBuilder, options, isChartHorizontal, dock, isRtl) {\n let rangeMinorSettings = {\n key: 'rangeMinor',\n };\n\n rangeMinorSettings = extend(rangeMinorSettings, CONSTANTS.LAYOUTSETTINGS.rangeMinor);\n\n const rangeMeasureOptions = {\n brushKey: options.brushKey,\n brushAxis: options.brushAxis,\n brushData: options.brushData,\n brushArea: options.brushArea,\n brushComponents: options.brushComponents,\n brushScale: options.brushScale,\n multiple: options.multiple,\n isHorizontal: options.brushScale === 'measure' ? isChartHorizontal : !isChartHorizontal,\n dock,\n isRtl,\n chartInstance: options.chartInstance,\n };\n\n chartBuilder.addComponent('range-area', rangeMinorSettings, rangeMeasureOptions);\n}\n\nfunction getMeasureAxisOptions(options, measureDirection) {\n return {\n dock: options.measureAxisProperties && options.measureAxisProperties.dock,\n direction: measureDirection,\n isRtl: options.isRtl,\n };\n}\n\nfunction getMeasureAxisTitleOptions(options, measureDirection) {\n return getMeasureAxisOptions(options, measureDirection);\n}\n\nfunction getDimensionAxisOptions(options, dimensionDirection) {\n return {\n dock: options.dimensionAxisProperties && options.dimensionAxisProperties.dock,\n direction: dimensionDirection,\n isRtl: options.isRtl,\n };\n}\n\nfunction getDimensionAxisTitleOptions(options, dimensionDirection) {\n return getDimensionAxisOptions(options, dimensionDirection);\n}\n","const SCROLLBAR_KEY = 'scrollbar';\n\nfunction getActions(isEnabledFn) {\n function targetIsScrollbar(manager, e) {\n if (!e || !isEnabledFn()) {\n return false;\n }\n const startPoint = {\n x: e.center.x - e.deltaX,\n y: e.center.y - e.deltaY,\n };\n const components = this.chart.componentsFromPoint(startPoint);\n return components.some((c) => c.settings.key === SCROLLBAR_KEY);\n }\n\n const tap = {\n // single tap\n type: 'Tap',\n options: {\n enable: targetIsScrollbar,\n },\n events: {\n tap(e) {\n this.chart.component(SCROLLBAR_KEY).emit('tap', e);\n },\n },\n };\n\n const pan = {\n type: 'Pan',\n options: {\n enable: targetIsScrollbar,\n },\n events: {\n panstart(e) {\n this.chart.component(SCROLLBAR_KEY).emit('panStart', e);\n },\n pan(e) {\n this.chart.component(SCROLLBAR_KEY).emit('panMove', e);\n },\n panend(e) {\n this.chart.component(SCROLLBAR_KEY).emit('panEnd', e);\n },\n pancancel(e) {\n this.chart.component(SCROLLBAR_KEY).emit('panCancel', e);\n },\n },\n };\n\n const actions = [tap, pan];\n return actions;\n}\n\nexport default getActions;\n","import extend from 'extend';\n\nfunction scale(settings, opts) {\n const options = opts || {};\n const isHorizontal = !options.orientation || options.orientation === 'horizontal';\n const isRtl = !!options.isRtl;\n\n const defaultSettings = {\n name: options.name || 'scale',\n component: {\n invert: isHorizontal && isRtl,\n minorTicks: {\n count: 1,\n },\n range: options.range || undefined,\n domain: options.domain || undefined,\n trackBy: options.trackBy || 'id',\n },\n };\n\n return extend(true, {}, defaultSettings, settings || {});\n}\n\nfunction measureScale(settings, opts) {\n const options = opts || {};\n let fields = options.source || [];\n if (typeof fields === 'string') {\n fields = [fields];\n }\n\n const defaultSettings = {\n name: 'measure',\n component: {\n expand: 0.1,\n data: {\n fields: fields.map((f) => ({\n field: f,\n })),\n },\n },\n };\n\n const measureAxisProperties = opts && opts.measureAxisProperties;\n\n if (measureAxisProperties && !measureAxisProperties.autoMinMax) {\n // explicit min max measure scale range\n if (['min', 'minMax'].includes(measureAxisProperties.minMax)) {\n defaultSettings.component.min = measureAxisProperties.min;\n }\n if (['max', 'minMax'].includes(measureAxisProperties.minMax)) {\n defaultSettings.component.max = measureAxisProperties.max;\n }\n }\n\n const measureSettings = extend(true, defaultSettings, settings || {});\n const scaleSettings = scale(measureSettings, opts);\n const hasInvertSettings = settings && settings.component && typeof settings.component.invert !== 'undefined';\n\n if (!hasInvertSettings && opts && opts.orientation === 'vertical') {\n scaleSettings.component.invert = !scaleSettings.component.invert;\n }\n\n return scaleSettings;\n}\n\nfunction dimensionScale(settings, opts) {\n const defaultSettings = {\n name: 'dimension',\n component: {\n trackBy: 'id',\n type: 'band',\n data: {\n extract: {\n field: (opts && opts.source) || '',\n props: {\n label(v) {\n return v.qText || '';\n }, // Map qText to handle both qElemNo and qElemNumber\n },\n },\n },\n label(v) {\n return v.datum.label.value;\n }, // Set qText as value from the mapping on r.92\n },\n };\n\n const dimensionSettings = extend(true, defaultSettings, settings || {});\n\n return scale(dimensionSettings, opts);\n}\n\nscale.measureScale = measureScale;\nscale.dimensionScale = dimensionScale;\n\nexport default scale;\n","import extend from 'extend';\nimport axisDockUtil from './util/axis-dock-util';\n\nfunction axis(settings, options) {\n const chartID = options && options.chartID; // Should we validate if the parameter exists?\n const dock = options && options.dock;\n const direction = options && options.direction;\n const isRtl = options && options.isRtl;\n\n const axisLineStroke = options.theme.getStyle(chartID, 'axis.line.major', 'color');\n const titleFontSize = options.theme.getStyle(chartID, 'axis.title', 'fontSize');\n const titleFill = options.theme.getStyle(chartID, 'axis.title', 'color');\n const labelsFill = options.theme.getStyle(chartID, 'axis.label.name', 'color');\n const labelsFontSize = options.theme.getStyle(chartID, 'axis.label.name', 'fontSize');\n const titleFontFamily = options.theme.getStyle(chartID, 'axis.title', 'fontFamily');\n const labelsFontFamily = options.theme.getStyle(chartID, 'axis.label.name', 'fontFamily');\n\n const defaultSettings = {\n key: 'axis',\n type: 'axis',\n dock: axisDockUtil.getAxisDock(direction, dock, isRtl),\n brush: { trigger: [], consume: [] },\n settings: {\n title: {\n fontSize: titleFontSize,\n fontFamily: titleFontFamily,\n fill: titleFill,\n },\n line: {\n show: true,\n strokeWidth: 1,\n stroke: axisLineStroke,\n },\n labels: {\n fill: labelsFill,\n fontSize: labelsFontSize,\n fontFamily: labelsFontFamily,\n tiltAngle: isRtl ? -40 : 40,\n maxEdgeBleed: 75,\n maxSize: 150,\n mode: 'auto',\n },\n ticks: {\n stroke: axisLineStroke,\n },\n minorTicks: {\n stroke: axisLineStroke,\n },\n },\n };\n return extend(true, {}, defaultSettings, settings || {});\n}\n\nfunction xAxis(settings, options) {\n const defaultSettings = {\n key: 'x-axis',\n scale: 'x',\n };\n const xAxisSettings = extend(true, defaultSettings, settings || {});\n return axis(xAxisSettings, options);\n}\n\nfunction yAxis(settings, options) {\n const dock = options && options.dock;\n const isRtl = options && options.isRtl;\n const defaultSettings = {\n key: 'y-axis',\n scale: 'y',\n dock: axisDockUtil.getYAxisDock(dock, isRtl),\n };\n const yAxisSettings = extend(true, defaultSettings, settings || {});\n return axis(yAxisSettings, options);\n}\n\naxis.xAxis = xAxis;\naxis.yAxis = yAxis;\n\nexport default axis;\n","import extend from 'extend';\nimport axisDockUtil from './util/axis-dock-util';\n\nfunction text(settings, options) {\n const chartID = options && options.chartID;\n const dock = options && options.dock;\n const direction = options && options.direction;\n const isRtl = options && options.isRtl;\n const titleFontSize = options.theme.getStyle(chartID, 'axis.title', 'fontSize');\n const titleFill = options.theme.getStyle(chartID, 'axis.title', 'color');\n const titleFontFamily = options.theme.getStyle(chartID, 'axis.title', 'fontFamily');\n\n const defaultSettings = {\n key: 'text',\n type: 'text',\n dock: axisDockUtil.getAxisDock(direction, dock, isRtl) || 'bottom',\n displayOrder: 0, // TODO: This can be removed when picasso set displayOrder for text component to 0. Currently picasso set it to 99.\n style: {\n text: {\n fontSize: titleFontSize,\n fontFamily: titleFontFamily,\n fill: titleFill,\n },\n },\n };\n return extend(true, {}, defaultSettings, settings || {});\n}\n\nfunction xAxisTitle(settings, options) {\n const defaultSettings = {\n key: 'x-axis-title',\n };\n const xAxisTitleSettings = extend(true, defaultSettings, settings || {});\n return text(xAxisTitleSettings, options);\n}\n\nfunction yAxisTitle(settings, options) {\n const dock = options && options.dock;\n const isRtl = options && options.isRtl;\n const defaultSettings = {\n key: 'y-axis-title',\n dock: axisDockUtil.getYAxisDock(dock, isRtl) || 'left',\n };\n const yAxisTitleSettings = extend(true, defaultSettings, settings || {});\n return text(yAxisTitleSettings, options);\n}\n\ntext.xAxisTitle = xAxisTitle;\ntext.yAxisTitle = yAxisTitle;\n\nexport default text;\n","function getBublesAlign(isHorizontal, dock, isRtl) {\n let isAlignStart = (isHorizontal && dock !== 'far') || (!isHorizontal && dock === 'far');\n if (!isHorizontal && isRtl) {\n isAlignStart = !isAlignStart;\n }\n return isAlignStart ? 'start' : 'end';\n}\n\nfunction getDock(brushAxis, brushArea) {\n const dockTargets = [];\n let dockT;\n if (brushAxis) {\n dockTargets.push(`@${brushAxis}`);\n }\n if (brushArea) {\n dockTargets.push(`@${brushArea}`);\n }\n if (dockTargets.length) {\n dockT = dockTargets.join(',');\n }\n return dockT;\n}\n\nexport default {\n getBublesAlign,\n getDock,\n};\n","/* eslint-disable guard-for-in */\n/* eslint-disable no-restricted-syntax */\nconst layoutModes = {\n SPARK: { width: 0, height: 0 },\n XSMALL: { width: 150, height: 75 },\n SMALL: { width: 300, height: 150 },\n MEDIUM: { width: 400, height: 220 },\n FULL: { width: 550, height: 450 },\n};\n\nfunction LayoutModes() {\n return layoutModes;\n}\n\nLayoutModes.getLayoutModeKeys = function () {\n const layoutModeKeys = [];\n let modeKey;\n\n for (modeKey in layoutModes) {\n layoutModeKeys.push(modeKey);\n }\n return layoutModeKeys;\n};\n\nexport default LayoutModes;\n","import extend from 'extend';\n\nfunction getLabel(context) {\n const end = context.data.end;\n const formatter = context.dataset(end.source.key).field(end.source.field).formatter();\n return formatter(end.value);\n}\n\nfunction labels(settings, options) {\n const chartID = options && options.chartID;\n const labelsFill = options.theme.getStyle(chartID, 'label.value', 'color');\n const labelsFontSize = options.theme.getStyle(chartID, 'label.value', 'fontSize');\n const labelsFontFamily = options.theme.getStyle(chartID, 'label.value', 'fontFamily');\n\n const defaultSettings = {\n key: 'labels',\n type: 'labels',\n displayOrder: 1,\n settings: {\n sources: [\n {\n component: 'box-marker', // Connects with the matching \"key:\" attribute in the visualizations\n selector: 'rect',\n strategy: {\n type: 'bar',\n settings: {\n direction: 'up',\n fontFamily: labelsFontFamily,\n fontSize: parseFloat(labelsFontSize),\n align: 0.5,\n labels: [\n {\n placements: [\n {\n position: 'outside',\n fill: labelsFill,\n justify: 0,\n },\n {\n position: 'inside',\n fill: settings && settings.settings.sources[0].strategy.settings.labels[0].placements[1].fill,\n justify: 1,\n },\n ],\n label: getLabel,\n },\n ],\n },\n },\n },\n ],\n },\n };\n return extend(true, {}, defaultSettings, settings || {});\n}\n\nexport default labels;\n","import extend from 'extend';\n\nconst directions = {\n left: 'left',\n right: 'right',\n up: 'top',\n down: 'bottom',\n};\n\nfunction legend(settings, options) {\n const chartID = options && options.chartID;\n const isRtl = options && options.isRtl;\n let dock = (options && options.dock) || 'auto';\n const show = options && options.show;\n\n if (dock === 'auto') {\n dock = options.chartHeight / options.chartWidth < 1 ? (isRtl ? 'left' : 'right') : 'bottom';\n }\n\n const titleFill = options.theme.getStyle(chartID, 'legend.title', 'color');\n const titleFontSize = options.theme.getStyle(chartID, 'legend.title', 'fontSize');\n const itemFill = options.theme.getStyle(chartID, 'legend.label', 'color');\n const itemFontSize = options.theme.getStyle(chartID, 'legend.label', 'fontSize');\n const titleFontFamily = options.theme.getStyle(chartID, 'legend.title', 'fontFamily');\n const itemFontFamily = options.theme.getStyle(chartID, 'legend.label', 'fontFamily');\n\n const defaultSettings = {\n key: 'legend',\n type: 'legend-cat',\n dock,\n show,\n\n scale: {\n type: 'color',\n },\n settings: {\n title: {\n anchor: 'middle',\n },\n layout: {\n direction: isRtl ? 'rtl' : 'ltr',\n size: dock === 'top' || dock === 'bottom' ? 2 : 1,\n vertical: dock === 'top' || dock === 'bottom' ? 16 : 8,\n },\n navigation: {\n button: {\n class: {\n 'lui-fade-button': true,\n },\n content(h, state) {\n const c = ['lui-button__icon', 'lui-icon', `lui-icon--triangle-${directions[state.direction]}`];\n return h('span', {\n style: {\n pointerEvents: 'none',\n },\n class: c.join(' '),\n });\n },\n },\n },\n },\n style: {\n item: {\n label: {\n fontSize: itemFontSize,\n fontFamily: itemFontFamily,\n fill: itemFill,\n lineHeight: 1,\n wordBreak: 'break-word',\n },\n margin: {\n top: 5,\n left: 10,\n right: 10,\n bottom: 10,\n },\n shape: {\n type: options.type ? options.type : 'square',\n size: (parseInt(itemFontSize, 10) * 3) / 4, // To make it consistent with non-picasso charts\n },\n },\n title: {\n show: options.showTitle,\n fontSize: titleFontSize,\n fontFamily: titleFontFamily,\n fill: titleFill,\n },\n },\n };\n return extend(true, {}, defaultSettings, settings);\n}\n\nexport default legend;\n","import extend from 'extend';\nimport ChartPresets from './chart-presets';\nimport scale from './scale';\nimport axis from './components/axis';\nimport boxMarker from './components/box-marker';\nimport eventArea from './components/event-area';\nimport gridLine from './components/grid-line';\nimport interaction from './components/interaction';\nimport pointMarker from './components/point-marker';\nimport scrollbar from './components/scrollbar';\nimport text from './components/text';\nimport lasso from './components/lasso';\nimport range from './components/range';\nimport refLine from './components/ref-line';\nimport layoutModes from './layout-modes';\nimport labels from './components/labels';\nimport categoricalLegend from './components/categorical-legend';\nimport sequentialLegend from './components/sequential-legend';\nimport rangeArea from './components/range-area';\n\nfunction createComponent(type, settings, options) {\n switch (type) {\n // Picasso components\n case 'scale':\n return scale(settings, options);\n case 'measure-scale':\n return scale.measureScale(settings, options);\n case 'dimension-scale':\n return scale.dimensionScale(settings, options);\n case 'axis':\n return axis(settings, options);\n case 'box-marker':\n return boxMarker(settings, options);\n case 'point-marker':\n return pointMarker(settings, options);\n case 'scrollbar':\n return scrollbar(settings, options);\n case 'text':\n return text(settings, options);\n case 'lasso':\n return lasso(settings, options);\n case 'range':\n return range(settings, options);\n case 'range-area':\n return rangeArea(settings, options);\n case 'categorical-legend':\n return categoricalLegend(settings, options);\n case 'sequential-legend':\n return sequentialLegend(settings, options);\n // Wrapepd picasso components\n case 'x-axis':\n return axis.xAxis(settings, options);\n case 'y-axis':\n return axis.yAxis(settings, options);\n case 'x-axis-title':\n return text.xAxisTitle(settings, options);\n case 'y-axis-title':\n return text.yAxisTitle(settings, options);\n case 'grid-line':\n return gridLine(settings, options);\n case 'interaction':\n return interaction(settings, options);\n case 'ref-line':\n return refLine(settings, options);\n // Custom components\n case 'event-area':\n return eventArea(settings, options);\n case 'labels':\n return labels(settings, options);\n default:\n return undefined;\n }\n}\n\nfunction ChartBuilder(options) {\n this.options = options || {};\n\n this.settings = {\n dockLayout: {\n layoutModes: layoutModes(),\n },\n components: [],\n scales: {},\n };\n}\n\nChartBuilder.prototype.addComponent = function addComponent(type, settings, options) {\n const extendedOptions = extend(true, {}, this.options, options || {});\n const component = createComponent(type, settings, extendedOptions);\n this.settings.components.push(component);\n return component;\n};\n\nChartBuilder.prototype.addInteraction = function addInteraction(settings, options) {\n const extendedOptions = extend(true, {}, this.options, options || {});\n const component = createComponent('interaction', settings, extendedOptions);\n if (!this.settings.interactions) {\n this.settings.interactions = [];\n }\n this.settings.interactions.push(component);\n return component;\n};\n\nChartBuilder.prototype.addScale = function addScale(type, settings, options) {\n const extendedOptions = extend(true, {}, this.options, options || {});\n const scale = createComponent(type, settings, extendedOptions);\n this.settings.scales[scale.name] = scale.component;\n};\n\nChartBuilder.prototype.getSettings = function getSettings() {\n return this.settings;\n};\n\nChartBuilder.prototype.getComponent = function getComponent(key) {\n return this.settings.components.filter((component) => component.key === key)[0];\n};\n\nChartBuilder.prototype.addPreset = function addPreset(type, options) {\n ChartPresets(type, this, options);\n};\n\nChartBuilder.validateComponentKeys = function validateComponentKeys(components) {\n const keys = {};\n return components\n .map((component) => {\n const key = component.key;\n if (!key) {\n return `Missing key for component ${component.type}`;\n }\n if (keys[key]) {\n return `Duplicate key for component ${component.type}`;\n }\n keys[key] = true;\n return null;\n })\n .filter((msg) => !!msg);\n};\n\n/*\n * Factory function\n */\nChartBuilder.create = function (options) {\n return new ChartBuilder(options);\n};\n\nChartBuilder.createComponent = createComponent;\n\nexport default ChartBuilder;\n","import extend from 'extend';\n\nfunction boxMarker(settings) {\n const defaultSettings = {\n key: 'box-marker',\n type: 'box-marker',\n settings: {\n minor: { scale: 'x' },\n orientation: 'horizontal',\n },\n brush: { trigger: [], consume: [] },\n };\n return extend(true, {}, defaultSettings, settings || {});\n}\n\nexport default boxMarker;\n","import extend from 'extend';\n\nfunction pointMarker(settings) {\n const defaultSettings = {\n key: 'point-marker',\n type: 'point-marker',\n settings: {},\n brush: { trigger: [], consume: [] },\n };\n return extend(true, {}, defaultSettings, settings || {});\n}\n\nexport default pointMarker;\n","import extend from 'extend';\n\nfunction scrollbar(settings, options) {\n const isRtl = options && options.isRtl;\n const chartID = options && options.chartID;\n const isHorizontal = options && options.isHorizontal;\n const defaultSettings = {\n key: 'scrollbar',\n type: 'scrollbar',\n scroll: 'dimension',\n dock: isHorizontal ? 'bottom' : isRtl ? 'left' : 'right',\n settings: {\n backgroundColor: options.theme.getStyle(chartID, '', 'backgroundColor'),\n invert: isRtl && isHorizontal,\n },\n };\n return extend(true, {}, defaultSettings, settings || {});\n}\n\nexport default scrollbar;\n","import extend from 'extend';\n\nfunction lasso(settings, options) {\n const brushKey = options && options.brushKey;\n const brushComponents = options && options.brushComponents ? options.brushComponents : [];\n const brushData = options && options.brushData ? options.brushData : ['elemNo'];\n\n const defaultSettings = {\n type: 'brush-lasso',\n key: 'lasso',\n displayOrder: 99,\n settings: {\n brush: {\n components: [],\n },\n lasso: {\n fill: 'rgba(0, 0, 0, 0)',\n stroke: 'rgba(102,102,102,1)',\n strokeWidth: 2,\n opacity: 1,\n strokeDasharray: null, // '10, 4',\n },\n startPoint: {\n r: 10,\n fill: 'rgba(0, 152, 69, 1)',\n strokeWidth: 0,\n opacity: 1,\n },\n },\n };\n\n brushComponents.forEach((comp) => {\n defaultSettings.settings.brush.components.push({\n contexts: brushKey ? [brushKey] : undefined,\n key: comp,\n data: brushData,\n });\n });\n\n return extend(true, {}, defaultSettings, settings || {});\n}\n\nexport default lasso;\n","import extend from 'extend';\nimport rangeUtil from './util/range-util';\n\nfunction range(settings, options) {\n const brushKey = options && options.brushKey;\n const brushAxis = options && options.brushAxis;\n const brushArea = options && options.brushArea;\n const brushScale = options && options.brushScale;\n const isHorizontal = options && options.isHorizontal;\n const dock = options && options.dock;\n const isRtl = options && options.isRtl;\n\n const defaultSettings = {\n type: 'brush-range',\n key: 'range',\n displayOrder: 99,\n dock: rangeUtil.getDock(brushAxis, brushArea),\n settings: {\n brush: brushKey,\n fill: 'rgba(0, 0, 0, 0)',\n scale: brushScale,\n multiple: options && options.multiple === false ? options.multiple : true,\n direction: isHorizontal ? 'horizontal' : 'vertical',\n target: {\n component: brushAxis,\n fill: 'rgba( 82, 204, 82, 0.2 )',\n fillActive: 'rgba(82, 204, 82, 0.4)',\n },\n bubbles: {\n align: rangeUtil.getBublesAlign(isHorizontal, dock, isRtl),\n },\n },\n };\n return extend(true, {}, defaultSettings, settings || {});\n}\n\nexport default range;\n","import extend from 'extend';\nimport rangeUtil from './util/range-util';\n\nfunction rangeArea(settings, options) {\n const brushKey = options && options.brushKey;\n const brushAxis = options && options.brushAxis;\n const brushComponents = options && options.brushComponents ? options.brushComponents : [];\n const brushData = options && options.brushData ? options.brushData : ['elemNo'];\n const brushArea = options && options.brushArea;\n const isHorizontal = options && options.isHorizontal;\n const dock = options && options.dock;\n const isRtl = options && options.isRtl;\n const chartInstance = options && options.chartInstance;\n let isStartBorder = true;\n\n const defaultSettings = {\n type: 'brush-area-dir',\n key: 'area',\n displayOrder: 99,\n dock: rangeUtil.getDock(brushAxis, brushArea),\n settings: {\n brush: {\n components: [],\n },\n direction: isHorizontal ? 'horizontal' : 'vertical',\n target: {\n component: brushAxis,\n fill: 'rgba( 82, 204, 82, 0.2 )',\n fillActive: 'rgba(82, 204, 82, 0.4)',\n },\n bubbles: {\n align: rangeUtil.getBublesAlign(isHorizontal, dock, isRtl),\n label(data) {\n if (isStartBorder) {\n isStartBorder = false;\n const formattedStartValue = chartInstance\n .dataset(data.binStart.source.key)\n .field(data.binStart.source.field)\n .formatter()(data.binStart.value);\n return formattedStartValue;\n }\n isStartBorder = true;\n const formattedEndValue = chartInstance\n .dataset(data.binEnd.source.key)\n .field(data.binEnd.source.field)\n .formatter()(data.binEnd.value);\n return formattedEndValue;\n },\n },\n multiple: options && options.multiple === false ? options.multiple : true,\n },\n };\n\n brushComponents.forEach((comp) => {\n defaultSettings.settings.brush.components.push({\n contexts: brushKey ? [brushKey] : undefined,\n key: comp,\n data: brushData,\n action: 'add',\n });\n });\n\n return extend(true, {}, defaultSettings, settings || {});\n}\n\nexport default rangeArea;\n","import extend from 'extend';\n\nfunction sequentialLegend(settings, options) {\n const chartID = options && options.chartID;\n const isRtl = options && options.isRtl;\n let dock = options.dock || 'auto';\n\n if (dock === 'auto') {\n dock = options.chartHeight < options.chartWidth ? (isRtl ? 'left' : 'right') : 'bottom';\n }\n\n const titleFill = options.theme.getStyle(chartID, 'legend.title', 'color');\n const titleFontSize = options.theme.getStyle(chartID, 'legend.title', 'fontSize');\n const titleFontFamily = options.theme.getStyle(chartID, 'legend.title', 'fontFamily');\n const tickFill = options.theme.getStyle(chartID, 'legend.label', 'color');\n const tickFontSize = options.theme.getStyle(chartID, 'legend.label', 'fontSize');\n const tickFontFamily = options.theme.getStyle(chartID, 'legend.label', 'fontFamily');\n\n function getAlignValue(word) {\n switch (word) {\n case 'left':\n return 0;\n case 'right':\n return 1;\n case 'middle':\n default:\n return 0.5;\n }\n }\n\n const defaultSettings = {\n key: 'seqlegend',\n type: 'legend-seq',\n dock,\n\n // Settings to position the legend outside of the axis\n displayOrder: 200,\n minimumLayoutMode: 'MEDIUM',\n prioOrder: 0,\n\n settings: {\n align: isRtl ? getAlignValue('right') : getAlignValue('left'),\n major: {\n invert: dock === 'left' || dock === 'right' || isRtl,\n },\n title: {\n show: options.showTitle,\n fontSize: titleFontSize,\n fontFamily: titleFontFamily,\n fill: titleFill,\n },\n tick: {\n fill: tickFill,\n fontSize: tickFontSize,\n fontFamily: tickFontFamily,\n },\n },\n };\n const finalSettings = extend(true, {}, defaultSettings, settings);\n return finalSettings;\n}\n\nexport default sequentialLegend;\n","import extend from 'extend';\n\nfunction gridLine(settings, options) {\n const chartID = options && options.chartID;\n\n const axisLineStroke = options.theme.getStyle(chartID, 'grid.line.major', 'color');\n\n const defaultSettings = {\n displayOrder: -1,\n key: 'grid-line',\n type: 'grid-line',\n x: null,\n y: null,\n ticks: {\n stroke: axisLineStroke,\n },\n minorTicks: {\n stroke: axisLineStroke,\n },\n };\n\n return extend(true, {}, defaultSettings, settings || {});\n}\n\nexport default gridLine;\n","import extend from 'extend';\n\nfunction interaction(settings, options) {\n const gestures = (options && options.gestures) || [];\n const defaultSettings = {\n type: 'hammer',\n key: 'hammered',\n gestures,\n };\n return extend(true, {}, defaultSettings, settings || {});\n}\n\nexport default interaction;\n","import extend from 'extend';\n\nfunction refLine(settings, options) {\n const chartID = options && options.chartID; // Should we validate if the parameter exists?\n const oobColor = options.theme.getStyle(chartID, 'referenceLine.outOfBounds', 'color');\n const oobBackgroundColor = options.theme.getStyle(chartID, 'referenceLine.outOfBounds', 'backgroundColor');\n\n const defaultSettings = {\n key: 'ref-line',\n type: 'ref-line',\n dock: 'center',\n prioOrder: -1,\n lines: {\n x: [],\n y: [],\n },\n style: {\n oob: {\n width: 7,\n fill: oobBackgroundColor,\n text: {\n fill: oobColor,\n },\n padding: {\n x: 7,\n y: 5,\n },\n },\n },\n };\n\n return extend(true, {}, defaultSettings, settings || {});\n}\n\nexport default refLine;\n","import extend from 'extend';\n\nfunction eventArea(settings) {\n const defaultSettings = {\n type: 'event-area',\n key: 'event-area',\n };\n return extend(true, {}, defaultSettings, settings || {});\n}\n\nexport default eventArea;\n","import DimensionMeasureChart from './presets/dimension-measure-chart/dimension-measure-chart';\n\nfunction ChartPresets(type, chartBuilder, options) {\n switch (type) {\n case 'dimension-measure-chart':\n DimensionMeasureChart(chartBuilder, options);\n break;\n default:\n throw Error('There is no chart preset with that type');\n }\n}\n\nexport default ChartPresets;\n","/**\n * Configuration for disclaimers\n *\n */\n\n/**\n * Placement on chart\n */\nconst ALIGNMENT = {\n CENTER: 0,\n BOTTOM: 1,\n};\n\n/**\n * Configuration of all disclaimers\n *\n * label - key for translation\n * alignment - Placement on chart\n * default - Supported by default. If 'false' the disclaimer needs to be set to 'true' in supportedDisclaimers to be valid\n */\nconst DISCLAIMERS = [\n {\n label: 'NoDataExist',\n alignment: ALIGNMENT.CENTER,\n default: true,\n },\n {\n label: 'RequireNumericDimension',\n alignment: ALIGNMENT.CENTER,\n default: false,\n },\n {\n label: 'OnlyNanData',\n alignment: ALIGNMENT.CENTER,\n default: true,\n },\n {\n label: 'OnlyNegativeOrZeroValues',\n alignment: ALIGNMENT.CENTER,\n default: false,\n },\n {\n label: 'LimitedData',\n alignment: ALIGNMENT.BOTTOM,\n default: false,\n },\n {\n label: 'OnlyNanColor',\n alignment: ALIGNMENT.BOTTOM,\n default: false,\n },\n {\n label: 'NegativeOrZeroValues',\n alignment: ALIGNMENT.BOTTOM,\n default: false,\n },\n {\n label: 'DataRangeIncludingZero',\n alignment: ALIGNMENT.BOTTOM,\n default: false,\n },\n];\n\nexport default {\n DISCLAIMERS,\n ALIGNMENT,\n};\n","/**\n * Disclaimer utility for setting attributes needed for the disclaimer component\n *\n * @exports objects.picasso/disclaimer/disclaimer-attributes-utils\n */\nimport DisclaimersConfig from './disclaimers-config';\n\n/**\n * Checks if the data range in measures and axis spans over the value 0\n * @ignore\n * @param measureAxis\n * @param measureInfo\n * @returns {boolean} True if the data range in any measure or the given axis spans over 0\n */\nfunction hasDataRangeIncludingZero(measureAxis, measureInfo) {\n const len = measureInfo.length;\n let i;\n let explicitMinOn;\n let explicitMaxOn;\n let min;\n let max;\n if (measureAxis) {\n explicitMinOn =\n !measureAxis.autoMinMax &&\n (measureAxis.minMax === 'min' || measureAxis.minMax === 'minMax') &&\n measureAxis.min !== null &&\n !Number.isNaN(+measureAxis.min);\n explicitMaxOn =\n !measureAxis.autoMinMax &&\n (measureAxis.minMax === 'max' || measureAxis.minMax === 'minMax') &&\n measureAxis.max !== null &&\n !Number.isNaN(+measureAxis.max);\n }\n min = Number.MAX_VALUE;\n max = -Number.MAX_VALUE;\n\n // return true if data contains zero\n for (i = 0; i < len; i++) {\n min = Math.min(min, measureInfo[i].qMin);\n max = Math.max(max, measureInfo[i].qMax);\n if (min <= 0 && max >= 0) {\n return true;\n }\n }\n\n // return true if axis explicits contains zero\n min = explicitMinOn ? measureAxis.min : min;\n max = explicitMaxOn ? measureAxis.max : max;\n return min <= 0 && max >= 0;\n}\n\nfunction hasSubNodes(stackedDataPages) {\n return (\n stackedDataPages && stackedDataPages[0] && stackedDataPages[0].qData[0] && stackedDataPages[0].qData[0].qSubNodes\n );\n}\n\nconst util = {\n getNoDataExistAttribute(qHyperCube) {\n return qHyperCube.qSize.qcy * qHyperCube.qSize.qcx === 0;\n },\n\n getLimitedDataAttribute(qHyperCube, opts) {\n let result = false;\n let maxNbrOfDimensions;\n if (!qHyperCube) {\n result = opts.explicitLimitedData === true;\n } else if (opts.explicitLimitedData !== undefined) {\n result = opts.explicitLimitedData === true;\n } else if (qHyperCube.qDataPages && qHyperCube.qDataPages[0]) {\n result = !opts.paging && qHyperCube.qSize.qcy > qHyperCube.qDataPages[0].qMatrix.length;\n } else if (hasSubNodes(qHyperCube.qStackedDataPages)) {\n maxNbrOfDimensions = opts.maxNbrOfDimensions ? opts.maxNbrOfDimensions : 2;\n if (qHyperCube.qDimensionInfo.length >= maxNbrOfDimensions) {\n result = qHyperCube.qStackedDataPages[0].qData[0].qSubNodes.some((node) => node.qDown > 0);\n } else {\n result =\n qHyperCube.qStackedDataPages[0].qData[0].qSubNodes.length < qHyperCube.qStackedDataPages[0].qArea.qHeight;\n }\n }\n return result;\n },\n\n getNegativeOrZeroValuesAttribute(qHyperCube, opts) {\n return !opts.supportNegative && qHyperCube.qMeasureInfo.some((measure) => measure.qMin <= 0);\n },\n\n getOnlyNegativeOrZeroValuesAttribute(qHyperCube, opts) {\n return (\n (!opts.supportNegative &&\n qHyperCube.qMeasureInfo.every((measure) => measure.qMax <= 0 && measure.qMax >= measure.qMin)) ||\n qHyperCube.qSize.qcy === 0\n );\n },\n\n getOnlyNanDataAttribute(qHyperCube, opts) {\n if (opts.explicitOnlyNanData !== undefined) {\n return opts.explicitOnlyNanData;\n }\n\n return qHyperCube.qMeasureInfo.every((measure) => measure.qMax < measure.qMin || measure.qMax === 'NaN');\n },\n\n getDataRangeIncludingZeroAttribute(data, opts) {\n return !opts.supportRangeOverZero && hasDataRangeIncludingZero(data.measureAxis, data.qHyperCube.qMeasureInfo);\n },\n\n /**\n * Apply attributes that configures disclaimers for a charts\n * @param {Object} options - Options\n * @param {Object} data - Layout data\n * @returns {Object}\n */\n applyAttributes(options, data) {\n const opts = options || {};\n const dataAttributes = {};\n\n opts.supportNegative = opts.supportNegative === undefined ? true : opts.supportNegative;\n opts.supportRangeOverZero = opts.supportRangeOverZero === undefined ? true : opts.supportRangeOverZero;\n\n DisclaimersConfig.DISCLAIMERS.forEach((config) => {\n dataAttributes[config.label] = false;\n });\n if (!data || !data.qHyperCube) {\n return dataAttributes;\n }\n dataAttributes.NoDataExist = this.getNoDataExistAttribute(data.qHyperCube);\n if (dataAttributes.NoDataExist) {\n return dataAttributes;\n }\n dataAttributes.RequireNumericDimension = opts.explicitRequireNumericDimension;\n if (dataAttributes.RequireNumericDimension) {\n return dataAttributes;\n }\n dataAttributes.LimitedData = this.getLimitedDataAttribute(data.qHyperCube, opts);\n dataAttributes.NegativeOrZeroValues = this.getNegativeOrZeroValuesAttribute(data.qHyperCube, opts);\n dataAttributes.OnlyNegativeOrZeroValues = this.getOnlyNegativeOrZeroValuesAttribute(data.qHyperCube, opts);\n dataAttributes.OnlyNanData = this.getOnlyNanDataAttribute(data.qHyperCube, opts);\n dataAttributes.DataRangeIncludingZero = this.getDataRangeIncludingZeroAttribute(data, opts);\n\n return dataAttributes;\n },\n};\nexport default util;\n","/**\n * Helper for disclaimer component\n *\n */\n\n/**\n * Create new Helper for disclaimer\n * @param disclaimersConfig {Array} List of disclaimer config objects\n * @param dataAttributes {Object} Config for which disclaimers that are valid to show\n * @param supportedDisclaimers {Object} Config for which disclaimers that are supported\n * @constructor\n */\nfunction Helper(disclaimersConfig, dataAttributes, supportedDisclaimers) {\n this.disclaimersConfig = disclaimersConfig;\n this.dataAttributes = dataAttributes;\n this.supportedDisclaimers = supportedDisclaimers;\n}\n\nfunction isValid(label, list) {\n return label && list && list[label];\n}\n\n/**\n * Returns true if disclaimer config is valid, supported and has an alignment\n * @param disclaimer {Object} Configuration for a disclaimer\n * @param alignment {Integer} Alignment value in disclaimers config\n * @returns {Boolean}\n */\nHelper.prototype.isValidAndSupported = function (disclaimer, alignment) {\n return (\n isValid(disclaimer.label, this.dataAttributes) &&\n (disclaimer.default || isValid(disclaimer.label, this.supportedDisclaimers)) &&\n alignment !== undefined &&\n disclaimer.alignment === alignment\n );\n};\n\n/**\n * Returns true if there are any valid disclaimers for an alignment\n * @param alignment {Integer} Alignment value in disclaimers config\n * @returns {Boolean}\n */\nHelper.prototype.isAnyValidDisclaimer = function (alignment) {\n let result = false;\n const self = this;\n this.disclaimersConfig.forEach((config) => {\n if (self.isValidAndSupported(config, alignment)) {\n result = true;\n }\n });\n return result;\n};\n\n/**\n * Gets all translated disclaimer messages for an alignment\n * @param alignment {Integer} Alignment value in disclaimers config\n * @param translator {Object} Translator component\n * @returns {string}\n */\nHelper.prototype.getMessage = function (alignment, translator) {\n let str = '';\n const self = this;\n if (translator) {\n this.disclaimersConfig.forEach((config) => {\n if (self.isValidAndSupported(config, alignment)) {\n str += `${translator.get(`Object.Disclaimer.${config.label}`)} `;\n }\n });\n }\n return str;\n};\n\nexport default Helper;\n","/**\n * Disclaimer component for Picasso base charts\n *\n * @exports objects.picasso/disclaimer/disclaimer\n */\n\nimport extend from 'extend';\nimport DisclaimersConfig from './disclaimers-config';\nimport AttributesUtil from './disclaimer-attributes-util';\nimport DisclaimerComponentHelper from './disclaimer-component-helper';\n\nDisclaimer.ERRORS = {\n SET: 'Calling Disclaimer.set() without attributes',\n DISPLAY: 'Calling Disclaimer.display() before attributes are applied',\n};\n\n/**\n * Create new disclaimer component\n * @param {Object} options - A reference to chart options\n * @constructor\n */\nfunction Disclaimer(environment) {\n this.environment = environment;\n this.clear();\n}\n\nDisclaimer._applyDefaultSupport = function (supportedDisclaimers, disclaimersConfig) {\n let supported = supportedDisclaimers;\n if (!supported) {\n supported = {};\n }\n disclaimersConfig.forEach((config) => {\n if (supported[config.label] === undefined) {\n supported[config.label] = config.default;\n }\n });\n return supported;\n};\n\nDisclaimer.prototype.getComponentSettings = function () {\n const { translator } = this.environment;\n const supportedDisclaimers = extend(true, {}, this.vizAttributes.supportedDisclaimers);\n const helper = new DisclaimerComponentHelper(\n DisclaimersConfig.DISCLAIMERS,\n this.dataAttributes,\n supportedDisclaimers\n );\n\n let message;\n let dock;\n if (helper.isAnyValidDisclaimer(DisclaimersConfig.ALIGNMENT.CENTER)) {\n message = helper.getMessage(DisclaimersConfig.ALIGNMENT.CENTER, translator);\n dock = 'center';\n } else if (helper.isAnyValidDisclaimer(DisclaimersConfig.ALIGNMENT.BOTTOM)) {\n message = helper.getMessage(DisclaimersConfig.ALIGNMENT.BOTTOM, translator);\n dock = 'bottom';\n } else {\n return undefined;\n }\n\n return {\n key: 'disclaimer',\n type: 'disclaimer',\n layout: {\n displayOrder: 1000,\n dock,\n },\n settings: {\n label: message,\n rtl: this.environment?.options?.direction === 'rtl',\n },\n };\n};\n\n/**\n * Set attributes that configures disclaimers for a charts\n * @param {Object} attributes - Disclaimer settings for a chart\n */\nDisclaimer.prototype.set = function (attributes) {\n this.clear();\n if (attributes) {\n this.vizAttributes = attributes;\n this.dataAttributes = AttributesUtil.applyAttributes(this.vizAttributes.options, this.vizAttributes.data);\n } else {\n throw new Error(Disclaimer.ERRORS.SET);\n }\n};\n\n/**\n * Clears disclaimer settings\n */\nDisclaimer.prototype.clear = function () {\n this.vizAttributes = null;\n this.dataAttributes = null;\n};\n\nexport default Disclaimer;\n","import extend from 'extend';\nimport { getValue } from 'qlik-chart-modules';\n\nimport Class from '../extra/class';\nimport ChartBuilder from './chart-builder/chart-builder';\nimport Disclaimer from './disclaimer/disclaimer';\n\nfunction getData(backendApi, hyperCube, rect) {\n let page = {\n qTop: 0,\n qLeft: 0,\n qWidth: hyperCube.qSize.qcx,\n qHeight: 10000 / hyperCube.qSize.qcx,\n };\n let dataPagesPath;\n\n if (rect) {\n const width = rect.width || hyperCube.qSize.qcx;\n const maxHeight = Math.floor(10000 / width);\n page = {\n qTop: rect.top || 0,\n qLeft: rect.left || 0,\n qWidth: width,\n qHeight: rect.height ? Math.min(rect.height, maxHeight) : maxHeight,\n };\n } else {\n page = {\n qTop: 0,\n qLeft: 0,\n qWidth: hyperCube.qSize.qcx,\n qHeight: 10000 / hyperCube.qSize.qcx,\n };\n }\n\n switch (hyperCube.qMode) {\n case 'K': // Stacked mode\n dataPagesPath = 'qStackedDataPages';\n break;\n case 'S': // Straight table mode\n default:\n dataPagesPath = 'qDataPages';\n break;\n }\n\n return backendApi.getData([page], null, hyperCube).then((pages) => {\n hyperCube[dataPagesPath] = pages;\n });\n}\n\nconst ChartView = Class.extend({\n init(picasso, $element, environment, backendApi, selectionsApi) {\n this.$element = $element;\n this.environment = environment;\n this.backendApi = backendApi;\n\n this._selectionsApi = selectionsApi;\n this._on = false;\n this._disclaimer = new Disclaimer(environment);\n this._dataPaths = ['qHyperCube'];\n\n const self = this;\n\n // Set properties that should be available in subclasses\n\n this.picassoElement = $element[0];\n this.picassoElement.className += ' picasso-chart';\n\n // Paint a visually empty Picasso chart containing an event-area component\n this.chartInstance = picasso.chart({\n element: this.picassoElement,\n settings: {\n components: [\n ChartBuilder.createComponent('event-area', {\n mounted(element) {\n // Mounted is run synchronously so this.dataAreaElem will be available in subclass constructors\n self.dataAreaElem = element;\n },\n }),\n ],\n },\n });\n },\n\n updateEnvironment(environment) {\n this.environment = environment;\n },\n\n isRtl() {\n return this.environment.options?.direction === 'rtl';\n },\n\n setDataPaths(dataPaths) {\n this._dataPaths = dataPaths;\n },\n\n getData(backendApi, hyperCube, rect) {\n return getData(backendApi, hyperCube, rect);\n },\n\n hasValidData() {\n return true;\n },\n\n paint() {\n // Use this.layout\n if (this.hasValidData()) {\n this._disclaimer.set(this.getDisclaimerAttributes(this.layout));\n const disclaimerComponent = this._disclaimer.getComponentSettings();\n const isSuppressingDisc = disclaimerComponent?.layout?.dock === 'center';\n\n const chartSettings = this.createChartSettings(this.layout);\n if (isSuppressingDisc) {\n chartSettings.components = [disclaimerComponent];\n } else if (disclaimerComponent) {\n chartSettings.components.push(disclaimerComponent);\n }\n ChartBuilder.validateComponentKeys(chartSettings.components).forEach((errorMsg) => {\n console.error(errorMsg);\n });\n\n this.updateChart(this.layout, chartSettings);\n this._painted = true;\n }\n return Promise.resolve();\n },\n\n resize() {\n // Use this.layout\n if (!this.layout) {\n // There are cases where resize is run before updateData, therefore layout is undefined\n return undefined;\n }\n return this.paint();\n },\n\n createChartSettings() {\n throw new Error('Subclass must implement \"createChartSettings\" function');\n },\n\n addSnapshotChartSettings(settings, layout) {\n const { freeResize } = this.environment.options;\n if (!freeResize && layout.snapshotData) {\n settings.dockLayout.logicalSize = {\n width: layout.snapshotData.content.size.w,\n height: layout.snapshotData.content.size.h,\n preserveAspectRatio: true,\n };\n }\n },\n\n updateData(layout) {\n // clone the layout so that updates ignored by suppressOnPaint does not affect it.\n if (this._destroyed) {\n return Promise.reject();\n }\n\n this.layout = extend(true, {}, layout);\n this.layout.permissions = layout.permissions;\n return Promise.resolve();\n },\n\n updateChart(layout, settings, isPartialData) {\n const localeInfo = this.environment.appLayout?.qLocaleInfo ?? {};\n const data = this._dataPaths.map((path) => ({\n type: 'q',\n key: path,\n config: {\n localeInfo,\n },\n data: getValue(layout, path.replace(/\\//g, '.')),\n }));\n if (this.colorService) {\n data.push(...this.colorService.getData());\n }\n\n this.chartInstance.update({\n data,\n settings,\n partialData: isPartialData,\n });\n\n const STATE_DATA_UPDATED = 2;\n this.picassoElement.setAttribute('data-state', STATE_DATA_UPDATED); // For integration test\n },\n\n destroy() {\n this._destroyed = true;\n this.off();\n this.chartInstance.destroy();\n },\n\n getViewState() {\n return {};\n },\n\n isLassoDisabled() {\n return true;\n },\n\n setSnapshotData(snapshotLayout) {\n if (!snapshotLayout.snapshotData) {\n snapshotLayout.snapshotData = {};\n }\n snapshotLayout.snapshotData.content = {\n // eslint-disable-line no-param-reassign\n chartData: {},\n size: {\n w: this.$element.width(),\n h: this.$element.height(),\n },\n };\n },\n\n getDisclaimerAttributes(layout) {\n return {\n data: layout,\n };\n },\n});\n\nexport default ChartView;\n","const colorStruct = {\n aliceblue: { r: 240, g: 248, b: 255 },\n antiquewhite: { r: 250, g: 235, b: 215 },\n aqua: { r: 0, g: 255, b: 255 },\n aquamarine: { r: 127, g: 255, b: 212 },\n azure: { r: 240, g: 255, b: 255 },\n beige: { r: 245, g: 245, b: 220 },\n bisque: { r: 255, g: 228, b: 196 },\n black: { r: 0, g: 0, b: 0 },\n blanchedalmond: { r: 255, g: 235, b: 205 },\n blue: { r: 0, g: 0, b: 255 },\n blueviolet: { r: 138, g: 43, b: 226 },\n brown: { r: 165, g: 42, b: 42 },\n burlywood: { r: 222, g: 184, b: 135 },\n cadetblue: { r: 95, g: 158, b: 160 },\n chartreuse: { r: 127, g: 255, b: 0 },\n chocolate: { r: 210, g: 105, b: 30 },\n coral: { r: 255, g: 127, b: 80 },\n cornflowerblue: { r: 100, g: 149, b: 237 },\n cornsilk: { r: 255, g: 248, b: 220 },\n crimson: { r: 220, g: 20, b: 60 },\n cyan: { r: 0, g: 255, b: 255 },\n darkblue: { r: 0, g: 0, b: 139 },\n darkcyan: { r: 0, g: 139, b: 139 },\n darkgoldenrod: { r: 184, g: 134, b: 11 },\n darkgray: { r: 169, g: 169, b: 169 },\n darkgreen: { r: 0, g: 100, b: 0 },\n darkgrey: { r: 169, g: 169, b: 169 },\n darkkhaki: { r: 189, g: 183, b: 107 },\n darkmagenta: { r: 139, g: 0, b: 139 },\n darkolivegreen: { r: 85, g: 107, b: 47 },\n darkorange: { r: 255, g: 140, b: 0 },\n darkorchid: { r: 153, g: 50, b: 204 },\n darkred: { r: 139, g: 0, b: 0 },\n darksalmon: { r: 233, g: 150, b: 122 },\n darkseagreen: { r: 143, g: 188, b: 143 },\n darkslateblue: { r: 72, g: 61, b: 139 },\n darkslategray: { r: 47, g: 79, b: 79 },\n darkslategrey: { r: 47, g: 79, b: 79 },\n darkturquoise: { r: 0, g: 206, b: 209 },\n darkviolet: { r: 148, g: 0, b: 211 },\n deeppink: { r: 255, g: 20, b: 147 },\n deepskyblue: { r: 0, g: 191, b: 255 },\n dimgray: { r: 105, g: 105, b: 105 },\n dimgrey: { r: 105, g: 105, b: 105 },\n dodgerblue: { r: 30, g: 144, b: 255 },\n firebrick: { r: 178, g: 34, b: 34 },\n floralwhite: { r: 255, g: 250, b: 240 },\n forestgreen: { r: 34, g: 139, b: 34 },\n fuchsia: { r: 255, g: 0, b: 255 },\n gainsboro: { r: 220, g: 220, b: 220 },\n ghostwhite: { r: 248, g: 248, b: 255 },\n gold: { r: 255, g: 215, b: 0 },\n goldenrod: { r: 218, g: 165, b: 32 },\n gray: { r: 128, g: 128, b: 128 },\n green: { r: 0, g: 128, b: 0 },\n greenyellow: { r: 173, g: 255, b: 47 },\n grey: { r: 128, g: 128, b: 128 },\n honeydew: { r: 240, g: 255, b: 240 },\n hotpink: { r: 255, g: 105, b: 180 },\n indianred: { r: 205, g: 92, b: 92 },\n indigo: { r: 75, g: 0, b: 130 },\n ivory: { r: 255, g: 255, b: 240 },\n khaki: { r: 240, g: 230, b: 140 },\n lavender: { r: 230, g: 230, b: 250 },\n lavenderblush: { r: 255, g: 240, b: 245 },\n lawngreen: { r: 124, g: 252, b: 0 },\n lemonchiffon: { r: 255, g: 250, b: 205 },\n lightblue: { r: 173, g: 216, b: 230 },\n lightcoral: { r: 240, g: 128, b: 128 },\n lightcyan: { r: 224, g: 255, b: 255 },\n lightgoldenrodyellow: { r: 250, g: 250, b: 210 },\n lightgray: { r: 211, g: 211, b: 211 },\n lightgreen: { r: 144, g: 238, b: 144 },\n lightgrey: { r: 211, g: 211, b: 211 },\n lightpink: { r: 255, g: 182, b: 193 },\n lightsalmon: { r: 255, g: 160, b: 122 },\n lightseagreen: { r: 32, g: 178, b: 170 },\n lightskyblue: { r: 135, g: 206, b: 250 },\n lightslategray: { r: 119, g: 136, b: 153 },\n lightslategrey: { r: 119, g: 136, b: 153 },\n lightsteelblue: { r: 176, g: 196, b: 222 },\n lightyellow: { r: 255, g: 255, b: 224 },\n lime: { r: 0, g: 255, b: 0 },\n limegreen: { r: 50, g: 205, b: 50 },\n linen: { r: 250, g: 240, b: 230 },\n magenta: { r: 255, g: 0, b: 255 },\n maroon: { r: 128, g: 0, b: 0 },\n mediumaquamarine: { r: 102, g: 205, b: 170 },\n mediumblue: { r: 0, g: 0, b: 205 },\n mediumorchid: { r: 186, g: 85, b: 211 },\n mediumpurple: { r: 147, g: 112, b: 219 },\n mediumseagreen: { r: 60, g: 179, b: 113 },\n mediumslateblue: { r: 123, g: 104, b: 238 },\n mediumspringgreen: { r: 0, g: 250, b: 154 },\n mediumturquoise: { r: 72, g: 209, b: 204 },\n mediumvioletred: { r: 199, g: 21, b: 133 },\n midnightblue: { r: 25, g: 25, b: 112 },\n mintcream: { r: 245, g: 255, b: 250 },\n mistyrose: { r: 255, g: 228, b: 225 },\n moccasin: { r: 255, g: 228, b: 181 },\n navajowhite: { r: 255, g: 222, b: 173 },\n navy: { r: 0, g: 0, b: 128 },\n oldlace: { r: 253, g: 245, b: 230 },\n olive: { r: 128, g: 128, b: 0 },\n olivedrab: { r: 107, g: 142, b: 35 },\n orange: { r: 255, g: 165, b: 0 },\n orangered: { r: 255, g: 69, b: 0 },\n orchid: { r: 218, g: 112, b: 214 },\n palegoldenrod: { r: 238, g: 232, b: 170 },\n palegreen: { r: 152, g: 251, b: 152 },\n paleturquoise: { r: 175, g: 238, b: 238 },\n palevioletred: { r: 219, g: 112, b: 147 },\n papayawhip: { r: 255, g: 239, b: 213 },\n peachpuff: { r: 255, g: 218, b: 185 },\n peru: { r: 205, g: 133, b: 63 },\n pink: { r: 255, g: 192, b: 203 },\n plum: { r: 221, g: 160, b: 221 },\n powderblue: { r: 176, g: 224, b: 230 },\n purple: { r: 128, g: 0, b: 128 },\n red: { r: 255, g: 0, b: 0 },\n rosybrown: { r: 188, g: 143, b: 143 },\n royalblue: { r: 65, g: 105, b: 225 },\n saddlebrown: { r: 139, g: 69, b: 19 },\n salmon: { r: 250, g: 128, b: 114 },\n sandybrown: { r: 244, g: 164, b: 96 },\n seagreen: { r: 46, g: 139, b: 87 },\n seashell: { r: 255, g: 245, b: 238 },\n sienna: { r: 160, g: 82, b: 45 },\n silver: { r: 192, g: 192, b: 192 },\n skyblue: { r: 135, g: 206, b: 235 },\n slateblue: { r: 106, g: 90, b: 205 },\n slategray: { r: 112, g: 128, b: 144 },\n slategrey: { r: 112, g: 128, b: 144 },\n snow: { r: 255, g: 250, b: 250 },\n springgreen: { r: 0, g: 255, b: 127 },\n steelblue: { r: 70, g: 130, b: 180 },\n tan: { r: 210, g: 180, b: 140 },\n teal: { r: 0, g: 128, b: 128 },\n thistle: { r: 216, g: 191, b: 216 },\n tomato: { r: 255, g: 99, b: 71 },\n transparent: {\n r: 255,\n g: 255,\n b: 255,\n a: 0,\n },\n turquoise: { r: 64, g: 224, b: 208 },\n violet: { r: 238, g: 130, b: 238 },\n wheat: { r: 245, g: 222, b: 179 },\n white: { r: 255, g: 255, b: 255 },\n whitesmoke: { r: 245, g: 245, b: 245 },\n yellow: { r: 255, g: 255, b: 0 },\n yellowgreen: { r: 154, g: 205, b: 50 },\n};\n\nexport default colorStruct;\n","/* eslint-disable camelcase */\n/* eslint-disable no-bitwise */\n/* eslint-disable no-nested-ternary */\n/* eslint-disable no-cond-assign */\n/* eslint-disable prefer-rest-params */\n\n/**\n * Module which defines a color object\n * @exports objects.views/charts/representation/color\n * @expose module:objects.views/charts/representation/color~Color\n */\nimport Class from './class';\nimport CSSColors from './css-colors';\n\n// color formats\nconst rgb = /^rgb\\((\\d{1,3}),(\\d{1,3}),(\\d{1,3})\\)$/i;\n\nconst rgba = /^rgba\\((\\d{1,3}),(\\d{1,3}),(\\d{1,3}),(\\d(\\.\\d+)?)\\)$/i;\nconst hex = /^#([A-f0-9]{2})([A-f0-9]{2})([A-f0-9]{2})$/i;\nconst hexShort = /^#([A-f0-9])([A-f0-9])([A-f0-9])$/i;\nconst hsl = /^hsl\\(\\s*(\\d+(\\.\\d+)?)\\s*,\\s*(\\d+(\\.\\d+)?%?)\\s*,\\s*(\\d+(\\.\\d+)?%?)\\s*\\)$/i;\nconst hsla = /^hsla\\(\\s*(\\d+(\\.\\d+)?)\\s*,\\s*(\\d+(\\.\\d+)?%?)\\s*,\\s*(\\d+(\\.\\d+)?%?)\\s*,(\\d(\\.\\d+)?)\\)$/i;\nconst floor = Math.floor;\nconst round = Math.round;\n\n/**\n * @class\n * @classdesc Class which provides color transformation functionality\n * @description This is a constructor.\n * @param {object} - Parameters to create a color from different notations\n * @example\n * // a few ways of instantiating a red color\n * var red;\n * red = new Color(255, 0, 0, 1); // rgba as parameters\n * red = new Color('#ff0000'); // hex\n * red = new Color('rgb(255,0,0)');//rgb as string\n * red = new Color('hsl(0, 100, 50)');// hsl as string\n * red = new Color(16711680);// uint\n */\nconst Color = Class.extend(\n /** @lends module:objects.views/charts/representation/color~Color# */ {\n init() {\n let r = 0;\n let g = 0;\n let b = 0;\n let a = 1;\n let h;\n let s;\n let lcs;\n let l;\n let v;\n let c;\n let h_;\n let x;\n let rgb_;\n let m;\n let matches;\n let colorString;\n\n this._invalid = false;\n\n if (arguments[0] instanceof Color) {\n r = arguments[0]._r;\n g = arguments[0]._g;\n b = arguments[0]._b;\n a = arguments[0]._a;\n this._invalid = arguments[0]._invalid;\n } else if (arguments.length < 3) {\n if (typeof arguments[0] === 'string') {\n colorString = arguments[0];\n\n if ((matches = /^rgb\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*\\)$/i.exec(colorString))) {\n r = parseInt(matches[1], 10);\n g = parseInt(matches[2], 10);\n b = parseInt(matches[3], 10);\n } else if (\n (matches = /^rgba\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d(\\.\\d+)?)\\s*\\)$/i.exec(\n colorString\n ))\n ) {\n // rgba(1, 2, 3, 0.4)\n r = parseInt(matches[1], 10);\n g = parseInt(matches[2], 10);\n b = parseInt(matches[3], 10);\n a = parseFloat(matches[4]);\n } else if ((matches = /^#([A-f0-9]{2})([A-f0-9]{2})([A-f0-9]{2})$/i.exec(colorString))) {\n // #aBc123\n r = parseInt(matches[1], 16);\n g = parseInt(matches[2], 16);\n b = parseInt(matches[3], 16);\n a = 1;\n } else if ((matches = /^#([A-f0-9])([A-f0-9])([A-f0-9])$/i.exec(colorString))) {\n // #a5F\n r = parseInt(matches[1] + matches[1], 16);\n g = parseInt(matches[2] + matches[2], 16);\n b = parseInt(matches[3] + matches[3], 16);\n a = 1;\n } else if (\n (matches = /^hsl\\(\\s*(\\d+(\\.\\d+)?)\\s*,\\s*(\\d+(\\.\\d+)?%?)\\s*,\\s*(\\d+(\\.\\d+)?%?)\\s*\\)$/i.exec(colorString))\n ) {\n // hsl(1, 2, 3)\n h = parseFloat(matches[1]);\n s = parseFloat(matches[3]);\n l = parseFloat(matches[5]);\n\n h %= 360;\n s /= 100;\n l /= 100;\n\n h = h < 0 ? 0 : h > 360 ? 360 : h;\n s = s < 0 ? 0 : s > 1 ? 1 : s;\n l = l < 0 ? 0 : l > 1 ? 1 : l;\n\n c = l <= 0.5 ? 2 * l * s : (2 - 2 * l) * s;\n h_ = h / 60;\n x = c * (1 - Math.abs((h_ % 2) - 1));\n\n rgb_ = [];\n\n h_ = Math.floor(h_);\n switch (h_) {\n case 0:\n rgb_ = [c, x, 0];\n break;\n case 1:\n rgb_ = [x, c, 0];\n break;\n case 2:\n rgb_ = [0, c, x];\n break;\n case 3:\n rgb_ = [0, x, c];\n break;\n case 4:\n rgb_ = [x, 0, c];\n break;\n case 5:\n rgb_ = [c, 0, x];\n break;\n default:\n rgb_ = [0, 0, 0];\n }\n\n m = l - 0.5 * c;\n\n r = rgb_[0] + m;\n g = rgb_[1] + m;\n b = rgb_[2] + m;\n\n r = round(255 * r);\n g = round(255 * g);\n b = round(255 * b);\n a = 1.0;\n } else if (\n (matches = /^hsla\\(\\s*(\\d+(\\.\\d+)?)\\s*,\\s*(\\d+(\\.\\d+)?%?)\\s*,\\s*(\\d+(\\.\\d+)?%?)\\s*,(\\d(\\.\\d+)?)\\)$/i.exec(\n colorString\n ))\n ) {\n // hsla(1,2,3,0.4)\n h = parseFloat(matches[1]);\n s = parseFloat(matches[3]);\n l = parseFloat(matches[5]);\n a = parseFloat(matches[7]);\n\n h %= 360;\n s /= 100;\n l /= 100;\n\n h = h < 0 ? 0 : h > 360 ? 360 : h;\n s = s < 0 ? 0 : s > 1 ? 1 : s;\n l = l < 0 ? 0 : l > 1 ? 1 : l;\n\n c = l <= 0.5 ? 2 * l * s : (2 - 2 * l) * s;\n h_ = h / 60;\n x = c * (1 - Math.abs((h_ % 2) - 1));\n\n rgb_ = [];\n\n h_ = Math.floor(h_);\n switch (h_) {\n case 0:\n rgb_ = [c, x, 0];\n break;\n case 1:\n rgb_ = [x, c, 0];\n break;\n case 2:\n rgb_ = [0, c, x];\n break;\n case 3:\n rgb_ = [0, x, c];\n break;\n case 4:\n rgb_ = [x, 0, c];\n break;\n case 5:\n rgb_ = [c, 0, x];\n break;\n default:\n rgb_ = [0, 0, 0];\n }\n\n m = l - 0.5 * c;\n\n r = rgb_[0] + m;\n g = rgb_[1] + m;\n b = rgb_[2] + m;\n\n r = round(255 * r);\n g = round(255 * g);\n b = round(255 * b);\n } else if (\n (matches = /^hsv\\(\\s*(\\d+(\\.\\d+)?)\\s*,\\s*(\\d+(\\.\\d+)?%?)\\s*,\\s*(\\d+(\\.\\d+)?%?)\\s*\\)$/i.exec(colorString))\n ) {\n // hsv(1, 2, 3) {\n h = parseFloat(matches[1]);\n s = parseFloat(matches[3]);\n v = parseFloat(matches[5]);\n\n h %= 360;\n s /= 100;\n v /= 100;\n\n h = h < 0 ? 0 : h > 360 ? 360 : h;\n s = s < 0 ? 0 : s > 1 ? 1 : s;\n v = v < 0 ? 0 : v > 1 ? 1 : v;\n\n c = v * s;\n h_ = h / 60;\n x = c * (1 - Math.abs((h_ % 2) - 1));\n\n rgb_ = [];\n\n h_ = Math.floor(h_);\n switch (h_) {\n case 0:\n rgb_ = [c, x, 0];\n break;\n case 1:\n rgb_ = [x, c, 0];\n break;\n case 2:\n rgb_ = [0, c, x];\n break;\n case 3:\n rgb_ = [0, x, c];\n break;\n case 4:\n rgb_ = [x, 0, c];\n break;\n case 5:\n rgb_ = [c, 0, x];\n break;\n default:\n rgb_ = [0, 0, 0];\n }\n\n m = v - c;\n\n r = rgb_[0] + m;\n g = rgb_[1] + m;\n b = rgb_[2] + m;\n\n r = round(255 * r);\n g = round(255 * g);\n b = round(255 * b);\n a = 1.0;\n } else if (CSSColors[colorString.toLowerCase()]) {\n lcs = colorString.toLowerCase();\n r = CSSColors[lcs].r;\n g = CSSColors[lcs].g;\n b = CSSColors[lcs].b;\n a = typeof CSSColors[lcs].a === 'number' ? CSSColors[lcs].a : 1.0;\n } else {\n this._invalid = true;\n }\n } else if (typeof arguments[0] === 'number' && arguments[0] >= 0 && arguments[1] === 'argb') {\n a = (0xff000000 & arguments[0]) >>> 24;\n a /= 255;\n r = (0xff0000 & arguments[0]) >> 16;\n g = (0x00ff00 & arguments[0]) >> 8;\n b = 0x0000ff & arguments[0];\n } else if (typeof arguments[0] === 'number' && arguments[0] >= 0) {\n r = (0xff0000 & arguments[0]) >> 16;\n g = (0x00ff00 & arguments[0]) >> 8;\n b = 0x0000ff & arguments[0];\n } else {\n this._invalid = true;\n }\n } else if (arguments.length >= 3) {\n r = arguments[0];\n g = arguments[1];\n b = arguments[2];\n a = arguments.length >= 4 ? arguments[3] : 1;\n } else {\n this._invalid = true;\n }\n\n if (Number.isNaN(+r + g + b + a)) {\n this._invalid = true;\n }\n\n this._r = floor(r);\n this._g = floor(g);\n this._b = floor(b);\n this._a = a;\n\n // object to cache string representations in various color spaces\n this._spaces = {};\n },\n isInvalid() {\n return this._invalid;\n },\n /**\n * Sets alpha value of color\n * @param {number} a - Alpha value of the color\n */\n setAlpha(a) {\n this._a = a;\n this._spaces = {};\n },\n /**\n * Gets the alpha value of this color\n * @returns {number}\n */\n getAlpha() {\n return this._a;\n },\n /**\n * Returns an rgb string representation of this color.\n * @return {string} An rgb string representation of this color\n */\n toRGB: function toRGB() {\n if (!this._spaces.rgb) {\n this._spaces.rgb = Color.toRGB(this);\n }\n return this._spaces.rgb;\n },\n /**\n * Returns an rgba string representation of this color.\n * @return {string} An rgba string representation of this color.\n */\n toRGBA: function toRGBA() {\n if (!this._spaces.rgba) {\n this._spaces.rgba = Color.toRGBA(this);\n }\n return this._spaces.rgba;\n },\n toString() {\n if (!this._spaces.rgb) {\n this._spaces.rgb = Color.toRGB(this);\n }\n return this._spaces.rgb;\n },\n /**\n * Returns a hex string representation of this color.\n * @return {string}\n */\n toHex: function toHex() {\n if (!this._spaces.hex) {\n this._spaces.hex = Color.toHex(this);\n }\n return this._spaces.hex;\n },\n /**\n * Returns a hsl string representation of this color using \"bi-hexcone\" model for lightness\n * @param {boolean} luma - Whether to use luma calculation\n * @return {string} In format hsl(0,0,0)\n */\n toHSL: function toHSL(luma) {\n if (!this._spaces.hsl) {\n this._spaces.hsl = Color.toHSL(this, luma);\n }\n return this._spaces.hsl;\n },\n /**\n * Returns a hsla string representation of this color using \"bi-hexcone\" model for lightness\n * @param {boolean} luma - Whether to use luma calculation\n * @return {string} In format hsla(0,0,0,0)\n */\n toHSLA: function toHSLA(luma) {\n if (!this._spaces.hsla) {\n this._spaces.hsla = Color.toHSLA(this, luma);\n }\n return this._spaces.hsla;\n },\n /**\n * Return the color components in hsv space using \"hexcone\" model for value (lightness)\n * @param {Color|string} c\n * @returns {object} The color components in hsv space {h:0-360, s:0-100, v:0-100}\n */\n toHSV() {\n const hsvComp = this.toHSVComponents();\n return `hsv(${hsvComp.h},${hsvComp.s},${hsvComp.v})`;\n },\n /**\n * Return the color components in hsv space using \"hexcone\" model for value (lightness)\n * @param {Color|string} c\n * @returns {object} The color components in hsv space {h:0-360, s:0-100, v:0-100}\n */\n toHSVComponents: function toHSVComponents() {\n if (!this._spaces.hsvComp) {\n this._spaces.hsvComp = Color.toHSVComponents(this);\n }\n return this._spaces.hsvComp;\n },\n /**\n * Returns a uint representation of this color\n * @return {number}\n */\n toNumber: function toNumber() {\n if (!this._spaces.num) {\n this._spaces.num = Color.toNumber(this);\n }\n return this._spaces.num;\n },\n /**\n * Checks if this color is perceived as dark.\n * @return {string} True if the luminance is below 160, false otherwise.\n */\n isDark() {\n return this.isInvalid() || this.getLuminance() < 125; // luminace calc option #2\n // return this.getLuminance() < 160; //luminace calc option #3\n },\n /**\n * Calculates the perceived luminance of the color.\n * @return {number} A value in the range 0-255 where a low value is considered dark and vice versa.\n */\n getLuminance() {\n // alpha channel is not considered\n if (typeof this._lumi === 'undefined') {\n // calculate luminance\n // this._lumi = 0.2126 * this._r + 0.7152 * this._g + 0.0722 * this._b; // option 1\n this._lumi = 0.299 * this._r + 0.587 * this._g + 0.114 * this._b; // option 2\n // this._lumi = Math.sqrt( 0.241 * this._r * this._r + 0.691 * this._g * this._g + 0.068 * this._b * this._b ); // option 3\n }\n\n return this._lumi;\n },\n /**\n * Shifts the color towards a lighter or darker shade\n * @param {number} value - A value in the range -100-100 to shift the color with along the HSL lightness.\n * @return {string} The shifted color as hsla string.\n */\n shiftLuminance(value) {\n const chsla = this.toHSLA();\n const matches = /^hsla\\(\\s*(\\d+(\\.\\d+)?)\\s*,\\s*(\\d+(\\.\\d+)?%?)\\s*,\\s*(\\d+(\\.\\d+)?%?)\\s*,(\\d(\\.\\d+)?)\\)$/i.exec(\n chsla\n );\n\n const h = parseFloat(matches[1]);\n const s = parseFloat(matches[3]);\n let l = parseFloat(matches[5]);\n const a = parseFloat(matches[7]);\n // l *= 1 + value / 100;\n // l = Math.max( 0, l % 100 );\n l += value;\n l = Math.max(0, Math.min(l, 100));\n\n // if( value > 0 ){\n // s = s*0.2; //removing saturation to avoid the border from being too light\n // }\n\n return `hsla(${h},${s},${l},${a})`;\n },\n /**\n * Compares two colors.\n * @param {Color} c The color to compare with.\n * @return {boolean} True if the rgb channels are the same, false otherwise\n */\n isEqual(c) {\n if (c instanceof Color) {\n return this._r === c._r && this._g === c._g && this._b === c._b;\n }\n\n c = new Color(c);\n return this._r === c._r && this._g === c._g && this._b === c._b;\n },\n /**\n * Linearly interpolates each channel of two colors.\n * @param {Color} c2 The other color.\n * @param {number} t The interpolation value in the range (0-1).\n * @return {string} The blend as an rgb string.\n */\n blend(c2, t) {\n const r = floor(this._r + (c2._r - this._r) * t);\n const g = floor(this._g + (c2._g - this._g) * t);\n const b = floor(this._b + (c2._b - this._b) * t);\n const a = floor(this._a + (c2._a - this._a) * t);\n\n return `rgba(${[r, g, b, a].join(',')})`;\n },\n\n createShiftedColor(v) {\n if (v === undefined || Number.isNaN(+v)) {\n v = 1;\n }\n const lumi = this.getLuminance();\n const greenMultiplier = this._g < 126 ? 1 : 1 + this._g / 512;\n const hsla_string = this.shiftLuminance(\n (lumi * greenMultiplier < 220 ? 0.8 + 4 * (1 / (lumi + 1)) : -(0.8 + 1 * (lumi / 255))) * 20 * v\n );\n\n return new Color(hsla_string);\n },\n }\n);\n\n/**\n * Returns an rgb string representation of this color\n * @param {Color|string} c\n * @returns {string} An rgb string with channel values within range 0-255.\n */\nColor.toRGB = function toRGB(c) {\n if (c instanceof Color) {\n return `rgb(${[c._r, c._g, c._b].join(',')})`;\n }\n\n if (typeof c === 'string') {\n c = Color.toNumber(c);\n }\n\n const r = (c & 0xff0000) >> 16;\n const g = (c & 0x00ff00) >> 8;\n const b = c & 0x0000ff;\n\n return `rgb(${r},${g},${b})`;\n};\n/**\n *\n * @param c\n * @param a\n * @returns {string} The color rgb format.\n */\nColor.toRGBA = function toRGB(c, a) {\n if (c instanceof Color) {\n return `rgba(${[c._r, c._g, c._b, typeof a !== 'undefined' ? a : c._a].join(',')})`;\n }\n\n if (typeof c === 'string') {\n c = Color.toNumber(c);\n }\n\n const r = (c & 0xff0000) >> 16;\n const g = (c & 0x00ff00) >> 8;\n const b = c & 0x0000ff;\n\n return `rgba(${r},${g},${b},${typeof a !== 'undefined' ? a : c._a})`;\n};\n/**\n *\n * @param {Color|string} c\n * @returns {string} The color in hexadecimal space.\n */\nColor.toHex = function toHex(c) {\n let r;\n let g;\n let b;\n if (c instanceof Color) {\n r = c._r.toString(16);\n g = c._g.toString(16);\n b = c._b.toString(16);\n if (r.length === 1) {\n r = `0${r}`;\n }\n if (g.length === 1) {\n g = `0${g}`;\n }\n if (b.length === 1) {\n b = `0${b}`;\n }\n return `#${[r, g, b].join('')}`;\n }\n\n if (typeof c === 'string') {\n c = Color.toNumber(c);\n }\n\n r = ((c & 0xff0000) >> 16).toString(16);\n g = ((c & 0x00ff00) >> 8).toString(16);\n b = (c & 0x0000ff).toString(16);\n\n if (r.length === 1) {\n r = `0${r}`;\n }\n if (g.length === 1) {\n g = `0${g}`;\n }\n if (b.length === 1) {\n b = `0${b}`;\n }\n\n return `#${r}${g}${b}`;\n};\n/**\n * Return the color in hsl space using \"bi-hexcone\" model for lightness\n * @param {Color|string} c\n * @param {boolean} luma - Whether to use luma calculation\n * @returns {string} The color in hsl space.\n */\nColor.toHSL = function (c, luma) {\n let h = 0;\n let s;\n let l;\n let ch;\n if (typeof c === 'string') {\n c = new Color(c);\n }\n\n // red, green, blue, hue, saturation, lightness/luma, max, min, chroma\n const r = c._r / 255;\n const g = c._g / 255;\n const b = c._b / 255;\n\n const max = Math.max(r, g, b);\n const min = Math.min(r, g, b);\n if (luma) {\n // Y'709 http://en.wikipedia.org/wiki/Rec._709\n // Y′709 = 0.21R + 0.72G + 0.07B\n l = 0.21 * r + 0.72 * g + 0.07 * b;\n } else {\n l = (max + min) / 2;\n }\n\n if (max === min) {\n // greyscale\n s = 0;\n h = 0;\n } else {\n ch = max - min;\n s = l > 0.5 ? ch / (2 - max - min) : ch / (max + min);\n switch (max) {\n case r:\n h = (g - b) / ch + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / ch + 2;\n break;\n case b:\n h = (r - g) / ch + 4;\n break;\n default:\n break;\n }\n h /= 6;\n }\n\n return `hsl(${h * 360},${s * 100},${l * 100})`;\n};\n/**\n * Return the color in hsla space using \"bi-hexcone\" model for lightness\n * @param {Color|string} c\n * @param {boolean} luma - Whether to use luma calculation\n * @returns {string} The color in hsla space.\n */\nColor.toHSLA = function (c, luma) {\n let h = 0;\n let s;\n let l;\n let ch;\n if (typeof c === 'string') {\n c = new Color(c);\n }\n\n // red, green, blue, hue, saturation, lightness/luma, max, min, chroma\n const r = c._r / 255;\n const g = c._g / 255;\n const b = c._b / 255;\n const a = c._a;\n\n const max = Math.max(r, g, b);\n const min = Math.min(r, g, b);\n if (luma) {\n // Y'709 http://en.wikipedia.org/wiki/Rec._709\n // Y′709 = 0.21R + 0.72G + 0.07B\n l = 0.21 * r + 0.72 * g + 0.07 * b;\n } else {\n l = (max + min) / 2;\n }\n\n if (max === min) {\n // greyscale\n s = 0;\n h = 0;\n } else {\n ch = max - min;\n s = l > 0.5 ? ch / (2 - max - min) : ch / (max + min);\n switch (max) {\n case r:\n h = (g - b) / ch + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / ch + 2;\n break;\n case b:\n h = (r - g) / ch + 4;\n break;\n default:\n break;\n }\n h /= 6;\n }\n\n return `hsla(${h * 360},${s * 100},${l * 100},${a})`;\n};\n/**\n * Return the color components in hsv space using \"hexcone\" model for value (lightness)\n * @param {Color|string} c\n * @returns {object} The color components in hsv space {h:0-360, s:0-100, v:0-100}\n */\nColor.toHSVComponents = function (c) {\n let h = 0;\n let s;\n let ch;\n if (typeof c === 'string') {\n c = new Color(c);\n }\n\n // red, green, blue, hue, saturation, value/luma, max, min, chroma\n const r = c._r / 255;\n const g = c._g / 255;\n const b = c._b / 255;\n\n const max = Math.max(r, g, b);\n const min = Math.min(r, g, b);\n\n const v = max;\n\n if (max === min) {\n // greyscale\n s = 0;\n h = 0;\n } else {\n ch = max - min;\n s = ch === 0 ? 0 : ch / v;\n switch (max) {\n case r:\n h = (g - b) / ch + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / ch + 2;\n break;\n case b:\n h = (r - g) / ch + 4;\n break;\n default:\n break;\n }\n h /= 6;\n }\n\n return { h: (h * 360) % 360, s: s * 100, v: v * 100 };\n};\n/**\n * Returns an number representation of the color\n * @param {Color|string} c\n * @returns {Number} Unsigned integer in the range 0-16 777 216\n */\nColor.toNumber = function toNumber() {\n if (arguments.length === 1 && arguments[0] instanceof Color) {\n return (arguments[0]._r << 16) + (arguments[0]._g << 8) + arguments[0]._b;\n }\n\n let r = 0;\n let g = 0;\n let b = 0;\n let matches;\n let colorString;\n\n if (arguments.length === 1) {\n if (typeof arguments[0] === 'string') {\n colorString = arguments[0];\n\n if ((matches = /^rgb\\((\\d{1,3}),(\\d{1,3}),(\\d{1,3})\\)$/i.exec(colorString))) {\n r = parseInt(matches[1], 10);\n g = parseInt(matches[2], 10);\n b = parseInt(matches[3], 10);\n } else if ((matches = /^#([A-f0-9]{2})([A-f0-9]{2})([A-f0-9]{2})$/i.exec(colorString))) {\n r = parseInt(matches[1], 16);\n g = parseInt(matches[2], 16);\n b = parseInt(matches[3], 16);\n } else if ((matches = /^#([A-f0-9])([A-f0-9])([A-f0-9])$/i.exec(colorString))) {\n r = parseInt(matches[1] + matches[1], 16);\n g = parseInt(matches[2] + matches[2], 16);\n b = parseInt(matches[3] + matches[3], 16);\n }\n }\n }\n return (r << 16) + (g << 8) + b;\n};\nColor.blend = function blend(c1, c2, t) {\n c1 = Color.toNumber(c1);\n c2 = Color.toNumber(c2);\n\n const r1 = (c1 & 0xff0000) >> 16;\n const g1 = (c1 & 0x00ff00) >> 8;\n const b1 = c1 & 0x0000ff;\n const r2 = (c2 & 0xff0000) >> 16;\n const g2 = (c2 & 0x00ff00) >> 8;\n const b2 = c2 & 0x0000ff;\n const r = r1 + (r2 - r1) * t;\n const g = g1 + (g2 - g1) * t;\n const b = b1 + (b2 - b1) * t;\n\n return (r << 16) + (g << 8) + b;\n};\nColor.getBlend = function getBlend(c1, c2, t) {\n const r = c1._r + (c2._r - c1._r) * t;\n const g = c1._g + (c2._g - c1._g) * t;\n const b = c1._b + (c2._b - c1._b) * t;\n const a = c1._a + (c2._a - c1._a) * t;\n\n return new Color(r, g, b, a);\n};\nColor.isCSSColor = function (color) {\n if (arguments.length > 1 || typeof color !== 'string') {\n return false;\n }\n return (\n rgb.test(color) ||\n rgba.test(color) ||\n hex.test(color) ||\n hexShort.test(color) ||\n hsl.test(color) ||\n hsla.test(color) ||\n CSSColors[color.toLowerCase()]\n );\n};\n\nColor.getBestContrast = function (color, cl, cd) {\n const lum = color.getLuminance();\n return Math.abs(lum - cl.getLuminance()) > Math.abs(lum - cd.getLuminance()) ? cl : cd;\n};\n\nColor.getContrast = function (color1, color2) {\n if (!color1 || !color2) {\n return undefined;\n }\n\n const l1 = color1.getLuminance() / 100;\n const l2 = color2.getLuminance() / 100;\n\n if (l1 > l2) {\n return (l1 + 0.05) / (l2 + 0.05);\n }\n\n return (l2 + 0.05) / (l1 + 0.05);\n};\n\nColor.isDark = function () {\n const o = {\n getLuminance: Color.prototype.getLuminance,\n isInvalid: Color.prototype.isInvalid,\n };\n Color.prototype.init.apply(o, [].slice.call(arguments));\n return Color.prototype.isDark.call(o);\n};\n\nColor.useDarkLabel = function (areaColor, bgIsDark) {\n return areaColor._a > 0.5 ? !areaColor.isDark() : !bgIsDark;\n};\n\nexport default Color;\n","import Color from './color';\n\nconst chartUtils = {\n TRANSPARENT_BLACK: 'rgba( 0,0,0,0.2 )',\n TRANSPARENT_WHITE: 'rgba( 255,255,255,0.7 )',\n LIGHT_GREY: '#ccc',\n DARK_GREY: '#666',\n BLACK: '#000',\n WHITE: '#fff',\n\n getInverse(color) {\n const colorObj = new Color(color);\n const alpha = colorObj.getAlpha();\n\n if (alpha === 0) {\n return this.BLACK;\n }\n return colorObj.isDark() ? this.WHITE : this.BLACK;\n },\n\n getContrastingGrey(color) {\n const colorObj = new Color(color);\n const alpha = colorObj.getAlpha();\n\n if (alpha === 0) {\n return this.DARK_GREY;\n }\n return Color.getBestContrast(colorObj, new Color(chartUtils.LIGHT_GREY), new Color(chartUtils.DARK_GREY));\n },\n\n getBestContrast(color, color1, color2) {\n return Color.getBestContrast(new Color(color), new Color(color1), new Color(color2));\n },\n\n getContrastingTransparent(color) {\n const colorObj = new Color(color);\n const alpha = colorObj.getAlpha();\n\n if (alpha === 0 || color === 'none') {\n return this.TRANSPARENT_BLACK;\n }\n return colorObj.isDark() ? this.TRANSPARENT_WHITE : this.TRANSPARENT_BLACK;\n },\n};\n\nexport default chartUtils;\n","const namespace = '.scrollHandler';\n\nScrollHandler.prototype.getScrollApi = getScrollApi;\nScrollHandler.prototype.setDisabled = setDisabled;\nScrollHandler.prototype.getDisabled = getDisabled;\nScrollHandler.prototype.setItemSize = setItemSize;\nScrollHandler.prototype.getItemSize = getItemSize;\nScrollHandler.prototype.getScrollViewSizeInItem = getScrollViewSizeInItem;\nScrollHandler.prototype.on = on;\nScrollHandler.prototype.isOn = isOn;\nScrollHandler.prototype.off = off;\nScrollHandler.prototype.updateViewState = updateViewState;\nScrollHandler.prototype.onResize = onResize;\nScrollHandler.prototype.isDataSizeChanged = isDataSizeChanged;\nScrollHandler.prototype.resetScroll = resetScroll;\nScrollHandler.prototype.getViewData = getViewData;\nScrollHandler.prototype.setOptions = setOptions;\nScrollHandler.prototype.getScrollState = getScrollState;\nScrollHandler.prototype.setScrollState = setScrollState;\n\nexport default ScrollHandler;\n\n/**\n * Implementation details\n */\n\nfunction ScrollHandler(chartInstance, $chartElement, getSlicedDataFn, onScrollCallback, legendKey) {\n if (!chartInstance || !$chartElement || !getSlicedDataFn) {\n throw Error('Scroll-handler: Missing input');\n }\n this._chartInstance = chartInstance;\n this._$chartElement = $chartElement;\n this._getSlicedDataFn = getSlicedDataFn;\n this._on = false;\n this._itemSize = 30;\n this.options = {\n direction: 'vertical',\n };\n this._onScrollCallback = onScrollCallback;\n this._legendKey = legendKey;\n}\n\nfunction getScrollApi() {\n if (!this._scrollApi) {\n this._scrollApi = this._chartInstance.scroll('dimension');\n }\n return this._scrollApi;\n}\n\nfunction setDisabled(b) {\n this._disabled = b;\n}\n\nfunction getDisabled() {\n return this._disabled;\n}\n\nfunction setItemSize(s) {\n if (this._itemSize !== s) {\n this._itemSize = s;\n calculateScrollViewSizeInItem.call(this);\n }\n}\n\nfunction getItemSize() {\n return this._itemSize;\n}\n\nfunction getScrollViewSizeInItem() {\n if (!this._scrollViewSizeInItem) {\n calculateScrollViewSizeInItem.call(this);\n }\n return this._scrollViewSizeInItem;\n}\n\nfunction on() {\n if (this._on) {\n return;\n }\n if (this.getScrollApi()) {\n this._scrollApi.removeAllListeners();\n this._scrollApi.on('update', onScroll.bind(this));\n }\n this._$chartElement.on(`mousewheel${namespace} DOMMouseScroll${namespace}`, onMouseWheel.bind(this));\n // TODO: Picasso does not support pointer events therefore we need to remove preventDefault on pointer down to make it work for IE.\n // However, this will make paning on touch device to pan the object, so we need to prevent it.\n // This fix should be removed when Picasso support pointer events.\n this._$chartElement.on(`touchstart${namespace}`, (event) => {\n event.preventDefault();\n });\n this._on = true;\n}\nfunction isOn() {\n return this._on;\n}\nfunction off() {\n if (!this._on) {\n return;\n }\n if (this.getScrollApi()) {\n this._scrollApi.removeAllListeners();\n }\n this._$chartElement.off(namespace);\n this._on = false;\n}\n\nfunction updateViewState(max) {\n calculateScrollViewSizeInItem.call(this);\n if (this.getScrollApi()) {\n this._scrollApi.update({ viewSize: this._scrollViewSizeInItem, max });\n }\n}\n\nfunction onResize() {\n this._sizeChanged = true;\n calculateScrollViewSizeInItem.call(this);\n if (this.getScrollApi()) {\n this._scrollApi.update({ viewSize: this._scrollViewSizeInItem });\n }\n}\n\nfunction isDataSizeChanged(pageNumberOfRows, datasetNumberOfRows) {\n return Math.min(this.getScrollViewSizeInItem(), datasetNumberOfRows) !== pageNumberOfRows;\n}\n\nfunction resetScroll() {\n if (this.getScrollApi()) {\n this._scrollApi.moveTo(0);\n }\n}\n\nfunction getViewData() {\n let top = 0;\n let height = 0;\n if (this.getScrollApi()) {\n const state = this._scrollApi.getState();\n top = Math.round(state.start);\n height = state.viewSize;\n }\n return this._getSlicedDataFn(top, height);\n}\n\nfunction getScrollState() {\n return this.getScrollApi().getState().start;\n}\nfunction setScrollState(state) {\n this.getScrollApi().moveTo(state);\n}\n\nfunction setOptions(options) {\n if (this.options.direction !== options.direction) {\n this._scrollViewSizeInItem = undefined;\n }\n this.options = options;\n}\n\nfunction calculateScrollViewSizeInItem() {\n const scrollSize =\n (this.options.direction === 'horizontal' ? this._$chartElement.width() : this._$chartElement.height()) || 0;\n const n = Math.floor(scrollSize / this.getItemSize());\n this._scrollViewSizeInItem = Math.max(n, 1); // Number of visible items should be at least 1\n}\n\nfunction getMouseWheelData(orgEvent) {\n let delta = 0;\n let deltaX = 0;\n let deltaY = 0;\n const divider = 60;\n\n // Old school scrollwheel delta\n if (orgEvent.wheelDelta) {\n delta = orgEvent.wheelDelta / divider;\n }\n if (orgEvent.detail) {\n delta = -orgEvent.detail / 3;\n }\n\n // New school multidimensional scroll (touchpads) deltas\n deltaY = delta;\n\n // Gecko\n if (orgEvent.axis !== undefined && orgEvent.axis === orgEvent.HORIZONTAL_AXIS) {\n deltaY = 0;\n deltaX = -1 * delta;\n }\n\n // Webkit\n if (orgEvent.wheelDeltaY !== undefined) {\n deltaY = orgEvent.wheelDeltaY / divider;\n }\n if (orgEvent.wheelDeltaX !== undefined) {\n deltaX = (-1 * orgEvent.wheelDeltaX) / divider;\n }\n\n return {\n delta,\n deltaX,\n deltaY,\n x: orgEvent.pageX,\n y: orgEvent.pageY,\n };\n}\n\nfunction onLegendMouseWheel(e, event, chart, legendKey) {\n if (!!legendKey && chart.componentsFromPoint(event).some((c) => c.settings.key === legendKey)) {\n const legend = chart.component(legendKey);\n legend.emit(event.delta > 0 ? 'prev' : 'next');\n e.preventDefault();\n return true;\n }\n return false;\n}\n\nfunction onMouseWheel(e) {\n const event = getMouseWheelData(e.originalEvent);\n if (onLegendMouseWheel(e, event, this._chartInstance, this._legendKey) || this._disabled || !this.getScrollApi()) {\n return;\n }\n e.preventDefault();\n if (!event.delta) {\n return;\n }\n const scrollSpeed = 3;\n const value = event.delta < 0 ? scrollSpeed : -scrollSpeed;\n this._scrollApi.move(value);\n}\n\nfunction onScroll() {\n if (this._disabled || this._sizeChanged) {\n this._sizeChanged = false;\n return;\n }\n const self = this;\n this.getViewData()\n .then((layout) => {\n if (self._on && !self._disabled && self._onScrollCallback) {\n // Chart is updated with partial data\n self._onScrollCallback(layout, undefined, true);\n }\n })\n .catch((err) => {\n if (process.env.NODE_ENV === 'development') {\n if (typeof err !== 'undefined') {\n console.error(err);\n }\n }\n });\n}\n","/**\n * Checks whether a collision has occurred for range selection\n * @param e - event, in this case a mouse event\n * @param targets - the target points that the selections are hitting\n * @param selectionGesture - The type of selection gesture, for example area range select\n * @returns {boolean} - True, if a collision has occurred, otherwise false\n */\nfunction isOnComponentForRange(e, targets, selectionGesture) {\n return (\n !!e &&\n !!selectionGesture.chart\n .componentsFromPoint({\n x: e.center.x,\n y: e.center.y,\n })\n .filter((c) => targets.indexOf(c.settings.key) !== -1)[0]\n );\n}\n\n/**\n * Checks whether a collision has occurred for lasso selection\n * @param e - event, in this case a mouse event\n * @param gesturesParams - parameters for lasso selection\n * @param lassoGesture - the lasso gesture instance\n * @returns {boolean} - True, if a collision has occurred, otherwise false\n */\nfunction isOnComponentForLasso(e, gesturesParams, lassoGesture) {\n return (\n e &&\n lassoGesture.chart\n .componentsFromPoint({\n x: e.center.x,\n y: e.center.y,\n })\n .filter((c) => c.settings.key === gesturesParams.keys.componentKey)[0]\n );\n}\n\nfunction isOnComponentForNavBtn(e, legendBrushKey, navBtnGesture) {\n const components = navBtnGesture.chart.componentsFromPoint(e.center);\n return components.some((c) => c.settings.key === legendBrushKey);\n}\n\nexport default {\n isOnComponentForRange,\n isOnComponentForLasso,\n isOnComponentForNavBtn,\n};\n","import Hammer from 'hammerjs';\nimport onComponentChecker from './on-component-checker';\n\nfunction getLassoState(handlers) {\n return handlers.selectionHandler.lassoState() && !handlers.selectionHandler.allFieldsLocked();\n}\n\n/**\n * Handles lasso events for picasso charts using HammerJS. When activating lasso selection enable function is\n * triggered first. lassoStart is triggered on all areas specified by options.direction key. Lasso is the gesture\n * that will be active by default.\n */\nfunction callLassoGesture(state, gesturesFns, gesturesParams) {\n return {\n type: 'Pan',\n options: {\n direction: Hammer.DIRECTION_ALL,\n threshold: 1,\n enable(manager, e) {\n if (state.lassoing) {\n return gesturesFns.isSelectionEnabled();\n }\n const hitComp = onComponentChecker.isOnComponentForLasso(e, gesturesParams, this);\n return (\n gesturesFns.isSelectionEnabled() && e && (getLassoState(gesturesParams.handlers) || state.lassoing) && hitComp\n );\n },\n event: 'lasso',\n },\n recognizeWith: gesturesParams.handlers.scrollHandler ? 'drag' : null,\n events: {\n lassostart(e) {\n const hitComp = onComponentChecker.isOnComponentForLasso(e, gesturesParams, this);\n if (!hitComp) {\n return;\n }\n gesturesFns.switchTo('lasso', this.chart, e);\n state.lassoing = true;\n gesturesParams.handlers.selectionHandler.pauseEngineCalls(gesturesParams.keys.lassoBrushKey);\n e.clientX = e.pointers[0].clientX;\n e.clientY = e.pointers[0].clientY;\n gesturesFns.doEmit(this.chart, 'lasso', 'lassoStart', e);\n },\n lassomove(e) {\n if (!state.lassoing) {\n return;\n }\n e.clientX = e.pointers[0].clientX;\n e.clientY = e.pointers[0].clientY;\n gesturesFns.doEmit(this.chart, 'lasso', 'lassoMove', e);\n },\n lassoend(e) {\n if (!state.lassoing) {\n return;\n }\n\n e.clientX = e.pointers[0].clientX;\n e.clientY = e.pointers[0].clientY;\n gesturesFns.doEmit(this.chart, 'lasso', 'lassoEnd', e);\n gesturesParams.handlers.selectionHandler.resumeEngineCalls(gesturesParams.keys.lassoBrushKey, true);\n state.lassoing = false;\n },\n lassocancel(e) {\n state.lassoing = false;\n gesturesFns.doEmit(this.chart, 'lasso', 'lassoCancel', e);\n gesturesParams.handlers.selectionHandler.resumeEngineCalls(gesturesParams.keys.lassoBrushKey, false);\n },\n },\n };\n}\n\nexport default {\n callLassoGesture,\n};\n","import Hammer from 'hammerjs';\nimport onComponentChecker from './on-component-checker';\n\n/**\n * Handles measure range selection events for picasso charts using HammerJS. When activating measure range selection enable function is\n * triggered first. measurerangestart is triggered on all areas specified by options.direction key. Only after measurerangestart\n * is triggered, then the other events might be triggered as well. The different event\n * names must be appended as suffixes for options.event. In this case options.event is called measurerange, then our\n * events must be named measurerangestart, measurerangemove, measurerangeend, measurerangecancel.\n */\nfunction callMeasureRangeGesture(state, gesturesFns, gesturesParams, measureAxis) {\n const activeRangeBrush = gesturesParams.keys.dimRangeBrushKey ? 'majorrange' : 'arearange';\n\n return {\n type: 'Pan',\n options: {\n direction: gesturesParams.isHorizontal ? Hammer.DIRECTION_HORIZONTAL : Hammer.DIRECTION_VERTICAL,\n event: 'measurerange',\n enable(manager, e) {\n if (!gesturesParams.rangeSelStatus.isOpenMea) {\n return false;\n }\n\n if (state.measureSelecting) {\n return gesturesFns.isSelectionEnabled();\n }\n const targets =\n gesturesParams.active.gesture === 'measurerange'\n ? [measureAxis, gesturesParams.keys.componentKey]\n : [measureAxis];\n const hitComp = onComponentChecker.isOnComponentForRange(e, targets, this);\n\n state.measureSelecting = gesturesFns.isSelectionEnabled() && !!e && !!hitComp;\n return state.measureSelecting && !!gesturesParams.keys.measureRangeBrushKey;\n },\n },\n requireFailure: `lasso ${activeRangeBrush}`,\n recognizeWith: gesturesParams.handlers.scrollHandler ? 'drag' : null,\n events: {\n measurerangestart(e) {\n const targets =\n gesturesParams.active.gesture === 'measurerange'\n ? [measureAxis, gesturesParams.keys.componentKey]\n : [measureAxis];\n const hitComp = onComponentChecker.isOnComponentForRange(e, targets, this);\n if (!hitComp) {\n return;\n }\n\n state.measureSelecting = true;\n gesturesFns.switchTo('measurerange', this.chart, e);\n gesturesFns.doEmit(this.chart, 'rangeMeasure', 'rangeStart', e);\n gesturesParams.handlers.selectionHandler.pauseEngineCalls(gesturesParams.keys.measureRangeBrushKey);\n },\n measurerangemove(e) {\n if (!state.measureSelecting) {\n return;\n }\n gesturesFns.doEmit(this.chart, 'rangeMeasure', 'rangeMove', e);\n },\n measurerangeend(e) {\n if (!state.measureSelecting) {\n return;\n }\n gesturesParams.handlers.selectionHandler.resumeEngineCalls(gesturesParams.keys.measureRangeBrushKey, true);\n gesturesFns.doEmit(this.chart, 'rangeMeasure', 'rangeEnd', e);\n state.measureSelecting = false;\n },\n measurerangecancel() {\n gesturesParams.handlers.selectionHandler.resumeEngineCalls(gesturesParams.keys.measureRangeBrushKey, false);\n state.measureSelecting = false;\n },\n },\n };\n}\n\nexport default {\n callMeasureRangeGesture,\n};\n","import Hammer from 'hammerjs';\nimport onComponentChecker from './on-component-checker';\n\nfunction getAxisOrientation(axis, orientation) {\n let dir;\n if (axis === 'x-axis') {\n dir = orientation === 'horizontal' ? Hammer.DIRECTION_VERTICAL : Hammer.DIRECTION_HORIZONTAL;\n } else {\n dir = orientation === 'horizontal' ? Hammer.DIRECTION_HORIZONTAL : Hammer.DIRECTION_VERTICAL;\n }\n return dir;\n}\n\n/**\n * Handles area range selection events for picasso charts using HammerJS. When activating area range selection enable function is\n * triggered first. arearangestart is triggered on all areas specified by options.direction key. Only after arearangestart\n * is triggered, then the other events might be triggered as well. The different event\n * names must be appended as suffixes for options.event. In this case options.event is called arearange, then our\n * events must be named arearangestart, arearangemove, arearangeend, arearangecancel.\n */\nfunction callAreaRangeGesture(state, gesturesFns, gesturesParams, axis) {\n const activeRangeBrush = gesturesParams.keys.dimRangeBrushKey ? 'majorrange' : 'measurerange';\n\n return {\n // Area range select gesture\n type: 'Pan',\n options: {\n direction: getAxisOrientation(axis, gesturesParams.isHorizontal),\n event: 'arearange',\n enable(manager, e) {\n if (!gesturesParams.rangeSelStatus.isOpenDim) {\n return false;\n }\n\n if (state.minoring) {\n return gesturesFns.isSelectionEnabled();\n }\n const targets =\n gesturesParams.active.gesture === 'arearange' ? [axis, gesturesParams.keys.componentKey] : [axis];\n const hitComp = onComponentChecker.isOnComponentForRange(e, targets, this);\n\n state.minoring = gesturesFns.isSelectionEnabled() && !!e && !!hitComp;\n return state.minoring;\n },\n },\n requireFailure: `lasso ${activeRangeBrush}`,\n recognizeWith: gesturesParams.handlers.scrollHandler ? 'drag' : null,\n events: {\n arearangestart(e) {\n const targets =\n gesturesParams.active.gesture === 'arearange' ? [axis, gesturesParams.keys.componentKey] : [axis];\n const hitComp = onComponentChecker.isOnComponentForRange(e, targets, this);\n if (!hitComp) {\n return;\n }\n\n state.minoring = true;\n gesturesFns.switchTo('arearange', this.chart, e);\n gesturesFns.doEmit(this.chart, 'rangeMinor', 'areaStart', e);\n gesturesParams.handlers.selectionHandler.pauseEngineCalls(gesturesParams.keys.areaBrushKey);\n },\n arearangemove(e) {\n if (!state.minoring) {\n return;\n }\n // Behaves likes lasso, which adds all data points as soon as we hit the points, we only want to highlight the values within the range\n this.chart.brush(gesturesParams.keys.areaBrushKey).clear();\n gesturesFns.doEmit(this.chart, 'rangeMinor', 'areaMove', e);\n },\n arearangeend(e) {\n if (!state.minoring) {\n return;\n }\n gesturesParams.handlers.selectionHandler.resumeEngineCalls(gesturesParams.keys.areaBrushKey, true);\n gesturesFns.doEmit(this.chart, 'rangeMinor', 'areaEnd', e);\n state.minoring = false;\n },\n arearangecancel() {\n gesturesParams.handlers.selectionHandler.resumeEngineCalls(gesturesParams.keys.areaBrushKey, false);\n state.minoring = false;\n },\n },\n };\n}\n\nexport default {\n callAreaRangeGesture,\n};\n","import Hammer from 'hammerjs';\nimport onComponentChecker from './on-component-checker';\n\n/**\n * Handles dimension range selection events for picasso charts using HammerJS. When activating dimension range selection enable function is\n * triggered first. majorrangestart is triggered on all areas specified by options.direction key. Only after majorrangestart\n * is triggered, then the other events might be triggered as well. The different event\n * names must be appended as suffixes for options.event. In this case options.event is called majorrange, then our\n * events must be named majorrangestart, majorrangemove, majorrangeend, majorrangecancel.\n */\nfunction callDimensionRangeGesture(state, gesturesFns, gesturesParams, dimAxis) {\n const activeRangeBrush = gesturesParams.keys.measureRangeBrushKey ? 'measurerange' : 'arearange';\n return {\n type: 'Pan',\n options: {\n direction: gesturesParams.isHorizontal ? Hammer.DIRECTION_VERTICAL : Hammer.DIRECTION_HORIZONTAL,\n event: 'majorrange',\n enable(manager, e) {\n if (!gesturesParams.rangeSelStatus.isOpenDim) {\n return false;\n }\n if (state.majoring) {\n return gesturesFns.isSelectionEnabled();\n }\n const targets =\n gesturesParams.active.gesture === 'majorrange' ? [dimAxis, gesturesParams.keys.componentKey] : [dimAxis];\n const hitComp = onComponentChecker.isOnComponentForRange(e, targets, this);\n\n state.majoring = gesturesFns.isSelectionEnabled() && !!e && !!hitComp;\n return state.majoring && !!gesturesParams.keys.dimRangeBrushKey;\n },\n },\n requireFailure: `lasso ${activeRangeBrush}`,\n recognizeWith: gesturesParams.handlers.scrollHandler ? 'drag' : null,\n events: {\n majorrangestart(e) {\n const targets =\n gesturesParams.active.gesture === 'majorrange' ? [dimAxis, gesturesParams.keys.componentKey] : [dimAxis];\n const hitComp = onComponentChecker.isOnComponentForRange(e, targets, this);\n if (!hitComp) {\n return;\n }\n\n state.majoring = true;\n gesturesFns.switchTo('majorrange', this.chart, e);\n gesturesFns.doEmit(this.chart, 'rangeDim', 'rangeStart', e);\n gesturesParams.handlers.selectionHandler.pauseEngineCalls(gesturesParams.keys.dimRangeBrushKey);\n },\n majorrangemove(e) {\n if (!state.majoring) {\n return;\n }\n gesturesFns.doEmit(this.chart, 'rangeDim', 'rangeMove', e);\n },\n majorrangeend(e) {\n if (!state.majoring) {\n return;\n }\n gesturesParams.handlers.selectionHandler.resumeEngineCalls(gesturesParams.keys.dimRangeBrushKey, true);\n gesturesFns.doEmit(this.chart, 'rangeDim', 'rangeEnd', e);\n state.majoring = false;\n },\n majorrangecancel() {\n gesturesParams.handlers.selectionHandler.resumeEngineCalls(gesturesParams.keys.dimRangeBrushKey, false);\n state.majoring = false;\n },\n },\n };\n}\n\nexport default {\n callDimensionRangeGesture,\n};\n","import Hammer from 'hammerjs';\n\n/**\n * Handles dragging for picasso charts using HammerJS. When activating dragging the enable function is\n * triggered first. dragstart is triggered on all areas specified by options.direction key. The different event\n * names must be appended as suffixes for options.event. In this case options.event is called drag, then our\n * events must be named dragstart, dragmove, dragend, dragcancel.\n */\nfunction callDragGesture(state, gesturesFns, gesturesParams, hasSelections, isRtl) {\n let dragPoint = {};\n return {\n type: 'Pan',\n options: {\n direction: gesturesParams.isHorizontal ? Hammer.DIRECTION_VERTICAL : Hammer.DIRECTION_HORIZONTAL,\n event: 'drag',\n enable(manager, e) {\n if (state.dragging) {\n return gesturesFns.isNavigationEnabled();\n }\n\n state.dragging =\n gesturesFns.isNavigationEnabled() &&\n !!e &&\n !!this.chart\n .componentsFromPoint({ x: e.center.x, y: e.center.y })\n .filter((c) => c.settings.key === gesturesParams.keys.componentKey)[0];\n return state.dragging;\n },\n },\n requireFailure: hasSelections ? `lasso ${gesturesFns.getBrushConfig()}` : '',\n events: {\n dragstart(e) {\n dragPoint = { x: e.deltaX, y: e.deltaY };\n let change =\n -(gesturesParams.isHorizontal ? e.deltaY : e.deltaX) / gesturesParams.handlers.scrollHandler.getItemSize();\n if (!gesturesParams.isHorizontal && isRtl) {\n change = -change;\n }\n gesturesParams.handlers.scrollHandler.getScrollApi().move(change);\n },\n dragmove(e) {\n if (!state.dragging) {\n return;\n }\n let change =\n -(gesturesParams.isHorizontal ? e.deltaY - dragPoint.y : e.deltaX - dragPoint.x) /\n gesturesParams.handlers.scrollHandler.getItemSize();\n if (!gesturesParams.isHorizontal && isRtl) {\n change = -change;\n }\n gesturesParams.handlers.scrollHandler.getScrollApi().move(change);\n dragPoint = { x: e.deltaX, y: e.deltaY };\n },\n dragend() {\n if (!state.dragging) {\n return;\n }\n state.dragging = false;\n },\n dragcancel() {\n state.dragging = false;\n },\n },\n };\n}\n\nexport default {\n callDragGesture,\n};\n","import onComponentChecker from './on-component-checker';\n\n/**\n * Handles navigational button events for picasso charts using HammerJS. When pressing on a navigational button,\n * the enable function is triggered to check if the navigational button should be enabled or not.\n * For example, in edit mode it should be disabled.\n * @param isEnabledFn - Function that returns a boolean. In this case return false if in edit mode, true otherwise\n * @param legendBrushKey - String defining the legend brush key\n * @returns An object for reacting to tap events according to HammerJS API\n */\nfunction callNavBtnGesture(isEnabledFn, legendBrushKey) {\n return {\n type: 'Tap',\n options: {\n event: 'navBtnTap',\n enable(manager, e) {\n if (!e || !isEnabledFn()) {\n return false;\n }\n\n return onComponentChecker.isOnComponentForNavBtn(e, legendBrushKey, this);\n },\n },\n events: {\n navBtnTap(e) {\n // Invokes paging interaction on legend\n this.chart.componentsFromPoint(e.center).forEach((c) => {\n const btn = e.target;\n const attr = btn ? btn.getAttribute('data-action') : '';\n if (attr) {\n return c.emit(attr);\n }\n return undefined;\n });\n },\n },\n };\n}\n\nexport default {\n callNavBtnGesture,\n};\n","import lassoGesture from './gestures/lasso-gesture';\nimport measureRangeGesture from './gestures/measure-range-gesture';\nimport areaRangeGesture from './gestures/area-range-gesture';\nimport dimensionRangeGesture from './gestures/dimension-range-gesture';\nimport dragGesture from './gestures/drag-gesture';\nimport navBtnGesture from './gestures/navigational-button-gesture';\n\n/**\n * Creates Picasso components for interaction component that are dependent on eatchother\n */\n\nfunction DependentInteractions(handlers, orientation, isRtl, keys, rangeSelStatus) {\n const ret = {};\n\n orientation = orientation || 'vertical';\n\n const lassoBrushKey = keys.lassoBrushKey || 'select';\n const dimRangeBrushKey = keys.dimRangeBrushKey || null;\n const measureRangeBrushKey = keys.measureRangeBrushKey || null;\n const areaBrushKey = keys.areaBrushKey || null;\n const legendBrushKey = keys.legendBrushKey || null;\n\n const hasSelections = !!handlers.selectionHandler && handlers.selectionHandler.isOn();\n\n const state = {\n dragging: false,\n lassoing: false,\n majoring: false,\n minoring: false,\n measureSelecting: false,\n };\n\n const active = {\n gesture: '',\n type: '',\n };\n\n const isHorizontal = orientation === 'horizontal';\n\n const dimAxis = isHorizontal ? 'y-axis' : 'x-axis';\n const measureAxis = isHorizontal ? 'x-axis' : 'y-axis';\n\n function switchTo(gesture, chart, e) {\n if (active.gesture === gesture) {\n return;\n }\n let clearKey = lassoBrushKey;\n const activeChart = chart || active.chart;\n\n switch (active.gesture) {\n case 'majorrange':\n doEmit(activeChart, 'rangeDim', 'rangeClear', e);\n clearKey = dimRangeBrushKey;\n break;\n case 'measurerange':\n doEmit(activeChart, 'rangeMeasure', 'rangeClear', e);\n clearKey = measureRangeBrushKey;\n break;\n case 'arearange':\n doEmit(activeChart, 'rangeMinor', 'areaClear', e);\n clearKey = areaBrushKey;\n break;\n default:\n break;\n }\n\n active.gesture = gesture;\n const newType = gesture === 'range' ? 'range' : 'item';\n\n if (active.type && active.type !== newType) {\n activeChart.brush(clearKey).clear();\n }\n\n active.chart = chart;\n active.type = newType;\n }\n\n // Just added here to allow easy disabling of things while developing\n function doEmit(chart, comp, cont, e) {\n if (chart) {\n const inst = chart.component(comp);\n if (inst) {\n inst.emit(cont, e);\n }\n }\n }\n\n function getBrushConfig() {\n if (!dimRangeBrushKey) {\n return 'measurerange arearange';\n }\n if (!measureRangeBrushKey) {\n return 'majorrange arearange';\n }\n return 'majorrange measurerange';\n }\n\n let gestures = [];\n\n const gesturesFns = {\n isSelectionEnabled: () => handlers.selectionHandler && handlers.selectionHandler.isOn(),\n isNavigationEnabled: () => handlers.scrollHandler && handlers.scrollHandler.isOn(),\n doEmit,\n switchTo,\n getBrushConfig,\n };\n\n const gesturesParams = {\n handlers,\n keys,\n isHorizontal,\n active,\n rangeSelStatus,\n };\n\n if (hasSelections) {\n gestures = [\n {\n type: 'Tap',\n options: {\n event: 'rangeClearTap',\n },\n events: {\n rangeClearTap(e) {\n switchTo('none', this.chart, e);\n\n state.majoring = false;\n state.measureSelecting = false;\n state.minoring = false;\n },\n },\n },\n ];\n\n // Ordering matters here because the tap event, because the above gesture does not return anything\n // and we want don't want to call the navigational button enable function for all tap events\n gestures.unshift(navBtnGesture.callNavBtnGesture(gesturesFns.isNavigationEnabled, legendBrushKey));\n\n gestures.push(lassoGesture.callLassoGesture(state, gesturesFns, gesturesParams));\n\n // Only two of the axis range selection can exist at the same time\n if (!dimRangeBrushKey) {\n gestures.push(measureRangeGesture.callMeasureRangeGesture(state, gesturesFns, gesturesParams, measureAxis));\n // Register component to selections handler so it is cleared properly\n handlers.selectionHandler.addComponent(measureRangeBrushKey, { id: 'rangeMeasure', clear: 'rangeClear' });\n\n gestures.push(areaRangeGesture.callAreaRangeGesture(state, gesturesFns, gesturesParams, dimAxis));\n handlers.selectionHandler.addComponent(areaBrushKey, { id: 'rangeMinor', clear: 'areaClear' });\n } else if (!measureRangeBrushKey) {\n gestures.push(dimensionRangeGesture.callDimensionRangeGesture(state, gesturesFns, gesturesParams, dimAxis));\n handlers.selectionHandler.addComponent(dimRangeBrushKey, { id: 'rangeDim', clear: 'rangeClear' });\n\n gestures.push(areaRangeGesture.callAreaRangeGesture(state, gesturesFns, gesturesParams, measureAxis));\n handlers.selectionHandler.addComponent(areaBrushKey, { id: 'rangeMinor', clear: 'areaClear' });\n } else {\n gestures.push(dimensionRangeGesture.callDimensionRangeGesture(state, gesturesFns, gesturesParams, dimAxis));\n handlers.selectionHandler.addComponent(dimRangeBrushKey, { id: 'rangeDim', clear: 'rangeClear' });\n\n gestures.push(measureRangeGesture.callMeasureRangeGesture(state, gesturesFns, gesturesParams, measureAxis));\n handlers.selectionHandler.addComponent(measureRangeBrushKey, { id: 'rangeMeasure', clear: 'rangeClear' });\n }\n }\n\n if (handlers.scrollHandler) {\n gestures.push(dragGesture.callDragGesture(state, gesturesFns, gesturesParams, hasSelections, isRtl));\n\n // On scroll we need to switch of the major ranging, so that pan will work\n handlers.scrollHandler.getScrollApi().on('update', onScrollUpdate);\n }\n\n function onScrollUpdate() {\n switchTo('none');\n state.majoring = false;\n state.measureSelecting = false;\n state.minoring = false;\n }\n\n ret.gestures = gestures;\n ret.destroy = function () {\n if (handlers.scrollHandler) {\n handlers.scrollHandler.getScrollApi().removeListener('update', onScrollUpdate);\n }\n };\n\n return ret;\n}\n\nexport default {\n create: DependentInteractions,\n};\n","/**\n * Create a new tooltip action context\n *\n * @param {Object} chartInstance Picasso chart instance\n * @returns {Object} The tooltip actions handler instance\n */\nfunction TooltipActions(chartInstance, componentKey, data, context, tooltipKey) {\n let hasOpen = false;\n\n context = context || 'tooltip';\n data = data || ['self'];\n\n const brush = chartInstance.brush(context);\n\n const fn = {};\n\n // Exposed here for test stub purposes\n fn.isOpen = function () {\n return hasOpen;\n };\n\n function closeTooltip() {\n if (hasOpen) {\n const tooltip = chartInstance.component(tooltipKey);\n tooltip.emit('hide');\n }\n hasOpen = false;\n }\n\n function openTooltip(shapes) {\n hasOpen = true;\n const tooltip = chartInstance.component(tooltipKey);\n const e = {};\n const data = { nodes: shapes };\n tooltip.emit('show', e, data);\n }\n\n fn.closeTooltip = closeTooltip;\n\n /**\n * Updates the contents in tooltip. Requires an array of tooltipInfo.labelData and\n * an array of tooltipInfo.measureRows for the tooltip to display content, otherwise\n * it will show nothing. These key value mappings should be sent in from the charts.\n */\n function update() {\n const brushes = brush.brushes();\n\n // Fetches only the shapes that we are hovering over\n const shapes = chartInstance.getAffectedShapes(context, 'and', data, componentKey);\n\n if (brushes.length >= 1) {\n hasOpen = true;\n openTooltip(shapes);\n } else {\n closeTooltip();\n }\n }\n\n function toggleInterceptor(items) {\n // Remove duplicates if we have multiple dimensions to aoivd a toggle\n // ex: set(2006 ) ->2006 is on, followed by set(2006 ) ->2006 is off\n if (data.length > 1) {\n const check = {};\n const ret = [];\n items.forEach((item) => {\n if (!check[item.key]) {\n check[item.key] = {};\n }\n if (!check[item.key][item.value]) {\n check[item.key][item.value] = true;\n ret.push(item);\n }\n });\n return ret;\n }\n return items;\n }\n\n fn.update = update;\n fn.toggleInterceptor = toggleInterceptor;\n return fn;\n}\n\nexport default {\n create(...args) {\n return TooltipActions(...args);\n },\n};\n","export default {\n formatMeasureValue,\n};\n\nfunction formatMeasureValue(field, measureContent) {\n if (field.raw().isCustomFormatted) {\n return field.formatter()(measureContent.value.qText);\n }\n const value = measureContent.value.qNum !== undefined ? measureContent.value.qNum : measureContent.value.qValue;\n return field.formatter()(value);\n}\n","const MAX_VISIBLE_ITEMS = 5;\nconst OTHERS_ELEMNO = -3;\nconst NULL_ELEMNO = -2;\n\n// TODO: The function getAffectedShapes returns duplicate shapes.\n// Remove when this is fixed on picasso\nfunction filterDuplicateShapes(shapes) {\n const uniques = [];\n\n shapes.forEach((shape) => {\n if (uniques.indexOf(shape) === -1 && shape.type !== 'container') {\n uniques.push(shape);\n }\n });\n\n return uniques;\n}\n\nexport const createFilter = (filterShapes) => (shapes) =>\n filterShapes ? filterShapes(shapes) : filterDuplicateShapes(shapes);\n\nexport const createContent =\n (context) =>\n ({ h, data, style }) => {\n const content = extractContent(context, data);\n const renderSettings = {\n h,\n style,\n rtl: context.direction === 'rtl',\n translator: context.translator,\n };\n return context.renderer(renderSettings, content);\n };\n\nfunction extractContent(tooltipInfo, uniqueShapes) {\n const dataset = tooltipInfo.chartInstance.dataset(tooltipInfo.dataPath);\n\n // Create content + header\n const content = [];\n\n const numberInExcess = uniqueShapes.length - MAX_VISIBLE_ITEMS;\n const numItems = Math.min(MAX_VISIBLE_ITEMS, uniqueShapes.length);\n for (let j = 0; j < numItems; j++) {\n const shape = uniqueShapes[j];\n const localContent = {\n rows: [],\n };\n\n if (tooltipInfo.labelData) {\n const labels = [];\n const refPaths = tooltipInfo.labelData;\n let isNullValue = false;\n for (let i = 0; i < refPaths.length; i++) {\n const currentNode = shape.data[refPaths[i]].value;\n if (currentNode.qElemNo === NULL_ELEMNO || currentNode.qElemNumber === NULL_ELEMNO) {\n // The node is null\n isNullValue = true;\n break;\n }\n labels.push(shape.data[refPaths[i]].value.qText);\n }\n\n if (isNullValue) {\n return undefined;\n }\n\n localContent.header = tooltipInfo.headerResolver(labels);\n localContent.rows = tooltipInfo.measureRows\n .map((measureRow) => {\n const rowData = shape.data;\n return tooltipInfo.rowResolver(dataset.field(rowData[measureRow].source.field), rowData[measureRow], rowData);\n })\n .filter((row) => !!row);\n\n const colorByData = getColorByDimData(tooltipInfo, shape);\n if (colorByData) {\n localContent.rows.unshift(colorByData);\n }\n content.push(localContent);\n }\n }\n if (numberInExcess > 0) {\n content.numberInExcess = numberInExcess;\n }\n\n content.rowCount = content[0] ? content.length * content[0].rows.length : 0;\n return content;\n}\n\nfunction getOthersIndex(values) {\n let index = -1;\n for (let i = 0; i < values.length; i++) {\n if (values[i] === OTHERS_ELEMNO) {\n index = i;\n }\n }\n return index;\n}\n\n/**\n * Get the information of how the color by row should look like.\n * The data for color by is fetched directly from the shape and it's key value mapping called\n * colorByDim, which contains the label and the elemNo\n * @param tooltipInfo - an object containing the chart view\n * @param shape - an object representing the shape currently hovered upon\n * @returns {{label: string - legendTitle, value: (*|String) - color by value, template: string - html template}}\n */\nfunction getColorByDimData(tooltipInfo, shape) {\n const colorData = shape.data.color;\n const colorSettings = tooltipInfo.colorService?.getSettings?.();\n\n if (!colorSettings || colorSettings.type === 'color' || !colorData || !colorSettings.fieldType) {\n return undefined;\n }\n\n const ids = [];\n tooltipInfo.data.forEach((mapping) => {\n const elemNoObj = shape.data[mapping];\n if (elemNoObj) {\n ids.push(elemNoObj.value);\n }\n });\n const othersIndex = getOthersIndex(ids);\n\n const { translator } = tooltipInfo;\n const label = colorSettings.label;\n const color = shape.attrs?.fill;\n const value = othersIndex !== -1 ? translator.get('properties.dimensionLimits.others') : colorData.label;\n return { color, label, value };\n}\n","/* eslint no-underscore-dangle: 0 */\nconst TOOLTIP_CONTAINER_ID = 'dist-flow-tooltip';\nconst TOOLTIP_CONTAINER_SELECTOR = `#${TOOLTIP_CONTAINER_ID}`;\n\nfunction appendTooltipContainer() {\n if (!document.querySelector(TOOLTIP_CONTAINER_SELECTOR)) {\n const container = document.createElement('div');\n container.id = TOOLTIP_CONTAINER_ID;\n container.style.overflow = 'hidden';\n container.style.position = 'fixed';\n container.style.pointerEvents = 'none';\n container.style.left = '0px';\n container.style.top = '0px';\n container.style.width = '100%';\n container.style.height = '100%';\n container.style.zIndex = 1020;\n document.body.appendChild(container);\n }\n}\n\nfunction destroyTooltipContainer() {\n const elm = document.querySelector(TOOLTIP_CONTAINER_SELECTOR);\n if (elm && elm.parentElement && elm.childElementCount < 1) {\n elm.parentElement.removeChild(elm);\n }\n}\n\n/**\n * Base tooltip definition\n */\nexport default function tooltip({ key = 'tooltip', rtl, fontFamily, filter, content }) {\n return {\n show: true,\n key,\n type: 'tooltip',\n layout: {\n displayOrder: 3,\n },\n beforeMount() {\n appendTooltipContainer();\n },\n beforeUpdate() {\n appendTooltipContainer();\n },\n destroyed() {\n destroyTooltipContainer();\n },\n settings: {\n appendTo: () => document.querySelector(TOOLTIP_CONTAINER_SELECTOR),\n content,\n filter,\n extract: (context) => context.node,\n direction: rtl ? 'rtl' : 'ltr',\n placement: 'bounds',\n },\n style: {\n arrow: {\n color: '#404040',\n },\n content: {\n display: 'table',\n 'border-spacing': '4px',\n background: 'rgba(64, 64, 64, 0.9)',\n opacity: '1',\n fontSize: '13px',\n fontFamily,\n 'empty-cells': 'show',\n },\n cell: {\n 'max-width': '180px',\n 'word-break': 'break-word',\n 'word-wrap': 'break-word',\n 'overflow-wrap': 'break-word',\n hyphens: 'auto',\n },\n },\n };\n}\n","/** @jsx h */\nimport rtlUtils from '../../extra/rtl-util';\n\nconst { detectTextDirection: getDirection } = rtlUtils;\n\nexport default function render(settings, content) {\n const { h, style, translator, rtl } = settings;\n const result = [];\n const labelTextAlign = rtl ? 'right' : 'left';\n content.forEach((item) => {\n if (item.header) {\n const headerStyle = {\n ...style.cell,\n textAlign: labelTextAlign,\n fontWeight: 'bold',\n direction: getDirection(item.header),\n };\n result.push(\n <tr>\n <td style={headerStyle} colSpan={2}>\n {item.header}\n </td>\n </tr>\n );\n }\n item.rows.forEach((row) => {\n let valueContent = row.value;\n if (row.color) {\n const symbolStyle = {\n display: 'inline-block',\n width: 10,\n height: 10,\n 'background-color': row.color,\n margin: '0 8px',\n };\n const symbol = <div style={symbolStyle} />;\n valueContent = rtl ? [row.value, symbol] : [symbol, row.value];\n }\n const label = rtl ? [':', row.label] : [row.label, ':'];\n const labelStyle = { ...style.cell, textAlign: labelTextAlign, direction: getDirection(row.label) };\n const valueStyle = { ...style.cell, textAlign: rtl ? 'left' : 'right', direction: getDirection(row.value) };\n result.push(\n <tr>\n <td style={labelStyle}>{label}</td>\n <td style={valueStyle}>{valueContent}</td>\n </tr>\n );\n });\n });\n if (content.numberInExcess) {\n const moreText = translator.get('Object.ChartTooltip.NMore', content.numberInExcess);\n const moreStyle = { ...style.cell, textAlign: labelTextAlign, direction: getDirection(moreText) };\n result.push(\n <tr>\n <td style={moreStyle} colSpan={2}>\n {moreText}\n </td>\n </tr>\n );\n }\n return result;\n}\n","import extend from 'extend';\nimport TooltipAction from './tooltip-actions';\nimport formatting from '../formatting';\nimport { createFilter, createContent } from './tooltip-content';\nimport createTooltip from './tooltips-component';\nimport defaultTooltipRenderer from './tooltip-renderer';\n\nconst DEFAULT_OPTIONS = {\n tooltipKey: 'tooltip',\n data: [''],\n contexts: ['tooltip'],\n headerResolver(values) {\n return values.join(', ');\n },\n rowResolver(field, measureContent) {\n return {\n value: formatting.formatMeasureValue(field, measureContent),\n label: field.title(),\n };\n },\n direction: 'ltr',\n renderer: defaultTooltipRenderer,\n};\n\n/**\n * Create a new Tooltips handler\n *\n * @param {Object} model The backend model for the chart\n * @param {Object} chartInstance Picasso chart instance\n * @returns {Object} The selections handler instance\n */\nfunction Tooltips(chartInstance, $element, chartType) {\n if (!chartInstance) {\n throw Error('Tooltips-handler: Missing input');\n }\n\n let tooltipContexts = {};\n let on = false;\n\n // Not need for a function, so turned it into an object\n const fn = {};\n\n /**\n * Setup a tooltips context\n * @param {Object} options Tooltip context options\n * @returns {Object} The selections handler instance\n */\n fn.setUp = function (options) {\n const opts = extend(true, {}, DEFAULT_OPTIONS, options);\n\n if (!opts.componentKey) {\n throw Error('Tooltips-handler.setUp: Missing required input');\n }\n\n if (tooltipContexts[opts.contexts[0]] && on) {\n deRegContext(tooltipContexts[opts.contexts[0]]);\n }\n\n const context = createContext(opts, chartInstance);\n tooltipContexts[opts.contexts[0]] = context;\n\n if (on) {\n registerContext(context);\n }\n\n const component = createTooltip({\n key: opts.tooltipKey,\n rtl: context.direction === 'rtl',\n fontFamily: context.theme.getStyle(chartType, 'tooltip', 'fontFamily'),\n filter: createFilter(context.filterShapes),\n content: createContent(context, opts.dataPath),\n });\n\n const settings = opts.chartBuilder.getSettings();\n settings.components.push(component);\n\n return {\n trigger: {\n on: context.treatAsDesktop ? 'over' : 'tap',\n action: 'set',\n contexts: opts.contexts,\n data: opts.data,\n globalPropagation: 'stop',\n },\n consume: opts.contexts.map((c) => ({ context: c })),\n component,\n };\n };\n\n fn.tearDown = function () {\n if (on) {\n deregister();\n }\n tooltipContexts = [];\n };\n\n function register() {\n Object.keys(tooltipContexts).forEach((key) => {\n registerContext(tooltipContexts[key]);\n });\n }\n\n function registerContext(context) {\n context.listeners.update = function (added, removed) {\n context.action.update(added, removed, context);\n };\n context.listeners.end = function () {\n context.action.closeTooltip();\n };\n\n context.brush.on(context.treatAsDesktop ? 'update' : 'set-values', context.listeners.update);\n context.brush.on('end', context.listeners.end);\n // Intecept the set-values call to avoid a toggle in the second dimension.\n context.brush.intercept('set-values', context.action.toggleInterceptor);\n }\n\n function deregister() {\n Object.keys(tooltipContexts).forEach((key) => {\n deRegContext(tooltipContexts[key]);\n });\n }\n\n function deRegContext(context) {\n context.brush.removeListener(context.treatAsDesktop ? 'update' : 'set-values', context.listeners.update);\n context.brush.removeListener('end', context.listeners.end);\n context.brush.removeInterceptor('set-values', context.action.toggleInterceptor);\n }\n\n function closeTooltip() {\n Object.keys(tooltipContexts).forEach((key) => {\n tooltipContexts[key].action.closeTooltip();\n });\n }\n\n function mouseLeave() {\n closeTooltip();\n // eslint-disable-next-line guard-for-in, no-restricted-syntax\n for (const prop in tooltipContexts) {\n tooltipContexts[prop].brush.clear();\n }\n }\n\n fn.closeTooltip = closeTooltip;\n\n fn.isOn = () => on;\n fn.on = function () {\n if (on) {\n return;\n }\n on = true;\n\n register();\n\n if ($element) {\n $element.on('mouseleave', mouseLeave);\n }\n };\n\n fn.off = function () {\n if (!on) {\n return;\n }\n on = false;\n deregister();\n\n if ($element) {\n $element.off('mouseleave', mouseLeave);\n }\n closeTooltip();\n };\n\n return fn;\n}\n\nexport default {\n create(chartInstance, $element, chartType) {\n return Tooltips(chartInstance, $element, chartType);\n },\n};\n\nfunction createContext(options, chartInstance) {\n return {\n brush: chartInstance.brush(options.contexts[0]),\n action: TooltipAction.create(\n chartInstance,\n options.componentKey,\n options.data,\n options.contexts[0],\n options.tooltipKey\n ),\n listeners: {},\n chartInstance,\n dataPath: options.dataPath,\n renderer: options.renderer,\n data: options.data,\n headerResolver: options.headerResolver,\n rowResolver: options.rowResolver,\n colorService: options.colorService,\n attrDimPath: options.attrDimPath,\n measureRows: options.measureRows,\n labelData: options.labelData,\n filterShapes: options.filterShapes,\n\n direction: options.environment.options.direction,\n theme: options.environment.theme,\n translator: options.environment.translator,\n treatAsDesktop: options.environment.deviceType !== 'touch',\n };\n}\n","/**\n * String validation util.\n *\n */\n\nconst CHARACTER_AVERAGE_WIDTH = 166 / 26;\nconst CHARACTER_MAX_WIDTH = 12;\nconst M_WIDTH = 11;\nconst CJK_AVERAGE_WIDTH = 12;\nconst CJK_OVER_LATIN_WIDTH_RATIO = CJK_AVERAGE_WIDTH / M_WIDTH;\n\nfunction startsWith(string, prefix) {\n return string.indexOf(prefix) === 0;\n}\n\nfunction endsWith(string, suffix) {\n return string.indexOf(suffix, string.length - suffix.length) !== -1;\n}\n\nfunction contains(haystack, needle) {\n if (!haystack) {\n throw new Error('Haystack is undefined.');\n }\n\n if (!needle) {\n throw new Error('Needle is undefined.');\n }\n\n return haystack.indexOf(needle) !== -1;\n}\n\nfunction stringWidthOverMWidth(len) {\n const n = 3; // For short strings with wide letters or numbers\n return (Math.min(len, n) * CHARACTER_MAX_WIDTH + Math.max(len - n, 0) * CHARACTER_AVERAGE_WIDTH) / M_WIDTH;\n}\n\nfunction getCharacterRatios(s) {\n if (!s) {\n return {\n latin: 0,\n cjk: 0,\n };\n }\n let CJK = s.match(/[\\u4E00-\\u9FFF]/g);\n let hiragana = s.match(/[\\u3040-\\u309F]/g);\n let katakana = s.match(/[\\u30A0-\\u30FF]/g);\n CJK = CJK ? CJK.length : 0;\n hiragana = hiragana ? hiragana.length : 0;\n katakana = katakana ? katakana.length : 0;\n const t = CJK + hiragana + katakana;\n return {\n latin: s.length - t,\n cjk: t,\n };\n}\n\nfunction getTotalCharacterRatios(qMatrix, columnIndex) {\n const total = { latin: 0, cjk: 0 };\n if (columnIndex === undefined) {\n qMatrix.forEach((row) => {\n const res = getCharacterRatios(row.qText);\n total.latin += res.latin;\n total.cjk += res.cjk;\n });\n } else {\n qMatrix.forEach((row) => {\n const res = getCharacterRatios(row[columnIndex].qText);\n total.latin += res.latin;\n total.cjk += res.cjk;\n });\n }\n const t = Math.max(1, total.latin + total.cjk);\n total.latinRatio = total.latin / t;\n total.cjkRatio = total.cjk / t;\n return total;\n}\n\nfunction getAdjustedMaxGlyphCount(maxGlyphCount, qMatrix, columnIndex) {\n const totalCharacterRatios = getTotalCharacterRatios(qMatrix, columnIndex);\n const latinGlyphCount = totalCharacterRatios.latinRatio * maxGlyphCount;\n const cjkGlyphCount = totalCharacterRatios.cjkRatio * maxGlyphCount;\n const adjustedMaxGlyphCount = Math.ceil(\n stringWidthOverMWidth(latinGlyphCount) + cjkGlyphCount * CJK_OVER_LATIN_WIDTH_RATIO\n );\n return adjustedMaxGlyphCount;\n}\n\n// TODO: Need to improve to make sure longer strings should have bigger width than shorter strings\nfunction estimateLatinLabelWidth(numLatins, maxLatinWidth, averageLatinWidth) {\n const latinWidth = numLatins <= 24 ? maxLatinWidth : averageLatinWidth;\n return numLatins * latinWidth;\n}\n\nfunction estimateLabelWidth(numCjks, numLatins, cjkWidth, maxLatinWidth, averageLatinWidth) {\n return numCjks * cjkWidth + estimateLatinLabelWidth(numLatins, maxLatinWidth, averageLatinWidth);\n}\n\nexport default {\n endsWith,\n startsWith,\n contains,\n stringWidthOverMWidth,\n getCharacterRatios,\n getTotalCharacterRatios,\n getAdjustedMaxGlyphCount,\n estimateLatinLabelWidth,\n estimateLabelWidth,\n};\n","import waterfallUtils from './waterfallchart-utils';\n// import NumberFormatter from '../../../assets/objects/utils/number-formatter';\n\n/**\n * Implementation details\n */\n\n// This will generate a hypercube from n measures\n\nfunction getGeneratedDimensionPath(dimIndex) {\n return `qDimensionInfo/${dimIndex}`;\n}\n\nfunction getGeneratedMeasurePath(mesIndex) {\n return `qMeasureInfo/${mesIndex}`;\n}\n\nfunction getMeasureFormat(layout) {\n return layout.qHyperCube.qMeasureInfo[0].qNumFormat;\n}\n\nfunction generateHyperCube(layout, theme) {\n const qMeasureInfo = layout.qHyperCube.qMeasureInfo;\n const qMatrix = layout.qHyperCube.qDataPages[0].qMatrix;\n const numMeasures = qMeasureInfo.length;\n if (!numMeasures) {\n return;\n }\n\n const positveColor = waterfallUtils.getColorForPositiveValue(layout, theme);\n const negativeColor = waterfallUtils.getColorForNegativeValue(layout, theme);\n\n const subtotalColor = waterfallUtils.getColorForSubtotal(layout, theme);\n // const _numberFormatter = new NumberFormatter(); // TODO: number formatter from picasso-plugin-q ??\n const _numberFormatter = { prepare: () => {}, formatValue: (x) => `${x}` };\n _numberFormatter.prepare('#.#A'); // Used by client generated subtotals when format by Measure expression selected.\n\n const generatedMatrix = [];\n let start = 0;\n let end = 0;\n let startMax = -Number.MAX_VALUE;\n let startMin = Number.MAX_VALUE;\n let endMax = -Number.MAX_VALUE;\n let endMin = Number.MAX_VALUE;\n let numItems = 0;\n let color;\n let qNum;\n for (let i = 0; i < numMeasures; i++) {\n qNum = Number.isNaN(+qMatrix[0][i].qNum) ? 0 : qMatrix[0][i].qNum;\n if (qMeasureInfo[i].valueType !== waterfallUtils.valueTypes.SUBTOTAL) {\n start = end;\n end += qNum * (qMeasureInfo[i].valueType === waterfallUtils.valueTypes.INVERSE ? -1 : 1);\n color = start < end ? positveColor : negativeColor;\n generatedMatrix.push([\n { qText: qMeasureInfo[i].qFallbackTitle, qElemNumber: numItems++ },\n { qText: color },\n { qNum: start },\n { qNum: end },\n { qNum: end - start, qText: qMatrix[0][i].qText },\n ]);\n if (qMeasureInfo[i].subtotal && qMeasureInfo[i].subtotal.enable) {\n generatedMatrix.push([\n { qText: qMeasureInfo[i].subtotal.label || '', qElemNumber: numItems++ },\n { qText: subtotalColor },\n { qNum: 0 },\n { qNum: end },\n { qNum: end, qText: _numberFormatter.formatValue(end) },\n ]);\n }\n } else {\n start = 0;\n end = qNum;\n generatedMatrix.push([\n { qText: qMeasureInfo[i].qFallbackTitle, qElemNumber: numItems++ },\n { qText: subtotalColor },\n { qNum: start },\n { qNum: end },\n { qNum: end - start, qText: qMatrix[0][i].qText },\n ]);\n }\n startMax = Math.max(startMax, start);\n startMin = Math.min(startMin, start);\n endMax = Math.max(endMax, end);\n endMin = Math.min(endMin, end);\n }\n const numFormat = getMeasureFormat(layout);\n const isAutoFormat = layout.qHyperCube.qMeasureInfo[0].qIsAutoFormat;\n const isCustomFormatted = layout.qDef.isCustomFormatted;\n const generated = {\n qHyperCube: {\n qMode: 'S',\n qDataPages: [\n {\n qArea: {\n qTop: 0,\n qLeft: 0,\n qWidth: 5,\n qHeight: generatedMatrix.length,\n },\n qMatrix: generatedMatrix,\n },\n ],\n qDimensionInfo: [\n {\n qStateCounts: {},\n },\n {\n qStateCounts: {},\n },\n ],\n qMeasureInfo: [\n {\n qMin: startMin,\n qMax: startMax,\n qNumFormat: numFormat,\n qIsAutoFormat: isAutoFormat,\n isCustomFormatted,\n },\n {\n qMin: endMin,\n qMax: endMax,\n qNumFormat: numFormat,\n qIsAutoFormat: isAutoFormat,\n isCustomFormatted,\n },\n {\n qMin: endMin,\n qMax: endMax,\n qNumFormat: numFormat,\n qIsAutoFormat: isAutoFormat,\n isCustomFormatted,\n },\n ],\n },\n };\n layout.generatedMatrix = generatedMatrix;\n layout.generated = generated;\n}\n\nfunction generateSlicedHyperCube(layout, top, height) {\n layout.generated.qHyperCube.qDataPages = [\n {\n qArea: {\n qTop: top,\n qLeft: 0,\n qWidth: 5,\n qHeight: height,\n },\n qMatrix: layout.generatedMatrix.slice(top, top + height),\n },\n ];\n}\n\nexport default {\n generateHyperCube,\n generateSlicedHyperCube,\n getGeneratedDimensionPath,\n getGeneratedMeasurePath,\n};\n","export default function(a, b) {\n return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}\n","import ascending from \"./ascending\";\nimport bisector from \"./bisector\";\n\nvar ascendingBisect = bisector(ascending);\nexport var bisectRight = ascendingBisect.right;\nexport var bisectLeft = ascendingBisect.left;\nexport default bisectRight;\n","import ascending from \"./ascending\";\n\nexport default function(compare) {\n if (compare.length === 1) compare = ascendingComparator(compare);\n return {\n left: function(a, x, lo, hi) {\n if (lo == null) lo = 0;\n if (hi == null) hi = a.length;\n while (lo < hi) {\n var mid = lo + hi >>> 1;\n if (compare(a[mid], x) < 0) lo = mid + 1;\n else hi = mid;\n }\n return lo;\n },\n right: function(a, x, lo, hi) {\n if (lo == null) lo = 0;\n if (hi == null) hi = a.length;\n while (lo < hi) {\n var mid = lo + hi >>> 1;\n if (compare(a[mid], x) > 0) hi = mid;\n else lo = mid + 1;\n }\n return lo;\n }\n };\n}\n\nfunction ascendingComparator(f) {\n return function(d, x) {\n return ascending(f(d), x);\n };\n}\n","var e10 = Math.sqrt(50),\n e5 = Math.sqrt(10),\n e2 = Math.sqrt(2);\n\nexport default function(start, stop, count) {\n var reverse,\n i = -1,\n n,\n ticks,\n step;\n\n stop = +stop, start = +start, count = +count;\n if (start === stop && count > 0) return [start];\n if (reverse = stop < start) n = start, start = stop, stop = n;\n if ((step = tickIncrement(start, stop, count)) === 0 || !isFinite(step)) return [];\n\n if (step > 0) {\n start = Math.ceil(start / step);\n stop = Math.floor(stop / step);\n ticks = new Array(n = Math.ceil(stop - start + 1));\n while (++i < n) ticks[i] = (start + i) * step;\n } else {\n start = Math.floor(start * step);\n stop = Math.ceil(stop * step);\n ticks = new Array(n = Math.ceil(start - stop + 1));\n while (++i < n) ticks[i] = (start - i) / step;\n }\n\n if (reverse) ticks.reverse();\n\n return ticks;\n}\n\nexport function tickIncrement(start, stop, count) {\n var step = (stop - start) / Math.max(0, count),\n power = Math.floor(Math.log(step) / Math.LN10),\n error = step / Math.pow(10, power);\n return power >= 0\n ? (error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1) * Math.pow(10, power)\n : -Math.pow(10, -power) / (error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1);\n}\n\nexport function tickStep(start, stop, count) {\n var step0 = Math.abs(stop - start) / Math.max(0, count),\n step1 = Math.pow(10, Math.floor(Math.log(step0) / Math.LN10)),\n error = step0 / step1;\n if (error >= e10) step1 *= 10;\n else if (error >= e5) step1 *= 5;\n else if (error >= e2) step1 *= 2;\n return stop < start ? -step1 : step1;\n}\n","export function initRange(domain, range) {\n switch (arguments.length) {\n case 0: break;\n case 1: this.range(domain); break;\n default: this.range(range).domain(domain); break;\n }\n return this;\n}\n\nexport function initInterpolator(domain, interpolator) {\n switch (arguments.length) {\n case 0: break;\n case 1: this.interpolator(domain); break;\n default: this.interpolator(interpolator).domain(domain); break;\n }\n return this;\n}\n","export var prefix = \"$\";\n\nfunction Map() {}\n\nMap.prototype = map.prototype = {\n constructor: Map,\n has: function(key) {\n return (prefix + key) in this;\n },\n get: function(key) {\n return this[prefix + key];\n },\n set: function(key, value) {\n this[prefix + key] = value;\n return this;\n },\n remove: function(key) {\n var property = prefix + key;\n return property in this && delete this[property];\n },\n clear: function() {\n for (var property in this) if (property[0] === prefix) delete this[property];\n },\n keys: function() {\n var keys = [];\n for (var property in this) if (property[0] === prefix) keys.push(property.slice(1));\n return keys;\n },\n values: function() {\n var values = [];\n for (var property in this) if (property[0] === prefix) values.push(this[property]);\n return values;\n },\n entries: function() {\n var entries = [];\n for (var property in this) if (property[0] === prefix) entries.push({key: property.slice(1), value: this[property]});\n return entries;\n },\n size: function() {\n var size = 0;\n for (var property in this) if (property[0] === prefix) ++size;\n return size;\n },\n empty: function() {\n for (var property in this) if (property[0] === prefix) return false;\n return true;\n },\n each: function(f) {\n for (var property in this) if (property[0] === prefix) f(this[property], property.slice(1), this);\n }\n};\n\nfunction map(object, f) {\n var map = new Map;\n\n // Copy constructor.\n if (object instanceof Map) object.each(function(value, key) { map.set(key, value); });\n\n // Index array by numeric index or specified key function.\n else if (Array.isArray(object)) {\n var i = -1,\n n = object.length,\n o;\n\n if (f == null) while (++i < n) map.set(i, object[i]);\n else while (++i < n) map.set(f(o = object[i], i, object), o);\n }\n\n // Convert object to map.\n else if (object) for (var key in object) map.set(key, object[key]);\n\n return map;\n}\n\nexport default map;\n","import {default as map, prefix} from \"./map\";\n\nfunction Set() {}\n\nvar proto = map.prototype;\n\nSet.prototype = set.prototype = {\n constructor: Set,\n has: proto.has,\n add: function(value) {\n value += \"\";\n this[prefix + value] = value;\n return this;\n },\n remove: proto.remove,\n clear: proto.clear,\n values: proto.keys,\n size: proto.size,\n empty: proto.empty,\n each: proto.each\n};\n\nfunction set(object, f) {\n var set = new Set;\n\n // Copy constructor.\n if (object instanceof Set) object.each(function(value) { set.add(value); });\n\n // Otherwise, assume it’s an array.\n else if (object) {\n var i = -1, n = object.length;\n if (f == null) while (++i < n) set.add(object[i]);\n else while (++i < n) set.add(f(object[i], i, object));\n }\n\n return set;\n}\n\nexport default set;\n","var array = Array.prototype;\n\nexport var map = array.map;\nexport var slice = array.slice;\n","export default function(constructor, factory, prototype) {\n constructor.prototype = factory.prototype = prototype;\n prototype.constructor = constructor;\n}\n\nexport function extend(parent, definition) {\n var prototype = Object.create(parent.prototype);\n for (var key in definition) prototype[key] = definition[key];\n return prototype;\n}\n","import define, {extend} from \"./define.js\";\n\nexport function Color() {}\n\nexport var darker = 0.7;\nexport var brighter = 1 / darker;\n\nvar reI = \"\\\\s*([+-]?\\\\d+)\\\\s*\",\n reN = \"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",\n reP = \"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",\n reHex = /^#([0-9a-f]{3,8})$/,\n reRgbInteger = new RegExp(\"^rgb\\\\(\" + [reI, reI, reI] + \"\\\\)$\"),\n reRgbPercent = new RegExp(\"^rgb\\\\(\" + [reP, reP, reP] + \"\\\\)$\"),\n reRgbaInteger = new RegExp(\"^rgba\\\\(\" + [reI, reI, reI, reN] + \"\\\\)$\"),\n reRgbaPercent = new RegExp(\"^rgba\\\\(\" + [reP, reP, reP, reN] + \"\\\\)$\"),\n reHslPercent = new RegExp(\"^hsl\\\\(\" + [reN, reP, reP] + \"\\\\)$\"),\n reHslaPercent = new RegExp(\"^hsla\\\\(\" + [reN, reP, reP, reN] + \"\\\\)$\");\n\nvar named = {\n aliceblue: 0xf0f8ff,\n antiquewhite: 0xfaebd7,\n aqua: 0x00ffff,\n aquamarine: 0x7fffd4,\n azure: 0xf0ffff,\n beige: 0xf5f5dc,\n bisque: 0xffe4c4,\n black: 0x000000,\n blanchedalmond: 0xffebcd,\n blue: 0x0000ff,\n blueviolet: 0x8a2be2,\n brown: 0xa52a2a,\n burlywood: 0xdeb887,\n cadetblue: 0x5f9ea0,\n chartreuse: 0x7fff00,\n chocolate: 0xd2691e,\n coral: 0xff7f50,\n cornflowerblue: 0x6495ed,\n cornsilk: 0xfff8dc,\n crimson: 0xdc143c,\n cyan: 0x00ffff,\n darkblue: 0x00008b,\n darkcyan: 0x008b8b,\n darkgoldenrod: 0xb8860b,\n darkgray: 0xa9a9a9,\n darkgreen: 0x006400,\n darkgrey: 0xa9a9a9,\n darkkhaki: 0xbdb76b,\n darkmagenta: 0x8b008b,\n darkolivegreen: 0x556b2f,\n darkorange: 0xff8c00,\n darkorchid: 0x9932cc,\n darkred: 0x8b0000,\n darksalmon: 0xe9967a,\n darkseagreen: 0x8fbc8f,\n darkslateblue: 0x483d8b,\n darkslategray: 0x2f4f4f,\n darkslategrey: 0x2f4f4f,\n darkturquoise: 0x00ced1,\n darkviolet: 0x9400d3,\n deeppink: 0xff1493,\n deepskyblue: 0x00bfff,\n dimgray: 0x696969,\n dimgrey: 0x696969,\n dodgerblue: 0x1e90ff,\n firebrick: 0xb22222,\n floralwhite: 0xfffaf0,\n forestgreen: 0x228b22,\n fuchsia: 0xff00ff,\n gainsboro: 0xdcdcdc,\n ghostwhite: 0xf8f8ff,\n gold: 0xffd700,\n goldenrod: 0xdaa520,\n gray: 0x808080,\n green: 0x008000,\n greenyellow: 0xadff2f,\n grey: 0x808080,\n honeydew: 0xf0fff0,\n hotpink: 0xff69b4,\n indianred: 0xcd5c5c,\n indigo: 0x4b0082,\n ivory: 0xfffff0,\n khaki: 0xf0e68c,\n lavender: 0xe6e6fa,\n lavenderblush: 0xfff0f5,\n lawngreen: 0x7cfc00,\n lemonchiffon: 0xfffacd,\n lightblue: 0xadd8e6,\n lightcoral: 0xf08080,\n lightcyan: 0xe0ffff,\n lightgoldenrodyellow: 0xfafad2,\n lightgray: 0xd3d3d3,\n lightgreen: 0x90ee90,\n lightgrey: 0xd3d3d3,\n lightpink: 0xffb6c1,\n lightsalmon: 0xffa07a,\n lightseagreen: 0x20b2aa,\n lightskyblue: 0x87cefa,\n lightslategray: 0x778899,\n lightslategrey: 0x778899,\n lightsteelblue: 0xb0c4de,\n lightyellow: 0xffffe0,\n lime: 0x00ff00,\n limegreen: 0x32cd32,\n linen: 0xfaf0e6,\n magenta: 0xff00ff,\n maroon: 0x800000,\n mediumaquamarine: 0x66cdaa,\n mediumblue: 0x0000cd,\n mediumorchid: 0xba55d3,\n mediumpurple: 0x9370db,\n mediumseagreen: 0x3cb371,\n mediumslateblue: 0x7b68ee,\n mediumspringgreen: 0x00fa9a,\n mediumturquoise: 0x48d1cc,\n mediumvioletred: 0xc71585,\n midnightblue: 0x191970,\n mintcream: 0xf5fffa,\n mistyrose: 0xffe4e1,\n moccasin: 0xffe4b5,\n navajowhite: 0xffdead,\n navy: 0x000080,\n oldlace: 0xfdf5e6,\n olive: 0x808000,\n olivedrab: 0x6b8e23,\n orange: 0xffa500,\n orangered: 0xff4500,\n orchid: 0xda70d6,\n palegoldenrod: 0xeee8aa,\n palegreen: 0x98fb98,\n paleturquoise: 0xafeeee,\n palevioletred: 0xdb7093,\n papayawhip: 0xffefd5,\n peachpuff: 0xffdab9,\n peru: 0xcd853f,\n pink: 0xffc0cb,\n plum: 0xdda0dd,\n powderblue: 0xb0e0e6,\n purple: 0x800080,\n rebeccapurple: 0x663399,\n red: 0xff0000,\n rosybrown: 0xbc8f8f,\n royalblue: 0x4169e1,\n saddlebrown: 0x8b4513,\n salmon: 0xfa8072,\n sandybrown: 0xf4a460,\n seagreen: 0x2e8b57,\n seashell: 0xfff5ee,\n sienna: 0xa0522d,\n silver: 0xc0c0c0,\n skyblue: 0x87ceeb,\n slateblue: 0x6a5acd,\n slategray: 0x708090,\n slategrey: 0x708090,\n snow: 0xfffafa,\n springgreen: 0x00ff7f,\n steelblue: 0x4682b4,\n tan: 0xd2b48c,\n teal: 0x008080,\n thistle: 0xd8bfd8,\n tomato: 0xff6347,\n turquoise: 0x40e0d0,\n violet: 0xee82ee,\n wheat: 0xf5deb3,\n white: 0xffffff,\n whitesmoke: 0xf5f5f5,\n yellow: 0xffff00,\n yellowgreen: 0x9acd32\n};\n\ndefine(Color, color, {\n copy: function(channels) {\n return Object.assign(new this.constructor, this, channels);\n },\n displayable: function() {\n return this.rgb().displayable();\n },\n hex: color_formatHex, // Deprecated! Use color.formatHex.\n formatHex: color_formatHex,\n formatHsl: color_formatHsl,\n formatRgb: color_formatRgb,\n toString: color_formatRgb\n});\n\nfunction color_formatHex() {\n return this.rgb().formatHex();\n}\n\nfunction color_formatHsl() {\n return hslConvert(this).formatHsl();\n}\n\nfunction color_formatRgb() {\n return this.rgb().formatRgb();\n}\n\nexport default function color(format) {\n var m, l;\n format = (format + \"\").trim().toLowerCase();\n return (m = reHex.exec(format)) ? (l = m[1].length, m = parseInt(m[1], 16), l === 6 ? rgbn(m) // #ff0000\n : l === 3 ? new Rgb((m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), ((m & 0xf) << 4) | (m & 0xf), 1) // #f00\n : l === 8 ? rgba(m >> 24 & 0xff, m >> 16 & 0xff, m >> 8 & 0xff, (m & 0xff) / 0xff) // #ff000000\n : l === 4 ? rgba((m >> 12 & 0xf) | (m >> 8 & 0xf0), (m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), (((m & 0xf) << 4) | (m & 0xf)) / 0xff) // #f000\n : null) // invalid hex\n : (m = reRgbInteger.exec(format)) ? new Rgb(m[1], m[2], m[3], 1) // rgb(255, 0, 0)\n : (m = reRgbPercent.exec(format)) ? new Rgb(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, 1) // rgb(100%, 0%, 0%)\n : (m = reRgbaInteger.exec(format)) ? rgba(m[1], m[2], m[3], m[4]) // rgba(255, 0, 0, 1)\n : (m = reRgbaPercent.exec(format)) ? rgba(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, m[4]) // rgb(100%, 0%, 0%, 1)\n : (m = reHslPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, 1) // hsl(120, 50%, 50%)\n : (m = reHslaPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, m[4]) // hsla(120, 50%, 50%, 1)\n : named.hasOwnProperty(format) ? rgbn(named[format]) // eslint-disable-line no-prototype-builtins\n : format === \"transparent\" ? new Rgb(NaN, NaN, NaN, 0)\n : null;\n}\n\nfunction rgbn(n) {\n return new Rgb(n >> 16 & 0xff, n >> 8 & 0xff, n & 0xff, 1);\n}\n\nfunction rgba(r, g, b, a) {\n if (a <= 0) r = g = b = NaN;\n return new Rgb(r, g, b, a);\n}\n\nexport function rgbConvert(o) {\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Rgb;\n o = o.rgb();\n return new Rgb(o.r, o.g, o.b, o.opacity);\n}\n\nexport function rgb(r, g, b, opacity) {\n return arguments.length === 1 ? rgbConvert(r) : new Rgb(r, g, b, opacity == null ? 1 : opacity);\n}\n\nexport function Rgb(r, g, b, opacity) {\n this.r = +r;\n this.g = +g;\n this.b = +b;\n this.opacity = +opacity;\n}\n\ndefine(Rgb, rgb, extend(Color, {\n brighter: function(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n darker: function(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n rgb: function() {\n return this;\n },\n displayable: function() {\n return (-0.5 <= this.r && this.r < 255.5)\n && (-0.5 <= this.g && this.g < 255.5)\n && (-0.5 <= this.b && this.b < 255.5)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n hex: rgb_formatHex, // Deprecated! Use color.formatHex.\n formatHex: rgb_formatHex,\n formatRgb: rgb_formatRgb,\n toString: rgb_formatRgb\n}));\n\nfunction rgb_formatHex() {\n return \"#\" + hex(this.r) + hex(this.g) + hex(this.b);\n}\n\nfunction rgb_formatRgb() {\n var a = this.opacity; a = isNaN(a) ? 1 : Math.max(0, Math.min(1, a));\n return (a === 1 ? \"rgb(\" : \"rgba(\")\n + Math.max(0, Math.min(255, Math.round(this.r) || 0)) + \", \"\n + Math.max(0, Math.min(255, Math.round(this.g) || 0)) + \", \"\n + Math.max(0, Math.min(255, Math.round(this.b) || 0))\n + (a === 1 ? \")\" : \", \" + a + \")\");\n}\n\nfunction hex(value) {\n value = Math.max(0, Math.min(255, Math.round(value) || 0));\n return (value < 16 ? \"0\" : \"\") + value.toString(16);\n}\n\nfunction hsla(h, s, l, a) {\n if (a <= 0) h = s = l = NaN;\n else if (l <= 0 || l >= 1) h = s = NaN;\n else if (s <= 0) h = NaN;\n return new Hsl(h, s, l, a);\n}\n\nexport function hslConvert(o) {\n if (o instanceof Hsl) return new Hsl(o.h, o.s, o.l, o.opacity);\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Hsl;\n if (o instanceof Hsl) return o;\n o = o.rgb();\n var r = o.r / 255,\n g = o.g / 255,\n b = o.b / 255,\n min = Math.min(r, g, b),\n max = Math.max(r, g, b),\n h = NaN,\n s = max - min,\n l = (max + min) / 2;\n if (s) {\n if (r === max) h = (g - b) / s + (g < b) * 6;\n else if (g === max) h = (b - r) / s + 2;\n else h = (r - g) / s + 4;\n s /= l < 0.5 ? max + min : 2 - max - min;\n h *= 60;\n } else {\n s = l > 0 && l < 1 ? 0 : h;\n }\n return new Hsl(h, s, l, o.opacity);\n}\n\nexport function hsl(h, s, l, opacity) {\n return arguments.length === 1 ? hslConvert(h) : new Hsl(h, s, l, opacity == null ? 1 : opacity);\n}\n\nfunction Hsl(h, s, l, opacity) {\n this.h = +h;\n this.s = +s;\n this.l = +l;\n this.opacity = +opacity;\n}\n\ndefine(Hsl, hsl, extend(Color, {\n brighter: function(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n darker: function(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n rgb: function() {\n var h = this.h % 360 + (this.h < 0) * 360,\n s = isNaN(h) || isNaN(this.s) ? 0 : this.s,\n l = this.l,\n m2 = l + (l < 0.5 ? l : 1 - l) * s,\n m1 = 2 * l - m2;\n return new Rgb(\n hsl2rgb(h >= 240 ? h - 240 : h + 120, m1, m2),\n hsl2rgb(h, m1, m2),\n hsl2rgb(h < 120 ? h + 240 : h - 120, m1, m2),\n this.opacity\n );\n },\n displayable: function() {\n return (0 <= this.s && this.s <= 1 || isNaN(this.s))\n && (0 <= this.l && this.l <= 1)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n formatHsl: function() {\n var a = this.opacity; a = isNaN(a) ? 1 : Math.max(0, Math.min(1, a));\n return (a === 1 ? \"hsl(\" : \"hsla(\")\n + (this.h || 0) + \", \"\n + (this.s || 0) * 100 + \"%, \"\n + (this.l || 0) * 100 + \"%\"\n + (a === 1 ? \")\" : \", \" + a + \")\");\n }\n}));\n\n/* From FvD 13.37, CSS Color Module Level 3 */\nfunction hsl2rgb(h, m1, m2) {\n return (h < 60 ? m1 + (m2 - m1) * h / 60\n : h < 180 ? m2\n : h < 240 ? m1 + (m2 - m1) * (240 - h) / 60\n : m1) * 255;\n}\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","import constant from \"./constant.js\";\n\nfunction linear(a, d) {\n return function(t) {\n return a + t * d;\n };\n}\n\nfunction exponential(a, b, y) {\n return a = Math.pow(a, y), b = Math.pow(b, y) - a, y = 1 / y, function(t) {\n return Math.pow(a + t * b, y);\n };\n}\n\nexport function hue(a, b) {\n var d = b - a;\n return d ? linear(a, d > 180 || d < -180 ? d - 360 * Math.round(d / 360) : d) : constant(isNaN(a) ? b : a);\n}\n\nexport function gamma(y) {\n return (y = +y) === 1 ? nogamma : function(a, b) {\n return b - a ? exponential(a, b, y) : constant(isNaN(a) ? b : a);\n };\n}\n\nexport default function nogamma(a, b) {\n var d = b - a;\n return d ? linear(a, d) : constant(isNaN(a) ? b : a);\n}\n","import {rgb as colorRgb} from \"d3-color\";\nimport basis from \"./basis.js\";\nimport basisClosed from \"./basisClosed.js\";\nimport nogamma, {gamma} from \"./color.js\";\n\nexport default (function rgbGamma(y) {\n var color = gamma(y);\n\n function rgb(start, end) {\n var r = color((start = colorRgb(start)).r, (end = colorRgb(end)).r),\n g = color(start.g, end.g),\n b = color(start.b, end.b),\n opacity = nogamma(start.opacity, end.opacity);\n return function(t) {\n start.r = r(t);\n start.g = g(t);\n start.b = b(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n\n rgb.gamma = rgbGamma;\n\n return rgb;\n})(1);\n\nfunction rgbSpline(spline) {\n return function(colors) {\n var n = colors.length,\n r = new Array(n),\n g = new Array(n),\n b = new Array(n),\n i, color;\n for (i = 0; i < n; ++i) {\n color = colorRgb(colors[i]);\n r[i] = color.r || 0;\n g[i] = color.g || 0;\n b[i] = color.b || 0;\n }\n r = spline(r);\n g = spline(g);\n b = spline(b);\n color.opacity = 1;\n return function(t) {\n color.r = r(t);\n color.g = g(t);\n color.b = b(t);\n return color + \"\";\n };\n };\n}\n\nexport var rgbBasis = rgbSpline(basis);\nexport var rgbBasisClosed = rgbSpline(basisClosed);\n","export default function(a, b) {\n if (!b) b = [];\n var n = a ? Math.min(b.length, a.length) : 0,\n c = b.slice(),\n i;\n return function(t) {\n for (i = 0; i < n; ++i) c[i] = a[i] * (1 - t) + b[i] * t;\n return c;\n };\n}\n\nexport function isNumberArray(x) {\n return ArrayBuffer.isView(x) && !(x instanceof DataView);\n}\n","import value from \"./value.js\";\nimport numberArray, {isNumberArray} from \"./numberArray.js\";\n\nexport default function(a, b) {\n return (isNumberArray(b) ? numberArray : genericArray)(a, b);\n}\n\nexport function genericArray(a, b) {\n var nb = b ? b.length : 0,\n na = a ? Math.min(nb, a.length) : 0,\n x = new Array(na),\n c = new Array(nb),\n i;\n\n for (i = 0; i < na; ++i) x[i] = value(a[i], b[i]);\n for (; i < nb; ++i) c[i] = b[i];\n\n return function(t) {\n for (i = 0; i < na; ++i) c[i] = x[i](t);\n return c;\n };\n}\n","export default function(a, b) {\n var d = new Date;\n return a = +a, b = +b, function(t) {\n return d.setTime(a * (1 - t) + b * t), d;\n };\n}\n","export default function(a, b) {\n return a = +a, b = +b, function(t) {\n return a * (1 - t) + b * t;\n };\n}\n","import value from \"./value.js\";\n\nexport default function(a, b) {\n var i = {},\n c = {},\n k;\n\n if (a === null || typeof a !== \"object\") a = {};\n if (b === null || typeof b !== \"object\") b = {};\n\n for (k in b) {\n if (k in a) {\n i[k] = value(a[k], b[k]);\n } else {\n c[k] = b[k];\n }\n }\n\n return function(t) {\n for (k in i) c[k] = i[k](t);\n return c;\n };\n}\n","import number from \"./number.js\";\n\nvar reA = /[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,\n reB = new RegExp(reA.source, \"g\");\n\nfunction zero(b) {\n return function() {\n return b;\n };\n}\n\nfunction one(b) {\n return function(t) {\n return b(t) + \"\";\n };\n}\n\nexport default function(a, b) {\n var bi = reA.lastIndex = reB.lastIndex = 0, // scan index for next number in b\n am, // current match in a\n bm, // current match in b\n bs, // string preceding current number in b, if any\n i = -1, // index in s\n s = [], // string constants and placeholders\n q = []; // number interpolators\n\n // Coerce inputs to strings.\n a = a + \"\", b = b + \"\";\n\n // Interpolate pairs of numbers in a & b.\n while ((am = reA.exec(a))\n && (bm = reB.exec(b))) {\n if ((bs = bm.index) > bi) { // a string precedes the next number in b\n bs = b.slice(bi, bs);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n if ((am = am[0]) === (bm = bm[0])) { // numbers in a & b match\n if (s[i]) s[i] += bm; // coalesce with previous string\n else s[++i] = bm;\n } else { // interpolate non-matching numbers\n s[++i] = null;\n q.push({i: i, x: number(am, bm)});\n }\n bi = reB.lastIndex;\n }\n\n // Add remains of b.\n if (bi < b.length) {\n bs = b.slice(bi);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n\n // Special optimization for only a single match.\n // Otherwise, interpolate each of the numbers and rejoin the string.\n return s.length < 2 ? (q[0]\n ? one(q[0].x)\n : zero(b))\n : (b = q.length, function(t) {\n for (var i = 0, o; i < b; ++i) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n });\n}\n","import {color} from \"d3-color\";\nimport rgb from \"./rgb.js\";\nimport {genericArray} from \"./array.js\";\nimport date from \"./date.js\";\nimport number from \"./number.js\";\nimport object from \"./object.js\";\nimport string from \"./string.js\";\nimport constant from \"./constant.js\";\nimport numberArray, {isNumberArray} from \"./numberArray.js\";\n\nexport default function(a, b) {\n var t = typeof b, c;\n return b == null || t === \"boolean\" ? constant(b)\n : (t === \"number\" ? number\n : t === \"string\" ? ((c = color(b)) ? (b = c, rgb) : string)\n : b instanceof color ? rgb\n : b instanceof Date ? date\n : isNumberArray(b) ? numberArray\n : Array.isArray(b) ? genericArray\n : typeof b.valueOf !== \"function\" && typeof b.toString !== \"function\" || isNaN(b) ? object\n : number)(a, b);\n}\n","export default function(a, b) {\n return a = +a, b = +b, function(t) {\n return Math.round(a * (1 - t) + b * t);\n };\n}\n","export default function(x) {\n return +x;\n}\n","import {bisect} from \"d3-array\";\nimport {interpolate as interpolateValue, interpolateNumber, interpolateRound} from \"d3-interpolate\";\nimport {map, slice} from \"./array\";\nimport constant from \"./constant\";\nimport number from \"./number\";\n\nvar unit = [0, 1];\n\nexport function identity(x) {\n return x;\n}\n\nfunction normalize(a, b) {\n return (b -= (a = +a))\n ? function(x) { return (x - a) / b; }\n : constant(isNaN(b) ? NaN : 0.5);\n}\n\nfunction clamper(domain) {\n var a = domain[0], b = domain[domain.length - 1], t;\n if (a > b) t = a, a = b, b = t;\n return function(x) { return Math.max(a, Math.min(b, x)); };\n}\n\n// normalize(a, b)(x) takes a domain value x in [a,b] and returns the corresponding parameter t in [0,1].\n// interpolate(a, b)(t) takes a parameter t in [0,1] and returns the corresponding range value x in [a,b].\nfunction bimap(domain, range, interpolate) {\n var d0 = domain[0], d1 = domain[1], r0 = range[0], r1 = range[1];\n if (d1 < d0) d0 = normalize(d1, d0), r0 = interpolate(r1, r0);\n else d0 = normalize(d0, d1), r0 = interpolate(r0, r1);\n return function(x) { return r0(d0(x)); };\n}\n\nfunction polymap(domain, range, interpolate) {\n var j = Math.min(domain.length, range.length) - 1,\n d = new Array(j),\n r = new Array(j),\n i = -1;\n\n // Reverse descending domains.\n if (domain[j] < domain[0]) {\n domain = domain.slice().reverse();\n range = range.slice().reverse();\n }\n\n while (++i < j) {\n d[i] = normalize(domain[i], domain[i + 1]);\n r[i] = interpolate(range[i], range[i + 1]);\n }\n\n return function(x) {\n var i = bisect(domain, x, 1, j) - 1;\n return r[i](d[i](x));\n };\n}\n\nexport function copy(source, target) {\n return target\n .domain(source.domain())\n .range(source.range())\n .interpolate(source.interpolate())\n .clamp(source.clamp())\n .unknown(source.unknown());\n}\n\nexport function transformer() {\n var domain = unit,\n range = unit,\n interpolate = interpolateValue,\n transform,\n untransform,\n unknown,\n clamp = identity,\n piecewise,\n output,\n input;\n\n function rescale() {\n piecewise = Math.min(domain.length, range.length) > 2 ? polymap : bimap;\n output = input = null;\n return scale;\n }\n\n function scale(x) {\n return isNaN(x = +x) ? unknown : (output || (output = piecewise(domain.map(transform), range, interpolate)))(transform(clamp(x)));\n }\n\n scale.invert = function(y) {\n return clamp(untransform((input || (input = piecewise(range, domain.map(transform), interpolateNumber)))(y)));\n };\n\n scale.domain = function(_) {\n return arguments.length ? (domain = map.call(_, number), clamp === identity || (clamp = clamper(domain)), rescale()) : domain.slice();\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = slice.call(_), rescale()) : range.slice();\n };\n\n scale.rangeRound = function(_) {\n return range = slice.call(_), interpolate = interpolateRound, rescale();\n };\n\n scale.clamp = function(_) {\n return arguments.length ? (clamp = _ ? clamper(domain) : identity, scale) : clamp !== identity;\n };\n\n scale.interpolate = function(_) {\n return arguments.length ? (interpolate = _, rescale()) : interpolate;\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n return function(t, u) {\n transform = t, untransform = u;\n return rescale();\n };\n}\n\nexport default function continuous(transform, untransform) {\n return transformer()(transform, untransform);\n}\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","export default function(x) {\n return Math.abs(x = Math.round(x)) >= 1e21\n ? x.toLocaleString(\"en\").replace(/,/g, \"\")\n : x.toString(10);\n}\n\n// Computes the decimal coefficient and exponent of the specified number x with\n// significant digits p, where x is positive and p is in [1, 21] or undefined.\n// For example, formatDecimalParts(1.23) returns [\"123\", 0].\nexport function formatDecimalParts(x, p) {\n if ((i = (x = p ? x.toExponential(p - 1) : x.toExponential()).indexOf(\"e\")) < 0) return null; // NaN, ±Infinity\n var i, coefficient = x.slice(0, i);\n\n // The string returned by toExponential either has the form \\d\\.\\d+e[-+]\\d+\n // (e.g., 1.2e+3) or the form \\de[-+]\\d+ (e.g., 1e+3).\n return [\n coefficient.length > 1 ? coefficient[0] + coefficient.slice(2) : coefficient,\n +x.slice(i + 1)\n ];\n}\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport default function(x) {\n return x = formatDecimalParts(Math.abs(x)), x ? x[1] : NaN;\n}\n","// [[fill]align][sign][symbol][0][width][,][.precision][~][type]\nvar re = /^(?:(.)?([<>=^]))?([+\\-( ])?([$#])?(0)?(\\d+)?(,)?(\\.\\d+)?(~)?([a-z%])?$/i;\n\nexport default function formatSpecifier(specifier) {\n if (!(match = re.exec(specifier))) throw new Error(\"invalid format: \" + specifier);\n var match;\n return new FormatSpecifier({\n fill: match[1],\n align: match[2],\n sign: match[3],\n symbol: match[4],\n zero: match[5],\n width: match[6],\n comma: match[7],\n precision: match[8] && match[8].slice(1),\n trim: match[9],\n type: match[10]\n });\n}\n\nformatSpecifier.prototype = FormatSpecifier.prototype; // instanceof\n\nexport function FormatSpecifier(specifier) {\n this.fill = specifier.fill === undefined ? \" \" : specifier.fill + \"\";\n this.align = specifier.align === undefined ? \">\" : specifier.align + \"\";\n this.sign = specifier.sign === undefined ? \"-\" : specifier.sign + \"\";\n this.symbol = specifier.symbol === undefined ? \"\" : specifier.symbol + \"\";\n this.zero = !!specifier.zero;\n this.width = specifier.width === undefined ? undefined : +specifier.width;\n this.comma = !!specifier.comma;\n this.precision = specifier.precision === undefined ? undefined : +specifier.precision;\n this.trim = !!specifier.trim;\n this.type = specifier.type === undefined ? \"\" : specifier.type + \"\";\n}\n\nFormatSpecifier.prototype.toString = function() {\n return this.fill\n + this.align\n + this.sign\n + this.symbol\n + (this.zero ? \"0\" : \"\")\n + (this.width === undefined ? \"\" : Math.max(1, this.width | 0))\n + (this.comma ? \",\" : \"\")\n + (this.precision === undefined ? \"\" : \".\" + Math.max(0, this.precision | 0))\n + (this.trim ? \"~\" : \"\")\n + this.type;\n};\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport var prefixExponent;\n\nexport default function(x, p) {\n var d = formatDecimalParts(x, p);\n if (!d) return x + \"\";\n var coefficient = d[0],\n exponent = d[1],\n i = exponent - (prefixExponent = Math.max(-8, Math.min(8, Math.floor(exponent / 3))) * 3) + 1,\n n = coefficient.length;\n return i === n ? coefficient\n : i > n ? coefficient + new Array(i - n + 1).join(\"0\")\n : i > 0 ? coefficient.slice(0, i) + \".\" + coefficient.slice(i)\n : \"0.\" + new Array(1 - i).join(\"0\") + formatDecimalParts(x, Math.max(0, p + i - 1))[0]; // less than 1y!\n}\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport default function(x, p) {\n var d = formatDecimalParts(x, p);\n if (!d) return x + \"\";\n var coefficient = d[0],\n exponent = d[1];\n return exponent < 0 ? \"0.\" + new Array(-exponent).join(\"0\") + coefficient\n : coefficient.length > exponent + 1 ? coefficient.slice(0, exponent + 1) + \".\" + coefficient.slice(exponent + 1)\n : coefficient + new Array(exponent - coefficient.length + 2).join(\"0\");\n}\n","import formatDecimal from \"./formatDecimal.js\";\nimport formatPrefixAuto from \"./formatPrefixAuto.js\";\nimport formatRounded from \"./formatRounded.js\";\n\nexport default {\n \"%\": function(x, p) { return (x * 100).toFixed(p); },\n \"b\": function(x) { return Math.round(x).toString(2); },\n \"c\": function(x) { return x + \"\"; },\n \"d\": formatDecimal,\n \"e\": function(x, p) { return x.toExponential(p); },\n \"f\": function(x, p) { return x.toFixed(p); },\n \"g\": function(x, p) { return x.toPrecision(p); },\n \"o\": function(x) { return Math.round(x).toString(8); },\n \"p\": function(x, p) { return formatRounded(x * 100, p); },\n \"r\": formatRounded,\n \"s\": formatPrefixAuto,\n \"X\": function(x) { return Math.round(x).toString(16).toUpperCase(); },\n \"x\": function(x) { return Math.round(x).toString(16); }\n};\n","export default function(x) {\n return x;\n}\n","import exponent from \"./exponent.js\";\nimport formatGroup from \"./formatGroup.js\";\nimport formatNumerals from \"./formatNumerals.js\";\nimport formatSpecifier from \"./formatSpecifier.js\";\nimport formatTrim from \"./formatTrim.js\";\nimport formatTypes from \"./formatTypes.js\";\nimport {prefixExponent} from \"./formatPrefixAuto.js\";\nimport identity from \"./identity.js\";\n\nvar map = Array.prototype.map,\n prefixes = [\"y\",\"z\",\"a\",\"f\",\"p\",\"n\",\"µ\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\",\"P\",\"E\",\"Z\",\"Y\"];\n\nexport default function(locale) {\n var group = locale.grouping === undefined || locale.thousands === undefined ? identity : formatGroup(map.call(locale.grouping, Number), locale.thousands + \"\"),\n currencyPrefix = locale.currency === undefined ? \"\" : locale.currency[0] + \"\",\n currencySuffix = locale.currency === undefined ? \"\" : locale.currency[1] + \"\",\n decimal = locale.decimal === undefined ? \".\" : locale.decimal + \"\",\n numerals = locale.numerals === undefined ? identity : formatNumerals(map.call(locale.numerals, String)),\n percent = locale.percent === undefined ? \"%\" : locale.percent + \"\",\n minus = locale.minus === undefined ? \"-\" : locale.minus + \"\",\n nan = locale.nan === undefined ? \"NaN\" : locale.nan + \"\";\n\n function newFormat(specifier) {\n specifier = formatSpecifier(specifier);\n\n var fill = specifier.fill,\n align = specifier.align,\n sign = specifier.sign,\n symbol = specifier.symbol,\n zero = specifier.zero,\n width = specifier.width,\n comma = specifier.comma,\n precision = specifier.precision,\n trim = specifier.trim,\n type = specifier.type;\n\n // The \"n\" type is an alias for \",g\".\n if (type === \"n\") comma = true, type = \"g\";\n\n // The \"\" type, and any invalid type, is an alias for \".12~g\".\n else if (!formatTypes[type]) precision === undefined && (precision = 12), trim = true, type = \"g\";\n\n // If zero fill is specified, padding goes after sign and before digits.\n if (zero || (fill === \"0\" && align === \"=\")) zero = true, fill = \"0\", align = \"=\";\n\n // Compute the prefix and suffix.\n // For SI-prefix, the suffix is lazily computed.\n var prefix = symbol === \"$\" ? currencyPrefix : symbol === \"#\" && /[boxX]/.test(type) ? \"0\" + type.toLowerCase() : \"\",\n suffix = symbol === \"$\" ? currencySuffix : /[%p]/.test(type) ? percent : \"\";\n\n // What format function should we use?\n // Is this an integer type?\n // Can this type generate exponential notation?\n var formatType = formatTypes[type],\n maybeSuffix = /[defgprs%]/.test(type);\n\n // Set the default precision if not specified,\n // or clamp the specified precision to the supported range.\n // For significant precision, it must be in [1, 21].\n // For fixed precision, it must be in [0, 20].\n precision = precision === undefined ? 6\n : /[gprs]/.test(type) ? Math.max(1, Math.min(21, precision))\n : Math.max(0, Math.min(20, precision));\n\n function format(value) {\n var valuePrefix = prefix,\n valueSuffix = suffix,\n i, n, c;\n\n if (type === \"c\") {\n valueSuffix = formatType(value) + valueSuffix;\n value = \"\";\n } else {\n value = +value;\n\n // Determine the sign. -0 is not less than 0, but 1 / -0 is!\n var valueNegative = value < 0 || 1 / value < 0;\n\n // Perform the initial formatting.\n value = isNaN(value) ? nan : formatType(Math.abs(value), precision);\n\n // Trim insignificant zeros.\n if (trim) value = formatTrim(value);\n\n // If a negative value rounds to zero after formatting, and no explicit positive sign is requested, hide the sign.\n if (valueNegative && +value === 0 && sign !== \"+\") valueNegative = false;\n\n // Compute the prefix and suffix.\n valuePrefix = (valueNegative ? (sign === \"(\" ? sign : minus) : sign === \"-\" || sign === \"(\" ? \"\" : sign) + valuePrefix;\n valueSuffix = (type === \"s\" ? prefixes[8 + prefixExponent / 3] : \"\") + valueSuffix + (valueNegative && sign === \"(\" ? \")\" : \"\");\n\n // Break the formatted value into the integer “value” part that can be\n // grouped, and fractional or exponential “suffix” part that is not.\n if (maybeSuffix) {\n i = -1, n = value.length;\n while (++i < n) {\n if (c = value.charCodeAt(i), 48 > c || c > 57) {\n valueSuffix = (c === 46 ? decimal + value.slice(i + 1) : value.slice(i)) + valueSuffix;\n value = value.slice(0, i);\n break;\n }\n }\n }\n }\n\n // If the fill character is not \"0\", grouping is applied before padding.\n if (comma && !zero) value = group(value, Infinity);\n\n // Compute the padding.\n var length = valuePrefix.length + value.length + valueSuffix.length,\n padding = length < width ? new Array(width - length + 1).join(fill) : \"\";\n\n // If the fill character is \"0\", grouping is applied after padding.\n if (comma && zero) value = group(padding + value, padding.length ? width - valueSuffix.length : Infinity), padding = \"\";\n\n // Reconstruct the final output based on the desired alignment.\n switch (align) {\n case \"<\": value = valuePrefix + value + valueSuffix + padding; break;\n case \"=\": value = valuePrefix + padding + value + valueSuffix; break;\n case \"^\": value = padding.slice(0, length = padding.length >> 1) + valuePrefix + value + valueSuffix + padding.slice(length); break;\n default: value = padding + valuePrefix + value + valueSuffix; break;\n }\n\n return numerals(value);\n }\n\n format.toString = function() {\n return specifier + \"\";\n };\n\n return format;\n }\n\n function formatPrefix(specifier, value) {\n var f = newFormat((specifier = formatSpecifier(specifier), specifier.type = \"f\", specifier)),\n e = Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3,\n k = Math.pow(10, -e),\n prefix = prefixes[8 + e / 3];\n return function(value) {\n return f(k * value) + prefix;\n };\n }\n\n return {\n format: newFormat,\n formatPrefix: formatPrefix\n };\n}\n","import formatLocale from \"./locale.js\";\n\nvar locale;\nexport var format;\nexport var formatPrefix;\n\ndefaultLocale({\n decimal: \".\",\n thousands: \",\",\n grouping: [3],\n currency: [\"$\", \"\"],\n minus: \"-\"\n});\n\nexport default function defaultLocale(definition) {\n locale = formatLocale(definition);\n format = locale.format;\n formatPrefix = locale.formatPrefix;\n return locale;\n}\n","export default function(grouping, thousands) {\n return function(value, width) {\n var i = value.length,\n t = [],\n j = 0,\n g = grouping[0],\n length = 0;\n\n while (i > 0 && g > 0) {\n if (length + g + 1 > width) g = Math.max(1, width - length);\n t.push(value.substring(i -= g, i + g));\n if ((length += g + 1) > width) break;\n g = grouping[j = (j + 1) % grouping.length];\n }\n\n return t.reverse().join(thousands);\n };\n}\n","export default function(numerals) {\n return function(value) {\n return value.replace(/[0-9]/g, function(i) {\n return numerals[+i];\n });\n };\n}\n","// Trims insignificant zeros, e.g., replaces 1.2000k with 1.2k.\nexport default function(s) {\n out: for (var n = s.length, i = 1, i0 = -1, i1; i < n; ++i) {\n switch (s[i]) {\n case \".\": i0 = i1 = i; break;\n case \"0\": if (i0 === 0) i0 = i; i1 = i; break;\n default: if (!+s[i]) break out; if (i0 > 0) i0 = 0; break;\n }\n }\n return i0 > 0 ? s.slice(0, i0) + s.slice(i1 + 1) : s;\n}\n","import {tickStep} from \"d3-array\";\nimport {format, formatPrefix, formatSpecifier, precisionFixed, precisionPrefix, precisionRound} from \"d3-format\";\n\nexport default function(start, stop, count, specifier) {\n var step = tickStep(start, stop, count),\n precision;\n specifier = formatSpecifier(specifier == null ? \",f\" : specifier);\n switch (specifier.type) {\n case \"s\": {\n var value = Math.max(Math.abs(start), Math.abs(stop));\n if (specifier.precision == null && !isNaN(precision = precisionPrefix(step, value))) specifier.precision = precision;\n return formatPrefix(specifier, value);\n }\n case \"\":\n case \"e\":\n case \"g\":\n case \"p\":\n case \"r\": {\n if (specifier.precision == null && !isNaN(precision = precisionRound(step, Math.max(Math.abs(start), Math.abs(stop))))) specifier.precision = precision - (specifier.type === \"e\");\n break;\n }\n case \"f\":\n case \"%\": {\n if (specifier.precision == null && !isNaN(precision = precisionFixed(step))) specifier.precision = precision - (specifier.type === \"%\") * 2;\n break;\n }\n }\n return format(specifier);\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step, value) {\n return Math.max(0, Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3 - exponent(Math.abs(step)));\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step, max) {\n step = Math.abs(step), max = Math.abs(max) - step;\n return Math.max(0, exponent(max) - exponent(step)) + 1;\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step) {\n return Math.max(0, -exponent(Math.abs(step)));\n}\n","import {ticks, tickIncrement} from \"d3-array\";\nimport continuous, {copy, identity} from \"./continuous\";\nimport {initRange} from \"./init\";\nimport tickFormat from \"./tickFormat\";\n\nexport function linearish(scale) {\n var domain = scale.domain;\n\n scale.ticks = function(count) {\n var d = domain();\n return ticks(d[0], d[d.length - 1], count == null ? 10 : count);\n };\n\n scale.tickFormat = function(count, specifier) {\n var d = domain();\n return tickFormat(d[0], d[d.length - 1], count == null ? 10 : count, specifier);\n };\n\n scale.nice = function(count) {\n if (count == null) count = 10;\n\n var d = domain(),\n i0 = 0,\n i1 = d.length - 1,\n start = d[i0],\n stop = d[i1],\n step;\n\n if (stop < start) {\n step = start, start = stop, stop = step;\n step = i0, i0 = i1, i1 = step;\n }\n\n step = tickIncrement(start, stop, count);\n\n if (step > 0) {\n start = Math.floor(start / step) * step;\n stop = Math.ceil(stop / step) * step;\n step = tickIncrement(start, stop, count);\n } else if (step < 0) {\n start = Math.ceil(start * step) / step;\n stop = Math.floor(stop * step) / step;\n step = tickIncrement(start, stop, count);\n }\n\n if (step > 0) {\n d[i0] = Math.floor(start / step) * step;\n d[i1] = Math.ceil(stop / step) * step;\n domain(d);\n } else if (step < 0) {\n d[i0] = Math.ceil(start * step) / step;\n d[i1] = Math.floor(stop * step) / step;\n domain(d);\n }\n\n return scale;\n };\n\n return scale;\n}\n\nexport default function linear() {\n var scale = continuous(identity, identity);\n\n scale.copy = function() {\n return copy(scale, linear());\n };\n\n initRange.apply(scale, arguments);\n\n return linearish(scale);\n}\n","import { scaleLinear } from 'd3-scale';\n\nconst SENSE_PICASSO_SPACING_COEFFICIENT = 100;\n\nconst tickGenerator = {\n getMinorTicks({ majorTicks, minorTickCount }) {\n const minor = [];\n for (let i = 0; i < majorTicks.length - 1; i++) {\n const start = majorTicks[i];\n const end = majorTicks[i + 1];\n const step = (end - start) / (minorTickCount + 1);\n\n for (let c = 1; c <= minorTickCount; c++) {\n minor.push(start + step * c);\n }\n }\n\n return minor;\n },\n\n // Adjust ticks: a) add minor ticks at two ends, if neccessary,\n // b) add set min and/or set max\n // For simplicity, only consider minorTickCount == 1\n adjustTicks({ ticks, majorTicks, minorTicks, autoMinMax, minMax, min, max }) {\n // a) add minor ticks at two ends, if neccessary,\n const d = minorTicks[0] - majorTicks[0];\n const deltaMin = majorTicks[0] - min;\n if (deltaMin > d) ticks.unshift({ value: majorTicks[0] - d, isMinor: true });\n const deltaMax = max - majorTicks[majorTicks.length - 1];\n if (deltaMax > d) ticks.push({ value: majorTicks[majorTicks.length - 1] + d, isMinor: true });\n if (autoMinMax) return ticks;\n\n // b) add set min and/or set max\n if ((minMax === 'min' || minMax === 'minMax') && deltaMin > 0) {\n ticks.unshift({ value: min, isMinor: false });\n }\n if ((minMax === 'max' || minMax === 'minMax') && deltaMax > 0) {\n ticks.push({ value: max, isMinor: false });\n }\n return ticks;\n },\n\n getTicks({ layout, height }) {\n const { autoMinMax, minMax, spacing } = layout.measureAxis;\n let min = Math.min(...layout.generated.qHyperCube.qMeasureInfo.map((measure) => measure.qMin));\n let max = Math.max(...layout.generated.qHyperCube.qMeasureInfo.map((measure) => measure.qMax));\n if (!autoMinMax) {\n switch (minMax) {\n case 'min':\n min = layout.measureAxis.min;\n break;\n case 'max':\n max = layout.measureAxis.max;\n break;\n case 'minMax':\n ({ min, max } = layout.measureAxis);\n break;\n default:\n break;\n }\n }\n const distance = SENSE_PICASSO_SPACING_COEFFICIENT * spacing;\n const count = Math.max(1, Math.round(height / distance));\n\n const scale = scaleLinear().domain([min, max]);\n const majorTicks = scale.ticks(count);\n const minorTicks = tickGenerator.getMinorTicks({ majorTicks, minorTickCount: 1 });\n\n // Generate an array of tick objects following the format defined by picasso\n const ticks = [\n ...majorTicks.map((value) => ({ value, isMinor: false })),\n ...minorTicks.map((value) => ({ value, isMinor: true })),\n ].sort((a, b) => a.value - b.value);\n return tickGenerator.adjustTicks({ ticks, majorTicks, minorTicks, autoMinMax, minMax, min, max });\n },\n};\n\nexport default tickGenerator;\n","import ChartView from '@qlik/common/picasso/chart-view';\nimport ChartBuilder from '@qlik/common/picasso/chart-builder/chart-builder';\nimport chartStyleUtils from '@qlik/common/extra/chart-style-utils';\nimport ScrollHandler from '@qlik/common/picasso/scroll/scroll-handler';\nimport DependentInteractions from '@qlik/common/picasso/selections/dependent-interactions';\nimport TooltipHandler from '@qlik/common/picasso/tooltip/tooltips-handler';\nimport formatting from '@qlik/common/picasso/formatting';\nimport stringUtil from '@qlik/common/extra/string-util';\nimport CubeGenerator from './waterfallchart-cube-generator-by-measures';\nimport waterfallUtils from './waterfallchart-utils';\nimport tickGenerator from './waterfallchart-tick-generator';\n\nconst chartID = waterfallUtils.chartID;\nconst MAX_GLYPH_COUNT = 20;\nconst BAR_WIDTH_RATIO = 0.7;\n\n//\n// Implementation details\n//\n\nfunction init({ picasso, environment, $element }) {\n const backendApi = null;\n const selectionsApi = null;\n this._super(picasso, $element, environment, backendApi, selectionsApi);\n this._tooltipHandler = TooltipHandler.create(this.chartInstance, $element, chartID);\n this._scrollHandler = new ScrollHandler(\n this.chartInstance,\n $element,\n this.getSlicedData.bind(this),\n this.updateChart.bind(this)\n );\n this._scrollHandler.setOptions({ direction: 'horizontal' });\n this.setDataPaths(['generated/qHyperCube']);\n}\n\nfunction getSlicedData(top, height) {\n CubeGenerator.generateSlicedHyperCube(this.layout, top, height);\n return Promise.resolve(this.layout);\n}\n\nfunction setSnapshotData(snapshotLayout) {\n this._super(snapshotLayout);\n snapshotLayout.generated = this.layout.generated; // eslint-disable-line no-param-reassign\n snapshotLayout.generatedMatrix = this.layout.generatedMatrix; // eslint-disable-line no-param-reassign\n}\nfunction getViewState() {\n return {\n scroll: this._scrollHandler.getScrollState(),\n };\n}\n\nfunction updateScrollHandlerState(b) {\n this._scrollHandler.setDisabled(!!b);\n}\n\nfunction updateConstraints(constraints) {\n const navigation = !constraints.active;\n const tooltip = !constraints.passive;\n\n this._scrollHandler[navigation ? 'on' : 'off']();\n this._tooltipHandler[tooltip ? 'on' : 'off']();\n}\nfunction off() {\n this._scrollHandler.off();\n this._tooltipHandler.off();\n}\n\nfunction getMaxGlyphCountForDimAxis(layout) {\n let glyphCount = -Number.MAX_VALUE;\n layout.qHyperCube.qMeasureInfo.forEach((measureInfo) => {\n glyphCount = Math.max(glyphCount, measureInfo.qFallbackTitle.length);\n if (\n measureInfo.valueType !== waterfallUtils.valueTypes.SUBTOTAL &&\n measureInfo.subtotal &&\n measureInfo.subtotal.enable\n ) {\n glyphCount = Math.max(glyphCount, measureInfo.subtotal.label ? measureInfo.subtotal.label.length : 0);\n }\n });\n return Math.min(MAX_GLYPH_COUNT, Math.max(0, glyphCount));\n}\n\nfunction getDimAxisSettings(layout) {\n return {\n settings: {\n labels: {\n mode: layout.dimensionAxis.label,\n maxGlyphCount: Math.ceil(stringUtil.stringWidthOverMWidth(getMaxGlyphCountForDimAxis(layout))), // To mitigate SUI-1445\n maxLengthPx: this.picassoElement.getBoundingClientRect().height / 4, // Picasso version 0.5.3 does not support function here\n },\n },\n };\n}\n\nfunction getBarSettings(tooltipSettings, layout) {\n const brushTrigger = tooltipSettings ? [tooltipSettings.box.trigger] : [];\n const brushConsume = tooltipSettings ? tooltipSettings.box.consume : [];\n return {\n data: {\n extract: {\n key: 'qHyperCube',\n field: CubeGenerator.getGeneratedDimensionPath(0),\n props: {\n start: { field: CubeGenerator.getGeneratedMeasurePath(0) },\n end: { field: CubeGenerator.getGeneratedMeasurePath(1) },\n measure: {\n field: CubeGenerator.getGeneratedMeasurePath(2),\n reduce: 'first',\n value(v) {\n return v;\n },\n },\n boxColor: {\n field: CubeGenerator.getGeneratedDimensionPath(1),\n value(v) {\n return v.qText;\n },\n },\n isCustomFormatted: !!layout.qDef.isCustomFormatted,\n tooltip: {\n value(v) {\n return v;\n },\n },\n },\n },\n },\n settings: {\n major: { scale: 'dimension' },\n minor: { scale: 'measure' },\n orientation: '', // There is a bug in Picasso where it uses height instead of width when the orientation is vertical.\n box: {\n width: BAR_WIDTH_RATIO,\n maxWidthPx: 4000,\n fill(d) {\n return d.datum.boxColor.value;\n },\n strokeWidth: 0,\n },\n },\n brush: {\n trigger: brushTrigger,\n consume: brushConsume,\n },\n };\n}\n\nfunction getInsideValueColor(boxColor, darkColor, lightColor) {\n return chartStyleUtils.getBestContrast(boxColor, darkColor, lightColor);\n}\n\nfunction getLabel(context) {\n const measure = context.data.measure;\n const field = context.dataset(measure.source.key).field(measure.source.field);\n return formatting.formatMeasureValue(field, measure);\n}\n\nfunction getBarLabelSettings(theme) {\n const outsideValueColor = theme.getStyle(chartID, 'value.color', 'default');\n const darkColor = theme.getStyle(chartID, 'value.color', 'dark');\n const lightColor = theme.getStyle(chartID, 'value.color', 'light');\n return {\n settings: {\n sources: [\n {\n strategy: {\n settings: {\n direction(context) {\n return context.data && context.data.end.value > context.data.start.value ? 'up' : 'down';\n },\n labels: [\n {\n placements: [\n { fill: outsideValueColor },\n {\n fill(s) {\n return getInsideValueColor(s.data.boxColor.value, darkColor, lightColor);\n },\n },\n {\n position: 'opposite',\n fill: outsideValueColor,\n justify: 0,\n },\n ],\n label: getLabel,\n },\n ],\n },\n },\n },\n ],\n },\n };\n}\n\nfunction getPicassoScrollSettings(layout, viewSize) {\n return {\n viewSize,\n max: layout.generatedMatrix.length,\n };\n}\n\nfunction getBridgeSettings(isRtl, theme) {\n const bridgeColor = theme.getStyle(chartID, 'shape.bridge', 'stroke');\n return {\n data: {\n extract: {\n key: 'qHyperCube',\n field: CubeGenerator.getGeneratedDimensionPath(0),\n props: {\n x: {},\n y: {\n field: CubeGenerator.getGeneratedMeasurePath(1),\n },\n },\n },\n },\n settings: {\n x: {\n scale: 'dimension',\n ref: 'x',\n fn(d) {\n return isRtl ? d.scale(d.datum.value) : d.scale(d.datum.value) + d.scale.bandwidth(); // place the point between two bars\n },\n },\n y: { scale: 'measure' },\n sizeLimits: {\n maxPx: 20000,\n maxRelExtent: 10000,\n minRelDiscrete: 0,\n maxRelDiscrete: 1,\n },\n shape: 'line',\n stroke: bridgeColor,\n size: 1 - BAR_WIDTH_RATIO,\n strokeDasharray: '4 4',\n fill: 'none',\n strokeWidth(d, i) {\n return i === d.data.items.length - 1 ? 0 : 2;\n },\n },\n };\n}\n\nfunction getLegendSettings(environment, layout) {\n const { theme, translator } = environment;\n const positveColor = waterfallUtils.getColorForPositiveValue(layout, theme);\n const negativeColor = waterfallUtils.getColorForNegativeValue(layout, theme);\n const subtotalColor = waterfallUtils.getColorForSubtotal(layout, theme);\n const positiveText = translator.get('waterfall.legend.positiveValue.label');\n const negativeText = translator.get('waterfall.legend.negativeValue.label');\n const subtotalText = translator.get('waterfall.legend.subtotal.label');\n return {\n displayOrder: 200,\n minimumLayoutMode: 'MEDIUM',\n prioOrder: 0,\n scale: {\n type: 'categorical-color',\n data: [positiveText, negativeText, subtotalText],\n range: [positveColor, negativeColor, subtotalColor],\n },\n style: {\n title: {\n show: false,\n },\n },\n };\n}\n\nfunction createChartSettings(layout) {\n // Create components\n const isRtl = this.isRtl();\n const { theme } = this.environment;\n const isSnapshot = !!layout.snapshotData;\n const chartBuilder = ChartBuilder.create({\n chartID,\n theme,\n isRtl,\n });\n const width = this.picassoElement.clientWidth;\n const height = this.picassoElement.clientHeight;\n\n const tooltipSettings = {};\n tooltipSettings.box = this._tooltipHandler.setUp({\n chartBuilder,\n environment: this.environment,\n data: [''],\n contexts: ['boxTip'],\n componentKey: 'box-marker',\n headerResolver() {\n return undefined; // Waterfall does not have dimension\n },\n rowResolver(field, measureContent, shapeData) {\n const color = shapeData.boxColor.value;\n const value = formatting.formatMeasureValue(field, measureContent);\n return {\n value,\n label: shapeData.tooltip.value.qText,\n color,\n };\n },\n labelData: ['tooltip'], // Should be a mapped path under extract, mandatory to display tooltip\n measureRows: ['measure'], // Should be a mapped path under extract, mandatory to display tooltip\n });\n\n const handlers = {\n scrollHandler: this._scrollHandler,\n selectionHandler: null,\n };\n\n const keys = {\n componentKey: 'box-marker',\n };\n\n if (this._dependentActions) {\n this._dependentActions.destroy();\n }\n this._dependentActions = DependentInteractions.create(handlers, 'vertical', isRtl, keys);\n\n chartBuilder.addPreset('dimension-measure-chart', {\n // common\n isRtl,\n orientation: 'vertical',\n theme,\n\n // grid lines\n gridlines: layout.gridlines,\n\n // dimension axis and title\n includeDimensionAxis: true,\n dimensionAxisProperties: layout.dimensionAxis,\n dimensionAxisSettings: getDimAxisSettings.call(this, layout),\n dimensionSource: CubeGenerator.getGeneratedDimensionPath(0),\n dimensionScaleSettings: {\n component: {\n maxPxStep() {\n return height / 4;\n },\n },\n },\n\n // measure axis and title\n includeMeasureAxis: true,\n measureAxisProperties: layout.measureAxis,\n // measureTitleText: \"\",\n measureSource: [CubeGenerator.getGeneratedMeasurePath(0), CubeGenerator.getGeneratedMeasurePath(1)],\n measureScaleSettings: {\n component: {\n expand: 0,\n include: [0], // Make sure that the measure axis starts from 0.\n ticks: {\n values: () => tickGenerator.getTicks({ layout, height }),\n },\n },\n },\n\n // scroll\n hasNavigation: !isSnapshot,\n isNavigationEnabledFn: () => this._scrollHandler.isOn(),\n scrollSettings: getPicassoScrollSettings(layout, this._scrollHandler.getScrollViewSizeInItem()),\n\n // ref-lines\n refLines: layout.refLine && layout.refLine.refLines,\n\n brushActions: this._dependentActions.gestures,\n });\n\n chartBuilder.addComponent('box-marker', getBarSettings(tooltipSettings, layout));\n chartBuilder.addComponent('point-marker', getBridgeSettings(isRtl, theme));\n\n if (!layout.legend || layout.legend.show) {\n chartBuilder.addComponent('categorical-legend', getLegendSettings(this.environment, layout), {\n dock: layout.legend ? layout.legend.dock : 'auto',\n isRtl,\n chartWidth: width,\n chartHeight: height,\n });\n }\n\n if (layout.dataPoint.showLabels) {\n chartBuilder.addComponent('labels', getBarLabelSettings(theme));\n }\n\n // Add snapshot settings\n const settings = chartBuilder.getSettings();\n this.addSnapshotChartSettings(settings, layout);\n\n return settings;\n}\n\nfunction updateData(layout) {\n const { theme, options } = this.environment;\n const self = this;\n\n return this._super(layout).then(() => {\n if (self._destroyed) {\n return Promise.reject();\n }\n\n let top;\n let height;\n\n const isSnapshot = !!layout.snapshotData;\n if (isSnapshot) {\n const area = self.layout.generated.qHyperCube.qDataPages[0].qArea; // To fix SUI-4307\n top = area.qTop;\n height = area.qHeight;\n CubeGenerator.generateHyperCube(self.layout, theme);\n } else {\n CubeGenerator.generateHyperCube(self.layout, theme);\n updateScrollHandlerState.call(self, true); // No need to run it in snapshot mode\n const { viewState } = options;\n if (viewState) {\n self._scrollHandler.updateViewState(self.layout.generatedMatrix.length);\n self._scrollHandler.setScrollState(viewState.scroll);\n top = viewState.scroll;\n } else {\n self._scrollHandler.resetScroll();\n top = 0;\n }\n height = self._scrollHandler.getScrollViewSizeInItem();\n }\n CubeGenerator.generateSlicedHyperCube(self.layout, top, height);\n return undefined;\n });\n}\n\nfunction updateOnScrollViewChanged(chart) {\n chart._scrollHandler.onResize();\n}\n\nfunction resize() {\n updateOnScrollViewChanged(this);\n this._super();\n}\n\nfunction paint() {\n const isSnapshot = !!this.layout.snapshotData;\n if (!isSnapshot && !this.environment.options.viewState) {\n updateScrollHandlerState.call(this, false);\n }\n this._tooltipHandler.closeTooltip();\n\n const pageNumberOfRows = this.layout.generated.qHyperCube.qDataPages[0].qMatrix.length;\n const datasetNumberOfRows = this.layout.generatedMatrix.length;\n if (!isSnapshot && this._scrollHandler.isDataSizeChanged(pageNumberOfRows, datasetNumberOfRows)) {\n const _super = this._super;\n const self = this;\n return this._scrollHandler.getViewData().finally(() => _super.call(self));\n }\n return this._super();\n}\n\nconst waterfallChartView = ChartView.extend('WaterfallChart', {\n namespace: '.waterfallchart',\n chartID,\n init,\n updateConstraints,\n off,\n createChartSettings,\n updateData,\n resize,\n paint,\n getSlicedData,\n setSnapshotData,\n getViewState,\n});\n\nexport default waterfallChartView;\n","import { useConstraints, useEffect, useElement, usePromise, useState, useStaleLayout } from '@nebula.js/stardust';\nimport $ from 'jquery';\nimport locale from '@qlik/common/locale';\nimport picassoSetup from '@qlik/common/picasso/picasso-setup';\nimport useResize from '@qlik/common/nebula/resize';\nimport useEnvironment from '@qlik/common/nebula/use-environment';\nimport setupSnapshot from '@qlik/common/nebula/snapshot';\n\nimport qae from './waterfallchart-qae';\nimport ext from './ext';\nimport ChartView from './waterfallchart-view';\n\nfunction usePromiseNoError(...args) {\n const [, error] = usePromise(...args);\n if (error) {\n throw error;\n }\n}\n\nexport default function supernova(env) {\n locale(env.translator);\n const picasso = picassoSetup();\n\n return {\n qae: qae(env),\n ext: ext(env),\n component() {\n const element = useElement();\n const environment = useEnvironment();\n const layout = useStaleLayout();\n const constraints = useConstraints();\n\n const [instance, setInstance] = useState();\n\n useEffect(() => {\n const $element = $(element);\n const view = new ChartView({ picasso, environment, $element });\n\n setInstance(view);\n\n return () => {\n view.destroy();\n };\n }, []);\n\n usePromiseNoError(async () => {\n if (!instance) {\n return;\n }\n instance.updateEnvironment(environment);\n instance.updateConstraints(constraints);\n\n await instance.updateData(layout);\n await instance.paint();\n }, [layout, instance, environment]);\n\n useResize(instance);\n setupSnapshot(instance);\n },\n };\n}\n","import all from './all.json';\n\nexport default function autoRegister(translator) {\n if (translator && translator.get && translator.add) {\n const t = 'Object.Disclaimer.LimitedData';\n const g = translator.get(t);\n // if translated string is different from its id\n // assume translations already exists for current locale\n if (g !== t) {\n return;\n }\n\n Object.keys(all).forEach((key) => {\n translator.add(all[key]);\n });\n }\n}\n","import picassojs from 'picasso.js';\nimport PicassoQ from 'picasso-plugin-q';\nimport PicassoHammer from 'picasso-plugin-hammer';\nimport Hammer from 'hammerjs';\nimport eventArea from './plugins/event-area';\nimport disclaimer from './disclaimer/disclaimer-component.jsx';\n\nexport default function setup() {\n const picasso = picassojs();\n // default to use canvas renderer\n picasso.renderer.prio(['canvas']);\n\n // TODO: investigate picasso warnings\n // if (DebugFlags.DEVELOPER) {\n // picasso.logger.level(picassojs.logger.LOG_LEVEL.WARN);\n // }\n\n picasso.use(PicassoQ);\n picasso.use(PicassoHammer(Hammer));\n picasso.use(eventArea);\n picasso.component('disclaimer', disclaimer);\n return picasso;\n}\n","import { useApp, useAppLayout, useTranslator, useOptions, useMemo, useTheme, useDeviceType } from '@nebula.js/stardust';\n\nexport default function useEnvironment() {\n const app = useApp();\n const appLayout = useAppLayout();\n const deviceType = useDeviceType();\n const options = useOptions();\n const theme = useTheme();\n const translator = useTranslator();\n\n const environment = useMemo(\n () => ({\n app,\n appLayout,\n deviceType,\n options,\n theme,\n translator,\n }),\n [app, appLayout, options.direction, options.freeResize, translator.language(), theme.name(), deviceType]\n );\n\n return environment;\n}\n","import { useConstraints, useOptions, usePromise, useRect } from '@nebula.js/stardust';\n\nexport default function useResize(chartInstance) {\n const rect = useRect();\n const options = useOptions();\n const constraints = useConstraints();\n\n const [, error] = usePromise(async () => {\n if (!chartInstance) {\n return;\n }\n chartInstance.updateConstraints(constraints);\n chartInstance.options = options;\n await chartInstance.resize();\n }, [rect.width, rect.height]);\n\n if (error) {\n throw error;\n }\n}\n"],"names":["init","Picasso","component","mounted","element","classList","add","style","pointerEvents","zIndex","render","renderer","disableTriggers","preferredSize","h","this","settings","label","rtl","dock","layout","dir","rect","display","justifyContent","alignItems","color","fontStyle","fontSize","width","height","transform","transformOrigin","textAlign","getStyle","modifiedLabel","spanStyle","overflow","whiteSpace","textOverflow","ref","alignToRef","title","properties","version","qHyperCubeDef","qDimensions","qMeasures","qMode","qInitialDataFetch","qWidth","qHeight","qSuppressMissing","auto","positiveValue","paletteColor","index","negativeValue","subtotal","dataPoint","showLabels","dimensionAxis","show","gridlines","spacing","legend","measureAxis","autoMinMax","max","min","minMax","qDef","qNumFormat","numFormatFromTemplate","isCustomFormatted","refLine","refLines","showTitles","subtitle","footnote","data","env","translator","path","dimensions","measures","description","get","window","e","r","n","t","exports","o","i","l","call","m","c","d","Object","defineProperty","enumerable","Symbol","toStringTag","value","__esModule","create","bind","default","prototype","hasOwnProperty","p","s","toString","a","getOwnPropertyDescriptor","Array","isArray","u","constructor","name","configurable","newValue","writable","arguments","f","length","split","Number","isNaN","updated","previous","concat","qLibraryId","qInfo","qId","dimensionList","qData","info","qTags","indexOf","trim","charAt","substring","qName","qDerivedFieldData","qDerivedFieldLists","qFieldDefs","fieldList","fullAccumulation","fullRange","crossAllDimensions","replace","y","q","b","D","modifier","dimensionAndFieldList","funcComp","valueComp","showExcludedValues","v","g","isFullRange","getNumDimensions","getExpressionWithExcludedComp","expression","treatMissingAsNull","getRowNoComp","getNumStepComp","steps","getAboveCompPrefix","getAboveCompSuffix","getAboveComp","getFunctionPrefix","getFunctionSuffix","getRangeComp","getAggrComp","getExcludedComp","needDimension","primaryDimension","accumulationDimension","getDimComp","qSortCriterias","qSortByExpression","qSortByNumeric","qSortByAscii","simplifyExpression","extractInputExpression","outputExpression","initModifier","keys","forEach","isNumeric","isApplicable","minDimensions","maxDimensions","getExpressionWithMarkers","canExtract","getDimDefWithWrapper","getFieldWithWrapper","x","iterator","E","A","C","I","M","S","L","slice","O","generate","val","push","op","splice","from","apply","TypeError","Error","clone","createPatch","toLowerCase","updateObject","F","P","Promise","resolve","map","qOp","qValue","JSON","stringify","qPath","applyPatches","N","V","type","w","T","disabled","H","translationKey","generateExpression","numDimensions","enableTotalsFunction","propertyPanelDef","items","disclaimer","translation","refFn","primaryDimensionTooltip","schemaIgnore","defaultValue","options","qHyperCube","qDimensionInfo","qGroupFallbackTitles","crossAllDimensionsTooltip","range","rangeFull","rangeCustom","rangeSteps","change","Math","abs","ext","support","modifiers","j","_","R","B","nullSuppression","k","showNull","inverted","U","G","W","$","z","Y","CURRENT_SELECTION","SELECT_FIELD_VALUE","DISREGARD_SELECTION","J","ONE_DIMENSION","ALL_DIMENSIOANS","DISREGARD_ALL_DIMENSIONS","K","X","Q","Z","ee","dimensionalScopeOneDimension","tooltipTranslation","dimensionalScopeOneDimensionTooltip","dimensionalScopeAllDimensions","dimensionalScopeAllDimensionsTooltip","dimensionalScopeDisregardAllDimensions","dimensionalScopeDisregardAllDimensionsTooltip","selectionScope","re","selectionScopeCurrentSelection","selectionScopeSpecificValue","selectionScopeTotal","dimensionalScope","ne","te","oe","ie","ae","se","join","field","updateModifier","modifierSelectionScope","modifierSelectionScopeTooltip","dropdownOnly","app","getFieldList","then","modifierDimensionalScope","modifierDimensionalScopeTooltip","supportTooltip","getDisregardSelectionComp","getFieldSelectionComp","getTotalComp","getSelectedDimComp","ue","getExpression","getExpressionRef","getLibraryIdRef","getLibraryId","getLabelRef","getLabelExpressionRef","le","initBase","isValid","restoreBase","base","ce","pe","fe","accumulation","movingAverage","difference","normalization","me","de","applyModifiers","ye","cleanUpMeasure","qe","destroy","id","masterItemSubscriber","unsubscribe","hasActiveModifiers","be","getActiveModifier","De","isSupportedModifiers","some","isApplicableSupportedModifiers","modifierTypes","measureBase","limitedSorting","he","Se","Ne","ifEnableTotalsFunction","ve","model","isSnapshot","masterItem","isFirstTime","lastReloadTime","Me","measure","getEffectiveProperties","Ee","Ve","Le","Oe","libraryIds","ge","Ce","oldProperties","runUpdateIfChange","libraryItemsProps","we","Pe","newProperties","libraryId","qMeasure","qLabel","qLabelExpression","quarantine","coloring","qAggrFunc","Ae","xe","Ie","getDimensionList","all","measureLibraryIds","dimensionLibraryIds","getMeasure","getProperties","getDimension","Fe","qHasSoftPatches","qExtendsId","setProperties","callback","dimension","enabled","listener","layoutSubscribe","subscribe","dispose","clearUndoBuffer","charCodeAt","String","fromCharCode","floor","getValue","setValue","isEmpty","isAtomicValue","test","generateId","round","random","isOrderedSubset","indexAdded","indexRemoved","findItemByPropertyValue","findIndexByPropertyValue","addDimensions","exportFormat","excludedDimensions","addMeasures","excludedMeasures","setInterColumnSortOrder","qInterColumnSortOrder","interColumnSortOrder","copyProperties","updateLayoutExclude","qLayoutExclude","changed","to","storeMeasuresModifiers","store","match","parse","qv","othersLabel","pow","importCommonProperties","visualization","copyPropertyIfExist","copyPropertyOrSetDefault","getDefaultDimension","autoSort","cId","qNullSuppression","qOtherLabel","qOtherTotalSpec","qOtherLimitMode","qOtherMode","qOtherSortMode","qSuppressOther","getDefaultMeasure","qTrendLines","newHyperCubeDef","defaultDimension","maxMeasures","minMeasures","defaultMeasure","getMaxMinDimensionMeasure","dataDefinition","createNewProperties","initialProperties","hypercubePath","components","shouldInitLayoutExclude","initLayoutExclude","updateDimensionsOnAdded","added","updateMeasuresOnAdded","restoreMeasuresModifiers","exportProperties","propertyTree","viewDataMode","qProperty","filters","qContextSetExpression","qDynamicScript","importProperties","defaultPropertyValues","extension","supportedFilters","qChildren","qTop","qLeft","cellBackgroundColor","cellForegroundColor","colorByAlternative","colorByExpression","tooltip","urlLabel","url","qAttribute","moveByIdFromGroup","IDMAP","CELL_BACKGROUND_COLOR","CELL_FOREGROUND_COLOR","COLOR_BY_ALTERNATIVE","COLOR_BY_EXPRESSION","TOOLTIP","CELL_LINK_LABEL","CELL_LINK_URL","getNumMeasures","wrapFieldName","getItemLabel","colorModeOptions","primary","multiColor","scatterplot","piechart","linechart","distributionplot","altLabel","qStringExpression","qExpr","substr","isDimension","attributeExpression","item","key","qExpression","matchMeasure","activeMeasureIndex","labelExpRef","colorMapRef","qSortBy","qAttributeDimensions","qAttributeExpressions","qFieldLabels","useMasterNumberFormat","mode","byDimDef","activeDimensionIndex","byMeasureDef","formatting","changeProperty","getCanColorBy","byDimension","byMeasure","byMultiple","byExpression","shouldUpdateColorBy","canColorBy","autoColor","colorMode","updateColorBy","deleteTotalMode","qTotalMode","shouldAddColorByExpression","addColorByExpression","switchToAutoColor","shouldSwitchToColorPersistent","handleAutoMinMax","handleMeasuresAxis","measureType","measureAxes","series","axis","line","marker","bar","total","includes","filter","sort","supportedAutoMinMax","arrayPath","quarantineName","arrayName","itemPath","unquarantine","hypercube","colorChart","axisChart","quarantineProperty","unquarantineProperty","quarantineArrayProp","unquarantineArrayProp","conditionalColoring","conditionalShow","propTree","conversion","props","extend","qSuppressZero","targets","RegExp","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","rgb","formatHex","formatRgb","exec","parseInt","NaN","opacity","Je","lt","ct","st","ft","copy","assign","displayable","hex","formatHsl","brighter","darker","sn","fn","search","reverse","toFixed","lastIndexOf","dn","pn","vn","hn","mn","gn","yn","bn","xn","qn","wn","kn","toUpperCase","Cn","Mn","pattern","abbreviate","pop","prefix","postfix","maxPrecision","percentage","numericPattern","numericRegex","groupTemp","decTemp","temp","localeInfo","thousandDelimiter","decimalDelimiter","patternSeparator","abbreviations","qNumericalAbbreviation","prepare","subtype","formatValue","_prepared","positive","isFunctional","negative","zero","toExponential","Dn","toPrecision","ceil","log","jn","Tn","Fn","Ln","Hn","zn","qCalendarStrings","qLongDayNames","qDayNames","qLongMonthNames","qMonthNames","locale_days","locale_days_abbr","locale_months","locale_months_abbr","qTimeFmt","qDateFmt","qTimestampFmt","Date","getUTCHours","getUTCDay","year","getUTCFullYear","month","getUTCMonth","day","date","getUTCDate","getUTCMinutes","getUTCSeconds","getUTCMilliseconds","UTC","getTime","getDay","Rn","YY","YYY","def","MM","MMM","WW","WWW","getShapeColor","theme","defaultColor","defaultIndex","layoutColor","waterfallUtils","valueTypes","NORMAL","INVERSE","SUBTOTAL","chartID","getColorForPositiveValue","getColorPickerColor","getColorForNegativeValue","getColorForSubtotal","colorIsNotAuto","propertyDefinition","flags","positiveValueColor","dualOutput","negativeValueColor","subtotalColor","numberFormatting","globalChange","uses","numberFormattingType","undefined","addTranslation","disabledRef","valueType","subTotal","subTotalLabel","enable","addons","dataHandling","suppressZero","calcCond","colorBackground","presentation","grouped","gridLines","snapshot","tid","showGridLines","gridSpacing","colors","simpleColors","classification","section","tags","exclusive","othersGroup","isEnabled","anything","_env$anything","sense","definition","pp","cssScaling","export","exportData","sharing","viewData","mapProperties","getDefaultDimensionProperties","getDefaultMeasureProperties","hyperCubePath","freeze","fnTest","Class","className","proto","_super","tmp","ret","ctor","Function","idGen","getChar","charCode","base62","chr","getAxisDock","direction","isRtl","getYAxisDock","getXAxisDock","yDockNearFar","getOppositeAxisDock","rangesOfLRgExp","rangesOfRRgExp","rangesOfALRgExp","isLtrChar","isRtlChar","lrm","rlm","detectTextDirection","lineSettings","defaultSettings","stroke","strokeDasharray","_options$style","lineType","lineLabelSettings","labelColor","labelFontSize","labelFontFamily","align","vAlign","text","fill","fontFamily","maxWidthPx","isVisible","refLineExpr","getRefLineTitle","valueString","showValue","showLabel","RtlUtil","constants","SHOW_AXIS_LABELS_OPTIONS","SHOW_TITLE_OPTIONS","HORIZONTAL","VERTICAL","LAYOUTSETTINGS","lasso","displayOrder","rangeDim","rangeMeasure","rangeMinor","scrollBar","minimumLayoutMode","prioOrder","measureAxisTitle","dimensionAxisTitle","refLinesLabels","DEFAULT_CHART_ORIENTATION","DimensionMeasureChart","chartBuilder","opts","measureAxisProperties","dimensionAxisProperties","chartOrientation","orientation","CONSTANTS","isChartHorizontal","measureDirection","dimensionDirection","includeMeasureAxisComponent","includeMeasureAxisTitleComponent","measureTitleText","includeDimensionAxisComponent","includeDimensionAxis","includeDimensionAxisTitleComponent","dimensionTitleText","includeGridlines","includeRefLines","interactionActions","measureAxisSettings","scale","forceBounds","showBounds","measureAxisOptions","getMeasureAxisOptions","addComponent","addMeasureAxisComponent","measureTitleSettings","getMeasureAxisTitleOptions","addMeasureAxisTitleComponent","measureScaleSettings","measureScaleOptions","source","measureSource","ticks","distance","addScale","addMeasureScale","dimensionAxisSettings","dimensionAxisOptions","getDimensionAxisOptions","addDimensionAxisComponent","dimensionAxisTitleSettings","dimensionAxisTitleOptions","getDimensionAxisTitleOptions","addDimensionAxisTitleComponent","dimensionScaleOptions","dimensionSource","dimensionScaleSettings","addDimensionScale","gridlinesOptions","gridlinesSettings","minorTicks","addGridlinesComponent","hasNavigation","getSettings","scroll","viewSize","scrollSettings","scrollbarOptions","isHorizontal","scrollBarSettings","addInteractionActions","isEnabledFn","targetIsScrollbar","manager","startPoint","center","deltaX","deltaY","chart","componentsFromPoint","events","tap","emit","panstart","pan","panend","pancancel","getScrollActions","isNavigationEnabledFn","addScrollbarComponent","axisDock","axisDockUtil","refLinesSettings","oob","lines","refLinesLabelsSettings","require","measureText","formatter","scales","labelWidths","formattedValue","minimumText","wanted","required","maxLabelWidth","labelPadding","expressionValue","lineOptions","refLineUtil","addRefLineComponent","enableLasso","selectionsEnabled","lassoOptions","brushKey","brushComponents","brushData","addLassoComponent","enableDimRange","rangeDimSettings","rangeDimOptions","brushAxis","brushArea","brushScale","addRangeDimComponent","dimRange","enableMeasureRange","rangeMeasureSettings","rangeMeasureOptions","multiple","addRangeMeasureComponent","measureRange","enableAreaRange","rangeMinorSettings","chartInstance","addRangeAreaComponent","areaRange","brushActions","addInteraction","gestures","addInteractionComponent","actions","invert","count","domain","trackBy","axisLineStroke","titleFontSize","titleFill","labelsFill","labelsFontSize","titleFontFamily","labelsFontFamily","brush","trigger","consume","strokeWidth","labels","tiltAngle","maxEdgeBleed","maxSize","measureScale","fields","expand","scaleSettings","dimensionScale","extract","qText","datum","xAxis","yAxis","xAxisTitle","yAxisTitle","getBublesAlign","isAlignStart","getDock","dockT","dockTargets","layoutModes","SPARK","XSMALL","SMALL","MEDIUM","FULL","LayoutModes","getLabel","context","end","dataset","getLayoutModeKeys","modeKey","layoutModeKeys","directions","left","right","up","down","createComponent","minor","boxMarker","pointMarker","backgroundColor","scrollbar","comp","contexts","rangeUtil","target","fillActive","bubbles","isStartBorder","binStart","binEnd","action","rangeArea","chartHeight","chartWidth","itemFill","itemFontSize","anchor","size","vertical","navigation","button","class","content","state","lineHeight","wordBreak","margin","top","bottom","shape","showTitle","categoricalLegend","tickFill","tickFontSize","tickFontFamily","getAlignValue","word","major","tick","sequentialLegend","gridLine","interaction","oobColor","oobBackgroundColor","padding","eventArea","sources","selector","strategy","parseFloat","placements","position","justify","ChartBuilder","dockLayout","interactions","getComponent","addPreset","ChartPresets","validateComponentKeys","msg","ALIGNMENT","CENTER","BOTTOM","DISCLAIMERS","alignment","util","getNoDataExistAttribute","qSize","qcy","qcx","getLimitedDataAttribute","maxNbrOfDimensions","stackedDataPages","result","explicitLimitedData","qDataPages","paging","qMatrix","qStackedDataPages","qSubNodes","node","qDown","qArea","getNegativeOrZeroValuesAttribute","supportNegative","qMeasureInfo","qMin","getOnlyNegativeOrZeroValuesAttribute","every","qMax","getOnlyNanDataAttribute","explicitOnlyNanData","getDataRangeIncludingZeroAttribute","supportRangeOverZero","measureInfo","explicitMinOn","explicitMaxOn","len","MAX_VALUE","hasDataRangeIncludingZero","applyAttributes","dataAttributes","DisclaimersConfig","config","NoDataExist","RequireNumericDimension","explicitRequireNumericDimension","LimitedData","NegativeOrZeroValues","OnlyNegativeOrZeroValues","OnlyNanData","DataRangeIncludingZero","Helper","disclaimersConfig","supportedDisclaimers","list","Disclaimer","environment","clear","isValidAndSupported","isAnyValidDisclaimer","self","getMessage","str","ERRORS","SET","DISPLAY","_applyDefaultSupport","supported","getComponentSettings","message","vizAttributes","helper","DisclaimerComponentHelper","set","attributes","AttributesUtil","ChartView","picasso","$element","backendApi","selectionsApi","_selectionsApi","_on","_disclaimer","_dataPaths","picassoElement","dataAreaElem","updateEnvironment","setDataPaths","dataPaths","getData","hyperCube","dataPagesPath","page","maxHeight","pages","hasValidData","paint","getDisclaimerAttributes","disclaimerComponent","isSuppressingDisc","chartSettings","createChartSettings","errorMsg","console","error","updateChart","_painted","resize","addSnapshotChartSettings","freeResize","snapshotData","logicalSize","preserveAspectRatio","updateData","_destroyed","reject","permissions","isPartialData","appLayout","_this$environment$app2","qLocaleInfo","colorService","update","partialData","setAttribute","off","getViewState","isLassoDisabled","setSnapshotData","snapshotLayout","chartData","colorStruct","transparent","rgba","hexShort","hsl","hsla","Color","lcs","h_","rgb_","matches","colorString","_invalid","_r","_g","_b","_a","CSSColors","_spaces","isInvalid","setAlpha","getAlpha","toRGB","toRGBA","toHex","toHSL","luma","toHSLA","toHSV","hsvComp","toHSVComponents","toNumber","num","isDark","getLuminance","_lumi","shiftLuminance","chsla","isEqual","blend","c2","createShiftedColor","lumi","greenMultiplier","hsla_string","ch","c1","r1","g1","b1","getBlend","isCSSColor","getBestContrast","cl","cd","lum","getContrast","color1","color2","l1","l2","useDarkLabel","areaColor","bgIsDark","chartUtils","TRANSPARENT_BLACK","TRANSPARENT_WHITE","LIGHT_GREY","DARK_GREY","BLACK","WHITE","getInverse","colorObj","getContrastingGrey","getContrastingTransparent","namespace","ScrollHandler","$chartElement","getSlicedDataFn","onScrollCallback","legendKey","_chartInstance","_$chartElement","_getSlicedDataFn","_itemSize","_onScrollCallback","_legendKey","calculateScrollViewSizeInItem","scrollSize","getItemSize","_scrollViewSizeInItem","onMouseWheel","orgEvent","delta","event","originalEvent","wheelDelta","detail","HORIZONTAL_AXIS","wheelDeltaY","wheelDeltaX","pageX","pageY","preventDefault","onLegendMouseWheel","_disabled","getScrollApi","_scrollApi","move","onScroll","_sizeChanged","getViewData","catch","err","setDisabled","getDisabled","setItemSize","getScrollViewSizeInItem","on","removeAllListeners","isOn","updateViewState","onResize","isDataSizeChanged","pageNumberOfRows","datasetNumberOfRows","resetScroll","moveTo","getState","start","setOptions","getScrollState","setScrollState","isOnComponentForRange","selectionGesture","isOnComponentForLasso","gesturesParams","lassoGesture","componentKey","isOnComponentForNavBtn","legendBrushKey","navBtnGesture","callLassoGesture","gesturesFns","Hammer","DIRECTION_ALL","threshold","lassoing","isSelectionEnabled","handlers","hitComp","onComponentChecker","selectionHandler","lassoState","allFieldsLocked","recognizeWith","scrollHandler","lassostart","switchTo","pauseEngineCalls","lassoBrushKey","clientX","pointers","clientY","doEmit","lassomove","lassoend","resumeEngineCalls","lassocancel","callMeasureRangeGesture","activeRangeBrush","dimRangeBrushKey","DIRECTION_HORIZONTAL","DIRECTION_VERTICAL","rangeSelStatus","isOpenMea","measureSelecting","active","gesture","measureRangeBrushKey","requireFailure","measurerangestart","measurerangemove","measurerangeend","measurerangecancel","getAxisOrientation","callAreaRangeGesture","isOpenDim","minoring","arearangestart","areaBrushKey","arearangemove","arearangeend","arearangecancel","callDimensionRangeGesture","dimAxis","majoring","majorrangestart","majorrangemove","majorrangeend","majorrangecancel","callDragGesture","hasSelections","dragPoint","dragging","isNavigationEnabled","getBrushConfig","dragstart","dragmove","dragend","dragcancel","callNavBtnGesture","navBtnTap","btn","attr","getAttribute","clearKey","activeChart","newType","cont","inst","onScrollUpdate","rangeClearTap","unshift","dimensionRangeGesture","measureRangeGesture","areaRangeGesture","dragGesture","removeListener","TooltipActions","tooltipKey","hasOpen","closeTooltip","isOpen","brushes","shapes","getAffectedShapes","nodes","openTooltip","toggleInterceptor","check","formatMeasureValue","measureContent","raw","qNum","createContent","tooltipInfo","uniqueShapes","dataPath","numberInExcess","numItems","localContent","rows","labelData","refPaths","isNullValue","currentNode","qElemNo","qElemNumber","header","headerResolver","measureRows","measureRow","rowData","rowResolver","row","colorByData","colorData","colorSettings","_tooltipInfo$colorSer","_tooltipInfo$colorSer2","fieldType","ids","mapping","elemNoObj","othersIndex","values","getOthersIndex","attrs","_shape$attrs","getColorByDimData","rowCount","extractContent","renderSettings","TOOLTIP_CONTAINER_SELECTOR","appendTooltipContainer","document","querySelector","container","createElement","body","appendChild","beforeMount","beforeUpdate","destroyed","elm","parentElement","childElementCount","removeChild","appendTo","placement","arrow","background","cell","hyphens","getDirection","rtlUtils","DEFAULT_OPTIONS","labelTextAlign","headerStyle","fontWeight","colSpan","valueContent","symbolStyle","symbol","labelStyle","valueStyle","moreText","moreStyle","Tooltips","chartType","tooltipContexts","registerContext","listeners","removed","treatAsDesktop","intercept","deregister","deRegContext","removeInterceptor","mouseLeave","prop","setUp","TooltipAction","attrDimPath","filterShapes","deviceType","createContext","createTooltip","uniques","filterDuplicateShapes","globalPropagation","tearDown","stringWidthOverMWidth","getCharacterRatios","latin","cjk","CJK","hiragana","katakana","getTotalCharacterRatios","columnIndex","res","latinRatio","cjkRatio","estimateLatinLabelWidth","numLatins","maxLatinWidth","averageLatinWidth","endsWith","string","suffix","startsWith","contains","haystack","needle","getAdjustedMaxGlyphCount","maxGlyphCount","totalCharacterRatios","latinGlyphCount","cjkGlyphCount","CJK_AVERAGE_WIDTH","estimateLabelWidth","numCjks","cjkWidth","generateHyperCube","numMeasures","positveColor","negativeColor","_numberFormatter","generatedMatrix","startMax","startMin","endMax","endMin","qFallbackTitle","numFormat","getMeasureFormat","isAutoFormat","qIsAutoFormat","generated","qStateCounts","generateSlicedHyperCube","getGeneratedDimensionPath","dimIndex","getGeneratedMeasurePath","mesIndex","compare","bisectRight","ascending","lo","hi","mid","e10","sqrt","e5","e2","tickIncrement","stop","step","power","LN10","initRange","Map","object","each","Set","has","remove","property","entries","empty","array","factory","parent","reI","reN","reP","reHex","reRgbInteger","reRgbPercent","reRgbaInteger","reRgbaPercent","reHslPercent","reHslaPercent","named","color_formatHex","color_formatRgb","format","rgbn","Rgb","rgbConvert","rgb_formatHex","rgb_formatRgb","Hsl","hslConvert","hsl2rgb","m1","m2","gamma","nogamma","exponential","constant","linear","define","channels","rgbGamma","colorRgb","genericArray","nb","na","setTime","_typeof","reA","reB","am","bm","bs","bi","lastIndex","number","one","ArrayBuffer","isView","DataView","valueOf","numberArray","unit","identity","normalize","clamper","bimap","interpolate","d0","d1","r0","polymap","bisect","clamp","unknown","continuous","untransform","piecewise","output","input","interpolateValue","rescale","interpolateNumber","rangeRound","interpolateRound","transformer","formatDecimalParts","coefficient","prefixExponent","formatSpecifier","specifier","FormatSpecifier","sign","comma","precision","exponent","toLocaleString","formatRounded","locale","formatPrefix","prefixes","grouping","thousands","group","currencyPrefix","currency","currencySuffix","decimal","numerals","formatNumerals","percent","minus","nan","newFormat","formatTypes","formatType","maybeSuffix","valuePrefix","valueSuffix","valueNegative","out","i1","i0","formatTrim","Infinity","step0","step1","tickStep","precisionPrefix","precisionRound","precisionFixed","linearish","isFinite","tickFormat","nice","formatLocale","tickGenerator","getMinorTicks","majorTicks","minorTickCount","adjustTicks","deltaMin","isMinor","deltaMax","getTicks","scaleLinear","updateScrollHandlerState","_scrollHandler","getMaxGlyphCountForDimAxis","glyphCount","getDimAxisSettings","stringUtil","maxLengthPx","getBoundingClientRect","getBarLabelSettings","outsideValueColor","darkColor","lightColor","boxColor","chartStyleUtils","getInsideValueColor","getPicassoScrollSettings","waterfallChartView","_tooltipHandler","TooltipHandler","getSlicedData","updateConstraints","constraints","passive","clientWidth","clientHeight","tooltipSettings","box","shapeData","_dependentActions","DependentInteractions","CubeGenerator","maxPxStep","includeMeasureAxis","include","_this","brushTrigger","brushConsume","reduce","getBarSettings","bridgeColor","bandwidth","sizeLimits","maxPx","maxRelExtent","minRelDiscrete","maxRelDiscrete","getBridgeSettings","getLegendSettings","area","viewState","finally","supernova","picassojs","prio","use","PicassoQ","PicassoHammer","picassoSetup","qae","useElement","useApp","useAppLayout","useDeviceType","useOptions","useTheme","useTranslator","useMemo","language","useStaleLayout","useConstraints","useState","instance","setInstance","useEffect","view","usePromise","usePromiseNoError","useRect","useResize","onTakeSnapshot","useImperativeHandle"],"mappings":"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"}
|