Web Tools #467 - CSS Tools, Git/CLI, React

Web Tools Weekly
WEB VERSION
Tools for Web Developers

Issue #467 • June 30, 2022

Advertisement
Meet Filestack: The All-In-One File Handling Service
Filestack is the premier service designed to meet all your file handling needs, from improving upload speeds by a factor of 3.6 to providing swift and secure delivery. Give your app an instant upgrade today and download for free.

Download Now
Filestack

Here's something I just learned: All HTML input elements that can have an associated label have access to their associated labels via the DOM using a labels property.

The syntax looks like this:

console.log(el.labels[0].innerText);

The above assumes I've stored a reference to a form element in the "el" variable. Notice also that I'm accessing the first label associated with the element. This is because the value returned by the labels property is a node collection of all the labels associated with the element.

This is actually something I didn't know until I was reading up on this subject. A single form element can actually have more than one label. I suppose this might be useful in certain cases to make multiple areas on a page focus a form element.

In most cases, grabbing the first element in the collection (as I've done above) is probably the most logical thing to do, since most elements will only have a single label. This works on input elements, select elements, and even button elements.

As another little aside to this, normally a label is associated with a form input via its for attribute, which has to have the same value as the id attribute of the element its associated with. Thus the connection between the two. However, this isn't always required, as in this next example:

<label>My Input 2 <input type="text" class="inputs"></label>

Notice here there's no for attribute on the label and no id attribute on the input. But in a live example, the label would still be associated with the form input for accessibility and interactivity. This is because the label is wrapping the input (which isn't required). So the id/for association isn't necessary here. And even in this case, the label is still tied to the input when using the labels property.

You can try out a full demo on CodePen here. Click any of the three input elements and you'll see the associated label text displayed on the page. That text is accessed via the labels property.

And I should point out that each reference to a label in the labels collection is the DOM element itself, so you can pretty much do what you want once you have a reference to it.
 

Now on to this week's tools!
 

CSS and HTML Tools

Meet Filestack: The All-In-One File Handling Service
Filestack is the premier service designed to meet all your file handling needs, from improving upload speeds by a factor of 3.6 to providing swift and secure delivery. Give your app an instant upgrade today and download for free.    SPONSORED 

Bunny Fonts
An open-source privacy-friendly and GDPR-compliant drop-in alternative to Google Fonts. Currently includes 1400+ font families.

UI Buttons
100 modern CSS buttons featuring unique and interesting styles and mouseover effects.

Scroll Btween
A native JavaScript scroll library with no dependencies that lets you easily tween CSS values on a DOM element depending on its position in the viewport.

#HEXWORDS
A silly gallery of CSS hex colors that are also words. For example the well-known #BADA55 or other ones like #D155ED or #CABBED.

Maizzle
A utility framework that helps you quickly build HTML emails with Tailwind CSS and advanced, email-specific post-processing.

Grid Auto Fit for Tailwind CSS
Plugin that helps you create a responsive grid layout in Tailwind CSS without using media queries, via the `grid-template-columns: auto-fit` property/value.

CSS Generators
Some unique CSS code helpers that help you create custom borders, section dividers, starburst shapes, custom corners, polygons, and patterns.

CSS Shadow Gradients
A cool visual CSS generator that lets you build CSS shadows that are made using CSS gradients for a more unique shadow look.

CSS Shadow Gradients

Category Colors
A color palette generator for data visualizations, based on an article discussing the best colors to use for accessible visualizations.

Benjamin Moore Paints as CSS Colours
I'm not sure how Wes created this gallery, or if you'll ever need it, but here it is. It does have some nice shades though.

Allinone.tools
Yet another one-stop resource with tons of little utilities for formatting, editing, generating, minifying, and so on. This might be the largest of such collections I've seen.

TailwindCSS V3 Design System
A community Figma file that contains unofficial design system tokens for Tailwind CSS.
 

Git, GitHub, and CLI Tools

Mugshot Bot
Create stunning link previews automatically. No fussing with design tools or stock photos. Take control of how your products are displayed on social media and any messaging app. Create your free account today and get 1 month PRO for free [Promo: WebTools22].    SPONSORED 

Nano Staged
Tiny tool to run commands for modified, staged, and committed files in a Git repository. Helps speed up running of the tests, linters, scripts, and more.

Type-ish
A runtime type checker for bash functions, implemented entirely in bash.

Clipanion
A type-safe CLI library written in TypeScript, with no runtime dependencies, that can easily be integrated with ESLint.

Git Timeline Generator
Add a CSV file of commits and this tool will create a visualization of contributions to any codebase that uses Git for version control.

Blush
Grep for colors. A Go-based tool that highlights matches with any colors of your choice.


KDash
A simple terminal dashboard for Kubernetes, built with Rust.

KDash

Repo Visualizer
An experimental GitHub Action that creates an SVG diagram of your GitHub repo.

Gitignore to Minimatch

Utility to convert gitignore patterns into minimatch patterns.

Bash-Oneliner
A collection of handy Bash One-Liners and terminal tricks for data processing and Linux system maintenance.

shot-scraper-template
Quickly create a new GitHub repository that takes automated screenshots of a web page using a Python-based tool called shot-scraper.
 
🔎 This week in VSCode.Email:
  • Customizing the minimap in VS Code
  • A black, elegant, and modern VS Code theme
  • JSDoc-powered type checking in VS Code
Check the archives for the latest issue, and subscribe for more!

React Tools

Mugshot Bot
Create stunning link previews automatically. No fussing with design tools or stock photos. Take control of how your products are displayed on social media and any messaging app. Create your free account today and get 1 month PRO for free [Promo: WebTools22].    SPONSORED 

React-Uploady
Modern file-upload components and hooks for React, easy to get started by working out-of-the-box, but also configurable if needed.

react-comments-section
Package for integrating a fully functional comments section in React apps along with custom input fields.

react-cmdk
A package with components making it easier for you to build a command palette in your React app, allowing the user to open a 'drawer' with a keyboard shortcut.

React Holmes
Elementary state orchestrator for React where app state is decentralized between components, making it accessible in every part of application.

Glide Data Grid
A no-compromise, fast data grid for React, with rich rendering, first class accessibility, and full TypeScript support.

Fake Tweet
A React component that renders a custom, fake tweet on the page. I suppose you could use this for a real Tweet so you can preserve the Tweet even if it gets deleted.

react-transition-value
Animate or transition number values using easing functions in React.

Planby
A React based component for a quick implementation of an interactive, graphic timeline similar to a program guide on a streaming service, a music schedule, etc.

Planby

Crylic
Native Windows or Mac app that lets you visually edit React code, with no coding experience required.

React Awesome Shapes
A set of a dozen React components to insert different shapes into your app (e.g. circle, donut, diamond, star, etc).

On the Release Radar:

Commercial Apps and Classifieds

These are commercial apps (i.e. not free or limited free plan), paid classifieds, and affiliate links.

Motion DevTools – Chrome ext. to create web animations with Motion One.

Tailwind.ws – Component-based Tailwind builder to create pages in minutes.

The Daily Upside – The most important and engaging stories in business.  AD 

Reflect – Makes regression tests easy to create and painless to maintain.

The Gist – Personal finance and investing insights in just 5 minutes.    AD 

Notion Forms – Embed, edit, and collect answers, all within Notion.

Typeface – A font manager for macOS with a minimal interface.
 

A Tweet for Thought

Dan Abramov started an interesting thread on client-side auth. If you are building apps with authentication, you might find the discussion useful.

A Tweet for Thought
 

Send Me Your Tools!

Made something? Send links via Direct Message on Twitter @WebToolsWeekly (details here). No tutorials or articles, please. If you have any suggestions for improvement or corrections, feel free to reply to this email.
 

Before I Go...

If you're looking for alternatives to different apps and services, you'll want to check out AlternativeTo. Includes reviews, comments, and recommendations so you can make an informed choice.

Thanks to everyone for subscribing and reading!

Keep tooling,
Louis
@WebToolsWeekly
PayPal.me/WebToolsWeekly

Older messages

Web Tools #466 - WebPageTest, JS Libraries, Media Tools, Uncats

Thursday, June 23, 2022

Web Tools Weekly WEB VERSION Issue #466 • June 23, 2022 The following intro is a paid product review for WebPageTest, a suite of performance products and resources for developers and teams. If you'

Web Tools #465 - VS Code, Frameworks, Build Tools, React Native

Friday, June 17, 2022

Web Tools Weekly WEB VERSION Issue #465 • June 16, 2022 Advertisement Build Internal Tools 10x Faster with Retool Retool is the fast way for developers to build and share internal tools. Teams at

Web Tools #464 - Jamstack, JS Utilities, Git/CLI Tools

Thursday, June 9, 2022

Web Tools Weekly WEB VERSION Issue #464 • June 9, 2020 Advertisement Beautiful Link Previews Automagically Mugshot Bot creates stunning link previews automatically. No more fussing with design tools or

Web Tools #463 - JS Overkill, CSS Tools, Testing, Uncats

Thursday, June 2, 2022

Web Tools Weekly WEB VERSION Issue #463 • June 2, 2022 Advertisement Stepsize: Fix Technical Debt and Ship 2x Faster Create and view code issues directly from your VSCode and JetBrains editors. Add

Web Tools #462 - Media, SVG, Git/CLI, React

Thursday, May 26, 2022

Web Tools Weekly WEB VERSION Issue #462 • May 26, 2022 Advertisement Build a Predictable Path To Engineering Leadership The On Deck Engineering Fellowship is a curated community designed to help

You Might Also Like

📧 Building Async APIs in ASP.NET Core - The Right Way

Saturday, November 23, 2024

​ Building Async APIs in ASP .NET Core - The Right Way Read on: m​y website / Read time: 5 minutes The .NET Weekly is brought to you by: Even the smartest AI in the world won't save you from a

WebAIM November 2024 Newsletter

Friday, November 22, 2024

WebAIM November 2024 Newsletter Read this newsletter online at https://webaim.org/newsletter/2024/november Features Using Severity Ratings to Prioritize Web Accessibility Remediation When it comes to

➡️ Why Your Phone Doesn't Want You to Sideload Apps — Setting the Default Gateway in Linux

Friday, November 22, 2024

Also: Hey Apple, It's Time to Upgrade the Macs Storage, and More! How-To Geek Logo November 22, 2024 Did You Know Fantasy author JRR Tolkien is credited with inventing the main concept of orcs and

JSK Daily for Nov 22, 2024

Friday, November 22, 2024

JSK Daily for Nov 22, 2024 View this email in your browser A community curated daily e-mail of JavaScript news React E-Commerce App for Digital Products: Part 4 (Creating the Home Page) This component

Spyglass Dispatch: The Fate of Chrome • Amazon Tops Up Anthropic • Pros Quit Xitter • Brave Powers AI Search • Apple's Lazy AI River • RIP Enrique Allen

Friday, November 22, 2024

The Fate of Chrome • Amazon Tops Up Anthropic • Pros Quit Xitter • Brave Powers AI Search • Apple's Lazy AI River • RIP Enrique Allen The Spyglass Dispatch is a free newsletter sent out daily on

Charted | How the Global Distribution of Wealth Has Changed (2000-2023) 💰

Friday, November 22, 2024

This graphic illustrates the shifts in global wealth distribution between 2000 and 2023. View Online | Subscribe | Download Our App Presented by: MSCI >> Get the Free Investor Guide Now FEATURED

Daily Coding Problem: Problem #1616 [Easy]

Friday, November 22, 2024

Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by Alibaba. Given an even number (greater than 2), return two prime numbers whose sum will

The problem to solve

Friday, November 22, 2024

​ Use problem framing to define the problem to solve This week, Tom Parson and Krishna Raha share tools and frameworks to identify and address challenges effectively, while Voltage Control highlights

Issue #568: Random mazes, train clock, and ReKill

Friday, November 22, 2024

View this email in your browser Issue #568 - November 22nd 2024 Weekly newsletter about Web Game Development. If you have anything you want to share with our community please let me know by replying to

Whats Next for AI: Interpreting Anthropic CEOs Vision

Friday, November 22, 2024

Top Tech Content sent at Noon! How the world collects web data Read this email in your browser How are you, @newsletterest1? 🪐 What's happening in tech today, November 22, 2024? The HackerNoon