This implements some basic infra for testing Theatre.js with popular setups such as npm/yarn/pnpm, webpack/vite/parcel, js/ts, etc.
So far, the only existing setup has been with create-react-app. Will add more in the future.
Co-authored-by: Fülöp <fulopkovacs@users.noreply.github.com>
Co-authored-by: Aria Minaei <aria.minaei@gmail.com>
* Fix react-icons breaking in CRA 5 for some reason
* Replace fuzzysort with fuzzy so we don't break Webpack
Webpack messes up esbuild’s internal modules if the inlined module is an AMD module. Check any new dep you add if it is an AMD module.
* Inline dataverse deps.
Mainly because the CJS build consuming the ESM lodash-es broke some bundlers.
* react-icons fix nr 2
* Stop eslint breaking in CRA 5
* Update r3f-cra example to CRA 5 and fix double-bundling react & co
* Fix r3f tree-shaking and switch to ESM only output
* Make r3f example shake studio and its extension in prod
* Examples have separate and wildly differing build setups so remove them from the pre-commit hook linting
* Update out-of-date yarn.lock
* WIP - Preset easing - 1
* Implement easing presets (WIP)
* Improve easing option colors
* Make easing option border radius smaller so it fits the design language better
* Fix easing option label color
* Remove candidate indicator because it'll conflict with focus state for keyboard navigation
* Improve match indicator
* Simplify search box implementation
(assuming it is for now only going to be a search box, this commit is easy to revert)
* Fix options grid on Firefox
* Implement arrow navigation
* Tiny arrow nav fix
* Now make it actually work lol
* Improve menu item name
* Fix up arrow behavior on search input
* Clean up dead code
Co-authored-by: Andrew Prifer <andrew.prifer@gmail.com>
I tried to generate the API section of the docs automatically from tsdoc comments. That failed for the follwing reasons:
1. It has been difficult to configure the layout of the API docs, such as, what information to show, how to sort the information, etc. I kept getting less relevant parts of the API show up before the more important parts. I would have had to write a plugin/theme for typedoc to fix that, which doesn't seem worth the effort.
2. The generated docs don't seem to be nearly as useful as the docs shown in the editor. It's just easier to browse the API in an IDE than on a static website.
3. Docs must have a narrative (we're trying to walk the user through the library) which goes against the unordered nature of automatically generated docs.
* Temporarily disabled ESM bundles because the current setup confuses webpack4 (but not parceljs). Since create-react-app uses webpack4, not doing this would make theatre incompatible with CRA.