Comments (2)
I agree with the presence of this issue. I'm also not 100% sure about the boundary between theme variables and component props. I do have an intuition and proposal for starters.
First, it is important to note that:
- Stardust props APIs are:
- Attempting to describe preexisting UI concepts that have emerged over time.
- Proposing a standardized language for these concepts.
- Proposing that all component libraries and themes support these concepts.
- Theme variables are:
- Currently loosely defined
- Expected to be extensible to suit your company and/or teams' needs
This means that when we publish a component API we are stating that it is a solid UI concept and something that most of the UI community has already shown adoption for. The props API is codifying canonical UI. We're doing this from a descriptivist point of view, not prescribing ideas.
This would make a possible definition something like, whatever is common in the UI community worldwide belongs to props and whatever is rare or unique belongs to variables.
This makes the decision of props vs variable a bit involved since we'll need to do our research and make informed decisions. I propose we do that slow research based work in the /specifications repo and we keep moving forward as quickly and best as we can here in the /react repo.
As our specifications become more solidified, we can iterate the react repo to conform. Just as other frameworks and teams would do.
In the case of hexagonal, we can relatively safely say that this is not a common practice in UI and therefore will not be supported as a first class prop today. Other props and ideas might be harder to decide on but research and conversation can sort through those.
from fluent-ui-react.
Closing for housekeeping. The current proposal above is our guideline for now. We would like to refine this moving forward. Better ideas welcome please.
from fluent-ui-react.
Related Issues (20)
- Memory leaks in FocusZone due to DOM object references not getting cleaned up
- Dropdown onSelectedChanged typings incorrect
- Bundle size: Single `themes` import imports all themes
- Bundle size: theme import imports several components HOT 2
- Toolbar with menu: trigger button always opens menu instead of toggling it
- Input's fluid property no effect when it is in a Form.Field?
- Dropdown value is [object Object] when selecting an item that is an object using DropdownItemProps HOT 3
- Carousel throws getItemPositionText is not a function
- How to change the Dropdown's container width? It is 22.25rem for now.
- Animation with no children throws
- Can't add custom colors to colorScheme? HOT 1
- Which technology to choose: office-ui-fabric-react vs fluent-ui-react HOT 1
- Toolbar overflow menu is misaligned/shifting rest of a page when clicked
- Tooltip: wrong outline on Button
- Popup: `offset` breaks arrow pointer
- [RFC] Implementing reveal highlight
- Popup: pointing beak is broken on edges HOT 1
- AccordionTitle content is not exposed as a slot
- README.md: Broken link in the "Why?" section
- Safari: Wrong focus indicator on Input
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from fluent-ui-react.