Default realization posture for the standardized tab widgets
FROG — Free Open Graphical Language
frog.widgets.tab_controlfrog.widgets.tab_indicator
This default realization publishes a portable tab embodiment for the FROG Tab widget family. It provides a shell, header region, tab items, icon and label surfaces, selection face, optional close button, overflow button/menu, tab scroll buttons, movable page label display, page region, page container, page content surface, and focus surface.
This realization is downstream from widget class law. It does not define page-content semantics, host-native tab controls, hidden page lifecycle, page editor behavior, or child-widget value ownership.
rootlabelcaptionframetab_header_regiontab_itemtab_item_labeltab_item_icontab_close_buttonselection_faceoverflow_buttonoverflow_menutab_scroll_previoustab_scroll_nextpage_label_displaypage_label_display_facepage_label_display_textpage_label_display_previouspage_label_display_nextpage_regionpage_containerpage_contentfocus_ring
assets/tab/templates/tab_shell.svgassets/tab/subobjects/tab_header_region.svgassets/tab/subobjects/tab_item.svgassets/tab/subobjects/selection_face.svgassets/tab/subobjects/page_region.svgassets/tab/subobjects/tab_close_button.svgassets/tab/subobjects/overflow_button.svgassets/tab/subobjects/overflow_menu.svgassets/tab/subobjects/tab_scroll_previous.svgassets/tab/subobjects/tab_scroll_next.svg
tab_header_regionanchors the tab strip.tab_itemanchors each visible page selector.tab_item_iconandtab_item_labelanchor optional icon and text surfaces.selection_facerenders selected-page state.overflow_buttonandoverflow_menuanchor hidden-page navigation.tab_scroll_previousandtab_scroll_nextanchor scrollable tab strips.page_label_displayanchors a movable page selector surface.page_region,page_container, andpage_contentanchor the selected page host.
The Default Tab realization declares tab item positioning, selected-row
placement, selected-tab join styling, selected-tab join overlap, selected-row
join styling, item sizing, item gaps, row gaps, multi-row wrapping, and overflow
posture as configurable surfaces. A
runtime or IDE may adapt those values from the .frog instance and
the .wfrog declaration; it must not replace them with a private
fixed or overlapping tab strip. Multi-row tab strips are valid only when the
source-owned layout or constrained-width overflow posture requires them; a
single-row layout that fits the published tab_header_region must
remain single-row.
A runtime may replace the SVG-backed tab with a host-native tab control when it preserves the public part model and property/method/event surfaces.
- All declared public parts must exist in widget class law.
- Declared SVG resources must resolve relative to this package.
- The declared SVG resources should expose all declared
data-frog-partmarkers. - Resources must not become semantic owners of page value or child-widget values.
- Host-native tab handles and hidden page renderer handles must remain realization-private.