
Security News
vlt Launches "reproduce": A New Tool Challenging the Limits of Package Provenance
vlt's new "reproduce" tool verifies npm packages against their source code, outperforming traditional provenance adoption in the JavaScript ecosystem.
font-picker
Advanced tools
A simple, customizable font picker allowing users to preview, select, and use Google Fonts on your website.
→ Demo
If you use React, see Font Picker for React.
font-picker.js
file in your HTML:<script type="text/javascript" src="path/to/font-picker.js"></script>
<script type="text/javascript">
const fontPicker = new FontPicker(
'YOUR_API_KEY', // Google API key
'Open Sans', // default font
{ limit: 50 } // additional options
);
</script>
font-picker
package from NPM and import/require it in a JavaScript file:npm install font-picker
import { FontPicker } from 'font-picker';
const fontPicker = new FontPicker(
'YOUR_API_KEY', // Google API key
'Open Sans', // default font
{ limit: 50 } // additional options
);
Create an empty <div>
with the ID "font-picker"
in your HTML file. This is where the font picker will be generated.
<div id="font-picker"></div>
Add the class "apply-font"
to all HTML elements you want to apply the selected font to.
When the user selects a font, it will automatically be downloaded and applied to all HTML elements of the "apply-font"
class.
See demo/index.html
for an example.
The following parameters can be passed to the constructor of the FontPicker
class:
apiKey
(required): Google API key (can be generated here)defaultFont
: Font that is selected on initialization (default: 'Open Sans'
)options
: Object with additional (optional) parameters:
name
: If you have multiple font pickers on your site, you need to give them unique names (which may only consist of letters and digits). These names must also be appended to the font picker's ID and the .apply-font
class name; e.g. if { name: 'main' }
, use #font-picker-main
and .apply-font-main
families
: If only specific fonts shall appear in the list, specify their names in an array (default: all font families)categories
: Array of font categories – possible values: 'sans-serif', 'serif', 'display', handwriting', 'monospace'
(default: all categories)variants
: Array of variants which the fonts must include and which will be downloaded; the first variant in the array will become the default variant (and will be used in the font picker and the .apply-font
class); e.g. ['regular', 'italic', '700', '700italic']
(default: ['regular']
)limit
: Maximum number of fonts to be displayed in the list (the least popular fonts will be omitted; default: 100
)sort
: Sorting attribute for the font list – possible values: 'alphabetical'
(default), 'popularity'
onChange
: Function which is executed whenever the user changes the active font and its stylesheet finishes downloadingThe FontPicker
class has the following functions:
getActiveFont()
: Returns an object with information about the currently selected fontsetActiveFont(fontFamily)
: Change the active font programaticallyTo build the project locally, do the following:
git clone
npm install
npm start
to generate the library bundle using Rollup and serve the demo website for previewing the componentFAQs
Font selector component for Google Fonts
The npm package font-picker receives a total of 595 weekly downloads. As such, font-picker popularity was classified as not popular.
We found that font-picker demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
vlt's new "reproduce" tool verifies npm packages against their source code, outperforming traditional provenance adoption in the JavaScript ecosystem.
Research
Security News
Socket researchers uncovered a malicious PyPI package exploiting Deezer’s API to enable coordinated music piracy through API abuse and C2 server control.
Research
The Socket Research Team discovered a malicious npm package, '@ton-wallet/create', stealing cryptocurrency wallet keys from developers and users in the TON ecosystem.