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

Add useMDXComponents hook #440

Merged
merged 2 commits into from
Mar 6, 2019
Merged

Add useMDXComponents hook #440

merged 2 commits into from
Mar 6, 2019

Conversation

alexandernanberg
Copy link

Some notable changes:

  • Adds a useMDXComponents hook
  • Replaces the usage of withMDXComponents with useMDXComponents. That will allow us to remove the MDXCreateElementInner component to get a "flatter" tree.
  • The argument passed to the useMDXComponents hook can either be an object or function. So MDXTag and MDXCreateElement will work the same way as MDXProvider. (we might not want this?)

@vercel
Copy link

vercel bot commented Mar 6, 2019

This pull request is automatically deployed with Now.
To access deployments, click Details below or on the icon next to each push.

@vercel vercel bot temporarily deployed to staging March 6, 2019 08:52 Inactive
@ChristopherBiscardi
Copy link
Member

dope. Looks like a good idea to me. MDXTag isn't used in the 1.0 branch any more at all, so we should probably just remove that file instead of updating mdx-tag to use context.

@ChristopherBiscardi
Copy link
Member

also it looked like the snapshot tests needed to be updated

@vercel vercel bot temporarily deployed to staging March 6, 2019 09:13 Inactive
@alexandernanberg
Copy link
Author

Oh wasn't aware of that! Should I revert the changes of the MDXTag file or delete it in this PR? Hmm one of the snapshot errors seem to occur in the v1 branch as well. Also not sure why it added an extra line in the other snapshot 🤔

@johno
Copy link
Member

johno commented Mar 6, 2019

There is an existing failing test in v1 (from me 🙀 😬).

@johno
Copy link
Member

johno commented Mar 6, 2019

I'll go ahead and merge this as is and make an issue to remove MDXTag. Thank you!

@johno johno merged commit 07806bb into mdx-js:v1 Mar 6, 2019
@alexandernanberg alexandernanberg deleted the add-useMDXComponents-hook branch March 6, 2019 15:39
johno pushed a commit that referenced this pull request Mar 6, 2019
* Add useMDXComponents hook

* Update snapshot
@johno johno mentioned this pull request Mar 7, 2019
31 tasks
johno added a commit that referenced this pull request Apr 4, 2019
* Replace MDXTag with custom pragma (#401)

* it works

* commit to be removed: my-site-2

* remove mdxtag for layout

* [remove this] more my-site examples

* remove

* merge-conflict

* snapshots

* Remove my-site-2

* Clean up create element code

* Fix tests

* Fix props handling, remove mdx pragma from JSX output

* Update pragma implementation in loader and parcel plugin

* Update runtime to properly provide components for mdx pragma

* Allow for merging of components passed to context with a function (#411)

If a function is passed to the theme provider it is invoked
with the out context's components. This allows users to opt
in to merging those components.

Related #410

* feat: Convert withMDXComponents to use hooks (#417)

* Update tests after rebase

* Use remark-mdx in core as a syntactic extension to remark (#439)

* Implement support for Some.Component style JSX blocks

* Add failing test for string interpolation

* Add failing test for js functions as props

* Add failing test for js functions as props with returns

* Make value parsing for JSX props more flexible

* Don't lint fixtures file

* Add nested object props fixture

* Add another fixture for randomly placed brackets

* Add link shortcut to fixture

* Remove object props since it is a subset of js props

* Begin implementing core remark-mdx usage

* Replace MDXTag with custom pragma (#401)

* it works

* commit to be removed: my-site-2

* remove mdxtag for layout

* [remove this] more my-site examples

* remove

* merge-conflict

* snapshots

* Remove my-site-2

* Clean up create element code

* Fix tests

* Fix props handling, remove mdx pragma from JSX output

* Update pragma implementation in loader and parcel plugin

* Update runtime to properly provide components for mdx pragma

* Allow for merging of components passed to context with a function (#411)

If a function is passed to the theme provider it is invoked
with the out context's components. This allows users to opt
in to merging those components.

Related #410

* feat: Convert withMDXComponents to use hooks (#417)

* Continue working on integrating remark-mdx

* Ensure proper remark-mdx is used for workspaces

* Add next publish script

* v1.0.0-alpha.0

* Add useMDXComponents hook (#440)

* Add useMDXComponents hook

* Update snapshot

* Automatically merge outer context for components in the provider (#441)

* Automatically merge outer context for components in the provider

Closes #410

* Fix failing test

* Improve test name

* Convert MDXContent to a function component (#427)

* Convert MDXContent to a function component

* Move Layout definition outside of component

* Rename Layout to MDXLayout and don't initialize it if layout is not set

* Fix snapshot

* Fix rebase

* Add more involved usage docs

* Add nav for api doc

* Move API docs to main advanced page

* v1.0.0-alpha.1

* Fix inline comments (#456)

Closes GH-450.

* [WIP] Implement basic Vue support (#455)

Implement basic Vue support

* Ignore imports used in exports when parsing (#461)

* v1.0.0-alpha.6

* Update docs/advanced/index.md

Co-Authored-By: johno <johnotander@gmail.com>

* Use mdxType as prop name (#462)

In some cases it might be desired to access
the type prop. This namespaces it with mdx
to become mdxType. This shouldn't clash with
most components and allows wrapper to more
easily inspect its children's type like you
would with most React elements.

* v1.0.0-alpha.7

* Mdx wrapper guide (#467)

* Begin wrapper guides

* Finish spiking out first pass of wrapper guide

* Rename mdPlugins/hastPlugins to remarkPlugins/rehypePlugins (#468)

Closes #465

* Remove trailing space from prop-less JSX tags (#477)

* wrapper replacement (#479)

* Fix remark-mdx readme title (#481)

* v1.0.0-alpha.8

* Change wrapper default element to React.Fragment (#470)

* Change wrapper default element to React.Fragment

* Add test

* Fix snapshot

* v1.0.0-alpha.9

* Raw nodes should always be of type jsx (#484)

* pass filename to babel transform if present (#485)

* Fix test suite

* v1.0.0-alpha.10

* Add wrapExport option for wrapping exported fn (#475)

* v1.0.0-alpha.11

* Pull in proper remark-mdx version

* Rename tag package to react, move create-element to new package (#487)

* Update docs for new react package name (#490)

* v1.0.0-alpha.12

* v1.0.0-alpha.13

* Add remove exports plugin (#488)

* v1.0.0-alpha.14

* Fix missing loader dep (#491)

* v1.0.0-alpha.15

* Fix missing 'create-element' file (#493)

* v1.0.0-alpha.16

* Export mdx from main @mdx-js/react module (#495)

* v1.0.0-alpha.17

* Move to babel v7 (#494)

* Move to babel v7

* Add microbundle

* V1 docs update (#498)

* Add basic gatsby setup for docs

* Remove x0 from root package

* Add Head component

* Update to latest rebass

* Add docs layout component

* Reorganize UI components in docs

* Remove _app.js component from docs

* Add basic styles, header, and pagination to docs

* Add basic responsive menu styles to docs

* Adjust styles in docs

* Adjust getting started page

* Update now config for new docs setup

* Move to babel v7 (#494)

* Move to babel v7

* Add microbundle

* Fix loader test

* Update live editor for v1, make docs a workspace

* Refactor docs header and fix code editor styles

* Use scoped styles in docs sidebar and pagination

* Adjust edit link url

* Add basic gatsby setup for docs

* Remove x0 from root package

* Add Head component

* Update to latest rebass

* Add docs layout component

* Reorganize UI components in docs

* Remove _app.js component from docs

* Add basic styles, header, and pagination to docs

* Add basic responsive menu styles to docs

* Adjust styles in docs

* Adjust getting started page

* Update now config for new docs setup

* Fix loader test

* Update live editor for v1, make docs a workspace

* Refactor docs header and fix code editor styles

* Use scoped styles in docs sidebar and pagination

* Adjust edit link url

* Fix eslint ignore config

* Implement banner, add migration guide
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

3 participants