Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tab components #10

Merged
merged 6 commits into from
Apr 10, 2017
Merged

Tab components #10

merged 6 commits into from
Apr 10, 2017

Conversation

JanMiksovsky
Copy link
Member

Full text of the proposal

This proposes the creation of a family of tab UI components:

  • Tabs. A set of tabbed panels that can be navigated by selecting corresponding tab buttons (which must be supplied by the developer).
  • LabeledTabs. A specialized Tabs instance that presents simple tab buttons with text labels.
  • TabStrip. A row or column of tab buttons. Responsible for positioning the buttons, handling keyboard navigation, and supporting accessibility.
  • TabStripWrapper. Adds a TabStrip to a base element, wiring the selection states of the two together. For example, the Tabs component uses TabStripWrapper to connect a TabStrip to a Modes instance.
  • LabeledTabButton. A classic rounded tab button showing a text label for a tab panel. This is used internally by LabeledTabs for its tab buttons.

This RFC also includes the following mixins and helpers:

  • renderArrayAsElements. Helper function to render one element for each item in an array.
  • ShadowReferencesMixin. Exposes a $ member on a component that references the elements in its shadow subtree, similar to Polymer's $ feature.

@JanMiksovsky
Copy link
Member Author

JanMiksovsky commented Mar 28, 2017

You can see a demo of LabeledTabs and a demo of Tabs used for navigation.

@JanMiksovsky JanMiksovsky merged commit b0b2869 into elix:master Apr 10, 2017
@JanMiksovsky JanMiksovsky deleted the tab-components branch April 10, 2017 20:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant