Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
0c85d81
chore: add ouds app bar component first commit
nouha06 Dec 16, 2025
e142207
Merge branch 'develop' into 91-create-component---top-app-bar
nouha06 Dec 16, 2025
f595b49
chore : add medium and large top app bar
nouha06 Dec 19, 2025
3a2c208
chore : add badge component in oudsButton
nouha06 Dec 24, 2025
b6d7c18
chore : add CupertinoNavigationBar in core for iOS
nouha06 Dec 26, 2025
e5c10a0
chore : add CupertinoNavigationBar in demo app for iOS
nouha06 Dec 26, 2025
ae04319
feat : Add rules in each type of device iPhone or iPad in lib and dem…
nouha06 Dec 29, 2025
e594e33
feat : refactor top app bar in lib and update code generator in demo app
nouha06 Dec 30, 2025
dab8045
feat : manage accessibility in top app bar component
nouha06 Dec 30, 2025
6f502aa
feat : manage accessibility in Cupertino navigation bar component
nouha06 Dec 30, 2025
80b6ea5
Merge branch 'develop' into 91-create-component---top-app-bar
nouha06 Dec 30, 2025
2cc511e
feat : delete cupertino navigation bar
nouha06 Jan 8, 2026
6f6392a
chore : delete tag in component version
nouha06 Jan 8, 2026
92afea3
feat: add expandedHeight and lineCount parameters in SliverAppBar
nouha06 Jan 9, 2026
894c557
doc: update documentation
nouha06 Jan 9, 2026
19d3a0d
refactor: refactor code and add an ouds_avatar component for top appbar
nouha06 Jan 13, 2026
ae98333
doc(navigation-bar): update doc
nouha06 Jan 14, 2026
275305b
feat(top-appBar): refactor icon badge in top app bar
nouha06 Jan 16, 2026
b7c807b
feat(top-appBar): refactor medium and large top app bar
nouha06 Jan 19, 2026
d0aff89
Merge branch 'develop' into 91-create-component---top-app-bar
nouha06 Jan 20, 2026
4803460
feat(top-appbar): update code generator and doc
nouha06 Jan 20, 2026
6795dd9
Merge branch 'develop' into 91-create-component---top-app-bar
nouha06 Jan 20, 2026
449bce1
feat(top-appbar): update doc
nouha06 Jan 20, 2026
d74526a
feat(top-appbar): add OudsTopAppBarActionBadge, add close image for t…
nouha06 Jan 23, 2026
58e182a
feat(top-appbar): eliminate border
nouha06 Jan 23, 2026
88e17d8
chore: update changelog file and doc
nouha06 Jan 27, 2026
32b0ae8
review: refactor code
nouha06 Jan 30, 2026
34240bc
review:
nouha06 Jan 30, 2026
815d542
review: add a control to not set invalid value for height of app bar
nouha06 Feb 3, 2026
c66852f
feat: update code generator
nouha06 Feb 4, 2026
40a56ab
chore: add comments
nouha06 Feb 4, 2026
0b6a8a4
review: refactor code
nouha06 Feb 4, 2026
87f2463
review: update doc
nouha06 Feb 4, 2026
141b0e3
review: update doc in lib and code generator in demo app
nouha06 Feb 4, 2026
6e9f188
feat: use the OudsTopAppBar in demo app
nouha06 Feb 5, 2026
f9e168f
Merge branch 'develop' into 91-create-component---top-app-bar
nouha06 Feb 5, 2026
bbd85e1
Merge branch 'develop' into 91-create-component---top-app-bar
nouha06 Feb 5, 2026
d25c8c4
review: fix back and close icon button, fix monogram text and backgro…
nouha06 Feb 10, 2026
4a9fd9b
review: add boolean value to show avatar in trailing actions
nouha06 Feb 11, 2026
08afbf3
Merge branch 'develop' into 91-create-component---top-app-bar
nouha06 Feb 12, 2026
16470c5
review: refactor code in demo app
nouha06 Feb 12, 2026
46c3a19
review: Add methode to calculate expanded height based on size and ma…
nouha06 Feb 17, 2026
5508208
Merge branch 'refs/heads/develop' into 91-create-component---top-app-bar
nouha06 Mar 4, 2026
2c15a69
merge: use LightDarkBox after rebase
nouha06 Mar 4, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 14 additions & 1 deletion NOTICE.txt
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,11 @@ ouds-flutter/app/assets/illustration/token/il_tokens_typography_dark.svg
ouds-flutter/app/assets/illustration/token/il_tokens_border.svg
ouds-flutter/app/assets/illustration/token/il_tokens_border_dark.svg

# Communication - Assistance
ouds-flutter/app/assets/orange/communication/assistance/tips-and-tricks.svg
ouds-flutter/app/assets/sosh/communication/assistance/tips-and-tricks.svg
ouds-flutter/app/assets/wireframe/communication/assistance/tips-and-tricks.svg

# Design - Component
ouds-flutter/app/assets/orange/communication/design/component-atom.svg
ouds-flutter/app/assets/orange/communication/design/design-token.svg
Expand Down Expand Up @@ -105,9 +110,11 @@ ouds_theme_orange/assets/component/link/previous.svg
ouds_theme_orange/assets/component/radio-button/radio-button-selected.svg
ouds_theme_orange/assets/component/switch/selected-switch.svg
ouds_theme_orange/assets/component/tag/close.svg
ouds_theme_orange/assets/functional/actions/copy.svg
ouds_theme_orange/assets/functional/social-and-engagement/heart-empty.svg
ouds_theme_orange/assets/functional/settings-and-tools/hide.svg
ouds_theme_orange/assets/functional/navigation/menu.svg
ouds_theme_orange/assets/functional/navigation/form-chevron-left.svg
ouds_theme_orange/assets/functional/actions/delete.svg


ouds_theme_orange/fonts/Roboto-Black.ttf
Expand Down Expand Up @@ -196,6 +203,9 @@ ouds_theme_sosh/assets/component/switch/selected-switch.svg
ouds_theme_sosh/assets/component/tag/close.svg
ouds_theme_sosh/assets/functional/social-and-engagement/heart-empty.svg
ouds_theme_sosh/assets/functional/settings-and-tools/hide.svg
ouds_theme_sosh/assets/functional/navigation/menu.svg
ouds_theme_sosh/assets/functional/navigation/form-chevron-left.svg
ouds_theme_sosh/assets/functional/actions/delete.svg

ouds_theme_sosh/fonts/Sosh-Black.ttf
ouds_theme_sosh/fonts/Sosh-Bold.ttf
Expand Down Expand Up @@ -234,6 +244,9 @@ ouds_theme_wireframe/assets/component/switch/selected-switch.svg
ouds_theme_wireframe/assets/component/tag/close.svg
ouds_theme_wireframe/assets/functional/social-and-engagement/heart-empty.svg
ouds_theme_wireframe/assets/functional/settings-and-tools/hide.svg
ouds_theme_wireframe/assets/functional/navigation/menu.svg
ouds_theme_wireframe/assets/functional/navigation/form-chevron-left.svg
ouds_theme_wireframe/assets/functional/actions/delete.svg

ouds_theme_wireframe/fonts/ShantellSans-Bold.ttf
ouds_theme_wireframe/fonts/ShantellSans-BoldItalic.ttf
Expand Down
1 change: 1 addition & 0 deletions app/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased](https://github.com/Orange-OpenSource/ouds-flutter/compare/1.0.0...develop)

### Added
- [DemoApp][Library] Create component - `Top app bar` ([#91](https://github.com/Orange-OpenSource/ouds-flutter/issues/91))
- [DemoApp][Library] Create component - `Navigation bar` ([#464](https://github.com/Orange-OpenSource/ouds-flutter/issues/464))
- [DemoApp][Library] Create component - `Bottom Navigation` ([#90](https://github.com/Orange-OpenSource/ouds-flutter/issues/90))

Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions app/assets/sosh/communication/assistance/tips-and-tricks.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions app/assets/sosh/functional/social-and-engagement/contact.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
132 changes: 132 additions & 0 deletions app/lib/l10n/gen/ouds_flutter_app_localizations.dart
Original file line number Diff line number Diff line change
Expand Up @@ -521,6 +521,18 @@ abstract class AppLocalizations {
/// **'Dot'**
String get app_components_common_dot_label;

/// No description provided for @app_components_common_style_label.
///
/// In en, this message translates to:
/// **'Style'**
String get app_components_common_style_label;

/// No description provided for @app_components_common_title_label.
///
/// In en, this message translates to:
/// **'Title'**
String get app_components_common_title_label;

/// No description provided for @app_components_button_label.
///
/// In en, this message translates to:
Expand Down Expand Up @@ -1043,6 +1055,126 @@ abstract class AppLocalizations {
/// **'Last item badge'**
String get app_components_navigationBar_lastItemBadge_label;

/// No description provided for @app_components_topAppBar_label.
///
/// In en, this message translates to:
/// **'Top app bar'**
String get app_components_topAppBar_label;

/// No description provided for @app_components_topAppBar_description_text.
///
/// In en, this message translates to:
/// **'App bar is a top-aligned component that displays the screen title and provides access to key actions and navigation elements.'**
String get app_components_topAppBar_description_text;

/// No description provided for @app_components_topAppBar_smallSize_label.
///
/// In en, this message translates to:
/// **'Small'**
String get app_components_topAppBar_smallSize_label;

/// No description provided for @app_components_topAppBar_mediumSize_label.
///
/// In en, this message translates to:
/// **'Medium'**
String get app_components_topAppBar_mediumSize_label;

/// No description provided for @app_components_topAppBar_largeSize_label.
///
/// In en, this message translates to:
/// **'Large'**
String get app_components_topAppBar_largeSize_label;

/// No description provided for @app_components_topAppBar_centerAligned_label.
///
/// In en, this message translates to:
/// **'Center aligned'**
String get app_components_topAppBar_centerAligned_label;

/// No description provided for @app_components_topAppBar_navigationIcon_label.
///
/// In en, this message translates to:
/// **'Navigation icon'**
String get app_components_topAppBar_navigationIcon_label;

/// No description provided for @app_components_topAppBar_actionIconBadge_label.
///
/// In en, this message translates to:
/// **'Action icon badge'**
String get app_components_topAppBar_actionIconBadge_label;

/// No description provided for @app_components_topAppBar_actionAvatar_label.
///
/// In en, this message translates to:
/// **'Action avatar'**
String get app_components_topAppBar_actionAvatar_label;

/// No description provided for @app_components_topAppBar_showAvatar_label.
///
/// In en, this message translates to:
/// **'Show avatar'**
String get app_components_topAppBar_showAvatar_label;

/// No description provided for @app_components_topAppBar_actionAvatarMonogram_label.
///
/// In en, this message translates to:
/// **'Action avatar monogram'**
String get app_components_topAppBar_actionAvatarMonogram_label;

/// No description provided for @app_components_topAppBar_actionCount_label.
///
/// In en, this message translates to:
/// **'Action count'**
String get app_components_topAppBar_actionCount_label;

/// No description provided for @app_components_topAppBar_expandedHeight_label.
///
/// In en, this message translates to:
/// **'Expanded Height'**
String get app_components_topAppBar_expandedHeight_label;

/// No description provided for @app_components_topAppBar_titleMaxLines_label.
///
/// In en, this message translates to:
/// **'Title max lines'**
String get app_components_topAppBar_titleMaxLines_label;

/// No description provided for @app_components_topAppBar_mediumHelperTextHeight_label.
///
/// In en, this message translates to:
/// **'Specify the maximum value of the app bar height, default value 112. Note that this proposed value is set to support one line of text and you should expand it to support more.'**
String get app_components_topAppBar_mediumHelperTextHeight_label;

/// No description provided for @app_components_topAppBar_largeHelperTextHeight_label.
///
/// In en, this message translates to:
/// **'Specify the maximum value of the app bar height, default value 152. Note that this proposed value is set to support 2 lines of text and you should expand it to support more.'**
String get app_components_topAppBar_largeHelperTextHeight_label;

/// No description provided for @app_components_topAppBar_titleMaxLineHelperText_label.
///
/// In en, this message translates to:
/// **'Specify the maximum lines for the title, default value 1.'**
String get app_components_topAppBar_titleMaxLineHelperText_label;

/// No description provided for @app_components_topAppBar_action_a11y.
///
/// In en, this message translates to:
/// **'Action'**
String get app_components_topAppBar_action_a11y;

/// No description provided for @app_components_topAppBar_mediumErrorMessage_label.
///
/// In en, this message translates to:
/// **'The value must be at least 112.'**
String get app_components_topAppBar_mediumErrorMessage_label;

/// No description provided for @app_components_topAppBar_largeErrorMessage_label.
///
/// In en, this message translates to:
/// **'The value must be at least 152.'**
String get app_components_topAppBar_largeErrorMessage_label;

/// No description provided for @app_about_name_label.
///
/// In en, this message translates to:
Expand Down
74 changes: 74 additions & 0 deletions app/lib/l10n/gen/ouds_flutter_app_localizations_ar.dart
Original file line number Diff line number Diff line change
Expand Up @@ -229,6 +229,12 @@ class AppLocalizationsAr extends AppLocalizations {
@override
String get app_components_common_dot_label => 'Dot';

@override
String get app_components_common_style_label => 'Style';

@override
String get app_components_common_title_label => 'Title';

@override
String get app_components_button_label => 'Button';

Expand Down Expand Up @@ -524,6 +530,74 @@ class AppLocalizationsAr extends AppLocalizations {
String get app_components_navigationBar_lastItemBadge_label =>
'Last item badge';

@override
String get app_components_topAppBar_label => 'Top app bar';

@override
String get app_components_topAppBar_description_text =>
'App bar هو مكون موجه من الأعلى يعرض عنوان الشاشة ويوفر الوصول إلى الإجراءات الرئيسية وعناصر التنقل.';

@override
String get app_components_topAppBar_smallSize_label => 'Small';

@override
String get app_components_topAppBar_mediumSize_label => 'Medium';

@override
String get app_components_topAppBar_largeSize_label => 'Large';

@override
String get app_components_topAppBar_centerAligned_label => 'Center aligned';

@override
String get app_components_topAppBar_navigationIcon_label => 'Navigation icon';

@override
String get app_components_topAppBar_actionIconBadge_label =>
'Action icon badge';

@override
String get app_components_topAppBar_actionAvatar_label => 'Action avatar';

@override
String get app_components_topAppBar_showAvatar_label => 'Show avatar';

@override
String get app_components_topAppBar_actionAvatarMonogram_label =>
'Action avatar monogram';

@override
String get app_components_topAppBar_actionCount_label => 'Action count';

@override
String get app_components_topAppBar_expandedHeight_label => 'Expanded Height';

@override
String get app_components_topAppBar_titleMaxLines_label => 'Title max lines';

@override
String get app_components_topAppBar_mediumHelperTextHeight_label =>
'حدد القيمة القصوى لارتفاع App bar، القيمة الافتراضية 112. لاحظ أن هذه القيمة المقترحة مصممة لدعم سطر واحد من النص ويجب توسيعها لدعم المزيد.';

@override
String get app_components_topAppBar_largeHelperTextHeight_label =>
'حدد القيمة القصوى لارتفاع App bar، القيمة الافتراضية 152. لاحظ أن هذه القيمة المقترحة مصممة لدعم سطرين من النص ويجب توسيعها لدعم المزيد.';

@override
String get app_components_topAppBar_titleMaxLineHelperText_label =>
'حدد الحد الأقصى لعدد الأسطر للعنوان، القيمة الأولية 1.';

@override
String get app_components_topAppBar_action_a11y => 'إجراء';

@override
String get app_components_topAppBar_mediumErrorMessage_label =>
'يجب أن تكون القيمة على الأقل 112.';

@override
String get app_components_topAppBar_largeErrorMessage_label =>
'يجب أن تكون القيمة على الأقل 152.';

@override
String get app_about_name_label => 'أداة نظام التصميم';

Expand Down
74 changes: 74 additions & 0 deletions app/lib/l10n/gen/ouds_flutter_app_localizations_en.dart
Original file line number Diff line number Diff line change
Expand Up @@ -229,6 +229,12 @@ class AppLocalizationsEn extends AppLocalizations {
@override
String get app_components_common_dot_label => 'Dot';

@override
String get app_components_common_style_label => 'Style';

@override
String get app_components_common_title_label => 'Title';

@override
String get app_components_button_label => 'Button';

Expand Down Expand Up @@ -524,6 +530,74 @@ class AppLocalizationsEn extends AppLocalizations {
String get app_components_navigationBar_lastItemBadge_label =>
'Last item badge';

@override
String get app_components_topAppBar_label => 'Top app bar';

@override
String get app_components_topAppBar_description_text =>
'App bar is a top-aligned component that displays the screen title and provides access to key actions and navigation elements.';

@override
String get app_components_topAppBar_smallSize_label => 'Small';

@override
String get app_components_topAppBar_mediumSize_label => 'Medium';

@override
String get app_components_topAppBar_largeSize_label => 'Large';

@override
String get app_components_topAppBar_centerAligned_label => 'Center aligned';

@override
String get app_components_topAppBar_navigationIcon_label => 'Navigation icon';

@override
String get app_components_topAppBar_actionIconBadge_label =>
'Action icon badge';

@override
String get app_components_topAppBar_actionAvatar_label => 'Action avatar';

@override
String get app_components_topAppBar_showAvatar_label => 'Show avatar';

@override
String get app_components_topAppBar_actionAvatarMonogram_label =>
'Action avatar monogram';

@override
String get app_components_topAppBar_actionCount_label => 'Action count';

@override
String get app_components_topAppBar_expandedHeight_label => 'Expanded Height';

@override
String get app_components_topAppBar_titleMaxLines_label => 'Title max lines';

@override
String get app_components_topAppBar_mediumHelperTextHeight_label =>
'Specify the maximum value of the app bar height, default value 112. Note that this proposed value is set to support one line of text and you should expand it to support more.';

@override
String get app_components_topAppBar_largeHelperTextHeight_label =>
'Specify the maximum value of the app bar height, default value 152. Note that this proposed value is set to support 2 lines of text and you should expand it to support more.';

@override
String get app_components_topAppBar_titleMaxLineHelperText_label =>
'Specify the maximum lines for the title, default value 1.';

@override
String get app_components_topAppBar_action_a11y => 'Action';

@override
String get app_components_topAppBar_mediumErrorMessage_label =>
'The value must be at least 112.';

@override
String get app_components_topAppBar_largeErrorMessage_label =>
'The value must be at least 152.';

@override
String get app_about_name_label => 'Design System Toolbox';

Expand Down
Loading
Loading