Icons
Icon enumeration for UI components.
This module provides the Icon enum, which contains identifiers for all available icons that can be used in UI components. Icons come from FontAwesome 6 and custom Daitum application icon sets, organized by category and purpose.
Main Components
- Icon Enum:
Single enumeration containing all available icon identifiers organized into:
FontAwesome 6 solid icons (standard filled icons)
FontAwesome 6 regular icons (outlined variants)
Daitum validation icons
Daitum rostering & child care icons
Daitum model editor icons
Daitum common component icons
Special icons (NULL for empty/no icon)
Icon Categories
- FontAwesome 6 - Solid Icons:
Standard filled icons from FontAwesome 6, including:
Common UI icons (CIRCLE, STAR, LOCK, CLOCK)
Navigation icons (HOUSE, PLANE_UP, RIGHT_FROM_BRACKET)
Action icons (COPY, PEN_TO_SQUARE, PAPER_PLANE)
Domain-specific icons (BURGER, GAMING, ACCOMMODATION, WINE_BOTTLE)
Education icons (GRADUATION_CAP, BOOK, CHALKBOARD_USER)
Child care icons (HANDS_HOLDING_CHILD, CHILD_REACHING)
Activity icons (PERSON_SWIMMING, UMBRELLA_BEACH, TREE)
Finance icons (DOLLAR_SIGN, BRIEFCASE_MEDICAL)
Communication icons (COMMENT, CIRCLE_INFO)
- FontAwesome 6 - Regular Icons (Outlined):
Outlined variants of FontAwesome icons, prefixed with
REG_:REG_STAR,REG_BELL,REG_CLOCKREG_CIRCLE,REG_COMMENTREG_BURGER,REG_GAMING,REG_ACCOMMODATIONUseful for lighter visual weight or inactive states
- Daitum Validation Icons:
CHECK: Validation success indicator
- Daitum Rostering & Child Care Icons:
Specialized icons for rostering and child care applications:
Selection: SELECTED, UNSELECTED
Staff qualifications: QUALIFIED, CERT_ONLY, RESPONSIBLE_PERSON
Compliance: FIRST_AID, WWCC_VALID, WWCC_INVALID
Time management: CONTACT_TIME, BREAK_TIME, SHIFT_START_TYPE
Activities: PROGRAMMING, SWIMMING, STUDY, ISS
Operations: SHIFT_COVERAGE, ADJUST_ROSTER_ORDER, OPTIMISE
Actions: IMPORT, PUBLISH
Information: INFO, HELP, ALERT
- Daitum Model Editor Icons:
Array manipulation icons:
ADD_ROW: Add new row to array
REMOVE_ROW: Delete row from array
MOVE_ROW: Reorder rows in array
- Daitum Common Component Icons:
RESET_ICON: Reset value to default
- Special Icons:
NULL: Empty icon (renders nothing)
Icon Identifier Format
Icon identifiers follow specific format patterns:
- FontAwesome Icons:
“FontAwesome.6.{ICON_NAME}”
Example: “FontAwesome.6.STAR”
Regular variants: “FontAwesome.6.REG_{ICON_NAME}”
Example: “FontAwesome.6.REG_STAR”
- Daitum Icons:
“Daitum.{category}.{subcategory}.{ICON_NAME}”
Validation: “Daitum.ribbonMenu.validationDialog.VALID”
Rostering: “Daitum.applications.rostering.forChildCare.{ICON_NAME}”
Editor: “Daitum.modelEditor.editors.array.{ICON_NAME}”
Components: “Daitum.commonComponents.{component}.{ICON_NAME}”
- Special:
Empty string “” for NULL icon
Usage Patterns
Icons are typically used in two contexts:
IconConfig for UI Elements: Used with IconConfig to configure icon appearance with color
Direct Icon References: Used directly in component properties that accept icons
The Icon enum ensures type safety and provides autocomplete support in development environments.
Examples
Using icons with IconConfig:
from daitum_ui.icons import Icon
from daitum_ui.styles import IconConfig
# Success icon in green
success_icon = IconConfig(
source=Icon.CHECK,
color="#4caf50"
)
# Warning icon in orange
warning_icon = IconConfig(
source=Icon.TRIANGLE_EXCLAMATION,
color="#ff9800"
)
# Star rating icon in gold
star_icon = IconConfig(
source=Icon.STAR,
color="#ffd700"
)
Using outlined icons for inactive states:
# Active state - solid star
active_icon = IconConfig(
source=Icon.STAR,
color="#ffc107"
)
# Inactive state - outlined star
inactive_icon = IconConfig(
source=Icon.REG_STAR,
color="#9e9e9e"
)
Using domain-specific icons:
# Child care activity icons
swimming_icon = IconConfig(source=Icon.SWIMMING, color="#2196f3")
programming_icon = IconConfig(source=Icon.PROGRAMMING, color="#9c27b0")
study_icon = IconConfig(source=Icon.STUDY, color="#ff5722")
# Staff qualification icons
qualified_icon = IconConfig(source=Icon.QUALIFIED, color="#4caf50")
first_aid_icon = IconConfig(source=Icon.FIRST_AID, color="#f44336")
Using selection icons:
# For icon checkbox states
from daitum_ui.styles import IconCheckboxEditor
checkbox_editor = IconCheckboxEditor(
on_icon=IconConfig(source=Icon.SELECTED, color="#2196f3"),
off_icon=IconConfig(source=Icon.UNSELECTED, color="#9e9e9e")
)
Using action icons in buttons:
from daitum_ui.elements import Button
# Save button with paper plane icon
save_button = Button(
text_value="Send",
icon_source=Icon.PAPER_PLANE.value,
icon_color="#ffffff",
background_color="#2196f3"
)
# Edit button with pen icon
edit_button = Button(
text_value="Edit",
icon_source=Icon.PEN_TO_SQUARE.value,
icon_color="#ffffff"
)
Using compliance and validation icons:
# WWCC validation status
valid_wwcc = IconConfig(source=Icon.WWCC_VALID, color="#4caf50")
invalid_wwcc = IconConfig(source=Icon.WWCC_INVALID, color="#f44336")
# General validation check
validation_check = IconConfig(source=Icon.CHECK, color="#4caf50")
Using information and help icons:
# Information icon
info_icon = IconConfig(
source=Icon.INFO,
color="#2196f3"
)
# Help icon
help_icon = IconConfig(
source=Icon.HELP,
color="#9c27b0"
)
# Alert icon
alert_icon = IconConfig(
source=Icon.ALERT,
color="#ff9800"
)
Using NULL icon for conditional display:
# Show icon only when condition is met
conditional_icon = IconConfig(
source=Icon.CHECK if is_valid else Icon.NULL,
color="#4caf50"
)
Using navigation icons:
# Login/Logout
login_icon = IconConfig(source=Icon.RIGHT_TO_BRACKET, color="#4caf50")
logout_icon = IconConfig(source=Icon.RIGHT_FROM_BRACKET, color="#f44336")
# Home navigation
home_icon = IconConfig(source=Icon.HOUSE, color="#2196f3")
Using lock status icons:
# Locked state
locked_icon = IconConfig(source=Icon.LOCK, color="#f44336")
# Unlocked state
unlocked_icon = IconConfig(source=Icon.LOCK_OPEN, color="#4caf50")
Using array editor icons:
# Row manipulation icons
add_icon = IconConfig(source=Icon.ADD_ROW, color="#4caf50")
remove_icon = IconConfig(source=Icon.REMOVE_ROW, color="#f44336")
move_icon = IconConfig(source=Icon.MOVE_ROW, color="#2196f3")
- class Icon(*values)[source]
Bases:
EnumEnumeration of available icons for UI components.
Icons are organized into several categories:
- FontAwesome 6 Icons:
Standard icons (solid variants)
Regular (outlined) variants prefixed with
REG_
- Daitum Application Icons:
Rostering and child care specific icons
Model editor icons
Common component icons
Each enum value contains the full icon identifier string used by the rendering system to locate and display the appropriate icon.
- BEER_MUG_EMPTY = 'FontAwesome.6.BEER_MUG_EMPTY'
- ACCOMMODATION = 'FontAwesome.6.ACCOMMODATION'
- BOTTLE_SHOP = 'FontAwesome.6.BOTTLE_SHOP'
- CIRCLE = 'FontAwesome.6.CIRCLE'
- BURGER = 'FontAwesome.6.BURGER'
- GAMING = 'FontAwesome.6.GAMING'
- PEN_TO_SQUARE = 'FontAwesome.6.PEN_TO_SQUARE'
- TRIANGLE_EXCLAMATION = 'FontAwesome.6.TRIANGLE_EXCLAMATION'
- STAR = 'FontAwesome.6.STAR'
- USER_PEN = 'FontAwesome.6.USER_PEN'
- PLANE_UP = 'FontAwesome.6.PLANE_UP'
- COPY = 'FontAwesome.6.COPY'
- LOCK = 'FontAwesome.6.LOCK'
- LOCK_OPEN = 'FontAwesome.6.LOCK_OPEN'
- CLOCK = 'FontAwesome.6.CLOCK'
- PERSON_SWIMMING = 'FontAwesome.6.PERSON_SWIMMING'
- BOOK_OPEN_READER = 'FontAwesome.6.BOOK_OPEN_READER'
- RIGHT_FROM_BRACKET = 'FontAwesome.6.RIGHT_FROM_BRACKET'
- RIGHT_TO_BRACKET = 'FontAwesome.6.RIGHT_TO_BRACKET'
- CHALKBOARD_USER = 'FontAwesome.6.CHALKBOARD_USER'
- DOLLAR_SIGN = 'FontAwesome.6.DOLLAR_SIGN'
- BRIEFCASE_MEDICAL = 'FontAwesome.6.BRIEFCASE_MEDICAL'
- AWARD = 'FontAwesome.6.AWARD'
- GRADUATION_CAP = 'FontAwesome.6.GRADUATION_CAP'
- HANDS_HOLDING_CHILD = 'FontAwesome.6.HANDS_HOLDING_CHILD'
- TREE = 'FontAwesome.6.TREE'
- UMBRELLA_BEACH = 'FontAwesome.6.UMBRELLA_BEACH'
- ADDRESS_BOOK = 'FontAwesome.6.ADDRESS_BOOK'
- CALENDAR_X_MARK = 'FontAwesome.6.CALENDAR_X_MARK'
- CHILD_REACHING = 'FontAwesome.6.CHILD_REACHING'
- BOLT = 'FontAwesome.6.BOLT'
- PAPER_PLANE = 'FontAwesome.6.PAPER_PLANE'
- CIRCLE_INFO = 'FontAwesome.6.CIRCLE_INFO'
- BOOK = 'FontAwesome.6.BOOK'
- COMMENT = 'FontAwesome.6.COMMENT'
- WINE_BOTTLE = 'FontAwesome.6.WINE_BOTTLE'
- HOUSE = 'FontAwesome.6.HOUSE'
- DICE = 'FontAwesome.6.DICE'
- HALF_CIRCLE = 'FontAwesome.6.HALF_CIRCLE'
- TRUCK = 'FontAwesome.6.TRUCK'
- LOCATION_DOT = 'FAPro.solid.LOCATION_DOT'
- LOCATION_PIN = 'FAPro.solid.LOCATION_PIN'
- MAP_MARKER_PLUS = 'FAPro.solid.MAP_MARKER_PLUS'
- MAP_MARKER_CHECK = 'FAPro.solid.MAP_MARKER_CHECK'
- HELMET_SAFETY = 'FAPro.solid.HELMET_SAFETY'
- USER_HELMET_SAFETY = 'FAPro.solid.USER_HELMET_SAFETY'
- PERSON_DIGGING = 'FAPro.solid.PERSON_DIGGING'
- REG_STAR = 'FontAwesome.6.REG_STAR'
- REG_BELL = 'FontAwesome.6.REG_BELL'
- REG_CLOCK = 'FontAwesome.6.REG_CLOCK'
- REG_CIRCLE_QUESTION = 'FontAwesome.6.REG_CIRCLE_QUESTION'
- REG_COMMENT = 'FontAwesome.6.REG_COMMENT'
- REG_DICE = 'FontAwesome.6.REG_DICE'
- REG_BURGER = 'FontAwesome.6.REG_BURGER'
- REG_GAMING = 'FontAwesome.6.REG_GAMING'
- REG_BOTTLE_SHOP = 'FontAwesome.6.REG_BOTTLE_SHOP'
- REG_CIRCLE = 'FontAwesome.6.REG_CIRCLE'
- REG_HALF_CIRCLE = 'FontAwesome.6.REG_HALF_CIRCLE'
- REG_ACCOMMODATION = 'FontAwesome.6.REG_ACCOMMODATION'
- CHECK = 'Daitum.ribbonMenu.validationDialog.VALID'
- CONTACT_TIME = 'Daitum.applications.rostering.forChildCare.CONTACT_TIME'
- SELECTED = 'Daitum.applications.rostering.forChildCare.SELECTED'
- UNSELECTED = 'Daitum.applications.rostering.forChildCare.UNSELECTED'
- RESPONSIBLE_PERSON = 'Daitum.applications.rostering.forChildCare.RESPONSIBLE_PERSON'
- QUALIFIED = 'Daitum.applications.rostering.forChildCare.QUALIFIED'
- CERT_ONLY = 'Daitum.applications.rostering.forChildCare.CERT_ONLY'
- ADJUST_ROSTER_ORDER = 'Daitum.applications.rostering.forChildCare.ADJUST_ROSTER_ORDER'
- FIRST_AID = 'Daitum.applications.rostering.forChildCare.FIRST_AID'
- WWCC_VALID = 'Daitum.applications.rostering.forChildCare.WWCC_VALID'
- WWCC_INVALID = 'Daitum.applications.rostering.forChildCare.WWCC_INVALID'
- SHIFT_START_TYPE = 'Daitum.applications.rostering.forChildCare.SHIFT_START_TYPE'
- BREAK_TIME = 'Daitum.applications.rostering.forChildCare.BREAK_TIME'
- IMPORT = 'Daitum.applications.rostering.forChildCare.IMPORT'
- PROGRAMMING = 'Daitum.applications.rostering.forChildCare.PROGRAMMING'
- SWIMMING = 'Daitum.applications.rostering.forChildCare.SWIMMING'
- STUDY = 'Daitum.applications.rostering.forChildCare.STUDY'
- ISS = 'Daitum.applications.rostering.forChildCare.ISS'
- SHIFT_COVERAGE = 'Daitum.applications.rostering.forChildCare.SHIFT_COVERAGE'
- OPTIMISE = 'Daitum.applications.rostering.forChildCare.OPTIMISE'
- PUBLISH = 'Daitum.applications.rostering.forChildCare.PUBLISH'
- INFO = 'Daitum.applications.rostering.forChildCare.INFO'
- HELP = 'Daitum.applications.rostering.forChildCare.HELP'
- ALERT = 'Daitum.applications.rostering.forChildCare.ALERT'
- ADD_ROW = 'Daitum.modelEditor.editors.array.ADD_ROW'
- REMOVE_ROW = 'Daitum.modelEditor.editors.array.REMOVE_ROW'
- MOVE_ROW = 'Daitum.modelEditor.editors.array.MOVE_ROW'
- RESET_ICON = 'Daitum.commonComponents.readOnlyResettableField.RESET_VALUE'
- CAMP = 'Daitum.modelVisualisation.mapDisplay.CAMP'
- NULL = ''