figspec

Unofficial static Figma frame/file viewer available as HTML CustomElement

Commits at 704cd1a819eebffbf1209c6d529af626454e917a

  1. 704cd1a8 docs(react): Update README Shota Fuji authored at Shota Fuji comitted at
  2. 5124aaa1 docs(components): Update README Shota Fuji authored at Shota Fuji comitted at
  3. d3024f17 feat(react): Figma file support Shota Fuji authored at Shota Fuji comitted at
  4. 4439e63f feat(components): Figma File support Shota Fuji authored at Shota Fuji comitted at
  5. 1f79281a refactor(components): Delegate viewer functionalitty into mixin Shota Fuji authored at Shota Fuji comitted at
  6. cc281367 refactor(components): Slim down figspec-viewer In order to add file viewer feature, I needed to split non-nodes related codes out from <figspec-viewer>. This commit does: 1. Make error UI as component (View function) 2. Move pan/scale related things out as a mixin With a little more cleanup, I can add file viewer feature without a bunch of duplicated code :) Shota Fuji authored at Shota Fuji comitted at
  7. dfa1d215 chore(scripts): Save images as well Shota Fuji authored at Shota Fuji comitted at
  8. 22478c88 chore(scripts): Support file fetching https://github.com/pocka/figspec/issues/8 Shota Fuji authored at Shota Fuji comitted at
  9. 4c6e54c3 Merge pull request #15 from pocka/feature/events Custom Events Shota Fuji authored at GitHub comitted at
  10. def2c3a6 Merge pull request #14 from pocka/feature/cache-heavy-computation Cache tree node related things Shota Fuji authored at GitHub comitted at
  11. 9882ccad docs: Add CONTRIBUTING.md Shota Fuji authored at GitHub comitted at
  12. 1e1fa1e7 docs: Add CODE_OF_CONDUCT.md Shota Fuji authored at GitHub comitted at
  13. 82fa4961 chore: Lint files on push Shota Fuji authored at Shota Fuji comitted at
  14. 497e5f77 docs: README for an internal script Shota Fuji authored at Shota Fuji comitted at
  15. 30934c6d docs: Update README Wrote at-least-meaningful things. Shota Fuji authored at Shota Fuji comitted at
  16. dfe5a51a Merge pull request #13 from pocka/feature/react-binding React bindings Shota Fuji authored at GitHub comitted at
  17. 3524be23 Merge pull request #11 from pocka/feature/initial-zoom-level Initial zoom level Shota Fuji authored at GitHub comitted at
  18. 1f3fdd1f chore: Do not flag src/index.ts as pure Without specifying the file in package.json#sideEffects, webpack used by build-storybook marks the file as side-effect free and omits it! Shota Fuji authored at Shota Fuji comitted at
  19. 569c3f80 Merge pull request #9 from yannbf/feature/add-drag Feature: add drag functionality like figma Shota Fuji authored at GitHub comitted at
  20. d8991c59 refactor: Use single customElement for preview Use only <figspec-viewer> instead of with <figma-viewer-guide>. This reduces maintenance costs and makes modifying the codebase more easy. I also changed the DOM structure to rendering guides and tooltips inside one single <svg> container for simplicity (and for performance, hopefully). Shota Fuji authored at Shota Fuji comitted at
  21. 2a57a999 refactor: figma-viewer -> figspec-viewer To match the package name. Also avoids conflict with future (possible) official custom elements. Shota Fuji authored at Shota Fuji comitted at
  22. 063bdb78 Initial commit Shota Fuji authored at Shota Fuji comitted at
  23. 0182f0c6 chore(storybook): set stories to use fullscreen Yann Braga authored at Yann Braga comitted at
  24. f06f1246 feature: add drag like figma Figma provides drag functionality when holding space, so does other tools. Functionality is added to match that. Yann Braga authored at Yann Braga comitted at
  25. 8901f50d misc: Remove unnecessary default value from story Shota Fuji authored at Shota Fuji comitted at
  26. 55c50936 chore: Fix preview height on Docs page Shota Fuji authored at Shota Fuji comitted at
  27. c53ff5fe misc: Mark non-public properties as private Almost every public accesible properties are caught by web-component-analyzer and appears on Docs table. Some getters and inherited public properties are not intended to be used by users. Shota Fuji authored at Shota Fuji comitted at
  28. b6d4e733 feat: Initial zoom level https://github.com/pocka/figspec/issues/1 Sets initial zoom level based on element's size. This might not be same as Figma's behavior, but it's convenient. Shota Fuji authored at Shota Fuji comitted at
  29. 4184ab6e feat(react): React bindings You can use WebComponents (custom elements) in React, but the experience is not great. No props binding (React uses setAttribute), Poor type definition (JSX does great job though), Imperative event handling, etc... This bindings aim to solve these inconveniencies. Shota Fuji authored at Shota Fuji comitted at
  30. af9a7942 perf: Does not compute node related stuff each render https://github.com/pocka/figspec/issues/7 Only performe flattening the node tree, determining outermost bounding rect and construct distance-lines when related values have updated. From what I saw, this change stabilizes an average FPS and makes a memory usage more mild (less GC sweep). Shota Fuji authored at Shota Fuji comitted at
  31. 825ba0bc feat(react): Add event bindings Shota Fuji authored at Shota Fuji comitted at
  32. a6428c1f feat(components): Add custom events https://github.com/pocka/figspec/issues/5 Added `scalechange`, `positionchange` and `nodeselect` events. Shota Fuji authored at Shota Fuji comitted at