--- tags: meeting-notes --- # Meeting: Refining work streams Met to discuss if work streams make sense, how we organize, who drives what. # Concerns * work streams are too vague * features have to be "fit" into things * sometimes features span multiple work streams * no clear start and end or tangibles * projects have a tangible goal and conclusion # Work streams? ![](https://i.imgur.com/1wXv0jP.png) We are redefining this slide^ Design to Code - UI Builder (is this docs?) - Figma Plugin Performance Tooling - Bundle size stats - Bundle size PR gate - Render time stats locally - Render time PR gate - Perf charts in docs - Bundle size charts in docs - [Flamegrill (scope this..)] Accessibility Tools - Dev loop catching issues - PR Gates Component Work - [New components (Table, SideNav, Toast, etc)] - [Component/utility updates (renames, features, etc)] - Single react-focus package Telemetry - Converge v0 v7 telemetry approaches - Split screen support Theming - CSS Variable Styling System - compose() function and model Docs & Ecosystem - Info JSON Generator - Allow M365 product teams to discover/share components - Upgrade path w/ codemods - Simplified new repo scaffolding - Templates for "new package" or "new component" - Packaged and auto updated CI/Eng Sys - Converge the repos - [Github Bot scoped projects] [Docs Mathieu] - Ship new public website UNKNOWN STUFF - Open UI - FastDNA web components will be built in Open UI specs first - Shared component schemas will go here - Shared design tokens will go here - npm package definitions - Specs for components - Icon story (@uifabric/icons, file type icons, product icons) - Working with {partner} to help with {thing} - repo deprecations cleanup # Ideas current tactical v0 tactical design to code performance - should this be in current or v0 tactical? theming composition one repo one library update path shield & bot ecosystem & docs # What are we releasing 8.0 major release done by June ### oufr aliases to fuir oufr: /lib/index.ts - export * from fuir/lib/index /lib/Button.ts - export * from fuir/lib/Button; then scaffold fuir-next: fuir-next: /lib/index.ts - export * from fuir/lib/index /lib/Button.ts - export * from fuir/lib/Button; /lib/FocusZone.ts - export {FocusZone} from react-focus-next; ### Performance * Removing/simplifying larger utilities (EventGroup, Async, BaseComponent) * Unify utilities * get rid of lodash * Async class * See more here: https://docs.google.com/spreadsheets/d/12ChNoWAkkh0ffTbw5uE-pkYKbMbJcMSz93AmW5QiYWc/edit#gid=0 * Moving to hooks and function components * Drive this with current code and also with v0. * Composition, state * start simple: toggle or checkbox, ship it * dropdown and combobox? * contextualmenu (is this jon?) * Break up *Button into Button, MenuButton, and SplitMenuButton. Most buttons really do not need all of the extra ContextualMenu, FocusZone, etc stuff. * Finish up breaking changes to remove deprecated API usage in React to unblock concurrent mode testing for partners. * Elizabeth :::warning [jslone] Need to add resourcing to perf tooling ::: ### Sync with design * Specs (/specs) * Token/theming improvements (ie11 compatable) * Interop of theming with v0 and v7 (only one theming story) ### Major work to be rationalized * v0 uses Fela, v7 uses merge-styles * We need a path to css variables * The path needs to help any framework team build ui * Maybe we could go back to scss and BEM with css variables now * Provider vs Customizer, Customizations, createTheme ... converge. * focus styling * what-input vs ms-Fabric--isFocusVisible * Fabric component itself... Box? is it just ThemeProvider? * ...then, 31 overlapping components... ### Beyond 8 (Nov) Replacing css-in js with css variables - now that partners are getting closer to dumping IE11 this year, we are starting to define what this looks like without dropping theming and gaining a lot of perf. This is a major change so we need to make sure we do right. Theming is really hard even with css in js; so leveraging the platform would be ideal. We also have partners looking for styling solutions like fabric-core that aren't framework specific. Variables would give us a lot of flexibility to offer customizable styling solutions that could apply a theme, even for static page scenarios.