diff --git a/packages/twenty-front/src/index.tsx b/packages/twenty-front/src/index.tsx index d1b39de14..89dc16376 100644 --- a/packages/twenty-front/src/index.tsx +++ b/packages/twenty-front/src/index.tsx @@ -11,6 +11,7 @@ import { AppErrorBoundary } from '@/error-handler/components/AppErrorBoundary'; import { PromiseRejectionEffect } from '@/error-handler/components/PromiseRejectionEffect'; import { ApolloMetadataClientProvider } from '@/object-metadata/components/ApolloMetadataClientProvider'; import { ObjectMetadataItemsProvider } from '@/object-metadata/components/ObjectMetadataItemsProvider'; +import { IconsProvider } from '@/ui/display/icon/components/IconsProvider'; import { DialogManager } from '@/ui/feedback/dialog-manager/components/DialogManager'; import { DialogManagerScope } from '@/ui/feedback/dialog-manager/scopes/DialogManagerScope'; import { SnackBarProvider } from '@/ui/feedback/snack-bar-manager/components/SnackBarProvider'; @@ -34,31 +35,33 @@ root.render( - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/twenty-front/src/modules/activities/files/components/AttachmentIcon.tsx b/packages/twenty-front/src/modules/activities/files/components/AttachmentIcon.tsx index fe8c153b4..212bef9d3 100644 --- a/packages/twenty-front/src/modules/activities/files/components/AttachmentIcon.tsx +++ b/packages/twenty-front/src/modules/activities/files/components/AttachmentIcon.tsx @@ -5,7 +5,6 @@ import { Attachment, AttachmentType, } from '@/activities/files/types/Attachment'; -import { IconComponent } from '@/ui/display/icon/types/IconComponent'; import { IconFile, IconFileText, @@ -15,7 +14,8 @@ import { IconPresentation, IconTable, IconVideo, -} from '@/ui/input/constants/icons'; +} from '@/ui/display/icon'; +import { IconComponent } from '@/ui/display/icon/types/IconComponent'; const StyledIconContainer = styled.div<{ background: string }>` align-items: center; diff --git a/packages/twenty-front/src/modules/object-metadata/components/ObjectMetadataNavItems.tsx b/packages/twenty-front/src/modules/object-metadata/components/ObjectMetadataNavItems.tsx index b6663117a..527b40cdb 100644 --- a/packages/twenty-front/src/modules/object-metadata/components/ObjectMetadataNavItems.tsx +++ b/packages/twenty-front/src/modules/object-metadata/components/ObjectMetadataNavItems.tsx @@ -1,14 +1,13 @@ import { useLocation, useNavigate } from 'react-router-dom'; import { useObjectMetadataItemForSettings } from '@/object-metadata/hooks/useObjectMetadataItemForSettings'; -import { Icon123 } from '@/ui/input/constants/icons'; -import { useLazyLoadIcons } from '@/ui/input/hooks/useLazyLoadIcons'; +import { useIcons } from '@/ui/display/icon/hooks/useIcons'; import { NavigationDrawerItem } from '@/ui/navigation/navigation-drawer/components/NavigationDrawerItem'; export const ObjectMetadataNavItems = () => { const { activeObjectMetadataItems } = useObjectMetadataItemForSettings(); const navigate = useNavigate(); - const { icons } = useLazyLoadIcons(); + const { getIcon } = useIcons(); const currentPath = useLocation().pathname; return ( @@ -20,9 +19,7 @@ export const ObjectMetadataNavItems = () => { label={objectMetadataItem.labelPlural} to={`/objects/${objectMetadataItem.namePlural}`} active={currentPath == `/objects/${objectMetadataItem.namePlural}`} - Icon={ - objectMetadataItem.icon ? icons[objectMetadataItem.icon] : Icon123 - } + Icon={getIcon(objectMetadataItem.icon)} onClick={() => { navigate(`/objects/${objectMetadataItem.namePlural}`); }} diff --git a/packages/twenty-front/src/modules/object-record/components/RecordTablePage.tsx b/packages/twenty-front/src/modules/object-record/components/RecordTablePage.tsx index 4a8f6db57..8aa454760 100644 --- a/packages/twenty-front/src/modules/object-record/components/RecordTablePage.tsx +++ b/packages/twenty-front/src/modules/object-record/components/RecordTablePage.tsx @@ -10,7 +10,7 @@ import { useObjectNameSingularFromPlural } from '@/object-metadata/hooks/useObje import { useCreateOneRecord } from '@/object-record/hooks/useCreateOneRecord'; import { RecordTableActionBar } from '@/object-record/record-table/action-bar/components/RecordTableActionBar'; import { RecordTableContextMenu } from '@/object-record/record-table/context-menu/components/RecordTableContextMenu'; -import { useLazyLoadIcons } from '@/ui/input/hooks/useLazyLoadIcons'; +import { useIcons } from '@/ui/display/icon/hooks/useIcons'; import { PageAddButton } from '@/ui/layout/page/PageAddButton'; import { PageBody } from '@/ui/layout/page/PageBody'; import { PageContainer } from '@/ui/layout/page/PageContainer'; @@ -36,11 +36,14 @@ export const RecordTablePage = () => { const navigate = useNavigate(); - const { icons } = useLazyLoadIcons(); - const { findObjectMetadataItemByNamePlural } = useObjectMetadataItemForSettings(); + const { getIcon } = useIcons(); + const Icon = getIcon( + findObjectMetadataItemByNamePlural(objectNamePlural)?.icon, + ); + useEffect(() => { if ( !isNonEmptyString(objectNamePlural) && @@ -64,12 +67,7 @@ export const RecordTablePage = () => { title={ objectNamePlural.charAt(0).toUpperCase() + objectNamePlural.slice(1) } - Icon={ - icons[ - findObjectMetadataItemByNamePlural(objectNamePlural)!.icon ?? - 'Icon123' - ] - } + Icon={Icon} > diff --git a/packages/twenty-front/src/modules/object-record/object-filter-dropdown/components/ObjectFilterDropdownFilterSelect.tsx b/packages/twenty-front/src/modules/object-record/object-filter-dropdown/components/ObjectFilterDropdownFilterSelect.tsx index 0b78a42ce..93bc71a1b 100644 --- a/packages/twenty-front/src/modules/object-record/object-filter-dropdown/components/ObjectFilterDropdownFilterSelect.tsx +++ b/packages/twenty-front/src/modules/object-record/object-filter-dropdown/components/ObjectFilterDropdownFilterSelect.tsx @@ -1,6 +1,6 @@ import { useFilterDropdown } from '@/object-record/object-filter-dropdown/hooks/useFilterDropdown'; import { RelationPickerHotkeyScope } from '@/object-record/relation-picker/types/RelationPickerHotkeyScope'; -import { useLazyLoadIcons } from '@/ui/input/hooks/useLazyLoadIcons'; +import { useIcons } from '@/ui/display/icon/hooks/useIcons'; import { DropdownMenuItemsContainer } from '@/ui/layout/dropdown/components/DropdownMenuItemsContainer'; import { MenuItem } from '@/ui/navigation/menu-item/components/MenuItem'; import { useSetHotkeyScope } from '@/ui/utilities/hotkey/hooks/useSetHotkeyScope'; @@ -15,7 +15,7 @@ export const ObjectFilterDropdownFilterSelect = () => { availableFilterDefinitions, } = useFilterDropdown(); - const { icons } = useLazyLoadIcons(); + const { getIcon } = useIcons(); const setHotkeyScope = useSetHotkeyScope(); @@ -40,7 +40,7 @@ export const ObjectFilterDropdownFilterSelect = () => { setObjectFilterDropdownSearchInput(''); }} - LeftIcon={icons[availableFilterDefinition.iconName]} + LeftIcon={getIcon(availableFilterDefinition.iconName)} text={availableFilterDefinition.label} /> ))} diff --git a/packages/twenty-front/src/modules/object-record/object-sort-dropdown/components/ObjectSortDropdownButton.tsx b/packages/twenty-front/src/modules/object-record/object-sort-dropdown/components/ObjectSortDropdownButton.tsx index a6c9f962b..ed3f8e3ca 100644 --- a/packages/twenty-front/src/modules/object-record/object-sort-dropdown/components/ObjectSortDropdownButton.tsx +++ b/packages/twenty-front/src/modules/object-record/object-sort-dropdown/components/ObjectSortDropdownButton.tsx @@ -3,8 +3,8 @@ import { useCallback, useState } from 'react'; import { useSortDropdown } from '@/object-record/object-sort-dropdown/hooks/useSortDropdown'; import { ObjectSortDropdownScope } from '@/object-record/object-sort-dropdown/scopes/ObjectSortDropdownScope'; import { IconChevronDown } from '@/ui/display/icon'; +import { useIcons } from '@/ui/display/icon/hooks/useIcons'; import { LightButton } from '@/ui/input/button/components/LightButton'; -import { useLazyLoadIcons } from '@/ui/input/hooks/useLazyLoadIcons'; import { Dropdown } from '@/ui/layout/dropdown/components/Dropdown'; import { DropdownMenuHeader } from '@/ui/layout/dropdown/components/DropdownMenuHeader'; import { DropdownMenuItemsContainer } from '@/ui/layout/dropdown/components/DropdownMenuItemsContainer'; @@ -68,7 +68,7 @@ export const ObjectSortDropdownButton = ({ resetState(); }; - const { icons } = useLazyLoadIcons(); + const { getIcon } = useIcons(); return ( @@ -117,7 +117,7 @@ export const ObjectSortDropdownButton = ({ testId={`select-sort-${index}`} key={index} onClick={() => handleAddSort(availableSortDefinition)} - LeftIcon={icons[availableSortDefinition.iconName]} + LeftIcon={getIcon(availableSortDefinition.iconName)} text={availableSortDefinition.label} /> ))} diff --git a/packages/twenty-front/src/modules/object-record/record-inline-cell/components/RecordInlineCell.tsx b/packages/twenty-front/src/modules/object-record/record-inline-cell/components/RecordInlineCell.tsx index 396a42311..e84c30178 100644 --- a/packages/twenty-front/src/modules/object-record/record-inline-cell/components/RecordInlineCell.tsx +++ b/packages/twenty-front/src/modules/object-record/record-inline-cell/components/RecordInlineCell.tsx @@ -1,7 +1,7 @@ import { useContext } from 'react'; import { RelationPickerHotkeyScope } from '@/object-record/relation-picker/types/RelationPickerHotkeyScope'; -import { useLazyLoadIcons } from '@/ui/input/hooks/useLazyLoadIcons'; +import { useIcons } from '@/ui/display/icon/hooks/useIcons'; import { FieldDisplay } from '../../field/components/FieldDisplay'; import { FieldInput } from '../../field/components/FieldInput'; @@ -59,7 +59,7 @@ export const RecordInlineCell = () => { closeInlineCell(); }; - const { icons } = useLazyLoadIcons(); + const { getIcon } = useIcons(); return ( { } : undefined } - IconLabel={icons[fieldDefinition.iconName]} + IconLabel={getIcon(fieldDefinition.iconName)} editModeContent={ { const theme = useTheme(); - const { icons, isLoadingIcons } = useLazyLoadIcons(); - const Icon = icons[column.iconName]; + const { getIcon } = useIcons(); + const Icon = getIcon(column.iconName); return ( <> - {!isLoadingIcons && } + {column.label} diff --git a/packages/twenty-front/src/modules/object-record/record-table/components/RecordTableHeaderPlusButtonContent.tsx b/packages/twenty-front/src/modules/object-record/record-table/components/RecordTableHeaderPlusButtonContent.tsx index d7c19abe8..5a0ce8d67 100644 --- a/packages/twenty-front/src/modules/object-record/record-table/components/RecordTableHeaderPlusButtonContent.tsx +++ b/packages/twenty-front/src/modules/object-record/record-table/components/RecordTableHeaderPlusButtonContent.tsx @@ -4,7 +4,7 @@ import styled from '@emotion/styled'; import { useRecoilValue } from 'recoil'; import { IconSettings } from '@/ui/display/icon'; -import { useLazyLoadIcons } from '@/ui/input/hooks/useLazyLoadIcons'; +import { useIcons } from '@/ui/display/icon/hooks/useIcons'; import { DropdownMenuItemsContainer } from '@/ui/layout/dropdown/components/DropdownMenuItemsContainer'; import { DropdownMenuSeparator } from '@/ui/layout/dropdown/components/DropdownMenuSeparator'; import { useDropdown } from '@/ui/layout/dropdown/hooks/useDropdown'; @@ -22,8 +22,7 @@ export const RecordTableHeaderPlusButtonContent = () => { const hiddenTableColumns = useRecoilValue(hiddenTableColumnsSelector); - const { icons } = useLazyLoadIcons(); - + const { getIcon } = useIcons(); const { handleColumnVisibilityChange } = useTableColumns(); const handleAddColumn = useCallback( @@ -46,7 +45,7 @@ export const RecordTableHeaderPlusButtonContent = () => { handleAddColumn(column)} - LeftIcon={icons[column.iconName]} + LeftIcon={getIcon(column.iconName)} text={column.label} /> ))} diff --git a/packages/twenty-front/src/modules/settings/components/SaveAndCancelButtons/SaveButton.tsx b/packages/twenty-front/src/modules/settings/components/SaveAndCancelButtons/SaveButton.tsx index d1adfe674..322187e25 100644 --- a/packages/twenty-front/src/modules/settings/components/SaveAndCancelButtons/SaveButton.tsx +++ b/packages/twenty-front/src/modules/settings/components/SaveAndCancelButtons/SaveButton.tsx @@ -1,5 +1,5 @@ +import { IconDeviceFloppy } from '@/ui/display/icon'; import { Button } from '@/ui/input/button/components/Button'; -import { IconDeviceFloppy } from '@/ui/input/constants/icons'; type SaveButtonProps = { onSave?: () => void; diff --git a/packages/twenty-front/src/modules/settings/data-model/components/SettingsObjectFieldRelationForm.tsx b/packages/twenty-front/src/modules/settings/data-model/components/SettingsObjectFieldRelationForm.tsx index cef8beeb3..332b1122b 100644 --- a/packages/twenty-front/src/modules/settings/data-model/components/SettingsObjectFieldRelationForm.tsx +++ b/packages/twenty-front/src/modules/settings/data-model/components/SettingsObjectFieldRelationForm.tsx @@ -2,10 +2,10 @@ import styled from '@emotion/styled'; import { useObjectMetadataItemForSettings } from '@/object-metadata/hooks/useObjectMetadataItemForSettings'; import { validateMetadataLabel } from '@/object-metadata/utils/validateMetadataLabel'; +import { useIcons } from '@/ui/display/icon/hooks/useIcons'; import { IconPicker } from '@/ui/input/components/IconPicker'; import { Select } from '@/ui/input/components/Select'; import { TextInput } from '@/ui/input/components/TextInput'; -import { useLazyLoadIcons } from '@/ui/input/hooks/useLazyLoadIcons'; import { Field } from '~/generated-metadata/graphql'; import { relationTypes } from '../constants/relationTypes'; @@ -56,7 +56,7 @@ export const SettingsObjectFieldRelationForm = ({ onChange, values, }: SettingsObjectFieldRelationFormProps) => { - const { icons } = useLazyLoadIcons(); + const { getIcon } = useIcons(); const { objectMetadataItems, findObjectMetadataItemById } = useObjectMetadataItemForSettings(); @@ -92,9 +92,7 @@ export const SettingsObjectFieldRelationForm = ({ options={objectMetadataItems.map((objectMetadataItem) => ({ label: objectMetadataItem.labelPlural, value: objectMetadataItem.id, - Icon: objectMetadataItem.icon - ? icons[objectMetadataItem.icon] - : undefined, + Icon: getIcon(objectMetadataItem.icon), }))} onChange={(value) => onChange({ objectMetadataId: value })} /> diff --git a/packages/twenty-front/src/modules/settings/data-model/hooks/useFieldPreview.ts b/packages/twenty-front/src/modules/settings/data-model/hooks/useFieldPreview.ts index 68fd679f0..9328140d5 100644 --- a/packages/twenty-front/src/modules/settings/data-model/hooks/useFieldPreview.ts +++ b/packages/twenty-front/src/modules/settings/data-model/hooks/useFieldPreview.ts @@ -1,5 +1,5 @@ import { useObjectMetadataItemForSettings } from '@/object-metadata/hooks/useObjectMetadataItemForSettings'; -import { useLazyLoadIcon } from '@/ui/input/hooks/useLazyLoadIcon'; +import { useIcons } from '@/ui/display/icon/hooks/useIcons'; import { Field, FieldMetadataType } from '~/generated-metadata/graphql'; import { settingsFieldMetadataTypes } from '../constants/settingsFieldMetadataTypes'; @@ -22,8 +22,9 @@ export const useFieldPreview = ({ const { findObjectMetadataItemById } = useObjectMetadataItemForSettings(); const objectMetadataItem = findObjectMetadataItemById(objectMetadataId); - const { Icon: ObjectIcon } = useLazyLoadIcon(objectMetadataItem?.icon ?? ''); - const { Icon: FieldIcon } = useLazyLoadIcon(fieldMetadata.icon ?? ''); + const { getIcon } = useIcons(); + const ObjectIcon = getIcon(objectMetadataItem?.icon); + const FieldIcon = getIcon(fieldMetadata.icon); const fieldName = fieldMetadata.id ? objectMetadataItem?.fields.find(({ id }) => id === fieldMetadata.id)?.name diff --git a/packages/twenty-front/src/modules/settings/data-model/new-object/components/SettingsAvailableStandardObjectItemTableRow.tsx b/packages/twenty-front/src/modules/settings/data-model/new-object/components/SettingsAvailableStandardObjectItemTableRow.tsx index 1f568dd10..c20aebd32 100644 --- a/packages/twenty-front/src/modules/settings/data-model/new-object/components/SettingsAvailableStandardObjectItemTableRow.tsx +++ b/packages/twenty-front/src/modules/settings/data-model/new-object/components/SettingsAvailableStandardObjectItemTableRow.tsx @@ -2,8 +2,8 @@ import { useTheme } from '@emotion/react'; import styled from '@emotion/styled'; import { ObjectMetadataItem } from '@/object-metadata/types/ObjectMetadataItem'; +import { useIcons } from '@/ui/display/icon/hooks/useIcons'; import { Checkbox } from '@/ui/input/components/Checkbox'; -import { useLazyLoadIcon } from '@/ui/input/hooks/useLazyLoadIcon'; import { TableCell } from '@/ui/layout/table/components/TableCell'; import { TableRow } from '@/ui/layout/table/components/TableRow'; @@ -41,7 +41,8 @@ export const SettingsAvailableStandardObjectItemTableRow = ({ }: SettingsAvailableStandardObjectItemTableRowProps) => { const theme = useTheme(); - const { Icon } = useLazyLoadIcon(objectItem.icon ?? ''); + const { getIcon } = useIcons(); + const Icon = getIcon(objectItem.icon); return ( { const theme = useTheme(); - const { Icon } = useLazyLoadIcon(iconKey); + const { getIcon } = useIcons(); + const Icon = getIcon(iconKey); const { closeDropdown } = useDropdown({ dropdownScopeId }); diff --git a/packages/twenty-front/src/modules/settings/data-model/object-details/components/SettingsObjectFieldItemTableRow.tsx b/packages/twenty-front/src/modules/settings/data-model/object-details/components/SettingsObjectFieldItemTableRow.tsx index baf2f96a8..6783d273c 100644 --- a/packages/twenty-front/src/modules/settings/data-model/object-details/components/SettingsObjectFieldItemTableRow.tsx +++ b/packages/twenty-front/src/modules/settings/data-model/object-details/components/SettingsObjectFieldItemTableRow.tsx @@ -6,7 +6,7 @@ import styled from '@emotion/styled'; import { useRelationMetadata } from '@/object-metadata/hooks/useRelationMetadata'; import { FieldMetadataItem } from '@/object-metadata/types/FieldMetadataItem'; import { getObjectSlug } from '@/object-metadata/utils/getObjectSlug'; -import { useLazyLoadIcon } from '@/ui/input/hooks/useLazyLoadIcon'; +import { useIcons } from '@/ui/display/icon/hooks/useIcons'; import { TableCell } from '@/ui/layout/table/components/TableCell'; import { TableRow } from '@/ui/layout/table/components/TableRow'; @@ -39,7 +39,8 @@ export const SettingsObjectFieldItemTableRow = ({ fieldMetadataItem: fieldMetadataItem, }: SettingsObjectFieldItemTableRowProps) => { const theme = useTheme(); - const { Icon } = useLazyLoadIcon(fieldMetadataItem.icon ?? ''); + const { getIcon } = useIcons(); + const Icon = getIcon(fieldMetadataItem.icon); const navigate = useNavigate(); // TODO: parse with zod and merge types with FieldType (create a subset of FieldType for example) diff --git a/packages/twenty-front/src/modules/settings/data-model/object-details/components/SettingsObjectItemTableRow.tsx b/packages/twenty-front/src/modules/settings/data-model/object-details/components/SettingsObjectItemTableRow.tsx index 4c66109fb..b295d2a63 100644 --- a/packages/twenty-front/src/modules/settings/data-model/object-details/components/SettingsObjectItemTableRow.tsx +++ b/packages/twenty-front/src/modules/settings/data-model/object-details/components/SettingsObjectItemTableRow.tsx @@ -4,8 +4,8 @@ import styled from '@emotion/styled'; import { ObjectMetadataItem } from '@/object-metadata/types/ObjectMetadataItem'; import { useFindManyRecords } from '@/object-record/hooks/useFindManyRecords'; +import { useIcons } from '@/ui/display/icon/hooks/useIcons'; import { Tag } from '@/ui/display/tag/components/Tag'; -import { useLazyLoadIcon } from '@/ui/input/hooks/useLazyLoadIcon'; import { TableCell } from '@/ui/layout/table/components/TableCell'; import { TableRow } from '@/ui/layout/table/components/TableRow'; @@ -40,7 +40,8 @@ export const SettingsObjectItemTableRow = ({ objectNameSingular: objectItem.nameSingular, }); - const { Icon } = useLazyLoadIcon(objectItem.icon ?? ''); + const { getIcon } = useIcons(); + const Icon = getIcon(objectItem.icon); return ( diff --git a/packages/twenty-front/src/modules/settings/data-model/object-edit/SettingsObjectIconSection.tsx b/packages/twenty-front/src/modules/settings/data-model/object-edit/SettingsObjectIconSection.tsx index 00835f3c5..1ac210ca6 100644 --- a/packages/twenty-front/src/modules/settings/data-model/object-edit/SettingsObjectIconSection.tsx +++ b/packages/twenty-front/src/modules/settings/data-model/object-edit/SettingsObjectIconSection.tsx @@ -1,9 +1,9 @@ import styled from '@emotion/styled'; +import { useIcons } from '@/ui/display/icon/hooks/useIcons'; import { IconComponent } from '@/ui/display/icon/types/IconComponent'; import { H2Title } from '@/ui/display/typography/components/H2Title'; import { IconPicker } from '@/ui/input/components/IconPicker'; -import { useLazyLoadIcon } from '@/ui/input/hooks/useLazyLoadIcon'; import { Section } from '@/ui/layout/section/components/Section'; import ArrowRight from '../assets/ArrowRight.svg'; @@ -36,7 +36,8 @@ export const SettingsObjectIconSection = ({ label, onChange, }: SettingsObjectIconSectionProps) => { - const { Icon } = useLazyLoadIcon(iconKey); + const { getIcon } = useIcons(); + const Icon = getIcon(iconKey); return (
diff --git a/packages/twenty-front/src/modules/settings/data-model/objects/SettingsObjectDisabledMenuDropDown.tsx b/packages/twenty-front/src/modules/settings/data-model/objects/SettingsObjectDisabledMenuDropDown.tsx index 708905729..3f59c86c9 100644 --- a/packages/twenty-front/src/modules/settings/data-model/objects/SettingsObjectDisabledMenuDropDown.tsx +++ b/packages/twenty-front/src/modules/settings/data-model/objects/SettingsObjectDisabledMenuDropDown.tsx @@ -1,6 +1,5 @@ -import { IconDotsVertical } from '@/ui/display/icon'; +import { IconArchiveOff, IconDotsVertical } from '@/ui/display/icon'; import { LightIconButton } from '@/ui/input/button/components/LightIconButton'; -import { IconArchiveOff } from '@/ui/input/constants/icons'; import { Dropdown } from '@/ui/layout/dropdown/components/Dropdown'; import { DropdownMenu } from '@/ui/layout/dropdown/components/DropdownMenu'; import { DropdownMenuItemsContainer } from '@/ui/layout/dropdown/components/DropdownMenuItemsContainer'; diff --git a/packages/twenty-front/src/modules/ui/display/icon/components/IconsProvider.tsx b/packages/twenty-front/src/modules/ui/display/icon/components/IconsProvider.tsx new file mode 100644 index 000000000..918d7d32d --- /dev/null +++ b/packages/twenty-front/src/modules/ui/display/icon/components/IconsProvider.tsx @@ -0,0 +1,20 @@ +import { useEffect } from 'react'; +import { useSetRecoilState } from 'recoil'; + +import { iconsState } from '@/ui/display/icon/states/iconsState'; + +type IconsProviderProps = { + children: JSX.Element; +}; + +export const IconsProvider = ({ children }: IconsProviderProps) => { + const setIcons = useSetRecoilState(iconsState); + + useEffect(() => { + import('../constants/index').then((lazyLoadedIcons) => { + setIcons(lazyLoadedIcons.default); + }); + }, [setIcons]); + + return children; +}; diff --git a/packages/twenty-front/src/modules/ui/input/constants/icons.ts b/packages/twenty-front/src/modules/ui/display/icon/constants/index.ts similarity index 50% rename from packages/twenty-front/src/modules/ui/input/constants/icons.ts rename to packages/twenty-front/src/modules/ui/display/icon/constants/index.ts index cda8a1281..becf2f91b 100644 --- a/packages/twenty-front/src/modules/ui/input/constants/icons.ts +++ b/packages/twenty-front/src/modules/ui/display/icon/constants/index.ts @@ -1,5 +1,5 @@ /* eslint-disable no-restricted-imports */ -export { +import { Icon2fa, Icon3dCubeSphere, Icon3dCubeSphereOff, @@ -4197,3 +4197,4202 @@ export { IconZzz, IconZzzOff, } from '@tabler/icons-react'; + +export default { + Icon2fa, + Icon3dCubeSphere, + Icon3dCubeSphereOff, + Icon3dRotate, + Icon24Hours, + Icon123, + Icon360, + Icon360View, + IconAB, + IconAB2, + IconAbacus, + IconAbacusOff, + IconAbc, + IconABOff, + IconAccessible, + IconAccessibleOff, + IconAccessPoint, + IconAccessPointOff, + IconActivity, + IconActivityHeartbeat, + IconAd, + IconAd2, + IconAdCircle, + IconAdCircleOff, + IconAddressBook, + IconAddressBookOff, + IconAdjustments, + IconAdjustmentsAlt, + IconAdjustmentsBolt, + IconAdjustmentsCancel, + IconAdjustmentsCheck, + IconAdjustmentsCode, + IconAdjustmentsCog, + IconAdjustmentsDollar, + IconAdjustmentsDown, + IconAdjustmentsExclamation, + IconAdjustmentsHeart, + IconAdjustmentsHorizontal, + IconAdjustmentsMinus, + IconAdjustmentsOff, + IconAdjustmentsPause, + IconAdjustmentsPin, + IconAdjustmentsPlus, + IconAdjustmentsQuestion, + IconAdjustmentsSearch, + IconAdjustmentsShare, + IconAdjustmentsStar, + IconAdjustmentsUp, + IconAdjustmentsX, + IconAdOff, + IconAerialLift, + IconAffiliate, + IconAirBalloon, + IconAirConditioning, + IconAirConditioningDisabled, + IconAirTrafficControl, + IconAlarm, + IconAlarmMinus, + IconAlarmOff, + IconAlarmPlus, + IconAlarmSnooze, + IconAlbum, + IconAlbumOff, + IconAlertCircle, + IconAlertHexagon, + IconAlertOctagon, + IconAlertSmall, + IconAlertSquare, + IconAlertSquareRounded, + IconAlertTriangle, + IconAlien, + IconAlignBoxBottomCenter, + IconAlignBoxBottomLeft, + IconAlignBoxBottomRight, + IconAlignBoxCenterBottom, + IconAlignBoxCenterMiddle, + IconAlignBoxCenterStretch, + IconAlignBoxCenterTop, + IconAlignBoxLeftBottom, + IconAlignBoxLeftMiddle, + IconAlignBoxLeftStretch, + IconAlignBoxLeftTop, + IconAlignBoxRightBottom, + IconAlignBoxRightMiddle, + IconAlignBoxRightStretch, + IconAlignBoxRightTop, + IconAlignBoxTopCenter, + IconAlignBoxTopLeft, + IconAlignBoxTopRight, + IconAlignCenter, + IconAlignJustified, + IconAlignLeft, + IconAlignRight, + IconAlpha, + IconAlphabetCyrillic, + IconAlphabetGreek, + IconAlphabetLatin, + IconAmbulance, + IconAmpersand, + IconAnalyze, + IconAnalyzeOff, + IconAnchor, + IconAnchorOff, + IconAngle, + IconAnkh, + IconAntenna, + IconAntennaBars1, + IconAntennaBars2, + IconAntennaBars3, + IconAntennaBars4, + IconAntennaBars5, + IconAntennaBarsOff, + IconAntennaOff, + IconAperture, + IconApertureOff, + IconApi, + IconApiApp, + IconApiAppOff, + IconApiOff, + IconApple, + IconApps, + IconAppsOff, + IconAppWindow, + IconArchive, + IconArchiveOff, + IconArmchair, + IconArmchair2, + IconArmchair2Off, + IconArmchairOff, + IconArrowAutofitContent, + IconArrowAutofitDown, + IconArrowAutofitHeight, + IconArrowAutofitLeft, + IconArrowAutofitRight, + IconArrowAutofitUp, + IconArrowAutofitWidth, + IconArrowBack, + IconArrowBackUp, + IconArrowBackUpDouble, + IconArrowBadgeDown, + IconArrowBadgeLeft, + IconArrowBadgeRight, + IconArrowBadgeUp, + IconArrowBarBoth, + IconArrowBarDown, + IconArrowBarLeft, + IconArrowBarRight, + IconArrowBarToDown, + IconArrowBarToLeft, + IconArrowBarToRight, + IconArrowBarToUp, + IconArrowBarUp, + IconArrowBearLeft, + IconArrowBearLeft2, + IconArrowBearRight, + IconArrowBearRight2, + IconArrowBigDown, + IconArrowBigDownLine, + IconArrowBigDownLines, + IconArrowBigLeft, + IconArrowBigLeftLine, + IconArrowBigLeftLines, + IconArrowBigRight, + IconArrowBigRightLine, + IconArrowBigRightLines, + IconArrowBigUp, + IconArrowBigUpLine, + IconArrowBigUpLines, + IconArrowBounce, + IconArrowCapsule, + IconArrowCurveLeft, + IconArrowCurveRight, + IconArrowDown, + IconArrowDownBar, + IconArrowDownCircle, + IconArrowDownLeft, + IconArrowDownLeftCircle, + IconArrowDownRhombus, + IconArrowDownRight, + IconArrowDownRightCircle, + IconArrowDownSquare, + IconArrowDownTail, + IconArrowElbowLeft, + IconArrowElbowRight, + IconArrowFork, + IconArrowForward, + IconArrowForwardUp, + IconArrowForwardUpDouble, + IconArrowGuide, + IconArrowIteration, + IconArrowLeft, + IconArrowLeftBar, + IconArrowLeftCircle, + IconArrowLeftRhombus, + IconArrowLeftRight, + IconArrowLeftSquare, + IconArrowLeftTail, + IconArrowLoopLeft, + IconArrowLoopLeft2, + IconArrowLoopRight, + IconArrowLoopRight2, + IconArrowMerge, + IconArrowMergeBoth, + IconArrowMergeLeft, + IconArrowMergeRight, + IconArrowMoveDown, + IconArrowMoveLeft, + IconArrowMoveRight, + IconArrowMoveUp, + IconArrowNarrowDown, + IconArrowNarrowLeft, + IconArrowNarrowRight, + IconArrowNarrowUp, + IconArrowRampLeft, + IconArrowRampLeft2, + IconArrowRampLeft3, + IconArrowRampRight, + IconArrowRampRight2, + IconArrowRampRight3, + IconArrowRight, + IconArrowRightBar, + IconArrowRightCircle, + IconArrowRightRhombus, + IconArrowRightSquare, + IconArrowRightTail, + IconArrowRotaryFirstLeft, + IconArrowRotaryFirstRight, + IconArrowRotaryLastLeft, + IconArrowRotaryLastRight, + IconArrowRotaryLeft, + IconArrowRotaryRight, + IconArrowRotaryStraight, + IconArrowRoundaboutLeft, + IconArrowRoundaboutRight, + IconArrowsCross, + IconArrowsDiagonal, + IconArrowsDiagonal2, + IconArrowsDiagonalMinimize, + IconArrowsDiagonalMinimize2, + IconArrowsDiff, + IconArrowsDoubleNeSw, + IconArrowsDoubleNwSe, + IconArrowsDoubleSeNw, + IconArrowsDoubleSwNe, + IconArrowsDown, + IconArrowsDownUp, + IconArrowsExchange, + IconArrowsExchange2, + IconArrowSharpTurnLeft, + IconArrowSharpTurnRight, + IconArrowsHorizontal, + IconArrowsJoin, + IconArrowsJoin2, + IconArrowsLeft, + IconArrowsLeftDown, + IconArrowsLeftRight, + IconArrowsMaximize, + IconArrowsMinimize, + IconArrowsMove, + IconArrowsMoveHorizontal, + IconArrowsMoveVertical, + IconArrowsRandom, + IconArrowsRight, + IconArrowsRightDown, + IconArrowsRightLeft, + IconArrowsShuffle, + IconArrowsShuffle2, + IconArrowsSort, + IconArrowsSplit, + IconArrowsSplit2, + IconArrowsTransferDown, + IconArrowsTransferUp, + IconArrowsUp, + IconArrowsUpDown, + IconArrowsUpLeft, + IconArrowsUpRight, + IconArrowsVertical, + IconArrowUp, + IconArrowUpBar, + IconArrowUpCircle, + IconArrowUpLeft, + IconArrowUpLeftCircle, + IconArrowUpRhombus, + IconArrowUpRight, + IconArrowUpRightCircle, + IconArrowUpSquare, + IconArrowUpTail, + IconArrowWaveLeftDown, + IconArrowWaveLeftUp, + IconArrowWaveRightDown, + IconArrowWaveRightUp, + IconArrowZigZag, + IconArtboard, + IconArtboardOff, + IconArticle, + IconArticleOff, + IconAspectRatio, + IconAspectRatioOff, + IconAssembly, + IconAssemblyOff, + IconAsset, + IconAsterisk, + IconAsteriskSimple, + IconAt, + IconAtOff, + IconAtom, + IconAtom2, + IconAtomOff, + IconAugmentedReality, + IconAugmentedReality2, + IconAugmentedRealityOff, + IconAward, + IconAwardOff, + IconAxe, + IconAxisX, + IconAxisY, + IconBabyBottle, + IconBabyCarriage, + IconBackhoe, + IconBackpack, + IconBackpackOff, + IconBackslash, + IconBackspace, + IconBadge, + IconBadge3d, + IconBadge4k, + IconBadge8k, + IconBadgeAd, + IconBadgeAr, + IconBadgeCc, + IconBadgeHd, + IconBadgeOff, + IconBadges, + IconBadgeSd, + IconBadgesOff, + IconBadgeTm, + IconBadgeVo, + IconBadgeVr, + IconBadgeWc, + IconBaguette, + IconBallAmericanFootball, + IconBallAmericanFootballOff, + IconBallBaseball, + IconBallBasketball, + IconBallBowling, + IconBallFootball, + IconBallFootballOff, + IconBalloon, + IconBalloonOff, + IconBallpen, + IconBallpenOff, + IconBallTennis, + IconBallVolleyball, + IconBan, + IconBandage, + IconBandageOff, + IconBarbell, + IconBarbellOff, + IconBarcode, + IconBarcodeOff, + IconBarrel, + IconBarrelOff, + IconBarrierBlock, + IconBarrierBlockOff, + IconBaseline, + IconBaselineDensityLarge, + IconBaselineDensityMedium, + IconBaselineDensitySmall, + IconBasket, + IconBasketBolt, + IconBasketCancel, + IconBasketCheck, + IconBasketCode, + IconBasketCog, + IconBasketDiscount, + IconBasketDollar, + IconBasketDown, + IconBasketExclamation, + IconBasketHeart, + IconBasketMinus, + IconBasketOff, + IconBasketPause, + IconBasketPin, + IconBasketPlus, + IconBasketQuestion, + IconBasketSearch, + IconBasketShare, + IconBasketStar, + IconBasketUp, + IconBasketX, + IconBat, + IconBath, + IconBathOff, + IconBattery, + IconBattery1, + IconBattery2, + IconBattery3, + IconBattery4, + IconBatteryAutomotive, + IconBatteryCharging, + IconBatteryCharging2, + IconBatteryEco, + IconBatteryOff, + IconBeach, + IconBeachOff, + IconBed, + IconBedOff, + IconBeer, + IconBeerOff, + IconBell, + IconBellBolt, + IconBellCancel, + IconBellCheck, + IconBellCode, + IconBellCog, + IconBellDollar, + IconBellDown, + IconBellExclamation, + IconBellHeart, + IconBellMinus, + IconBellOff, + IconBellPause, + IconBellPin, + IconBellPlus, + IconBellQuestion, + IconBellRinging, + IconBellRinging2, + IconBellSchool, + IconBellSearch, + IconBellShare, + IconBellStar, + IconBellUp, + IconBellX, + IconBellZ, + IconBeta, + IconBible, + IconBike, + IconBikeOff, + IconBinary, + IconBinaryOff, + IconBinaryTree, + IconBinaryTree2, + IconBiohazard, + IconBiohazardOff, + IconBlade, + IconBleach, + IconBleachChlorine, + IconBleachNoChlorine, + IconBleachOff, + IconBlockquote, + IconBluetooth, + IconBluetoothConnected, + IconBluetoothOff, + IconBluetoothX, + IconBlur, + IconBlurOff, + IconBmp, + IconBold, + IconBoldOff, + IconBolt, + IconBoltOff, + IconBomb, + IconBone, + IconBoneOff, + IconBong, + IconBongOff, + IconBook, + IconBook2, + IconBookDownload, + IconBookmark, + IconBookmarkEdit, + IconBookmarkMinus, + IconBookmarkOff, + IconBookmarkPlus, + IconBookmarkQuestion, + IconBookmarks, + IconBookmarksOff, + IconBookOff, + IconBooks, + IconBooksOff, + IconBookUpload, + IconBorderAll, + IconBorderBottom, + IconBorderCorners, + IconBorderHorizontal, + IconBorderInner, + IconBorderLeft, + IconBorderNone, + IconBorderOuter, + IconBorderRadius, + IconBorderRight, + IconBorderSides, + IconBorderStyle, + IconBorderStyle2, + IconBorderTop, + IconBorderVertical, + IconBottle, + IconBottleOff, + IconBounceLeft, + IconBounceRight, + IconBow, + IconBowl, + IconBox, + IconBoxAlignBottom, + IconBoxAlignBottomLeft, + IconBoxAlignBottomRight, + IconBoxAlignLeft, + IconBoxAlignRight, + IconBoxAlignTop, + IconBoxAlignTopLeft, + IconBoxAlignTopRight, + IconBoxMargin, + IconBoxModel, + IconBoxModel2, + IconBoxModel2Off, + IconBoxModelOff, + IconBoxMultiple, + IconBoxMultiple0, + IconBoxMultiple1, + IconBoxMultiple2, + IconBoxMultiple3, + IconBoxMultiple4, + IconBoxMultiple5, + IconBoxMultiple6, + IconBoxMultiple7, + IconBoxMultiple8, + IconBoxMultiple9, + IconBoxOff, + IconBoxPadding, + IconBoxSeam, + IconBraces, + IconBracesOff, + IconBrackets, + IconBracketsContain, + IconBracketsContainEnd, + IconBracketsContainStart, + IconBracketsOff, + IconBraille, + IconBrain, + IconBrand4chan, + IconBrandAbstract, + IconBrandAdobe, + IconBrandAdonisJs, + IconBrandAirbnb, + IconBrandAirtable, + IconBrandAlgolia, + IconBrandAlipay, + IconBrandAlpineJs, + IconBrandAmazon, + IconBrandAmd, + IconBrandAmigo, + IconBrandAmongUs, + IconBrandAndroid, + IconBrandAngular, + IconBrandAnsible, + IconBrandAo3, + IconBrandAppgallery, + IconBrandApple, + IconBrandAppleArcade, + IconBrandApplePodcast, + IconBrandAppstore, + IconBrandAsana, + IconBrandAws, + IconBrandAzure, + IconBrandBackbone, + IconBrandBadoo, + IconBrandBaidu, + IconBrandBandcamp, + IconBrandBandlab, + IconBrandBeats, + IconBrandBehance, + IconBrandBilibili, + IconBrandBinance, + IconBrandBing, + IconBrandBitbucket, + IconBrandBlackberry, + IconBrandBlender, + IconBrandBlogger, + IconBrandBooking, + IconBrandBootstrap, + IconBrandBulma, + IconBrandBumble, + IconBrandBunpo, + IconBrandCake, + IconBrandCakephp, + IconBrandCampaignmonitor, + IconBrandCarbon, + IconBrandCashapp, + IconBrandChrome, + IconBrandCinema4d, + IconBrandCitymapper, + IconBrandCloudflare, + IconBrandCodecov, + IconBrandCodepen, + IconBrandCodesandbox, + IconBrandCohost, + IconBrandCoinbase, + IconBrandComedyCentral, + IconBrandCoreos, + IconBrandCouchdb, + IconBrandCouchsurfing, + IconBrandCpp, + IconBrandCraft, + IconBrandCrunchbase, + IconBrandCSharp, + IconBrandCss3, + IconBrandCtemplar, + IconBrandCucumber, + IconBrandCupra, + IconBrandCypress, + IconBrandD3, + IconBrandDaysCounter, + IconBrandDcos, + IconBrandDebian, + IconBrandDeezer, + IconBrandDeliveroo, + IconBrandDeno, + IconBrandDenodo, + IconBrandDeviantart, + IconBrandDigg, + IconBrandDingtalk, + IconBrandDiscord, + IconBrandDisney, + IconBrandDisqus, + IconBrandDjango, + IconBrandDocker, + IconBrandDoctrine, + IconBrandDolbyDigital, + IconBrandDouban, + IconBrandDribbble, + IconBrandDrops, + IconBrandDrupal, + IconBrandEdge, + IconBrandElastic, + IconBrandElectronicArts, + IconBrandEmber, + IconBrandEnvato, + IconBrandEtsy, + IconBrandEvernote, + IconBrandFacebook, + IconBrandFeedly, + IconBrandFigma, + IconBrandFilezilla, + IconBrandFinder, + IconBrandFirebase, + IconBrandFirefox, + IconBrandFiverr, + IconBrandFlickr, + IconBrandFlightradar24, + IconBrandFlipboard, + IconBrandFlutter, + IconBrandFortnite, + IconBrandFoursquare, + IconBrandFramer, + IconBrandFramerMotion, + IconBrandFunimation, + IconBrandGatsby, + IconBrandGit, + IconBrandGithub, + IconBrandGithubCopilot, + IconBrandGitlab, + IconBrandGmail, + IconBrandGolang, + IconBrandGoogle, + IconBrandGoogleAnalytics, + IconBrandGoogleBigQuery, + IconBrandGoogleDrive, + IconBrandGoogleFit, + IconBrandGoogleHome, + IconBrandGoogleMaps, + IconBrandGoogleOne, + IconBrandGooglePhotos, + IconBrandGooglePlay, + IconBrandGooglePodcasts, + IconBrandGrammarly, + IconBrandGraphql, + IconBrandGravatar, + IconBrandGrindr, + IconBrandGuardian, + IconBrandGumroad, + IconBrandHbo, + IconBrandHeadlessui, + IconBrandHexo, + IconBrandHipchat, + IconBrandHtml5, + IconBrandInertia, + IconBrandInstagram, + IconBrandIntercom, + IconBrandItch, + IconBrandJavascript, + IconBrandJuejin, + IconBrandKbin, + IconBrandKick, + IconBrandKickstarter, + IconBrandKotlin, + IconBrandLaravel, + IconBrandLastfm, + IconBrandLeetcode, + IconBrandLetterboxd, + IconBrandLine, + IconBrandLinkedin, + IconBrandLinktree, + IconBrandLinqpad, + IconBrandLoom, + IconBrandMailgun, + IconBrandMantine, + IconBrandMastercard, + IconBrandMastodon, + IconBrandMatrix, + IconBrandMcdonalds, + IconBrandMedium, + IconBrandMercedes, + IconBrandMessenger, + IconBrandMeta, + IconBrandMinecraft, + IconBrandMiniprogram, + IconBrandMixpanel, + IconBrandMonday, + IconBrandMongodb, + IconBrandMyOppo, + IconBrandMysql, + IconBrandNationalGeographic, + IconBrandNem, + IconBrandNetbeans, + IconBrandNeteaseMusic, + IconBrandNetflix, + IconBrandNexo, + IconBrandNextcloud, + IconBrandNextjs, + IconBrandNodejs, + IconBrandNordVpn, + IconBrandNotion, + IconBrandNpm, + IconBrandNuxt, + IconBrandNytimes, + IconBrandOauth, + IconBrandOffice, + IconBrandOkRu, + IconBrandOnedrive, + IconBrandOnlyfans, + IconBrandOpenai, + IconBrandOpenSource, + IconBrandOpenvpn, + IconBrandOpera, + IconBrandPagekit, + IconBrandPatreon, + IconBrandPaypal, + IconBrandPaypay, + IconBrandPeanut, + IconBrandPepsi, + IconBrandPhp, + IconBrandPicsart, + IconBrandPinterest, + IconBrandPlanetscale, + IconBrandPocket, + IconBrandPolymer, + IconBrandPowershell, + IconBrandPrisma, + IconBrandProducthunt, + IconBrandPushbullet, + IconBrandPushover, + IconBrandPython, + IconBrandQq, + IconBrandRadixUi, + IconBrandReact, + IconBrandReactNative, + IconBrandReason, + IconBrandReddit, + IconBrandRedhat, + IconBrandRedux, + IconBrandRevolut, + IconBrandRumble, + IconBrandRust, + IconBrandSafari, + IconBrandSamsungpass, + IconBrandSass, + IconBrandSentry, + IconBrandSharik, + IconBrandShazam, + IconBrandShopee, + IconBrandSketch, + IconBrandSkype, + IconBrandSlack, + IconBrandSnapchat, + IconBrandSnapseed, + IconBrandSnowflake, + IconBrandSocketIo, + IconBrandSolidjs, + IconBrandSoundcloud, + IconBrandSpacehey, + IconBrandSpeedtest, + IconBrandSpotify, + IconBrandStackoverflow, + IconBrandStackshare, + IconBrandSteam, + IconBrandStorj, + IconBrandStorybook, + IconBrandStorytel, + IconBrandStrava, + IconBrandStripe, + IconBrandSublimeText, + IconBrandSugarizer, + IconBrandSupabase, + IconBrandSuperhuman, + IconBrandSupernova, + IconBrandSurfshark, + IconBrandSvelte, + IconBrandSwift, + IconBrandSymfony, + IconBrandTabler, + IconBrandTailwind, + IconBrandTaobao, + IconBrandTed, + IconBrandTelegram, + IconBrandTerraform, + IconBrandTether, + IconBrandThreads, + IconBrandThreejs, + IconBrandTidal, + IconBrandTiktok, + IconBrandTinder, + IconBrandTopbuzz, + IconBrandTorchain, + IconBrandToyota, + IconBrandTrello, + IconBrandTripadvisor, + IconBrandTumblr, + IconBrandTwilio, + IconBrandTwitch, + IconBrandTwitter, + IconBrandTypescript, + IconBrandUber, + IconBrandUbuntu, + IconBrandUnity, + IconBrandUnsplash, + IconBrandUpwork, + IconBrandValorant, + IconBrandVercel, + IconBrandVimeo, + IconBrandVinted, + IconBrandVisa, + IconBrandVisualStudio, + IconBrandVite, + IconBrandVivaldi, + IconBrandVk, + IconBrandVlc, + IconBrandVolkswagen, + IconBrandVsco, + IconBrandVscode, + IconBrandVue, + IconBrandWalmart, + IconBrandWaze, + IconBrandWebflow, + IconBrandWechat, + IconBrandWeibo, + IconBrandWhatsapp, + IconBrandWikipedia, + IconBrandWindows, + IconBrandWindy, + IconBrandWish, + IconBrandWix, + IconBrandWordpress, + IconBrandX, + IconBrandXamarin, + IconBrandXbox, + IconBrandXdeep, + IconBrandXing, + IconBrandYahoo, + IconBrandYandex, + IconBrandYatse, + IconBrandYcombinator, + IconBrandYoutube, + IconBrandYoutubeKids, + IconBrandZalando, + IconBrandZapier, + IconBrandZeit, + IconBrandZhihu, + IconBrandZoom, + IconBrandZulip, + IconBrandZwift, + IconBread, + IconBreadOff, + IconBriefcase, + IconBriefcase2, + IconBriefcaseOff, + IconBrightness, + IconBrightness2, + IconBrightnessDown, + IconBrightnessHalf, + IconBrightnessOff, + IconBrightnessUp, + IconBroadcast, + IconBroadcastOff, + IconBrowser, + IconBrowserCheck, + IconBrowserOff, + IconBrowserPlus, + IconBrowserX, + IconBrush, + IconBrushOff, + IconBucket, + IconBucketDroplet, + IconBucketOff, + IconBug, + IconBugOff, + IconBuilding, + IconBuildingArch, + IconBuildingBank, + IconBuildingBridge, + IconBuildingBridge2, + IconBuildingBroadcastTower, + IconBuildingCarousel, + IconBuildingCastle, + IconBuildingChurch, + IconBuildingCircus, + IconBuildingCommunity, + IconBuildingCottage, + IconBuildingEstate, + IconBuildingFactory, + IconBuildingFactory2, + IconBuildingFortress, + IconBuildingHospital, + IconBuildingLighthouse, + IconBuildingMonument, + IconBuildingMosque, + IconBuildingPavilion, + IconBuildingSkyscraper, + IconBuildingStadium, + IconBuildingStore, + IconBuildingTunnel, + IconBuildingWarehouse, + IconBuildingWindTurbine, + IconBulb, + IconBulbOff, + IconBulldozer, + IconBus, + IconBusinessplan, + IconBusOff, + IconBusStop, + IconButterfly, + IconCactus, + IconCactusOff, + IconCake, + IconCakeOff, + IconCalculator, + IconCalculatorOff, + IconCalendar, + IconCalendarBolt, + IconCalendarCancel, + IconCalendarCheck, + IconCalendarCode, + IconCalendarCog, + IconCalendarDollar, + IconCalendarDown, + IconCalendarDue, + IconCalendarEvent, + IconCalendarExclamation, + IconCalendarHeart, + IconCalendarMinus, + IconCalendarOff, + IconCalendarPause, + IconCalendarPin, + IconCalendarPlus, + IconCalendarQuestion, + IconCalendarRepeat, + IconCalendarSearch, + IconCalendarShare, + IconCalendarStar, + IconCalendarStats, + IconCalendarTime, + IconCalendarUp, + IconCalendarX, + IconCamera, + IconCameraBolt, + IconCameraCancel, + IconCameraCheck, + IconCameraCode, + IconCameraCog, + IconCameraDollar, + IconCameraDown, + IconCameraExclamation, + IconCameraHeart, + IconCameraMinus, + IconCameraOff, + IconCameraPause, + IconCameraPin, + IconCameraPlus, + IconCameraQuestion, + IconCameraRotate, + IconCameraSearch, + IconCameraSelfie, + IconCameraShare, + IconCameraStar, + IconCameraUp, + IconCameraX, + IconCamper, + IconCampfire, + IconCandle, + IconCandy, + IconCandyOff, + IconCane, + IconCannabis, + IconCapsule, + IconCapsuleHorizontal, + IconCapture, + IconCaptureOff, + IconCar, + IconCaravan, + IconCarCrane, + IconCarCrash, + IconCardboards, + IconCardboardsOff, + IconCards, + IconCaretDown, + IconCaretLeft, + IconCaretRight, + IconCaretUp, + IconCarOff, + IconCarouselHorizontal, + IconCarouselVertical, + IconCarrot, + IconCarrotOff, + IconCarTurbine, + IconCash, + IconCashBanknote, + IconCashBanknoteOff, + IconCashOff, + IconCast, + IconCastOff, + IconCat, + IconCategory, + IconCategory2, + IconCe, + IconCell, + IconCellSignal1, + IconCellSignal2, + IconCellSignal3, + IconCellSignal4, + IconCellSignal5, + IconCellSignalOff, + IconCeOff, + IconCertificate, + IconCertificate2, + IconCertificate2Off, + IconCertificateOff, + IconChairDirector, + IconChalkboard, + IconChalkboardOff, + IconChargingPile, + IconChartArcs, + IconChartArcs3, + IconChartArea, + IconChartAreaLine, + IconChartArrows, + IconChartArrowsVertical, + IconChartBar, + IconChartBarOff, + IconChartBubble, + IconChartCandle, + IconChartCircles, + IconChartDonut, + IconChartDonut2, + IconChartDonut3, + IconChartDonut4, + IconChartDots, + IconChartDots2, + IconChartDots3, + IconChartGridDots, + IconChartHistogram, + IconChartInfographic, + IconChartLine, + IconChartPie, + IconChartPie2, + IconChartPie3, + IconChartPie4, + IconChartPieOff, + IconChartPpf, + IconChartRadar, + IconChartSankey, + IconChartTreemap, + IconCheck, + IconCheckbox, + IconChecklist, + IconChecks, + IconCheckupList, + IconCheese, + IconChefHat, + IconChefHatOff, + IconCherry, + IconChess, + IconChessBishop, + IconChessKing, + IconChessKnight, + IconChessQueen, + IconChessRook, + IconChevronCompactDown, + IconChevronCompactLeft, + IconChevronCompactRight, + IconChevronCompactUp, + IconChevronDown, + IconChevronDownLeft, + IconChevronDownRight, + IconChevronLeft, + IconChevronLeftPipe, + IconChevronRight, + IconChevronRightPipe, + IconChevronsDown, + IconChevronsDownLeft, + IconChevronsDownRight, + IconChevronsLeft, + IconChevronsRight, + IconChevronsUp, + IconChevronsUpLeft, + IconChevronsUpRight, + IconChevronUp, + IconChevronUpLeft, + IconChevronUpRight, + IconChisel, + IconChristmasTree, + IconChristmasTreeOff, + IconCircle, + IconCircleArrowDown, + IconCircleArrowDownLeft, + IconCircleArrowDownRight, + IconCircleArrowLeft, + IconCircleArrowRight, + IconCircleArrowUp, + IconCircleArrowUpLeft, + IconCircleArrowUpRight, + IconCircleCaretDown, + IconCircleCaretLeft, + IconCircleCaretRight, + IconCircleCaretUp, + IconCircleCheck, + IconCircleChevronDown, + IconCircleChevronLeft, + IconCircleChevronRight, + IconCircleChevronsDown, + IconCircleChevronsLeft, + IconCircleChevronsRight, + IconCircleChevronsUp, + IconCircleChevronUp, + IconCircleDashed, + IconCircleDot, + IconCircleDotted, + IconCircleHalf, + IconCircleHalf2, + IconCircleHalfVertical, + IconCircleKey, + IconCircleLetterA, + IconCircleLetterB, + IconCircleLetterC, + IconCircleLetterD, + IconCircleLetterE, + IconCircleLetterF, + IconCircleLetterG, + IconCircleLetterH, + IconCircleLetterI, + IconCircleLetterJ, + IconCircleLetterK, + IconCircleLetterL, + IconCircleLetterM, + IconCircleLetterN, + IconCircleLetterO, + IconCircleLetterP, + IconCircleLetterQ, + IconCircleLetterR, + IconCircleLetterS, + IconCircleLetterT, + IconCircleLetterU, + IconCircleLetterV, + IconCircleLetterW, + IconCircleLetterX, + IconCircleLetterY, + IconCircleLetterZ, + IconCircleMinus, + IconCircleNumber0, + IconCircleNumber1, + IconCircleNumber2, + IconCircleNumber3, + IconCircleNumber4, + IconCircleNumber5, + IconCircleNumber6, + IconCircleNumber7, + IconCircleNumber8, + IconCircleNumber9, + IconCircleOff, + IconCirclePlus, + IconCircleRectangle, + IconCircleRectangleOff, + IconCircles, + IconCircleSquare, + IconCirclesRelation, + IconCircleTriangle, + IconCircleX, + IconCircuitAmmeter, + IconCircuitBattery, + IconCircuitBulb, + IconCircuitCapacitor, + IconCircuitCapacitorPolarized, + IconCircuitCell, + IconCircuitCellPlus, + IconCircuitChangeover, + IconCircuitDiode, + IconCircuitDiodeZener, + IconCircuitGround, + IconCircuitGroundDigital, + IconCircuitInductor, + IconCircuitMotor, + IconCircuitPushbutton, + IconCircuitResistor, + IconCircuitSwitchClosed, + IconCircuitSwitchOpen, + IconCircuitVoltmeter, + IconClearAll, + IconClearFormatting, + IconClick, + IconClipboard, + IconClipboardCheck, + IconClipboardCopy, + IconClipboardData, + IconClipboardHeart, + IconClipboardList, + IconClipboardOff, + IconClipboardPlus, + IconClipboardText, + IconClipboardTypography, + IconClipboardX, + IconClock, + IconClock2, + IconClockBolt, + IconClockCancel, + IconClockCheck, + IconClockCode, + IconClockCog, + IconClockDollar, + IconClockDown, + IconClockEdit, + IconClockExclamation, + IconClockHeart, + IconClockHour1, + IconClockHour2, + IconClockHour3, + IconClockHour4, + IconClockHour5, + IconClockHour6, + IconClockHour7, + IconClockHour8, + IconClockHour9, + IconClockHour10, + IconClockHour11, + IconClockHour12, + IconClockMinus, + IconClockOff, + IconClockPause, + IconClockPin, + IconClockPlay, + IconClockPlus, + IconClockQuestion, + IconClockRecord, + IconClockSearch, + IconClockShare, + IconClockShield, + IconClockStar, + IconClockStop, + IconClockUp, + IconClockX, + IconClothesRack, + IconClothesRackOff, + IconCloud, + IconCloudBolt, + IconCloudCancel, + IconCloudCheck, + IconCloudCode, + IconCloudCog, + IconCloudComputing, + IconCloudDataConnection, + IconCloudDollar, + IconCloudDown, + IconCloudDownload, + IconCloudExclamation, + IconCloudFog, + IconCloudHeart, + IconCloudLock, + IconCloudLockOpen, + IconCloudMinus, + IconCloudOff, + IconCloudPause, + IconCloudPin, + IconCloudPlus, + IconCloudQuestion, + IconCloudRain, + IconCloudSearch, + IconCloudShare, + IconCloudSnow, + IconCloudStar, + IconCloudStorm, + IconCloudUp, + IconCloudUpload, + IconCloudX, + IconClover, + IconClover2, + IconClubs, + IconCode, + IconCodeAsterix, + IconCodeCircle, + IconCodeCircle2, + IconCodeDots, + IconCodeMinus, + IconCodeOff, + IconCodePlus, + IconCoffee, + IconCoffeeOff, + IconCoffin, + IconCoin, + IconCoinBitcoin, + IconCoinEuro, + IconCoinMonero, + IconCoinOff, + IconCoinPound, + IconCoinRupee, + IconCoins, + IconCoinYen, + IconCoinYuan, + IconColorFilter, + IconColorPicker, + IconColorPickerOff, + IconColorSwatch, + IconColorSwatchOff, + IconColumnInsertLeft, + IconColumnInsertRight, + IconColumnRemove, + IconColumns, + IconColumns1, + IconColumns2, + IconColumns3, + IconColumnsOff, + IconComet, + IconCommand, + IconCommandOff, + IconCompass, + IconCompassOff, + IconComponents, + IconComponentsOff, + IconCone, + IconCone2, + IconConeOff, + IconConePlus, + IconConfetti, + IconConfettiOff, + IconConfucius, + IconContainer, + IconContainerOff, + IconContrast, + IconContrast2, + IconContrast2Off, + IconContrastOff, + IconCooker, + IconCookie, + IconCookieMan, + IconCookieOff, + IconCopy, + IconCopyleft, + IconCopyleftOff, + IconCopyOff, + IconCopyright, + IconCopyrightOff, + IconCornerDownLeft, + IconCornerDownLeftDouble, + IconCornerDownRight, + IconCornerDownRightDouble, + IconCornerLeftDown, + IconCornerLeftDownDouble, + IconCornerLeftUp, + IconCornerLeftUpDouble, + IconCornerRightDown, + IconCornerRightDownDouble, + IconCornerRightUp, + IconCornerRightUpDouble, + IconCornerUpLeft, + IconCornerUpLeftDouble, + IconCornerUpRight, + IconCornerUpRightDouble, + IconCpu, + IconCpu2, + IconCpuOff, + IconCrane, + IconCraneOff, + IconCreativeCommons, + IconCreativeCommonsBy, + IconCreativeCommonsNc, + IconCreativeCommonsNd, + IconCreativeCommonsOff, + IconCreativeCommonsSa, + IconCreativeCommonsZero, + IconCreditCard, + IconCreditCardOff, + IconCricket, + IconCrop, + IconCross, + IconCrosshair, + IconCrossOff, + IconCrown, + IconCrownOff, + IconCrutches, + IconCrutchesOff, + IconCrystalBall, + IconCsv, + IconCube, + IconCubeOff, + IconCubePlus, + IconCubeSend, + IconCubeUnfolded, + IconCup, + IconCupOff, + IconCurling, + IconCurlyLoop, + IconCurrency, + IconCurrencyAfghani, + IconCurrencyBahraini, + IconCurrencyBaht, + IconCurrencyBitcoin, + IconCurrencyCent, + IconCurrencyDinar, + IconCurrencyDirham, + IconCurrencyDogecoin, + IconCurrencyDollar, + IconCurrencyDollarAustralian, + IconCurrencyDollarBrunei, + IconCurrencyDollarCanadian, + IconCurrencyDollarGuyanese, + IconCurrencyDollarOff, + IconCurrencyDollarSingapore, + IconCurrencyDollarZimbabwean, + IconCurrencyDong, + IconCurrencyDram, + IconCurrencyEthereum, + IconCurrencyEuro, + IconCurrencyEuroOff, + IconCurrencyFlorin, + IconCurrencyForint, + IconCurrencyFrank, + IconCurrencyGuarani, + IconCurrencyHryvnia, + IconCurrencyIranianRial, + IconCurrencyKip, + IconCurrencyKroneCzech, + IconCurrencyKroneDanish, + IconCurrencyKroneSwedish, + IconCurrencyLari, + IconCurrencyLeu, + IconCurrencyLira, + IconCurrencyLitecoin, + IconCurrencyLyd, + IconCurrencyManat, + IconCurrencyMonero, + IconCurrencyNaira, + IconCurrencyNano, + IconCurrencyOff, + IconCurrencyPaanga, + IconCurrencyPeso, + IconCurrencyPound, + IconCurrencyPoundOff, + IconCurrencyQuetzal, + IconCurrencyReal, + IconCurrencyRenminbi, + IconCurrencyRipple, + IconCurrencyRiyal, + IconCurrencyRubel, + IconCurrencyRufiyaa, + IconCurrencyRupee, + IconCurrencyRupeeNepalese, + IconCurrencyShekel, + IconCurrencySolana, + IconCurrencySom, + IconCurrencyTaka, + IconCurrencyTenge, + IconCurrencyTugrik, + IconCurrencyWon, + IconCurrencyYen, + IconCurrencyYenOff, + IconCurrencyYuan, + IconCurrencyZloty, + IconCurrentLocation, + IconCurrentLocationOff, + IconCursorOff, + IconCursorText, + IconCut, + IconCylinder, + IconCylinderOff, + IconCylinderPlus, + IconDashboard, + IconDashboardOff, + IconDatabase, + IconDatabaseCog, + IconDatabaseDollar, + IconDatabaseEdit, + IconDatabaseExclamation, + IconDatabaseExport, + IconDatabaseHeart, + IconDatabaseImport, + IconDatabaseLeak, + IconDatabaseMinus, + IconDatabaseOff, + IconDatabasePlus, + IconDatabaseSearch, + IconDatabaseShare, + IconDatabaseStar, + IconDatabaseX, + IconDecimal, + IconDeer, + IconDelta, + IconDental, + IconDentalBroken, + IconDentalOff, + IconDeselect, + IconDetails, + IconDetailsOff, + IconDeviceAirpods, + IconDeviceAirpodsCase, + IconDeviceAirtag, + IconDeviceAnalytics, + IconDeviceAudioTape, + IconDeviceCameraPhone, + IconDeviceCctv, + IconDeviceCctvOff, + IconDeviceComputerCamera, + IconDeviceComputerCameraOff, + IconDeviceDesktop, + IconDeviceDesktopAnalytics, + IconDeviceDesktopBolt, + IconDeviceDesktopCancel, + IconDeviceDesktopCheck, + IconDeviceDesktopCode, + IconDeviceDesktopCog, + IconDeviceDesktopDollar, + IconDeviceDesktopDown, + IconDeviceDesktopExclamation, + IconDeviceDesktopHeart, + IconDeviceDesktopMinus, + IconDeviceDesktopOff, + IconDeviceDesktopPause, + IconDeviceDesktopPin, + IconDeviceDesktopPlus, + IconDeviceDesktopQuestion, + IconDeviceDesktopSearch, + IconDeviceDesktopShare, + IconDeviceDesktopStar, + IconDeviceDesktopUp, + IconDeviceDesktopX, + IconDeviceFloppy, + IconDeviceGamepad, + IconDeviceGamepad2, + IconDeviceHeartMonitor, + IconDeviceImac, + IconDeviceImacBolt, + IconDeviceImacCancel, + IconDeviceImacCheck, + IconDeviceImacCode, + IconDeviceImacCog, + IconDeviceImacDollar, + IconDeviceImacDown, + IconDeviceImacExclamation, + IconDeviceImacHeart, + IconDeviceImacMinus, + IconDeviceImacOff, + IconDeviceImacPause, + IconDeviceImacPin, + IconDeviceImacPlus, + IconDeviceImacQuestion, + IconDeviceImacSearch, + IconDeviceImacShare, + IconDeviceImacStar, + IconDeviceImacUp, + IconDeviceImacX, + IconDeviceIpad, + IconDeviceIpadBolt, + IconDeviceIpadCancel, + IconDeviceIpadCheck, + IconDeviceIpadCode, + IconDeviceIpadCog, + IconDeviceIpadDollar, + IconDeviceIpadDown, + IconDeviceIpadExclamation, + IconDeviceIpadHeart, + IconDeviceIpadHorizontal, + IconDeviceIpadHorizontalBolt, + IconDeviceIpadHorizontalCancel, + IconDeviceIpadHorizontalCheck, + IconDeviceIpadHorizontalCode, + IconDeviceIpadHorizontalCog, + IconDeviceIpadHorizontalDollar, + IconDeviceIpadHorizontalDown, + IconDeviceIpadHorizontalExclamation, + IconDeviceIpadHorizontalHeart, + IconDeviceIpadHorizontalMinus, + IconDeviceIpadHorizontalOff, + IconDeviceIpadHorizontalPause, + IconDeviceIpadHorizontalPin, + IconDeviceIpadHorizontalPlus, + IconDeviceIpadHorizontalQuestion, + IconDeviceIpadHorizontalSearch, + IconDeviceIpadHorizontalShare, + IconDeviceIpadHorizontalStar, + IconDeviceIpadHorizontalUp, + IconDeviceIpadHorizontalX, + IconDeviceIpadMinus, + IconDeviceIpadOff, + IconDeviceIpadPause, + IconDeviceIpadPin, + IconDeviceIpadPlus, + IconDeviceIpadQuestion, + IconDeviceIpadSearch, + IconDeviceIpadShare, + IconDeviceIpadStar, + IconDeviceIpadUp, + IconDeviceIpadX, + IconDeviceLandlinePhone, + IconDeviceLaptop, + IconDeviceLaptopOff, + IconDeviceMobile, + IconDeviceMobileBolt, + IconDeviceMobileCancel, + IconDeviceMobileCharging, + IconDeviceMobileCheck, + IconDeviceMobileCode, + IconDeviceMobileCog, + IconDeviceMobileDollar, + IconDeviceMobileDown, + IconDeviceMobileExclamation, + IconDeviceMobileHeart, + IconDeviceMobileMessage, + IconDeviceMobileMinus, + IconDeviceMobileOff, + IconDeviceMobilePause, + IconDeviceMobilePin, + IconDeviceMobilePlus, + IconDeviceMobileQuestion, + IconDeviceMobileRotated, + IconDeviceMobileSearch, + IconDeviceMobileShare, + IconDeviceMobileStar, + IconDeviceMobileUp, + IconDeviceMobileVibration, + IconDeviceMobileX, + IconDeviceNintendo, + IconDeviceNintendoOff, + IconDeviceProjector, + IconDeviceRemote, + IconDevices, + IconDevices2, + IconDevicesBolt, + IconDevicesCancel, + IconDevicesCheck, + IconDevicesCode, + IconDevicesCog, + IconDeviceSdCard, + IconDevicesDollar, + IconDevicesDown, + IconDevicesExclamation, + IconDevicesHeart, + IconDeviceSim, + IconDeviceSim1, + IconDeviceSim2, + IconDeviceSim3, + IconDevicesMinus, + IconDevicesOff, + IconDevicesPause, + IconDevicesPc, + IconDevicesPcOff, + IconDeviceSpeaker, + IconDeviceSpeakerOff, + IconDevicesPin, + IconDevicesPlus, + IconDevicesQuestion, + IconDevicesSearch, + IconDevicesShare, + IconDevicesStar, + IconDevicesUp, + IconDevicesX, + IconDeviceTablet, + IconDeviceTabletBolt, + IconDeviceTabletCancel, + IconDeviceTabletCheck, + IconDeviceTabletCode, + IconDeviceTabletCog, + IconDeviceTabletDollar, + IconDeviceTabletDown, + IconDeviceTabletExclamation, + IconDeviceTabletHeart, + IconDeviceTabletMinus, + IconDeviceTabletOff, + IconDeviceTabletPause, + IconDeviceTabletPin, + IconDeviceTabletPlus, + IconDeviceTabletQuestion, + IconDeviceTabletSearch, + IconDeviceTabletShare, + IconDeviceTabletStar, + IconDeviceTabletUp, + IconDeviceTabletX, + IconDeviceTv, + IconDeviceTvOff, + IconDeviceTvOld, + IconDeviceVisionPro, + IconDeviceWatch, + IconDeviceWatchBolt, + IconDeviceWatchCancel, + IconDeviceWatchCheck, + IconDeviceWatchCode, + IconDeviceWatchCog, + IconDeviceWatchDollar, + IconDeviceWatchDown, + IconDeviceWatchExclamation, + IconDeviceWatchHeart, + IconDeviceWatchMinus, + IconDeviceWatchOff, + IconDeviceWatchPause, + IconDeviceWatchPin, + IconDeviceWatchPlus, + IconDeviceWatchQuestion, + IconDeviceWatchSearch, + IconDeviceWatchShare, + IconDeviceWatchStar, + IconDeviceWatchStats, + IconDeviceWatchStats2, + IconDeviceWatchUp, + IconDeviceWatchX, + IconDiabolo, + IconDiaboloOff, + IconDiaboloPlus, + IconDialpad, + IconDialpadOff, + IconDiamond, + IconDiamondOff, + IconDiamonds, + IconDice, + IconDice1, + IconDice2, + IconDice3, + IconDice4, + IconDice5, + IconDice6, + IconDimensions, + IconDirection, + IconDirectionHorizontal, + IconDirections, + IconDirectionSign, + IconDirectionSignOff, + IconDirectionsOff, + IconDisabled, + IconDisabled2, + IconDisabledOff, + IconDisc, + IconDiscGolf, + IconDiscOff, + IconDiscount, + IconDiscount2, + IconDiscount2Off, + IconDiscountCheck, + IconDiscountOff, + IconDivide, + IconDna, + IconDna2, + IconDna2Off, + IconDnaOff, + IconDog, + IconDogBowl, + IconDoor, + IconDoorEnter, + IconDoorExit, + IconDoorOff, + IconDots, + IconDotsCircleHorizontal, + IconDotsDiagonal, + IconDotsDiagonal2, + IconDotsVertical, + IconDownload, + IconDownloadOff, + IconDragDrop, + IconDragDrop2, + IconDrone, + IconDroneOff, + IconDropCircle, + IconDroplet, + IconDropletBolt, + IconDropletCancel, + IconDropletCheck, + IconDropletCode, + IconDropletCog, + IconDropletDollar, + IconDropletDown, + IconDropletExclamation, + IconDropletHalf, + IconDropletHalf2, + IconDropletHeart, + IconDropletMinus, + IconDropletOff, + IconDropletPause, + IconDropletPin, + IconDropletPlus, + IconDropletQuestion, + IconDroplets, + IconDropletSearch, + IconDropletShare, + IconDropletStar, + IconDropletUp, + IconDropletX, + IconDualScreen, + IconEar, + IconEarOff, + IconEaseIn, + IconEaseInControlPoint, + IconEaseInOut, + IconEaseInOutControlPoints, + IconEaseOut, + IconEaseOutControlPoint, + IconEdit, + IconEditCircle, + IconEditCircleOff, + IconEditOff, + IconEgg, + IconEggCracked, + IconEggFried, + IconEggOff, + IconEggs, + IconElevator, + IconElevatorOff, + IconEmergencyBed, + IconEmpathize, + IconEmpathizeOff, + IconEmphasis, + IconEngine, + IconEngineOff, + IconEPassport, + IconEqual, + IconEqualDouble, + IconEqualNot, + IconEraser, + IconEraserOff, + IconError404, + IconError404Off, + IconEscalator, + IconEscalatorDown, + IconEscalatorUp, + IconExchange, + IconExchangeOff, + IconExclamationCircle, + IconExclamationMark, + IconExclamationMarkOff, + IconExplicit, + IconExplicitOff, + IconExposure, + IconExposure0, + IconExposureMinus1, + IconExposureMinus2, + IconExposureOff, + IconExposurePlus1, + IconExposurePlus2, + IconExternalLink, + IconExternalLinkOff, + IconEye, + IconEyeBolt, + IconEyeCancel, + IconEyeCheck, + IconEyeClosed, + IconEyeCode, + IconEyeCog, + IconEyeDiscount, + IconEyeDollar, + IconEyeDown, + IconEyeEdit, + IconEyeExclamation, + IconEyeglass, + IconEyeglass2, + IconEyeglassOff, + IconEyeHeart, + IconEyeMinus, + IconEyeOff, + IconEyePause, + IconEyePin, + IconEyePlus, + IconEyeQuestion, + IconEyeSearch, + IconEyeShare, + IconEyeStar, + IconEyeTable, + IconEyeUp, + IconEyeX, + IconFaceId, + IconFaceIdError, + IconFaceMask, + IconFaceMaskOff, + IconFall, + IconFeather, + IconFeatherOff, + IconFence, + IconFenceOff, + IconFidgetSpinner, + IconFile, + IconFile3d, + IconFileAlert, + IconFileAnalytics, + IconFileArrowLeft, + IconFileArrowRight, + IconFileBarcode, + IconFileBroken, + IconFileCertificate, + IconFileChart, + IconFileCheck, + IconFileCode, + IconFileCode2, + IconFileCv, + IconFileDatabase, + IconFileDelta, + IconFileDescription, + IconFileDiff, + IconFileDigit, + IconFileDislike, + IconFileDollar, + IconFileDots, + IconFileDownload, + IconFileEuro, + IconFileExport, + IconFileFunction, + IconFileHorizontal, + IconFileImport, + IconFileInfinity, + IconFileInfo, + IconFileInvoice, + IconFileLambda, + IconFileLike, + IconFileMinus, + IconFileMusic, + IconFileOff, + IconFileOrientation, + IconFilePencil, + IconFilePercent, + IconFilePhone, + IconFilePlus, + IconFilePower, + IconFileReport, + IconFileRss, + IconFiles, + IconFileScissors, + IconFileSearch, + IconFileSettings, + IconFileShredder, + IconFileSignal, + IconFilesOff, + IconFileSpreadsheet, + IconFileStack, + IconFileStar, + IconFileSymlink, + IconFileText, + IconFileTextAi, + IconFileTime, + IconFileTypeBmp, + IconFileTypeCss, + IconFileTypeCsv, + IconFileTypeDoc, + IconFileTypeDocx, + IconFileTypeHtml, + IconFileTypeJpg, + IconFileTypeJs, + IconFileTypeJsx, + IconFileTypePdf, + IconFileTypePhp, + IconFileTypePng, + IconFileTypePpt, + IconFileTypeRs, + IconFileTypeSql, + IconFileTypeSvg, + IconFileTypeTs, + IconFileTypeTsx, + IconFileTypeTxt, + IconFileTypeVue, + IconFileTypeXls, + IconFileTypeXml, + IconFileTypeZip, + IconFileTypography, + IconFileUnknown, + IconFileUpload, + IconFileVector, + IconFileX, + IconFileZip, + IconFilter, + IconFilterBolt, + IconFilterCancel, + IconFilterCheck, + IconFilterCode, + IconFilterCog, + IconFilterDiscount, + IconFilterDollar, + IconFilterDown, + IconFilterEdit, + IconFilterExclamation, + IconFilterHeart, + IconFilterMinus, + IconFilterOff, + IconFilterPause, + IconFilterPin, + IconFilterPlus, + IconFilterQuestion, + IconFilters, + IconFilterSearch, + IconFilterShare, + IconFilterStar, + IconFilterUp, + IconFilterX, + IconFingerprint, + IconFingerprintOff, + IconFireExtinguisher, + IconFireHydrant, + IconFireHydrantOff, + IconFiretruck, + IconFirstAidKit, + IconFirstAidKitOff, + IconFish, + IconFishBone, + IconFishChristianity, + IconFishHook, + IconFishHookOff, + IconFishOff, + IconFlag, + IconFlag2, + IconFlag2Off, + IconFlag3, + IconFlagBolt, + IconFlagCancel, + IconFlagCheck, + IconFlagCode, + IconFlagCog, + IconFlagDiscount, + IconFlagDollar, + IconFlagDown, + IconFlagExclamation, + IconFlagHeart, + IconFlagMinus, + IconFlagOff, + IconFlagPause, + IconFlagPin, + IconFlagPlus, + IconFlagQuestion, + IconFlagSearch, + IconFlagShare, + IconFlagStar, + IconFlagUp, + IconFlagX, + IconFlame, + IconFlameOff, + IconFlare, + IconFlask, + IconFlask2, + IconFlask2Off, + IconFlaskOff, + IconFlipFlops, + IconFlipHorizontal, + IconFlipVertical, + IconFloatCenter, + IconFloatLeft, + IconFloatNone, + IconFloatRight, + IconFlower, + IconFlowerOff, + IconFocus, + IconFocus2, + IconFocusAuto, + IconFocusCentered, + IconFold, + IconFoldDown, + IconFolder, + IconFolderBolt, + IconFolderCancel, + IconFolderCheck, + IconFolderCode, + IconFolderCog, + IconFolderDollar, + IconFolderDown, + IconFolderExclamation, + IconFolderHeart, + IconFolderMinus, + IconFolderOff, + IconFolderOpen, + IconFolderPause, + IconFolderPin, + IconFolderPlus, + IconFolderQuestion, + IconFolders, + IconFolderSearch, + IconFolderShare, + IconFoldersOff, + IconFolderStar, + IconFolderSymlink, + IconFolderUp, + IconFolderX, + IconFoldUp, + IconForbid, + IconForbid2, + IconForklift, + IconForms, + IconFountain, + IconFountainOff, + IconFrame, + IconFrameOff, + IconFreeRights, + IconFreezeColumn, + IconFreezeRow, + IconFreezeRowColumn, + IconFridge, + IconFridgeOff, + IconFriends, + IconFriendsOff, + IconFrustum, + IconFrustumOff, + IconFrustumPlus, + IconFunction, + IconFunctionOff, + IconGardenCart, + IconGardenCartOff, + IconGasStation, + IconGasStationOff, + IconGauge, + IconGaugeOff, + IconGavel, + IconGenderAgender, + IconGenderAndrogyne, + IconGenderBigender, + IconGenderDemiboy, + IconGenderDemigirl, + IconGenderEpicene, + IconGenderFemale, + IconGenderFemme, + IconGenderGenderfluid, + IconGenderGenderless, + IconGenderGenderqueer, + IconGenderHermaphrodite, + IconGenderIntergender, + IconGenderMale, + IconGenderNeutrois, + IconGenderThird, + IconGenderTransgender, + IconGenderTrasvesti, + IconGeometry, + IconGhost, + IconGhost2, + IconGhost3, + IconGhostOff, + IconGif, + IconGift, + IconGiftCard, + IconGiftOff, + IconGitBranch, + IconGitBranchDeleted, + IconGitCherryPick, + IconGitCommit, + IconGitCompare, + IconGitFork, + IconGitMerge, + IconGitPullRequest, + IconGitPullRequestClosed, + IconGitPullRequestDraft, + IconGizmo, + IconGlass, + IconGlassFull, + IconGlassOff, + IconGlobe, + IconGlobeOff, + IconGoGame, + IconGolf, + IconGolfOff, + IconGps, + IconGradienter, + IconGrain, + IconGraph, + IconGraphOff, + IconGrave, + IconGrave2, + IconGridDots, + IconGridPattern, + IconGrill, + IconGrillFork, + IconGrillOff, + IconGrillSpatula, + IconGripHorizontal, + IconGripVertical, + IconGrowth, + IconGuitarPick, + IconH1, + IconH2, + IconH3, + IconH4, + IconH5, + IconH6, + IconHammer, + IconHammerOff, + IconHandClick, + IconHandFinger, + IconHandFingerOff, + IconHandGrab, + IconHandLittleFinger, + IconHandMiddleFinger, + IconHandMove, + IconHandOff, + IconHandRingFinger, + IconHandRock, + IconHandSanitizer, + IconHandStop, + IconHandThreeFingers, + IconHandTwoFingers, + IconHanger, + IconHanger2, + IconHangerOff, + IconHash, + IconHaze, + IconHazeMoon, + IconHdr, + IconHeading, + IconHeadingOff, + IconHeadphones, + IconHeadphonesOff, + IconHeadset, + IconHeadsetOff, + IconHealthRecognition, + IconHeart, + IconHeartbeat, + IconHeartBolt, + IconHeartBroken, + IconHeartCancel, + IconHeartCheck, + IconHeartCode, + IconHeartCog, + IconHeartDiscount, + IconHeartDollar, + IconHeartDown, + IconHeartExclamation, + IconHeartHandshake, + IconHeartMinus, + IconHeartOff, + IconHeartPause, + IconHeartPin, + IconHeartPlus, + IconHeartQuestion, + IconHeartRateMonitor, + IconHearts, + IconHeartSearch, + IconHeartShare, + IconHeartsOff, + IconHeartStar, + IconHeartUp, + IconHeartX, + IconHelicopter, + IconHelicopterLanding, + IconHelmet, + IconHelmetOff, + IconHelp, + IconHelpCircle, + IconHelpHexagon, + IconHelpOctagon, + IconHelpOff, + IconHelpSmall, + IconHelpSquare, + IconHelpSquareRounded, + IconHelpTriangle, + IconHemisphere, + IconHemisphereOff, + IconHemispherePlus, + IconHexagon, + IconHexagon3d, + IconHexagonalPrism, + IconHexagonalPrismOff, + IconHexagonalPrismPlus, + IconHexagonalPyramid, + IconHexagonalPyramidOff, + IconHexagonalPyramidPlus, + IconHexagonLetterA, + IconHexagonLetterB, + IconHexagonLetterC, + IconHexagonLetterD, + IconHexagonLetterE, + IconHexagonLetterF, + IconHexagonLetterG, + IconHexagonLetterH, + IconHexagonLetterI, + IconHexagonLetterJ, + IconHexagonLetterK, + IconHexagonLetterL, + IconHexagonLetterM, + IconHexagonLetterN, + IconHexagonLetterO, + IconHexagonLetterP, + IconHexagonLetterQ, + IconHexagonLetterR, + IconHexagonLetterS, + IconHexagonLetterT, + IconHexagonLetterU, + IconHexagonLetterV, + IconHexagonLetterW, + IconHexagonLetterX, + IconHexagonLetterY, + IconHexagonLetterZ, + IconHexagonNumber0, + IconHexagonNumber1, + IconHexagonNumber2, + IconHexagonNumber3, + IconHexagonNumber4, + IconHexagonNumber5, + IconHexagonNumber6, + IconHexagonNumber7, + IconHexagonNumber8, + IconHexagonNumber9, + IconHexagonOff, + IconHexagons, + IconHexagonsOff, + IconHierarchy, + IconHierarchy2, + IconHierarchy3, + IconHierarchyOff, + IconHighlight, + IconHighlightOff, + IconHistory, + IconHistoryOff, + IconHistoryToggle, + IconHome, + IconHome2, + IconHomeBolt, + IconHomeCancel, + IconHomeCheck, + IconHomeCog, + IconHomeDollar, + IconHomeDot, + IconHomeDown, + IconHomeEco, + IconHomeEdit, + IconHomeExclamation, + IconHomeHand, + IconHomeHeart, + IconHomeInfinity, + IconHomeLink, + IconHomeMinus, + IconHomeMove, + IconHomeOff, + IconHomePlus, + IconHomeQuestion, + IconHomeRibbon, + IconHomeSearch, + IconHomeShare, + IconHomeShield, + IconHomeSignal, + IconHomeStar, + IconHomeStats, + IconHomeUp, + IconHomeX, + IconHorseToy, + IconHotelService, + IconHourglass, + IconHourglassEmpty, + IconHourglassHigh, + IconHourglassLow, + IconHourglassOff, + IconHtml, + IconHttpConnect, + IconHttpDelete, + IconHttpGet, + IconHttpHead, + IconHttpOptions, + IconHttpPatch, + IconHttpPost, + IconHttpPut, + IconHttpQue, + IconHttpTrace, + IconIceCream, + IconIceCream2, + IconIceCreamOff, + IconIceSkating, + IconIcons, + IconIconsOff, + IconId, + IconIdBadge, + IconIdBadge2, + IconIdBadgeOff, + IconIdOff, + IconInbox, + IconInboxOff, + IconIndentDecrease, + IconIndentIncrease, + IconInfinity, + IconInfinityOff, + IconInfoCircle, + IconInfoHexagon, + IconInfoOctagon, + IconInfoSmall, + IconInfoSquare, + IconInfoSquareRounded, + IconInfoTriangle, + IconInnerShadowBottom, + IconInnerShadowBottomLeft, + IconInnerShadowBottomRight, + IconInnerShadowLeft, + IconInnerShadowRight, + IconInnerShadowTop, + IconInnerShadowTopLeft, + IconInnerShadowTopRight, + IconInputSearch, + IconIroning, + IconIroning1, + IconIroning2, + IconIroning3, + IconIroningOff, + IconIroningSteam, + IconIroningSteamOff, + IconIrregularPolyhedron, + IconIrregularPolyhedronOff, + IconIrregularPolyhedronPlus, + IconItalic, + IconJacket, + IconJetpack, + IconJewishStar, + IconJpg, + IconJson, + IconJumpRope, + IconKarate, + IconKayak, + IconKering, + IconKey, + IconKeyboard, + IconKeyboardHide, + IconKeyboardOff, + IconKeyboardShow, + IconKeyframe, + IconKeyframeAlignCenter, + IconKeyframeAlignHorizontal, + IconKeyframeAlignVertical, + IconKeyframes, + IconKeyOff, + IconLadder, + IconLadderOff, + IconLadle, + IconLambda, + IconLamp, + IconLamp2, + IconLampOff, + IconLane, + IconLanguage, + IconLanguageHiragana, + IconLanguageKatakana, + IconLanguageOff, + IconLasso, + IconLassoOff, + IconLassoPolygon, + IconLayersDifference, + IconLayersIntersect, + IconLayersIntersect2, + IconLayersLinked, + IconLayersOff, + IconLayersSubtract, + IconLayersUnion, + IconLayout, + IconLayout2, + IconLayoutAlignBottom, + IconLayoutAlignCenter, + IconLayoutAlignLeft, + IconLayoutAlignMiddle, + IconLayoutAlignRight, + IconLayoutAlignTop, + IconLayoutBoard, + IconLayoutBoardSplit, + IconLayoutBottombar, + IconLayoutBottombarCollapse, + IconLayoutBottombarExpand, + IconLayoutCards, + IconLayoutCollage, + IconLayoutColumns, + IconLayoutDashboard, + IconLayoutDistributeHorizontal, + IconLayoutDistributeVertical, + IconLayoutGrid, + IconLayoutGridAdd, + IconLayoutGridRemove, + IconLayoutKanban, + IconLayoutList, + IconLayoutNavbar, + IconLayoutNavbarCollapse, + IconLayoutNavbarExpand, + IconLayoutOff, + IconLayoutRows, + IconLayoutSidebar, + IconLayoutSidebarLeftCollapse, + IconLayoutSidebarLeftExpand, + IconLayoutSidebarRight, + IconLayoutSidebarRightCollapse, + IconLayoutSidebarRightExpand, + IconLeaf, + IconLeafOff, + IconLego, + IconLegoOff, + IconLemon, + IconLemon2, + IconLetterA, + IconLetterB, + IconLetterC, + IconLetterCase, + IconLetterCaseLower, + IconLetterCaseToggle, + IconLetterCaseUpper, + IconLetterD, + IconLetterE, + IconLetterF, + IconLetterG, + IconLetterH, + IconLetterI, + IconLetterJ, + IconLetterK, + IconLetterL, + IconLetterM, + IconLetterN, + IconLetterO, + IconLetterP, + IconLetterQ, + IconLetterR, + IconLetterS, + IconLetterSpacing, + IconLetterT, + IconLetterU, + IconLetterV, + IconLetterW, + IconLetterX, + IconLetterY, + IconLetterZ, + IconLicense, + IconLicenseOff, + IconLifebuoy, + IconLifebuoyOff, + IconLighter, + IconLine, + IconLineDashed, + IconLineDotted, + IconLineHeight, + IconLink, + IconLinkOff, + IconList, + IconListCheck, + IconListDetails, + IconListNumbers, + IconListSearch, + IconListTree, + IconLivePhoto, + IconLivePhotoOff, + IconLiveView, + IconLoadBalancer, + IconLoader, + IconLoader2, + IconLoader3, + IconLoaderQuarter, + IconLocation, + IconLocationBolt, + IconLocationBroken, + IconLocationCancel, + IconLocationCheck, + IconLocationCode, + IconLocationCog, + IconLocationDiscount, + IconLocationDollar, + IconLocationDown, + IconLocationExclamation, + IconLocationHeart, + IconLocationMinus, + IconLocationOff, + IconLocationPause, + IconLocationPin, + IconLocationPlus, + IconLocationQuestion, + IconLocationSearch, + IconLocationShare, + IconLocationStar, + IconLocationUp, + IconLocationX, + IconLock, + IconLockAccess, + IconLockAccessOff, + IconLockBolt, + IconLockCancel, + IconLockCheck, + IconLockCode, + IconLockCog, + IconLockDollar, + IconLockDown, + IconLockExclamation, + IconLockHeart, + IconLockMinus, + IconLockOff, + IconLockOpen, + IconLockOpenOff, + IconLockPause, + IconLockPin, + IconLockPlus, + IconLockQuestion, + IconLockSearch, + IconLockShare, + IconLockSquare, + IconLockSquareRounded, + IconLockStar, + IconLockUp, + IconLockX, + IconLogicAnd, + IconLogicBuffer, + IconLogicNand, + IconLogicNor, + IconLogicNot, + IconLogicOr, + IconLogicXnor, + IconLogicXor, + IconLogin, + IconLogout, + IconLogout2, + IconLollipop, + IconLollipopOff, + IconLuggage, + IconLuggageOff, + IconLungs, + IconLungsOff, + IconMacro, + IconMacroOff, + IconMagnet, + IconMagnetOff, + IconMail, + IconMailAi, + IconMailBolt, + IconMailbox, + IconMailboxOff, + IconMailCancel, + IconMailCheck, + IconMailCode, + IconMailCog, + IconMailDollar, + IconMailDown, + IconMailExclamation, + IconMailFast, + IconMailForward, + IconMailHeart, + IconMailMinus, + IconMailOff, + IconMailOpened, + IconMailPause, + IconMailPin, + IconMailPlus, + IconMailQuestion, + IconMailSearch, + IconMailShare, + IconMailStar, + IconMailUp, + IconMailX, + IconMan, + IconManualGearbox, + IconMap, + IconMap2, + IconMapBolt, + IconMapCancel, + IconMapCheck, + IconMapCode, + IconMapCog, + IconMapDiscount, + IconMapDollar, + IconMapDown, + IconMapExclamation, + IconMapHeart, + IconMapMinus, + IconMapOff, + IconMapPause, + IconMapPin, + IconMapPinBolt, + IconMapPinCancel, + IconMapPinCheck, + IconMapPinCode, + IconMapPinCog, + IconMapPinDollar, + IconMapPinDown, + IconMapPinExclamation, + IconMapPinHeart, + IconMapPinMinus, + IconMapPinOff, + IconMapPinPause, + IconMapPinPin, + IconMapPinPlus, + IconMapPinQuestion, + IconMapPins, + IconMapPinSearch, + IconMapPinShare, + IconMapPinStar, + IconMapPinUp, + IconMapPinX, + IconMapPlus, + IconMapQuestion, + IconMapSearch, + IconMapShare, + IconMapStar, + IconMapUp, + IconMapX, + IconMarkdown, + IconMarkdownOff, + IconMarquee, + IconMarquee2, + IconMarqueeOff, + IconMars, + IconMask, + IconMaskOff, + IconMasksTheater, + IconMasksTheaterOff, + IconMassage, + IconMatchstick, + IconMath, + IconMath1Divide2, + IconMath1Divide3, + IconMathAvg, + IconMathEqualGreater, + IconMathEqualLower, + IconMathFunction, + IconMathFunctionOff, + IconMathFunctionY, + IconMathGreater, + IconMathIntegral, + IconMathIntegrals, + IconMathIntegralX, + IconMathLower, + IconMathMax, + IconMathMin, + IconMathNot, + IconMathOff, + IconMathPi, + IconMathPiDivide2, + IconMathSymbols, + IconMathXDivide2, + IconMathXDivideY, + IconMathXDivideY2, + IconMathXMinusX, + IconMathXMinusY, + IconMathXPlusX, + IconMathXPlusY, + IconMathXy, + IconMathYMinusY, + IconMathYPlusY, + IconMaximize, + IconMaximizeOff, + IconMeat, + IconMeatOff, + IconMedal, + IconMedal2, + IconMedicalCross, + IconMedicalCrossCircle, + IconMedicalCrossOff, + IconMedicineSyrup, + IconMeeple, + IconMenorah, + IconMenu, + IconMenu2, + IconMenuDeep, + IconMenuOrder, + IconMessage, + IconMessage2, + IconMessage2Bolt, + IconMessage2Cancel, + IconMessage2Check, + IconMessage2Code, + IconMessage2Cog, + IconMessage2Dollar, + IconMessage2Down, + IconMessage2Exclamation, + IconMessage2Heart, + IconMessage2Minus, + IconMessage2Off, + IconMessage2Pause, + IconMessage2Pin, + IconMessage2Plus, + IconMessage2Question, + IconMessage2Search, + IconMessage2Share, + IconMessage2Star, + IconMessage2Up, + IconMessage2X, + IconMessageBolt, + IconMessageCancel, + IconMessageChatbot, + IconMessageCheck, + IconMessageCircle, + IconMessageCircle2, + IconMessageCircleBolt, + IconMessageCircleCancel, + IconMessageCircleCheck, + IconMessageCircleCode, + IconMessageCircleCog, + IconMessageCircleDollar, + IconMessageCircleDown, + IconMessageCircleExclamation, + IconMessageCircleHeart, + IconMessageCircleMinus, + IconMessageCircleOff, + IconMessageCirclePause, + IconMessageCirclePin, + IconMessageCirclePlus, + IconMessageCircleQuestion, + IconMessageCircleSearch, + IconMessageCircleShare, + IconMessageCircleStar, + IconMessageCircleUp, + IconMessageCircleX, + IconMessageCode, + IconMessageCog, + IconMessageDollar, + IconMessageDots, + IconMessageDown, + IconMessageExclamation, + IconMessageForward, + IconMessageHeart, + IconMessageLanguage, + IconMessageMinus, + IconMessageOff, + IconMessagePause, + IconMessagePin, + IconMessagePlus, + IconMessageQuestion, + IconMessageReport, + IconMessages, + IconMessageSearch, + IconMessageShare, + IconMessagesOff, + IconMessageStar, + IconMessageUp, + IconMessageX, + IconMeteor, + IconMeteorOff, + IconMichelinBibGourmand, + IconMichelinStar, + IconMichelinStarGreen, + IconMickey, + IconMicrophone, + IconMicrophone2, + IconMicrophone2Off, + IconMicrophoneOff, + IconMicroscope, + IconMicroscopeOff, + IconMicrowave, + IconMicrowaveOff, + IconMilitaryAward, + IconMilitaryRank, + IconMilk, + IconMilkOff, + IconMilkshake, + IconMinimize, + IconMinus, + IconMinusVertical, + IconMist, + IconMistOff, + IconMobiledata, + IconMobiledataOff, + IconMoneybag, + IconMoodAngry, + IconMoodAnnoyed, + IconMoodAnnoyed2, + IconMoodBoy, + IconMoodCheck, + IconMoodCog, + IconMoodConfuzed, + IconMoodCrazyHappy, + IconMoodCry, + IconMoodDollar, + IconMoodEdit, + IconMoodEmpty, + IconMoodHappy, + IconMoodHeart, + IconMoodKid, + IconMoodLookLeft, + IconMoodLookRight, + IconMoodMinus, + IconMoodNerd, + IconMoodNervous, + IconMoodNeutral, + IconMoodOff, + IconMoodPin, + IconMoodPlus, + IconMoodSad, + IconMoodSad2, + IconMoodSadDizzy, + IconMoodSadSquint, + IconMoodSearch, + IconMoodShare, + IconMoodSick, + IconMoodSilence, + IconMoodSing, + IconMoodSmile, + IconMoodSmileBeam, + IconMoodSmileDizzy, + IconMoodSuprised, + IconMoodTongue, + IconMoodTongueWink, + IconMoodTongueWink2, + IconMoodUnamused, + IconMoodUp, + IconMoodWink, + IconMoodWink2, + IconMoodWrrr, + IconMoodX, + IconMoodXd, + IconMoon, + IconMoon2, + IconMoonOff, + IconMoonStars, + IconMoped, + IconMotorbike, + IconMountain, + IconMountainOff, + IconMouse, + IconMouse2, + IconMouseOff, + IconMoustache, + IconMovie, + IconMovieOff, + IconMug, + IconMugOff, + IconMultiplier1x, + IconMultiplier2x, + IconMultiplier05x, + IconMultiplier15x, + IconMushroom, + IconMushroomOff, + IconMusic, + IconMusicBolt, + IconMusicCancel, + IconMusicCheck, + IconMusicCode, + IconMusicCog, + IconMusicDiscount, + IconMusicDollar, + IconMusicDown, + IconMusicExclamation, + IconMusicHeart, + IconMusicMinus, + IconMusicOff, + IconMusicPause, + IconMusicPin, + IconMusicPlus, + IconMusicQuestion, + IconMusicSearch, + IconMusicShare, + IconMusicStar, + IconMusicUp, + IconMusicX, + IconNavigation, + IconNavigationBolt, + IconNavigationCancel, + IconNavigationCheck, + IconNavigationCode, + IconNavigationCog, + IconNavigationDiscount, + IconNavigationDollar, + IconNavigationDown, + IconNavigationExclamation, + IconNavigationHeart, + IconNavigationMinus, + IconNavigationNorth, + IconNavigationOff, + IconNavigationPause, + IconNavigationPin, + IconNavigationPlus, + IconNavigationQuestion, + IconNavigationSearch, + IconNavigationShare, + IconNavigationStar, + IconNavigationUp, + IconNavigationX, + IconNeedle, + IconNeedleThread, + IconNetwork, + IconNetworkOff, + IconNews, + IconNewSection, + IconNewsOff, + IconNfc, + IconNfcOff, + IconNoCopyright, + IconNoCreativeCommons, + IconNoDerivatives, + IconNorthStar, + IconNote, + IconNotebook, + IconNotebookOff, + IconNoteOff, + IconNotes, + IconNotesOff, + IconNotification, + IconNotificationOff, + IconNumber, + IconNumber0, + IconNumber1, + IconNumber2, + IconNumber3, + IconNumber4, + IconNumber5, + IconNumber6, + IconNumber7, + IconNumber8, + IconNumber9, + IconNumbers, + IconNurse, + IconOctagon, + IconOctagonOff, + IconOctahedron, + IconOctahedronOff, + IconOctahedronPlus, + IconOld, + IconOlympics, + IconOlympicsOff, + IconOm, + IconOmega, + IconOutbound, + IconOutlet, + IconOval, + IconOvalVertical, + IconOverline, + IconPackage, + IconPackageExport, + IconPackageImport, + IconPackageOff, + IconPackages, + IconPacman, + IconPageBreak, + IconPaint, + IconPaintOff, + IconPalette, + IconPaletteOff, + IconPanoramaHorizontal, + IconPanoramaHorizontalOff, + IconPanoramaVertical, + IconPanoramaVerticalOff, + IconPaperBag, + IconPaperBagOff, + IconPaperclip, + IconParachute, + IconParachuteOff, + IconParentheses, + IconParenthesesOff, + IconParking, + IconParkingOff, + IconPassword, + IconPaw, + IconPawOff, + IconPdf, + IconPeace, + IconPencil, + IconPencilBolt, + IconPencilCancel, + IconPencilCheck, + IconPencilCode, + IconPencilCog, + IconPencilDiscount, + IconPencilDollar, + IconPencilDown, + IconPencilExclamation, + IconPencilHeart, + IconPencilMinus, + IconPencilOff, + IconPencilPause, + IconPencilPin, + IconPencilPlus, + IconPencilQuestion, + IconPencilSearch, + IconPencilShare, + IconPencilStar, + IconPencilUp, + IconPencilX, + IconPennant, + IconPennant2, + IconPennantOff, + IconPentagon, + IconPentagonOff, + IconPentagram, + IconPepper, + IconPepperOff, + IconPercentage, + IconPerfume, + IconPerspective, + IconPerspectiveOff, + IconPhone, + IconPhoneCall, + IconPhoneCalling, + IconPhoneCheck, + IconPhoneIncoming, + IconPhoneOff, + IconPhoneOutgoing, + IconPhonePause, + IconPhonePlus, + IconPhoneX, + IconPhoto, + IconPhotoAi, + IconPhotoBolt, + IconPhotoCancel, + IconPhotoCheck, + IconPhotoCode, + IconPhotoCog, + IconPhotoDollar, + IconPhotoDown, + IconPhotoEdit, + IconPhotoExclamation, + IconPhotoHeart, + IconPhotoMinus, + IconPhotoOff, + IconPhotoPause, + IconPhotoPin, + IconPhotoPlus, + IconPhotoQuestion, + IconPhotoSearch, + IconPhotoSensor, + IconPhotoSensor2, + IconPhotoSensor3, + IconPhotoShare, + IconPhotoShield, + IconPhotoStar, + IconPhotoUp, + IconPhotoX, + IconPhysotherapist, + IconPiano, + IconPick, + IconPictureInPicture, + IconPictureInPictureOff, + IconPictureInPictureOn, + IconPictureInPictureTop, + IconPig, + IconPigMoney, + IconPigOff, + IconPilcrow, + IconPill, + IconPillOff, + IconPills, + IconPin, + IconPingPong, + IconPinned, + IconPinnedOff, + IconPizza, + IconPizzaOff, + IconPlaceholder, + IconPlane, + IconPlaneArrival, + IconPlaneDeparture, + IconPlaneInflight, + IconPlaneOff, + IconPlanet, + IconPlaneTilt, + IconPlanetOff, + IconPlant, + IconPlant2, + IconPlant2Off, + IconPlantOff, + IconPlayBasketball, + IconPlayCard, + IconPlayCardOff, + IconPlayerEject, + IconPlayerPause, + IconPlayerPlay, + IconPlayerRecord, + IconPlayerSkipBack, + IconPlayerSkipForward, + IconPlayerStop, + IconPlayerTrackNext, + IconPlayerTrackPrev, + IconPlayFootball, + IconPlayHandball, + IconPlaylist, + IconPlaylistAdd, + IconPlaylistOff, + IconPlaylistX, + IconPlaystationCircle, + IconPlaystationSquare, + IconPlaystationTriangle, + IconPlaystationX, + IconPlayVolleyball, + IconPlug, + IconPlugConnected, + IconPlugConnectedX, + IconPlugOff, + IconPlugX, + IconPlus, + IconPlusEqual, + IconPlusMinus, + IconPng, + IconPodium, + IconPodiumOff, + IconPoint, + IconPointer, + IconPointerBolt, + IconPointerCancel, + IconPointerCheck, + IconPointerCode, + IconPointerCog, + IconPointerDollar, + IconPointerDown, + IconPointerExclamation, + IconPointerHeart, + IconPointerMinus, + IconPointerOff, + IconPointerPause, + IconPointerPin, + IconPointerPlus, + IconPointerQuestion, + IconPointerSearch, + IconPointerShare, + IconPointerStar, + IconPointerUp, + IconPointerX, + IconPointOff, + IconPokeball, + IconPokeballOff, + IconPokerChip, + IconPolaroid, + IconPolygon, + IconPolygonOff, + IconPoo, + IconPool, + IconPoolOff, + IconPower, + IconPray, + IconPremiumRights, + IconPrescription, + IconPresentation, + IconPresentationAnalytics, + IconPresentationOff, + IconPrinter, + IconPrinterOff, + IconPrism, + IconPrismOff, + IconPrismPlus, + IconPrison, + IconProgress, + IconProgressAlert, + IconProgressBolt, + IconProgressCheck, + IconProgressDown, + IconProgressHelp, + IconProgressX, + IconPrompt, + IconPropeller, + IconPropellerOff, + IconPumpkinScary, + IconPuzzle, + IconPuzzle2, + IconPuzzleOff, + IconPyramid, + IconPyramidOff, + IconPyramidPlus, + IconQrcode, + IconQrcodeOff, + IconQuestionMark, + IconQuote, + IconQuoteOff, + IconQuotes, + IconRadar, + IconRadar2, + IconRadarOff, + IconRadio, + IconRadioactive, + IconRadioactiveOff, + IconRadioOff, + IconRadiusBottomLeft, + IconRadiusBottomRight, + IconRadiusTopLeft, + IconRadiusTopRight, + IconRainbow, + IconRainbowOff, + IconRating12Plus, + IconRating14Plus, + IconRating16Plus, + IconRating18Plus, + IconRating21Plus, + IconRazor, + IconRazorElectric, + IconReceipt, + IconReceipt2, + IconReceiptOff, + IconReceiptRefund, + IconReceiptTax, + IconRecharging, + IconRecordMail, + IconRecordMailOff, + IconRectangle, + IconRectangleRoundedBottom, + IconRectangleRoundedTop, + IconRectangleVertical, + IconRectangularPrism, + IconRectangularPrismOff, + IconRectangularPrismPlus, + IconRecycle, + IconRecycleOff, + IconRefresh, + IconRefreshAlert, + IconRefreshDot, + IconRefreshOff, + IconRegex, + IconRegexOff, + IconRegistered, + IconRelationManyToMany, + IconRelationOneToMany, + IconRelationOneToOne, + IconReload, + IconReorder, + IconRepeat, + IconRepeatOff, + IconRepeatOnce, + IconReplace, + IconReplaceOff, + IconReport, + IconReportAnalytics, + IconReportMedical, + IconReportMoney, + IconReportOff, + IconReportSearch, + IconReservedLine, + IconResize, + IconRestore, + IconRewindBackward5, + IconRewindBackward10, + IconRewindBackward15, + IconRewindBackward20, + IconRewindBackward30, + IconRewindBackward40, + IconRewindBackward50, + IconRewindBackward60, + IconRewindForward5, + IconRewindForward10, + IconRewindForward15, + IconRewindForward20, + IconRewindForward30, + IconRewindForward40, + IconRewindForward50, + IconRewindForward60, + IconRibbonHealth, + IconRings, + IconRipple, + IconRippleOff, + IconRoad, + IconRoadOff, + IconRoadSign, + IconRobot, + IconRobotOff, + IconRocket, + IconRocketOff, + IconRollercoaster, + IconRollercoasterOff, + IconRollerSkating, + IconRosette, + IconRosetteNumber0, + IconRosetteNumber1, + IconRosetteNumber2, + IconRosetteNumber3, + IconRosetteNumber4, + IconRosetteNumber5, + IconRosetteNumber6, + IconRosetteNumber7, + IconRosetteNumber8, + IconRosetteNumber9, + IconRotate, + IconRotate2, + IconRotate360, + IconRotateClockwise, + IconRotateClockwise2, + IconRotateDot, + IconRotateRectangle, + IconRoute, + IconRoute2, + IconRouteOff, + IconRouter, + IconRouterOff, + IconRowInsertBottom, + IconRowInsertTop, + IconRowRemove, + IconRss, + IconRubberStamp, + IconRubberStampOff, + IconRuler, + IconRuler2, + IconRuler2Off, + IconRuler3, + IconRulerMeasure, + IconRulerOff, + IconRun, + IconSailboat, + IconSailboat2, + IconSailboatOff, + IconSalad, + IconSalt, + IconSatellite, + IconSatelliteOff, + IconSausage, + IconScale, + IconScaleOff, + IconScaleOutline, + IconScaleOutlineOff, + IconScan, + IconScanEye, + IconSchema, + IconSchemaOff, + IconSchool, + IconSchoolBell, + IconSchoolOff, + IconScissors, + IconScissorsOff, + IconScooter, + IconScooterElectric, + IconScoreboard, + IconScreenShare, + IconScreenShareOff, + IconScreenshot, + IconScribble, + IconScribbleOff, + IconScript, + IconScriptMinus, + IconScriptPlus, + IconScriptX, + IconScubaMask, + IconScubaMaskOff, + IconSdk, + IconSearch, + IconSearchOff, + IconSection, + IconSectionSign, + IconSeeding, + IconSeedingOff, + IconSelect, + IconSelectAll, + IconSelector, + IconSend, + IconSendOff, + IconSeo, + IconSeparator, + IconSeparatorHorizontal, + IconSeparatorVertical, + IconServer, + IconServer2, + IconServerBolt, + IconServerCog, + IconServerOff, + IconServicemark, + IconSettings, + IconSettings2, + IconSettingsAutomation, + IconSettingsBolt, + IconSettingsCancel, + IconSettingsCheck, + IconSettingsCode, + IconSettingsCog, + IconSettingsDollar, + IconSettingsDown, + IconSettingsExclamation, + IconSettingsHeart, + IconSettingsMinus, + IconSettingsOff, + IconSettingsPause, + IconSettingsPin, + IconSettingsPlus, + IconSettingsQuestion, + IconSettingsSearch, + IconSettingsShare, + IconSettingsStar, + IconSettingsUp, + IconSettingsX, + IconShadow, + IconShadowOff, + IconShape, + IconShape2, + IconShape3, + IconShapeOff, + IconShare, + IconShare2, + IconShare3, + IconShareOff, + IconShield, + IconShieldBolt, + IconShieldCancel, + IconShieldCheck, + IconShieldCheckered, + IconShieldChevron, + IconShieldCode, + IconShieldCog, + IconShieldDollar, + IconShieldDown, + IconShieldExclamation, + IconShieldHalf, + IconShieldHeart, + IconShieldLock, + IconShieldMinus, + IconShieldOff, + IconShieldPause, + IconShieldPin, + IconShieldPlus, + IconShieldQuestion, + IconShieldSearch, + IconShieldShare, + IconShieldStar, + IconShieldUp, + IconShieldX, + IconShiJumping, + IconShip, + IconShipOff, + IconShirt, + IconShirtOff, + IconShirtSport, + IconShoe, + IconShoeOff, + IconShoppingBag, + IconShoppingBagCheck, + IconShoppingBagDiscount, + IconShoppingBagEdit, + IconShoppingBagExclamation, + IconShoppingBagMinus, + IconShoppingBagPlus, + IconShoppingBagSearch, + IconShoppingBagX, + IconShoppingCart, + IconShoppingCartBolt, + IconShoppingCartCancel, + IconShoppingCartCheck, + IconShoppingCartCode, + IconShoppingCartCog, + IconShoppingCartCopy, + IconShoppingCartDiscount, + IconShoppingCartDollar, + IconShoppingCartDown, + IconShoppingCartExclamation, + IconShoppingCartHeart, + IconShoppingCartMinus, + IconShoppingCartOff, + IconShoppingCartPause, + IconShoppingCartPin, + IconShoppingCartPlus, + IconShoppingCartQuestion, + IconShoppingCartSearch, + IconShoppingCartShare, + IconShoppingCartStar, + IconShoppingCartUp, + IconShoppingCartX, + IconShovel, + IconShredder, + IconSignal2g, + IconSignal3g, + IconSignal4g, + IconSignal4gPlus, + IconSignal5g, + IconSignal6g, + IconSignalE, + IconSignalG, + IconSignalH, + IconSignalHPlus, + IconSignalLte, + IconSignature, + IconSignatureOff, + IconSignLeft, + IconSignRight, + IconSitemap, + IconSitemapOff, + IconSkateboard, + IconSkateboarding, + IconSkateboardOff, + IconSkull, + IconSlash, + IconSlashes, + IconSleigh, + IconSlice, + IconSlideshow, + IconSmartHome, + IconSmartHomeOff, + IconSmoking, + IconSmokingNo, + IconSnowflake, + IconSnowflakeOff, + IconSnowman, + IconSoccerField, + IconSocial, + IconSocialOff, + IconSock, + IconSofa, + IconSofaOff, + IconSolarPanel, + IconSolarPanel2, + IconSort09, + IconSort90, + IconSortAscending, + IconSortAscending2, + IconSortAscendingLetters, + IconSortAscendingNumbers, + IconSortAZ, + IconSortDescending, + IconSortDescending2, + IconSortDescendingLetters, + IconSortDescendingNumbers, + IconSortZA, + IconSos, + IconSoup, + IconSoupOff, + IconSourceCode, + IconSpace, + IconSpaceOff, + IconSpacingHorizontal, + IconSpacingVertical, + IconSpade, + IconSparkles, + IconSpeakerphone, + IconSpeedboat, + IconSphere, + IconSphereOff, + IconSpherePlus, + IconSpider, + IconSpiral, + IconSpiralOff, + IconSportBillard, + IconSpray, + IconSpy, + IconSpyOff, + IconSql, + IconSquare, + IconSquareArrowDown, + IconSquareArrowLeft, + IconSquareArrowRight, + IconSquareArrowUp, + IconSquareAsterisk, + IconSquareCheck, + IconSquareChevronDown, + IconSquareChevronLeft, + IconSquareChevronRight, + IconSquareChevronsDown, + IconSquareChevronsLeft, + IconSquareChevronsRight, + IconSquareChevronsUp, + IconSquareChevronUp, + IconSquareDot, + IconSquareF0, + IconSquareF1, + IconSquareF2, + IconSquareF3, + IconSquareF4, + IconSquareF5, + IconSquareF6, + IconSquareF7, + IconSquareF8, + IconSquareF9, + IconSquareForbid, + IconSquareForbid2, + IconSquareHalf, + IconSquareKey, + IconSquareLetterA, + IconSquareLetterB, + IconSquareLetterC, + IconSquareLetterD, + IconSquareLetterE, + IconSquareLetterF, + IconSquareLetterG, + IconSquareLetterH, + IconSquareLetterI, + IconSquareLetterJ, + IconSquareLetterK, + IconSquareLetterL, + IconSquareLetterM, + IconSquareLetterN, + IconSquareLetterO, + IconSquareLetterP, + IconSquareLetterQ, + IconSquareLetterR, + IconSquareLetterS, + IconSquareLetterT, + IconSquareLetterU, + IconSquareLetterV, + IconSquareLetterW, + IconSquareLetterX, + IconSquareLetterY, + IconSquareLetterZ, + IconSquareMinus, + IconSquareNumber0, + IconSquareNumber1, + IconSquareNumber2, + IconSquareNumber3, + IconSquareNumber4, + IconSquareNumber5, + IconSquareNumber6, + IconSquareNumber7, + IconSquareNumber8, + IconSquareNumber9, + IconSquareOff, + IconSquarePlus, + IconSquareRoot, + IconSquareRoot2, + IconSquareRotated, + IconSquareRotatedForbid, + IconSquareRotatedForbid2, + IconSquareRotatedOff, + IconSquareRounded, + IconSquareRoundedArrowDown, + IconSquareRoundedArrowLeft, + IconSquareRoundedArrowRight, + IconSquareRoundedArrowUp, + IconSquareRoundedCheck, + IconSquareRoundedChevronDown, + IconSquareRoundedChevronLeft, + IconSquareRoundedChevronRight, + IconSquareRoundedChevronsDown, + IconSquareRoundedChevronsLeft, + IconSquareRoundedChevronsRight, + IconSquareRoundedChevronsUp, + IconSquareRoundedChevronUp, + IconSquareRoundedLetterA, + IconSquareRoundedLetterB, + IconSquareRoundedLetterC, + IconSquareRoundedLetterD, + IconSquareRoundedLetterE, + IconSquareRoundedLetterF, + IconSquareRoundedLetterG, + IconSquareRoundedLetterH, + IconSquareRoundedLetterI, + IconSquareRoundedLetterJ, + IconSquareRoundedLetterK, + IconSquareRoundedLetterL, + IconSquareRoundedLetterM, + IconSquareRoundedLetterN, + IconSquareRoundedLetterO, + IconSquareRoundedLetterP, + IconSquareRoundedLetterQ, + IconSquareRoundedLetterR, + IconSquareRoundedLetterS, + IconSquareRoundedLetterT, + IconSquareRoundedLetterU, + IconSquareRoundedLetterV, + IconSquareRoundedLetterW, + IconSquareRoundedLetterX, + IconSquareRoundedLetterY, + IconSquareRoundedLetterZ, + IconSquareRoundedMinus, + IconSquareRoundedNumber0, + IconSquareRoundedNumber1, + IconSquareRoundedNumber2, + IconSquareRoundedNumber3, + IconSquareRoundedNumber4, + IconSquareRoundedNumber5, + IconSquareRoundedNumber6, + IconSquareRoundedNumber7, + IconSquareRoundedNumber8, + IconSquareRoundedNumber9, + IconSquareRoundedPlus, + IconSquareRoundedX, + IconSquaresDiagonal, + IconSquareToggle, + IconSquareToggleHorizontal, + IconSquareX, + IconStack, + IconStack2, + IconStack3, + IconStackPop, + IconStackPush, + IconStairs, + IconStairsDown, + IconStairsUp, + IconStar, + IconStarHalf, + IconStarOff, + IconStars, + IconStarsOff, + IconStatusChange, + IconSteam, + IconSteeringWheel, + IconSteeringWheelOff, + IconStepInto, + IconStepOut, + IconStereoGlasses, + IconStethoscope, + IconStethoscopeOff, + IconSticker, + IconStorm, + IconStormOff, + IconStretching, + IconStretching2, + IconStrikethrough, + IconSTurnDown, + IconSTurnLeft, + IconSTurnRight, + IconSTurnUp, + IconSubmarine, + IconSubscript, + IconSubtask, + IconSum, + IconSumOff, + IconSun, + IconSunglasses, + IconSunHigh, + IconSunLow, + IconSunMoon, + IconSunOff, + IconSunrise, + IconSunset, + IconSunset2, + IconSunWind, + IconSuperscript, + IconSvg, + IconSwimming, + IconSwipe, + IconSwitch, + IconSwitch2, + IconSwitch3, + IconSwitchHorizontal, + IconSwitchVertical, + IconSword, + IconSwordOff, + IconSwords, + IconTable, + IconTableAlias, + IconTableColumn, + IconTableDown, + IconTableExport, + IconTableHeart, + IconTableImport, + IconTableMinus, + IconTableOff, + IconTableOptions, + IconTablePlus, + IconTableRow, + IconTableShare, + IconTableShortcut, + IconTag, + IconTagOff, + IconTags, + IconTagsOff, + IconTallymark1, + IconTallymark2, + IconTallymark3, + IconTallymark4, + IconTallymarks, + IconTank, + IconTarget, + IconTargetArrow, + IconTargetOff, + IconTeapot, + IconTelescope, + IconTelescopeOff, + IconTemperature, + IconTemperatureCelsius, + IconTemperatureFahrenheit, + IconTemperatureMinus, + IconTemperatureOff, + IconTemperaturePlus, + IconTemplate, + IconTemplateOff, + IconTent, + IconTentOff, + IconTerminal, + IconTerminal2, + IconTestPipe, + IconTestPipe2, + IconTestPipeOff, + IconTex, + IconTextCaption, + IconTextColor, + IconTextDecrease, + IconTextDirectionLtr, + IconTextDirectionRtl, + IconTextIncrease, + IconTextOrientation, + IconTextPlus, + IconTextRecognition, + IconTextResize, + IconTextSize, + IconTextSpellcheck, + IconTexture, + IconTextWrap, + IconTextWrapDisabled, + IconTheater, + IconThermometer, + IconThumbDown, + IconThumbDownOff, + IconThumbUp, + IconThumbUpOff, + IconTicket, + IconTicketOff, + IconTicTac, + IconTie, + IconTilde, + IconTiltShift, + IconTiltShiftOff, + IconTimeDuration0, + IconTimeDuration5, + IconTimeDuration10, + IconTimeDuration15, + IconTimeDuration30, + IconTimeDuration45, + IconTimeDuration60, + IconTimeDuration90, + IconTimeDurationOff, + IconTimeline, + IconTimelineEvent, + IconTimelineEventExclamation, + IconTimelineEventMinus, + IconTimelineEventPlus, + IconTimelineEventText, + IconTimelineEventX, + IconTir, + IconToggleLeft, + IconToggleRight, + IconToiletPaper, + IconToiletPaperOff, + IconToml, + IconTool, + IconTools, + IconToolsKitchen, + IconToolsKitchen2, + IconToolsKitchen2Off, + IconToolsKitchenOff, + IconToolsOff, + IconTooltip, + IconTopologyBus, + IconTopologyComplex, + IconTopologyFull, + IconTopologyFullHierarchy, + IconTopologyRing, + IconTopologyRing2, + IconTopologyRing3, + IconTopologyStar, + IconTopologyStar2, + IconTopologyStar3, + IconTopologyStarRing, + IconTopologyStarRing2, + IconTopologyStarRing3, + IconTorii, + IconTornado, + IconTournament, + IconTower, + IconTowerOff, + IconTrack, + IconTractor, + IconTrademark, + IconTrafficCone, + IconTrafficConeOff, + IconTrafficLights, + IconTrafficLightsOff, + IconTrain, + IconTransfer, + IconTransferIn, + IconTransferOut, + IconTransferVertical, + IconTransform, + IconTransitionBottom, + IconTransitionLeft, + IconTransitionRight, + IconTransitionTop, + IconTrash, + IconTrashOff, + IconTrashX, + IconTreadmill, + IconTree, + IconTrees, + IconTrekking, + IconTrendingDown, + IconTrendingDown2, + IconTrendingDown3, + IconTrendingUp, + IconTrendingUp2, + IconTrendingUp3, + IconTriangle, + IconTriangleInverted, + IconTriangleOff, + IconTriangles, + IconTriangleSquareCircle, + IconTrident, + IconTrolley, + IconTrophy, + IconTrophyOff, + IconTrowel, + IconTruck, + IconTruckDelivery, + IconTruckLoading, + IconTruckOff, + IconTruckReturn, + IconTxt, + IconTypography, + IconTypographyOff, + IconUfo, + IconUfoOff, + IconUmbrella, + IconUmbrellaOff, + IconUnderline, + IconUnlink, + IconUpload, + IconUrgent, + IconUsb, + IconUser, + IconUserBolt, + IconUserCancel, + IconUserCheck, + IconUserCircle, + IconUserCode, + IconUserCog, + IconUserDollar, + IconUserDown, + IconUserEdit, + IconUserExclamation, + IconUserHeart, + IconUserMinus, + IconUserOff, + IconUserPause, + IconUserPin, + IconUserPlus, + IconUserQuestion, + IconUsers, + IconUserSearch, + IconUsersGroup, + IconUserShare, + IconUserShield, + IconUsersMinus, + IconUsersPlus, + IconUserStar, + IconUserUp, + IconUserX, + IconUvIndex, + IconUxCircle, + IconVaccine, + IconVaccineBottle, + IconVaccineBottleOff, + IconVaccineOff, + IconVacuumCleaner, + IconVariable, + IconVariableMinus, + IconVariableOff, + IconVariablePlus, + IconVector, + IconVectorBezier, + IconVectorBezier2, + IconVectorBezierArc, + IconVectorBezierCircle, + IconVectorOff, + IconVectorSpline, + IconVectorTriangle, + IconVectorTriangleOff, + IconVenus, + IconVersions, + IconVersionsOff, + IconVideo, + IconVideoMinus, + IconVideoOff, + IconVideoPlus, + IconView360, + IconView360Off, + IconViewfinder, + IconViewfinderOff, + IconViewportNarrow, + IconViewportWide, + IconVinyl, + IconVip, + IconVipOff, + IconVirus, + IconVirusOff, + IconVirusSearch, + IconVocabulary, + IconVocabularyOff, + IconVolcano, + IconVolume, + IconVolume2, + IconVolume3, + IconVolumeOff, + IconWalk, + IconWall, + IconWallet, + IconWalletOff, + IconWallOff, + IconWallpaper, + IconWallpaperOff, + IconWand, + IconWandOff, + IconWash, + IconWashDry, + IconWashDry1, + IconWashDry2, + IconWashDry3, + IconWashDryA, + IconWashDryclean, + IconWashDrycleanOff, + IconWashDryDip, + IconWashDryF, + IconWashDryFlat, + IconWashDryHang, + IconWashDryOff, + IconWashDryP, + IconWashDryShade, + IconWashDryW, + IconWashEco, + IconWashGentle, + IconWashHand, + IconWashMachine, + IconWashOff, + IconWashPress, + IconWashTemperature1, + IconWashTemperature2, + IconWashTemperature3, + IconWashTemperature4, + IconWashTemperature5, + IconWashTemperature6, + IconWashTumbleDry, + IconWashTumbleOff, + IconWaterpolo, + IconWaveSawTool, + IconWaveSine, + IconWaveSquare, + IconWebhook, + IconWebhookOff, + IconWeight, + IconWheelchair, + IconWheelchairOff, + IconWhirl, + IconWifi, + IconWifi0, + IconWifi1, + IconWifi2, + IconWifiOff, + IconWind, + IconWindmill, + IconWindmillOff, + IconWindOff, + IconWindow, + IconWindowMaximize, + IconWindowMinimize, + IconWindowOff, + IconWindsock, + IconWiper, + IconWiperWash, + IconWoman, + IconWood, + IconWorld, + IconWorldBolt, + IconWorldCancel, + IconWorldCheck, + IconWorldCode, + IconWorldCog, + IconWorldDollar, + IconWorldDown, + IconWorldDownload, + IconWorldExclamation, + IconWorldHeart, + IconWorldLatitude, + IconWorldLongitude, + IconWorldMinus, + IconWorldOff, + IconWorldPause, + IconWorldPin, + IconWorldPlus, + IconWorldQuestion, + IconWorldSearch, + IconWorldShare, + IconWorldStar, + IconWorldUp, + IconWorldUpload, + IconWorldWww, + IconWorldX, + IconWreckingBall, + IconWriting, + IconWritingOff, + IconWritingSign, + IconWritingSignOff, + IconX, + IconXboxA, + IconXboxB, + IconXboxX, + IconXboxY, + IconXd, + IconXxx, + IconYinYang, + IconYoga, + IconZeppelin, + IconZeppelinOff, + IconZip, + IconZodiacAquarius, + IconZodiacAries, + IconZodiacCancer, + IconZodiacCapricorn, + IconZodiacGemini, + IconZodiacLeo, + IconZodiacLibra, + IconZodiacPisces, + IconZodiacSagittarius, + IconZodiacScorpio, + IconZodiacTaurus, + IconZodiacVirgo, + IconZoomCancel, + IconZoomCheck, + IconZoomCode, + IconZoomExclamation, + IconZoomIn, + IconZoomInArea, + IconZoomMoney, + IconZoomOut, + IconZoomOutArea, + IconZoomPan, + IconZoomQuestion, + IconZoomReplace, + IconZoomReset, + IconZzz, + IconZzzOff, +}; diff --git a/packages/twenty-front/src/modules/ui/display/icon/hooks/useIcons.ts b/packages/twenty-front/src/modules/ui/display/icon/hooks/useIcons.ts new file mode 100644 index 000000000..4efd71e7f --- /dev/null +++ b/packages/twenty-front/src/modules/ui/display/icon/hooks/useIcons.ts @@ -0,0 +1,20 @@ +import { useRecoilValue } from 'recoil'; + +import { Icon123 } from '@/ui/display/icon'; +import { iconsState } from '@/ui/display/icon/states/iconsState'; + +export const useIcons = () => { + const icons = useRecoilValue(iconsState); + const defaultIcon = Icon123; + + const getIcons = () => { + return icons; + }; + + const getIcon = (iconKey?: string | null) => { + if (!iconKey) return defaultIcon; + return icons[iconKey] ?? defaultIcon; + }; + + return { getIcons, getIcon }; +}; diff --git a/packages/twenty-front/src/modules/ui/display/icon/index.ts b/packages/twenty-front/src/modules/ui/display/icon/index.ts index 09482ee94..1499d728c 100644 --- a/packages/twenty-front/src/modules/ui/display/icon/index.ts +++ b/packages/twenty-front/src/modules/ui/display/icon/index.ts @@ -1,8 +1,10 @@ /* eslint-disable no-restricted-imports */ export type { TablerIconsProps } from '@tabler/icons-react'; export { + Icon123, IconAlertCircle, IconAlertTriangle, + IconApps, IconArchive, IconArchiveOff, IconArrowDown, @@ -36,19 +38,25 @@ export { IconCopy, IconCurrencyDollar, IconDatabase, + IconDeviceFloppy, IconDotsVertical, IconDownload, IconEye, IconEyeOff, + IconFile, IconFileCheck, IconFileImport, + IconFileText, IconFileUpload, + IconFileZip, IconForbid, IconGripVertical, + IconHeadphones, IconHeart, IconHeartOff, IconHelpCircle, IconHierarchy2, + IconInfoCircle, IconKey, IconLanguage, IconLayoutKanban, @@ -70,8 +78,10 @@ export { IconPaperclip, IconPencil, IconPhone, + IconPhoto, IconPlug, IconPlus, + IconPresentation, IconProgressCheck, IconRelationManyToMany, IconRelationOneToMany, @@ -80,6 +90,7 @@ export { IconRobot, IconSearch, IconSettings, + IconTable, IconTag, IconTarget, IconTargetArrow, @@ -90,5 +101,7 @@ export { IconUser, IconUserCircle, IconUsers, + IconVideo, + IconWorld, IconX, } from '@tabler/icons-react'; diff --git a/packages/twenty-front/src/modules/ui/input/states/iconsState.ts b/packages/twenty-front/src/modules/ui/display/icon/states/iconsState.ts similarity index 100% rename from packages/twenty-front/src/modules/ui/input/states/iconsState.ts rename to packages/twenty-front/src/modules/ui/display/icon/states/iconsState.ts diff --git a/packages/twenty-front/src/modules/ui/input/components/IconPicker.tsx b/packages/twenty-front/src/modules/ui/input/components/IconPicker.tsx index 6f25f637e..64ae26ddf 100644 --- a/packages/twenty-front/src/modules/ui/input/components/IconPicker.tsx +++ b/packages/twenty-front/src/modules/ui/input/components/IconPicker.tsx @@ -1,6 +1,8 @@ import { useMemo, useState } from 'react'; import styled from '@emotion/styled'; +import { IconApps } from '@/ui/display/icon'; +import { useIcons } from '@/ui/display/icon/hooks/useIcons'; import { IconComponent } from '@/ui/display/icon/types/IconComponent'; import { Dropdown } from '@/ui/layout/dropdown/components/Dropdown'; import { DropdownMenu } from '@/ui/layout/dropdown/components/DropdownMenu'; @@ -16,9 +18,6 @@ import { arrayToChunks } from '~/utils/array/array-to-chunks'; import { IconButton, IconButtonVariant } from '../button/components/IconButton'; import { LightIconButton } from '../button/components/LightIconButton'; -import { IconApps } from '../constants/icons'; -import { useLazyLoadIcons } from '../hooks/useLazyLoadIcons'; -import { DropdownMenuSkeletonItem } from '../relation-picker/components/skeletons/DropdownMenuSkeletonItem'; import { IconPickerHotkeyScope } from '../types/IconPickerHotkeyScope'; type IconPickerProps = { @@ -95,7 +94,8 @@ export const IconPicker = ({ const { closeDropdown } = useDropdown({ dropdownScopeId }); - const { icons, isLoadingIcons: isLoading } = useLazyLoadIcons(); + const { getIcons, getIcon } = useIcons(); + const { icons } = getIcons(); const iconKeys = useMemo(() => { const filteredIconKeys = Object.keys(icons).filter((iconKey) => { @@ -128,7 +128,7 @@ export const IconPicker = ({ clickableComponent={ } @@ -139,7 +139,7 @@ export const IconPicker = ({ selectableItemIds={iconKeys2d} hotkeyScope={IconPickerHotkeyScope.IconPicker} onEnter={(iconKey) => { - onChange({ iconKey, Icon: icons[iconKey] }); + onChange({ iconKey, Icon: getIcon(iconKey) }); closeDropdown(); }} > @@ -159,24 +159,20 @@ export const IconPicker = ({ onMouseLeave={goBackToPreviousHotkeyScope} > - {isLoading ? ( - - ) : ( - - {iconKeys.map((iconKey) => ( - { - onChange({ iconKey, Icon: icons[iconKey] }); - closeDropdown(); - }} - selectedIconKey={selectedIconKey} - Icon={icons[iconKey]} - /> - ))} - - )} + + {iconKeys.map((iconKey) => ( + { + onChange({ iconKey, Icon: getIcon(iconKey) }); + closeDropdown(); + }} + selectedIconKey={selectedIconKey} + Icon={getIcon(iconKey)} + /> + ))} + diff --git a/packages/twenty-front/src/modules/ui/input/components/internal/phone/components/CountryPickerDropdownButton.tsx b/packages/twenty-front/src/modules/ui/input/components/internal/phone/components/CountryPickerDropdownButton.tsx index 2f4ce8ba4..73a1c8f5f 100644 --- a/packages/twenty-front/src/modules/ui/input/components/internal/phone/components/CountryPickerDropdownButton.tsx +++ b/packages/twenty-front/src/modules/ui/input/components/internal/phone/components/CountryPickerDropdownButton.tsx @@ -6,8 +6,7 @@ import { hasFlag } from 'country-flag-icons'; import * as Flags from 'country-flag-icons/react/3x2'; import { CountryCallingCode } from 'libphonenumber-js'; -import { IconChevronDown } from '@/ui/display/icon'; -import { IconWorld } from '@/ui/input/constants/icons'; +import { IconChevronDown, IconWorld } from '@/ui/display/icon'; import { Dropdown } from '@/ui/layout/dropdown/components/Dropdown'; import { useDropdown } from '@/ui/layout/dropdown/hooks/useDropdown'; import { DropdownScope } from '@/ui/layout/dropdown/scopes/DropdownScope'; diff --git a/packages/twenty-front/src/modules/ui/input/hooks/useLazyLoadIcon.ts b/packages/twenty-front/src/modules/ui/input/hooks/useLazyLoadIcon.ts deleted file mode 100644 index a6be3ab23..000000000 --- a/packages/twenty-front/src/modules/ui/input/hooks/useLazyLoadIcon.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { useEffect, useState } from 'react'; - -import { IconComponent } from '@/ui/display/icon/types/IconComponent'; - -import { useLazyLoadIcons } from './useLazyLoadIcons'; - -export const useLazyLoadIcon = (iconKey: string) => { - const { isLoadingIcons, icons } = useLazyLoadIcons(); - const [Icon, setIcon] = useState(); - const [isLoadingIcon, setIsLoadingIcon] = useState(true); - - useEffect(() => { - if (!iconKey) return; - - if (!isLoadingIcons) { - setIcon(icons[iconKey]); - setIsLoadingIcon(false); - } - }, [iconKey, icons, isLoadingIcons]); - - return { Icon, isLoadingIcon }; -}; diff --git a/packages/twenty-front/src/modules/ui/input/hooks/useLazyLoadIcons.ts b/packages/twenty-front/src/modules/ui/input/hooks/useLazyLoadIcons.ts deleted file mode 100644 index 45175cc5d..000000000 --- a/packages/twenty-front/src/modules/ui/input/hooks/useLazyLoadIcons.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { useEffect, useState } from 'react'; -import { useRecoilState } from 'recoil'; - -import { iconsState } from '@/ui/input/states/iconsState'; - -export const useLazyLoadIcons = () => { - const [icons, setIcons] = useRecoilState(iconsState); - const [isLoadingIcons, setIsLoadingIcons] = useState(true); - - useEffect(() => { - import('../constants/icons').then((lazyLoadedIcons) => { - setIcons(lazyLoadedIcons); - setIsLoadingIcons(false); - }); - }, [setIcons]); - - return { icons, isLoadingIcons }; -}; diff --git a/packages/twenty-front/src/modules/ui/input/states/iconPickerState.ts b/packages/twenty-front/src/modules/ui/input/states/iconPickerState.ts index c7785332f..f2698c007 100644 --- a/packages/twenty-front/src/modules/ui/input/states/iconPickerState.ts +++ b/packages/twenty-front/src/modules/ui/input/states/iconPickerState.ts @@ -1,9 +1,8 @@ import { atom } from 'recoil'; +import { IconApps } from '@/ui/display/icon'; import { IconComponent } from '@/ui/display/icon/types/IconComponent'; -import { IconApps } from '../constants/icons'; - type IconPickerState = { Icon: IconComponent; iconKey: string; diff --git a/packages/twenty-front/src/modules/views/components/EditableFilterChip.tsx b/packages/twenty-front/src/modules/views/components/EditableFilterChip.tsx index 06ab6a0d7..b054c58fb 100644 --- a/packages/twenty-front/src/modules/views/components/EditableFilterChip.tsx +++ b/packages/twenty-front/src/modules/views/components/EditableFilterChip.tsx @@ -1,5 +1,5 @@ import { getOperandLabelShort } from '@/object-record/object-filter-dropdown/utils/getOperandLabel'; -import { useLazyLoadIcons } from '@/ui/input/hooks/useLazyLoadIcons'; +import { useIcons } from '@/ui/display/icon/hooks/useIcons'; import { SortOrFilterChip } from '@/views/components/SortOrFilterChip'; import { ViewFilter } from '@/views/types/ViewFilter'; @@ -12,7 +12,7 @@ export const EditableFilterChip = ({ viewFilter, onRemove, }: EditableFilterChipProps) => { - const { icons } = useLazyLoadIcons(); + const { getIcon } = useIcons(); return ( ); diff --git a/packages/twenty-front/src/modules/views/components/ViewFieldsVisibilityDropdownSection.tsx b/packages/twenty-front/src/modules/views/components/ViewFieldsVisibilityDropdownSection.tsx index b920a1f71..c63713ab3 100644 --- a/packages/twenty-front/src/modules/views/components/ViewFieldsVisibilityDropdownSection.tsx +++ b/packages/twenty-front/src/modules/views/components/ViewFieldsVisibilityDropdownSection.tsx @@ -9,9 +9,9 @@ import { import { FieldMetadata } from '@/object-record/field/types/FieldMetadata'; import { ColumnDefinition } from '@/object-record/record-table/types/ColumnDefinition'; import { IconMinus, IconPlus } from '@/ui/display/icon'; +import { IconInfoCircle } from '@/ui/display/icon'; +import { useIcons } from '@/ui/display/icon/hooks/useIcons'; import { AppTooltip } from '@/ui/display/tooltip/AppTooltip'; -import { IconInfoCircle } from '@/ui/input/constants/icons'; -import { useLazyLoadIcons } from '@/ui/input/hooks/useLazyLoadIcons'; import { DraggableItem } from '@/ui/layout/draggable-list/components/DraggableItem'; import { DraggableList } from '@/ui/layout/draggable-list/components/DraggableList'; import { DropdownMenuItemsContainer } from '@/ui/layout/dropdown/components/DropdownMenuItemsContainer'; @@ -51,7 +51,7 @@ export const ViewFieldsVisibilityDropdownSection = ({ else setOpenToolTipIndex(index); }; - const { icons } = useLazyLoadIcons(); + const { getIcon } = useIcons(); const getIconButtons = ( index: number, @@ -108,7 +108,7 @@ export const ViewFieldsVisibilityDropdownSection = ({ itemComponent={ ( = { @@ -18,20 +14,7 @@ const meta: Meta = { component: CreateProfile, decorators: [PageDecorator], args: { routePath: AppPath.CreateProfile }, - parameters: { - msw: [ - graphql.query( - getOperationName(GET_CURRENT_USER) ?? '', - (req, res, ctx) => { - return res( - ctx.data({ - currentUser: mockedOnboardingUsersData[1], - }), - ); - }, - ), - ], - }, + parameters: {}, }; export default meta; diff --git a/packages/twenty-front/src/pages/auth/__stories__/CreateWorkspace.stories.tsx b/packages/twenty-front/src/pages/auth/__stories__/CreateWorkspace.stories.tsx index e05d10f2d..88270a0d3 100644 --- a/packages/twenty-front/src/pages/auth/__stories__/CreateWorkspace.stories.tsx +++ b/packages/twenty-front/src/pages/auth/__stories__/CreateWorkspace.stories.tsx @@ -1,16 +1,12 @@ -import { getOperationName } from '@apollo/client/utilities'; import { Meta, StoryObj } from '@storybook/react'; import { within } from '@storybook/test'; -import { graphql } from 'msw'; import { AppPath } from '@/types/AppPath'; import { PageDecorator, PageDecoratorArgs, } from '~/testing/decorators/PageDecorator'; -import { mockedOnboardingUsersData } from '~/testing/mock-data/users'; -import { GET_CURRENT_USER } from '../../../modules/users/graphql/queries/getCurrentUser'; import { CreateWorkspace } from '../CreateWorkspace'; const meta: Meta = { @@ -19,18 +15,7 @@ const meta: Meta = { decorators: [PageDecorator], args: { routePath: AppPath.CreateWorkspace }, parameters: { - msw: [ - graphql.query( - getOperationName(GET_CURRENT_USER) ?? '', - (req, res, ctx) => { - return res( - ctx.data({ - currentUser: mockedOnboardingUsersData[0], - }), - ); - }, - ), - ], + msw: [], }, }; diff --git a/packages/twenty-front/tsup.ui.index.tsx b/packages/twenty-front/tsup.ui.index.tsx index 40a82ef55..fee5c22be 100644 --- a/packages/twenty-front/tsup.ui.index.tsx +++ b/packages/twenty-front/tsup.ui.index.tsx @@ -1,4 +1,4 @@ -import { ThemeType } from './src/modules/ui/theme/constants/theme'; +import { ThemeType } from './src/modules/ui/theme/constants/theme'; export {ThemeProvider} from '@emotion/react';