@ogds/elements 1.0.0-alpha.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.storybook/UswdsTheme.js +11 -0
- package/.storybook/blocks/SiteNote.jsx +5 -0
- package/.storybook/main.js +38 -0
- package/.storybook/manager.js +6 -0
- package/.storybook/preview.js +37 -0
- package/.storybook/test-runner.js +23 -0
- package/README.md +201 -0
- package/build/css/breakpoints.css +15 -0
- package/build/css/colors.css +490 -0
- package/build/css/spacing.css +16 -0
- package/build/scss/_breakpoints.scss +12 -0
- package/build/scss/_colors.scss +487 -0
- package/build/scss/_spacing.scss +13 -0
- package/dist/components/frameworks/react/OgdsAccordion.d.ts +69 -0
- package/dist/components/frameworks/react/OgdsAccordion.js +22 -0
- package/dist/components/frameworks/react/OgdsAccordionToggle.d.ts +60 -0
- package/dist/components/frameworks/react/OgdsAccordionToggle.js +23 -0
- package/dist/components/frameworks/react/UsaBanner.d.ts +82 -0
- package/dist/components/frameworks/react/UsaBanner.js +25 -0
- package/dist/components/frameworks/react/UsaLink.d.ts +60 -0
- package/dist/components/frameworks/react/UsaLink.js +21 -0
- package/dist/components/frameworks/react/index.d.ts +4 -0
- package/dist/components/frameworks/react/index.js +4 -0
- package/dist/components/frameworks/react/react-utils.js +34 -0
- package/dist/components/index.cjs +1 -0
- package/dist/components/index.cjs.map +1 -0
- package/dist/components/index.d.ts +3 -0
- package/dist/components/index.js +6 -0
- package/dist/components/index.js.map +1 -0
- package/dist/components/usa-banner/index.d.ts +82 -0
- package/dist/components/usa-banner/usa-banner.spec.d.ts +0 -0
- package/dist/components/usa-banner/usa-banner.stories.d.ts +95 -0
- package/dist/components/usa-banner.cjs +95 -0
- package/dist/components/usa-banner.cjs.map +1 -0
- package/dist/components/usa-banner.js +189 -0
- package/dist/components/usa-banner.js.map +1 -0
- package/dist/components/usa-header/index.d.ts +6 -0
- package/dist/components/usa-link/index.d.ts +30 -0
- package/dist/components/usa-link/usa-link.spec.d.ts +0 -0
- package/dist/components/usa-link.cjs +5 -0
- package/dist/components/usa-link.cjs.map +1 -0
- package/dist/components/usa-link.js +32 -0
- package/dist/components/usa-link.js.map +1 -0
- package/dist/core/OgdsElement.d.ts +3 -0
- package/dist/index-7kIMQwBw.cjs +1 -0
- package/dist/index-7kIMQwBw.cjs.map +1 -0
- package/dist/index-BrHk1-6T.js +10 -0
- package/dist/index-BrHk1-6T.js.map +1 -0
- package/dist/types/custom-element-jsx.d.ts +175 -0
- package/dist/types/custom-element-solidjs.d.ts +185 -0
- package/dist/types/custom-element-svelte.d.ts +157 -0
- package/dist/types/custom-element-vuejs.d.ts +127 -0
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.test.d.ts +1 -0
- package/package.json +119 -0
- package/src/components/index.ts +5 -0
- package/src/components/ogds-accordion/.claude/settings.local.json +7 -0
- package/src/components/ogds-accordion/docs.mdx +90 -0
- package/src/components/ogds-accordion/index.ts +132 -0
- package/src/components/ogds-accordion/ogds-accordion.css +99 -0
- package/src/components/ogds-accordion/ogds-accordion.spec.ts +175 -0
- package/src/components/ogds-accordion/ogds-accordion.stories.ts +77 -0
- package/src/components/ogds-accordion-toggle/index.ts +80 -0
- package/src/components/usa-banner/docs.mdx +108 -0
- package/src/components/usa-banner/index.ts +290 -0
- package/src/components/usa-banner/usa-banner.css +511 -0
- package/src/components/usa-banner/usa-banner.spec.ts +76 -0
- package/src/components/usa-banner/usa-banner.stories.ts +136 -0
- package/src/components/usa-header/index.ts +50 -0
- package/src/components/usa-header/usa-header.css +1 -0
- package/src/components/usa-link/index.ts +66 -0
- package/src/components/usa-link/usa-link.css +24 -0
- package/src/components/usa-link/usa-link.spec.ts +50 -0
- package/src/core/colors.css +8 -0
- package/src/core/fonts.css +213 -0
- package/src/core/index.css +2 -0
- package/src/core/token-styles.ts +26 -0
- package/src/declaration.d.ts +75 -0
- package/src/shared/icons/accessibility_new.svg +1 -0
- package/src/shared/icons/accessible_forward.svg +1 -0
- package/src/shared/icons/account_balance.svg +1 -0
- package/src/shared/icons/account_box.svg +1 -0
- package/src/shared/icons/account_circle.svg +1 -0
- package/src/shared/icons/add.svg +1 -0
- package/src/shared/icons/add_circle.svg +1 -0
- package/src/shared/icons/add_circle_outline.svg +1 -0
- package/src/shared/icons/alarm.svg +1 -0
- package/src/shared/icons/alternate_email.svg +1 -0
- package/src/shared/icons/announcement.svg +1 -0
- package/src/shared/icons/api.svg +1 -0
- package/src/shared/icons/arrow_back.svg +1 -0
- package/src/shared/icons/arrow_downward.svg +1 -0
- package/src/shared/icons/arrow_drop_down.svg +1 -0
- package/src/shared/icons/arrow_drop_up.svg +1 -0
- package/src/shared/icons/arrow_forward.svg +1 -0
- package/src/shared/icons/arrow_upward.svg +1 -0
- package/src/shared/icons/assessment.svg +1 -0
- package/src/shared/icons/attach_file.svg +1 -0
- package/src/shared/icons/attach_money.svg +1 -0
- package/src/shared/icons/autorenew.svg +1 -0
- package/src/shared/icons/backpack.svg +1 -0
- package/src/shared/icons/bathtub.svg +1 -0
- package/src/shared/icons/bedding.svg +1 -0
- package/src/shared/icons/bookmark.svg +1 -0
- package/src/shared/icons/bug_report.svg +1 -0
- package/src/shared/icons/build.svg +1 -0
- package/src/shared/icons/calendar_today.svg +1 -0
- package/src/shared/icons/campaign.svg +1 -0
- package/src/shared/icons/camping.svg +1 -0
- package/src/shared/icons/cancel.svg +1 -0
- package/src/shared/icons/chat.svg +1 -0
- package/src/shared/icons/check.svg +1 -0
- package/src/shared/icons/check_box_outline_blank.svg +1 -0
- package/src/shared/icons/check_circle.svg +1 -0
- package/src/shared/icons/check_circle_outline.svg +1 -0
- package/src/shared/icons/checkroom.svg +1 -0
- package/src/shared/icons/chevron_left.svg +1 -0
- package/src/shared/icons/chevron_right.svg +1 -0
- package/src/shared/icons/clean_hands.svg +1 -0
- package/src/shared/icons/close.svg +1 -0
- package/src/shared/icons/closed_caption.svg +1 -0
- package/src/shared/icons/clothes.svg +1 -0
- package/src/shared/icons/cloud.svg +1 -0
- package/src/shared/icons/code.svg +1 -0
- package/src/shared/icons/comment.svg +1 -0
- package/src/shared/icons/connect_without_contact.svg +1 -0
- package/src/shared/icons/construction.svg +1 -0
- package/src/shared/icons/construction_worker.svg +1 -0
- package/src/shared/icons/contact_page.svg +1 -0
- package/src/shared/icons/content_copy.svg +1 -0
- package/src/shared/icons/coronavirus.svg +1 -0
- package/src/shared/icons/credit_card.svg +1 -0
- package/src/shared/icons/deck.svg +1 -0
- package/src/shared/icons/delete.svg +1 -0
- package/src/shared/icons/device_thermostat.svg +1 -0
- package/src/shared/icons/directions.svg +1 -0
- package/src/shared/icons/directions_bike.svg +1 -0
- package/src/shared/icons/directions_bus.svg +1 -0
- package/src/shared/icons/directions_car.svg +1 -0
- package/src/shared/icons/directions_walk.svg +1 -0
- package/src/shared/icons/do_not_disturb.svg +1 -0
- package/src/shared/icons/do_not_touch.svg +1 -0
- package/src/shared/icons/drag_handle.svg +1 -0
- package/src/shared/icons/eco.svg +1 -0
- package/src/shared/icons/edit.svg +1 -0
- package/src/shared/icons/electrical_services.svg +1 -0
- package/src/shared/icons/emoji_events.svg +1 -0
- package/src/shared/icons/error.svg +1 -0
- package/src/shared/icons/error_outline.svg +1 -0
- package/src/shared/icons/event.svg +1 -0
- package/src/shared/icons/expand_less.svg +1 -0
- package/src/shared/icons/expand_more.svg +1 -0
- package/src/shared/icons/facebook.svg +1 -0
- package/src/shared/icons/fast_forward.svg +1 -0
- package/src/shared/icons/fast_rewind.svg +1 -0
- package/src/shared/icons/favorite.svg +1 -0
- package/src/shared/icons/favorite_border.svg +1 -0
- package/src/shared/icons/fax.svg +1 -0
- package/src/shared/icons/file_download.svg +1 -0
- package/src/shared/icons/file_present.svg +1 -0
- package/src/shared/icons/file_upload.svg +1 -0
- package/src/shared/icons/filter_alt.svg +1 -0
- package/src/shared/icons/filter_list.svg +1 -0
- package/src/shared/icons/fingerprint.svg +1 -0
- package/src/shared/icons/first_page.svg +1 -0
- package/src/shared/icons/flag.svg +1 -0
- package/src/shared/icons/flickr.svg +1 -0
- package/src/shared/icons/flight.svg +1 -0
- package/src/shared/icons/flooding.svg +1 -0
- package/src/shared/icons/folder.svg +1 -0
- package/src/shared/icons/folder_open.svg +1 -0
- package/src/shared/icons/format_quote.svg +1 -0
- package/src/shared/icons/format_size.svg +1 -0
- package/src/shared/icons/forum.svg +1 -0
- package/src/shared/icons/github.svg +1 -0
- package/src/shared/icons/grid_view.svg +1 -0
- package/src/shared/icons/group_add.svg +1 -0
- package/src/shared/icons/groups.svg +1 -0
- package/src/shared/icons/hearing.svg +1 -0
- package/src/shared/icons/help.svg +1 -0
- package/src/shared/icons/help_outline.svg +1 -0
- package/src/shared/icons/highlight_off.svg +1 -0
- package/src/shared/icons/history.svg +1 -0
- package/src/shared/icons/home.svg +1 -0
- package/src/shared/icons/hospital.svg +1 -0
- package/src/shared/icons/hotel.svg +1 -0
- package/src/shared/icons/hourglass_empty.svg +1 -0
- package/src/shared/icons/hurricane.svg +1 -0
- package/src/shared/icons/identification.svg +1 -0
- package/src/shared/icons/image.svg +1 -0
- package/src/shared/icons/info.svg +1 -0
- package/src/shared/icons/info_outline.svg +1 -0
- package/src/shared/icons/insights.svg +1 -0
- package/src/shared/icons/instagram.svg +1 -0
- package/src/shared/icons/keyboard.svg +1 -0
- package/src/shared/icons/label.svg +1 -0
- package/src/shared/icons/language.svg +1 -0
- package/src/shared/icons/last_page.svg +1 -0
- package/src/shared/icons/launch.svg +1 -0
- package/src/shared/icons/lightbulb.svg +1 -0
- package/src/shared/icons/lightbulb_outline.svg +1 -0
- package/src/shared/icons/link.svg +1 -0
- package/src/shared/icons/link_off.svg +1 -0
- package/src/shared/icons/linkedin.svg +1 -0
- package/src/shared/icons/list.svg +1 -0
- package/src/shared/icons/local_cafe.svg +1 -0
- package/src/shared/icons/local_fire_department.svg +1 -0
- package/src/shared/icons/local_gas_station.svg +1 -0
- package/src/shared/icons/local_grocery_store.svg +1 -0
- package/src/shared/icons/local_hospital.svg +1 -0
- package/src/shared/icons/local_laundry_service.svg +1 -0
- package/src/shared/icons/local_library.svg +1 -0
- package/src/shared/icons/local_offer.svg +1 -0
- package/src/shared/icons/local_parking.svg +1 -0
- package/src/shared/icons/local_pharmacy.svg +1 -0
- package/src/shared/icons/local_police.svg +1 -0
- package/src/shared/icons/local_taxi.svg +1 -0
- package/src/shared/icons/location_city.svg +1 -0
- package/src/shared/icons/location_on.svg +1 -0
- package/src/shared/icons/lock.svg +1 -0
- package/src/shared/icons/lock_open.svg +1 -0
- package/src/shared/icons/lock_outline.svg +1 -0
- package/src/shared/icons/login.svg +1 -0
- package/src/shared/icons/logout.svg +1 -0
- package/src/shared/icons/loop.svg +1 -0
- package/src/shared/icons/mail.svg +1 -0
- package/src/shared/icons/mail_outline.svg +1 -0
- package/src/shared/icons/map.svg +1 -0
- package/src/shared/icons/masks.svg +1 -0
- package/src/shared/icons/medical_services.svg +1 -0
- package/src/shared/icons/menu.svg +1 -0
- package/src/shared/icons/military_tech.svg +1 -0
- package/src/shared/icons/more_horiz.svg +1 -0
- package/src/shared/icons/more_vert.svg +1 -0
- package/src/shared/icons/my_location.svg +1 -0
- package/src/shared/icons/navigate_before.svg +1 -0
- package/src/shared/icons/navigate_far_before.svg +1 -0
- package/src/shared/icons/navigate_far_next.svg +1 -0
- package/src/shared/icons/navigate_next.svg +1 -0
- package/src/shared/icons/near_me.svg +1 -0
- package/src/shared/icons/notifications.svg +1 -0
- package/src/shared/icons/notifications_active.svg +1 -0
- package/src/shared/icons/notifications_none.svg +1 -0
- package/src/shared/icons/notifications_off.svg +1 -0
- package/src/shared/icons/park.svg +1 -0
- package/src/shared/icons/people.svg +1 -0
- package/src/shared/icons/person.svg +1 -0
- package/src/shared/icons/pets.svg +1 -0
- package/src/shared/icons/phone.svg +1 -0
- package/src/shared/icons/photo_camera.svg +1 -0
- package/src/shared/icons/print.svg +1 -0
- package/src/shared/icons/priority_high.svg +1 -0
- package/src/shared/icons/public.svg +1 -0
- package/src/shared/icons/push_pin.svg +1 -0
- package/src/shared/icons/radio_button_unchecked.svg +1 -0
- package/src/shared/icons/rain.svg +1 -0
- package/src/shared/icons/reduce_capacity.svg +1 -0
- package/src/shared/icons/remove.svg +1 -0
- package/src/shared/icons/remove_circle.svg +1 -0
- package/src/shared/icons/report.svg +1 -0
- package/src/shared/icons/restaurant.svg +1 -0
- package/src/shared/icons/rss_feed.svg +1 -0
- package/src/shared/icons/safety_divider.svg +1 -0
- package/src/shared/icons/sanitizer.svg +1 -0
- package/src/shared/icons/save_alt.svg +1 -0
- package/src/shared/icons/schedule.svg +1 -0
- package/src/shared/icons/school.svg +1 -0
- package/src/shared/icons/science.svg +1 -0
- package/src/shared/icons/search.svg +1 -0
- package/src/shared/icons/security.svg +1 -0
- package/src/shared/icons/send.svg +1 -0
- package/src/shared/icons/sentiment_dissatisfied.svg +1 -0
- package/src/shared/icons/sentiment_neutral.svg +1 -0
- package/src/shared/icons/sentiment_satisfied.svg +1 -0
- package/src/shared/icons/sentiment_satisfied_alt.svg +1 -0
- package/src/shared/icons/sentiment_very_dissatisfied.svg +1 -0
- package/src/shared/icons/settings.svg +1 -0
- package/src/shared/icons/severe_weather.svg +1 -0
- package/src/shared/icons/share.svg +1 -0
- package/src/shared/icons/shield.svg +1 -0
- package/src/shared/icons/shopping_basket.svg +1 -0
- package/src/shared/icons/snow.svg +1 -0
- package/src/shared/icons/soap.svg +1 -0
- package/src/shared/icons/social_distance.svg +1 -0
- package/src/shared/icons/sort_arrow.svg +1 -0
- package/src/shared/icons/spellcheck.svg +1 -0
- package/src/shared/icons/star.svg +1 -0
- package/src/shared/icons/star_half.svg +1 -0
- package/src/shared/icons/star_outline.svg +1 -0
- package/src/shared/icons/store.svg +1 -0
- package/src/shared/icons/support.svg +1 -0
- package/src/shared/icons/support_agent.svg +1 -0
- package/src/shared/icons/text_fields.svg +1 -0
- package/src/shared/icons/thumb_down_alt.svg +1 -0
- package/src/shared/icons/thumb_up_alt.svg +1 -0
- package/src/shared/icons/timer.svg +1 -0
- package/src/shared/icons/toggle_off.svg +1 -0
- package/src/shared/icons/toggle_on.svg +1 -0
- package/src/shared/icons/topic.svg +1 -0
- package/src/shared/icons/tornado.svg +1 -0
- package/src/shared/icons/translate.svg +1 -0
- package/src/shared/icons/trending_down.svg +1 -0
- package/src/shared/icons/trending_up.svg +1 -0
- package/src/shared/icons/twitter.svg +1 -0
- package/src/shared/icons/undo.svg +1 -0
- package/src/shared/icons/unfold_less.svg +1 -0
- package/src/shared/icons/unfold_more.svg +1 -0
- package/src/shared/icons/update.svg +1 -0
- package/src/shared/icons/upload_file.svg +1 -0
- package/src/shared/icons/verified.svg +1 -0
- package/src/shared/icons/verified_user.svg +1 -0
- package/src/shared/icons/visibility.svg +1 -0
- package/src/shared/icons/visibility_off.svg +1 -0
- package/src/shared/icons/volume_off.svg +1 -0
- package/src/shared/icons/warning.svg +1 -0
- package/src/shared/icons/wash.svg +1 -0
- package/src/shared/icons/wifi.svg +1 -0
- package/src/shared/icons/work.svg +1 -0
- package/src/shared/icons/x.svg +1 -0
- package/src/shared/icons/youtube.svg +1 -0
- package/src/shared/icons/zoom_in.svg +1 -0
- package/src/shared/icons/zoom_out.svg +1 -0
- package/src/shared/icons/zoom_out_map.svg +1 -0
- package/src/utils/index.test.ts +34 -0
- package/src/utils/index.ts +8 -0
- package/src/vite-env.d.ts +17 -0
- package/storybook/contributing.mdx +115 -0
- package/storybook/framework-guidance.mdx +96 -0
- package/storybook/index.css +70 -0
- package/storybook/readme.mdx +6 -0
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { html } from "lit";
|
|
2
|
+
import { OgdsElement } from "../../core/OgdsElement";
|
|
3
|
+
import { defineCustomElement } from "../../utils";
|
|
4
|
+
|
|
5
|
+
import styles from "./usa-header.css";
|
|
6
|
+
|
|
7
|
+
export class UsaHeader extends OgdsElement {
|
|
8
|
+
constructor() {
|
|
9
|
+
super();
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
static styles = [styles];
|
|
13
|
+
|
|
14
|
+
render() {
|
|
15
|
+
return html`
|
|
16
|
+
<div class="header__logo">LOGO</div>
|
|
17
|
+
<nav aria-label="Primary navigation">
|
|
18
|
+
<ul>
|
|
19
|
+
<li>
|
|
20
|
+
<a href="#">A link</a>
|
|
21
|
+
</li>
|
|
22
|
+
<li>
|
|
23
|
+
<button popovertarget="primary-nav-1">
|
|
24
|
+
First item with dropdown
|
|
25
|
+
</button>
|
|
26
|
+
<ul popover id="primary-nav-1">
|
|
27
|
+
<li><a href="#">Subnav 1</a></li>
|
|
28
|
+
<li><a href="#">Subnav 2</a></li>
|
|
29
|
+
<li><a href="#">Subnav 3</a></li>
|
|
30
|
+
<li><a href="#">Subnav 4</a></li>
|
|
31
|
+
</ul>
|
|
32
|
+
</li>
|
|
33
|
+
<li>
|
|
34
|
+
<button popovertarget="primary-nav-2">
|
|
35
|
+
Second item with dropdown
|
|
36
|
+
</button>
|
|
37
|
+
<ul popover id="primary-nav-2">
|
|
38
|
+
<li><a href="#">Second Subnav 1</a></li>
|
|
39
|
+
<li><a href="#">Subnav 2</a></li>
|
|
40
|
+
<li><a href="#">Subnav 3</a></li>
|
|
41
|
+
<li><a href="#">Subnav 4</a></li>
|
|
42
|
+
</ul>
|
|
43
|
+
</li>
|
|
44
|
+
</ul>
|
|
45
|
+
</nav>
|
|
46
|
+
`;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
defineCustomElement("usa-header", UsaHeader);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
/* Hi */
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { LitElement, html } from "lit";
|
|
2
|
+
import styles from "./usa-link.css";
|
|
3
|
+
import { defineCustomElement } from "../../utils";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* @summary The usa-link component.
|
|
7
|
+
*
|
|
8
|
+
* @slot - This element has a slot
|
|
9
|
+
*
|
|
10
|
+
* @attribute {String} href - The url for the link
|
|
11
|
+
*
|
|
12
|
+
* @cssprop --theme-link-color - Sets the link color
|
|
13
|
+
* @cssprop --theme-link-visited-color - Sets the color for visited links
|
|
14
|
+
* @cssprop --theme-link-hover-color - Sets the hover state link color
|
|
15
|
+
* @cssprop --theme-link-active-color - Sets the active state link color
|
|
16
|
+
*
|
|
17
|
+
* @tagname usa-link
|
|
18
|
+
*/
|
|
19
|
+
export class UsaLink extends LitElement {
|
|
20
|
+
static styles = [styles];
|
|
21
|
+
|
|
22
|
+
static properties = {
|
|
23
|
+
href: { type: String },
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
declare href?: string;
|
|
27
|
+
private slottedChildren?: HTMLAnchorElement;
|
|
28
|
+
|
|
29
|
+
constructor() {
|
|
30
|
+
super();
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
private hasLinkChild(): boolean {
|
|
34
|
+
const childLink = this.querySelector("a");
|
|
35
|
+
if (!childLink) return false;
|
|
36
|
+
|
|
37
|
+
if (childLink instanceof HTMLAnchorElement) {
|
|
38
|
+
this.href = childLink.href;
|
|
39
|
+
this.slottedChildren = childLink;
|
|
40
|
+
this.shadowRoot?.appendChild(this.slottedChildren);
|
|
41
|
+
return true;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
return false;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
private templateWithChildren() {
|
|
48
|
+
return html`<a class="usa-link" href="${this.href ?? ""}"
|
|
49
|
+
>${this.slottedChildren}</a
|
|
50
|
+
>`;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
private templateWithSlots() {
|
|
54
|
+
return html`<a class="usa-link" href="${this.href ?? ""}"
|
|
55
|
+
><slot></slot
|
|
56
|
+
></a>`;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
render() {
|
|
60
|
+
return this.hasLinkChild()
|
|
61
|
+
? this.templateWithChildren()
|
|
62
|
+
: this.templateWithSlots();
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
defineCustomElement("usa-link", UsaLink);
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
:host {
|
|
2
|
+
a {
|
|
3
|
+
color: var(--theme-link-color, #005ea2);
|
|
4
|
+
text-decoration: underline;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
a:visited {
|
|
8
|
+
color: var(--theme-link-visited-color, #54278f);
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
a:hover {
|
|
12
|
+
color: var(--theme-link-hover-color, #1a4480);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
a:active {
|
|
16
|
+
color: var(--theme-link-active-color, #162e51);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
a:focus {
|
|
20
|
+
outline: var(--theme-focus-width, 0.25rem) var(--theme-focus-style, solid)
|
|
21
|
+
var(--theme-focus-color, #2491ff);
|
|
22
|
+
outline-offset: var(--theme-focus-offset, 0);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { beforeEach, describe, expect, it } from "vitest";
|
|
2
|
+
|
|
3
|
+
import "./index.ts";
|
|
4
|
+
|
|
5
|
+
function getInsideLink(): HTMLAnchorElement {
|
|
6
|
+
const link = document.body
|
|
7
|
+
.querySelector("usa-link")
|
|
8
|
+
?.shadowRoot?.querySelector("a");
|
|
9
|
+
|
|
10
|
+
if (!link) {
|
|
11
|
+
throw new Error("Could not find inner <a> inside <usa-link>");
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
return link as HTMLAnchorElement;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
describe("usa-link component", async () => {
|
|
18
|
+
beforeEach(async () => {
|
|
19
|
+
document.body.innerHTML = `<usa-link href="http://designsystem.digital.gov">It's dangerous to go alone. Here, take this.</usa-link>`;
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
it("should show href props", () => {
|
|
23
|
+
expect(getInsideLink().getAttribute("href")).toContain(".gov");
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
it("should show slotted children", () => {
|
|
27
|
+
const slot = document.body
|
|
28
|
+
.querySelector("usa-link")
|
|
29
|
+
?.shadowRoot?.querySelector("slot");
|
|
30
|
+
|
|
31
|
+
expect(
|
|
32
|
+
slot?.assignedNodes({ flatten: true })[0].textContent ?? "",
|
|
33
|
+
).toContain("dangerous");
|
|
34
|
+
});
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
describe("progressively enhanced usa-link component", async () => {
|
|
38
|
+
beforeEach(async () => {
|
|
39
|
+
document.body.innerHTML = `<usa-link><a href="http://designsystem.digital.gov">It's dangerous to go alone. Here, take this.</a></usa-link>`;
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
it("should show href props", () => {
|
|
43
|
+
getInsideLink();
|
|
44
|
+
expect(getInsideLink().getAttribute("href")).toContain(".gov");
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
it("should render link with component markup", () => {
|
|
48
|
+
expect(getInsideLink().className).toContain("usa-link");
|
|
49
|
+
});
|
|
50
|
+
});
|
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
/* ==========================================================================
|
|
2
|
+
USWDS Fonts & theme settings
|
|
3
|
+
========================================================================== */
|
|
4
|
+
|
|
5
|
+
/*
|
|
6
|
+
Theme settings
|
|
7
|
+
========================================================================== */
|
|
8
|
+
:root {
|
|
9
|
+
--font-stack-source-sans-pro:
|
|
10
|
+
"Source Sans Pro Web", "Helvetica Neue", "Helvetica", "Roboto", "Arial",
|
|
11
|
+
sans-serif;
|
|
12
|
+
--font-stack-public-sans:
|
|
13
|
+
"Public Sans Web", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
|
|
14
|
+
Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji",
|
|
15
|
+
"Segoe UI Symbol";
|
|
16
|
+
|
|
17
|
+
--usa-font-sans: var(--font-stack-source-sans-pro);
|
|
18
|
+
--usa-font-ui: var(--usa-font-sans);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/*
|
|
22
|
+
Source Sans Pro Web
|
|
23
|
+
========================================================================== */
|
|
24
|
+
@font-face {
|
|
25
|
+
font-family: "Source Sans Pro Web";
|
|
26
|
+
font-style: normal;
|
|
27
|
+
font-weight: 300;
|
|
28
|
+
font-display: fallback;
|
|
29
|
+
src: url("@uswds/uswds/fonts/source-sans-pro/sourcesanspro-light-webfont.woff2")
|
|
30
|
+
format("woff2");
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
@font-face {
|
|
34
|
+
font-family: "Source Sans Pro Web";
|
|
35
|
+
font-style: normal;
|
|
36
|
+
font-weight: 400;
|
|
37
|
+
font-display: fallback;
|
|
38
|
+
src: url("@uswds/uswds/fonts/source-sans-pro/sourcesanspro-regular-webfont.woff2")
|
|
39
|
+
format("woff2");
|
|
40
|
+
}
|
|
41
|
+
@font-face {
|
|
42
|
+
font-family: "Source Sans Pro Web";
|
|
43
|
+
font-style: normal;
|
|
44
|
+
font-weight: 700;
|
|
45
|
+
font-display: fallback;
|
|
46
|
+
src: url("@uswds/uswds/fonts/source-sans-pro/sourcesanspro-bold-webfont.woff2")
|
|
47
|
+
format("woff2");
|
|
48
|
+
}
|
|
49
|
+
@font-face {
|
|
50
|
+
font-family: "Source Sans Pro Web";
|
|
51
|
+
font-style: italic;
|
|
52
|
+
font-weight: 300;
|
|
53
|
+
font-display: fallback;
|
|
54
|
+
src: url("@uswds/uswds/fonts/source-sans-pro/sourcesanspro-lightitalic-webfont.woff2")
|
|
55
|
+
format("woff2");
|
|
56
|
+
}
|
|
57
|
+
@font-face {
|
|
58
|
+
font-family: "Source Sans Pro Web";
|
|
59
|
+
font-style: italic;
|
|
60
|
+
font-weight: 400;
|
|
61
|
+
font-display: fallback;
|
|
62
|
+
src: url("@uswds/uswds/fonts/source-sans-pro/sourcesanspro-italic-webfont.woff2")
|
|
63
|
+
format("woff2");
|
|
64
|
+
}
|
|
65
|
+
@font-face {
|
|
66
|
+
font-family: "Source Sans Pro Web";
|
|
67
|
+
font-style: italic;
|
|
68
|
+
font-weight: 700;
|
|
69
|
+
font-display: fallback;
|
|
70
|
+
src: url("@uswds/uswds/fonts/source-sans-pro/sourcesanspro-bolditalic-webfont.woff2")
|
|
71
|
+
format("woff2");
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
@font-face {
|
|
75
|
+
font-family: "Source Sans Pro Web";
|
|
76
|
+
font-style: normal;
|
|
77
|
+
font-weight: 300;
|
|
78
|
+
font-display: fallback;
|
|
79
|
+
src: url("@uswds/uswds/fonts/source-sans-pro/sourcesanspro-light-webfont.woff2")
|
|
80
|
+
format("woff2");
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
@font-face {
|
|
84
|
+
font-family: "Source Sans Pro Web";
|
|
85
|
+
font-style: normal;
|
|
86
|
+
font-weight: 400;
|
|
87
|
+
font-display: fallback;
|
|
88
|
+
src: url("@uswds/uswds/fonts/source-sans-pro/sourcesanspro-regular-webfont.woff2")
|
|
89
|
+
format("woff2");
|
|
90
|
+
}
|
|
91
|
+
@font-face {
|
|
92
|
+
font-family: "Source Sans Pro Web";
|
|
93
|
+
font-style: normal;
|
|
94
|
+
font-weight: 700;
|
|
95
|
+
font-display: fallback;
|
|
96
|
+
src: url("@uswds/uswds/fonts/source-sans-pro/sourcesanspro-bold-webfont.woff2")
|
|
97
|
+
format("woff2");
|
|
98
|
+
}
|
|
99
|
+
@font-face {
|
|
100
|
+
font-family: "Source Sans Pro Web";
|
|
101
|
+
font-style: italic;
|
|
102
|
+
font-weight: 300;
|
|
103
|
+
font-display: fallback;
|
|
104
|
+
src: url("@uswds/uswds/fonts/source-sans-pro/sourcesanspro-lightitalic-webfont.woff2")
|
|
105
|
+
format("woff2");
|
|
106
|
+
}
|
|
107
|
+
@font-face {
|
|
108
|
+
font-family: "Source Sans Pro Web";
|
|
109
|
+
font-style: italic;
|
|
110
|
+
font-weight: 400;
|
|
111
|
+
font-display: fallback;
|
|
112
|
+
src: url("@uswds/uswds/fonts/source-sans-pro/sourcesanspro-italic-webfont.woff2")
|
|
113
|
+
format("woff2");
|
|
114
|
+
}
|
|
115
|
+
@font-face {
|
|
116
|
+
font-family: "Source Sans Pro Web";
|
|
117
|
+
font-style: italic;
|
|
118
|
+
font-weight: 700;
|
|
119
|
+
font-display: fallback;
|
|
120
|
+
src: url("@uswds/uswds/fonts/source-sans-pro/sourcesanspro-bolditalic-webfont.woff2")
|
|
121
|
+
format("woff2");
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
/*
|
|
125
|
+
Public Sans
|
|
126
|
+
========================================================================== */
|
|
127
|
+
@font-face {
|
|
128
|
+
font-family: "Public Sans Web";
|
|
129
|
+
font-style: normal;
|
|
130
|
+
font-weight: 300;
|
|
131
|
+
src: url("@uswds/uswds/fonts/public-sans/PublicSans-Light.woff2")
|
|
132
|
+
format("woff2");
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
@font-face {
|
|
136
|
+
font-family: "Public Sans Web";
|
|
137
|
+
font-style: normal;
|
|
138
|
+
font-weight: 400;
|
|
139
|
+
src: url("@uswds/uswds/fonts/public-sans/PublicSans-Regular.woff2")
|
|
140
|
+
format("woff2");
|
|
141
|
+
}
|
|
142
|
+
@font-face {
|
|
143
|
+
font-family: "Public Sans Web";
|
|
144
|
+
font-style: normal;
|
|
145
|
+
font-weight: 700;
|
|
146
|
+
src: url("@uswds/uswds/fonts/public-sans/PublicSans-Bold.woff2")
|
|
147
|
+
format("woff2");
|
|
148
|
+
}
|
|
149
|
+
@font-face {
|
|
150
|
+
font-family: "Public Sans Web";
|
|
151
|
+
font-style: italic;
|
|
152
|
+
font-weight: 300;
|
|
153
|
+
src: url("@uswds/uswds/fonts/public-sans/PublicSans-LightItalic.woff2")
|
|
154
|
+
format("woff2");
|
|
155
|
+
}
|
|
156
|
+
@font-face {
|
|
157
|
+
font-family: "Public Sans Web";
|
|
158
|
+
font-style: italic;
|
|
159
|
+
font-weight: 400;
|
|
160
|
+
src: url("@uswds/uswds/fonts/public-sans/PublicSans-Italic.woff2")
|
|
161
|
+
format("woff2");
|
|
162
|
+
}
|
|
163
|
+
@font-face {
|
|
164
|
+
font-family: "Public Sans Web";
|
|
165
|
+
font-style: italic;
|
|
166
|
+
font-weight: 700;
|
|
167
|
+
src: url("@uswds/uswds/fonts/public-sans/PublicSans-BoldItalic.woff2")
|
|
168
|
+
format("woff2");
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
@font-face {
|
|
172
|
+
font-family: "Public Sans Web";
|
|
173
|
+
font-style: normal;
|
|
174
|
+
font-weight: 300;
|
|
175
|
+
src: url("@uswds/uswds/fonts/public-sans/PublicSans-Light.woff2")
|
|
176
|
+
format("woff2");
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
@font-face {
|
|
180
|
+
font-family: "Public Sans Web";
|
|
181
|
+
font-style: normal;
|
|
182
|
+
font-weight: 400;
|
|
183
|
+
src: url("@uswds/uswds/fonts/public-sans/PublicSans-Regular.woff2")
|
|
184
|
+
format("woff2");
|
|
185
|
+
}
|
|
186
|
+
@font-face {
|
|
187
|
+
font-family: "Public Sans Web";
|
|
188
|
+
font-style: normal;
|
|
189
|
+
font-weight: 700;
|
|
190
|
+
src: url("@uswds/uswds/fonts/public-sans/PublicSans-Bold.woff2")
|
|
191
|
+
format("woff2");
|
|
192
|
+
}
|
|
193
|
+
@font-face {
|
|
194
|
+
font-family: "Public Sans Web";
|
|
195
|
+
font-style: italic;
|
|
196
|
+
font-weight: 300;
|
|
197
|
+
src: url("@uswds/uswds/fonts/public-sans/PublicSans-LightItalic.woff2")
|
|
198
|
+
format("woff2");
|
|
199
|
+
}
|
|
200
|
+
@font-face {
|
|
201
|
+
font-family: "Public Sans Web";
|
|
202
|
+
font-style: italic;
|
|
203
|
+
font-weight: 400;
|
|
204
|
+
src: url("@uswds/uswds/fonts/public-sans/PublicSans-Italic.woff2")
|
|
205
|
+
format("woff2");
|
|
206
|
+
}
|
|
207
|
+
@font-face {
|
|
208
|
+
font-family: "Public Sans Web";
|
|
209
|
+
font-style: italic;
|
|
210
|
+
font-weight: 700;
|
|
211
|
+
src: url("@uswds/uswds/fonts/public-sans/PublicSans-BoldItalic.woff2")
|
|
212
|
+
format("woff2");
|
|
213
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import colorTokens from "@ogds/tokens/styles/css/colors.css";
|
|
2
|
+
import spacingTokens from "@ogds/tokens/styles/css/spacing.css";
|
|
3
|
+
import typographyTokens from "@ogds/tokens/styles/css/typography.css";
|
|
4
|
+
import themeColorTokens from "@ogds/tokens/styles/css/theme-color.css";
|
|
5
|
+
import themeSpacingTokens from "@ogds/tokens/styles/css/theme-spacing.css";
|
|
6
|
+
import themeTypographyTokens from "@ogds/tokens/styles/css/theme-typography.css";
|
|
7
|
+
|
|
8
|
+
const sheet = new CSSStyleSheet();
|
|
9
|
+
sheet.replaceSync(
|
|
10
|
+
[
|
|
11
|
+
colorTokens,
|
|
12
|
+
spacingTokens,
|
|
13
|
+
typographyTokens,
|
|
14
|
+
themeColorTokens,
|
|
15
|
+
themeSpacingTokens,
|
|
16
|
+
themeTypographyTokens,
|
|
17
|
+
]
|
|
18
|
+
.map((s) => s.cssText)
|
|
19
|
+
.join("\n"),
|
|
20
|
+
);
|
|
21
|
+
|
|
22
|
+
export function adoptTokenStyles() {
|
|
23
|
+
if (!document.adoptedStyleSheets.includes(sheet)) {
|
|
24
|
+
document.adoptedStyleSheets = [...document.adoptedStyleSheets, sheet];
|
|
25
|
+
}
|
|
26
|
+
}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/// <reference types="vite/client" />
|
|
2
|
+
|
|
3
|
+
import type { CSSResultGroup } from "lit";
|
|
4
|
+
|
|
5
|
+
// Asset imports
|
|
6
|
+
declare module "*.svg" {
|
|
7
|
+
const content: string;
|
|
8
|
+
export default content;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
declare module "*.scss?inline" {
|
|
12
|
+
const content: string;
|
|
13
|
+
export default content;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
declare module "*.svg?inline" {
|
|
17
|
+
const content: string;
|
|
18
|
+
export default content;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
declare module "*.png" {
|
|
22
|
+
const content: string;
|
|
23
|
+
export default content;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
declare module "*.jpg" {
|
|
27
|
+
const content: string;
|
|
28
|
+
export default content;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
declare module "*.jpeg" {
|
|
32
|
+
const content: string;
|
|
33
|
+
export default content;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
// USWDS specific module declarations
|
|
37
|
+
declare module "@uswds/uswds/img/us_flag_small.png" {
|
|
38
|
+
const content: string;
|
|
39
|
+
export default content;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
declare module "@uswds/uswds/img/icon-dot-gov.svg" {
|
|
43
|
+
const content: string;
|
|
44
|
+
export default content;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
declare module "@uswds/uswds/img/icon-https.svg" {
|
|
48
|
+
const content: string;
|
|
49
|
+
export default content;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
declare module "@uswds/uswds/img/usa-icons/close.svg" {
|
|
53
|
+
const content: string;
|
|
54
|
+
export default content;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
declare module "@uswds/uswds/img/usa-icons/expand_more.svg" {
|
|
58
|
+
const content: string;
|
|
59
|
+
export default content;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
declare module "@uswds/uswds/img/usa-icons/expand_less.svg" {
|
|
63
|
+
const content: string;
|
|
64
|
+
export default content;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
declare module "@uswds/uswds/img/usa-icons/lock.svg" {
|
|
68
|
+
const content: string;
|
|
69
|
+
export default content;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
declare module "@uswds/uswds/scss/stylesheets/packages/_usa-banner.scss?inline" {
|
|
73
|
+
const content: string;
|
|
74
|
+
export default content;
|
|
75
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M20.5 6c-2.61.7-5.67 1-8.5 1s-5.89-.3-8.5-1L3 8c1.86.5 4 .83 6 1v13h2v-6h2v6h2V9c2-.17 4.14-.5 6-1l-.5-2zM12 6c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><circle cx="17" cy="4.54" r="2"/><path d="M14 17h-2c0 1.65-1.35 3-3 3s-3-1.35-3-3 1.35-3 3-3v-2c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5zm3-3.5h-1.86l1.67-3.67C17.42 8.5 16.44 7 14.96 7h-5.2c-.81 0-1.54.47-1.87 1.2L7.22 10l1.92.53L9.79 9H12l-1.83 4.1c-.6 1.33.39 2.9 1.85 2.9H17v5h2v-5.5c0-1.1-.9-2-2-2z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M4 10h3v7H4zm6.5 0h3v7h-3zM2 19h20v3H2zm15-9h3v7h-3zm-5-9L2 6v2h20V6z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-7 3c1.93 0 3.5 1.57 3.5 3.5S13.93 13 12 13s-3.5-1.57-3.5-3.5S10.07 6 12 6zm7 13H5v-.23c0-.62.28-1.2.76-1.58C7.47 15.82 9.64 15 12 15s4.53.82 6.24 2.19c.48.38.76.97.76 1.58V19z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 4c1.93 0 3.5 1.57 3.5 3.5S13.93 13 12 13s-3.5-1.57-3.5-3.5S10.07 6 12 6zm0 14c-2.03 0-4.43-.82-6.14-2.88a9.947 9.947 0 0 1 12.28 0C16.43 19.18 14.03 20 12 20z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm5 11h-4v4h-2v-4H7v-2h4V7h2v4h4v2z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M13 7h-2v4H7v2h4v4h2v-4h4v-2h-4V7zm-1-5C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="m22 5.72-4.6-3.86-1.29 1.53 4.6 3.86L22 5.72zM7.88 3.39 6.6 1.86 2 5.71l1.29 1.53 4.59-3.85zM12.5 8H11v6l4.75 2.85.75-1.23-4-2.37V8zM12 4c-4.97 0-9 4.03-9 9s4.02 9 9 9a9 9 0 0 0 0-18zm0 16c-3.87 0-7-3.13-7-7s3.13-7 7-7 7 3.13 7 7-3.13 7-7 7z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10h5v-2h-5c-4.34 0-8-3.66-8-8s3.66-8 8-8 8 3.66 8 8v1.43c0 .79-.71 1.57-1.5 1.57s-1.5-.78-1.5-1.57V12c0-2.76-2.24-5-5-5s-5 2.24-5 5 2.24 5 5 5c1.38 0 2.64-.56 3.54-1.47.65.89 1.77 1.47 2.96 1.47 1.97 0 3.5-1.6 3.5-3.57V12c0-5.52-4.48-10-10-10zm0 13c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M20 2H4c-1.1 0-1.99.9-1.99 2L2 22l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-7 9h-2V5h2v6zm0 4h-2v-2h2v2z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="m14 12-2 2-2-2 2-2 2 2zm-2-6 2.12 2.12 2.5-2.5L12 1 7.38 5.62l2.5 2.5L12 6zm-6 6 2.12-2.12-2.5-2.5L1 12l4.62 4.62 2.5-2.5L6 12zm12 0-2.12 2.12 2.5 2.5L23 12l-4.62-4.62-2.5 2.5L18 12zm-6 6-2.12-2.12-2.5 2.5L12 23l4.62-4.62-2.5-2.5L12 18z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="m20 12-1.41-1.41L13 16.17V4h-2v12.17l-5.58-5.59L4 12l8 8 8-8z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="m7 10 5 5 5-5z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="m7 14 5-5 5 5z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="m12 4-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="m4 12 1.41 1.41L11 7.83V20h2V7.83l5.58 5.59L20 12l-8-8-8 8z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M16.5 6v11.5c0 2.21-1.79 4-4 4s-4-1.79-4-4V5a2.5 2.5 0 0 1 5 0v10.5c0 .55-.45 1-1 1s-1-.45-1-1V6H10v9.5a2.5 2.5 0 0 0 5 0V5c0-2.21-1.79-4-4-4S7 2.79 7 5v12.5c0 3.04 2.46 5.5 5.5 5.5s5.5-2.46 5.5-5.5V6h-1.5z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M11.8 10.9c-2.27-.59-3-1.2-3-2.15 0-1.09 1.01-1.85 2.7-1.85 1.78 0 2.44.85 2.5 2.1h2.21c-.07-1.72-1.12-3.3-3.21-3.81V3h-3v2.16c-1.94.42-3.5 1.68-3.5 3.61 0 2.31 1.91 3.46 4.7 4.13 2.5.6 3 1.48 3 2.41 0 .69-.49 1.79-2.7 1.79-2.06 0-2.87-.92-2.98-2.1h-2.2c.12 2.19 1.76 3.42 3.68 3.83V21h3v-2.15c1.95-.37 3.5-1.5 3.5-3.55 0-2.84-2.43-3.81-4.7-4.4z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M12 6v3l4-4-4-4v3c-4.42 0-8 3.58-8 8 0 1.57.46 3.03 1.24 4.26L6.7 14.8A5.87 5.87 0 0 1 6 12c0-3.31 2.69-6 6-6zm6.76 1.74L17.3 9.2c.44.84.7 1.79.7 2.8 0 3.31-2.69 6-6 6v-3l-4 4 4 4v-3c4.42 0 8-3.58 8-8 0-1.57-.46-3.03-1.24-4.26z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M20 8v12c0 1.1-.9 2-2 2H6c-1.1 0-2-.9-2-2V8c0-1.86 1.28-3.41 3-3.86V2h3v2h4V2h3v2.14c1.72.45 3 2 3 3.86zM6 12v2h10v2h2v-4H6z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><circle cx="7" cy="7" r="2"/><path d="M20 13V4.83C20 3.27 18.73 2 17.17 2c-.75 0-1.47.3-2 .83l-1.25 1.25c-.16-.05-.33-.08-.51-.08-.4 0-.77.12-1.08.32l2.76 2.76c.2-.31.32-.68.32-1.08 0-.18-.03-.34-.07-.51l1.25-1.25a.828.828 0 0 1 1.41.59V13h-6.85c-.3-.21-.57-.45-.82-.72l-1.4-1.55c-.19-.21-.43-.38-.69-.5A2.251 2.251 0 0 0 5 12.25V13H2v6c0 1.1.9 2 2 2 0 .55.45 1 1 1h14c.55 0 1-.45 1-1 1.1 0 2-.9 2-2v-6h-2z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24"><path d="M17 10.13a33.86 33.86 0 0 1-10 0 1.92 1.92 0 0 1-1.51-1.46 10.42 10.42 0 0 1 0-4.84 1.92 1.92 0 0 1 1.57-1.46 33.86 33.86 0 0 1 10 0 1.9 1.9 0 0 1 1.56 1.46 10.16 10.16 0 0 1 0 4.84A1.9 1.9 0 0 1 17 10.13Zm4 12.12H7a5.25 5.25 0 0 1 0-10.5h10a3.25 3.25 0 0 1 0 6.5H7a1.25 1.25 0 0 1 0-2.5h10a.75.75 0 0 0 0-1.5H7a2.75 2.75 0 0 0 0 5.5h14a1.25 1.25 0 0 1 0 2.5Z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M17 3H7c-1.1 0-1.99.9-1.99 2L5 21l7-3 7 3V5c0-1.1-.9-2-2-2z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M20 8h-2.81a5.985 5.985 0 0 0-1.82-1.96L17 4.41 15.59 3l-2.17 2.17C12.96 5.06 12.49 5 12 5c-.49 0-.96.06-1.41.17L8.41 3 7 4.41l1.62 1.63C7.88 6.55 7.26 7.22 6.81 8H4v2h2.09c-.05.33-.09.66-.09 1v1H4v2h2v1c0 .34.04.67.09 1H4v2h2.81c1.04 1.79 2.97 3 5.19 3s4.15-1.21 5.19-3H20v-2h-2.09c.05-.33.09-.66.09-1v-1h2v-2h-2v-1c0-.34-.04-.67-.09-1H20V8zm-6 8h-4v-2h4v2zm0-4h-4v-2h4v2z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="m22.7 19-9.1-9.1c.9-2.3.4-5-1.5-6.9-2-2-5-2.4-7.4-1.3L9 6 6 9 1.6 4.7C.4 7.1.9 10.1 2.9 12.1c1.9 1.9 4.6 2.4 6.9 1.5l9.1 9.1c.4.4 1 .4 1.4 0l2.3-2.3c.5-.4.5-1.1.1-1.4z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M20 3h-1V1h-2v2H7V1H5v2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 18H4V8h16v13z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M18 11v2h4v-2h-4zm-2 6.61c.96.71 2.21 1.65 3.2 2.39.4-.53.8-1.07 1.2-1.6-.99-.74-2.24-1.68-3.2-2.4-.4.54-.8 1.08-1.2 1.61zM20.4 5.6c-.4-.53-.8-1.07-1.2-1.6-.99.74-2.24 1.68-3.2 2.4.4.53.8 1.07 1.2 1.6.96-.72 2.21-1.65 3.2-2.4zM4 9c-1.1 0-2 .9-2 2v2c0 1.1.9 2 2 2h1v4h2v-4h1l5 3V6L8 9H4zm11.5 3c0-1.33-.58-2.53-1.5-3.35v6.69c.92-.81 1.5-2.01 1.5-3.34z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill-rule="evenodd" d="m12 5 8 13h2v2H2v-2h2l8-13zm.05 8-2.69 5h5.38l-2.69-5zM5.5 3l-.018.024A2.5 2.5 0 0 0 7.498 7 2.5 2.5 0 1 1 5.5 3z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M20 2H4c-1.1 0-1.99.9-1.99 2L2 22l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zM6 9h12v2H6V9zm8 5H6v-2h8v2zm4-6H6V6h12v2z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z"/></svg>
|