@carto/ps-react-ui 4.3.0-widgets.0 → 5.0.0-widgets.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 (262) hide show
  1. package/dist/components.js +25 -23
  2. package/dist/components.js.map +1 -1
  3. package/dist/exports-Cr43OCul.js +51 -0
  4. package/dist/exports-Cr43OCul.js.map +1 -0
  5. package/dist/{lasso-tool-BC-rsMMW.js → lasso-tool-CYn3ivf-.js} +165 -183
  6. package/dist/lasso-tool-CYn3ivf-.js.map +1 -0
  7. package/dist/options-D9wflre6.js +49 -0
  8. package/dist/options-D9wflre6.js.map +1 -0
  9. package/dist/row-C_m1ovHv.js +35 -0
  10. package/dist/row-C_m1ovHv.js.map +1 -0
  11. package/dist/series-6xp-KQ0S.js +91 -0
  12. package/dist/series-6xp-KQ0S.js.map +1 -0
  13. package/dist/{smart-tooltip-BSlcAkBM.js → smart-tooltip-BEtBaIdz.js} +2 -2
  14. package/dist/{smart-tooltip-BSlcAkBM.js.map → smart-tooltip-BEtBaIdz.js.map} +1 -1
  15. package/dist/styles-dOu_pRNb.js +77 -0
  16. package/dist/styles-dOu_pRNb.js.map +1 -0
  17. package/dist/tooltip-BDnrRKrp.js +25 -0
  18. package/dist/tooltip-BDnrRKrp.js.map +1 -0
  19. package/dist/types/hooks/index.d.ts +2 -0
  20. package/dist/types/hooks/use-debounce.d.ts +19 -0
  21. package/dist/types/hooks/use-widget-ref.d.ts +17 -0
  22. package/dist/types/widgets/_shared/chart-config/config-factory.d.ts +5 -11
  23. package/dist/types/widgets/_shared/chart-config/option-builders.d.ts +3 -8
  24. package/dist/types/widgets/actions/change-column/change-column-icon.d.ts +1 -0
  25. package/dist/types/widgets/actions/change-column/change-column.d.ts +16 -0
  26. package/dist/types/widgets/actions/change-column/sortable-column-item.d.ts +9 -0
  27. package/dist/types/widgets/actions/change-column/types.d.ts +19 -0
  28. package/dist/types/widgets/actions/download/download.d.ts +1 -1
  29. package/dist/types/widgets/actions/download/exports.d.ts +1 -1
  30. package/dist/types/widgets/actions/download/types.d.ts +3 -11
  31. package/dist/types/widgets/actions/fullscreen/fullscreen.d.ts +1 -1
  32. package/dist/types/widgets/actions/fullscreen/styles.d.ts +6 -0
  33. package/dist/types/widgets/actions/fullscreen/types.d.ts +8 -9
  34. package/dist/types/widgets/actions/index.d.ts +14 -1
  35. package/dist/types/widgets/actions/lock-selection/lock-selection.d.ts +19 -0
  36. package/dist/types/widgets/actions/lock-selection/types.d.ts +38 -0
  37. package/dist/types/widgets/actions/relative-data/relative-data.d.ts +18 -0
  38. package/dist/types/widgets/actions/relative-data/style.d.ts +8 -0
  39. package/dist/types/widgets/actions/relative-data/types.d.ts +27 -0
  40. package/dist/types/widgets/actions/relative-data/utils.d.ts +9 -0
  41. package/dist/types/widgets/actions/relative-data/utils.test.d.ts +1 -0
  42. package/dist/types/widgets/actions/searcher/searcher-toggle.d.ts +18 -0
  43. package/dist/types/widgets/actions/searcher/searcher.d.ts +21 -0
  44. package/dist/types/widgets/actions/searcher/types.d.ts +62 -0
  45. package/dist/types/widgets/actions/shared/styles.d.ts +11 -0
  46. package/dist/types/widgets/actions/stack-toggle/grouped-bar-chart-icon.d.ts +1 -0
  47. package/dist/types/widgets/actions/stack-toggle/stack-toggle.d.ts +16 -0
  48. package/dist/types/widgets/actions/stack-toggle/types.d.ts +25 -0
  49. package/dist/types/widgets/actions/zoom-toggle/index.d.ts +2 -0
  50. package/dist/types/widgets/actions/zoom-toggle/style.d.ts +13 -0
  51. package/dist/types/widgets/actions/zoom-toggle/types.d.ts +41 -0
  52. package/dist/types/widgets/actions/zoom-toggle/zoom-toggle.d.ts +18 -0
  53. package/dist/types/widgets/bar/config.d.ts +5 -4
  54. package/dist/types/widgets/bar/index.d.ts +2 -2
  55. package/dist/types/widgets/bar/types.d.ts +6 -12
  56. package/dist/types/widgets/category/category-ui.d.ts +2 -0
  57. package/dist/types/widgets/category/components/category-bar.d.ts +7 -0
  58. package/dist/types/widgets/category/components/category-legend.d.ts +6 -0
  59. package/dist/types/widgets/category/components/category-row-multi.d.ts +11 -0
  60. package/dist/types/widgets/category/components/category-row-other.d.ts +6 -0
  61. package/dist/types/widgets/category/components/category-row-single.d.ts +11 -0
  62. package/dist/types/widgets/category/components/index.d.ts +10 -0
  63. package/dist/types/widgets/category/config.d.ts +15 -0
  64. package/dist/types/widgets/category/index.d.ts +6 -0
  65. package/dist/types/widgets/category/skeleton.d.ts +1 -0
  66. package/dist/types/widgets/category/style.d.ts +121 -0
  67. package/dist/types/widgets/category/types.d.ts +33 -0
  68. package/dist/types/widgets/echart/echart-ui.d.ts +1 -1
  69. package/dist/types/widgets/echart/index.d.ts +2 -2
  70. package/dist/types/widgets/echart/options.d.ts +2 -3
  71. package/dist/types/widgets/echart/types.d.ts +11 -10
  72. package/dist/types/widgets/echart/utils.d.ts +22 -16
  73. package/dist/types/widgets/formula/components/row.d.ts +1 -1
  74. package/dist/types/widgets/formula/config.d.ts +4 -2
  75. package/dist/types/widgets/formula/index.d.ts +2 -1
  76. package/dist/types/widgets/formula/types.d.ts +6 -18
  77. package/dist/types/widgets/histogram/config.d.ts +5 -4
  78. package/dist/types/widgets/histogram/index.d.ts +2 -2
  79. package/dist/types/widgets/histogram/types.d.ts +6 -12
  80. package/dist/types/widgets/index.d.ts +2 -4
  81. package/dist/types/widgets/markdown/config.d.ts +4 -2
  82. package/dist/types/widgets/markdown/index.d.ts +2 -2
  83. package/dist/types/widgets/markdown/markdown-ui.d.ts +1 -1
  84. package/dist/types/widgets/markdown/types.d.ts +6 -16
  85. package/dist/types/widgets/note/note.d.ts +1 -1
  86. package/dist/types/widgets/note/style.d.ts +12 -1
  87. package/dist/types/widgets/note/types.d.ts +4 -3
  88. package/dist/types/widgets/pie/config.d.ts +5 -4
  89. package/dist/types/widgets/pie/index.d.ts +2 -2
  90. package/dist/types/widgets/pie/types.d.ts +6 -12
  91. package/dist/types/widgets/range/config.d.ts +6 -2
  92. package/dist/types/widgets/range/index.d.ts +2 -1
  93. package/dist/types/widgets/range/types.d.ts +6 -17
  94. package/dist/types/widgets/root/index.d.ts +2 -1
  95. package/dist/types/widgets/root/root.d.ts +1 -1
  96. package/dist/types/widgets/root/types.d.ts +6 -12
  97. package/dist/types/widgets/root/utils.d.ts +1 -0
  98. package/dist/types/widgets/scatterplot/config.d.ts +5 -4
  99. package/dist/types/widgets/scatterplot/index.d.ts +2 -2
  100. package/dist/types/widgets/scatterplot/types.d.ts +6 -12
  101. package/dist/types/widgets/selection-summary/index.d.ts +2 -0
  102. package/dist/types/widgets/selection-summary/selection-summary.d.ts +2 -0
  103. package/dist/types/widgets/selection-summary/style.d.ts +9 -0
  104. package/dist/types/widgets/selection-summary/types.d.ts +13 -0
  105. package/dist/types/widgets/spread/config.d.ts +10 -2
  106. package/dist/types/widgets/spread/index.d.ts +2 -1
  107. package/dist/types/widgets/spread/types.d.ts +6 -18
  108. package/dist/types/widgets/stores/index.d.ts +2 -0
  109. package/dist/types/widgets/stores/types.d.ts +175 -11
  110. package/dist/types/widgets/stores/widget-store.d.ts +2 -27
  111. package/dist/types/widgets/subheader/index.d.ts +2 -0
  112. package/dist/types/widgets/subheader/style.d.ts +19 -0
  113. package/dist/types/widgets/subheader/subheader.d.ts +2 -0
  114. package/dist/types/widgets/subheader/types.d.ts +10 -0
  115. package/dist/types/widgets/table/components/cell-header.d.ts +5 -0
  116. package/dist/types/widgets/table/components/cell.d.ts +16 -0
  117. package/dist/types/widgets/table/components/index.d.ts +4 -0
  118. package/dist/types/widgets/table/components/pagination-actions.d.ts +5 -0
  119. package/dist/types/widgets/table/components/pagination.d.ts +5 -0
  120. package/dist/types/widgets/table/components/row.d.ts +5 -0
  121. package/dist/types/widgets/table/config.d.ts +11 -0
  122. package/dist/types/widgets/table/helpers.d.ts +38 -0
  123. package/dist/types/widgets/table/helpers.test.d.ts +1 -0
  124. package/dist/types/widgets/table/hooks/index.d.ts +6 -0
  125. package/dist/types/widgets/table/hooks/use-pagination.d.ts +45 -0
  126. package/dist/types/widgets/table/hooks/use-pagination.test.d.ts +1 -0
  127. package/dist/types/widgets/table/hooks/use-selection.d.ts +32 -0
  128. package/dist/types/widgets/table/hooks/use-selection.test.d.ts +1 -0
  129. package/dist/types/widgets/table/hooks/use-sort.d.ts +29 -0
  130. package/dist/types/widgets/table/hooks/use-sort.test.d.ts +1 -0
  131. package/dist/types/widgets/table/index.d.ts +13 -0
  132. package/dist/types/widgets/table/serializer.d.ts +16 -0
  133. package/dist/types/widgets/table/skeleton.d.ts +10 -0
  134. package/dist/types/widgets/table/style.d.ts +33 -0
  135. package/dist/types/widgets/table/table-ui.d.ts +32 -0
  136. package/dist/types/widgets/table/types.d.ts +201 -0
  137. package/dist/types/widgets/timeseries/config.d.ts +5 -4
  138. package/dist/types/widgets/timeseries/index.d.ts +2 -2
  139. package/dist/types/widgets/timeseries/types.d.ts +6 -12
  140. package/dist/types/widgets/toolbar-actions/index.d.ts +2 -0
  141. package/dist/types/widgets/toolbar-actions/styles.d.ts +37 -0
  142. package/dist/types/widgets/toolbar-actions/toolbar-actions.d.ts +8 -0
  143. package/dist/types/widgets/toolbar-actions/types.d.ts +45 -0
  144. package/dist/types/widgets/wrapper/index.d.ts +2 -2
  145. package/dist/types/widgets/wrapper/styles.d.ts +6 -0
  146. package/dist/types/widgets/wrapper/types.d.ts +7 -5
  147. package/dist/types/widgets/wrapper/wrapper-ui.d.ts +1 -1
  148. package/dist/types/widgets/wrapper/wrapper.d.ts +1 -1
  149. package/dist/utils-Dv5Z47UQ.js +144 -0
  150. package/dist/utils-Dv5Z47UQ.js.map +1 -0
  151. package/dist/widget-store-DNyVElxd.js +190 -0
  152. package/dist/widget-store-DNyVElxd.js.map +1 -0
  153. package/dist/widgets/actions.js +825 -6
  154. package/dist/widgets/actions.js.map +1 -1
  155. package/dist/widgets/bar.js +189 -4
  156. package/dist/widgets/bar.js.map +1 -1
  157. package/dist/widgets/category.js +460 -0
  158. package/dist/widgets/category.js.map +1 -0
  159. package/dist/widgets/echart.js +120 -8
  160. package/dist/widgets/echart.js.map +1 -1
  161. package/dist/widgets/formula.js +117 -20
  162. package/dist/widgets/formula.js.map +1 -1
  163. package/dist/widgets/histogram.js +172 -4
  164. package/dist/widgets/histogram.js.map +1 -1
  165. package/dist/widgets/markdown.js +127 -0
  166. package/dist/widgets/markdown.js.map +1 -0
  167. package/dist/widgets/note.js +121 -2
  168. package/dist/widgets/note.js.map +1 -1
  169. package/dist/widgets/pie.js +213 -4
  170. package/dist/widgets/pie.js.map +1 -1
  171. package/dist/widgets/range.js +210 -12
  172. package/dist/widgets/range.js.map +1 -1
  173. package/dist/widgets/root.js +65 -2
  174. package/dist/widgets/root.js.map +1 -1
  175. package/dist/widgets/scatterplot.js +219 -4
  176. package/dist/widgets/scatterplot.js.map +1 -1
  177. package/dist/widgets/selection-summary.js +40 -0
  178. package/dist/widgets/selection-summary.js.map +1 -0
  179. package/dist/widgets/skeleton-loader.js +21 -2
  180. package/dist/widgets/skeleton-loader.js.map +1 -1
  181. package/dist/widgets/spread.js +162 -17
  182. package/dist/widgets/spread.js.map +1 -1
  183. package/dist/widgets/stores.js +5 -0
  184. package/dist/widgets/stores.js.map +1 -0
  185. package/dist/widgets/subheader.js +52 -0
  186. package/dist/widgets/subheader.js.map +1 -0
  187. package/dist/widgets/table.js +691 -0
  188. package/dist/widgets/table.js.map +1 -0
  189. package/dist/widgets/timeseries.js +171 -4
  190. package/dist/widgets/timeseries.js.map +1 -1
  191. package/dist/widgets/toolbar-actions.js +6106 -0
  192. package/dist/widgets/toolbar-actions.js.map +1 -0
  193. package/dist/widgets/wrapper.js +292 -6
  194. package/dist/widgets/wrapper.js.map +1 -1
  195. package/dist/widgets.js +2 -83
  196. package/dist/widgets.js.map +1 -1
  197. package/package.json +38 -6
  198. package/dist/const-BLV7Tvte.js +0 -758
  199. package/dist/const-BLV7Tvte.js.map +0 -1
  200. package/dist/download-KroQ0SWg.js +0 -195
  201. package/dist/download-KroQ0SWg.js.map +0 -1
  202. package/dist/echart-CqfROFu3.js +0 -214
  203. package/dist/echart-CqfROFu3.js.map +0 -1
  204. package/dist/formula-ui-ChzvMEOG.js +0 -52
  205. package/dist/formula-ui-ChzvMEOG.js.map +0 -1
  206. package/dist/lasso-tool-BC-rsMMW.js.map +0 -1
  207. package/dist/markdown-n_tOtoiT.js +0 -27
  208. package/dist/markdown-n_tOtoiT.js.map +0 -1
  209. package/dist/markdown-ui-BBrzzd7Y.js +0 -62
  210. package/dist/markdown-ui-BBrzzd7Y.js.map +0 -1
  211. package/dist/note-DF-n70TX.js +0 -101
  212. package/dist/note-DF-n70TX.js.map +0 -1
  213. package/dist/range-ui-CtUX11Xm.js +0 -146
  214. package/dist/range-ui-CtUX11Xm.js.map +0 -1
  215. package/dist/root-L_WZnJY5.js +0 -46
  216. package/dist/root-L_WZnJY5.js.map +0 -1
  217. package/dist/row-DQaSxmDV.js +0 -18
  218. package/dist/row-DQaSxmDV.js.map +0 -1
  219. package/dist/series-CsyEPq-X.js +0 -83
  220. package/dist/series-CsyEPq-X.js.map +0 -1
  221. package/dist/skeleton-BSPcEvfq.js +0 -27
  222. package/dist/skeleton-BSPcEvfq.js.map +0 -1
  223. package/dist/skeleton-C4rOYTy-.js +0 -78
  224. package/dist/skeleton-C4rOYTy-.js.map +0 -1
  225. package/dist/skeleton-C9Jqc241.js +0 -82
  226. package/dist/skeleton-C9Jqc241.js.map +0 -1
  227. package/dist/skeleton-D-zHBBIw.js +0 -64
  228. package/dist/skeleton-D-zHBBIw.js.map +0 -1
  229. package/dist/skeleton-DMP-IwaJ.js +0 -109
  230. package/dist/skeleton-DMP-IwaJ.js.map +0 -1
  231. package/dist/skeleton-DRorqowB.js +0 -22
  232. package/dist/skeleton-DRorqowB.js.map +0 -1
  233. package/dist/skeleton-DsZhv-AH.js +0 -89
  234. package/dist/skeleton-DsZhv-AH.js.map +0 -1
  235. package/dist/skeleton-Dx3FCer0.js +0 -13
  236. package/dist/skeleton-Dx3FCer0.js.map +0 -1
  237. package/dist/skeleton-QVDdb1c2.js +0 -21
  238. package/dist/skeleton-QVDdb1c2.js.map +0 -1
  239. package/dist/skeleton-loader-DWC1-EAx.js +0 -23
  240. package/dist/skeleton-loader-DWC1-EAx.js.map +0 -1
  241. package/dist/spread-ui-BjzH190y.js +0 -82
  242. package/dist/spread-ui-BjzH190y.js.map +0 -1
  243. package/dist/style-BGeCtQkP.js +0 -19
  244. package/dist/style-BGeCtQkP.js.map +0 -1
  245. package/dist/style-C7v1iwqD.js +0 -34
  246. package/dist/style-C7v1iwqD.js.map +0 -1
  247. package/dist/styles-cohnxh9F.js +0 -23
  248. package/dist/styles-cohnxh9F.js.map +0 -1
  249. package/dist/types/widgets/config-loader/index.d.ts +0 -2
  250. package/dist/types/widgets/config-loader/types.d.ts +0 -12
  251. package/dist/types/widgets/config-loader/use-config.d.ts +0 -5
  252. package/dist/types/widgets/widget/const.d.ts +0 -2
  253. package/dist/types/widgets/widget/types.d.ts +0 -47
  254. package/dist/types/widgets/widget/widget.d.ts +0 -2
  255. package/dist/use-config-BYEOiIcu.js +0 -43
  256. package/dist/use-config-BYEOiIcu.js.map +0 -1
  257. package/dist/widget-store-yDO2ul8g.js +0 -44
  258. package/dist/widget-store-yDO2ul8g.js.map +0 -1
  259. package/dist/widgets/config-loader.js +0 -5
  260. package/dist/widgets/config-loader.js.map +0 -1
  261. package/dist/wrapper-57csMybC.js +0 -265
  262. package/dist/wrapper-57csMybC.js.map +0 -1
@@ -0,0 +1 @@
1
+ export declare function CategorySkeleton(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,121 @@
1
+ import { Theme } from '@mui/material';
2
+ export declare const styles: {
3
+ root: {
4
+ display: "flex";
5
+ flexDirection: "column";
6
+ position: "relative";
7
+ overflow: "auto";
8
+ };
9
+ list: {
10
+ display: "flex";
11
+ flexDirection: "column";
12
+ gap: (theme: Theme) => string;
13
+ };
14
+ row: {
15
+ display: "flex";
16
+ flexDirection: "column";
17
+ gap: (theme: Theme) => string;
18
+ pointerEvents: "none";
19
+ };
20
+ rowClickable: {
21
+ pointerEvents: "auto";
22
+ };
23
+ rowHeader: {
24
+ display: "flex";
25
+ justifyContent: "space-between";
26
+ alignItems: "center";
27
+ };
28
+ rowLabel: {
29
+ typography: string;
30
+ fontWeight: string;
31
+ color: "text.primary";
32
+ };
33
+ rowValue: {
34
+ typography: string;
35
+ color: "text.secondary";
36
+ };
37
+ barContainer: {
38
+ display: "flex";
39
+ flexDirection: "column";
40
+ };
41
+ bar: {
42
+ height: number;
43
+ borderRadius: number;
44
+ backgroundColor: (theme: Theme) => string;
45
+ overflow: "hidden";
46
+ position: "relative";
47
+ transition: "background-color 0.15s ease-in-out";
48
+ cursor: "pointer";
49
+ '&:hover': {
50
+ backgroundColor: (theme: Theme) => string;
51
+ '& > div': {
52
+ filter: "brightness(1.2)";
53
+ };
54
+ };
55
+ };
56
+ barFill: {
57
+ height: string;
58
+ borderRadius: number;
59
+ transition: "width 0.3s ease-in-out, background-color 0.15s ease-in-out";
60
+ };
61
+ barFillMuted: {
62
+ backgroundColor: (theme: Theme) => string;
63
+ };
64
+ legend: {
65
+ display: "flex";
66
+ alignItems: "center";
67
+ gap: (theme: Theme) => string;
68
+ flexWrap: "wrap";
69
+ paddingTop: (theme: Theme) => string;
70
+ position: "sticky";
71
+ bottom: number;
72
+ backgroundColor: "background.paper";
73
+ borderTop: (theme: Theme) => string;
74
+ marginTop: (theme: Theme) => string;
75
+ };
76
+ legendItem: {
77
+ display: "flex";
78
+ alignItems: "center";
79
+ gap: (theme: Theme) => string;
80
+ };
81
+ legendDot: {
82
+ width: number;
83
+ height: number;
84
+ borderRadius: string;
85
+ };
86
+ legendLabel: {
87
+ typography: string;
88
+ color: "text.secondary";
89
+ textTransform: "uppercase";
90
+ fontWeight: string;
91
+ };
92
+ multiBarRow: {
93
+ display: "flex";
94
+ alignItems: "center";
95
+ gap: (theme: Theme) => string;
96
+ };
97
+ multiBarValue: {
98
+ typography: string;
99
+ color: "text.secondary";
100
+ minWidth: number;
101
+ textAlign: "right";
102
+ };
103
+ multiBarContainer: {
104
+ flex: number;
105
+ };
106
+ otherRow: {
107
+ display: "flex";
108
+ justifyContent: "space-between";
109
+ alignItems: "center";
110
+ };
111
+ otherLabel: {
112
+ typography: string;
113
+ fontWeight: string;
114
+ color: "text.secondary";
115
+ fontStyle: "italic";
116
+ };
117
+ otherCount: {
118
+ typography: string;
119
+ color: "text.disabled";
120
+ };
121
+ };
@@ -0,0 +1,33 @@
1
+ import { BaseWidgetState, WidgetsStoreProps } from '../stores/types';
2
+ import { WrapperState } from '../wrapper/types';
3
+ import { DownloadItem } from '../actions/download/types';
4
+ export interface CategoryUIProps {
5
+ id: WidgetsStoreProps['id'];
6
+ }
7
+ export interface CategorySeriesConfig {
8
+ name: string;
9
+ color?: string;
10
+ }
11
+ export interface CategoryLabels {
12
+ other?: string;
13
+ otherCount?: string;
14
+ }
15
+ export interface CategoryDataItem extends Record<string, string | number> {
16
+ name: string;
17
+ value: number;
18
+ }
19
+ export type CategoryWidgetData = CategoryDataItem[][];
20
+ export type CategoryWidgetState = BaseWidgetState<WrapperState<CategoryWidgetConfig> & {
21
+ data: CategoryWidgetData;
22
+ }>;
23
+ export interface CategoryWidgetConfig {
24
+ formatter?: (value: number) => string;
25
+ series?: CategorySeriesConfig[];
26
+ maxItems?: number;
27
+ labels?: CategoryLabels;
28
+ onRowClick?: ({ name }: {
29
+ name: string;
30
+ }) => void;
31
+ selected?: (name: string) => boolean;
32
+ }
33
+ export type CategoryDownloadConfig = DownloadItem<CategoryWidgetData>[];
@@ -1,2 +1,2 @@
1
1
  import { EchartUIProps } from './types';
2
- export declare function EchartUI({ ref, init, option, className, style, onEvents, }: EchartUIProps): import("react/jsx-runtime").JSX.Element;
2
+ export declare function EchartUI({ id, ref, init, option, className, style, onEvents, }: EchartUIProps): import("react/jsx-runtime").JSX.Element;
@@ -1,5 +1,5 @@
1
1
  export { Echart } from './echart';
2
2
  export { EchartUI } from './echart-ui';
3
- export type { EchartProps, EchartOptionsProps, EchartUIProps, EchartWidgetData, EchartWidgetState, EchartWidgetConfig, EchartWidgetProps, } from './types';
3
+ export type { EchartProps, EchartOptionsProps, EchartUIProps, EchartWidgetData, EchartWidgetState, } from './types';
4
4
  export { getCommonOptions } from './options';
5
- export { mergeWidgetConfig, getEChartBrushConfig, getEChartStackConfig, getEChartZoomConfig, } from './utils';
5
+ export { mergeEchartWidgetConfig, getEChartBrushConfig, getEChartStackConfig, getEChartZoomConfig, } from './utils';
@@ -1,3 +1,2 @@
1
- import { EchartOptionsProps } from './types';
2
- import { theme as CartoTheme } from '@carto/meridian-ds/theme';
3
- export declare function getCommonOptions(theme: typeof CartoTheme): EchartOptionsProps;
1
+ import { EchartOptionsProps, EchartWidgetOptionProps } from './types';
2
+ export declare function getCommonOptions({ theme, }: EchartWidgetOptionProps<unknown>): EchartOptionsProps;
@@ -1,14 +1,11 @@
1
1
  import { EChartsOption } from 'echarts';
2
2
  import { BaseWidgetState } from '../stores/types';
3
- import { WrapperState } from '../wrapper/types';
4
- import { DownloadState, FullScreenState } from '../actions';
5
- import { FullScreenConfigProps } from '../actions/fullscreen/types';
6
- import { DownloadConfigProps } from '../actions/download/types';
7
- import { ConfigProps } from '../config-loader';
8
3
  import { Ref } from 'react';
4
+ import { theme as CartoTheme } from '@carto/meridian-ds/theme';
9
5
  import type * as echarts from 'echarts';
10
6
  export type EchartOptionsProps = EChartsOption;
11
7
  export interface EchartUIProps {
8
+ id: string;
12
9
  option: EchartOptionsProps;
13
10
  className?: string;
14
11
  init?: echarts.EChartsInitOpts;
@@ -17,15 +14,19 @@ export interface EchartUIProps {
17
14
  onEvents?: Record<string, Parameters<echarts.ECharts['on']>[2]>;
18
15
  }
19
16
  export interface EchartProps {
20
- id: string;
17
+ id: EchartUIProps['id'];
21
18
  }
22
19
  export type EchartWidgetData = Record<string, string | number>[][];
23
- export type EchartWidgetState = BaseWidgetState<WrapperState<FullScreenState<DownloadState<EchartWidgetProps, EchartWidgetData> & {
20
+ export type EchartWidgetState = BaseWidgetState<{
24
21
  option: EchartUIProps['option'];
25
22
  onEvents?: EchartUIProps['onEvents'];
26
23
  init?: EchartUIProps['init'];
27
- }>>>;
28
- export type EchartWidgetConfig<D = EchartWidgetData> = FullScreenConfigProps & DownloadConfigProps<D> & EchartUIProps;
24
+ }>;
25
+ export interface EchartWidgetOptionProps<D> {
26
+ data?: D;
27
+ theme: typeof CartoTheme;
28
+ }
29
29
  export interface EchartWidgetProps {
30
- config?: ConfigProps<EchartWidgetConfig>['config'];
30
+ type: string;
31
+ option: EchartUIProps['option'];
31
32
  }
@@ -1,14 +1,16 @@
1
1
  import { EchartOptionsProps } from './types';
2
2
  import { Theme } from '@mui/material';
3
- export declare function mergeWidgetConfig<T extends EchartOptionsProps>(...options: [T, T]): T;
4
- export declare function getEChartZoomConfig(zoom: boolean, { start, end }: {
3
+ export declare function mergeEchartWidgetConfig<T extends EchartOptionsProps>(...options: [T | undefined, T | undefined]): T;
4
+ export declare function getEChartZoomConfig(zoom: boolean, { start, end }?: {
5
5
  start: number;
6
6
  end: number;
7
- } | undefined, { inside, xSlider, ySlider }: {
8
- inside?: boolean | undefined;
9
- xSlider?: boolean | undefined;
10
- ySlider?: boolean | undefined;
11
- } | undefined, theme: Theme): {
7
+ }, { inside, xSlider, ySlider, showSliders, xAxisLabelFormatter, }?: {
8
+ inside?: boolean;
9
+ xSlider?: boolean;
10
+ ySlider?: boolean;
11
+ showSliders?: boolean;
12
+ xAxisLabelFormatter?: (value: number) => string;
13
+ }, theme?: Theme): {
12
14
  dataZoom: ({
13
15
  throttle: number;
14
16
  type: string;
@@ -19,8 +21,6 @@ export declare function getEChartZoomConfig(zoom: boolean, { start, end }: {
19
21
  start: number;
20
22
  end: number;
21
23
  orientation?: undefined;
22
- bottom?: undefined;
23
- left?: undefined;
24
24
  } | {
25
25
  throttle: number;
26
26
  type: string;
@@ -31,24 +31,33 @@ export declare function getEChartZoomConfig(zoom: boolean, { start, end }: {
31
31
  orientation: string;
32
32
  xAxisIndex?: undefined;
33
33
  yAxisIndex?: undefined;
34
- bottom?: undefined;
35
- left?: undefined;
36
34
  } | {
35
+ brushSelect: boolean;
36
+ moveHandleSize: number;
37
+ handleSize: string;
38
+ handleIcon: string;
37
39
  throttle: number;
38
40
  type: string;
39
41
  xAxisIndex: number[];
40
42
  bottom: number;
43
+ height: number;
41
44
  show: boolean;
42
45
  zoomLock: boolean;
43
46
  start: number;
44
47
  end: number;
48
+ labelFormatter: ((value: number) => string) | undefined;
49
+ showDetail: boolean;
45
50
  yAxisIndex?: undefined;
46
51
  orientation?: undefined;
47
- left?: undefined;
48
52
  } | {
53
+ brushSelect: boolean;
54
+ moveHandleSize: number;
55
+ handleSize: string;
56
+ handleIcon: string;
49
57
  throttle: number;
50
58
  type: string;
51
59
  left: number;
60
+ width: number;
52
61
  yAxisIndex: number[];
53
62
  show: boolean;
54
63
  zoomLock: boolean;
@@ -56,7 +65,6 @@ export declare function getEChartZoomConfig(zoom: boolean, { start, end }: {
56
65
  end: number;
57
66
  xAxisIndex?: undefined;
58
67
  orientation?: undefined;
59
- bottom?: undefined;
60
68
  })[];
61
69
  };
62
70
  export declare function getEChartBrushConfig(brush: boolean): {
@@ -68,7 +76,5 @@ export declare function getEChartBrushConfig(brush: boolean): {
68
76
  brush?: undefined;
69
77
  };
70
78
  export declare function getEChartStackConfig(stack: boolean, stackGroup?: string): {
71
- stack: string;
72
- } | {
73
- stack?: undefined;
79
+ stack: string | undefined;
74
80
  };
@@ -1,2 +1,2 @@
1
1
  import { RowProps } from '../types';
2
- export declare function Row(props: RowProps): import("react/jsx-runtime").JSX.Element[] | null | undefined;
2
+ export declare function Row(props: RowProps): import("react/jsx-runtime").JSX.Element[] | undefined;
@@ -1,2 +1,4 @@
1
- import { FormulaConfig, FormulaWidgetConfig } from './types';
2
- export declare function formulaConfig({ refUI, data, ...props }: FormulaConfig): FormulaWidgetConfig;
1
+ import { ConfigProps } from '../root/types';
2
+ import { FormulaDownloadConfig, FormulaWidgetConfig } from './types';
3
+ export declare function formulaDownloadConfig({ refUI, }: ConfigProps): FormulaDownloadConfig;
4
+ export declare function formulaConfig(): FormulaWidgetConfig;
@@ -4,7 +4,8 @@ export { Prefix } from './components/prefix';
4
4
  export { Suffix } from './components/suffix';
5
5
  export { Series } from './components/series';
6
6
  export { Row } from './components/row';
7
+ export { formulaConfig, formulaDownloadConfig } from './config';
7
8
  export { FormulaUI } from './formula-ui';
8
9
  export { FormulaSkeleton } from './skeleton';
9
- export type { RowProps, ValueProps, FormulaWidgetState, ItemProps, DataItem, FormulaUIProps, SeriesConfig, } from './types';
10
10
  export { sanitizeDataItem, sanitizeDataItems } from './serializer';
11
+ export type { DataItem, FormulaDownloadConfig, FormulaUIProps, FormulaWidgetConfig, FormulaWidgetData, FormulaWidgetState, ItemProps, RowProps, SeriesConfig, ValueProps, } from './types';
@@ -1,15 +1,8 @@
1
1
  import { TypographyProps } from '@mui/material';
2
2
  import { ReactNode } from 'react';
3
3
  import { BaseWidgetState, WidgetsStoreProps } from '../stores/types';
4
- import { DownloadState } from '../actions';
5
- import { DownloadConfigProps } from '../actions/download/types';
6
4
  import { WrapperState } from '../wrapper/types';
7
- import { BaseWidgetProps } from '../widget/types';
8
- import { BaseConfig } from '../config-loader';
9
- export interface FormulaProps extends BaseWidgetProps<FormulaWidgetConfig> {
10
- type: 'formula';
11
- data: FormulaWidgetData | undefined;
12
- }
5
+ import { DownloadItem } from '../actions/download/types';
13
6
  export interface FormulaUIProps {
14
7
  id: WidgetsStoreProps['id'];
15
8
  }
@@ -39,16 +32,11 @@ export interface SeriesConfig {
39
32
  name: string;
40
33
  color?: string;
41
34
  }
42
- export type FormulaWidgetState = BaseWidgetState<WrapperState<DownloadState<FormulaProps & {
35
+ export type FormulaWidgetState = BaseWidgetState<WrapperState<FormulaWidgetConfig> & {
36
+ data: FormulaWidgetData;
37
+ }>;
38
+ export interface FormulaWidgetConfig {
43
39
  formatter?: (value: number) => string;
44
40
  series?: SeriesConfig[];
45
- }, FormulaWidgetData>>>;
46
- export type FormulaWidgetConfig = BaseConfig & DownloadConfigProps<FormulaWidgetData> & {
47
- type: FormulaProps['type'];
48
- formatter?: FormulaWidgetState['formatter'];
49
- series?: SeriesConfig[];
50
- };
51
- export interface FormulaConfig extends Omit<BaseConfig, 'data'> {
52
- data?: FormulaWidgetData;
53
- series?: SeriesConfig[];
54
41
  }
42
+ export type FormulaDownloadConfig = DownloadItem<FormulaWidgetData>[];
@@ -1,4 +1,5 @@
1
- import { HistogramConfig } from './types';
2
- export declare const histogramConfig: (config: HistogramConfig & {
3
- refUI?: import('react').Ref<HTMLElement | null>;
4
- }) => import('../_shared/chart-config/config-factory').ChartWidgetConfigResult<import('../echart').EchartWidgetData, HistogramConfig, "histogram">;
1
+ import { HistogramConfig, HistogramWidgetConfig, HistogramWidgetData } from './types';
2
+ import { DownloadItem } from '../actions';
3
+ import { ConfigProps } from '../root/types';
4
+ export declare function histogramDownloadConfig({ refUI, }: ConfigProps): DownloadItem<HistogramWidgetData>[];
5
+ export declare function histogramConfig(props: HistogramConfig): HistogramWidgetConfig;
@@ -1,3 +1,3 @@
1
- export type { HistogramProps, HistogramWidgetData, HistogramWidgetState, HistogramWidgetConfig, } from './types';
2
- export { histogramConfig } from './config';
1
+ export type { HistogramConfig, HistogramWidgetConfig, HistogramWidgetData, HistogramWidgetState, } from './types';
2
+ export { histogramConfig, histogramDownloadConfig } from './config';
3
3
  export { HistogramSkeleton } from './skeleton';
@@ -1,15 +1,9 @@
1
- import { BaseWidgetProps } from '../widget/types';
2
- import { BaseConfig } from '../config-loader';
3
- import { EchartWidgetConfig, EchartWidgetData, EchartWidgetState } from '../echart';
4
- export interface HistogramProps extends BaseWidgetProps<HistogramWidgetConfig> {
5
- type: 'histogram';
6
- data: HistogramWidgetData | undefined;
7
- }
1
+ import { EchartWidgetData, EchartWidgetState } from '../echart';
2
+ import { EchartWidgetOptionProps, EchartWidgetProps } from '../echart/types';
3
+ import { ConfigProps } from '../root';
8
4
  export type HistogramWidgetData = EchartWidgetData;
9
5
  export type HistogramWidgetState = EchartWidgetState;
10
- export type HistogramWidgetConfig = HistogramConfig & EchartWidgetConfig & {
11
- type: HistogramProps['type'];
6
+ export type HistogramWidgetConfig = EchartWidgetProps & {
7
+ type: 'histogram';
12
8
  };
13
- export interface HistogramConfig extends Omit<BaseConfig, 'data'> {
14
- data?: HistogramWidgetData;
15
- }
9
+ export type HistogramConfig = ConfigProps & EchartWidgetOptionProps<HistogramWidgetData>;
@@ -1,4 +1,2 @@
1
- export { useWidgetStore, useWidget } from './stores/widget-store';
2
- export type { BaseWidgetState, WidgetState, WidgetStoreState, WidgetStoreActions, WidgetStore, } from './stores/types';
3
- export { Widget } from './widget/widget';
4
- export type { WidgetProps, WidgetConfig, BaseWidgetProps, WidgetBaseComponentConfig, WidgetComponentConfig, } from './widget/types';
1
+ export { useWidgetStore } from './stores/widget-store';
2
+ export type { BaseWidgetState, WidgetsStoreProps, WidgetState, WidgetStore, WidgetStoreActions, WidgetStoreState, } from './stores/types';
@@ -1,2 +1,4 @@
1
- import { MarkdownConfig, MarkdownWidgetConfig } from './types';
2
- export declare function markdownConfig({ refUI, data, ...props }: MarkdownConfig): MarkdownWidgetConfig;
1
+ import { DownloadItem } from '../actions';
2
+ import { MarkdownWidgetConfig, MarkdownWidgetData } from './types';
3
+ export declare function markdownDownloadConfig(): DownloadItem<MarkdownWidgetData>[];
4
+ export declare function markdownConfig(): MarkdownWidgetConfig;
@@ -1,5 +1,5 @@
1
1
  export { Markdown } from './markdown';
2
2
  export { MarkdownUI } from './markdown-ui';
3
3
  export { MarkdownSkeleton } from './skeleton';
4
- export { markdownConfig } from './config';
5
- export type { MarkdownComponentProps, MarkdownProps, MarkdownUIProps, MarkdownWidgetData, MarkdownWidgetState, MarkdownWidgetConfig, MarkdownConfig, MarkdownDataItem, } from './types';
4
+ export { markdownConfig, markdownDownloadConfig } from './config';
5
+ export type { MarkdownComponentProps, MarkdownUIProps, MarkdownWidgetData, MarkdownWidgetState, MarkdownWidgetConfig, MarkdownDownloadConfig, MarkdownDataItem, } from './types';
@@ -1,2 +1,2 @@
1
1
  import { MarkdownComponentProps } from './types';
2
- export declare function MarkdownUI({ children }: MarkdownComponentProps): import("react/jsx-runtime").JSX.Element;
2
+ export declare function MarkdownUI({ children, overrides }: MarkdownComponentProps): import("react/jsx-runtime").JSX.Element;
@@ -1,16 +1,10 @@
1
1
  import { BaseWidgetState, WidgetsStoreProps } from '../stores/types';
2
- import { DownloadState } from '../actions';
3
- import { DownloadConfigProps } from '../actions/download/types';
4
2
  import { WrapperState } from '../wrapper/types';
5
- import { BaseWidgetProps } from '../widget/types';
6
- import { BaseConfig } from '../config-loader';
7
- import { FullScreenConfigProps } from '../actions/fullscreen/types';
3
+ import { DownloadItem } from '../actions/download/types';
4
+ import { Components } from 'react-markdown';
8
5
  export interface MarkdownComponentProps {
9
6
  children: string;
10
- }
11
- export interface MarkdownProps extends BaseWidgetProps<MarkdownWidgetConfig> {
12
- type: 'markdown';
13
- data: MarkdownWidgetData | undefined;
7
+ overrides?: Components;
14
8
  }
15
9
  export interface MarkdownUIProps {
16
10
  id: WidgetsStoreProps['id'];
@@ -19,10 +13,6 @@ export interface MarkdownDataItem {
19
13
  content: string;
20
14
  }
21
15
  export type MarkdownWidgetData = MarkdownDataItem;
22
- export type MarkdownWidgetState = BaseWidgetState<WrapperState<DownloadState<MarkdownProps, MarkdownWidgetData>>>;
23
- export type MarkdownWidgetConfig = BaseConfig & FullScreenConfigProps & DownloadConfigProps<MarkdownWidgetData> & {
24
- type: MarkdownProps['type'];
25
- };
26
- export interface MarkdownConfig extends Omit<BaseConfig, 'data'> {
27
- data?: MarkdownWidgetData;
28
- }
16
+ export type MarkdownWidgetState = BaseWidgetState<WrapperState<MarkdownWidgetConfig>>;
17
+ export type MarkdownWidgetConfig = unknown;
18
+ export type MarkdownDownloadConfig = DownloadItem<MarkdownWidgetData>[];
@@ -1,2 +1,2 @@
1
1
  import { NoteProps } from './types';
2
- export declare function Note({ id, labels }: NoteProps): import("react/jsx-runtime").JSX.Element | null;
2
+ export declare function Note({ children, labels }: NoteProps): import("react/jsx-runtime").JSX.Element | null;
@@ -2,8 +2,8 @@ import { Theme } from '@mui/material';
2
2
  export declare const styles: {
3
3
  root: {
4
4
  typography: string;
5
- marginBlockStart: ({ spacing }: Theme) => string;
6
5
  color: (theme: Theme) => string;
6
+ marginBlockStart: ({ spacing }: Theme) => string;
7
7
  };
8
8
  clamped: {
9
9
  display: "-webkit-box";
@@ -14,4 +14,15 @@ export declare const styles: {
14
14
  expanded: {
15
15
  display: "block";
16
16
  };
17
+ linkButton: {
18
+ padding: number;
19
+ minWidth: string;
20
+ textTransform: "none";
21
+ typography: string;
22
+ fontWeight: number;
23
+ textDecoration: string;
24
+ '&:hover': {
25
+ backgroundColor: "transparent";
26
+ };
27
+ };
17
28
  };
@@ -1,7 +1,8 @@
1
- import { WidgetState } from '../stores/types';
2
- export type NoteProps = Pick<WidgetState, 'id'> & {
1
+ import { MarkdownComponentProps } from '../markdown';
2
+ export interface NoteProps {
3
+ children: MarkdownComponentProps['children'];
3
4
  labels?: {
4
5
  showMore?: string;
5
6
  showLess?: string;
6
7
  };
7
- };
8
+ }
@@ -1,4 +1,5 @@
1
- import { PieConfig } from './types';
2
- export declare const pieConfig: (config: PieConfig & {
3
- refUI?: import('react').Ref<HTMLElement | null>;
4
- }) => import('../_shared/chart-config/config-factory').ChartWidgetConfigResult<import('../echart').EchartWidgetData, PieConfig, "pie">;
1
+ import { PieConfig, PieWidgetConfig, PieWidgetData } from './types';
2
+ import { DownloadItem } from '../actions';
3
+ import { ConfigProps } from '../root/types';
4
+ export declare function pieDownloadConfig({ refUI, }: ConfigProps): DownloadItem<PieWidgetData>[];
5
+ export declare function pieConfig(props: PieConfig): PieWidgetConfig;
@@ -1,3 +1,3 @@
1
- export type { PieProps, PieWidgetData, PieWidgetState, PieWidgetConfig, } from './types';
2
- export { pieConfig } from './config';
1
+ export type { PieWidgetData, PieWidgetState, PieWidgetConfig, PieConfig, } from './types';
2
+ export { pieConfig, pieDownloadConfig } from './config';
3
3
  export { PieSkeleton } from './skeleton';
@@ -1,15 +1,9 @@
1
- import { BaseWidgetProps } from '../widget/types';
2
- import { BaseConfig } from '../config-loader';
3
- import { EchartWidgetConfig, EchartWidgetData, EchartWidgetState } from '../echart';
4
- export interface PieProps extends BaseWidgetProps<PieWidgetConfig> {
5
- type: 'pie';
6
- data: PieWidgetData | undefined;
7
- }
1
+ import { EchartWidgetData, EchartWidgetState } from '../echart';
2
+ import { EchartWidgetOptionProps, EchartWidgetProps } from '../echart/types';
3
+ import { ConfigProps } from '../root';
8
4
  export type PieWidgetData = EchartWidgetData;
9
5
  export type PieWidgetState = EchartWidgetState;
10
- export type PieWidgetConfig = PieConfig & EchartWidgetConfig & {
11
- type: PieProps['type'];
6
+ export type PieWidgetConfig = EchartWidgetProps & {
7
+ type: 'pie';
12
8
  };
13
- export interface PieConfig extends Omit<BaseConfig, 'data'> {
14
- data?: PieWidgetData;
15
- }
9
+ export type PieConfig = ConfigProps & EchartWidgetOptionProps<PieWidgetData>;
@@ -1,2 +1,6 @@
1
- import { RangeConfig, RangeWidgetConfig } from './types';
2
- export declare function rangeConfig({ refUI, data, ...props }: RangeConfig): RangeWidgetConfig;
1
+ import { RangeWidgetConfig } from './types';
2
+ export interface RangeConfigProps {
3
+ formatter?: (value: number) => string;
4
+ onChange?: (value: number[], index: number) => void;
5
+ }
6
+ export declare function rangeConfig(): RangeWidgetConfig;
@@ -1,5 +1,6 @@
1
1
  export { RangeUI } from './range-ui';
2
2
  export { RangeSkeleton } from './skeleton';
3
+ export { rangeConfig } from './config';
3
4
  export { RangeItem } from './components/range-item';
4
- export type { RangeWidgetState, RangeUIProps, RangeDataItem, RangeWidgetData, RangeItemProps, } from './types';
5
+ export type { RangeWidgetState, RangeWidgetConfig, RangeDownloadConfig, RangeUIProps, RangeDataItem, RangeWidgetData, RangeItemProps, } from './types';
5
6
  export { sanitizeRangeDataItem, sanitizeRangeDataItems } from './serializer';
@@ -1,14 +1,7 @@
1
1
  import { ReactNode } from 'react';
2
2
  import { BaseWidgetState, WidgetsStoreProps } from '../stores/types';
3
- import { DownloadState } from '../actions';
4
- import { DownloadConfigProps } from '../actions/download/types';
5
3
  import { WrapperState } from '../wrapper/types';
6
- import { BaseWidgetProps } from '../widget/types';
7
- import { BaseConfig } from '../config-loader';
8
- export interface RangeProps extends BaseWidgetProps<RangeWidgetConfig> {
9
- type: 'range';
10
- data: RangeWidgetData | undefined;
11
- }
4
+ import { DownloadItem } from '../actions/download/types';
12
5
  export interface RangeUIProps {
13
6
  id: WidgetsStoreProps['id'];
14
7
  }
@@ -30,15 +23,11 @@ export interface RangeItemProps {
30
23
  index: number;
31
24
  }
32
25
  export type RangeWidgetData = RangeDataItem[];
33
- export type RangeWidgetState = BaseWidgetState<WrapperState<DownloadState<RangeProps & {
26
+ export type RangeWidgetState = BaseWidgetState<WrapperState<RangeWidgetConfig>> & {
27
+ data: RangeWidgetData;
28
+ };
29
+ export interface RangeWidgetConfig {
34
30
  formatter?: (value: number) => string;
35
31
  onChange?: (value: number[], index: number) => void;
36
- }, RangeWidgetData>>>;
37
- export type RangeWidgetConfig = BaseConfig & DownloadConfigProps<RangeWidgetData> & {
38
- type: RangeProps['type'];
39
- formatter?: RangeWidgetState['formatter'];
40
- onChange?: RangeWidgetState['onChange'];
41
- };
42
- export interface RangeConfig extends Omit<BaseConfig, 'data'> {
43
- data?: RangeWidgetData;
44
32
  }
33
+ export type RangeDownloadConfig = DownloadItem<RangeWidgetData>[];
@@ -1,2 +1,3 @@
1
1
  export { Root } from './root';
2
- export type { RootProps } from './types';
2
+ export { mergeWidgetConfig } from './utils';
3
+ export type { RootProps, ConfigProps } from './types';
@@ -1,2 +1,2 @@
1
1
  import { RootProps } from './types';
2
- export declare function Root(props: RootProps): import("react/jsx-runtime").JSX.Element;
2
+ export declare function Root<T>(props: RootProps<T>): import("react/jsx-runtime").JSX.Element;