UI components customisation

Nabla iOS Scheduling UI components customisation

📘

This part is only about Scheduling-specific theme attribute, make sure you followed the SDK theming guide for the theme setup.

Scheduling specific attributes

You can override Scheduling specific attributes by overriding them in the NablaTheme. Here's how it works:

NablaTheme.AppointmentConfirmationTheme.backgroundColor = UIColor(red: 0.95, green: 0.96, blue: 0.98, alpha: 1.00)

Customizable elements

Here's the list of items you can customize:

AppointmentListViewTheme

Theme attributeDescriptionDefault value
AppointmentListViewTheme.backgroundColorColor used for the background of the appointment list view.Colors.Background.underCard
AppointmentListViewTheme.emptyViewTextColorColor used for the text of the empty state where no appointments are scheduled.Colors.Text.base
AppointmentListViewTheme.emptyViewFontFont used for the text of the empty state where no appointments are scheduled.Fonts.caption
AppointmentListViewTheme.buttonStyle of the button used to schedule a new appointment.Button.accent
AppointmentListViewTheme.CellTheme.backgroundColorColor used for the background of an appointment cell.Colors.Fill.card
AppointmentListViewTheme.CellTheme.titleColorColor used for the name of the doctor of an upcoming appointment.Colors.Text.base
AppointmentListViewTheme.CellTheme.titleDisabledColorColor used for the name of the doctor of a past appointment.Colors.Text.subdued
AppointmentListViewTheme.CellTheme.titleFontFont used for the name of the doctor of an appointment.Fonts.subtitleBold
AppointmentListViewTheme.CellTheme.subtitleColorColor used for the time of an upcoming appointment.Colors.Text.subdued
AppointmentListViewTheme.CellTheme.subtitleDisabledColorColor used for the time of a past appointment.Colors.Text.subdued
AppointmentListViewTheme.CellTheme.subtitleFontFont used for the time of an appointment.Fonts.body
AppointmentListViewTheme.CellTheme.moreButtonColorColor of the button to edit an upcoming appointment.Colors.Text.subdued
AppointmentListViewTheme.CellTheme.buttonStyle of the button to join an appointment via video call.Button.accentSubdued
AppointmentListViewTheme.CellTheme.cornerRadiusCorner radius used for the background of an appointment cell.14

AppointmentDetailsTheme

Theme attributeDescriptionDefault value
AppointmentConfirmationTheme.backgroundColorBackground color for the appointment confirmation view.Colors.Background.underCard
AppointmentConfirmationTheme.headerTheme for the details card at the top of the screen.AppointmentDetailsViewTheme.base
AppointmentConfirmationTheme.cancelButtonStyle of the button to cancel the appointment.Button.danger

LocationPickerViewTheme

Theme attributeDescriptionDefault value
LocationPickerViewTheme.backgroundColorBackground color for the location picker view.Colors.Background.underCard
CategoryPickerViewTheme.emptyViewTextColorColor of the text displayed when there are no locations available.Colors.Text.base
LocationPickerViewTheme.emptyViewFontFont of the text displayed when there are no locations available.Fonts.caption
LocationPickerViewTheme.CellTheme.backgroundColorColor of the background of the cell of a location.Colors.Fill.card
CategoryPickerViewTheme.CellTheme.textColorColor of the text displayed with the name of a location.Colors.Text.base
LocationPickerViewTheme.CellTheme.fontFont of the text displayed with the name of a location.Fonts.subtitleMedium
CategoryPickerViewTheme.CellTheme.iconColorColor of the text displayed with the name of a location.Colors.Text.base
LocationPickerViewTheme.CellTheme.indicatorColorTint color used for the tap indicator of the cell of a location.Colors.Text.base
LocationPickerViewTheme.CellTheme.cornerRadiusCorner radius used for the background of the cell of a location.12

CategoryPickerViewTheme

Theme attributeDescriptionDefault value
CategoryPickerViewTheme.backgroundColorBackground color for the category picker view.Colors.Background.underCard
CategoryPickerViewTheme.preselectedLocationDisclaimerTextColorColor of the text displayed when the user did not select a location because there is only one available.Colors.Text.base
CategoryPickerViewTheme.preselectedLocationDisclaimerFontFont of the text displayed when the user did not select a location because there is only one available.Fonts.caption
CategoryPickerViewTheme.emptyViewTextColorColor of the text displayed when there are no categories available.Colors.Text.base
CategoryPickerViewTheme.emptyViewFontFont of the text displayed when there are no categories available.Fonts.caption
CategoryPickerViewTheme.CellTheme.backgroundColorColor of the background of the cell of a category.Colors.Fill.card
CategoryPickerViewTheme.CellTheme.textColorColor of the text displayed with the name of a category.Colors.Text.base
CategoryPickerViewTheme.CellTheme.fontFont of the text displayed with the name of a category.Fonts.subtitleMedium
CategoryPickerViewTheme.CellTheme.indicatorColorTint color used for the tap indicator of the cell of a category.Colors.Text.base
CategoryPickerViewTheme.CellTheme.cornerRadiusCorner radius used for the background of the cell of a category.12

TimeSlotPickerViewTheme

Theme attributeDescriptionDefault value
TimeSlotPickerViewTheme.backgroundColorBackground color for the time slot picker view.Colors.Background.underCard
TimeSlotPickerViewTheme.buttonTheme used for the button to continue in the time slot picker view.Button.accent
TimeSlotPickerViewTheme.CellTheme.backgroundColorColor of the background of the cell for a day in the time slot picker view.Colors.Fill.card
TimeSlotPickerViewTheme.CellTheme.titleColorColor of the date of a day in the time slot picker view.Colors.Text.base
TimeSlotPickerViewTheme.CellTheme.titleFontFont of the date of a day in the time slot picker view.Fonts.subtitleMedium
TimeSlotPickerViewTheme.CellTheme.subtitleColorColor of the number of slots available for a day in the time slot picker view.Colors.Text.subdued
TimeSlotPickerViewTheme.CellTheme.subtitleFontFont of the number of slots available for a day in the time slot picker view.Fonts.smallText
TimeSlotPickerViewTheme.CellTheme.indicatorColorTint color used for the expend indicator of the cell for a day in the time slot picker view.Colors.Text.subdued
TimeSlotPickerViewTheme.CellTheme.cornerRadiusCorner radius of the cell for a day in the time slot picker view.8
TimeSlotPickerViewTheme.CellTheme.ButtonTheme.backgroundColorBackground color of a time slot time when not selected.UIColor.clear
TimeSlotPickerViewTheme.CellTheme.ButtonTheme.borderColorBorder color of a time slot time when not selected.Colors.Stroke.subdued
TimeSlotPickerViewTheme.CellTheme.ButtonTheme.textColorText color of a time slot time when not selected.Colors.Text.subdued
TimeSlotPickerViewTheme.CellTheme.ButtonTheme.selectedBackgroundColorBackground color of a time slot time when selected.Colors.Fill.accent
TimeSlotPickerViewTheme.CellTheme.ButtonTheme.selectedBorderColorBackground color of a time slot time when selected.Colors.Stroke.accent
TimeSlotPickerViewTheme.CellTheme.ButtonTheme.selectedTextColorBackground color of a time slot time when selected.Colors.Text.onAccent
TimeSlotPickerViewTheme.CellTheme.ButtonTheme.fontFont of a time slot time.Fonts.caption
TimeSlotPickerViewTheme.CellTheme.ButtonTheme.cornerRadiusCorner radius of the time slot buttons.8
TimeSlotPickerViewTheme.CellTheme.ButtonTheme.insetsInsets of the time slot buttons..all(6)

AppointmentConfirmationTheme

Theme attributeDescriptionDefault value
AppointmentConfirmationTheme.backgroundColorBackground color for the appointment confirmation view.Colors.Background.underCard
AppointmentConfirmationTheme.headerTheme for the details card at the top of the screen.AppointmentDetailsViewTheme.base
AppointmentDetailsView.Theme.disclaimersTextColorColor used to display legal disclaimers of the appointment.Colors.Text.base
AppointmentDetailsView.Theme.disclaimersFontFont used to display legal disclaimers of the appointment.Fonts.body
AppointmentConfirmationTheme.checkboxStyle of the checkbox for legal disclaimers.Checkbox.base
AppointmentConfirmationTheme.confirmButtonStyle of the button to confirm the appointment.Button.accent

SuccessTheme

Theme attributeDescriptionDefault value
SuccessTheme.backgroundColorBackground color for the view.Colors.Background.base
SuccessTheme.imageColorColor for the image.Colors.Text.subdued
SuccessTheme.messageColorColor for the message.Colors.Test.subdued
SuccessTheme.messageFontFont for the message.Fonts.subtitleMedium
SuccessTheme.buttonTheme for the button.Button.accent

AppointmentDetailsView.Theme (shared component)

Theme attributeDescriptionDefault value
AppointmentDetailsView.Theme.backgroundColorBackground color for the view.Colors.Fill.card
AppointmentDetailsView.Theme.cornerRadiusCorner radius for the view.12
AppointmentDetailsView.Theme.doctorNameColorColor used to display the name of the doctor.Colors.Text.base
AppointmentDetailsView.Theme.doctorNameFontFont used to display the name of the doctor.Fonts.subtitleBold
AppointmentDetailsView.Theme.doctorDescriptionColorColor used to display details of the doctor.Colors.Text.subdued
AppointmentDetailsView.Theme.doctorDescriptionFontFont used to display details of the doctor.Fonts.body
AppointmentDetailsView.Theme.separatorColorColor used to display the separator between the doctor and the appointment details.Colors.Stroke.subdued
AppointmentDetailsView.Theme.accessoriesThemeTheme used for each element of the appointment details.base

AppointmentDetailsAccessoryView.Theme (shared component)

Theme attributeDescriptionDefault value
AppointmentDetailsAccessoryView.Theme.imageColorColor used to draw the icon.Colors.Text.accent
AppointmentDetailsAccessoryView.Theme.titleColorColor used for the first text in the view.Colors.Text.accent
AppointmentDetailsAccessoryView.Theme.titleFontFont used for the first text in the view.Fonts.bodyMedium
AppointmentDetailsAccessoryView.Theme.subtitleColorColor used for the second text in the view.Colors.Text.subdued
AppointmentDetailsAccessoryView.Theme.subtitleFontFont used for the second text in the view.Fonts.smallMedium
AppointmentDetailsAccessoryView.Theme.extraColorColor used for the third text in the view.Colors.Text.subdued
AppointmentDetailsAccessoryView.Theme.extraFontFont used for the third text in the view.Fonts.smallText