@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,82 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { UsaBanner as UsaBannerElement } from "../../usa-banner.js";
|
|
3
|
+
|
|
4
|
+
export type { UsaBannerElement };
|
|
5
|
+
|
|
6
|
+
export interface UsaBannerProps extends Pick<
|
|
7
|
+
React.AllHTMLAttributes<HTMLElement>,
|
|
8
|
+
| "children"
|
|
9
|
+
| "dir"
|
|
10
|
+
| "hidden"
|
|
11
|
+
| "id"
|
|
12
|
+
| "lang"
|
|
13
|
+
| "slot"
|
|
14
|
+
| "style"
|
|
15
|
+
| "title"
|
|
16
|
+
| "translate"
|
|
17
|
+
| "onClick"
|
|
18
|
+
| "onFocus"
|
|
19
|
+
| "onBlur"
|
|
20
|
+
> {
|
|
21
|
+
/** undefined */
|
|
22
|
+
isOpen?: boolean;
|
|
23
|
+
|
|
24
|
+
/** The element's language. */
|
|
25
|
+
lang?: UsaBannerElement["lang"];
|
|
26
|
+
|
|
27
|
+
/** The custom aria label users can override. */
|
|
28
|
+
label?: UsaBannerElement["label"];
|
|
29
|
+
|
|
30
|
+
/** The top level domain for the site. */
|
|
31
|
+
tld?: UsaBannerElement["tld"];
|
|
32
|
+
|
|
33
|
+
/** undefined */
|
|
34
|
+
flagSrc?: UsaBannerElement["flagSrc"];
|
|
35
|
+
|
|
36
|
+
/** A space-separated list of the classes of the element. Classes allows CSS and JavaScript to select and access specific elements via the class selectors or functions like the method `Document.getElementsByClassName()`. */
|
|
37
|
+
className?: string;
|
|
38
|
+
|
|
39
|
+
/** Contains a space-separated list of the part names of the element that should be exposed on the host element. */
|
|
40
|
+
exportparts?: string;
|
|
41
|
+
|
|
42
|
+
/** Used for labels to link them with their inputs (using input id). */
|
|
43
|
+
htmlFor?: string;
|
|
44
|
+
|
|
45
|
+
/** Used to help React identify which items have changed, are added, or are removed within a list. */
|
|
46
|
+
key?: number | string;
|
|
47
|
+
|
|
48
|
+
/** Contains a space-separated list of the part names of the element. Part names allows CSS to select and style specific elements in a shadow tree via the ::part pseudo-element. */
|
|
49
|
+
part?: string;
|
|
50
|
+
|
|
51
|
+
/** A mutable ref object whose `.current` property is initialized to the passed argument (`initialValue`). The returned object will persist for the full lifetime of the component. */
|
|
52
|
+
ref?: any;
|
|
53
|
+
|
|
54
|
+
/** Allows developers to make HTML elements focusable, allow or prevent them from being sequentially focusable (usually with the `Tab` key, hence the name) and determine their relative ordering for sequential focus navigation. */
|
|
55
|
+
tabIndex?: number;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* The usa-banner component.
|
|
60
|
+
* ---
|
|
61
|
+
*
|
|
62
|
+
*
|
|
63
|
+
* ### **Slots:**
|
|
64
|
+
* - **banner-text** - The text for official government website text.
|
|
65
|
+
* - **banner-action** - Action text label "Here's how you know."
|
|
66
|
+
* - **domain-heading** - Heading text for the domain section.
|
|
67
|
+
* - **domain-text** - Body text for domain section.
|
|
68
|
+
* - **https-heading** - Heading for HTTPs section.
|
|
69
|
+
* - **https-text** - Body text for HTTPs section.
|
|
70
|
+
*
|
|
71
|
+
* ### **CSS Properties:**
|
|
72
|
+
* - **--ogds-banner-background-color** - Sets banner background color. _(default: undefined)_
|
|
73
|
+
* - **--ogds-banner-button-close-background-color** - Sets the background color for the close control on smaller viewports. _(default: undefined)_
|
|
74
|
+
* - **--ogds-banner-focus-outline-color** - Sets banner focus outline color. _(default: undefined)_
|
|
75
|
+
* - **--ogds-banner-font-family** - Sets banner font family. _(default: undefined)_
|
|
76
|
+
* - **--ogds-banner-icon-gov-color** - Sets the color for the official government domain icon in the expanded state of the banner. _(default: undefined)_
|
|
77
|
+
* - **--ogds-banner-icon-https-color** - Sets the color for the https icon in the expanded state of the banner. _(default: undefined)_
|
|
78
|
+
* - **--ogds-banner-link-color** - Sets the default link color. _(default: undefined)_
|
|
79
|
+
* - **--ogds-banner-link-hover-color** - Sets the default link color. _(default: undefined)_
|
|
80
|
+
* - **--ogds-banner-text-color** - Sets the default text color. _(default: undefined)_
|
|
81
|
+
*/
|
|
82
|
+
export const UsaBanner: React.ForwardRefExoticComponent<UsaBannerProps>;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import React, { forwardRef } from "react";
|
|
2
|
+
import "../../usa-banner.js";
|
|
3
|
+
|
|
4
|
+
export const UsaBanner = forwardRef((props, forwardedRef) => {
|
|
5
|
+
const { isOpen, lang, label, tld, flagSrc, ...filteredProps } = props;
|
|
6
|
+
|
|
7
|
+
return React.createElement(
|
|
8
|
+
"usa-banner",
|
|
9
|
+
{
|
|
10
|
+
...filteredProps,
|
|
11
|
+
lang: props.lang,
|
|
12
|
+
label: props.label,
|
|
13
|
+
tld: props.tld,
|
|
14
|
+
flagSrc: props.flagSrc,
|
|
15
|
+
class: props.className,
|
|
16
|
+
exportparts: props.exportparts,
|
|
17
|
+
for: props.htmlFor,
|
|
18
|
+
part: props.part,
|
|
19
|
+
tabindex: props.tabIndex,
|
|
20
|
+
isOpen: props.isOpen ? true : undefined,
|
|
21
|
+
style: { ...props.style },
|
|
22
|
+
},
|
|
23
|
+
props.children,
|
|
24
|
+
);
|
|
25
|
+
});
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { UsaLink as UsaLinkElement } from "../../usa-link.js";
|
|
3
|
+
|
|
4
|
+
export type { UsaLinkElement };
|
|
5
|
+
|
|
6
|
+
export interface UsaLinkProps extends Pick<
|
|
7
|
+
React.AllHTMLAttributes<HTMLElement>,
|
|
8
|
+
| "children"
|
|
9
|
+
| "dir"
|
|
10
|
+
| "hidden"
|
|
11
|
+
| "id"
|
|
12
|
+
| "lang"
|
|
13
|
+
| "slot"
|
|
14
|
+
| "style"
|
|
15
|
+
| "title"
|
|
16
|
+
| "translate"
|
|
17
|
+
| "onClick"
|
|
18
|
+
| "onFocus"
|
|
19
|
+
| "onBlur"
|
|
20
|
+
> {
|
|
21
|
+
/** The url for the link */
|
|
22
|
+
href?: UsaLinkElement["href"];
|
|
23
|
+
|
|
24
|
+
/** A space-separated list of the classes of the element. Classes allows CSS and JavaScript to select and access specific elements via the class selectors or functions like the method `Document.getElementsByClassName()`. */
|
|
25
|
+
className?: string;
|
|
26
|
+
|
|
27
|
+
/** Contains a space-separated list of the part names of the element that should be exposed on the host element. */
|
|
28
|
+
exportparts?: string;
|
|
29
|
+
|
|
30
|
+
/** Used for labels to link them with their inputs (using input id). */
|
|
31
|
+
htmlFor?: string;
|
|
32
|
+
|
|
33
|
+
/** Used to help React identify which items have changed, are added, or are removed within a list. */
|
|
34
|
+
key?: number | string;
|
|
35
|
+
|
|
36
|
+
/** Contains a space-separated list of the part names of the element. Part names allows CSS to select and style specific elements in a shadow tree via the ::part pseudo-element. */
|
|
37
|
+
part?: string;
|
|
38
|
+
|
|
39
|
+
/** A mutable ref object whose `.current` property is initialized to the passed argument (`initialValue`). The returned object will persist for the full lifetime of the component. */
|
|
40
|
+
ref?: any;
|
|
41
|
+
|
|
42
|
+
/** Allows developers to make HTML elements focusable, allow or prevent them from being sequentially focusable (usually with the `Tab` key, hence the name) and determine their relative ordering for sequential focus navigation. */
|
|
43
|
+
tabIndex?: number;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* The usa-link component.
|
|
48
|
+
* ---
|
|
49
|
+
*
|
|
50
|
+
*
|
|
51
|
+
* ### **Slots:**
|
|
52
|
+
* - _default_ - This element has a slot
|
|
53
|
+
*
|
|
54
|
+
* ### **CSS Properties:**
|
|
55
|
+
* - **--theme-link-color** - Sets the link color _(default: undefined)_
|
|
56
|
+
* - **--theme-link-visited-color** - Sets the color for visited links _(default: undefined)_
|
|
57
|
+
* - **--theme-link-hover-color** - Sets the hover state link color _(default: undefined)_
|
|
58
|
+
* - **--theme-link-active-color** - Sets the active state link color _(default: undefined)_
|
|
59
|
+
*/
|
|
60
|
+
export const UsaLink: React.ForwardRefExoticComponent<UsaLinkProps>;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import React, { forwardRef } from "react";
|
|
2
|
+
import "../../usa-link.js";
|
|
3
|
+
|
|
4
|
+
export const UsaLink = forwardRef((props, forwardedRef) => {
|
|
5
|
+
const { href, ...filteredProps } = props;
|
|
6
|
+
|
|
7
|
+
return React.createElement(
|
|
8
|
+
"usa-link",
|
|
9
|
+
{
|
|
10
|
+
...filteredProps,
|
|
11
|
+
href: props.href,
|
|
12
|
+
class: props.className,
|
|
13
|
+
exportparts: props.exportparts,
|
|
14
|
+
for: props.htmlFor,
|
|
15
|
+
part: props.part,
|
|
16
|
+
tabindex: props.tabIndex,
|
|
17
|
+
style: { ...props.style },
|
|
18
|
+
},
|
|
19
|
+
props.children,
|
|
20
|
+
);
|
|
21
|
+
});
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { useEffect, useLayoutEffect } from "react";
|
|
2
|
+
|
|
3
|
+
export function useProperties(targetElement, propName, value) {
|
|
4
|
+
useEffect(() => {
|
|
5
|
+
if (
|
|
6
|
+
value !== undefined &&
|
|
7
|
+
targetElement.current &&
|
|
8
|
+
targetElement.current[propName] !== value
|
|
9
|
+
) {
|
|
10
|
+
// add try catch to avoid errors when setting read-only properties
|
|
11
|
+
try {
|
|
12
|
+
targetElement.current[propName] = value;
|
|
13
|
+
} catch (e) {
|
|
14
|
+
console.warn(e);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
}, [value, targetElement.current]);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export function useEventListener(targetElement, eventName, eventHandler) {
|
|
21
|
+
useLayoutEffect(() => {
|
|
22
|
+
if (eventHandler !== undefined) {
|
|
23
|
+
targetElement?.current?.addEventListener(eventName, eventHandler);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
return () => {
|
|
27
|
+
if (eventHandler?.cancel) {
|
|
28
|
+
eventHandler.cancel();
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
targetElement?.current?.removeEventListener(eventName, eventHandler);
|
|
32
|
+
};
|
|
33
|
+
}, [eventName, eventHandler, targetElement.current]);
|
|
34
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./usa-link.cjs"),e=require("./usa-banner.cjs");exports.UsaLink=n.UsaLink;exports.UsaBanner=e.UsaBanner;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { OgdsElement } from '../../core/OgdsElement';
|
|
2
|
+
interface UsaBannerTranslations {
|
|
3
|
+
banner: {
|
|
4
|
+
label: string;
|
|
5
|
+
text: string;
|
|
6
|
+
action: string;
|
|
7
|
+
};
|
|
8
|
+
domain: {
|
|
9
|
+
heading: string;
|
|
10
|
+
text1: string;
|
|
11
|
+
text2: string;
|
|
12
|
+
};
|
|
13
|
+
https: {
|
|
14
|
+
heading1: string;
|
|
15
|
+
heading2: string;
|
|
16
|
+
text1: string;
|
|
17
|
+
text2: string;
|
|
18
|
+
text3: string;
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* @summary The usa-banner component.
|
|
23
|
+
*
|
|
24
|
+
* @attribute {string} lang - The element's language.
|
|
25
|
+
* @attribute {string} label - The custom aria label users can override.
|
|
26
|
+
* @attribute {string} tld - The top level domain for the site.
|
|
27
|
+
*
|
|
28
|
+
* @cssprop --ogds-banner-background-color - Sets banner background color.
|
|
29
|
+
* @cssprop --ogds-banner-button-close-background-color - Sets the background color for the close control on smaller viewports.
|
|
30
|
+
* @cssprop --ogds-banner-focus-outline-color - Sets banner focus outline color.
|
|
31
|
+
* @cssprop --ogds-banner-font-family - Sets banner font family.
|
|
32
|
+
* @cssprop --ogds-banner-icon-gov-color - Sets the color for the official government domain icon in the expanded state of the banner.
|
|
33
|
+
* @cssprop --ogds-banner-icon-https-color - Sets the color for the https icon in the expanded state of the banner.
|
|
34
|
+
* @cssprop --ogds-banner-link-color - Sets the default link color.
|
|
35
|
+
* @cssprop --ogds-banner-link-hover-color - Sets the default link color.
|
|
36
|
+
* @cssprop --ogds-banner-text-color - Sets the default text color.
|
|
37
|
+
*
|
|
38
|
+
* @slot banner-text - The text for official government website text.
|
|
39
|
+
* @slot banner-action - Action text label "Here's how you know."
|
|
40
|
+
* @slot domain-heading - Heading text for the domain section.
|
|
41
|
+
* @slot domain-text - Body text for domain section.
|
|
42
|
+
* @slot https-heading - Heading for HTTPs section.
|
|
43
|
+
* @slot https-text - Body text for HTTPs section.
|
|
44
|
+
*
|
|
45
|
+
* @element usa-banner
|
|
46
|
+
*/
|
|
47
|
+
export declare class UsaBanner extends OgdsElement {
|
|
48
|
+
static properties: {
|
|
49
|
+
flagSrc: {
|
|
50
|
+
type: StringConstructor;
|
|
51
|
+
};
|
|
52
|
+
lang: {
|
|
53
|
+
type: StringConstructor;
|
|
54
|
+
reflect: boolean;
|
|
55
|
+
};
|
|
56
|
+
isOpen: {
|
|
57
|
+
state: boolean;
|
|
58
|
+
};
|
|
59
|
+
label: {
|
|
60
|
+
type: StringConstructor;
|
|
61
|
+
};
|
|
62
|
+
tld: {
|
|
63
|
+
type: StringConstructor;
|
|
64
|
+
reflect: boolean;
|
|
65
|
+
};
|
|
66
|
+
};
|
|
67
|
+
flagSrc: string;
|
|
68
|
+
lang: "en" | "es";
|
|
69
|
+
isOpen: boolean;
|
|
70
|
+
label: string;
|
|
71
|
+
tld: "gov" | "mil";
|
|
72
|
+
toggle(): void;
|
|
73
|
+
constructor();
|
|
74
|
+
protected get _bannerText(): UsaBannerTranslations;
|
|
75
|
+
protected get _actionText(): string | undefined;
|
|
76
|
+
domainTemplate(tld: string): import('lit-html').TemplateResult<1>;
|
|
77
|
+
lockIcon(): import('lit-html').TemplateResult<1>;
|
|
78
|
+
httpsTemplate(tld: string): import('lit-html').TemplateResult<1>;
|
|
79
|
+
static styles: import('lit').CSSResult[];
|
|
80
|
+
render(): import('lit-html').TemplateResult<1>;
|
|
81
|
+
}
|
|
82
|
+
export {};
|
|
File without changes
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { default as ComponentDocs } from './docs.mdx';
|
|
2
|
+
import { Args, ArgTypes } from 'storybook/internal/csf';
|
|
3
|
+
declare const _default: {
|
|
4
|
+
title: string;
|
|
5
|
+
component: string;
|
|
6
|
+
tags: string[];
|
|
7
|
+
args: {
|
|
8
|
+
label: string;
|
|
9
|
+
tld: string;
|
|
10
|
+
lang: string;
|
|
11
|
+
};
|
|
12
|
+
parameters: {
|
|
13
|
+
docs: {
|
|
14
|
+
page: typeof ComponentDocs;
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
argTypes: ArgTypes<Args>;
|
|
18
|
+
render: (args: Args) => import('lit-html').TemplateResult;
|
|
19
|
+
};
|
|
20
|
+
export default _default;
|
|
21
|
+
export declare const Default: {};
|
|
22
|
+
export declare const CustomContent: {
|
|
23
|
+
argTypes: {
|
|
24
|
+
tld: {
|
|
25
|
+
table: {
|
|
26
|
+
disable: boolean;
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
lang: {
|
|
30
|
+
table: {
|
|
31
|
+
disable: boolean;
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
args: {
|
|
36
|
+
label: string;
|
|
37
|
+
/**
|
|
38
|
+
* The `getStorybookHelpers` function from @wc-toolkit/storybook-helpers`
|
|
39
|
+
* automatically appends the `slot` attribute to avoid collisions with other props.
|
|
40
|
+
*
|
|
41
|
+
* To set the content for this story, the key should have the suffix `-slot`,
|
|
42
|
+
* even though the slot name in the component is `banner-text`, `banner-action`, etc.
|
|
43
|
+
*/
|
|
44
|
+
"banner-text-slot": string;
|
|
45
|
+
"banner-action-slot": string;
|
|
46
|
+
"domain-heading-slot": string;
|
|
47
|
+
"domain-text-slot": string;
|
|
48
|
+
"https-heading-slot": string;
|
|
49
|
+
"https-text-slot": string;
|
|
50
|
+
};
|
|
51
|
+
};
|
|
52
|
+
export declare const Mil: {
|
|
53
|
+
args: {
|
|
54
|
+
tld: string;
|
|
55
|
+
};
|
|
56
|
+
};
|
|
57
|
+
export declare const EspañolGov: {
|
|
58
|
+
args: {
|
|
59
|
+
lang: string;
|
|
60
|
+
};
|
|
61
|
+
};
|
|
62
|
+
export declare const EspañolMil: {
|
|
63
|
+
args: {
|
|
64
|
+
lang: string;
|
|
65
|
+
tld: string;
|
|
66
|
+
};
|
|
67
|
+
};
|
|
68
|
+
export declare const CustomThemeExample: {
|
|
69
|
+
parameters: {
|
|
70
|
+
docs: {
|
|
71
|
+
disable: boolean;
|
|
72
|
+
};
|
|
73
|
+
};
|
|
74
|
+
args: {
|
|
75
|
+
"--ogds-banner-background-color": string;
|
|
76
|
+
"--ogds-banner-button-close-background-color": string;
|
|
77
|
+
"--ogds-banner-focus-outline-color": string;
|
|
78
|
+
"--ogds-banner-font-family": string;
|
|
79
|
+
"--ogds-banner-link-hover-color": string;
|
|
80
|
+
"--ogds-banner-text-color": string;
|
|
81
|
+
"--ogds-banner-link-color": string;
|
|
82
|
+
"--ogds-banner-icon-gov-color": string;
|
|
83
|
+
"--ogds-banner-icon-https-color": string;
|
|
84
|
+
};
|
|
85
|
+
};
|
|
86
|
+
export declare const ToggleBannerTest: {
|
|
87
|
+
parameters: {
|
|
88
|
+
docs: {
|
|
89
|
+
disable: boolean;
|
|
90
|
+
};
|
|
91
|
+
};
|
|
92
|
+
play: ({ canvasElement }: {
|
|
93
|
+
canvasElement: HTMLElement;
|
|
94
|
+
}) => Promise<void>;
|
|
95
|
+
};
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("lit"),g=require("../index-7kIMQwBw.cjs"),c=require("lit/directives/unsafe-html.js"),l=require("lit/directives/class-map.js"),n=o.css`:root,:host{--ogds-color-black-transparent-5:#00000003;--ogds-color-black-transparent-10:#0000001a;--ogds-color-black-transparent-20:#0003;--ogds-color-black-transparent-30:#0000004d;--ogds-color-black-transparent-40:#0006;--ogds-color-black-transparent-50:#00000080;--ogds-color-black-transparent-60:#0009;--ogds-color-black-transparent-70:#000000b3;--ogds-color-black-transparent-80:#000c;--ogds-color-black-transparent-90:#000000e6;--ogds-color-blue-cool-5:#e7f2f5;--ogds-color-blue-cool-10:#dae9ee;--ogds-color-blue-cool-20:#adcfdc;--ogds-color-blue-cool-30:#82b4c9;--ogds-color-blue-cool-40:#6499af;--ogds-color-blue-cool-50:#3a7d95;--ogds-color-blue-cool-60:#2e6276;--ogds-color-blue-cool-70:#224a58;--ogds-color-blue-cool-80:#14333d;--ogds-color-blue-cool-90:#0f191c;--ogds-color-blue-cool-vivid-5:#e1f3f8;--ogds-color-blue-cool-vivid-10:#c3ebfa;--ogds-color-blue-cool-vivid-20:#97d4ea;--ogds-color-blue-cool-vivid-30:#59b9de;--ogds-color-blue-cool-vivid-40:#28a0cb;--ogds-color-blue-cool-vivid-50:#0d7ea2;--ogds-color-blue-cool-vivid-60:#07648d;--ogds-color-blue-cool-vivid-70:#074b69;--ogds-color-blue-cool-vivid-80:#002d3f;--ogds-color-blue-warm-5:#ecf1f7;--ogds-color-blue-warm-10:#e1e7f1;--ogds-color-blue-warm-20:#bbcae4;--ogds-color-blue-warm-30:#98afd2;--ogds-color-blue-warm-40:#7292c7;--ogds-color-blue-warm-50:#4a77b4;--ogds-color-blue-warm-60:#345d96;--ogds-color-blue-warm-70:#2f4668;--ogds-color-blue-warm-80:#252f3e;--ogds-color-blue-warm-90:#13171f;--ogds-color-blue-warm-vivid-5:#edf5ff;--ogds-color-blue-warm-vivid-10:#d4e5ff;--ogds-color-blue-warm-vivid-20:#adcdff;--ogds-color-blue-warm-vivid-30:#81aefc;--ogds-color-blue-warm-vivid-40:#5994f6;--ogds-color-blue-warm-vivid-50:#2672de;--ogds-color-blue-warm-vivid-60:#0050d8;--ogds-color-blue-warm-vivid-70:#1a4480;--ogds-color-blue-warm-vivid-80:#162e51;--ogds-color-blue-5:#eff6fb;--ogds-color-blue-10:#d9e8f6;--ogds-color-blue-20:#aacdec;--ogds-color-blue-30:#73b3e7;--ogds-color-blue-40:#4f97d1;--ogds-color-blue-50:#2378c3;--ogds-color-blue-60:#2c608a;--ogds-color-blue-70:#274863;--ogds-color-blue-80:#1f303e;--ogds-color-blue-90:#11181d;--ogds-color-blue-vivid-5:#e8f5ff;--ogds-color-blue-vivid-10:#cfe8ff;--ogds-color-blue-vivid-20:#a1d3ff;--ogds-color-blue-vivid-30:#58b4ff;--ogds-color-blue-vivid-40:#2491ff;--ogds-color-blue-vivid-50:#0076d6;--ogds-color-blue-vivid-60:#005ea2;--ogds-color-blue-vivid-70:#0b4778;--ogds-color-blue-vivid-80:#112f4e;--ogds-color-cyan-5:#e7f6f8;--ogds-color-cyan-10:#ccecf2;--ogds-color-cyan-20:#99deea;--ogds-color-cyan-30:#5dc0d1;--ogds-color-cyan-40:#449dac;--ogds-color-cyan-50:#168092;--ogds-color-cyan-60:#2a646d;--ogds-color-cyan-70:#2c4a4e;--ogds-color-cyan-80:#203133;--ogds-color-cyan-90:#111819;--ogds-color-cyan-vivid-5:#e5faff;--ogds-color-cyan-vivid-10:#a8f2ff;--ogds-color-cyan-vivid-20:#52daf2;--ogds-color-cyan-vivid-30:#00bde3;--ogds-color-cyan-vivid-40:#009ec1;--ogds-color-cyan-vivid-50:#0081a1;--ogds-color-cyan-vivid-60:#00687d;--ogds-color-cyan-vivid-70:#0e4f5c;--ogds-color-cyan-vivid-80:#093b44;--ogds-color-transparent:#0000;--ogds-color-black:#000;--ogds-color-white:#fff;--ogds-color-gold-5:#f5f0e6;--ogds-color-gold-10:#f1e5cd;--ogds-color-gold-20:#dec69a;--ogds-color-gold-30:#c7a97b;--ogds-color-gold-40:#ad8b65;--ogds-color-gold-50:#8e704f;--ogds-color-gold-60:#6b5947;--ogds-color-gold-70:#4d4438;--ogds-color-gold-80:#322d26;--ogds-color-gold-90:#191714;--ogds-color-gold-vivid-5:#fef0c8;--ogds-color-gold-vivid-10:#ffe396;--ogds-color-gold-vivid-20:#ffbe2e;--ogds-color-gold-vivid-30:#e5a000;--ogds-color-gold-vivid-40:#c2850c;--ogds-color-gold-vivid-50:#936f38;--ogds-color-gold-vivid-60:#7a591a;--ogds-color-gold-vivid-70:#5c410a;--ogds-color-gold-vivid-80:#3b2b15;--ogds-color-gray-cool-1:#fbfcfd;--ogds-color-gray-cool-2:#f7f9fa;--ogds-color-gray-cool-3:#f5f6f7;--ogds-color-gray-cool-4:#f1f3f6;--ogds-color-gray-cool-5:#edeff0;--ogds-color-gray-cool-10:#dfe1e2;--ogds-color-gray-cool-20:#c6cace;--ogds-color-gray-cool-30:#a9aeb1;--ogds-color-gray-cool-40:#8d9297;--ogds-color-gray-cool-50:#71767a;--ogds-color-gray-cool-60:#565c65;--ogds-color-gray-cool-70:#3d4551;--ogds-color-gray-cool-80:#2d2e2f;--ogds-color-gray-cool-90:#1c1d1f;--ogds-color-gray-warm-1:#fcfcfb;--ogds-color-gray-warm-2:#f9f9f7;--ogds-color-gray-warm-3:#f6f6f2;--ogds-color-gray-warm-4:#f5f5f0;--ogds-color-gray-warm-5:#f0f0ec;--ogds-color-gray-warm-10:#e6e6e2;--ogds-color-gray-warm-20:#cac9c0;--ogds-color-gray-warm-30:#afaea2;--ogds-color-gray-warm-40:#929285;--ogds-color-gray-warm-50:#76766a;--ogds-color-gray-warm-60:#5d5d52;--ogds-color-gray-warm-70:#454540;--ogds-color-gray-warm-80:#2e2e2a;--ogds-color-gray-warm-90:#171716;--ogds-color-gray-1:#fcfcfc;--ogds-color-gray-2:#f9f9f9;--ogds-color-gray-3:#f6f6f6;--ogds-color-gray-4:#f3f3f3;--ogds-color-gray-5:#f0f0f0;--ogds-color-gray-10:#e6e6e6;--ogds-color-gray-20:#c9c9c9;--ogds-color-gray-30:#adadad;--ogds-color-gray-40:#919191;--ogds-color-gray-50:#757575;--ogds-color-gray-60:#5c5c5c;--ogds-color-gray-70:#454545;--ogds-color-gray-80:#2e2e2e;--ogds-color-gray-90:#1b1b1b;--ogds-color-gray-100:#000;--ogds-color-green-cool-5:#ecf3ec;--ogds-color-green-cool-10:#dbebde;--ogds-color-green-cool-20:#b4d0b9;--ogds-color-green-cool-30:#86b98e;--ogds-color-green-cool-40:#5e9f69;--ogds-color-green-cool-50:#4d8055;--ogds-color-green-cool-60:#446443;--ogds-color-green-cool-70:#37493b;--ogds-color-green-cool-80:#28312a;--ogds-color-green-cool-90:#1a1f1a;--ogds-color-green-cool-vivid-5:#e3f5e1;--ogds-color-green-cool-vivid-10:#b7f5bd;--ogds-color-green-cool-vivid-20:#70e17b;--ogds-color-green-cool-vivid-30:#21c834;--ogds-color-green-cool-vivid-40:#00a91c;--ogds-color-green-cool-vivid-50:#008817;--ogds-color-green-cool-vivid-60:#216e1f;--ogds-color-green-cool-vivid-70:#154c21;--ogds-color-green-cool-vivid-80:#19311e;--ogds-color-green-warm-5:#f1f4d7;--ogds-color-green-warm-10:#e7eab7;--ogds-color-green-warm-20:#cbd17a;--ogds-color-green-warm-30:#a6b557;--ogds-color-green-warm-40:#8a984b;--ogds-color-green-warm-50:#6f7a41;--ogds-color-green-warm-60:#5a5f38;--ogds-color-green-warm-70:#45472f;--ogds-color-green-warm-80:#2d2f21;--ogds-color-green-warm-90:#171712;--ogds-color-green-warm-vivid-5:#f5fbc1;--ogds-color-green-warm-vivid-10:#e7f434;--ogds-color-green-warm-vivid-20:#c5d30a;--ogds-color-green-warm-vivid-30:#a3b72c;--ogds-color-green-warm-vivid-40:#7e9c1d;--ogds-color-green-warm-vivid-50:#6a7d00;--ogds-color-green-warm-vivid-60:#5a6613;--ogds-color-green-warm-vivid-70:#4b4e10;--ogds-color-green-warm-vivid-80:#38380b;--ogds-color-green-5:#eaf4dd;--ogds-color-green-10:#dfeacd;--ogds-color-green-20:#b8d293;--ogds-color-green-30:#9bb672;--ogds-color-green-40:#7d9b4e;--ogds-color-green-50:#607f35;--ogds-color-green-60:#4c6424;--ogds-color-green-70:#3c4a29;--ogds-color-green-80:#293021;--ogds-color-green-90:#161814;--ogds-color-green-vivid-5:#ddf9c7;--ogds-color-green-vivid-10:#c5ee93;--ogds-color-green-vivid-20:#98d035;--ogds-color-green-vivid-30:#7fb135;--ogds-color-green-vivid-40:#719f2a;--ogds-color-green-vivid-50:#538200;--ogds-color-green-vivid-60:#466c04;--ogds-color-green-vivid-70:#2f4a0b;--ogds-color-green-vivid-80:#243413;--ogds-color-indigo-cool-5:#eef0f9;--ogds-color-indigo-cool-10:#e1e6f9;--ogds-color-indigo-cool-20:#bbc8f5;--ogds-color-indigo-cool-30:#96abee;--ogds-color-indigo-cool-40:#6b8ee8;--ogds-color-indigo-cool-50:#496fd8;--ogds-color-indigo-cool-60:#3f57a6;--ogds-color-indigo-cool-70:#374274;--ogds-color-indigo-cool-80:#292d42;--ogds-color-indigo-cool-90:#151622;--ogds-color-indigo-cool-vivid-5:#edf0ff;--ogds-color-indigo-cool-vivid-10:#dee5ff;--ogds-color-indigo-cool-vivid-20:#b8c8ff;--ogds-color-indigo-cool-vivid-30:#94adff;--ogds-color-indigo-cool-vivid-40:#628ef4;--ogds-color-indigo-cool-vivid-50:#4866ff;--ogds-color-indigo-cool-vivid-60:#3e4ded;--ogds-color-indigo-cool-vivid-70:#222fbf;--ogds-color-indigo-cool-vivid-80:#1b2b85;--ogds-color-indigo-warm-5:#f1eff7;--ogds-color-indigo-warm-10:#e7e3fa;--ogds-color-indigo-warm-20:#cbc4f2;--ogds-color-indigo-warm-30:#afa5e8;--ogds-color-indigo-warm-40:#9287d8;--ogds-color-indigo-warm-50:#7665d1;--ogds-color-indigo-warm-60:#5e519e;--ogds-color-indigo-warm-70:#453c7b;--ogds-color-indigo-warm-80:#2e2c40;--ogds-color-indigo-warm-90:#18161d;--ogds-color-indigo-warm-vivid-5:#f5f2ff;--ogds-color-indigo-warm-vivid-10:#e4deff;--ogds-color-indigo-warm-vivid-20:#cfc4fd;--ogds-color-indigo-warm-vivid-30:#b69fff;--ogds-color-indigo-warm-vivid-40:#967efb;--ogds-color-indigo-warm-vivid-50:#745fe9;--ogds-color-indigo-warm-vivid-60:#5942d2;--ogds-color-indigo-warm-vivid-70:#3d2c9d;--ogds-color-indigo-warm-vivid-80:#261f5b;--ogds-color-indigo-5:#efeff8;--ogds-color-indigo-10:#e5e4fa;--ogds-color-indigo-20:#c5c5f3;--ogds-color-indigo-30:#a5a8eb;--ogds-color-indigo-40:#8889db;--ogds-color-indigo-50:#676cc8;--ogds-color-indigo-60:#4d52af;--ogds-color-indigo-70:#3d4076;--ogds-color-indigo-80:#2b2c40;--ogds-color-indigo-90:#16171f;--ogds-color-indigo-vivid-5:#f0f0ff;--ogds-color-indigo-vivid-10:#e0e0ff;--ogds-color-indigo-vivid-20:#ccceff;--ogds-color-indigo-vivid-30:#a3a7fa;--ogds-color-indigo-vivid-40:#8289ff;--ogds-color-indigo-vivid-50:#656bd7;--ogds-color-indigo-vivid-60:#4a50c4;--ogds-color-indigo-vivid-70:#3333a3;--ogds-color-indigo-vivid-80:#212463;--ogds-color-magenta-5:#f9f0f2;--ogds-color-magenta-10:#f6e1e8;--ogds-color-magenta-20:#f0bbcc;--ogds-color-magenta-30:#e895b3;--ogds-color-magenta-40:#e0699f;--ogds-color-magenta-50:#c84281;--ogds-color-magenta-60:#8b4566;--ogds-color-magenta-70:#66364b;--ogds-color-magenta-80:#402731;--ogds-color-magenta-90:#1b1617;--ogds-color-magenta-vivid-5:#fff2f5;--ogds-color-magenta-vivid-10:#ffddea;--ogds-color-magenta-vivid-20:#ffb4cf;--ogds-color-magenta-vivid-30:#ff87b2;--ogds-color-magenta-vivid-40:#fd4496;--ogds-color-magenta-vivid-50:#d72d79;--ogds-color-magenta-vivid-60:#ab2165;--ogds-color-magenta-vivid-70:#731f44;--ogds-color-magenta-vivid-80:#4f172e;--ogds-color-mint-cool-5:#e0f7f6;--ogds-color-mint-cool-10:#c4eeeb;--ogds-color-mint-cool-20:#9bd4cf;--ogds-color-mint-cool-30:#6fbab3;--ogds-color-mint-cool-40:#4f9e99;--ogds-color-mint-cool-50:#40807e;--ogds-color-mint-cool-60:#376462;--ogds-color-mint-cool-70:#2a4b45;--ogds-color-mint-cool-80:#203131;--ogds-color-mint-cool-90:#111818;--ogds-color-mint-cool-vivid-5:#d5fbf3;--ogds-color-mint-cool-vivid-10:#7efbe1;--ogds-color-mint-cool-vivid-20:#29e1cb;--ogds-color-mint-cool-vivid-30:#1dc2ae;--ogds-color-mint-cool-vivid-40:#00a398;--ogds-color-mint-cool-vivid-50:#008480;--ogds-color-mint-cool-vivid-60:#0f6460;--ogds-color-mint-cool-vivid-70:#0b4b3f;--ogds-color-mint-cool-vivid-80:#123131;--ogds-color-mint-5:#dbf6ed;--ogds-color-mint-10:#c7efe2;--ogds-color-mint-20:#92d9bb;--ogds-color-mint-30:#5abf95;--ogds-color-mint-40:#34a37e;--ogds-color-mint-50:#2e8367;--ogds-color-mint-60:#286846;--ogds-color-mint-70:#204e34;--ogds-color-mint-80:#193324;--ogds-color-mint-90:#0d1a12;--ogds-color-mint-vivid-5:#c9fbeb;--ogds-color-mint-vivid-10:#83fcd4;--ogds-color-mint-vivid-20:#0ceda6;--ogds-color-mint-vivid-30:#04c585;--ogds-color-mint-vivid-40:#00a871;--ogds-color-mint-vivid-50:#008659;--ogds-color-mint-vivid-60:#146947;--ogds-color-mint-vivid-70:#0c4e29;--ogds-color-mint-vivid-80:#0d351e;--ogds-color-orange-warm-5:#faeee5;--ogds-color-orange-warm-10:#fbe0d0;--ogds-color-orange-warm-20:#f7bca2;--ogds-color-orange-warm-30:#f3966d;--ogds-color-orange-warm-40:#e17141;--ogds-color-orange-warm-50:#bd5727;--ogds-color-orange-warm-60:#914734;--ogds-color-orange-warm-70:#633a32;--ogds-color-orange-warm-80:#3d2925;--ogds-color-orange-warm-90:#1c1615;--ogds-color-orange-warm-vivid-5:#fff3ea;--ogds-color-orange-warm-vivid-10:#ffe2d1;--ogds-color-orange-warm-vivid-20:#fbbaa7;--ogds-color-orange-warm-vivid-30:#fc906d;--ogds-color-orange-warm-vivid-40:#ff580a;--ogds-color-orange-warm-vivid-50:#cf4900;--ogds-color-orange-warm-vivid-60:#a72f10;--ogds-color-orange-warm-vivid-70:#782312;--ogds-color-orange-warm-vivid-80:#3d231d;--ogds-color-orange-5:#f6efe9;--ogds-color-orange-10:#f2e4d4;--ogds-color-orange-20:#f3bf90;--ogds-color-orange-30:#f09860;--ogds-color-orange-40:#dd7533;--ogds-color-orange-50:#a86437;--ogds-color-orange-60:#775540;--ogds-color-orange-70:#524236;--ogds-color-orange-80:#332d27;--ogds-color-orange-90:#1b1614;--ogds-color-orange-vivid-5:#fef2e4;--ogds-color-orange-vivid-10:#fce2c5;--ogds-color-orange-vivid-20:#ffbc78;--ogds-color-orange-vivid-30:#fa9441;--ogds-color-orange-vivid-40:#e66f0e;--ogds-color-orange-vivid-50:#c05600;--ogds-color-orange-vivid-60:#8c471c;--ogds-color-orange-vivid-70:#5f3617;--ogds-color-orange-vivid-80:#352313;--ogds-color-red-cool-5:#f8eff1;--ogds-color-red-cool-10:#f3e1e4;--ogds-color-red-cool-20:#ecbec6;--ogds-color-red-cool-30:#e09aa6;--ogds-color-red-cool-40:#e16b80;--ogds-color-red-cool-50:#cd425b;--ogds-color-red-cool-60:#9e394b;--ogds-color-red-cool-70:#68363f;--ogds-color-red-cool-80:#40282c;--ogds-color-red-cool-90:#1e1517;--ogds-color-red-cool-vivid-5:#fff2f5;--ogds-color-red-cool-vivid-10:#f8dfe2;--ogds-color-red-cool-vivid-20:#f8b9c5;--ogds-color-red-cool-vivid-30:#fd8ba0;--ogds-color-red-cool-vivid-40:#f45d79;--ogds-color-red-cool-vivid-50:#e41d3d;--ogds-color-red-cool-vivid-60:#b21d38;--ogds-color-red-cool-vivid-70:#822133;--ogds-color-red-cool-vivid-80:#4f1c24;--ogds-color-red-warm-5:#f6efea;--ogds-color-red-warm-10:#f4e3db;--ogds-color-red-warm-20:#ecc0a7;--ogds-color-red-warm-30:#dca081;--ogds-color-red-warm-40:#d27a56;--ogds-color-red-warm-50:#c3512c;--ogds-color-red-warm-60:#805039;--ogds-color-red-warm-70:#524236;--ogds-color-red-warm-80:#332d29;--ogds-color-red-warm-90:#1f1c18;--ogds-color-red-warm-vivid-5:#fff5ee;--ogds-color-red-warm-vivid-10:#fce1d4;--ogds-color-red-warm-vivid-20:#f6bd9c;--ogds-color-red-warm-vivid-30:#f39268;--ogds-color-red-warm-vivid-40:#ef5e25;--ogds-color-red-warm-vivid-50:#d54309;--ogds-color-red-warm-vivid-60:#9c3d10;--ogds-color-red-warm-vivid-70:#63340f;--ogds-color-red-warm-vivid-80:#3e2a1e;--ogds-color-red-5:#f9eeee;--ogds-color-red-10:#f8e1de;--ogds-color-red-20:#f7bbb1;--ogds-color-red-30:#f2938c;--ogds-color-red-40:#e9695f;--ogds-color-red-50:#d83933;--ogds-color-red-60:#a23737;--ogds-color-red-70:#6f3331;--ogds-color-red-80:#3e2927;--ogds-color-red-90:#1b1616;--ogds-color-red-vivid-5:#fff3f2;--ogds-color-red-vivid-10:#fde0db;--ogds-color-red-vivid-20:#fdb8ae;--ogds-color-red-vivid-30:#ff8d7b;--ogds-color-red-vivid-40:#fb5a47;--ogds-color-red-vivid-50:#e52207;--ogds-color-red-vivid-60:#b50909;--ogds-color-red-vivid-70:#8b0a03;--ogds-color-red-vivid-80:#5c1111;--ogds-color-violet-warm-5:#f8f0f9;--ogds-color-violet-warm-10:#f6dff8;--ogds-color-violet-warm-20:#e2bee4;--ogds-color-violet-warm-30:#d29ad8;--ogds-color-violet-warm-40:#bf77c8;--ogds-color-violet-warm-50:#b04abd;--ogds-color-violet-warm-60:#864381;--ogds-color-violet-warm-70:#5c395a;--ogds-color-violet-warm-80:#382936;--ogds-color-violet-warm-90:#1b151b;--ogds-color-violet-warm-vivid-5:#fef2ff;--ogds-color-violet-warm-vivid-10:#fbdcff;--ogds-color-violet-warm-vivid-20:#f4b2ff;--ogds-color-violet-warm-vivid-30:#ee83ff;--ogds-color-violet-warm-vivid-40:#d85bef;--ogds-color-violet-warm-vivid-50:#be32d0;--ogds-color-violet-warm-vivid-60:#93348c;--ogds-color-violet-warm-vivid-70:#711e6c;--ogds-color-violet-warm-vivid-80:#481441;--ogds-color-violet-5:#f4f1f9;--ogds-color-violet-10:#ebe3f9;--ogds-color-violet-20:#d0c3e9;--ogds-color-violet-30:#b8a2e3;--ogds-color-violet-40:#9d84d2;--ogds-color-violet-50:#8168b3;--ogds-color-violet-60:#665190;--ogds-color-violet-70:#4c3d69;--ogds-color-violet-80:#312b3f;--ogds-color-violet-90:#18161d;--ogds-color-violet-vivid-5:#f7f2ff;--ogds-color-violet-vivid-10:#ede3ff;--ogds-color-violet-vivid-20:#d5bfff;--ogds-color-violet-vivid-30:#c39deb;--ogds-color-violet-vivid-40:#ad79e9;--ogds-color-violet-vivid-50:#9355dc;--ogds-color-violet-vivid-60:#783cb9;--ogds-color-violet-vivid-70:#54278f;--ogds-color-violet-vivid-80:#39215e;--ogds-color-white-transparent-5:#ffffff03;--ogds-color-white-transparent-10:#ffffff1a;--ogds-color-white-transparent-20:#fff3;--ogds-color-white-transparent-30:#ffffff4d;--ogds-color-white-transparent-40:#fff6;--ogds-color-white-transparent-50:#ffffff80;--ogds-color-white-transparent-60:#fff9;--ogds-color-white-transparent-70:#ffffffb3;--ogds-color-white-transparent-80:#fffc;--ogds-color-white-transparent-90:#ffffffe6;--ogds-color-yellow-5:#faf3d1;--ogds-color-yellow-10:#f5e6af;--ogds-color-yellow-20:#e6c74c;--ogds-color-yellow-30:#c9ab48;--ogds-color-yellow-40:#a88f48;--ogds-color-yellow-50:#8a7237;--ogds-color-yellow-60:#6b5a39;--ogds-color-yellow-70:#504332;--ogds-color-yellow-80:#332d27;--ogds-color-yellow-90:#1a1614;--ogds-color-yellow-vivid-5:#fff5c2;--ogds-color-yellow-vivid-10:#fee685;--ogds-color-yellow-vivid-20:#face00;--ogds-color-yellow-vivid-30:#ddaa01;--ogds-color-yellow-vivid-40:#b38c00;--ogds-color-yellow-vivid-50:#947100;--ogds-color-yellow-vivid-60:#776017;--ogds-color-yellow-vivid-70:#5c4809;--ogds-color-yellow-vivid-80:#422d19}`,t=o.css`:root,:host{--ogds-column-gap-0:0px;--ogds-column-gap-1:.5rem;--ogds-column-gap-2:1rem;--ogds-column-gap-3:1.5rem;--ogds-column-gap-4:2rem;--ogds-column-gap-5:2.5rem;--ogds-column-gap-6:3rem;--ogds-column-gap-2px:2px;--ogds-column-gap-05:.25rem;--ogds-grid-base:8px;--ogds-input-width-2xs:5ex;--ogds-input-width-xs:9ex;--ogds-input-width-sm:13ex;--ogds-input-width-md:20ex;--ogds-input-width-lg:30ex;--ogds-input-width-xl:40ex;--ogds-input-width-2xl:50ex;--ogds-spacing-1:.5rem;--ogds-spacing-2:1rem;--ogds-spacing-3:1.5rem;--ogds-spacing-4:2rem;--ogds-spacing-5:2.5rem;--ogds-spacing-6:3rem;--ogds-spacing-7:3.5rem;--ogds-spacing-8:4rem;--ogds-spacing-9:4.5rem;--ogds-spacing-10:5rem;--ogds-spacing-15:7.5rem;--ogds-spacing-105:.75rem;--ogds-spacing-205:1.25rem;--ogds-spacing-05:.25rem;--ogds-spacing-neg-05:-.25rem;--ogds-spacing-neg-1:-.5rem;--ogds-spacing-neg-105:-.75rem;--ogds-spacing-neg-2:-1rem;--ogds-spacing-neg-205:-1.25rem;--ogds-spacing-neg-3:-1.5rem;--ogds-spacing-neg-4:-2rem;--ogds-spacing-neg-5:-2.5rem;--ogds-spacing-neg-6:-3rem;--ogds-spacing-neg-7:-3.5rem;--ogds-spacing-neg-8:-4rem;--ogds-spacing-neg-9:-4.5rem;--ogds-spacing-neg-10:-5rem;--ogds-spacing-neg-15:-7.5rem;--ogds-site-margins-mobile-width:1rem;--ogds-site-margins-width:2rem;--ogds-size-touch-target:3rem}`,v=o.css`:root,:host{--ogds-breakpoint-card:10rem;--ogds-breakpoint-card-lg:15rem;--ogds-breakpoint-mobile:20rem;--ogds-breakpoint-mobile-lg:30rem;--ogds-breakpoint-tablet:40rem;--ogds-breakpoint-tablet-lg:55rem;--ogds-breakpoint-desktop:64rem;--ogds-breakpoint-desktop-lg:75rem;--ogds-breakpoint-widescreen:87.5rem}`,f=o.css`:host{--ogds-banner-background-color:var(--ogds-color-base-lightest,#f0f0f0);--ogds-banner-button-close-background-color:var(--ogds-color-base-lighter,#dfe1e2);--ogds-banner-focus-outline-color:var(--ogds-color-blue-vivid-40,#2491ff);--ogds-banner-font-family:system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif;--ogds-banner-font-size-xs:.75rem;--ogds-banner-font-size-sm:.875rem;--ogds-banner-font-size-base:.94rem;--ogds-banner-icon-gov-color:var(--ogds-color-blue-50,#2378c3);--ogds-banner-icon-https-color:var(--ogds-color-green-vivid-40,#719f2a);--ogds-banner-line-height-sm:1.2;--ogds-banner-line-height-base:1.6;--ogds-banner-link-color:var(--ogds-color-blue-vivid-60,#005ea2);--ogds-banner-link-hover-color:var(--ogds-color-blue-warm-vivid-70,#1a4480);--ogds-banner-max-width:var(--ogds-breakpoint-desktop);--ogds-banner-text-color:var(--ogds-color-base-darkest,#1b1b1b);--ogds-icon-lock:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='52' height='64' viewBox='0 0 52 64' class='usa-banner__lock-image' role='img' aria-labelledby='banner-lock-description-default' focusable='false'%3E%3Ctitle id='banner-lock-title-default'%3ELock%3C/title%3E%3Cdesc id='banner-lock-description-default'%3ELocked padlock icon%3C/desc%3E%3Cpath fill='%23000000' fill-rule='evenodd' d='M26 0c10.493 0 19 8.507 19 19v9h3a4 4 0 0 1 4 4v28a4 4 0 0 1-4 4H4a4 4 0 0 1-4-4V32a4 4 0 0 1 4-4h3v-9C7 8.507 15.507 0 26 0zm0 8c-5.979 0-10.843 4.77-10.996 10.712L15 19v9h22v-9c0-6.075-4.925-11-11-11z'%3E%3C/path%3E%3C/svg%3E\")}*{box-sizing:border-box}section{background-color:var(--ogds-banner-background-color);box-sizing:border-box;font-family:var(--ogds-banner-font-family);font-size:var(--ogds-banner-font-size-xs);text-align:start}section *,section :before,section :after{box-sizing:border-box}@media(min-width:40em){section{font-size:var(--ogds-banner-font-size-xs);padding-block-end:0}}section .usa-accordion{font-family:inherit}section .grid-row{grid-template-columns:repeat(auto-fit,minmax(min(100%,calc(var(--ogds-breakpoint-tablet) / 2)),1fr));display:grid}@media(min-width:40em){section .grid-row{gap:var(--ogds-spacing-2)}}@media(min-width:64em){section .grid-row{gap:calc(var(--ogds-spacing-05) / 2)}}.grid-col-auto{flex:0 auto}.grid-col-fill{flex:1 1 0;width:auto;min-width:1px;max-width:100%}@media(min-width:40em){.tablet\\:grid-col-auto{flex:0 auto;width:auto;max-width:100%}}section .tablet\\:grid-col-6{gap:var(--ogds-spacing-1);flex:none;width:100%}header,.content{color:var(--ogds-banner-text-color)}.content{font-size:var(--ogds-banner-font-size-base);line-height:var(--ogds-banner-line-height-base);max-width:var(--ogds-banner-max-width);padding-block-start:var(--ogds-spacing-05);padding-block-end:var(--ogds-spacing-2);padding-inline:var(--ogds-spacing-1);width:100%;margin-inline:auto;overflow:hidden}@media(min-width:40em){.content{padding-block:var(--ogds-spacing-3)}}@media(min-width:64em){.content{padding-inline:var(--ogds-spacing-4)}}.content p:first-child{margin:0}.inner{max-width:var(--ogds-banner-max-width);flex-wrap:nowrap;align-items:flex-start;margin-inline:auto;padding-inline-start:var(--ogds-spacing-2);padding-inline-end:var(--ogds-spacing-05);display:flex}@media(min-width:40em){.inner{align-items:center}}@media(min-width:64em){.inner{padding-inline:var(--ogds-spacing-4)}}header{font-size:var(--ogds-banner-font-size-xs);min-height:var(--ogds-size-touch-target);padding-block:var(--ogds-spacing-1);font-weight:400;position:relative}@media(min-width:40em){header{min-height:0;padding-block:var(--ogds-spacing-05)}}.header-text{font-size:var(--ogds-banner-font-size-xs);line-height:var(--ogds-banner-line-height-sm);margin-block:0}.header-flag{float:left;width:var(--ogds-spacing-2);margin-inline-end:var(--ogds-spacing-1);padding-block-start:0}.header-action{color:var(--ogds-banner-link-color);cursor:pointer;font:inherit;line-height:var(--ogds-banner-line-height-sm);background:0 0;border:none;margin-block:2px 0;padding:0;text-decoration:underline}.header-action:hover{color:var(--ogds-banner-link-hover-color)}.header-action:after{content:\"\";height:1rem;-webkit-mask-image:var(--ogds-icon-expand-more);mask-image:var(--ogds-icon-expand-more);vertical-align:middle;background-color:currentColor;width:1rem;display:inline-block;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:1rem 1rem;mask-size:1rem 1rem;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.expanded .header-action{display:none}@media(min-width:40em){.header-action{display:none}}@media(forced-colors:active){.header-action{color:linktext}.header-action:after{background-color:buttontext}}header.expanded{padding-inline-end:calc(var(--ogds-size-touch-target) + var(--ogds-spacing-1))}@media(min-width:40em){header.expanded{font-size:var(--ogds-banner-font-size-sm);min-height:0;padding-inline-end:0;font-weight:400;display:block}}header.expanded .inner{margin-inline-start:0}@media(min-width:40em){header.expanded .inner{margin-inline-start:auto}}header.expanded .header-action{display:none}button{color:var(--ogds-banner-link-color);cursor:pointer;font:inherit;font-size:var(--ogds-banner-font-size-xs);height:auto;line-height:var(--ogds-banner-line-height-sm);outline:inherit;background:0 0;border:none;width:auto;padding:0;padding-block-start:0;padding-inline-start:0;text-decoration:none;display:block;position:absolute;top:0;bottom:0;left:0}button:hover{color:var(--ogds-banner-link-hover-color)}@media(max-width:39.99em){button{width:100%}button:enabled:focus{outline-offset:-.25rem}}button:not([disabled]):focus{outline:var(--ogds-spacing-05) solid var(--ogds-banner-focus-outline-color)}@media(min-width:40em){button{margin-inline-start:var(--ogds-spacing-1);display:inline;position:relative;top:auto;bottom:auto;left:auto}button:after{content:\"\";height:1rem;-webkit-mask-image:var(--ogds-icon-expand-more);mask-image:var(--ogds-icon-expand-more);background-color:currentColor;width:1rem;margin-block:0;display:inline-block;position:absolute;top:0;right:-18px;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}button:hover{text-decoration:none}}@media(forced-colors:active){button:after,button:hover:after{background-color:buttontext}}button[aria-expanded=false],button[aria-expanded=false]:hover,button[aria-expanded=true],button[aria-expanded=true]:hover{background-image:none}@media(forced-colors:active){button[aria-expanded=false]:before,button[aria-expanded=false]:hover:before,button[aria-expanded=true]:before,button[aria-expanded=true]:hover:before{content:none}}@media(max-width:39.99em){button[aria-expanded=true]:before{background-color:var(--ogds-banner-button-close-background-color);content:\"\";height:var(--ogds-size-touch-target);width:var(--ogds-size-touch-target);display:block;position:absolute;top:0;bottom:0;right:0}button[aria-expanded=true]:after{background-color:var(--ogds-banner-link-color);content:\"\";height:var(--ogds-size-touch-target);-webkit-mask-image:var(--ogds-icon-close);mask-image:var(--ogds-icon-close);width:var(--ogds-size-touch-target);display:block;position:absolute;top:0;bottom:0;right:0;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:1.5rem 1.5rem;mask-size:1.5rem 1.5rem;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}}@media(min-width:40em){button[aria-expanded=true]{height:auto;padding:0;position:relative}button[aria-expanded=true]:after,button[aria-expanded=true]:hover:after{-webkit-mask-image:var(--ogds-icon-expand-less);mask-image:var(--ogds-icon-expand-less);position:absolute}}@media(forced-colors:active){button[aria-expanded=true]:after,button[aria-expanded=true]:hover:after{background-color:buttontext}}.button-text{text-decoration:underline;position:absolute;left:-999em;right:auto}@media(min-width:40em){.button-text{display:inline;position:static;left:auto;right:auto}}@media(forced-colors:active){.button-text{color:linktext}}.guidance{max-width:62ex;align-items:flex-start;padding-block-start:var(--ogds-spacing-2);display:flex}@media(max-width:39.99em){.guidance{padding-inline-end:.75rem}}@media(min-width:40em){.guidance{padding-block-start:0;padding-inline-end:var(--ogds-spacing-1)}}.icon{width:var(--ogds-spacing-5)}.icon-lock,::slotted(.usa-banner__icon-lock){height:1.5ex;-webkit-mask-image:var(--ogds-icon-lock);mask-image:var(--ogds-icon-lock);background-color:currentColor;background-position:50%;background-repeat:no-repeat;background-size:cover;width:1.21875ex;display:inline-block;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:cover;mask-size:cover;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-gov,.icon-https{padding-inline-start:calc(var(--ogds-spacing-5) + var(--ogds-spacing-1));position:relative}:is(.icon-gov,.icon-https):before{content:\"\";height:var(--ogds-spacing-5);width:var(--ogds-spacing-5);display:inline-block;position:absolute;top:0;left:0;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-gov:before{background-color:var(--ogds-banner-icon-gov-color);-webkit-mask-image:var(--ogds-icon-gov);mask-image:var(--ogds-icon-gov)}.icon-https:before{background-color:var(--ogds-banner-icon-https-color);-webkit-mask-image:var(--ogds-icon-https);mask-image:var(--ogds-icon-https)}`,m="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAsBAMAAAAncaPMAAAAAXNSR0IArs4c6QAAABtQTFRF////4EAg2z8g2z8f2z4f2j4fHjSyHjOxHTOxQEYPwgAAAIdJREFUeNrNkUENxDAMBEOhFJaCKZiCKZhCKBj2ebV3rdR71+pIq+Qxj1GyqjJ3U8VlHkc07hFm0awBYe91juq6MSI0yhSAEgkzJ4TMKiXyzFw3pgR9lmIBJlqj2AmBedf+IycExmlKZVzvZEJ4A0oBrjBl/m6PCy95B3fFAN6YuQPxhbcB4QMkEj04wQXD5wAAAABJRU5ErkJggg==",b="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='64'%20height='64'%20viewBox='0%200%2064%2064'%3e%3ctitle%3eicon-dot-gov%3c/title%3e%3cpath%20fill='%232378C3'%20fill-rule='evenodd'%20d='m32%200c17.7%200%2032%2014.3%2032%2032s-14.3%2032-32%2032-32-14.3-32-32%2014.3-32%2032-32zm0%201.2c-17%200-30.8%2013.8-30.8%2030.8s13.8%2030.8%2030.8%2030.8%2030.8-13.8%2030.8-30.8-13.8-30.8-30.8-30.8zm11.4%2038.9c.5%200%20.9.4.9.8v1.6h-24.6v-1.6c0-.5.4-.8.9-.8zm-17.1-12.3v9.8h1.6v-9.8h3.3v9.8h1.6v-9.8h3.3v9.8h1.6v-9.8h3.3v9.8h.8c.5%200%20.9.4.9.8v.8h-21.4v-.8c0-.5.4-.8.9-.8h.8v-9.8zm5.7-8.2%2012.3%204.9v1.6h-1.6c0%20.5-.4.8-.9.8h-19.6c-.5%200-.9-.4-.9-.8h-1.6v-1.6s12.3-4.9%2012.3-4.9z'/%3e%3c/svg%3e",p="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='64'%20height='64'%20viewBox='0%200%2064%2064'%3e%3ctitle%3eicon-https%3c/title%3e%3cpath%20fill='%23719F2A'%20fill-rule='evenodd'%20d='M32%200c17.673%200%2032%2014.327%2032%2032%200%2017.673-14.327%2032-32%2032C14.327%2064%200%2049.673%200%2032%200%2014.327%2014.327%200%2032%200zm0%201.208C14.994%201.208%201.208%2014.994%201.208%2032S14.994%2062.792%2032%2062.792%2062.792%2049.006%2062.792%2032%2049.006%201.208%2032%201.208zm0%2018.886a7.245%207.245%200%200%201%207.245%207.245v3.103h.52c.86%200%201.557.698%201.557%201.558v9.322c0%20.86-.697%201.558-1.557%201.558h-15.53c-.86%200-1.557-.697-1.557-1.558V32c0-.86.697-1.558%201.557-1.558h.52V27.34A7.245%207.245%200%200%201%2032%2020.094zm0%203.103a4.142%204.142%200%200%200-4.142%204.142v3.103h8.284V27.34A4.142%204.142%200%200%200%2032%2023.197z'/%3e%3c/svg%3e",w="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%3e%3cpath%20d='M19%206.41%2017.59%205%2012%2010.59%206.41%205%205%206.41%2010.59%2012%205%2017.59%206.41%2019%2012%2013.41%2017.59%2019%2019%2017.59%2013.41%2012z'/%3e%3c/svg%3e",h="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%3e%3cpath%20d='M16.59%208.59%2012%2013.17%207.41%208.59%206%2010l6%206%206-6z'/%3e%3c/svg%3e",u="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%3e%3cpath%20d='m12%208-6%206%201.41%201.41L12%2010.83l4.59%204.58L18%2014z'/%3e%3c/svg%3e",s={en:{banner:{label:"Official website of the United States government",text:"An official website of the United States government",action:"Here’s how you know"},domain:{heading:"Official websites use",text1:"A",text2:"website belongs to an official government organization in the United States."},https:{heading1:"Secure",heading2:"websites use HTTPS",text1:"A <strong>lock</strong>",text2:"or <strong>https://</strong> means you’ve safely connected to the",text3:"website. Share sensitive information only on official, secure websites."}},es:{banner:{label:"Un sitio oficial del Gobierno de Estados Unidos",text:"Un sitio oficial del Gobierno de Estados Unidos",action:"Así es como usted puede verificarlo"},domain:{heading:"Los sitios web oficiales usan",text1:"Un sitio web",text2:"pertenece a una organización oficial del Gobierno de Estados Unidos."},https:{heading1:"Los sitios web seguros",heading2:"usan HTTPS",text1:"Un <strong>candado</strong>",text2:"o <strong>https://</strong> significa que usted se conectó de forma segura a un sitio web",text3:"Comparta información sensible sólo en sitios web oficiales y seguros."}}},a=class a extends g.OgdsElement{toggle(){this.isOpen=!this.isOpen;const d=this.shadowRoot?.querySelector(".content");d&&d.toggleAttribute("hidden")}constructor(){super(),this.flagSrc=m,this.lang="en",this.isOpen=!1,this.tld="gov"}get _bannerText(){return s[this.lang]||s.en}get _actionText(){return this.querySelector('[slot="banner-action"]')?.textContent}domainTemplate(d){const{domain:e}=this._bannerText;return o.html`
|
|
2
|
+
<div class="icon-gov">
|
|
3
|
+
<p>
|
|
4
|
+
<strong>
|
|
5
|
+
<slot name="domain-heading"> ${e.heading} .${d} </slot>
|
|
6
|
+
</strong>
|
|
7
|
+
<br />
|
|
8
|
+
<slot name="domain-text">
|
|
9
|
+
${e.text1} <strong>.${d}</strong> ${e.text2}
|
|
10
|
+
</slot>
|
|
11
|
+
</p>
|
|
12
|
+
</div>
|
|
13
|
+
`}lockIcon(){return o.html`
|
|
14
|
+
<span
|
|
15
|
+
class="icon-lock"
|
|
16
|
+
role="img"
|
|
17
|
+
aria-label="Locked padlock icon"
|
|
18
|
+
></span>
|
|
19
|
+
`}httpsTemplate(d){const{https:e}=this._bannerText;return o.html`
|
|
20
|
+
<div class="icon-https">
|
|
21
|
+
<p>
|
|
22
|
+
<strong>
|
|
23
|
+
<slot name="https-heading">
|
|
24
|
+
${e.heading1} .${d} ${e.heading2}
|
|
25
|
+
</slot> </strong
|
|
26
|
+
><br />
|
|
27
|
+
<slot name="https-text">
|
|
28
|
+
${c.unsafeHTML(e.text1)} (${this.lockIcon()})
|
|
29
|
+
${c.unsafeHTML(e.text2)} .${d} ${e.text3}
|
|
30
|
+
</slot>
|
|
31
|
+
</p>
|
|
32
|
+
</div>
|
|
33
|
+
`}render(){const d={expanded:this.isOpen},e=this.tld==="mil"?"mil":"gov",{banner:r}=this._bannerText;return o.html`
|
|
34
|
+
<section aria-label=${this.label||r.label}>
|
|
35
|
+
<div class="usa-accordion">
|
|
36
|
+
<header class="${l.classMap(d)}">
|
|
37
|
+
<div class="inner">
|
|
38
|
+
<div class="grid-col-auto">
|
|
39
|
+
<img
|
|
40
|
+
aria-hidden="true"
|
|
41
|
+
class="header-flag"
|
|
42
|
+
src=${this.flagSrc}
|
|
43
|
+
alt=""
|
|
44
|
+
/>
|
|
45
|
+
</div>
|
|
46
|
+
<div
|
|
47
|
+
class="grid-col-fill tablet:grid-col-auto"
|
|
48
|
+
aria-hidden="true"
|
|
49
|
+
>
|
|
50
|
+
<p class="header-text">
|
|
51
|
+
<slot name="banner-text">${r.text}</slot>
|
|
52
|
+
</p>
|
|
53
|
+
<!--
|
|
54
|
+
Since the header-action text below is underlined, the slot and p
|
|
55
|
+
need to be on the same line to avoid one extra space of underline
|
|
56
|
+
before the expand icon.
|
|
57
|
+
-->
|
|
58
|
+
<!-- prettier-ignore -->
|
|
59
|
+
<p class="header-action"><slot name="banner-action">${r.action}</slot></p>
|
|
60
|
+
</div>
|
|
61
|
+
<button
|
|
62
|
+
type="button"
|
|
63
|
+
class="usa-accordion__button"
|
|
64
|
+
aria-expanded="${this.isOpen}"
|
|
65
|
+
aria-controls="gov-banner-default"
|
|
66
|
+
@click="${this.toggle}"
|
|
67
|
+
>
|
|
68
|
+
<span class="button-text">
|
|
69
|
+
${this._actionText||r.action}
|
|
70
|
+
</span>
|
|
71
|
+
</button>
|
|
72
|
+
</div>
|
|
73
|
+
</header>
|
|
74
|
+
<div class="content usa-accordion__content" hidden>
|
|
75
|
+
<div class="grid-row grid-gap-lg">
|
|
76
|
+
<div class="guidance tablet:grid-col-6">
|
|
77
|
+
${this.domainTemplate(e)}
|
|
78
|
+
</div>
|
|
79
|
+
<div class="guidance tablet:grid-col-6">
|
|
80
|
+
${this.httpsTemplate(e)}
|
|
81
|
+
</div>
|
|
82
|
+
</div>
|
|
83
|
+
</div>
|
|
84
|
+
</div>
|
|
85
|
+
</section>
|
|
86
|
+
`}};a.properties={flagSrc:{type:String},lang:{type:String,reflect:!0},isOpen:{state:!0},label:{type:String},tld:{type:String,reflect:!0}},a.styles=[o.css`
|
|
87
|
+
:host {
|
|
88
|
+
/** Icons */
|
|
89
|
+
--ogds-icon-close: url("${o.unsafeCSS(w)}");
|
|
90
|
+
--ogds-icon-expand-less: url("${o.unsafeCSS(u)}");
|
|
91
|
+
--ogds-icon-expand-more: url("${o.unsafeCSS(h)}");
|
|
92
|
+
--ogds-icon-gov: url("${o.unsafeCSS(b)}");
|
|
93
|
+
--ogds-icon-https: url("${o.unsafeCSS(p)}");
|
|
94
|
+
}
|
|
95
|
+
`,v,n,t,f];let i=a;g.defineCustomElement("usa-banner",i);exports.UsaBanner=i;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usa-banner.cjs","sources":["../../node_modules/@uswds/uswds/dist/img/us_flag_small.png","../../node_modules/@uswds/uswds/dist/img/icon-dot-gov.svg","../../node_modules/@uswds/uswds/dist/img/icon-https.svg","../../src/shared/icons/close.svg","../../src/shared/icons/expand_more.svg","../../src/shared/icons/expand_less.svg","../../src/components/usa-banner/index.ts"],"sourcesContent":["export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAsBAMAAAAncaPMAAAAAXNSR0IArs4c6QAAABtQTFRF////4EAg2z8g2z8f2z4f2j4fHjSyHjOxHTOxQEYPwgAAAIdJREFUeNrNkUENxDAMBEOhFJaCKZiCKZhCKBj2ebV3rdR71+pIq+Qxj1GyqjJ3U8VlHkc07hFm0awBYe91juq6MSI0yhSAEgkzJ4TMKiXyzFw3pgR9lmIBJlqj2AmBedf+IycExmlKZVzvZEJ4A0oBrjBl/m6PCy95B3fFAN6YuQPxhbcB4QMkEj04wQXD5wAAAABJRU5ErkJggg==\"","export default \"data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='64'%20height='64'%20viewBox='0%200%2064%2064'%3e%3ctitle%3eicon-dot-gov%3c/title%3e%3cpath%20fill='%232378C3'%20fill-rule='evenodd'%20d='m32%200c17.7%200%2032%2014.3%2032%2032s-14.3%2032-32%2032-32-14.3-32-32%2014.3-32%2032-32zm0%201.2c-17%200-30.8%2013.8-30.8%2030.8s13.8%2030.8%2030.8%2030.8%2030.8-13.8%2030.8-30.8-13.8-30.8-30.8-30.8zm11.4%2038.9c.5%200%20.9.4.9.8v1.6h-24.6v-1.6c0-.5.4-.8.9-.8zm-17.1-12.3v9.8h1.6v-9.8h3.3v9.8h1.6v-9.8h3.3v9.8h1.6v-9.8h3.3v9.8h.8c.5%200%20.9.4.9.8v.8h-21.4v-.8c0-.5.4-.8.9-.8h.8v-9.8zm5.7-8.2%2012.3%204.9v1.6h-1.6c0%20.5-.4.8-.9.8h-19.6c-.5%200-.9-.4-.9-.8h-1.6v-1.6s12.3-4.9%2012.3-4.9z'/%3e%3c/svg%3e\"","export default \"data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='64'%20height='64'%20viewBox='0%200%2064%2064'%3e%3ctitle%3eicon-https%3c/title%3e%3cpath%20fill='%23719F2A'%20fill-rule='evenodd'%20d='M32%200c17.673%200%2032%2014.327%2032%2032%200%2017.673-14.327%2032-32%2032C14.327%2064%200%2049.673%200%2032%200%2014.327%2014.327%200%2032%200zm0%201.208C14.994%201.208%201.208%2014.994%201.208%2032S14.994%2062.792%2032%2062.792%2062.792%2049.006%2062.792%2032%2049.006%201.208%2032%201.208zm0%2018.886a7.245%207.245%200%200%201%207.245%207.245v3.103h.52c.86%200%201.557.698%201.557%201.558v9.322c0%20.86-.697%201.558-1.557%201.558h-15.53c-.86%200-1.557-.697-1.557-1.558V32c0-.86.697-1.558%201.557-1.558h.52V27.34A7.245%207.245%200%200%201%2032%2020.094zm0%203.103a4.142%204.142%200%200%200-4.142%204.142v3.103h8.284V27.34A4.142%204.142%200%200%200%2032%2023.197z'/%3e%3c/svg%3e\"","export default \"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%3e%3cpath%20d='M19%206.41%2017.59%205%2012%2010.59%206.41%205%205%206.41%2010.59%2012%205%2017.59%206.41%2019%2012%2013.41%2017.59%2019%2019%2017.59%2013.41%2012z'/%3e%3c/svg%3e\"","export default \"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%3e%3cpath%20d='M16.59%208.59%2012%2013.17%207.41%208.59%206%2010l6%206%206-6z'/%3e%3c/svg%3e\"","export default \"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%3e%3cpath%20d='m12%208-6%206%201.41%201.41L12%2010.83l4.59%204.58L18%2014z'/%3e%3c/svg%3e\"","import { html, css, unsafeCSS } from \"lit\";\nimport { OgdsElement } from \"../../core/OgdsElement\";\nimport { unsafeHTML } from \"lit/directives/unsafe-html.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\n\nimport colorTokens from \"@ogds/tokens/styles/css/colors.css\";\nimport spacingTokens from \"@ogds/tokens/styles/css/spacing.css\";\nimport breakpointTokens from \"@ogds/tokens/styles/css/breakpoints.css\";\nimport styles from \"./usa-banner.css\";\n\nimport usFlagSmall from \"@uswds/uswds/img/us_flag_small.png\";\nimport iconDotGov from \"@uswds/uswds/img/icon-dot-gov.svg\";\nimport iconHttps from \"@uswds/uswds/img/icon-https.svg\";\nimport iconClose from \"../../shared/icons/close.svg\";\nimport iconExpandMore from \"../../shared/icons/expand_more.svg\";\nimport iconExpandLess from \"../../shared/icons/expand_less.svg\";\nimport { defineCustomElement } from \"../../utils\";\n\ninterface UsaBannerTranslations {\n banner: {\n label: string;\n text: string;\n action: string;\n };\n domain: {\n heading: string;\n text1: string;\n text2: string;\n };\n https: {\n heading1: string;\n heading2: string;\n text1: string;\n text2: string;\n text3: string;\n };\n}\n\ntype SupportedLanguage = \"en\" | \"es\";\n\nconst USA_BANNER_TRANSLATIONS: Record<\n SupportedLanguage,\n UsaBannerTranslations\n> = {\n en: {\n banner: {\n label: \"Official website of the United States government\",\n text: \"An official website of the United States government\",\n action: \"Here’s how you know\",\n },\n domain: {\n heading: \"Official websites use\",\n text1: \"A\",\n text2:\n \"website belongs to an official government organization in the United States.\",\n },\n https: {\n heading1: \"Secure\",\n heading2: \"websites use HTTPS\",\n text1: \"A <strong>lock</strong>\",\n text2:\n \"or <strong>https://</strong> means you’ve safely connected to the\",\n text3:\n \"website. Share sensitive information only on official, secure websites.\",\n },\n },\n es: {\n banner: {\n label: \"Un sitio oficial del Gobierno de Estados Unidos\",\n text: \"Un sitio oficial del Gobierno de Estados Unidos\",\n action: \"Así es como usted puede verificarlo\",\n },\n domain: {\n heading: \"Los sitios web oficiales usan\",\n text1: \"Un sitio web\",\n text2:\n \"pertenece a una organización oficial del Gobierno de Estados Unidos.\",\n },\n https: {\n heading1: \"Los sitios web seguros\",\n heading2: \"usan HTTPS\",\n text1: \"Un <strong>candado</strong>\",\n text2:\n \"o <strong>https://</strong> significa que usted se conectó de forma segura a un sitio web\",\n text3:\n \"Comparta información sensible sólo en sitios web oficiales y seguros.\",\n },\n },\n};\n\n/**\n * @summary The usa-banner component.\n *\n * @attribute {string} lang - The element's language.\n * @attribute {string} label - The custom aria label users can override.\n * @attribute {string} tld - The top level domain for the site.\n *\n * @cssprop --ogds-banner-background-color - Sets banner background color.\n * @cssprop --ogds-banner-button-close-background-color - Sets the background color for the close control on smaller viewports.\n * @cssprop --ogds-banner-focus-outline-color - Sets banner focus outline color.\n * @cssprop --ogds-banner-font-family - Sets banner font family.\n * @cssprop --ogds-banner-icon-gov-color - Sets the color for the official government domain icon in the expanded state of the banner.\n * @cssprop --ogds-banner-icon-https-color - Sets the color for the https icon in the expanded state of the banner.\n * @cssprop --ogds-banner-link-color - Sets the default link color.\n * @cssprop --ogds-banner-link-hover-color - Sets the default link color.\n * @cssprop --ogds-banner-text-color - Sets the default text color.\n *\n * @slot banner-text - The text for official government website text.\n * @slot banner-action - Action text label \"Here's how you know.\"\n * @slot domain-heading - Heading text for the domain section.\n * @slot domain-text - Body text for domain section.\n * @slot https-heading - Heading for HTTPs section.\n * @slot https-text - Body text for HTTPs section.\n *\n * @element usa-banner\n */\nexport class UsaBanner extends OgdsElement {\n static properties = {\n flagSrc: { type: String },\n lang: { type: String, reflect: true },\n isOpen: { state: true },\n label: { type: String },\n tld: { type: String, reflect: true },\n };\n\n // Property declarations\n flagSrc!: string;\n lang!: \"en\" | \"es\";\n isOpen!: boolean;\n label!: string;\n tld!: \"gov\" | \"mil\";\n\n toggle() {\n this.isOpen = !this.isOpen;\n const contentElement = this.shadowRoot?.querySelector(\".content\");\n if (contentElement) {\n contentElement.toggleAttribute(\"hidden\");\n }\n }\n\n constructor() {\n super();\n this.flagSrc = usFlagSmall;\n this.lang = \"en\";\n this.isOpen = false;\n this.tld = \"gov\";\n }\n\n // Get English or Spanish strings. Default to English if an unknown `lang` is passed.\n // Ex: <usa-banner lang=\"zy\"></usa-banner>\n protected get _bannerText() {\n return USA_BANNER_TRANSLATIONS[this.lang] || USA_BANNER_TRANSLATIONS[\"en\"];\n }\n\n // Get the action text and use for both mobile & desktop buttons.\n protected get _actionText() {\n const bannerActionText = this.querySelector('[slot=\"banner-action\"]');\n\n return bannerActionText?.textContent;\n }\n\n domainTemplate(tld: string) {\n const { domain } = this._bannerText;\n\n return html`\n <div class=\"icon-gov\">\n <p>\n <strong>\n <slot name=\"domain-heading\"> ${domain.heading} .${tld} </slot>\n </strong>\n <br />\n <slot name=\"domain-text\">\n ${domain.text1} <strong>.${tld}</strong> ${domain.text2}\n </slot>\n </p>\n </div>\n `;\n }\n\n lockIcon() {\n return html`\n <span\n class=\"icon-lock\"\n role=\"img\"\n aria-label=\"Locked padlock icon\"\n ></span>\n `;\n }\n\n httpsTemplate(tld: string) {\n const { https } = this._bannerText;\n\n return html`\n <div class=\"icon-https\">\n <p>\n <strong>\n <slot name=\"https-heading\">\n ${https.heading1} .${tld} ${https.heading2}\n </slot> </strong\n ><br />\n <slot name=\"https-text\">\n ${unsafeHTML(https.text1)} (${this.lockIcon()})\n ${unsafeHTML(https.text2)} .${tld} ${https.text3}\n </slot>\n </p>\n </div>\n `;\n }\n\n static styles = [\n css`\n :host {\n /** Icons */\n --ogds-icon-close: url(\"${unsafeCSS(iconClose)}\");\n --ogds-icon-expand-less: url(\"${unsafeCSS(iconExpandLess)}\");\n --ogds-icon-expand-more: url(\"${unsafeCSS(iconExpandMore)}\");\n --ogds-icon-gov: url(\"${unsafeCSS(iconDotGov)}\");\n --ogds-icon-https: url(\"${unsafeCSS(iconHttps)}\");\n }\n `,\n breakpointTokens,\n colorTokens,\n spacingTokens,\n styles,\n ];\n\n render() {\n const classes = { [\"expanded\"]: this.isOpen };\n // ? Is there a better way to fallback to a default value is passed value doesn't match?\n // Example: User passes `tld=\"zzz\"` --> uses \"gov\" domain instead of `zzz`.\n const tld = this.tld === \"mil\" ? \"mil\" : \"gov\";\n const { banner } = this._bannerText;\n\n return html`\n <section aria-label=${this.label || banner.label}>\n <div class=\"usa-accordion\">\n <header class=\"${classMap(classes)}\">\n <div class=\"inner\">\n <div class=\"grid-col-auto\">\n <img\n aria-hidden=\"true\"\n class=\"header-flag\"\n src=${this.flagSrc}\n alt=\"\"\n />\n </div>\n <div\n class=\"grid-col-fill tablet:grid-col-auto\"\n aria-hidden=\"true\"\n >\n <p class=\"header-text\">\n <slot name=\"banner-text\">${banner.text}</slot>\n </p>\n <!-- \n Since the header-action text below is underlined, the slot and p \n need to be on the same line to avoid one extra space of underline \n before the expand icon.\n -->\n <!-- prettier-ignore -->\n <p class=\"header-action\"><slot name=\"banner-action\">${banner.action}</slot></p>\n </div>\n <button\n type=\"button\"\n class=\"usa-accordion__button\"\n aria-expanded=\"${this.isOpen}\"\n aria-controls=\"gov-banner-default\"\n @click=\"${this.toggle}\"\n >\n <span class=\"button-text\">\n ${this._actionText || banner.action}\n </span>\n </button>\n </div>\n </header>\n <div class=\"content usa-accordion__content\" hidden>\n <div class=\"grid-row grid-gap-lg\">\n <div class=\"guidance tablet:grid-col-6\">\n ${this.domainTemplate(tld)}\n </div>\n <div class=\"guidance tablet:grid-col-6\">\n ${this.httpsTemplate(tld)}\n </div>\n </div>\n </div>\n </div>\n </section>\n `;\n }\n}\n\ndefineCustomElement(\"usa-banner\", UsaBanner);\n"],"names":["usFlagSmall","iconDotGov","iconHttps","iconClose","iconExpandMore","iconExpandLess","USA_BANNER_TRANSLATIONS","_UsaBanner","OgdsElement","contentElement","tld","domain","html","https","unsafeHTML","classes","banner","classMap","css","unsafeCSS","breakpointTokens","colorTokens","spacingTokens","styles","UsaBanner","defineCustomElement"],"mappings":"oi3BAAAA,EAAe,iWCAfC,EAAe,2vBCAfC,EAAe,w6BCAfC,EAAe,0SCAfC,EAAe,qNCAfC,EAAe,kNCwCTC,EAGF,CACF,GAAI,CACF,OAAQ,CACN,MAAO,mDACP,KAAM,sDACN,OAAQ,qBAAA,EAEV,OAAQ,CACN,QAAS,wBACT,MAAO,IACP,MACE,8EAAA,EAEJ,MAAO,CACL,SAAU,SACV,SAAU,qBACV,MAAO,0BACP,MACE,oEACF,MACE,yEAAA,CACJ,EAEF,GAAI,CACF,OAAQ,CACN,MAAO,kDACP,KAAM,kDACN,OAAQ,qCAAA,EAEV,OAAQ,CACN,QAAS,gCACT,MAAO,eACP,MACE,sEAAA,EAEJ,MAAO,CACL,SAAU,yBACV,SAAU,aACV,MAAO,8BACP,MACE,4FACF,MACE,uEAAA,CACJ,CAEJ,EA4BaC,EAAN,MAAMA,UAAkBC,EAAAA,WAAY,CAgBzC,QAAS,CACP,KAAK,OAAS,CAAC,KAAK,OACpB,MAAMC,EAAiB,KAAK,YAAY,cAAc,UAAU,EAC5DA,GACFA,EAAe,gBAAgB,QAAQ,CAE3C,CAEA,aAAc,CACZ,MAAA,EACA,KAAK,QAAUT,EACf,KAAK,KAAO,KACZ,KAAK,OAAS,GACd,KAAK,IAAM,KACb,CAIA,IAAc,aAAc,CAC1B,OAAOM,EAAwB,KAAK,IAAI,GAAKA,EAAwB,EACvE,CAGA,IAAc,aAAc,CAG1B,OAFyB,KAAK,cAAc,wBAAwB,GAE3C,WAC3B,CAEA,eAAeI,EAAa,CAC1B,KAAM,CAAE,OAAAC,GAAW,KAAK,YAExB,OAAOC,EAAAA;AAAAA;AAAAA;AAAAA;AAAAA,2CAIgCD,EAAO,OAAO,KAAKD,CAAG;AAAA;AAAA;AAAA;AAAA,cAInDC,EAAO,KAAK,aAAaD,CAAG,aAAaC,EAAO,KAAK;AAAA;AAAA;AAAA;AAAA,KAKjE,CAEA,UAAW,CACT,OAAOC,EAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,KAOT,CAEA,cAAcF,EAAa,CACzB,KAAM,CAAE,MAAAG,GAAU,KAAK,YAEvB,OAAOD,EAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,gBAKKC,EAAM,QAAQ,KAAKH,CAAG,IAAIG,EAAM,QAAQ;AAAA;AAAA;AAAA;AAAA,cAI1CC,EAAAA,WAAWD,EAAM,KAAK,CAAC,KAAK,KAAK,UAAU;AAAA,cAC3CC,EAAAA,WAAWD,EAAM,KAAK,CAAC,KAAKH,CAAG,IAAIG,EAAM,KAAK;AAAA;AAAA;AAAA;AAAA,KAK1D,CAmBA,QAAS,CACP,MAAME,EAAU,CAAG,SAAa,KAAK,MAAA,EAG/BL,EAAM,KAAK,MAAQ,MAAQ,MAAQ,MACnC,CAAE,OAAAM,GAAW,KAAK,YAExB,OAAOJ,EAAAA;AAAAA,4BACiB,KAAK,OAASI,EAAO,KAAK;AAAA;AAAA,2BAE3BC,EAAAA,SAASF,CAAO,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAMpB,KAAK,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,6CASSC,EAAO,IAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sEAQcA,EAAO,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA,iCAKlD,KAAK,MAAM;AAAA;AAAA,0BAElB,KAAK,MAAM;AAAA;AAAA;AAAA,oBAGjB,KAAK,aAAeA,EAAO,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAQnC,KAAK,eAAeN,CAAG,CAAC;AAAA;AAAA;AAAA,kBAGxB,KAAK,cAAcA,CAAG,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAOvC,CACF,EA3KEH,EAAO,WAAa,CAClB,QAAS,CAAE,KAAM,MAAA,EACjB,KAAM,CAAE,KAAM,OAAQ,QAAS,EAAA,EAC/B,OAAQ,CAAE,MAAO,EAAA,EACjB,MAAO,CAAE,KAAM,MAAA,EACf,IAAK,CAAE,KAAM,OAAQ,QAAS,EAAA,CAAK,EAuFrCA,EAAO,OAAS,CACdW,EAAAA;AAAAA;AAAAA;AAAAA,kCAG8BC,EAAAA,UAAUhB,CAAS,CAAC;AAAA,wCACdgB,EAAAA,UAAUd,CAAc,CAAC;AAAA,wCACzBc,EAAAA,UAAUf,CAAc,CAAC;AAAA,gCACjCe,EAAAA,UAAUlB,CAAU,CAAC;AAAA,kCACnBkB,EAAAA,UAAUjB,CAAS,CAAC;AAAA;AAAA,MAGlDkB,EACAC,EACAC,EACAC,CAAA,EA3GG,IAAMC,EAANjB,EA8KPkB,EAAAA,oBAAoB,aAAcD,CAAS","x_google_ignoreList":[0,1,2]}
|