diff --git a/app/client/cypress/e2e/Regression/ClientSide/Widgets/Datepicker/DatePicker3_spec.ts b/app/client/cypress/e2e/Regression/ClientSide/Widgets/Datepicker/DatePicker3_spec.ts index a2f5acc71dfe..b2aee9b4ea00 100644 --- a/app/client/cypress/e2e/Regression/ClientSide/Widgets/Datepicker/DatePicker3_spec.ts +++ b/app/client/cypress/e2e/Regression/ClientSide/Widgets/Datepicker/DatePicker3_spec.ts @@ -8,7 +8,7 @@ import { propPane, } from "../../../../../support/Objects/ObjectsCore"; -import { format } from "date-fns"; +import { format } from "date-fns/format.cjs"; import { datePickerlocators } from "../../../../../locators/WidgetLocators"; import EditorNavigation, { EntityType, diff --git a/app/client/jest.config.js b/app/client/jest.config.js index 342158f21372..851fe78efa3b 100644 --- a/app/client/jest.config.js +++ b/app/client/jest.config.js @@ -21,7 +21,7 @@ module.exports = { moduleFileExtensions: ["ts", "tsx", "js", "jsx", "json", "node", "css"], moduleDirectories: ["node_modules", "src", "test"], transformIgnorePatterns: [ - "/node_modules/(?!codemirror|konva|react-dnd|dnd-core|@babel|(@blueprintjs)|@github|lodash-es|@draft-js-plugins|react-documents|linkedom|assert-never|axios|usehooks-ts)", + "/node_modules/(?!codemirror|konva|react-dnd|dnd-core|@babel|(@blueprintjs)|@github|lodash-es|@draft-js-plugins|react-documents|linkedom|assert-never|axios|usehooks-ts|date-fns)", ], moduleNameMapper: { "\\.(css|less)$": "/test/__mocks__/styleMock.js", diff --git a/app/client/package.json b/app/client/package.json index 3b205ee5ea81..9742d7ca3c77 100644 --- a/app/client/package.json +++ b/app/client/package.json @@ -125,7 +125,7 @@ "cypress-log-to-output": "^1.1.2", "cypress-repeat-pro": "^1.0.1", "d3-geo": "^3.1.0", - "date-fns": "2.30.0", + "date-fns": "^4.1.0", "dayjs": "^1.10.6", "deep-diff": "^1.0.2", "downloadjs": "^1.4.7", diff --git a/app/client/packages/icons/package.json b/app/client/packages/icons/package.json index 351d24c894fc..514eeabb69c5 100644 --- a/app/client/packages/icons/package.json +++ b/app/client/packages/icons/package.json @@ -18,6 +18,8 @@ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" }, "devDependencies": { + "@svgr/core": "^8.1.0", + "@svgr/plugin-jsx": "^8.1.0", "fast-glob": "^3.3.2", "figmagic": "^4.5.13", "fs-extra": "^11.2.0", diff --git a/app/client/packages/icons/src/components/CustomIcons/AIAvatarCustomIcon.tsx b/app/client/packages/icons/src/components/CustomIcons/AIAvatarCustomIcon.tsx new file mode 100644 index 000000000000..2c11db8ee939 --- /dev/null +++ b/app/client/packages/icons/src/components/CustomIcons/AIAvatarCustomIcon.tsx @@ -0,0 +1,4 @@ +import * as React from "react"; +import type { SVGProps } from "react"; +const AIAvatarCustomIcon = (props: SVGProps) => ; +export { AIAvatarCustomIcon }; \ No newline at end of file diff --git a/app/client/packages/icons/src/components/Icons/AIChatIcon.tsx b/app/client/packages/icons/src/components/Icons/AIChatIcon.tsx index e40a07f10f73..0b8ba3a1e9a9 100644 --- a/app/client/packages/icons/src/components/Icons/AIChatIcon.tsx +++ b/app/client/packages/icons/src/components/Icons/AIChatIcon.tsx @@ -1,2 +1,4 @@ -import React from "react"; -export const AIChatIcon = () => ; +import * as React from "react"; +import type { SVGProps } from "react"; +const AIChatIcon = (props: SVGProps) => ; +export { AIChatIcon }; \ No newline at end of file diff --git a/app/client/packages/icons/src/components/Icons/ButtonIcon.tsx b/app/client/packages/icons/src/components/Icons/ButtonIcon.tsx index 1c1db17747a7..fe8d70414dcd 100644 --- a/app/client/packages/icons/src/components/Icons/ButtonIcon.tsx +++ b/app/client/packages/icons/src/components/Icons/ButtonIcon.tsx @@ -1,2 +1,4 @@ -import React from "react"; -export const ButtonIcon = () => ; +import * as React from "react"; +import type { SVGProps } from "react"; +const ButtonIcon = (props: SVGProps) => ; +export { ButtonIcon }; \ No newline at end of file diff --git a/app/client/packages/icons/src/components/Icons/CheckboxGroupIcon.tsx b/app/client/packages/icons/src/components/Icons/CheckboxGroupIcon.tsx index f8621332360f..3e9fc735f81b 100644 --- a/app/client/packages/icons/src/components/Icons/CheckboxGroupIcon.tsx +++ b/app/client/packages/icons/src/components/Icons/CheckboxGroupIcon.tsx @@ -1,2 +1,4 @@ -import React from "react"; -export const CheckboxGroupIcon = () => ; +import * as React from "react"; +import type { SVGProps } from "react"; +const CheckboxGroupIcon = (props: SVGProps) => ; +export { CheckboxGroupIcon }; \ No newline at end of file diff --git a/app/client/packages/icons/src/components/Icons/CheckboxIcon.tsx b/app/client/packages/icons/src/components/Icons/CheckboxIcon.tsx index 29369bcba70b..e3d38ebfefdc 100644 --- a/app/client/packages/icons/src/components/Icons/CheckboxIcon.tsx +++ b/app/client/packages/icons/src/components/Icons/CheckboxIcon.tsx @@ -1,2 +1,4 @@ -import React from "react"; -export const CheckboxIcon = () => ; +import * as React from "react"; +import type { SVGProps } from "react"; +const CheckboxIcon = (props: SVGProps) => ; +export { CheckboxIcon }; \ No newline at end of file diff --git a/app/client/packages/icons/src/components/Icons/ComboboxSelectIcon.tsx b/app/client/packages/icons/src/components/Icons/ComboboxSelectIcon.tsx index a5543679b2bd..054b78fe28d5 100644 --- a/app/client/packages/icons/src/components/Icons/ComboboxSelectIcon.tsx +++ b/app/client/packages/icons/src/components/Icons/ComboboxSelectIcon.tsx @@ -1,2 +1,4 @@ -import React from "react"; -export const ComboboxSelectIcon = () => ; +import * as React from "react"; +import type { SVGProps } from "react"; +const ComboboxSelectIcon = (props: SVGProps) => ; +export { ComboboxSelectIcon }; \ No newline at end of file diff --git a/app/client/packages/icons/src/components/Icons/CurrencyInputIcon.tsx b/app/client/packages/icons/src/components/Icons/CurrencyInputIcon.tsx index 92cfe3cb3aae..56a604bab54f 100644 --- a/app/client/packages/icons/src/components/Icons/CurrencyInputIcon.tsx +++ b/app/client/packages/icons/src/components/Icons/CurrencyInputIcon.tsx @@ -1,2 +1,4 @@ -import React from "react"; -export const CurrencyInputIcon = () => ; +import * as React from "react"; +import type { SVGProps } from "react"; +const CurrencyInputIcon = (props: SVGProps) => ; +export { CurrencyInputIcon }; \ No newline at end of file diff --git a/app/client/packages/icons/src/components/Icons/DatePickerIcon.tsx b/app/client/packages/icons/src/components/Icons/DatePickerIcon.tsx index 663d3e8c330f..876c44b6a4b4 100644 --- a/app/client/packages/icons/src/components/Icons/DatePickerIcon.tsx +++ b/app/client/packages/icons/src/components/Icons/DatePickerIcon.tsx @@ -1,2 +1,4 @@ -import React from "react"; -export const DatePickerIcon = () => ; +import * as React from "react"; +import type { SVGProps } from "react"; +const DatePickerIcon = (props: SVGProps) => ; +export { DatePickerIcon }; \ No newline at end of file diff --git a/app/client/packages/icons/src/components/Icons/EmailInputIcon.tsx b/app/client/packages/icons/src/components/Icons/EmailInputIcon.tsx index e67d33183035..13f5c63190b0 100644 --- a/app/client/packages/icons/src/components/Icons/EmailInputIcon.tsx +++ b/app/client/packages/icons/src/components/Icons/EmailInputIcon.tsx @@ -1,2 +1,4 @@ -import React from "react"; -export const EmailInputIcon = () => ; +import * as React from "react"; +import type { SVGProps } from "react"; +const EmailInputIcon = (props: SVGProps) => ; +export { EmailInputIcon }; \ No newline at end of file diff --git a/app/client/packages/icons/src/components/Icons/HeadingIcon.tsx b/app/client/packages/icons/src/components/Icons/HeadingIcon.tsx index ce21cb63e153..c6375fb87ef6 100644 --- a/app/client/packages/icons/src/components/Icons/HeadingIcon.tsx +++ b/app/client/packages/icons/src/components/Icons/HeadingIcon.tsx @@ -1,2 +1,4 @@ -import React from "react"; -export const HeadingIcon = () => ; +import * as React from "react"; +import type { SVGProps } from "react"; +const HeadingIcon = (props: SVGProps) => ; +export { HeadingIcon }; \ No newline at end of file diff --git a/app/client/packages/icons/src/components/Icons/IconButtonIcon.tsx b/app/client/packages/icons/src/components/Icons/IconButtonIcon.tsx index 510d24d59008..cd9f744dd14b 100644 --- a/app/client/packages/icons/src/components/Icons/IconButtonIcon.tsx +++ b/app/client/packages/icons/src/components/Icons/IconButtonIcon.tsx @@ -1,2 +1,4 @@ -import React from "react"; -export const IconButtonIcon = () => ; +import * as React from "react"; +import type { SVGProps } from "react"; +const IconButtonIcon = (props: SVGProps) => ; +export { IconButtonIcon }; \ No newline at end of file diff --git a/app/client/packages/icons/src/components/Icons/InlineButtonsIcon.tsx b/app/client/packages/icons/src/components/Icons/InlineButtonsIcon.tsx index ec89d44edf4a..8cce9902695b 100644 --- a/app/client/packages/icons/src/components/Icons/InlineButtonsIcon.tsx +++ b/app/client/packages/icons/src/components/Icons/InlineButtonsIcon.tsx @@ -1,2 +1,4 @@ -import React from "react"; -export const InlineButtonsIcon = () => ; +import * as React from "react"; +import type { SVGProps } from "react"; +const InlineButtonsIcon = (props: SVGProps) => ; +export { InlineButtonsIcon }; \ No newline at end of file diff --git a/app/client/packages/icons/src/components/Icons/InputIcon.tsx b/app/client/packages/icons/src/components/Icons/InputIcon.tsx index fd209ac8da78..f6b98a73daf3 100644 --- a/app/client/packages/icons/src/components/Icons/InputIcon.tsx +++ b/app/client/packages/icons/src/components/Icons/InputIcon.tsx @@ -1,2 +1,4 @@ -import React from "react"; -export const InputIcon = () => ; +import * as React from "react"; +import type { SVGProps } from "react"; +const InputIcon = (props: SVGProps) => ; +export { InputIcon }; \ No newline at end of file diff --git a/app/client/packages/icons/src/components/Icons/KeyValueIcon.tsx b/app/client/packages/icons/src/components/Icons/KeyValueIcon.tsx index 09a5bd7321ca..baf2871234d1 100644 --- a/app/client/packages/icons/src/components/Icons/KeyValueIcon.tsx +++ b/app/client/packages/icons/src/components/Icons/KeyValueIcon.tsx @@ -1,2 +1,4 @@ -import React from "react"; -export const KeyValueIcon = () => ; +import * as React from "react"; +import type { SVGProps } from "react"; +const KeyValueIcon = (props: SVGProps) => ; +export { KeyValueIcon }; \ No newline at end of file diff --git a/app/client/packages/icons/src/components/Icons/MenuButtonIcon.tsx b/app/client/packages/icons/src/components/Icons/MenuButtonIcon.tsx index 26470441e927..fabb550194c4 100644 --- a/app/client/packages/icons/src/components/Icons/MenuButtonIcon.tsx +++ b/app/client/packages/icons/src/components/Icons/MenuButtonIcon.tsx @@ -1,2 +1,4 @@ -import React from "react"; -export const MenuButtonIcon = () => ; +import * as React from "react"; +import type { SVGProps } from "react"; +const MenuButtonIcon = (props: SVGProps) => ; +export { MenuButtonIcon }; \ No newline at end of file diff --git a/app/client/packages/icons/src/components/Icons/ModalIcon.tsx b/app/client/packages/icons/src/components/Icons/ModalIcon.tsx index 8496db1df687..7358fe43fc86 100644 --- a/app/client/packages/icons/src/components/Icons/ModalIcon.tsx +++ b/app/client/packages/icons/src/components/Icons/ModalIcon.tsx @@ -1,2 +1,4 @@ -import React from "react"; -export const ModalIcon = () => ; +import * as React from "react"; +import type { SVGProps } from "react"; +const ModalIcon = (props: SVGProps) => ; +export { ModalIcon }; \ No newline at end of file diff --git a/app/client/packages/icons/src/components/Icons/MultilineInputIcon.tsx b/app/client/packages/icons/src/components/Icons/MultilineInputIcon.tsx index 3401be75a150..f5ffb412de0d 100644 --- a/app/client/packages/icons/src/components/Icons/MultilineInputIcon.tsx +++ b/app/client/packages/icons/src/components/Icons/MultilineInputIcon.tsx @@ -1,2 +1,4 @@ -import React from "react"; -export const MultilineInputIcon = () => ; +import * as React from "react"; +import type { SVGProps } from "react"; +const MultilineInputIcon = (props: SVGProps) => ; +export { MultilineInputIcon }; \ No newline at end of file diff --git a/app/client/packages/icons/src/components/Icons/NumberInputIcon.tsx b/app/client/packages/icons/src/components/Icons/NumberInputIcon.tsx index 312eb87ee69e..8de60a4c9c4e 100644 --- a/app/client/packages/icons/src/components/Icons/NumberInputIcon.tsx +++ b/app/client/packages/icons/src/components/Icons/NumberInputIcon.tsx @@ -1,2 +1,4 @@ -import React from "react"; -export const NumberInputIcon = () => ; +import * as React from "react"; +import type { SVGProps } from "react"; +const NumberInputIcon = (props: SVGProps) => ; +export { NumberInputIcon }; \ No newline at end of file diff --git a/app/client/packages/icons/src/components/Icons/ParagraphIcon.tsx b/app/client/packages/icons/src/components/Icons/ParagraphIcon.tsx index fd3d7eb03870..59bb8ce2b762 100644 --- a/app/client/packages/icons/src/components/Icons/ParagraphIcon.tsx +++ b/app/client/packages/icons/src/components/Icons/ParagraphIcon.tsx @@ -1,2 +1,4 @@ -import React from "react"; -export const ParagraphIcon = () => ; +import * as React from "react"; +import type { SVGProps } from "react"; +const ParagraphIcon = (props: SVGProps) => ; +export { ParagraphIcon }; \ No newline at end of file diff --git a/app/client/packages/icons/src/components/Icons/PasswordInputIcon.tsx b/app/client/packages/icons/src/components/Icons/PasswordInputIcon.tsx index 133f72e44a80..6a7c7aed2ef1 100644 --- a/app/client/packages/icons/src/components/Icons/PasswordInputIcon.tsx +++ b/app/client/packages/icons/src/components/Icons/PasswordInputIcon.tsx @@ -1,2 +1,4 @@ -import React from "react"; -export const PasswordInputIcon = () => ; +import * as React from "react"; +import type { SVGProps } from "react"; +const PasswordInputIcon = (props: SVGProps) => ; +export { PasswordInputIcon }; \ No newline at end of file diff --git a/app/client/packages/icons/src/components/Icons/PhoneInputIcon.tsx b/app/client/packages/icons/src/components/Icons/PhoneInputIcon.tsx index c0c3b77c6bf0..1e8bc9a56367 100644 --- a/app/client/packages/icons/src/components/Icons/PhoneInputIcon.tsx +++ b/app/client/packages/icons/src/components/Icons/PhoneInputIcon.tsx @@ -1,2 +1,4 @@ -import React from "react"; -export const PhoneInputIcon = () => ; +import * as React from "react"; +import type { SVGProps } from "react"; +const PhoneInputIcon = (props: SVGProps) => ; +export { PhoneInputIcon }; \ No newline at end of file diff --git a/app/client/packages/icons/src/components/Icons/RadioGroupIcon.tsx b/app/client/packages/icons/src/components/Icons/RadioGroupIcon.tsx index 9f24ed327cec..cb9617f69c9a 100644 --- a/app/client/packages/icons/src/components/Icons/RadioGroupIcon.tsx +++ b/app/client/packages/icons/src/components/Icons/RadioGroupIcon.tsx @@ -1,2 +1,4 @@ -import React from "react"; -export const RadioGroupIcon = () => ; +import * as React from "react"; +import type { SVGProps } from "react"; +const RadioGroupIcon = (props: SVGProps) => ; +export { RadioGroupIcon }; \ No newline at end of file diff --git a/app/client/packages/icons/src/components/Icons/SectionIcon.tsx b/app/client/packages/icons/src/components/Icons/SectionIcon.tsx index e1f08894335e..ca589d7f0508 100644 --- a/app/client/packages/icons/src/components/Icons/SectionIcon.tsx +++ b/app/client/packages/icons/src/components/Icons/SectionIcon.tsx @@ -1,2 +1,4 @@ -import React from "react"; -export const SectionIcon = () => ; +import * as React from "react"; +import type { SVGProps } from "react"; +const SectionIcon = (props: SVGProps) => ; +export { SectionIcon }; \ No newline at end of file diff --git a/app/client/packages/icons/src/components/Icons/StatsBoxIcon.tsx b/app/client/packages/icons/src/components/Icons/StatsBoxIcon.tsx index 48e9f4f9c9bc..160b937d70c1 100644 --- a/app/client/packages/icons/src/components/Icons/StatsBoxIcon.tsx +++ b/app/client/packages/icons/src/components/Icons/StatsBoxIcon.tsx @@ -1,2 +1,4 @@ -import React from "react"; -export const StatsBoxIcon = () => ; +import * as React from "react"; +import type { SVGProps } from "react"; +const StatsBoxIcon = (props: SVGProps) => ; +export { StatsBoxIcon }; \ No newline at end of file diff --git a/app/client/packages/icons/src/components/Icons/SwitchGroupIcon.tsx b/app/client/packages/icons/src/components/Icons/SwitchGroupIcon.tsx index babbde8020d3..3b151be0fce0 100644 --- a/app/client/packages/icons/src/components/Icons/SwitchGroupIcon.tsx +++ b/app/client/packages/icons/src/components/Icons/SwitchGroupIcon.tsx @@ -1,2 +1,4 @@ -import React from "react"; -export const SwitchGroupIcon = () => ; +import * as React from "react"; +import type { SVGProps } from "react"; +const SwitchGroupIcon = (props: SVGProps) => ; +export { SwitchGroupIcon }; \ No newline at end of file diff --git a/app/client/packages/icons/src/components/Icons/SwitchIcon.tsx b/app/client/packages/icons/src/components/Icons/SwitchIcon.tsx index e487c66e5009..83a53b7af672 100644 --- a/app/client/packages/icons/src/components/Icons/SwitchIcon.tsx +++ b/app/client/packages/icons/src/components/Icons/SwitchIcon.tsx @@ -1,2 +1,4 @@ -import React from "react"; -export const SwitchIcon = () => ; +import * as React from "react"; +import type { SVGProps } from "react"; +const SwitchIcon = (props: SVGProps) => ; +export { SwitchIcon }; \ No newline at end of file diff --git a/app/client/packages/icons/src/components/Icons/TableIcon.tsx b/app/client/packages/icons/src/components/Icons/TableIcon.tsx index b5f1b5e98c3b..07849ad1cc80 100644 --- a/app/client/packages/icons/src/components/Icons/TableIcon.tsx +++ b/app/client/packages/icons/src/components/Icons/TableIcon.tsx @@ -1,2 +1,4 @@ -import React from "react"; -export const TableIcon = () => ; +import * as React from "react"; +import type { SVGProps } from "react"; +const TableIcon = (props: SVGProps) => ; +export { TableIcon }; \ No newline at end of file diff --git a/app/client/packages/icons/src/components/Icons/ToolbarButtonsIcon.tsx b/app/client/packages/icons/src/components/Icons/ToolbarButtonsIcon.tsx index 2d708cf15643..4ec6487de88e 100644 --- a/app/client/packages/icons/src/components/Icons/ToolbarButtonsIcon.tsx +++ b/app/client/packages/icons/src/components/Icons/ToolbarButtonsIcon.tsx @@ -1,2 +1,4 @@ -import React from "react"; -export const ToolbarButtonsIcon = () => ; +import * as React from "react"; +import type { SVGProps } from "react"; +const ToolbarButtonsIcon = (props: SVGProps) => ; +export { ToolbarButtonsIcon }; \ No newline at end of file diff --git a/app/client/packages/icons/src/components/Icons/ZoneIcon.tsx b/app/client/packages/icons/src/components/Icons/ZoneIcon.tsx index 4352f9ad3384..bd1094b89071 100644 --- a/app/client/packages/icons/src/components/Icons/ZoneIcon.tsx +++ b/app/client/packages/icons/src/components/Icons/ZoneIcon.tsx @@ -1,2 +1,4 @@ -import React from "react"; -export const ZoneIcon = () => ; +import * as React from "react"; +import type { SVGProps } from "react"; +const ZoneIcon = (props: SVGProps) => ; +export { ZoneIcon }; \ No newline at end of file diff --git a/app/client/packages/icons/src/components/Thumbnails/AIChatThumbnail.tsx b/app/client/packages/icons/src/components/Thumbnails/AIChatThumbnail.tsx index 80bc3b290c65..69911d23813a 100644 --- a/app/client/packages/icons/src/components/Thumbnails/AIChatThumbnail.tsx +++ b/app/client/packages/icons/src/components/Thumbnails/AIChatThumbnail.tsx @@ -1,2 +1,4 @@ -import React from "react"; -export const AIChatThumbnail = () => ; +import * as React from "react"; +import type { SVGProps } from "react"; +const AIChatThumbnail = (props: SVGProps) => ; +export { AIChatThumbnail }; \ No newline at end of file diff --git a/app/client/packages/icons/src/components/Thumbnails/ButtonThumbnail.tsx b/app/client/packages/icons/src/components/Thumbnails/ButtonThumbnail.tsx index e094cbfb02d4..2600f39aed32 100644 --- a/app/client/packages/icons/src/components/Thumbnails/ButtonThumbnail.tsx +++ b/app/client/packages/icons/src/components/Thumbnails/ButtonThumbnail.tsx @@ -1,2 +1,4 @@ -import React from "react"; -export const ButtonThumbnail = () => ; +import * as React from "react"; +import type { SVGProps } from "react"; +const ButtonThumbnail = (props: SVGProps) => ; +export { ButtonThumbnail }; \ No newline at end of file diff --git a/app/client/packages/icons/src/components/Thumbnails/CheckboxGroupThumbnail.tsx b/app/client/packages/icons/src/components/Thumbnails/CheckboxGroupThumbnail.tsx index 89d4c9603555..a6c591374532 100644 --- a/app/client/packages/icons/src/components/Thumbnails/CheckboxGroupThumbnail.tsx +++ b/app/client/packages/icons/src/components/Thumbnails/CheckboxGroupThumbnail.tsx @@ -1,2 +1,4 @@ -import React from "react"; -export const CheckboxGroupThumbnail = () => ; +import * as React from "react"; +import type { SVGProps } from "react"; +const CheckboxGroupThumbnail = (props: SVGProps) => ; +export { CheckboxGroupThumbnail }; \ No newline at end of file diff --git a/app/client/packages/icons/src/components/Thumbnails/CheckboxThumbnail.tsx b/app/client/packages/icons/src/components/Thumbnails/CheckboxThumbnail.tsx index 0fb1b6644632..9bd895928167 100644 --- a/app/client/packages/icons/src/components/Thumbnails/CheckboxThumbnail.tsx +++ b/app/client/packages/icons/src/components/Thumbnails/CheckboxThumbnail.tsx @@ -1,2 +1,4 @@ -import React from "react"; -export const CheckboxThumbnail = () => ; +import * as React from "react"; +import type { SVGProps } from "react"; +const CheckboxThumbnail = (props: SVGProps) => ; +export { CheckboxThumbnail }; \ No newline at end of file diff --git a/app/client/packages/icons/src/components/Thumbnails/ComboboxSelectThumbnail.tsx b/app/client/packages/icons/src/components/Thumbnails/ComboboxSelectThumbnail.tsx index fbf23f8b14d4..b7517a7bc923 100644 --- a/app/client/packages/icons/src/components/Thumbnails/ComboboxSelectThumbnail.tsx +++ b/app/client/packages/icons/src/components/Thumbnails/ComboboxSelectThumbnail.tsx @@ -1,2 +1,4 @@ -import React from "react"; -export const ComboboxSelectThumbnail = () => ; +import * as React from "react"; +import type { SVGProps } from "react"; +const ComboboxSelectThumbnail = (props: SVGProps) => ; +export { ComboboxSelectThumbnail }; \ No newline at end of file diff --git a/app/client/packages/icons/src/components/Thumbnails/CurrencyInputThumbnail.tsx b/app/client/packages/icons/src/components/Thumbnails/CurrencyInputThumbnail.tsx index 26ceec3f0499..5c97ee56f66e 100644 --- a/app/client/packages/icons/src/components/Thumbnails/CurrencyInputThumbnail.tsx +++ b/app/client/packages/icons/src/components/Thumbnails/CurrencyInputThumbnail.tsx @@ -1,2 +1,4 @@ -import React from "react"; -export const CurrencyInputThumbnail = () => ; +import * as React from "react"; +import type { SVGProps } from "react"; +const CurrencyInputThumbnail = (props: SVGProps) => ; +export { CurrencyInputThumbnail }; \ No newline at end of file diff --git a/app/client/packages/icons/src/components/Thumbnails/DatePickerThumbnail.tsx b/app/client/packages/icons/src/components/Thumbnails/DatePickerThumbnail.tsx index 1a7e6760799d..6a68cc72e795 100644 --- a/app/client/packages/icons/src/components/Thumbnails/DatePickerThumbnail.tsx +++ b/app/client/packages/icons/src/components/Thumbnails/DatePickerThumbnail.tsx @@ -1,2 +1,4 @@ -import React from "react"; -export const DatePickerThumbnail = () => ; +import * as React from "react"; +import type { SVGProps } from "react"; +const DatePickerThumbnail = (props: SVGProps) => ; +export { DatePickerThumbnail }; \ No newline at end of file diff --git a/app/client/packages/icons/src/components/Thumbnails/EmailInputThumbnail.tsx b/app/client/packages/icons/src/components/Thumbnails/EmailInputThumbnail.tsx index aa1f63d557ff..95295be27fe1 100644 --- a/app/client/packages/icons/src/components/Thumbnails/EmailInputThumbnail.tsx +++ b/app/client/packages/icons/src/components/Thumbnails/EmailInputThumbnail.tsx @@ -1,2 +1,4 @@ -import React from "react"; -export const EmailInputThumbnail = () => ; +import * as React from "react"; +import type { SVGProps } from "react"; +const EmailInputThumbnail = (props: SVGProps) => ; +export { EmailInputThumbnail }; \ No newline at end of file diff --git a/app/client/packages/icons/src/components/Thumbnails/HeadingThumbnail.tsx b/app/client/packages/icons/src/components/Thumbnails/HeadingThumbnail.tsx index 133f49dea9d8..0fd8497fe275 100644 --- a/app/client/packages/icons/src/components/Thumbnails/HeadingThumbnail.tsx +++ b/app/client/packages/icons/src/components/Thumbnails/HeadingThumbnail.tsx @@ -1,2 +1,4 @@ -import React from "react"; -export const HeadingThumbnail = () => ; +import * as React from "react"; +import type { SVGProps } from "react"; +const HeadingThumbnail = (props: SVGProps) => ; +export { HeadingThumbnail }; \ No newline at end of file diff --git a/app/client/packages/icons/src/components/Thumbnails/IconButtonThumbnail.tsx b/app/client/packages/icons/src/components/Thumbnails/IconButtonThumbnail.tsx index 7b38c959d43d..ac80a1fbe807 100644 --- a/app/client/packages/icons/src/components/Thumbnails/IconButtonThumbnail.tsx +++ b/app/client/packages/icons/src/components/Thumbnails/IconButtonThumbnail.tsx @@ -1,2 +1,4 @@ -import React from "react"; -export const IconButtonThumbnail = () => ; +import * as React from "react"; +import type { SVGProps } from "react"; +const IconButtonThumbnail = (props: SVGProps) => ; +export { IconButtonThumbnail }; \ No newline at end of file diff --git a/app/client/packages/icons/src/components/Thumbnails/InlineButtonsThumbnail.tsx b/app/client/packages/icons/src/components/Thumbnails/InlineButtonsThumbnail.tsx index 962f9362bdb5..2012519022b6 100644 --- a/app/client/packages/icons/src/components/Thumbnails/InlineButtonsThumbnail.tsx +++ b/app/client/packages/icons/src/components/Thumbnails/InlineButtonsThumbnail.tsx @@ -1,2 +1,4 @@ -import React from "react"; -export const InlineButtonsThumbnail = () => ; +import * as React from "react"; +import type { SVGProps } from "react"; +const InlineButtonsThumbnail = (props: SVGProps) => ; +export { InlineButtonsThumbnail }; \ No newline at end of file diff --git a/app/client/packages/icons/src/components/Thumbnails/InputThumbnail.tsx b/app/client/packages/icons/src/components/Thumbnails/InputThumbnail.tsx index 2ec5890f1565..d1de1b7bbaeb 100644 --- a/app/client/packages/icons/src/components/Thumbnails/InputThumbnail.tsx +++ b/app/client/packages/icons/src/components/Thumbnails/InputThumbnail.tsx @@ -1,2 +1,4 @@ -import React from "react"; -export const InputThumbnail = () => ; +import * as React from "react"; +import type { SVGProps } from "react"; +const InputThumbnail = (props: SVGProps) => ; +export { InputThumbnail }; \ No newline at end of file diff --git a/app/client/packages/icons/src/components/Thumbnails/KeyValueThumbnail.tsx b/app/client/packages/icons/src/components/Thumbnails/KeyValueThumbnail.tsx index 75c3eaf36fde..c69375213650 100644 --- a/app/client/packages/icons/src/components/Thumbnails/KeyValueThumbnail.tsx +++ b/app/client/packages/icons/src/components/Thumbnails/KeyValueThumbnail.tsx @@ -1,2 +1,4 @@ -import React from "react"; -export const KeyValueThumbnail = () => ; +import * as React from "react"; +import type { SVGProps } from "react"; +const KeyValueThumbnail = (props: SVGProps) => ; +export { KeyValueThumbnail }; \ No newline at end of file diff --git a/app/client/packages/icons/src/components/Thumbnails/MenuButtonThumbnail.tsx b/app/client/packages/icons/src/components/Thumbnails/MenuButtonThumbnail.tsx index de371e7412f7..322bdbf66e84 100644 --- a/app/client/packages/icons/src/components/Thumbnails/MenuButtonThumbnail.tsx +++ b/app/client/packages/icons/src/components/Thumbnails/MenuButtonThumbnail.tsx @@ -1,2 +1,4 @@ -import React from "react"; -export const MenuButtonThumbnail = () => ; +import * as React from "react"; +import type { SVGProps } from "react"; +const MenuButtonThumbnail = (props: SVGProps) => ; +export { MenuButtonThumbnail }; \ No newline at end of file diff --git a/app/client/packages/icons/src/components/Thumbnails/ModalThumbnail.tsx b/app/client/packages/icons/src/components/Thumbnails/ModalThumbnail.tsx index 66d31520bd0c..6eb10073b9fb 100644 --- a/app/client/packages/icons/src/components/Thumbnails/ModalThumbnail.tsx +++ b/app/client/packages/icons/src/components/Thumbnails/ModalThumbnail.tsx @@ -1,2 +1,4 @@ -import React from "react"; -export const ModalThumbnail = () => ; +import * as React from "react"; +import type { SVGProps } from "react"; +const ModalThumbnail = (props: SVGProps) => ; +export { ModalThumbnail }; \ No newline at end of file diff --git a/app/client/packages/icons/src/components/Thumbnails/MultilineInputThumbnail.tsx b/app/client/packages/icons/src/components/Thumbnails/MultilineInputThumbnail.tsx index 48552883c829..c82f96f2a9e4 100644 --- a/app/client/packages/icons/src/components/Thumbnails/MultilineInputThumbnail.tsx +++ b/app/client/packages/icons/src/components/Thumbnails/MultilineInputThumbnail.tsx @@ -1,2 +1,4 @@ -import React from "react"; -export const MultilineInputThumbnail = () => ; +import * as React from "react"; +import type { SVGProps } from "react"; +const MultilineInputThumbnail = (props: SVGProps) => ; +export { MultilineInputThumbnail }; \ No newline at end of file diff --git a/app/client/packages/icons/src/components/Thumbnails/NumberInputThumbnail.tsx b/app/client/packages/icons/src/components/Thumbnails/NumberInputThumbnail.tsx index 2253ba3a9d88..3812ae48c320 100644 --- a/app/client/packages/icons/src/components/Thumbnails/NumberInputThumbnail.tsx +++ b/app/client/packages/icons/src/components/Thumbnails/NumberInputThumbnail.tsx @@ -1,2 +1,4 @@ -import React from "react"; -export const NumberInputThumbnail = () => ; +import * as React from "react"; +import type { SVGProps } from "react"; +const NumberInputThumbnail = (props: SVGProps) => ; +export { NumberInputThumbnail }; \ No newline at end of file diff --git a/app/client/packages/icons/src/components/Thumbnails/ParagraphThumbnail.tsx b/app/client/packages/icons/src/components/Thumbnails/ParagraphThumbnail.tsx index ceea22e4641f..3297fdf4b390 100644 --- a/app/client/packages/icons/src/components/Thumbnails/ParagraphThumbnail.tsx +++ b/app/client/packages/icons/src/components/Thumbnails/ParagraphThumbnail.tsx @@ -1,2 +1,4 @@ -import React from "react"; -export const ParagraphThumbnail = () => ; +import * as React from "react"; +import type { SVGProps } from "react"; +const ParagraphThumbnail = (props: SVGProps) => ; +export { ParagraphThumbnail }; \ No newline at end of file diff --git a/app/client/packages/icons/src/components/Thumbnails/PasswordInputThumbnail.tsx b/app/client/packages/icons/src/components/Thumbnails/PasswordInputThumbnail.tsx index 5a96845987b6..da125fa569a0 100644 --- a/app/client/packages/icons/src/components/Thumbnails/PasswordInputThumbnail.tsx +++ b/app/client/packages/icons/src/components/Thumbnails/PasswordInputThumbnail.tsx @@ -1,2 +1,4 @@ -import React from "react"; -export const PasswordInputThumbnail = () => ; +import * as React from "react"; +import type { SVGProps } from "react"; +const PasswordInputThumbnail = (props: SVGProps) => ; +export { PasswordInputThumbnail }; \ No newline at end of file diff --git a/app/client/packages/icons/src/components/Thumbnails/PhoneInputThumbnail.tsx b/app/client/packages/icons/src/components/Thumbnails/PhoneInputThumbnail.tsx index 95d2de69e434..f9be741e4649 100644 --- a/app/client/packages/icons/src/components/Thumbnails/PhoneInputThumbnail.tsx +++ b/app/client/packages/icons/src/components/Thumbnails/PhoneInputThumbnail.tsx @@ -1,2 +1,4 @@ -import React from "react"; -export const PhoneInputThumbnail = () => ; +import * as React from "react"; +import type { SVGProps } from "react"; +const PhoneInputThumbnail = (props: SVGProps) => ; +export { PhoneInputThumbnail }; \ No newline at end of file diff --git a/app/client/packages/icons/src/components/Thumbnails/RadioGroupThumbnail.tsx b/app/client/packages/icons/src/components/Thumbnails/RadioGroupThumbnail.tsx index 7505b07b6f48..7b8a72a407b5 100644 --- a/app/client/packages/icons/src/components/Thumbnails/RadioGroupThumbnail.tsx +++ b/app/client/packages/icons/src/components/Thumbnails/RadioGroupThumbnail.tsx @@ -1,2 +1,4 @@ -import React from "react"; -export const RadioGroupThumbnail = () => ; +import * as React from "react"; +import type { SVGProps } from "react"; +const RadioGroupThumbnail = (props: SVGProps) => ; +export { RadioGroupThumbnail }; \ No newline at end of file diff --git a/app/client/packages/icons/src/components/Thumbnails/SectionThumbnail.tsx b/app/client/packages/icons/src/components/Thumbnails/SectionThumbnail.tsx index 2cd004ba1d2e..f860aa7022d6 100644 --- a/app/client/packages/icons/src/components/Thumbnails/SectionThumbnail.tsx +++ b/app/client/packages/icons/src/components/Thumbnails/SectionThumbnail.tsx @@ -1,2 +1,4 @@ -import React from "react"; -export const SectionThumbnail = () => ; +import * as React from "react"; +import type { SVGProps } from "react"; +const SectionThumbnail = (props: SVGProps) => ; +export { SectionThumbnail }; \ No newline at end of file diff --git a/app/client/packages/icons/src/components/Thumbnails/SelectThumbnail.tsx b/app/client/packages/icons/src/components/Thumbnails/SelectThumbnail.tsx index ccd690d38e6f..9800e4c2e9ff 100644 --- a/app/client/packages/icons/src/components/Thumbnails/SelectThumbnail.tsx +++ b/app/client/packages/icons/src/components/Thumbnails/SelectThumbnail.tsx @@ -1,2 +1,4 @@ -import React from "react"; -export const SelectThumbnail = () => ; +import * as React from "react"; +import type { SVGProps } from "react"; +const SelectThumbnail = (props: SVGProps) => ; +export { SelectThumbnail }; \ No newline at end of file diff --git a/app/client/packages/icons/src/components/Thumbnails/StatsBoxThumbnail.tsx b/app/client/packages/icons/src/components/Thumbnails/StatsBoxThumbnail.tsx index cd43593d6bff..1d34cbf7dbcf 100644 --- a/app/client/packages/icons/src/components/Thumbnails/StatsBoxThumbnail.tsx +++ b/app/client/packages/icons/src/components/Thumbnails/StatsBoxThumbnail.tsx @@ -1,2 +1,4 @@ -import React from "react"; -export const StatsBoxThumbnail = () => ; +import * as React from "react"; +import type { SVGProps } from "react"; +const StatsBoxThumbnail = (props: SVGProps) => ; +export { StatsBoxThumbnail }; \ No newline at end of file diff --git a/app/client/packages/icons/src/components/Thumbnails/SwitchGroupThumbnail.tsx b/app/client/packages/icons/src/components/Thumbnails/SwitchGroupThumbnail.tsx index 48a78b2096ca..2abe405de7ba 100644 --- a/app/client/packages/icons/src/components/Thumbnails/SwitchGroupThumbnail.tsx +++ b/app/client/packages/icons/src/components/Thumbnails/SwitchGroupThumbnail.tsx @@ -1,2 +1,4 @@ -import React from "react"; -export const SwitchGroupThumbnail = () => ; +import * as React from "react"; +import type { SVGProps } from "react"; +const SwitchGroupThumbnail = (props: SVGProps) => ; +export { SwitchGroupThumbnail }; \ No newline at end of file diff --git a/app/client/packages/icons/src/components/Thumbnails/SwitchThumbnail.tsx b/app/client/packages/icons/src/components/Thumbnails/SwitchThumbnail.tsx index cebc8d84d579..43c15b85820c 100644 --- a/app/client/packages/icons/src/components/Thumbnails/SwitchThumbnail.tsx +++ b/app/client/packages/icons/src/components/Thumbnails/SwitchThumbnail.tsx @@ -1,2 +1,4 @@ -import React from "react"; -export const SwitchThumbnail = () => ; +import * as React from "react"; +import type { SVGProps } from "react"; +const SwitchThumbnail = (props: SVGProps) => ; +export { SwitchThumbnail }; \ No newline at end of file diff --git a/app/client/packages/icons/src/components/Thumbnails/TableThumbnail.tsx b/app/client/packages/icons/src/components/Thumbnails/TableThumbnail.tsx index e30756bff124..7e295987d1eb 100644 --- a/app/client/packages/icons/src/components/Thumbnails/TableThumbnail.tsx +++ b/app/client/packages/icons/src/components/Thumbnails/TableThumbnail.tsx @@ -1,2 +1,4 @@ -import React from "react"; -export const TableThumbnail = () => ; +import * as React from "react"; +import type { SVGProps } from "react"; +const TableThumbnail = (props: SVGProps) => ; +export { TableThumbnail }; \ No newline at end of file diff --git a/app/client/packages/icons/src/components/Thumbnails/ToolbarButtonsThumbnail.tsx b/app/client/packages/icons/src/components/Thumbnails/ToolbarButtonsThumbnail.tsx index ed1c8efdb09a..02cd07e74f84 100644 --- a/app/client/packages/icons/src/components/Thumbnails/ToolbarButtonsThumbnail.tsx +++ b/app/client/packages/icons/src/components/Thumbnails/ToolbarButtonsThumbnail.tsx @@ -1,2 +1,4 @@ -import React from "react"; -export const ToolbarButtonsThumbnail = () => ; +import * as React from "react"; +import type { SVGProps } from "react"; +const ToolbarButtonsThumbnail = (props: SVGProps) => ; +export { ToolbarButtonsThumbnail }; \ No newline at end of file diff --git a/app/client/packages/icons/src/components/Thumbnails/ZoneThumbnail.tsx b/app/client/packages/icons/src/components/Thumbnails/ZoneThumbnail.tsx index e6b81df9b354..d907fd3476a5 100644 --- a/app/client/packages/icons/src/components/Thumbnails/ZoneThumbnail.tsx +++ b/app/client/packages/icons/src/components/Thumbnails/ZoneThumbnail.tsx @@ -1,2 +1,4 @@ -import React from "react"; -export const ZoneThumbnail = () => ; +import * as React from "react"; +import type { SVGProps } from "react"; +const ZoneThumbnail = (props: SVGProps) => ; +export { ZoneThumbnail }; \ No newline at end of file diff --git a/app/client/packages/icons/src/icons/CustomIcons/AIAvatar.svg b/app/client/packages/icons/src/icons/CustomIcons/AIAvatar.svg new file mode 100644 index 000000000000..9f1b244b608c --- /dev/null +++ b/app/client/packages/icons/src/icons/CustomIcons/AIAvatar.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/client/packages/icons/src/icons/Thumbnails/AIChat.svg b/app/client/packages/icons/src/icons/Thumbnails/AIChat.svg index f42f9dce2327..be77ea9768c6 100644 --- a/app/client/packages/icons/src/icons/Thumbnails/AIChat.svg +++ b/app/client/packages/icons/src/icons/Thumbnails/AIChat.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/app/client/packages/icons/src/index.ts b/app/client/packages/icons/src/index.ts index 9bf0f1af21cf..628dfc25a4e2 100644 --- a/app/client/packages/icons/src/index.ts +++ b/app/client/packages/icons/src/index.ts @@ -55,3 +55,4 @@ export { SwitchIcon } from "./components/Icons/SwitchIcon"; export { TableIcon } from "./components/Icons/TableIcon"; export { ToolbarButtonsIcon } from "./components/Icons/ToolbarButtonsIcon"; export { ZoneIcon } from "./components/Icons/ZoneIcon"; +export { AIAvatarCustomIcon } from "./components/CustomIcons/AIAvatarCustomIcon"; diff --git a/app/client/packages/icons/src/stories/CustomIcons.mdx b/app/client/packages/icons/src/stories/CustomIcons.mdx new file mode 100644 index 000000000000..ac38a04a2945 --- /dev/null +++ b/app/client/packages/icons/src/stories/CustomIcons.mdx @@ -0,0 +1,19 @@ +import { Meta } from "@storybook/addon-docs"; +import { Flex } from "@appsmith/wds"; +import { AIAvatarCustomIcon } from "../components/CustomIcons/AIAvatarCustomIcon"; + + + +# CustomIcons + +Set of custom icons. + +export const Icons = () => { + return ( + + + + ); +}; + + diff --git a/app/client/packages/icons/src/utils/cleanup.ts b/app/client/packages/icons/src/utils/cleanup.ts index 8deb1ed26f47..6d8f3d141820 100644 --- a/app/client/packages/icons/src/utils/cleanup.ts +++ b/app/client/packages/icons/src/utils/cleanup.ts @@ -1,11 +1,13 @@ import fs from "fs-extra"; async function cleanup() { - await fs.emptyDirSync("./src/icons/Icons"); - await fs.emptyDirSync("./src/icons/Thumbnails"); - await fs.emptyDirSync("./src/components/Icons"); - await fs.emptyDirSync("./src/components/Thumbnails"); - await fs.emptyDirSync("./src/stories"); + await fs.emptyDir("./src/icons/Icons"); + await fs.emptyDir("./src/icons/Thumbnails"); + await fs.emptyDir("./src/icons/CustomIcons"); + await fs.emptyDir("./src/components/Icons"); + await fs.emptyDir("./src/components/Thumbnails"); + await fs.emptyDir("./src/components/CustomIcons"); + await fs.emptyDir("./src/stories"); await fs.writeFile(`./src/index.ts`, ""); } diff --git a/app/client/packages/icons/src/utils/generateComponents.ts b/app/client/packages/icons/src/utils/generateComponents.ts index ac773967ad80..25c1237f341c 100644 --- a/app/client/packages/icons/src/utils/generateComponents.ts +++ b/app/client/packages/icons/src/utils/generateComponents.ts @@ -2,12 +2,7 @@ import fg from "fast-glob"; import type { PathLike } from "fs"; import fs from "fs-extra"; import path from "path"; - -const createReactComponent = (name: string, svg: string) => { - return `import React from "react"; -export const ${name} = () => ${svg}; -`; -}; +import { transform } from "@svgr/core"; async function generateComponents() { const entries = await fg("./src/icons/**/*.svg"); @@ -29,11 +24,23 @@ async function generateComponents() { case "Thumbnails": name += "Thumbnail"; break; + case "CustomIcons": + name += "CustomIcon"; + break; } await fs.writeFile( `./src/components/${dir}/${name}.tsx`, - createReactComponent(name, file), + await transform( + file, + { + plugins: ["@svgr/plugin-jsx"], + typescript: true, + exportType: "named", + namedExport: name, + }, + { componentName: name }, + ), "utf8", function (err) { // eslint-disable-next-line no-console diff --git a/app/client/packages/icons/src/utils/generateIndex.ts b/app/client/packages/icons/src/utils/generateIndex.ts index 0ebf7adb7393..08a2071178df 100644 --- a/app/client/packages/icons/src/utils/generateIndex.ts +++ b/app/client/packages/icons/src/utils/generateIndex.ts @@ -8,6 +8,7 @@ const createImportListString = (name: string, dir: string) => { async function generateIndex() { await appendExports("Thumbnails"); await appendExports("Icons"); + await appendExports("CustomIcons"); // eslint-disable-next-line no-console console.error( @@ -31,8 +32,10 @@ async function appendExports(dir: string) { }); await fs.appendFile(`./src/index.ts`, importList, "utf8", function (err) { - // eslint-disable-next-line no-console - if (err) return console.error(err); + if (err) { + // eslint-disable-next-line no-console + return console.error(err); + } }); }); } diff --git a/app/client/packages/icons/src/utils/generateStories.ts b/app/client/packages/icons/src/utils/generateStories.ts index 4aa09b947e45..cb47839119ef 100644 --- a/app/client/packages/icons/src/utils/generateStories.ts +++ b/app/client/packages/icons/src/utils/generateStories.ts @@ -45,6 +45,7 @@ async function generateStories() { "Icons", "Icon set for Entity Explorer Panel, which provides a visual representation of the widgets.", ); + await generateStory("CustomIcons", "Set of custom icons."); // eslint-disable-next-line no-console console.error("\x1b[32mStories generation completed successfully!\x1b[0m"); } diff --git a/app/client/src/WidgetProvider/constants.ts b/app/client/src/WidgetProvider/constants.ts index cb0837d60875..3183d918c0c1 100644 --- a/app/client/src/WidgetProvider/constants.ts +++ b/app/client/src/WidgetProvider/constants.ts @@ -11,6 +11,7 @@ import { WIDGET_STATIC_PROPS } from "constants/WidgetConstants"; import type { Stylesheet } from "entities/AppTheming"; import { omit } from "lodash"; import moment from "moment"; +import type { SVGProps } from "react"; import type { DerivedPropertiesMap } from "WidgetProvider/factory"; import type { WidgetFeatures } from "utils/WidgetFeatures"; import type { WidgetProps } from "../widgets/BaseWidget"; @@ -150,8 +151,8 @@ export interface WidgetMethods { getCanvasHeightOffset?: GetCanvasHeightOffset; getEditorCallouts?: GetEditorCallouts; getOneClickBindingConnectableWidgetConfig?: GetOneClickBindingConnectableWidgetConfig; - IconCmp?: () => JSX.Element; - ThumbnailCmp?: () => JSX.Element; + IconCmp?: (props: SVGProps) => JSX.Element; + ThumbnailCmp?: (props: SVGProps) => JSX.Element; } type GetEditorCallouts = (props: WidgetProps) => WidgetCallout[]; diff --git a/app/client/src/layoutSystems/anvil/editor/canvasArenas/AnvilDragPreview/index.tsx b/app/client/src/layoutSystems/anvil/editor/canvasArenas/AnvilDragPreview/index.tsx index 70a7776d29b3..ed4a97341967 100644 --- a/app/client/src/layoutSystems/anvil/editor/canvasArenas/AnvilDragPreview/index.tsx +++ b/app/client/src/layoutSystems/anvil/editor/canvasArenas/AnvilDragPreview/index.tsx @@ -1,4 +1,4 @@ -import React from "react"; +import React, { type SVGProps } from "react"; import { createPortal } from "react-dom"; import type { DragDetails } from "reducers/uiReducers/dragResizeReducer"; import type { DraggedWidget } from "layoutSystems/anvil/utils/anvilTypes"; @@ -8,7 +8,7 @@ import memoize from "micro-memoize"; interface DragPreviewConfig { displayName: string; - ThumbnailCmp?: () => JSX.Element; + ThumbnailCmp?: (props: SVGProps) => JSX.Element; } const getWidgetConfigsArray = memoize(() => { diff --git a/app/client/src/widgets/BaseWidget.tsx b/app/client/src/widgets/BaseWidget.tsx index 8c53804ee798..312fadd18387 100644 --- a/app/client/src/widgets/BaseWidget.tsx +++ b/app/client/src/widgets/BaseWidget.tsx @@ -18,7 +18,7 @@ import type { import { RenderModes } from "constants/WidgetConstants"; import { ENTITY_TYPE } from "ee/entities/AppsmithConsole/utils"; import type { SetterConfig, Stylesheet } from "entities/AppTheming"; -import type { Context, ReactNode, RefObject } from "react"; +import type { Context, ReactNode, RefObject, SVGProps } from "react"; import { Component } from "react"; import type { ModifyMetaWidgetPayload, @@ -587,8 +587,8 @@ export interface WidgetCardProps { isBeta?: boolean; tags?: WidgetTags[]; isSearchWildcard?: boolean; - IconCmp?: () => JSX.Element; - ThumbnailCmp?: () => JSX.Element; + IconCmp?: (props: SVGProps) => JSX.Element; + ThumbnailCmp?: (props: SVGProps) => JSX.Element; } export const WidgetOperations = { diff --git a/app/client/yarn.lock b/app/client/yarn.lock index 5f8a7a105b65..cafdbb43d8f0 100644 --- a/app/client/yarn.lock +++ b/app/client/yarn.lock @@ -12676,6 +12676,8 @@ __metadata: version: 0.0.0-use.local resolution: "appsmith-icons@workspace:packages/icons" dependencies: + "@svgr/core": ^8.1.0 + "@svgr/plugin-jsx": ^8.1.0 fast-glob: ^3.3.2 figmagic: ^4.5.13 fs-extra: ^11.2.0 @@ -12857,7 +12859,7 @@ __metadata: cypress-wait-until: ^1.7.2 cypress-xpath: ^1.6.0 d3-geo: ^3.1.0 - date-fns: 2.30.0 + date-fns: ^4.1.0 dayjs: ^1.10.6 deep-diff: ^1.0.2 diff: ^5.0.0 @@ -16326,7 +16328,7 @@ __metadata: languageName: node linkType: hard -"date-fns@npm:2.30.0, date-fns@npm:^2.0.1, date-fns@npm:^2.24.0, date-fns@npm:^2.29.3": +"date-fns@npm:^2.0.1, date-fns@npm:^2.24.0, date-fns@npm:^2.29.3": version: 2.30.0 resolution: "date-fns@npm:2.30.0" dependencies: @@ -16335,6 +16337,13 @@ __metadata: languageName: node linkType: hard +"date-fns@npm:^4.1.0": + version: 4.1.0 + resolution: "date-fns@npm:4.1.0" + checksum: fb681b242cccabed45494468f64282a7d375ea970e0adbcc5dcc92dcb7aba49b2081c2c9739d41bf71ce89ed68dd73bebfe06ca35129490704775d091895710b + languageName: node + linkType: hard + "date-now@npm:^0.1.4": version: 0.1.4 resolution: "date-now@npm:0.1.4"