├── .gitignore
├── .prettierrc
├── .vscode
└── settings.json
├── README.md
├── components
└── Button
│ ├── Button.docs.mdx
│ ├── Button.stories.tsx
│ ├── Button.tsx
│ └── index.ts
├── gatsby-config.js
├── index.js
├── notes
├── apollo-graphql.md
├── array-methods.md
├── async-cheatsheet.md
├── async-load-css.md
├── autofill.md
├── awesome-web-dev-resources.md
├── axios.md
├── better-link-underlines.mdx
├── better-mobile-form-inputs.mdx
├── big-list-naughty-strings.md
├── button-as-link.mdx
├── change-default-text-editor-mac.md
├── check-if-js-array-empty.md
├── check-if-js-array.md
├── check-if-js-object-empty.md
├── circleci.md
├── clamp-number.md
├── cleanup-node-modules.md
├── clear-dns-cache.md
├── clickable-box.md
├── coding-standards.md
├── command-line-tools.md
├── commit-message-guidelines.md
├── contentful-migrations.md
├── create-local-self-signed-certs.md
├── crypto.mdx
├── css-aspect-ratio.md
├── css-cursors.mdx
├── css-env-vars.md
├── css-filters.md
├── css-font-stacks.md
├── css-grid.md
├── css-logical-properties.md
├── css-media-queries.md
├── css-object-styles.md
├── css-protips.md
├── css-rainbow-links.mdx
├── css-scroll-behaviour.md
├── css-scroll-margin-top.md
├── css-style-siblings-hover.md
├── cutting-the-mustard.md
├── deno.md
├── destructuring.md
├── docker.md
├── es6-module-syntax.md
├── es6-templating.md
├── express-middleware-testing.md
├── favicons.md
├── fetch.md
├── file-size-of-files-in-directory.md
├── firebase.md
├── fish-shell.md
├── fixed-width-numbers.md
├── fluid-typography.md
├── font-face.md
├── formik.md
├── full-bleed-utility.mdx
├── fullscreen.md
├── gatsby.md
├── get-selected-text.md
├── git-branching.md
├── git.md
├── github-actions.md
├── google-fonts.md
├── graphql.md
├── gsap.md
├── hexadecimal-transparency.md
├── http-methods.md
├── ignoring-code.md
├── immer.md
├── inflect.md
├── intersection-observer.md
├── ios-safari-height-bug.md
├── is-mobile-check.md
├── jest-mocks.md
├── jest.md
├── js-body-class.md
├── js-classes.md
├── keycode.md
├── lobotomised-owl-selector.mdx
├── long-words-links.md
├── mac-dark-mode.md
├── make-directory-if-none-exists.md
├── mix-blend-mode.md
├── mock-react-router-storybook.md
├── native-image-lazy-loading.md
├── nextjs.mdx
├── nock.md
├── npm-script-another-directory.md
├── oembed.md
├── opengraph-metacrap.md
├── performance-tips.md
├── picture.md
├── plop.md
├── postman.md
├── pure-esm-package.md
├── quotation-marks.md
├── react-client-only.md
├── react-compound-components.mdx
├── react-conditionally-render-client-server.md
├── react-errorboundary.md
├── react-query-with-graphql.md
├── react-query.md
├── react-ssr.md
├── react-typescript.md
├── react-usecontext.md
├── react-usereducer.md
├── react-useref.md
├── readme.md
├── redux-concepts.md
├── redux-saga.md
├── redux.md
├── remove-array-duplicates.md
├── remove-items-from-arrays.md
├── render-if-role.md
├── save-scroll-position.md
├── security.md
├── showing-hiding-content.md
├── sql.md
├── stimulus-cheatsheet.md
├── storybook.md
├── structured-data.md
├── styled-components.md
├── switch-true.md
├── testing-library.md
├── theme-ui-button.mdx
├── theme-ui.md
├── typescript-catch.md
├── typescript.md
├── url.md
├── useToggle.md
├── useful-js-functions.md
├── vercel-serverless-functions.md
├── video.md
├── vim-cheatsheet.md
├── vitest.md
├── webmentions.md
├── webshare.md
└── yalc.md
├── package.json
├── static
└── logo.png
├── vercel.json
└── yarn.lock
/.gitignore:
--------------------------------------------------------------------------------
1 | .cache
2 | public
3 | node_modules
4 | yalc.lock
5 | .yalc
6 |
7 | .vercel
8 |
--------------------------------------------------------------------------------
/.prettierrc:
--------------------------------------------------------------------------------
1 | {
2 | "endOfLine": "lf",
3 | "semi": false,
4 | "trailingComma": "all",
5 | "singleQuote": true
6 | }
7 |
--------------------------------------------------------------------------------
/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "workbench.colorCustomizations": {
3 | "activityBar.activeBackground": "#f7cae2",
4 | "activityBar.activeBorder": "#64a619",
5 | "activityBar.background": "#f7cae2",
6 | "activityBar.foreground": "#15202b",
7 | "activityBar.inactiveForeground": "#15202b99",
8 | "activityBarBadge.background": "#64a619",
9 | "activityBarBadge.foreground": "#15202b",
10 | "statusBar.background": "#f09eca",
11 | "statusBar.foreground": "#15202b",
12 | "statusBarItem.hoverBackground": "#e972b2",
13 | "titleBar.activeBackground": "#f09eca",
14 | "titleBar.activeForeground": "#15202b",
15 | "titleBar.inactiveBackground": "#f09eca99",
16 | "titleBar.inactiveForeground": "#15202b99"
17 | },
18 | "peacock.color": "#f09eca"
19 | }
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 |

3 |
4 | notes.zander.wtf
5 |
6 |
7 | > Notes on code. My memory bank.
8 |
9 |
10 |
11 | This site uses [gatsby-theme-code-notes](https://github.com/mrmartineau/gatsby-theme-code-notes).
12 |
13 | ---
14 |
15 | ## License
16 |
17 | [MIT](https://choosealicense.com/licenses/mit/) © [Zander Martineau](https://zander.wtf)
18 |
19 | > Made by [Zander ⚡](https://github.com/mrmartineau/)
20 |
--------------------------------------------------------------------------------
/components/Button/Button.docs.mdx:
--------------------------------------------------------------------------------
1 | import { Story, Canvas } from '@storybook/addon-docs'
2 | import { Button } from './Button'
3 |
4 | # Button
5 |
6 | This button component extends Theme UI's `Button` and add some more props/functionality. It takes all standard `