Noora.Icon (noora v0.82.4)

Copy Markdown

Icons in use across the Noora design system.

Usage

The module exposes all icons in two ways:

  1. As a function of the shape <.{icon_name} />
  2. As an icon component that takes a name attribute.
<.mail />
<.icon name="mail" />

Animated transitions

<.icon> can animate between two icons when the data-state of an ancestor changes (e.g. a dropdown trigger opening). Pass active_name and a transition strategy:

<.icon id="switcher" name="selector" active_name="selector_2" transition="morph"
  watch="[data-part='trigger']" active_state="open" />

Strategies:

  • "morph" — tween one filled path into the other. Raises at render time if either icon is not a filled path (see morphable?/1).
  • "crossfade_rotate" — crossfade and rotate the two icons. Works for any pair.
  • "auto" (default) — morph when both icons are compatible, otherwise crossfade.

Adding an icon

Icons are automatically read and generated from the icons folder. To add an icon, simply add a SVG file to the folder. File names are required to be alphanumeric. Hyphens in the file name are automatically substituted to underscores.

Summary

Functions

Returns the concatenated SVG path data (the d attribute) for an icon name.

Whether an icon can be morphed (it is a filled-path icon). Stroked or non-currentColor icons fall back to a crossfade transition.

Functions

alert_circle(assigns)

alert_hexagon(assigns)

alert_triangle(assigns)

alert_triangle_off(assigns)

api(assigns)

apps(assigns)

arrow_left(assigns)

arrow_narrow_right(assigns)

arrow_right(assigns)

arrows_exchange(assigns)

arrows_exchange_2(assigns)

asset(assigns)

atom(assigns)

bell(assigns)

book(assigns)

book_2(assigns)

books(assigns)

brand_android(assigns)

brand_apple(assigns)

brand_bluesky(assigns)

brand_github(assigns)

brand_google(assigns)

brand_linkedin(assigns)

brand_mastodon(assigns)

brand_okta(assigns)

brand_slack(assigns)

brand_swift(assigns)

brand_tuist(assigns)

building(assigns)

building_plus(assigns)

bulb(assigns)

calendar_week(assigns)

cancel(assigns)

category(assigns)

chart_arcs(assigns)

chart_bar_popular(assigns)

chart_cohort(assigns)

chart_column(assigns)

chart_donut_4(assigns)

chart_dots(assigns)

check(assigns)

checkup_list(assigns)

chevron_down(assigns)

chevron_left(assigns)

chevron_right(assigns)

chevron_up(assigns)

circle_check(assigns)

circle_dashed(assigns)

circle_plus(assigns)

circle_x(assigns)

clock_hour_4(assigns)

close(assigns)

copy(assigns)

copy_check(assigns)

credit_card(assigns)

cube_send(assigns)

custom_input_credit_card(assigns)

dashboard(assigns)

database(assigns)

device_desktop(assigns)

device_desktop_analytics(assigns)

device_desktop_share(assigns)

device_laptop(assigns)

device_mobile(assigns)

device_mobile_share(assigns)

device_vision_pro(assigns)

device_vision_pro_share(assigns)

device_watch(assigns)

device_watch_share(assigns)

devices(assigns)

devices_browser(assigns)

devices_code(assigns)

devices_down(assigns)

directory(assigns)

dots_vertical(assigns)

download(assigns)

exchange(assigns)

external_link(assigns)

eye(assigns)

eye_off(assigns)

file(assigns)

file_alert(assigns)

file_spreadsheet(assigns)

file_text(assigns)

file_zip(assigns)

filter(assigns)

filter_question(assigns)

filters(assigns)

folder(assigns)

folders(assigns)

git_branch(assigns)

git_commit(assigns)

git_merge(assigns)

history(assigns)

history_toggle(assigns)

hourglass(assigns)

hourglass_off(assigns)

icon(assigns)

icon_path(name)

Returns the concatenated SVG path data (the d attribute) for an icon name.

info_circle(assigns)

language(assigns)

layout_grid(assigns)

list_tree(assigns)

lock(assigns)

lock_open_2(assigns)

lock_password(assigns)

logout(assigns)

mail(assigns)

markdown(assigns)

math_slash(assigns)

math_x(assigns)

message_circle(assigns)

minus(assigns)

moon(assigns)

morphable?(name)

Whether an icon can be morphed (it is a filled-path icon). Stroked or non-currentColor icons fall back to a crossfade transition.

news(assigns)

package(assigns)

parentheses(assigns)

password_mobile_phone(assigns)

pencil(assigns)

photo(assigns)

player_pause(assigns)

player_play(assigns)

player_track_next(assigns)

player_track_prev(assigns)

plus(assigns)

progress_x(assigns)

reload(assigns)

rss(assigns)

s_turn_down(assigns)

schema(assigns)

screen_share(assigns)

search(assigns)

selector(assigns)

selector_2(assigns)

server(assigns)

settings(assigns)

slash(assigns)

smart_home(assigns)

square_rounded_arrow_down(assigns)

square_rounded_arrow_up(assigns)

stack_2(assigns)

subtask(assigns)

sun_high(assigns)

system_check(assigns)

timeline_event(assigns)

trash(assigns)

treemap(assigns)

user(assigns)

user_x(assigns)

users(assigns)

versions(assigns)

volume_3(assigns)

webhook(assigns)

world(assigns)