Skip to content

Latest commit

 

History

History
124 lines (101 loc) · 4.68 KB

File metadata and controls

124 lines (101 loc) · 4.68 KB

FROG logo

Default Realization — Tab Widgets

Default realization posture for the standardized tab widgets
FROG — Free Open Graphical Language


Target Classes

  • frog.widgets.tab_control
  • frog.widgets.tab_indicator

Purpose

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.


Public Parts Realized

  • root
  • label
  • caption
  • frame
  • tab_header_region
  • tab_item
  • tab_item_label
  • tab_item_icon
  • tab_close_button
  • selection_face
  • overflow_button
  • overflow_menu
  • tab_scroll_previous
  • tab_scroll_next
  • page_label_display
  • page_label_display_face
  • page_label_display_text
  • page_label_display_previous
  • page_label_display_next
  • page_region
  • page_container
  • page_content
  • focus_ring

Published Assets

  • assets/tab/templates/tab_shell.svg
  • assets/tab/subobjects/tab_header_region.svg
  • assets/tab/subobjects/tab_item.svg
  • assets/tab/subobjects/selection_face.svg
  • assets/tab/subobjects/page_region.svg
  • assets/tab/subobjects/tab_close_button.svg
  • assets/tab/subobjects/overflow_button.svg
  • assets/tab/subobjects/overflow_menu.svg
  • assets/tab/subobjects/tab_scroll_previous.svg
  • assets/tab/subobjects/tab_scroll_next.svg

Rendering Posture

  • tab_header_region anchors the tab strip.
  • tab_item anchors each visible page selector.
  • tab_item_icon and tab_item_label anchor optional icon and text surfaces.
  • selection_face renders selected-page state.
  • overflow_button and overflow_menu anchor hidden-page navigation.
  • tab_scroll_previous and tab_scroll_next anchor scrollable tab strips.
  • page_label_display anchors a movable page selector surface.
  • page_region, page_container, and page_content anchor 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.


Validation Expectations

  • 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-part markers.
  • 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.