@impulse-ui-native/charts 2.1.0 → 2.2.0

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 (186) hide show
  1. package/README.md +50 -6
  2. package/dist/components/bar-chart-body.d.mts +15 -0
  3. package/dist/components/bar-chart-body.js +50 -0
  4. package/dist/components/bar-chart-body.js.map +1 -0
  5. package/dist/components/bar-chart.d.mts +11 -0
  6. package/dist/components/bar-chart.js +21 -0
  7. package/dist/components/bar-chart.js.map +1 -0
  8. package/dist/components/chart-axes.d.mts +22 -0
  9. package/dist/components/chart-axes.js +64 -0
  10. package/dist/components/chart-axes.js.map +1 -0
  11. package/dist/components/index.d.mts +23 -0
  12. package/dist/components/index.js +12 -0
  13. package/dist/components/index.js.map +1 -0
  14. package/dist/components/line-chart-body.d.mts +14 -0
  15. package/dist/components/line-chart-body.js +86 -0
  16. package/dist/components/line-chart-body.js.map +1 -0
  17. package/dist/components/line-chart.d.mts +10 -0
  18. package/dist/components/line-chart.js +21 -0
  19. package/dist/components/line-chart.js.map +1 -0
  20. package/dist/components/multi-bar-chart-body.d.mts +16 -0
  21. package/dist/components/multi-bar-chart-body.js +72 -0
  22. package/dist/components/multi-bar-chart-body.js.map +1 -0
  23. package/dist/components/multi-bar-chart.d.mts +12 -0
  24. package/dist/components/multi-bar-chart.js +21 -0
  25. package/dist/components/multi-bar-chart.js.map +1 -0
  26. package/dist/components/multi-line-chart-body.d.mts +11 -0
  27. package/dist/components/multi-line-chart-body.js +95 -0
  28. package/dist/components/multi-line-chart-body.js.map +1 -0
  29. package/dist/components/multi-line-chart.d.mts +11 -0
  30. package/dist/components/multi-line-chart.js +21 -0
  31. package/dist/components/multi-line-chart.js.map +1 -0
  32. package/dist/components/primitives/bar.d.mts +12 -0
  33. package/dist/components/primitives/bar.js +44 -0
  34. package/dist/components/primitives/bar.js.map +1 -0
  35. package/dist/components/primitives/grid.d.mts +10 -0
  36. package/dist/components/primitives/grid.js +65 -0
  37. package/dist/components/primitives/grid.js.map +1 -0
  38. package/dist/components/primitives/index.d.mts +17 -0
  39. package/dist/components/primitives/index.js +15 -0
  40. package/dist/components/primitives/index.js.map +1 -0
  41. package/dist/components/primitives/label.d.mts +10 -0
  42. package/dist/components/primitives/label.js +94 -0
  43. package/dist/components/primitives/label.js.map +1 -0
  44. package/dist/components/primitives/line.d.mts +11 -0
  45. package/dist/components/primitives/line.js +50 -0
  46. package/dist/components/primitives/line.js.map +1 -0
  47. package/dist/components/primitives/x-axis.d.mts +11 -0
  48. package/dist/components/primitives/x-axis.js +93 -0
  49. package/dist/components/primitives/x-axis.js.map +1 -0
  50. package/dist/components/primitives/y-axis.d.mts +11 -0
  51. package/dist/components/primitives/y-axis.js +95 -0
  52. package/dist/components/primitives/y-axis.js.map +1 -0
  53. package/dist/constants/axis.constants.d.mts +6 -0
  54. package/dist/constants/axis.constants.js +11 -0
  55. package/dist/constants/axis.constants.js.map +1 -0
  56. package/dist/constants/bar-chart.constants.d.mts +4 -0
  57. package/dist/constants/bar-chart.constants.js +7 -0
  58. package/dist/constants/bar-chart.constants.js.map +1 -0
  59. package/dist/constants/bar.constants.d.mts +8 -0
  60. package/dist/constants/bar.constants.js +12 -0
  61. package/dist/constants/bar.constants.js.map +1 -0
  62. package/dist/constants/grid.constants.d.mts +6 -0
  63. package/dist/constants/grid.constants.js +11 -0
  64. package/dist/constants/grid.constants.js.map +1 -0
  65. package/dist/constants/index.d.mts +13 -0
  66. package/dist/constants/index.js +8 -0
  67. package/dist/constants/index.js.map +1 -0
  68. package/dist/constants/label.constants.d.mts +11 -0
  69. package/dist/constants/label.constants.js +12 -0
  70. package/dist/constants/label.constants.js.map +1 -0
  71. package/dist/constants/line-chart.constants.d.mts +8 -0
  72. package/dist/constants/line-chart.constants.js +7 -0
  73. package/dist/constants/line-chart.constants.js.map +1 -0
  74. package/dist/constants/line.constants.d.mts +15 -0
  75. package/dist/constants/line.constants.js +18 -0
  76. package/dist/constants/line.constants.js.map +1 -0
  77. package/dist/contexts/index.d.mts +2 -0
  78. package/dist/contexts/index.js +1 -0
  79. package/dist/contexts/index.js.map +1 -0
  80. package/dist/hooks/index.d.mts +19 -0
  81. package/dist/hooks/index.js +15 -0
  82. package/dist/hooks/index.js.map +1 -0
  83. package/dist/hooks/use-bar-chart.hook.d.mts +11 -0
  84. package/dist/hooks/use-bar-chart.hook.js +13 -0
  85. package/dist/hooks/use-bar-chart.hook.js.map +1 -0
  86. package/dist/hooks/use-chart-canvas.hook.d.mts +9 -0
  87. package/dist/hooks/use-chart-canvas.hook.js +10 -0
  88. package/dist/hooks/use-chart-canvas.hook.js.map +1 -0
  89. package/dist/hooks/use-chart-layout.hook.d.mts +7 -0
  90. package/dist/hooks/use-chart-layout.hook.js +9 -0
  91. package/dist/hooks/use-chart-layout.hook.js.map +1 -0
  92. package/dist/hooks/use-line-chart.hook.d.mts +10 -0
  93. package/dist/hooks/use-line-chart.hook.js +13 -0
  94. package/dist/hooks/use-line-chart.hook.js.map +1 -0
  95. package/dist/hooks/use-multi-bar-chart.hook.d.mts +13 -0
  96. package/dist/hooks/use-multi-bar-chart.hook.js +20 -0
  97. package/dist/hooks/use-multi-bar-chart.hook.js.map +1 -0
  98. package/dist/hooks/use-multi-line-chart.hook.d.mts +12 -0
  99. package/dist/hooks/use-multi-line-chart.hook.js +44 -0
  100. package/dist/hooks/use-multi-line-chart.hook.js.map +1 -0
  101. package/dist/index.d.mts +51 -321
  102. package/dist/index.js +6 -1083
  103. package/dist/index.js.map +1 -1
  104. package/dist/line-chart.types-yxru5uWc.d.mts +62 -0
  105. package/dist/types/axis.types.d.mts +49 -0
  106. package/dist/types/axis.types.js +1 -0
  107. package/dist/types/axis.types.js.map +1 -0
  108. package/dist/types/bar-chart.types.d.mts +38 -0
  109. package/dist/types/bar-chart.types.js +1 -0
  110. package/dist/types/bar-chart.types.js.map +1 -0
  111. package/dist/types/bar.types.d.mts +12 -0
  112. package/dist/types/bar.types.js +1 -0
  113. package/dist/types/bar.types.js.map +1 -0
  114. package/dist/types/common.types.d.mts +57 -0
  115. package/dist/types/common.types.js +1 -0
  116. package/dist/types/common.types.js.map +1 -0
  117. package/dist/types/grid.types.d.mts +5 -0
  118. package/dist/types/grid.types.js +1 -0
  119. package/dist/types/grid.types.js.map +1 -0
  120. package/dist/types/index.d.mts +16 -0
  121. package/dist/types/index.js +16 -0
  122. package/dist/types/index.js.map +1 -0
  123. package/dist/types/label.types.d.mts +24 -0
  124. package/dist/types/label.types.js +1 -0
  125. package/dist/types/label.types.js.map +1 -0
  126. package/dist/types/line-chart.types.d.mts +5 -0
  127. package/dist/types/line-chart.types.js +1 -0
  128. package/dist/types/line-chart.types.js.map +1 -0
  129. package/dist/types/line.types.d.mts +11 -0
  130. package/dist/types/line.types.js +1 -0
  131. package/dist/types/line.types.js.map +1 -0
  132. package/dist/types/multi-bar-chart.types.d.mts +21 -0
  133. package/dist/types/multi-bar-chart.types.js +1 -0
  134. package/dist/types/multi-bar-chart.types.js.map +1 -0
  135. package/dist/types/multi-line-chart.types.d.mts +23 -0
  136. package/dist/types/multi-line-chart.types.js +1 -0
  137. package/dist/types/multi-line-chart.types.js.map +1 -0
  138. package/dist/types/style.types.d.mts +19 -0
  139. package/dist/types/style.types.js +1 -0
  140. package/dist/types/style.types.js.map +1 -0
  141. package/dist/types/use-bar-chart.types.d.mts +26 -0
  142. package/dist/types/use-bar-chart.types.js +1 -0
  143. package/dist/types/use-bar-chart.types.js.map +1 -0
  144. package/dist/types/use-line-chart.types.d.mts +29 -0
  145. package/dist/types/use-line-chart.types.js +1 -0
  146. package/dist/types/use-line-chart.types.js.map +1 -0
  147. package/dist/types/use-multi-bar-chart.types.d.mts +17 -0
  148. package/dist/types/use-multi-bar-chart.types.js +1 -0
  149. package/dist/types/use-multi-bar-chart.types.js.map +1 -0
  150. package/dist/types/use-multi-line-chart.types.d.mts +16 -0
  151. package/dist/types/use-multi-line-chart.types.js +1 -0
  152. package/dist/types/use-multi-line-chart.types.js.map +1 -0
  153. package/dist/utils/axis.util.d.mts +15 -0
  154. package/dist/utils/axis.util.js +82 -0
  155. package/dist/utils/axis.util.js.map +1 -0
  156. package/dist/utils/bar-chart.util.d.mts +25 -0
  157. package/dist/utils/bar-chart.util.js +145 -0
  158. package/dist/utils/bar-chart.util.js.map +1 -0
  159. package/dist/utils/chart-layout.util.d.mts +8 -0
  160. package/dist/utils/chart-layout.util.js +55 -0
  161. package/dist/utils/chart-layout.util.js.map +1 -0
  162. package/dist/utils/grid.util.d.mts +11 -0
  163. package/dist/utils/grid.util.js +56 -0
  164. package/dist/utils/grid.util.js.map +1 -0
  165. package/dist/utils/index.d.mts +23 -0
  166. package/dist/utils/index.js +56 -0
  167. package/dist/utils/index.js.map +1 -0
  168. package/dist/utils/label.util.d.mts +10 -0
  169. package/dist/utils/label.util.js +24 -0
  170. package/dist/utils/label.util.js.map +1 -0
  171. package/dist/utils/line-chart.util.d.mts +11 -0
  172. package/dist/utils/line-chart.util.js +133 -0
  173. package/dist/utils/line-chart.util.js.map +1 -0
  174. package/dist/utils/line.util.d.mts +10 -0
  175. package/dist/utils/line.util.js +36 -0
  176. package/dist/utils/line.util.js.map +1 -0
  177. package/dist/utils/multi-bar-chart.util.d.mts +14 -0
  178. package/dist/utils/multi-bar-chart.util.js +62 -0
  179. package/dist/utils/multi-bar-chart.util.js.map +1 -0
  180. package/dist/utils/multi-line-chart.util.d.mts +10 -0
  181. package/dist/utils/multi-line-chart.util.js +23 -0
  182. package/dist/utils/multi-line-chart.util.js.map +1 -0
  183. package/dist/utils/paragraph-builder.util.d.mts +10 -0
  184. package/dist/utils/paragraph-builder.util.js +16 -0
  185. package/dist/utils/paragraph-builder.util.js.map +1 -0
  186. package/package.json +6 -5
@@ -0,0 +1,95 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { Fragment, useMemo } from "react";
3
+ import {
4
+ DashPathEffect,
5
+ Group,
6
+ Line as SkiaLine
7
+ } from "@shopify/react-native-skia";
8
+ import { memo } from "@impulse-ui-native/core";
9
+ import {
10
+ AxisDefaultLabelGap,
11
+ AxisDefaultOpacity,
12
+ AxisDefaultTickLength,
13
+ AxisDefaultWidth
14
+ } from "../../constants";
15
+ import { createYAxisLayout, formatAxisTick } from "../../utils";
16
+ import { Label } from "./label";
17
+ const YAxis = memo(function YAxis2(props) {
18
+ const {
19
+ fontManager,
20
+ lineVisible = true,
21
+ options,
22
+ plot,
23
+ region,
24
+ scale,
25
+ theme,
26
+ ticks,
27
+ tickVisible = true
28
+ } = props;
29
+ const line = options?.line;
30
+ const tick = options?.tick;
31
+ const label = options?.label;
32
+ const tickLength = tick?.length ?? AxisDefaultTickLength;
33
+ const labelGap = label?.gap ?? AxisDefaultLabelGap;
34
+ const fontSize = label?.fontSize ?? theme.fontSize.xs;
35
+ const layout = useMemo(
36
+ () => createYAxisLayout({
37
+ values: ticks,
38
+ scale,
39
+ plot,
40
+ region,
41
+ tickLength,
42
+ labelGap,
43
+ fontSize
44
+ }),
45
+ [fontSize, labelGap, plot, region, scale, tickLength, ticks]
46
+ );
47
+ return /* @__PURE__ */ jsxs(Group, { children: [
48
+ lineVisible && line?.visible !== false ? /* @__PURE__ */ jsx(
49
+ SkiaLine,
50
+ {
51
+ p1: layout.line.start,
52
+ p2: layout.line.end,
53
+ color: line?.color ?? theme.colors.border.default.value,
54
+ opacity: line?.opacity ?? AxisDefaultOpacity,
55
+ strokeWidth: line?.width ?? AxisDefaultWidth,
56
+ children: line?.dash?.length ? /* @__PURE__ */ jsx(DashPathEffect, { intervals: [...line.dash] }) : null
57
+ }
58
+ ) : null,
59
+ layout.ticks.map((tick2, index) => /* @__PURE__ */ jsxs(Fragment, { children: [
60
+ tickVisible && options?.tick?.visible !== false ? /* @__PURE__ */ jsx(
61
+ SkiaLine,
62
+ {
63
+ p1: tick2.start,
64
+ p2: tick2.end,
65
+ color: options?.tick?.color ?? theme.colors.border.default.value,
66
+ opacity: options?.tick?.opacity ?? AxisDefaultOpacity,
67
+ strokeWidth: options?.tick?.width ?? AxisDefaultWidth,
68
+ children: options?.tick?.dash?.length ? /* @__PURE__ */ jsx(DashPathEffect, { intervals: [...options.tick.dash] }) : null
69
+ }
70
+ ) : null,
71
+ label?.visible !== false ? /* @__PURE__ */ jsx(
72
+ Label,
73
+ {
74
+ text: formatAxisTick(tick2.value, options?.format),
75
+ rect: tick2.labelRect,
76
+ horizontalAlign: "right",
77
+ verticalAlign: "center",
78
+ color: label?.color,
79
+ fontSize,
80
+ fontFamily: label?.fontFamily,
81
+ fontWeight: label?.fontWeight,
82
+ fontManager,
83
+ maxLines: label?.maxLines,
84
+ rotation: label?.rotation,
85
+ theme,
86
+ tnum: true
87
+ }
88
+ ) : null
89
+ ] }, `${tick2.value}-${index}`))
90
+ ] });
91
+ });
92
+ export {
93
+ YAxis
94
+ };
95
+ //# sourceMappingURL=y-axis.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/primitives/y-axis.tsx"],"sourcesContent":["import { Fragment, useMemo } from \"react\";\nimport {\n DashPathEffect,\n Group,\n Line as SkiaLine,\n} from \"@shopify/react-native-skia\";\n\nimport { memo } from \"@impulse-ui-native/core\";\n\nimport {\n AxisDefaultLabelGap,\n AxisDefaultOpacity,\n AxisDefaultTickLength,\n AxisDefaultWidth,\n} from \"../../constants\";\nimport { YAxisProps } from \"../../types\";\nimport { createYAxisLayout, formatAxisTick } from \"../../utils\";\nimport { Label } from \"./label\";\n\nexport const YAxis = memo(function YAxis(props: YAxisProps) {\n const {\n fontManager,\n lineVisible = true,\n options,\n plot,\n region,\n scale,\n theme,\n ticks,\n tickVisible = true,\n } = props;\n\n const line = options?.line;\n const tick = options?.tick;\n const label = options?.label;\n const tickLength = tick?.length ?? AxisDefaultTickLength;\n const labelGap = label?.gap ?? AxisDefaultLabelGap;\n const fontSize = label?.fontSize ?? theme.fontSize.xs;\n\n const layout = useMemo(\n () =>\n createYAxisLayout({\n values: ticks,\n scale,\n plot,\n region,\n tickLength,\n labelGap,\n fontSize,\n }),\n [fontSize, labelGap, plot, region, scale, tickLength, ticks],\n );\n\n return (\n <Group>\n {lineVisible && line?.visible !== false ? (\n <SkiaLine\n p1={layout.line.start}\n p2={layout.line.end}\n color={line?.color ?? theme.colors.border.default.value}\n opacity={line?.opacity ?? AxisDefaultOpacity}\n strokeWidth={line?.width ?? AxisDefaultWidth}\n >\n {line?.dash?.length ? (\n <DashPathEffect intervals={[...line.dash]} />\n ) : null}\n </SkiaLine>\n ) : null}\n\n {layout.ticks.map((tick, index) => (\n <Fragment key={`${tick.value}-${index}`}>\n {tickVisible && options?.tick?.visible !== false ? (\n <SkiaLine\n p1={tick.start}\n p2={tick.end}\n color={options?.tick?.color ?? theme.colors.border.default.value}\n opacity={options?.tick?.opacity ?? AxisDefaultOpacity}\n strokeWidth={options?.tick?.width ?? AxisDefaultWidth}\n >\n {options?.tick?.dash?.length ? (\n <DashPathEffect intervals={[...options.tick.dash]} />\n ) : null}\n </SkiaLine>\n ) : null}\n {label?.visible !== false ? (\n <Label\n text={formatAxisTick(tick.value, options?.format)}\n rect={tick.labelRect}\n horizontalAlign=\"right\"\n verticalAlign=\"center\"\n color={label?.color}\n fontSize={fontSize}\n fontFamily={label?.fontFamily}\n fontWeight={label?.fontWeight}\n fontManager={fontManager}\n maxLines={label?.maxLines}\n rotation={label?.rotation}\n theme={theme}\n tnum\n />\n ) : null}\n </Fragment>\n ))}\n </Group>\n );\n});\n"],"mappings":"AAgEY,cAMJ,YANI;AAhEZ,SAAS,UAAU,eAAe;AAClC;AAAA,EACE;AAAA,EACA;AAAA,EACA,QAAQ;AAAA,OACH;AAEP,SAAS,YAAY;AAErB;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAEP,SAAS,mBAAmB,sBAAsB;AAClD,SAAS,aAAa;AAEf,MAAM,QAAQ,KAAK,SAASA,OAAM,OAAmB;AAC1D,QAAM;AAAA,IACJ;AAAA,IACA,cAAc;AAAA,IACd;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,cAAc;AAAA,EAChB,IAAI;AAEJ,QAAM,OAAO,SAAS;AACtB,QAAM,OAAO,SAAS;AACtB,QAAM,QAAQ,SAAS;AACvB,QAAM,aAAa,MAAM,UAAU;AACnC,QAAM,WAAW,OAAO,OAAO;AAC/B,QAAM,WAAW,OAAO,YAAY,MAAM,SAAS;AAEnD,QAAM,SAAS;AAAA,IACb,MACE,kBAAkB;AAAA,MAChB,QAAQ;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,IACH,CAAC,UAAU,UAAU,MAAM,QAAQ,OAAO,YAAY,KAAK;AAAA,EAC7D;AAEA,SACE,qBAAC,SACE;AAAA,mBAAe,MAAM,YAAY,QAChC;AAAA,MAAC;AAAA;AAAA,QACC,IAAI,OAAO,KAAK;AAAA,QAChB,IAAI,OAAO,KAAK;AAAA,QAChB,OAAO,MAAM,SAAS,MAAM,OAAO,OAAO,QAAQ;AAAA,QAClD,SAAS,MAAM,WAAW;AAAA,QAC1B,aAAa,MAAM,SAAS;AAAA,QAE3B,gBAAM,MAAM,SACX,oBAAC,kBAAe,WAAW,CAAC,GAAG,KAAK,IAAI,GAAG,IACzC;AAAA;AAAA,IACN,IACE;AAAA,IAEH,OAAO,MAAM,IAAI,CAACC,OAAM,UACvB,qBAAC,YACE;AAAA,qBAAe,SAAS,MAAM,YAAY,QACzC;AAAA,QAAC;AAAA;AAAA,UACC,IAAIA,MAAK;AAAA,UACT,IAAIA,MAAK;AAAA,UACT,OAAO,SAAS,MAAM,SAAS,MAAM,OAAO,OAAO,QAAQ;AAAA,UAC3D,SAAS,SAAS,MAAM,WAAW;AAAA,UACnC,aAAa,SAAS,MAAM,SAAS;AAAA,UAEpC,mBAAS,MAAM,MAAM,SACpB,oBAAC,kBAAe,WAAW,CAAC,GAAG,QAAQ,KAAK,IAAI,GAAG,IACjD;AAAA;AAAA,MACN,IACE;AAAA,MACH,OAAO,YAAY,QAClB;AAAA,QAAC;AAAA;AAAA,UACC,MAAM,eAAeA,MAAK,OAAO,SAAS,MAAM;AAAA,UAChD,MAAMA,MAAK;AAAA,UACX,iBAAgB;AAAA,UAChB,eAAc;AAAA,UACd,OAAO,OAAO;AAAA,UACd;AAAA,UACA,YAAY,OAAO;AAAA,UACnB,YAAY,OAAO;AAAA,UACnB;AAAA,UACA,UAAU,OAAO;AAAA,UACjB,UAAU,OAAO;AAAA,UACjB;AAAA,UACA,MAAI;AAAA;AAAA,MACN,IACE;AAAA,SA9BS,GAAGA,MAAK,KAAK,IAAI,KAAK,EA+BrC,CACD;AAAA,KACH;AAEJ,CAAC;","names":["YAxis","tick"]}
@@ -0,0 +1,6 @@
1
+ declare const AxisDefaultWidth = 1;
2
+ declare const AxisDefaultOpacity = 1;
3
+ declare const AxisDefaultTickLength = 4;
4
+ declare const AxisDefaultLabelGap = 4;
5
+
6
+ export { AxisDefaultLabelGap, AxisDefaultOpacity, AxisDefaultTickLength, AxisDefaultWidth };
@@ -0,0 +1,11 @@
1
+ const AxisDefaultWidth = 1;
2
+ const AxisDefaultOpacity = 1;
3
+ const AxisDefaultTickLength = 4;
4
+ const AxisDefaultLabelGap = 4;
5
+ export {
6
+ AxisDefaultLabelGap,
7
+ AxisDefaultOpacity,
8
+ AxisDefaultTickLength,
9
+ AxisDefaultWidth
10
+ };
11
+ //# sourceMappingURL=axis.constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/constants/axis.constants.ts"],"sourcesContent":["export const AxisDefaultWidth = 1;\nexport const AxisDefaultOpacity = 1;\nexport const AxisDefaultTickLength = 4;\nexport const AxisDefaultLabelGap = 4;\n"],"mappings":"AAAO,MAAM,mBAAmB;AACzB,MAAM,qBAAqB;AAC3B,MAAM,wBAAwB;AAC9B,MAAM,sBAAsB;","names":[]}
@@ -0,0 +1,4 @@
1
+ declare const BarChartDefaultCategoryPadding = 0.2;
2
+ declare const MultiBarChartDefaultSeriesPadding = 0.1;
3
+
4
+ export { BarChartDefaultCategoryPadding, MultiBarChartDefaultSeriesPadding };
@@ -0,0 +1,7 @@
1
+ const BarChartDefaultCategoryPadding = 0.2;
2
+ const MultiBarChartDefaultSeriesPadding = 0.1;
3
+ export {
4
+ BarChartDefaultCategoryPadding,
5
+ MultiBarChartDefaultSeriesPadding
6
+ };
7
+ //# sourceMappingURL=bar-chart.constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/constants/bar-chart.constants.ts"],"sourcesContent":["export const BarChartDefaultCategoryPadding = 0.2;\nexport const MultiBarChartDefaultSeriesPadding = 0.1;\n"],"mappings":"AAAO,MAAM,iCAAiC;AACvC,MAAM,oCAAoC;","names":[]}
@@ -0,0 +1,8 @@
1
+ import * as _impulse_ui_native_theme from '@impulse-ui-native/theme';
2
+
3
+ declare const BarDefaultColor: string;
4
+ declare const BarDefaultColors: _impulse_ui_native_theme.ChartColorPalette;
5
+ declare const BarDefaultOpacity = 1;
6
+ declare const BarDefaultRadius = 0;
7
+
8
+ export { BarDefaultColor, BarDefaultColors, BarDefaultOpacity, BarDefaultRadius };
@@ -0,0 +1,12 @@
1
+ import { ChartColorTokens } from "@impulse-ui-native/theme";
2
+ const BarDefaultColor = ChartColorTokens[0];
3
+ const BarDefaultColors = ChartColorTokens;
4
+ const BarDefaultOpacity = 1;
5
+ const BarDefaultRadius = 0;
6
+ export {
7
+ BarDefaultColor,
8
+ BarDefaultColors,
9
+ BarDefaultOpacity,
10
+ BarDefaultRadius
11
+ };
12
+ //# sourceMappingURL=bar.constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/constants/bar.constants.ts"],"sourcesContent":["import { ChartColorTokens } from \"@impulse-ui-native/theme\";\n\nexport const BarDefaultColor = ChartColorTokens[0];\nexport const BarDefaultColors = ChartColorTokens;\nexport const BarDefaultOpacity = 1;\nexport const BarDefaultRadius = 0;\n"],"mappings":"AAAA,SAAS,wBAAwB;AAE1B,MAAM,kBAAkB,iBAAiB,CAAC;AAC1C,MAAM,mBAAmB;AACzB,MAAM,oBAAoB;AAC1B,MAAM,mBAAmB;","names":[]}
@@ -0,0 +1,6 @@
1
+ declare const GridDefaultWidth = 1;
2
+ declare const GridDefaultOpacity = 1;
3
+ declare const GridDefaultXVisible = true;
4
+ declare const GridDefaultYVisible = true;
5
+
6
+ export { GridDefaultOpacity, GridDefaultWidth, GridDefaultXVisible, GridDefaultYVisible };
@@ -0,0 +1,11 @@
1
+ const GridDefaultWidth = 1;
2
+ const GridDefaultOpacity = 1;
3
+ const GridDefaultXVisible = true;
4
+ const GridDefaultYVisible = true;
5
+ export {
6
+ GridDefaultOpacity,
7
+ GridDefaultWidth,
8
+ GridDefaultXVisible,
9
+ GridDefaultYVisible
10
+ };
11
+ //# sourceMappingURL=grid.constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/constants/grid.constants.ts"],"sourcesContent":["export const GridDefaultWidth = 1;\nexport const GridDefaultOpacity = 1;\nexport const GridDefaultXVisible = true;\nexport const GridDefaultYVisible = true;\n"],"mappings":"AAAO,MAAM,mBAAmB;AACzB,MAAM,qBAAqB;AAC3B,MAAM,sBAAsB;AAC5B,MAAM,sBAAsB;","names":[]}
@@ -0,0 +1,13 @@
1
+ export { AxisDefaultLabelGap, AxisDefaultOpacity, AxisDefaultTickLength, AxisDefaultWidth } from './axis.constants.mjs';
2
+ export { BarDefaultColor, BarDefaultColors, BarDefaultOpacity, BarDefaultRadius } from './bar.constants.mjs';
3
+ export { BarChartDefaultCategoryPadding, MultiBarChartDefaultSeriesPadding } from './bar-chart.constants.mjs';
4
+ export { GridDefaultOpacity, GridDefaultWidth, GridDefaultXVisible, GridDefaultYVisible } from './grid.constants.mjs';
5
+ export { LabelDefaultHorizontalAlignment, LabelDefaultVerticalAlignment, TabularNumsFeature } from './label.constants.mjs';
6
+ export { LineDefaultCap, LineDefaultColor, LineDefaultColors, LineDefaultCurve, LineDefaultJoin, LineDefaultOpacity, LineDefaultWidth } from './line.constants.mjs';
7
+ export { LineChartDefaultNumericDomain, LineChartDefaultTickCount } from './line-chart.constants.mjs';
8
+ import '@impulse-ui-native/theme';
9
+ import '@shopify/react-native-skia';
10
+ import '../types/label.types.mjs';
11
+ import '../types/common.types.mjs';
12
+ import '../types/style.types.mjs';
13
+ import '../line-chart.types-yxru5uWc.mjs';
@@ -0,0 +1,8 @@
1
+ export * from "./axis.constants";
2
+ export * from "./bar.constants";
3
+ export * from "./bar-chart.constants";
4
+ export * from "./grid.constants";
5
+ export * from "./label.constants";
6
+ export * from "./line.constants";
7
+ export * from "./line-chart.constants";
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/constants/index.ts"],"sourcesContent":["export * from \"./axis.constants\";\nexport * from \"./bar.constants\";\nexport * from \"./bar-chart.constants\";\nexport * from \"./grid.constants\";\nexport * from \"./label.constants\";\nexport * from \"./line.constants\";\nexport * from \"./line-chart.constants\";\n"],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;","names":[]}
@@ -0,0 +1,11 @@
1
+ import { SkTextFontFeatures } from '@shopify/react-native-skia';
2
+ import { LabelHorizontalAlignment, LabelVerticalAlignment } from '../types/label.types.mjs';
3
+ import '@impulse-ui-native/theme';
4
+ import '../types/common.types.mjs';
5
+ import '../types/style.types.mjs';
6
+
7
+ declare const TabularNumsFeature: SkTextFontFeatures;
8
+ declare const LabelDefaultHorizontalAlignment: LabelHorizontalAlignment;
9
+ declare const LabelDefaultVerticalAlignment: LabelVerticalAlignment;
10
+
11
+ export { LabelDefaultHorizontalAlignment, LabelDefaultVerticalAlignment, TabularNumsFeature };
@@ -0,0 +1,12 @@
1
+ const TabularNumsFeature = {
2
+ name: "tnum",
3
+ value: 1
4
+ };
5
+ const LabelDefaultHorizontalAlignment = "left";
6
+ const LabelDefaultVerticalAlignment = "top";
7
+ export {
8
+ LabelDefaultHorizontalAlignment,
9
+ LabelDefaultVerticalAlignment,
10
+ TabularNumsFeature
11
+ };
12
+ //# sourceMappingURL=label.constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/constants/label.constants.ts"],"sourcesContent":["import { SkTextFontFeatures } from \"@shopify/react-native-skia\";\n\nimport { LabelHorizontalAlignment, LabelVerticalAlignment } from \"../types\";\n\nexport const TabularNumsFeature: SkTextFontFeatures = {\n name: \"tnum\",\n value: 1,\n};\n\nexport const LabelDefaultHorizontalAlignment: LabelHorizontalAlignment = \"left\";\nexport const LabelDefaultVerticalAlignment: LabelVerticalAlignment = \"top\";\n"],"mappings":"AAIO,MAAM,qBAAyC;AAAA,EACpD,MAAM;AAAA,EACN,OAAO;AACT;AAEO,MAAM,kCAA4D;AAClE,MAAM,gCAAwD;","names":[]}
@@ -0,0 +1,8 @@
1
+ import { ChartNumericDomain } from '../types/common.types.mjs';
2
+ import '../types/style.types.mjs';
3
+ import '@shopify/react-native-skia';
4
+
5
+ declare const LineChartDefaultTickCount = 5;
6
+ declare const LineChartDefaultNumericDomain: ChartNumericDomain;
7
+
8
+ export { LineChartDefaultNumericDomain, LineChartDefaultTickCount };
@@ -0,0 +1,7 @@
1
+ const LineChartDefaultTickCount = 5;
2
+ const LineChartDefaultNumericDomain = [0, 1];
3
+ export {
4
+ LineChartDefaultNumericDomain,
5
+ LineChartDefaultTickCount
6
+ };
7
+ //# sourceMappingURL=line-chart.constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/constants/line-chart.constants.ts"],"sourcesContent":["import { ChartNumericDomain } from \"../types\";\n\nexport const LineChartDefaultTickCount = 5;\n\nexport const LineChartDefaultNumericDomain: ChartNumericDomain = [0, 1];\n"],"mappings":"AAEO,MAAM,4BAA4B;AAElC,MAAM,gCAAoD,CAAC,GAAG,CAAC;","names":[]}
@@ -0,0 +1,15 @@
1
+ import * as _impulse_ui_native_theme from '@impulse-ui-native/theme';
2
+ import { ChartStrokeCap, ChartStrokeJoin } from '../types/style.types.mjs';
3
+ import { d as LineChartCurve } from '../line-chart.types-yxru5uWc.mjs';
4
+ import '@shopify/react-native-skia';
5
+ import '../types/common.types.mjs';
6
+
7
+ declare const LineDefaultColor: string;
8
+ declare const LineDefaultColors: _impulse_ui_native_theme.ChartColorPalette;
9
+ declare const LineDefaultWidth = 2;
10
+ declare const LineDefaultOpacity = 1;
11
+ declare const LineDefaultCurve: LineChartCurve;
12
+ declare const LineDefaultCap: ChartStrokeCap;
13
+ declare const LineDefaultJoin: ChartStrokeJoin;
14
+
15
+ export { LineDefaultCap, LineDefaultColor, LineDefaultColors, LineDefaultCurve, LineDefaultJoin, LineDefaultOpacity, LineDefaultWidth };
@@ -0,0 +1,18 @@
1
+ import { ChartColorTokens } from "@impulse-ui-native/theme";
2
+ const LineDefaultColor = ChartColorTokens[0];
3
+ const LineDefaultColors = ChartColorTokens;
4
+ const LineDefaultWidth = 2;
5
+ const LineDefaultOpacity = 1;
6
+ const LineDefaultCurve = "linear";
7
+ const LineDefaultCap = "round";
8
+ const LineDefaultJoin = "round";
9
+ export {
10
+ LineDefaultCap,
11
+ LineDefaultColor,
12
+ LineDefaultColors,
13
+ LineDefaultCurve,
14
+ LineDefaultJoin,
15
+ LineDefaultOpacity,
16
+ LineDefaultWidth
17
+ };
18
+ //# sourceMappingURL=line.constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/constants/line.constants.ts"],"sourcesContent":["import { ChartColorTokens } from \"@impulse-ui-native/theme\";\n\nimport { ChartStrokeCap, ChartStrokeJoin, LineChartCurve } from \"../types\";\n\nexport const LineDefaultColor = ChartColorTokens[0];\nexport const LineDefaultColors = ChartColorTokens;\nexport const LineDefaultWidth = 2;\nexport const LineDefaultOpacity = 1;\nexport const LineDefaultCurve: LineChartCurve = \"linear\";\nexport const LineDefaultCap: ChartStrokeCap = \"round\";\nexport const LineDefaultJoin: ChartStrokeJoin = \"round\";\n"],"mappings":"AAAA,SAAS,wBAAwB;AAI1B,MAAM,mBAAmB,iBAAiB,CAAC;AAC3C,MAAM,oBAAoB;AAC1B,MAAM,mBAAmB;AACzB,MAAM,qBAAqB;AAC3B,MAAM,mBAAmC;AACzC,MAAM,iBAAiC;AACvC,MAAM,kBAAmC;","names":[]}
@@ -0,0 +1,2 @@
1
+
2
+ export { }
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,19 @@
1
+ export { useChartCanvas } from './use-chart-canvas.hook.mjs';
2
+ export { useChartLayout } from './use-chart-layout.hook.mjs';
3
+ export { useBarChart } from './use-bar-chart.hook.mjs';
4
+ export { useLineChart } from './use-line-chart.hook.mjs';
5
+ export { useMultiBarChart } from './use-multi-bar-chart.hook.mjs';
6
+ export { useMultiLineChart } from './use-multi-line-chart.hook.mjs';
7
+ import 'react';
8
+ import '@shopify/react-native-skia';
9
+ import '../types/common.types.mjs';
10
+ import '../types/style.types.mjs';
11
+ import '../line-chart.types-yxru5uWc.mjs';
12
+ import '@impulse-ui-native/theme';
13
+ import '../types/use-bar-chart.types.mjs';
14
+ import '../types/bar-chart.types.mjs';
15
+ import '../types/use-line-chart.types.mjs';
16
+ import '../types/use-multi-bar-chart.types.mjs';
17
+ import '../types/multi-bar-chart.types.mjs';
18
+ import '../types/use-multi-line-chart.types.mjs';
19
+ import '../types/multi-line-chart.types.mjs';
@@ -0,0 +1,15 @@
1
+ import { useChartCanvas } from "./use-chart-canvas.hook";
2
+ import { useChartLayout } from "./use-chart-layout.hook";
3
+ import { useBarChart } from "./use-bar-chart.hook";
4
+ import { useLineChart } from "./use-line-chart.hook";
5
+ import { useMultiBarChart } from "./use-multi-bar-chart.hook";
6
+ import { useMultiLineChart } from "./use-multi-line-chart.hook";
7
+ export {
8
+ useBarChart,
9
+ useChartCanvas,
10
+ useChartLayout,
11
+ useLineChart,
12
+ useMultiBarChart,
13
+ useMultiLineChart
14
+ };
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/hooks/index.ts"],"sourcesContent":["export { useChartCanvas } from \"./use-chart-canvas.hook\";\nexport { useChartLayout } from \"./use-chart-layout.hook\";\nexport { useBarChart } from \"./use-bar-chart.hook\";\nexport { useLineChart } from \"./use-line-chart.hook\";\nexport { useMultiBarChart } from \"./use-multi-bar-chart.hook\";\nexport { useMultiLineChart } from \"./use-multi-line-chart.hook\";\n"],"mappings":"AAAA,SAAS,sBAAsB;AAC/B,SAAS,sBAAsB;AAC/B,SAAS,mBAAmB;AAC5B,SAAS,oBAAoB;AAC7B,SAAS,wBAAwB;AACjC,SAAS,yBAAyB;","names":[]}
@@ -0,0 +1,11 @@
1
+ import { b as ChartXValue } from '../line-chart.types-yxru5uWc.mjs';
2
+ import { UseBarChartProps, UseBarChartResult } from '../types/use-bar-chart.types.mjs';
3
+ import '@shopify/react-native-skia';
4
+ import '../types/common.types.mjs';
5
+ import '../types/style.types.mjs';
6
+ import '@impulse-ui-native/theme';
7
+ import '../types/bar-chart.types.mjs';
8
+
9
+ declare function useBarChart<X extends ChartXValue = string>(props: UseBarChartProps<X>): UseBarChartResult<X>;
10
+
11
+ export { useBarChart };
@@ -0,0 +1,13 @@
1
+ import { useMemo } from "react";
2
+ import { createBarChartModel } from "../utils";
3
+ function useBarChart(props) {
4
+ const { categoryPadding, data, plot, xAxis, yAxis } = props;
5
+ return useMemo(
6
+ () => createBarChartModel({ categoryPadding, data, plot, xAxis, yAxis }),
7
+ [categoryPadding, data, plot, xAxis, yAxis]
8
+ );
9
+ }
10
+ export {
11
+ useBarChart
12
+ };
13
+ //# sourceMappingURL=use-bar-chart.hook.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/hooks/use-bar-chart.hook.ts"],"sourcesContent":["import { useMemo } from \"react\";\n\nimport { ChartXValue, UseBarChartProps, UseBarChartResult } from \"../types\";\nimport { createBarChartModel } from \"../utils\";\n\nexport function useBarChart<X extends ChartXValue = string>(\n props: UseBarChartProps<X>,\n): UseBarChartResult<X> {\n const { categoryPadding, data, plot, xAxis, yAxis } = props;\n\n return useMemo(\n () => createBarChartModel({ categoryPadding, data, plot, xAxis, yAxis }),\n [categoryPadding, data, plot, xAxis, yAxis],\n );\n}\n"],"mappings":"AAAA,SAAS,eAAe;AAGxB,SAAS,2BAA2B;AAE7B,SAAS,YACd,OACsB;AACtB,QAAM,EAAE,iBAAiB,MAAM,MAAM,OAAO,MAAM,IAAI;AAEtD,SAAO;AAAA,IACL,MAAM,oBAAoB,EAAE,iBAAiB,MAAM,MAAM,OAAO,MAAM,CAAC;AAAA,IACvE,CAAC,iBAAiB,MAAM,MAAM,OAAO,KAAK;AAAA,EAC5C;AACF;","names":[]}
@@ -0,0 +1,9 @@
1
+ import * as react from 'react';
2
+ import * as _shopify_react_native_skia from '@shopify/react-native-skia';
3
+
4
+ declare function useChartCanvas(): {
5
+ ref: react.RefObject<_shopify_react_native_skia.CanvasRef | null>;
6
+ size: _shopify_react_native_skia.SkSize;
7
+ };
8
+
9
+ export { useChartCanvas };
@@ -0,0 +1,10 @@
1
+ import { useCanvasRef, useCanvasSize } from "@shopify/react-native-skia";
2
+ function useChartCanvas() {
3
+ const ref = useCanvasRef();
4
+ const { size } = useCanvasSize(ref);
5
+ return { ref, size };
6
+ }
7
+ export {
8
+ useChartCanvas
9
+ };
10
+ //# sourceMappingURL=use-chart-canvas.hook.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/hooks/use-chart-canvas.hook.ts"],"sourcesContent":["import { useCanvasRef, useCanvasSize } from \"@shopify/react-native-skia\";\n\nexport function useChartCanvas() {\n const ref = useCanvasRef();\n const { size } = useCanvasSize(ref);\n\n return { ref, size };\n}\n"],"mappings":"AAAA,SAAS,cAAc,qBAAqB;AAErC,SAAS,iBAAiB;AAC/B,QAAM,MAAM,aAAa;AACzB,QAAM,EAAE,KAAK,IAAI,cAAc,GAAG;AAElC,SAAO,EAAE,KAAK,KAAK;AACrB;","names":[]}
@@ -0,0 +1,7 @@
1
+ import { ChartSize, ChartInsets, ChartLayout } from '../types/common.types.mjs';
2
+ import '../types/style.types.mjs';
3
+ import '@shopify/react-native-skia';
4
+
5
+ declare function useChartLayout(size: ChartSize, insets?: Partial<ChartInsets>): ChartLayout;
6
+
7
+ export { useChartLayout };
@@ -0,0 +1,9 @@
1
+ import { useMemo } from "react";
2
+ import { createChartLayout } from "../utils/chart-layout.util";
3
+ function useChartLayout(size, insets) {
4
+ return useMemo(() => createChartLayout(size, insets), [insets, size]);
5
+ }
6
+ export {
7
+ useChartLayout
8
+ };
9
+ //# sourceMappingURL=use-chart-layout.hook.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/hooks/use-chart-layout.hook.ts"],"sourcesContent":["import { useMemo } from \"react\";\n\nimport { ChartInsets, ChartLayout, ChartSize } from \"../types\";\nimport { createChartLayout } from \"../utils/chart-layout.util\";\n\nexport function useChartLayout(\n size: ChartSize,\n insets?: Partial<ChartInsets>,\n): ChartLayout {\n return useMemo(() => createChartLayout(size, insets), [insets, size]);\n}\n"],"mappings":"AAAA,SAAS,eAAe;AAGxB,SAAS,yBAAyB;AAE3B,SAAS,eACd,MACA,QACa;AACb,SAAO,QAAQ,MAAM,kBAAkB,MAAM,MAAM,GAAG,CAAC,QAAQ,IAAI,CAAC;AACtE;","names":[]}
@@ -0,0 +1,10 @@
1
+ import { b as ChartXValue } from '../line-chart.types-yxru5uWc.mjs';
2
+ import { UseLineChartProps, UseLineChartResult } from '../types/use-line-chart.types.mjs';
3
+ import '@shopify/react-native-skia';
4
+ import '../types/common.types.mjs';
5
+ import '../types/style.types.mjs';
6
+ import '@impulse-ui-native/theme';
7
+
8
+ declare function useLineChart<X extends ChartXValue = number>(props: UseLineChartProps<X>): UseLineChartResult<X>;
9
+
10
+ export { useLineChart };
@@ -0,0 +1,13 @@
1
+ import { useMemo } from "react";
2
+ import { createLineChartModel } from "../utils";
3
+ function useLineChart(props) {
4
+ const { data, plot, xAxis, xScaleType, yAxis } = props;
5
+ return useMemo(
6
+ () => createLineChartModel({ data, plot, xAxis, xScaleType, yAxis }),
7
+ [data, plot, xAxis, xScaleType, yAxis]
8
+ );
9
+ }
10
+ export {
11
+ useLineChart
12
+ };
13
+ //# sourceMappingURL=use-line-chart.hook.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/hooks/use-line-chart.hook.ts"],"sourcesContent":["import { useMemo } from \"react\";\n\nimport { ChartXValue, UseLineChartProps, UseLineChartResult } from \"../types\";\nimport { createLineChartModel } from \"../utils\";\n\nexport function useLineChart<X extends ChartXValue = number>(\n props: UseLineChartProps<X>,\n): UseLineChartResult<X> {\n const { data, plot, xAxis, xScaleType, yAxis } = props;\n\n return useMemo(\n () => createLineChartModel({ data, plot, xAxis, xScaleType, yAxis }),\n [data, plot, xAxis, xScaleType, yAxis],\n );\n}\n"],"mappings":"AAAA,SAAS,eAAe;AAGxB,SAAS,4BAA4B;AAE9B,SAAS,aACd,OACuB;AACvB,QAAM,EAAE,MAAM,MAAM,OAAO,YAAY,MAAM,IAAI;AAEjD,SAAO;AAAA,IACL,MAAM,qBAAqB,EAAE,MAAM,MAAM,OAAO,YAAY,MAAM,CAAC;AAAA,IACnE,CAAC,MAAM,MAAM,OAAO,YAAY,KAAK;AAAA,EACvC;AACF;","names":[]}
@@ -0,0 +1,13 @@
1
+ import { b as ChartXValue } from '../line-chart.types-yxru5uWc.mjs';
2
+ import { UseMultiBarChartProps, UseMultiBarChartResult } from '../types/use-multi-bar-chart.types.mjs';
3
+ import '@shopify/react-native-skia';
4
+ import '../types/common.types.mjs';
5
+ import '../types/style.types.mjs';
6
+ import '@impulse-ui-native/theme';
7
+ import '../types/multi-bar-chart.types.mjs';
8
+ import '../types/bar-chart.types.mjs';
9
+ import '../types/use-bar-chart.types.mjs';
10
+
11
+ declare function useMultiBarChart<X extends ChartXValue = string>(props: UseMultiBarChartProps<X>): UseMultiBarChartResult<X>;
12
+
13
+ export { useMultiBarChart };
@@ -0,0 +1,20 @@
1
+ import { useMemo } from "react";
2
+ import { createMultiBarChartModel } from "../utils";
3
+ function useMultiBarChart(props) {
4
+ const { categoryPadding, plot, series, seriesPadding, xAxis, yAxis } = props;
5
+ return useMemo(
6
+ () => createMultiBarChartModel({
7
+ categoryPadding,
8
+ plot,
9
+ series,
10
+ seriesPadding,
11
+ xAxis,
12
+ yAxis
13
+ }),
14
+ [categoryPadding, plot, series, seriesPadding, xAxis, yAxis]
15
+ );
16
+ }
17
+ export {
18
+ useMultiBarChart
19
+ };
20
+ //# sourceMappingURL=use-multi-bar-chart.hook.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/hooks/use-multi-bar-chart.hook.ts"],"sourcesContent":["import { useMemo } from \"react\";\n\nimport {\n ChartXValue,\n UseMultiBarChartProps,\n UseMultiBarChartResult,\n} from \"../types\";\nimport { createMultiBarChartModel } from \"../utils\";\n\nexport function useMultiBarChart<X extends ChartXValue = string>(\n props: UseMultiBarChartProps<X>,\n): UseMultiBarChartResult<X> {\n const { categoryPadding, plot, series, seriesPadding, xAxis, yAxis } = props;\n\n return useMemo(\n () =>\n createMultiBarChartModel({\n categoryPadding,\n plot,\n series,\n seriesPadding,\n xAxis,\n yAxis,\n }),\n [categoryPadding, plot, series, seriesPadding, xAxis, yAxis],\n );\n}\n"],"mappings":"AAAA,SAAS,eAAe;AAOxB,SAAS,gCAAgC;AAElC,SAAS,iBACd,OAC2B;AAC3B,QAAM,EAAE,iBAAiB,MAAM,QAAQ,eAAe,OAAO,MAAM,IAAI;AAEvE,SAAO;AAAA,IACL,MACE,yBAAyB;AAAA,MACvB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,IACH,CAAC,iBAAiB,MAAM,QAAQ,eAAe,OAAO,KAAK;AAAA,EAC7D;AACF;","names":[]}
@@ -0,0 +1,12 @@
1
+ import { b as ChartXValue } from '../line-chart.types-yxru5uWc.mjs';
2
+ import { UseMultiLineChartProps, UseMultiLineChartResult } from '../types/use-multi-line-chart.types.mjs';
3
+ import '@shopify/react-native-skia';
4
+ import '../types/common.types.mjs';
5
+ import '../types/style.types.mjs';
6
+ import '@impulse-ui-native/theme';
7
+ import '../types/multi-line-chart.types.mjs';
8
+ import '../types/use-line-chart.types.mjs';
9
+
10
+ declare function useMultiLineChart<X extends ChartXValue = number>(props: UseMultiLineChartProps<X>): UseMultiLineChartResult<X>;
11
+
12
+ export { useMultiLineChart };
@@ -0,0 +1,44 @@
1
+ import { useMemo } from "react";
2
+ import { createLineChartCoordinates } from "../utils";
3
+ import { useLineChart } from "./use-line-chart.hook";
4
+ function useMultiLineChart(props) {
5
+ const { plot, series, xAxis, xScaleType, yAxis } = props;
6
+ const data = useMemo(
7
+ () => series.flatMap((currentSeries) => currentSeries.data),
8
+ [series]
9
+ );
10
+ const { xDomain, xScale, xTicks, yDomain, yScale, yTicks } = useLineChart({
11
+ data,
12
+ plot,
13
+ xAxis,
14
+ xScaleType,
15
+ yAxis
16
+ });
17
+ const seriesModels = useMemo(
18
+ () => series.map((currentSeries) => ({
19
+ ...currentSeries,
20
+ coordinates: createLineChartCoordinates(
21
+ currentSeries.data,
22
+ xScale,
23
+ yScale
24
+ )
25
+ })),
26
+ [series, xScale, yScale]
27
+ );
28
+ return useMemo(
29
+ () => ({
30
+ series: seriesModels,
31
+ xDomain,
32
+ xScale,
33
+ xTicks,
34
+ yDomain,
35
+ yScale,
36
+ yTicks
37
+ }),
38
+ [seriesModels, xDomain, xScale, xTicks, yDomain, yScale, yTicks]
39
+ );
40
+ }
41
+ export {
42
+ useMultiLineChart
43
+ };
44
+ //# sourceMappingURL=use-multi-line-chart.hook.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/hooks/use-multi-line-chart.hook.ts"],"sourcesContent":["import { useMemo } from \"react\";\n\nimport {\n ChartXValue,\n UseMultiLineChartProps,\n UseMultiLineChartResult,\n} from \"../types\";\nimport { createLineChartCoordinates } from \"../utils\";\nimport { useLineChart } from \"./use-line-chart.hook\";\n\nexport function useMultiLineChart<X extends ChartXValue = number>(\n props: UseMultiLineChartProps<X>,\n): UseMultiLineChartResult<X> {\n const { plot, series, xAxis, xScaleType, yAxis } = props;\n\n const data = useMemo(\n () => series.flatMap((currentSeries) => currentSeries.data),\n [series],\n );\n\n const { xDomain, xScale, xTicks, yDomain, yScale, yTicks } = useLineChart({\n data,\n plot,\n xAxis,\n xScaleType,\n yAxis,\n });\n\n const seriesModels = useMemo(\n () =>\n series.map((currentSeries) => ({\n ...currentSeries,\n coordinates: createLineChartCoordinates(\n currentSeries.data,\n xScale,\n yScale,\n ),\n })),\n [series, xScale, yScale],\n );\n\n return useMemo(\n () => ({\n series: seriesModels,\n xDomain,\n xScale,\n xTicks,\n yDomain,\n yScale,\n yTicks,\n }),\n [seriesModels, xDomain, xScale, xTicks, yDomain, yScale, yTicks],\n );\n}\n"],"mappings":"AAAA,SAAS,eAAe;AAOxB,SAAS,kCAAkC;AAC3C,SAAS,oBAAoB;AAEtB,SAAS,kBACd,OAC4B;AAC5B,QAAM,EAAE,MAAM,QAAQ,OAAO,YAAY,MAAM,IAAI;AAEnD,QAAM,OAAO;AAAA,IACX,MAAM,OAAO,QAAQ,CAAC,kBAAkB,cAAc,IAAI;AAAA,IAC1D,CAAC,MAAM;AAAA,EACT;AAEA,QAAM,EAAE,SAAS,QAAQ,QAAQ,SAAS,QAAQ,OAAO,IAAI,aAAa;AAAA,IACxE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AAED,QAAM,eAAe;AAAA,IACnB,MACE,OAAO,IAAI,CAAC,mBAAmB;AAAA,MAC7B,GAAG;AAAA,MACH,aAAa;AAAA,QACX,cAAc;AAAA,QACd;AAAA,QACA;AAAA,MACF;AAAA,IACF,EAAE;AAAA,IACJ,CAAC,QAAQ,QAAQ,MAAM;AAAA,EACzB;AAEA,SAAO;AAAA,IACL,OAAO;AAAA,MACL,QAAQ;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,CAAC,cAAc,SAAS,QAAQ,QAAQ,SAAS,QAAQ,MAAM;AAAA,EACjE;AACF;","names":[]}