From 09ef59000d7a2297e43074dd58ac53c690f5854e Mon Sep 17 00:00:00 2001 From: Asika TK Date: Fri, 12 Sep 2025 14:46:14 +0530 Subject: [PATCH 001/134] feat: notifications page ui new icons added --- src/Assets/Icon/ic-bulb.svg | 7 +++++++ src/Assets/Icon/ic-coins.svg | 3 +++ src/Assets/Icon/ic-piggybank.svg | 3 +++ src/Assets/Icon/ic-priority-high-fill.svg | 3 +++ src/Assets/Icon/ic-priority-low-fill.svg | 4 ++++ src/Assets/Icon/ic-priority-medium-fill.svg | 4 ++++ src/Assets/Icon/ic-priority-urgent-fill.svg | 10 ++++++++++ src/Assets/Icon/ic-spider.svg | 3 +++ src/Assets/Icon/ic-vector.svg | 3 +++ src/Shared/Components/Icon/Icon.tsx | 14 ++++++++++++++ 10 files changed, 54 insertions(+) create mode 100644 src/Assets/Icon/ic-bulb.svg create mode 100644 src/Assets/Icon/ic-coins.svg create mode 100644 src/Assets/Icon/ic-piggybank.svg create mode 100644 src/Assets/Icon/ic-priority-high-fill.svg create mode 100644 src/Assets/Icon/ic-priority-low-fill.svg create mode 100644 src/Assets/Icon/ic-priority-medium-fill.svg create mode 100644 src/Assets/Icon/ic-priority-urgent-fill.svg create mode 100644 src/Assets/Icon/ic-spider.svg create mode 100644 src/Assets/Icon/ic-vector.svg diff --git a/src/Assets/Icon/ic-bulb.svg b/src/Assets/Icon/ic-bulb.svg new file mode 100644 index 000000000..a167e3b3a --- /dev/null +++ b/src/Assets/Icon/ic-bulb.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/Assets/Icon/ic-coins.svg b/src/Assets/Icon/ic-coins.svg new file mode 100644 index 000000000..16072f183 --- /dev/null +++ b/src/Assets/Icon/ic-coins.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/Assets/Icon/ic-piggybank.svg b/src/Assets/Icon/ic-piggybank.svg new file mode 100644 index 000000000..44619eebe --- /dev/null +++ b/src/Assets/Icon/ic-piggybank.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/Assets/Icon/ic-priority-high-fill.svg b/src/Assets/Icon/ic-priority-high-fill.svg new file mode 100644 index 000000000..9e084e5ee --- /dev/null +++ b/src/Assets/Icon/ic-priority-high-fill.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/Assets/Icon/ic-priority-low-fill.svg b/src/Assets/Icon/ic-priority-low-fill.svg new file mode 100644 index 000000000..0b7c7a735 --- /dev/null +++ b/src/Assets/Icon/ic-priority-low-fill.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/Assets/Icon/ic-priority-medium-fill.svg b/src/Assets/Icon/ic-priority-medium-fill.svg new file mode 100644 index 000000000..121997606 --- /dev/null +++ b/src/Assets/Icon/ic-priority-medium-fill.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/Assets/Icon/ic-priority-urgent-fill.svg b/src/Assets/Icon/ic-priority-urgent-fill.svg new file mode 100644 index 000000000..ec8140320 --- /dev/null +++ b/src/Assets/Icon/ic-priority-urgent-fill.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/src/Assets/Icon/ic-spider.svg b/src/Assets/Icon/ic-spider.svg new file mode 100644 index 000000000..472dd9a10 --- /dev/null +++ b/src/Assets/Icon/ic-spider.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/Assets/Icon/ic-vector.svg b/src/Assets/Icon/ic-vector.svg new file mode 100644 index 000000000..5ea230dca --- /dev/null +++ b/src/Assets/Icon/ic-vector.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/Shared/Components/Icon/Icon.tsx b/src/Shared/Components/Icon/Icon.tsx index 892e418dd..997cd0619 100644 --- a/src/Shared/Components/Icon/Icon.tsx +++ b/src/Shared/Components/Icon/Icon.tsx @@ -1,5 +1,12 @@ // NOTE: This file is auto-generated. Do not edit directly. Run the script `npm run generate-icon` to update. +import { ReactComponent as ICBulb } from '@Icons/ic-bulb.svg' +import { ReactComponent as ICPiggybank } from '@Icons/ic-piggybank.svg' +import { ReactComponent as ICPriorityHighFill } from '@Icons/ic-priority-high-fill.svg' +import { ReactComponent as ICPriorityLowFill } from '@Icons/ic-priority-low-fill.svg' +import { ReactComponent as ICPriorityMediumFill } from '@Icons/ic-priority-medium-fill.svg' +import { ReactComponent as ICPriorityUrgentFill } from '@Icons/ic-priority-urgent-fill.svg' +import { ReactComponent as ICSpider } from '@Icons/ic-spider.svg' import { ReactComponent as IC73strings } from '@IconsV2/ic-73strings.svg' import { ReactComponent as ICAborted } from '@IconsV2/ic-aborted.svg' import { ReactComponent as ICActivity } from '@IconsV2/ic-activity.svg' @@ -556,6 +563,13 @@ export const iconMap = { 'ic-webhook': ICWebhook, 'ic-wifi-slash': ICWifiSlash, 'ic-world-globe': ICWorldGlobe, + 'ic-bulb': ICBulb, + 'ic-piggybank': ICPiggybank, + 'ic-priority-high-fill': ICPriorityHighFill, + 'ic-priority-low-fill': ICPriorityLowFill, + 'ic-priority-medium-fill': ICPriorityMediumFill, + 'ic-priority-urgent-fill': ICPriorityUrgentFill, + 'ic-spider': ICSpider, } export type IconName = keyof typeof iconMap From fe7f280761fcb059a2212f99217e9acee0063ea1 Mon Sep 17 00:00:00 2001 From: Asika TK Date: Fri, 12 Sep 2025 15:56:12 +0530 Subject: [PATCH 002/134] feat: recommendation ui added new icon --- src/Shared/Components/Icon/Icon.tsx | 2 ++ src/Shared/Components/Icon/types.ts | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/Shared/Components/Icon/Icon.tsx b/src/Shared/Components/Icon/Icon.tsx index 997cd0619..b35723abd 100644 --- a/src/Shared/Components/Icon/Icon.tsx +++ b/src/Shared/Components/Icon/Icon.tsx @@ -7,6 +7,7 @@ import { ReactComponent as ICPriorityLowFill } from '@Icons/ic-priority-low-fill import { ReactComponent as ICPriorityMediumFill } from '@Icons/ic-priority-medium-fill.svg' import { ReactComponent as ICPriorityUrgentFill } from '@Icons/ic-priority-urgent-fill.svg' import { ReactComponent as ICSpider } from '@Icons/ic-spider.svg' +import { ReactComponent as ICVector } from '@Icons/ic-vector.svg' import { ReactComponent as IC73strings } from '@IconsV2/ic-73strings.svg' import { ReactComponent as ICAborted } from '@IconsV2/ic-aborted.svg' import { ReactComponent as ICActivity } from '@IconsV2/ic-activity.svg' @@ -570,6 +571,7 @@ export const iconMap = { 'ic-priority-medium-fill': ICPriorityMediumFill, 'ic-priority-urgent-fill': ICPriorityUrgentFill, 'ic-spider': ICSpider, + 'ic-vector': ICVector, } export type IconName = keyof typeof iconMap diff --git a/src/Shared/Components/Icon/types.ts b/src/Shared/Components/Icon/types.ts index f939a8e14..c352169b6 100644 --- a/src/Shared/Components/Icon/types.ts +++ b/src/Shared/Components/Icon/types.ts @@ -46,7 +46,7 @@ export interface IconBaseProps { * * @example 'B500', 'N200', 'G50', 'R700' */ - color: IconBaseColorType + color?: IconBaseColorType /** * A unique identifier for testing purposes, typically used in test automation. */ From f8dc9abf624934f3a8f5fe69c72e6b75925b839f Mon Sep 17 00:00:00 2001 From: Asika TK Date: Mon, 15 Sep 2025 09:25:22 +0530 Subject: [PATCH 003/134] feat: notification ui added new icon --- src/Assets/Icon/ic-red-bulb.svg | 9 +++++++++ src/Shared/Components/Icon/Icon.tsx | 6 +++++- 2 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 src/Assets/Icon/ic-red-bulb.svg diff --git a/src/Assets/Icon/ic-red-bulb.svg b/src/Assets/Icon/ic-red-bulb.svg new file mode 100644 index 000000000..f6d6482af --- /dev/null +++ b/src/Assets/Icon/ic-red-bulb.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/Shared/Components/Icon/Icon.tsx b/src/Shared/Components/Icon/Icon.tsx index b35723abd..e8b943b3e 100644 --- a/src/Shared/Components/Icon/Icon.tsx +++ b/src/Shared/Components/Icon/Icon.tsx @@ -1,11 +1,13 @@ // NOTE: This file is auto-generated. Do not edit directly. Run the script `npm run generate-icon` to update. import { ReactComponent as ICBulb } from '@Icons/ic-bulb.svg' +import { ReactComponent as ICClose } from '@Icons/ic-close.svg' import { ReactComponent as ICPiggybank } from '@Icons/ic-piggybank.svg' import { ReactComponent as ICPriorityHighFill } from '@Icons/ic-priority-high-fill.svg' import { ReactComponent as ICPriorityLowFill } from '@Icons/ic-priority-low-fill.svg' import { ReactComponent as ICPriorityMediumFill } from '@Icons/ic-priority-medium-fill.svg' import { ReactComponent as ICPriorityUrgentFill } from '@Icons/ic-priority-urgent-fill.svg' +import { ReactComponent as ICRedBulb } from '@Icons/ic-red-bulb.svg' import { ReactComponent as ICSpider } from '@Icons/ic-spider.svg' import { ReactComponent as ICVector } from '@Icons/ic-vector.svg' import { ReactComponent as IC73strings } from '@IconsV2/ic-73strings.svg' @@ -350,6 +352,7 @@ export const iconMap = { 'ic-clipboard': ICClipboard, 'ic-clock-counterclockwise': ICClockCounterclockwise, 'ic-clock': ICClock, + 'ic-close': ICClose, 'ic-close-large': ICCloseLarge, 'ic-close-small': ICCloseSmall, 'ic-cloud-vms': ICCloudVms, @@ -564,7 +567,8 @@ export const iconMap = { 'ic-webhook': ICWebhook, 'ic-wifi-slash': ICWifiSlash, 'ic-world-globe': ICWorldGlobe, - 'ic-bulb': ICBulb, + 'ic-bulb': ICRedBulb, + 'ic-red-bulb': ICBulb, 'ic-piggybank': ICPiggybank, 'ic-priority-high-fill': ICPriorityHighFill, 'ic-priority-low-fill': ICPriorityLowFill, From bebb618164f9ce730642757af6cb9bfecacc8d14 Mon Sep 17 00:00:00 2001 From: Asika TK Date: Mon, 15 Sep 2025 11:47:11 +0530 Subject: [PATCH 004/134] feat: notifications page ui new icons --- .../SelectPicker/GroupedFilterSelectPicker-Usage-Guide.md | 0 .../Components/SelectPicker/GroupedFilterSelectPicker.example.tsx | 0 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 src/Shared/Components/SelectPicker/GroupedFilterSelectPicker-Usage-Guide.md create mode 100644 src/Shared/Components/SelectPicker/GroupedFilterSelectPicker.example.tsx diff --git a/src/Shared/Components/SelectPicker/GroupedFilterSelectPicker-Usage-Guide.md b/src/Shared/Components/SelectPicker/GroupedFilterSelectPicker-Usage-Guide.md new file mode 100644 index 000000000..e69de29bb diff --git a/src/Shared/Components/SelectPicker/GroupedFilterSelectPicker.example.tsx b/src/Shared/Components/SelectPicker/GroupedFilterSelectPicker.example.tsx new file mode 100644 index 000000000..e69de29bb From 24c5c3fb58120c60d60b4f0d1d3125e0da15cb8f Mon Sep 17 00:00:00 2001 From: chithra Date: Mon, 15 Sep 2025 14:20:14 +0530 Subject: [PATCH 005/134] feat: Icons for Recommendation status --- src/Assets/Icon/ic-circle-progress.svg | 6 ++++++ src/Assets/Icon/ic-dot-circle.svg | 3 +++ src/Assets/Icon/ic-failure-color.svg | 4 ++++ src/Shared/Components/Icon/Icon.tsx | 6 ++++++ 4 files changed, 19 insertions(+) create mode 100644 src/Assets/Icon/ic-circle-progress.svg create mode 100644 src/Assets/Icon/ic-dot-circle.svg create mode 100644 src/Assets/Icon/ic-failure-color.svg diff --git a/src/Assets/Icon/ic-circle-progress.svg b/src/Assets/Icon/ic-circle-progress.svg new file mode 100644 index 000000000..d4ec9d326 --- /dev/null +++ b/src/Assets/Icon/ic-circle-progress.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/Assets/Icon/ic-dot-circle.svg b/src/Assets/Icon/ic-dot-circle.svg new file mode 100644 index 000000000..149c94bab --- /dev/null +++ b/src/Assets/Icon/ic-dot-circle.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/Assets/Icon/ic-failure-color.svg b/src/Assets/Icon/ic-failure-color.svg new file mode 100644 index 000000000..73d792eb5 --- /dev/null +++ b/src/Assets/Icon/ic-failure-color.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/Shared/Components/Icon/Icon.tsx b/src/Shared/Components/Icon/Icon.tsx index e8b943b3e..a7db96f03 100644 --- a/src/Shared/Components/Icon/Icon.tsx +++ b/src/Shared/Components/Icon/Icon.tsx @@ -1,7 +1,10 @@ // NOTE: This file is auto-generated. Do not edit directly. Run the script `npm run generate-icon` to update. import { ReactComponent as ICBulb } from '@Icons/ic-bulb.svg' +import { ReactComponent as ICStatusProgress } from '@Icons/ic-circle-progress.svg' import { ReactComponent as ICClose } from '@Icons/ic-close.svg' +import { ReactComponent as ICStatusPending } from '@Icons/ic-dot-circle.svg' +import { ReactComponent as ICStatusFailed } from '@Icons/ic-failure-color.svg' import { ReactComponent as ICPiggybank } from '@Icons/ic-piggybank.svg' import { ReactComponent as ICPriorityHighFill } from '@Icons/ic-priority-high-fill.svg' import { ReactComponent as ICPriorityLowFill } from '@Icons/ic-priority-low-fill.svg' @@ -569,6 +572,9 @@ export const iconMap = { 'ic-world-globe': ICWorldGlobe, 'ic-bulb': ICRedBulb, 'ic-red-bulb': ICBulb, + 'ic-failure-color': ICStatusFailed, + 'ic-dot-circle.svg': ICStatusPending, + 'ic-circle-progress': ICStatusProgress, 'ic-piggybank': ICPiggybank, 'ic-priority-high-fill': ICPriorityHighFill, 'ic-priority-low-fill': ICPriorityLowFill, From 12d524157f419d48a9d7ef5616c842b2cf5a513a Mon Sep 17 00:00:00 2001 From: chithra Date: Mon, 15 Sep 2025 14:25:23 +0530 Subject: [PATCH 006/134] feat: Icon name change --- src/Shared/Components/Icon/Icon.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Shared/Components/Icon/Icon.tsx b/src/Shared/Components/Icon/Icon.tsx index a7db96f03..7acc1fe55 100644 --- a/src/Shared/Components/Icon/Icon.tsx +++ b/src/Shared/Components/Icon/Icon.tsx @@ -573,7 +573,7 @@ export const iconMap = { 'ic-bulb': ICRedBulb, 'ic-red-bulb': ICBulb, 'ic-failure-color': ICStatusFailed, - 'ic-dot-circle.svg': ICStatusPending, + 'ic-dot-circle': ICStatusPending, 'ic-circle-progress': ICStatusProgress, 'ic-piggybank': ICPiggybank, 'ic-priority-high-fill': ICPriorityHighFill, From 804bb0a3ff88f17e86a5f3d17e9da76926c2f49c Mon Sep 17 00:00:00 2001 From: chithra Date: Tue, 23 Sep 2025 10:34:33 +0530 Subject: [PATCH 007/134] feat:new root for connecting athena apis --- src/Assets/IconV2/ic-arrow-white.svg | 3 +++ src/Assets/IconV2/ic-line.svg | 3 +++ src/Common/API/CoreAPI.ts | 38 +++++++++++++++++++--------- src/Common/Constants.ts | 7 +++++ src/Shared/Components/Icon/Icon.tsx | 30 +++------------------- src/index.ts | 1 + 6 files changed, 44 insertions(+), 38 deletions(-) create mode 100644 src/Assets/IconV2/ic-arrow-white.svg create mode 100644 src/Assets/IconV2/ic-line.svg diff --git a/src/Assets/IconV2/ic-arrow-white.svg b/src/Assets/IconV2/ic-arrow-white.svg new file mode 100644 index 000000000..38d2caf06 --- /dev/null +++ b/src/Assets/IconV2/ic-arrow-white.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/Assets/IconV2/ic-line.svg b/src/Assets/IconV2/ic-line.svg new file mode 100644 index 000000000..caacdc6a9 --- /dev/null +++ b/src/Assets/IconV2/ic-line.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/Common/API/CoreAPI.ts b/src/Common/API/CoreAPI.ts index c5056e8d9..2bf7a2a86 100644 --- a/src/Common/API/CoreAPI.ts +++ b/src/Common/API/CoreAPI.ts @@ -14,7 +14,7 @@ * limitations under the License. */ -import { API_STATUS_CODES, FALLBACK_REQUEST_TIMEOUT, Host } from '@Common/Constants' +import { API_STATUS_CODES, FALLBACK_REQUEST_TIMEOUT, Host, SERVICE_PATHS } from '@Common/Constants' import { noop } from '@Common/Helper' import { ServerErrors } from '@Common/ServerError' import { APIOptions, ResponseType } from '@Common/Types' @@ -55,11 +55,23 @@ class CoreAPI { method: type, signal, body: data ? JSON.stringify(data) : undefined, + headers: { + 'Content-Type': 'application/json', + }, } // eslint-disable-next-line dot-notation options['credentials'] = 'include' as RequestCredentials + let currentUrl: string + if (isProxyHost) { + // Remove leading slash from url if it exists to avoid double slash after /proxy + const proxyUrl = url.startsWith('/') ? url.slice(1) : url + currentUrl = `/proxy/${proxyUrl}` + } else { + currentUrl = `${this.host}/${url}` + } + return fetch( - `${isProxyHost ? '/proxy' : this.host}/${url}`, + currentUrl, !isMultipartRequest ? options : ({ @@ -197,7 +209,8 @@ class CoreAPI { data, options, isMultipartRequest, - }: FetchInTimeParamsType): Promise => { + isProxyHost = false, + }: FetchInTimeParamsType & { isProxyHost?: boolean }): Promise => { const controller = options?.abortControllerRef?.current ?? new AbortController() const timeoutSignal = controller.signal @@ -267,19 +280,20 @@ class CoreAPI { data: K, options?: APIOptions, isMultipartRequest?: boolean, - ): Promise> => this.fetchInTime({ url, type: 'POST', data, options, isMultipartRequest }) + isProxyHost?: boolean, + ): Promise> => this.fetchInTime({ url, type: 'POST', data, options, isMultipartRequest, isProxyHost }) - put = (url: string, data: K, options?: APIOptions): Promise> => - this.fetchInTime({ url, type: 'PUT', data, options }) + put = (url: string, data: K, options?: APIOptions, isProxyHost?: boolean): Promise> => + this.fetchInTime({ url, type: 'PUT', data, options, isProxyHost }) - patch = (url: string, data: K, options?: APIOptions): Promise> => - this.fetchInTime({ url, type: 'PATCH', data, options }) + patch = (url: string, data: K, options?: APIOptions, isProxyHost?: boolean): Promise> => + this.fetchInTime({ url, type: 'PATCH', data, options, isProxyHost }) - get = (url: string, options?: APIOptions): Promise> => - this.fetchInTime({ url, type: 'GET', data: null, options }) + get = (url: string, options?: APIOptions, isProxyHost?: boolean): Promise> => + this.fetchInTime({ url, type: 'GET', data: null, options, isProxyHost }) - trash = (url: string, data?: K, options?: APIOptions): Promise> => - this.fetchInTime({ url, type: 'DELETE', data, options }) + trash = (url: string, data?: K, options?: APIOptions, isProxyHost?: boolean): Promise> => + this.fetchInTime({ url, type: 'DELETE', data, options, isProxyHost }) setGlobalAPITimeout = (timeout: number) => { this.timeout = timeout || FALLBACK_REQUEST_TIMEOUT diff --git a/src/Common/Constants.ts b/src/Common/Constants.ts index da240e67b..bc833c89d 100644 --- a/src/Common/Constants.ts +++ b/src/Common/Constants.ts @@ -21,6 +21,13 @@ import { BackupAndScheduleListViewEnum, BackupLocationsTypes } from '@PagesDevtr export const FALLBACK_REQUEST_TIMEOUT = 60000 export const Host = window?.__ORCHESTRATOR_ROOT__ ?? '/orchestrator' +// Service path constants for API routing +export const SERVICE_PATHS = { + ATHENA: 'athena', + ORCHESTRATOR: 'orchestrator', + // Add other service paths as needed in the future +} as const + export const DOCUMENTATION_HOME_PAGE = 'https://docs.devtron.ai' export const DEVTRON_HOME_PAGE = 'https://devtron.ai/' export const DOCUMENTATION_VERSION = '/devtron/v1.7' diff --git a/src/Shared/Components/Icon/Icon.tsx b/src/Shared/Components/Icon/Icon.tsx index 7acc1fe55..7f033b794 100644 --- a/src/Shared/Components/Icon/Icon.tsx +++ b/src/Shared/Components/Icon/Icon.tsx @@ -1,18 +1,5 @@ // NOTE: This file is auto-generated. Do not edit directly. Run the script `npm run generate-icon` to update. -import { ReactComponent as ICBulb } from '@Icons/ic-bulb.svg' -import { ReactComponent as ICStatusProgress } from '@Icons/ic-circle-progress.svg' -import { ReactComponent as ICClose } from '@Icons/ic-close.svg' -import { ReactComponent as ICStatusPending } from '@Icons/ic-dot-circle.svg' -import { ReactComponent as ICStatusFailed } from '@Icons/ic-failure-color.svg' -import { ReactComponent as ICPiggybank } from '@Icons/ic-piggybank.svg' -import { ReactComponent as ICPriorityHighFill } from '@Icons/ic-priority-high-fill.svg' -import { ReactComponent as ICPriorityLowFill } from '@Icons/ic-priority-low-fill.svg' -import { ReactComponent as ICPriorityMediumFill } from '@Icons/ic-priority-medium-fill.svg' -import { ReactComponent as ICPriorityUrgentFill } from '@Icons/ic-priority-urgent-fill.svg' -import { ReactComponent as ICRedBulb } from '@Icons/ic-red-bulb.svg' -import { ReactComponent as ICSpider } from '@Icons/ic-spider.svg' -import { ReactComponent as ICVector } from '@Icons/ic-vector.svg' import { ReactComponent as IC73strings } from '@IconsV2/ic-73strings.svg' import { ReactComponent as ICAborted } from '@IconsV2/ic-aborted.svg' import { ReactComponent as ICActivity } from '@IconsV2/ic-activity.svg' @@ -26,6 +13,7 @@ import { ReactComponent as ICArrowClockwise } from '@IconsV2/ic-arrow-clockwise. import { ReactComponent as ICArrowLineDown } from '@IconsV2/ic-arrow-line-down.svg' import { ReactComponent as ICArrowRight } from '@IconsV2/ic-arrow-right.svg' import { ReactComponent as ICArrowSquareOut } from '@IconsV2/ic-arrow-square-out.svg' +import { ReactComponent as ICArrowWhite } from '@IconsV2/ic-arrow-white.svg' import { ReactComponent as ICArrowsClockwise } from '@IconsV2/ic-arrows-clockwise.svg' import { ReactComponent as ICArrowsLeftRight } from '@IconsV2/ic-arrows-left-right.svg' import { ReactComponent as ICAsterisk } from '@IconsV2/ic-asterisk.svg' @@ -184,6 +172,7 @@ import { ReactComponent as ICLdap } from '@IconsV2/ic-ldap.svg' import { ReactComponent as ICLego } from '@IconsV2/ic-lego.svg' import { ReactComponent as ICLightning } from '@IconsV2/ic-lightning.svg' import { ReactComponent as ICLightningFill } from '@IconsV2/ic-lightning-fill.svg' +import { ReactComponent as ICLine } from '@IconsV2/ic-line.svg' import { ReactComponent as ICLink } from '@IconsV2/ic-link.svg' import { ReactComponent as ICLinkedBuildColor } from '@IconsV2/ic-linked-build-color.svg' import { ReactComponent as ICListBullets } from '@IconsV2/ic-list-bullets.svg' @@ -307,6 +296,7 @@ export const iconMap = { 'ic-arrow-line-down': ICArrowLineDown, 'ic-arrow-right': ICArrowRight, 'ic-arrow-square-out': ICArrowSquareOut, + 'ic-arrow-white': ICArrowWhite, 'ic-arrows-clockwise': ICArrowsClockwise, 'ic-arrows-left-right': ICArrowsLeftRight, 'ic-asterisk': ICAsterisk, @@ -355,7 +345,6 @@ export const iconMap = { 'ic-clipboard': ICClipboard, 'ic-clock-counterclockwise': ICClockCounterclockwise, 'ic-clock': ICClock, - 'ic-close': ICClose, 'ic-close-large': ICCloseLarge, 'ic-close-small': ICCloseSmall, 'ic-cloud-vms': ICCloudVms, @@ -466,6 +455,7 @@ export const iconMap = { 'ic-lego': ICLego, 'ic-lightning-fill': ICLightningFill, 'ic-lightning': ICLightning, + 'ic-line': ICLine, 'ic-link': ICLink, 'ic-linked-build-color': ICLinkedBuildColor, 'ic-list-bullets': ICListBullets, @@ -570,18 +560,6 @@ export const iconMap = { 'ic-webhook': ICWebhook, 'ic-wifi-slash': ICWifiSlash, 'ic-world-globe': ICWorldGlobe, - 'ic-bulb': ICRedBulb, - 'ic-red-bulb': ICBulb, - 'ic-failure-color': ICStatusFailed, - 'ic-dot-circle': ICStatusPending, - 'ic-circle-progress': ICStatusProgress, - 'ic-piggybank': ICPiggybank, - 'ic-priority-high-fill': ICPriorityHighFill, - 'ic-priority-low-fill': ICPriorityLowFill, - 'ic-priority-medium-fill': ICPriorityMediumFill, - 'ic-priority-urgent-fill': ICPriorityUrgentFill, - 'ic-spider': ICSpider, - 'ic-vector': ICVector, } export type IconName = keyof typeof iconMap diff --git a/src/index.ts b/src/index.ts index 3ffecebf1..627c7329f 100644 --- a/src/index.ts +++ b/src/index.ts @@ -194,6 +194,7 @@ declare global { interface Window { __BASE_URL__: string __ORCHESTRATOR_ROOT__: string + __ATHENA_ROOT__: string _env_: customEnv } } From e93208ecf7aaa40171a7b08c18edf4a87e00f4bf Mon Sep 17 00:00:00 2001 From: Asika TK Date: Tue, 30 Sep 2025 19:53:17 +0530 Subject: [PATCH 008/134] feat: chatbot changes --- src/Assets/IconV2/ic-new-chat.svg | 5 +++ src/Common/Markdown/MarkDown.tsx | 4 +++ src/Common/Markdown/markdown.scss | 55 +++++++++++++++++++++++++++++ src/Shared/Components/Icon/Icon.tsx | 2 ++ 4 files changed, 66 insertions(+) create mode 100644 src/Assets/IconV2/ic-new-chat.svg diff --git a/src/Assets/IconV2/ic-new-chat.svg b/src/Assets/IconV2/ic-new-chat.svg new file mode 100644 index 000000000..a5d366419 --- /dev/null +++ b/src/Assets/IconV2/ic-new-chat.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/Common/Markdown/MarkDown.tsx b/src/Common/Markdown/MarkDown.tsx index 8194b262a..a56f54d4f 100644 --- a/src/Common/Markdown/MarkDown.tsx +++ b/src/Common/Markdown/MarkDown.tsx @@ -80,6 +80,10 @@ const MarkDown = ({ ` renderer.heading = ({ text, depth }: Tokens.Heading) => { + // Alternative debugging - add to window object + if (typeof window !== 'undefined') { + ;(window as any).debugHeadingText = text + } const escapedText = disableEscapedText ? '' : text.toLowerCase().replace(/[^\w]+/g, '-') return ` diff --git a/src/Common/Markdown/markdown.scss b/src/Common/Markdown/markdown.scss index cf8a7af2d..4526d4c91 100644 --- a/src/Common/Markdown/markdown.scss +++ b/src/Common/Markdown/markdown.scss @@ -77,4 +77,59 @@ a.anchor { color: var(--N900); } + h1, h2, h3, h4, h5, h6 .header-link { + color: #000a14 !important; + font-size: 15px !important; + font-family: Open Sans !important; + font-weight: 600 !important; + line-height: 20px !important; + word-wrap: break-word !important; + } +} + +// custom styles +.markdown { + // Title styles + h1, h2, h3, h4, h5, h6 { + &.header-link { + color: #000a14 !important; + font-size: 15px !important; + font-family: Open Sans !important; + font-weight: 600 !important; + line-height: 20px !important; + word-wrap: break-word !important; + } + } + + // Description styles + .md-description { + font-size: 14px; + line-height: 1.6; + color: var(--N700); + margin-bottom: 20px; + } + + // List styles + ul.md-list { + margin: 12px 0; + padding-left: 24px; + + li { + color: var(--neutral-N900, #F8F8F9); + font-size: 13px; + font-family: Open Sans; + font-weight: 400; + line-height: 20px; + word-wrap: break-word; + + &::marker { + color: var(--N400); + } + } + } + + // Nested list styles + ul.md-list ul { + margin: 8px 0; + } } diff --git a/src/Shared/Components/Icon/Icon.tsx b/src/Shared/Components/Icon/Icon.tsx index 7f033b794..4e84cd451 100644 --- a/src/Shared/Components/Icon/Icon.tsx +++ b/src/Shared/Components/Icon/Icon.tsx @@ -196,6 +196,7 @@ import { ReactComponent as ICMonitoring } from '@IconsV2/ic-monitoring.svg' import { ReactComponent as ICMoreVertical } from '@IconsV2/ic-more-vertical.svg' import { ReactComponent as ICNamespace } from '@IconsV2/ic-namespace.svg' import { ReactComponent as ICNew } from '@IconsV2/ic-new.svg' +import { ReactComponent as ICNewChat } from '@IconsV2/ic-new-chat.svg' import { ReactComponent as ICNodeScript } from '@IconsV2/ic-node-script.svg' import { ReactComponent as ICOidc } from '@IconsV2/ic-oidc.svg' import { ReactComponent as ICOpenBox } from '@IconsV2/ic-open-box.svg' @@ -478,6 +479,7 @@ export const iconMap = { 'ic-monitoring': ICMonitoring, 'ic-more-vertical': ICMoreVertical, 'ic-namespace': ICNamespace, + 'ic-new-chat': ICNewChat, 'ic-new': ICNew, 'ic-node-script': ICNodeScript, 'ic-oidc': ICOidc, From 754404e0073ce428f144f480b941ed6526db8882 Mon Sep 17 00:00:00 2001 From: chithra Date: Tue, 30 Sep 2025 21:22:32 +0530 Subject: [PATCH 009/134] adding new icons --- src/Assets/IconV2/ic-arrow-white.svg | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/Assets/IconV2/ic-arrow-white.svg b/src/Assets/IconV2/ic-arrow-white.svg index 38d2caf06..27b058713 100644 --- a/src/Assets/IconV2/ic-arrow-white.svg +++ b/src/Assets/IconV2/ic-arrow-white.svg @@ -1,3 +1,8 @@ +<<<<<<< HEAD +======= + + +>>>>>>> aa18c13c (adding new icons) From 3722b017e146278b671860105575170a1ebb2c92 Mon Sep 17 00:00:00 2001 From: Asika TK Date: Wed, 1 Oct 2025 14:29:15 +0530 Subject: [PATCH 010/134] feat: chatbot makdown styles updated --- src/Common/Markdown/MarkDown.tsx | 3 --- src/Common/Markdown/markdown.scss | 3 +++ 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Common/Markdown/MarkDown.tsx b/src/Common/Markdown/MarkDown.tsx index a56f54d4f..3a0076444 100644 --- a/src/Common/Markdown/MarkDown.tsx +++ b/src/Common/Markdown/MarkDown.tsx @@ -81,9 +81,6 @@ const MarkDown = ({ renderer.heading = ({ text, depth }: Tokens.Heading) => { // Alternative debugging - add to window object - if (typeof window !== 'undefined') { - ;(window as any).debugHeadingText = text - } const escapedText = disableEscapedText ? '' : text.toLowerCase().replace(/[^\w]+/g, '-') return ` diff --git a/src/Common/Markdown/markdown.scss b/src/Common/Markdown/markdown.scss index 4526d4c91..67401da32 100644 --- a/src/Common/Markdown/markdown.scss +++ b/src/Common/Markdown/markdown.scss @@ -132,4 +132,7 @@ ul.md-list ul { margin: 8px 0; } + ol { + padding-left: 15px; + } } From d6dba966f4d8601bd063c9be6bebc58ba1d098a0 Mon Sep 17 00:00:00 2001 From: chithra Date: Wed, 1 Oct 2025 16:17:24 +0530 Subject: [PATCH 011/134] Icons added --- src/Shared/Components/Icon/Icon.tsx | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/src/Shared/Components/Icon/Icon.tsx b/src/Shared/Components/Icon/Icon.tsx index 4e84cd451..f1645fd41 100644 --- a/src/Shared/Components/Icon/Icon.tsx +++ b/src/Shared/Components/Icon/Icon.tsx @@ -1,5 +1,17 @@ // NOTE: This file is auto-generated. Do not edit directly. Run the script `npm run generate-icon` to update. - +import { ReactComponent as ICBulb } from '@Icons/ic-bulb.svg' +import { ReactComponent as ICStatusProgress } from '@Icons/ic-circle-progress.svg' +import { ReactComponent as ICClose } from '@Icons/ic-close.svg' +import { ReactComponent as ICStatusPending } from '@Icons/ic-dot-circle.svg' +import { ReactComponent as ICStatusFailed } from '@Icons/ic-failure-color.svg' +import { ReactComponent as ICPiggybank } from '@Icons/ic-piggybank.svg' +import { ReactComponent as ICPriorityHighFill } from '@Icons/ic-priority-high-fill.svg' +import { ReactComponent as ICPriorityLowFill } from '@Icons/ic-priority-low-fill.svg' +import { ReactComponent as ICPriorityMediumFill } from '@Icons/ic-priority-medium-fill.svg' +import { ReactComponent as ICPriorityUrgentFill } from '@Icons/ic-priority-urgent-fill.svg' +import { ReactComponent as ICRedBulb } from '@Icons/ic-red-bulb.svg' +import { ReactComponent as ICSpider } from '@Icons/ic-spider.svg' +import { ReactComponent as ICVector } from '@Icons/ic-vector.svg' import { ReactComponent as IC73strings } from '@IconsV2/ic-73strings.svg' import { ReactComponent as ICAborted } from '@IconsV2/ic-aborted.svg' import { ReactComponent as ICActivity } from '@IconsV2/ic-activity.svg' @@ -562,6 +574,19 @@ export const iconMap = { 'ic-webhook': ICWebhook, 'ic-wifi-slash': ICWifiSlash, 'ic-world-globe': ICWorldGlobe, + 'ic-bulb': ICRedBulb, + 'ic-red-bulb': ICBulb, + 'ic-failure-color': ICStatusFailed, + 'ic-dot-circle': ICStatusPending, + 'ic-circle-progress': ICStatusProgress, + 'ic-piggybank': ICPiggybank, + 'ic-priority-high-fill': ICPriorityHighFill, + 'ic-priority-low-fill': ICPriorityLowFill, + 'ic-priority-medium-fill': ICPriorityMediumFill, + 'ic-priority-urgent-fill': ICPriorityUrgentFill, + 'ic-spider': ICSpider, + 'ic-vector': ICVector, + 'ic-close': ICClose, } export type IconName = keyof typeof iconMap From a6104548b12aaa4ed6d7a7b94668bdf18b0f1937 Mon Sep 17 00:00:00 2001 From: chithra Date: Mon, 6 Oct 2025 15:42:33 +0530 Subject: [PATCH 012/134] icons changing to IconsV2 --- src/Assets/Icon/ic-coins.svg | 3 -- src/Assets/Icon/ic-priority-medium-fill.svg | 4 -- src/Assets/{Icon => IconV2}/ic-bulb.svg | 0 .../{Icon => IconV2}/ic-circle-progress.svg | 0 src/Assets/IconV2/ic-coins.svg | 4 +- src/Assets/{Icon => IconV2}/ic-dot-circle.svg | 0 .../{Icon => IconV2}/ic-failure-color.svg | 0 src/Assets/{Icon => IconV2}/ic-piggybank.svg | 0 .../ic-priority-high-fill.svg | 0 .../{Icon => IconV2}/ic-priority-low-fill.svg | 0 src/Assets/IconV2/ic-priority-medium-fill.svg | 6 +++ .../ic-priority-urgent-fill.svg | 0 src/Assets/{Icon => IconV2}/ic-red-bulb.svg | 0 src/Assets/{Icon => IconV2}/ic-spider.svg | 0 src/Assets/{Icon => IconV2}/ic-vector.svg | 0 src/Shared/Components/Icon/Icon.tsx | 51 +++++++++---------- 16 files changed, 33 insertions(+), 35 deletions(-) delete mode 100644 src/Assets/Icon/ic-coins.svg delete mode 100644 src/Assets/Icon/ic-priority-medium-fill.svg rename src/Assets/{Icon => IconV2}/ic-bulb.svg (100%) rename src/Assets/{Icon => IconV2}/ic-circle-progress.svg (100%) rename src/Assets/{Icon => IconV2}/ic-dot-circle.svg (100%) rename src/Assets/{Icon => IconV2}/ic-failure-color.svg (100%) rename src/Assets/{Icon => IconV2}/ic-piggybank.svg (100%) rename src/Assets/{Icon => IconV2}/ic-priority-high-fill.svg (100%) rename src/Assets/{Icon => IconV2}/ic-priority-low-fill.svg (100%) rename src/Assets/{Icon => IconV2}/ic-priority-urgent-fill.svg (100%) rename src/Assets/{Icon => IconV2}/ic-red-bulb.svg (100%) rename src/Assets/{Icon => IconV2}/ic-spider.svg (100%) rename src/Assets/{Icon => IconV2}/ic-vector.svg (100%) diff --git a/src/Assets/Icon/ic-coins.svg b/src/Assets/Icon/ic-coins.svg deleted file mode 100644 index 16072f183..000000000 --- a/src/Assets/Icon/ic-coins.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/Assets/Icon/ic-priority-medium-fill.svg b/src/Assets/Icon/ic-priority-medium-fill.svg deleted file mode 100644 index 121997606..000000000 --- a/src/Assets/Icon/ic-priority-medium-fill.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/src/Assets/Icon/ic-bulb.svg b/src/Assets/IconV2/ic-bulb.svg similarity index 100% rename from src/Assets/Icon/ic-bulb.svg rename to src/Assets/IconV2/ic-bulb.svg diff --git a/src/Assets/Icon/ic-circle-progress.svg b/src/Assets/IconV2/ic-circle-progress.svg similarity index 100% rename from src/Assets/Icon/ic-circle-progress.svg rename to src/Assets/IconV2/ic-circle-progress.svg diff --git a/src/Assets/IconV2/ic-coins.svg b/src/Assets/IconV2/ic-coins.svg index 848b4b283..16072f183 100644 --- a/src/Assets/IconV2/ic-coins.svg +++ b/src/Assets/IconV2/ic-coins.svg @@ -1,3 +1,3 @@ - - + + diff --git a/src/Assets/Icon/ic-dot-circle.svg b/src/Assets/IconV2/ic-dot-circle.svg similarity index 100% rename from src/Assets/Icon/ic-dot-circle.svg rename to src/Assets/IconV2/ic-dot-circle.svg diff --git a/src/Assets/Icon/ic-failure-color.svg b/src/Assets/IconV2/ic-failure-color.svg similarity index 100% rename from src/Assets/Icon/ic-failure-color.svg rename to src/Assets/IconV2/ic-failure-color.svg diff --git a/src/Assets/Icon/ic-piggybank.svg b/src/Assets/IconV2/ic-piggybank.svg similarity index 100% rename from src/Assets/Icon/ic-piggybank.svg rename to src/Assets/IconV2/ic-piggybank.svg diff --git a/src/Assets/Icon/ic-priority-high-fill.svg b/src/Assets/IconV2/ic-priority-high-fill.svg similarity index 100% rename from src/Assets/Icon/ic-priority-high-fill.svg rename to src/Assets/IconV2/ic-priority-high-fill.svg diff --git a/src/Assets/Icon/ic-priority-low-fill.svg b/src/Assets/IconV2/ic-priority-low-fill.svg similarity index 100% rename from src/Assets/Icon/ic-priority-low-fill.svg rename to src/Assets/IconV2/ic-priority-low-fill.svg diff --git a/src/Assets/IconV2/ic-priority-medium-fill.svg b/src/Assets/IconV2/ic-priority-medium-fill.svg index 07f524fb4..7d54b4868 100644 --- a/src/Assets/IconV2/ic-priority-medium-fill.svg +++ b/src/Assets/IconV2/ic-priority-medium-fill.svg @@ -1,4 +1,10 @@ +<<<<<<< HEAD +======= + + + +>>>>>>> 324044cd (icons changing to IconsV2) diff --git a/src/Assets/Icon/ic-priority-urgent-fill.svg b/src/Assets/IconV2/ic-priority-urgent-fill.svg similarity index 100% rename from src/Assets/Icon/ic-priority-urgent-fill.svg rename to src/Assets/IconV2/ic-priority-urgent-fill.svg diff --git a/src/Assets/Icon/ic-red-bulb.svg b/src/Assets/IconV2/ic-red-bulb.svg similarity index 100% rename from src/Assets/Icon/ic-red-bulb.svg rename to src/Assets/IconV2/ic-red-bulb.svg diff --git a/src/Assets/Icon/ic-spider.svg b/src/Assets/IconV2/ic-spider.svg similarity index 100% rename from src/Assets/Icon/ic-spider.svg rename to src/Assets/IconV2/ic-spider.svg diff --git a/src/Assets/Icon/ic-vector.svg b/src/Assets/IconV2/ic-vector.svg similarity index 100% rename from src/Assets/Icon/ic-vector.svg rename to src/Assets/IconV2/ic-vector.svg diff --git a/src/Shared/Components/Icon/Icon.tsx b/src/Shared/Components/Icon/Icon.tsx index f1645fd41..c0348867a 100644 --- a/src/Shared/Components/Icon/Icon.tsx +++ b/src/Shared/Components/Icon/Icon.tsx @@ -1,17 +1,5 @@ // NOTE: This file is auto-generated. Do not edit directly. Run the script `npm run generate-icon` to update. -import { ReactComponent as ICBulb } from '@Icons/ic-bulb.svg' -import { ReactComponent as ICStatusProgress } from '@Icons/ic-circle-progress.svg' -import { ReactComponent as ICClose } from '@Icons/ic-close.svg' -import { ReactComponent as ICStatusPending } from '@Icons/ic-dot-circle.svg' -import { ReactComponent as ICStatusFailed } from '@Icons/ic-failure-color.svg' -import { ReactComponent as ICPiggybank } from '@Icons/ic-piggybank.svg' -import { ReactComponent as ICPriorityHighFill } from '@Icons/ic-priority-high-fill.svg' -import { ReactComponent as ICPriorityLowFill } from '@Icons/ic-priority-low-fill.svg' -import { ReactComponent as ICPriorityMediumFill } from '@Icons/ic-priority-medium-fill.svg' -import { ReactComponent as ICPriorityUrgentFill } from '@Icons/ic-priority-urgent-fill.svg' -import { ReactComponent as ICRedBulb } from '@Icons/ic-red-bulb.svg' -import { ReactComponent as ICSpider } from '@Icons/ic-spider.svg' -import { ReactComponent as ICVector } from '@Icons/ic-vector.svg' + import { ReactComponent as IC73strings } from '@IconsV2/ic-73strings.svg' import { ReactComponent as ICAborted } from '@IconsV2/ic-aborted.svg' import { ReactComponent as ICActivity } from '@IconsV2/ic-activity.svg' @@ -53,6 +41,7 @@ import { ReactComponent as ICBrowser } from '@IconsV2/ic-browser.svg' import { ReactComponent as ICBug } from '@IconsV2/ic-bug.svg' import { ReactComponent as ICBuildColor } from '@IconsV2/ic-build-color.svg' import { ReactComponent as ICBuilding } from '@IconsV2/ic-building.svg' +import { ReactComponent as ICBulb } from '@IconsV2/ic-bulb.svg' import { ReactComponent as ICCalendar } from '@IconsV2/ic-calendar.svg' import { ReactComponent as ICCancelled } from '@IconsV2/ic-cancelled.svg' import { ReactComponent as ICCardStack } from '@IconsV2/ic-card-stack.svg' @@ -70,6 +59,7 @@ import { ReactComponent as ICChecks } from '@IconsV2/ic-checks.svg' import { ReactComponent as ICCiLinked } from '@IconsV2/ic-ci-linked.svg' import { ReactComponent as ICCircleLoader } from '@IconsV2/ic-circle-loader.svg' import { ReactComponent as ICCircleSmall } from '@IconsV2/ic-circle-small.svg' +import { ReactComponent as ICCircleProgress } from '@IconsV2/ic-circle-progress.svg' import { ReactComponent as ICCleanBrush } from '@IconsV2/ic-clean-brush.svg' import { ReactComponent as ICClipboard } from '@IconsV2/ic-clipboard.svg' import { ReactComponent as ICClock } from '@IconsV2/ic-clock.svg' @@ -109,6 +99,7 @@ import { ReactComponent as ICDiffUpdated } from '@IconsV2/ic-diff-updated.svg' import { ReactComponent as ICDisconnect } from '@IconsV2/ic-disconnect.svg' import { ReactComponent as ICDiscordFill } from '@IconsV2/ic-discord-fill.svg' import { ReactComponent as ICDockerhub } from '@IconsV2/ic-dockerhub.svg' +import { ReactComponent as ICDotCircle } from '@IconsV2/ic-dot-circle.svg' import { ReactComponent as ICDownload } from '@IconsV2/ic-download.svg' import { ReactComponent as ICEcr } from '@IconsV2/ic-ecr.svg' import { ReactComponent as ICEdit } from '@IconsV2/ic-edit.svg' @@ -123,6 +114,7 @@ import { ReactComponent as ICError } from '@IconsV2/ic-error.svg' import { ReactComponent as ICExpandRightSm } from '@IconsV2/ic-expand-right-sm.svg' import { ReactComponent as ICExpandSm } from '@IconsV2/ic-expand-sm.svg' import { ReactComponent as ICFailure } from '@IconsV2/ic-failure.svg' +import { ReactComponent as ICFailureColor } from '@IconsV2/ic-failure-color.svg' import { ReactComponent as ICFastForward } from '@IconsV2/ic-fast-forward.svg' import { ReactComponent as ICFile } from '@IconsV2/ic-file.svg' import { ReactComponent as ICFileCode } from '@IconsV2/ic-file-code.svg' @@ -224,10 +216,16 @@ import { ReactComponent as ICParty } from '@IconsV2/ic-party.svg' import { ReactComponent as ICPath } from '@IconsV2/ic-path.svg' import { ReactComponent as ICPauseCircle } from '@IconsV2/ic-pause-circle.svg' import { ReactComponent as ICPencil } from '@IconsV2/ic-pencil.svg' +import { ReactComponent as ICPiggybank } from '@IconsV2/ic-piggybank.svg' import { ReactComponent as ICPlayOutline } from '@IconsV2/ic-play-outline.svg' +import { ReactComponent as ICPriorityHighFill } from '@IconsV2/ic-priority-high-fill.svg' +import { ReactComponent as ICPriorityLowFill } from '@IconsV2/ic-priority-low-fill.svg' +import { ReactComponent as ICPriorityMediumFill } from '@IconsV2/ic-priority-medium-fill.svg' +import { ReactComponent as ICPriorityUrgentFill } from '@IconsV2/ic-priority-urgent-fill.svg' import { ReactComponent as ICPriorityMediumFill } from '@IconsV2/ic-priority-medium-fill.svg' import { ReactComponent as ICQuay } from '@IconsV2/ic-quay.svg' import { ReactComponent as ICQuote } from '@IconsV2/ic-quote.svg' +import { ReactComponent as ICRedBulb } from '@IconsV2/ic-red-bulb.svg' import { ReactComponent as ICRatings } from '@IconsV2/ic-ratings.svg' import { ReactComponent as ICResizeHandle } from '@IconsV2/ic-resize-handle.svg' import { ReactComponent as ICRightPanelCollapse } from '@IconsV2/ic-right-panel-collapse.svg' @@ -243,6 +241,7 @@ import { ReactComponent as ICSortable } from '@IconsV2/ic-sortable.svg' import { ReactComponent as ICSparkleAiColor } from '@IconsV2/ic-sparkle-ai-color.svg' import { ReactComponent as ICSparkleColor } from '@IconsV2/ic-sparkle-color.svg' import { ReactComponent as ICSpeedometer } from '@IconsV2/ic-speedometer.svg' +import { ReactComponent as ICSpider } from '@IconsV2/ic-spider.svg' import { ReactComponent as ICSpinny } from '@IconsV2/ic-spinny.svg' import { ReactComponent as ICSprayCan } from '@IconsV2/ic-spray-can.svg' import { ReactComponent as ICStack } from '@IconsV2/ic-stack.svg' @@ -281,6 +280,7 @@ import { ReactComponent as ICUpgradeEnterprise } from '@IconsV2/ic-upgrade-enter import { ReactComponent as ICUserCircle } from '@IconsV2/ic-user-circle.svg' import { ReactComponent as ICUserKey } from '@IconsV2/ic-user-key.svg' import { ReactComponent as ICUsers } from '@IconsV2/ic-users.svg' +import { ReactComponent as ICVector } from '@IconsV2/ic-vector.svg' import { ReactComponent as ICViewVariableToggle } from '@IconsV2/ic-view-variable-toggle.svg' import { ReactComponent as ICVisibilityOff } from '@IconsV2/ic-visibility-off.svg' import { ReactComponent as ICVisibilityOn } from '@IconsV2/ic-visibility-on.svg' @@ -337,6 +337,7 @@ export const iconMap = { 'ic-bug': ICBug, 'ic-build-color': ICBuildColor, 'ic-building': ICBuilding, + 'ic-bulb': ICBulb, 'ic-calendar': ICCalendar, 'ic-cancelled': ICCancelled, 'ic-card-stack': ICCardStack, @@ -354,6 +355,7 @@ export const iconMap = { 'ic-ci-linked': ICCiLinked, 'ic-circle-loader': ICCircleLoader, 'ic-circle-small': ICCircleSmall, + 'ic-circle-progress': ICCircleProgress, 'ic-clean-brush': ICCleanBrush, 'ic-clipboard': ICClipboard, 'ic-clock-counterclockwise': ICClockCounterclockwise, @@ -393,6 +395,7 @@ export const iconMap = { 'ic-disconnect': ICDisconnect, 'ic-discord-fill': ICDiscordFill, 'ic-dockerhub': ICDockerhub, + 'ic-dot-circle': ICDotCircle, 'ic-download': ICDownload, 'ic-ecr': ICEcr, 'ic-edit-lines': ICEditLines, @@ -406,6 +409,7 @@ export const iconMap = { 'ic-error': ICError, 'ic-expand-right-sm': ICExpandRightSm, 'ic-expand-sm': ICExpandSm, + 'ic-failure-color': ICFailureColor, 'ic-failure': ICFailure, 'ic-fast-forward': ICFastForward, 'ic-file-code': ICFileCode, @@ -508,10 +512,16 @@ export const iconMap = { 'ic-path': ICPath, 'ic-pause-circle': ICPauseCircle, 'ic-pencil': ICPencil, + 'ic-piggybank': ICPiggybank, 'ic-play-outline': ICPlayOutline, + 'ic-priority-high-fill': ICPriorityHighFill, + 'ic-priority-low-fill': ICPriorityLowFill, + 'ic-priority-medium-fill': ICPriorityMediumFill, + 'ic-priority-urgent-fill': ICPriorityUrgentFill, 'ic-priority-medium-fill': ICPriorityMediumFill, 'ic-quay': ICQuay, 'ic-quote': ICQuote, + 'ic-red-bulb': ICRedBulb, 'ic-ratings': ICRatings, 'ic-resize-handle': ICResizeHandle, 'ic-right-panel-collapse': ICRightPanelCollapse, @@ -527,6 +537,7 @@ export const iconMap = { 'ic-sparkle-ai-color': ICSparkleAiColor, 'ic-sparkle-color': ICSparkleColor, 'ic-speedometer': ICSpeedometer, + 'ic-spider': ICSpider, 'ic-spinny': ICSpinny, 'ic-spray-can': ICSprayCan, 'ic-stack': ICStack, @@ -565,6 +576,7 @@ export const iconMap = { 'ic-user-circle': ICUserCircle, 'ic-user-key': ICUserKey, 'ic-users': ICUsers, + 'ic-vector': ICVector, 'ic-view-variable-toggle': ICViewVariableToggle, 'ic-visibility-off': ICVisibilityOff, 'ic-visibility-on': ICVisibilityOn, @@ -574,19 +586,6 @@ export const iconMap = { 'ic-webhook': ICWebhook, 'ic-wifi-slash': ICWifiSlash, 'ic-world-globe': ICWorldGlobe, - 'ic-bulb': ICRedBulb, - 'ic-red-bulb': ICBulb, - 'ic-failure-color': ICStatusFailed, - 'ic-dot-circle': ICStatusPending, - 'ic-circle-progress': ICStatusProgress, - 'ic-piggybank': ICPiggybank, - 'ic-priority-high-fill': ICPriorityHighFill, - 'ic-priority-low-fill': ICPriorityLowFill, - 'ic-priority-medium-fill': ICPriorityMediumFill, - 'ic-priority-urgent-fill': ICPriorityUrgentFill, - 'ic-spider': ICSpider, - 'ic-vector': ICVector, - 'ic-close': ICClose, } export type IconName = keyof typeof iconMap From 16646ea15c96be263e3499417086a16a5ba203bd Mon Sep 17 00:00:00 2001 From: chithra Date: Mon, 6 Oct 2025 18:30:42 +0530 Subject: [PATCH 013/134] Removing unwanted changes --- src/Common/Markdown/MarkDown.tsx | 1 - src/Common/Markdown/markdown.scss | 58 ----------------------------- src/Shared/Components/Icon/Icon.tsx | 6 +-- 3 files changed, 2 insertions(+), 63 deletions(-) diff --git a/src/Common/Markdown/MarkDown.tsx b/src/Common/Markdown/MarkDown.tsx index 3a0076444..8194b262a 100644 --- a/src/Common/Markdown/MarkDown.tsx +++ b/src/Common/Markdown/MarkDown.tsx @@ -80,7 +80,6 @@ const MarkDown = ({ ` renderer.heading = ({ text, depth }: Tokens.Heading) => { - // Alternative debugging - add to window object const escapedText = disableEscapedText ? '' : text.toLowerCase().replace(/[^\w]+/g, '-') return ` diff --git a/src/Common/Markdown/markdown.scss b/src/Common/Markdown/markdown.scss index 67401da32..cf8a7af2d 100644 --- a/src/Common/Markdown/markdown.scss +++ b/src/Common/Markdown/markdown.scss @@ -77,62 +77,4 @@ a.anchor { color: var(--N900); } - h1, h2, h3, h4, h5, h6 .header-link { - color: #000a14 !important; - font-size: 15px !important; - font-family: Open Sans !important; - font-weight: 600 !important; - line-height: 20px !important; - word-wrap: break-word !important; - } -} - -// custom styles -.markdown { - // Title styles - h1, h2, h3, h4, h5, h6 { - &.header-link { - color: #000a14 !important; - font-size: 15px !important; - font-family: Open Sans !important; - font-weight: 600 !important; - line-height: 20px !important; - word-wrap: break-word !important; - } - } - - // Description styles - .md-description { - font-size: 14px; - line-height: 1.6; - color: var(--N700); - margin-bottom: 20px; - } - - // List styles - ul.md-list { - margin: 12px 0; - padding-left: 24px; - - li { - color: var(--neutral-N900, #F8F8F9); - font-size: 13px; - font-family: Open Sans; - font-weight: 400; - line-height: 20px; - word-wrap: break-word; - - &::marker { - color: var(--N400); - } - } - } - - // Nested list styles - ul.md-list ul { - margin: 8px 0; - } - ol { - padding-left: 15px; - } } diff --git a/src/Shared/Components/Icon/Icon.tsx b/src/Shared/Components/Icon/Icon.tsx index c0348867a..d6ab1f6c2 100644 --- a/src/Shared/Components/Icon/Icon.tsx +++ b/src/Shared/Components/Icon/Icon.tsx @@ -222,11 +222,10 @@ import { ReactComponent as ICPriorityHighFill } from '@IconsV2/ic-priority-high- import { ReactComponent as ICPriorityLowFill } from '@IconsV2/ic-priority-low-fill.svg' import { ReactComponent as ICPriorityMediumFill } from '@IconsV2/ic-priority-medium-fill.svg' import { ReactComponent as ICPriorityUrgentFill } from '@IconsV2/ic-priority-urgent-fill.svg' -import { ReactComponent as ICPriorityMediumFill } from '@IconsV2/ic-priority-medium-fill.svg' import { ReactComponent as ICQuay } from '@IconsV2/ic-quay.svg' import { ReactComponent as ICQuote } from '@IconsV2/ic-quote.svg' -import { ReactComponent as ICRedBulb } from '@IconsV2/ic-red-bulb.svg' import { ReactComponent as ICRatings } from '@IconsV2/ic-ratings.svg' +import { ReactComponent as ICRedBulb } from '@IconsV2/ic-red-bulb.svg' import { ReactComponent as ICResizeHandle } from '@IconsV2/ic-resize-handle.svg' import { ReactComponent as ICRightPanelCollapse } from '@IconsV2/ic-right-panel-collapse.svg' import { ReactComponent as ICRocketGear } from '@IconsV2/ic-rocket-gear.svg' @@ -518,11 +517,10 @@ export const iconMap = { 'ic-priority-low-fill': ICPriorityLowFill, 'ic-priority-medium-fill': ICPriorityMediumFill, 'ic-priority-urgent-fill': ICPriorityUrgentFill, - 'ic-priority-medium-fill': ICPriorityMediumFill, 'ic-quay': ICQuay, 'ic-quote': ICQuote, - 'ic-red-bulb': ICRedBulb, 'ic-ratings': ICRatings, + 'ic-red-bulb': ICRedBulb, 'ic-resize-handle': ICResizeHandle, 'ic-right-panel-collapse': ICRightPanelCollapse, 'ic-rocket-gear': ICRocketGear, From e013add200b7055846418202c798c884ee3e0a6f Mon Sep 17 00:00:00 2001 From: chithra Date: Mon, 6 Oct 2025 18:44:43 +0530 Subject: [PATCH 014/134] Icons adding --- src/Assets/IconV2/ic-arrow-white.svg | 5 ----- src/Assets/IconV2/ic-coin.svg | 3 +++ src/Assets/IconV2/ic-coins.svg | 4 ++-- src/Shared/Components/Icon/Icon.tsx | 2 ++ 4 files changed, 7 insertions(+), 7 deletions(-) create mode 100644 src/Assets/IconV2/ic-coin.svg diff --git a/src/Assets/IconV2/ic-arrow-white.svg b/src/Assets/IconV2/ic-arrow-white.svg index 27b058713..38d2caf06 100644 --- a/src/Assets/IconV2/ic-arrow-white.svg +++ b/src/Assets/IconV2/ic-arrow-white.svg @@ -1,8 +1,3 @@ -<<<<<<< HEAD -======= - - ->>>>>>> aa18c13c (adding new icons) diff --git a/src/Assets/IconV2/ic-coin.svg b/src/Assets/IconV2/ic-coin.svg new file mode 100644 index 000000000..16072f183 --- /dev/null +++ b/src/Assets/IconV2/ic-coin.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/Assets/IconV2/ic-coins.svg b/src/Assets/IconV2/ic-coins.svg index 16072f183..848b4b283 100644 --- a/src/Assets/IconV2/ic-coins.svg +++ b/src/Assets/IconV2/ic-coins.svg @@ -1,3 +1,3 @@ - - + + diff --git a/src/Shared/Components/Icon/Icon.tsx b/src/Shared/Components/Icon/Icon.tsx index d6ab1f6c2..2a7b3365b 100644 --- a/src/Shared/Components/Icon/Icon.tsx +++ b/src/Shared/Components/Icon/Icon.tsx @@ -71,6 +71,7 @@ import { ReactComponent as ICCloudVms } from '@IconsV2/ic-cloud-vms.svg' import { ReactComponent as ICCluster } from '@IconsV2/ic-cluster.svg' import { ReactComponent as ICClusterIsolated } from '@IconsV2/ic-cluster-isolated.svg' import { ReactComponent as ICCode } from '@IconsV2/ic-code.svg' +import { ReactComponent as ICCoin } from '@IconsV2/ic-coin.svg' import { ReactComponent as ICCoins } from '@IconsV2/ic-coins.svg' import { ReactComponent as ICContainer } from '@IconsV2/ic-container.svg' import { ReactComponent as ICContainerRegistry } from '@IconsV2/ic-container-registry.svg' @@ -366,6 +367,7 @@ export const iconMap = { 'ic-cluster-isolated': ICClusterIsolated, 'ic-cluster': ICCluster, 'ic-code': ICCode, + 'ic-coin': ICCoin, 'ic-coins': ICCoins, 'ic-container-registry': ICContainerRegistry, 'ic-container': ICContainer, From 91a76e36ca9426b4dd3cec64c9205106da6a75bf Mon Sep 17 00:00:00 2001 From: chithra Date: Mon, 6 Oct 2025 18:47:11 +0530 Subject: [PATCH 015/134] Adding medium icon --- src/Assets/IconV2/ic-priority-medium-fill.svg | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/src/Assets/IconV2/ic-priority-medium-fill.svg b/src/Assets/IconV2/ic-priority-medium-fill.svg index 7d54b4868..edc1d84e0 100644 --- a/src/Assets/IconV2/ic-priority-medium-fill.svg +++ b/src/Assets/IconV2/ic-priority-medium-fill.svg @@ -1,10 +1,5 @@ -<<<<<<< HEAD - - - -======= - - - ->>>>>>> 324044cd (icons changing to IconsV2) + + + + From dc4ef222db261c8533d4c6e625e1fcde8c066841 Mon Sep 17 00:00:00 2001 From: chithra Date: Mon, 6 Oct 2025 18:51:17 +0530 Subject: [PATCH 016/134] Correct icon replaced --- src/Assets/IconV2/ic-priority-medium-fill.svg | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/Assets/IconV2/ic-priority-medium-fill.svg b/src/Assets/IconV2/ic-priority-medium-fill.svg index edc1d84e0..07f524fb4 100644 --- a/src/Assets/IconV2/ic-priority-medium-fill.svg +++ b/src/Assets/IconV2/ic-priority-medium-fill.svg @@ -1,5 +1,4 @@ - - - - + + + From df3d18fecb97e7ee79115ad6d4c8efb3c8b7e99c Mon Sep 17 00:00:00 2001 From: chithra Date: Mon, 6 Oct 2025 18:53:38 +0530 Subject: [PATCH 017/134] code formatting --- src/Shared/Components/Icon/types.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Shared/Components/Icon/types.ts b/src/Shared/Components/Icon/types.ts index c352169b6..f939a8e14 100644 --- a/src/Shared/Components/Icon/types.ts +++ b/src/Shared/Components/Icon/types.ts @@ -46,7 +46,7 @@ export interface IconBaseProps { * * @example 'B500', 'N200', 'G50', 'R700' */ - color?: IconBaseColorType + color: IconBaseColorType /** * A unique identifier for testing purposes, typically used in test automation. */ From 516f6762bf401c34b95e8cf370d2fa4f82544530 Mon Sep 17 00:00:00 2001 From: chithra Date: Mon, 6 Oct 2025 18:59:04 +0530 Subject: [PATCH 018/134] Removing service paths --- src/Common/API/CoreAPI.ts | 31 ++++++++++++++++++++++--------- src/Common/Constants.ts | 7 ------- 2 files changed, 22 insertions(+), 16 deletions(-) diff --git a/src/Common/API/CoreAPI.ts b/src/Common/API/CoreAPI.ts index 2bf7a2a86..859212a62 100644 --- a/src/Common/API/CoreAPI.ts +++ b/src/Common/API/CoreAPI.ts @@ -14,7 +14,7 @@ * limitations under the License. */ -import { API_STATUS_CODES, FALLBACK_REQUEST_TIMEOUT, Host, SERVICE_PATHS } from '@Common/Constants' +import { API_STATUS_CODES, FALLBACK_REQUEST_TIMEOUT, Host } from '@Common/Constants' import { noop } from '@Common/Helper' import { ServerErrors } from '@Common/ServerError' import { APIOptions, ResponseType } from '@Common/Types' @@ -69,7 +69,7 @@ class CoreAPI { } else { currentUrl = `${this.host}/${url}` } - + return fetch( currentUrl, !isMultipartRequest @@ -281,19 +281,32 @@ class CoreAPI { options?: APIOptions, isMultipartRequest?: boolean, isProxyHost?: boolean, - ): Promise> => this.fetchInTime({ url, type: 'POST', data, options, isMultipartRequest, isProxyHost }) + ): Promise> => + this.fetchInTime({ url, type: 'POST', data, options, isMultipartRequest, isProxyHost }) - put = (url: string, data: K, options?: APIOptions, isProxyHost?: boolean): Promise> => - this.fetchInTime({ url, type: 'PUT', data, options, isProxyHost }) + put = ( + url: string, + data: K, + options?: APIOptions, + isProxyHost?: boolean, + ): Promise> => this.fetchInTime({ url, type: 'PUT', data, options, isProxyHost }) - patch = (url: string, data: K, options?: APIOptions, isProxyHost?: boolean): Promise> => - this.fetchInTime({ url, type: 'PATCH', data, options, isProxyHost }) + patch = ( + url: string, + data: K, + options?: APIOptions, + isProxyHost?: boolean, + ): Promise> => this.fetchInTime({ url, type: 'PATCH', data, options, isProxyHost }) get = (url: string, options?: APIOptions, isProxyHost?: boolean): Promise> => this.fetchInTime({ url, type: 'GET', data: null, options, isProxyHost }) - trash = (url: string, data?: K, options?: APIOptions, isProxyHost?: boolean): Promise> => - this.fetchInTime({ url, type: 'DELETE', data, options, isProxyHost }) + trash = ( + url: string, + data?: K, + options?: APIOptions, + isProxyHost?: boolean, + ): Promise> => this.fetchInTime({ url, type: 'DELETE', data, options, isProxyHost }) setGlobalAPITimeout = (timeout: number) => { this.timeout = timeout || FALLBACK_REQUEST_TIMEOUT diff --git a/src/Common/Constants.ts b/src/Common/Constants.ts index bc833c89d..da240e67b 100644 --- a/src/Common/Constants.ts +++ b/src/Common/Constants.ts @@ -21,13 +21,6 @@ import { BackupAndScheduleListViewEnum, BackupLocationsTypes } from '@PagesDevtr export const FALLBACK_REQUEST_TIMEOUT = 60000 export const Host = window?.__ORCHESTRATOR_ROOT__ ?? '/orchestrator' -// Service path constants for API routing -export const SERVICE_PATHS = { - ATHENA: 'athena', - ORCHESTRATOR: 'orchestrator', - // Add other service paths as needed in the future -} as const - export const DOCUMENTATION_HOME_PAGE = 'https://docs.devtron.ai' export const DEVTRON_HOME_PAGE = 'https://devtron.ai/' export const DOCUMENTATION_VERSION = '/devtron/v1.7' From 4961797058289fb250abdc087edf001f05f1b340 Mon Sep 17 00:00:00 2001 From: chithra Date: Tue, 7 Oct 2025 17:52:23 +0530 Subject: [PATCH 019/134] API changes added --- src/Common/API/CoreAPI.ts | 46 ++++++++++----------------------------- 1 file changed, 11 insertions(+), 35 deletions(-) diff --git a/src/Common/API/CoreAPI.ts b/src/Common/API/CoreAPI.ts index 859212a62..368649cbe 100644 --- a/src/Common/API/CoreAPI.ts +++ b/src/Common/API/CoreAPI.ts @@ -61,17 +61,8 @@ class CoreAPI { } // eslint-disable-next-line dot-notation options['credentials'] = 'include' as RequestCredentials - let currentUrl: string - if (isProxyHost) { - // Remove leading slash from url if it exists to avoid double slash after /proxy - const proxyUrl = url.startsWith('/') ? url.slice(1) : url - currentUrl = `/proxy/${proxyUrl}` - } else { - currentUrl = `${this.host}/${url}` - } - return fetch( - currentUrl, + `${isProxyHost ? '/proxy' : this.host}/${url}`, !isMultipartRequest ? options : ({ @@ -209,8 +200,7 @@ class CoreAPI { data, options, isMultipartRequest, - isProxyHost = false, - }: FetchInTimeParamsType & { isProxyHost?: boolean }): Promise => { + }: FetchInTimeParamsType): Promise => { const controller = options?.abortControllerRef?.current ?? new AbortController() const timeoutSignal = controller.signal @@ -280,33 +270,19 @@ class CoreAPI { data: K, options?: APIOptions, isMultipartRequest?: boolean, - isProxyHost?: boolean, - ): Promise> => - this.fetchInTime({ url, type: 'POST', data, options, isMultipartRequest, isProxyHost }) + ): Promise> => this.fetchInTime({ url, type: 'POST', data, options, isMultipartRequest }) - put = ( - url: string, - data: K, - options?: APIOptions, - isProxyHost?: boolean, - ): Promise> => this.fetchInTime({ url, type: 'PUT', data, options, isProxyHost }) + put = (url: string, data: K, options?: APIOptions): Promise> => + this.fetchInTime({ url, type: 'PUT', data, options }) - patch = ( - url: string, - data: K, - options?: APIOptions, - isProxyHost?: boolean, - ): Promise> => this.fetchInTime({ url, type: 'PATCH', data, options, isProxyHost }) + patch = (url: string, data: K, options?: APIOptions): Promise> => + this.fetchInTime({ url, type: 'PATCH', data, options }) - get = (url: string, options?: APIOptions, isProxyHost?: boolean): Promise> => - this.fetchInTime({ url, type: 'GET', data: null, options, isProxyHost }) + get = (url: string, options?: APIOptions): Promise> => + this.fetchInTime({ url, type: 'GET', data: null, options }) - trash = ( - url: string, - data?: K, - options?: APIOptions, - isProxyHost?: boolean, - ): Promise> => this.fetchInTime({ url, type: 'DELETE', data, options, isProxyHost }) + trash = (url: string, data?: K, options?: APIOptions): Promise> => + this.fetchInTime({ url, type: 'DELETE', data, options }) setGlobalAPITimeout = (timeout: number) => { this.timeout = timeout || FALLBACK_REQUEST_TIMEOUT From 10443db5b483c7d79cdd467496bc8eb2e154ef20 Mon Sep 17 00:00:00 2001 From: chithra Date: Sun, 12 Oct 2025 21:40:22 +0530 Subject: [PATCH 020/134] feat: Runbook implentation --- src/Assets/IconV2/ic-book-gear.svg | 9 +++++++++ src/Assets/IconV2/ic-check-green.svg | 3 +++ src/Assets/IconV2/ic-close-circle-red.svg | 3 +++ src/Assets/IconV2/ic-close-circle.svg | 3 +++ src/Assets/IconV2/ic-confirm.svg | 3 +++ src/Assets/IconV2/ic-info-filled-new.svg | 8 ++++++++ src/Assets/IconV2/ic-pencil-white.svg | 3 +++ src/Assets/IconV2/ic-timer-green.svg | 3 +++ src/Assets/IconV2/ic-timer-red.svg | 3 +++ src/Common/Constants.ts | 1 + src/Shared/Components/Icon/Icon.tsx | 18 ++++++++++++++++++ src/Shared/Hooks/useUserPreferences/types.ts | 2 ++ 12 files changed, 59 insertions(+) create mode 100644 src/Assets/IconV2/ic-book-gear.svg create mode 100644 src/Assets/IconV2/ic-check-green.svg create mode 100644 src/Assets/IconV2/ic-close-circle-red.svg create mode 100644 src/Assets/IconV2/ic-close-circle.svg create mode 100644 src/Assets/IconV2/ic-confirm.svg create mode 100644 src/Assets/IconV2/ic-info-filled-new.svg create mode 100644 src/Assets/IconV2/ic-pencil-white.svg create mode 100644 src/Assets/IconV2/ic-timer-green.svg create mode 100644 src/Assets/IconV2/ic-timer-red.svg diff --git a/src/Assets/IconV2/ic-book-gear.svg b/src/Assets/IconV2/ic-book-gear.svg new file mode 100644 index 000000000..aad326fba --- /dev/null +++ b/src/Assets/IconV2/ic-book-gear.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/Assets/IconV2/ic-check-green.svg b/src/Assets/IconV2/ic-check-green.svg new file mode 100644 index 000000000..3d2537bba --- /dev/null +++ b/src/Assets/IconV2/ic-check-green.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/Assets/IconV2/ic-close-circle-red.svg b/src/Assets/IconV2/ic-close-circle-red.svg new file mode 100644 index 000000000..39eb6570a --- /dev/null +++ b/src/Assets/IconV2/ic-close-circle-red.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/Assets/IconV2/ic-close-circle.svg b/src/Assets/IconV2/ic-close-circle.svg new file mode 100644 index 000000000..5c48b3451 --- /dev/null +++ b/src/Assets/IconV2/ic-close-circle.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/Assets/IconV2/ic-confirm.svg b/src/Assets/IconV2/ic-confirm.svg new file mode 100644 index 000000000..33f68aeed --- /dev/null +++ b/src/Assets/IconV2/ic-confirm.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/Assets/IconV2/ic-info-filled-new.svg b/src/Assets/IconV2/ic-info-filled-new.svg new file mode 100644 index 000000000..121dc6fc3 --- /dev/null +++ b/src/Assets/IconV2/ic-info-filled-new.svg @@ -0,0 +1,8 @@ + + + + + + \ No newline at end of file diff --git a/src/Assets/IconV2/ic-pencil-white.svg b/src/Assets/IconV2/ic-pencil-white.svg new file mode 100644 index 000000000..85f43a527 --- /dev/null +++ b/src/Assets/IconV2/ic-pencil-white.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/Assets/IconV2/ic-timer-green.svg b/src/Assets/IconV2/ic-timer-green.svg new file mode 100644 index 000000000..da7308969 --- /dev/null +++ b/src/Assets/IconV2/ic-timer-green.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/Assets/IconV2/ic-timer-red.svg b/src/Assets/IconV2/ic-timer-red.svg new file mode 100644 index 000000000..fd3f830d4 --- /dev/null +++ b/src/Assets/IconV2/ic-timer-red.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/Common/Constants.ts b/src/Common/Constants.ts index da240e67b..0434eb9dc 100644 --- a/src/Common/Constants.ts +++ b/src/Common/Constants.ts @@ -143,6 +143,7 @@ export const URLS = { AI_RECOMMENDATIONS: AI_RECOMMENDATIONS_ROOT, AI_RECOMMENDATIONS_OVERVIEW: `${AI_RECOMMENDATIONS_ROOT}/overview`, EXTERNAL_APPS: 'ea', + AI_RECOMMENDATIONS_RUNBOOKS: `${AI_RECOMMENDATIONS_ROOT}/runbooks`, } as const export const ROUTES = { diff --git a/src/Shared/Components/Icon/Icon.tsx b/src/Shared/Components/Icon/Icon.tsx index 2a7b3365b..6a4c37f21 100644 --- a/src/Shared/Components/Icon/Icon.tsx +++ b/src/Shared/Components/Icon/Icon.tsx @@ -34,6 +34,7 @@ import { ReactComponent as ICBgScan } from '@IconsV2/ic-bg-scan.svg' import { ReactComponent as ICBgWebhook } from '@IconsV2/ic-bg-webhook.svg' import { ReactComponent as ICBharatpe } from '@IconsV2/ic-bharatpe.svg' import { ReactComponent as ICBitbucket } from '@IconsV2/ic-bitbucket.svg' +import { ReactComponent as ICBookGear } from '@IconsV2/ic-book-gear.svg' import { ReactComponent as ICBookOpen } from '@IconsV2/ic-book-open.svg' import { ReactComponent as ICBot } from '@IconsV2/ic-bot.svg' import { ReactComponent as ICBrain } from '@IconsV2/ic-brain.svg' @@ -54,6 +55,7 @@ import { ReactComponent as ICChatCircleOnline } from '@IconsV2/ic-chat-circle-on import { ReactComponent as ICCheck } from '@IconsV2/ic-check.svg' import { ReactComponent as ICCheckAll } from '@IconsV2/ic-check-all.svg' import { ReactComponent as ICCheckCircle } from '@IconsV2/ic-check-circle.svg' +import { ReactComponent as ICCheckGreen } from '@IconsV2/ic-check-green.svg' import { ReactComponent as ICCheckSquare } from '@IconsV2/ic-check-square.svg' import { ReactComponent as ICChecks } from '@IconsV2/ic-checks.svg' import { ReactComponent as ICCiLinked } from '@IconsV2/ic-ci-linked.svg' @@ -64,6 +66,8 @@ import { ReactComponent as ICCleanBrush } from '@IconsV2/ic-clean-brush.svg' import { ReactComponent as ICClipboard } from '@IconsV2/ic-clipboard.svg' import { ReactComponent as ICClock } from '@IconsV2/ic-clock.svg' import { ReactComponent as ICClockCounterclockwise } from '@IconsV2/ic-clock-counterclockwise.svg' +import { ReactComponent as ICCloseCircle } from '@IconsV2/ic-close-circle.svg' +import { ReactComponent as ICCloseCircleRed } from '@IconsV2/ic-close-circle-red.svg' import { ReactComponent as ICCloseLarge } from '@IconsV2/ic-close-large.svg' import { ReactComponent as ICCloseSmall } from '@IconsV2/ic-close-small.svg' import { ReactComponent as ICCloud } from '@IconsV2/ic-cloud.svg' @@ -73,6 +77,7 @@ import { ReactComponent as ICClusterIsolated } from '@IconsV2/ic-cluster-isolate import { ReactComponent as ICCode } from '@IconsV2/ic-code.svg' import { ReactComponent as ICCoin } from '@IconsV2/ic-coin.svg' import { ReactComponent as ICCoins } from '@IconsV2/ic-coins.svg' +import { ReactComponent as ICConfirm } from '@IconsV2/ic-confirm.svg' import { ReactComponent as ICContainer } from '@IconsV2/ic-container.svg' import { ReactComponent as ICContainerRegistry } from '@IconsV2/ic-container-registry.svg' import { ReactComponent as ICCookr } from '@IconsV2/ic-cookr.svg' @@ -162,6 +167,7 @@ import { ReactComponent as ICHibernateCircle } from '@IconsV2/ic-hibernate-circl import { ReactComponent as ICInProgress } from '@IconsV2/ic-in-progress.svg' import { ReactComponent as ICInfoFilled } from '@IconsV2/ic-info-filled.svg' import { ReactComponent as ICInfoFilledColor } from '@IconsV2/ic-info-filled-color.svg' +import { ReactComponent as ICInfoFilledNew } from '@IconsV2/ic-info-filled-new.svg' import { ReactComponent as ICInfoOutline } from '@IconsV2/ic-info-outline.svg' import { ReactComponent as ICInput } from '@IconsV2/ic-input.svg' import { ReactComponent as ICInstall } from '@IconsV2/ic-install.svg' @@ -217,6 +223,7 @@ import { ReactComponent as ICParty } from '@IconsV2/ic-party.svg' import { ReactComponent as ICPath } from '@IconsV2/ic-path.svg' import { ReactComponent as ICPauseCircle } from '@IconsV2/ic-pause-circle.svg' import { ReactComponent as ICPencil } from '@IconsV2/ic-pencil.svg' +import { ReactComponent as ICPencilWhite } from '@IconsV2/ic-pencil-white.svg' import { ReactComponent as ICPiggybank } from '@IconsV2/ic-piggybank.svg' import { ReactComponent as ICPlayOutline } from '@IconsV2/ic-play-outline.svg' import { ReactComponent as ICPriorityHighFill } from '@IconsV2/ic-priority-high-fill.svg' @@ -270,6 +277,8 @@ import { ReactComponent as ICThumbDown } from '@IconsV2/ic-thumb-down.svg' import { ReactComponent as ICThumbUp } from '@IconsV2/ic-thumb-up.svg' import { ReactComponent as ICTimeoutDash } from '@IconsV2/ic-timeout-dash.svg' import { ReactComponent as ICTimer } from '@IconsV2/ic-timer.svg' +import { ReactComponent as ICTimerGreen } from '@IconsV2/ic-timer-green.svg' +import { ReactComponent as ICTimerRed } from '@IconsV2/ic-timer-red.svg' import { ReactComponent as ICTrafficSignal } from '@IconsV2/ic-traffic-signal.svg' import { ReactComponent as ICTravclan } from '@IconsV2/ic-travclan.svg' import { ReactComponent as ICTrendUp } from '@IconsV2/ic-trend-up.svg' @@ -330,6 +339,7 @@ export const iconMap = { 'ic-bg-webhook': ICBgWebhook, 'ic-bharatpe': ICBharatpe, 'ic-bitbucket': ICBitbucket, + 'ic-book-gear': ICBookGear, 'ic-book-open': ICBookOpen, 'ic-bot': ICBot, 'ic-brain': ICBrain, @@ -349,6 +359,7 @@ export const iconMap = { 'ic-chat-circle-online': ICChatCircleOnline, 'ic-check-all': ICCheckAll, 'ic-check-circle': ICCheckCircle, + 'ic-check-green': ICCheckGreen, 'ic-check-square': ICCheckSquare, 'ic-check': ICCheck, 'ic-checks': ICChecks, @@ -360,6 +371,8 @@ export const iconMap = { 'ic-clipboard': ICClipboard, 'ic-clock-counterclockwise': ICClockCounterclockwise, 'ic-clock': ICClock, + 'ic-close-circle-red': ICCloseCircleRed, + 'ic-close-circle': ICCloseCircle, 'ic-close-large': ICCloseLarge, 'ic-close-small': ICCloseSmall, 'ic-cloud-vms': ICCloudVms, @@ -369,6 +382,7 @@ export const iconMap = { 'ic-code': ICCode, 'ic-coin': ICCoin, 'ic-coins': ICCoins, + 'ic-confirm': ICConfirm, 'ic-container-registry': ICContainerRegistry, 'ic-container': ICContainer, 'ic-cookr': ICCookr, @@ -457,6 +471,7 @@ export const iconMap = { 'ic-hibernate': ICHibernate, 'ic-in-progress': ICInProgress, 'ic-info-filled-color': ICInfoFilledColor, + 'ic-info-filled-new': ICInfoFilledNew, 'ic-info-filled': ICInfoFilled, 'ic-info-outline': ICInfoOutline, 'ic-input': ICInput, @@ -512,6 +527,7 @@ export const iconMap = { 'ic-party': ICParty, 'ic-path': ICPath, 'ic-pause-circle': ICPauseCircle, + 'ic-pencil-white': ICPencilWhite, 'ic-pencil': ICPencil, 'ic-piggybank': ICPiggybank, 'ic-play-outline': ICPlayOutline, @@ -565,6 +581,8 @@ export const iconMap = { 'ic-thumb-down': ICThumbDown, 'ic-thumb-up': ICThumbUp, 'ic-timeout-dash': ICTimeoutDash, + 'ic-timer-green': ICTimerGreen, + 'ic-timer-red': ICTimerRed, 'ic-timer': ICTimer, 'ic-traffic-signal': ICTrafficSignal, 'ic-travclan': ICTravclan, diff --git a/src/Shared/Hooks/useUserPreferences/types.ts b/src/Shared/Hooks/useUserPreferences/types.ts index 9227f147b..160f3c06b 100644 --- a/src/Shared/Hooks/useUserPreferences/types.ts +++ b/src/Shared/Hooks/useUserPreferences/types.ts @@ -58,6 +58,7 @@ export type NavigationItemID = | 'data-protection-backup-locations' | 'data-protection-history-and-logs' | 'ai-recommendations-overview' + | 'ai-recommendations-runbooks' export type NavigationSubMenuItemID = | 'application-management-configurations-gitops' @@ -66,6 +67,7 @@ export type NavigationSubMenuItemID = | 'application-management-configurations-chart-repository' | 'application-management-configurations-deployment-charts' | 'application-management-configurations-notifications' + | 'application-management-configurations-runbook' | 'application-management-configurations-catalog-frameworks' | 'application-management-configurations-scoped-variables' | 'application-management-configurations-build-infra' From 85943f0031ef7bfe2c6ae78ad7f007d97698f1a2 Mon Sep 17 00:00:00 2001 From: chithra Date: Wed, 15 Oct 2025 16:33:27 +0530 Subject: [PATCH 021/134] Changing the path --- src/Common/Constants.ts | 1 + .../SelectPicker/GroupedFilterSelectPicker-Usage-Guide.md | 0 .../SelectPicker/GroupedFilterSelectPicker.example.tsx | 0 src/Shared/Hooks/useUserPreferences/types.ts | 1 + 4 files changed, 2 insertions(+) delete mode 100644 src/Shared/Components/SelectPicker/GroupedFilterSelectPicker-Usage-Guide.md delete mode 100644 src/Shared/Components/SelectPicker/GroupedFilterSelectPicker.example.tsx diff --git a/src/Common/Constants.ts b/src/Common/Constants.ts index 0434eb9dc..7ed546c26 100644 --- a/src/Common/Constants.ts +++ b/src/Common/Constants.ts @@ -142,6 +142,7 @@ export const URLS = { // AI RECOMMENDATIONS AI_RECOMMENDATIONS: AI_RECOMMENDATIONS_ROOT, AI_RECOMMENDATIONS_OVERVIEW: `${AI_RECOMMENDATIONS_ROOT}/overview`, + AI_RECOMMENDATIONS_NOTIFICATIONS: `${AI_RECOMMENDATIONS_ROOT}/notifications`, EXTERNAL_APPS: 'ea', AI_RECOMMENDATIONS_RUNBOOKS: `${AI_RECOMMENDATIONS_ROOT}/runbooks`, } as const diff --git a/src/Shared/Components/SelectPicker/GroupedFilterSelectPicker-Usage-Guide.md b/src/Shared/Components/SelectPicker/GroupedFilterSelectPicker-Usage-Guide.md deleted file mode 100644 index e69de29bb..000000000 diff --git a/src/Shared/Components/SelectPicker/GroupedFilterSelectPicker.example.tsx b/src/Shared/Components/SelectPicker/GroupedFilterSelectPicker.example.tsx deleted file mode 100644 index e69de29bb..000000000 diff --git a/src/Shared/Hooks/useUserPreferences/types.ts b/src/Shared/Hooks/useUserPreferences/types.ts index 160f3c06b..db29cabdd 100644 --- a/src/Shared/Hooks/useUserPreferences/types.ts +++ b/src/Shared/Hooks/useUserPreferences/types.ts @@ -59,6 +59,7 @@ export type NavigationItemID = | 'data-protection-history-and-logs' | 'ai-recommendations-overview' | 'ai-recommendations-runbooks' + | 'ai-recommendations-notifications' export type NavigationSubMenuItemID = | 'application-management-configurations-gitops' From ac708d762602b8930803ef629201550c7e2df77a Mon Sep 17 00:00:00 2001 From: chithra Date: Wed, 22 Oct 2025 11:49:59 +0530 Subject: [PATCH 022/134] duplicates icons removed --- src/Assets/IconV2/ic-coin.svg | 3 --- src/Assets/IconV2/ic-vector.svg | 3 --- src/Common/Constants.ts | 2 +- src/Shared/Components/Icon/Icon.tsx | 4 ---- 4 files changed, 1 insertion(+), 11 deletions(-) delete mode 100644 src/Assets/IconV2/ic-coin.svg delete mode 100644 src/Assets/IconV2/ic-vector.svg diff --git a/src/Assets/IconV2/ic-coin.svg b/src/Assets/IconV2/ic-coin.svg deleted file mode 100644 index 16072f183..000000000 --- a/src/Assets/IconV2/ic-coin.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/Assets/IconV2/ic-vector.svg b/src/Assets/IconV2/ic-vector.svg deleted file mode 100644 index 5ea230dca..000000000 --- a/src/Assets/IconV2/ic-vector.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/Common/Constants.ts b/src/Common/Constants.ts index 7ed546c26..58dc559d2 100644 --- a/src/Common/Constants.ts +++ b/src/Common/Constants.ts @@ -139,9 +139,9 @@ export const URLS = { GLOBAL_CONFIG_DOCKER: `${GLOBAL_CONFIG_ROOT}/docker`, GLOBAL_CONFIG_EDIT_CLUSTER: `${GLOBAL_CONFIG_ROOT}/cluster-env/edit/:clusterId`, PERMISSION_GROUPS: `${GLOBAL_CONFIG_ROOT}/auth/groups`, + // AI RECOMMENDATIONS AI_RECOMMENDATIONS: AI_RECOMMENDATIONS_ROOT, - AI_RECOMMENDATIONS_OVERVIEW: `${AI_RECOMMENDATIONS_ROOT}/overview`, AI_RECOMMENDATIONS_NOTIFICATIONS: `${AI_RECOMMENDATIONS_ROOT}/notifications`, EXTERNAL_APPS: 'ea', AI_RECOMMENDATIONS_RUNBOOKS: `${AI_RECOMMENDATIONS_ROOT}/runbooks`, diff --git a/src/Shared/Components/Icon/Icon.tsx b/src/Shared/Components/Icon/Icon.tsx index 6a4c37f21..9dd61269e 100644 --- a/src/Shared/Components/Icon/Icon.tsx +++ b/src/Shared/Components/Icon/Icon.tsx @@ -75,7 +75,6 @@ import { ReactComponent as ICCloudVms } from '@IconsV2/ic-cloud-vms.svg' import { ReactComponent as ICCluster } from '@IconsV2/ic-cluster.svg' import { ReactComponent as ICClusterIsolated } from '@IconsV2/ic-cluster-isolated.svg' import { ReactComponent as ICCode } from '@IconsV2/ic-code.svg' -import { ReactComponent as ICCoin } from '@IconsV2/ic-coin.svg' import { ReactComponent as ICCoins } from '@IconsV2/ic-coins.svg' import { ReactComponent as ICConfirm } from '@IconsV2/ic-confirm.svg' import { ReactComponent as ICContainer } from '@IconsV2/ic-container.svg' @@ -289,7 +288,6 @@ import { ReactComponent as ICUpgradeEnterprise } from '@IconsV2/ic-upgrade-enter import { ReactComponent as ICUserCircle } from '@IconsV2/ic-user-circle.svg' import { ReactComponent as ICUserKey } from '@IconsV2/ic-user-key.svg' import { ReactComponent as ICUsers } from '@IconsV2/ic-users.svg' -import { ReactComponent as ICVector } from '@IconsV2/ic-vector.svg' import { ReactComponent as ICViewVariableToggle } from '@IconsV2/ic-view-variable-toggle.svg' import { ReactComponent as ICVisibilityOff } from '@IconsV2/ic-visibility-off.svg' import { ReactComponent as ICVisibilityOn } from '@IconsV2/ic-visibility-on.svg' @@ -380,7 +378,6 @@ export const iconMap = { 'ic-cluster-isolated': ICClusterIsolated, 'ic-cluster': ICCluster, 'ic-code': ICCode, - 'ic-coin': ICCoin, 'ic-coins': ICCoins, 'ic-confirm': ICConfirm, 'ic-container-registry': ICContainerRegistry, @@ -594,7 +591,6 @@ export const iconMap = { 'ic-user-circle': ICUserCircle, 'ic-user-key': ICUserKey, 'ic-users': ICUsers, - 'ic-vector': ICVector, 'ic-view-variable-toggle': ICViewVariableToggle, 'ic-visibility-off': ICVisibilityOff, 'ic-visibility-on': ICVisibilityOn, From a66904e604f1f0d985a1a5ea404bc2b99bf59b7f Mon Sep 17 00:00:00 2001 From: Asika TK Date: Mon, 13 Oct 2025 14:53:16 +0530 Subject: [PATCH 023/134] feat: chatbot graphs --- src/Shared/Providers/MainContextProvider/types.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Shared/Providers/MainContextProvider/types.ts b/src/Shared/Providers/MainContextProvider/types.ts index f04949c4d..0ab1831b0 100644 --- a/src/Shared/Providers/MainContextProvider/types.ts +++ b/src/Shared/Providers/MainContextProvider/types.ts @@ -48,6 +48,7 @@ export interface SidePanelConfig { /** URL to documentation that should be displayed in the panel */ docLink: string | null aiSessionId?: string + isExpandedView?: boolean } type AIAgentContextType = { From e23ba7a043134e9e58caac38ade5877740c07d9f Mon Sep 17 00:00:00 2001 From: Asika TK Date: Thu, 23 Oct 2025 11:32:23 +0530 Subject: [PATCH 024/134] audit-logs --- src/Common/Constants.ts | 1 + src/Shared/Hooks/useUserPreferences/types.ts | 1 + src/index.ts | 1 + 3 files changed, 3 insertions(+) diff --git a/src/Common/Constants.ts b/src/Common/Constants.ts index 58dc559d2..b59de68ee 100644 --- a/src/Common/Constants.ts +++ b/src/Common/Constants.ts @@ -108,6 +108,7 @@ export const URLS = { INFRASTRUCTURE_MANAGEMENT_OVERVIEW: `${INFRASTRUCTURE_MANAGEMENT_ROOT}/overview`, INFRASTRUCTURE_MANAGEMENT_RESOURCE_BROWSER: `${INFRASTRUCTURE_MANAGEMENT_ROOT}/resource-browser`, INFRASTRUCTURE_MANAGEMENT_RESOURCE_WATCHER: `${INFRASTRUCTURE_MANAGEMENT_ROOT}/resource-watcher`, + INFRASTRUCTURE_MANAGEMENT_AUDIT_LOGS: `${INFRASTRUCTURE_MANAGEMENT_ROOT}/audit-logs`, // SOFTWARE RELEASE MANAGEMENT SOFTWARE_RELEASE_MANAGEMENT: SOFTWARE_RELEASE_MANAGEMENT_ROOT, // COST VISIBILITY diff --git a/src/Shared/Hooks/useUserPreferences/types.ts b/src/Shared/Hooks/useUserPreferences/types.ts index db29cabdd..9707e0506 100644 --- a/src/Shared/Hooks/useUserPreferences/types.ts +++ b/src/Shared/Hooks/useUserPreferences/types.ts @@ -32,6 +32,7 @@ export type NavigationItemID = | 'infrastructure-management-resource-browser' | 'infrastructure-management-resource-watcher' | 'infrastructure-management-catalog-framework' + | 'infrastructure-management-audit-logs' | 'software-release-management-overview' | 'software-release-management-release-hub' | 'software-release-management-tenants' diff --git a/src/index.ts b/src/index.ts index 627c7329f..e6f035bf4 100644 --- a/src/index.ts +++ b/src/index.ts @@ -189,6 +189,7 @@ export interface customEnv { * Time interval in seconds to refetch command bar data - Applications List */ COMMAND_BAR_REFETCH_INTERVAL?: number + HIDE_AUDIT_LOGS?: boolean } declare global { interface Window { From 867f2637c6242ddfca434f0e20321d0eec104d2b Mon Sep 17 00:00:00 2001 From: chithra Date: Thu, 23 Oct 2025 13:55:59 +0530 Subject: [PATCH 025/134] sample run book link added --- src/Shared/Components/DocLink/constants.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/Shared/Components/DocLink/constants.ts b/src/Shared/Components/DocLink/constants.ts index a8dbe184b..70cbc3e2d 100644 --- a/src/Shared/Components/DocLink/constants.ts +++ b/src/Shared/Components/DocLink/constants.ts @@ -116,7 +116,8 @@ export const DOCUMENTATION = { GLOBAL_CONFIG_SSO_LOGIN_MICROSOFT: 'global-configurations/authorization/sso-login/microsoft', GLOBAL_CONFIG_PULL_IMAGE_DIGEST: 'global-configurations/pull-image-digest', GLOBAL_CONFIG_TAGS: 'getting-started/global-configurations/tags-policy', - + // TODO: Replace with correct Url + SAMPLE_RUNBOOK_LINK: 'https://github.com/devtron-labs/athena-be/wiki/Runbook-Actions', // Software Release Management SOFTWARE_DISTRIBUTION_HUB: 'usage/software-distribution-hub', RELEASE_TRACKS: 'usage/software-distribution-hub/release-hub#creating-release-tracks-and-versions', From a882d6cd83d7feec6af05c50c03f9ad1d2f5e458 Mon Sep 17 00:00:00 2001 From: chithra Date: Thu, 23 Oct 2025 14:17:04 +0530 Subject: [PATCH 026/134] version bump --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index ba28c4d9e..847f0d98f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.20.6-pre-20", + "version": "1.20.6-pre-21", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.20.6-pre-20", + "version": "1.20.6-pre-21", "hasInstallScript": true, "license": "ISC", "dependencies": { diff --git a/package.json b/package.json index 0ec5e10c5..0eb8d4675 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.20.6-pre-20", + "version": "1.20.6-pre-21", "description": "Supporting common component library", "type": "module", "main": "dist/index.js", From 195f2a90402c179761b3f6e7180bb64af2478d9c Mon Sep 17 00:00:00 2001 From: chithra Date: Thu, 23 Oct 2025 14:25:57 +0530 Subject: [PATCH 027/134] version bump --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 847f0d98f..74069eb69 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.20.6-pre-21", + "version": "1.20.6-pre-25", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.20.6-pre-21", + "version": "1.20.6-pre-25", "hasInstallScript": true, "license": "ISC", "dependencies": { diff --git a/package.json b/package.json index 0eb8d4675..35bf538e8 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.20.6-pre-21", + "version": "1.20.6-pre-25", "description": "Supporting common component library", "type": "module", "main": "dist/index.js", From 1f4c37cce0d48c518adfd1e98c77125f3cebd15b Mon Sep 17 00:00:00 2001 From: Asika TK Date: Sat, 25 Oct 2025 10:47:15 +0530 Subject: [PATCH 028/134] charts added axes configs --- .../Components/Charts/Chart.component.tsx | 19 ++- src/Shared/Components/Charts/types.ts | 15 ++- src/Shared/Components/Charts/utils.tsx | 119 +++++++++++++----- 3 files changed, 117 insertions(+), 36 deletions(-) diff --git a/src/Shared/Components/Charts/Chart.component.tsx b/src/Shared/Components/Charts/Chart.component.tsx index c2c470886..93e15e0d4 100644 --- a/src/Shared/Components/Charts/Chart.component.tsx +++ b/src/Shared/Components/Charts/Chart.component.tsx @@ -158,6 +158,8 @@ ChartJSTooltip.positioners.barElementCenterPositioner = (items, eventPosition) = * @param type - Chart type: 'area', 'pie', 'stackedBar', 'stackedBarHorizontal', or 'line' * @param xAxisLabels - Array of labels for the x-axis (or categories for pie charts) * @param datasets - Chart data: array of datasets for most charts, single dataset object for pie charts + * @param xAxisConfig + * @param yAxisConfig * * @performance * **Memoization Recommendations:** @@ -201,6 +203,8 @@ const Chart = (props: ChartProps) => { xScaleTitle, yAxisMax, yScaleTitle, + xAxisConfig, + yAxisConfig, } = props const { getTooltipContent, placement } = tooltipConfig || { placement: 'top' } @@ -294,7 +298,20 @@ const Chart = (props: ChartProps) => { return () => { chartRef.current.destroy() } - }, [type, datasets, labels, appTheme, hideAxis, referenceLines, xAxisMax, xScaleTitle, yAxisMax, yScaleTitle]) + }, [ + type, + datasets, + labels, + appTheme, + hideAxis, + referenceLines, + xAxisMax, + xScaleTitle, + yAxisMax, + yScaleTitle, + xAxisConfig, + yAxisConfig, + ]) return (
diff --git a/src/Shared/Components/Charts/types.ts b/src/Shared/Components/Charts/types.ts index 78fbd2b5a..9041289f3 100644 --- a/src/Shared/Components/Charts/types.ts +++ b/src/Shared/Components/Charts/types.ts @@ -50,6 +50,17 @@ export interface ReferenceLineConfigType { value: number } +export interface AxisConfig { + title?: string + unit?: string + unitPosition?: 'prefix' | 'suffix' + labelFormatter?: (value: number | string, index: number) => string | string[] | number | number[] + hide?: boolean + max?: number + min?: number + stepSize?: number +} + type XYAxisMax = { xAxisMax?: number yAxisMax?: number @@ -57,6 +68,8 @@ type XYAxisMax = { * Optional reference lines to draw across the chart */ referenceLines?: ReferenceLineConfigType[] + xAxisConfig?: AxisConfig + yAxisConfig?: AxisConfig } type OnChartClickHandler = (datasetName: string, value: number) => void @@ -116,9 +129,7 @@ export type ChartProps = { placement?: TooltipProps['placement'] datasetValueFormatter?: (value: number) => string | number } - /** A title for x axis */ xScaleTitle?: string - /** A title for y axis */ yScaleTitle?: string } & TypeAndDatasetsType diff --git a/src/Shared/Components/Charts/utils.tsx b/src/Shared/Components/Charts/utils.tsx index 92145eb6e..209765768 100644 --- a/src/Shared/Components/Charts/utils.tsx +++ b/src/Shared/Components/Charts/utils.tsx @@ -23,6 +23,7 @@ import { MAX_BAR_THICKNESS, } from './constants' import { + AxisConfig, ChartColorKey, ChartProps, ChartType, @@ -173,6 +174,66 @@ const getScaleTickTitleConfig = (title: string, appTheme: AppThemeType): ScaleOp color: CHART_AXIS_LABELS_COLOR[appTheme], }) +/** + * Formats a value with unit based on axis configuration + */ +const formatValueWithUnit = (value: number | string, axisConfig?: AxisConfig): string => { + if (!axisConfig?.unit) { + return String(value) + } + + const { unit, unitPosition = 'suffix' } = axisConfig + const valueStr = String(value) + + return unitPosition === 'prefix' ? `${unit}${valueStr}` : `${valueStr}${unit}` +} + +/** + * Creates a comprehensive axis configuration with enhanced customization + */ +const getEnhancedAxisConfig = ( + axisConfig: AxisConfig | undefined, + legacyTitle: string | undefined, + legacyMax: number | undefined, + appTheme: AppThemeType, + isHidden: boolean, + hideLabels: boolean = false, +): ScaleOptions<'linear'> => { + // Merge legacy props with new axis config (new config takes priority) + const title = axisConfig?.title || legacyTitle + const max = axisConfig?.max !== undefined ? axisConfig.max : legacyMax + const hide = axisConfig?.hide !== undefined ? axisConfig.hide : isHidden + + return { + display: !hide, + min: axisConfig?.min, + max, + border: { + color: CHART_AXIS_COLORS[appTheme], + }, + grid: { + color: CHART_GRID_LINES_COLORS[appTheme], + }, + title: getScaleTickTitleConfig(title || '', appTheme), + ticks: { + display: !hideLabels && !hide, + color: CHART_AXIS_LABELS_COLOR[appTheme], + font: { + family: "'IBM Plex Sans', 'Open Sans', 'Roboto'", + size: 12, + lineHeight: '150%', + weight: 400, + }, + stepSize: axisConfig?.stepSize, + callback: + axisConfig?.labelFormatter || + ((value) => + // Apply unit formatting if specified + formatValueWithUnit(value, axisConfig)), + }, + } +} + // Get default options based on chart type export const getDefaultOptions = ({ chartProps, @@ -189,6 +250,8 @@ export const getDefaultOptions = ({ yAxisMax, xScaleTitle, yScaleTitle, + xAxisConfig, + yAxisConfig, yScaleTickFormat, xScaleTickFormat, xAxisLabels, @@ -249,34 +312,27 @@ export const getDefaultOptions = ({ : {}), } - const commonScaleConfig = { - display: !hideAxis, - border: { - color: CHART_AXIS_COLORS[appTheme], - }, - grid: { - color: CHART_GRID_LINES_COLORS[appTheme], - }, - ticks: { - display: !hideXAxisLabels, - color: CHART_AXIS_LABELS_COLOR[appTheme], - font: { - family: "'IBM Plex Sans', 'Open Sans', 'Roboto'", - size: 12, - lineHeight: '150%', - weight: 400, - }, - }, - } satisfies ScaleOptions<'linear'> + // Create enhanced axis configurations + const enhancedXAxisConfig = getEnhancedAxisConfig( + xAxisConfig, + xScaleTitle, + xAxisMax, + appTheme, + hideAxis, + hideXAxisLabels, + ) + const enhancedYAxisConfig = getEnhancedAxisConfig(yAxisConfig, yScaleTitle, yAxisMax, appTheme, hideAxis, false) + + // Apply legacy tick formatters if no custom formatter is provided in axis config const commonXScaleConfig = { - ...commonScaleConfig, - max: xAxisMax, - title: getScaleTickTitleConfig(xScaleTitle, appTheme), + ...enhancedXAxisConfig, ticks: { - ...commonScaleConfig.ticks, - ...((type !== 'stackedBarHorizontal' && typeof xScaleTickFormat === 'function') || - (type === 'stackedBarHorizontal' && typeof yScaleTickFormat === 'function') + ...enhancedXAxisConfig.ticks, + autoSkip: false, + ...(!xAxisConfig?.labelFormatter && + ((type !== 'stackedBarHorizontal' && typeof xScaleTickFormat === 'function') || + (type === 'stackedBarHorizontal' && typeof yScaleTickFormat === 'function')) ? { callback: type === 'stackedBarHorizontal' @@ -284,19 +340,16 @@ export const getDefaultOptions = ({ : (_, index) => xScaleTickFormat(xAxisLabels[index], index), } : {}), - autoSkip: false, }, } satisfies ScaleOptions<'linear'> const commonYScaleConfig = { - ...commonScaleConfig, - max: yAxisMax, - title: getScaleTickTitleConfig(yScaleTitle, appTheme), - // for stackedBarHorizon + ...enhancedYAxisConfig, ticks: { - ...commonScaleConfig.ticks, - ...((type === 'stackedBarHorizontal' && typeof xScaleTickFormat === 'function') || - (type !== 'stackedBarHorizontal' && typeof yScaleTickFormat === 'function') + ...enhancedYAxisConfig.ticks, + ...(!yAxisConfig?.labelFormatter && + ((type === 'stackedBarHorizontal' && typeof xScaleTickFormat === 'function') || + (type !== 'stackedBarHorizontal' && typeof yScaleTickFormat === 'function')) ? { callback: type !== 'stackedBarHorizontal' From bfa89347799059f0983f85d727d60eceee2cb2fc Mon Sep 17 00:00:00 2001 From: Asika TK Date: Sat, 25 Oct 2025 11:07:11 +0530 Subject: [PATCH 029/134] chart config version update --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 74069eb69..41433cfc5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.20.6-pre-25", + "version": "1.20.6-pre-26", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.20.6-pre-25", + "version": "1.20.6-pre-26", "hasInstallScript": true, "license": "ISC", "dependencies": { diff --git a/package.json b/package.json index 35bf538e8..619b8b954 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.20.6-pre-25", + "version": "1.20.6-pre-26", "description": "Supporting common component library", "type": "module", "main": "dist/index.js", From 2b2a5de858305ad13e6f39a1a650ac04bc2b8184 Mon Sep 17 00:00:00 2001 From: chithra Date: Mon, 27 Oct 2025 13:27:47 +0530 Subject: [PATCH 030/134] version bump --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 41433cfc5..e0422fd9e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.20.6-pre-26", + "version": "1.20.6-pre-29", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.20.6-pre-26", + "version": "1.20.6-pre-29", "hasInstallScript": true, "license": "ISC", "dependencies": { diff --git a/package.json b/package.json index 619b8b954..7fb5ad027 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.20.6-pre-26", + "version": "1.20.6-pre-29", "description": "Supporting common component library", "type": "module", "main": "dist/index.js", From 0c4370cbefa51be4e4bb102fff91bcde4b90fac8 Mon Sep 17 00:00:00 2001 From: chithra Date: Mon, 3 Nov 2025 10:41:45 +0530 Subject: [PATCH 031/134] version bump --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 77f4c9c6c..cf4ee3b2a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.20.6-alpha-31", + "version": "1.20.6-pre-34", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.20.6-alpha-31", + "version": "1.20.6-pre-34", "hasInstallScript": true, "license": "ISC", "dependencies": { diff --git a/package.json b/package.json index 5d641e07a..8ad6abfd1 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.20.6-alpha-31", + "version": "1.20.6-pre-34", "description": "Supporting common component library", "type": "module", "main": "dist/index.js", From 6c415b046df7fcfcbbd262618ca59d87d098598b Mon Sep 17 00:00:00 2001 From: chithra Date: Mon, 3 Nov 2025 10:53:50 +0530 Subject: [PATCH 032/134] version bump --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index cf4ee3b2a..1ee9dec44 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.20.6-pre-34", + "version": "1.20.6-pre-35", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.20.6-pre-34", + "version": "1.20.6-pre-35", "hasInstallScript": true, "license": "ISC", "dependencies": { diff --git a/package.json b/package.json index 8ad6abfd1..f0779e2ac 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.20.6-pre-34", + "version": "1.20.6-pre-35", "description": "Supporting common component library", "type": "module", "main": "dist/index.js", From b11fedc853c95f1bedbf102a89463557820077ca Mon Sep 17 00:00:00 2001 From: Asika TK Date: Tue, 4 Nov 2025 15:52:50 +0530 Subject: [PATCH 033/134] reverted changes in axes config --- src/Shared/Components/Charts/utils.tsx | 119 +++++++------------------ 1 file changed, 33 insertions(+), 86 deletions(-) diff --git a/src/Shared/Components/Charts/utils.tsx b/src/Shared/Components/Charts/utils.tsx index 209765768..92145eb6e 100644 --- a/src/Shared/Components/Charts/utils.tsx +++ b/src/Shared/Components/Charts/utils.tsx @@ -23,7 +23,6 @@ import { MAX_BAR_THICKNESS, } from './constants' import { - AxisConfig, ChartColorKey, ChartProps, ChartType, @@ -174,66 +173,6 @@ const getScaleTickTitleConfig = (title: string, appTheme: AppThemeType): ScaleOp color: CHART_AXIS_LABELS_COLOR[appTheme], }) -/** - * Formats a value with unit based on axis configuration - */ -const formatValueWithUnit = (value: number | string, axisConfig?: AxisConfig): string => { - if (!axisConfig?.unit) { - return String(value) - } - - const { unit, unitPosition = 'suffix' } = axisConfig - const valueStr = String(value) - - return unitPosition === 'prefix' ? `${unit}${valueStr}` : `${valueStr}${unit}` -} - -/** - * Creates a comprehensive axis configuration with enhanced customization - */ -const getEnhancedAxisConfig = ( - axisConfig: AxisConfig | undefined, - legacyTitle: string | undefined, - legacyMax: number | undefined, - appTheme: AppThemeType, - isHidden: boolean, - hideLabels: boolean = false, -): ScaleOptions<'linear'> => { - // Merge legacy props with new axis config (new config takes priority) - const title = axisConfig?.title || legacyTitle - const max = axisConfig?.max !== undefined ? axisConfig.max : legacyMax - const hide = axisConfig?.hide !== undefined ? axisConfig.hide : isHidden - - return { - display: !hide, - min: axisConfig?.min, - max, - border: { - color: CHART_AXIS_COLORS[appTheme], - }, - grid: { - color: CHART_GRID_LINES_COLORS[appTheme], - }, - title: getScaleTickTitleConfig(title || '', appTheme), - ticks: { - display: !hideLabels && !hide, - color: CHART_AXIS_LABELS_COLOR[appTheme], - font: { - family: "'IBM Plex Sans', 'Open Sans', 'Roboto'", - size: 12, - lineHeight: '150%', - weight: 400, - }, - stepSize: axisConfig?.stepSize, - callback: - axisConfig?.labelFormatter || - ((value) => - // Apply unit formatting if specified - formatValueWithUnit(value, axisConfig)), - }, - } -} - // Get default options based on chart type export const getDefaultOptions = ({ chartProps, @@ -250,8 +189,6 @@ export const getDefaultOptions = ({ yAxisMax, xScaleTitle, yScaleTitle, - xAxisConfig, - yAxisConfig, yScaleTickFormat, xScaleTickFormat, xAxisLabels, @@ -312,27 +249,34 @@ export const getDefaultOptions = ({ : {}), } - // Create enhanced axis configurations - const enhancedXAxisConfig = getEnhancedAxisConfig( - xAxisConfig, - xScaleTitle, - xAxisMax, - appTheme, - hideAxis, - hideXAxisLabels, - ) - - const enhancedYAxisConfig = getEnhancedAxisConfig(yAxisConfig, yScaleTitle, yAxisMax, appTheme, hideAxis, false) + const commonScaleConfig = { + display: !hideAxis, + border: { + color: CHART_AXIS_COLORS[appTheme], + }, + grid: { + color: CHART_GRID_LINES_COLORS[appTheme], + }, + ticks: { + display: !hideXAxisLabels, + color: CHART_AXIS_LABELS_COLOR[appTheme], + font: { + family: "'IBM Plex Sans', 'Open Sans', 'Roboto'", + size: 12, + lineHeight: '150%', + weight: 400, + }, + }, + } satisfies ScaleOptions<'linear'> - // Apply legacy tick formatters if no custom formatter is provided in axis config const commonXScaleConfig = { - ...enhancedXAxisConfig, + ...commonScaleConfig, + max: xAxisMax, + title: getScaleTickTitleConfig(xScaleTitle, appTheme), ticks: { - ...enhancedXAxisConfig.ticks, - autoSkip: false, - ...(!xAxisConfig?.labelFormatter && - ((type !== 'stackedBarHorizontal' && typeof xScaleTickFormat === 'function') || - (type === 'stackedBarHorizontal' && typeof yScaleTickFormat === 'function')) + ...commonScaleConfig.ticks, + ...((type !== 'stackedBarHorizontal' && typeof xScaleTickFormat === 'function') || + (type === 'stackedBarHorizontal' && typeof yScaleTickFormat === 'function') ? { callback: type === 'stackedBarHorizontal' @@ -340,16 +284,19 @@ export const getDefaultOptions = ({ : (_, index) => xScaleTickFormat(xAxisLabels[index], index), } : {}), + autoSkip: false, }, } satisfies ScaleOptions<'linear'> const commonYScaleConfig = { - ...enhancedYAxisConfig, + ...commonScaleConfig, + max: yAxisMax, + title: getScaleTickTitleConfig(yScaleTitle, appTheme), + // for stackedBarHorizon ticks: { - ...enhancedYAxisConfig.ticks, - ...(!yAxisConfig?.labelFormatter && - ((type === 'stackedBarHorizontal' && typeof xScaleTickFormat === 'function') || - (type !== 'stackedBarHorizontal' && typeof yScaleTickFormat === 'function')) + ...commonScaleConfig.ticks, + ...((type === 'stackedBarHorizontal' && typeof xScaleTickFormat === 'function') || + (type !== 'stackedBarHorizontal' && typeof yScaleTickFormat === 'function') ? { callback: type !== 'stackedBarHorizontal' From 39a74abfcb8fc65d8fa334f9f47aab70dc4871d5 Mon Sep 17 00:00:00 2001 From: Asika TK Date: Tue, 4 Nov 2025 16:59:44 +0530 Subject: [PATCH 034/134] version bump --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1ee9dec44..dbfc42967 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.20.6-pre-35", + "version": "1.20.6-pre-36", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.20.6-pre-35", + "version": "1.20.6-pre-36", "hasInstallScript": true, "license": "ISC", "dependencies": { diff --git a/package.json b/package.json index f0779e2ac..9ed5f102f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.20.6-pre-35", + "version": "1.20.6-pre-36", "description": "Supporting common component library", "type": "module", "main": "dist/index.js", From 81d2be03546857dce6dd6087ce8ead8a76fca142 Mon Sep 17 00:00:00 2001 From: Asika TK Date: Tue, 4 Nov 2025 19:19:12 +0530 Subject: [PATCH 035/134] graph fix version update --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index dbfc42967..d58ccee47 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.20.6-pre-36", + "version": "1.20.6-pre-37", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.20.6-pre-36", + "version": "1.20.6-pre-37", "hasInstallScript": true, "license": "ISC", "dependencies": { diff --git a/package.json b/package.json index 9ed5f102f..e3e515c12 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.20.6-pre-36", + "version": "1.20.6-pre-37", "description": "Supporting common component library", "type": "module", "main": "dist/index.js", From 5f49f1b144127edb2a4d8651c6d3ad8068ae8471 Mon Sep 17 00:00:00 2001 From: Asika TK Date: Fri, 7 Nov 2025 15:09:34 +0530 Subject: [PATCH 036/134] merged changes in chart --- src/Shared/Components/Charts/Chart.component.tsx | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/Shared/Components/Charts/Chart.component.tsx b/src/Shared/Components/Charts/Chart.component.tsx index b0f1bb661..f5abbe9de 100644 --- a/src/Shared/Components/Charts/Chart.component.tsx +++ b/src/Shared/Components/Charts/Chart.component.tsx @@ -171,9 +171,9 @@ ChartJSTooltip.positioners.barElementCenterPositioner = (items, eventPosition) = * ``` * * @param id - Unique identifier for the chart canvas element - * @param type - Chart type: 'area', 'pie', 'stackedBar', 'stackedBarHorizontal', or 'line' - * @param xAxisLabels - Array of labels for the x-axis (or categories for pie charts) - * @param datasets - Chart data: array of datasets for most charts, single dataset object for pie charts + * @param type - Chart type: 'area', 'pie', 'semiPie', 'stackedBar', 'stackedBarHorizontal', or 'line' + * @param xAxisLabels - Array of labels for the x-axis (or categories for pie/semi-pie charts) + * @param datasets - Chart data: array of datasets for most charts, single dataset object for pie/semi-pie charts * @param xAxisConfig * @param yAxisConfig * @@ -221,6 +221,7 @@ const Chart = (props: ChartProps) => { xScaleTitle, yAxisMax, yScaleTitle, + centerText, xAxisConfig, yAxisConfig, } = props @@ -319,6 +320,7 @@ const Chart = (props: ChartProps) => { xScaleTitle, yAxisMax, yScaleTitle, + centerText, xAxisConfig, yAxisConfig, ]) From 762ed0201733e9c84e2ade1e71de14049dd27e43 Mon Sep 17 00:00:00 2001 From: chithra Date: Fri, 7 Nov 2025 15:36:16 +0530 Subject: [PATCH 037/134] version bump --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index ea1790cb1..d515d030d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.20.6-pre-39", + "version": "1.20.6-pre-42", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.20.6-pre-39", + "version": "1.20.6-pre-42", "hasInstallScript": true, "license": "ISC", "dependencies": { diff --git a/package.json b/package.json index afd7e06e5..a31ae3417 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.20.6-pre-39", + "version": "1.20.6-pre-42", "description": "Supporting common component library", "type": "module", "main": "dist/index.js", From d9fd69ddef88dece9cb6d999eaa115cd361a1618 Mon Sep 17 00:00:00 2001 From: chithra Date: Fri, 7 Nov 2025 15:47:25 +0530 Subject: [PATCH 038/134] Changing sample doc url --- src/Shared/Components/DocLink/constants.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Shared/Components/DocLink/constants.ts b/src/Shared/Components/DocLink/constants.ts index 70cbc3e2d..37efffb81 100644 --- a/src/Shared/Components/DocLink/constants.ts +++ b/src/Shared/Components/DocLink/constants.ts @@ -117,7 +117,7 @@ export const DOCUMENTATION = { GLOBAL_CONFIG_PULL_IMAGE_DIGEST: 'global-configurations/pull-image-digest', GLOBAL_CONFIG_TAGS: 'getting-started/global-configurations/tags-policy', // TODO: Replace with correct Url - SAMPLE_RUNBOOK_LINK: 'https://github.com/devtron-labs/athena-be/wiki/Runbook-Actions', + SAMPLE_RUNBOOK_LINK: 'https://docs.devtron.ai/user-guide/ai-recommendations/runbook#add-runbook-spec', // Software Release Management SOFTWARE_DISTRIBUTION_HUB: 'usage/software-distribution-hub', RELEASE_TRACKS: 'usage/software-distribution-hub/release-hub#creating-release-tracks-and-versions', From a6798df501f35c153947385daec4375e11b903ac Mon Sep 17 00:00:00 2001 From: chithra Date: Fri, 7 Nov 2025 15:48:24 +0530 Subject: [PATCH 039/134] version bump --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index d515d030d..e340a9830 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.20.6-pre-42", + "version": "1.20.6-pre-43", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.20.6-pre-42", + "version": "1.20.6-pre-43", "hasInstallScript": true, "license": "ISC", "dependencies": { diff --git a/package.json b/package.json index a31ae3417..75219f4f9 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.20.6-pre-42", + "version": "1.20.6-pre-43", "description": "Supporting common component library", "type": "module", "main": "dist/index.js", From 3ba5401e45ecf26ff750827e35674b4c569b99a6 Mon Sep 17 00:00:00 2001 From: AbhishekA1509 Date: Fri, 7 Nov 2025 19:22:14 +0530 Subject: [PATCH 040/134] chore: bump version to 1.20.6-pre-45 in package.json and package-lock.json --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index f80cc192f..b6d63bfb0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.20.6-pre-44", + "version": "1.20.6-pre-45", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.20.6-pre-44", + "version": "1.20.6-pre-45", "hasInstallScript": true, "license": "ISC", "dependencies": { diff --git a/package.json b/package.json index 5f9fc44de..08c675738 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.20.6-pre-44", + "version": "1.20.6-pre-45", "description": "Supporting common component library", "type": "module", "main": "dist/index.js", From 91683523f1f8166f96d3148bd7e3d52d65d7ed78 Mon Sep 17 00:00:00 2001 From: AbhishekA1509 Date: Mon, 10 Nov 2025 15:47:29 +0530 Subject: [PATCH 041/134] feat: update version to 1.20.6-pre-46, add notifications icon, and integrate AI recommendations notifications --- package-lock.json | 4 +- package.json | 2 +- src/Assets/IconV2/ic-bell.svg | 3 ++ src/Common/Constants.ts | 7 +--- src/Shared/Components/Header/PageHeader.tsx | 40 ++++++++++++++++++- src/Shared/Components/Header/constants.ts | 2 + src/Shared/Components/Icon/Icon.tsx | 2 + src/Shared/Hooks/useUserPreferences/types.ts | 3 -- .../Providers/MainContextProvider/types.ts | 4 +- 9 files changed, 52 insertions(+), 15 deletions(-) create mode 100644 src/Assets/IconV2/ic-bell.svg diff --git a/package-lock.json b/package-lock.json index b6d63bfb0..e7c977468 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.20.6-pre-45", + "version": "1.20.6-pre-46", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.20.6-pre-45", + "version": "1.20.6-pre-46", "hasInstallScript": true, "license": "ISC", "dependencies": { diff --git a/package.json b/package.json index 08c675738..d0361b407 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.20.6-pre-45", + "version": "1.20.6-pre-46", "description": "Supporting common component library", "type": "module", "main": "dist/index.js", diff --git a/src/Assets/IconV2/ic-bell.svg b/src/Assets/IconV2/ic-bell.svg new file mode 100644 index 000000000..7a1f7a876 --- /dev/null +++ b/src/Assets/IconV2/ic-bell.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/Common/Constants.ts b/src/Common/Constants.ts index a01dc890e..1034f9bfc 100644 --- a/src/Common/Constants.ts +++ b/src/Common/Constants.ts @@ -64,7 +64,6 @@ const DATA_PROTECTION_ROOT = '/data-protection-management' const DATA_PROTECTION_BACKUP_AND_SCHEDULE = `${DATA_PROTECTION_ROOT}/backup-and-schedule/:view(${Object.values(BackupAndScheduleListViewEnum).join('|')})` as const const GLOBAL_CONFIG_ROOT = '/global-configuration' -const AI_RECOMMENDATIONS_ROOT = '/ai-recommendations' export const URLS = { LOGIN: '/login', @@ -137,6 +136,7 @@ export const URLS = { // AUTOMATION AND ENABLEMENT AUTOMATION_AND_ENABLEMENT: AUTOMATION_AND_ENABLEMENT_ROOT, AUTOMATION_AND_ENABLEMENT_JOB: `${AUTOMATION_AND_ENABLEMENT_ROOT}/job`, + AUTOMATION_ENABLEMENT_RUNBOOKS: `${AUTOMATION_AND_ENABLEMENT_ROOT}/runbooks`, // DATA PROTECTION DATA_PROTECTION: DATA_PROTECTION_ROOT, DATA_PROTECTION_OVERVIEW: `${DATA_PROTECTION_ROOT}/overview`, @@ -151,12 +151,7 @@ export const URLS = { GLOBAL_CONFIG_DOCKER: `${GLOBAL_CONFIG_ROOT}/docker`, GLOBAL_CONFIG_EDIT_CLUSTER: `${GLOBAL_CONFIG_ROOT}/cluster-env/edit/:clusterId`, PERMISSION_GROUPS: `${GLOBAL_CONFIG_ROOT}/auth/groups`, - - // AI RECOMMENDATIONS - AI_RECOMMENDATIONS: AI_RECOMMENDATIONS_ROOT, - AI_RECOMMENDATIONS_NOTIFICATIONS: `${AI_RECOMMENDATIONS_ROOT}/notifications`, EXTERNAL_APPS: 'ea', - AI_RECOMMENDATIONS_RUNBOOKS: `${AI_RECOMMENDATIONS_ROOT}/runbooks`, } as const export const ROUTES = { diff --git a/src/Shared/Components/Header/PageHeader.tsx b/src/Shared/Components/Header/PageHeader.tsx index 2ccb423ff..46d4152e6 100644 --- a/src/Shared/Components/Header/PageHeader.tsx +++ b/src/Shared/Components/Header/PageHeader.tsx @@ -29,6 +29,7 @@ import { Button, ButtonStyleType, ButtonVariantType } from '../Button' import { Icon } from '../Icon' import { ImageWithFallback } from '../ImageWithFallback' import { InfoIconTippy } from '../InfoIconTippy' +import { NOTIFICATIONS_TEMP_WINDOW_TITLE } from './constants' import { HelpButton } from './HelpButton' import { IframePromoButton } from './IframePromoButton' import { ProfileMenu } from './ProfileMenu' @@ -51,8 +52,16 @@ const PageHeader = ({ tippyProps, closeIcon, }: PageHeaderType) => { - const { setLoginCount, setShowGettingStartedCard, setSidePanelConfig, sidePanelConfig, tempAppWindowConfig } = - useMainContext() + const { + setLoginCount, + setShowGettingStartedCard, + setSidePanelConfig, + sidePanelConfig, + tempAppWindowConfig, + AIRecommendations, + setTempAppWindowConfig, + isSuperAdmin, + } = useMainContext() const { showSwitchThemeLocationTippy, handleShowSwitchThemeLocationTippyChange } = useTheme() const { @@ -137,6 +146,19 @@ const PageHeader = ({ setSidePanelConfig((prev) => ({ ...prev, state: SidePanelTab.ASK_DEVTRON })) } + const handleNotificationsButtonClick = () => { + handleAnalyticsEvent({ + category: 'AI', + action: `NOTIFICATIONS_AI_RECOMMENDATIONS`, + }) + + setTempAppWindowConfig({ + open: true, + title: NOTIFICATIONS_TEMP_WINDOW_TITLE, + component: , + }) + } + const renderLogoutHelpSection = () => ( <> {window._env_?.FEATURE_ASK_DEVTRON_EXPERT && @@ -153,6 +175,20 @@ const PageHeader = ({ )} + + {AIRecommendations && isSuperAdmin && tempAppWindowConfig.title !== NOTIFICATIONS_TEMP_WINDOW_TITLE && ( + - - )} + {featureAskDevtronExpert && sidePanelConfig.state === 'closed' && !tempAppWindowConfig.open && ( + + + + )} {AIRecommendations && isSuperAdmin && tempAppWindowConfig.title !== NOTIFICATIONS_TEMP_WINDOW_TITLE && ( diff --git a/src/Common/SortableTableHeaderCell/types.ts b/src/Common/SortableTableHeaderCell/types.ts index 15f3f058f..346c80a3f 100644 --- a/src/Common/SortableTableHeaderCell/types.ts +++ b/src/Common/SortableTableHeaderCell/types.ts @@ -26,6 +26,10 @@ export type SortableTableHeaderCellProps = { * @default false */ showTippyOnTruncate?: boolean + /** + * If provided, shown in a tooltip on info-icon-outline beside the label + */ + infoTooltipText?: string } & ( | { /** diff --git a/src/Shared/Components/Table/InternalTable.tsx b/src/Shared/Components/Table/InternalTable.tsx index d179c91a4..f6796ee3f 100644 --- a/src/Shared/Components/Table/InternalTable.tsx +++ b/src/Shared/Components/Table/InternalTable.tsx @@ -56,6 +56,7 @@ const InternalTable = < rowActionOnHoverConfig, pageSizeOptions, clearFilters: userGivenUrlClearFilters, + rowStartIconConfig, }: InternalTableProps) => { const { sortBy, @@ -219,6 +220,7 @@ const InternalTable = < stylesConfig={stylesConfig} getRows={getRows} totalRows={totalRows} + rowStartIconConfig={rowStartIconConfig} /> ) diff --git a/src/Shared/Components/Table/TableContent.tsx b/src/Shared/Components/Table/TableContent.tsx index 9177e076c..871ec952e 100644 --- a/src/Shared/Components/Table/TableContent.tsx +++ b/src/Shared/Components/Table/TableContent.tsx @@ -28,7 +28,7 @@ import { ComponentSizeType } from '@Shared/constants' import { BulkSelection } from '../BulkSelection' import BulkSelectionActionWidget from './BulkSelectionActionWidget' -import { BULK_ACTION_GUTTER_LABEL, EVENT_TARGET, SHIMMER_DUMMY_ARRAY } from './constants' +import { ACTION_GUTTER_SIZE, BULK_ACTION_GUTTER_LABEL, EVENT_TARGET, SHIMMER_DUMMY_ARRAY } from './constants' import { BulkActionStateType, FiltersTypeEnum, PaginationEnum, RowType, SignalsType, TableContentProps } from './types' import useTableWithKeyboardShortcuts from './useTableWithKeyboardShortcuts' import { getStickyColumnConfig, scrollToShowActiveElementIfNeeded } from './utils' @@ -56,15 +56,22 @@ const TableContent = < areFilteredRowsLoading, getRows, totalRows, + rowStartIconConfig, }: TableContentProps) => { const rowsContainerRef = useRef(null) const parentRef = useRef(null) const bulkSelectionButtonRef = useRef(null) const headerRef = useRef(null) + const skipFocusActiveRowRef = useRef(false) const [bulkActionState, setBulkActionState] = useState(null) const [showBorderRightOnStickyElements, setShowBorderRightOnStickyElements] = useState(false) - const [expandState, setExpandState] = useState>({}) + const [expandState, _setExpandState] = useState>({}) + + const setExpandState: typeof _setExpandState = (value) => { + skipFocusActiveRowRef.current = true + _setExpandState(value) + } const { width: rowOnHoverComponentWidth, Component: RowOnHoverComponent } = rowActionOnHoverConfig || {} @@ -137,7 +144,7 @@ const TableContent = < : initialGridTemplateColumns const gridTemplateColumns = isAnyRowExpandable - ? `16px ${gridTemplateColumnsWithoutExpandButton}` + ? `${ACTION_GUTTER_SIZE}px ${gridTemplateColumnsWithoutExpandButton}` : gridTemplateColumnsWithoutExpandButton useEffect(() => { @@ -200,6 +207,11 @@ const TableContent = < } const focusActiveRow = (node: HTMLDivElement) => { + if (skipFocusActiveRowRef.current) { + skipFocusActiveRowRef.current = false + return + } + if ( node && !['INPUT', 'TEXTAREA'].includes(document.activeElement.tagName.toUpperCase()) && @@ -277,6 +289,10 @@ const TableContent = < }) } + const hasBulkOrExpandAction = + (isAnyRowExpandable && !isExpandedRow && !!(row as RowType).expandableRows) || + !!bulkSelectionReturnValue + return (
+ {rowStartIconConfig && !isExpandedRow && ( +
+ +
+ )} + {!isExpandedRow && !!(row as RowType).expandableRows ? ( -
) : null} - {isAnyRowExpandable && (isExpandedRow || !(row as RowType).expandableRows) &&
} + {/* empty div needed for alignment; therefore hide if rowStartIconConfig (only applies to parent rows) is present */} + {isAnyRowExpandable && + (isExpandedRow || (!(row as RowType).expandableRows && !rowStartIconConfig)) && ( +
+ )} {visibleColumns.map(({ field, horizontallySticky: isStickyColumn, CellComponent }, index) => { const isBulkActionGutter = field === BULK_ACTION_GUTTER_LABEL @@ -321,7 +358,7 @@ const TableContent = < if (isBulkActionGutter && !isExpandedRow) { return (
@@ -409,7 +446,13 @@ const TableContent = < {isAnyRowExpandable ? (
) : null} {visibleColumns.map( @@ -501,7 +522,12 @@ const TableContent = < const isBulkActionGutter = field === BULK_ACTION_GUTTER_LABEL const horizontallySticky = isStickyColumn || isBulkActionGutter const { className: stickyClassName = '', left: stickyLeftValue = '' } = - horizontallySticky ? getStickyColumnConfig(gridTemplateColumns, index) : {} + horizontallySticky + ? getStickyColumnConfig( + gridTemplateColumns, + index + (isAnyRowExpandable ? 1 : 0), + ) + : {} if (field === BULK_ACTION_GUTTER_LABEL) { return ( diff --git a/src/Shared/Components/Table/styles.scss b/src/Shared/Components/Table/styles.scss index 1fea37dc4..ecc29cb3f 100644 --- a/src/Shared/Components/Table/styles.scss +++ b/src/Shared/Components/Table/styles.scss @@ -40,6 +40,13 @@ left: -20px; width: 20px; } + + &.expand-row-btn::before, + &.row-start-icon::before, + &.expanded-tree-libe::before { + left: -24px; + width: 24px; + } } &--scrolled { @@ -137,7 +144,7 @@ content: ''; width: 1px; height: 100%; - background: var(--N100); + background: var(--N200); left: calc(50% - 1px); // offset to left by width for perfect centering top: 0; position: absolute; diff --git a/src/Shared/Components/Table/types.ts b/src/Shared/Components/Table/types.ts index 914723d86..ddf7f27ea 100644 --- a/src/Shared/Components/Table/types.ts +++ b/src/Shared/Components/Table/types.ts @@ -329,7 +329,7 @@ export type InternalTableProps< */ rowStartIconConfig?: Omit - onRowClick?: (row: RowType) => void + onRowClick?: (row: RowType, isExpandedRow: boolean) => void } & ( | { /** From 513b20d2ddb55d804a28f5ff89cdcac86f7a9698 Mon Sep 17 00:00:00 2001 From: AbhishekA1509 Date: Tue, 13 Jan 2026 17:11:44 +0530 Subject: [PATCH 069/134] feat: refine debugAgentContext prompt for clarity in AppStatusBody --- src/Shared/Components/AppStatusModal/AppStatusBody.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Shared/Components/AppStatusModal/AppStatusBody.tsx b/src/Shared/Components/AppStatusModal/AppStatusBody.tsx index 2cafab040..242d0bed4 100644 --- a/src/Shared/Components/AppStatusModal/AppStatusBody.tsx +++ b/src/Shared/Components/AppStatusModal/AppStatusBody.tsx @@ -120,7 +120,7 @@ export const AppStatusBody = ({ const debugAgentContext = aiAgentContext ? ({ ...aiAgentContext, - prompt: `Why is application '${appDetails.appName}' of '${appDetails.environmentName}' env ${appStatus}?`, + prompt: `Why is application '${appDetails.appName}' of '${appDetails.environmentName}' env in ${appStatus} state?`, data: { ...aiAgentContext.data, ...(debugNode ? { debugNodeKind: debugNode.kind, debugNodeName: debugNode.name } : {}), From 351a35a57e1286bd9d19eaaffaae9f8629108133 Mon Sep 17 00:00:00 2001 From: Amrit Borah Date: Wed, 14 Jan 2026 16:00:30 +0530 Subject: [PATCH 070/134] fix: better table states --- src/Shared/Components/Table/InternalTable.tsx | 14 +++++--- src/Shared/Components/Table/TableContent.tsx | 34 +++++++++++++------ src/Shared/Components/Table/types.ts | 12 +++++-- src/Shared/Components/Table/utils.ts | 3 +- 4 files changed, 44 insertions(+), 19 deletions(-) diff --git a/src/Shared/Components/Table/InternalTable.tsx b/src/Shared/Components/Table/InternalTable.tsx index 99a7045d3..007ab9084 100644 --- a/src/Shared/Components/Table/InternalTable.tsx +++ b/src/Shared/Components/Table/InternalTable.tsx @@ -58,6 +58,7 @@ const InternalTable = < clearFilters: userGivenUrlClearFilters, rowStartIconConfig, onRowClick, + areFiltersApplied: userProvidedAreFiltersApplied, }: InternalTableProps) => { const { sortBy, @@ -126,6 +127,7 @@ const InternalTable = < rows, filter, filterData, + additionalProps, visibleColumns.find(({ field }) => field === sortBy)?.comparator, ) @@ -140,10 +142,14 @@ const InternalTable = < // useAsync hook for 'rows' scenario const [_areRowsLoading, rowsResult, rowsError, reloadRows] = useAsync( handleFiltering, - [searchKey, sortBy, sortOrder, rows, JSON.stringify(otherFilters), visibleColumns], + [searchKey, filter, sortBy, sortOrder, rows, JSON.stringify(otherFilters), visibleColumns], !!rows, ) + // NOTE: passing getRows to queryKey won't trigger a refetch + // since it is a function + const lastUpdatedGetRowsInstance = useMemo(() => new Date().toISOString(), [getRows]) + // useAsync hook for 'getRows' scenario const { isFetching: _areGetRowsLoading, @@ -160,8 +166,7 @@ const InternalTable = < searchKey, sortBy, sortOrder, - // !TODO: functions in queryKey cannot trigger refetch - // getRows, + lastUpdatedGetRowsInstance, offset, pageSize, JSON.stringify(otherFilters), @@ -191,7 +196,8 @@ const InternalTable = < } if (!areFilteredRowsLoading && !filteredRows?.length && !loading) { - return filtersVariant !== FiltersTypeEnum.NONE && areFiltersApplied ? ( + return filtersVariant !== FiltersTypeEnum.NONE && + (userProvidedAreFiltersApplied !== undefined ? userProvidedAreFiltersApplied : areFiltersApplied) ? ( { const scrollEventHandler = () => { @@ -248,13 +249,15 @@ const TableContent = < } const renderRows = () => { - if (loading) { + if (loading && !visibleColumns.length) { return SHIMMER_DUMMY_ARRAY.map((shimmerRowLabel) => (
- {isBulkSelectionConfigured ?
: null} + {isBulkSelectionConfigured || rowStartIconConfig || isAnyRowExpandable ? ( +
+ ) : null} {SHIMMER_DUMMY_ARRAY.map((shimmerCellLabel) => (
))} @@ -262,7 +265,7 @@ const TableContent = < )) } - if (areFilteredRowsLoading) { + if (areFilteredRowsLoading || (loading && visibleColumns.length)) { return SHIMMER_DUMMY_ARRAY.map((shimmerRowLabel) => (
+ {isBulkSelectionConfigured || rowStartIconConfig || isAnyRowExpandable ? ( +
+
+
+ ) : null} {visibleColumns.map(({ label }) => (
@@ -364,7 +372,7 @@ const TableContent = < ariaLabel="Expand/Collapse row" showAriaLabelInTippy={false} variant={ButtonVariantType.borderLess} - size={ComponentSizeType.xs} + size={ComponentSizeType.xxs} style={ButtonStyleType.neutral} onClick={toggleExpandRow} /> @@ -467,9 +475,11 @@ const TableContent = < ref={headerRef} className="bg__primary dc__min-width-fit-content px-20 border__secondary--bottom dc__position-sticky dc__zi-2 dc__top-0 generic-table__header" > - {loading ? ( + {loading && !visibleColumns.length ? (
- {isBulkSelectionConfigured ?
: null} + {isBulkSelectionConfigured || rowStartIconConfig || isAnyRowExpandable ? ( +
+ ) : null} {SHIMMER_DUMMY_ARRAY.map((label) => (
))} @@ -498,13 +508,15 @@ const TableContent = < ariaLabel="Expand/Collapse all rows" showAriaLabelInTippy={false} variant={ButtonVariantType.borderLess} - size={ComponentSizeType.xs} + size={ComponentSizeType.xxs} style={ButtonStyleType.neutral} onClick={toggleExpandAll} />
) : null} + {!isAnyRowExpandable && rowStartIconConfig &&
} + {visibleColumns.map( ( { diff --git a/src/Shared/Components/Table/types.ts b/src/Shared/Components/Table/types.ts index ddf7f27ea..cdf996711 100644 --- a/src/Shared/Components/Table/types.ts +++ b/src/Shared/Components/Table/types.ts @@ -237,7 +237,11 @@ export type ViewWrapperProps< : {}) > -type FilterConfig = { +type FilterConfig< + FilterVariant extends FiltersTypeEnum, + RowData extends unknown, + AdditionalProps extends Record, +> = { filtersVariant: FilterVariant /** * Props for useUrlFilters/useStateFilters hooks @@ -251,12 +255,14 @@ type FilterConfig, filterData: UseFiltersReturnType) => boolean + : (row: RowType, filterData: UseFiltersReturnType, additionalProps: AdditionalProps) => boolean clearFilters?: FilterVariant extends FiltersTypeEnum.URL ? () => void : FilterVariant extends FiltersTypeEnum.STATE ? never : never + + areFiltersApplied?: FilterVariant extends FiltersTypeEnum.NONE ? never : boolean } export type InternalTableProps< @@ -360,7 +366,7 @@ export type InternalTableProps< pageSizeOptions?: never } ) & - FilterConfig + FilterConfig export type UseResizableTableConfigWrapperProps< RowData extends unknown, diff --git a/src/Shared/Components/Table/utils.ts b/src/Shared/Components/Table/utils.ts index 8e9ff9580..5d0f4b46a 100644 --- a/src/Shared/Components/Table/utils.ts +++ b/src/Shared/Components/Table/utils.ts @@ -42,11 +42,12 @@ export const searchAndSortRows = < rows: TableProps['rows'], filter: TableProps['filter'], filterData: UseFiltersReturnType, + additionalProps: AdditionalProps, comparator?: Column['comparator'], ): Awaited['getRows']>> => { const { sortBy, sortOrder } = filterData ?? {} - const filteredRows = filter ? rows.filter((row) => filter(row, filterData)) : rows + const filteredRows = filter ? rows.filter((row) => filter(row, filterData, additionalProps)) : rows return { rows: From 460b94183fb8ea15016f7d19704f8c1de52e2dfc Mon Sep 17 00:00:00 2001 From: Amrit Borah Date: Wed, 14 Jan 2026 17:28:26 +0530 Subject: [PATCH 071/134] feat: expand/collapse using right/left arrow --- .../CICDHistory/ConflictedResourcesTable.tsx | 3 +- src/Shared/Components/Table/TableContent.tsx | 33 ++++++++++++++++++- src/Shared/Components/Table/styles.scss | 4 +++ src/Shared/Components/Table/types.ts | 2 ++ .../Table/useTableWithKeyboardShortcuts.ts | 16 +++++++++ 5 files changed, 55 insertions(+), 3 deletions(-) diff --git a/src/Shared/Components/CICDHistory/ConflictedResourcesTable.tsx b/src/Shared/Components/CICDHistory/ConflictedResourcesTable.tsx index 238293eae..9e24fc76f 100644 --- a/src/Shared/Components/CICDHistory/ConflictedResourcesTable.tsx +++ b/src/Shared/Components/CICDHistory/ConflictedResourcesTable.tsx @@ -10,7 +10,6 @@ import './ConflictedResourcesTable.scss' const Wrapper = ({ children }: TableViewWrapperProps) => (
{children}
) -const filter = () => true const ConflictedResourcesTable = ({ resourceConflictDetails }: ConflictedResourcesTableProps) => { const rows: RowsType = useMemo( @@ -42,7 +41,7 @@ const ConflictedResourcesTable = ({ resourceConflictDetails }: ConflictedResourc }} filtersVariant={FiltersTypeEnum.STATE} ViewWrapper={Wrapper} - filter={filter} + filter={null} /> ) } diff --git a/src/Shared/Components/Table/TableContent.tsx b/src/Shared/Components/Table/TableContent.tsx index e21fe83d1..031ae920b 100644 --- a/src/Shared/Components/Table/TableContent.tsx +++ b/src/Shared/Components/Table/TableContent.tsx @@ -35,6 +35,7 @@ import { FiltersTypeEnum, PaginationEnum, RowType, + SignalEnum, SignalsType, TableContentProps, } from './types' @@ -189,7 +190,7 @@ const TableContent = < useEffectAfterMount(() => { setActiveRowIndex(0) - }, [offset, visibleRows]) + }, [offset]) useEffect(() => { setIdentifiers?.( @@ -204,6 +205,36 @@ const TableContent = < handleSorting(newSortBy) } + useEffect(() => { + if (!isAnyRowExpandable) { + return () => {} + } + + const getExpandCollapseRowHandler = + (state: boolean) => + ({ detail: { activeRowData } }) => { + if ((activeRowData as RowType).expandableRows) { + setExpandState({ + ...expandState, + [activeRowData.id]: state, + }) + } + } + + const handleExpandRow = getExpandCollapseRowHandler(true) + const handleCollapseRow = getExpandCollapseRowHandler(false) + + const signals = EVENT_TARGET as SignalsType + + signals.addEventListener(SignalEnum.EXPAND_ROW, handleExpandRow) + signals.addEventListener(SignalEnum.COLLAPSE_ROW, handleCollapseRow) + + return () => { + signals.removeEventListener(SignalEnum.EXPAND_ROW, handleExpandRow) + signals.removeEventListener(SignalEnum.COLLAPSE_ROW, handleCollapseRow) + } + }, [isAnyRowExpandable]) + const toggleExpandAll = (e: MouseEvent) => { e.stopPropagation() diff --git a/src/Shared/Components/Table/styles.scss b/src/Shared/Components/Table/styles.scss index ecc29cb3f..a790c9b56 100644 --- a/src/Shared/Components/Table/styles.scss +++ b/src/Shared/Components/Table/styles.scss @@ -76,6 +76,10 @@ outline: none; } + &--expanded-row:has(+ .generic-table__row--expanded-row) { + border-bottom: 0px; + } + &:hover, &:hover > *, &--active, diff --git a/src/Shared/Components/Table/types.ts b/src/Shared/Components/Table/types.ts index cdf996711..baff6ce0c 100644 --- a/src/Shared/Components/Table/types.ts +++ b/src/Shared/Components/Table/types.ts @@ -33,6 +33,8 @@ import { useBulkSelection, UseBulkSelectionProps } from '../BulkSelection' export interface UseFiltersReturnType extends UseStateFiltersReturnType {} export enum SignalEnum { + COLLAPSE_ROW = 'collapse-row', + EXPAND_ROW = 'expand-row', ENTER_PRESSED = 'enter-pressed', DELETE_PRESSED = 'delete-pressed', ESCAPE_PRESSED = 'escape-pressed', diff --git a/src/Shared/Components/Table/useTableWithKeyboardShortcuts.ts b/src/Shared/Components/Table/useTableWithKeyboardShortcuts.ts index a7a67a14b..cb51044c9 100644 --- a/src/Shared/Components/Table/useTableWithKeyboardShortcuts.ts +++ b/src/Shared/Components/Table/useTableWithKeyboardShortcuts.ts @@ -101,6 +101,20 @@ const useTableWithKeyboardShortcuts = < ) useEffect(() => { + registerShortcut({ + keys: ['ArrowLeft'], + callback: () => { + dispatchEvent(SignalEnum.COLLAPSE_ROW) + }, + }) + + registerShortcut({ + keys: ['ArrowRight'], + callback: () => { + dispatchEvent(SignalEnum.EXPAND_ROW) + }, + }) + registerShortcut({ keys: ['ArrowDown'], callback: () => { @@ -142,6 +156,8 @@ const useTableWithKeyboardShortcuts = < unregisterShortcut(['Enter']) unregisterShortcut(['Backspace']) unregisterShortcut(['.']) + unregisterShortcut(['ArrowLeft']) + unregisterShortcut(['ArrowRight']) } }, [getMoveFocusToNextRowHandler, getMoveFocusToPreviousRowHandler, dispatchEvent]) From 8636f74c209fb1839b5019ea9577618ad63d785c Mon Sep 17 00:00:00 2001 From: AbhishekA1509 Date: Wed, 14 Jan 2026 18:02:43 +0530 Subject: [PATCH 072/134] chore: update version to 1.22.5-beta-0 in package.json and package-lock.json --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index ca1a62b2a..61070e1ea 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.22.5", + "version": "1.22.5-beta-0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.22.5", + "version": "1.22.5-beta-0", "hasInstallScript": true, "license": "ISC", "dependencies": { diff --git a/package.json b/package.json index 226c955a6..9fd76a160 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.22.5", + "version": "1.22.5-beta-0", "description": "Supporting common component library", "type": "module", "main": "dist/index.js", From 7ab7b142069dec6e7df770b9d188d3f6cf5c80a2 Mon Sep 17 00:00:00 2001 From: Amrit Borah Date: Thu, 15 Jan 2026 15:26:24 +0530 Subject: [PATCH 073/134] feat: if onRowCilck provided handle enter press internally --- src/Shared/Components/Table/TableContent.tsx | 18 ++++++++++++++++++ src/Shared/Components/Table/types.ts | 1 + 2 files changed, 19 insertions(+) diff --git a/src/Shared/Components/Table/TableContent.tsx b/src/Shared/Components/Table/TableContent.tsx index 031ae920b..1c1185f18 100644 --- a/src/Shared/Components/Table/TableContent.tsx +++ b/src/Shared/Components/Table/TableContent.tsx @@ -235,6 +235,24 @@ const TableContent = < } }, [isAnyRowExpandable]) + useEffect(() => { + if (!onRowClick) { + return () => {} + } + + const handleEnterPress = ({ detail: { activeRowData } }) => { + onRowClick(activeRowData, activeRowData.id.startsWith('expanded-row-' satisfies ExpandedRowPrefixType)) + } + + const signals = EVENT_TARGET as SignalsType + + signals.addEventListener(SignalEnum.ENTER_PRESSED, handleEnterPress) + + return () => { + signals.removeEventListener(SignalEnum.ENTER_PRESSED, handleEnterPress) + } + }, [onRowClick]) + const toggleExpandAll = (e: MouseEvent) => { e.stopPropagation() diff --git a/src/Shared/Components/Table/types.ts b/src/Shared/Components/Table/types.ts index baff6ce0c..a45d2b7f8 100644 --- a/src/Shared/Components/Table/types.ts +++ b/src/Shared/Components/Table/types.ts @@ -423,6 +423,7 @@ export type TableProps< | 'clearFilters' | 'rowStartIconConfig' | 'onRowClick' + | 'areFiltersApplied' > export type BulkActionStateType = string | null From 3912efe989e1e9e4696ef494b6c4e27c32169408 Mon Sep 17 00:00:00 2001 From: AbhishekA1509 Date: Thu, 15 Jan 2026 16:35:33 +0530 Subject: [PATCH 074/134] chore: update version to 1.22.5-beta-1 in package.json and package-lock.json; add CommonContextDataType to types.ts --- package-lock.json | 4 ++-- package.json | 2 +- src/Shared/Providers/MainContextProvider/types.ts | 8 ++++++-- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 61070e1ea..9c6c2e665 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.22.5-beta-0", + "version": "1.22.5-beta-1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.22.5-beta-0", + "version": "1.22.5-beta-1", "hasInstallScript": true, "license": "ISC", "dependencies": { diff --git a/package.json b/package.json index 9fd76a160..b73f9fb00 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.22.5-beta-0", + "version": "1.22.5-beta-1", "description": "Supporting common component library", "type": "module", "main": "dist/index.js", diff --git a/src/Shared/Providers/MainContextProvider/types.ts b/src/Shared/Providers/MainContextProvider/types.ts index d11465011..e15d75506 100644 --- a/src/Shared/Providers/MainContextProvider/types.ts +++ b/src/Shared/Providers/MainContextProvider/types.ts @@ -83,6 +83,10 @@ type AIAgentAppDataType & { + uiMarkup?: string +} + export type AIAgentContextType = | { source: AIAgentContextSourceType.APP_DETAILS @@ -97,14 +101,14 @@ export type AIAgentContextType = 'externalFluxApp', 'appName' | 'clusterId' | 'namespace' | 'fluxAppDeploymentType' > & - Record) + CommonContextDataType) } | { source: AIAgentContextSourceType.RESOURCE_BROWSER_CLUSTER data: { clusterId: number clusterName: string - } & Record + } & CommonContextDataType } export type DebugAgentContextType = AIAgentContextType & { From e39ee9eb26d85c885a80a13b9557d28733937dfd Mon Sep 17 00:00:00 2001 From: AbhishekA1509 Date: Thu, 15 Jan 2026 17:49:14 +0530 Subject: [PATCH 075/134] chore: update version to 1.22.6-beta-0 in package.json and package-lock.json --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index ea736189f..316385e18 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.22.6", + "version": "1.22.6-beta-0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.22.6", + "version": "1.22.6-beta-0", "hasInstallScript": true, "license": "ISC", "dependencies": { diff --git a/package.json b/package.json index 03267f878..431dda26d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.22.6", + "version": "1.22.6-beta-0", "description": "Supporting common component library", "type": "module", "main": "dist/index.js", From b4d2bcbfc9da596f8d81fc173a9ea8b106def131 Mon Sep 17 00:00:00 2001 From: Amrit Borah Date: Mon, 19 Jan 2026 13:41:34 +0530 Subject: [PATCH 076/134] fix: review 3Bcomments --- src/Shared/Components/Table/TableContent.tsx | 18 ++++++++---------- src/Shared/Components/Table/styles.scss | 2 +- 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/src/Shared/Components/Table/TableContent.tsx b/src/Shared/Components/Table/TableContent.tsx index 1c1185f18..59c755fe6 100644 --- a/src/Shared/Components/Table/TableContent.tsx +++ b/src/Shared/Components/Table/TableContent.tsx @@ -214,10 +214,10 @@ const TableContent = < (state: boolean) => ({ detail: { activeRowData } }) => { if ((activeRowData as RowType).expandableRows) { - setExpandState({ - ...expandState, + setExpandState((prev) => ({ + ...prev, [activeRowData.id]: state, - }) + })) } } @@ -297,6 +297,8 @@ const TableContent = < return Object.values(bulkSelectionState) } + const showIconOrExpandActionGutter = isBulkSelectionConfigured || !!rowStartIconConfig || isAnyRowExpandable + const renderRows = () => { if (loading && !visibleColumns.length) { return SHIMMER_DUMMY_ARRAY.map((shimmerRowLabel) => ( @@ -304,9 +306,7 @@ const TableContent = < key={shimmerRowLabel} className={`px-20 flex left py-12 dc__gap-16 ${showSeparatorBetweenRows ? 'border__secondary--bottom' : ''}`} > - {isBulkSelectionConfigured || rowStartIconConfig || isAnyRowExpandable ? ( -
- ) : null} + {showIconOrExpandActionGutter ?
: null} {SHIMMER_DUMMY_ARRAY.map((shimmerCellLabel) => (
))} @@ -323,7 +323,7 @@ const TableContent = < gridTemplateColumns, }} > - {isBulkSelectionConfigured || rowStartIconConfig || isAnyRowExpandable ? ( + {showIconOrExpandActionGutter ? (
@@ -526,9 +526,7 @@ const TableContent = < > {loading && !visibleColumns.length ? (
- {isBulkSelectionConfigured || rowStartIconConfig || isAnyRowExpandable ? ( -
- ) : null} + {showIconOrExpandActionGutter ?
: null} {SHIMMER_DUMMY_ARRAY.map((label) => (
))} diff --git a/src/Shared/Components/Table/styles.scss b/src/Shared/Components/Table/styles.scss index a790c9b56..16bfa0e00 100644 --- a/src/Shared/Components/Table/styles.scss +++ b/src/Shared/Components/Table/styles.scss @@ -43,7 +43,7 @@ &.expand-row-btn::before, &.row-start-icon::before, - &.expanded-tree-libe::before { + &.expanded-tree-line::before { left: -24px; width: 24px; } From ae57aab9f0e969aedc1c383914c89e452e5f7819 Mon Sep 17 00:00:00 2001 From: Amrit Borah Date: Tue, 20 Jan 2026 11:05:42 +0530 Subject: [PATCH 077/134] chore: update common-lib --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 194e77c32..bcc9c0f6c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.22.0-alpha-11", + "version": "1.22.0-alpha-12", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.22.0-alpha-11", + "version": "1.22.0-alpha-12", "hasInstallScript": true, "license": "ISC", "dependencies": { diff --git a/package.json b/package.json index b36090676..09462f1d5 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.22.0-alpha-11", + "version": "1.22.0-alpha-12", "description": "Supporting common component library", "type": "module", "main": "dist/index.js", From 1dc39991b7c6555d8472d7542f9eb9086222b571 Mon Sep 17 00:00:00 2001 From: AbhishekA1509 Date: Tue, 20 Jan 2026 15:14:46 +0530 Subject: [PATCH 078/134] chore: update version to 1.22.6-beta-1 in package.json and package-lock.json; improve textarea height adjustment logic --- package-lock.json | 4 ++-- package.json | 2 +- .../Components/Textarea/Textarea.component.tsx | 15 ++++++++------- 3 files changed, 11 insertions(+), 10 deletions(-) diff --git a/package-lock.json b/package-lock.json index 316385e18..a008e98f0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.22.6-beta-0", + "version": "1.22.6-beta-1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.22.6-beta-0", + "version": "1.22.6-beta-1", "hasInstallScript": true, "license": "ISC", "dependencies": { diff --git a/package.json b/package.json index 431dda26d..d18b4db44 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.22.6-beta-0", + "version": "1.22.6-beta-1", "description": "Supporting common component library", "type": "module", "main": "dist/index.js", diff --git a/src/Shared/Components/Textarea/Textarea.component.tsx b/src/Shared/Components/Textarea/Textarea.component.tsx index a50374557..8a6080be6 100644 --- a/src/Shared/Components/Textarea/Textarea.component.tsx +++ b/src/Shared/Components/Textarea/Textarea.component.tsx @@ -82,21 +82,22 @@ const Textarea = ({ }, []) const reInitHeight = () => { - const currentHeight = parseInt(textareaRef.current.style.height, 10) - let nextHeight = textareaRef.current.scrollHeight || 0 - - if (nextHeight < currentHeight || currentHeight > AUTO_EXPANSION_MAX_HEIGHT) { + const textarea = textareaRef.current + if (!textarea) { return } - if (nextHeight < MIN_HEIGHT) { - nextHeight = MIN_HEIGHT - } + textarea.style.height = 'auto' + let nextHeight = textarea.scrollHeight if (nextHeight > AUTO_EXPANSION_MAX_HEIGHT) { nextHeight = AUTO_EXPANSION_MAX_HEIGHT + textarea.style.overflowY = 'auto' + } else { + textarea.style.overflowY = 'hidden' } + nextHeight = Math.max(MIN_HEIGHT, nextHeight) updateRefsHeight(nextHeight) } From c4b966f88600c484d975e79d299e25d93c30bb31 Mon Sep 17 00:00:00 2001 From: shivani170 Date: Wed, 21 Jan 2026 15:27:16 +0530 Subject: [PATCH 079/134] chore: icon added for notification event --- src/Assets/IconV2/ic-image-approve.svg | 3 +++ src/Assets/IconV2/ic-play-outline.svg | 22 +++------------------- src/Shared/Components/Icon/Icon.tsx | 2 ++ 3 files changed, 8 insertions(+), 19 deletions(-) create mode 100644 src/Assets/IconV2/ic-image-approve.svg diff --git a/src/Assets/IconV2/ic-image-approve.svg b/src/Assets/IconV2/ic-image-approve.svg new file mode 100644 index 000000000..63032a0ee --- /dev/null +++ b/src/Assets/IconV2/ic-image-approve.svg @@ -0,0 +1,3 @@ + + - - - - + + + \ No newline at end of file diff --git a/src/Shared/Components/Icon/Icon.tsx b/src/Shared/Components/Icon/Icon.tsx index f6fcc69da..5e53c2d29 100644 --- a/src/Shared/Components/Icon/Icon.tsx +++ b/src/Shared/Components/Icon/Icon.tsx @@ -176,6 +176,7 @@ import { ReactComponent as ICHelpFilled } from '@IconsV2/ic-help-filled.svg' import { ReactComponent as ICHelpOutline } from '@IconsV2/ic-help-outline.svg' import { ReactComponent as ICHibernate } from '@IconsV2/ic-hibernate.svg' import { ReactComponent as ICHibernateCircle } from '@IconsV2/ic-hibernate-circle.svg' +import { ReactComponent as ICImageApprove } from '@IconsV2/ic-image-approve.svg' import { ReactComponent as ICInProgress } from '@IconsV2/ic-in-progress.svg' import { ReactComponent as ICInfoFilled } from '@IconsV2/ic-info-filled.svg' import { ReactComponent as ICInfoFilledColor } from '@IconsV2/ic-info-filled-color.svg' @@ -496,6 +497,7 @@ export const iconMap = { 'ic-help-outline': ICHelpOutline, 'ic-hibernate-circle': ICHibernateCircle, 'ic-hibernate': ICHibernate, + 'ic-image-approve': ICImageApprove, 'ic-in-progress': ICInProgress, 'ic-info-filled-color': ICInfoFilledColor, 'ic-info-filled': ICInfoFilled, From e11656c4c8ae536073b9ac7a918ede8c73ad775e Mon Sep 17 00:00:00 2001 From: shivani170 Date: Wed, 21 Jan 2026 15:37:08 +0530 Subject: [PATCH 080/134] chore: image approve svg fix --- src/Assets/IconV2/ic-image-approve.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Assets/IconV2/ic-image-approve.svg b/src/Assets/IconV2/ic-image-approve.svg index 63032a0ee..6a62eb19e 100644 --- a/src/Assets/IconV2/ic-image-approve.svg +++ b/src/Assets/IconV2/ic-image-approve.svg @@ -1,3 +1,3 @@ - \ No newline at end of file From 314135a49f6bcdbdf2d65d2b2a5351fe9b2bd3a8 Mon Sep 17 00:00:00 2001 From: shivani170 Date: Thu, 22 Jan 2026 13:36:16 +0530 Subject: [PATCH 081/134] chore: bell icon added --- src/Assets/IconV2/ic-bell.svg | 3 +++ src/Shared/Components/Icon/Icon.tsx | 2 ++ 2 files changed, 5 insertions(+) create mode 100644 src/Assets/IconV2/ic-bell.svg diff --git a/src/Assets/IconV2/ic-bell.svg b/src/Assets/IconV2/ic-bell.svg new file mode 100644 index 000000000..68cf50b0b --- /dev/null +++ b/src/Assets/IconV2/ic-bell.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/Shared/Components/Icon/Icon.tsx b/src/Shared/Components/Icon/Icon.tsx index 5e53c2d29..4927719b8 100644 --- a/src/Shared/Components/Icon/Icon.tsx +++ b/src/Shared/Components/Icon/Icon.tsx @@ -30,6 +30,7 @@ import { ReactComponent as ICBackupAndSchedule } from '@IconsV2/ic-backup-and-sc import { ReactComponent as ICBackupColor } from '@IconsV2/ic-backup-color.svg' import { ReactComponent as ICBackupLocation } from '@IconsV2/ic-backup-location.svg' import { ReactComponent as ICBackupScheduleColor } from '@IconsV2/ic-backup-schedule-color.svg' +import { ReactComponent as ICBell } from '@IconsV2/ic-bell.svg' import { ReactComponent as ICBgBackupSchedule } from '@IconsV2/ic-bg-backup-schedule.svg' import { ReactComponent as ICBgBackups } from '@IconsV2/ic-bg-backups.svg' import { ReactComponent as ICBgBuild } from '@IconsV2/ic-bg-build.svg' @@ -351,6 +352,7 @@ export const iconMap = { 'ic-backup-color': ICBackupColor, 'ic-backup-location': ICBackupLocation, 'ic-backup-schedule-color': ICBackupScheduleColor, + 'ic-bell': ICBell, 'ic-bg-backup-schedule': ICBgBackupSchedule, 'ic-bg-backups': ICBgBackups, 'ic-bg-build': ICBgBuild, From 1e72bc057eb49aabd9193e0c547cb7ac41cbb2f5 Mon Sep 17 00:00:00 2001 From: AbhishekA1509 Date: Tue, 27 Jan 2026 14:31:48 +0530 Subject: [PATCH 082/134] feat: add new icons for medium megaphone, thumb down fill, and thumb up fill; update ClipboardButton to support borderLess variant --- src/Assets/IconV2/ic-medium-megaphone.svg | 5 +++++ src/Assets/IconV2/ic-thumb-down-fill.svg | 3 +++ src/Assets/IconV2/ic-thumb-up-fill.svg | 3 +++ src/Common/ClipboardButton/ClipboardButton.tsx | 11 ++++------- src/Common/ClipboardButton/types.ts | 4 ++++ src/Shared/Components/Icon/Icon.tsx | 6 ++++++ 6 files changed, 25 insertions(+), 7 deletions(-) create mode 100644 src/Assets/IconV2/ic-medium-megaphone.svg create mode 100644 src/Assets/IconV2/ic-thumb-down-fill.svg create mode 100644 src/Assets/IconV2/ic-thumb-up-fill.svg diff --git a/src/Assets/IconV2/ic-medium-megaphone.svg b/src/Assets/IconV2/ic-medium-megaphone.svg new file mode 100644 index 000000000..8e94590f0 --- /dev/null +++ b/src/Assets/IconV2/ic-medium-megaphone.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/Assets/IconV2/ic-thumb-down-fill.svg b/src/Assets/IconV2/ic-thumb-down-fill.svg new file mode 100644 index 000000000..424e814a4 --- /dev/null +++ b/src/Assets/IconV2/ic-thumb-down-fill.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/Assets/IconV2/ic-thumb-up-fill.svg b/src/Assets/IconV2/ic-thumb-up-fill.svg new file mode 100644 index 000000000..7b5a06ab7 --- /dev/null +++ b/src/Assets/IconV2/ic-thumb-up-fill.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/Common/ClipboardButton/ClipboardButton.tsx b/src/Common/ClipboardButton/ClipboardButton.tsx index db62bd6da..dffdb197f 100644 --- a/src/Common/ClipboardButton/ClipboardButton.tsx +++ b/src/Common/ClipboardButton/ClipboardButton.tsx @@ -99,8 +99,6 @@ export const ClipboardButton = ({ const iconClassName = `icon-dim-${iconSize} dc__no-shrink` - const ariaLabel = `Copy ${content}` - const renderIcon = () => (
{copied ? : } @@ -109,10 +107,10 @@ export const ClipboardButton = ({ const tooltipContent = copied ? copiedTippyText : initialTippyText - if (variant === 'button--secondary') { + if (variant === 'button--secondary' || variant === 'borderLess') { return ( - - )} + {AskDevtronButton && + featureAskDevtronExpert && + sidePanelConfig.state === 'closed' && + !tempAppWindowConfig.open && } > AIRecommendations?: FunctionComponent featureAskDevtronExpert: EnvironmentDataValuesDTO['featureAskDevtronExpert'] + AskDevtronButton?: FunctionComponent } | { isLicenseDashboard: true @@ -236,6 +237,7 @@ export type MainContext = CommonMainContextProps & setTempAppWindowConfig: null AIRecommendations?: null featureAskDevtronExpert?: null + AskDevtronButton?: null } ) From 4a41fbd067208f0e83efa4823c992f21470cfd47 Mon Sep 17 00:00:00 2001 From: AbhishekA1509 Date: Mon, 2 Feb 2026 20:41:59 +0530 Subject: [PATCH 092/134] chore: update version to 1.22.6-beta-6 in package.json and package-lock.json; modify getDockerRegistriesListMin to include isDefault in response type --- package-lock.json | 4 ++-- package.json | 2 +- src/Common/Common.service.ts | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/package-lock.json b/package-lock.json index 610f1886b..bed853642 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.22.6-beta-5", + "version": "1.22.6-beta-6", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.22.6-beta-5", + "version": "1.22.6-beta-6", "hasInstallScript": true, "license": "ISC", "dependencies": { diff --git a/package.json b/package.json index e18b08b04..491adfd6c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.22.6-beta-5", + "version": "1.22.6-beta-6", "description": "Supporting common component library", "type": "module", "main": "dist/index.js", diff --git a/src/Common/Common.service.ts b/src/Common/Common.service.ts index 7aa7f65aa..457c151ff 100644 --- a/src/Common/Common.service.ts +++ b/src/Common/Common.service.ts @@ -686,7 +686,7 @@ export const getDetailedClusterList = async ( export const getDockerRegistriesListMin = async ( signal: AbortSignal, -): Promise> => get(ROUTES.DOCKER_REGISTRY_MIN, { signal }) +): Promise> => get(ROUTES.DOCKER_REGISTRY_MIN, { signal }) export const getGitProvidersListMin = async ( signal: AbortSignal, From 7c819c2f8fea4334eeece325511e6af65bbd8743 Mon Sep 17 00:00:00 2001 From: AbhishekA1509 Date: Tue, 3 Feb 2026 17:22:30 +0530 Subject: [PATCH 093/134] bump version to 1.22.8-beta-3 in package.json and package-lock.json --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index c953d94f7..cebb345b1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.22.8-beta-2", + "version": "1.22.8-beta-3", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.22.8-beta-2", + "version": "1.22.8-beta-3", "hasInstallScript": true, "license": "ISC", "dependencies": { diff --git a/package.json b/package.json index 240d50658..cf51f2086 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.22.8-beta-2", + "version": "1.22.8-beta-3", "description": "Supporting common component library", "type": "module", "main": "dist/index.js", From 60177eb6e99c42cc7fcdbf1d8b5c060202b7bc55 Mon Sep 17 00:00:00 2001 From: AbhishekA1509 Date: Tue, 3 Feb 2026 17:23:38 +0530 Subject: [PATCH 094/134] bump version to 1.22.8-beta-4 in package.json and package-lock.json --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index cebb345b1..0e562582e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.22.8-beta-3", + "version": "1.22.8-beta-4", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.22.8-beta-3", + "version": "1.22.8-beta-4", "hasInstallScript": true, "license": "ISC", "dependencies": { diff --git a/package.json b/package.json index cf51f2086..f82753005 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.22.8-beta-3", + "version": "1.22.8-beta-4", "description": "Supporting common component library", "type": "module", "main": "dist/index.js", From aff2fc3cde6d836c91724559067ac3bb43b4843a Mon Sep 17 00:00:00 2001 From: AbhishekA1509 Date: Wed, 4 Feb 2026 17:40:52 +0530 Subject: [PATCH 095/134] refactor: update useMutation options type for consistency --- src/Common/API/reactQueryHooks.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Common/API/reactQueryHooks.ts b/src/Common/API/reactQueryHooks.ts index 18866134b..f37b12533 100644 --- a/src/Common/API/reactQueryHooks.ts +++ b/src/Common/API/reactQueryHooks.ts @@ -46,8 +46,8 @@ export const useQuery = < ): UseQueryResult => rqUseQuery(options) export const useMutation = ( - options: UseMutationOptions, ServerErrors, TVariables, TContext>, -): UseMutationResult, ServerErrors, TVariables, TContext> => rqUseMutation(options) + options: UseMutationOptions, +): UseMutationResult => rqUseMutation(options) export const useInfiniteQuery = < TQueryFnData = unknown, From ac59ead57b06cd2b74455eacaf42fc4a81fb5245 Mon Sep 17 00:00:00 2001 From: AbhishekA1509 Date: Tue, 24 Feb 2026 17:48:02 +0530 Subject: [PATCH 096/134] Add Empty State Key illustration to illustrationMap --- CLAUDE.md | 278 ++++++++++++++++++ src/Assets/Illustration/empty-state-key.svg | 13 + .../Components/Illustration/Illustration.tsx | 2 + 3 files changed, 293 insertions(+) create mode 100644 CLAUDE.md create mode 100644 src/Assets/Illustration/empty-state-key.svg diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 000000000..646404463 --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,278 @@ +# CLAUDE.md + +This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository. + +## Project Overview + +`@devtron-labs/devtron-fe-common-lib` is a React TypeScript component library for the Devtron platform, built with Vite. It provides shared UI components, utilities, and page-level modules consumed by Devtron applications. + +## Commands + +### Development +```bash +npm run dev # Start development server with Vite +npm run build # Build library with sourcemaps +npm run build-watch # Build in watch mode for development +``` + +### Linting & Type Checking +```bash +npm run lint # Run TypeScript type check and ESLint +npm run lint-fix # Auto-fix ESLint issues +npx tsc --noEmit # Run TypeScript type check only +``` + +### Asset Generation +```bash +npm run generate-icon # Generate Icon.tsx from SVG files in IconV2/ +npm run generate-illustration # Generate Illustration.tsx from SVG files in Illustration/ +``` + +Note: These scripts run automatically in pre-commit hooks when icon/illustration files are modified. + +## Architecture + +### Module Organization + +The codebase is divided into four main directories under `src/`: + +1. **`Common/`** - Core UI components and utilities + - Reusable components: Checkbox, EmptyState, Progressing, SearchBar, Tooltip, etc. + - Form components: RadioGroup, DebouncedSearch, CustomTagSelector + - Layout components: BreadCrumb, Drawer, Modals + - RJSF (React JSON Schema Form) customizations + - Shared services, hooks, types, and constants + +2. **`Shared/`** - Shared infrastructure + - **Components/**: 100+ specialized components (CodeEditor, MaterialHistory, FileUpload, etc.) + - **Providers/**: Context providers (ThemeProvider, UserEmailProvider, MainContextProvider, ImageSelectionUtility) + - **Services/**: API services, ToastManager, and utilities + - **Hooks/**: Custom React hooks + - **Analytics/**: Analytics integration + - Shared helpers, validations, constants, and types + +3. **`Pages/`** - Legacy page-level components + - Applications (CI/CD pipeline types and components) + - BulkEdit + - GlobalConfigurations + - ResourceBrowser + +4. **`Pages-Devtron-2.0/`** - Redesigned pages organized by business domain + - ApplicationManagement + - Automation&Enablement + - CostVisibility + - DataProtectionManagement + - GlobalConfiguration + - GlobalOverview + - InfrastructureManagement + - Navigation + - SecurityCenter + - Shared + - SoftwareReleaseManagement + +5. **`Assets/`** - Static assets + - `Icon/`: SVG icons (legacy) + - `IconV2/`: Modern SVG icons (auto-generated into Icon component) + - `Illustration/`: SVG illustrations (auto-generated into Illustration component) + - `Img/`: PNG/JPG images + - `Sounds/`: Audio files + +### Path Aliases + +TypeScript path aliases are configured in [tsconfig.json](tsconfig.json): + +```typescript +@Icons/* → src/Assets/Icon/* +@IconsV2/* → src/Assets/IconV2/* +@Illustrations/* → src/Assets/Illustration/* +@Sounds/* → src/Assets/Sounds/* +@Images/* → src/Assets/Img/* +@Common/* → src/Common/* +@Shared/* → src/Shared/* +@Pages/* → src/Pages/* +@PagesDevtron2.0/* → src/Pages-Devtron-2.0/* +``` + +Always use these aliases instead of relative paths when importing across directories. + +### Build Configuration + +The library uses Vite with manual chunk splitting for optimal bundle size ([vite.config.ts](vite.config.ts)): + +- `@react-dates` - Date picker components +- `@framer-motion` - Animation library +- `@moment` - Date manipulation +- `@react-select` - Select components +- `@react-virtualized-sticky-tree` - Tree component +- `@code-editor` - CodeMirror and related code editor components +- `@common-rjsf` - React JSON Schema Form components +- `@vendor` - All other node_modules +- `@src-assets-icons` - Icon assets +- `@src-assets-images` - Image assets + +When adding new large dependencies, consider adding them to the manual chunks configuration to optimize bundle loading. + +## Code Standards + +### Import Restrictions (Enforced by ESLint) + +The following imports are **prohibited**: + +1. **Toast notifications**: Never import from `react-toastify` directly + ```typescript + // ❌ DON'T + import { toast } from 'react-toastify' + + // ✅ DO + import { ToastManager } from '@Shared/Services' + ToastManager.showToast(...) + ``` + +2. **Icons**: Never use `IconBase` directly + ```typescript + // ❌ DON'T + import { IconBase } from '...' + + // ✅ DO + import { Icon } from '@Shared/Components' + + ``` + +3. **Illustrations**: Never use `IllustrationBase` directly + ```typescript + // ❌ DON'T + import { IllustrationBase } from '...' + + // ✅ DO + import { Illustration } from '@Shared/Components' + + ``` + +### Import Order + +ESLint enforces a specific import order (configured in [.eslintrc.cjs](.eslintrc.cjs:116-134)): + +1. React and external packages (`react`, `@?\\w`) +2. Devtron packages (`@devtron-labs`) +3. Internal path aliases (`@Common/*`, `@Shared/*`, etc.) +4. Side effect imports +5. Relative imports (`../`, `./`) +6. Style imports (`.css`, `.scss`) + +The `simple-import-sort` plugin will auto-fix import order on save. + +### Component Patterns + +- **Function components**: Use arrow functions for all components (enforced by ESLint) + ```typescript + // ✅ DO + export const MyComponent = () => { ... } + + // ❌ DON'T + export function MyComponent() { ... } + ``` + +- **TypeScript**: Strict mode is disabled, but type safety is encouraged +- **React Query**: Use `@tanstack/react-query` (<5) for data fetching + - Supports custom meta fields: `showToastError?: boolean` (defaults to `true`) + +### Pre-commit Hooks + +The pre-commit hook ([.husky/pre-commit](.husky/pre-commit)) enforces: + +1. **Icon generation**: If IconV2/ files change, auto-generates `src/Shared/Components/Icon/Icon.tsx` +2. **Illustration generation**: If Illustration/ files change, auto-generates `src/Shared/Components/Illustration/Illustration.tsx` +3. **TypeScript check**: `tsc --noEmit` must pass +4. **Lint-staged**: ESLint check on staged files + +When adding/modifying SVG assets in IconV2/ or Illustration/, the pre-commit hook will automatically regenerate the component files and add them to the commit. + +## Common Tasks + +### Adding a New Icon + +1. Add SVG file to `src/Assets/IconV2/` +2. Stage changes: `git add src/Assets/IconV2/ic-your-icon.svg` +3. The pre-commit hook will auto-generate `Icon.tsx` +4. Use in code: + ```typescript + import { Icon } from '@Shared/Components' + + ``` + +### Adding a New Illustration + +1. Add SVG file to `src/Assets/Illustration/` +2. Stage changes: `git add src/Assets/Illustration/your-illustration.svg` +3. The pre-commit hook will auto-generate `Illustration.tsx` +4. Use in code: + ```typescript + import { Illustration } from '@Shared/Components' + + ``` + +### Working with React Query + +Custom meta fields are available for queries and mutations: + +```typescript +import { useQuery, useMutation } from '@tanstack/react-query' + +// Suppress error toasts for a specific query +useQuery({ + queryKey: ['data'], + queryFn: fetchData, + meta: { showToastError: false } // Won't show toast on error +}) + +// Error toasts are shown by default +useMutation({ + mutationFn: updateData, + // meta: { showToastError: true } is default +}) +``` + +### Extending Environment Configuration + +Environment configuration types are defined in [src/index.ts](src/index.ts:21-193) as `customEnv` interface. When adding new environment variables: + +1. Add type to `customEnv` interface +2. Document with JSDoc comments (especially for feature flags) +3. Include `@default` value if applicable +4. Access via `window._env_` in components + +## Testing & CI + +The repository has GitHub Actions workflows: + +- `.github/workflows/ci.yml` - CI checks +- `.github/workflows/release-package.yml` - Package publishing + +Currently, tests are stubbed (`npm test` exits 0), but the infrastructure supports `@testing-library/react` and `@testing-library/jest-dom`. + +## Key Dependencies + +**UI & Components:** +- React 17.0.2 +- @xyflow/react (flow diagrams) +- chart.js (charts) +- react-dates (date pickers) +- react-select 5.8.0 +- framer-motion (animations) + +**Code Editing:** +- @uiw/react-codemirror + CodeMirror 6 extensions +- codemirror-json-schema (JSON/YAML schema validation) + +**Forms:** +- @rjsf/core 5.13.3 (React JSON Schema Forms) + +**Data Management:** +- @tanstack/react-query (<5) +- rxjs 7.8.1 + +**Utilities:** +- dayjs (date formatting) +- marked (Markdown rendering) +- dompurify (HTML sanitization) +- yaml 2.4.1 diff --git a/src/Assets/Illustration/empty-state-key.svg b/src/Assets/Illustration/empty-state-key.svg new file mode 100644 index 000000000..870c511ad --- /dev/null +++ b/src/Assets/Illustration/empty-state-key.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + diff --git a/src/Shared/Components/Illustration/Illustration.tsx b/src/Shared/Components/Illustration/Illustration.tsx index 409da2299..a477b8d24 100644 --- a/src/Shared/Components/Illustration/Illustration.tsx +++ b/src/Shared/Components/Illustration/Illustration.tsx @@ -3,6 +3,7 @@ import CmdBarVisual from '@Illustrations/cmd-bar-visual.webp' import CreateBackupSchedule from '@Illustrations/create-backup-schedule.webp' import CreateBackupSnapshot from '@Illustrations/create-backup-snapshot.webp' +import { ReactComponent as EmptyStateKey } from '@Illustrations/empty-state-key.svg' import { ReactComponent as ImgCelebration } from '@Illustrations/img-celebration.svg' import ImgCode from '@Illustrations/img-code.webp' import ImgDevtronFreemium from '@Illustrations/img-devtron-freemium.webp' @@ -23,6 +24,7 @@ import { IllustrationBase } from './IllustrationBase' import { IllustrationBaseProps } from './types' export const illustrationMap = { + 'empty-state-key': EmptyStateKey, 'img-celebration': ImgCelebration, 'img-folder-empty': ImgFolderEmpty, 'img-install-freemium-saas': ImgInstallFreemiumSaas, From 79befa0d9c0c40f9e867c92d3aebb5e86a2c3c58 Mon Sep 17 00:00:00 2001 From: AbhishekA1509 Date: Tue, 24 Feb 2026 18:01:55 +0530 Subject: [PATCH 097/134] Bump version to 1.22.8-beta-11 in package.json and package-lock.json --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index c47b15391..8d266cc39 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.22.8-beta-10", + "version": "1.22.8-beta-11", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.22.8-beta-10", + "version": "1.22.8-beta-11", "hasInstallScript": true, "license": "ISC", "dependencies": { diff --git a/package.json b/package.json index 26b0ca8f6..f86a231e4 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.22.8-beta-10", + "version": "1.22.8-beta-11", "description": "Supporting common component library", "type": "module", "main": "dist/index.js", From 3cb156dc4b636348dd19a6e4fa57336b951ebb0e Mon Sep 17 00:00:00 2001 From: Arun Jain Date: Thu, 26 Feb 2026 14:48:51 +0530 Subject: [PATCH 098/134] feat: enhance component type definitions and improve ref handling - Added `ref` prop to `BulkSelectionProps` for better ref management. - Refactored `ButtonElement` to remove `forwardRef` and handle refs directly. - Updated various components in the CICDHistory section to include `type JSX` imports for better type safety. - Improved ref initialization in `CodeEditor` and `CodeEditorRenderer` components. - Added global type definitions for JSX to maintain compatibility with third-party libraries. - Updated `index.ts` to enhance query and mutation metadata interfaces in react-query. --- CLAUDE.md | 108 +++ package-lock.json | 616 ++++++++++-------- package.json | 31 +- src/Common/API/QueryClientProvider.tsx | 4 +- src/Common/Checkbox/Checkbox.tsx | 66 +- .../TagLabelValueSelector.tsx | 2 +- .../DevtronProgressing/DevtronProgressing.tsx | 2 +- src/Common/EmptyState/GenericEmptyState.tsx | 2 + src/Common/GenericDescription/types.ts | 2 + src/Common/Helper.tsx | 12 +- src/Common/ImageTags.tsx | 2 +- src/Common/Progressing.tsx | 2 + src/Common/RJSF/Form.tsx | 6 +- src/Common/SearchBar/SearchBar.component.tsx | 2 +- src/Common/Types.ts | 7 +- .../CostVisibility/Shared/types.ts | 2 +- src/Pages/ResourceBrowser/types.ts | 2 +- .../BulkSelection/BulkSelection.tsx | 163 ++--- src/Shared/Components/BulkSelection/types.tsx | 3 + .../Components/Button/Button.component.tsx | 365 ++++++----- .../Components/CICDHistory/Artifacts.tsx | 1 + .../BuildAndTaskSummaryTooltipCard.tsx | 2 +- .../CICDHistory/CiPipelineSourceConfig.tsx | 2 +- .../Components/CICDHistory/GitTriggerList.tsx | 2 +- .../CICDHistory/History.components.tsx | 2 +- .../Components/CICDHistory/LogsRenderer.tsx | 2 +- src/Shared/Components/CICDHistory/Sidebar.tsx | 2 +- .../Components/CICDHistory/TriggerDetails.tsx | 2 +- .../Components/CICDHistory/WorkerStatus.tsx | 2 +- src/Shared/Components/CICDHistory/types.tsx | 2 +- src/Shared/Components/CICDHistory/utils.tsx | 2 +- .../Components/CodeEditor/CodeEditor.tsx | 2 +- .../CodeEditor/CodeEditorRenderer.tsx | 10 +- src/Shared/Components/CodeEditor/types.ts | 11 +- .../ConfirmationModal/ConfirmationModal.tsx | 6 +- .../Components/DatePicker/DateTimePicker.tsx | 6 +- .../DynamicDataTable/DynamicDataTableRow.tsx | 12 +- src/Shared/Components/ExportToCsv/types.ts | 2 + .../SuggestionItem.tsx | 2 +- .../Suggestions.tsx | 2 +- .../GenericSectionErrorState/types.ts | 2 +- .../GitCommitInfoGeneric.tsx | 1 + .../GraphVisualizer/GraphVisualizer.tsx | 4 +- src/Shared/Components/Header/types.ts | 2 + src/Shared/Components/Icon/IconBase.tsx | 2 + .../Components/ImageWithFallback/types.ts | 2 +- .../Components/ModalSidebarPanel/types.ts | 2 +- .../Security/SecurityModal/types.ts | 2 +- .../SelectPicker/FilterSelectPicker.tsx | 2 +- .../StatusComponent/StatusComponent.tsx | 2 + .../Components/TabGroup/TabGroup.types.ts | 1 + .../TreeView/TreeView.component.tsx | 2 +- src/Shared/Components/TreeView/types.ts | 2 +- .../Providers/MainContextProvider/types.ts | 2 +- src/globals.d.ts | 29 + src/index.ts | 28 +- 56 files changed, 904 insertions(+), 654 deletions(-) create mode 100644 CLAUDE.md create mode 100644 src/globals.d.ts diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 000000000..d6124bd3b --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,108 @@ +# CLAUDE.md + +This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository. + +## Overview + +`@devtron-labs/devtron-fe-common-lib` is a React component and utility library for the Devtron platform. It is built with Vite and published to npm as an ES module. + +## Commands + +```bash +# Type-check + lint (strict, max-warnings=0) +npm run lint + +# Auto-fix lint issues +npm run lint-fix + +# Build with source maps (development/local linking) +npm run build + +# Watch mode rebuild with source maps +npm run build-watch + +# Build without source maps (CI/CD, publishing) +npm run build-lib + +# Vite dev server +npm run dev + +# Generate icon/illustration components from SVGs +npm run generate-icon +npm run generate-illustration +``` + +There are no tests currently (`npm test` is a no-op). + +## Architecture + +### Entry & Exports + +`src/index.ts` re-exports everything from four top-level modules: + +- **`src/Common/`** — Legacy utilities, hooks, and components (BreadCrumb, SearchBar, Checkbox, etc.) +- **`src/Shared/`** — Primary reusable code: 100+ UI components, hooks, providers, services, API utilities, types, helpers, constants, validations +- **`src/Pages/`** — Full-page components (Applications, BulkEdit, GlobalConfigurations, ResourceBrowser) +- **`src/Pages-Devtron-2.0/`** — New Devtron 2.0 features (ApplicationManagement, Navigation, SecurityCenter, etc.) + +### Component Structure Convention + +Components follow a consistent directory layout: + +``` +ComponentName/ +├── ComponentName.component.tsx # Main component (forwardRef + React.memo typical) +├── types.ts # TypeScript interfaces/types +├── constants.ts # Component-level constants +├── utils.ts # Helper functions +├── component.scss # Scoped SCSS styles +└── index.ts # Barrel export +``` + +### Key Architectural Patterns + +**State management**: React Context API only — `MainContextProvider`, `ThemeProvider`, `UserEmailProvider`. No Redux/Zustand. + +**API layer**: TanStack Query (React Query v4) via `CoreAPI` class. API queuing handled via `APIQueuing`. Custom query hooks live in `Shared/API/reactQueryHooks.ts`. + +**Styling**: SCSS with BEM naming. CSS is injected into JS chunks via `vite-plugin-lib-inject-css`. No CSS modules. + +**SVG icons**: Imported as React components via `vite-plugin-svgr`. Two icon generations: `src/Assets/Icon/` and `src/Assets/IconV2/`. Do **not** use `IconBase` or `IllustrationBase` directly — use the `Icon` and `Illustration` wrapper components. + +**Toasts**: Do **not** import from `react-toastify` directly — use `ToastManager` from the library. + +**Forms**: Dynamic forms use `@rjsf` (React JSON Schema Form). Custom form hooks in `Shared/Hooks/`. + +**Router**: React Router v6 (`useBlocker` etc.). The `usePrompt` hook handles navigation blocking. + +### TypeScript & Path Aliases + +`tsconfig.json` configures path aliases used throughout the codebase: + +| Alias | Maps to | +| -------------------- | ------------------------- | +| `@Icons/*` | `src/Assets/Icon/*` | +| `@IconsV2/*` | `src/Assets/IconV2/*` | +| `@Common/*` | `src/Common/*` | +| `@Shared/*` | `src/Shared/*` | +| `@Pages/*` | `src/Pages/*` | +| `@PagesDevtron2.0/*` | `src/Pages-Devtron-2.0/*` | + +Strict mode is **off** in tsconfig. Target is ES2020, module is ESNext. + +### Build Output + +Vite splits the bundle into named chunks: `@vendor`, `@code-editor`, `@framer-motion`, `@moment`, `@react-select`, `@react-virtualized-sticky-tree`, `@common-rjsf`, `@src-assets-*`. Output is ES modules only, landing in `dist/`. Type declarations are generated via `vite-plugin-dts` at `dist/index.d.ts`. + +## Code Style + +- **Prettier**: No semicolons, single quotes, 120-char print width, 4-space tabs, trailing commas everywhere. +- **ESLint**: Airbnb + TypeScript + Prettier. Import order enforced by `eslint-plugin-simple-import-sort`. +- **Pre-commit**: `lint-staged` runs ESLint on staged `.{js,jsx,ts,tsx}` files via Husky. +- JSX only in `.tsx` files (not `.jsx`). +- `no-console` is a warning (not error). + +## CI/CD + +- **PRs**: Node version from `.nvmrc`, `npm ci`, `npm run lint`, `npm run build-lib`. +- **Releases**: Triggered by GitHub release creation, runs `npm test` + `npm run build-lib` + `npm publish --access public` using `NPM_TOKEN` secret. diff --git a/package-lock.json b/package-lock.json index 7b9745106..e370525ac 100644 --- a/package-lock.json +++ b/package-lock.json @@ -25,7 +25,7 @@ "@rjsf/core": "^6.2.4", "@rjsf/utils": "^6.2.4", "@rjsf/validator-ajv8": "^6.2.4", - "@tanstack/react-query": "<5", + "@tanstack/react-query": "^5.90.21", "@uiw/codemirror-extensions-hyper-link": "4.23.10", "@uiw/codemirror-theme-github": "4.23.7", "@uiw/react-codemirror": "4.23.7", @@ -38,14 +38,14 @@ "dayjs": "^1.11.13", "fast-json-patch": "^3.1.1", "focus-trap-react": "^10.3.1", - "framer-motion": "^6.5.1", + "framer-motion": "^11.18.2", "jsonpath-plus": "^10.3.0", "marked": "^13.0.3", "nanoid": "^3.3.8", "qrcode.react": "^4.2.0", "react-canvas-confetti": "^2.0.7", "react-csv": "^2.2.2", - "react-day-picker": "9.4.3", + "react-day-picker": "^9.11.2", "react-draggable": "^4.4.5", "react-international-phone": "^4.5.0", "react-virtualized-sticky-tree": "^3.0.0-beta18", @@ -56,15 +56,15 @@ "@esbuild-plugins/node-globals-polyfill": "0.2.3", "@laynezh/vite-plugin-lib-assets": "1.1.0", "@sentry/browser": "^7.119.1", - "@tanstack/eslint-plugin-query": "<5", - "@tanstack/react-query-devtools": "<5", + "@tanstack/eslint-plugin-query": "^5.91.4", + "@tanstack/react-query-devtools": "^5.91.3", "@tippyjs/react": "^4.2.0", "@typeform/embed-react": "2.20.0", "@types/dompurify": "^3.0.5", "@types/json-schema": "^7.0.15", - "@types/react": "^18.3.27", + "@types/react": "^19.2.14", "@types/react-csv": "^1.1.10", - "@types/react-dom": "^18.3.7", + "@types/react-dom": "^19.2.3", "@typescript-eslint/eslint-plugin": "8.3.0", "@typescript-eslint/parser": "8.3.0", "@vitejs/plugin-react": "4.5.2", @@ -76,7 +76,7 @@ "eslint-plugin-jsx-a11y": "^6.8.0", "eslint-plugin-prettier": "^5.1.2", "eslint-plugin-react": "^7.33.2", - "eslint-plugin-react-hooks": "^4.6.0", + "eslint-plugin-react-hooks": "^5.2.0", "eslint-plugin-simple-import-sort": "^12.1.1", "glob": "^10.3.3", "husky": "^7.0.4", @@ -84,8 +84,10 @@ "lint-staged": "^12.5.0", "moment": "^2.29.4", "prettier": "^3.1.1", + "react": "^19.2.4", + "react-dom": "^19.2.4", "react-ga4": "^1.4.1", - "react-toastify": "9.1.3", + "react-toastify": "^10.0.6", "sharp": "^0.33.5", "svgo": "^3.3.2", "typescript": "5.5.4", @@ -99,8 +101,8 @@ "@typeform/embed-react": "2.20.0", "dompurify": "^3.2.4", "patch-package": "^8.0.0", - "react": "^18.3.1", - "react-dom": "^18.3.1", + "react": "^19.2.4", + "react-dom": "^19.2.4", "react-ga4": "^1.4.1", "react-router-dom": "^6.30.3", "react-select": "5.8.0", @@ -819,6 +821,7 @@ "integrity": "sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA==", "license": "MIT", "optional": true, + "peer": true, "dependencies": { "@emotion/memoize": "0.7.4" } @@ -828,7 +831,8 @@ "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.4.tgz", "integrity": "sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==", "license": "MIT", - "optional": true + "optional": true, + "peer": true }, "node_modules/@emotion/react": { "version": "11.14.0", @@ -2338,70 +2342,6 @@ "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/@motionone/animation": { - "version": "10.18.0", - "resolved": "https://registry.npmjs.org/@motionone/animation/-/animation-10.18.0.tgz", - "integrity": "sha512-9z2p5GFGCm0gBsZbi8rVMOAJCtw1WqBTIPw3ozk06gDvZInBPIsQcHgYogEJ4yuHJ+akuW8g1SEIOpTOvYs8hw==", - "license": "MIT", - "dependencies": { - "@motionone/easing": "^10.18.0", - "@motionone/types": "^10.17.1", - "@motionone/utils": "^10.18.0", - "tslib": "^2.3.1" - } - }, - "node_modules/@motionone/dom": { - "version": "10.12.0", - "resolved": "https://registry.npmjs.org/@motionone/dom/-/dom-10.12.0.tgz", - "integrity": "sha512-UdPTtLMAktHiqV0atOczNYyDd/d8Cf5fFsd1tua03PqTwwCe/6lwhLSQ8a7TbnQ5SN0gm44N1slBfj+ORIhrqw==", - "license": "MIT", - "dependencies": { - "@motionone/animation": "^10.12.0", - "@motionone/generators": "^10.12.0", - "@motionone/types": "^10.12.0", - "@motionone/utils": "^10.12.0", - "hey-listen": "^1.0.8", - "tslib": "^2.3.1" - } - }, - "node_modules/@motionone/easing": { - "version": "10.18.0", - "resolved": "https://registry.npmjs.org/@motionone/easing/-/easing-10.18.0.tgz", - "integrity": "sha512-VcjByo7XpdLS4o9T8t99JtgxkdMcNWD3yHU/n6CLEz3bkmKDRZyYQ/wmSf6daum8ZXqfUAgFeCZSpJZIMxaCzg==", - "license": "MIT", - "dependencies": { - "@motionone/utils": "^10.18.0", - "tslib": "^2.3.1" - } - }, - "node_modules/@motionone/generators": { - "version": "10.18.0", - "resolved": "https://registry.npmjs.org/@motionone/generators/-/generators-10.18.0.tgz", - "integrity": "sha512-+qfkC2DtkDj4tHPu+AFKVfR/C30O1vYdvsGYaR13W/1cczPrrcjdvYCj0VLFuRMN+lP1xvpNZHCRNM4fBzn1jg==", - "license": "MIT", - "dependencies": { - "@motionone/types": "^10.17.1", - "@motionone/utils": "^10.18.0", - "tslib": "^2.3.1" - } - }, - "node_modules/@motionone/types": { - "version": "10.17.1", - "resolved": "https://registry.npmjs.org/@motionone/types/-/types-10.17.1.tgz", - "integrity": "sha512-KaC4kgiODDz8hswCrS0btrVrzyU2CSQKO7Ps90ibBVSQmjkrt2teqta6/sOG59v7+dPnKMAg13jyqtMKV2yJ7A==", - "license": "MIT" - }, - "node_modules/@motionone/utils": { - "version": "10.18.0", - "resolved": "https://registry.npmjs.org/@motionone/utils/-/utils-10.18.0.tgz", - "integrity": "sha512-3XVF7sgyTSI2KWvTf6uLlBJ5iAgRgmvp3bpuOiQJvInd4nZ19ET8lX5unn30SlmRH7hXbBbH+Gxd0m0klJ3Xtw==", - "license": "MIT", - "dependencies": { - "@motionone/types": "^10.17.1", - "hey-listen": "^1.0.8", - "tslib": "^2.3.1" - } - }, "node_modules/@napi-rs/wasm-runtime": { "version": "0.2.12", "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.12.tgz", @@ -3952,40 +3892,210 @@ } }, "node_modules/@tanstack/eslint-plugin-query": { - "version": "4.43.0", - "resolved": "https://registry.npmjs.org/@tanstack/eslint-plugin-query/-/eslint-plugin-query-4.43.0.tgz", - "integrity": "sha512-p3TDn20K3tFA1F0h3GD/VQ3YGaiEQ0GEqhAVCw0PzXzBMOMFbTGxmevN7shXJS+vIuahNGNApTsOqzT3aWSbGQ==", + "version": "5.91.4", + "resolved": "https://registry.npmjs.org/@tanstack/eslint-plugin-query/-/eslint-plugin-query-5.91.4.tgz", + "integrity": "sha512-8a+GAeR7oxJ5laNyYBQ6miPK09Hi18o5Oie/jx8zioXODv/AUFLZQecKabPdpQSLmuDXEBPKFh+W5DKbWlahjQ==", "dev": true, "license": "MIT", + "dependencies": { + "@typescript-eslint/utils": "^8.48.0" + }, "funding": { "type": "github", "url": "https://github.com/sponsors/tannerlinsley" }, "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + "eslint": "^8.57.0 || ^9.0.0", + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@tanstack/match-sorter-utils": { - "version": "8.19.4", - "resolved": "https://registry.npmjs.org/@tanstack/match-sorter-utils/-/match-sorter-utils-8.19.4.tgz", - "integrity": "sha512-Wo1iKt2b9OT7d+YGhvEPD3DXvPv2etTusIMhMUoG7fbhmxcXCtIjJDEygy91Y2JFlwGyjqiBPRozme7UD8hoqg==", + "node_modules/@tanstack/eslint-plugin-query/node_modules/@typescript-eslint/scope-manager": { + "version": "8.56.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.56.1.tgz", + "integrity": "sha512-YAi4VDKcIZp0O4tz/haYKhmIDZFEUPOreKbfdAN3SzUDMcPhJ8QI99xQXqX+HoUVq8cs85eRKnD+rne2UAnj2w==", "dev": true, "license": "MIT", "dependencies": { - "remove-accents": "0.5.0" + "@typescript-eslint/types": "8.56.1", + "@typescript-eslint/visitor-keys": "8.56.1" }, "engines": { - "node": ">=12" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@tanstack/eslint-plugin-query/node_modules/@typescript-eslint/types": { + "version": "8.56.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.56.1.tgz", + "integrity": "sha512-dbMkdIUkIkchgGDIv7KLUpa0Mda4IYjo4IAMJUZ+3xNoUXxMsk9YtKpTHSChRS85o+H9ftm51gsK1dZReY9CVw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@tanstack/eslint-plugin-query/node_modules/@typescript-eslint/typescript-estree": { + "version": "8.56.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.56.1.tgz", + "integrity": "sha512-qzUL1qgalIvKWAf9C1HpvBjif+Vm6rcT5wZd4VoMb9+Km3iS3Cv9DY6dMRMDtPnwRAFyAi7YXJpTIEXLvdfPxg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/project-service": "8.56.1", + "@typescript-eslint/tsconfig-utils": "8.56.1", + "@typescript-eslint/types": "8.56.1", + "@typescript-eslint/visitor-keys": "8.56.1", + "debug": "^4.4.3", + "minimatch": "^10.2.2", + "semver": "^7.7.3", + "tinyglobby": "^0.2.15", + "ts-api-utils": "^2.4.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@tanstack/eslint-plugin-query/node_modules/@typescript-eslint/utils": { + "version": "8.56.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.56.1.tgz", + "integrity": "sha512-HPAVNIME3tABJ61siYlHzSWCGtOoeP2RTIaHXFMPqjrQKCGB9OgUVdiNgH7TJS2JNIQ5qQ4RsAUDuGaGme/KOA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.9.1", + "@typescript-eslint/scope-manager": "8.56.1", + "@typescript-eslint/types": "8.56.1", + "@typescript-eslint/typescript-estree": "8.56.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@tanstack/eslint-plugin-query/node_modules/@typescript-eslint/visitor-keys": { + "version": "8.56.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.56.1.tgz", + "integrity": "sha512-KiROIzYdEV85YygXw6BI/Dx4fnBlFQu6Mq4QE4MOH9fFnhohw6wX/OAvDY2/C+ut0I3RSPKenvZJIVYqJNkhEw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.56.1", + "eslint-visitor-keys": "^5.0.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@tanstack/eslint-plugin-query/node_modules/balanced-match": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", + "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "18 || 20 || >=22" + } + }, + "node_modules/@tanstack/eslint-plugin-query/node_modules/brace-expansion": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.3.tgz", + "integrity": "sha512-fy6KJm2RawA5RcHkLa1z/ScpBeA762UF9KmZQxwIbDtRJrgLzM10depAiEQ+CXYcoiqW1/m96OAAoke2nE9EeA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^4.0.2" + }, + "engines": { + "node": "18 || 20 || >=22" + } + }, + "node_modules/@tanstack/eslint-plugin-query/node_modules/eslint-visitor-keys": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz", + "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@tanstack/eslint-plugin-query/node_modules/minimatch": { + "version": "10.2.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.3.tgz", + "integrity": "sha512-Rwi3pnapEqirPSbWbrZaa6N3nmqq4Xer/2XooiOKyV3q12ML06f7MOuc5DVH8ONZIFhwIYQ3yzPH4nt7iWHaTg==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "brace-expansion": "^5.0.2" + }, + "engines": { + "node": "18 || 20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@tanstack/eslint-plugin-query/node_modules/ts-api-utils": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.4.0.tgz", + "integrity": "sha512-3TaVTaAv2gTiMB35i3FiGJaRfwb3Pyn/j3m/bfAvGe8FB7CF6u+LMYqYlDh7reQf7UNvoTvdfAqHGmPGOSsPmA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.12" + }, + "peerDependencies": { + "typescript": ">=4.8.4" + } + }, + "node_modules/@tanstack/query-core": { + "version": "5.90.20", + "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.90.20.tgz", + "integrity": "sha512-OMD2HLpNouXEfZJWcKeVKUgQ5n+n3A2JFmBaScpNDUqSrQSjiveC7dKMe53uJUg1nDG16ttFPz2xfilz6i2uVg==", + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/tannerlinsley" } }, - "node_modules/@tanstack/query-core": { - "version": "4.43.0", - "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-4.43.0.tgz", - "integrity": "sha512-m1QeUUIpNXDYxmfuuWNFZLky0EwVmbE0hj8ulZ2nIGA1183raJgDCn0IKlxug80NotRqzodxAaoYTKHbE1/P/Q==", + "node_modules/@tanstack/query-devtools": { + "version": "5.93.0", + "resolved": "https://registry.npmjs.org/@tanstack/query-devtools/-/query-devtools-5.93.0.tgz", + "integrity": "sha512-+kpsx1NQnOFTZsw6HAFCW3HkKg0+2cepGtAWXjiiSOJJ1CtQpt72EE2nyZb+AjAbLRPoeRmPJ8MtQd8r8gsPdg==", + "dev": true, "license": "MIT", "funding": { "type": "github", @@ -3993,51 +4103,37 @@ } }, "node_modules/@tanstack/react-query": { - "version": "4.43.0", - "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-4.43.0.tgz", - "integrity": "sha512-Lj8luFKHQL27oZbw5T8xdTbsfAPp2+bCtSCa2bAVvIwnvNfRP0hpB1GxfKFgCktat8lPcYBHAu8eMTXzz2sQtQ==", + "version": "5.90.21", + "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.90.21.tgz", + "integrity": "sha512-0Lu6y5t+tvlTJMTO7oh5NSpJfpg/5D41LlThfepTixPYkJ0sE2Jj0m0f6yYqujBwIXlId87e234+MxG3D3g7kg==", "license": "MIT", "dependencies": { - "@tanstack/query-core": "4.43.0", - "use-sync-external-store": "^1.6.0" + "@tanstack/query-core": "5.90.20" }, "funding": { "type": "github", "url": "https://github.com/sponsors/tannerlinsley" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", - "react-native": "*" - }, - "peerDependenciesMeta": { - "react-dom": { - "optional": true - }, - "react-native": { - "optional": true - } + "react": "^18 || ^19" } }, "node_modules/@tanstack/react-query-devtools": { - "version": "4.43.0", - "resolved": "https://registry.npmjs.org/@tanstack/react-query-devtools/-/react-query-devtools-4.43.0.tgz", - "integrity": "sha512-UwoY7qMysWMjuIE0lb+8NqTuovC1Uj1761lDybAMYsDPFQVAmahTeIzrclYKSK7CsW4mk9LvKAa1Z7E3141/VQ==", + "version": "5.91.3", + "resolved": "https://registry.npmjs.org/@tanstack/react-query-devtools/-/react-query-devtools-5.91.3.tgz", + "integrity": "sha512-nlahjMtd/J1h7IzOOfqeyDh5LNfG0eULwlltPEonYy0QL+nqrBB+nyzJfULV+moL7sZyxc2sHdNJki+vLA9BSA==", "dev": true, "license": "MIT", "dependencies": { - "@tanstack/match-sorter-utils": "^8.7.0", - "superjson": "^1.10.0", - "use-sync-external-store": "^1.2.0" + "@tanstack/query-devtools": "5.93.0" }, "funding": { "type": "github", "url": "https://github.com/sponsors/tannerlinsley" }, "peerDependencies": { - "@tanstack/react-query": "^4.43.0", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + "@tanstack/react-query": "^5.90.20", + "react": "^18 || ^19" } }, "node_modules/@tippyjs/react": { @@ -4292,19 +4388,12 @@ "integrity": "sha512-vqlvI7qlMvcCBbVe0AKAb4f97//Hy0EBTaiW8AalRnG/xAN5zOiWWyrNqNXeq8+KAuvRewjCVY1+IPxk4RdNYw==", "license": "MIT" }, - "node_modules/@types/prop-types": { - "version": "15.7.15", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.15.tgz", - "integrity": "sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==", - "license": "MIT" - }, "node_modules/@types/react": { - "version": "18.3.28", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.28.tgz", - "integrity": "sha512-z9VXpC7MWrhfWipitjNdgCauoMLRdIILQsAEV+ZesIzBq/oUlxk0m3ApZuMFCXdnS4U7KrI+l3WRUEGQ8K1QKw==", + "version": "19.2.14", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.14.tgz", + "integrity": "sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w==", "license": "MIT", "dependencies": { - "@types/prop-types": "*", "csstype": "^3.2.2" } }, @@ -4319,13 +4408,13 @@ } }, "node_modules/@types/react-dom": { - "version": "18.3.7", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.7.tgz", - "integrity": "sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==", + "version": "19.2.3", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.2.3.tgz", + "integrity": "sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==", "dev": true, "license": "MIT", "peerDependencies": { - "@types/react": "^18.0.0" + "@types/react": "^19.2.0" } }, "node_modules/@types/react-transition-group": { @@ -4414,6 +4503,42 @@ } } }, + "node_modules/@typescript-eslint/project-service": { + "version": "8.56.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.56.1.tgz", + "integrity": "sha512-TAdqQTzHNNvlVFfR+hu2PDJrURiwKsUvxFn1M0h95BB8ah5jejas08jUWG4dBA68jDMI988IvtfdAI53JzEHOQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/tsconfig-utils": "^8.56.1", + "@typescript-eslint/types": "^8.56.1", + "debug": "^4.4.3" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/project-service/node_modules/@typescript-eslint/types": { + "version": "8.56.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.56.1.tgz", + "integrity": "sha512-dbMkdIUkIkchgGDIv7KLUpa0Mda4IYjo4IAMJUZ+3xNoUXxMsk9YtKpTHSChRS85o+H9ftm51gsK1dZReY9CVw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, "node_modules/@typescript-eslint/scope-manager": { "version": "8.3.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.3.0.tgz", @@ -4432,6 +4557,23 @@ "url": "https://opencollective.com/typescript-eslint" } }, + "node_modules/@typescript-eslint/tsconfig-utils": { + "version": "8.56.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.56.1.tgz", + "integrity": "sha512-qOtCYzKEeyr3aR9f28mPJqBty7+DBqsdd63eO0yyDwc6vgThj2UjWfJIcsFeSucYydqcuudMOprZ+x1SpF3ZuQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" + } + }, "node_modules/@typescript-eslint/type-utils": { "version": "8.3.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.3.0.tgz", @@ -6177,22 +6319,6 @@ "dev": true, "license": "MIT" }, - "node_modules/copy-anything": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-3.0.5.tgz", - "integrity": "sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-what": "^4.1.8" - }, - "engines": { - "node": ">=12.13" - }, - "funding": { - "url": "https://github.com/sponsors/mesqueeb" - } - }, "node_modules/cosmiconfig": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", @@ -6525,6 +6651,12 @@ "url": "https://github.com/sponsors/kossnocorp" } }, + "node_modules/date-fns-jalali": { + "version": "4.1.0-0", + "resolved": "https://registry.npmjs.org/date-fns-jalali/-/date-fns-jalali-4.1.0-0.tgz", + "integrity": "sha512-hTIP/z+t+qKwBDcmmsnmjWTduxCg+5KfdqWQvb2X/8C9+knYY6epN/pfxdDuyVlSVeFz0sM5eEfwIUQ70U4ckg==", + "license": "MIT" + }, "node_modules/dayjs": { "version": "1.11.19", "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.19.tgz", @@ -7500,16 +7632,16 @@ } }, "node_modules/eslint-plugin-react-hooks": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz", - "integrity": "sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.2.0.tgz", + "integrity": "sha512-+f15FfK64YQwZdJNELETdn5ibXEUQmW1DZL6KXhNnc2heoy/sg9VJJeT7n8TlMWouzWqSWavFkIhHyIbIAEapg==", "dev": true, "license": "MIT", "engines": { "node": ">=10" }, "peerDependencies": { - "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0" } }, "node_modules/eslint-plugin-react/node_modules/brace-expansion": { @@ -8024,33 +8156,30 @@ } }, "node_modules/framer-motion": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-6.5.1.tgz", - "integrity": "sha512-o1BGqqposwi7cgDrtg0dNONhkmPsUFDaLcKXigzuTFC5x58mE8iyTazxSudFzmT6MEyJKfjjU8ItoMe3W+3fiw==", + "version": "11.18.2", + "resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-11.18.2.tgz", + "integrity": "sha512-5F5Och7wrvtLVElIpclDT0CBzMVg3dL22B64aZwHtsIY8RB4mXICLrkajK4G9R+ieSAGcgrLeae2SeUTg2pr6w==", "license": "MIT", "dependencies": { - "@motionone/dom": "10.12.0", - "framesync": "6.0.1", - "hey-listen": "^1.0.8", - "popmotion": "11.0.3", - "style-value-types": "5.0.0", - "tslib": "^2.1.0" - }, - "optionalDependencies": { - "@emotion/is-prop-valid": "^0.8.2" + "motion-dom": "^11.18.1", + "motion-utils": "^11.18.1", + "tslib": "^2.4.0" }, "peerDependencies": { - "react": ">=16.8 || ^17.0.0 || ^18.0.0", - "react-dom": ">=16.8 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/framesync": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/framesync/-/framesync-6.0.1.tgz", - "integrity": "sha512-fUY88kXvGiIItgNC7wcTOl0SNRCVXMKSWW2Yzfmn7EKNc+MpCzcz9DhdHcdjbrtN3c6R4H5dTY2jiCpPdysEjA==", - "license": "MIT", - "dependencies": { - "tslib": "^2.1.0" + "@emotion/is-prop-valid": "*", + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@emotion/is-prop-valid": { + "optional": true + }, + "react": { + "optional": true + }, + "react-dom": { + "optional": true + } } }, "node_modules/fs-extra": { @@ -8697,12 +8826,6 @@ "he": "bin/he" } }, - "node_modules/hey-listen": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/hey-listen/-/hey-listen-1.0.8.tgz", - "integrity": "sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q==", - "license": "MIT" - }, "node_modules/hoist-non-react-statics": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", @@ -9389,19 +9512,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-what": { - "version": "4.1.16", - "resolved": "https://registry.npmjs.org/is-what/-/is-what-4.1.16.tgz", - "integrity": "sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12.13" - }, - "funding": { - "url": "https://github.com/sponsors/mesqueeb" - } - }, "node_modules/is-wsl": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", @@ -11189,6 +11299,21 @@ "integrity": "sha512-iSAJLHYKnX41mKcJKjqvnAN9sf0LMDTXDEvFv+ffuRR9a1MIuXLjMNL6EsnDHSkKLTWNqQQ5uo61P4EbU4NU+Q==", "license": "BSD-3-Clause" }, + "node_modules/motion-dom": { + "version": "11.18.1", + "resolved": "https://registry.npmjs.org/motion-dom/-/motion-dom-11.18.1.tgz", + "integrity": "sha512-g76KvA001z+atjfxczdRtw/RXOM3OMSdd1f4DL77qCTF/+avrRJiawSG4yDibEQ215sr9kpinSlX2pCTJ9zbhw==", + "license": "MIT", + "dependencies": { + "motion-utils": "^11.18.1" + } + }, + "node_modules/motion-utils": { + "version": "11.18.1", + "resolved": "https://registry.npmjs.org/motion-utils/-/motion-utils-11.18.1.tgz", + "integrity": "sha512-49Kt+HKjtbJKLtgO/LKj9Ld+6vw9BjH5d9sc40R/kVyH8GLAXgT42M2NnuPcJNuA3s9ZfZBUcwIgpmZWGEE+hA==", + "license": "MIT" + }, "node_modules/mrmime": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-1.0.1.tgz", @@ -11836,18 +11961,6 @@ "pathe": "^2.0.3" } }, - "node_modules/popmotion": { - "version": "11.0.3", - "resolved": "https://registry.npmjs.org/popmotion/-/popmotion-11.0.3.tgz", - "integrity": "sha512-Y55FLdj3UxkR7Vl3s7Qr4e9m0onSnP8W7d/xQLsoJM40vs6UKHFdygs6SWryasTZYqugMjm3BepCF4CWXDiHgA==", - "license": "MIT", - "dependencies": { - "framesync": "6.0.1", - "hey-listen": "^1.0.8", - "style-value-types": "5.0.0", - "tslib": "^2.1.0" - } - }, "node_modules/possible-typed-array-names": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", @@ -12039,14 +12152,10 @@ } }, "node_modules/react": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", - "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", + "version": "19.2.4", + "resolved": "https://registry.npmjs.org/react/-/react-19.2.4.tgz", + "integrity": "sha512-9nfp2hYpCwOjAN+8TZFGhtWEwgvWHXqESH8qT89AT/lWklpLON22Lc8pEtnpsZz7VmawabSU0gCjnj8aC0euHQ==", "license": "MIT", - "peer": true, - "dependencies": { - "loose-envify": "^1.1.0" - }, "engines": { "node": ">=0.10.0" } @@ -12071,13 +12180,14 @@ "license": "MIT" }, "node_modules/react-day-picker": { - "version": "9.4.3", - "resolved": "https://registry.npmjs.org/react-day-picker/-/react-day-picker-9.4.3.tgz", - "integrity": "sha512-kQmn7lBR6fHCjaDhW6ByzTMeZUgsBSvIKJLaUKq5xTuJcg2UqHiFAjrPLk/owQS/NzsnSgyGL/bhoi0Z7g+r3w==", + "version": "9.13.2", + "resolved": "https://registry.npmjs.org/react-day-picker/-/react-day-picker-9.13.2.tgz", + "integrity": "sha512-IMPiXfXVIAuR5Yk58DDPBC8QKClrhdXV+Tr/alBrwrHUw0qDDYB1m5zPNuTnnPIr/gmJ4ChMxmtqPdxm8+R4Eg==", "license": "MIT", "dependencies": { - "@date-fns/tz": "^1.2.0", - "date-fns": "^4.1.0" + "@date-fns/tz": "^1.4.1", + "date-fns": "^4.1.0", + "date-fns-jalali": "^4.1.0-0" }, "engines": { "node": ">=18" @@ -12091,17 +12201,15 @@ } }, "node_modules/react-dom": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", - "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", + "version": "19.2.4", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.4.tgz", + "integrity": "sha512-AXJdLo8kgMbimY95O2aKQqsz2iWi9jMgKJhRBAxECE4IFxfcazB2LmzloIoibJI3C12IlY20+KFaLv+71bUJeQ==", "license": "MIT", - "peer": true, "dependencies": { - "loose-envify": "^1.1.0", - "scheduler": "^0.23.2" + "scheduler": "^0.27.0" }, "peerDependencies": { - "react": "^18.3.1" + "react": "^19.2.4" } }, "node_modules/react-draggable": { @@ -12249,27 +12357,17 @@ } }, "node_modules/react-toastify": { - "version": "9.1.3", - "resolved": "https://registry.npmjs.org/react-toastify/-/react-toastify-9.1.3.tgz", - "integrity": "sha512-fPfb8ghtn/XMxw3LkxQBk3IyagNpF/LIKjOBflbexr2AWxAH1MJgvnESwEwBn9liLFXgTKWgBSdZpw9m4OTHTg==", + "version": "10.0.6", + "resolved": "https://registry.npmjs.org/react-toastify/-/react-toastify-10.0.6.tgz", + "integrity": "sha512-yYjp+omCDf9lhZcrZHKbSq7YMuK0zcYkDFTzfRFgTXkTFHZ1ToxwAonzA4JI5CxA91JpjFLmwEsZEgfYfOqI1A==", "dev": true, "license": "MIT", "dependencies": { - "clsx": "^1.1.1" + "clsx": "^2.1.0" }, "peerDependencies": { - "react": ">=16", - "react-dom": ">=16" - } - }, - "node_modules/react-toastify/node_modules/clsx": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", - "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" + "react": ">=18", + "react-dom": ">=18" } }, "node_modules/react-transition-group": { @@ -12656,13 +12754,6 @@ "url": "https://opencollective.com/unified" } }, - "node_modules/remove-accents": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/remove-accents/-/remove-accents-0.5.0.tgz", - "integrity": "sha512-8g3/Otx1eJaVD12e31UbJj1YzdtVvzH85HV7t+9MJYk/u3XmkOUJ5Ys9wQrf9PCPK8+xn4ymzqYCiZl6QWKn+A==", - "dev": true, - "license": "MIT" - }, "node_modules/require-from-string": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", @@ -12982,14 +13073,10 @@ } }, "node_modules/scheduler": { - "version": "0.23.2", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", - "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", - "license": "MIT", - "peer": true, - "dependencies": { - "loose-envify": "^1.1.0" - } + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", + "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==", + "license": "MIT" }, "node_modules/semver": { "version": "7.7.4", @@ -13644,16 +13731,6 @@ "inline-style-parser": "0.2.7" } }, - "node_modules/style-value-types": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/style-value-types/-/style-value-types-5.0.0.tgz", - "integrity": "sha512-08yq36Ikn4kx4YU6RD7jWEv27v4V+PUsOGa4n/as8Et3CuODMJQ00ENeAVXAeydX4Z2j1XHZF1K2sX4mGl18fA==", - "license": "MIT", - "dependencies": { - "hey-listen": "^1.0.8", - "tslib": "^2.1.0" - } - }, "node_modules/stylis": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.2.0.tgz", @@ -13661,19 +13738,6 @@ "license": "MIT", "peer": true }, - "node_modules/superjson": { - "version": "1.13.3", - "resolved": "https://registry.npmjs.org/superjson/-/superjson-1.13.3.tgz", - "integrity": "sha512-mJiVjfd2vokfDxsQPOwJ/PtanO87LhpYY88ubI5dUB1Ab58Txbyje3+jpm+/83R/fevaq/107NNhtYBLuoTrFg==", - "dev": true, - "license": "MIT", - "dependencies": { - "copy-anything": "^3.0.2" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", diff --git a/package.json b/package.json index 487ceb1b2..634869d93 100644 --- a/package.json +++ b/package.json @@ -38,17 +38,19 @@ }, "devDependencies": { "@esbuild-plugins/node-globals-polyfill": "0.2.3", + "react": "^19.2.4", + "react-dom": "^19.2.4", "@laynezh/vite-plugin-lib-assets": "1.1.0", "@sentry/browser": "^7.119.1", - "@tanstack/eslint-plugin-query": "<5", - "@tanstack/react-query-devtools": "<5", + "@tanstack/eslint-plugin-query": "^5.91.4", + "@tanstack/react-query-devtools": "^5.91.3", "@tippyjs/react": "^4.2.0", "@typeform/embed-react": "2.20.0", "@types/dompurify": "^3.0.5", "@types/json-schema": "^7.0.15", - "@types/react": "^18.3.27", + "@types/react": "^19.2.14", "@types/react-csv": "^1.1.10", - "@types/react-dom": "^18.3.7", + "@types/react-dom": "^19.2.3", "@typescript-eslint/eslint-plugin": "8.3.0", "@typescript-eslint/parser": "8.3.0", "@vitejs/plugin-react": "4.5.2", @@ -60,7 +62,7 @@ "eslint-plugin-jsx-a11y": "^6.8.0", "eslint-plugin-prettier": "^5.1.2", "eslint-plugin-react": "^7.33.2", - "eslint-plugin-react-hooks": "^4.6.0", + "eslint-plugin-react-hooks": "^5.2.0", "eslint-plugin-simple-import-sort": "^12.1.1", "glob": "^10.3.3", "husky": "^7.0.4", @@ -69,7 +71,7 @@ "moment": "^2.29.4", "prettier": "^3.1.1", "react-ga4": "^1.4.1", - "react-toastify": "9.1.3", + "react-toastify": "^10.0.6", "sharp": "^0.33.5", "svgo": "^3.3.2", "typescript": "5.5.4", @@ -83,8 +85,8 @@ "@typeform/embed-react": "2.20.0", "dompurify": "^3.2.4", "patch-package": "^8.0.0", - "react": "^18.3.1", - "react-dom": "^18.3.1", + "react": "^19.2.4", + "react-dom": "^19.2.4", "react-ga4": "^1.4.1", "react-router-dom": "^6.30.3", "react-select": "5.8.0", @@ -107,7 +109,7 @@ "@rjsf/core": "^6.2.4", "@rjsf/utils": "^6.2.4", "@rjsf/validator-ajv8": "^6.2.4", - "@tanstack/react-query": "<5", + "@tanstack/react-query": "^5.90.21", "@uiw/codemirror-extensions-hyper-link": "4.23.10", "@uiw/codemirror-theme-github": "4.23.7", "@uiw/react-codemirror": "4.23.7", @@ -120,14 +122,14 @@ "dayjs": "^1.11.13", "fast-json-patch": "^3.1.1", "focus-trap-react": "^10.3.1", - "framer-motion": "^6.5.1", + "framer-motion": "^11.18.2", "jsonpath-plus": "^10.3.0", "marked": "^13.0.3", "nanoid": "^3.3.8", "qrcode.react": "^4.2.0", "react-canvas-confetti": "^2.0.7", "react-csv": "^2.2.2", - "react-day-picker": "9.4.3", + "react-day-picker": "^9.11.2", "react-draggable": "^4.4.5", "react-international-phone": "^4.5.0", "react-virtualized-sticky-tree": "^3.0.0-beta18", @@ -135,13 +137,16 @@ "tslib": "2.7.0" }, "overrides": { + "react": "^19.2.4", + "react-dom": "^19.2.4", + "eslint-plugin-react-hooks": "^5.2.0", "cross-spawn": "^7.0.5", "vite-plugin-svgr": { "vite": "6.3.5" }, "react-virtualized-sticky-tree": { - "react": "^18.3.1", - "react-dom": "^18.3.1" + "react": "^19.2.4", + "react-dom": "^19.2.4" } } } diff --git a/src/Common/API/QueryClientProvider.tsx b/src/Common/API/QueryClientProvider.tsx index fd5cc097d..bd6fba829 100644 --- a/src/Common/API/QueryClientProvider.tsx +++ b/src/Common/API/QueryClientProvider.tsx @@ -28,14 +28,14 @@ import { showError } from '@Common/Helper' const queryClient = new QueryClient({ defaultOptions: { queries: { - cacheTime: 0, + gcTime: 0, refetchOnWindowFocus: false, refetchOnReconnect: false, retry: false, meta: { showToastError: true }, }, mutations: { - cacheTime: 0, + gcTime: 0, retry: false, meta: { showToastError: true }, }, diff --git a/src/Common/Checkbox/Checkbox.tsx b/src/Common/Checkbox/Checkbox.tsx index d7a65dfaf..e5de221c0 100644 --- a/src/Common/Checkbox/Checkbox.tsx +++ b/src/Common/Checkbox/Checkbox.tsx @@ -14,8 +14,6 @@ * limitations under the License. */ -import { forwardRef } from 'react' - import { stopPropagation } from '@Common/Helper' import { CheckboxProps } from '../Types' @@ -32,32 +30,40 @@ Valid States of Checkbox: 6. disabled: false, checked: true, value: CHECKED */ // TODO: Associate label with input element -export const Checkbox = forwardRef( - ( - { rootClassName, onClick, name, disabled, value, onChange, tabIndex, isChecked, id, dataTestId, children }, - forwardedRef, - ) => { - const rootClass = `${rootClassName || ''}` +export const Checkbox = ({ + rootClassName, + onClick, + name, + disabled, + value, + onChange, + tabIndex, + isChecked, + id, + dataTestId, + children, + ref, +}: CheckboxProps) => { + const rootClass = `${rootClassName || ''}` - return ( - // eslint-disable-next-line jsx-a11y/label-has-associated-control - - ) - }, -) + return ( + // eslint-disable-next-line jsx-a11y/label-has-associated-control + + ) +} diff --git a/src/Common/CustomTagSelector/TagLabelValueSelector.tsx b/src/Common/CustomTagSelector/TagLabelValueSelector.tsx index 04b604e62..ab7a31ef8 100644 --- a/src/Common/CustomTagSelector/TagLabelValueSelector.tsx +++ b/src/Common/CustomTagSelector/TagLabelValueSelector.tsx @@ -14,7 +14,7 @@ * limitations under the License. */ -import React, { useState, useEffect } from 'react' +import { useState, useEffect, type JSX } from 'react'; import Tippy from '@tippyjs/react' import PopupMenu from '../PopupMenu' import { ReactComponent as ErrorCross } from '../../Assets/Icon/ic-cross.svg' diff --git a/src/Common/DevtronProgressing/DevtronProgressing.tsx b/src/Common/DevtronProgressing/DevtronProgressing.tsx index 0e4ae20c1..17747baab 100644 --- a/src/Common/DevtronProgressing/DevtronProgressing.tsx +++ b/src/Common/DevtronProgressing/DevtronProgressing.tsx @@ -14,7 +14,7 @@ * limitations under the License. */ -import React from 'react' +import { type JSX } from 'react'; import { ReactComponent as ICRotateDevtron } from '../../Assets/Icon/ic-rotate-devtron.svg' import { DevtronProgressingProps } from './types' diff --git a/src/Common/EmptyState/GenericEmptyState.tsx b/src/Common/EmptyState/GenericEmptyState.tsx index 1cc6626d0..99934ece1 100644 --- a/src/Common/EmptyState/GenericEmptyState.tsx +++ b/src/Common/EmptyState/GenericEmptyState.tsx @@ -14,6 +14,8 @@ * limitations under the License. */ +import type { JSX } from 'react' + import { Illustration } from '@Shared/Components' import AppNotDeployed from '../../Assets/Img/app-not-deployed.svg' diff --git a/src/Common/GenericDescription/types.ts b/src/Common/GenericDescription/types.ts index 7a7584d78..86d41514a 100644 --- a/src/Common/GenericDescription/types.ts +++ b/src/Common/GenericDescription/types.ts @@ -14,6 +14,8 @@ * limitations under the License. */ +import type { JSX } from 'react' + export interface GenericDescriptionProps { text?: string updatedBy?: string diff --git a/src/Common/Helper.tsx b/src/Common/Helper.tsx index 7406c4d19..0436e0335 100644 --- a/src/Common/Helper.tsx +++ b/src/Common/Helper.tsx @@ -213,12 +213,10 @@ export function getCookie(sKey) { if (!sKey) { return null } - return ( - document.cookie.replace( - new RegExp(`(?:(?:^|.*;)\\s*${sKey.replace(/[\-\.\+\*]/g, '\\$&')}\\s*\\=\\s*([^;]*).*$)|^.*$`), - '$1', - ) || null - ) + return (document.cookie.replace( + new RegExp(`(?:(?:^|.*;)\\s*${sKey.replace(/[\-\.\+\*]/g, '\\$&')}\\s*\\=\\s*([^;]*).*$)|^.*$`), + '$1', + ) || null); } export function handleUTCTime(ts: string, isRelativeTime = false) { @@ -1102,7 +1100,7 @@ export const getTTLInHumanReadableFormat = (ttl: number): string => { } const humanizedDuration = moment.duration(absoluteTTL, 'seconds').humanize(false) // Since moment.js return "a" or "an" for singular values so replacing with 1. - return humanizedDuration.replace(/^(a|an) /, '1 ') + return humanizedDuration.replace(/^(a|an) /, '1 '); } const getAppTypeCategory = (appType: AppType) => { diff --git a/src/Common/ImageTags.tsx b/src/Common/ImageTags.tsx index 372d502f8..35f10be08 100644 --- a/src/Common/ImageTags.tsx +++ b/src/Common/ImageTags.tsx @@ -14,7 +14,7 @@ * limitations under the License. */ -import { useEffect, useRef, useState } from 'react' +import { useEffect, useRef, useState, type JSX } from 'react'; import Tippy from '@tippyjs/react' import { ReactComponent as Add } from '../Assets/Icon/ic-add.svg' import { ReactComponent as Close } from '../Assets/Icon/ic-cross.svg' diff --git a/src/Common/Progressing.tsx b/src/Common/Progressing.tsx index 7a2bb37c6..86b22fca9 100644 --- a/src/Common/Progressing.tsx +++ b/src/Common/Progressing.tsx @@ -16,6 +16,8 @@ import { ProgressingProps } from './Types' +import type { JSX } from "react"; + export const Progressing = ({ pageLoader, size, theme, styles, fillColor }: ProgressingProps): JSX.Element => { const loaderSize = size ? `${size}px` : pageLoader ? '48px' : '20px' return ( diff --git a/src/Common/RJSF/Form.tsx b/src/Common/RJSF/Form.tsx index d5366d43f..6f59a898c 100644 --- a/src/Common/RJSF/Form.tsx +++ b/src/Common/RJSF/Form.tsx @@ -14,7 +14,7 @@ * limitations under the License. */ -import { forwardRef, useMemo } from 'react' +import { useMemo } from 'react' import RJSF from '@rjsf/core' import { SCHEMA_07_VALIDATOR } from '@Shared/validations' @@ -35,7 +35,7 @@ import './rjsfForm.scss' // The default import resolves to an object instead of a function const Form = RJSF -export const RJSFForm = forwardRef((props: FormProps, ref: FormProps['ref']) => { +export const RJSFForm = ({ ref, ...props }: FormProps) => { const { schemaPathToUpdatePathMap, isUpdatePathKeywordPresent } = useMemo(() => { const map = getSchemaPathToUpdatePathMap(props.schema) @@ -110,4 +110,4 @@ export const RJSFForm = forwardRef((props: FormProps, ref: FormProps['ref']) =>
) -}) +} diff --git a/src/Common/SearchBar/SearchBar.component.tsx b/src/Common/SearchBar/SearchBar.component.tsx index 43ba71f93..46a231eeb 100644 --- a/src/Common/SearchBar/SearchBar.component.tsx +++ b/src/Common/SearchBar/SearchBar.component.tsx @@ -76,7 +76,7 @@ const SearchBar = ({ isLoading = false, }: SearchBarProps) => { const [showClearButton, setShowClearButton] = useState(!!initialSearchText) - const inputRef = useRef() + const inputRef = useRef(null) const debouncedSearchChange = useCallback(debounce(handleSearchChange, debounceTimeout), [ handleSearchChange, debounceTimeout, diff --git a/src/Common/Types.ts b/src/Common/Types.ts index e6c980f6a..9efe91ed5 100644 --- a/src/Common/Types.ts +++ b/src/Common/Types.ts @@ -14,7 +14,7 @@ * limitations under the License. */ -import React, { CSSProperties, MutableRefObject, ReactElement, ReactNode } from 'react' +import React, { CSSProperties, type JSX, MutableRefObject, ReactElement, ReactNode, Ref } from 'react' import { useLocation, useNavigate, useParams } from 'react-router-dom' import { TippyProps } from '@tippyjs/react' @@ -129,6 +129,7 @@ export interface CheckboxProps { dataTestId?: string error?: boolean children?: ReactNode + ref?: Ref } export interface TippyWithBaseDocLinkTypes extends Pick< @@ -221,7 +222,7 @@ export type ErrorScreenManagerProps = { code?: number imageType?: ImageType reload?: (...args) => any - subtitle?: React.ReactChild + subtitle?: React.ReactElement | number | string reloadClass?: string } & ( | { @@ -253,7 +254,7 @@ export interface ErrorPageType } export interface ErrorScreenNotAuthorizedProps { - subtitle?: React.ReactChild + subtitle?: React.ReactElement | number | string title?: string } diff --git a/src/Pages-Devtron-2.0/CostVisibility/Shared/types.ts b/src/Pages-Devtron-2.0/CostVisibility/Shared/types.ts index a3d9de95d..19ee582b8 100644 --- a/src/Pages-Devtron-2.0/CostVisibility/Shared/types.ts +++ b/src/Pages-Devtron-2.0/CostVisibility/Shared/types.ts @@ -1,4 +1,4 @@ -import { ReactNode } from 'react' +import { type JSX, ReactNode } from 'react' import { RJSFFormSchema } from '@Common/RJSF' import { ClusterDetailListType } from '@Common/Types' diff --git a/src/Pages/ResourceBrowser/types.ts b/src/Pages/ResourceBrowser/types.ts index 858ee9e7d..34929f0d7 100644 --- a/src/Pages/ResourceBrowser/types.ts +++ b/src/Pages/ResourceBrowser/types.ts @@ -14,7 +14,7 @@ * limitations under the License. */ -import { Dispatch, ReactElement, SetStateAction } from 'react' +import { Dispatch, type JSX, ReactElement, SetStateAction } from 'react' import { TabProps } from '@Shared/Components' import { InstallationClusterType } from '@Shared/types' diff --git a/src/Shared/Components/BulkSelection/BulkSelection.tsx b/src/Shared/Components/BulkSelection/BulkSelection.tsx index 94185a3c1..1c00a491d 100644 --- a/src/Shared/Components/BulkSelection/BulkSelection.tsx +++ b/src/Shared/Components/BulkSelection/BulkSelection.tsx @@ -14,7 +14,7 @@ * limitations under the License. */ -import { forwardRef, MouseEvent } from 'react' +import { MouseEvent } from 'react' import { ReactComponent as ICChevronDown } from '../../../Assets/Icon/ic-chevron-down.svg' import { Checkbox, ConditionalWrap, noop } from '../../../Common' @@ -23,92 +23,93 @@ import { useBulkSelection } from './BulkSelectionProvider' import { BULK_DROPDOWN_TEST_ID, BulkSelectionOptionsLabels } from './constants' import { BulkSelectionEvents, BulkSelectionProps } from './types' -const BulkSelection = forwardRef( - ( - { showPagination, disabled = false, showChevronDownIcon = true, selectAllIfNotPaginated = false }, - forwardedRef, - ) => { - const { handleBulkSelection, isChecked, checkboxValue, getSelectedIdentifiersCount } = useBulkSelection() - const areOptionsSelected = getSelectedIdentifiersCount() > 0 - const BulkSelectionItems: ActionMenuItemType[] = [ - { - id: BulkSelectionEvents.SELECT_ALL_ON_PAGE, - label: BulkSelectionOptionsLabels[BulkSelectionEvents.SELECT_ALL_ON_PAGE], - startIcon: { name: 'ic-check-square' }, - }, - ...(showPagination - ? [ - { - id: BulkSelectionEvents.SELECT_ALL_ACROSS_PAGES, - label: BulkSelectionOptionsLabels[BulkSelectionEvents.SELECT_ALL_ACROSS_PAGES], - startIcon: { name: 'ic-check-all' }, - } as ActionMenuItemType, - ] - : []), - ...(areOptionsSelected - ? [ - { - id: BulkSelectionEvents.CLEAR_ALL_SELECTIONS, - label: BulkSelectionOptionsLabels[BulkSelectionEvents.CLEAR_ALL_SELECTIONS], - startIcon: { name: 'ic-close-small' }, - type: 'negative', - } as ActionMenuItemType, - ] - : []), - ] +const BulkSelection = ({ + showPagination, + disabled = false, + showChevronDownIcon = true, + selectAllIfNotPaginated = false, + ref, +}: BulkSelectionProps) => { + const { handleBulkSelection, isChecked, checkboxValue, getSelectedIdentifiersCount } = useBulkSelection() + const areOptionsSelected = getSelectedIdentifiersCount() > 0 + const BulkSelectionItems: ActionMenuItemType[] = [ + { + id: BulkSelectionEvents.SELECT_ALL_ON_PAGE, + label: BulkSelectionOptionsLabels[BulkSelectionEvents.SELECT_ALL_ON_PAGE], + startIcon: { name: 'ic-check-square' }, + }, + ...(showPagination + ? [ + { + id: BulkSelectionEvents.SELECT_ALL_ACROSS_PAGES, + label: BulkSelectionOptionsLabels[BulkSelectionEvents.SELECT_ALL_ACROSS_PAGES], + startIcon: { name: 'ic-check-all' }, + } as ActionMenuItemType, + ] + : []), + ...(areOptionsSelected + ? [ + { + id: BulkSelectionEvents.CLEAR_ALL_SELECTIONS, + label: BulkSelectionOptionsLabels[BulkSelectionEvents.CLEAR_ALL_SELECTIONS], + startIcon: { name: 'ic-close-small' }, + type: 'negative', + } as ActionMenuItemType, + ] + : []), + ] - const onActionMenuClick: ActionMenuProps['onClick'] = (item) => { - handleBulkSelection({ - action: item.id as BulkSelectionEvents, - }) - } + const onActionMenuClick: ActionMenuProps['onClick'] = (item) => { + handleBulkSelection({ + action: item.id as BulkSelectionEvents, + }) + } - const onSinglePageSelectAll = (e: MouseEvent) => { - e.stopPropagation() + const onSinglePageSelectAll = (e: MouseEvent) => { + e.stopPropagation() - handleBulkSelection({ - action: areOptionsSelected - ? BulkSelectionEvents.CLEAR_ALL_SELECTIONS - : BulkSelectionEvents.SELECT_ALL_ON_PAGE, - }) - } + handleBulkSelection({ + action: areOptionsSelected + ? BulkSelectionEvents.CLEAR_ALL_SELECTIONS + : BulkSelectionEvents.SELECT_ALL_ON_PAGE, + }) + } - const shouldWrapActionMenu = !selectAllIfNotPaginated || showPagination + const shouldWrapActionMenu = !selectAllIfNotPaginated || showPagination - const wrapWithActionMenu = (children: React.ReactElement) => ( - - {children} - - ) + const wrapWithActionMenu = (children: React.ReactElement) => ( + + {children} + + ) - return ( - -
- + return ( + +
+ - {showChevronDownIcon && } -
-
- ) - }, -) + {showChevronDownIcon && } +
+
+ ) +} export default BulkSelection diff --git a/src/Shared/Components/BulkSelection/types.tsx b/src/Shared/Components/BulkSelection/types.tsx index 7883e1a06..91118fb58 100644 --- a/src/Shared/Components/BulkSelection/types.tsx +++ b/src/Shared/Components/BulkSelection/types.tsx @@ -14,6 +14,8 @@ * limitations under the License. */ +import { type Ref } from 'react' + import { CHECKBOX_VALUE } from '../../../Common' export enum BulkSelectionEvents { @@ -58,6 +60,7 @@ export interface BulkSelectionProps { * Will act as checkbox instead of opening up popup if list is not paginated */ selectAllIfNotPaginated?: boolean + ref?: Ref } export enum SelectAllDialogStatus { diff --git a/src/Shared/Components/Button/Button.component.tsx b/src/Shared/Components/Button/Button.component.tsx index f513af1fb..610d45fbd 100644 --- a/src/Shared/Components/Button/Button.component.tsx +++ b/src/Shared/Components/Button/Button.component.tsx @@ -14,7 +14,7 @@ * limitations under the License. */ -import { forwardRef, MutableRefObject, PropsWithChildren, useCallback, useEffect, useRef, useState } from 'react' +import { MutableRefObject, PropsWithChildren, useCallback, useEffect, useRef, useState } from 'react' import { Link } from 'react-router-dom' import { Progressing } from '@Common/Progressing' @@ -26,96 +26,99 @@ import { getButtonDerivedClass, getButtonIconClassName, getButtonLoaderSize } fr import './button.scss' -const ButtonElement = forwardRef< - HTMLButtonElement | HTMLAnchorElement, - PropsWithChildren< - Omit< - ButtonProps, - | 'text' - | 'variant' - | 'size' - | 'style' - | 'startIcon' - | 'endIcon' - | 'showTooltip' - | 'tooltipProps' - | 'dataTestId' - | 'isLoading' - | 'ariaLabel' - | 'showAriaLabelInTippy' - > & { - className: string - 'data-testid': ButtonProps['dataTestId'] - 'aria-label': ButtonProps['ariaLabel'] - elementRef: MutableRefObject - } - > ->( - ( - { component = ButtonComponentType.button, anchorProps, linkProps, buttonProps, onClick, elementRef, ...props }, - forwardedRef, - ) => { - // Added the specific class to ensure that the link override is applied - const linkOrAnchorClassName = `${props.className} button__link ${props.disabled ? 'dc__disable-click' : ''}` +type ButtonElementProps = PropsWithChildren< + Omit< + ButtonProps, + | 'text' + | 'variant' + | 'size' + | 'style' + | 'startIcon' + | 'endIcon' + | 'showTooltip' + | 'tooltipProps' + | 'dataTestId' + | 'isLoading' + | 'ariaLabel' + | 'showAriaLabelInTippy' + > & { + className: string + 'data-testid': ButtonProps['dataTestId'] + 'aria-label': ButtonProps['ariaLabel'] + elementRef: MutableRefObject + } +> - // NOTE: If the ref callback is re-created every render (i.e., not wrapped in useCallback), - // it will be invoked on every render: first with null, then with the new node. - const refCallback = useCallback((el: HTMLButtonElement | HTMLAnchorElement) => { - if (!el) { - return - } +const ButtonElement = ({ + component = ButtonComponentType.button, + anchorProps, + linkProps, + buttonProps, + onClick, + elementRef, + ref, + ...props +}: ButtonElementProps) => { + // Added the specific class to ensure that the link override is applied + const linkOrAnchorClassName = `${props.className} button__link ${props.disabled ? 'dc__disable-click' : ''}` - // eslint-disable-next-line no-param-reassign - elementRef.current = el - - if (forwardedRef && typeof forwardedRef === 'object' && Object.hasOwn(forwardedRef, 'current')) { - // eslint-disable-next-line no-param-reassign - forwardedRef.current = el - } else if (typeof forwardedRef === 'function') { - forwardedRef(el) - } - }, []) - - if (component === ButtonComponentType.link) { - return ( - ['onClick']} - ref={refCallback} - /> - ) + // NOTE: If the ref callback is re-created every render (i.e., not wrapped in useCallback), + // it will be invoked on every render: first with null, then with the new node. + const refCallback = useCallback((el: HTMLButtonElement | HTMLAnchorElement) => { + if (!el) { + return } - if (component === ButtonComponentType.anchor) { - return ( - ['onClick']} - ref={refCallback} - > - {props.children} - - ) + // eslint-disable-next-line no-param-reassign + elementRef.current = el + + if (ref && typeof ref === 'object' && Object.hasOwn(ref, 'current')) { + // eslint-disable-next-line no-param-reassign + ;(ref as MutableRefObject).current = el + } else if (typeof ref === 'function') { + ref(el as HTMLButtonElement & HTMLAnchorElement) } + }, []) + if (component === ButtonComponentType.link) { return ( - {isCellResizable && ( -
+
From 9e8d271de86a9e4fa3ae53a6832b93566a41d00b Mon Sep 17 00:00:00 2001 From: Amrit Borah Date: Mon, 9 Mar 2026 16:42:01 +0530 Subject: [PATCH 110/134] fix: empty state --- src/Shared/Components/Table/InternalTable.tsx | 6 +++++- src/Shared/Components/Table/types.ts | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/Shared/Components/Table/InternalTable.tsx b/src/Shared/Components/Table/InternalTable.tsx index 007ab9084..b35cd5297 100644 --- a/src/Shared/Components/Table/InternalTable.tsx +++ b/src/Shared/Components/Table/InternalTable.tsx @@ -200,7 +200,11 @@ const InternalTable = < (userProvidedAreFiltersApplied !== undefined ? userProvidedAreFiltersApplied : areFiltersApplied) ? ( ) : ( diff --git a/src/Shared/Components/Table/types.ts b/src/Shared/Components/Table/types.ts index a45d2b7f8..4498584b9 100644 --- a/src/Shared/Components/Table/types.ts +++ b/src/Shared/Components/Table/types.ts @@ -291,7 +291,7 @@ export type InternalTableProps< emptyStateConfig: { noRowsConfig: Omit - noRowsForFilterConfig?: Pick & { + noRowsForFilterConfig?: Pick & { clearFilters?: () => void } } From a4ad1bd9f6bb7bb3e7555236cd4855d0d91987fd Mon Sep 17 00:00:00 2001 From: Amrit Borah Date: Tue, 10 Mar 2026 17:59:34 +0530 Subject: [PATCH 111/134] fix: bulk and start icon clash --- src/Shared/Components/Table/TableContent.tsx | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/Shared/Components/Table/TableContent.tsx b/src/Shared/Components/Table/TableContent.tsx index d12cd8831..6de8ff366 100644 --- a/src/Shared/Components/Table/TableContent.tsx +++ b/src/Shared/Components/Table/TableContent.tsx @@ -154,7 +154,7 @@ const TableContent = < : initialGridTemplateColumns const gridTemplateColumns = - isAnyRowExpandable || rowStartIconConfig + (isAnyRowExpandable || rowStartIconConfig) && !isBulkSelectionConfigured ? `${ACTION_GUTTER_SIZE}px ${gridTemplateColumnsWithoutExpandButton}` : gridTemplateColumnsWithoutExpandButton @@ -452,7 +452,10 @@ const TableContent = < const { className: stickyClassName = '', left: stickyLeftValue = '' } = horizontallySticky ? getStickyColumnConfig( gridTemplateColumns, - index + (isAnyRowExpandable || rowStartIconConfig ? 1 : 0), + index + + ((isAnyRowExpandable || rowStartIconConfig) && !isBulkSelectionConfigured + ? 1 + : 0), ) : {} @@ -573,7 +576,7 @@ const TableContent = <
) : null} - {!isAnyRowExpandable && rowStartIconConfig &&
} + {!isAnyRowExpandable && rowStartIconConfig && !isBulkSelectionConfigured &&
} {visibleColumns.map( ( From 05f6ee739656134e2d2a136771d6df7f5373985f Mon Sep 17 00:00:00 2001 From: Amrit Borah Date: Thu, 12 Mar 2026 12:14:02 +0530 Subject: [PATCH 112/134] chore: bump version --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index f80fd0f71..eb5245bdb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.23.3-alpha-1", + "version": "1.23.3-alpha-2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.23.3-alpha-1", + "version": "1.23.3-alpha-2", "hasInstallScript": true, "license": "ISC", "dependencies": { diff --git a/package.json b/package.json index 0956082eb..0b542367f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.23.3-alpha-1", + "version": "1.23.3-alpha-2", "description": "Supporting common component library", "type": "module", "main": "dist/index.js", From 9b0a35e17d82221a4bdce1ecb08dac016b85a0cd Mon Sep 17 00:00:00 2001 From: AbhishekA1509 Date: Thu, 12 Mar 2026 12:32:34 +0530 Subject: [PATCH 113/134] fix: prevent null date handling in handleSingleDateSelect of DateTimePicker --- src/Shared/Components/DatePicker/DateTimePicker.tsx | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/Shared/Components/DatePicker/DateTimePicker.tsx b/src/Shared/Components/DatePicker/DateTimePicker.tsx index 233663eee..934005faa 100644 --- a/src/Shared/Components/DatePicker/DateTimePicker.tsx +++ b/src/Shared/Components/DatePicker/DateTimePicker.tsx @@ -126,7 +126,11 @@ const DateTimePicker = ({ const handleSingleDateSelect: OnSelectHandler = (date) => { if (!isDateUpdateRange(isRangePicker, onChange)) { - const updatedDate = date ? updateDate(dateObject, date) : null + if (!date) { + return + } + + const updatedDate = updateDate(dateObject, date) onChange(updatedDate) } } From 7f58c54045a134a10151838fa0d78e4240fc892f Mon Sep 17 00:00:00 2001 From: Arun Jain Date: Thu, 12 Mar 2026 13:06:38 +0530 Subject: [PATCH 114/134] chore: version bump --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index b5d141102..cb0902db1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.23.3-alpha-2", + "version": "1.23.3-beta-1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.23.3-alpha-2", + "version": "1.23.3-beta-1", "hasInstallScript": true, "license": "ISC", "dependencies": { diff --git a/package.json b/package.json index 131f99e69..177c25243 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.23.3-alpha-2", + "version": "1.23.3-beta-1", "description": "Supporting common component library", "type": "module", "main": "dist/index.js", From 38297fc709def3e18779eb007b629ea405e502c6 Mon Sep 17 00:00:00 2001 From: AbhishekA1509 Date: Mon, 16 Mar 2026 12:26:15 +0530 Subject: [PATCH 115/134] chore: bump version to 1.23.3-beta-2 in package.json and package-lock.json --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index cb0902db1..2075ed55c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.23.3-beta-1", + "version": "1.23.3-beta-2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.23.3-beta-1", + "version": "1.23.3-beta-2", "hasInstallScript": true, "license": "ISC", "dependencies": { diff --git a/package.json b/package.json index 177c25243..5a81c6228 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.23.3-beta-1", + "version": "1.23.3-beta-2", "description": "Supporting common component library", "type": "module", "main": "dist/index.js", From 1bb2693df641f161d65c867a1b72a5ca32cfd11b Mon Sep 17 00:00:00 2001 From: AbhishekA1509 Date: Mon, 16 Mar 2026 18:28:50 +0530 Subject: [PATCH 116/134] chore: bump version to 1.23.3-beta-3 in package.json and package-lock.json; refactor InternalTable component for cleaner handleClearFilters logic --- package-lock.json | 4 ++-- package.json | 2 +- src/Shared/Components/Table/InternalTable.tsx | 5 ++--- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index 2075ed55c..6b48ee2ab 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.23.3-beta-2", + "version": "1.23.3-beta-3", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.23.3-beta-2", + "version": "1.23.3-beta-3", "hasInstallScript": true, "license": "ISC", "dependencies": { diff --git a/package.json b/package.json index 5a81c6228..1452bbf59 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.23.3-beta-2", + "version": "1.23.3-beta-3", "description": "Supporting common component library", "type": "module", "main": "dist/index.js", diff --git a/src/Shared/Components/Table/InternalTable.tsx b/src/Shared/Components/Table/InternalTable.tsx index b35cd5297..bae8902a5 100644 --- a/src/Shared/Components/Table/InternalTable.tsx +++ b/src/Shared/Components/Table/InternalTable.tsx @@ -201,9 +201,8 @@ const InternalTable = < ) : ( From 0d0d9cfd5793105557335b790c2142d9f28a5446 Mon Sep 17 00:00:00 2001 From: AbhishekA1509 Date: Wed, 18 Mar 2026 15:27:30 +0530 Subject: [PATCH 117/134] feat: add openPopover function to usePopover hook and integrate with GroupedFilterSelectPicker --- src/Shared/Components/Popover/types.ts | 4 + .../Components/Popover/usePopover.hook.ts | 7 +- .../GroupedFilterSelectPicker.tsx | 95 ++++++++++++++++--- src/Shared/Components/SelectPicker/type.ts | 29 +++++- src/Shared/Components/Table/InternalTable.tsx | 5 +- 5 files changed, 116 insertions(+), 24 deletions(-) diff --git a/src/Shared/Components/Popover/types.ts b/src/Shared/Components/Popover/types.ts index f224838d1..6909ecb42 100644 --- a/src/Shared/Components/Popover/types.ts +++ b/src/Shared/Components/Popover/types.ts @@ -115,6 +115,10 @@ export interface UsePopoverReturnType { * A function to close the popover. */ closePopover: () => void + /** + * A function to open the popover. + */ + openPopover: () => void } export type PopoverProps = Pick & { diff --git a/src/Shared/Components/Popover/usePopover.hook.ts b/src/Shared/Components/Popover/usePopover.hook.ts index 885138b16..66039ae7a 100644 --- a/src/Shared/Components/Popover/usePopover.hook.ts +++ b/src/Shared/Components/Popover/usePopover.hook.ts @@ -65,6 +65,10 @@ export const usePopover = ({ updateOpenState(!open) } + const openPopover = () => { + updateOpenState(true) + } + const closePopover = () => { if (disableClose) { return @@ -141,7 +145,7 @@ export const usePopover = ({ // eslint-disable-next-line consistent-return return () => { - scrollableRef.current.removeEventListener('wheel', handleWheel) + scrollableRef.current?.removeEventListener('wheel', handleWheel) window.removeEventListener('resize', updatePopoverPosition) } }, [open, position, alignment, isBackdropMounted]) @@ -181,5 +185,6 @@ export const usePopover = ({ }, scrollableRef, closePopover, + openPopover, } } diff --git a/src/Shared/Components/SelectPicker/GroupedFilterSelectPicker.tsx b/src/Shared/Components/SelectPicker/GroupedFilterSelectPicker.tsx index aad328598..00e25303b 100644 --- a/src/Shared/Components/SelectPicker/GroupedFilterSelectPicker.tsx +++ b/src/Shared/Components/SelectPicker/GroupedFilterSelectPicker.tsx @@ -14,14 +14,15 @@ * limitations under the License. */ -import { KeyboardEvent, useEffect, useRef, useState } from 'react' +import { KeyboardEvent, useEffect, useMemo, useRef, useState } from 'react' import { useRegisterShortcut } from '@Common/Hooks' import { ActionMenu, ActionMenuItemType, ActionMenuProps } from '../ActionMenu' import { Icon } from '../Icon' +import { Popover, usePopover } from '../Popover' import FilterSelectPicker from './FilterSelectPicker' -import { GroupedFilterSelectPickerProps } from './type' +import { FilterSelectPickerMapSelectPickerVariant, GroupedFilterSelectPickerProps } from './type' import './selectPicker.scss' @@ -41,6 +42,29 @@ export const GroupedFilterSelectPicker = ({ // HOOKS const { registerShortcut, unregisterShortcut } = useRegisterShortcut() + const selectedItemConfig = selectedActionMenuItem ? filterSelectPickerPropsMap[selectedActionMenuItem] : null + const isPopOverVariant = selectedItemConfig?.variant === 'popOver' + + const { + open: isFilterPopoverOpen, + triggerProps: filterPopoverTriggerProps, + overlayProps: filterPopoverOverlayProps, + popoverProps: filterPopoverContentProps, + openPopover: openFilterPopover, + closePopover: closeFilterPopover, + scrollableRef: filterPopoverScrollableRef, + } = usePopover({ + id: `${id}-grouped-filter-popover`, + position: isPopOverVariant ? selectedItemConfig.popoverConfig?.position : undefined, + alignment: isPopOverVariant ? selectedItemConfig.popoverConfig?.alignment : undefined, + width: isPopOverVariant ? selectedItemConfig.popoverConfig?.width : undefined, + onOpen: (open) => { + if (!open) { + setSelectedActionMenuItem(null) + } + }, + }) + useEffect(() => { const shortcutCallback = () => { triggerButtonRef.current?.click() @@ -60,6 +84,12 @@ export const GroupedFilterSelectPicker = ({ } }, [selectedActionMenuItem]) + useEffect(() => { + if (selectedActionMenuItem && isPopOverVariant) { + openFilterPopover() + } + }, [selectedActionMenuItem]) + // HANDLERS const handleMenuItemClick: ActionMenuProps['onClick'] = (item) => { setSelectedActionMenuItem(item.id) @@ -76,18 +106,8 @@ export const GroupedFilterSelectPicker = ({ } } - return selectedActionMenuItem ? ( -
- -
- ) : ( - + const filterTriggerButton = useMemo( + () => ( - + ), + [isFilterApplied], ) + + const renderContent = () => { + if (selectedActionMenuItem && isPopOverVariant) { + return ( + + {selectedItemConfig.component(closeFilterPopover, filterPopoverScrollableRef)} + + ) + } + + if (selectedActionMenuItem) { + const config = filterSelectPickerPropsMap[selectedActionMenuItem] + if (config.variant !== 'popOver') { + // eslint-disable-next-line @typescript-eslint/no-unused-vars + const { variant: _variant, ...filterProps } = config as FilterSelectPickerMapSelectPickerVariant + return ( +
+ +
+ ) + } + } + + return ( + + {filterTriggerButton} + + ) + } + + return
{renderContent()}
} diff --git a/src/Shared/Components/SelectPicker/type.ts b/src/Shared/Components/SelectPicker/type.ts index e09ce9ee4..f5fac54c6 100644 --- a/src/Shared/Components/SelectPicker/type.ts +++ b/src/Shared/Components/SelectPicker/type.ts @@ -14,7 +14,7 @@ * limitations under the License. */ -import { MutableRefObject, ReactElement, ReactNode } from 'react' +import { LegacyRef, MutableRefObject, ReactElement, ReactNode } from 'react' import { GroupBase, GroupHeadingProps, Props as ReactSelectProps, SelectInstance } from 'react-select' // This import allows to extend the base interface in react-select module via module augmentation import type {} from 'react-select/base' @@ -29,6 +29,7 @@ import { ComponentSizeType } from '@Shared/constants' import { ActionMenuProps } from '../ActionMenu' import { ButtonComponentType, ButtonProps, ButtonVariantType } from '../Button' import { FormFieldWrapperProps } from '../FormFieldWrapper/types' +import { UsePopoverProps } from '../Popover' export interface SelectPickerOptionType extends OptionType { @@ -373,14 +374,32 @@ export type SelectPickerTextAreaProps = Omit< > & Pick +export type FilterSelectPickerMapSelectPickerVariant = { + variant?: 'selectPicker' +} & Omit + +type FilterSelectPickerMapPopOverVariant = { + variant: 'popOver' + /** + * Component rendered inside the Popover. + * Receives `closePopover` as a prop to allow programmatic closing. + */ + component: (closePopover: () => void, scrollableRef: MutableRefObject | LegacyRef) => ReactElement + /** + * Optional positioning config forwarded to usePopover + */ + popoverConfig?: Pick +} + +export type GroupedFilterSelectPickerMapValue = + | FilterSelectPickerMapSelectPickerVariant + | FilterSelectPickerMapPopOverVariant + export interface GroupedFilterSelectPickerProps extends Omit< ActionMenuProps, 'onClick' | 'disableDescriptionEllipsis' | 'children' | 'buttonProps' | 'isSearchable' > { isFilterApplied?: boolean - filterSelectPickerPropsMap: Record< - T, - Omit - > + filterSelectPickerPropsMap: Record } diff --git a/src/Shared/Components/Table/InternalTable.tsx b/src/Shared/Components/Table/InternalTable.tsx index b35cd5297..bae8902a5 100644 --- a/src/Shared/Components/Table/InternalTable.tsx +++ b/src/Shared/Components/Table/InternalTable.tsx @@ -201,9 +201,8 @@ const InternalTable = < ) : ( From 710a71fa7a47fda8a1a15f4456371e1e14b038a5 Mon Sep 17 00:00:00 2001 From: AbhishekA1509 Date: Wed, 18 Mar 2026 15:32:46 +0530 Subject: [PATCH 118/134] chore: update version from 1.23.3-alpha-2 to 1.23.3-beta-4 in package.json and package-lock.json --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index eb5245bdb..ffce5cefa 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.23.3-alpha-2", + "version": "1.23.3-beta-4", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.23.3-alpha-2", + "version": "1.23.3-beta-4", "hasInstallScript": true, "license": "ISC", "dependencies": { diff --git a/package.json b/package.json index 0b542367f..8c4c04f4c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.23.3-alpha-2", + "version": "1.23.3-beta-4", "description": "Supporting common component library", "type": "module", "main": "dist/index.js", From 7dd821932dd2ea126907c9bedd74cb49abfb66c8 Mon Sep 17 00:00:00 2001 From: Arun Jain Date: Thu, 19 Mar 2026 13:55:32 +0530 Subject: [PATCH 119/134] chore: update vite plugins --- package-lock.json | 30 +++++++++++++++--------------- package.json | 2 +- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/package-lock.json b/package-lock.json index 6b48ee2ab..a4342b807 100644 --- a/package-lock.json +++ b/package-lock.json @@ -67,7 +67,7 @@ "@types/react-dom": "^19.2.3", "@typescript-eslint/eslint-plugin": "8.3.0", "@typescript-eslint/parser": "8.3.0", - "@vitejs/plugin-react": "4.5.2", + "@vitejs/plugin-react": "5.1.0", "eslint": "^8.57.1", "eslint-config-airbnb": "^19.0.4", "eslint-config-prettier": "^9.1.0", @@ -2841,9 +2841,9 @@ } }, "node_modules/@rolldown/pluginutils": { - "version": "1.0.0-beta.11", - "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.11.tgz", - "integrity": "sha512-L/gAA/hyCSuzTF1ftlzUSI/IKr2POHsv1Dd78GfqkR83KMNuswWD61JxGV2L7nRwBBBSDr6R1gCkdTmoN7W4ag==", + "version": "1.0.0-beta.43", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.43.tgz", + "integrity": "sha512-5Uxg7fQUCmfhax7FJke2+8B6cqgeUJUD9o2uXIKXhD+mG0mL6NObmVoi9wXEU1tY89mZKgAYA6fTbftx3q2ZPQ==", "dev": true, "license": "MIT" }, @@ -5197,24 +5197,24 @@ ] }, "node_modules/@vitejs/plugin-react": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.5.2.tgz", - "integrity": "sha512-QNVT3/Lxx99nMQWJWF7K4N6apUEuT0KlZA3mx/mVaoGj3smm/8rc8ezz15J1pcbcjDK0V15rpHetVfya08r76Q==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-5.1.0.tgz", + "integrity": "sha512-4LuWrg7EKWgQaMJfnN+wcmbAW+VSsCmqGohftWjuct47bv8uE4n/nPpq4XjJPsxgq00GGG5J8dvBczp8uxScew==", "dev": true, "license": "MIT", "dependencies": { - "@babel/core": "^7.27.4", + "@babel/core": "^7.28.4", "@babel/plugin-transform-react-jsx-self": "^7.27.1", "@babel/plugin-transform-react-jsx-source": "^7.27.1", - "@rolldown/pluginutils": "1.0.0-beta.11", + "@rolldown/pluginutils": "1.0.0-beta.43", "@types/babel__core": "^7.20.5", - "react-refresh": "^0.17.0" + "react-refresh": "^0.18.0" }, "engines": { - "node": "^14.18.0 || >=16.0.0" + "node": "^20.19.0 || >=22.12.0" }, "peerDependencies": { - "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0-beta.0" + "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0" } }, "node_modules/@volar/language-core": { @@ -12291,9 +12291,9 @@ } }, "node_modules/react-refresh": { - "version": "0.17.0", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.17.0.tgz", - "integrity": "sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.18.0.tgz", + "integrity": "sha512-QgT5//D3jfjJb6Gsjxv0Slpj23ip+HtOpnNgnb2S5zU3CB26G/IDPGoy4RJB42wzFE46DRsstbW6tKHoKbhAxw==", "dev": true, "license": "MIT", "engines": { diff --git a/package.json b/package.json index 1452bbf59..ee871a059 100644 --- a/package.json +++ b/package.json @@ -53,7 +53,7 @@ "@types/react-dom": "^19.2.3", "@typescript-eslint/eslint-plugin": "8.3.0", "@typescript-eslint/parser": "8.3.0", - "@vitejs/plugin-react": "4.5.2", + "@vitejs/plugin-react": "5.1.0", "eslint": "^8.57.1", "eslint-config-airbnb": "^19.0.4", "eslint-config-prettier": "^9.1.0", From aa23c9c01a6e818df25d9893b4c2dc5c5a572e5e Mon Sep 17 00:00:00 2001 From: Arun Jain Date: Thu, 19 Mar 2026 13:45:52 +0530 Subject: [PATCH 120/134] chore: update vite dependencies --- package-lock.json | 2394 +++++++++++++++++++-------------------------- package.json | 6 +- 2 files changed, 1010 insertions(+), 1390 deletions(-) diff --git a/package-lock.json b/package-lock.json index a4342b807..54b1fa45f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -54,7 +54,7 @@ }, "devDependencies": { "@esbuild-plugins/node-globals-polyfill": "0.2.3", - "@laynezh/vite-plugin-lib-assets": "1.1.0", + "@laynezh/vite-plugin-lib-assets": "2.2.0", "@sentry/browser": "^7.119.1", "@tanstack/eslint-plugin-query": "^5.91.4", "@tanstack/react-query-devtools": "^5.91.3", @@ -91,7 +91,7 @@ "sharp": "^0.33.5", "svgo": "^3.3.2", "typescript": "5.5.4", - "vite": "6.3.5", + "vite": "^7.3.0", "vite-plugin-dts": "4.5.4", "vite-plugin-lib-inject-css": "2.1.1", "vite-plugin-svgr": "^2.4.0", @@ -172,6 +172,9 @@ "arm64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -189,6 +192,9 @@ "x64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -206,6 +212,9 @@ "x64" ], "dev": true, + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ @@ -453,23 +462,23 @@ } }, "node_modules/@babel/helpers": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.6.tgz", - "integrity": "sha512-xOBvwq86HHdB7WUDTfKfT/Vuxh7gElQ+Sfti2Cy6yIWNW05P8iUslOVcZ4/sKbE+/jQaukQAdz/gf3724kYdqw==", + "version": "7.29.2", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.29.2.tgz", + "integrity": "sha512-HoGuUs4sCZNezVEKdVcwqmZN8GoHirLUcLaYVNBK2J0DadGtdcqgr3BCbvH8+XUo4NGjNl3VOtSjEKNzqfFgKw==", "dev": true, "license": "MIT", "dependencies": { "@babel/template": "^7.28.6", - "@babel/types": "^7.28.6" + "@babel/types": "^7.29.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/parser": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.0.tgz", - "integrity": "sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==", + "version": "7.29.2", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.2.tgz", + "integrity": "sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA==", "license": "MIT", "dependencies": { "@babel/types": "^7.29.0" @@ -514,9 +523,9 @@ } }, "node_modules/@babel/runtime": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.6.tgz", - "integrity": "sha512-05WQkdpL9COIMz4LjTxGpPNCdlpyimKppYNoJ5Di5EUObifl8t4tuLuUBBZEpoLYOmfvIWrsp9fCl0HoPRVTdA==", + "version": "7.29.2", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.29.2.tgz", + "integrity": "sha512-JiDShH45zKHWyGe4ZNVRrCjBz8Nh9TMmZG1kh4QTK8hCBTWBi8Da+i7s1fJw7/lYpM4ccepSNfqzZ/QvABBi5g==", "license": "MIT", "engines": { "node": ">=6.9.0" @@ -580,13 +589,13 @@ } }, "node_modules/@codemirror/commands": { - "version": "6.10.2", - "resolved": "https://registry.npmjs.org/@codemirror/commands/-/commands-6.10.2.tgz", - "integrity": "sha512-vvX1fsih9HledO1c9zdotZYUZnE4xV0m6i3m25s5DIfXofuprk6cRcLUZvSk3CASUbwjQX21tOGbkY2BH8TpnQ==", + "version": "6.10.3", + "resolved": "https://registry.npmjs.org/@codemirror/commands/-/commands-6.10.3.tgz", + "integrity": "sha512-JFRiqhKu+bvSkDLI+rUhJwSxQxYb759W5GBezE8Uc8mHLqC9aV/9aTC7yJSqCtB3F00pylrLCwnyS91Ap5ej4Q==", "license": "MIT", "dependencies": { "@codemirror/language": "^6.0.0", - "@codemirror/state": "^6.4.0", + "@codemirror/state": "^6.6.0", "@codemirror/view": "^6.27.0", "@lezer/common": "^1.1.0" } @@ -651,9 +660,9 @@ } }, "node_modules/@codemirror/merge": { - "version": "6.11.2", - "resolved": "https://registry.npmjs.org/@codemirror/merge/-/merge-6.11.2.tgz", - "integrity": "sha512-NO5EJd2rLRbwVWLgMdhIntDIhfDtMOKYEZgqV5WnkNUS2oXOCVWLPjG/kgl/Jth2fGiOuG947bteqxP9nBXmMg==", + "version": "6.12.1", + "resolved": "https://registry.npmjs.org/@codemirror/merge/-/merge-6.12.1.tgz", + "integrity": "sha512-GA8hBq2T+IFM0sb5fk8CunTrqOulA3zurJmHtzcU15EMnL8aYpVINfJ5bkfd53M4ikwoew4Y1ydtSaAlk6+B1w==", "license": "MIT", "dependencies": { "@codemirror/language": "^6.0.0", @@ -675,9 +684,9 @@ } }, "node_modules/@codemirror/state": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/@codemirror/state/-/state-6.5.4.tgz", - "integrity": "sha512-8y7xqG/hpB53l25CIoit9/ngxdfoG+fx+V3SHBrinnhOtLvKHRyAJJuHzkWrR4YXXLX8eXBsejgAAxHUOdW1yw==", + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/@codemirror/state/-/state-6.6.0.tgz", + "integrity": "sha512-4nbvra5R5EtiCzr9BTHiTLc+MLXK2QGiAVYMyi8PkQd3SR+6ixar/Q/01Fa21TBIDOZXgeWV4WppsQolSreAPQ==", "license": "MIT", "dependencies": { "@marijn/find-cluster-break": "^1.0.0" @@ -696,12 +705,12 @@ } }, "node_modules/@codemirror/view": { - "version": "6.39.14", - "resolved": "https://registry.npmjs.org/@codemirror/view/-/view-6.39.14.tgz", - "integrity": "sha512-WJcvgHm/6Q7dvGT0YFv/6PSkoc36QlR0VCESS6x9tGsnF1lWLmmYxOgX3HH6v8fo6AvSLgpcs+H0Olre6MKXlg==", + "version": "6.40.0", + "resolved": "https://registry.npmjs.org/@codemirror/view/-/view-6.40.0.tgz", + "integrity": "sha512-WA0zdU7xfF10+5I3HhUUq3kqOx3KjqmtQ9lqZjfK7jtYk4G72YW9rezcSywpaUMCWOMlq+6E0pO1IWg1TNIhtg==", "license": "MIT", "dependencies": { - "@codemirror/state": "^6.5.0", + "@codemirror/state": "^6.6.0", "crelt": "^1.0.6", "style-mod": "^4.1.0", "w3c-keyname": "^2.2.4" @@ -720,21 +729,21 @@ "license": "MIT" }, "node_modules/@emnapi/core": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.8.1.tgz", - "integrity": "sha512-AvT9QFpxK0Zd8J0jopedNm+w/2fIzvtPKPjqyw9jwvBaReTTqPBk9Hixaz7KbjimP+QNz605/XnjFcDAL2pqBg==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.9.0.tgz", + "integrity": "sha512-0DQ98G9ZQZOxfUcQn1waV2yS8aWdZ6kJMbYCJB3oUBecjWYO1fqJ+a1DRfPF3O5JEkwqwP1A9QEN/9mYm2Yd0w==", "dev": true, "license": "MIT", "optional": true, "dependencies": { - "@emnapi/wasi-threads": "1.1.0", + "@emnapi/wasi-threads": "1.2.0", "tslib": "^2.4.0" } }, "node_modules/@emnapi/runtime": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.8.1.tgz", - "integrity": "sha512-mehfKSMWjjNol8659Z8KxEMrdSJDDot5SXMq00dM8BN4o+CLNXQ0xH2V7EchNHV4RmbZLmmPdEaXZc5H2FXmDg==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.9.0.tgz", + "integrity": "sha512-QN75eB0IH2ywSpRpNddCRfQIhmJYBCJ1x5Lb3IscKAL8bMnVAKnRg8dCoXbHzVLLH7P38N2Z3mtulB7W0J0FKw==", "dev": true, "license": "MIT", "optional": true, @@ -743,9 +752,9 @@ } }, "node_modules/@emnapi/wasi-threads": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.1.0.tgz", - "integrity": "sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.0.tgz", + "integrity": "sha512-N10dEJNSsUx41Z6pZsXU8FjPjpBEplgH24sfkmITrBED1/U2Esum9F3lfLrMjKHHjmi557zQn7kR9R+XWXu5Rg==", "dev": true, "license": "MIT", "optional": true, @@ -773,13 +782,6 @@ "stylis": "4.2.0" } }, - "node_modules/@emotion/babel-plugin/node_modules/@emotion/memoize": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.9.0.tgz", - "integrity": "sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ==", - "license": "MIT", - "peer": true - }, "node_modules/@emotion/babel-plugin/node_modules/convert-source-map": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", @@ -801,13 +803,6 @@ "stylis": "4.2.0" } }, - "node_modules/@emotion/cache/node_modules/@emotion/memoize": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.9.0.tgz", - "integrity": "sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ==", - "license": "MIT", - "peer": true - }, "node_modules/@emotion/hash": { "version": "0.9.2", "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.2.tgz", @@ -815,23 +810,11 @@ "license": "MIT", "peer": true }, - "node_modules/@emotion/is-prop-valid": { - "version": "0.8.8", - "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-0.8.8.tgz", - "integrity": "sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA==", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "@emotion/memoize": "0.7.4" - } - }, "node_modules/@emotion/memoize": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.4.tgz", - "integrity": "sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==", + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.9.0.tgz", + "integrity": "sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ==", "license": "MIT", - "optional": true, "peer": true }, "node_modules/@emotion/react": { @@ -873,13 +856,6 @@ "csstype": "^3.0.2" } }, - "node_modules/@emotion/serialize/node_modules/@emotion/memoize": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.9.0.tgz", - "integrity": "sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ==", - "license": "MIT", - "peer": true - }, "node_modules/@emotion/sheet": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.4.0.tgz", @@ -929,9 +905,9 @@ } }, "node_modules/@esbuild/aix-ppc64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.3.tgz", - "integrity": "sha512-9fJMTNFTWZMh5qwrBItuziu834eOCUcEqymSH7pY+zoMVEZg3gcPuBNxH1EvfVYe9h0x/Ptw8KBzv7qxb7l8dg==", + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.4.tgz", + "integrity": "sha512-cQPwL2mp2nSmHHJlCyoXgHGhbEPMrEEU5xhkcy3Hs/O7nGZqEpZ2sUtLaL9MORLtDfRvVl2/3PAuEkYZH0Ty8Q==", "cpu": [ "ppc64" ], @@ -941,15 +917,14 @@ "os": [ "aix" ], - "peer": true, "engines": { "node": ">=18" } }, "node_modules/@esbuild/android-arm": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.3.tgz", - "integrity": "sha512-i5D1hPY7GIQmXlXhs2w8AWHhenb00+GxjxRncS2ZM7YNVGNfaMxgzSGuO8o8SJzRc/oZwU2bcScvVERk03QhzA==", + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.4.tgz", + "integrity": "sha512-X9bUgvxiC8CHAGKYufLIHGXPJWnr0OCdR0anD2e21vdvgCI8lIfqFbnoeOz7lBjdrAGUhqLZLcQo6MLhTO2DKQ==", "cpu": [ "arm" ], @@ -959,15 +934,14 @@ "os": [ "android" ], - "peer": true, "engines": { "node": ">=18" } }, "node_modules/@esbuild/android-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.3.tgz", - "integrity": "sha512-YdghPYUmj/FX2SYKJ0OZxf+iaKgMsKHVPF1MAq/P8WirnSpCStzKJFjOjzsW0QQ7oIAiccHdcqjbHmJxRb/dmg==", + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.4.tgz", + "integrity": "sha512-gdLscB7v75wRfu7QSm/zg6Rx29VLdy9eTr2t44sfTW7CxwAtQghZ4ZnqHk3/ogz7xao0QAgrkradbBzcqFPasw==", "cpu": [ "arm64" ], @@ -977,15 +951,14 @@ "os": [ "android" ], - "peer": true, "engines": { "node": ">=18" } }, "node_modules/@esbuild/android-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.3.tgz", - "integrity": "sha512-IN/0BNTkHtk8lkOM8JWAYFg4ORxBkZQf9zXiEOfERX/CzxW3Vg1ewAhU7QSWQpVIzTW+b8Xy+lGzdYXV6UZObQ==", + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.4.tgz", + "integrity": "sha512-PzPFnBNVF292sfpfhiyiXCGSn9HZg5BcAz+ivBuSsl6Rk4ga1oEXAamhOXRFyMcjwr2DVtm40G65N3GLeH1Lvw==", "cpu": [ "x64" ], @@ -995,15 +968,14 @@ "os": [ "android" ], - "peer": true, "engines": { "node": ">=18" } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.3.tgz", - "integrity": "sha512-Re491k7ByTVRy0t3EKWajdLIr0gz2kKKfzafkth4Q8A5n1xTHrkqZgLLjFEHVD+AXdUGgQMq+Godfq45mGpCKg==", + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.4.tgz", + "integrity": "sha512-b7xaGIwdJlht8ZFCvMkpDN6uiSmnxxK56N2GDTMYPr2/gzvfdQN8rTfBsvVKmIVY/X7EM+/hJKEIbbHs9oA4tQ==", "cpu": [ "arm64" ], @@ -1013,15 +985,14 @@ "os": [ "darwin" ], - "peer": true, "engines": { "node": ">=18" } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.3.tgz", - "integrity": "sha512-vHk/hA7/1AckjGzRqi6wbo+jaShzRowYip6rt6q7VYEDX4LEy1pZfDpdxCBnGtl+A5zq8iXDcyuxwtv3hNtHFg==", + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.4.tgz", + "integrity": "sha512-sR+OiKLwd15nmCdqpXMnuJ9W2kpy0KigzqScqHI3Hqwr7IXxBp3Yva+yJwoqh7rE8V77tdoheRYataNKL4QrPw==", "cpu": [ "x64" ], @@ -1031,15 +1002,14 @@ "os": [ "darwin" ], - "peer": true, "engines": { "node": ">=18" } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.3.tgz", - "integrity": "sha512-ipTYM2fjt3kQAYOvo6vcxJx3nBYAzPjgTCk7QEgZG8AUO3ydUhvelmhrbOheMnGOlaSFUoHXB6un+A7q4ygY9w==", + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.4.tgz", + "integrity": "sha512-jnfpKe+p79tCnm4GVav68A7tUFeKQwQyLgESwEAUzyxk/TJr4QdGog9sqWNcUbr/bZt/O/HXouspuQDd9JxFSw==", "cpu": [ "arm64" ], @@ -1049,15 +1019,14 @@ "os": [ "freebsd" ], - "peer": true, "engines": { "node": ">=18" } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.3.tgz", - "integrity": "sha512-dDk0X87T7mI6U3K9VjWtHOXqwAMJBNN2r7bejDsc+j03SEjtD9HrOl8gVFByeM0aJksoUuUVU9TBaZa2rgj0oA==", + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.4.tgz", + "integrity": "sha512-2kb4ceA/CpfUrIcTUl1wrP/9ad9Atrp5J94Lq69w7UwOMolPIGrfLSvAKJp0RTvkPPyn6CIWrNy13kyLikZRZQ==", "cpu": [ "x64" ], @@ -1067,15 +1036,14 @@ "os": [ "freebsd" ], - "peer": true, "engines": { "node": ">=18" } }, "node_modules/@esbuild/linux-arm": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.3.tgz", - "integrity": "sha512-s6nPv2QkSupJwLYyfS+gwdirm0ukyTFNl3KTgZEAiJDd+iHZcbTPPcWCcRYH+WlNbwChgH2QkE9NSlNrMT8Gfw==", + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.4.tgz", + "integrity": "sha512-aBYgcIxX/wd5n2ys0yESGeYMGF+pv6g0DhZr3G1ZG4jMfruU9Tl1i2Z+Wnj9/KjGz1lTLCcorqE2viePZqj4Eg==", "cpu": [ "arm" ], @@ -1085,15 +1053,14 @@ "os": [ "linux" ], - "peer": true, "engines": { "node": ">=18" } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.3.tgz", - "integrity": "sha512-sZOuFz/xWnZ4KH3YfFrKCf1WyPZHakVzTiqji3WDc0BCl2kBwiJLCXpzLzUBLgmp4veFZdvN5ChW4Eq/8Fc2Fg==", + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.4.tgz", + "integrity": "sha512-7nQOttdzVGth1iz57kxg9uCz57dxQLHWxopL6mYuYthohPKEK0vU0C3O21CcBK6KDlkYVcnDXY099HcCDXd9dA==", "cpu": [ "arm64" ], @@ -1103,15 +1070,14 @@ "os": [ "linux" ], - "peer": true, "engines": { "node": ">=18" } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.3.tgz", - "integrity": "sha512-yGlQYjdxtLdh0a3jHjuwOrxQjOZYD/C9PfdbgJJF3TIZWnm/tMd/RcNiLngiu4iwcBAOezdnSLAwQDPqTmtTYg==", + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.4.tgz", + "integrity": "sha512-oPtixtAIzgvzYcKBQM/qZ3R+9TEUd1aNJQu0HhGyqtx6oS7qTpvjheIWBbes4+qu1bNlo2V4cbkISr8q6gRBFA==", "cpu": [ "ia32" ], @@ -1121,15 +1087,14 @@ "os": [ "linux" ], - "peer": true, "engines": { "node": ">=18" } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.3.tgz", - "integrity": "sha512-WO60Sn8ly3gtzhyjATDgieJNet/KqsDlX5nRC5Y3oTFcS1l0KWba+SEa9Ja1GfDqSF1z6hif/SkpQJbL63cgOA==", + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.4.tgz", + "integrity": "sha512-8mL/vh8qeCoRcFH2nM8wm5uJP+ZcVYGGayMavi8GmRJjuI3g1v6Z7Ni0JJKAJW+m0EtUuARb6Lmp4hMjzCBWzA==", "cpu": [ "loong64" ], @@ -1139,15 +1104,14 @@ "os": [ "linux" ], - "peer": true, "engines": { "node": ">=18" } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.3.tgz", - "integrity": "sha512-APsymYA6sGcZ4pD6k+UxbDjOFSvPWyZhjaiPyl/f79xKxwTnrn5QUnXR5prvetuaSMsb4jgeHewIDCIWljrSxw==", + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.4.tgz", + "integrity": "sha512-1RdrWFFiiLIW7LQq9Q2NES+HiD4NyT8Itj9AUeCl0IVCA459WnPhREKgwrpaIfTOe+/2rdntisegiPWn/r/aAw==", "cpu": [ "mips64el" ], @@ -1157,15 +1121,14 @@ "os": [ "linux" ], - "peer": true, "engines": { "node": ">=18" } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.3.tgz", - "integrity": "sha512-eizBnTeBefojtDb9nSh4vvVQ3V9Qf9Df01PfawPcRzJH4gFSgrObw+LveUyDoKU3kxi5+9RJTCWlj4FjYXVPEA==", + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.4.tgz", + "integrity": "sha512-tLCwNG47l3sd9lpfyx9LAGEGItCUeRCWeAx6x2Jmbav65nAwoPXfewtAdtbtit/pJFLUWOhpv0FpS6GQAmPrHA==", "cpu": [ "ppc64" ], @@ -1175,15 +1138,14 @@ "os": [ "linux" ], - "peer": true, "engines": { "node": ">=18" } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.3.tgz", - "integrity": "sha512-3Emwh0r5wmfm3ssTWRQSyVhbOHvqegUDRd0WhmXKX2mkHJe1SFCMJhagUleMq+Uci34wLSipf8Lagt4LlpRFWQ==", + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.4.tgz", + "integrity": "sha512-BnASypppbUWyqjd1KIpU4AUBiIhVr6YlHx/cnPgqEkNoVOhHg+YiSVxM1RLfiy4t9cAulbRGTNCKOcqHrEQLIw==", "cpu": [ "riscv64" ], @@ -1193,15 +1155,14 @@ "os": [ "linux" ], - "peer": true, "engines": { "node": ">=18" } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.3.tgz", - "integrity": "sha512-pBHUx9LzXWBc7MFIEEL0yD/ZVtNgLytvx60gES28GcWMqil8ElCYR4kvbV2BDqsHOvVDRrOxGySBM9Fcv744hw==", + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.4.tgz", + "integrity": "sha512-+eUqgb/Z7vxVLezG8bVB9SfBie89gMueS+I0xYh2tJdw3vqA/0ImZJ2ROeWwVJN59ihBeZ7Tu92dF/5dy5FttA==", "cpu": [ "s390x" ], @@ -1211,15 +1172,14 @@ "os": [ "linux" ], - "peer": true, "engines": { "node": ">=18" } }, "node_modules/@esbuild/linux-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.3.tgz", - "integrity": "sha512-Czi8yzXUWIQYAtL/2y6vogER8pvcsOsk5cpwL4Gk5nJqH5UZiVByIY8Eorm5R13gq+DQKYg0+JyQoytLQas4dA==", + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.4.tgz", + "integrity": "sha512-S5qOXrKV8BQEzJPVxAwnryi2+Iq5pB40gTEIT69BQONqR7JH1EPIcQ/Uiv9mCnn05jff9umq/5nqzxlqTOg9NA==", "cpu": [ "x64" ], @@ -1229,15 +1189,14 @@ "os": [ "linux" ], - "peer": true, "engines": { "node": ">=18" } }, "node_modules/@esbuild/netbsd-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.3.tgz", - "integrity": "sha512-sDpk0RgmTCR/5HguIZa9n9u+HVKf40fbEUt+iTzSnCaGvY9kFP0YKBWZtJaraonFnqef5SlJ8/TiPAxzyS+UoA==", + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.4.tgz", + "integrity": "sha512-xHT8X4sb0GS8qTqiwzHqpY00C95DPAq7nAwX35Ie/s+LO9830hrMd3oX0ZMKLvy7vsonee73x0lmcdOVXFzd6Q==", "cpu": [ "arm64" ], @@ -1247,15 +1206,14 @@ "os": [ "netbsd" ], - "peer": true, "engines": { "node": ">=18" } }, "node_modules/@esbuild/netbsd-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.3.tgz", - "integrity": "sha512-P14lFKJl/DdaE00LItAukUdZO5iqNH7+PjoBm+fLQjtxfcfFE20Xf5CrLsmZdq5LFFZzb5JMZ9grUwvtVYzjiA==", + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.4.tgz", + "integrity": "sha512-RugOvOdXfdyi5Tyv40kgQnI0byv66BFgAqjdgtAKqHoZTbTF2QqfQrFwa7cHEORJf6X2ht+l9ABLMP0dnKYsgg==", "cpu": [ "x64" ], @@ -1265,15 +1223,14 @@ "os": [ "netbsd" ], - "peer": true, "engines": { "node": ">=18" } }, "node_modules/@esbuild/openbsd-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.3.tgz", - "integrity": "sha512-AIcMP77AvirGbRl/UZFTq5hjXK+2wC7qFRGoHSDrZ5v5b8DK/GYpXW3CPRL53NkvDqb9D+alBiC/dV0Fb7eJcw==", + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.4.tgz", + "integrity": "sha512-2MyL3IAaTX+1/qP0O1SwskwcwCoOI4kV2IBX1xYnDDqthmq5ArrW94qSIKCAuRraMgPOmG0RDTA74mzYNQA9ow==", "cpu": [ "arm64" ], @@ -1283,15 +1240,14 @@ "os": [ "openbsd" ], - "peer": true, "engines": { "node": ">=18" } }, "node_modules/@esbuild/openbsd-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.3.tgz", - "integrity": "sha512-DnW2sRrBzA+YnE70LKqnM3P+z8vehfJWHXECbwBmH/CU51z6FiqTQTHFenPlHmo3a8UgpLyH3PT+87OViOh1AQ==", + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.4.tgz", + "integrity": "sha512-u8fg/jQ5aQDfsnIV6+KwLOf1CmJnfu1ShpwqdwC0uA7ZPwFws55Ngc12vBdeUdnuWoQYx/SOQLGDcdlfXhYmXQ==", "cpu": [ "x64" ], @@ -1301,15 +1257,14 @@ "os": [ "openbsd" ], - "peer": true, "engines": { "node": ">=18" } }, "node_modules/@esbuild/openharmony-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.3.tgz", - "integrity": "sha512-NinAEgr/etERPTsZJ7aEZQvvg/A6IsZG/LgZy+81wON2huV7SrK3e63dU0XhyZP4RKGyTm7aOgmQk0bGp0fy2g==", + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.4.tgz", + "integrity": "sha512-JkTZrl6VbyO8lDQO3yv26nNr2RM2yZzNrNHEsj9bm6dOwwu9OYN28CjzZkH57bh4w0I2F7IodpQvUAEd1mbWXg==", "cpu": [ "arm64" ], @@ -1319,15 +1274,14 @@ "os": [ "openharmony" ], - "peer": true, "engines": { "node": ">=18" } }, "node_modules/@esbuild/sunos-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.3.tgz", - "integrity": "sha512-PanZ+nEz+eWoBJ8/f8HKxTTD172SKwdXebZ0ndd953gt1HRBbhMsaNqjTyYLGLPdoWHy4zLU7bDVJztF5f3BHA==", + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.4.tgz", + "integrity": "sha512-/gOzgaewZJfeJTlsWhvUEmUG4tWEY2Spp5M20INYRg2ZKl9QPO3QEEgPeRtLjEWSW8FilRNacPOg8R1uaYkA6g==", "cpu": [ "x64" ], @@ -1337,15 +1291,14 @@ "os": [ "sunos" ], - "peer": true, "engines": { "node": ">=18" } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.3.tgz", - "integrity": "sha512-B2t59lWWYrbRDw/tjiWOuzSsFh1Y/E95ofKz7rIVYSQkUYBjfSgf6oeYPNWHToFRr2zx52JKApIcAS/D5TUBnA==", + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.4.tgz", + "integrity": "sha512-Z9SExBg2y32smoDQdf1HRwHRt6vAHLXcxD2uGgO/v2jK7Y718Ix4ndsbNMU/+1Qiem9OiOdaqitioZwxivhXYg==", "cpu": [ "arm64" ], @@ -1355,15 +1308,14 @@ "os": [ "win32" ], - "peer": true, "engines": { "node": ">=18" } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.3.tgz", - "integrity": "sha512-QLKSFeXNS8+tHW7tZpMtjlNb7HKau0QDpwm49u0vUp9y1WOF+PEzkU84y9GqYaAVW8aH8f3GcBck26jh54cX4Q==", + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.4.tgz", + "integrity": "sha512-DAyGLS0Jz5G5iixEbMHi5KdiApqHBWMGzTtMiJ72ZOLhbu/bzxgAe8Ue8CTS3n3HbIUHQz/L51yMdGMeoxXNJw==", "cpu": [ "ia32" ], @@ -1373,15 +1325,14 @@ "os": [ "win32" ], - "peer": true, "engines": { "node": ">=18" } }, "node_modules/@esbuild/win32-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.3.tgz", - "integrity": "sha512-4uJGhsxuptu3OcpVAzli+/gWusVGwZZHTlS63hh++ehExkVT8SgiEf7/uC/PclrPPkLhZqGgCTjd0VWLo6xMqA==", + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.4.tgz", + "integrity": "sha512-+knoa0BDoeXgkNvvV1vvbZX4+hizelrkwmGJBdT17t8FNPwG2lKemmuMZlmaNQ3ws3DKKCxpb4zRZEIp3UxFCg==", "cpu": [ "x64" ], @@ -1391,7 +1342,6 @@ "os": [ "win32" ], - "peer": true, "engines": { "node": ">=18" } @@ -1450,9 +1400,9 @@ } }, "node_modules/@eslint/eslintrc/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz", + "integrity": "sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==", "dev": true, "license": "MIT", "dependencies": { @@ -1485,9 +1435,9 @@ "license": "MIT" }, "node_modules/@eslint/eslintrc/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", "dev": true, "license": "ISC", "dependencies": { @@ -1508,30 +1458,30 @@ } }, "node_modules/@floating-ui/core": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.4.tgz", - "integrity": "sha512-C3HlIdsBxszvm5McXlB8PeOEWfBhcGBTZGkGlWc2U0KFY5IwG5OQEuQ8rq52DZmcHDlPLd+YFBK+cZcytwIFWg==", + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.5.tgz", + "integrity": "sha512-1Ih4WTWyw0+lKyFMcBHGbb5U5FtuHJuujoyyr5zTaWS5EYMeT6Jb2AuDeftsCsEuchO+mM2ij5+q9crhydzLhQ==", "license": "MIT", "peer": true, "dependencies": { - "@floating-ui/utils": "^0.2.10" + "@floating-ui/utils": "^0.2.11" } }, "node_modules/@floating-ui/dom": { - "version": "1.7.5", - "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.7.5.tgz", - "integrity": "sha512-N0bD2kIPInNHUHehXhMke1rBGs1dwqvC9O9KYMyyjK7iXt7GAhnro7UlcuYcGdS/yYOlq0MAVgrow8IbWJwyqg==", + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.7.6.tgz", + "integrity": "sha512-9gZSAI5XM36880PPMm//9dfiEngYoC6Am2izES1FF406YFsjvyBMmeJ2g4SAju3xWwtuynNRFL2s9hgxpLI5SQ==", "license": "MIT", "peer": true, "dependencies": { - "@floating-ui/core": "^1.7.4", - "@floating-ui/utils": "^0.2.10" + "@floating-ui/core": "^1.7.5", + "@floating-ui/utils": "^0.2.11" } }, "node_modules/@floating-ui/utils": { - "version": "0.2.10", - "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.10.tgz", - "integrity": "sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==", + "version": "0.2.11", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.11.tgz", + "integrity": "sha512-RiB/yIh78pcIxl6lLMG0CgBXAZ2Y0eVHqMPYugu+9U0AeT6YBeiJpf7lbdJNIugFP5SIjwNRgo4DhR1Qxi26Gg==", "license": "MIT", "peer": true }, @@ -1563,9 +1513,9 @@ } }, "node_modules/@humanwhocodes/config-array/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", "dev": true, "license": "ISC", "dependencies": { @@ -1685,6 +1635,9 @@ "arm" ], "dev": true, + "libc": [ + "glibc" + ], "license": "LGPL-3.0-or-later", "optional": true, "os": [ @@ -1702,6 +1655,9 @@ "arm64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "LGPL-3.0-or-later", "optional": true, "os": [ @@ -1719,6 +1675,9 @@ "s390x" ], "dev": true, + "libc": [ + "glibc" + ], "license": "LGPL-3.0-or-later", "optional": true, "os": [ @@ -1736,6 +1695,9 @@ "x64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "LGPL-3.0-or-later", "optional": true, "os": [ @@ -1753,6 +1715,9 @@ "arm64" ], "dev": true, + "libc": [ + "musl" + ], "license": "LGPL-3.0-or-later", "optional": true, "os": [ @@ -1770,6 +1735,9 @@ "x64" ], "dev": true, + "libc": [ + "musl" + ], "license": "LGPL-3.0-or-later", "optional": true, "os": [ @@ -1787,6 +1755,9 @@ "arm" ], "dev": true, + "libc": [ + "glibc" + ], "license": "Apache-2.0", "optional": true, "os": [ @@ -1810,6 +1781,9 @@ "arm64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "Apache-2.0", "optional": true, "os": [ @@ -1833,6 +1807,9 @@ "s390x" ], "dev": true, + "libc": [ + "glibc" + ], "license": "Apache-2.0", "optional": true, "os": [ @@ -1856,6 +1833,9 @@ "x64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "Apache-2.0", "optional": true, "os": [ @@ -1879,6 +1859,9 @@ "arm64" ], "dev": true, + "libc": [ + "musl" + ], "license": "Apache-2.0", "optional": true, "os": [ @@ -1902,6 +1885,9 @@ "x64" ], "dev": true, + "libc": [ + "musl" + ], "license": "Apache-2.0", "optional": true, "os": [ @@ -1977,29 +1963,6 @@ "url": "https://opencollective.com/libvips" } }, - "node_modules/@isaacs/balanced-match": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@isaacs/balanced-match/-/balanced-match-4.0.1.tgz", - "integrity": "sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": "20 || >=22" - } - }, - "node_modules/@isaacs/brace-expansion": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@isaacs/brace-expansion/-/brace-expansion-5.0.1.tgz", - "integrity": "sha512-WMz71T1JS624nWj2n2fnYAuPovhv7EUhk69R6i9dsVyzxt5eM3bjwvgk9L+APE1TRscGysAVMANkB0jh0LQZrQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@isaacs/balanced-match": "^4.0.1" - }, - "engines": { - "node": "20 || >=22" - } - }, "node_modules/@isaacs/cliui": { "version": "8.0.2", "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", @@ -2032,13 +1995,13 @@ } }, "node_modules/@isaacs/cliui/node_modules/strip-ansi": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", - "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", + "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", "dev": true, "license": "MIT", "dependencies": { - "ansi-regex": "^6.0.1" + "ansi-regex": "^6.2.2" }, "engines": { "node": ">=12" @@ -2124,9 +2087,9 @@ "license": "MIT" }, "node_modules/@laynezh/vite-plugin-lib-assets": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@laynezh/vite-plugin-lib-assets/-/vite-plugin-lib-assets-1.1.0.tgz", - "integrity": "sha512-Rynyr1A/DxJEmjNZu4NrpDQUfxUmJhanqojwOO20HQWtN5Oc0jJ3ZtwnlpntruK6VYV8aC25Mjzs67dmTIBHyA==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@laynezh/vite-plugin-lib-assets/-/vite-plugin-lib-assets-2.2.0.tgz", + "integrity": "sha512-1c3LeMasJ3QtiHDutMLataXzjsq5pddjan5dz0RKHt5Qo5f6Cq1u0SXLfK3NUYtCAB1MC4gCRt7SBKykFgW0xA==", "dev": true, "license": "MIT", "dependencies": { @@ -2136,7 +2099,7 @@ "semver": "^7.6.0" }, "peerDependencies": { - "vite": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0" + "vite": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0" } }, "node_modules/@lezer/common": { @@ -2192,22 +2155,22 @@ "license": "MIT" }, "node_modules/@microsoft/api-extractor": { - "version": "7.56.3", - "resolved": "https://registry.npmjs.org/@microsoft/api-extractor/-/api-extractor-7.56.3.tgz", - "integrity": "sha512-fRqok4aRNq5GpgGBv2fKlSSKbirPKTJ75vQefthB5x9dwt4Zz+AezUzdc1p/AG4wUBIgmhjcEwn/Rj+N4Wh4Mw==", + "version": "7.57.7", + "resolved": "https://registry.npmjs.org/@microsoft/api-extractor/-/api-extractor-7.57.7.tgz", + "integrity": "sha512-kmnmVs32MFWbV5X6BInC1/TfCs7y1ugwxv1xHsAIj/DyUfoe7vtO0alRUgbQa57+yRGHBBjlNcEk33SCAt5/dA==", "dev": true, "license": "MIT", "dependencies": { - "@microsoft/api-extractor-model": "7.32.2", + "@microsoft/api-extractor-model": "7.33.4", "@microsoft/tsdoc": "~0.16.0", - "@microsoft/tsdoc-config": "~0.18.0", - "@rushstack/node-core-library": "5.19.1", - "@rushstack/rig-package": "0.6.0", - "@rushstack/terminal": "0.21.0", - "@rushstack/ts-command-line": "5.2.0", + "@microsoft/tsdoc-config": "~0.18.1", + "@rushstack/node-core-library": "5.20.3", + "@rushstack/rig-package": "0.7.2", + "@rushstack/terminal": "0.22.3", + "@rushstack/ts-command-line": "5.3.3", "diff": "~8.0.2", "lodash": "~4.17.23", - "minimatch": "10.1.2", + "minimatch": "10.2.3", "resolve": "~1.22.1", "semver": "~7.5.4", "source-map": "~0.6.1", @@ -2218,15 +2181,38 @@ } }, "node_modules/@microsoft/api-extractor-model": { - "version": "7.32.2", - "resolved": "https://registry.npmjs.org/@microsoft/api-extractor-model/-/api-extractor-model-7.32.2.tgz", - "integrity": "sha512-Ussc25rAalc+4JJs9HNQE7TuO9y6jpYQX9nWD1DhqUzYPBr3Lr7O9intf+ZY8kD5HnIqeIRJX7ccCT0QyBy2Ww==", + "version": "7.33.4", + "resolved": "https://registry.npmjs.org/@microsoft/api-extractor-model/-/api-extractor-model-7.33.4.tgz", + "integrity": "sha512-u1LTaNTikZAQ9uK6KG1Ms7nvNedsnODnspq/gH2dcyETWvH4hVNGNDvRAEutH66kAmxA4/necElqGNs1FggC8w==", "dev": true, "license": "MIT", "dependencies": { "@microsoft/tsdoc": "~0.16.0", - "@microsoft/tsdoc-config": "~0.18.0", - "@rushstack/node-core-library": "5.19.1" + "@microsoft/tsdoc-config": "~0.18.1", + "@rushstack/node-core-library": "5.20.3" + } + }, + "node_modules/@microsoft/api-extractor/node_modules/balanced-match": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", + "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "18 || 20 || >=22" + } + }, + "node_modules/@microsoft/api-extractor/node_modules/brace-expansion": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.4.tgz", + "integrity": "sha512-h+DEnpVvxmfVefa4jFbCf5HdH5YMDXRsmKflpf1pILZWRFlTbJpxeU55nJl4Smt5HQaGzg1o6RHFPJaOqnmBDg==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^4.0.2" + }, + "engines": { + "node": "18 || 20 || >=22" } }, "node_modules/@microsoft/api-extractor/node_modules/lru-cache": { @@ -2243,16 +2229,16 @@ } }, "node_modules/@microsoft/api-extractor/node_modules/minimatch": { - "version": "10.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.1.2.tgz", - "integrity": "sha512-fu656aJ0n2kcXwsnwnv9g24tkU5uSmOlTjd6WyyaKm2Z+h1qmY6bAjrcaIxF/BslFqbZ8UBtbJi7KgQOZD2PTw==", + "version": "10.2.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.3.tgz", + "integrity": "sha512-Rwi3pnapEqirPSbWbrZaa6N3nmqq4Xer/2XooiOKyV3q12ML06f7MOuc5DVH8ONZIFhwIYQ3yzPH4nt7iWHaTg==", "dev": true, "license": "BlueOak-1.0.0", "dependencies": { - "@isaacs/brace-expansion": "^5.0.1" + "brace-expansion": "^5.0.2" }, "engines": { - "node": "20 || >=22" + "node": "18 || 20 || >=22" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -2313,35 +2299,18 @@ "license": "MIT" }, "node_modules/@microsoft/tsdoc-config": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/@microsoft/tsdoc-config/-/tsdoc-config-0.18.0.tgz", - "integrity": "sha512-8N/vClYyfOH+l4fLkkr9+myAoR6M7akc8ntBJ4DJdWH2b09uVfr71+LTMpNyG19fNqWDg8KEDZhx5wxuqHyGjw==", + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/@microsoft/tsdoc-config/-/tsdoc-config-0.18.1.tgz", + "integrity": "sha512-9brPoVdfN9k9g0dcWkFeA7IH9bbcttzDJlXvkf8b2OBzd5MueR1V2wkKBL0abn0otvmkHJC6aapBOTJDDeMCZg==", "dev": true, "license": "MIT", "dependencies": { "@microsoft/tsdoc": "0.16.0", - "ajv": "~8.12.0", + "ajv": "~8.18.0", "jju": "~1.4.0", "resolve": "~1.22.2" } }, - "node_modules/@microsoft/tsdoc-config/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, "node_modules/@napi-rs/wasm-runtime": { "version": "0.2.12", "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.12.tgz", @@ -2526,6 +2495,9 @@ "cpu": [ "arm" ], + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -2546,6 +2518,9 @@ "cpu": [ "arm" ], + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ @@ -2566,6 +2541,9 @@ "cpu": [ "arm64" ], + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -2586,6 +2564,9 @@ "cpu": [ "arm64" ], + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ @@ -2606,6 +2587,9 @@ "cpu": [ "x64" ], + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -2626,6 +2610,9 @@ "cpu": [ "x64" ], + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ @@ -2784,9 +2771,9 @@ } }, "node_modules/@rjsf/core": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/@rjsf/core/-/core-6.3.1.tgz", - "integrity": "sha512-LTjFz5Fk3FlbgFPJ+OJi1JdWJyiap9dSpx8W6u7JHNB7K5VbwzJe8gIU45XWLHzWFGDHKPm89VrUzjOs07TPtg==", + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/@rjsf/core/-/core-6.4.1.tgz", + "integrity": "sha512-+QaiSgQnOuO6ghIsohH2u/QcylkN+Da2968a75g/i4oARYJRYVxXDm2u3JR5aXndpMb4t4jTFrYyG8cNIv6oEg==", "license": "Apache-2.0", "dependencies": { "lodash": "^4.17.23", @@ -2798,14 +2785,14 @@ "node": ">=20" }, "peerDependencies": { - "@rjsf/utils": "^6.3.x", + "@rjsf/utils": "^6.4.x", "react": ">=18" } }, "node_modules/@rjsf/utils": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/@rjsf/utils/-/utils-6.3.1.tgz", - "integrity": "sha512-ve2KHl1ITYG8QIonnuK83/T1k/5NuxP4D1egVqP9Hz2ub28kgl0rNMwmRSxXs3WIbCcMW9g3ox+daVrbSNc4Mw==", + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/@rjsf/utils/-/utils-6.4.1.tgz", + "integrity": "sha512-5NL3jwt3rIS5/WRTrKt++y40FS/ScKGVwYJ3jIrHSQHSwBdLnd4cHf2zcnA97L1Klj8I6tvS/ugh+blf/Diwuw==", "license": "Apache-2.0", "dependencies": { "@x0k/json-schema-merge": "^1.0.2", @@ -2823,9 +2810,9 @@ } }, "node_modules/@rjsf/validator-ajv8": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/@rjsf/validator-ajv8/-/validator-ajv8-6.3.1.tgz", - "integrity": "sha512-2RHDxBc0gBplPniau5UZj7aznpTelSBm1b3DNybok8L0NuIfmndbp9kNXgFuRvlyfsQSyYmZSBjbzeYqr0Hpcw==", + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/@rjsf/validator-ajv8/-/validator-ajv8-6.4.1.tgz", + "integrity": "sha512-Gx28sRIV7E4CYs2c7BxOGLX44p5IlJE+IaD7GbVk1S+6TxDATqFBSYYZukLB+/vNk3urpndQMreQLKW3W7POHQ==", "license": "Apache-2.0", "dependencies": { "ajv": "^8.17.1", @@ -2837,7 +2824,7 @@ "node": ">=20" }, "peerDependencies": { - "@rjsf/utils": "^6.3.x" + "@rjsf/utils": "^6.4.x" } }, "node_modules/@rolldown/pluginutils": { @@ -2884,9 +2871,9 @@ } }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.57.1.tgz", - "integrity": "sha512-A6ehUVSiSaaliTxai040ZpZ2zTevHYbvu/lDoeAteHI8QnaosIzm4qwtezfRg1jOYaUmnzLX1AOD6Z+UJjtifg==", + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.59.0.tgz", + "integrity": "sha512-upnNBkA6ZH2VKGcBj9Fyl9IGNPULcjXRlg0LLeaioQWueH30p6IXtJEbKAgvyv+mJaMxSm1l6xwDXYjpEMiLMg==", "cpu": [ "arm" ], @@ -2898,9 +2885,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.57.1.tgz", - "integrity": "sha512-dQaAddCY9YgkFHZcFNS/606Exo8vcLHwArFZ7vxXq4rigo2bb494/xKMMwRRQW6ug7Js6yXmBZhSBRuBvCCQ3w==", + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.59.0.tgz", + "integrity": "sha512-hZ+Zxj3SySm4A/DylsDKZAeVg0mvi++0PYVceVyX7hemkw7OreKdCvW2oQ3T1FMZvCaQXqOTHb8qmBShoqk69Q==", "cpu": [ "arm64" ], @@ -2912,9 +2899,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.57.1.tgz", - "integrity": "sha512-crNPrwJOrRxagUYeMn/DZwqN88SDmwaJ8Cvi/TN1HnWBU7GwknckyosC2gd0IqYRsHDEnXf328o9/HC6OkPgOg==", + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.59.0.tgz", + "integrity": "sha512-W2Psnbh1J8ZJw0xKAd8zdNgF9HRLkdWwwdWqubSVk0pUuQkoHnv7rx4GiF9rT4t5DIZGAsConRE3AxCdJ4m8rg==", "cpu": [ "arm64" ], @@ -2926,9 +2913,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.57.1.tgz", - "integrity": "sha512-Ji8g8ChVbKrhFtig5QBV7iMaJrGtpHelkB3lsaKzadFBe58gmjfGXAOfI5FV0lYMH8wiqsxKQ1C9B0YTRXVy4w==", + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.59.0.tgz", + "integrity": "sha512-ZW2KkwlS4lwTv7ZVsYDiARfFCnSGhzYPdiOU4IM2fDbL+QGlyAbjgSFuqNRbSthybLbIJ915UtZBtmuLrQAT/w==", "cpu": [ "x64" ], @@ -2940,9 +2927,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.57.1.tgz", - "integrity": "sha512-R+/WwhsjmwodAcz65guCGFRkMb4gKWTcIeLy60JJQbXrJ97BOXHxnkPFrP+YwFlaS0m+uWJTstrUA9o+UchFug==", + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.59.0.tgz", + "integrity": "sha512-EsKaJ5ytAu9jI3lonzn3BgG8iRBjV4LxZexygcQbpiU0wU0ATxhNVEpXKfUa0pS05gTcSDMKpn3Sx+QB9RlTTA==", "cpu": [ "arm64" ], @@ -2954,9 +2941,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.57.1.tgz", - "integrity": "sha512-IEQTCHeiTOnAUC3IDQdzRAGj3jOAYNr9kBguI7MQAAZK3caezRrg0GxAb6Hchg4lxdZEI5Oq3iov/w/hnFWY9Q==", + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.59.0.tgz", + "integrity": "sha512-d3DuZi2KzTMjImrxoHIAODUZYoUUMsuUiY4SRRcJy6NJoZ6iIqWnJu9IScV9jXysyGMVuW+KNzZvBLOcpdl3Vg==", "cpu": [ "x64" ], @@ -2968,13 +2955,16 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.57.1.tgz", - "integrity": "sha512-F8sWbhZ7tyuEfsmOxwc2giKDQzN3+kuBLPwwZGyVkLlKGdV1nvnNwYD0fKQ8+XS6hp9nY7B+ZeK01EBUE7aHaw==", + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.59.0.tgz", + "integrity": "sha512-t4ONHboXi/3E0rT6OZl1pKbl2Vgxf9vJfWgmUoCEVQVxhW6Cw/c8I6hbbu7DAvgp82RKiH7TpLwxnJeKv2pbsw==", "cpu": [ "arm" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -2982,13 +2972,16 @@ ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.57.1.tgz", - "integrity": "sha512-rGfNUfn0GIeXtBP1wL5MnzSj98+PZe/AXaGBCRmT0ts80lU5CATYGxXukeTX39XBKsxzFpEeK+Mrp9faXOlmrw==", + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.59.0.tgz", + "integrity": "sha512-CikFT7aYPA2ufMD086cVORBYGHffBo4K8MQ4uPS/ZnY54GKj36i196u8U+aDVT2LX4eSMbyHtyOh7D7Zvk2VvA==", "cpu": [ "arm" ], "dev": true, + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ @@ -2996,13 +2989,16 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.57.1.tgz", - "integrity": "sha512-MMtej3YHWeg/0klK2Qodf3yrNzz6CGjo2UntLvk2RSPlhzgLvYEB3frRvbEF2wRKh1Z2fDIg9KRPe1fawv7C+g==", + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.59.0.tgz", + "integrity": "sha512-jYgUGk5aLd1nUb1CtQ8E+t5JhLc9x5WdBKew9ZgAXg7DBk0ZHErLHdXM24rfX+bKrFe+Xp5YuJo54I5HFjGDAA==", "cpu": [ "arm64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -3010,13 +3006,16 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.57.1.tgz", - "integrity": "sha512-1a/qhaaOXhqXGpMFMET9VqwZakkljWHLmZOX48R0I/YLbhdxr1m4gtG1Hq7++VhVUmf+L3sTAf9op4JlhQ5u1Q==", + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.59.0.tgz", + "integrity": "sha512-peZRVEdnFWZ5Bh2KeumKG9ty7aCXzzEsHShOZEFiCQlDEepP1dpUl/SrUNXNg13UmZl+gzVDPsiCwnV1uI0RUA==", "cpu": [ "arm64" ], "dev": true, + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ @@ -3024,13 +3023,16 @@ ] }, "node_modules/@rollup/rollup-linux-loong64-gnu": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.57.1.tgz", - "integrity": "sha512-QWO6RQTZ/cqYtJMtxhkRkidoNGXc7ERPbZN7dVW5SdURuLeVU7lwKMpo18XdcmpWYd0qsP1bwKPf7DNSUinhvA==", + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.59.0.tgz", + "integrity": "sha512-gbUSW/97f7+r4gHy3Jlup8zDG190AuodsWnNiXErp9mT90iCy9NKKU0Xwx5k8VlRAIV2uU9CsMnEFg/xXaOfXg==", "cpu": [ "loong64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -3038,13 +3040,16 @@ ] }, "node_modules/@rollup/rollup-linux-loong64-musl": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.57.1.tgz", - "integrity": "sha512-xpObYIf+8gprgWaPP32xiN5RVTi/s5FCR+XMXSKmhfoJjrpRAjCuuqQXyxUa/eJTdAE6eJ+KDKaoEqjZQxh3Gw==", + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.59.0.tgz", + "integrity": "sha512-yTRONe79E+o0FWFijasoTjtzG9EBedFXJMl888NBEDCDV9I2wGbFFfJQQe63OijbFCUZqxpHz1GzpbtSFikJ4Q==", "cpu": [ "loong64" ], "dev": true, + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ @@ -3052,13 +3057,16 @@ ] }, "node_modules/@rollup/rollup-linux-ppc64-gnu": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.57.1.tgz", - "integrity": "sha512-4BrCgrpZo4hvzMDKRqEaW1zeecScDCR+2nZ86ATLhAoJ5FQ+lbHVD3ttKe74/c7tNT9c6F2viwB3ufwp01Oh2w==", + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.59.0.tgz", + "integrity": "sha512-sw1o3tfyk12k3OEpRddF68a1unZ5VCN7zoTNtSn2KndUE+ea3m3ROOKRCZxEpmT9nsGnogpFP9x6mnLTCaoLkA==", "cpu": [ "ppc64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -3066,13 +3074,16 @@ ] }, "node_modules/@rollup/rollup-linux-ppc64-musl": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.57.1.tgz", - "integrity": "sha512-NOlUuzesGauESAyEYFSe3QTUguL+lvrN1HtwEEsU2rOwdUDeTMJdO5dUYl/2hKf9jWydJrO9OL/XSSf65R5+Xw==", + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.59.0.tgz", + "integrity": "sha512-+2kLtQ4xT3AiIxkzFVFXfsmlZiG5FXYW7ZyIIvGA7Bdeuh9Z0aN4hVyXS/G1E9bTP/vqszNIN/pUKCk/BTHsKA==", "cpu": [ "ppc64" ], "dev": true, + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ @@ -3080,13 +3091,16 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.57.1.tgz", - "integrity": "sha512-ptA88htVp0AwUUqhVghwDIKlvJMD/fmL/wrQj99PRHFRAG6Z5nbWoWG4o81Nt9FT+IuqUQi+L31ZKAFeJ5Is+A==", + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.59.0.tgz", + "integrity": "sha512-NDYMpsXYJJaj+I7UdwIuHHNxXZ/b/N2hR15NyH3m2qAtb/hHPA4g4SuuvrdxetTdndfj9b1WOmy73kcPRoERUg==", "cpu": [ "riscv64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -3094,13 +3108,16 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-musl": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.57.1.tgz", - "integrity": "sha512-S51t7aMMTNdmAMPpBg7OOsTdn4tySRQvklmL3RpDRyknk87+Sp3xaumlatU+ppQ+5raY7sSTcC2beGgvhENfuw==", + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.59.0.tgz", + "integrity": "sha512-nLckB8WOqHIf1bhymk+oHxvM9D3tyPndZH8i8+35p/1YiVoVswPid2yLzgX7ZJP0KQvnkhM4H6QZ5m0LzbyIAg==", "cpu": [ "riscv64" ], "dev": true, + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ @@ -3108,13 +3125,16 @@ ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.57.1.tgz", - "integrity": "sha512-Bl00OFnVFkL82FHbEqy3k5CUCKH6OEJL54KCyx2oqsmZnFTR8IoNqBF+mjQVcRCT5sB6yOvK8A37LNm/kPJiZg==", + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.59.0.tgz", + "integrity": "sha512-oF87Ie3uAIvORFBpwnCvUzdeYUqi2wY6jRFWJAy1qus/udHFYIkplYRW+wo+GRUP4sKzYdmE1Y3+rY5Gc4ZO+w==", "cpu": [ "s390x" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -3122,13 +3142,16 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.57.1.tgz", - "integrity": "sha512-ABca4ceT4N+Tv/GtotnWAeXZUZuM/9AQyCyKYyKnpk4yoA7QIAuBt6Hkgpw8kActYlew2mvckXkvx0FfoInnLg==", + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.59.0.tgz", + "integrity": "sha512-3AHmtQq/ppNuUspKAlvA8HtLybkDflkMuLK4DPo77DfthRb71V84/c4MlWJXixZz4uruIH4uaa07IqoAkG64fg==", "cpu": [ "x64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -3136,13 +3159,16 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.57.1.tgz", - "integrity": "sha512-HFps0JeGtuOR2convgRRkHCekD7j+gdAuXM+/i6kGzQtFhlCtQkpwtNzkNj6QhCDp7DRJ7+qC/1Vg2jt5iSOFw==", + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.59.0.tgz", + "integrity": "sha512-2UdiwS/9cTAx7qIUZB/fWtToJwvt0Vbo0zmnYt7ED35KPg13Q0ym1g442THLC7VyI6JfYTP4PiSOWyoMdV2/xg==", "cpu": [ "x64" ], "dev": true, + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ @@ -3150,9 +3176,9 @@ ] }, "node_modules/@rollup/rollup-openbsd-x64": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.57.1.tgz", - "integrity": "sha512-H+hXEv9gdVQuDTgnqD+SQffoWoc0Of59AStSzTEj/feWTBAnSfSD3+Dql1ZruJQxmykT/JVY0dE8Ka7z0DH1hw==", + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.59.0.tgz", + "integrity": "sha512-M3bLRAVk6GOwFlPTIxVBSYKUaqfLrn8l0psKinkCFxl4lQvOSz8ZrKDz2gxcBwHFpci0B6rttydI4IpS4IS/jQ==", "cpu": [ "x64" ], @@ -3164,9 +3190,9 @@ ] }, "node_modules/@rollup/rollup-openharmony-arm64": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.57.1.tgz", - "integrity": "sha512-4wYoDpNg6o/oPximyc/NG+mYUejZrCU2q+2w6YZqrAs2UcNUChIZXjtafAiiZSUc7On8v5NyNj34Kzj/Ltk6dQ==", + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.59.0.tgz", + "integrity": "sha512-tt9KBJqaqp5i5HUZzoafHZX8b5Q2Fe7UjYERADll83O4fGqJ49O1FsL6LpdzVFQcpwvnyd0i+K/VSwu/o/nWlA==", "cpu": [ "arm64" ], @@ -3178,9 +3204,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.57.1.tgz", - "integrity": "sha512-O54mtsV/6LW3P8qdTcamQmuC990HDfR71lo44oZMZlXU4tzLrbvTii87Ni9opq60ds0YzuAlEr/GNwuNluZyMQ==", + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.59.0.tgz", + "integrity": "sha512-V5B6mG7OrGTwnxaNUzZTDTjDS7F75PO1ae6MJYdiMu60sq0CqN5CVeVsbhPxalupvTX8gXVSU9gq+Rx1/hvu6A==", "cpu": [ "arm64" ], @@ -3192,9 +3218,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.57.1.tgz", - "integrity": "sha512-P3dLS+IerxCT/7D2q2FYcRdWRl22dNbrbBEtxdWhXrfIMPP9lQhb5h4Du04mdl5Woq05jVCDPCMF7Ub0NAjIew==", + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.59.0.tgz", + "integrity": "sha512-UKFMHPuM9R0iBegwzKF4y0C4J9u8C6MEJgFuXTBerMk7EJ92GFVFYBfOZaSGLu6COf7FxpQNqhNS4c4icUPqxA==", "cpu": [ "ia32" ], @@ -3206,9 +3232,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-gnu": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.57.1.tgz", - "integrity": "sha512-VMBH2eOOaKGtIJYleXsi2B8CPVADrh+TyNxJ4mWPnKfLB/DBUmzW+5m1xUrcwWoMfSLagIRpjUFeW5CO5hyciQ==", + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.59.0.tgz", + "integrity": "sha512-laBkYlSS1n2L8fSo1thDNGrCTQMmxjYY5G0WFWjFFYZkKPjsMBsgJfGf4TLxXrF6RyhI60L8TMOjBMvXiTcxeA==", "cpu": [ "x64" ], @@ -3220,9 +3246,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.57.1.tgz", - "integrity": "sha512-mxRFDdHIWRxg3UfIIAwCm6NzvxG0jDX/wBN6KsQFTvKFqqg9vTrWUE68qEjHt19A5wwx5X5aUi2zuZT7YR0jrA==", + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.59.0.tgz", + "integrity": "sha512-2HRCml6OztYXyJXAvdDXPKcawukWY2GpR5/nxKp4iBgiO3wcoEGkAaqctIbZcNB6KlUQBIqt8VYkNSj2397EfA==", "cpu": [ "x64" ], @@ -3241,13 +3267,13 @@ "license": "MIT" }, "node_modules/@rushstack/node-core-library": { - "version": "5.19.1", - "resolved": "https://registry.npmjs.org/@rushstack/node-core-library/-/node-core-library-5.19.1.tgz", - "integrity": "sha512-ESpb2Tajlatgbmzzukg6zyAhH+sICqJR2CNXNhXcEbz6UGCQfrKCtkxOpJTftWc8RGouroHG0Nud1SJAszvpmA==", + "version": "5.20.3", + "resolved": "https://registry.npmjs.org/@rushstack/node-core-library/-/node-core-library-5.20.3.tgz", + "integrity": "sha512-95JgEPq2k7tHxhF9/OJnnyHDXfC9cLhhta0An/6MlkDsX2A6dTzDrTUG18vx4vjc280V0fi0xDH9iQczpSuWsw==", "dev": true, "license": "MIT", "dependencies": { - "ajv": "~8.13.0", + "ajv": "~8.18.0", "ajv-draft-04": "~1.0.0", "ajv-formats": "~3.0.1", "fs-extra": "~11.3.0", @@ -3265,23 +3291,6 @@ } } }, - "node_modules/@rushstack/node-core-library/node_modules/ajv": { - "version": "8.13.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.13.0.tgz", - "integrity": "sha512-PRA911Blj99jR5RMeTunVbNXMF6Lp4vZXnk5GQjcnUWUTsrXtekg/pnmFFI2u/I36Y/2bITGS30GZCXei6uNkA==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.3", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.4.1" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, "node_modules/@rushstack/node-core-library/node_modules/ajv-formats": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz", @@ -3301,9 +3310,9 @@ } }, "node_modules/@rushstack/node-core-library/node_modules/fs-extra": { - "version": "11.3.3", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.3.tgz", - "integrity": "sha512-VWSRii4t0AFm6ixFFmLLx1t7wS1gh+ckoa84aOeapGum0h+EZd1EhEumSB+ZdDLnEPuucsVB9oB7cxJHap6Afg==", + "version": "11.3.4", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.4.tgz", + "integrity": "sha512-CTXd6rk/M3/ULNQj8FBqBWHYBVYybQ3VPBw0xGKFe3tuH7ytT6ACnvzpIQ3UZtB8yvUKC2cXn1a+x+5EVQLovA==", "dev": true, "license": "MIT", "dependencies": { @@ -3352,9 +3361,9 @@ "license": "ISC" }, "node_modules/@rushstack/problem-matcher": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@rushstack/problem-matcher/-/problem-matcher-0.1.1.tgz", - "integrity": "sha512-Fm5XtS7+G8HLcJHCWpES5VmeMyjAKaWeyZU5qPzZC+22mPlJzAsOxymHiWIfuirtPckX3aptWws+K2d0BzniJA==", + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@rushstack/problem-matcher/-/problem-matcher-0.2.1.tgz", + "integrity": "sha512-gulfhBs6n+I5b7DvjKRfhMGyUejtSgOHTclF/eONr8hcgF1APEDjhxIsfdUYYMzC3rvLwGluqLjbwCFZ8nxrog==", "dev": true, "license": "MIT", "peerDependencies": { @@ -3367,9 +3376,9 @@ } }, "node_modules/@rushstack/rig-package": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/@rushstack/rig-package/-/rig-package-0.6.0.tgz", - "integrity": "sha512-ZQmfzsLE2+Y91GF15c65L/slMRVhF6Hycq04D4TwtdGaUAbIXXg9c5pKA5KFU7M4QMaihoobp9JJYpYcaY3zOw==", + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/@rushstack/rig-package/-/rig-package-0.7.2.tgz", + "integrity": "sha512-9XbFWuqMYcHUso4mnETfhGVUSaADBRj6HUAAEYk50nMPn8WRICmBuCphycQGNB3duIR6EEZX3Xj3SYc2XiP+9A==", "dev": true, "license": "MIT", "dependencies": { @@ -3378,14 +3387,14 @@ } }, "node_modules/@rushstack/terminal": { - "version": "0.21.0", - "resolved": "https://registry.npmjs.org/@rushstack/terminal/-/terminal-0.21.0.tgz", - "integrity": "sha512-cLaI4HwCNYmknM5ns4G+drqdEB6q3dCPV423+d3TZeBusYSSm09+nR7CnhzJMjJqeRcdMAaLnrA4M/3xDz4R3w==", + "version": "0.22.3", + "resolved": "https://registry.npmjs.org/@rushstack/terminal/-/terminal-0.22.3.tgz", + "integrity": "sha512-gHC9pIMrUPzAbBiI4VZMU7Q+rsCzb8hJl36lFIulIzoceKotyKL3Rd76AZ2CryCTKEg+0bnTj406HE5YY5OQvw==", "dev": true, "license": "MIT", "dependencies": { - "@rushstack/node-core-library": "5.19.1", - "@rushstack/problem-matcher": "0.1.1", + "@rushstack/node-core-library": "5.20.3", + "@rushstack/problem-matcher": "0.2.1", "supports-color": "~8.1.1" }, "peerDependencies": { @@ -3414,13 +3423,13 @@ } }, "node_modules/@rushstack/ts-command-line": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@rushstack/ts-command-line/-/ts-command-line-5.2.0.tgz", - "integrity": "sha512-lYxCX0nDdkDtCkVpvF0m25ymf66SaMWuppbD6b7MdkIzvGXKBXNIVZlwBH/C0YfkanrupnICWf2n4z3AKSfaHw==", + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/@rushstack/ts-command-line/-/ts-command-line-5.3.3.tgz", + "integrity": "sha512-c+ltdcvC7ym+10lhwR/vWiOhsrm/bP3By2VsFcs5qTKv+6tTmxgbVrtJ5NdNjANiV5TcmOZgUN+5KYQ4llsvEw==", "dev": true, "license": "MIT", "dependencies": { - "@rushstack/terminal": "0.21.0", + "@rushstack/terminal": "0.22.3", "@types/argparse": "1.0.38", "argparse": "~1.0.9", "string-argv": "~0.3.1" @@ -3891,10 +3900,19 @@ "@svgr/core": "^6.0.0" } }, + "node_modules/@tabby_ai/hijri-converter": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@tabby_ai/hijri-converter/-/hijri-converter-1.0.5.tgz", + "integrity": "sha512-r5bClKrcIusDoo049dSL8CawnHR6mRdDwhlQuIgZRNty68q0x8k3Lf1BtPAMxRf/GgnHBnIO4ujd3+GQdLWzxQ==", + "license": "MIT", + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/@tanstack/eslint-plugin-query": { - "version": "5.91.4", - "resolved": "https://registry.npmjs.org/@tanstack/eslint-plugin-query/-/eslint-plugin-query-5.91.4.tgz", - "integrity": "sha512-8a+GAeR7oxJ5laNyYBQ6miPK09Hi18o5Oie/jx8zioXODv/AUFLZQecKabPdpQSLmuDXEBPKFh+W5DKbWlahjQ==", + "version": "5.91.5", + "resolved": "https://registry.npmjs.org/@tanstack/eslint-plugin-query/-/eslint-plugin-query-5.91.5.tgz", + "integrity": "sha512-4pqgoT5J+ntkyOoBtnxJu8LYRj3CurfNe92fghJw66mI7pZijKmOulM32Wa48cyVzGtgiuQ2o5KWC9LJVXYcBQ==", "dev": true, "license": "MIT", "dependencies": { @@ -3906,7 +3924,7 @@ }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0", - "typescript": "^5.0.0" + "typescript": "^5.4.0" }, "peerDependenciesMeta": { "typescript": { @@ -3914,250 +3932,73 @@ } } }, - "node_modules/@tanstack/eslint-plugin-query/node_modules/@typescript-eslint/scope-manager": { - "version": "8.56.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.56.1.tgz", - "integrity": "sha512-YAi4VDKcIZp0O4tz/haYKhmIDZFEUPOreKbfdAN3SzUDMcPhJ8QI99xQXqX+HoUVq8cs85eRKnD+rne2UAnj2w==", - "dev": true, + "node_modules/@tanstack/query-core": { + "version": "5.91.2", + "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.91.2.tgz", + "integrity": "sha512-Uz2pTgPC1mhqrrSGg18RKCWT/pkduAYtxbcyIyKBhw7dTWjXZIzqmpzO2lBkyWr4hlImQgpu1m1pei3UnkFRWw==", "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "8.56.1", - "@typescript-eslint/visitor-keys": "8.56.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" } }, - "node_modules/@tanstack/eslint-plugin-query/node_modules/@typescript-eslint/types": { - "version": "8.56.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.56.1.tgz", - "integrity": "sha512-dbMkdIUkIkchgGDIv7KLUpa0Mda4IYjo4IAMJUZ+3xNoUXxMsk9YtKpTHSChRS85o+H9ftm51gsK1dZReY9CVw==", + "node_modules/@tanstack/query-devtools": { + "version": "5.93.0", + "resolved": "https://registry.npmjs.org/@tanstack/query-devtools/-/query-devtools-5.93.0.tgz", + "integrity": "sha512-+kpsx1NQnOFTZsw6HAFCW3HkKg0+2cepGtAWXjiiSOJJ1CtQpt72EE2nyZb+AjAbLRPoeRmPJ8MtQd8r8gsPdg==", "dev": true, "license": "MIT", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" } }, - "node_modules/@tanstack/eslint-plugin-query/node_modules/@typescript-eslint/typescript-estree": { - "version": "8.56.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.56.1.tgz", - "integrity": "sha512-qzUL1qgalIvKWAf9C1HpvBjif+Vm6rcT5wZd4VoMb9+Km3iS3Cv9DY6dMRMDtPnwRAFyAi7YXJpTIEXLvdfPxg==", - "dev": true, + "node_modules/@tanstack/react-query": { + "version": "5.91.2", + "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.91.2.tgz", + "integrity": "sha512-GClLPzbM57iFXv+FlvOUL56XVe00PxuTaVEyj1zAObhRiKF008J5vedmaq7O6ehs+VmPHe8+PUQhMuEyv8d9wQ==", "license": "MIT", "dependencies": { - "@typescript-eslint/project-service": "8.56.1", - "@typescript-eslint/tsconfig-utils": "8.56.1", - "@typescript-eslint/types": "8.56.1", - "@typescript-eslint/visitor-keys": "8.56.1", - "debug": "^4.4.3", - "minimatch": "^10.2.2", - "semver": "^7.7.3", - "tinyglobby": "^0.2.15", - "ts-api-utils": "^2.4.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "@tanstack/query-core": "5.91.2" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" }, "peerDependencies": { - "typescript": ">=4.8.4 <6.0.0" + "react": "^18 || ^19" } }, - "node_modules/@tanstack/eslint-plugin-query/node_modules/@typescript-eslint/utils": { - "version": "8.56.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.56.1.tgz", - "integrity": "sha512-HPAVNIME3tABJ61siYlHzSWCGtOoeP2RTIaHXFMPqjrQKCGB9OgUVdiNgH7TJS2JNIQ5qQ4RsAUDuGaGme/KOA==", + "node_modules/@tanstack/react-query-devtools": { + "version": "5.91.3", + "resolved": "https://registry.npmjs.org/@tanstack/react-query-devtools/-/react-query-devtools-5.91.3.tgz", + "integrity": "sha512-nlahjMtd/J1h7IzOOfqeyDh5LNfG0eULwlltPEonYy0QL+nqrBB+nyzJfULV+moL7sZyxc2sHdNJki+vLA9BSA==", "dev": true, "license": "MIT", "dependencies": { - "@eslint-community/eslint-utils": "^4.9.1", - "@typescript-eslint/scope-manager": "8.56.1", - "@typescript-eslint/types": "8.56.1", - "@typescript-eslint/typescript-estree": "8.56.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "@tanstack/query-devtools": "5.93.0" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" }, "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", - "typescript": ">=4.8.4 <6.0.0" + "@tanstack/react-query": "^5.90.20", + "react": "^18 || ^19" } }, - "node_modules/@tanstack/eslint-plugin-query/node_modules/@typescript-eslint/visitor-keys": { - "version": "8.56.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.56.1.tgz", - "integrity": "sha512-KiROIzYdEV85YygXw6BI/Dx4fnBlFQu6Mq4QE4MOH9fFnhohw6wX/OAvDY2/C+ut0I3RSPKenvZJIVYqJNkhEw==", + "node_modules/@tippyjs/react": { + "version": "4.2.6", + "resolved": "https://registry.npmjs.org/@tippyjs/react/-/react-4.2.6.tgz", + "integrity": "sha512-91RicDR+H7oDSyPycI13q3b7o4O60wa2oRbjlz2fyRLmHImc4vyDwuUP8NtZaN0VARJY5hybvDYrFzhY9+Lbyw==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.56.1", - "eslint-visitor-keys": "^5.0.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "tippy.js": "^6.3.1" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@tanstack/eslint-plugin-query/node_modules/balanced-match": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", - "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "18 || 20 || >=22" - } - }, - "node_modules/@tanstack/eslint-plugin-query/node_modules/brace-expansion": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.3.tgz", - "integrity": "sha512-fy6KJm2RawA5RcHkLa1z/ScpBeA762UF9KmZQxwIbDtRJrgLzM10depAiEQ+CXYcoiqW1/m96OAAoke2nE9EeA==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^4.0.2" - }, - "engines": { - "node": "18 || 20 || >=22" - } - }, - "node_modules/@tanstack/eslint-plugin-query/node_modules/eslint-visitor-keys": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz", - "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@tanstack/eslint-plugin-query/node_modules/minimatch": { - "version": "10.2.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.3.tgz", - "integrity": "sha512-Rwi3pnapEqirPSbWbrZaa6N3nmqq4Xer/2XooiOKyV3q12ML06f7MOuc5DVH8ONZIFhwIYQ3yzPH4nt7iWHaTg==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "brace-expansion": "^5.0.2" - }, - "engines": { - "node": "18 || 20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@tanstack/eslint-plugin-query/node_modules/ts-api-utils": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.4.0.tgz", - "integrity": "sha512-3TaVTaAv2gTiMB35i3FiGJaRfwb3Pyn/j3m/bfAvGe8FB7CF6u+LMYqYlDh7reQf7UNvoTvdfAqHGmPGOSsPmA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18.12" - }, - "peerDependencies": { - "typescript": ">=4.8.4" - } - }, - "node_modules/@tanstack/query-core": { - "version": "5.90.20", - "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.90.20.tgz", - "integrity": "sha512-OMD2HLpNouXEfZJWcKeVKUgQ5n+n3A2JFmBaScpNDUqSrQSjiveC7dKMe53uJUg1nDG16ttFPz2xfilz6i2uVg==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" - } - }, - "node_modules/@tanstack/query-devtools": { - "version": "5.93.0", - "resolved": "https://registry.npmjs.org/@tanstack/query-devtools/-/query-devtools-5.93.0.tgz", - "integrity": "sha512-+kpsx1NQnOFTZsw6HAFCW3HkKg0+2cepGtAWXjiiSOJJ1CtQpt72EE2nyZb+AjAbLRPoeRmPJ8MtQd8r8gsPdg==", - "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" - } - }, - "node_modules/@tanstack/react-query": { - "version": "5.90.21", - "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.90.21.tgz", - "integrity": "sha512-0Lu6y5t+tvlTJMTO7oh5NSpJfpg/5D41LlThfepTixPYkJ0sE2Jj0m0f6yYqujBwIXlId87e234+MxG3D3g7kg==", - "license": "MIT", - "dependencies": { - "@tanstack/query-core": "5.90.20" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" - }, - "peerDependencies": { - "react": "^18 || ^19" - } - }, - "node_modules/@tanstack/react-query-devtools": { - "version": "5.91.3", - "resolved": "https://registry.npmjs.org/@tanstack/react-query-devtools/-/react-query-devtools-5.91.3.tgz", - "integrity": "sha512-nlahjMtd/J1h7IzOOfqeyDh5LNfG0eULwlltPEonYy0QL+nqrBB+nyzJfULV+moL7sZyxc2sHdNJki+vLA9BSA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@tanstack/query-devtools": "5.93.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" - }, - "peerDependencies": { - "@tanstack/react-query": "^5.90.20", - "react": "^18 || ^19" - } - }, - "node_modules/@tippyjs/react": { - "version": "4.2.6", - "resolved": "https://registry.npmjs.org/@tippyjs/react/-/react-4.2.6.tgz", - "integrity": "sha512-91RicDR+H7oDSyPycI13q3b7o4O60wa2oRbjlz2fyRLmHImc4vyDwuUP8NtZaN0VARJY5hybvDYrFzhY9+Lbyw==", - "dev": true, - "license": "MIT", - "dependencies": { - "tippy.js": "^6.3.1" - }, - "peerDependencies": { - "react": ">=16.8", - "react-dom": ">=16.8" - } - }, - "node_modules/@trysound/sax": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", - "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=10.13.0" + "peerDependencies": { + "react": ">=16.8", + "react-dom": ">=16.8" } }, "node_modules/@tybys/wasm-util": { @@ -4306,9 +4147,9 @@ } }, "node_modules/@types/debug": { - "version": "4.1.12", - "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", - "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", + "version": "4.1.13", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.13.tgz", + "integrity": "sha512-KSVgmQmzMwPlmtljOomayoR89W4FynCAi3E8PPs7vmDVPe84hT+vGPKkJfThkmXs0x0jAaa9U8uW8bbfyS2fWw==", "license": "MIT", "dependencies": { "@types/ms": "*" @@ -4474,6 +4315,29 @@ } } }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/utils": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.3.0.tgz", + "integrity": "sha512-F77WwqxIi/qGkIGOGXNBLV7nykwfjLsdauRB/DOFPdv6LTF3BHHkBpq81/b5iMPSF055oO2BiivDJV4ChvNtXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@typescript-eslint/scope-manager": "8.3.0", + "@typescript-eslint/types": "8.3.0", + "@typescript-eslint/typescript-estree": "8.3.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0" + } + }, "node_modules/@typescript-eslint/parser": { "version": "8.3.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.3.0.tgz", @@ -4504,14 +4368,14 @@ } }, "node_modules/@typescript-eslint/project-service": { - "version": "8.56.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.56.1.tgz", - "integrity": "sha512-TAdqQTzHNNvlVFfR+hu2PDJrURiwKsUvxFn1M0h95BB8ah5jejas08jUWG4dBA68jDMI988IvtfdAI53JzEHOQ==", + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.57.1.tgz", + "integrity": "sha512-vx1F37BRO1OftsYlmG9xay1TqnjNVlqALymwWVuYTdo18XuKxtBpCj1QlzNIEHlvlB27osvXFWptYiEWsVdYsg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/tsconfig-utils": "^8.56.1", - "@typescript-eslint/types": "^8.56.1", + "@typescript-eslint/tsconfig-utils": "^8.57.1", + "@typescript-eslint/types": "^8.57.1", "debug": "^4.4.3" }, "engines": { @@ -4526,9 +4390,9 @@ } }, "node_modules/@typescript-eslint/project-service/node_modules/@typescript-eslint/types": { - "version": "8.56.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.56.1.tgz", - "integrity": "sha512-dbMkdIUkIkchgGDIv7KLUpa0Mda4IYjo4IAMJUZ+3xNoUXxMsk9YtKpTHSChRS85o+H9ftm51gsK1dZReY9CVw==", + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.57.1.tgz", + "integrity": "sha512-S29BOBPJSFUiblEl6RzPPjJt6w25A6XsBqRVDt53tA/tlL8q7ceQNZHTjPeONt/3S7KRI4quk+yP9jK2WjBiPQ==", "dev": true, "license": "MIT", "engines": { @@ -4558,9 +4422,9 @@ } }, "node_modules/@typescript-eslint/tsconfig-utils": { - "version": "8.56.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.56.1.tgz", - "integrity": "sha512-qOtCYzKEeyr3aR9f28mPJqBty7+DBqsdd63eO0yyDwc6vgThj2UjWfJIcsFeSucYydqcuudMOprZ+x1SpF3ZuQ==", + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.57.1.tgz", + "integrity": "sha512-0lgOZB8cl19fHO4eI46YUx2EceQqhgkPSuCGLlGi79L2jwYY1cxeYc1Nae8Aw1xjgW3PKVDLlr3YJ6Bxx8HkWg==", "dev": true, "license": "MIT", "engines": { @@ -4599,6 +4463,29 @@ } } }, + "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/utils": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.3.0.tgz", + "integrity": "sha512-F77WwqxIi/qGkIGOGXNBLV7nykwfjLsdauRB/DOFPdv6LTF3BHHkBpq81/b5iMPSF055oO2BiivDJV4ChvNtXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@typescript-eslint/scope-manager": "8.3.0", + "@typescript-eslint/types": "8.3.0", + "@typescript-eslint/typescript-estree": "8.3.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0" + } + }, "node_modules/@typescript-eslint/types": { "version": "8.3.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.3.0.tgz", @@ -4643,16 +4530,16 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.3.0.tgz", - "integrity": "sha512-F77WwqxIi/qGkIGOGXNBLV7nykwfjLsdauRB/DOFPdv6LTF3BHHkBpq81/b5iMPSF055oO2BiivDJV4ChvNtXA==", + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.57.1.tgz", + "integrity": "sha512-XUNSJ/lEVFttPMMoDVA2r2bwrl8/oPx8cURtczkSEswY5T3AeLmCy+EKWQNdL4u0MmAHOjcWrqJp2cdvgjn8dQ==", "dev": true, "license": "MIT", "dependencies": { - "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "8.3.0", - "@typescript-eslint/types": "8.3.0", - "@typescript-eslint/typescript-estree": "8.3.0" + "@eslint-community/eslint-utils": "^4.9.1", + "@typescript-eslint/scope-manager": "8.57.1", + "@typescript-eslint/types": "8.57.1", + "@typescript-eslint/typescript-estree": "8.57.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -4662,18 +4549,19 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0" + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "typescript": ">=4.8.4 <6.0.0" } }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.3.0.tgz", - "integrity": "sha512-RmZwrTbQ9QveF15m/Cl28n0LXD6ea2CjkhH5rQ55ewz3H24w+AMCJHPVYaZ8/0HoG8Z3cLLFFycRXxeO2tz9FA==", + "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/scope-manager": { + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.57.1.tgz", + "integrity": "sha512-hs/QcpCwlwT2L5S+3fT6gp0PabyGk4Q0Rv2doJXA0435/OpnSR3VRgvrp8Xdoc3UAYSg9cyUjTeFXZEPg/3OKg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.3.0", - "eslint-visitor-keys": "^3.4.3" + "@typescript-eslint/types": "8.57.1", + "@typescript-eslint/visitor-keys": "8.57.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -4683,64 +4571,207 @@ "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@uiw/codemirror-extensions-basic-setup": { - "version": "4.23.7", - "resolved": "https://registry.npmjs.org/@uiw/codemirror-extensions-basic-setup/-/codemirror-extensions-basic-setup-4.23.7.tgz", - "integrity": "sha512-9/2EUa1Lck4kFKkR2BkxlZPpgD/EWuKHnOlysf1yHKZGraaZmZEaUw+utDK4QcuJc8Iz097vsLz4f4th5EU27g==", + "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/types": { + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.57.1.tgz", + "integrity": "sha512-S29BOBPJSFUiblEl6RzPPjJt6w25A6XsBqRVDt53tA/tlL8q7ceQNZHTjPeONt/3S7KRI4quk+yP9jK2WjBiPQ==", + "dev": true, "license": "MIT", - "dependencies": { - "@codemirror/autocomplete": "^6.0.0", - "@codemirror/commands": "^6.0.0", - "@codemirror/language": "^6.0.0", - "@codemirror/lint": "^6.0.0", - "@codemirror/search": "^6.0.0", - "@codemirror/state": "^6.0.0", - "@codemirror/view": "^6.0.0" + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { - "url": "https://jaywcjlove.github.io/#/sponsor" - }, - "peerDependencies": { - "@codemirror/autocomplete": ">=6.0.0", - "@codemirror/commands": ">=6.0.0", - "@codemirror/language": ">=6.0.0", - "@codemirror/lint": ">=6.0.0", - "@codemirror/search": ">=6.0.0", - "@codemirror/state": ">=6.0.0", - "@codemirror/view": ">=6.0.0" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@uiw/codemirror-extensions-hyper-link": { - "version": "4.23.10", - "resolved": "https://registry.npmjs.org/@uiw/codemirror-extensions-hyper-link/-/codemirror-extensions-hyper-link-4.23.10.tgz", - "integrity": "sha512-fwpIzbufHqLDBZCDcVEIjx3nNaD/mB/8CPZmWf05YRAze6ejZZL8quU8xGegXyiJwKKMLgKl5qll+ZT+djf62g==", + "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/typescript-estree": { + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.57.1.tgz", + "integrity": "sha512-ybe2hS9G6pXpqGtPli9Gx9quNV0TWLOmh58ADlmZe9DguLq0tiAKVjirSbtM1szG6+QH6rVXyU6GTLQbWnMY+g==", + "dev": true, "license": "MIT", + "dependencies": { + "@typescript-eslint/project-service": "8.57.1", + "@typescript-eslint/tsconfig-utils": "8.57.1", + "@typescript-eslint/types": "8.57.1", + "@typescript-eslint/visitor-keys": "8.57.1", + "debug": "^4.4.3", + "minimatch": "^10.2.2", + "semver": "^7.7.3", + "tinyglobby": "^0.2.15", + "ts-api-utils": "^2.4.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, "funding": { - "url": "https://jaywcjlove.github.io/#/sponsor" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@codemirror/state": ">=6.0.0", - "@codemirror/view": ">=6.0.0" + "typescript": ">=4.8.4 <6.0.0" } }, - "node_modules/@uiw/codemirror-theme-github": { - "version": "4.23.7", - "resolved": "https://registry.npmjs.org/@uiw/codemirror-theme-github/-/codemirror-theme-github-4.23.7.tgz", - "integrity": "sha512-r9SstBZD7Ow1sQ8F0EpsRGx9b11K552M2FayvyLWTkal64YJmQMKW0S2KcWykgCMKLWhmDFi7LX+h8cg6nek8g==", + "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/visitor-keys": { + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.57.1.tgz", + "integrity": "sha512-YWnmJkXbofiz9KbnbbwuA2rpGkFPLbAIetcCNO6mJ8gdhdZ/v7WDXsoGFAJuM6ikUFKTlSQnjWnVO4ux+UzS6A==", + "dev": true, "license": "MIT", "dependencies": { - "@uiw/codemirror-themes": "4.23.7" + "@typescript-eslint/types": "8.57.1", + "eslint-visitor-keys": "^5.0.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { - "url": "https://jaywcjlove.github.io/#/sponsor" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@uiw/codemirror-themes": { - "version": "4.23.7", - "resolved": "https://registry.npmjs.org/@uiw/codemirror-themes/-/codemirror-themes-4.23.7.tgz", - "integrity": "sha512-UNf1XOx1hG9OmJnrtT86PxKcdcwhaNhbrcD+nsk8WxRJ3n5c8nH6euDvgVPdVLPwbizsaQcZTILACgA/FjRpVg==", - "license": "MIT", - "dependencies": { + "node_modules/@typescript-eslint/utils/node_modules/balanced-match": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", + "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "18 || 20 || >=22" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/brace-expansion": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.4.tgz", + "integrity": "sha512-h+DEnpVvxmfVefa4jFbCf5HdH5YMDXRsmKflpf1pILZWRFlTbJpxeU55nJl4Smt5HQaGzg1o6RHFPJaOqnmBDg==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^4.0.2" + }, + "engines": { + "node": "18 || 20 || >=22" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/eslint-visitor-keys": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz", + "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/minimatch": { + "version": "10.2.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.4.tgz", + "integrity": "sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "brace-expansion": "^5.0.2" + }, + "engines": { + "node": "18 || 20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/ts-api-utils": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.5.0.tgz", + "integrity": "sha512-OJ/ibxhPlqrMM0UiNHJ/0CKQkoKF243/AEmplt3qpRgkW8VG7IfOS41h7V8TjITqdByHzrjcS/2si+y4lIh8NA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.12" + }, + "peerDependencies": { + "typescript": ">=4.8.4" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.3.0.tgz", + "integrity": "sha512-RmZwrTbQ9QveF15m/Cl28n0LXD6ea2CjkhH5rQ55ewz3H24w+AMCJHPVYaZ8/0HoG8Z3cLLFFycRXxeO2tz9FA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.3.0", + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@uiw/codemirror-extensions-basic-setup": { + "version": "4.23.7", + "resolved": "https://registry.npmjs.org/@uiw/codemirror-extensions-basic-setup/-/codemirror-extensions-basic-setup-4.23.7.tgz", + "integrity": "sha512-9/2EUa1Lck4kFKkR2BkxlZPpgD/EWuKHnOlysf1yHKZGraaZmZEaUw+utDK4QcuJc8Iz097vsLz4f4th5EU27g==", + "license": "MIT", + "dependencies": { + "@codemirror/autocomplete": "^6.0.0", + "@codemirror/commands": "^6.0.0", + "@codemirror/language": "^6.0.0", + "@codemirror/lint": "^6.0.0", + "@codemirror/search": "^6.0.0", + "@codemirror/state": "^6.0.0", + "@codemirror/view": "^6.0.0" + }, + "funding": { + "url": "https://jaywcjlove.github.io/#/sponsor" + }, + "peerDependencies": { + "@codemirror/autocomplete": ">=6.0.0", + "@codemirror/commands": ">=6.0.0", + "@codemirror/language": ">=6.0.0", + "@codemirror/lint": ">=6.0.0", + "@codemirror/search": ">=6.0.0", + "@codemirror/state": ">=6.0.0", + "@codemirror/view": ">=6.0.0" + } + }, + "node_modules/@uiw/codemirror-extensions-hyper-link": { + "version": "4.23.10", + "resolved": "https://registry.npmjs.org/@uiw/codemirror-extensions-hyper-link/-/codemirror-extensions-hyper-link-4.23.10.tgz", + "integrity": "sha512-fwpIzbufHqLDBZCDcVEIjx3nNaD/mB/8CPZmWf05YRAze6ejZZL8quU8xGegXyiJwKKMLgKl5qll+ZT+djf62g==", + "license": "MIT", + "funding": { + "url": "https://jaywcjlove.github.io/#/sponsor" + }, + "peerDependencies": { + "@codemirror/state": ">=6.0.0", + "@codemirror/view": ">=6.0.0" + } + }, + "node_modules/@uiw/codemirror-theme-github": { + "version": "4.23.7", + "resolved": "https://registry.npmjs.org/@uiw/codemirror-theme-github/-/codemirror-theme-github-4.23.7.tgz", + "integrity": "sha512-r9SstBZD7Ow1sQ8F0EpsRGx9b11K552M2FayvyLWTkal64YJmQMKW0S2KcWykgCMKLWhmDFi7LX+h8cg6nek8g==", + "license": "MIT", + "dependencies": { + "@uiw/codemirror-themes": "4.23.7" + }, + "funding": { + "url": "https://jaywcjlove.github.io/#/sponsor" + } + }, + "node_modules/@uiw/codemirror-themes": { + "version": "4.23.7", + "resolved": "https://registry.npmjs.org/@uiw/codemirror-themes/-/codemirror-themes-4.23.7.tgz", + "integrity": "sha512-UNf1XOx1hG9OmJnrtT86PxKcdcwhaNhbrcD+nsk8WxRJ3n5c8nH6euDvgVPdVLPwbizsaQcZTILACgA/FjRpVg==", + "license": "MIT", + "dependencies": { "@codemirror/language": "^6.0.0", "@codemirror/state": "^6.0.0", "@codemirror/view": "^6.0.0" @@ -5033,6 +5064,9 @@ "arm64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -5047,6 +5081,9 @@ "arm64" ], "dev": true, + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ @@ -5061,6 +5098,9 @@ "ppc64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -5075,6 +5115,9 @@ "riscv64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -5089,6 +5132,9 @@ "riscv64" ], "dev": true, + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ @@ -5103,6 +5149,9 @@ "s390x" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -5117,6 +5166,9 @@ "x64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -5131,6 +5183,9 @@ "x64" ], "dev": true, + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ @@ -5247,14 +5302,14 @@ } }, "node_modules/@vue/compiler-core": { - "version": "3.5.28", - "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.28.tgz", - "integrity": "sha512-kviccYxTgoE8n6OCw96BNdYlBg2GOWfBuOW4Vqwrt7mSKWKwFVvI8egdTltqRgITGPsTFYtKYfxIG8ptX2PJHQ==", + "version": "3.5.30", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.30.tgz", + "integrity": "sha512-s3DfdZkcu/qExZ+td75015ljzHc6vE+30cFMGRPROYjqkroYI5NV2X1yAMX9UeyBNWB9MxCfPcsjpLS11nzkkw==", "dev": true, "license": "MIT", "dependencies": { "@babel/parser": "^7.29.0", - "@vue/shared": "3.5.28", + "@vue/shared": "3.5.30", "entities": "^7.0.1", "estree-walker": "^2.0.2", "source-map-js": "^1.2.1" @@ -5274,14 +5329,14 @@ } }, "node_modules/@vue/compiler-dom": { - "version": "3.5.28", - "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.28.tgz", - "integrity": "sha512-/1ZepxAb159jKR1btkefDP+J2xuWL5V3WtleRmxaT+K2Aqiek/Ab/+Ebrw2pPj0sdHO8ViAyyJWfhXXOP/+LQA==", + "version": "3.5.30", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.30.tgz", + "integrity": "sha512-eCFYESUEVYHhiMuK4SQTldO3RYxyMR/UQL4KdGD1Yrkfdx4m/HYuZ9jSfPdA+nWJY34VWndiYdW/wZXyiPEB9g==", "dev": true, "license": "MIT", "dependencies": { - "@vue/compiler-core": "3.5.28", - "@vue/shared": "3.5.28" + "@vue/compiler-core": "3.5.30", + "@vue/shared": "3.5.30" } }, "node_modules/@vue/compiler-vue2": { @@ -5321,9 +5376,9 @@ } }, "node_modules/@vue/shared": { - "version": "3.5.28", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.28.tgz", - "integrity": "sha512-cfWa1fCGBxrvaHRhvV3Is0MgmrbSCxYTXCSCau2I0a1Xw1N1pHAvkWCiXPRAqjvToILvguNyEwjevUqAuBQWvQ==", + "version": "3.5.30", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.30.tgz", + "integrity": "sha512-YXgQ7JjaO18NeK2K9VTbDHaFy62WrObMa6XERNfNOkAhD1F1oDSf3ZJ7K6GqabZ0BvSDHajp8qfS5Sa2I9n8uQ==", "dev": true, "license": "MIT" }, @@ -5374,9 +5429,9 @@ "peer": true }, "node_modules/acorn": { - "version": "8.15.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", - "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", + "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", "dev": true, "license": "MIT", "bin": { @@ -5411,9 +5466,9 @@ } }, "node_modules/ajv": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", - "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", + "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.3", @@ -5801,13 +5856,16 @@ "license": "MIT" }, "node_modules/baseline-browser-mapping": { - "version": "2.9.19", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.19.tgz", - "integrity": "sha512-ipDqC8FrAl/76p2SSWKSI+H9tFwm7vYqXQrItCuiVPt26Km0jS+NzSsBWAaBusvSbQcfJG+JitdMm+wZAgTYqg==", + "version": "2.10.8", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.8.tgz", + "integrity": "sha512-PCLz/LXGBsNTErbtB6i5u4eLpHeMfi93aUv5duMmj6caNu6IphS4q6UevDnL36sZQv9lrP11dbPKGMaXPwMKfQ==", "dev": true, "license": "Apache-2.0", "bin": { - "baseline-browser-mapping": "dist/cli.js" + "baseline-browser-mapping": "dist/cli.cjs" + }, + "engines": { + "node": ">=6.0.0" } }, "node_modules/bcp-47-match": { @@ -5821,9 +5879,9 @@ } }, "node_modules/best-effort-json-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/best-effort-json-parser/-/best-effort-json-parser-1.2.1.tgz", - "integrity": "sha512-UICSLibQdzS1f+PBsi3u2YE3SsdXcWicHUg3IMvfuaePS2AYnZJdJeKhGv5OM8/mqJwPt79aDrEJ1oa84tELvw==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/best-effort-json-parser/-/best-effort-json-parser-1.4.0.tgz", + "integrity": "sha512-gYmXQicIXaaspBdCLqok3t0JXYdi3Cr9oIgYh2+9rEWiNhLvi/89cguCWXZJWp0FgBR6YoEE9YkbZEfqKdqs+Q==", "license": "BSD-2-Clause" }, "node_modules/boolbase": { @@ -5958,9 +6016,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001769", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001769.tgz", - "integrity": "sha512-BCfFL1sHijQlBGWBMuJyhZUhzo7wer5sVj9hqekB/7xn0Ypy+pER/edCYQm4exbXj4WiySGp40P8UuTh6w1srg==", + "version": "1.0.30001780", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001780.tgz", + "integrity": "sha512-llngX0E7nQci5BPJDqoZSbuZ5Bcs9F5db7EtgfwBerX9XGtkkiO4NwfDDIRzHTTwcYC8vC7bmeUEPGrKlR/TkQ==", "dev": true, "funding": [ { @@ -6351,9 +6409,9 @@ "license": "MIT" }, "node_modules/cronstrue": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/cronstrue/-/cronstrue-3.12.0.tgz", - "integrity": "sha512-k9oiM4G7U1GEEktOGfZabldP0gtFWTsaRVqq9X06ifytr73mpSYYdt+zGZBeS5lRCsqMfq0y7oSHycWGIJSo6g==", + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/cronstrue/-/cronstrue-3.14.0.tgz", + "integrity": "sha512-XnW4vuK/jPJjmTyDWiej1Zq36Od7ITwxaV2O1pzHZuyMVvdy7NAvyvIBzybt+idqSpfqYuoDG7uf/ocGtJVWxA==", "license": "MIT", "bin": { "cronstrue": "bin/cli.js" @@ -6658,9 +6716,9 @@ "license": "MIT" }, "node_modules/dayjs": { - "version": "1.11.19", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.19.tgz", - "integrity": "sha512-t5EcLVS6QPBNqM2z8fakk/NKel+Xzshgt8FFKAn+qwlD1pzZWxh0nVCrvFK7ZDb6XucZeF9z8C7CBWTRIVApAw==", + "version": "1.11.20", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.20.tgz", + "integrity": "sha512-YbwwqR/uYpeoP4pu043q+LTDLFBLApUP6VxRihdfNTqu4ubqMlGDLd6ErXhEgsyvY0K6nCs7nggYumAN+9uEuQ==", "license": "MIT" }, "node_modules/de-indent": { @@ -6881,9 +6939,9 @@ } }, "node_modules/dompurify": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.3.1.tgz", - "integrity": "sha512-qkdCKzLNtrgPFP1Vo+98FRzJnBRGe4ffyCea9IwHB1fyxPOeNTHpLKYGd4Uk9xvNoH0ZoOjwZxNptyMwqrId1Q==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.3.3.tgz", + "integrity": "sha512-Oj6pzI2+RqBfFG+qOaOLbFXLQ90ARpcGG6UePL82bJLtdsa6CYJD7nmiU8MW9nQNOtCHV3lZ/Bzq1X0QYbBZCA==", "license": "(MPL-2.0 OR Apache-2.0)", "peer": true, "optionalDependencies": { @@ -6936,9 +6994,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.5.286", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.286.tgz", - "integrity": "sha512-9tfDXhJ4RKFNerfjdCcZfufu49vg620741MNs26a9+bhLThdB+plgMeou98CAaHu/WATj2iHOOHTp1hWtABj2A==", + "version": "1.5.321", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.321.tgz", + "integrity": "sha512-L2C7Q279W2D/J4PLZLk7sebOILDSWos7bMsMNN06rK482umHUrh/3lM8G7IlHFOYip2oAg5nha1rCMxr/rs6ZQ==", "dev": true, "license": "ISC" }, @@ -7064,9 +7122,9 @@ } }, "node_modules/es-iterator-helpers": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.2.2.tgz", - "integrity": "sha512-BrUQ0cPTB/IwXj23HtwHjS9n7O4h9FX94b4xc5zlTHxeLgTAdzYUDyy6KdExAl9lbN5rtfe44xpjpmj9grxs5w==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.3.1.tgz", + "integrity": "sha512-zWwRvqWiuBPr0muUG/78cW3aHROFCNIQ3zpmYDpwdbnt2m+xlNyRWpHBpa2lJjSBit7BQ+RXA1iwbSmu5yJ/EQ==", "dev": true, "license": "MIT", "dependencies": { @@ -7085,6 +7143,7 @@ "has-symbols": "^1.1.0", "internal-slot": "^1.1.0", "iterator.prototype": "^1.1.5", + "math-intrinsics": "^1.1.0", "safe-array-concat": "^1.1.3" }, "engines": { @@ -7151,13 +7210,12 @@ } }, "node_modules/esbuild": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.3.tgz", - "integrity": "sha512-8VwMnyGCONIs6cWue2IdpHxHnAjzxnw2Zr7MkVxB2vjmQ2ivqGFb4LEG3SMnv0Gb2F/G/2yA8zUaiL1gywDCCg==", + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.4.tgz", + "integrity": "sha512-Rq4vbHnYkK5fws5NF7MYTU68FPRE1ajX7heQ/8QXXWqNgqqJ/GkmmyxIzUnf2Sr/bakf8l54716CcMGHYhMrrQ==", "dev": true, "hasInstallScript": true, "license": "MIT", - "peer": true, "bin": { "esbuild": "bin/esbuild" }, @@ -7165,32 +7223,32 @@ "node": ">=18" }, "optionalDependencies": { - "@esbuild/aix-ppc64": "0.27.3", - "@esbuild/android-arm": "0.27.3", - "@esbuild/android-arm64": "0.27.3", - "@esbuild/android-x64": "0.27.3", - "@esbuild/darwin-arm64": "0.27.3", - "@esbuild/darwin-x64": "0.27.3", - "@esbuild/freebsd-arm64": "0.27.3", - "@esbuild/freebsd-x64": "0.27.3", - "@esbuild/linux-arm": "0.27.3", - "@esbuild/linux-arm64": "0.27.3", - "@esbuild/linux-ia32": "0.27.3", - "@esbuild/linux-loong64": "0.27.3", - "@esbuild/linux-mips64el": "0.27.3", - "@esbuild/linux-ppc64": "0.27.3", - "@esbuild/linux-riscv64": "0.27.3", - "@esbuild/linux-s390x": "0.27.3", - "@esbuild/linux-x64": "0.27.3", - "@esbuild/netbsd-arm64": "0.27.3", - "@esbuild/netbsd-x64": "0.27.3", - "@esbuild/openbsd-arm64": "0.27.3", - "@esbuild/openbsd-x64": "0.27.3", - "@esbuild/openharmony-arm64": "0.27.3", - "@esbuild/sunos-x64": "0.27.3", - "@esbuild/win32-arm64": "0.27.3", - "@esbuild/win32-ia32": "0.27.3", - "@esbuild/win32-x64": "0.27.3" + "@esbuild/aix-ppc64": "0.27.4", + "@esbuild/android-arm": "0.27.4", + "@esbuild/android-arm64": "0.27.4", + "@esbuild/android-x64": "0.27.4", + "@esbuild/darwin-arm64": "0.27.4", + "@esbuild/darwin-x64": "0.27.4", + "@esbuild/freebsd-arm64": "0.27.4", + "@esbuild/freebsd-x64": "0.27.4", + "@esbuild/linux-arm": "0.27.4", + "@esbuild/linux-arm64": "0.27.4", + "@esbuild/linux-ia32": "0.27.4", + "@esbuild/linux-loong64": "0.27.4", + "@esbuild/linux-mips64el": "0.27.4", + "@esbuild/linux-ppc64": "0.27.4", + "@esbuild/linux-riscv64": "0.27.4", + "@esbuild/linux-s390x": "0.27.4", + "@esbuild/linux-x64": "0.27.4", + "@esbuild/netbsd-arm64": "0.27.4", + "@esbuild/netbsd-x64": "0.27.4", + "@esbuild/openbsd-arm64": "0.27.4", + "@esbuild/openbsd-x64": "0.27.4", + "@esbuild/openharmony-arm64": "0.27.4", + "@esbuild/sunos-x64": "0.27.4", + "@esbuild/win32-arm64": "0.27.4", + "@esbuild/win32-ia32": "0.27.4", + "@esbuild/win32-x64": "0.27.4" } }, "node_modules/escalade": { @@ -7491,9 +7549,9 @@ } }, "node_modules/eslint-plugin-import/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", "dev": true, "license": "ISC", "dependencies": { @@ -7555,9 +7613,9 @@ } }, "node_modules/eslint-plugin-jsx-a11y/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", "dev": true, "license": "ISC", "dependencies": { @@ -7669,9 +7727,9 @@ } }, "node_modules/eslint-plugin-react/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", "dev": true, "license": "ISC", "dependencies": { @@ -7682,19 +7740,25 @@ } }, "node_modules/eslint-plugin-react/node_modules/resolve": { - "version": "2.0.0-next.5", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", - "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", + "version": "2.0.0-next.6", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.6.tgz", + "integrity": "sha512-3JmVl5hMGtJ3kMmB3zi3DL25KfkCEyy3Tw7Gmw7z5w8M9WlwoPFnIvwChzu1+cF3iaK3sp18hhPz8ANeimdJfA==", "dev": true, "license": "MIT", "dependencies": { - "is-core-module": "^2.13.0", + "es-errors": "^1.3.0", + "is-core-module": "^2.16.1", + "node-exports-info": "^1.6.0", + "object-keys": "^1.1.1", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -7750,9 +7814,9 @@ } }, "node_modules/eslint/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz", + "integrity": "sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==", "dev": true, "license": "MIT", "dependencies": { @@ -7785,9 +7849,9 @@ "license": "MIT" }, "node_modules/eslint/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", "dev": true, "license": "ISC", "dependencies": { @@ -8092,9 +8156,9 @@ } }, "node_modules/flatted": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", - "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.2.tgz", + "integrity": "sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==", "dev": true, "license": "ISC" }, @@ -8907,9 +8971,9 @@ "license": "MIT" }, "node_modules/immutable": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.4.tgz", - "integrity": "sha512-p6u1bG3YSnINT5RQmx/yRZBpenIl30kVxkTLDyHLIMk0gict704Q9n+thfDI7lTRm9vXdDYutVzXhzcThxTnXA==", + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.5.tgz", + "integrity": "sha512-t7xcm2siw+hlUM68I+UEOK+z84RzmN59as9DZ7P1l0994DKUWV7UXBMQZVxaoMSRQ+PBZbHCOoBt7a2wxOMt+A==", "license": "MIT" }, "node_modules/import-fresh": { @@ -9721,9 +9785,9 @@ } }, "node_modules/jsonpath-plus": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/jsonpath-plus/-/jsonpath-plus-10.3.0.tgz", - "integrity": "sha512-8TNmfeTCk2Le33A3vRRwtuworG/L5RrgMvdjhKZxvyShO+mBu2fP50OWUjRLNtvw344DdDarFh9buFAZs5ujeA==", + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/jsonpath-plus/-/jsonpath-plus-10.4.0.tgz", + "integrity": "sha512-T92WWatJXmhBbKsgH/0hl+jxjdXrifi5IKeMY02DWggRxX0UElcbVzPlmgLTbvsPeW1PasQ6xE2Q75stkhGbsA==", "license": "MIT", "dependencies": { "@jsep-plugin/assignment": "^1.3.0", @@ -10340,9 +10404,9 @@ } }, "node_modules/mdast-util-from-markdown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.2.tgz", - "integrity": "sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.3.tgz", + "integrity": "sha512-W4mAWTvSlKvf8L6J+VN9yLSqQ9AOAAvHuoDAmPkz4dHf553m5gVj2ejadHJhoJmcmxEnOv6Pa8XJhpxE93kb8Q==", "license": "MIT", "dependencies": { "@types/mdast": "^4.0.0", @@ -11217,13 +11281,13 @@ } }, "node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "version": "9.0.9", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.9.tgz", + "integrity": "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==", "dev": true, "license": "ISC", "dependencies": { - "brace-expansion": "^2.0.1" + "brace-expansion": "^2.0.2" }, "engines": { "node": ">=16 || 14 >=14.17" @@ -11242,26 +11306,26 @@ } }, "node_modules/minipass": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", - "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz", + "integrity": "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==", "dev": true, - "license": "ISC", + "license": "BlueOak-1.0.0", "engines": { "node": ">=16 || 14 >=14.17" } }, "node_modules/mlly": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.8.0.tgz", - "integrity": "sha512-l8D9ODSRWLe2KHJSifWGwBqpTZXIXTeo8mlKjY+E2HAakaTeNpqAyBZ8GSqLzHgw4XmHmC8whvpjJNMbFZN7/g==", + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.8.1.tgz", + "integrity": "sha512-SnL6sNutTwRWWR/vcmCYHSADjiEesp5TGQQ0pXyLhW5IoeibRlF/CbSLailbB3CNqJUk9cVJ9dUDnbD7GrcHBQ==", "dev": true, "license": "MIT", "dependencies": { - "acorn": "^8.15.0", + "acorn": "^8.16.0", "pathe": "^2.0.3", "pkg-types": "^1.3.1", - "ufo": "^1.6.1" + "ufo": "^1.6.3" } }, "node_modules/mlly/node_modules/confbox": { @@ -11294,9 +11358,9 @@ } }, "node_modules/moo": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/moo/-/moo-0.5.2.tgz", - "integrity": "sha512-iSAJLHYKnX41mKcJKjqvnAN9sf0LMDTXDEvFv+ffuRR9a1MIuXLjMNL6EsnDHSkKLTWNqQQ5uo61P4EbU4NU+Q==", + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/moo/-/moo-0.5.3.tgz", + "integrity": "sha512-m2fmM2dDm7GZQsY7KK2cme8agi+AAljILjQnof7p1ZMDe6dQ4bdnSMx0cPppudoeNv5hEFQirN6u+O4fDE0IWA==", "license": "BSD-3-Clause" }, "node_modules/motion-dom": { @@ -11413,10 +11477,39 @@ "license": "MIT", "optional": true }, + "node_modules/node-exports-info": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/node-exports-info/-/node-exports-info-1.6.0.tgz", + "integrity": "sha512-pyFS63ptit/P5WqUkt+UUfe+4oevH+bFeIiPPdfb0pFeYEu/1ELnJu5l+5EcTKYL5M7zaAa7S8ddywgXypqKCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "array.prototype.flatmap": "^1.3.3", + "es-errors": "^1.3.0", + "object.entries": "^1.1.9", + "semver": "^6.3.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/node-exports-info/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/node-releases": { - "version": "2.0.27", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz", - "integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==", + "version": "2.0.36", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.36.tgz", + "integrity": "sha512-TdC8FSgHz8Mwtw9g5L4gR/Sh9XhSP/0DEkQxfEFXOpiul5IiHgHan2VhYYb6agDSfp4KuvltmGApc8HMgUrIkA==", "dev": true, "license": "MIT" }, @@ -11972,9 +12065,9 @@ } }, "node_modules/postcss": { - "version": "8.5.6", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", - "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", + "version": "8.5.8", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.8.tgz", + "integrity": "sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg==", "dev": true, "funding": [ { @@ -12180,14 +12273,15 @@ "license": "MIT" }, "node_modules/react-day-picker": { - "version": "9.13.2", - "resolved": "https://registry.npmjs.org/react-day-picker/-/react-day-picker-9.13.2.tgz", - "integrity": "sha512-IMPiXfXVIAuR5Yk58DDPBC8QKClrhdXV+Tr/alBrwrHUw0qDDYB1m5zPNuTnnPIr/gmJ4ChMxmtqPdxm8+R4Eg==", + "version": "9.14.0", + "resolved": "https://registry.npmjs.org/react-day-picker/-/react-day-picker-9.14.0.tgz", + "integrity": "sha512-tBaoDWjPwe0M5pGrum4H0SR6Lyk+BO9oHnp9JbKpGKW2mlraNPgP9BMfsg5pWpwrssARmeqk7YBl2oXutZTaHA==", "license": "MIT", "dependencies": { "@date-fns/tz": "^1.4.1", + "@tabby_ai/hijri-converter": "1.0.5", "date-fns": "^4.1.0", - "date-fns-jalali": "^4.1.0-0" + "date-fns-jalali": "4.1.0-0" }, "engines": { "node": ">=18" @@ -12234,9 +12328,9 @@ "license": "MIT" }, "node_modules/react-international-phone": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/react-international-phone/-/react-international-phone-4.7.0.tgz", - "integrity": "sha512-PMC8bGDkNOdRQSMxtz8XL4tlKb5nCB5SpbBc4QkDx9NZs+eLtgfGUBlwF8fEE0uB3W6CShgpWA5zl9niwHUVpA==", + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/react-international-phone/-/react-international-phone-4.8.0.tgz", + "integrity": "sha512-PoyXx8t0OZNZXLupZN5UtmLb8nO6PQ6f6jQvYCAtg7VzxonuBcDs/4YA4+flqZZj5QOVqN4DLY1p39mEtJAwzw==", "license": "MIT", "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" @@ -12907,9 +13001,9 @@ } }, "node_modules/rimraf/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", "dev": true, "license": "ISC", "dependencies": { @@ -12920,9 +13014,9 @@ } }, "node_modules/rollup": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.57.1.tgz", - "integrity": "sha512-oQL6lgK3e2QZeQ7gcgIkS2YZPg5slw37hYufJ3edKlfQSGGm8ICoxswK15ntSzF/a8+h7ekRy7k7oWc3BQ7y8A==", + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.59.0.tgz", + "integrity": "sha512-2oMpl67a3zCH9H79LeMcbDhXW/UmWG/y2zuqnF2jQq5uq9TbM9TVyXvA4+t+ne2IIkBdrLpAaRQAvo7YI/Yyeg==", "dev": true, "license": "MIT", "dependencies": { @@ -12936,31 +13030,31 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.57.1", - "@rollup/rollup-android-arm64": "4.57.1", - "@rollup/rollup-darwin-arm64": "4.57.1", - "@rollup/rollup-darwin-x64": "4.57.1", - "@rollup/rollup-freebsd-arm64": "4.57.1", - "@rollup/rollup-freebsd-x64": "4.57.1", - "@rollup/rollup-linux-arm-gnueabihf": "4.57.1", - "@rollup/rollup-linux-arm-musleabihf": "4.57.1", - "@rollup/rollup-linux-arm64-gnu": "4.57.1", - "@rollup/rollup-linux-arm64-musl": "4.57.1", - "@rollup/rollup-linux-loong64-gnu": "4.57.1", - "@rollup/rollup-linux-loong64-musl": "4.57.1", - "@rollup/rollup-linux-ppc64-gnu": "4.57.1", - "@rollup/rollup-linux-ppc64-musl": "4.57.1", - "@rollup/rollup-linux-riscv64-gnu": "4.57.1", - "@rollup/rollup-linux-riscv64-musl": "4.57.1", - "@rollup/rollup-linux-s390x-gnu": "4.57.1", - "@rollup/rollup-linux-x64-gnu": "4.57.1", - "@rollup/rollup-linux-x64-musl": "4.57.1", - "@rollup/rollup-openbsd-x64": "4.57.1", - "@rollup/rollup-openharmony-arm64": "4.57.1", - "@rollup/rollup-win32-arm64-msvc": "4.57.1", - "@rollup/rollup-win32-ia32-msvc": "4.57.1", - "@rollup/rollup-win32-x64-gnu": "4.57.1", - "@rollup/rollup-win32-x64-msvc": "4.57.1", + "@rollup/rollup-android-arm-eabi": "4.59.0", + "@rollup/rollup-android-arm64": "4.59.0", + "@rollup/rollup-darwin-arm64": "4.59.0", + "@rollup/rollup-darwin-x64": "4.59.0", + "@rollup/rollup-freebsd-arm64": "4.59.0", + "@rollup/rollup-freebsd-x64": "4.59.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.59.0", + "@rollup/rollup-linux-arm-musleabihf": "4.59.0", + "@rollup/rollup-linux-arm64-gnu": "4.59.0", + "@rollup/rollup-linux-arm64-musl": "4.59.0", + "@rollup/rollup-linux-loong64-gnu": "4.59.0", + "@rollup/rollup-linux-loong64-musl": "4.59.0", + "@rollup/rollup-linux-ppc64-gnu": "4.59.0", + "@rollup/rollup-linux-ppc64-musl": "4.59.0", + "@rollup/rollup-linux-riscv64-gnu": "4.59.0", + "@rollup/rollup-linux-riscv64-musl": "4.59.0", + "@rollup/rollup-linux-s390x-gnu": "4.59.0", + "@rollup/rollup-linux-x64-gnu": "4.59.0", + "@rollup/rollup-linux-x64-musl": "4.59.0", + "@rollup/rollup-openbsd-x64": "4.59.0", + "@rollup/rollup-openharmony-arm64": "4.59.0", + "@rollup/rollup-win32-arm64-msvc": "4.59.0", + "@rollup/rollup-win32-ia32-msvc": "4.59.0", + "@rollup/rollup-win32-x64-gnu": "4.59.0", + "@rollup/rollup-win32-x64-msvc": "4.59.0", "fsevents": "~2.3.2" } }, @@ -13053,13 +13147,13 @@ } }, "node_modules/sass": { - "version": "1.97.3", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.97.3.tgz", - "integrity": "sha512-fDz1zJpd5GycprAbu4Q2PV/RprsRtKC/0z82z0JLgdytmcq0+ujJbJ/09bPGDxCLkKY3Np5cRAOcWiVkLXJURg==", + "version": "1.98.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.98.0.tgz", + "integrity": "sha512-+4N/u9dZ4PrgzGgPlKnaaRQx64RO0JBKs9sDhQ2pLgN6JQZ25uPQZKQYaBJU48Kd5BxgXoJ4e09Dq7nMcOUW3A==", "license": "MIT", "dependencies": { "chokidar": "^4.0.0", - "immutable": "^5.0.2", + "immutable": "^5.1.5", "source-map-js": ">=0.6.2 <2.0.0" }, "bin": { @@ -13072,6 +13166,16 @@ "@parcel/watcher": "^2.4.1" } }, + "node_modules/sax": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.6.0.tgz", + "integrity": "sha512-6R3J5M4AcbtLUdZmRv2SygeVaM7IhrLXu9BmnOGmmACak8fiUtOsYNWUS4uK7upbmHIBbLBeFeI//477BKLBzA==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=11.0.0" + } + }, "node_modules/scheduler": { "version": "0.27.0", "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", @@ -13505,13 +13609,13 @@ } }, "node_modules/string-width/node_modules/strip-ansi": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", - "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", + "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", "dev": true, "license": "MIT", "dependencies": { - "ansi-regex": "^6.0.1" + "ansi-regex": "^6.2.2" }, "engines": { "node": ">=12" @@ -13770,19 +13874,19 @@ "license": "MIT" }, "node_modules/svgo": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.3.2.tgz", - "integrity": "sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.3.3.tgz", + "integrity": "sha512-+wn7I4p7YgJhHs38k2TNjy1vCfPIfLIJWR5MnCStsN8WuuTcBnRKcMHQLMM2ijxGZmDoZwNv8ipl5aTTen62ng==", "dev": true, "license": "MIT", "dependencies": { - "@trysound/sax": "0.2.0", "commander": "^7.2.0", "css-select": "^5.1.0", "css-tree": "^2.3.1", "css-what": "^6.1.0", "csso": "^5.0.5", - "picocolors": "^1.0.0" + "picocolors": "^1.0.0", + "sax": "^1.5.0" }, "bin": { "svgo": "bin/svgo" @@ -14412,24 +14516,24 @@ } }, "node_modules/vite": { - "version": "6.3.5", - "resolved": "https://registry.npmjs.org/vite/-/vite-6.3.5.tgz", - "integrity": "sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==", + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/vite/-/vite-7.3.1.tgz", + "integrity": "sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA==", "dev": true, "license": "MIT", "dependencies": { - "esbuild": "^0.25.0", - "fdir": "^6.4.4", - "picomatch": "^4.0.2", - "postcss": "^8.5.3", - "rollup": "^4.34.9", - "tinyglobby": "^0.2.13" + "esbuild": "^0.27.0", + "fdir": "^6.5.0", + "picomatch": "^4.0.3", + "postcss": "^8.5.6", + "rollup": "^4.43.0", + "tinyglobby": "^0.2.15" }, "bin": { "vite": "bin/vite.js" }, "engines": { - "node": "^18.0.0 || ^20.0.0 || >=22.0.0" + "node": "^20.19.0 || >=22.12.0" }, "funding": { "url": "https://github.com/vitejs/vite?sponsor=1" @@ -14438,14 +14542,14 @@ "fsevents": "~2.3.3" }, "peerDependencies": { - "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", + "@types/node": "^20.19.0 || >=22.12.0", "jiti": ">=1.21.0", - "less": "*", + "less": "^4.0.0", "lightningcss": "^1.21.0", - "sass": "*", - "sass-embedded": "*", - "stylus": "*", - "sugarss": "*", + "sass": "^1.70.0", + "sass-embedded": "^1.70.0", + "stylus": ">=0.54.8", + "sugarss": "^5.0.0", "terser": "^5.16.0", "tsx": "^4.8.1", "yaml": "^2.4.2" @@ -14562,525 +14666,41 @@ } } }, - "node_modules/vite/node_modules/@esbuild/aix-ppc64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz", - "integrity": "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==", - "cpu": [ - "ppc64" - ], + "node_modules/vite/node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "aix" - ], "engines": { - "node": ">=18" + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } } }, - "node_modules/vite/node_modules/@esbuild/android-arm": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.12.tgz", - "integrity": "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==", - "cpu": [ - "arm" - ], + "node_modules/vite/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "android" - ], "engines": { - "node": ">=18" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/vite/node_modules/@esbuild/android-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.12.tgz", - "integrity": "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/vite/node_modules/@esbuild/android-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.12.tgz", - "integrity": "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/vite/node_modules/@esbuild/darwin-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz", - "integrity": "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/vite/node_modules/@esbuild/darwin-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.12.tgz", - "integrity": "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/vite/node_modules/@esbuild/freebsd-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.12.tgz", - "integrity": "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/vite/node_modules/@esbuild/freebsd-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.12.tgz", - "integrity": "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/vite/node_modules/@esbuild/linux-arm": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.12.tgz", - "integrity": "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/vite/node_modules/@esbuild/linux-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.12.tgz", - "integrity": "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/vite/node_modules/@esbuild/linux-ia32": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.12.tgz", - "integrity": "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/vite/node_modules/@esbuild/linux-loong64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.12.tgz", - "integrity": "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==", - "cpu": [ - "loong64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/vite/node_modules/@esbuild/linux-mips64el": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.12.tgz", - "integrity": "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==", - "cpu": [ - "mips64el" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/vite/node_modules/@esbuild/linux-ppc64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.12.tgz", - "integrity": "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/vite/node_modules/@esbuild/linux-riscv64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.12.tgz", - "integrity": "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/vite/node_modules/@esbuild/linux-s390x": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.12.tgz", - "integrity": "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==", - "cpu": [ - "s390x" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/vite/node_modules/@esbuild/linux-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz", - "integrity": "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/vite/node_modules/@esbuild/netbsd-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz", - "integrity": "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/vite/node_modules/@esbuild/netbsd-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz", - "integrity": "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/vite/node_modules/@esbuild/openbsd-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz", - "integrity": "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/vite/node_modules/@esbuild/openbsd-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz", - "integrity": "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/vite/node_modules/@esbuild/openharmony-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz", - "integrity": "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openharmony" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/vite/node_modules/@esbuild/sunos-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz", - "integrity": "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/vite/node_modules/@esbuild/win32-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz", - "integrity": "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/vite/node_modules/@esbuild/win32-ia32": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz", - "integrity": "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/vite/node_modules/@esbuild/win32-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz", - "integrity": "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/vite/node_modules/esbuild": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.12.tgz", - "integrity": "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=18" - }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.25.12", - "@esbuild/android-arm": "0.25.12", - "@esbuild/android-arm64": "0.25.12", - "@esbuild/android-x64": "0.25.12", - "@esbuild/darwin-arm64": "0.25.12", - "@esbuild/darwin-x64": "0.25.12", - "@esbuild/freebsd-arm64": "0.25.12", - "@esbuild/freebsd-x64": "0.25.12", - "@esbuild/linux-arm": "0.25.12", - "@esbuild/linux-arm64": "0.25.12", - "@esbuild/linux-ia32": "0.25.12", - "@esbuild/linux-loong64": "0.25.12", - "@esbuild/linux-mips64el": "0.25.12", - "@esbuild/linux-ppc64": "0.25.12", - "@esbuild/linux-riscv64": "0.25.12", - "@esbuild/linux-s390x": "0.25.12", - "@esbuild/linux-x64": "0.25.12", - "@esbuild/netbsd-arm64": "0.25.12", - "@esbuild/netbsd-x64": "0.25.12", - "@esbuild/openbsd-arm64": "0.25.12", - "@esbuild/openbsd-x64": "0.25.12", - "@esbuild/openharmony-arm64": "0.25.12", - "@esbuild/sunos-x64": "0.25.12", - "@esbuild/win32-arm64": "0.25.12", - "@esbuild/win32-ia32": "0.25.12", - "@esbuild/win32-x64": "0.25.12" - } - }, - "node_modules/vite/node_modules/fdir": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", - "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "picomatch": "^3 || ^4" - }, - "peerDependenciesMeta": { - "picomatch": { - "optional": true - } - } - }, - "node_modules/vite/node_modules/picomatch": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/vscode-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.1.0.tgz", - "integrity": "sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==", + "node_modules/vscode-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.1.0.tgz", + "integrity": "sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==", "dev": true, "license": "MIT" }, @@ -15310,13 +14930,13 @@ } }, "node_modules/wrap-ansi/node_modules/strip-ansi": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", - "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", + "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", "dev": true, "license": "MIT", "dependencies": { - "ansi-regex": "^6.0.1" + "ansi-regex": "^6.2.2" }, "engines": { "node": ">=12" diff --git a/package.json b/package.json index ee871a059..82ce94ccc 100644 --- a/package.json +++ b/package.json @@ -40,7 +40,7 @@ "@esbuild-plugins/node-globals-polyfill": "0.2.3", "react": "^19.2.4", "react-dom": "^19.2.4", - "@laynezh/vite-plugin-lib-assets": "1.1.0", + "@laynezh/vite-plugin-lib-assets": "2.2.0", "@sentry/browser": "^7.119.1", "@tanstack/eslint-plugin-query": "^5.91.4", "@tanstack/react-query-devtools": "^5.91.3", @@ -75,7 +75,7 @@ "sharp": "^0.33.5", "svgo": "^3.3.2", "typescript": "5.5.4", - "vite": "6.3.5", + "vite": "^7.3.0", "vite-plugin-dts": "4.5.4", "vite-plugin-lib-inject-css": "2.1.1", "vite-plugin-svgr": "^2.4.0", @@ -142,7 +142,7 @@ "eslint-plugin-react-hooks": "^5.2.0", "cross-spawn": "^7.0.5", "vite-plugin-svgr": { - "vite": "6.3.5" + "vite": "^7.3.0" }, "react-virtualized-sticky-tree": { "react": "^19.2.4", From 728e797a0ab04550c726731a2ccb0f8c0732372d Mon Sep 17 00:00:00 2001 From: AbhishekA1509 Date: Mon, 23 Mar 2026 12:37:38 +0530 Subject: [PATCH 121/134] chore: update version to 1.23.3-beta-5 and fix popover variant naming in SelectPicker components --- package-lock.json | 4 ++-- package.json | 2 +- .../Components/SelectPicker/GroupedFilterSelectPicker.tsx | 6 +++--- src/Shared/Components/SelectPicker/type.ts | 8 ++++---- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/package-lock.json b/package-lock.json index ffce5cefa..21c08a317 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.23.3-beta-4", + "version": "1.23.3-beta-5", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.23.3-beta-4", + "version": "1.23.3-beta-5", "hasInstallScript": true, "license": "ISC", "dependencies": { diff --git a/package.json b/package.json index 8c4c04f4c..20efb867f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.23.3-beta-4", + "version": "1.23.3-beta-5", "description": "Supporting common component library", "type": "module", "main": "dist/index.js", diff --git a/src/Shared/Components/SelectPicker/GroupedFilterSelectPicker.tsx b/src/Shared/Components/SelectPicker/GroupedFilterSelectPicker.tsx index 00e25303b..715763923 100644 --- a/src/Shared/Components/SelectPicker/GroupedFilterSelectPicker.tsx +++ b/src/Shared/Components/SelectPicker/GroupedFilterSelectPicker.tsx @@ -43,7 +43,7 @@ export const GroupedFilterSelectPicker = ({ const { registerShortcut, unregisterShortcut } = useRegisterShortcut() const selectedItemConfig = selectedActionMenuItem ? filterSelectPickerPropsMap[selectedActionMenuItem] : null - const isPopOverVariant = selectedItemConfig?.variant === 'popOver' + const isPopOverVariant = selectedItemConfig?.variant === 'popover' const { open: isFilterPopoverOpen, @@ -127,7 +127,7 @@ export const GroupedFilterSelectPicker = ({ return ( ({ if (selectedActionMenuItem) { const config = filterSelectPickerPropsMap[selectedActionMenuItem] - if (config.variant !== 'popOver') { + if (config.variant !== 'popover') { // eslint-disable-next-line @typescript-eslint/no-unused-vars const { variant: _variant, ...filterProps } = config as FilterSelectPickerMapSelectPickerVariant return ( diff --git a/src/Shared/Components/SelectPicker/type.ts b/src/Shared/Components/SelectPicker/type.ts index f5fac54c6..f3547722a 100644 --- a/src/Shared/Components/SelectPicker/type.ts +++ b/src/Shared/Components/SelectPicker/type.ts @@ -14,7 +14,7 @@ * limitations under the License. */ -import { LegacyRef, MutableRefObject, ReactElement, ReactNode } from 'react' +import { MutableRefObject, ReactElement, ReactNode } from 'react' import { GroupBase, GroupHeadingProps, Props as ReactSelectProps, SelectInstance } from 'react-select' // This import allows to extend the base interface in react-select module via module augmentation import type {} from 'react-select/base' @@ -29,7 +29,7 @@ import { ComponentSizeType } from '@Shared/constants' import { ActionMenuProps } from '../ActionMenu' import { ButtonComponentType, ButtonProps, ButtonVariantType } from '../Button' import { FormFieldWrapperProps } from '../FormFieldWrapper/types' -import { UsePopoverProps } from '../Popover' +import { UsePopoverProps, UsePopoverReturnType } from '../Popover' export interface SelectPickerOptionType extends OptionType { @@ -379,12 +379,12 @@ export type FilterSelectPickerMapSelectPickerVariant = { } & Omit type FilterSelectPickerMapPopOverVariant = { - variant: 'popOver' + variant: 'popover' /** * Component rendered inside the Popover. * Receives `closePopover` as a prop to allow programmatic closing. */ - component: (closePopover: () => void, scrollableRef: MutableRefObject | LegacyRef) => ReactElement + component: (closePopover: () => void, scrollableRef: UsePopoverReturnType['scrollableRef']) => ReactElement /** * Optional positioning config forwarded to usePopover */ From 0daf8f0c55fe292ab5ba70ccfeecdb752d30d55f Mon Sep 17 00:00:00 2001 From: AbhishekA1509 Date: Tue, 24 Mar 2026 11:52:37 +0530 Subject: [PATCH 122/134] chore: update version from 1.23.3-beta-5 to 1.23.3-pre-0 in package.json and package-lock.json --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 21c08a317..eec5236a4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.23.3-beta-5", + "version": "1.23.3-pre-0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.23.3-beta-5", + "version": "1.23.3-pre-0", "hasInstallScript": true, "license": "ISC", "dependencies": { diff --git a/package.json b/package.json index 20efb867f..2fe6b3e1a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.23.3-beta-5", + "version": "1.23.3-pre-0", "description": "Supporting common component library", "type": "module", "main": "dist/index.js", From ffa4ce21062d8e275ecd1f23fed2f68ad89befa8 Mon Sep 17 00:00:00 2001 From: Arun Jain Date: Tue, 24 Mar 2026 16:45:06 +0530 Subject: [PATCH 123/134] chore: update vite to v8 --- package-lock.json | 1745 +++++++++-------- package.json | 22 +- scripts/generate-icon.cjs | 2 +- scripts/generate-illustration.cjs | 2 +- .../ClipboardButton/ClipboardButton.tsx | 4 +- .../CustomTagSelector/PropagateTagInfo.tsx | 4 +- src/Common/CustomTagSelector/TagDetails.tsx | 4 +- .../TagLabelValueSelector.tsx | 4 +- .../DebouncedSearch/DebouncedSearch.tsx | 2 +- .../DevtronProgressing/DevtronProgressing.tsx | 2 +- src/Common/Dialogs/DialogForm.tsx | 4 +- .../DraggableWrapper/DraggableButton.tsx | 2 +- .../GenericDescription/GenericDescription.tsx | 4 +- src/Common/GenericDescription/constant.tsx | 22 +- src/Common/Helper.tsx | 12 +- src/Common/ImageTags.tsx | 18 +- src/Common/MultiSelectCustomization.tsx | 8 +- .../templates/ButtonTemplates/AddButton.tsx | 2 +- .../ButtonTemplates/RemoveButton.tsx | 2 +- .../RJSF/templates/FieldErrorTemplate.tsx | 2 +- src/Common/Select/Select.tsx | 2 +- .../SortableTableHeaderCell.tsx | 4 +- src/Common/TippyCustomized.tsx | 6 +- src/Common/Types.ts | 2 +- .../DTApplicationMetricsFormField.tsx | 2 +- .../CIPipeline/components/FileConfigTippy.tsx | 2 +- .../components/SystemVariableIcon.tsx | 2 +- .../UserRoleGroupTableRow.tsx | 2 +- .../BuildInfra/BuildInfraFormAction.tsx | 2 +- .../BuildInfra/constants.tsx | 10 +- .../ResourceBrowser/NodeDrainOptions.tsx | 2 +- src/Pages/ResourceBrowser/constants.tsx | 6 +- .../ArtifactInfoModal.component.tsx | 4 +- .../BulkOperationsResultModal.tsx | 8 +- .../BulkSelection/BulkSelection.tsx | 2 +- .../ButtonWithSelector/ButtonWithSelector.tsx | 2 +- .../Components/CICDHistory/Artifacts.tsx | 11 +- .../BuildAndTaskSummaryTooltipCard.tsx | 4 +- .../Components/CICDHistory/CDEmptyState.tsx | 3 +- .../CICDHistory/CiPipelineSourceConfig.tsx | 2 +- .../CICDHistory/DeploymentDetailSteps.tsx | 2 +- .../DeploymentHistoryDiffView.tsx | 2 +- .../DeploymentHistoryConfigDiff/helpers.tsx | 4 +- .../CICDHistory/DeploymentStatusDetailRow.tsx | 2 +- .../Components/CICDHistory/GitTriggerList.tsx | 2 +- .../CICDHistory/History.components.tsx | 6 +- .../CICDHistory/LogStageAccordion.tsx | 4 +- .../Components/CICDHistory/LogsRenderer.tsx | 12 +- src/Shared/Components/CICDHistory/Sidebar.tsx | 4 +- .../StatusFilterButtonComponent.tsx | 2 +- .../Components/CICDHistory/TriggerDetails.tsx | 8 +- .../Components/CICDHistory/WorkerStatus.tsx | 2 +- src/Shared/Components/CICDHistory/utils.tsx | 6 +- .../CodeEditor/CodeEditor.components.tsx | 8 +- .../CodeEditor/Extensions/findAndReplace.tsx | 18 +- src/Shared/Components/CodeEditor/utils.tsx | 2 +- .../CollapsibleList.component.tsx | 2 +- .../CommitChipCell/CommitChipCell.tsx | 2 +- .../Confetti/Confetti.component.tsx | 29 - src/Shared/Components/Confetti/index.ts | 17 - .../ConfirmationModal/ConfirmationModal.tsx | 4 - .../Components/ConfirmationModal/types.ts | 4 - .../Components/ConfirmationModal/utils.tsx | 6 +- .../Components/CustomInput/PasswordField.tsx | 4 +- .../Components/DatePicker/DateTimePicker.tsx | 4 +- .../Components/DatePicker/TimeSelect.tsx | 2 +- .../DeploymentConfigDiff.constants.ts | 6 +- .../DeploymentConfigDiff.utils.tsx | 8 +- .../DeploymentConfigDiffAccordion.tsx | 2 +- .../DeploymentConfigDiffMain.tsx | 4 +- .../DeploymentConfigDiffNavigation.tsx | 6 +- .../DynamicDataTableHeader.tsx | 4 +- .../EditImageFormField/EditImageFormField.tsx | 2 +- .../EditableTextArea/EditableTextArea.tsx | 2 +- .../ExcludedImageNode/ExcludedImageNode.tsx | 2 +- .../FeatureTitleWithInfo.tsx | 2 +- .../Components/FileUpload/FileUpload.tsx | 6 +- .../FloatingVariablesSuggestions.tsx | 2 +- .../Suggestions.tsx | 4 +- .../SuggestionsInfo.tsx | 4 +- .../GenericSectionErrorState.component.tsx | 4 +- .../GitCommitInfoGeneric.tsx | 20 +- .../Components/Header/IframePromoButton.tsx | 2 +- src/Shared/Components/Header/PageHeader.tsx | 2 +- src/Shared/Components/Icon/Icon.tsx | 670 +++---- .../IframeContainer/IframeElement.tsx | 4 +- .../Components/Illustration/Illustration.tsx | 20 +- .../ImageCard/ArtifactInfo/ArtifactInfo.tsx | 2 +- .../DeploymentEnvState/utils.tsx | 4 +- .../SequentialCDCardTitle.tsx | 2 +- .../ImageCardAccordion/ImageCardAccordion.tsx | 2 +- .../InfoIconTippy/InfoIconTippy.tsx | 4 +- .../Components/InvalidYAMLTippy/utils.tsx | 2 +- .../License/ActivateLicenseDialog.tsx | 2 +- .../Components/License/DevtronLicenseCard.tsx | 4 +- .../Components/License/License.components.tsx | 4 +- .../NumbersCount/NumbersCount.component.tsx | 2 +- src/Shared/Components/Plugin/PluginCard.tsx | 2 +- .../Plugin/PluginImageContainer.tsx | 2 +- .../Components/ReactSelect/constants.tsx | 2 +- src/Shared/Components/ReactSelect/utils.tsx | 6 +- .../ScannedByToolModal/ScannedByToolModal.tsx | 2 +- .../SecurityDetailsCards/SecurityCard.tsx | 8 +- .../SecurityDetailsCards.tsx | 2 +- .../Security/SecurityModal/SecurityModal.tsx | 4 +- .../components/IndexedTextDisplay.tsx | 2 +- .../SecurityModal/components/InfoCard.tsx | 2 +- .../SecurityModal/components/Table.tsx | 2 +- .../SecurityModal/config/ImageScan.tsx | 4 +- .../Security/SecurityModal/constants.tsx | 2 +- .../Security/SecurityModal/utils.tsx | 2 +- .../SelectPicker/FilterSelectPicker.tsx | 4 +- src/Shared/Components/SelectPicker/common.tsx | 4 +- .../Components/ShowMoreText/ShowMoreText.tsx | 2 +- .../Table/BulkSelectionActionWidget.tsx | 2 +- .../TagsKeyValueTable/TagsContainer.tsx | 2 +- .../TargetPlatformBadgeList.tsx | 2 +- .../UnsavedChanges.component.tsx | 2 +- .../WorkflowOptionsModal.tsx | 2 +- src/Shared/Components/index.ts | 1 - src/Shared/Helpers.tsx | 16 +- .../Services/ToastManager/constants.tsx | 12 +- src/custom.d.ts | 8 +- tsconfig.node.json | 4 +- vite.config.ts | 97 +- 125 files changed, 1611 insertions(+), 1496 deletions(-) delete mode 100644 src/Shared/Components/Confetti/Confetti.component.tsx delete mode 100644 src/Shared/Components/Confetti/index.ts diff --git a/package-lock.json b/package-lock.json index 54b1fa45f..6915740b4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.23.3-beta-3", + "version": "1.23.3-beta-7", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.23.3-beta-3", + "version": "1.23.3-beta-7", "hasInstallScript": true, "license": "ISC", "dependencies": { @@ -43,7 +43,6 @@ "marked": "^13.0.3", "nanoid": "^3.3.8", "qrcode.react": "^4.2.0", - "react-canvas-confetti": "^2.0.7", "react-csv": "^2.2.2", "react-day-picker": "^9.11.2", "react-draggable": "^4.4.5", @@ -62,12 +61,13 @@ "@typeform/embed-react": "2.20.0", "@types/dompurify": "^3.0.5", "@types/json-schema": "^7.0.15", + "@types/node": "^25.5.0", "@types/react": "^19.2.14", "@types/react-csv": "^1.1.10", "@types/react-dom": "^19.2.3", "@typescript-eslint/eslint-plugin": "8.3.0", "@typescript-eslint/parser": "8.3.0", - "@vitejs/plugin-react": "5.1.0", + "@vitejs/plugin-react": "6.0.1", "eslint": "^8.57.1", "eslint-config-airbnb": "^19.0.4", "eslint-config-prettier": "^9.1.0", @@ -91,11 +91,10 @@ "sharp": "^0.33.5", "svgo": "^3.3.2", "typescript": "5.5.4", - "vite": "^7.3.0", + "vite": "8.0.0", "vite-plugin-dts": "4.5.4", - "vite-plugin-lib-inject-css": "2.1.1", - "vite-plugin-svgr": "^2.4.0", - "vite-tsconfig-paths": "5.0.1" + "vite-plugin-lib-inject-css": "2.2.2", + "vite-plugin-svgr": "4.5.0" }, "peerDependencies": { "@typeform/embed-react": "2.20.0", @@ -111,29 +110,30 @@ } }, "node_modules/@ast-grep/napi": { - "version": "0.22.6", - "resolved": "https://registry.npmjs.org/@ast-grep/napi/-/napi-0.22.6.tgz", - "integrity": "sha512-kNF87HiI4omHC7VzyBZSvqOAXtMlSDRF2YX+O5ya0XKv/7/GYms1opLQ+BQ9twLLDj0WsSFX4MYg0TrinZTxTg==", + "version": "0.36.3", + "resolved": "https://registry.npmjs.org/@ast-grep/napi/-/napi-0.36.3.tgz", + "integrity": "sha512-ExypohE8L7FvKBHxu7UpwcV9XVfyS+AqNZKyKIfxYwJyD9l7Gw6pmMYd7J2uopJsPEIUf44/emEFds6nFUx/dw==", "dev": true, "license": "MIT", "engines": { "node": ">= 10" }, "optionalDependencies": { - "@ast-grep/napi-darwin-arm64": "0.22.6", - "@ast-grep/napi-darwin-x64": "0.22.6", - "@ast-grep/napi-linux-arm64-gnu": "0.22.6", - "@ast-grep/napi-linux-x64-gnu": "0.22.6", - "@ast-grep/napi-linux-x64-musl": "0.22.6", - "@ast-grep/napi-win32-arm64-msvc": "0.22.6", - "@ast-grep/napi-win32-ia32-msvc": "0.22.6", - "@ast-grep/napi-win32-x64-msvc": "0.22.6" + "@ast-grep/napi-darwin-arm64": "0.36.3", + "@ast-grep/napi-darwin-x64": "0.36.3", + "@ast-grep/napi-linux-arm64-gnu": "0.36.3", + "@ast-grep/napi-linux-arm64-musl": "0.36.3", + "@ast-grep/napi-linux-x64-gnu": "0.36.3", + "@ast-grep/napi-linux-x64-musl": "0.36.3", + "@ast-grep/napi-win32-arm64-msvc": "0.36.3", + "@ast-grep/napi-win32-ia32-msvc": "0.36.3", + "@ast-grep/napi-win32-x64-msvc": "0.36.3" } }, "node_modules/@ast-grep/napi-darwin-arm64": { - "version": "0.22.6", - "resolved": "https://registry.npmjs.org/@ast-grep/napi-darwin-arm64/-/napi-darwin-arm64-0.22.6.tgz", - "integrity": "sha512-L9rEGJ8fNi5LxbZj860wbXxjX7DLNV799zcTaPOSzYadvNyhMY3LWvDXd45Vtx6Dh8QRtCoEMQmw8KaRCEjm9A==", + "version": "0.36.3", + "resolved": "https://registry.npmjs.org/@ast-grep/napi-darwin-arm64/-/napi-darwin-arm64-0.36.3.tgz", + "integrity": "sha512-uM0Hrm5gcHqaBL64ktmPBFMTorTlPKWsUfi0E2Cg09GJfeYWvZmicCqgd7qVtjURmQvFQdb4JSqHIkJvws6Uqw==", "cpu": [ "arm64" ], @@ -148,9 +148,9 @@ } }, "node_modules/@ast-grep/napi-darwin-x64": { - "version": "0.22.6", - "resolved": "https://registry.npmjs.org/@ast-grep/napi-darwin-x64/-/napi-darwin-x64-0.22.6.tgz", - "integrity": "sha512-0iuM6iDJNhcPd6a/JJr64AallR7ttGW/MvUujfQdvJEZY5p9LK35xm23dULznW0tIMgwtMKPRaprgk8LPondKg==", + "version": "0.36.3", + "resolved": "https://registry.npmjs.org/@ast-grep/napi-darwin-x64/-/napi-darwin-x64-0.36.3.tgz", + "integrity": "sha512-wEMeQw8lRL66puG2m8m0kDRQDtubygj59HA/cmut2V5SPx/13BN3wuEk6JPv97gqGUCUGhG2+5Z6UZ/Ll2q01Q==", "cpu": [ "x64" ], @@ -165,9 +165,9 @@ } }, "node_modules/@ast-grep/napi-linux-arm64-gnu": { - "version": "0.22.6", - "resolved": "https://registry.npmjs.org/@ast-grep/napi-linux-arm64-gnu/-/napi-linux-arm64-gnu-0.22.6.tgz", - "integrity": "sha512-9PAqNJlAQfFm1RW0DVCM/S4gFHdppxUTWacB3qEeJZXgdLnoH0KGQa4z3Xo559SPYDKZy0VnY02mZ3XJ+v6/Vw==", + "version": "0.36.3", + "resolved": "https://registry.npmjs.org/@ast-grep/napi-linux-arm64-gnu/-/napi-linux-arm64-gnu-0.36.3.tgz", + "integrity": "sha512-sMsTMaUjW7SM8KPbLviCSBuM4zgJcwvie1yZI92HKSlFzC7ABe7X7UvyUREB+JwqccDVEL5yOJAjqB8eFSCizw==", "cpu": [ "arm64" ], @@ -184,10 +184,30 @@ "node": ">= 10" } }, + "node_modules/@ast-grep/napi-linux-arm64-musl": { + "version": "0.36.3", + "resolved": "https://registry.npmjs.org/@ast-grep/napi-linux-arm64-musl/-/napi-linux-arm64-musl-0.36.3.tgz", + "integrity": "sha512-2XRmNYuovZu0Pa4J3or4PKMkQZnXXfpVcCrPwWB/2ytX7XUo+TWLgYE8rPVnJOyw5zujkveFb0XUrro9mQgLzw==", + "cpu": [ + "arm64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, "node_modules/@ast-grep/napi-linux-x64-gnu": { - "version": "0.22.6", - "resolved": "https://registry.npmjs.org/@ast-grep/napi-linux-x64-gnu/-/napi-linux-x64-gnu-0.22.6.tgz", - "integrity": "sha512-nZf+gxXVrZqvP1LN6HwzOMA4brF3umBXfMequQzv8S6HeJ4c34P23F0Tw8mHtQpVYP9PQWJUvt3LJQ8Xvd5Hiw==", + "version": "0.36.3", + "resolved": "https://registry.npmjs.org/@ast-grep/napi-linux-x64-gnu/-/napi-linux-x64-gnu-0.36.3.tgz", + "integrity": "sha512-mTwPRbBi1feGqR2b5TWC5gkEDeRi8wfk4euF5sKNihfMGHj6pdfINHQ3QvLVO4C7z0r/wgWLAvditFA0b997dg==", "cpu": [ "x64" ], @@ -205,9 +225,9 @@ } }, "node_modules/@ast-grep/napi-linux-x64-musl": { - "version": "0.22.6", - "resolved": "https://registry.npmjs.org/@ast-grep/napi-linux-x64-musl/-/napi-linux-x64-musl-0.22.6.tgz", - "integrity": "sha512-gcJeBMgJQf2pZZo0lgH0Vg4ycyujM7Am8VlomXhavC/dPpkddA1tiHSIC4fCNneLU1EqHITy3ALSmM4GLdsjBw==", + "version": "0.36.3", + "resolved": "https://registry.npmjs.org/@ast-grep/napi-linux-x64-musl/-/napi-linux-x64-musl-0.36.3.tgz", + "integrity": "sha512-tMGPrT+zuZzJK6n1cD1kOii7HYZE9gUXjwtVNE/uZqXEaWP6lmkfoTMbLjnxEe74VQbmaoDGh1/cjrDBnqC6Uw==", "cpu": [ "x64" ], @@ -225,9 +245,9 @@ } }, "node_modules/@ast-grep/napi-win32-arm64-msvc": { - "version": "0.22.6", - "resolved": "https://registry.npmjs.org/@ast-grep/napi-win32-arm64-msvc/-/napi-win32-arm64-msvc-0.22.6.tgz", - "integrity": "sha512-YDDzvPIyl4ti8xZfjvGSGVCX9JJjMQjyWPlXcwRpiLRnHThtHTDL8PyE2yq+gAPuZ28QbrygMkP9EKXIyYFVcQ==", + "version": "0.36.3", + "resolved": "https://registry.npmjs.org/@ast-grep/napi-win32-arm64-msvc/-/napi-win32-arm64-msvc-0.36.3.tgz", + "integrity": "sha512-7pFyr9+dyV+4cBJJ1I57gg6PDXP3GBQeVAsEEitzEruxx4Hb4cyNro54gGtlsS+6ty+N0t004tPQxYO2VrsPIg==", "cpu": [ "arm64" ], @@ -242,9 +262,9 @@ } }, "node_modules/@ast-grep/napi-win32-ia32-msvc": { - "version": "0.22.6", - "resolved": "https://registry.npmjs.org/@ast-grep/napi-win32-ia32-msvc/-/napi-win32-ia32-msvc-0.22.6.tgz", - "integrity": "sha512-w5P0MDcBD3bifC2K9nCDEFYacy8HQnXdf6fX6cIE/7xL8XEDs6D1lQjGewrZDcMAXVXUQfupj4P27ZsJRmuIoQ==", + "version": "0.36.3", + "resolved": "https://registry.npmjs.org/@ast-grep/napi-win32-ia32-msvc/-/napi-win32-ia32-msvc-0.36.3.tgz", + "integrity": "sha512-MPAgccH9VscRaFuEBMzDGPS+3c4cKNVGIVJ7WSNa1nZtLQ0eFEaPJ7pyDnCezgVSxfNFVYBvKyyF/vcm7Qc9+A==", "cpu": [ "ia32" ], @@ -259,9 +279,9 @@ } }, "node_modules/@ast-grep/napi-win32-x64-msvc": { - "version": "0.22.6", - "resolved": "https://registry.npmjs.org/@ast-grep/napi-win32-x64-msvc/-/napi-win32-x64-msvc-0.22.6.tgz", - "integrity": "sha512-1aaHvgsCBwUP0tDf4HXPMpUV/nUwsOWgRCiBc2zIJjdEjT9TTk795EIX9Z1Nc0OMCrxVEceyiKcYTofXa0Fpxw==", + "version": "0.36.3", + "resolved": "https://registry.npmjs.org/@ast-grep/napi-win32-x64-msvc/-/napi-win32-x64-msvc-0.36.3.tgz", + "integrity": "sha512-TIVtuSbXhty9kaSEfr4ULWx5PAuUeGgUkFaR60lmOs7sGTWgpig+suwKfTmevoAblFknCW/aMHOwziwJoUZA6A==", "cpu": [ "x64" ], @@ -330,6 +350,13 @@ "url": "https://opencollective.com/babel" } }, + "node_modules/@babel/core/node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "license": "MIT" + }, "node_modules/@babel/core/node_modules/semver": { "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", @@ -373,6 +400,16 @@ "node": ">=6.9.0" } }, + "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, "node_modules/@babel/helper-compilation-targets/node_modules/semver": { "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", @@ -423,16 +460,6 @@ "@babel/core": "^7.0.0" } }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.28.6.tgz", - "integrity": "sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/helper-string-parser": { "version": "7.27.1", "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", @@ -490,38 +517,6 @@ "node": ">=6.0.0" } }, - "node_modules/@babel/plugin-transform-react-jsx-self": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz", - "integrity": "sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx-source": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz", - "integrity": "sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, "node_modules/@babel/runtime": { "version": "7.29.2", "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.29.2.tgz", @@ -729,9 +724,9 @@ "license": "MIT" }, "node_modules/@emnapi/core": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.9.0.tgz", - "integrity": "sha512-0DQ98G9ZQZOxfUcQn1waV2yS8aWdZ6kJMbYCJB3oUBecjWYO1fqJ+a1DRfPF3O5JEkwqwP1A9QEN/9mYm2Yd0w==", + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.9.1.tgz", + "integrity": "sha512-mukuNALVsoix/w1BJwFzwXBN/dHeejQtuVzcDsfOEsdpCumXb/E9j8w11h5S54tT1xhifGfbbSm/ICrObRb3KA==", "dev": true, "license": "MIT", "optional": true, @@ -741,9 +736,9 @@ } }, "node_modules/@emnapi/runtime": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.9.0.tgz", - "integrity": "sha512-QN75eB0IH2ywSpRpNddCRfQIhmJYBCJ1x5Lb3IscKAL8bMnVAKnRg8dCoXbHzVLLH7P38N2Z3mtulB7W0J0FKw==", + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.9.1.tgz", + "integrity": "sha512-VYi5+ZVLhpgK4hQ0TAjiQiZ6ol0oe4mBx7mVv7IflsiEp0OWoVsp/+f9Vc1hOhE0TtkORVrI1GvzyreqpgWtkA==", "dev": true, "license": "MIT", "optional": true, @@ -782,13 +777,6 @@ "stylis": "4.2.0" } }, - "node_modules/@emotion/babel-plugin/node_modules/convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", - "license": "MIT", - "peer": true - }, "node_modules/@emotion/cache": { "version": "11.14.0", "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.14.0.tgz", @@ -917,6 +905,7 @@ "os": [ "aix" ], + "peer": true, "engines": { "node": ">=18" } @@ -934,6 +923,7 @@ "os": [ "android" ], + "peer": true, "engines": { "node": ">=18" } @@ -951,6 +941,7 @@ "os": [ "android" ], + "peer": true, "engines": { "node": ">=18" } @@ -968,6 +959,7 @@ "os": [ "android" ], + "peer": true, "engines": { "node": ">=18" } @@ -985,6 +977,7 @@ "os": [ "darwin" ], + "peer": true, "engines": { "node": ">=18" } @@ -1002,6 +995,7 @@ "os": [ "darwin" ], + "peer": true, "engines": { "node": ">=18" } @@ -1019,6 +1013,7 @@ "os": [ "freebsd" ], + "peer": true, "engines": { "node": ">=18" } @@ -1036,6 +1031,7 @@ "os": [ "freebsd" ], + "peer": true, "engines": { "node": ">=18" } @@ -1053,6 +1049,7 @@ "os": [ "linux" ], + "peer": true, "engines": { "node": ">=18" } @@ -1070,6 +1067,7 @@ "os": [ "linux" ], + "peer": true, "engines": { "node": ">=18" } @@ -1087,6 +1085,7 @@ "os": [ "linux" ], + "peer": true, "engines": { "node": ">=18" } @@ -1104,6 +1103,7 @@ "os": [ "linux" ], + "peer": true, "engines": { "node": ">=18" } @@ -1121,6 +1121,7 @@ "os": [ "linux" ], + "peer": true, "engines": { "node": ">=18" } @@ -1138,6 +1139,7 @@ "os": [ "linux" ], + "peer": true, "engines": { "node": ">=18" } @@ -1155,6 +1157,7 @@ "os": [ "linux" ], + "peer": true, "engines": { "node": ">=18" } @@ -1172,6 +1175,7 @@ "os": [ "linux" ], + "peer": true, "engines": { "node": ">=18" } @@ -1189,6 +1193,7 @@ "os": [ "linux" ], + "peer": true, "engines": { "node": ">=18" } @@ -1206,6 +1211,7 @@ "os": [ "netbsd" ], + "peer": true, "engines": { "node": ">=18" } @@ -1223,6 +1229,7 @@ "os": [ "netbsd" ], + "peer": true, "engines": { "node": ">=18" } @@ -1240,6 +1247,7 @@ "os": [ "openbsd" ], + "peer": true, "engines": { "node": ">=18" } @@ -1257,6 +1265,7 @@ "os": [ "openbsd" ], + "peer": true, "engines": { "node": ">=18" } @@ -1274,6 +1283,7 @@ "os": [ "openharmony" ], + "peer": true, "engines": { "node": ">=18" } @@ -1291,6 +1301,7 @@ "os": [ "sunos" ], + "peer": true, "engines": { "node": ">=18" } @@ -1308,6 +1319,7 @@ "os": [ "win32" ], + "peer": true, "engines": { "node": ">=18" } @@ -1325,6 +1337,7 @@ "os": [ "win32" ], + "peer": true, "engines": { "node": ">=18" } @@ -1342,6 +1355,7 @@ "os": [ "win32" ], + "peer": true, "engines": { "node": ">=18" } @@ -2372,6 +2386,26 @@ "node": ">=12.4.0" } }, + "node_modules/@oxc-project/runtime": { + "version": "0.115.0", + "resolved": "https://registry.npmjs.org/@oxc-project/runtime/-/runtime-0.115.0.tgz", + "integrity": "sha512-Rg8Wlt5dCbXhQnsXPrkOjL1DTSvXLgb2R/KYfnf1/K+R0k6UMLEmbQXPM+kwrWqSmWA2t0B1EtHy2/3zikQpvQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@oxc-project/types": { + "version": "0.115.0", + "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.115.0.tgz", + "integrity": "sha512-4n91DKnebUS4yjUHl2g3/b2T+IUdCfmoZGhmwsovZCDaJSs+QkVAM+0AqqTxHSsHfeiMuueT75cZaZcT/m0pSw==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/Boshen" + } + }, "node_modules/@parcel/watcher": { "version": "2.5.6", "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.6.tgz", @@ -2687,9 +2721,9 @@ } }, "node_modules/@parcel/watcher/node_modules/picomatch": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", "license": "MIT", "optional": true, "engines": { @@ -2827,67 +2861,10 @@ "@rjsf/utils": "^6.4.x" } }, - "node_modules/@rolldown/pluginutils": { - "version": "1.0.0-beta.43", - "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.43.tgz", - "integrity": "sha512-5Uxg7fQUCmfhax7FJke2+8B6cqgeUJUD9o2uXIKXhD+mG0mL6NObmVoi9wXEU1tY89mZKgAYA6fTbftx3q2ZPQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/@rollup/pluginutils": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.3.0.tgz", - "integrity": "sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0", - "estree-walker": "^2.0.2", - "picomatch": "^4.0.2" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" - }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - } - } - }, - "node_modules/@rollup/pluginutils/node_modules/picomatch": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.59.0.tgz", - "integrity": "sha512-upnNBkA6ZH2VKGcBj9Fyl9IGNPULcjXRlg0LLeaioQWueH30p6IXtJEbKAgvyv+mJaMxSm1l6xwDXYjpEMiLMg==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-android-arm64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.59.0.tgz", - "integrity": "sha512-hZ+Zxj3SySm4A/DylsDKZAeVg0mvi++0PYVceVyX7hemkw7OreKdCvW2oQ3T1FMZvCaQXqOTHb8qmBShoqk69Q==", + "node_modules/@rolldown/binding-android-arm64": { + "version": "1.0.0-rc.9", + "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0-rc.9.tgz", + "integrity": "sha512-lcJL0bN5hpgJfSIz/8PIf02irmyL43P+j1pTCfbD1DbLkmGRuFIA4DD3B3ZOvGqG0XiVvRznbKtN0COQVaKUTg==", "cpu": [ "arm64" ], @@ -2896,12 +2873,15 @@ "optional": true, "os": [ "android" - ] + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.59.0.tgz", - "integrity": "sha512-W2Psnbh1J8ZJw0xKAd8zdNgF9HRLkdWwwdWqubSVk0pUuQkoHnv7rx4GiF9rT4t5DIZGAsConRE3AxCdJ4m8rg==", + "node_modules/@rolldown/binding-darwin-arm64": { + "version": "1.0.0-rc.9", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.0-rc.9.tgz", + "integrity": "sha512-J7Zk3kLYFsLtuH6U+F4pS2sYVzac0qkjcO5QxHS7OS7yZu2LRs+IXo+uvJ/mvpyUljDJ3LROZPoQfgBIpCMhdQ==", "cpu": [ "arm64" ], @@ -2910,12 +2890,15 @@ "optional": true, "os": [ "darwin" - ] + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.59.0.tgz", - "integrity": "sha512-ZW2KkwlS4lwTv7ZVsYDiARfFCnSGhzYPdiOU4IM2fDbL+QGlyAbjgSFuqNRbSthybLbIJ915UtZBtmuLrQAT/w==", + "node_modules/@rolldown/binding-darwin-x64": { + "version": "1.0.0-rc.9", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.0-rc.9.tgz", + "integrity": "sha512-iwtmmghy8nhfRGeNAIltcNXzD0QMNaaA5U/NyZc1Ia4bxrzFByNMDoppoC+hl7cDiUq5/1CnFthpT9n+UtfFyg==", "cpu": [ "x64" ], @@ -2924,26 +2907,15 @@ "optional": true, "os": [ "darwin" - ] - }, - "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.59.0.tgz", - "integrity": "sha512-EsKaJ5ytAu9jI3lonzn3BgG8iRBjV4LxZexygcQbpiU0wU0ATxhNVEpXKfUa0pS05gTcSDMKpn3Sx+QB9RlTTA==", - "cpu": [ - "arm64" ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.59.0.tgz", - "integrity": "sha512-d3DuZi2KzTMjImrxoHIAODUZYoUUMsuUiY4SRRcJy6NJoZ6iIqWnJu9IScV9jXysyGMVuW+KNzZvBLOcpdl3Vg==", + "node_modules/@rolldown/binding-freebsd-x64": { + "version": "1.0.0-rc.9", + "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.0-rc.9.tgz", + "integrity": "sha512-DLFYI78SCiZr5VvdEplsVC2Vx53lnA4/Ga5C65iyldMVaErr86aiqCoNBLl92PXPfDtUYjUh+xFFor40ueNs4Q==", "cpu": [ "x64" ], @@ -2952,46 +2924,32 @@ "optional": true, "os": [ "freebsd" - ] - }, - "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.59.0.tgz", - "integrity": "sha512-t4ONHboXi/3E0rT6OZl1pKbl2Vgxf9vJfWgmUoCEVQVxhW6Cw/c8I6hbbu7DAvgp82RKiH7TpLwxnJeKv2pbsw==", - "cpu": [ - "arm" - ], - "dev": true, - "libc": [ - "glibc" ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.59.0.tgz", - "integrity": "sha512-CikFT7aYPA2ufMD086cVORBYGHffBo4K8MQ4uPS/ZnY54GKj36i196u8U+aDVT2LX4eSMbyHtyOh7D7Zvk2VvA==", + "node_modules/@rolldown/binding-linux-arm-gnueabihf": { + "version": "1.0.0-rc.9", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.0-rc.9.tgz", + "integrity": "sha512-CsjTmTwd0Hri6iTw/DRMK7kOZ7FwAkrO4h8YWKoX/kcj833e4coqo2wzIFywtch/8Eb5enQ/lwLM7w6JX1W5RQ==", "cpu": [ "arm" ], "dev": true, - "libc": [ - "musl" - ], "license": "MIT", "optional": true, "os": [ "linux" - ] + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.59.0.tgz", - "integrity": "sha512-jYgUGk5aLd1nUb1CtQ8E+t5JhLc9x5WdBKew9ZgAXg7DBk0ZHErLHdXM24rfX+bKrFe+Xp5YuJo54I5HFjGDAA==", + "node_modules/@rolldown/binding-linux-arm64-gnu": { + "version": "1.0.0-rc.9", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.0-rc.9.tgz", + "integrity": "sha512-2x9O2JbSPxpxMDhP9Z74mahAStibTlrBMW0520+epJH5sac7/LwZW5Bmg/E6CXuEF53JJFW509uP+lSedaUNxg==", "cpu": [ "arm64" ], @@ -3003,12 +2961,15 @@ "optional": true, "os": [ "linux" - ] + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.59.0.tgz", - "integrity": "sha512-peZRVEdnFWZ5Bh2KeumKG9ty7aCXzzEsHShOZEFiCQlDEepP1dpUl/SrUNXNg13UmZl+gzVDPsiCwnV1uI0RUA==", + "node_modules/@rolldown/binding-linux-arm64-musl": { + "version": "1.0.0-rc.9", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.0-rc.9.tgz", + "integrity": "sha512-JA1QRW31ogheAIRhIg9tjMfsYbglXXYGNPLdPEYrwFxdbkQCAzvpSCSHCDWNl4hTtrol8WeboCSEpjdZK8qrCg==", "cpu": [ "arm64" ], @@ -3020,46 +2981,15 @@ "optional": true, "os": [ "linux" - ] - }, - "node_modules/@rollup/rollup-linux-loong64-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.59.0.tgz", - "integrity": "sha512-gbUSW/97f7+r4gHy3Jlup8zDG190AuodsWnNiXErp9mT90iCy9NKKU0Xwx5k8VlRAIV2uU9CsMnEFg/xXaOfXg==", - "cpu": [ - "loong64" ], - "dev": true, - "libc": [ - "glibc" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-loong64-musl": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.59.0.tgz", - "integrity": "sha512-yTRONe79E+o0FWFijasoTjtzG9EBedFXJMl888NBEDCDV9I2wGbFFfJQQe63OijbFCUZqxpHz1GzpbtSFikJ4Q==", - "cpu": [ - "loong64" - ], - "dev": true, - "libc": [ - "musl" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-linux-ppc64-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.59.0.tgz", - "integrity": "sha512-sw1o3tfyk12k3OEpRddF68a1unZ5VCN7zoTNtSn2KndUE+ea3m3ROOKRCZxEpmT9nsGnogpFP9x6mnLTCaoLkA==", + "node_modules/@rolldown/binding-linux-ppc64-gnu": { + "version": "1.0.0-rc.9", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.0.0-rc.9.tgz", + "integrity": "sha512-aOKU9dJheda8Kj8Y3w9gnt9QFOO+qKPAl8SWd7JPHP+Cu0EuDAE5wokQubLzIDQWg2myXq2XhTpOVS07qqvT+w==", "cpu": [ "ppc64" ], @@ -3071,31 +3001,17 @@ "optional": true, "os": [ "linux" - ] - }, - "node_modules/@rollup/rollup-linux-ppc64-musl": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.59.0.tgz", - "integrity": "sha512-+2kLtQ4xT3AiIxkzFVFXfsmlZiG5FXYW7ZyIIvGA7Bdeuh9Z0aN4hVyXS/G1E9bTP/vqszNIN/pUKCk/BTHsKA==", - "cpu": [ - "ppc64" - ], - "dev": true, - "libc": [ - "musl" ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.59.0.tgz", - "integrity": "sha512-NDYMpsXYJJaj+I7UdwIuHHNxXZ/b/N2hR15NyH3m2qAtb/hHPA4g4SuuvrdxetTdndfj9b1WOmy73kcPRoERUg==", + "node_modules/@rolldown/binding-linux-s390x-gnu": { + "version": "1.0.0-rc.9", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.0.0-rc.9.tgz", + "integrity": "sha512-OalO94fqj7IWRn3VdXWty75jC5dk4C197AWEuMhIpvVv2lw9fiPhud0+bW2ctCxb3YoBZor71QHbY+9/WToadA==", "cpu": [ - "riscv64" + "s390x" ], "dev": true, "libc": [ @@ -3105,31 +3021,17 @@ "optional": true, "os": [ "linux" - ] - }, - "node_modules/@rollup/rollup-linux-riscv64-musl": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.59.0.tgz", - "integrity": "sha512-nLckB8WOqHIf1bhymk+oHxvM9D3tyPndZH8i8+35p/1YiVoVswPid2yLzgX7ZJP0KQvnkhM4H6QZ5m0LzbyIAg==", - "cpu": [ - "riscv64" - ], - "dev": true, - "libc": [ - "musl" ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.59.0.tgz", - "integrity": "sha512-oF87Ie3uAIvORFBpwnCvUzdeYUqi2wY6jRFWJAy1qus/udHFYIkplYRW+wo+GRUP4sKzYdmE1Y3+rY5Gc4ZO+w==", + "node_modules/@rolldown/binding-linux-x64-gnu": { + "version": "1.0.0-rc.9", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.0-rc.9.tgz", + "integrity": "sha512-cVEl1vZtBsBZna3YMjGXNvnYYrOJ7RzuWvZU0ffvJUexWkukMaDuGhUXn0rjnV0ptzGVkvc+vW9Yqy6h8YX4pg==", "cpu": [ - "s390x" + "x64" ], "dev": true, "libc": [ @@ -3139,74 +3041,86 @@ "optional": true, "os": [ "linux" - ] + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.59.0.tgz", - "integrity": "sha512-3AHmtQq/ppNuUspKAlvA8HtLybkDflkMuLK4DPo77DfthRb71V84/c4MlWJXixZz4uruIH4uaa07IqoAkG64fg==", + "node_modules/@rolldown/binding-linux-x64-musl": { + "version": "1.0.0-rc.9", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.0-rc.9.tgz", + "integrity": "sha512-UzYnKCIIc4heAKgI4PZ3dfBGUZefGCJ1TPDuLHoCzgrMYPb5Rv6TLFuYtyM4rWyHM7hymNdsg5ik2C+UD9VDbA==", "cpu": [ "x64" ], "dev": true, "libc": [ - "glibc" + "musl" ], "license": "MIT", "optional": true, "os": [ "linux" - ] + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.59.0.tgz", - "integrity": "sha512-2UdiwS/9cTAx7qIUZB/fWtToJwvt0Vbo0zmnYt7ED35KPg13Q0ym1g442THLC7VyI6JfYTP4PiSOWyoMdV2/xg==", + "node_modules/@rolldown/binding-openharmony-arm64": { + "version": "1.0.0-rc.9", + "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.0-rc.9.tgz", + "integrity": "sha512-+6zoiF+RRyf5cdlFQP7nm58mq7+/2PFaY2DNQeD4B87N36JzfF/l9mdBkkmTvSYcYPE8tMh/o3cRlsx1ldLfog==", "cpu": [ - "x64" + "arm64" ], "dev": true, - "libc": [ - "musl" - ], "license": "MIT", "optional": true, "os": [ - "linux" - ] + "openharmony" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-openbsd-x64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.59.0.tgz", - "integrity": "sha512-M3bLRAVk6GOwFlPTIxVBSYKUaqfLrn8l0psKinkCFxl4lQvOSz8ZrKDz2gxcBwHFpci0B6rttydI4IpS4IS/jQ==", + "node_modules/@rolldown/binding-wasm32-wasi": { + "version": "1.0.0-rc.9", + "resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.0-rc.9.tgz", + "integrity": "sha512-rgFN6sA/dyebil3YTlL2evvi/M+ivhfnyxec7AccTpRPccno/rPoNlqybEZQBkcbZu8Hy+eqNJCqfBR8P7Pg8g==", "cpu": [ - "x64" + "wasm32" ], "dev": true, "license": "MIT", "optional": true, - "os": [ - "openbsd" - ] + "dependencies": { + "@napi-rs/wasm-runtime": "^1.1.1" + }, + "engines": { + "node": ">=14.0.0" + } }, - "node_modules/@rollup/rollup-openharmony-arm64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.59.0.tgz", - "integrity": "sha512-tt9KBJqaqp5i5HUZzoafHZX8b5Q2Fe7UjYERADll83O4fGqJ49O1FsL6LpdzVFQcpwvnyd0i+K/VSwu/o/nWlA==", - "cpu": [ - "arm64" - ], + "node_modules/@rolldown/binding-wasm32-wasi/node_modules/@napi-rs/wasm-runtime": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.1.tgz", + "integrity": "sha512-p64ah1M1ld8xjWv3qbvFwHiFVWrq1yFvV4f7w+mzaqiR4IlSgkqhcRdHwsGgomwzBH51sRY4NEowLxnaBjcW/A==", "dev": true, "license": "MIT", "optional": true, - "os": [ - "openharmony" - ] + "dependencies": { + "@emnapi/core": "^1.7.1", + "@emnapi/runtime": "^1.7.1", + "@tybys/wasm-util": "^0.10.1" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + } }, - "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.59.0.tgz", - "integrity": "sha512-V5B6mG7OrGTwnxaNUzZTDTjDS7F75PO1ae6MJYdiMu60sq0CqN5CVeVsbhPxalupvTX8gXVSU9gq+Rx1/hvu6A==", + "node_modules/@rolldown/binding-win32-arm64-msvc": { + "version": "1.0.0-rc.9", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.0-rc.9.tgz", + "integrity": "sha512-lHVNUG/8nlF1IQk1C0Ci574qKYyty2goMiPlRqkC5R+3LkXDkL5Dhx8ytbxq35m+pkHVIvIxviD+TWLdfeuadA==", "cpu": [ "arm64" ], @@ -3215,49 +3129,70 @@ "optional": true, "os": [ "win32" - ] + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.59.0.tgz", - "integrity": "sha512-UKFMHPuM9R0iBegwzKF4y0C4J9u8C6MEJgFuXTBerMk7EJ92GFVFYBfOZaSGLu6COf7FxpQNqhNS4c4icUPqxA==", + "node_modules/@rolldown/binding-win32-x64-msvc": { + "version": "1.0.0-rc.9", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.0-rc.9.tgz", + "integrity": "sha512-G0oA4+w1iY5AGi5HcDTxWsoxF509hrFIPB2rduV5aDqS9FtDg1CAfa7V34qImbjfhIcA8C+RekocJZA96EarwQ==", "cpu": [ - "ia32" + "x64" ], "dev": true, "license": "MIT", "optional": true, "os": [ "win32" - ] - }, - "node_modules/@rollup/rollup-win32-x64-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.59.0.tgz", - "integrity": "sha512-laBkYlSS1n2L8fSo1thDNGrCTQMmxjYY5G0WFWjFFYZkKPjsMBsgJfGf4TLxXrF6RyhI60L8TMOjBMvXiTcxeA==", - "cpu": [ - "x64" ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/pluginutils": { + "version": "1.0.0-rc.7", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.7.tgz", + "integrity": "sha512-qujRfC8sFVInYSPPMLQByRh7zhwkGFS4+tyMQ83srV1qrxL4g8E2tyxVVyxd0+8QeBM1mIk9KbWxkegRr76XzA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@rollup/pluginutils": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.3.0.tgz", + "integrity": "sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "win32" - ] + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } }, - "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.59.0.tgz", - "integrity": "sha512-2HRCml6OztYXyJXAvdDXPKcawukWY2GpR5/nxKp4iBgiO3wcoEGkAaqctIbZcNB6KlUQBIqt8VYkNSj2397EfA==", - "cpu": [ - "x64" - ], + "node_modules/@rollup/pluginutils/node_modules/picomatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "win32" - ] + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } }, "node_modules/@rtsao/scc": { "version": "1.1.0", @@ -3676,13 +3611,13 @@ "license": "MIT" }, "node_modules/@svgr/babel-plugin-add-jsx-attribute": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-6.5.1.tgz", - "integrity": "sha512-9PYGcXrAxitycIjRmZB+Q0JaN07GZIWaTBIGQzfaZv+qr1n8X1XUEJ5rZ/vx6OVD9RRYlrNnXWExQXcmZeD/BQ==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz", + "integrity": "sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==", "dev": true, "license": "MIT", "engines": { - "node": ">=10" + "node": ">=14" }, "funding": { "type": "github", @@ -3727,13 +3662,13 @@ } }, "node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-6.5.1.tgz", - "integrity": "sha512-8DPaVVE3fd5JKuIC29dqyMB54sA6mfgki2H2+swh+zNJoynC8pMPzOkidqHOSc6Wj032fhl8Z0TVn1GiPpAiJg==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-8.0.0.tgz", + "integrity": "sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ==", "dev": true, "license": "MIT", "engines": { - "node": ">=10" + "node": ">=14" }, "funding": { "type": "github", @@ -3744,13 +3679,13 @@ } }, "node_modules/@svgr/babel-plugin-svg-dynamic-title": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-6.5.1.tgz", - "integrity": "sha512-FwOEi0Il72iAzlkaHrlemVurgSQRDFbk0OC8dSvD5fSBPHltNh7JtLsxmZUhjYBZo2PpcU/RJvvi6Q0l7O7ogw==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-8.0.0.tgz", + "integrity": "sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og==", "dev": true, "license": "MIT", "engines": { - "node": ">=10" + "node": ">=14" }, "funding": { "type": "github", @@ -3761,13 +3696,13 @@ } }, "node_modules/@svgr/babel-plugin-svg-em-dimensions": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-6.5.1.tgz", - "integrity": "sha512-gWGsiwjb4tw+ITOJ86ndY/DZZ6cuXMNE/SjcDRg+HLuCmwpcjOktwRF9WgAiycTqJD/QXqL2f8IzE2Rzh7aVXA==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-8.0.0.tgz", + "integrity": "sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g==", "dev": true, "license": "MIT", "engines": { - "node": ">=10" + "node": ">=14" }, "funding": { "type": "github", @@ -3778,13 +3713,13 @@ } }, "node_modules/@svgr/babel-plugin-transform-react-native-svg": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-6.5.1.tgz", - "integrity": "sha512-2jT3nTayyYP7kI6aGutkyfJ7UMGtuguD72OjeGLwVNyfPRBD8zQthlvL+fAbAKk5n9ZNcvFkp/b1lZ7VsYqVJg==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-8.1.0.tgz", + "integrity": "sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q==", "dev": true, "license": "MIT", "engines": { - "node": ">=10" + "node": ">=14" }, "funding": { "type": "github", @@ -3795,9 +3730,9 @@ } }, "node_modules/@svgr/babel-plugin-transform-svg-component": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-6.5.1.tgz", - "integrity": "sha512-a1p6LF5Jt33O3rZoVRBqdxL350oge54iZWHNI6LJB5tQ7EelvD/Mb1mfBiZNAan0dt4i3VArkFRjA4iObuNykQ==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-8.0.0.tgz", + "integrity": "sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==", "dev": true, "license": "MIT", "engines": { @@ -3812,23 +3747,23 @@ } }, "node_modules/@svgr/babel-preset": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-6.5.1.tgz", - "integrity": "sha512-6127fvO/FF2oi5EzSQOAjo1LE3OtNVh11R+/8FXa+mHx1ptAaS4cknIjnUA7e6j6fwGGJ17NzaTJFUwOV2zwCw==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-8.1.0.tgz", + "integrity": "sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug==", "dev": true, "license": "MIT", "dependencies": { - "@svgr/babel-plugin-add-jsx-attribute": "^6.5.1", - "@svgr/babel-plugin-remove-jsx-attribute": "*", - "@svgr/babel-plugin-remove-jsx-empty-expression": "*", - "@svgr/babel-plugin-replace-jsx-attribute-value": "^6.5.1", - "@svgr/babel-plugin-svg-dynamic-title": "^6.5.1", - "@svgr/babel-plugin-svg-em-dimensions": "^6.5.1", - "@svgr/babel-plugin-transform-react-native-svg": "^6.5.1", - "@svgr/babel-plugin-transform-svg-component": "^6.5.1" + "@svgr/babel-plugin-add-jsx-attribute": "8.0.0", + "@svgr/babel-plugin-remove-jsx-attribute": "8.0.0", + "@svgr/babel-plugin-remove-jsx-empty-expression": "8.0.0", + "@svgr/babel-plugin-replace-jsx-attribute-value": "8.0.0", + "@svgr/babel-plugin-svg-dynamic-title": "8.0.0", + "@svgr/babel-plugin-svg-em-dimensions": "8.0.0", + "@svgr/babel-plugin-transform-react-native-svg": "8.1.0", + "@svgr/babel-plugin-transform-svg-component": "8.0.0" }, "engines": { - "node": ">=10" + "node": ">=14" }, "funding": { "type": "github", @@ -3839,38 +3774,65 @@ } }, "node_modules/@svgr/core": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/core/-/core-6.5.1.tgz", - "integrity": "sha512-/xdLSWxK5QkqG524ONSjvg3V/FkNyCv538OIBdQqPNaAta3AsXj/Bd2FbvR87yMbXO2hFSWiAe/Q6IkVPDw+mw==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/core/-/core-8.1.0.tgz", + "integrity": "sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/core": "^7.19.6", - "@svgr/babel-preset": "^6.5.1", - "@svgr/plugin-jsx": "^6.5.1", + "@babel/core": "^7.21.3", + "@svgr/babel-preset": "8.1.0", "camelcase": "^6.2.0", - "cosmiconfig": "^7.0.1" + "cosmiconfig": "^8.1.3", + "snake-case": "^3.0.4" }, "engines": { - "node": ">=10" + "node": ">=14" }, "funding": { "type": "github", "url": "https://github.com/sponsors/gregberge" } }, + "node_modules/@svgr/core/node_modules/cosmiconfig": { + "version": "8.3.6", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", + "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", + "dev": true, + "license": "MIT", + "dependencies": { + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0", + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, "node_modules/@svgr/hast-util-to-babel-ast": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-6.5.1.tgz", - "integrity": "sha512-1hnUxxjd83EAxbL4a0JDJoD3Dao3hmjvyvyEV8PzWmLK3B9m9NPlW7GKjFyoWE8nM7HnXzPcmmSyOW8yOddSXw==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-8.0.0.tgz", + "integrity": "sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q==", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.20.0", + "@babel/types": "^7.21.3", "entities": "^4.4.0" }, "engines": { - "node": ">=10" + "node": ">=14" }, "funding": { "type": "github", @@ -3878,26 +3840,26 @@ } }, "node_modules/@svgr/plugin-jsx": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-6.5.1.tgz", - "integrity": "sha512-+UdQxI3jgtSjCykNSlEMuy1jSRQlGC7pqBCPvkG/2dATdWo082zHTTK3uhnAju2/6XpE6B5mZ3z4Z8Ns01S8Gw==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-8.1.0.tgz", + "integrity": "sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/core": "^7.19.6", - "@svgr/babel-preset": "^6.5.1", - "@svgr/hast-util-to-babel-ast": "^6.5.1", + "@babel/core": "^7.21.3", + "@svgr/babel-preset": "8.1.0", + "@svgr/hast-util-to-babel-ast": "8.0.0", "svg-parser": "^2.0.4" }, "engines": { - "node": ">=10" + "node": ">=14" }, "funding": { "type": "github", "url": "https://github.com/sponsors/gregberge" }, "peerDependencies": { - "@svgr/core": "^6.0.0" + "@svgr/core": "*" } }, "node_modules/@tabby_ai/hijri-converter": { @@ -3910,9 +3872,9 @@ } }, "node_modules/@tanstack/eslint-plugin-query": { - "version": "5.91.5", - "resolved": "https://registry.npmjs.org/@tanstack/eslint-plugin-query/-/eslint-plugin-query-5.91.5.tgz", - "integrity": "sha512-4pqgoT5J+ntkyOoBtnxJu8LYRj3CurfNe92fghJw66mI7pZijKmOulM32Wa48cyVzGtgiuQ2o5KWC9LJVXYcBQ==", + "version": "5.95.2", + "resolved": "https://registry.npmjs.org/@tanstack/eslint-plugin-query/-/eslint-plugin-query-5.95.2.tgz", + "integrity": "sha512-EYUFRaqjBep4EHMPpZR12sXP7Kr5qv9iDIlq93NfbhHwhITaW6Txu3ROO6dLFz5r84T8p+oZXBG77pa2Wuok7A==", "dev": true, "license": "MIT", "dependencies": { @@ -3933,9 +3895,9 @@ } }, "node_modules/@tanstack/query-core": { - "version": "5.91.2", - "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.91.2.tgz", - "integrity": "sha512-Uz2pTgPC1mhqrrSGg18RKCWT/pkduAYtxbcyIyKBhw7dTWjXZIzqmpzO2lBkyWr4hlImQgpu1m1pei3UnkFRWw==", + "version": "5.95.2", + "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.95.2.tgz", + "integrity": "sha512-o4T8vZHZET4Bib3jZ/tCW9/7080urD4c+0/AUaYVpIqOsr7y0reBc1oX3ttNaSW5mYyvZHctiQ/UOP2PfdmFEQ==", "license": "MIT", "funding": { "type": "github", @@ -3943,9 +3905,9 @@ } }, "node_modules/@tanstack/query-devtools": { - "version": "5.93.0", - "resolved": "https://registry.npmjs.org/@tanstack/query-devtools/-/query-devtools-5.93.0.tgz", - "integrity": "sha512-+kpsx1NQnOFTZsw6HAFCW3HkKg0+2cepGtAWXjiiSOJJ1CtQpt72EE2nyZb+AjAbLRPoeRmPJ8MtQd8r8gsPdg==", + "version": "5.95.2", + "resolved": "https://registry.npmjs.org/@tanstack/query-devtools/-/query-devtools-5.95.2.tgz", + "integrity": "sha512-QfaoqBn9uAZ+ICkA8brd1EHj+qBF6glCFgt94U8XP5BT6ppSsDBI8IJ00BU+cAGjQzp6wcKJL2EmRYvxy0TWIg==", "dev": true, "license": "MIT", "funding": { @@ -3954,12 +3916,12 @@ } }, "node_modules/@tanstack/react-query": { - "version": "5.91.2", - "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.91.2.tgz", - "integrity": "sha512-GClLPzbM57iFXv+FlvOUL56XVe00PxuTaVEyj1zAObhRiKF008J5vedmaq7O6ehs+VmPHe8+PUQhMuEyv8d9wQ==", + "version": "5.95.2", + "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.95.2.tgz", + "integrity": "sha512-/wGkvLj/st5Ud1Q76KF1uFxScV7WeqN1slQx5280ycwAyYkIPGaRZAEgHxe3bjirSd5Zpwkj6zNcR4cqYni/ZA==", "license": "MIT", "dependencies": { - "@tanstack/query-core": "5.91.2" + "@tanstack/query-core": "5.95.2" }, "funding": { "type": "github", @@ -3970,20 +3932,20 @@ } }, "node_modules/@tanstack/react-query-devtools": { - "version": "5.91.3", - "resolved": "https://registry.npmjs.org/@tanstack/react-query-devtools/-/react-query-devtools-5.91.3.tgz", - "integrity": "sha512-nlahjMtd/J1h7IzOOfqeyDh5LNfG0eULwlltPEonYy0QL+nqrBB+nyzJfULV+moL7sZyxc2sHdNJki+vLA9BSA==", + "version": "5.95.2", + "resolved": "https://registry.npmjs.org/@tanstack/react-query-devtools/-/react-query-devtools-5.95.2.tgz", + "integrity": "sha512-AFQFmbznVkbtfpx8VJ2DylW17wWagQel/qLstVLkYmNRo2CmJt3SNej5hvl6EnEeljJIdC3BTB+W7HZtpsH+3g==", "dev": true, "license": "MIT", "dependencies": { - "@tanstack/query-devtools": "5.93.0" + "@tanstack/query-devtools": "5.95.2" }, "funding": { "type": "github", "url": "https://github.com/sponsors/tannerlinsley" }, "peerDependencies": { - "@tanstack/react-query": "^5.90.20", + "@tanstack/react-query": "^5.95.2", "react": "^18 || ^19" } }, @@ -4046,57 +4008,6 @@ "dev": true, "license": "MIT" }, - "node_modules/@types/babel__core": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", - "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "node_modules/@types/babel__generator": { - "version": "7.27.0", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz", - "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__template": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", - "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__traverse": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz", - "integrity": "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.28.2" - } - }, - "node_modules/@types/canvas-confetti": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@types/canvas-confetti/-/canvas-confetti-1.9.0.tgz", - "integrity": "sha512-aBGj/dULrimR1XDZLtG9JwxX1b4HPRF6CX9Yfwh3NvstZEm1ZL7RBnel4keCPSqs1ANRu1u2Aoz9R+VmtjYuTg==", - "license": "MIT" - }, "node_modules/@types/d3-color": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/@types/d3-color/-/d3-color-3.1.3.tgz", @@ -4217,11 +4128,22 @@ "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==", "license": "MIT" }, + "node_modules/@types/node": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-25.5.0.tgz", + "integrity": "sha512-jp2P3tQMSxWugkCUKLRPVUpGaL5MVFwF8RDuSRztfwgN1wmqJeMSbKlnEtQqU8UrhTmzEmZdu2I6v2dpp7XIxw==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~7.18.0" + } + }, "node_modules/@types/parse-json": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz", "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==", - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/@types/prismjs": { "version": "1.26.6", @@ -4368,14 +4290,14 @@ } }, "node_modules/@typescript-eslint/project-service": { - "version": "8.57.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.57.1.tgz", - "integrity": "sha512-vx1F37BRO1OftsYlmG9xay1TqnjNVlqALymwWVuYTdo18XuKxtBpCj1QlzNIEHlvlB27osvXFWptYiEWsVdYsg==", + "version": "8.57.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.57.2.tgz", + "integrity": "sha512-FuH0wipFywXRTHf+bTTjNyuNQQsQC3qh/dYzaM4I4W0jrCqjCVuUh99+xd9KamUfmCGPvbO8NDngo/vsnNVqgw==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/tsconfig-utils": "^8.57.1", - "@typescript-eslint/types": "^8.57.1", + "@typescript-eslint/tsconfig-utils": "^8.57.2", + "@typescript-eslint/types": "^8.57.2", "debug": "^4.4.3" }, "engines": { @@ -4390,9 +4312,9 @@ } }, "node_modules/@typescript-eslint/project-service/node_modules/@typescript-eslint/types": { - "version": "8.57.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.57.1.tgz", - "integrity": "sha512-S29BOBPJSFUiblEl6RzPPjJt6w25A6XsBqRVDt53tA/tlL8q7ceQNZHTjPeONt/3S7KRI4quk+yP9jK2WjBiPQ==", + "version": "8.57.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.57.2.tgz", + "integrity": "sha512-/iZM6FnM4tnx9csuTxspMW4BOSegshwX5oBDznJ7S4WggL7Vczz5d2W11ecc4vRrQMQHXRSxzrCsyG5EsPPTbA==", "dev": true, "license": "MIT", "engines": { @@ -4422,9 +4344,9 @@ } }, "node_modules/@typescript-eslint/tsconfig-utils": { - "version": "8.57.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.57.1.tgz", - "integrity": "sha512-0lgOZB8cl19fHO4eI46YUx2EceQqhgkPSuCGLlGi79L2jwYY1cxeYc1Nae8Aw1xjgW3PKVDLlr3YJ6Bxx8HkWg==", + "version": "8.57.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.57.2.tgz", + "integrity": "sha512-3Lm5DSM+DCowsUOJC+YqHHnKEfFh5CoGkj5Z31NQSNF4l5wdOwqGn99wmwN/LImhfY3KJnmordBq/4+VDe2eKw==", "dev": true, "license": "MIT", "engines": { @@ -4530,16 +4452,16 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "8.57.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.57.1.tgz", - "integrity": "sha512-XUNSJ/lEVFttPMMoDVA2r2bwrl8/oPx8cURtczkSEswY5T3AeLmCy+EKWQNdL4u0MmAHOjcWrqJp2cdvgjn8dQ==", + "version": "8.57.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.57.2.tgz", + "integrity": "sha512-krRIbvPK1ju1WBKIefiX+bngPs+odIQUtR7kymzPfo1POVw3jlF+nLkmexdSSd4UCbDcQn+wMBATOOmpBbqgKg==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.9.1", - "@typescript-eslint/scope-manager": "8.57.1", - "@typescript-eslint/types": "8.57.1", - "@typescript-eslint/typescript-estree": "8.57.1" + "@typescript-eslint/scope-manager": "8.57.2", + "@typescript-eslint/types": "8.57.2", + "@typescript-eslint/typescript-estree": "8.57.2" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -4554,14 +4476,14 @@ } }, "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/scope-manager": { - "version": "8.57.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.57.1.tgz", - "integrity": "sha512-hs/QcpCwlwT2L5S+3fT6gp0PabyGk4Q0Rv2doJXA0435/OpnSR3VRgvrp8Xdoc3UAYSg9cyUjTeFXZEPg/3OKg==", + "version": "8.57.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.57.2.tgz", + "integrity": "sha512-snZKH+W4WbWkrBqj4gUNRIGb/jipDW3qMqVJ4C9rzdFc+wLwruxk+2a5D+uoFcKPAqyqEnSb4l2ULuZf95eSkw==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.57.1", - "@typescript-eslint/visitor-keys": "8.57.1" + "@typescript-eslint/types": "8.57.2", + "@typescript-eslint/visitor-keys": "8.57.2" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -4572,9 +4494,9 @@ } }, "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/types": { - "version": "8.57.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.57.1.tgz", - "integrity": "sha512-S29BOBPJSFUiblEl6RzPPjJt6w25A6XsBqRVDt53tA/tlL8q7ceQNZHTjPeONt/3S7KRI4quk+yP9jK2WjBiPQ==", + "version": "8.57.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.57.2.tgz", + "integrity": "sha512-/iZM6FnM4tnx9csuTxspMW4BOSegshwX5oBDznJ7S4WggL7Vczz5d2W11ecc4vRrQMQHXRSxzrCsyG5EsPPTbA==", "dev": true, "license": "MIT", "engines": { @@ -4586,16 +4508,16 @@ } }, "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/typescript-estree": { - "version": "8.57.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.57.1.tgz", - "integrity": "sha512-ybe2hS9G6pXpqGtPli9Gx9quNV0TWLOmh58ADlmZe9DguLq0tiAKVjirSbtM1szG6+QH6rVXyU6GTLQbWnMY+g==", + "version": "8.57.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.57.2.tgz", + "integrity": "sha512-2MKM+I6g8tJxfSmFKOnHv2t8Sk3T6rF20A1Puk0svLK+uVapDZB/4pfAeB7nE83uAZrU6OxW+HmOd5wHVdXwXA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/project-service": "8.57.1", - "@typescript-eslint/tsconfig-utils": "8.57.1", - "@typescript-eslint/types": "8.57.1", - "@typescript-eslint/visitor-keys": "8.57.1", + "@typescript-eslint/project-service": "8.57.2", + "@typescript-eslint/tsconfig-utils": "8.57.2", + "@typescript-eslint/types": "8.57.2", + "@typescript-eslint/visitor-keys": "8.57.2", "debug": "^4.4.3", "minimatch": "^10.2.2", "semver": "^7.7.3", @@ -4614,13 +4536,13 @@ } }, "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/visitor-keys": { - "version": "8.57.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.57.1.tgz", - "integrity": "sha512-YWnmJkXbofiz9KbnbbwuA2rpGkFPLbAIetcCNO6mJ8gdhdZ/v7WDXsoGFAJuM6ikUFKTlSQnjWnVO4ux+UzS6A==", + "version": "8.57.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.57.2.tgz", + "integrity": "sha512-zhahknjobV2FiD6Ee9iLbS7OV9zi10rG26odsQdfBO/hjSzUQbkIYgda+iNKK1zNiW2ey+Lf8MU5btN17V3dUw==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.57.1", + "@typescript-eslint/types": "8.57.2", "eslint-visitor-keys": "^5.0.0" }, "engines": { @@ -5252,24 +5174,29 @@ ] }, "node_modules/@vitejs/plugin-react": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-5.1.0.tgz", - "integrity": "sha512-4LuWrg7EKWgQaMJfnN+wcmbAW+VSsCmqGohftWjuct47bv8uE4n/nPpq4XjJPsxgq00GGG5J8dvBczp8uxScew==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-6.0.1.tgz", + "integrity": "sha512-l9X/E3cDb+xY3SWzlG1MOGt2usfEHGMNIaegaUGFsLkb3RCn/k8/TOXBcab+OndDI4TBtktT8/9BwwW8Vi9KUQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/core": "^7.28.4", - "@babel/plugin-transform-react-jsx-self": "^7.27.1", - "@babel/plugin-transform-react-jsx-source": "^7.27.1", - "@rolldown/pluginutils": "1.0.0-beta.43", - "@types/babel__core": "^7.20.5", - "react-refresh": "^0.18.0" + "@rolldown/pluginutils": "1.0.0-rc.7" }, "engines": { "node": "^20.19.0 || >=22.12.0" }, "peerDependencies": { - "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0" + "@rolldown/plugin-babel": "^0.1.7 || ^0.2.0", + "babel-plugin-react-compiler": "^1.0.0", + "vite": "^8.0.0" + }, + "peerDependenciesMeta": { + "@rolldown/plugin-babel": { + "optional": true + }, + "babel-plugin-react-compiler": { + "optional": true + } } }, "node_modules/@volar/language-core": { @@ -5856,9 +5783,9 @@ "license": "MIT" }, "node_modules/baseline-browser-mapping": { - "version": "2.10.8", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.8.tgz", - "integrity": "sha512-PCLz/LXGBsNTErbtB6i5u4eLpHeMfi93aUv5duMmj6caNu6IphS4q6UevDnL36sZQv9lrP11dbPKGMaXPwMKfQ==", + "version": "2.10.10", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.10.tgz", + "integrity": "sha512-sUoJ3IMxx4AyRqO4MLeHlnGDkyXRoUG0/AI9fjK+vS72ekpV0yWVY7O0BVjmBcRtkNcsAO2QDZ4tdKKGoI6YaQ==", "dev": true, "license": "Apache-2.0", "bin": { @@ -6016,9 +5943,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001780", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001780.tgz", - "integrity": "sha512-llngX0E7nQci5BPJDqoZSbuZ5Bcs9F5db7EtgfwBerX9XGtkkiO4NwfDDIRzHTTwcYC8vC7bmeUEPGrKlR/TkQ==", + "version": "1.0.30001781", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001781.tgz", + "integrity": "sha512-RdwNCyMsNBftLjW6w01z8bKEvT6e/5tpPVEgtn22TiLGlstHOVecsX2KHFkD5e/vRnIE4EGzpuIODb3mtswtkw==", "dev": true, "funding": [ { @@ -6036,16 +5963,6 @@ ], "license": "CC-BY-4.0" }, - "node_modules/canvas-confetti": { - "version": "1.9.4", - "resolved": "https://registry.npmjs.org/canvas-confetti/-/canvas-confetti-1.9.4.tgz", - "integrity": "sha512-yxQbJkAVrFXWNbTUjPqjF7G+g6pDotOUHGbkZq2NELZUMDpiJ85rIEazVb8GTaAptNW2miJAXbs1BtioA251Pw==", - "license": "ISC", - "funding": { - "type": "donate", - "url": "https://www.paypal.me/kirilvatev" - } - }, "node_modules/ccount": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", @@ -6371,17 +6288,18 @@ "license": "MIT" }, "node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true, - "license": "MIT" + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "license": "MIT", + "peer": true }, "node_modules/cosmiconfig": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", "license": "MIT", + "peer": true, "dependencies": { "@types/parse-json": "^4.0.0", "import-fresh": "^3.2.1", @@ -6394,10 +6312,11 @@ } }, "node_modules/cosmiconfig/node_modules/yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.3.tgz", + "integrity": "sha512-vIYeF1u3CjlhAFekPPAk2h/Kv4T3mAkMox5OymRiJQB0spDP10LHvt+K7G9Ny6NuuMAb25/6n1qyUjAcGNf/AA==", "license": "ISC", + "peer": true, "engines": { "node": ">= 6" } @@ -6842,9 +6761,9 @@ } }, "node_modules/diff": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/diff/-/diff-8.0.3.tgz", - "integrity": "sha512-qejHi7bcSD4hQAZE0tNAawRK1ZtafHDmMTMkrrIGgSLl7hTnQHmKCeB45xAcbfTqK2zowkM3j3bHt/4b/ARbYQ==", + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/diff/-/diff-8.0.4.tgz", + "integrity": "sha512-DPi0FmjiSU5EvQV0++GFDOJ9ASQUVFh5kD+OzOnYdi7n3Wpm9hWWGfB/O2blfHcMVTL5WkQXSnRiK9makhrcnw==", "dev": true, "license": "BSD-3-Clause", "engines": { @@ -6963,6 +6882,17 @@ "url": "https://github.com/fb55/domutils?sponsor=1" } }, + "node_modules/dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "dev": true, + "license": "MIT", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, "node_modules/dunder-proto": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", @@ -6994,9 +6924,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.5.321", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.321.tgz", - "integrity": "sha512-L2C7Q279W2D/J4PLZLk7sebOILDSWos7bMsMNN06rK482umHUrh/3lM8G7IlHFOYip2oAg5nha1rCMxr/rs6ZQ==", + "version": "1.5.322", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.322.tgz", + "integrity": "sha512-vFU34OcrvMcH66T+dYC3G4nURmgfDVewMIu6Q2urXpumAPSMmzvcn04KVVV8Opikq8Vs5nUbO/8laNhNRqSzYw==", "dev": true, "license": "ISC" }, @@ -7216,6 +7146,7 @@ "dev": true, "hasInstallScript": true, "license": "MIT", + "peer": true, "bin": { "esbuild": "bin/esbuild" }, @@ -8418,9 +8349,9 @@ } }, "node_modules/get-tsconfig": { - "version": "4.13.6", - "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.13.6.tgz", - "integrity": "sha512-shZT/QMiSHc/YBLxxOkMtgSid5HFoauqCE3/exfsEcwg1WkeqjG+V40yBbBrsD+jW2HDXcs28xOfcbm2jI8Ddw==", + "version": "4.13.7", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.13.7.tgz", + "integrity": "sha512-7tN6rFgBlMgpBML5j8typ92BKFi2sFQvIdpAqLA2beia5avZDrMs0FLZiM5etShWq5irVyGcGMEA1jcDaK7A/Q==", "dev": true, "license": "MIT", "dependencies": { @@ -8504,13 +8435,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/globrex": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz", - "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==", - "dev": true, - "license": "MIT" - }, "node_modules/gopd": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", @@ -9847,65 +9771,338 @@ "graceful-fs": "^4.1.11" } }, - "node_modules/kolorist": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/kolorist/-/kolorist-1.8.0.tgz", - "integrity": "sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==", + "node_modules/kolorist": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/kolorist/-/kolorist-1.8.0.tgz", + "integrity": "sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/language-subtag-registry": { + "version": "0.3.23", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.23.tgz", + "integrity": "sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/language-tags": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.9.tgz", + "integrity": "sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==", + "dev": true, + "license": "MIT", + "dependencies": { + "language-subtag-registry": "^0.3.20" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lezer-json5": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lezer-json5/-/lezer-json5-2.0.2.tgz", + "integrity": "sha512-NRmtBlKW/f8mA7xatKq8IUOq045t8GVHI4kZXrUtYYUdiVeGiO6zKGAV7/nUAnf5q+rYTY+SWX/gvQdFXMjNxQ==", + "license": "MIT", + "optional": true, + "dependencies": { + "@lezer/lr": "^1.0.0" + } + }, + "node_modules/lie": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lie/-/lie-3.1.1.tgz", + "integrity": "sha512-RiNhHysUjhrDQntfYSfY4MU24coXXdEOgw9WGcKHNeEwffDYbF//u87M1EWaMGzuFoSbqW0C9C6lEEhDOAswfw==", + "dev": true, + "license": "MIT", + "dependencies": { + "immediate": "~3.0.5" + } + }, + "node_modules/lightningcss": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.32.0.tgz", + "integrity": "sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==", + "dev": true, + "license": "MPL-2.0", + "dependencies": { + "detect-libc": "^2.0.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "lightningcss-android-arm64": "1.32.0", + "lightningcss-darwin-arm64": "1.32.0", + "lightningcss-darwin-x64": "1.32.0", + "lightningcss-freebsd-x64": "1.32.0", + "lightningcss-linux-arm-gnueabihf": "1.32.0", + "lightningcss-linux-arm64-gnu": "1.32.0", + "lightningcss-linux-arm64-musl": "1.32.0", + "lightningcss-linux-x64-gnu": "1.32.0", + "lightningcss-linux-x64-musl": "1.32.0", + "lightningcss-win32-arm64-msvc": "1.32.0", + "lightningcss-win32-x64-msvc": "1.32.0" + } + }, + "node_modules/lightningcss-android-arm64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.32.0.tgz", + "integrity": "sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-arm64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.32.0.tgz", + "integrity": "sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-x64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.32.0.tgz", + "integrity": "sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-freebsd-x64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.32.0.tgz", + "integrity": "sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm-gnueabihf": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.32.0.tgz", + "integrity": "sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-gnu": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.32.0.tgz", + "integrity": "sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "MIT" + "libc": [ + "glibc" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } }, - "node_modules/language-subtag-registry": { - "version": "0.3.23", - "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.23.tgz", - "integrity": "sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==", + "node_modules/lightningcss-linux-arm64-musl": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.32.0.tgz", + "integrity": "sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "CC0-1.0" + "libc": [ + "musl" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } }, - "node_modules/language-tags": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.9.tgz", - "integrity": "sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==", + "node_modules/lightningcss-linux-x64-gnu": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.32.0.tgz", + "integrity": "sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==", + "cpu": [ + "x64" + ], "dev": true, - "license": "MIT", - "dependencies": { - "language-subtag-registry": "^0.3.20" - }, + "libc": [ + "glibc" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=0.10" + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "node_modules/lightningcss-linux-x64-musl": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.32.0.tgz", + "integrity": "sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==", + "cpu": [ + "x64" + ], "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, + "libc": [ + "musl" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">= 0.8.0" + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/lezer-json5": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/lezer-json5/-/lezer-json5-2.0.2.tgz", - "integrity": "sha512-NRmtBlKW/f8mA7xatKq8IUOq045t8GVHI4kZXrUtYYUdiVeGiO6zKGAV7/nUAnf5q+rYTY+SWX/gvQdFXMjNxQ==", - "license": "MIT", + "node_modules/lightningcss-win32-arm64-msvc": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.32.0.tgz", + "integrity": "sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", "optional": true, - "dependencies": { - "@lezer/lr": "^1.0.0" + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/lie": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/lie/-/lie-3.1.1.tgz", - "integrity": "sha512-RiNhHysUjhrDQntfYSfY4MU24coXXdEOgw9WGcKHNeEwffDYbF//u87M1EWaMGzuFoSbqW0C9C6lEEhDOAswfw==", + "node_modules/lightningcss-win32-x64-msvc": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.32.0.tgz", + "integrity": "sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==", + "cpu": [ + "x64" + ], "dev": true, - "license": "MIT", - "dependencies": { - "immediate": "~3.0.5" + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, "node_modules/lilconfig": { @@ -9979,9 +10176,9 @@ } }, "node_modules/lint-staged/node_modules/yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.3.tgz", + "integrity": "sha512-vIYeF1u3CjlhAFekPPAk2h/Kv4T3mAkMox5OymRiJQB0spDP10LHvt+K7G9Ny6NuuMAb25/6n1qyUjAcGNf/AA==", "dev": true, "license": "ISC", "engines": { @@ -10290,16 +10487,23 @@ "loose-envify": "cli.js" } }, - "node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "node_modules/lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "yallist": "^3.0.2" + "tslib": "^2.0.3" } }, + "node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, "node_modules/magic-string": { "version": "0.30.21", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", @@ -11316,9 +11520,9 @@ } }, "node_modules/mlly": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.8.1.tgz", - "integrity": "sha512-SnL6sNutTwRWWR/vcmCYHSADjiEesp5TGQQ0pXyLhW5IoeibRlF/CbSLailbB3CNqJUk9cVJ9dUDnbD7GrcHBQ==", + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.8.2.tgz", + "integrity": "sha512-d+ObxMQFmbt10sretNDytwt85VrbkhhUA/JBGm1MPaWJ65Cl4wOgLaB1NYvJSZ0Ef03MMEU/0xpPMXUIQ29UfA==", "dev": true, "license": "MIT", "dependencies": { @@ -11470,6 +11674,17 @@ "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", "license": "MIT" }, + "node_modules/no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dev": true, + "license": "MIT", + "dependencies": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, "node_modules/node-addon-api": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", @@ -11988,13 +12203,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/path-scurry/node_modules/lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", - "dev": true, - "license": "ISC" - }, "node_modules/path-type": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", @@ -12018,9 +12226,9 @@ "license": "ISC" }, "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", + "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", "license": "MIT", "engines": { "node": ">=8.6" @@ -12253,19 +12461,6 @@ "node": ">=0.10.0" } }, - "node_modules/react-canvas-confetti": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/react-canvas-confetti/-/react-canvas-confetti-2.0.7.tgz", - "integrity": "sha512-DIj44O35TPAwJkUSIZqWdVsgAMHtVf8h7YNmnr3jF3bn5mG+d7Rh9gEcRmdJfYgRzh6K+MAGujwUoIqQyLnMJw==", - "license": "MIT", - "dependencies": { - "@types/canvas-confetti": "^1.6.4", - "canvas-confetti": "^1.9.2" - }, - "peerDependencies": { - "react": "*" - } - }, "node_modules/react-csv": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/react-csv/-/react-csv-2.2.2.tgz", @@ -12384,16 +12579,6 @@ "react-dom": ">0.13.0" } }, - "node_modules/react-refresh": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.18.0.tgz", - "integrity": "sha512-QgT5//D3jfjJb6Gsjxv0Slpj23ip+HtOpnNgnb2S5zU3CB26G/IDPGoy4RJB42wzFE46DRsstbW6tKHoKbhAxw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/react-router": { "version": "6.30.3", "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.30.3.tgz", @@ -13013,50 +13198,46 @@ "node": "*" } }, - "node_modules/rollup": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.59.0.tgz", - "integrity": "sha512-2oMpl67a3zCH9H79LeMcbDhXW/UmWG/y2zuqnF2jQq5uq9TbM9TVyXvA4+t+ne2IIkBdrLpAaRQAvo7YI/Yyeg==", + "node_modules/rolldown": { + "version": "1.0.0-rc.9", + "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.0.0-rc.9.tgz", + "integrity": "sha512-9EbgWge7ZH+yqb4d2EnELAntgPTWbfL8ajiTW+SyhJEC4qhBbkCKbqFV4Ge4zmu5ziQuVbWxb/XwLZ+RIO7E8Q==", "dev": true, "license": "MIT", "dependencies": { - "@types/estree": "1.0.8" + "@oxc-project/types": "=0.115.0", + "@rolldown/pluginutils": "1.0.0-rc.9" }, "bin": { - "rollup": "dist/bin/rollup" + "rolldown": "bin/cli.mjs" }, "engines": { - "node": ">=18.0.0", - "npm": ">=8.0.0" + "node": "^20.19.0 || >=22.12.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.59.0", - "@rollup/rollup-android-arm64": "4.59.0", - "@rollup/rollup-darwin-arm64": "4.59.0", - "@rollup/rollup-darwin-x64": "4.59.0", - "@rollup/rollup-freebsd-arm64": "4.59.0", - "@rollup/rollup-freebsd-x64": "4.59.0", - "@rollup/rollup-linux-arm-gnueabihf": "4.59.0", - "@rollup/rollup-linux-arm-musleabihf": "4.59.0", - "@rollup/rollup-linux-arm64-gnu": "4.59.0", - "@rollup/rollup-linux-arm64-musl": "4.59.0", - "@rollup/rollup-linux-loong64-gnu": "4.59.0", - "@rollup/rollup-linux-loong64-musl": "4.59.0", - "@rollup/rollup-linux-ppc64-gnu": "4.59.0", - "@rollup/rollup-linux-ppc64-musl": "4.59.0", - "@rollup/rollup-linux-riscv64-gnu": "4.59.0", - "@rollup/rollup-linux-riscv64-musl": "4.59.0", - "@rollup/rollup-linux-s390x-gnu": "4.59.0", - "@rollup/rollup-linux-x64-gnu": "4.59.0", - "@rollup/rollup-linux-x64-musl": "4.59.0", - "@rollup/rollup-openbsd-x64": "4.59.0", - "@rollup/rollup-openharmony-arm64": "4.59.0", - "@rollup/rollup-win32-arm64-msvc": "4.59.0", - "@rollup/rollup-win32-ia32-msvc": "4.59.0", - "@rollup/rollup-win32-x64-gnu": "4.59.0", - "@rollup/rollup-win32-x64-msvc": "4.59.0", - "fsevents": "~2.3.2" - } + "@rolldown/binding-android-arm64": "1.0.0-rc.9", + "@rolldown/binding-darwin-arm64": "1.0.0-rc.9", + "@rolldown/binding-darwin-x64": "1.0.0-rc.9", + "@rolldown/binding-freebsd-x64": "1.0.0-rc.9", + "@rolldown/binding-linux-arm-gnueabihf": "1.0.0-rc.9", + "@rolldown/binding-linux-arm64-gnu": "1.0.0-rc.9", + "@rolldown/binding-linux-arm64-musl": "1.0.0-rc.9", + "@rolldown/binding-linux-ppc64-gnu": "1.0.0-rc.9", + "@rolldown/binding-linux-s390x-gnu": "1.0.0-rc.9", + "@rolldown/binding-linux-x64-gnu": "1.0.0-rc.9", + "@rolldown/binding-linux-x64-musl": "1.0.0-rc.9", + "@rolldown/binding-openharmony-arm64": "1.0.0-rc.9", + "@rolldown/binding-wasm32-wasi": "1.0.0-rc.9", + "@rolldown/binding-win32-arm64-msvc": "1.0.0-rc.9", + "@rolldown/binding-win32-x64-msvc": "1.0.0-rc.9" + } + }, + "node_modules/rolldown/node_modules/@rolldown/pluginutils": { + "version": "1.0.0-rc.9", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.9.tgz", + "integrity": "sha512-w6oiRWgEBl04QkFZgmW+jnU1EC9b57Oihi2ot3HNWIQRqgHp5PnYDia5iZ5FF7rpa4EQdiqMDXjlqKGXBhsoXw==", + "dev": true, + "license": "MIT" }, "node_modules/run-parallel": { "version": "1.2.0", @@ -13477,6 +13658,17 @@ "node": ">=0.10" } }, + "node_modules/snake-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-3.0.4.tgz", + "integrity": "sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==", + "dev": true, + "license": "MIT", + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, "node_modules/source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", @@ -13981,9 +14173,9 @@ } }, "node_modules/tinyglobby/node_modules/picomatch": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", "dev": true, "license": "MIT", "engines": { @@ -14058,27 +14250,6 @@ "typescript": ">=4.2.0" } }, - "node_modules/tsconfck": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-3.1.6.tgz", - "integrity": "sha512-ks6Vjr/jEw0P1gmOVwutM3B7fWxoWBL2KRDb1JfqGVawBmO5UsvmWOQFGHBPl5yxYz4eERr19E6L7NMv+Fej4w==", - "dev": true, - "license": "MIT", - "bin": { - "tsconfck": "bin/tsconfck.js" - }, - "engines": { - "node": "^18 || >=20" - }, - "peerDependencies": { - "typescript": "^5.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, "node_modules/tsconfig-paths": { "version": "3.15.0", "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", @@ -14261,6 +14432,13 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/undici-types": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz", + "integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==", + "dev": true, + "license": "MIT" + }, "node_modules/unified": { "version": "11.0.5", "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.5.tgz", @@ -14516,17 +14694,17 @@ } }, "node_modules/vite": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/vite/-/vite-7.3.1.tgz", - "integrity": "sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/vite/-/vite-8.0.0.tgz", + "integrity": "sha512-fPGaRNj9Zytaf8LEiBhY7Z6ijnFKdzU/+mL8EFBaKr7Vw1/FWcTBAMW0wLPJAGMPX38ZPVCVgLceWiEqeoqL2Q==", "dev": true, "license": "MIT", "dependencies": { - "esbuild": "^0.27.0", - "fdir": "^6.5.0", + "@oxc-project/runtime": "0.115.0", + "lightningcss": "^1.32.0", "picomatch": "^4.0.3", - "postcss": "^8.5.6", - "rollup": "^4.43.0", + "postcss": "^8.5.8", + "rolldown": "1.0.0-rc.9", "tinyglobby": "^0.2.15" }, "bin": { @@ -14543,9 +14721,10 @@ }, "peerDependencies": { "@types/node": "^20.19.0 || >=22.12.0", + "@vitejs/devtools": "^0.0.0-alpha.31", + "esbuild": "^0.27.0", "jiti": ">=1.21.0", "less": "^4.0.0", - "lightningcss": "^1.21.0", "sass": "^1.70.0", "sass-embedded": "^1.70.0", "stylus": ">=0.54.8", @@ -14558,13 +14737,16 @@ "@types/node": { "optional": true }, - "jiti": { + "@vitejs/devtools": { "optional": true }, - "less": { + "esbuild": { + "optional": true + }, + "jiti": { "optional": true }, - "lightningcss": { + "less": { "optional": true }, "sass": { @@ -14618,76 +14800,39 @@ } }, "node_modules/vite-plugin-lib-inject-css": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/vite-plugin-lib-inject-css/-/vite-plugin-lib-inject-css-2.1.1.tgz", - "integrity": "sha512-RIMeVnqBK/8I0E9nnQWzws6pdj5ilRMPJSnXYb6nWxNR4EmDPnksnb/ACoR5Fy7QfzULqS4gtQMrjwnNCC9zoA==", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/vite-plugin-lib-inject-css/-/vite-plugin-lib-inject-css-2.2.2.tgz", + "integrity": "sha512-NF30p0GwtfSAmVlxo2NgPXM2rEdtgV7LFi4lkzajKD7P3Ru/ZAFmI533M0Z5qyMZpvNMxVGkewzpjD0HOWtbDQ==", "dev": true, "license": "MIT", "dependencies": { - "@ast-grep/napi": "^0.22.3", - "magic-string": "^0.30.10", - "picocolors": "^1.0.0" + "@ast-grep/napi": "^0.36.2", + "magic-string": "^0.30.17", + "picocolors": "^1.1.1" }, "peerDependencies": { "vite": "*" } }, "node_modules/vite-plugin-svgr": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/vite-plugin-svgr/-/vite-plugin-svgr-2.4.0.tgz", - "integrity": "sha512-q+mJJol6ThvqkkJvvVFEndI4EaKIjSI0I3jNFgSoC9fXAz1M7kYTVUin8fhUsFojFDKZ9VHKtX6NXNaOLpbsHA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@rollup/pluginutils": "^5.0.2", - "@svgr/core": "^6.5.1" - }, - "peerDependencies": { - "vite": "^2.6.0 || 3 || 4" - } - }, - "node_modules/vite-tsconfig-paths": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/vite-tsconfig-paths/-/vite-tsconfig-paths-5.0.1.tgz", - "integrity": "sha512-yqwv+LstU7NwPeNqajZzLEBVpUFU6Dugtb2P84FXuvaoYA+/70l9MHE+GYfYAycVyPSDYZ7mjOFuYBRqlEpTig==", + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/vite-plugin-svgr/-/vite-plugin-svgr-4.5.0.tgz", + "integrity": "sha512-W+uoSpmVkSmNOGPSsDCWVW/DDAyv+9fap9AZXBvWiQqrboJ08j2vh0tFxTD/LjwqwAd3yYSVJgm54S/1GhbdnA==", "dev": true, "license": "MIT", "dependencies": { - "debug": "^4.1.1", - "globrex": "^0.1.2", - "tsconfck": "^3.0.3" - }, - "peerDependencies": { - "vite": "*" - }, - "peerDependenciesMeta": { - "vite": { - "optional": true - } - } - }, - "node_modules/vite/node_modules/fdir": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", - "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12.0.0" + "@rollup/pluginutils": "^5.2.0", + "@svgr/core": "^8.1.0", + "@svgr/plugin-jsx": "^8.1.0" }, "peerDependencies": { - "picomatch": "^3 || ^4" - }, - "peerDependenciesMeta": { - "picomatch": { - "optional": true - } + "vite": ">=2.6.0" } }, "node_modules/vite/node_modules/picomatch": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", "dev": true, "license": "MIT", "engines": { @@ -14960,9 +15105,9 @@ "license": "ISC" }, "node_modules/yaml": { - "version": "2.8.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.2.tgz", - "integrity": "sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==", + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.3.tgz", + "integrity": "sha512-AvbaCLOO2Otw/lW5bmh9d/WEdcDFdQp2Z2ZUH3pX9U2ihyUY0nvLv7J6TrWowklRGPYbB/IuIMfYgxaCPg5Bpg==", "license": "ISC", "bin": { "yaml": "bin.mjs" diff --git a/package.json b/package.json index 82ce94ccc..3f9570e6e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.23.3-beta-3", + "version": "1.23.3-beta-7", "description": "Supporting common component library", "type": "module", "main": "dist/index.js", @@ -38,8 +38,6 @@ }, "devDependencies": { "@esbuild-plugins/node-globals-polyfill": "0.2.3", - "react": "^19.2.4", - "react-dom": "^19.2.4", "@laynezh/vite-plugin-lib-assets": "2.2.0", "@sentry/browser": "^7.119.1", "@tanstack/eslint-plugin-query": "^5.91.4", @@ -48,12 +46,13 @@ "@typeform/embed-react": "2.20.0", "@types/dompurify": "^3.0.5", "@types/json-schema": "^7.0.15", + "@types/node": "^25.5.0", "@types/react": "^19.2.14", "@types/react-csv": "^1.1.10", "@types/react-dom": "^19.2.3", "@typescript-eslint/eslint-plugin": "8.3.0", "@typescript-eslint/parser": "8.3.0", - "@vitejs/plugin-react": "5.1.0", + "@vitejs/plugin-react": "6.0.1", "eslint": "^8.57.1", "eslint-config-airbnb": "^19.0.4", "eslint-config-prettier": "^9.1.0", @@ -70,16 +69,17 @@ "lint-staged": "^12.5.0", "moment": "^2.29.4", "prettier": "^3.1.1", + "react": "^19.2.4", + "react-dom": "^19.2.4", "react-ga4": "^1.4.1", "react-toastify": "^10.0.6", "sharp": "^0.33.5", "svgo": "^3.3.2", "typescript": "5.5.4", - "vite": "^7.3.0", + "vite": "8.0.0", "vite-plugin-dts": "4.5.4", - "vite-plugin-lib-inject-css": "2.1.1", - "vite-plugin-svgr": "^2.4.0", - "vite-tsconfig-paths": "5.0.1" + "vite-plugin-lib-inject-css": "2.2.2", + "vite-plugin-svgr": "4.5.0" }, "peerDependencies": { "@typeform/embed-react": "2.20.0", @@ -127,7 +127,6 @@ "marked": "^13.0.3", "nanoid": "^3.3.8", "qrcode.react": "^4.2.0", - "react-canvas-confetti": "^2.0.7", "react-csv": "^2.2.2", "react-day-picker": "^9.11.2", "react-draggable": "^4.4.5", @@ -142,11 +141,14 @@ "eslint-plugin-react-hooks": "^5.2.0", "cross-spawn": "^7.0.5", "vite-plugin-svgr": { - "vite": "^7.3.0" + "vite": "8.0.0" }, "react-virtualized-sticky-tree": { "react": "^19.2.4", "react-dom": "^19.2.4" + }, + "@laynezh/vite-plugin-lib-assets": { + "vite": "8.0.0" } } } diff --git a/scripts/generate-icon.cjs b/scripts/generate-icon.cjs index 70dfa7fe9..1f7bb723a 100644 --- a/scripts/generate-icon.cjs +++ b/scripts/generate-icon.cjs @@ -44,7 +44,7 @@ const generateIconComponent = () => { .replace(/(^\w+)/, (match) => match.toUpperCase()) .replace(/-./g, (match) => match[1].toUpperCase()) // Push imports statement - imports.push(`import { ReactComponent as ${importName} } from '@IconsV2/${file}'`) + imports.push(`import ${importName} from '@IconsV2/${file}?react'`) // Push icons to iconMap iconMapEntries.push(`["${iconName}"]: ${importName},`) }) diff --git a/scripts/generate-illustration.cjs b/scripts/generate-illustration.cjs index 68b9ba84b..fc9a247bf 100644 --- a/scripts/generate-illustration.cjs +++ b/scripts/generate-illustration.cjs @@ -47,7 +47,7 @@ const generateIllustrationComponent = () => { .map((segment) => segment.charAt(0).toUpperCase() + segment.slice(1)) .join('') // Push imports statement - imports.push(`import { ReactComponent as ${importName} } from '@Illustrations/${file}'`) + imports.push(`import ${importName} from '@Illustrations/${file}?react'`) // Push illustrations to illustrationMap illustrationMapEntries.push(`["${illustrationName}"]: ${importName},`) }) diff --git a/src/Common/ClipboardButton/ClipboardButton.tsx b/src/Common/ClipboardButton/ClipboardButton.tsx index dffdb197f..71ea2d40b 100644 --- a/src/Common/ClipboardButton/ClipboardButton.tsx +++ b/src/Common/ClipboardButton/ClipboardButton.tsx @@ -19,8 +19,8 @@ import { useEffect, useRef, useState } from 'react' import Tooltip from '@Common/Tooltip/Tooltip' import { Button, ButtonStyleType, ButtonVariantType } from '@Shared/Components/Button' -import { ReactComponent as Check } from '../../Assets/Icon/ic-check.svg' -import { ReactComponent as ICCopy } from '../../Assets/Icon/ic-copy.svg' +import Check from '../../Assets/Icon/ic-check.svg?react' +import ICCopy from '../../Assets/Icon/ic-copy.svg?react' import { copyToClipboard, noop, stopPropagation } from '../Helper' import { ClipboardProps } from './types' diff --git a/src/Common/CustomTagSelector/PropagateTagInfo.tsx b/src/Common/CustomTagSelector/PropagateTagInfo.tsx index 3bc57a9cf..7b167663b 100644 --- a/src/Common/CustomTagSelector/PropagateTagInfo.tsx +++ b/src/Common/CustomTagSelector/PropagateTagInfo.tsx @@ -14,8 +14,8 @@ * limitations under the License. */ -import { ReactComponent as InjectTag } from '../../Assets/Icon/inject-tag.svg' -import { ReactComponent as ICHelpOutline } from '../../Assets/Icon/ic-help-outline.svg' +import InjectTag from '../../Assets/Icon/inject-tag.svg?react' +import ICHelpOutline from '../../Assets/Icon/ic-help-outline.svg?react' import { TippyCustomized } from '../TippyCustomized' import { TippyTheme } from '../Types' diff --git a/src/Common/CustomTagSelector/TagDetails.tsx b/src/Common/CustomTagSelector/TagDetails.tsx index 8b221668e..73d36c903 100644 --- a/src/Common/CustomTagSelector/TagDetails.tsx +++ b/src/Common/CustomTagSelector/TagDetails.tsx @@ -15,8 +15,8 @@ */ import React, { useRef } from 'react' -import { ReactComponent as DeleteCross } from '../../Assets/Icon/ic-cross.svg' -import { ReactComponent as InjectTag } from '../../Assets/Icon/inject-tag.svg' +import DeleteCross from '../../Assets/Icon/ic-cross.svg?react' +import InjectTag from '../../Assets/Icon/inject-tag.svg?react' import { TagLabelValueSelector } from './TagLabelValueSelector' import { KEY_VALUE } from '../Constants' import { stopPropagation } from '../Helper' diff --git a/src/Common/CustomTagSelector/TagLabelValueSelector.tsx b/src/Common/CustomTagSelector/TagLabelValueSelector.tsx index e2aacccee..c80275e4f 100644 --- a/src/Common/CustomTagSelector/TagLabelValueSelector.tsx +++ b/src/Common/CustomTagSelector/TagLabelValueSelector.tsx @@ -17,8 +17,8 @@ import { useState, useEffect, type JSX } from 'react' import Tippy from '@tippyjs/react' import PopupMenu from '../PopupMenu' -import { ReactComponent as ErrorCross } from '../../Assets/Icon/ic-cross.svg' -import { ReactComponent as Info } from '../../Assets/Icon/ic-info-outlined.svg' +import ErrorCross from '../../Assets/Icon/ic-cross.svg?react' +import Info from '../../Assets/Icon/ic-info-outlined.svg?react' import { KEY_VALUE } from '../Constants' import { stopPropagation } from '../Helper' import { ResizableTagTextArea } from './ResizableTagTextArea' diff --git a/src/Common/DebouncedSearch/DebouncedSearch.tsx b/src/Common/DebouncedSearch/DebouncedSearch.tsx index b8390f6fb..23ae2ae16 100644 --- a/src/Common/DebouncedSearch/DebouncedSearch.tsx +++ b/src/Common/DebouncedSearch/DebouncedSearch.tsx @@ -16,7 +16,7 @@ import React, { useEffect, useState } from 'react' import { useDebouncedEffect } from './Utils' -import { ReactComponent as ICClear } from '../../Assets/Icon/ic-error-cross.svg' +import ICClear from '../../Assets/Icon/ic-error-cross.svg?react' import { DebouncedSearchProps } from './Types' /** diff --git a/src/Common/DevtronProgressing/DevtronProgressing.tsx b/src/Common/DevtronProgressing/DevtronProgressing.tsx index 3b352788b..b4869bb8c 100644 --- a/src/Common/DevtronProgressing/DevtronProgressing.tsx +++ b/src/Common/DevtronProgressing/DevtronProgressing.tsx @@ -15,7 +15,7 @@ */ import { type JSX } from 'react' -import { ReactComponent as ICRotateDevtron } from '../../Assets/Icon/ic-rotate-devtron.svg' +import ICRotateDevtron from '../../Assets/Icon/ic-rotate-devtron.svg?react' import { DevtronProgressingProps } from './types' export const DevtronProgressing = ({ classes, parentClasses }: DevtronProgressingProps): JSX.Element => ( diff --git a/src/Common/Dialogs/DialogForm.tsx b/src/Common/Dialogs/DialogForm.tsx index 427d35cf1..1d4b7a2c2 100644 --- a/src/Common/Dialogs/DialogForm.tsx +++ b/src/Common/Dialogs/DialogForm.tsx @@ -16,9 +16,9 @@ import { Component, createContext, PropsWithChildren } from 'react' import { VisibleModal } from '../Modals/VisibleModal' -import close from '../../Assets/Icon/ic-cross.svg' import { Progressing } from '../Progressing' import { DialogFormProps } from './Types' +import { Icon } from '@Shared/Components' // TODO: may not need context const DialogFormContext = createContext({ title: '', isLoading: false, close: (event) => {}, onSave: (event) => {} }) @@ -57,7 +57,7 @@ export class DialogForm extends Component> {

{this.props.title}

diff --git a/src/Common/DraggableWrapper/DraggableButton.tsx b/src/Common/DraggableWrapper/DraggableButton.tsx index 48349887e..13edf5b41 100644 --- a/src/Common/DraggableWrapper/DraggableButton.tsx +++ b/src/Common/DraggableWrapper/DraggableButton.tsx @@ -15,7 +15,7 @@ */ import React from 'react' -import { ReactComponent as ICDrag } from '../../Assets/Icon/ic-drag.svg' +import ICDrag from '../../Assets/Icon/ic-drag.svg?react' import { DraggableButtonProps } from './types' export default function DraggableButton({ dragClassName }: DraggableButtonProps) { diff --git a/src/Common/GenericDescription/GenericDescription.tsx b/src/Common/GenericDescription/GenericDescription.tsx index 361ac32aa..010e44399 100644 --- a/src/Common/GenericDescription/GenericDescription.tsx +++ b/src/Common/GenericDescription/GenericDescription.tsx @@ -17,8 +17,8 @@ import { useEffect, useMemo, useState } from 'react' import MDEditor, { commands, MDEditorProps } from '@uiw/react-md-editor' -import { ReactComponent as Edit } from '@Icons/ic-pencil.svg' -import { ReactComponent as UnorderedListIcon } from '@Icons/ic-unordered-list.svg' +import Edit from '@Icons/ic-pencil.svg?react' +import UnorderedListIcon from '@Icons/ic-unordered-list.svg?react' import { Button, diff --git a/src/Common/GenericDescription/constant.tsx b/src/Common/GenericDescription/constant.tsx index e58edda61..8ac09ef94 100644 --- a/src/Common/GenericDescription/constant.tsx +++ b/src/Common/GenericDescription/constant.tsx @@ -16,17 +16,17 @@ import { commands } from '@uiw/react-md-editor' -import { ReactComponent as BoldIcon } from '@Icons/ic-bold.svg' -import { ReactComponent as CheckedListIcon } from '@Icons/ic-checked-list.svg' -import { ReactComponent as CodeIcon } from '@Icons/ic-code.svg' -import { ReactComponent as HeaderIcon } from '@Icons/ic-header.svg' -import { ReactComponent as ImageIcon } from '@Icons/ic-image.svg' -import { ReactComponent as ItalicIcon } from '@Icons/ic-italic.svg' -import { ReactComponent as LinkIcon } from '@Icons/ic-link.svg' -import { ReactComponent as OrderedListIcon } from '@Icons/ic-ordered-list.svg' -import { ReactComponent as QuoteIcon } from '@Icons/ic-quote.svg' -import { ReactComponent as StrikethroughIcon } from '@Icons/ic-strikethrough.svg' -import { ReactComponent as UnorderedListIcon } from '@Icons/ic-unordered-list.svg' +import BoldIcon from '@Icons/ic-bold.svg?react' +import CheckedListIcon from '@Icons/ic-checked-list.svg?react' +import CodeIcon from '@Icons/ic-code.svg?react' +import HeaderIcon from '@Icons/ic-header.svg?react' +import ImageIcon from '@Icons/ic-image.svg?react' +import ItalicIcon from '@Icons/ic-italic.svg?react' +import LinkIcon from '@Icons/ic-link.svg?react' +import OrderedListIcon from '@Icons/ic-ordered-list.svg?react' +import QuoteIcon from '@Icons/ic-quote.svg?react' +import StrikethroughIcon from '@Icons/ic-strikethrough.svg?react' +import UnorderedListIcon from '@Icons/ic-unordered-list.svg?react' export const DESCRIPTION_EMPTY_ERROR_MSG = 'Readme cannot be empty. Please add some information or cancel the changes.' export const DESCRIPTION_UNSAVED_CHANGES_MSG = 'Are you sure you want to discard your changes?' diff --git a/src/Common/Helper.tsx b/src/Common/Helper.tsx index e770fbe08..9daf9c526 100644 --- a/src/Common/Helper.tsx +++ b/src/Common/Helper.tsx @@ -45,12 +45,12 @@ import { WebhookEventNameType, AppType, } from '../Shared' -import { ReactComponent as ArrowDown } from '@Icons/ic-chevron-down.svg' -import { ReactComponent as ICWebhook } from '@Icons/ic-webhook.svg' -import { ReactComponent as ICBranch } from '@Icons/ic-branch.svg' -import { ReactComponent as ICRegex } from '@Icons/ic-regex.svg' -import { ReactComponent as ICPullRequest } from '@Icons/ic-pull-request.svg' -import { ReactComponent as ICTag } from '@Icons/ic-tag.svg' +import ArrowDown from '@Icons/ic-chevron-down.svg?react' +import ICWebhook from '@Icons/ic-webhook.svg?react' +import ICBranch from '@Icons/ic-branch.svg?react' +import ICRegex from '@Icons/ic-regex.svg?react' +import ICPullRequest from '@Icons/ic-pull-request.svg?react' +import ICTag from '@Icons/ic-tag.svg?react' import { SourceTypeMap } from '@Common/Common.service' import { getIsRequestAborted } from './API' diff --git a/src/Common/ImageTags.tsx b/src/Common/ImageTags.tsx index 1c2c62621..5e807a3df 100644 --- a/src/Common/ImageTags.tsx +++ b/src/Common/ImageTags.tsx @@ -16,15 +16,15 @@ import { useEffect, useRef, useState, type JSX } from 'react' import Tippy from '@tippyjs/react' -import { ReactComponent as Add } from '../Assets/Icon/ic-add.svg' -import { ReactComponent as Close } from '../Assets/Icon/ic-cross.svg' -import { ReactComponent as EditIcon } from '../Assets/Icon/ic-pencil.svg' -import { ReactComponent as Redo } from '../Assets/Icon/ic-arrow-counter-clockwise.svg' -import { ReactComponent as Minus } from '../Assets/Icon/ic-minus.svg' -import { ReactComponent as Info } from '../Assets/Icon/ic-info-filled.svg' -import { ReactComponent as Error } from '../Assets/Icon/ic-warning.svg' -import { ReactComponent as Warning } from '../Assets/Icon/ic-error-exclamation.svg' -import { ReactComponent as Enter } from '../Assets/Icon/ic-enter.svg' +import Add from '../Assets/Icon/ic-add.svg?react' +import Close from '../Assets/Icon/ic-cross.svg?react' +import EditIcon from '../Assets/Icon/ic-pencil.svg?react' +import Redo from '../Assets/Icon/ic-arrow-counter-clockwise.svg?react' +import Minus from '../Assets/Icon/ic-minus.svg?react' +import Info from '../Assets/Icon/ic-info-filled.svg?react' +import Error from '../Assets/Icon/ic-warning.svg?react' +import Warning from '../Assets/Icon/ic-error-exclamation.svg?react' +import Enter from '../Assets/Icon/ic-enter.svg?react' import { ImageButtonType, ImageTaggingContainerType, ReleaseTag } from './ImageTags.Types' import { showError, stopPropagation } from './Helper' import { setImageTags } from './Common.service' diff --git a/src/Common/MultiSelectCustomization.tsx b/src/Common/MultiSelectCustomization.tsx index f48b36d80..00cfab762 100644 --- a/src/Common/MultiSelectCustomization.tsx +++ b/src/Common/MultiSelectCustomization.tsx @@ -17,10 +17,10 @@ import React from 'react' import Select, { components } from 'react-select' import Tippy from '@tippyjs/react' -import { ReactComponent as ICErrorCross } from '@Icons/ic-error-cross.svg' -import { ReactComponent as ClearIcon } from '../Assets/Icon/ic-appstatus-cancelled.svg' -import { ReactComponent as Check } from '../Assets/Icon/ic-check.svg' -import { ReactComponent as RedWarning } from '../Assets/Icon/ic-error-medium.svg' +import ICErrorCross from '@Icons/ic-error-cross.svg?react' +import ClearIcon from '../Assets/Icon/ic-appstatus-cancelled.svg?react' +import Check from '../Assets/Icon/ic-check.svg?react' +import RedWarning from '../Assets/Icon/ic-error-medium.svg?react' import { Checkbox } from './Checkbox' import { CHECKBOX_VALUE } from './Types' import { ConditionalWrap } from './Helper' diff --git a/src/Common/RJSF/templates/ButtonTemplates/AddButton.tsx b/src/Common/RJSF/templates/ButtonTemplates/AddButton.tsx index ee04f67ec..de99ea44b 100644 --- a/src/Common/RJSF/templates/ButtonTemplates/AddButton.tsx +++ b/src/Common/RJSF/templates/ButtonTemplates/AddButton.tsx @@ -17,7 +17,7 @@ import { IconButtonProps } from '@rjsf/utils' import { Tooltip } from '@Common/Tooltip' -import { ReactComponent as PlusIcon } from '../../../../Assets/Icon/ic-add.svg' +import PlusIcon from '../../../../Assets/Icon/ic-add.svg?react' export const AddButton = ({ label, diff --git a/src/Common/RJSF/templates/ButtonTemplates/RemoveButton.tsx b/src/Common/RJSF/templates/ButtonTemplates/RemoveButton.tsx index 435710357..905c82056 100644 --- a/src/Common/RJSF/templates/ButtonTemplates/RemoveButton.tsx +++ b/src/Common/RJSF/templates/ButtonTemplates/RemoveButton.tsx @@ -17,7 +17,7 @@ import React from 'react' import { IconButtonProps } from '@rjsf/utils' -import { ReactComponent as CrossIcon } from '../../../../Assets/Icon/ic-cross.svg' +import CrossIcon from '../../../../Assets/Icon/ic-cross.svg?react' export const RemoveButton = ({ icon, iconType, registry, uiSchema, ...props }: IconButtonProps) => (