intelicoreact 2.0.7 → 2.0.9

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 (77) hide show
  1. package/charts/package.json +5 -0
  2. package/dist/Atomic/FormElements/Dropdown/components/DropdownLoader.d.ts +1 -1
  3. package/dist/Atomic/FormElements/FormattedRawSSN/FormattedRawSSN_old.d.ts +7 -7
  4. package/dist/Atomic/FormElements/Input/Input.d.ts +1 -1
  5. package/dist/Atomic/FormElements/Input/types.d.ts +0 -5
  6. package/dist/Atomic/FormElements/InputMask3/InputMask3.interface.d.ts +0 -3
  7. package/dist/Atomic/FormElements/NumericInput/NumericInput.d.ts +15 -15
  8. package/dist/Atomic/FormElements/RangeSlider/RangeSlider.d.ts +11 -11
  9. package/dist/Atomic/FormElements/TagListToDropdown/TagListToDropdown.interface.d.ts +1 -1
  10. package/dist/Atomic/FormElements/TagsDropdown/TagsDropdown.interface.d.ts +4 -4
  11. package/dist/Atomic/FormElements/VariantsListRadio/VariantsListRadio.d.ts +2 -2
  12. package/dist/Atomic/FormElements/VariantsListRadio/partials/VariantsListRadioItem.d.ts +4 -4
  13. package/dist/Atomic/UI/AccordionTable/AccordionTable.d.ts +1 -1
  14. package/dist/Atomic/UI/AccordionText/AccordionText.d.ts +4 -4
  15. package/dist/Atomic/UI/Alert/Alert.interface.d.ts +0 -2
  16. package/dist/Atomic/UI/CircleProgressBar/CircleProgressBar.d.ts +4 -4
  17. package/dist/Atomic/UI/ExampleChartIntegration/partial/utils.d.ts +1 -1
  18. package/dist/Atomic/UI/MonoAccordion/MonoAccordion.d.ts +2 -2
  19. package/dist/Atomic/UI/PieChart/PieChart.d.ts +3 -3
  20. package/dist/Atomic/UI/Table/Partials/TdHeader.d.ts +1 -1
  21. package/dist/Atomic/UI/Table/Partials/TdRow.d.ts +1 -1
  22. package/dist/Atomic/UI/Table/Table.d.ts +1 -1
  23. package/dist/Classes/AbortableFetch.d.ts +17 -17
  24. package/dist/Classes/RESTAPI/index.d.ts +1 -1
  25. package/dist/Classes/RESTAPI/partials/AbortableFetch.d.ts +17 -17
  26. package/dist/Classes/RESTAPI/partials/CredentialsProcessing.d.ts +4 -4
  27. package/dist/Functions/hooks/useFormFieldsChangesManager.d.ts +2 -2
  28. package/dist/Functions/sdk/runtime-sdk/transport.d.ts +2 -2
  29. package/dist/Functions/useFieldFocus.d.ts +2 -2
  30. package/dist/Functions/useFormTools/form-drivers/ArrayWithObjects.d.ts +1 -1
  31. package/dist/Functions/useFormTools/form-drivers/ObjectWithIterableObjects.d.ts +1 -1
  32. package/dist/Functions/useFormTools/form-drivers/ObjectWithNamedKeyObjects.d.ts +2 -2
  33. package/dist/Functions/useFormTools/functions/General.d.ts +3 -3
  34. package/dist/Functions/useFormTools/functions/RenderFields.d.ts +5 -5
  35. package/dist/Functions/useFormTools/index.d.ts +20 -20
  36. package/dist/Functions/useMetaInfo.d.ts +2 -2
  37. package/dist/Functions/usePasswordChecker.d.ts +1 -1
  38. package/dist/Functions/utils.d.ts +11 -11
  39. package/dist/charts.cjs +927 -0
  40. package/dist/charts.cjs.map +7 -0
  41. package/dist/charts.d.ts +7 -0
  42. package/dist/charts.js +911 -0
  43. package/dist/charts.js.map +7 -0
  44. package/dist/form.cjs +1498 -1933
  45. package/dist/form.cjs.map +4 -4
  46. package/dist/form.js +1114 -1549
  47. package/dist/form.js.map +4 -4
  48. package/dist/hooks.cjs +8 -324
  49. package/dist/hooks.cjs.map +4 -4
  50. package/dist/hooks.js +8 -324
  51. package/dist/hooks.js.map +4 -4
  52. package/dist/index.cjs +2507 -9293
  53. package/dist/index.cjs.map +4 -4
  54. package/dist/index.js +2059 -8861
  55. package/dist/index.js.map +4 -4
  56. package/dist/layout.cjs +207 -6308
  57. package/dist/layout.cjs.map +4 -4
  58. package/dist/layout.js +202 -6303
  59. package/dist/layout.js.map +4 -4
  60. package/dist/presets.cjs +0 -643
  61. package/dist/presets.cjs.map +4 -4
  62. package/dist/presets.js +0 -633
  63. package/dist/presets.js.map +4 -4
  64. package/dist/ui.cjs +711 -7854
  65. package/dist/ui.cjs.map +4 -4
  66. package/dist/ui.d.ts +0 -5
  67. package/dist/ui.js +722 -7881
  68. package/dist/ui.js.map +4 -4
  69. package/dist/utils.cjs +4 -51
  70. package/dist/utils.cjs.map +3 -3
  71. package/dist/utils.js +4 -51
  72. package/dist/utils.js.map +3 -3
  73. package/package.json +19 -3
  74. package/styles.css +1 -0
  75. package/dist/Atomic/UI/DynamicIcon/DynamicIcon.d.ts +0 -4
  76. package/dist/Atomic/UI/DynamicIcon/DynamicIcon.interface.d.ts +0 -6
  77. package/dist/Atomic/UI/DynamicIcon/index.d.ts +0 -3
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/charts.ts", "../src/Atomic/UI/Chart/Chart.tsx", "../src/Functions/utils.js", "../src/Atomic/UI/Chart/partial/Chart.constants.js", "../src/Atomic/UI/Chart/partial/ChartTypeSwitcherIcon/ChartTypeSwitcherIcon.tsx", "../src/Atomic/UI/Chart/partial/datasetSetters.js", "../src/Atomic/UI/Chart/partial/optionsSetters.js", "../src/Atomic/UI/Chart/partial/optionsConstructor.js", "../src/Atomic/UI/Chart/partial/utils.ts", "../src/Atomic/UI/Chart/index.ts", "../src/Atomic/UI/PieChart/PieChart.js"],
4
+ "sourcesContent": ["/**\n * IntelicoKit \u2014 Public subpath: \"intelicokit/charts\"\n * Chart components that depend on chart.js / react-chartjs-2.\n */\n\nexport { default as Chart } from './Atomic/UI/Chart/index';\nexport * from './Atomic/UI/Chart/index';\nexport { default as PieChart } from './Atomic/UI/PieChart/PieChart';", "import type { IChartProps, INotLibraryOptions } from './Chart.interface';\n\nimport {\n BarElement,\n CategoryScale,\n Chart as ChartJS,\n Filler,\n LinearScale,\n LineElement,\n PointElement,\n Tooltip,\n} from 'chart.js';\n\nimport cn from 'classnames';\nimport React, {\n useCallback,\n useEffect,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\n\nimport * as ChartComponents from 'react-chartjs-2';\n\nimport { clone } from '../../../Functions/utils';\nimport {\n COMPONENT_OPTIONS,\n DEFAULT_CHART_MODEL,\n ICON_MODELS,\n} from './partial/Chart.constants';\nimport ChartTypeSwitcherIcon from './partial/ChartTypeSwitcherIcon/ChartTypeSwitcherIcon';\n\nimport {\n correctModelKey,\n getChartTypeKey,\n getNotLibraryOptionsOptions,\n getOptions,\n prepareData,\n} from './partial/utils';\n\nimport './Chart.scss';\n\ntype ChartComponentType = React.ComponentType<any>;\n\nconst RC = 'chart';\n\nChartJS.register(\n CategoryScale,\n LinearScale,\n BarElement,\n PointElement,\n LineElement,\n Filler,\n Tooltip,\n);\n\nconst Chart: React.FC<IChartProps> = ({\n className,\n initialModel,\n modelsForSwitch,\n setModelExternalValue,\n description,\n customOptions,\n data,\n addToDatasets,\n modifyOptions,\n}) => {\n const { label, value } = description || {};\n\n const [model, setModel] = useState<string>(DEFAULT_CHART_MODEL);\n const [localData, setLocalData] = useState<any>();\n const chartRef = useRef<ChartJS | null>(null);\n const charContainertRef = useRef<HTMLDivElement>(null);\n\n const options = useMemo(\n () =>\n customOptions\n || (modifyOptions ? modifyOptions(getOptions(model)) : getOptions(model)),\n [customOptions, model, modifyOptions?.toString?.(), data],\n );\n\n const notLibraryOptionsOptions = useMemo(\n () =>\n customOptions\n ? customOptions?.notLibraryOptions\n : getNotLibraryOptionsOptions(model),\n [customOptions, model, data],\n );\n\n const ChartComponent = useCallback(\n (props: any) => {\n const chartType = getChartTypeKey(model);\n const Component = ChartComponents[chartType as keyof typeof ChartComponents] as ChartComponentType;\n\n return React.createElement(Component, { ...props, ref: chartRef });\n },\n [model],\n );\n\n const isExcludeDescription\n = COMPONENT_OPTIONS.disableDescriptionsFor.includes(model);\n const isExcludeChartTypeSwitcher\n = COMPONENT_OPTIONS.disableChartTypeSwitcherFor.includes(model);\n\n useLayoutEffect(() => {\n if (setModelExternalValue && model !== 'emptyLayout')\n setModelExternalValue(model);\n }, [model]);\n\n useLayoutEffect(() => {\n const { setCanvasDimensions } = notLibraryOptionsOptions as INotLibraryOptions || {};\n if (charContainertRef.current) {\n charContainertRef.current.style.width = setCanvasDimensions?.width ?? '';\n charContainertRef.current.style.height\n = setCanvasDimensions?.height ?? '';\n }\n }, [notLibraryOptionsOptions]);\n\n useEffect(() => {\n setModel(correctModelKey(initialModel));\n }, [initialModel]);\n\n useEffect(() => {\n if (data) {\n setLocalData(\n prepareData(model, clone(data), chartRef.current, addToDatasets),\n );\n }\n }, [model, data]);\n\n if (!data || !localData) return null;\n\n return (\n <div\n className={cn(\n RC,\n { [`${RC}_icon-mode`]: ICON_MODELS.includes(model) },\n className,\n )}\n >\n <div\n className={cn(`${RC}__header`, {\n [`${RC}__header_only-switcher`]: !description,\n })}\n >\n {description && !isExcludeDescription\n ? (\n <div className={cn(`${RC}__description`)}>\n {label\n ? (\n <span className={cn(`${RC}__description-title`)}>{label}</span>\n )\n : null}\n\n {value\n ? (\n <div className={cn(`${RC}__description-value`)}>{value}</div>\n )\n : null}\n </div>\n )\n : null}\n\n {!isExcludeChartTypeSwitcher\n ? (\n <div className={cn(`${RC}__type-switcher`)}>\n <ChartTypeSwitcherIcon\n iconType=\"Bar\"\n isActive={getChartTypeKey(model) === 'Bar'}\n onClick={() => setModel(modelsForSwitch?.[0] || 'barLayout')}\n />\n <ChartTypeSwitcherIcon\n iconType=\"Line\"\n isActive={getChartTypeKey(model) === 'Line'}\n onClick={() => setModel(modelsForSwitch?.[1] || 'lineLayout')}\n />\n </div>\n )\n : null}\n </div>\n\n <div ref={charContainertRef} className={cn(`${RC}__chart-wrapper`)}>\n <ChartComponent {...options} data={localData} />\n </div>\n </div>\n );\n};\n\nexport default Chart;\n", "import { useEffect } from \"react\";\n\nimport moment from \"moment-timezone\";\n\nimport { DEFAULT_COLORS, OS } from \"../Constants/index.constants\";\n\nexport const uuid = () => Date.now().toString(36) + Math.random().toString(36).substring(2);\n\nexport const getIsOnlyAnObject = (input) => {\n return (\n typeof input === \"object\" && // \"\u043E\u0442\u0431\u0438\u0432\u0430\u0435\u0442\" \u043F\u0440\u0438\u043C\u0438\u0442\u0438\u0432\u044B \u0438 \u0444\u0443\u043D\u043A\u0446\u0438\u0438\n input instanceof Object && // \"\u043E\u0442\u0431\u0438\u0432\u0430\u0435\u0442\" null\n !Array.isArray(input) && // \"\u043E\u0442\u0431\u0438\u0432\u0430\u0435\u0442\" \u043C\u0430\u0441\u0441\u0438\u0432\u044B\n !(input instanceof Set) && // \"\u043E\u0442\u0431\u0438\u0432\u0430\u0435\u0442\" \u0441\u0435\u0442\u044B\n !(input instanceof Map) // \"\u043E\u0442\u0431\u0438\u0432\u0430\u0435\u0442\" \u043C\u0430\u043F\u044B\n );\n};\n\n/* eslint-disable guard-for-in, no-unused-vars */\nexport const handleObjectChange =\n (updateObject, updateFunction) =>\n (data, prop = \"\", isNumber) => {\n let value;\n if (data?.target) {\n value =\n data.target.type === \"checkbox\"\n ? data.target.checked\n : data.target.value;\n } else value = data;\n\n value = isNumber ? Number(value) : value;\n\n const props = prop.split(\".\");\n const currentObject = props.reduce((res, chapter, index) => {\n if (props.length !== index + 1) res = res[chapter];\n return res;\n }, updateObject);\n\n currentObject[props.pop()] = value;\n updateFunction();\n };\n\nexport const useOutsideToggle = (ref, setOut, open) => {\n function handleClickOutside(event) {\n if (ref.current && !ref.current.contains(event.target)) {\n setOut(open);\n }\n }\n useEffect(() => {\n document.addEventListener(\"mouseup\", handleClickOutside);\n return () => {\n // Unbind the event listener on clean up\n document.removeEventListener(\"mouseup\", handleClickOutside);\n };\n }, [ref]);\n};\n\n// export const clone = obj => {\n// const data = obj instanceof Array ? [] : {};\n// for (const i in obj) data[i] = typeof obj[i] === 'object' && obj[i] != null ? clone(obj[i]) : obj[i];\n// return data;\n// };\n// ! \u042D\u0442\u043E\u0442 \u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0435\u0435\nexport const clone = (input) => {\n if (input === null || typeof input !== \"object\") return input;\n const data = input instanceof Array ? [] : {};\n for (const i in input) data[i] = clone(input[i]);\n return data;\n};\n\nexport const getResponseClone = async (res) =>\n await (typeof res?.clone === \"function\" ? res.clone() : clone(res));\n\n//TimeUtils\nexport function transformUTCTimeToLocal(date, format = \"YYYY-MM-DD HH:mm:ss\") {\n if (!date) return;\n const utcDate = moment.utc(date).toDate();\n return moment(utcDate, format).local().format(format);\n}\nexport function transformLocalTimeToUTC(date, format = \"YYYY-MM-DD HH:mm:ss\") {\n if (!date) return;\n return moment(date, format).utc().format(format);\n}\nexport function transformUTCHoursToLocal(time, format = \"HH:mm:ss\") {\n if (!time) return;\n const splitedTime = time.split(\":\");\n const offset = moment().utcOffset();\n let HH = Number(splitedTime[0]);\n let mm = Number(splitedTime[1]);\n const ss = splitedTime[2];\n mm = mm + offset;\n while (mm > 59) {\n mm -= 60;\n HH += 1;\n }\n if (HH > 23) HH -= 24;\n while (mm < 0) {\n mm += 60;\n HH -= 1;\n }\n if (HH < 0) HH += 24;\n return `${HH}:${mm}:${ss}`;\n}\n\n//? \u041D\u0430\u043C\u0435\u0440\u044F\u043D\u043D\u043E \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435\u043C \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E \u043D\u0430\u0437\u043D\u0430\u0447\u0430\u044E \u0441\u0430\u043C\u044B\u0439 \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u043E\u043D\u043D\u043E-\u043C\u0430\u043B\u0435\u043D\u044C\u043A\u0438\u0439 \u043F\u0430\u0442\u0442\u0435\u0440\u043D\nexport function transformDateOrTimeOrTogetherToFormat(\n data,\n outputFormat = \"HH:mm\",\n additional,\n) {\n const ERROR_VALUE = \"Invalid date\";\n const ERROR_MESSGE = `Invalid input data for ${outputFormat} format`;\n const { parseFormat, isReturnAsMomentInstance } = getIsOnlyAnObject(\n additional,\n )\n ? additional\n : {};\n\n if (typeof data !== \"string\" && typeof data !== \"number\") {\n return isReturnAsMomentInstance ? moment(\"error\") : ERROR_MESSGE;\n }\n\n //? \u0418\u0433\u043D\u043E\u0440\u0438\u0440\u0443\u0435\u043C parseFormat, \u0435\u0441\u043B\u0438 data \u043F\u0440\u0438\u0448\u043B\u0430 \u043A\u0430\u043A timestamp \u0438\u043B\u0438 \u0435\u0441\u043B\u0438 parseFormat \u043D\u0435 \u0441\u0442\u0440\u043E\u043A\u0430\n const momentArgs = [\n data,\n ...(!Number.isNaN(Number(data)) || typeof parseFormat === \"string\"\n ? []\n : [parseFormat]),\n ];\n\n //? \u0417\u0430\u0434\u0430\u0447\u0430 \u043F\u043E\u043B\u0443\u0447\u0438\u0442\u044C moment-\u044D\u043A\u0437\u0435\u043C\u043F\u043B\u044F\u0440, \u0432\u0430\u043B\u0438\u0434\u043D\u044B\u0439 \u043B\u0438\u0431\u043E \u043D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u044B\u0439\n const momentInstance = (() => {\n let instance = moment(...momentArgs);\n\n //? \u041F\u0440\u043E\u0432\u0435\u0440\u044F\u0435\u043C \u0432\u0430\u043B\u0438\u0434\u043D\u043E\u0441\u0442\u044C moment-\u044D\u043A\u0437\u0435\u043C\u043F\u043B\u044F\u0440-\u0430 \u043F\u0443\u0442\u0435\u043C \u043F\u043E\u043F\u044B\u0442\u043A\u0438 \u043F\u0440\u0438\u0432\u0435\u0441\u0442\u0438 \u0435\u0433\u043E \u043A \u0432\u044B\u0445\u043E\u0434\u043D\u043E\u043C\u0443 \u0444\u043E\u0440\u043C\u0430\u0442\u0443\n //? \u041F\u043E\u043F\u0430\u0434\u0435\u043C \u0432 \u044D\u0442\u043E\u0442 \u043A\u0435\u0439\u0441 \u0435\u0441\u043B\u0438\n //? - data \u044D\u0442\u043E timestamp\n //? - data \u044D\u0442\u043E \u0441\u0442\u0440\u043E\u043A\u0430 \u0432 \u0444\u043E\u0440\u043C\u0430\u0442\u0435 date-time\n //? - data \u044D\u0442\u043E \u0441\u0442\u0440\u043E\u043A\u0430 \u0432 \u0444\u043E\u0440\u043C\u0430\u0442\u0435 date (\u0432 \u044D\u0442\u043E\u043C \u0441\u043B\u0443\u0447\u0430\u0435 \u0432\u0440\u0435\u043C\u044F \u0432\u044B\u0441\u0442\u0430\u0432\u0438\u0442\u0441\u044F 00:00:00)\n if (instance.format(outputFormat) !== ERROR_VALUE) return instance;\n //? \u0415\u0441\u043B\u0438 \u0436\u0435 \u043F\u0440\u0438\u0432\u0435\u0434\u0435\u043D\u0438\u0435 \u043D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C, \u0442\u043E \u043F\u0440\u0435\u0434\u043F\u043E\u043B\u0430\u0433\u0430\u0435\u043C, \u0447\u0442\u043E data \u043F\u0440\u0438\u0448\u043B\u0430 \u0432 \u0444\u043E\u0440\u043C\u0430\u0442\u0435 time\n //? \u0412 \u044D\u0442\u043E\u043C \u0441\u043B\u0443\u0447\u0430\u0435 \u0441\u043E\u0437\u0434\u0430\u0434\u0438\u043C \u043E\u0431\u044A\u0435\u043A\u0442 \u043E\u0442 \u0442\u0435\u043A\u0443\u0449\u0435\u0439 \u0434\u0430\u0442\u044B, \u0440\u0430\u0441\u043F\u0430\u0440\u0441\u0438\u043C data \u0438 \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u043C \u0432\u0440\u0435\u043C\u044F\n //? \u041A\u043E\u0440\u0440\u0435\u043A\u0442\u043D\u043E \u043E\u0431\u0440\u0430\u0431\u043E\u0442\u0430\u044E\u0442\u0441\u044F \u043F\u0430\u0442\u0442\u0435\u0440\u043D\u044B: 'HH*mm', 'HH*mm*ss', 'HH*mm*ss*\u043B\u044E\u0431\u043E\u0435_\u043A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E_ms', \u0433\u0434\u0435 * - \u043B\u044E\u0431\u043E\u0439 \u0440\u0430\u0437\u0434\u0435\u043B\u0438\u0442\u0435\u043B\u044C\n else if (/^\\d\\d.\\d\\d/.test(data)) {\n instance = moment();\n const symbols = data.split(\"\");\n\n const timeArr = symbols\n .reduce(\n (acc, symbol, idx) => {\n if (Number.isNaN(Number(symbol))) {\n if (acc.group) acc.result.push(acc.group);\n acc.group = \"\";\n } else acc.group = `${acc.group}${symbol}`;\n if (idx === symbols.length - 1 && acc.group)\n acc.result.push(acc.group);\n return acc;\n },\n { result: [], group: \"\" },\n )\n //? reverse \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442\u0441\u044F \u0438\u0441\u043A\u043B\u044E\u0447\u0438\u0442\u0435\u043B\u044C\u043D\u043E \u0434\u043B\u044F \u0442\u043E\u0433\u043E, \u0447\u0442\u043E\u0431\u044B \u043F\u043E\u0441\u043B\u0435 \u043C\u043E\u0436\u043D\u043E \u0431\u044B\u043B\u043E \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u043C\u0435\u0442\u043E\u0434 pop, \u0430 \u043D\u0435 shift,\n //? \u0442.\u043A. \u043C\u0435\u0442\u043E\u0434\u044B \u0434\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u0438\u044F/\u0438\u0437\u0432\u043B\u0435\u0447\u0435\u043D\u0438\u044F \u043E\u0442\u043D\u043E\u0441\u0438\u0442\u0435\u043B\u044C\u043D\u043E \u043A\u043E\u043D\u0446\u0430 \u043C\u0430\u0441\u0441\u0438\u0432\u0430 \u0440\u0430\u0431\u043E\u0442\u0430\u044E\u0442 \u0431\u044B\u0441\u0442\u0440\u0435\u0435,\n //? \u0447\u0435\u043C \u0430\u043D\u0430\u043B\u043E\u0433\u0438\u0447\u043D\u044B\u0435 \u043E\u0442\u043D\u043E\u0441\u0438\u0442\u0435\u043B\u044C\u043D\u043E \u043D\u0430\u0447\u0430\u043B\u0430 \u043C\u0430\u0441\u0441\u0438\u0432\u0430\n .result.reverse();\n\n instance.hours(Number(timeArr.pop()));\n instance.minutes(Number(timeArr.pop()));\n instance.seconds(timeArr.length ? Number(timeArr.pop()) : 0);\n instance.milliseconds(timeArr.length ? Number(timeArr.pop()) : 0);\n } else instance = moment(\"error\"); //? \u0418\u043D\u0430\u0447\u0435 \u0441\u043E\u0437\u0434\u0430\u0435\u043C \u0437\u0430\u0432\u0435\u0434\u043E\u043C\u043E \u043D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u044B\u0439 moment-\u044D\u043A\u0437\u0435\u043C\u043F\u043B\u044F\u0440\n\n return instance;\n })();\n\n if (isReturnAsMomentInstance) return momentInstance;\n\n const output = momentInstance.format(outputFormat);\n return output === ERROR_VALUE ? ERROR_MESSGE : output;\n}\n\n//? \u041D\u0430\u043C\u0435\u0440\u044F\u043D\u043D\u043E \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435\u043C \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E \u043D\u0430\u0437\u043D\u0430\u0447\u0430\u044E \u0441\u0430\u043C\u044B\u0439 \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u043E\u043D\u043D\u043E-\u043C\u0430\u043B\u0435\u043D\u044C\u043A\u0438\u0439 \u043F\u0430\u0442\u0442\u0435\u0440\u043D\nexport function transformDateOrTimeOrTogetherToFormattedLocal(\n data,\n outputFormat = \"HH:mm\",\n additional,\n) {\n const ERROR_VALUE = \"Invalid date\";\n const ERROR_MESSGE = `Invalid input data for ${outputFormat} format`;\n\n if (additional && !getIsOnlyAnObject(additional)) {\n throw new Error(\n \"Bad additional [transformDateOrTimeOrTogetherToFormattedLocal]\",\n );\n }\n\n const compositeAdditional = {\n ...(additional || {}),\n isReturnAsMomentInstance: true,\n };\n const date = transformDateOrTimeOrTogetherToFormat(\n data,\n outputFormat,\n compositeAdditional,\n );\n\n const dateWithLocale = date.add(moment().utcOffset(), \"minutes\");\n const output = dateWithLocale.format(outputFormat);\n\n return output === ERROR_VALUE ? ERROR_MESSGE : output;\n}\n\n//\u043F\u0440\u0438\u043D\u0438\u043C\u0430\u0435\u0442 \u043E\u0431\u044C\u0435\u043A\u0442 \u0438 \u043C\u0430\u0441\u0441\u0438\u0432 \u043A\u043B\u044E\u0447\u0435\u0439 \u043E\u0431\u044C\u0435\u043A\u0442\u0430\n//\u0432\u043E\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043E\u0431\u044C\u0435\u043A\u0442 \u0441 \u0442\u0435\u043C\u0438 \u043F\u043E\u043B\u044F\u043C\u0438, \u043A\u043E\u0442\u043E\u0440\u044B\u0445 \u043D\u0435\u0442 \u0432 \u043C\u0430\u0441\u0441\u0438\u0432\u0435 \u043A\u043B\u044E\u0447\u0435\u0439\nexport const omitKeys = (obj = {}, keys = []) =>\n keys.reduce((acc, key) => {\n const { [key]: omit, ...rest } = acc;\n return rest;\n }, obj);\n\nexport const logout = () => {\n window.localStorage.removeItem(\"accessToken\");\n window.localStorage.removeItem(\"tokenExpires\");\n window.location.reload();\n};\n\nexport const getStyles = (el, prop) => {\n if (!el) return null;\n if (!prop) return window.getComputedStyle(el);\n return window.getComputedStyle(el).getPropertyValue(prop);\n};\n\nexport const getColorById = (id, colors) => {\n if (!id) return \"#FF7D00\";\n\n const idToArr = Array.from(id);\n const colorsArr = colors && colors.length > 0 ? colors : DEFAULT_COLORS;\n\n let number = idToArr.reduce((acc, item) => {\n if (Number(item)) {\n return acc + Number(item);\n }\n return acc;\n }, 0);\n\n while (number >= colorsArr.length) {\n number -= colorsArr.length;\n }\n\n return colorsArr[number];\n};\n\nexport const debounce = (fn, ms) => {\n let id = null;\n return (...args) => {\n clearTimeout(id);\n id = setTimeout(() => {\n clearTimeout(id);\n fn(...args);\n }, ms);\n };\n};\n\nexport const throttle = (fn, ms) => {\n let id = null;\n return (...args) => {\n if (id) return;\n fn(...args);\n id = setTimeout(() => {\n clearTimeout(id);\n id = null;\n }, ms);\n };\n};\n\nexport const addBitDepthPoints = (value, step = 3) => {\n //\u0441\u043E\u0434\u0435\u0440\u0436\u0438\u0442 \u043B\u0438 value \u0442\u043E\u0447\u043A\u0443\n const isFraction = value?.includes(\".\");\n\n //\u0432\u0437\u044F\u0442\u044C \u0441\u0442\u0440\u043E\u043A\u0443 \u0434\u043E \u0442\u043E\u0447\u043A\u0438\n const valueBeforeDot = isFraction\n ? value?.slice(0, value?.indexOf(\".\"))\n : value;\n\n //\u0440\u0430\u0441\u0441\u0442\u0430\u043D\u043E\u0432\u043A\u0430 \u0437\u0430\u043F\u044F\u0442\u044B\u0445 \u043F\u043E\u0441\u043B\u0435 \u043A\u0430\u0436\u0434\u043E\u0439 3\u0439 \u0446\u0438\u0444\u0440\u044B \u0441 \u043A\u043E\u043D\u0446\u0430\n const intPart = valueBeforeDot\n .split(\"\")\n .reverse()\n .reduce(\n (acc, item, idx) =>\n idx % step === 0 && idx !== 0 ? [...acc, \",\", item] : [...acc, item],\n [],\n )\n .reverse()\n .join(\"\");\n\n return isFraction ? intPart + value?.slice(value?.indexOf(\".\")) : intPart;\n};\n\nexport const changeMeta = (key, items = []) => {\n const defaultMeta = items.find((i) => i.key === \"default\");\n\n if (key) {\n const item = items.find((i) => i.key === key);\n document.title = item?.title ?? defaultMeta?.title;\n document\n .querySelector('meta[name=\"description\"]')\n .setAttribute(\"content\", item?.description ?? defaultMeta?.description);\n }\n};\n\nexport const firstLetterCapital = (str) =>\n typeof str === \"string\"\n ? `${str.charAt(0).toUpperCase()}${str.slice(1)}`\n : str;\nexport const capitalized = firstLetterCapital;\n\nexport const checkedRef = (ref) =>\n ref ? (typeof ref === \"function\" ? (node) => ref(node) : ref) : null;\n\nexport function downloadEmulation(data, filename, type = \"image/*\") {\n const file = new Blob([data], { type });\n if (window.navigator.msSaveOrOpenBlob)\n // IE10+\n window.navigator.msSaveOrOpenBlob(file, filename);\n else {\n // Others\n const a = document.createElement(\"a\"),\n url = URL.createObjectURL(file);\n a.href = url;\n a.download = filename;\n document.body.appendChild(a);\n a.click();\n setTimeout(() => {\n document.body.removeChild(a);\n window.URL.revokeObjectURL(url);\n }, 0);\n }\n}\n\nexport const downloadFile = async ({ url, name, type = null }) => {\n const response = await fetch(url).then(async (res) => ({\n data: await res.blob(),\n type: type ?? res.headers.get(\"content-type\"),\n }));\n downloadEmulation(response.data, name, response.type);\n};\n\nexport const compare = (first, second, keys = []) => {\n //? \u0415\u0441\u043B\u0438 \u0442\u0438\u043F\u044B \u041D\u0415 \u0440\u0430\u0432\u043D\u044B - \u043D\u0435 \u0440\u0430\u0432\u043D\u044B \u0430\u043F\u0440\u0438\u043E\u0440\u0438\n if (typeof first !== typeof second) return false;\n //? \u0415\u0441\u043B\u0438 \u043E\u0442\u0432\u0435\u0442\u044B \u043D\u0430 \u0432\u043E\u043F\u0440\u043E\u0441 \"\u043C\u0430\u0441\u0441\u0438\u0432 \u043B\u0438?\" \u043D\u0435 \u0440\u0430\u0432\u043D\u044B, \u0442\u043E \u043D\u0435 \u0440\u0430\u0432\u043D\u044B \u0438 \u0442\u0438\u043F\u044B, \u0437\u043D\u0430\u0447\u0438\u0442 \u0442\u043E\u0436\u0435 \u043D\u0435 \u0440\u0430\u0432\u043D\u044B \u0430\u043F\u0440\u0438\u043E\u0440\u0438\n if (Array.isArray(first) !== Array.isArray(second)) return false;\n //? \u0415\u0441\u043B\u0438 \u043F\u0440\u043E\u0448\u043B\u0438 if-\u043A\u0443 - \u0442\u0438\u043F\u044B \u0443\u0441\u043B\u043E\u0432\u043D\u043E \u0440\u0430\u0432\u043D\u044B, \u043C\u043E\u0436\u0435\u043C \u043E\u0446\u0435\u043D\u0438\u0432\u0430\u0442\u044C \u0442\u0438\u043F \u043B\u0438\u0448\u044C \u043E\u0434\u043D\u043E\u0433\u043E \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u0430, \u044D\u0442\u043E \u0431\u0443\u0434\u0435\u0442 \u0441\u043F\u0440\u0430\u0432\u0435\u0434\u043B\u0438\u0432\u043E \u0438 \u0434\u043B\u044F \u0432\u0442\u043E\u0440\u043E\u0433\u043E\n\n //? \u0415\u0441\u043B\u0438 \u043F\u0440\u0438\u043C\u0438\u0442\u0438\u0432\u044B - \u043F\u0440\u043E\u0441\u0442\u043E \u0441\u0440\u0430\u0432\u043D\u0438\u0432\u0430\u0435\u043C. \u041A\u0435\u0439\u0441 \u0441 null \u043E\u0431\u0440\u0430\u0431\u043E\u0442\u0430\u043D \u0442\u0443\u0442.\n if (!(first instanceof Object)) return first === second;\n\n //? \u0415\u0441\u043B\u0438 \u041D\u0415 \u043F\u0440\u0438\u043C\u0435\u0442\u0438\u0432\u044B - \u043D\u0435 \u0432\u0430\u0436\u043D\u043E \u043C\u0430\u0441\u0441\u0438\u0432 \u0438\u043B\u0438 \u043D\u0435\u0442, \u043C\u0435\u0442\u043E\u0434\u044B \u043E\u0431\u044A\u0435\u043A\u0442\u0430 \u0434\u043B\u044F \u043C\u0430\u0441\u0441\u0438\u0432\u0430 \u0442\u043E\u0436\u0435 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u044B\n\n const getComparationStructure = (data) => {\n if (typeof data === 'function') return data.toString();\n if (!(data instanceof Object)) return data;\n\n return Object.entries(data)\n .sort((a, b) => (a[0]).localeCompare(b[0]))\n .map(([key, value]) => ([key, getComparationStructure(data[key])]));\n };\n\n //? \u041F\u043E\u043B\u0443\u0447\u0430\u0435\u043C \u0441\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u044B \u0434\u043B\u044F \u0441\u0440\u0430\u0432\u043D\u0435\u043D\u0438\u044F (\u0441 \u0443\u0447\u0435\u0442\u043E\u043C \u0433\u043B\u0443\u0431\u0438\u043D\u044B) - \u043C\u0430\u0441\u0441\u0438\u0432\u044B \u043C\u0430\u0441\u0441\u0438\u0432\u043E\u0432, \u0441\u043E\u0440\u0442\u0438\u0440\u0443\u0435\u043C \u043F\u043E \u043A\u043B\u044E\u0447\u0430\u043C,\n const structureForComparingOfFirst = getComparationStructure(first);\n const structureForComparingOfSecond = getComparationStructure(second);\n\n return (JSON.stringify(structureForComparingOfFirst) === JSON.stringify(structureForComparingOfSecond));\n};\n\n// Set Carret to the End of Input\nexport const setCarretToEnd = (input) => {\n setTimeout(() => {\n const tmp = input.value;\n input.value = \"\";\n input.value = tmp;\n }, 10);\n};\n\nexport const compareAlphabetical = (a, b, key = \"label\") => {\n let item1 = a?.[key];\n let item2 = b?.[key];\n\n if (typeof item1 !== \"string\" || typeof item2 !== \"string\") return 0;\n\n item1 = item1?.toLowerCase();\n item2 = item2?.toLowerCase();\n\n if (item1 < item2) {\n return -1;\n }\n if (item1 > item2) {\n return 1;\n }\n return 0;\n};\n\nexport const getBase64 = (file) => {\n if (file) {\n return new Promise(function (resolve, reject) {\n const reader = new FileReader();\n reader.readAsDataURL(file);\n reader.onload = () => resolve(reader.result);\n reader.onerror = (error) => reject(\"Error: \", error);\n });\n }\n};\n\nexport const renderFileSize = (bytes, decimals = 2) => {\n if (!Number(bytes)) return \"0 Bytes\";\n\n const k = 1024;\n const dm = decimals < 0 ? 0 : decimals;\n const sizes = [\"Bytes\", \"KB\", \"MB\", \"GB\"];\n\n const i = Math.floor(Math.log(bytes) / Math.log(k));\n\n return `${parseFloat((bytes / Math.pow(k, i)).toFixed(dm))} ${sizes[i]}`;\n};\n\nexport const getUniqueFileExtensions = (extListString) => {\n // Split the extensions list into an array\n const extArray = extListString\n ?.split(\",\")\n .map((ext) => ext.trim().toUpperCase());\n\n // Remove duplicates using a Set\n const uniqueExts = [...new Set(extArray)];\n\n // Join the unique extensions into a string\n return uniqueExts.join(\", \");\n};\n\nexport const getOS = () => {\n let userAgent = window.navigator.userAgent,\n platform =\n window.navigator?.userAgentData?.platform || window.navigator.platform,\n macosPlatforms = [\"Macintosh\", \"MacIntel\", \"MacPPC\", \"Mac68K\"],\n windowsPlatforms = [\"Win32\", \"Win64\", \"Windows\", \"WinCE\"],\n iosPlatforms = [\"iPhone\", \"iPad\", \"iPod\"],\n os = OS.Unknown;\n\n if (macosPlatforms.indexOf(platform) !== -1) {\n os = OS.MacOS;\n } else if (iosPlatforms.indexOf(platform) !== -1) {\n os = OS.iOS;\n } else if (windowsPlatforms.indexOf(platform) !== -1) {\n os = OS.Windows;\n } else if (/Android/.test(userAgent)) {\n os = OS.Android;\n } else if (/Linux/.test(platform)) {\n os = OS.Linux;\n }\n\n return os;\n};\n\n\nString.prototype.longerThan = function (compareWith) {\n return this?.length > compareWith?.length;\n};\nString.prototype.lastIndexEqualsTo = function (index) {\n return this?.length - 1 === index;\n};\n\nexport const getCorrectTestId = ({ testId = \"\", withTier = true }) =>\n testId && testId !== undefined ? `${withTier ? \"-\" : \"\"}${testId}` : \"\";\n\n\n", "export const CHART_TYPES = [\"Bar\", \"Line\"];\nexport const DEFAULT_CHART_MODEL = \"emptyLayout\";\n\nexport const FINTURF_ADD_GRADIENT_COLORS_POSITIVE = [\"#53D1AD\", \"#389AA3\"];\nexport const FINTURF_ADD_GRADIENT_COLORS_NEGATIVE = [\"#FDB4DB\", \"#FA2E69\"];\n\nexport const GRADIENTS_OBJECTS = {\n finturf: {\n bar: [\n {\n gradientTargetPropertyName: \"backgroundColor\",\n colors: FINTURF_ADD_GRADIENT_COLORS_POSITIVE,\n direction: \"toBottom\",\n typeDistributionOfGradientPoints: \"personalBase\",\n collorStopPoints: [0.2, 1],\n },\n ],\n line: [\n {\n gradientTargetPropertyName: \"borderColor\",\n colors: FINTURF_ADD_GRADIENT_COLORS_POSITIVE,\n direction: \"toRight\",\n },\n {\n gradientTargetPropertyName: \"backgroundColor\",\n colors: [\n \"rgba(84, 210, 173, 0.2)\",\n \"rgba(84, 210, 173, 0.1)\",\n \"rgba(84, 210, 173, 0)\",\n ],\n direction: \"toBottom\",\n collorStopPoints: [0.31, 0.72, 1],\n isAddFill: true,\n },\n ],\n positiveLineIcon: [\n {\n gradientTargetPropertyName: \"borderColor\",\n colors: FINTURF_ADD_GRADIENT_COLORS_POSITIVE,\n direction: \"toRight\",\n },\n ],\n negativeLineIcon: [\n {\n gradientTargetPropertyName: \"borderColor\",\n colors: FINTURF_ADD_GRADIENT_COLORS_NEGATIVE,\n direction: \"toRight\",\n },\n ],\n },\n};\n\nexport const FINTURF_TOOLTIP_OPTIONS = {\n enabled: true,\n mode: \"index\",\n intersect: false,\n padding: 8,\n backgroundColor: \"#FFFFFF\",\n titleColor: \"#757F8C\",\n borderColor: \"#D6D9E4\",\n titleFont: {\n family: \"Sarabun\",\n style: \"normal\",\n weight: 500,\n size: 12,\n // line-height: 18px;\n },\n titleAlign: \"center\",\n bodyColor: \"#1E1E2D\",\n bodyFont: {\n family: \"Sarabun\",\n style: \"normal\",\n weight: 400,\n size: 14,\n },\n bodyAlign: \"center\",\n caretSize: 0,\n displayColors: false,\n borderWidth: 1,\n borderRadius: 6,\n callbacks: {\n label: (context) => context.raw || \"0\",\n },\n};\n\nexport const ICON_MODELS = [\n \"lineIconLayout\",\n \"finturfPositiveLineIcon\",\n \"finturfNegativeLineIcon\",\n];\n\nexport const COMPONENT_OPTIONS = {\n disableDescriptionsFor: [...ICON_MODELS],\n disableChartTypeSwitcherFor: [...ICON_MODELS, \"barLayout\", \"lineLayout\"],\n};\n", "import type { IChartTypeSwitcherIconProps } from '../../Chart.interface';\nimport cn from 'classnames';\n\nimport React from 'react';\n\nimport './ChartTypeSwitcherIcon.scss';\n\nconst RC = 'chart__type-switcher-icon';\n\nfunction getIcon(type: string): React.ReactElement | null {\n switch (type) {\n case 'Bar':\n return (\n <svg\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 25\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <rect y=\"0.5\" width=\"24\" height=\"24\" rx=\"4\" fill=\"#EAF2FF\" />\n <path\n d=\"M18 18V11\"\n stroke=\"#1F7499\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M12 18V6\"\n stroke=\"#1F7499\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M6 18V13\"\n stroke=\"#1F7499\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n );\n case 'Line':\n return (\n <svg\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 25\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <rect y=\"0.5\" width=\"24\" height=\"24\" rx=\"4\" fill=\"#EAF2FF\" />\n <path\n d=\"M21 8L15.2544 13.2668C14.1075 14.3181 12.3288 14.3014 11.1818\n 13.25V13.25C10.0349 12.1986 8.25615 12.1819 7.10919 13.2332L3 17\"\n stroke=\"#1F7499\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n );\n default:\n return null;\n }\n}\n\nconst ChartTypeSwitcherIcon: React.FC<IChartTypeSwitcherIconProps> = ({\n iconType,\n isActive,\n className,\n onClick,\n}) => {\n return (\n <div\n className={cn(RC, { [`${RC}_active`]: isActive }, className)}\n onClick={onClick}\n >\n {getIcon(iconType)}\n </div>\n );\n};\n\nexport default ChartTypeSwitcherIcon;\n", "import { clone } from \"../../../../Functions/utils\";\n\n// auxiliary functions\n\nexport const addDatasetsObjects = (currentData, mutation) => ({\n ...currentData,\n datasets: currentData.datasets?.map?.((dataset) => ({\n ...dataset,\n ...(typeof mutation === \"function\" ? mutation(dataset) : mutation),\n })),\n});\n\nexport const createGradient = ({\n ctx,\n area,\n colors,\n direction,\n correctionFactors,\n collorStopPoints,\n}) => {\n const getStartGradient = () => {\n switch (direction) {\n case \"toTop-toRight\":\n return ctx.createLinearGradient(\n area.left,\n area.bottom,\n area.right,\n area.top,\n );\n case \"toTop-toLeft\":\n return ctx.createLinearGradient(\n area.right,\n area.bottom,\n area.left,\n area.top,\n );\n case \"toBottom-toRight\":\n return ctx.createLinearGradient(\n area.left,\n area.top,\n area.right,\n area.bottom,\n );\n case \"toBottom-toLeft\":\n return ctx.createLinearGradient(\n area.right,\n area.top,\n area.left,\n area.bottom,\n );\n\n case \"toBottom\":\n return ctx.createLinearGradient(0, area.top, 0, area.bottom);\n case \"toTop\":\n return ctx.createLinearGradient(0, area.bottom, 0, area.top);\n case \"toLeft\":\n return ctx.createLinearGradient(area.right, 0, area.left, 0);\n case \"toRight\":\n default:\n return ctx.createLinearGradient(area.left, 0, area.right, 0);\n }\n };\n\n const getGradientWithPoints = (corection) => {\n const newGradient = getStartGradient();\n const staptPoint = corection ? 1 - corection : 0;\n\n colors.forEach((color, idx) => {\n const point = (() => {\n if (idx === colors.length - 1) return 1;\n return collorStopPoints && Array.isArray(collorStopPoints)\n ? staptPoint + collorStopPoints[idx] * (corection || 1)\n : staptPoint + (1 / colors.length) * (corection || 1);\n })();\n\n newGradient.addColorStop(point.toFixed(2), color);\n });\n\n return newGradient;\n };\n\n return correctionFactors\n ? correctionFactors.map((corection) => getGradientWithPoints(corection))\n : getGradientWithPoints();\n};\n\n// target functions\n\nexport const addGradientsObject = (\n currentData,\n gradientSettingsObj,\n chartInstance,\n) =>\n addDatasetsObjects(currentData, (dataset) => ({\n [gradientSettingsObj.gradientTargetPropertyName]: createGradient({\n ctx: chartInstance.ctx,\n area: chartInstance.chartArea,\n colors: gradientSettingsObj.colors,\n direction: gradientSettingsObj.direction,\n correctionFactors:\n gradientSettingsObj.typeDistributionOfGradientPoints === \"personalBase\"\n ? dataset.data.map(\n (value) => value / Math.max.apply(null, dataset.data),\n )\n : null,\n collorStopPoints: gradientSettingsObj.collorStopPoints,\n }),\n\n ...(gradientSettingsObj.isAddFill ? { fill: true } : {}),\n }));\n\nexport const addNotLibraryAnimation = (\n currentData,\n animationObj,\n chartInstance,\n) => {\n const { type, ...restAnimationObj } = animationObj || {};\n\n switch (type) {\n case \"runningColumns\":\n const runningColumnsDefaultFromValue = 25;\n const runningColumnsDefaultToValue = 75;\n const runningColumnsDefaultAverageValue = 50;\n const runningColumnsDefaultColumnsDelayCoef = 50;\n\n return addDatasetsObjects(currentData, (dataset) => ({\n animations: dataset.data.map((item, idx) => ({\n y: {\n duration: animationObj.duration,\n easing: animationObj.easing || \"linear\",\n from:\n animationObj.isFixExtremeColumns &&\n (!idx || idx === dataset.data.length - 1)\n ? runningColumnsDefaultAverageValue\n : animationObj.from || runningColumnsDefaultFromValue,\n to:\n animationObj.isFixExtremeColumns &&\n (!idx || idx === dataset.data.length - 1)\n ? runningColumnsDefaultAverageValue\n : animationObj.to || runningColumnsDefaultToValue,\n loop: true,\n delay:\n Math.random().toFixed(1) *\n (animationObj.columnsDelayCoef ||\n runningColumnsDefaultColumnsDelayCoef),\n },\n })),\n }));\n default:\n return currentData;\n }\n};\n\n// must be last function in file\nfunction changeData(\n currentData,\n iterationKey,\n settingsForChange,\n chartInstance,\n) {\n // console.log('iterationKey - ', iterationKey);\n // console.log('settingsForChange - ', settingsForChange);\n\n switch (iterationKey) {\n case \"setMaxBarThickness\":\n return addDatasetsObjects(currentData, {\n maxBarThickness: settingsForChange,\n });\n\n case \"addGradientsObjects\":\n return settingsForChange.reduce(\n (acc, gradientSettingsObj) =>\n addGradientsObject(acc, gradientSettingsObj, chartInstance),\n clone(currentData),\n );\n\n case \"addNotLibraryAnimations\":\n return settingsForChange.reduce(\n (acc, animationObj) =>\n addNotLibraryAnimation(acc, animationObj, chartInstance),\n currentData,\n );\n\n default:\n return currentData;\n }\n}\nexport default changeData;\n", "// gradientsSettings is Array of objects\nexport const addGradientsSettings = (currentOptions, gradientsSettings) => ({\n ...currentOptions,\n notLibraryOptions: {\n ...currentOptions.notLibraryOptions,\n changeData: {\n ...currentOptions.notLibraryOptions?.changeData,\n addGradientsObjects: gradientsSettings,\n },\n },\n});\n\nexport const addTooltipOptions = (currentOptions, tooltipOptions) => ({\n ...currentOptions,\n options: {\n ...currentOptions.options,\n plugins: {\n ...currentOptions.options.plugins,\n tooltip: tooltipOptions,\n },\n },\n});\n\n// must be last function in file\nconst addAdditionalOptions = (currentOptions, optionsToAdd) => {\n const addOption = (currentOptions, optionKey, optionData) => {\n switch (optionKey) {\n case \"addGradientsSettings\":\n return addGradientsSettings(currentOptions, optionData);\n case \"addTooltipOptions\":\n return addTooltipOptions(currentOptions, optionData);\n default:\n return currentOptions;\n }\n };\n\n const iterator = Object.keys(optionsToAdd);\n return iterator.reduce(\n (acc, key) => addOption(acc, key, optionsToAdd[key]),\n currentOptions,\n );\n};\nexport default addAdditionalOptions;\n", "import {\n FINTURF_ADD_GRADIENT_COLORS_NEGATIVE,\n FINTURF_TOOLTIP_OPTIONS,\n GRADIENTS_OBJECTS,\n} from \"./Chart.constants\";\nimport addAdditionalOptions from \"./optionsSetters\";\n\n// options constructors for ChartJS\n\nexport const reactChartJsOptionsLayouts = {\n lineIconLayout: {\n options: {\n responsive: true,\n maintainAspectRatio: false,\n scales: {\n x: { display: false },\n y: { display: false },\n },\n elements: {\n point: { radius: 0 },\n line: {\n tension: 0.45,\n borderJoinStyle: \"round\",\n borderWidth: 2,\n capBezierPoints: true,\n },\n },\n },\n redraw: true,\n notLibraryOptions: {\n // \u042D\u0442\u043E\u0442 \u043A\u043B\u044E\u0447 \u0434\u043E\u043B\u0436\u0435\u043D \u0431\u044B\u0442\u044C \u0432 \u043B\u044E\u0431\u043E\u0439 \u0438\u0442\u043E\u0433\u043E\u0432\u043E\u0439 \u043A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0434\u043B\u044F \u043D\u043E\u0440\u043C\u0430\u043B\u044C\u043D\u043E\u0439 \u0440\u0430\u0431\u043E\u0442\u044B \u043A\u043E\u043C\u043F\u043E\u043D\u0435\u043D\u0442\u0430 \u0438\u043C\u0435\u043D\u043D\u043E \u0432 \u0442\u0430\u043A\u043E\u0439 \u0432\u043B\u043E\u0436\u0435\u043D\u043D\u043E\u0441\u0442\u0438\n // \u041D\u0430 \u043E\u0441\u043D\u043E\u0432\u0430\u043D\u0438\u0438 \u044D\u0442\u043E\u0433\u043E \u043A\u043B\u044E\u0447\u0430 \u0431\u0443\u0434\u0435\u0442 \u043F\u0440\u0438\u043D\u0438\u043C\u0430\u0442\u044C\u0441\u044F \u0440\u0435\u0448\u0435\u043D\u0438\u0435 \u043A\u0430\u043A\u043E\u0439 \u043A\u043E\u043C\u043F\u043E\u043D\u0435\u0442 \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D (<Line />, <Bar /> \u0438 \u0442.\u0434.)\n // => \u0424\u0430\u0439\u043B Chart.js => \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u0438\u0435 ChartComponent\n chartTypeKey: \"Line\",\n setCanvasDimensions: {\n width: \"75px\",\n height: \"35px\",\n },\n },\n },\n lineLayout: {\n options: {\n responsive: true,\n elements: {\n point: {\n radius: 4,\n pointStyle: \"circle\",\n backgroundColor: \"#FFFFFF\",\n color: \"#FFFFFF\",\n },\n line: {\n tension: 0.45,\n borderJoinStyle: \"round\",\n borderWidth: 2,\n capBezierPoints: true,\n },\n },\n },\n redraw: true,\n notLibraryOptions: {\n // \u042D\u0442\u043E\u0442 \u043A\u043B\u044E\u0447 \u0434\u043E\u043B\u0436\u0435\u043D \u0431\u044B\u0442\u044C \u0432 \u043B\u044E\u0431\u043E\u0439 \u0438\u0442\u043E\u0433\u043E\u0432\u043E\u0439 \u043A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0434\u043B\u044F \u043D\u043E\u0440\u043C\u0430\u043B\u044C\u043D\u043E\u0439 \u0440\u0430\u0431\u043E\u0442\u044B \u043A\u043E\u043C\u043F\u043E\u043D\u0435\u043D\u0442\u0430 \u0438\u043C\u0435\u043D\u043D\u043E \u0432 \u0442\u0430\u043A\u043E\u0439 \u0432\u043B\u043E\u0436\u0435\u043D\u043D\u043E\u0441\u0442\u0438\n // \u041D\u0430 \u043E\u0441\u043D\u043E\u0432\u0430\u043D\u0438\u0438 \u044D\u0442\u043E\u0433\u043E \u043A\u043B\u044E\u0447\u0430 \u0431\u0443\u0434\u0435\u0442 \u043F\u0440\u0438\u043D\u0438\u043C\u0430\u0442\u044C\u0441\u044F \u0440\u0435\u0448\u0435\u043D\u0438\u0435 \u043A\u0430\u043A\u043E\u0439 \u043A\u043E\u043C\u043F\u043E\u043D\u0435\u0442 \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D (<Line />, <Bar /> \u0438 \u0442.\u0434.)\n // => \u0424\u0430\u0439\u043B Chart.js => \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u0438\u0435 ChartComponent\n chartTypeKey: \"Line\",\n },\n },\n barLayout: {\n options: {\n responsive: true,\n elements: {\n bar: {\n borderRadius: 10,\n },\n },\n },\n redraw: true,\n notLibraryOptions: {\n // \u042D\u0442\u043E\u0442 \u043A\u043B\u044E\u0447 \u0434\u043E\u043B\u0436\u0435\u043D \u0431\u044B\u0442\u044C \u0432 \u043B\u044E\u0431\u043E\u0439 \u0438\u0442\u043E\u0433\u043E\u0432\u043E\u0439 \u043A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0434\u043B\u044F \u043D\u043E\u0440\u043C\u0430\u043B\u044C\u043D\u043E\u0439 \u0440\u0430\u0431\u043E\u0442\u044B \u043A\u043E\u043C\u043F\u043E\u043D\u0435\u043D\u0442\u0430 \u0438\u043C\u0435\u043D\u043D\u043E \u0432 \u0442\u0430\u043A\u043E\u0439 \u0432\u043B\u043E\u0436\u0435\u043D\u043D\u043E\u0441\u0442\u0438\n // \u041D\u0430 \u043E\u0441\u043D\u043E\u0432\u0430\u043D\u0438\u0438 \u044D\u0442\u043E\u0433\u043E \u043A\u043B\u044E\u0447\u0430 \u0431\u0443\u0434\u0435\u0442 \u043F\u0440\u0438\u043D\u0438\u043C\u0430\u0442\u044C\u0441\u044F \u0440\u0435\u0448\u0435\u043D\u0438\u0435 \u043A\u0430\u043A\u043E\u0439 \u043A\u043E\u043C\u043F\u043E\u043D\u0435\u0442 \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D (<Line />, <Bar /> \u0438 \u0442.\u0434.)\n // => \u0424\u0430\u0439\u043B Chart.js => \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u0438\u0435 ChartComponent\n chartTypeKey: \"Bar\",\n },\n },\n emptyLayout: {\n options: {\n responsive: true,\n maintainAspectRatio: false,\n scales: {\n x: { display: false },\n y: { display: false },\n },\n elements: {\n point: { radius: 0 },\n line: { borderWidth: 0 },\n },\n },\n notLibraryOptions: {\n // \u042D\u0442\u043E\u0442 \u043A\u043B\u044E\u0447 \u0434\u043E\u043B\u0436\u0435\u043D \u0431\u044B\u0442\u044C \u0432 \u043B\u044E\u0431\u043E\u0439 \u0438\u0442\u043E\u0433\u043E\u0432\u043E\u0439 \u043A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0434\u043B\u044F \u043D\u043E\u0440\u043C\u0430\u043B\u044C\u043D\u043E\u0439 \u0440\u0430\u0431\u043E\u0442\u044B \u043A\u043E\u043C\u043F\u043E\u043D\u0435\u043D\u0442\u0430 \u0438\u043C\u0435\u043D\u043D\u043E \u0432 \u0442\u0430\u043A\u043E\u0439 \u0432\u043B\u043E\u0436\u0435\u043D\u043D\u043E\u0441\u0442\u0438\n // \u041D\u0430 \u043E\u0441\u043D\u043E\u0432\u0430\u043D\u0438\u0438 \u044D\u0442\u043E\u0433\u043E \u043A\u043B\u044E\u0447\u0430 \u0431\u0443\u0434\u0435\u0442 \u043F\u0440\u0438\u043D\u0438\u043C\u0430\u0442\u044C\u0441\u044F \u0440\u0435\u0448\u0435\u043D\u0438\u0435 \u043A\u0430\u043A\u043E\u0439 \u043A\u043E\u043C\u043F\u043E\u043D\u0435\u0442 \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D (<Line />, <Bar /> \u0438 \u0442.\u0434.)\n // => \u0424\u0430\u0439\u043B Chart.js => \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u0438\u0435 \u043F\u043E\u0434\u043A\u043E\u043C\u043F\u043E\u043D\u0435\u043D\u0442\u0430 ChartComponent => \u0441\u0442\u0440\u043E\u043A\u0430 const Component = ...\n chartTypeKey: \"Line\",\n },\n },\n};\n\nconst finturfChartLayouts = (() => {\n return [\"barLayout\", \"lineLayout\"].reduce(\n (acc, key) => ({\n ...acc,\n [key]: {\n ...reactChartJsOptionsLayouts[key],\n\n options: {\n ...reactChartJsOptionsLayouts[key].options,\n scales: {\n ...reactChartJsOptionsLayouts[key].options?.scales,\n x: {\n ...reactChartJsOptionsLayouts[key].options?.scales?.x,\n grid: {\n ...reactChartJsOptionsLayouts[key].options?.scales?.x?.grid,\n display: false,\n offset: true,\n },\n ticks: {\n ...reactChartJsOptionsLayouts[key].options?.scales?.y?.ticks,\n autoSkipPadding: 10,\n align: \"center\",\n color: \"#757F8C\",\n lineHeight: 18,\n font: {\n family: \"Sarabun\",\n style: \"normal\",\n weight: 400,\n size: 8,\n },\n // callback: (value, index, ticks) => {\n // console.log(value);\n // console.log(index);\n // console.log(ticks);\n // console.log('***********');\n // return value;\n // },\n },\n },\n y: {\n ...reactChartJsOptionsLayouts[key].options?.scales?.y,\n min: 0,\n // grace: '5%',\n bounds: \"data\",\n grid: {\n ...reactChartJsOptionsLayouts[key].options?.scales?.y?.grid,\n borderColor: \"#E1E8F1\",\n color: \"#E1E8F1\",\n borderDash: [5],\n // borderDashOffset: 12,\n drawTicks: false,\n z: -1,\n },\n ticks: {\n ...reactChartJsOptionsLayouts[key].options?.scales?.y?.ticks,\n autoSkipPadding: 10,\n align: \"center\",\n color: \"#A0A4B0\",\n lineHeight: 18,\n padding: 6,\n font: {\n family: \"Sarabun\",\n style: \"normal\",\n weight: 400,\n size: 10,\n },\n },\n },\n },\n },\n\n notLibraryOptions: {\n ...reactChartJsOptionsLayouts[key].notLibraryOptions,\n setCanvasDimensions: {\n height: \"194px\",\n },\n },\n },\n }),\n {},\n );\n})();\n\nconst finturfChartBar = {\n ...finturfChartLayouts.barLayout,\n options: {\n ...finturfChartLayouts.barLayout?.options,\n maintainAspectRatio: false,\n elements: {\n ...finturfChartLayouts.barLayout?.options?.elements,\n bar: {\n ...finturfChartLayouts.barLayout?.options?.elements?.bar,\n borderRadius: 4,\n },\n },\n },\n notLibraryOptions: {\n ...finturfChartLayouts.barLayout?.notLibraryOptions,\n changeData: {\n ...finturfChartLayouts.barLayout?.notLibraryOptions?.changeData,\n setMaxBarThickness: 16,\n },\n },\n};\n\nconst finturfChartLine = {\n ...finturfChartLayouts.lineLayout,\n options: {\n ...finturfChartLayouts.lineLayout?.options,\n maintainAspectRatio: false,\n elements: {\n ...finturfChartLayouts.lineLayout.options?.elements,\n point: {\n ...finturfChartLayouts.lineLayout.options?.elements?.point,\n radius: 2,\n borderColor: \"#32A784\",\n borderWidth: 4,\n },\n },\n },\n};\n\nexport const finturfReactChartJsOptions = {\n finturfChartBar: addAdditionalOptions(finturfChartBar, {\n addGradientsSettings: GRADIENTS_OBJECTS.finturf.bar,\n addTooltipOptions: FINTURF_TOOLTIP_OPTIONS,\n }),\n\n finturfLoadingModeBar: {\n ...finturfChartBar,\n\n options: {\n ...finturfChartBar.options,\n animations: {\n ...finturfChartBar.options?.animations,\n y: {\n ...finturfChartBar.options?.animations?.y,\n duration: 0,\n },\n },\n },\n\n notLibraryOptions: {\n ...finturfChartBar.notLibraryOptions,\n changeData: {\n ...finturfChartBar.notLibraryOptions?.changeData,\n addNotLibraryAnimations: [\n {\n type: \"runningColumns\",\n // duration - ms\n duration: 600,\n // default easing - 'linear',\n // easing: 'easeInOutExpo',\n // ToDo - \u043F\u0440\u0435\u0434\u0443\u0441\u043C\u043E\u0442\u0440\u0435\u0442\u044C 'auto' \u0438 default \u0434\u043B\u044F from \u0438 to\n from: 10,\n to: 75,\n columnsDelayCoef: 500,\n },\n ],\n },\n },\n },\n\n finturfChartLine: addAdditionalOptions(finturfChartLine, {\n addGradientsSettings: GRADIENTS_OBJECTS.finturf.line,\n addTooltipOptions: FINTURF_TOOLTIP_OPTIONS,\n // consoleCurrentData: true,\n }),\n\n finturfLoadingModeLine: {\n ...finturfChartLine,\n\n options: {\n ...finturfChartLine.options,\n elements: {\n ...finturfChartLine.options?.elements,\n point: {\n ...finturfChartLine.options?.elements?.point,\n radius: 4,\n borderWidth: 1,\n borderColor: \"#E1E8F1\",\n },\n },\n animations: {\n ...finturfChartLine.options?.animations,\n y: {\n ...finturfChartLine.options?.animations?.y,\n duration: 0,\n },\n },\n },\n\n notLibraryOptions: {\n ...finturfChartLine.notLibraryOptions,\n changeData: {\n ...finturfChartLine.notLibraryOptions?.changeData,\n addNotLibraryAnimations: [\n {\n type: \"runningColumns\",\n // duration - ms\n duration: 600,\n // default easing - 'linear',\n // easing: 'easeInOutExpo',\n columnsDelayCoef: 500,\n isFixExtremeColumns: true,\n },\n ],\n },\n },\n },\n\n finturfPositiveLineIcon: addAdditionalOptions(\n reactChartJsOptionsLayouts.lineIconLayout,\n {\n addGradientsSettings: GRADIENTS_OBJECTS.finturf.positiveLineIcon,\n },\n ),\n\n finturfNegativeLineIcon: addAdditionalOptions(\n reactChartJsOptionsLayouts.lineIconLayout,\n {\n addGradientsSettings: GRADIENTS_OBJECTS.finturf.negativeLineIcon,\n },\n ),\n};\n\nexport default {\n ...finturfReactChartJsOptions,\n emptyLayout: reactChartJsOptionsLayouts.emptyLayout,\n};\n", "import { clone, omitKeys } from '../../../../Functions/utils';\n\nimport { CHART_TYPES, DEFAULT_CHART_MODEL } from './Chart.constants';\nimport changeData from './datasetSetters';\nimport optionsConstructor from './optionsConstructor';\n\nexport function getChartTypeKey(model: string): string | undefined {\n return optionsConstructor[model as keyof typeof optionsConstructor]?.notLibraryOptions?.chartTypeKey\n}\n\nexport function correctModelKey(model?: string): string {\n if (!model) return DEFAULT_CHART_MODEL;\n\n const options = optionsConstructor[model as keyof typeof optionsConstructor];\n if (!options) return DEFAULT_CHART_MODEL;\n\n const chartTypeKey = getChartTypeKey(model);\n return chartTypeKey && CHART_TYPES.includes(chartTypeKey) ? model : DEFAULT_CHART_MODEL;\n}\n\nexport function getOptions(model: string): any {\n const modelOptions = optionsConstructor[model as keyof typeof optionsConstructor]\n || optionsConstructor[DEFAULT_CHART_MODEL as keyof typeof optionsConstructor];\n return omitKeys(modelOptions, ['notLibraryOptions']);\n}\n\nexport function getNotLibraryOptionsOptions(model: string): any {\n const modelOptions = optionsConstructor[model as keyof typeof optionsConstructor]\n || optionsConstructor[DEFAULT_CHART_MODEL as keyof typeof optionsConstructor];\n const { notLibraryOptions } = modelOptions || {};\n return notLibraryOptions ? clone(notLibraryOptions) : undefined;\n}\n\nexport function prepareData(model: string, data: any, chartInstance: any, addToDatasets?: any): any {\n if (!chartInstance) return data;\n\n const notLibraryOptions = getNotLibraryOptionsOptions(model);\n\n const iterator = notLibraryOptions?.changeData\n ? Object.keys(notLibraryOptions.changeData)\n : [];\n\n const changedData = iterator.reduce(\n (acc, dataChangeKey) =>\n changeData(\n acc,\n dataChangeKey,\n notLibraryOptions.changeData[dataChangeKey],\n chartInstance,\n ),\n clone(data),\n );\n\n return addToDatasets\n && typeof addToDatasets === 'object'\n && !Array.isArray(addToDatasets)\n ? {\n ...changedData,\n datasets: changedData.datasets.map((dataset: any) => ({\n ...dataset,\n ...addToDatasets,\n })),\n }\n : changedData;\n}\n", "import type { IChartProps, IChartTypeSwitcherIconProps, INotLibraryOptions } from './Chart.interface';\nimport Chart from './Chart';\n\nexport type { IChartProps, IChartTypeSwitcherIconProps, INotLibraryOptions };\nexport default Chart;\n", "import React from \"react\";\n\nimport { ArcElement, Chart as ChartJS, Tooltip } from \"chart.js\";\nimport { Pie } from \"react-chartjs-2\";\n\nimport \"./PieChart.scss\";\n\nChartJS.register(ArcElement, Tooltip);\n\nconst PieChart = ({\n data,\n cutout = \"80%\",\n resultLabel,\n resultValue = 0,\n withLegend = false,\n}) => {\n const options = {\n cutout,\n plugins: {\n legend: {\n display: withLegend,\n },\n },\n };\n\n return (\n <div className=\"pie-chart-box\" style={{ maxWidth: `320px` }}>\n <Pie data={data} options={options} />\n {Boolean(resultLabel) && (\n <div className=\"pie-chart__result\">\n <div className=\"pie-chart__result-value\">\n {resultValue}\n <span className=\"pie-chart__result-percent\">%</span>{\" \"}\n </div>\n <div className=\"pie-chart__result-label\">{resultLabel}</div>\n </div>\n )}\n </div>\n );\n};\n\nexport default PieChart;\n"],
5
+ "mappings": "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",
6
+ "names": ["Chart_default", "import_classnames", "import_react", "cn", "currentOptions", "import_jsx_runtime", "RC", "ChartJS", "React", "cn", "Chart_default", "import_react", "import_chart", "import_jsx_runtime", "ChartJS"]
7
+ }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * IntelicoKit — Public subpath: "intelicokit/charts"
3
+ * Chart components that depend on chart.js / react-chartjs-2.
4
+ */
5
+ export { default as Chart } from './Atomic/UI/Chart/index';
6
+ export * from './Atomic/UI/Chart/index';
7
+ export { default as PieChart } from './Atomic/UI/PieChart/PieChart';