Commit Graph

202 Commits

Author SHA1 Message Date
rektdeckard
b01dd7b7e2 selectors: rename iconStyleAtom -> iconWeightAtom 2020-09-15 01:35:08 -04:00
rektdeckard
b39224073e selectors: add fuzzy-find search capabilities to filteredQueryResults
Using the Fuse package, we now support fuzzy icon search. Results are
weighted in favor of icon names and sorted by match score, improving
search utility by surfacing best matches to the top of the list.

There is still some fine-tuning to do, as threshold often matches
unrelated strings, while missing more related but less-similar string
queries. In future, we should play with the threshold, location,
distance, and possibly the extendedSearch options.
2020-09-15 01:13:34 -04:00
rektdeckard
e24ed796d6 icons: add tags 2020-09-15 01:07:26 -04:00
rektdeckard
7483c85518 App: add ErrorBoundary around IconGrid
The IconGrid can now fallback to an ErrorBoundary, which renders a
generic Warn component with a "Search error" message.
2020-09-14 17:48:08 -04:00
rektdeckard
78a69c9f3b IconGrid: extract empty state into Warn component
The empty state now renders a Warn component, which can be used to show
empty queries, or to show an arbitrary error message.
2020-09-14 17:48:00 -04:00
rektdeckard
2298b1d377 selectors: use synchronous selectors returning Promise over async 2020-09-14 17:40:09 -04:00
rektdeckard
b4db1df589 components: memoize and streamline callbacks 2020-09-14 01:05:55 -04:00
rektdeckard
ce453c5dd6 StyleInput: remove unused CSS classes 2020-09-13 19:39:05 -04:00
rektdeckard
2c679f668f SizeInput: add 'name' attr to associate <label> with <input> 2020-09-13 19:38:31 -04:00
rektdeckard
9060b6d5bc SizeInput: better handle input focus effect for mouse and touch
The input slider handle now animates in response to
mousedown/touchstart, and returns to its initial state on
mouseup/touchend. This does not break existing behaviour when navigating
via keyboard.
2020-09-13 18:34:32 -04:00
rektdeckard
3c0ab1a051 IconGrid: improve empty-state rendering and animation
When search returns no results, the empty-list state now adopts the
current color theme and animates in. The IconGrid also takes up a
minimum of 80vh vertical space, whether the list is populated or empty.
2020-09-13 15:45:14 -04:00
rektdeckard
251b59c53c InfoPanel: add code snippet for Vue library
We now generate snippets for the phosphor-vue in addition to HTML and
React libraries. The panel interface may be getting a bit too cluttered,
and we should consider a redesign in the future.
2020-09-12 17:01:27 -04:00
rektdeckard
2b84e5026e Header: remove initial animation as it was causing visual stutter 2020-09-09 21:39:48 -04:00
rektdeckard
361cacdabd state+components: reimplement 'isDark' as a selector
We now have a consolidated source of truth for whether the UI should us
dark mode to accomodate a light icon color. This is a recoil selector
that derives from iconColorAtom.

In addition, we renamed styleQueryAtom -> iconStyleAtom for consistency.
2020-09-09 20:00:58 -04:00
rektdeckard
3cfbb34713 Add formatter script 2020-08-28 13:37:12 -04:00
rektdeckard
80fb113934 Header+Footer: apply x-ray while Tapping on mobile devices 2020-08-24 01:55:29 -04:00
rektdeckard
7254038e90 Toolbar: translate -1px to make seamless with top 2020-08-24 01:54:59 -04:00
rektdeckard
727ae2d08e App: add sensible fallback fonts 2020-08-24 01:06:12 -04:00
rektdeckard
c939508484 Footer: fix minor positioning issue with phone spec 2020-08-24 01:05:23 -04:00
rektdeckard
a5faebb9a8 icons: add some tags 2020-08-24 01:05:02 -04:00
rektdeckard
cb63fa4ea6 icons: enable available icons 2020-08-22 14:59:36 -04:00
rektdeckard
24a9662041 SearchInput: blur on Enter pressed 2020-08-22 14:59:15 -04:00
rektdeckard
f854d8e165 Toolbar: improve mobile breakpoint 2020-08-22 14:58:53 -04:00
rektdeckard
510dcc1ebb Footer: fix phoneSpec overlap problem 2020-08-21 14:56:49 -04:00
rektdeckard
6b7a594191 Toolbar: better handle breakpoint styling 2020-08-21 03:21:04 -04:00
rektdeckard
208c0ba5b7 App: update to phosphor-icons@0.2.1 and tag newbies 2020-08-21 03:20:27 -04:00
rektdeckard
43f722ad5b Header+Footer: complete refactor of hover logic :) 2020-08-21 03:19:50 -04:00
rektdeckard
07c708e9fd SearchInput: debounce input and add wait indicator 2020-08-18 14:16:36 -04:00
rektdeckard
e1c4a72026 IconGrid: add overflow scroll on mobile breakpoint 2020-08-18 14:15:36 -04:00
rektdeckard
7cc707a942 InfoPanel: handle missing Clipboard API silently 2020-08-18 14:14:56 -04:00
rektdeckard
1b3fde3c30 Header: continue to improve mobile breakpoints 2020-08-18 14:14:13 -04:00
rektdeckard
697ead7113 Header: improve mobile breakpoint document structure 2020-08-17 15:20:51 -04:00
rektdeckard
1d2bacd899 InfoPanel: make snippets keyboard-navigable and autoselected
Code snippets can now be navigated to be keyboard. Additionally,
focusing this way or by single-clicking will select the entire snippet
contents by default, then after a 50ms delay, allow for normal text
selection. This is a better experience for copying, especially on
mobile.
2020-08-17 13:06:05 -04:00
rektdeckard
16bfd4cdf8 SeachInput: add clear button for query 2020-08-17 03:01:11 -04:00
rektdeckard
192eb5b8eb InfoPanel: add breakpoints that simplify panel on mobile 2020-08-17 02:53:18 -04:00
rektdeckard
8faf7be451 IconGrid: switch to fill-style icon buttons 2020-08-17 02:19:55 -04:00
rektdeckard
43154e0a1e icons: update icon list to match phosphor-react@0.2.0 2020-08-16 23:08:51 -04:00
rektdeckard
7d35f6b693 atoms: set default icon size to 56px 2020-08-16 16:43:57 -04:00
rektdeckard
9efc713299 App: fix some CSS styling bugs related to Safari support 2020-08-16 16:43:31 -04:00
rektdeckard
017a05a769 Update to phosphor-react@0.2.0 2020-08-16 16:42:57 -04:00
rektdeckard
62b08e1ac2 App: change references from old repository to phosphor-icons 2020-08-15 23:05:23 -04:00
rektdeckard
41afffab84 Housekeeping for component imports 2020-08-15 20:03:30 -04:00
rektdeckard
37d80d4b9d IconGrid: extract some inline styles 2020-08-15 20:02:55 -04:00
rektdeckard
5f2681048d Header+Footer: style updates and addition of links 2020-08-15 20:02:11 -04:00
rektdeckard
036d76fcfa App: always add margin to button icons 2020-08-15 20:01:20 -04:00
rektdeckard
bb7637caa4 Don't re-export components 2020-08-15 20:00:13 -04:00
rektdeckard
889fb9b2ff StyleInput: fix passing of unsupported DOM attributes to select content
We were erroneously passing react-dropdown-select methods into content
divs rendered by contentRenderer. They were not necessary, as the
component already handles basic select methods natively.
2020-08-11 14:25:35 -04:00
rektdeckard
ff37443be8 Header+Footer: implement breakpoints 2020-08-11 13:51:14 -04:00
rektdeckard
84b01b0066 Header+Footer: add empty img alt-text to satisfy Lighthouse 2020-08-11 13:50:17 -04:00
rektdeckard
c9ea3a5e25 App: restyle main buttons 2020-08-11 13:42:03 -04:00