@nebula.js/sn-waterfall 0.25.11 → 0.25.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"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 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 });\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 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 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 });\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/* eslint-disable no-prototype-builtins */\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 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/* 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/* 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});\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/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/* eslint-disable no-param-reassign */\n\n/* eslint-disable no-prototype-builtins */\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 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 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, property) {\n var quarantine = _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getValue(properties, 'qLayoutExclude.quarantine', {});\n var quarantineProperty = quarantine[property];\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[property]; // 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 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.16.0\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,h=Object.getOwnPropertyDescriptor,v=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(h)return h(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=v(o)))?(i?(i=!1,a=r&&v(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 C(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 D(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))?J(t[1],t[2]/100,t[3]/100,1):(t=H.exec(e))?J(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 Q(){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 J(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)}D(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}),D($,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:Q,toString:Q})),D(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 h=0;h<f.length;h+=1)if(p[h]){var v=d[h],m=d[h+1],g=oe(v,m)(.5);s.range.push(g),s.domain.push(f[h]),h<f.length-1&&p[h+1]&&(s.range.push(d[h+1]),s.domain.push((f[h]+f[h+1])/2))}else s.range.push(d[h]),s.range.push(d[h+1]),s.domain.push(f[h]),s.domain.push(f[h]+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 h=d?ue(s.max,s.min,f,1,i):i,v=(s.max-s.min)/h,m=[],g=0;g<h+1;g+=1)m.push(s.min+v*g);s.domain=m,s.range=function(e){for(var t=e.resources.theme.palette(\"quant\",h),n=Math.max(1,Math.floor(t.length/h)),r=[],o=0;o<h;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?C: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 h={mode:\"field\",fieldType:\"dimension\",type:\"categorical\",field:f?f.key():void 0,isFieldLocked:d.qLocked};return(\"expression\"===s.type||s.activeDimensionIndex<0)&&(h.label=s.label,\"color.altLabel\"===d.labelExpRef&&(h.label=n.input.altLabel)),!h.label&&f&&(h.label=f.title()),n.input.dimensionScheme&&(h.palettes={categorical:n.input.dimensionScheme}),n.input.useDimColVal&&\"libraryItem\"===s.type&&(h.auxiliary=s),b(h,c(t,n,s,f,{byRow:q,byElemNo:x})),h}(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 h=r.primary;if(void 0!==n.input.paletteColor)n.input.paletteColor&&(h=e.resolveUIColor(n.input.paletteColor));else{var v=n.input.singleColor;\"number\"!=typeof v||Number.isNaN(v)||(h=[\"#b0afae\",\"#7b7a78\",\"#545352\",\"#4477aa\",\"#7db8da\",\"#b6d7ea\",\"#46c646\",\"#f93f17\",\"#ffcf02\",\"#276e27\",\"#ffffff\",\"#000000\"][v])}return{mode:\"constant\",type:\"constant\",primary:h}}(e,n,t,r)}return{}}function he(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 ve(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,he(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 Ce(e){return-3===e.datum.value}var De=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:De(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\"},h=\"\".concat(s,\"Legend\");return b(!0,r,{type:\"legend-cat\",key:\"\".concat(o,\"-cat\"),scale:h in d?h: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=ve(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 h=0,v={};u.data(\"q\")({data:t}).extract({field:n.field,trackBy:n.valueAccessor,reduce:function(e){var t=e[0];return v[t]=h++,e[0]}}),d={source:\"attrDim\",extract:{field:\"qDimensionInfo/0\",filter:function(e){return e.qElemNumber>=0},props:{row:{value:function(e){return v[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 Ce(e)||i(e)?c:l}:n[t]?function(e){return Ce(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 Ce(e)||i(e)?c:ke(e)?l:s}:\"color\"===f?function(e){return Ce(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,h=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()},h)}};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,h=e.config,v=void 0===h?{}:h,m=e.custom,g=void 0===m?{}:m,y=v.localeInfo,b=v.key,x=v.theme,q=void 0===x?void 0:x,w=v.auto,k=void 0===w?void 0:w,C=v.definitionPath,D=null==f||null===(t=f.getLayout)||void 0===t?void 0:t.call(f),M={theme:q,key:b,localeInfo:y,layout:D,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:D?Pe(D):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(C)},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(C).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\"}],h={chart:{orientation:void 0,size:void 0,mode:void 0},major:{orientation:void 0,dock:void 0,opposite:void 0,size:void 0}},v={type:\"major-minor\",meta:h,update:function(e){h.chart.orientation=n.getLayoutValue(\"orientation\",f),h.chart.size={width:e.width,height:e.height},h.chart.mode=Ve(e),h.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:h.chart.orientation,invert:d});var t=_e({orientation:h.major.orientation,dock:n.getLayoutValue(\"dimensionAxis.dock\"),btt:!1,rtl:s}),r=t.current,o=t.opposite;h.major.dock=r,h.major.opposite=o,h.major.size=h.major.orientation===Ke?e.height:e.width,p.forEach((function(t){var r={};r.orientation=h.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,h[t.name]=r}))}};return v.update(ze({chart:t,logicalSize:l})),v}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 Qe(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 Je(){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=Je();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 Qe(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 Qe(r.qHyperCube,e,t)},setHyperCubeValue:function(e,t){Ge(r.qHyperCube,e,t),o=rt(r),u.meta=a()},getDataPages:function(){return Qe(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 ht(e,t){return(ht=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function vt(){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=vt()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var o=new(Function.bind.apply(e,r));return n&&ht(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,Ct=Object.getOwnPropertyDescriptor,Dt=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(Ct)return Ct(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=Dt(o)))?(i?(i=!1,a=r&&Dt(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),h=!!o[a].trackBy,v=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])),C=Nt(d,k,{key:l});if(!(d.filter&&!d.filter(k))){for(var D=0;D<p.length;D++){var M=f[p[D]],S=M.fields||[M];M.fields&&(C[p[D]]=[]);for(var I=0;I<S.length;I++)Et({cache:n,f:c,mainCell:k,p:S[I],prop:p[D],props:f,page:u.qDataPages[b],rowIdx:w,row:u.qDataPages[b].qMatrix[q],sourceKey:l,target:M.fields?C[p[D]]:C,targetProp:M.fields?I:p[D]});if(M.fields){var A=C[p[D]].map((function(e){return e.value})),O=C[p[D]].map((function(e){return e.label}));C[p[D]]={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(C[p[D]].value)}}}h&&r.track({cfg:o[a],itemData:k,obj:C,target:g,tracker:m,trackType:v}),y.push(C)}}}h?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 Qt=/^qDimensionInfo(?:\\/(\\d+))?/,Gt=/^\\/?qMeasureInfo\\/(\\d+)/,Jt=/\\/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 Qt.test(s)&&(o=!0,i=+Qt.exec(s)[1],s=r.replace(Qt,\"\")),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]:Jt.exec(s)&&(a=+Jt.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,h=void 0,v=void 0,m=void 0,g=void 0;if(\"primitive\"===n.type?(h=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?(v=n.accessor(r),Array.isArray(v)?(m=v.map(n.valueAccessor),n.attrAccessor&&(m=m.map(n.attrAccessor)),d&&(h=m.map(d),d=null),p&&(g=m.map(p),p=null),h=n.reduce?n.reduce(h):h,g=n.reduceLabel?n.reduceLabel(g,h):String(h)):g=h=n.attrAccessor?n.attrAccessor(n.valueAccessor(v)):n.valueAccessor(v)):(h=o,g=o)),l.fields){var y=d?d(h):h;s.push(y),f.push(p&&null!=g?p(g):null!=g?g:String(y))}else{var b=d?d(h):h;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 h=0;h<i.length;h++){var v=l[i[h]];a[c].qValues.push(v)}}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 h=r.normalizeConfig(pt(pt({},e),{},{field:s?s.key():void 0}),t),v=h.props,m=h.main,g=Object.keys(v);l[c]={propsArr:g,props:v,main:m};var y=s?en(s,{cube:o,cache:n}):{fieldDepth:0};un({propsArr:g,props:v,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,C=l[q[w].depth].props,D=l[q[w].depth].main,M=x[w],S=M.data,I=nn(D,S,{key:i});rn({propsArr:k,props:C,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),h=en(c,{cube:u,cache:n}),v=tn({fieldDepth:0},h),m=v.nodeFn,g=v.attrFn,y=v.valueFn;un({propsArr:p,props:f,cube:u,cache:n,itemDepthObject:h,f:c});for(var b=!!o[a].trackBy,x=ut(o[a].trackBy),q={},w=[],k=m(n.tree),C=[],D=0;D<k.length;D++){var M=k[D],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}),C.push(I)}}b?i.push.apply(i,yt(r.collect(w,{main:d,propsArr:p,props:f}))):i.push.apply(i,C)}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\\-\\+#]/),h=p>0?e.substring(0,p):\"\",v=e.split(\"\").reverse().join(\"\"),m=v.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(v=\"\",g=(f=t[0]).length%l,d=f.length,b=0;b<d;b++)v+=f.charAt(b),!((b-g+1)%l)&&b<d-l&&(v+=i);t[0]=v}return t[1]=e[1]&&t[1]?o+t[1]:\"\",\"0\"!==(r=t.join(\"\"))&&\"\"!==r||(n=!1),h+(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\"},hn=/%$/,vn=/^\\(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 Cn(e,t,n){var r;return vn.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 Dn(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,h=e.pattern;h.indexOf(\"A\")>=0&&(h=h.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=h.match(f))?i[0]:\"\")?h.substr(0,h.indexOf(i)):h,u=i?h.substring(h.indexOf(i)+i.length):\"\",i||(i=h?\"#\":\"##########\"),t&&t===n&&(o=(r=i.split(n)).pop(),i=r.join(\"\")+n+o,t=\"\"),l=t,t=/,/.test(n)?\"¤\":\",\",l&&(i=i.replace(Dn(l,\"g\"),t)),c=n,n=\".\",c&&(i=i.replace(Dn(c,\"g\"),n)),s=(s=i.match(/#/g))?s.length:0;var v,m=h.split(c);m[1]&&(v=m[1].match(wn)),e.prefix=a||\"\",e.postfix=u||\"\",e.pattern=h,e.maxPrecision=v?v.length:2,e.percentage=hn.test(h),e.numericPattern=i||\"\",e.numericRegex=new RegExp(\"\".concat(Dn(t,null,!0),\"|\").concat(Dn(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=Cn(e,s.pattern,i);else{if(s.percentage&&(e*=100),s.abbreviate){var h,v,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&&(h=m[u-1]),h&&n>0&&h>0?v=h:(n<0&&h<0||!h)&&(g<0&&g-n<=s.maxPrecision?v=g:h<=n&&!(g>0&&-n<=s.maxPrecision)&&(v=h)),v&&(f=this.abbreviations[v],e/=Math.pow(10,v))}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),h=\"dimension\"===l?\"first\":function(e,t){return p(t)},v={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(v)),e},min:function(){return n.qMin},max:function(){return n.qMax},value:s,label:f,reduce:d,reduceLabel:h,formatter:function(){return p},tags:function(){return n.qTags}};return v}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,h=\"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:h,type:\"measure\"})))),l.fields=l.wrappedFields.map((function(e){return e.instance}));var v=function e(t){t.forEach((function(t){l.allFields.push(t.instance),e(t.measures),e(t.attrDims),e(t.attrExps)}))};return v(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 Qn=[[\"qHyperCube\",\"qHyperCubeDef\"],[\"qTreeData\",\"qTreeDataDef\"],[\"qDimensionInfo\",\"qDimensions\"],[\"qMeasureInfo\",\"qMeasures\"],[\"qAttrDimInfo\",\"qAttributeDimensions\"],[\"qAttrExprInfo\",\"qAttributeExpressions\"]],Gn=/\\/qDimensionInfo(?:\\/(\\d+))?/,Jn=/\\/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]),Jn.test(e)&&(o=+Jn.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 Qn.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 h=e.brush.values().map((function(e){return+e})).filter((function(e){return!isNaN(e)}));(0===d||p>=d)&&d>-1?h.forEach((function(e){u.selectPivotCells.cells.push({qType:\"T\",qCol:e,qRow:p-d})})):h.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 v=e.brush.values().map((function(e){return+e})).filter((function(e){return!isNaN(e)}));c=!!v.length,a.push({params:[t.path,t.dimensionIdx,v,!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=Qe(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\",hr=\"Shift\";function vr(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 Cr(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 Dr(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 Cr({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 Cr({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=Cr({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,h=d.brush,v=n.scale(p).data().fields.map((function(e){return e.id()})),m=n.brush(h),g=m.brushes().filter((function(e){return\"range\"===e.type&&v.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;Cr({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;Cr({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,h=void 0===p?Pr:p,v=o.clear,m=!1!==v&&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 Dr(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:v,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:h,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!==hr||(t.lasso.action(!0),n=!0)},o=function(e){e.key===hr&&(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,h=d.reset,v=i.selectionEvents,m=void 0===v?{deactivated:void 0,canceled:void 0,cleared:void 0,start:void 0}:v,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,C=void 0!==k&&k,D=i.interceptors,M=void 0===D?{}:D,S=t.brush(x);if(\"number\"==typeof w&&S.setMaxListeners(w),C){var I=!0===C?Fr:C;S.configure({ranges:I})}var A={canSelect:!0,getIsSelectionLocked:!1,isInnerDimensionLocked:!1,lockedDimensions:[],singleSelectIndex:0,singleSelectDims:[],selectionInfo:{colorField:void 0,components:[],event:void 0,currentComponent:void 0,previousComponent:void 0}},O=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.picassoQ,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=vr({brush:r,getConfig:function(){return{layout:s,allowSimultaneous:f}}}),h=p.rangeInterceptor,v=p.interceptor;r.intercept(\"set-ranges\",h),r.intercept(\"toggle-ranges\",h),r.intercept(\"toggle-values\",v),r.intercept(\"set-values\",v),r.intercept(\"add-values\",v),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.selections(r,d,s).forEach((function(e){kr(e,i.select.brushSelectionIncludeMax,g),n.select(e)}))}))):r.on(\"update\",(function(){a.selections(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:S,majorScale:f,actions:n,selections:r,picassoQ:o});!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:S,interceptors:M});var N=Tr({chart:t,brush:S,actions:n,selections:r,selectionInfo:A.selectionInfo,selectionActions:{clear:p,reset:h},selectionEvents:m,brushEvents:y});if(c){var E=!0===c?l(Array(15)).map((function(e,t){return\"qHyperCube/qMeasureInfo/\".concat(t)})):c;O.allowSimultaneous(E)}return{unbindEvents:N,state:A,picassoSelections:O,brush:S}}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,h=l.custom,v=void 0===h?{}:h,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({},v)}}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 Qr=\"chart-modules-tooltip\",Gr=\"#\".concat(Qr);function Jr(){if(!document.querySelector(Gr)){var e=document.createElement(\"div\");e.id=Qr,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(){Jr()},beforeUpdate:function(){Jr()},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\"},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.node,r=e.collectConfig,o=e.collectibles,i=e.triggerer,a=r.from,c={chart:t,node:n,collectConfig:r,collectibles:o,triggerer:i};switch(\"function\"==typeof a?\"custom\":a){case\"single\":return function(e){var t=e.node;return\"container\"===t.type&&t.children[0]||t}(c);case\"dimension\":return function(e){var t=e.chart,n=e.node,r=e.collectConfig,o=e.collectibles,i=r.filter,a=\"function\"==typeof i?i:function(){return!0},u=r.by,c=void 0===u?eo:u;return o.reduce((function(e,r){var o=r.major,i=void 0===o?to:o,a=Zr[r.type]||r.type;return e.push.apply(e,l(t.findShapes(a).filter((function(e){return e.key===r.key&&e.data&&i({data:e.data})===c({data:n.data})})))),e}),[]).filter(a)}(c);case\"radius\":return function(e){var t=e.chart,n=e.node,r=e.collectConfig,o=e.collectibles,i=n.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,h=d.computedInner,v=i.width*p.x,m=i.height*p.y,g=i.x*p.x+v/2+h.x,y=i.y*p.y+m/2+h.y,b=void 0===a?Math.max(v,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.node,r=e.collectConfig,o=e.triggerer;return r.from({chart:t,node: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.node,o=e.nodes,i=function(e){for(var t=e.chart,n=e.config,r=e.node,o=e.nodes,i=e.placementConfig,a=Array.isArray(i)?i:[i],u={bounds:r.bounds,key:r.key},l=0;l<a.length;l++){var c=a[l];if(\"function\"==typeof c){var s=c({chart:t,node:r,nodes:o});if(s)return s}if(\"trigger\"===c)return u;if(\"collectible\"===c){var f=n.main.placement.collectible;return{bounds:\"function\"==typeof f?f({nodes:o}):oo({nodes:o}),key:n.main.collectibles[0].key}}}return u}({chart:t,config:n,node:r,nodes:o,placementConfig:e.placementConfig}),a=i.bounds,u=i.key;return[{bounds:a,nodes:o,data:o.map((function(e){return e.data})),key:u,meta:{triggerer:r.key}}]}function ao(e){var t=e.chart,n=e.config,r=e.nodes;if(!r.length)return[];var o=u(r,1)[0],i=o.key,a=n.main.collectibles;if(!a.length)return[];var l=n.main.triggers.find((function(e){return-1!==e.keys.indexOf(i)}))||{},c=l.collect,s=l.placement;if(!c||!c.from||!s)return[];var f=no({chart:t,node:o,collectConfig:c,collectibles:a,triggerer:i}).map((function(e){return e.children.length?e.children[0]:e}));return f.length?io({chart:t,config:n,node:o,nodes:f,placementConfig:s}):[]}function uo(e){var t=e.config,n=e.api,r=e.nodes,o=n.header,i=u(r,1)[0];return t.main.section.headers({node:i,create:o})}function lo(e){var t=e.config,n=e.h,r=e.api,o=e.nodes,i=r.footer,a=u(o,1)[0];return t.main.section.footers({node:a,h:n,create:i})}function co(e){var t=e.config,n=e.context,r=e.api,o=e.nodes,i=t.getColorSettings();if(\"color\"===i.type||!i.fieldType)return!1;var a=function(e){var t=e.config,n=e.nodes;return t.main.getColorNode({nodes:n})||n[0]}({config:t,nodes:o}),u=function(e){var t=e.config,n=e.context,r=e.node,o=t.main.getColor({data:r.data});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:n,node:a});if(void 0===u)return!1;var l=function(e){var t=e.config,n=e.context,r=e.node,o=t.getColorSettings();if(o.label)return o.label;var i=t.main.getColor({data:r.data});if(i&&\"color\"!==o.type){var a=n.resources.dataset,u=i.source,l=u.key,c=u.field;return a(l).field(c).title()}}({config:t,context:n,node:a}),c=function(e){var t=e.node,n=t.data,r=t.attrs;return n._fillColor?n._fillColor:null!=r&&r.fill?r.fill:void 0}({node:a});return r.measure.color({label:l,value:u,fill:c})}function so(e){var t,n=e.chart,r=e.config,o=e.h,a=e.context,u=e.groups,c=(t={count:!0},{section:function(e){return{type:\"section\",headers:e.headers,measures:e.measures,footers:e.footers}},divider:function(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).visibility;return{type:\"divider\",visibility:i(i({},{count:!1}),e)}},header:{title:function(e){var n=e.value,r=e.visibility;return{type:\"title\",value:n,visibility:i(i({},t),r)}},description:function(e){var n=e.value,r=e.visibility;return{type:\"description\",value:n,visibility:i(i({},t),r)}}},measure:{color:function(e){var n=e.label,r=e.value,o=e.fill,a=e.visibility;return{type:\"color\",label:n,value:r,fill:o,visibility:i(i({},t),a)}},measure:function(e){var n=e.label,r=e.value,o=e.visibility,a=e.filter,u=void 0===a||a;return{type:\"measure\",label:n,value:r,visibility:i(i({},t),o),filter:u}}},footer:{content:function(e){var n=e.value,r=e.style,o=e.colspan,a=e.visibility;return{type:\"content\",value:n,style:r,colspan:o,visibility:i(i({},t),a)}},raw:function(e){var n=e.value,r=e.visibility;return{type:\"raw\",value:n,visibility:i(i({},t),r)}}}}),s=u.map((function(e){var t,n={type:\"section\",headers:l(uo({config:r,h:o,api:c,nodes:e})||[]).filter(Boolean),measures:[],footers:l(lo({config:r,h:o,api:c,nodes:e})||[]).filter(Boolean)};return(t=n.measures).push.apply(t,l((function(e){var t=e.config,n=e.context,r=e.api,o=e.nodes,i=co({config:t,context:n,api:r,nodes:o}),a=n.resources.dataset,u={showColor:!0},l={hideColor:function(){u.showColor=!1}},c=t.main.section.measures({nodes:o,dataset:a,create:r.measure,configure:l}).filter((function(e){return!i||!e.filter||e.label!==i.label||e.value!==i.value}));return i&&u.showColor&&c.unshift(i),c}({config:r,context:a,api:c,nodes:e})||[]).filter(Boolean))),n}));return r.main.sections({h:o,chart:n,sections:s,meta:a.node.meta,nodes:a.node.nodes,create:c}),s.filter(Boolean)}var fo=\"[־׀׃׆א-״߀-ߪߴ-ߵߺ-ࠕࠚࠤࠨ࠰-ࡘ࡞‏יִײַ-ﬨשׁ-ﭏ]\",po=\"[؈؋؍؛-ي٭-ٯٱ-ەۥ-ۦۮ-ۯۺ-܍ܐܒ-ܯݍ-ޥޱﭐ-ﴽﵐ-﷼ﹰ-ﻼ]\",ho=new RegExp(\"[A-Za-zªµºÀ-ÖØ-öø-ʸʻ-ˁː-ˑˠ-ˤˮͰ-ͳͶ-ͽΆΈ-ϵϷ-҂Ҋ-։ः-हऻऽ-ीॉ-ौॎ-ॐक़-ॡ।-ॿং-হঽ-ীে-ৌৎ-ৡ০-ৱ৴-৺ਃ-ਹਾ-ੀਖ਼-੯ੲ-ੴઃ-હઽ-ીૉ-ૌૐ-ૡ૦-૯ଂ-ହଽ-ାୀେ-ୌୗ-ୡ୦-୷ஃ-ிு-ௌௐ-௲ఁ-ఽు-ౄౘ-ౡ౦-౯౿-ಹಽ-ೋೕ-ೡ೦-ീെ-ൌൎ-ൡ൦-ෆා-ෑෘ-ะา-ำเ-ๆ๏-ະາ-ຳຽ-ໆ໐-༗༚-༴༶༸༾-ཬཿ྅ྈ-ྌ྾-࿅࿇-ာေးျ-ြဿ-ၗၚ-ၝၡ-ၰၵ-ႁႃ-ႄႇ-ႌႎ-ႜ႞-ፚ፠-ᎏᎠ-Ᏼᐁ-ᙿᚁ-ᚚᚠ-ᜑᜠ-ᜱ᜵-ᝑᝠ-ᝰក-ាើ-ៅះ-ៈ។-៚ៜ០-៩᠐-ᢨᢪ-ᤜᤣ-ᤦᤩ-ᤱᤳ-ᤸ᥆-᧚ᨀ-ᨖᨙ-ᩕᩗᩡᩣ-ᩤᩭ-ᩲ᪀-᪭ᬄ-ᬳᬵᬻᬽ-ᭁᭃ-᭪᭴-᭼ᮂ-ᮡᮦ-ᮧ᮪-ᯥᯧᯪ-ᯬᯮ᯲-ᰫᰴ-ᰵ᰻-᱿᳓᳡ᳩ-ᳬᳮ-ᶿḀ-ᾼιῂ-ῌῐ-Ίῠ-Ῥῲ-ῼ‎ⁱⁿₐ-ₜℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎ-⅏Ⅰ-ↈ⌶-⍺⎕⒜-ⓩ⚬⠀-⣿Ⰰ-ⳤⳫ-ⳮⴀ-⵰ⶀ-ⷞ々-〇〡-〩〱-〵〸-〼ぁ-ゖゝ-ゟァ-ヺー-ㆺㇰ-㈜㈠-㉏㉠-㉻㉿-㊰㋀-㋋㋐-㍶㍻-㏝㏠-㏾㐀-䶵一-ꒌꓐ-ꘌꘐ-ꙮꚀ-ꛯ꛲-꛷Ꜣ-ꞇ꞉-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠤꠧ꠰-꠷ꡀ-ꡳꢀ-ꣃ꣎-꣙ꣲ-ꤥ꤮-ꥆꥒ-ꥼꦃ-ꦲꦴ-ꦵꦺ-ꦻꦽ-ꨨꨯ-ꨰꨳ-ꨴꩀ-ꩂꩄ-ꩋꩍ-ꪯꪱꪵ-ꪶꪹ-ꪽꫀꫂ-ꯤꯦ-ꯧꯩ-꯬꯰-ﬗA-Za-zヲ-ᅵ]\"),vo=new RegExp(fo),mo=new RegExp(po),go=function(e){return ho.test(e)},yo=function(e){return vo.test(e)||mo.test(e)};function bo(e){for(var t=e?e.length:0,n=0;n<t;n++){var r=e[n];if(go(r))return\"ltr\";if(yo(r))return\"rtl\"}return\"ltr\"}var xo=[\"title\",\"description\"];var qo=[\"color\",\"measure\"];function wo(e){var t=e.translator,n=e.config,r=e.h,o=e.templates,i=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}),a=o.reduce((function(e,t,a){var u=t.type;if(\"section\"===u){var l=t.headers,c=void 0===l?[]:l,s=t.measures,f=void 0===s?[]:s,d=t.footers,p=void 0===d?[]:d;c.forEach((function(t){i.process({visibility:t.visibility,index:a})&&e.push(function(e){var t=e.config,n=e.template,r=t.rtl,o=n.type,i=n.value;return-1===xo.indexOf(o)?[]:[{content:i,style:{\"font-weight\":\"title\"===o?\"bold\":\"normal\",\"text-align\":r?\"right\":\"left\",direction:bo(i)},colspan:2}]}({config:n,template:t}))})),f.forEach((function(t){i.process({visibility:t.visibility,index:a})&&e.push(function(e){var t=e.config,n=e.h,r=e.template,o=t.rtl,i=r.type,a=r.label,u=r.value,l=r.fill;if(-1===qo.indexOf(i))return[];var c=[{content:o?[\":\",a]:[a,\":\"],style:{\"text-align\":o?\"right\":\"left\",direction:bo(a)}}],s={\"text-align\":o?\"left\":\"right\",\"vertical-align\":\"middle\",direction:bo(u)};if(\"color\"===i){var f=n(\"div\",{style:{display:\"inline-block\",width:10,height:10,\"background-color\":l||\"#ddd\",margin:\"0 8px\"}});c.push({content:o?[u,f]:[f,u],style:s})}else c.push({content:u,style:s});return c}({config:n,h:r,template:t}))})),p.forEach((function(t){i.process({visibility:t.visibility,index:a})&&e.push(function(e){var t=e.template,n=t.type,r=t.value,o=t.style,i=t.colspan;return\"content\"===n?[{content:r,style:o,colspan:i}]:\"raw\"===n?r:[]}({template:t}))}))}var h=a===o.length-1;return\"divider\"!==u||h||i.process({visibility:t.visibility,index:a})&&e.push([{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}]),e}),[]),u=i.overflow();return u&&a.push(function(e){var t=e.config,n=e.translator,r=e.count,o=n?n.get(\"Object.ChartTooltip.NMore\",r):\"+\".concat(r,\" more\"),i=bo(o);return[{content:o,style:{\"font-weight\":\"bold\",\"text-align\":t.rtl?\"right\":\"left\",direction:i},colspan:2}]}({config:n,translator:t,count:u})),a}function ko(e){var t=e.chart,n=e.translator,r=e.config,o=e.h,a=e.data,l=e.style,c=u(a,1)[0],s=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:c.node.nodes});return 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:l,rows:wo({translator:n,config:r,h:o,templates:so({chart:t,config:r,h:o,context:c,groups:s})})})}function Co(e){var t=e.chart,n=e.translator,r=e.config;if(!r.main.key)return!1;var o=r.main,i=o.delay,a=o.duration,u=Xr({key:r.main.key,rtl:r.rtl});return b(!0,u,{settings:{filter:function(e){return ao({chart:t,config:r,nodes:e})},extract:function(e){return e},content:function(e){var o=e.h,i=e.data,a=e.style;return ko({chart:t,translator:n,config:r,h:o,data:i,style:a})},placement:\"bounds\",delay:i,duration:a,afterShow:function(){return r.main.events.afterShow()}},style:{arrow:{color:r.style.background},content:r.style}})}function Do(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 Mo(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 So(e){var t=e.chart,n=e.config,o=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!==o.indexOf(e.key)})).length>0}},recognizeWith:\"tap\",events:r({},\"tooltipTap\",(function(e){e.preventDefault();var r=t.component(n.main.key);if(r&&r.show){var o=Mo({chart:t,e:e}),i=t.shapesAt(o);i.length?n.main.events.beforeShow({event:e,nodes:i})||r.emit(\"show\",e,{nodes:i}):\"mouse\"!==e.pointerType&&r.emit(\"hide\")}}))}}function Io(e){return[So({chart:e.chart,config:e.config})]}function Ao(e){var t=e.chart,n=e.config,r=[n.main.key,n.legend.keys.tooltip].filter(Boolean),o=function(){r.forEach((function(e){var n=t.component(e);null!=n&&n.show&&n.emit(\"hide\")})),n.main.events.onHide()},i=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!==i[e.key]})).reduce((function(e,t){return e.any=!0,(i[t.key]?e.radius:e.position).push(t.key),e}),{any:!1,radius:[],position:[]});if(a.any){var u=Mo({chart:t,e:e}),c=u.x,s=u.y,f=[];if(a.position.length&&f.push.apply(f,l(t.shapesAt({x:c,y:s},{components:a.position.map((function(e){return{key:e}}))}))),!f.length&&a.radius.length){var d=t.shapesAt({cx:c,cy:s,r:n.main.distance},{components:a.radius.map((function(e){return{key:e}}))});d.length&&f.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:d,origin:{x:c,y:s},offset:r.filter((function(e){return e.key===a.radius[0]}))[0].rect.computedInner}))}if(!f.length)return void o.emit(\"hide\");n.main.events.beforeShow({event:e,nodes:ao({chart:t,config:n,nodes:f})})||o.emit(\"show\",e,{nodes:f})}else o.emit(\"hide\")}var p=n.legend;if(p.keys.tooltip&&p.keys.component){var h=t.component(p.keys.tooltip);h&&h.show&&(r.some((function(e){return e.key===p.keys.component}))?h.emit(\"show\",e):h.emit(\"hide\"))}}},mouseup:function(e){2===e.button&&o()},mouseleave:function(){o()},wheel:function(){o()}}}}function Oo(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,getColorNode:Wr.NOOP,getColor:Wr.NOOP,delay:500,duration:8e3,distance:4,triggers:[],collectibles:[],placement:{collectible:\"combine\"},layout:{rows:6,grouping:!1},section:{headers:Wr.ARRAY,measures:Wr.ARRAY,footers:Wr.ARRAY},sections:Wr.NOOP,events:{beforeShow:Wr.FALSE,afterShow:Wr.NOOP,onHide:Wr.NOOP}},legend:{keys:{tooltip:void 0,component:void 0}}},void 0===t?{}:t)}({config:e.config}),o={components:void 0,interactions:void 0};return{getComponents:function(){return o.components||(o.components=function(e){var t=e.chart,n=e.translator,r=e.config;return[Co({chart:t,translator:n,config:r}),Do({config:r})].filter(Boolean)}({chart:t,translator:n,config:r})),o.components},getInteractions:function(){return o.interactions||(o.interactions=function(e){var t=e.chart,n=e.config;return{gestures:l(Io({chart:t,config:n})),native:Ao({chart:t,config:n})}}({chart:t,config:r})),o.interactions}}}export{Je as cache,He as colorService,et as debouncer,We as dockService,Qe 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,Oo 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","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__","hcdParent","_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__","shouldInitLayoutExclude","initLayoutExclude","updateDimensionsOnAdded","updateMeasuresOnAdded","isMasterItemPropperty","resolveValue","input","nCols","indexAdded","indexRemoved","added","_ref$initialPropertie","_ref$defaultPropertyV","newPropertyTree","qChildren","initHyperCubeDef","_helpers$getMaxMinDim","_defaultPropertyValue","_defaultPropertyValue2","qTop","qLeft","_hypercube__WEBPACK_IMPORTED_MODULE_0__","_axis_chart__WEBPACK_IMPORTED_MODULE_2__","_quarantine_quarantine_property__WEBPACK_IMPORTED_MODULE_3__","_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","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","Qe","lt","ct","st","ft","assign","displayable","hex","formatHsl","brighter","darker","sn","fn","search","reverse","toFixed","lastIndexOf","dn","pn","hn","vn","mn","gn","yn","bn","xn","qn","wn","kn","toUpperCase","Dn","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","Cn","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","extension","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 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 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 });\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 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 });\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/* eslint-disable no-prototype-builtins */\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 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/* 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/* 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});\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/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/* eslint-disable no-param-reassign */\n\n/* eslint-disable no-prototype-builtins */\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 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 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, property) {\n var quarantine = _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getValue(properties, 'qLayoutExclude.quarantine', {});\n var quarantineProperty = quarantine[property];\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[property]; // 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 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","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__","hcdParent","_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__","shouldInitLayoutExclude","initLayoutExclude","updateDimensionsOnAdded","updateMeasuresOnAdded","isMasterItemPropperty","resolveValue","input","nCols","indexAdded","indexRemoved","added","_ref$initialPropertie","_ref$defaultPropertyV","newPropertyTree","qChildren","initHyperCubeDef","_helpers$getMaxMinDim","_defaultPropertyValue","_defaultPropertyValue2","qTop","qLeft","_hypercube__WEBPACK_IMPORTED_MODULE_0__","_axis_chart__WEBPACK_IMPORTED_MODULE_2__","_quarantine_quarantine_property__WEBPACK_IMPORTED_MODULE_3__","_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","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","extension","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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"}