@devtron-labs/devtron-fe-common-lib 1.20.3-beta-1 → 1.20.3-beta-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.
- package/dist/{@code-editor-23p2xPUN.js → @code-editor-ByLESKpU.js} +3180 -3142
- package/dist/{@common-rjsf-BKsX7g_Y.js → @common-rjsf-BsTsEeTG.js} +1 -1
- package/dist/Common/API/types.d.ts +5 -0
- package/dist/Common/Types.d.ts +12 -0
- package/dist/Pages/ResourceBrowser/types.d.ts +2 -1
- package/dist/Pages-Devtron-2.0/CostVisibility/Shared/constants.d.ts +4 -0
- package/dist/Pages-Devtron-2.0/CostVisibility/Shared/index.d.ts +1 -0
- package/dist/Pages-Devtron-2.0/CostVisibility/Shared/types.d.ts +20 -0
- package/dist/Shared/Components/Charts/types.d.ts +2 -1
- package/dist/Shared/Components/Charts/utils.d.ts +1 -1
- package/dist/Shared/Components/Icon/Icon.d.ts +3 -0
- package/dist/Shared/Components/PrometheusConfigurations/PrometheusConfigCard.d.ts +1 -1
- package/dist/Shared/Components/PrometheusConfigurations/types.d.ts +0 -1
- package/dist/assets/ic-check-circle.af18cd7e.svg +3 -0
- package/dist/assets/ic-folder-empty.8e898c33.svg +33 -0
- package/dist/assets/ic-party.cfc7e7c6.svg +4 -0
- package/dist/index.js +875 -873
- package/package.json +1 -1
@@ -1,7 +1,7 @@
|
|
1
1
|
import { j as n, aK as v, aM as J, aL as K } from "./@vendor-DceGoESd.js";
|
2
2
|
import V, { useState as q, useEffect as Y, forwardRef as G, useMemo as E } from "react";
|
3
3
|
import z, { getDefaultRegistry as Q } from "@rjsf/core";
|
4
|
-
import { T as O, j as F, c as S, b as N, S as X, i as Z, g as ee, a as te, d as R, e as ne } from "./@code-editor-
|
4
|
+
import { T as O, j as F, c as S, b as N, S as X, i as Z, g as ee, a as te, d as R, e as ne } from "./@code-editor-ByLESKpU.js";
|
5
5
|
import { getUiOptions as B, getTemplate as $, getSubmitButtonOptions as re, ADDITIONAL_PROPERTY_FLAG as L, errorId as se, englishStringTranslator as ae, TranslatableString as oe, titleId as le, canExpand as ie, deepEquals as ce } from "@rjsf/utils";
|
6
6
|
import { ReactComponent as de } from "./assets/ic-add.cfaa779b.svg";
|
7
7
|
import { ReactComponent as ue } from "./assets/ic-warning.ecf7ff97.svg";
|
@@ -19,5 +19,10 @@ export interface FetchInTimeParamsType<Data = object> {
|
|
19
19
|
isMultipartRequest?: boolean;
|
20
20
|
}
|
21
21
|
export interface FetchAPIParamsType<Data = object> extends Omit<FetchInTimeParamsType<Data>, 'options'>, Pick<APIOptions, 'preventAutoLogout' | 'preventLicenseRedirect' | 'shouldParseServerErrorForUnauthorizedUser'> {
|
22
|
+
/**
|
23
|
+
* @default false
|
24
|
+
* @description - If true, will override the default host (orchestrator or whatever defined initially in CoreAPI constructor) with the `proxy` host
|
25
|
+
*/
|
26
|
+
isProxyHost?: boolean;
|
22
27
|
signal: AbortSignal;
|
23
28
|
}
|
package/dist/Common/Types.d.ts
CHANGED
@@ -944,6 +944,17 @@ export type EnvironmentsGroupedByClustersType = {
|
|
944
944
|
clusterName: EnvironmentType['cluster'];
|
945
945
|
envList: EnvironmentType[];
|
946
946
|
}[];
|
947
|
+
export type ClusterCostModuleConfigPayload = {
|
948
|
+
enabled: true;
|
949
|
+
config?: Record<string, any>;
|
950
|
+
} | {
|
951
|
+
enabled: false;
|
952
|
+
config?: never;
|
953
|
+
};
|
954
|
+
interface ClusterCostModuleDetailsDTO extends Pick<ClusterCostModuleConfigPayload, 'enabled' | 'config'> {
|
955
|
+
installationStatus: 'Success' | 'Installing' | 'Upgrading' | 'NotInstalled' | 'Failed';
|
956
|
+
installationError?: string;
|
957
|
+
}
|
947
958
|
export interface ClusterDetailDTO {
|
948
959
|
category: ClusterEnvironmentCategoryType;
|
949
960
|
cluster_name: string;
|
@@ -959,6 +970,7 @@ export interface ClusterDetailDTO {
|
|
959
970
|
proxyUrl: string;
|
960
971
|
toConnectWithSSHTunnel: boolean;
|
961
972
|
clusterStatus: ClusterStatusType;
|
973
|
+
costModuleConfig: ClusterCostModuleDetailsDTO;
|
962
974
|
}
|
963
975
|
export interface ClusterDetailListType extends Omit<ClusterDetailDTO, 'server_url' | 'cluster_name' | 'prometheus_url' | 'id' | 'category' | 'clusterStatus'> {
|
964
976
|
serverUrl: ClusterDetailDTO['server_url'];
|
@@ -5,7 +5,8 @@ import { NodeActionRequest } from './ResourceBrowser.Types';
|
|
5
5
|
export declare enum ClusterFiltersType {
|
6
6
|
ALL_CLUSTERS = "all",
|
7
7
|
HEALTHY = "healthy",
|
8
|
-
UNHEALTHY = "unhealthy"
|
8
|
+
UNHEALTHY = "unhealthy",
|
9
|
+
CONNECTION_FAILED = "connectionFailed"
|
9
10
|
}
|
10
11
|
export declare enum InstallationClusterStatus {
|
11
12
|
Creating = "Creating",
|
@@ -0,0 +1,4 @@
|
|
1
|
+
import { IconName } from '../../../Shared/Components';
|
2
|
+
import { ClusterProviderType } from './types';
|
3
|
+
export declare const CLUSTER_PROVIDER_TO_ICON_NAME: Record<ClusterProviderType, IconName | null>;
|
4
|
+
export declare const CLUSTER_PROVIDER_TO_LABEL: Record<ClusterProviderType, string>;
|
@@ -1,3 +1,6 @@
|
|
1
|
+
import { ReactNode } from 'react';
|
2
|
+
import { RJSFFormSchema } from '../../../Common/RJSF';
|
3
|
+
import { ClusterDetailListType } from '../../../Common/Types';
|
1
4
|
export declare enum CostBreakdownViewType {
|
2
5
|
CLUSTERS = "clusters",
|
3
6
|
ENVIRONMENTS = "environments",
|
@@ -9,3 +12,20 @@ export declare enum CostBreakdownItemViewParamsType {
|
|
9
12
|
VIEW = "view",
|
10
13
|
DETAIL = "detail"
|
11
14
|
}
|
15
|
+
type RenderClusterFormParamsType = {
|
16
|
+
clusterDetails: ClusterDetailListType;
|
17
|
+
handleClose: () => void;
|
18
|
+
handleSuccess: () => void;
|
19
|
+
};
|
20
|
+
export interface CostVisibilityRenderContextType {
|
21
|
+
renderClusterForm: (params: RenderClusterFormParamsType) => JSX.Element;
|
22
|
+
}
|
23
|
+
export interface CostVisibilityRenderProviderProps extends CostVisibilityRenderContextType {
|
24
|
+
children: ReactNode;
|
25
|
+
}
|
26
|
+
export type ClusterProviderType = 'AWS' | 'GCP' | 'Azure' | 'Alibaba' | 'Scaleway' | 'Oracle' | 'OTC' | 'DigitalOcean' | 'Unknown';
|
27
|
+
export interface ClusterProviderDetailsType {
|
28
|
+
clusterProvider: ClusterProviderType;
|
29
|
+
costModuleSchema: RJSFFormSchema;
|
30
|
+
}
|
31
|
+
export {};
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { ReactNode } from 'react';
|
1
|
+
import { Dispatch, ReactNode, SetStateAction } from 'react';
|
2
2
|
import { TooltipOptions, TooltipPositionerFunction } from 'chart.js';
|
3
3
|
import { TooltipProps } from '../../../Common/Tooltip';
|
4
4
|
import { AppThemeType } from '../../Providers';
|
@@ -101,6 +101,7 @@ export interface GetDefaultOptionsParams {
|
|
101
101
|
chartProps: ChartProps;
|
102
102
|
appTheme: AppThemeType;
|
103
103
|
externalTooltipHandler: TooltipOptions['external'];
|
104
|
+
setTooltipVisible: Dispatch<SetStateAction<boolean>>;
|
104
105
|
}
|
105
106
|
declare module 'chart.js' {
|
106
107
|
interface TooltipPositionerMap {
|
@@ -44,7 +44,7 @@ export declare const getLegendsLabelConfig: (type: ChartType, appTheme: AppTheme
|
|
44
44
|
};
|
45
45
|
};
|
46
46
|
export declare const getChartJSType: (type: ChartType) => ChartJSChartType;
|
47
|
-
export declare const getDefaultOptions: ({ chartProps, appTheme, externalTooltipHandler, }: GetDefaultOptionsParams) => ChartOptions;
|
47
|
+
export declare const getDefaultOptions: ({ chartProps, appTheme, externalTooltipHandler, setTooltipVisible, }: GetDefaultOptionsParams) => ChartOptions;
|
48
48
|
export declare const transformDataForChart: (props: TransformDataForChartProps) => (ChartDataset<"line"> | {
|
49
49
|
backgroundColor?: string | import('chart.js/dist/types/utils')._DeepPartialObject<CanvasGradient> | import('chart.js/dist/types/utils')._DeepPartialObject<CanvasPattern> | ((ctx: import('chart.js').ScriptableContext<"line">, options: import('chart.js/dist/types/basic').AnyObject) => import('chart.js').Color) | readonly (string | import('chart.js/dist/types/utils')._DeepPartialObject<CanvasGradient> | import('chart.js/dist/types/utils')._DeepPartialObject<CanvasPattern>)[];
|
50
50
|
borderColor?: string | import('chart.js/dist/types/utils')._DeepPartialObject<CanvasGradient> | import('chart.js/dist/types/utils')._DeepPartialObject<CanvasPattern> | ((ctx: import('chart.js').ScriptableContext<"line">, options: import('chart.js/dist/types/basic').AnyObject) => import('chart.js').Color) | readonly (string | import('chart.js/dist/types/utils')._DeepPartialObject<CanvasGradient> | import('chart.js/dist/types/utils')._DeepPartialObject<CanvasPattern>)[];
|
@@ -50,6 +50,7 @@ export declare const iconMap: {
|
|
50
50
|
'ic-chat-circle-dots': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
|
51
51
|
'ic-chat-circle-online': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
|
52
52
|
'ic-check-all': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
|
53
|
+
'ic-check-circle': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
|
53
54
|
'ic-check-square': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
|
54
55
|
'ic-check': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
|
55
56
|
'ic-checks': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
|
@@ -121,6 +122,7 @@ export declare const iconMap: {
|
|
121
122
|
'ic-floppy-disk': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
|
122
123
|
'ic-fluxcd-app': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
|
123
124
|
'ic-folder-color': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
|
125
|
+
'ic-folder-empty': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
|
124
126
|
'ic-folder-user': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
|
125
127
|
'ic-folder': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
|
126
128
|
'ic-gavel': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
|
@@ -202,6 +204,7 @@ export declare const iconMap: {
|
|
202
204
|
'ic-out-of-sync': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
|
203
205
|
'ic-paper-plane-color': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
|
204
206
|
'ic-paper-plane': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
|
207
|
+
'ic-party': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
|
205
208
|
'ic-path': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
|
206
209
|
'ic-pause-circle': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
|
207
210
|
'ic-pencil': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
|
@@ -1,3 +1,3 @@
|
|
1
1
|
import { PromoetheusConfigProps } from './types';
|
2
|
-
declare const PromoetheusConfigCard: ({ prometheusConfig,
|
2
|
+
declare const PromoetheusConfigCard: ({ prometheusConfig, handleOnChange, onPrometheusAuthTypeChange, }: PromoetheusConfigProps) => JSX.Element;
|
3
3
|
export default PromoetheusConfigCard;
|
@@ -0,0 +1,3 @@
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24">
|
2
|
+
<path stroke="#3B444C" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="m17 9-6.667 6.666L7 12.333M22 12c0 5.523-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2s10 4.477 10 10Z" vector-effect="non-scaling-stroke"/>
|
3
|
+
</svg>
|
@@ -0,0 +1,33 @@
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="250" height="200" fill="none" viewBox="0 0 250 200">
|
2
|
+
<ellipse cx="187" cy="168" fill="#000A14" fill-opacity=".05" rx="30" ry="4"/>
|
3
|
+
<rect width="72" height="60" x="151" y="76" fill="#FDBF00" rx="4"/>
|
4
|
+
<path fill="#FFDA2D" d="M161 84a4 4 0 0 1 4-4h12.31a2 2 0 0 1 1.233.425l10.414 8.15a2 2 0 0 0 1.233.425H223v43a4 4 0 0 1-4 4h-54a4 4 0 0 1-4-4V84Z"/>
|
5
|
+
<path fill="#fff" d="M167 125h24v5h-24z"/>
|
6
|
+
<rect width="15" height="2" x="203" y="94" fill="#FDBF00" rx="1"/>
|
7
|
+
<rect width="21" height="2" x="197" y="99" fill="#FDBF00" rx="1"/>
|
8
|
+
<path fill="#80AEF2" d="M55.877 189.887c0-.113 1.132-3.227 2.49-6.963l2.491-6.792 6.34-.17 6.283-.17 2.717 2.264c2.264 1.925 12.557 7.406 13.868 8.151.875.497 2.028 1.762 3.46 3.793-25.1-.038-37.649-.075-37.649-.113Z"/>
|
9
|
+
<path fill="#94BBF8" d="M22.943 189.887c0-.113 1.133-3.227 2.491-6.963l2.49-6.792 6.34-.17 6.283-.17 2.718 2.264c2.264 1.925 12.556 7.406 13.868 8.151.874.497 2.027 1.762 3.46 3.793-25.1-.038-37.65-.075-37.65-.113Z"/>
|
10
|
+
<path fill="#1D225F" d="M65.785 109.936c1.07 3.098 1.792 5.787 2.166 8.065.374 2.279 2.47 21.742 6.292 58.39H56.6c-1.417-2.569-2.126-4.374-2.126-5.414 0-1.561.897-3.699.897-5.955 0-1.504-1.997-6.696-5.991-15.575l3.858-38.614 12.547-.897Z"/>
|
11
|
+
<path fill="url(#a)" fill-rule="evenodd" d="M41.151 176.391h-16.48c-.391-1.359-.776-3.193-1.152-5.502-.736-4.698-.176-7.811 2.994-14.264 3.17-6.397 4.774-9.885 4.774-13.508.057-5.66 1.2-11.104 4.2-16.991 2.32-4.642 3.43-4.992 3.656-7.822l.412-6.086h20.684c.503 1.407.684 3.999.54 7.777-.142 3.778-6.685 22.577-19.628 56.396Z" clip-rule="evenodd"/>
|
12
|
+
<path fill="#98BDF9" d="m85.69 52.019 16.526-20.442h19.815L104.917 52.02H85.69Z"/>
|
13
|
+
<path fill="#2174DB" d="M107.476 29.022a2.555 2.555 0 0 1 2.549 2.38l.006.175h-.568a1.987 1.987 0 1 0-2.15 1.98l.163.008v.567a2.555 2.555 0 0 1 0-5.11Zm6.814 0a2.555 2.555 0 0 1 2.549 2.38l.006.175h-.568a1.987 1.987 0 1 0-2.15 1.98l.163.008v.567a2.555 2.555 0 1 1 0-5.11Z"/>
|
14
|
+
<path fill="#F3A29D" d="M84.25 55.955c2.754-.944 5.45-2.256 8.087-3.936h6.743c-2.33 2.129-3.897 3.637-4.701 4.523-.805.887-2.462 2.59-4.974 5.11-1.07 5.672-2.211 8.055-3.422 7.148-1.815-1.36-7.79-10.694-1.734-12.845Z"/>
|
15
|
+
<path fill="#FAB6AF" d="M87.96 61.671c4.282-1.636 7.045-2.803 8.29-3.5 1.472-.85 2.038-1.642 3.736-5.208.226-.453.679-2.32 1.075-4.075.906-4.472 2.378-4.246 2.491.34.057 1.244.34 2.377.679 2.49.283.113 1.925-1.472 3.566-3.51 1.642-2.038 3.227-3.679 3.51-3.679.679 0 .679 5.208-.057 7.019-.283.85-4.641 5.604-9.679 10.642-3.359 3.358-8.274 7.917-14.746 13.677l1.136-14.196Z"/>
|
16
|
+
<path fill="#F3A29D" d="M68.656 37.255c.757-3.028 1.514-4.92 2.27-5.678-1.135-1.136-2.27-2.271-4.542-3.407-.757 1.514-2.27 3.028-4.542 4.543 0 2.271.757 3.785 2.271 4.542 1.514.757 3.028.757 4.543 0Z"/>
|
17
|
+
<path fill="url(#b)" d="M39.929 113.021c-2.321-.17-6.114-.962-8.321-1.698l-4.132-1.359-.114-4.245c-.283-11.717.566-20.265 3.227-31.19 3.623-15 14.038-30.34 26.66-39.34 4.869-3.51 4.982-3.51 6.397-1.132.623 1.132 1.925 2.264 2.83 2.604l2.121.583c-2.99 28.777-1.834 52.63 3.466 71.556-1.136 1.136-1.91 1.651-2.756 2.013-1.02.397-2.321.793-3 .849-.68.057-2.944.51-5.151 1.019-4.133.906-13.133 1.076-21.227.34Z"/>
|
18
|
+
<path fill="#D6D7D8" fill-rule="evenodd" d="m84.25 55.955 1.734 11.1-19.6 2.595 1.086-15.36c2.102 1.702 4.263 2.724 6.484 3.065 2.222.34 5.654-.126 10.296-1.4Z" clip-rule="evenodd"/>
|
19
|
+
<path fill="#E9E9E9" d="m87.961 61.672 4.812 22.712c-.558 1.136-1.973 1.893-4.244 2.271-5.11.568-10.22-1.703-16.467-1.703-6.246 0-5.977 3.975-15.062.568-6.056-2.271-8.517-12.492-7.381-30.662l17.716-1.697c-.076 5.673.643 9.078 2.157 10.214 1.484 1.113 7.428.59 17.83-1.57l.64-.133Z"/>
|
20
|
+
<path fill="#FAB6AF" d="M80.16 17.305c1.05 1.491 1.46 3.47 1.229 5.936-.06.643-.368.866-.368 2.014 0 1.1.069 2.46.207 4.08l-2.273.158c-2.181 2.366-4.49 3.415-6.924 3.146-2.434-.269-4.172-1.318-5.212-3.146-2.138-3.949-1.59-7.306 1.645-10.071 3.235-2.766 7.133-3.471 11.696-2.117Z"/>
|
21
|
+
<path fill="#E94A47" fill-rule="evenodd" d="M69.7 10c2.55 0 5.61.998 7.845 2.689 2.234 1.69 3.773 2.964 4.465 5.002.46 1.358.243 3.252-.652 5.683.127-2.301-.047-3.579-.522-3.833-.658 1.622-1.566 1.95-2.653 2.734-.609.44-2.74.509-4.826.88-2.579 1.69-4.222 3.27-4.775 4.77-.44 1.196-.395 2.559.145 4.099l.123.332-.529.207c-.701-1.799-.795-3.413-.272-4.833.512-1.39 1.815-2.785 3.82-4.24-1.068.3-2.012.74-2.584 1.421-1.255 1.498-1.99 3.695-2.204 6.591-2.714-.49-5.206-1.407-7.475-2.747-2.269-1.341-4.362-3.135-6.279-5.381.39-.82.887-1.496 1.494-2.031.658-.582 1.898-1.088 3.109-1.79l-.064.022-1.181.394c-1.237.416-1.92.699-2.351 1.012-.814.59-1.236 1.251-1.288 1.994l-.005.188-.568.006c-.012-1.019.506-1.907 1.527-2.648.42-.304.995-.563 1.947-.899l1.722-.58.6-.208a14.213 14.213 0 0 0 1.412-.573c1.272-1.373 2.13-3.897 4.012-5.572C65.771 10.839 67.151 10 69.7 10Z" clip-rule="evenodd"/>
|
22
|
+
<path fill="#222768" d="M74.327 23.322c.585-1.61 2.128-2.55 3.469-2.061 1.041.379 1.622 1.495 1.556 2.729a3.95 3.95 0 0 1 .97-.134l.204.008c.25.019.457.054.624.11.502-1.246 1.676-1.984 2.698-1.612 1.05.383 1.47 1.769.993 3.081s-1.69 2.104-2.741 1.721c-.935-.34-1.371-1.475-1.12-2.646a1.96 1.96 0 0 0-.497-.088c-.328-.025-.724.028-1.187.161l-.03.01a3.86 3.86 0 0 1-.137.468c-.586 1.61-2.129 2.55-3.47 2.061-1.34-.488-1.918-2.2-1.332-3.808Zm9.326-.426c-.717-.261-1.633.336-2.013 1.382-.38 1.045-.063 2.092.654 2.353.717.26 1.633-.337 2.014-1.382.38-1.046.063-2.092-.655-2.353Zm-6.051-1.102c-1.017-.37-2.255.384-2.742 1.722-.487 1.337-.023 2.71.994 3.08 1.016.37 2.254-.383 2.741-1.72.487-1.338.023-2.712-.993-3.082Z"/>
|
23
|
+
<defs>
|
24
|
+
<linearGradient id="a" x1="43.912" x2="29.088" y1="112.218" y2="174.104" gradientUnits="userSpaceOnUse">
|
25
|
+
<stop stop-color="#2A318C"/>
|
26
|
+
<stop offset="1" stop-color="#1D225F"/>
|
27
|
+
</linearGradient>
|
28
|
+
<linearGradient id="b" x1="49.687" x2="49.687" y1="32.395" y2="113.481" gradientUnits="userSpaceOnUse">
|
29
|
+
<stop stop-color="#EEE"/>
|
30
|
+
<stop offset="1" stop-color="#D6D7D8"/>
|
31
|
+
</linearGradient>
|
32
|
+
</defs>
|
33
|
+
</svg>
|
@@ -0,0 +1,4 @@
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24">
|
2
|
+
<path fill="#1DAD70" d="m5.52 14.521 3.96 3.959-4.747 1.725a.73.73 0 0 1-.937-.937L5.52 14.52Zm13.015-.442L9.921 5.465a.73.73 0 0 0-1.202.267L7.322 9.576l7.108 7.108 3.844-1.397a.73.73 0 0 0 .261-1.208Z" opacity=".2"/>
|
3
|
+
<path fill="#1DAD70" d="M10.452 4.934a1.482 1.482 0 0 0-2.437.541L3.094 19.011A1.484 1.484 0 0 0 4.478 21c.174-.001.348-.033.511-.094l13.535-4.922a1.48 1.48 0 0 0 .542-2.437l-8.614-8.613Zm-.78 12.676L6.39 14.329l1.234-3.395 5.442 5.442-3.395 1.234Zm-5.157 1.875 1.313-3.6 2.292 2.291-3.605 1.309Zm10.11-3.675L8.19 9.375l1.22-3.363 8.571 8.572-3.355 1.226ZM15 6.75a3.543 3.543 0 0 1 .36-1.46c.497-.993 1.434-1.54 2.64-1.54.628 0 1.031-.215 1.28-.676.13-.258.206-.54.22-.83a.75.75 0 1 1 1.5.006c0 1.206-.799 3-3 3-.628 0-1.031.215-1.28.676-.13.258-.205.54-.22.83A.751.751 0 0 1 15 6.75Zm-2.25-3V1.5a.75.75 0 1 1 1.5 0v2.25a.75.75 0 1 1-1.5 0Zm9.53 7.72a.752.752 0 0 1-.53 1.28.75.75 0 0 1-.53-.22l-1.5-1.5a.75.75 0 0 1 1.06-1.062l1.5 1.501Zm.457-4.008-2.25.75a.75.75 0 0 1-.474-1.424l2.25-.75a.75.75 0 1 1 .474 1.424Z"/>
|
4
|
+
</svg>
|