-
Notifications
You must be signed in to change notification settings - Fork 1.7k
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
[redesign] implement toolbar menu and select in new design #2631
Conversation
|
Name | Type |
---|---|
@graphiql/react | Minor |
graphiql | Major |
Click here to learn what changesets are, and how to add one.
Click here if you're a maintainer who wants to add a changeset to this PR
Codecov Report
@@ Coverage Diff @@
## graphiql-v2 #2631 +/- ##
===============================================
+ Coverage 57.76% 58.26% +0.49%
===============================================
Files 93 92 -1
Lines 5399 5379 -20
Branches 1754 1764 +10
===============================================
+ Hits 3119 3134 +15
+ Misses 2260 2224 -36
- Partials 20 21 +1
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. |
162c44d
to
571eec3
Compare
27c7222
to
2294509
Compare
9989ff0
to
0508e99
Compare
2294509
to
74820ca
Compare
0508e99
to
f5c8b2e
Compare
74820ca
to
5590012
Compare
9c81d2b
to
2d49a47
Compare
f4c6de5
to
08d9b40
Compare
08d9b40
to
bc1c00a
Compare
* implement toolbar menu in new design * implement `ToolbarListbox` in new design * better tooltips
* implement toolbar menu in new design * implement `ToolbarListbox` in new design * better tooltips
* implement toolbar menu in new design * implement `ToolbarListbox` in new design * better tooltips
* implement toolbar menu in new design * implement `ToolbarListbox` in new design * better tooltips
* implement toolbar menu in new design * implement `ToolbarListbox` in new design * better tooltips
* implement toolbar menu in new design * implement `ToolbarListbox` in new design * better tooltips
* implement toolbar menu in new design * implement `ToolbarListbox` in new design * better tooltips
* implement toolbar menu in new design * implement `ToolbarListbox` in new design * better tooltips
* implement toolbar menu in new design * implement `ToolbarListbox` in new design * better tooltips
* implement toolbar menu in new design * implement `ToolbarListbox` in new design * better tooltips
* implement toolbar menu in new design * implement `ToolbarListbox` in new design * better tooltips
* implement toolbar menu in new design * implement `ToolbarListbox` in new design * better tooltips
* implement toolbar menu in new design * implement `ToolbarListbox` in new design * better tooltips
* implement toolbar menu in new design * implement `ToolbarListbox` in new design * better tooltips
* [redesign]: editor in new design (#2513) * add postcss config to allow nesting * avoid processing css from `@graphiql/react` with postcss * add css files for default fonts * add long description with markdown to dev schema * rewrite completion tooltip * move editor css to @graphiql/react * git mv editor components to `@graphiql/react` * adjust editor components after moving to `@graphiql/react` * move styles for auto-inserted leads * make dynamic padding more resilient and add explanatory comment * add extra color to avoid conflicts * colocate markdown and deprecation styles * add changesets * fix spell checking * add changeset for graphiql@2 * don't enter pre-release mode in changeset * more elaborate changeset message * [redesign] layout for editor components (#2515) * add icons to `@graphiql/react` * add `UnstyledButton` ui component * implement new design for editors layout * rename `Unstyled` to `UnStyled` for spell checking * remove unused class and whitespace in `className` * make tiny change for deploy preview 🤞 * this will do it, i think? Co-authored-by: Rikki Schulte <[email protected]> * set default background color for editors (#2528) * set default background colors via css variables (#2530) * move editor styles to `@graphiql/react` (#2532) * refresh editor after hiding (#2537) * add caller argument to editor hooks (#2538) * implement footer in new design (#2540) * [redesign] implement new toolbar design (#2524) * implement new toolbar design * add `caller` argument for better errors * [redesign] implement sidebar (#2543) * implement sidebar in new design * simplify callback * [redesign] implement new design for history plugin (#2571) * add icons * don't invoce callback when programmatically change resizable element * implement history in new design * visually separate favourite history items * add save button when editing history label * add changeset * add missing changesets in retrospect * fix typos * fix e2e tests * remove input outline * add prerelease versions * fix opening doc explorer when clicking references (#2578) * extract loading spinner to `@graphiql/react` (#2581) * [redesign] move docs components to `@graphiql/react` (#2582) * move explorer context into folder * move `TypeLink` component to `@graphiql/react` * move `FieldLink` component to `@graphiql/react` * move `DefaultValue` component to `@graphiql/react` * move `Directive` component to `@graphiql/react` * extract `MarkdownContent` component in `@gaphiql/react` * move `Argument` component to `@graphiql/react` * combine and extend changesets * add `Search` component to `@graphiql/react` (#2586) * move remaining doc explorer component to `@graphiql/react` (#2587) * [redesign] docs (#2588) * add icons * add `Button` component to `@graphiql/react` * add explorer section component * redesign `SchemaDocumentation` component * redesign `TypeDocumentation` component * redesign `FieldDocumentation` component * redesign `DocExplorer` component * extend changeset message * move tab components to `@graphiql/react` (#2591) * [redesign] implement new design for tabs (#2592) * implement new design for tabs * add back `tab` role * increment versions from release * [redesign] add settings dialog (#2595) * add `Dialog` component to `@graphiql/react` * add a `clear` method to the `Storage` type * add success and failure states to `Button` component * add settings dialog * make sure to show dialog above editor scrollbars * [redesign] add dark mode (#2596) * add `ButtonGroup` component to `@graphiql/react` * dark mode * add back styles for editor search (#2599) * add a dialog that shows all available shortkeys (#2601) * add a dialog that shows all available shortkeys * use table in short key dialog * add shortkey for introspection * add link to codemirror keymaps * make dropdown menu accessible (#2627) * fix doc explorer style regressions (#2630) * fix selector specificity for link styling * leverage nesting * fix hiding the headline on focus * ensure correct focus outlines and remove visited styles * increment next versions * adds styles to contain the result window above any footer content (#2621) * adds styles to contain the result window above any footer content * simplifies flex value * use hsl values and reduce number of CSS variables (#2637) * rename CSS variables for colors (#2641) * forward refs and props for UI components (#2628) * [redesign] implement toolbar menu and select in new design (#2631) * implement toolbar menu in new design * implement `ToolbarListbox` in new design * better tooltips * [v2] cleanup `GraphiQL` component (#2632) * remove deprecated class methods * remove utilities * remove ref forwarding * refactor inner class component to a function component * merge main component with context consumer component * remove component statics * refactor outer component to be a class component * remove comments * add changeset * remove legacy exports * [v2] add provider component and deduplicate prop type definitions (#2650) * add `GraphiQLProvider` to `@graphiql/react` and include `StorageContextProvider` * add `HistoryContextProvider` to `GraphiQLProvider` * add `EditorContextProvider` to `GraphiQLProvider` * add `SchemaContextProvider` to `GraphiQLProvider` * add `ExecutionContextProvider` to `GraphiQLProvider` * move `ExplorerContextProvider` to `GraphiQLProvider` * declare props for `GraphiQLInterface` * reuse prop definitions from editor components * merge props for default state of editor tools * rename prop for toggling headers editor * re-export GraphiQL provider * add documention for `@graphiql/react` (#2657) * add JSDocs for component props and hooks * add JSDocs for context types * add README for `@graphiql/react` * [v2] add plugin api for docs and history (#2674) * add plugin api for docs and history * throw error when plugin has no title * make popover styles look good in dark mode (#2682) * add example for `graphiql-explorer` (#2683) * don't pass `shouldPersistHeaders` to fetcher anymore (#2684) * bump preview versions * overhaul READMEs and add migratio guide for `graphiql@2` Co-authored-by: Rikki Schulte <[email protected]> Co-authored-by: Jonathan Brennan <[email protected]>
* implement toolbar menu in new design * implement `ToolbarListbox` in new design * better tooltips
* implement toolbar menu in new design * implement `ToolbarListbox` in new design * better tooltips
I almost missed this, there are also the
ToolbarMenu
andToolbarSelect
components that we export fromgraphiql
. This moves over both to@graphiql/react
and makes sure they are accessible. (I added two dummy buttons for the video just to show how it looks.)CleanShot.2022-08-03.at.19.30.57.mp4
The select was a bit of a challenge because we can't really show text in the new toolbar design. It at least adds shows the selected option in the tooltip and also adds it to
aria-label
so that it's properly announced when using a screen-reader.EDIT: I also opted to improve the tooltips and a11y around icon buttons in general, that made the PR a bit bigger now, but hopefully worth it 💜