-
Notifications
You must be signed in to change notification settings - Fork 16
[Release] 0.1.0 #82
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
Sanlorng
wants to merge
284
commits into
master
Choose a base branch
from
dev
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
[Release] 0.1.0 #82
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[fluent] Add `TabView`.
[fluent] Fixed `Dialog` can't gain focus.
Update Build Script
(cherry picked from commit 9c8cb29)
(cherry picked from commit 398b68a)
(cherry picked from commit ae4e735)
(cherry picked from commit 0ce4ff3)
…imports in the common (cherry picked from commit 8f6d4f7)
(cherry picked from commit 9d9f310)
(cherry picked from commit fcb5d8d)
(cherry picked from commit b4ce6ca)
(cherry picked from commit 3829f33)
(cherry picked from commit 115d3a7)
(cherry picked from commit 2952227)
(cherry picked from commit d1cec33)
feat: Documents.
This commit introduces a new optional parameter to the `CalendarDatePickerState` constructor. Users can now specify an initial `instant` (of type `kotlinx.datetime.Instant`) and `timeZone` (of type `kotlinx.datetime.TimeZone`) to set the starting date of the calendar. If no values are provided, the calendar will default to the current system time and time zone, maintaining the previous behavior.
This commit updates the package names and project identifiers across the codebase. - The bundle identifier for the iOS app has been changed from `com.konyaco.fluent.gallery.iosApp` to `io.github.composefluent.gallery.iosApp`. - Package names in the gallery app's IconsScreen and in the contribution guidelines have been updated from `com.konyaco.*` to `io.github.composefluent.*` or `io.github.compose-fluent.*` where appropriate. - Dependency identifiers in IconsScreen for `fluent-icons-core` and `fluent-icons-extended` have been updated from `com.konyaco:*` to `io.github.compose-fluent:*`.
This commit updates the package name in the `CONTRIBUTION.md` file from `io.github.composefluent.fluent.gallery.screen.basicinput` to `io.github.composefluent.gallery.screen.basicinput`.
[docs](README) Update badges, dependency coordinates, and formatting …
This commit enhances the incremental processing capabilities of the KSP (Kotlin Symbol Processing) for generated source files. Key changes: - In `SourceFilePathProcessor` and `IconSourceProcessor`, track the source `KSFile`s that contribute to the generated output. - When creating new generated files using `codeGenerator.createNewFileByPath`, provide the collected `KSFile`s as dependencies. This allows KSP to better understand the relationship between source and generated files, enabling more efficient incremental builds.
[KSP] Improve incremental processing for generated files
Refactored title alignment logic to utilize FirstBaseline and LastBaseline for improved accuracy. This ensures better vertical positioning of the title relative to constraints and alignment specifications. The change enhances layout precision and maintains consistent display behavior.
This commit introduces the `SecureTextField` component, which is a text input field designed for securely entering private text like passwords. It also updates the `TextField` component with enhanced functionality. Key changes: - **SecureTextField**: - Adds a new `SecureTextField` component that obscures the entered text. - Provides options to customize text obfuscation using `textObfuscationMode` and `textObfuscationCharacter`. - Includes `BasicSecureTextField` for the core text field functionality. - Uses `KeyboardType.Password` by default. - **TextField**: + **TextField Update**: - Update the `TextField` component and add support `TextFieldState`, `header`, `placeholder`, `trailing`, `leadingIcon`, `clear`. - Refactor `TextField` use new `TextFieldState`. - **Sample**: + **Gallery Sample**: - Adds a new sample screen that include `SecureTextField` and `TextField` in the Gallery app. - Add Password guide in the README.md.
This commit refactors the TextField component by moving the header logic into the `DecorationBox`. Key changes: - The `HeaderContainer` composable is updated to use a custom `Layout` with a `HeaderMeasurePolicy` to correctly measure and position the header and content. - The `TextField` and `SecureTextField` composables now pass the `header` directly to the `DecorationBox`. - The `DecorationBox` in `TextFieldDefaults` is updated to accept and display the `header`. - A new `Container` composable is introduced within `TextFieldDefaults.DecorationBox` to encapsulate the visual styling of the TextField, including border and background. - The `modifier` parameter for drawing the bottom line is removed from `TextFieldDefaults.DecorationBox` as this is now handled by the new `Container`.
This update fix support for minimize and close buttons in the Windows UI implementation. Changes include hit testing, layout adjustments, and handling for these buttons, alongside improvements to error handling in layout node hit testing. These updates enhance functionality and robustness of the window management system.
Fix inability to close, minimize or move the Gallery on Windows 11
This commit adds the Compose Hot Reload plugin to the gallery.
[gallery] feat: Add Compose Hot Reload plugin
This commit refactors `LayoutHitTestOwner` and its implementations to align with changes in Compose 1.8. It also updates Proguard rules. Key changes: - **LayoutHitTestOwner:** - Replaced reflection-based access to `ComposeScene` with `LocalComposeScene.current`. - Updated `ReflectLayoutHitTestOwner` to use direct API calls for `LayoutNode` and `HitTestResult` instead of reflection, simplifying the hit-testing logic. - `PlatformLayersLayoutHitTestOwner` now directly accesses `mainOwner.owner.root` for hit testing. - `CanvasLayersLayoutHitTestOwner` now uses the `_layersCopyCache` field (of type `CopiedList`) directly and casts retrieved owners to `RootNodeOwner`. - **Proguard Rules:** - Added new keep rules for classes and members related to `HoverableNode`, `ScrollableNode`, `PlatformLayersComposeSceneImpl`, `CanvasLayersComposeSceneImpl`, and `CanvasLayersComposeSceneImpl$AttachedComposeSceneLayer` to ensure they are not removed or obfuscated during Proguard processing. This is necessary due to the reflection and internal API usage. - **Suppressions:** - Added `@file:Suppress("INVISIBLE_MEMBER", "INVISIBLE_REFERENCE", "DEPRECATED")` to `LayoutHitTestOwner.kt` to handle new API visibility and deprecations.
This commit updates the `ComposeWindowProcedure.kt` to ensure window information (DPI, frame dimensions, and window size) is refreshed during hit testing. This addresses an issue where hit test results could be incorrect after moving the window to a different monitor by explicitly calling a new `updateWindowInfo()` function within the `hitTest` lambda. The `updateWindowInfo()` function retrieves the latest DPI, system metrics for frame dimensions, and window rectangle.
…tle_bar [gallery] Update windows title bar
…rNode` This commit replaces the deprecated `BringIntoViewResponder` with the new `BringIntoViewModifierNode` in the `TabView` and `LiteFilter` components. This change aligns with the latest Compose Foundation APIs and improves the implementation of bringing child elements into view within scrollable containers.
Update InfoBar layout to align title using baselines
feat: Add SecureTextField component and update TextField
The `textFieldModifier` was being applied twice in the `BasicTextField` and `BasicSecureTextField` components, once in the `TextField` itself and again within the basic text field implementations. This commit removes the redundant application from the basic text field implementations, as it's already handled in the `TextField` composable.
[fluent] Update bring into view
feat: Add initial date parameter to CalendarDatePickerState
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Tasks
Changelog
Build
Breakinng Change
com.konyaco.fluent
toio.github.composefluent
training
totrailing
([fluent] [Break Change] renametraining
totrailing
. #62 )AcrylicContainer
toMaterialContainer
Design System
Elevation
support #64 )New Components
FluentTheme.shapes
andFluentTheme.cornerRadius
([fluent] AddGeometry
to FluentTheme #56 )Expander
,ExpanderItem
,ExpanderItemSeparator
andCardExpanderItem
([fluent] AddExpander
andExpanderItem
. #58 )PillButton
andLiteFilter
([fluent] AddPillButton
andLiteFilter
. #59 )SegmentedControl
([fluent] AddSegmentedControl
andSegmentedButton
. #60 )AutoSuggestionBox
([fluent] Update TextField API. #61 )TabRow
andTabViewItem
([fluent] AddTabView
. #66 )BreadcrumBar
,CommandBar
,CommandBarFlyout
,TopNav
andNavigationView
(Components Based on OverflowRow #72 )MenuBar
andOverflowMenuBar
([fluent] feat: Implement MenuBar component #100 )InfoBar
andBadge
([fluent] feat: Add InfoBar and Badge component #97 )SelectorBar
([fluent] AddSelectorBar
component #99 )TooltipBox
([fluent] AddTooltipBox
andFlyoutAnchorScope
#90 )GridViewItem
,FlipView
andPipsPager
. ([fluent] feat: Implement GridViewItem ,FlipView and PipsPager component #98 )FontIconPrimitives
([fluent] refactor: Migrate to newFontIcon
#86 )Components Update
Slider
andBasicSlider
#101 )TextField(state: TextFieldState)
,TextField(value: String)
andSecureTexField(state: TextFieldState)
overload(feat: Add SecureTextField component and update TextField #107 )Bug fixes
Dialog
can't gain focus. #70Gallery