create-flowmo 1.0.0 → 1.1.1

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.
@@ -1,288 +0,0 @@
1
- # OutSystems UI — Interaction Patterns (18)
2
-
3
- Patterns for user interaction: inputs, selections, animations, and dynamic content.
4
-
5
- ## Action Sheet
6
-
7
- Bottom-sliding panel with action options (mobile pattern).
8
-
9
- ```html
10
- <div class="osui-action-sheet">
11
- <div class="osui-action-sheet__header">{{title}}</div>
12
- <div class="osui-action-sheet__content">
13
- <div class="osui-action-sheet__item">{{action-1}}</div>
14
- <div class="osui-action-sheet__item">{{action-2}}</div>
15
- </div>
16
- </div>
17
- ```
18
-
19
- **Mandatory classes**: `.osui-action-sheet`
20
-
21
- ## Animate
22
-
23
- Apply CSS animations to content on appear, scroll, or trigger.
24
-
25
- ```html
26
- <div class="animate" data-animate="fadeIn">
27
- {{content}}
28
- </div>
29
- ```
30
-
31
- **Mandatory classes**: `.animate`
32
- **Animation types**: `fadeIn`, `slideInUp`, `slideInDown`, `slideInLeft`, `slideInRight`, `zoomIn`, `bounceIn`
33
-
34
- ## Animated Label
35
-
36
- Input label that animates from placeholder to floating label on focus.
37
-
38
- ```html
39
- <div class="animated-label">
40
- <input type="text" class="form-control" placeholder=" " />
41
- <label>{{label-text}}</label>
42
- </div>
43
- ```
44
-
45
- **Mandatory classes**: `.animated-label`
46
- **Note**: The `placeholder=" "` (space) is required for the CSS animation to work.
47
-
48
- ## Bottom Sheet
49
-
50
- Mobile-style panel that slides up from the bottom of the screen.
51
-
52
- ```html
53
- <div class="osui-bottom-sheet">
54
- <div class="osui-bottom-sheet__header">
55
- <div class="osui-bottom-sheet__handle"></div>
56
- {{header-content}}
57
- </div>
58
- <div class="osui-bottom-sheet__content">{{content}}</div>
59
- </div>
60
- ```
61
-
62
- **Mandatory classes**: `.osui-bottom-sheet`
63
-
64
- ## Carousel
65
-
66
- Horizontal content slider with navigation dots.
67
-
68
- ```html
69
- <div class="osui-carousel" id="carousel-1">
70
- <div class="osui-carousel__wrapper">
71
- <div class="osui-carousel__item">{{slide-1}}</div>
72
- <div class="osui-carousel__item">{{slide-2}}</div>
73
- <div class="osui-carousel__item">{{slide-3}}</div>
74
- </div>
75
- <div class="osui-carousel__navigation">
76
- <div class="osui-carousel__dots"></div>
77
- </div>
78
- </div>
79
- ```
80
-
81
- **Mandatory classes**: `.osui-carousel`, `.osui-carousel__item`
82
- **CSS Variable**: `--{carousel-id}-width` to control slide width
83
-
84
- ## Date Picker
85
-
86
- Calendar-based date selection input.
87
-
88
- ```html
89
- <div class="osui-datepicker">
90
- <input type="text" class="form-control" placeholder="Select date" />
91
- </div>
92
- ```
93
-
94
- **Mandatory classes**: `.osui-datepicker`
95
-
96
- ## Dropdown Search
97
-
98
- Searchable dropdown selection. Filters options as user types.
99
-
100
- ```html
101
- <div class="osui-dropdown-search">
102
- <div class="osui-dropdown-search__trigger">
103
- <input type="text" placeholder="Search..." />
104
- </div>
105
- <div class="osui-dropdown-search__content">
106
- <div class="osui-dropdown-search__item">{{option-1}}</div>
107
- <div class="osui-dropdown-search__item">{{option-2}}</div>
108
- </div>
109
- </div>
110
- ```
111
-
112
- **Mandatory classes**: `.osui-dropdown-search`
113
-
114
- ## Dropdown Tags
115
-
116
- Multi-select dropdown that shows selections as tags/pills.
117
-
118
- ```html
119
- <div class="osui-dropdown-tags">
120
- <div class="osui-dropdown-tags__selected">
121
- <span class="tag">{{selected-1}}</span>
122
- <span class="tag">{{selected-2}}</span>
123
- </div>
124
- <div class="osui-dropdown-tags__content">
125
- <div class="osui-dropdown-tags__item">{{option-1}}</div>
126
- <div class="osui-dropdown-tags__item">{{option-2}}</div>
127
- </div>
128
- </div>
129
- ```
130
-
131
- **Mandatory classes**: `.osui-dropdown-tags`
132
-
133
- ## Floating Actions
134
-
135
- FAB — floating action button with expandable sub-actions.
136
-
137
- ```html
138
- <div class="osui-floating-actions" style="--delay: 0.1s;">
139
- <div class="osui-floating-actions__trigger">
140
- <button class="btn btn-primary border-radius-circle">+</button>
141
- </div>
142
- <div class="osui-floating-actions__items">
143
- <div class="osui-floating-actions__item">{{action-1}}</div>
144
- <div class="osui-floating-actions__item">{{action-2}}</div>
145
- </div>
146
- </div>
147
- ```
148
-
149
- **Mandatory classes**: `.osui-floating-actions`
150
- **CSS Variable**: `--delay` for staggered animation
151
-
152
- ## Input With Icon
153
-
154
- Text input with an icon inside (left or right).
155
-
156
- ```html
157
- <div class="input-with-icon">
158
- <span class="icon">{{icon}}</span>
159
- <input type="text" class="form-control" placeholder="{{placeholder}}" />
160
- </div>
161
- ```
162
-
163
- **Mandatory classes**: `.input-with-icon`
164
- **Icon position**: `.input-with-icon--left` (default), `.input-with-icon--right`
165
-
166
- ## Lightbox Image
167
-
168
- Clickable image that opens in a fullscreen overlay.
169
-
170
- ```html
171
- <div class="lightbox-image">
172
- <img src="{{thumbnail-url}}" alt="{{alt-text}}" />
173
- </div>
174
- ```
175
-
176
- **Mandatory classes**: `.lightbox-image`
177
-
178
- ## Notification
179
-
180
- Toast-style notification that appears briefly.
181
-
182
- ```html
183
- <div class="osui-notification osui-notification--{type}">
184
- <div class="osui-notification__content">{{message}}</div>
185
- <div class="osui-notification__close"></div>
186
- </div>
187
- ```
188
-
189
- **Types**: `info`, `success`, `warning`, `error`
190
- **Position**: `.osui-notification--top`, `.osui-notification--bottom`
191
-
192
- ## Range Slider
193
-
194
- Single-value slider input.
195
-
196
- ```html
197
- <div class="osui-range-slider">
198
- <input type="range" min="0" max="100" value="50" />
199
- </div>
200
- ```
201
-
202
- **Mandatory classes**: `.osui-range-slider`
203
-
204
- ## Range Slider Interval
205
-
206
- Dual-handle slider for selecting a range.
207
-
208
- ```html
209
- <div class="osui-range-slider-interval">
210
- <input type="range" min="0" max="100" value="25" />
211
- <input type="range" min="0" max="100" value="75" />
212
- </div>
213
- ```
214
-
215
- **Mandatory classes**: `.osui-range-slider-interval`
216
-
217
- ## Scrollable Area
218
-
219
- Content area with overflow scrolling and configurable dimensions.
220
-
221
- ```html
222
- <div class="osui-scrollable-area" style="
223
- --scrollable-area-width: 100%;
224
- --scrollable-area-height: 300px;
225
- ">
226
- {{scrollable-content}}
227
- </div>
228
- ```
229
-
230
- **Mandatory classes**: `.osui-scrollable-area`
231
- **CSS Variables**: `--scrollable-area-width`, `--scrollable-area-height`
232
-
233
- ## Search
234
-
235
- Search input with clear button and optional results area.
236
-
237
- ```html
238
- <div class="osui-search">
239
- <div class="osui-search__input">
240
- <input type="text" class="form-control" placeholder="Search..." />
241
- <span class="osui-search__icon"></span>
242
- </div>
243
- <div class="osui-search__results">{{results}}</div>
244
- </div>
245
- ```
246
-
247
- **Mandatory classes**: `.osui-search`
248
-
249
- ## Sidebar
250
-
251
- Slide-in panel from left or right edge.
252
-
253
- ```html
254
- <div class="osui-sidebar osui-sidebar--{direction}">
255
- <div class="osui-sidebar__header">{{header}}</div>
256
- <div class="osui-sidebar__content">{{content}}</div>
257
- </div>
258
- ```
259
-
260
- **Direction**: `left` (default), `right`
261
- **Mandatory classes**: `.osui-sidebar`
262
-
263
- ## Stacked Cards
264
-
265
- Swipeable stack of overlapping cards (Tinder-style).
266
-
267
- ```html
268
- <div class="osui-stacked-cards">
269
- <div class="osui-stacked-cards__item">{{card-1}}</div>
270
- <div class="osui-stacked-cards__item">{{card-2}}</div>
271
- <div class="osui-stacked-cards__item">{{card-3}}</div>
272
- </div>
273
- ```
274
-
275
- **Mandatory classes**: `.osui-stacked-cards`, `.osui-stacked-cards__item`
276
-
277
- ## Video
278
-
279
- Responsive video embed container.
280
-
281
- ```html
282
- <div class="video-container">
283
- <iframe src="{{video-url}}" allowfullscreen></iframe>
284
- </div>
285
- ```
286
-
287
- **Mandatory classes**: `.video-container`
288
- **Note**: Maintains 16:9 aspect ratio automatically.
@@ -1,180 +0,0 @@
1
- # OutSystems UI — Navigation Patterns (9)
2
-
3
- Patterns for navigating between screens, sections, and steps.
4
-
5
- ## Bottom Bar Item
6
-
7
- Mobile-style tab bar item at the bottom of the screen.
8
-
9
- ```html
10
- <div class="bottom-bar">
11
- <div class="bottom-bar-item active">
12
- <span class="bottom-bar-item-icon">{{icon-1}}</span>
13
- <span class="bottom-bar-item-text">{{label-1}}</span>
14
- </div>
15
- <div class="bottom-bar-item">
16
- <span class="bottom-bar-item-icon">{{icon-2}}</span>
17
- <span class="bottom-bar-item-text">{{label-2}}</span>
18
- </div>
19
- <div class="bottom-bar-item">
20
- <span class="bottom-bar-item-icon">{{icon-3}}</span>
21
- <span class="bottom-bar-item-text">{{label-3}}</span>
22
- </div>
23
- </div>
24
- ```
25
-
26
- **Mandatory classes**: `.bottom-bar`, `.bottom-bar-item`
27
- **Active state**: Add `.active` to the current item.
28
-
29
- ## Breadcrumbs
30
-
31
- Hierarchical navigation trail showing the user's location.
32
-
33
- ```html
34
- <div class="breadcrumbs">
35
- <a class="breadcrumb-item" href="#">Home</a>
36
- <span class="breadcrumb-separator">/</span>
37
- <a class="breadcrumb-item" href="#">Category</a>
38
- <span class="breadcrumb-separator">/</span>
39
- <span class="breadcrumb-item active">Current Page</span>
40
- </div>
41
- ```
42
-
43
- **Mandatory classes**: `.breadcrumbs`, `.breadcrumb-item`
44
- **Active state**: Last item uses `.active` and is a `<span>`, not a link.
45
-
46
- ## Overflow Menu
47
-
48
- Three-dot menu that reveals additional actions in a dropdown.
49
-
50
- ```html
51
- <div class="osui-overflow-menu">
52
- <div class="osui-overflow-menu__trigger">
53
- <span class="osui-overflow-menu__icon">⋯</span>
54
- </div>
55
- <div class="osui-overflow-menu__content">
56
- <div class="osui-overflow-menu__item">{{action-1}}</div>
57
- <div class="osui-overflow-menu__item">{{action-2}}</div>
58
- <div class="osui-overflow-menu__item osui-overflow-menu__item--destructive">{{delete-action}}</div>
59
- </div>
60
- </div>
61
- ```
62
-
63
- **Mandatory classes**: `.osui-overflow-menu`
64
- **Destructive variant**: `.osui-overflow-menu__item--destructive` for dangerous actions (red text).
65
-
66
- ## Pagination
67
-
68
- Page navigation for large datasets.
69
-
70
- ```html
71
- <div class="pagination">
72
- <a class="pagination-item pagination-prev" href="#">&laquo;</a>
73
- <a class="pagination-item" href="#">1</a>
74
- <a class="pagination-item active" href="#">2</a>
75
- <a class="pagination-item" href="#">3</a>
76
- <a class="pagination-item pagination-next" href="#">&raquo;</a>
77
- </div>
78
- ```
79
-
80
- **Mandatory classes**: `.pagination`, `.pagination-item`
81
- **Active state**: `.active` on the current page.
82
-
83
- ## Section Index
84
-
85
- Sticky sidebar or inline index that links to page sections.
86
-
87
- ```html
88
- <div class="section-index">
89
- <a class="section-index-item active" href="#section-1">Section 1</a>
90
- <a class="section-index-item" href="#section-2">Section 2</a>
91
- <a class="section-index-item" href="#section-3">Section 3</a>
92
- </div>
93
- ```
94
-
95
- **Mandatory classes**: `.section-index`, `.section-index-item`
96
-
97
- ## Submenu
98
-
99
- Nested navigation menu for secondary-level items.
100
-
101
- ```html
102
- <div class="submenu">
103
- <a class="submenu-item active" href="#">Overview</a>
104
- <a class="submenu-item" href="#">Details</a>
105
- <a class="submenu-item" href="#">Settings</a>
106
- </div>
107
- ```
108
-
109
- **Mandatory classes**: `.submenu`, `.submenu-item`
110
-
111
- ## Tabs
112
-
113
- Tabbed content switcher.
114
-
115
- ```html
116
- <div class="osui-tabs">
117
- <div class="osui-tabs__header">
118
- <div class="osui-tabs__header-item active">{{tab-1-label}}</div>
119
- <div class="osui-tabs__header-item">{{tab-2-label}}</div>
120
- <div class="osui-tabs__header-item">{{tab-3-label}}</div>
121
- </div>
122
- <div class="osui-tabs__content">
123
- <div class="osui-tabs__content-item active">{{tab-1-content}}</div>
124
- <div class="osui-tabs__content-item">{{tab-2-content}}</div>
125
- <div class="osui-tabs__content-item">{{tab-3-content}}</div>
126
- </div>
127
- </div>
128
- ```
129
-
130
- **Mandatory classes**: `.osui-tabs`, `.osui-tabs__header-item`, `.osui-tabs__content-item`
131
- **Active state**: Both the header item and content item need `.active` class.
132
- **Orientation**: Add `.osui-tabs--vertical` for a vertical tab layout.
133
-
134
- ## Timeline Item
135
-
136
- Vertical timeline entry for displaying chronological events.
137
-
138
- ```html
139
- <div class="timeline">
140
- <div class="timeline-item">
141
- <div class="timeline-item-icon">{{icon}}</div>
142
- <div class="timeline-item-content">
143
- <div class="timeline-item-header">
144
- <span class="timeline-item-title">{{title}}</span>
145
- <span class="timeline-item-date">{{date}}</span>
146
- </div>
147
- <div class="timeline-item-body">{{description}}</div>
148
- </div>
149
- </div>
150
- <div class="timeline-item">
151
- <!-- repeat for each event -->
152
- </div>
153
- </div>
154
- ```
155
-
156
- **Mandatory classes**: `.timeline`, `.timeline-item`
157
-
158
- ## Wizard
159
-
160
- Multi-step process indicator with numbered steps.
161
-
162
- ```html
163
- <div class="osui-wizard">
164
- <div class="osui-wizard__item osui-wizard__item--past">
165
- <div class="osui-wizard__item__step">1</div>
166
- <div class="osui-wizard__item__label">{{step-1-label}}</div>
167
- </div>
168
- <div class="osui-wizard__item osui-wizard__item--active">
169
- <div class="osui-wizard__item__step">2</div>
170
- <div class="osui-wizard__item__label">{{step-2-label}}</div>
171
- </div>
172
- <div class="osui-wizard__item">
173
- <div class="osui-wizard__item__step">3</div>
174
- <div class="osui-wizard__item__label">{{step-3-label}}</div>
175
- </div>
176
- </div>
177
- ```
178
-
179
- **Mandatory classes**: `.osui-wizard`, `.osui-wizard__item`
180
- **Step states**: `.osui-wizard__item--past` (completed), `.osui-wizard__item--active` (current), no modifier (future)
@@ -1,94 +0,0 @@
1
- # OutSystems UI — Number Patterns (6)
2
-
3
- Patterns for displaying numeric data: badges, counters, progress indicators, and ratings.
4
-
5
- ## Badge
6
-
7
- Small numeric or text label, typically overlaid on another element.
8
-
9
- ```html
10
- <span class="badge">{{value}}</span>
11
- ```
12
-
13
- **Mandatory classes**: `.badge`
14
- **Color variants**: Combine with `.background-primary`, `.background-success`, `.background-error`, etc.
15
- **Shape**: Add `.border-radius-circle` for a circular badge.
16
- **Usage**: Overlay on icons for notification counts, or inline in lists.
17
-
18
- ## Counter
19
-
20
- Displays a count value with a label. Often used in dashboard cards.
21
-
22
- ```html
23
- <div class="counter">
24
- <div class="counter-value">{{number}}</div>
25
- <div class="counter-label">{{label}}</div>
26
- </div>
27
- ```
28
-
29
- **Mandatory classes**: `.counter`
30
- **Sizing**: Use `.font-size-display` or `.font-size-h1` on `.counter-value` for hero numbers.
31
-
32
- ## Icon Badge
33
-
34
- Badge attached to an icon — for notification indicators on menu items or buttons.
35
-
36
- ```html
37
- <div class="icon-badge">
38
- <span class="icon">{{icon}}</span>
39
- <span class="badge">{{count}}</span>
40
- </div>
41
- ```
42
-
43
- **Mandatory classes**: `.icon-badge`
44
- **Note**: The badge is absolutely positioned on top-right of the icon container.
45
-
46
- ## Progress Bar
47
-
48
- Horizontal bar showing completion percentage.
49
-
50
- ```html
51
- <div class="progress-bar">
52
- <div class="progress-bar-value" style="width: {{percentage}}%;">
53
- {{percentage}}%
54
- </div>
55
- </div>
56
- ```
57
-
58
- **Mandatory classes**: `.progress-bar`, `.progress-bar-value`
59
- **Color**: Apply `.background-primary`, `.background-success`, etc. to `.progress-bar-value`.
60
- **Size**: The containing `.progress-bar` handles the track; `.progress-bar-value` is the fill.
61
-
62
- ## Progress Circle
63
-
64
- Circular/radial progress indicator.
65
-
66
- ```html
67
- <div class="progress-circle" data-progress="{{percentage}}">
68
- <div class="progress-circle-content">
69
- <span class="progress-circle-value">{{percentage}}%</span>
70
- <span class="progress-circle-label">{{label}}</span>
71
- </div>
72
- </div>
73
- ```
74
-
75
- **Mandatory classes**: `.progress-circle`
76
- **Data**: Set `data-progress` attribute to a value 0–100.
77
-
78
- ## Rating
79
-
80
- Star-based rating display and input.
81
-
82
- ```html
83
- <div class="osui-rating" style="--rating-size: 16px;">
84
- <div class="osui-rating__item osui-rating__item--filled">★</div>
85
- <div class="osui-rating__item osui-rating__item--filled">★</div>
86
- <div class="osui-rating__item osui-rating__item--filled">★</div>
87
- <div class="osui-rating__item osui-rating__item--half">★</div>
88
- <div class="osui-rating__item">★</div>
89
- </div>
90
- ```
91
-
92
- **Mandatory classes**: `.osui-rating`, `.osui-rating__item`
93
- **States**: `.osui-rating__item--filled` (full star), `.osui-rating__item--half` (half star), no modifier (empty star)
94
- **CSS Variable**: `--rating-size` controls the star size (default: 16px)
@@ -1,124 +0,0 @@
1
- # OutSystems UI — Utility Patterns (9)
2
-
3
- Helper patterns for layout, alignment, spacing, and event handling.
4
-
5
- ## Align Center
6
-
7
- Centers content both horizontally and vertically within a container.
8
-
9
- ```html
10
- <div class="align-center">
11
- {{content}}
12
- </div>
13
- ```
14
-
15
- **Mandatory classes**: `.align-center`
16
- **Note**: Uses flexbox centering. The parent container must have a defined height.
17
-
18
- ## Button Loading
19
-
20
- Alternative button loading pattern. Replaces button content with a spinner.
21
-
22
- ```html
23
- <button class="btn btn-primary btn-loading">
24
- <span class="btn-loading-spinner"></span>
25
- {{loading-text}}
26
- </button>
27
- ```
28
-
29
- **Mandatory classes**: `.btn-loading`
30
- **Note**: This is the same as adding `.btn-loading` to any button. See the Buttons section in SKILL.md.
31
-
32
- ## Center Content
33
-
34
- Centers content horizontally with max-width constraint.
35
-
36
- ```html
37
- <div class="center-content">
38
- {{content}}
39
- </div>
40
- ```
41
-
42
- **Mandatory classes**: `.center-content`
43
- **Note**: Adds `margin: 0 auto` and a `max-width`. Useful for constraining content width on wide screens.
44
-
45
- ## Margin Container
46
-
47
- Adds consistent horizontal margins (gutters) to content.
48
-
49
- ```html
50
- <div class="margin-container">
51
- {{content}}
52
- </div>
53
- ```
54
-
55
- **Mandatory classes**: `.margin-container`
56
- **Note**: Typically used for page-level content areas to add left/right padding that responds to screen width.
57
-
58
- ## Mouse Events
59
-
60
- Container that exposes mouse interaction events for child elements.
61
-
62
- ```html
63
- <div class="mouse-events" data-event="hover">
64
- {{content}}
65
- </div>
66
- ```
67
-
68
- **Mandatory classes**: `.mouse-events`
69
- **Events**: `hover`, `click`, `mouseenter`, `mouseleave`
70
- **Note**: This is a wrapper pattern — in OutSystems, the events are wired to Client Actions via the pattern's event handlers.
71
-
72
- ## Separator
73
-
74
- Horizontal or vertical divider line.
75
-
76
- ```html
77
- <hr class="separator" />
78
- ```
79
-
80
- **Mandatory classes**: `.separator`
81
- **Orientation**: Default is horizontal. Add `.separator--vertical` for vertical.
82
- **Color**: Inherits from `--color-neutral-4` by default.
83
- **Spacing**: The separator has built-in margin. Override with `.margin-top-none`, `.margin-bottom-none`, etc.
84
-
85
- ## Swipe Events
86
-
87
- Container that detects swipe gestures (mobile).
88
-
89
- ```html
90
- <div class="swipe-events">
91
- {{content}}
92
- </div>
93
- ```
94
-
95
- **Mandatory classes**: `.swipe-events`
96
- **Note**: In OutSystems, swipe direction events (Left, Right, Up, Down) are wired to Client Actions. In a `.visual.html` prototype, this is a structural placeholder.
97
-
98
- ## Touch Events
99
-
100
- Container that detects touch interactions (tap, long press).
101
-
102
- ```html
103
- <div class="touch-events">
104
- {{content}}
105
- </div>
106
- ```
107
-
108
- **Mandatory classes**: `.touch-events`
109
- **Note**: Like Swipe Events, touch handlers are wired in OutSystems. Structural placeholder in prototypes.
110
-
111
- ## Inline SVG
112
-
113
- Renders inline SVG content so it can be styled with CSS.
114
-
115
- ```html
116
- <div class="inline-svg">
117
- <svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
118
- {{svg-path-data}}
119
- </svg>
120
- </div>
121
- ```
122
-
123
- **Mandatory classes**: `.inline-svg`
124
- **Note**: Inline SVG can be colored with `.text-primary`, `.text-error`, etc. using `fill: currentColor`.