diff --git a/browser/components/aboutwelcome/content-src/aboutwelcome.scss b/browser/components/aboutwelcome/content-src/aboutwelcome.scss index 52a608fa9b13..155e9c9381ef 100644 --- a/browser/components/aboutwelcome/content-src/aboutwelcome.scss +++ b/browser/components/aboutwelcome/content-src/aboutwelcome.scss @@ -4391,16 +4391,24 @@ inline 10px ; . -multi -- -select +checkbox - -item +container { display : -block +grid +; +label +p +{ +grid +- +column +: +2 ; +} p { margin @@ -4412,43 +4420,6 @@ block 5em 0 ; -margin -- -inline -- -start -: -calc -( -16px -+ -var -( -- -- -checkbox -- -margin -- -inline -) -) -; -/ -/ -width -of -checkbox -and -its -inline -margin -font -- -size -: -12px -; } } mixin @@ -4507,23 +4478,6 @@ content - box ; -. -multi -- -select -- -item -p -{ -margin -- -inline -- -start -: -0 -; -} } media only @@ -9725,6 +9679,542 @@ inline } } . +content +- +tiles +- +container +{ +- +- +tiles +- +container +- +border +- +radius +: +8px +; +margin +: +24px +48px +; +. +content +- +tile +{ +display +: +flex +; +flex +- +direction +: +column +; +button +. +tile +- +header +{ +border +: +1px +solid +var +( +- +- +in +- +content +- +border +- +color +) +; +width +: +100 +% +; +margin +: +0 +; +display +: +flex +; +flex +- +direction +: +column +; +align +- +items +: +start +; +border +- +radius +: +0 +; +font +- +size +: +13px +; +. +header +- +title +. +header +- +subtitle +{ +line +- +height +: +1 +. +5 +; +} +. +header +- +title +{ +font +- +weight +: +590 +; +} +. +header +- +subtitle +{ +font +- +weight +: +400 +; +} +& +[ +aria +- +expanded += +' +true +' +] +{ +border +- +bottom +: +none +; +} +& +[ +aria +- +expanded += +' +true +' +] ++ +. +tile +- +content +: +not +( +: +has +( +. +embedded +- +browser +- +container +) +) +{ +padding +: +5px +; +} +} +. +tile +- +header ++ +. +tile +- +content +{ +border +- +inline +- +start +: +1px +solid +var +( +- +- +in +- +content +- +border +- +color +) +; +border +- +inline +- +end +: +1px +solid +var +( +- +- +in +- +content +- +border +- +color +) +; +} +& +: +first +- +of +- +type +. +tile +- +header +{ +border +- +start +- +start +- +radius +: +var +( +- +- +tiles +- +container +- +border +- +radius +) +; +border +- +start +- +end +- +radius +: +var +( +- +- +tiles +- +container +- +border +- +radius +) +; +} +& +: +last +- +of +- +type +{ +. +tile +- +header +{ +border +- +end +- +start +- +radius +: +var +( +- +- +tiles +- +container +- +border +- +radius +) +; +border +- +end +- +end +- +radius +: +var +( +- +- +tiles +- +container +- +border +- +radius +) +; +& +[ +aria +- +expanded += +' +true +' +] +{ +border +- +end +- +start +- +radius +: +0 +; +border +- +end +- +end +- +radius +: +0 +; +} +} +. +tile +- +header +[ +aria +- +expanded += +' +true +' +] ++ +. +tile +- +content +{ +border +- +block +- +end +: +1px +solid +var +( +- +- +in +- +content +- +border +- +color +) +; +border +- +end +- +start +- +radius +: +var +( +- +- +tiles +- +container +- +border +- +radius +) +; +border +- +end +- +end +- +radius +: +var +( +- +- +tiles +- +container +- +border +- +radius +) +; +} +} +. +embedded +- +browser +- +container +{ +line +- +height +: +0 +; +} +. +multi +- +select +- +container +{ +margin +: +1em +5px +; +. +checkbox +- +container +{ +display +: +grid +; +label +p +{ +grid +- +column +: +2 +; +} +p +{ +margin +- +block +: +0 +. +5em +0 +; +} +} +} +} +} +. dismiss - button diff --git a/browser/components/aboutwelcome/content-src/components/ContentTiles.jsx b/browser/components/aboutwelcome/content-src/components/ContentTiles.jsx new file mode 100644 index 000000000000..90e25e54c820 --- /dev/null +++ b/browser/components/aboutwelcome/content-src/components/ContentTiles.jsx @@ -0,0 +1,962 @@ +/ +* +This +Source +Code +Form +is +subject +to +the +terms +of +the +Mozilla +Public +* +License +v +. +2 +. +0 +. +If +a +copy +of +the +MPL +was +not +distributed +with +this +file +* +You +can +obtain +one +at +http +: +/ +/ +mozilla +. +org +/ +MPL +/ +2 +. +0 +/ +. +* +/ +import +React +{ +useState +} +from +" +react +" +; +import +{ +Localized +} +from +" +. +/ +MSLocalized +" +; +import +{ +AddonsPicker +} +from +" +. +/ +AddonsPicker +" +; +import +{ +SingleSelect +} +from +" +. +/ +SingleSelect +" +; +import +{ +MobileDownloads +} +from +" +. +/ +MobileDownloads +" +; +import +{ +MultiSelect +} +from +" +. +/ +MultiSelect +" +; +import +{ +EmbeddedMigrationWizard +} +from +" +. +/ +EmbeddedMigrationWizard +" +; +import +{ +ActionChecklist +} +from +" +. +/ +ActionChecklist +" +; +import +{ +EmbeddedBrowser +} +from +" +. +/ +EmbeddedBrowser +" +; +import +{ +AboutWelcomeUtils +} +from +" +. +. +/ +lib +/ +aboutwelcome +- +utils +. +mjs +" +; +const +HEADER_STYLES += +[ +" +backgroundColor +" +" +border +" +" +padding +" +" +margin +" +" +width +" +" +height +" +] +; +export +const +ContentTiles += +props += +> +{ +const +{ +content +} += +props +; +const +[ +expandedTileIndex +setExpandedTileIndex +] += +useState +( +null +) +; +const +{ +tiles +} += +content +; +if +( +! +tiles +) +{ +return +null +; +} +const +toggleTile += +( +index +tile +) += +> +{ +const +tileId += +{ +tile +. +type +} +{ +tile +. +id +? +" +_ +" +: +" +" +} +{ +tile +. +id +? +? +" +" +} +_header +; +setExpandedTileIndex +( +prevIndex += +> +( +prevIndex += += += +index +? +null +: +index +) +) +; +AboutWelcomeUtils +. +sendActionTelemetry +( +props +. +messageId +tileId +) +; +} +; +const +renderContentTile += +( +tile +index += +0 +) += +> +{ +const +isExpanded += +expandedTileIndex += += += +index +; +const +{ +header +} += +tile +; +return +( +< +div +key += +{ +index +} +className += +" +content +- +tile +" +> +{ +header +? +. +title +& +& +( +< +button +className += +" +tile +- +header +" +onClick += +{ +( +) += +> +toggleTile +( +index +tile +) +} +aria +- +expanded += +{ +isExpanded +} +aria +- +controls += +{ +tile +- +content +- +{ +index +} +} +style += +{ +AboutWelcomeUtils +. +getValidStyle +( +header +. +style +HEADER_STYLES +) +} +> +< +Localized +text += +{ +header +} +> +< +span +className += +" +header +- +title +" +> +{ +header +. +title +} +< +/ +span +> +< +/ +Localized +> +< +Localized +text += +{ +header +} +> +{ +header +. +subtitle +& +& +( +< +span +className += +" +header +- +subtitle +" +> +{ +header +. +subtitle +} +< +/ +span +> +) +} +< +/ +Localized +> +< +/ +button +> +) +} +{ +isExpanded +| +| +! +header +? +( +< +div +className += +" +tile +- +content +" +id += +{ +tile +- +content +- +{ +index +} +} +> +{ +tile +. +type += += += +" +addons +- +picker +" +& +& +tile +. +data +& +& +( +< +AddonsPicker +content += +{ +{ +tiles +: +tile +} +} +installedAddons += +{ +props +. +installedAddons +} +message_id += +{ +props +. +messageId +} +handleAction += +{ +props +. +handleAction +} +/ +> +) +} +{ +[ +" +theme +" +" +single +- +select +" +] +. +includes +( +tile +. +type +) +& +& +tile +. +data +& +& +( +< +SingleSelect +content += +{ +{ +tiles +: +tile +} +} +activeTheme += +{ +props +. +activeTheme +} +handleAction += +{ +props +. +handleAction +} +activeSingleSelect += +{ +props +. +activeSingleSelect +} +setActiveSingleSelect += +{ +props +. +setActiveSingleSelect +} +/ +> +) +} +{ +tile +. +type += += += +" +mobile_downloads +" +& +& +tile +. +data +& +& +( +< +MobileDownloads +data += +{ +tile +. +data +} +handleAction += +{ +props +. +handleAction +} +/ +> +) +} +{ +tile +. +type += += += +" +multiselect +" +& +& +tile +. +data +& +& +( +< +MultiSelect +content += +{ +{ +tiles +: +tile +} +} +screenMultiSelects += +{ +props +. +screenMultiSelects +} +setScreenMultiSelects += +{ +props +. +setScreenMultiSelects +} +activeMultiSelect += +{ +props +. +activeMultiSelect +} +setActiveMultiSelect += +{ +props +. +setActiveMultiSelect +} +/ +> +) +} +{ +tile +. +type += += += +" +migration +- +wizard +" +& +& +( +< +EmbeddedMigrationWizard +handleAction += +{ +props +. +handleAction +} +content += +{ +{ +tiles +: +tile +} +} +/ +> +) +} +{ +tile +. +type += += += +" +action_checklist +" +& +& +tile +. +data +& +& +( +< +ActionChecklist +content += +{ +content +} +message_id += +{ +props +. +messageId +} +/ +> +) +} +{ +tile +. +type += += += +" +embedded_browser +" +& +& +tile +. +data +? +. +url +& +& +( +< +EmbeddedBrowser +url += +{ +tile +. +data +. +url +} +style += +{ +tile +. +data +. +style +} +/ +> +) +} +< +/ +div +> +) +: +null +} +< +/ +div +> +) +; +} +; +if +( +Array +. +isArray +( +content +. +tiles +) +) +{ +return +( +< +div +className += +" +content +- +tiles +- +container +" +> +{ +content +. +tiles +. +map +( +( +tile +index +) += +> +renderContentTile +( +tile +index +) +) +} +< +/ +div +> +) +; +} +/ +/ +If +tiles +is +not +an +array +render +the +tile +alone +without +a +container +return +renderContentTile +( +tiles +0 +) +; +} +; diff --git a/browser/components/aboutwelcome/content-src/components/EmbeddedBrowser.jsx b/browser/components/aboutwelcome/content-src/components/EmbeddedBrowser.jsx index d971381d04c0..4ff5394917b1 100644 --- a/browser/components/aboutwelcome/content-src/components/EmbeddedBrowser.jsx +++ b/browser/components/aboutwelcome/content-src/components/EmbeddedBrowser.jsx @@ -67,6 +67,24 @@ from react " ; +import +{ +AboutWelcomeUtils +} +from +" +. +. +/ +lib +/ +aboutwelcome +- +utils +. +mjs +" +; const BROWSER_STYLES = @@ -81,9 +99,7 @@ width border " " -border -- -radius +borderRadius " " flex @@ -96,55 +112,6 @@ padding " ] ; -function -applyValidStyles -( -element -style -validStyles -) -{ -Object -. -keys -( -style -) -. -forEach -( -key -= -> -{ -if -( -validStyles -. -includes -( -key -) -) -{ -element -. -style -. -setProperty -( -key -style -[ -key -] -) -; -} -} -) -; -} export const EmbeddedBrowser @@ -471,13 +438,46 @@ current style ) { -applyValidStyles +const +validStyles += +AboutWelcomeUtils +. +getValidStyle ( +style +BROWSER_STYLES +) +; +Object +. +keys +( +validStyles +) +. +forEach +( +key += +> +{ browserRef . current +. style -BROWSER_STYLES +. +setProperty +( +key +style +[ +key +] +) +; +} ) ; } diff --git a/browser/components/aboutwelcome/content-src/components/MultiSelect.jsx b/browser/components/aboutwelcome/content-src/components/MultiSelect.jsx index e429812190bf..c43dbebe8ae3 100644 --- a/browser/components/aboutwelcome/content-src/components/MultiSelect.jsx +++ b/browser/components/aboutwelcome/content-src/components/MultiSelect.jsx @@ -81,6 +81,24 @@ from MSLocalized " ; +import +{ +AboutWelcomeUtils +} +from +" +. +. +/ +lib +/ +aboutwelcome +- +utils +. +mjs +" +; const MULTI_SELECT_STYLES = @@ -179,89 +197,6 @@ boxShadow " ] ; -function -getValidStyle -( -style -validStyles -allowVars -) -{ -if -( -! -style -) -{ -return -null -; -} -return -Object -. -keys -( -style -) -. -filter -( -key -= -> -validStyles -. -includes -( -key -) -| -| -( -allowVars -& -& -key -. -startsWith -( -" -- -- -" -) -) -) -. -reduce -( -( -obj -key -) -= -> -{ -obj -[ -key -] -= -style -[ -key -] -; -return -obj -; -} -{ -} -) -; -} export const MultiSelect @@ -513,6 +448,8 @@ useMemo ) = > +AboutWelcomeUtils +. getValidStyle ( content @@ -788,6 +725,8 @@ item style = { +AboutWelcomeUtils +. getValidStyle ( style @@ -836,6 +775,8 @@ id style = { +AboutWelcomeUtils +. getValidStyle ( icon diff --git a/browser/components/aboutwelcome/content-src/components/MultiStageAboutWelcome.jsx b/browser/components/aboutwelcome/content-src/components/MultiStageAboutWelcome.jsx index abc55ed9e80c..206a0dd28e98 100644 --- a/browser/components/aboutwelcome/content-src/components/MultiStageAboutWelcome.jsx +++ b/browser/components/aboutwelcome/content-src/components/MultiStageAboutWelcome.jsx @@ -4180,24 +4180,45 @@ multiSelectActions [ ] ; +const +processTile += +tile += +> +{ +if +( +tile +? +. +type += += += +" +multiselect +" +& +& +Array +. +isArray +( +tile +. +data +) +) +{ for ( const checkbox of -props -. -content -? -. -tiles -? +tile . data -? -? -[ -] ) { let @@ -4253,6 +4274,107 @@ checkboxAction ; } } +} +} +; +/ +/ +Process +tiles +( +this +may +be +a +single +tile +object +or +an +array +consisting +of +/ +/ +tile +objects +) +if +( +props +. +content +? +. +tiles +) +{ +if +( +Array +. +isArray +( +props +. +content +. +tiles +) +) +{ +props +. +content +. +tiles +. +forEach +( +processTile +) +; +} +else +{ +/ +/ +Handle +case +where +tiles +is +a +single +tile +object +processTile +( +props +. +content +. +tiles +) +; +} +} +/ +/ +Prepend +the +collected +multi +- +select +actions +to +the +CTA +' +s +actions +array action . data diff --git a/browser/components/aboutwelcome/content-src/components/MultiStageProtonScreen.jsx b/browser/components/aboutwelcome/content-src/components/MultiStageProtonScreen.jsx index d6927164ed6d..f760541234fa 100644 --- a/browser/components/aboutwelcome/content-src/components/MultiStageProtonScreen.jsx +++ b/browser/components/aboutwelcome/content-src/components/MultiStageProtonScreen.jsx @@ -98,39 +98,6 @@ mjs ; import { -MobileDownloads -} -from -" -. -/ -MobileDownloads -" -; -import -{ -MultiSelect -} -from -" -. -/ -MultiSelect -" -; -import -{ -SingleSelect -} -from -" -. -/ -SingleSelect -" -; -import -{ SecondaryCTA StepsIndicator ProgressBar @@ -199,28 +166,6 @@ AdditionalCTA ; import { -EmbeddedMigrationWizard -} -from -" -. -/ -EmbeddedMigrationWizard -" -; -import -{ -AddonsPicker -} -from -" -. -/ -AddonsPicker -" -; -import -{ LinkParagraph } from @@ -232,24 +177,13 @@ LinkParagraph ; import { -ActionChecklist +ContentTiles } from " . / -ActionChecklist -" -; -import -{ -EmbeddedBrowser -} -from -" -. -/ -EmbeddedBrowser +ContentTiles " ; export @@ -1597,466 +1531,7 @@ scheme : dark ) -" -/ -> -) -: -null -} -{ -reducedMotionImageURL -? -( -< -source -srcset -= -{ -reducedMotionImageURL -} -media -= -" -( -prefers -- -reduced -- -motion -: -reduce -) -" -/ -> -) -: -null -} -< -Localized -text -= -{ -alt -} -> -< -div -className -= -" -sr -- -only -logo -- -alt -" -/ -> -< -/ -Localized -> -< -img -className -= -" -brand -- -logo -" -style -= -{ -{ -height -width -} -} -src -= -{ -imageURL -} -alt -= -" -" -loading -= -{ -getLoadingStrategy -( -) -} -role -= -{ -alt -? -null -: -" -presentation -" -} -/ -> -< -/ -picture -> -) -; -} -renderContentTiles -( -) -{ -const -{ -content -} -= -this -. -props -; -return -( -< -React -. -Fragment -> -{ -content -. -tiles -& -& -content -. -tiles -. -type -= -= -= -" -addons -- -picker -" -& -& -content -. -tiles -. -data -? -( -< -AddonsPicker -content -= -{ -content -} -installedAddons -= -{ -this -. -props -. -installedAddons -} -message_id -= -{ -this -. -props -. -messageId -} -handleAction -= -{ -this -. -props -. -handleAction -} -/ -> -) -: -null -} -{ -content -. -tiles -& -& -( -content -. -tiles -. -type -= -= -= -" -theme -" -| -| -content -. -tiles -. -type -= -= -= -" -single -- -select -" -) -& -& -content -. -tiles -. -data -? -( -< -SingleSelect -content -= -{ -content -} -activeTheme -= -{ -this -. -props -. -activeTheme -} -handleAction -= -{ -this -. -props -. -handleAction -} -activeSingleSelect -= -{ -this -. -props -. -activeSingleSelect -} -setActiveSingleSelect -= -{ -this -. -props -. -setActiveSingleSelect -} -/ -> -) -: -null -} -{ -content -. -tiles -& -& -content -. -tiles -. -type -= -= -= -" -mobile_downloads -" -& -& -content -. -tiles -. -data -? -( -< -MobileDownloads -data -= -{ -content -. -tiles -. -data -} -handleAction -= -{ -this -. -props -. -handleAction -} -/ -> -) -: -null -} -{ -content -. -tiles -& -& -content -. -tiles -. -type -= -= -= -" -multiselect -" -& -& -content -. -tiles -. -data -? -( -< -MultiSelect -content -= -{ -content -} -screenMultiSelects -= -{ -this -. -props -. -screenMultiSelects -} -setScreenMultiSelects -= -{ -this -. -props -. -setScreenMultiSelects -} -activeMultiSelect -= -{ -this -. -props -. -activeMultiSelect -} -setActiveMultiSelect -= -{ -this -. -props -. -setActiveMultiSelect -} -/ -> -) -: -null -} -{ -content -. -tiles -& -& -content -. -tiles -. -type -= -= -= -" -migration -- -wizard -" -? -( -< -EmbeddedMigrationWizard -handleAction -= -{ -this -. -props -. -handleAction -} -content -= -{ -content -} +" / > ) @@ -2064,117 +1539,110 @@ content null } { -content -. -tiles -& -& -content -. -tiles -. -type -= -= -= -" -action_checklist -" -& -& -content -. -tiles -. -data +reducedMotionImageURL ? ( < -ActionChecklist -content +source +srcset = { -content +reducedMotionImageURL } -message_id +media = -{ -this -. -props -. -messageId -} +" +( +prefers +- +reduced +- +motion +: +reduce +) +" / > ) : null } -{ -content -. -tiles -& -& -content -. -tiles -. -type -= +< +Localized +text = +{ +alt +} +> +< +div +className = " -embedded_browser +sr +- +only +logo +- +alt " -& -& -content -. -tiles -. -data -? -. -url -? -( +/ +> < -EmbeddedBrowser -url +/ +Localized +> +< +img +className += +" +brand +- +logo +" +style = { -content -. -tiles -. -data -. -url +{ +height +width } -style +} +src = { -content -. -tiles -. -data -. -style +imageURL } -/ -> +alt += +" +" +loading += +{ +getLoadingStrategy +( ) -: +} +role += +{ +alt +? null +: +" +presentation +" } +/ +> < / -React -. -Fragment +picture > ) ; @@ -3235,6 +2703,31 @@ fullscreen : null } +style += +{ +content +. +screen_style +& +& +AboutWelcomeUtils +. +getValidStyle +( +content +. +screen_style +[ +" +overflow +" +" +display +" +] +) +} role = { @@ -3379,6 +2872,31 @@ role " document " +style += +{ +content +. +screen_style +& +& +AboutWelcomeUtils +. +getValidStyle +( +content +. +screen_style +[ +" +width +" +" +padding +" +] +) +} > { content @@ -3812,6 +3330,51 @@ null { content . +action_buttons_above_content +& +& +( +< +ProtonScreenActionButtons +content += +{ +content +} +addonName += +{ +this +. +props +. +addonName +} +handleAction += +{ +this +. +props +. +handleAction +} +activeMultiSelect += +{ +this +. +props +. +activeMultiSelect +} +/ +> +) +} +{ +content +. cta_paragraph ? ( @@ -3877,13 +3440,18 @@ handleAction : null } +< +ContentTiles { +. +. +. this . -renderContentTiles -( -) +props } +/ +> { this . @@ -3922,6 +3490,14 @@ renderStepsIndicator : null } +{ +! +content +. +action_buttons_above_content +& +& +( < ProtonScreenActionButtons content @@ -3958,6 +3534,8 @@ activeMultiSelect } / > +) +} < / div diff --git a/browser/components/aboutwelcome/content-src/components/SingleSelect.jsx b/browser/components/aboutwelcome/content-src/components/SingleSelect.jsx index 4577f94f11c3..9b9a3b59a954 100644 --- a/browser/components/aboutwelcome/content-src/components/SingleSelect.jsx +++ b/browser/components/aboutwelcome/content-src/components/SingleSelect.jsx @@ -77,6 +77,24 @@ from MSLocalized " ; +import +{ +AboutWelcomeUtils +} +from +" +. +. +/ +lib +/ +aboutwelcome +- +utils +. +mjs +" +; / / This @@ -471,18 +489,6 @@ exhaustive - deps const -getIconStyles -= -( -icon -= -{ -} -) -= -> -{ -const CONFIGURABLE_STYLES = [ @@ -512,54 +518,6 @@ width " ] ; -let -styles -= -{ -} -; -Object -. -keys -( -icon -) -. -forEach -( -styleProp -= -> -{ -if -( -CONFIGURABLE_STYLES -. -includes -( -styleProp -) -) -{ -styles -[ -styleProp -] -= -icon -[ -styleProp -] -; -} -} -) -; -return -styles -; -} -; return ( < @@ -1071,9 +1029,12 @@ value style = { -getIconStyles +AboutWelcomeUtils +. +getValidStyle ( icon +CONFIGURABLE_STYLES ) } / diff --git a/browser/components/aboutwelcome/content-src/lib/aboutwelcome-utils.mjs b/browser/components/aboutwelcome/content-src/lib/aboutwelcome-utils.mjs index 436204b0cf7f..61877b50ee98 100644 --- a/browser/components/aboutwelcome/content-src/lib/aboutwelcome-utils.mjs +++ b/browser/components/aboutwelcome/content-src/lib/aboutwelcome-utils.mjs @@ -470,6 +470,88 @@ CAMPAIGN_ACTION ) ; } +getValidStyle +( +style +validStyles +allowVars +) +{ +if +( +! +style +) +{ +return +null +; +} +return +Object +. +keys +( +style +) +. +filter +( +key += +> +validStyles +. +includes +( +key +) +| +| +( +allowVars +& +& +key +. +startsWith +( +" +- +- +" +) +) +) +. +reduce +( +( +obj +key +) += +> +{ +obj +[ +key +] += +style +[ +key +] +; +return +obj +; +} +{ +} +) +; +} } ; export diff --git a/browser/components/aboutwelcome/content/aboutwelcome.bundle.js b/browser/components/aboutwelcome/content/aboutwelcome.bundle.js index 6e2d2f3461c1..4cbe46b68199 100644 --- a/browser/components/aboutwelcome/content/aboutwelcome.bundle.js +++ b/browser/components/aboutwelcome/content/aboutwelcome.bundle.js @@ -438,6 +438,88 @@ CAMPAIGN_ACTION ) ; } +getValidStyle +( +style +validStyles +allowVars +) +{ +if +( +! +style +) +{ +return +null +; +} +return +Object +. +keys +( +style +) +. +filter +( +key += +> +validStyles +. +includes +( +key +) +| +| +( +allowVars +& +& +key +. +startsWith +( +" +- +- +" +) +) +) +. +reduce +( +( +obj +key +) += +> +{ +obj +[ +key +] += +style +[ +key +] +; +return +obj +; +} +{ +} +) +; +} } ; const @@ -836,7 +918,7 @@ _LanguageSwitcher__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__ ( -10 +7 ) ; var @@ -844,7 +926,7 @@ _SubmenuButton__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__ ( -15 +12 ) ; var @@ -852,7 +934,7 @@ _lib_addUtmParams_mjs__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__ ( -21 +22 ) ; const @@ -4115,24 +4197,45 @@ multiSelectActions [ ] ; +const +processTile += +tile += +> +{ +if +( +tile +? +. +type += += += +" +multiselect +" +& +& +Array +. +isArray +( +tile +. +data +) +) +{ for ( const checkbox of -props -. -content -? -. -tiles -? +tile . data -? -? -[ -] ) { let @@ -4188,6 +4291,58 @@ checkboxAction ; } } +} +} +; +if +( +props +. +content +? +. +tiles +) +{ +if +( +Array +. +isArray +( +props +. +content +. +tiles +) +) +{ +props +. +content +. +tiles +. +forEach +( +processTile +) +; +} +else +{ +processTile +( +props +. +content +. +tiles +) +; +} +} action . data @@ -5006,39 +5161,39 @@ __webpack_require__ ) ; var -_MobileDownloads__WEBPACK_IMPORTED_MODULE_3__ +_MultiStageAboutWelcome__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__ ( -7 +4 ) ; var -_MultiSelect__WEBPACK_IMPORTED_MODULE_4__ +_LanguageSwitcher__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__ ( -8 +7 ) ; var -_SingleSelect__WEBPACK_IMPORTED_MODULE_5__ +_CTAParagraph__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__ ( -9 +8 ) ; var -_MultiStageAboutWelcome__WEBPACK_IMPORTED_MODULE_6__ +_HeroImage__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__ ( -4 +9 ) ; var -_LanguageSwitcher__WEBPACK_IMPORTED_MODULE_7__ +_OnboardingVideo__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__ ( @@ -5046,7 +5201,7 @@ __webpack_require__ ) ; var -_CTAParagraph__WEBPACK_IMPORTED_MODULE_8__ +_AdditionalCTA__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__ ( @@ -5054,15 +5209,7 @@ __webpack_require__ ) ; var -_HeroImage__WEBPACK_IMPORTED_MODULE_9__ -= -__webpack_require__ -( -12 -) -; -var -_OnboardingVideo__WEBPACK_IMPORTED_MODULE_10__ +_LinkParagraph__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__ ( @@ -5070,53 +5217,13 @@ __webpack_require__ ) ; var -_AdditionalCTA__WEBPACK_IMPORTED_MODULE_11__ +_ContentTiles__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__ ( 14 ) ; -var -_EmbeddedMigrationWizard__WEBPACK_IMPORTED_MODULE_12__ -= -__webpack_require__ -( -16 -) -; -var -_AddonsPicker__WEBPACK_IMPORTED_MODULE_13__ -= -__webpack_require__ -( -17 -) -; -var -_LinkParagraph__WEBPACK_IMPORTED_MODULE_14__ -= -__webpack_require__ -( -18 -) -; -var -_ActionChecklist__WEBPACK_IMPORTED_MODULE_15__ -= -__webpack_require__ -( -19 -) -; -var -_EmbeddedBrowser__WEBPACK_IMPORTED_MODULE_16__ -= -__webpack_require__ -( -20 -) -; const MultiStageProtonScreen = @@ -5757,7 +5864,7 @@ react__WEBPACK_IMPORTED_MODULE_0___default . createElement ( -_AdditionalCTA__WEBPACK_IMPORTED_MODULE_11__ +_AdditionalCTA__WEBPACK_IMPORTED_MODULE_8__ . AdditionalCTA { @@ -5887,7 +5994,7 @@ react__WEBPACK_IMPORTED_MODULE_0___default . createElement ( -_MultiStageAboutWelcome__WEBPACK_IMPORTED_MODULE_6__ +_MultiStageAboutWelcome__WEBPACK_IMPORTED_MODULE_3__ . SecondaryCTA { @@ -6459,19 +6566,10 @@ presentation ) ; } -renderContentTiles +renderNoodles ( ) { -const -{ -content -} -= -this -. -props -; return react__WEBPACK_IMPORTED_MODULE_0___default ( @@ -6487,110 +6585,121 @@ react__WEBPACK_IMPORTED_MODULE_0___default Fragment ) null -content -. -tiles -& -& -content -. -tiles +react__WEBPACK_IMPORTED_MODULE_0___default +( +) . -type -= -= -= +createElement +( " -addons -- -picker +div " -& -& -content -. -tiles -. -data -? +{ +className +: +" +noodle +orange +- +L +" +} +) react__WEBPACK_IMPORTED_MODULE_0___default ( ) . createElement ( -_AddonsPicker__WEBPACK_IMPORTED_MODULE_13__ -. -AddonsPicker +" +div +" { -content -: -content -installedAddons +className : -this -. -props +" +noodle +purple +- +C +" +} +) +react__WEBPACK_IMPORTED_MODULE_0___default +( +) . -installedAddons -message_id +createElement +( +" +div +" +{ +className : -this -. -props +" +noodle +solid +- +L +" +} +) +react__WEBPACK_IMPORTED_MODULE_0___default +( +) . -messageId -handleAction +createElement +( +" +div +" +{ +className : -this -. -props -. -handleAction +" +noodle +outline +- +L +" } ) -: -null -content -. -tiles -& -& +react__WEBPACK_IMPORTED_MODULE_0___default ( -content -. -tiles +) . -type -= -= -= +createElement +( " -theme +div " -| -| -content -. -tiles -. -type -= -= -= +{ +className +: " -single +noodle +yellow - -select +circle " +} ) -& -& -content +) +; +} +renderLanguageSwitcher +( +) +{ +return +this . -tiles +props . -data +content +. +languageSwitcher ? react__WEBPACK_IMPORTED_MODULE_0___default ( @@ -6598,283 +6707,324 @@ react__WEBPACK_IMPORTED_MODULE_0___default . createElement ( -_SingleSelect__WEBPACK_IMPORTED_MODULE_5__ +_LanguageSwitcher__WEBPACK_IMPORTED_MODULE_4__ . -SingleSelect +LanguageSwitcher { content : +this +. +props +. content -activeTheme +handleAction : this . props . -activeTheme handleAction +negotiatedLanguage : this . props . -handleAction -activeSingleSelect +negotiatedLanguage +langPackInstallPhase : this . props . -activeSingleSelect -setActiveSingleSelect +langPackInstallPhase +messageId : this . props . -setActiveSingleSelect +messageId } ) : null -content -. -tiles -& -& -content +; +} +renderDismissButton +( +) +{ +const +{ +size +marginBlock +marginInline +label +} += +this . -tiles +props . -type -= -= -= -" -mobile_downloads -" -& -& content . -tiles -. -data -? +dismiss_button +; +return react__WEBPACK_IMPORTED_MODULE_0___default ( ) . createElement ( -_MobileDownloads__WEBPACK_IMPORTED_MODULE_3__ -. -MobileDownloads +" +button +" { -data +className : -content -. -tiles -. -data -handleAction +" +dismiss +- +button +" +onClick : this . props . handleAction -} -) +value : -null -content -. -tiles -& -& -content -. -tiles -. -type -= -= -= " -multiselect +dismiss_button +" " -& -& -content -. -tiles -. data -? -react__WEBPACK_IMPORTED_MODULE_0___default -( -) -. -createElement -( -_MultiSelect__WEBPACK_IMPORTED_MODULE_4__ -. -MultiSelect -{ -content -: -content -screenMultiSelects -: -this -. -props -. -screenMultiSelects -setScreenMultiSelects +- +l10n +- +id +" : -this -. -props +label +? . -setScreenMultiSelects -activeMultiSelect +string_id +| +| +" +spotlight +- +dialog +- +close +- +button +" +" +button +- +size +" : -this -. -props -. -activeMultiSelect -setActiveMultiSelect +size +style : -this -. -props -. -setActiveMultiSelect +{ +marginBlock +marginInline +} } ) -: -null -content -. -tiles -& -& +; +} +renderStepsIndicator +( +) +{ +const +{ +order +previousOrder content -. -tiles -. -type +totalNumberOfScreens +: +total +aboveButtonStepsIndicator +} = +this +. +props +; +const +currentStep = +( +order +? +? +0 +) ++ +1 +; +const +previousStep = -" -migration -- -wizard -" +( +previousOrder +? ? +- +1 +) ++ +1 +; +return react__WEBPACK_IMPORTED_MODULE_0___default ( ) . createElement ( -_EmbeddedMigrationWizard__WEBPACK_IMPORTED_MODULE_12__ -. -EmbeddedMigrationWizard +" +div +" { -handleAction +id : -this -. -props -. -handleAction -content +" +steps +" +className : +steps +{ content +. +progress_bar +? +" +progress +- +bar +" +: +" +" } -) +" +above +- +button +" +: +aboveButtonStepsIndicator +? +" +" : null -content -. -tiles -& -& -content -. -tiles -. -type -= -= -= " -action_checklist +data +- +l10n +- +id " -& -& +: content . -tiles +steps_indicator +? . +string_id +| +| +" +onboarding +- +welcome +- +steps +- +indicator +- +label +" +" data -? -react__WEBPACK_IMPORTED_MODULE_0___default -( -) +- +l10n +- +args +" +: +JSON . -createElement +stringify ( -_ActionChecklist__WEBPACK_IMPORTED_MODULE_15__ -. -ActionChecklist { -content +current : -content -message_id +currentStep +total : -this -. -props -. -messageId +total +? +? +0 } ) +" +data +- +l10n +- +attrs +" : -null -content -. -tiles -& -& -content -. -tiles -. -type -= -= -= " -embedded_browser +aria +- +label " -& -& +role +: +" +progressbar +" +" +aria +- +valuenow +" +: +currentStep +" +aria +- +valuemin +" +: +1 +" +aria +- +valuemax +" +: +total +} content . -tiles -. -data -? -. -url +progress_bar ? react__WEBPACK_IMPORTED_MODULE_0___default ( @@ -6882,37 +7032,46 @@ react__WEBPACK_IMPORTED_MODULE_0___default . createElement ( -_EmbeddedBrowser__WEBPACK_IMPORTED_MODULE_16__ +_MultiStageAboutWelcome__WEBPACK_IMPORTED_MODULE_3__ . -EmbeddedBrowser +ProgressBar { -url +step : -content -. -tiles -. -data -. -url -style +currentStep +previousStep : -content -. -tiles +previousStep +totalNumberOfScreens +: +total +} +) +: +react__WEBPACK_IMPORTED_MODULE_0___default +( +) . -data +createElement +( +_MultiStageAboutWelcome__WEBPACK_IMPORTED_MODULE_3__ . -style +StepsIndicator +{ +order +: +order +totalNumberOfScreens +: +total } ) -: -null ) ; } -renderNoodles +renderSecondarySection ( +content ) { return @@ -6922,13 +7081,82 @@ react__WEBPACK_IMPORTED_MODULE_0___default . createElement ( -( -react__WEBPACK_IMPORTED_MODULE_0___default -( -) +" +div +" +{ +className +: +section +- +secondary +{ +content . -Fragment +hide_secondary_section +? +" +with +- +secondary +- +section +- +hidden +" +: +" +" +} +style +: +content +. +background +? +{ +background +: +content +. +background +" +- +- +mr +- +secondary +- +background +- +position +- +y +" +: +content +. +split_narrow_bkg_position +} +: +{ +} +} +content +. +dismiss_button +& +& +content +. +reverse_split +? +this +. +renderDismissButton +( ) +: null react__WEBPACK_IMPORTED_MODULE_0___default ( @@ -6936,20 +7164,16 @@ react__WEBPACK_IMPORTED_MODULE_0___default . createElement ( -" -div -" +_MSLocalized__WEBPACK_IMPORTED_MODULE_1__ +. +Localized { -className +text : -" -noodle -orange -- -L -" +content +. +image_alt_text } -) react__WEBPACK_IMPORTED_MODULE_0___default ( ) @@ -6963,33 +7187,59 @@ div className : " -noodle -purple +sr - -C +only +image +- +alt +" +role +: +" +img " } ) +) +content +. +hero_image +? react__WEBPACK_IMPORTED_MODULE_0___default ( ) . createElement ( -" -div -" +_HeroImage__WEBPACK_IMPORTED_MODULE_6__ +. +HeroImage { -className +url : -" -noodle -solid -- -L -" +content +. +hero_image +. +url } ) +: +react__WEBPACK_IMPORTED_MODULE_0___default +( +) +. +createElement +( +( +react__WEBPACK_IMPORTED_MODULE_0___default +( +) +. +Fragment +) +null react__WEBPACK_IMPORTED_MODULE_0___default ( ) @@ -7003,13 +7253,11 @@ div className : " -noodle -outline +message - -L +text " } -) react__WEBPACK_IMPORTED_MODULE_0___default ( ) @@ -7023,182 +7271,216 @@ div className : " -noodle -yellow +spacer - -circle +top " } ) -) -; -} -renderLanguageSwitcher -( -) -{ -return -this -. -props -. -content -. -languageSwitcher -? react__WEBPACK_IMPORTED_MODULE_0___default ( ) . createElement ( -_LanguageSwitcher__WEBPACK_IMPORTED_MODULE_7__ +_MSLocalized__WEBPACK_IMPORTED_MODULE_1__ . -LanguageSwitcher +Localized { -content +text : -this -. -props -. content -handleAction -: -this -. -props -. -handleAction -negotiatedLanguage -: -this -. -props . -negotiatedLanguage -langPackInstallPhase -: -this +hero_text +} +react__WEBPACK_IMPORTED_MODULE_0___default +( +) . -props +createElement +( +" +h1 +" +null +) +) +react__WEBPACK_IMPORTED_MODULE_0___default +( +) . -langPackInstallPhase -messageId +createElement +( +" +div +" +{ +className : -this -. -props -. -messageId +" +spacer +- +bottom +" } ) -: -null +) +) +) ; } -renderDismissButton +renderOrderedContent ( +content ) { const -{ -size -marginBlock -marginInline -label -} +elements = -this -. -props -. +[ +] +; +for +( +const +item +of content +) +{ +switch +( +item . -dismiss_button -; -return +type +) +{ +case +" +text +" +: +elements +. +push +( react__WEBPACK_IMPORTED_MODULE_0___default ( ) . createElement ( -" -button -" +_LinkParagraph__WEBPACK_IMPORTED_MODULE_9__ +. +LinkParagraph { -className +text_content : -" -dismiss -- -button -" -onClick +item +handleAction : this . props . handleAction -value -: -" -dismiss_button -" +} +) +) +; +break +; +case " -data -- -l10n -- -id +image " : -label -? +elements . -string_id -| -| -" -spotlight -- -dialog -- -close -- -button -" -" -button -- -size -" +push +( +this +. +renderPicture +( +{ +imageURL : -size -style +item +. +url +darkModeImageURL : -{ -marginBlock +item +. +darkModeImageURL +height +: +item +. +height +width +: +item +. +width +alt +: +item +. +alt_text +marginInline +: +item +. marginInline +className +: +" +inline +- +image +" +} +) +) +; } } +return +react__WEBPACK_IMPORTED_MODULE_0___default +( +) +. +createElement +( +( +react__WEBPACK_IMPORTED_MODULE_0___default +( +) +. +Fragment +) +null +elements ) ; } -renderStepsIndicator +render ( ) { const { -order -previousOrder +autoAdvance content -totalNumberOfScreens -: -total +isRtamo +isTheme +isFirstScreen +isLastScreen +isSingleScreen +forceHideStepsIndicator +ariaRole aboveButtonStepsIndicator } = @@ -7207,29 +7489,129 @@ this props ; const -currentStep +includeNoodles = -( -order -? -? -0 -) -+ -1 +content +. +has_noodles ; const -previousStep +isCenterPosition = -( -previousOrder +content +. +position += += += +" +center +" +| +| +! +content +. +position +; +const +hideStepsIndicator += +autoAdvance +| +| +content ? +. +video_container +| +| +isSingleScreen +| +| +forceHideStepsIndicator +; +const +textColorClass += +content +. +text_color ? +{ +content +. +text_color +} - -1 +text +: +" +" +; +const +screenClassName += +isCenterPosition +? +this +. +getScreenClassName +( +isFirstScreen +isLastScreen +includeNoodles +content +? +. +video_container +content +. +tiles +? +. +type += += += +" +addons +- +picker +" ) -+ -1 +: +" +" +; +const +isEmbeddedMigration += +content +. +tiles +? +. +type += += += +" +migration +- +wizard +" +; +const +isSystemPromptStyleSpotlight += +content +. +isSystemPromptStyleSpotlight += += += +true ; return react__WEBPACK_IMPORTED_MODULE_0___default @@ -7239,187 +7621,154 @@ react__WEBPACK_IMPORTED_MODULE_0___default createElement ( " -div +main " { -id -: -" -steps -" className : -steps +screen { -content +this . -progress_bar -? -" -progress -- -bar -" -: +props +. +id +| +| " " } +{ +screenClassName +} +{ +textColorClass +} " -above +reverse - -button +split " : -aboveButtonStepsIndicator +content +. +reverse_split ? " " : null +fullscreen +: +content +. +fullscreen +? " -data -- -l10n -- -id " : +null +style +: content . -steps_indicator -? +screen_style +& +& +_lib_aboutwelcome_utils_mjs__WEBPACK_IMPORTED_MODULE_2__ . -string_id -| -| +AboutWelcomeUtils +. +getValidStyle +( +content +. +screen_style +[ " -onboarding -- -welcome -- -steps -- -indicator -- -label +overflow " " -data -- -l10n -- -args +display " +] +) +role : -JSON -. -stringify -( -{ -current -: -currentStep -total -: -total +ariaRole ? ? -0 -} -) " -data -- -l10n -- -attrs +alertdialog " +layout : -" -aria -- -label -" -role +content +. +layout +pos : +content +. +position +| +| " -progressbar +center " +tabIndex +: " -aria - -valuenow +1 " -: -currentStep " aria - -valuemin +labelledby " : -1 " -aria -- -valuemax +mainContentHeader " +ref : -total -} -content -. -progress_bar -? -react__WEBPACK_IMPORTED_MODULE_0___default -( -) -. -createElement -( -_MultiStageAboutWelcome__WEBPACK_IMPORTED_MODULE_6__ -. -ProgressBar +input += +> { -step -: -currentStep -previousStep -: -previousStep -totalNumberOfScreens -: -total +this +. +mainContentHeader += +input +; } -) +" +no +- +rdm +" : -react__WEBPACK_IMPORTED_MODULE_0___default -( -) -. -createElement -( -_MultiStageAboutWelcome__WEBPACK_IMPORTED_MODULE_6__ +content . -StepsIndicator -{ -order -: -order -totalNumberOfScreens +no_rdm +? +" +" : -total -} -) -) -; +null } +isCenterPosition +? +null +: +this +. renderSecondarySection ( content ) -{ -return react__WEBPACK_IMPORTED_MODULE_0___default ( ) @@ -7434,122 +7783,87 @@ className : section - -secondary +main { -content -. -hide_secondary_section +isEmbeddedMigration ? " -with -- -secondary -- -section +embedded - -hidden +migration " : " " } -style -: -content -. -background -? { -background -: -content -. -background +isSystemPromptStyleSpotlight +? " +system - +prompt - -mr +spotlight +" +: +" +" +} +" +hide - secondary - -background -- -position -- -y +section " : content . -split_narrow_bkg_position -} -: -{ -} -} -content -. -dismiss_button -& -& -content -. -reverse_split +hide_secondary_section ? -this -. -renderDismissButton +String ( +content +. +hide_secondary_section ) : null -react__WEBPACK_IMPORTED_MODULE_0___default -( -) -. -createElement -( -_MSLocalized__WEBPACK_IMPORTED_MODULE_1__ -. -Localized -{ -text +role +: +" +document +" +style : content . -image_alt_text -} -react__WEBPACK_IMPORTED_MODULE_0___default -( -) +screen_style +& +& +_lib_aboutwelcome_utils_mjs__WEBPACK_IMPORTED_MODULE_2__ . -createElement +AboutWelcomeUtils +. +getValidStyle ( +content +. +screen_style +[ " -div -" -{ -className -: -" -sr -- -only -image -- -alt +width " -role -: " -img +padding " -} -) +] ) +} content . -hero_image +secondary_button_top ? react__WEBPACK_IMPORTED_MODULE_0___default ( @@ -7557,33 +7871,54 @@ react__WEBPACK_IMPORTED_MODULE_0___default . createElement ( -_HeroImage__WEBPACK_IMPORTED_MODULE_9__ +_MultiStageAboutWelcome__WEBPACK_IMPORTED_MODULE_3__ . -HeroImage +SecondaryCTA { -url +content : content +handleAction +: +this . -hero_image +props . -url +handleAction +position +: +" +top +" } ) : -react__WEBPACK_IMPORTED_MODULE_0___default -( -) +null +includeNoodles +? +this . -createElement -( -( -react__WEBPACK_IMPORTED_MODULE_0___default +renderNoodles ( ) +: +null +content . -Fragment +dismiss_button +& +& +! +content +. +reverse_split +? +this +. +renderDismissButton +( ) +: null react__WEBPACK_IMPORTED_MODULE_0___default ( @@ -7597,59 +7932,106 @@ div { className : -" -message +main - -text -" -} -react__WEBPACK_IMPORTED_MODULE_0___default -( -) -. -createElement -( +content +{ +hideStepsIndicator +? " -div +no +- +steps " -{ -className : " -spacer -- -top " } -) -react__WEBPACK_IMPORTED_MODULE_0___default -( -) +style +: +{ +background +: +content . -createElement -( -_MSLocalized__WEBPACK_IMPORTED_MODULE_1__ +background +& +& +isCenterPosition +? +content . -Localized -{ -text +background +: +null +width : content . -hero_text -} -react__WEBPACK_IMPORTED_MODULE_0___default -( -) +width +& +& +content . -createElement -( +position +! += += " -h1 +split " +? +content +. +width +: null +paddingBlock +: +content +. +split_content_padding_block +? +content +. +split_content_padding_block +: +null +paddingInline +: +content +. +split_content_padding_inline +? +content +. +split_content_padding_inline +: +null +} +} +content +. +logo +& +& +! +content +. +fullscreen +? +this +. +renderPicture +( +content +. +logo ) -) +: +null +isRtamo +? react__WEBPACK_IMPORTED_MODULE_0___default ( ) @@ -7663,302 +8045,132 @@ div className : " -spacer +rtamo - -bottom +icon " } -) -) -) -) -; -} -renderOrderedContent -( -content -) -{ -const -elements -= -[ -] -; -for -( -const -item -of -content -) -{ -switch -( -item -. -type -) -{ -case -" -text -" -: -elements -. -push -( react__WEBPACK_IMPORTED_MODULE_0___default ( ) . createElement ( -_LinkParagraph__WEBPACK_IMPORTED_MODULE_14__ -. -LinkParagraph +" +img +" { -text_content +className : -item -handleAction +{ +isTheme +? +" +rtamo +- +theme +- +icon +" : -this -. -props -. -handleAction -} -) -) -; -break -; -case " -image +brand +- +logo " +} +src : -elements -. -push -( this . -renderPicture -( -{ -imageURL -: -item +props . -url -darkModeImageURL +iconURL +loading : -item +_lib_aboutwelcome_utils_mjs__WEBPACK_IMPORTED_MODULE_2__ . -darkModeImageURL -height -: -item +AboutWelcomeUtils . -height -width -: -item +getLoadingStrategyFor +( +this . -width -alt -: -item +props . -alt_text -marginInline +iconURL +) +alt : -item -. -marginInline -className +" +" +role : " -inline -- -image +presentation " } ) ) -; -} -} -return +: +null react__WEBPACK_IMPORTED_MODULE_0___default ( ) . createElement ( -( -react__WEBPACK_IMPORTED_MODULE_0___default -( -) -. -Fragment -) -null -elements -) -; -} -render -( -) -{ -const +" +div +" { -autoAdvance -content -isRtamo -isTheme -isFirstScreen -isLastScreen -isSingleScreen -forceHideStepsIndicator -ariaRole -aboveButtonStepsIndicator -} -= -this -. -props -; -const -includeNoodles -= -content -. -has_noodles -; -const -isCenterPosition -= -content -. -position -= -= -= -" -center +className +: " -| -| -! +main +- content -. -position -; -const -hideStepsIndicator -= -autoAdvance -| -| +- +inner +" +style +: +{ +justifyContent +: content -? . -video_container -| -| -isSingleScreen -| -| -forceHideStepsIndicator -; -const -textColorClass -= +split_content_justify_content +} +} content . -text_color -? -{ +logo +& +& content . -text_color -} -- -text -: -" -" -; -const -screenClassName -= -isCenterPosition +fullscreen ? this . -getScreenClassName +renderPicture ( -isFirstScreen -isLastScreen -includeNoodles -content -? -. -video_container content . -tiles -? -. -type -= -= -= -" -addons -- -picker -" +logo ) : -" -" -; -const -isEmbeddedMigration -= +null content . -tiles -? -. -type -= -= -= -" -migration -- -wizard -" -; -const -isSystemPromptStyleSpotlight -= +title +| +| content . -isSystemPromptStyleSpotlight -= -= -= -true -; -return +subtitle +? react__WEBPACK_IMPORTED_MODULE_0___default ( ) @@ -7966,199 +8178,176 @@ react__WEBPACK_IMPORTED_MODULE_0___default createElement ( " -main +div " { className : -screen +welcome +- +text { -this -. -props +content . -id +title_style | | " " } -{ -screenClassName -} -{ -textColorClass } -" -reverse -- -split -" -: content . -reverse_split +title ? -" -" +this +. +renderTitle +( +content +) : null -fullscreen -: content . -fullscreen -? -" -" -: -null -role -: -ariaRole -? +subtitle ? -" -alertdialog -" -layout -: -content +react__WEBPACK_IMPORTED_MODULE_0___default +( +) . -layout -pos +createElement +( +_MSLocalized__WEBPACK_IMPORTED_MODULE_1__ +. +Localized +{ +text : content . -position -| -| +subtitle +} +react__WEBPACK_IMPORTED_MODULE_0___default +( +) +. +createElement +( " -center +h2 " -tabIndex -: +{ " +data - -1 -" -" -aria +l10n - -labelledby -" -: -" -mainContentHeader +args " -ref : -input -= -> -{ -this +JSON . -mainContentHeader -= -input -; -} +stringify +( +{ " -no +addon - -rdm +name " : -content +this +. +props +. +addonName +. +. . -no_rdm -? -" -" -: -null -} -isCenterPosition -? -null -: this . -renderSecondarySection -( -content -) -react__WEBPACK_IMPORTED_MODULE_0___default -( -) +props . -createElement -( -" -div -" -{ -className -: -section -- -main -{ -isEmbeddedMigration +appAndSystemLocaleInfo ? +. +displayNames +} +) " -embedded +aria - -migration +flowto " : +this +. +props +. +messageId +? +. +includes +( " +FEATURE_TOUR " -} -{ -isSystemPromptStyleSpotlight +) ? " -system -- -prompt -- -spotlight +steps " : " " } -" -hide -- -secondary -- -section -" +) +) : +null content . -hide_secondary_section -? -String +action_buttons_above_content +& +& +react__WEBPACK_IMPORTED_MODULE_0___default +( +) +. +createElement ( +ProtonScreenActionButtons +{ +content +: content +addonName +: +this . -hide_secondary_section -) +props +. +addonName +handleAction : -null -role +this +. +props +. +handleAction +activeMultiSelect : -" -document -" +this +. +props +. +activeMultiSelect } +) content . -secondary_button_top +cta_paragraph ? react__WEBPACK_IMPORTED_MODULE_0___default ( @@ -8166,13 +8355,15 @@ react__WEBPACK_IMPORTED_MODULE_0___default . createElement ( -_MultiStageAboutWelcome__WEBPACK_IMPORTED_MODULE_6__ +_CTAParagraph__WEBPACK_IMPORTED_MODULE_5__ . -SecondaryCTA +CTAParagraph { content : content +. +cta_paragraph handleAction : this @@ -8180,38 +8371,40 @@ this props . handleAction -position -: -" -top -" } ) : null -includeNoodles -? -this -. -renderNoodles -( ) : null content . -dismiss_button -& -& -! +video_container +? +react__WEBPACK_IMPORTED_MODULE_0___default +( +) +. +createElement +( +_OnboardingVideo__WEBPACK_IMPORTED_MODULE_7__ +. +OnboardingVideo +{ +content +: content . -reverse_split -? +video_container +handleAction +: this . -renderDismissButton -( +props +. +handleAction +} ) : null @@ -8221,129 +8414,117 @@ react__WEBPACK_IMPORTED_MODULE_0___default . createElement ( -" -div -" -{ -className -: -main -- +_ContentTiles__WEBPACK_IMPORTED_MODULE_10__ +. +ContentTiles +this +. +props +) +this +. +renderLanguageSwitcher +( +) content -{ -hideStepsIndicator +. +above_button_content ? -" -no -- -steps -" -: -" -" -} -style -: -{ -background -: +this +. +renderOrderedContent +( content . -background +above_button_content +) +: +null +! +hideStepsIndicator & & -isCenterPosition +aboveButtonStepsIndicator ? -content +this . -background +renderStepsIndicator +( +) : null -width -: +! content . -width +action_buttons_above_content & & -content +react__WEBPACK_IMPORTED_MODULE_0___default +( +) . -position -! -= -= -" -split -" -? +createElement +( +ProtonScreenActionButtons +{ content -. -width -: -null -paddingBlock : content +addonName +: +this . -split_content_padding_block -? -content +props . -split_content_padding_block +addonName +handleAction : -null -paddingInline -: -content +this . -split_content_padding_inline -? -content +props . -split_content_padding_inline +handleAction +activeMultiSelect : -null -} -} -content +this . -logo +props +. +activeMultiSelect +} +) +) +! +hideStepsIndicator & & ! -content -. -fullscreen +aboveButtonStepsIndicator ? this . -renderPicture +renderStepsIndicator ( -content -. -logo ) : null -isRtamo -? +) +) react__WEBPACK_IMPORTED_MODULE_0___default ( ) . createElement ( -" -div -" +_MSLocalized__WEBPACK_IMPORTED_MODULE_1__ +. +Localized { -className +text : -" -rtamo -- -icon -" +content +. +info_text } react__WEBPACK_IMPORTED_MODULE_0___default ( @@ -8352,832 +8533,767 @@ react__WEBPACK_IMPORTED_MODULE_0___default createElement ( " -img +span " { className : -{ -isTheme -? -" -rtamo -- -theme -- -icon -" -: " -brand +info - -logo +text " } -src -: -this -. -props -. -iconURL -loading -: -_lib_aboutwelcome_utils_mjs__WEBPACK_IMPORTED_MODULE_2__ -. -AboutWelcomeUtils -. -getLoadingStrategyFor -( -this -. -props -. -iconURL ) -alt -: -" -" -role -: -" -presentation -" +) +) +; +} +} } ) +( +( +__unused_webpack_module +__webpack_exports__ +__webpack_require__ ) -: -null -react__WEBPACK_IMPORTED_MODULE_0___default += +> +{ +__webpack_require__ +. +r ( +__webpack_exports__ ) +; +__webpack_require__ . -createElement +d ( -" -div -" -{ -className -: -" -main -- -content -- -inner -" -style -: +__webpack_exports__ { -justifyContent +LanguageSwitcher : -content -. -split_content_justify_content -} -} -content -. -logo -& -& -content -. -fullscreen -? -this -. -renderPicture ( -content -. -logo ) += +> +( +LanguageSwitcher +) +useLanguageSwitcher : -null -content -. -title -| -| -content -. -subtitle -? -react__WEBPACK_IMPORTED_MODULE_0___default ( ) -. -createElement += +> ( -" -div -" -{ -className -: -welcome -- -text -{ -content -. -title_style -| -| -" -" -} +useLanguageSwitcher +) } -content -. -title -? -this -. -renderTitle -( -content ) -: -null -content -. -subtitle -? -react__WEBPACK_IMPORTED_MODULE_0___default +; +var +react__WEBPACK_IMPORTED_MODULE_0__ += +__webpack_require__ ( +1 ) +; +var +react__WEBPACK_IMPORTED_MODULE_0___default += +__webpack_require__ . -createElement +n ( +react__WEBPACK_IMPORTED_MODULE_0__ +) +; +var _MSLocalized__WEBPACK_IMPORTED_MODULE_1__ -. -Localized -{ -text -: -content -. -subtitle -} -react__WEBPACK_IMPORTED_MODULE_0___default += +__webpack_require__ ( +5 ) -. -createElement +; +var +_lib_aboutwelcome_utils_mjs__WEBPACK_IMPORTED_MODULE_2__ += +__webpack_require__ ( -" -h2 -" +3 +) +; +function +useLanguageSwitcher +( +appAndSystemLocaleInfo +screens +screenIndex +setScreenIndex +) { -" -data -- -l10n -- -args -" -: -JSON +const +languageMismatchScreenIndex += +screens . -stringify +findIndex +( ( { -" -addon -- -name -" -: -this -. -props -. -addonName -. -. -. -this -. -props -. -appAndSystemLocaleInfo -? -. -displayNames +id } ) += +> +id += += += " -aria -- -flowto +AW_LANGUAGE_MISMATCH " -: -this -. -props -. -messageId -? +) +; +const +mismatchScreen += +screens +[ +languageMismatchScreenIndex +] +; +( +0 +react__WEBPACK_IMPORTED_MODULE_0__ . -includes +useEffect +) +( ( -" -FEATURE_TOUR -" ) += +> +{ +if +( +mismatchScreen ? -" -steps -" -: -" -" -} -) -) -: -null -content . -cta_paragraph +content ? -react__WEBPACK_IMPORTED_MODULE_0___default -( +. +languageSwitcher ) +{ +for +( +const +text +of +Object . -createElement +values ( -_CTAParagraph__WEBPACK_IMPORTED_MODULE_8__ +mismatchScreen . -CTAParagraph -{ -content -: content . -cta_paragraph -handleAction -: -this -. -props -. -handleAction -} +languageSwitcher ) -: -null ) -: -null -content -. -video_container -? -react__WEBPACK_IMPORTED_MODULE_0___default +{ +if ( -) +text +? . -createElement -( -_OnboardingVideo__WEBPACK_IMPORTED_MODULE_10__ +args +& +& +text . -OnboardingVideo -{ -content -: -content +args . -video_container -handleAction -: -this +negotiatedLanguage += += += +undefined +) +{ +text . -props +args . -handleAction +negotiatedLanguage += +" +" +; +} } +} +} +[ +mismatchScreen +] ) -: -null -this -. -renderContentTiles +; +const +[ +negotiatedLanguage +setNegotiatedLanguage +] += ( -) -this +0 +react__WEBPACK_IMPORTED_MODULE_0__ . -renderLanguageSwitcher +useState +) ( +null ) -content -. -above_button_content -? -this -. -renderOrderedContent +; ( -content +0 +react__WEBPACK_IMPORTED_MODULE_0__ . -above_button_content +useEffect ) -: -null -! -hideStepsIndicator -& -& -aboveButtonStepsIndicator -? -this -. -renderStepsIndicator ( -) -: -null -react__WEBPACK_IMPORTED_MODULE_0___default +function +getNegotiatedLanguage ( ) -. -createElement +{ +if ( -ProtonScreenActionButtons +! +appAndSystemLocaleInfo +) { -content -: -content -addonName -: -this -. -props -. -addonName -handleAction -: -this -. -props -. -handleAction -activeMultiSelect -: -this -. -props -. -activeMultiSelect +return +; } +if +( +appAndSystemLocaleInfo +. +matchType +! += += +" +language +- +mismatch +" ) +{ +return +; +} +( +async +( ) -! -hideStepsIndicator -& -& -! -aboveButtonStepsIndicator -? -this += +> +{ +const +{ +langPack +langPackDisplayName +} += +await +window . -renderStepsIndicator +AWNegotiateLangPackForLanguageMismatch ( +appAndSystemLocaleInfo ) -: -null -) -) -react__WEBPACK_IMPORTED_MODULE_0___default +; +if ( +langPack ) -. -createElement +{ +setNegotiatedLanguage ( -_MSLocalized__WEBPACK_IMPORTED_MODULE_1__ -. -Localized { -text +langPackDisplayName +appDisplayName : -content +appAndSystemLocaleInfo . -info_text +displayNames +. +appLanguage +langPack +requestSystemLocales +: +[ +langPack +. +target_locale +appAndSystemLocaleInfo +. +appLocaleRaw +] +originalAppLocales +: +[ +appAndSystemLocaleInfo +. +appLocaleRaw +] } -react__WEBPACK_IMPORTED_MODULE_0___default -( ) -. -createElement +; +} +else +{ +setNegotiatedLanguage ( -" -span -" { -className +langPackDisplayName : -" -info -- -text -" +null +appDisplayName +: +null +langPack +: +null +requestSystemLocales +: +null } ) -) -) ; } } -} ) ( -( -__unused_webpack_module -__webpack_exports__ -__webpack_require__ ) +; +} +[ +appAndSystemLocaleInfo +] +) +; +const +[ +langPackInstallPhase +setLangPackInstallPhase +] = -> -{ -__webpack_require__ +( +0 +react__WEBPACK_IMPORTED_MODULE_0__ . -r +useState +) ( -__webpack_exports__ +" +before +- +installation +" ) ; -__webpack_require__ +( +0 +react__WEBPACK_IMPORTED_MODULE_0__ . -d +useEffect +) ( -__webpack_exports__ +function +ensureLangPackInstalled +( +) { -MarketplaceButtons -: +if ( +! +negotiatedLanguage ) -= -> +{ +return +; +} +setLangPackInstallPhase ( -MarketplaceButtons +" +installing +" ) -MobileDownloads -: +; +window +. +AWEnsureLangPackInstalled ( +negotiatedLanguage +mismatchScreen +? +. +content ) +. +then +( +content = > -( -MobileDownloads -) -} -) -; -var -react__WEBPACK_IMPORTED_MODULE_0__ +{ +mismatchScreen +. +content = -__webpack_require__ +content +; +setLangPackInstallPhase ( -1 +" +installed +" ) ; -var -react__WEBPACK_IMPORTED_MODULE_0___default +} +error = -__webpack_require__ +> +{ +console . -n +error ( -react__WEBPACK_IMPORTED_MODULE_0__ +error ) ; -var -_MSLocalized__WEBPACK_IMPORTED_MODULE_1__ -= -__webpack_require__ +setLangPackInstallPhase ( -5 +" +installation +- +error +" ) ; -var -_lib_aboutwelcome_utils_mjs__WEBPACK_IMPORTED_MODULE_2__ -= -__webpack_require__ -( -3 +} +) +; +} +[ +negotiatedLanguage +mismatchScreen +] ) ; const -MarketplaceButtons -= -props +[ +languageFilteredScreens +setLanguageFilteredScreens +] = -> -{ -return -react__WEBPACK_IMPORTED_MODULE_0___default -( -) -. -createElement ( -" -ul -" -{ -className -: -" -mobile -- -download -- -buttons -" -} -props -. -buttons +0 +react__WEBPACK_IMPORTED_MODULE_0__ . -includes -( -" -ios -" +useState ) -? -react__WEBPACK_IMPORTED_MODULE_0___default ( +screens ) +; +( +0 +react__WEBPACK_IMPORTED_MODULE_0__ . -createElement +useEffect +) ( -" -li -" -{ -className -: -" -ios -" -} -react__WEBPACK_IMPORTED_MODULE_0___default +function +filterScreen ( ) -. -createElement -( -" -button -" { +if +( +mismatchScreen +& +& +( +appAndSystemLocaleInfo +? +. +matchType +! += += " -data -- -l10n -- -id -" -: -" -spotlight -- -ios -- -marketplace +language - -button -" -value -: -" -ios +mismatch " -onClick -: -props +| +| +negotiatedLanguage +? . -handleAction -} +langPack += += += +null ) ) -: -null -props -. -buttons -. -includes +{ +if ( -" -android -" +screenIndex +> +languageMismatchScreenIndex ) -? -react__WEBPACK_IMPORTED_MODULE_0___default +{ +setScreenIndex ( +screenIndex +- +1 ) -. -createElement -( -" -li -" -{ -className -: -" -android -" +; } -react__WEBPACK_IMPORTED_MODULE_0___default +setLanguageFilteredScreens ( -) +screens . -createElement +filter ( -" -button -" -{ -" -data -- -l10n -- +s += +> +s +. id +! += += " -: -" -spotlight -- -android -- -marketplace -- -button -" -value -: -" -android +AW_LANGUAGE_MISMATCH " -onClick -: -props -. -handleAction -} ) ) -: -null +; +} +else +{ +setLanguageFilteredScreens +( +screens +) +; +} +} +[ +appAndSystemLocaleInfo +? +. +matchType +languageMismatchScreenIndex +negotiatedLanguage +mismatchScreen +screens +setScreenIndex +] ) ; +return +{ +negotiatedLanguage +langPackInstallPhase +languageFilteredScreens } ; -const -MobileDownloads -= +} +function +LanguageSwitcher +( props -= -> +) { const { -QR_code -: -QRCode +content +handleAction +negotiatedLanguage +langPackInstallPhase +messageId } = props -. -data ; const -showEmailLink -= -props -. -data -. -email -& -& -window +[ +isAwaitingLangpack +setIsAwaitingLangpack +] += +( +0 +react__WEBPACK_IMPORTED_MODULE_0__ . -AWSendToDeviceEmailsSupported +useState +) ( +false ) ; -return -react__WEBPACK_IMPORTED_MODULE_0___default ( -) +0 +react__WEBPACK_IMPORTED_MODULE_0__ . -createElement +useEffect +) ( -" -div -" -{ -className -: -" -mobile -- -downloads -" -} -QRCode -? -react__WEBPACK_IMPORTED_MODULE_0___default ( ) -. -createElement += +> +{ +if ( +isAwaitingLangpack +& +& +langPackInstallPhase +! += += " -img +installing " +) { -" -data -- -l10n -- -id -" -: -QRCode -. -alt_text -. -string_id -? -QRCode +window . -alt_text +AWSetRequestedLocales +( +negotiatedLanguage . -string_id +requestSystemLocales +) +; +requestAnimationFrame +( +( +) += +> +{ +handleAction +( +{ +currentTarget : -null -className +{ +value : " -qr -- -code -- -image +download_complete " -alt -: -typeof -QRCode +} +} +) +; +} +) +; +} +} +[ +handleAction +isAwaitingLangpack +langPackInstallPhase +negotiatedLanguage +? . -alt_text +requestSystemLocales +] +) +; +let +showWaitingScreen = +false +; +let +showPreloadingScreen += +false +; +let +showReadyScreen += +false +; +if +( +isAwaitingLangpack +& +& +langPackInstallPhase +! = = " -string +installed " -? -QRCode -. -alt_text -: +) +{ +showWaitingScreen += +true +; +} +else +if +( +langPackInstallPhase += += += " +before +- +installation " -src -: -QRCode -. -image_url -loading -: -_lib_aboutwelcome_utils_mjs__WEBPACK_IMPORTED_MODULE_2__ -. -AboutWelcomeUtils -. -getLoadingStrategyFor -( -QRCode -. -image_url ) +{ +showPreloadingScreen += +true +; } -) -: -null -showEmailLink -? +else +{ +showReadyScreen += +true +; +} +return react__WEBPACK_IMPORTED_MODULE_0___default ( ) @@ -9187,26 +9303,45 @@ createElement " div " -null +{ +className +: +" +action +- +buttons +language +- +switcher +- +container +" +} react__WEBPACK_IMPORTED_MODULE_0___default ( ) . createElement ( -_MSLocalized__WEBPACK_IMPORTED_MODULE_1__ -. -Localized +" +div +" { -text +style : -props -. -data -. -email -. -link_text +{ +display +: +showPreloadingScreen +? +" +block +" +: +" +none +" +} } react__WEBPACK_IMPORTED_MODULE_0___default ( @@ -9221,647 +9356,661 @@ button className : " -email -- -link +primary " value : " -email_link +primary_button " -onClick +disabled : -props -. -handleAction -} -) -) -) +true +type : -null -props -. -data -. -marketplace_buttons -? +" +button +" +} react__WEBPACK_IMPORTED_MODULE_0___default ( ) . createElement ( -MarketplaceButtons +" +img +" { -buttons +className : -props -. -data -. -marketplace_buttons -handleAction +" +language +- +loader +" +src : -props +" +chrome +: +/ +/ +global +/ +skin +/ +icons +/ +loading . -handleAction -} -) +svg +" +alt : -null -) -; -} -; +" +" } ) +react__WEBPACK_IMPORTED_MODULE_0___default ( -( -__unused_webpack_module -__webpack_exports__ -__webpack_require__ ) -= -> -{ -__webpack_require__ . -r +createElement ( -__webpack_exports__ -) -; -__webpack_require__ +_MSLocalized__WEBPACK_IMPORTED_MODULE_1__ . -d -( -__webpack_exports__ +Localized { -MultiSelect +text : -( +content +. +languageSwitcher +. +waiting +} ) -= -> +) +react__WEBPACK_IMPORTED_MODULE_0___default ( -MultiSelect ) +. +createElement +( +" +div +" +{ +className +: +" +secondary +- +cta +" } -) -; -var -react__WEBPACK_IMPORTED_MODULE_0__ -= -__webpack_require__ +react__WEBPACK_IMPORTED_MODULE_0___default ( -1 ) -; -var -react__WEBPACK_IMPORTED_MODULE_0___default -= -__webpack_require__ . -n +createElement ( -react__WEBPACK_IMPORTED_MODULE_0__ -) -; -var _MSLocalized__WEBPACK_IMPORTED_MODULE_1__ -= -__webpack_require__ -( -5 -) -; -const -MULTI_SELECT_STYLES -= -[ . +Localized +{ +text +: +content . +languageSwitcher . -_MSLocalized__WEBPACK_IMPORTED_MODULE_1__ +skip +} +react__WEBPACK_IMPORTED_MODULE_0___default +( +) . -CONFIGURABLE_STYLES -" -flexDirection -" +createElement +( " -flexWrap +button " +{ +value +: " -flexFlow +decline_waiting " +type +: " -flexGrow +button " +className +: " -flexShrink +secondary +text +- +link +arrow +- +icon " +onClick +: +handleAction +} +) +) +) +) +react__WEBPACK_IMPORTED_MODULE_0___default +( +) +. +createElement +( " -justifyContent +div " +{ +style +: +{ +display +: +showWaitingScreen +? " -alignItems +block " +: " -gap +none " -] -; -const -MULTI_SELECT_ICON_STYLES -= -[ -. -. -. -_MSLocalized__WEBPACK_IMPORTED_MODULE_1__ +} +} +react__WEBPACK_IMPORTED_MODULE_0___default +( +) . -CONFIGURABLE_STYLES -" -width +createElement +( " +button " -height +{ +className +: " +primary " -background +value +: " +primary_button " -backgroundColor +disabled +: +true +type +: " +button " -backgroundImage +} +react__WEBPACK_IMPORTED_MODULE_0___default +( +) +. +createElement +( " +img " -backgroundSize -" -" -backgroundPosition -" -" -backgroundRepeat -" -" -backgroundOrigin -" -" -backgroundClip -" -" -border -" -" -borderRadius -" -" -appearance -" -" -fill -" -" -stroke -" +{ +className +: " -outline +language +- +loader " +src +: " -outlineOffset +chrome +: +/ +/ +global +/ +skin +/ +icons +/ +loading +. +svg " +alt +: " -boxShadow " -] -; -function -getValidStyle +} +) +react__WEBPACK_IMPORTED_MODULE_0___default ( -style -validStyles -allowVars ) +. +createElement +( +_MSLocalized__WEBPACK_IMPORTED_MODULE_1__ +. +Localized { -if +text +: +content +. +languageSwitcher +. +downloading +} +) +) +react__WEBPACK_IMPORTED_MODULE_0___default ( -! -style ) +. +createElement +( +" +div +" { -return -null -; +className +: +" +secondary +- +cta +" } -return -Object -. -keys +react__WEBPACK_IMPORTED_MODULE_0___default ( -style ) . -filter +createElement ( -key -= -> -validStyles +_MSLocalized__WEBPACK_IMPORTED_MODULE_1__ . -includes +Localized +{ +text +: +content +. +languageSwitcher +. +cancel +} +react__WEBPACK_IMPORTED_MODULE_0___default ( -key ) -| -| -allowVars -& -& -key . -startsWith +createElement ( " +button +" +{ +type +: +" +button +" +className +: +" +secondary +text - -- +link " -) -) -. -reduce -( +onClick +: ( -obj -key ) = > { -obj -[ -key -] -= -style -[ -key -] -; -return -obj +setIsAwaitingLangpack +( +false +) ; -} +handleAction +( +{ +currentTarget +: { +value +: +" +cancel_waiting +" +} } ) ; } -const -MultiSelect -= -( -{ -content -screenMultiSelects -setScreenMultiSelects -activeMultiSelect -setActiveMultiSelect } ) -= -> -{ -const -{ -data -} -= -content -. -tiles -; -const -refs -= +) +) +) +react__WEBPACK_IMPORTED_MODULE_0___default ( -0 -react__WEBPACK_IMPORTED_MODULE_0__ -. -useRef ) +. +createElement ( +" +div +" { +style +: +{ +display +: +showReadyScreen +? +" +block +" +: +" +none +" } -) -; -const -handleChange -= +} +react__WEBPACK_IMPORTED_MODULE_0___default ( -0 -react__WEBPACK_IMPORTED_MODULE_0__ -. -useCallback ) +. +createElement ( +" +div +" +null +react__WEBPACK_IMPORTED_MODULE_0___default ( ) -= -> -{ -const -newActiveMultiSelect -= -[ -] -; -Object . -keys +createElement ( -refs -. -current -) -. -forEach +" +button +" +{ +className +: +" +primary +" +value +: +" +primary_button +" +onClick +: ( -key +) = > { -if -( -refs +_lib_aboutwelcome_utils_mjs__WEBPACK_IMPORTED_MODULE_2__ . -current -[ -key -] -? +AboutWelcomeUtils . -checked +sendActionTelemetry +( +messageId +" +download_langpack +" ) -{ -newActiveMultiSelect -. -push +; +setIsAwaitingLangpack ( -key +true ) ; } } -) -; -setActiveMultiSelect +content +. +languageSwitcher +. +switch +? +react__WEBPACK_IMPORTED_MODULE_0___default ( -newActiveMultiSelect ) -; +. +createElement +( +_MSLocalized__WEBPACK_IMPORTED_MODULE_1__ +. +Localized +{ +text +: +content +. +languageSwitcher +. +switch } -[ -setActiveMultiSelect -] ) -; -const -items -= -( -0 -react__WEBPACK_IMPORTED_MODULE_0__ +: +negotiatedLanguage +? . -useMemo +langPackDisplayName +) +) +react__WEBPACK_IMPORTED_MODULE_0___default +( ) +. +createElement ( +" +div +" +null +react__WEBPACK_IMPORTED_MODULE_0___default ( ) +. +createElement +( +" +button +" +{ +type +: +" +button +" +className +: +" +primary +" +value +: +" +decline +" +onClick +: +event = > { -function -getOrderedIds +window +. +AWSetRequestedLocales ( +negotiatedLanguage +. +originalAppLocales ) -{ -if +; +handleAction ( -screenMultiSelects +event ) -{ -return -screenMultiSelects ; } -let -orderedIds -= -data +} +content . -map +languageSwitcher +. +continue +? +react__WEBPACK_IMPORTED_MODULE_0___default ( -item -= -> +) +. +createElement ( +_MSLocalized__WEBPACK_IMPORTED_MODULE_1__ +. +Localized { -id +text : -item +content . -id -rank -: -item +languageSwitcher . -randomize +continue +} +) +: +negotiatedLanguage ? -Math . -random -( +appDisplayName ) -: -NaN -} ) ) -. -sort +) +; +} +} +) ( ( -a -b +__unused_webpack_module +__webpack_exports__ +__webpack_require__ ) = > -b -. -rank -- -a +{ +__webpack_require__ . -rank +r +( +__webpack_exports__ ) +; +__webpack_require__ . -map -( +d ( +__webpack_exports__ { -id -} +CTAParagraph +: +( ) = > -id -) -; -setScreenMultiSelects ( -orderedIds +CTAParagraph ) -; -return -orderedIds -; } -return -getOrderedIds +) +; +var +react__WEBPACK_IMPORTED_MODULE_0__ += +__webpack_require__ ( +1 ) +; +var +react__WEBPACK_IMPORTED_MODULE_0___default += +__webpack_require__ . -map -( -id -= -> -data -. -find -( -item -= -> -item -. -id -= -= -= -id -) -) -; -} -[ -] -) -; -const -containerStyle -= +n ( -0 react__WEBPACK_IMPORTED_MODULE_0__ -. -useMemo -) -( -( ) +; +var +_MSLocalized__WEBPACK_IMPORTED_MODULE_1__ = -> -getValidStyle +__webpack_require__ ( -content -. -tiles -. -style -MULTI_SELECT_STYLES -true -) -[ -content -. -tiles -. -style -] +5 ) ; -( -0 -react__WEBPACK_IMPORTED_MODULE_0__ -. -useEffect -) -( -( -) +const +CTAParagraph += +props = > { -if -( -! -activeMultiSelect -) -{ -let -newActiveMultiSelect -= -[ -] -; -items -. -forEach -( -( +const { -id -defaultValue +content +handleAction } -) = -> -{ +props +; if ( -defaultValue -& -& -id -) -{ -newActiveMultiSelect +! +content +? . -push -( -id -) -; -} -} -) -; -setActiveMultiSelect -( -newActiveMultiSelect +text ) +{ +return +null ; } -} -[ -] -) -; return react__WEBPACK_IMPORTED_MODULE_0___default ( @@ -9870,78 +10019,17 @@ react__WEBPACK_IMPORTED_MODULE_0___default createElement ( " -div +h2 " { className : " -multi -- -select -- -container -" -style -: -containerStyle -role -: -items -. -some -( -( -{ -type -group -} -) -= -> -type -= -= -= -" -radio -" -& -& -group -) -? -" -radiogroup -" -: -" -group -" -" -aria -- -labelledby -" -: -" -multi -- -stage -- -multi -- -select +cta - -label +paragraph " } -content -. -tiles -. -label -? react__WEBPACK_IMPORTED_MODULE_0___default ( ) @@ -9956,10 +10044,24 @@ text : content . -tiles -. -label +text } +content +. +text +. +string_name +& +& +typeof +handleAction += += += +" +function +" +? react__WEBPACK_IMPORTED_MODULE_0___default ( ) @@ -9967,232 +10069,110 @@ react__WEBPACK_IMPORTED_MODULE_0___default createElement ( " -h2 +span " { -id -: " -multi -- -stage -- -multi +data - -select +l10n - -label +id " -} -) -) : -null -items +content . -map -( -( -{ -id -label -description -icon -type -= -" -checkbox -" -group -style -} -) +text +. +string_id +onClick +: +handleAction +onKeyUp +: +event = > -react__WEBPACK_IMPORTED_MODULE_0___default -( -) -. -createElement -( -" -div -" -{ -key -: -id -+ -label -className -: +[ " -checkbox -- -container -multi -- -select -- -item +Enter " -style -: -getValidStyle -( -style -MULTI_SELECT_STYLES -) -} -react__WEBPACK_IMPORTED_MODULE_0___default -( -) -. -createElement -( " -input " -{ -type -: -type -id -: -id -value -: -id -name -: -group -checked -: -activeMultiSelect -? +] . includes ( -id +event +. +key ) -style -: -getValidStyle -( -icon ? -. -style -MULTI_SELECT_ICON_STYLES +handleAction +( +event ) -onChange : -handleChange -ref +null +value : -el -= -> -refs -. -current -[ -id -] -= -el " -aria -- -describedby +cta_paragraph " +tabIndex : -description -? -{ -id -} -- -description +" +0 +" +role : -null +" +link +" } -) -label -? +" +" react__WEBPACK_IMPORTED_MODULE_0___default ( ) . createElement ( -_MSLocalized__WEBPACK_IMPORTED_MODULE_1__ -. -Localized +" +a +" { -text +href : -label -} -react__WEBPACK_IMPORTED_MODULE_0___default -( -) -. -createElement -( " -label " -{ -htmlFor +tabIndex : -id -} -) -) +" +0 +" +" +data +- +l10n +- +name +" : -null -description -? -react__WEBPACK_IMPORTED_MODULE_0___default -( -) -. -createElement -( -_MSLocalized__WEBPACK_IMPORTED_MODULE_1__ +content . -Localized -{ text -: -description -} -react__WEBPACK_IMPORTED_MODULE_0___default -( -) . -createElement -( +string_name +} " -p " -{ -id -: -{ -id -} -- -description -} ) ) : null ) ) -) ; } ; @@ -10220,14 +10200,14 @@ d ( __webpack_exports__ { -SingleSelect +HeroImage : ( ) = > ( -SingleSelect +HeroImage ) } ) @@ -10251,298 +10231,200 @@ react__WEBPACK_IMPORTED_MODULE_0__ ) ; var -_MSLocalized__WEBPACK_IMPORTED_MODULE_1__ +_lib_aboutwelcome_utils_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__ ( -5 +3 ) ; const -SingleSelect +HeroImage = -( -{ -activeSingleSelect -activeTheme -content -handleAction -setActiveSingleSelect -} -) +props = > { const -category +{ +height +url +alt +} = -content -. -tiles -? -. -category -? -. -type -| -| -content -. -tiles -? -. -type +props ; -const -isSingleSelect -= -category -= -= -= -" -single -- -select -" +if +( +! +url +) +{ +return +null ; -const -autoTriggerAllowed -= -itemAction -= -> -{ -const -allowedActions -= -[ -" -SET_PREF -" -] -; -const -allowedPrefs -= -[ -" -sidebar +} +return +react__WEBPACK_IMPORTED_MODULE_0___default +( +) . -revamp -" +createElement +( " -sidebar -. -verticalTabs +div " +{ +className +: " -sidebar -. -visibility +hero +- +image " -] -; -const -checkAction -= -action -= -> -{ -if +} +react__WEBPACK_IMPORTED_MODULE_0___default ( -! -allowedActions +) . -includes +createElement ( -action -. -type -) -) +" +img +" { -return -false -; +style +: +height +? +{ +height } -if -( -action +: +null +src +: +url +loading +: +_lib_aboutwelcome_utils_mjs__WEBPACK_IMPORTED_MODULE_1__ . -type -= -= -= -" -SET_PREF -" -& -& -! -allowedPrefs +AboutWelcomeUtils . -includes +getLoadingStrategyFor ( -action -. -data +url +) +alt +: +alt +| +| +" +" +role +: +alt ? -. -pref -. -name +null +: +" +presentation +" +} ) ) -{ -return -false ; } -return -true ; } -; -if +) ( -itemAction -. -type -= -= -= -" -MULTI_ACTION -" +( +__unused_webpack_module +__webpack_exports__ +__webpack_require__ ) += +> { -return -! -itemAction -. -data +__webpack_require__ . -actions +r +( +__webpack_exports__ +) +; +__webpack_require__ . -some +d ( -action +__webpack_exports__ +{ +OnboardingVideo +: +( +) = > -! -checkAction ( -action +OnboardingVideo ) +} ) ; -} -return -checkAction +var +react__WEBPACK_IMPORTED_MODULE_0__ += +__webpack_require__ ( -itemAction +1 ) ; -} -; -( -0 -react__WEBPACK_IMPORTED_MODULE_0__ +var +react__WEBPACK_IMPORTED_MODULE_0___default += +__webpack_require__ . -useEffect -) -( +n ( +react__WEBPACK_IMPORTED_MODULE_0__ ) +; +const +OnboardingVideo += +props = > { -if -( -isSingleSelect -& -& -! -activeSingleSelect -) -{ -let -newActiveSingleSelect +const +vidUrl = -content -. -tiles -? +props . -selected -| -| content . -tiles -? +video_url +; +const +autoplay += +props . -data -[ -0 -] +content . -id -; -setActiveSingleSelect -( -newActiveSingleSelect -) +autoPlay ; -let -selectedTile +const +handleVideoAction = -content +event += +> +{ +props . -tiles -? -. -data -. -find -( -opt -= -> -opt -. -id -= -= -= -newActiveSingleSelect -) -; -if -( -isSingleSelect -& -& -content -. -tiles -? -. -autoTrigger -& -& -autoTriggerAllowed -( -selectedTile -? -. -action -) -) -{ handleAction ( { @@ -10551,143 +10433,78 @@ currentTarget { value : -selectedTile -. -id +event } } ) ; } -} -} -[ -] -) ; -const -getIconStyles -= +return +react__WEBPACK_IMPORTED_MODULE_0___default ( -icon -= -{ -} ) -= -> -{ -const -CONFIGURABLE_STYLES -= -[ -" -background -" -" -borderRadius -" -" -height -" -" -marginBlock -" +. +createElement +( " -marginInline +div " +null +react__WEBPACK_IMPORTED_MODULE_0___default +( +) +. +createElement +( " -paddingBlock +video " +{ +controls +: +true +autoPlay +: +autoplay +src +: +vidUrl +width +: " -paddingInline +604px " +height +: " -width +340px " -] -; -let -styles -= -{ -} -; -Object -. -keys +onPlay +: ( -icon ) -. -forEach -( -styleProp = > -{ -if -( -CONFIGURABLE_STYLES -. -includes -( -styleProp -) -) -{ -styles -[ -styleProp -] -= -icon -[ -styleProp -] -; -} -} -) -; -return -styles -; -} -; -return -react__WEBPACK_IMPORTED_MODULE_0___default -( -) -. -createElement +handleVideoAction ( " -div +video_start " -{ -className +) +onEnded : -" -tiles -- -single -- -select -- -container -" -} -react__WEBPACK_IMPORTED_MODULE_0___default ( ) -. -createElement += +> +handleVideoAction ( " -div +video_end " -null +) +} react__WEBPACK_IMPORTED_MODULE_0___default ( ) @@ -10695,239 +10512,200 @@ react__WEBPACK_IMPORTED_MODULE_0___default createElement ( " -fieldset +source " { -className +src : -tiles -- -single -- -select -- -section -{ -category +vidUrl +} +) +) +) +; } +; } -react__WEBPACK_IMPORTED_MODULE_0___default -( ) -. -createElement ( -_MSLocalized__WEBPACK_IMPORTED_MODULE_1__ -. -Localized +( +__unused_webpack_module +__webpack_exports__ +__webpack_require__ +) += +> { -text -: -content +__webpack_require__ . -subtitle -} -react__WEBPACK_IMPORTED_MODULE_0___default +r ( +__webpack_exports__ ) +; +__webpack_require__ . -createElement +d ( -" -legend -" +__webpack_exports__ { -className +AdditionalCTA : -" -sr -- -only -" +( +) += +> +( +AdditionalCTA +) } ) +; +var +react__WEBPACK_IMPORTED_MODULE_0__ += +__webpack_require__ +( +1 ) -content -. -tiles -. -data +; +var +react__WEBPACK_IMPORTED_MODULE_0___default += +__webpack_require__ . -map +n ( +react__WEBPACK_IMPORTED_MODULE_0__ +) +; +var +_MSLocalized__WEBPACK_IMPORTED_MODULE_1__ += +__webpack_require__ ( -{ -description -icon -id -label +5 +) +; +var +_SubmenuButton__WEBPACK_IMPORTED_MODULE_2__ = -" -" -theme -tooltip -type +__webpack_require__ +( +12 +) +; +const +AdditionalCTA = -" -" -flair +( +{ +content +handleAction } ) = > { -const -value -= -id -| -| -theme -; let -inputName +buttonStyle = " -select -- -item " ; -if -( -! -isSingleSelect -) -{ -inputName +const +isSplitButton = -category +content +. +submenu_button +? +. +attached_to = = = " -theme -" -? -" -theme +additional_button " -: -id -; -} -const -selected -= -theme -& -& -theme -= -= -= -activeTheme -| -| -isSingleSelect -& -& -activeSingleSelect -= -= -= -value ; -const -valOrObj -= -val -= -> -typeof -val -= -= +let +className = " -object +additional +- +cta +- +box " -? -val -: -{ -} ; -const -handleClick -= -evt -= -> -{ if ( -isSingleSelect +isSplitButton ) { -setActiveSingleSelect -( -value -) +className ++ += +" +split +- +button +- +container +" ; } -handleAction +if ( -evt +! +content +. +additional_button +? +. +style ) +{ +buttonStyle += +" +primary +" ; } -; -const -handleKeyDown -= -evt -= -> +else { -if -( -evt +buttonStyle += +content . -key +additional_button +? +. +style = = = " -Enter +link " -| -| -evt -. -keyCode -= -= -= -13 -) -{ -evt +? +" +cta +- +link +" +: +content . -currentTarget +additional_button +? . -value -= -value -; -handleClick -( -evt -) +style ; } -} -; return react__WEBPACK_IMPORTED_MODULE_0___default ( @@ -10935,28 +10713,13 @@ react__WEBPACK_IMPORTED_MODULE_0___default . createElement ( -_MSLocalized__WEBPACK_IMPORTED_MODULE_1__ -. -Localized -{ -key -: -value -+ -( -isSingleSelect -? " +div " +{ +className : -label -) -text -: -valOrObj -( -tooltip -) +className } react__WEBPACK_IMPORTED_MODULE_0___default ( @@ -10964,68 +10727,18 @@ react__WEBPACK_IMPORTED_MODULE_0___default . createElement ( -" -label -" +_MSLocalized__WEBPACK_IMPORTED_MODULE_1__ +. +Localized { -className +text : -select -- -item -{ -type -} -title -: -value -onKeyDown -: -e -= -> -handleKeyDown -( -e -) -style -: -icon -? -. -width -? -{ -minWidth -: -icon +content . -width -} -: -{ -} -} -flair +additional_button ? -react__WEBPACK_IMPORTED_MODULE_0___default -( -) -. -createElement -( -_MSLocalized__WEBPACK_IMPORTED_MODULE_1__ -. -Localized -{ -text -: -valOrObj -( -flair . -text -) +label } react__WEBPACK_IMPORTED_MODULE_0___default ( @@ -11034,154 +10747,62 @@ react__WEBPACK_IMPORTED_MODULE_0___default createElement ( " -span +button " { className : -" -flair -" -} -) -) -: -" -" -react__WEBPACK_IMPORTED_MODULE_0___default -( -) -. -createElement -( -_MSLocalized__WEBPACK_IMPORTED_MODULE_1__ -. -Localized { -text -: -valOrObj -( -description -) +buttonStyle } -react__WEBPACK_IMPORTED_MODULE_0___default -( -) -. -createElement -( -" -input -" -{ -type -: -" -radio -" -value +additional +- +cta +onClick : +handleAction value -name -: -inputName -checked -: -selected -className : " -sr -- -only -input +additional_button " -onClick +disabled : -e -= -> -handleClick -( -e -) -} -) -) -react__WEBPACK_IMPORTED_MODULE_0___default -( -) +content . -createElement -( -" -div -" -{ -className -: -icon -{ -selected +additional_button ? -" -selected -" -: -" -" -} -{ -value +. +disabled += += += +true } -style -: -getIconStyles -( -icon ) -} ) +isSplitButton +? react__WEBPACK_IMPORTED_MODULE_0___default ( ) . createElement ( -_MSLocalized__WEBPACK_IMPORTED_MODULE_1__ +_SubmenuButton__WEBPACK_IMPORTED_MODULE_2__ . -Localized +SubmenuButton { -text +content : -label -} -react__WEBPACK_IMPORTED_MODULE_0___default -( -) -. -createElement -( -" -div -" -{ -className +content +handleAction : -" -text -" -} -) -) -) -) -; +handleAction } ) -) -) +: +null ) ; } @@ -11210,23 +10831,14 @@ d ( __webpack_exports__ { -LanguageSwitcher -: -( -) -= -> -( -LanguageSwitcher -) -useLanguageSwitcher +SubmenuButton : ( ) = > ( -useLanguageSwitcher +SubmenuButton ) } ) @@ -11257,776 +10869,788 @@ __webpack_require__ 5 ) ; -var -_lib_aboutwelcome_utils_mjs__WEBPACK_IMPORTED_MODULE_2__ +const +SubmenuButton = -__webpack_require__ +props += +> +{ +return +document +. +createXULElement +? +react__WEBPACK_IMPORTED_MODULE_0___default ( -3 ) +. +createElement +( +SubmenuButtonInner +props +) +: +null +; +} ; function -useLanguageSwitcher +translateMenuitem ( -appAndSystemLocaleInfo -screens -screenIndex -setScreenIndex +item +element ) { -const -languageMismatchScreenIndex +let +{ +label +} = -screens -. -findIndex -( -( -{ -id -} -) -= -> -id -= -= -= -" -AW_LANGUAGE_MISMATCH -" -) -; -const -mismatchScreen -= -screens -[ -languageMismatchScreenIndex -] +item ; +if ( -0 -react__WEBPACK_IMPORTED_MODULE_0__ -. -useEffect -) -( -( +! +label ) -= -> { +return +; +} if ( -mismatchScreen -? -. -content -? +label . -languageSwitcher +raw ) { -for -( -const -text -of -Object +element . -values +setAttribute ( -mismatchScreen -. -content +" +label +" +label . -languageSwitcher -) +raw ) -{ +; +} if ( -text -? -. -args -& -& -text -. -args +label . -negotiatedLanguage -= -= -= -undefined +access_key ) { -text -. -args +element . -negotiatedLanguage -= +setAttribute +( " +accesskey " -; -} -} -} -} -[ -mismatchScreen -] +label +. +access_key ) ; -const -[ -negotiatedLanguage -setNegotiatedLanguage -] -= +} +if ( -0 -react__WEBPACK_IMPORTED_MODULE_0__ +label . -useState +aria_label ) +{ +element +. +setAttribute ( -null +" +aria +- +label +" +label +. +aria_label ) ; +} +if ( -0 -react__WEBPACK_IMPORTED_MODULE_0__ +label . -useEffect -) -( -function -getNegotiatedLanguage -( +tooltip_text ) { -if +element +. +setAttribute ( -! -appAndSystemLocaleInfo +" +tooltiptext +" +label +. +tooltip_text ) -{ -return ; } if ( -appAndSystemLocaleInfo +label . -matchType -! -= -= +string_id +) +{ +element +. +setAttribute +( " -language +data - -mismatch +l10n +- +id " +label +. +string_id ) -{ -return ; -} -( -async +if ( +label +. +args ) -= -> { -const -{ -langPack -langPackDisplayName -} -= -await -window +element . -AWNegotiateLangPackForLanguageMismatch +setAttribute ( -appAndSystemLocaleInfo +" +data +- +l10n +- +args +" +JSON +. +stringify +( +label +. +args +) ) ; -if +} +} +} +function +addMenuitems ( -langPack +items +popup ) { -setNegotiatedLanguage +for ( +let +item +of +items +) { -langPackDisplayName -appDisplayName +switch +( +item +. +type +) +{ +case +" +separator +" : -appAndSystemLocaleInfo +popup . -displayNames +appendChild +( +document . -appLanguage -langPack -requestSystemLocales -: -[ -langPack -. -target_locale -appAndSystemLocaleInfo -. -appLocaleRaw -] -originalAppLocales -: -[ -appAndSystemLocaleInfo -. -appLocaleRaw -] -} -) -; -} -else -{ -setNegotiatedLanguage +createXULElement ( -{ -langPackDisplayName -: -null -appDisplayName -: -null -langPack -: -null -requestSystemLocales -: -null -} -) -; -} -} +" +menuseparator +" ) -( ) ; -} -[ -appAndSystemLocaleInfo -] -) +break ; -const -[ -langPackInstallPhase -setLangPackInstallPhase -] +case +" +menu +" +: +let +menu = -( -0 -react__WEBPACK_IMPORTED_MODULE_0__ +document . -useState -) +createXULElement ( " -before -- -installation +menu " ) ; -( -0 -react__WEBPACK_IMPORTED_MODULE_0__ +menu . -useEffect -) -( -function -ensureLangPackInstalled +className += +" +fxms +- +multi +- +stage +- +menu +" +; +translateMenuitem ( +item +menu ) -{ +; if ( -! -negotiatedLanguage +item +. +id ) { -return +menu +. +value += +item +. +id ; } -setLangPackInstallPhase +if +( +item +. +icon +) +{ +menu +. +classList +. +add ( " -installing +menu +- +iconic " ) ; -window +menu . -AWEnsureLangPackInstalled +setAttribute ( -negotiatedLanguage -mismatchScreen -? +" +image +" +item . -content +icon ) +; +} +popup . -then +appendChild ( -content +menu +) +; +let +submenuPopup = -> -{ -mismatchScreen +document . -content -= -content -; -setLangPackInstallPhase +createXULElement ( " -installed +menupopup " ) ; -} -error -= -> -{ -console +menu . -error +appendChild ( -error +submenuPopup ) ; -setLangPackInstallPhase +addMenuitems ( -" -installation -- -error -" -) -; -} +item +. +submenu +submenuPopup ) ; -} -[ -negotiatedLanguage -mismatchScreen -] -) +break ; -const -[ -languageFilteredScreens -setLanguageFilteredScreens -] +case +" +action +" +: +let +menuitem = -( -0 -react__WEBPACK_IMPORTED_MODULE_0__ +document . -useState -) +createXULElement ( -screens +" +menuitem +" ) ; +translateMenuitem ( -0 -react__WEBPACK_IMPORTED_MODULE_0__ -. -useEffect +item +menuitem ) +; +menuitem +. +config += +item +; +if ( -function -filterScreen -( +item +. +id ) { -if -( -mismatchScreen -& -& -( -appAndSystemLocaleInfo -? +menuitem . -matchType -! +value = -= -" -language -- -mismatch -" -| -| -negotiatedLanguage -? +item . -langPack -= -= -= -null -) -) -{ +id +; +} if ( -screenIndex -> -languageMismatchScreenIndex +item +. +icon ) { -setScreenIndex +menuitem +. +classList +. +add ( -screenIndex +" +menuitem - -1 +iconic +" ) ; -} -setLanguageFilteredScreens -( -screens +menuitem . -filter +setAttribute ( -s -= -> -s -. -id -! -= -= " -AW_LANGUAGE_MISMATCH +image " -) +item +. +icon ) ; } -else -{ -setLanguageFilteredScreens +popup +. +appendChild ( -screens +menuitem ) ; -} -} -[ -appAndSystemLocaleInfo -? -. -matchType -languageMismatchScreenIndex -negotiatedLanguage -mismatchScreen -screens -setScreenIndex -] -) +break ; -return -{ -negotiatedLanguage -langPackInstallPhase -languageFilteredScreens } -; } -function -LanguageSwitcher -( -props -) -{ +} const +SubmenuButtonInner += +( { content handleAction -negotiatedLanguage -langPackInstallPhase -messageId } +) = -props -; +> +{ const -[ -isAwaitingLangpack -setIsAwaitingLangpack -] +ref = ( 0 react__WEBPACK_IMPORTED_MODULE_0__ . -useState +useRef ) ( -false +null ) ; -( -0 -react__WEBPACK_IMPORTED_MODULE_0__ +const +isPrimary += +content . -useEffect -) -( -( -) +submenu_button +? +. +style = -> -{ -if -( -isAwaitingLangpack -& -& -langPackInstallPhase -! = = " -installing +primary " -) -{ -window -. -AWSetRequestedLocales +; +const +onCommand += ( -negotiatedLanguage +0 +react__WEBPACK_IMPORTED_MODULE_0__ . -requestSystemLocales +useCallback ) -; -requestAnimationFrame -( ( -) +event = > { -handleAction -( +let +{ +config +} += +event +. +target +; +let +mockEvent += { currentTarget : -{ -value +ref +. +current +source +: +config +. +id +name : " -download_complete +command " +action +: +config +. +action } -} -) ; -} +handleAction +( +mockEvent ) ; } -} [ handleAction -isAwaitingLangpack -langPackInstallPhase -negotiatedLanguage -? -. -requestSystemLocales ] ) ; -let -showWaitingScreen +const +onClick = -false -; +( +0 +react__WEBPACK_IMPORTED_MODULE_0__ +. +useCallback +) +( +( +) += +> +{ let -showPreloadingScreen +button = -false +ref +. +current ; let -showReadyScreen +submenu = -false +button +? +. +querySelector +( +" +. +fxms +- +multi +- +stage +- +submenu +" +) ; if ( -isAwaitingLangpack +submenu & & -langPackInstallPhase ! -= -= +button +. +hasAttribute +( " -installed +open " ) +) { -showWaitingScreen -= -true +submenu +. +openPopup +( +button +{ +position +: +" +after_end +" +} +) ; } -else -if +} +[ +] +) +; ( -langPackInstallPhase -= +0 +react__WEBPACK_IMPORTED_MODULE_0__ +. +useEffect +) +( +( +) = +> +{ +let +button = +ref +. +current +; +if +( +! +button +| +| +button +. +querySelector +( " -before +. +fxms - -installation +multi +- +stage +- +submenu " ) +) { -showPreloadingScreen -= -true +return +null ; } -else -{ -showReadyScreen +let +menupopup = -true -; -} -return -react__WEBPACK_IMPORTED_MODULE_0___default -( -) +document . -createElement +createXULElement ( " -div +menupopup " -{ +) +; +menupopup +. className -: += " -action +fxms - -buttons -language +multi - -switcher +stage - -container +submenu " -} -react__WEBPACK_IMPORTED_MODULE_0___default +; +addMenuitems ( +content +. +submenu_button +. +submenu +menupopup ) +; +button . -createElement -( -" -div -" -{ -style -: -{ -display -: -showPreloadingScreen -? -" -block -" -: -" -none -" -} -} -react__WEBPACK_IMPORTED_MODULE_0___default +appendChild ( +menupopup ) +; +let +stylesheet +; +if +( +! +document . -createElement +head +. +querySelector ( +link +[ +href += " -button -" -{ -className -: -" -primary -" -value +chrome : +/ +/ +global +/ +content +/ +widgets +. +css " -primary_button +] +link +[ +href += " -disabled -: -true -type +chrome : +/ +/ +global +/ +skin +/ +global +. +css " -button -" -} -react__WEBPACK_IMPORTED_MODULE_0___default -( +] +) ) +{ +stylesheet += +document . createElement ( " -img +link " -{ -className -: +) +; +stylesheet +. +rel += " -language -- -loader +stylesheet " -src -: +; +stylesheet +. +href += " chrome : @@ -12034,58 +11658,171 @@ chrome / global / -skin -/ -icons +content / -loading +widgets . -svg -" -alt -: -" +css " -} -) -react__WEBPACK_IMPORTED_MODULE_0___default -( -) +; +document . -createElement -( -_MSLocalized__WEBPACK_IMPORTED_MODULE_1__ +head . -Localized -{ -text -: -content +appendChild +( +stylesheet +) +; +} +if +( +! +menupopup . -languageSwitcher +listenersRegistered +) +{ +menupopup . -waiting -} +addEventListener +( +" +command +" +onCommand ) +; +menupopup +. +addEventListener +( +" +popupshowing +" +event += +> +{ +if +( +event +. +target += += += +menupopup +& +& +event +. +target +. +anchorNode ) -react__WEBPACK_IMPORTED_MODULE_0___default +{ +event +. +target +. +anchorNode +. +toggleAttribute ( +" +open +" +true +) +; +} +} ) +; +menupopup . -createElement +addEventListener ( " -div +popuphiding " +event += +> { -className -: +if +( +event +. +target += += += +menupopup +& +& +event +. +target +. +anchorNode +) +{ +event +. +target +. +anchorNode +. +toggleAttribute +( " -secondary -- -cta +open " +false +) +; +} +} +) +; +menupopup +. +listenersRegistered += +true +; +} +return +( +) += +> +{ +menupopup +? +. +remove +( +) +; +stylesheet +? +. +remove +( +) +; +} +; } +[ +onCommand +] +) +; +return react__WEBPACK_IMPORTED_MODULE_0___default ( ) @@ -12100,9 +11837,13 @@ text : content . -languageSwitcher +submenu_button . -skip +label +? +? +{ +} } react__WEBPACK_IMPORTED_MODULE_0___default ( @@ -12114,168 +11855,212 @@ createElement button " { -value +className : +submenu +- +button +{ +isPrimary +? " -decline_waiting +primary " -type : " -button +secondary " -className +} +value : " -secondary -text -- -link -arrow -- -icon +submenu_button " onClick : -handleAction +onClick +ref +: +ref } ) ) +; +} +; +} ) +( +( +__unused_webpack_module +__webpack_exports__ +__webpack_require__ ) -react__WEBPACK_IMPORTED_MODULE_0___default += +> +{ +__webpack_require__ +. +r ( +__webpack_exports__ ) +; +__webpack_require__ . -createElement +d ( -" -div -" -{ -style -: +__webpack_exports__ { -display -: -showWaitingScreen -? -" -block -" +LinkParagraph : -" -none -" -} +( +) += +> +( +LinkParagraph +) } -react__WEBPACK_IMPORTED_MODULE_0___default +) +; +var +react__WEBPACK_IMPORTED_MODULE_0__ += +__webpack_require__ ( +1 ) +; +var +react__WEBPACK_IMPORTED_MODULE_0___default += +__webpack_require__ . -createElement +n ( -" -button -" +react__WEBPACK_IMPORTED_MODULE_0__ +) +; +var +_MSLocalized__WEBPACK_IMPORTED_MODULE_1__ += +__webpack_require__ +( +5 +) +; +const +LinkParagraph += +props += +> { -className -: -" -primary -" -value -: -" -primary_button -" -disabled -: -true -type -: -" -button -" +const +{ +text_content +handleAction } -react__WEBPACK_IMPORTED_MODULE_0___default += +props +; +const +handleParagraphAction += ( -) +0 +react__WEBPACK_IMPORTED_MODULE_0__ . -createElement +useCallback +) ( -" -img -" +event += +> { -className -: -" -language -- -loader -" -src -: -" -chrome -: -/ -/ -global -/ -skin -/ -icons -/ -loading +if +( +event . -svg -" -alt -: +target +. +closest +( " +a " -} ) -react__WEBPACK_IMPORTED_MODULE_0___default -( ) -. -createElement +{ +handleAction ( -_MSLocalized__WEBPACK_IMPORTED_MODULE_1__ -. -Localized { -text -: -content . -languageSwitcher . -downloading +. +event +currentTarget +: +event +. +target } ) +; +} +} +[ +handleAction +] ) -react__WEBPACK_IMPORTED_MODULE_0___default +; +const +onKeyPress += ( -) +0 +react__WEBPACK_IMPORTED_MODULE_0__ . -createElement +useCallback +) ( -" -div -" +event += +> { -className -: +if +( +event +. +key += += += " -secondary -- -cta +Enter " +& +& +! +event +. +repeat +) +{ +handleParagraphAction +( +event +) +; } +} +[ +handleParagraphAction +] +) +; +return react__WEBPACK_IMPORTED_MODULE_0___default ( ) @@ -12288,11 +12073,9 @@ Localized { text : -content -. -languageSwitcher +text_content . -cancel +text } react__WEBPACK_IMPORTED_MODULE_0___default ( @@ -12301,55 +12084,54 @@ react__WEBPACK_IMPORTED_MODULE_0___default createElement ( " -button +p " { -type +className : +text_content +. +font_styles += += += " -button +legal " -className -: +? " -secondary -text +legal - +paragraph +" +: +" link +- +paragraph " onClick : -( -) -= -> -{ -setIsAwaitingLangpack -( -false -) -; -handleAction -( -{ -currentTarget -: -{ +handleParagraphAction value : " -cancel_waiting +link_paragraph " +onKeyPress +: +onKeyPress } -} -) -; -} -} -) -) -) -) +text_content +. +link_keys +? +. +map +( +link += +> react__WEBPACK_IMPORTED_MODULE_0___default ( ) @@ -12357,206 +12139,51 @@ react__WEBPACK_IMPORTED_MODULE_0___default createElement ( " -div +a " { -style +key : -{ -display +link +value +: +link +role : -showReadyScreen -? " -block -" -: -" -none -" -} -} -react__WEBPACK_IMPORTED_MODULE_0___default -( -) -. -createElement -( -" -div -" -null -react__WEBPACK_IMPORTED_MODULE_0___default -( -) -. -createElement -( -" -button +link " -{ className : " -primary -" -value -: -" -primary_button -" -onClick -: -( -) -= -> -{ -_lib_aboutwelcome_utils_mjs__WEBPACK_IMPORTED_MODULE_2__ -. -AboutWelcomeUtils -. -sendActionTelemetry -( -messageId -" -download_langpack -" -) -; -setIsAwaitingLangpack -( -true -) -; -} -} -content -. -languageSwitcher -. -switch -? -react__WEBPACK_IMPORTED_MODULE_0___default -( -) -. -createElement -( -_MSLocalized__WEBPACK_IMPORTED_MODULE_1__ -. -Localized -{ text -: -content -. -languageSwitcher -. -switch -} -) -: -negotiatedLanguage -? -. -langPackDisplayName -) -) -react__WEBPACK_IMPORTED_MODULE_0___default -( -) -. -createElement -( -" -div +- +link " -null -react__WEBPACK_IMPORTED_MODULE_0___default -( -) -. -createElement -( " -button +data +- +l10n +- +name " -{ -type : -" -button -" -className +link +tabIndex : " -primary +0 " -value -: +} " -decline " -onClick -: -event -= -> -{ -window -. -AWSetRequestedLocales -( -negotiatedLanguage -. -originalAppLocales -) -; -handleAction -( -event -) -; -} -} -content -. -languageSwitcher -. -continue -? -react__WEBPACK_IMPORTED_MODULE_0___default -( -) -. -createElement -( -_MSLocalized__WEBPACK_IMPORTED_MODULE_1__ -. -Localized -{ -text -: -content -. -languageSwitcher -. -continue -} -) -: -negotiatedLanguage -? -. -appDisplayName ) ) ) ) ; } +; } ) ( @@ -12581,14 +12208,14 @@ d ( __webpack_exports__ { -CTAParagraph +ContentTiles : ( ) = > ( -CTAParagraph +ContentTiles ) } ) @@ -12619,462 +12246,239 @@ __webpack_require__ 5 ) ; -const -CTAParagraph -= -props -= -> -{ -const -{ -content -handleAction -} +var +_AddonsPicker__WEBPACK_IMPORTED_MODULE_2__ = -props +__webpack_require__ +( +15 +) ; -if +var +_SingleSelect__WEBPACK_IMPORTED_MODULE_3__ += +__webpack_require__ ( -! -content -? -. -text +16 ) -{ -return -null ; -} -return -react__WEBPACK_IMPORTED_MODULE_0___default +var +_MobileDownloads__WEBPACK_IMPORTED_MODULE_4__ += +__webpack_require__ ( +17 ) -. -createElement +; +var +_MultiSelect__WEBPACK_IMPORTED_MODULE_5__ += +__webpack_require__ ( -" -h2 -" -{ -className -: -" -cta -- -paragraph -" -} -react__WEBPACK_IMPORTED_MODULE_0___default +18 +) +; +var +_EmbeddedMigrationWizard__WEBPACK_IMPORTED_MODULE_6__ += +__webpack_require__ ( +19 ) -. -createElement -( -_MSLocalized__WEBPACK_IMPORTED_MODULE_1__ -. -Localized -{ -text -: -content -. -text -} -content -. -text -. -string_name -& -& -typeof -handleAction -= -= -= -" -function -" -? -react__WEBPACK_IMPORTED_MODULE_0___default +; +var +_ActionChecklist__WEBPACK_IMPORTED_MODULE_7__ += +__webpack_require__ ( +20 ) -. -createElement -( -" -span -" -{ -" -data -- -l10n -- -id -" -: -content -. -text -. -string_id -onClick -: -handleAction -onKeyUp -: -event +; +var +_EmbeddedBrowser__WEBPACK_IMPORTED_MODULE_8__ = -> -[ -" -Enter -" -" -" -] -. -includes +__webpack_require__ ( -event -. -key +21 ) -? -handleAction +; +var +_lib_aboutwelcome_utils_mjs__WEBPACK_IMPORTED_MODULE_9__ += +__webpack_require__ ( -event +3 ) -: -null -value -: -" -cta_paragraph -" -tabIndex -: -" -0 -" -role -: -" -link -" -} +; +const +HEADER_STYLES += +[ " +backgroundColor " -react__WEBPACK_IMPORTED_MODULE_0___default -( -) -. -createElement -( " -a +border " -{ -href -: " +padding " -tabIndex -: " -0 +margin " " -data -- -l10n -- -name +width " -: -content -. -text -. -string_name -} " +height " -) -) -: -null -) -) -; -} +] ; -} -) -( -( -__unused_webpack_module -__webpack_exports__ -__webpack_require__ -) +const +ContentTiles += +props = > { -__webpack_require__ -. -r -( -__webpack_exports__ -) -; -__webpack_require__ -. -d -( -__webpack_exports__ +const { -HeroImage -: -( -) -= -> -( -HeroImage -) +content } -) -; -var -react__WEBPACK_IMPORTED_MODULE_0__ = -__webpack_require__ -( -1 -) +props ; -var -react__WEBPACK_IMPORTED_MODULE_0___default +const +[ +expandedTileIndex +setExpandedTileIndex +] = -__webpack_require__ -. -n ( +0 react__WEBPACK_IMPORTED_MODULE_0__ +. +useState ) -; -var -_lib_aboutwelcome_utils_mjs__WEBPACK_IMPORTED_MODULE_1__ -= -__webpack_require__ ( -3 +null ) ; const -HeroImage -= -props -= -> -{ -const { -height -url -alt +tiles } = -props +content ; if ( ! -url +tiles ) { return null ; } -return -react__WEBPACK_IMPORTED_MODULE_0___default +const +toggleTile += ( +index +tile ) += +> +{ +const +tileId += +{ +tile . -createElement -( +type +} +{ +tile +. +id +? " -div +_ " -{ -className : " -hero -- -image " } -react__WEBPACK_IMPORTED_MODULE_0___default -( -) +{ +tile . -createElement -( +id +? +? " -img " -{ -style -: -height -? -{ -height } -: -null -src -: -url -loading -: -_lib_aboutwelcome_utils_mjs__WEBPACK_IMPORTED_MODULE_1__ -. -AboutWelcomeUtils -. -getLoadingStrategyFor +_header +; +setExpandedTileIndex ( -url -) -alt -: -alt -| -| -" -" -role -: -alt +prevIndex += +> +prevIndex += += += +index ? null : -" -presentation -" -} -) +index ) ; -} -; -} -) -( -( -__unused_webpack_module -__webpack_exports__ -__webpack_require__ -) -= -> -{ -__webpack_require__ +_lib_aboutwelcome_utils_mjs__WEBPACK_IMPORTED_MODULE_9__ . -r -( -__webpack_exports__ -) -; -__webpack_require__ +AboutWelcomeUtils . -d -( -__webpack_exports__ -{ -OnboardingVideo -: -( -) -= -> +sendActionTelemetry ( -OnboardingVideo +props +. +messageId +tileId ) +; } -) ; -var -react__WEBPACK_IMPORTED_MODULE_0__ +const +renderContentTile = -__webpack_require__ ( -1 -) -; -var -react__WEBPACK_IMPORTED_MODULE_0___default +tile +index = -__webpack_require__ -. -n -( -react__WEBPACK_IMPORTED_MODULE_0__ +0 ) -; -const -OnboardingVideo -= -props = > { const -vidUrl +isExpanded = -props -. -content -. -video_url -; -const -autoplay +expandedTileIndex = -props -. -content -. -autoPlay -; -const -handleVideoAction = -event = -> -{ -props -. -handleAction -( -{ -currentTarget -: -{ -value -: -event -} -} -) +index ; +const +{ +header } += +tile ; return react__WEBPACK_IMPORTED_MODULE_0___default @@ -13086,7 +12490,24 @@ createElement " div " -null +{ +key +: +index +className +: +" +content +- +tile +" +} +header +? +. +title +& +& react__WEBPACK_IMPORTED_MODULE_0___default ( ) @@ -13094,52 +12515,74 @@ react__WEBPACK_IMPORTED_MODULE_0___default createElement ( " -video +button " { -controls -: -true -autoPlay -: -autoplay -src -: -vidUrl -width -: -" -604px -" -height +className : " -340px +tile +- +header " -onPlay +onClick : ( ) = > -handleVideoAction +toggleTile ( +index +tile +) " -video_start +aria +- +expanded +" +: +isExpanded +" +aria +- +controls " -) -onEnded : +tile +- +content +- +{ +index +} +style +: +_lib_aboutwelcome_utils_mjs__WEBPACK_IMPORTED_MODULE_9__ +. +AboutWelcomeUtils +. +getValidStyle ( +header +. +style +HEADER_STYLES ) -= -> -handleVideoAction +} +react__WEBPACK_IMPORTED_MODULE_0___default ( -" -video_end -" ) +. +createElement +( +_MSLocalized__WEBPACK_IMPORTED_MODULE_1__ +. +Localized +{ +text +: +header } react__WEBPACK_IMPORTED_MODULE_0___default ( @@ -13148,1338 +12591,1205 @@ react__WEBPACK_IMPORTED_MODULE_0___default createElement ( " -source +span " { -src +className : -vidUrl +" +header +- +title +" } +header +. +title ) ) -) -; -} -; -} -) -( +react__WEBPACK_IMPORTED_MODULE_0___default ( -__unused_webpack_module -__webpack_exports__ -__webpack_require__ ) -= -> -{ -__webpack_require__ . -r +createElement ( -__webpack_exports__ -) -; -__webpack_require__ +_MSLocalized__WEBPACK_IMPORTED_MODULE_1__ . -d -( -__webpack_exports__ +Localized { -AdditionalCTA +text : -( -) -= -> -( -AdditionalCTA -) +header } -) -; -var -react__WEBPACK_IMPORTED_MODULE_0__ -= -__webpack_require__ -( -1 -) -; -var -react__WEBPACK_IMPORTED_MODULE_0___default -= -__webpack_require__ +header . -n -( -react__WEBPACK_IMPORTED_MODULE_0__ -) -; -var -_MSLocalized__WEBPACK_IMPORTED_MODULE_1__ -= -__webpack_require__ -( -5 -) -; -var -_SubmenuButton__WEBPACK_IMPORTED_MODULE_2__ -= -__webpack_require__ -( -15 -) -; -const -AdditionalCTA -= +subtitle +& +& +react__WEBPACK_IMPORTED_MODULE_0___default ( -{ -content -handleAction -} ) -= -> -{ -let -buttonStyle -= -" -" -; -const -isSplitButton -= -content -. -submenu_button -? . -attached_to -= -= -= +createElement +( " -additional_button +span " -; -let +{ className -= +: " -additional -- -cta +header - -box +subtitle " -; -if +} +header +. +subtitle +) +) +) +isExpanded +| +| +! +header +? +react__WEBPACK_IMPORTED_MODULE_0___default ( -isSplitButton ) +. +createElement +( +" +div +" { className -+ -= +: " -split -- -button +tile - -container +content " -; -} -if -( -! +id +: +tile +- content -. -additional_button -? -. -style -) +- { -buttonStyle -= -" -primary -" -; +index } -else -{ -buttonStyle -= -content -. -additional_button -? +} +tile . -style +type = = = " -link -" -? -" -cta +addons - -link +picker " -: -content -. -additional_button -? +& +& +tile . -style -; -} -return +data +& +& react__WEBPACK_IMPORTED_MODULE_0___default ( ) . createElement ( -" -div -" +_AddonsPicker__WEBPACK_IMPORTED_MODULE_2__ +. +AddonsPicker { -className +content : -className +{ +tiles +: +tile } -react__WEBPACK_IMPORTED_MODULE_0___default -( -) -. -createElement -( -_MSLocalized__WEBPACK_IMPORTED_MODULE_1__ +installedAddons +: +props . -Localized -{ -text +installedAddons +message_id : -content +props . -additional_button -? +messageId +handleAction +: +props . -label +handleAction } +) +[ +" +theme +" +" +single +- +select +" +] +. +includes +( +tile +. +type +) +& +& +tile +. +data +& +& react__WEBPACK_IMPORTED_MODULE_0___default ( ) . createElement ( -" -button -" +_SingleSelect__WEBPACK_IMPORTED_MODULE_3__ +. +SingleSelect { -className +content : { -buttonStyle +tiles +: +tile } -additional -- -cta -onClick +activeTheme : +props +. +activeTheme handleAction -value : -" -additional_button -" -disabled +props +. +handleAction +activeSingleSelect : -content +props . -additional_button -? +activeSingleSelect +setActiveSingleSelect +: +props . -disabled +setActiveSingleSelect +} +) +tile +. +type = = = -true -} -) -) -isSplitButton -? +" +mobile_downloads +" +& +& +tile +. +data +& +& react__WEBPACK_IMPORTED_MODULE_0___default ( ) . createElement ( -_SubmenuButton__WEBPACK_IMPORTED_MODULE_2__ +_MobileDownloads__WEBPACK_IMPORTED_MODULE_4__ . -SubmenuButton +MobileDownloads { -content +data : -content +tile +. +data handleAction : +props +. handleAction } ) -: -null -) -; -} -; -} -) -( -( -__unused_webpack_module -__webpack_exports__ -__webpack_require__ -) +tile +. +type = -> -{ -__webpack_require__ += += +" +multiselect +" +& +& +tile . -r +data +& +& +react__WEBPACK_IMPORTED_MODULE_0___default ( -__webpack_exports__ ) -; -__webpack_require__ . -d +createElement ( -__webpack_exports__ +_MultiSelect__WEBPACK_IMPORTED_MODULE_5__ +. +MultiSelect { -SubmenuButton +content : -( +{ +tiles +: +tile +} +screenMultiSelects +: +props +. +screenMultiSelects +setScreenMultiSelects +: +props +. +setScreenMultiSelects +activeMultiSelect +: +props +. +activeMultiSelect +setActiveMultiSelect +: +props +. +setActiveMultiSelect +} ) +tile +. +type = -> += += +" +migration +- +wizard +" +& +& +react__WEBPACK_IMPORTED_MODULE_0___default ( -SubmenuButton ) +. +createElement +( +_EmbeddedMigrationWizard__WEBPACK_IMPORTED_MODULE_6__ +. +EmbeddedMigrationWizard +{ +handleAction +: +props +. +handleAction +content +: +{ +tiles +: +tile +} } ) -; -var -react__WEBPACK_IMPORTED_MODULE_0__ +tile +. +type = -__webpack_require__ -( -1 -) -; -var -react__WEBPACK_IMPORTED_MODULE_0___default = -__webpack_require__ += +" +action_checklist +" +& +& +tile . -n +data +& +& +react__WEBPACK_IMPORTED_MODULE_0___default ( -react__WEBPACK_IMPORTED_MODULE_0__ ) -; -var -_MSLocalized__WEBPACK_IMPORTED_MODULE_1__ -= -__webpack_require__ +. +createElement ( -5 +_ActionChecklist__WEBPACK_IMPORTED_MODULE_7__ +. +ActionChecklist +{ +content +: +content +message_id +: +props +. +messageId +} ) -; -const -SubmenuButton +tile +. +type = -props = -> -{ -return -document += +" +embedded_browser +" +& +& +tile . -createXULElement +data ? +. +url +& +& react__WEBPACK_IMPORTED_MODULE_0___default ( ) . createElement ( -SubmenuButtonInner -props +_EmbeddedBrowser__WEBPACK_IMPORTED_MODULE_8__ +. +EmbeddedBrowser +{ +url +: +tile +. +data +. +url +style +: +tile +. +data +. +style +} +) ) : null +) ; } ; -function -translateMenuitem +if ( -item -element -) -{ -let -{ -label -} -= -item -; -if -( -! -label +Array +. +isArray +( +content +. +tiles +) ) { return -; -} -if +react__WEBPACK_IMPORTED_MODULE_0___default ( -label -. -raw ) -{ -element . -setAttribute +createElement ( " -label +div " -label -. -raw -) -; -} -if -( -label -. -access_key -) { -element -. -setAttribute -( +className +: " -accesskey +content +- +tiles +- +container " -label -. -access_key -) -; } -if -( -label +content . -aria_label -) -{ -element +tiles . -setAttribute +map ( -" -aria -- -label -" -label -. -aria_label +( +tile +index ) -; -} -if += +> +renderContentTile ( -label -. -tooltip_text +tile +index ) -{ -element -. -setAttribute +) +) +; +} +return +renderContentTile ( -" -tooltiptext -" -label -. -tooltip_text +tiles +0 ) ; } -if +; +} +) ( -label -. -string_id +( +__unused_webpack_module +__webpack_exports__ +__webpack_require__ ) += +> { -element +__webpack_require__ . -setAttribute +r ( -" -data -- -l10n -- -id -" -label -. -string_id +__webpack_exports__ ) ; -if -( -label -. -args -) -{ -element +__webpack_require__ . -setAttribute +d ( -" -data -- -l10n -- -args -" -JSON -. -stringify +__webpack_exports__ +{ +AddonsPicker +: ( -label -. -args ) -) -; -} -} -} -function -addMenuitems += +> ( -items -popup +AddonsPicker ) -{ -for +InstallButton +: ( -let -item -of -items ) -{ -switch += +> ( -item -. -type +InstallButton ) -{ -case -" -separator -" +Loader : -popup -. -appendChild ( -document -. -createXULElement +) += +> ( -" -menuseparator -" +Loader ) +} ) ; -break +var +react__WEBPACK_IMPORTED_MODULE_0__ += +__webpack_require__ +( +1 +) ; -case -" -menu -" -: -let -menu +var +react__WEBPACK_IMPORTED_MODULE_0___default = -document +__webpack_require__ . -createXULElement +n ( -" -menu -" +react__WEBPACK_IMPORTED_MODULE_0__ ) ; -menu -. -className +var +_lib_aboutwelcome_utils_mjs__WEBPACK_IMPORTED_MODULE_1__ = -" -fxms -- -multi -- -stage -- -menu -" -; -translateMenuitem +__webpack_require__ ( -item -menu +3 ) ; -if +var +_MSLocalized__WEBPACK_IMPORTED_MODULE_2__ += +__webpack_require__ ( -item -. -id +5 ) -{ -menu -. -value -= -item -. -id ; -} -if +const +Loader += ( -item -. -icon ) += +> { -menu -. -classList -. -add +return +react__WEBPACK_IMPORTED_MODULE_0___default ( -" -menu -- -iconic -" ) -; -menu . -setAttribute +createElement ( " -image +button " -item -. -icon -) -; -} -popup -. -appendChild -( -menu -) -; -let -submenuPopup -= -document -. -createXULElement -( +{ +className +: " -menupopup +primary " -) -; -menu -. -appendChild +} +react__WEBPACK_IMPORTED_MODULE_0___default ( -submenuPopup ) -; -addMenuitems -( -item . -submenu -submenuPopup -) -; -break -; -case +createElement +( " -action +div " +{ +className : -let -menuitem -= -document -. -createXULElement -( " -menuitem +loaderContainer " -) -; -translateMenuitem -( -item -menuitem -) -; -menuitem -. -config -= -item -; -if -( -item -. -id -) -{ -menuitem -. -value -= -item -. -id -; } -if +react__WEBPACK_IMPORTED_MODULE_0___default ( -item -. -icon ) -{ -menuitem -. -classList . -add +createElement ( " -menuitem -- -iconic +span " -) -; -menuitem -. -setAttribute -( +{ +className +: " -image +loader " -item -. -icon -) -; } -popup -. -appendChild -( -menuitem ) -; -break +) +) ; } -} -} +; const -SubmenuButtonInner +InstallButton = -( -{ -content -handleAction -} -) +props = > { const -ref +[ +installing +setInstalling +] = ( 0 react__WEBPACK_IMPORTED_MODULE_0__ . -useRef +useState ) ( -null +false ) ; const -isPrimary +[ +installComplete +setInstallComplete +] = -content -. -submenu_button -? +( +0 +react__WEBPACK_IMPORTED_MODULE_0__ . -style -= -= +useState +) +( +false +) +; +const +defaultInstallLabel = +{ +string_id +: " -primary +amo +- +picker +- +install +- +button +- +label " +} ; const -onCommand +defaultInstallCompleteLabel = +{ +string_id +: +" +amo +- +picker +- +install +- +complete +- +label +" +} +; ( 0 react__WEBPACK_IMPORTED_MODULE_0__ . -useCallback +useEffect ) ( -event +( +) = > { -let -{ -config -} -= -event +setInstallComplete +( +props . -target -; -let -mockEvent -= -{ -currentTarget -: -ref -. -current -source -: -config -. -id -name -: -" -command -" -action -: -config +installedAddons +? . -action -} -; -handleAction +includes ( -mockEvent +props +. +addonId +) ) ; } [ -handleAction -] -) -; -const -onClick -= -( -0 -react__WEBPACK_IMPORTED_MODULE_0__ +props . -useCallback -) -( -( -) -= -> -{ -let -button -= -ref +addonId +props . -current +installedAddons +] +) ; let -submenu +buttonLabel = -button +installComplete ? +props . -querySelector -( -" +install_complete_label +| +| +defaultInstallCompleteLabel +: +props . -fxms -- -multi -- -stage -- -submenu -" -) +install_label +| +| +defaultInstallLabel ; -if -( -submenu -& -& -! -button -. -hasAttribute +function +onClick ( -" -open -" -) +event ) { -submenu +props . -openPopup +handleAction ( -button -{ -position -: -" -after_end -" -} +event ) ; -} -} -[ -] +setInstalling +( +true ) ; +window +. +AWEnsureAddonInstalled ( -0 -react__WEBPACK_IMPORTED_MODULE_0__ +props . -useEffect +addonId ) +. +then ( -( -) +value = > { -let -button -= -ref -. -current -; if ( -! -button -| -| -button -. -querySelector -( +value += += += " -. -fxms -- -multi -- -stage -- -submenu +complete " ) -) { -return -null +setInstallComplete +( +true +) ; } -let -menupopup -= -document -. -createXULElement +setInstalling ( -" -menupopup -" +false ) ; -menupopup +} +) +; +} +return +react__WEBPACK_IMPORTED_MODULE_0___default +( +) . +createElement +( +" +div +" +{ className -= +: " -fxms -- -multi +install - -stage +button - -submenu +wrapper " -; -addMenuitems +} +installing +? +react__WEBPACK_IMPORTED_MODULE_0___default ( -content -. -submenu_button -. -submenu -menupopup ) -; -button . -appendChild +createElement ( -menupopup +Loader +null ) -; -let -stylesheet -; -if +: +react__WEBPACK_IMPORTED_MODULE_0___default ( -! -document -. -head +) . -querySelector +createElement ( -link -[ -href -= -" -chrome +_MSLocalized__WEBPACK_IMPORTED_MODULE_2__ +. +Localized +{ +text : -/ -/ -global -/ -content -/ -widgets +buttonLabel +} +react__WEBPACK_IMPORTED_MODULE_0___default +( +) . -css +createElement +( " -] -link -[ -href -= +button " -chrome +{ +id : -/ -/ -global -/ -skin -/ -global -. -css -" -] -) -) +install +- +button +- { -stylesheet -= -document +props . -createElement -( +addonId +} +value +: +props +. +index +onClick +: +onClick +disabled +: +installComplete +className +: " -link +primary " +} +) +) ) ; -stylesheet -. -rel -= -" -stylesheet -" +} ; -stylesheet -. -href +const +AddonsPicker = -" -chrome -: -/ -/ -global -/ +props += +> +{ +const +{ content -/ -widgets -. -css -" -; -document -. -head -. -appendChild -( -stylesheet -) -; +installedAddons } += +props +; if ( ! -menupopup -. -listenersRegistered +content ) { -menupopup -. -addEventListener -( -" -command -" -onCommand -) +return +null ; -menupopup -. -addEventListener +} +function +handleAction ( -" -popupshowing -" event -= -> +) { -if -( -event -. -target -= +const +{ +message_id +} = +props +; +let +{ +action +source_id +} = -menupopup -& -& -event +content . -target +tiles . -anchorNode -) -{ +data +[ event . -target -. -anchorNode +currentTarget . -toggleAttribute -( -" -open -" -true -) +value +] ; +let +{ +type +data } -} -) -; -menupopup -. -addEventListener -( -" -popuphiding -" -event = -> -{ +action +; if ( -event -. -target +type = = = -menupopup -& -& -event -. -target -. -anchorNode +" +INSTALL_ADDON_FROM_URL +" ) { -event -. -target -. -anchorNode -. -toggleAttribute +if ( -" -open -" -false +! +data ) +{ +return ; } } +_lib_aboutwelcome_utils_mjs__WEBPACK_IMPORTED_MODULE_1__ +. +AboutWelcomeUtils +. +handleUserAction +( +{ +type +data +} ) ; -menupopup +_lib_aboutwelcome_utils_mjs__WEBPACK_IMPORTED_MODULE_1__ . -listenersRegistered -= -true +AboutWelcomeUtils +. +sendActionTelemetry +( +message_id +source_id +) ; } return +react__WEBPACK_IMPORTED_MODULE_0___default ( ) -= -> -{ -menupopup -? . -remove +createElement +( +" +div +" +{ +className +: +" +addons +- +picker +- +container +" +} +content +. +tiles +. +data +. +map +( ( +{ +id +name +: +addonName +type +description +icon +install_label +install_complete_label +} +index ) -; -stylesheet += +> +addonName ? +react__WEBPACK_IMPORTED_MODULE_0___default +( +) . -remove +createElement +( +" +div +" +{ +key +: +id +className +: +" +addon +- +container +" +} +react__WEBPACK_IMPORTED_MODULE_0___default ( ) -; +. +createElement +( +" +div +" +{ +className +: +" +rtamo +- +icon +" } -; +react__WEBPACK_IMPORTED_MODULE_0___default +( +) +. +createElement +( +" +img +" +{ +className +: +{ +type += += += +" +theme +" +? +" +rtamo +- +theme +- +icon +" +: +" +brand +- +logo +" +} +src +: +icon +role +: +" +presentation +" +alt +: +" +" } -[ -onCommand -] ) -; -return +) react__WEBPACK_IMPORTED_MODULE_0___default ( ) . createElement ( -_MSLocalized__WEBPACK_IMPORTED_MODULE_1__ -. -Localized +" +div +" { -text +className : -content +" +addon +- +details +" +} +react__WEBPACK_IMPORTED_MODULE_0___default +( +) . -submenu_button +createElement +( +_MSLocalized__WEBPACK_IMPORTED_MODULE_2__ . -label -? -? +Localized { -} +text +: +addonName } react__WEBPACK_IMPORTED_MODULE_0___default ( @@ -14488,39 +13798,90 @@ react__WEBPACK_IMPORTED_MODULE_0___default createElement ( " -button +div " { className : -submenu +" +addon - -button +title +" +} +) +) +react__WEBPACK_IMPORTED_MODULE_0___default +( +) +. +createElement +( +_MSLocalized__WEBPACK_IMPORTED_MODULE_2__ +. +Localized { -isPrimary -? +text +: +description +} +react__WEBPACK_IMPORTED_MODULE_0___default +( +) +. +createElement +( " -primary +div " +{ +className : " -secondary +addon +- +description " } -value +) +) +) +react__WEBPACK_IMPORTED_MODULE_0___default +( +) +. +createElement +( +InstallButton +{ +key : -" -submenu_button -" -onClick +id +addonId : -onClick -ref +id +handleAction : -ref +handleAction +index +: +index +installedAddons +: +installedAddons +install_label +: +install_label +install_complete_label +: +install_complete_label } ) ) +: +null +) +) ; } ; @@ -14548,14 +13909,14 @@ d ( __webpack_exports__ { -EmbeddedMigrationWizard +SingleSelect : ( ) = > ( -EmbeddedMigrationWizard +SingleSelect ) } ) @@ -14578,591 +13939,662 @@ n react__WEBPACK_IMPORTED_MODULE_0__ ) ; -const -EmbeddedMigrationWizard +var +_MSLocalized__WEBPACK_IMPORTED_MODULE_1__ = +__webpack_require__ ( -{ -handleAction +5 +) +; +var +_lib_aboutwelcome_utils_mjs__WEBPACK_IMPORTED_MODULE_2__ += +__webpack_require__ +( +3 +) +; +const +SingleSelect += +( +{ +activeSingleSelect +activeTheme content +handleAction +setActiveSingleSelect } ) = > { const -ref +category = -( -0 -react__WEBPACK_IMPORTED_MODULE_0__ +content . -useRef -) -( -) +tiles +? +. +category +? +. +type +| +| +content +. +tiles +? +. +type ; const -options +isSingleSelect = -content -. -migration_wizard_options +category += += += +" +single +- +select +" ; -( -0 -react__WEBPACK_IMPORTED_MODULE_0__ -. -useEffect -) -( -( -) +const +autoTriggerAllowed += +itemAction = > { const -handleBeginMigration +allowedActions = -( -) +[ +" +SET_PREF +" +] +; +const +allowedPrefs = -> -{ -handleAction -( -{ -currentTarget -: -{ -value -: +[ " -migrate_start +sidebar +. +revamp " -} -source -: " -primary_button +sidebar +. +verticalTabs " -} -) -; -} +" +sidebar +. +visibility +" +] ; const -handleClose +checkAction = -( -) +action = > { -handleAction +if ( +! +allowedActions +. +includes +( +action +. +type +) +) { -currentTarget -: -{ -value -: +return +false +; +} +if +( +action +. +type += += += " -migrate_close +SET_PREF " -} -} +& +& +! +allowedPrefs +. +includes +( +action +. +data +? +. +pref +. +name +) ) +{ +return +false ; } +return +true ; -const -{ -current } -= -ref ; -current -? -. -addEventListener +if ( -" -MigrationWizard -: -BeginMigration -" -handleBeginMigration -) -; -current -? +itemAction . -addEventListener -( +type += += += " -MigrationWizard -: -Close +MULTI_ACTION " -handleClose ) -; +{ return +! +itemAction +. +data +. +actions +. +some ( -) +action = > -{ -current -? -. -removeEventListener +! +checkAction ( -" -MigrationWizard -: -BeginMigration -" -handleBeginMigration +action ) -; -current -? -. -removeEventListener -( -" -MigrationWizard -: -Close -" -handleClose ) ; } +return +checkAction +( +itemAction +) ; } -[ -] -) ; -return -react__WEBPACK_IMPORTED_MODULE_0___default ( -) +0 +react__WEBPACK_IMPORTED_MODULE_0__ . -createElement +useEffect +) +( +( +) += +> +{ +if +( +isSingleSelect +& +& +! +activeSingleSelect +) +{ +let +newActiveSingleSelect += +content +. +tiles +? +. +selected +| +| +content +. +tiles +? +. +data +[ +0 +] +. +id +; +setActiveSingleSelect +( +newActiveSingleSelect +) +; +let +selectedTile += +content +. +tiles +? +. +data +. +find +( +opt += +> +opt +. +id += += += +newActiveSingleSelect +) +; +if +( +isSingleSelect +& +& +content +. +tiles +? +. +autoTrigger +& +& +autoTriggerAllowed +( +selectedTile +? +. +action +) +) +{ +handleAction ( -" -migration -- -wizard -" { +currentTarget +: +{ +value +: +selectedTile +. +id +} +} +) +; +} +} +} +[ +] +) +; +const +CONFIGURABLE_STYLES += +[ " -in -- -aboutwelcome -- -bundle +background " -: " +borderRadius " " -force -- -show -- -import -- -all +height " -: -options -? -. -force_show_import_all -| -| " -false +marginBlock " " -auto -- -request -- -state +marginInline " -: " +paddingBlock " -ref -: -ref " -option -- -expander -- -title -- -string +paddingInline " -: -options -? -. -option_expander_title_string -| -| " +width " +] +; +return +react__WEBPACK_IMPORTED_MODULE_0___default +( +) +. +createElement +( " -hide -- -option -- -expander -- -subtitle +div " +{ +className : -options -? -. -hide_option_expander_subtitle -| -| -false " -data -- -import +tiles - -complete +single - -success +select - -string +container " -: -options -? +} +react__WEBPACK_IMPORTED_MODULE_0___default +( +) . -data_import_complete_success_string -| -| +createElement +( " +div " +null +react__WEBPACK_IMPORTED_MODULE_0___default +( +) +. +createElement +( " -selection -- -header -- -string +fieldset " +{ +className : -options -? -. -selection_header_string -" -selection +tiles - -subheader -- -string -" -: -options -? -. -selection_subheader_string -| -| -" -" -" -hide +single - select - -all -" -: -options -? +section +{ +category +} +} +react__WEBPACK_IMPORTED_MODULE_0___default +( +) . -hide_select_all -| -| -false -" -checkbox -- -margin -- -inline -" -: -options -? +createElement +( +_MSLocalized__WEBPACK_IMPORTED_MODULE_1__ . -checkbox_margin_inline -| -| -" -" -" -checkbox -- -margin -- -block -" +Localized +{ +text : -options -? +content . -checkbox_margin_block -| -| -" -" -" -import -- -button -- -string -" -: -options -? +subtitle +} +react__WEBPACK_IMPORTED_MODULE_0___default +( +) . -import_button_string -| -| -" -" +createElement +( " -import -- -button -- -class +legend " +{ +className : -options -? -. -import_button_class -| -| -" " -" -header -- -font +sr - -size +only " -: -options -? +} +) +) +content . -header_font_size -| -| -" -" -" -header -- -font -- -weight -" -: -options -? +tiles . -header_font_weight -| -| +data +. +map +( +( +{ +description +icon +id +label += " " +theme +tooltip +type += " -header -- -margin -- -block " -: -options -? -. -header_margin_block +flair +} +) += +> +{ +const +value += +id | | +theme +; +let +inputName += " -" -" -subheader -- -font +select - -size +item " -: -options -? -. -subheader_font_size -| -| +; +if +( +! +isSingleSelect +) +{ +inputName += +category += += += " +theme " +? " -subheader -- -font -- -weight +theme " : -options -? -. -subheader_font_weight +id +; +} +const +selected += +theme +& +& +theme += += += +activeTheme | | +isSingleSelect +& +& +activeSingleSelect += += += +value +; +const +valOrObj += +val += +> +typeof +val += += += " +object " -" -subheader -- -margin -- -block -" -: -options ? -. -subheader_margin_block -| -| -" -" -} -) -; +val +: +{ } ; -} -) -( -( -__unused_webpack_module -__webpack_exports__ -__webpack_require__ -) +const +handleClick += +evt = > { -__webpack_require__ -. -r +if ( -__webpack_exports__ +isSingleSelect ) -; -__webpack_require__ -. -d -( -__webpack_exports__ { -AddonsPicker -: -( -) -= -> +setActiveSingleSelect ( -AddonsPicker +value ) -InstallButton -: +; +} +handleAction ( +evt ) +; +} +; +const +handleKeyDown = -> -( -InstallButton -) -Loader -: -( -) +evt = > +{ +if ( -Loader -) -} +evt +. +key += += += +" +Enter +" +| +| +evt +. +keyCode += += += +13 ) -; -var -react__WEBPACK_IMPORTED_MODULE_0__ +{ +evt +. +currentTarget +. +value = -__webpack_require__ +value +; +handleClick ( -1 +evt ) ; -var +} +} +; +return react__WEBPACK_IMPORTED_MODULE_0___default -= -__webpack_require__ -. -n ( -react__WEBPACK_IMPORTED_MODULE_0__ ) -; -var -_lib_aboutwelcome_utils_mjs__WEBPACK_IMPORTED_MODULE_1__ -= -__webpack_require__ +. +createElement ( -3 -) -; -var -_MSLocalized__WEBPACK_IMPORTED_MODULE_2__ -= -__webpack_require__ +_MSLocalized__WEBPACK_IMPORTED_MODULE_1__ +. +Localized +{ +key +: +value ++ ( -5 +isSingleSelect +? +" +" +: +label ) -; -const -Loader -= +text +: +valOrObj ( +tooltip ) -= -> -{ -return +} react__WEBPACK_IMPORTED_MODULE_0___default ( ) @@ -15170,30 +14602,67 @@ react__WEBPACK_IMPORTED_MODULE_0___default createElement ( " -button +label " { className : -" -primary -" +select +- +item +{ +type +} +title +: +value +onKeyDown +: +e += +> +handleKeyDown +( +e +) +style +: +icon +? +. +width +? +{ +minWidth +: +icon +. +width +} +: +{ +} } +flair +? react__WEBPACK_IMPORTED_MODULE_0___default ( ) . createElement ( -" -div -" +_MSLocalized__WEBPACK_IMPORTED_MODULE_1__ +. +Localized { -className +text : -" -loaderContainer -" +valOrObj +( +flair +. +text +) } react__WEBPACK_IMPORTED_MODULE_0___default ( @@ -15208,209 +14677,75 @@ span className : " -loader +flair " } ) ) +: +" +" +react__WEBPACK_IMPORTED_MODULE_0___default +( ) -; -} -; -const -InstallButton -= -props -= -> -{ -const -[ -installing -setInstalling -] -= +. +createElement ( -0 -react__WEBPACK_IMPORTED_MODULE_0__ +_MSLocalized__WEBPACK_IMPORTED_MODULE_1__ . -useState +Localized +{ +text +: +valOrObj +( +description ) +} +react__WEBPACK_IMPORTED_MODULE_0___default ( -false ) -; -const -[ -installComplete -setInstallComplete -] -= -( -0 -react__WEBPACK_IMPORTED_MODULE_0__ . -useState -) +createElement ( -false -) -; -const -defaultInstallLabel -= +" +input +" { -string_id +type : " -amo -- -picker -- -install -- -button -- -label +radio " -} -; -const -defaultInstallCompleteLabel -= -{ -string_id +value +: +value +name +: +inputName +checked +: +selected +className : " -amo -- -picker -- -install -- -complete +sr - -label +only +input " -} -; -( -0 -react__WEBPACK_IMPORTED_MODULE_0__ -. -useEffect -) -( -( -) -= -> -{ -setInstallComplete -( -props -. -installedAddons -? -. -includes -( -props -. -addonId -) -) -; -} -[ -props -. -addonId -props -. -installedAddons -] -) -; -let -buttonLabel -= -installComplete -? -props -. -install_complete_label -| -| -defaultInstallCompleteLabel -: -props -. -install_label -| -| -defaultInstallLabel -; -function onClick -( -event -) -{ -props -. -handleAction -( -event -) -; -setInstalling -( -true -) -; -window -. -AWEnsureAddonInstalled -( -props -. -addonId -) -. -then -( -value +: +e = > -{ -if -( -value -= -= -= -" -complete -" -) -{ -setInstallComplete +handleClick ( -true +e ) -; } -setInstalling -( -false ) -; -} ) -; -} -return react__WEBPACK_IMPORTED_MODULE_0___default ( ) @@ -15423,39 +14758,46 @@ div { className : +icon +{ +selected +? +" +selected +" +: " -install -- -button -- -wrapper " } -installing -? -react__WEBPACK_IMPORTED_MODULE_0___default -( -) +{ +value +} +style +: +_lib_aboutwelcome_utils_mjs__WEBPACK_IMPORTED_MODULE_2__ . -createElement +AboutWelcomeUtils +. +getValidStyle ( -Loader -null +icon +CONFIGURABLE_STYLES +) +} ) -: react__WEBPACK_IMPORTED_MODULE_0___default ( ) . createElement ( -_MSLocalized__WEBPACK_IMPORTED_MODULE_2__ +_MSLocalized__WEBPACK_IMPORTED_MODULE_1__ . Localized { text : -buttonLabel +label } react__WEBPACK_IMPORTED_MODULE_0___default ( @@ -15464,152 +14806,114 @@ react__WEBPACK_IMPORTED_MODULE_0___default createElement ( " -button +div " { -id -: -install -- -button -- -{ -props -. -addonId -} -value -: -props -. -index -onClick -: -onClick -disabled -: -installComplete className : " -primary +text " } ) ) ) +) +; +} +) +) +) +) ; } ; -const -AddonsPicker -= -props +} +) +( +( +__unused_webpack_module +__webpack_exports__ +__webpack_require__ +) = > { -const +__webpack_require__ +. +r +( +__webpack_exports__ +) +; +__webpack_require__ +. +d +( +__webpack_exports__ { -content -installedAddons -} +MarketplaceButtons +: +( +) = -props -; -if +> ( -! -content +MarketplaceButtons ) -{ -return -null -; -} -function -handleAction +MobileDownloads +: ( -event ) -{ -const -{ -message_id -} = -props -; -let -{ -action -source_id +> +( +MobileDownloads +) } -= -content -. -tiles -. -data -[ -event -. -currentTarget -. -value -] +) ; -let -{ -type -data -} +var +react__WEBPACK_IMPORTED_MODULE_0__ = -action -; -if +__webpack_require__ ( -type -= -= -= -" -INSTALL_ADDON_FROM_URL -" +1 ) -{ -if +; +var +react__WEBPACK_IMPORTED_MODULE_0___default += +__webpack_require__ +. +n ( -! -data +react__WEBPACK_IMPORTED_MODULE_0__ ) -{ -return ; -} -} -_lib_aboutwelcome_utils_mjs__WEBPACK_IMPORTED_MODULE_1__ -. -AboutWelcomeUtils -. -handleUserAction +var +_MSLocalized__WEBPACK_IMPORTED_MODULE_1__ += +__webpack_require__ ( -{ -type -data -} +5 ) ; -_lib_aboutwelcome_utils_mjs__WEBPACK_IMPORTED_MODULE_1__ -. -AboutWelcomeUtils -. -sendActionTelemetry +var +_lib_aboutwelcome_utils_mjs__WEBPACK_IMPORTED_MODULE_2__ += +__webpack_require__ ( -message_id -source_id +3 ) ; -} +const +MarketplaceButtons += +props += +> +{ return react__WEBPACK_IMPORTED_MODULE_0___default ( @@ -15618,44 +14922,29 @@ react__WEBPACK_IMPORTED_MODULE_0___default createElement ( " -div +ul " { className : " -addons +mobile - -picker +download - -container +buttons " } -content -. -tiles +props . -data +buttons . -map -( +includes ( -{ -id -name -: -addonName -type -description -icon -install_label -install_complete_label -} -index +" +ios +" ) -= -> -addonName ? react__WEBPACK_IMPORTED_MODULE_0___default ( @@ -15664,18 +14953,13 @@ react__WEBPACK_IMPORTED_MODULE_0___default createElement ( " -div +li " { -key -: -id className : " -addon -- -container +ios " } react__WEBPACK_IMPORTED_MODULE_0___default @@ -15685,67 +14969,52 @@ react__WEBPACK_IMPORTED_MODULE_0___default createElement ( " -div +button " { -className -: " -rtamo +data - -icon -" -} -react__WEBPACK_IMPORTED_MODULE_0___default -( -) -. -createElement -( -" -img +l10n +- +id " -{ -className : -{ -type -= -= -= -" -theme -" -? " -rtamo +spotlight - -theme +ios - -icon -" -: -" -brand +marketplace - -logo +button " -} -src -: -icon -role +value : " -presentation +ios " -alt +onClick : -" -" +props +. +handleAction } ) ) +: +null +props +. +buttons +. +includes +( +" +android +" +) +? react__WEBPACK_IMPORTED_MODULE_0___default ( ) @@ -15753,15 +15022,13 @@ react__WEBPACK_IMPORTED_MODULE_0___default createElement ( " -div +li " { className : " -addon -- -details +android " } react__WEBPACK_IMPORTED_MODULE_0___default @@ -15770,14 +15037,81 @@ react__WEBPACK_IMPORTED_MODULE_0___default . createElement ( -_MSLocalized__WEBPACK_IMPORTED_MODULE_2__ +" +button +" +{ +" +data +- +l10n +- +id +" +: +" +spotlight +- +android +- +marketplace +- +button +" +value +: +" +android +" +onClick +: +props . -Localized +handleAction +} +) +) +: +null +) +; +} +; +const +MobileDownloads += +props += +> { -text +const +{ +QR_code : -addonName +QRCode } += +props +. +data +; +const +showEmailLink += +props +. +data +. +email +& +& +window +. +AWSendToDeviceEmailsSupported +( +) +; +return react__WEBPACK_IMPORTED_MODULE_0___default ( ) @@ -15791,26 +15125,124 @@ div className : " -addon +mobile - -title +downloads +" +} +QRCode +? +react__WEBPACK_IMPORTED_MODULE_0___default +( +) +. +createElement +( +" +img +" +{ +" +data +- +l10n +- +id +" +: +QRCode +. +alt_text +. +string_id +? +QRCode +. +alt_text +. +string_id +: +null +className +: +" +qr +- +code +- +image +" +alt +: +typeof +QRCode +. +alt_text += += += +" +string +" +? +QRCode +. +alt_text +: +" " +src +: +QRCode +. +image_url +loading +: +_lib_aboutwelcome_utils_mjs__WEBPACK_IMPORTED_MODULE_2__ +. +AboutWelcomeUtils +. +getLoadingStrategyFor +( +QRCode +. +image_url +) } ) +: +null +showEmailLink +? +react__WEBPACK_IMPORTED_MODULE_0___default +( ) +. +createElement +( +" +div +" +null react__WEBPACK_IMPORTED_MODULE_0___default ( ) . createElement ( -_MSLocalized__WEBPACK_IMPORTED_MODULE_2__ +_MSLocalized__WEBPACK_IMPORTED_MODULE_1__ . Localized { text : -description +props +. +data +. +email +. +link_text } react__WEBPACK_IMPORTED_MODULE_0___default ( @@ -15819,56 +15251,63 @@ react__WEBPACK_IMPORTED_MODULE_0___default createElement ( " -div +button " { className : " -addon +email - -description +link +" +value +: +" +email_link " +onClick +: +props +. +handleAction } ) ) ) +: +null +props +. +data +. +marketplace_buttons +? react__WEBPACK_IMPORTED_MODULE_0___default ( ) . createElement ( -InstallButton +MarketplaceButtons { -key -: -id -addonId +buttons : -id +props +. +data +. +marketplace_buttons handleAction : +props +. handleAction -index -: -index -installedAddons -: -installedAddons -install_label -: -install_label -install_complete_label -: -install_complete_label } ) -) : null ) -) ; } ; @@ -15896,14 +15335,14 @@ d ( __webpack_exports__ { -LinkParagraph +MultiSelect : ( ) = > ( -LinkParagraph +MultiSelect ) } ) @@ -15934,73 +15373,156 @@ __webpack_require__ 5 ) ; -const -LinkParagraph -= -props -= -> -{ -const -{ -text_content -handleAction -} +var +_lib_aboutwelcome_utils_mjs__WEBPACK_IMPORTED_MODULE_2__ = -props +__webpack_require__ +( +3 +) ; const -handleParagraphAction +MULTI_SELECT_STYLES = -( -0 -react__WEBPACK_IMPORTED_MODULE_0__ +[ . -useCallback -) -( -event -= -> -{ -if -( -event . -target . -closest -( +_MSLocalized__WEBPACK_IMPORTED_MODULE_1__ +. +CONFIGURABLE_STYLES " -a +flexDirection " -) -) -{ -handleAction -( -{ +" +flexWrap +" +" +flexFlow +" +" +flexGrow +" +" +flexShrink +" +" +justifyContent +" +" +alignItems +" +" +gap +" +] +; +const +MULTI_SELECT_ICON_STYLES += +[ . . . -event -currentTarget -: -event +_MSLocalized__WEBPACK_IMPORTED_MODULE_1__ . -target +CONFIGURABLE_STYLES +" +width +" +" +height +" +" +background +" +" +backgroundColor +" +" +backgroundImage +" +" +backgroundSize +" +" +backgroundPosition +" +" +backgroundRepeat +" +" +backgroundOrigin +" +" +backgroundClip +" +" +border +" +" +borderRadius +" +" +appearance +" +" +fill +" +" +stroke +" +" +outline +" +" +outlineOffset +" +" +boxShadow +" +] +; +const +MultiSelect += +( +{ +content +screenMultiSelects +setScreenMultiSelects +activeMultiSelect +setActiveMultiSelect } ) -; += +> +{ +const +{ +data } += +content +. +tiles +; +const +refs += +( +0 +react__WEBPACK_IMPORTED_MODULE_0__ +. +useRef +) +( +{ } -[ -handleAction -] ) ; const -onKeyPress +handleChange = ( 0 @@ -16009,161 +15531,1184 @@ react__WEBPACK_IMPORTED_MODULE_0__ useCallback ) ( -event +( +) = > { -if +const +newActiveMultiSelect += +[ +] +; +Object +. +keys ( -event +refs +. +current +) . +forEach +( key = -= -= -" -Enter -" -& -& -! -event +> +{ +if +( +refs . -repeat +current +[ +key +] +? +. +checked ) { -handleParagraphAction +newActiveMultiSelect +. +push ( -event +key ) ; } } +) +; +setActiveMultiSelect +( +newActiveMultiSelect +) +; +} [ -handleParagraphAction +setActiveMultiSelect ] ) ; -return -react__WEBPACK_IMPORTED_MODULE_0___default +const +items += ( -) +0 +react__WEBPACK_IMPORTED_MODULE_0__ . -createElement +useMemo +) ( -_MSLocalized__WEBPACK_IMPORTED_MODULE_1__ -. -Localized +( +) += +> { -text +function +getOrderedIds +( +) +{ +if +( +screenMultiSelects +) +{ +return +screenMultiSelects +; +} +let +orderedIds += +data +. +map +( +item += +> +( +{ +id +: +item +. +id +rank +: +item +. +randomize +? +Math +. +random +( +) +: +NaN +} +) +) +. +sort +( +( +a +b +) += +> +b +. +rank +- +a +. +rank +) +. +map +( +( +{ +id +} +) += +> +id +) +; +setScreenMultiSelects +( +orderedIds +) +; +return +orderedIds +; +} +return +getOrderedIds +( +) +. +map +( +id += +> +data +. +find +( +item += +> +item +. +id += += += +id +) +) +; +} +[ +] +) +; +const +containerStyle += +( +0 +react__WEBPACK_IMPORTED_MODULE_0__ +. +useMemo +) +( +( +) += +> +_lib_aboutwelcome_utils_mjs__WEBPACK_IMPORTED_MODULE_2__ +. +AboutWelcomeUtils +. +getValidStyle +( +content +. +tiles +. +style +MULTI_SELECT_STYLES +true +) +[ +content +. +tiles +. +style +] +) +; +( +0 +react__WEBPACK_IMPORTED_MODULE_0__ +. +useEffect +) +( +( +) += +> +{ +if +( +! +activeMultiSelect +) +{ +let +newActiveMultiSelect += +[ +] +; +items +. +forEach +( +( +{ +id +defaultValue +} +) += +> +{ +if +( +defaultValue +& +& +id +) +{ +newActiveMultiSelect +. +push +( +id +) +; +} +} +) +; +setActiveMultiSelect +( +newActiveMultiSelect +) +; +} +} +[ +] +) +; +return +react__WEBPACK_IMPORTED_MODULE_0___default +( +) +. +createElement +( +" +div +" +{ +className +: +" +multi +- +select +- +container +" +style +: +containerStyle +role +: +items +. +some +( +( +{ +type +group +} +) += +> +type += += += +" +radio +" +& +& +group +) +? +" +radiogroup +" +: +" +group +" +" +aria +- +labelledby +" +: +" +multi +- +stage +- +multi +- +select +- +label +" +} +content +. +tiles +. +label +? +react__WEBPACK_IMPORTED_MODULE_0___default +( +) +. +createElement +( +_MSLocalized__WEBPACK_IMPORTED_MODULE_1__ +. +Localized +{ +text +: +content +. +tiles +. +label +} +react__WEBPACK_IMPORTED_MODULE_0___default +( +) +. +createElement +( +" +h2 +" +{ +id +: +" +multi +- +stage +- +multi +- +select +- +label +" +} +) +) +: +null +items +. +map +( +( +{ +id +label +description +icon +type += +" +checkbox +" +group +style +} +) += +> +react__WEBPACK_IMPORTED_MODULE_0___default +( +) +. +createElement +( +" +div +" +{ +key +: +id ++ +label +className +: +" +checkbox +- +container +multi +- +select +- +item +" +style +: +_lib_aboutwelcome_utils_mjs__WEBPACK_IMPORTED_MODULE_2__ +. +AboutWelcomeUtils +. +getValidStyle +( +style +MULTI_SELECT_STYLES +) +} +react__WEBPACK_IMPORTED_MODULE_0___default +( +) +. +createElement +( +" +input +" +{ +type +: +type +id +: +id +value +: +id +name +: +group +checked +: +activeMultiSelect +? +. +includes +( +id +) +style +: +_lib_aboutwelcome_utils_mjs__WEBPACK_IMPORTED_MODULE_2__ +. +AboutWelcomeUtils +. +getValidStyle +( +icon +? +. +style +MULTI_SELECT_ICON_STYLES +) +onChange +: +handleChange +ref +: +el += +> +refs +. +current +[ +id +] += +el +" +aria +- +describedby +" +: +description +? +{ +id +} +- +description +: +null +} +) +label +? +react__WEBPACK_IMPORTED_MODULE_0___default +( +) +. +createElement +( +_MSLocalized__WEBPACK_IMPORTED_MODULE_1__ +. +Localized +{ +text +: +label +} +react__WEBPACK_IMPORTED_MODULE_0___default +( +) +. +createElement +( +" +label +" +{ +htmlFor +: +id +} +) +) +: +null +description +? +react__WEBPACK_IMPORTED_MODULE_0___default +( +) +. +createElement +( +_MSLocalized__WEBPACK_IMPORTED_MODULE_1__ +. +Localized +{ +text +: +description +} +react__WEBPACK_IMPORTED_MODULE_0___default +( +) +. +createElement +( +" +p +" +{ +id +: +{ +id +} +- +description +} +) +) +: +null +) +) +) +; +} +; +} +) +( +( +__unused_webpack_module +__webpack_exports__ +__webpack_require__ +) += +> +{ +__webpack_require__ +. +r +( +__webpack_exports__ +) +; +__webpack_require__ +. +d +( +__webpack_exports__ +{ +EmbeddedMigrationWizard +: +( +) += +> +( +EmbeddedMigrationWizard +) +} +) +; +var +react__WEBPACK_IMPORTED_MODULE_0__ += +__webpack_require__ +( +1 +) +; +var +react__WEBPACK_IMPORTED_MODULE_0___default += +__webpack_require__ +. +n +( +react__WEBPACK_IMPORTED_MODULE_0__ +) +; +const +EmbeddedMigrationWizard += +( +{ +handleAction +content +} +) += +> +{ +const +ref += +( +0 +react__WEBPACK_IMPORTED_MODULE_0__ +. +useRef +) +( +) +; +const +options += +content +. +migration_wizard_options +; +( +0 +react__WEBPACK_IMPORTED_MODULE_0__ +. +useEffect +) +( +( +) += +> +{ +const +handleBeginMigration += +( +) += +> +{ +handleAction +( +{ +currentTarget +: +{ +value +: +" +migrate_start +" +} +source +: +" +primary_button +" +} +) +; +} +; +const +handleClose += +( +) += +> +{ +handleAction +( +{ +currentTarget +: +{ +value +: +" +migrate_close +" +} +} +) +; +} +; +const +{ +current +} += +ref +; +current +? +. +addEventListener +( +" +MigrationWizard +: +BeginMigration +" +handleBeginMigration +) +; +current +? +. +addEventListener +( +" +MigrationWizard +: +Close +" +handleClose +) +; +return +( +) += +> +{ +current +? +. +removeEventListener +( +" +MigrationWizard +: +BeginMigration +" +handleBeginMigration +) +; +current +? +. +removeEventListener +( +" +MigrationWizard +: +Close +" +handleClose +) +; +} +; +} +[ +] +) +; +return +react__WEBPACK_IMPORTED_MODULE_0___default +( +) +. +createElement +( +" +migration +- +wizard +" +{ +" +in +- +aboutwelcome +- +bundle +" +: +" +" +" +force +- +show +- +import +- +all +" +: +options +? +. +force_show_import_all +| +| +" +false +" +" +auto +- +request +- +state +" +: +" +" +ref +: +ref +" +option +- +expander +- +title +- +string +" +: +options +? +. +option_expander_title_string +| +| +" +" +" +hide +- +option +- +expander +- +subtitle +" +: +options +? +. +hide_option_expander_subtitle +| +| +false +" +data +- +import +- +complete +- +success +- +string +" +: +options +? +. +data_import_complete_success_string +| +| +" +" +" +selection +- +header +- +string +" +: +options +? +. +selection_header_string +" +selection +- +subheader +- +string +" +: +options +? +. +selection_subheader_string +| +| +" +" +" +hide +- +select +- +all +" +: +options +? +. +hide_select_all +| +| +false +" +checkbox +- +margin +- +inline +" +: +options +? +. +checkbox_margin_inline +| +| +" +" +" +checkbox +- +margin +- +block +" +: +options +? +. +checkbox_margin_block +| +| +" +" +" +import +- +button +- +string +" : -text_content -. -text -} -react__WEBPACK_IMPORTED_MODULE_0___default -( -) +options +? . -createElement -( +import_button_string +| +| " -p " -{ -className +" +import +- +button +- +class +" : -text_content +options +? . -font_styles -= -= -= +import_button_class +| +| " -legal " -? " -legal +header - -paragraph +font +- +size " : +options +? +. +header_font_size +| +| " -link +" +" +header - -paragraph +font +- +weight " -onClick -: -handleParagraphAction -value : +options +? +. +header_font_weight +| +| " -link_paragraph " -onKeyPress +" +header +- +margin +- +block +" : -onKeyPress -} -text_content -. -link_keys +options ? . -map -( -link -= -> -react__WEBPACK_IMPORTED_MODULE_0___default -( -) -. -createElement -( +header_margin_block +| +| " -a " -{ -key -: -link -value -: -link -role -: " -link +subheader +- +font +- +size " -className : +options +? +. +subheader_font_size +| +| " -text -- -link " " -data +subheader - -l10n +font - -name +weight " : -link -tabIndex -: +options +? +. +subheader_font_weight +| +| " -0 " -} " +subheader +- +margin +- +block " -) -) -) +: +options +? +. +subheader_margin_block +| +| +" +" +} ) ; } @@ -17143,6 +17688,14 @@ n react__WEBPACK_IMPORTED_MODULE_0__ ) ; +var +_lib_aboutwelcome_utils_mjs__WEBPACK_IMPORTED_MODULE_1__ += +__webpack_require__ +( +3 +) +; const BROWSER_STYLES = @@ -17157,9 +17710,7 @@ width border " " -border -- -radius +borderRadius " " flex @@ -17172,55 +17723,6 @@ padding " ] ; -function -applyValidStyles -( -element -style -validStyles -) -{ -Object -. -keys -( -style -) -. -forEach -( -key -= -> -{ -if -( -validStyles -. -includes -( -key -) -) -{ -element -. -style -. -setProperty -( -key -style -[ -key -] -) -; -} -} -) -; -} const EmbeddedBrowser = @@ -17506,13 +18008,48 @@ current style ) { -applyValidStyles +const +validStyles += +_lib_aboutwelcome_utils_mjs__WEBPACK_IMPORTED_MODULE_1__ +. +AboutWelcomeUtils +. +getValidStyle +( +style +BROWSER_STYLES +) +; +Object +. +keys +( +validStyles +) +. +forEach ( +key += +> +{ browserRef . current +. style -BROWSER_STYLES +. +setProperty +( +key +style +[ +key +] +) +; +} ) ; } @@ -17790,7 +18327,7 @@ _lib_addUtmParams_mjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__ ( -21 +22 ) ; class @@ -18691,7 +19228,7 @@ _components_ReturnToAMO__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__ ( -22 +23 ) ; function diff --git a/browser/components/aboutwelcome/content/aboutwelcome.css b/browser/components/aboutwelcome/content/aboutwelcome.css index 12d1fba81899..bb22233c65b8 100644 --- a/browser/components/aboutwelcome/content/aboutwelcome.css +++ b/browser/components/aboutwelcome/content/aboutwelcome.css @@ -21232,15 +21232,13 @@ select - container . -multi -- -select +checkbox - -item +container { display : -block +grid ; } . @@ -21259,49 +21257,67 @@ select - container . +checkbox +- +container +label +. +onboardingContainer +. +screen +[ +pos += +split +] +. multi - select - -item +container +. +checkbox +- +container p { -margin +grid - -block +column : -0 -. -5em -0 +2 ; -margin -- -inline -- -start -: -calc -( -16px -+ -var -( +} +. +onboardingContainer +. +screen +[ +pos += +split +] +. +multi - +select - +container +. checkbox - +container +p +{ margin - -inline -) -) -; -font -- -size +block : -12px +0 +. +5em +0 ; } media @@ -21379,38 +21395,6 @@ content box ; } -. -onboardingContainer -. -screen -[ -pos -= -split -] -. -multi -- -select -- -container -. -multi -- -select -- -item -p -{ -margin -- -inline -- -start -: -0 -; -} } [ narrow @@ -21479,41 +21463,6 @@ content box ; } -[ -narrow -] -. -onboardingContainer -. -screen -[ -pos -= -split -] -. -multi -- -select -- -container -. -multi -- -select -- -item -p -{ -margin -- -inline -- -start -: -0 -; -} . onboardingContainer . @@ -32460,6 +32409,835 @@ inline . onboardingContainer . +content +- +tiles +- +container +{ +- +- +tiles +- +container +- +border +- +radius +: +8px +; +margin +: +24px +48px +; +} +. +onboardingContainer +. +content +- +tiles +- +container +. +content +- +tile +{ +display +: +flex +; +flex +- +direction +: +column +; +} +. +onboardingContainer +. +content +- +tiles +- +container +. +content +- +tile +button +. +tile +- +header +{ +border +: +1px +solid +var +( +- +- +in +- +content +- +border +- +color +) +; +width +: +100 +% +; +margin +: +0 +; +display +: +flex +; +flex +- +direction +: +column +; +align +- +items +: +start +; +border +- +radius +: +0 +; +font +- +size +: +13px +; +} +. +onboardingContainer +. +content +- +tiles +- +container +. +content +- +tile +button +. +tile +- +header +. +header +- +title +. +onboardingContainer +. +content +- +tiles +- +container +. +content +- +tile +button +. +tile +- +header +. +header +- +subtitle +{ +line +- +height +: +1 +. +5 +; +} +. +onboardingContainer +. +content +- +tiles +- +container +. +content +- +tile +button +. +tile +- +header +. +header +- +title +{ +font +- +weight +: +590 +; +} +. +onboardingContainer +. +content +- +tiles +- +container +. +content +- +tile +button +. +tile +- +header +. +header +- +subtitle +{ +font +- +weight +: +400 +; +} +. +onboardingContainer +. +content +- +tiles +- +container +. +content +- +tile +button +. +tile +- +header +[ +aria +- +expanded += +true +] +{ +border +- +bottom +: +none +; +} +. +onboardingContainer +. +content +- +tiles +- +container +. +content +- +tile +button +. +tile +- +header +[ +aria +- +expanded += +true +] ++ +. +tile +- +content +: +not +( +: +has +( +. +embedded +- +browser +- +container +) +) +{ +padding +: +5px +; +} +. +onboardingContainer +. +content +- +tiles +- +container +. +content +- +tile +. +tile +- +header ++ +. +tile +- +content +{ +border +- +inline +- +start +: +1px +solid +var +( +- +- +in +- +content +- +border +- +color +) +; +border +- +inline +- +end +: +1px +solid +var +( +- +- +in +- +content +- +border +- +color +) +; +} +. +onboardingContainer +. +content +- +tiles +- +container +. +content +- +tile +: +first +- +of +- +type +. +tile +- +header +{ +border +- +start +- +start +- +radius +: +var +( +- +- +tiles +- +container +- +border +- +radius +) +; +border +- +start +- +end +- +radius +: +var +( +- +- +tiles +- +container +- +border +- +radius +) +; +} +. +onboardingContainer +. +content +- +tiles +- +container +. +content +- +tile +: +last +- +of +- +type +. +tile +- +header +{ +border +- +end +- +start +- +radius +: +var +( +- +- +tiles +- +container +- +border +- +radius +) +; +border +- +end +- +end +- +radius +: +var +( +- +- +tiles +- +container +- +border +- +radius +) +; +} +. +onboardingContainer +. +content +- +tiles +- +container +. +content +- +tile +: +last +- +of +- +type +. +tile +- +header +[ +aria +- +expanded += +true +] +{ +border +- +end +- +start +- +radius +: +0 +; +border +- +end +- +end +- +radius +: +0 +; +} +. +onboardingContainer +. +content +- +tiles +- +container +. +content +- +tile +: +last +- +of +- +type +. +tile +- +header +[ +aria +- +expanded += +true +] ++ +. +tile +- +content +{ +border +- +block +- +end +: +1px +solid +var +( +- +- +in +- +content +- +border +- +color +) +; +border +- +end +- +start +- +radius +: +var +( +- +- +tiles +- +container +- +border +- +radius +) +; +border +- +end +- +end +- +radius +: +var +( +- +- +tiles +- +container +- +border +- +radius +) +; +} +. +onboardingContainer +. +content +- +tiles +- +container +. +content +- +tile +. +embedded +- +browser +- +container +{ +line +- +height +: +0 +; +} +. +onboardingContainer +. +content +- +tiles +- +container +. +content +- +tile +. +multi +- +select +- +container +{ +margin +: +1em +5px +; +} +. +onboardingContainer +. +content +- +tiles +- +container +. +content +- +tile +. +multi +- +select +- +container +. +checkbox +- +container +{ +display +: +grid +; +} +. +onboardingContainer +. +content +- +tiles +- +container +. +content +- +tile +. +multi +- +select +- +container +. +checkbox +- +container +label +. +onboardingContainer +. +content +- +tiles +- +container +. +content +- +tile +. +multi +- +select +- +container +. +checkbox +- +container +p +{ +grid +- +column +: +2 +; +} +. +onboardingContainer +. +content +- +tiles +- +container +. +content +- +tile +. +multi +- +select +- +container +. +checkbox +- +container +p +{ +margin +- +block +: +0 +. +5em +0 +; +} +. +onboardingContainer +. dismiss - button diff --git a/browser/components/aboutwelcome/tests/unit/ContentTiles.test.jsx b/browser/components/aboutwelcome/tests/unit/ContentTiles.test.jsx new file mode 100644 index 000000000000..5f0043dab8ce --- /dev/null +++ b/browser/components/aboutwelcome/tests/unit/ContentTiles.test.jsx @@ -0,0 +1,1461 @@ +import +React +from +" +react +" +; +import +{ +shallow +mount +} +from +" +enzyme +" +; +import +{ +ContentTiles +} +from +" +content +- +src +/ +components +/ +ContentTiles +" +; +import +{ +ActionChecklist +} +from +" +content +- +src +/ +components +/ +ActionChecklist +" +; +import +{ +MobileDownloads +} +from +" +content +- +src +/ +components +/ +MobileDownloads +" +; +import +{ +AboutWelcomeUtils +} +from +" +content +- +src +/ +lib +/ +aboutwelcome +- +utils +. +mjs +" +; +describe +( +" +ContentTiles +component +" +( +) += +> +{ +let +sandbox +; +let +wrapper +; +let +handleAction +; +const +CHECKLIST_TILE += +{ +type +: +" +action_checklist +" +header +: +{ +title +: +" +Checklist +Header +" +subtitle +: +" +Checklist +Subtitle +" +style +: +{ +border +: +" +1px +solid +# +ccc +" +} +} +data +: +[ +{ +id +: +" +action +- +checklist +- +test +" +targeting +: +" +false +" +label +: +{ +raw +: +" +Test +label +" +} +action +: +{ +data +: +{ +pref +: +{ +name +: +" +messaging +- +system +- +action +. +test1 +" +value +: +" +false +" +} +} +type +: +" +SET_PREF +" +} +} +] +} +; +const +MOBILE_TILE += +{ +type +: +" +mobile_downloads +" +header +: +{ +title +: +" +Mobile +Header +" +style +: +{ +backgroundColor +: +" +# +e0e0e0 +" +border +: +" +1px +solid +# +999 +" +} +} +data +: +{ +email +: +{ +link_text +: +" +Email +yourself +a +link +" +} +} +} +; +const +TEST_CONTENT += +{ +tiles +: +[ +CHECKLIST_TILE +MOBILE_TILE +] +} +; +beforeEach +( +( +) += +> +{ +sandbox += +sinon +. +createSandbox +( +) +; +handleAction += +sandbox +. +stub +( +) +; +wrapper += +shallow +( +< +ContentTiles +content += +{ +TEST_CONTENT +} +handleAction += +{ +handleAction +} +/ +> +) +; +} +) +; +afterEach +( +( +) += +> +{ +sandbox +. +restore +( +) +; +} +) +; +it +( +" +should +render +the +component +when +tiles +are +provided +" +( +) += +> +{ +assert +. +ok +( +wrapper +. +exists +( +) +) +; +} +) +; +it +( +" +should +not +render +the +component +when +no +tiles +are +provided +" +( +) += +> +{ +wrapper +. +setProps +( +{ +content +: +{ +} +} +) +; +assert +. +ok +( +wrapper +. +isEmptyRender +( +) +) +; +} +) +; +it +( +" +should +render +the +correct +number +of +tiles +" +( +) += +> +{ +assert +. +equal +( +wrapper +. +find +( +" +. +content +- +tile +" +) +. +length +2 +) +; +} +) +; +it +( +" +should +toggle +a +tile +and +send +telemetry +when +its +header +is +clicked +" +( +) += +> +{ +let +telemetrySpy += +sandbox +. +spy +( +AboutWelcomeUtils +" +sendActionTelemetry +" +) +; +const +[ +firstTile +] += +TEST_CONTENT +. +tiles +; +const +tileId += +{ +firstTile +. +type +} +{ +firstTile +. +id +? +" +_ +" +: +" +" +} +{ +firstTile +. +id +? +? +" +" +} +_header +; +const +firstTileButton += +wrapper +. +find +( +" +. +tile +- +header +" +) +. +at +( +0 +) +; +firstTileButton +. +simulate +( +" +click +" +) +; +assert +. +equal +( +wrapper +. +find +( +" +. +tile +- +content +" +) +. +at +( +0 +) +. +prop +( +" +id +" +) +" +tile +- +content +- +0 +" +) +; +assert +. +equal +( +wrapper +. +find +( +" +. +tile +- +content +" +) +. +at +( +0 +) +. +exists +( +) +true +) +; +assert +. +calledOnce +( +telemetrySpy +) +; +assert +. +equal +( +telemetrySpy +. +firstCall +. +args +[ +1 +] +tileId +) +; +} +) +; +it +( +" +should +only +expand +on +tiles +at +a +time +" +( +) += +> +{ +const +firstTileButton += +wrapper +. +find +( +" +. +tile +- +header +" +) +. +at +( +0 +) +; +firstTileButton +. +simulate +( +" +click +" +) +; +const +secondTileButton += +wrapper +. +find +( +" +. +tile +- +header +" +) +. +at +( +1 +) +; +secondTileButton +. +simulate +( +" +click +" +) +; +assert +. +equal +( +wrapper +. +find +( +" +. +tile +- +content +" +) +. +length +1 +) +; +assert +. +equal +( +wrapper +. +find +( +" +. +tile +- +content +" +) +. +at +( +0 +) +. +prop +( +" +id +" +) +" +tile +- +content +- +1 +" +) +; +} +) +; +it +( +" +should +apply +configured +styles +to +the +header +buttons +" +( +) += +> +{ +const +mountedWrapper += +mount +( +< +ContentTiles +content += +{ +TEST_CONTENT +} +handleAction += +{ +( +) += +> +{ +} +} +/ +> +) +; +const +firstTileHeader += +mountedWrapper +. +find +( +" +. +tile +- +header +" +) +. +at +( +0 +) +. +getDOMNode +( +) +; +const +secondTileHeader += +mountedWrapper +. +find +( +" +. +tile +- +header +" +) +. +at +( +1 +) +. +getDOMNode +( +) +; +assert +. +equal +( +firstTileHeader +. +style +. +cssText +" +border +: +1px +solid +rgb +( +204 +204 +204 +) +; +" +" +First +tile +header +styles +should +match +configured +values +" +) +; +assert +. +equal +( +secondTileHeader +. +style +. +cssText +" +background +- +color +: +rgb +( +224 +224 +224 +) +; +border +: +1px +solid +rgb +( +153 +153 +153 +) +; +" +" +Second +tile +header +styles +should +match +configured +values +" +) +; +mountedWrapper +. +unmount +( +) +; +} +) +; +it +( +" +should +render +ActionChecklist +for +' +action_checklist +' +tile +type +" +( +) += +> +{ +const +firstTileButton += +wrapper +. +find +( +" +. +tile +- +header +" +) +. +at +( +0 +) +; +assert +. +ok +( +firstTileButton +. +exists +( +) +" +Tile +header +button +should +exist +" +) +; +firstTileButton +. +simulate +( +" +click +" +) +; +const +actionChecklist += +wrapper +. +find +( +ActionChecklist +) +; +assert +. +ok +( +actionChecklist +. +exists +( +) +) +; +assert +. +deepEqual +( +actionChecklist +. +prop +( +" +content +" +) +. +tiles +[ +0 +] +. +data +[ +{ +id +: +" +action +- +checklist +- +test +" +targeting +: +" +false +" +label +: +{ +raw +: +" +Test +label +" +} +action +: +{ +data +: +{ +pref +: +{ +name +: +" +messaging +- +system +- +action +. +test1 +" +value +: +" +false +" +} +} +type +: +" +SET_PREF +" +} +} +] +) +; +} +) +; +it +( +" +should +render +MobileDownloads +for +' +mobile_downloads +' +tile +type +" +( +) += +> +{ +const +secondTileButton += +wrapper +. +find +( +" +. +tile +- +header +" +) +. +at +( +1 +) +; +assert +. +ok +( +secondTileButton +. +exists +( +) +" +Tile +header +button +should +exist +" +) +; +secondTileButton +. +simulate +( +" +click +" +) +; +const +mobileDownloads += +wrapper +. +find +( +MobileDownloads +) +; +assert +. +ok +( +mobileDownloads +. +exists +( +) +) +; +assert +. +deepEqual +( +mobileDownloads +. +prop +( +" +data +" +) +{ +email +: +{ +link_text +: +" +Email +yourself +a +link +" +} +} +) +; +assert +. +equal +( +mobileDownloads +. +prop +( +" +handleAction +" +) +handleAction +) +; +} +) +; +it +( +" +should +handle +a +single +tile +object +" +( +) += +> +{ +wrapper +. +setProps +( +{ +content +: +{ +tiles +: +{ +type +: +" +action_checklist +" +data +: +[ +{ +id +: +" +action +- +checklist +- +single +" +targeting +: +" +false +" +label +: +{ +raw +: +" +Single +tile +label +" +} +action +: +{ +data +: +{ +pref +: +{ +name +: +" +messaging +- +system +- +action +. +single +" +value +: +" +false +" +} +} +type +: +" +SET_PREF +" +} +} +] +} +} +} +) +; +const +actionChecklist += +wrapper +. +find +( +ActionChecklist +) +; +assert +. +ok +( +actionChecklist +. +exists +( +) +) +; +assert +. +deepEqual +( +actionChecklist +. +prop +( +" +content +" +) +. +tiles +. +data +[ +{ +id +: +" +action +- +checklist +- +single +" +targeting +: +" +false +" +label +: +{ +raw +: +" +Single +tile +label +" +} +action +: +{ +data +: +{ +pref +: +{ +name +: +" +messaging +- +system +- +action +. +single +" +value +: +" +false +" +} +} +type +: +" +SET_PREF +" +} +} +] +) +; +} +) +; +} +) +; diff --git a/browser/components/aboutwelcome/tests/unit/MultiStageAWProton.test.jsx b/browser/components/aboutwelcome/tests/unit/MultiStageAWProton.test.jsx index dff740abcc65..63cc3d622030 100644 --- a/browser/components/aboutwelcome/tests/unit/MultiStageAWProton.test.jsx +++ b/browser/components/aboutwelcome/tests/unit/MultiStageAWProton.test.jsx @@ -16,6 +16,7 @@ mjs import { MultiStageProtonScreen +ProtonScreenActionButtons } from " @@ -3375,6 +3376,344 @@ split } ) ; +it +( +" +should +render +with +screen +custom +styles +" +async +( +) += +> +{ +const +SCREEN_PROPS += +{ +content +: +{ +title +: +" +test +title +" +position +: +" +center +" +screen_style +: +{ +overflow +: +" +auto +" +display +: +" +block +" +padding +: +" +40px +0 +0 +0 +" +width +: +" +800px +" +/ +/ +disallowed +style +height +: +" +500px +" +} +} +} +; +const +wrapper += +mount +( +< +MultiStageProtonScreen +{ +. +. +. +SCREEN_PROPS +} +/ +> +) +; +assert +. +ok +( +wrapper +. +exists +( +) +) +; +assert +. +ok +( +( +wrapper +. +find +( +" +main +" +) +. +getDOMNode +( +) +. +style +. +cssText += +overflow +: +{ +SCREEN_PROPS +. +content +. +screen_style +. +overflow +} +; +display +: +{ +SCREEN_PROPS +. +content +. +screen_style +. +display +} +) +) +) +; +assert +. +ok +( +( +wrapper +. +find +( +" +. +section +- +main +" +) +. +getDOMNode +( +) +. +style +. +cssText += +padding +: +{ +SCREEN_PROPS +. +content +. +screen_style +. +padding +} +; +width +: +{ +SCREEN_PROPS +. +content +. +screen_style +. +width +} +) +) +) +; +} +) +; +it +( +" +should +render +action +buttons +above +content +when +configured +" +async +( +) += +> +{ +const +SCREEN_PROPS += +{ +content +: +{ +title +: +" +test +title +" +position +: +" +center +" +action_buttons_above_content +: +" +true +" +primary_button +: +{ +label +: +" +test +primary +button +" +} +} +} +; +const +wrapper += +mount +( +< +MultiStageProtonScreen +{ +. +. +. +SCREEN_PROPS +} +/ +> +) +; +assert +. +ok +( +wrapper +. +exists +( +) +) +; +const +welcomeTextEl += +wrapper +. +find +( +" +. +welcome +- +text +" +) +; +const +secondChild += +welcomeTextEl +. +children +( +) +. +at +( +1 +) +; +assert +. +strictEqual +( +secondChild +. +type +( +) +ProtonScreenActionButtons +" +Second +child +is +ProtonScreenActionButtons +" +) +; +} +) +; } ) ; diff --git a/browser/components/asrouter/docs/about-welcome.md b/browser/components/asrouter/docs/about-welcome.md index 9ca3f76caa9c..d26673021ab0 100644 --- a/browser/components/asrouter/docs/about-welcome.md +++ b/browser/components/asrouter/docs/about-welcome.md @@ -757,14 +757,63 @@ of content tiles . -One +Typically +only +one tile -can -be +is displayed per screen . +When +necessary +multiple +tiles +can +be +included +on +one +screen +. +Each +tile +can +be +configured +with +a +header +that +describes +the +tile +and +reveals +it +when +clicked +( +see +example +below +) +. +! +[ +Content +Tiles +] +( +. +/ +content +- +tiles +. +png +) # # # diff --git a/browser/components/asrouter/docs/content-tiles.png b/browser/components/asrouter/docs/content-tiles.png new file mode 100644 index 000000000000..2f09bdf1745a --- /dev/null +++ b/browser/components/asrouter/docs/content-tiles.png @@ -0,0 +1,12348 @@ +PNG +IHDR +4 +D +t +> +iCCPICC +Profile +H +W +XS +[ +H +" +5 +Z +FH +b +k +" +; +bg +l +* +X ++ +oR +} +{ +s +? +g +[ +\ +8 +OT +( +IIe +z +Y11 +v +A +j +| +A +t +~ +/ +U +< +7 +\ +( +a +& +B +T +* +NW +r +86 +- +P +\ +I +& +j +g +2 +Z +N +" +P +: +b +| +> +i +1 +2 +} +f +: +L +r3 +b +. +rS +s +S +r +o +% +fN +~ +S +! +GEC +! +_ +1J +& +* +QC +^ +B +Cl +q +( +7 +* +B +g +9 +N +r +x +( +^ +I +gH +% ++ +/ +Id +) +_g +8J +} +L +8 ++ +! +b +E +( +v +W +. +bG +H +q +- +B +XQ +8N +_ +W08_lS +B +Zx +\ +y +p +. +X +J +_ +; +L +J +W +| +) +qn +7 +x3 +] +c +B +x +0 +& +A +' +^ +Q +/ +HaK +z +z +' +p +d +pP2 +# += +" +x +O +h +\ +W +u +U +H +> +" +< +8 +\ +x +- +EK +! +# +Gt +. +l +< +o +. +l +d +" +t0 +" +C +} +D +{ +3 += +AxH +N +" +( ++ +) +H +H +t +p +q +] +8 +0 +V +- +' +# +; +Q +0 +? +jvjnC +* +Z +X +E +C +f +C +' +; +Na +X +' +F +; +& +C +| +u +F +u +7xge +p +u +q ++ +L +; +_ +< +U +" +* +d +A +x +# +N +n +/ +X +w +m +G +sa +' +9 +& +t +p +0O +* +) +Rp +o +u +c +l +| +; +h +R +} +\ +0 +L +s +( +jP +6 +- +p +g +% +; +p +t +! +! +4 +# +& +% +b +8 +# +L +B +" +8 +IC2 +" +E +# +2d +R +lFj +} +a +r +n +! +5 +P +* +V +H +p4 +f +bt +> +] +V +z +z +v +/ +~ +. +f +9 +L +Ec +X +& +fb +X9V +aM +> +_ +^ +# +N +8 +w ++ +8 +O +y +| +& +w +x +~ +4 +! +E +2 +% +r +6 +! +u +D +] +5 +> +) +l +4 +b +z +Ib +D +" +I +> +h +TH +* +! +# +" +] +! +u +> +8 +T +T9 +rE +g +E +& +S +K +[ +M +n +g +& +CI +dS +P +R +( +g +( +w +) +oTUU +T += +UcU +U +U += +# +U +jGeS +Q +% +[ +74 +OK +jh +i +i +j +j +5 +J +z ++ +j +/ +/ +j +5 +4 +\ +5 +: +5 +5 +4 +5 +4 +k +L +e +E +# +: +F7 +< +< +V +z +6Q +Z +] +[ +M +OGK +U +' +Ig +N +1 +. +] +L +J +Tw +O +- +V7 +z +z +z +{ +} +g +/ +o +g +L6 +p +w +p +m +N3 +b +j +odl +b +6Zgt +X +8 +x +q +d +X +ha +JM7 +~ +6 +6K4 +k +9 +i +a +" +b +E +mK +% +2 +r +9 +V +V +V +Y +Ys +k +l +l +& +T +\ +% +2msl +vnvYv +v +Q +{ +w +{ +z +# +D +# +Gt +: +P +X +E +u +# +: +68 +i12u +F +~ +srs +u +tg +QsG5 +z +l +s +t +Bs +v +U +- +m +[ +Ww +w +{ +{ +G +G +G +' +S +\ +< +I +y +W +~ +s +wz +? +m += +Z0z +G +> +f +> +\ +> +] +4 +M +] +~ +~ +\ +j +| +m +OY +l +. +I +l +/ +0 +4 +- +H ++ +( +1 +" +~ +Ypfpmp_ +[ +# +S +N +a +! +h +D +# +" +WF +E5D +hN +{ +1 +1 +b +ccb ++ +c +w +. +? +1 +~ +g +w +m +I +I +j +' +& +H +3r +1 +R +R +) +m +c += +m +\ +O +a +& +O +N +< +FHKN +s +xl +? +G +# +X +! +x +" +Y +O +^ +! +[ +X +! +| +1 +} +Nt += +y +* +yiy +EZ +QK +q +D +5 +k +I +} +p +| +Ac +6 +o +H +> +( +- +09i +) +SDSZ +M +] +4 +iqp +o +i +i +M +k +g += +; +d +9 +99s +~ +4w +5 +7 +? +{ +_B +~ +- +Q ++ +t +. +^ +q +! +P +m +u +K +/ +9 +} +Y +[ +| +Q +u +I +K7 +# +. +- +o ++ +W +< +Z +~ +cU +' +P +Z +q +e +tM +- +[ +" +ze +* +EU +_ +n +6 +7 +| +qK +' +[ +[ +6 +me +n +m +f +h +g +] +w7 +9 +m +l +/ ++ +| +_ +7 +; +hy +Pi += +R +? +! +1 +p +& +CG +l +? +jz +) +8Q +| +d +S +' +6 +9 += +3 +g +> +{ +> +^ +p +" +b +% +K +n +~ +w +P +{ +[ +e +M +; +_ +r +j +8 +. +] +q +# +q +] +7 +7 +v +wf +% +- +q +? +l +u +A +< += +z +OhO +< +y +hOpO +_ +_ +| +- +S +6 +/ +Wk +W +W +} +~ +_ +A +> +% +z +y +_m +6 +} +vw +o +p +lhF +K +g +U += +[ +' +] +\ +^ +M +6E +M +K +{ +d +z3 +| ++ +eXIfMM +* +> +F +( +i +N +x +4 +D +ASCII +Screenshota +k +pHYs +% +% +IR +iTXtXML +: +com +. +adobe +. +xmp +< +x +: +xmpmeta +xmlns +: +x += +" +adobe +: +ns +: +meta +/ +" +x +: +xmptk += +" +XMP +Core +6 +. +0 +. +0 +" +> +< +rdf +: +RDF +xmlns +: +rdf += +" +http +: +/ +/ +www +. +w3 +. +org +/ +1999 +/ +02 +/ +22 +- +rdf +- +syntax +- +ns +# +" +> +< +rdf +: +Description +rdf +: +about += +" +" +xmlns +: +exif += +" +http +: +/ +/ +ns +. +adobe +. +com +/ +exif +/ +1 +. +0 +/ +" +> +< +exif +: +PixelYDimension +> +580 +< +/ +exif +: +PixelYDimension +> +< +exif +: +PixelXDimension +> +1076 +< +/ +exif +: +PixelXDimension +> +< +exif +: +UserComment +> +Screenshot +< +/ +exif +: +UserComment +> +< +/ +rdf +: +Description +> +< +/ +rdf +: +RDF +> +< +/ +x +: +xmpmeta +> +Ppj +iDOT +" +( +" +" +V +> +0 +* +j +IDATx +w +& +7 +/ +{ +# +} +M +Q +^ +W +" +# +E +\ +o +p +; +' +' +3 +? +OI +H +6 +" +HF_ +" +) +? +Hv +; +d +h0 +h +o +F +d4 +4 +7 +N +# +} +2 +d +' +> +F +Hv +# +h +OF +[ +! +C +) +U +) +Q +T +r +- +2eLv +4 +H +rJ +9 +& +v +k +h +T +& +R += +P +v +6 +~ +! +C +| +| +Z +~ +! +{ +# +G +S +k +> +* +c +E +& +; +* +TPJ +\ +BJ +( +a7 +? +w +k +5 +4 +WF +/ +/ +X +l +W_ +~ +% +7n +> +} +4 +| +p +0 +H += +y ++ +I +sG +e +_ +I +hDE +f +c +; +vL +r +8 +/ +} +U +W +K +' +K +d +r +~ +5 +h +fl +] +V +X +D +4 +jX +/ +J +Pc +iO +4 +: +w +6 +f ++ +hX +C +n +: +d +u +& +a +& +3g +! +Q +H +C +u +s +( +4I +j +[ +t +y +hxE +( +# +~ +: +F +M +W +3f +5 +z +K +/ +J +] +w +9 +F +TG +> += +' +6 +~ +! +H +& +: +! +6 +l +S +_ +4 +! +Z +K +v +lz +I +4 +W +( +' +. +N +4 +% +\ +g +m +\ +F +D +d +R +I +D +p +l +1 +# +H +p +B +4 +T +q +N +hXK +> +N +aI += +& +K +& +: +< +d +d +QF +# +p +' +H +p +B +42e += +zv3 +o +mo +F +0 +( +# +H +! +p +B +4 +q1 +] +tO +& +a +10I +F +# +1 +E +h +o +1 +yQ +R +F +# +1 +E +h +o +1 +yQ +R +F +# +1 +{ +o +/ +* +- +K +~ +R +F +" +- +[ +6 +OT3 +K +~ +d +> +% +* +U +v +[ +7k +X +O +z +| +% +M +4vCw +- +} +Pv +n +S +# +8q +] +' +v +K +' +g +l +* +. +. +^ +2O +O +O +/ +_ +% +X +5 +? +> +wC +) +? +t +\ +k +5 +| +\ +R +Je +^ +t +3 +h +# +{ +[ +J += +% +c +} +G +> +c +V +# +h +} +O +- +PvtN +) +S +. +b += +W +* +4j +\ +_j +| +_F +g +^ +r +p +4Z +j +& +? +f +s +> +pm +4 +qM +e ++ +e +7 +y +9 +O +v +s +R +> +j8 +h +W +/ +y +v +k +A +& +f +A +: +U +g +t +v +r +Oo +bE +' +2 +S +^ +_4GR +o +^ +} +4 +" +N +# += +4h +} +K +~ +v9 +? +* +- +y +8x +4zq +; +w +> +K +s +) +q +. +\ +H409p +l +S6o +" +{ +< +Tu +3 +/ +^ +> +! +w +3 +< +z +| +o +K +G +rU +} +k ++ +| +% +* +O +{ +2 +D +^ +| +Vn +C +d +w +- +e +E +i_ +A +o +h +L +# +4 +T +O +o +h +q +q +& +; +v +: +uj +T +X +> +& +N5 +vl +O +- +^ +2 +o +] +6 +1 +d +\ +j +] +smh +/ +k +f +1 +' +! +6 +- +QW +W +. +X +k +< +p +h +Y +3 +nb +% +G +i +4 +j +Q +R +n +: +Eww +quiPW +Oa +v += +i +A +R +{ +D +| +{ +2g +| +' +} +d +) +P +" +X +B +F +C +4 +E +- +1TD +9 +s +v +wh +- +U +x +8qR +/ +7 +t +9 +D +R +6 +P +N +# +) +W +6mZs +T +2 +C +V +] +: +J +D +{ +8 +b +{ +i +> +W +? +_S +7 +: +G += +{ +8 +b +m +v +9 +~ +Lw +y +H +s +( +cE +6 +Z +j +~ +b +< +~ +( +) +T +U +" +4 +V +9k +JX +k +9b +U +l +YS +: +8 +{ +< +y +uVQ +IA +V +jRPu +\ +BWh +s +k +- +. +\ +0 += +\ +N +I +F += +E +& +L +2 +\ += +0 +( +> +z +q1 +{ +t +1 +} +H +h +% +y +* +N +" +D +; +v +' +rJ +4 +V +} +P +whc +A +T +: +} +Lw +C +] +Y +6r +Y += +# +Al +\ +J +# +| +5j +< +. +[ +4 +\ +] +v +C +. +w +} +o +c +V +^ +7 ++ +1 +} +L +R +[ +o +Jt +> +k +9s +X +h +L +4 +l +ycy +' +X +H +\ +s += +KO +y +? +6 +o +M +# +& +v +Q +\ +> +FH +\ +TF +D +# +A +' +_ +i +; +Y +b +S +uG +N +y +e +; +G +3 +c +^ +c +> +5z +L +8 +{ +8 +2 +F +TTD +L +# +B +. +k +V +: +> +| +D +t +C += +m +Q +5 +u +{ +E +~ +k +hx +' +NU +r +z +m +2k +< +t +4B +& +6 +h +! +Z +! +C +G +) +_ +. +) +U +gB +8 +k +c +R +XQ +} +? +| +; +. +_ +k +] += +l +q +s +W +{ +i +3 +iz +? +t +\ +: +l +i +Pv +| +- +- +! +1r +m +p +- +Z +} +k +C +q +P +% +# +: +a +] +~ +~ +2j +8 +D +y +\ +[ += +ys +r +_ +& +t +\ +o +[ +B +d +? +q +B +# +{ +h +v +2d +O +% +uL +| +; +X +cd +} +V1 +! +q +h +h +5 +c +r +z +6 +u +6se +w +S +6t +H +o +% +] +t +h +\ +W +( +? +a +e +^ +u +l +Cb +I +( +~ +^ +~ +6 +~ +) +/ +_v +WH +: +_ +uZ +Oe +w +; +V ++ +C +] +U +{ +d +> +6 +J +] +k +% +u +o +* +. +n +u +# +T1 +# +H +a +( +w1g +tc8 +A +? +) +] +W +n +| +K +6mZ +k +W +r +d +) +v +J +v += +! +m +t +T +C ++ +{ +G +: +l +2 +s +rI +qH8 +\ +s +h +K +( +. +s +q +\ +k +] +\ +Qd +M +/ +w +} +I +g +m +Y +; +: +j +Q +c +U3 +r +P +( +F +Z +l +* +0Vc7m +RF +; +: +_ +F +~ +4i +R +[ +4 +U +) +s +c +s +I +4i +_ +c +z +w +: +/ +J +O +5t +W +r +K +> +OT +\ +r +o +I +? +: +P +r +: +3g +W +l +rY +- +I +J +7 +r +; +k +~ +F +> +SfXE +H +vY +t +~ +0 +7o +% +o +E +X += +{ +" +5 +: +gD +QR +p +! +_ +{ +^ +2 +9 +G +K +. +n +s +S +5 +? +? +> +3 +W +1 +\ +p +_ +' +2f +h +B +> +? +pD +/ +y +h +G +H +4 +[ +# +y +? +Z +D +hD +g +H +z +" +R +# +" +? +; +/ +H +# +yi +F +~ +K +# +4 +D +FD +~ +v +^ +- +G +" +4 +" +o +h += +) +F +y +h +G +H +4 +[ +# +y +? +Z +D +hD +g +H +z +" +R +# +" +? +{ +. +UTj +< +Yq +\ +' +_Y +< +x +Q ++ +kw +_ +| +N +^ +H +} +S +i ++ +{ +" +a +; +F +. +^ +5 +Z +# +\ +B +P +B +4 +[ +Y +; +{ +: +h +OF +# +Ge ++ +2g +GI +H +s +M +7ni +Fr +b +hl +U +v +| +g +# +? +v99 +h +E +[ +C +4 +V +Y2 +w +20f +' +/ +# +W +\ +r +q +Tt +( +T +) +SJ +. +_o +> +\ +O +E +o +aOl +% +u +[ +h +f +" += +\ +E ++ +; +v +o +" +. +j_ +| +y +J +E +w +K +N +. +RX +g +. +' +~ +z +J +e +oe +/ +; +? +1 +W_ +t +{ +A +h +5 +( +t +/ +< +\ +MI +8 +t +q +Y +% +I +: +d +d +U +r +[ +1 +h +; +/ +S +& +& +M +* +' +Y +e +y +f +? +Y +62 +~ +( +' +q +1G +D +e +f +Yn +VW +- +9sF +: +w +7 +( +[ +h +) +W +nI +* +U +/ +] +Y ++ +s +vm +e +Qf +bU +g +z +U4B +| +h +y7 +v +2x +p +| +4e +j +w7 +) +_ +y +G +I ++ +\ +O +c +w +u +[ +{ +K8 +O +8 +g +! +WB +9 +1F +& +_ +} +Y +* +V +oV +u +V +' +n +^ +? +K +7 +{ +9 +C +9H +5hi +N +C +) +L +4h +0 +U +V +X +U +h +r +2hP +? +I +6 +{ +2 +4 +hL +1 +- +2t +( +3 +: +; +d +R +t +) +l +P +c +. +! +W +TZ +jn_ +A +m +E +< +5 +q +< +hU +n +z +3s +T +v +K +HL +a += +\ +G +Wn7za8 +{ +Sh +b +r +\ +m +] +8 +c +. +9 +y +R +dqWx +z +Y +h +g +_ +~ +9m +| +} +r +1 +w +^ +s +. +/ +i +IoV +vkh +ho +L +L +0 +> +} +d +JS +J +y +" +\ +# +] +( +c +J +6WW6 +1 +} +[ +| +/ +Y +x +] +a +: +c +q +' +N +u +& += +M +G +n +{ +} +S +_g +5o ++ +. +U +l +. +C +0u +W +C +{ +> +} +k ++ +V +; +o +BY +} +1 +v +c +N +} +J +S +se +P +! +l +DC +j +z +O +? +? +h +~ +i +' +} +k +C +aF +h +t +z +I ++ +2d +( +! +> +V +; +C ++ +\ +p +lU +S +Q +} +Z +h +' +: +_ +w +[ +d +? +q +Y +U +a +/ +1 +C +k +/ +1 +X +y +~ +4 +T +5 +{ +: +Gb +h +d +| +F +j +M +[ +[ +# +N +e +S +PAs +EK +y +K +U +y +} +\ +e +/ +s +5 ++ +4 +u +B +4 +T +Ok +0 +a +c +" +* +YG +A +/ +oO +: +; +9 +{ +} +k +h +i +} +_ +{ +^ +] +/ +p +Hl +a +8s_ +3 +? +u +vm +: +g +a +c +A += +L +d +] +: +F +% +C +{ +9 +& +N +c +j +p +_ +3T +aE +\ +m +C +] +# +Y +0n +8 +z +3 +p +< +sE ++ +} +| +: +5k +^ +E +! +7 ++ +nd +E2 +s8d +Qn +F ++ ++ +V +. +hL +| +Y +7 +F +3 +- +f +A +7 +X +p +] ++ +y +g +7j +4thL +: +< +} +- +[ +7O +< +0 +u +^ +j +B +8w +! +. +. +5 +y +K +I +M_ +Q +O += +4lT +; +w +. +1s +] +| +* +4j +\ +_j +| +c +} +_X +0CC +& +F +| +/ +> ++ +6 +r +U +J +h +r +[ +l5 +u +^ +R +X +\ +Z +- +] +a +C +< +4 +) +| +l +T +T1 +eV +a +4r +. +f_ +& +kC +M +F +h +> +O +f +[ +| +& +4 +7 +: +: +GI +zW +k +> +F +^ +s ++ +4 +h +ho +r +] +: +Y +# +Ge +E +; +\ +s +g +: +h +8L +n +f +3l +p +4 +a +3Tt +N +[ +tt +; +i +K +U +h += +I ++ +3 +C +' +I +' +6 +q +9 +) +5 +F +UZ4o +v +o +P +w +t +{ +x +U +e += +I +7C +f +j +5 +p +o +e ++ +; +n +H +) +R +y +wK +1 +~ +F +7 +c +< +5 +L +Vu +U +t +H +6 +35 +I ++ +C +D +; +] +d +T +yj +c +% +U6 +6 +& +K +a +% +W +' +C +^ +i +e +[ +ccc +G +h +h ++ +K +a +K +> +w +YF +{ +u +Y +4 +s +V +& +B +/ +4KG +w +X +5 +# +& ++ +# +O +I +fo +s +* +Z +< +^ +6UW +h +6Z += +j +s2N += +> +p +J +u +kK +: +i +KX +Z +D +V +\ +Q +w +l +nvYwJ +( +. +# +F +C +k +Q +li +? +N +) +[ +9d +k +) +jW +& +R +o +^ +# +- +; +Ugt +3 +w +K +g +^ +l +N +J +{ +: +h +} +q +{ +WK +. +Y +% +X +M +0 +j +d +| +; +h +k +> +" +- +( +c +[ += +4 +s +e +- +] +p +4 +b +H +2 += +rLN +< +! +] +U ++ +> +[ +[ +o +% +h +Y +1cF +z +8 +? +< +) +P +XQ +y +' +- +l +I ++ +3 +# +S +L2o +: +Z +V +} +y ++ +[ +Kj +Q +> +F +O +8 +: +H +j +9 +g +! +: +{ +\ +( +^ +S +H +! +S3d +_ +3 +( +7 +~ +< +' +k +h +Jf +- +J +' +u +! +s +{ +zuD +x +. +Np +zO +* +U +V +[ +? +; +o +> +! +2 +W +7 +K +< +cFO0 +m +yx +U +svX +9 +f +vf +[ +d +Ar +WVRY +p +y +{ +6 +: +m +6 +4 +SG +_ +\ +f +{ +Cv +^ +} +l +| +u +l +[ +] +q +C +6 +K +I +y +u +f +M +w +H +{ +7 +d +Mt +w +A +\ +C +2eK +F +] +S +~ +: +g +% +CUn +_ += ++ +; +w +~ +r +/ +9 +C +A += +b +! +( +: +G +{ +m +\ +| +Y +: +k += +> +P8 +- +! +( +B +C +! +x +h +u +C +4 +: +! +C +x +! +H +G +o +^ +K +] +T +T +} +: +Q +q +{ +q +& +* +O +" +\ ++ +" +a +( +( +hx +( +" +B +hx +> +" +a +( +( +hx +( +" +B +hx +> +" +a +( +( +hx +( +" +) +4 +Ci +a +" +K +mI +G +> +. +c +N +q3 +Hy +) +F +x +yA +R +1 +< +m +% +3p +y += +F +Y +I +M +z +h +\ +Om +I +" +Y +I +M +z +h +\ +Om +I +" +Y +I +M +z +h +\ +Om +I +" +Y +I +M +z +h +\ +Om +I +" +Y +I +M +z +h +\ +Om +I +" +Y +I +M +z +h +\ +Om +G +c +R +ZU +M +4 +| +p +/ +J +| +U +e +z +n +W +_d +aG +h +5o +F +So +} +F +t +K +* +" +! +M +' +L +/ +# +H +m +X +r +( +; += +4h +} +h +] +' +v +QM +x +q +? +n +. +\ +# +G +D +m += +{ +h +D +F +< +p +y +> +} +xj +> +| +* +Y +q +Q +] +R +) +? +t +\ +k +N +\ +9e +T +N +r +I +3f +* +j +hh +% +: +} +C +8h +p +4 +' +! +n +K +K +> +C +> +s +II +F +kK +Z +o +{ +i +] +f +' +* ++ +} +l +X +) +F +6l +c +L +N +c +o +o5 +- +: +E +g +/ +I +UJ +t +C +S +! +) +9s +b +bM +C1 +| +wr +q +# +H +] +q +E +R +m +% +K +? +C +k +* +/ +_v +_ +d +A +M +3 +< +? +H +[ +[ +lXL +Bd +* +% +o +. +a +[ +v +x +S +; +w +. +1s +} +v +ul +L +) +S +e +c +h +{ +; +K +a +{ +y +J +tiE +~ +< +xHV +C +- +; +{ +\ +; +; +n +& +l +S6o +" +| +S +Y +5tCC +g +u7t += +m +~ +{ +H +J +v +lN +Y +1 += +" +Y +^ +so +| +3g +o +{ +I +IAK +C +W +3 +d +w +m +eG +IM +} +K +4W +? +iSg +A +qM +x +& +R +> +i +! +: +F +b +) +: +uj +T +X +y += +_ +S +6 +u +/ +oLlz +] +J +r +N +< +m +F +Q +} +G +> +' +On +> +c +} +30 +~ +F +f +_ +3 +6 +] +_ +A +L +{ +h +d +: +Ibm +> +[ +u +pU +E +{ +_ +: +uk +u +1 +) +} +2u +u +_a +p +b +4 +U +% +] +1e +W +vh +A +> +1cF +7 +tr +w +? +o +8 +hX +! +% +eIG ++ +u +\ +1TD +ho +k +ys +wh +- +U +> +d +uG +^ +_n +Fs +s +[ +9w +) +i +C +^ +[ +[ +] +_N +[ +& +e +Wz +p +. +K +& +3 +1 +Y +8u +; +s +. +9 +' +t +gjH +& +] +kx +. +p +9 +jy +< +Cc +^ +X +g +? +3 +c +f +0J +* +hU1 +4 +; +< +/ +# +e +f +" +g +[ +g +I +IA +zv +2 +p +: +& +m +T +p +bY +Z +X +' +e +: +d +| +c +) +W4dr +P +P +k +H +H +6 +A +a0v +D +& +Su +s +z +8 +u +[ +d +Z +E +2 +\ +v +H +4 +! +> +2 +~ +{ +E += +7 +| +V5 +u +8 +. +' +fG +! +Bdm +p +j +> +- +E +" +Y +# +_ +? +F +y +& +X +O +] +o +N +n +G +& +QQ +} +~ +s +H +4tn +q1 +G +Z +u +? +/ +M +_ +- +' +B +pk +k +K ++ +- +; +# +DH +# +H +? +_C +a +: +. +] +z +s +^ +il +y +8 += +< +m +Gr +1 +AW +q +i +: +' +1 +I +] +WV +e +5 +" ++ +O +gg +x +wR +] +: +^ +G +3 +Fr +K +Fw +aj +l +8 +t8 +) +] +K +j +> +D +N +> +U ++ +W +? +} +mV +G +K ++ += +4 +> +< +R +HaW +/ +J7s +X +* +W +; +[ +_ +u +y +r +< +. +] +: +s +P +] +} +G +Q +# +D0 +l +A +] +nM +N +M +0 +sO +) +_ +. +) +U +8C +# +y +Y +" +9 +d +& +L +m +[ +hX +R +vha +H +B +& +m +2c +l +! +b +? +A +H +' +f +} +# +3 +O +> +O +C +i +v +\ +e +[ +E +o +7 +z +7 +3 +} +s +^ +/ +s +. +L +Gp +4 +O +: +tA +H +; +' +/ +e +q +w_e +^ +v +{ +% +c +> +r += +[ +A +% +j +a +q +B +J +QvK +1 +o +4 +I +H +L += +_Z +nn +> +O +{ +e +1 +h +1n +H +^ +! +kd +e +C +# +B +# +x +u +r +w_ +] +U +} +f +# +x_ +n +f +m +yg += +eoC +o +Vt +E +B += +Z +_ +li +Y +m +; +f +( +< +p +t +E +i +r +e +~ +; +* +T +Xu +' +MCm +x +U +6mZ +^ +K +{ +c +l +XN5 +< +5 +\ += +9B +B +1c +K +E +\ +Y +m +. +/ +w +? +4t +9s +An +r +Q +w7c +rv ++ +uK +6 +u +r +v9w +\ +2c +y +cW +; +| +6 += +a +x +y +/ +_ +: +s +} +s +q +* +9 +! +? +p +h +| +~ +? +FK +( +. +s +q +C +c +. +? +- +[ +l2xH +) +X +u +K +& +M +* +} +1N +~ +{ +bU +C +{ += +7C +f +b5 +j +) +S +& +5z +xc +~ +v4 +U +\ +cxP +8 +9 +P0 +I +O +? +SC +4ih_ +6 +. +l +i +9 +9 +UW +\ +ZV +s +- +^ +h +? +u +W +r +fY +s +H +' +I +\ +9 +] +u +p +0pP +? +) +U +v +O +] +U3 +^ +1 += +{ +N +} +c +d +. +. +51 +y +i +6 +o +Z +G +% +c +} +1c +w +e +P +[ +( +u +7dWf +X +c +I +O +we +s +V +' +I +. +. +d ++ +v ++ +A +U +Q +" +A +p +> +D +{ += +J +Z +? +3 +3g2 +} +D += +1qg +% +{ +d +l +/ +" +G +B +_ +# +- +D +" +F +# +Z +E +F +< +h +! +x +4 +< +4 +B +hx +( +" +h +7 +PD +oD +# +/ +" +G +B +_ +# +- +D +" +F +# +Z ++ +J +' +7 +m +O +? +F +# +R +u +_ +] +N +s +r +& +w +z +O +[ +R +F +g +xO +K +1r +J +eh +h +w +J +a +_ +J +N +s +d +# +} +2 +D +F +4 +9 +* +p +] +9s +& +) +^ +< +J +* +U +Gr +n +o +qK +v +4 +d +h +c +2d +WDG +3 +x +> +? +s +i +# +9 +} +- +D +F +o +J +Z +d +w +m +1C +> +| +r +; +w +~ +D +B +L +RR +p +! +9x +l +z +) +o5 +] +w +{ +/ +} +{ +b +% +o +. +! +S +bE +{ +5k +y +IDAT +y +* +/ +o +^ +c +| +t +wW ++ +w +] +V +- +j +_ += +t +' +] +tr += +p += +{ +v9q +; +3 +_m +6 +W +} +P +/ +[ +| ++ +6 +~ +L +w +Y +| +) +S +Z +# +U +> +f += +v +Gy +c +8Ox +jJ +7 +9 +CU +g +g +m +s +: +P +n +- +y +g +% +M +4 +! +_ +% ++ ++ +yw +x +> += +D +v +y +2 +5 +) +V +h +W9 +- +7 +! +FI +< +] +9 +~ +' +- +[ +6c +% +r +h +3 +sO +A +GK +rwK +T +\ +% +yg +ZY +le +s +k +- +2 += +{ +r +F +[ +) +# +F +P +^ +I += +zL +_ +zB +# +H +] +c +( +w +[ +y +~ +> +g +N +* +8 +i +1z +0 +R +by +J +j81w +t +Z +4N +Y +a +< +: +u +A +AK +v +66 +u +* +g +2n +H +" +AC +! +j +j +r +5W +: +[ +o +A +I +i +] +u +5 +s +/ +0 +c +vO +o6o +CG +O +/ +e +/ +\ +h +! +R +K +e +; +tq +! +y +Us +z +m +. +9 +1 +G +~ +w +K +8d +~ +kP +8 +| +T +P +^ +- +Gb +> +: +d +r +B +g +W +{ +j +o +e +xte +; +w +% +E +f += +C +> +h +i +sF +{ +s +h +4 +L +gMz +[ +C +F +{ +3g +e +6 +X +# +# +T +7T +B +4 +VU +e +tx +: +op +K +! +8q +c5q +i += +t +k +k +: +y +] +Y +p +} +z +e +fv +& +B +A +X +W +] +^ +ys +t +i +M +wJ +U +' +: +e ++ +C +z87 +! +f +n +& +B4l +\ +. +^ +hVs +z +~ +> +t +F +~ +A +' +M +O +> +] +[ +K +G +3 +- +< +V +# +3 +Mr +] +! +C +y +Z +g +r +g +F +E +E +; +2 +m +" +C +u +g +b +| +v +1 +n +n +] +{ +U +. +g +g +bU +hL +? +h +[ +Es +c +c +7 +T +{ +_4m +j +1XtBO +t +V +- +; +| +B +sxX +- +Z +* +o +~ +h +] +\ +V += +^ +/ +# +x +k +0 +6g +_ +k8 +F +/ +g +} +Z +\ ++ +QQ +: +F +p +40 +: +x +| +{ +_ +w +y +q6 +{ +] +F +H +X +" +z +Gb +F +[ +B +X +d +s +k +9 ++ +h +^ +_ +a +% +K +7W +Y +5j +/ +e +y +3q +P +& +D ++ +j +j +} +B +4t +qc +' +s +i +W +h ++ +\ +Y +T +- +Z +< +Xq +# +s +! +S +r +M7 +X +NX +r +} +e +c +R +n7 +' +& +( +/ +m +Y +5z +lm1s +_ +UW +z +Z +> +l +> +K +Q +} +g +Cc +id +N +oq +U +y +RCo +4 +s +T +V +t +w +_ +; +. +^ +2 +L +g +? +7m +RF +o +} +' +a +zv +g +s +S +Z +/ +n +sx +U +Q +R +Sf1 +U +j +j +5 +4 +_ +^ +x +Y +W +A +k +X +/ +zTB +^ +# +3 +e +r +X +m +l +h +NN += +c +F +R +q +. +f +/ +k +g +# +Gv += +5 +Z +5 +_ +h +" +5j +< +n +# +y +F5c +8 +7Ih +> +D +9J +\ +I +4 +0 +4 +r +[ +A +F +! +D +F +- +D +{ +k87 +z +u +f +9 +* +/ +2 +\ +& +8 +9Dc +a +u +6 +~ +a +- +4 +c +s +p +I +0O +; +] +4 +T +F +G +HZ +: +N +: +im +} +A +l +IAu +} +* +4j +v +y +[ +3 +} +: +k +cV +Z +- +K +Ib +t +5 +[ +V +} +V +xS +- +[ +i5 +? +q +FJ +[ +1 +4 +I +& +M +k +v +v +F +. +K +C +yE4P +! +M +\ +R +' +R +6 +] +% +S +V +- +G +3V +. +yE +yl +1 +h +^ +} +] +j ++ +: +7 +: +Fn +J +. +> +: +OG +fW +' +# +f +_ +) +] +. +] +2 +2 +d +} +d +^ +l +z +61o +* +TP +^ +x +Y +: +z +G +: +a +4 +^ +y +O +4 +{ +C +Sa +bG +r +9W +q +vF +H +Wze += +uX +[ +MK +\ +: +d +* +* +' +z +R +{ +g +% +t +S +Dq +1r +z +\ +eKK +W +_ +v +0 +N +u +r +! +^ +h +LQ +z +/ +7 +' +D +% +p +xk +Y +h +o +: +d +< +X +< +K +. +F +w +N +V +\ +9lD +kO +' +6 +p +c +. +Z +dq +b +jm +: +? +F +! +fQ +% +K +A +^ +{ +~ +n +) +\ +D +O +C +/ +E +> +O +( +ci +z +k +G +) +e +W +cr +) +V +j +( +Zi +n +z +~ +( +F +3 +k0u +! +I +) +d +| +b +o += +q4haC +HZ +2e +y +g +04 +' +} +R +C +C +> +Gp += +Z +n +ZR +5 +~ +q +_ +D +U +{ +< += +# +G +p +w ++ +X +B +4 +" +E +N +! +C +> +j +1v +D +9 +8 +~ +] +E +V2k +} +f +> +| +L +W +l +T +? +Q +3d +^ +C += +/ +# +: +L +] +pQt +~ +{ +W +r +j +% +A +} +y +x +a +^ +* +T +( +g +& +v +! +3z +< +l +F +{ +^ +7k +F +3 +< +G +o +e +k +1 +u +i +} +i +Y +: +z +^ +: +2 +VE +Kd +C +j_ +3 +: +] +7M +4 +Sf +53m +L +s +. +% +E +; +1T +{ +l ++ +. +\ +J +) +[ +Jn0z +( +2 +~ +: +KP +9 ++ +i +rc +r +Y +sW +f +~ +| +y +a +> +} +rP4 +A +> +k +r +a +\ +h +! +o +> +| +h +Fx +Z +> +4 +| +p +[ +# +C +> +P8 +- +! +( +B +C +! +x +h +u +C +4 +: +! +C +} +h +! +o +> +| +h +Fx +Z +> +4 +| +p +[ +# +C +> +P8 +- +Fx +: +' +v +O +H +N +" +# +> +2 +J +Hi_ +A +6 +00 +yE +E +' +% +sR +[ +" +4R +e +% +) +J +# +E +} +N +^ +[ +" +4R +e +% +) +J +# +E +} +N +^ +[ +" +4R +e +% +) +J +# +E +} +N +^ +[ +" +4R +e +% +) +J +# +E +} +N +^ +[ +" +4R +e +% +) +J +# +E +} +N +^ +[ +" +4R +e +a +3f +j +o +> +a +% +^ +# +ZS +j +n +* +U +* +W +Z +- +K +H +n +W +_d +A +HY +| +f +K +| +y +[ +o ++ +v +~ +b2 +. +] +: +J +} +% +HH +[ +d +r +E +7 +~ +) +R +kP +] +e +^ +/ +mZw +N +w +. +Y2 +} +I +t +\ +/ +6l +[ +M +. +^ +2O +O +O +/ +_ +% +X +5 +? ++ +U +? +G +G +_ +| +m ++ +55 +i +6ZN +8 +) +c +bQE +yQ +D +] +v +n +F +J +' +V +; +7 +| +Q += +L +F +< +) +) +rm +U +y +mO +> +# +- +[ +u +q +] +e +O +7 ++ +t5e +aR +x1 +j +; +f +] +v +) +h +T +{ +Q +i +j +Sw +t +u +pE +Z +N +IDAT +u +[ +K +C +E +1 +G +PA +Mw +( +! +& +% +F +[ +w +f +5 ++ +Y0 +\ +{ +M +< +S +Y +~ +< +q +? +o +o +2r +st +> +. +w +} +u +/ +E +# +) +~ +G +~ +S += +YO +B +9 +7_IH +u +6mZ +Q +Y +L +8 +t +d +y +_v +< +c +9 +^ +R +5 +K +m +. += +{ +e +] +; +R +~ +W +^ +x +; +t +_ +) += +W +! +! +N +: +{ +K +; +zL +m +KR +2e +R +z +5 +ES6l +( +} +W +> +9 +i +J +4 +& +: +F +< +' +g +i +fg +[ +| +y +C +% +c +65i +d +> +! +z +[ +< +yR +x +i +w +C +* +W +G +M +# +Rb +M +# +A +J +n +r +" +E +& +_ +R +- +M +; +p += +\ +9s +7 +AC +9 +} +a +j +2k +l +m +J +W +^ ++ +v +C +- +h +R +Z +g +U +_ +x +C +j +p +Y +8uv +# +? +g +8 +} +Y +m +F +I +: +wJ +| +S +Lr +a +Oe +Z_ +0T +~ +mi +i +i +Ig +^ +Yg +Fd +{ +? +h +] +CZ +| +X +uR +A +; +_ +S +j +J +J +: +wi +/ +U +T +_7 +9sF +< +^ +> +c +m +& +n +M +} +p +M +v +m +. +] +z +n +6 +nA +mlv +{ +I +P +_O +3 +' +0 +A +; +a ++ +pCy +~ +) ++ +k +Y +# +O +< +4 +| +~ +sy7 +vm +h +q +GK +C +: +e +G +q +I ++ +DH +: +Z +j +K +6m_ +[ +o +j +- +. +r +2 +? +V +1 +/ +Cb +% +k +K +G +" += +D +3 +K +4q +sG +- +[ += +' +~ +b +f +I +z +- +5 +m +1v +( ++ +I +& +C +u +o +~ +{ +5 +I +B +# +k +5 +t +hK +S +N +} +/ +5 +w +m +> +0n +< +s +y +j +. +% +h +5 +~ +B +G +| +Y ++ +4 +# +E +M +P +p +! +" +4 +B +o +7 +] +_ +# +U +- +Ug +- +o +9I += +I +h +O +T +6k +T +} +j +: +u +| +g +4 +{ +d +% +R +zUy +P5 +{ +l +< +m +s +E +R +F +o +? +2 +% +^ +x +W +Z +M +Y2 +{ +G +w +^ +ha +) +U +m +U +k +ng += +& +& +. +s +IF +g +: +C +k +Y_ +w +o +D +~ +t +q +v7 +N +# +q +^ +vB +ny +& +X +: +/ +En +T +d +2 +Y +) +Q +Y +? +? +D +GqBJJ +42f +( +oO +{ ++ +) +w +y +Es +# +G +I +. +D +4 +x +xF +! +F +0 +H +u +6o +" +: +t5 +s +{ +i3 ++ +8t +{ +v +. +{ +: +{ +L +? +~ +> +} +z +u +s +\ +Cw +\ +y +^ +' ++ +T +Z +% ++ +x +l +yK +m += +8 +P7 +% +: +en +v +< +a +DB +' +N +o +qS +~ +} +e +t +* +! +) +] +# +o +B +P +! +U +V +- +[ +J +Zh +o +{ +> +) +Z +H +u +M +' +3 +{ += +% +W +v +x +~ +E +_ +[ +h +< +h +P +. +j +[ +ie +o +~ +e +O +e +s +D +- +% +O +> +< +tZ +Z +: +. +d +j +q +T +\ +Q +/ +# +T +od +7 +) +9 +d +^ +zy +c +aE +G +tB +g +E +. +* +T +P +s +7 +[ +u +Q +h +" +fm +] +A +~ +j +4 +Y +9 +^ +H +' +u += +_ +1 +s +. +i +B +o +q +ai +9 +E +^ +i +[ +/ +M +t +w +; +sj +V +W +b6t +Fn +Q +9 ++ +: +k +] +5XD +' +N +& +v +pchh +! +F +] +q +7g +% +^ +w +r +sx +x +[ +< +h +} +C +< +3A +d +4 +J8w +. +o +0f +H +) +X +s +T +[ +4 +SO +ke +" +- +y +y +3 +# +M +FkE +i +" +/ +? +* +h +. +z +< +4 += +zZ +ta +: +V +EV +] ++ +. +8L +/ +^ +b +X +6 +} +b +( +c +N +G +} +[ +1 +g +s +Z +jH +c +G += +g +] +H +s +R +Z +V +o +Nv +c +^ +h +e +% +Kf +W +> +e +W +a +i +J +MpU +N +% +. +] +u +! +P +) +. +] +| +u +{ +t +/ +^ ++ +x +d +h +N +6 +; +: +I +lH +CC += +/ +g +N +; +z +G +< +W +z +~ +# +v +v +} +u +I +O +! +! +k +lD +R +F +/ +9R +/ +U ++ +p +[ +u +1m +l +E +9sF +< +^ +T +W +nA +- +A +J +k +> +& +NzM +f +b +# +S +L2 +| +? +s +p +u += +R +t +. +UM +} +E +> +! +_ +SNU +& +' +v +C +- +d +4 +n +~ +S +} +( +~ +) +A +m +- +\ +z +* +6 +z +{ +3 +N +d +/ +r +! +- +g +z +f +: +u +tv +Y +V +v +t +f +AV +~ +) +y +& +hw +/ +O +r +] +wH +4w +D3 +m +X +j ++ +' +Z +d +83U +T +R +Je +Z +i +W +K +9 +- +^ +; +z +\ +Y +n +UW +# +G +\ +. +> +{ +} +: +t +. +Y +5mj +\ +I +] +rX +\ +& +ZEE += +{ +CC +t +q +P +# +\ +1 +Ftn +1 +! +> +F +4 +s +( +F +4 +D +' +G +! +4b +: +8 +b +( +C +| +. +hD +Q +C +si +N +# +: +7 +B +h +K +# +t +q +P +# +\ +1 +Ftn +1 +! +> +F +1 +e +_xF +( +- +s +O +E +| +% +Y +e +_ +sT +f +iv +_ +Af +[ +5 +T +R +D +] +p +v +! +W +F +< +k +R +N +P +} += +g += +! +J +a +: +U +/ +t +Y +K +? +* +' +O +B +3v +: +U +s +. +g +% +h +G +i +O +R +F +gL +E +hk +v +[ +UW +] +% +k += +H +) +io +( +" +# +N +> +L +> +% +hh +] +> +e +Y +; +DA +R +F +< +o +? +T +f +Z +; +# +~ +C +h +p +b +4 +F +< +P +vr +x +< +u +% +K +2 +> +{ +V +. +] +/ +_ +) +g +8 +{ +kKI +T +c +u +6 ++ +m +R +je +\ +; +d +? +d +. +J +# +g +Y +r +^ +T +; += +Z +* +R +xQ +9 +h +oK +Z +S +L +m +. +W +| +YBr +] +Kv +% +Z +- ++ +W +vQ +K ++ +g +8y +l +7 +' +o +r +q +\ +li +- +m +{ +N +' +3 +) +1 +i +} +w +f +/ +Q +Y +> +{ +r +? +r +n +Q +Y +m +W +M +CUw +% +( +S +LR +rE +) +[ +| +7l +\ +Z +x +: +~ +G +xc +> +6 +\ +/ +_ +^ +6 += += +{ +k +r +] +Y +e +I +^ +3 +t +FO += ++ +# +G +> +C +c4 +6 +Gs +C +> +O +8 +! +C +y +~ +A +M +4i +V +1 +L +c +E +; ++ +PWW +4xH += +p +f +a +u +S +V +^ +U +m +Dr +Y +! +Z +> +cYf +Om +ls +m +qw +? +F +pW +Z +d +I +e +T +I +. +h +" +] +f +] +u +A +{ +H +] +< +~ +| +L +< +- +T +# +) +w +x +o +O +SO +> +C +d +2 +CK +V +N +b +* +s +I +j +0 +J +l +d +WMm +4vl +V +" +x +_ +/ +w +4 +' +G +7v +| +A +{ +4 +} +Q +v +z +# +R +G +R +P +> +G +d +b +# +c +H +{ +HP +4 +~ +f +& +R +B +T +M +\ +^ +N ++ +6 +; +hT +x +t +YR +N +f +^ +I += +: +i +z3 +n +s +} +T +# +) +w +1k +l +: +: +iA +3d +^ +3 +? +w +k +{ +w +] +* +[ +j +7 ++ +i +t +Q +] +3 +/ +^ +b +M +% +5j +" +w +K +. +hk +; +t +u +j +j +% +P +z +j +h +B ++ +O +} +M +7 +I +y +^ +* +v +o +m +a +} +G ++ +V +u +^ +Z +t +p +g +| +. +y +[ +r +} +L +t +> +v +? +R +P +P +h +h +g +y +j +t +5 +# +v +~ +' +lT +_ +H +F +M +ew +[ +E +v +9z +T +t +) +Z +y7 +{ +> +5 +hJR +} +9 +y +? +{ +o +Y +t +f +) +Q += +j +E +qN +( +x +^ +7 +C +T +? +- +w +l +# +^ +N +C +SW +X +? +h +G ++ +S +& +x +; +v +% +Z +s +G +_ +v += +- +( +k +/ +; +? +; +v +sZ +h +w +- +Zo +c +p +w +F +h +B +[ +9k +% +b +\ +K +u +S +| +k +5D +: +Z +f ++ +p +z += +l +O2z +8g +hh +V +u +o +7y +_8 +AA +# +w +8q +| +> ++ +] +tJ +e +A +; +~ +{ +T +jU +j +] +E +O += +h +. +C +k +l +[ +e +H +F +< +Z +> +Lv +~ +6o +2 +8 +6 +? +A +u +Pe +x +T +v +! +: +k +2kV +w += +^ +g +7 +{ +y ++ +E +[ +- +' +n +- +G +~ +" +kv +f +} +\ +2 +Vw +? +} +E +Wu +t +y +? +u +q +G +; +_ +| +w +{ +A +[ +hW +- +: +~ +O +\ +f +4 +6 +n +( +1 +i +G +c +) +p +7 +a +: +V +s +- +I += +F +H +70 +H +a +| +" +G +h +9 +[ +z +. +7 +P +? +/ +p +w +V +sR +X +F +V +x +G +a +# +? +D +L +> +Q +5 +n +m +; +[ +jT7 +~ +a +x +sr +# +V +& +: +l ++ +k +P +. +c +. +: +K +jA +Z += +p +~ +C +O +k +tL +' +o +_y +u +{ +v +* +z +4 +- +B +ct +: +C +/ +" +nI +n +# +o +? +M2a +} +| +" +I +! +b +D +? +h ++ +ml +? +/ +< +B +P +z +E +! +5 +B +M +3 +~ +. +n +< +e +J +) += +1Z +% +n +U1 +f +L +4h +E +[ +v +- +f +7 +i +) +4 +| +g +} +{ +! +\ +. +u +t +| +F +| +\ +b +; +q1 +; +R +| +_o +j +; +b +Yv +' +H +< +4 +c +l +| +o +x +] +s +A +' ++ +h +! +6 +4R +W +3g +t +! +cM +Y2 +[ +3i +( +p +F +} +? +: +2 +F +4 +d +Z +r +H +z +? ++ +H +" +# +_ +F +LB +) +q += +N +& +| +9 +; +W +gM +: +1 +e +A +Nl +G +k +} +k +[ +wkL +Xa +} +; +Q +L +5 +7 +] +w +Y +L +& +q +b +H +F +< +T +A +) +5 +iM +E +y +4 +G +4 +_ +XS ++ +: +y +Q +: +# +G +5 +? +_ +O +> +c +3 +^ +t +; +p +5 +i +fk +8 +O +v +{ +K +o +y +H +} +] +? +k +R +Yh +2 +z +L +h +e +2g +f +h +: +G +vi +^ +' +| ++ +/ +Z +e +wk +& +< +Z +* +s +] +{ +E +G +Y +v += +F +EA +B +h +Rqm +h +4 +QnOc +y +uh +9 +# +R +. +U +O +? +# +f +I +u +q +\ +[ +. +l +n +. +; +[ +n +fV +{ +V +g +7I +Uq +. +' +Z +N +? +? +S9 +3 +# +w +! +G +Muw +a +F +) +p +\ +9uV +m +b +< +0s +p +; +> +} +M +JG ++ +) +Z +P +* +| +> +> +6 +} +. +H +D +c +h +a +; +5o1g +_ +kV +s +L +[ +mh +H +& +: +? +yE +GsN +P +N +u +{ +u +3 +2l +H +e +5 +5 +w +M +] +4 +[ += +( +g +? +) +. +z +G +K +G +2 +/ +r +7 += += +3 +; += +( +B +Oq1 +w +g +zw +T +' +s +4 +o +% +> +( +P +* +m +x +Lg +mZ +j +w +: +g +* +< +r +A +{ +ngug +KR +eZg +? +W +% +{ +l +P += +C +[ ++ +} +4irnPS5m +K +[ +B +R +: +Nw +. +] +| +\ +] +e +TF +& +E +1 +u +M +. +4 +; +p +Hg +Q_ +e +z +K +9 +g +q +' +oO +{ +# +qO +u +7n +L += +i +" +n5z += +- +ct +* +\ +m +CA +# +V +C +u +hb +* +G +4 +A +~ +/ +j +| +| +s +% +iC7 +& +u +| +ses += +o +A +C +t +7 +/ +y +s +c +5 +l +& +k +< +yr +< +4 +Z +b +{ +A +} +cC +{ +U +2v +( +) +P +S +} +a +' +K +u +] +x +fr +; +t +C +. +CC +^ +S +1v +f +- +CW +) +x +g +p +~ +7 +' +; +P +je +QGg +GR +* +h +V +7ka +E ++ +- +4 +2 +# +b +4 +/ +p +_ +~ +c +. +[ +K +h +G ++ +; +bR +W +N +/ +% +e +mV +RR +Ha +' +d +{ +4t +[ +v +) +J +v +w +u +i +I +c +k +% +\ +sM +I +[ +: +? +5 +r +RV +W +O +? +0 +7 +< +x +G +[ +h +; +: +} +i +V +{ +A +d +eNk +H +~ +X +K +s +_ +Z +T +Xvv +E +& +1D +c +y +9sX +g +# +uo +O +F +( +. +m +4sC +C +5 += +! +] +" +0 +- +W +} +e +? +V +v +h ++ +6k +* +: +? +~ +\ +N +. +7 +h +1 +- +[ += +' +~ +C +l +bc +5 +M +F +j +- +v +} +hh +\ +T +. +G +n6 +m +> +" +R +K +r +( +d +7h +2w +* +I +h +\ +l +r +) +j5 +< +G += +# +F +% +y +5E +L +7n +N +U +[ +hs +| +- +N +< +\ +: +^ +V +R +? +c +_ +" +5k +4 +us +P +] +C ++ +u +q +? +n +5 +u +n +n +F +' +o +T +m5 +- +; +2e +h +6X +Ug +[ +. +r +m +: +> +' +> +? +9 +4i +RV +wk += +8 +? +Z +1 +F +: +vj +' +% +K +} +Y +5N +; +x2 +s +d +j +i +o +A +3f +V +U +W +> +> +A +# +t +\ +j +v +{ +8z +5 +[ +> +XG +KWQ +d +1 +> +b +/ +: +I9 +' +e +5 +H +6 +W +Z +" +Ly +q +~ +A +[ +hH +] +8t +H +> +} +: +) +V +{ +D6m +[ +l +b +7 +J +yM +n +0 +{ +P ++ +c +m +) +d +GV +h +v +Kz +% +K +0 +j +wB +5 +( +h +\ +; +G +; +? +5g +{ +a +N ++ +cAg +K +J +| +4 +7v +S +z +s +P +] +L +. +\ +' +O +eK +[ +L +? +s +< +y +s +q +% +- +& +7 +. +o +9 +> +6 +H +? +/ +e +~ += +\ +/ +R +? +5 +G +cB +l +' +s +| +xM +T +/ +6 +yV +p +. +SZ +/ +O +] +% +- +9 +F +7 +_ +{ +5 +4 +% +f += +c +C +F +h +? +WG +( +4 +Fl +: +D +! +l +4b +( +8 +b ++ +[ +Q +hD +! +[ +su +B +# +4 +A +h +# +Q +q +V +# +\ +C +e +ht +9 +Q +# +% +unp +? +o +K +{ +X +< ++ +7 +< +/ +w +/ +4 +| +Zy +( +- +! +K +_ +V +h +t +R +B +~ +< +k +/ +O +/ +4 +| +Zy +( +- +! +K +_ +V +h +t +R +B +~ +< +k +/ +O +/ +4 +| +Zy +( +- +! +K +_ +V +h +t +R +B +~ +< +k +/ +O +/ +4 +| +Zy +( +- +! +K +_ +V +h +t +R +B +~ +< +k +/ +O +/ +4 +| +Zy +( +- +! +K +_ +V +h +t +R +B +~ +< +H +l9 +% +- +{ +6k +d +} +> +! +O +T +' +89 +) +E +g +" +z +r_ +w +| +b +^ +: +: +z +^ +! +G +hdj +F += +& +r +O +) +cbrm +. +R +\ +Qx +I +- +GL +C +dk +1 +6 +M +~ +J +/ +& +6lL +q +k +D_ +? +K +> +> +r +{ +d +H +. +O +Go9 +{ +l2 +] +- +O +& +M +! +x +] +4 +. +; +| +Q +} +kmy +E +; +W +B +I +T +m +< +W +# +p +4 +% += +} +Z +n +\ +g +* +MZ +^ +d +h +) +RX +> +> +K +{ +8 +\ +nq += +" += +K +w +^ += +/ +s +] +C +[ +e4k +\ +s +5 +7o +m +H +7 +i +u +; +N +: +{ +b +3K +G +G7 ++ +W +W +U ++ +W +] +8W +cu +{ +A +% +c +2 +] +t +V +s +< +K +| +d +? +U +h +\ +3I +\ +7 +h +5XF +E +# +YS +V ++ +n +d +' +[ +b += ++ +9 +^ +? += +: +j +i +R +h +N +a +F +C +[ +6 +/ +Y +< +p +X +Y +f +% +K +< +i +f +wo += +FZ +J += +1k +' +N +U +- +q +5 +/ +q +: +tH +[ +F4E +_ +A +) +G6m +{ +2 +{ +: +z +B +[ +) +RD +Y +nX +A +y +mM +> +} +/ +9z +X +Fs +] +Q6 +S +A +9 +z7 +x +> +sZ +] +u +. +] +; +. +c +rw +V +f +a +\ +f +B +: +rH +4HN +p +lE +l +U ++ +W +. +y +& +R +z +} +FZ +| +A ++ +] +O +S +0 +r +- +w +w +| +/ +nc +u +ff +{ +L +4 +} +z +p +w +U +# +9 +X +oL +w +# +^ +f +: +uJt +o +A6 +Z +! +: +] +kN +* +y +5H +O +< +E +9t +uX +8 +. +> +5 +7 +_ +i +? +b +* +q +[ +arpsp +P +R +[ +C +E +x +A7em +] +{ +1 ++ +T +j +2d +> +W_ +G +% +O +< +{ +W +m +Z +: +w +m +k +0x +P +] +w += +{ +v +t +2 +O +g +/ +h +- +V4 +B +| +ic +m +V +' +( +q +0j +h +m +{ +S +SW +~ +_ +l +G +P +E +U +# +[ +~ +t +[ +~ +v +p +m +t1 +k ++ +W ++ +M +| +E +[ +[ +o +6qu +# +i +Y +? +v +| +G +{ +D +2eD +r +~ +Dt +O +M7U4 +4 +| +t +Y3 +s +U +VE +a +> +j +* +AQ +% ++ +Lk +* +H +: +8r +8 +p +y +% +< +eC +- +& +m +& +F +d +j +< +K +q +FN +1 +l +" +7 +XA +p +: +a +n +ao +a +q +d +R +s +) +SZn +{ +! +C +U +h +> +# +* +m +; +~ +' +; +) +hg +n +; +u +O7 +\ +I +Z +hW +3 +K +. +z +j +S +w +C +% +u +f +{ +' +} +kgk +f +S +t +cM +6 +| +r +d +3g +V +8s +[ +h +du +V +8 +E +~ +W +gB +% +\ +2 +' +u +o += +\ +s +we +n +g +[ += +v +{ +I +[ +hD +a +\ +- +& +- +T +~ +n +a +f +W +. +CL +} +i_ +R +0 +53 +} +/ +g7 +c +Z +H +? +{ +z +' +! +! +[ +kK +7Ut +~ +} +L +h +nq +m +1t +pg +{ +A +\ +u +B +g +h +y +R +l +< +* +V +_ +c +m +s +0g +_ +> +% +K +0 +4 +" +. +2oT +q1 +U +) +587f +- +u +WN +: ++ +] +R +] +O +3W +v +4 +^ +i +} +fw +3 +7 +? +> +' +u +M +[ +h +- +. +w +} +a +CgR +4 +q +> +" +E +K +m +V +e +. +y +} +f +D +f +] +q +h +' +. +: +3c +6 +] +W +- +q +\ +* +KZC +L +% +oq +K +y +[ +Y +p +H +aM +T +H +% +[ +scM +\ +Cg +% +s +j ++ +A +SU +h +o +iI7m +fk +P +C +^ +N +; +Mu +v +" +J +~ +E +n +z +4 +{ +% +L +. +H +Y +v += +_ +n += +A +1v +w +z +jy +k +tf +q +I +2 +FB +OY +- +~ +[ +f +p +r +> +. +k +Y +s +xV +T +^ +y +) +e +H +F +P +; +| +- +k +U +* +Un +{ +Z +V +4mjBB += +{ +u +9s +M +b +# +u +w +/ +w +^ +h6M +6C +/ +Zl +vE +. +) +JE +w +9 +ZB +% +\ +& +( +9k +b +: +ul +? +{ +p +: += +F +( +! +_ +4 +4 +0 +/ +L +r +V += ++ +w +w +' +! +hg +2 +/ +C +M +S +' +O +y +P +R +VM +) +U +\ +jg +N += +H +f +o +Z +8 +C +C +> +tu +Q +lr +? +F +1D +BC +Vu +" +~ +| +U +- +2 +pN +M +h +kK +E3 +" +W +Fb +f +O +[ +j +e += +9 +} +{ +F +) +I +& +} +z +# +G +* +C +| +W +C +N +w +j +< +K +sf +4i +j ++ +- +: +^ +vO +B +a +h +p +N ++ +Y +ZS +j +K +h +? +# +H +/ +_ +> +1 +5 +~ +u +g +5k +lf +! +h +T +^ +q +3 +uv +S +w +C +< +XC +w +~ +k +| +z +Mp ++ +D +: +- +^ +B +% +\ +f +] +' +^ +y5 +4 +n +Q +o +4l +! +> +S +ZH +- +T +f4Ig +} +& +\ +A +G +Z +s +{ +h +/ +I +F +Q +3t +P +# +o +O +? +Q +z +# +! +n +c +N +S +t +y +J +/ +C +mU +U +) +: +. +y +p +3 +E +] +n +< +y +[ +T +! +pK +M8 +iY +9 +iC +i +J +V +] +% +k +A +R +: +kG +\ +. +; +wns +{ +Xl +EV +X +% +S +H +b +[ +7o +l +] +V +: +_ +k +R +f +) +Q +/ +v +k +# +E +1 +: +: +h +r +A +1 +a += +k +X +F +) +" +| +h +5 +O += +] +i +F +- +S +9 +e +} +L +4 +< +R +] +E +- +k +B +) +[ +V +" +k +v +! +% +D +. +h +\ +X +: +} += +P +3 +{ +& +- +O +r +7 +G +9s +2 +# +w +u +c +; +[ +9 +- +? +; +f +% +? +/ +) +rmk +vI +7 +* +< +? +( +d +< +e +! +qIDATK +C +/ +q +5 +L +* +P +! +> +H += +1C +\ +Z +' +% +7 +J += +d +q +! +w += +{ +vi +) +5F +pBC +0 +> +V +ll +5k +C +S +* +5k +o +' +6 +4 +] +l +" +S +m +8 +ov +> +F +] +; +i +aW +u +L +8 +) +b +r +; +} +> +4T +[ +2k +P +gr +r +g +} +lZ +b +X +( +vk +- +Zt +x +_j +Z +> +w +O += +! +" +b +J +S +; +I +h ++ +W +. +9n +< +ul +> +k +v +; +/ +g +) +C +V +] +0 +m +# +u +% +} +t +b +} +q += +vX +' +O +F +l +9Q +} +F +/ +] +v +s +( +k +4 +/ +4 +. +v +) +H +N +q +; +# +q +^ +F +h +1 +n5GL +C +dk +1 +vJ +( +FJ +} +< +7 +] +| +o +{ +7rl +\ +; +^ +K +fJT +} +2NEJ +" +; +h +K +r_ +yb +^ +6 +\ +u +% +. +C +) +. +x6 +{ +N +d +I +5 +[ +W +i +H +C +l +) +h +h +\ +' +h +# +4 +q +T +# +\ +F +c +1 +F4j +1 +) +? +G +h +4 +Q +FL +8 +D +# +L +4b +h +8 +b +* +S +~ +. +hD +1 +S +sq +F +# +5 +A +h +# +4 +q +T +# +\ +F +c +1 +F4j +1 +) +? +G +h +4 +Q +FL +8 +D +# +L +4b +h +8 +b +* +S +~ +. +hD +1 +S +sq +F +# +5 +A +h +# +4 +q +T +# +\ +F +c +1 +4 +/ +V +f +* +i +- +_r +aY +kW +" +Hq +F +j +E +q +d +nB +d +) +D +5k +* +r +o +\ +" +' +h +{ +K +. +& +S +\ +4 +* +) +^ +l +1 +/ +. ++ += +zR +o +; +~ +Q +zBV +d +j +! +? +~ +B +9 +r +N +] +? ++ +K ++ +' +O += +z +g +L +x +ru +e +u +% +r +K +| +\ +/ +q +? +/ +V +wN3 +} +Y +h +~ +< +I +dhk +o9v +3 +f +w +% +" +E +K +? +| +| +' +# +Nr +a +- +R +g +# +< +- +z ++ +O +/ +H +R +% +# +yu +k +~ +e +hd +Y +> +\ +* +U +* +o +Ur +& +D +? +? +X +8pP +1 +L +. +} +d +; +B +% +_ +| +R +J +& +5 +V +- +cN +d +n +& +R +S +} +R +X +h +\ +F +/ +GB +~ +dG +: +> +] +x +[ +C +d +] +f +L +c +N +Kcd +- +S +\ +2 +hd +UJ +( +. +M +e +- +Z +PJ +X +] +VN +8 +tl +l +q +% +} +f +C +. +' +: +( +2e +{ +aO +! +C +s +: +] +/ +M +4f6 +" +E +! +V +R7TI +hk += +B +l3 +/ +Q +\ +( +: +R +] +Q6 +S +< +F +- +s +t +gN +n +R +cgh9p +? +{ +j +0 +Yf +| +[ +u +h +# +W +\ +M +A_ +A +5 ++ +I4 +: +u +) +w +{ +W +{ +w +w +) +k +} +6 +[ +Gn +mf +o +ISL0 +w +g +J +z +K +Z5 +c +p +' +2 +a +N +c +x +v +jj +* +u +g +] +s +[ +e9 +i +< +cNXd_G +P +k +Y +v +- +? +~ +: +k +K +! +m +% +? +B +} +t +^ +A +* +Z +W +| +_ +' +u +< +s +y +/ +A +m +S +n +] +v +" +4 +i +aW +d +. +] +Ln ++ +S +} +; +c +} +Y +4 +m +- +E +{ +; +| +ic +m +7o +} +e +MI +g +q6 +72g +Ir +^ +N +D +# +C +[ +u1 +] +L +V +\ +) ++ +W +4 +] +O +* +X +? +mm +HZ +j +! +% +K +f +v +~ +G +{ +D +2e +z +jR +E +( +R +w +M +1 +] +0tE +' +- +V +Z +K +9 +H +E +0 +1 +* +T +K_ +\ +# +2h +K +h +. +K +h +9 +m +d +LUmQ +g +h4n +S +5 +k +Xt +o +] +o7 +7 +C +Y +* +; +v +2eJ +- +Tw +a +2d +0 +j +| +jW +> +} +{ +9 +a +p +> +4 +q +h +0x +P3v +I +. +z +j +S +w +C +# +G +^ +r +Ig +. +t +Y +k +M +< +H ++ +\ +: +a +/ +oM +Oo +> +s +auq +sf +? +Y +5 +] +* +v +E +p +< +K +eD +q +YFt +BC +5 +] +t +; += +1r ++ +. +t +] +5 +y +R +F +s +s +- +0 +& +Lx += +zv3 +upL +S +P +Z +Gr +Zo +p +j +P +A +m +- +sZw +; +s +/ ++ +W2 +Z +W +Z +< +/ +\ +S +< +a +C +3 +h ++ +- +C +[ +t +w +~ +H +Y +F +} +: +< +* +' +| +L +5 +{ +xt +K +a +s +D +| +j +; +: +v +? +R +# +8 +! +! +m +[ +hY +p ++ +t +: +w +a +avx +) +RX +ok +/ +C +v +H +} +oN4 +} +< +7 +% +J +7 +8i += +w +D +i +r +: +u +vN +O +Y +X +J +sG ++ +F +uc +A +SU +h +o +iI7m +fk +P +C +^ +U7 +N +; +Mu +v +" +J +~ +E +y +n +z +4 +{ +% +L +. +H +Y +v += +_ +n += +A +1v +w +z +jkv +k +tf +q +I +ruk +\ +G +y +9 +o +> +R +FYkF +f +- +o +5p +* +* +Un +{ += +* +M +65 +! +! +\ +K +9 +qc_1 +c +< +L +6C +/ +Zlv +] +R +s +< +K +MPr +T +T +} +C +" +TI +C +m +) +g +u +B +] +m +L +4 +| +hx +[ +h +| +a +d +S +' +O +9 +I +B +f +R +dI +: +] += +H +f +o +s +N +? +6 +] +] +BT3 +G +w +n += +uDr +U +' +u +f +V +? +. +u +Q +TI +p +n +r +q +14 +L +> +V +U +F +| +s +4 +? +LI +' +\ +7 +t +n +9r +Tq += +/ +j +u +mZ +P +& +Y +0 +3 +IS +e +8T +- +: +^ +vO +r +) +k +j +b +\ +n +> +4 +! +i +| +I +# +[ +T +t +5 +Y +Y +- +B +A +} +V +q +& +; +f +Y +? +k +" +8 +~ +T +3 +- +A +. +1 +> +lv +h +_ += +7m +oK +% +Y +f +u2 +W +m +< +LS +e +f +R +: +M +fpX +p +{ +57 +> +4 +4 +| +D +U +j +b +- +d +4i +? +o7cg +A +G +| +' +~ +9 +q +s +S +) +v +: +l +D +? +% +o +k +' +{ +% +; +u +[ +jU +a +h +KB +% +\ +3 +- +vQ +# +r +wx +' +[ +] +< +Y +] += +\ +# +K +G7 +7Z6n +h +S +? +e +& +C +A +Er +m +z +jl +EV +X +% +S +H +b +y +f +u +2d +' +P +P +WX +u +5kH +M +] +O +9 +| +P +h +3 +h +? ++ +t +EZ +9 += +Y +qm +k +H +" +N +m +1x +P3 +} +No +u ++ +W +Q +) +- +w +n +a +C +? += +5 +[ +- +! +Z +b +r +e +% +o +< += +4 +n +lj +44 +d +3K +p +2 +m +VV +K +' +C +J +~ +v +~ +f +v +u +; +t +p +7s +y +/ +M +k +[ +t +< +u +K +v +' +44 +( +T +0f +A +! +Y +" +z +3e +g +" +P +Jr ++ +( +O5z2 +m +s +Z +% +MD +[ +_ ++ +g +F +4 +' +4 +3 +s +V +Y +f +8V +[ +h +ujw +P +f +r +z +w +\ +> +[ +d +M +{ +4 +: +u +" +w +} +y +N +d +I +[ +q +< +k +v +q +} +w +B +R +] +] +WN +} +i +i +c +* +E +h +q +: +] +Z +6w +3 +_ +kR +* +lF +U +4 +fh7 +y +26Y +yz +[ +5D +: +o +| +; +w +; +vF +/ +C +V +] +0 +m +# +u +% +} +t +b +} +q += +vX +' +O +F +l +9Q +} +F +/ +] +v +s +( +p +' +D +- +A +o8 +_ +/ +) +X +u +K +; +75 +~ +N +R_6E_ +# +E +~ +| +j +[ +G +\ +W +o +2 +br +z +. +] +; +) +Q +; +w +8 +) +s +# +R +\ +/ +~ +Z +zL +^ +w +\ +? +C_ +^ +[ +LC +& +M +d +} +N +# +G +3 +U +# +h +" +G +? +U +h +x +Q +o +gB +> +< +~ +[ +_0 +4 +Vy +& +| +. +! +G +? +U +h +x +Q +o +gB +> +< +~ +[ +_0 +4 +Vy +& +| +. +! +G +? +U +h +x +Q +o +gB +> +< +~ +[ +_0 +4 +Vy +& +| +. +! +G +? +U +h +x +Q +o +gB +m +1 +) +W += +! +B +2g +c +K +zX +] +; +A5 +Tj +. +\ +X +' +7n +S +/ +& +[ +Q +/ +' +_t +# +R +zU +O +O +d +p +z +R +e +e +A +. +: +| +s +% +y +d +o +q2 +r +{ +. +] +Zf +xG +( +I +2 +M +: +\ +v +7 +7 +t +bn +G +^ +r +} +4 +n +n +' +? +4Of +A +' +C ++ +O +I +Kw +H +S +W +; +F +) +/ +8Jvl +7 +J +C +6 +e +4 +: +iG +. +M +l +" +E +~ +' +~ +Y +\ +' +; +{ +& +o += += +Yn +" ++ +SOH +* +& +T +N +C +h +d +Q +5 +# +; +8v +d +jb ++ +& +i +' +- +Q +< +L +jh +> +H6n +d_ +O +n +& +fL +| +k +l +> +Y +2 +[ +m +p +u +) +] +Urr +. +N +Z +f6 +[ +wg +% +k +% +On +j +^ +ZV +C6o +{ +G +D +\ +s +' +On +) +Z ++ +WFJ +. +qr +\ +^ +G +[ +k +UK +U +~ +p +{ +% +{ +a_ +C +r +} +T +RR +pA +j3 +O +t +| +} +m +[ +d ++ +1 +K +h +( +R +B +~ +< +k +/ +O +/ +4 +| +Zy +( +- +! +K +_ +V +h +t +R +B +~ +< +k +/ +O +/ +4 +| +Zy +( +v +A +4 +ZG +V +[ +N +IEND +B diff --git a/browser/components/asrouter/modules/PanelTestProvider.sys.mjs b/browser/components/asrouter/modules/PanelTestProvider.sys.mjs index f7efae630efa..bd8042a461b0 100644 --- a/browser/components/asrouter/modules/PanelTestProvider.sys.mjs +++ b/browser/components/asrouter/modules/PanelTestProvider.sys.mjs @@ -213,27 +213,25 @@ MESSAGES id : " -EMBEDDED_BROWSER_SPOTLIGHT +CONTENT_TILES_TEST " -groups +targeting : -[ +' +providerCohorts +. +panel_local_testing += += " -panel -- -test -- -provider +SHOW_TEST " -] +' template : " spotlight " -targeting -: -true content : { @@ -249,11 +247,33 @@ screens id : " -EMBEDDED_BROWSER_SCREEN +SCREEN_1 " content : { +spotlight_style +: +{ +display +: +" +block +" +padding +: +" +20px +0 +0 +0 +" +width +: +" +616px +" +} logo : { @@ -264,19 +284,52 @@ title raw : " -Embedded -browser +Content +tiles test " } +subtitle +: +{ +raw +: +" +Review +the +content +below +before +continuing +. +" +} tiles : +[ { type : " embedded_browser " +header +: +{ +title +: +" +Test +title +1 +" +subtitle +: +" +Read +more +" +} data : { @@ -308,12 +361,247 @@ com " } } -dismiss_button +{ +type +: +" +embedded_browser +" +header +: +{ +title +: +" +Test +Title +2 +" +subtitle +: +" +Read +more +" +} +data +: +{ +style +: +{ +width +: +" +100 +% +" +height +: +" +200px +" +} +url +: +" +https +: +/ +/ +example +. +com +" +} +} +{ +type +: +" +multiselect +" +header +: +{ +title +: +" +Test +Title +3 +" +subtitle +: +" +Manage +options +" +} +data +: +[ +{ +id +: +" +checkbox +- +test +- +1 +" +type +: +" +checkbox +" +defaultValue +: +false +label +: +{ +raw +: +" +Test +option +1 +" +} +action +: +{ +type +: +" +SET_PREF +" +data +: +{ +pref +: +{ +name +: +" +test +- +pref +- +1 +" +value +: +true +} +} +} +} +{ +id +: +" +checkbox +- +test +- +2 +" +type +: +" +checkbox +" +defaultValue +: +false +label +: +{ +raw +: +" +Test +option +2 +" +} +action +: +{ +type +: +" +SET_PREF +" +data +: +{ +pref +: +{ +name +: +" +test +- +pref +- +2 +" +value +: +true +} +} +} +} +] +} +] +action_buttons_above_content +: +true +primary_button +: +{ +label : { +raw +: +" +Continue +" +marginBlock +: +" +28px +0 +" +} action : { +type +: +" +MULTI_ACTION +" +collectSelect +: +true +data +: +{ +actions +: +[ +] +} dismiss : true @@ -323,6 +611,11 @@ true } ] } +provider +: +" +panel_local_testing +" } { id