Added:
- Backpack-SwiftUI:
- Added BPKSwitch component
Added:
-
Backpack-SwiftUI:
- Adding Spacing Tokens
- Adding Corner Radius Tokens
- Adding Color Tokens
- Adding Font Tokens
- Adding Icons Component
- Adding Shadow Tokens
- Adding BpkText and BpkAttributedText
- Adding Card Component
- Adding Button Component
-
Backpack-Common:
- Adding Module
- Adding Icons as SVG
Breaking
- BpkChip
- Icon can now be leading or trailing
- Icon is now 'small' instead of 'large'
Fixed:
- Documentation generation with Jazzy
Added:
- Backpack:
- Swift Code documentation
Added:
- Backpack-SwiftUI:
- Adding Module
Fixed:
- Upgraded to the current node LTS - 16
- Added initialiser to BpkPanel
Added:
-
Backpack/Typography:
- Adding Label 3 font style.
-
Backpack/Buttons:
- Adding Secondary On Dark and Link On Dark
Added:
- Backpack/Button:
- Big buttons now center it's content to match usages on the app
Added:
-
Backpack/Button:
- Forwarding Content Compression Resistance and Hugging Priority to inner label and icon of the Button.
-
Backpack/Calendar:
- Adding UI Tests for happy paths for calendar
Fixed:
- Backpack/Button:
- Fixing icon sizes on buttons
Added:
- Backpack/Button:
- Introduction of a Deprecated new Legacy Link Button, to support historic cases on the app.
Added:
- Backpack/Button:
- A way to set custom paddings to support historic use cases. Marked it as deprecated as well.
Fixed:
- Backpack/TappableLinkLabel:
- Forward-port: A default textPrimaryColor is set for the text if no custom color is passed
Added:
-
Support for Xcode 13.2 and iOS 15.2
-
Backpack/Button:
- Adding PrimaryOnDark and PrimaryOnLight
Breaking:
-
Backpack/Font:
- Removing deprecated font styles
-
Backpack/Button:
- Removing Outline button style
- Update the colours and spacing to the new styles
- Update the loading state to not change button sizes
Fixed:
- Backpack/TappableLinkLabel:
- A default textPrimaryColor is set for the text if no custom color is passed
Fixed:
- Backpack/Font:
- Fixing bug when attributed text is empty.
Changed:
- Backpack/Font:
- Components use all new text styles internally
- XS Emphasized, Caps and Caps Emphasized to Captions behind the scenes
Breaking:
- Backpack/Font:
- Line Heights and Letter Spacing have been updated!
- Old font styles will be mapped to new styles behind the scenes
Fixed:
- Backpack/TextField:
- Only applying border width if the Border Style is not none
Added:
- Backpack/StarRating:
- New
roundingproperty to adjust how the rating value fills in the stars
- New
Fixed:
- Backpack/Calendar:
- Same-Day-Return selection UI
Added:
-
Font sizes have been updated
-
Changed navigation bar font
-
Badge support for icons
-
Badge migrated to Swift
-
Generated code for token
textSecondaryColor. -
Backpack/Calendar:
- New
timeStoneprop for controlling time. See <link to docs site>.
- New
-
Support for iOS 15 and Xcode 13.1
Breaking:
- Updated deployment target to
iOS 14.0
Fixed:
- Backpack/TextField:
- Fixed an issue with colour contrast for the border of
BPKTextFields highlighted by accessibility review.
- Fixed an issue with colour contrast for the border of
Added:
- Updated bpk-svgs which brings in the new self-service icons.
Fixed:
- Backpack/Icon:
- Fixed rendering of the small world icons. Previously, the outer border on these icons weren't rendering correctly.
Fixed:
-
Backpack/Switch:
- Reverted back to primary color for the track, this means the dark mode track colour is now Sky Blue Tint 01.
- Set thumb colour to white, this has no effect in current versions of iOS as this matches the system.
-
Backpack/Button:
- Change destructive/secondary border colours to sky gray tint 06 in light mode.
Breaking:
- Backpack/Toast:
- Add an announcement to be read by VoiceOver when a Toast is shown.
Fixed:
- Backpack/TabBarController:
- Fixed a missing
supercall todidMoveToParentViewController:.
- Fixed a missing
Fixed:
-
Backpack/Badge:
- Font is now bold to align to Figma design.
-
Backpack/StarRating:
- Adjusted dark-mode line colour to align to Figma design.
Fixed:
-
Backpack/Map:
- Increased padding and dark-mode colours to align to Figma design.
-
Backpack/Dialog:
- Adjusted corner radius and spacing to match Figma design.
Fixed:
- Backpack/Chip:
- Increased spacing between icon and text to align to Figma design.
Fixed:
- Backpack/Switch:
- Aligned appearance to Figma by making switch
SkyBlue.
- Aligned appearance to Figma by making switch
Fixed:
- Backpack/Button:
- Aligned appearance to Figma
Breaking:
- Backpack/HorizontalNavigation:
- Migrated the component to Swift. This has caused regressions in the Objective-C capabilities of the component.
- In Objective-C only the default size of the component is now available.
- In Objective-C some options are no longer supported e.g. the ability to show a notification dot and the support for badges.
- The component adopts the new
BPKIconAPI and enforces the correct usage of icons with the appropriate horizontal navigation size at compile time. - Due to a bug in Swift/UIKit with generic views the component no longer supports theming. Theming can still be achieved with an explicit wrapping view that integrates with
UIAppearance. - For migration instructions see the guide.
- Backpack/Chip:
- The type of
iconNamehas changed from the deprecatedBPKIconNametoBPKIconNameLarge. Some icons previously used might to be available.
- The type of
Added:
- Backpack/Icon
- Added
car-dooricon.
- Added
Fixed:
-
Migrated to new Backpack Foundations packages,
@skyscanner/bpk-iosand@skyscanner/bpk-svgs. -
Backpack/Icon
-
Minor changes to
BPKIconwhich should not affect how they are used or work.
Added:
- Backpack/Icon:
- Added
BPKSmallIconView,BPKLargeIconViewandBPKXlIconView- preferred ways to create an icon view. - See the migration guide.
- Added
Added:
- Backpack/Card:
- Added
configurationwhich allows cards to be configured for assistive technology as buttons or links.
- Added
Breaking:
- Backpack/Nudger:
- Removed
accessibilityLabelFormatterfromBPKNudgerConfiguration. - Added required
labeltoBPKNudgerConfiguration.
- Removed
Fixed:
- Backpack/Nudger:
- Make label bold to align with design.
Added:
- Backpack/Nudger:
- New nudger component - a control for specifying a numerical value that can be adjusted up and down.
Fixed:
- Backpack/Calendar:
reloadDatawill now reload all visible cells without causing random cells to blink.
Added:
- Backpack/Map:
- Added shadows to callout views so that they are more distinguishable.
Fixed:
- Backpack/Dialog:
- Added the header trait to the title label within the dialog.
Fixed:
- Backpack/Map:
- Map markers can now be selected by tapping on the callout view.
Fixed:
- Backpack/StarRating
- Updated the star colours to increase contrast.
Added:
- Added
undo,redoandcenter-locationicons.
Breaking:
- Backpack/Calendar:
- Selection Configuration instances now require accessibility strings to be passed in. The requirements vary between different configurations.
- Constructors now require a selection configuration to be provided.
Fixed:
- Backpack/Calendar:
- Fixed bug that would cause selecting the same day in range mode to reselect end date instead of new start date.
Breaking:
- Backpack/Calendar:
selectionTypehas been removed in favour ofselectionConfiguration. This is an instance that tells the calendar how selection should behave. Use an instance ofBPKCalendarSelectionConfigurationSingle,BPKCalendarSelectionConfigurationMultipleorBPKCalendarSelectionConfigurationRangein place of the old enum values.- Future change: Range configuration requires several accessibility labels to be provided to help users of assistive technology interact with the calendar.
Added:
- Backpack/Map:
- Added support for an optional icon.
Added:
- Backpack/Calendar:
- Added public method for scrolling a given date into view.
Added:
- Backpack/BottomSheet:
- New delegate for responding to changes in the bottom sheet position.
Fixed:
- Backpack/Calendar:
- Exposed price labels to assistive technology.
Fixed:
-
Backpack/Map:
- Removed position hacks from map annotation constraints.
-
Backpack/Icon:
- Fixed display of social-distancing and price-tag icons.
Fixed:
- Backpack/Calendar:
- Fixed an issue that prevented dates being available to assistive technology.
Fixed:
- Backpack/Icon:
- Fixed issues in the small baggage icons.
Fixed:
- Backpack/Calendar:
- Fixed an display bug when setting the calendar selection type to the same value.
- Calendar will now scroll to the first selected date when initially shown.
Fixed:
- Backpack/Calendar:
- The range selection background is now squared at the edges of the screen to match the design.
Fixed:
- Backpack/Map:
- Fixed an issue causing reused cells to appear as previously selected.
- Fixed an issue causing the map pin to be shown alongside the Backpack marker.
Added:
- Backpack/Map:
- New map view component.
- New map annotation component which can be rendered on a
BPKMapView.
Fixed:
- Backpack/Calendar:
- Aligned calendar cells to current design. Calendar cells are now
36pttall with16ptemphasised date labels.
- Aligned calendar cells to current design. Calendar cells are now
Added:
- Backpack/BottomSheet:
- Added optional insets argument so that custom inset values can be used. By default the existing insets will be used if none are specified.
Fixed:
- Backpack/Calendar:
- Prevent crash when setting dates programmatically.
Added:
- Backpack/BottomSheet:
- New style of presentation to BottomSheet. Now we are capable to present it modally or persistently by using the
initparameterpresentationStylebeing.persistentor.modal
- New style of presentation to BottomSheet. Now we are capable to present it modally or persistently by using the
Added:
- Backpack/TabBarController:
- Added
BPKTabBarItemwith support for specificdotimages.
- Added
Fixed:
- Backpack/Calendar:
- Fixed the range background colour so that it is more visible on dark mode backgrounds.
Fixed:
- Upgraded
TTTAttributedLabelto the latest version (2.0.0).
Fixed:
- Upgraded
FSCalendarto the latest version (2.8.2).
Breaking:
- Backpack/Toast:
- Upgraded
MBProgressHUDto the latest version (1.2.0).
Added:
- Backpack/Icon:
- Added new icons for
price-tag.
- Added new icons for
Fixed:
- Backpack/Flare:
- Fixed an issue that could cause the flare to seem detached from a moving flare-view.
Fixed:
- The range track background colour is now less vibrant than the start/end dates background colour.
Fixed:
- Backpack/Calendar:
- Small tweaks under the hood to make cell rendering more consistent in different size cells. The difference should be imperceivable.
Added:
- Backpack/Calendar:
- Added price label configuration for showing price labels below calendar cells.
Breaking:
- Backpack/Calendar:
cellStyleFor Datehas been renamedcellDataForDateand will require an instance ofBPKCalendarTrafficDatato be returned. To migrate easily, please replaceBPKCalendarDateCellStyleNormalwithBPKCalendarTrafficData.normaletc. ReplaceBPKCalendarDateStyleNormalwithnil.
Added:
-
Backpack/Icon:
- New icon name classes
BPKXlIconName,BPKLargeIconNameandBPKSmallIconName. These are currently unused, but will be needed for new icon APIs that are coming soon. - Added new methods to
BPKIconfor creating an icon using the new icon name classes.
- New icon name classes
-
Backpack/Appearance:
- Added
BPKAppearancewhich can be used to apply common brand colours toUIAppearanceproperties.
- Added
-
Backpack/TabBarController:
- Added
UITabBarItem+Backpack, a category ofUITabBarItemwhich can be used to add and remove a small dot from aUITabBarItem. - Changed
BPKTabBarControllerto automatically apply Skyscanner tint colours.
- Added
Added:
- Backpack/Rating:
- New
horizontalPilllayout option, which gives a shorter rating with the title and subtitle next to each other instead of being stacked.
- New
Fixed:
- Backpack/Rating:
- Fixed an issue that caused the wrong font-size to be used unless rating size was explicitly set.
Added:
- Backpack/Calendar
- Added new
BPKCalendarDateCellStyleNoDataenum case to indicate a calendar cell style for which there is no price information available.
- Added new
Fixed:
- Backpack/Calendar
- Updated the calendar date cell styles to match the most up-to-date designs.
- Current day no longer has a special style.
Breaking:
- Backpack/Chip:
- Shadows are no longer supported. The
shaddowEnabledproperty has been removed. - We've removed the property
colorUnselectedState. If a custom colour is provided, it will colour the unselected and disabled states too. - The default chip style is now
outlineinstead offilled.
- Shadows are no longer supported. The
Fixed:
- Backpack/Button:
- Changed the button corner radius from
BPKCornerRadiusXs(4) toBPKCornerRadiusSm(8).
- Changed the button corner radius from
Breaking:
- Backpack/Radii:
BPKCornerRadiusSmis now8instead of4. To continue using4, replaceBPKCornerRadiusSmwithBPKCornerRadiusXs.
Fixed:
- Nothing
- Just testing the release process
Fixed:
- Nothing
- Just testing the release process
Fixed:
- Nothing
- Just testing the release process
Added:
- Backpack/OverlayView
- Added
OverlayViewcomponent for rendering background content with a tint.
- Added
Fixed:
- Backpack/Calendar
- Fixed a bug where the calendar rendered incorrectly with pre-selected dates using range selection.
Added:
-
Backpack/Card:
-
Backpack/Panel:
- The corner radius has been increased from
BPKCornerRadiusSmtoBPKCornerRadiusMd.
- The corner radius has been increased from
-
Backpack/Radii:
- New
BPKCornerRadiusXsandBPKCornerRadiusMdtokens.
- New
Added:
-
Backpack/Spinner:
- New
secondarystyle which is dark in light-mode and light in dark-mode.
- New
-
Backpack:
- Upgrade from Swift 4.2 to 5.
Fixed:
-
Backpack/Dialog:
- Reduced body text size.
-
Backpack/NavigationBar:
- Updated the default background color of
backgroundViewto clear.
- Updated the default background color of
Breaking:
- Backpack/Calendar:
- Removed the method
- (BOOL)calendar:(BPKCalendar *)calendar isDateEnabled:(NSDate *)dateinBPKCalendarDelegate, is now- (BOOL)calendar:(BPKCalendar *) isDateEnabled:(BPKSimpleDate *)date. If you need theNSDate *for your implementation use thedateForCalendar:method onBPKSimpleDate, passingcalendar.gregorianfor the argument. - The two deprecated methods
- (UIColor *)calendar:(BPKCalendar *)calendar fillColorForDate:(NSDate *)dateand- (UIColor *)calendar:(BPKCalendar *)calendar titleColorForDate:(NSDate *)datehave now been removed. Please usecalendar:cellStyleForDate:instead.
- Removed the method
Added:
- Backpack/Color:
- Added new class properties on
UIColorfor all Backpack's colours with the prefixbpk. For exampleskyGrayisUIColor.bpk_skyGray. In Swift this change means Backpack's colours can be used contextually e.g.myView.backgroundColor = .bpk_skyBlue.
- Added new class properties on
BREAKING:
-
Backpack/BorderSize:
BorderSizehas been renamedBorderWidth. To migrate, please update any references toBPKBorderSize.
-
Backpack/Radii:
- Non-UIKit aligned values have been removed. To migrate, replace any tokens starting
BorderRadiuswithCornerRadius.
- Non-UIKit aligned values have been removed. To migrate, replace any tokens starting
Added:
-
Backpack/BorderSize:
- Added new
UIKitaligned tokens, namedBPKBorderWidth...instead ofBPKBorderSize....
- Added new
-
Backpack/Radii:
- Added new
UIKitaligned tokens, namedBPKCornerRadius...instead ofBPKBorderRadius....
- Added new
Fixed:
- Backpack/Icon:
- Reverted
eco-leaficon to align better to existing campaigns.
- Reverted
Fixed:
- Backpack/Icon:
- Fixed an issue with the display of the
filtericon.
- Fixed an issue with the display of the
Fixed:
- Backpack/StarRating:
- Adopted a new design that uses the latest icon set from Backpack.
Fixed:
- Backpack/Icon:
- Reinstated some icons that were accidentally removed.
Breaking:
- Backpack/Icon:
- We've adopted our new icon set! Some icons are now only available at small or large size, whilst most are available at both. Check our design docs to see which are available.
Breaking:
- The minimum deployment target is now iOS 12.0 (previously iOS 11.0).
Fixed:
- Backpack/Color:
- Colours whose values are already defined now reference that colour, instead of redefining it.
- Dynamic colours are now defined using pre-defined Backpack colour properties.
Added:
- Backpack/Chip:
- New
styleproperty toBPKChipwhich can be either filled (default) or outline.
- New
Fixed:
- Aligned swift version to that used in the app.
Fixed:
- Backpack/Calendar:
- Fixed an issue where setting an empty date selection after same day selection would crash the calendar.
Added:
- Backpack/Icon:
- Added new
account--name,ticket-flexibleandhotel-flexibleicons.
- Added new
Added:
-
Backpack/FlareView:
- Added property for setting
cornerRadius.
- Added property for setting
-
Backpack/BarChart:
- New
BarChartcomponent
- New
Breaking:
- Backpack/Snackbar
- Change to text being required and title being optional to align with Android.
Breaking:
- Backpack/Snackbar:
- Added
textproperty which was previously missing. - Renamed
BPKSnackbar's delegate fromBPKSnackbarProtocoltoBPKSnackbarDelegate. - Renamed
snackbarDismissed:cause:inBPKSnackbarDelegatetosnackbar:dismissedWithCause:. - Changed
BPKSnackbarAPI to make it possible to supply an accessibility label for the button in icon only mode. - Removed the ability to use a button with both an icon and text since this is not supported on Android.
- Added
Fixed:
- Backpack/Snackbar
- The Snackbar and its related symbols now show up on the doc site.
- Improved accessibility of Snackbar.
Added: -Backpack/Chip:
- Added support for passing an icon name to display next to the title text.
Breaking:
-
Backpack/Button:
- The title only button no longer hides the title when in the loading state, instead it grows and adds the spinner next to the title like the text + icon variant.
-
Backpack/BottomSheet
- Renamed
BottomSheetclass toBPKBottomSheetin Swift to be consistent with other components. - Renamed
BackpackFloatingPanelControllerclass toBPKFloatingPanelControllerin Swift to be consistent with other components.
- Renamed
-
Backpack/Theme
-
Backpack/TappableLinkLabel
- Removed some long-deprecated methods.
Added:
- Backpack/FlareView
- Added option for displaying the pointer at the top of the view instead of the bottom.
Fixed
- Backpack/TabBarController:
- Fixed a typo in the component class name.
Fixed
-
Backpack/Dialog:
- A change to
iconDefinitionwhile the dialog is open will now be respected and the UI will update immediately.
- A change to
-
Backpack/TabBarController:
- Fixed a typo in the component class name.
Added
- Backpack/HorizontalNavigation:
- Added alternate appearance option for using over dark backgrounds in light mode.
Added:
-
Backpack/TabBarController:
- New component which inherits from
UITabBarController.
- New component which inherits from
-
Backpack/TappableLinkLabel:
- New
textColorprop for changing the non-link text color.
- New
Fixed:
- Backpack/Color:
- Dynamic colours are now defined using pre-defined Backpack colour properties.
Breaking:
- Backpack
- Backpack now consistently uses the
BPKprefix in Swift.
- Backpack now consistently uses the
Fixed:
- Backpack/Button:
- Fixed an issue that caused the loading spinner to sometimes be rendered out of view for title-only buttons.
Breaking:
- Backpack/Color:
- Removed
secondaryDarkColor.
- Removed
Added:
- Backpack/HorizontalNavigation
- There's a new
BPKHorizontalNavigationOptionWithBadgewhich it could be used to create a new section with a title and a badge.
- There's a new
Added:
-
Backpack/Calendar
- Added method
refreshDateAppearancefor refreshing the appearance of every calendar cell.
- Added method
-
Backpack/BottomSheet:
- New
updateLayoutAPI for forcing layout refresh on the bottom sheet. Useful, for example, to update bottom sheet size according to content size changes.
- New
Fixed:
-
Backpack/HorizontalNavigation
- HorizontalNavigation now applies its color and size to changed options.
-
Backpack/Icon:
- Updated hotels icon.
Breaking:
- Backpack/HorizontalNavigation
optionsonBPKHorizontalNavigationis now anNSArray<id<BPKHorizontalNavigationOptionType>> *was previouslyNSArray<BPKHorizontalNavigationOption *> *.initWithOptions:selected:onBPKHorizontalNavigationnow takesNSArray<id<BPKHorizontalNavigationOptionType>> *as its first argument rather thanNSArray<BPKHorizontalNavigationOption *> *.
Added:
- Backpack/HorizontalNavigation
- Via
makeIteminBPKHorizontalNavigationOptionTypeit's possible to provide custom rendering for the items in the horizontal navigation. - New style with a red notification dot.
- Via
- Backpack/Calendar
- Via
contentOffsetinBPKCalendarit's possible to modify the underlying collection view's content offset.
- Via
Fixed:
- Backpack/Calendar
- Calendar now doesn't snap to month name when its height changes.
- Calendar range selection colours have been aligned to other platforms.
Added:
- Backpack/BottomSheet:
- New API for presenting a Bottom Sheet without scrollable content. The height of the bottom sheet will be automatically calculated based on its intrinsic height.
Added:
- Backpack/BottomSheet:
- New API that allows presenting a bottom sheet on top of a previous one.
Deprecated:
- Backpack/Calendar
calendar:titleColorForDate:inBPKCalendarDelegatehas been deprecated in favour ofcalendar:cellStyleForDate:.calendar:fillColorForDate:inBPKCalendarDelegatehas been deprecated in favour ofcalendar:cellStyleForDate:.
Added:
- Backpack/Calendar
- Added a new preferred method for coloured dates in the calendar via
BPKCalendarDateCellStyleand the new delegate methodcalendar:cellStyleForDate:. Code that previously usedcalendar:fillColorForDate:andcalendar:titleColorForDate:to colour code the calender to show price information should switch to this new method instead. When implementingcalendar:cellStyleForDate:it's possible to fall back to the old delegate methods by returningBPKCalendarDateCellStyleCustomin which case the calendar will call these methods on the delegate to style the cell.
- Added a new preferred method for coloured dates in the calendar via
Breaking:
- Backpack/Calendar:
- We've changed some of the Calendar delegate methods as we realised they are not exposing the calendar instance that's calling them.
Fixed:
-
Backpack/Badge:
- Aligned light mode badges to dark mode style.
-
Backpack/Calendar:
- Range selection now uses a solid colour instead of a transparent one, which should lead to less unpredictable behaviour.
Added:
- Backpack/Color:
- New elevation colours:
backgroundElevation01DarkColor,backgroundElevation01LightColor,backgroundElevation02DarkColor,backgroundElevation02LightColor,backgroundElevation03DarkColor,backgroundElevation03LightColor,backgroundElevation01Color,backgroundElevation02Color,backgroundElevation03Color
Fixed:
- Backpack/BottomSheet:
- Fixed an issue that caused the bottom section shadow to not update when a user changes their interface-style.
Fixed:
- Backpack/Calendar:
- We've toned down the divider between the week-days and calendar grid so that it's less bright in dark-mode.
Fixed:
- Backpack/Button:
- Backpack/StarRating:
- Backpack/Color:
- Adopted latest dark mode colour specification.
Added:
- Backpack/Tokens
- New
backgroundAlternativeColorandbackgroundAlternativeSecondaryColorcolours.
- New
Fixed:
-
Backpack/Badge:
- Lightened the dark-mode colours used for
successandwarningbadges to make them more visually appealing.
- Lightened the dark-mode colours used for
-
Backpack/Snackbar:
- The logic to search the Tab Bar has changed to support
UITabBar.
- The logic to search the Tab Bar has changed to support
Added:
- Backpack/Font
- Reinstated
BPKFont's APIs for constructingUIFontinstances. Back in version 2.0 we removed theseBPKFontmethods because the new type scale required us to render text only via attributed strings. With our new typeface, Relative, we have baked these rendering concerns into the typeface itself and we can again useUIFontinstances directly. As always we recommend you prefer higher level components such asBPKLabelfor you text rendering needs.
- Reinstated
Fixed:
- Backpack
- Significantly improved reference documentation.
Fixed:
- Backpack/Button:
- Fixed the disabled link colour in Dark Mode.
Fixed:
-
Backpack/Dialog:
- Significantly improved the behaviour of the dialog in extreme cases.
BPKDialogControllernow appropriately constraints the dialog to not grow to a size too large for the viewport.BPKDialogControllernow limits how large the dialog grows in large view ports like iPad.BPkDialogViewcan now be constrained to stop growing and will handle small viewports by shrinking its content.
-
Backpack/Toast
- Fixed the toast's appearance in dark mode.
Breaking:
- Backpack/Font:
FontMappingclass removed.fontMappingargument is no longer accepted byBPKFont.
Fixed:
-
Backpack/Rating:
- Made the outer container an accessibility element so that an accessibility label can be set.
-
Backpack/Calendar:
- Fixed alignment of month headings in RTL languages.
Fixed:
- Backpack/Font:
- Fixed an issue that caused an infinite loop in
BPKFont.
- Fixed an issue that caused an infinite loop in
Breaking:
-
Backpack/Font:
- The
fontMappingargument is now unused and will be removed in the future. - To enable the Relative typeface globally, a suitable
BPKFontDefinitionProtocolmust be registered withBPKFont.
- The
-
Backpack/Button
- Property
cornerRadiusis not longer available to customise.
- Property
Added:
-
Backpack/NavigationBar
- Added a property
largetTitleTextAlignmentto support overriding the text alignment of the large title.
- Added a property
-
Backpack/BorderSize
- Backpack border size constants are now available via
Backpack/BorderSize.
- Backpack border size constants are now available via
-
Backpack/HorizontalNavigation
- Now the navigation scroll horizontally if the content exceed the max width
Fixed:
-
Backpack/HorizontalNavigation:
- Fixed issue where
HorizontalNavigationwould have an animation glitch when updating its options.
- Fixed issue where
-
Backpack/HorizontalNavigation
- Change spacing between items
Added:
- Backpack/NavigationBar
- Added a property
largetTitleTextAlignmentto support overriding the text alignment of the large title.
- Added a property
Fixed:
-
Backpack/Font:
- Removed old brand methods, leaving the API unchanged.
-
Backpack/HorizontalNavigation:
- Fixed issue where
HorizontalNavigationwould have an animation glitch when updating its options.
- Fixed issue where
Added:
- Backpack/Calendar:
- It is now possible to implement a custom method to determine which dates should be enabled/disabled according to some custom criteria.
Fixed:
- Backpack/NavigationBar
- Fixed button positions in RTL.
Fixed:
-
Backpack/Calendar
- Fixed the year pill colours in dark mode.
-
Backpack/Progress
- Fixed the background colour in dark mode.
-
Backpack/StarRating
- Fixed the background colour in dark mode.
Added:
-
Backpack/Snackbar:
- New Snackbar component added
-
Backpack/NavigationBar
- New left and right buttons
Fixed:
-
Backpack/Calendar:
- Disabled dates are now hidden from accessibility tools so that users don't have to flick through dozens of disabled options.
-
Backpack/Spinner:
- The primary style spinner is now
whitein "Dark mode".
- The primary style spinner is now
Added:
- Backpack/Color:
- Added a dynamic
lineColorto our colour palette.
- Added a dynamic
Fixed:
- Backpack/Button:
- Fixed an issue with interactions when a title has be set, and then reverted to
nil.
- Fixed an issue with interactions when a title has be set, and then reverted to
Fixed:
- Backpack/Dialog:
- Fixed an issue that caused the flare-view to display off-center on iOS 11.
Fixed:
- Backpack/Button:
- Fixed an issue that caused buttons to resolve the wrong dynamic colours when the interface style has been overridden.
Fixed:
- Backpack/Button
- Fixed a bug that prevented button appearance updating when UI style changes.
Added:
- Backpack/Dialog:
- Added
buttonSizeproperty so that small buttons can be used.
- Added
Fixed:
- Backpack/Dialog:
- Increased bottom padding to create a visually balanced appearance.
Breaking:
- Backpack/SimpleDate:
- SimpleDate now requires a calendar object for more reliable conversions of dates.
Breaking:
- Backpack/FlareView:
- The
isFlareVisibleproperty is no longer supported. Flare views will always have a flare.
- The
Added:
- Backpack/Dialog:
- New
flareViewargument which allows a flare view to be configured above the content.
- New
Fixed:
- Backpack/Button
- Revert code to 19.3.0 version
Added:
- Backpack/Dialog:
- New
cornerStyleproperty which allows a larger corner-radius to be applied.
- New
Added::
- Backpack/Button:
- Buttons now support
loadingstate even without an image present.
- Buttons now support
Fixed:
- Backpack/Rating:
- Fix minor layout issues in
BPKRating.
- Fix minor layout issues in
Added:
-
Backpack/Icon:
- New
multiple-bookingsicon.
- New
-
Backpack/Color:
- New semantic colours.
Fixed:
- Backpack:
- Made components dark mode compatible.
Breaking:
- Backpack/Theme:
- Theme definitions must now implement
progressBarPrimaryColorandlinkPrimaryColor.
- Theme definitions must now implement
Breaking:
- Backpack/Calendar:
SimpleDatemust now be imported usingBackpack/SimpleDateinstead ofBackpack/Calendar.
Breaking:
- Backpack/Color:
- Removed
underlayColorcolor.
- Removed
Added:
-
Backpack/Color:
- Added
underlayColorcolor which will be removed in the next release. - Added dark mode compatible background color.
- Added
-
Backpack/Icon:
- Added file and printer icons.
Added:
- Backpack/Button:
- New
isLoadingproperty which can be used to display a spinner inside the button.
- New
Added:
- Backpack/Duration:
- New Duration class which exposes our animation duration constants.
Fixed:
- Backpack/FlareView:
- Fixed issue that caused a flickering line above the pointer when animated.
Breaking:
- Backpack
- Removed old brand colours and components.
Fixed:
- Backpack:
- Some minor changes to be Xcode 11 compatible
Breaking:
- Backpack:
- Changed the appearance of every component to use our NEW BRAND 🎉
Added:
- Backpack/Color:
- NEW BRAND COLOURS 🎉
Added:
-
Backpack/Rating:
- New
layoutandsizeproperties.
- New
-
Backpack/StarRating
- New
BPKStarSizeXLargesize and user interaction feature
- New
Added:
-
Backpack/Rating:
- New rating component with title and subtitle. Size and layout options coming soon.
-
Backpack/Toast:
- New
BPKToastcomponent.
- New
Breaking:
- Backpack/Theme
- New properties
ratingLowColor,ratingMediumColorandratingHighColor.
- New properties
Added:
- Backpack/Chip:
- New
isShadowEnabledproperty to optionally disable chip's shadows. - New
backgroundTintproperty to optionally change the chip background color. - New
colorUnselectedStateproperty to decide whether the background color should be used in a lighter form for the background.
- New
Fixed:
- Backpack/Card:
- Fixed issue that caused
backgroundColorto be wrongly reverted to white on press.
- Fixed issue that caused
Fixed:
- Backpack/NavigationBar:
- Made the blur effect lighter to increase text contrast.
Added:
- Backpack/Icon:
- New
single-bookingicon.
- New
Fixed:
- Backpack/NavigationBar:
- Fixed issue that caused starting offset value to be wrong in some circumstances.
Fixed:
- Backpack/TappableLinkLabel:
- Fixed issue that caused links to appear at base size when no theme is applied.
- Prevent titles from appearing partially out of view if scrolled to the wrong place.
Added:
- Backpack/NavigationBar
- Some improvements in the
BPKNavigationBaranimations imitating the native behaviour
- Some improvements in the
Fixed:
- Backpack/NavigationBar:
- Reverted the previous fix in 16.0.0 as it had unintended side-effects
Fixed:
- Backpack/NavigationBar:
- Fixed an issue that would cause the large title to jump when bouncing back from a scroll down.
Changed:
- Dropped iOS 10 support.
Added:
- Backpack/Color
- Added new colours
textPrimaryLightColorandtextSecondaryLightColor
- Added new colours
Added:
- Backpack/Panel:
- New
styleproperty which can be eitherBPKPanelStyleDefaultorBPKPanelStyleElevated.
- New
Fixed:
- Backpack/NavigationBar
- Fixed issue related to the scroll smoothness using the navigation bar
Added:
- Backpack/Dialogs:
- Now the title is optional maintaining all the subviews in the correct place
Fixed:
- Backpack/Theme:
- Updated theme
graycolours.
- Updated theme
Breaking:
- Backpack/Theme:
- Added
systemGreenandsystemRedtoBPKThemeDefinition.
- Added
Added:
- Backpack/FlareView:
- New
FlareViewcomponent
- New
Fixed:
- Backpack/Calendar:
- Fixed an inconsistency in the gray colours used in the Calendar component.
Added:
- Initial version of
BPKNavigationBarwith large titles.
Fixed:
- Backpack/Font:
- Fixed an issue that sometimes causes the wrong font to be selected.
Fixed:
- Backpack/Button:
- Fixed issue with Button pressed state being too subtle.
Added:
- Backpack:
- New
BottomSheetSwift component for presenting a floating panel similar to the one used in Apple Maps, Stocks and other native Apple apps.
- New
Fixed:
- Backpack/Label:
- Default text colour is now
gray900as this is a more suitable colour in the new palette.
- Default text colour is now
Breaking:
- Backpack/Dialog
- Icon definition is now encapsulated in a separate object, and is optional.
Added:
- Backpack/Color:
- Updated gray colours
gray50,gray100,gray200,gray300,gray400,gray500,gray700,gray900 - Deprecated
gray600andgray800please update as these will be removed in the future.
- Updated gray colours
Breaking:
- Backpack/Icon
- Added new icons
BPKIconNameSwaprenamedBPKIconNameSwapHorizontal
Added:
- Backpack/Icon
- Added new icons
BPKIconNameSwapVertical
Fixed:
- Backpack/HorizontalNavigation:
- Reduced horizontal spacing between items.
Fixed:
- Backpack/Dialog:
- Fixed bottom padding underneath buttons.
Added:
- Backpack/HorizontalNavigation:
- When creating a
BPKHorizontalNavigationOption, atagvalue can now be provided.
- When creating a
Added:
-
Backpack/HorizontalNavigation:
- Added
HorizontalNavigationcomponent. - Added small variants.
- Added option to hide the selected item bar.
- Added option to specify an icon for each option.
- Added
-
Backpack/ProgressBar:
- Added
ProgressBarcomponent.
- Added
Breaking:
- Backpack/Theme:
- Added
horiontalNavigationSelectedColorproperty.
- Added
Added:
- Backpack/StarRating
BPKStarRatingis nowIB_DESIGNABLE.
Changed:
- Backpack/Icon
- Updated
BPKIconNameTripswith a new design.
- Updated
Added:
- Backpack/StarRating:
- New
StarRatingcomponent to display a rating between 0.0 and 5.0.
- New
- Backpack/Icon:
- New
sizeprop onBPKIconViewto control icon size. - New
flipsForRightToLeftprop onBPKIconViewto support icons with a horizontal direction in a right to left environment.
- New
Fixed:
- Backpack/Dialog:
- Dialog now respects a user's preference for reduced motion and reduced transparency.
- Backpack/BPKTappableLinkLabel:
textAlignmentsimilar toUILabellineBreakModesimilar toUILabel
Added:
- Backpack/Icon
- New icons:
- Added
flight-landingasBPKIconNameFlightLanding. - Added
flight-takeoffasBPKIconNameFlightTakeoff. - Added
aircraftasBPKIconNameAircraft.
- Added
- New icons:
Fixed:
- Backpack/Calendar:
- Fixed layout issues when using range selection in RTL.
Nothing of note!
Added:
- Backpack/Label:
- New method for setting the label font style for a specified range.
Fixed:
-
Backpack/TappableLinkLabel:
- Prevent cutting off parts of text with larger fonts.
-
Backpack/Button
- Icon-only buttons are now always circular regardless of the
cornerRadiusappearance setting.
- Icon-only buttons are now always circular regardless of the
Added:
- Backpack/TappableLinkLabel:
- Added method for adding a link whilst providing Transit Information (an
NSDictionary) instead of a URL. - New
styleproperty which can be used when placing the link label over a blue/dark background. - Added
numberOfLinesproperty.
- Added method for adding a link whilst providing Transit Information (an
Added:
- Backpack/TappableLinkLabel:
- New
TappableLinkLabelcomponent.
- New
Added:
- Backpack/Icons:
- Updated
bpk-svgsdependency to get new icons.
- Updated
Added:
- Backpack/TextField:
- Added a new class
BPKTextField, a subclass ofUITextFieldwhich uses the Skyscanner style.
- Added a new class
Fixed:
- Backpack/TextView:
- Fixed issue where
BPKTextViewdidn't set proper styling when user typed.
- Fixed issue where
Fixed:
- Backpack/Button:
- Fixed issue where content color of
BPKButtondidn't change after changing itslinkContentColor
- Fixed issue where content color of
Breaking:
- Backpack/Theme:
- We've deprecated
grayXXColorFor:methods in favour of usingUI_APPEARANCE_SELECTORs.
- We've deprecated
Breaking:
- Backpack/Theme:
BPKContainerController themeContainerhas been renamedcontainer.BPKContainerController isThemeActivehas been renamedisContainerActive.
Added:
- Backpack/Theme:
- Added initialiser for creating a
BPKContainerControllerwith aUIView Class, instead of insisting on a complete theme definition.
- Added initialiser for creating a
Breaking:
-
Backpack/Theme
- Theme definitions now require a
fontMappingobject attribute of typeBPKFontMapping.
- Theme definitions now require a
-
Backpack/Font
- A number of
BPKFontmethods now require afontMappingto provided. This can benil.
- A number of
Added:
- Backpack/Icon
- Added
heart--outlineasBPKIconNameHeartOutline.
- Added
Fixed:
- Backpack/Icon
- Updated stroke widths of
heart,heart--outline,world-amer,world-emeaandworld-apacicons.
- Updated stroke widths of
Added:
- Backpack/Icon
- Added
face--blank,face--happyandface--sadicons.
- Added
Changed:
- Backpack/Icon
- Updated
heart--outline
- Updated
Changed:
- Backpack/Icon
- Updated
heart,family
- Updated
Added:
- Backpack/Icon
- Added
heart,heart--outline,trend--steady,trend--down,trend--will-rise,filterworld--amer,world--apacandworld--emeaicons.
- Added
Fixed:
- Backpack/Theme:
- Exposed missing
BPKThemeContainerinterface.
- Exposed missing
Added:
- Backpack/Theme
- Added utilities for getting
gray50Color,gray100Color,gray300Color,gray500Color,gray700Color, andgray900Color.
- Added utilities for getting
Fixed:
- Backpack/Calendar:
- Added
Button,Selected, andNot enabledaccessibility traits as appropriate.
- Added
Added:
-
Backpack/Theme:
- Added
featuredButtonContentColor,featuredButtonGradientStartColor, andfeaturedButtonGradientEndColorproperties to Backpack theme definitions. - Added
destructiveButtonContentColor,destructiveButtonBackgroundColor, anddestructiveButtonBorderColorproperties to Backpack theme definitions.
- Added
-
Backpack/Button:
- Added
featuredContentColor,featuredGradientStartColor, andfeaturedGradientEndColorappearance proxy properties to support theming. - Added
destructiveContentColor,destructiveBackgroundColor, anddestructiveBorderColorappearance proxy properties to support theming.
- Added
Fixed:
- Backpack/Button
- Fixed a bug which meant that button text wasn't properly displayed when set in interface-builder.
Added:
-
Backpack/Theme:
- Added
primaryGradientproperty to Backpack theme definitions.
- Added
-
Backpack/Gradient:
- Added a new gradient view
BPKprimaryGradientView/PrimaryGradientViewsuitable for rendering a primary gradient.
- Added a new gradient view
Added:
-
Backpack/Theme:
- Added
buttonCornerRadiusproperty to Backpack theme definitions.
- Added
-
Backpack/Button:
- Added
cornerRadiusappearance proxy property to support theming.
- Added
Added:
-
Backpack/Theme:
- Added
calendarDateSelectedContentColorandcalendarDateSelectedBackgroundColorproperties to Backpack theme definitions.
- Added
-
Backpack/Calendar:
- Added
dateSelectedContentColoranddateSelectedBackgroundColorappearance proxy properties to support theming.
- Added
Added:
-
Backpack/Theme:
- Added
secondaryButtonContentColor,secondaryButtonBackgroundColorandsecondaryButtonBorderColorproperties to Backpack theme definitions.
- Added
-
Backpack/Button:
- Added
secondaryContentColor,secondaryBackgroundColorandsecondaryBorderColorappearance proxy properties to support theming.
- Added
Fixed:
- Backpack/Calendar
- Fixed the background of the header to be transparent.
Added:
-
Backpack/Theme:
- Added
buttonLinkContentColorproperty to Backpack theme definitions.
- Added
-
Backpack/Button:
- Added
linkContentColorappearance proxy property to support theming.
- Added
Added:
-
Backpack/Theme:
- Added
chipPrimaryColorproperty to Backpack theme definitions.
- Added
-
Backpack/Chip:
- Added
primaryColorappearance proxy property to support theming.
- Added
Fixed:
- Backpack/Switch
- Backpack/Theme
- Fixed a race condition bug were
BPKSwitchwhen created from code would not correctly support theming.
- Fixed a race condition bug were
Added:
- Backpack/Theme:
BPKThemeContainerControllernow returnsself.rootViewControllerforforwardingTargetForSelector:this improves code that makes assumptions about the specific methods available onkeyWindow.rootViewControllerwhen the previousrootViewControlleris wrapped in aBPKThemeContainerController. In debug builds this will cause an assertion error as it is not a behaviour we encourage relying on.
Fixed:
- Backpack/Calendar:
- Added accessibility labels to
BPKCalendarcells to provide month and year context to screen-readers.
- Added accessibility labels to
Changed:
- Backpack/Icon
- Updated
alert--active,alert--add,alert--expired,alert--remove,price-alertsicons.
- Updated
Added:
-
Backpack/Theme:
- Added
primaryButtonContentColor,primaryButtonGradientStartColor, andprimaryButtonGradientEndColorproperties to Backpack theme definitions.
- Added
-
Backpack/Button:
- Added
primaryContentColor,primaryGradientStartColor, andprimaryGradientEndColorappearance proxy properties to support theming.
- Added
Added:
- Backpack/Color
- Added colour blending utility, which can combine any two given colours with a specified weighting.
Added:
- Backpack/Theme:
- Added
primaryColorproperty to Backpack theme definitions. - Added
primaryColorhelper method toBPKTheme, which returns the appropriate themed primary colour given a view.
- Added
Added:
- Backpack/Theme
- Theme container controller now holds a reference to the currently applied theme.
Added:
-
Backpack/Spinner
- Added
primaryColorappearance attribute to support theming.
- Added
-
Backpack/Theme
- Themes now apply
primaryColorto Backpack Spinner components.
- Themes now apply
Breaking:
- Backpack/Theme
- Theme container classes are no longer exposed by Backpack/Theme. Instead they must be accessed using the
containermethod of the themes.
- Theme container classes are no longer exposed by Backpack/Theme. Instead they must be accessed using the
Changed:
- Backpack/Calendar
- New selection mechanism where every selection after a range defined clears the previously selected range
Breaking:
- Backpack/Calendar
- Changed the external interface of the Calendar to use a simple time zone independent date class,
BPKSimpleDate/SimpleDate. All methods and properties that previously usedNSDatein the device's local time zone now useBPKSimpleDateinstead. minDate,maxDate, andlocaleinBPKCalendar/Calendarare now correctlynonnull.
- Changed the external interface of the Calendar to use a simple time zone independent date class,
Added:
- Backpack/Calendar
- Added a method:
simpleDateFromDate:/simpleDate(from:)toBPKCalendar/Calendarto convert fromNSDatein the device's local time zone toBPKSimpleDate/SimpleDate. - Added a method:
dateFromSimpleDate:/date(from:)toBPKCalendar/Calendarto convert fromBPKSimpleDate/SimpleDatetoNSDatein the device's locale time zone. - Added a new initializer to
BPKCalendar/Calendarto create a calendar with a predefinedminDateandmaxDate. This initializer is preferred.
- Added a method:
- Backpack/Calendar
- Fixes for iPad split screen: Layout updated at the right time (after screen transition completed)
Fixed:
- Backpack/Calendar
- Revert breaking changes that were accidentally included in 6.6.1.
Fixed:
- Backpack/Calendar
- Make sure screen rotation works correctly.
- Fixed layout issues on iPad.
Added:
- Backpack/Calendar
- Exposed some read only properties of the calendar's underlying
scrollView. These are:contentInsetcontentSizeisDeceleratingisTrackingisDragging
- Exposed some read only properties of the calendar's underlying
Fixed:
- Backpack/Button
- Fixed a bug where Backpack buttons would incorrectly lay out as if there was an image if the image was set and then removed.
Added:
- Backpack/Icon
- Added new icons
BPKIconNameEcoLeafBPKIconNameHide
- Added new icons
Changed:
- Added a runtime check that all Backpack UI components are being called from the main thread.
Added:
- Backpack/Theme
- New example themes and containers.
Added:
Backpack/Icon-
Added a new class
BPKIconView(IconViewin Swift) for displaying icons. It is based onUIImageViewand the perfect choice when you just want to display an icon with a tint.#import <Backpack/Color.h> #import <Backpack/Icon.h> BPKIconView *iconView = [[BPKIconView alloc] initWithIconName:BPKIconNameAccessibility size:BPKIconSizeLarge]; iconView.tintColor = BPKColor.blue500;
-
Fixed:
- Backpack/Button
- Bug fix to ensure disabled style is not overridden when title is set.
- Bug fix to make link button background transparent.
Added:
-
Backpack/Icon
- Added new icons
BPKIconNameSocialLikeBPKIconNameGridLayout
- Added new icons
-
Backpack/Font
- Added new API to make it easier to deal with custom attributes.
attributesForForStyle:withCustomAttributes:in Objective-C andmakeAttributes(fontStyle:customAttributes:)in Swift. Note this API will ignore some overrides that would change the text rendering to the point where it is no longer conforming to the Backpack style.
- Added new API to make it easier to deal with custom attributes.
Fixed:
- Backpack/Calendar
- Expose the
NSCalendarinstance used as a read only property.
- Expose the
Added:
- Backpack/Icon
- Added new icons
BPKIconNameSpeaker
- Added new icons
Breaking:
- Bumped deployment target to iOS 10.0.
Fixed:
- The calendar component no longer uses Auto Layout internally. This is to enable it to be used from React Native.
- Internals of the date selection logic for the calendar has been refactored to support usage from React Native.
Breaking:
- Backpack
- Remove all subspecs in favour of a single specification for the whole pod.
Backpack.Font- Made the API more swifty by renaming the methods in Swift.
Added:
- Backpack/Calendar
- Added ability for a user to select a range of dates beginning and ending on the same day.
Added:
- Backpack/Button
- New
outlinebutton type which renders just an outline and the text. Designed for use on more colourful backgrounds.
- New
Fixed:
- Backpack/Calendar
- Minor fixes
Breaking:
- Backpack/Font
- XXL and XXXL font sizes are now
30ptand36pt(previously36ptand42pt). The42ptfont size has been removed for the time being.
- XXL and XXXL font sizes are now
Fixed:
BPKCalendar:- Minor tweaks
Added:
BPKCalendar:- Added Calendar component which was kindly contributed by Stark.
Added:
BPKCard:- Added
cornerStylesoptions of small (default) and large.
- Added
Breaking:
BPKShadow:- Removed
Xlvariant ofBPKShadow.
- Removed
Fixed:
BPKChip:- Updated accessibility traits.
Fixed:
- Backpack/Icon:
- Updated
bpk_send_messageicon.
- Updated
Added:
- Backpack/Chip
- Added a new Skyscanner-branded chip component that supports toggling of
selectedstate, and can be disabled.
- Added a new Skyscanner-branded chip component that supports toggling of
Added:
Backpack/Gradient:
- Added Baseline Scrim for use as an overlay on images that contain text content.
Added:
- Backpack/Switch
- A new component for showing Skyscanner-branded switches, to be used in place of
UISwitch.
- A new component for showing Skyscanner-branded switches, to be used in place of
Breaking:
- Backpack/Font
- The new type scale is here and with it some parts of
BPKFonthave been removed, but fear notBPKFonthas gained new capabilities too. See the migration guide below.
- The new type scale is here and with it some parts of
Added:
- Backpack/Badge
- Backpack/Button
- Backpack/Dialog
- Backpack/Label
- Backpack/TextView
- All these component use the new type scale.
The good news are that if you already use one of the higher level components you don't need to do anything. If you are directly using BPKFont some methods have been removed, specifically those that return UIFont * directly. The new type scale requires greater control of text rendering, because of this UIFont instances are not enough to fully qualify text. Example migration
UIFont *font [BPKFont textBase];
// Use `font`NSAttributedString *attributedString = [BPKFont attributedStringWithFontStyle:BPKFontStyleTextBase content:@"Hello"];
// Use `attributedString`
// There's also `(NSAttributedString *)attributedStringWithFontStyle:(BPKFontStyle)fontStyle content:(NSString *)content textColor:(UIColor *)textColor`
// if you need control of the color use to render the font(the default is gray700).
// `+ (NSDictionary<NSAttributedStringKey, id> *)attributesForFontStyle:(BPKFontStyle)fontStyle` is useful when you need to construct an `NSAttributedString` yourself.Added:
- Backpack/Icon
- Added new icons
BPKIconNameCallbackBPKIconNameEndCallBPKIconNameKeypadBPKIconNameMuteBPKIconNamePhoneCallBPKIconNameSendMessageBPKIconNameUnmute
Added:
- Backpack/Dialog
- A new component for showing Skyscanner style alerts and bottom sheets.
Fixed:
- Backpack/Badge
- Backpack/Card
- Backpack/Color
- Backpack/Font
- Backpack/Gradient
- Backpack/Panel
- Swift API updated to follow language conventions.
Fixed:
- Backpack/Card
- Backpack card shadows will now be rendered correctly on MacOS. (Affect snapshot tests only)
Breaking:
- Backpack/Card
- Backpack Card no longer allows
addSubviewto be used. Instead, Cards have asubviewproperty that can be set.
- Backpack Card no longer allows
Fixed:
- Backpack/Card
- Non-padded cards will now correctly clip bounds of items placed inside.
Added:
- Backpack/Card
- Divided cards now expose
primarySubviewandsecondarySubviewproperties
- Divided cards now expose
Fixed:
- Backpack/Icon
- Prevent collision with React Native icon font.
- Prevent assertion error by not attempting to register the icon font if it's already been registered.
Added:
- Backpack/Gradient
BPKGradientLayernow allowsgradientbeingnilin which case it will render transparent
- Backpack/Card:
- Added divided card styles.
Fixed:
- Backpack/Button
- Link style
BPKButtons do not have white background any more.
- Link style
Added:
-
Backpack/TextView
- A
UITextViewsubclass with Skyscanner styles.
- A
-
Backpack/Card
- A
UIControlsubclass with Skyscanner card styling.
- A
Added:
-
Backpack/Spinner
- A thin wrapper around
UIActivityIndicatorViewwith the Skyscanner colours.
- A thin wrapper around
-
Backpack/Icon
- Added constants for icon names to avoid bugs due to the strongly typed API.
Breaking:
- Backpack/Color
- Update Swift interface for Backpack colours.
BPKColoris nowBackpack.Colorand the individual colours are class properties.BPKColor.blue500()becomesBackpack.Color.blue500.
- Update Swift interface for Backpack colours.
Added:
- Backpack/Icon
- Added new method for creating images for use as templates.
+ (UIImage *)templateIconNamed:name size:in Objective-C andmakeTemplateIcon(name:size:)in Swift.
- Added new method for creating images for use as templates.
- Backpack/Button
- Introducing the Backpack button. Includes all Backpack button styles, support for leading and trailing icons as well as icon only buttons.
Added:
- Automated API docs publishing to https://backpack.github.io/ios
Added:
- Backpack/Icon
- Added
iconMappingproperty for an exhaustive list of available icon names.
- Added
Breaking:
- Reworked
BPKGradientinterface.stopsnow has the typeNSArray<NSNumber *> *instead ofNSArray<NSValue *> *ofCGPoints. AstartPointandendPointof typeCGPointhas been introduced andstopsnow indicate how far along the line formed by those two points the color sits. - Moved
startPointForDirectionandendPointForDirectionfrom being c functions to being class methods onBPPKGradient.
Added:
- Added two new initializers to
BPKGradient:-initWithColors:stops:startPoint:endPointand-initWithColors:startPoint:endPoint. BPKGradientView(Backpack.GradientViewin Swift) for drawing instance ofBPKGradient.BPKIcon(Backpack.Iconin Swift) for rendering Backpack icons.
Added:
- Introducing
Backpack/Label, the label component.
Added:
- Introducing
Backpack/Panel, the panel component. - Introducing
Backpack/Badge, the badge component.
Note: 0.8.0 was skipped because of a bug.
- Backpack gradient via
BPKGradientand theBackpack/Gradientsubpsec.
Fixed:
- The generated code has been reordered due to changes in the underlying
bpk-tokenspackage.
This release ended up broken don't use this version.
Breaking:
- The
colorprefix inBPKColormethods have been removed as it was deemed to be redundant. Thanks to @danielnagy81 for contributing.
Added:
- Added
[BPKColor clear]. Thanks to @danielnagy81 for contributing.
Fixed:
- Ensure that the root pod specification can be used and that the
Backpack/Backpack.himport works as expected.
Added:
- Backpack shadows via
BPKShadowand theBackpack/Shadowsubpsec.
Added:
- Backpack radii constants via
BpkRadiiand theBackpack/Radiisubspec.
Added:
- Backpack spacing constants via
BpkSpacingand theBackpack/Spacingsubspec.
Added:
- Introduced Backpack Font stack via
BPKFontand theBackpack/Fontsubspec.
Breaking:
- Moved colours to a subspec in
Backpack/Color.
Use as
#import <Backpack/Color.h>
[BPKColor colorBlue500];
Dummy release to test, release automation.
Initial release of Backpack for iOS featuring color tokens. Usage
#import <Backpack/Backpack.h>
[BPKColor colorBlue500];