@redsift/products 12.0.0-muiv7 → 12.1.0-muiv5

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.
@@ -0,0 +1,290 @@
1
+ import { _ as _objectSpread2, a as _objectWithoutProperties, b as _extends } from './_rollupPluginBabelHelpers.js';
2
+ import React__default, { useRef, useCallback, useMemo, useEffect, useId } from 'react';
3
+ import { select } from 'd3-selection';
4
+ import 'd3-transition';
5
+ import { arrows, html } from '@redsift/d3-rs-sankey';
6
+ import { aM as colors } from '../index2.js';
7
+
8
+ /**
9
+ * Lightweight throttle helper inspired by lodash/throttle.
10
+ */
11
+ function throttle(func) {
12
+ var _options$leading, _options$trailing;
13
+ let wait = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
14
+ let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
15
+ if (typeof func !== 'function') {
16
+ throw new TypeError('Expected a function');
17
+ }
18
+ let lastArgs;
19
+ let lastThis;
20
+ let result;
21
+ let timerId;
22
+ let lastCallTime;
23
+ let lastInvokeTime = 0;
24
+ const leading = (_options$leading = options.leading) !== null && _options$leading !== void 0 ? _options$leading : true;
25
+ const trailing = (_options$trailing = options.trailing) !== null && _options$trailing !== void 0 ? _options$trailing : true;
26
+ const invokeFunc = time => {
27
+ const args = lastArgs;
28
+ const thisArg = lastThis;
29
+ lastArgs = lastThis = undefined;
30
+ lastInvokeTime = time;
31
+ result = func.apply(thisArg, args);
32
+ return result;
33
+ };
34
+ const startTimer = (pendingFunc, delay) => setTimeout(pendingFunc, delay);
35
+ const remainingWait = time => {
36
+ if (lastCallTime === undefined) {
37
+ return 0;
38
+ }
39
+ const timeSinceLastCall = time - lastCallTime;
40
+ const timeSinceLastInvoke = time - lastInvokeTime;
41
+ return wait - Math.min(timeSinceLastCall, timeSinceLastInvoke);
42
+ };
43
+ const shouldInvoke = time => {
44
+ if (lastCallTime === undefined) {
45
+ return true;
46
+ }
47
+ const timeSinceLastCall = time - lastCallTime;
48
+ const timeSinceLastInvoke = time - lastInvokeTime;
49
+ return timeSinceLastCall >= wait || timeSinceLastCall < 0 || timeSinceLastInvoke >= wait;
50
+ };
51
+ const trailingEdge = time => {
52
+ timerId = undefined;
53
+ if (trailing && lastArgs) {
54
+ return invokeFunc(time);
55
+ }
56
+ lastArgs = lastThis = undefined;
57
+ return result;
58
+ };
59
+ const timerExpired = () => {
60
+ const time = Date.now();
61
+ if (shouldInvoke(time)) {
62
+ return trailingEdge(time);
63
+ }
64
+ timerId = startTimer(timerExpired, remainingWait(time));
65
+ return undefined;
66
+ };
67
+ const leadingEdge = time => {
68
+ lastInvokeTime = time;
69
+ timerId = startTimer(timerExpired, wait);
70
+ return leading ? invokeFunc(time) : result;
71
+ };
72
+ const cancel = () => {
73
+ if (timerId !== undefined) {
74
+ clearTimeout(timerId);
75
+ }
76
+ lastInvokeTime = 0;
77
+ lastArgs = lastCallTime = lastThis = timerId = undefined;
78
+ };
79
+ const flush = () => timerId === undefined ? result : trailingEdge(Date.now());
80
+ const throttled = function () {
81
+ const time = Date.now();
82
+ const isInvoking = shouldInvoke(time);
83
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
84
+ args[_key] = arguments[_key];
85
+ }
86
+ lastArgs = args;
87
+ lastThis = this;
88
+ lastCallTime = time;
89
+ if (isInvoking) {
90
+ if (timerId === undefined) {
91
+ return leadingEdge(time);
92
+ }
93
+ if (!leading) {
94
+ timerId = startTimer(timerExpired, wait);
95
+ return invokeFunc(time);
96
+ }
97
+ }
98
+ if (timerId === undefined) {
99
+ timerId = startTimer(timerExpired, wait);
100
+ }
101
+ return result;
102
+ };
103
+ throttled.cancel = cancel;
104
+ throttled.flush = flush;
105
+ return throttled;
106
+ }
107
+
108
+ function d3Wrap(methods) {
109
+ const mergedMethods = _objectSpread2({
110
+ initialize: () => {},
111
+ update: () => {},
112
+ destroy: () => {}
113
+ }, methods);
114
+ const {
115
+ initialize,
116
+ update: updateMethod,
117
+ destroy
118
+ } = mergedMethods;
119
+ const D3WrapComponent = _ref => {
120
+ let {
121
+ data,
122
+ options,
123
+ className,
124
+ onMount,
125
+ onUnmount
126
+ } = _ref;
127
+ const containerRef = useRef(null);
128
+ const lifecycleContextRef = useRef(null);
129
+ const initialDataRef = useRef(data);
130
+ const initialOptionsRef = useRef(options);
131
+ if (!lifecycleContextRef.current) {
132
+ lifecycleContextRef.current = {
133
+ element: null,
134
+ data,
135
+ options
136
+ };
137
+ } else {
138
+ lifecycleContextRef.current.data = data;
139
+ lifecycleContextRef.current.options = options;
140
+ }
141
+ const update = useCallback(() => {
142
+ const element = containerRef.current;
143
+ const context = lifecycleContextRef.current;
144
+ if (!element || !context) {
145
+ return;
146
+ }
147
+ context.element = element;
148
+ context.data = data;
149
+ context.options = options;
150
+ updateMethod.call(context, element, data, options);
151
+ }, [data, options, updateMethod]);
152
+
153
+ // Use ref pattern to avoid recreating throttled function when update changes
154
+ const updateRef = useRef(update);
155
+ updateRef.current = update;
156
+ const resizeHandler = useMemo(() => throttle(() => updateRef.current(), 500), []);
157
+ useEffect(() => {
158
+ const element = containerRef.current;
159
+ const context = lifecycleContextRef.current;
160
+ if (!element || !context) {
161
+ return undefined;
162
+ }
163
+ onMount === null || onMount === void 0 ? void 0 : onMount();
164
+ context.element = element;
165
+ context.data = initialDataRef.current;
166
+ context.options = initialOptionsRef.current;
167
+ initialize.call(context, element, initialDataRef.current, initialOptionsRef.current);
168
+ updateMethod.call(context, element, initialDataRef.current, initialOptionsRef.current);
169
+ return () => {
170
+ onUnmount === null || onUnmount === void 0 ? void 0 : onUnmount();
171
+ destroy.call(context);
172
+ context.element = null;
173
+ };
174
+ }, [destroy, initialize, onMount, onUnmount, updateMethod]);
175
+ useEffect(() => {
176
+ update();
177
+ }, [update]);
178
+ useEffect(() => {
179
+ window.addEventListener('resize', resizeHandler);
180
+ return () => {
181
+ window.removeEventListener('resize', resizeHandler);
182
+ resizeHandler.cancel();
183
+ };
184
+ }, [resizeHandler]);
185
+ const classes = className ? `d3-wrap ${className}` : 'd3-wrap';
186
+ return /*#__PURE__*/React__default.createElement("div", {
187
+ ref: containerRef,
188
+ className: classes
189
+ });
190
+ };
191
+ return D3WrapComponent;
192
+ }
193
+
194
+ const _excluded = ["options"];
195
+ const _arrows = arrows().arrowFill(colors.ondmarcGreen);
196
+ const _update = function (chart, div, data, animated) {
197
+ let options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {};
198
+ const {
199
+ matchingPath = null,
200
+ tipHtml = null,
201
+ width,
202
+ height
203
+ } = options;
204
+ const selection = select(div).datum(data);
205
+
206
+ // Use any type for bind to handle both Selection and Transition types
207
+ let bind = selection;
208
+ if (animated) {
209
+ bind = selection.transition().duration(666);
210
+ }
211
+ const _isPathSelected = d => {
212
+ var _d$target2, _d$target3, _d$source;
213
+ const matchingItem = matchingPath && d.target ? matchingPath.find(item => {
214
+ var _d$target;
215
+ return item.index === ((_d$target = d.target) === null || _d$target === void 0 ? void 0 : _d$target.index);
216
+ }) : null;
217
+ return Boolean(matchingItem && ((_d$target2 = d.target) === null || _d$target2 === void 0 ? void 0 : _d$target2.index) === matchingItem.index && ((_d$target3 = d.target) === null || _d$target3 === void 0 ? void 0 : _d$target3.name) === matchingItem.targetName && ((_d$source = d.source) === null || _d$source === void 0 ? void 0 : _d$source.name) === matchingItem.sourceName);
218
+ };
219
+ bind.call(chart.width(width).height(height).nodeFill(d => d.fill).text(d => {
220
+ return d.text ? d.text(d.name) : d.name;
221
+ }).pathClass(d => _isPathSelected(d) ? 'selected' : null).pathFill(d => _isPathSelected(d) ? colors.theme.green.lighter : colors.lightGrey));
222
+ if (tipHtml) {
223
+ bind.call(chart.tipHtml(tipHtml));
224
+ }
225
+ const pt = select(chart.self());
226
+
227
+ // const circular = pt.selectAll('g.paths path.circular');
228
+ const circular = pt.selectAll('g.paths path.selected');
229
+ circular.call(_arrows.parent(pt.select('g.overlays')));
230
+ };
231
+ const ChartSankeyBase = d3Wrap({
232
+ initialize(div, data, options) {
233
+ const {
234
+ width = 80,
235
+ height = 345,
236
+ marginLeft = -16,
237
+ marginRight = 0,
238
+ marginTop = 24,
239
+ marginBottom = 32,
240
+ nodePadding = 32,
241
+ labelAlign = 'stagger',
242
+ chartId = 'sankey-fallback'
243
+ } = options !== null && options !== void 0 ? options : {};
244
+ this.chart = html(chartId).height(height).width(width).nodePadding(nodePadding).margin({
245
+ left: marginLeft,
246
+ right: marginRight,
247
+ top: marginTop,
248
+ bottom: marginBottom
249
+ }).labelAlign(labelAlign);
250
+ },
251
+ update(div, data, options) {
252
+ const {
253
+ animated = false
254
+ } = options !== null && options !== void 0 ? options : {};
255
+ if (!this.chart) {
256
+ return;
257
+ }
258
+ _update(this.chart, div, data, animated, options !== null && options !== void 0 ? options : {});
259
+ },
260
+ destroy() {
261
+ // Optional clean up when a component is being unmounted...
262
+ this.chart = undefined;
263
+ }
264
+ });
265
+
266
+ /**
267
+ * Wrapper component that provides a React-friendly unique ID via useId()
268
+ * instead of using a global counter variable.
269
+ */
270
+ const ChartSankey = _ref => {
271
+ let {
272
+ options
273
+ } = _ref,
274
+ props = _objectWithoutProperties(_ref, _excluded);
275
+ const reactId = useId();
276
+ // Sanitize the React ID (remove colons) for use as a valid DOM ID
277
+ const sanitizedId = reactId.replace(/:/g, '-');
278
+ const mergedOptions = useMemo(() => {
279
+ var _options$chartId;
280
+ return _objectSpread2(_objectSpread2({}, options), {}, {
281
+ chartId: (_options$chartId = options === null || options === void 0 ? void 0 : options.chartId) !== null && _options$chartId !== void 0 ? _options$chartId : `sankey${sanitizedId}`
282
+ });
283
+ }, [options, sanitizedId]);
284
+ return /*#__PURE__*/React__default.createElement(ChartSankeyBase, _extends({}, props, {
285
+ options: mergedOptions
286
+ }));
287
+ };
288
+
289
+ export { ChartSankey as default };
290
+ //# sourceMappingURL=ChartSankey.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChartSankey.js","sources":["../../src/components/signal-cards/utils/throttle.ts","../../src/components/signal-cards/utils/d3-wrap.tsx","../../src/components/signal-cards/components/charts/ChartSankey.tsx"],"sourcesContent":["export type ThrottleOptions = {\n leading?: boolean;\n trailing?: boolean;\n};\n\nexport type ThrottledFunction<T extends (...args: any[]) => any> = ((...args: Parameters<T>) => ReturnType<T>) & {\n cancel: () => void;\n flush: () => ReturnType<T> | undefined;\n};\n\n/**\n * Lightweight throttle helper inspired by lodash/throttle.\n */\nexport function throttle<T extends (...args: any[]) => any>(\n func: T,\n wait = 0,\n options: ThrottleOptions = {}\n): ThrottledFunction<T> {\n if (typeof func !== 'function') {\n throw new TypeError('Expected a function');\n }\n\n let lastArgs: Parameters<T> | undefined;\n let lastThis: ThisParameterType<T> | undefined;\n let result: ReturnType<T> | undefined;\n let timerId: ReturnType<typeof setTimeout> | undefined;\n let lastCallTime: number | undefined;\n let lastInvokeTime = 0;\n\n const leading = options.leading ?? true;\n const trailing = options.trailing ?? true;\n\n const invokeFunc = (time: number) => {\n const args = lastArgs!;\n const thisArg = lastThis as ThisParameterType<T>;\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n };\n\n const startTimer = (pendingFunc: () => void, delay: number) => setTimeout(pendingFunc, delay);\n\n const remainingWait = (time: number) => {\n if (lastCallTime === undefined) {\n return 0;\n }\n const timeSinceLastCall = time - lastCallTime;\n const timeSinceLastInvoke = time - lastInvokeTime;\n return wait - Math.min(timeSinceLastCall, timeSinceLastInvoke);\n };\n\n const shouldInvoke = (time: number) => {\n if (lastCallTime === undefined) {\n return true;\n }\n const timeSinceLastCall = time - lastCallTime;\n const timeSinceLastInvoke = time - lastInvokeTime;\n return timeSinceLastCall >= wait || timeSinceLastCall < 0 || timeSinceLastInvoke >= wait;\n };\n\n const trailingEdge = (time: number) => {\n timerId = undefined;\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n };\n\n const timerExpired = () => {\n const time = Date.now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n timerId = startTimer(timerExpired, remainingWait(time));\n return undefined;\n };\n\n const leadingEdge = (time: number) => {\n lastInvokeTime = time;\n timerId = startTimer(timerExpired, wait);\n return leading ? invokeFunc(time) : result;\n };\n\n const cancel = () => {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n };\n\n const flush = () => (timerId === undefined ? result : trailingEdge(Date.now()));\n\n const throttled = function (this: ThisParameterType<T>, ...args: Parameters<T>) {\n const time = Date.now();\n const isInvoking = shouldInvoke(time);\n lastArgs = args;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(time);\n }\n if (!leading) {\n timerId = startTimer(timerExpired, wait);\n return invokeFunc(time);\n }\n }\n if (timerId === undefined) {\n timerId = startTimer(timerExpired, wait);\n }\n\n return result;\n } as ThrottledFunction<T>;\n\n throttled.cancel = cancel;\n throttled.flush = flush;\n\n return throttled;\n}\n","import React, { type FC, useCallback, useEffect, useMemo, useRef } from 'react';\nimport { throttle } from './throttle';\n\nexport type D3LifecycleContext<Data, Options> = {\n element: HTMLDivElement | null;\n data: Data;\n options: Options | undefined;\n} & Record<string, unknown>;\n\nexport type D3WrapMethods<Data, Options, Context extends D3LifecycleContext<Data, Options>> = {\n initialize?: (this: Context, element: HTMLDivElement, data: Data, options: Options | undefined) => void;\n update?: (this: Context, element: HTMLDivElement, data: Data, options: Options | undefined) => void;\n destroy?: (this: Context) => void;\n};\n\nexport type D3WrapProps<Data, Options> = {\n data: Data;\n options?: Options;\n className?: string;\n onMount?: () => void;\n onUnmount?: () => void;\n};\n\nexport default function d3Wrap<\n Data = unknown,\n Options = unknown,\n Context extends D3LifecycleContext<Data, Options> = D3LifecycleContext<Data, Options>\n>(methods: D3WrapMethods<Data, Options, Context>) {\n const mergedMethods: Required<D3WrapMethods<Data, Options, Context>> = {\n initialize: () => {},\n update: () => {},\n destroy: () => {},\n ...methods,\n };\n const { initialize, update: updateMethod, destroy } = mergedMethods;\n\n const D3WrapComponent: FC<D3WrapProps<Data, Options>> = ({ data, options, className, onMount, onUnmount }) => {\n const containerRef = useRef<HTMLDivElement | null>(null);\n const lifecycleContextRef = useRef<Context | null>(null);\n const initialDataRef = useRef(data);\n const initialOptionsRef = useRef(options);\n\n if (!lifecycleContextRef.current) {\n lifecycleContextRef.current = {\n element: null,\n data,\n options,\n } as Context;\n } else {\n lifecycleContextRef.current.data = data;\n lifecycleContextRef.current.options = options;\n }\n\n const update = useCallback(() => {\n const element = containerRef.current;\n const context = lifecycleContextRef.current;\n if (!element || !context) {\n return;\n }\n context.element = element;\n context.data = data;\n context.options = options;\n updateMethod.call(context, element, data, options);\n }, [data, options, updateMethod]);\n\n // Use ref pattern to avoid recreating throttled function when update changes\n const updateRef = useRef(update);\n updateRef.current = update;\n const resizeHandler = useMemo(() => throttle(() => updateRef.current(), 500), []);\n\n useEffect(() => {\n const element = containerRef.current;\n const context = lifecycleContextRef.current;\n if (!element || !context) {\n return undefined;\n }\n\n onMount?.();\n context.element = element;\n context.data = initialDataRef.current;\n context.options = initialOptionsRef.current;\n initialize.call(context, element, initialDataRef.current, initialOptionsRef.current);\n updateMethod.call(context, element, initialDataRef.current, initialOptionsRef.current);\n\n return () => {\n onUnmount?.();\n destroy.call(context);\n context.element = null;\n };\n }, [destroy, initialize, onMount, onUnmount, updateMethod]);\n\n useEffect(() => {\n update();\n }, [update]);\n\n useEffect(() => {\n window.addEventListener('resize', resizeHandler);\n return () => {\n window.removeEventListener('resize', resizeHandler);\n resizeHandler.cancel();\n };\n }, [resizeHandler]);\n\n const classes = className ? `d3-wrap ${className}` : 'd3-wrap';\n\n return <div ref={containerRef} className={classes} />;\n };\n\n return D3WrapComponent;\n}\n","import React, { useId, useMemo, type FC } from 'react';\nimport { select } from 'd3-selection';\nimport 'd3-transition';\n// @ts-ignore\nimport { html as d3sankey, arrows } from '@redsift/d3-rs-sankey';\n\nimport d3Wrap, { type D3LifecycleContext, type D3WrapProps } from '../../utils/d3-wrap';\nimport { colors } from '../../styles/styles';\n\nexport type SankeyNode = {\n name: string;\n text?: (value: string) => string;\n fill?: string;\n [key: string]: unknown;\n};\n\ntype SankeyLink = {\n source: number;\n target: number;\n value: number;\n};\n\nexport type SankeyData = {\n nodes: SankeyNode[];\n links: SankeyLink[];\n};\n\ntype MatchingPathEntry = {\n index: number;\n sourceName: string;\n targetName: string;\n};\n\nexport type ChartSankeyOptions = {\n matchingPath?: MatchingPathEntry[] | null;\n tipHtml?: ((datum: SankeyNode) => string) | null;\n width?: number;\n height?: number;\n marginLeft?: number;\n marginRight?: number;\n marginTop?: number;\n marginBottom?: number;\n nodePadding?: number;\n labelAlign?: string;\n chartId?: string;\n animated?: boolean;\n};\n\ntype SankeyPathDatum = {\n target?: { index?: number; name?: string };\n source?: { name?: string };\n};\n\ntype ChartSankeyContext = D3LifecycleContext<SankeyData, ChartSankeyOptions> & {\n chart?: ReturnType<typeof d3sankey>;\n};\n\nconst _arrows = arrows().arrowFill(colors.ondmarcGreen);\n\nconst _update = (\n chart: ReturnType<typeof d3sankey>,\n div: HTMLDivElement,\n data: SankeyData,\n animated: boolean,\n options: ChartSankeyOptions = {}\n) => {\n const { matchingPath = null, tipHtml = null, width, height } = options;\n const selection = select(div).datum(data);\n\n // Use any type for bind to handle both Selection and Transition types\n let bind: any = selection;\n\n if (animated) {\n bind = selection.transition().duration(666);\n }\n\n const _isPathSelected = (d: SankeyPathDatum) => {\n const matchingItem = matchingPath && d.target ? matchingPath.find((item) => item.index === d.target?.index) : null;\n\n return Boolean(\n matchingItem &&\n d.target?.index === matchingItem.index &&\n d.target?.name === matchingItem.targetName &&\n d.source?.name === matchingItem.sourceName\n );\n };\n\n bind.call(\n chart\n .width(width)\n .height(height)\n .nodeFill((d: any) => d.fill)\n .text((d: any) => {\n return d.text ? d.text(d.name) : d.name;\n })\n .pathClass((d: any) => (_isPathSelected(d) ? 'selected' : null))\n .pathFill((d: any) => (_isPathSelected(d) ? colors.theme.green.lighter : colors.lightGrey))\n );\n\n if (tipHtml) {\n bind.call(chart.tipHtml(tipHtml));\n }\n\n const pt = select(chart.self());\n\n // const circular = pt.selectAll('g.paths path.circular');\n const circular = pt.selectAll('g.paths path.selected');\n circular.call(_arrows.parent(pt.select('g.overlays')));\n};\n\nconst ChartSankeyBase = d3Wrap<SankeyData, ChartSankeyOptions, ChartSankeyContext>({\n initialize(div, data, options) {\n const {\n width = 80,\n height = 345,\n marginLeft = -16,\n marginRight = 0,\n marginTop = 24,\n marginBottom = 32,\n nodePadding = 32,\n labelAlign = 'stagger',\n chartId = 'sankey-fallback',\n } = options ?? {};\n\n this.chart = d3sankey(chartId)\n .height(height)\n .width(width)\n .nodePadding(nodePadding)\n .margin({\n left: marginLeft,\n right: marginRight,\n top: marginTop,\n bottom: marginBottom,\n })\n .labelAlign(labelAlign);\n },\n update(div, data, options) {\n const { animated = false } = options ?? {};\n\n if (!this.chart) {\n return;\n }\n\n _update(this.chart, div, data, animated, options ?? {});\n },\n destroy() {\n // Optional clean up when a component is being unmounted...\n this.chart = undefined;\n },\n});\n\n/**\n * Wrapper component that provides a React-friendly unique ID via useId()\n * instead of using a global counter variable.\n */\nconst ChartSankey: FC<D3WrapProps<SankeyData, ChartSankeyOptions>> = ({ options, ...props }) => {\n const reactId = useId();\n // Sanitize the React ID (remove colons) for use as a valid DOM ID\n const sanitizedId = reactId.replace(/:/g, '-');\n\n const mergedOptions = useMemo(\n () => ({\n ...options,\n chartId: options?.chartId ?? `sankey${sanitizedId}`,\n }),\n [options, sanitizedId]\n );\n\n return <ChartSankeyBase {...props} options={mergedOptions} />;\n};\n\nexport default ChartSankey;\n"],"names":["throttle","func","_options$leading","_options$trailing","wait","arguments","length","undefined","options","TypeError","lastArgs","lastThis","result","timerId","lastCallTime","lastInvokeTime","leading","trailing","invokeFunc","time","args","thisArg","apply","startTimer","pendingFunc","delay","setTimeout","remainingWait","timeSinceLastCall","timeSinceLastInvoke","Math","min","shouldInvoke","trailingEdge","timerExpired","Date","now","leadingEdge","cancel","clearTimeout","flush","throttled","isInvoking","_len","Array","_key","d3Wrap","methods","mergedMethods","_objectSpread","initialize","update","destroy","updateMethod","D3WrapComponent","_ref","data","className","onMount","onUnmount","containerRef","useRef","lifecycleContextRef","initialDataRef","initialOptionsRef","current","element","useCallback","context","call","updateRef","resizeHandler","useMemo","useEffect","window","addEventListener","removeEventListener","classes","React","createElement","ref","_arrows","arrows","arrowFill","colors","ondmarcGreen","_update","chart","div","animated","matchingPath","tipHtml","width","height","selection","select","datum","bind","transition","duration","_isPathSelected","d","_d$target2","_d$target3","_d$source","matchingItem","target","find","item","_d$target","index","Boolean","name","targetName","source","sourceName","nodeFill","fill","text","pathClass","pathFill","theme","green","lighter","lightGrey","pt","self","circular","selectAll","parent","ChartSankeyBase","marginLeft","marginRight","marginTop","marginBottom","nodePadding","labelAlign","chartId","d3sankey","margin","left","right","top","bottom","ChartSankey","props","_objectWithoutProperties","_excluded","reactId","useId","sanitizedId","replace","mergedOptions","_options$chartId","_extends"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { _ as _extends } from './_rollupPluginBabelHelpers.js';
1
+ import { b as _extends } from './_rollupPluginBabelHelpers.js';
2
2
  import React__default, { forwardRef } from 'react';
3
3
  import { Button } from '@redsift/design-system';
4
4
  import { rsiRadarSparkleWhite } from '@redsift/icons';
@@ -1,4 +1,4 @@
1
- import { _ as _extends } from './_rollupPluginBabelHelpers.js';
1
+ import { b as _extends } from './_rollupPluginBabelHelpers.js';
2
2
  import React__default, { forwardRef } from 'react';
3
3
  import { Item } from '@redsift/pickers';
4
4
 
@@ -1,4 +1,4 @@
1
- import { b as _objectSpread2, a as _objectWithoutProperties, _ as _extends } from './_rollupPluginBabelHelpers.js';
1
+ import { _ as _objectSpread2, a as _objectWithoutProperties, b as _extends } from './_rollupPluginBabelHelpers.js';
2
2
  import * as React from 'react';
3
3
  import React__default, { useLayoutEffect, useEffect, useRef, forwardRef, useContext, useState, useCallback } from 'react';
4
4
  import { baseContainer, Theme, getContainerStylingTransientProps, useBoundingClientRect, baseStyling, baseFlexbox, getStylingTransientProps, getFlexLayoutTransientProps, useId as useId$1, Skeleton, Heading, Icon, AppContainerContext, useTheme, useMessageFormatter, partitionComponents, isComponent, IconButton, ThemeProvider, Flexbox } from '@redsift/design-system';
@@ -1,4 +1,4 @@
1
- import { _ as _extends, a as _objectWithoutProperties } from './_rollupPluginBabelHelpers.js';
1
+ import { b as _extends, a as _objectWithoutProperties } from './_rollupPluginBabelHelpers.js';
2
2
  import React__default, { forwardRef } from 'react';
3
3
  import { Flexbox, Icon, Text } from '@redsift/design-system';
4
4
  import { rsiSparkleGradient } from '@redsift/icons';
@@ -89,5 +89,5 @@ function _toPropertyKey(arg) {
89
89
  return typeof key === "symbol" ? key : String(key);
90
90
  }
91
91
 
92
- export { _extends as _, _objectWithoutProperties as a, _objectSpread2 as b };
92
+ export { _objectSpread2 as _, _objectWithoutProperties as a, _extends as b };
93
93
  //# sourceMappingURL=_rollupPluginBabelHelpers.js.map
@@ -0,0 +1,2 @@
1
+ export { Z as ARecord, ax as ATAG, B as BIMI_CHECKER_SIGNAL_TYPES, ar as BimiRecord, C as CARD_STATUS, av as CMC, a5 as Canonicalization, aq as CipherSuite, a1 as CnameRecord, D as DOMAIN_ANALYZER_SIGNAL_TYPES, a2 as Dkim, aa as DkimAlgorithm, al as DkimAlignment, a4 as DkimSelector, a7 as DkimSignature, ai as DkimSigningDomain, ay as Dmarc, as as DmarcCompliant, ad as DmarcPolicy, X as Ehlo, ab as From, aL as GLOSSARY_ICON_MAP, V as GlossaryTerm, aw as ITAG, a8 as KeyLength, aF as MaxAge, aD as Mode, aG as MtaStsCertificate, aI as MtaStsCertificateCnameName, aK as MtaStsCertificateCnameType, aJ as MtaStsCertificateCnameValue, aH as MtaStsCertificateExpiry, aB as MtaStsPolicyFile, aA as MtaStsRecord, aE as Mx, P as PUBLIC_INVESTIGATE_SIGNAL_TYPES, ae as Pct, Y as PtrRecord, ac as ReturnPath, ag as Rua, ah as Ruf, r as SIGNAL_TYPES, E as STATUS_COLORS, F as STATUS_ICONS, G as STATUS_ICON_STYLES, at as SVG, W as SenderIp, o as SignalCardAmp, j as SignalCardBimi, c as SignalCardDkim, i as SignalCardDkimDomainAnalyzer, a as SignalCardDmarc, f as SignalCardDmarcDomain, n as SignalCardDnssec, d as SignalCardFcrdns, q as SignalCardGoogleYahooCompliance, S as SignalCardList, k as SignalCardMtaSts, b as SignalCardSpf, g as SignalCardSpfDomain, h as SignalCardSpfDomainAnalyzer, l as SignalCardSubdo, H as SignalCardThemeProvider, m as SignalCardThreatInv, e as SignalCardTls, p as SignalCardUrls, a6 as SignedHeaders, a3 as SignerDomain, af as Sp, an as Spf, am as SpfAlignment, aj as SpfDomain, _ as SpfRecord, ap as Ssl, ak as SubdomainPolicy, ao as Tls, az as TlsRptRecord, a9 as Ttl, $ as TxtRecord, a0 as TxtRecords, au as VMC, aC as Version, T as createGlossaryLink, N as extractDKIMdata, M as extractDMARCdata, R as extractFCrDNSdata, O as extractSPFdata, Q as extractTLSdata, K as getHeloOrMailFrom, L as getSignalStatus, t as getStatusColor, u as getStatusIcon, v as getStatusIconStyle, U as glossaryLabelIds, x as isCardStatus, z as isFailureStatus, y as isSuccessStatus, A as isWarningStatus, w as mapStatusToDetailedCardColor, s as normalizeStatus, J as useResolvedTheme, I as useSignalCardTheme } from '../index2.js';
2
+ //# sourceMappingURL=signal-cards.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signal-cards.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}