Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Pre-proposal issue: #88
Summary
This JEP proposes the adoption of well defined
UI Components
across Jupyter projects needed to build user interfaces. While being primarily focussed on Web Components and React.js, the creation of components based on other technologies like Vue.js and Svelte will be possible.The deliverable will be the creation of a
ui-components
repository providing accessible and themed widgets fully compatible with React.js, without blocking usage by other popular frontend technologies.The components will target basic visual functions like buttons, drop-down... and will not deliver higher-level components like a usable
Cell
, or a collection of cells showing a basicNotebook
connected to a running Kernel. Such components are for example available in the Jupyter React and would demand further discussion around global state, reactivity, connection to the services hosted on a server...On top of those components, extended functionalities on
reactivity
andcollaboration
are also discussed here. But they are out-of-scope for the deliverable. However, it makes sense to discuss those last aspects in this document in relation to Jupyter Widgets and the current JupyterLab real time collaboration features.The fundamental components are built on the FAST framework that follow WCAG 2.1, are W3C spec-compliant and use the W3C interaction models when available.
We propose to move the current https://github.com/jupyterlab-contrib/jupyter-ui-toolkit repository to a Jupyter top-level repository. The home of that repository and the npm.js package naming still needs to be defined. That repository will be advertised as the default way to build user interfaces that conform to the Jupyter guidelines.
Proposed Team
Review @fcollonval @jtpio @isabela-pf @tonyfast @gabalafou @Zsailer @minrk
Sheperd @echarles
Anyone interested in this area welcome to join the review team.