- #3843
16b5698
Thanks @dimaMachina! - fix regression in documentation explorer search when clicking on results in dropdown
- #3837
5e76a4f
Thanks @dimaMachina! - fix query builder updated only first selected field in query editor due recent enabled react-compiler
- #3821
3633d61
Thanks @dimaMachina! - compile source code with react-compiler, removeuseMemo
anduseCallback
usages
-
#3824
72f06bc
Thanks @dimaMachina! - Excludecodemirror/...
andcodemirror-graphql/...
imports from bundle -
Updated dependencies [
7cdcabf
]:
-
#3751
b8538d8
Thanks @dimaMachina! - replace deprecatednavigator.platform
withnavigator.userAgent
fix placeholder
⌘ K
in doc explorer search input for non mac devices, replace byCtrl K
-
Updated dependencies [
b8538d8
]:
-
#3743
7275c19
Thanks @dimaMachina! - create instance ofnew HistoryStore
andnew StorageAPI
only on mount, use function withuseState
-
Updated dependencies [
21c4409
,2ad4e75
]:- @graphiql/[email protected]
-
#3441
959ed21
Thanks @cimdalli! - fix: set query editor todefaultQuery
while adding a new tab or GraphiQL's default query# Welcome to GraphiQL # # GraphiQL is an in-browser tool for writing, validating, and # testing GraphQL queries. ...
-
#3682
6c9f0df
Thanks @yaacovCR! - Support v17 ofgraphql-js
from17.0.0-alpha.2
forward.Includes support for the latest incremental delivery response format. For further details, see graphql/defer-stream-wg#69.
- Updated dependencies [
6c9f0df
]:
- #3657
5bc7b84
Thanks @dimaMachina! - update vite to v5
-
#3637
fdec377
Thanks @dimaMachina! - update eslint plugins and fix errors -
#3656
93c7e9f
Thanks @dimaMachina! - setbuild.minify: false
for cjs/esm builds since minified variable names change every build time
- #3634
adf0ba01
Thanks @dimaMachina! - when alpha is1
, usehsl
instead ofhsla
- #3624
335d830c
Thanks @dimaMachina! - fix doc explorer search input is cut off while clicking on autocomplete results
-
#3602
03ab3a6b
Thanks @thomasheyenbrock! - Avoid using deprecated Component.defaultProps for icon titles -
Updated dependencies [
aa6dbbb4
]:
- #3597
224b43f5
Thanks @thomasheyenbrock! - Fix TypeScript type of thelabel
prop of theTooltip
component
- #3580
d48f4ef5
Thanks @thomasheyenbrock! - Implement correct merging of incremental responses (@defer/@stream)
- #3569
5d051054
Thanks @AaronMoat! - Update to markdown-it 14.x
- Updated dependencies [
fc7de5a7
]:
- #3526
2b6ea316
Thanks @benjie! - Add newuseOptimisticState
hook that can wrap a useState-like hook to perform optimistic caching of state changes, this helps to avoid losing characters when the user is typing rapidly. Example of usage:const [state, setState] = useOptimisticState(useOperationsEditorState());
- #3447
e89c432d
Thanks @acao! - Remove initialState for new hooks, addadditionalComponent
to toolbar to allow buttons to use context
-
#3371
2348641c
Thanks @acao! - Solves #2825, an old bug where new tabs were created on every refreshthe bug occurred when:
shouldPersistHeaders
is not set to trueheaders
ordefaultHeaders
are provided as props- the user refreshes the browser
-
#3364
d67c13f6
Thanks @acao! - Fix search result bug on select, #33307 -
Updated dependencies [
4cbdf183
]:- @graphiql/[email protected]
-
#3349
17069e7a
Thanks @acao! - fix display of deprecation reason on field type docs -
#3341
e4a36207
Thanks @acao! - Fix code exporter plugin on early init, add hooks -
Updated dependencies [
ffb6486d
]:- @graphiql/[email protected]
-
#3130
9a38de29
Thanks @lesleydreyer! - - Add a "clear history" button to clear all history as well as trash icons to clear individual history items- Change so item is in history items or history favorites, not both
- Fix history label editing so if the same item is in the list more than once it edits the correct label
- Pass the entire history item in history functions (addToHistory, editLabel, toggleFavorite, etc.) so users building their own HistoryContext.Provider will get any additional props they added to the item in their customized functions
- Adds a "setActive" callback users can use to customize their UI when the history item is clicked
-
#3181
9ac84bfc
Thanks @B2o5T! - removeinitialTabs
, usedefaultTabs
instead -
#3181
9ac84bfc
Thanks @B2o5T! - replace@reach/dialog
by@radix-ui/react-dialog
replace@reach/visually-hidden
by@radix-ui/react-visually-hidden
-
#3181
9ac84bfc
Thanks @B2o5T! - replace@reach/menu-button
by@radix-ui/react-dropdown-menu
remove@reach/listbox
remove<ToolbarListbox />
and<Listbox />
components (use<Menu />
instead) -
#3181
9ac84bfc
Thanks @B2o5T! - fixed long list items in dropdown were hiddenrename
<Menu />
to<DropdownMenu />
rename<Menu.List />
to<DropdownMenu.Content />
rename<Menu.Item />
to<DropdownMenu.Item />
rename<Menu.Button />
to<DropdownMenu.Button />
-
#3181
9ac84bfc
Thanks @B2o5T! - replace@reach/tooltip
by@radix-ui/react-tooltip
-
#3181
9ac84bfc
Thanks @B2o5T! - replace@reach/combobox
withCombobox
from@headlessui/react
-
#2716
bc9d243d
Thanks @SimenB! - Make@types/codemirror
a dependency of@graphiql/react
-
#3228
67bf93a3
Thanks @B2o5T! - exclude peer dependencies and dependencies from bundle
-
#2716
bc9d243d
Thanks @SimenB! - Make@types/codemirror
a dependency of@graphiql/react
-
#3228
67bf93a3
Thanks @B2o5T! - exclude peer dependencies and dependencies from bundle
-
#3181
9ac84bfc
Thanks @B2o5T! - removeinitialTabs
, usedefaultTabs
instead -
#3181
9ac84bfc
Thanks @B2o5T! - replace@reach/dialog
by@radix-ui/react-dialog
replace@reach/visually-hidden
by@radix-ui/react-visually-hidden
-
#3181
9ac84bfc
Thanks @B2o5T! - replace@reach/menu-button
by@radix-ui/react-dropdown-menu
remove@reach/listbox
remove<ToolbarListbox />
and<Listbox />
components (use<Menu />
instead) -
#3181
9ac84bfc
Thanks @B2o5T! - fixed long list items in dropdown were hiddenrename
<Menu />
to<DropdownMenu />
rename<Menu.List />
to<DropdownMenu.Content />
rename<Menu.Item />
to<DropdownMenu.Item />
rename<Menu.Button />
to<DropdownMenu.Button />
-
#3181
9ac84bfc
Thanks @B2o5T! - replace@reach/tooltip
by@radix-ui/react-tooltip
-
#3181
9ac84bfc
Thanks @B2o5T! - replace@reach/combobox
withCombobox
from@headlessui/react
- Updated dependencies [
61986469
]:
-
#3194
911cf3e0
Thanks @dwwoelfel! - fix tab content getting replaced onchangeTab
-
#3124
c645932c
Thanks @B2o5T! - avoid unecessary renders by using useMemo or useCallback -
#3197
2ca4841b
Thanks @B2o5T! - remove confusing ligatures, setfont-variant-ligatures: none
-
#3136
7bf90929
Thanks @B2o5T! - replace rest ofevent.keyCode
usages byevent.code
-
#3118
431b7fe1
Thanks @B2o5T! - Prefer.textContent
over.innerText
-
#3147
2b212941
Thanks @Yahkob! - limit code-mirror css scope to .graphiql-container -
#3180
9b333a04
Thanks @thomasheyenbrock! - Remove duplicate Vite config and again make sure to not includereact/jsx-runtime
in the bundle
-
#3077
707f3cbc
Thanks @Zolwiastyl! - show all schema types in explorer -
Updated dependencies [
06007498
]:
- Updated dependencies [
4d33b221
]:
-
#3113
2e477eb2
Thanks @B2o5T! - replace.forEach
withfor..of
-
#3126
4879984e
Thanks @B2o5T! - Prefer KeyboardEvent#key over KeyboardEvent#keyCode -
#3109
51007002
Thanks @B2o5T! - enableno-floating-promises
eslint rule
-
#3033
2d5c60ec
Thanks @B2o5T! - remove redundantcatch
statement -
#3046
b9c13328
Thanks @B2o5T! - Prefer .at() method for index access -
#3017
4a2284f5
Thanks @thomasheyenbrock! - Avoid bundling code fromreact/jsx-runtime
so that the package can be used with Preact -
#3042
881a2024
Thanks @B2o5T! - Prefer String#slice() over String#substr() and String#substring() -
#3061
7cf4908a
Thanks @B2o5T! - remove unneededreference &&
assertion, convert to switch
- #3012
65f5176a
Thanks @benjie! - GraphiQL now maintains the DocExplorer navigation stack as best it can when the schema is updated
-
#2993
bdc966cb
Thanks @B2o5T! - addunicorn/consistent-destructuring
rule -
Updated dependencies [
e68cb8bc
,f788e65a
,bdc966cb
,db2a0982
,8725d1b6
]:
- #2895
ccba2f33
Thanks @TheMightyPenguin! - Add user facing setting for persisting headers
-
#2931
f7addb20
Thanks @B2o5T! - enableno-negated-condition
andno-else-return
rules -
#2964
cec3fb2a
Thanks @B2o5T! - enableunicorn/prefer-export-from
rule -
#2932
11e6ad11
Thanks @B2o5T! - replacecompose.ts
withclsx
for class concatenation -
#2937
c70d9165
Thanks @B2o5T! - enableunicorn/prefer-includes
-
#2933
d502a33b
Thanks @B2o5T! - enable @typescript-eslint/no-unused-expressions -
#2965
0669767e
Thanks @B2o5T! - enableunicorn/prefer-optional-catch-binding
rule -
#2963
f263f778
Thanks @B2o5T! - enableprefer-destructuring
rule -
#2942
4ff2794c
Thanks @B2o5T! - enablesonarjs/no-redundant-jump
rule -
Updated dependencies [
f7addb20
,d1fcad72
,4a8b2e17
,695100bd
,c70d9165
,c44ea4f1
,0669767e
,18f8e80a
,f263f778
,6a9d913f
]:
-
#2908
3340fd74
Thanks @thomasheyenbrock! - Deprecate theinitialTabs
prop and add adefaultTabs
props that supersedes it -
#2907
3a7d0007
Thanks @thomasheyenbrock! - Clearly separate the fetching and subscription states for multipart requests (like subscriptions) and show the stop-button as long as the subscription is running
-
#2910
16174a05
Thanks @thomasheyenbrock! - Fix autocomplete styles for field type and description on the right -
#2919
f6cae4ea
Thanks @thomasheyenbrock! - Fix overflow when there are lots of tabs that don't fit into the tab bar at once -
#2905
0851d5f9
Thanks @ccbrown! - Fix: prevent default event for graphiql-doc-explorer-back link -
#2912
83364b28
Thanks @thomasheyenbrock! - Add missing effect dependency to make sure updates to thedefaultHeaders
prop have the desired effect
-
#2885
8f926489
Thanks @simhnna! - Fix stop execution button showing a dropdown -
#2886
2ba2f620
Thanks @B2o5T! - feat: adddefaultHeaders
prop
- Updated dependencies [
20869583
]:
- Updated dependencies [
353f434e
]:
- #2839
682ad06e
Thanks @ClemensSahs! - Export thePluginContextProvider
component
- #2824
4e2f7ff9
Thanks @TheMightyPenguin! - fix: prevent key down events when pressing escape to close autocomplete dialogs
- #2791
42700076
Thanks @thomasheyenbrock! - Make sure that the info overlay in editors is shown above the vertical scrollbar
- #2792
36839800
Thanks @thomasheyenbrock! - Avoid resetting visible plugin state when explorer or history context changes
- #2778
905f2e5e
Thanks @jonathanawesome! - Adds a box-model reset for all children of the.graphiql-container
class. This change facilitated another change to the--sidebar-width
variable.
- #2653
39b4668d
Thanks @dylanowen! - FixfetchError
not being cleared when a newfetcher
is used
- Updated dependencies [
e244b782
]:- @graphiql/[email protected]
- #2735
ca067d88
Thanks @thomasheyenbrock! - Add CSS variables for color alpha values:--alpha-secondary
: A color for supplementary text that should be read but not be the main focus--alpha-tertiary
: A color for supplementary text which is optional to read, i.e. the UI would function without the user reading this text--alpha-background-light
,--alpha-background-medium
and--alpha-background-heavy
: Three alpha values used for backgrounds and borders that have different intensity
-
#2757
32a70065
Thanks @thomasheyenbrock! - Use different colors for field names and argument names -
Updated dependencies [
674bf3f8
]:- @graphiql/[email protected]
- Updated dependencies [
bfa90f24
,8ab5fcd0
]:- @graphiql/[email protected]
- #2739
98e14155
Thanks @thomasheyenbrock! - AddDocsFilledIcon
component and use show that icon in the sidebar when the docs plugin is visible
- #2740
7dfea94a
Thanks @thomasheyenbrock! - Make SVG iconstroke-width
consistent
- #2734
3aa1f39f
Thanks @thomasheyenbrock! - Stop propagating keyboard events too far upwards in the search component for the docs
-
#2741
0219eef3
Thanks @thomasheyenbrock! - Add hover styles for buttons -
Updated dependencies [
48872a87
]:- @graphiql/[email protected]
- #2712
d65f00ea
Thanks @thomasheyenbrock! - Make sure the back link and title are hidden when focussing the input field for searching the docs
- #2708
f15ee38d
Thanks @thomasheyenbrock! - Fix computing the initial state for editor values and tabs to avoid duplicating tabs on page reload
- #2712
d65f00ea
Thanks @thomasheyenbrock! - Make sure hidden editors don't overflow
- #2694
e59ec32e
Thanks @acao! - BREAKING: TheonHasCompletion
export has been removed as it is only meant to be used internally.
- #2694
e59ec32e
Thanks @acao! - Add new components:- UI components (
Button
,ButtonGroup
,Dialog
,Menu
,Spinner
,Tab
,Tabs
,Tooltip
,UnStyledButton
and lots of icon components) - Editor components (
QueryEditor
,VariableEditor
,HeaderEditor
andResponseEditor
) - Toolbar components (
ExecuteButton
,ToolbarButton
,ToolbarMenu
andToolbarSelect
) - Docs components (
Argument
,DefaultValue
,DeprecationReason
,Directive
,DocExplorer
,ExplorerSection
,FieldDocumentation
,FieldLink
,SchemaDocumentation
,Search
,TypeDocumentation
andTypeLink
) History
component- A
GraphiQLProvider
component that renders all other existing provider components from@graphiql/react
for ease of use
- UI components (
- #2694
e59ec32e
Thanks @acao! - BREAKING: Add a new context provider for plugins. This induces changes to the following other contexts and their provider components:- The property
isVisible
and the methodshide
andshow
of theExplorerContext
have been removed. Also, the propertyisVisible
and the methodshide
,show
andtoggle
of theHistoryContext
have been removed. Visibility state of plugins is now part of thePluginContext
using thevisiblePlugin
property. The visibility state can be altered using thesetVisiblePlugin
method of thePluginContext
. - The
isVisible
prop of theExplorerContextProvider
has been removed. For controlling the visibility state of plugins you can now use thevisiblePlugin
prop of thePluginContextProvider
. - The
onToggle
prop of theHistoryContextProvider
and theonToggleVisibility
prop of theExplorerContextProvider
have been removed. For listening on visibility changes for any plugin you can now use theonTogglePluginVisibility
prop of thePluginContextProvider
.
- The property
- #2694
e59ec32e
Thanks @acao! - BREAKING: TheResponseTooltip
prop of theResponseEditor
has been renamed toresponseTooltip
- Updated dependencies [
e59ec32e
,e59ec32e
,e59ec32e
]:- [email protected]
- @graphiql/[email protected]
- Updated dependencies [
d6ff4d7a
]:
- #2651
85d5af25
Thanks @thomasheyenbrock! - BREAKING: The following context properties have been removed as they are only meant for internal use:- The
subscription
property of theExecutionContext
- The
setSchema
method of theSchemaContext
- The
setFetchError
method of theSchemaContext
- The
- #2652
6ff0bab9
Thanks @thomasheyenbrock! - BREAKING: ThevalidationErrors
property of theSchemaContext
is now always non-null. If the schema is valid then it will contain an empty list.
- #2644
0aff68a6
Thanks @thomasheyenbrock! - BREAKING: TheResponseEditor
component no longer accepts the propvalue
. Instead you can now pass the propresponse
to theEditorContextProvider
. This aligns it with the API design of the other editor components.
- #2642
100af928
Thanks @thomasheyenbrock! - Add a new propoperationName
to theExecutionContextProvider
component that controls the operation sent with the request
- #2642
100af928
Thanks @thomasheyenbrock! - BREAKING: TheExecutionContextProvider
andQueryEditor
components no longer accepts theonEditOperationName
prop. Instead you can now pass this prop to theEditorContextProvider
component.
- #2636
62317e0b
Thanks @thomasheyenbrock! - BREAKING:- The
ExecutionContextProvider
andQueryEditor
components no longer accept theexternalFragments
prop. Instead the prop can now be passed to theEditorContextProvider
component. The provider component will normalize the prop value and provide a map of typeMap<string, FragmentDefinitionNode>
(using the fragment names as keys) as part of the value of theEditorContext
. - The
QueryEditor
component no longer accept thevalidationRules
prop. Instead the prop can now be passed to theEditorContextProvider
component. The provider component will provide the list of validation rules (empty if there are none) as part of the value of theEditorContext
. - The
ExecutionContextProvider
andHeaderEditor
components no longer accept theshouldPersistHeaders
prop. Instead theEditorContextProvider
component now provides the value of its equally named prop as part of the value of theEditorContext
.
- The
- Updated dependencies [
ea732ea8
]:- @graphiql/[email protected]
- #2618
4c814506
Thanks @thomasheyenbrock! - Add a methodintrospect
to the schema context and provide a short key (Shift-Ctrl-R
) for triggering introspection
- #2574
0c98fa59
Thanks @thomasheyenbrock! - Allow passing introspection data to theschema
prop of theSchemaContextProvider
component
- #2574
0c98fa59
Thanks @thomasheyenbrock! - Set the schema correctly after refetching introspection (e.g. when thefetcher
prop changes)
- #2565
f581b437
Thanks @thomasheyenbrock! - Don't invoke editor change callbacks when manually signaling "empty" changes.
- #2561
08346cba
Thanks @thomasheyenbrock! - Add missing effect dependencies to make sure editors are recreated when changing thekeyMap
prop
- #2541
788d84ef
Thanks @thomasheyenbrock! - AddonSchemaChange
callback prop to theSchemaContextProvider
component
- #2545
8ce5b483
Thanks @thomasheyenbrock! - Avoid top-level dynamic imports fromcodemirror
that break importing the package in non-browser environments
- #2526
26e44120
Thanks @thomasheyenbrock! - Add missingcaller
arguments to hook calls so that the error message printed when a context provider is missing is more accurate about the component or hook that caused the error
-
#2501
5437ee61
Thanks @acao! - Allow Codemirror 5keyMap
to be defined, defaultvim
oremacs
allowed in addition to the original default ofsublime
. -
Updated dependencies [
cccefa70
]:
- Updated dependencies [
c9c51b8a
]:
- #2461
7dfe3ece
Thanks @thomasheyenbrock! - AdduseDragResize
utility hook
- #2453
1b41e33c
Thanks @thomasheyenbrock! - Add execution context to@graphiql/react
and move over the logic fromgraphiql
- #2452
ee0fd8bf
Thanks @thomasheyenbrock! - Move tab state fromgraphiql
into editor context from@graphiql/react
- #2449
a0b02eda
Thanks @thomasheyenbrock! - Assume all context values are nullable and create hooks to consume individual contexts
- #2450
1e6fc68b
Thanks @thomasheyenbrock! - Extract thecopy
,merge
,prettify
, andautoCompleteLeafs
functions into hooks and remove these functions from the editor context value
- #2451
0659e96e
Thanks @thomasheyenbrock! - Always use the current value of the headers for the introspection request
- #2435
89f0244f
Thanks @thomasheyenbrock! - Fix deriving default values for editors from storage
- #2437
1f933505
Thanks @thomasheyenbrock! - Move prettify query functionality to editor context in@graphiql/react
- #2435
89f0244f
Thanks @thomasheyenbrock! - Move the logic for deriving operation facts from the current query to@graphiql/react
and store these facts as properties on the query editor instance
- #2448
3dae62fc
Thanks @thomasheyenbrock! - don't introspect the schema if it's provided via props
- #2437
1f933505
Thanks @thomasheyenbrock! - Move copy query functionality to editor context in@graphiql/react
- #2437
1f933505
Thanks @thomasheyenbrock! - Move merge query functionality to editor context in@graphiql/react
- #2436
3e5295f0
Thanks @thomasheyenbrock! - Inline logic for clicking a reference to open the docs and remove theonClickReference
andonHintInformationRender
props of the editor components and hooks
- #2436
3e5295f0
Thanks @thomasheyenbrock! - Move visibility state for doc explorer fromgraphiql
to the explorer context in@graphiql/react
- #2413
8be164b1
Thanks @thomasheyenbrock! - Add aStorageContext
and aHistoryContext
to@graphiql/react
that replaces the logic in thegraphiql
package
- #2420
3467cd33
Thanks @thomasheyenbrock! - Add aSchemaContext
to@graphiql/react
that replaces the logic for fetching and validating the schema in thegraphiql
package
- Updated dependencies [
84d8985b
,8be164b1
,84d8985b
,84d8985b
]:- @graphiql/[email protected]
- #2427
ebc864f0
Thanks @thomasheyenbrock! - Markgraphql
as external dependency to avoid importing multiple instances
- #2427
ebc864f0
Thanks @thomasheyenbrock! - Fix linting by also updating the options object in the internal codemirror state
- #2423
838e58da
Thanks @chentsulin! - Fix peer dependency declaration by using||
instead of|
to link multiple major versions
- #2409
f2025ba0
Thanks @thomasheyenbrock! - Move the logic of the variable editor from thegraphiql
package into a hookuseVariableEditor
provided by@graphiql/react
- #2408
d825bb75
Thanks @thomasheyenbrock! - Move the logic of the query editor from thegraphiql
package into a hookuseQueryEditor
provided by@graphiql/react
- #2411
ad448693
Thanks @thomasheyenbrock! - Move the logic of the result viewer from thegraphiql
package into a hookuseResponseEditor
provided by@graphiql/react
- #2404
029ddf82
Thanks @thomasheyenbrock! - Add a context provider for editors and move the logic of the headers editor from thegraphiql
package into a hookuseHeaderEditor
provided by@graphiql/react
- #2370
7f695b10
Thanks @thomasheyenbrock! - Add a context with provider component and hooks that manages the state related to the docs/explorer.