Releases: wix/react-native-ui-lib
6.21.0
🎁 Features
• Create an imperative API for TabController for setting tab imperatively (#2197)
• ActionSheet - allow overriding Dialog's props (#2211)
🔧 Fixes
• Picker - fix setComponentTheme support (#2212)
• Fixed search functionality, search logo appearance (#2208)
• ChipsInput - handle backspace with no chips (#2222)
• AnimatedImage - move from LayoutAnimation to AnimationStyle (#2223)
• Avatar - handle SVG image (fix Android crash and red screen) (#2224)
• SortableList - fix issue with flaky sorting when dragging fast + add scale
to props + support a gesture-handler version in Incubator.TextField
(#2217)
• Fixed demo app dark mode (#2209)
• Fix demo app colors for dark mode (#2229)
• Modal.TopBar - add key to buttons (#2237)
• Badge - update default background color (#2241)
• StackAggregator - fix children update. (#2103)
• Fix typing issue for standalone components (#2210)
• added useColorScheme()
hook to trigger a change when toggling appearance. (#2234)
⚙️ Maintenance & Infra
• Changed the demo screen app according to the new design. (#2174)
• Update blue50 color (#2213)
• Change the Incubator.Dialog
to use hooks, fixes issues with size given in percentage and not numbers (#2116)
• Incubator.TransitionView - remove (move hook to Incubator.Dialog) (#2228)
• Drawer - delay actions render to reduce component loading time (#2201)
• Added listKey prop to FlatList of WheelPicker
component (#2215)
• Optimize use of asBaseComponent in Picker and TextField (#2200)
6.20.0
🎁 Features
• SortableGridList - added RTL support (#2198)
• View - make component slightly faster when not using reanimated
prop (#2184)
• TouchableOpacity - support passing customValue
to onPressIn and onPressOut functions. (#2164)
🔧 Fixes
• Image - fix resize mode bug on android (#2150)
• WheelPicker - optionalDependencies error should only show on usage (#2132)
• TouchableOpacity - add missing bg modifiers (#2160)
• Image - fix potential Android crash related to changing views while animating (send useBackgroundContainer) (#2171)
• Avatar - fix customRibbon prop (#2173)
• ChipsInput - field get trimmed when inserting more than 1 line of chips. (#2183)
• TextField - fix initial animation state of floating placeholder (#2196)
• TextField - memoize inner components' style to avoid redundant renders (#2170)
• Timeline - fix example url (#2172) (#2162)
• TouchableOpacity - Avoid redundant setState (#2177)
• ColorPalette - fix scrolling and extra renders (#2179)
💡 Deprecations & Migrations
• Migrate PropTypes imports to deprecated-react-native-prop-types
package - This allow using RN0.69 (#2156)
⚙️ Maintenance & Infra
• Update dark mode colors and tokens (#2193)
• Avatar - change to function component (performance) (#2191)
• SkeletonView - small changes that should improve performance (#2153)
• AnimatedImage - fix functionality and improve performance (#2157)
• Remove asBaseComponent from ColorSwatch, ColorPalette and ColorPicker (#2155)
• Button perf improvements (#2169)
• Setup Intl Polyfills to support Intl with hermes engine in our demo app (#2185)
• npmignore - add docs eslint and tests (#2192)
• Improve Icon perf - Ignore modifiers that not relevant to icon (#2180)
6.19.0
🎁 Features
• Upgrade to RN68 (#2041)
🔧 Fixes
• Use the new react-native-gesture-handler activateAfterLongPress
to fix drag not always working on Android - REQUIRES VERSION 2.5.0 of react-native-gesture-handler (#2110)
• SortableGridList - fix issue with flaky sorting when dragging an item too fast (#2118)
• Picker - fix minor issues with fieldType
- support changing label style for "filter" type and override trailingAccessory (#2124)
• Hint - fix tokens (#2122)
• Picker - handle internal undefined ref when user passes custom renderPicker
(#2137)
• Picker - support useWheelPicker
prop in order to render a wheel picker component (#2100)
• ColorSwatch - Improve performance by adding accessibilityInfo
only if the accessibility mode is on (#2154)
• Drawer - remove duplicate testID
used on the second element (#2130)
• Fix crash AssertNotNull (#2148)
💡 Deprecations & Migrations
• Keyboard.KeyboardAccessoryView - start prop deprecation for 'iOSScrollBehavior' (#2102)
⚙️ Maintenance & Infra
• Improve modifiers' performance (#2136)
• asBaseComponent - add support for passing options
for optimizations (#2141)
• Pass modifiersOptions
to atom components (Text, Image, TouchableOpacity) to optimize performance (#2142)
• Optimize modifiers (#2143)
• Create infra for useModifiers
and useThemeProps
hooks (#2145)
• View - convert to a function component to reduce render hierarchy (#2146)
• Set perf tests infrastructure with reassure
(#2151)
• asBaseComponent - apply ThemeManager ThemeContext (#2152)
• Move GridList
listPadding logic to useGridLayout
hook to share it with SortableGridList (#2117)
• Design Tokens renaming (#2123)
• PanView refactor (infra) (#2088)
• TransitionView refactor (infra) (#2089)
• Add native design tokens to iOS (#2131)
• Add Profiler (#2144)
• Fix Profiler's export (#2149)
• Implement the new demo app structure (#2133)
6.18.0
📢 The new version will require [email protected]
for our SortableList and SortableGridList components
🎁 Features
• Slider - adding range slider functionality (#2084)
• Support Picker fieldType for different picker layouts. form (default), filter and settings (#2054)
• ExpandableSection - add expanded to the accessibilityState (#2073)
• Colors.colorStringValue - support null (#2078)
🔧 Fixes
• Incubator.TextField - fix initial validity (#2096)
• Fix Incubator.WheelPicker alignments (#2082)
• Fixed Stepper documentation. (#2104)
⚙️ Maintenance & Infra
• Update demo app to use react-native-gesture-handler to 2.5.0 (#2108)
• Set default color for Text component to be $textDefault (#2080)
• Design Tokens - update colors (#2085)
6.17.0
🎁 Features
• New SortableList component! (#1958 & #2057)
• Picker.Item - expose isItemDisabled
info in renderItem
callback (#2070)
🔧 Fixes
• KeyboardAwareScrollView - fix exports (#2064)
⚙️ Maintenance & Infra
• Migrate DateTimePicker to a function component (#2050)
• Refector component drivers and add a new component drivers (#2066)
• Native lib - bumping version to 3.0.8 (#2065)
6.16.0
🚀 What’s New?
• Timeline - new component. (#2027)
🎁 Features
• Allow to call isValid
on TextField ref to check if it's valid without triggering field validation (#2049)
• Small performance improvement in TabController transitions (#2039)
• Dialog (old) - expose static directions (#2060)
🔧 Fixes
• KeyboardAccessoryView - fix addBottomView
not working (#2045)
• Fix onChange type of DateTimePicker (#2056)
• Fix Modal backgroundColor (#2058)
• Carousel - fix initial page (#2059)
⚙️ Maintenance & Infra
• Docs - fix broken links, 10x to @ibrahim-mousa ! (#2052)
• Fix design tokens in Picker components (#2036)
6.15.0
🎁 Features
• Breaking: Support dynamic data in SortableGridList. This requires to pass id
prop for each item (#2020)
• TabController - allow sending 'faderProps' (#2008)
• Modal.TopBar - Support multiple buttons (#2011)
• KeyboardTrackingView - add 'bottomViewColor' prop (#2013)
• KeyboardAvoidingView - Modal support (#2019)
• Allows to pass in faderProps
to Incubator.WheelPicker
and forward them to the <Fader />
component (#1947)
• Avatar - allow the override of 'testID' in Badge (#2035)
• Design Tokens - Badge (#2024)
• Design Tokens - ColorSwatch (#2029)
• Design Tokens - Wizard (#2026)
• Update tokens by the guidelines (#2032)
• Update icon - button color to design tokens (#2031)
• Slider - disabled border color - design tokens (#2033)
🔧 Fixes
• Fix TS errors that started after @types/react v18 (#2001)
• Fix Incubator TextField placeholder's disabled color (when floating is also disabled) (#2003)
• Fix TabBar backgroundColor (#2014)
• Fix issue with centering TextField component (#2018)
• Fix error with Picker dialog when passing 'useNativePicker' (#2030)
• Picker - multi select - fix behavior when the value is changed by user (#2010)
• Carousel - fix initial page offset (contentOffset) (#1991)
• SegmentedControl - handle 'onLayout' being called twice (#2028)
⚙️ Maintenance & Infra
• Docs - Removing "extendsLink" to uilib's components (#2006)
• Fix keyboard docs (#2009)
• Fix docs broken links (#2012)
• Refactor DateTimePicker expandable overlay (#1995)
• Refactor MaskedInput component, remove legacy TextField usage (#1976)
• Upgrade 'reanimated' and 'gesture-handler' to latest versions in our demo app (#1977)
• Add error support to LogService (#2025)
• Remove all generated types files (#2040)
• eslint - function deprecation - fix usage from source (#2015)
6.14.0
🎁 Features
• Support a config file for setting initial configuration for uilib (#1969)
• Support passing custom loaderElement to Toast component (#1971)
• TouchableOpacity - Expose activeScale prop and enable useNative by default when using it (#1997)
• Skeleton - Expose 'shimmerStyle' prop. (#1950)
• Button - support paddings modifier (#1989)
• Expose new imperative methods on picker component to allow opening expandable modal (openExpandable, closeExpandable, toggleExpandable) (#1988)
• Support using RN PlatformColor API for loaded design tokens (#1939)
• Keyboard components - add docs (#1984)
🔧 Fixes
• TabController - support safe area (useSafeArea) and constant indicator width (indicatorWidth), Fixes #1746 (#1923)
• Image - fix support for size props (width, height) on Android (#1987)
• Fix TextField jumping issue when there's no label or floating placeholder and the validation message positioned at top (#1990)
• Fix alignments for RadioButton and add contentOnLeft
prop (#1999)
• Fix usages of PlatformColor in TabController TabBaritem (#1955)
• Fix interpolateColor bug in Incubator.WheelPicker (#1979)
• Fix margin modifiers for the basic skeleton (#1983)
• Fix how we handle platform color strings values (#1960)
• KeyboardAccessoryViewProps - Fix 'onItemSelected' params for types (#1975)
• Skeleton - fix type related bugs (#1998)
• Don't enable scroll if content is less than 1 pixel than it container (#1972)
⚙️ Maintenance & Infra
• Remove babel plugin responsible for transforming TS types to React prop types. (#1970)
• Babel main index file to support components lazy loading (#1980)
• Cleanup old script files and packagejson scripts commands (#1986)
• Temp solution for fixing TextFieldMigrator static members (#1951)
• Carousel, GridListItem - to design tokens (#1949)
• Update outline design tokens (#1959)
• Fader - move to design tokens (#1954)
• TabController - design tokens - fixes (#1935)
• Dividers - move to design tokens (#1964)
• ProgressBar - move to design tokens (#1962)
• Update divider and icon tokens (#1965)
• Migrate button components to design tokens (#1985)
6.13.0
🎁 Features
• New GridList component based on old GridView features (#1914)
• New SortableGridList component! (#1918)
🔧 Fixes
• Fix issue with floating placeholder on Android with multiline TextField (#1924)
• Merge schemes in loadSchemes method (#1929)
• TabController - Fix how we handle dynamic tab bar items (#1932)
• Fix scrolling long lists in Picker (#1944)
⚙️ Maintenance & Infra
• Complete TS migration (#1927)
• Fix export of components that were already migrated to TS (#1926)
• Centralized all textfield types (#1933)
• DesignTokens - new keys. (#1936)
• Export DesignTokens and DesignTokensDM (#1931)
• Migrate Badge to design tokens (#1922)
• Migrate Checkbox to design tokens (#1920)
• Migrate RadioButton to design tokens (#1921)
• Migrate Card component to designTokens (#1919)
• Migrate Avatar to design tokens (#1917)
• Migrate FloatingButton and exampleScreenPresenter to designTokens (#1934)
• Migrate Chip to designTokens (#1937)
• Migrate Dialog to design tokens (#1938)
• Migrate Hint and Toast to design tokens (#1940)
• Migrate Incubator ChipsList screen to design tokens (#1941)
• Migrate Pickers to design tokens (#1942)
• Migrate Slider and Stepper to design tokens (#1943)
6.12.0
🎁 Features
• Picker (and ExpandableOverlay) - support onPress (#1876)
• TabController.TabPage - support lazyLoadTime
(useful for loading heavy pages) (#1910)
• Assets - adding 'getAssetByPath' method (#1892)
• Picker - support adding safe area to Picker modal content by passing useSafeArea
prop (useful for Expo users) (#1899)
• SkeletonView - support passing colors (#1905)
• WheelPicker - support separatorsStyle
(#1906)
🔧 Fixes
• Icon- fix tintColor type (#1884)
• GridView - fix error thrown when passing passing lastItemLabel
but not lastItemOverlayColor
. Fix issue #1879. (#1900)
• SvgImage - add missing optional chaining. Fix issue #1809. (#1902)
• SvgImage - remove 'tintColor' to fix Android crash (#1903)
• Picker - forget search on cancel. Fix issue #1880. (#1908)
• Migrate callback refs to object, to resolve TS errors (#1912)
• Hint - fix container position for appium test (#1891)
• TabBar - fix the fader color in dark mode (#1867)
⚙️ Maintenance & Infra
• Picker - spread others props to TextField instead of extracting manually (#1895)
• Dark mode - restrict for dev only until releasing full support (#1887)
• Colors lint rule - handle undefined context.options[0] (#1915)
• Refactor Picker component and convert to TS (#1870)
• Migrate example PickerScreen to TS (#1888)
• Design Tokens - add backgroundInverted (#1909)
• Reverse color palettes in dark mode (#1893)
• Keyboard components - cleanup. (#1913)
• eslint-plugin-uilib - no-hard-coded-colors allow null (#1886)
• StandWithUkraine - add benner (#1904)