From 1177222bb50904dd5a17c12ccf77994239c4f881 Mon Sep 17 00:00:00 2001 From: Luke Walton Date: Fri, 28 Jun 2024 10:10:21 +0100 Subject: [PATCH] feat(UX-1117): Semantic tags for SYNC (#119) Co-authored-by: github-actions --- .gitignore | 3 +- coverage/lcov.info | 3461 ++++++++--------- .../pages/components/chat_item_example.dart | 47 +- .../components/chat_item_widgetbook.dart | 10 +- lib/src/components/avatars/avatar.dart | 137 +- lib/src/components/badges/indicator.dart | 51 +- lib/src/components/chat_item/chat_item.dart | 543 +-- lib/src/components/snack_bar/snack_bar.dart | 135 +- 8 files changed, 2289 insertions(+), 2098 deletions(-) diff --git a/.gitignore b/.gitignore index 17c63bed..1315784b 100644 --- a/.gitignore +++ b/.gitignore @@ -146,4 +146,5 @@ $RECYCLE.BIN/ **/Generated.xcconfig .fvmrc **/node_modules/ -package-lock.json \ No newline at end of file +package-lock.json +/appium \ No newline at end of file diff --git a/coverage/lcov.info b/coverage/lcov.info index 01c5f6cf..48c9e697 100644 --- a/coverage/lcov.info +++ b/coverage/lcov.info @@ -1,535 +1,545 @@ SF:lib/src/components/accordion/accordion.dart -DA:11,0 -DA:38,0 -DA:39,0 +DA:11,2 +DA:38,1 +DA:39,1 DA:40,0 DA:42,0 DA:44,0 DA:45,0 DA:46,0 DA:47,0 -DA:57,0 -DA:59,0 -DA:60,0 -DA:65,0 -DA:66,0 -DA:69,0 +DA:57,1 +DA:59,1 +DA:60,2 +DA:65,2 +DA:66,1 +DA:69,1 DA:72,0 DA:74,0 DA:75,0 -DA:78,0 -DA:79,0 -DA:80,0 -DA:83,0 -DA:85,0 -DA:86,0 -DA:89,0 -DA:91,0 -DA:92,0 -DA:93,0 -DA:94,0 -DA:95,0 -DA:97,0 -DA:98,0 -DA:99,0 -DA:102,0 -DA:104,0 -DA:106,0 -DA:107,0 -DA:108,0 -DA:109,0 -DA:110,0 -DA:112,0 +DA:78,1 +DA:79,3 +DA:80,3 +DA:83,1 +DA:85,2 +DA:86,1 +DA:89,1 +DA:91,2 +DA:92,2 +DA:93,2 +DA:94,1 +DA:95,1 +DA:97,1 +DA:98,1 +DA:99,4 +DA:102,1 +DA:104,1 +DA:106,1 +DA:107,1 +DA:108,1 +DA:109,1 +DA:110,1 +DA:112,1 DA:113,0 DA:114,0 DA:116,0 DA:117,0 DA:120,0 -DA:126,0 -DA:127,0 +DA:126,2 +DA:127,1 DA:128,0 -DA:133,0 +DA:133,1 DA:135,0 DA:136,0 DA:137,0 DA:138,0 DA:140,0 DA:141,0 -DA:144,0 -DA:146,0 -DA:148,0 -DA:149,0 -DA:150,0 -DA:151,0 -DA:153,0 -DA:155,0 -DA:157,0 -DA:158,0 -DA:161,0 -DA:168,0 -DA:169,0 -DA:171,0 -DA:178,0 -DA:179,0 -DA:180,0 -DA:182,0 +DA:144,1 +DA:146,1 +DA:148,1 +DA:149,1 +DA:150,1 +DA:151,2 +DA:153,4 +DA:155,1 +DA:157,1 +DA:158,1 +DA:161,2 +DA:168,1 +DA:169,1 +DA:171,1 +DA:178,1 +DA:179,3 +DA:180,1 +DA:182,2 LF:74 -LH:0 +LH:53 end_of_record SF:lib/src/utils/rounded.dart -DA:9,1 -DA:19,1 -DA:20,1 -DA:23,0 -DA:24,0 -DA:25,0 -DA:27,0 -DA:28,0 -DA:35,1 -DA:40,1 -DA:42,1 -DA:43,3 -DA:50,0 -DA:55,0 -DA:57,0 -DA:58,0 -DA:65,1 -DA:67,5 -DA:68,2 -DA:71,2 -DA:74,4 +DA:9,5 +DA:19,9 +DA:20,9 +DA:23,1 +DA:24,3 +DA:25,1 +DA:27,1 +DA:28,3 +DA:35,10 +DA:40,7 +DA:42,7 +DA:43,21 +DA:50,5 +DA:55,3 +DA:57,3 +DA:58,9 +DA:65,10 +DA:67,38 +DA:68,12 +DA:71,6 +DA:74,30 LF:21 -LH:12 +LH:21 end_of_record SF:lib/src/components/avatars/avatar.dart DA:38,0 -DA:50,0 -DA:61,0 -DA:72,0 +DA:53,0 +DA:67,0 DA:81,0 -DA:107,0 -DA:116,0 -DA:117,0 -DA:118,0 -DA:119,0 -DA:120,0 -DA:121,0 -DA:122,0 -DA:123,0 -DA:127,0 -DA:129,0 -DA:131,0 -DA:133,0 -DA:134,0 -DA:135,0 -DA:137,0 -DA:138,0 -DA:139,0 -DA:140,0 -DA:141,0 -DA:142,0 -DA:143,0 +DA:93,0 +DA:136,0 DA:145,0 +DA:146,0 +DA:147,0 +DA:148,0 +DA:149,0 +DA:150,0 +DA:151,0 DA:152,0 -DA:157,0 +DA:156,0 DA:158,0 -DA:159,0 DA:160,0 -DA:161,0 DA:162,0 -DA:165,0 +DA:163,0 +DA:164,0 DA:166,0 +DA:167,0 DA:168,0 +DA:169,0 DA:170,0 DA:171,0 +DA:172,0 DA:174,0 -DA:175,0 -DA:176,0 -DA:179,0 -DA:184,0 -DA:185,0 +DA:181,0 +DA:186,0 DA:187,0 +DA:188,0 DA:189,0 -DA:195,0 +DA:190,0 +DA:191,0 +DA:192,0 +DA:193,0 DA:196,0 -DA:198,0 +DA:197,0 DA:199,0 +DA:201,0 DA:202,0 -DA:203,0 +DA:205,0 DA:206,0 DA:207,0 +DA:210,0 +DA:215,0 DA:216,0 DA:218,0 DA:220,0 -DA:221,0 -DA:222,0 -DA:223,0 -DA:224,0 -DA:225,0 +DA:226,0 +DA:227,0 +DA:229,0 DA:230,0 +DA:231,0 DA:232,0 -DA:234,0 DA:236,0 -DA:238,0 +DA:237,0 DA:240,0 +DA:241,0 DA:242,0 -DA:244,0 -DA:246,0 -DA:248,0 -DA:253,0 -DA:255,0 +DA:252,0 +DA:254,0 +DA:256,0 DA:257,0 DA:258,0 DA:259,0 DA:260,0 +DA:261,0 +DA:262,0 DA:263,0 DA:264,0 -DA:265,0 -DA:266,0 +DA:269,0 DA:271,0 -DA:272,0 -DA:290,0 +DA:273,0 +DA:275,0 +DA:277,0 +DA:279,0 +DA:281,0 +DA:283,0 +DA:285,0 +DA:287,0 +DA:292,0 +DA:294,0 +DA:296,0 +DA:297,0 +DA:298,0 DA:299,0 +DA:302,0 +DA:303,0 +DA:304,0 +DA:305,0 DA:310,0 -DA:321,0 +DA:311,0 +DA:329,0 +DA:338,0 DA:349,0 -DA:357,0 -DA:358,0 -DA:359,0 DA:360,0 -DA:361,0 -DA:362,0 -DA:363,0 -DA:364,0 -DA:368,0 -DA:370,0 -DA:372,0 -DA:373,0 -DA:374,0 -DA:375,0 -DA:377,0 -DA:379,0 -DA:383,0 -DA:384,0 -DA:385,0 -DA:386,0 -DA:387,0 DA:388,0 -DA:389,0 -DA:394,0 -DA:395,0 DA:396,0 DA:397,0 DA:398,0 +DA:399,0 +DA:400,0 +DA:401,0 +DA:402,0 DA:403,0 -DA:404,0 -DA:405,0 -DA:406,0 -DA:408,0 +DA:407,0 DA:409,0 DA:411,0 -DA:419,0 -DA:420,0 +DA:412,0 +DA:413,0 +DA:414,0 +DA:416,0 +DA:418,0 +DA:422,0 DA:423,0 DA:424,0 +DA:425,0 +DA:426,0 DA:427,0 -DA:429,0 -DA:431,0 -DA:432,0 +DA:428,0 DA:433,0 DA:434,0 DA:435,0 DA:436,0 -LF:138 +DA:437,0 +DA:442,0 +DA:443,0 +DA:444,0 +DA:445,0 +DA:447,0 +DA:448,0 +DA:450,0 +DA:458,0 +DA:459,0 +DA:462,0 +DA:463,0 +DA:466,0 +DA:468,0 +DA:470,0 +DA:471,0 +DA:472,0 +DA:473,0 +DA:474,0 +DA:475,0 +LF:146 LH:0 end_of_record SF:lib/src/components/badges/indicator.dart -DA:19,0 -DA:30,0 -DA:40,0 +DA:19,2 +DA:32,1 +DA:44,1 +DA:85,1 +DA:93,1 +DA:94,0 +DA:95,1 +DA:96,1 +DA:97,1 +DA:98,1 +DA:99,1 +DA:103,1 +DA:105,2 +DA:106,4 +DA:107,1 +DA:108,3 +DA:110,1 +DA:111,3 +DA:112,1 +DA:113,1 +DA:114,1 +DA:115,1 +DA:116,2 +DA:117,1 +DA:120,1 +DA:121,1 +DA:124,2 +DA:125,1 +DA:126,1 +DA:128,3 +DA:136,1 +DA:137,1 +DA:138,1 +DA:139,2 +DA:140,1 +DA:141,1 +DA:142,1 +DA:147,1 +DA:148,1 +DA:149,1 +DA:150,2 +DA:151,1 +DA:153,2 +DA:161,1 +DA:163,1 +DA:165,1 +DA:166,1 +DA:167,1 +DA:172,1 +DA:173,1 +DA:177,1 +DA:179,1 +DA:181,3 +DA:182,3 +DA:183,3 +DA:184,3 +DA:185,3 +DA:186,3 +DA:187,3 +LF:59 +LH:58 +end_of_record +SF:lib/src/components/badges/label.dart +DA:15,1 +DA:32,1 +DA:34,2 +DA:36,1 +DA:38,1 +DA:40,1 +DA:42,1 +DA:43,1 +DA:44,2 +DA:50,1 +DA:52,1 +DA:54,3 +DA:55,3 +DA:56,3 +DA:61,1 +DA:62,2 +DA:64,1 +DA:65,1 +DA:66,1 +DA:67,1 +DA:68,1 +DA:69,2 +DA:70,1 +DA:71,1 +DA:72,1 +DA:73,2 +LF:26 +LH:26 +end_of_record +SF:lib/src/components/badges/priority_pill.dart +DA:33,1 +DA:34,2 +DA:36,1 +DA:37,1 +DA:38,1 +DA:39,1 +DA:40,1 +DA:41,1 +DA:42,1 +DA:43,1 +DA:51,1 +DA:97,1 +DA:99,3 +DA:100,2 +DA:101,2 +DA:102,1 +DA:103,1 +DA:104,1 +DA:106,1 +DA:108,1 +DA:110,1 +DA:111,1 +DA:115,1 +DA:119,1 +DA:120,2 +DA:121,2 +DA:122,4 +DA:123,3 +DA:124,3 +DA:125,2 +DA:126,1 +DA:128,1 +DA:129,1 +DA:131,2 +DA:134,1 +DA:135,1 +DA:140,1 +DA:141,4 +DA:142,2 +DA:143,1 +DA:145,1 +DA:156,1 +DA:158,1 +DA:160,3 +DA:161,3 +DA:162,3 +DA:163,3 +DA:164,3 +DA:165,3 +DA:166,3 +DA:167,3 +LF:51 +LH:51 +end_of_record +SF:lib/src/components/badges/status_label.dart +DA:11,2 +DA:28,2 +DA:30,4 +DA:32,2 +DA:33,2 +DA:34,2 +DA:35,4 +DA:36,2 +DA:38,2 +DA:40,2 +DA:42,2 +DA:43,2 +DA:44,2 +DA:45,2 +DA:46,2 +DA:49,2 +DA:50,2 +DA:51,6 +DA:60,1 +DA:62,1 +DA:64,3 +DA:65,3 +DA:66,3 +DA:67,3 +LF:24 +LH:24 +end_of_record +SF:lib/src/components/badges/tag.dart +DA:18,1 +DA:26,1 +DA:29,1 +DA:42,1 +DA:44,1 +DA:45,1 +DA:46,3 +DA:47,1 +DA:48,1 +DA:49,3 +DA:50,1 +DA:52,1 +DA:53,2 +DA:54,1 +DA:55,1 +DA:56,1 +DA:58,1 +DA:59,1 +DA:67,3 +DA:72,1 +DA:73,1 +DA:74,2 +DA:87,1 +DA:88,1 +DA:90,1 +DA:91,3 +DA:92,1 +DA:93,1 +DA:98,1 +DA:100,1 +DA:102,3 +DA:103,3 +DA:104,3 +DA:109,1 +DA:119,1 +DA:121,1 +DA:122,2 +DA:123,1 +DA:124,4 +DA:126,1 +DA:129,1 +DA:137,1 +DA:140,1 +DA:141,2 +DA:142,1 +DA:145,7 +DA:146,1 +DA:147,3 +DA:148,2 +DA:149,3 +DA:150,3 +DA:151,3 +DA:152,2 +DA:155,3 +DA:159,2 +DA:160,3 +DA:161,1 +DA:166,0 +LF:58 +LH:57 +end_of_record +SF:lib/src/components/banner/banner.dart +DA:37,0 +DA:46,0 +DA:48,0 +DA:49,0 +DA:50,0 +DA:51,0 +DA:52,0 +DA:54,0 +DA:55,0 +DA:56,0 +DA:57,0 +DA:59,0 +DA:65,0 +DA:66,0 +DA:67,0 +DA:68,0 DA:72,0 -DA:79,0 -DA:80,0 -DA:81,0 -DA:82,0 -DA:83,0 +DA:74,0 +DA:76,0 +DA:78,0 DA:84,0 -DA:88,0 -DA:90,0 DA:91,0 DA:92,0 DA:93,0 DA:94,0 -DA:95,0 -DA:96,0 -DA:97,0 -DA:98,0 -DA:99,0 -DA:102,0 -DA:103,0 +DA:100,0 +DA:101,0 +DA:104,0 +DA:105,0 DA:106,0 DA:107,0 DA:108,0 +DA:109,0 DA:110,0 -DA:117,0 -DA:118,0 -DA:119,0 -DA:120,0 -DA:121,0 -DA:122,0 -DA:123,0 -DA:128,0 -DA:129,0 -DA:130,0 -DA:131,0 -DA:132,0 -DA:134,0 -DA:142,0 -DA:144,0 -DA:146,0 -DA:147,0 -DA:148,0 -DA:153,0 -DA:155,0 -DA:157,0 -DA:159,0 -DA:164,0 -DA:166,0 -DA:168,0 -DA:169,0 -DA:170,0 -DA:171,0 -DA:172,0 -DA:173,0 -LF:57 +DA:111,0 +LF:35 LH:0 end_of_record -SF:lib/src/components/badges/label.dart -DA:15,0 +SF:lib/src/components/bottom sheets/bottom_sheet.dart +DA:9,0 +DA:28,0 +DA:30,0 DA:32,0 +DA:33,0 DA:34,0 -DA:36,0 -DA:38,0 -DA:40,0 +DA:41,0 DA:42,0 -DA:43,0 -DA:44,0 +DA:48,0 DA:50,0 -DA:52,0 -DA:54,0 -DA:55,0 -DA:56,0 -DA:61,0 -DA:62,0 -DA:64,0 -DA:65,0 -DA:66,0 -DA:67,0 -DA:68,0 -DA:69,0 -DA:70,0 -DA:71,0 -DA:72,0 -DA:73,0 -LF:26 -LH:0 -end_of_record -SF:lib/src/components/badges/priority_pill.dart -DA:33,0 -DA:34,0 -DA:36,0 -DA:37,0 -DA:38,0 -DA:39,0 -DA:40,0 -DA:41,0 -DA:42,0 -DA:43,0 -DA:51,0 -DA:97,0 -DA:99,0 -DA:100,0 -DA:101,0 -DA:102,0 -DA:103,0 -DA:104,0 -DA:106,0 -DA:108,0 -DA:110,0 -DA:111,0 -DA:115,0 -DA:119,0 -DA:120,0 -DA:121,0 -DA:122,0 -DA:123,0 -DA:124,0 -DA:125,0 -DA:126,0 -DA:128,0 -DA:129,0 -DA:131,0 -DA:134,0 -DA:135,0 -DA:140,0 -DA:141,0 -DA:142,0 -DA:143,0 -DA:145,0 -DA:156,0 -DA:158,0 -DA:160,0 -DA:161,0 -DA:162,0 -DA:163,0 -DA:164,0 -DA:165,0 -DA:166,0 -DA:167,0 -LF:51 -LH:0 -end_of_record -SF:lib/src/components/badges/status_label.dart -DA:11,0 -DA:28,0 -DA:30,0 -DA:32,0 -DA:33,0 -DA:34,0 -DA:35,0 -DA:36,0 -DA:38,0 -DA:40,0 -DA:42,0 -DA:43,0 -DA:44,0 -DA:45,0 -DA:46,0 -DA:49,0 -DA:50,0 -DA:51,0 -DA:60,0 -DA:62,0 -DA:64,0 -DA:65,0 -DA:66,0 -DA:67,0 -LF:24 -LH:0 -end_of_record -SF:lib/src/components/badges/tag.dart -DA:18,0 -DA:26,0 -DA:29,0 -DA:42,0 -DA:44,0 -DA:45,0 -DA:46,0 -DA:47,0 -DA:48,0 -DA:49,0 -DA:50,0 -DA:52,0 -DA:53,0 -DA:54,0 -DA:55,0 -DA:56,0 -DA:58,0 -DA:59,0 -DA:67,0 -DA:72,0 -DA:73,0 -DA:74,0 -DA:87,0 -DA:88,0 -DA:90,0 -DA:91,0 -DA:92,0 -DA:93,0 -DA:98,0 -DA:100,0 -DA:102,0 -DA:103,0 -DA:104,0 -DA:109,0 -DA:119,0 -DA:121,0 -DA:122,0 -DA:123,0 -DA:124,0 -DA:126,0 -DA:129,0 -DA:137,0 -DA:140,0 -DA:141,0 -DA:142,0 -DA:145,0 -DA:146,0 -DA:147,0 -DA:148,0 -DA:149,0 -DA:150,0 -DA:151,0 -DA:152,0 -DA:155,0 -DA:159,0 -DA:160,0 -DA:161,0 -DA:166,0 -LF:58 -LH:0 -end_of_record -SF:lib/src/components/banner/banner.dart -DA:37,0 -DA:46,0 -DA:48,0 -DA:49,0 -DA:50,0 -DA:51,0 -DA:52,0 -DA:54,0 -DA:55,0 -DA:56,0 -DA:57,0 -DA:59,0 -DA:65,0 -DA:66,0 -DA:67,0 -DA:68,0 -DA:72,0 -DA:74,0 -DA:76,0 -DA:78,0 -DA:84,0 -DA:91,0 -DA:92,0 -DA:93,0 -DA:94,0 -DA:100,0 -DA:101,0 -DA:104,0 -DA:105,0 -DA:106,0 -DA:107,0 -DA:108,0 -DA:109,0 -DA:110,0 -DA:111,0 -LF:35 -LH:0 -end_of_record -SF:lib/src/components/bottom sheets/bottom_sheet.dart -DA:9,0 -DA:28,0 -DA:30,0 -DA:32,0 -DA:33,0 -DA:34,0 -DA:41,0 -DA:42,0 -DA:48,0 -DA:50,0 -DA:51,0 +DA:51,0 DA:52,0 DA:54,0 DA:56,0 @@ -765,25 +775,15 @@ DA:59,0 DA:60,0 DA:61,0 DA:70,0 -DA:83,0 -DA:97,0 -DA:110,0 -DA:150,0 -DA:151,0 -DA:154,0 -DA:161,0 -DA:162,0 -DA:163,0 -DA:164,0 +DA:85,0 +DA:101,0 +DA:116,0 DA:165,0 DA:166,0 -DA:167,0 -DA:168,0 DA:169,0 -DA:170,0 -DA:171,0 -DA:175,0 +DA:176,0 DA:177,0 +DA:178,0 DA:179,0 DA:180,0 DA:181,0 @@ -791,16 +791,21 @@ DA:182,0 DA:183,0 DA:184,0 DA:185,0 +DA:186,0 +DA:187,0 +DA:188,0 DA:192,0 DA:194,0 -DA:195,0 DA:196,0 DA:197,0 +DA:198,0 DA:199,0 +DA:200,0 +DA:201,0 +DA:202,0 +DA:203,0 DA:204,0 -DA:206,0 -DA:207,0 -DA:208,0 +DA:205,0 DA:212,0 DA:214,0 DA:215,0 @@ -809,198 +814,223 @@ DA:220,0 DA:221,0 DA:222,0 DA:226,0 -DA:227,0 DA:228,0 DA:232,0 +DA:233,0 DA:235,0 DA:236,0 -DA:237,0 DA:238,0 DA:239,0 -DA:240,0 -DA:242,0 DA:243,0 DA:244,0 DA:245,0 -DA:246,0 DA:250,0 DA:251,0 -DA:257,0 DA:259,0 -DA:264,0 -DA:265,0 +DA:260,0 +DA:261,0 +DA:262,0 +DA:263,0 +DA:266,0 DA:267,0 DA:268,0 DA:270,0 DA:271,0 -DA:272,0 +DA:273,0 +DA:274,0 DA:276,0 -DA:277,0 DA:278,0 -DA:283,0 +DA:280,0 +DA:281,0 +DA:282,0 DA:284,0 +DA:285,0 +DA:288,0 DA:292,0 -DA:293,0 -DA:294,0 -DA:295,0 -DA:296,0 -DA:299,0 +DA:297,0 +DA:298,0 DA:300,0 -DA:301,0 -DA:303,0 -DA:304,0 -DA:306,0 -DA:307,0 -DA:309,0 -DA:311,0 DA:313,0 DA:314,0 -DA:315,0 -DA:317,0 DA:318,0 +DA:320,0 DA:321,0 -DA:325,0 +DA:322,0 DA:327,0 DA:328,0 -LF:118 +DA:329,0 +DA:333,0 +DA:334,0 +DA:335,0 +DA:339,0 +DA:342,0 +DA:343,0 +DA:345,0 +DA:346,0 +DA:347,0 +DA:349,0 +DA:351,0 +DA:352,0 +DA:353,0 +DA:357,0 +DA:358,0 +DA:364,0 +DA:366,0 +DA:370,0 +DA:371,0 +DA:372,0 +DA:373,0 +DA:374,0 +DA:375,0 +DA:377,0 +DA:378,0 +DA:379,0 +DA:380,0 +DA:386,0 +DA:392,0 +DA:394,0 +DA:395,0 +LF:136 LH:0 end_of_record SF:lib/src/components/buttons/button.dart -DA:9,0 -DA:21,0 -DA:32,0 -DA:43,0 -DA:54,0 -DA:65,0 -DA:76,0 -DA:87,0 -DA:122,0 -DA:132,0 -DA:133,0 -DA:134,0 -DA:135,0 -DA:136,0 -DA:137,0 -DA:138,0 -DA:139,0 -DA:140,0 -DA:144,0 +DA:9,3 +DA:22,1 +DA:34,1 +DA:46,1 +DA:58,1 +DA:70,1 +DA:82,1 +DA:94,2 +DA:133,1 +DA:143,1 +DA:144,1 +DA:145,1 DA:146,0 DA:147,0 -DA:148,0 -DA:149,0 -DA:150,0 -DA:151,0 -DA:153,0 -DA:154,0 -DA:157,0 -DA:158,0 -DA:160,0 -DA:161,0 -DA:162,0 -DA:163,0 -DA:164,0 -DA:166,0 -DA:167,0 -DA:168,0 -DA:169,0 -DA:171,0 -DA:172,0 -DA:173,0 -DA:174,0 -DA:177,0 -DA:182,0 -DA:183,0 -DA:189,0 -DA:191,0 -DA:192,0 -DA:193,0 -DA:196,0 -DA:199,0 -DA:204,0 -DA:205,0 -DA:206,0 -DA:209,0 -DA:212,0 -DA:217,0 -DA:218,0 -DA:219,0 -DA:220,0 -DA:222,0 -DA:227,0 -DA:229,0 -DA:231,0 -DA:232,0 -DA:233,0 -DA:234,0 -DA:235,0 -DA:236,0 -DA:237,0 -LF:70 -LH:0 +DA:148,1 +DA:149,1 +DA:150,1 +DA:151,1 +DA:155,2 +DA:157,4 +DA:158,2 +DA:159,6 +DA:160,2 +DA:161,2 +DA:162,2 +DA:163,2 +DA:165,4 +DA:166,2 +DA:169,2 +DA:170,2 +DA:172,2 +DA:173,2 +DA:174,1 +DA:175,1 +DA:176,1 +DA:178,4 +DA:179,2 +DA:180,2 +DA:181,2 +DA:183,2 +DA:184,1 +DA:185,1 +DA:186,1 +DA:189,2 +DA:194,2 +DA:195,4 +DA:201,6 +DA:203,2 +DA:204,2 +DA:205,2 +DA:208,2 +DA:211,1 +DA:216,2 +DA:217,2 +DA:218,2 +DA:221,2 +DA:224,1 +DA:229,1 +DA:230,1 +DA:231,1 +DA:232,1 +DA:234,1 +DA:239,1 +DA:241,1 +DA:243,3 +DA:244,3 +DA:245,3 +DA:246,3 +DA:247,3 +DA:248,3 +DA:249,3 +DA:250,3 +LF:72 +LH:70 end_of_record SF:lib/src/components/buttons/button_style.dart -DA:40,0 -DA:42,0 -DA:43,0 -DA:44,0 -DA:45,0 -DA:46,0 -DA:47,0 -DA:48,0 -DA:49,0 -DA:50,0 -DA:51,0 -DA:52,0 -DA:53,0 -DA:58,0 -DA:61,0 -DA:67,0 -DA:69,0 -DA:71,0 -DA:73,0 -DA:80,0 -DA:87,0 -DA:89,0 -DA:91,0 -DA:92,0 -DA:93,0 -DA:94,0 -DA:96,0 -DA:97,0 -DA:98,0 -DA:99,0 -DA:101,0 -DA:102,0 -DA:104,0 -DA:105,0 -DA:108,0 -DA:111,0 -DA:112,0 -DA:113,0 -DA:114,0 -DA:117,0 -DA:118,0 -DA:119,0 -DA:120,0 -DA:121,0 -DA:122,0 -DA:123,0 -DA:124,0 -DA:125,0 -DA:126,0 -DA:130,0 -DA:133,0 -DA:134,0 -DA:135,0 -DA:138,0 -DA:139,0 -DA:141,0 -DA:142,0 -DA:143,0 -DA:150,0 +DA:40,2 +DA:42,2 +DA:43,1 +DA:44,2 +DA:45,1 +DA:46,2 +DA:47,1 +DA:48,2 +DA:49,2 +DA:50,1 +DA:51,2 +DA:52,1 +DA:53,2 +DA:58,6 +DA:61,6 +DA:67,2 +DA:69,2 +DA:71,2 +DA:73,1 +DA:80,2 +DA:87,2 +DA:89,2 +DA:91,2 +DA:92,2 +DA:93,2 +DA:94,4 +DA:96,2 +DA:97,2 +DA:98,2 +DA:99,1 +DA:101,2 +DA:102,1 +DA:104,2 +DA:105,1 +DA:108,2 +DA:111,2 +DA:112,2 +DA:113,2 +DA:114,1 +DA:117,2 +DA:118,2 +DA:119,1 +DA:120,2 +DA:121,1 +DA:122,1 +DA:123,1 +DA:124,1 +DA:125,1 +DA:126,1 +DA:130,4 +DA:133,4 +DA:134,4 +DA:135,2 +DA:138,2 +DA:139,2 +DA:141,2 +DA:142,2 +DA:143,5 +DA:150,2 LF:59 -LH:0 +LH:59 end_of_record SF:lib/src/components/buttons/icon_button.dart DA:9,0 @@ -1074,249 +1104,253 @@ LF:26 LH:0 end_of_record SF:lib/src/components/chat_item/chat_item.dart -DA:10,0 -DA:81,0 -DA:82,0 -DA:84,0 -DA:88,0 -DA:90,0 -DA:91,0 -DA:93,0 -DA:96,0 +DA:12,0 +DA:97,0 DA:98,0 DA:100,0 -DA:101,0 -DA:102,0 -DA:103,0 DA:104,0 DA:105,0 -DA:108,0 -DA:109,0 +DA:107,0 DA:110,0 DA:111,0 DA:112,0 -DA:115,0 -DA:116,0 +DA:114,0 DA:117,0 -DA:118,0 DA:119,0 -DA:122,0 +DA:121,0 DA:123,0 DA:124,0 DA:125,0 -DA:126,0 -DA:131,0 -DA:132,0 +DA:128,0 +DA:129,0 +DA:130,0 DA:133,0 DA:134,0 DA:135,0 -DA:136,0 -DA:137,0 DA:138,0 DA:139,0 -DA:140,0 +DA:142,0 +DA:143,0 +DA:144,0 DA:145,0 DA:146,0 DA:147,0 +DA:148,0 DA:149,0 DA:150,0 -DA:151,0 +DA:154,0 +DA:155,0 DA:156,0 -DA:157,0 DA:158,0 DA:159,0 DA:160,0 -DA:162,0 -DA:165,0 -DA:166,0 +DA:164,0 DA:167,0 DA:168,0 DA:169,0 -DA:175,0 +DA:170,0 +DA:171,0 +DA:173,0 DA:176,0 +DA:177,0 +DA:178,0 +DA:179,0 DA:180,0 -DA:181,0 -DA:183,0 DA:184,0 -DA:185,0 +DA:186,0 +DA:187,0 DA:189,0 DA:190,0 DA:191,0 -DA:193,0 -DA:196,0 +DA:194,0 DA:197,0 DA:198,0 -DA:199,0 -DA:200,0 +DA:201,0 +DA:202,0 DA:203,0 -DA:207,0 +DA:204,0 +DA:205,0 DA:208,0 -DA:209,0 -DA:210,0 -DA:211,0 +DA:212,0 +DA:213,0 +DA:214,0 DA:215,0 -DA:217,0 +DA:216,0 DA:220,0 -DA:221,0 +DA:222,0 DA:225,0 -DA:227,0 +DA:226,0 DA:230,0 -DA:231,0 -DA:238,0 -DA:239,0 -DA:242,0 +DA:232,0 +DA:235,0 +DA:236,0 DA:243,0 DA:244,0 -DA:245,0 -DA:259,0 -DA:261,0 -DA:262,0 -DA:263,0 +DA:247,0 +DA:248,0 +DA:249,0 +DA:250,0 +DA:264,0 DA:266,0 DA:267,0 +DA:268,0 DA:269,0 DA:272,0 DA:273,0 -DA:277,0 +DA:275,0 DA:278,0 DA:279,0 -DA:300,0 -DA:302,0 -DA:304,0 -DA:305,0 -DA:306,0 -DA:307,0 +DA:283,0 +DA:284,0 +DA:285,0 DA:308,0 -DA:309,0 -DA:311,0 +DA:310,0 +DA:312,0 +DA:313,0 DA:314,0 DA:315,0 DA:316,0 DA:317,0 DA:318,0 +DA:319,0 DA:320,0 DA:321,0 DA:322,0 -DA:327,0 +DA:323,0 +DA:330,0 +DA:331,0 +DA:333,0 +DA:334,0 +DA:335,0 +DA:336,0 +DA:337,0 +DA:338,0 DA:339,0 +DA:340,0 DA:341,0 DA:342,0 -DA:343,0 -DA:345,0 -DA:346,0 -DA:347,0 -DA:349,0 DA:350,0 -DA:351,0 -DA:357,0 -DA:358,0 -DA:359,0 -DA:368,0 -DA:370,0 -DA:372,0 -DA:373,0 -DA:374,0 -DA:375,0 +DA:360,0 +DA:365,0 DA:376,0 -LF:144 -LH:0 -end_of_record -SF:lib/src/components/checkbox/checkbox.dart -DA:16,0 -DA:26,0 -DA:29,0 -DA:30,0 -DA:32,0 -DA:33,0 -DA:34,0 -DA:39,0 -DA:64,0 -DA:65,0 -DA:66,0 -DA:68,0 -DA:70,0 -DA:71,0 -DA:72,0 -DA:73,0 -DA:74,0 -DA:80,0 -DA:81,0 -DA:85,0 -DA:114,0 -DA:115,0 -DA:116,0 -DA:118,0 -DA:120,0 -DA:121,0 -DA:122,0 -DA:123,0 -DA:124,0 -DA:125,0 -DA:126,0 -DA:131,0 -DA:136,0 -DA:137,0 -DA:138,0 -DA:139,0 -DA:144,0 -DA:146,0 -DA:148,0 -DA:149,0 -DA:151,0 -DA:153,0 -DA:154,0 -DA:155,0 -DA:156,0 -DA:157,0 -DA:158,0 -DA:159,0 -DA:160,0 -DA:161,0 -DA:162,0 -DA:163,0 -DA:165,0 -DA:173,0 -DA:174,0 -DA:175,0 -DA:177,0 -DA:179,0 -DA:180,0 -DA:187,0 -DA:191,0 -DA:194,0 -DA:195,0 -DA:197,0 -DA:198,0 -DA:199,0 -DA:200,0 -DA:203,0 -DA:206,0 -DA:207,0 -DA:214,0 -DA:215,0 -DA:216,0 -DA:218,0 -DA:225,0 -DA:226,0 -DA:227,0 -DA:228,0 -DA:229,0 -DA:234,0 -DA:235,0 -DA:236,0 -DA:238,0 -DA:239,0 -DA:242,0 -DA:245,0 -DA:247,0 -DA:249,0 -DA:250,0 -DA:251,0 -DA:252,0 -DA:253,0 -LF:92 +DA:387,0 +DA:398,0 +DA:442,0 +DA:444,0 +DA:445,0 +DA:446,0 +DA:448,0 +DA:449,0 +DA:453,0 +DA:454,0 +DA:455,0 +DA:456,0 +DA:457,0 +DA:461,0 +DA:469,0 +DA:471,0 +DA:473,0 +DA:474,0 +DA:475,0 +DA:476,0 +DA:477,0 +DA:478,0 +DA:479,0 +LF:152 LH:0 end_of_record +SF:lib/src/components/checkbox/checkbox.dart +DA:16,1 +DA:27,1 +DA:30,1 +DA:31,1 +DA:33,1 +DA:34,1 +DA:35,1 +DA:40,1 +DA:69,1 +DA:70,1 +DA:71,1 +DA:73,1 +DA:75,3 +DA:76,3 +DA:77,3 +DA:78,3 +DA:79,3 +DA:80,3 +DA:86,1 +DA:87,1 +DA:95,1 +DA:130,1 +DA:131,1 +DA:132,1 +DA:134,1 +DA:136,3 +DA:137,3 +DA:138,3 +DA:139,3 +DA:140,3 +DA:141,3 +DA:142,3 +DA:143,3 +DA:148,3 +DA:153,1 +DA:154,2 +DA:155,2 +DA:156,1 +DA:161,1 +DA:163,1 +DA:165,1 +DA:166,7 +DA:168,1 +DA:170,1 +DA:171,2 +DA:172,2 +DA:174,1 +DA:175,2 +DA:176,2 +DA:177,2 +DA:178,2 +DA:179,1 +DA:180,2 +DA:181,4 +DA:182,1 +DA:184,1 +DA:192,1 +DA:193,1 +DA:194,1 +DA:196,1 +DA:198,1 +DA:199,2 +DA:206,6 +DA:210,1 +DA:213,1 +DA:214,1 +DA:216,1 +DA:217,1 +DA:218,3 +DA:219,1 +DA:222,3 +DA:225,1 +DA:226,2 +DA:233,2 +DA:234,1 +DA:235,1 +DA:237,3 +DA:244,1 +DA:245,4 +DA:246,4 +DA:247,1 +DA:248,3 +DA:253,1 +DA:254,1 +DA:255,1 +DA:257,0 +DA:258,0 +DA:261,0 +LF:88 +LH:85 +end_of_record SF:lib/src/components/chips/assist_chip.dart DA:14,0 LF:1 @@ -1593,94 +1627,94 @@ LF:109 LH:0 end_of_record SF:lib/src/interfaces/form_field.dart -DA:17,0 -DA:37,0 -DA:39,0 -DA:41,0 -DA:42,0 -DA:43,0 -DA:44,0 +DA:17,2 +DA:37,1 +DA:39,1 +DA:41,3 +DA:42,3 +DA:43,3 +DA:44,3 LF:7 -LH:0 +LH:7 end_of_record SF:lib/src/components/dial_pad/dial_pad.dart -DA:10,0 -DA:57,0 -DA:58,0 -DA:60,0 -DA:62,0 -DA:64,0 -DA:65,0 -DA:66,0 -DA:67,0 -DA:72,0 -DA:74,0 -DA:81,0 -DA:82,0 -DA:84,0 -DA:85,0 -DA:86,0 -DA:88,0 -DA:89,0 -DA:91,0 -DA:92,0 -DA:93,0 -DA:94,0 -DA:95,0 -DA:99,0 -DA:100,0 -DA:101,0 -DA:102,0 -DA:103,0 -DA:105,0 -DA:106,0 -DA:108,0 -DA:112,0 -DA:114,0 -DA:115,0 -DA:116,0 -DA:117,0 -DA:118,0 -DA:120,0 -DA:124,0 -DA:125,0 -DA:126,0 -DA:127,0 -DA:128,0 -DA:129,0 -DA:130,0 -DA:132,0 -DA:137,0 -DA:147,0 -DA:173,0 -DA:175,0 -DA:177,0 -DA:178,0 -DA:179,0 -DA:180,0 -DA:183,0 -DA:185,0 -DA:187,0 -DA:189,0 -DA:191,0 -DA:195,0 -DA:197,0 -DA:198,0 -DA:200,0 -DA:202,0 -DA:203,0 -DA:205,0 -DA:206,0 -DA:207,0 -DA:209,0 -DA:210,0 -DA:214,0 -DA:215,0 -DA:216,0 -DA:217,0 -DA:218,0 +DA:10,2 +DA:57,1 +DA:58,1 +DA:60,1 +DA:62,1 +DA:64,3 +DA:65,3 +DA:66,3 +DA:67,3 +DA:72,3 +DA:74,3 +DA:81,1 +DA:82,3 +DA:84,2 +DA:85,1 +DA:86,5 +DA:88,4 +DA:89,3 +DA:91,1 +DA:92,1 +DA:93,3 +DA:94,2 +DA:95,5 +DA:99,1 +DA:100,2 +DA:101,1 +DA:102,1 +DA:103,1 +DA:105,1 +DA:106,3 +DA:108,4 +DA:112,1 +DA:114,1 +DA:115,1 +DA:116,6 +DA:117,1 +DA:118,1 +DA:120,2 +DA:124,2 +DA:125,1 +DA:126,2 +DA:127,1 +DA:128,1 +DA:129,1 +DA:130,2 +DA:132,4 +DA:137,1 +DA:147,2 +DA:173,1 +DA:175,1 +DA:177,3 +DA:178,3 +DA:179,3 +DA:180,3 +DA:183,1 +DA:185,2 +DA:187,1 +DA:189,1 +DA:191,1 +DA:195,1 +DA:197,2 +DA:198,4 +DA:200,1 +DA:202,1 +DA:203,4 +DA:205,2 +DA:206,1 +DA:207,1 +DA:209,1 +DA:210,1 +DA:214,1 +DA:215,1 +DA:216,2 +DA:217,2 +DA:218,4 LF:75 -LH:0 +LH:75 end_of_record SF:lib/src/components/dialog/dialog.dart DA:15,0 @@ -1772,312 +1806,312 @@ LF:85 LH:0 end_of_record SF:lib/src/components/dropdown/dropdown.dart -DA:47,0 -DA:51,0 -DA:52,0 +DA:10,0 +DA:15,0 +DA:16,0 +DA:18,0 +DA:19,0 +DA:21,0 +DA:22,0 +DA:24,0 +DA:25,0 +DA:31,0 +DA:36,0 DA:54,0 -DA:55,0 -DA:57,0 -DA:58,0 -DA:60,0 -DA:61,0 -DA:67,0 -DA:72,0 -DA:90,0 -DA:138,0 -DA:139,0 -DA:140,0 -DA:142,0 -DA:144,0 -DA:145,0 -DA:146,0 -DA:147,0 -DA:148,0 -DA:149,0 -DA:150,0 -DA:151,0 -DA:152,0 -DA:157,0 +DA:112,0 +DA:113,0 +DA:114,0 +DA:116,0 +DA:118,0 +DA:119,0 +DA:120,0 +DA:121,0 +DA:122,0 +DA:123,0 +DA:124,0 +DA:125,0 +DA:126,0 +DA:131,0 +DA:133,0 +DA:160,0 +DA:161,0 +DA:164,0 +DA:166,0 +DA:167,0 +DA:168,0 +DA:169,0 +DA:171,0 +DA:172,0 +DA:174,0 +DA:178,0 +DA:180,0 +DA:182,0 DA:183,0 DA:184,0 +DA:186,0 DA:187,0 -DA:189,0 -DA:190,0 +DA:188,0 +DA:191,0 +DA:192,0 +DA:193,0 DA:194,0 -DA:196,0 -DA:198,0 -DA:199,0 DA:200,0 DA:202,0 DA:203,0 DA:204,0 -DA:205,0 -DA:212,0 +DA:207,0 +DA:209,0 +DA:210,0 +DA:211,0 DA:213,0 -DA:214,0 DA:217,0 -DA:218,0 -DA:220,0 +DA:221,0 DA:222,0 -DA:228,0 -DA:233,0 -DA:234,0 -DA:235,0 +DA:223,0 +DA:226,0 +DA:227,0 +DA:229,0 +DA:231,0 DA:236,0 +DA:237,0 +DA:238,0 DA:239,0 -DA:243,0 -DA:244,0 -DA:245,0 +DA:241,0 DA:246,0 -DA:249,0 -DA:250,0 DA:251,0 DA:252,0 DA:253,0 +DA:254,0 DA:257,0 -DA:258,0 -DA:259,0 -DA:260,0 DA:261,0 DA:262,0 DA:263,0 DA:264,0 -DA:265,0 -DA:266,0 +DA:267,0 +DA:268,0 DA:269,0 +DA:270,0 DA:271,0 DA:273,0 DA:274,0 -DA:275,0 -DA:276,0 -DA:278,0 -DA:279,0 +DA:280,0 DA:281,0 DA:282,0 +DA:283,0 +DA:284,0 DA:285,0 DA:286,0 -DA:289,0 +DA:287,0 DA:290,0 DA:291,0 DA:292,0 -DA:293,0 DA:294,0 DA:295,0 DA:296,0 DA:297,0 -DA:298,0 +DA:299,0 DA:300,0 -DA:301,0 +DA:302,0 +DA:303,0 +DA:306,0 +DA:307,0 +DA:310,0 +DA:311,0 +DA:312,0 +DA:313,0 DA:314,0 +DA:315,0 DA:316,0 +DA:317,0 DA:318,0 DA:319,0 -DA:320,0 -DA:323,0 -DA:325,0 -DA:326,0 -DA:327,0 -DA:330,0 -DA:331,0 -DA:335,0 +DA:321,0 +DA:322,0 +DA:334,0 +DA:336,0 DA:338,0 -DA:340,0 -DA:342,0 -DA:343,0 -DA:345,0 -DA:348,0 -DA:355,0 +DA:339,0 +DA:341,0 +DA:344,0 +DA:351,0 +DA:378,0 +DA:379,0 +DA:380,0 DA:382,0 -DA:383,0 DA:384,0 +DA:385,0 DA:386,0 +DA:387,0 DA:388,0 -DA:389,0 DA:390,0 -DA:391,0 -DA:392,0 +DA:393,0 DA:394,0 -DA:397,0 -DA:398,0 +DA:401,0 +DA:403,0 +DA:404,0 DA:405,0 -DA:407,0 -DA:408,0 -DA:409,0 -DA:410,0 -DA:415,0 +DA:406,0 +DA:411,0 +DA:413,0 +DA:414,0 DA:417,0 -DA:418,0 +DA:419,0 DA:421,0 -DA:423,0 -DA:425,0 -DA:428,0 +DA:424,0 +DA:430,0 +DA:432,0 +DA:433,0 DA:434,0 +DA:435,0 DA:436,0 -DA:438,0 -DA:439,0 -DA:440,0 -DA:441,0 +DA:437,0 DA:442,0 -DA:443,0 DA:445,0 +DA:446,0 DA:447,0 DA:448,0 DA:449,0 -DA:451,0 -DA:453,0 -DA:454,0 -DA:455,0 +DA:459,0 +DA:460,0 +DA:461,0 DA:462,0 -DA:468,0 +DA:463,0 +DA:464,0 +DA:465,0 +DA:466,0 DA:469,0 DA:470,0 DA:471,0 -DA:472,0 DA:473,0 DA:474,0 -DA:475,0 +DA:477,0 DA:478,0 -DA:479,0 -DA:480,0 DA:482,0 DA:483,0 +DA:484,0 +DA:485,0 DA:486,0 -DA:487,0 +DA:488,0 +DA:489,0 DA:491,0 DA:492,0 -DA:493,0 DA:494,0 DA:495,0 -DA:497,0 DA:498,0 DA:500,0 DA:501,0 -DA:503,0 +DA:502,0 DA:504,0 +DA:506,0 DA:507,0 -DA:509,0 -DA:510,0 +DA:508,0 DA:511,0 +DA:512,0 DA:513,0 -DA:515,0 -DA:516,0 -DA:517,0 -DA:520,0 -DA:521,0 -DA:522,0 -DA:532,0 -DA:534,0 -DA:535,0 -DA:536,0 -DA:538,0 -DA:546,0 +DA:523,0 +DA:525,0 +DA:526,0 +DA:527,0 +DA:529,0 +DA:537,0 +DA:563,0 +DA:564,0 +DA:565,0 +DA:567,0 +DA:569,0 +DA:570,0 +DA:571,0 DA:572,0 DA:573,0 DA:574,0 -DA:576,0 -DA:578,0 DA:579,0 -DA:580,0 DA:581,0 DA:582,0 -DA:583,0 -DA:588,0 -DA:590,0 -DA:591,0 -DA:593,0 -DA:594,0 -DA:595,0 +DA:584,0 +DA:585,0 +DA:586,0 +DA:597,0 +DA:598,0 +DA:599,0 +DA:602,0 +DA:603,0 DA:606,0 DA:607,0 DA:608,0 -DA:609,0 +DA:610,0 DA:611,0 DA:612,0 DA:613,0 -DA:615,0 DA:616,0 DA:617,0 -DA:618,0 -DA:621,0 -DA:622,0 -LF:228 +LF:238 LH:0 end_of_record SF:lib/src/components/fabs/fab.dart -DA:31,0 -DA:83,0 -DA:84,0 -DA:86,0 -DA:88,0 -DA:90,0 -DA:91,0 -DA:92,0 -DA:93,0 -DA:94,0 -DA:95,0 -DA:96,0 -DA:97,0 -DA:103,0 -DA:104,0 -DA:105,0 -DA:108,0 -DA:110,0 -DA:111,0 -DA:112,0 -DA:115,0 -DA:116,0 -DA:117,0 -DA:118,0 -DA:122,0 -DA:124,0 -DA:125,0 -DA:128,0 -DA:130,0 -DA:131,0 -DA:133,0 -DA:134,0 -DA:135,0 -DA:137,0 -DA:139,0 -DA:140,0 -DA:141,0 -DA:142,0 -DA:143,0 -DA:146,0 -DA:147,0 -DA:148,0 -DA:150,0 -DA:156,0 -DA:158,0 -DA:159,0 -DA:161,0 -DA:162,0 -DA:164,0 -DA:165,0 -DA:166,0 -DA:167,0 -DA:169,0 -DA:171,0 -DA:180,0 -DA:181,0 -DA:183,0 -DA:184,0 -DA:185,0 -DA:186,0 -DA:187,0 -DA:188,0 -DA:194,0 -DA:195,0 -DA:198,0 -DA:201,0 -DA:202,0 -DA:204,0 -DA:205,0 -DA:209,0 -DA:218,0 -DA:219,0 -LF:72 -LH:0 +DA:31,2 +DA:87,1 +DA:88,1 +DA:90,1 +DA:92,1 +DA:94,3 +DA:95,3 +DA:96,3 +DA:97,3 +DA:98,3 +DA:99,3 +DA:100,3 +DA:101,3 +DA:102,3 +DA:107,1 +DA:109,6 +DA:110,3 +DA:111,5 +DA:113,1 +DA:114,2 +DA:115,2 +DA:116,1 +DA:118,6 +DA:119,2 +DA:120,1 +DA:121,0 +DA:123,1 +DA:124,1 +DA:126,1 +DA:127,0 +DA:131,1 +DA:132,1 +DA:133,1 +DA:135,5 +DA:141,1 +DA:143,1 +DA:146,4 +DA:147,1 +DA:149,1 +DA:150,6 +DA:151,2 +DA:152,1 +DA:154,4 +DA:156,2 +DA:165,1 +DA:166,2 +DA:168,1 +DA:169,1 +DA:170,1 +DA:171,1 +DA:172,1 +DA:173,1 +DA:179,1 +DA:180,1 +DA:183,1 +DA:186,1 +DA:187,1 +DA:189,1 +DA:190,1 +DA:194,1 +DA:203,2 +DA:204,2 +LF:62 +LH:60 end_of_record SF:lib/src/components/filter_selection/filter_selection.dart DA:9,0 @@ -2211,63 +2245,60 @@ LF:27 LH:0 end_of_record SF:lib/src/components/in_page_banner/in_page_banner.dart -DA:11,0 -DA:44,0 -DA:46,0 -DA:47,0 -DA:48,0 -DA:49,0 -DA:51,0 -DA:53,0 -DA:54,0 -DA:55,0 -DA:56,0 -DA:59,0 -DA:61,0 -DA:63,0 -DA:64,0 -DA:66,0 -DA:67,0 -DA:69,0 -DA:72,0 -DA:73,0 -DA:75,0 -DA:78,0 -DA:79,0 -DA:81,0 -DA:82,0 -DA:83,0 -DA:84,0 -DA:86,0 -DA:87,0 -DA:88,0 -DA:89,0 -DA:90,0 -DA:91,0 -DA:92,0 -DA:93,0 -DA:97,0 -DA:98,0 -DA:99,0 -DA:100,0 -DA:105,0 -DA:112,0 -DA:114,0 -DA:116,0 -DA:117,0 -DA:119,0 -DA:122,0 -DA:123,0 -DA:124,0 -DA:125,0 -DA:130,0 -DA:132,0 -DA:134,0 -DA:136,0 -DA:138,0 -DA:139,0 -LF:55 -LH:0 +DA:11,2 +DA:44,1 +DA:46,1 +DA:47,2 +DA:48,1 +DA:49,1 +DA:51,1 +DA:53,1 +DA:54,1 +DA:55,1 +DA:56,2 +DA:59,1 +DA:61,1 +DA:63,1 +DA:64,1 +DA:66,1 +DA:67,3 +DA:69,5 +DA:72,1 +DA:73,1 +DA:75,1 +DA:78,1 +DA:79,1 +DA:81,1 +DA:82,1 +DA:83,3 +DA:84,1 +DA:86,2 +DA:87,1 +DA:88,1 +DA:89,3 +DA:90,1 +DA:91,1 +DA:92,1 +DA:93,1 +DA:97,1 +DA:98,1 +DA:99,1 +DA:100,1 +DA:105,2 +DA:112,1 +DA:114,1 +DA:116,3 +DA:117,3 +DA:118,3 +DA:119,3 +DA:124,1 +DA:126,1 +DA:128,1 +DA:130,1 +DA:132,1 +DA:133,1 +LF:52 +LH:52 end_of_record SF:lib/src/components/list_item/dropdown_list_item.dart DA:10,0 @@ -2825,120 +2856,59 @@ DA:337,0 DA:338,0 DA:339,0 DA:340,0 -DA:345,12 +DA:345,24 DA:347,0 LF:143 LH:1 end_of_record SF:lib/src/components/password/password_input.dart -DA:8,0 -DA:14,0 -DA:64,0 -DA:65,0 -DA:67,0 -DA:69,0 -DA:71,0 -DA:72,0 -DA:74,0 -DA:75,0 -DA:76,0 -DA:77,0 -DA:78,0 -DA:79,0 -DA:80,0 -DA:81,0 -DA:83,0 -DA:86,0 -DA:87,0 -DA:89,0 -DA:92,0 -DA:93,0 -DA:101,0 -DA:103,0 -DA:104,0 -DA:105,0 -DA:108,0 -DA:109,0 -DA:110,0 -DA:114,0 -DA:116,0 -DA:117,0 -DA:118,0 -DA:121,0 -DA:123,0 -DA:124,0 -DA:126,0 -DA:128,0 -DA:129,0 -DA:130,0 -DA:132,0 -DA:134,0 -DA:135,0 -DA:136,0 -DA:137,0 -DA:138,0 -DA:139,0 -DA:140,0 -DA:142,0 -DA:143,0 -DA:144,0 -DA:147,0 -DA:148,0 -DA:149,0 -DA:150,0 -DA:153,0 -DA:154,0 -DA:155,0 -DA:156,0 -DA:157,0 -DA:158,0 -DA:159,0 -DA:160,0 -DA:161,0 -DA:163,0 -DA:165,0 -DA:167,0 -DA:168,0 -DA:177,0 -DA:178,0 -DA:180,0 -DA:181,0 -DA:182,0 -DA:183,0 -DA:186,0 -DA:189,0 -DA:190,0 -DA:191,0 -DA:194,0 -DA:195,0 -DA:196,0 -DA:198,0 -DA:202,0 -DA:203,0 -DA:204,0 -DA:205,0 -DA:206,0 -DA:217,0 -DA:218,0 -DA:219,0 -DA:220,0 -DA:224,0 -DA:225,0 -DA:226,0 -DA:227,0 -DA:230,0 -DA:231,0 -DA:232,0 -DA:234,0 -DA:236,0 -DA:241,0 -DA:242,0 -DA:243,0 -LF:103 -LH:0 +DA:10,2 +DA:56,1 +DA:57,1 +DA:59,1 +DA:61,1 +DA:63,1 +DA:64,2 +DA:66,3 +DA:67,3 +DA:68,3 +DA:69,3 +DA:70,3 +DA:71,3 +DA:72,3 +DA:73,3 +DA:74,3 +DA:81,1 +DA:83,1 +DA:84,3 +DA:87,1 +DA:88,2 +DA:89,1 +DA:91,1 +DA:95,1 +DA:97,1 +DA:99,1 +DA:100,2 +DA:102,2 +DA:103,2 +DA:104,2 +DA:105,2 +DA:106,2 +DA:107,2 +DA:108,2 +DA:109,2 +DA:110,2 +DA:111,1 +DA:112,1 +DA:113,2 +DA:114,1 +DA:115,2 +DA:116,2 +LF:42 +LH:42 end_of_record SF:lib/src/components/phone_input/countries.dart -DA:4,12 +DA:4,24 DA:20,0 DA:22,0 DA:23,0 @@ -3802,12 +3772,11 @@ LF:243 LH:0 end_of_record SF:lib/src/components/select_input/select_input.dart -DA:12,0 -DA:60,0 +DA:13,0 DA:61,0 DA:62,0 -DA:64,0 -DA:66,0 +DA:63,0 +DA:65,0 DA:67,0 DA:68,0 DA:69,0 @@ -3816,62 +3785,61 @@ DA:71,0 DA:72,0 DA:73,0 DA:74,0 -DA:84,0 -DA:86,0 +DA:75,0 +DA:85,0 DA:87,0 DA:88,0 -DA:95,0 -DA:97,0 +DA:89,0 +DA:96,0 DA:98,0 -DA:100,0 +DA:99,0 DA:101,0 -DA:104,0 -DA:106,0 +DA:102,0 +DA:105,0 DA:107,0 -DA:109,0 -DA:112,0 +DA:108,0 +DA:110,0 DA:113,0 DA:114,0 -DA:117,0 +DA:115,0 DA:118,0 DA:119,0 DA:120,0 -DA:122,0 -DA:125,0 +DA:121,0 +DA:123,0 DA:126,0 DA:127,0 -DA:130,0 +DA:128,0 DA:131,0 DA:132,0 DA:133,0 -DA:135,0 -DA:138,0 -DA:140,0 -DA:143,0 +DA:134,0 +DA:136,0 +DA:139,0 +DA:141,0 DA:144,0 DA:145,0 DA:146,0 -DA:148,0 -DA:150,0 -DA:153,0 +DA:147,0 +DA:149,0 +DA:151,0 DA:154,0 DA:155,0 -DA:157,0 +DA:156,0 DA:158,0 DA:159,0 DA:160,0 -DA:161,0 DA:162,0 DA:163,0 DA:164,0 DA:165,0 DA:166,0 DA:167,0 +DA:168,0 DA:169,0 -DA:170,0 +DA:171,0 DA:172,0 -DA:177,0 -DA:178,0 +DA:174,0 DA:179,0 DA:180,0 DA:181,0 @@ -3882,6 +3850,8 @@ DA:185,0 DA:186,0 DA:187,0 DA:188,0 +DA:189,0 +DA:190,0 LF:80 LH:0 end_of_record @@ -3940,14 +3910,14 @@ LF:50 LH:0 end_of_record SF:lib/src/zeta.dart -DA:15,5 -DA:44,2 -DA:45,4 -DA:46,10 -DA:47,2 +DA:15,17 +DA:44,14 +DA:45,28 +DA:46,58 +DA:47,4 DA:48,2 -DA:50,2 -DA:55,6 +DA:50,4 +DA:55,30 DA:62,2 DA:63,4 DA:64,2 @@ -3957,8 +3927,8 @@ DA:74,6 DA:75,6 DA:76,3 DA:77,3 -DA:84,3 -DA:85,3 +DA:84,15 +DA:85,15 DA:89,1 DA:90,1 DA:91,1 @@ -3982,142 +3952,149 @@ LH:37 end_of_record SF:lib/src/components/snack_bar/snack_bar.dart DA:38,0 -DA:51,0 -DA:54,0 -DA:55,0 -DA:58,0 -DA:62,0 -DA:63,0 -DA:64,0 -DA:66,0 -DA:68,0 -DA:69,0 -DA:70,0 -DA:71,0 -DA:72,0 -DA:73,0 -DA:74,0 -DA:76,0 -DA:82,0 +DA:80,0 +DA:83,0 +DA:84,0 +DA:87,0 +DA:91,0 +DA:92,0 +DA:93,0 DA:95,0 +DA:97,0 +DA:98,0 DA:99,0 +DA:100,0 +DA:101,0 DA:102,0 DA:103,0 -DA:104,0 DA:105,0 -DA:106,0 -DA:107,0 -DA:113,0 -DA:118,0 -DA:120,0 -DA:122,0 -DA:123,0 -DA:126,0 -DA:131,0 +DA:111,0 +DA:125,0 +DA:129,0 DA:132,0 DA:133,0 DA:134,0 DA:135,0 DA:136,0 DA:137,0 -DA:138,0 -DA:142,0 -DA:144,0 -DA:146,0 -DA:147,0 +DA:143,0 DA:148,0 DA:150,0 +DA:152,0 +DA:153,0 DA:156,0 -DA:170,0 +DA:161,0 +DA:162,0 +DA:163,0 +DA:164,0 +DA:165,0 +DA:166,0 +DA:167,0 +DA:168,0 DA:172,0 DA:174,0 -DA:175,0 DA:176,0 DA:177,0 DA:178,0 -DA:181,0 -DA:183,0 -DA:185,0 +DA:180,0 DA:186,0 -DA:187,0 -DA:188,0 -DA:190,0 -DA:191,0 -DA:192,0 -DA:193,0 -DA:195,0 -DA:196,0 -DA:197,0 -DA:198,0 -DA:199,0 -DA:200,0 -DA:201,0 -DA:203,0 +DA:202,0 DA:204,0 -DA:205,0 DA:206,0 +DA:207,0 DA:208,0 DA:209,0 DA:210,0 DA:211,0 -DA:213,0 DA:214,0 -DA:215,0 DA:216,0 +DA:218,0 +DA:220,0 +DA:221,0 +DA:222,0 DA:223,0 -DA:231,0 +DA:227,0 +DA:228,0 +DA:230,0 DA:233,0 +DA:234,0 DA:235,0 DA:236,0 +DA:237,0 DA:239,0 -DA:241,0 -DA:243,0 +DA:240,0 +DA:242,0 DA:244,0 +DA:245,0 +DA:246,0 +DA:247,0 +DA:248,0 DA:249,0 DA:250,0 DA:252,0 -DA:261,0 -DA:271,0 -DA:273,0 -DA:275,0 -DA:276,0 -DA:277,0 -DA:280,0 +DA:253,0 +DA:255,0 +DA:257,0 +DA:258,0 +DA:260,0 +DA:262,0 +DA:263,0 +DA:265,0 +DA:268,0 +DA:274,0 DA:282,0 DA:284,0 -DA:285,0 +DA:286,0 +DA:287,0 +DA:290,0 +DA:292,0 DA:294,0 DA:295,0 -DA:296,0 -DA:297,0 -DA:298,0 -DA:308,0 -DA:313,0 -DA:315,0 -DA:316,0 -DA:319,0 -DA:321,0 +DA:300,0 +DA:301,0 +DA:303,0 +DA:312,0 DA:322,0 -DA:323,0 DA:324,0 -DA:325,0 DA:326,0 -DA:330,0 -DA:332,0 +DA:327,0 +DA:328,0 +DA:331,0 DA:333,0 -DA:334,0 DA:335,0 DA:336,0 -DA:337,0 -DA:342,0 -DA:344,0 +DA:345,0 DA:346,0 DA:347,0 DA:348,0 DA:349,0 -DA:350,0 -DA:352,0 -LF:136 +DA:359,0 +DA:364,0 +DA:366,0 +DA:367,0 +DA:370,0 +DA:372,0 +DA:373,0 +DA:374,0 +DA:375,0 +DA:376,0 +DA:377,0 +DA:381,0 +DA:383,0 +DA:384,0 +DA:385,0 +DA:386,0 +DA:387,0 +DA:388,0 +DA:393,0 +DA:395,0 +DA:397,0 +DA:398,0 +DA:399,0 +DA:400,0 +DA:401,0 +DA:403,0 +LF:143 LH:0 end_of_record SF:lib/src/components/stepper/stepper.dart @@ -5035,198 +5012,200 @@ LF:9 LH:0 end_of_record SF:lib/src/components/text_input/text_input.dart -DA:17,0 -DA:39,0 -DA:40,0 -DA:41,0 -DA:89,0 -DA:90,0 -DA:91,0 -DA:93,0 -DA:95,0 -DA:96,0 -DA:97,0 -DA:98,0 -DA:99,0 -DA:100,0 -DA:101,0 -DA:102,0 -DA:103,0 -DA:104,0 -DA:105,0 -DA:106,0 -DA:107,0 -DA:108,0 -DA:109,0 -DA:110,0 -DA:111,0 -DA:112,0 +DA:17,1 +DA:40,1 +DA:41,1 +DA:42,1 +DA:111,1 +DA:112,1 +DA:113,0 +DA:115,0 +DA:117,0 +DA:118,0 +DA:119,0 DA:120,0 +DA:121,0 +DA:122,0 +DA:123,0 +DA:124,0 +DA:125,0 +DA:126,0 DA:127,0 DA:128,0 DA:129,0 +DA:130,0 DA:131,0 DA:132,0 +DA:133,0 DA:134,0 -DA:137,0 -DA:139,0 -DA:145,0 -DA:146,0 -DA:147,0 -DA:149,0 -DA:150,0 -DA:155,0 -DA:156,0 -DA:157,0 -DA:158,0 -DA:160,0 -DA:163,0 -DA:165,0 -DA:166,0 -DA:168,0 -DA:170,0 +DA:135,0 +DA:143,4 +DA:150,1 +DA:151,2 +DA:152,0 +DA:154,1 +DA:155,3 +DA:157,2 +DA:160,1 +DA:162,3 +DA:168,1 +DA:169,2 +DA:170,1 +DA:172,0 DA:173,0 DA:178,0 DA:179,0 DA:180,0 DA:181,0 -DA:182,0 -DA:184,0 -DA:185,0 -DA:188,0 -DA:194,0 -DA:195,0 -DA:196,0 -DA:197,0 -DA:198,0 -DA:200,0 -DA:201,0 +DA:183,0 +DA:186,1 +DA:188,2 +DA:189,1 +DA:191,0 +DA:193,0 +DA:196,1 +DA:201,1 +DA:202,2 +DA:203,2 DA:204,0 -DA:210,0 -DA:212,0 -DA:215,0 -DA:216,0 +DA:205,0 +DA:207,0 +DA:208,0 +DA:211,0 +DA:217,1 +DA:218,4 DA:219,0 DA:220,0 +DA:221,0 DA:223,0 -DA:225,0 -DA:226,0 -DA:228,0 -DA:229,0 -DA:231,0 -DA:234,0 -DA:236,0 -DA:237,0 -DA:238,0 -DA:241,0 -DA:242,0 -DA:244,0 -DA:247,0 -DA:248,0 -DA:250,0 +DA:224,0 +DA:227,0 +DA:233,2 +DA:235,4 +DA:238,3 +DA:239,4 +DA:242,3 +DA:243,3 +DA:246,1 +DA:248,4 +DA:249,3 +DA:251,2 DA:252,0 -DA:253,0 -DA:256,0 -DA:258,0 +DA:254,1 +DA:257,1 +DA:259,4 DA:260,0 -DA:262,0 +DA:261,0 +DA:264,4 DA:265,0 -DA:266,0 -DA:267,0 -DA:268,0 -DA:269,0 +DA:267,1 DA:270,0 -DA:274,0 +DA:271,0 +DA:273,0 DA:275,0 DA:276,0 -DA:277,0 -DA:280,0 -DA:281,0 -DA:282,0 -DA:285,0 -DA:286,0 -DA:287,0 -DA:288,0 -DA:289,0 +DA:279,1 +DA:281,1 +DA:283,1 +DA:285,1 +DA:288,1 +DA:289,2 DA:290,0 DA:291,0 DA:292,0 -DA:294,0 -DA:296,0 -DA:298,0 +DA:293,0 +DA:297,1 +DA:298,2 DA:299,0 DA:300,0 -DA:301,0 -DA:303,0 +DA:303,2 +DA:304,0 DA:305,0 -DA:306,0 -DA:307,0 -DA:308,0 -DA:309,0 -DA:310,0 -DA:311,0 -DA:312,0 -DA:313,0 -DA:314,0 -DA:315,0 -DA:316,0 -DA:317,0 -DA:318,0 -DA:319,0 -DA:324,0 -DA:325,0 -DA:327,0 -DA:328,0 -DA:337,0 -DA:347,0 -DA:349,0 -DA:354,0 -DA:355,0 -DA:357,0 -DA:359,0 -DA:360,0 -DA:362,0 -DA:363,0 -DA:368,0 -DA:369,0 -DA:370,0 +DA:308,1 +DA:309,2 +DA:310,1 +DA:311,1 +DA:312,2 +DA:313,1 +DA:314,2 +DA:315,4 +DA:317,1 +DA:319,2 +DA:321,2 +DA:322,1 +DA:323,2 +DA:324,2 +DA:325,1 +DA:327,1 +DA:329,1 +DA:330,2 +DA:331,1 +DA:332,1 +DA:333,1 +DA:334,1 +DA:335,1 +DA:336,1 +DA:337,1 +DA:338,1 +DA:339,1 +DA:340,3 +DA:341,2 +DA:342,1 +DA:343,1 +DA:348,1 +DA:349,2 +DA:351,2 +DA:352,1 +DA:361,0 DA:371,0 -DA:372,0 DA:373,0 -DA:376,0 +DA:378,0 +DA:379,0 DA:381,0 DA:383,0 -DA:385,0 +DA:384,0 DA:386,0 DA:387,0 DA:392,0 -DA:403,0 +DA:393,0 +DA:394,0 +DA:395,0 +DA:396,0 +DA:397,0 +DA:400,0 DA:405,0 -DA:406,0 -DA:408,0 +DA:407,0 +DA:409,0 DA:410,0 -DA:412,0 -DA:413,0 -DA:415,0 -DA:418,0 -DA:422,0 -DA:423,0 -DA:424,0 -DA:425,0 -DA:426,0 -DA:429,0 -DA:438,0 -DA:439,0 -DA:441,0 -DA:446,0 -DA:449,0 -DA:451,0 +DA:411,0 +DA:416,1 +DA:427,1 +DA:429,2 +DA:430,3 +DA:432,3 +DA:434,1 +DA:436,1 +DA:437,0 +DA:439,1 +DA:442,1 +DA:446,1 +DA:447,1 +DA:448,1 +DA:449,1 +DA:450,1 DA:453,0 -DA:454,0 -DA:455,0 -DA:456,0 -LF:190 -LH:0 +DA:462,1 +DA:463,1 +DA:465,1 +DA:470,1 +DA:473,0 +DA:475,0 +DA:477,0 +DA:478,0 +DA:479,0 +DA:480,0 +LF:192 +LH:103 end_of_record SF:lib/src/components/time_input/time_input.dart DA:19,0 @@ -5687,8 +5666,8 @@ DA:63,1 DA:64,1 DA:65,1 DA:66,7 -DA:75,5 -DA:78,6 +DA:75,50 +DA:78,51 DA:81,3 DA:94,1 DA:96,1 @@ -5748,71 +5727,71 @@ LF:76 LH:76 end_of_record SF:lib/src/theme/color_swatch.dart -DA:15,21 -DA:20,9 +DA:15,45 +DA:20,21 DA:32,3 DA:45,3 DA:48,3 DA:49,3 DA:50,3 -DA:67,10 -DA:68,38 -DA:71,18 -DA:74,14 -DA:77,12 -DA:80,12 -DA:83,12 -DA:86,12 -DA:89,12 -DA:92,12 -DA:95,16 -DA:98,12 -DA:106,4 +DA:67,22 +DA:68,86 +DA:71,42 +DA:74,18 +DA:77,16 +DA:80,16 +DA:83,22 +DA:86,16 +DA:89,20 +DA:92,16 +DA:95,44 +DA:98,14 +DA:106,34 DA:112,4 -DA:118,4 -DA:124,4 +DA:118,16 +DA:124,8 DA:130,4 DA:136,4 -DA:142,4 +DA:142,20 DA:148,4 -DA:153,4 -DA:165,10 -DA:169,40 -DA:172,32 -DA:175,40 -DA:178,27 -DA:181,8 -DA:184,16 -DA:189,6 -DA:190,6 -DA:191,6 -DA:192,6 -DA:193,6 -DA:194,6 -DA:195,6 -DA:196,6 -DA:197,6 -DA:198,6 -DA:199,6 -DA:200,6 -DA:201,6 -DA:202,6 -DA:203,6 +DA:153,8 +DA:165,22 +DA:169,88 +DA:172,80 +DA:175,100 +DA:178,63 +DA:181,20 +DA:184,40 +DA:189,7 +DA:190,7 +DA:191,7 +DA:192,7 +DA:193,7 +DA:194,7 +DA:195,7 +DA:196,7 +DA:197,7 +DA:198,7 +DA:199,7 +DA:200,7 +DA:201,7 +DA:202,7 +DA:203,7 LF:50 LH:50 end_of_record SF:lib/src/theme/contrast.dart -DA:18,9 -DA:20,9 +DA:18,21 +DA:20,21 DA:22,5 DA:31,2 DA:33,2 DA:35,2 -DA:44,2 -DA:46,2 +DA:44,5 +DA:46,5 DA:48,2 -DA:57,2 -DA:59,2 +DA:57,3 +DA:59,3 DA:61,2 DA:70,2 DA:72,2 @@ -5820,14 +5799,14 @@ DA:74,2 DA:83,2 DA:85,2 DA:87,2 -DA:96,2 -DA:98,2 +DA:96,6 +DA:98,6 DA:100,2 DA:108,2 DA:110,2 DA:112,2 -DA:120,2 -DA:122,2 +DA:120,3 +DA:122,3 DA:124,2 DA:141,2 DA:143,2 @@ -5836,59 +5815,59 @@ LF:30 LH:30 end_of_record SF:lib/src/theme/color_scheme.dart -DA:29,2 -DA:95,2 -DA:151,2 -DA:152,1 -DA:153,1 -DA:154,2 -DA:155,1 -DA:156,1 -DA:157,2 -DA:158,2 -DA:159,2 -DA:160,2 -DA:161,2 -DA:162,2 -DA:163,2 -DA:164,2 -DA:165,2 -DA:166,2 -DA:167,2 -DA:168,2 -DA:169,2 -DA:170,2 -DA:171,2 -DA:172,2 -DA:173,2 -DA:174,2 -DA:175,2 -DA:176,2 -DA:177,2 -DA:178,2 -DA:179,2 -DA:180,2 -DA:181,2 -DA:182,2 -DA:183,2 -DA:184,2 -DA:185,2 -DA:186,2 -DA:187,2 -DA:188,2 -DA:189,2 -DA:190,2 -DA:191,2 -DA:192,2 -DA:193,2 -DA:194,2 -DA:195,2 -DA:196,2 +DA:29,17 +DA:95,17 +DA:151,17 +DA:152,16 +DA:153,16 +DA:154,17 +DA:155,16 +DA:156,16 +DA:157,17 +DA:158,17 +DA:159,17 +DA:160,17 +DA:161,17 +DA:162,17 +DA:163,17 +DA:164,17 +DA:165,17 +DA:166,17 +DA:167,17 +DA:168,17 +DA:169,17 +DA:170,17 +DA:171,17 +DA:172,17 +DA:173,17 +DA:174,17 +DA:175,17 +DA:176,17 +DA:177,17 +DA:178,17 +DA:179,17 +DA:180,17 +DA:181,17 +DA:182,17 +DA:183,17 +DA:184,17 +DA:185,17 +DA:186,17 +DA:187,17 +DA:188,17 +DA:189,17 +DA:190,17 +DA:191,17 +DA:192,17 +DA:193,17 +DA:194,17 +DA:195,17 +DA:196,17 DA:200,1 DA:202,1 DA:204,3 DA:205,3 -DA:208,1 +DA:208,16 DA:211,1 DA:212,1 DA:213,3 @@ -5900,31 +5879,31 @@ LF:60 LH:60 end_of_record SF:lib/src/theme/colors.dart -DA:16,8 -DA:34,8 -DA:35,8 -DA:36,8 -DA:37,8 -DA:38,8 -DA:39,8 -DA:42,8 -DA:48,8 -DA:50,7 -DA:56,7 -DA:57,8 -DA:58,8 -DA:59,8 -DA:60,8 -DA:61,8 -DA:62,8 -DA:63,8 -DA:64,8 -DA:78,7 -DA:91,7 +DA:16,21 +DA:34,21 +DA:35,21 +DA:36,21 +DA:37,21 +DA:38,21 +DA:39,21 +DA:42,21 +DA:48,21 +DA:50,20 +DA:56,20 +DA:57,21 +DA:58,21 +DA:59,21 +DA:60,21 +DA:61,21 +DA:62,21 +DA:63,21 +DA:64,21 +DA:78,19 +DA:91,19 DA:100,1 DA:101,1 -DA:118,7 -DA:131,7 +DA:118,19 +DA:131,19 DA:141,1 DA:142,1 DA:148,1 @@ -5942,20 +5921,20 @@ DA:169,1 DA:172,1 DA:176,1 DA:180,1 -DA:276,6 -DA:285,3 -DA:292,3 +DA:276,48 +DA:285,6 +DA:292,6 DA:301,6 -DA:308,3 +DA:308,6 DA:317,3 -DA:324,3 +DA:324,6 DA:333,3 DA:338,3 DA:343,3 -DA:348,3 +DA:348,9 DA:353,3 -DA:358,3 -DA:363,3 +DA:358,6 +DA:363,9 DA:368,3 DA:373,3 DA:378,3 @@ -5967,19 +5946,19 @@ DA:403,3 DA:408,3 DA:413,3 DA:418,3 -DA:423,2 +DA:423,8 DA:428,3 -DA:433,2 +DA:433,4 DA:438,3 -DA:443,2 +DA:443,10 DA:448,3 -DA:453,2 +DA:453,10 DA:458,3 DA:463,3 -DA:468,3 -DA:473,3 +DA:468,15 +DA:473,6 DA:478,3 -DA:483,3 +DA:483,6 DA:488,3 DA:493,2 DA:498,3 @@ -5998,10 +5977,10 @@ DA:592,1 DA:593,1 DA:594,1 DA:595,1 -DA:599,8 -DA:607,8 -DA:611,8 -DA:617,8 +DA:599,21 +DA:607,21 +DA:611,21 +DA:617,21 DA:623,3 DA:640,3 DA:641,3 @@ -6017,20 +5996,20 @@ DA:650,3 DA:651,3 DA:652,3 DA:653,8 -DA:660,7 -DA:663,14 +DA:660,19 +DA:663,38 DA:664,3 -DA:670,1 -DA:671,4 -DA:672,4 -DA:673,1 -DA:674,1 -DA:676,1 -DA:678,1 -DA:680,1 -DA:681,1 -DA:682,1 -DA:683,1 +DA:670,16 +DA:671,64 +DA:672,64 +DA:673,16 +DA:674,16 +DA:676,16 +DA:678,16 +DA:680,16 +DA:681,16 +DA:682,16 +DA:683,16 DA:690,5 DA:691,5 DA:692,5 @@ -6147,26 +6126,26 @@ LF:243 LH:243 end_of_record SF:lib/src/theme/theme_data.dart -DA:22,6 +DA:22,18 DA:32,1 DA:34,1 DA:35,1 -DA:37,6 -DA:38,6 +DA:37,18 +DA:38,18 DA:40,1 DA:42,1 DA:43,1 -DA:45,6 -DA:46,6 -DA:65,12 -DA:72,12 -DA:82,5 -DA:85,5 -DA:87,5 -DA:88,5 -DA:89,5 -DA:90,5 -DA:91,5 +DA:45,18 +DA:46,18 +DA:65,36 +DA:72,36 +DA:82,17 +DA:85,17 +DA:87,17 +DA:88,17 +DA:89,17 +DA:90,17 +DA:91,17 DA:95,3 DA:96,3 DA:97,3 @@ -6177,24 +6156,24 @@ LF:26 LH:26 end_of_record SF:lib/src/utils/debounce.dart -DA:10,1 -DA:11,2 +DA:10,2 +DA:11,4 DA:15,1 -DA:17,1 -DA:32,1 -DA:33,2 -DA:34,4 +DA:17,2 +DA:32,2 +DA:33,4 +DA:34,8 DA:38,3 LF:8 LH:8 end_of_record SF:lib/src/utils/extensions.dart -DA:10,1 -DA:11,1 -DA:13,2 -DA:14,1 -DA:15,1 -DA:17,1 +DA:10,4 +DA:11,4 +DA:13,8 +DA:14,4 +DA:15,4 +DA:17,4 DA:22,1 DA:23,1 DA:24,1 @@ -6202,25 +6181,25 @@ DA:27,1 DA:34,3 DA:40,3 DA:46,3 -DA:49,3 -DA:52,3 +DA:49,6 +DA:52,9 DA:55,3 -DA:58,3 -DA:66,1 +DA:58,9 +DA:66,2 DA:67,2 -DA:68,4 -DA:75,1 -DA:76,2 -DA:78,1 -DA:79,1 -DA:80,1 -DA:81,1 -DA:82,1 +DA:68,6 +DA:75,4 +DA:76,8 +DA:78,4 +DA:79,4 +DA:80,2 +DA:81,2 +DA:82,2 DA:83,1 -DA:84,1 -DA:85,1 -DA:86,1 -DA:87,1 +DA:84,2 +DA:85,2 +DA:86,2 +DA:87,2 DA:95,1 DA:96,1 DA:97,5 @@ -6231,18 +6210,18 @@ DA:101,3 DA:102,2 DA:103,1 DA:104,1 -DA:108,1 -DA:109,1 -DA:110,3 -DA:111,5 +DA:108,2 +DA:109,2 +DA:110,6 +DA:111,10 LF:46 LH:46 end_of_record SF:lib/src/zeta_provider.dart -DA:21,4 -DA:28,4 -DA:58,4 -DA:59,4 +DA:21,16 +DA:28,1 +DA:58,16 +DA:59,16 DA:61,1 DA:63,1 DA:65,3 @@ -6261,16 +6240,16 @@ DA:85,1 DA:86,2 DA:87,1 DA:88,1 -DA:126,4 -DA:128,4 -DA:129,8 -DA:132,24 -DA:135,12 -DA:138,12 -DA:141,20 -DA:147,4 -DA:149,8 -DA:150,4 +DA:126,16 +DA:128,16 +DA:129,32 +DA:132,96 +DA:135,48 +DA:138,48 +DA:141,80 +DA:147,16 +DA:149,32 +DA:150,16 DA:157,1 DA:159,1 DA:162,1 @@ -6281,13 +6260,13 @@ DA:176,3 DA:178,4 DA:180,2 DA:182,2 -DA:189,4 -DA:191,4 -DA:192,4 -DA:193,4 -DA:194,4 -DA:195,4 -DA:196,20 +DA:189,16 +DA:191,16 +DA:192,16 +DA:193,16 +DA:194,16 +DA:195,16 +DA:196,80 DA:200,1 DA:202,1 DA:203,4 diff --git a/example/lib/pages/components/chat_item_example.dart b/example/lib/pages/components/chat_item_example.dart index 5e8038a0..b05eaa42 100644 --- a/example/lib/pages/components/chat_item_example.dart +++ b/example/lib/pages/components/chat_item_example.dart @@ -23,37 +23,38 @@ class _ChatItemExampleState extends State { time: DateTime.now(), enabledWarningIcon: true, enabledNotificationIcon: true, - leading: const ZetaAvatar( - size: ZetaAvatarSize.l, - ), + leading: const ZetaAvatar(initials: 'AZ'), count: 100, onTap: () {}, - onDeleteTap: () {}, - onCallTap: () {}, - onMenuMoreTap: () {}, - onPttTap: () {}, + slidableActions: [ + ZetaSlidableAction.menuMore(onPressed: () {}), + ZetaSlidableAction.call(onPressed: () {}), + ZetaSlidableAction.ptt(onPressed: () {}), + ZetaSlidableAction.delete(onPressed: () {}), + ], title: Text("Chat name ID"), subtitle: Text( "Dummy text to represent the first lines of most recent message dsadas dsa dsa ds dssd sd sdsd s ds"), ), - Padding( - padding: const EdgeInsets.only(top: ZetaSpacing.large), - child: ZetaChatItem( - highlighted: true, - count: 99, - time: DateTime.now(), - onTap: () {}, - starred: true, - leading: const ZetaAvatar( - size: ZetaAvatarSize.l, - ), - title: Text("Chat name ID"), - subtitle: Text( - "Dummy text to represent the first lines of most recent message", - ), + ZetaChatItem( + highlighted: true, + time: DateTime.now(), + count: 99, + onTap: () {}, + slidableActions: [ + ZetaSlidableAction.menuMore(onPressed: () {}), + ZetaSlidableAction.call(onPressed: () {}), + ZetaSlidableAction.ptt(onPressed: () {}), + ZetaSlidableAction.delete(onPressed: () {}), + ], + starred: true, + leading: const ZetaAvatar(initials: 'ZA'), + title: Text("Chat name ID"), + subtitle: Text( + "Dummy text to represent the first lines of most recent message", ), ), - ], + ].gap(ZetaSpacing.large), ), ), ); diff --git a/example/widgetbook/pages/components/chat_item_widgetbook.dart b/example/widgetbook/pages/components/chat_item_widgetbook.dart index e7350a00..42b34c07 100644 --- a/example/widgetbook/pages/components/chat_item_widgetbook.dart +++ b/example/widgetbook/pages/components/chat_item_widgetbook.dart @@ -27,10 +27,12 @@ Widget chatItemWidgetBook(BuildContext context) { enabledNotificationIcon: enabledNotificationIcon, count: count, onTap: enabledOnTap ? () {} : null, - onDeleteTap: enabledOnDelete ? () {} : null, - onCallTap: enabledOnCall ? () {} : null, - onMenuMoreTap: enabledOnMenuMore ? () {} : null, - onPttTap: enabledOnPtt ? () {} : null, + slidableActions: [ + if (enabledOnDelete) ZetaSlidableAction.delete(onPressed: () {}), + if (enabledOnMenuMore) ZetaSlidableAction.menuMore(onPressed: () {}), + if (enabledOnCall) ZetaSlidableAction.call(onPressed: () {}), + if (enabledOnPtt) ZetaSlidableAction.ptt(onPressed: () {}), + ], starred: starred, leading: const ZetaAvatar.initials(initials: 'AZ', size: ZetaAvatarSize.m), title: Text(title), diff --git a/lib/src/components/avatars/avatar.dart b/lib/src/components/avatars/avatar.dart index 473c3bd0..f1afb3ac 100644 --- a/lib/src/components/avatars/avatar.dart +++ b/lib/src/components/avatars/avatar.dart @@ -44,6 +44,9 @@ class ZetaAvatar extends ZetaStatelessWidget { this.lowerBadge, this.upperBadge, this.borderColor, + this.semanticLabel = 'avatar', + this.semanticUpperBadgeLabel = 'upperBadge', + this.semanticLowerBadgeLabel = 'lowerBadge', }); /// Constructor for [ZetaAvatar] with image. @@ -54,6 +57,9 @@ class ZetaAvatar extends ZetaStatelessWidget { this.lowerBadge, this.upperBadge, this.borderColor, + this.semanticLabel = 'avatar', + this.semanticUpperBadgeLabel = 'upperBadge', + this.semanticLowerBadgeLabel = 'lowerBadge', }) : backgroundColor = null, initials = null; @@ -66,6 +72,9 @@ class ZetaAvatar extends ZetaStatelessWidget { this.upperBadge, this.borderColor, this.backgroundColor, + this.semanticLabel = 'avatar', + this.semanticUpperBadgeLabel = 'upperBadge', + this.semanticLowerBadgeLabel = 'lowerBadge', }) : image = null; /// Constructor for [ZetaAvatar] with initials from a full name. @@ -77,6 +86,9 @@ class ZetaAvatar extends ZetaStatelessWidget { this.upperBadge, this.borderColor, this.backgroundColor, + this.semanticLabel = 'avatar', + this.semanticUpperBadgeLabel = 'upperBadge', + this.semanticLowerBadgeLabel = 'lowerBadge', }) : image = null, initials = name.initials; @@ -103,6 +115,23 @@ class ZetaAvatar extends ZetaStatelessWidget { /// Notification Badge shown at top right corner of avatar. final ZetaAvatarBadge? upperBadge; + /// Value passed into wrapping [Semantics] widget. + /// + /// {@template zeta-widget-semantic-label} + /// This label is used by accessibility frameworks (e.g. TalkBack on Android) to describe the component. + /// {@endtemplate} + final String semanticLabel; + + /// Value passed into wrapping [Semantics] widget for lower badge. + /// + /// {@macro zeta-widget-semantic-label} + final String semanticLowerBadgeLabel; + + /// Value passed into wrapping [Semantics] widget for upper badge. + /// + /// {@macro zeta-widget-semantic-label} + final String semanticUpperBadgeLabel; + /// Return copy of avatar with certain changed fields ZetaAvatar copyWith({ ZetaAvatarSize? size, @@ -156,58 +185,65 @@ class ZetaAvatar extends ZetaStatelessWidget { return ZetaRoundedScope( rounded: context.rounded, - child: SelectionContainer.disabled( - child: Stack( - children: [ - Container( - width: sizePixels, - height: sizePixels, - decoration: BoxDecoration( - border: borderColor != null ? Border.all(color: borderColor!, width: 0) : null, - borderRadius: ZetaRadius.full, - color: backgroundColor ?? (_showPlaceholder ? zetaColors.surfacePrimary : zetaColors.cool.shade20), - ), - child: borderColor != null - ? Container( - width: contentSizePixels, - height: contentSizePixels, - decoration: BoxDecoration( - color: backgroundColor ?? zetaColors.surfaceHover, - border: Border.all(color: borderColor!, width: borderSize), - borderRadius: ZetaRadius.full, - ), - child: ClipRRect( - borderRadius: ZetaRadius.full, - child: innerContent, - ), - ) - : DecoratedBox( - decoration: BoxDecoration( - borderRadius: ZetaRadius.full, - color: backgroundColor ?? zetaColors.surfaceHover, - ), - child: ClipRRect( - borderRadius: ZetaRadius.full, - child: innerContent, + child: Semantics( + value: semanticLabel, + child: SelectionContainer.disabled( + child: Stack( + children: [ + Container( + width: sizePixels, + height: sizePixels, + decoration: BoxDecoration( + border: borderColor != null ? Border.all(color: borderColor!, width: 0) : null, + borderRadius: ZetaRadius.full, + color: backgroundColor ?? (_showPlaceholder ? zetaColors.surfacePrimary : zetaColors.cool.shade20), + ), + child: borderColor != null + ? Container( + width: contentSizePixels, + height: contentSizePixels, + decoration: BoxDecoration( + color: backgroundColor ?? zetaColors.surfaceHover, + border: Border.all(color: borderColor!, width: borderSize), + borderRadius: ZetaRadius.full, + ), + child: ClipRRect( + borderRadius: ZetaRadius.full, + child: innerContent, + ), + ) + : DecoratedBox( + decoration: BoxDecoration( + borderRadius: ZetaRadius.full, + color: backgroundColor ?? zetaColors.surfaceHover, + ), + child: ClipRRect( + borderRadius: ZetaRadius.full, + child: innerContent, + ), ), + ), + if (upperBadge != null) + Positioned( + right: ZetaSpacing.none, + child: Semantics( + value: semanticLowerBadgeLabel, + child: upperBadge!.copyWith( + size: size, ), - ), - if (upperBadge != null) - Positioned( - right: ZetaSpacing.none, - child: upperBadge!.copyWith( - size: size, + ), ), - ), - if (lowerBadge != null) - Positioned( - right: ZetaSpacing.none, - bottom: ZetaSpacing.none, - child: lowerBadge!.copyWith( - size: size, + if (lowerBadge != null) + Positioned( + right: ZetaSpacing.none, + bottom: ZetaSpacing.none, + child: Semantics( + value: semanticLowerBadgeLabel, + child: lowerBadge!.copyWith(size: size), + ), ), - ), - ], + ], + ), ), ), ); @@ -222,7 +258,10 @@ class ZetaAvatar extends ZetaStatelessWidget { ..add(DiagnosticsProperty('specialStatus', lowerBadge)) ..add(DiagnosticsProperty('badge', upperBadge)) ..add(DiagnosticsProperty('backgroundColor', backgroundColor)) - ..add(ColorProperty('statusColor', borderColor)); + ..add(ColorProperty('statusColor', borderColor)) + ..add(StringProperty('semanticUpperBadgeValue', semanticUpperBadgeLabel)) + ..add(StringProperty('semanticValue', semanticLabel)) + ..add(StringProperty('semanticLowerBadgeValue', semanticLowerBadgeLabel)); } } diff --git a/lib/src/components/badges/indicator.dart b/lib/src/components/badges/indicator.dart index 5ca26932..af510a26 100644 --- a/lib/src/components/badges/indicator.dart +++ b/lib/src/components/badges/indicator.dart @@ -25,6 +25,7 @@ class ZetaIndicator extends ZetaStatelessWidget { this.value, this.inverse = false, this.color, + this.semanticLabel, }); /// Constructor for [ZetaIndicator] of type [ZetaIndicatorType.icon]. @@ -35,6 +36,7 @@ class ZetaIndicator extends ZetaStatelessWidget { this.inverse = false, this.icon, this.color, + this.semanticLabel, }) : type = ZetaIndicatorType.icon, value = null; @@ -46,6 +48,7 @@ class ZetaIndicator extends ZetaStatelessWidget { this.inverse = false, this.value, this.color, + this.semanticLabel, }) : type = ZetaIndicatorType.notification, icon = null; @@ -71,6 +74,13 @@ class ZetaIndicator extends ZetaStatelessWidget { /// Color for zeta indicator final Color? color; + /// Value passed into wrapping [Semantics] widget. + /// + /// {@macro zeta-widget-semantic-label} + /// + /// If null, [value] is used. + final String? semanticLabel; + /// Creates a clone. ZetaIndicator copyWith({ ZetaIndicatorType? type, @@ -96,23 +106,27 @@ class ZetaIndicator extends ZetaStatelessWidget { final Color backgroundColor = (type == ZetaIndicatorType.icon ? zetaColors.blue : zetaColors.surfaceNegative); final Color foregroundColor = backgroundColor.onColor; final sizePixels = _getSizePixels(size, type); - return Container( - width: sizePixels + ZetaSpacing.minimum, - height: sizePixels + ZetaSpacing.minimum, - decoration: BoxDecoration( - border: Border.all(width: ZetaSpacingBase.x0_5, color: zetaColors.borderSubtle), - color: (inverse ? foregroundColor : Colors.transparent), - borderRadius: ZetaRadius.full, - ), - child: Center( - child: Container( - width: sizePixels, - height: sizePixels, - decoration: BoxDecoration(color: backgroundColor, borderRadius: BorderRadius.circular(ZetaSpacing.large)), - child: ClipRRect( - borderRadius: BorderRadius.circular(ZetaSpacing.large), - clipBehavior: Clip.hardEdge, - child: size == ZetaWidgetSize.small ? null : _buildContent(foregroundColor), + + return Semantics( + value: semanticLabel ?? value?.toString() ?? '', + child: Container( + width: sizePixels + ZetaSpacing.minimum, + height: sizePixels + ZetaSpacing.minimum, + decoration: BoxDecoration( + border: Border.all(width: ZetaSpacingBase.x0_5, color: zetaColors.borderSubtle), + color: (inverse ? foregroundColor : Colors.transparent), + borderRadius: ZetaRadius.full, + ), + child: Center( + child: Container( + width: sizePixels, + height: sizePixels, + decoration: BoxDecoration(color: backgroundColor, borderRadius: BorderRadius.circular(ZetaSpacing.large)), + child: ClipRRect( + borderRadius: BorderRadius.circular(ZetaSpacing.large), + clipBehavior: Clip.hardEdge, + child: size == ZetaWidgetSize.small ? null : _buildContent(foregroundColor), + ), ), ), ), @@ -169,6 +183,7 @@ class ZetaIndicator extends ZetaStatelessWidget { ..add(DiagnosticsProperty('value', value)) ..add(DiagnosticsProperty('icon', icon)) ..add(DiagnosticsProperty('inverse', inverse)) - ..add(ColorProperty('color', color)); + ..add(ColorProperty('color', color)) + ..add(StringProperty('semanticLabel', semanticLabel)); } } diff --git a/lib/src/components/chat_item/chat_item.dart b/lib/src/components/chat_item/chat_item.dart index 7b078fe1..b1597fc7 100644 --- a/lib/src/components/chat_item/chat_item.dart +++ b/lib/src/components/chat_item/chat_item.dart @@ -1,3 +1,5 @@ +// ignore_for_file: deprecated_member_use_from_same_package + import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter_slidable/flutter_slidable.dart'; @@ -14,31 +16,36 @@ class ZetaChatItem extends ZetaStatelessWidget { this.time, this.timeFormat, required this.title, - required this.subtitle, - required this.leading, + this.subtitle, + this.leading, this.enabledWarningIcon = false, this.enabledNotificationIcon = false, this.additionalIcons = const [], this.count, this.onTap, this.starred, - this.onMenuMoreTap, - this.onCallTap, - this.onDeleteTap, - this.onPttTap, + this.slidableActions = const [], + @Deprecated('Use slidableActions instead.' ' This variable has been replaced as of 0.12.1') this.onMenuMoreTap, + @Deprecated('Use slidableActions instead.' ' This variable has been replaced as of 0.12.1') this.onCallTap, + @Deprecated('Use slidableActions instead.' ' This variable has been replaced as of 0.12.1') this.onDeleteTap, + @Deprecated('Use slidableActions instead.' ' This variable has been replaced as of 0.12.1') this.onPttTap, }); /// Whether to apply different background color. final bool highlighted; /// Normally the person name. + /// + /// Typically a [Text] widget. final Widget title; /// Normally the beginning of the chat message. - final Widget subtitle; + /// + /// Typically a [Text] widget. + final Widget? subtitle; /// Normally [ZetaAvatar]. - final Widget leading; + final Widget? leading; /// The time when the message is sent. It applies default date format - [timeFormat]. final DateTime? time; @@ -67,17 +74,26 @@ class ZetaChatItem extends ZetaStatelessWidget { final bool? starred; /// Callback for slidable action - menu more. + @Deprecated('Use slidableActions instead.' ' This variable has been replaced as of 0.12.1') final VoidCallback? onMenuMoreTap; /// Callback for slidable action - call. + @Deprecated('Use slidableActions instead.' ' This variable has been replaced as of 0.12.1') final VoidCallback? onCallTap; /// Callback for slidable action - delete. + @Deprecated('Use slidableActions instead.' ' This variable has been replaced as of 0.12.1') final VoidCallback? onDeleteTap; /// Callback for slidable action - ptt. + @Deprecated('Use slidableActions instead.' ' This variable has been replaced as of 0.12.1') final VoidCallback? onPttTap; + /// List of slidable actions. + /// + /// The actions are displayed in the order they are provided; from left to right. + final List slidableActions; + DateFormat get _dateFormat => timeFormat ?? DateFormat('hh:mm a'); String? get _count => count != null && count! > 99 ? '99+' : count?.toString(); @@ -85,214 +101,206 @@ class ZetaChatItem extends ZetaStatelessWidget { required int slidableActionsCount, required double maxWidth, }) { - if (slidableActionsCount == 0) return 0.5; - final actionsExtend = slidableActionsCount * ZetaSpacing.xl_10; final extend = actionsExtend / maxWidth; - return extend > 1 ? 1 : extend; + return extend.clamp(0.5, 1); + } + + Widget? get _formatLeading { + if (leading.runtimeType == ZetaAvatar) { + return (leading! as ZetaAvatar).copyWith(size: ZetaAvatarSize.m); + } + return leading; } @override Widget build(BuildContext context) { final colors = Zeta.of(context).colors; - final slidableActions = [ - if (onMenuMoreTap != null) - _ZetaSlidableAction( - onPressed: onMenuMoreTap, - backgroundColor: colors.purple.shade10, - foregroundColor: colors.purple.shade60, - icon: ZetaIcons.more_vertical_round, - ), - if (onCallTap != null) - _ZetaSlidableAction( - onPressed: onCallTap, - backgroundColor: colors.green.shade10, - foregroundColor: colors.surfacePositive, - icon: Icons.call, - ), - if (onPttTap != null) - _ZetaSlidableAction( - onPressed: onPttTap, - backgroundColor: colors.blue.shade10, - foregroundColor: colors.primary, - icon: ZetaIcons.ptt_round, - ), - if (onDeleteTap != null) - _ZetaSlidableAction( - onPressed: onDeleteTap, - backgroundColor: colors.red.shade10, - foregroundColor: colors.surfaceNegative, - icon: ZetaIcons.delete_round, - ), - ]; + final actions = [...slidableActions]; + + if (onMenuMoreTap != null) { + actions.add( + ZetaSlidableAction(onPressed: onMenuMoreTap, color: colors.purple, icon: ZetaIcons.more_vertical_round), + ); + } + if (onCallTap != null) { + actions.add( + ZetaSlidableAction(onPressed: onCallTap, color: colors.green, icon: Icons.call), + ); + } + if (onPttTap != null) { + actions.add( + ZetaSlidableAction(onPressed: onPttTap, color: colors.blue, icon: ZetaIcons.ptt_round), + ); + } + if (onDeleteTap != null) { + actions.add(ZetaSlidableAction(onPressed: onDeleteTap, color: colors.red, icon: ZetaIcons.delete_round)); + } return ZetaRoundedScope( rounded: context.rounded, - child: LayoutBuilder( - builder: (context, constraints) { - return Slidable( - enabled: slidableActions.isNotEmpty, - endActionPane: ActionPane( - extentRatio: _getSlidableExtend( - slidableActionsCount: slidableActions.length, - maxWidth: constraints.maxWidth, + child: SelectionContainer.disabled( + child: LayoutBuilder( + builder: (context, constraints) { + return Slidable( + enabled: actions.isNotEmpty, + endActionPane: ActionPane( + extentRatio: _getSlidableExtend(slidableActionsCount: actions.length, maxWidth: constraints.maxWidth), + motion: const ScrollMotion(), + children: actions, ), - motion: const ScrollMotion(), - children: slidableActions, - ), - child: ColoredBox( - color: highlighted ? colors.blue.shade10 : colors.surfacePrimary, - child: Material( - color: Colors.transparent, - child: InkWell( - onTap: onTap, - child: Padding( - padding: const EdgeInsets.symmetric( - horizontal: ZetaSpacing.medium, - vertical: ZetaSpacing.small, - ), - child: Row( - children: [ - leading, - Flexible( - child: Padding( - padding: const EdgeInsets.only(left: ZetaSpacing.medium), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - Row( + child: ColoredBox( + color: highlighted ? colors.blue.shade10 : colors.surfacePrimary, + child: Material( + color: Colors.transparent, + child: InkWell( + onTap: onTap, + child: Semantics( + container: true, + button: true, + excludeSemantics: true, + child: Padding( + padding: + const EdgeInsets.symmetric(horizontal: ZetaSpacing.medium, vertical: ZetaSpacing.small), + child: Row( + children: [ + if (leading != null) _formatLeading!, + Flexible( + child: Padding( + padding: const EdgeInsets.only(left: ZetaSpacing.medium), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ - if (highlighted) - Container( - margin: const EdgeInsets.only( - right: ZetaSpacing.minimum, - ), - height: ZetaSpacing.small, - width: ZetaSpacing.small, - decoration: BoxDecoration( - color: colors.primary, - shape: BoxShape.circle, - ), - ), - Flexible( - child: Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - Flexible( - child: DefaultTextStyle( - maxLines: 1, - overflow: TextOverflow.ellipsis, - style: - (highlighted ? ZetaTextStyles.labelLarge : ZetaTextStyles.bodyMedium) - .copyWith( - color: colors.textDefault, - ), - child: title, - ), + Row( + children: [ + if (highlighted) + Container( + margin: const EdgeInsets.only(right: ZetaSpacing.minimum), + height: ZetaSpacing.small, + width: ZetaSpacing.small, + decoration: BoxDecoration(color: colors.primary, shape: BoxShape.circle), ), - Row( + Flexible( + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ - if (time != null) - Text( - _dateFormat.format(time!), - style: ZetaTextStyles.bodyXSmall, + Flexible( + child: DefaultTextStyle( + maxLines: 1, + overflow: TextOverflow.ellipsis, + style: (highlighted + ? ZetaTextStyles.labelLarge + : ZetaTextStyles.bodyMedium) + .copyWith(color: colors.textDefault), + child: title, ), - IconTheme( - data: const IconThemeData( - size: ZetaSpacing.large, - ), - child: Row( - children: [ - ...additionalIcons, - if (enabledNotificationIcon) - Padding( - padding: const EdgeInsets.only( - left: ZetaSpacing.minimum, - ), - child: Icon( - ZetaIcons.error_round, - color: colors.cool.shade70, - ), - ), - if (enabledWarningIcon) - Padding( - padding: const EdgeInsets.only( - left: ZetaSpacing.minimum, - ), - child: Icon( - Icons.circle_notifications, - color: colors.surfaceNegative, - ), - ), - if (_count != null) - Container( - margin: const EdgeInsets.only( - left: ZetaSpacing.minimum, - ), - padding: const EdgeInsets.symmetric( - horizontal: ZetaSpacing.small, - ), - decoration: BoxDecoration( - color: colors.primary, - borderRadius: ZetaRadius.full, - ), - child: Text( - _count!, - style: ZetaTextStyles.labelSmall.copyWith( - color: colors.textInverse, + ), + Row( + children: [ + if (time != null) + Text( + _dateFormat.format(time!), + style: ZetaTextStyles.bodyXSmall, + ), + IconTheme( + data: const IconThemeData( + size: ZetaSpacing.large, + ), + child: Row( + children: [ + ...additionalIcons, + if (enabledNotificationIcon) + Padding( + padding: const EdgeInsets.only( + left: ZetaSpacing.minimum, + ), + child: Icon( + ZetaIcons.error_round, + color: colors.cool.shade70, + ), ), - ), - ), - ], - ), + if (enabledWarningIcon) + Padding( + padding: const EdgeInsets.only( + left: ZetaSpacing.minimum, + ), + child: Icon( + Icons.circle_notifications, + color: colors.surfaceNegative, + ), + ), + if (_count != null) + Container( + margin: const EdgeInsets.only( + left: ZetaSpacing.minimum, + ), + padding: const EdgeInsets.symmetric( + horizontal: ZetaSpacing.small, + ), + decoration: BoxDecoration( + color: colors.primary, + borderRadius: ZetaRadius.full, + ), + child: Text( + _count!, + style: ZetaTextStyles.labelSmall.copyWith( + color: colors.textInverse, + ), + ), + ), + ], + ), + ), + ], ), ], ), - ], - ), - ), - ], - ), - Row( - crossAxisAlignment: CrossAxisAlignment.end, - children: [ - Flexible( - child: DefaultTextStyle( - maxLines: 2, - overflow: TextOverflow.ellipsis, - style: ZetaTextStyles.bodySmall.copyWith( - color: colors.textSubtle, ), - child: subtitle, - ), + ], + ), + Row( + crossAxisAlignment: CrossAxisAlignment.end, + children: [ + if (subtitle != null) + Flexible( + child: DefaultTextStyle( + maxLines: 2, + overflow: TextOverflow.ellipsis, + style: ZetaTextStyles.bodySmall.copyWith( + color: colors.textSubtle, + ), + child: subtitle!, + ), + ), + if (starred != null) + Padding( + padding: const EdgeInsets.only( + left: ZetaSpacing.minimum, + ), + child: Icon( + starred! ? ZetaIcons.star_sharp : ZetaIcons.star_outline_sharp, + color: starred! ? colors.yellow.shade60 : null, + ), + ), + ], ), - if (starred != null) - Padding( - padding: const EdgeInsets.only( - left: ZetaSpacing.minimum, - ), - child: Icon( - starred! ? ZetaIcons.star_sharp : ZetaIcons.star_outline_sharp, - color: starred! ? colors.yellow.shade60 : null, - ), - ), ], ), - ], + ), ), - ), + ], ), - ], + ), ), ), ), ), - ), - ); - }, + ); + }, + ), ), ); } @@ -305,36 +313,131 @@ class ZetaChatItem extends ZetaStatelessWidget { ..add(DiagnosticsProperty('time', time)) ..add(DiagnosticsProperty('timeFormat', timeFormat)) ..add(DiagnosticsProperty('enabledWarningIcon', enabledWarningIcon)) - ..add( - DiagnosticsProperty( - 'enabledNotificationIcon', - enabledNotificationIcon, - ), - ) + ..add(DiagnosticsProperty('enabledNotificationIcon', enabledNotificationIcon)) ..add(IntProperty('count', count)) ..add(ObjectFlagProperty.has('onTap', onTap)) ..add(DiagnosticsProperty('starred', starred)) - ..add( - ObjectFlagProperty.has('onMenuMoreTap', onMenuMoreTap), - ) + ..add(ObjectFlagProperty.has('onMenuMoreTap', onMenuMoreTap)) ..add(ObjectFlagProperty.has('onCallTap', onCallTap)) ..add(ObjectFlagProperty.has('onDeleteTap', onDeleteTap)) ..add(ObjectFlagProperty.has('onPttTap', onPttTap)); } } -class _ZetaSlidableAction extends StatelessWidget { - const _ZetaSlidableAction({ - required this.onPressed, +enum _ZetaSlidableActionType { menuMore, call, ptt, delete, custom } + +extension on _ZetaSlidableActionType { + ZetaColorSwatch getColor(BuildContext context) { + final colors = Zeta.of(context).colors; + switch (this) { + case _ZetaSlidableActionType.menuMore: + return colors.purple; + case _ZetaSlidableActionType.call: + return colors.green; + case _ZetaSlidableActionType.ptt: + return colors.blue; + case _ZetaSlidableActionType.delete: + return colors.red; + case _ZetaSlidableActionType.custom: + return colors.primary; + } + } +} + +/// Slidable action widget for [ZetaChatItem]. +class ZetaSlidableAction extends StatelessWidget { + /// Constructs a [ZetaSlidableAction]. + const ZetaSlidableAction({ + super.key, + this.onPressed, required this.icon, - required this.foregroundColor, - required this.backgroundColor, - }); + this.color, + this.customForegroundColor, + this.customBackgroundColor, + this.semanticLabel, + }) : _type = _ZetaSlidableActionType.custom, + assert( + color != null || (customForegroundColor != null && customBackgroundColor != null), + 'Ensure either color, or both customForegroundColor and customBackgroundColor are provided.', + ); + + /// Constructs a More menu [ZetaSlidableAction]. + const ZetaSlidableAction.menuMore({ + super.key, + this.onPressed, + this.semanticLabel = 'More', + }) : icon = ZetaIcons.more_vertical, + color = null, + customForegroundColor = null, + customBackgroundColor = null, + _type = _ZetaSlidableActionType.menuMore; + + /// Constructs a Call [ZetaSlidableAction]. + const ZetaSlidableAction.call({ + super.key, + this.onPressed, + this.semanticLabel = 'Call', + }) : icon = ZetaIcons.phone, + color = null, + customForegroundColor = null, + customBackgroundColor = null, + _type = _ZetaSlidableActionType.call; + /// Constructs a PTT [ZetaSlidableAction]. + const ZetaSlidableAction.ptt({ + super.key, + this.onPressed, + this.semanticLabel = 'PTT', + }) : icon = ZetaIcons.ptt, + color = null, + customForegroundColor = null, + customBackgroundColor = null, + _type = _ZetaSlidableActionType.ptt; + + /// Constructs a Delete [ZetaSlidableAction]. + const ZetaSlidableAction.delete({ + super.key, + this.onPressed, + this.semanticLabel = 'Delete', + }) : icon = ZetaIcons.delete, + color = null, + customForegroundColor = null, + customBackgroundColor = null, + _type = _ZetaSlidableActionType.delete; + + final _ZetaSlidableActionType _type; + + /// Callback to call when the action is pressed. + /// + /// {@macro zeta-widget-change-disable} final VoidCallback? onPressed; + + /// Icon to be displayed. final IconData icon; - final Color foregroundColor; - final Color backgroundColor; + + /// Foreground color of the icon. + /// + /// If [color] is not provided, [customBackgroundColor] must also be provided. + /// + /// If [color] is provided, [customForegroundColor] and [customBackgroundColor] take precedence. + final Color? customForegroundColor; + + /// Background color of the action. + /// + /// If [color] is not provided, [customBackgroundColor] must also be provided. + /// + /// If [color] is provided, [customForegroundColor] and [customBackgroundColor] take precedence. + final Color? customBackgroundColor; + + /// Color swatch used for the action. + /// + /// If provided, [customForegroundColor] and [customBackgroundColor] take precedence. + final ZetaColorSwatch? color; + + /// Semantic label for the action. + /// + /// {@macro zeta-widget-semantic-label} + final String? semanticLabel; @override Widget build(BuildContext context) { @@ -342,22 +445,20 @@ class _ZetaSlidableAction extends StatelessWidget { child: SizedBox.expand( child: Padding( padding: const EdgeInsets.only(left: ZetaSpacing.minimum), - child: IconButton( - onPressed: () { - onPressed?.call(); - }, - style: IconButton.styleFrom( - backgroundColor: backgroundColor, - foregroundColor: foregroundColor, - shape: const RoundedRectangleBorder( - borderRadius: ZetaRadius.minimal, + child: Semantics( + label: semanticLabel, + container: true, + button: true, + excludeSemantics: true, + child: IconButton( + onPressed: () => onPressed?.call(), + style: IconButton.styleFrom( + backgroundColor: customBackgroundColor ?? (color ?? _type.getColor(context)).shade10, + foregroundColor: customForegroundColor ?? (color ?? _type.getColor(context)).shade60, + shape: const RoundedRectangleBorder(borderRadius: ZetaRadius.minimal), + side: BorderSide.none, ), - side: BorderSide.none, - ), - icon: Icon( - icon, - color: foregroundColor, - size: ZetaSpacing.xl_4, + icon: Icon(icon, size: ZetaSpacing.xl_4), ), ), ), @@ -371,8 +472,10 @@ class _ZetaSlidableAction extends StatelessWidget { properties ..add(ObjectFlagProperty.has('onPressed', onPressed)) ..add(DiagnosticsProperty('icon', icon)) - ..add(ColorProperty('foregroundColor', foregroundColor)) - ..add(ColorProperty('backgroundColor', backgroundColor)) - ..add(DiagnosticsProperty('icon', icon)); + ..add(ColorProperty('foregroundColor', customForegroundColor)) + ..add(ColorProperty('backgroundColor', customBackgroundColor)) + ..add(DiagnosticsProperty('icon', icon)) + ..add(ColorProperty('color', color)) + ..add(StringProperty('semanticLabel', semanticLabel)); } } diff --git a/lib/src/components/snack_bar/snack_bar.dart b/lib/src/components/snack_bar/snack_bar.dart index 6d132eed..0ece9993 100644 --- a/lib/src/components/snack_bar/snack_bar.dart +++ b/lib/src/components/snack_bar/snack_bar.dart @@ -36,18 +36,47 @@ enum ZetaSnackBarType { class ZetaSnackBar extends SnackBar { /// Sets basic styles for the [SnackBar]. ZetaSnackBar({ + super.key, + super.behavior = SnackBarBehavior.floating, + super.margin, + + /// Context required to get the theme and colors. required BuildContext context, + + /// The main content of the snackbar. required Widget content, + + /// Callback to be called when the action button is pressed. VoidCallback? onPressed, + + /// Type used to define contextual [SnackBar]. The type defines the styles, icons and behavior. ZetaSnackBarType? type, + + /// Icon to display at the start of the content. Icon? leadingIcon, + + /// {@macro zeta-widget-rounded} bool? rounded, + + /// Label for the action button. + /// + /// Depending on the `type`, the default label will be used; 'Undo' for [ZetaSnackBarType.deletion] and 'View' for [ZetaSnackBarType.view]. String? actionLabel, - String deleteActionLabel = 'Undo', - String viewActionLabel = 'View', - super.margin, - super.behavior = SnackBarBehavior.floating, - super.key, + + /// Label for the delete action button. + /// + /// If null, 'Delete' will be used. + @Deprecated('Use actionLabel instead.' ' Deprecated in 0.12.1') String? deleteActionLabel, + + /// Label for the view action button. + /// + /// If null, 'View' will be used. + @Deprecated('Use actionLabel instead.' ' Deprecated in 0.12.1') String? viewActionLabel, + + /// Semantic label for the action button. + /// + /// If null, the `actionLabel` will be used. + String? actionSemanticLabel, }) : super( elevation: 0, padding: EdgeInsets.zero, @@ -85,6 +114,7 @@ class ZetaSnackBar extends SnackBar { onPressed: onPressed, deleteActionLabel: deleteActionLabel, viewActionLabel: viewActionLabel, + semanticLabel: actionSemanticLabel, ), ], ), @@ -159,13 +189,15 @@ class _Action extends StatelessWidget { required this.onPressed, required this.deleteActionLabel, required this.viewActionLabel, + this.semanticLabel, }); final String? actionLabel; - final String deleteActionLabel; + final String? deleteActionLabel; final VoidCallback? onPressed; final ZetaSnackBarType? type; - final String viewActionLabel; + final String? viewActionLabel; + final String? semanticLabel; @override void debugFillProperties(DiagnosticPropertiesBuilder properties) { @@ -175,47 +207,66 @@ class _Action extends StatelessWidget { ..add(StringProperty('actionLabel', actionLabel)) ..add(StringProperty('deleteActionLabel', deleteActionLabel)) ..add(ObjectFlagProperty.has('onPressed', onPressed)) - ..add(StringProperty('viewActionLabel', viewActionLabel)); + ..add(StringProperty('viewActionLabel', viewActionLabel)) + ..add(StringProperty('semanticLabel', semanticLabel)); } @override Widget build(BuildContext context) { final colors = Zeta.of(context).colors; - return switch (type) { - ZetaSnackBarType.defaultType => _IconButton( - onPressed: () => ScaffoldMessenger.of(context).removeCurrentSnackBar(), - color: colors.iconInverse, - ), - ZetaSnackBarType.action => _ActionButton( - onPressed: onPressed, - label: actionLabel, - color: colors.borderPrimaryMain, - ), - ZetaSnackBarType.positive || - ZetaSnackBarType.info || - ZetaSnackBarType.warning || - ZetaSnackBarType.error => - _IconButton( - onPressed: () => ScaffoldMessenger.of(context).removeCurrentSnackBar(), - color: colors.cool.shade90, - ), - ZetaSnackBarType.deletion => _ActionButton( - onPressed: onPressed, - label: deleteActionLabel, - color: colors.cool.shade90, - ), - ZetaSnackBarType.view => _ActionButton( - onPressed: onPressed, - label: viewActionLabel, - color: colors.cool.shade90, - ), - _ => _ActionButton( - onPressed: onPressed, - label: actionLabel, - color: colors.blue.shade50, - ), - }; + String? label = actionLabel; + if (label == null) { + if (type case ZetaSnackBarType.deletion) { + label = deleteActionLabel ?? 'Undo'; + } else if (type case ZetaSnackBarType.view) { + label = viewActionLabel ?? 'View'; + } + } + + return Semantics( + label: semanticLabel ?? label ?? '', + button: true, + enabled: onPressed != null, + container: true, + excludeSemantics: true, + child: () { + return switch (type) { + ZetaSnackBarType.defaultType => _IconButton( + onPressed: () => ScaffoldMessenger.of(context).removeCurrentSnackBar(), + color: colors.iconInverse, + ), + ZetaSnackBarType.action => _ActionButton( + onPressed: onPressed, + label: label, + color: colors.borderPrimaryMain, + ), + ZetaSnackBarType.positive || + ZetaSnackBarType.info || + ZetaSnackBarType.warning || + ZetaSnackBarType.error => + _IconButton( + onPressed: () => ScaffoldMessenger.of(context).removeCurrentSnackBar(), + color: colors.cool.shade90, + ), + ZetaSnackBarType.deletion => _ActionButton( + onPressed: onPressed, + label: label, + color: colors.cool.shade90, + ), + ZetaSnackBarType.view => _ActionButton( + onPressed: onPressed, + label: label, + color: colors.cool.shade90, + ), + _ => _ActionButton( + onPressed: onPressed, + label: label, + color: colors.blue.shade50, + ), + }; + }(), + ); } }