create-flowmo 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,236 @@
1
+ # OutSystems UI — Color Reference
2
+
3
+ Complete color palette from the OutSystems UI Cheat Sheet. Use `.background-{name}` for background colors and `.text-{name}` for text colors. CSS variables follow the `--color-{name}` pattern.
4
+
5
+ ## Brand Colors
6
+
7
+ | Name | Hex | Background Class | Text Class | CSS Variable |
8
+ |------|-----|-----------------|------------|--------------|
9
+ | Primary | #1068EB | `.background-primary` | `.text-primary` | `--color-primary` |
10
+ | Secondary | #303D60 | `.background-secondary` | `.text-secondary` | `--color-secondary` |
11
+
12
+ ## Semantic Colors
13
+
14
+ | Name | Background Class | Text Class | CSS Variable |
15
+ |------|-----------------|------------|--------------|
16
+ | Info | `.background-info` | `.text-info` | `--color-info` |
17
+ | Success | `.background-success` | `.text-success` | `--color-success` |
18
+ | Warning | `.background-warning` | `.text-warning` | `--color-warning` |
19
+ | Error | `.background-error` | `.text-error` | `--color-error` |
20
+
21
+ ## Extended Palette
22
+
23
+ Each color has shades 0 (lightest) through 9 (darkest). Use CSS variable `--color-{color}-{shade}`.
24
+
25
+ ### Red
26
+
27
+ | Shade | CSS Variable | Hex |
28
+ |-------|-------------|-----|
29
+ | 0 | `--color-red-0` | #FFF5F5 |
30
+ | 1 | `--color-red-1` | #FFE3E3 |
31
+ | 2 | `--color-red-2` | #FFC9C9 |
32
+ | 3 | `--color-red-3` | #FFA8A8 |
33
+ | 4 | `--color-red-4` | #FF8787 |
34
+ | 5 | `--color-red-5` | #FF6B6B |
35
+ | 6 | `--color-red-6` | #FA5252 |
36
+ | 7 | `--color-red-7` | #F03E3E |
37
+ | 8 | `--color-red-8` | #E03131 |
38
+ | 9 | `--color-red-9` | #C92A2A |
39
+
40
+ ### Orange
41
+
42
+ | Shade | CSS Variable | Hex |
43
+ |-------|-------------|-----|
44
+ | 0 | `--color-orange-0` | #FFF4E6 |
45
+ | 1 | `--color-orange-1` | #FFE8CC |
46
+ | 2 | `--color-orange-2` | #FFD8A8 |
47
+ | 3 | `--color-orange-3` | #FFC078 |
48
+ | 4 | `--color-orange-4` | #FFA94D |
49
+ | 5 | `--color-orange-5` | #FF922B |
50
+ | 6 | `--color-orange-6` | #FD7E14 |
51
+ | 7 | `--color-orange-7` | #F76707 |
52
+ | 8 | `--color-orange-8` | #E8590C |
53
+ | 9 | `--color-orange-9` | #D9480F |
54
+
55
+ ### Yellow
56
+
57
+ | Shade | CSS Variable | Hex |
58
+ |-------|-------------|-----|
59
+ | 0 | `--color-yellow-0` | #FFF9DB |
60
+ | 1 | `--color-yellow-1` | #FFF3BF |
61
+ | 2 | `--color-yellow-2` | #FFEC99 |
62
+ | 3 | `--color-yellow-3` | #FFE066 |
63
+ | 4 | `--color-yellow-4` | #FFD43B |
64
+ | 5 | `--color-yellow-5` | #FCC419 |
65
+ | 6 | `--color-yellow-6` | #FAB005 |
66
+ | 7 | `--color-yellow-7` | #F59F00 |
67
+ | 8 | `--color-yellow-8` | #F08C00 |
68
+ | 9 | `--color-yellow-9` | #E67700 |
69
+
70
+ ### Lime
71
+
72
+ | Shade | CSS Variable | Hex |
73
+ |-------|-------------|-----|
74
+ | 0 | `--color-lime-0` | #F4FCE3 |
75
+ | 1 | `--color-lime-1` | #E9FAC8 |
76
+ | 2 | `--color-lime-2` | #D8F5A2 |
77
+ | 3 | `--color-lime-3` | #C0EB75 |
78
+ | 4 | `--color-lime-4` | #A9E34B |
79
+ | 5 | `--color-lime-5` | #94D82D |
80
+ | 6 | `--color-lime-6` | #82C91E |
81
+ | 7 | `--color-lime-7` | #74B816 |
82
+ | 8 | `--color-lime-8` | #66A80F |
83
+ | 9 | `--color-lime-9` | #5C940D |
84
+
85
+ ### Green
86
+
87
+ | Shade | CSS Variable | Hex |
88
+ |-------|-------------|-----|
89
+ | 0 | `--color-green-0` | #EBFBEE |
90
+ | 1 | `--color-green-1` | #D3F9D8 |
91
+ | 2 | `--color-green-2` | #B2F2BB |
92
+ | 3 | `--color-green-3` | #8CE99A |
93
+ | 4 | `--color-green-4` | #69DB7C |
94
+ | 5 | `--color-green-5` | #51CF66 |
95
+ | 6 | `--color-green-6` | #40C057 |
96
+ | 7 | `--color-green-7` | #37B24D |
97
+ | 8 | `--color-green-8` | #2F9E44 |
98
+ | 9 | `--color-green-9` | #2B8A3E |
99
+
100
+ ### Teal
101
+
102
+ | Shade | CSS Variable | Hex |
103
+ |-------|-------------|-----|
104
+ | 0 | `--color-teal-0` | #E6FCF5 |
105
+ | 1 | `--color-teal-1` | #C3FAE8 |
106
+ | 2 | `--color-teal-2` | #96F2D7 |
107
+ | 3 | `--color-teal-3` | #63E6BE |
108
+ | 4 | `--color-teal-4` | #38D9A9 |
109
+ | 5 | `--color-teal-5` | #20C997 |
110
+ | 6 | `--color-teal-6` | #12B886 |
111
+ | 7 | `--color-teal-7` | #0CA678 |
112
+ | 8 | `--color-teal-8` | #099268 |
113
+ | 9 | `--color-teal-9` | #087F5B |
114
+
115
+ ### Cyan
116
+
117
+ | Shade | CSS Variable | Hex |
118
+ |-------|-------------|-----|
119
+ | 0 | `--color-cyan-0` | #E3FAFC |
120
+ | 1 | `--color-cyan-1` | #C5F6FA |
121
+ | 2 | `--color-cyan-2` | #99E9F2 |
122
+ | 3 | `--color-cyan-3` | #66D9E8 |
123
+ | 4 | `--color-cyan-4` | #3BC9DB |
124
+ | 5 | `--color-cyan-5` | #22B8CF |
125
+ | 6 | `--color-cyan-6` | #15AABF |
126
+ | 7 | `--color-cyan-7` | #1098AD |
127
+ | 8 | `--color-cyan-8` | #0C8599 |
128
+ | 9 | `--color-cyan-9` | #0B7285 |
129
+
130
+ ### Blue
131
+
132
+ | Shade | CSS Variable | Hex |
133
+ |-------|-------------|-----|
134
+ | 0 | `--color-blue-0` | #E7F5FF |
135
+ | 1 | `--color-blue-1` | #D0EBFF |
136
+ | 2 | `--color-blue-2` | #A5D8FF |
137
+ | 3 | `--color-blue-3` | #74C0FC |
138
+ | 4 | `--color-blue-4` | #4DABF7 |
139
+ | 5 | `--color-blue-5` | #339AF0 |
140
+ | 6 | `--color-blue-6` | #228BE6 |
141
+ | 7 | `--color-blue-7` | #1C7ED6 |
142
+ | 8 | `--color-blue-8` | #1971C2 |
143
+ | 9 | `--color-blue-9` | #1864AB |
144
+
145
+ ### Indigo
146
+
147
+ | Shade | CSS Variable | Hex |
148
+ |-------|-------------|-----|
149
+ | 0 | `--color-indigo-0` | #EDF2FF |
150
+ | 1 | `--color-indigo-1` | #DBE4FF |
151
+ | 2 | `--color-indigo-2` | #BAC8FF |
152
+ | 3 | `--color-indigo-3` | #91A7FF |
153
+ | 4 | `--color-indigo-4` | #748FFC |
154
+ | 5 | `--color-indigo-5` | #5C7CFA |
155
+ | 6 | `--color-indigo-6` | #4C6EF5 |
156
+ | 7 | `--color-indigo-7` | #4263EB |
157
+ | 8 | `--color-indigo-8` | #3B5BDB |
158
+ | 9 | `--color-indigo-9` | #364FC7 |
159
+
160
+ ### Violet
161
+
162
+ | Shade | CSS Variable | Hex |
163
+ |-------|-------------|-----|
164
+ | 0 | `--color-violet-0` | #F3F0FF |
165
+ | 1 | `--color-violet-1` | #E5DBFF |
166
+ | 2 | `--color-violet-2` | #D0BFFF |
167
+ | 3 | `--color-violet-3` | #B197FC |
168
+ | 4 | `--color-violet-4` | #9775FA |
169
+ | 5 | `--color-violet-5` | #845EF7 |
170
+ | 6 | `--color-violet-6` | #7950F2 |
171
+ | 7 | `--color-violet-7` | #7048E8 |
172
+ | 8 | `--color-violet-8` | #6741D9 |
173
+ | 9 | `--color-violet-9` | #5F3DC4 |
174
+
175
+ ### Grape
176
+
177
+ | Shade | CSS Variable | Hex |
178
+ |-------|-------------|-----|
179
+ | 0 | `--color-grape-0` | #F8F0FC |
180
+ | 1 | `--color-grape-1` | #F3D9FA |
181
+ | 2 | `--color-grape-2` | #EEBEFA |
182
+ | 3 | `--color-grape-3` | #E599F7 |
183
+ | 4 | `--color-grape-4` | #DA77F2 |
184
+ | 5 | `--color-grape-5` | #CC5DE8 |
185
+ | 6 | `--color-grape-6` | #BE4BDB |
186
+ | 7 | `--color-grape-7` | #AE3EC9 |
187
+ | 8 | `--color-grape-8` | #9C36B5 |
188
+ | 9 | `--color-grape-9` | #862E9C |
189
+
190
+ ### Pink
191
+
192
+ | Shade | CSS Variable | Hex |
193
+ |-------|-------------|-----|
194
+ | 0 | `--color-pink-0` | #FFF0F6 |
195
+ | 1 | `--color-pink-1` | #FFDEEB |
196
+ | 2 | `--color-pink-2` | #FCC2D7 |
197
+ | 3 | `--color-pink-3` | #FAA2C1 |
198
+ | 4 | `--color-pink-4` | #F783AC |
199
+ | 5 | `--color-pink-5` | #F06595 |
200
+ | 6 | `--color-pink-6` | #E64980 |
201
+ | 7 | `--color-pink-7` | #D6336C |
202
+ | 8 | `--color-pink-8` | #C2255C |
203
+ | 9 | `--color-pink-9` | #A61E4D |
204
+
205
+ ## Neutral Palette
206
+
207
+ Used for text, borders, backgrounds, and shadows.
208
+
209
+ | Shade | CSS Variable | Description |
210
+ |-------|-------------|-------------|
211
+ | 0 | `--color-neutral-0` | White / lightest background |
212
+ | 1 | `--color-neutral-1` | Very light background |
213
+ | 2 | `--color-neutral-2` | Light background / hover |
214
+ | 3 | `--color-neutral-3` | Border light |
215
+ | 4 | `--color-neutral-4` | Border / divider |
216
+ | 5 | `--color-neutral-5` | Placeholder text |
217
+ | 6 | `--color-neutral-6` | Subtle text |
218
+ | 7 | `--color-neutral-7` | Secondary text |
219
+ | 8 | `--color-neutral-8` | Primary text |
220
+ | 9 | `--color-neutral-9` | Heading text |
221
+ | 10 | `--color-neutral-10` | Darkest / near-black |
222
+
223
+ ## Global CSS Variables (Colors)
224
+
225
+ These variables are defined at the `:root` level of the OSUI theme:
226
+
227
+ ```css
228
+ --color-primary: #1068EB;
229
+ --color-secondary: #303D60;
230
+ --color-background-body: var(--color-neutral-0);
231
+ --color-background-login: var(--color-neutral-1);
232
+ --color-neutral-0: #FFFFFF;
233
+ --color-neutral-10: #1A1A2E;
234
+ --color-focus-outer: #FFD337;
235
+ --color-focus-inner: var(--color-neutral-10);
236
+ ```
@@ -0,0 +1,178 @@
1
+ # OutSystems UI — Adaptive Patterns (12)
2
+
3
+ Layout and responsive patterns for building multi-column, device-aware, and master-detail screens.
4
+
5
+ ## Columns2
6
+
7
+ Two equal-width columns that auto-stack on mobile.
8
+
9
+ ```html
10
+ <div class="columns2">
11
+ <div class="column">{{content-left}}</div>
12
+ <div class="column">{{content-right}}</div>
13
+ </div>
14
+ ```
15
+
16
+ **Mandatory classes**: `.columns2`, `.column`
17
+
18
+ ## Columns3
19
+
20
+ ```html
21
+ <div class="columns3">
22
+ <div class="column">{{content-1}}</div>
23
+ <div class="column">{{content-2}}</div>
24
+ <div class="column">{{content-3}}</div>
25
+ </div>
26
+ ```
27
+
28
+ **Mandatory classes**: `.columns3`, `.column`
29
+
30
+ ## Columns4
31
+
32
+ ```html
33
+ <div class="columns4">
34
+ <div class="column">{{content-1}}</div>
35
+ <div class="column">{{content-2}}</div>
36
+ <div class="column">{{content-3}}</div>
37
+ <div class="column">{{content-4}}</div>
38
+ </div>
39
+ ```
40
+
41
+ **Mandatory classes**: `.columns4`, `.column`
42
+
43
+ ## Columns5
44
+
45
+ ```html
46
+ <div class="columns5">
47
+ <div class="column">{{content-1}}</div>
48
+ <div class="column">{{content-2}}</div>
49
+ <div class="column">{{content-3}}</div>
50
+ <div class="column">{{content-4}}</div>
51
+ <div class="column">{{content-5}}</div>
52
+ </div>
53
+ ```
54
+
55
+ **Mandatory classes**: `.columns5`, `.column`
56
+
57
+ ## Columns6
58
+
59
+ ```html
60
+ <div class="columns6">
61
+ <div class="column">{{content-1}}</div>
62
+ <div class="column">{{content-2}}</div>
63
+ <div class="column">{{content-3}}</div>
64
+ <div class="column">{{content-4}}</div>
65
+ <div class="column">{{content-5}}</div>
66
+ <div class="column">{{content-6}}</div>
67
+ </div>
68
+ ```
69
+
70
+ **Mandatory classes**: `.columns6`, `.column`
71
+
72
+ ## Columns Medium Left
73
+
74
+ Asymmetric — left column is wider (medium-sized), right is narrow.
75
+
76
+ ```html
77
+ <div class="columns-medium-left">
78
+ <div class="column">{{content-main}}</div>
79
+ <div class="column">{{content-aside}}</div>
80
+ </div>
81
+ ```
82
+
83
+ **Mandatory classes**: `.columns-medium-left`, `.column`
84
+
85
+ ## Columns Medium Right
86
+
87
+ Asymmetric — left is narrow, right column is wider.
88
+
89
+ ```html
90
+ <div class="columns-medium-right">
91
+ <div class="column">{{content-aside}}</div>
92
+ <div class="column">{{content-main}}</div>
93
+ </div>
94
+ ```
95
+
96
+ **Mandatory classes**: `.columns-medium-right`, `.column`
97
+
98
+ ## Columns Small Left
99
+
100
+ Left column is narrow sidebar, right column takes remaining space.
101
+
102
+ ```html
103
+ <div class="columns-small-left">
104
+ <div class="column">{{content-sidebar}}</div>
105
+ <div class="column">{{content-main}}</div>
106
+ </div>
107
+ ```
108
+
109
+ **Mandatory classes**: `.columns-small-left`, `.column`
110
+
111
+ ## Columns Small Right
112
+
113
+ Left column takes most space, right column is narrow.
114
+
115
+ ```html
116
+ <div class="columns-small-right">
117
+ <div class="column">{{content-main}}</div>
118
+ <div class="column">{{content-sidebar}}</div>
119
+ </div>
120
+ ```
121
+
122
+ **Mandatory classes**: `.columns-small-right`, `.column`
123
+
124
+ ## Display On Device
125
+
126
+ Show or hide content based on device type.
127
+
128
+ ```html
129
+ <div class="display-desktop">{{desktop-only-content}}</div>
130
+ <div class="display-tablet">{{tablet-only-content}}</div>
131
+ <div class="display-phone">{{phone-only-content}}</div>
132
+ ```
133
+
134
+ **Classes**: `.display-desktop`, `.display-tablet`, `.display-phone`
135
+
136
+ ## Gallery
137
+
138
+ Responsive grid with configurable columns per breakpoint.
139
+
140
+ ```html
141
+ <div class="gallery" style="
142
+ --grid-desktop: 4;
143
+ --grid-tablet: 2;
144
+ --grid-phone: 1;
145
+ --grid-gap: var(--space-base);
146
+ ">
147
+ <div class="gallery-item">{{content-1}}</div>
148
+ <div class="gallery-item">{{content-2}}</div>
149
+ <div class="gallery-item">{{content-3}}</div>
150
+ <div class="gallery-item">{{content-4}}</div>
151
+ </div>
152
+ ```
153
+
154
+ **Mandatory classes**: `.gallery`, `.gallery-item`
155
+ **CSS Variables**: `--grid-desktop`, `--grid-tablet`, `--grid-phone`, `--grid-gap`
156
+
157
+ ## Master Detail
158
+
159
+ Side-by-side layout for list + detail views. Common for entity list screens.
160
+
161
+ ```html
162
+ <div class="master-detail" style="
163
+ --master-detail-height: 600px;
164
+ --left-percentage: 50;
165
+ ">
166
+ <div class="master-detail-list">{{list-content}}</div>
167
+ <div class="master-detail-detail">{{detail-content}}</div>
168
+ </div>
169
+ ```
170
+
171
+ **Mandatory classes**: `.master-detail`, `.master-detail-list`, `.master-detail-detail`
172
+ **CSS Variables**: `--master-detail-height`, `--left-percentage` (default: 50)
173
+
174
+ ## Notes
175
+
176
+ - All column patterns auto-stack on phone breakpoints. Do NOT add custom `@media` queries.
177
+ - Column patterns use flexbox internally. Child `.column` elements stretch to equal height by default.
178
+ - Gallery is CSS Grid-based and the most flexible option for card-heavy layouts.
@@ -0,0 +1,242 @@
1
+ # OutSystems UI — Content Patterns (16)
2
+
3
+ Patterns for displaying content: cards, alerts, sections, and informational elements.
4
+
5
+ ## Accordion
6
+
7
+ Expandable/collapsible sections. Each item has a title and content area.
8
+
9
+ ```html
10
+ <div class="osui-accordion">
11
+ <div class="osui-accordion__item">
12
+ <div class="osui-accordion__item__header">
13
+ <span class="osui-accordion__item__header__title">{{title}}</span>
14
+ <span class="osui-accordion__item__header__icon"></span>
15
+ </div>
16
+ <div class="osui-accordion__item__content">{{content}}</div>
17
+ </div>
18
+ </div>
19
+ ```
20
+
21
+ **Mandatory classes**: `.osui-accordion`, `.osui-accordion__item`, `__header`, `__content`
22
+
23
+ ## Alert
24
+
25
+ Inline feedback message with semantic color.
26
+
27
+ ```html
28
+ <div class="osui-alert osui-alert--{type}">
29
+ <div class="osui-alert__content">{{message}}</div>
30
+ <div class="osui-alert__close"></div>
31
+ </div>
32
+ ```
33
+
34
+ **Types**: Replace `{type}` with `info`, `success`, `warning`, `error`
35
+ **Mandatory classes**: `.osui-alert`, `.osui-alert--{type}`
36
+
37
+ ## Blank Slate
38
+
39
+ Empty state placeholder — use when a list or section has no data.
40
+
41
+ ```html
42
+ <div class="blank-slate">
43
+ <div class="blank-slate-image">{{icon-or-image}}</div>
44
+ <div class="blank-slate-content">
45
+ <h5>{{title}}</h5>
46
+ <p>{{description}}</p>
47
+ </div>
48
+ <div class="blank-slate-footer">{{action-button}}</div>
49
+ </div>
50
+ ```
51
+
52
+ **Mandatory classes**: `.blank-slate`
53
+
54
+ ## Card
55
+
56
+ The most common content container. Adds elevation and padding.
57
+
58
+ ```html
59
+ <div class="card">
60
+ <div class="card-header">{{header}}</div>
61
+ <div class="card-content">{{content}}</div>
62
+ <div class="card-footer">{{footer}}</div>
63
+ </div>
64
+ ```
65
+
66
+ **Mandatory classes**: `.card`
67
+ **Optional sections**: `.card-header`, `.card-content`, `.card-footer`
68
+
69
+ ## Card Background
70
+
71
+ Card with a background image. Content overlays the image.
72
+
73
+ ```html
74
+ <div class="card-background" style="background-image: url('{{image-url}}');">
75
+ <div class="card-background-content">
76
+ <h4>{{title}}</h4>
77
+ <p>{{description}}</p>
78
+ </div>
79
+ </div>
80
+ ```
81
+
82
+ **Mandatory classes**: `.card-background`, `.card-background-content`
83
+
84
+ ## Card Item
85
+
86
+ Compact card variant used inside lists. Typically has an image + text side by side.
87
+
88
+ ```html
89
+ <div class="card-item">
90
+ <div class="card-item-image">{{image}}</div>
91
+ <div class="card-item-content">
92
+ <div class="card-item-title">{{title}}</div>
93
+ <div class="card-item-description">{{description}}</div>
94
+ </div>
95
+ </div>
96
+ ```
97
+
98
+ **Mandatory classes**: `.card-item`
99
+
100
+ ## Card Sectioned
101
+
102
+ Card divided into distinct sections with dividers.
103
+
104
+ ```html
105
+ <div class="card-sectioned">
106
+ <div class="card-sectioned-item">{{section-1}}</div>
107
+ <div class="card-sectioned-item">{{section-2}}</div>
108
+ <div class="card-sectioned-item">{{section-3}}</div>
109
+ </div>
110
+ ```
111
+
112
+ **Mandatory classes**: `.card-sectioned`, `.card-sectioned-item`
113
+
114
+ ## Chat Message
115
+
116
+ Message bubble for chat-style interfaces.
117
+
118
+ ```html
119
+ <div class="chat-message">
120
+ <div class="chat-message-avatar">{{avatar}}</div>
121
+ <div class="chat-message-content">
122
+ <div class="chat-message-header">
123
+ <span class="chat-message-name">{{name}}</span>
124
+ <span class="chat-message-time">{{timestamp}}</span>
125
+ </div>
126
+ <div class="chat-message-text">{{message}}</div>
127
+ </div>
128
+ </div>
129
+ ```
130
+
131
+ **Mandatory classes**: `.chat-message`
132
+ **Variants**: Add `.chat-message--right` for outgoing messages.
133
+
134
+ ## Flip Content
135
+
136
+ Two-sided content that flips on hover or click.
137
+
138
+ ```html
139
+ <div class="flip-content">
140
+ <div class="flip-content-front">{{front-content}}</div>
141
+ <div class="flip-content-back">{{back-content}}</div>
142
+ </div>
143
+ ```
144
+
145
+ **Mandatory classes**: `.flip-content`, `.flip-content-front`, `.flip-content-back`
146
+
147
+ ## Floating Content
148
+
149
+ Content that overlays the page in a fixed/floating position.
150
+
151
+ ```html
152
+ <div class="floating-content">
153
+ {{content}}
154
+ </div>
155
+ ```
156
+
157
+ **Mandatory classes**: `.floating-content`
158
+
159
+ ## List Item Content
160
+
161
+ Structured list item with image, text, and optional right action.
162
+
163
+ ```html
164
+ <div class="list-item-content">
165
+ <div class="list-item-content-left">{{image-or-icon}}</div>
166
+ <div class="list-item-content-center">
167
+ <div class="list-item-content-title">{{title}}</div>
168
+ <div class="list-item-content-description">{{description}}</div>
169
+ </div>
170
+ <div class="list-item-content-right">{{action}}</div>
171
+ </div>
172
+ ```
173
+
174
+ **Mandatory classes**: `.list-item-content`
175
+
176
+ ## Section
177
+
178
+ Groups related content under a heading.
179
+
180
+ ```html
181
+ <div class="section">
182
+ <div class="section-header">
183
+ <h5 class="section-title">{{title}}</h5>
184
+ </div>
185
+ <div class="section-content">{{content}}</div>
186
+ </div>
187
+ ```
188
+
189
+ **Mandatory classes**: `.section`
190
+
191
+ ## Section Group
192
+
193
+ Container for multiple Sections with consistent spacing.
194
+
195
+ ```html
196
+ <div class="section-group">
197
+ <div class="section">{{section-1}}</div>
198
+ <div class="section">{{section-2}}</div>
199
+ </div>
200
+ ```
201
+
202
+ **Mandatory classes**: `.section-group`
203
+
204
+ ## Tag
205
+
206
+ Small label/badge for categorization.
207
+
208
+ ```html
209
+ <span class="tag">{{label}}</span>
210
+ ```
211
+
212
+ **Mandatory classes**: `.tag`
213
+ **Color variants**: Combine with `.background-primary`, `.background-success`, etc.
214
+ **Shape**: Add `.border-radius-rounded` for pill shape.
215
+
216
+ ## Tooltip
217
+
218
+ Information popup on hover.
219
+
220
+ ```html
221
+ <div class="osui-tooltip">
222
+ <div class="osui-tooltip__trigger">{{trigger-element}}</div>
223
+ <div class="osui-tooltip__content">{{tooltip-text}}</div>
224
+ </div>
225
+ ```
226
+
227
+ **Mandatory classes**: `.osui-tooltip`
228
+ **Position**: Add `.osui-tooltip--top`, `.osui-tooltip--bottom`, `.osui-tooltip--left`, `.osui-tooltip--right`
229
+
230
+ ## User Avatar
231
+
232
+ Circular user image with optional initials fallback.
233
+
234
+ ```html
235
+ <div class="user-avatar">
236
+ <img src="{{image-url}}" alt="{{name}}" />
237
+ </div>
238
+ ```
239
+
240
+ **Mandatory classes**: `.user-avatar`
241
+ **Sizes**: `.user-avatar--small`, `.user-avatar--medium` (default), `.user-avatar--large`
242
+ **Fallback**: Use initials text inside the div when no image is available.