@cccsaurora/clue-ui 1.2.3-dev.266 → 1.2.3

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 (183) hide show
  1. package/ActionForm-DlOXqMUx.js +4460 -0
  2. package/AnnotationDetails-Bk-p0F6h.js +160 -0
  3. package/AnnotationPreview-jzZvkCxJ.js +140 -0
  4. package/ClueEnrichContext-KqRuuWNS.js +418 -0
  5. package/FlexOne-BXWFOd1T.js +6 -0
  6. package/_MapCache-BiTi0iqu.js +180 -0
  7. package/_Uint8Array-BQNOM9Rr.js +101 -0
  8. package/_baseAssignValue-CNMLQZco.js +20 -0
  9. package/_baseClone-BnT-6pyM.js +207 -0
  10. package/_baseExtremum-Ca2EHgy2.js +16 -0
  11. package/_baseFlatten-Bfr_Molw.js +72 -0
  12. package/_baseGet-DSZygzyq.js +79 -0
  13. package/_baseIsEqual-VgvaAFZG.js +147 -0
  14. package/_baseIteratee-Dbfsw5z8.js +95 -0
  15. package/_baseSlice-M5RKzt1A.js +10 -0
  16. package/_baseSum-wEbgNeUs.js +10 -0
  17. package/_baseUniq-BJcj69PL.js +79 -0
  18. package/_commonjsHelpers-DaMA6jEr.js +8 -0
  19. package/_createAggregator-k3TuAnxT.js +53 -0
  20. package/_getPrototype-Cr1Mk7BC.js +5 -0
  21. package/_getTag-CK2Sffaq.js +90 -0
  22. package/_isIterateeCall-DkJP7Rbx.js +13 -0
  23. package/_setToArray-C7yMOeww.js +29 -0
  24. package/cloneDeep-CF8TtLHr.js +8 -0
  25. package/components/AnnotationBody.js +35 -49
  26. package/components/AnnotationDetailPopover.js +30 -36
  27. package/components/AnnotationDetails.js +7 -7
  28. package/components/AnnotationEntry.js +35 -35
  29. package/components/AnnotationPreview.js +5 -5
  30. package/components/ClassificationChip.js +23 -44
  31. package/components/CountBadge.js +26 -31
  32. package/components/EnrichedCard.js +97 -110
  33. package/components/EnrichedChip.js +105 -130
  34. package/components/EnrichedTypography.js +107 -133
  35. package/components/ErrorBoundary.js +24 -28
  36. package/components/RetryFailedEnrichments.js +9 -10
  37. package/components/SourcePicker.js +49 -57
  38. package/components/actions/ActionForm.js +4 -4
  39. package/components/actions/ExecutePopover.js +59 -75
  40. package/components/actions/ResultModal.js +4 -4
  41. package/components/actions/form/schemaAdapter.js +23 -39
  42. package/components/actions/formats/FileResult.js +59 -86
  43. package/components/actions/formats/index.js +10 -21
  44. package/components/display/graph/ExpandMoreButton.js +10 -10
  45. package/components/display/graph/elements/NodeCard.js +91 -111
  46. package/components/display/graph/elements/NodeTag.js +13 -15
  47. package/components/display/graph/index.js +202 -261
  48. package/components/display/graph/visualizations/Leaf.js +69 -88
  49. package/components/display/graph/visualizations/cloud/index.js +81 -98
  50. package/components/display/graph/visualizations/icons/BaseIcon.js +21 -26
  51. package/components/display/graph/visualizations/icons/BugIcon.js +12 -12
  52. package/components/display/graph/visualizations/icons/HostIcon.js +12 -12
  53. package/components/display/graph/visualizations/icons/NetworkIcon.js +12 -12
  54. package/components/display/graph/visualizations/icons/ProcessIcon.js +12 -12
  55. package/components/display/graph/visualizations/icons/TargetIcon.js +13 -13
  56. package/components/display/graph/visualizations/icons/index.js +13 -14
  57. package/components/display/graph/visualizations/panels/NodePanel.js +8 -10
  58. package/components/display/graph/visualizations/tree/BundleLine.js +81 -108
  59. package/components/display/graph/visualizations/tree/Triangle.js +13 -13
  60. package/components/display/graph/visualizations/tree/index.js +306 -408
  61. package/components/display/icons/Iconified.js +12 -27
  62. package/components/display/json/index.js +4 -4
  63. package/components/display/markdown/index.js +5770 -8678
  64. package/components/enrichment/EnrichPopover.js +46 -54
  65. package/components/fetchers/Fetcher.js +119 -158
  66. package/components/fetchers/PreviewModal.js +17 -20
  67. package/components/fetchers/StatusChip.js +17 -21
  68. package/components/group/Entry.js +11 -13
  69. package/components/group/Group.js +10 -13
  70. package/components/group/GroupControl.js +65 -76
  71. package/components/stats/QueryStatus.js +33 -43
  72. package/countBy-CdYegFSu.js +8 -0
  73. package/data/event.js +4 -6
  74. package/database/index.js +2 -2
  75. package/debounce-DryYcbJ4.js +56 -0
  76. package/get-CH7kz5Ix.js +8 -0
  77. package/groupBy-br8xmD2R.js +8 -0
  78. package/hooks/ClueActionContext.js +6 -6
  79. package/hooks/ClueComponentContext.js +23 -29
  80. package/hooks/ClueConfigProvider.js +12 -14
  81. package/hooks/ClueDatabaseContext.js +13 -19
  82. package/hooks/ClueEnrichContext.js +8 -8
  83. package/hooks/ClueFetcherContext.js +56 -83
  84. package/hooks/ClueGroupContext.js +14 -17
  85. package/hooks/CluePopupContext.js +5 -5
  86. package/hooks/ClueProvider.js +10 -12
  87. package/hooks/selectors.js +7 -7
  88. package/hooks/useActionResult.js +2 -2
  89. package/hooks/useAnnotations.js +31 -47
  90. package/hooks/useClue.js +4 -6
  91. package/hooks/useClueActions.js +3 -3
  92. package/hooks/useClueConfig.js +4 -6
  93. package/hooks/useClueTypeConfig.js +3 -3
  94. package/hooks/useComparator.js +435 -722
  95. package/hooks/useErrors.js +18 -22
  96. package/hooks/useFetcherResult.js +24 -33
  97. package/hooks/useMyHighlights.js +36 -66
  98. package/hooks/useMyLocalStorage.js +37 -66
  99. package/iconify-BBckr5AQ.js +1263 -0
  100. package/icons/Action.js +49 -66
  101. package/icons/Assessment.js +69 -85
  102. package/icons/Context.js +63 -77
  103. package/icons/Opinion.js +60 -76
  104. package/icons/iconMap.js +2 -2
  105. package/identity-ByMq8VxU.js +6 -0
  106. package/index-BHAe_V9n.js +12768 -0
  107. package/index-BK-zfYhR.js +358 -0
  108. package/index-CA5CUNZO.js +975 -0
  109. package/index-Dj5C04IX.js +568 -0
  110. package/index-p5_wX7q1.js +11729 -0
  111. package/isNil-CjWwlQS3.js +6 -0
  112. package/isObject-B53jY8Qg.js +7 -0
  113. package/isObjectLike-BatpeCIi.js +29 -0
  114. package/isSymbol-C3_SC0Qp.js +8 -0
  115. package/last-7CdUxN0r.js +7 -0
  116. package/main.js +60 -60
  117. package/maxBy-Bc0dYHcO.js +8 -0
  118. package/package.json +1 -1
  119. package/sortBy-DY2JBf9n.js +75 -0
  120. package/sumBy-DuMASLPd.js +8 -0
  121. package/text/Frequency.js +23 -42
  122. package/toFinite-BMy6GObD.js +14 -0
  123. package/toNumber-YVhnnJv4.js +31 -0
  124. package/useClueTypeConfig-Ct9Ygter.js +2292 -0
  125. package/utils/chain.js +65 -92
  126. package/utils/classificationParser.js +256 -519
  127. package/utils/constants.js +10 -35
  128. package/utils/graph.js +45 -72
  129. package/utils/hashUtil.js +7 -7
  130. package/utils/line.js +81 -131
  131. package/utils/loggerUtil.js +3 -5
  132. package/utils/sessionStorage.js +27 -41
  133. package/utils/time.js +423 -423
  134. package/utils/utils.js +9 -9
  135. package/utils/window.js +10 -21
  136. package/utils-DmwSUrum.js +129 -0
  137. package/ActionForm-uDp92tN2.js +0 -5941
  138. package/AnnotationDetails-DGYfOiWm.js +0 -175
  139. package/AnnotationPreview-bHObsb3P.js +0 -188
  140. package/ClueEnrichContext-CJEJxrgs.js +0 -541
  141. package/FlexOne-BSYAhhtG.js +0 -9
  142. package/_MapCache-WmuDdwuH.js +0 -222
  143. package/_Uint8Array-B7JqpgFX.js +0 -128
  144. package/_baseAssignValue-CGTuELqU.js +0 -25
  145. package/_baseClone-CkNrTyhm.js +0 -283
  146. package/_baseExtremum-kob8QXyt.js +0 -18
  147. package/_baseFlatten-jIR_sN_-.js +0 -92
  148. package/_baseGet-Bx3A4Qfp.js +0 -108
  149. package/_baseIsEqual-C5OTWzTk.js +0 -208
  150. package/_baseIteratee-avi7MX2o.js +0 -126
  151. package/_baseSlice-GAv_YFTT.js +0 -20
  152. package/_baseSum-D0WC1dN0.js +0 -13
  153. package/_baseUniq-BI9GIHMF.js +0 -115
  154. package/_commonjsHelpers-DWwsNxpa.js +0 -8
  155. package/_createAggregator-QD8MzKwe.js +0 -63
  156. package/_getPrototype-CU0j_POw.js +0 -5
  157. package/_getTag-Ckxxfr88.js +0 -126
  158. package/_isIterateeCall-Ds3sw2SF.js +0 -17
  159. package/_setToArray-CaPKQhcz.js +0 -33
  160. package/cloneDeep-DJrLSw8W.js +0 -8
  161. package/countBy-c6S3dvSW.js +0 -14
  162. package/debounce-bV0h5FC5.js +0 -92
  163. package/get-DSsNkRQs.js +0 -8
  164. package/groupBy-xqz-n0Vd.js +0 -14
  165. package/iconify-CXMreGTg.js +0 -1782
  166. package/identity-CPGTqrE4.js +0 -6
  167. package/index-AMfoEg_6.js +0 -696
  168. package/index-B6C2a_Lg.js +0 -1172
  169. package/index-C12gPw2W.js +0 -17698
  170. package/index-DCKkHTvx.js +0 -15750
  171. package/index-JcKyZeoY.js +0 -465
  172. package/isNil-CIubwp4T.js +0 -6
  173. package/isObject-FTY-5JQX.js +0 -7
  174. package/isObjectLike-OAgjjZye.js +0 -48
  175. package/isSymbol-Xd2FsJyp.js +0 -8
  176. package/last-CUCl67Im.js +0 -7
  177. package/maxBy-IKHzFrCS.js +0 -8
  178. package/sortBy-DfSj8IoJ.js +0 -96
  179. package/sumBy-D-hb_NY-.js +0 -8
  180. package/toFinite-Bc55msYj.js +0 -16
  181. package/toNumber-DPxy1FBy.js +0 -39
  182. package/useClueTypeConfig-Z1LFp01b.js +0 -3289
  183. package/utils-HmNPuoDB.js +0 -199
@@ -1,16 +1,15 @@
1
- import BugIcon from "./BugIcon.js";
2
- import HostIcon from "./HostIcon.js";
3
- import NetworkIcon from "./NetworkIcon.js";
4
- import ProcessIcon from "./ProcessIcon.js";
5
- import TargetIcon from "./TargetIcon.js";
6
- const ICON_MAP = {
7
- bug: BugIcon,
8
- target: TargetIcon,
9
- host: HostIcon,
10
- network: NetworkIcon,
11
- process: ProcessIcon
12
- };
13
- const getIcon = (icon) => ICON_MAP[icon];
1
+ import r from "./BugIcon.js";
2
+ import t from "./HostIcon.js";
3
+ import c from "./NetworkIcon.js";
4
+ import m from "./ProcessIcon.js";
5
+ import e from "./TargetIcon.js";
6
+ const n = {
7
+ bug: r,
8
+ target: e,
9
+ host: t,
10
+ network: c,
11
+ process: m
12
+ }, i = (o) => n[o];
14
13
  export {
15
- getIcon as default
14
+ i as default
16
15
  };
@@ -1,12 +1,10 @@
1
- import { jsxs, Fragment, jsx } from "react/jsx-runtime";
2
- import { Skeleton } from "@mui/material";
3
- import NodeCard from "../../elements/NodeCard.js";
4
- const NodePanel = ({ selectedNodeIds, findNode }) => {
5
- return /* @__PURE__ */ jsxs(Fragment, { children: [
6
- selectedNodeIds.map((selectedNodeId) => findNode(selectedNodeId)).filter((node) => !!node).map((node) => /* @__PURE__ */ jsx(NodeCard, { node }, node.id)),
7
- selectedNodeIds.length < 1 && /* @__PURE__ */ jsx(Skeleton, { variant: "rounded", height: 150 })
8
- ] });
9
- };
1
+ import { jsxs as e, Fragment as m, jsx as o } from "react/jsx-runtime";
2
+ import { Skeleton as i } from "@mui/material";
3
+ import n from "../../elements/NodeCard.js";
4
+ const d = ({ selectedNodeIds: t, findNode: a }) => /* @__PURE__ */ e(m, { children: [
5
+ t.map((r) => a(r)).filter((r) => !!r).map((r) => /* @__PURE__ */ o(n, { node: r }, r.id)),
6
+ t.length < 1 && /* @__PURE__ */ o(i, { variant: "rounded", height: 150 })
7
+ ] });
10
8
  export {
11
- NodePanel as default
9
+ d as default
12
10
  };
@@ -1,121 +1,94 @@
1
- import { jsxs, jsx } from "react/jsx-runtime";
2
- import { useTheme } from "@mui/material";
3
- import { d as d3, S as Spectral } from "../../../../../index-DCKkHTvx.js";
4
- import { useMyLocalStorageItem } from "../../../../../hooks/useMyLocalStorage.js";
5
- import { StorageKey } from "../../../../../utils/constants.js";
6
- import { buildHorizontalLine, buildVerticalLine } from "../../../../../utils/line.js";
7
- import { i as isNil } from "../../../../../isNil-CIubwp4T.js";
8
- import { useMemo } from "react";
9
- import { cyrb53 } from "../../../../../utils/graph.js";
10
- const BundleLine = ({
11
- bundle,
12
- linesByLevel,
13
- paddingByLevel,
14
- maxArcRadius,
15
- lineWidth,
16
- linePaddingX,
17
- linePaddingY,
18
- highlightedPath,
19
- nodeLocations,
20
- inputsByNode,
21
- outputsByNode,
22
- lineDirection,
23
- colorTheme
1
+ import { jsxs as W, jsx as x } from "react/jsx-runtime";
2
+ import { useTheme as $ } from "@mui/material";
3
+ import { d as q, S as D } from "../../../../../index-p5_wX7q1.js";
4
+ import { useMyLocalStorageItem as H } from "../../../../../hooks/useMyLocalStorage.js";
5
+ import { StorageKey as A } from "../../../../../utils/constants.js";
6
+ import { buildHorizontalLine as Q, buildVerticalLine as U } from "../../../../../utils/line.js";
7
+ import { i as I } from "../../../../../isNil-CjWwlQS3.js";
8
+ import { useMemo as z } from "react";
9
+ import { cyrb53 as Z } from "../../../../../utils/graph.js";
10
+ const or = ({
11
+ bundle: t,
12
+ linesByLevel: c,
13
+ paddingByLevel: M,
14
+ maxArcRadius: T,
15
+ lineWidth: n,
16
+ linePaddingX: k,
17
+ linePaddingY: C,
18
+ highlightedPath: o,
19
+ nodeLocations: m,
20
+ inputsByNode: s,
21
+ outputsByNode: a,
22
+ lineDirection: X,
23
+ colorTheme: E
24
24
  }) => {
25
- const theme = useTheme();
26
- const [colorSetting] = useMyLocalStorageItem(StorageKey.COLOR_SCHEME, "Spectral");
27
- const [forceColorSetting] = useMyLocalStorageItem(StorageKey.FORCE_COLOR_SETTING, "Spectral");
28
- const colorScheme = useMemo(
29
- () => forceColorSetting ? colorSetting : colorTheme || colorSetting,
30
- [colorSetting, colorTheme, forceColorSetting]
31
- );
32
- const color = useMemo(
33
- () => (d3[`interpolate${colorScheme}`] ?? Spectral)(cyrb53(JSON.stringify(bundle))),
34
- [bundle, colorScheme]
35
- );
36
- const opacities = useMemo(
37
- () => (_bundle) => highlightedPath.size === 0 || _bundle.sources.some((source) => highlightedPath.has(source.id)) && _bundle.destinations.some((destination) => highlightedPath.has(destination.id)) ? 1 : 0.2,
38
- [highlightedPath]
39
- );
40
- const arrows = [];
41
- const d = bundle.sources.flatMap((source) => {
42
- const result = bundle.destinations.flatMap((dest) => {
43
- var _a, _b;
44
- linesByLevel[dest.level].delete(bundle.id);
45
- const [parentX, rawParentY] = nodeLocations[source.id];
46
- const parentY = rawParentY + (((_a = outputsByNode[source.id]) == null ? void 0 : _a.size) ?? 0) * linePaddingY;
47
- const [childX, rawChildY, childHeight] = nodeLocations[dest.id];
48
- const childY = rawChildY + (((_b = inputsByNode[dest.id]) == null ? void 0 : _b.size) ?? 0 + +(source.id === dest.id)) * linePaddingY;
49
- const distanceX = childX - parentX;
50
- const distanceY = childY - parentY;
51
- const arcRadius = Math.min(Math.abs(distanceY / 3), maxArcRadius);
52
- if (lineDirection === "horizontal") {
53
- return buildHorizontalLine({
54
- paddingAtLevel: paddingByLevel[dest.level],
55
- numLines: linesByLevel[dest.level].size,
56
- nodeLocations,
57
- dest,
58
- distanceX,
59
- distanceY,
60
- childX,
61
- childY,
62
- childHeight,
63
- parentX,
64
- parentY,
65
- linePaddingX,
66
- arcRadius
67
- });
68
- } else {
69
- return buildVerticalLine({
70
- paddingAtLevel: paddingByLevel[dest.level],
71
- numLines: linesByLevel[dest.level].size,
72
- distanceX,
73
- distanceY,
74
- childX,
75
- childY,
76
- childHeight,
77
- parentX,
78
- parentY,
79
- linePaddingX,
80
- arcRadius
81
- });
82
- }
25
+ const _ = $(), [l] = H(A.COLOR_SCHEME, "Spectral"), [O] = H(A.FORCE_COLOR_SETTING, "Spectral"), w = z(
26
+ () => O ? l : E || l,
27
+ [l, E, O]
28
+ ), F = z(
29
+ () => (q[`interpolate${w}`] ?? D)(Z(JSON.stringify(t))),
30
+ [t, w]
31
+ ), G = z(
32
+ () => (r) => o.size === 0 || r.sources.some((e) => o.has(e.id)) && r.destinations.some((e) => o.has(e.id)) ? 1 : 0.2,
33
+ [o]
34
+ ), J = [], L = t.sources.flatMap((r) => t.destinations.flatMap((i) => {
35
+ var g, j;
36
+ c[i.level].delete(t.id);
37
+ const [f, K] = m[r.id], p = K + (((g = a[r.id]) == null ? void 0 : g.size) ?? 0) * C, [S, V, v] = m[i.id], d = V + (((j = s[i.id]) == null ? void 0 : j.size) ?? 0 + +(r.id === i.id)) * C, R = S - f, h = d - p, Y = Math.min(Math.abs(h / 3), T);
38
+ return X === "horizontal" ? Q({
39
+ paddingAtLevel: M[i.level],
40
+ numLines: c[i.level].size,
41
+ nodeLocations: m,
42
+ dest: i,
43
+ distanceX: R,
44
+ distanceY: h,
45
+ childX: S,
46
+ childY: d,
47
+ childHeight: v,
48
+ parentX: f,
49
+ parentY: p,
50
+ linePaddingX: k,
51
+ arcRadius: Y
52
+ }) : U({
53
+ paddingAtLevel: M[i.level],
54
+ numLines: c[i.level].size,
55
+ distanceX: R,
56
+ distanceY: h,
57
+ childX: S,
58
+ childY: d,
59
+ childHeight: v,
60
+ parentX: f,
61
+ parentY: p,
62
+ linePaddingX: k,
63
+ arcRadius: Y
83
64
  });
84
- return result;
85
- }).join("\n");
86
- bundle.destinations.forEach((dest) => {
87
- if (isNil(inputsByNode[dest.id])) {
88
- inputsByNode[dest.id] = /* @__PURE__ */ new Set();
89
- }
90
- inputsByNode[dest.id].add(bundle.id);
91
- });
92
- bundle.sources.forEach((source) => {
93
- if (isNil(outputsByNode[source.id])) {
94
- outputsByNode[source.id] = /* @__PURE__ */ new Set();
95
- }
96
- outputsByNode[source.id].add(bundle.id);
97
- });
98
- return /* @__PURE__ */ jsxs("g", { className: "path", style: { opacity: opacities(bundle) }, children: [
99
- /* @__PURE__ */ jsx(
65
+ })).join(`
66
+ `);
67
+ return t.destinations.forEach((r) => {
68
+ I(s[r.id]) && (s[r.id] = /* @__PURE__ */ new Set()), s[r.id].add(t.id);
69
+ }), t.sources.forEach((r) => {
70
+ I(a[r.id]) && (a[r.id] = /* @__PURE__ */ new Set()), a[r.id].add(t.id);
71
+ }), /* @__PURE__ */ W("g", { className: "path", style: { opacity: G(t) }, children: [
72
+ /* @__PURE__ */ x(
100
73
  "path",
101
74
  {
102
- d,
103
- style: { fill: "none", stroke: theme.palette.background.paper, strokeWidth: lineWidth + 3 }
75
+ d: L,
76
+ style: { fill: "none", stroke: _.palette.background.paper, strokeWidth: n + 3 }
104
77
  },
105
- bundle.id + "-bg"
78
+ t.id + "-bg"
106
79
  ),
107
- /* @__PURE__ */ jsx(
80
+ /* @__PURE__ */ x(
108
81
  "path",
109
82
  {
110
- d,
111
- strokeWidth: lineWidth,
112
- style: { fill: "none", stroke: color, strokeWidth: lineWidth }
83
+ d: L,
84
+ strokeWidth: n,
85
+ style: { fill: "none", stroke: F, strokeWidth: n }
113
86
  },
114
- bundle.id + "-fg"
87
+ t.id + "-fg"
115
88
  ),
116
- arrows
117
- ] }, bundle.id);
89
+ J
90
+ ] }, t.id);
118
91
  };
119
92
  export {
120
- BundleLine as default
93
+ or as default
121
94
  };
@@ -1,26 +1,26 @@
1
- import { jsxs, jsx } from "react/jsx-runtime";
2
- import { useTheme } from "@mui/material";
3
- const Triangle = ({ x, y, fill, lineWidth }) => {
4
- const theme = useTheme();
5
- return /* @__PURE__ */ jsxs("g", { className: "arrow", children: [
6
- /* @__PURE__ */ jsx(
1
+ import { jsxs as m, jsx as p } from "react/jsx-runtime";
2
+ import { useTheme as e } from "@mui/material";
3
+ const t = ({ x: r, y: s, fill: $, lineWidth: o }) => {
4
+ const a = e();
5
+ return /* @__PURE__ */ m("g", { className: "arrow", children: [
6
+ /* @__PURE__ */ p(
7
7
  "polygon",
8
8
  {
9
- points: `${x},${y - 1.5 * lineWidth} ${x - 2 * lineWidth},${y + 1.5 * lineWidth} ${x + 2 * lineWidth},${y + 1.5 * lineWidth}`,
10
- style: { fill },
11
- stroke: theme.palette.background.paper,
9
+ points: `${r},${s - 1.5 * o} ${r - 2 * o},${s + 1.5 * o} ${r + 2 * o},${s + 1.5 * o}`,
10
+ style: { fill: $ },
11
+ stroke: a.palette.background.paper,
12
12
  strokeWidth: 2
13
13
  }
14
14
  ),
15
- /* @__PURE__ */ jsx(
15
+ /* @__PURE__ */ p(
16
16
  "polygon",
17
17
  {
18
- points: `${x - lineWidth / 2},${y - 2 * lineWidth} ${x + lineWidth / 2},${y - 2 * lineWidth} ${x + lineWidth / 2},${y + 2 * lineWidth} ${x - lineWidth / 2},${y + 2 * lineWidth}`,
19
- style: { fill }
18
+ points: `${r - o / 2},${s - 2 * o} ${r + o / 2},${s - 2 * o} ${r + o / 2},${s + 2 * o} ${r - o / 2},${s + 2 * o}`,
19
+ style: { fill: $ }
20
20
  }
21
21
  )
22
22
  ] });
23
23
  };
24
24
  export {
25
- Triangle as default
25
+ t as default
26
26
  };