diff --git a/src/files-ui/components/dropzone/DropzoneRipple.scss b/src/files-ui/components/dropzone/DropzoneRipple.scss
index 0ade0878568a159af43d5aa2505981d4fffc013f..bf8ff7dcde5fc634f159fde05816f145c0151be7 100644
--- a/src/files-ui/components/dropzone/DropzoneRipple.scss
+++ b/src/files-ui/components/dropzone/DropzoneRipple.scss
@@ -1,5 +1,5 @@
 // RIPPLE
-.dropzone-ui-base-ripple-absolute {
+.filesui-base-ripple-absolute {
   position: absolute;
   display: none;
   width: 100%;
@@ -9,7 +9,7 @@
   box-sizing: border-box;
  border-radius: 8px;
  overflow: hidden;
-  .dropzone-ui-base-ripple-relative {
+  .filesui-base-ripple-relative {
     width: 100%;
     height: 100%;
     position: relative;
diff --git a/src/files-ui/components/dropzone/components/DropzoneDisabledLayer/DropzoneDisabledLayer.scss b/src/files-ui/components/dropzone/components/DropzoneDisabledLayer/DropzoneDisabledLayer.scss
index 928e3f813b1bd0733f01dba8c6597b53510b4720..f1d0ab56edb9bcdd85d313d0650970b8e82461ae 100644
--- a/src/files-ui/components/dropzone/components/DropzoneDisabledLayer/DropzoneDisabledLayer.scss
+++ b/src/files-ui/components/dropzone/components/DropzoneDisabledLayer/DropzoneDisabledLayer.scss
@@ -1,4 +1,4 @@
-.dropzone-ui-disabled-root{
+.filesui-disabled-root{
     position: absolute;
     width: 100%;
     height: 100%;
diff --git a/src/files-ui/components/dropzone/components/DropzoneDisabledLayer/DropzoneDisabledLayer.tsx b/src/files-ui/components/dropzone/components/DropzoneDisabledLayer/DropzoneDisabledLayer.tsx
index 5eb7f2a0fb3664c1506210cdb8e99dfd744ccfa4..e07d351aefa37ff4269f4f91acc9dd4a5a0978fb 100644
--- a/src/files-ui/components/dropzone/components/DropzoneDisabledLayer/DropzoneDisabledLayer.tsx
+++ b/src/files-ui/components/dropzone/components/DropzoneDisabledLayer/DropzoneDisabledLayer.tsx
@@ -36,7 +36,7 @@ const DropzoneDisabledLayer: React.FC<DropzoneDisabledLayerProps> = (
     handleDropUtil(evt);
   };
   const finalDisabledLayerClassName: string = addClassName(
-    "dropzone-ui-disabled-root",
+    "filesui-disabled-root",
     className
   );
   if (open) {
diff --git a/src/files-ui/components/dropzone/components/dropzone/Dropzone.tsx b/src/files-ui/components/dropzone/components/dropzone/Dropzone.tsx
index 75f8ea85274114d4efce30c276f83ba9d85cc2bb..8a7bf5bb6d52389373294be63ccc4c680a995f94 100644
--- a/src/files-ui/components/dropzone/components/dropzone/Dropzone.tsx
+++ b/src/files-ui/components/dropzone/components/dropzone/Dropzone.tsx
@@ -28,6 +28,7 @@ import {
   unexpectedErrorUploadResult,
   getRandomInt,
   addClassName,
+  Localization,
 } from "../../../../core";
 import { mergeProps } from "../../../overridable";
 import InputHidden from "../../../input-hidden/InputHidden";
@@ -54,7 +55,13 @@ import DropzoneHeader from "../DropzoneHeader/DropzoneHeader";
 import DropzoneFooter from "../DropzoneFooter/DropzoneFooter";
 import DropzoneButtons from "../DropzoneButtons/DropzoneButtons";
 import { completeAsureColor } from "../../../../core";
-import { createFuiRippleFromDiv, handleClickInput, handleDragUtil, handleDropUtil } from "../../../../files-ui-react/utils";
+import {
+  createFuiRippleFromDiv,
+  handleClickInput,
+  handleDragUtil,
+  handleDropUtil,
+} from "../../../../files-ui-react/utils";
+import { FilesUiContext } from "../../../../FilesUiProvider/FilesUiContext";
 
 //import { print_manager } from "../../../../../utils";
 
@@ -86,7 +93,7 @@ const Dropzone: React.FC<DropzoneProps> = (props: DropzoneProps) => {
     //label
     label,
     //localization
-    localization,
+    localization: locProps,
     //ripple
     disableRipple,
     //drag operations
@@ -113,6 +120,15 @@ const Dropzone: React.FC<DropzoneProps> = (props: DropzoneProps) => {
     ...rest
   } = mergeProps(props, defaultDrozoneProps);
 
+  //context
+  const {
+    // darkMode: darkModeContext,
+    //icons,
+    localization: locContext,
+  } = React.useContext(FilesUiContext);
+  const localization: Localization | undefined =
+    locProps !== undefined ? locProps : locContext;
+
   const {
     url,
     method,
@@ -521,14 +537,14 @@ const Dropzone: React.FC<DropzoneProps> = (props: DropzoneProps) => {
     //if (isUploading) return;
     let fileList: FileList = evt.target.files as FileList;
     let extFileListOutput: ExtFile[] = fileListToExtFileArray(fileList);
-    //validate dui files
+    //validate ext files
     if (validateFilesFlag) {
       extFileListOutput = outerFuiValidation(extFileListOutput);
       if (autoClean) {
         extFileListOutput = extFileListOutput.filter((f) => f.valid);
       }
     }
-    //init xhr on each dui file
+    //init xhr on each ext file
     if (url) extFileListOutput = toUploadableExtFileList(extFileListOutput);
 
     // Clean input element to trigger onChange event on input
@@ -646,7 +662,7 @@ const Dropzone: React.FC<DropzoneProps> = (props: DropzoneProps) => {
       }
     }
 
-    //init xhr on each dui file
+    //init xhr on each ext file
     if (url) extFileListOutput = toUploadableExtFileList(extFileListOutput);
 
     handleFilesChange(extFileListOutput);
@@ -723,12 +739,12 @@ const Dropzone: React.FC<DropzoneProps> = (props: DropzoneProps) => {
         {!disableRipple && (
           <div
             ref={fuiRippleRefAbs}
-            className="dropzone-ui-base-ripple-absolute"
+            className="filesui-base-ripple-absolute"
             style={{ borderRadius: style?.borderRadius }}
           >
             <div
               ref={fuiRippleRefRel}
-              className="dropzone-ui-base-ripple-relative"
+              className="filesui-base-ripple-relative"
             ></div>
           </div>
         )}
diff --git a/src/files-ui/components/file-card/FileCard.tsx b/src/files-ui/components/file-card/FileCard.tsx
index 9dbd635cae9e4169a70851ff840bb67b11cd878a..69d27de19c1a7b1a8bf6f020a48cf43281cd4d24 100644
--- a/src/files-ui/components/file-card/FileCard.tsx
+++ b/src/files-ui/components/file-card/FileCard.tsx
@@ -6,6 +6,7 @@ import "./components/FileCardPaper.scss";
 import {
   fileSizeFormater,
   getLocalFileItemData,
+  Localization,
   //handleClickUtil,
   shrinkWord,
 } from "../../core";
@@ -84,7 +85,7 @@ const FileCard: React.FC<FileCardProps> = (props: FileCardProps) => {
 
     xhr,
 
-    localization,
+    localization:locProps,
     preview,
     imageUrl,
     videoUrl,
@@ -115,9 +116,16 @@ const FileCard: React.FC<FileCardProps> = (props: FileCardProps) => {
     //} = mergeProps(props, FileCardPropsDefault);
   } = props;
   //context
-  const { darkMode: darkModeContext, icons } = React.useContext(FilesUiContext);
+  const {
+    darkMode: darkModeContext,
+    icons,
+    localization: locContext,
+  } = React.useContext(FilesUiContext);
+  const localization: Localization | undefined =
+    locProps !== undefined ? locProps : locContext;
   const darkMode: boolean | undefined =
     darkModeProp !== undefined ? darkModeProp : darkModeContext;
+  console.log("globalConfig", darkMode, icons);
 
   //ref for anchor element
   const downloadRef = React.useRef<HTMLAnchorElement>(null);
diff --git a/src/files-ui/components/file-input-button/FileInputButton.tsx b/src/files-ui/components/file-input-button/FileInputButton.tsx
index 4f257e16987eed5c16a6e0279d62e5a091113a99..d300d8cb8ad724c2d146874e619a7f961959efa1 100644
--- a/src/files-ui/components/file-input-button/FileInputButton.tsx
+++ b/src/files-ui/components/file-input-button/FileInputButton.tsx
@@ -14,6 +14,7 @@ import {
   instantPreparingToUploadOne,
   isUploadAbleExtFile,
   isValidateActive,
+  Localization,
   LocalLabels,
   sanitizeArrExtFile,
   sleepPreparing,
@@ -26,6 +27,7 @@ import {
   validateExtFileList,
 } from "../../core";
 import { handleClickInput } from "../../files-ui-react/utils";
+import { FilesUiContext } from "../../FilesUiProvider/FilesUiContext";
 import useDropzoneFileListUpdater from "../../hooks/useDropzoneFileUpdater";
 import { DropzoneActions } from "../dropzone/components/dropzone/DropzoneProps";
 import DropzoneButtons from "../dropzone/components/DropzoneButtons/DropzoneButtons";
@@ -68,7 +70,7 @@ const FileInputButton: React.FC<FileInputButtonProps> = (
     //label
     label,
     //localization
-    localization,
+    localization: locProps,
     //ripple
     disableRipple,
     //action butotns
@@ -91,8 +93,19 @@ const FileInputButton: React.FC<FileInputButtonProps> = (
 
     variant,
     resetStyles,
+    darkMode: darkModeProp,
     ...rest
   } = mergeProps(props, defaultFileInputButtonProps);
+  //context
+  const {
+    darkMode: darkModeContext,
+    //icons,
+    localization: locContext,
+  } = React.useContext(FilesUiContext);
+  const localization: Localization | undefined =
+    locProps !== undefined ? locProps : locContext;
+  const darkMode: boolean | undefined =
+    darkModeProp !== undefined ? darkModeProp : darkModeContext;
 
   const {
     url,
@@ -518,6 +531,7 @@ const FileInputButton: React.FC<FileInputButtonProps> = (
         resetStyles={resetStyles}
         onClick={handleClick}
         disableRipple={disableRipple}
+        darkMode={darkMode}
         {...rest}
       >
         {children || label}
diff --git a/src/files-ui/components/file-mosaic/components/FileMosaicSize/FileMosaicSize.scss b/src/files-ui/components/file-mosaic/components/FileMosaicSize/FileMosaicSize.scss
index 46f865f054f7c8d8bc177a8e9099bd4c97f65ae7..3501786f3c15dafe164fbe07dea405dbf4d29924 100644
--- a/src/files-ui/components/file-mosaic/components/FileMosaicSize/FileMosaicSize.scss
+++ b/src/files-ui/components/file-mosaic/components/FileMosaicSize/FileMosaicSize.scss
@@ -1,4 +1,4 @@
-.dui-file-item-size {
+.filesui-file-item-size {
   box-sizing: border-box;
   font-size: 0.7rem;
   border: 0.5px solid wheat;
diff --git a/src/files-ui/components/file-mosaic/components/FileMosaicSize/FileMosaicSize.tsx b/src/files-ui/components/file-mosaic/components/FileMosaicSize/FileMosaicSize.tsx
index 2f7ba08c6093be8b3284f4bf230fa729d184213f..6230e2941d073d21e4ffcda413d27cb51f993f79 100644
--- a/src/files-ui/components/file-mosaic/components/FileMosaicSize/FileMosaicSize.tsx
+++ b/src/files-ui/components/file-mosaic/components/FileMosaicSize/FileMosaicSize.tsx
@@ -10,7 +10,7 @@ const FileMosaicSize: React.FC<FileItemSizeProps> = (
   return (
     <React.Fragment>
       {sizeFormatted && (
-        <div className="dui-file-item-size">{sizeFormatted}</div>
+        <div className="filesui-file-item-size">{sizeFormatted}</div>
       )}
     </React.Fragment>
   );
diff --git a/src/files-ui/components/file-mosaic/components/file-mosaic/FileMosaic.tsx b/src/files-ui/components/file-mosaic/components/file-mosaic/FileMosaic.tsx
index a80ff71f10814e79147980b0ac2c7cac90805bd7..2113dabba44a4ec02fb080d9005f04aad969a23d 100644
--- a/src/files-ui/components/file-mosaic/components/file-mosaic/FileMosaic.tsx
+++ b/src/files-ui/components/file-mosaic/components/file-mosaic/FileMosaic.tsx
@@ -3,6 +3,7 @@ import {
   addClassName,
   fileSizeFormater,
   getLocalFileItemData,
+  Localization,
   //handleClickUtil,
 } from "../../../../core";
 import "./FileMosaic.scss";
@@ -43,7 +44,7 @@ const FileMosaic: React.FC<FileMosaicProps> = (props: FileMosaicProps) => {
 
     xhr,
 
-    localization,
+    localization: locProps,
     preview,
     imageUrl,
     videoUrl,
@@ -72,7 +73,13 @@ const FileMosaic: React.FC<FileMosaicProps> = (props: FileMosaicProps) => {
   } = props;
 
   //context
-  const { darkMode: darkModeContext, icons } = React.useContext(FilesUiContext);
+  const {
+    darkMode: darkModeContext,
+    icons,
+    localization: locContext,
+  } = React.useContext(FilesUiContext);
+  const localization: Localization | undefined =
+    locProps !== undefined ? locProps : locContext;
   const darkMode: boolean | undefined =
     darkModeProp !== undefined ? darkModeProp : darkModeContext;
   console.log("globalConfig", darkMode, icons);
diff --git a/src/files-ui/components/icons/UploadingProcess/UploadingProcess.scss b/src/files-ui/components/icons/UploadingProcess/UploadingProcess.scss
index d67ed165fa98b84934b4183bae888bbc14c25ebf..7ec1e8e94b5e060c96f91d79a065242924162d7a 100644
--- a/src/files-ui/components/icons/UploadingProcess/UploadingProcess.scss
+++ b/src/files-ui/components/icons/UploadingProcess/UploadingProcess.scss
@@ -1,4 +1,4 @@
-@keyframes dui-rotate-spin {
+@keyframes filesui-rotate-spin {
   from {
     transform: rotate(0deg);
   }
@@ -7,12 +7,12 @@
     transform: rotate(360deg);
   }
 }
-.dui-rotate {
+.filesui-rotate {
   cursor: default;
 }
 
 @media (prefers-reduced-motion: no-preference) {
-  .dui-rotate {
-    animation: dui-rotate-spin infinite 2s linear;
+  .filesui-rotate {
+    animation: filesui-rotate-spin infinite 2s linear;
   }
 }
diff --git a/src/files-ui/components/icons/UploadingProcess/UploadingProcess.tsx b/src/files-ui/components/icons/UploadingProcess/UploadingProcess.tsx
index e829b0b012f2cd106966df774859e182fc5246d9..51534c0f5fdf36b381bdc75c86732dc4270edea9 100644
--- a/src/files-ui/components/icons/UploadingProcess/UploadingProcess.tsx
+++ b/src/files-ui/components/icons/UploadingProcess/UploadingProcess.tsx
@@ -17,7 +17,7 @@ const UploadingProcess: FC<UploadingProcessProps> = (
   const finalSize = parseSize(size);
   const finalStyle = style ? style : {};
   let finalClassname = className || "";
-  finalClassname += spin ? "dui-rotate" : "";
+  finalClassname += spin ? "filesui-rotate" : "";
   return (
     <svg
       className={finalClassname}
diff --git a/src/files-ui/components/material-button/MaterialButton.scss b/src/files-ui/components/material-button/MaterialButton.scss
index 42f4a4c4d17e236abdb27f7246c28bb858ec8912..bb4ad5180dd213da02995e7a2ca23abb6e1a638f 100644
--- a/src/files-ui/components/material-button/MaterialButton.scss
+++ b/src/files-ui/components/material-button/MaterialButton.scss
@@ -87,6 +87,10 @@ span.ripple {
   background-color: rgba(0, 0, 0, 0.12);
   color: rgba(0, 0, 0, 0.26);
   padding: 6px 16px;
+  &.darkmode {
+    background-color: rgba(255, 255, 255, 0.12);
+    color: rgba(255, 255, 255, 0.3);
+  }
 }
 
 //mobile
@@ -104,4 +108,4 @@ span.ripple {
     padding: 4px 12px;
   }
 }
- */
\ No newline at end of file
+ */
diff --git a/src/files-ui/components/material-button/MaterialButton.tsx b/src/files-ui/components/material-button/MaterialButton.tsx
index 0ec05dee63071c88ac1d8c9bf05aaacc9653887c..ba5be5e22bd62545d2b5b9c9ad36892b25d8d936 100644
--- a/src/files-ui/components/material-button/MaterialButton.tsx
+++ b/src/files-ui/components/material-button/MaterialButton.tsx
@@ -3,6 +3,8 @@ import useMaterialButtonClassName from "./hooks/useMaterialButtonClassName";
 import { MaterialButtonProps } from "./MaterialButtonProps";
 import "./MaterialButton.scss";
 import { createRippleButton } from "../../files-ui-react/utils";
+import { addClassName } from "../../core";
+import { FilesUiContext } from "../../FilesUiProvider/FilesUiContext";
 
 const MaterialButton: React.FC<MaterialButtonProps> = (
   props: MaterialButtonProps
@@ -20,7 +22,13 @@ const MaterialButton: React.FC<MaterialButtonProps> = (
     onClick,
     resetStyles,
     disableRipple,
+    darkMode: darkModeProp,
   } = props;
+  //context
+  const { darkMode: darkModeContext } = React.useContext(FilesUiContext);
+  const darkMode: boolean | undefined =
+    darkModeProp !== undefined ? darkModeProp : darkModeContext;
+
 
   const idClassName = React.useId();
 
@@ -35,7 +43,12 @@ const MaterialButton: React.FC<MaterialButtonProps> = (
       idClassName.replaceAll(":", ""),
       resetStyles
     );
+  const finalMBClassNameDarkMode: string | undefined = materialButtonClassName && darkMode
+    ? addClassName(materialButtonClassName, `darkmode`)
+    : materialButtonClassName;
+
 
+    console.log("finalMBClassNameDarkMode", finalMBClassNameDarkMode, darkMode);
   function handleClick<T extends HTMLAnchorElement | HTMLButtonElement>(
     e: React.MouseEvent<T, MouseEvent>
   ): void {
@@ -48,9 +61,9 @@ const MaterialButton: React.FC<MaterialButtonProps> = (
     onClick?.(e as React.MouseEvent<HTMLButtonElement, MouseEvent>);
   }
 
-  if (materialButtonClassName !== undefined || resetStyles)
+  if (finalMBClassNameDarkMode !== undefined || resetStyles)
     return React.createElement(href ? "a" : "button", {
-      className: resetStyles && className ? className : materialButtonClassName,
+      className: resetStyles && className ? className : finalMBClassNameDarkMode,
       "data-testid": href ? "dui-anchor" : "dui-button",
       onClick: handleClick,
       href: href,
diff --git a/src/files-ui/components/material-button/MaterialButtonProps.ts b/src/files-ui/components/material-button/MaterialButtonProps.ts
index 72225f121de7b2eb8355b8f8a697843174c31c1b..d6aa971644ed67d07912554068b9dd9053fe057a 100644
--- a/src/files-ui/components/material-button/MaterialButtonProps.ts
+++ b/src/files-ui/components/material-button/MaterialButtonProps.ts
@@ -44,6 +44,12 @@ export interface MaterialButtonPropsInterface extends OverridableComponentProps
    */
   disableRipple?: boolean;
 
+
+      /**
+    * If true, dark mode colors are used in the component.
+    */
+      darkMode?: boolean;
+
 }
 type DefButtonPropsMap = React.DetailedHTMLProps<React.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>;
 
diff --git a/src/files-ui/components/previews/VideoPreview/VideoPreview.scss b/src/files-ui/components/previews/VideoPreview/VideoPreview.scss
index 77ad92967d08fb10dbbd28c6a1405684db478b16..f8690117895324ef9b5d481d4cd77723f90b7fa1 100644
--- a/src/files-ui/components/previews/VideoPreview/VideoPreview.scss
+++ b/src/files-ui/components/previews/VideoPreview/VideoPreview.scss
@@ -1,4 +1,4 @@
-.dui-video-preview {
+.filesui-video-preview {
   position: relative;
   border-radius: 10px;
   transition: transform 0.3s 0.2s;
diff --git a/src/files-ui/components/previews/VideoPreview/VideoPreview.tsx b/src/files-ui/components/previews/VideoPreview/VideoPreview.tsx
index aa82a06c55d7c262a950a14cf60fc8bffba6a172..e9dab371f9e2f885bd8e3525ef0951d23b228203 100644
--- a/src/files-ui/components/previews/VideoPreview/VideoPreview.tsx
+++ b/src/files-ui/components/previews/VideoPreview/VideoPreview.tsx
@@ -54,7 +54,7 @@ const VideoPreview: React.FC<VideoPreviewProps> = (
           id="files-ui-video"
           //controls={controls}
           ref={videoRef}
-          className={className || "dui-video-preview"}
+          className={className || "filesui-video-preview"}
           //autoPlay={autoplay}
           src={source}
           //width={"100%"}
diff --git a/src/files-ui/files-ui-react/utils/ripple/ripple.ts b/src/files-ui/files-ui-react/utils/ripple/ripple.ts
index 28a73f312720af0e197c22c4b68897d6200e448b..d461a6803201b5690eb45b3843ab4db3a7260c26 100644
--- a/src/files-ui/files-ui-react/utils/ripple/ripple.ts
+++ b/src/files-ui/files-ui-react/utils/ripple/ripple.ts
@@ -21,7 +21,7 @@ export function createFuiRippleFromDiv
   // creating the span circle ripple
   const circle: HTMLSpanElement = document.createElement("span");
   //for searching
-  circle.id = "dui-ripple";
+  circle.id = "filesui-ripple";
   //for styles
   circle.className = "ripple";
   // calculates the diameter
diff --git a/src/files-ui/index.ts b/src/files-ui/index.ts
index f409f80f1484797d13365df49c35dd4fa6cf7ce6..741e988de3e48a492203f624759d0a2e0ccf79ee 100644
--- a/src/files-ui/index.ts
+++ b/src/files-ui/index.ts
@@ -51,7 +51,8 @@ export type {
     ServerResponse,
     UploadResponse,
     UploadConfig,
-    ValidateFileResponse
+    ValidateFileResponse,
+    IconsMap
 } from "./core";