@nysds/components 1.12.0 → 1.13.1
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/README.md +3 -1
- package/custom-elements.json +10506 -0
- package/dist/.vscode/vscode.css-custom-data.json +47 -1
- package/dist/.vscode/vscode.html-custom-data.json +1280 -266
- package/dist/custom-elements.json +2183 -332
- package/dist/nys-stepper/newsletter.html +4 -0
- package/dist/nys-stepper/personal.html +6 -0
- package/dist/nys-stepper/survey.html +5 -0
- package/dist/nys-stepper/team.html +6 -0
- package/dist/nysds.es.js +3325 -1564
- package/dist/nysds.es.js.map +1 -1
- package/dist/nysds.js +280 -164
- package/dist/nysds.js.map +1 -1
- package/dist/packages/mcp-server/src/index.d.ts +8 -0
- package/dist/packages/mcp-server/src/lib/cem-parser.d.ts +95 -0
- package/dist/packages/mcp-server/src/lib/search.d.ts +19 -0
- package/dist/packages/mcp-server/src/lib/token-parser.d.ts +139 -0
- package/dist/packages/mcp-server/src/prompts/nysds-mode.d.ts +7 -0
- package/dist/packages/mcp-server/src/resources/components.d.ts +11 -0
- package/dist/packages/mcp-server/src/resources/guides.d.ts +10 -0
- package/dist/packages/mcp-server/src/resources/index.d.ts +7 -0
- package/dist/packages/mcp-server/src/resources/tokens.d.ts +16 -0
- package/dist/packages/mcp-server/src/server.d.ts +10 -0
- package/dist/packages/mcp-server/src/tools/component-tools.d.ts +13 -0
- package/dist/packages/mcp-server/src/tools/index.d.ts +7 -0
- package/dist/packages/mcp-server/src/tools/token-tools.d.ts +16 -0
- package/dist/packages/mcp-server/src/tools/validation-tools.d.ts +11 -0
- package/dist/packages/nys-accordion/src/nys-accordion.d.ts +37 -3
- package/dist/packages/nys-accordion/src/nys-accordionitem.d.ts +32 -0
- package/dist/packages/nys-alert/src/nys-alert.d.ts +62 -1
- package/dist/packages/nys-avatar/src/nys-avatar.d.ts +44 -0
- package/dist/packages/nys-backtotop/src/nys-backtotop.d.ts +29 -0
- package/dist/packages/nys-badge/src/nys-badge.d.ts +46 -0
- package/dist/packages/nys-button/src/nys-button.d.ts +141 -0
- package/dist/packages/nys-checkbox/src/nys-checkbox.d.ts +65 -1
- package/dist/packages/nys-checkbox/src/nys-checkboxgroup.d.ts +50 -0
- package/dist/packages/nys-datepicker/src/index.d.ts +1 -0
- package/dist/packages/nys-datepicker/src/nys-datepicker.d.ts +116 -0
- package/dist/packages/nys-datepicker/src/nys-datepicker.figma.d.ts +1 -0
- package/dist/packages/nys-divider/src/nys-divider.d.ts +22 -0
- package/dist/packages/nys-errormessage/src/nys-errormessage.d.ts +16 -0
- package/dist/packages/nys-fileinput/src/nys-fileinput.d.ts +59 -0
- package/dist/packages/nys-fileinput/src/nys-fileitem.d.ts +18 -0
- package/dist/packages/nys-globalfooter/src/nys-globalfooter.d.ts +29 -0
- package/dist/packages/nys-globalheader/src/nys-global.logo.d.ts +2 -0
- package/dist/packages/nys-globalheader/src/nys-globalheader.d.ts +32 -5
- package/dist/packages/nys-icon/src/nys-icon.d.ts +33 -0
- package/dist/packages/nys-label/src/nys-label.d.ts +17 -0
- package/dist/packages/nys-modal/src/nys-modal.d.ts +47 -0
- package/dist/packages/nys-pagination/src/nys-pagination.d.ts +33 -0
- package/dist/packages/nys-radiobutton/src/nys-radiobutton.d.ts +52 -3
- package/dist/packages/nys-radiobutton/src/nys-radiogroup.d.ts +55 -1
- package/dist/packages/nys-select/src/nys-option.d.ts +24 -0
- package/dist/packages/nys-select/src/nys-select.d.ts +70 -1
- package/dist/packages/nys-skipnav/src/nys-skipnav.d.ts +26 -0
- package/dist/packages/nys-stepper/src/index.d.ts +2 -0
- package/dist/packages/nys-stepper/src/nys-step.d.ts +37 -0
- package/dist/packages/nys-stepper/src/nys-stepper.d.ts +48 -0
- package/dist/packages/nys-stepper/src/nys-stepper.figma.d.ts +1 -0
- package/dist/packages/nys-table/src/index.d.ts +1 -0
- package/dist/packages/nys-table/src/nys-table.d.ts +39 -0
- package/dist/packages/nys-table/src/nys-table.figma.d.ts +1 -0
- package/dist/packages/nys-textarea/src/nys-textarea.d.ts +72 -1
- package/dist/packages/nys-textinput/src/nys-textinput.d.ts +85 -1
- package/dist/packages/nys-toggle/src/nys-toggle.d.ts +52 -0
- package/dist/packages/nys-tooltip/src/nys-tooltip.d.ts +41 -0
- package/dist/packages/nys-unavfooter/src/nys-unavfooter.d.ts +19 -0
- package/dist/packages/nys-unavheader/src/nys-unavheader.d.ts +38 -2
- package/dist/src/index.d.ts +2 -0
- package/package.json +22 -17
|
@@ -1,22 +1,64 @@
|
|
|
1
1
|
import { LitElement } from "lit";
|
|
2
2
|
import "./nys-fileitem";
|
|
3
|
+
/**
|
|
4
|
+
* A file input for uploading files with support for multiple files, drag-and-drop, and progress tracking.
|
|
5
|
+
* Validates file types via magic bytes (not just extension). Form-associated via ElementInternals.
|
|
6
|
+
*
|
|
7
|
+
* Use for document uploads, image uploads, or any file submission. Enable `dropzone` for drag-and-drop UI.
|
|
8
|
+
*
|
|
9
|
+
* @summary File input with drag-and-drop, validation, and progress tracking.
|
|
10
|
+
* @element nys-fileinput
|
|
11
|
+
*
|
|
12
|
+
* @slot description - Custom HTML description content.
|
|
13
|
+
*
|
|
14
|
+
* @fires nys-change - Fired when files are added or removed. Detail: `{id, files}`.
|
|
15
|
+
*
|
|
16
|
+
* @example Single file upload
|
|
17
|
+
* ```html
|
|
18
|
+
* <nys-fileinput label="Upload document" accept=".pdf,.doc" required></nys-fileinput>
|
|
19
|
+
* ```
|
|
20
|
+
*
|
|
21
|
+
* @example Multiple files with dropzone
|
|
22
|
+
* ```html
|
|
23
|
+
* <nys-fileinput label="Upload images" accept="image/*" multiple dropzone></nys-fileinput>
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
3
26
|
export declare class NysFileinput extends LitElement {
|
|
4
27
|
static styles: import("lit").CSSResult;
|
|
28
|
+
/** Unique identifier. Auto-generated if not provided. */
|
|
5
29
|
id: string;
|
|
30
|
+
/** Name for form submission. */
|
|
6
31
|
name: string;
|
|
32
|
+
/** Visible label text. */
|
|
7
33
|
label: string;
|
|
34
|
+
/** Helper text below label. Use slot for custom HTML. */
|
|
8
35
|
description: string;
|
|
36
|
+
/** Allows selecting multiple files. */
|
|
9
37
|
multiple: boolean;
|
|
38
|
+
/** Form `id` to associate with. */
|
|
10
39
|
form: string | null;
|
|
40
|
+
/** Tooltip text shown on hover/focus of info icon. */
|
|
11
41
|
tooltip: string;
|
|
42
|
+
/** Accepted file types. Use MIME types (`image/*`) or extensions (`.pdf`). Validated via magic bytes. */
|
|
12
43
|
accept: string;
|
|
44
|
+
/** Prevents interaction. */
|
|
13
45
|
disabled: boolean;
|
|
46
|
+
/** Requires at least one file to be uploaded. */
|
|
14
47
|
required: boolean;
|
|
48
|
+
/** Shows "Optional" flag. */
|
|
15
49
|
optional: boolean;
|
|
50
|
+
/** Shows error message when true. */
|
|
16
51
|
showError: boolean;
|
|
52
|
+
/** Error message text. Shown only when `showError` is true. */
|
|
17
53
|
errorMessage: string;
|
|
54
|
+
/** Enables drag-and-drop zone UI. */
|
|
18
55
|
dropzone: boolean;
|
|
56
|
+
/**
|
|
57
|
+
* Component width: `lg` (384px) or `full` (100%, default).
|
|
58
|
+
* @default "full"
|
|
59
|
+
*/
|
|
19
60
|
width: "lg" | "full";
|
|
61
|
+
/** Adjusts colors for dark backgrounds. */
|
|
20
62
|
inverted: boolean;
|
|
21
63
|
private _selectedFiles;
|
|
22
64
|
private _dragActive;
|
|
@@ -25,23 +67,40 @@ export declare class NysFileinput extends LitElement {
|
|
|
25
67
|
private get _buttonAriaDescription();
|
|
26
68
|
private get _innerNysButton();
|
|
27
69
|
private _internals;
|
|
70
|
+
/**
|
|
71
|
+
* Lifecycle methods
|
|
72
|
+
* --------------------------------------------------------------------------
|
|
73
|
+
*/
|
|
28
74
|
static formAssociated: boolean;
|
|
29
75
|
constructor();
|
|
30
76
|
connectedCallback(): void;
|
|
31
77
|
disconnectedCallback(): void;
|
|
32
78
|
firstUpdated(): void;
|
|
79
|
+
/**
|
|
80
|
+
* Form Integration
|
|
81
|
+
* --------------------------------------------------------------------------
|
|
82
|
+
*/
|
|
33
83
|
private _setValue;
|
|
34
84
|
private _manageRequire;
|
|
35
85
|
private _setValidityMessage;
|
|
36
86
|
private _validate;
|
|
37
87
|
checkValidity(): boolean;
|
|
88
|
+
formResetCallback(): void;
|
|
38
89
|
private _handleInvalid;
|
|
90
|
+
/**
|
|
91
|
+
* Functions
|
|
92
|
+
* --------------------------------------------------------------------------
|
|
93
|
+
*/
|
|
39
94
|
private _saveSelectedFiles;
|
|
40
95
|
private _processFile;
|
|
41
96
|
private _dispatchChangeEvent;
|
|
42
97
|
private _openFileDialog;
|
|
43
98
|
private _handlePostFileSelectionFocus;
|
|
44
99
|
private _focusFirstFileItemIfSingleMode;
|
|
100
|
+
/**
|
|
101
|
+
* Event Handlers
|
|
102
|
+
* --------------------------------------------------------------------------
|
|
103
|
+
*/
|
|
45
104
|
private _handleFileChange;
|
|
46
105
|
private _handleFileRemove;
|
|
47
106
|
private _onDragOver;
|
|
@@ -1,9 +1,27 @@
|
|
|
1
1
|
import { LitElement } from "lit";
|
|
2
|
+
/**
|
|
3
|
+
* **Internal component.** Displays an individual file within `nys-fileinput` with status and progress.
|
|
4
|
+
*
|
|
5
|
+
* Rendered automatically by `nys-fileinput` for each selected file. Shows filename, upload status
|
|
6
|
+
* (pending/processing/done/error), progress bar during upload, and error messages. Remove button emits event.
|
|
7
|
+
*
|
|
8
|
+
* @summary Internal file item display with status, progress bar, and remove action.
|
|
9
|
+
* @element nys-fileitem
|
|
10
|
+
*
|
|
11
|
+
* @fires nys-fileRemove - Fired when remove button is clicked. Detail: `{filename}`.
|
|
12
|
+
*/
|
|
2
13
|
export declare class NysFileItem extends LitElement {
|
|
3
14
|
static styles: import("lit").CSSResult;
|
|
15
|
+
/** Name of the file being displayed. */
|
|
4
16
|
filename: string;
|
|
17
|
+
/**
|
|
18
|
+
* Upload status: `pending` (queued), `processing` (uploading), `done` (complete), `error` (failed).
|
|
19
|
+
* @default "pending"
|
|
20
|
+
*/
|
|
5
21
|
status: "pending" | "processing" | "done" | "error";
|
|
22
|
+
/** Upload progress percentage (0-100). Only shown when status is `processing`. */
|
|
6
23
|
progress: number;
|
|
24
|
+
/** Error message displayed when status is `error`. */
|
|
7
25
|
errorMessage: string;
|
|
8
26
|
private _handleRemove;
|
|
9
27
|
private splitFilename;
|
|
@@ -1,10 +1,39 @@
|
|
|
1
1
|
import { LitElement } from "lit";
|
|
2
|
+
/**
|
|
3
|
+
* Agency-branded footer with agency name and slotted content sections. Auto-layouts based on content structure.
|
|
4
|
+
*
|
|
5
|
+
* Place above `nys-unavfooter`. Slot contact info, links, or other content. Use `<h4>` elements
|
|
6
|
+
* to create multi-column layouts; without `<h4>`, renders as compact single section.
|
|
7
|
+
*
|
|
8
|
+
* @summary Agency footer with auto-layout for contact info and link sections.
|
|
9
|
+
* @element nys-globalfooter
|
|
10
|
+
*
|
|
11
|
+
* @slot - Footer content (links, contact info). Use `<h4>` for column headings.
|
|
12
|
+
*
|
|
13
|
+
* @example Simple footer
|
|
14
|
+
* ```html
|
|
15
|
+
* <nys-globalfooter agencyName="Department of Health" homepageLink="/">
|
|
16
|
+
* <span>123 Main St, Albany NY</span>
|
|
17
|
+
* <span>info@health.ny.gov</span>
|
|
18
|
+
* </nys-globalfooter>
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
2
21
|
export declare class NysGlobalFooter extends LitElement {
|
|
3
22
|
static styles: import("lit").CSSResult;
|
|
23
|
+
/** Agency name displayed as the footer heading. */
|
|
4
24
|
agencyName: string;
|
|
25
|
+
/** URL for the agency name link. If empty, name is not clickable. */
|
|
5
26
|
homepageLink: string;
|
|
6
27
|
private slotHasContent;
|
|
28
|
+
/**
|
|
29
|
+
* Lifecycle Methods
|
|
30
|
+
* --------------------------------------------------------------------------
|
|
31
|
+
*/
|
|
7
32
|
firstUpdated(): void;
|
|
33
|
+
/**
|
|
34
|
+
* Functions
|
|
35
|
+
* --------------------------------------------------------------------------
|
|
36
|
+
*/
|
|
8
37
|
private _handleSlotChange;
|
|
9
38
|
render(): import("lit-html").TemplateResult<1>;
|
|
10
39
|
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
declare const nysBrandLogoSvg = "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"91\" height=\"55\" viewBox=\"0 0 91 55\" fill=\"none\">\n <path d=\"M55.1158 7.50499L58.2905 12.6494V7.5189C58.2905 7.5189 58.6487 7.26356 59.5098 7.26356C60.3708 7.26356 60.7378 7.5189 60.7378 7.5189V16.4327C60.7378 16.4327 60.3942 16.689 59.5215 16.689C58.6487 16.689 58.3295 16.4605 58.3295 16.4605L55.1421 11.3171V16.4337C55.1421 16.4337 54.7848 16.69 53.9111 16.69C53.0374 16.69 52.7065 16.4337 52.7065 16.4337V7.51989C52.7065 7.51989 53.0384 7.26456 53.9248 7.26456C54.8112 7.26456 55.1148 7.50697 55.1148 7.50697L55.1158 7.50499Z\" fill=\"#ffffff\"/>\n <path d=\"M67.2209 12.5948H64.9063V14.8709H68.2538C68.2538 14.8709 68.5047 15.1531 68.5047 15.772C68.5047 16.391 68.2538 16.688 68.2538 16.688H62.4589V7.26257H67.9892C67.9892 7.26257 68.2538 7.54572 68.2538 8.17859C68.2538 8.81146 67.9892 9.09362 67.9892 9.09362H64.9063V10.7637H67.2209C67.2209 10.7637 67.4728 11.0598 67.4728 11.6787C67.4728 12.2977 67.2209 12.5948 67.2209 12.5948Z\" fill=\"#ffffff\"/>\n <path d=\"M71.4802 16.4327L68.9791 7.5189C68.9791 7.5189 69.3491 7.26356 70.2101 7.26356C71.0711 7.26356 71.4275 7.5189 71.4275 7.5189L72.6839 12.0434C72.7766 12.3802 72.8166 12.6365 72.8557 12.7845C72.8557 12.7428 72.9221 12.3663 73.0011 12.0573L74.0984 7.5189C74.0984 7.5189 74.5211 7.26356 75.1176 7.26356C75.7141 7.26356 76.084 7.5189 76.084 7.5189L77.3004 12.7845C77.3004 12.6623 77.3795 12.3255 77.4586 12.0573L78.756 7.5189C78.7686 7.5189 79.1132 7.26356 79.9596 7.26356C80.806 7.26356 81.1897 7.5189 81.1897 7.5189L78.6496 16.4327C78.6496 16.4327 78.2922 16.6751 77.4859 16.689C76.5468 16.689 76.2158 16.4327 76.2158 16.4327L75.223 12.2987C75.1449 11.9887 75.0902 11.6529 75.0785 11.5844L74.9184 12.2987L73.9266 16.4327C73.9266 16.4327 73.583 16.689 72.7092 16.689C71.8355 16.689 71.4802 16.4327 71.4802 16.4327Z\" fill=\"#ffffff\"/>\n <path d=\"M54.3485 19.2195L55.4331 21.1579C55.804 21.8176 56.0022 22.5587 56.0285 22.6521C56.0559 22.5587 56.2404 21.8315 56.624 21.1579L57.735 19.2195C57.735 19.2195 58.0659 18.9771 58.8723 18.9771C59.786 18.9771 60.1697 19.2861 60.1697 19.2861L57.2449 24.4295V28.1453C57.2449 28.1453 56.9013 28.4026 56.0276 28.4026C55.1539 28.4026 54.8239 28.1453 54.8239 28.1453V24.3898L51.8991 19.2871C51.8991 19.2871 52.2965 18.9781 53.2082 18.9781C53.9892 18.9781 54.3465 19.2205 54.3465 19.2205L54.3485 19.2195Z\" fill=\"#ffffff\"/>\n <path d=\"M64.6017 28.497C61.4788 28.497 60.117 26.6381 60.117 23.7033C60.117 20.7684 61.4798 18.8827 64.6017 18.8827C67.7237 18.8827 69.0865 20.7674 69.0865 23.7033C69.0865 26.6391 67.711 28.497 64.6017 28.497ZM64.6017 26.6778C65.9235 26.6778 66.6391 25.4667 66.6391 23.7033C66.6391 21.9398 65.9235 20.7138 64.6017 20.7138C63.2799 20.7138 62.5653 21.9398 62.5653 23.7033C62.5653 25.4667 63.2789 26.6778 64.6017 26.6778Z\" fill=\"#ffffff\"/>\n <path d=\"M72.844 28.1463C72.844 28.1463 72.4867 28.4036 71.6129 28.4036C70.7392 28.4036 70.4083 28.1463 70.4083 28.1463V19.3546C70.4083 19.3546 71.4011 18.8837 73.2266 18.8837C75.9913 18.8837 77.275 19.9607 77.275 21.8454C77.275 23.7301 75.8722 24.4563 75.7004 24.4712L77.8432 28.0936C77.5796 28.2675 76.8523 28.4026 76.3623 28.4026C75.7267 28.4026 75.225 28.1741 75.225 28.1741L73.6113 25.3068C73.5175 25.1041 73.3858 24.9561 73.1612 24.9561H72.844V28.1463ZM73.5322 20.7148C73.1349 20.7148 72.844 20.7952 72.844 20.7952V23.138H73.5049C74.4694 23.138 74.8413 22.4514 74.8413 21.9269C74.8413 21.2403 74.3786 20.7148 73.5322 20.7148Z\" fill=\"#ffffff\"/>\n <path d=\"M87.211 28.0787C87.211 28.0787 86.5901 28.4026 85.5836 28.4026C84.7236 28.4026 84.3663 28.1741 84.3663 28.1741L81.2317 23.8384V28.1463C81.2317 28.1463 80.9007 28.4036 80.027 28.4036C79.1533 28.4036 78.797 28.1463 78.797 28.1463V19.2344C78.797 19.2344 79.1533 18.9781 80.027 18.9781C80.9007 18.9781 81.2317 19.2344 81.2317 19.2344V23.4221L84.2618 19.2205C84.2618 19.2205 84.6182 18.9781 85.4782 18.9781C86.4701 18.9781 86.8684 19.3139 86.8684 19.3139L83.9045 23.4221L87.212 28.0797L87.211 28.0787Z\" fill=\"#ffffff\"/>\n <path d=\"M58.9806 31.3374C59.1515 32.1988 58.7014 32.8853 58.1987 33.0602C57.7096 32.7244 56.9296 32.4273 56.1096 32.4273C55.2895 32.4273 54.8122 32.7502 54.8122 33.2082C54.8122 33.6394 55.1958 33.7874 56.214 34.1252L57.4841 34.5415C58.8479 34.9985 59.6933 35.7 59.6933 37.1803C59.6933 38.8911 58.5823 40.2105 55.8831 40.2105C53.9912 40.2105 52.8256 39.5637 52.4029 39.1335C52.2711 38.5007 52.6137 37.7059 53.1057 37.4505C53.5284 37.7744 54.7848 38.3934 56.0676 38.3934C56.8359 38.3934 57.2596 38.1112 57.2596 37.5986C57.2596 37.2359 57.034 37.0064 56.5049 36.8306L54.3758 36.1719C53.2365 35.8073 52.3775 34.9737 52.3775 33.6126C52.3775 31.6732 53.6729 30.5973 56.0676 30.5973C57.5895 30.5973 58.4779 31.0145 58.9806 31.3374Z\" fill=\"#ffffff\"/>\n <path d=\"M60.3542 32.5227C60.3542 32.5227 60.1023 32.2534 60.1023 31.6067C60.1023 30.9599 60.3542 30.6906 60.3542 30.6906H67.5382C67.5382 30.6906 67.7901 30.9738 67.7901 31.6067C67.7901 32.2395 67.5382 32.5227 67.5382 32.5227H65.1562V39.8608C65.1562 39.8608 64.8136 40.1161 63.9525 40.1161C63.0915 40.1161 62.7088 39.8608 62.7088 39.8608V32.5227H60.3542Z\" fill=\"#ffffff\"/>\n <path d=\"M72.7502 30.9341L76.3232 39.8201C76.3232 39.8201 75.9659 40.1171 75.0658 40.1171C74.2321 40.1171 73.9032 39.8747 73.9032 39.8747L73.254 38.3258H69.8538L69.2446 39.8747C69.2446 39.8747 68.901 40.1171 68.081 40.1171C67.1819 40.1171 66.7972 39.8201 66.7972 39.8201L70.3702 30.9341C70.3702 30.9341 70.7002 30.6916 71.5592 30.6916C72.4183 30.6916 72.7502 30.9341 72.7502 30.9341ZM70.5674 36.5216H72.5394L71.8775 34.9051C71.7457 34.5822 71.5729 33.9226 71.5583 33.855C71.5329 33.9226 71.3337 34.5822 71.2156 34.9051L70.5674 36.5216Z\" fill=\"#ffffff\"/>\n <path d=\"M75.5949 32.5227C75.5949 32.5227 75.3431 32.2534 75.3431 31.6067C75.3431 30.9599 75.5949 30.6906 75.5949 30.6906H82.779C82.779 30.6906 83.0298 30.9738 83.0298 31.6067C83.0298 32.2395 82.779 32.5227 82.779 32.5227H80.397V39.8608C80.397 39.8608 80.0543 40.1161 79.1933 40.1161C78.3323 40.1161 77.9496 39.8608 77.9496 39.8608V32.5227H75.5949Z\" fill=\"#ffffff\"/>\n <path d=\"M88.9047 36.0228H86.5891V38.299H89.9356C89.9356 38.299 90.1875 38.5821 90.1875 39.2001C90.1875 39.8181 89.9356 40.1161 89.9356 40.1161H84.1408V30.6897H89.6711C89.6711 30.6897 89.9356 30.9728 89.9356 31.6057C89.9356 32.2385 89.6711 32.5217 89.6711 32.5217H86.5882V34.1908H88.9038C88.9038 34.1908 89.1547 34.4879 89.1547 35.1078C89.1547 35.7278 88.9038 36.0219 88.9038 36.0219L88.9047 36.0228Z\" fill=\"#ffffff\"/>\n <path d=\"M51.7107 54.9999C51.577 54.9999 51.4335 54.974 51.2939 54.8965C51.085 54.7803 50.9395 54.5876 50.8858 54.3551C50.8233 54.0868 50.8936 53.7868 51.082 53.5116L51.1426 53.4202C51.2041 53.3268 51.2685 53.2354 51.3407 53.1519C51.4218 53.0595 51.5047 52.995 51.5741 52.9493C51.5243 52.6691 51.5418 52.4267 51.5682 52.2061C51.5877 52.0233 51.6346 51.8683 51.6726 51.7451C51.6892 51.6925 51.7058 51.6388 51.7185 51.5812C51.8201 51.145 51.8855 50.7397 51.9206 50.3453C51.9528 49.9916 51.947 49.9846 51.8864 49.9061C51.7 49.6707 51.3847 49.5018 51.0498 49.3229C50.8878 49.2365 50.7286 49.1491 50.5754 49.0557C49.607 48.4536 48.6376 47.8505 47.6701 47.2465L47.3294 47.0339C47.2513 46.9862 47.1147 46.9156 46.9516 46.8282C45.8817 46.2659 45.172 45.8526 45.0539 45.2595C45.0363 45.173 44.9465 44.9644 44.884 44.864C44.8411 44.8611 44.7307 44.8521 44.6546 44.8471C44.3032 44.8183 43.7711 44.7726 43.3484 44.3196C43.2635 44.2272 43.1786 44.1408 43.1005 44.0583C42.5098 43.4443 42.0003 42.9148 41.9329 41.5993C41.9241 41.4275 41.9251 41.2506 41.928 41.0728C41.9339 40.5283 41.927 40.1836 41.7103 39.962C41.6078 39.8567 41.435 39.7862 41.2349 39.7037C40.9889 39.6034 40.7097 39.4881 40.45 39.2686C40.37 39.2 40.2792 39.1007 40.1776 38.9854C40.0712 38.8602 39.9082 38.6724 39.7969 38.6337C38.974 38.3436 37.986 38.3178 36.96 38.3178L3.07245 38.2909C2.85964 38.2909 2.66927 38.3138 2.48477 38.3347C2.07378 38.3823 1.60812 38.437 1.2313 38.0962C0.866192 37.7664 0.815429 37.2607 0.814452 36.8076L0.8125 34.3993C0.8125 34.2722 0.847644 34.147 0.913051 34.0387C1.22544 33.529 1.83265 33.2558 2.3686 33.0144C2.56872 32.924 2.77666 32.8316 2.88795 32.7571C3.17593 32.5623 3.43561 32.302 3.7109 32.0248C3.91688 31.8182 4.13068 31.6046 4.36887 31.4059C4.69786 31.1317 5.07078 30.931 5.43296 30.7372C5.74535 30.5703 6.03821 30.4124 6.24127 30.2395C6.38575 30.1173 6.49216 29.9146 6.61906 29.6792C6.75476 29.4238 6.90998 29.1337 7.15208 28.8804C7.41273 28.6081 7.7427 28.4194 8.03263 28.2535C8.69744 27.871 8.68182 27.8322 8.57736 27.5769C8.52855 27.4577 8.48072 27.3553 8.43972 27.2639C8.24447 26.8357 8.07754 26.4681 8.19078 25.7051C8.2025 25.6306 8.21616 25.5521 8.22983 25.4706C8.25619 25.3325 8.30305 25.0772 8.27571 25.0037C8.27571 25.0037 8.26204 24.9927 8.23471 24.9778C8.21128 24.9659 8.12928 24.9669 8.06875 24.9679C7.87448 24.9659 7.51914 24.9768 7.2497 24.6689C6.98124 24.3629 6.99686 23.9555 7.03982 23.6356C7.08179 23.3127 7.06032 23.1051 7.03982 22.9223C6.95684 22.1453 7.21358 21.7817 8.10097 21.424C10.7524 20.351 12.901 19.9884 14.8613 20.2805C14.9775 20.2974 15.1356 20.2656 15.3182 20.2269C15.5944 20.1702 15.9351 20.1017 16.312 20.1752L18.3952 20.5766C19.2475 20.7415 19.6653 20.9054 20.3047 21.4995C20.6327 21.8046 20.7655 21.7718 21.3327 21.5661C21.6168 21.4638 21.9399 21.3485 22.3323 21.2949C22.9727 21.2084 23.5731 21.2661 24.153 21.3227C24.4136 21.3475 24.6762 21.3734 24.9408 21.3843C25.2356 21.3952 25.6085 21.2561 25.9717 21.121C26.1318 21.0614 26.2889 21.0028 26.4412 20.9541C26.78 20.8468 27.0973 20.7991 27.4038 20.7514C27.5551 20.7266 27.7064 20.7037 27.8607 20.6729C27.8714 20.6531 27.8821 20.6332 27.8939 20.6113C27.9417 20.5249 27.9944 20.4345 28.0598 20.3411C28.3419 19.9497 28.7471 19.7003 29.0722 19.4966L29.2078 19.4122C29.5564 19.1916 29.8629 18.9879 30.105 18.7386C30.5423 18.2796 31.1232 18.3114 31.5108 18.3312C31.6455 18.3392 31.8495 18.3481 31.91 18.3223C32.1678 18.207 31.9413 17.3993 31.8065 16.9165C31.7119 16.5777 31.6299 16.2846 31.6133 16.0183C31.5664 15.2642 31.9764 14.7317 32.3064 14.3045C32.5651 13.9687 32.7213 13.7481 32.7164 13.5355C32.7164 13.4948 32.7027 13.4382 32.6851 13.3845C32.4587 13.4948 32.0955 13.6369 31.6796 13.4421C31.0129 13.1302 30.6468 12.0264 30.8508 11.3985C31.0197 10.8779 31.54 10.5421 31.9198 10.2957L32.0565 10.2053C32.3806 9.98471 32.7242 9.79792 33.0542 9.6181C33.5159 9.36873 33.9513 9.13227 34.2949 8.82726C34.4404 8.69711 34.5761 8.56994 34.7089 8.44376C35.0076 8.1626 35.3161 7.8715 35.6792 7.61319C35.7056 7.5188 35.728 7.34096 35.7437 7.22571C35.7729 7.00714 35.8022 6.78062 35.8803 6.5849C36.2513 5.64304 37.1592 4.90884 37.9597 4.25908C38.2252 4.04448 38.4771 3.84081 38.6743 3.65602C38.7992 3.53878 38.9222 3.42055 39.0452 3.30332C39.6388 2.73701 40.2509 2.15084 40.9967 1.68289C41.601 1.30536 42.3898 0.833439 43.1249 0.552274C44.0972 0.1807 44.5579 0.208518 45.4766 0.262168L45.6474 0.27111C47.3607 0.371455 49.1384 0.32476 50.8575 0.281045C51.7205 0.258194 52.5796 0.235343 53.4347 0.230376C53.6651 0.230376 54.0156 0.185667 54.3836 0.138972C55.6078 -0.0140291 56.994 -0.188888 57.7818 0.503592C58.1118 0.792705 58.2924 1.19806 58.3031 1.67594C58.311 2.05248 58.1567 2.33464 58.0435 2.54129C58.0064 2.60686 57.9527 2.7082 57.9458 2.74297C57.9488 2.73205 57.9849 2.78768 58.0103 2.82742C58.1362 3.01718 58.3686 3.37088 58.2748 3.89843C58.2397 4.10111 58.1811 4.3167 58.1216 4.53528C58.0464 4.81147 57.9693 5.09761 57.9624 5.31419C57.9498 5.69073 57.6335 5.99376 57.2703 5.97289C56.9013 5.95998 56.6104 5.64603 56.6231 5.26849C56.6367 4.89195 56.7392 4.50944 56.831 4.17264C56.8788 3.9948 56.9276 3.82094 56.9569 3.65502C56.9481 3.65502 56.9218 3.62323 56.8993 3.58746C56.791 3.42254 56.6065 3.14535 56.6065 2.73701C56.6065 2.36345 56.7607 2.08328 56.873 1.87862C56.9072 1.81702 56.9589 1.72462 56.9657 1.69084C56.9608 1.58354 56.9267 1.55274 56.9072 1.53685C56.5694 1.23979 55.2544 1.40372 54.5496 1.49313C54.1386 1.5438 53.752 1.59348 53.4435 1.59547C52.5971 1.60043 51.7439 1.62229 50.8907 1.64315C49.1442 1.68886 47.3382 1.73654 45.5722 1.63421L45.3985 1.62328C44.5345 1.57162 44.3022 1.55871 43.5964 1.82894C42.9618 2.07235 42.2101 2.5244 41.7006 2.84431C41.0699 3.23973 40.533 3.75338 39.9648 4.29683C39.8379 4.41804 39.712 4.53925 39.5831 4.65947C39.3479 4.87804 39.0794 5.09661 38.7953 5.32611C38.1237 5.87056 37.3642 6.48555 37.1231 7.09457C37.1065 7.14425 37.085 7.30221 37.0713 7.40753C37.0147 7.84666 36.9424 8.3931 36.5041 8.69016C36.1927 8.90277 35.9145 9.16704 35.6187 9.44523C35.4771 9.57935 35.3317 9.71546 35.1774 9.85257C34.7186 10.2629 34.1924 10.548 33.6838 10.8222C33.3675 10.9931 33.0698 11.1541 32.8033 11.3369C32.7554 11.3707 32.6978 11.4064 32.6373 11.4462C32.5114 11.5276 32.2332 11.7065 32.1346 11.8217C32.1424 11.8992 32.1726 12.0115 32.2117 12.1009C32.3757 12.0214 32.6041 11.924 32.8804 11.9459C33.6633 12.0135 34.0401 12.8937 34.0558 13.4988C34.0743 14.2191 33.677 14.7337 33.3587 15.145C33.0971 15.4868 32.9351 15.7074 32.9487 15.9319C32.9565 16.0511 33.0288 16.3114 33.0932 16.5419C33.3314 17.3933 33.7746 18.978 32.4479 19.5701C32.0965 19.7281 31.7314 19.7082 31.4375 19.6933C31.3126 19.6864 31.1046 19.6764 31.047 19.7023C30.7171 20.051 30.3227 20.3113 29.9166 20.5706L29.7692 20.663C29.5212 20.816 29.2654 20.976 29.1405 21.1488C29.1083 21.1935 29.0819 21.2412 29.0585 21.2859C28.9345 21.5085 28.7256 21.884 28.174 21.9993C27.9827 22.04 27.7943 22.0708 27.6059 22.0996C27.3364 22.1414 27.0807 22.1811 26.8386 22.2566C26.7087 22.2993 26.5711 22.35 26.4334 22.4017C25.9697 22.5745 25.4435 22.7732 24.8871 22.7474C24.5981 22.7355 24.3131 22.7087 24.027 22.6808C23.4989 22.6282 22.9981 22.5805 22.511 22.6481C22.2572 22.6828 22.0258 22.7653 21.7817 22.8537C21.1716 23.0733 20.3369 23.3733 19.4046 22.508C18.9927 22.1265 18.8267 22.049 18.1473 21.9178L16.065 21.5164C15.942 21.4936 15.775 21.5264 15.5818 21.5651C15.3289 21.6168 15.0136 21.6784 14.6719 21.6297C12.9508 21.3724 11.0218 21.7112 8.59689 22.6928C8.49829 22.7325 8.42703 22.7643 8.37431 22.7891C8.39579 22.9779 8.42312 23.2491 8.39091 23.6217C8.53343 23.6416 8.69353 23.6843 8.86047 23.7737C9.81228 24.2834 9.63461 25.256 9.5487 25.724C9.53601 25.7876 9.52528 25.8511 9.51551 25.9127C9.4628 26.2694 9.49501 26.3429 9.65511 26.6917C9.70392 26.798 9.75664 26.9162 9.81326 27.0543C10.3941 28.4681 9.28415 29.1039 8.68865 29.4447C8.46705 29.5719 8.23764 29.701 8.11268 29.8331C7.99944 29.9524 7.89987 30.1372 7.79541 30.3329C7.62945 30.6448 7.44104 30.9975 7.10522 31.2847C6.79088 31.5529 6.41894 31.7536 6.05871 31.9454C5.74144 32.1153 5.44077 32.2762 5.21623 32.464C5.02782 32.6219 4.84527 32.8048 4.65295 32.9985C4.34252 33.3085 4.02524 33.6294 3.62499 33.8976C3.41901 34.0347 3.17203 34.147 2.9104 34.2652C2.69661 34.3606 2.33443 34.5225 2.14992 34.6626L2.15383 36.8096C2.15383 36.8881 2.15578 36.9527 2.15871 37.0023C2.21533 36.9974 2.27586 36.9904 2.32662 36.9835C2.5287 36.9606 2.77959 36.9308 3.06952 36.9308L36.9581 36.9566C38.0573 36.9566 39.2141 36.9884 40.2304 37.3471C40.6755 37.5021 40.9801 37.8538 41.1812 38.0853C41.2281 38.1399 41.2681 38.1896 41.3052 38.2234C41.4018 38.3048 41.5551 38.3674 41.7328 38.441C42.0129 38.5562 42.3615 38.7003 42.6572 39.0043C43.2811 39.6411 43.2713 40.4469 43.2645 41.0927C43.2606 41.2417 43.2606 41.3897 43.2664 41.5328C43.3084 42.3326 43.5261 42.5581 44.0532 43.1055C44.1372 43.1929 44.2251 43.2853 44.3188 43.3847C44.3842 43.4542 44.5287 43.4701 44.761 43.491C45.0412 43.5138 45.3897 43.5417 45.6953 43.7751C46.0291 44.0275 46.2546 44.5888 46.3376 44.8809C46.5455 45.0846 47.2777 45.4711 47.5647 45.6211C47.7639 45.7264 47.9298 45.8158 48.0265 45.8754L48.3672 46.088C49.3346 46.6891 50.3011 47.2922 51.2705 47.8943C51.3993 47.9727 51.533 48.0463 51.6707 48.1188C52.0924 48.3443 52.5698 48.6006 52.9291 49.0567C53.3215 49.5544 53.2942 50.0045 53.259 50.4029C53.3156 50.2936 53.3781 50.1893 53.4513 50.0879C53.5841 49.8982 53.7393 49.7541 53.877 49.626C54.0136 49.4998 54.1073 49.4104 54.1396 49.3388C54.1132 49.2772 54.0527 49.1739 54.0117 49.1034C53.8487 48.8232 53.6271 48.4387 53.7315 47.9857C53.7725 47.8108 53.8789 47.6588 54.0283 47.5634C54.0849 47.5276 54.205 47.4591 54.3631 47.3717C54.5818 47.2495 55.1373 46.9405 55.475 46.71C54.9723 45.5913 55.1392 44.2163 55.2886 42.9843C55.3345 42.6038 55.3784 42.2451 55.3989 41.9222C55.4204 41.5467 55.7337 41.2606 56.1076 41.2834C56.4776 41.3063 56.7588 41.6301 56.7353 42.0057C56.7148 42.3693 56.667 42.7498 56.6182 43.1522C56.4776 44.3166 56.3165 45.637 56.833 46.3911C56.954 46.5669 56.994 46.7895 56.9452 47.0021C56.8417 47.4502 56.3898 47.7879 55.1958 48.4606C55.352 48.7308 55.5395 49.0904 55.4731 49.5167C55.4623 49.5812 55.4487 49.6428 55.4321 49.7015C55.766 49.5793 56.1154 49.464 56.4845 49.3577C57.8775 48.9543 59.3409 48.7745 61.225 48.7745C62.0587 48.7745 62.8006 48.5053 63.5874 48.2211C64.2103 47.9946 64.8546 47.7621 65.576 47.6508C66.1852 47.5555 66.5005 47.7562 66.7728 47.9688C66.8636 48.0403 66.93 48.09 67.0442 48.1357C67.3625 48.2619 67.7325 48.2211 68.1601 48.1754C68.5925 48.1277 69.0836 48.0731 69.5844 48.2042C69.8821 48.2837 70.09 48.5579 70.0861 48.8709C70.0744 50.0571 68.5076 50.5459 67.7549 50.7814L67.0384 51.0099C66.4985 51.1848 65.9567 51.3586 65.41 51.5176C65.1631 51.5881 64.918 51.6587 64.672 51.7223C64.3889 51.7948 64.099 51.9597 63.7944 52.1316C63.481 52.3094 63.1579 52.4922 62.786 52.6174C62.1426 52.83 61.4837 52.9413 60.6471 52.9761C60.4069 52.987 60.1746 53.0943 59.9295 53.2056C59.5674 53.3735 59.1154 53.5801 58.6107 53.4132C58.3949 53.3864 57.5534 53.6775 57.1502 53.8196C56.832 53.9289 56.5577 54.0242 56.3419 54.0759C55.598 54.2528 54.8415 54.3918 54.1103 54.527L53.5968 54.6223C53.1516 54.7058 52.7035 54.7922 52.2613 54.8926L52.2076 54.9085C52.0797 54.9482 51.9021 55.0038 51.7078 55.0038L51.7107 54.9999ZM53.0735 51.6746C53.0569 51.7471 53.0403 51.8196 53.0237 51.8941C53.0032 51.9806 52.9788 52.064 52.9544 52.1455C52.9281 52.2359 52.9066 52.3055 52.8988 52.3651C52.8793 52.5379 52.8773 52.6313 52.8978 52.7247C52.9495 52.9791 52.9388 53.1907 52.8949 53.3645C53.0482 53.3347 53.2024 53.3049 53.3566 53.2751L53.875 53.1808C54.5896 53.0486 55.3296 52.9125 56.0412 52.7436C56.1906 52.7078 56.4483 52.6194 56.7217 52.525C57.7721 52.1604 58.4994 51.9359 59.0295 52.1127C59.0646 52.1058 59.2559 52.0173 59.3828 51.9597C59.7001 51.8137 60.0945 51.6328 60.5924 51.611C61.3021 51.5812 61.8498 51.4908 62.372 51.3169C62.622 51.2345 62.8748 51.0914 63.1442 50.9374C63.5123 50.7298 63.892 50.5142 64.3469 50.3969C64.5793 50.3373 64.8136 50.2707 65.0459 50.2042C65.5789 50.0482 66.11 49.8773 66.6362 49.7064L67.1253 49.5514C66.9388 49.5246 66.7504 49.4779 66.56 49.4014C66.2672 49.2862 66.0836 49.1411 65.9616 49.0457C65.9313 49.0229 65.906 48.999 65.8757 48.9812C65.8737 48.9851 65.8405 48.9851 65.7781 48.9941C65.1845 49.0855 64.6281 49.2862 64.0394 49.4998C63.1794 49.8107 62.293 50.1326 61.2279 50.1326C59.4717 50.1326 58.1235 50.2966 56.8535 50.6642C55.7142 50.992 54.7868 51.3984 54.0166 51.9031C53.7901 52.0521 53.5001 52.0481 53.2776 51.8951C53.1917 51.8365 53.1214 51.76 53.0735 51.6716V51.6746Z\" fill=\"#ffffff\"/>\n <path d=\"M67.6348 51.8019C67.6348 51.8019 67.6173 51.782 67.6173 51.7303C67.6173 51.6787 67.6348 51.6588 67.6348 51.6588H68.5564C68.5564 51.6588 68.5749 51.6806 68.5749 51.7303C68.5749 51.78 68.5564 51.8019 68.5564 51.8019H68.1932V52.9205C68.1932 52.9205 68.1659 52.9404 68.0976 52.9404C68.0292 52.9404 67.998 52.9205 67.998 52.9205V51.8019H67.6348Z\" fill=\"#ffffff\"/>\n <path d=\"M69.4282 52.8659C69.4135 52.8748 69.3891 52.8858 69.3471 52.8858C69.3178 52.8858 69.2837 52.8798 69.27 52.8659L68.9889 52.1476C68.9723 52.1088 68.9459 52.0323 68.944 52.0214C68.944 52.0264 68.9371 52.1277 68.9332 52.1565L68.8815 52.9205C68.8815 52.9205 68.8561 52.9404 68.7858 52.9404C68.7155 52.9404 68.6862 52.9205 68.6862 52.9205L68.7839 51.6787C68.7839 51.6787 68.8112 51.6588 68.8776 51.6588C68.9518 51.6588 68.9781 51.6787 68.9781 51.6787L69.3042 52.5162L69.3471 52.6533C69.3481 52.6473 69.3774 52.5559 69.392 52.5162L69.7181 51.6787C69.7181 51.6787 69.7464 51.6588 69.8206 51.6588C69.886 51.6588 69.9124 51.6787 69.9124 51.6787L70.01 52.9205C70.01 52.9205 69.9807 52.9404 69.9104 52.9404C69.8401 52.9404 69.8167 52.9205 69.8167 52.9205L69.763 52.1546L69.7523 52.0194C69.7523 52.0194 69.722 52.1148 69.7093 52.1456L69.4282 52.8659Z\" fill=\"#ffffff\"/>\n</svg>";
|
|
2
|
+
export default nysBrandLogoSvg;
|
|
@@ -1,18 +1,45 @@
|
|
|
1
1
|
import { LitElement } from "lit";
|
|
2
|
+
/**
|
|
3
|
+
* Agency-branded header with app/agency name, navigation, and responsive mobile menu.
|
|
4
|
+
*
|
|
5
|
+
* Place below `nys-unavheader`. Slot navigation links as `<ul><li><a>` elements; active links
|
|
6
|
+
* are auto-highlighted based on current URL. Mobile menu toggles automatically on narrow screens.
|
|
7
|
+
*
|
|
8
|
+
* @summary Agency header with navigation, mobile menu, and active link highlighting.
|
|
9
|
+
* @element nys-globalheader
|
|
10
|
+
*
|
|
11
|
+
* @slot - Navigation content (typically `<ul>` with `<li><a>` links). Auto-sanitized.
|
|
12
|
+
*
|
|
13
|
+
* @example Basic header
|
|
14
|
+
* ```html
|
|
15
|
+
* <nys-globalheader appName="My App" agencyName="Department of Health" homepageLink="/">
|
|
16
|
+
* <ul><li><a href="/about">About</a></li><li><a href="/contact">Contact</a></li></ul>
|
|
17
|
+
* </nys-globalheader>
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
2
20
|
export declare class NysGlobalHeader extends LitElement {
|
|
3
21
|
static styles: import("lit").CSSResult;
|
|
22
|
+
/** Application name displayed prominently. */
|
|
4
23
|
appName: string;
|
|
24
|
+
/** Agency name displayed below app name (or as main title if no appName). */
|
|
5
25
|
agencyName: string;
|
|
26
|
+
/** URL for the header title link. If empty, title is not clickable. */
|
|
6
27
|
homepageLink: string;
|
|
7
|
-
private slotHasContent;
|
|
8
28
|
private isMobileMenuOpen;
|
|
29
|
+
private hasLinkContent;
|
|
30
|
+
/**
|
|
31
|
+
* Lifecycle Methods
|
|
32
|
+
* --------------------------------------------------------------------------
|
|
33
|
+
*/
|
|
9
34
|
firstUpdated(): void;
|
|
10
|
-
private _handleSlotChange;
|
|
11
|
-
private _normalizePath;
|
|
12
|
-
private _toggleMobileMenu;
|
|
13
35
|
/**
|
|
14
|
-
*
|
|
36
|
+
* Functions
|
|
37
|
+
* --------------------------------------------------------------------------
|
|
15
38
|
*/
|
|
39
|
+
private _highlightActiveLink;
|
|
40
|
+
private _handleListSlotChange;
|
|
41
|
+
private _normalizePath;
|
|
42
|
+
private _toggleMobileMenu;
|
|
16
43
|
private _listenLinkClicks;
|
|
17
44
|
render(): import("lit-html").TemplateResult<1>;
|
|
18
45
|
}
|
|
@@ -1,12 +1,45 @@
|
|
|
1
1
|
import { LitElement } from "lit";
|
|
2
|
+
/**
|
|
3
|
+
* Renders SVG icons from the NYSDS icon library (Material Symbols). Decorative by default (`aria-hidden`).
|
|
4
|
+
*
|
|
5
|
+
* Pass `name` to select an icon from the library. Use `ariaLabel` to make the icon accessible
|
|
6
|
+
* (removes `aria-hidden`). Supports size presets, rotation, flipping, and custom colors.
|
|
7
|
+
*
|
|
8
|
+
* @summary SVG icon from Material Symbols library with size, rotation, and color options.
|
|
9
|
+
* @element nys-icon
|
|
10
|
+
*
|
|
11
|
+
* @example Basic icon
|
|
12
|
+
* ```html
|
|
13
|
+
* <nys-icon name="check_circle" size="lg"></nys-icon>
|
|
14
|
+
* ```
|
|
15
|
+
*
|
|
16
|
+
* @example Accessible icon with label
|
|
17
|
+
* ```html
|
|
18
|
+
* <nys-icon name="warning" ariaLabel="Warning" color="var(--nys-color-warning)"></nys-icon>
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
2
21
|
export declare class NysIcon extends LitElement {
|
|
3
22
|
static styles: import("lit").CSSResult;
|
|
23
|
+
/** Icon name from Material Symbols library. Required. */
|
|
4
24
|
name: string;
|
|
25
|
+
/** Accessible label. When set, removes `aria-hidden` and adds `aria-label` to the SVG. */
|
|
5
26
|
ariaLabel: string;
|
|
27
|
+
/** Rotation in degrees. Applied via CSS `rotate`. */
|
|
6
28
|
rotate: string;
|
|
29
|
+
/** Flip direction: `horizontal`, `vertical`, or empty for none. */
|
|
7
30
|
flip: string;
|
|
31
|
+
/** Icon color. Accepts any CSS color value. Defaults to `currentcolor`. */
|
|
8
32
|
color: string;
|
|
33
|
+
/**
|
|
34
|
+
* Icon size. Semantic sizes: `xs`-`5xl`. Pixel sizes: `12`-`50`.
|
|
35
|
+
* @default "md"
|
|
36
|
+
*/
|
|
9
37
|
size: "xs" | "sm" | "md" | "lg" | "xl" | "2xl" | "3xl" | "4xl" | "5xl" | "12" | "14" | "16" | "18" | "20" | "24" | "32" | "40" | "50";
|
|
38
|
+
/**
|
|
39
|
+
* Retrieves the SVG element for the given icon name and applies
|
|
40
|
+
* accessibility, rotation, flip, color, and size classes.
|
|
41
|
+
* @returns SVGElement | null
|
|
42
|
+
*/
|
|
10
43
|
private getIcon;
|
|
11
44
|
render(): import("lit-html").TemplateResult<1> | null;
|
|
12
45
|
}
|
|
@@ -1,11 +1,28 @@
|
|
|
1
1
|
import { LitElement } from "lit";
|
|
2
|
+
/**
|
|
3
|
+
* **Internal component.** Renders form labels with description, required/optional flag, and tooltip.
|
|
4
|
+
*
|
|
5
|
+
* Used internally by form components (textinput, select, checkbox, etc.). Not intended for direct use.
|
|
6
|
+
* Handles label association via `for`, displays asterisk for required fields, and integrates tooltips.
|
|
7
|
+
*
|
|
8
|
+
* @summary Internal label component for form fields with flag and tooltip support.
|
|
9
|
+
* @element nys-label
|
|
10
|
+
*
|
|
11
|
+
* @slot description - Custom HTML description content below the label.
|
|
12
|
+
*/
|
|
2
13
|
export declare class NysLabel extends LitElement {
|
|
3
14
|
static styles: import("lit").CSSResult;
|
|
15
|
+
/** ID of the form element this label is associated with. */
|
|
4
16
|
for: string;
|
|
17
|
+
/** Label text displayed above the form field. */
|
|
5
18
|
label: string;
|
|
19
|
+
/** Helper text displayed below the label. */
|
|
6
20
|
description: string;
|
|
21
|
+
/** Flag type: `required` shows asterisk, `optional` shows "(Optional)". */
|
|
7
22
|
flag: string;
|
|
23
|
+
/** Adjusts colors for dark backgrounds. */
|
|
8
24
|
inverted: boolean;
|
|
25
|
+
/** Tooltip text shown on hover/focus of info icon next to label. */
|
|
9
26
|
get tooltip(): string;
|
|
10
27
|
set tooltip(value: string);
|
|
11
28
|
private _tooltip;
|
|
@@ -1,21 +1,64 @@
|
|
|
1
1
|
import { LitElement } from "lit";
|
|
2
|
+
/**
|
|
3
|
+
* An accessible modal dialog with focus trapping, keyboard navigation, and scroll management.
|
|
4
|
+
*
|
|
5
|
+
* Set `open` to show the modal. Content goes in the default slot; action buttons in the `actions` slot.
|
|
6
|
+
* Dismisses via close button or Escape key unless `mandatory` is set. Focus returns to trigger on close.
|
|
7
|
+
*
|
|
8
|
+
* @summary Accessible modal dialog with focus trap, keyboard support, and action slots.
|
|
9
|
+
* @element nys-modal
|
|
10
|
+
*
|
|
11
|
+
* @slot - Default slot for body content.
|
|
12
|
+
* @slot actions - Action buttons displayed in footer. Buttons auto-resize on mobile.
|
|
13
|
+
*
|
|
14
|
+
* @fires nys-open - Fired when modal opens. Detail: `{id}`.
|
|
15
|
+
* @fires nys-close - Fired when modal closes. Detail: `{id}`.
|
|
16
|
+
*
|
|
17
|
+
* @example Basic modal
|
|
18
|
+
* ```html
|
|
19
|
+
* <nys-modal id="confirm-modal" heading="Confirm action" open>
|
|
20
|
+
* <p>Are you sure you want to proceed?</p>
|
|
21
|
+
* <div slot="actions">
|
|
22
|
+
* <nys-button label="Cancel" variant="outline"></nys-button>
|
|
23
|
+
* <nys-button label="Confirm" variant="filled"></nys-button>
|
|
24
|
+
* </div>
|
|
25
|
+
* </nys-modal>
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
2
28
|
export declare class NysModal extends LitElement {
|
|
3
29
|
static styles: import("lit").CSSResult;
|
|
30
|
+
/** Unique identifier. Auto-generated if not provided. */
|
|
4
31
|
id: string;
|
|
32
|
+
/** Modal heading text. Required for accessibility. */
|
|
5
33
|
heading: string;
|
|
34
|
+
/** Secondary heading below the main heading. */
|
|
6
35
|
subheading: string;
|
|
36
|
+
/** Controls modal visibility. Set to `true` to show. */
|
|
7
37
|
open: boolean;
|
|
38
|
+
/** Prevents dismissal via close button or Escape key. User must take an action. */
|
|
8
39
|
mandatory: boolean;
|
|
40
|
+
/**
|
|
41
|
+
* Modal width: `sm` (400px), `md` (600px), or `lg` (800px).
|
|
42
|
+
* @default "md"
|
|
43
|
+
*/
|
|
9
44
|
width: "sm" | "md" | "lg";
|
|
10
45
|
private _actionButtonSlot;
|
|
11
46
|
private _prevFocusedElement;
|
|
12
47
|
private _originalBodyOverflow;
|
|
13
48
|
private hasBodySlots;
|
|
14
49
|
private hasActionSlots;
|
|
50
|
+
/**
|
|
51
|
+
* Lifecycle Methods
|
|
52
|
+
* --------------------------------------------------------------------------
|
|
53
|
+
*/
|
|
15
54
|
constructor();
|
|
16
55
|
connectedCallback(): void;
|
|
17
56
|
disconnectedCallback(): void;
|
|
18
57
|
updated(changeProps: Map<string, any>): Promise<void>;
|
|
58
|
+
/**
|
|
59
|
+
* Functions
|
|
60
|
+
* --------------------------------------------------------------------------
|
|
61
|
+
*/
|
|
19
62
|
private _hideBodyScroll;
|
|
20
63
|
private _restoreBodyScroll;
|
|
21
64
|
private _savePrevFocused;
|
|
@@ -32,6 +75,10 @@ export declare class NysModal extends LitElement {
|
|
|
32
75
|
* We add the "Close this window" ariaLabel after the initial VO is done
|
|
33
76
|
*/
|
|
34
77
|
private _updateDismissAria;
|
|
78
|
+
/**
|
|
79
|
+
* Event Handlers
|
|
80
|
+
* --------------------------------------------------------------------------
|
|
81
|
+
*/
|
|
35
82
|
private _handleKeydown;
|
|
36
83
|
private _closeModal;
|
|
37
84
|
render(): "" | import("lit-html").TemplateResult<1>;
|
|
@@ -1,16 +1,49 @@
|
|
|
1
1
|
import { LitElement, TemplateResult } from "lit";
|
|
2
|
+
/**
|
|
3
|
+
* Page navigation with Previous/Next buttons and numbered page links. Auto-collapses with ellipses for many pages.
|
|
4
|
+
*
|
|
5
|
+
* Set `totalPages` and `currentPage` to control state. Listen to `nys-change` for page selection.
|
|
6
|
+
* Hidden automatically when `totalPages` is 1. Responsive: shows compact controls on mobile.
|
|
7
|
+
*
|
|
8
|
+
* @summary Page navigation with numbered links, prev/next buttons, and responsive layout.
|
|
9
|
+
* @element nys-pagination
|
|
10
|
+
*
|
|
11
|
+
* @fires nys-change - Fired when page changes. Detail: `{page}`.
|
|
12
|
+
*
|
|
13
|
+
* @example Basic pagination
|
|
14
|
+
* ```html
|
|
15
|
+
* <nys-pagination currentPage="1" totalPages="10"></nys-pagination>
|
|
16
|
+
* ```
|
|
17
|
+
*/
|
|
2
18
|
export declare class NysPagination extends LitElement {
|
|
3
19
|
static styles: import("lit").CSSResult;
|
|
20
|
+
/** Unique identifier. Auto-generated if not provided. */
|
|
4
21
|
id: string;
|
|
22
|
+
/** Name attribute for form association. */
|
|
5
23
|
name: string;
|
|
24
|
+
/** Currently active page (1-indexed). Clamped to valid range. */
|
|
6
25
|
currentPage: number;
|
|
26
|
+
/** Total number of pages. Must be at least 1. */
|
|
7
27
|
totalPages: number;
|
|
28
|
+
/** Internal state for layout adjustments near the end. */
|
|
8
29
|
_twoBeforeLast: boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Lifecycle Methods
|
|
32
|
+
* --------------------------------------------------------------------------
|
|
33
|
+
*/
|
|
9
34
|
constructor();
|
|
10
35
|
willUpdate(changedProps: Map<string, unknown>): void;
|
|
11
36
|
connectedCallback(): void;
|
|
37
|
+
/**
|
|
38
|
+
* Functions
|
|
39
|
+
* --------------------------------------------------------------------------
|
|
40
|
+
*/
|
|
12
41
|
private _clampPage;
|
|
13
42
|
private renderPageButtons;
|
|
43
|
+
/**
|
|
44
|
+
* Event Handlers
|
|
45
|
+
* --------------------------------------------------------------------------
|
|
46
|
+
*/
|
|
14
47
|
private _handlePageClick;
|
|
15
48
|
render(): TemplateResult<1> | null;
|
|
16
49
|
}
|
|
@@ -1,26 +1,75 @@
|
|
|
1
1
|
import { LitElement } from "lit";
|
|
2
2
|
import "./nys-radiogroup";
|
|
3
|
+
/**
|
|
4
|
+
* A radio button for single selection within a `nys-radiogroup`. Only one radio with the same `name` can be selected.
|
|
5
|
+
*
|
|
6
|
+
* Use within `nys-radiogroup` for 2-6 mutually exclusive options. For 7+ options, use `nys-select`.
|
|
7
|
+
* For multiple selections, use `nys-checkbox`.
|
|
8
|
+
*
|
|
9
|
+
* @summary Radio button for single selection from mutually exclusive options.
|
|
10
|
+
* @element nys-radiobutton
|
|
11
|
+
*
|
|
12
|
+
* @slot description - Custom HTML description content.
|
|
13
|
+
*
|
|
14
|
+
* @fires nys-change - Fired when selection changes. Detail: `{id, checked, name, value}`.
|
|
15
|
+
* @fires nys-focus - Fired when radio gains focus.
|
|
16
|
+
* @fires nys-blur - Fired when radio loses focus.
|
|
17
|
+
*
|
|
18
|
+
* @example Radio group
|
|
19
|
+
* ```html
|
|
20
|
+
* <nys-radiogroup label="Select borough" required>
|
|
21
|
+
* <nys-radiobutton name="borough" value="bronx" label="The Bronx"></nys-radiobutton>
|
|
22
|
+
* <nys-radiobutton name="borough" value="brooklyn" label="Brooklyn"></nys-radiobutton>
|
|
23
|
+
* </nys-radiogroup>
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
3
26
|
export declare class NysRadiobutton extends LitElement {
|
|
4
27
|
static styles: import("lit").CSSResult;
|
|
28
|
+
/** Whether this radio is selected. Only one per group can be checked. */
|
|
5
29
|
checked: boolean;
|
|
30
|
+
/** Prevents interaction. */
|
|
6
31
|
disabled: boolean;
|
|
32
|
+
/** Marks group as required. Set on radiogroup, not individual radios. */
|
|
7
33
|
required: boolean;
|
|
34
|
+
/** Visible label text. Required for accessibility. */
|
|
8
35
|
label: string;
|
|
36
|
+
/** Helper text below label. Use slot for custom HTML. */
|
|
9
37
|
description: string;
|
|
38
|
+
/** Unique identifier. Auto-generated if not provided. */
|
|
10
39
|
id: string;
|
|
40
|
+
/** Group name. Radios with same name are mutually exclusive. */
|
|
11
41
|
name: string;
|
|
42
|
+
/** Value submitted when this radio is selected. */
|
|
12
43
|
value: string;
|
|
44
|
+
/** Adjusts colors for dark backgrounds. */
|
|
13
45
|
inverted: boolean;
|
|
46
|
+
/** Form `id` to associate with. */
|
|
14
47
|
form: string | null;
|
|
48
|
+
/**
|
|
49
|
+
* Radio size: `sm` (24px) or `md` (32px, default).
|
|
50
|
+
* @default "md"
|
|
51
|
+
*/
|
|
15
52
|
size: "sm" | "md";
|
|
53
|
+
/** Renders as tile with larger clickable area. */
|
|
16
54
|
tile: boolean;
|
|
17
|
-
getInputElement(): Promise<HTMLInputElement | null>;
|
|
18
|
-
formResetUpdate(): void;
|
|
19
55
|
static buttonGroup: Record<string, NysRadiobutton>;
|
|
56
|
+
/**
|
|
57
|
+
* Lifecycle methods
|
|
58
|
+
* --------------------------------------------------------------------------
|
|
59
|
+
*/
|
|
20
60
|
connectedCallback(): void;
|
|
21
61
|
disconnectedCallback(): void;
|
|
22
62
|
updated(changedProperties: Map<string | number | symbol, unknown>): void;
|
|
23
|
-
|
|
63
|
+
/**
|
|
64
|
+
* Functions
|
|
65
|
+
* --------------------------------------------------------------------------
|
|
66
|
+
*/
|
|
67
|
+
getInputElement(): Promise<HTMLInputElement | null>;
|
|
68
|
+
formResetUpdate(): void;
|
|
69
|
+
/**
|
|
70
|
+
* Event Handlers
|
|
71
|
+
* --------------------------------------------------------------------------
|
|
72
|
+
*/
|
|
24
73
|
private _emitChangeEvent;
|
|
25
74
|
private _handleChange;
|
|
26
75
|
private _handleFocus;
|
|
@@ -1,29 +1,74 @@
|
|
|
1
1
|
import { LitElement } from "lit";
|
|
2
|
+
/**
|
|
3
|
+
* A container for grouping `nys-radiobutton` elements as a single form control with enforced single selection.
|
|
4
|
+
* Handles keyboard navigation (arrow keys), validation, required constraints, and form integration.
|
|
5
|
+
*
|
|
6
|
+
* Use to let users select exactly one option from 2-6 choices. Apply `tile`, `size`, and `inverted` to the group
|
|
7
|
+
* and all children inherit these styles automatically. For 7+ options, use `nys-select`.
|
|
8
|
+
*
|
|
9
|
+
* @summary Container for grouping radio buttons as a single form control.
|
|
10
|
+
* @element nys-radiogroup
|
|
11
|
+
*
|
|
12
|
+
* @slot - Default slot for `nys-radiobutton` elements.
|
|
13
|
+
* @slot description - Custom HTML description content.
|
|
14
|
+
*
|
|
15
|
+
* @example Basic radio group
|
|
16
|
+
* ```html
|
|
17
|
+
* <nys-radiogroup label="Select borough" required>
|
|
18
|
+
* <nys-radiobutton name="borough" value="bronx" label="The Bronx"></nys-radiobutton>
|
|
19
|
+
* <nys-radiobutton name="borough" value="brooklyn" label="Brooklyn"></nys-radiobutton>
|
|
20
|
+
* <nys-radiobutton name="borough" value="manhattan" label="Manhattan"></nys-radiobutton>
|
|
21
|
+
* </nys-radiogroup>
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
2
24
|
export declare class NysRadiogroup extends LitElement {
|
|
3
25
|
static styles: import("lit").CSSResult;
|
|
26
|
+
/** Unique identifier. Auto-generated if not provided. */
|
|
4
27
|
id: string;
|
|
28
|
+
/** Name for form submission. Auto-populated from child radiobuttons. */
|
|
5
29
|
name: string;
|
|
30
|
+
/** Requires a selection before form submission. */
|
|
6
31
|
required: boolean;
|
|
32
|
+
/** Shows "Optional" flag. */
|
|
7
33
|
optional: boolean;
|
|
34
|
+
/** Shows error message when true. */
|
|
8
35
|
showError: boolean;
|
|
36
|
+
/** Error message text. Shown only when `showError` is true. */
|
|
9
37
|
errorMessage: string;
|
|
38
|
+
/** Visible label text for the group. */
|
|
10
39
|
label: string;
|
|
40
|
+
/** Helper text below label. Use slot for custom HTML. */
|
|
11
41
|
description: string;
|
|
42
|
+
/** Renders all radiobuttons as tiles with larger clickable area. */
|
|
12
43
|
tile: boolean;
|
|
44
|
+
/** Tooltip text shown on hover/focus of info icon. */
|
|
13
45
|
tooltip: string;
|
|
46
|
+
/** Adjusts colors for dark backgrounds. Applied to all children. */
|
|
14
47
|
inverted: boolean;
|
|
48
|
+
/** Form `id` to associate with. Applied to all children. */
|
|
15
49
|
form: string | null;
|
|
50
|
+
/**
|
|
51
|
+
* Radio size for all children: `sm` (24px) or `md` (32px, default).
|
|
52
|
+
* @default "md"
|
|
53
|
+
*/
|
|
16
54
|
size: "sm" | "md";
|
|
17
55
|
private selectedValue;
|
|
18
56
|
private _slottedDescriptionText;
|
|
19
57
|
private _internals;
|
|
58
|
+
/**
|
|
59
|
+
* Lifecycle methods
|
|
60
|
+
* --------------------------------------------------------------------------
|
|
61
|
+
*/
|
|
20
62
|
static formAssociated: boolean;
|
|
21
63
|
constructor();
|
|
22
64
|
connectedCallback(): void;
|
|
23
65
|
disconnectedCallback(): void;
|
|
24
66
|
firstUpdated(): Promise<void>;
|
|
25
67
|
updated(changedProperties: Map<string | symbol, unknown>): void;
|
|
26
|
-
|
|
68
|
+
/**
|
|
69
|
+
* Form Integration
|
|
70
|
+
* --------------------------------------------------------------------------
|
|
71
|
+
*/
|
|
27
72
|
private _setValue;
|
|
28
73
|
private _setRadioButtonRequire;
|
|
29
74
|
private _manageRequire;
|
|
@@ -32,6 +77,11 @@ export declare class NysRadiogroup extends LitElement {
|
|
|
32
77
|
private _getAllRadios;
|
|
33
78
|
private _handleKeyDown;
|
|
34
79
|
private _updateGroupTabIndex;
|
|
80
|
+
formResetCallback(): void;
|
|
81
|
+
/**
|
|
82
|
+
* Functions
|
|
83
|
+
* --------------------------------------------------------------------------
|
|
84
|
+
*/
|
|
35
85
|
private _initializeChildAttributes;
|
|
36
86
|
private _updateRadioButtonsSize;
|
|
37
87
|
private _updateRadioButtonsTile;
|
|
@@ -39,6 +89,10 @@ export declare class NysRadiogroup extends LitElement {
|
|
|
39
89
|
private _updateRadioButtonsShowError;
|
|
40
90
|
private _updateRadioButtonsForm;
|
|
41
91
|
private _getSlotDescriptionForAria;
|
|
92
|
+
/**
|
|
93
|
+
* Event Handlers
|
|
94
|
+
* --------------------------------------------------------------------------
|
|
95
|
+
*/
|
|
42
96
|
private _handleRadioButtonChange;
|
|
43
97
|
private _handleInvalid;
|
|
44
98
|
render(): import("lit-html").TemplateResult<1>;
|