@spaziodati/atoka-design-system 2.1.3 → 2.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (112) hide show
  1. package/AddableItems/index.js +2 -2
  2. package/AddableItems/index.js.map +1 -1
  3. package/Alert/index.js +2 -2
  4. package/Alert/index.js.map +1 -1
  5. package/Badge/index.js +2 -2
  6. package/Badge/index.js.map +1 -1
  7. package/Bs4V3Wrapper/index.js +2 -2
  8. package/Bs4V3Wrapper/index.js.map +1 -1
  9. package/BubbleChart/index.js +2 -2
  10. package/BubbleChart/index.js.map +1 -1
  11. package/Button/index.js +2 -2
  12. package/Button/index.js.map +1 -1
  13. package/ButtonDropdown/index.js +2 -2
  14. package/ButtonDropdown/index.js.map +1 -1
  15. package/CardsPage/index.js +2 -2
  16. package/CardsPage/index.js.map +1 -1
  17. package/CursorPagination/index.js +2 -2
  18. package/CursorPagination/index.js.map +1 -1
  19. package/DatePicker/index.js +2 -2
  20. package/DatePicker/index.js.map +1 -1
  21. package/DetailPage/index.js +581 -555
  22. package/DetailPage/index.js.map +1 -1
  23. package/Dropdown/index.js +2 -2
  24. package/Dropdown/index.js.map +1 -1
  25. package/EditableString/index.js +581 -555
  26. package/EditableString/index.js.map +1 -1
  27. package/EllipsableContent/index.js +2 -2
  28. package/EllipsableContent/index.js.map +1 -1
  29. package/EmptyState/index.js +2 -2
  30. package/EmptyState/index.js.map +1 -1
  31. package/Facet/index.js +2 -2
  32. package/Facet/index.js.map +1 -1
  33. package/FacetSection/index.js +2 -2
  34. package/FacetSection/index.js.map +1 -1
  35. package/FadeAnimation/index.js +581 -555
  36. package/FadeAnimation/index.js.map +1 -1
  37. package/FeedbackButton/index.js +2 -2
  38. package/FeedbackButton/index.js.map +1 -1
  39. package/Form/index.js +2 -2
  40. package/Form/index.js.map +1 -1
  41. package/Funnel/index.js +2 -2
  42. package/Funnel/index.js.map +1 -1
  43. package/GridCard/index.js +2 -2
  44. package/GridCard/index.js.map +1 -1
  45. package/HighlightableText/index.js +2 -2
  46. package/HighlightableText/index.js.map +1 -1
  47. package/Histogram/index.js +2 -2
  48. package/Histogram/index.js.map +1 -1
  49. package/InlineStringEditor/index.js +2 -2
  50. package/InlineStringEditor/index.js.map +1 -1
  51. package/InputGroup/index.js +2 -2
  52. package/InputGroup/index.js.map +1 -1
  53. package/Jumbotron/index.js +2 -2
  54. package/Jumbotron/index.js.map +1 -1
  55. package/Map/index.js +2 -2
  56. package/Map/index.js.map +1 -1
  57. package/Modal/index.js +2 -2
  58. package/Modal/index.js.map +1 -1
  59. package/Navbar/index.js +581 -555
  60. package/Navbar/index.js.map +1 -1
  61. package/Pagination/index.js +2 -2
  62. package/Pagination/index.js.map +1 -1
  63. package/PieChart/index.js +2 -2
  64. package/PieChart/index.js.map +1 -1
  65. package/PublicFooter/index.js +2 -2
  66. package/PublicFooter/index.js.map +1 -1
  67. package/PublicNavbar/index.js +2 -2
  68. package/PublicNavbar/index.js.map +1 -1
  69. package/README.md +5 -2
  70. package/RecordBit/index.js +2 -2
  71. package/RecordBit/index.js.map +1 -1
  72. package/ResultItemCard/index.js +2 -2
  73. package/ResultItemCard/index.js.map +1 -1
  74. package/SelectDropdown/index.js +2 -2
  75. package/SelectDropdown/index.js.map +1 -1
  76. package/Spinner/index.js +2 -2
  77. package/Spinner/index.js.map +1 -1
  78. package/StatisticsItemCard/index.js +2 -2
  79. package/StatisticsItemCard/index.js.map +1 -1
  80. package/StatisticsItemNumeric/index.js +2 -2
  81. package/StatisticsItemNumeric/index.js.map +1 -1
  82. package/StatisticsLegend/index.js +2 -2
  83. package/StatisticsLegend/index.js.map +1 -1
  84. package/StatisticsTooltip/index.js +2 -2
  85. package/StatisticsTooltip/index.js.map +1 -1
  86. package/Suggester/index.js +2 -2
  87. package/Suggester/index.js.map +1 -1
  88. package/SunBurst/index.js +2 -2
  89. package/SunBurst/index.js.map +1 -1
  90. package/TabSwitcher/index.js +2 -2
  91. package/TabSwitcher/index.js.map +1 -1
  92. package/Title/index.js +2 -2
  93. package/Title/index.js.map +1 -1
  94. package/Toasts/Toast.d.ts +41 -0
  95. package/Toasts/ToastContainer.d.ts +4 -0
  96. package/Toasts/ToastHeader.d.ts +7 -0
  97. package/Toasts/index.d.ts +2 -0
  98. package/Toasts/index.js +2236 -0
  99. package/Toasts/index.js.map +1 -0
  100. package/ToggleButtonGroup/index.js +2 -2
  101. package/ToggleButtonGroup/index.js.map +1 -1
  102. package/Tooltip/index.js +2 -2
  103. package/Tooltip/index.js.map +1 -1
  104. package/Utils/index.js +2 -2
  105. package/Utils/index.js.map +1 -1
  106. package/{atoka-design-system-2.1.3.min.css → atoka-design-system-2.1.4.min.css} +1 -1
  107. package/index.d.ts +1 -0
  108. package/index.js +1734 -755
  109. package/index.js.map +1 -1
  110. package/package.json +1 -1
  111. package/styles/atoka-bs.less +1 -1
  112. package/styles/variant-mixins.less +7 -7
@@ -1 +1 @@
1
- {"version":3,"file":"BubbleChart/index.js","mappings":"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","sources":["webpack://atoka-design-system/webpack/universalModuleDefinition","webpack://atoka-design-system/./src/components/BubbleChart/BubbleChartUI.tsx","webpack://atoka-design-system/./src/components/BubbleChart/BubbleChart.tsx","webpack://atoka-design-system/./src/components/BubbleChart/index.ts","webpack://atoka-design-system/./src/components/Form/FormLabel.tsx","webpack://atoka-design-system/./src/components/Form/FormCheckbox.tsx","webpack://atoka-design-system/./src/components/Form/FormRadio.tsx","webpack://atoka-design-system/./src/components/Form/FormHelp.tsx","webpack://atoka-design-system/./src/components/Form/Form.tsx","webpack://atoka-design-system/./src/components/Form/FormControlFeedBack.tsx","webpack://atoka-design-system/./src/components/Form/FormControl.tsx","webpack://atoka-design-system/./src/components/StatisticsTooltip/helpers.tsx","webpack://atoka-design-system/./src/components/StatisticsTooltip/StatisticsTooltip.tsx","webpack://atoka-design-system/./src/components/StatisticsTooltip/index.ts","webpack://atoka-design-system/./src/components/Utils/Statistics.ts","webpack://atoka-design-system/./src/components/Utils/Style.ts","webpack://atoka-design-system/./src/components/Utils/Text.ts","webpack://atoka-design-system/./src/components/Utils/Utils.tsx","webpack://atoka-design-system/./node_modules/@babel/runtime/helpers/typeof.js","webpack://atoka-design-system/./node_modules/@babel/runtime/regenerator/index.js","webpack://atoka-design-system/./node_modules/autobind-decorator/lib/esm/index.js","webpack://atoka-design-system/./node_modules/d3-color/src/define.js","webpack://atoka-design-system/./node_modules/d3-color/src/color.js","webpack://atoka-design-system/./node_modules/d3-array/src/ticks.js","webpack://atoka-design-system/./node_modules/d3-array/src/ascending.js","webpack://atoka-design-system/./node_modules/d3-array/src/bisector.js","webpack://atoka-design-system/./node_modules/d3-array/src/number.js","webpack://atoka-design-system/./node_modules/d3-array/src/bisect.js","webpack://atoka-design-system/./node_modules/d3-interpolate/src/basis.js","webpack://atoka-design-system/./node_modules/d3-interpolate/src/basisClosed.js","webpack://atoka-design-system/./node_modules/d3-interpolate/src/constant.js","webpack://atoka-design-system/./node_modules/d3-interpolate/src/color.js","webpack://atoka-design-system/./node_modules/d3-interpolate/src/rgb.js","webpack://atoka-design-system/./node_modules/d3-interpolate/src/array.js","webpack://atoka-design-system/./node_modules/d3-interpolate/src/date.js","webpack://atoka-design-system/./node_modules/d3-interpolate/src/number.js","webpack://atoka-design-system/./node_modules/d3-interpolate/src/object.js","webpack://atoka-design-system/./node_modules/d3-interpolate/src/string.js","webpack://atoka-design-system/./node_modules/d3-interpolate/src/numberArray.js","webpack://atoka-design-system/./node_modules/d3-interpolate/src/value.js","webpack://atoka-design-system/./node_modules/d3-interpolate/src/round.js","webpack://atoka-design-system/./node_modules/d3-scale/src/constant.js","webpack://atoka-design-system/./node_modules/d3-scale/src/number.js","webpack://atoka-design-system/./node_modules/d3-scale/src/continuous.js","webpack://atoka-design-system/./node_modules/d3-scale/src/init.js","webpack://atoka-design-system/./node_modules/d3-format/src/formatSpecifier.js","webpack://atoka-design-system/./node_modules/d3-format/src/formatDecimal.js","webpack://atoka-design-system/./node_modules/d3-format/src/exponent.js","webpack://atoka-design-system/./node_modules/d3-format/src/precisionPrefix.js","webpack://atoka-design-system/./node_modules/d3-format/src/formatGroup.js","webpack://atoka-design-system/./node_modules/d3-format/src/formatNumerals.js","webpack://atoka-design-system/./node_modules/d3-format/src/formatTrim.js","webpack://atoka-design-system/./node_modules/d3-format/src/formatPrefixAuto.js","webpack://atoka-design-system/./node_modules/d3-format/src/formatRounded.js","webpack://atoka-design-system/./node_modules/d3-format/src/formatTypes.js","webpack://atoka-design-system/./node_modules/d3-format/src/identity.js","webpack://atoka-design-system/./node_modules/d3-format/src/locale.js","webpack://atoka-design-system/./node_modules/d3-format/src/defaultLocale.js","webpack://atoka-design-system/./node_modules/d3-format/src/precisionRound.js","webpack://atoka-design-system/./node_modules/d3-format/src/precisionFixed.js","webpack://atoka-design-system/./node_modules/d3-scale/src/tickFormat.js","webpack://atoka-design-system/./node_modules/d3-scale/src/linear.js","webpack://atoka-design-system/./node_modules/regenerator-runtime/runtime.js","webpack://atoka-design-system/external umd \"@fortawesome/react-fontawesome\"","webpack://atoka-design-system/external umd \"@nivo/circle-packing\"","webpack://atoka-design-system/external umd \"classnames\"","webpack://atoka-design-system/external umd \"react\"","webpack://atoka-design-system/external umd \"react-bootstrap/Form\"","webpack://atoka-design-system/external umd \"react-bootstrap/FormControl\"","webpack://atoka-design-system/external umd \"react-bootstrap/FormText\"","webpack://atoka-design-system/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://atoka-design-system/webpack/bootstrap","webpack://atoka-design-system/webpack/runtime/chunk loaded","webpack://atoka-design-system/webpack/runtime/compat get default export","webpack://atoka-design-system/webpack/runtime/define property getters","webpack://atoka-design-system/webpack/runtime/hasOwnProperty shorthand","webpack://atoka-design-system/webpack/runtime/make namespace object","webpack://atoka-design-system/webpack/runtime/node module decorator","webpack://atoka-design-system/webpack/runtime/jsonp chunk loading","webpack://atoka-design-system/webpack/before-startup","webpack://atoka-design-system/webpack/startup","webpack://atoka-design-system/webpack/after-startup"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"@fortawesome/react-fontawesome\"), require(\"@nivo/circle-packing\"), require(\"classnames\"), require(\"react\"), require(\"react-bootstrap/Form\"), require(\"react-bootstrap/FormControl\"), require(\"react-bootstrap/FormText\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"atoka-design-system\", [\"@fortawesome/react-fontawesome\", \"@nivo/circle-packing\", \"classnames\", \"react\", \"react-bootstrap/Form\", \"react-bootstrap/FormControl\", \"react-bootstrap/FormText\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"atoka-design-system\"] = factory(require(\"@fortawesome/react-fontawesome\"), require(\"@nivo/circle-packing\"), require(\"classnames\"), require(\"react\"), require(\"react-bootstrap/Form\"), require(\"react-bootstrap/FormControl\"), require(\"react-bootstrap/FormText\"));\n\telse\n\t\troot[\"atoka-design-system\"] = factory(root[\"@fortawesome/react-fontawesome\"], root[\"@nivo/circle-packing\"], root[\"classnames\"], root[\"react\"], root[\"react-bootstrap/Form\"], root[\"react-bootstrap/FormControl\"], root[\"react-bootstrap/FormText\"]);\n})(self, function(__WEBPACK_EXTERNAL_MODULE__5692__, __WEBPACK_EXTERNAL_MODULE__3741__, __WEBPACK_EXTERNAL_MODULE__8310__, __WEBPACK_EXTERNAL_MODULE__8156__, __WEBPACK_EXTERNAL_MODULE__8721__, __WEBPACK_EXTERNAL_MODULE__1082__, __WEBPACK_EXTERNAL_MODULE__8763__) {\nreturn ","import {boundMethod} from 'autobind-decorator';\nimport {\n CirclePackingLayerId,\n ComputedDatum,\n ResponsiveCirclePacking,\n ResponsiveCirclePackingCanvas,\n} from '@nivo/circle-packing';\nimport React from 'react';\nimport classnames from 'classnames';\nimport {Dimensions} from '@nivo/core';\nimport {blue300} from '../Utils/Style';\nimport {NumberToStringFormatterType, PropsWithClassName} from '../Utils/CommonTypes';\nimport {ellipse} from '../Utils/Text';\nimport {BubbleChartDataPoint, BubbleChartTooltip} from './BubbleChart';\n\nexport type BubbleChartCommonProps = {\n renderTooltip: BubbleChartTooltip;\n id: string;\n chartRef?: React.RefObject<HTMLDivElement>;\n numberToStringFormatter: NumberToStringFormatterType;\n dataValueKey?: string;\n size?: Partial<Dimensions>;\n isCanvas?: boolean;\n total?: number;\n fontSize?: number;\n};\n\nexport type BubbleChartUIProps = PropsWithClassName &\n BubbleChartCommonProps & {\n data: BubbleChartDataPoint;\n colors?: Record<string, string>;\n labelSkipRadius: number;\n };\n\nexport class BubbleChartUI extends React.PureComponent<BubbleChartUIProps> {\n static displayName: string = 'BubbleChartUI';\n static ESTIMATED_LETTER_PIXELS: number = 6.2;\n private defaultLayers: CirclePackingLayerId[] = ['circles', 'labels'];\n static defaultProps: Partial<BubbleChartUIProps> = {\n labelSkipRadius: 17,\n dataValueKey: 'significance',\n };\n\n private getEllipsedLabel(radius: number, input: string): string {\n const maxLetterLength = Math.round((radius * 1.5) / BubbleChartUI.ESTIMATED_LETTER_PIXELS);\n return ellipse(input, maxLetterLength);\n }\n\n @boundMethod\n private renderColor(d: ComputedDatum<BubbleChartDataPoint>): string {\n // the color will be based on the significance, whereas the circle radius is based on the value\n return this?.props?.colors?.[String(d?.data?.['id'])] ?? blue300;\n }\n\n @boundMethod\n private getLabel(d: ComputedDatum<BubbleChartDataPoint>): string {\n return this.getEllipsedLabel(d.radius, d.data.label);\n }\n\n private renderContent(): React.ReactNode {\n const {id, isCanvas, fontSize} = this.props,\n commonProps = {\n layers: this.defaultLayers,\n margin: {top: 0, right: 0, bottom: 0, left: 0},\n data: this.props.data,\n colors: this.renderColor,\n id: `${id}-component`,\n padding: 4,\n leavesOnly: true,\n tooltip: this.props.renderTooltip,\n enableLabels: true,\n labelTextColor: 'white',\n label: this.getLabel,\n value: this.props.dataValueKey,\n };\n if (isCanvas) {\n const theme = {\n fontSize,\n background: '#fff',\n };\n return <ResponsiveCirclePackingCanvas {...commonProps} theme={theme} />;\n }\n\n return <ResponsiveCirclePacking {...commonProps} />;\n }\n\n public render(): React.ReactNode {\n const {id, className, chartRef, size} = this.props,\n chartWidth = size?.width ?? '100%',\n chartHeight = size?.height ?? '100%',\n classNames: string = classnames(\n 'bubble-chart-container d-flex justify-content-center align-items-center',\n className,\n );\n\n return (\n <div id={id} className={classNames} ref={chartRef} style={{width: chartWidth, height: chartHeight}}>\n {this.renderContent()}\n </div>\n );\n }\n}\n","import React from 'react';\nimport {ComputedDatum} from '@nivo/circle-packing';\nimport {DataPoint, PropsWithClassName} from '../Utils/CommonTypes';\nimport {blue30, blue300, generateRangeColor} from '../Utils/Style';\nimport {getRenderStatisticsTooltip} from '../StatisticsTooltip';\nimport {createDataWithOtherSlice} from '../Utils/Statistics';\nimport {deepEqual, sortObjDesc} from '../Utils/Utils';\nimport {BubbleChartCommonProps, BubbleChartUI, BubbleChartUIProps} from './BubbleChartUI';\n\nexport type BubbleChartTooltip = (props: ComputedDatum<BubbleChartDataPoint>) => JSX.Element;\n\nexport interface BubbleChartDataPoint extends Record<string, unknown>, DataPoint {\n significance?: number;\n children?: BubbleChartDataPoint[];\n}\n\nexport type BubbleChartProps = PropsWithClassName &\n BubbleChartCommonProps & {\n data: BubbleChartDataPoint[];\n colors?: string[];\n labelSkipRadius?: number;\n otherId: string;\n maxBubbleNumber?: number;\n };\n/**\n * ### Overview\n *\n * The `BubbleChart` is most useful to display large sets of data.\n * Please note this chart is not suited for tree data structures.\n * Circle colors and size by default derive from the `significance`\n * prop of a given `datapoint`.\n * */\nexport class BubbleChart extends React.Component<BubbleChartProps> {\n static defaultDataValueKey: string = 'significance';\n static displayName: string = 'BubbleChart';\n\n public shouldComponentUpdate(nextProps: BubbleChartProps): boolean {\n return !deepEqual(this.props, nextProps);\n }\n\n static defaultProps: Partial<BubbleChartProps> = {\n colors: [blue30, blue300],\n dataValueKey: BubbleChart.defaultDataValueKey,\n };\n\n private getComponentSetup(): Partial<BubbleChartUIProps> {\n const {otherId, maxBubbleNumber, data, id, numberToStringFormatter, isCanvas, total} = this.props,\n chartData = [...(data ?? [])],\n dataValueKey = this.props.dataValueKey ?? BubbleChart.defaultDataValueKey,\n children =\n this.props.maxBubbleNumber == null\n ? chartData.sort(sortObjDesc(dataValueKey))\n : createDataWithOtherSlice<BubbleChartDataPoint>(\n chartData,\n otherId,\n otherId,\n maxBubbleNumber,\n total,\n dataValueKey,\n ),\n arrayColors = this.computeColors(children),\n colors = arrayColors?.reduce((acc: Record<string, string>, color: string, i: number) => {\n acc[String(children[i].id)] = color;\n return acc;\n }, {}),\n childrenData = maxBubbleNumber == null ? children : children.slice(0, children.length - 1);\n return {\n isCanvas,\n colors,\n numberToStringFormatter,\n renderTooltip:\n this.props.renderTooltip ??\n getRenderStatisticsTooltip({\n tooltipDataLabelKey: this.props?.dataValueKey ?? BubbleChart.defaultDataValueKey,\n tooltipDataTitleKey: 'label',\n otherId: this.props.otherId,\n numberToStringFormatter: this.props.numberToStringFormatter,\n withColor: true,\n }),\n data: {\n children: childrenData,\n value: 0, // This is not useful, since we only use the leafs, but nivo requires it\n label: id,\n },\n };\n }\n\n private computeColors(children: BubbleChartDataPoint[]): string[] | undefined {\n return generateRangeColor(children.length, this.props.colors)?.reverse();\n }\n\n public render(): React.ReactNode {\n const {id, className, chartRef, size, labelSkipRadius, fontSize} = this.props;\n\n return (\n <BubbleChartUI\n {...this.getComponentSetup()}\n id={id}\n chartRef={chartRef}\n className={className}\n size={size}\n labelSkipRadius={labelSkipRadius}\n fontSize={fontSize}\n />\n );\n }\n}\n","export {BubbleChart, BubbleChartDataPoint, BubbleChartTooltip} from './BubbleChart';\n","import React from 'react';\nimport classnames from 'classnames';\nimport BsForm from 'react-bootstrap/Form';\nimport {FormLabelProps} from 'react-bootstrap/FormLabel';\n\nimport './FormLabel.less';\n\nexport const FormLabel: React.FC<FormLabelProps> = React.memo((props): React.ReactElement => {\n const className: string = classnames(props?.className, 'atoka-form-label');\n return <BsForm.Label className={className}>{props.children}</BsForm.Label>;\n});\n\nFormLabel.displayName = 'FormLabel';\n","import React from 'react';\nimport classnames from 'classnames';\nimport BsForm from 'react-bootstrap/Form';\nimport './FormCheckbox.less';\n\nimport {FormCheckProps as BsFormCheckProps} from 'react-bootstrap/FormCheck';\n\nexport interface FormCheckboxProps extends BsFormCheckProps {\n name?: string;\n value?: string;\n onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;\n checked?: boolean;\n}\n\nexport const FormCheckbox: React.FC<FormCheckboxProps> = (props): React.ReactElement => {\n const className: string = classnames('atoka-form-checkbox', props?.className);\n return <BsForm.Check type='checkbox' {...props} custom className={className} label={props.label ?? ''} />;\n};\n\nFormCheckbox.displayName = 'FormCheckbox';\n","import React from 'react';\nimport classnames from 'classnames';\nimport BsForm from 'react-bootstrap/Form';\nimport './FormRadio.less';\n\nimport {FormCheckProps as BsFormCheckProps} from 'react-bootstrap/FormCheck';\n\nexport interface FormRadioProps extends BsFormCheckProps {\n name?: string;\n value?: string;\n onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;\n checked?: boolean;\n}\n\nexport const FormRadio: React.FC<FormRadioProps> = (props): React.ReactElement => {\n const className: string = classnames(props?.className, 'atoka-form-radio');\n return <BsForm.Check type='radio' {...props} custom className={className} label={props.label ?? ''} />;\n};\n\nFormRadio.displayName = 'FormRadio';\n","import BsFormText, {FormTextProps as BsFormTextProps} from 'react-bootstrap/FormText';\nimport React from 'react';\nimport classnames from 'classnames';\nimport './FormHelp.less';\n\nexport interface FormHelpProps extends BsFormTextProps {\n show?: boolean;\n}\n\nexport const FormHelp: React.FC<FormHelpProps> = React.memo(({children, ...props}): React.ReactElement => {\n const className: string = classnames('d-block', props?.className);\n return (\n <BsFormText bsPrefix='atoka-form-help' className={className}>\n {children}\n </BsFormText>\n );\n});\n\nFormHelp.displayName = 'FormHelp';\n","import React from 'react';\nimport classnames from 'classnames';\nimport BsForm, {FormProps as BsFormProps} from 'react-bootstrap/Form';\n\nimport './FormLabel.less';\nimport {FormLabel} from './FormLabel';\nimport {FormControl} from './FormControl';\nimport {FormCheckbox} from './FormCheckbox';\nimport {FormRadio} from './FormRadio';\nimport {FormHelp} from './FormHelp';\n\nexport interface FormProps extends BsFormProps {\n classNames?: string;\n}\n\ntype FormType<P> = React.FC<P> & {\n Control: typeof FormControl;\n Checkbox: typeof FormCheckbox;\n Radio: typeof FormRadio;\n File: typeof BsForm.File;\n Switch: typeof BsForm.Switch;\n Label: typeof FormLabel;\n Help: typeof FormHelp;\n Group: typeof BsForm.Group;\n};\n\nconst Form: FormType<FormProps> = (props): React.ReactElement => {\n const className: string = classnames(props?.className, 'atoka-form');\n return (\n <BsForm {...props} className={className}>\n {props.children}\n </BsForm>\n );\n};\n\nForm.displayName = 'Form';\n\nForm.Control = FormControl;\nForm.Label = FormLabel;\nForm.Checkbox = FormCheckbox;\nForm.Radio = FormRadio;\nForm.File = BsForm.File;\nForm.Switch = BsForm.Switch;\nForm.Help = FormHelp;\nForm.Group = BsForm.Group;\n\nexport {Form};\n","import {FeedbackProps as BsFeedbackProps} from 'react-bootstrap/Feedback';\nimport React from 'react';\nimport classnames from 'classnames';\nimport BsFormControl from 'react-bootstrap/FormControl';\n\nexport interface FeedBackProps extends BsFeedbackProps {\n show?: boolean;\n}\n\nexport const FormControlFeedBack: React.FC<FeedBackProps> = React.memo(\n ({show = true, ...props}): React.ReactElement => {\n const className: string = classnames(props?.className, 'atoka-form-control-feedback', {\n 'd-block': show,\n });\n return (\n <BsFormControl.Feedback type={props.type} className={className}>\n {props.children}\n </BsFormControl.Feedback>\n );\n },\n);\n\nFormControlFeedBack.displayName = ' FormControlFeedBack';\n","import React, {PropsWithoutRef} from 'react';\nimport classnames from 'classnames';\nimport BsFormControl, {FormControlProps as BsFormControlProps} from 'react-bootstrap/FormControl';\nimport {FormControlFeedBack} from './FormControlFeedBack';\nimport './FormControl.less';\n\nexport interface FormControlProps extends React.PropsWithChildren<Omit<BsFormControlProps, 'size'>> {\n rows?: string;\n cols?: string;\n placeholder?: string;\n size?: 'sm' | 'md' | 'lg';\n withShadow?: boolean;\n defaultValue?: string;\n onKeyPress?: React.KeyboardEventHandler<HTMLInputElement>;\n onKeyDown?: React.KeyboardEventHandler<HTMLInputElement>;\n}\n// when updating nivo, change me, I'm all strange because of this library! (the commit creating this comment might be of help)\ntype NivoPleasingForwardRefComponent<T, P> = (props: P & React.RefAttributes<T>) => React.ReactElement | null;\n\ntype FormControlWithForwardedRef = NivoPleasingForwardRefComponent<\n HTMLInputElement,\n PropsWithoutRef<FormControlProps>\n> & {displayName?: string};\n\nconst FormControlComponent: FormControlWithForwardedRef = React.forwardRef<HTMLInputElement, FormControlProps>(\n ({size = 'md', ...props}: FormControlProps, ref?: React.Ref<HTMLInputElement>) => {\n const className: string = classnames('atoka-form-control', props?.className, {\n 'atoka-shadow': props.withShadow,\n 'disabled': props.disabled,\n });\n\n return (\n <BsFormControl\n as={props.as}\n rows={props.rows}\n cols={props.cols}\n placeholder={props.placeholder}\n className={className}\n disabled={props.disabled}\n readOnly={props.readOnly}\n value={props.value}\n onChange={props.onChange}\n onKeyPress={props.onKeyPress}\n onKeyDown={props.onKeyDown}\n defaultValue={props.defaultValue}\n size={size === 'md' ? undefined : size}\n type={props.type}\n id={props.id}\n isValid={props.isValid}\n isInvalid={props.isInvalid}\n ref={ref}\n autoComplete='off'\n >\n {props.children}\n </BsFormControl>\n );\n },\n);\n\nFormControlComponent.displayName = 'FormControlComponent';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst FormControl: typeof FormControlComponent & {FeedBack: typeof FormControlFeedBack} = FormControlComponent as any;\n\nFormControl.FeedBack = FormControlFeedBack;\n\nFormControl.displayName = 'FormControl';\n\nexport {FormControl};\n","import React from 'react';\nimport {NumberToStringFormatterType} from '../Utils/CommonTypes';\n\nimport {StatisticsTooltip} from './index';\n\nexport interface getRenderStatisticsTooltipData<B> {\n color?: string;\n data: B;\n}\n\ninterface PropsFromAbove {\n tooltipDataLabelKey?: string;\n tooltipDataValueKey?: string;\n tooltipDataTitleKey?: string;\n otherId?: string;\n numberToStringFormatter?: NumberToStringFormatterType;\n otherLabel?: string;\n withColor?: boolean;\n className?: string | null;\n}\n\nexport type GetRenderStatisticsTooltipType<T> = (props: getRenderStatisticsTooltipData<T>) => JSX.Element;\n\nexport function getRenderStatisticsTooltip<A>({\n tooltipDataLabelKey,\n tooltipDataValueKey,\n tooltipDataTitleKey,\n otherId,\n otherLabel,\n numberToStringFormatter,\n withColor,\n className = 'tooltip-background',\n}: PropsFromAbove): GetRenderStatisticsTooltipType<A> {\n // eslint-disable-next-line react/display-name\n return (props) => {\n let tooltipData = {\n ...props.data,\n value: props.data?.['value'],\n label: props.data?.['label'],\n id: props.data?.['id'],\n percentage: props.data?.['percentage'],\n };\n\n return (\n <StatisticsTooltip\n otherId={otherId}\n otherLabel={otherLabel}\n numberToStringFormatter={numberToStringFormatter}\n data={tooltipData}\n tooltipDataLabelKey={tooltipDataLabelKey}\n tooltipDataTitleKey={tooltipDataTitleKey}\n tooltipDataValueKey={tooltipDataValueKey}\n className={className ?? ''}\n color={withColor ? props.color : undefined}\n />\n );\n };\n}\n","import React from 'react';\nimport classnames from 'classnames';\nimport {PropsWithClassName, NumberToStringFormatterType} from '../Utils/CommonTypes';\nimport {normalizePercentage} from '../Utils/Statistics';\n\nexport interface TooltipData {\n value: string | number | null;\n label?: string | number;\n id: string;\n percentage?: number;\n}\n\n// The style for this component is in the atoka-bs.less file under the statistics-tooltip class\nexport interface StatisticsTooltipProps extends PropsWithClassName {\n data: TooltipData;\n tooltipDataLabelKey?: string;\n tooltipDataValueKey?: string;\n tooltipDataTitleKey?: string;\n otherId?: string;\n otherLabel?: string;\n color?: string;\n withColor?: boolean;\n numberToStringFormatter?: NumberToStringFormatterType;\n}\n\nexport const StatisticsTooltip = React.memo(\n (props: React.PropsWithChildren<StatisticsTooltipProps>): React.ReactElement => {\n // eslint-disable-next-line react/display-name\n function renderSubtitle(): React.ReactNode {\n let values = [\n {value: getLabel(), key: props.tooltipDataLabelKey, className: 'label'},\n {value: getValue(), key: props.tooltipDataValueKey, className: 'value'},\n ]\n .filter((el) => el.value != null)\n .map((el) => (\n <span key={el.key} className={el.className}>\n {el.value}\n </span>\n ));\n\n if (values.length === 0) {\n return null;\n }\n\n return <div className='d-flex justify-content-between'>{values}</div>;\n }\n\n function getLabel(): string | undefined {\n let {tooltipDataLabelKey, numberToStringFormatter, data} = props,\n label = getValueFromData(tooltipDataLabelKey, data);\n\n if (label == null) {\n return undefined;\n }\n\n if (numberToStringFormatter == null) {\n return String(label);\n }\n\n if (typeof label == 'string') {\n return label;\n }\n\n return numberToStringFormatter(label);\n }\n\n function getValue(): string | undefined {\n let {tooltipDataValueKey, data} = props,\n value = getValueFromData(tooltipDataValueKey, data);\n\n if (value == null) {\n return undefined;\n }\n\n if (typeof value == 'number') {\n return normalizePercentage(value);\n }\n\n return value;\n }\n\n function getTitle(): string | undefined {\n let {tooltipDataTitleKey, data, otherId, otherLabel} = props,\n title = getValueFromData(tooltipDataTitleKey, data);\n\n if (title === otherId) {\n return otherLabel ?? otherId;\n }\n\n return title ? String(title) : undefined;\n }\n\n function getValueFromData(key: string | undefined, data: TooltipData): string | number | undefined {\n return key == null ? undefined : data?.[key];\n }\n\n let className = classnames('statistics-tooltip', props?.className),\n colorRectangle =\n props.color == null ? null : <span className='tooltip-rectangle' style={{background: props.color}} />;\n\n return (\n <div className={className}>\n <div className='d-flex align-items-center'>\n {colorRectangle}\n <span className='text-left'>{getTitle()}</span>\n </div>\n {renderSubtitle()}\n {props.children}\n </div>\n );\n },\n);\n\nStatisticsTooltip.displayName = 'StatisticsTooltip';\n","export * from './StatisticsTooltip';\nexport {getRenderStatisticsTooltip, GetRenderStatisticsTooltipType} from './helpers';\n","import {clone} from '../Utils/Utils';\nimport {sortObjDesc} from './Utils';\n\nexport function createDataWithOtherSlice<T extends Record<string, unknown>>(\n data: T[],\n otherId?: string,\n otherLabel?: string,\n maxSlicesNumber: number = 0,\n total?: number,\n dataValueKey: string = 'value',\n): T[] {\n let otherValue = 0,\n newOtherId: string = otherId ?? 'other',\n // We know it is defined but Typescript does not get it.\n newmaxSlicesNumber: number = maxSlicesNumber ?? 0,\n newData: T[] = [],\n maxToMinData = data?.sort(sortObjDesc(dataValueKey));\n\n maxToMinData?.forEach((node: T, i: number) => {\n if (i < newmaxSlicesNumber && node.id !== otherId) {\n newData.push(createCleanTree<T>(node));\n } else {\n let nodeValue = Number(node?.value) ?? 0;\n otherValue += nodeValue;\n }\n });\n\n let otherNode = {};\n otherNode['id'] = newOtherId;\n otherNode['value'] = parseFloat(otherValue.toFixed(2));\n otherNode['initialValue'] = parseFloat(otherValue.toFixed(2));\n otherNode['label'] = otherLabel ?? newOtherId ?? '';\n\n if (data?.[0]?.percentage != null && total != null) {\n otherNode['percentage'] = (otherValue / total) * 100;\n }\n if (maxSlicesNumber !== Infinity || otherValue !== 0) {\n newData.push(otherNode as T);\n }\n\n return newData;\n}\n\nexport function createCleanTree<A extends Record<string, unknown>>(node: A): A {\n if (node.children == null) {\n return node;\n }\n let newNode = clone(node);\n removeValueIfChildren(newNode);\n return newNode;\n}\n// eslint-disable-next-line @typescript-eslint/ban-types\nfunction removeValueIfChildren<B extends object>(node: B): void {\n let children = (node?.['children'] ?? []) as B[];\n node['initialValue'] = node['value'];\n if (children.length > 0) {\n delete node['value'];\n }\n for (let child of children) {\n removeValueIfChildren(child);\n }\n}\n\nexport function normalizePercentage(value: number): string {\n return `${parseInt(value?.toFixed?.(0), 10)}%`;\n}\n","import {scaleLinear, ScaleLinear} from 'd3-scale';\n\nfunction generateRangeColor(\n len: number,\n rangeColors: string[] = ['#82CA9D', '#f6ea25', '#F7977A'],\n): string[] | undefined {\n const generatedColors = [];\n\n if (len === 0) {\n return undefined;\n }\n\n let colors: ScaleLinear<string, string> = scaleLinear<string, string>(),\n domain = calculateDomain(rangeColors.length, rangeColors.length),\n targetDomain = calculateDomain(len, rangeColors.length);\n\n colors = colors.domain(domain).range(rangeColors);\n for (let i = 0; i < len; i++) {\n generatedColors.push(colors(targetDomain[i]));\n }\n return generatedColors;\n}\n\nexport function calculateDomain(len: number, rangeColorsLength: number): number[] {\n let domain = [];\n domain.push(0);\n for (let i = 0; i < len - 2; i++) {\n let num = Number((rangeColorsLength / len) * (i + 1));\n domain.push(parseFloat(num.toFixed(2)));\n }\n domain.push(rangeColorsLength);\n return domain;\n}\n// Keep these in sync with variables.less\nlet white = '#FFFFFF',\n blue25 = '#eef2f5',\n blue30 = '#CBD8E0',\n blue50 = '#AFD1E0',\n blue80 = '#8FB7CB',\n blue90 = '#94C2DA',\n blue95 = '#6E9DB5',\n blue100 = '#578EA8',\n blue300 = 'rgb(32, 88, 113)', // #205871\n blue400 = '#11455C',\n gray100 = '#FAFAFA',\n gray200 = '#EBEBEB',\n gray300 = '#B0B0B0',\n gray400 = '#717171',\n yellow = '#FFBB00',\n orange = '#F38522',\n red = '#F72200',\n green = '#309B0A',\n purple = '#63619F',\n viola = '#965DA3',\n pink200 = '#C55795',\n pink100 = '#E85778',\n salmon = '#F86752',\n black = '#222222';\n\nexport {\n generateRangeColor,\n white,\n blue25,\n blue30,\n blue50,\n blue80,\n blue90,\n blue95,\n blue100,\n blue300,\n gray200,\n blue400,\n yellow,\n orange,\n red,\n green,\n gray100,\n gray300,\n gray400,\n purple,\n viola,\n pink100,\n pink200,\n salmon,\n black,\n};\n","import {LabelFormatter} from '@nivo/bar';\nimport {DataPoint, Value} from './CommonTypes';\n\nexport function isStringEmpty(s: string | undefined | null): boolean {\n if (s == null) {\n return true;\n }\n\n return s.match(/^\\s*$/) !== null;\n}\n\nexport function slugify(text: string): string {\n const a = 'àáâäæãåāăąçćčđďèéêëēėęěğǵḧîïíīįìłḿñńǹňôöòóœøōõőṕŕřßśšşșťțûüùúūǘůűųẃẍÿýžźż·/_,:;',\n b = 'aaaaaaaaaacccddeeeeeeeegghiiiiiilmnnnnoooooooooprrsssssttuuuuuuuuuwxyyzzz------',\n p = new RegExp(a.split('').join('|'), 'g');\n\n return text\n .toString()\n .toLowerCase()\n .replace(/\\s+/g, '-') // Replace spaces with -\n .replace(p, (c) => b.charAt(a.indexOf(c))) // Replace special characters\n .replace(/&/g, '-and-') // Replace & with 'and'\n .replace(/[^\\w-]+/g, '') // Remove all non-word characters\n .replace(/--+/g, '-') // Replace multiple - with single -\n .replace(/^-+/, '') // Trim - from start of text\n .replace(/-+$/, ''); // Trim - from end of text\n}\n\nexport function estimateWordSize(wordLength: number, letterPixels: number, constant: number): number {\n return wordLength * letterPixels + constant;\n}\n\nexport function ellipse(input: string | null, length: number): string {\n if (input == null) {\n return '';\n }\n\n return input.length > length ? `${input.substr(0, length - 1)}…` : input;\n}\n\nexport function matchAndFormatRangeLabel(formatter: LabelFormatter | undefined): (label: string) => string {\n return (label: string) => {\n const match = /^([\\d*]+)-([\\d*]+)$/.exec(label);\n if (match == null) {\n return label;\n }\n\n return formatRange(\n {\n from: match[1],\n to: match[2],\n },\n formatter ?? ((v: string) => v),\n );\n };\n}\n\nexport function formatRange(item: Pick<DataPoint, 'from' | 'to'>, formatter: LabelFormatter): string {\n const to = item.to === '*' ? '*' : formatter(parseInt(item.to ?? '0', 10)),\n from = formatter(parseInt(item.from ?? '0', 10));\n\n if (from === to) {\n return `${from}`;\n }\n\n return `${from} - ${to}`;\n}\n\nexport function ellipseAndFormat(\n formatter: LabelFormatter | undefined,\n maxLabelLength: number,\n): (value: Value) => string {\n return (value: Value) => {\n const strValue = value.toString();\n\n if (formatter == null) {\n return ellipse(strValue, maxLabelLength);\n }\n\n return ellipse(`${formatter(strValue)}`, maxLabelLength);\n };\n}\n\nexport function escapeRegExp(input: string): string {\n // eslint-disable-next-line\n return input.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&');\n}\n\nexport function isMatching(text0: string, text1: string): boolean {\n if (text0 == null || text1 == null) {\n return false;\n }\n text0 = text0.toLowerCase();\n text1 = text1.toLowerCase();\n\n if (text1.match(' ') === null) {\n return text0.match(escapeRegExp(text1)) !== null;\n }\n\n let splitNeedles = text1\n .split(' ')\n .filter((s: string) => !isStringEmpty(s))\n .sort((a: string, b: string) => b.length - a.length);\n\n for (let needle of splitNeedles) {\n if (text0 === needle) {\n return true;\n }\n }\n\n return false;\n}\n\nexport function splitTextInParts(needles: string, text?: string): string[] {\n if (text == null) {\n return [];\n }\n\n if (needles.match(' ') === null) {\n let re = new RegExp('(' + escapeRegExp(needles) + ')', 'gi');\n\n return text.split(re);\n }\n\n let splitNeedles = needles\n .split(' ')\n .filter((s: string) => !isStringEmpty(s))\n .sort((a: string, b: string) => b.length - a.length),\n ret = [text];\n\n for (let needle of splitNeedles) {\n let re = new RegExp('(' + needle + ')', 'gi');\n for (let index = 0; index < ret.length; index++) {\n let currentText = ret[index];\n\n if (isMatching(currentText, escapeRegExp(needles))) {\n continue;\n }\n\n let newParts = currentText.split(re).filter((s: string) => s !== '');\n ret.splice(index, 1, ...newParts);\n }\n }\n\n return ret;\n}\n","import {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport React from 'react';\nimport {Form} from '../Form/Form';\n\nexport function findChildrenByComponent(\n children: React.ReactNode,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n component: React.ComponentClass | React.FunctionComponent | React.ForwardRefExoticComponent<any>,\n): React.ReactNode[] {\n let ret: React.ReactNode[] = [];\n React.Children.forEach(children, (element: React.ReactElement) => {\n if (element?.type === component) {\n ret.push(element);\n }\n });\n\n return ret;\n}\n\nexport function findChildByComponent(\n children: React.ReactNode,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n component: React.ComponentClass | React.FunctionComponent | React.ForwardRefExoticComponent<any>,\n): React.ReactNode | null {\n return findChildrenByComponent(children, component)?.[0] ?? null;\n}\n\nexport function hasChildIconOrCheckboxComponent(children: React.ReactNode): boolean {\n let ret = false;\n React.Children.forEach(children, (element: React.ReactElement) => {\n if (\n element?.type != null &&\n (element?.type === FontAwesomeIcon || element?.type === 'i' || element?.type === Form.Checkbox)\n ) {\n ret = true;\n return;\n }\n });\n\n return ret;\n}\n\nexport function scrollToTop(): void {\n window.scrollTo(0, 0);\n}\n\nexport function zip<T>(arr1: T[], arr2: T[]): T[] {\n const ret: T[] = [];\n let i: number = 0;\n\n while (arr1[i]) {\n ret.push(arr1[i]);\n ret.push(arr2[i++]);\n }\n\n return ret;\n}\n\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function sortObjDesc<T extends object>(accessor: keyof T): (a: T, b: T) => number {\n return function (a: T, b: T): number {\n let leftVal = 0,\n rightVal = 0;\n if (a?.[accessor] != null) {\n leftVal = a?.[accessor] as unknown as number;\n }\n if (b?.[accessor] != null) {\n rightVal = b?.[accessor] as unknown as number;\n }\n return leftVal > rightVal ? -1 : 1;\n };\n}\n\nexport function clone<T>(ob: T): T {\n return JSON.parse(JSON.stringify(ob));\n}\n\nexport type Debouncer = (f: () => void) => void;\n\nexport function getDebouncer(delay: number = 1): Debouncer {\n let debounceTimeout: number | null = null;\n return function debounce(f: () => void): void {\n if (debounceTimeout !== null) {\n clearTimeout(debounceTimeout);\n }\n debounceTimeout = window.setTimeout(f, delay);\n };\n}\n\nfunction isObject<T>(obj: T): boolean {\n return typeof obj === 'object' && obj != null;\n}\n\nexport function deepEqual<T>(obj1: T, obj2: T): boolean {\n if (obj1 === obj2) {\n return true;\n }\n\n if (isObject(obj1) && isObject(obj2)) {\n if (Object.keys(obj1).length !== Object.keys(obj2).length) {\n return false;\n }\n\n for (let prop in obj1) {\n if (!deepEqual(obj1[prop], obj2[prop])) {\n return false;\n }\n }\n return true;\n }\n\n return false;\n}\n\nfunction componentToHex(c: number): string {\n if (isNaN(c)) {\n throw Error('The color has not been written correctly');\n }\n const hex = c.toString(16).toUpperCase();\n return hex.length === 1 ? '0' + hex : hex;\n}\n\nfunction cleanSingleColor(c: string): string {\n return c.replace(/\"|'/g, '').trim();\n}\n\nexport function rgbToHex(rgb: string): string {\n if (rgb.includes('rgba')) {\n throw Error('not implemented');\n }\n const [r = 0, g = 0, b = 0] = rgb\n .replace('rgb', '')\n .replace(/\\(|\\)/gi, '')\n .split(',')\n .map((c: string) => parseInt(cleanSingleColor(c), 10));\n\n return '#' + componentToHex(r) + componentToHex(g) + componentToHex(b);\n}\n","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n module.exports = _typeof = function _typeof(obj) {\n return typeof obj;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n } else {\n module.exports = _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n }\n\n return _typeof(obj);\n}\n\nmodule.exports = _typeof;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","module.exports = require(\"regenerator-runtime\");\n","function _typeof(obj) { 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 * Return a descriptor removing the value and returning a getter\n * The getter will return a .bind version of the function\n * and memoize the result against a symbol on the instance\n */\nexport function boundMethod(target, key, descriptor) {\n var fn = descriptor.value;\n\n if (typeof fn !== 'function') {\n throw new TypeError(\"@boundMethod decorator can only be applied to methods not: \".concat(_typeof(fn)));\n } // In IE11 calling Object.defineProperty has a side-effect of evaluating the\n // getter for the property which is being replaced. This causes infinite\n // recursion and an \"Out of stack space\" error.\n\n\n var definingProperty = false;\n return {\n configurable: true,\n get: function get() {\n // eslint-disable-next-line no-prototype-builtins\n if (definingProperty || this === target.prototype || this.hasOwnProperty(key) || typeof fn !== 'function') {\n return fn;\n }\n\n var boundFn = fn.bind(this);\n definingProperty = true;\n Object.defineProperty(this, key, {\n configurable: true,\n get: function get() {\n return boundFn;\n },\n set: function set(value) {\n fn = value;\n delete this[key];\n }\n });\n definingProperty = false;\n return boundFn;\n },\n set: function set(value) {\n fn = value;\n }\n };\n}\n/**\n * Use boundMethod to bind all methods on the target.prototype\n */\n\nexport function boundClass(target) {\n // (Using reflect to get all keys including symbols)\n var keys; // Use Reflect if exists\n\n if (typeof Reflect !== 'undefined' && typeof Reflect.ownKeys === 'function') {\n keys = Reflect.ownKeys(target.prototype);\n } else {\n keys = Object.getOwnPropertyNames(target.prototype); // Use symbols if support is provided\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n keys = keys.concat(Object.getOwnPropertySymbols(target.prototype));\n }\n }\n\n keys.forEach(function (key) {\n // Ignore special case target method\n if (key === 'constructor') {\n return;\n }\n\n var descriptor = Object.getOwnPropertyDescriptor(target.prototype, key); // Only methods need binding\n\n if (typeof descriptor.value === 'function') {\n Object.defineProperty(target.prototype, key, boundMethod(target, key, descriptor));\n }\n });\n return target;\n}\nexport default function autobind() {\n if (arguments.length === 1) {\n return boundClass.apply(void 0, arguments);\n }\n\n return boundMethod.apply(void 0, arguments);\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","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 let r0 = Math.round(start / step), r1 = Math.round(stop / step);\n if (r0 * step < start) ++r0;\n if (r1 * step > stop) --r1;\n ticks = new Array(n = r1 - r0 + 1);\n while (++i < n) ticks[i] = (r0 + i) * step;\n } else {\n step = -step;\n let r0 = Math.round(start * step), r1 = Math.round(stop * step);\n if (r0 / step < start) ++r0;\n if (r1 / step > stop) --r1;\n ticks = new Array(n = r1 - r0 + 1);\n while (++i < n) ticks[i] = (r0 + 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 default function(a, b) {\n return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}\n","import ascending from \"./ascending.js\";\n\nexport default function(f) {\n let delta = f;\n let compare = f;\n\n if (f.length === 1) {\n delta = (d, x) => f(d) - x;\n compare = ascendingComparator(f);\n }\n\n function left(a, x, lo, hi) {\n if (lo == null) lo = 0;\n if (hi == null) hi = a.length;\n while (lo < hi) {\n const mid = (lo + hi) >>> 1;\n if (compare(a[mid], x) < 0) lo = mid + 1;\n else hi = mid;\n }\n return lo;\n }\n\n function right(a, x, lo, hi) {\n if (lo == null) lo = 0;\n if (hi == null) hi = a.length;\n while (lo < hi) {\n const 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 function center(a, x, lo, hi) {\n if (lo == null) lo = 0;\n if (hi == null) hi = a.length;\n const i = left(a, x, lo, hi - 1);\n return i > lo && delta(a[i - 1], x) > -delta(a[i], x) ? i - 1 : i;\n }\n\n return {left, center, right};\n}\n\nfunction ascendingComparator(f) {\n return (d, x) => ascending(f(d), x);\n}\n","export default function(x) {\n return x === null ? NaN : +x;\n}\n\nexport function* numbers(values, valueof) {\n if (valueof === undefined) {\n for (let value of values) {\n if (value != null && (value = +value) >= value) {\n yield value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null && (value = +value) >= value) {\n yield value;\n }\n }\n }\n}\n","import ascending from \"./ascending.js\";\nimport bisector from \"./bisector.js\";\nimport number from \"./number.js\";\n\nconst ascendingBisect = bisector(ascending);\nexport const bisectRight = ascendingBisect.right;\nexport const bisectLeft = ascendingBisect.left;\nexport const bisectCenter = bisector(number).center;\nexport default bisectRight;\n","export function basis(t1, v0, v1, v2, v3) {\n var t2 = t1 * t1, t3 = t2 * t1;\n return ((1 - 3 * t1 + 3 * t2 - t3) * v0\n + (4 - 6 * t2 + 3 * t3) * v1\n + (1 + 3 * t1 + 3 * t2 - 3 * t3) * v2\n + t3 * v3) / 6;\n}\n\nexport default function(values) {\n var n = values.length - 1;\n return function(t) {\n var i = t <= 0 ? (t = 0) : t >= 1 ? (t = 1, n - 1) : Math.floor(t * n),\n v1 = values[i],\n v2 = values[i + 1],\n v0 = i > 0 ? values[i - 1] : 2 * v1 - v2,\n v3 = i < n - 1 ? values[i + 2] : 2 * v2 - v1;\n return basis((t - i / n) * n, v0, v1, v2, v3);\n };\n}\n","import {basis} from \"./basis.js\";\n\nexport default function(values) {\n var n = values.length;\n return function(t) {\n var i = Math.floor(((t %= 1) < 0 ? ++t : t) * n),\n v0 = values[(i + n - 1) % n],\n v1 = values[i % n],\n v2 = values[(i + 1) % n],\n v3 = values[(i + 2) % n];\n return basis((t - i / n) * n, v0, v1, v2, v3);\n };\n}\n","export default x => () => x;\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","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","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 {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 constants(x) {\n return function() {\n return x;\n };\n}\n","export default function number(x) {\n return +x;\n}\n","import {bisect} from \"d3-array\";\nimport {interpolate as interpolateValue, interpolateNumber, interpolateRound} from \"d3-interpolate\";\nimport constant from \"./constant.js\";\nimport number from \"./number.js\";\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(a, b) {\n var 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 var n = Math.min(domain.length, range.length);\n if (clamp !== identity) clamp = clamper(domain[0], domain[n - 1]);\n piecewise = n > 2 ? polymap : bimap;\n output = input = null;\n return scale;\n }\n\n function scale(x) {\n return x == null || 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 = Array.from(_, number), rescale()) : domain.slice();\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = Array.from(_), rescale()) : range.slice();\n };\n\n scale.rangeRound = function(_) {\n return range = Array.from(_), interpolate = interpolateRound, rescale();\n };\n\n scale.clamp = function(_) {\n return arguments.length ? (clamp = _ ? true : identity, rescale()) : 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() {\n return transformer()(identity, identity);\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: {\n if (typeof domain === \"function\") this.interpolator(domain);\n else this.range(domain);\n break;\n }\n default: {\n this.domain(domain);\n if (typeof interpolator === \"function\") this.interpolator(interpolator);\n else this.range(interpolator);\n break;\n }\n }\n return this;\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","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","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","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 {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 \"%\": (x, p) => (x * 100).toFixed(p),\n \"b\": (x) => Math.round(x).toString(2),\n \"c\": (x) => x + \"\",\n \"d\": formatDecimal,\n \"e\": (x, p) => x.toExponential(p),\n \"f\": (x, p) => x.toFixed(p),\n \"g\": (x, p) => x.toPrecision(p),\n \"o\": (x) => Math.round(x).toString(8),\n \"p\": (x, p) => formatRounded(x * 100, p),\n \"r\": formatRounded,\n \"s\": formatPrefixAuto,\n \"X\": (x) => Math.round(x).toString(16).toUpperCase(),\n \"x\": (x) => 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 thousands: \",\",\n grouping: [3],\n currency: [\"$\", \"\"]\n});\n\nexport default function defaultLocale(definition) {\n locale = formatLocale(definition);\n format = locale.format;\n formatPrefix = locale.formatPrefix;\n return locale;\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 {tickStep} from \"d3-array\";\nimport {format, formatPrefix, formatSpecifier, precisionFixed, precisionPrefix, precisionRound} from \"d3-format\";\n\nexport default function tickFormat(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 {ticks, tickIncrement} from \"d3-array\";\nimport continuous, {copy} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\nimport tickFormat from \"./tickFormat.js\";\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 var i0 = 0;\n var i1 = d.length - 1;\n var start = d[i0];\n var stop = d[i1];\n var prestep;\n var step;\n var maxIter = 10;\n\n if (stop < start) {\n step = start, start = stop, stop = step;\n step = i0, i0 = i1, i1 = step;\n }\n \n while (maxIter-- > 0) {\n step = tickIncrement(start, stop, count);\n if (step === prestep) {\n d[i0] = start\n d[i1] = stop\n return domain(d);\n } else if (step > 0) {\n start = Math.floor(start / step) * step;\n stop = Math.ceil(stop / step) * step;\n } else if (step < 0) {\n start = Math.ceil(start * step) / step;\n stop = Math.floor(stop * step) / step;\n } else {\n break;\n }\n prestep = step;\n }\n\n return scale;\n };\n\n return scale;\n}\n\nexport default function linear() {\n var scale = continuous();\n\n scale.copy = function() {\n return copy(scale, linear());\n };\n\n initRange.apply(scale, arguments);\n\n return linearish(scale);\n}\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n","module.exports = __WEBPACK_EXTERNAL_MODULE__5692__;","module.exports = __WEBPACK_EXTERNAL_MODULE__3741__;","module.exports = __WEBPACK_EXTERNAL_MODULE__8310__;","module.exports = __WEBPACK_EXTERNAL_MODULE__8156__;","module.exports = __WEBPACK_EXTERNAL_MODULE__8721__;","module.exports = __WEBPACK_EXTERNAL_MODULE__1082__;","module.exports = __WEBPACK_EXTERNAL_MODULE__8763__;","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t3227: 0,\n\t9811: 0,\n\t563: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkIds[i]] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkatoka_design_system\"] = self[\"webpackChunkatoka_design_system\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [563], () => (__webpack_require__(2174)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n",""],"names":["_typeof","obj","Symbol","iterator","module","exports","__esModule","constructor","prototype","require","boundMethod","target","key","descriptor","fn","value","TypeError","concat","definingProperty","configurable","get","hasOwnProperty","boundFn","bind","Object","defineProperty","set","boundClass","keys","Reflect","ownKeys","getOwnPropertyNames","getOwnPropertySymbols","forEach","getOwnPropertyDescriptor","autobind","arguments","length","apply","factory","extend","parent","definition","create","define","Color","darker","brighter","reI","reN","reP","reHex","reRgbInteger","RegExp","reRgbPercent","reRgbaInteger","reRgbaPercent","reHslPercent","reHslaPercent","named","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","color","copy","channels","assign","displayable","rgb","hex","color_formatHex","formatHex","formatHsl","color_formatHsl","formatRgb","color_formatRgb","toString","hslConvert","format","m","l","trim","toLowerCase","exec","parseInt","rgbn","Rgb","rgba","hsla","NaN","n","r","g","b","a","rgbConvert","o","opacity","k","Math","pow","rgb_formatHex","rgb_formatRgb","isNaN","max","min","round","h","s","Hsl","hsl","m2","m1","hsl2rgb","e10","sqrt","e5","e2","start","stop","count","reverse","i","ticks","step","tickIncrement","isFinite","r0","r1","Array","power","floor","log","LN10","error","tickStep","step0","abs","step1","ascending","f","delta","compare","d","x","ascendingComparator","left","lo","hi","mid","right","center","numbers","values","valueof","undefined","index","bisector","number","ascendingBisect","bisectRight","bisectLeft","bisectCenter","basis","t1","v0","v1","v2","v3","t2","t3","t","constant","linear","exponential","y","hue","gamma","nogamma","colorRgb","basisClosed","rgbGamma","end","rgbSpline","spline","colors","rgbBasis","rgbBasisClosed","numberArray","isNumberArray","genericArray","nb","na","c","Date","setTime","reA","reB","source","zero","one","bi","lastIndex","am","bm","bs","q","slice","push","join","ArrayBuffer","isView","DataView","date","object","string","isArray","valueOf","constants","bisect","interpolate","interpolateValue","interpolateNumber","interpolateRound","unit","identity","normalize","clamper","bimap","domain","range","d0","d1","polymap","j","clamp","unknown","transformer","transform","untransform","piecewise","output","input","rescale","scale","map","invert","_","from","rangeRound","u","continuous","initRange","initInterpolator","interpolator","re","formatSpecifier","specifier","match","Error","FormatSpecifier","fill","align","sign","symbol","width","comma","precision","type","toLocaleString","replace","formatDecimalParts","p","toExponential","indexOf","coefficient","exponent","grouping","thousands","substring","numerals","out","i0","i1","prefixExponent","formatDecimal","formatPrefixAuto","formatRounded","toFixed","toPrecision","toUpperCase","formatGroup","formatNumerals","formatTrim","formatTypes","prefixes","locale","group","call","Number","currencyPrefix","currency","currencySuffix","decimal","String","percent","minus","nan","newFormat","prefix","test","suffix","formatType","maybeSuffix","valuePrefix","valueSuffix","valueNegative","charCodeAt","Infinity","padding","formatPrefix","e","formatLocale","defaultLocale","precisionFixed","precisionPrefix","precisionRound","tickFormat","linearish","nice","prestep","maxIter","ceil","runtime","Op","hasOwn","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","enumerable","writable","err","wrap","innerFn","outerFn","self","tryLocsList","protoGenerator","Generator","generator","context","Context","_invoke","makeInvokeMethod","tryCatch","arg","GenStateSuspendedStart","GenStateSuspendedYield","GenStateExecuting","GenStateCompleted","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","Gp","displayName","defineIteratorMethods","method","isGeneratorFunction","genFun","ctor","name","mark","setPrototypeOf","__proto__","awrap","__await","AsyncIterator","PromiseImpl","invoke","resolve","reject","record","result","then","unwrapped","previousPromise","enqueue","callInvokeWithMethodAndArg","async","Promise","iter","next","done","state","doneResult","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","info","resultName","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","pop","iterable","iteratorMethod","skipTempReset","prev","charAt","rootEntry","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","Function"],"sourceRoot":""}
1
+ {"version":3,"file":"BubbleChart/index.js","mappings":"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","sources":["webpack://atoka-design-system/webpack/universalModuleDefinition","webpack://atoka-design-system/./src/components/BubbleChart/BubbleChartUI.tsx","webpack://atoka-design-system/./src/components/BubbleChart/BubbleChart.tsx","webpack://atoka-design-system/./src/components/BubbleChart/index.ts","webpack://atoka-design-system/./src/components/Form/FormLabel.tsx","webpack://atoka-design-system/./src/components/Form/FormCheckbox.tsx","webpack://atoka-design-system/./src/components/Form/FormRadio.tsx","webpack://atoka-design-system/./src/components/Form/FormHelp.tsx","webpack://atoka-design-system/./src/components/Form/Form.tsx","webpack://atoka-design-system/./src/components/Form/FormControlFeedBack.tsx","webpack://atoka-design-system/./src/components/Form/FormControl.tsx","webpack://atoka-design-system/./src/components/StatisticsTooltip/helpers.tsx","webpack://atoka-design-system/./src/components/StatisticsTooltip/StatisticsTooltip.tsx","webpack://atoka-design-system/./src/components/StatisticsTooltip/index.ts","webpack://atoka-design-system/./src/components/Utils/Statistics.ts","webpack://atoka-design-system/./src/components/Utils/Style.ts","webpack://atoka-design-system/./src/components/Utils/Text.ts","webpack://atoka-design-system/./src/components/Utils/Utils.tsx","webpack://atoka-design-system/./node_modules/@babel/runtime/helpers/typeof.js","webpack://atoka-design-system/./node_modules/@babel/runtime/regenerator/index.js","webpack://atoka-design-system/./node_modules/autobind-decorator/lib/esm/index.js","webpack://atoka-design-system/./node_modules/d3-color/src/define.js","webpack://atoka-design-system/./node_modules/d3-color/src/color.js","webpack://atoka-design-system/./node_modules/d3-array/src/ticks.js","webpack://atoka-design-system/./node_modules/d3-array/src/ascending.js","webpack://atoka-design-system/./node_modules/d3-array/src/bisector.js","webpack://atoka-design-system/./node_modules/d3-array/src/number.js","webpack://atoka-design-system/./node_modules/d3-array/src/bisect.js","webpack://atoka-design-system/./node_modules/d3-interpolate/src/basis.js","webpack://atoka-design-system/./node_modules/d3-interpolate/src/basisClosed.js","webpack://atoka-design-system/./node_modules/d3-interpolate/src/constant.js","webpack://atoka-design-system/./node_modules/d3-interpolate/src/color.js","webpack://atoka-design-system/./node_modules/d3-interpolate/src/rgb.js","webpack://atoka-design-system/./node_modules/d3-interpolate/src/array.js","webpack://atoka-design-system/./node_modules/d3-interpolate/src/date.js","webpack://atoka-design-system/./node_modules/d3-interpolate/src/number.js","webpack://atoka-design-system/./node_modules/d3-interpolate/src/object.js","webpack://atoka-design-system/./node_modules/d3-interpolate/src/string.js","webpack://atoka-design-system/./node_modules/d3-interpolate/src/numberArray.js","webpack://atoka-design-system/./node_modules/d3-interpolate/src/value.js","webpack://atoka-design-system/./node_modules/d3-interpolate/src/round.js","webpack://atoka-design-system/./node_modules/d3-scale/src/constant.js","webpack://atoka-design-system/./node_modules/d3-scale/src/number.js","webpack://atoka-design-system/./node_modules/d3-scale/src/continuous.js","webpack://atoka-design-system/./node_modules/d3-scale/src/init.js","webpack://atoka-design-system/./node_modules/d3-format/src/formatSpecifier.js","webpack://atoka-design-system/./node_modules/d3-format/src/formatDecimal.js","webpack://atoka-design-system/./node_modules/d3-format/src/exponent.js","webpack://atoka-design-system/./node_modules/d3-format/src/precisionPrefix.js","webpack://atoka-design-system/./node_modules/d3-format/src/formatGroup.js","webpack://atoka-design-system/./node_modules/d3-format/src/formatNumerals.js","webpack://atoka-design-system/./node_modules/d3-format/src/formatTrim.js","webpack://atoka-design-system/./node_modules/d3-format/src/formatPrefixAuto.js","webpack://atoka-design-system/./node_modules/d3-format/src/formatRounded.js","webpack://atoka-design-system/./node_modules/d3-format/src/formatTypes.js","webpack://atoka-design-system/./node_modules/d3-format/src/identity.js","webpack://atoka-design-system/./node_modules/d3-format/src/locale.js","webpack://atoka-design-system/./node_modules/d3-format/src/defaultLocale.js","webpack://atoka-design-system/./node_modules/d3-format/src/precisionRound.js","webpack://atoka-design-system/./node_modules/d3-format/src/precisionFixed.js","webpack://atoka-design-system/./node_modules/d3-scale/src/tickFormat.js","webpack://atoka-design-system/./node_modules/d3-scale/src/linear.js","webpack://atoka-design-system/./node_modules/regenerator-runtime/runtime.js","webpack://atoka-design-system/external umd \"@fortawesome/react-fontawesome\"","webpack://atoka-design-system/external umd \"@nivo/circle-packing\"","webpack://atoka-design-system/external umd \"classnames\"","webpack://atoka-design-system/external umd \"react\"","webpack://atoka-design-system/external umd \"react-bootstrap/Form\"","webpack://atoka-design-system/external umd \"react-bootstrap/FormControl\"","webpack://atoka-design-system/external umd \"react-bootstrap/FormText\"","webpack://atoka-design-system/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://atoka-design-system/webpack/bootstrap","webpack://atoka-design-system/webpack/runtime/chunk loaded","webpack://atoka-design-system/webpack/runtime/compat get default export","webpack://atoka-design-system/webpack/runtime/define property getters","webpack://atoka-design-system/webpack/runtime/hasOwnProperty shorthand","webpack://atoka-design-system/webpack/runtime/make namespace object","webpack://atoka-design-system/webpack/runtime/node module decorator","webpack://atoka-design-system/webpack/runtime/jsonp chunk loading","webpack://atoka-design-system/webpack/before-startup","webpack://atoka-design-system/webpack/startup","webpack://atoka-design-system/webpack/after-startup"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"@fortawesome/react-fontawesome\"), require(\"@nivo/circle-packing\"), require(\"classnames\"), require(\"react\"), require(\"react-bootstrap/Form\"), require(\"react-bootstrap/FormControl\"), require(\"react-bootstrap/FormText\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"atoka-design-system\", [\"@fortawesome/react-fontawesome\", \"@nivo/circle-packing\", \"classnames\", \"react\", \"react-bootstrap/Form\", \"react-bootstrap/FormControl\", \"react-bootstrap/FormText\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"atoka-design-system\"] = factory(require(\"@fortawesome/react-fontawesome\"), require(\"@nivo/circle-packing\"), require(\"classnames\"), require(\"react\"), require(\"react-bootstrap/Form\"), require(\"react-bootstrap/FormControl\"), require(\"react-bootstrap/FormText\"));\n\telse\n\t\troot[\"atoka-design-system\"] = factory(root[\"@fortawesome/react-fontawesome\"], root[\"@nivo/circle-packing\"], root[\"classnames\"], root[\"react\"], root[\"react-bootstrap/Form\"], root[\"react-bootstrap/FormControl\"], root[\"react-bootstrap/FormText\"]);\n})(self, function(__WEBPACK_EXTERNAL_MODULE__5692__, __WEBPACK_EXTERNAL_MODULE__3741__, __WEBPACK_EXTERNAL_MODULE__8310__, __WEBPACK_EXTERNAL_MODULE__8156__, __WEBPACK_EXTERNAL_MODULE__8721__, __WEBPACK_EXTERNAL_MODULE__1082__, __WEBPACK_EXTERNAL_MODULE__8763__) {\nreturn ","import {boundMethod} from 'autobind-decorator';\nimport {\n CirclePackingLayerId,\n ComputedDatum,\n ResponsiveCirclePacking,\n ResponsiveCirclePackingCanvas,\n} from '@nivo/circle-packing';\nimport React from 'react';\nimport classnames from 'classnames';\nimport {Dimensions} from '@nivo/core';\nimport {blue300} from '../Utils/Style';\nimport {NumberToStringFormatterType, PropsWithClassName} from '../Utils/CommonTypes';\nimport {ellipse} from '../Utils/Text';\nimport {BubbleChartDataPoint, BubbleChartTooltip} from './BubbleChart';\n\nexport type BubbleChartCommonProps = {\n renderTooltip: BubbleChartTooltip;\n id: string;\n chartRef?: React.RefObject<HTMLDivElement>;\n numberToStringFormatter: NumberToStringFormatterType;\n dataValueKey?: string;\n size?: Partial<Dimensions>;\n isCanvas?: boolean;\n total?: number;\n fontSize?: number;\n};\n\nexport type BubbleChartUIProps = PropsWithClassName &\n BubbleChartCommonProps & {\n data: BubbleChartDataPoint;\n colors?: Record<string, string>;\n labelSkipRadius: number;\n };\n\nexport class BubbleChartUI extends React.PureComponent<BubbleChartUIProps> {\n static displayName: string = 'BubbleChartUI';\n static ESTIMATED_LETTER_PIXELS: number = 6.2;\n private defaultLayers: CirclePackingLayerId[] = ['circles', 'labels'];\n static defaultProps: Partial<BubbleChartUIProps> = {\n labelSkipRadius: 17,\n dataValueKey: 'significance',\n };\n\n private getEllipsedLabel(radius: number, input: string): string {\n const maxLetterLength = Math.round((radius * 1.5) / BubbleChartUI.ESTIMATED_LETTER_PIXELS);\n return ellipse(input, maxLetterLength);\n }\n\n @boundMethod\n private renderColor(d: ComputedDatum<BubbleChartDataPoint>): string {\n // the color will be based on the significance, whereas the circle radius is based on the value\n return this?.props?.colors?.[String(d?.data?.['id'])] ?? blue300;\n }\n\n @boundMethod\n private getLabel(d: ComputedDatum<BubbleChartDataPoint>): string {\n return this.getEllipsedLabel(d.radius, d.data.label);\n }\n\n private renderContent(): React.ReactNode {\n const {id, isCanvas, fontSize} = this.props,\n commonProps = {\n layers: this.defaultLayers,\n margin: {top: 0, right: 0, bottom: 0, left: 0},\n data: this.props.data,\n colors: this.renderColor,\n id: `${id}-component`,\n padding: 4,\n leavesOnly: true,\n tooltip: this.props.renderTooltip,\n enableLabels: true,\n labelTextColor: 'white',\n label: this.getLabel,\n value: this.props.dataValueKey,\n };\n if (isCanvas) {\n const theme = {\n fontSize,\n background: '#fff',\n };\n return <ResponsiveCirclePackingCanvas {...commonProps} theme={theme} />;\n }\n\n return <ResponsiveCirclePacking {...commonProps} />;\n }\n\n public render(): React.ReactNode {\n const {id, className, chartRef, size} = this.props,\n chartWidth = size?.width ?? '100%',\n chartHeight = size?.height ?? '100%',\n classNames: string = classnames(\n 'bubble-chart-container d-flex justify-content-center align-items-center',\n className,\n );\n\n return (\n <div id={id} className={classNames} ref={chartRef} style={{width: chartWidth, height: chartHeight}}>\n {this.renderContent()}\n </div>\n );\n }\n}\n","import React from 'react';\nimport {ComputedDatum} from '@nivo/circle-packing';\nimport {DataPoint, PropsWithClassName} from '../Utils/CommonTypes';\nimport {blue30, blue300, generateRangeColor} from '../Utils/Style';\nimport {getRenderStatisticsTooltip} from '../StatisticsTooltip';\nimport {createDataWithOtherSlice} from '../Utils/Statistics';\nimport {deepEqual, sortObjDesc} from '../Utils/Utils';\nimport {BubbleChartCommonProps, BubbleChartUI, BubbleChartUIProps} from './BubbleChartUI';\n\nexport type BubbleChartTooltip = (props: ComputedDatum<BubbleChartDataPoint>) => JSX.Element;\n\nexport interface BubbleChartDataPoint extends Record<string, unknown>, DataPoint {\n significance?: number;\n children?: BubbleChartDataPoint[];\n}\n\nexport type BubbleChartProps = PropsWithClassName &\n BubbleChartCommonProps & {\n data: BubbleChartDataPoint[];\n colors?: string[];\n labelSkipRadius?: number;\n otherId: string;\n maxBubbleNumber?: number;\n };\n/**\n * ### Overview\n *\n * The `BubbleChart` is most useful to display large sets of data.\n * Please note this chart is not suited for tree data structures.\n * Circle colors and size by default derive from the `significance`\n * prop of a given `datapoint`.\n * */\nexport class BubbleChart extends React.Component<BubbleChartProps> {\n static defaultDataValueKey: string = 'significance';\n static displayName: string = 'BubbleChart';\n\n public shouldComponentUpdate(nextProps: BubbleChartProps): boolean {\n return !deepEqual(this.props, nextProps);\n }\n\n static defaultProps: Partial<BubbleChartProps> = {\n colors: [blue30, blue300],\n dataValueKey: BubbleChart.defaultDataValueKey,\n };\n\n private getComponentSetup(): Partial<BubbleChartUIProps> {\n const {otherId, maxBubbleNumber, data, id, numberToStringFormatter, isCanvas, total} = this.props,\n chartData = [...(data ?? [])],\n dataValueKey = this.props.dataValueKey ?? BubbleChart.defaultDataValueKey,\n children =\n this.props.maxBubbleNumber == null\n ? chartData.sort(sortObjDesc(dataValueKey))\n : createDataWithOtherSlice<BubbleChartDataPoint>(\n chartData,\n otherId,\n otherId,\n maxBubbleNumber,\n total,\n dataValueKey,\n ),\n arrayColors = this.computeColors(children),\n colors = arrayColors?.reduce((acc: Record<string, string>, color: string, i: number) => {\n acc[String(children[i].id)] = color;\n return acc;\n }, {}),\n childrenData = maxBubbleNumber == null ? children : children.slice(0, children.length - 1);\n return {\n isCanvas,\n colors,\n numberToStringFormatter,\n renderTooltip:\n this.props.renderTooltip ??\n getRenderStatisticsTooltip({\n tooltipDataLabelKey: this.props?.dataValueKey ?? BubbleChart.defaultDataValueKey,\n tooltipDataTitleKey: 'label',\n otherId: this.props.otherId,\n numberToStringFormatter: this.props.numberToStringFormatter,\n withColor: true,\n }),\n data: {\n children: childrenData,\n value: 0, // This is not useful, since we only use the leafs, but nivo requires it\n label: id,\n },\n };\n }\n\n private computeColors(children: BubbleChartDataPoint[]): string[] | undefined {\n return generateRangeColor(children.length, this.props.colors)?.reverse();\n }\n\n public render(): React.ReactNode {\n const {id, className, chartRef, size, labelSkipRadius, fontSize} = this.props;\n\n return (\n <BubbleChartUI\n {...this.getComponentSetup()}\n id={id}\n chartRef={chartRef}\n className={className}\n size={size}\n labelSkipRadius={labelSkipRadius}\n fontSize={fontSize}\n />\n );\n }\n}\n","export {BubbleChart, BubbleChartDataPoint, BubbleChartTooltip} from './BubbleChart';\n","import React from 'react';\nimport classnames from 'classnames';\nimport BsForm from 'react-bootstrap/Form';\nimport {FormLabelProps} from 'react-bootstrap/FormLabel';\n\nimport './FormLabel.less';\n\nexport const FormLabel: React.FC<FormLabelProps> = React.memo((props): React.ReactElement => {\n const className: string = classnames(props?.className, 'atoka-form-label');\n return <BsForm.Label className={className}>{props.children}</BsForm.Label>;\n});\n\nFormLabel.displayName = 'FormLabel';\n","import React from 'react';\nimport classnames from 'classnames';\nimport BsForm from 'react-bootstrap/Form';\nimport './FormCheckbox.less';\n\nimport {FormCheckProps as BsFormCheckProps} from 'react-bootstrap/FormCheck';\n\nexport interface FormCheckboxProps extends BsFormCheckProps {\n name?: string;\n value?: string;\n onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;\n checked?: boolean;\n}\n\nexport const FormCheckbox: React.FC<FormCheckboxProps> = (props): React.ReactElement => {\n const className: string = classnames('atoka-form-checkbox', props?.className);\n return <BsForm.Check type='checkbox' {...props} custom className={className} label={props.label ?? ''} />;\n};\n\nFormCheckbox.displayName = 'FormCheckbox';\n","import React from 'react';\nimport classnames from 'classnames';\nimport BsForm from 'react-bootstrap/Form';\nimport './FormRadio.less';\n\nimport {FormCheckProps as BsFormCheckProps} from 'react-bootstrap/FormCheck';\n\nexport interface FormRadioProps extends BsFormCheckProps {\n name?: string;\n value?: string;\n onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;\n checked?: boolean;\n}\n\nexport const FormRadio: React.FC<FormRadioProps> = (props): React.ReactElement => {\n const className: string = classnames(props?.className, 'atoka-form-radio');\n return <BsForm.Check type='radio' {...props} custom className={className} label={props.label ?? ''} />;\n};\n\nFormRadio.displayName = 'FormRadio';\n","import BsFormText, {FormTextProps as BsFormTextProps} from 'react-bootstrap/FormText';\nimport React from 'react';\nimport classnames from 'classnames';\nimport './FormHelp.less';\n\nexport interface FormHelpProps extends BsFormTextProps {\n show?: boolean;\n}\n\nexport const FormHelp: React.FC<FormHelpProps> = React.memo(({children, ...props}): React.ReactElement => {\n const className: string = classnames('d-block', props?.className);\n return (\n <BsFormText bsPrefix='atoka-form-help' className={className}>\n {children}\n </BsFormText>\n );\n});\n\nFormHelp.displayName = 'FormHelp';\n","import React from 'react';\nimport classnames from 'classnames';\nimport BsForm, {FormProps as BsFormProps} from 'react-bootstrap/Form';\n\nimport './FormLabel.less';\nimport {FormLabel} from './FormLabel';\nimport {FormControl} from './FormControl';\nimport {FormCheckbox} from './FormCheckbox';\nimport {FormRadio} from './FormRadio';\nimport {FormHelp} from './FormHelp';\n\nexport interface FormProps extends BsFormProps {\n classNames?: string;\n}\n\ntype FormType<P> = React.FC<P> & {\n Control: typeof FormControl;\n Checkbox: typeof FormCheckbox;\n Radio: typeof FormRadio;\n File: typeof BsForm.File;\n Switch: typeof BsForm.Switch;\n Label: typeof FormLabel;\n Help: typeof FormHelp;\n Group: typeof BsForm.Group;\n};\n\nconst Form: FormType<FormProps> = (props): React.ReactElement => {\n const className: string = classnames(props?.className, 'atoka-form');\n return (\n <BsForm {...props} className={className}>\n {props.children}\n </BsForm>\n );\n};\n\nForm.displayName = 'Form';\n\nForm.Control = FormControl;\nForm.Label = FormLabel;\nForm.Checkbox = FormCheckbox;\nForm.Radio = FormRadio;\nForm.File = BsForm.File;\nForm.Switch = BsForm.Switch;\nForm.Help = FormHelp;\nForm.Group = BsForm.Group;\n\nexport {Form};\n","import {FeedbackProps as BsFeedbackProps} from 'react-bootstrap/Feedback';\nimport React from 'react';\nimport classnames from 'classnames';\nimport BsFormControl from 'react-bootstrap/FormControl';\n\nexport interface FeedBackProps extends BsFeedbackProps {\n show?: boolean;\n}\n\nexport const FormControlFeedBack: React.FC<FeedBackProps> = React.memo(\n ({show = true, ...props}): React.ReactElement => {\n const className: string = classnames(props?.className, 'atoka-form-control-feedback', {\n 'd-block': show,\n });\n return (\n <BsFormControl.Feedback type={props.type} className={className}>\n {props.children}\n </BsFormControl.Feedback>\n );\n },\n);\n\nFormControlFeedBack.displayName = ' FormControlFeedBack';\n","import React, {PropsWithoutRef} from 'react';\nimport classnames from 'classnames';\nimport BsFormControl, {FormControlProps as BsFormControlProps} from 'react-bootstrap/FormControl';\nimport {FormControlFeedBack} from './FormControlFeedBack';\nimport './FormControl.less';\n\nexport interface FormControlProps extends React.PropsWithChildren<Omit<BsFormControlProps, 'size'>> {\n rows?: string;\n cols?: string;\n placeholder?: string;\n size?: 'sm' | 'md' | 'lg';\n withShadow?: boolean;\n defaultValue?: string;\n onKeyPress?: React.KeyboardEventHandler<HTMLInputElement>;\n onKeyDown?: React.KeyboardEventHandler<HTMLInputElement>;\n}\n// when updating nivo, change me, I'm all strange because of this library! (the commit creating this comment might be of help)\ntype NivoPleasingForwardRefComponent<T, P> = (props: P & React.RefAttributes<T>) => React.ReactElement | null;\n\ntype FormControlWithForwardedRef = NivoPleasingForwardRefComponent<\n HTMLInputElement,\n PropsWithoutRef<FormControlProps>\n> & {displayName?: string};\n\nconst FormControlComponent: FormControlWithForwardedRef = React.forwardRef<HTMLInputElement, FormControlProps>(\n ({size = 'md', ...props}: FormControlProps, ref?: React.Ref<HTMLInputElement>) => {\n const className: string = classnames('atoka-form-control', props?.className, {\n 'atoka-shadow': props.withShadow,\n 'disabled': props.disabled,\n });\n\n return (\n <BsFormControl\n as={props.as}\n rows={props.rows}\n cols={props.cols}\n placeholder={props.placeholder}\n className={className}\n disabled={props.disabled}\n readOnly={props.readOnly}\n value={props.value}\n onChange={props.onChange}\n onKeyPress={props.onKeyPress}\n onKeyDown={props.onKeyDown}\n defaultValue={props.defaultValue}\n size={size === 'md' ? undefined : size}\n type={props.type}\n id={props.id}\n isValid={props.isValid}\n isInvalid={props.isInvalid}\n ref={ref}\n autoComplete='off'\n >\n {props.children}\n </BsFormControl>\n );\n },\n);\n\nFormControlComponent.displayName = 'FormControlComponent';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst FormControl: typeof FormControlComponent & {FeedBack: typeof FormControlFeedBack} = FormControlComponent as any;\n\nFormControl.FeedBack = FormControlFeedBack;\n\nFormControl.displayName = 'FormControl';\n\nexport {FormControl};\n","import React from 'react';\nimport {NumberToStringFormatterType} from '../Utils/CommonTypes';\n\nimport {StatisticsTooltip} from './index';\n\nexport interface getRenderStatisticsTooltipData<B> {\n color?: string;\n data: B;\n}\n\ninterface PropsFromAbove {\n tooltipDataLabelKey?: string;\n tooltipDataValueKey?: string;\n tooltipDataTitleKey?: string;\n otherId?: string;\n numberToStringFormatter?: NumberToStringFormatterType;\n otherLabel?: string;\n withColor?: boolean;\n className?: string | null;\n}\n\nexport type GetRenderStatisticsTooltipType<T> = (props: getRenderStatisticsTooltipData<T>) => JSX.Element;\n\nexport function getRenderStatisticsTooltip<A>({\n tooltipDataLabelKey,\n tooltipDataValueKey,\n tooltipDataTitleKey,\n otherId,\n otherLabel,\n numberToStringFormatter,\n withColor,\n className = 'tooltip-background',\n}: PropsFromAbove): GetRenderStatisticsTooltipType<A> {\n // eslint-disable-next-line react/display-name\n return (props) => {\n let tooltipData = {\n ...props.data,\n value: props.data?.['value'],\n label: props.data?.['label'],\n id: props.data?.['id'],\n percentage: props.data?.['percentage'],\n };\n\n return (\n <StatisticsTooltip\n otherId={otherId}\n otherLabel={otherLabel}\n numberToStringFormatter={numberToStringFormatter}\n data={tooltipData}\n tooltipDataLabelKey={tooltipDataLabelKey}\n tooltipDataTitleKey={tooltipDataTitleKey}\n tooltipDataValueKey={tooltipDataValueKey}\n className={className ?? ''}\n color={withColor ? props.color : undefined}\n />\n );\n };\n}\n","import React from 'react';\nimport classnames from 'classnames';\nimport {PropsWithClassName, NumberToStringFormatterType} from '../Utils/CommonTypes';\nimport {normalizePercentage} from '../Utils/Statistics';\n\nexport interface TooltipData {\n value: string | number | null;\n label?: string | number;\n id: string;\n percentage?: number;\n}\n\n// The style for this component is in the atoka-bs.less file under the statistics-tooltip class\nexport interface StatisticsTooltipProps extends PropsWithClassName {\n data: TooltipData;\n tooltipDataLabelKey?: string;\n tooltipDataValueKey?: string;\n tooltipDataTitleKey?: string;\n otherId?: string;\n otherLabel?: string;\n color?: string;\n withColor?: boolean;\n numberToStringFormatter?: NumberToStringFormatterType;\n}\n\nexport const StatisticsTooltip = React.memo(\n (props: React.PropsWithChildren<StatisticsTooltipProps>): React.ReactElement => {\n // eslint-disable-next-line react/display-name\n function renderSubtitle(): React.ReactNode {\n let values = [\n {value: getLabel(), key: props.tooltipDataLabelKey, className: 'label'},\n {value: getValue(), key: props.tooltipDataValueKey, className: 'value'},\n ]\n .filter((el) => el.value != null)\n .map((el) => (\n <span key={el.key} className={el.className}>\n {el.value}\n </span>\n ));\n\n if (values.length === 0) {\n return null;\n }\n\n return <div className='d-flex justify-content-between'>{values}</div>;\n }\n\n function getLabel(): string | undefined {\n let {tooltipDataLabelKey, numberToStringFormatter, data} = props,\n label = getValueFromData(tooltipDataLabelKey, data);\n\n if (label == null) {\n return undefined;\n }\n\n if (numberToStringFormatter == null) {\n return String(label);\n }\n\n if (typeof label == 'string') {\n return label;\n }\n\n return numberToStringFormatter(label);\n }\n\n function getValue(): string | undefined {\n let {tooltipDataValueKey, data} = props,\n value = getValueFromData(tooltipDataValueKey, data);\n\n if (value == null) {\n return undefined;\n }\n\n if (typeof value == 'number') {\n return normalizePercentage(value);\n }\n\n return value;\n }\n\n function getTitle(): string | undefined {\n let {tooltipDataTitleKey, data, otherId, otherLabel} = props,\n title = getValueFromData(tooltipDataTitleKey, data);\n\n if (title === otherId) {\n return otherLabel ?? otherId;\n }\n\n return title ? String(title) : undefined;\n }\n\n function getValueFromData(key: string | undefined, data: TooltipData): string | number | undefined {\n return key == null ? undefined : data?.[key];\n }\n\n let className = classnames('statistics-tooltip', props?.className),\n colorRectangle =\n props.color == null ? null : <span className='tooltip-rectangle' style={{background: props.color}} />;\n\n return (\n <div className={className}>\n <div className='d-flex align-items-center'>\n {colorRectangle}\n <span className='text-left'>{getTitle()}</span>\n </div>\n {renderSubtitle()}\n {props.children}\n </div>\n );\n },\n);\n\nStatisticsTooltip.displayName = 'StatisticsTooltip';\n","export * from './StatisticsTooltip';\nexport {getRenderStatisticsTooltip, GetRenderStatisticsTooltipType} from './helpers';\n","import {clone} from '../Utils/Utils';\nimport {sortObjDesc} from './Utils';\n\nexport function createDataWithOtherSlice<T extends Record<string, unknown>>(\n data: T[],\n otherId?: string,\n otherLabel?: string,\n maxSlicesNumber: number = 0,\n total?: number,\n dataValueKey: string = 'value',\n): T[] {\n let otherValue = 0,\n newOtherId: string = otherId ?? 'other',\n // We know it is defined but Typescript does not get it.\n newmaxSlicesNumber: number = maxSlicesNumber ?? 0,\n newData: T[] = [],\n maxToMinData = data?.sort(sortObjDesc(dataValueKey));\n\n maxToMinData?.forEach((node: T, i: number) => {\n if (i < newmaxSlicesNumber && node.id !== otherId) {\n newData.push(createCleanTree<T>(node));\n } else {\n let nodeValue = Number(node?.value) ?? 0;\n otherValue += nodeValue;\n }\n });\n\n let otherNode = {};\n otherNode['id'] = newOtherId;\n otherNode['value'] = parseFloat(otherValue.toFixed(2));\n otherNode['initialValue'] = parseFloat(otherValue.toFixed(2));\n otherNode['label'] = otherLabel ?? newOtherId ?? '';\n\n if (data?.[0]?.percentage != null && total != null) {\n otherNode['percentage'] = (otherValue / total) * 100;\n }\n if (maxSlicesNumber !== Infinity || otherValue !== 0) {\n newData.push(otherNode as T);\n }\n\n return newData;\n}\n\nexport function createCleanTree<A extends Record<string, unknown>>(node: A): A {\n if (node.children == null) {\n return node;\n }\n let newNode = clone(node);\n removeValueIfChildren(newNode);\n return newNode;\n}\n// eslint-disable-next-line @typescript-eslint/ban-types\nfunction removeValueIfChildren<B extends object>(node: B): void {\n let children = (node?.['children'] ?? []) as B[];\n node['initialValue'] = node['value'];\n if (children.length > 0) {\n delete node['value'];\n }\n for (let child of children) {\n removeValueIfChildren(child);\n }\n}\n\nexport function normalizePercentage(value: number): string {\n return `${parseInt(value?.toFixed?.(0), 10)}%`;\n}\n","import {scaleLinear, ScaleLinear} from 'd3-scale';\n\nfunction generateRangeColor(\n len: number,\n rangeColors: string[] = ['#82CA9D', '#f6ea25', '#F7977A'],\n): string[] | undefined {\n const generatedColors = [];\n\n if (len === 0) {\n return undefined;\n }\n\n let colors: ScaleLinear<string, string> = scaleLinear<string, string>(),\n domain = calculateDomain(rangeColors.length, rangeColors.length),\n targetDomain = calculateDomain(len, rangeColors.length);\n\n colors = colors.domain(domain).range(rangeColors);\n for (let i = 0; i < len; i++) {\n generatedColors.push(colors(targetDomain[i]));\n }\n return generatedColors;\n}\n\nexport function calculateDomain(len: number, rangeColorsLength: number): number[] {\n let domain = [];\n domain.push(0);\n for (let i = 0; i < len - 2; i++) {\n let num = Number((rangeColorsLength / len) * (i + 1));\n domain.push(parseFloat(num.toFixed(2)));\n }\n domain.push(rangeColorsLength);\n return domain;\n}\n// Keep these in sync with variables.less\nlet white = '#FFFFFF',\n blue25 = '#eef2f5',\n blue30 = '#CBD8E0',\n blue50 = '#AFD1E0',\n blue80 = '#8FB7CB',\n blue90 = '#94C2DA',\n blue95 = '#6E9DB5',\n blue100 = '#578EA8',\n blue300 = 'rgb(32, 88, 113)', // #205871\n blue400 = '#11455C',\n gray100 = '#FAFAFA',\n gray200 = '#EBEBEB',\n gray300 = '#B0B0B0',\n gray400 = '#717171',\n yellow = '#FFBB00',\n orange = '#F38522',\n red = '#F72200',\n green = '#309B0A',\n purple = '#63619F',\n viola = '#965DA3',\n pink200 = '#C55795',\n pink100 = '#E85778',\n salmon = '#F86752',\n black = '#222222';\n\nexport {\n generateRangeColor,\n white,\n blue25,\n blue30,\n blue50,\n blue80,\n blue90,\n blue95,\n blue100,\n blue300,\n gray200,\n blue400,\n yellow,\n orange,\n red,\n green,\n gray100,\n gray300,\n gray400,\n purple,\n viola,\n pink100,\n pink200,\n salmon,\n black,\n};\n","import {LabelFormatter} from '@nivo/bar';\nimport {DataPoint, Value} from './CommonTypes';\n\nexport function isStringEmpty(s: string | undefined | null): boolean {\n if (s == null) {\n return true;\n }\n\n return s.match(/^\\s*$/) !== null;\n}\n\nexport function slugify(text: string): string {\n const a = 'àáâäæãåāăąçćčđďèéêëēėęěğǵḧîïíīįìłḿñńǹňôöòóœøōõőṕŕřßśšşșťțûüùúūǘůűųẃẍÿýžźż·/_,:;',\n b = 'aaaaaaaaaacccddeeeeeeeegghiiiiiilmnnnnoooooooooprrsssssttuuuuuuuuuwxyyzzz------',\n p = new RegExp(a.split('').join('|'), 'g');\n\n return text\n .toString()\n .toLowerCase()\n .replace(/\\s+/g, '-') // Replace spaces with -\n .replace(p, (c) => b.charAt(a.indexOf(c))) // Replace special characters\n .replace(/&/g, '-and-') // Replace & with 'and'\n .replace(/[^\\w-]+/g, '') // Remove all non-word characters\n .replace(/--+/g, '-') // Replace multiple - with single -\n .replace(/^-+/, '') // Trim - from start of text\n .replace(/-+$/, ''); // Trim - from end of text\n}\n\nexport function estimateWordSize(wordLength: number, letterPixels: number, constant: number): number {\n return wordLength * letterPixels + constant;\n}\n\nexport function ellipse(input: string | null, length: number): string {\n if (input == null) {\n return '';\n }\n\n return input.length > length ? `${input.substr(0, length - 1)}…` : input;\n}\n\nexport function matchAndFormatRangeLabel(formatter: LabelFormatter | undefined): (label: string) => string {\n return (label: string) => {\n const match = /^([\\d*]+)-([\\d*]+)$/.exec(label);\n if (match == null) {\n return label;\n }\n\n return formatRange(\n {\n from: match[1],\n to: match[2],\n },\n formatter ?? ((v: string) => v),\n );\n };\n}\n\nexport function formatRange(item: Pick<DataPoint, 'from' | 'to'>, formatter: LabelFormatter): string {\n const to = item.to === '*' ? '*' : formatter(parseInt(item.to ?? '0', 10)),\n from = formatter(parseInt(item.from ?? '0', 10));\n\n if (from === to) {\n return `${from}`;\n }\n\n return `${from} - ${to}`;\n}\n\nexport function ellipseAndFormat(\n formatter: LabelFormatter | undefined,\n maxLabelLength: number,\n): (value: Value) => string {\n return (value: Value) => {\n const strValue = value.toString();\n\n if (formatter == null) {\n return ellipse(strValue, maxLabelLength);\n }\n\n return ellipse(`${formatter(strValue)}`, maxLabelLength);\n };\n}\n\nexport function escapeRegExp(input: string): string {\n // eslint-disable-next-line\n return input.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&');\n}\n\nexport function isMatching(text0: string, text1: string): boolean {\n if (text0 == null || text1 == null) {\n return false;\n }\n text0 = text0.toLowerCase();\n text1 = text1.toLowerCase();\n\n if (text1.match(' ') === null) {\n return text0.match(escapeRegExp(text1)) !== null;\n }\n\n let splitNeedles = text1\n .split(' ')\n .filter((s: string) => !isStringEmpty(s))\n .sort((a: string, b: string) => b.length - a.length);\n\n for (let needle of splitNeedles) {\n if (text0 === needle) {\n return true;\n }\n }\n\n return false;\n}\n\nexport function splitTextInParts(needles: string, text?: string): string[] {\n if (text == null) {\n return [];\n }\n\n if (needles.match(' ') === null) {\n let re = new RegExp('(' + escapeRegExp(needles) + ')', 'gi');\n\n return text.split(re);\n }\n\n let splitNeedles = needles\n .split(' ')\n .filter((s: string) => !isStringEmpty(s))\n .sort((a: string, b: string) => b.length - a.length),\n ret = [text];\n\n for (let needle of splitNeedles) {\n let re = new RegExp('(' + needle + ')', 'gi');\n for (let index = 0; index < ret.length; index++) {\n let currentText = ret[index];\n\n if (isMatching(currentText, escapeRegExp(needles))) {\n continue;\n }\n\n let newParts = currentText.split(re).filter((s: string) => s !== '');\n ret.splice(index, 1, ...newParts);\n }\n }\n\n return ret;\n}\n","import {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport React from 'react';\nimport {Form} from '../Form/Form';\n\nexport function findChildrenByComponent(\n children: React.ReactNode,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n component: React.ComponentClass | React.FunctionComponent | React.ForwardRefExoticComponent<any>,\n): React.ReactNode[] {\n let ret: React.ReactNode[] = [];\n React.Children.forEach(children, (element: React.ReactElement) => {\n if (element?.type === component) {\n ret.push(element);\n }\n });\n\n return ret;\n}\n\nexport function findChildByComponent(\n children: React.ReactNode,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n component: React.ComponentClass | React.FunctionComponent | React.ForwardRefExoticComponent<any>,\n): React.ReactNode | null {\n return findChildrenByComponent(children, component)?.[0] ?? null;\n}\n\nexport function hasChildIconOrCheckboxComponent(children: React.ReactNode): boolean {\n let ret = false;\n React.Children.forEach(children, (element: React.ReactElement) => {\n if (\n element?.type != null &&\n (element?.type === FontAwesomeIcon || element?.type === 'i' || element?.type === Form.Checkbox)\n ) {\n ret = true;\n return;\n }\n });\n\n return ret;\n}\n\nexport function scrollToTop(): void {\n window.scrollTo(0, 0);\n}\n\nexport function zip<T>(arr1: T[], arr2: T[]): T[] {\n const ret: T[] = [];\n let i: number = 0;\n\n while (arr1[i]) {\n ret.push(arr1[i]);\n ret.push(arr2[i++]);\n }\n\n return ret;\n}\n\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function sortObjDesc<T extends object>(accessor: keyof T): (a: T, b: T) => number {\n return function (a: T, b: T): number {\n let leftVal = 0,\n rightVal = 0;\n if (a?.[accessor] != null) {\n leftVal = a?.[accessor] as unknown as number;\n }\n if (b?.[accessor] != null) {\n rightVal = b?.[accessor] as unknown as number;\n }\n return leftVal > rightVal ? -1 : 1;\n };\n}\n\nexport function clone<T>(ob: T): T {\n return JSON.parse(JSON.stringify(ob));\n}\n\nexport type Debouncer = (f: () => void) => void;\n\nexport function getDebouncer(delay: number = 1): Debouncer {\n let debounceTimeout: number | null = null;\n return function debounce(f: () => void): void {\n if (debounceTimeout !== null) {\n clearTimeout(debounceTimeout);\n }\n debounceTimeout = window.setTimeout(f, delay);\n };\n}\n\nfunction isObject<T>(obj: T): boolean {\n return typeof obj === 'object' && obj != null;\n}\n\nexport function deepEqual<T>(obj1: T, obj2: T): boolean {\n if (obj1 === obj2) {\n return true;\n }\n\n if (isObject(obj1) && isObject(obj2)) {\n if (Object.keys(obj1).length !== Object.keys(obj2).length) {\n return false;\n }\n\n for (let prop in obj1) {\n if (!deepEqual(obj1[prop], obj2[prop])) {\n return false;\n }\n }\n return true;\n }\n\n return false;\n}\n\nfunction componentToHex(c: number): string {\n if (isNaN(c)) {\n throw Error('The color has not been written correctly');\n }\n const hex = c.toString(16).toUpperCase();\n return hex.length === 1 ? '0' + hex : hex;\n}\n\nfunction cleanSingleColor(c: string): string {\n return c.replace(/\"|'/g, '').trim();\n}\n\nexport function rgbToHex(rgb: string): string {\n if (rgb.includes('rgba')) {\n throw Error('not implemented');\n }\n const [r = 0, g = 0, b = 0] = rgb\n .replace('rgb', '')\n .replace(/\\(|\\)/gi, '')\n .split(',')\n .map((c: string) => parseInt(cleanSingleColor(c), 10));\n\n return '#' + componentToHex(r) + componentToHex(g) + componentToHex(b);\n}\n","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n module.exports = _typeof = function _typeof(obj) {\n return typeof obj;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n } else {\n module.exports = _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n }\n\n return _typeof(obj);\n}\n\nmodule.exports = _typeof;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","module.exports = require(\"regenerator-runtime\");\n","function _typeof(obj) { 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 * Return a descriptor removing the value and returning a getter\n * The getter will return a .bind version of the function\n * and memoize the result against a symbol on the instance\n */\nexport function boundMethod(target, key, descriptor) {\n var fn = descriptor.value;\n\n if (typeof fn !== 'function') {\n throw new TypeError(\"@boundMethod decorator can only be applied to methods not: \".concat(_typeof(fn)));\n } // In IE11 calling Object.defineProperty has a side-effect of evaluating the\n // getter for the property which is being replaced. This causes infinite\n // recursion and an \"Out of stack space\" error.\n\n\n var definingProperty = false;\n return {\n configurable: true,\n get: function get() {\n // eslint-disable-next-line no-prototype-builtins\n if (definingProperty || this === target.prototype || this.hasOwnProperty(key) || typeof fn !== 'function') {\n return fn;\n }\n\n var boundFn = fn.bind(this);\n definingProperty = true;\n Object.defineProperty(this, key, {\n configurable: true,\n get: function get() {\n return boundFn;\n },\n set: function set(value) {\n fn = value;\n delete this[key];\n }\n });\n definingProperty = false;\n return boundFn;\n },\n set: function set(value) {\n fn = value;\n }\n };\n}\n/**\n * Use boundMethod to bind all methods on the target.prototype\n */\n\nexport function boundClass(target) {\n // (Using reflect to get all keys including symbols)\n var keys; // Use Reflect if exists\n\n if (typeof Reflect !== 'undefined' && typeof Reflect.ownKeys === 'function') {\n keys = Reflect.ownKeys(target.prototype);\n } else {\n keys = Object.getOwnPropertyNames(target.prototype); // Use symbols if support is provided\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n keys = keys.concat(Object.getOwnPropertySymbols(target.prototype));\n }\n }\n\n keys.forEach(function (key) {\n // Ignore special case target method\n if (key === 'constructor') {\n return;\n }\n\n var descriptor = Object.getOwnPropertyDescriptor(target.prototype, key); // Only methods need binding\n\n if (typeof descriptor.value === 'function') {\n Object.defineProperty(target.prototype, key, boundMethod(target, key, descriptor));\n }\n });\n return target;\n}\nexport default function autobind() {\n if (arguments.length === 1) {\n return boundClass.apply(void 0, arguments);\n }\n\n return boundMethod.apply(void 0, arguments);\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","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 let r0 = Math.round(start / step), r1 = Math.round(stop / step);\n if (r0 * step < start) ++r0;\n if (r1 * step > stop) --r1;\n ticks = new Array(n = r1 - r0 + 1);\n while (++i < n) ticks[i] = (r0 + i) * step;\n } else {\n step = -step;\n let r0 = Math.round(start * step), r1 = Math.round(stop * step);\n if (r0 / step < start) ++r0;\n if (r1 / step > stop) --r1;\n ticks = new Array(n = r1 - r0 + 1);\n while (++i < n) ticks[i] = (r0 + 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 default function(a, b) {\n return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}\n","import ascending from \"./ascending.js\";\n\nexport default function(f) {\n let delta = f;\n let compare = f;\n\n if (f.length === 1) {\n delta = (d, x) => f(d) - x;\n compare = ascendingComparator(f);\n }\n\n function left(a, x, lo, hi) {\n if (lo == null) lo = 0;\n if (hi == null) hi = a.length;\n while (lo < hi) {\n const mid = (lo + hi) >>> 1;\n if (compare(a[mid], x) < 0) lo = mid + 1;\n else hi = mid;\n }\n return lo;\n }\n\n function right(a, x, lo, hi) {\n if (lo == null) lo = 0;\n if (hi == null) hi = a.length;\n while (lo < hi) {\n const 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 function center(a, x, lo, hi) {\n if (lo == null) lo = 0;\n if (hi == null) hi = a.length;\n const i = left(a, x, lo, hi - 1);\n return i > lo && delta(a[i - 1], x) > -delta(a[i], x) ? i - 1 : i;\n }\n\n return {left, center, right};\n}\n\nfunction ascendingComparator(f) {\n return (d, x) => ascending(f(d), x);\n}\n","export default function(x) {\n return x === null ? NaN : +x;\n}\n\nexport function* numbers(values, valueof) {\n if (valueof === undefined) {\n for (let value of values) {\n if (value != null && (value = +value) >= value) {\n yield value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null && (value = +value) >= value) {\n yield value;\n }\n }\n }\n}\n","import ascending from \"./ascending.js\";\nimport bisector from \"./bisector.js\";\nimport number from \"./number.js\";\n\nconst ascendingBisect = bisector(ascending);\nexport const bisectRight = ascendingBisect.right;\nexport const bisectLeft = ascendingBisect.left;\nexport const bisectCenter = bisector(number).center;\nexport default bisectRight;\n","export function basis(t1, v0, v1, v2, v3) {\n var t2 = t1 * t1, t3 = t2 * t1;\n return ((1 - 3 * t1 + 3 * t2 - t3) * v0\n + (4 - 6 * t2 + 3 * t3) * v1\n + (1 + 3 * t1 + 3 * t2 - 3 * t3) * v2\n + t3 * v3) / 6;\n}\n\nexport default function(values) {\n var n = values.length - 1;\n return function(t) {\n var i = t <= 0 ? (t = 0) : t >= 1 ? (t = 1, n - 1) : Math.floor(t * n),\n v1 = values[i],\n v2 = values[i + 1],\n v0 = i > 0 ? values[i - 1] : 2 * v1 - v2,\n v3 = i < n - 1 ? values[i + 2] : 2 * v2 - v1;\n return basis((t - i / n) * n, v0, v1, v2, v3);\n };\n}\n","import {basis} from \"./basis.js\";\n\nexport default function(values) {\n var n = values.length;\n return function(t) {\n var i = Math.floor(((t %= 1) < 0 ? ++t : t) * n),\n v0 = values[(i + n - 1) % n],\n v1 = values[i % n],\n v2 = values[(i + 1) % n],\n v3 = values[(i + 2) % n];\n return basis((t - i / n) * n, v0, v1, v2, v3);\n };\n}\n","export default x => () => x;\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","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","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 {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 constants(x) {\n return function() {\n return x;\n };\n}\n","export default function number(x) {\n return +x;\n}\n","import {bisect} from \"d3-array\";\nimport {interpolate as interpolateValue, interpolateNumber, interpolateRound} from \"d3-interpolate\";\nimport constant from \"./constant.js\";\nimport number from \"./number.js\";\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(a, b) {\n var 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 var n = Math.min(domain.length, range.length);\n if (clamp !== identity) clamp = clamper(domain[0], domain[n - 1]);\n piecewise = n > 2 ? polymap : bimap;\n output = input = null;\n return scale;\n }\n\n function scale(x) {\n return x == null || 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 = Array.from(_, number), rescale()) : domain.slice();\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = Array.from(_), rescale()) : range.slice();\n };\n\n scale.rangeRound = function(_) {\n return range = Array.from(_), interpolate = interpolateRound, rescale();\n };\n\n scale.clamp = function(_) {\n return arguments.length ? (clamp = _ ? true : identity, rescale()) : 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() {\n return transformer()(identity, identity);\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: {\n if (typeof domain === \"function\") this.interpolator(domain);\n else this.range(domain);\n break;\n }\n default: {\n this.domain(domain);\n if (typeof interpolator === \"function\") this.interpolator(interpolator);\n else this.range(interpolator);\n break;\n }\n }\n return this;\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","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","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","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 {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 \"%\": (x, p) => (x * 100).toFixed(p),\n \"b\": (x) => Math.round(x).toString(2),\n \"c\": (x) => x + \"\",\n \"d\": formatDecimal,\n \"e\": (x, p) => x.toExponential(p),\n \"f\": (x, p) => x.toFixed(p),\n \"g\": (x, p) => x.toPrecision(p),\n \"o\": (x) => Math.round(x).toString(8),\n \"p\": (x, p) => formatRounded(x * 100, p),\n \"r\": formatRounded,\n \"s\": formatPrefixAuto,\n \"X\": (x) => Math.round(x).toString(16).toUpperCase(),\n \"x\": (x) => 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 thousands: \",\",\n grouping: [3],\n currency: [\"$\", \"\"]\n});\n\nexport default function defaultLocale(definition) {\n locale = formatLocale(definition);\n format = locale.format;\n formatPrefix = locale.formatPrefix;\n return locale;\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 {tickStep} from \"d3-array\";\nimport {format, formatPrefix, formatSpecifier, precisionFixed, precisionPrefix, precisionRound} from \"d3-format\";\n\nexport default function tickFormat(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 {ticks, tickIncrement} from \"d3-array\";\nimport continuous, {copy} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\nimport tickFormat from \"./tickFormat.js\";\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 var i0 = 0;\n var i1 = d.length - 1;\n var start = d[i0];\n var stop = d[i1];\n var prestep;\n var step;\n var maxIter = 10;\n\n if (stop < start) {\n step = start, start = stop, stop = step;\n step = i0, i0 = i1, i1 = step;\n }\n \n while (maxIter-- > 0) {\n step = tickIncrement(start, stop, count);\n if (step === prestep) {\n d[i0] = start\n d[i1] = stop\n return domain(d);\n } else if (step > 0) {\n start = Math.floor(start / step) * step;\n stop = Math.ceil(stop / step) * step;\n } else if (step < 0) {\n start = Math.ceil(start * step) / step;\n stop = Math.floor(stop * step) / step;\n } else {\n break;\n }\n prestep = step;\n }\n\n return scale;\n };\n\n return scale;\n}\n\nexport default function linear() {\n var scale = continuous();\n\n scale.copy = function() {\n return copy(scale, linear());\n };\n\n initRange.apply(scale, arguments);\n\n return linearish(scale);\n}\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n","module.exports = __WEBPACK_EXTERNAL_MODULE__5692__;","module.exports = __WEBPACK_EXTERNAL_MODULE__3741__;","module.exports = __WEBPACK_EXTERNAL_MODULE__8310__;","module.exports = __WEBPACK_EXTERNAL_MODULE__8156__;","module.exports = __WEBPACK_EXTERNAL_MODULE__8721__;","module.exports = __WEBPACK_EXTERNAL_MODULE__1082__;","module.exports = __WEBPACK_EXTERNAL_MODULE__8763__;","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t3227: 0,\n\t9811: 0,\n\t3813: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkIds[i]] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkatoka_design_system\"] = self[\"webpackChunkatoka_design_system\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [3813], () => (__webpack_require__(2174)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n",""],"names":["_typeof","obj","Symbol","iterator","module","exports","__esModule","constructor","prototype","require","boundMethod","target","key","descriptor","fn","value","TypeError","concat","definingProperty","configurable","get","hasOwnProperty","boundFn","bind","Object","defineProperty","set","boundClass","keys","Reflect","ownKeys","getOwnPropertyNames","getOwnPropertySymbols","forEach","getOwnPropertyDescriptor","autobind","arguments","length","apply","factory","extend","parent","definition","create","define","Color","darker","brighter","reI","reN","reP","reHex","reRgbInteger","RegExp","reRgbPercent","reRgbaInteger","reRgbaPercent","reHslPercent","reHslaPercent","named","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","color","copy","channels","assign","displayable","rgb","hex","color_formatHex","formatHex","formatHsl","color_formatHsl","formatRgb","color_formatRgb","toString","hslConvert","format","m","l","trim","toLowerCase","exec","parseInt","rgbn","Rgb","rgba","hsla","NaN","n","r","g","b","a","rgbConvert","o","opacity","k","Math","pow","rgb_formatHex","rgb_formatRgb","isNaN","max","min","round","h","s","Hsl","hsl","m2","m1","hsl2rgb","e10","sqrt","e5","e2","start","stop","count","reverse","i","ticks","step","tickIncrement","isFinite","r0","r1","Array","power","floor","log","LN10","error","tickStep","step0","abs","step1","ascending","f","delta","compare","d","x","ascendingComparator","left","lo","hi","mid","right","center","numbers","values","valueof","undefined","index","bisector","number","ascendingBisect","bisectRight","bisectLeft","bisectCenter","basis","t1","v0","v1","v2","v3","t2","t3","t","constant","linear","exponential","y","hue","gamma","nogamma","colorRgb","basisClosed","rgbGamma","end","rgbSpline","spline","colors","rgbBasis","rgbBasisClosed","numberArray","isNumberArray","genericArray","nb","na","c","Date","setTime","reA","reB","source","zero","one","bi","lastIndex","am","bm","bs","q","slice","push","join","ArrayBuffer","isView","DataView","date","object","string","isArray","valueOf","constants","bisect","interpolate","interpolateValue","interpolateNumber","interpolateRound","unit","identity","normalize","clamper","bimap","domain","range","d0","d1","polymap","j","clamp","unknown","transformer","transform","untransform","piecewise","output","input","rescale","scale","map","invert","_","from","rangeRound","u","continuous","initRange","initInterpolator","interpolator","re","formatSpecifier","specifier","match","Error","FormatSpecifier","fill","align","sign","symbol","width","comma","precision","type","toLocaleString","replace","formatDecimalParts","p","toExponential","indexOf","coefficient","exponent","grouping","thousands","substring","numerals","out","i0","i1","prefixExponent","formatDecimal","formatPrefixAuto","formatRounded","toFixed","toPrecision","toUpperCase","formatGroup","formatNumerals","formatTrim","formatTypes","prefixes","locale","group","call","Number","currencyPrefix","currency","currencySuffix","decimal","String","percent","minus","nan","newFormat","prefix","test","suffix","formatType","maybeSuffix","valuePrefix","valueSuffix","valueNegative","charCodeAt","Infinity","padding","formatPrefix","e","formatLocale","defaultLocale","precisionFixed","precisionPrefix","precisionRound","tickFormat","linearish","nice","prestep","maxIter","ceil","runtime","Op","hasOwn","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","enumerable","writable","err","wrap","innerFn","outerFn","self","tryLocsList","protoGenerator","Generator","generator","context","Context","_invoke","makeInvokeMethod","tryCatch","arg","GenStateSuspendedStart","GenStateSuspendedYield","GenStateExecuting","GenStateCompleted","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","Gp","displayName","defineIteratorMethods","method","isGeneratorFunction","genFun","ctor","name","mark","setPrototypeOf","__proto__","awrap","__await","AsyncIterator","PromiseImpl","invoke","resolve","reject","record","result","then","unwrapped","previousPromise","enqueue","callInvokeWithMethodAndArg","async","Promise","iter","next","done","state","doneResult","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","info","resultName","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","pop","iterable","iteratorMethod","skipTempReset","prev","charAt","rootEntry","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","Function"],"sourceRoot":""}