Add settings page for managing forecasting API key and URL via UI
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
cae411eae7
commit
1c411e402e
19809 changed files with 1962608 additions and 97 deletions
50
frontend/node_modules/recharts/es6/util/svgPropertiesAndEvents.js
generated
vendored
Normal file
50
frontend/node_modules/recharts/es6/util/svgPropertiesAndEvents.js
generated
vendored
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
import { isValidElement } from 'react';
|
||||
import { isEventKey } from './excludeEventProps';
|
||||
import { isDataAttribute, isSvgElementPropKey } from './svgPropertiesNoEvents';
|
||||
/**
|
||||
* Filters an object to only include SVG properties, data attributes, and event handlers.
|
||||
* @param obj - The object to filter.
|
||||
* @returns A new object containing only valid SVG properties, data attributes, and event handlers.
|
||||
*/
|
||||
export function svgPropertiesAndEvents(obj) {
|
||||
var result = {};
|
||||
// for ... in loop is 10x faster than Object.entries + filter + Object.fromEntries in Chrome
|
||||
|
||||
for (var key in obj) {
|
||||
if (Object.prototype.hasOwnProperty.call(obj, key)) {
|
||||
if (isSvgElementPropKey(key) || isDataAttribute(key) || isEventKey(key)) {
|
||||
result[key] = obj[key];
|
||||
}
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Function to filter SVG properties from various input types.
|
||||
* The input types can be:
|
||||
* - A record of string keys to any values, in which case it returns a record of only SVG properties
|
||||
* - A React element, in which case it returns the props of the element filtered to only SVG properties
|
||||
* - Anything else, in which case it returns null
|
||||
*
|
||||
* This function has a wide-open return type, because it will read and filter the props of an arbitrary React element.
|
||||
* This can be SVG, HTML, whatnot, with arbitrary values, so we can't type it more specifically.
|
||||
*
|
||||
* If you wish to have a type-safe version, use svgPropertiesNoEvents directly with a typed object.
|
||||
*
|
||||
* @param input - The input to filter, which can be a record, a React element, or other types.
|
||||
* @returns A record of SVG properties if the input is a record or React element, otherwise null.
|
||||
*/
|
||||
export function svgPropertiesAndEventsFromUnknown(input) {
|
||||
if (input == null) {
|
||||
return null;
|
||||
}
|
||||
if (/*#__PURE__*/isValidElement(input)) {
|
||||
// @ts-expect-error we can't type this better because input can be any React element
|
||||
return svgPropertiesAndEvents(input.props);
|
||||
}
|
||||
if (typeof input === 'object' && !Array.isArray(input)) {
|
||||
return svgPropertiesAndEvents(input);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue