@servicetitan/marketing-ui 5.8.1 → 5.10.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 (213) hide show
  1. package/dist/components/ads/ads-stat.js +21 -10
  2. package/dist/components/ads/ads-stat.js.map +1 -1
  3. package/dist/components/charts/funnel-chart/components/funnel-chart.js +118 -6
  4. package/dist/components/charts/funnel-chart/components/funnel-chart.js.map +1 -1
  5. package/dist/components/charts/funnel-chart/components/funnel-chart.module.less.d.ts +9 -0
  6. package/dist/components/charts/funnel-chart/components/funnel-svg.js +62 -12
  7. package/dist/components/charts/funnel-chart/components/funnel-svg.js.map +1 -1
  8. package/dist/components/charts/funnel-chart/funnel-chart.stories.d.ts +0 -1
  9. package/dist/components/charts/funnel-chart/funnel-chart.stories.d.ts.map +1 -1
  10. package/dist/components/charts/funnel-chart/index.js +1 -0
  11. package/dist/components/charts/funnel-chart/index.js.map +1 -1
  12. package/dist/components/charts/funnel-chart/utils/const.js +1 -0
  13. package/dist/components/charts/funnel-chart/utils/const.js.map +1 -1
  14. package/dist/components/charts/funnel-chart/utils/interface.js +2 -1
  15. package/dist/components/charts/funnel-chart/utils/interface.js.map +1 -1
  16. package/dist/components/charts/line-chart/components/body.js +105 -16
  17. package/dist/components/charts/line-chart/components/body.js.map +1 -1
  18. package/dist/components/charts/line-chart/components/body.module.less.d.ts +4 -0
  19. package/dist/components/charts/line-chart/components/container.js +12 -4
  20. package/dist/components/charts/line-chart/components/container.js.map +1 -1
  21. package/dist/components/charts/line-chart/components/hover-popover.js +56 -13
  22. package/dist/components/charts/line-chart/components/hover-popover.js.map +1 -1
  23. package/dist/components/charts/line-chart/components/hover-popover.module.less.d.ts +5 -0
  24. package/dist/components/charts/line-chart/components/sidebar.js +35 -5
  25. package/dist/components/charts/line-chart/components/sidebar.js.map +1 -1
  26. package/dist/components/charts/line-chart/components/sidebar.module.less.d.ts +13 -0
  27. package/dist/components/charts/line-chart/components/stuff.js +73 -32
  28. package/dist/components/charts/line-chart/components/stuff.js.map +1 -1
  29. package/dist/components/charts/line-chart/components/stuff.module.less.d.ts +6 -0
  30. package/dist/components/charts/line-chart/components/svg-bars.d.ts.map +1 -1
  31. package/dist/components/charts/line-chart/components/svg-bars.js +60 -26
  32. package/dist/components/charts/line-chart/components/svg-bars.js.map +1 -1
  33. package/dist/components/charts/line-chart/components/svg-body.js +52 -11
  34. package/dist/components/charts/line-chart/components/svg-body.js.map +1 -1
  35. package/dist/components/charts/line-chart/components/svg-lines.js +46 -27
  36. package/dist/components/charts/line-chart/components/svg-lines.js.map +1 -1
  37. package/dist/components/charts/line-chart/components/svg.module.less.d.ts +5 -0
  38. package/dist/components/charts/line-chart/index.js +1 -0
  39. package/dist/components/charts/line-chart/index.js.map +1 -1
  40. package/dist/components/charts/line-chart/stores/line-chart.store.d.ts.map +1 -1
  41. package/dist/components/charts/line-chart/stores/line-chart.store.js +98 -127
  42. package/dist/components/charts/line-chart/stores/line-chart.store.js.map +1 -1
  43. package/dist/components/charts/line-chart/stores/svg.store.d.ts.map +1 -1
  44. package/dist/components/charts/line-chart/stores/svg.store.js +66 -108
  45. package/dist/components/charts/line-chart/stores/svg.store.js.map +1 -1
  46. package/dist/components/charts/line-chart/utils/const.js +8 -7
  47. package/dist/components/charts/line-chart/utils/const.js.map +1 -1
  48. package/dist/components/charts/line-chart/utils/formatters.d.ts.map +1 -1
  49. package/dist/components/charts/line-chart/utils/formatters.js +13 -11
  50. package/dist/components/charts/line-chart/utils/formatters.js.map +1 -1
  51. package/dist/components/charts/line-chart/utils/interfaces.js +2 -1
  52. package/dist/components/charts/line-chart/utils/interfaces.js.map +1 -1
  53. package/dist/components/charts/line-chart/utils/internal-interfaces.js +2 -1
  54. package/dist/components/charts/line-chart/utils/internal-interfaces.js.map +1 -1
  55. package/dist/components/charts/line-chart/utils/key.d.ts.map +1 -1
  56. package/dist/components/charts/line-chart/utils/key.js +2 -1
  57. package/dist/components/charts/line-chart/utils/key.js.map +1 -1
  58. package/dist/components/charts/line-chart/utils/labels.d.ts.map +1 -1
  59. package/dist/components/charts/line-chart/utils/labels.js +50 -46
  60. package/dist/components/charts/line-chart/utils/labels.js.map +1 -1
  61. package/dist/components/charts/pie-chart/components/pie-chart.js +60 -6
  62. package/dist/components/charts/pie-chart/components/pie-chart.js.map +1 -1
  63. package/dist/components/charts/pie-chart/components/pie-chart.module.less.d.ts +3 -0
  64. package/dist/components/charts/pie-chart/components/pie.js +176 -39
  65. package/dist/components/charts/pie-chart/components/pie.js.map +1 -1
  66. package/dist/components/charts/pie-chart/index.js +2 -0
  67. package/dist/components/charts/pie-chart/index.js.map +1 -1
  68. package/dist/components/charts/pie-chart/pie-chart.stories.d.ts +0 -1
  69. package/dist/components/charts/pie-chart/pie-chart.stories.d.ts.map +1 -1
  70. package/dist/components/charts/pie-chart/utils/const.d.ts.map +1 -1
  71. package/dist/components/charts/pie-chart/utils/const.js +55 -39
  72. package/dist/components/charts/pie-chart/utils/const.js.map +1 -1
  73. package/dist/components/charts/pie-chart/utils/interface.js +2 -1
  74. package/dist/components/charts/pie-chart/utils/interface.js.map +1 -1
  75. package/dist/components/image-cropper/image-cropper.d.ts.map +1 -1
  76. package/dist/components/image-cropper/image-cropper.js +74 -88
  77. package/dist/components/image-cropper/image-cropper.js.map +1 -1
  78. package/dist/components/stat/stat-card.js +68 -22
  79. package/dist/components/stat/stat-card.js.map +1 -1
  80. package/dist/components/stat/stat-card.module.less.d.ts +5 -0
  81. package/dist/components/stat/stat-cards.stories.d.ts +0 -1
  82. package/dist/components/stat/stat-cards.stories.d.ts.map +1 -1
  83. package/dist/components/stat/stat-extended-card.js +76 -4
  84. package/dist/components/stat/stat-extended-card.js.map +1 -1
  85. package/dist/components/stat/stat-extended-card.stories.d.ts +0 -1
  86. package/dist/components/stat/stat-extended-card.stories.d.ts.map +1 -1
  87. package/dist/components/ui/action-button/action-button.js +33 -7
  88. package/dist/components/ui/action-button/action-button.js.map +1 -1
  89. package/dist/components/ui/action-button/action-button.module.less.d.ts +9 -0
  90. package/dist/components/ui/action-button/action-button.stories.d.ts +0 -1
  91. package/dist/components/ui/action-button/action-button.stories.d.ts.map +1 -1
  92. package/dist/components/ui/action-button/index.js +1 -0
  93. package/dist/components/ui/action-button/index.js.map +1 -1
  94. package/dist/components/ui/centered-spinner/centered-spinner.js +20 -2
  95. package/dist/components/ui/centered-spinner/centered-spinner.js.map +1 -1
  96. package/dist/components/ui/centered-spinner/centered-spinner.stories.d.ts +0 -1
  97. package/dist/components/ui/centered-spinner/centered-spinner.stories.d.ts.map +1 -1
  98. package/dist/components/ui/date-range-picker/date-range-picker.d.ts.map +1 -1
  99. package/dist/components/ui/date-range-picker/date-range-picker.js +71 -35
  100. package/dist/components/ui/date-range-picker/date-range-picker.js.map +1 -1
  101. package/dist/components/ui/date-range-picker/date-range-picker.module.less.d.ts +4 -0
  102. package/dist/components/ui/date-range-picker/date-range-picker.stories.d.ts.map +1 -1
  103. package/dist/components/ui/disabled-button.js +12 -3
  104. package/dist/components/ui/disabled-button.js.map +1 -1
  105. package/dist/components/ui/label-with-hint/label-with-hint.js +23 -1
  106. package/dist/components/ui/label-with-hint/label-with-hint.js.map +1 -1
  107. package/dist/components/ui/label-with-hint/label-with-hint.stories.d.ts +0 -1
  108. package/dist/components/ui/label-with-hint/label-with-hint.stories.d.ts.map +1 -1
  109. package/dist/components/ui/line-text/index.js +1 -0
  110. package/dist/components/ui/line-text/index.js.map +1 -1
  111. package/dist/components/ui/line-text/line-text-body.stories.d.ts +0 -1
  112. package/dist/components/ui/line-text/line-text-body.stories.d.ts.map +1 -1
  113. package/dist/components/ui/line-text/line-text-head.stories.d.ts +0 -1
  114. package/dist/components/ui/line-text/line-text-head.stories.d.ts.map +1 -1
  115. package/dist/components/ui/line-text/line-text.js +71 -25
  116. package/dist/components/ui/line-text/line-text.js.map +1 -1
  117. package/dist/components/ui/line-text/line-text.module.less.d.ts +6 -0
  118. package/dist/components/ui/title-popover/index.js +1 -0
  119. package/dist/components/ui/title-popover/index.js.map +1 -1
  120. package/dist/components/ui/title-popover/title-popover.d.ts.map +1 -1
  121. package/dist/components/ui/title-popover/title-popover.js +78 -69
  122. package/dist/components/ui/title-popover/title-popover.js.map +1 -1
  123. package/dist/components/ui/title-popover/title-popover.module.less.d.ts +3 -0
  124. package/dist/components/ui/title-popover/title-popover.stories.d.ts.map +1 -1
  125. package/dist/index.js +3 -1
  126. package/dist/index.js.map +1 -1
  127. package/dist/utils/__tests__/format-big-numbers.test.d.ts +2 -0
  128. package/dist/utils/__tests__/format-big-numbers.test.d.ts.map +1 -0
  129. package/dist/utils/__tests__/formatters.test.d.ts +2 -0
  130. package/dist/utils/__tests__/formatters.test.d.ts.map +1 -0
  131. package/dist/utils/__tests__/helpers.test.d.ts +2 -0
  132. package/dist/utils/__tests__/helpers.test.d.ts.map +1 -0
  133. package/dist/utils/__tests__/string-case.test.d.ts +2 -0
  134. package/dist/utils/__tests__/string-case.test.d.ts.map +1 -0
  135. package/dist/utils/ads-texts.js +2 -1
  136. package/dist/utils/ads-texts.js.map +1 -1
  137. package/dist/utils/date/__tests__/date-range-picker.test.d.ts +2 -0
  138. package/dist/utils/date/__tests__/date-range-picker.test.d.ts.map +1 -0
  139. package/dist/utils/date/__tests__/date-tenant.test.d.ts +2 -0
  140. package/dist/utils/date/__tests__/date-tenant.test.d.ts.map +1 -0
  141. package/dist/utils/date/date-range-picker-options.d.ts.map +1 -1
  142. package/dist/utils/date/date-range-picker-options.js +90 -68
  143. package/dist/utils/date/date-range-picker-options.js.map +1 -1
  144. package/dist/utils/date/date-range-picker-state.d.ts.map +1 -1
  145. package/dist/utils/date/date-range-picker-state.js +42 -43
  146. package/dist/utils/date/date-range-picker-state.js.map +1 -1
  147. package/dist/utils/date/date-tenant.js +4 -6
  148. package/dist/utils/date/date-tenant.js.map +1 -1
  149. package/dist/utils/date/date.d.ts.map +1 -1
  150. package/dist/utils/date/date.js +5 -9
  151. package/dist/utils/date/date.js.map +1 -1
  152. package/dist/utils/date/index.js +1 -0
  153. package/dist/utils/date/index.js.map +1 -1
  154. package/dist/utils/format-big-numbers.d.ts.map +1 -1
  155. package/dist/utils/format-big-numbers.js +11 -6
  156. package/dist/utils/format-big-numbers.js.map +1 -1
  157. package/dist/utils/formatters.d.ts.map +1 -1
  158. package/dist/utils/formatters.js +8 -7
  159. package/dist/utils/formatters.js.map +1 -1
  160. package/dist/utils/helpers.d.ts.map +1 -1
  161. package/dist/utils/helpers.js +9 -12
  162. package/dist/utils/helpers.js.map +1 -1
  163. package/dist/utils/marketing-parner-handlers.js +9 -12
  164. package/dist/utils/marketing-parner-handlers.js.map +1 -1
  165. package/dist/utils/string-case.js +1 -0
  166. package/dist/utils/string-case.js.map +1 -1
  167. package/dist/utils/use-client-rect.d.ts +1 -5
  168. package/dist/utils/use-client-rect.d.ts.map +1 -1
  169. package/dist/utils/use-client-rect.js +19 -19
  170. package/dist/utils/use-client-rect.js.map +1 -1
  171. package/dist/utils/use-target-range-store.js +7 -6
  172. package/dist/utils/use-target-range-store.js.map +1 -1
  173. package/package.json +11 -11
  174. package/src/components/charts/funnel-chart/funnel-chart.stories.tsx +3 -2
  175. package/src/components/charts/line-chart/components/svg-bars.tsx +2 -0
  176. package/src/components/ui/action-button/action-button.stories.tsx +3 -2
  177. package/src/components/ui/centered-spinner/centered-spinner.stories.tsx +3 -2
  178. package/src/components/ui/date-range-picker/date-range-picker.stories.tsx +5 -6
  179. package/src/components/ui/date-range-picker/date-range-picker.tsx +2 -2
  180. package/src/components/ui/line-text/line-text-body.stories.tsx +3 -2
  181. package/src/components/ui/line-text/line-text-head.stories.tsx +3 -2
  182. package/src/components/ui/line-text/line-text.tsx +1 -1
  183. package/src/components/ui/title-popover/title-popover.stories.tsx +3 -2
  184. package/src/utils/date/__tests__/date-range-picker.test.ts +1 -1
  185. package/src/utils/use-client-rect.ts +1 -1
  186. package/dist/components/charts/funnel-chart/funnel-chart.stories.js +0 -76
  187. package/dist/components/charts/funnel-chart/funnel-chart.stories.js.map +0 -1
  188. package/dist/components/charts/line-chart/line-chart.stories.js +0 -225
  189. package/dist/components/charts/line-chart/line-chart.stories.js.map +0 -1
  190. package/dist/components/charts/pie-chart/pie-chart.stories.js +0 -22
  191. package/dist/components/charts/pie-chart/pie-chart.stories.js.map +0 -1
  192. package/dist/components/image-cropper/image-cropper.stories.js +0 -48
  193. package/dist/components/image-cropper/image-cropper.stories.js.map +0 -1
  194. package/dist/components/stat/stat-cards.stories.js +0 -16
  195. package/dist/components/stat/stat-cards.stories.js.map +0 -1
  196. package/dist/components/stat/stat-extended-card.stories.js +0 -12
  197. package/dist/components/stat/stat-extended-card.stories.js.map +0 -1
  198. package/dist/components/ui/action-button/action-button.stories.js +0 -11
  199. package/dist/components/ui/action-button/action-button.stories.js.map +0 -1
  200. package/dist/components/ui/centered-spinner/centered-spinner.stories.js +0 -12
  201. package/dist/components/ui/centered-spinner/centered-spinner.stories.js.map +0 -1
  202. package/dist/components/ui/date-range-picker/date-range-picker.stories.js +0 -18
  203. package/dist/components/ui/date-range-picker/date-range-picker.stories.js.map +0 -1
  204. package/dist/components/ui/label-with-hint/label-with-hint.stories.js +0 -12
  205. package/dist/components/ui/label-with-hint/label-with-hint.stories.js.map +0 -1
  206. package/dist/components/ui/line-text/line-text-body.stories.js +0 -11
  207. package/dist/components/ui/line-text/line-text-body.stories.js.map +0 -1
  208. package/dist/components/ui/line-text/line-text-head.stories.js +0 -11
  209. package/dist/components/ui/line-text/line-text-head.stories.js.map +0 -1
  210. package/dist/components/ui/title-popover/title-popover.stories.js +0 -17
  211. package/dist/components/ui/title-popover/title-popover.stories.js.map +0 -1
  212. package/dist/utils/date/__mocks__/date-mock.js +0 -19
  213. package/dist/utils/date/__mocks__/date-mock.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"pie.js","sourceRoot":"","sources":["../../../../../src/components/charts/pie-chart/components/pie.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../../src/components/charts/pie-chart/components/pie.tsx"],"sourcesContent":["import { useCallback, useMemo, useState, FC, Fragment } from 'react';\nimport { tokens } from '@servicetitan/tokens/core';\nimport { BodyText, Popover, Stack, StatusLight } from '@servicetitan/design-system';\n\nimport { useClientRect } from '../../../../utils/use-client-rect';\nimport { PieChartPopoverContentType, PiePiece, PopoverDirection } from '../utils/interface';\n\nconst chartPadding = 8;\nconst px = (value?: number) => `${value ?? 0}px`;\n\nconst PiePieceSvg: FC<{\n piece: PiePiece;\n selected?: boolean;\n}> = ({ piece: { id, color, opacity, points, text, path }, selected }) =>\n points && path ? (\n <g id={id}>\n {!!selected && (\n <path\n d={path}\n fill={tokens.colorWhite}\n stroke={tokens.colorBlue200}\n strokeOpacity=\"50%\"\n strokeWidth=\"3\"\n paintOrder=\"stroke\"\n />\n )}\n <path d={path} fill={color} />\n\n <svg\n x={points[4][0] - 10}\n y={points[4][1] - (points[4][1] > 0 ? 3 : 1)}\n width={20}\n height={6}\n >\n <text\n x=\"50%\"\n y=\"50%\"\n fontSize={4}\n fontWeight={600}\n fill={opacity > 0.3 ? tokens.colorWhite : tokens.colorBlack}\n dominantBaseline=\"middle\"\n textAnchor=\"middle\"\n >\n {text}\n </text>\n </svg>\n </g>\n ) : null;\n\nconst PiePieceHover: FC<{\n piece: PiePiece;\n onMouse(id: string, isEnter: boolean): void;\n}> = ({ piece, onMouse }) => {\n const onMouseEnter = useCallback(() => onMouse(piece.id, true), [onMouse, piece.id]);\n const onMouseLeave = useCallback(() => onMouse(piece.id, false), [onMouse, piece.id]);\n\n return (\n <path\n d={piece.path}\n fill=\"white\"\n opacity=\"0\"\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n />\n );\n};\n\nconst PieSvg: FC<{\n pieces: PiePiece[];\n selectedIndex: number;\n radiusRelative: number;\n}> = ({ pieces, selectedIndex, radiusRelative }) => (\n <svg\n className=\"position-absolute\"\n style={{ inset: px(chartPadding) }}\n viewBox={\n `-${radiusRelative} -${radiusRelative} ` + `${radiusRelative * 2} ${radiusRelative * 2}`\n }\n >\n {pieces.map((p, index) =>\n p.path ? <PiePieceSvg piece={p} key={p.id} selected={index === selectedIndex} /> : null\n )}\n\n {selectedIndex >= 0 && selectedIndex < pieces.length && (\n <use xlinkHref={pieces[selectedIndex].id} />\n )}\n </svg>\n);\n\nconst PieSvgHover: FC<{\n pieces: PiePiece[];\n radiusRelative: number;\n onMouse(id: string, isEnter: boolean): void;\n}> = ({ pieces, onMouse, radiusRelative }) => (\n <svg\n className=\"position-absolute z-global-nav\"\n style={{ inset: px(chartPadding) }}\n viewBox={\n `-${radiusRelative} -${radiusRelative} ` + `${radiusRelative * 2} ${radiusRelative * 2}`\n }\n >\n {pieces.map(p =>\n p.path ? <PiePieceHover piece={p} key={p.id} onMouse={onMouse} /> : null\n )}\n </svg>\n);\n\nexport const Pie: FC<{\n title: string;\n pieces: PiePiece[];\n radiusRelative: number;\n content?: FC;\n popoverContent?: PieChartPopoverContentType;\n hideTitles?: boolean;\n popoverDirection?: PopoverDirection;\n}> = ({\n pieces,\n popoverContent: PopoverContent,\n content: PieContent,\n radiusRelative,\n hideTitles,\n popoverDirection,\n}) => {\n const [selectedIndex, setSelectedIndex] = useState(-1);\n const [rect, ref] = useClientRect();\n\n const onMouse = useCallback(\n (id: string, isEnter: boolean) => {\n setSelectedIndex(isEnter ? pieces.findIndex(p => p.id === id) : -1);\n },\n [pieces, setSelectedIndex]\n );\n\n const container = useMemo(() => {\n const height = rect?.height ?? 0;\n\n return {\n height,\n internal: height ? height - chartPadding * 2 : 0,\n styles: height\n ? {\n width: px(Math.max(250, height)),\n overflow: 'hidden',\n }\n : {},\n };\n }, [rect]);\n\n const triggersStyles = useMemo(\n () =>\n container.height\n ? pieces.map(p =>\n p.points\n ? {\n key: p.key,\n top: px(\n (container.height * (radiusRelative + p.points[4][1])) /\n (radiusRelative * 2)\n ),\n left: px(\n (container.height * (radiusRelative + p.points[4][0])) /\n (radiusRelative * 2) +\n 20\n ),\n }\n : { top: '', left: '' }\n )\n : [],\n [pieces, container, radiusRelative]\n );\n\n return (\n <div ref={ref} style={container.styles} className=\"position-relative\">\n {pieces.every(p => !p.path) ? (\n <Stack className=\"h-100\" justifyContent=\"center\" alignItems=\"center\">\n No Data\n </Stack>\n ) : (\n <Fragment>\n {triggersStyles\n .filter(ts => !!ts.left && !!ts.top)\n .map((ts, ind) => (\n <div key={ts.left + ts.top} style={ts} className=\"position-absolute\">\n {(!!PopoverContent || !hideTitles) && (\n <Popover\n portal\n trigger={<span> </span>}\n open={selectedIndex === ind}\n direction={popoverDirection}\n padding=\"s\"\n width=\"auto\"\n >\n {selectedIndex === ind && (\n <Stack\n direction=\"column\"\n data-cy={`customer-lead-rate-section-${ts.key}-popover`}\n >\n {!hideTitles && (\n <Stack alignItems=\"center\">\n <StatusLight color={pieces[ind].color} />\n <BodyText size=\"small\" bold>\n {pieces[ind].title}\n </BodyText>\n </Stack>\n )}\n {!!PopoverContent && (\n <Stack.Item className=\"m-l-1\">\n <PopoverContent\n index={ind}\n data={pieces[ind]?.data}\n text={pieces[ind]?.text}\n value={pieces[ind]?.value}\n />\n </Stack.Item>\n )}\n </Stack>\n )}\n </Popover>\n )}\n </div>\n ))}\n {!!PieContent && <PieContent />}\n <PieSvg\n pieces={pieces}\n selectedIndex={selectedIndex}\n radiusRelative={radiusRelative}\n />\n <PieSvgHover\n pieces={pieces}\n onMouse={onMouse}\n radiusRelative={radiusRelative}\n />\n </Fragment>\n )}\n </div>\n );\n};\n"],"names":["useCallback","useMemo","useState","Fragment","tokens","BodyText","Popover","Stack","StatusLight","useClientRect","chartPadding","px","value","PiePieceSvg","piece","id","color","opacity","points","text","path","selected","g","d","fill","colorWhite","stroke","colorBlue200","strokeOpacity","strokeWidth","paintOrder","svg","x","y","width","height","fontSize","fontWeight","colorBlack","dominantBaseline","textAnchor","PiePieceHover","onMouse","onMouseEnter","onMouseLeave","PieSvg","pieces","selectedIndex","radiusRelative","className","style","inset","viewBox","map","p","index","length","use","xlinkHref","PieSvgHover","Pie","popoverContent","PopoverContent","content","PieContent","hideTitles","popoverDirection","setSelectedIndex","rect","ref","isEnter","findIndex","container","internal","styles","Math","max","overflow","triggersStyles","key","top","left","div","every","justifyContent","alignItems","filter","ts","ind","portal","trigger","span","open","direction","padding","data-cy","size","bold","title","Item","data"],"mappings":"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"}
@@ -1,2 +1,4 @@
1
1
  export { PieChart } from './components/pie-chart';
2
+ export { PieChartSection, PieChartPopoverContentType } from './utils/interface';
3
+
2
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/charts/pie-chart/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"sources":["../../../../src/components/charts/pie-chart/index.ts"],"sourcesContent":["export { PieChart } from './components/pie-chart';\nexport { PieChartSection, PieChartPopoverContentType } from './utils/interface';\n"],"names":["PieChart","PieChartSection","PieChartPopoverContentType"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,yBAAyB;AAClD,SAASC,eAAe,EAAEC,0BAA0B,QAAQ,oBAAoB"}
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  declare const _default: {
3
2
  title: string;
4
3
  component: import("react").FC<import("./utils/interface").PieChartProps<any>>;
@@ -1 +1 @@
1
- {"version":3,"file":"pie-chart.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/charts/pie-chart/pie-chart.stories.tsx"],"names":[],"mappings":";;;;;;AAGA,wBAIE;AAEF,eAAO,MAAM,kBAAkB,+CAa9B,CAAC;AAEF,eAAO,MAAM,mBAAmB,+CAiB/B,CAAC;AAEF,eAAO,MAAM,oBAAoB,+CAMhC,CAAC;AAEF,eAAO,MAAM,cAAc,+CAAkE,CAAC"}
1
+ {"version":3,"file":"pie-chart.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/charts/pie-chart/pie-chart.stories.tsx"],"names":[],"mappings":";;;;;AAGA,wBAIE;AAEF,eAAO,MAAM,kBAAkB,+CAa9B,CAAC;AAEF,eAAO,MAAM,mBAAmB,+CAiB/B,CAAC;AAEF,eAAO,MAAM,oBAAoB,+CAMhC,CAAC;AAEF,eAAO,MAAM,cAAc,+CAAkE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"const.d.ts","sourceRoot":"","sources":["../../../../../src/components/charts/pie-chart/utils/const.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,eAAe,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGrE,eAAO,MAAM,qBAAqB,KAAK,CAAC;AAgCxC,eAAO,MAAM,uBAAuB,gBACtB,gBAAgB,CAAC,CAAC,EAAE,kBACd,MAAM,KACvB,SAAS,CAAC,CAAC,EAkEb,CAAC"}
1
+ {"version":3,"file":"const.d.ts","sourceRoot":"","sources":["../../../../../src/components/charts/pie-chart/utils/const.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,eAAe,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGrE,eAAO,MAAM,qBAAqB,KAAK,CAAC;AAgCxC,eAAO,MAAM,uBAAuB,GAAI,CAAC,EACrC,UAAU,eAAe,CAAC,CAAC,CAAC,EAAE,EAC9B,gBAAgB,MAAM,KACvB,QAAQ,CAAC,CAAC,CAAC,EAkEb,CAAC"}
@@ -1,11 +1,11 @@
1
1
  import { formatNumber } from 'accounting';
2
2
  export const radiusRelativeDefault = 50;
3
3
  const radiusInt = 20;
4
- const getRadiusExt = (radiusRelative) => radiusRelative - 5; // need to have some space to stroke selected piece
5
- const getRadiusMid = (radiusRelative) => (3 * radiusRelative) / 4;
4
+ const getRadiusExt = (radiusRelative)=>radiusRelative - 5; // need to have some space to stroke selected piece
5
+ const getRadiusMid = (radiusRelative)=>3 * radiusRelative / 4;
6
6
  const angleInitial = -0.5;
7
7
  const lowestOpacity = 0.1;
8
- const formatValue = (val) => {
8
+ const formatValue = (val)=>{
9
9
  if (!val) {
10
10
  return '0%';
11
11
  }
@@ -16,70 +16,86 @@ const formatValue = (val) => {
16
16
  const valueDecimal = Math.max(Math.floor(val * 10) - valueMain * 10, 1);
17
17
  return `0.${valueDecimal}%`;
18
18
  };
19
- const convertPointsToPath = (points, wideAngle, radiusExt) => `M ${points[3][0]},${points[3][1]} ` +
20
- `L ${points[0][0]},${points[0][1]} ` +
21
- `A ${radiusExt},${radiusExt} 0 ${wideAngle ? 1 : 0} 1 ${points[1][0]},${points[1][1]} ` +
22
- `L ${points[2][0]},${points[2][1]} ` +
23
- `A ${radiusInt},${radiusInt} 0 ${wideAngle ? 1 : 0} 0 ${points[3][0]},${points[3][1]} ` +
24
- `L ${points[0][0]},${points[0][1]} `;
25
- export const convertSessionsToPieces = (sections, radiusRelative) => {
26
- const total = sections.reduce((sum, curr) => sum + curr.value, 0);
19
+ const convertPointsToPath = (points, wideAngle, radiusExt)=>`M ${points[3][0]},${points[3][1]} ` + `L ${points[0][0]},${points[0][1]} ` + `A ${radiusExt},${radiusExt} 0 ${wideAngle ? 1 : 0} 1 ${points[1][0]},${points[1][1]} ` + `L ${points[2][0]},${points[2][1]} ` + `A ${radiusInt},${radiusInt} 0 ${wideAngle ? 1 : 0} 0 ${points[3][0]},${points[3][1]} ` + `L ${points[0][0]},${points[0][1]} `;
20
+ export const convertSessionsToPieces = (sections, radiusRelative)=>{
21
+ const total = sections.reduce((sum, curr)=>sum + curr.value, 0);
27
22
  const opacityStep = (1 - lowestOpacity) / (Math.max(sections.length, 2) - 1);
28
23
  let angleSum = 0;
29
24
  const radiusExt = getRadiusExt(radiusRelative);
30
25
  const radiusMid = getRadiusMid(radiusRelative);
31
- const pieces = sections
32
- .slice()
33
- .sort((a, b) => b.value - a.value)
34
- .map((s, index) => {
35
- var _a;
26
+ const pieces = sections.slice().sort((a, b)=>b.value - a.value).map((s, index)=>{
36
27
  const percent = total ? s.value / total : 0;
37
28
  const angle = 2 * Math.PI * percent;
38
29
  const angleStart = angleInitial + angleSum;
39
30
  const angleMid = angleStart + angle / 2;
40
31
  const angleEnd = angleStart + angle;
41
32
  const opacity = 1 - opacityStep * index;
42
- const points = s.value
43
- ? [
44
- [radiusExt * Math.sin(angleStart), -1 * radiusExt * Math.cos(angleStart)],
45
- [radiusExt * Math.sin(angleEnd), -1 * radiusExt * Math.cos(angleEnd)],
46
- [radiusInt * Math.sin(angleEnd), -1 * radiusInt * Math.cos(angleEnd)],
47
- [radiusInt * Math.sin(angleStart), -1 * radiusInt * Math.cos(angleStart)],
48
- [radiusMid * Math.sin(angleMid), -1 * radiusMid * Math.cos(angleMid)],
33
+ const points = s.value ? [
34
+ [
35
+ radiusExt * Math.sin(angleStart),
36
+ -1 * radiusExt * Math.cos(angleStart)
37
+ ],
38
+ [
39
+ radiusExt * Math.sin(angleEnd),
40
+ -1 * radiusExt * Math.cos(angleEnd)
41
+ ],
42
+ [
43
+ radiusInt * Math.sin(angleEnd),
44
+ -1 * radiusInt * Math.cos(angleEnd)
45
+ ],
46
+ [
47
+ radiusInt * Math.sin(angleStart),
48
+ -1 * radiusInt * Math.cos(angleStart)
49
+ ],
50
+ [
51
+ radiusMid * Math.sin(angleMid),
52
+ -1 * radiusMid * Math.cos(angleMid)
49
53
  ]
50
- : undefined;
54
+ ] : undefined;
51
55
  angleSum += angle;
56
+ var _s_color;
52
57
  return {
53
58
  id: `pie${index}-${Math.round(Math.random() * 10000)}`,
54
59
  key: s.key,
55
60
  title: s.title,
56
61
  text: formatValue(percent * 100),
57
62
  data: s.data,
58
- color: (_a = s.color) !== null && _a !== void 0 ? _a : `rgba(0,76,195,${opacity.toFixed(2)})`,
63
+ color: (_s_color = s.color) !== null && _s_color !== void 0 ? _s_color : `rgba(0,76,195,${opacity.toFixed(2)})`,
59
64
  opacity,
60
65
  value: s.value,
61
66
  points,
62
- path: points
63
- ? convertPointsToPath(points, angleEnd - angleStart >= Math.PI, radiusExt)
64
- : undefined,
67
+ path: points ? convertPointsToPath(points, angleEnd - angleStart >= Math.PI, radiusExt) : undefined
65
68
  };
66
69
  });
67
- if (sections.filter(s => !!s.value).length === 1) {
68
- const piece = pieces.find(p => !!p.points);
70
+ if (sections.filter((s)=>!!s.value).length === 1) {
71
+ const piece = pieces.find((p)=>!!p.points);
69
72
  if (piece) {
70
73
  piece.points = [
71
- [-radiusExt, radiusExt],
72
- [radiusExt, radiusExt],
73
- [radiusInt, -radiusInt],
74
- [-radiusInt, -radiusInt],
75
- [0, 0],
74
+ [
75
+ -radiusExt,
76
+ radiusExt
77
+ ],
78
+ [
79
+ radiusExt,
80
+ radiusExt
81
+ ],
82
+ [
83
+ radiusInt,
84
+ -radiusInt
85
+ ],
86
+ [
87
+ -radiusInt,
88
+ -radiusInt
89
+ ],
90
+ [
91
+ 0,
92
+ 0
93
+ ]
76
94
  ];
77
- piece.path =
78
- `M ${-radiusExt},${0} ` +
79
- `A ${radiusExt},${radiusExt} 0 1 1 ${radiusExt},${0} ` +
80
- `A ${radiusExt},${radiusExt} 0 1 1 ${-radiusExt},${0} `;
95
+ piece.path = `M ${-radiusExt},${0} ` + `A ${radiusExt},${radiusExt} 0 1 1 ${radiusExt},${0} ` + `A ${radiusExt},${radiusExt} 0 1 1 ${-radiusExt},${0} `;
81
96
  }
82
97
  }
83
98
  return pieces;
84
99
  };
100
+
85
101
  //# sourceMappingURL=const.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"const.js","sourceRoot":"","sources":["../../../../../src/components/charts/pie-chart/utils/const.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,CAAC;AACxC,MAAM,SAAS,GAAG,EAAE,CAAC;AACrB,MAAM,YAAY,GAAG,CAAC,cAAsB,EAAE,EAAE,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,mDAAmD;AACxH,MAAM,YAAY,GAAG,CAAC,cAAsB,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;AAE1E,MAAM,YAAY,GAAG,CAAC,GAAG,CAAC;AAC1B,MAAM,aAAa,GAAG,GAAG,CAAC;AAE1B,MAAM,WAAW,GAAG,CAAC,GAAW,EAAU,EAAE;IACxC,IAAI,CAAC,GAAG,EAAE,CAAC;QACP,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEtD,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;QAChB,OAAO,YAAY,CAAC,SAAS,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC;IAC5C,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,SAAS,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;IAExE,OAAO,KAAK,YAAY,GAAG,CAAC;AAChC,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,MAAmB,EAAE,SAAkB,EAAE,SAAiB,EAAU,EAAE,CAC/F,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;IACpC,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;IACpC,KAAK,SAAS,IAAI,SAAS,MAAM,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;IACvF,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;IACpC,KAAK,SAAS,IAAI,SAAS,MAAM,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;IACvF,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AAEzC,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACnC,QAA8B,EAC9B,cAAsB,EACT,EAAE;IACf,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAClE,MAAM,WAAW,GAAG,CAAC,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7E,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,MAAM,SAAS,GAAG,YAAY,CAAC,cAAc,CAAC,CAAC;IAC/C,MAAM,SAAS,GAAG,YAAY,CAAC,cAAc,CAAC,CAAC;IAE/C,MAAM,MAAM,GAAG,QAAQ;SAClB,KAAK,EAAE;SACP,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;SACjC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;;QACd,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC;QACpC,MAAM,UAAU,GAAG,YAAY,GAAG,QAAQ,CAAC;QAC3C,MAAM,QAAQ,GAAG,UAAU,GAAG,KAAK,GAAG,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,UAAU,GAAG,KAAK,CAAC;QACpC,MAAM,OAAO,GAAG,CAAC,GAAG,WAAW,GAAG,KAAK,CAAC;QAExC,MAAM,MAAM,GAA4B,CAAC,CAAC,KAAK;YAC3C,CAAC,CAAC;gBACI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBACzE,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACrE,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACrE,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBACzE,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;aACxE;YACH,CAAC,CAAC,SAAS,CAAC;QAEhB,QAAQ,IAAI,KAAK,CAAC;QAElB,OAAO;YACH,EAAE,EAAE,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,EAAE;YACtD,GAAG,EAAE,CAAC,CAAC,GAAG;YACV,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,IAAI,EAAE,WAAW,CAAC,OAAO,GAAG,GAAG,CAAC;YAChC,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,KAAK,EAAE,MAAA,CAAC,CAAC,KAAK,mCAAI,iBAAiB,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG;YACxD,OAAO;YACP,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,MAAM;YACN,IAAI,EAAE,MAAM;gBACR,CAAC,CAAC,mBAAmB,CAAC,MAAM,EAAE,QAAQ,GAAG,UAAU,IAAI,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC;gBAC1E,CAAC,CAAC,SAAS;SAClB,CAAC;IACN,CAAC,CAAC,CAAC;IAEP,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/C,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAE3C,IAAI,KAAK,EAAE,CAAC;YACR,KAAK,CAAC,MAAM,GAAG;gBACX,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC;gBACvB,CAAC,SAAS,EAAE,SAAS,CAAC;gBACtB,CAAC,SAAS,EAAE,CAAC,SAAS,CAAC;gBACvB,CAAC,CAAC,SAAS,EAAE,CAAC,SAAS,CAAC;gBACxB,CAAC,CAAC,EAAE,CAAC,CAAC;aACT,CAAC;YAEF,KAAK,CAAC,IAAI;gBACN,KAAK,CAAC,SAAS,IAAI,CAAC,GAAG;oBACvB,KAAK,SAAS,IAAI,SAAS,UAAU,SAAS,IAAI,CAAC,GAAG;oBACtD,KAAK,SAAS,IAAI,SAAS,UAAU,CAAC,SAAS,IAAI,CAAC,GAAG,CAAC;QAChE,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC,CAAC"}
1
+ {"version":3,"sources":["../../../../../src/components/charts/pie-chart/utils/const.ts"],"sourcesContent":["import { PiecePoints, PieChartSection, PiePiece } from './interface';\nimport { formatNumber } from 'accounting';\n\nexport const radiusRelativeDefault = 50;\nconst radiusInt = 20;\nconst getRadiusExt = (radiusRelative: number) => radiusRelative - 5; // need to have some space to stroke selected piece\nconst getRadiusMid = (radiusRelative: number) => (3 * radiusRelative) / 4;\n\nconst angleInitial = -0.5;\nconst lowestOpacity = 0.1;\n\nconst formatValue = (val: number): string => {\n if (!val) {\n return '0%';\n }\n\n const valueMain = val ? Math.abs(Math.round(val)) : 0;\n\n if (valueMain > 0) {\n return formatNumber(valueMain, 0) + '%';\n }\n\n const valueDecimal = Math.max(Math.floor(val * 10) - valueMain * 10, 1);\n\n return `0.${valueDecimal}%`;\n};\n\nconst convertPointsToPath = (points: PiecePoints, wideAngle: boolean, radiusExt: number): string =>\n `M ${points[3][0]},${points[3][1]} ` +\n `L ${points[0][0]},${points[0][1]} ` +\n `A ${radiusExt},${radiusExt} 0 ${wideAngle ? 1 : 0} 1 ${points[1][0]},${points[1][1]} ` +\n `L ${points[2][0]},${points[2][1]} ` +\n `A ${radiusInt},${radiusInt} 0 ${wideAngle ? 1 : 0} 0 ${points[3][0]},${points[3][1]} ` +\n `L ${points[0][0]},${points[0][1]} `;\n\nexport const convertSessionsToPieces = <T>(\n sections: PieChartSection<T>[],\n radiusRelative: number\n): PiePiece<T>[] => {\n const total = sections.reduce((sum, curr) => sum + curr.value, 0);\n const opacityStep = (1 - lowestOpacity) / (Math.max(sections.length, 2) - 1);\n let angleSum = 0;\n const radiusExt = getRadiusExt(radiusRelative);\n const radiusMid = getRadiusMid(radiusRelative);\n\n const pieces = sections\n .slice()\n .sort((a, b) => b.value - a.value)\n .map((s, index) => {\n const percent = total ? s.value / total : 0;\n const angle = 2 * Math.PI * percent;\n const angleStart = angleInitial + angleSum;\n const angleMid = angleStart + angle / 2;\n const angleEnd = angleStart + angle;\n const opacity = 1 - opacityStep * index;\n\n const points: PiecePoints | undefined = s.value\n ? [\n [radiusExt * Math.sin(angleStart), -1 * radiusExt * Math.cos(angleStart)],\n [radiusExt * Math.sin(angleEnd), -1 * radiusExt * Math.cos(angleEnd)],\n [radiusInt * Math.sin(angleEnd), -1 * radiusInt * Math.cos(angleEnd)],\n [radiusInt * Math.sin(angleStart), -1 * radiusInt * Math.cos(angleStart)],\n [radiusMid * Math.sin(angleMid), -1 * radiusMid * Math.cos(angleMid)],\n ]\n : undefined;\n\n angleSum += angle;\n\n return {\n id: `pie${index}-${Math.round(Math.random() * 10000)}`,\n key: s.key,\n title: s.title,\n text: formatValue(percent * 100),\n data: s.data,\n color: s.color ?? `rgba(0,76,195,${opacity.toFixed(2)})`,\n opacity,\n value: s.value,\n points,\n path: points\n ? convertPointsToPath(points, angleEnd - angleStart >= Math.PI, radiusExt)\n : undefined,\n };\n });\n\n if (sections.filter(s => !!s.value).length === 1) {\n const piece = pieces.find(p => !!p.points);\n\n if (piece) {\n piece.points = [\n [-radiusExt, radiusExt],\n [radiusExt, radiusExt],\n [radiusInt, -radiusInt],\n [-radiusInt, -radiusInt],\n [0, 0],\n ];\n\n piece.path =\n `M ${-radiusExt},${0} ` +\n `A ${radiusExt},${radiusExt} 0 1 1 ${radiusExt},${0} ` +\n `A ${radiusExt},${radiusExt} 0 1 1 ${-radiusExt},${0} `;\n }\n }\n\n return pieces;\n};\n"],"names":["formatNumber","radiusRelativeDefault","radiusInt","getRadiusExt","radiusRelative","getRadiusMid","angleInitial","lowestOpacity","formatValue","val","valueMain","Math","abs","round","valueDecimal","max","floor","convertPointsToPath","points","wideAngle","radiusExt","convertSessionsToPieces","sections","total","reduce","sum","curr","value","opacityStep","length","angleSum","radiusMid","pieces","slice","sort","a","b","map","s","index","percent","angle","PI","angleStart","angleMid","angleEnd","opacity","sin","cos","undefined","id","random","key","title","text","data","color","toFixed","path","filter","piece","find","p"],"mappings":"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"}
@@ -1,2 +1,3 @@
1
- export {};
1
+ export { };
2
+
2
3
  //# sourceMappingURL=interface.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"interface.js","sourceRoot":"","sources":["../../../../../src/components/charts/pie-chart/utils/interface.ts"],"names":[],"mappings":""}
1
+ {"version":3,"sources":["../../../../../src/components/charts/pie-chart/utils/interface.ts"],"sourcesContent":["import { FC } from 'react';\n\nexport interface PieChartSection<T> {\n key?: string;\n title: string;\n value: number;\n color?: string;\n data?: T;\n}\n\nexport type PieChartPopoverContentType<T = any> = FC<{\n index: number;\n value: number;\n data?: T;\n text: string;\n}>;\n\nexport interface PieChartProps<T = any> {\n title: string;\n sections: PieChartSection<T>[];\n popoverContent?: PieChartPopoverContentType<T>;\n popoverDirection?: PopoverDirection;\n content?: FC<T>;\n height?: number;\n width?: number;\n radiusRelative?: number;\n hideTitles?: boolean;\n}\n\nexport type PiecePoint = [number, number];\nexport type PiecePoints = [PiecePoint, PiecePoint, PiecePoint, PiecePoint, PiecePoint];\n\nexport interface PiePiece<T = undefined> {\n id: string;\n title: string;\n color: string;\n text: string;\n data?: T;\n opacity: number;\n value: number;\n points?: PiecePoints;\n path?: string;\n key?: string;\n}\n\nexport type PopoverDirection =\n | 't'\n | 'tr'\n | 'tl'\n | 'r'\n | 'rt'\n | 'rb'\n | 'b'\n | 'br'\n | 'bl'\n | 'l'\n | 'lt'\n | 'lb'\n | 'c';\n"],"names":[],"mappings":"AA6CA,WAaU"}
@@ -1 +1 @@
1
- {"version":3,"file":"image-cropper.d.ts","sourceRoot":"","sources":["../../../src/components/image-cropper/image-cropper.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIlC,OAAO,qCAAqC,CAAC;AAE7C,UAAU,iBAAiB;IACvB,IAAI,EAAE,IAAI,CAAC;IACX,IAAI,EAAE;QACF,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAClB,CAAC;CACL;AAED,qBACa,YAAa,SAAQ,SAAS,CAAC,iBAAiB,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,CAAS;IACrB,OAAO,CAAC,IAAI,CAAC,CAAO;IACpB,OAAO,CAAC,KAAK,CAAC,CAAmB;gBAEjC,KAAK,EAAE,iBAAiB;IAKpC,aAAa,SAAU,MAAM,YAAY,MAAM,+BA2CxC;IAGP,iBAAiB;IAIjB,oBAAoB;IAMpB,MAAM;IAaN,OAAO,CAAC,YAAY,CAAsC;IAG1D,OAAO,CAAC,iBAAiB,CAWvB;CACL"}
1
+ {"version":3,"file":"image-cropper.d.ts","sourceRoot":"","sources":["../../../src/components/image-cropper/image-cropper.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIlC,OAAO,qCAAqC,CAAC;AAE7C,UAAU,iBAAiB;IACvB,IAAI,EAAE,IAAI,CAAC;IACX,IAAI,EAAE;QACF,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAClB,CAAC;CACL;AAED,qBACa,YAAa,SAAQ,SAAS,CAAC,iBAAiB,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,CAAS;IACrB,OAAO,CAAC,IAAI,CAAC,CAAO;IACpB,OAAO,CAAC,KAAK,CAAC,CAAmB;gBAEjC,KAAK,EAAE,iBAAiB;IAKpC,aAAa,GAAI,MAAM,MAAM,EAAE,UAAU,MAAM,+BA2CxC;IAGP,iBAAiB;IAIjB,oBAAoB;IAMpB,MAAM;IAaN,OAAO,CAAC,YAAY,CAAsC;IAG1D,OAAO,CAAC,iBAAiB,CAWvB;CACL"}
@@ -1,44 +1,51 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
1
+ function _define_property(obj, key, value) {
2
+ if (key in obj) {
3
+ Object.defineProperty(obj, key, {
4
+ value: value,
5
+ enumerable: true,
6
+ configurable: true,
7
+ writable: true
8
+ });
9
+ } else {
10
+ obj[key] = value;
11
+ }
12
+ return obj;
13
+ }
14
+ function _ts_decorate(decorators, target, key, desc) {
2
15
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
16
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
17
+ else for(var i = decorators.length - 1; i >= 0; i--)if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
18
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- var __metadata = (this && this.__metadata) || function (k, v) {
19
+ }
20
+ function _ts_metadata(k, v) {
8
21
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
- };
22
+ }
10
23
  import { jsx as _jsx } from "react/jsx-runtime";
11
24
  import { Component } from 'react';
12
25
  import { observable, action, makeObservable } from 'mobx';
13
26
  import { observer } from 'mobx-react';
14
- import ReactCrop from 'react-image-crop';
27
+ import ReactCrop, { Crop } from 'react-image-crop';
15
28
  import 'react-image-crop/dist/ReactCrop.css';
16
- let ImageCropper = class ImageCropper extends Component {
17
- constructor(props) {
18
- super(props);
19
- Object.defineProperty(this, "src", {
20
- enumerable: true,
21
- configurable: true,
22
- writable: true,
23
- value: void 0
24
- });
25
- Object.defineProperty(this, "crop", {
26
- enumerable: true,
27
- configurable: true,
28
- writable: true,
29
- value: void 0
30
- });
31
- Object.defineProperty(this, "image", {
32
- enumerable: true,
33
- configurable: true,
34
- writable: true,
35
- value: void 0
36
- });
37
- Object.defineProperty(this, "getCroppedImg", {
38
- enumerable: true,
39
- configurable: true,
40
- writable: true,
41
- value: (type, fileName) => new Promise(resolve => {
29
+ export class ImageCropper extends Component {
30
+ componentDidMount() {
31
+ return this.src = URL.createObjectURL(this.props.file);
32
+ }
33
+ componentWillUnmount() {
34
+ if (this.src) {
35
+ URL.revokeObjectURL(this.src);
36
+ }
37
+ }
38
+ render() {
39
+ return this.src ? /*#__PURE__*/ _jsx(ReactCrop, {
40
+ locked: true,
41
+ src: this.src,
42
+ crop: this.crop,
43
+ onChange: this.handleChange,
44
+ onImageLoaded: this.handleImageLoaded
45
+ }) : null;
46
+ }
47
+ constructor(props){
48
+ super(props), _define_property(this, "src", void 0), _define_property(this, "crop", void 0), _define_property(this, "image", void 0), _define_property(this, "getCroppedImg", (type, fileName)=>new Promise((resolve)=>{
42
49
  if (!this.image || !this.crop) {
43
50
  resolve(undefined);
44
51
  return;
@@ -58,77 +65,56 @@ let ImageCropper = class ImageCropper extends Component {
58
65
  return;
59
66
  }
60
67
  ctx.drawImage(this.image, x * (this.image.naturalWidth / this.image.width), y * (this.image.naturalHeight / this.image.height), width, height, 0, 0, width, height);
61
- canvas.toBlob(blob => {
62
- const result = blob ? new File([blob], fileName) : undefined;
68
+ canvas.toBlob((blob)=>{
69
+ const result = blob ? new File([
70
+ blob
71
+ ], fileName) : undefined;
63
72
  resolve(result);
64
73
  }, type, 1);
65
- })
66
- });
67
- Object.defineProperty(this, "handleChange", {
68
- enumerable: true,
69
- configurable: true,
70
- writable: true,
71
- value: (crop) => (this.crop = crop)
72
- });
73
- Object.defineProperty(this, "handleImageLoaded", {
74
- enumerable: true,
75
- configurable: true,
76
- writable: true,
77
- value: (image) => {
78
- this.image = image;
79
- this.crop = {
80
- unit: 'px',
81
- x: 0,
82
- y: 0,
83
- width: this.props.crop.width * (image.width / image.naturalWidth),
84
- height: this.props.crop.height * (image.height / image.naturalHeight),
85
- };
86
- return false;
87
- }
74
+ })), _define_property(this, "handleChange", (crop)=>this.crop = crop), _define_property(this, "handleImageLoaded", (image)=>{
75
+ this.image = image;
76
+ this.crop = {
77
+ unit: 'px',
78
+ x: 0,
79
+ y: 0,
80
+ width: this.props.crop.width * (image.width / image.naturalWidth),
81
+ height: this.props.crop.height * (image.height / image.naturalHeight)
82
+ };
83
+ return false;
88
84
  });
89
85
  makeObservable(this);
90
86
  }
91
- componentDidMount() {
92
- return (this.src = URL.createObjectURL(this.props.file));
93
- }
94
- componentWillUnmount() {
95
- if (this.src) {
96
- URL.revokeObjectURL(this.src);
97
- }
98
- }
99
- render() {
100
- return this.src ? (_jsx(ReactCrop, { locked: true, src: this.src, crop: this.crop, onChange: this.handleChange, onImageLoaded: this.handleImageLoaded })) : null;
101
- }
102
- };
103
- __decorate([
87
+ }
88
+ _ts_decorate([
104
89
  observable,
105
- __metadata("design:type", String)
90
+ _ts_metadata("design:type", String)
106
91
  ], ImageCropper.prototype, "src", void 0);
107
- __decorate([
92
+ _ts_decorate([
108
93
  observable,
109
- __metadata("design:type", Object)
94
+ _ts_metadata("design:type", typeof Crop === "undefined" ? Object : Crop)
110
95
  ], ImageCropper.prototype, "crop", void 0);
111
- __decorate([
96
+ _ts_decorate([
112
97
  observable,
113
- __metadata("design:type", HTMLImageElement)
98
+ _ts_metadata("design:type", typeof HTMLImageElement === "undefined" ? Object : HTMLImageElement)
114
99
  ], ImageCropper.prototype, "image", void 0);
115
- __decorate([
100
+ _ts_decorate([
116
101
  action,
117
- __metadata("design:type", Function),
118
- __metadata("design:paramtypes", []),
119
- __metadata("design:returntype", void 0)
102
+ _ts_metadata("design:type", Function),
103
+ _ts_metadata("design:paramtypes", []),
104
+ _ts_metadata("design:returntype", void 0)
120
105
  ], ImageCropper.prototype, "componentDidMount", null);
121
- __decorate([
122
- action,
123
- __metadata("design:type", Object)
106
+ _ts_decorate([
107
+ action
124
108
  ], ImageCropper.prototype, "handleChange", void 0);
125
- __decorate([
126
- action,
127
- __metadata("design:type", Object)
109
+ _ts_decorate([
110
+ action
128
111
  ], ImageCropper.prototype, "handleImageLoaded", void 0);
129
- ImageCropper = __decorate([
112
+ ImageCropper = _ts_decorate([
130
113
  observer,
131
- __metadata("design:paramtypes", [Object])
114
+ _ts_metadata("design:type", Function),
115
+ _ts_metadata("design:paramtypes", [
116
+ typeof ImageCropperProps === "undefined" ? Object : ImageCropperProps
117
+ ])
132
118
  ], ImageCropper);
133
- export { ImageCropper };
119
+
134
120
  //# sourceMappingURL=image-cropper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"image-cropper.js","sourceRoot":"","sources":["../../../src/components/image-cropper/image-cropper.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/components/image-cropper/image-cropper.tsx"],"sourcesContent":["import { Component } from 'react';\nimport { observable, action, makeObservable } from 'mobx';\nimport { observer } from 'mobx-react';\nimport ReactCrop, { Crop } from 'react-image-crop';\nimport 'react-image-crop/dist/ReactCrop.css';\n\ninterface ImageCropperProps {\n file: File;\n crop: {\n width: number;\n height: number;\n };\n}\n\n@observer\nexport class ImageCropper extends Component<ImageCropperProps> {\n @observable private src?: string;\n @observable private crop?: Crop;\n @observable private image?: HTMLImageElement;\n\n constructor(props: ImageCropperProps) {\n super(props);\n makeObservable(this);\n }\n\n getCroppedImg = (type: string, fileName: string) =>\n new Promise<File | undefined>(resolve => {\n if (!this.image || !this.crop) {\n resolve(undefined);\n return;\n }\n\n const { x, y } = this.crop;\n if (x == null || y == null) {\n resolve(undefined);\n return;\n }\n\n const { width, height } = this.props.crop;\n const canvas = document.createElement('canvas');\n canvas.width = width;\n canvas.height = height;\n const ctx = canvas.getContext('2d');\n if (!ctx) {\n resolve(undefined);\n return;\n }\n\n ctx.drawImage(\n this.image,\n x * (this.image.naturalWidth / this.image.width),\n y * (this.image.naturalHeight / this.image.height),\n width,\n height,\n 0,\n 0,\n width,\n height\n );\n\n canvas.toBlob(\n blob => {\n const result = blob ? new File([blob], fileName) : undefined;\n resolve(result);\n },\n type,\n 1\n );\n });\n\n @action\n componentDidMount() {\n return (this.src = URL.createObjectURL(this.props.file));\n }\n\n componentWillUnmount() {\n if (this.src) {\n URL.revokeObjectURL(this.src);\n }\n }\n\n render() {\n return this.src ? (\n <ReactCrop\n locked\n src={this.src}\n crop={this.crop}\n onChange={this.handleChange}\n onImageLoaded={this.handleImageLoaded}\n />\n ) : null;\n }\n\n @action\n private handleChange = (crop: Crop) => (this.crop = crop);\n\n @action\n private handleImageLoaded = (image: HTMLImageElement) => {\n this.image = image;\n this.crop = {\n unit: 'px',\n x: 0,\n y: 0,\n width: this.props.crop.width * (image.width / image.naturalWidth),\n height: this.props.crop.height * (image.height / image.naturalHeight),\n };\n\n return false;\n };\n}\n"],"names":["Component","observable","action","makeObservable","observer","ReactCrop","Crop","ImageCropper","componentDidMount","src","URL","createObjectURL","props","file","componentWillUnmount","revokeObjectURL","render","locked","crop","onChange","handleChange","onImageLoaded","handleImageLoaded","constructor","image","getCroppedImg","type","fileName","Promise","resolve","undefined","x","y","width","height","canvas","document","createElement","ctx","getContext","drawImage","naturalWidth","naturalHeight","toBlob","blob","result","File","unit"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,SAASA,SAAS,QAAQ,QAAQ;AAClC,SAASC,UAAU,EAAEC,MAAM,EAAEC,cAAc,QAAQ,OAAO;AAC1D,SAASC,QAAQ,QAAQ,aAAa;AACtC,OAAOC,aAAaC,IAAI,QAAQ,mBAAmB;AACnD,OAAO,sCAAsC;AAW7C,OAAO,MAAMC,qBAAqBP;IAwD9BQ,oBAAoB;QAChB,OAAQ,IAAI,CAACC,GAAG,GAAGC,IAAIC,eAAe,CAAC,IAAI,CAACC,KAAK,CAACC,IAAI;IAC1D;IAEAC,uBAAuB;QACnB,IAAI,IAAI,CAACL,GAAG,EAAE;YACVC,IAAIK,eAAe,CAAC,IAAI,CAACN,GAAG;QAChC;IACJ;IAEAO,SAAS;QACL,OAAO,IAAI,CAACP,GAAG,iBACX,KAACJ;YACGY,MAAM;YACNR,KAAK,IAAI,CAACA,GAAG;YACbS,MAAM,IAAI,CAACA,IAAI;YACfC,UAAU,IAAI,CAACC,YAAY;YAC3BC,eAAe,IAAI,CAACC,iBAAiB;aAEzC;IACR;IAvEAC,YAAYX,KAAwB,CAAE;QAClC,KAAK,CAACA,QALV,uBAAoBH,OAApB,KAAA,IACA,uBAAoBS,QAApB,KAAA,IACA,uBAAoBM,SAApB,KAAA,IAOAC,uBAAAA,iBAAgB,CAACC,MAAcC,WAC3B,IAAIC,QAA0BC,CAAAA;gBAC1B,IAAI,CAAC,IAAI,CAACL,KAAK,IAAI,CAAC,IAAI,CAACN,IAAI,EAAE;oBAC3BW,QAAQC;oBACR;gBACJ;gBAEA,MAAM,EAAEC,CAAC,EAAEC,CAAC,EAAE,GAAG,IAAI,CAACd,IAAI;gBAC1B,IAAIa,KAAK,QAAQC,KAAK,MAAM;oBACxBH,QAAQC;oBACR;gBACJ;gBAEA,MAAM,EAAEG,KAAK,EAAEC,MAAM,EAAE,GAAG,IAAI,CAACtB,KAAK,CAACM,IAAI;gBACzC,MAAMiB,SAASC,SAASC,aAAa,CAAC;gBACtCF,OAAOF,KAAK,GAAGA;gBACfE,OAAOD,MAAM,GAAGA;gBAChB,MAAMI,MAAMH,OAAOI,UAAU,CAAC;gBAC9B,IAAI,CAACD,KAAK;oBACNT,QAAQC;oBACR;gBACJ;gBAEAQ,IAAIE,SAAS,CACT,IAAI,CAAChB,KAAK,EACVO,IAAK,CAAA,IAAI,CAACP,KAAK,CAACiB,YAAY,GAAG,IAAI,CAACjB,KAAK,CAACS,KAAK,AAAD,GAC9CD,IAAK,CAAA,IAAI,CAACR,KAAK,CAACkB,aAAa,GAAG,IAAI,CAAClB,KAAK,CAACU,MAAM,AAAD,GAChDD,OACAC,QACA,GACA,GACAD,OACAC;gBAGJC,OAAOQ,MAAM,CACTC,CAAAA;oBACI,MAAMC,SAASD,OAAO,IAAIE,KAAK;wBAACF;qBAAK,EAAEjB,YAAYG;oBACnDD,QAAQgB;gBACZ,GACAnB,MACA;YAER,KAyBJ,uBACQN,gBAAe,CAACF,OAAgB,IAAI,CAACA,IAAI,GAAGA,OAEpD,uBACQI,qBAAoB,CAACE;YACzB,IAAI,CAACA,KAAK,GAAGA;YACb,IAAI,CAACN,IAAI,GAAG;gBACR6B,MAAM;gBACNhB,GAAG;gBACHC,GAAG;gBACHC,OAAO,IAAI,CAACrB,KAAK,CAACM,IAAI,CAACe,KAAK,GAAIT,CAAAA,MAAMS,KAAK,GAAGT,MAAMiB,YAAY,AAAD;gBAC/DP,QAAQ,IAAI,CAACtB,KAAK,CAACM,IAAI,CAACgB,MAAM,GAAIV,CAAAA,MAAMU,MAAM,GAAGV,MAAMkB,aAAa,AAAD;YACvE;YAEA,OAAO;QACX;QAtFIvC,eAAe,IAAI;IACvB;AAsFJ"}