Closed julien-deramond closed 4 hours ago
For information, a first draft is available in the implementation of #33 due to the need to test the architect with available tokens. Of course any improvements, fixes and implementations after the merge of #33 must be linked to this issue to keep consistency.
In addition, "shared" raw tokens defined in OUDSTheme
module (common to all themes) are not customisable as is in OUDS iOS and should not supposed to be because they define raw types and true values for everything, like a kind of source of truth for everyone. However any theme can define its own raw tokens and assign them to semantic tokens. Of course raw tokens values can be defined thanks to generated Swift code, if we have any efficient and relevant tools suite.
What should be done for this issue:
Some comments and questions to tackle:
Some topics to deal with before starting implementation.
Do we agree we will only implement tokens specified for iOS and not Android ones and those labeled 2xs, mg, ld etc. ?
How is supposed a grid to be used? Does it define only margins and gutters?
cc @B3nz01d @mccart77 @ludovic35
FYI first version delivered with commit https://github.com/Orange-OpenSource/ouds-ios/commit/66783298919992c0e8354f4971d2df6be16b2c01 and released with version 0.1.0
Things to to to complete the evolutions:
Description
The aim of this issue is to study and implement the grid tokens taking into account the cohesive multi-platform approach, the customization by libraries inheriting OUDS iOS, but also what we're using for OUDS iOS: Swift UI, etc.
Reminder: there will be in the end 3 layers of tokens:
Tokens: Grid (Composite)
Raw primitive values
Width (mockup design)
Min width
Max width
Margin
Column gap
Column count
Semantic applications: Grid (Composite)
2xs
xs
sm
md
lg
xl
2xl
3xl
iOS: Extra compact
iOS: Compact
iOS: Regular
Android: Extra Compact
Android: Compact
Android: Medium
Study
Technical details
TODO