Commit Graph

226 Commits

Author SHA1 Message Date
rektdeckard
54f18db921 IconGridItem: nix the redundant ErrorBoundary 2020-09-28 01:18:38 -04:00
rektdeckard
624454d36a Header+Footer: remove x-ray effect on mobile 2020-09-28 01:18:02 -04:00
rektdeckard
521e8db2d7 Header: point download link to asset kit 2020-09-27 22:28:44 -04:00
rektdeckard
9f3ec2d9d6 IconGrid: handle text overflow on empty search 2020-09-27 22:16:47 -04:00
rektdeckard
28f079734e icons: bump to phosphor-react@0.5.0 and update names 2020-09-27 20:12:00 -04:00
rektdeckard
e6c5ea05d5 icons: more tagging 2020-09-27 13:51:41 -04:00
rektdeckard
f0a70eb64c state: set default icon size to 48px 2020-09-27 13:51:03 -04:00
rektdeckard
999fcd8df9 SearchInput: add text ellision to input element 2020-09-27 13:50:27 -04:00
rektdeckard
3fdc7bb87a InfoPanel: indicate lack of support for duotone weight in JS lib
While phosphor-icons uses an icon font implementation, we won't be able
to provide the duotone weight in that library. We now indicate lack of
support by disabling the code snippet and copy button.
2020-09-27 13:47:49 -04:00
rektdeckard
80a2d7b773 icons: add some tags 2020-09-26 00:43:47 -04:00
rektdeckard
55bab04497 SearchInput+IconGrid: scroll to top of grid on search change
When the debounced search query changes, scroll to the top of the grid
if the query is not the empty string. This has the same smooth behavior
as the scroll buttons, which is not currently available on WebKit.
2020-09-26 00:41:48 -04:00
rektdeckard
55ddcfc9a7 SizeInput: fix slider bug that broke functionality on mobile
We were, for some reason, preventing the default behavior of touch
events onTouchStart and onTouchEnd. This made the slider unusable with
drag actions on mobile. I can't remember why we did this to begin with,
probably something important...

The slider thumb size was also increased for better tap target size.
2020-09-26 00:19:00 -04:00
rektdeckard
020fde6c12 lib: update to phosphor-react@0.4.3 and add icons 2020-09-25 14:27:07 -04:00
rektdeckard
5151800925 ErrorBoundary: consistent void syntax 2020-09-25 14:25:26 -04:00
rektdeckard
e07d55eed3 icons: update list and tagging for v0.4.0 2020-09-24 19:27:07 -04:00
rektdeckard
22f066c6a9 components+hooks: refactor window measurement
We relocated window measurment logic into a hook, useGridSpans(), which
tells us the appropriate number of columns for the IconGrid. This is
useful for rendering an InfoPanel in the right place! In future we
should look into a custom implementation using ResizeObserver and
polyfills, and that may be extensible for other use-cases.
2020-09-24 19:24:00 -04:00
rektdeckard
628667c719 App: add <React.StrictMode> at root for some added assurances 2020-09-24 19:22:11 -04:00
rektdeckard
e9874568a9 SearchInput: add descriptive title on hover 2020-09-24 11:46:54 -04:00
rektdeckard
a30106d9de state: use more descriptive type names 2020-09-24 11:45:59 -04:00
rektdeckard
80d4502207 App: update to phosphor-react@0.3.0 and replace renamed icons in-situ 2020-09-23 16:05:41 -04:00
rektdeckard
e23c6f43af selectors: add extended search via Fuse.js 2020-09-23 16:04:48 -04:00
rektdeckard
d46b7faf77 icons: add new icons and tags for v0.3.0 2020-09-23 13:35:48 -04:00
rektdeckard
de2e9df380 selectors: cleanup 2020-09-23 13:33:47 -04:00
rektdeckard
376c0fe571 meta: pluralize IconCategory strings for search 2020-09-23 13:33:32 -04:00
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