Skip to content

Commit aef6175

Browse files
committed
Added type selection to icon and emoji search
1 parent b0c5fe6 commit aef6175

File tree

12 files changed

+112
-40
lines changed

12 files changed

+112
-40
lines changed

docs/reference/icons-emojis.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,14 @@ can be added] and used in `mkdocs.yml`, documents and templates.
2121
data-mdx-component="iconsearch-query"
2222
/>
2323
<div class="mdx-iconsearch-result" data-mdx-component="iconsearch-result">
24+
<select
25+
class="mdx-iconsearch-result__select"
26+
data-mdx-component="iconsearch-select"
27+
>
28+
<option value="all" selected>All</option>
29+
<option value="icons">Icons</option>
30+
<option value="emojis">Emojis</option>
31+
</select>
2432
<div class="mdx-iconsearch-result__meta"></div>
2533
<ol class="mdx-iconsearch-result__list"></ol>
2634
</div>

material/overrides/assets/javascripts/custom.63a6dff3.min.js

Lines changed: 18 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

material/overrides/assets/javascripts/custom.63a6dff3.min.js.map

Lines changed: 7 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

material/overrides/assets/javascripts/custom.e2e97759.min.js

Lines changed: 0 additions & 18 deletions
This file was deleted.

material/overrides/assets/javascripts/custom.e2e97759.min.js.map

Lines changed: 0 additions & 7 deletions
This file was deleted.

material/overrides/assets/stylesheets/custom.00c04c01.min.css renamed to material/overrides/assets/stylesheets/custom.efcf58ca.min.css

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

material/overrides/assets/stylesheets/custom.00c04c01.min.css.map renamed to material/overrides/assets/stylesheets/custom.efcf58ca.min.css.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

material/overrides/main.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
-#}
44
{% extends "base.html" %}
55
{% block extrahead %}
6-
<link rel="stylesheet" href="{{ 'assets/stylesheets/custom.00c04c01.min.css' | url }}">
6+
<link rel="stylesheet" href="{{ 'assets/stylesheets/custom.efcf58ca.min.css' | url }}">
77
{% endblock %}
88
{% block announce %}
99
For updates follow <strong>@squidfunk</strong> on
@@ -23,5 +23,5 @@
2323
{% endblock %}
2424
{% block scripts %}
2525
{{ super() }}
26-
<script src="{{ 'assets/javascripts/custom.e2e97759.min.js' | url }}"></script>
26+
<script src="{{ 'assets/javascripts/custom.63a6dff3.min.js' | url }}"></script>
2727
{% endblock %}

src/overrides/assets/javascripts/components/_/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ export type ComponentType =
3333
| "iconsearch" /* Icon search */
3434
| "iconsearch-query" /* Icon search input */
3535
| "iconsearch-result" /* Icon search results */
36+
| "iconsearch-select" /* Icon search select */
3637
| "sponsorship" /* Sponsorship */
3738
| "sponsorship-count" /* Sponsorship count */
3839
| "sponsorship-total" /* Sponsorship total */
@@ -62,6 +63,7 @@ interface ComponentTypeMap {
6263
"iconsearch": HTMLElement /* Icon search */
6364
"iconsearch-query": HTMLInputElement /* Icon search input */
6465
"iconsearch-result": HTMLElement /* Icon search results */
66+
"iconsearch-select": HTMLSelectElement
6567
"sponsorship": HTMLElement /* Sponsorship */
6668
"sponsorship-count": HTMLElement /* Sponsorship count */
6769
"sponsorship-total": HTMLElement /* Sponsorship total */

src/overrides/assets/javascripts/components/iconsearch/_/index.ts

Lines changed: 25 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,16 @@
2020
* IN THE SOFTWARE.
2121
*/
2222

23-
import { Observable, merge } from "rxjs"
23+
import { BehaviorSubject, Observable, fromEvent, map, merge } from "rxjs"
2424

2525
import { configuration } from "~/_"
2626
import { requestJSON } from "~/browser"
2727

28-
import { Component, getComponentElement } from "../../_"
28+
import {
29+
Component,
30+
getComponentElement,
31+
getComponentElements
32+
} from "../../_"
2933
import {
3034
IconSearchQuery,
3135
mountIconSearchQuery
@@ -64,6 +68,14 @@ export type IconSearch =
6468
| IconSearchQuery
6569
| IconSearchResult
6670

71+
/**
72+
* Icon search mode
73+
*/
74+
export type IconSearchMode =
75+
| "all"
76+
| "icons"
77+
| "emojis"
78+
6779
/* ----------------------------------------------------------------------------
6880
* Functions
6981
* ------------------------------------------------------------------------- */
@@ -87,8 +99,18 @@ export function mountIconSearch(
8799
const query = getComponentElement("iconsearch-query", el)
88100
const result = getComponentElement("iconsearch-result", el)
89101

102+
/* Retrieve select component */
103+
const mode$ = new BehaviorSubject<IconSearchMode>("all")
104+
const selects = getComponentElements("iconsearch-select", el)
105+
for (const select of selects) {
106+
fromEvent(select, "change").pipe(
107+
map(ev => (ev.target as HTMLSelectElement).value as IconSearchMode)
108+
)
109+
.subscribe(mode$)
110+
}
111+
90112
/* Create and return component */
91113
const query$ = mountIconSearchQuery(query)
92-
const result$ = mountIconSearchResult(result, { index$, query$ })
114+
const result$ = mountIconSearchResult(result, { index$, query$, mode$ })
93115
return merge(query$, result$)
94116
}

0 commit comments

Comments
 (0)