Commit Graph

350 Commits

Author SHA1 Message Date
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
996229580a README: correct twitter url and add links to related projects 2020-09-27 13:46:34 -04:00
rektdeckard
3210e0fe58 Revert to gh-pages homepage for now 2020-09-26 00:44:00 -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
5b42711c3e README: add prop styling to Vue snippet 2020-09-25 18:00:23 -04:00
rektdeckard
338d0dc23f Update homepage to real deal 2020-09-25 14:37:33 -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
c2d7665228 package: bump version to match package 2020-09-23 16:06:57 -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
ddee78bba3 README: adjust copy and add license 2020-09-23 13:35:00 -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
8ab65be4aa meta: add IconEntry code snippets 2020-09-23 13:32:13 -04:00
rektdeckard
ffd910e0e9 README: fix links 2020-09-17 02:16:24 -04:00
rektdeckard
a57476e754 README: add Vue and update copy 2020-09-15 23:16:22 -04:00
rektdeckard
b01dd7b7e2 selectors: rename iconStyleAtom -> iconWeightAtom 2020-09-15 01:35:08 -04:00
Tobias Fried
233b38d66f Merge pull request #5 from phosphor-icons/fuzzy-search
Fuzzy search
2020-09-15 01:16:04 -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
4df0ac7295 public: add Google SEO and restructure deps 2020-09-14 01:06:37 -04:00
rektdeckard
b4db1df589 components: memoize and streamline callbacks 2020-09-14 01:05:55 -04:00
rektdeckard
1d862e6587 public: update OpenGraph and other SEO tags 2020-09-13 20:55:14 -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