@evergis/react 4.0.165 → 4.0.167

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 (150) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +7 -7
  3. package/dist/components/Dashboard/actions/components/TaskExecutionHost/index.d.ts +2 -0
  4. package/dist/components/Dashboard/actions/conditions/constants.d.ts +4 -0
  5. package/dist/components/Dashboard/actions/conditions/evaluateActionCondition.d.ts +6 -0
  6. package/dist/components/Dashboard/actions/conditions/operators.d.ts +4 -0
  7. package/dist/components/Dashboard/actions/conditions/parseActionCondition.d.ts +6 -0
  8. package/dist/components/Dashboard/actions/conditions/tokenizeActionCondition.d.ts +2 -0
  9. package/dist/components/Dashboard/actions/conditions/types.d.ts +43 -0
  10. package/dist/components/Dashboard/actions/constants.d.ts +4 -0
  11. package/dist/components/Dashboard/actions/context/ActionContextProvider.d.ts +8 -0
  12. package/dist/components/Dashboard/actions/context/ActionNodeProvider.d.ts +3 -0
  13. package/dist/components/Dashboard/actions/context/ActionScopeProvider.d.ts +5 -0
  14. package/dist/components/Dashboard/actions/context/WidgetActionsProvider/hooks/useActionExecutors.d.ts +3 -0
  15. package/dist/components/Dashboard/actions/context/WidgetActionsProvider/hooks/useActionFilters.d.ts +6 -0
  16. package/dist/components/Dashboard/actions/context/WidgetActionsProvider/index.d.ts +2 -0
  17. package/dist/components/Dashboard/actions/context/WidgetActionsProvider/types.d.ts +14 -0
  18. package/dist/components/Dashboard/actions/context/bindingTypes.d.ts +46 -0
  19. package/dist/components/Dashboard/actions/executors/ActionNavigationError.d.ts +4 -0
  20. package/dist/components/Dashboard/actions/executors/createActionNavigation.d.ts +5 -0
  21. package/dist/components/Dashboard/actions/executors/needsNavigationWindow.d.ts +2 -0
  22. package/dist/components/Dashboard/actions/hooks/useActionBindings.d.ts +2 -0
  23. package/dist/components/Dashboard/actions/hooks/useChartActions.d.ts +10 -0
  24. package/dist/components/Dashboard/actions/index.d.ts +20 -0
  25. package/dist/components/Dashboard/actions/modals/WidgetModalHost/ModalWindow.d.ts +2 -0
  26. package/dist/components/Dashboard/actions/modals/WidgetModalHost/index.d.ts +2 -0
  27. package/dist/components/Dashboard/actions/modals/WidgetModalHost/types.d.ts +6 -0
  28. package/dist/components/Dashboard/actions/modals/WidgetModalsProvider/index.d.ts +2 -0
  29. package/dist/components/Dashboard/actions/modals/hooks/useAvailableModals.d.ts +2 -0
  30. package/dist/components/Dashboard/actions/modals/hooks/useModalAutoSync.d.ts +2 -0
  31. package/dist/components/Dashboard/actions/modals/hooks/useModalSources.d.ts +8 -0
  32. package/dist/components/Dashboard/actions/modals/hooks/useWidgetModals.d.ts +2 -0
  33. package/dist/components/Dashboard/actions/modals/types.d.ts +26 -0
  34. package/dist/components/Dashboard/actions/modals/utils/createModalStore.d.ts +16 -0
  35. package/dist/components/Dashboard/actions/modals/utils/modalRequestKey.d.ts +4 -0
  36. package/dist/components/Dashboard/actions/parameters/resolveActionParameters.d.ts +3 -0
  37. package/dist/components/Dashboard/actions/registry/mergeActionParameters.d.ts +1 -0
  38. package/dist/components/Dashboard/actions/registry/resolveActionInvocation.d.ts +2 -0
  39. package/dist/components/Dashboard/actions/runtime/awaitActionStep.d.ts +2 -0
  40. package/dist/components/Dashboard/actions/runtime/createActionRuntime.d.ts +3 -0
  41. package/dist/components/Dashboard/actions/runtime/executeActionSequence.d.ts +3 -0
  42. package/dist/components/Dashboard/actions/runtime/types.d.ts +36 -0
  43. package/dist/components/Dashboard/actions/types.d.ts +81 -0
  44. package/dist/components/Dashboard/actions/validation/actionShape.d.ts +2 -0
  45. package/dist/components/Dashboard/actions/validation/isActionSelectedFilter.d.ts +1 -0
  46. package/dist/components/Dashboard/actions/validation/types.d.ts +15 -0
  47. package/dist/components/Dashboard/actions/validation/validateActionTree.d.ts +5 -0
  48. package/dist/components/Dashboard/actions/validation/validateDashboardActions.d.ts +3 -0
  49. package/dist/components/Dashboard/componentTypes.d.ts +52 -8
  50. package/dist/components/Dashboard/components/Chart/components/BarChartView.d.ts +2 -0
  51. package/dist/components/Dashboard/components/Chart/components/LineChartView.d.ts +2 -0
  52. package/dist/components/Dashboard/components/Chart/components/PieChartView.d.ts +2 -0
  53. package/dist/components/Dashboard/components/Chart/components/StackChartView.d.ts +2 -0
  54. package/dist/components/Dashboard/components/Chart/constants.d.ts +2 -0
  55. package/dist/components/Dashboard/components/Chart/hooks/index.d.ts +2 -0
  56. package/dist/components/Dashboard/components/Chart/hooks/useChartLayout.d.ts +71 -0
  57. package/dist/components/Dashboard/components/Chart/hooks/useChartPresentation.d.ts +30 -0
  58. package/dist/components/Dashboard/components/Chart/types.d.ts +6 -1
  59. package/dist/components/Dashboard/components/StackBar/index.d.ts +2 -1
  60. package/dist/components/Dashboard/components/SvgImage/index.d.ts +2 -2
  61. package/dist/components/Dashboard/constants.d.ts +2 -19
  62. package/dist/components/Dashboard/containers/DataSourceInnerContainer/styled.d.ts +0 -1
  63. package/dist/components/Dashboard/containers/StructuredDataContainer/types.d.ts +3 -1
  64. package/dist/components/Dashboard/containers/TaskContainer/components/LogDialog/types.d.ts +1 -0
  65. package/dist/components/Dashboard/containers/TaskContainer/components/StatusWaitingButton/index.d.ts +2 -11
  66. package/dist/components/Dashboard/containers/TaskContainer/components/TaskButton/index.d.ts +4 -0
  67. package/dist/components/Dashboard/containers/TaskContainer/components/TaskButton/styled.d.ts +2 -0
  68. package/dist/components/Dashboard/containers/TaskContainer/components/TaskLogButton.d.ts +5 -0
  69. package/dist/components/Dashboard/containers/TaskContainer/hooks/useTaskButtonState.d.ts +13 -0
  70. package/dist/components/Dashboard/containers/TaskContainer/types.d.ts +16 -0
  71. package/dist/components/Dashboard/containers/styled.d.ts +1 -1
  72. package/dist/components/Dashboard/elements/ElementButton/constants.d.ts +6 -0
  73. package/dist/components/Dashboard/elements/ElementButton/utils/getElementButtonProps.d.ts +8 -0
  74. package/dist/components/Dashboard/elements/ElementIcon/components/AttachmentIcon/types.d.ts +2 -2
  75. package/dist/components/Dashboard/elements/ElementImage/useElementImage.d.ts +3 -2
  76. package/dist/components/Dashboard/elements/ElementModal/hooks/useModalOpen.d.ts +2 -7
  77. package/dist/components/Dashboard/elements/ElementSvg/index.d.ts +0 -1
  78. package/dist/components/Dashboard/elements/ElementTable/components/ActionTableRow.d.ts +6 -0
  79. package/dist/components/Dashboard/elements/registry.d.ts +1 -1
  80. package/dist/components/Dashboard/hooks/dataSourceTypes.d.ts +15 -0
  81. package/dist/components/Dashboard/hooks/useDataSourceRequests.d.ts +4 -0
  82. package/dist/components/Dashboard/hooks/useDataSources.d.ts +6 -13
  83. package/dist/components/Dashboard/hooks/useWidgetContext.d.ts +7 -1
  84. package/dist/components/Dashboard/index.d.ts +1 -0
  85. package/dist/components/Dashboard/types.d.ts +41 -8
  86. package/dist/components/Dashboard/utils/applyQueryFilters.d.ts +5 -4
  87. package/dist/components/Dashboard/utils/checkEqualOrIncludes.d.ts +1 -1
  88. package/dist/components/Dashboard/utils/configString/constants.d.ts +19 -0
  89. package/dist/components/Dashboard/utils/configString/resolveActionToken.d.ts +3 -0
  90. package/dist/components/Dashboard/utils/configString/types.d.ts +10 -1
  91. package/dist/components/Dashboard/utils/findDashboardNode.d.ts +3 -0
  92. package/dist/components/Dashboard/utils/formatDataSourceCondition.d.ts +2 -1
  93. package/dist/components/Dashboard/utils/getDataFromAttributes.d.ts +2 -2
  94. package/dist/components/Dashboard/utils/getSelectedFilterValue.d.ts +1 -1
  95. package/dist/components/Dashboard/utils/getUpdatedDataSources.d.ts +2 -0
  96. package/dist/components/Dashboard/utils/index.d.ts +1 -0
  97. package/dist/contexts/ActionContext/index.d.ts +3 -0
  98. package/dist/contexts/ActionNodeContext/index.d.ts +2 -0
  99. package/dist/contexts/ActionScopeContext/index.d.ts +3 -0
  100. package/dist/contexts/ChartActionsContext/index.d.ts +2 -0
  101. package/dist/contexts/DashboardContext/types.d.ts +15 -6
  102. package/dist/contexts/FeatureCardContext/types.d.ts +14 -1
  103. package/dist/{components/Dashboard/grid → contexts}/GridEditContext/index.d.ts +1 -1
  104. package/dist/contexts/ModalDataContext/index.d.ts +2 -0
  105. package/dist/{components/Dashboard/containers/StructuredDataContainer/StructuredDataContext.d.ts → contexts/StructuredDataContext/index.d.ts} +1 -1
  106. package/dist/contexts/TaskExecutionContext/TaskExecutionProvider.d.ts +2 -0
  107. package/dist/contexts/TaskExecutionContext/context.d.ts +2 -0
  108. package/dist/contexts/TaskExecutionContext/hooks/useTaskExecution.d.ts +17 -0
  109. package/dist/contexts/TaskExecutionContext/index.d.ts +4 -0
  110. package/dist/contexts/TaskExecutionContext/types.d.ts +14 -0
  111. package/dist/contexts/TaskExecutionContext/utils/createTaskNotification.d.ts +4 -0
  112. package/dist/contexts/WidgetActionsContext/index.d.ts +4 -0
  113. package/dist/contexts/WidgetModalsContext/index.d.ts +3 -0
  114. package/dist/contexts/index.d.ts +12 -0
  115. package/dist/dashboardActions/index.js +577 -0
  116. package/dist/dashboardActions/index.js.map +1 -0
  117. package/dist/dashboardActions/package.json +1 -0
  118. package/dist/dashboardActions.d.ts +3 -0
  119. package/dist/hooks/task/index.d.ts +2 -0
  120. package/dist/hooks/task/runtime/PythonExecutionError.d.ts +9 -0
  121. package/dist/hooks/task/runtime/constants.d.ts +2 -0
  122. package/dist/hooks/task/runtime/resolvePythonTaskDefinition.d.ts +2 -0
  123. package/dist/hooks/task/runtime/startPythonExecution.d.ts +2 -0
  124. package/dist/hooks/task/runtime/types.d.ts +53 -0
  125. package/dist/hooks/task/types.d.ts +7 -1
  126. package/dist/hooks/task/usePythonTask.d.ts +12 -14
  127. package/dist/hooks/task/utils/pollSubtaskCompletion.d.ts +4 -1
  128. package/dist/hooks/task/utils/startRemoteTask.d.ts +2 -0
  129. package/dist/index.js +15715 -13686
  130. package/dist/index.js.map +1 -1
  131. package/dist/react.esm.js +15386 -13401
  132. package/dist/react.esm.js.map +1 -1
  133. package/dist/taskParameters/index.js +329 -0
  134. package/dist/taskParameters/index.js.map +1 -0
  135. package/dist/taskParameters/package.json +1 -0
  136. package/dist/taskParameters.d.ts +2 -0
  137. package/dist/utils/index.d.ts +1 -0
  138. package/dist/utils/isObject.d.ts +1 -1
  139. package/dist/utils/taskParameters/SchemaResolver.d.ts +14 -0
  140. package/dist/utils/taskParameters/buildDefaultForSchema.d.ts +23 -0
  141. package/dist/utils/taskParameters/getPrimaryType.d.ts +2 -0
  142. package/dist/utils/taskParameters/index.d.ts +6 -0
  143. package/dist/utils/taskParameters/mergeHiddenFieldDefaults.d.ts +2 -0
  144. package/dist/utils/taskParameters/orderPropertyKeys.d.ts +2 -0
  145. package/dist/utils/taskParameters/types.d.ts +36 -0
  146. package/package.json +5 -5
  147. package/dist/components/Dashboard/containers/TaskContainer/useTaskNotifications.d.ts +0 -12
  148. /package/dist/{components/Dashboard/components/Chart/ChartPlotContext.d.ts → contexts/ChartPlotContext/index.d.ts} +0 -0
  149. /package/dist/{components/Dashboard/components/Chart/FillContext.d.ts → contexts/FillContext/index.d.ts} +0 -0
  150. /package/dist/{components/Dashboard/containers/TaskContainer → contexts/TaskExecutionContext}/utils/clampDescription.d.ts +0 -0
@@ -1,11 +1,26 @@
1
+ import { ConfigActionDefinition, ConfigActionInvocation } from './actions/types';
2
+ import { FC, ReactNode } from 'react';
1
3
  import { QueryLayerServiceInfoDc } from '@evergis/api';
2
- import { ClientFeatureAttribute, ConfigContainer, ConfigContainerChild, ConfigContainerHeader, ConfigOptions, ContainerProps, ContainerTemplate, FilterType, HeaderTemplate, NumericSizeOptions } from './types';
3
- export type ElementButtonOptions = Record<string, never>;
4
+ import { ClientFeatureAttribute, ConfigButtonOptions, ConfigContainer, ConfigContainerChild, ConfigContainerHeader, ConfigOptions, ContainerProps, ContainerTemplate, FilterType, HeaderTemplate, NumericSizeOptions } from './types';
5
+ export type ElementButtonOptions = ConfigButtonOptions & Pick<ConfigOptions, "icon" | "radius">;
4
6
  export interface ElementButtonConfig extends Omit<ConfigContainerChild, "options" | "type"> {
7
+ actions?: ConfigActionInvocation[];
5
8
  type?: "button";
6
9
  options?: ElementButtonOptions;
7
10
  }
8
- export interface ElementButtonProps extends Omit<ContainerProps, "elementConfig"> {
11
+ /**
12
+ * Поведение, которое передаёт контейнер-хозяин слота `button` (например, Task).
13
+ * С `onClick` кнопка рисуется и без ссылки в атрибуте.
14
+ */
15
+ export interface ElementButtonOverrides {
16
+ title?: string;
17
+ icon?: ReactNode;
18
+ color?: string;
19
+ disabled?: boolean;
20
+ onClick?: VoidFunction;
21
+ }
22
+ export interface ElementButtonProps extends Omit<ContainerProps, "elementConfig" | "onClick">, ElementButtonOverrides {
23
+ attributes?: ClientFeatureAttribute[];
9
24
  elementConfig?: ElementButtonConfig;
10
25
  }
11
26
  export type ElementCameraOptions = Pick<ConfigOptions, "expandable" | "expanded">;
@@ -18,6 +33,7 @@ export interface ElementCameraProps extends Omit<ContainerProps, "elementConfig"
18
33
  }
19
34
  export type ElementChartOptions = Pick<ConfigOptions, "column" | "markers" | "showLabels" | "showMarkers" | "showTotal" | "totalWord" | "totalAttribute" | "expandable" | "expanded" | "chartType" | "relatedDataSources" | "defaultColor" | "dotSnapping" | "radius" | "padding" | "fontColor" | "angle" | "barWidth" | "cornerRadius" | "shownItems" | "otherItems" | "axis"> & NumericSizeOptions;
20
35
  export interface ElementChartConfig extends Omit<ConfigContainerChild, "options" | "type"> {
36
+ actions?: ConfigActionInvocation[];
21
37
  type?: "chart";
22
38
  options?: ElementChartOptions;
23
39
  }
@@ -42,6 +58,7 @@ export interface ElementControlProps extends Omit<ContainerProps, "elementConfig
42
58
  }
43
59
  export type ElementIconOptions = Pick<ConfigOptions, "fontSize" | "fontColor">;
44
60
  export interface ElementIconConfig extends Omit<ConfigContainerChild, "options" | "type"> {
61
+ actions?: ConfigActionInvocation[];
45
62
  type?: "icon";
46
63
  options?: ElementIconOptions;
47
64
  }
@@ -51,14 +68,17 @@ export interface ElementIconProps extends Omit<ContainerProps, "elementConfig">
51
68
  }
52
69
  export type ElementImageOptions = Pick<ConfigOptions, "width" | "height" | "fit" | "resourceId" | "url">;
53
70
  export interface ElementImageConfig extends Omit<ConfigContainerChild, "options" | "type"> {
71
+ actions?: ConfigActionInvocation[];
54
72
  type?: "image";
55
73
  options?: ElementImageOptions;
56
74
  }
57
75
  export interface ElementImageProps extends Omit<ContainerProps, "elementConfig"> {
76
+ attributes?: ClientFeatureAttribute[];
58
77
  elementConfig?: ElementImageConfig;
59
78
  }
60
79
  export type ElementLegendOptions = Pick<ConfigOptions, "twoColumns" | "chartId" | "relatedDataSources" | "fontSize" | "chartType" | "column">;
61
80
  export interface ElementLegendConfig extends Omit<ConfigContainerChild, "options" | "type"> {
81
+ actions?: ConfigActionInvocation[];
62
82
  type?: "legend";
63
83
  options?: ElementLegendOptions;
64
84
  }
@@ -69,10 +89,12 @@ export interface ElementLegendProps extends Omit<ContainerProps, "elementConfig"
69
89
  }
70
90
  export type ElementLinkOptions = Pick<ConfigOptions, "simple" | "title">;
71
91
  export interface ElementLinkConfig extends Omit<ConfigContainerChild, "options" | "type"> {
92
+ actions?: ConfigActionInvocation[];
72
93
  type?: "link";
73
94
  options?: ElementLinkOptions;
74
95
  }
75
96
  export interface ElementLinkProps extends Omit<ContainerProps, "elementConfig"> {
97
+ attributes?: ClientFeatureAttribute[];
76
98
  elementConfig?: ElementLinkConfig;
77
99
  }
78
100
  export type ElementMarkdownOptions = Pick<ConfigOptions, "expandLength" | "noMargin" | "typography">;
@@ -89,6 +111,7 @@ export interface ElementModalConfig extends Omit<ConfigContainerChild, "options"
89
111
  options?: ElementModalOptions;
90
112
  }
91
113
  export interface ElementModalProps extends Omit<ContainerProps, "elementConfig"> {
114
+ attributes?: ClientFeatureAttribute[];
92
115
  elementConfig?: ElementModalConfig;
93
116
  }
94
117
  export type ElementSlideshowOptions = Pick<ConfigOptions, "expandable" | "expanded" | "relatedDataSource" | "controls">;
@@ -101,6 +124,7 @@ export interface ElementSlideshowProps extends Omit<ContainerProps, "elementConf
101
124
  }
102
125
  export type ElementSvgOptions = Pick<ConfigOptions, "fontColor"> & NumericSizeOptions;
103
126
  export interface ElementSvgConfig extends Omit<ConfigContainerChild, "options" | "type"> {
127
+ actions?: ConfigActionInvocation[];
104
128
  type?: "svg";
105
129
  options?: ElementSvgOptions;
106
130
  }
@@ -193,6 +217,7 @@ export interface ChartTitleIconChild extends Omit<ConfigContainerChild, "id" | "
193
217
  }
194
218
  export type ChartContainerChild = ChartAliasChild | ChartChartChild | ChartLegendChild | ChartTitleChild | ChartTitleIconChild;
195
219
  export interface ChartContainerConfig extends Omit<ConfigContainerChild, "options" | "templateName" | "children"> {
220
+ actions?: ConfigActionInvocation[];
196
221
  templateName?: ContainerTemplate.Chart;
197
222
  options?: ChartContainerOptions;
198
223
  children?: ChartContainerChild[];
@@ -210,6 +235,7 @@ export interface ContainersGroupContainerProps extends Omit<ContainerProps, "ele
210
235
  }
211
236
  export type DataSourceContainerOptions = Pick<ConfigOptions, "column" | "relatedDataSource" | "innerTemplateName" | "expandable" | "expanded" | "columns" | "gap" | "innerGap" | "align" | "shownItems" | "otherItems"> & ContainerBoxOptions;
212
237
  export interface DataSourceContainerConfig extends Omit<ConfigContainerChild, "options" | "templateName"> {
238
+ actions?: ConfigActionInvocation[];
213
239
  templateName?: ContainerTemplate.DataSource;
214
240
  options?: DataSourceContainerOptions;
215
241
  }
@@ -218,10 +244,12 @@ export interface DataSourceContainerProps extends Omit<ContainerProps, "elementC
218
244
  }
219
245
  export type DataSourceInnerContainerOptions = Pick<ConfigOptions, "relatedDataSource" | "filterName" | "column">;
220
246
  export interface DataSourceInnerContainerConfig extends Omit<ConfigContainerChild, "options"> {
247
+ actions?: ConfigActionInvocation[];
221
248
  options?: DataSourceInnerContainerOptions;
222
249
  }
223
250
  export type DataSourceProgressContainerOptions = Pick<ConfigOptions, "maxValue" | "showTotal" | "relatedDataSource" | "innerTemplateName" | "expandable" | "expanded" | "shownItems" | "otherItems"> & ContainerBoxOptions;
224
251
  export interface DataSourceProgressContainerConfig extends Omit<ConfigContainerChild, "options" | "templateName"> {
252
+ actions?: ConfigActionInvocation[];
225
253
  templateName?: ContainerTemplate.DataSourceProgress;
226
254
  options?: DataSourceProgressContainerOptions;
227
255
  }
@@ -399,7 +427,8 @@ export interface OneColumnContainerProps extends Omit<ContainerProps, "elementCo
399
427
  }
400
428
  export type PagesContainerOptions = Pick<ConfigOptions, "column" | "width">;
401
429
  export type PageChildOptions = Pick<ConfigOptions, "tabId">;
402
- export interface PageChild extends Omit<ConfigContainerChild, "options"> {
430
+ export interface PageChild extends Omit<ConfigContainerChild, "options" | "actions"> {
431
+ actions?: ConfigActionDefinition[];
403
432
  options?: PageChildOptions & ConfigOptions;
404
433
  }
405
434
  export interface PagesContainerConfig extends Omit<ConfigContainer, "options"> {
@@ -410,6 +439,7 @@ export interface PagesContainerProps extends Omit<ContainerProps, "config"> {
410
439
  }
411
440
  export type ProgressContainerOptions = Pick<ConfigOptions, "bgColor" | "innerTemplateStyle" | "maxValue" | "hideTitle" | "innerValue" | "colors" | "colorAttribute">;
412
441
  export interface ProgressContainerConfig extends Omit<ConfigContainerChild, "options" | "templateName"> {
442
+ actions?: ConfigActionInvocation[];
413
443
  templateName?: ContainerTemplate.Progress;
414
444
  options?: ProgressContainerOptions;
415
445
  }
@@ -418,6 +448,7 @@ export interface ProgressContainerProps extends Omit<ContainerProps, "elementCon
418
448
  }
419
449
  export type RoundedBackgroundContainerOptions = Pick<ConfigOptions, "maxLength" | "maxLines" | "wordBreak" | "center" | "fontColor" | "bgColor" | "innerTemplateStyle" | "inlineUnits" | "big" | "bigIcon" | "hideEmpty" | "colorAttribute" | "align" | "columns" | "gap" | "innerGap">;
420
450
  export interface RoundedBackgroundContainerConfig extends Omit<ConfigContainerChild, "options" | "templateName"> {
451
+ actions?: ConfigActionInvocation[];
421
452
  templateName?: ContainerTemplate.RoundedBackground;
422
453
  options?: RoundedBackgroundContainerOptions;
423
454
  }
@@ -472,9 +503,22 @@ export interface TabsContainerProps extends Omit<ContainerProps, "elementConfig"
472
503
  elementConfig?: TabsContainerConfig;
473
504
  }
474
505
  export type TaskContainerOptions = Pick<ConfigOptions, "title" | "relatedResources" | "center" | "icon" | "statusColors" | "responseFilters" | "useNotifications"> & ContainerBoxOptions;
475
- export interface TaskContainerConfig extends Omit<ConfigContainerChild, "options" | "templateName"> {
506
+ export interface TaskButtonChild extends Omit<ElementButtonConfig, "id"> {
507
+ id: "button";
508
+ }
509
+ export interface TaskTitleChild extends Omit<ConfigContainerChild, "id" | "type"> {
510
+ id: "title";
511
+ type?: "text";
512
+ }
513
+ export interface TaskTitleIconChild extends Omit<ConfigContainerChild, "id" | "type"> {
514
+ id: "titleIcon";
515
+ type?: "icon";
516
+ }
517
+ export type TaskContainerChild = TaskButtonChild | TaskTitleChild | TaskTitleIconChild;
518
+ export interface TaskContainerConfig extends Omit<ConfigContainerChild, "options" | "templateName" | "children"> {
476
519
  templateName?: ContainerTemplate.Task;
477
520
  options?: TaskContainerOptions;
521
+ children?: TaskContainerChild[];
478
522
  }
479
523
  export interface TaskContainerProps extends Omit<ContainerProps, "elementConfig"> {
480
524
  elementConfig?: TaskContainerConfig;
@@ -655,11 +699,11 @@ export type ElementTypeToProps = {
655
699
  * не задан или не найден в реестре.
656
700
  */
657
701
  export type ContainerComponentRegistry = {
658
- [K in keyof ContainerTemplateToProps]: import('react').FC<ContainerTemplateToProps[K]>;
702
+ [K in keyof ContainerTemplateToProps]: FC<ContainerTemplateToProps[K]>;
659
703
  } & {
660
- default: import('react').FC<ContainersGroupContainerProps>;
704
+ default: FC<ContainersGroupContainerProps>;
661
705
  };
662
706
  /** Типобезопасный реестр элементов. */
663
707
  export type ElementComponentRegistry = {
664
- [K in keyof ElementTypeToProps]: import('react').FC<ElementTypeToProps[K]>;
708
+ [K in keyof ElementTypeToProps]: FC<ElementTypeToProps[K]>;
665
709
  };
@@ -0,0 +1,2 @@
1
+ import { ChartViewProps } from '../types';
2
+ export declare const BarChartView: ({ options, showLabels, defaultColor, padding, barWidth, data, chartWidth, fitsHeight, chartHeight, formatFilterColor, onItemClick, clickable, markers, margin, barMargin, formatTooltipName, formatTooltipValue, customYAxisLeft, customXAxisBottom }: ChartViewProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { ChartViewProps } from '../types';
2
+ export declare const LineChartView: ({ primaryColor, dotSnapping, axisTitleColor, axisTitles, hasTopTitles, hasSideTitles, hideLeftAxis, hideRightAxis, lineBodyRef, data, lineBodyWidth, lineBodyHeight, lineWrapperHeight, formatLeftTick, formatRightTick, customizeLine, labels, renderLineChartTooltip, markers, margin }: ChartViewProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { ChartViewProps } from '../types';
2
+ export declare const PieChartView: ({ fill, showTotal, defaultColor, height, radius, angle, cornerRadius, data, pieSide, formatFilterColor, onItemClick, clickable, totalSum, totalWord, renderPieChartTooltip }: ChartViewProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { ChartViewProps } from '../types';
2
+ export declare const StackChartView: ({ options, showTotal, filterName, data, fitsHeight, chartHeight, onItemClick, clickable, renderPieChartTooltip, elementConfig, type, renderElement }: ChartViewProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ export declare const CHART_MARKERS_MARGIN = 10;
2
+ export declare const CHART_MARKERS_BOTTOM_MARGIN = 20;
@@ -0,0 +1,2 @@
1
+ export { useChartLayout } from './useChartLayout';
2
+ export { useChartPresentation } from './useChartPresentation';
@@ -0,0 +1,71 @@
1
+ import { FilterItem } from '../../../types';
2
+ import { ChartProps } from '../../../containers/ChartContainer/types';
3
+ export declare const useChartLayout: ({ config, element, elementConfig, type }: ChartProps) => {
4
+ primaryColor: string;
5
+ expandedContainers: Record<string, boolean>;
6
+ fill: boolean;
7
+ chartRef: import('react').RefObject<HTMLDivElement>;
8
+ id: string;
9
+ options: import('../../../types').ConfigOptions;
10
+ children: import('../../../types').ConfigContainerChild[];
11
+ column: boolean;
12
+ configMarkers: string | import('@evergis/charts').BarChartMarker[];
13
+ showLabels: boolean;
14
+ showMarkers: number;
15
+ showTotal: boolean;
16
+ configTotalWord: string;
17
+ totalAttribute: string;
18
+ expandable: boolean;
19
+ expanded: boolean;
20
+ defaultColor: string;
21
+ dotSnapping: boolean;
22
+ isLineChart: boolean;
23
+ isPieChart: boolean;
24
+ isStackBar: boolean;
25
+ height: number;
26
+ radius: number;
27
+ padding: number;
28
+ axisTitleColor: string;
29
+ angle: number;
30
+ barWidth: number;
31
+ cornerRadius: number;
32
+ relatedAttributes: import('../../../types').ConfigRelatedDataSource[];
33
+ filterName: string;
34
+ axisTitles: {
35
+ left: import('../../../hooks').ChartAxisTitle;
36
+ right: import('../../../hooks').ChartAxisTitle;
37
+ };
38
+ hasTopTitles: boolean;
39
+ hasSideTitles: boolean;
40
+ hideLeftAxis: boolean;
41
+ hideRightAxis: boolean;
42
+ lineBodyRef: import('react').RefObject<HTMLDivElement>;
43
+ isRelated: boolean;
44
+ data: import('../../../containers/ChartContainer/types').ChartDataProps[];
45
+ loading: boolean;
46
+ width: import('../../../types').CssSize;
47
+ chartWidth: number;
48
+ fitsHeight: boolean;
49
+ chartHeight: number;
50
+ pieSide: number;
51
+ lineBodyWidth: number;
52
+ lineBodyHeight: number;
53
+ lineWrapperHeight: number;
54
+ customize: (args: {
55
+ svg: d3.Selection<SVGSVGElement, unknown, null, undefined>;
56
+ yScale: d3.ScaleLinear<number, number>;
57
+ yScaleRight?: d3.ScaleLinear<number, number>;
58
+ xScale: d3.ScaleLinear<number, number>;
59
+ }) => void;
60
+ formatLeftTick: (value: d3.NumberValue) => string;
61
+ formatRightTick: (value: d3.NumberValue) => string;
62
+ customizeLine: (args: {
63
+ svg: d3.Selection<SVGSVGElement, unknown, null, undefined>;
64
+ yScale: d3.ScaleLinear<number, number>;
65
+ yScaleRight?: d3.ScaleLinear<number, number>;
66
+ xScale: d3.ScaleLinear<number, number>;
67
+ }) => void;
68
+ formatFilterColor: (name: string, color: string, defaultColor?: string) => string;
69
+ onItemClick: (item: FilterItem) => void;
70
+ clickable: boolean;
71
+ };
@@ -0,0 +1,30 @@
1
+ import { useChartLayout } from './useChartLayout';
2
+ import { ChartProps } from '../../../containers/ChartContainer/types';
3
+ export declare const useChartPresentation: (layout: ReturnType<typeof useChartLayout>, { element, type }: ChartProps) => {
4
+ formattedAttributes: import('../../../types').ClientFeatureAttribute[];
5
+ totalSum: string | number;
6
+ totalWord: string | number;
7
+ renderPieChartTooltip: (item: any) => string | import('react').ReactElement<any, string | import('react').JSXElementConstructor<any>>;
8
+ labels: string[];
9
+ layerInfoByDataSourceName: Map<string, import('@evergis/api').QueryLayerServiceInfoDc>;
10
+ renderLineChartTooltip: (items: any, { indexX }: {
11
+ indexX: any;
12
+ }) => import("react/jsx-runtime").JSX.Element;
13
+ markers: import('@evergis/charts').BarChartMarker[];
14
+ margin: {
15
+ top: number;
16
+ right: number;
17
+ bottom: number;
18
+ left: number;
19
+ };
20
+ barMargin: {
21
+ top: number;
22
+ right: number;
23
+ bottom: number;
24
+ left: number;
25
+ };
26
+ formatTooltipName: (name: string) => string;
27
+ formatTooltipValue: (value: any, name: any) => import('react').ReactNode;
28
+ customYAxisLeft: (yAxisLeft: any) => void;
29
+ customXAxisBottom: (xAxisBottom: any, xAxisData: any) => void;
30
+ };
@@ -1,4 +1,7 @@
1
- import { CSSProperties, ReactNode } from 'react';
1
+ import { CSSProperties, ReactNode, MouseEventHandler } from 'react';
2
+ import { useChartLayout } from './hooks/useChartLayout';
3
+ import { useChartPresentation } from './hooks/useChartPresentation';
4
+ import { ChartProps } from '../../containers/ChartContainer/types';
2
5
  export type ChartContainerProps = {
3
6
  width?: string | number;
4
7
  height?: string | number;
@@ -6,4 +9,6 @@ export type ChartContainerProps = {
6
9
  loading?: boolean;
7
10
  children?: ReactNode;
8
11
  style?: CSSProperties;
12
+ onClick?: MouseEventHandler<HTMLDivElement>;
9
13
  };
14
+ export type ChartViewProps = ReturnType<typeof useChartLayout> & ReturnType<typeof useChartPresentation> & ChartProps;
@@ -1,9 +1,10 @@
1
1
  import { FC, ReactElement } from 'react';
2
2
  import { PieChartData } from '@evergis/charts';
3
- import { ConfigContainerChild, ConfigOptions, ContainerProps, WidgetType } from '../../types';
3
+ import { ConfigContainerChild, ConfigOptions, ContainerProps, FilterItem, WidgetType } from '../../types';
4
4
  import { ChartDataProps } from '../../containers/ChartContainer/types';
5
5
  export declare const StackBar: FC<{
6
6
  data: ChartDataProps[];
7
+ onItemClick?: (item: FilterItem) => void;
7
8
  filterName: string;
8
9
  type: WidgetType;
9
10
  alias: ConfigContainerChild;
@@ -1,5 +1,5 @@
1
- import { FC } from 'react';
2
- export declare const SvgImage: FC<{
1
+ import { FC, HTMLAttributes } from 'react';
2
+ export declare const SvgImage: FC<HTMLAttributes<HTMLDivElement> & {
3
3
  url: string;
4
4
  width?: number;
5
5
  height?: number;
@@ -2,6 +2,7 @@ import { CSSProperties } from 'react';
2
2
  import { CSSObject } from 'styled-components';
3
3
  import { AttributeIconType, AttributeType, QueryLayerServiceInfoDc } from '@evergis/api';
4
4
  import { ConfigAxisAlign, ConfigContainer, ConfigContainerChild, ConfigElementType } from './types';
5
+ export { CONFIG_TOKEN_REGEXP, FILTER_PREFIX, PROVIDER_PREFIX, ProviderPrefix } from './utils/configString/constants';
5
6
  export declare const CONFIG_PAGES_ID = "pages";
6
7
  export declare const CONFIG_PAGE_ID = "page";
7
8
  /**
@@ -74,7 +75,6 @@ export declare const X_AXIS_TITLE_GAP = 4;
74
75
  export declare const X_AXIS_TITLE_LEGEND_GAP = 8;
75
76
  /** Выравнивание подписи оси X → `justify-content` строки-подвала графика. */
76
77
  export declare const CHART_AXIS_ALIGN_JUSTIFY: Record<ConfigAxisAlign, CSSProperties["justifyContent"]>;
77
- export declare const FILTER_PREFIX = "%";
78
78
  /** Имя системного геометрического фильтра — выделение, нарисованное пользователем на карте. */
79
79
  export declare const GEOMETRY_FILTER_NAME = "geometry";
80
80
  /** Имя системного фильтра «экстент видимой области карты» (EWKT, `SRID=3857`). */
@@ -99,24 +99,6 @@ export declare const PROJECT_ALIAS_PROP = "alias";
99
99
  * `%project.name`.
100
100
  */
101
101
  export declare const PROJECT_PROPS: string[];
102
- export declare const PROVIDER_PREFIX = "$";
103
- export declare enum ProviderPrefix {
104
- /** `$card:<слой>:<поле>` — атрибут объекта карточки. */
105
- Card = "card",
106
- /**
107
- * Ближайший дашборд, в ряд к `%` своего виджета: `$dashboard:<фильтр>[.свойство]` — его фильтр,
108
- * `$dashboard:<датасорс>:<поле>` — поле первой строки его датасорса.
109
- */
110
- Dashboard = "dashboard"
111
- }
112
- /**
113
- * Все подстановки строки конфига одной грамматикой, по группам:
114
- * 1–2 `$dashboard:<датасорс>:<поле>`, 3–4 `$dashboard:<фильтр>[.свойство]`, 5–6 `$card:<слой>:<поле>`,
115
- * 7–8 `%<фильтр>[.свойство]`, 9 `{<атрибут>}`. Форма датасорса проверяется раньше формы фильтра:
116
- * их различает второе двоеточие. Имя фильтра — `\w+` целиком, поэтому `%name` не цепляет начало
117
- * `%name2`, а точка в конце предложения («за %year.») не считается свойством.
118
- */
119
- export declare const CONFIG_TOKEN_REGEXP: RegExp;
120
102
  /** Свойства границ диапазона: `%name.min` / `%name.max`. */
121
103
  export declare const RANGE_PROPS: readonly ["min", "max"];
122
104
  /** Разделитель элементов массива, подставленного в текст UI. */
@@ -127,6 +109,7 @@ export declare const CONFIG_TEXT_ARRAY_SEPARATOR = ", ";
127
109
  */
128
110
  export declare const CONFIG_STRING_OPTION_KEYS: readonly ["label", "placeholder", "title"];
129
111
  export declare const FILTERED_VALUE_OPACITY = 28;
112
+ export declare const PERCENT_SCALE = 100;
130
113
  export declare const DEFAULT_ATTRIBUTE_NAME = "name";
131
114
  export declare const DEFAULT_DATA_SOURCE_LIMIT = 100;
132
115
  export declare const QUERY_DESCRIPTION_CACHE_TTL = 60000;
@@ -2,5 +2,4 @@ export declare const InnerContainerWrapper: import('styled-components').StyledCo
2
2
  hasAnyFilter?: boolean;
3
3
  isFiltered?: boolean;
4
4
  column?: boolean;
5
- onClick?: VoidFunction;
6
5
  }, never>;
@@ -1,7 +1,7 @@
1
1
  import { CSSProperties } from 'react';
2
2
  import { AttributeType, StringSubType } from '@evergis/api';
3
3
  import { FeatureAttributeValue } from '../../../../types';
4
- import { ChipOption, ConfigAttributeControl, ConfigAttributeDescription } from '../../types';
4
+ import { ChipOption, ConfigAttributeControl, ConfigAttributeDescription, ConfigContainerChild, WidgetType } from '../../types';
5
5
  /** Состояние строки черновика относительно последнего сохранения. */
6
6
  export type DraftRowState = "pristine" | "created" | "updated" | "deleted";
7
7
  /**
@@ -56,6 +56,8 @@ export interface StructuredDataAttribute {
56
56
  * для рендера и правки. Сортировка сюда не входит: она чисто вид и живёт в представлении.
57
57
  */
58
58
  export interface StructuredDataContextValue {
59
+ elementConfig?: ConfigContainerChild;
60
+ widgetType?: WidgetType;
59
61
  schema: StructuredDataAttribute[];
60
62
  /** Видимые строки в исходном порядке — тот же порядок уходит в фильтр. */
61
63
  rows: DraftRow[];
@@ -1,5 +1,6 @@
1
1
  import { RemoteTaskStatus } from '@evergis/api';
2
2
  export interface LogDialogProps {
3
+ onStop?: () => void;
3
4
  isOpen: boolean;
4
5
  onClose: () => void;
5
6
  onMinimize?: () => void;
@@ -1,12 +1,3 @@
1
1
  import { FC } from 'react';
2
- import { RemoteTaskStatus } from '@evergis/api';
3
- import { IconTypesKeys } from '@evergis/uilib-gl';
4
- export declare const StatusWaitingButton: FC<{
5
- title: string;
6
- icon: IconTypesKeys;
7
- status: RemoteTaskStatus;
8
- statusColors: Record<RemoteTaskStatus, string>;
9
- isWaiting: boolean;
10
- isDisabled: boolean;
11
- onClick: VoidFunction;
12
- }>;
2
+ import { TaskButtonProps } from '../../types';
3
+ export declare const StatusWaitingButton: FC<TaskButtonProps>;
@@ -0,0 +1,4 @@
1
+ import { FC } from 'react';
2
+ import { TaskSlotButtonProps } from '../../types';
3
+ /** Кнопка запуска из слота `button`: вид — из слота, поведение и статусы — от контейнера. */
4
+ export declare const TaskButton: FC<TaskSlotButtonProps>;
@@ -0,0 +1,2 @@
1
+ /** Спиннер ожидания в цвете текста кнопки: круг-подложка приглушён, дуга — сплошная. */
2
+ export declare const TaskButtonSpinner: import('styled-components').StyledComponent<"div", any, import('@evergis/uilib-gl').FlexProps, never>;
@@ -0,0 +1,5 @@
1
+ import { FC } from 'react';
2
+ export declare const TaskLogButton: FC<{
3
+ runId: string;
4
+ onOpen: (runId: string) => void;
5
+ }>;
@@ -0,0 +1,13 @@
1
+ import { RemoteTaskStatus } from '@evergis/api';
2
+ import { IconTypesKeys } from '@evergis/uilib-gl';
3
+ interface UseTaskButtonStateProps {
4
+ status: RemoteTaskStatus;
5
+ title?: string;
6
+ icon?: IconTypesKeys;
7
+ }
8
+ /** Текст и иконка кнопки запуска: в исходном состоянии — заданные, иначе — по статусу задачи. */
9
+ export declare const useTaskButtonState: ({ status, title, icon }: UseTaskButtonStateProps) => {
10
+ title: string;
11
+ iconKind: "symbol" | "function" | "auto" | "button" | "data" | "label" | "legend" | "link" | "map" | "menu" | "param" | "search" | "section" | "time" | "ellipse" | "filter" | "image" | "stop" | "text" | "id" | "cursor" | "points" | "restart" | "scale" | "key" | "download" | "list" | "error" | "next" | "alert" | "grid" | "heading" | "log" | "tree" | "bold" | "sort" | "reduce" | "empty" | "paint" | "layers" | "delete" | "save" | "menu_vertical" | "menu_horizontal" | "edit" | "tools" | "filter_apply" | "date" | "zoom_to" | "geom_raster" | "geom_point" | "geom_polygon" | "geom_multipolygon" | "geom_polyline" | "share" | "refresh" | "basemap" | "plus" | "minus" | "select_rect" | "select_circle" | "select_polygon" | "clear" | "measure_length" | "measure_area" | "home" | "bookmark" | "arrow_forward" | "arrow_back" | "message" | "location_pointer" | "close" | "maximize" | "minimize" | "maximize_solid" | "minimize_solid" | "to_last" | "play" | "prev" | "to_first" | "pause" | "upload" | "hide" | "expand" | "input_resizer" | "input_dropdown" | "classification" | "copy" | "phone" | "like" | "export_excel" | "location_coordinate" | "sorting_asc" | "sorting_des" | "password_show" | "password_hide" | "success" | "warning" | "star" | "social_vk" | "social_fb" | "social_google" | "social_github" | "social_vk_simple" | "social_fb_simple" | "social_google_simple" | "social_medium" | "geoprocessing" | "info" | "feedback" | "panel_hide" | "panel_show" | "feature_add" | "logo" | "lock" | "unlock" | "users" | "displayfield" | "textfile" | "image_paste" | "step_back" | "step_forward" | "pipette" | "calculation" | "geom_move" | "geom_poly_vertex" | "geom_poly_hole" | "geom_poly_slice" | "geom_poly_reshape" | "geom_poly_ungroup" | "geom_poly_autocomplete" | "geom_line_vertex" | "geom_line_addpart" | "geom_line_slice" | "geom_line_reshape" | "geom_line_ungroup" | "geom_undefined" | "icon_undefined" | "inverse" | "location_current" | "tools_buffer" | "tools_zones" | "tools_print" | "tools_spatial_selection" | "tools_aggregation" | "zip" | "catalog" | "catalog_variant" | "question" | "alpha" | "betta" | "dragdrop" | "equals" | "not_equals" | "contains" | "not_contains" | "greater_than" | "greater_or_equal" | "less_than" | "less_or_equal" | "starts_with" | "not_starts_with" | "ends_with" | "not_ends_with" | "filled" | "raster_visible" | "raster_invisible" | "editgeom_point_addpart" | "divide" | "filter_layer" | "filter_table" | "img_generate" | "finish" | "transparentize" | "textLeft" | "textRight" | "textCenter" | "textJustify" | "externalway" | "evergis" | "geometryUnite" | "geometryCrop" | "roles" | "icon_block" | "configurations" | "settings_table" | "set_edit" | "set_read" | "set_configure" | "set_time" | "snapping" | "snap_1" | "snap_2" | "snap_3" | "slide" | "tags" | "statistics" | "alphabet_sort_za" | "alphabet_sort_az" | "inside_range" | "outside_range" | "tms" | "arc_gis" | "date_outside" | "wms_link" | "object_size" | "stroke_width" | "point_select" | "select_line" | "apply_selection" | "report" | "refresh_circle" | "date_filter" | "layer_filter_applied" | "attribute_filter_applied" | "geometry_selection_applied" | "attribute_filter" | "layer_filter" | "layers_add" | "geo_location" | "geom_types" | "date_aggregation" | "public_group" | "social_tg" | "rounded_triangle" | "zoom_in" | "zoom_out" | "checkboxes" | "sum" | "datetime" | "double" | "int" | "local_tile_service" | "arcgis_service" | "wms_service" | "text_format" | "coordinates_actions" | "xy" | "group_features" | "ungroup_features" | "preview" | "triangle" | "rectangle" | "themed_symbol" | "selection" | "table_link" | "cell_size" | "symbol_library" | "globe" | "tree_folder_closed" | "tree_folder_opened" | "add_group" | "ungroup" | "feature_card" | "moon" | "sun" | "logout" | "search_selection" | "suggestions" | "social_dzen" | "social_youtube" | "query" | "table_empty" | "shared_group" | "text_frame" | "file_catalog" | "attachment" | "stats" | "loading_circle" | "layer_option" | "change_geom" | "settings_horizontal" | "text_editor" | "dashboard_loading" | "dashboard_placeholder" | "postgresql" | "bigquery" | "amazon_s3" | "databricks" | "redshift" | "server_connection" | "service_connection" | "column_increment" | "column_unique" | "column_nullable" | "projection" | "card" | "zones_selection" | "walking" | "selection_route" | "pulse" | "tree_vertical" | "tool_settings" | "folder_outline" | "percent" | "run" | "table_view" | "text_view" | "in_map" | "tables" | "collapse" | "expand_all" | "quote" | "list_ordered" | "list_unordered" | "italic" | "filter_switcher" | "arrow_down" | "arrow_up" | "new_window" | "line_numbers" | "python" | "config" | "pc" | "social_yandex" | "tab_icon" | "disk" | "ram" | "cpu" | "select_point" | "page_add" | "page_menu" | "stack" | "calc_attribute" | "calc_attribute_attribute" | "calc_attribute_value" | "calc_geometry" | "camera" | "pdf" | "slideshow" | "edit_container" | "default_attributes" | "progress_bar" | "section_add" | "section_remove" | "connections" | "pie_chart" | "line_chart" | "stack_chart" | "datasource" | "tabs" | "check_toggle" | "cadastr" | "office" | "layer_eye" | "ai" | "bool" | "json" | "rollup" | "no_geom" | "symbol_text" | "text_circle" | "heatmap" | "cube" | "extrude" | "transition" | "stop_circle" | "token" | "star_symbol" | "text_plain" | "geom_shapes";
12
+ };
13
+ export {};
@@ -0,0 +1,16 @@
1
+ import { RemoteTaskStatus } from '@evergis/api';
2
+ import { IconTypesKeys } from '@evergis/uilib-gl';
3
+ import { TaskButtonChild, WidgetType } from '../../types';
4
+ export interface TaskButtonProps {
5
+ title: string;
6
+ icon?: IconTypesKeys;
7
+ status: RemoteTaskStatus;
8
+ statusColors?: Record<RemoteTaskStatus, string>;
9
+ isWaiting: boolean;
10
+ isDisabled: boolean;
11
+ onClick: VoidFunction;
12
+ }
13
+ export interface TaskSlotButtonProps extends TaskButtonProps {
14
+ type?: WidgetType;
15
+ buttonConfig: TaskButtonChild;
16
+ }
@@ -1,5 +1,5 @@
1
1
  import { CSSProperties } from 'react';
2
- import { ChartPlotInsets } from '../components/Chart/ChartPlotContext';
2
+ import { ChartPlotInsets } from '../../../contexts/ChartPlotContext';
3
3
  export declare const ContainerAlias: import('styled-components').StyledComponent<"div", any, import('@evergis/uilib-gl').FlexProps & {
4
4
  hasBottomMargin?: boolean;
5
5
  }, never>;
@@ -0,0 +1,6 @@
1
+ import { IconButtonVariant } from '@evergis/uilib-gl';
2
+ import { ElementButtonOptions } from '../../types';
3
+ /** Опции внешнего вида: хотя бы одна из них переводит кнопку-ссылку на IconButton. */
4
+ export declare const ELEMENT_BUTTON_APPEARANCE_KEYS: (keyof ElementButtonOptions)[];
5
+ export declare const ELEMENT_BUTTON_COLOR_FLAGS: readonly ["primary", "secondary", "error", "violet"];
6
+ export declare const DEFAULT_ELEMENT_BUTTON_VARIANT: IconButtonVariant;
@@ -0,0 +1,8 @@
1
+ import { IIconButtonProps } from '@evergis/uilib-gl';
2
+ import { ElementButtonOptions } from '../../../types';
3
+ export declare const hasButtonAppearance: (options?: ElementButtonOptions) => boolean;
4
+ /**
5
+ * Пропсы IconButton из опций элемента. Без цвета и флагов цвета кнопка — primary;
6
+ * нейтральная задаётся явным `primary: false`. `color` контейнера перекрывает цвет из опций.
7
+ */
8
+ export declare const getElementButtonProps: (options?: ElementButtonOptions, color?: string) => IIconButtonProps;
@@ -1,5 +1,5 @@
1
- import { CSSProperties } from 'react';
2
- export interface AttachmentIconProps {
1
+ import { CSSProperties, HTMLAttributes } from 'react';
2
+ export interface AttachmentIconProps extends Pick<HTMLAttributes<HTMLElement>, "onClick" | "onKeyDown" | "role" | "tabIndex"> {
3
3
  /** Сырое значение атрибута с `subType: Attachments`. */
4
4
  value: unknown;
5
5
  /** Размер иконки, px — как у шрифтовой иконки. */
@@ -1,11 +1,12 @@
1
- import { ConfigContainerChild, WidgetType } from '../../types';
1
+ import { ClientFeatureAttribute, ConfigContainerChild, WidgetType } from '../../types';
2
2
  interface UseElementImageProps {
3
3
  type?: WidgetType;
4
4
  elementConfig?: ConfigContainerChild;
5
+ attributes?: ClientFeatureAttribute[];
5
6
  }
6
7
  interface UseElementImageResult {
7
8
  src: string | null;
8
9
  alt: string;
9
10
  }
10
- export declare const useElementImage: ({ type, elementConfig, }: UseElementImageProps) => UseElementImageResult;
11
+ export declare const useElementImage: ({ type, elementConfig, attributes: ownAttributes, }: UseElementImageProps) => UseElementImageResult;
11
12
  export {};
@@ -1,10 +1,5 @@
1
- import { WidgetType } from '../../../types';
2
- /**
3
- * Видимость диалога модалки. Флаг локальный: у одного `modalId` бывает несколько кнопок (слот
4
- * `modal` в строках `DataSource`), и общий флаг открыл бы все диалоги сразу. Хост узнаёт об
5
- * открытии и закрытии через `onModalToggle` — чтобы грузить `dataSources` модалки только пока она открыта.
6
- */
7
- export declare const useModalOpen: (type: WidgetType, modalId?: string) => {
1
+ import { ClientFeatureAttribute, WidgetType } from '../../../types';
2
+ export declare const useModalOpen: (type: WidgetType, modalId?: string, attributes?: ClientFeatureAttribute[]) => {
8
3
  isOpen: boolean;
9
4
  handleOpen: () => void;
10
5
  handleClose: () => void;
@@ -1,4 +1,3 @@
1
1
  import { FC } from 'react';
2
2
  import { ElementSvgProps } from '../../types';
3
- export type { ElementSvgProps };
4
3
  export declare const ElementSvg: FC<ElementSvgProps>;
@@ -0,0 +1,6 @@
1
+ import { PropsWithChildren } from 'react';
2
+ import { DraftRow, StructuredDataContextValue } from '../../../containers/StructuredDataContainer/types';
3
+ export declare const ActionTableRow: ({ row, context, children }: PropsWithChildren<{
4
+ row: DraftRow;
5
+ context: StructuredDataContextValue;
6
+ }>) => import("react/jsx-runtime").JSX.Element;
@@ -2,7 +2,7 @@ export declare const elementComponents: {
2
2
  readonly control: import('react').FC<import('../componentTypes').ElementControlProps>;
3
3
  readonly image: import('react').FC<import('../componentTypes').ElementImageProps>;
4
4
  readonly slideshow: import('react').FC<import('./ElementSlideshow/types').DashboardSlideshowProps>;
5
- readonly svg: import('react').FC<import('./ElementSvg').ElementSvgProps>;
5
+ readonly svg: import('react').FC<import('../componentTypes').ElementSvgProps>;
6
6
  readonly icon: import('react').FC<import('../componentTypes').ElementIconProps>;
7
7
  readonly tooltip: import('react').FC<import('../componentTypes').ElementTooltipProps>;
8
8
  readonly tags: import('react').FC<import('../componentTypes').ElementChipsProps>;
@@ -0,0 +1,15 @@
1
+ import { FeatureDc, QueryLayerServiceConfigurationDc } from '@evergis/api';
2
+ import { ClientFeatureAttribute, ConfigContainerChild, SelectedFilters, WidgetType } from '../types';
3
+ import { ConfigStringSources } from '../utils/configString/types';
4
+ export type DataSourceRequestOptions = {
5
+ contextSources?: ConfigStringSources;
6
+ type?: WidgetType;
7
+ config: ConfigContainerChild;
8
+ attributes?: ClientFeatureAttribute[];
9
+ filters: SelectedFilters;
10
+ layerParams?: Record<string, string>;
11
+ eqlParameters?: QueryLayerServiceConfigurationDc["eqlParameters"];
12
+ };
13
+ export type DataSourceResultItem = FeatureDc & {
14
+ attributes?: FeatureDc["properties"];
15
+ };