@nysds/nys-button 1.11.2 → 1.11.4
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/dist/nys-button.js +139 -1335
- package/dist/nys-button.js.map +1 -1
- package/package.json +5 -5
- package/dist/index.d.ts +0 -1
- package/dist/nys-button.d.ts +0 -61
- package/dist/nys-button.figma.d.ts +0 -1
- package/dist/nys-button.styles.d.ts +0 -2
package/dist/nys-button.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nys-button.js","sources":["../../../node_modules/@lit/reactive-element/css-tag.js","../../../node_modules/@lit/reactive-element/reactive-element.js","../../../node_modules/@lit/reactive-element/decorators/property.js","../src/nys-button.styles.ts","../../../node_modules/lit-html/lit-html.js","../../../node_modules/lit-html/directives/if-defined.js","../src/nys-button.ts"],"sourcesContent":["/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,e=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&\"adoptedStyleSheets\"in Document.prototype&&\"replace\"in CSSStyleSheet.prototype,s=Symbol(),o=new WeakMap;class n{constructor(t,e,o){if(this._$cssResult$=!0,o!==s)throw Error(\"CSSResult is not constructable. Use `unsafeCSS` or `css` instead.\");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const s=this.t;if(e&&void 0===t){const e=void 0!==s&&1===s.length;e&&(t=o.get(s)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&o.set(s,t))}return t}toString(){return this.cssText}}const r=t=>new n(\"string\"==typeof t?t:t+\"\",void 0,s),i=(t,...e)=>{const o=1===t.length?t[0]:e.reduce(((e,s,o)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if(\"number\"==typeof t)return t;throw Error(\"Value passed to 'css' function must be a 'css' function result: \"+t+\". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.\")})(s)+t[o+1]),t[0]);return new n(o,t,s)},S=(s,o)=>{if(e)s.adoptedStyleSheets=o.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet));else for(const e of o){const o=document.createElement(\"style\"),n=t.litNonce;void 0!==n&&o.setAttribute(\"nonce\",n),o.textContent=e.cssText,s.appendChild(o)}},c=e?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e=\"\";for(const s of t.cssRules)e+=s.cssText;return r(e)})(t):t;export{n as CSSResult,S as adoptStyles,i as css,c as getCompatibleStyle,e as supportsAdoptingStyleSheets,r as unsafeCSS};\n//# sourceMappingURL=css-tag.js.map\n","import{getCompatibleStyle as t,adoptStyles as s}from\"./css-tag.js\";export{CSSResult,css,supportsAdoptingStyleSheets,unsafeCSS}from\"./css-tag.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const{is:i,defineProperty:e,getOwnPropertyDescriptor:h,getOwnPropertyNames:r,getOwnPropertySymbols:o,getPrototypeOf:n}=Object,a=globalThis,c=a.trustedTypes,l=c?c.emptyScript:\"\",p=a.reactiveElementPolyfillSupport,d=(t,s)=>t,u={toAttribute(t,s){switch(s){case Boolean:t=t?l:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,s){let i=t;switch(s){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t)}catch(t){i=null}}return i}},f=(t,s)=>!i(t,s),b={attribute:!0,type:String,converter:u,reflect:!1,useDefault:!1,hasChanged:f};Symbol.metadata??=Symbol(\"metadata\"),a.litPropertyMetadata??=new WeakMap;class y extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,s=b){if(s.state&&(s.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(t)&&((s=Object.create(s)).wrapped=!0),this.elementProperties.set(t,s),!s.noAccessor){const i=Symbol(),h=this.getPropertyDescriptor(t,i,s);void 0!==h&&e(this.prototype,t,h)}}static getPropertyDescriptor(t,s,i){const{get:e,set:r}=h(this.prototype,t)??{get(){return this[s]},set(t){this[s]=t}};return{get:e,set(s){const h=e?.call(this);r?.call(this,s),this.requestUpdate(t,h,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??b}static _$Ei(){if(this.hasOwnProperty(d(\"elementProperties\")))return;const t=n(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(d(\"finalized\")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(d(\"properties\"))){const t=this.properties,s=[...r(t),...o(t)];for(const i of s)this.createProperty(i,t[i])}const t=this[Symbol.metadata];if(null!==t){const s=litPropertyMetadata.get(t);if(void 0!==s)for(const[t,i]of s)this.elementProperties.set(t,i)}this._$Eh=new Map;for(const[t,s]of this.elementProperties){const i=this._$Eu(t,s);void 0!==i&&this._$Eh.set(i,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(s){const i=[];if(Array.isArray(s)){const e=new Set(s.flat(1/0).reverse());for(const s of e)i.unshift(t(s))}else void 0!==s&&i.push(t(s));return i}static _$Eu(t,s){const i=s.attribute;return!1===i?void 0:\"string\"==typeof i?i:\"string\"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach((t=>t(this)))}addController(t){(this._$EO??=new Set).add(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){const t=new Map,s=this.constructor.elementProperties;for(const i of s.keys())this.hasOwnProperty(i)&&(t.set(i,this[i]),delete this[i]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return s(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach((t=>t.hostConnected?.()))}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach((t=>t.hostDisconnected?.()))}attributeChangedCallback(t,s,i){this._$AK(t,i)}_$ET(t,s){const i=this.constructor.elementProperties.get(t),e=this.constructor._$Eu(t,i);if(void 0!==e&&!0===i.reflect){const h=(void 0!==i.converter?.toAttribute?i.converter:u).toAttribute(s,i.type);this._$Em=t,null==h?this.removeAttribute(e):this.setAttribute(e,h),this._$Em=null}}_$AK(t,s){const i=this.constructor,e=i._$Eh.get(t);if(void 0!==e&&this._$Em!==e){const t=i.getPropertyOptions(e),h=\"function\"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:u;this._$Em=e;const r=h.fromAttribute(s,t.type);this[e]=r??this._$Ej?.get(e)??r,this._$Em=null}}requestUpdate(t,s,i){if(void 0!==t){const e=this.constructor,h=this[t];if(i??=e.getPropertyOptions(t),!((i.hasChanged??f)(h,s)||i.useDefault&&i.reflect&&h===this._$Ej?.get(t)&&!this.hasAttribute(e._$Eu(t,i))))return;this.C(t,s,i)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(t,s,{useDefault:i,reflect:e,wrapped:h},r){i&&!(this._$Ej??=new Map).has(t)&&(this._$Ej.set(t,r??s??this[t]),!0!==h||void 0!==r)||(this._$AL.has(t)||(this.hasUpdated||i||(s=void 0),this._$AL.set(t,s)),!0===e&&this._$Em!==t&&(this._$Eq??=new Set).add(t))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,s]of this._$Ep)this[t]=s;this._$Ep=void 0}const t=this.constructor.elementProperties;if(t.size>0)for(const[s,i]of t){const{wrapped:t}=i,e=this[s];!0!==t||this._$AL.has(s)||void 0===e||this.C(s,void 0,i,e)}}let t=!1;const s=this._$AL;try{t=this.shouldUpdate(s),t?(this.willUpdate(s),this._$EO?.forEach((t=>t.hostUpdate?.())),this.update(s)):this._$EM()}catch(s){throw t=!1,this._$EM(),s}t&&this._$AE(s)}willUpdate(t){}_$AE(t){this._$EO?.forEach((t=>t.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Eq&&=this._$Eq.forEach((t=>this._$ET(t,this[t]))),this._$EM()}updated(t){}firstUpdated(t){}}y.elementStyles=[],y.shadowRootOptions={mode:\"open\"},y[d(\"elementProperties\")]=new Map,y[d(\"finalized\")]=new Map,p?.({ReactiveElement:y}),(a.reactiveElementVersions??=[]).push(\"2.1.1\");export{y as ReactiveElement,s as adoptStyles,u as defaultConverter,t as getCompatibleStyle,f as notEqual};\n//# sourceMappingURL=reactive-element.js.map\n","import{defaultConverter as t,notEqual as e}from\"../reactive-element.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const o={attribute:!0,type:String,converter:t,reflect:!1,hasChanged:e},r=(t=o,e,r)=>{const{kind:n,metadata:i}=r;let s=globalThis.litPropertyMetadata.get(i);if(void 0===s&&globalThis.litPropertyMetadata.set(i,s=new Map),\"setter\"===n&&((t=Object.create(t)).wrapped=!0),s.set(r.name,t),\"accessor\"===n){const{name:o}=r;return{set(r){const n=e.get.call(this);e.set.call(this,r),this.requestUpdate(o,n,t)},init(e){return void 0!==e&&this.C(o,void 0,t,e),e}}}if(\"setter\"===n){const{name:o}=r;return function(r){const n=this[o];e.call(this,r),this.requestUpdate(o,n,t)}}throw Error(\"Unsupported decorator location: \"+n)};function n(t){return(e,o)=>\"object\"==typeof o?r(t,e,o):((t,e,o)=>{const r=e.hasOwnProperty(o);return e.constructor.createProperty(o,t),r?Object.getOwnPropertyDescriptor(e,o):void 0})(t,e,o)}export{n as property,r as standardProperty};\n//# sourceMappingURL=property.js.map\n","import { css } from \"lit\";\n\nexport default css`\n :host {\n /* Anything that can be overridden should be defined here */\n\n /* Global Button Styles */\n --_nys-button-width: fit-content;\n --_nys-button-height: var(--nys-size-600, 48px);\n --_nys-button-border-radius--start: var(--nys-radius-xl, 12px);\n --_nys-button-border-radius--end: var(--nys-radius-xl, 12px);\n --_nys-button-padding--y: calc(\n var(--nys-space-150, 12px) - var(--nys-border-width-md, 2px)\n ); /* remove calc when SASS'd */\n --_nys-button-padding--x: calc(\n var(--nys-space-250, 20px) - var(--nys-border-width-md, 2px)\n ); /* remove calc when SASS'd */\n --_nys-button-gap: var(--nys-space-100, 8px);\n --_nys-button-border-width: var(--nys-border-width-md, 2px);\n --_nys-button-outline-width: var(--nys-border-width-md, 2px);\n --_nys-button-outline-offset: var(--nys-space-2px, 2px);\n --_nys-button-outline-color: var(--nys-color-focus, #004dd1);\n\n /* Global Button Colors */\n --_nys-button-background-color: var(\n --nys-button-background-color,\n var(--nys-color-theme, #154973)\n );\n --_nys-button-color: var(\n --nys-button-color,\n var(--nys-color-text-reverse, #ffffff)\n );\n --_nys-button-border-color: var(\n --nys-button-border-color,\n var(--nys-color-theme, #154973)\n );\n\n --_nys-button-background-color--hover: var(\n --nys-button-background-color--hover,\n var(--nys-color-theme-strong, #0e324f)\n );\n --_nys-button-color--hover: var(\n --nys-button-color--hover,\n var(--nys-color-text-reverse, #ffffff)\n );\n --_nys-button-border-color--hover: var(\n --nys-button-border-color--hover,\n var(--nys-color-theme-strong, #0e324f)\n );\n\n --_nys-button-background-color--active: var(\n --nys-button-background-color--active,\n var(--nys-color-theme-stronger, #081b2b)\n );\n --_nys-button-color--active: var(\n --nys-button-color--active,\n var(--nys-color-text-reverse, #ffffff)\n );\n --_nys-button-border-color--active: var(\n --nys-button-border-color--active,\n var(--nys-color-theme-stronger, #081b2b)\n );\n\n --_nys-button-background-color--disabled: var(\n --nys-color-neutral-10,\n #f6f6f6\n );\n --_nys-button-color--disabled: var(--nys-color-text-disabled, #bec0c1);\n --_nys-button-border-color--disabled: var(--nys-color-neutral-10, #f6f6f6);\n\n /* Typography */\n --_nys-button-font-size: var(--nys-font-size-ui-md, 16px);\n --_nys-button-font-weight: var(--nys-font-weight-semibold, 600);\n --_nys-button-line-height: var(--nys-font-lineheight-ui-md, 24px);\n --_nys-button-font-family: var(\n --nys-font-family-ui,\n var(\n --nys-font-family-sans,\n \"Proxima Nova\",\n \"Helvetica Neue\",\n \"Helvetica\",\n \"Arial\",\n sans-serif\n )\n );\n }\n\n /* Sizes */\n :host([size=\"sm\"]) {\n --_nys-button-height: var(--nys-size-500, 40px);\n --_nys-button-padding--y: calc(\n var(--nys-space-100, 8px) - var(--nys-border-width-md, 2px)\n ); /* remove calc when SASS'd */\n --_nys-button-padding--x: calc(\n var(--nys-space-200, 16px) - var(--nys-border-width-md, 2px)\n ); /* remove calc when SASS'd */\n }\n :host([size=\"md\"]) {\n --_nys-button-height: var(--nys-size-600, 48px);\n --_nys-button-padding--y: calc(\n var(--nys-space-150, 12px) - var(--nys-border-width-md, 2px)\n ); /* remove calc when SASS'd */\n --_nys-button-padding--x: calc(\n var(--nys-space-250, 20px) - var(--nys-border-width-md, 2px)\n ); /* remove calc when SASS'd */\n }\n :host([size=\"lg\"]) {\n --_nys-button-height: var(--nys-size-700, 56px);\n --_nys-button-padding--y: calc(\n var(--nys-space-200, 16px) - var(--nys-border-width-md, 2px)\n ); /* remove calc when SASS'd */\n --_nys-button-padding--x: calc(\n var(--nys-space-300, 24px) - var(--nys-border-width-md, 2px)\n ); /* remove calc when SASS'd */\n }\n :host([fullWidth]) {\n --_nys-button-width: 100%;\n }\n\n /* VARIANTS */\n\n /* Filled */\n :host([variant=\"filled\"]) {\n /* Filled - Default */\n --_nys-button-background-color: var(\n --nys-button-background-color,\n var(--nys-color-theme, #154973)\n );\n --_nys-button-color: var(\n --nys-button-color,\n var(--nys-color-text-reverse, #ffffff)\n );\n --_nys-button-border-color: var(\n --nys-button-border-color,\n var(--nys-color-transparent, #ffffff00)\n );\n\n /* Filled - Hover */\n --_nys-button-background-color--hover: var(\n --nys-button-background-color--hover,\n var(--nys-color-theme-strong, #0e324f)\n );\n --_nys-button-color--hover: var(\n --nys-button-color--hover,\n var(--nys-color-text-reverse, #ffffff)\n );\n --_nys-button-border-color: var(\n --nys-button-border-color,\n var(--nys-color-transparent, #ffffff00)\n );\n\n /* Filled - Pressed/Active */\n --_nys-button-background-color--active: var(\n --nys-button-background-color--active,\n var(--nys-color-theme-stronger, #081b2b)\n );\n --_nys-button-color--active: var(\n --nys-button-color--active,\n var(--nys-color-text-reverse, #ffffff)\n );\n --_nys-button-border-color: var(\n --nys-button-border-color,\n var(--nys-color-transparent, #ffffff00)\n );\n\n /* Filled - Disabled */\n --_nys-button-background-color--disabled: var(\n --nys-color-neutral-10,\n #f6f6f6\n );\n --_nys-button-color--disabled: var(--nys-color-text-disabled, #bec0c1);\n --_nys-button-border-color: var(\n --nys-button-border-color,\n var(--nys-color-transparent, #ffffff00)\n );\n }\n\n /* Outline */\n :host([variant=\"outline\"]) {\n /* Outline - Default */\n --_nys-button-background-color: var(\n --nys-button-background-color,\n var(--nys-color-surface, #ffffff)\n );\n --_nys-button-color: var(\n --nys-button-color,\n var(--nys-color-theme, #154973)\n );\n --_nys-button-border-color: var(\n --nys-button-border-color,\n var(--nys-color-theme, #154973)\n );\n\n /* Outline - Hover */\n --_nys-button-background-color--hover: var(\n --nys-button-background-color--hover,\n var(--nys-color-theme-weaker, #eff6fb)\n );\n --_nys-button-color--hover: var(\n --nys-button-color--hover,\n var(--nys-color-theme, #154973)\n );\n --_nys-button-border-color--hover: var(\n --nys-button-border-color--hover,\n var(--nys-color-theme, #154973)\n );\n\n /* Outline - Pressed/Active */\n --_nys-button-background-color--active: var(\n --nys-button-background-color--active,\n var(--nys-color-theme-weak, #cddde9)\n );\n --_nys-button-color--active: var(\n --nys-button-color--active,\n var(--nys-color-theme, #154973)\n );\n --_nys-button-border-color--active: var(\n --nys-button-border-color--active,\n var(--nys-color-theme, #154973)\n );\n\n /* Outline - Disabled */\n --_nys-button-background-color--disabled: var(--nys-color-surface, #ffffff);\n --_nys-button-color--disabled: var(--nys-color-text-disabled, #bec0c1);\n --_nys-button-border-color--disabled: var(--nys-color-neutral-100, #d0d0ce);\n }\n\n /* Text */\n :host([variant=\"text\"]) {\n --_nys-button-height: fit-content;\n --_nys-button-border-radius--start: var(--nys-radius-md, 4px);\n --_nys-button-border-radius--end: var(--nys-radius-md, 4px);\n --_nys-button-padding--y: var(--nys-space-2px, 2px);\n --_nys-button-padding--x: var(--nys-space-50, 4px);\n --_nys-button-border-width: 0px;\n --_nys-button-text-decoration: underline;\n\n /* Text - Default */\n --_nys-button-background-color: var(\n --nys-button-background-color,\n var(--nys-color-transparent, #ffffff00)\n );\n --_nys-button-color: var(\n --nys-button-color,\n var(--nys-color-link, #004dd1)\n );\n --_nys-button-border-color: var(\n --nys-button-border-color,\n var(--nys-color-transparent, #ffffff00)\n );\n\n /* Text - Hover */\n --_nys-button-background-color--hover: var(\n --nys-button-background-color--hover,\n var(--nys-color-transparent, #ffffff00)\n );\n --_nys-button-color--hover: var(\n --nys-button-color--hover,\n var(--nys-color-link-strong, #003ba1)\n );\n --_nys-button-border-color--hover: var(\n --nys-button-border-color--hover,\n var(--nys-color-transparent, #ffffff00)\n );\n\n /* Text - Pressed/Active */\n --_nys-button-background-color--active: var(\n --nys-button-background-color--active,\n var(--nys-color-transparent, #ffffff00)\n );\n --_nys-button-color--active: var(\n --nys-button-color--active,\n var(--nys-color-link-strongest, #002971)\n );\n --_nys-button-border-color--active: var(\n --nys-button-border-color--active,\n var(--nys-color-transparent, #ffffff00)\n );\n\n /* Text - Disabled */\n --_nys-button-background-color--disabled: var(\n --nys-color-transparent,\n #ffffff00\n );\n --_nys-button-color--disabled: var(--nys-color-text-disabled, #bec0c1);\n --_nys-button-border-color--disabled: var(\n --nys-color-transparent,\n #ffffff00\n );\n }\n\n /* Ghost */\n :host([variant=\"ghost\"]) {\n /* Ghost - Default */\n --_nys-button-background-color: var(\n --nys-button-background-color,\n var(--nys-color-transparent, #ffffff00)\n );\n --_nys-button-color: var(\n --nys-button-color,\n var(--nys-color-text, #1b1b1b)\n );\n --_nys-button-border-color: var(\n --nys-button-border-color,\n var(--nys-color-transparent, #ffffff00)\n );\n\n /* Ghost - Hover */\n --_nys-button-background-color--hover: var(\n --nys-button-background-color--hover,\n var(--nys-color-black-transparent-100, #0000001a)\n );\n --_nys-button-color--hover: var(\n --nys-button-color--hover,\n var(--nys-color-text, #1b1b1b)\n );\n --_nys-button-border-color--hover: var(\n --nys-button-border-color--hover,\n var(--nys-color-transparent, #ffffff00)\n );\n\n /* Ghost - Active */\n --_nys-button-background-color--active: var(\n --nys-button-background-color--active,\n var(--nys-color-black-transparent-200, #00000033)\n );\n --_nys-button-color--active: var(\n --nys-button-color--active,\n var(--nys-color-text, #1b1b1b)\n );\n --_nys-button-border-color--active: var(\n --nys-button-border-color--active,\n var(--nys-color-transparent, #ffffff00)\n );\n\n /* Ghost - Disabled */\n --_nys-button-background-color--disabled: var(\n --nys-color-transparent,\n #ffffff00\n );\n --_nys-button-color--disabled: var(--nys-color-text-disabled, #bec0c1);\n --_nys-button-border-color--disabled: var(\n --nys-color-transparent,\n #ffffff00\n );\n }\n\n /* INVERTED VARIANTS */\n\n /* Filled Inverted */\n :host([variant=\"filled\"][inverted]) {\n /* Filled Inverted - Default */\n --_nys-button-background-color: var(\n --nys-button-background-color,\n var(--nys-color-surface, #ffffff)\n );\n --_nys-button-color: var(\n --nys-button-color,\n var(--nys-color-text, #1b1b1b)\n );\n --_nys-button-border-color--disabled: var(\n --nys-color-transparent,\n #ffffff00\n );\n\n /* Filled Inverted - Hover */\n --_nys-button-background-color--hover: var(\n --nys-button-background-color--hover,\n var(--nys-color-neutral-100, #d0d0ce)\n );\n --_nys-button-color--hover: var(\n --nys-button-color--hover,\n var(--nys-color-text, #1b1b1b)\n );\n --_nys-button-border-color--disabled: var(\n --nys-color-transparent,\n #ffffff00\n );\n\n /* Filled Inverted - Pressed/Active */\n --_nys-button-background-color--active: var(\n --nys-button-background-color--active,\n var(--nys-color-neutral-300, #a7a9ab)\n );\n --_nys-button-color--active: var(\n --nys-button-color--active,\n var(--nys-color-text, #1b1b1b)\n );\n --_nys-button-border-color--disabled: var(\n --nys-color-transparent,\n #ffffff00\n );\n\n /* Filled Inverted - Disabled */\n --_nys-button-background-color--disabled: var(--nys-color-text, #1b1b1b);\n --_nys-button-color--disabled: var(--nys-color-text-disabled, #62666a);\n --_nys-button-border-color--disabled: var(\n --nys-color-transparent,\n #ffffff00\n );\n }\n\n /* Outline Inverted */\n :host([variant=\"outline\"][inverted]) {\n /* Outline Inverted - Default */\n --_nys-button-background-color: var(\n --nys-button-background-color,\n var(--nys-color-surface-reverse, #1b1b1b)\n );\n --_nys-button-color: var(\n --nys-button-color,\n var(--nys-color-text-reverse, #ffffff)\n );\n --_nys-button-border-color: var(\n --nys-button-border-color,\n var(--nys-color-ink-reverse, #ffffff)\n );\n\n /* Outline Inverted - Hover */\n --_nys-button-background-color--hover: var(\n --nys-button-background-color--hover,\n var(--nys-color-surface-reverse, #1b1b1b)\n );\n --_nys-button-color--hover: var(\n --nys-button-color--hover,\n var(--nys-color-text-reverse-weak, #d0d0ce)\n );\n --_nys-button-border-color--hover: var(\n --nys-button-border-color--hover,\n var(--nys-color-neutral-100, #d0d0ce)\n );\n\n /* Outline Inverted - Pressed/Active */\n --_nys-button-background-color--active: var(\n --nys-button-background-color--active,\n var(--nys-color-surface-reverse, #1b1b1b)\n );\n --_nys-button-color--active: var(\n --nys-button-color--active,\n var(--nys-color-text-reverse-weaker, #bec0c1)\n );\n --_nys-button-border-color--active: var(\n --nys-button-border-color--active,\n var(--nys-color-neutral-300, #a7a9ab)\n );\n\n /* Outline Inverted - Disabled */\n --_nys-button-background-color--disabled: var(\n --nys-color-surface-reverse,\n #1b1b1b\n );\n --_nys-button-color--disabled: var(\n --nys-color-text-reverse-disabled,\n #62666a\n );\n --_nys-button-border-color--disabled: var(--nys-color-neutral-600, #62666a);\n }\n\n /* Text Inverted */\n :host([variant=\"text\"][inverted]) {\n --_nys-button-height: fit-content;\n --_nys-button-border-radius--start: var(--nys-radius-md, 4px);\n --_nys-button-border-radius--end: var(--nys-radius-md, 4px);\n --_nys-button-padding--y: var(--nys-space-2px, 2px);\n --_nys-button-padding--x: var(--nys-space-50, 4px);\n --_nys-button-border-width: 0px;\n --_nys-button-text-decoration: underline;\n\n /* Text Inverted - Default */\n --_nys-button-background-color: var(\n --nys-button-background-color,\n var(--nys-color-transparent, #ffffff00)\n );\n --_nys-button-color: var(\n --nys-button-color,\n var(--nys-color-link-reverse, #a7a9ab)\n );\n --_nys-button-border-color: var(\n --nys-button-border-color,\n var(--nys-color-transparent, #ffffff00)\n );\n\n /* Text Inverted - Hover */\n --_nys-button-background-color--hover: var(\n --nys-button-background-color--hover,\n var(--nys-color-transparent, #ffffff00)\n );\n --_nys-button-color--hover: var(\n --nys-button-color--hover,\n var(--nys-color-link-reverse-strong, #ededed)\n );\n --_nys-button-border-color--hover: var(\n --nys-button-border-color--hover,\n var(--nys-color-transparent, #ffffff00)\n );\n\n /* Text Inverted - Pressed/Active */\n --_nys-button-background-color--active: var(\n --nys-button-background-color--active,\n var(--nys-color-transparent, #ffffff00)\n );\n --_nys-button-color--active: var(\n --nys-button-color--active,\n var(--nys-color-reverse-strongest, #ffffff)\n );\n --_nys-button-border-color--active: var(\n --nys-button-border-color--active,\n var(--nys-color-transparent, #ffffff00)\n );\n\n /* Text Inverted - Disabled */\n --_nys-button-background-color--disabled: var(\n --nys-color-transparent,\n #ffffff00\n );\n --_nys-button-color--disabled: var(\n --nys-color-text-reverse-disabled,\n #62666a\n );\n --_nys-button-border-color--disabled: var(\n --nys-color-transparent,\n #ffffff00\n );\n }\n\n /* Ghost Inverted */\n :host([variant=\"ghost\"][inverted]) {\n /* Ghost Inverted - Default */\n --_nys-button-background-color: var(\n --nys-button-background-color,\n var(--nys-color-transparent, #ffffff00)\n );\n --_nys-button-color: var(\n --nys-button-color,\n var(--nys-color-text-reverse, #ffffff)\n );\n --_nys-button-border-color: var(\n --nys-button-border-color,\n var(--nys-color-transparent, #ffffff00)\n );\n\n /* Ghost Inverted - Hover */\n --_nys-button-background-color--hover: var(\n --nys-button-background-color--hover,\n var(--nys-color-white-transparent-100, #ffffff1a)\n );\n --_nys-button-color--hover: var(\n --nys-button-color--hover,\n var(--nys-color-text-reverse, #ffffff)\n );\n --_nys-button-border-color--hover: var(\n --nys-button-border-color--hover,\n var(--nys-color-transparent, #ffffff00)\n );\n\n /* Ghost Inverted - Pressed/Active */\n --_nys-button-background-color--active: var(\n --nys-button-background-color--active,\n var(--nys-color-white-transparent-200, #ffffff33)\n );\n --_nys-button-color--active: var(\n --nys-button-color--active,\n var(--nys-color-text-reverse, #ffffff)\n );\n --_nys-button-border-color--active: var(\n --nys-button-border-color--active,\n var(--nys-color-transparent, #ffffff00)\n );\n\n /* Ghost Inverted - Disabled */\n --_nys-button-background-color--disabled: var(\n --nys-color-transparent,\n #ffffff00\n );\n --_nys-button-color--disabled: var(--nys-color-text-disabled, #62666a);\n --_nys-button-border-color--disabled: var(\n --nys-color-transparent,\n #ffffff00\n );\n }\n\n /* Circle */\n :host([circle]) {\n --_nys-button-width: var(--_nys-button-height);\n --_nys-button-border-radius--start: var(--nys-radius-round, 1776px);\n --_nys-button-border-radius--end: var(--nys-radius-round, 1776px);\n --_nys-button-padding--y: 0;\n --_nys-button-padding--x: 0;\n }\n\n .nys-button {\n width: var(--_nys-button-width);\n min-height: var(--_nys-button-height);\n /* set every corner individually */\n border-start-start-radius: var(--_nys-button-border-radius--start);\n border-end-start-radius: var(--_nys-button-border-radius--start);\n border-start-end-radius: var(--_nys-button-border-radius--end);\n border-end-end-radius: var(--_nys-button-border-radius--end);\n padding: var(--_nys-button-padding--y) var(--_nys-button-padding--x);\n display: flex;\n align-items: center;\n justify-content: center;\n gap: var(--_nys-button-gap);\n font-family: var(--_nys-button-font-family);\n font-size: var(--_nys-button-font-size);\n font-weight: var(--_nys-button-font-weight);\n line-height: var(--_nys-button-line-height);\n text-decoration: var(--_nys-button-text-decoration);\n box-sizing: border-box;\n background-color: var(--_nys-button-background-color);\n color: var(--_nys-button-color);\n border: solid var(--_nys-button-border-width)\n var(--_nys-button-border-color);\n cursor: var(--_nys-button-cursor, pointer);\n }\n\n :host([circle]) .nys-button {\n max-width: var(--_nys-button-height);\n max-height: var(--_nys-button-height);\n }\n\n .nys-button:hover {\n background-color: var(--_nys-button-background-color--hover);\n color: var(--_nys-button-color--hover);\n border-color: var(--_nys-button-border-color--hover);\n }\n\n .nys-button:active {\n background-color: var(--_nys-button-background-color--active);\n color: var(--_nys-button-color--active);\n border-color: var(--_nys-button-border-color--active);\n }\n\n .nys-button:disabled,\n a[disabled] {\n background-color: var(--_nys-button-background-color--disabled);\n color: var(--_nys-button-color--disabled);\n border-color: var(--_nys-button-border-color--disabled);\n cursor: not-allowed;\n }\n\n .nys-button__linkwrapper:has([disabled]) {\n cursor: not-allowed;\n width: fit-content;\n }\n\n /* Remove click functionality from disabled link button */\n a[disabled] {\n pointer-events: none;\n }\n\n a[disabled]:hover {\n background-color: var(--_nys-button-background-color--disabled);\n color: var(--_nys-button-color--disabled);\n border-color: var(--_nys-button-border-color--disabled);\n }\n\n .nys-button * {\n cursor: var(--_nys-button-cursor, pointer);\n }\n\n .nys-button:disabled * {\n cursor: not-allowed;\n }\n\n .nys-button:focus-visible {\n outline-offset: var(--_nys-button-outline-offset);\n outline: solid var(--_nys-button-outline-width)\n var(--_nys-button-outline-color);\n }\n\n .nys-button__text {\n display: flex;\n align-items: center;\n user-select: none;\n }\n`;\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,i=t.trustedTypes,s=i?i.createPolicy(\"lit-html\",{createHTML:t=>t}):void 0,e=\"$lit$\",h=`lit$${Math.random().toFixed(9).slice(2)}$`,o=\"?\"+h,n=`<${o}>`,r=document,l=()=>r.createComment(\"\"),c=t=>null===t||\"object\"!=typeof t&&\"function\"!=typeof t,a=Array.isArray,u=t=>a(t)||\"function\"==typeof t?.[Symbol.iterator],d=\"[ \\t\\n\\f\\r]\",f=/<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g,v=/-->/g,_=/>/g,m=RegExp(`>|${d}(?:([^\\\\s\"'>=/]+)(${d}*=${d}*(?:[^ \\t\\n\\f\\r\"'\\`<>=]|(\"|')|))|$)`,\"g\"),p=/'/g,g=/\"/g,$=/^(?:script|style|textarea|title)$/i,y=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),x=y(1),b=y(2),w=y(3),T=Symbol.for(\"lit-noChange\"),E=Symbol.for(\"lit-nothing\"),A=new WeakMap,C=r.createTreeWalker(r,129);function P(t,i){if(!a(t)||!t.hasOwnProperty(\"raw\"))throw Error(\"invalid template strings array\");return void 0!==s?s.createHTML(i):i}const V=(t,i)=>{const s=t.length-1,o=[];let r,l=2===i?\"<svg>\":3===i?\"<math>\":\"\",c=f;for(let i=0;i<s;i++){const s=t[i];let a,u,d=-1,y=0;for(;y<s.length&&(c.lastIndex=y,u=c.exec(s),null!==u);)y=c.lastIndex,c===f?\"!--\"===u[1]?c=v:void 0!==u[1]?c=_:void 0!==u[2]?($.test(u[2])&&(r=RegExp(\"</\"+u[2],\"g\")),c=m):void 0!==u[3]&&(c=m):c===m?\">\"===u[0]?(c=r??f,d=-1):void 0===u[1]?d=-2:(d=c.lastIndex-u[2].length,a=u[1],c=void 0===u[3]?m:'\"'===u[3]?g:p):c===g||c===p?c=m:c===v||c===_?c=f:(c=m,r=void 0);const x=c===m&&t[i+1].startsWith(\"/>\")?\" \":\"\";l+=c===f?s+n:d>=0?(o.push(a),s.slice(0,d)+e+s.slice(d)+h+x):s+h+(-2===d?i:x)}return[P(t,l+(t[s]||\"<?>\")+(2===i?\"</svg>\":3===i?\"</math>\":\"\")),o]};class N{constructor({strings:t,_$litType$:s},n){let r;this.parts=[];let c=0,a=0;const u=t.length-1,d=this.parts,[f,v]=V(t,s);if(this.el=N.createElement(f,n),C.currentNode=this.el.content,2===s||3===s){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(r=C.nextNode())&&d.length<u;){if(1===r.nodeType){if(r.hasAttributes())for(const t of r.getAttributeNames())if(t.endsWith(e)){const i=v[a++],s=r.getAttribute(t).split(h),e=/([.?@])?(.*)/.exec(i);d.push({type:1,index:c,name:e[2],strings:s,ctor:\".\"===e[1]?H:\"?\"===e[1]?I:\"@\"===e[1]?L:k}),r.removeAttribute(t)}else t.startsWith(h)&&(d.push({type:6,index:c}),r.removeAttribute(t));if($.test(r.tagName)){const t=r.textContent.split(h),s=t.length-1;if(s>0){r.textContent=i?i.emptyScript:\"\";for(let i=0;i<s;i++)r.append(t[i],l()),C.nextNode(),d.push({type:2,index:++c});r.append(t[s],l())}}}else if(8===r.nodeType)if(r.data===o)d.push({type:2,index:c});else{let t=-1;for(;-1!==(t=r.data.indexOf(h,t+1));)d.push({type:7,index:c}),t+=h.length-1}c++}}static createElement(t,i){const s=r.createElement(\"template\");return s.innerHTML=t,s}}function S(t,i,s=t,e){if(i===T)return i;let h=void 0!==e?s._$Co?.[e]:s._$Cl;const o=c(i)?void 0:i._$litDirective$;return h?.constructor!==o&&(h?._$AO?.(!1),void 0===o?h=void 0:(h=new o(t),h._$AT(t,s,e)),void 0!==e?(s._$Co??=[])[e]=h:s._$Cl=h),void 0!==h&&(i=S(t,h._$AS(t,i.values),h,e)),i}class M{constructor(t,i){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=i}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){const{el:{content:i},parts:s}=this._$AD,e=(t?.creationScope??r).importNode(i,!0);C.currentNode=e;let h=C.nextNode(),o=0,n=0,l=s[0];for(;void 0!==l;){if(o===l.index){let i;2===l.type?i=new R(h,h.nextSibling,this,t):1===l.type?i=new l.ctor(h,l.name,l.strings,this,t):6===l.type&&(i=new z(h,this,t)),this._$AV.push(i),l=s[++n]}o!==l?.index&&(h=C.nextNode(),o++)}return C.currentNode=r,e}p(t){let i=0;for(const s of this._$AV)void 0!==s&&(void 0!==s.strings?(s._$AI(t,s,i),i+=s.strings.length-2):s._$AI(t[i])),i++}}class R{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,i,s,e){this.type=2,this._$AH=E,this._$AN=void 0,this._$AA=t,this._$AB=i,this._$AM=s,this.options=e,this._$Cv=e?.isConnected??!0}get parentNode(){let t=this._$AA.parentNode;const i=this._$AM;return void 0!==i&&11===t?.nodeType&&(t=i.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,i=this){t=S(this,t,i),c(t)?t===E||null==t||\"\"===t?(this._$AH!==E&&this._$AR(),this._$AH=E):t!==this._$AH&&t!==T&&this._(t):void 0!==t._$litType$?this.$(t):void 0!==t.nodeType?this.T(t):u(t)?this.k(t):this._(t)}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}_(t){this._$AH!==E&&c(this._$AH)?this._$AA.nextSibling.data=t:this.T(r.createTextNode(t)),this._$AH=t}$(t){const{values:i,_$litType$:s}=t,e=\"number\"==typeof s?this._$AC(t):(void 0===s.el&&(s.el=N.createElement(P(s.h,s.h[0]),this.options)),s);if(this._$AH?._$AD===e)this._$AH.p(i);else{const t=new M(e,this),s=t.u(this.options);t.p(i),this.T(s),this._$AH=t}}_$AC(t){let i=A.get(t.strings);return void 0===i&&A.set(t.strings,i=new N(t)),i}k(t){a(this._$AH)||(this._$AH=[],this._$AR());const i=this._$AH;let s,e=0;for(const h of t)e===i.length?i.push(s=new R(this.O(l()),this.O(l()),this,this.options)):s=i[e],s._$AI(h),e++;e<i.length&&(this._$AR(s&&s._$AB.nextSibling,e),i.length=e)}_$AR(t=this._$AA.nextSibling,i){for(this._$AP?.(!1,!0,i);t!==this._$AB;){const i=t.nextSibling;t.remove(),t=i}}setConnected(t){void 0===this._$AM&&(this._$Cv=t,this._$AP?.(t))}}class k{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,i,s,e,h){this.type=1,this._$AH=E,this._$AN=void 0,this.element=t,this.name=i,this._$AM=e,this.options=h,s.length>2||\"\"!==s[0]||\"\"!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=E}_$AI(t,i=this,s,e){const h=this.strings;let o=!1;if(void 0===h)t=S(this,t,i,0),o=!c(t)||t!==this._$AH&&t!==T,o&&(this._$AH=t);else{const e=t;let n,r;for(t=h[0],n=0;n<h.length-1;n++)r=S(this,e[s+n],i,n),r===T&&(r=this._$AH[n]),o||=!c(r)||r!==this._$AH[n],r===E?t=E:t!==E&&(t+=(r??\"\")+h[n+1]),this._$AH[n]=r}o&&!e&&this.j(t)}j(t){t===E?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??\"\")}}class H extends k{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===E?void 0:t}}class I extends k{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==E)}}class L extends k{constructor(t,i,s,e,h){super(t,i,s,e,h),this.type=5}_$AI(t,i=this){if((t=S(this,t,i,0)??E)===T)return;const s=this._$AH,e=t===E&&s!==E||t.capture!==s.capture||t.once!==s.once||t.passive!==s.passive,h=t!==E&&(s===E||e);e&&this.element.removeEventListener(this.name,this,s),h&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){\"function\"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t)}}class z{constructor(t,i,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=i,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(t){S(this,t)}}const Z={M:e,P:h,A:o,C:1,L:V,R:M,D:u,V:S,I:R,H:k,N:I,U:L,B:H,F:z},j=t.litHtmlPolyfillSupport;j?.(N,R),(t.litHtmlVersions??=[]).push(\"3.3.1\");const B=(t,i,s)=>{const e=s?.renderBefore??i;let h=e._$litPart$;if(void 0===h){const t=s?.renderBefore??null;e._$litPart$=h=new R(i.insertBefore(l(),t),t,void 0,s??{})}return h._$AI(t),h};export{Z as _$LH,x as html,w as mathml,T as noChange,E as nothing,B as render,b as svg};\n//# sourceMappingURL=lit-html.js.map\n","import{nothing as t}from\"../lit-html.js\";\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const o=o=>o??t;export{o as ifDefined};\n//# sourceMappingURL=if-defined.js.map\n","import { LitElement, html } from \"lit\";\nimport { property } from \"lit/decorators.js\";\nimport styles from \"./nys-button.styles\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\n\nlet buttonIdCounter = 0; // Counter for generating unique IDs\n\nexport class NysButton extends LitElement {\n @property({ type: String }) id = \"\";\n @property({ type: String, reflect: true }) name = \"\";\n // size\n private static readonly VALID_SIZES = [\"sm\", \"md\", \"lg\"] as const;\n private _size: (typeof NysButton.VALID_SIZES)[number] = \"md\";\n @property({ reflect: true })\n get size(): (typeof NysButton.VALID_SIZES)[number] {\n return this._size;\n }\n set size(value: string) {\n this._size = NysButton.VALID_SIZES.includes(\n value as (typeof NysButton.VALID_SIZES)[number],\n )\n ? (value as (typeof NysButton.VALID_SIZES)[number])\n : \"md\";\n }\n @property({ type: Boolean, reflect: true }) fullWidth = false;\n // variant\n private static readonly VALID_VARIANTS = [\n \"filled\",\n \"outline\",\n \"ghost\",\n \"text\",\n ] as const;\n private _variant: (typeof NysButton.VALID_VARIANTS)[number] = \"filled\";\n @property({ reflect: true })\n get variant(): (typeof NysButton.VALID_VARIANTS)[number] {\n return this._variant;\n }\n set variant(value: string) {\n this._variant = NysButton.VALID_VARIANTS.includes(\n value as (typeof NysButton.VALID_VARIANTS)[number],\n )\n ? (value as (typeof NysButton.VALID_VARIANTS)[number])\n : \"filled\";\n }\n @property({ type: Boolean, reflect: true }) inverted = false; //used on dark text\n @property({ type: String }) label = \"\";\n @property({ type: String }) ariaLabel = \"\";\n @property({ type: String }) ariaControls = \"\";\n @property({ type: String }) prefixIcon = \"\";\n @property({ type: String }) suffixIcon = \"\";\n @property({ type: Boolean, reflect: true }) circle = false;\n @property({ type: String }) icon = \"\";\n @property({ type: Boolean, reflect: true }) disabled = false;\n @property({ type: String, reflect: true }) form: string | null = null;\n @property({ type: String }) value = \"\";\n @property({ type: String }) ariaDescription = \"\";\n // type\n private static readonly VALID_TYPES = [\"submit\", \"reset\", \"button\"] as const;\n private _type: (typeof NysButton.VALID_TYPES)[number] = \"button\";\n @property({ reflect: true })\n get type(): (typeof NysButton.VALID_TYPES)[number] {\n return this._type;\n }\n set type(value: string) {\n this._type = NysButton.VALID_TYPES.includes(\n value as (typeof NysButton.VALID_TYPES)[number],\n )\n ? (value as (typeof NysButton.VALID_TYPES)[number])\n : \"button\";\n }\n @property({ attribute: false }) onClick: ((event: Event) => void) | null =\n null;\n @property({ type: String }) href = \"\";\n // target\n private static readonly VALID_TARGETS = [\n \"_self\",\n \"_blank\",\n \"_parent\",\n \"_top\",\n \"framename\",\n ] as const;\n private _target: (typeof NysButton.VALID_TARGETS)[number] = \"_self\";\n @property({ reflect: true })\n get target(): (typeof NysButton.VALID_TARGETS)[number] {\n return this._target;\n }\n set target(value: string) {\n this._target = NysButton.VALID_TARGETS.includes(\n value as (typeof NysButton.VALID_TARGETS)[number],\n )\n ? (value as (typeof NysButton.VALID_TARGETS)[number])\n : \"_self\";\n }\n\n public async getButtonElement(): Promise<HTMLElement | null> {\n await this.updateComplete; // Wait for the component to finish rendering\n\n // if it's a link button\n const linkEl =\n this.shadowRoot?.querySelector<HTMLAnchorElement>(\"a.nys-button\") || null;\n if (linkEl) return linkEl;\n\n // Otherwise return the native button\n const btnEl =\n this.shadowRoot?.querySelector<HTMLButtonElement>(\"button.nys-button\") ||\n null;\n if (btnEl) return btnEl;\n\n return null;\n }\n\n static styles = styles;\n private _internals: ElementInternals;\n\n /**************** Lifecycle Methods ****************/\n static formAssociated = true; // allows use of elementInternals' API\n\n constructor() {\n super();\n this._internals = this.attachInternals();\n }\n\n connectedCallback() {\n super.connectedCallback();\n\n // Generate a unique ID if not provided\n if (!this.id) {\n this.id = this._generateUniqueId();\n }\n }\n\n /******************** Functions ********************/\n private _generateUniqueId() {\n return `nys-button-${Date.now()}-${buttonIdCounter++}`;\n }\n\n private _manageFormAction() {\n // If an onClick function is provided, call it\n if (typeof this.onClick === \"function\" && this.onClick !== null) {\n this.onClick(new Event(\"click\")); // Call user-provided onClick function with a fake click event\n }\n\n // If part of a form, perform the corresponding action based on button's \"type\"\n const form = this._internals.form;\n\n if (form) {\n switch (this.type) {\n case \"submit\":\n form.requestSubmit();\n break;\n case \"reset\":\n form.reset();\n break;\n case \"button\":\n }\n }\n }\n\n /******************** Event Handlers ********************/\n // Handle focus event\n private _handleFocus() {\n this.dispatchEvent(new Event(\"nys-focus\"));\n }\n\n // Handle blur event\n private _handleBlur() {\n const button = this.shadowRoot?.querySelector(\".nys-button\");\n button?.classList.remove(\"active-focus\");\n this.dispatchEvent(new Event(\"nys-blur\"));\n }\n\n private _handleClick(event: Event) {\n if (this.disabled) {\n event.preventDefault();\n return;\n }\n this._manageFormAction();\n this.dispatchEvent(new Event(\"nys-click\"));\n }\n\n // Handle keydown for keyboard accessibility\n private _handleKeydown(e: KeyboardEvent) {\n if (\n e.code === \"Space\" ||\n e.code === \"Enter\" ||\n e.key === \" \" ||\n e.key === \"Enter\"\n ) {\n if (this.disabled) return;\n\n e.preventDefault();\n\n if (this.href) {\n // Click the internal <a> so native navigation happens\n const linkEl = this.renderRoot.querySelector(\n \"a.nys-button\",\n ) as HTMLAnchorElement;\n if (linkEl) {\n linkEl.click();\n }\n } else {\n this._handleAnyAttributeFunction();\n this._handleClick(e);\n }\n }\n }\n\n /**\n * Vanilla JS & Native HTML keydown solution:\n * The <nys-button onClick=\"doFunction();\"></nys-button> onClick is an attribute here.\n * Thus, we call it here. Otherwise, at this point, this.onClick is null as it isn't props, but a string attribute\n * In vanilla HTML/JS, clicking with execute the attribute function, BUT now with keydown, hence this solution.\n */\n private _handleAnyAttributeFunction() {\n const onClickAttr = this.getAttribute(\"onClick\");\n if (onClickAttr) {\n const callFunc = new Function(\"return \" + onClickAttr);\n callFunc();\n }\n }\n\n /******************** Public Methods ********************/\n public focus(options?: FocusOptions) {\n const innerEl = this.renderRoot.querySelector(\n this.href ? \"a.nys-button\" : \"button.nys-button\",\n ) as HTMLElement | null;\n\n if (innerEl) {\n innerEl.focus(options);\n } else {\n // fallback: focus host\n super.focus(options);\n }\n }\n\n render() {\n return html`\n ${this.href\n ? html`\n <div class=\"nys-button__linkwrapper\">\n <a\n class=\"nys-button\"\n id=${ifDefined(this.id)}\n name=${ifDefined(this.name ? this.name : undefined)}\n ?disabled=${this.disabled}\n aria-disabled=\"${this.disabled ? \"true\" : \"false\"}\"\n value=${ifDefined(this.value ? this.value : undefined)}\n href=${this.href}\n target=${this.target}\n aria-label=${ifDefined(\n this.ariaLabel ||\n this.label ||\n (this.circle ? this.icon : null) ||\n \"button\",\n )}\n aria-description=${ifDefined(this.ariaDescription || undefined)}\n @click=${this._handleClick}\n @focus=\"${this._handleFocus}\"\n @blur=\"${this._handleBlur}\"\n @keydown=\"${this._handleKeydown}\"\n role=\"button\"\n tabindex=\"${this.disabled ? -1 : 0}\"\n >\n ${this.prefixIcon && this.variant !== \"text\"\n ? html`<slot name=\"prefix-icon\">\n <nys-icon size=\"16\" name=${this.prefixIcon}></nys-icon>\n </slot>`\n : \"\"}\n ${this.label && !this.circle\n ? html`<div class=\"nys-button__text\">${this.label}</div>`\n : \"\"}\n ${this.suffixIcon && this.variant !== \"text\"\n ? html`<slot name=\"suffix-icon\">\n <nys-icon size=\"16\" name=${this.suffixIcon}></nys-icon>\n </slot>`\n : \"\"}\n ${this.circle && this.icon\n ? html`<slot name=\"circle-icon\"\n ><nys-icon\n size=${this.size === \"sm\"\n ? \"24\"\n : this.size === \"lg\"\n ? \"40\"\n : \"32\"}\n name=${this.icon}\n ></nys-icon\n ></slot>`\n : \"\"}\n </a>\n </div>\n `\n : html`\n <button\n class=\"nys-button\"\n id=${ifDefined(this.id)}\n name=${ifDefined(this.name ? this.name : undefined)}\n ?disabled=${this.disabled}\n form=${ifDefined(this.form || undefined)}\n value=${ifDefined(this.value ? this.value : undefined)}\n type=${this.type}\n aria-controls=${ifDefined(this.ariaControls || undefined)}\n aria-label=${ifDefined(\n this.ariaLabel ||\n this.label ||\n (this.circle ? this.icon : null) ||\n this.prefixIcon ||\n this.suffixIcon ||\n \"button\",\n )}\n aria-description=${ifDefined(this.ariaDescription || undefined)}\n @click=${this._handleClick}\n @focus=\"${this._handleFocus}\"\n @blur=\"${this._handleBlur}\"\n @keydown=\"${this._handleKeydown}\"\n role=\"button\"\n >\n ${this.prefixIcon && this.variant !== \"text\"\n ? html`<slot name=\"prefix-icon\">\n <nys-icon size=\"16\" name=${this.prefixIcon}></nys-icon>\n </slot>`\n : \"\"}\n ${this.label && !this.circle\n ? html`<div class=\"nys-button__text\">${this.label}</div>`\n : \"\"}\n ${this.suffixIcon && this.variant !== \"text\"\n ? html`<slot name=\"suffix-icon\">\n <nys-icon size=\"16\" name=${this.suffixIcon}></nys-icon>\n </slot>`\n : \"\"}\n ${this.circle && this.icon\n ? html`<slot name=\"circle-icon\">\n <nys-icon\n size=${this.size === \"sm\"\n ? \"24\"\n : this.size === \"lg\"\n ? \"40\"\n : \"32\"}\n name=${this.icon}\n ></nys-icon>\n </slot>`\n : \"\"}\n </button>\n `}\n `;\n }\n}\n\nif (!customElements.get(\"nys-button\")) {\n customElements.define(\"nys-button\", NysButton);\n}\n"],"names":["t","e","s","o","n$3","r","n","S","c","i","h","a","l","p","d","u","f","b","y","styles","css","v","_","m","g","$","T","E","A","C","P","V","x","N","H","I","L","k","M","z","j","buttonIdCounter","_NysButton","_a","LitElement","value","linkEl","btnEl","form","event","onClickAttr","options","innerEl","html","ifDefined","__decorateClass","property","NysButton"],"mappings":"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A;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA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","x_google_ignoreList":[0,1,2,4,5]}
|
|
1
|
+
{"version":3,"file":"nys-button.js","sources":["../src/nys-button.ts"],"sourcesContent":["import { LitElement, html, unsafeCSS } from \"lit\";\nimport { property } from \"lit/decorators.js\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\n// @ts-ignore: SCSS module imported via bundler as inline\nimport styles from \"./nys-button.scss?inline\";\n\nlet buttonIdCounter = 0; // Counter for generating unique IDs\n\nexport class NysButton extends LitElement {\n static styles = unsafeCSS(styles);\n\n @property({ type: String, reflect: true }) id = \"\";\n @property({ type: String, reflect: true }) name = \"\";\n // size\n private static readonly VALID_SIZES = [\"sm\", \"md\", \"lg\"] as const;\n private _size: (typeof NysButton.VALID_SIZES)[number] = \"md\";\n @property({ reflect: true })\n get size(): (typeof NysButton.VALID_SIZES)[number] {\n return this._size;\n }\n set size(value: string) {\n this._size = NysButton.VALID_SIZES.includes(\n value as (typeof NysButton.VALID_SIZES)[number],\n )\n ? (value as (typeof NysButton.VALID_SIZES)[number])\n : \"md\";\n }\n @property({ type: Boolean, reflect: true }) fullWidth = false;\n // variant\n private static readonly VALID_VARIANTS = [\n \"filled\",\n \"outline\",\n \"ghost\",\n \"text\",\n ] as const;\n private _variant: (typeof NysButton.VALID_VARIANTS)[number] = \"filled\";\n @property({ reflect: true })\n get variant(): (typeof NysButton.VALID_VARIANTS)[number] {\n return this._variant;\n }\n set variant(value: string) {\n this._variant = NysButton.VALID_VARIANTS.includes(\n value as (typeof NysButton.VALID_VARIANTS)[number],\n )\n ? (value as (typeof NysButton.VALID_VARIANTS)[number])\n : \"filled\";\n }\n @property({ type: Boolean, reflect: true }) inverted = false; //used on dark text\n @property({ type: String }) label = \"\";\n @property({ type: String }) ariaLabel = \"\";\n @property({ type: String }) ariaControls = \"\";\n @property({ type: String }) prefixIcon = \"\";\n @property({ type: String }) suffixIcon = \"\";\n @property({ type: Boolean, reflect: true }) circle = false;\n @property({ type: String }) icon = \"\";\n @property({ type: Boolean, reflect: true }) disabled = false;\n @property({ type: String, reflect: true }) form: string | null = null;\n @property({ type: String }) value = \"\";\n @property({ type: String }) ariaDescription = \"\";\n // type\n private static readonly VALID_TYPES = [\"submit\", \"reset\", \"button\"] as const;\n private _type: (typeof NysButton.VALID_TYPES)[number] = \"button\";\n @property({ reflect: true })\n get type(): (typeof NysButton.VALID_TYPES)[number] {\n return this._type;\n }\n set type(value: string) {\n this._type = NysButton.VALID_TYPES.includes(\n value as (typeof NysButton.VALID_TYPES)[number],\n )\n ? (value as (typeof NysButton.VALID_TYPES)[number])\n : \"button\";\n }\n @property({ attribute: false }) onClick: ((event: Event) => void) | null =\n null;\n @property({ type: String }) href = \"\";\n // target\n private static readonly VALID_TARGETS = [\n \"_self\",\n \"_blank\",\n \"_parent\",\n \"_top\",\n \"framename\",\n ] as const;\n private _target: (typeof NysButton.VALID_TARGETS)[number] = \"_self\";\n @property({ reflect: true })\n get target(): (typeof NysButton.VALID_TARGETS)[number] {\n return this._target;\n }\n set target(value: string) {\n this._target = NysButton.VALID_TARGETS.includes(\n value as (typeof NysButton.VALID_TARGETS)[number],\n )\n ? (value as (typeof NysButton.VALID_TARGETS)[number])\n : \"_self\";\n }\n\n public async getButtonElement(): Promise<HTMLElement | null> {\n await this.updateComplete; // Wait for the component to finish rendering\n\n // if it's a link button\n const linkEl =\n this.shadowRoot?.querySelector<HTMLAnchorElement>(\"a.nys-button\") || null;\n if (linkEl) return linkEl;\n\n // Otherwise return the native button\n const btnEl =\n this.shadowRoot?.querySelector<HTMLButtonElement>(\"button.nys-button\") ||\n null;\n if (btnEl) return btnEl;\n\n return null;\n }\n\n private _internals: ElementInternals;\n\n /**************** Lifecycle Methods ****************/\n static formAssociated = true; // allows use of elementInternals' API\n\n constructor() {\n super();\n this._internals = this.attachInternals();\n }\n\n connectedCallback() {\n super.connectedCallback();\n\n // Generate a unique ID if not provided\n if (!this.id) {\n this.id = this._generateUniqueId();\n }\n }\n\n /******************** Functions ********************/\n private _generateUniqueId() {\n return `nys-button-${Date.now()}-${buttonIdCounter++}`;\n }\n\n private _manageFormAction() {\n // If an onClick function is provided, call it\n if (typeof this.onClick === \"function\" && this.onClick !== null) {\n this.onClick(new Event(\"click\")); // Call user-provided onClick function with a fake click event\n }\n\n // If part of a form, perform the corresponding action based on button's \"type\"\n const form = this._internals.form;\n\n if (form) {\n switch (this.type) {\n case \"submit\":\n form.requestSubmit();\n break;\n case \"reset\":\n form.reset();\n break;\n case \"button\":\n }\n }\n }\n\n /******************** Event Handlers ********************/\n // Handle focus event\n private _handleFocus() {\n this.dispatchEvent(new Event(\"nys-focus\"));\n }\n\n // Handle blur event\n private _handleBlur() {\n const button = this.shadowRoot?.querySelector(\".nys-button\");\n button?.classList.remove(\"active-focus\");\n this.dispatchEvent(new Event(\"nys-blur\"));\n }\n\n private _handleClick(event: Event) {\n if (this.disabled) {\n event.preventDefault();\n return;\n }\n this._manageFormAction();\n this.dispatchEvent(new Event(\"nys-click\"));\n }\n\n // Handle keydown for keyboard accessibility\n private _handleKeydown(e: KeyboardEvent) {\n if (\n e.code === \"Space\" ||\n e.code === \"Enter\" ||\n e.key === \" \" ||\n e.key === \"Enter\"\n ) {\n if (this.disabled) return;\n\n e.preventDefault();\n\n if (this.href) {\n // Click the internal <a> so native navigation happens\n const linkEl = this.renderRoot.querySelector(\n \"a.nys-button\",\n ) as HTMLAnchorElement;\n if (linkEl) {\n linkEl.click();\n }\n } else {\n this._handleAnyAttributeFunction();\n this._handleClick(e);\n }\n }\n }\n\n /**\n * Vanilla JS & Native HTML keydown solution:\n * The <nys-button onClick=\"doFunction();\"></nys-button> onClick is an attribute here.\n * Thus, we call it here. Otherwise, at this point, this.onClick is null as it isn't props, but a string attribute\n * In vanilla HTML/JS, clicking with execute the attribute function, BUT now with keydown, hence this solution.\n */\n private _handleAnyAttributeFunction() {\n const onClickAttr = this.getAttribute(\"onClick\");\n if (onClickAttr) {\n const callFunc = new Function(\"return \" + onClickAttr);\n callFunc();\n }\n }\n\n /******************** Public Methods ********************/\n public focus(options?: FocusOptions) {\n const innerEl = this.renderRoot.querySelector(\n this.href ? \"a.nys-button\" : \"button.nys-button\",\n ) as HTMLElement | null;\n\n if (innerEl) {\n innerEl.focus(options);\n } else {\n // fallback: focus host\n super.focus(options);\n }\n }\n\n render() {\n return html`\n ${this.href\n ? html`\n <div class=\"nys-button__linkwrapper\">\n <a\n class=\"nys-button\"\n name=${ifDefined(this.name ? this.name : undefined)}\n ?disabled=${this.disabled}\n aria-disabled=\"${this.disabled ? \"true\" : \"false\"}\"\n value=${ifDefined(this.value ? this.value : undefined)}\n href=${this.href}\n target=${this.target}\n aria-label=${ifDefined(\n this.ariaLabel ||\n this.label ||\n (this.circle ? this.icon : null) ||\n \"button\",\n )}\n aria-description=${ifDefined(this.ariaDescription || undefined)}\n @click=${this._handleClick}\n @focus=\"${this._handleFocus}\"\n @blur=\"${this._handleBlur}\"\n @keydown=\"${this._handleKeydown}\"\n role=\"button\"\n tabindex=\"${this.disabled ? -1 : 0}\"\n >\n ${this.prefixIcon && this.variant !== \"text\"\n ? html`<slot name=\"prefix-icon\">\n <nys-icon size=\"16\" name=${this.prefixIcon}></nys-icon>\n </slot>`\n : \"\"}\n ${this.label && !this.circle\n ? html`<div class=\"nys-button__text\">${this.label}</div>`\n : \"\"}\n ${this.suffixIcon && this.variant !== \"text\"\n ? html`<slot name=\"suffix-icon\">\n <nys-icon size=\"16\" name=${this.suffixIcon}></nys-icon>\n </slot>`\n : \"\"}\n ${this.circle && this.icon\n ? html`<slot name=\"circle-icon\"\n ><nys-icon\n size=${this.size === \"sm\"\n ? \"24\"\n : this.size === \"lg\"\n ? \"40\"\n : \"32\"}\n name=${this.icon}\n ></nys-icon\n ></slot>`\n : \"\"}\n </a>\n </div>\n `\n : html`\n <button\n class=\"nys-button\"\n name=${ifDefined(this.name ? this.name : undefined)}\n ?disabled=${this.disabled}\n form=${ifDefined(this.form || undefined)}\n value=${ifDefined(this.value ? this.value : undefined)}\n type=${this.type}\n aria-controls=${ifDefined(this.ariaControls || undefined)}\n aria-label=${ifDefined(\n this.ariaLabel ||\n this.label ||\n (this.circle ? this.icon : null) ||\n this.prefixIcon ||\n this.suffixIcon ||\n \"button\",\n )}\n aria-description=${ifDefined(this.ariaDescription || undefined)}\n @click=${this._handleClick}\n @focus=\"${this._handleFocus}\"\n @blur=\"${this._handleBlur}\"\n @keydown=\"${this._handleKeydown}\"\n role=\"button\"\n >\n ${this.prefixIcon && this.variant !== \"text\"\n ? html`<slot name=\"prefix-icon\">\n <nys-icon size=\"16\" name=${this.prefixIcon}></nys-icon>\n </slot>`\n : \"\"}\n ${this.label && !this.circle\n ? html`<div class=\"nys-button__text\">${this.label}</div>`\n : \"\"}\n ${this.suffixIcon && this.variant !== \"text\"\n ? html`<slot name=\"suffix-icon\">\n <nys-icon size=\"16\" name=${this.suffixIcon}></nys-icon>\n </slot>`\n : \"\"}\n ${this.circle && this.icon\n ? html`<slot name=\"circle-icon\">\n <nys-icon\n size=${this.size === \"sm\"\n ? \"24\"\n : this.size === \"lg\"\n ? \"40\"\n : \"32\"}\n name=${this.icon}\n ></nys-icon>\n </slot>`\n : \"\"}\n </button>\n `}\n `;\n }\n}\n\nif (!customElements.get(\"nys-button\")) {\n customElements.define(\"nys-button\", NysButton);\n}\n"],"names":["buttonIdCounter","_NysButton","_a","LitElement","value","linkEl","btnEl","form","event","e","onClickAttr","options","innerEl","html","ifDefined","unsafeCSS","styles","__decorateClass","property","NysButton"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nysds/nys-button",
|
|
3
|
-
"version": "1.11.
|
|
3
|
+
"version": "1.11.4",
|
|
4
4
|
"description": "The Button component from the NYS Design System.",
|
|
5
5
|
"module": "dist/nys-button.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -23,12 +23,12 @@
|
|
|
23
23
|
"lit-analyze": "lit-analyzer '**/*.ts'"
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@nysds/nys-icon": "^1.11.
|
|
26
|
+
"@nysds/nys-icon": "^1.11.4"
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
29
|
-
"lit": "^3.
|
|
30
|
-
"typescript": "^5.
|
|
31
|
-
"vite": "^7.1.
|
|
29
|
+
"lit": "^3.3.1",
|
|
30
|
+
"typescript": "^5.9.3",
|
|
31
|
+
"vite": "^7.1.12"
|
|
32
32
|
},
|
|
33
33
|
"keywords": [
|
|
34
34
|
"new-york-state",
|
package/dist/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./nys-button";
|
package/dist/nys-button.d.ts
DELETED
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
import { LitElement } from "lit";
|
|
2
|
-
export declare class NysButton extends LitElement {
|
|
3
|
-
id: string;
|
|
4
|
-
name: string;
|
|
5
|
-
private static readonly VALID_SIZES;
|
|
6
|
-
private _size;
|
|
7
|
-
get size(): (typeof NysButton.VALID_SIZES)[number];
|
|
8
|
-
set size(value: string);
|
|
9
|
-
fullWidth: boolean;
|
|
10
|
-
private static readonly VALID_VARIANTS;
|
|
11
|
-
private _variant;
|
|
12
|
-
get variant(): (typeof NysButton.VALID_VARIANTS)[number];
|
|
13
|
-
set variant(value: string);
|
|
14
|
-
inverted: boolean;
|
|
15
|
-
label: string;
|
|
16
|
-
ariaLabel: string;
|
|
17
|
-
ariaControls: string;
|
|
18
|
-
prefixIcon: string;
|
|
19
|
-
suffixIcon: string;
|
|
20
|
-
circle: boolean;
|
|
21
|
-
icon: string;
|
|
22
|
-
disabled: boolean;
|
|
23
|
-
form: string | null;
|
|
24
|
-
value: string;
|
|
25
|
-
ariaDescription: string;
|
|
26
|
-
private static readonly VALID_TYPES;
|
|
27
|
-
private _type;
|
|
28
|
-
get type(): (typeof NysButton.VALID_TYPES)[number];
|
|
29
|
-
set type(value: string);
|
|
30
|
-
onClick: ((event: Event) => void) | null;
|
|
31
|
-
href: string;
|
|
32
|
-
private static readonly VALID_TARGETS;
|
|
33
|
-
private _target;
|
|
34
|
-
get target(): (typeof NysButton.VALID_TARGETS)[number];
|
|
35
|
-
set target(value: string);
|
|
36
|
-
getButtonElement(): Promise<HTMLElement | null>;
|
|
37
|
-
static styles: import("lit").CSSResult;
|
|
38
|
-
private _internals;
|
|
39
|
-
/**************** Lifecycle Methods ****************/
|
|
40
|
-
static formAssociated: boolean;
|
|
41
|
-
constructor();
|
|
42
|
-
connectedCallback(): void;
|
|
43
|
-
/******************** Functions ********************/
|
|
44
|
-
private _generateUniqueId;
|
|
45
|
-
private _manageFormAction;
|
|
46
|
-
/******************** Event Handlers ********************/
|
|
47
|
-
private _handleFocus;
|
|
48
|
-
private _handleBlur;
|
|
49
|
-
private _handleClick;
|
|
50
|
-
private _handleKeydown;
|
|
51
|
-
/**
|
|
52
|
-
* Vanilla JS & Native HTML keydown solution:
|
|
53
|
-
* The <nys-button onClick="doFunction();"></nys-button> onClick is an attribute here.
|
|
54
|
-
* Thus, we call it here. Otherwise, at this point, this.onClick is null as it isn't props, but a string attribute
|
|
55
|
-
* In vanilla HTML/JS, clicking with execute the attribute function, BUT now with keydown, hence this solution.
|
|
56
|
-
*/
|
|
57
|
-
private _handleAnyAttributeFunction;
|
|
58
|
-
/******************** Public Methods ********************/
|
|
59
|
-
focus(options?: FocusOptions): void;
|
|
60
|
-
render(): import("lit-html").TemplateResult<1>;
|
|
61
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|