Weekly Digest 44/2021

Welcome to my Weekly Digest #44 which is the first one of November.

This weekly digest contains a lot of interesting and inspiring articles, videos, tweets, podcasts, and designs I consumed during this week.

Interesting articles to read

Use CSS Variables instead of React Context

How and why you should use CSS variables (custom properties) for theming instead of React context.

Building a Store Locator in React using Algolia, Mapbox, and Twilio

This article completes our 3-part series on building a Store Locator.

How I made Google’s data grid scroll 10x faster with one line of CSS

Some great videos I watched this week

7 Cryptography Concepts EVERY Developer Should Know

Cryptography is scary. In this tutorial, we get hands-on with Node.js to learn how common crypto concepts work, like hashing, encryption, signing, and more

Introducing User Flows for Chrome DevTools & Lighthouse

Discover how Chrome DevTools, Lighthouse & Puppeteer can be used to record, replay and measure interactions beyond page load. This is a developer preview and we hope to refine these features over time. Learn more in the Chrome Dev Summit 2021 keynote.

Random Grids

After coming across the super cool header/footer motif on Josh Collinsworth's site we set about re-creating the randomized grid there, only just doing it from scratch guessing how it might have been done.

React Router 6 - What Changed & Upgrading Guide

React Router v6 (stable!) was released and it's a great improvement over v5! This video covers all the important new features AND dives into selected example apps that will be updated from v5 to v6.

Useful GitHub repositories

Leva

React-first components GUI

A GUI you are going to lava. Customizable, extensible, and beautiful by default.

GitHub logo pmndrs / leva

🌋 React-first components GUI

npm (tag) npm bundle size GitHub Workflow Status Discord Shield


A GUI you are going to lava.
Customizable, extensible and beautiful by default.



🚧🚧 This repo is under heavy development 🚧🚧

Features

  • ⭐️ Beautiful by default
  • 🎚 More than 12 different kinds of inputs available
  • 🧐 Smart input type recognition
  • 🔌 Easy-to-make plugins
  • Keyboard accessible
  • ⚡️ No setup necessary

Installation

npm i leva
Enter fullscreen mode Exit fullscreen mode

Quick start

Simply call the useControls hook from anywhere in your app:

import { useControls } from "leva"

function MyComponent() {
  const { name, aNumber } = useControls({ name: "World", aNumber: 0 })
  
  return <div>Hey {name}, hello! {aNumber}</div>
}
Enter fullscreen mode Exit fullscreen mode

Documentation

Contributors

Thanks goes to these wonderful people (emoji key):

Ninja Keys

Keyboard shortcuts interface for your website. Working with static HTML, Vanilla JS, Vue, React, Svelte.

GitHub logo ssleptsov / ninja-keys

Keyboard shortcuts interface for your website. Working with static HTML, Vanilla JS, Vue, React, Svelte.

Ninja Keys

Keyboard shortcuts interface for your website. Working with Vanilla JS, Vue, React.

FOSSA Status npm npm

Demo

https://ninja-keys-demo.vercel.app/ Demo

Motivation

A lot of applications support that pattern, user hit +k (or ctrl+k) and search UI dialog appear I've seen recently in Notion, Slack, Linear, Vercel and Algolia, but I'm sure there are plenty more Also, there is a Apple Spotlight, Alfred and Raycast app that using this pattern too but different shortcuts There are already some libraries but they are too framework specific, like Laravel only or React only Althought, mine is not a silver bullet and if you need more framework integration, check them out too.

I was needed an keyboard interface for navigation for static website without any frameworks In same time I have a few vue projects where it can be useful too. So I decided to give first shot for Web Components and Lit

React Spectrum Libraries

A collection of libraries and tools that help you build adaptive, accessible, and robust user experiences.

GitHub logo adobe / react-spectrum

A collection of libraries and tools that help you build adaptive, accessible, and robust user experiences.

React Spectrum Libraries

A collection of libraries and tools that help you build adaptive, accessible, and robust user experiences.

React Spectrum

A React implementation of Spectrum, Adobe’s design system. Spectrum provides adaptive, accessible, and cohesive experiences for all Adobe applications.

Explore React Spectrum

React Aria

A library of React Hooks that provides accessible UI primitives for your design system.

Learn more about React Aria

React Stately

A library of React Hooks that provides cross-platform state management for your design system.

More information about React Stately

Features

  • ♿️ Accessible – Accessibility and behavior is implemented according to WAI-ARIA Authoring Practices, including full screen reader and keyboard navigation support. All components have been tested across a wide variety of screen readers and devices to ensure the best experience possible for all users.
  • 📱 Adaptive – All components are designed to work with mouse, touch, and keyboard interactions. They’re built with responsive…

dribbble shots

Task Manager

Budget Management App

Finance Dashboard Design

Tweets

Picked Pens

Draggable Spoop

by Jhey

Full Screen Vertical Scroll Snap

CSS resize: diagonal

by Jhey

Podcasts worth listening

Syntax – STUMP'D Interview Questions - CSS Edition

In this episode of Syntax, Scott and Wes are back with another edition of "Stump'd!" where they try to stump each other with interview questions.

JavaScript Jabber – D3 and Data Visualization

Ian Johnson is a former Google UX engineer and data visualization engineer with ObservableHQ building data visualizations with JavaScript.

Smashing Podcast – What is Astro? with Matthew Phillips

We’re talking about Astro. Will this modern static site builder launch you into the stratosphere? Drew McLellan talks to developer Matthew Phillips to find out.

Thank you for reading, talk to you next week, and stay safe! 👋

20