@sis-cc/dotstatsuite-components 22.0.0 → 22.0.2

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 (686) hide show
  1. package/dist/_virtual/_commonjsHelpers.js +35 -0
  2. package/dist/_virtual/_commonjsHelpers.js.map +1 -0
  3. package/dist/_virtual/_rollupPluginBabelHelpers.js +12 -0
  4. package/dist/_virtual/_rollupPluginBabelHelpers.js.map +1 -0
  5. package/dist/_virtual/colorManipulator.js +6 -0
  6. package/dist/_virtual/colorManipulator.js.map +1 -0
  7. package/dist/_virtual/colorManipulator2.js +4 -0
  8. package/dist/_virtual/colorManipulator2.js.map +1 -0
  9. package/dist/_virtual/index.js +8 -0
  10. package/dist/_virtual/index.js.map +1 -0
  11. package/dist/_virtual/index10.js +8 -0
  12. package/dist/_virtual/index10.js.map +1 -0
  13. package/dist/_virtual/index11.js +8 -0
  14. package/dist/_virtual/index11.js.map +1 -0
  15. package/dist/_virtual/index12.js +8 -0
  16. package/dist/_virtual/index12.js.map +1 -0
  17. package/dist/_virtual/index13.js +8 -0
  18. package/dist/_virtual/index13.js.map +1 -0
  19. package/dist/_virtual/index14.js +8 -0
  20. package/dist/_virtual/index14.js.map +1 -0
  21. package/dist/_virtual/index15.js +8 -0
  22. package/dist/_virtual/index15.js.map +1 -0
  23. package/dist/_virtual/index16.js +8 -0
  24. package/dist/_virtual/index16.js.map +1 -0
  25. package/dist/_virtual/index17.js +7 -0
  26. package/dist/_virtual/index17.js.map +1 -0
  27. package/dist/_virtual/index18.js +7 -0
  28. package/dist/_virtual/index18.js.map +1 -0
  29. package/dist/_virtual/index19.js +8 -0
  30. package/dist/_virtual/index19.js.map +1 -0
  31. package/dist/_virtual/index2.js +8 -0
  32. package/dist/_virtual/index2.js.map +1 -0
  33. package/dist/_virtual/index20.js +4 -0
  34. package/dist/_virtual/index20.js.map +1 -0
  35. package/dist/_virtual/index21.js +6 -0
  36. package/dist/_virtual/index21.js.map +1 -0
  37. package/dist/_virtual/index22.js +4 -0
  38. package/dist/_virtual/index22.js.map +1 -0
  39. package/dist/_virtual/index23.js +4 -0
  40. package/dist/_virtual/index23.js.map +1 -0
  41. package/dist/_virtual/index3.js +8 -0
  42. package/dist/_virtual/index3.js.map +1 -0
  43. package/dist/_virtual/index4.js +8 -0
  44. package/dist/_virtual/index4.js.map +1 -0
  45. package/dist/_virtual/index5.js +8 -0
  46. package/dist/_virtual/index5.js.map +1 -0
  47. package/dist/_virtual/index6.js +8 -0
  48. package/dist/_virtual/index6.js.map +1 -0
  49. package/dist/_virtual/index7.js +8 -0
  50. package/dist/_virtual/index7.js.map +1 -0
  51. package/dist/_virtual/index8.js +8 -0
  52. package/dist/_virtual/index8.js.map +1 -0
  53. package/dist/_virtual/index9.js +8 -0
  54. package/dist/_virtual/index9.js.map +1 -0
  55. package/dist/_virtual/interopRequireDefault.js +4 -0
  56. package/dist/_virtual/interopRequireDefault.js.map +1 -0
  57. package/dist/_virtual/jsx-runtime.js +4 -0
  58. package/dist/_virtual/jsx-runtime.js.map +1 -0
  59. package/dist/_virtual/jsx-runtime2.js +6 -0
  60. package/dist/_virtual/jsx-runtime2.js.map +1 -0
  61. package/dist/_virtual/react-is.development.js +4 -0
  62. package/dist/_virtual/react-is.development.js.map +1 -0
  63. package/dist/_virtual/react-is.development2.js +4 -0
  64. package/dist/_virtual/react-is.development2.js.map +1 -0
  65. package/dist/_virtual/react-is.production.js +4 -0
  66. package/dist/_virtual/react-is.production.js.map +1 -0
  67. package/dist/_virtual/react-is.production.min.js +4 -0
  68. package/dist/_virtual/react-is.production.min.js.map +1 -0
  69. package/dist/_virtual/react-jsx-runtime.development.js +4 -0
  70. package/dist/_virtual/react-jsx-runtime.development.js.map +1 -0
  71. package/dist/_virtual/react-jsx-runtime.production.min.js +4 -0
  72. package/dist/_virtual/react-jsx-runtime.production.min.js.map +1 -0
  73. package/dist/bridge-d3-react/src/index.js +18 -0
  74. package/dist/bridge-d3-react/src/index.js.map +1 -0
  75. package/dist/bridge-d3-react/src/react-chart-factory.js +44 -0
  76. package/dist/bridge-d3-react/src/react-chart-factory.js.map +1 -0
  77. package/dist/index.js +6 -0
  78. package/dist/index.js.map +1 -0
  79. package/dist/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js +8 -0
  80. package/dist/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js.map +1 -0
  81. package/dist/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js +8 -0
  82. package/dist/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js.map +1 -0
  83. package/dist/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js +7 -0
  84. package/dist/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js.map +1 -0
  85. package/dist/node_modules/@babel/runtime/helpers/esm/createClass.js +16 -0
  86. package/dist/node_modules/@babel/runtime/helpers/esm/createClass.js.map +1 -0
  87. package/dist/node_modules/@babel/runtime/helpers/esm/extends.js +12 -0
  88. package/dist/node_modules/@babel/runtime/helpers/esm/extends.js.map +1 -0
  89. package/dist/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js +8 -0
  90. package/dist/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js.map +1 -0
  91. package/dist/node_modules/@babel/runtime/helpers/esm/iterableToArray.js +6 -0
  92. package/dist/node_modules/@babel/runtime/helpers/esm/iterableToArray.js.map +1 -0
  93. package/dist/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js +6 -0
  94. package/dist/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js.map +1 -0
  95. package/dist/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js +12 -0
  96. package/dist/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js.map +1 -0
  97. package/dist/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js +8 -0
  98. package/dist/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js.map +1 -0
  99. package/dist/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js +11 -0
  100. package/dist/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js.map +1 -0
  101. package/dist/node_modules/@babel/runtime/helpers/esm/toPrimitive.js +15 -0
  102. package/dist/node_modules/@babel/runtime/helpers/esm/toPrimitive.js.map +1 -0
  103. package/dist/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js +10 -0
  104. package/dist/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js.map +1 -0
  105. package/dist/node_modules/@babel/runtime/helpers/esm/typeof.js +12 -0
  106. package/dist/node_modules/@babel/runtime/helpers/esm/typeof.js.map +1 -0
  107. package/dist/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js +12 -0
  108. package/dist/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js.map +1 -0
  109. package/dist/node_modules/@babel/runtime/helpers/interopRequireDefault.js +20 -0
  110. package/dist/node_modules/@babel/runtime/helpers/interopRequireDefault.js.map +1 -0
  111. package/dist/node_modules/@mui/material/colors/blue.js +9 -0
  112. package/dist/node_modules/@mui/material/colors/blue.js.map +1 -0
  113. package/dist/node_modules/@mui/material/colors/common.js +7 -0
  114. package/dist/node_modules/@mui/material/colors/common.js.map +1 -0
  115. package/dist/node_modules/@mui/material/colors/green.js +10 -0
  116. package/dist/node_modules/@mui/material/colors/green.js.map +1 -0
  117. package/dist/node_modules/@mui/material/colors/grey.js +19 -0
  118. package/dist/node_modules/@mui/material/colors/grey.js.map +1 -0
  119. package/dist/node_modules/@mui/material/colors/lightBlue.js +9 -0
  120. package/dist/node_modules/@mui/material/colors/lightBlue.js.map +1 -0
  121. package/dist/node_modules/@mui/material/colors/orange.js +9 -0
  122. package/dist/node_modules/@mui/material/colors/orange.js.map +1 -0
  123. package/dist/node_modules/@mui/material/colors/purple.js +10 -0
  124. package/dist/node_modules/@mui/material/colors/purple.js.map +1 -0
  125. package/dist/node_modules/@mui/material/colors/red.js +9 -0
  126. package/dist/node_modules/@mui/material/colors/red.js.map +1 -0
  127. package/dist/node_modules/@mui/material/styles/createMixins.js +20 -0
  128. package/dist/node_modules/@mui/material/styles/createMixins.js.map +1 -0
  129. package/dist/node_modules/@mui/material/styles/createPalette.js +309 -0
  130. package/dist/node_modules/@mui/material/styles/createPalette.js.map +1 -0
  131. package/dist/node_modules/@mui/material/styles/createTheme.js +86 -0
  132. package/dist/node_modules/@mui/material/styles/createTheme.js.map +1 -0
  133. package/dist/node_modules/@mui/material/styles/createTransitions.js +92 -0
  134. package/dist/node_modules/@mui/material/styles/createTransitions.js.map +1 -0
  135. package/dist/node_modules/@mui/material/styles/createTypography.js +94 -0
  136. package/dist/node_modules/@mui/material/styles/createTypography.js.map +1 -0
  137. package/dist/node_modules/@mui/material/styles/defaultTheme.js +6 -0
  138. package/dist/node_modules/@mui/material/styles/defaultTheme.js.map +1 -0
  139. package/dist/node_modules/@mui/material/styles/identifier.js +4 -0
  140. package/dist/node_modules/@mui/material/styles/identifier.js.map +1 -0
  141. package/dist/node_modules/@mui/material/styles/shadows.js +12 -0
  142. package/dist/node_modules/@mui/material/styles/shadows.js.map +1 -0
  143. package/dist/node_modules/@mui/material/styles/useTheme.js +16 -0
  144. package/dist/node_modules/@mui/material/styles/useTheme.js.map +1 -0
  145. package/dist/node_modules/@mui/material/styles/zIndex.js +15 -0
  146. package/dist/node_modules/@mui/material/styles/zIndex.js.map +1 -0
  147. package/dist/node_modules/@mui/private-theming/ThemeProvider/nested.js +5 -0
  148. package/dist/node_modules/@mui/private-theming/ThemeProvider/nested.js.map +1 -0
  149. package/dist/node_modules/@mui/private-theming/useTheme/ThemeContext.js +9 -0
  150. package/dist/node_modules/@mui/private-theming/useTheme/ThemeContext.js.map +1 -0
  151. package/dist/node_modules/@mui/private-theming/useTheme/useTheme.js +14 -0
  152. package/dist/node_modules/@mui/private-theming/useTheme/useTheme.js.map +1 -0
  153. package/dist/node_modules/@mui/styles/StylesProvider/StylesProvider.js +151 -0
  154. package/dist/node_modules/@mui/styles/StylesProvider/StylesProvider.js.map +1 -0
  155. package/dist/node_modules/@mui/styles/createGenerateClassName/createGenerateClassName.js +66 -0
  156. package/dist/node_modules/@mui/styles/createGenerateClassName/createGenerateClassName.js.map +1 -0
  157. package/dist/node_modules/@mui/styles/getStylesCreator/getStylesCreator.js +52 -0
  158. package/dist/node_modules/@mui/styles/getStylesCreator/getStylesCreator.js.map +1 -0
  159. package/dist/node_modules/@mui/styles/getStylesCreator/noopTheme.js +5 -0
  160. package/dist/node_modules/@mui/styles/getStylesCreator/noopTheme.js.map +1 -0
  161. package/dist/node_modules/@mui/styles/jssPreset/jssPreset.js +21 -0
  162. package/dist/node_modules/@mui/styles/jssPreset/jssPreset.js.map +1 -0
  163. package/dist/node_modules/@mui/styles/makeStyles/indexCounter.js +22 -0
  164. package/dist/node_modules/@mui/styles/makeStyles/indexCounter.js.map +1 -0
  165. package/dist/node_modules/@mui/styles/makeStyles/makeStyles.js +230 -0
  166. package/dist/node_modules/@mui/styles/makeStyles/makeStyles.js.map +1 -0
  167. package/dist/node_modules/@mui/styles/makeStyles/multiKeyStore.js +23 -0
  168. package/dist/node_modules/@mui/styles/makeStyles/multiKeyStore.js.map +1 -0
  169. package/dist/node_modules/@mui/styles/mergeClasses/mergeClasses.js +37 -0
  170. package/dist/node_modules/@mui/styles/mergeClasses/mergeClasses.js.map +1 -0
  171. package/dist/node_modules/@mui/styles/propsToClassKey/propsToClassKey.js +31 -0
  172. package/dist/node_modules/@mui/styles/propsToClassKey/propsToClassKey.js.map +1 -0
  173. package/dist/node_modules/@mui/styles/useTheme/index.js +10 -0
  174. package/dist/node_modules/@mui/styles/useTheme/index.js.map +1 -0
  175. package/dist/node_modules/@mui/system/colorManipulator.js +386 -0
  176. package/dist/node_modules/@mui/system/colorManipulator.js.map +1 -0
  177. package/dist/node_modules/@mui/system/esm/borders.js +52 -0
  178. package/dist/node_modules/@mui/system/esm/borders.js.map +1 -0
  179. package/dist/node_modules/@mui/system/esm/breakpoints.js +67 -0
  180. package/dist/node_modules/@mui/system/esm/breakpoints.js.map +1 -0
  181. package/dist/node_modules/@mui/system/esm/compose.js +27 -0
  182. package/dist/node_modules/@mui/system/esm/compose.js.map +1 -0
  183. package/dist/node_modules/@mui/system/esm/createTheme/applyStyles.js +77 -0
  184. package/dist/node_modules/@mui/system/esm/createTheme/applyStyles.js.map +1 -0
  185. package/dist/node_modules/@mui/system/esm/createTheme/createBreakpoints.js +83 -0
  186. package/dist/node_modules/@mui/system/esm/createTheme/createBreakpoints.js.map +1 -0
  187. package/dist/node_modules/@mui/system/esm/createTheme/createSpacing.js +35 -0
  188. package/dist/node_modules/@mui/system/esm/createTheme/createSpacing.js.map +1 -0
  189. package/dist/node_modules/@mui/system/esm/createTheme/createTheme.js +46 -0
  190. package/dist/node_modules/@mui/system/esm/createTheme/createTheme.js.map +1 -0
  191. package/dist/node_modules/@mui/system/esm/createTheme/shape.js +6 -0
  192. package/dist/node_modules/@mui/system/esm/createTheme/shape.js.map +1 -0
  193. package/dist/node_modules/@mui/system/esm/cssGrid.js +87 -0
  194. package/dist/node_modules/@mui/system/esm/cssGrid.js.map +1 -0
  195. package/dist/node_modules/@mui/system/esm/memoize.js +12 -0
  196. package/dist/node_modules/@mui/system/esm/memoize.js.map +1 -0
  197. package/dist/node_modules/@mui/system/esm/merge.js +13 -0
  198. package/dist/node_modules/@mui/system/esm/merge.js.map +1 -0
  199. package/dist/node_modules/@mui/system/esm/palette.js +29 -0
  200. package/dist/node_modules/@mui/system/esm/palette.js.map +1 -0
  201. package/dist/node_modules/@mui/system/esm/responsivePropType.js +6 -0
  202. package/dist/node_modules/@mui/system/esm/responsivePropType.js.map +1 -0
  203. package/dist/node_modules/@mui/system/esm/sizing.js +68 -0
  204. package/dist/node_modules/@mui/system/esm/sizing.js.map +1 -0
  205. package/dist/node_modules/@mui/system/esm/spacing.js +145 -0
  206. package/dist/node_modules/@mui/system/esm/spacing.js.map +1 -0
  207. package/dist/node_modules/@mui/system/esm/style.js +78 -0
  208. package/dist/node_modules/@mui/system/esm/style.js.map +1 -0
  209. package/dist/node_modules/@mui/system/esm/styleFunctionSx/defaultSxConfig.js +294 -0
  210. package/dist/node_modules/@mui/system/esm/styleFunctionSx/defaultSxConfig.js.map +1 -0
  211. package/dist/node_modules/@mui/system/esm/styleFunctionSx/styleFunctionSx.js +137 -0
  212. package/dist/node_modules/@mui/system/esm/styleFunctionSx/styleFunctionSx.js.map +1 -0
  213. package/dist/node_modules/@mui/system/esm/useTheme.js +10 -0
  214. package/dist/node_modules/@mui/system/esm/useTheme.js.map +1 -0
  215. package/dist/node_modules/@mui/system/esm/useThemeWithoutDefault.js +13 -0
  216. package/dist/node_modules/@mui/system/esm/useThemeWithoutDefault.js.map +1 -0
  217. package/dist/node_modules/@mui/utils/esm/ClassNameGenerator/ClassNameGenerator.js +19 -0
  218. package/dist/node_modules/@mui/utils/esm/ClassNameGenerator/ClassNameGenerator.js.map +1 -0
  219. package/dist/node_modules/@mui/utils/esm/capitalize/capitalize.js +15 -0
  220. package/dist/node_modules/@mui/utils/esm/capitalize/capitalize.js.map +1 -0
  221. package/dist/node_modules/@mui/utils/esm/clamp/clamp.js +6 -0
  222. package/dist/node_modules/@mui/utils/esm/clamp/clamp.js.map +1 -0
  223. package/dist/node_modules/@mui/utils/esm/clamp/index.js +2 -0
  224. package/dist/node_modules/@mui/utils/esm/clamp/index.js.map +1 -0
  225. package/dist/node_modules/@mui/utils/esm/deepmerge/deepmerge.js +46 -0
  226. package/dist/node_modules/@mui/utils/esm/deepmerge/deepmerge.js.map +1 -0
  227. package/dist/node_modules/@mui/utils/esm/exactProp/exactProp.js +24 -0
  228. package/dist/node_modules/@mui/utils/esm/exactProp/exactProp.js.map +1 -0
  229. package/dist/node_modules/@mui/utils/esm/formatMuiErrorMessage/formatMuiErrorMessage.js +22 -0
  230. package/dist/node_modules/@mui/utils/esm/formatMuiErrorMessage/formatMuiErrorMessage.js.map +1 -0
  231. package/dist/node_modules/@mui/utils/esm/formatMuiErrorMessage/index.js +2 -0
  232. package/dist/node_modules/@mui/utils/esm/formatMuiErrorMessage/index.js.map +1 -0
  233. package/dist/node_modules/@mui/utils/esm/generateUtilityClass/generateUtilityClass.js +23 -0
  234. package/dist/node_modules/@mui/utils/esm/generateUtilityClass/generateUtilityClass.js.map +1 -0
  235. package/dist/node_modules/@mui/utils/esm/getDisplayName/getDisplayName.js +50 -0
  236. package/dist/node_modules/@mui/utils/esm/getDisplayName/getDisplayName.js.map +1 -0
  237. package/dist/node_modules/@mui/utils/node_modules/react-is/cjs/react-is.development.js +143 -0
  238. package/dist/node_modules/@mui/utils/node_modules/react-is/cjs/react-is.development.js.map +1 -0
  239. package/dist/node_modules/@mui/utils/node_modules/react-is/cjs/react-is.production.js +140 -0
  240. package/dist/node_modules/@mui/utils/node_modules/react-is/cjs/react-is.production.js.map +1 -0
  241. package/dist/node_modules/@mui/utils/node_modules/react-is/index.js +20 -0
  242. package/dist/node_modules/@mui/utils/node_modules/react-is/index.js.map +1 -0
  243. package/dist/node_modules/css-vendor/dist/css-vendor.esm.js +574 -0
  244. package/dist/node_modules/css-vendor/dist/css-vendor.esm.js.map +1 -0
  245. package/dist/node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds/index.js +32 -0
  246. package/dist/node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds/index.js.map +1 -0
  247. package/dist/node_modules/date-fns/get_iso_week/index.js +49 -0
  248. package/dist/node_modules/date-fns/get_iso_week/index.js.map +1 -0
  249. package/dist/node_modules/date-fns/get_iso_year/index.js +59 -0
  250. package/dist/node_modules/date-fns/get_iso_year/index.js.map +1 -0
  251. package/dist/node_modules/date-fns/is_date/index.js +32 -0
  252. package/dist/node_modules/date-fns/is_date/index.js.map +1 -0
  253. package/dist/node_modules/date-fns/is_friday/index.js +35 -0
  254. package/dist/node_modules/date-fns/is_friday/index.js.map +1 -0
  255. package/dist/node_modules/date-fns/is_monday/index.js +35 -0
  256. package/dist/node_modules/date-fns/is_monday/index.js.map +1 -0
  257. package/dist/node_modules/date-fns/is_saturday/index.js +35 -0
  258. package/dist/node_modules/date-fns/is_saturday/index.js.map +1 -0
  259. package/dist/node_modules/date-fns/is_sunday/index.js +35 -0
  260. package/dist/node_modules/date-fns/is_sunday/index.js.map +1 -0
  261. package/dist/node_modules/date-fns/is_thursday/index.js +35 -0
  262. package/dist/node_modules/date-fns/is_thursday/index.js.map +1 -0
  263. package/dist/node_modules/date-fns/is_tuesday/index.js +35 -0
  264. package/dist/node_modules/date-fns/is_tuesday/index.js.map +1 -0
  265. package/dist/node_modules/date-fns/is_wednesday/index.js +35 -0
  266. package/dist/node_modules/date-fns/is_wednesday/index.js.map +1 -0
  267. package/dist/node_modules/date-fns/locale/_lib/build_formatting_tokens_reg_exp/index.js +39 -0
  268. package/dist/node_modules/date-fns/locale/_lib/build_formatting_tokens_reg_exp/index.js.map +1 -0
  269. package/dist/node_modules/date-fns/locale/ar/build_distance_in_words_locale/index.js +110 -0
  270. package/dist/node_modules/date-fns/locale/ar/build_distance_in_words_locale/index.js.map +1 -0
  271. package/dist/node_modules/date-fns/locale/ar/build_format_locale/index.js +86 -0
  272. package/dist/node_modules/date-fns/locale/ar/build_format_locale/index.js.map +1 -0
  273. package/dist/node_modules/date-fns/locale/ar/index.js +26 -0
  274. package/dist/node_modules/date-fns/locale/ar/index.js.map +1 -0
  275. package/dist/node_modules/date-fns/locale/de/build_distance_in_words_locale/index.js +196 -0
  276. package/dist/node_modules/date-fns/locale/de/build_distance_in_words_locale/index.js.map +1 -0
  277. package/dist/node_modules/date-fns/locale/de/build_format_locale/index.js +90 -0
  278. package/dist/node_modules/date-fns/locale/de/build_format_locale/index.js.map +1 -0
  279. package/dist/node_modules/date-fns/locale/de/index.js +27 -0
  280. package/dist/node_modules/date-fns/locale/de/index.js.map +1 -0
  281. package/dist/node_modules/date-fns/locale/en/build_distance_in_words_locale/index.js +110 -0
  282. package/dist/node_modules/date-fns/locale/en/build_distance_in_words_locale/index.js.map +1 -0
  283. package/dist/node_modules/date-fns/locale/en/build_format_locale/index.js +101 -0
  284. package/dist/node_modules/date-fns/locale/en/build_format_locale/index.js.map +1 -0
  285. package/dist/node_modules/date-fns/locale/en/index.js +25 -0
  286. package/dist/node_modules/date-fns/locale/en/index.js.map +1 -0
  287. package/dist/node_modules/date-fns/locale/es/build_distance_in_words_locale/index.js +110 -0
  288. package/dist/node_modules/date-fns/locale/es/build_distance_in_words_locale/index.js.map +1 -0
  289. package/dist/node_modules/date-fns/locale/es/build_format_locale/index.js +86 -0
  290. package/dist/node_modules/date-fns/locale/es/build_format_locale/index.js.map +1 -0
  291. package/dist/node_modules/date-fns/locale/es/index.js +28 -0
  292. package/dist/node_modules/date-fns/locale/es/index.js.map +1 -0
  293. package/dist/node_modules/date-fns/locale/fr/build_distance_in_words_locale/index.js +110 -0
  294. package/dist/node_modules/date-fns/locale/fr/build_distance_in_words_locale/index.js.map +1 -0
  295. package/dist/node_modules/date-fns/locale/fr/build_format_locale/index.js +135 -0
  296. package/dist/node_modules/date-fns/locale/fr/build_format_locale/index.js.map +1 -0
  297. package/dist/node_modules/date-fns/locale/fr/index.js +27 -0
  298. package/dist/node_modules/date-fns/locale/fr/index.js.map +1 -0
  299. package/dist/node_modules/date-fns/locale/it/build_distance_in_words_locale/index.js +110 -0
  300. package/dist/node_modules/date-fns/locale/it/build_distance_in_words_locale/index.js.map +1 -0
  301. package/dist/node_modules/date-fns/locale/it/build_format_locale/index.js +86 -0
  302. package/dist/node_modules/date-fns/locale/it/build_format_locale/index.js.map +1 -0
  303. package/dist/node_modules/date-fns/locale/it/index.js +26 -0
  304. package/dist/node_modules/date-fns/locale/it/index.js.map +1 -0
  305. package/dist/node_modules/date-fns/locale/nl/build_distance_in_words_locale/index.js +110 -0
  306. package/dist/node_modules/date-fns/locale/nl/build_distance_in_words_locale/index.js.map +1 -0
  307. package/dist/node_modules/date-fns/locale/nl/build_format_locale/index.js +86 -0
  308. package/dist/node_modules/date-fns/locale/nl/build_format_locale/index.js.map +1 -0
  309. package/dist/node_modules/date-fns/locale/nl/index.js +27 -0
  310. package/dist/node_modules/date-fns/locale/nl/index.js.map +1 -0
  311. package/dist/node_modules/date-fns/locale/th/build_distance_in_words_locale/index.js +114 -0
  312. package/dist/node_modules/date-fns/locale/th/build_distance_in_words_locale/index.js.map +1 -0
  313. package/dist/node_modules/date-fns/locale/th/build_format_locale/index.js +74 -0
  314. package/dist/node_modules/date-fns/locale/th/build_format_locale/index.js.map +1 -0
  315. package/dist/node_modules/date-fns/locale/th/index.js +26 -0
  316. package/dist/node_modules/date-fns/locale/th/index.js.map +1 -0
  317. package/dist/node_modules/date-fns/parse/index.js +346 -0
  318. package/dist/node_modules/date-fns/parse/index.js.map +1 -0
  319. package/dist/node_modules/date-fns/start_of_iso_week/index.js +38 -0
  320. package/dist/node_modules/date-fns/start_of_iso_week/index.js.map +1 -0
  321. package/dist/node_modules/date-fns/start_of_iso_year/index.js +46 -0
  322. package/dist/node_modules/date-fns/start_of_iso_year/index.js.map +1 -0
  323. package/dist/node_modules/date-fns/start_of_week/index.js +51 -0
  324. package/dist/node_modules/date-fns/start_of_week/index.js.map +1 -0
  325. package/dist/node_modules/hyphenate-style-name/index.js +20 -0
  326. package/dist/node_modules/hyphenate-style-name/index.js.map +1 -0
  327. package/dist/node_modules/is-in-browser/dist/module.js +6 -0
  328. package/dist/node_modules/is-in-browser/dist/module.js.map +1 -0
  329. package/dist/node_modules/jss/dist/jss.esm.js +2220 -0
  330. package/dist/node_modules/jss/dist/jss.esm.js.map +1 -0
  331. package/dist/node_modules/jss-plugin-camel-case/dist/jss-plugin-camel-case.esm.js +60 -0
  332. package/dist/node_modules/jss-plugin-camel-case/dist/jss-plugin-camel-case.esm.js.map +1 -0
  333. package/dist/node_modules/jss-plugin-default-unit/dist/jss-plugin-default-unit.esm.js +252 -0
  334. package/dist/node_modules/jss-plugin-default-unit/dist/jss-plugin-default-unit.esm.js.map +1 -0
  335. package/dist/node_modules/jss-plugin-global/dist/jss-plugin-global.esm.js +187 -0
  336. package/dist/node_modules/jss-plugin-global/dist/jss-plugin-global.esm.js.map +1 -0
  337. package/dist/node_modules/jss-plugin-nested/dist/jss-plugin-nested.esm.js +114 -0
  338. package/dist/node_modules/jss-plugin-nested/dist/jss-plugin-nested.esm.js.map +1 -0
  339. package/dist/node_modules/jss-plugin-props-sort/dist/jss-plugin-props-sort.esm.js +29 -0
  340. package/dist/node_modules/jss-plugin-props-sort/dist/jss-plugin-props-sort.esm.js.map +1 -0
  341. package/dist/node_modules/jss-plugin-rule-value-function/dist/jss-plugin-rule-value-function.esm.js +66 -0
  342. package/dist/node_modules/jss-plugin-rule-value-function/dist/jss-plugin-rule-value-function.esm.js.map +1 -0
  343. package/dist/node_modules/jss-plugin-vendor-prefixer/dist/jss-plugin-vendor-prefixer.esm.js +58 -0
  344. package/dist/node_modules/jss-plugin-vendor-prefixer/dist/jss-plugin-vendor-prefixer.esm.js.map +1 -0
  345. package/dist/node_modules/object-assign/index.js +100 -0
  346. package/dist/node_modules/object-assign/index.js.map +1 -0
  347. package/dist/node_modules/prop-types/checkPropTypes.js +116 -0
  348. package/dist/node_modules/prop-types/checkPropTypes.js.map +1 -0
  349. package/dist/node_modules/prop-types/factoryWithThrowingShims.js +75 -0
  350. package/dist/node_modules/prop-types/factoryWithThrowingShims.js.map +1 -0
  351. package/dist/node_modules/prop-types/factoryWithTypeCheckers.js +626 -0
  352. package/dist/node_modules/prop-types/factoryWithTypeCheckers.js.map +1 -0
  353. package/dist/node_modules/prop-types/index.js +34 -0
  354. package/dist/node_modules/prop-types/index.js.map +1 -0
  355. package/dist/node_modules/prop-types/lib/ReactPropTypesSecret.js +22 -0
  356. package/dist/node_modules/prop-types/lib/ReactPropTypesSecret.js.map +1 -0
  357. package/dist/node_modules/prop-types/lib/has.js +12 -0
  358. package/dist/node_modules/prop-types/lib/has.js.map +1 -0
  359. package/dist/node_modules/react/cjs/react-jsx-runtime.development.js +1326 -0
  360. package/dist/node_modules/react/cjs/react-jsx-runtime.development.js.map +1 -0
  361. package/dist/node_modules/react/cjs/react-jsx-runtime.production.min.js +25 -0
  362. package/dist/node_modules/react/cjs/react-jsx-runtime.production.min.js.map +1 -0
  363. package/dist/node_modules/react/jsx-runtime.js +20 -0
  364. package/dist/node_modules/react/jsx-runtime.js.map +1 -0
  365. package/dist/node_modules/react-is/cjs/react-is.development.js +191 -0
  366. package/dist/node_modules/react-is/cjs/react-is.development.js.map +1 -0
  367. package/dist/node_modules/react-is/cjs/react-is.production.min.js +27 -0
  368. package/dist/node_modules/react-is/cjs/react-is.production.min.js.map +1 -0
  369. package/dist/node_modules/react-is/index.js +20 -0
  370. package/dist/node_modules/react-is/index.js.map +1 -0
  371. package/dist/node_modules/tiny-warning/dist/tiny-warning.esm.js +18 -0
  372. package/dist/node_modules/tiny-warning/dist/tiny-warning.esm.js.map +1 -0
  373. package/dist/rules/src/chart/getAxisOptions.js +256 -0
  374. package/dist/rules/src/chart/getAxisOptions.js.map +1 -0
  375. package/dist/rules/src/chart/getBaseOptions.js +77 -0
  376. package/dist/rules/src/chart/getBaseOptions.js.map +1 -0
  377. package/dist/rules/src/chart/getChartOptions.js +120 -0
  378. package/dist/rules/src/chart/getChartOptions.js.map +1 -0
  379. package/dist/rules/src/chart/getGridOptions.js +46 -0
  380. package/dist/rules/src/chart/getGridOptions.js.map +1 -0
  381. package/dist/rules/src/chart/getTooltipOptions.js +223 -0
  382. package/dist/rules/src/chart/getTooltipOptions.js.map +1 -0
  383. package/dist/rules/src/constants.js +65 -0
  384. package/dist/rules/src/constants.js.map +1 -0
  385. package/dist/rules/src/date.js +121 -0
  386. package/dist/rules/src/date.js.map +1 -0
  387. package/dist/rules/src/dimension-utils.js +57 -0
  388. package/dist/rules/src/dimension-utils.js.map +1 -0
  389. package/dist/rules/src/factories/choro-series.js +68 -0
  390. package/dist/rules/src/factories/choro-series.js.map +1 -0
  391. package/dist/rules/src/factories/sample-focus.js +25 -0
  392. package/dist/rules/src/factories/sample-focus.js.map +1 -0
  393. package/dist/rules/src/factories/sample-series.js +53 -0
  394. package/dist/rules/src/factories/sample-series.js.map +1 -0
  395. package/dist/rules/src/factories/scatter-dimension.js +35 -0
  396. package/dist/rules/src/factories/scatter-dimension.js.map +1 -0
  397. package/dist/rules/src/factories/scatter-focus.js +42 -0
  398. package/dist/rules/src/factories/scatter-focus.js.map +1 -0
  399. package/dist/rules/src/factories/scatter-series.js +91 -0
  400. package/dist/rules/src/factories/scatter-series.js.map +1 -0
  401. package/dist/rules/src/factories/stacked-dimension.js +32 -0
  402. package/dist/rules/src/factories/stacked-dimension.js.map +1 -0
  403. package/dist/rules/src/factories/stacked-series.js +188 -0
  404. package/dist/rules/src/factories/stacked-series.js.map +1 -0
  405. package/dist/rules/src/factories/symbol-dimension.js +32 -0
  406. package/dist/rules/src/factories/symbol-dimension.js.map +1 -0
  407. package/dist/rules/src/factories/symbol-series.js +65 -0
  408. package/dist/rules/src/factories/symbol-series.js.map +1 -0
  409. package/dist/rules/src/factories/timeline-focus.js +21 -0
  410. package/dist/rules/src/factories/timeline-focus.js.map +1 -0
  411. package/dist/rules/src/factories/timeline-series.js +94 -0
  412. package/dist/rules/src/factories/timeline-series.js.map +1 -0
  413. package/dist/rules/src/get-values-enhanced.js +133 -0
  414. package/dist/rules/src/get-values-enhanced.js.map +1 -0
  415. package/dist/rules/src/header/getDefaultSubtitle.js +44 -0
  416. package/dist/rules/src/header/getDefaultSubtitle.js.map +1 -0
  417. package/dist/rules/src/header/getHeaderUnits.js +21 -0
  418. package/dist/rules/src/header/getHeaderUnits.js.map +1 -0
  419. package/dist/rules/src/header/getSubtitleFlags.js +47 -0
  420. package/dist/rules/src/header/getSubtitleFlags.js.map +1 -0
  421. package/dist/rules/src/header/getTitleFlags.js +12 -0
  422. package/dist/rules/src/header/getTitleFlags.js.map +1 -0
  423. package/dist/rules/src/index.js +378 -0
  424. package/dist/rules/src/index.js.map +1 -0
  425. package/dist/rules/src/layout.js +107 -0
  426. package/dist/rules/src/layout.js.map +1 -0
  427. package/dist/rules/src/observation-formater.js +86 -0
  428. package/dist/rules/src/observation-formater.js.map +1 -0
  429. package/dist/rules/src/preparators/formatValue.js +96 -0
  430. package/dist/rules/src/preparators/formatValue.js.map +1 -0
  431. package/dist/rules/src/preparators/getObservations.js +22 -0
  432. package/dist/rules/src/preparators/getObservations.js.map +1 -0
  433. package/dist/rules/src/preparators/getReportingYearStart.js +19 -0
  434. package/dist/rules/src/preparators/getReportingYearStart.js.map +1 -0
  435. package/dist/rules/src/properties/errors.js +22 -0
  436. package/dist/rules/src/properties/errors.js.map +1 -0
  437. package/dist/rules/src/properties/focus.js +72 -0
  438. package/dist/rules/src/properties/focus.js.map +1 -0
  439. package/dist/rules/src/properties/getAvailableChartTypes.js +31 -0
  440. package/dist/rules/src/properties/getAvailableChartTypes.js.map +1 -0
  441. package/dist/rules/src/properties/getHeaderProps.js +76 -0
  442. package/dist/rules/src/properties/getHeaderProps.js.map +1 -0
  443. package/dist/rules/src/properties/getInformationsStateFromNewProps.js +50 -0
  444. package/dist/rules/src/properties/getInformationsStateFromNewProps.js.map +1 -0
  445. package/dist/rules/src/properties/getObservationsType.js +28 -0
  446. package/dist/rules/src/properties/getObservationsType.js.map +1 -0
  447. package/dist/rules/src/properties/getStringifiedSubtitle.js +9 -0
  448. package/dist/rules/src/properties/getStringifiedSubtitle.js.map +1 -0
  449. package/dist/rules/src/properties/index.js +384 -0
  450. package/dist/rules/src/properties/index.js.map +1 -0
  451. package/dist/rules/src/properties/linear.js +123 -0
  452. package/dist/rules/src/properties/linear.js.map +1 -0
  453. package/dist/rules/src/properties/scatter.js +156 -0
  454. package/dist/rules/src/properties/scatter.js.map +1 -0
  455. package/dist/rules/src/properties/stacked.js +96 -0
  456. package/dist/rules/src/properties/stacked.js.map +1 -0
  457. package/dist/rules/src/properties/symbol.js +76 -0
  458. package/dist/rules/src/properties/symbol.js.map +1 -0
  459. package/dist/rules/src/properties/utils.js +86 -0
  460. package/dist/rules/src/properties/utils.js.map +1 -0
  461. package/dist/rules/src/sdmx-data/index.js +38 -0
  462. package/dist/rules/src/sdmx-data/index.js.map +1 -0
  463. package/dist/rules/src/table/factories/getCellValue.js +53 -0
  464. package/dist/rules/src/table/factories/getCellValue.js.map +1 -0
  465. package/dist/rules/src/v8-transformer.js +174 -0
  466. package/dist/rules/src/v8-transformer.js.map +1 -0
  467. package/dist/rules2/src/applyHierarchicalCodesToDim.js +126 -0
  468. package/dist/rules2/src/applyHierarchicalCodesToDim.js.map +1 -0
  469. package/dist/rules2/src/combinedValuesDisplay.js +77 -0
  470. package/dist/rules2/src/combinedValuesDisplay.js.map +1 -0
  471. package/dist/rules2/src/constants.js +9 -0
  472. package/dist/rules2/src/constants.js.map +1 -0
  473. package/dist/rules2/src/duplicateObservations.js +38 -0
  474. package/dist/rules2/src/duplicateObservations.js.map +1 -0
  475. package/dist/rules2/src/enhanceObservations.js +98 -0
  476. package/dist/rules2/src/enhanceObservations.js.map +1 -0
  477. package/dist/rules2/src/getAttributesSeries.js +39 -0
  478. package/dist/rules2/src/getAttributesSeries.js.map +1 -0
  479. package/dist/rules2/src/getCombinationDefinitions.js +50 -0
  480. package/dist/rules2/src/getCombinationDefinitions.js.map +1 -0
  481. package/dist/rules2/src/getDataflowAttributes.js +25 -0
  482. package/dist/rules2/src/getDataflowAttributes.js.map +1 -0
  483. package/dist/rules2/src/getDataflowTooltipAttributesIds.js +33 -0
  484. package/dist/rules2/src/getDataflowTooltipAttributesIds.js.map +1 -0
  485. package/dist/rules2/src/getDimensionValuesIndexes.js +16 -0
  486. package/dist/rules2/src/getDimensionValuesIndexes.js.map +1 -0
  487. package/dist/rules2/src/getHCodelistsRefsInData.js +35 -0
  488. package/dist/rules2/src/getHCodelistsRefsInData.js.map +1 -0
  489. package/dist/rules2/src/getHeaderCombinations.js +51 -0
  490. package/dist/rules2/src/getHeaderCombinations.js.map +1 -0
  491. package/dist/rules2/src/getHeaderCoordinates.js +10 -0
  492. package/dist/rules2/src/getHeaderCoordinates.js.map +1 -0
  493. package/dist/rules2/src/getHeaderSubtitle.js +37 -0
  494. package/dist/rules2/src/getHeaderSubtitle.js.map +1 -0
  495. package/dist/rules2/src/getHeaderTitle.js +18 -0
  496. package/dist/rules2/src/getHeaderTitle.js.map +1 -0
  497. package/dist/rules2/src/getMSDInformations.js +26 -0
  498. package/dist/rules2/src/getMSDInformations.js.map +1 -0
  499. package/dist/rules2/src/getManyValuesDimensions.js +37 -0
  500. package/dist/rules2/src/getManyValuesDimensions.js.map +1 -0
  501. package/dist/rules2/src/getMetadataCoordinates.js +40 -0
  502. package/dist/rules2/src/getMetadataCoordinates.js.map +1 -0
  503. package/dist/rules2/src/getNotDisplayedIds.js +56 -0
  504. package/dist/rules2/src/getNotDisplayedIds.js.map +1 -0
  505. package/dist/rules2/src/getOneValueDimensions.js +37 -0
  506. package/dist/rules2/src/getOneValueDimensions.js.map +1 -0
  507. package/dist/rules2/src/getSeriesCombinations.js +27 -0
  508. package/dist/rules2/src/getSeriesCombinations.js.map +1 -0
  509. package/dist/rules2/src/hasCellMetadata.js +17 -0
  510. package/dist/rules2/src/hasCellMetadata.js.map +1 -0
  511. package/dist/rules2/src/hierarchiseDimensionWithAdvancedHierarchy2.js +60 -0
  512. package/dist/rules2/src/hierarchiseDimensionWithAdvancedHierarchy2.js.map +1 -0
  513. package/dist/rules2/src/hierarchiseDimensionWithNativeHierarchy2.js +38 -0
  514. package/dist/rules2/src/hierarchiseDimensionWithNativeHierarchy2.js.map +1 -0
  515. package/dist/rules2/src/index.js +47 -0
  516. package/dist/rules2/src/index.js.map +1 -0
  517. package/dist/rules2/src/parseAttributes.js +44 -0
  518. package/dist/rules2/src/parseAttributes.js.map +1 -0
  519. package/dist/rules2/src/parseCombinations.js +105 -0
  520. package/dist/rules2/src/parseCombinations.js.map +1 -0
  521. package/dist/rules2/src/parseHierarchicalCodelist.js +34 -0
  522. package/dist/rules2/src/parseHierarchicalCodelist.js.map +1 -0
  523. package/dist/rules2/src/parseMetadataSeries.js +124 -0
  524. package/dist/rules2/src/parseMetadataSeries.js.map +1 -0
  525. package/dist/rules2/src/prepareData.js +78 -0
  526. package/dist/rules2/src/prepareData.js.map +1 -0
  527. package/dist/rules2/src/refineAttributes.js +19 -0
  528. package/dist/rules2/src/refineAttributes.js.map +1 -0
  529. package/dist/rules2/src/refineDimensions.js +21 -0
  530. package/dist/rules2/src/refineDimensions.js.map +1 -0
  531. package/dist/rules2/src/refineTimePeriod.js +130 -0
  532. package/dist/rules2/src/refineTimePeriod.js.map +1 -0
  533. package/dist/rules2/src/sdmx3.0DataFormatPatch.js +12 -0
  534. package/dist/rules2/src/sdmx3.0DataFormatPatch.js.map +1 -0
  535. package/dist/rules2/src/table/declineObservationsOverAttributes.js +35 -0
  536. package/dist/rules2/src/table/declineObservationsOverAttributes.js.map +1 -0
  537. package/dist/rules2/src/table/getCells.js +96 -0
  538. package/dist/rules2/src/table/getCells.js.map +1 -0
  539. package/dist/rules2/src/table/getCellsAttributesIds.js +41 -0
  540. package/dist/rules2/src/table/getCellsAttributesIds.js.map +1 -0
  541. package/dist/rules2/src/table/getCellsMetadataCoordinates.js +16 -0
  542. package/dist/rules2/src/table/getCellsMetadataCoordinates.js.map +1 -0
  543. package/dist/rules2/src/table/getCuratedCells.js +36 -0
  544. package/dist/rules2/src/table/getCuratedCells.js.map +1 -0
  545. package/dist/rules2/src/table/getFlagsAndNotes.js +26 -0
  546. package/dist/rules2/src/table/getFlagsAndNotes.js.map +1 -0
  547. package/dist/rules2/src/table/getIndexedCombinationsByDisplay.js +19 -0
  548. package/dist/rules2/src/table/getIndexedCombinationsByDisplay.js.map +1 -0
  549. package/dist/rules2/src/table/getLayout.js +87 -0
  550. package/dist/rules2/src/table/getLayout.js.map +1 -0
  551. package/dist/rules2/src/table/getLayoutData2.js +205 -0
  552. package/dist/rules2/src/table/getLayoutData2.js.map +1 -0
  553. package/dist/rules2/src/table/getSortedLayoutIndexes.js +141 -0
  554. package/dist/rules2/src/table/getSortedLayoutIndexes.js.map +1 -0
  555. package/dist/rules2/src/table/getTableLabelAccessor.js +11 -0
  556. package/dist/rules2/src/table/getTableLabelAccessor.js.map +1 -0
  557. package/dist/rules2/src/table/getTableLayoutIds.js +317 -0
  558. package/dist/rules2/src/table/getTableLayoutIds.js.map +1 -0
  559. package/dist/rules2/src/table/getTableProps.js +85 -0
  560. package/dist/rules2/src/table/getTableProps.js.map +1 -0
  561. package/dist/rules2/src/table/parseSeriesIndexesHierarchies.js +82 -0
  562. package/dist/rules2/src/table/parseSeriesIndexesHierarchies.js.map +1 -0
  563. package/dist/rules2/src/table/parseValueHierarchy.js +29 -0
  564. package/dist/rules2/src/table/parseValueHierarchy.js.map +1 -0
  565. package/dist/rules2/src/table/refineLayoutSize2.js +324 -0
  566. package/dist/rules2/src/table/refineLayoutSize2.js.map +1 -0
  567. package/dist/rules2/src/utils.js +29 -0
  568. package/dist/rules2/src/utils.js.map +1 -0
  569. package/dist/viewer/src/chart.js +50 -0
  570. package/dist/viewer/src/chart.js.map +1 -0
  571. package/dist/viewer/src/chartUtils/options.js +33 -0
  572. package/dist/viewer/src/chartUtils/options.js.map +1 -0
  573. package/dist/viewer/src/chartUtils/series.js +54 -0
  574. package/dist/viewer/src/chartUtils/series.js.map +1 -0
  575. package/dist/viewer/src/footer.js +39 -0
  576. package/dist/viewer/src/footer.js.map +1 -0
  577. package/dist/viewer/src/header.js +12 -0
  578. package/dist/viewer/src/header.js.map +1 -0
  579. package/dist/viewer/src/index.js +160 -0
  580. package/dist/viewer/src/index.js.map +1 -0
  581. package/dist/viewer/src/legends/AxisLegend.js +42 -0
  582. package/dist/viewer/src/legends/AxisLegend.js.map +1 -0
  583. package/dist/viewer/src/legends/ChartLegends.js +80 -0
  584. package/dist/viewer/src/legends/ChartLegends.js.map +1 -0
  585. package/dist/viewer/src/legends/FocusLegend.js +67 -0
  586. package/dist/viewer/src/legends/FocusLegend.js.map +1 -0
  587. package/dist/viewer/src/legends/Legend.js +51 -0
  588. package/dist/viewer/src/legends/Legend.js.map +1 -0
  589. package/dist/viewer/src/legends/SeriesLegend.js +77 -0
  590. package/dist/viewer/src/legends/SeriesLegend.js.map +1 -0
  591. package/dist/viewer/src/utils.js +24 -0
  592. package/dist/viewer/src/utils.js.map +1 -0
  593. package/package.json +1 -1
  594. package/.editorconfig +0 -19
  595. package/.gitlab-ci.yml +0 -48
  596. package/prettier.config.js +0 -13
  597. package/rollup.config.mjs +0 -28
  598. package/src/rules/test/extractSdmxArtefacts.js +0 -26
  599. package/src/rules/test/get-values-enhanced.test.js +0 -127
  600. package/src/rules/test/oecd-HEALTH_PROT-no-freq.json +0 -2903
  601. package/src/rules/test/oecd-HEALTH_PROT-parsed.js +0 -398
  602. package/src/rules/test/oecd-HEALTH_PROT-wrong-freq.json +0 -2913
  603. package/src/rules/test/oecd-HEALTH_PROT.json +0 -2913
  604. package/src/rules/test/oecd-KEI.json +0 -372
  605. package/src/rules/test/scatter-property.js +0 -455
  606. package/src/rules/test/stacked-property.js +0 -273
  607. package/src/rules/test/symbol-property.js +0 -262
  608. package/src/rules/test/v8-transformer.test.js +0 -90
  609. package/test/applyHierarchicalCodesToDim.test.js +0 -643
  610. package/test/combinedValuesDisplay.test.js +0 -66
  611. package/test/duplicateObs.test.js +0 -118
  612. package/test/enhanceObservations2.test.js +0 -257
  613. package/test/getAttributesSeries.test.js +0 -66
  614. package/test/getAxisOptions.test.js +0 -309
  615. package/test/getBaseOptions.test.js +0 -77
  616. package/test/getCellValue.test.js +0 -32
  617. package/test/getCells.test.js +0 -178
  618. package/test/getCellsMetadataCoordinates.test.js +0 -40
  619. package/test/getCombinationDefinitions.test.js +0 -104
  620. package/test/getCombinationDimensionsData.test.js +0 -99
  621. package/test/getDataflowAttributes.test.js +0 -23
  622. package/test/getDataflowTooltipAttributesIds.test.js +0 -146
  623. package/test/getDimensionValuesIndexes.test.js +0 -33
  624. package/test/getGridOptions.test.js +0 -65
  625. package/test/getHCodelistsRefs.test.js +0 -23
  626. package/test/getHeaderCombinations.test.js +0 -62
  627. package/test/getHeaderTitle.test.js +0 -25
  628. package/test/getLayout.test.js +0 -54
  629. package/test/getLayoutData2.test.js +0 -540
  630. package/test/getMSDInformations.test.js +0 -35
  631. package/test/getMetadataCoordinates.test.js +0 -0
  632. package/test/getNotDisplayedIds.test.js +0 -47
  633. package/test/getObservationsType.test.js +0 -55
  634. package/test/getOneValueDimensions.test.js +0 -35
  635. package/test/getReportingYearStart.test.js +0 -59
  636. package/test/getSeriesCombinations.test.js +0 -29
  637. package/test/getSortedLayoutIndexes.test.js +0 -1248
  638. package/test/getTableLabelAccessor.test.js +0 -50
  639. package/test/getTableLayoutIds.test.js +0 -356
  640. package/test/hierarchiseDimensionWithNativeHierarchy2.test.js +0 -109
  641. package/test/isTableLayoutCompatible.test.js +0 -102
  642. package/test/metadata-parsing-perf.test.js +0 -509
  643. package/test/mocks/MSD_TEST.json +0 -490
  644. package/test/mocks/OECD_SNA_TABLE1_1.0_-_AUS_V_metadata.json +0 -152
  645. package/test/mocks/h-codelist.json +0 -2095
  646. package/test/mocks/large_metadata_series.json +0 -701
  647. package/test/mocks/observations-advanced-attributes.json +0 -55382
  648. package/test/mocks/table-invert-time--data.json +0 -80211
  649. package/test/mocks/table-invert-time--inverted.json +0 -80076
  650. package/test/mocks/table-layout-multi-hierarchies--layout.json +0 -621
  651. package/test/mocks/table-layout-multi-hierarchies--layoutData.json +0 -32411
  652. package/test/mocks/table-layout-multi-hierarchies--layoutIndexes.json +0 -2760
  653. package/test/mocks/table-layout-multi-hierarchies--observations.json +0 -30688
  654. package/test/mocks/table-layout-multi-hierarchies--sizedIndexes.json +0 -2762
  655. package/test/mocks/table-layout-truncation1--layout.json +0 -27469
  656. package/test/mocks/table-layout-truncation1--layoutData.json +0 -20358
  657. package/test/mocks/table-layout-truncation1--layoutIndexes.json +0 -7512
  658. package/test/mocks/table-layout-truncation1--observations.json +0 -70002
  659. package/test/mocks/table-layout-truncation1--sizedIndexes.json +0 -3011
  660. package/test/mocks/table-prep-multi-hierarchies--attributes.json +0 -46
  661. package/test/mocks/table-prep-multi-hierarchies--dimensions.json +0 -688
  662. package/test/mocks/table-prep-multi-hierarchies--enhancedObservations.json +0 -19696
  663. package/test/mocks/table-prep-multi-hierarchies--observations.json +0 -8246
  664. package/test/mocks/table-prep-multi-hierarchies--sdmxJson.json +0 -2985
  665. package/test/mocks/table-prep-simple-duplicate--dimensions2.json +0 -858
  666. package/test/mocks/table-prep-simple-duplicate--duplicated2.json +0 -77502
  667. package/test/mocks/table-prep-simple-duplicate--observations2.json +0 -60002
  668. package/test/mocks/table-prep-truncation1--dimensions.json +0 -35057
  669. package/test/mocks/table-prep-truncation1--enhancedObservations.json +0 -70002
  670. package/test/mocks/table-prep-truncation1--observations.json +0 -27502
  671. package/test/mocks/table-prep-truncation1--sdmxJson.json +0 -55103
  672. package/test/mocks/table-prep-units--observations.json +0 -284286
  673. package/test/mocks/table-prep-units--unitsSeries.json +0 -41042
  674. package/test/parseAttributes.test.js +0 -36
  675. package/test/parseCombinations.test.js +0 -172
  676. package/test/parseHierarchicalCodelist.test.js +0 -140
  677. package/test/parseMetadataSeries.test.js +0 -126
  678. package/test/parseSeriesIndexesHierarchies.test.js +0 -345
  679. package/test/parseValueHierarchy.test.js +0 -138
  680. package/test/refineAttributes.test.js +0 -29
  681. package/test/refineLayoutSize2.test.js +0 -3410
  682. package/test/refineMetadataCoordinates.test.js +0 -86
  683. package/test/refineTimePeriod.test.js +0 -580
  684. package/test/refinedDimensions.test.js +0 -35
  685. package/test/scatter-dimension.test.js +0 -79
  686. package/test/scatter-series.test.js +0 -67
@@ -0,0 +1,378 @@
1
+ import { get, reduce, map, filter, size, partition, reject, isEmpty, keyBy, isNil, includes, omit, flatten, compact, find, isArray, findIndex, isEqual, pick } from 'lodash';
2
+ import * as R from 'ramda';
3
+ import memoizee from 'memoizee';
4
+ import __sampleSeries from './factories/sample-series.js';
5
+ import focus$1 from './factories/sample-focus.js';
6
+ import __scatterSeries from './factories/scatter-series.js';
7
+ import focus$3 from './factories/scatter-focus.js';
8
+ import __scatterDimension from './factories/scatter-dimension.js';
9
+ import __symbolSeries from './factories/symbol-series.js';
10
+ import __symbolDimension from './factories/symbol-dimension.js';
11
+ import __timelineSeries from './factories/timeline-series.js';
12
+ import focus$2 from './factories/timeline-focus.js';
13
+ import __stackedSeries from './factories/stacked-series.js';
14
+ import __stackedDimension from './factories/stacked-dimension.js';
15
+ import __choroSeries from './factories/choro-series.js';
16
+ import { FREQ_A, FREQ_Q, FREQ_M, DEFAULT_REJECTED_SUBTITLE_IDS, DEFAULT_UPR_IDS, DEFAULT_REJECTED_UPR_VALUES_IDS } from './constants.js';
17
+ export { DEFAULT_MAJOR_ATTRIBUTES, DIMENSION_DISPLAY_PARTS, V8_SDMX_JSON, TYPES as chartTypes } from './constants.js';
18
+ import { dimensionValueDisplay } from './dimension-utils.js';
19
+ import { getObservationsFormaterAttributes } from './observation-formater.js';
20
+ export { getErrors, initialState, onChangeProperties, stateFromNewProps, toChartData, toChartOptions, toProperties, toSingularity } from './properties/index.js';
21
+ export { dataTransformer as v8Transformer } from './v8-transformer.js';
22
+ export { getFullName } from './sdmx-data/index.js';
23
+ export { getTimePeriodLabel } from './date.js';
24
+ export { getFooterProps, getHeaderProps } from './properties/getHeaderProps.js';
25
+ export { getInformationsStateFromNewProps } from './properties/getInformationsStateFromNewProps.js';
26
+ export { getObservationsType } from './properties/getObservationsType.js';
27
+ export { getAvailableChartTypes } from './properties/getAvailableChartTypes.js';
28
+ export { isSharedLayoutCompatible } from './layout.js';
29
+ export { getObservations } from './preparators/getObservations.js';
30
+ export { getCellValue } from './table/factories/getCellValue.js';
31
+
32
+ const freqA = FREQ_A;
33
+ const freqQ = FREQ_Q;
34
+ const freqM = FREQ_M;
35
+
36
+ // --------------------------------------------------------------------------------extractSdmxErrors
37
+ const _extractSdmxErrors = (data) => R.compose(
38
+ (errors) => map(errors, (error) => ({ label: error.code, description: error.message })),
39
+ (data) => get(data, 'errors', [])
40
+ );
41
+ const extractSdmxErrors = memoizee(_extractSdmxErrors);
42
+
43
+ const extractDataName = (data) => R.pathOr(null, ['structure', 'name'], data);
44
+
45
+ // -----------------------------------------------------------------------------extractSdmxArtefacts
46
+ const _extractSdmxArtefacts = (data) => {
47
+ const parseStructure = (data) => get(data, 'structure', {});
48
+ const parseItem = (item) => parseComponents(get(item, 'observation', []));
49
+ const parseDimensions = (structure) => parseItem(get(structure, 'dimensions', {}));
50
+ const parseAttributes = (structure) => parseItem(get(structure, 'attributes', {}));
51
+ const parseComponents = (components) => map(components, parseComponent);
52
+ const parseComponent = (component, index) => {
53
+ let parsed = { ...pick(component, 'id', 'name', 'values', 'role', 'isHidden'), index };
54
+ if (isEmpty(parsed))
55
+ return parsed;
56
+ if (isNil(parsed.role))
57
+ parsed.role = parsed.id;
58
+ parsed.values = R.sortBy(R.prop('__index'))(parsed.values);
59
+ return parsed;
60
+ };
61
+ const parseDatasetItem = (item) => parseComponents(get(item, 'dataSet', []));
62
+ const parseDatasetAttributes = (structure) => parseDatasetItem(get(structure, 'attributes', {}));
63
+
64
+ return {
65
+ attributes: parseAttributes(parseStructure(data)),
66
+ datasetAttributes: parseDatasetAttributes(parseStructure(data)),
67
+ dimensions: parseDimensions(parseStructure(data)),
68
+ id: get(data, 'header.id', null),
69
+ name: extractDataName(data),
70
+ observations: R.pipe(
71
+ R.pathOr({}, ['dataSets', 0, 'observations']),
72
+ R.mapObjIndexed(obs => R.over(R.lensIndex(0), val => R.isNil(val) ? null : Number(val))(obs)),
73
+ R.reject(R.pipe(R.head, R.anyPass([R.isNil, isNaN]))),
74
+ )(data),
75
+ source: get(data, 'header.links[0].href', null),
76
+ };
77
+ };
78
+ const extractSdmxArtefacts = memoizee(_extractSdmxArtefacts);
79
+
80
+ const _getRelevantsDatasetAttributes = (data) => {
81
+ const { datasetAttributes } = extractSdmxArtefacts(data);
82
+ return filter(datasetAttributes, attr => size(attr.values) === 1);
83
+ };
84
+ const getRelevantsDatasetAttributes = memoizee(_getRelevantsDatasetAttributes);
85
+
86
+ // -------------------------------------------------------------------------------getDimensionValues
87
+ const getDimensionValues = (dimension) => get(dimension, 'values', []);
88
+
89
+ // ----------------------------------------------------------------------------------splitDimensions
90
+ const _splitDimensions = (data) => {
91
+ const { dimensions } = extractSdmxArtefacts(data);
92
+ const [value, values] = partition(
93
+ reject(dimensions, R.compose(isEmpty, getDimensionValues)),
94
+ R.compose((values) => size(values) === 1, getDimensionValues)
95
+ );
96
+ return { value, values };
97
+ };
98
+ const splitDimensions = memoizee(_splitDimensions);
99
+
100
+ // ------------------------------------------------------------------dimensionsWithValuesIndexedById
101
+ const _dimensionsWithValuesIndexedById = (data) => R.compose(
102
+ (dimensionsWithValues) => keyBy(dimensionsWithValues, 'id'),
103
+ (split) => split.values,
104
+ splitDimensions
105
+ )(data);
106
+ const dimensionsWithValuesIndexedById = memoizee(_dimensionsWithValuesIndexedById);
107
+
108
+ // -------------------------------------------------------------------------------------parseDisplay
109
+ const _parseDisplay = (display) =>
110
+ (isNil(display) || !(includes(['both', 'code'], display)))
111
+ ? 'label' : display;
112
+ const parseDisplay = memoizee(_parseDisplay);
113
+
114
+ // -------------------------------------------------------------------------------------sampleSeries
115
+ const _sampleSeries = (data, type, display, formaterIds) => __sampleSeries(
116
+ type,
117
+ extractSdmxArtefacts(data),
118
+ dimensionsWithValuesIndexedById(data),
119
+ parseDisplay(display),
120
+ getObservationsFormaterAttributes(data, formaterIds)
121
+ );
122
+ const sampleSeries = memoizee(_sampleSeries);
123
+
124
+ // ---------------------------------------------------------------------------------scatterDimension
125
+ const _scatterDimension = (data, ids) => {
126
+ const { values } = splitDimensions(data);
127
+ return __scatterDimension(values, ids);
128
+ };
129
+ const scatterDimension = memoizee(_scatterDimension);
130
+
131
+ // ----------------------------------------------------------------------------------symbolDimension
132
+ const _symbolDimension = (data, ids) => {
133
+ const { values } = splitDimensions(data);
134
+ return __symbolDimension(values, ids);
135
+ };
136
+ const symbolDimension = memoizee(_symbolDimension);
137
+
138
+ const _stackedDimension = (data, singularity) => {
139
+ return __stackedDimension(splitDimensions(data), singularity);
140
+ };
141
+ const stackedDimension = memoizee(_stackedDimension);
142
+
143
+ // ------------------------------------------------------------------------------------scatterSeries
144
+ const _scatterSeries = (data, ids, display, formaterIds) => __scatterSeries(
145
+ extractSdmxArtefacts(data),
146
+ dimensionsWithValuesIndexedById(data),
147
+ scatterDimension(data, ids),
148
+ parseDisplay(display),
149
+ getObservationsFormaterAttributes(data, formaterIds)
150
+ );
151
+ const scatterSeries = memoizee(_scatterSeries);
152
+
153
+ // -------------------------------------------------------------------------------------symbolSeries
154
+ const _symbolSeries = (data, type, ids, display, formaterIds) => __symbolSeries(
155
+ extractSdmxArtefacts(data),
156
+ type,
157
+ dimensionsWithValuesIndexedById(data),
158
+ symbolDimension(data, ids),
159
+ parseDisplay(display),
160
+ getObservationsFormaterAttributes(data, formaterIds)
161
+ );
162
+ const symbolSeries = memoizee(_symbolSeries);
163
+
164
+ // -----------------------------------------------------------------------------------timelineSeries
165
+ const _timelineSeries = (data, display, formaterIds) => __timelineSeries(
166
+ extractSdmxArtefacts(data),
167
+ dimensionsWithValuesIndexedById(data),
168
+ parseDisplay(display),
169
+ getObservationsFormaterAttributes(data, formaterIds)
170
+ );
171
+ const timelineSeries = memoizee(_timelineSeries);
172
+
173
+ const _stackedSeries = (data, singularity, display, formaterIds, [stackKey, categoryKey]) => __stackedSeries(
174
+ extractSdmxArtefacts(data),
175
+ dimensionsWithValuesIndexedById(data),
176
+ stackedDimension(data, singularity),
177
+ parseDisplay(display),
178
+ getObservationsFormaterAttributes(data, formaterIds),
179
+ [stackKey, categoryKey]
180
+ );
181
+ const stackedSeries = memoizee(_stackedSeries);
182
+
183
+ // --------------------------------------------------------------------------------------choroSeries
184
+ const _choroSeries = (data, map, display) => __choroSeries(
185
+ extractSdmxArtefacts(data),
186
+ dimensionsWithValuesIndexedById(data),
187
+ map,
188
+ parseDisplay(display)
189
+ );
190
+ const choroSeries = memoizee(_choroSeries);
191
+
192
+ // -------------------------------------------------------------------------------------------series
193
+ const _series = (data, type, focus, singularity, map, display, formaterIds) => {
194
+ switch(type) {
195
+ case 'RowChart': case 'BarChart':
196
+ return focus$1(sampleSeries(data, type, display, formaterIds), focus);
197
+ case 'ScatterChart':
198
+ return focus$3(scatterSeries(data, singularity, display, formaterIds), focus);
199
+ case 'HorizontalSymbolChart': case 'VerticalSymbolChart':
200
+ return focus$1(symbolSeries(data, type, singularity, display, formaterIds), focus);
201
+ case 'TimelineChart':
202
+ return focus$2(timelineSeries(data, display, formaterIds), focus);
203
+ case 'StackedBarChart':
204
+ return focus$1(stackedSeries(data, singularity, display, formaterIds, ['y', 'x']), focus);
205
+ case 'StackedRowChart':
206
+ return focus$1(stackedSeries(data, singularity, display, formaterIds, ['x', 'y']), focus);
207
+ case 'ChoroplethChart':
208
+ return choroSeries(data, map, display);
209
+ }
210
+ };
211
+ const series = memoizee(_series);
212
+
213
+ // -------------------------------------------------------------------------------------------source
214
+ const _source = (data, config, meta) => {
215
+ const hasSource = get(meta, 'hasSource', true);
216
+ if (!hasSource)
217
+ return null;
218
+ const source = get(config, 'source', null);
219
+ if (source && !(isEmpty(source)))
220
+ return source;
221
+ const artefacts = extractSdmxArtefacts(data);
222
+ const uri = get(artefacts, 'source');
223
+ if (!uri)
224
+ return get(config, 'defaultSource', null);
225
+ const match = uri.match(/(^http.*)\/SDMX-JSON\/data\/([^\/]+)\//);
226
+ if (size(match) !== 3)
227
+ return null;
228
+ const [m, domain, dataset] = match;
229
+ return `${domain}/Index.aspx?DataSetCode=${dataset}`; //tmp
230
+ };
231
+ const source = memoizee(_source);
232
+
233
+ // --------------------------------------------------------------------------------------------focus
234
+ const _focus = (data, type, dimension, _display) => {
235
+ const display = parseDisplay(_display);
236
+ switch(type) {
237
+ case 'RowChart': case 'BarChart':
238
+ case 'HorizontalSymbolChart': case 'VerticalSymbolChart':
239
+ case 'StackedBarChart': case 'StackedRowChart':
240
+ return R.compose(
241
+ (datapoints) => map(datapoints, (dp) => ({ label: dp.category, value: dp.key })),
242
+ (series) => series[0].datapoints,
243
+ series
244
+ )(data, type, null, dimension, null, display);
245
+ case 'TimelineChart':
246
+ return R.compose(
247
+ (series) => map(series, (serie) => ({ label: serie.category, value: serie.key })),
248
+ series
249
+ )(data, type, null, dimension, null, display)
250
+ case 'ScatterChart':
251
+ const id = get(dimension, 'id');
252
+ if (isNil(id)) return [];
253
+ const dimensions = R.compose(
254
+ (dimensions) => omit(dimensions, id),
255
+ dimensionsWithValuesIndexedById
256
+ )(data);
257
+ return flatten(map(
258
+ dimensions,
259
+ (dimension) => {
260
+ return map(
261
+ get(dimension, 'values'),
262
+ (value) => ({
263
+ label: `${dimensionValueDisplay(display)(dimension)} - ${dimensionValueDisplay(display)(value)}`,
264
+ options: { dimensionId: dimension.id, dimensionValueId: value.id },
265
+ value: `${dimension.id}-${value.id}`
266
+ })
267
+ )
268
+ }
269
+ ));
270
+ }
271
+ };
272
+ const focus = memoizee(_focus);
273
+
274
+ const _parseFocus = (data, type, dimension, display, { baseline, highlight }) => {
275
+ const options = focus(data, type, dimension, display);
276
+
277
+ const parseSelection = selection => compact(map(selection, ({ value }) => find(options, option => isEqual(option.value, value))));
278
+ return ({ baseline: parseSelection(baseline), highlight: parseSelection(highlight) });
279
+ };
280
+ const parseFocus = memoizee(_parseFocus);
281
+
282
+ const _defaultSubtitle = (data, display, REJECTED_SUBTITLE_IDS = DEFAULT_REJECTED_SUBTITLE_IDS) => {
283
+ const { value } = splitDimensions(data);
284
+ const values = reduce(
285
+ R.reject(R.prop('isHidden'))(value),
286
+ (memo, d) => {
287
+ const dvId = get(d, 'values[0].id');
288
+ if (!includes(REJECTED_SUBTITLE_IDS, dvId)) {
289
+ memo.push(`${dimensionValueDisplay(display)(d)}: ${dimensionValueDisplay(display)(get(d, 'values[0]'))}`);
290
+ }
291
+ return memo;
292
+ },
293
+ []
294
+ );
295
+ return values;
296
+ };
297
+ const defaultSubtitle = memoizee(_defaultSubtitle);
298
+
299
+ const _uprAttributes = (attributes, UPR_IDS = DEFAULT_UPR_IDS) => (
300
+ reduce(
301
+ UPR_IDS,
302
+ (memo, ids, uprKey) => {
303
+ const attr = find(attributes, attribute => includes(ids, get(attribute, 'id')));
304
+ if (attr) {
305
+ memo[uprKey] = attr;
306
+ }
307
+ return memo;
308
+ },
309
+ {}
310
+ )
311
+ );
312
+ const uprAttributes = memoizee(_uprAttributes);
313
+
314
+ const _uprAttributesWithOneRelevantValue = (uprAttributes, UPR_IDS = DEFAULT_UPR_IDS, REJECTED_UPR_VALUES_IDS = DEFAULT_REJECTED_UPR_VALUES_IDS) => reduce(
315
+ uprAttributes,
316
+ (memo, attr, key) => {
317
+ if (size(get(attr, 'values', [])) === 1 && !(includes(REJECTED_UPR_VALUES_IDS[key], get(attr, 'values[0].id', ''))))
318
+ memo[key] = attr;
319
+ return memo;
320
+ },
321
+ {}
322
+ );
323
+ const uprAttributesWithOneRelevantValue = memoizee(_uprAttributesWithOneRelevantValue);
324
+
325
+ const headerUprsLabel = display => uprAttributes => {
326
+ return map(
327
+ uprAttributes,
328
+ attr => dimensionValueDisplay(display)(get(attr, 'values[0]'))
329
+ ).join(', ');
330
+ };
331
+
332
+ const getUprs = (data, display) => R.compose(
333
+ headerUprsLabel(parseDisplay(display)),
334
+ uprAttributesWithOneRelevantValue,
335
+ ({ attributes }) => uprAttributes(attributes),
336
+ extractSdmxArtefacts
337
+ )(data);
338
+
339
+ const _header = (data, _title, _subtitle, _display) => {
340
+ const display = parseDisplay(_display);
341
+ const title = (isNil(_title) || isEmpty(_title)) ? get(data, 'structure.name') : _title;
342
+ const subtitle = (isNil(_subtitle) || isEmpty(_subtitle)) ? defaultSubtitle(data, display) : _subtitle;
343
+ return ({
344
+ title,
345
+ subtitle: isArray(subtitle) ? subtitle : [subtitle],
346
+ uprs: R.compose(
347
+ headerUprsLabel(display),
348
+ uprAttributesWithOneRelevantValue,
349
+ ({ attributes }) => uprAttributes(attributes),
350
+ extractSdmxArtefacts
351
+ )(data)
352
+ });
353
+ };
354
+ const header = memoizee(_header);
355
+
356
+ const _sourceLabel = (data, label) => (
357
+ (isNil(label) || isEmpty(label)) ? extractSdmxArtefacts(data).name : label
358
+ );
359
+ const sourceLabel = memoizee(_sourceLabel);
360
+
361
+ const _getTopologyAreasCollections = (topology) => map(topology.objects, (entry, key) => key);
362
+ const getTopologyAreasCollections = memoizee(_getTopologyAreasCollections);
363
+
364
+ const _isNonIdealState = (data, type, map) => {
365
+ const defaultSeries = series(data, type, null, null, map);
366
+ if (type === 'ChoroplethChart')
367
+ {
368
+ return findIndex(get(defaultSeries, 'objects.areas.geometries', []), geometry => get(geometry, 'properties.value', null)) === -1;
369
+ }
370
+ return isEmpty(get(defaultSeries, '[0].datapoints', []));
371
+ };
372
+ const isNonIdealState = memoizee(_isNonIdealState);
373
+
374
+ const getFlags = R.identity;
375
+ const prepareData = R.identity;
376
+
377
+ export { DEFAULT_UPR_IDS, choroSeries, defaultSubtitle, dimensionValueDisplay, dimensionsWithValuesIndexedById, extractDataName, extractSdmxArtefacts, extractSdmxErrors, focus, freqA, freqM, freqQ, getDimensionValues, getFlags, getRelevantsDatasetAttributes, getTopologyAreasCollections, getUprs, header, headerUprsLabel, isNonIdealState, parseDisplay, parseFocus, prepareData, sampleSeries, scatterDimension, scatterSeries, series, source, sourceLabel, splitDimensions, stackedDimension, stackedSeries, symbolDimension, symbolSeries, timelineSeries, uprAttributes, uprAttributesWithOneRelevantValue };
378
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../src/rules/src/index.js"],"sourcesContent":["import {\n get, partition, reject, isEmpty, map, compact, size, keyBy, pick, omit, isNil, flatten, reduce,\n filter, find, includes, isArray, findIndex, isEqual\n} from 'lodash';\nimport * as R from 'ramda';\nimport memoizee from 'memoizee';\nimport __sampleSeries from './factories/sample-series';\nimport __sampleFocus from './factories/sample-focus';\nimport __scatterSeries from './factories/scatter-series';\nimport __scatterFocus from './factories/scatter-focus';\nimport __scatterDimension from './factories/scatter-dimension';\nimport __symbolSeries from './factories/symbol-series';\nimport __symbolDimension from './factories/symbol-dimension';\nimport __timelineSeries from './factories/timeline-series';\nimport __timelineFocus from './factories/timeline-focus';\nimport __stackedSeries from './factories/stacked-series';\nimport __stackedDimension from './factories/stacked-dimension';\nimport __choroSeries from './factories/choro-series';\nimport {\n DEFAULT_UPR_IDS, DEFAULT_REJECTED_UPR_VALUES_IDS, DEFAULT_REJECTED_SUBTITLE_IDS,\n FREQ_A, FREQ_Q, FREQ_M\n} from './constants';\nimport { dimensionValueDisplay } from './dimension-utils';\nimport { getObservationsFormaterAttributes } from './observation-formater';\n\nexport const freqA = FREQ_A;\nexport const freqQ = FREQ_Q;\nexport const freqM = FREQ_M;\n\n// --------------------------------------------------------------------------------extractSdmxErrors\nconst _extractSdmxErrors = (data) => R.compose(\n (errors) => map(errors, (error) => ({ label: error.code, description: error.message })),\n (data) => get(data, 'errors', [])\n);\nexport const extractSdmxErrors = memoizee(_extractSdmxErrors);\n\nexport const extractDataName = (data) => R.pathOr(null, ['structure', 'name'], data);\n\n// -----------------------------------------------------------------------------extractSdmxArtefacts\nconst _extractSdmxArtefacts = (data) => {\n const parseStructure = (data) => get(data, 'structure', {});\n const parseItem = (item) => parseComponents(get(item, 'observation', []));\n const parseDimensions = (structure) => parseItem(get(structure, 'dimensions', {}));\n const parseAttributes = (structure) => parseItem(get(structure, 'attributes', {}));\n const parseComponents = (components) => map(components, parseComponent);\n const parseComponent = (component, index) => {\n let parsed = { ...pick(component, 'id', 'name', 'values', 'role', 'isHidden'), index };\n if (isEmpty(parsed))\n return parsed;\n if (isNil(parsed.role))\n parsed.role = parsed.id;\n parsed.values = R.sortBy(R.prop('__index'))(parsed.values);\n return parsed;\n };\n const parseDatasetItem = (item) => parseComponents(get(item, 'dataSet', []));\n const parseDatasetAttributes = (structure) => parseDatasetItem(get(structure, 'attributes', {}));\n\n return {\n attributes: parseAttributes(parseStructure(data)),\n datasetAttributes: parseDatasetAttributes(parseStructure(data)),\n dimensions: parseDimensions(parseStructure(data)),\n id: get(data, 'header.id', null),\n name: extractDataName(data),\n observations: R.pipe(\n R.pathOr({}, ['dataSets', 0, 'observations']),\n R.mapObjIndexed(obs => R.over(R.lensIndex(0), val => R.isNil(val) ? null : Number(val))(obs)),\n R.reject(R.pipe(R.head, R.anyPass([R.isNil, isNaN]))),\n )(data),\n source: get(data, 'header.links[0].href', null),\n };\n};\nexport const extractSdmxArtefacts = memoizee(_extractSdmxArtefacts);\n\nconst _getRelevantsDatasetAttributes = (data) => {\n const { datasetAttributes } = extractSdmxArtefacts(data);\n return filter(datasetAttributes, attr => size(attr.values) === 1);\n};\nexport const getRelevantsDatasetAttributes = memoizee(_getRelevantsDatasetAttributes);\n\n// -------------------------------------------------------------------------------getDimensionValues\nexport const getDimensionValues = (dimension) => get(dimension, 'values', []);\n\n// ----------------------------------------------------------------------------------splitDimensions\nconst _splitDimensions = (data) => {\n const { dimensions } = extractSdmxArtefacts(data);\n const [value, values] = partition(\n reject(dimensions, R.compose(isEmpty, getDimensionValues)),\n R.compose((values) => size(values) === 1, getDimensionValues)\n );\n return { value, values };\n}\nexport const splitDimensions = memoizee(_splitDimensions);\n\n// ------------------------------------------------------------------dimensionsWithValuesIndexedById\nconst _dimensionsWithValuesIndexedById = (data) => R.compose(\n (dimensionsWithValues) => keyBy(dimensionsWithValues, 'id'),\n (split) => split.values,\n splitDimensions\n)(data);\nexport const dimensionsWithValuesIndexedById = memoizee(_dimensionsWithValuesIndexedById);\n\n// -------------------------------------------------------------------------------------parseDisplay\nconst _parseDisplay = (display) =>\n (isNil(display) || !(includes(['both', 'code'], display)))\n ? 'label' : display;\nexport const parseDisplay = memoizee(_parseDisplay);\n\n// -------------------------------------------------------------------------------------sampleSeries\nconst _sampleSeries = (data, type, display, formaterIds) => __sampleSeries(\n type,\n extractSdmxArtefacts(data),\n dimensionsWithValuesIndexedById(data),\n parseDisplay(display),\n getObservationsFormaterAttributes(data, formaterIds)\n);\nexport const sampleSeries = memoizee(_sampleSeries);\n\n// ---------------------------------------------------------------------------------scatterDimension\nconst _scatterDimension = (data, ids) => {\n const { values } = splitDimensions(data);\n return __scatterDimension(values, ids);\n};\nexport const scatterDimension = memoizee(_scatterDimension);\n\n// ----------------------------------------------------------------------------------symbolDimension\nconst _symbolDimension = (data, ids) => {\n const { values } = splitDimensions(data);\n return __symbolDimension(values, ids);\n};\nexport const symbolDimension = memoizee(_symbolDimension);\n\nconst _stackedDimension = (data, singularity) => {\n return __stackedDimension(splitDimensions(data), singularity);\n}\nexport const stackedDimension = memoizee(_stackedDimension);\n\n// ------------------------------------------------------------------------------------scatterSeries\nconst _scatterSeries = (data, ids, display, formaterIds) => __scatterSeries(\n extractSdmxArtefacts(data),\n dimensionsWithValuesIndexedById(data),\n scatterDimension(data, ids),\n parseDisplay(display),\n getObservationsFormaterAttributes(data, formaterIds)\n);\nexport const scatterSeries = memoizee(_scatterSeries);\n\n// -------------------------------------------------------------------------------------symbolSeries\nconst _symbolSeries = (data, type, ids, display, formaterIds) => __symbolSeries(\n extractSdmxArtefacts(data),\n type,\n dimensionsWithValuesIndexedById(data),\n symbolDimension(data, ids),\n parseDisplay(display),\n getObservationsFormaterAttributes(data, formaterIds)\n);\nexport const symbolSeries = memoizee(_symbolSeries);\n\n// -----------------------------------------------------------------------------------timelineSeries\nconst _timelineSeries = (data, display, formaterIds) => __timelineSeries(\n extractSdmxArtefacts(data),\n dimensionsWithValuesIndexedById(data),\n parseDisplay(display),\n getObservationsFormaterAttributes(data, formaterIds)\n);\nexport const timelineSeries = memoizee(_timelineSeries);\n\nconst _stackedSeries = (data, singularity, display, formaterIds, [stackKey, categoryKey]) => __stackedSeries(\n extractSdmxArtefacts(data),\n dimensionsWithValuesIndexedById(data),\n stackedDimension(data, singularity),\n parseDisplay(display),\n getObservationsFormaterAttributes(data, formaterIds),\n [stackKey, categoryKey]\n);\nexport const stackedSeries = memoizee(_stackedSeries);\n\n// --------------------------------------------------------------------------------------choroSeries\nconst _choroSeries = (data, map, display) => __choroSeries(\n extractSdmxArtefacts(data),\n dimensionsWithValuesIndexedById(data),\n map,\n parseDisplay(display)\n);\nexport const choroSeries = memoizee(_choroSeries);\n\n// -------------------------------------------------------------------------------------------series\nconst _series = (data, type, focus, singularity, map, display, formaterIds) => {\n switch(type) {\n case 'RowChart': case 'BarChart':\n return __sampleFocus(sampleSeries(data, type, display, formaterIds), focus);\n case 'ScatterChart':\n return __scatterFocus(scatterSeries(data, singularity, display, formaterIds), focus);\n case 'HorizontalSymbolChart': case 'VerticalSymbolChart':\n return __sampleFocus(symbolSeries(data, type, singularity, display, formaterIds), focus);\n case 'TimelineChart':\n return __timelineFocus(timelineSeries(data, display, formaterIds), focus);\n case 'StackedBarChart':\n return __sampleFocus(stackedSeries(data, singularity, display, formaterIds, ['y', 'x']), focus);\n case 'StackedRowChart':\n return __sampleFocus(stackedSeries(data, singularity, display, formaterIds, ['x', 'y']), focus);\n case 'ChoroplethChart':\n return choroSeries(data, map, display);\n }\n};\nexport const series = memoizee(_series);\n\n// -------------------------------------------------------------------------------------------source\nconst _source = (data, config, meta) => {\n const hasSource = get(meta, 'hasSource', true);\n if (!hasSource)\n return null;\n const source = get(config, 'source', null);\n if (source && !(isEmpty(source)))\n return source;\n const artefacts = extractSdmxArtefacts(data);\n const uri = get(artefacts, 'source');\n if (!uri)\n return get(config, 'defaultSource', null);\n const match = uri.match(/(^http.*)\\/SDMX-JSON\\/data\\/([^\\/]+)\\//);\n if (size(match) !== 3)\n return null;\n const [m, domain, dataset] = match;\n return `${domain}/Index.aspx?DataSetCode=${dataset}`; //tmp\n};\nexport const source = memoizee(_source);\n\n// --------------------------------------------------------------------------------------------focus\nconst _focus = (data, type, dimension, _display) => {\n const display = parseDisplay(_display);\n switch(type) {\n case 'RowChart': case 'BarChart':\n case 'HorizontalSymbolChart': case 'VerticalSymbolChart':\n case 'StackedBarChart': case 'StackedRowChart':\n return R.compose(\n (datapoints) => map(datapoints, (dp) => ({ label: dp.category, value: dp.key })),\n (series) => series[0].datapoints,\n series\n )(data, type, null, dimension, null, display);\n case 'TimelineChart':\n return R.compose(\n (series) => map(series, (serie) => ({ label: serie.category, value: serie.key })),\n series\n )(data, type, null, dimension, null, display)\n case 'ScatterChart':\n const id = get(dimension, 'id');\n if (isNil(id)) return [];\n const dimensions = R.compose(\n (dimensions) => omit(dimensions, id),\n dimensionsWithValuesIndexedById\n )(data);\n return flatten(map(\n dimensions,\n (dimension) => {\n return map(\n get(dimension, 'values'),\n (value) => ({\n label: `${dimensionValueDisplay(display)(dimension)} - ${dimensionValueDisplay(display)(value)}`,\n options: { dimensionId: dimension.id, dimensionValueId: value.id },\n value: `${dimension.id}-${value.id}`\n })\n )\n }\n ));\n }\n};\nexport const focus = memoizee(_focus);\n\nconst _parseFocus = (data, type, dimension, display, { baseline, highlight }) => {\n const options = focus(data, type, dimension, display);\n\n const parseSelection = selection => compact(map(selection, ({ value }) => find(options, option => isEqual(option.value, value))));\n return ({ baseline: parseSelection(baseline), highlight: parseSelection(highlight) });\n};\nexport const parseFocus = memoizee(_parseFocus);\n\nconst _defaultSubtitle = (data, display, REJECTED_SUBTITLE_IDS = DEFAULT_REJECTED_SUBTITLE_IDS) => {\n const { value } = splitDimensions(data);\n const values = reduce(\n R.reject(R.prop('isHidden'))(value),\n (memo, d) => {\n const dvId = get(d, 'values[0].id');\n if (!includes(REJECTED_SUBTITLE_IDS, dvId)) {\n memo.push(`${dimensionValueDisplay(display)(d)}: ${dimensionValueDisplay(display)(get(d, 'values[0]'))}`);\n }\n return memo;\n },\n []\n );\n return values;\n}\nexport const defaultSubtitle = memoizee(_defaultSubtitle);\n\nconst _uprAttributes = (attributes, UPR_IDS = DEFAULT_UPR_IDS) => (\n reduce(\n UPR_IDS,\n (memo, ids, uprKey) => {\n const attr = find(attributes, attribute => includes(ids, get(attribute, 'id')));\n if (attr) {\n memo[uprKey] = attr;\n }\n return memo;\n },\n {}\n )\n);\nexport const uprAttributes = memoizee(_uprAttributes);\n\nconst _uprAttributesWithOneRelevantValue = (uprAttributes, UPR_IDS = DEFAULT_UPR_IDS, REJECTED_UPR_VALUES_IDS = DEFAULT_REJECTED_UPR_VALUES_IDS) => reduce(\n uprAttributes,\n (memo, attr, key) => {\n if (size(get(attr, 'values', [])) === 1 && !(includes(REJECTED_UPR_VALUES_IDS[key], get(attr, 'values[0].id', ''))))\n memo[key] = attr;\n return memo;\n },\n {}\n);\nexport const uprAttributesWithOneRelevantValue = memoizee(_uprAttributesWithOneRelevantValue);\n\nexport const headerUprsLabel = display => uprAttributes => {\n return map(\n uprAttributes,\n attr => dimensionValueDisplay(display)(get(attr, 'values[0]'))\n ).join(', ');\n}\n\nexport const getUprs = (data, display) => R.compose(\n headerUprsLabel(parseDisplay(display)),\n uprAttributesWithOneRelevantValue,\n ({ attributes }) => uprAttributes(attributes),\n extractSdmxArtefacts\n)(data);\n\nconst _header = (data, _title, _subtitle, _display) => {\n const display = parseDisplay(_display);\n const title = (isNil(_title) || isEmpty(_title)) ? get(data, 'structure.name') : _title;\n const subtitle = (isNil(_subtitle) || isEmpty(_subtitle)) ? defaultSubtitle(data, display) : _subtitle;\n return ({\n title,\n subtitle: isArray(subtitle) ? subtitle : [subtitle],\n uprs: R.compose(\n headerUprsLabel(display),\n uprAttributesWithOneRelevantValue,\n ({ attributes }) => uprAttributes(attributes),\n extractSdmxArtefacts\n )(data)\n });\n};\nexport const header = memoizee(_header);\n\nconst _sourceLabel = (data, label) => (\n (isNil(label) || isEmpty(label)) ? extractSdmxArtefacts(data).name : label\n);\nexport const sourceLabel = memoizee(_sourceLabel);\n\nconst _getTopologyAreasCollections = (topology) => map(topology.objects, (entry, key) => key);\nexport const getTopologyAreasCollections = memoizee(_getTopologyAreasCollections);\n\nconst _isNonIdealState = (data, type, map) => {\n const defaultSeries = series(data, type, null, null, map);\n if (type === 'ChoroplethChart')\n {\n return findIndex(get(defaultSeries, 'objects.areas.geometries', []), geometry => get(geometry, 'properties.value', null)) === -1;\n }\n return isEmpty(get(defaultSeries, '[0].datapoints', []));\n}\nexport const isNonIdealState = memoizee(_isNonIdealState);\n\nexport { dimensionValueDisplay } from './dimension-utils';\nexport { DEFAULT_UPR_IDS, DIMENSION_DISPLAY_PARTS, DEFAULT_MAJOR_ATTRIBUTES, V8_SDMX_JSON,\n TYPES as chartTypes } from './constants';\nexport {\n initialState,\n stateFromNewProps,\n onChangeProperties,\n toChartData,\n toChartOptions,\n toProperties,\n getErrors,\n toSingularity\n} from './properties';\nexport { dataTransformer as v8Transformer } from './v8-transformer';\nexport {\n getCellValue,\n} from './table';\nexport {\n getFullName,\n} from './sdmx-data';\nexport { getTimePeriodLabel } from './date';\nexport { getHeaderProps, getFooterProps, } from './properties/getHeaderProps';\nexport { getInformationsStateFromNewProps } from './properties/getInformationsStateFromNewProps';\nexport { getObservationsType } from './properties/getObservationsType';\nexport { getAvailableChartTypes } from './properties/getAvailableChartTypes';\nexport { isSharedLayoutCompatible } from './layout';\n\nexport { getObservations } from './preparators/getObservations';\n\nexport const getFlags = R.identity;\nexport const prepareData = R.identity;"],"names":["__sampleFocus","__scatterFocus","__timelineFocus"],"mappings":"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"}
@@ -0,0 +1,107 @@
1
+ import * as R from 'ramda';
2
+ import { SCATTER, H_SYMBOL, V_SYMBOL, STACKED_BAR, STACKED_ROW } from './constants.js';
3
+ import { parseCombinationDefinition, getCombinationDefinitions } from '../../rules2/src/getCombinationDefinitions.js';
4
+ import { refineDimensions } from '../../rules2/src/refineDimensions.js';
5
+
6
+ const isTableLayoutCompatible = (data, layout, combinationsDefinitions = [], dataquery = '') => {
7
+ const indexedCombinations = R.indexBy(R.prop('id'), combinationsDefinitions);
8
+ const indexedManyValuesDimensions = R.pipe(
9
+ R.pathOr([], ['structure', 'dimensions', 'observation']),
10
+ dimensions => refineDimensions(dimensions, dataquery),
11
+ R.reject(d => R.prop('header', d) || !R.length(d.values || [])),
12
+ R.indexBy(R.prop('id'))
13
+ )(data);
14
+ let remainings = indexedManyValuesDimensions;
15
+ const layoutIds = R.pipe(R.values, R.unnest)(layout);
16
+ let hasFoundIrrelevant = false;
17
+ R.forEach(id => {
18
+ if (R.has(id, indexedManyValuesDimensions)) {
19
+ remainings = R.dissoc(id, remainings);
20
+ }
21
+ else if (R.has(id, indexedCombinations)) {
22
+ remainings = R.omit(R.pathOr([], [id, 'concepts'], indexedCombinations), remainings);
23
+ }
24
+ else if (id !== 'OBS_ATTRIBUTES') {
25
+ hasFoundIrrelevant = true;
26
+ }
27
+ }, layoutIds);
28
+ return R.isEmpty(remainings) && !hasFoundIrrelevant;
29
+ };
30
+
31
+
32
+ const isScatterLayoutCompatible = (data, chartDimension) => {
33
+ const { id, xId, yId } = chartDimension;
34
+
35
+ const dimensions = R.pathOr([], ['structure', 'dimensions', 'observation'], data);
36
+
37
+ const dimension = R.find(R.propEq('id', id), dimensions);
38
+ if (R.isNil(dimension)) {
39
+ return false;
40
+ }
41
+ return R.pipe(
42
+ R.propOr([], 'values'),
43
+ R.indexBy(R.prop('id')),
44
+ R.pick([xId, yId]),
45
+ R.values,
46
+ R.length,
47
+ R.equals(2)
48
+ )(dimension);
49
+ };
50
+
51
+ const isSymbolLayoutCompatible = (data, chartDimension) => {
52
+ const { id, serie } = chartDimension;
53
+ const serieIds = R.pluck('id',serie);
54
+
55
+ return R.pipe(
56
+ R.pathOr([], ['structure', 'dimensions', 'observation']),
57
+ R.indexBy(R.prop('id')),
58
+ R.pathOr([], [id, 'values']),
59
+ R.indexBy(R.prop('id')),
60
+ R.pick(serieIds),
61
+ R.values,
62
+ R.length,
63
+ R.equals(R.length(serieIds))
64
+ )(data);
65
+ };
66
+
67
+ const isStackedLayoutCompatible = (data, chartDimension) => {
68
+ const { id } = chartDimension;
69
+
70
+ return R.pipe(
71
+ R.pathOr([], ['structure', 'dimensions', 'observation']),
72
+ R.filter(R.pipe(R.propOr([], 'values'), R.length, R.lt(1))),
73
+ R.indexBy(R.prop('id')),
74
+ R.has(id)
75
+ )(data);
76
+ };
77
+
78
+ const isChartLayoutCompatible = (data, type, chartDimension) => {
79
+ return R.cond([
80
+ [R.always(R.equals(SCATTER, type)), isScatterLayoutCompatible],
81
+ [R.always(R.equals(H_SYMBOL, type) || R.equals(V_SYMBOL, type)), isSymbolLayoutCompatible],
82
+ [R.always(R.anyPass([R.equals(STACKED_BAR), R.equals(STACKED_ROW)])(type)), isStackedLayoutCompatible],
83
+ [R.T, R.T]
84
+ ])(data, chartDimension);
85
+ };
86
+
87
+ const isSharedLayoutCompatible = (sdmxData, sharedData) => {
88
+ const type = R.prop('type', sharedData);
89
+ if (type === 'table') {
90
+ const layoutIds = R.pathOr({}, ['config', 'table', 'layoutIds'], sharedData);
91
+ const dataquery = R.path(['config', 'sdmxSource', 'dataquery'], sharedData);
92
+ const annotations = R.pathOr({}, ['structure', 'annotations'], sdmxData);
93
+ const locale = R.pathOr({}, ['config', 'table', 'locale'], sharedData);
94
+ const rawDefaultCombinationsDefinition = R.pathOr({}, ['config', 'defaultCombinations'], sharedData);
95
+ const { concepts='', names='' } = rawDefaultCombinationsDefinition;
96
+ const defaultCombinationsDefinition = parseCombinationDefinition(locale)(concepts, names);
97
+ const customCombinationsDefinitions = getCombinationDefinitions(annotations, locale);
98
+ const combinationsDefinitions = R.isNil(customCombinationsDefinitions) || R.isEmpty(customCombinationsDefinitions)
99
+ ? defaultCombinationsDefinition : customCombinationsDefinitions;
100
+ return isTableLayoutCompatible(sdmxData, layoutIds, combinationsDefinitions, dataquery);
101
+ }
102
+ const chartDimension = R.pathOr({}, ['config', 'chart', 'chartDimension'], sharedData);
103
+ return isChartLayoutCompatible(sdmxData, type, chartDimension);
104
+ };
105
+
106
+ export { isSharedLayoutCompatible };
107
+ //# sourceMappingURL=layout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout.js","sources":["../../../src/rules/src/layout.js"],"sourcesContent":["import * as R from 'ramda';\nimport {\n H_SYMBOL,\n SCATTER,\n STACKED_BAR,\n STACKED_ROW,\n V_SYMBOL\n} from './constants';\nimport {\n getCombinationDefinitions,\n refineDimensions,\n parseCombinationDefinition\n} from '../../rules2/src';\n\nconst isTableLayoutCompatible = (data, layout, combinationsDefinitions = [], dataquery = '') => {\n const indexedCombinations = R.indexBy(R.prop('id'), combinationsDefinitions);\n const indexedManyValuesDimensions = R.pipe(\n R.pathOr([], ['structure', 'dimensions', 'observation']),\n dimensions => refineDimensions(dimensions, dataquery),\n R.reject(d => R.prop('header', d) || !R.length(d.values || [])),\n R.indexBy(R.prop('id'))\n )(data);\n let remainings = indexedManyValuesDimensions;\n const layoutIds = R.pipe(R.values, R.unnest)(layout);\n let hasFoundIrrelevant = false;\n R.forEach(id => {\n if (R.has(id, indexedManyValuesDimensions)) {\n remainings = R.dissoc(id, remainings);\n }\n else if (R.has(id, indexedCombinations)) {\n remainings = R.omit(R.pathOr([], [id, 'concepts'], indexedCombinations), remainings);\n }\n else if (id !== 'OBS_ATTRIBUTES') {\n hasFoundIrrelevant = true;\n }\n }, layoutIds);\n return R.isEmpty(remainings) && !hasFoundIrrelevant;\n};\n\n\nconst isScatterLayoutCompatible = (data, chartDimension) => {\n const { id, xId, yId } = chartDimension;\n\n const dimensions = R.pathOr([], ['structure', 'dimensions', 'observation'], data);\n\n const dimension = R.find(R.propEq('id', id), dimensions);\n if (R.isNil(dimension)) {\n return false;\n }\n return R.pipe(\n R.propOr([], 'values'),\n R.indexBy(R.prop('id')),\n R.pick([xId, yId]),\n R.values,\n R.length,\n R.equals(2)\n )(dimension);\n};\n\nconst isSymbolLayoutCompatible = (data, chartDimension) => {\n const { id, serie } = chartDimension;\n const serieIds = R.pluck('id',serie);\n\n return R.pipe(\n R.pathOr([], ['structure', 'dimensions', 'observation']),\n R.indexBy(R.prop('id')),\n R.pathOr([], [id, 'values']),\n R.indexBy(R.prop('id')),\n R.pick(serieIds),\n R.values,\n R.length,\n R.equals(R.length(serieIds))\n )(data);\n};\n\nconst isStackedLayoutCompatible = (data, chartDimension) => {\n const { id } = chartDimension;\n\n return R.pipe(\n R.pathOr([], ['structure', 'dimensions', 'observation']),\n R.filter(R.pipe(R.propOr([], 'values'), R.length, R.lt(1))),\n R.indexBy(R.prop('id')),\n R.has(id)\n )(data);\n};\n\nconst isChartLayoutCompatible = (data, type, chartDimension) => {\n return R.cond([\n [R.always(R.equals(SCATTER, type)), isScatterLayoutCompatible],\n [R.always(R.equals(H_SYMBOL, type) || R.equals(V_SYMBOL, type)), isSymbolLayoutCompatible],\n [R.always(R.anyPass([R.equals(STACKED_BAR), R.equals(STACKED_ROW)])(type)), isStackedLayoutCompatible],\n [R.T, R.T]\n ])(data, chartDimension);\n};\n\nexport const isSharedLayoutCompatible = (sdmxData, sharedData) => {\n const type = R.prop('type', sharedData);\n if (type === 'table') {\n const layoutIds = R.pathOr({}, ['config', 'table', 'layoutIds'], sharedData);\n const dataquery = R.path(['config', 'sdmxSource', 'dataquery'], sharedData);\n const annotations = R.pathOr({}, ['structure', 'annotations'], sdmxData)\n const locale = R.pathOr({}, ['config', 'table', 'locale'], sharedData);\n const rawDefaultCombinationsDefinition = R.pathOr({}, ['config', 'defaultCombinations'], sharedData);\n const { concepts='', names='' } = rawDefaultCombinationsDefinition;\n const defaultCombinationsDefinition = parseCombinationDefinition(locale)(concepts, names);\n const customCombinationsDefinitions = getCombinationDefinitions(annotations, locale);\n const combinationsDefinitions = R.isNil(customCombinationsDefinitions) || R.isEmpty(customCombinationsDefinitions)\n ? defaultCombinationsDefinition : customCombinationsDefinitions;\n return isTableLayoutCompatible(sdmxData, layoutIds, combinationsDefinitions, dataquery);\n }\n const chartDimension = R.pathOr({}, ['config', 'chart', 'chartDimension'], sharedData);\n return isChartLayoutCompatible(sdmxData, type, chartDimension);\n};\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,86 @@
1
+ import memoizee from 'memoizee';
2
+ import numeral from 'numeral';
3
+ import * as R from 'ramda';
4
+ import { extractSdmxArtefacts } from './index.js';
5
+
6
+ const DEFAULT_PREFSCALE_ATTR_IDS = ["PREF_SCALE"];
7
+
8
+ const DEFAULT_DECIMALS_ATTR_IDS = ["DECIMALS"];
9
+
10
+ const getFormaterAttribute = (ids, attributes) => R.find(
11
+ (attr) => R.includes(attr.id, ids),
12
+ attributes
13
+ );
14
+
15
+ const parseAttributeFormaterIds = (ids = {}) => {
16
+ let prefscale = R.prop('prefscale', ids);
17
+ let decimals = R.prop('decimals', ids);
18
+ decimals = R.isNil(decimals) ? DEFAULT_DECIMALS_ATTR_IDS : decimals;
19
+ prefscale = R.isNil(prefscale) ? DEFAULT_PREFSCALE_ATTR_IDS : prefscale;
20
+ return ({
21
+ decimals: R.is(Array, decimals) ? decimals : [decimals],
22
+ prefscale: R.is(Array, prefscale) ? prefscale : [prefscale],
23
+ });
24
+ };
25
+
26
+ const _getObservationsFormaterAttributes = (data, ids) => R.pipe(
27
+ extractSdmxArtefacts,
28
+ ({ attributes }) => {
29
+ const { decimals, prefscale } = parseAttributeFormaterIds(ids);
30
+ return ({
31
+ decimals: getFormaterAttribute(decimals, attributes),
32
+ prefscale: getFormaterAttribute(prefscale, attributes)
33
+ });
34
+ }
35
+ )(data);
36
+ const getObservationsFormaterAttributes = memoizee(_getObservationsFormaterAttributes);
37
+
38
+ const getObservationFormaterValue = (observation, attribute) => {
39
+ const attributeIndex = R.prop('index', attribute);
40
+ const attributeValueIndex = R.nth(attributeIndex, observation);
41
+ return R.nth(attributeValueIndex, R.propOr([], 'values', attribute));
42
+ };
43
+
44
+ const getObservationFormaterValues = (formaterAttributes) => (observation) => ({
45
+ decimals: getObservationFormaterValue(observation, R.prop('decimals', formaterAttributes)),
46
+ prefscale: getObservationFormaterValue(observation, R.prop('prefscale', formaterAttributes)),
47
+ });
48
+
49
+ const makeObservationFormater = (formaterValues) => {
50
+ let prefscale = 0;
51
+ if (!R.isNil(R.prop('prefscale', formaterValues))) {
52
+ prefscale = Number(R.propOr('0', 'id', formaterValues.prefscale));
53
+ }
54
+ let decimals = null;
55
+ if (!R.isNil(R.prop('decimals', formaterValues))) {
56
+ let _decimals = Number(R.prop('id', formaterValues.decimals));
57
+ decimals = R.is(Number, _decimals) && !Number.isNaN(_decimals)
58
+ ? _decimals : null;
59
+ }
60
+ let format = '0,0';
61
+ if (R.isNil(decimals)) {
62
+ format = R.concat(format, '.[0000000]');
63
+ }
64
+ else if (decimals > 0) {
65
+ format = R.concat(format, `.[${'0'.repeat(decimals)}]`);
66
+ }
67
+ return value => numeral(Number(value))
68
+ .multiply(Math.pow(10, R.negate(prefscale)))
69
+ .format(format);
70
+ };
71
+
72
+ const getObservationFormater = (observation, formaterAttributes) => {
73
+ return R.pipe(
74
+ R.tail,
75
+ getObservationFormaterValues(formaterAttributes),
76
+ makeObservationFormater
77
+ )(observation);
78
+ };
79
+
80
+ const getFormatedObservation = (observation, formaterAttributes) => {
81
+ const formater = getObservationFormater(observation, formaterAttributes);
82
+ return formater(R.head(observation));
83
+ };
84
+
85
+ export { DEFAULT_DECIMALS_ATTR_IDS, DEFAULT_PREFSCALE_ATTR_IDS, _getObservationsFormaterAttributes, getFormatedObservation, getFormaterAttribute, getObservationFormater, getObservationFormaterValue, getObservationFormaterValues, getObservationsFormaterAttributes, makeObservationFormater, parseAttributeFormaterIds };
86
+ //# sourceMappingURL=observation-formater.js.map