Component System Migration
Momen has upgraded the component system for richer visuals, clearer interactions, and more precise configuration. All projects completed migration on July 1, 2026. This guide covers new capabilities, post-upgrade validation errors, and FAQs.
Migration is complete for all projects. The timeline below is kept for reference.
Schema and component changes affect the editor and preview until you click Publish. Your live production app is unchanged until then.
Migration Timeline
| Phase | Date | Scope |
|---|---|---|
| Beta | May 1, 2026 | Voluntary migration for testing |
| New projects | May 13, 2026 | New projects use the new system by default |
| Free plan auto-migration | June 3, 2026 | Free projects migrated automatically |
| Full migration | July 1, 2026 | All remaining projects migrated |
Core upgrades
Independent modal configuration
- Modals as first-class resources — configure and reuse modals across scenes.
- Legacy page modals — migrated to Conditional Views with the same runtime effect.
Style and layout
- Visual effects — shadows, background blur, decorative borders on text, buttons, inputs.
- Overflow control — independent X/Y overflow (auto, scroll, visible, hidden).
- Padding — buttons, inputs, date pickers support custom padding.
- Table & List — refined header/footer styling; list item cursor options.
- Wrap modes — wrap / no-wrap / reverse wrap on View, List, Tab View.
Interaction and logic
- Animations in actions — trigger motion from business logic, not only static design.
- Static values — date/time pickers and map coordinates can use static input without binding.
Media
- Image fill modes — fit, crop fill, stretch fill, auto compression.
- Video & HTML — opacity, expanded HTML styling (radius, border, cursor).
Data configuration
Legacy hidden options are replaced by formulas where applicable (array mapping, date formatting, number formatting, duration, etc.). Re-bind affected fields after migration if the editor prompts you.
Validation errors after upgrade
| Symptom | Cause | Fix |
|---|---|---|
| Conditional View Preserve state on switch turned on | Default changed after upgrade | Usually leave on; turn off only if you need a fresh state per visit |
| Input data type mismatch | Bound field type ≠ input value type | Align input value type with the bound column or variable |
| Page load references a page component | Page-load actions cannot target inner components | Remove direct component refs; use variables or parameters |
| Map multi-marker validation error | Legacy multi-marker flag left in data | Open map settings and toggle multi-marker off once |
| Image non-empty validation | New required source/default | Set a default image or ensure binding is non-null |
| Size mismatch with min size | Min size constrains rendered size | Toggle size unit (px / % / fr) to refresh |
| Cross-page component action | Action targets another page’s component | Restrict component actions to the same page; use variables for cross-page data |
| Data binding error after schema change | Stricter type checks | Use Fix in the validator and re-bind |
FAQ
Q1: Does upgrade affect my live Web or Native App?
No. Only editor and preview change until you publish.
Q2: Can I control components on another page from an action?
No. Use client variables or page parameters for cross-page communication.
Q3: Map shows multi-marker errors but I disabled it?
Toggle multi-marker on then off once to clear legacy state.
Q4: Where did my old page modal go?
It became a Conditional View branch with the same effect. New modals support reusable inputs, data sources, and parameters.