--- robots: nofollow, noindex tags: status --- # FluentUI Web AOLs: Sprint 45 (Mar 9 - Mar 22) ## Quick links [Sprint 45 (Feb 24 - Mar 8)][sprint45] [Full VSO backlog][backlog] [Shared OneNote for eng process][onenote] See something missing? Please add it in the next update. ### [Web Presence] (Mathieu) Accomplishments - Travis prototyping with Spencer on getting design tokens into style dictionary. Spencer to edit JSON token values. - Zuko's playground has been integrated into the new site. Objectives - Update Fabric site and add new info for //build timeframe - Token work on going for mobile starting in Figma, not using FastDNA plugin yet. Research phase. Goal to update Github from a Figma workflow. - Touch base and converge M365 product documentation workflows and tools. ### [One repo][onerepo] (Justin) #### Achievements - Repo is renamed! - https://github.com/microsoft/fluentui - Publish office-ui-fabric-react as @fluentui/react - Rename @fluentui/react to @fluentui/react-northstar - CI works - 100% - Screener, size auditor, publishing works - Publishing approach: - https://hackmd.io/HPUDenzVTZ6F7saTGUuzpQ | Command | Behavior | | -|-| | `npm install @fluentui/react` | Installs current v7 release. | | `npm install @fluentui/react-northstar` | Installs current v0 release. | |`npm install @flunetui/react-next` | Installs the next major release. | * Beachball fixes: * Enable publishing things at different cadences (scoped publishing) #### Objectives From: [One Repo - What's left](/6RR8KDQ9RzSpbvD5poAD7A) - [ ] [Xu] Move all fluent UI subpackages to beachball - [changelog generation ](https://hackmd.io/IWdVNLNrSPGvFqcxwF8vCQ) - [ ] Communicate convergance - [Tracking table for rename](onenote:https://microsoft.sharepoint-df.com/teams/FluentUIInternal/Shared%20Documents/General/Fluent%20UI%20Facts/Blog%20drafts.one#Tracking%20table%20for%20rename&section-id={A5C2991B-D4CC-495C-9C87-7E3E27E9C553}&page-id={8A39DC71-E34B-4DC7-966E-B012A4392E17}&end) ([Web view](https://microsoft.sharepoint-df.com/teams/FluentUIInternal/_layouts/OneNote.aspx?id=%2Fteams%2FFluentUIInternal%2FShared%20Documents%2FGeneral%2FFluent%20UI%20Facts&wd=target%28Blog%20drafts.one%7CA5C2991B-D4CC-495C-9C87-7E3E27E9C553%2FTracking%20table%20for%20rename%7C8A39DC71-E34B-4DC7-966E-B012A4392E17%2F%29)) - [ ] v0 doc site banner explaining rename - [ ] Need to pass over readme, wiki, doc site for v7 and v0. Look for major issues, confusing statements. #### Learnings ### Docs and Ecosystem (Levi) Achievements * Teams has PR up for generating doc info JSON file * UI Builder work, WIP PR up * IA for all plats reworked with Angela for //build goals Objectives * Review / rationalize the getComponentInfo() v0 and API Extractor v7 * Fluent UI Builder iteration will be supported in part by Miro to keep some momentum * Get Mathieu and Zuko in workstream sync * Review API extractor use * Make wholistic pass on all public documentation to ensure the overall story makes sense at all entry points. ### [One library][onelib] (Jon) * Shared utilities * Process for renames #### Achievements * [Aneesha] EventListener integration PR up but not merged yet. * [Mak] Integrated keyboard-key into focuszone * [David] Moved keyboard-key package into repo, reduced bundle size. Still pending some loc fixes Levi called out. * Open UI Slider research page, PR up #### Objectives * Write draft Fluent UI slider spec based on Fluent Design component specs. * Write tests for all codemods * Setup a separate package for codemods * Use ts-morph to write mock codemods to test on sharepoint or owa (or both) code repos to determine viability * Codemod goals 1. Rename Persona to Avatar * This includes renaming IPersonaProps and PersonaSize * Thigns to watch out for, replacing only our "Persona" references. There are examples of others implementing things named persona that might rely on ours, but are custom 1. Write a function transform * Targeting either adding an ev to `onPhotoLoadingStateChange` or adding another argument to an `onRender` function. This is not necessarily realistic, just seeing if it can be done. 1. Prop modifications * Rename a Prop * Deprecate a Prop #### Learnings * ts-morph seems to provide a clean and powerful api for manipulating, modifying, and traversing javascript/typescript. It makes it very easy to change all references to an import and do renames. It does provide an easier way to modify code than Riceburn * There is only 1 instance of oufr being imported using `require` between odsp-common, sp-client, and owa-client code bases ### [Performance][performance] (Miro) #### Achievements * fixed broken bundle size tracking, will wait for new results and publish * fluent0 perf test pipeline up and running * working on memory leaks issues reported by Teams * Merged factory for creating bundle size performant icons. Moved out of the theme object for bundle size improvements through tree shaking. * Step 1 - remove internal icon dependencies - PR example: https://github.com/OfficeDev/office-ui-fabric-react/pull/12164 #### Objectives * add bundle size stats for fluent0 * perf test for compound pages (multiple example metrics) * investigate memory consumption and leaks #### Learnings * perf tooling workstream resourcing is a problem - one person half-time does not bring much progress * [Shift] [Stylis](https://www.npmjs.com/package/stylis) can speed up styles generation up to 30% via replacement of vendor prefixing in V0 ### [Theming & Composition][composition] (Marija) #### Achievements * removed internal hard icon dependencies in v0 * prototyped tokens table to understand how the set will work with css variables (https://codesandbox.io/s/token-fun-o2gh8) * includes icon refactor proto for Fabric icons to match import proposal * confirmed prelim IE11 polyfill will work (not done testing though) * [Marija] Protoype of theme interop: https://codesandbox.io/s/teams-fabric-interop-shared-w4te8 * [Shift] Removed styles overrides from High Contrast Teams theme [v0]. Composed themes now use only variables #### Objectives - [Shift] Introduce `compose()` functionality to V0 - Get rid of styles overrides in Teams themes (Dark & High contrast) - work on design tokens interop - Introduce named icon component imports to solve bundle issues - Merge interop and css variables prototypes; define how do we leverage css variables in new styling. Work with Zearing and Peter to get into v7. - Styling for future merging blocked on what to do. David/Levi to hash out the merge-styles/fela replacement #### Learnings - Investigated [IE11 polyfill](https://github.com/nuxodin/ie11CustomProperties) for CSS variables, requires more testing to ensure that it fits all required scenarios * Theming interop is still important for convergence * How we ship styles still needs proposals * Need owner for Fluent UI Icons to unify the set of icons * Idea: Moving component work and work that interfaces with design to Redmond. More framework and horizontal work in Prague. * Work seems to go better in Prague when it requires less interfacing with design (timezone issues) ### [Shield][issues] (Aneesha) #### Achievements - Triage and fix new issues #### Objectives - [Fluent UI V0](https://github.com/OfficeDev/office-ui-fabric-react/issues?q=is%3Aissue+is%3Aopen+label%3A%22Fluent+UI+v0%22) GitHub issues are being reported. Rekha/Juraj are going to triage these. - Met with Teams team (MWT, SMB) who's filed a bunch of the Fluent UI V0 bugs to understand their issues/needs - mixing Stardust/OUFR components. ### Website (Micah) #### Achievements - Merged two large PRs into a [temp branch](https://github.com/OfficeDev/office-ui-fabric-react/tree/website-updates) updating website with new "Fluent" name #### Objectives - Finish converting instances of "Fabric" to Fluent/Fluent UI - Find remaining 'fabric' to determine if they need to be changed to 'fluent' (some URLs will not be changing yet) [backlog]: https://dev.azure.com/microsoftdesign/fluent-ui/_backlogs/backlog/fluent-ui%20Team/Epics [issues]: https://github.com/OfficeDev/office-ui-fabric-react/issues [onenote]: https://microsoft.sharepoint-df.com/:o:/t/FluentUIInternal/Ev_x5WbQI6tJmn2s87RzRPMBTG3d0gmYJN6QCpQttOFyzw?e=rnbj9H [sprint42]: https://dev.azure.com/microsoftdesign/fluent-ui/_sprints/backlog/fluent-ui%20Team/fluent-ui/Sprint%2042 [sprint43]: https://dev.azure.com/microsoftdesign/fluent-ui/_sprints/backlog/fluent-ui%20Team/fluent-ui/Sprint%2043 [sprint44]: https://dev.azure.com/microsoftdesign/fluent-ui/_sprints/backlog/fluent-ui%20Team/fluent-ui/Sprint%2044 [sprint45]: https://dev.azure.com/microsoftdesign/fluent-ui/_sprints/backlog/fluent-ui%20Team/fluent-ui/Sprint%2045 [sprint46]: https://dev.azure.com/microsoftdesign/fluent-ui/_sprints/backlog/fluent-ui%20Team/fluent-ui/Sprint%2046 [sprint47]: https://dev.azure.com/microsoftdesign/fluent-ui/_sprints/backlog/fluent-ui%20Team/fluent-ui/Sprint%2047 [onelibrary]: https://dev.azure.com/microsoftdesign/fluent-ui/_workitems/edit/4469 [theming]: https://dev.azure.com/microsoftdesign/fluent-ui/_workitems/edit/4464 [performance]: https://dev.azure.com/microsoftdesign/fluent-ui/_workitems/edit/4462 [composition]: https://dev.azure.com/microsoftdesign/fluent-ui/_workitems/edit/4465 [onerepo]: https://dev.azure.com/microsoftdesign/fluent-ui/_workitems/edit/4468 [onelib]: https://dev.azure.com/microsoftdesign/fluent-ui/_workitems/edit/4469