Giter Site home page Giter Site logo

snapfoo's Introduction

Daniel Yuschick speaking at HelsinkiJS about building components in React and TypeScript.

Hey y'all ๐Ÿค˜ I'm Daniel.

Frontend, Design Systems, HTML, CSS, JavaScript, TypeScript, React, Accessibility, UI/UX, Mentor, Empathy

I'm a senior frontend developer, author, and speaker originally from the US but now calling Helsinki, Finland home. You can catch me sharing insights on platforms like Smashing Magazine, LogRocket and formerly CSS Tricks. Whether it's at conferences, meetups, or consulting with local companies, I love diving into topics like web accessibility (a11y) and design systems. Back in the US, I taught frontend engineering to career changers, and that passion for helping others continues today through my volunteer work with the Helsinki chapter of CodeBar.

I'm most passionate about great chocolate, beautiful tattoos and bridging design and development to create accessible and resilient design systems. Catch me at a local metal show, drinking hot chocolate at a cafe, gaming or sporting (basketball, squash, climbing).

Speaking

Date Event Title
02.11.2024 Moldova DevCon Approach With Care - Making Digital Accessibility Feel Natural
18.12.2024 Turku โค๏ธ Frontend It's Alive! Facing The Monsters Of Accessible Live Regions

Past Speaking Events

Date Event Title
11.07.2024 TallinnJS Get Lost, JavaScript: Just Kidding โ€” But HTML & CSS Do More Now
29.05.2024 Hive Helsinki Approach With Care - Making Digital Accessibility Feel Natural
07.05.2024 enterJS The Keys to an Accessibility Mindset
04.04.2024 TampereJS Building Better Components โ€” A Journey to a More Resilient Frontend
22.03.2024 Michigan Technology Conference The Keys to an Accessibility Mindset
21.03.2024 Michigan Technology Conference Building Better Components โ€” A Journey to a More Resilient Frontend
29.02.2024 HelsinkiJS Building Better Components โ€” A Journey to a More Resilient Frontend
28.02.2024 Turku โค๏ธ Frontend Building Better Components โ€” A Journey to a More Resilient Frontend
29.09.2023 RenderCon Nairobi The Keys to an Accessibility Mindset
13.09.2023 StackConf Berlin The Keys to an Accessibility Mindset
31.05.2023 Turku โค๏ธ Frontend The Keys to an Accessibility Mindset
04.05.2023 TampereJS The Keys to an Accessibility Mindset
26.04.2023 ResQ Club The Keys to an Accessibility Mindset
04.04.2023 Integrify The Keys to an Accessibility Mindset
28.03.2023 HelsinkJS The Keys to an Accessibility Mindset
10.03.2023 Meru Health The Keys to an Accessibility Mindset
21.02.2023 FiksuRuoka The Keys to an Accessibility Mindset

snapfoo's People

Contributors

yuschick avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

snapfoo's Issues

Update the Rewind Property

Currently, the api for rewind properties is more complicated than needed. I'd like to update the individual rewind properties to work as a single rewind object to simplify the calls.

For example:

rewind: true,
rewindDelay: 250,
rewindDuration: 1000,
rewindEasing: mina.backout

would become

rewind: {
  delay: 250,
  duration: 1000,
  easing: mina.backout
}

Backwards compatibility to prevent this being a breaking change would be nice but is not required.

Update Animate and AnimatePath Structure

Currently, both the animate and animatePath calls accept frames for one specific element. This functionality creates an issue if you're trying to animate more than one element in one SVG container. Therefor, both calls should be updated to accept an array of frames objects, allowing the animation of multiple elements within one call.

Psuedo code could look something like this:

const animateObj = [
  {
    el: '#circle',
    frames: { ... }
  },
  {
    el: '.star',
    frames: { ... }
  }
]

This, however, creates a problem with how to handle callbacks and would need some further thought.

Update Easing Property for Better React Support

Update the easing property from a mina function to additionally accept a string like bounce. The SnapFoo logic will then use this like either a function call or mina[props.easing]. This helps with SnapFoo in React

Update the Loop Property Values

Currently, the api for loop properties is more complicated than needed. I'd like to update the individual loop properties to work as a single loop property to simplify the calls.

The default value for loop should be false while a value of 0 should be treated as an infinite loop. Any other number serves as the loopCount.

Negative numbers should error and return false.

For example:

loop: true,
loopCount: 3

would become

loop: 3

Backwards compatibility to prevent this being a breaking change would be nice but is not required.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.