bi-utils-gpn 1.0.1

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 (347) hide show
  1. package/README.md +1 -0
  2. package/dist/cjs/index.js +36 -0
  3. package/dist/cjs/index.js.map +1 -0
  4. package/dist/cjs/luxms-components/DsShellHeader/index.js +39 -0
  5. package/dist/cjs/luxms-components/DsShellHeader/index.js.map +1 -0
  6. package/dist/cjs/luxms-components/DsShellLeftPane/index.js +491 -0
  7. package/dist/cjs/luxms-components/DsShellLeftPane/index.js.map +1 -0
  8. package/dist/cjs/luxms-components/lux_elements/AppPane/AppPane.js +81 -0
  9. package/dist/cjs/luxms-components/lux_elements/AppPane/AppPane.js.map +1 -0
  10. package/dist/cjs/luxms-components/lux_elements/AppPane/Header/Header.js +17 -0
  11. package/dist/cjs/luxms-components/lux_elements/AppPane/Header/Header.js.map +1 -0
  12. package/dist/cjs/luxms-components/lux_elements/AppPane/Menu/Menu.js +96 -0
  13. package/dist/cjs/luxms-components/lux_elements/AppPane/Menu/Menu.js.map +1 -0
  14. package/dist/cjs/luxms-components/lux_elements/AppPane//320/241ontrols/Controls.js +17 -0
  15. package/dist/cjs/luxms-components/lux_elements/AppPane//320/241ontrols/Controls.js.map +1 -0
  16. package/dist/cjs/luxms-components/lux_elements/DashboardsIcons.js +80 -0
  17. package/dist/cjs/luxms-components/lux_elements/DashboardsIcons.js.map +1 -0
  18. package/dist/cjs/luxms-components/lux_elements/MainToolbar/MainToolbar.js +106 -0
  19. package/dist/cjs/luxms-components/lux_elements/MainToolbar/MainToolbar.js.map +1 -0
  20. package/dist/cjs/luxms-components/lux_elements/SortableTiles/SortableTiles.js +179 -0
  21. package/dist/cjs/luxms-components/lux_elements/SortableTiles/SortableTiles.js.map +1 -0
  22. package/dist/cjs/luxms-components/services/ConstaThemeService.js +60 -0
  23. package/dist/cjs/luxms-components/services/ConstaThemeService.js.map +1 -0
  24. package/dist/cjs/node_modules/style-inject/dist/style-inject.es.js +33 -0
  25. package/dist/cjs/node_modules/style-inject/dist/style-inject.es.js.map +1 -0
  26. package/dist/cjs/ui-components/BlockFilters/BlockFilters.js +34 -0
  27. package/dist/cjs/ui-components/BlockFilters/BlockFilters.js.map +1 -0
  28. package/dist/cjs/ui-components/BlockFilters/BlockFilters.module.scss.js +12 -0
  29. package/dist/cjs/ui-components/BlockFilters/BlockFilters.module.scss.js.map +1 -0
  30. package/dist/cjs/ui-components/BlockFilters/BlockFiltersContent.js +40 -0
  31. package/dist/cjs/ui-components/BlockFilters/BlockFiltersContent.js.map +1 -0
  32. package/dist/cjs/ui-components/BlockFilters/BlockFiltersItem/BlockFiltersItem.js +28 -0
  33. package/dist/cjs/ui-components/BlockFilters/BlockFiltersItem/BlockFiltersItem.js.map +1 -0
  34. package/dist/cjs/ui-components/BlockFilters/CustomPopover/CustomPopover.js +71 -0
  35. package/dist/cjs/ui-components/BlockFilters/CustomPopover/CustomPopover.js.map +1 -0
  36. package/dist/cjs/ui-components/BlockFilters/CustomTag/index.js +18 -0
  37. package/dist/cjs/ui-components/BlockFilters/CustomTag/index.js.map +1 -0
  38. package/dist/cjs/ui-components/BlockFilters/FiltersIndicationContext/FiltersIndicationContext.js +58 -0
  39. package/dist/cjs/ui-components/BlockFilters/FiltersIndicationContext/FiltersIndicationContext.js.map +1 -0
  40. package/dist/cjs/ui-components/BlockFilters/SearchWithTag/index.js +21 -0
  41. package/dist/cjs/ui-components/BlockFilters/SearchWithTag/index.js.map +1 -0
  42. package/dist/cjs/ui-components/BlockFilters/constants.js +6 -0
  43. package/dist/cjs/ui-components/BlockFilters/constants.js.map +1 -0
  44. package/dist/cjs/ui-components/ButtonsTooltip/ButtonTooltipStyles.module.scss.js +12 -0
  45. package/dist/cjs/ui-components/ButtonsTooltip/ButtonTooltipStyles.module.scss.js.map +1 -0
  46. package/dist/cjs/ui-components/ButtonsTooltip/index.js +14 -0
  47. package/dist/cjs/ui-components/ButtonsTooltip/index.js.map +1 -0
  48. package/dist/cjs/ui-components/CommonContexts/DatasetNameContext.js +15 -0
  49. package/dist/cjs/ui-components/CommonContexts/DatasetNameContext.js.map +1 -0
  50. package/dist/cjs/ui-components/ControlDash/ControlDash.js +33 -0
  51. package/dist/cjs/ui-components/ControlDash/ControlDash.js.map +1 -0
  52. package/dist/cjs/ui-components/ControlDash/ControlDashContent.js +80 -0
  53. package/dist/cjs/ui-components/ControlDash/ControlDashContent.js.map +1 -0
  54. package/dist/cjs/ui-components/ControlDash/IconArrow/IconArrow.js +14 -0
  55. package/dist/cjs/ui-components/ControlDash/IconArrow/IconArrow.js.map +1 -0
  56. package/dist/cjs/ui-components/ControlDash/IconArrow/IconArrowStyles.module.scss.js +12 -0
  57. package/dist/cjs/ui-components/ControlDash/IconArrow/IconArrowStyles.module.scss.js.map +1 -0
  58. package/dist/cjs/ui-components/ControlDash/styles/ControlDashStyles.module.scss.js +12 -0
  59. package/dist/cjs/ui-components/ControlDash/styles/ControlDashStyles.module.scss.js.map +1 -0
  60. package/dist/cjs/ui-components/DashletHeader/index.js +25 -0
  61. package/dist/cjs/ui-components/DashletHeader/index.js.map +1 -0
  62. package/dist/cjs/ui-components/DashletHeaderButton/index.js +14 -0
  63. package/dist/cjs/ui-components/DashletHeaderButton/index.js.map +1 -0
  64. package/dist/cjs/ui-components/DashletHeaderModal/index.js +12 -0
  65. package/dist/cjs/ui-components/DashletHeaderModal/index.js.map +1 -0
  66. package/dist/cjs/ui-components/DashletLayout/index.js +14 -0
  67. package/dist/cjs/ui-components/DashletLayout/index.js.map +1 -0
  68. package/dist/cjs/ui-components/FilterComponents/Context/CompletedFiltersContext.js +37 -0
  69. package/dist/cjs/ui-components/FilterComponents/Context/CompletedFiltersContext.js.map +1 -0
  70. package/dist/cjs/ui-components/FilterComponents/CustomControlDashCollapse/CustomControlDashCollapse.js +30 -0
  71. package/dist/cjs/ui-components/FilterComponents/CustomControlDashCollapse/CustomControlDashCollapse.js.map +1 -0
  72. package/dist/cjs/ui-components/FilterComponents/DatePickerRange/DatePickerRange.js +80 -0
  73. package/dist/cjs/ui-components/FilterComponents/DatePickerRange/DatePickerRange.js.map +1 -0
  74. package/dist/cjs/ui-components/FilterComponents/DatePickerRange/helpers.js +6 -0
  75. package/dist/cjs/ui-components/FilterComponents/DatePickerRange/helpers.js.map +1 -0
  76. package/dist/cjs/ui-components/FilterComponents/DatePickerSingle/DatePickerSingle.js +39 -0
  77. package/dist/cjs/ui-components/FilterComponents/DatePickerSingle/DatePickerSingle.js.map +1 -0
  78. package/dist/cjs/ui-components/FilterComponents/GroupedCollapse/GroupedCollapse.js +30 -0
  79. package/dist/cjs/ui-components/FilterComponents/GroupedCollapse/GroupedCollapse.js.map +1 -0
  80. package/dist/cjs/ui-components/FilterComponents/InfiniteScrollCheckboxes/DinamicCheckboxes/DinamicCheckboxes.js +67 -0
  81. package/dist/cjs/ui-components/FilterComponents/InfiniteScrollCheckboxes/DinamicCheckboxes/DinamicCheckboxes.js.map +1 -0
  82. package/dist/cjs/ui-components/FilterComponents/InfiniteScrollCheckboxes/DynamicCheckboxesList/DynamicCheckboxesList.js +27 -0
  83. package/dist/cjs/ui-components/FilterComponents/InfiniteScrollCheckboxes/DynamicCheckboxesList/DynamicCheckboxesList.js.map +1 -0
  84. package/dist/cjs/ui-components/FilterComponents/InfiniteScrollCheckboxes/InfiniteScrollCheckboxes.js +293 -0
  85. package/dist/cjs/ui-components/FilterComponents/InfiniteScrollCheckboxes/InfiniteScrollCheckboxes.js.map +1 -0
  86. package/dist/cjs/ui-components/FilterComponents/InfiniteScrollCheckboxes/StaticMenu/StaticMenu.js +37 -0
  87. package/dist/cjs/ui-components/FilterComponents/InfiniteScrollCheckboxes/StaticMenu/StaticMenu.js.map +1 -0
  88. package/dist/cjs/ui-components/FilterComponents/InfiniteScrollRadio/DynamicRadioList/DynamicRadioList.js +44 -0
  89. package/dist/cjs/ui-components/FilterComponents/InfiniteScrollRadio/DynamicRadioList/DynamicRadioList.js.map +1 -0
  90. package/dist/cjs/ui-components/FilterComponents/InfiniteScrollRadio/index.js +157 -0
  91. package/dist/cjs/ui-components/FilterComponents/InfiniteScrollRadio/index.js.map +1 -0
  92. package/dist/cjs/ui-components/FilterComponents/InputFieldItem/InputFieldItem.js +47 -0
  93. package/dist/cjs/ui-components/FilterComponents/InputFieldItem/InputFieldItem.js.map +1 -0
  94. package/dist/cjs/ui-components/FilterComponents/NumberRangeFilter/index.js +34 -0
  95. package/dist/cjs/ui-components/FilterComponents/NumberRangeFilter/index.js.map +1 -0
  96. package/dist/cjs/ui-components/FilterComponents/PeriodController/PeriodController.js +40 -0
  97. package/dist/cjs/ui-components/FilterComponents/PeriodController/PeriodController.js.map +1 -0
  98. package/dist/cjs/ui-components/FilterComponents/VirtuosoFooter/index.js +17 -0
  99. package/dist/cjs/ui-components/FilterComponents/VirtuosoFooter/index.js.map +1 -0
  100. package/dist/cjs/ui-components/FilterComponents/constants.js +8 -0
  101. package/dist/cjs/ui-components/FilterComponents/constants.js.map +1 -0
  102. package/dist/cjs/ui-components/FilterComponents/helpers.js +50 -0
  103. package/dist/cjs/ui-components/FilterComponents/helpers.js.map +1 -0
  104. package/dist/cjs/ui-components/FilterComponents/styles/ControlDashStyles.module.scss.js +12 -0
  105. package/dist/cjs/ui-components/FilterComponents/styles/ControlDashStyles.module.scss.js.map +1 -0
  106. package/dist/cjs/ui-components/FiltersIndicator/FiltersTag/FiltersTag.js +22 -0
  107. package/dist/cjs/ui-components/FiltersIndicator/FiltersTag/FiltersTag.js.map +1 -0
  108. package/dist/cjs/ui-components/FiltersIndicator/filtersIndicatorStyles.module.scss.js +12 -0
  109. package/dist/cjs/ui-components/FiltersIndicator/filtersIndicatorStyles.module.scss.js.map +1 -0
  110. package/dist/cjs/ui-components/FiltersIndicator/index.js +54 -0
  111. package/dist/cjs/ui-components/FiltersIndicator/index.js.map +1 -0
  112. package/dist/cjs/ui-components/IconComponent/index.js +10 -0
  113. package/dist/cjs/ui-components/IconComponent/index.js.map +1 -0
  114. package/dist/cjs/ui-components/KpiLayout/Modules/KpiLayoutContent.js +44 -0
  115. package/dist/cjs/ui-components/KpiLayout/Modules/KpiLayoutContent.js.map +1 -0
  116. package/dist/cjs/ui-components/KpiLayout/Modules/KpiLayoutHeader.js +22 -0
  117. package/dist/cjs/ui-components/KpiLayout/Modules/KpiLayoutHeader.js.map +1 -0
  118. package/dist/cjs/ui-components/KpiLayout/Modules/KpiLayoutInfo.js +17 -0
  119. package/dist/cjs/ui-components/KpiLayout/Modules/KpiLayoutInfo.js.map +1 -0
  120. package/dist/cjs/ui-components/KpiLayout/index.js +16 -0
  121. package/dist/cjs/ui-components/KpiLayout/index.js.map +1 -0
  122. package/dist/cjs/ui-components/TableCustomFilters/TableCustomFilterContent.js +90 -0
  123. package/dist/cjs/ui-components/TableCustomFilters/TableCustomFilterContent.js.map +1 -0
  124. package/dist/cjs/ui-components/TableCustomFilters/index.js +33 -0
  125. package/dist/cjs/ui-components/TableCustomFilters/index.js.map +1 -0
  126. package/dist/cjs/ui-components/TableCustomFilters/tableCustomFiltersStyles.module.scss.js +12 -0
  127. package/dist/cjs/ui-components/TableCustomFilters/tableCustomFiltersStyles.module.scss.js.map +1 -0
  128. package/dist/cjs/ui-components/helpers/filtersConversion.js +14 -0
  129. package/dist/cjs/ui-components/helpers/filtersConversion.js.map +1 -0
  130. package/dist/cjs/ui-components/helpers/useDebounce.js +24 -0
  131. package/dist/cjs/ui-components/helpers/useDebounce.js.map +1 -0
  132. package/dist/cjs/utils/downloadExcel.js +57 -0
  133. package/dist/cjs/utils/downloadExcel.js.map +1 -0
  134. package/dist/cjs/utils/getKoobDataByCfg.js +61 -0
  135. package/dist/cjs/utils/getKoobDataByCfg.js.map +1 -0
  136. package/dist/esm/index.js +16 -0
  137. package/dist/esm/index.js.map +1 -0
  138. package/dist/esm/luxms-components/DsShellHeader/index.js +37 -0
  139. package/dist/esm/luxms-components/DsShellHeader/index.js.map +1 -0
  140. package/dist/esm/luxms-components/DsShellLeftPane/index.js +486 -0
  141. package/dist/esm/luxms-components/DsShellLeftPane/index.js.map +1 -0
  142. package/dist/esm/luxms-components/lux_elements/AppPane/AppPane.js +75 -0
  143. package/dist/esm/luxms-components/lux_elements/AppPane/AppPane.js.map +1 -0
  144. package/dist/esm/luxms-components/lux_elements/AppPane/Header/Header.js +13 -0
  145. package/dist/esm/luxms-components/lux_elements/AppPane/Header/Header.js.map +1 -0
  146. package/dist/esm/luxms-components/lux_elements/AppPane/Menu/Menu.js +92 -0
  147. package/dist/esm/luxms-components/lux_elements/AppPane/Menu/Menu.js.map +1 -0
  148. package/dist/esm/luxms-components/lux_elements/AppPane//320/241ontrols/Controls.js +13 -0
  149. package/dist/esm/luxms-components/lux_elements/AppPane//320/241ontrols/Controls.js.map +1 -0
  150. package/dist/esm/luxms-components/lux_elements/DashboardsIcons.js +78 -0
  151. package/dist/esm/luxms-components/lux_elements/DashboardsIcons.js.map +1 -0
  152. package/dist/esm/luxms-components/lux_elements/MainToolbar/MainToolbar.js +80 -0
  153. package/dist/esm/luxms-components/lux_elements/MainToolbar/MainToolbar.js.map +1 -0
  154. package/dist/esm/luxms-components/lux_elements/SortableTiles/SortableTiles.js +175 -0
  155. package/dist/esm/luxms-components/lux_elements/SortableTiles/SortableTiles.js.map +1 -0
  156. package/dist/esm/luxms-components/services/ConstaThemeService.js +57 -0
  157. package/dist/esm/luxms-components/services/ConstaThemeService.js.map +1 -0
  158. package/dist/esm/node_modules/style-inject/dist/style-inject.es.js +29 -0
  159. package/dist/esm/node_modules/style-inject/dist/style-inject.es.js.map +1 -0
  160. package/dist/esm/ui-components/BlockFilters/BlockFilters.js +32 -0
  161. package/dist/esm/ui-components/BlockFilters/BlockFilters.js.map +1 -0
  162. package/dist/esm/ui-components/BlockFilters/BlockFilters.module.scss.js +8 -0
  163. package/dist/esm/ui-components/BlockFilters/BlockFilters.module.scss.js.map +1 -0
  164. package/dist/esm/ui-components/BlockFilters/BlockFiltersContent.js +38 -0
  165. package/dist/esm/ui-components/BlockFilters/BlockFiltersContent.js.map +1 -0
  166. package/dist/esm/ui-components/BlockFilters/BlockFiltersItem/BlockFiltersItem.js +26 -0
  167. package/dist/esm/ui-components/BlockFilters/BlockFiltersItem/BlockFiltersItem.js.map +1 -0
  168. package/dist/esm/ui-components/BlockFilters/CustomPopover/CustomPopover.js +69 -0
  169. package/dist/esm/ui-components/BlockFilters/CustomPopover/CustomPopover.js.map +1 -0
  170. package/dist/esm/ui-components/BlockFilters/CustomTag/index.js +16 -0
  171. package/dist/esm/ui-components/BlockFilters/CustomTag/index.js.map +1 -0
  172. package/dist/esm/ui-components/BlockFilters/FiltersIndicationContext/FiltersIndicationContext.js +55 -0
  173. package/dist/esm/ui-components/BlockFilters/FiltersIndicationContext/FiltersIndicationContext.js.map +1 -0
  174. package/dist/esm/ui-components/BlockFilters/SearchWithTag/index.js +19 -0
  175. package/dist/esm/ui-components/BlockFilters/SearchWithTag/index.js.map +1 -0
  176. package/dist/esm/ui-components/BlockFilters/constants.js +4 -0
  177. package/dist/esm/ui-components/BlockFilters/constants.js.map +1 -0
  178. package/dist/esm/ui-components/ButtonsTooltip/ButtonTooltipStyles.module.scss.js +8 -0
  179. package/dist/esm/ui-components/ButtonsTooltip/ButtonTooltipStyles.module.scss.js.map +1 -0
  180. package/dist/esm/ui-components/ButtonsTooltip/index.js +12 -0
  181. package/dist/esm/ui-components/ButtonsTooltip/index.js.map +1 -0
  182. package/dist/esm/ui-components/CommonContexts/DatasetNameContext.js +12 -0
  183. package/dist/esm/ui-components/CommonContexts/DatasetNameContext.js.map +1 -0
  184. package/dist/esm/ui-components/ControlDash/ControlDash.js +31 -0
  185. package/dist/esm/ui-components/ControlDash/ControlDash.js.map +1 -0
  186. package/dist/esm/ui-components/ControlDash/ControlDashContent.js +78 -0
  187. package/dist/esm/ui-components/ControlDash/ControlDashContent.js.map +1 -0
  188. package/dist/esm/ui-components/ControlDash/IconArrow/IconArrow.js +10 -0
  189. package/dist/esm/ui-components/ControlDash/IconArrow/IconArrow.js.map +1 -0
  190. package/dist/esm/ui-components/ControlDash/IconArrow/IconArrowStyles.module.scss.js +8 -0
  191. package/dist/esm/ui-components/ControlDash/IconArrow/IconArrowStyles.module.scss.js.map +1 -0
  192. package/dist/esm/ui-components/ControlDash/styles/ControlDashStyles.module.scss.js +8 -0
  193. package/dist/esm/ui-components/ControlDash/styles/ControlDashStyles.module.scss.js.map +1 -0
  194. package/dist/esm/ui-components/DashletHeader/index.js +23 -0
  195. package/dist/esm/ui-components/DashletHeader/index.js.map +1 -0
  196. package/dist/esm/ui-components/DashletHeaderButton/index.js +12 -0
  197. package/dist/esm/ui-components/DashletHeaderButton/index.js.map +1 -0
  198. package/dist/esm/ui-components/DashletHeaderModal/index.js +10 -0
  199. package/dist/esm/ui-components/DashletHeaderModal/index.js.map +1 -0
  200. package/dist/esm/ui-components/DashletLayout/index.js +12 -0
  201. package/dist/esm/ui-components/DashletLayout/index.js.map +1 -0
  202. package/dist/esm/ui-components/FilterComponents/Context/CompletedFiltersContext.js +34 -0
  203. package/dist/esm/ui-components/FilterComponents/Context/CompletedFiltersContext.js.map +1 -0
  204. package/dist/esm/ui-components/FilterComponents/CustomControlDashCollapse/CustomControlDashCollapse.js +28 -0
  205. package/dist/esm/ui-components/FilterComponents/CustomControlDashCollapse/CustomControlDashCollapse.js.map +1 -0
  206. package/dist/esm/ui-components/FilterComponents/DatePickerRange/DatePickerRange.js +78 -0
  207. package/dist/esm/ui-components/FilterComponents/DatePickerRange/DatePickerRange.js.map +1 -0
  208. package/dist/esm/ui-components/FilterComponents/DatePickerRange/helpers.js +4 -0
  209. package/dist/esm/ui-components/FilterComponents/DatePickerRange/helpers.js.map +1 -0
  210. package/dist/esm/ui-components/FilterComponents/DatePickerSingle/DatePickerSingle.js +37 -0
  211. package/dist/esm/ui-components/FilterComponents/DatePickerSingle/DatePickerSingle.js.map +1 -0
  212. package/dist/esm/ui-components/FilterComponents/GroupedCollapse/GroupedCollapse.js +28 -0
  213. package/dist/esm/ui-components/FilterComponents/GroupedCollapse/GroupedCollapse.js.map +1 -0
  214. package/dist/esm/ui-components/FilterComponents/InfiniteScrollCheckboxes/DinamicCheckboxes/DinamicCheckboxes.js +65 -0
  215. package/dist/esm/ui-components/FilterComponents/InfiniteScrollCheckboxes/DinamicCheckboxes/DinamicCheckboxes.js.map +1 -0
  216. package/dist/esm/ui-components/FilterComponents/InfiniteScrollCheckboxes/DynamicCheckboxesList/DynamicCheckboxesList.js +25 -0
  217. package/dist/esm/ui-components/FilterComponents/InfiniteScrollCheckboxes/DynamicCheckboxesList/DynamicCheckboxesList.js.map +1 -0
  218. package/dist/esm/ui-components/FilterComponents/InfiniteScrollCheckboxes/InfiniteScrollCheckboxes.js +291 -0
  219. package/dist/esm/ui-components/FilterComponents/InfiniteScrollCheckboxes/InfiniteScrollCheckboxes.js.map +1 -0
  220. package/dist/esm/ui-components/FilterComponents/InfiniteScrollCheckboxes/StaticMenu/StaticMenu.js +33 -0
  221. package/dist/esm/ui-components/FilterComponents/InfiniteScrollCheckboxes/StaticMenu/StaticMenu.js.map +1 -0
  222. package/dist/esm/ui-components/FilterComponents/InfiniteScrollRadio/DynamicRadioList/DynamicRadioList.js +42 -0
  223. package/dist/esm/ui-components/FilterComponents/InfiniteScrollRadio/DynamicRadioList/DynamicRadioList.js.map +1 -0
  224. package/dist/esm/ui-components/FilterComponents/InfiniteScrollRadio/index.js +155 -0
  225. package/dist/esm/ui-components/FilterComponents/InfiniteScrollRadio/index.js.map +1 -0
  226. package/dist/esm/ui-components/FilterComponents/InputFieldItem/InputFieldItem.js +45 -0
  227. package/dist/esm/ui-components/FilterComponents/InputFieldItem/InputFieldItem.js.map +1 -0
  228. package/dist/esm/ui-components/FilterComponents/NumberRangeFilter/index.js +32 -0
  229. package/dist/esm/ui-components/FilterComponents/NumberRangeFilter/index.js.map +1 -0
  230. package/dist/esm/ui-components/FilterComponents/PeriodController/PeriodController.js +38 -0
  231. package/dist/esm/ui-components/FilterComponents/PeriodController/PeriodController.js.map +1 -0
  232. package/dist/esm/ui-components/FilterComponents/VirtuosoFooter/index.js +15 -0
  233. package/dist/esm/ui-components/FilterComponents/VirtuosoFooter/index.js.map +1 -0
  234. package/dist/esm/ui-components/FilterComponents/constants.js +5 -0
  235. package/dist/esm/ui-components/FilterComponents/constants.js.map +1 -0
  236. package/dist/esm/ui-components/FilterComponents/helpers.js +46 -0
  237. package/dist/esm/ui-components/FilterComponents/helpers.js.map +1 -0
  238. package/dist/esm/ui-components/FilterComponents/styles/ControlDashStyles.module.scss.js +8 -0
  239. package/dist/esm/ui-components/FilterComponents/styles/ControlDashStyles.module.scss.js.map +1 -0
  240. package/dist/esm/ui-components/FiltersIndicator/FiltersTag/FiltersTag.js +20 -0
  241. package/dist/esm/ui-components/FiltersIndicator/FiltersTag/FiltersTag.js.map +1 -0
  242. package/dist/esm/ui-components/FiltersIndicator/filtersIndicatorStyles.module.scss.js +8 -0
  243. package/dist/esm/ui-components/FiltersIndicator/filtersIndicatorStyles.module.scss.js.map +1 -0
  244. package/dist/esm/ui-components/FiltersIndicator/index.js +52 -0
  245. package/dist/esm/ui-components/FiltersIndicator/index.js.map +1 -0
  246. package/dist/esm/ui-components/IconComponent/index.js +8 -0
  247. package/dist/esm/ui-components/IconComponent/index.js.map +1 -0
  248. package/dist/esm/ui-components/KpiLayout/Modules/KpiLayoutContent.js +42 -0
  249. package/dist/esm/ui-components/KpiLayout/Modules/KpiLayoutContent.js.map +1 -0
  250. package/dist/esm/ui-components/KpiLayout/Modules/KpiLayoutHeader.js +20 -0
  251. package/dist/esm/ui-components/KpiLayout/Modules/KpiLayoutHeader.js.map +1 -0
  252. package/dist/esm/ui-components/KpiLayout/Modules/KpiLayoutInfo.js +15 -0
  253. package/dist/esm/ui-components/KpiLayout/Modules/KpiLayoutInfo.js.map +1 -0
  254. package/dist/esm/ui-components/KpiLayout/index.js +14 -0
  255. package/dist/esm/ui-components/KpiLayout/index.js.map +1 -0
  256. package/dist/esm/ui-components/TableCustomFilters/TableCustomFilterContent.js +88 -0
  257. package/dist/esm/ui-components/TableCustomFilters/TableCustomFilterContent.js.map +1 -0
  258. package/dist/esm/ui-components/TableCustomFilters/index.js +31 -0
  259. package/dist/esm/ui-components/TableCustomFilters/index.js.map +1 -0
  260. package/dist/esm/ui-components/TableCustomFilters/tableCustomFiltersStyles.module.scss.js +8 -0
  261. package/dist/esm/ui-components/TableCustomFilters/tableCustomFiltersStyles.module.scss.js.map +1 -0
  262. package/dist/esm/ui-components/helpers/filtersConversion.js +12 -0
  263. package/dist/esm/ui-components/helpers/filtersConversion.js.map +1 -0
  264. package/dist/esm/ui-components/helpers/useDebounce.js +22 -0
  265. package/dist/esm/ui-components/helpers/useDebounce.js.map +1 -0
  266. package/dist/esm/utils/downloadExcel.js +55 -0
  267. package/dist/esm/utils/downloadExcel.js.map +1 -0
  268. package/dist/esm/utils/getKoobDataByCfg.js +59 -0
  269. package/dist/esm/utils/getKoobDataByCfg.js.map +1 -0
  270. package/dist/index.d.ts +5 -0
  271. package/dist/luxms-components/DsShellHeader/index.d.ts +10 -0
  272. package/dist/luxms-components/DsShellLeftPane/index.d.ts +70 -0
  273. package/dist/luxms-components/index.d.ts +2 -0
  274. package/dist/luxms-components/lux_elements/AppPane/AppPane.d.ts +26 -0
  275. package/dist/luxms-components/lux_elements/AppPane/Header/Header.d.ts +13 -0
  276. package/dist/luxms-components/lux_elements/AppPane/Menu/Menu.d.ts +49 -0
  277. package/dist/luxms-components/lux_elements/AppPane//320/241ontrols/Controls.d.ts +4 -0
  278. package/dist/luxms-components/lux_elements/DashboardsIcons.d.ts +72 -0
  279. package/dist/luxms-components/lux_elements/MainToolbar/MainToolbar.d.ts +27 -0
  280. package/dist/luxms-components/lux_elements/SortableTiles/SortableTiles.d.ts +30 -0
  281. package/dist/luxms-components/services/ConstaThemeService.d.ts +23 -0
  282. package/dist/ui-components/BlockFilters/BlockFilters.d.ts +3 -0
  283. package/dist/ui-components/BlockFilters/BlockFiltersContent.d.ts +3 -0
  284. package/dist/ui-components/BlockFilters/BlockFiltersItem/BlockFiltersItem.d.ts +3 -0
  285. package/dist/ui-components/BlockFilters/CustomPopover/CustomPopover.d.ts +3 -0
  286. package/dist/ui-components/BlockFilters/CustomTag/index.d.ts +3 -0
  287. package/dist/ui-components/BlockFilters/FiltersIndicationContext/FiltersIndicationContext.d.ts +7 -0
  288. package/dist/ui-components/BlockFilters/SearchWithTag/index.d.ts +3 -0
  289. package/dist/ui-components/BlockFilters/constants.d.ts +8 -0
  290. package/dist/ui-components/BlockFilters/index.d.ts +1 -0
  291. package/dist/ui-components/BlockFilters/types.d.ts +49 -0
  292. package/dist/ui-components/ButtonsTooltip/index.d.ts +3 -0
  293. package/dist/ui-components/ButtonsTooltip/types.d.ts +8 -0
  294. package/dist/ui-components/CommonContexts/DatasetNameContext.d.ts +3 -0
  295. package/dist/ui-components/CommonContexts/index.d.ts +1 -0
  296. package/dist/ui-components/ControlDash/ControlDash.d.ts +3 -0
  297. package/dist/ui-components/ControlDash/ControlDashContent.d.ts +3 -0
  298. package/dist/ui-components/ControlDash/IconArrow/IconArrow.d.ts +3 -0
  299. package/dist/ui-components/ControlDash/constants.d.ts +2 -0
  300. package/dist/ui-components/ControlDash/index.d.ts +2 -0
  301. package/dist/ui-components/ControlDash/types.d.ts +7 -0
  302. package/dist/ui-components/DashletHeader/index.d.ts +21 -0
  303. package/dist/ui-components/DashletHeaderButton/index.d.ts +10 -0
  304. package/dist/ui-components/DashletHeaderModal/index.d.ts +11 -0
  305. package/dist/ui-components/DashletLayout/index.d.ts +11 -0
  306. package/dist/ui-components/FilterComponents/Context/CompletedFiltersContext.d.ts +13 -0
  307. package/dist/ui-components/FilterComponents/Context/index.d.ts +1 -0
  308. package/dist/ui-components/FilterComponents/CustomControlDashCollapse/CustomControlDashCollapse.d.ts +8 -0
  309. package/dist/ui-components/FilterComponents/DatePickerRange/DatePickerRange.d.ts +7 -0
  310. package/dist/ui-components/FilterComponents/DatePickerRange/helpers.d.ts +1 -0
  311. package/dist/ui-components/FilterComponents/DatePickerSingle/DatePickerSingle.d.ts +7 -0
  312. package/dist/ui-components/FilterComponents/GroupedCollapse/GroupedCollapse.d.ts +3 -0
  313. package/dist/ui-components/FilterComponents/InfiniteScrollCheckboxes/DinamicCheckboxes/DinamicCheckboxes.d.ts +13 -0
  314. package/dist/ui-components/FilterComponents/InfiniteScrollCheckboxes/DynamicCheckboxesList/DynamicCheckboxesList.d.ts +17 -0
  315. package/dist/ui-components/FilterComponents/InfiniteScrollCheckboxes/InfiniteScrollCheckboxes.d.ts +7 -0
  316. package/dist/ui-components/FilterComponents/InfiniteScrollCheckboxes/StaticMenu/StaticMenu.d.ts +17 -0
  317. package/dist/ui-components/FilterComponents/InfiniteScrollRadio/DynamicRadioList/DynamicRadioList.d.ts +14 -0
  318. package/dist/ui-components/FilterComponents/InfiniteScrollRadio/index.d.ts +7 -0
  319. package/dist/ui-components/FilterComponents/InputFieldItem/InputFieldItem.d.ts +7 -0
  320. package/dist/ui-components/FilterComponents/NumberRangeFilter/index.d.ts +7 -0
  321. package/dist/ui-components/FilterComponents/PeriodController/PeriodController.d.ts +7 -0
  322. package/dist/ui-components/FilterComponents/VirtuosoFooter/index.d.ts +7 -0
  323. package/dist/ui-components/FilterComponents/constants.d.ts +2 -0
  324. package/dist/ui-components/FilterComponents/helpers.d.ts +4 -0
  325. package/dist/ui-components/FilterComponents/index.d.ts +11 -0
  326. package/dist/ui-components/FilterComponents/types.d.ts +54 -0
  327. package/dist/ui-components/FiltersIndicator/FiltersTag/FiltersTag.d.ts +3 -0
  328. package/dist/ui-components/FiltersIndicator/index.d.ts +3 -0
  329. package/dist/ui-components/FiltersIndicator/types.d.ts +30 -0
  330. package/dist/ui-components/IconComponent/index.d.ts +4 -0
  331. package/dist/ui-components/KpiLayout/Modules/KpiLayoutContent.d.ts +18 -0
  332. package/dist/ui-components/KpiLayout/Modules/KpiLayoutHeader.d.ts +9 -0
  333. package/dist/ui-components/KpiLayout/Modules/KpiLayoutInfo.d.ts +9 -0
  334. package/dist/ui-components/KpiLayout/Modules/index.d.ts +3 -0
  335. package/dist/ui-components/KpiLayout/index.d.ts +31 -0
  336. package/dist/ui-components/TableCustomFilters/TableCustomFilterContent.d.ts +3 -0
  337. package/dist/ui-components/TableCustomFilters/index.d.ts +3 -0
  338. package/dist/ui-components/TableCustomFilters/types.d.ts +9 -0
  339. package/dist/ui-components/helpers/filtersConversion.d.ts +2 -0
  340. package/dist/ui-components/helpers/useDebounce.d.ts +1 -0
  341. package/dist/ui-components/index.d.ts +11 -0
  342. package/dist/ui-components/types/index.d.ts +1 -0
  343. package/dist/ui-components/types/popoverTypes.d.ts +4 -0
  344. package/dist/utils/downloadExcel.d.ts +11 -0
  345. package/dist/utils/getKoobDataByCfg.d.ts +21 -0
  346. package/dist/utils/index.d.ts +2 -0
  347. package/package.json +77 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/ui-components/FilterComponents/InfiniteScrollRadio/index.tsx"],"sourcesContent":["import React, { useContext, useEffect, useMemo, useRef, useState } from 'react';\r\nimport { VirtuosoHandle } from 'react-virtuoso';\r\nimport { Layout } from '@consta/uikit/Layout';\r\nimport { TextField } from '@consta/uikit/TextField';\r\n\r\nimport { filtersConversionForControlDash } from '@/ui-components/helpers/filtersConversion';\r\nimport { useDebounce } from '@/ui-components/helpers/useDebounce';\r\nimport { getKoobDataByCfgFromLib } from '@/utils';\r\n\r\nimport { DatasetNameContext } from '../../CommonContexts';\r\nimport { SIZE } from '../constants';\r\nimport { CompletedFiltersContext } from '../Context';\r\nimport { InfiniteScrollRadioConfig, OmitedComponentFields } from '../types';\r\n\r\nimport { DynamicRadioList } from './DynamicRadioList/DynamicRadioList';\r\n\r\nimport styles from '../styles/ControlDashStyles.module.scss';\r\n\r\ninterface InfiniteScrollRadioProps\r\n extends Omit<InfiniteScrollRadioConfig, OmitedComponentFields> {\r\n applyedFilters: string[];\r\n}\r\n\r\nexport const InfiniteScrollRadio: React.FC<InfiniteScrollRadioProps> = ({\r\n applyedFilters,\r\n koob,\r\n field,\r\n sortField,\r\n sortSymbol,\r\n activeFilters,\r\n}) => {\r\n const ds_name = useContext(DatasetNameContext);\r\n const { completedFilters, getCompletedFiltersWithoutField } = useContext(\r\n CompletedFiltersContext\r\n );\r\n\r\n const [isLoading, setIsLoading] = useState(true);\r\n const [isLoadingMore, setIsLoadingMore] = useState(true);\r\n const [data, setData] = useState<string[]>([]);\r\n const [length, setLength] = useState(0);\r\n const [searchedValue, setSearchedValue] = useState<string | null>(null);\r\n const [currentValue, setCurrentValue] = useState(\r\n applyedFilters?.[1] as string | undefined\r\n );\r\n const [areDisabled, setAreDisabled] = useState(false);\r\n\r\n const isFirstRender = useRef(true);\r\n const virtuosoHandleRef = useRef<VirtuosoHandle>(null);\r\n\r\n //Отложенное значение в поле ввода\r\n const debouncedSearchTerm = useDebounce(searchedValue, 1000);\r\n\r\n const restFilters = getCompletedFiltersWithoutField(field);\r\n\r\n const debouncedTempApplyedFilters = useDebounce(restFilters, 1000);\r\n\r\n const handleChangeCurrentValue = (value: string | undefined) => {\r\n setCurrentValue(value);\r\n };\r\n\r\n const handleChangeLength = (value: number) => {\r\n setLength(value);\r\n };\r\n\r\n useEffect(() => {\r\n if (searchedValue === debouncedSearchTerm) {\r\n setIsLoading(false);\r\n }\r\n }, [searchedValue]);\r\n\r\n useEffect(() => {\r\n setAreDisabled(restFilters !== debouncedTempApplyedFilters);\r\n }, [restFilters]);\r\n\r\n useEffect(() => {\r\n setAreDisabled(false);\r\n }, [debouncedTempApplyedFilters]);\r\n\r\n const tempApplyedFilters = useMemo(() => {\r\n if (activeFilters) {\r\n return filtersConversionForControlDash(activeFilters, {\r\n filters: completedFilters,\r\n // Убираем ошибки типизации\r\n result: {},\r\n pendingFilters: {},\r\n });\r\n } else {\r\n return {};\r\n }\r\n }, [debouncedTempApplyedFilters]);\r\n\r\n useEffect(() => {\r\n if (isFirstRender.current === false) {\r\n setIsLoading(true);\r\n\r\n getKoobDataByCfgFromLib({\r\n data: {\r\n koob: koob as string,\r\n columns: [field],\r\n distinct: true,\r\n sort: [`${sortSymbol ?? '+'}${sortField ?? field}`],\r\n filters: {\r\n ...(debouncedSearchTerm\r\n ? { [field]: ['ilike', `%${debouncedSearchTerm}%`] }\r\n : {}),\r\n ...tempApplyedFilters,\r\n },\r\n limit: SIZE,\r\n offset: length,\r\n },\r\n ds_name,\r\n })\r\n .then((resp: Record<string, string>[]) =>\r\n setData(resp.map((item) => item[field]))\r\n )\r\n .catch(() => setData([]))\r\n .finally(() => {\r\n setIsLoading(false);\r\n setIsLoadingMore(false);\r\n setLength(0);\r\n });\r\n }\r\n }, [debouncedSearchTerm]);\r\n\r\n useEffect(() => {\r\n setIsLoadingMore(true);\r\n\r\n getKoobDataByCfgFromLib({\r\n data: {\r\n koob: koob as string,\r\n columns: [field],\r\n distinct: true,\r\n sort: [`${sortSymbol ?? '+'}${sortField ?? field}`],\r\n filters: {\r\n ...(debouncedSearchTerm\r\n ? { [field]: ['ilike', `%${debouncedSearchTerm}%`] }\r\n : {}),\r\n ...tempApplyedFilters,\r\n },\r\n limit: SIZE,\r\n offset: length,\r\n },\r\n ds_name,\r\n })\r\n .then((resp: Record<string, string>[]) =>\r\n setData([...data, ...resp.map((item) => item[field])])\r\n )\r\n .catch(() => setData([]))\r\n .finally(() => {\r\n isFirstRender.current = false;\r\n setIsLoading(false);\r\n setIsLoadingMore(false);\r\n });\r\n }, [length]);\r\n\r\n useEffect(() => {\r\n if (!isFirstRender.current) {\r\n setLength(0);\r\n setAreDisabled(true);\r\n virtuosoHandleRef?.current?.scrollToIndex({\r\n index: 0,\r\n behavior: 'smooth',\r\n });\r\n\r\n getKoobDataByCfgFromLib({\r\n data: {\r\n koob: koob as string,\r\n columns: [field],\r\n distinct: true,\r\n sort: [`${sortSymbol ?? '+'}${sortField ?? field}`],\r\n filters: {\r\n ...(debouncedSearchTerm\r\n ? { [field]: ['ilike', `%${debouncedSearchTerm}%`] }\r\n : {}),\r\n ...tempApplyedFilters,\r\n },\r\n limit: SIZE,\r\n offset: 0,\r\n },\r\n ds_name,\r\n })\r\n .then((resp: Record<string, string>[]) => {\r\n setData(resp.map((item) => item[field]));\r\n })\r\n .catch(() => {\r\n setData([]);\r\n })\r\n .finally(() => {\r\n setIsLoading(false);\r\n setIsLoadingMore(false);\r\n setAreDisabled(false);\r\n });\r\n }\r\n }, [tempApplyedFilters]);\r\n\r\n return (\r\n <Layout direction=\"column\">\r\n <TextField\r\n placeholder=\"Найти\"\r\n value={searchedValue}\r\n onChange={(value) => {\r\n setSearchedValue(value);\r\n setIsLoading(true);\r\n }}\r\n className={styles.infiniteScrollFilters__search}\r\n size=\"s\"\r\n />\r\n <DynamicRadioList\r\n field={field}\r\n areDisabled={areDisabled}\r\n data={isLoading ? [] : data}\r\n isLoading={isLoadingMore || isLoading}\r\n handleChangeLength={handleChangeLength}\r\n currentValue={currentValue}\r\n virtuosoHandleRef={virtuosoHandleRef}\r\n handleChangeCurrentValue={handleChangeCurrentValue}\r\n />\r\n </Layout>\r\n );\r\n};\r\n"],"names":["_jsxs","_jsx"],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import { useContext, useState, useEffect } from 'react';
3
+ import { TextField } from '@consta/uikit/TextField';
4
+ import { CompletedFiltersContext } from '../Context/CompletedFiltersContext.js';
5
+ import '@consta/icons/IconFunnel';
6
+ import '@consta/uikit/Collapse';
7
+ import styles from '../styles/ControlDashStyles.module.scss.js';
8
+ import '@consta/uikit/DatePicker';
9
+ import '@consta/uikit/Layout';
10
+ import '@consta/uikit/Loader';
11
+ import 'axios';
12
+ import 'axios-retry';
13
+ import 'tslib';
14
+ import 'bi-internal/core';
15
+ import '../../CommonContexts/DatasetNameContext.js';
16
+ import '@consta/icons/IconCancel';
17
+ import '@consta/uikit/Button';
18
+ import 'classnames';
19
+ import 'react-virtuoso';
20
+ import '@consta/uikit/MixScrollBar';
21
+ import '@consta/uikit/Text';
22
+ import '@consta/uikit/Checkbox';
23
+ import '@consta/uikit/Radio';
24
+ import '@consta/uikit/RadioGroup';
25
+
26
+ const InputFieldItem = ({ applyedFilters, field, }) => {
27
+ const { handleChangeCompletedFilters } = useContext(CompletedFiltersContext);
28
+ const [value, setValue] = useState(applyedFilters ? applyedFilters[1].split('%').join('') : null);
29
+ useEffect(() => {
30
+ if (value) {
31
+ handleChangeCompletedFilters({
32
+ [field]: ['ilike', `%${value}%`],
33
+ });
34
+ }
35
+ else {
36
+ handleChangeCompletedFilters({
37
+ [field]: undefined,
38
+ });
39
+ }
40
+ }, [value]);
41
+ return (jsx(TextField, { placeholder: "\u041D\u0430\u0439\u0442\u0438", value: value, onChange: (value) => setValue(value), size: "s", className: styles.sideBar__inputItem }));
42
+ };
43
+
44
+ export { InputFieldItem };
45
+ //# sourceMappingURL=InputFieldItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InputFieldItem.js","sources":["../../../../../src/ui-components/FilterComponents/InputFieldItem/InputFieldItem.tsx"],"sourcesContent":["import React, { useContext, useEffect, useState } from 'react';\r\nimport { TextField } from '@consta/uikit/TextField';\r\n\r\nimport { CompletedFiltersContext } from '../../FilterComponents';\r\nimport { InputConfig, OmitedComponentFields } from '../types';\r\n\r\nimport styles from '../styles/ControlDashStyles.module.scss';\r\n\r\ninterface FieldItem extends Omit<InputConfig, OmitedComponentFields> {\r\n applyedFilters: any[];\r\n}\r\n\r\nexport const InputFieldItem: React.FC<FieldItem> = ({\r\n applyedFilters,\r\n field,\r\n}) => {\r\n const { handleChangeCompletedFilters } = useContext(CompletedFiltersContext);\r\n\r\n const [value, setValue] = useState<string | null>(\r\n applyedFilters ? applyedFilters[1].split('%').join('') : null\r\n );\r\n\r\n useEffect(() => {\r\n if (value) {\r\n handleChangeCompletedFilters({\r\n [field]: ['ilike', `%${value}%`],\r\n });\r\n } else {\r\n handleChangeCompletedFilters({\r\n [field]: undefined,\r\n });\r\n }\r\n }, [value]);\r\n\r\n return (\r\n <TextField\r\n placeholder=\"Найти\"\r\n value={value}\r\n onChange={(value) => setValue(value)}\r\n size=\"s\"\r\n className={styles.sideBar__inputItem}\r\n />\r\n );\r\n};\r\n"],"names":["_jsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAYa,MAAA,cAAc,GAAwB,CAAC,EAClD,cAAc,EACd,KAAK,GACN,KAAI;IACH,MAAM,EAAE,4BAA4B,EAAE,GAAG,UAAU,CAAC,uBAAuB,CAAC,CAAC;AAE7E,IAAA,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAChC,cAAc,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAC9D,CAAC;IAEF,SAAS,CAAC,MAAK;QACb,IAAI,KAAK,EAAE;AACT,YAAA,4BAA4B,CAAC;gBAC3B,CAAC,KAAK,GAAG,CAAC,OAAO,EAAE,CAAA,CAAA,EAAI,KAAK,CAAA,CAAA,CAAG,CAAC;AACjC,aAAA,CAAC,CAAC;SACJ;aAAM;AACL,YAAA,4BAA4B,CAAC;gBAC3B,CAAC,KAAK,GAAG,SAAS;AACnB,aAAA,CAAC,CAAC;SACJ;AACH,KAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AAEZ,IAAA,QACEA,GAAA,CAAC,SAAS,EAAA,EACR,WAAW,EAAC,gCAAO,EACnB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,CAAC,EACpC,IAAI,EAAC,GAAG,EACR,SAAS,EAAE,MAAM,CAAC,kBAAkB,EAAA,CACpC,EACF;AACJ;;;;"}
@@ -0,0 +1,32 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import { useContext, useState, useEffect } from 'react';
3
+ import cn from 'classnames';
4
+ import { Layout } from '@consta/uikit/Layout';
5
+ import { TextField } from '@consta/uikit/TextField';
6
+ import { CompletedFiltersContext } from '../Context/CompletedFiltersContext.js';
7
+ import styles from '../styles/ControlDashStyles.module.scss.js';
8
+
9
+ const NumberRangeFilter = ({ applyedFilters, field, }) => {
10
+ var _a, _b;
11
+ const { handleChangeCompletedFilters } = useContext(CompletedFiltersContext);
12
+ const [startValue, setStartValue] = useState((_a = applyedFilters === null || applyedFilters === void 0 ? void 0 : applyedFilters[1]) !== null && _a !== void 0 ? _a : null);
13
+ const [endValue, setEndValue] = useState((_b = applyedFilters === null || applyedFilters === void 0 ? void 0 : applyedFilters[2]) !== null && _b !== void 0 ? _b : null);
14
+ useEffect(() => {
15
+ if (endValue !== null && startValue !== null) {
16
+ const filterValue = ['between'];
17
+ filterValue.push(Number(startValue), Number(endValue));
18
+ handleChangeCompletedFilters({ [field]: filterValue });
19
+ }
20
+ else {
21
+ handleChangeCompletedFilters({ [field]: undefined });
22
+ }
23
+ }, [startValue, endValue]);
24
+ return (jsxs(Layout, { direction: "row", children: [jsx(TextField, { className: cn(styles.numberFilter, styles.numberFilter_left), type: "number", placeholder: "\u041E\u0442", size: "s", value: startValue, incrementButtons: false, onChange: (value) => {
25
+ setStartValue(value);
26
+ } }), jsx(TextField, { className: styles.numberFilter, type: "number", placeholder: "\u0414\u043E", size: "s", value: endValue, incrementButtons: false, onChange: (value) => {
27
+ setEndValue(value);
28
+ } })] }));
29
+ };
30
+
31
+ export { NumberRangeFilter };
32
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/ui-components/FilterComponents/NumberRangeFilter/index.tsx"],"sourcesContent":["import React, { useContext, useEffect, useState } from 'react';\r\nimport classNames from 'classnames';\r\nimport { Layout } from '@consta/uikit/Layout';\r\nimport { TextField } from '@consta/uikit/TextField';\r\n\r\nimport { CompletedFiltersContext } from '../Context';\r\nimport { NumberRangeConfig, OmitedComponentFields } from '../types';\r\n\r\nimport styles from '../styles/ControlDashStyles.module.scss';\r\n\r\ninterface FieldItem extends Omit<NumberRangeConfig, OmitedComponentFields> {\r\n applyedFilters: any[];\r\n}\r\n\r\nexport const NumberRangeFilter: React.FC<FieldItem> = ({\r\n applyedFilters,\r\n field,\r\n}) => {\r\n const { handleChangeCompletedFilters } = useContext(CompletedFiltersContext);\r\n\r\n const [startValue, setStartValue] = useState<string | null>(\r\n applyedFilters?.[1] ?? null\r\n );\r\n const [endValue, setEndValue] = useState<string | null>(\r\n applyedFilters?.[2] ?? null\r\n );\r\n\r\n useEffect(() => {\r\n if (endValue !== null && startValue !== null) {\r\n const filterValue: Array<string | number> = ['between'];\r\n filterValue.push(Number(startValue), Number(endValue));\r\n handleChangeCompletedFilters({ [field]: filterValue });\r\n } else {\r\n handleChangeCompletedFilters({ [field]: undefined });\r\n }\r\n }, [startValue, endValue]);\r\n\r\n return (\r\n <Layout direction=\"row\">\r\n <TextField\r\n className={classNames(styles.numberFilter, styles.numberFilter_left)}\r\n type=\"number\"\r\n placeholder=\"От\"\r\n size=\"s\"\r\n value={startValue}\r\n incrementButtons={false}\r\n onChange={(value) => {\r\n setStartValue(value);\r\n }}\r\n />\r\n <TextField\r\n className={styles.numberFilter}\r\n type=\"number\"\r\n placeholder=\"До\"\r\n size=\"s\"\r\n value={endValue}\r\n incrementButtons={false}\r\n onChange={(value) => {\r\n setEndValue(value);\r\n }}\r\n />\r\n </Layout>\r\n );\r\n};\r\n"],"names":["_jsxs","_jsx","classNames"],"mappings":";;;;;;;;AAca,MAAA,iBAAiB,GAAwB,CAAC,EACrD,cAAc,EACd,KAAK,GACN,KAAI;;IACH,MAAM,EAAE,4BAA4B,EAAE,GAAG,UAAU,CAAC,uBAAuB,CAAC,CAAC;IAE7E,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAC1C,CAAA,EAAA,GAAA,cAAc,aAAd,cAAc,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAd,cAAc,CAAG,CAAC,CAAC,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,IAAI,CAC5B,CAAC;IACF,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CACtC,CAAA,EAAA,GAAA,cAAc,aAAd,cAAc,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAd,cAAc,CAAG,CAAC,CAAC,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,IAAI,CAC5B,CAAC;IAEF,SAAS,CAAC,MAAK;QACb,IAAI,QAAQ,KAAK,IAAI,IAAI,UAAU,KAAK,IAAI,EAAE;AAC5C,YAAA,MAAM,WAAW,GAA2B,CAAC,SAAS,CAAC,CAAC;AACxD,YAAA,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;YACvD,4BAA4B,CAAC,EAAE,CAAC,KAAK,GAAG,WAAW,EAAE,CAAC,CAAC;SACxD;aAAM;YACL,4BAA4B,CAAC,EAAE,CAAC,KAAK,GAAG,SAAS,EAAE,CAAC,CAAC;SACtD;AACH,KAAC,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE3B,QACEA,KAAC,MAAM,EAAA,EAAC,SAAS,EAAC,KAAK,EACrB,QAAA,EAAA,CAAAC,GAAA,CAAC,SAAS,EAAA,EACR,SAAS,EAAEC,EAAU,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,iBAAiB,CAAC,EACpE,IAAI,EAAC,QAAQ,EACb,WAAW,EAAC,cAAI,EAChB,IAAI,EAAC,GAAG,EACR,KAAK,EAAE,UAAU,EACjB,gBAAgB,EAAE,KAAK,EACvB,QAAQ,EAAE,CAAC,KAAK,KAAI;oBAClB,aAAa,CAAC,KAAK,CAAC,CAAC;AACvB,iBAAC,GACD,EACFD,GAAA,CAAC,SAAS,EAAA,EACR,SAAS,EAAE,MAAM,CAAC,YAAY,EAC9B,IAAI,EAAC,QAAQ,EACb,WAAW,EAAC,cAAI,EAChB,IAAI,EAAC,GAAG,EACR,KAAK,EAAE,QAAQ,EACf,gBAAgB,EAAE,KAAK,EACvB,QAAQ,EAAE,CAAC,KAAK,KAAI;oBAClB,WAAW,CAAC,KAAK,CAAC,CAAC;iBACpB,EAAA,CACD,CACK,EAAA,CAAA,EACT;AACJ;;;;"}
@@ -0,0 +1,38 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import { useContext, useState, useEffect } from 'react';
3
+ import { RadioGroup } from '@consta/uikit/RadioGroup';
4
+ import { CompletedFiltersContext } from '../Context/CompletedFiltersContext.js';
5
+ import '@consta/icons/IconFunnel';
6
+ import '@consta/uikit/Collapse';
7
+ import '@consta/uikit/DatePicker';
8
+ import '@consta/uikit/Layout';
9
+ import '@consta/uikit/Loader';
10
+ import 'axios';
11
+ import 'axios-retry';
12
+ import 'tslib';
13
+ import 'bi-internal/core';
14
+ import '../../CommonContexts/DatasetNameContext.js';
15
+ import '@consta/icons/IconCancel';
16
+ import '@consta/uikit/Button';
17
+ import 'classnames';
18
+ import { PERIOD_TYPE_ITEMS } from '../constants.js';
19
+ import 'react-virtuoso';
20
+ import '@consta/uikit/MixScrollBar';
21
+ import '@consta/uikit/Text';
22
+ import '@consta/uikit/Checkbox';
23
+ import '@consta/uikit/TextField';
24
+ import '@consta/uikit/Radio';
25
+
26
+ const PeriodController = ({ applyedFilters, field, }) => {
27
+ const { handleChangeCompletedFilters } = useContext(CompletedFiltersContext);
28
+ const [value, setValue] = useState(applyedFilters ? applyedFilters[1] : PERIOD_TYPE_ITEMS[2]);
29
+ useEffect(() => {
30
+ handleChangeCompletedFilters({
31
+ [field]: ['=', value],
32
+ });
33
+ }, [value]);
34
+ return (jsx(RadioGroup, { items: PERIOD_TYPE_ITEMS, value: value, onChange: (value) => setValue(value), getItemLabel: (item) => item, size: "s" }));
35
+ };
36
+
37
+ export { PeriodController };
38
+ //# sourceMappingURL=PeriodController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PeriodController.js","sources":["../../../../../src/ui-components/FilterComponents/PeriodController/PeriodController.tsx"],"sourcesContent":["import React, { useContext, useEffect, useState } from 'react';\r\nimport { RadioGroup } from '@consta/uikit/RadioGroup';\r\n\r\nimport { CompletedFiltersContext } from '../../FilterComponents';\r\nimport { PERIOD_TYPE_ITEMS } from '../constants';\r\nimport { OmitedComponentFields, PeriodControllerConfig } from '../types';\r\n\r\ninterface FieldItem\r\n extends Omit<PeriodControllerConfig, OmitedComponentFields> {\r\n applyedFilters: string[];\r\n}\r\n\r\nexport const PeriodController: React.FC<FieldItem> = ({\r\n applyedFilters,\r\n field,\r\n}) => {\r\n const { handleChangeCompletedFilters } = useContext(CompletedFiltersContext);\r\n\r\n const [value, setValue] = useState(\r\n applyedFilters ? applyedFilters[1] : PERIOD_TYPE_ITEMS[2]\r\n );\r\n\r\n useEffect(() => {\r\n handleChangeCompletedFilters({\r\n [field]: ['=', value],\r\n });\r\n }, [value]);\r\n\r\n return (\r\n <RadioGroup\r\n items={PERIOD_TYPE_ITEMS}\r\n value={value}\r\n onChange={(value) => setValue(value)}\r\n getItemLabel={(item: string) => item}\r\n size=\"s\"\r\n />\r\n );\r\n};\r\n"],"names":["_jsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAYa,MAAA,gBAAgB,GAAwB,CAAC,EACpD,cAAc,EACd,KAAK,GACN,KAAI;IACH,MAAM,EAAE,4BAA4B,EAAE,GAAG,UAAU,CAAC,uBAAuB,CAAC,CAAC;IAE7E,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAChC,cAAc,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAC1D,CAAC;IAEF,SAAS,CAAC,MAAK;AACb,QAAA,4BAA4B,CAAC;AAC3B,YAAA,CAAC,KAAK,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC;AACtB,SAAA,CAAC,CAAC;AACL,KAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AAEZ,IAAA,QACEA,GAAC,CAAA,UAAU,EACT,EAAA,KAAK,EAAE,iBAAiB,EACxB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,CAAC,EACpC,YAAY,EAAE,CAAC,IAAY,KAAK,IAAI,EACpC,IAAI,EAAC,GAAG,EAAA,CACR,EACF;AACJ;;;;"}
@@ -0,0 +1,15 @@
1
+ import { jsx, Fragment } from 'react/jsx-runtime';
2
+ import { Layout } from '@consta/uikit/Layout';
3
+ import { Loader } from '@consta/uikit/Loader';
4
+ import { Text } from '@consta/uikit/Text';
5
+ import styles from '../styles/ControlDashStyles.module.scss.js';
6
+
7
+ const VirtuosoFooter = ({ isLoading, dataLength, }) => {
8
+ if (isLoading) {
9
+ return (jsx(Layout, { className: styles.infiniteScrollFilters__virtuosoFooter, children: jsx(Loader, {}) }));
10
+ }
11
+ return (jsx(Fragment, { children: !dataLength ? (jsx(Layout, { className: styles.infiniteScrollFilters__virtuosoFooter, children: jsx(Text, { size: "s", view: "primary", children: "\u041D\u0435\u0442 \u0434\u0430\u043D\u043D\u044B\u0445" }) })) : (jsx(Fragment, {})) }));
12
+ };
13
+
14
+ export { VirtuosoFooter };
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/ui-components/FilterComponents/VirtuosoFooter/index.tsx"],"sourcesContent":["import React from 'react';\r\nimport { Layout } from '@consta/uikit/Layout';\r\nimport { Loader } from '@consta/uikit/Loader';\r\nimport { Text } from '@consta/uikit/Text';\r\n\r\nimport styles from '../styles/ControlDashStyles.module.scss';\r\n\r\ninterface VirtuosoFooterProps {\r\n isLoading: boolean;\r\n dataLength: number;\r\n}\r\n\r\nexport const VirtuosoFooter: React.FC<VirtuosoFooterProps> = ({\r\n isLoading,\r\n dataLength,\r\n}) => {\r\n if (isLoading) {\r\n return (\r\n <Layout className={styles.infiniteScrollFilters__virtuosoFooter}>\r\n <Loader />\r\n </Layout>\r\n );\r\n }\r\n\r\n return (\r\n <>\r\n {!dataLength ? (\r\n <Layout className={styles.infiniteScrollFilters__virtuosoFooter}>\r\n <Text size=\"s\" view=\"primary\">\r\n Нет данных\r\n </Text>\r\n </Layout>\r\n ) : (\r\n <></>\r\n )}\r\n </>\r\n );\r\n};\r\n"],"names":["_jsx","_Fragment"],"mappings":";;;;;;AAYa,MAAA,cAAc,GAAkC,CAAC,EAC5D,SAAS,EACT,UAAU,GACX,KAAI;IACH,IAAI,SAAS,EAAE;AACb,QAAA,QACEA,GAAA,CAAC,MAAM,EAAA,EAAC,SAAS,EAAE,MAAM,CAAC,qCAAqC,YAC7DA,GAAC,CAAA,MAAM,EAAG,EAAA,CAAA,EAAA,CACH,EACT;KACH;AAED,IAAA,QACEA,GACG,CAAAC,QAAA,EAAA,EAAA,QAAA,EAAA,CAAC,UAAU,IACVD,GAAC,CAAA,MAAM,IAAC,SAAS,EAAE,MAAM,CAAC,qCAAqC,YAC7DA,GAAC,CAAA,IAAI,EAAC,EAAA,IAAI,EAAC,GAAG,EAAC,IAAI,EAAC,SAAS,EAEtB,QAAA,EAAA,yDAAA,EAAA,CAAA,EAAA,CACA,KAETA,iBAAK,CACN,EAAA,CACA,EACH;AACJ;;;;"}
@@ -0,0 +1,5 @@
1
+ const SIZE = 20;
2
+ const PERIOD_TYPE_ITEMS = ['Год', 'Квартал', 'Месяц'];
3
+
4
+ export { PERIOD_TYPE_ITEMS, SIZE };
5
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sources":["../../../../src/ui-components/FilterComponents/constants.ts"],"sourcesContent":["export const SIZE = 20;\r\n\r\nexport const PERIOD_TYPE_ITEMS = ['Год', 'Квартал', 'Месяц'];\r\n"],"names":[],"mappings":"AAAO,MAAM,IAAI,GAAG,GAAG;AAEV,MAAA,iBAAiB,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO;;;;"}
@@ -0,0 +1,46 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import './Context/CompletedFiltersContext.js';
3
+ import 'react';
4
+ import '@consta/icons/IconFunnel';
5
+ import '@consta/uikit/Collapse';
6
+ import { DatePickerRange } from './DatePickerRange/DatePickerRange.js';
7
+ import { DatePickerSingle } from './DatePickerSingle/DatePickerSingle.js';
8
+ import 'classnames';
9
+ import '@consta/uikit/Layout';
10
+ import { InfiniteScrollCheckboxesContent } from './InfiniteScrollCheckboxes/InfiniteScrollCheckboxes.js';
11
+ import { InfiniteScrollRadio } from './InfiniteScrollRadio/index.js';
12
+ import { InputFieldItem } from './InputFieldItem/InputFieldItem.js';
13
+ import { NumberRangeFilter } from './NumberRangeFilter/index.js';
14
+ import { PeriodController } from './PeriodController/PeriodController.js';
15
+ import '@consta/uikit/Loader';
16
+ import '@consta/uikit/Text';
17
+
18
+ const isFieldsDataWithGrouping = (item) => {
19
+ return item.filterType !== 'group';
20
+ };
21
+ const getFilterByType = ({ fieldInfo, luxmsFilters, }) => {
22
+ const { field, filterType } = fieldInfo;
23
+ switch (filterType) {
24
+ case 'numberRange':
25
+ return (jsx(NumberRangeFilter, { applyedFilters: luxmsFilters === null || luxmsFilters === void 0 ? void 0 : luxmsFilters[field], field: fieldInfo.field }));
26
+ case 'input':
27
+ return (jsx(InputFieldItem, { applyedFilters: luxmsFilters === null || luxmsFilters === void 0 ? void 0 : luxmsFilters[field], field: fieldInfo.field }));
28
+ case 'periodController':
29
+ return (jsx(PeriodController, { applyedFilters: luxmsFilters === null || luxmsFilters === void 0 ? void 0 : luxmsFilters[field], field: field }));
30
+ case 'datePickerRange':
31
+ return (jsx(DatePickerRange, { applyedFilters: luxmsFilters === null || luxmsFilters === void 0 ? void 0 : luxmsFilters[field], koob: fieldInfo.koob, field: field }));
32
+ case 'datePickerSingle':
33
+ return (jsx(DatePickerSingle, { applyedFilters: luxmsFilters === null || luxmsFilters === void 0 ? void 0 : luxmsFilters[field], field: field }));
34
+ case 'infiniteScrollCheckboxes':
35
+ return (jsx(InfiniteScrollCheckboxesContent, { applyedFilters: luxmsFilters === null || luxmsFilters === void 0 ? void 0 : luxmsFilters[field], activeFilters: fieldInfo.activeFilters, koob: fieldInfo.koob, field: field, sortSymbol: fieldInfo.sortSymbol, sortField: fieldInfo.sortField }));
36
+ case 'infiniteScrollRadio':
37
+ return (jsx(InfiniteScrollRadio, { applyedFilters: luxmsFilters === null || luxmsFilters === void 0 ? void 0 : luxmsFilters[field], activeFilters: fieldInfo.activeFilters, koob: fieldInfo.koob, field: field, sortSymbol: fieldInfo.sortSymbol, sortField: fieldInfo.sortField }));
38
+ }
39
+ };
40
+ const formatDate = (date) => {
41
+ if (date)
42
+ return date.toLocaleDateString().split('.').reverse().join('-');
43
+ };
44
+
45
+ export { formatDate, getFilterByType, isFieldsDataWithGrouping };
46
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sources":["../../../../src/ui-components/FilterComponents/helpers.tsx"],"sourcesContent":["import React from 'react';\r\n\r\nimport { FieldsData, FieldsDataWithGrouping, GetFilterByType } from './types';\r\nimport {\r\n DatePickerRange,\r\n DatePickerSingle,\r\n InfiniteScrollCheckboxesContent,\r\n InfiniteScrollRadio,\r\n InputFieldItem,\r\n NumberRangeFilter,\r\n PeriodController,\r\n} from '.';\r\n\r\nexport const isFieldsDataWithGrouping = (\r\n item: FieldsDataWithGrouping | FieldsData\r\n): item is FieldsData => {\r\n return item.filterType !== 'group';\r\n};\r\n\r\nexport const getFilterByType = ({\r\n fieldInfo,\r\n luxmsFilters,\r\n}: GetFilterByType) => {\r\n const { field, filterType } = fieldInfo;\r\n\r\n switch (filterType) {\r\n case 'numberRange':\r\n return (\r\n <NumberRangeFilter\r\n applyedFilters={luxmsFilters?.[field]}\r\n field={fieldInfo.field}\r\n />\r\n );\r\n case 'input':\r\n return (\r\n <InputFieldItem\r\n applyedFilters={luxmsFilters?.[field]}\r\n field={fieldInfo.field}\r\n />\r\n );\r\n case 'periodController':\r\n return (\r\n <PeriodController\r\n applyedFilters={luxmsFilters?.[field]}\r\n field={field}\r\n />\r\n );\r\n case 'datePickerRange':\r\n return (\r\n <DatePickerRange\r\n applyedFilters={luxmsFilters?.[field]}\r\n koob={fieldInfo.koob}\r\n field={field}\r\n />\r\n );\r\n case 'datePickerSingle':\r\n return (\r\n <DatePickerSingle\r\n applyedFilters={luxmsFilters?.[field]}\r\n field={field}\r\n />\r\n );\r\n case 'infiniteScrollCheckboxes':\r\n return (\r\n <InfiniteScrollCheckboxesContent\r\n applyedFilters={luxmsFilters?.[field]}\r\n activeFilters={fieldInfo.activeFilters}\r\n koob={fieldInfo.koob}\r\n field={field}\r\n sortSymbol={fieldInfo.sortSymbol}\r\n sortField={fieldInfo.sortField}\r\n />\r\n );\r\n case 'infiniteScrollRadio':\r\n return (\r\n <InfiniteScrollRadio\r\n applyedFilters={luxmsFilters?.[field]}\r\n activeFilters={fieldInfo.activeFilters}\r\n koob={fieldInfo.koob}\r\n field={field}\r\n sortSymbol={fieldInfo.sortSymbol}\r\n sortField={fieldInfo.sortField}\r\n />\r\n );\r\n }\r\n};\r\n\r\nexport const formatDate = (date: Date) => {\r\n if (date) return date.toLocaleDateString().split('.').reverse().join('-');\r\n};\r\n"],"names":["_jsx"],"mappings":";;;;;;;;;;;;;;;;;AAaa,MAAA,wBAAwB,GAAG,CACtC,IAAyC,KACnB;AACtB,IAAA,OAAO,IAAI,CAAC,UAAU,KAAK,OAAO,CAAC;AACrC,EAAE;AAEW,MAAA,eAAe,GAAG,CAAC,EAC9B,SAAS,EACT,YAAY,GACI,KAAI;AACpB,IAAA,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,SAAS,CAAC;IAExC,QAAQ,UAAU;AAChB,QAAA,KAAK,aAAa;YAChB,QACEA,IAAC,iBAAiB,EAAA,EAChB,cAAc,EAAE,YAAY,KAAZ,IAAA,IAAA,YAAY,KAAZ,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,YAAY,CAAG,KAAK,CAAC,EACrC,KAAK,EAAE,SAAS,CAAC,KAAK,EACtB,CAAA,EACF;AACJ,QAAA,KAAK,OAAO;YACV,QACEA,IAAC,cAAc,EAAA,EACb,cAAc,EAAE,YAAY,KAAZ,IAAA,IAAA,YAAY,KAAZ,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,YAAY,CAAG,KAAK,CAAC,EACrC,KAAK,EAAE,SAAS,CAAC,KAAK,EACtB,CAAA,EACF;AACJ,QAAA,KAAK,kBAAkB;YACrB,QACEA,IAAC,gBAAgB,EAAA,EACf,cAAc,EAAE,YAAY,aAAZ,YAAY,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAZ,YAAY,CAAG,KAAK,CAAC,EACrC,KAAK,EAAE,KAAK,EAAA,CACZ,EACF;AACJ,QAAA,KAAK,iBAAiB;YACpB,QACEA,GAAC,CAAA,eAAe,EACd,EAAA,cAAc,EAAE,YAAY,KAAZ,IAAA,IAAA,YAAY,KAAZ,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,YAAY,CAAG,KAAK,CAAC,EACrC,IAAI,EAAE,SAAS,CAAC,IAAI,EACpB,KAAK,EAAE,KAAK,EACZ,CAAA,EACF;AACJ,QAAA,KAAK,kBAAkB;YACrB,QACEA,IAAC,gBAAgB,EAAA,EACf,cAAc,EAAE,YAAY,aAAZ,YAAY,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAZ,YAAY,CAAG,KAAK,CAAC,EACrC,KAAK,EAAE,KAAK,EAAA,CACZ,EACF;AACJ,QAAA,KAAK,0BAA0B;YAC7B,QACEA,IAAC,+BAA+B,EAAA,EAC9B,cAAc,EAAE,YAAY,aAAZ,YAAY,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAZ,YAAY,CAAG,KAAK,CAAC,EACrC,aAAa,EAAE,SAAS,CAAC,aAAa,EACtC,IAAI,EAAE,SAAS,CAAC,IAAI,EACpB,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,SAAS,CAAC,UAAU,EAChC,SAAS,EAAE,SAAS,CAAC,SAAS,EAAA,CAC9B,EACF;AACJ,QAAA,KAAK,qBAAqB;YACxB,QACEA,IAAC,mBAAmB,EAAA,EAClB,cAAc,EAAE,YAAY,aAAZ,YAAY,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAZ,YAAY,CAAG,KAAK,CAAC,EACrC,aAAa,EAAE,SAAS,CAAC,aAAa,EACtC,IAAI,EAAE,SAAS,CAAC,IAAI,EACpB,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,SAAS,CAAC,UAAU,EAChC,SAAS,EAAE,SAAS,CAAC,SAAS,EAAA,CAC9B,EACF;KACL;AACH,EAAE;AAEW,MAAA,UAAU,GAAG,CAAC,IAAU,KAAI;AACvC,IAAA,IAAI,IAAI;AAAE,QAAA,OAAO,IAAI,CAAC,kBAAkB,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC5E;;;;"}
@@ -0,0 +1,8 @@
1
+ import styleInject from '../../../node_modules/style-inject/dist/style-inject.es.js';
2
+
3
+ var css_248z = ".ControlDashStyles-module__infiniteScrollFilters___oWOZ9{padding:5px!important;width:300px}.ControlDashStyles-module__infiniteScrollFilters__content___Xa3AO{height:250px!important}.ControlDashStyles-module__infiniteScrollFilters__loaderContainer___-Mocg{justify-content:center;padding-top:50px;width:100%}.ControlDashStyles-module__infiniteScrollFilters__checkboxesContainer___Hj7WX{overflow-y:auto!important;padding-right:10px}.ControlDashStyles-module__infiniteScrollFilters__search___mvnDG{margin-bottom:5px}.ControlDashStyles-module__infiniteScrollFilters__selectAll___P3P0o{align-items:center;height:26px;justify-content:space-between;margin-bottom:3px;padding:3px;transition:all .2s;width:100%}.ControlDashStyles-module__infiniteScrollFilters__selectAll_loading___bIcMM{margin-bottom:100px}.ControlDashStyles-module__infiniteScrollFilters__selectAll___P3P0o:hover{background-color:rgba(0,32,51,.051)}.ControlDashStyles-module__infiniteScrollFilters__virtuosoFooter___P0-S7{justify-content:center;padding-bottom:5px}.ControlDashStyles-module__infiniteScrollFilters__singleCheckbox___qzZil{padding:3px;transition:none;width:100%}.ControlDashStyles-module__infiniteScrollFilters__singleCheckbox___qzZil:hover{background-color:rgba(0,32,51,.051)}.ControlDashStyles-module__groupedCollapse___iruQ1>.Collapse-Label{width:-moz-fit-content!important;width:fit-content!important}.ControlDashStyles-module__groupedCollapse___iruQ1>.Collapse-Body{transition:none!important}.ControlDashStyles-module__groupedCollapse__content___ui9uq{margin-left:20px}.ControlDashStyles-module__groupedCollapse_bold___lQYNK>.Collapse-Label{font-weight:700!important}.ControlDashStyles-module__collapse___6E0rs>.Collapse-Label{width:-moz-fit-content!important;width:fit-content!important}.ControlDashStyles-module__numberFilter___WbcV0{margin:10px 0}.ControlDashStyles-module__numberFilter_left___2SR6v{margin-right:10px}";
4
+ var styles = {"infiniteScrollFilters":"ControlDashStyles-module__infiniteScrollFilters___oWOZ9","infiniteScrollFilters__content":"ControlDashStyles-module__infiniteScrollFilters__content___Xa3AO","infiniteScrollFilters__loaderContainer":"ControlDashStyles-module__infiniteScrollFilters__loaderContainer___-Mocg","infiniteScrollFilters__checkboxesContainer":"ControlDashStyles-module__infiniteScrollFilters__checkboxesContainer___Hj7WX","infiniteScrollFilters__search":"ControlDashStyles-module__infiniteScrollFilters__search___mvnDG","infiniteScrollFilters__selectAll":"ControlDashStyles-module__infiniteScrollFilters__selectAll___P3P0o","infiniteScrollFilters__selectAll_loading":"ControlDashStyles-module__infiniteScrollFilters__selectAll_loading___bIcMM","infiniteScrollFilters__virtuosoFooter":"ControlDashStyles-module__infiniteScrollFilters__virtuosoFooter___P0-S7","infiniteScrollFilters__singleCheckbox":"ControlDashStyles-module__infiniteScrollFilters__singleCheckbox___qzZil","groupedCollapse":"ControlDashStyles-module__groupedCollapse___iruQ1","groupedCollapse__content":"ControlDashStyles-module__groupedCollapse__content___ui9uq","groupedCollapse_bold":"ControlDashStyles-module__groupedCollapse_bold___lQYNK","collapse":"ControlDashStyles-module__collapse___6E0rs","numberFilter":"ControlDashStyles-module__numberFilter___WbcV0","numberFilter_left":"ControlDashStyles-module__numberFilter_left___2SR6v"};
5
+ styleInject(css_248z);
6
+
7
+ export { styles as default };
8
+ //# sourceMappingURL=ControlDashStyles.module.scss.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ControlDashStyles.module.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
@@ -0,0 +1,20 @@
1
+ import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
2
+ import { useRef, useState } from 'react';
3
+ import { IconClose } from '@consta/icons/IconClose';
4
+ import { Layout } from '@consta/uikit/Layout';
5
+ import { Text } from '@consta/uikit/Text';
6
+ import { Tooltip } from '@consta/uikit/Tooltip';
7
+ import styles from '../filtersIndicatorStyles.module.scss.js';
8
+
9
+ const FiltersTag = ({ filterKey, value, filtersAssociations, resetFilters, }) => {
10
+ const anchorRef = useRef(null);
11
+ const [isTooltipVisible, setIsTooltipVisible] = useState(false);
12
+ const [isTagShown, setIsTagShown] = useState(true);
13
+ return (jsxs(Fragment, { children: [isTagShown && (jsxs(Layout, { ref: anchorRef, className: styles.filtersIndicatorItem, children: [jsxs(Text, { size: "s", view: "primary", weight: "semibold", children: [filtersAssociations[filterKey], ":\u00A0"] }), jsx(Text, { size: "s", view: "primary", className: styles.filtersIndicatorItem__value, onMouseEnter: () => setIsTooltipVisible(true), onMouseLeave: () => setIsTooltipVisible(false), children: value }), jsx(IconClose, { size: "xs", className: styles.filtersIndicatorItem__iconClose, onClick: () => {
14
+ resetFilters(filterKey);
15
+ setIsTagShown(false);
16
+ } })] }, filterKey + value)), jsx(Tooltip, { isOpen: isTooltipVisible, direction: "upCenter", anchorRef: anchorRef, placeholder: undefined, onPointerEnterCapture: undefined, onPointerLeaveCapture: undefined, children: jsx(Text, { view: "primary", lineHeight: "m", size: "s", children: value }) })] }));
17
+ };
18
+
19
+ export { FiltersTag };
20
+ //# sourceMappingURL=FiltersTag.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FiltersTag.js","sources":["../../../../../src/ui-components/FiltersIndicator/FiltersTag/FiltersTag.tsx"],"sourcesContent":["import React, { useRef, useState } from 'react';\r\nimport { IconClose } from '@consta/icons/IconClose';\r\nimport { Layout } from '@consta/uikit/Layout';\r\nimport { Text } from '@consta/uikit/Text';\r\nimport { Tooltip } from '@consta/uikit/Tooltip';\r\n\r\nimport { IFiltersTagProps } from '../types';\r\n\r\nimport styles from '../filtersIndicatorStyles.module.scss';\r\n\r\nexport const FiltersTag: React.FC<IFiltersTagProps> = ({\r\n filterKey,\r\n value,\r\n filtersAssociations,\r\n resetFilters,\r\n}) => {\r\n const anchorRef = useRef<HTMLDivElement>(null);\r\n\r\n const [isTooltipVisible, setIsTooltipVisible] = useState(false);\r\n const [isTagShown, setIsTagShown] = useState(true);\r\n\r\n return (\r\n <>\r\n {isTagShown && (\r\n <Layout\r\n ref={anchorRef}\r\n className={styles.filtersIndicatorItem}\r\n key={filterKey + value}\r\n >\r\n <Text size=\"s\" view=\"primary\" weight=\"semibold\">\r\n {filtersAssociations[filterKey as keyof object]}:&nbsp;\r\n </Text>\r\n <Text\r\n size=\"s\"\r\n view=\"primary\"\r\n className={styles.filtersIndicatorItem__value}\r\n onMouseEnter={() => setIsTooltipVisible(true)}\r\n onMouseLeave={() => setIsTooltipVisible(false)}\r\n >\r\n {value}\r\n </Text>\r\n <IconClose\r\n size=\"xs\"\r\n className={styles.filtersIndicatorItem__iconClose}\r\n onClick={() => {\r\n resetFilters(filterKey);\r\n setIsTagShown(false);\r\n }}\r\n />\r\n </Layout>\r\n )}\r\n <Tooltip\r\n isOpen={isTooltipVisible}\r\n direction=\"upCenter\"\r\n anchorRef={anchorRef}\r\n placeholder={undefined}\r\n onPointerEnterCapture={undefined}\r\n onPointerLeaveCapture={undefined}\r\n >\r\n <Text view=\"primary\" lineHeight=\"m\" size=\"s\">\r\n {value}\r\n </Text>\r\n </Tooltip>\r\n </>\r\n );\r\n};\r\n"],"names":["_jsxs","_jsx"],"mappings":";;;;;;;;AAUO,MAAM,UAAU,GAA+B,CAAC,EACrD,SAAS,EACT,KAAK,EACL,mBAAmB,EACnB,YAAY,GACb,KAAI;AACH,IAAA,MAAM,SAAS,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAE/C,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChE,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAEnD,QACEA,4BACG,UAAU,KACTA,IAAC,CAAA,MAAM,IACL,GAAG,EAAE,SAAS,EACd,SAAS,EAAE,MAAM,CAAC,oBAAoB,EAGtC,QAAA,EAAA,CAAAA,IAAA,CAAC,IAAI,EAAC,EAAA,IAAI,EAAC,GAAG,EAAC,IAAI,EAAC,SAAS,EAAC,MAAM,EAAC,UAAU,EAC5C,QAAA,EAAA,CAAA,mBAAmB,CAAC,SAAyB,CAAC,eAC1C,EACPC,GAAA,CAAC,IAAI,EACH,EAAA,IAAI,EAAC,GAAG,EACR,IAAI,EAAC,SAAS,EACd,SAAS,EAAE,MAAM,CAAC,2BAA2B,EAC7C,YAAY,EAAE,MAAM,mBAAmB,CAAC,IAAI,CAAC,EAC7C,YAAY,EAAE,MAAM,mBAAmB,CAAC,KAAK,CAAC,YAE7C,KAAK,EAAA,CACD,EACPA,GAAC,CAAA,SAAS,IACR,IAAI,EAAC,IAAI,EACT,SAAS,EAAE,MAAM,CAAC,+BAA+B,EACjD,OAAO,EAAE,MAAK;4BACZ,YAAY,CAAC,SAAS,CAAC,CAAC;4BACxB,aAAa,CAAC,KAAK,CAAC,CAAC;yBACtB,EAAA,CACD,CArBG,EAAA,EAAA,SAAS,GAAG,KAAK,CAsBf,CACV,EACDA,GAAC,CAAA,OAAO,EACN,EAAA,MAAM,EAAE,gBAAgB,EACxB,SAAS,EAAC,UAAU,EACpB,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,SAAS,EACtB,qBAAqB,EAAE,SAAS,EAChC,qBAAqB,EAAE,SAAS,EAEhC,QAAA,EAAAA,GAAA,CAAC,IAAI,EAAA,EAAC,IAAI,EAAC,SAAS,EAAC,UAAU,EAAC,GAAG,EAAC,IAAI,EAAC,GAAG,EACzC,QAAA,EAAA,KAAK,EACD,CAAA,EAAA,CACC,CACT,EAAA,CAAA,EACH;AACJ;;;;"}
@@ -0,0 +1,8 @@
1
+ import styleInject from '../../node_modules/style-inject/dist/style-inject.es.js';
2
+
3
+ var css_248z = ".filtersIndicatorStyles-module__filtersIndicator___BkxLs{background-color:none;left:0;position:sticky;top:0;z-index:1000001}.filtersIndicatorStyles-module__filtersIndicator__container___iFlI2{gap:5px;margin-bottom:0;overflow-x:auto;padding:0 5px 5px;width:100%}.filtersIndicatorStyles-module__filtersIndicatorItem___PX-Ws{align-items:center;background-color:rgba(0,66,105,.07);border-radius:8px;min-width:-moz-fit-content;min-width:fit-content;padding:5px}.filtersIndicatorStyles-module__filtersIndicatorItem__value___Pe9fb{max-width:350px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filtersIndicatorStyles-module__filtersIndicatorItem__iconClose___rL2jN{cursor:pointer;margin-left:5px}";
4
+ var styles = {"filtersIndicator":"filtersIndicatorStyles-module__filtersIndicator___BkxLs","filtersIndicator__container":"filtersIndicatorStyles-module__filtersIndicator__container___iFlI2","filtersIndicatorItem":"filtersIndicatorStyles-module__filtersIndicatorItem___PX-Ws","filtersIndicatorItem__value":"filtersIndicatorStyles-module__filtersIndicatorItem__value___Pe9fb","filtersIndicatorItem__iconClose":"filtersIndicatorStyles-module__filtersIndicatorItem__iconClose___rL2jN"};
5
+ styleInject(css_248z);
6
+
7
+ export { styles as default };
8
+ //# sourceMappingURL=filtersIndicatorStyles.module.scss.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filtersIndicatorStyles.module.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
@@ -0,0 +1,52 @@
1
+ import { jsx, Fragment } from 'react/jsx-runtime';
2
+ import { useContext, useState, useEffect } from 'react';
3
+ import cn from 'classnames';
4
+ import { Layout } from '@consta/uikit/Layout';
5
+ import { cnMixScrollBar } from '@consta/uikit/MixScrollBar';
6
+ import { SkeletonBrick } from '@consta/uikit/Skeleton';
7
+ import 'axios';
8
+ import 'axios-retry';
9
+ import { getKoobDataByCfgFromLib } from '../../utils/getKoobDataByCfg.js';
10
+ import { DatasetNameContext } from '../CommonContexts/DatasetNameContext.js';
11
+ import { FiltersTag } from './FiltersTag/FiltersTag.js';
12
+ import styles from './filtersIndicatorStyles.module.scss.js';
13
+
14
+ const FiltersIndicator = ({ luxmsFilters, filtersAssociations, koob, columns, className, backgroundColor, resetFilters, }) => {
15
+ const ds_name = useContext(DatasetNameContext);
16
+ const [concatedFilters, setConcatedFilters] = useState({});
17
+ const [areFiltersVisible, setAreFiltersVisible] = useState(false);
18
+ const [isLoading, setIsLoading] = useState(true);
19
+ useEffect(() => {
20
+ setIsLoading(true);
21
+ getKoobDataByCfgFromLib({
22
+ data: {
23
+ koob: koob,
24
+ columns,
25
+ filters: luxmsFilters,
26
+ },
27
+ ds_name,
28
+ })
29
+ .then((resp) => {
30
+ const firstRespItem = resp[0];
31
+ const activeFiltersIndicators = Object.entries(luxmsFilters).reduce((acc, [key, value]) => {
32
+ if (value)
33
+ acc = Object.assign(Object.assign({}, acc), { [key]: firstRespItem === null || firstRespItem === void 0 ? void 0 : firstRespItem[key] });
34
+ return acc;
35
+ }, {});
36
+ setAreFiltersVisible(!!Object.keys(activeFiltersIndicators).length);
37
+ setConcatedFilters(activeFiltersIndicators);
38
+ })
39
+ .catch(() => setConcatedFilters({}))
40
+ .finally(() => setIsLoading(false));
41
+ }, [luxmsFilters]);
42
+ return (jsx(Fragment, { children: areFiltersVisible && (jsx(Layout, { className: cn(styles.filtersIndicator, className), style: {
43
+ backgroundColor: backgroundColor ? backgroundColor : 'none',
44
+ }, children: jsx(Layout, { className: cn(styles.filtersIndicator__container, [
45
+ cnMixScrollBar({ size: 'm' }),
46
+ ]), children: isLoading ? (jsx(SkeletonBrick, { height: 27 })) : (jsx(Fragment, { children: Object.entries(concatedFilters).map(([filterKey, value]) => {
47
+ return (jsx(FiltersTag, { filterKey: filterKey, value: value, filtersAssociations: filtersAssociations, resetFilters: resetFilters }, filterKey + value));
48
+ }) })) }) })) }));
49
+ };
50
+
51
+ export { FiltersIndicator };
52
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../src/ui-components/FiltersIndicator/index.tsx"],"sourcesContent":["import React, { useContext, useEffect, useState } from 'react';\r\nimport classNames from 'classnames';\r\nimport { Layout } from '@consta/uikit/Layout';\r\nimport { cnMixScrollBar } from '@consta/uikit/MixScrollBar';\r\nimport { SkeletonBrick } from '@consta/uikit/Skeleton';\r\n\r\nimport { getKoobDataByCfgFromLib } from '@/utils';\r\n\r\nimport { DatasetNameContext } from '../CommonContexts';\r\n\r\nimport { FiltersTag } from './FiltersTag/FiltersTag';\r\nimport { IFiltersIndicatorsProps, IResp } from './types';\r\n\r\nimport styles from './filtersIndicatorStyles.module.scss';\r\n\r\nexport const FiltersIndicator: React.FC<IFiltersIndicatorsProps> = ({\r\n luxmsFilters,\r\n filtersAssociations,\r\n koob,\r\n columns,\r\n className,\r\n backgroundColor,\r\n resetFilters,\r\n}) => {\r\n const ds_name = useContext(DatasetNameContext);\r\n\r\n const [concatedFilters, setConcatedFilters] = useState<\r\n Record<string, string>\r\n >({});\r\n const [areFiltersVisible, setAreFiltersVisible] = useState(false);\r\n const [isLoading, setIsLoading] = useState(true);\r\n\r\n useEffect(() => {\r\n setIsLoading(true);\r\n getKoobDataByCfgFromLib({\r\n data: {\r\n koob: koob,\r\n columns,\r\n filters: luxmsFilters,\r\n },\r\n ds_name,\r\n })\r\n .then((resp: IResp[]) => {\r\n const firstRespItem = resp[0];\r\n const activeFiltersIndicators = Object.entries(luxmsFilters).reduce(\r\n (acc, [key, value]) => {\r\n if (value) acc = { ...acc, [key]: firstRespItem?.[key] };\r\n return acc;\r\n },\r\n {}\r\n );\r\n setAreFiltersVisible(!!Object.keys(activeFiltersIndicators).length);\r\n setConcatedFilters(activeFiltersIndicators);\r\n })\r\n .catch(() => setConcatedFilters({}))\r\n .finally(() => setIsLoading(false));\r\n }, [luxmsFilters]);\r\n\r\n return (\r\n <>\r\n {areFiltersVisible && (\r\n <Layout\r\n className={classNames(styles.filtersIndicator, className)}\r\n style={{\r\n backgroundColor: backgroundColor ? backgroundColor : 'none',\r\n }}\r\n >\r\n <Layout\r\n className={classNames(styles.filtersIndicator__container, [\r\n cnMixScrollBar({ size: 'm' }),\r\n ])}\r\n >\r\n {isLoading ? (\r\n <SkeletonBrick height={27} />\r\n ) : (\r\n <>\r\n {Object.entries(concatedFilters).map(([filterKey, value]) => {\r\n return (\r\n <FiltersTag\r\n key={filterKey + value}\r\n filterKey={filterKey}\r\n value={value}\r\n filtersAssociations={filtersAssociations}\r\n resetFilters={resetFilters}\r\n />\r\n );\r\n })}\r\n </>\r\n )}\r\n </Layout>\r\n </Layout>\r\n )}\r\n </>\r\n );\r\n};\r\n"],"names":["_jsx","classNames","_Fragment"],"mappings":";;;;;;;;;;;;;MAea,gBAAgB,GAAsC,CAAC,EAClE,YAAY,EACZ,mBAAmB,EACnB,IAAI,EACJ,OAAO,EACP,SAAS,EACT,eAAe,EACf,YAAY,GACb,KAAI;AACH,IAAA,MAAM,OAAO,GAAG,UAAU,CAAC,kBAAkB,CAAC,CAAC;IAE/C,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAEpD,EAAE,CAAC,CAAC;IACN,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClE,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAEjD,SAAS,CAAC,MAAK;QACb,YAAY,CAAC,IAAI,CAAC,CAAC;AACnB,QAAA,uBAAuB,CAAC;AACtB,YAAA,IAAI,EAAE;AACJ,gBAAA,IAAI,EAAE,IAAI;gBACV,OAAO;AACP,gBAAA,OAAO,EAAE,YAAY;AACtB,aAAA;YACD,OAAO;SACR,CAAC;AACC,aAAA,IAAI,CAAC,CAAC,IAAa,KAAI;AACtB,YAAA,MAAM,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM,uBAAuB,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,MAAM,CACjE,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,KAAI;AACpB,gBAAA,IAAI,KAAK;AAAE,oBAAA,GAAG,mCAAQ,GAAG,CAAA,EAAA,EAAE,CAAC,GAAG,GAAG,aAAa,KAAb,IAAA,IAAA,aAAa,uBAAb,aAAa,CAAG,GAAG,CAAC,GAAE,CAAC;AACzD,gBAAA,OAAO,GAAG,CAAC;aACZ,EACD,EAAE,CACH,CAAC;AACF,YAAA,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAC;YACpE,kBAAkB,CAAC,uBAAuB,CAAC,CAAC;AAC9C,SAAC,CAAC;aACD,KAAK,CAAC,MAAM,kBAAkB,CAAC,EAAE,CAAC,CAAC;aACnC,OAAO,CAAC,MAAM,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;AACxC,KAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnB,QACEA,0BACG,iBAAiB,KAChBA,GAAC,CAAA,MAAM,IACL,SAAS,EAAEC,EAAU,CAAC,MAAM,CAAC,gBAAgB,EAAE,SAAS,CAAC,EACzD,KAAK,EAAE;gBACL,eAAe,EAAE,eAAe,GAAG,eAAe,GAAG,MAAM;aAC5D,EAED,QAAA,EAAAD,GAAA,CAAC,MAAM,EAAA,EACL,SAAS,EAAEC,EAAU,CAAC,MAAM,CAAC,2BAA2B,EAAE;AACxD,oBAAA,cAAc,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;AAC9B,iBAAA,CAAC,EAED,QAAA,EAAA,SAAS,IACRD,GAAA,CAAC,aAAa,EAAA,EAAC,MAAM,EAAE,EAAE,EAAI,CAAA,KAE7BA,GAAA,CAAAE,QAAA,EAAA,EAAA,QAAA,EACG,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,KAAI;wBAC1D,QACEF,GAAC,CAAA,UAAU,EAET,EAAA,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,KAAK,EACZ,mBAAmB,EAAE,mBAAmB,EACxC,YAAY,EAAE,YAAY,EAJrB,EAAA,SAAS,GAAG,KAAK,CAKtB,EACF;qBACH,CAAC,GACD,CACJ,EAAA,CACM,GACF,CACV,EAAA,CACA,EACH;AACJ;;;;"}
@@ -0,0 +1,8 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+
3
+ const IconComponent = ({ icon }) => {
4
+ return jsx("img", { src: icon, alt: "icon" });
5
+ };
6
+
7
+ export { IconComponent };
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../src/ui-components/IconComponent/index.tsx"],"sourcesContent":["import React from 'react';\r\n\r\nexport interface IIconComponent {\r\n icon?: string;\r\n}\r\n\r\nexport const IconComponent = ({ icon }: IIconComponent) => {\r\n return <img src={icon} alt=\"icon\" />;\r\n};\r\n"],"names":["_jsx"],"mappings":";;MAMa,aAAa,GAAG,CAAC,EAAE,IAAI,EAAkB,KAAI;IACxD,OAAOA,GAAA,CAAA,KAAA,EAAA,EAAK,GAAG,EAAE,IAAI,EAAE,GAAG,EAAC,MAAM,EAAA,CAAG,CAAC;AACvC;;;;"}
@@ -0,0 +1,42 @@
1
+ import { __rest } from 'tslib';
2
+ import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
3
+ import { Layout } from '@consta/uikit/Layout';
4
+ import { Text } from '@consta/uikit/Text';
5
+
6
+ const KpiLayoutContent = (_a) => {
7
+ var { value, valuePercent } = _a, props = __rest(_a, ["value", "valuePercent"]);
8
+ let view = 'primary';
9
+ let content;
10
+ const valueCondition = value || value === 0;
11
+ const valuePercentCondition = valuePercent || valuePercent === 0;
12
+ if (props.lastPeriodDifferenceAlternative) {
13
+ view = (props === null || props === void 0 ? void 0 : props.lastPeriodDifferenceView) || 'success';
14
+ content = jsx(Fragment, { children: props.lastPeriodDifferenceAlternative });
15
+ }
16
+ else if (props.lastPeriodDifference && (props === null || props === void 0 ? void 0 : props.lastPeriodDifference) > 0) {
17
+ view = (props === null || props === void 0 ? void 0 : props.lastPeriodDifferenceView) || 'success';
18
+ content = (jsxs(Fragment, { children: ['+' + (props === null || props === void 0 ? void 0 : props.lastPeriodDifference), (props === null || props === void 0 ? void 0 : props.lastPeriodDifferencePercent) && '%', (props === null || props === void 0 ? void 0 : props.lastPeriodDifferenceMeasure) &&
19
+ (props === null || props === void 0 ? void 0 : props.lastPeriodDifferenceMeasure)] }));
20
+ }
21
+ else if ((props === null || props === void 0 ? void 0 : props.lastPeriodDifference) === 0) {
22
+ view = (props === null || props === void 0 ? void 0 : props.lastPeriodDifferenceView) || 'ghost';
23
+ content = jsx(Fragment, { children: props === null || props === void 0 ? void 0 : props.lastPeriodDifference });
24
+ }
25
+ else if (props.lastPeriodDifference && (props === null || props === void 0 ? void 0 : props.lastPeriodDifference) < 0) {
26
+ view = (props === null || props === void 0 ? void 0 : props.lastPeriodDifferenceView) || 'alert';
27
+ content = (jsxs(Fragment, { children: [props === null || props === void 0 ? void 0 : props.lastPeriodDifference, (props === null || props === void 0 ? void 0 : props.lastPeriodDifferencePercent) && '%', (props === null || props === void 0 ? void 0 : props.lastPeriodDifferenceMeasure) &&
28
+ (props === null || props === void 0 ? void 0 : props.lastPeriodDifferenceMeasure)] }));
29
+ }
30
+ else {
31
+ content = jsx(Fragment, {});
32
+ }
33
+ return (jsxs(Layout, { direction: "row", className: "kpi-layout__content", children: [props.valueAlternative ? (jsx(Text, { size: "2xl", weight: "semibold", lineHeight: "xs", view: (props === null || props === void 0 ? void 0 : props.valueView) || 'primary', children: props.valueAlternative })) : valueCondition && valuePercentCondition ? (jsx(Text, { size: "2xl", weight: "semibold", lineHeight: "xs", view: (props === null || props === void 0 ? void 0 : props.showValueWithPercentView) || 'primary', children: value +
34
+ ' ' +
35
+ ((props === null || props === void 0 ? void 0 : props.valueMeasure) || '') +
36
+ ' | ' +
37
+ valuePercent +
38
+ '%' })) : (jsxs(Fragment, { children: [valueCondition && (jsx(Text, { size: "2xl", weight: "semibold", lineHeight: "xs", view: (props === null || props === void 0 ? void 0 : props.valueView) || 'primary', children: value + ' ' + ((props === null || props === void 0 ? void 0 : props.valueMeasure) || '') })), valuePercentCondition && (jsx(Text, { size: "2xl", weight: "semibold", lineHeight: "xs", view: (props === null || props === void 0 ? void 0 : props.valuePercentView) || 'primary', children: valuePercent + '%' }))] })), jsx(Text, { className: "kpi-layout__content_lpd", size: "xl", view: view, children: content })] }));
39
+ };
40
+
41
+ export { KpiLayoutContent };
42
+ //# sourceMappingURL=KpiLayoutContent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KpiLayoutContent.js","sources":["../../../../../src/ui-components/KpiLayout/Modules/KpiLayoutContent.tsx"],"sourcesContent":["import React from 'react';\r\nimport { Layout } from '@consta/uikit/Layout';\r\nimport { Text, TextPropView } from '@consta/uikit/Text';\r\n\r\nimport '../KpiLayout.scss';\r\n\r\nexport interface IKpiLayoutContent {\r\n value?: number | null;\r\n valueAlternative?: string;\r\n valueMeasure?: string;\r\n valueView?: TextPropView;\r\n valuePercent?: number;\r\n valuePercentView?: TextPropView;\r\n lastPeriodDifference?: number;\r\n lastPeriodDifferenceMeasure?: string;\r\n lastPeriodDifferencePercent?: boolean;\r\n lastPeriodDifferenceAlternative?: string;\r\n lastPeriodDifferenceView?: TextPropView;\r\n showValueWithPercentView?: TextPropView;\r\n}\r\n\r\nexport const KpiLayoutContent: React.FC<IKpiLayoutContent> = ({\r\n value,\r\n valuePercent,\r\n ...props\r\n}) => {\r\n let view: TextPropView = 'primary';\r\n let content: React.ReactNode;\r\n const valueCondition = value || value === 0;\r\n const valuePercentCondition = valuePercent || valuePercent === 0;\r\n\r\n if (props.lastPeriodDifferenceAlternative) {\r\n view = props?.lastPeriodDifferenceView || 'success';\r\n content = <>{props.lastPeriodDifferenceAlternative}</>;\r\n } else if (props.lastPeriodDifference && props?.lastPeriodDifference > 0) {\r\n view = props?.lastPeriodDifferenceView || 'success';\r\n content = (\r\n <>\r\n {'+' + props?.lastPeriodDifference}\r\n {props?.lastPeriodDifferencePercent && '%'}\r\n {props?.lastPeriodDifferenceMeasure &&\r\n props?.lastPeriodDifferenceMeasure}\r\n </>\r\n );\r\n } else if (props?.lastPeriodDifference === 0) {\r\n view = props?.lastPeriodDifferenceView || 'ghost';\r\n content = <>{props?.lastPeriodDifference}</>;\r\n } else if (props.lastPeriodDifference && props?.lastPeriodDifference < 0) {\r\n view = props?.lastPeriodDifferenceView || 'alert';\r\n content = (\r\n <>\r\n {props?.lastPeriodDifference}\r\n {props?.lastPeriodDifferencePercent && '%'}\r\n {props?.lastPeriodDifferenceMeasure &&\r\n props?.lastPeriodDifferenceMeasure}\r\n </>\r\n );\r\n } else {\r\n content = <></>;\r\n }\r\n\r\n return (\r\n <Layout direction=\"row\" className=\"kpi-layout__content\">\r\n {props.valueAlternative ? (\r\n <Text\r\n size=\"2xl\"\r\n weight=\"semibold\"\r\n lineHeight=\"xs\"\r\n view={props?.valueView || 'primary'}\r\n >\r\n {props.valueAlternative}\r\n </Text>\r\n ) : valueCondition && valuePercentCondition ? (\r\n <Text\r\n size=\"2xl\"\r\n weight=\"semibold\"\r\n lineHeight=\"xs\"\r\n view={props?.showValueWithPercentView || 'primary'}\r\n >\r\n {value +\r\n ' ' +\r\n (props?.valueMeasure || '') +\r\n ' | ' +\r\n valuePercent +\r\n '%'}\r\n </Text>\r\n ) : (\r\n <>\r\n {valueCondition && (\r\n <Text\r\n size=\"2xl\"\r\n weight=\"semibold\"\r\n lineHeight=\"xs\"\r\n view={props?.valueView || 'primary'}\r\n >\r\n {value + ' ' + (props?.valueMeasure || '')}\r\n </Text>\r\n )}\r\n {valuePercentCondition && (\r\n <Text\r\n size=\"2xl\"\r\n weight=\"semibold\"\r\n lineHeight=\"xs\"\r\n view={props?.valuePercentView || 'primary'}\r\n >\r\n {valuePercent + '%'}\r\n </Text>\r\n )}\r\n </>\r\n )}\r\n <Text className=\"kpi-layout__content_lpd\" size=\"xl\" view={view}>\r\n {content}\r\n </Text>\r\n </Layout>\r\n );\r\n};\r\n"],"names":["_jsx","_Fragment","_jsxs"],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
+ import { useState } from 'react';
3
+ import { IconQuestion } from '@consta/icons/IconQuestion';
4
+ import { Card } from '@consta/uikit/Card';
5
+ import { Layout } from '@consta/uikit/Layout';
6
+ import { Popover } from '@consta/uikit/Popover';
7
+ import { Text } from '@consta/uikit/Text';
8
+
9
+ const KpiLayoutHeader = ({ title, showQuestion, questionLabel, onQuestionClick, }) => {
10
+ const [position, setPosition] = useState();
11
+ const handleMouseMove = (event) => {
12
+ setPosition({ x: event.clientX, y: event.clientY });
13
+ };
14
+ return (jsx(Layout, { direction: "row", className: "kpi-layout__header", children: jsxs(Text, { weight: "semibold", size: "s", lineHeight: "m", className: "kpi-layout__header_title", children: [title, showQuestion && (jsxs(Fragment, { children: [jsx(IconQuestion, { view: "ghost", size: "s", className: "kpi-layout__header_question-icon", onMouseMove: handleMouseMove, onMouseLeave: () => setPosition(undefined), onClick: onQuestionClick }), questionLabel && (jsx(Popover, { direction: "upRight", spareDirection: "rightCenter", position: position, isInteractive: false, placeholder: undefined, onPointerEnterCapture: undefined, onPointerLeaveCapture: undefined, children: jsx(Card, { className: "kpi-layout__header_popover", verticalSpace: "s", horizontalSpace: "s", children: jsx(Text, { size: "xs", dangerouslySetInnerHTML: {
15
+ __html: questionLabel,
16
+ } }) }) }))] }))] }) }));
17
+ };
18
+
19
+ export { KpiLayoutHeader };
20
+ //# sourceMappingURL=KpiLayoutHeader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KpiLayoutHeader.js","sources":["../../../../../src/ui-components/KpiLayout/Modules/KpiLayoutHeader.tsx"],"sourcesContent":["import React, { useState } from 'react';\r\nimport { IconQuestion } from '@consta/icons/IconQuestion';\r\nimport { Card } from '@consta/uikit/Card';\r\nimport { Layout } from '@consta/uikit/Layout';\r\nimport { Popover } from '@consta/uikit/Popover';\r\nimport { Text } from '@consta/uikit/Text';\r\n\r\nimport '../KpiLayout.scss';\r\n\r\nexport interface IKpiLayoutHeader {\r\n title: string;\r\n showQuestion?: boolean;\r\n questionLabel?: string;\r\n onQuestionClick?: React.EventHandler<React.MouseEvent>;\r\n}\r\n\r\ninterface IPosition {\r\n x: number;\r\n y: number;\r\n}\r\n\r\nexport const KpiLayoutHeader: React.FC<IKpiLayoutHeader> = ({\r\n title,\r\n showQuestion,\r\n questionLabel,\r\n onQuestionClick,\r\n}) => {\r\n const [position, setPosition] = useState<IPosition | undefined>();\r\n\r\n const handleMouseMove = (event: React.MouseEvent) => {\r\n setPosition({ x: event.clientX, y: event.clientY });\r\n };\r\n\r\n return (\r\n <Layout direction=\"row\" className=\"kpi-layout__header\">\r\n <Text\r\n weight=\"semibold\"\r\n size=\"s\"\r\n lineHeight=\"m\"\r\n className=\"kpi-layout__header_title\"\r\n >\r\n {title}\r\n {showQuestion && (\r\n <>\r\n <IconQuestion\r\n view=\"ghost\"\r\n size=\"s\"\r\n className=\"kpi-layout__header_question-icon\"\r\n onMouseMove={handleMouseMove}\r\n onMouseLeave={() => setPosition(undefined)}\r\n onClick={onQuestionClick}\r\n />\r\n {questionLabel && (\r\n <Popover\r\n direction=\"upRight\"\r\n spareDirection=\"rightCenter\"\r\n position={position}\r\n isInteractive={false}\r\n placeholder={undefined}\r\n onPointerEnterCapture={undefined}\r\n onPointerLeaveCapture={undefined}\r\n >\r\n <Card\r\n className=\"kpi-layout__header_popover\"\r\n verticalSpace=\"s\"\r\n horizontalSpace=\"s\"\r\n >\r\n <Text\r\n size=\"xs\"\r\n dangerouslySetInnerHTML={{\r\n __html: questionLabel!,\r\n }}\r\n ></Text>\r\n </Card>\r\n </Popover>\r\n )}\r\n </>\r\n )}\r\n </Text>\r\n </Layout>\r\n );\r\n};\r\n"],"names":["_jsx","_jsxs","_Fragment"],"mappings":";;;;;;;;AAqBO,MAAM,eAAe,GAA+B,CAAC,EAC1D,KAAK,EACL,YAAY,EACZ,aAAa,EACb,eAAe,GAChB,KAAI;IACH,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,EAAyB,CAAC;AAElE,IAAA,MAAM,eAAe,GAAG,CAAC,KAAuB,KAAI;AAClD,QAAA,WAAW,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;AACtD,KAAC,CAAC;AAEF,IAAA,QACEA,GAAA,CAAC,MAAM,EAAA,EAAC,SAAS,EAAC,KAAK,EAAC,SAAS,EAAC,oBAAoB,EAAA,QAAA,EACpDC,IAAC,CAAA,IAAI,EACH,EAAA,MAAM,EAAC,UAAU,EACjB,IAAI,EAAC,GAAG,EACR,UAAU,EAAC,GAAG,EACd,SAAS,EAAC,0BAA0B,EAAA,QAAA,EAAA,CAEnC,KAAK,EACL,YAAY,KACXA,IAAA,CAAAC,QAAA,EAAA,EAAA,QAAA,EAAA,CACEF,GAAC,CAAA,YAAY,EACX,EAAA,IAAI,EAAC,OAAO,EACZ,IAAI,EAAC,GAAG,EACR,SAAS,EAAC,kCAAkC,EAC5C,WAAW,EAAE,eAAe,EAC5B,YAAY,EAAE,MAAM,WAAW,CAAC,SAAS,CAAC,EAC1C,OAAO,EAAE,eAAe,EAAA,CACxB,EACD,aAAa,KACZA,GAAC,CAAA,OAAO,EACN,EAAA,SAAS,EAAC,SAAS,EACnB,cAAc,EAAC,aAAa,EAC5B,QAAQ,EAAE,QAAQ,EAClB,aAAa,EAAE,KAAK,EACpB,WAAW,EAAE,SAAS,EACtB,qBAAqB,EAAE,SAAS,EAChC,qBAAqB,EAAE,SAAS,EAAA,QAAA,EAEhCA,GAAC,CAAA,IAAI,EACH,EAAA,SAAS,EAAC,4BAA4B,EACtC,aAAa,EAAC,GAAG,EACjB,eAAe,EAAC,GAAG,EAEnB,QAAA,EAAAA,GAAA,CAAC,IAAI,EAAA,EACH,IAAI,EAAC,IAAI,EACT,uBAAuB,EAAE;AACvB,wCAAA,MAAM,EAAE,aAAc;qCACvB,EACK,CAAA,EAAA,CACH,GACC,CACX,CAAA,EAAA,CACA,CACJ,CACI,EAAA,CAAA,EAAA,CACA,EACT;AACJ;;;;"}
@@ -0,0 +1,15 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import { IconForward } from '@consta/icons/IconForward';
3
+ import { Button } from '@consta/uikit/Button';
4
+ import { Layout } from '@consta/uikit/Layout';
5
+ import { Text } from '@consta/uikit/Text';
6
+
7
+ const KpiLayoutInfo = ({ info, infoAlternative, showButtonDetails, onButtonDetailsClick, }) => {
8
+ const infoContent = infoAlternative
9
+ ? infoAlternative
10
+ : info && 'По отношению к ' + info;
11
+ return (jsxs(Layout, { direction: "row", flex: 1, className: "kpi-layout__info", children: [jsx(Text, { size: "xs", lineHeight: "xs", view: "secondary", children: infoContent }), showButtonDetails && (jsx(Button, { label: "\u041F\u043E\u0434\u0440\u043E\u0431\u043D\u0435\u0435", view: "clear", size: "xs", onClick: onButtonDetailsClick, iconRight: IconForward }))] }));
12
+ };
13
+
14
+ export { KpiLayoutInfo };
15
+ //# sourceMappingURL=KpiLayoutInfo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KpiLayoutInfo.js","sources":["../../../../../src/ui-components/KpiLayout/Modules/KpiLayoutInfo.tsx"],"sourcesContent":["import React from 'react';\r\nimport { IconForward } from '@consta/icons/IconForward';\r\nimport { Button } from '@consta/uikit/Button';\r\nimport { Layout } from '@consta/uikit/Layout';\r\nimport { Text } from '@consta/uikit/Text';\r\n\r\nimport '../KpiLayout.scss';\r\n\r\nexport interface IKpiLayoutInfo {\r\n info?: string;\r\n infoAlternative?: string;\r\n showButtonDetails?: boolean;\r\n onButtonDetailsClick?: React.EventHandler<React.MouseEvent>;\r\n}\r\n\r\nexport const KpiLayoutInfo: React.FC<IKpiLayoutInfo> = ({\r\n info,\r\n infoAlternative,\r\n showButtonDetails,\r\n onButtonDetailsClick,\r\n}) => {\r\n const infoContent = infoAlternative\r\n ? infoAlternative\r\n : info && 'По отношению к ' + info;\r\n return (\r\n <Layout direction=\"row\" flex={1} className=\"kpi-layout__info\">\r\n <Text size=\"xs\" lineHeight=\"xs\" view=\"secondary\">\r\n {infoContent}\r\n </Text>\r\n {showButtonDetails && (\r\n <Button\r\n label=\"Подробнее\"\r\n view=\"clear\"\r\n size=\"xs\"\r\n onClick={onButtonDetailsClick}\r\n iconRight={IconForward}\r\n />\r\n )}\r\n </Layout>\r\n );\r\n};\r\n"],"names":["_jsxs","_jsx"],"mappings":";;;;;;AAeO,MAAM,aAAa,GAA6B,CAAC,EACtD,IAAI,EACJ,eAAe,EACf,iBAAiB,EACjB,oBAAoB,GACrB,KAAI;IACH,MAAM,WAAW,GAAG,eAAe;AACjC,UAAE,eAAe;AACjB,UAAE,IAAI,IAAI,iBAAiB,GAAG,IAAI,CAAC;AACrC,IAAA,QACEA,IAAA,CAAC,MAAM,EAAA,EAAC,SAAS,EAAC,KAAK,EAAC,IAAI,EAAE,CAAC,EAAE,SAAS,EAAC,kBAAkB,EAAA,QAAA,EAAA,CAC3DC,GAAC,CAAA,IAAI,EAAC,EAAA,IAAI,EAAC,IAAI,EAAC,UAAU,EAAC,IAAI,EAAC,IAAI,EAAC,WAAW,EAAA,QAAA,EAC7C,WAAW,EAAA,CACP,EACN,iBAAiB,KAChBA,GAAC,CAAA,MAAM,EACL,EAAA,KAAK,EAAC,wDAAW,EACjB,IAAI,EAAC,OAAO,EACZ,IAAI,EAAC,IAAI,EACT,OAAO,EAAE,oBAAoB,EAC7B,SAAS,EAAE,WAAW,EAAA,CACtB,CACH,CAAA,EAAA,CACM,EACT;AACJ;;;;"}
@@ -0,0 +1,14 @@
1
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
+ import cn from 'classnames';
3
+ import { Layout } from '@consta/uikit/Layout';
4
+ import { Loader } from '@consta/uikit/Loader';
5
+ import { KpiLayoutContent } from './Modules/KpiLayoutContent.js';
6
+ import { KpiLayoutHeader } from './Modules/KpiLayoutHeader.js';
7
+ import { KpiLayoutInfo } from './Modules/KpiLayoutInfo.js';
8
+
9
+ const KpiLayout = (props) => {
10
+ return (jsx("div", { className: cn('kpi-layout', props.className), children: props.isLoading ? (jsx(Layout, { className: "kpi-layout__loaderContainer", children: jsx(Loader, { style: { marginTop: props === null || props === void 0 ? void 0 : props.loaderMarginTop } }) })) : (jsxs(Fragment, { children: [jsx(Layout, { className: "kpi-layout__wrapper", children: jsxs(Layout, { direction: "column", children: [jsx(KpiLayoutHeader, Object.assign({}, props)), jsx(KpiLayoutContent, Object.assign({}, props)), jsx(KpiLayoutInfo, { info: props.info, infoAlternative: props.infoAlternative, showButtonDetails: props.showButtonDetails, onButtonDetailsClick: props.onButtonDetailsClick })] }) }), jsx("div", { style: { height: props.height || '40px' }, children: props.children && props.children })] })) }));
11
+ };
12
+
13
+ export { KpiLayout };
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../src/ui-components/KpiLayout/index.tsx"],"sourcesContent":["import React from 'react';\r\nimport classnames from 'classnames';\r\nimport { Layout } from '@consta/uikit/Layout';\r\nimport { Loader } from '@consta/uikit/Loader';\r\nimport { TextPropView } from '@consta/uikit/Text';\r\n\r\nimport { KpiLayoutContent, KpiLayoutHeader, KpiLayoutInfo } from './Modules';\r\n\r\nimport './KpiLayout.scss';\r\n\r\nexport interface IKpiLayout {\r\n title: string; //Заголовок\r\n showQuestion?: boolean; //Отображение знака вопроса (подсказки)\r\n questionLabel?: string; //Отображается при наведении на знак вопроса\r\n onQuestionClick?: React.EventHandler<React.MouseEvent>;\r\n value?: number | null; //Отображение числового значения\r\n valueMeasure?: string; //Значение, в которых измеряется value\r\n valueAlternative?: string; //Отображение value в произвольном формате в виде строки\r\n valueView?: TextPropView;\r\n valuePercent?: number; //Отображение числового значения в процентах\r\n valuePercentView?: TextPropView;\r\n lastPeriodDifference?: number; //Разность с прошлым периодом\r\n lastPeriodDifferenceMeasure?: string; //Значение, в которых измеряется lastPeriodDifference\r\n lastPeriodDifferencePercent?: boolean; //Разность с прошлым периодом в процентах\r\n lastPeriodDifferenceAlternative?: string; //Отображение lastPeriodDifference в произвольном формате в виде строки\r\n lastPeriodDifferenceView?: TextPropView;\r\n showValueWithPercentView?: TextPropView;\r\n info?: string; //Информация о данных\r\n infoAlternative?: string; //Альтернативный текст информации о данных\r\n className?: string; //Стили для kpi-layout\r\n showButtonDetails?: boolean; //Кнопка подробнее\r\n onButtonDetailsClick?: React.EventHandler<React.MouseEvent>; //Кнопка подробнее\r\n height?: number | string; //Высота echarts графика\r\n isLoading?: boolean; // Булеан свойство, отвечающее за отображение Loader\r\n loaderMarginTop?: number; // Отступ сверху для Loader\r\n children?: React.ReactNode;\r\n}\r\n\r\nexport const KpiLayout: React.FC<IKpiLayout> = (props) => {\r\n return (\r\n <div className={classnames('kpi-layout', props.className)}>\r\n {props.isLoading ? (\r\n <Layout className=\"kpi-layout__loaderContainer\">\r\n <Loader style={{ marginTop: props?.loaderMarginTop }} />\r\n </Layout>\r\n ) : (\r\n <>\r\n <Layout className=\"kpi-layout__wrapper\">\r\n <Layout direction=\"column\">\r\n <KpiLayoutHeader {...props} />\r\n <KpiLayoutContent {...props} />\r\n <KpiLayoutInfo\r\n info={props.info}\r\n infoAlternative={props.infoAlternative}\r\n showButtonDetails={props.showButtonDetails}\r\n onButtonDetailsClick={props.onButtonDetailsClick}\r\n />\r\n </Layout>\r\n </Layout>\r\n <div style={{ height: props.height || '40px' }}>\r\n {props.children && props.children}\r\n </div>\r\n </>\r\n )}\r\n </div>\r\n );\r\n};\r\n"],"names":["_jsx","classnames","_jsxs","_Fragment"],"mappings":";;;;;;;;AAsCa,MAAA,SAAS,GAAyB,CAAC,KAAK,KAAI;AACvD,IAAA,QACEA,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAEC,EAAU,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,YACtD,KAAK,CAAC,SAAS,IACdD,GAAA,CAAC,MAAM,EAAA,EAAC,SAAS,EAAC,6BAA6B,EAAA,QAAA,EAC7CA,GAAC,CAAA,MAAM,IAAC,KAAK,EAAE,EAAE,SAAS,EAAE,KAAK,KAAL,IAAA,IAAA,KAAK,KAAL,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,KAAK,CAAE,eAAe,EAAE,EAAA,CAAI,EACjD,CAAA,KAETE,IAAA,CAAAC,QAAA,EAAA,EAAA,QAAA,EAAA,CACEH,GAAC,CAAA,MAAM,EAAC,EAAA,SAAS,EAAC,qBAAqB,EACrC,QAAA,EAAAE,IAAA,CAAC,MAAM,EAAA,EAAC,SAAS,EAAC,QAAQ,EACxB,QAAA,EAAA,CAAAF,GAAA,CAAC,eAAe,EAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAK,KAAK,CAAA,CAAI,EAC9BA,GAAA,CAAC,gBAAgB,EAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAK,KAAK,CAAA,CAAI,EAC/BA,GAAA,CAAC,aAAa,EAAA,EACZ,IAAI,EAAE,KAAK,CAAC,IAAI,EAChB,eAAe,EAAE,KAAK,CAAC,eAAe,EACtC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,EAC1C,oBAAoB,EAAE,KAAK,CAAC,oBAAoB,EAAA,CAChD,CACK,EAAA,CAAA,EAAA,CACF,EACTA,GAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,MAAM,EAAE,EAC3C,QAAA,EAAA,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,EAC7B,CAAA,CAAA,EAAA,CACL,CACJ,EAAA,CACG,EACN;AACJ;;;;"}