FileKit allows you to customize dialog behavior with platform-specific settings. Each platform has its own settings class that can be configured according to your needs.Documentation Index
Fetch the complete documentation index at: https://filekit.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
Platform-Specific Settings
JVM Settings
On JVM platforms (Windows, macOS, Linux), you can customize:title: Set a custom title for the dialogparentWindow: Set the parent window for the dialog (useful for modal behavior)macOS: Configure macOS-specific settings
iOS and macOS Settings
On iOS and macOS, you can configure:title: Set a custom title for the dialogcanCreateDirectories: Allow or prevent directory creation in dialogs (default: true)
assetRepresentationMode: Choose the Photos picker asset representation mode (default:Automatic)presenter: Set theUIViewControllerused to present native dialogs. If null, FileKit uses the current top-most controller.
Automatic: Let the system choose the best representationCurrent: Prefer the original/current representation and avoid transcoding when possibleCompatible: Prefer a broadly compatible representation, even if transcoding is required
Compatible when picked image bytes need to be decoded by libraries that may not support every Apple-native image format, such as HEIF/HEIC.
Android, Web, and WASM
These platforms currently don’t have any specific settings to configure. Use the default settings:Using DialogSettings in KMP
When working with Kotlin Multiplatform projects, you might need to handle platform-specific settings differently. Here’s how to use expect/actual to manage dialog settings: For platforms that need specific configuration, use expect/actual:- Keep your common code platform-agnostic
- Provide platform-specific configurations where needed
- Maintain type safety across platforms
Platform-specific settings are continuously evolving. You can ask for a feature or report a bug on the GitHub repository.