@nysds/nys-checkbox 1.11.2 → 1.11.3
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-checkbox.js +177 -1086
- package/dist/nys-checkbox.js.map +1 -1
- package/package.json +7 -7
- package/dist/index.d.ts +0 -2
- package/dist/nys-checkbox.d.ts +0 -48
- package/dist/nys-checkbox.figma.d.ts +0 -1
- package/dist/nys-checkbox.styles.d.ts +0 -2
- package/dist/nys-checkboxgroup.d.ts +0 -43
package/dist/nys-checkbox.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nys-checkbox.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","../../../node_modules/@lit/reactive-element/decorators/state.js","../../../node_modules/lit-html/lit-html.js","../../../node_modules/lit-html/directives/if-defined.js","../src/nys-checkbox.styles.ts","../src/nys-checkboxgroup.ts","../src/nys-checkbox.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{property as t}from\"./property.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function r(r){return t({...r,state:!0,attribute:!1})}export{r as state};\n//# sourceMappingURL=state.js.map\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 { css } from \"lit\";\n\nexport default css`\n :host {\n /* Anything that can be overridden should be defined here */\n\n /* Global Checkbox Styles */\n --_nys-checkbox-size: var(--nys-size-400, 32px);\n --_nys-checkbox-border-radius: var(--nys-radius-md, 4px);\n --_nys-checkbox-border-width: var(--nys-border-width-md, 2px);\n --_nys-checkbox-outline-color: var(--nys-color-focus, #004dd1);\n --_nys-checkbox-outline-width: var(--nys-border-width-md, 2px);\n --_nys-checkbox-outline-offset: var(--nys-space-2px, 2px);\n /* space between checkbox and it's label */\n --_nys-checkbox-gap: var(--nys-space-150, 12px);\n /* space between checkboxes */\n --_nys-checkboxgroup-gap: var(--nys-space-200, 16px);\n\n /* Typography */\n --_nys-checkbox-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 --_nys-checkbox-font-size: var(--nys-font-size-ui-md, 16px);\n --_nys-checkbox-font-weight: var(--nys-font-weight-regular, 400);\n --_nys-checkbox-line-height: var(--nys-font-lineheight-ui-md, 24px);\n\n /* Global Checkbox Colors */\n --_nys-checkbox-color: var(\n --nys-color-ink,\n var(--nys-color-neutral-900, #1b1b1b)\n );\n\n /* Default (Empty) */\n --_nys-checkbox-background-color: var(--nys-color-ink-reverse, #ffffff);\n --_nys-checkbox-border-color: var(--nys-color-neutral-600, #62666a);\n /* Empty + Hovered */\n --_nys-checkbox-background-color--hover: var(\n --nys-color-neutral-50,\n #ededed\n );\n --_nys-checkbox-border-color--hover: var(--nys-color-ink, #1b1b1b);\n /* Empty + Pressed */\n --_nys-checkbox-background-color--active: var(\n --nys-color-neutral-100,\n #d0d0ce\n );\n --_nys-checkbox-border-color--active: var(--nys-color-ink, #1b1b1b);\n /* Checked */\n --_nys-checkbox-background-color--checked: var(--nys-color-theme, #154973);\n --_nys-checkbox-border-color--checked: var(--nys-color-theme, #154973);\n /* Checked + Hovered */\n --_nys-checkbox-background-color--checked--hover: var(\n --nys-color-theme-strong,\n #0e324f\n );\n --_nys-checkbox-border-color--checked--hover: var(\n --nys-color-theme-strong,\n #0e324f\n );\n /* Checked + Pressed */\n --_nys-checkbox-background-color--checked--active: var(\n --nys-color-theme-stronger,\n #081b2b\n );\n --_nys-checkbox-border-color--checked--active: var(\n --nys-color-theme-stronger,\n #081b2b\n );\n /* Disabled */\n --_nys-checkbox-background-color--disabled: var(\n --nys-color-ink-reverse,\n #f0f0f0\n );\n --_nys-checkbox-border-color--disabled: var(\n --nys-color-neutral-400,\n #757575\n );\n --_nys-checkbox-color--disabled: var(--nys-color-text-disabled, #bec0c1);\n /* Disabled Checked */\n --_nys-checkbox-background-color--checked--disabled: var(\n --nys-color-neutral-100,\n #d0d0ce\n );\n --_nys-checkbox-border-color--checked--disabled: var(\n --nys-color-neutral-100,\n #d0d0ce\n );\n }\n\n /* Small Variant */\n :host([size=\"sm\"]) {\n --_nys-checkbox-size: var(--nys-size-300, 24px);\n --_nys-checkbox-border-radius: var(--nys-radius-sm, 2px);\n --_nys-checkboxgroup-gap: var(--nys-space-100, 8px);\n --_nys-checkbox-gap: var(--nys-space-100, 8px);\n }\n /* Medium Variant */\n :host([size=\"md\"]) {\n --_nys-checkbox-size: var(--nys-size-400, 32px);\n --_nys-checkbox-border-radius: var(--nys-radius-md, 4px);\n }\n\n /* Tile Variant */\n :host([tile]) {\n --_nys-checkbox-border-width--tile: var(--nys-border-width-sm, 1px);\n --_nys-checkbox-border-radius--tile: var(--nys-radius-md, 4px);\n --_nys-checkbox-border-color--tile: var(--nys-color-neutral-100, #d0d0ce);\n --_nys-checkbox-background-color--tile: var(\n --nys-color-ink-reverse,\n #ffffff\n );\n --_nys-checkbox-padding--x--tile: var(--nys-space-250, 20px);\n --_nys-checkbox-padding--y--tile: var(--nys-space-200, 16px);\n /* Hover */\n --_nys-checkbox-border-color--tile--hover: var(\n --nys-color-neutral-700,\n #4a4d4f\n );\n --_nys-checkbox-background-color--tile--hover: var(\n --nys-color-ink-reverse,\n #ffffff\n );\n /* Pressed */\n --_nys-checkbox-border-color--tile--active: var(\n --nys-color-neutral-900,\n #1b1b1b\n );\n --_nys-checkbox-background-color--tile--active: var(\n --nys-color-ink-reverse,\n #ffffff\n );\n /* Checked */\n --_nys-checkbox-border-color--tile--checked: var(\n --nys-color-theme-mid,\n #457aa5\n );\n --_nys-checkbox-background-color--tile--checked: var(\n --nys-color-theme-faint,\n #f7fafd\n );\n /* Disabled */\n --_nys-checkbox-background-color--tile--disabled: var(\n --nys-color-ink-reverse,\n #f0f0f0\n );\n --_nys-checkbox-border-color--tile--disabled: var(\n --nys-color-neutral-100,\n #d0d0ce\n );\n }\n\n :host([tile][size=\"sm\"]) {\n --_nys-checkbox-padding--x--tile: var(--nys-space-200, 16px);\n --_nys-checkbox-padding--y--tile: var(--nys-space-150, 12px);\n }\n\n :host([tile][showError]) {\n --_nys-checkbox-border-color--tile: var(--nys-color-danger, #b52c2c);\n --_nys-checkbox-border-color--tile--hover: var(--nys-color-danger, #b52c2c);\n --_nys-checkbox-border-color--tile--active: var(\n --nys-color-danger,\n #b52c2c\n );\n --_nys-checkbox-border-color--tile--checked: var(\n --nys-color-danger,\n #b52c2c\n );\n }\n\n #single-error-message {\n --_nys-errormessage-margin-top: var(--nys-space-50, 4px);\n }\n\n .nys-checkboxgroup {\n display: flex;\n flex-direction: column;\n gap: var(--nys-space-200, 16px);\n font-family: var(--_nys-checkbox-font-family);\n font-size: var(--_nys-checkbox-font-size);\n line-height: var(--_nys-checkbox-line-height);\n }\n\n .nys-checkboxgroup__content {\n display: flex;\n flex-direction: column;\n gap: var(--_nys-checkboxgroup-gap);\n }\n\n .nys-checkbox {\n display: flex;\n font-family: var(--_nys-checkbox-font-family);\n font-size: var(--_nys-checkbox-font-size);\n line-height: var(--_nys-checkbox-line-height);\n\n /* Tile */\n border-radius: var(--_nys-checkbox-border-radius--tile);\n border: var(--_nys-checkbox-border-width--tile) solid\n var(--_nys-checkbox-border-color--tile);\n background: var(--_nys-checkbox-background-color--tile);\n padding: var(--_nys-checkbox-padding--y--tile)\n var(--_nys-checkbox-padding--x--tile);\n gap: var(--_nys-checkbox-gap);\n }\n\n /* wraps the native checkbox and it's icon */\n .nys-checkbox__checkboxwrapper {\n position: relative;\n display: flex;\n justify-content: center;\n align-items: center;\n max-height: var(--_nys-checkbox-size);\n }\n\n .nys-checkbox__icon {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%); /* Centering the icon visually */\n pointer-events: none;\n color: white;\n }\n\n .nys-checkbox__checkbox {\n appearance: none;\n background-repeat: no-repeat;\n background-position: center;\n width: var(--_nys-checkbox-size);\n min-width: var(--_nys-checkbox-size);\n min-height: var(--_nys-checkbox-size);\n height: var(--_nys-checkbox-size);\n max-width: var(--_nys-checkbox-size);\n max-height: var(--_nys-checkbox-size);\n border: solid var(--_nys-checkbox-border-width)\n var(--_nys-checkbox-border-color);\n background-color: var(--_nys-checkbox-background-color);\n border-radius: var(--_nys-checkbox-border-radius);\n outline-offset: var(--_nys-checkbox-outline-offset);\n outline: none;\n }\n\n /* Pointer cursor for unchecked checkbox */\n .nys-checkbox:hover,\n .nys-checkbox:hover * {\n cursor: pointer;\n }\n\n /* Checked */\n .nys-checkbox__checkbox:not(:disabled):checked {\n background-color: var(--_nys-checkbox-background-color--checked);\n border-color: var(--_nys-checkbox-border-color--checked);\n }\n :host([tile])\n .nys-checkbox:has(.nys-checkbox__checkbox:not(:disabled):checked) {\n border-color: var(--_nys-checkbox-border-color--tile--checked);\n background-color: var(--_nys-checkbox-background-color--tile--checked);\n }\n\n /* Checked + Disabled */\n .nys-checkbox__checkbox:disabled:checked {\n background-color: var(--_nys-checkbox-background-color--checked--disabled);\n border-color: var(--_nys-checkbox-border-color--checked--disabled);\n }\n :host([tile]) .nys-checkbox:has(.nys-checkbox__checkbox:disabled:checked) {\n border-color: var(--_nys-checkbox-border-color--tile--disabled);\n background-color: var(--_nys-checkbox-background-color--tile--disabled);\n }\n\n /* Disabled */\n .nys-checkbox__checkbox:disabled {\n background-color: var(--_nys-checkbox-background-color--disabled);\n border-color: var(--_nys-checkbox-border-color--disabled);\n cursor: not-allowed;\n }\n .nys-checkbox:has(.nys-checkbox__checkbox:disabled) * {\n color: var(--_nys-checkbox-color--disabled);\n cursor: not-allowed;\n --_nys-label-cursor: not-allowed;\n --_nys-label-color: var(--_nys-checkbox-color--disabled);\n }\n :host([tile]) .nys-checkbox:has(.nys-checkbox__checkbox:disabled) {\n background-color: var(--_nys-checkbox-background-color--disabled);\n border-color: var(--_nys-checkbox-border-color--disabled);\n cursor: not-allowed;\n }\n\n /* Hover - not checked */\n .nys-checkbox__checkbox:hover:not(:disabled):not(:checked) {\n background-color: var(--_nys-checkbox-background-color--hover);\n border-color: var(--_nys-checkbox-border-color--hover);\n }\n :host([tile])\n .nys-checkbox:hover:has(\n .nys-checkbox__checkbox:not(:disabled):not(:checked)\n ) {\n border-color: var(--_nys-checkbox-border-color--tile--hover);\n background-color: var(--_nys-checkbox-background-color--tile--hover);\n outline: solid var(--_nys-checkbox-border-width--tile)\n var(--_nys-checkbox-border-color--tile--hover);\n }\n\n /* Hover + Checked */\n .nys-checkbox__checkbox:hover:not(:disabled):checked {\n border-color: var(--_nys-checkbox-border-color--checked--hover);\n background-color: var(--_nys-checkbox-background-color--checked--hover);\n }\n :host([tile])\n .nys-checkbox:hover:has(.nys-checkbox__checkbox:not(:disabled):checked) {\n outline: solid var(--_nys-checkbox-border-width--tile)\n var(--_nys-checkbox-border-color--tile--checked);\n }\n\n /* Pressed - not checked */\n .nys-checkbox__checkbox:active:not(:disabled):not(:checked) {\n background-color: var(--_nys-checkbox-background-color--active);\n border-color: var(--_nys-checkbox-border-color--active);\n }\n :host([tile])\n .nys-checkbox:has(\n .nys-checkbox__checkbox:active:not(:disabled):not(:checked)\n ) {\n border-color: var(--_nys-checkbox-border-color--tile--active);\n background-color: var(--_nys-checkbox-background-color--tile--active);\n outline: solid var(--_nys-checkbox-border-width--tile)\n var(--_nys-checkbox-border-color--tile--active);\n }\n\n /* Pressed + Checked */\n .nys-checkbox__checkbox:active:not(:disabled):checked {\n border-color: var(--_nys-checkbox-border-color--checked--active);\n background-color: var(--_nys-checkbox-background-color--checked--active);\n }\n\n /* Focused */\n :host(:not([tile])) .nys-checkbox__checkbox:focus {\n outline: solid var(--_nys-checkbox-outline-width)\n var(--_nys-checkbox-outline-color);\n }\n :host([tile]) .nys-checkbox:has(*:focus) {\n outline: solid var(--_nys-checkbox-border-width--tile)\n var(--_nys-checkbox-outline-color) !important;\n border-color: var(--_nys-checkbox-outline-color) !important;\n }\n\n :host(:not([tile])) .nys-checkbox > nys-label {\n --_nys-label-font-weight: var(--_nys-checkbox-font-weight);\n }\n\n :host([tile]) .nys-checkbox > nys-label {\n --_nys-description-font-style: normal;\n }\n\n /* Required */\n .nys-checkbox__required {\n color: var(--nys-color-danger, #b52c2c);\n }\n\n .nys-checkbox__requiredwrapper {\n display: flex;\n gap: 3px;\n }\n\n /* Screen readers ONLY */\n fieldset {\n all: unset;\n display: contents;\n }\n\n .sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n border: 0;\n }\n`;\n","import { LitElement, html } from \"lit\";\nimport { property, state } from \"lit/decorators.js\";\nimport styles from \"./nys-checkbox.styles\";\n\nlet checkboxgroupIdCounter = 0; // Counter for generating unique IDs\n\nexport class NysCheckboxgroup extends LitElement {\n @property({ type: String }) id = \"\";\n @property({ type: String, reflect: true }) name = \"\";\n @property({ type: Boolean, reflect: true }) required = false;\n @property({ type: Boolean, reflect: true }) optional = false;\n @property({ type: Boolean, reflect: true }) showError = false;\n @property({ type: String }) errorMessage = \"\";\n @property({ type: String }) label = \"\";\n @property({ type: String }) description = \"\";\n @property({ type: Boolean, reflect: true }) tile = false;\n @property({ type: String }) _tooltip = \"\";\n @property({ type: Boolean, reflect: true }) inverted = false;\n @property({ type: String, reflect: true }) form: string | null = null;\n\n @state() private _slottedDescriptionText = \"\";\n private static readonly VALID_SIZES = [\"sm\", \"md\"] as const;\n private _size: (typeof NysCheckboxgroup.VALID_SIZES)[number] = \"md\";\n\n // Getter and setter for the `size` property.\n @property({ reflect: true })\n get size(): (typeof NysCheckboxgroup.VALID_SIZES)[number] {\n return this._size;\n }\n\n set size(value: string) {\n // Check if the provided value is in VALID_WIDTHS. If not, default to \"md\".\n this._size = NysCheckboxgroup.VALID_SIZES.includes(\n value as (typeof NysCheckboxgroup.VALID_SIZES)[number],\n )\n ? (value as (typeof NysCheckboxgroup.VALID_SIZES)[number])\n : \"md\";\n }\n\n static styles = styles;\n\n private _internals: ElementInternals;\n\n /********************** Lifecycle updates **********************/\n static formAssociated = true; // allows use of elementInternals' API\n\n constructor() {\n super();\n this._internals = this.attachInternals();\n }\n\n // Generate a unique ID if one is not provided\n connectedCallback() {\n super.connectedCallback();\n if (!this.id) {\n this.id = `nys-checkbox-${Date.now()}-${checkboxgroupIdCounter++}`;\n }\n this.addEventListener(\"nys-change\", this._handleCheckboxChange);\n this.addEventListener(\"invalid\", this._handleInvalid);\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.removeEventListener(\"nys-change\", this._handleCheckboxChange);\n this.removeEventListener(\"invalid\", this._handleInvalid);\n }\n\n firstUpdated() {\n // This ensures our checkboxes sets the value only once for formData (not within the individual checkboxes)\n this._setGroupExist();\n this._updateCheckboxSize();\n this._updateCheckboxTile();\n this._updateCheckboxShowError();\n this._getSlotDescriptionForAria();\n }\n\n updated(changedProperties: Map<string | symbol, unknown>) {\n if (changedProperties.has(\"required\")) {\n if (this.required) {\n this._setupCheckboxRequired();\n }\n }\n if (changedProperties.has(\"size\")) {\n this._updateCheckboxSize();\n }\n if (changedProperties.has(\"tile\")) {\n this._updateCheckboxTile();\n }\n if (changedProperties.has(\"inverted\")) {\n this._updateCheckboxInvert();\n }\n if (changedProperties.has(\"showError\")) {\n this._updateCheckboxShowError();\n }\n if (changedProperties.has(\"form\")) {\n this._updateCheckboxForm();\n }\n }\n\n /********************** Functions **********************/\n private _setGroupExist() {\n const checkboxes = this.querySelectorAll(\"nys-checkbox\");\n checkboxes.forEach((checkbox: any) => {\n checkbox.groupExist = true;\n });\n }\n\n // Initial update on checkbox required attribute\n private async _setupCheckboxRequired() {\n const firstCheckbox = this.querySelector(\"nys-checkbox\");\n const message = this.errorMessage || \"This field is required\";\n\n const firstCheckboxInput = firstCheckbox\n ? await (firstCheckbox as any).getInputElement()\n : null;\n\n this._internals.setValidity(\n { valueMissing: true },\n message,\n firstCheckboxInput ? firstCheckboxInput : this,\n );\n }\n\n // Updates the required attribute of each checkbox in the group\n private async _manageRequire() {\n if (this.required) {\n const message = this.errorMessage || \"Please select at least one option.\";\n const firstCheckbox = this.querySelector(\"nys-checkbox\");\n const firstCheckboxInput = firstCheckbox\n ? await (firstCheckbox as any).getInputElement().catch(() => null)\n : null;\n\n const checkboxes = this.querySelectorAll(\"nys-checkbox\");\n // Loop through each child checkbox to see if one is checked.\n const atLeastOneChecked = Array.from(checkboxes).some(\n (checkbox: any) => checkbox.checked,\n );\n\n if (atLeastOneChecked) {\n this._internals.setValidity({});\n this.showError = false;\n } else {\n this._internals.setValidity(\n { valueMissing: true },\n message,\n firstCheckboxInput ? firstCheckboxInput : this,\n );\n this.showError = true;\n }\n }\n }\n\n // Updates the size of each checkbox in the group\n private _updateCheckboxSize() {\n const checkboxes = this.querySelectorAll(\"nys-checkbox\");\n checkboxes.forEach((checkbox) => {\n checkbox.setAttribute(\"size\", this.size);\n });\n }\n\n private _updateCheckboxTile() {\n const checkboxes = this.querySelectorAll(\"nys-checkbox\");\n checkboxes.forEach((checkbox) => {\n if (this.tile) {\n checkbox.toggleAttribute(\"tile\", true);\n } else {\n checkbox.removeAttribute(\"tile\");\n }\n });\n }\n\n private _updateCheckboxInvert() {\n const checkboxes = this.querySelectorAll(\"nys-checkbox\");\n checkboxes.forEach((checkbox) => {\n if (this.inverted) {\n checkbox.toggleAttribute(\"inverted\", true);\n } else {\n checkbox.removeAttribute(\"inverted\");\n }\n });\n }\n\n private _updateCheckboxShowError() {\n const checkboxes = this.querySelectorAll(\"nys-checkbox\");\n checkboxes.forEach((checkbox) => {\n if (this.showError) {\n checkbox.setAttribute(\"showError\", \"\");\n } else {\n checkbox.removeAttribute(\"showError\");\n }\n });\n }\n\n private _updateCheckboxForm() {\n const checkboxes = this.querySelectorAll(\"nys-checkbox\");\n checkboxes.forEach((checkbox) => {\n if (this.showError) {\n if (this.form !== null) {\n checkbox.setAttribute(\"form\", this.form);\n } else {\n checkbox.removeAttribute(\"form\");\n }\n } else {\n checkbox.removeAttribute(\"form\");\n }\n });\n }\n\n // Get the slotted text contents so native VO can attempt to announce it within the legend in the fieldset\n private _getSlotDescriptionForAria() {\n const slot = this.shadowRoot?.querySelector(\n 'slot[name=\"description\"]',\n ) as HTMLSlotElement;\n const nodes = slot?.assignedNodes({ flatten: true }) || [];\n\n this._slottedDescriptionText = nodes\n .map((node) => node.textContent?.trim())\n .filter(Boolean)\n .join(\", \");\n }\n\n private async _handleInvalid(event: Event) {\n event.preventDefault();\n\n this.showError = true;\n this._manageRequire(); // Refresh validation message\n\n const firstCheckbox = this.querySelector(\"nys-checkbox\");\n const firstCheckboxInput = firstCheckbox\n ? await (firstCheckbox as any).getInputElement()\n : null;\n\n if (firstCheckboxInput) {\n // Focus only if this is the first invalid element (top-down approach)\n const form = this._internals.form;\n if (form) {\n const elements = Array.from(form.elements) as Array<\n HTMLElement & { checkValidity?: () => boolean }\n >;\n // Find the first element in the form that is invalid\n const firstInvalidElement = elements.find((element) => {\n // If element is checkboxgroup, we see if anyone checkboxes within the group is checked to fulfill required constraint\n if (element.tagName.toLowerCase() === \"nys-checkboxgroup\") {\n const allCheckboxes = Array.from(\n this.querySelectorAll(\"nys-checkbox\"),\n ) as any[];\n const hasCheckedCheckbox = allCheckboxes.filter(\n (checkbox) => checkbox.checked,\n );\n // Required constraint not met, continue logic to have this component be focused\n if (hasCheckedCheckbox.length === 0) {\n return element;\n }\n } else {\n return (\n typeof element.checkValidity === \"function\" &&\n !element.checkValidity()\n );\n }\n });\n\n if (firstInvalidElement === this) {\n firstCheckboxInput.focus();\n }\n } else {\n // If not part of a form, simply focus.\n firstCheckboxInput.focus();\n }\n }\n }\n\n /******************** Event Handlers ********************/\n // Similar to how native forms handle multiple same-name fields, we group the selected values into a list for FormData.\n private _handleCheckboxChange(event: Event) {\n const customEvent = event as CustomEvent;\n const { name } = customEvent.detail;\n const checkboxes = Array.from(this.querySelectorAll(\"nys-checkbox\"));\n\n // Filter to only the checked ones and extract their values.\n const selectedValues = checkboxes\n .filter((checkbox: any) => checkbox.checked)\n .map((checkbox: any) => checkbox.value);\n\n this.name = name;\n\n this._internals.setFormValue(selectedValues.join(\", \"));\n\n this._manageRequire();\n }\n\n render() {\n return html`\n <div class=\"nys-checkboxgroup\">\n <nys-label\n for=${this.id}\n label=${this.label}\n description=${this.description}\n flag=${this.required ? \"required\" : this.optional ? \"optional\" : \"\"}\n tooltip=${this._tooltip}\n ?inverted=${this.inverted}\n >\n <slot name=\"description\" slot=\"description\">${this.description}</slot>\n </nys-label>\n <div class=\"nys-checkboxgroup__content\">\n <fieldset>\n <legend class=\"sr-only\">\n ${this.label}${this._slottedDescriptionText\n ? ` ${this._slottedDescriptionText}`\n : this.description\n ? ` ${this.description}`\n : \"\"}\n </legend>\n <slot></slot>\n </fieldset>\n </div>\n <nys-errormessage\n ?showError=${this.showError}\n errorMessage=${this._internals.validationMessage || this.errorMessage}\n .showDivider=${!this.tile}\n ></nys-errormessage>\n </div>\n `;\n }\n}\n\nif (!customElements.get(\"nys-checkboxgroup\")) {\n customElements.define(\"nys-checkboxgroup\", NysCheckboxgroup);\n}\n","import { LitElement, html } from \"lit\";\nimport { property } from \"lit/decorators.js\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\nimport styles from \"./nys-checkbox.styles\";\nimport \"./nys-checkboxgroup\";\n\nlet checkboxIdCounter = 0; // Counter for generating unique IDs\n\nexport class NysCheckbox extends LitElement {\n @property({ type: Boolean, reflect: true }) checked = false;\n @property({ type: Boolean, reflect: true }) disabled = false;\n @property({ type: Boolean, reflect: true }) required = false;\n @property({ type: String }) label = \"\";\n @property({ type: String }) description = \"\";\n @property({ type: String }) id = \"\";\n @property({ type: String, reflect: true }) name = \"\";\n @property({ type: String }) value = \"\";\n @property({ type: String, reflect: true }) form: string | null = null;\n @property({ type: Boolean, reflect: true }) showError = false;\n @property({ type: String }) errorMessage = \"\";\n @property({ type: Boolean }) groupExist = false;\n @property({ type: Boolean, reflect: true }) tile = false;\n @property({ type: Boolean, reflect: true }) inverted = false;\n private static readonly VALID_SIZES = [\"sm\", \"md\"] as const;\n private _size: (typeof NysCheckbox.VALID_SIZES)[number] = \"md\";\n\n // Getter and setter for the `size` property.\n @property({ reflect: true })\n get size(): (typeof NysCheckbox.VALID_SIZES)[number] {\n return this._size;\n }\n\n set size(value: string) {\n // Check if the provided value is in VALID_SIZES. If not, default to \"md\".\n this._size = NysCheckbox.VALID_SIZES.includes(\n value as (typeof NysCheckbox.VALID_SIZES)[number],\n )\n ? (value as (typeof NysCheckbox.VALID_SIZES)[number])\n : \"md\";\n }\n\n public async getInputElement(): Promise<HTMLInputElement | null> {\n await this.updateComplete; // Wait for the component to finish rendering\n return this.shadowRoot?.querySelector(\"input\") || null;\n }\n\n static styles = styles;\n private _internals: ElementInternals;\n\n /********************** Lifecycle updates **********************/\n static formAssociated = true; // allows use of elementInternals' API\n\n constructor() {\n super();\n this._internals = this.attachInternals();\n }\n\n // Generate a unique ID if one is not provided\n connectedCallback() {\n super.connectedCallback();\n if (!this.id) {\n this.id = `nys-checkbox-${Date.now()}-${checkboxIdCounter++}`;\n }\n this.addEventListener(\"invalid\", this._handleInvalid);\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.removeEventListener(\"invalid\", this._handleInvalid);\n }\n\n firstUpdated() {\n // This ensures our element always participates in the form\n this._setValue();\n this._manageRequire();\n this._manageLabelClick();\n }\n\n // This callback is automatically called when the parent form is reset.\n formResetCallback() {\n this.checked = false;\n }\n\n /********************** Form Integration **********************/\n private _setValue() {\n if (!this.groupExist) {\n this._internals.setFormValue(this.checked ? this.value : null);\n }\n }\n\n private _manageRequire() {\n const input = this.shadowRoot?.querySelector(\"input\");\n const message = this.errorMessage || \"This field is required\";\n if (!input) return;\n\n if (this.required && !this.checked) {\n this._internals.ariaRequired = \"true\";\n this._internals.setValidity({ valueMissing: true }, message, input);\n } else {\n this._internals.setValidity({});\n }\n }\n\n private _setValidityMessage(message: string = \"\") {\n const input = this.shadowRoot?.querySelector(\"input\");\n if (!input) return;\n\n // Toggle the HTML <div> tag error message\n this.showError = !!message;\n // If user sets errorMessage, this will always override the native validation message\n if (this.errorMessage?.trim() && message !== \"\") {\n message = this.errorMessage;\n }\n\n this._internals.setValidity(\n message ? { customError: true } : {},\n message,\n input,\n );\n }\n\n private _validate() {\n const input = this.shadowRoot?.querySelector(\"input\");\n if (!input) return;\n\n // Get the native validation state\n const validity = input.validity;\n let message = \"\";\n\n if (validity.valueMissing) {\n message = \"This field is required\";\n }\n\n this._setValidityMessage(message);\n }\n\n /********************** Functions **********************/\n // This helper function is called to perform the element's native validation.\n checkValidity(): boolean {\n // If the radiogroup is required but no radio is selected, return false.\n if (this.required && !this.checked) {\n return false;\n }\n\n // Otherwise, optionally check the native input's validity if available.\n const input = this.shadowRoot?.querySelector(\"input\");\n return input ? input.checkValidity() : true;\n }\n\n private _handleInvalid(event: Event) {\n event.preventDefault();\n\n this.showError = true;\n this._validate(); // Make sure validation message appears\n\n const input = this.shadowRoot?.querySelector(\"input\");\n if (input) {\n // Focus only if this is the first invalid element (top-down approach)\n const form = this._internals.form;\n if (form) {\n const elements = Array.from(form.elements) as Array<\n HTMLElement & { checkValidity?: () => boolean }\n >;\n // Find the first element in the form that is invalid\n const firstInvalidElement = elements.find(\n (element) =>\n typeof element.checkValidity === \"function\" &&\n !element.checkValidity(),\n );\n if (firstInvalidElement === this) {\n input.focus();\n }\n } else {\n // If not part of a form, simply focus.\n input.focus();\n }\n }\n }\n\n private _manageLabelClick = () => {\n const labelEl = this.shadowRoot?.querySelector(\"nys-label\");\n const inputEl = this.shadowRoot?.querySelector(\"input\");\n\n if (labelEl && inputEl) {\n labelEl.addEventListener(\"click\", () => inputEl.click());\n }\n };\n\n /******************** Event Handlers ********************/\n private _emitChangeEvent() {\n this.dispatchEvent(\n new CustomEvent(\"nys-change\", {\n detail: {\n id: this.id,\n checked: this.checked,\n name: this.name,\n value: this.value,\n },\n bubbles: true,\n composed: true,\n }),\n );\n }\n\n // Handle checkbox change event\n private _handleChange(e: Event) {\n const { checked } = e.target as HTMLInputElement;\n this.checked = checked;\n if (!this.groupExist) {\n this._internals.setFormValue(this.checked ? this.value : null);\n }\n this._validate();\n this._emitChangeEvent();\n }\n\n // Handle focus event\n private _handleFocus() {\n this.dispatchEvent(new Event(\"nys-focus\"));\n }\n\n // Handle blur event\n private _handleBlur() {\n this.dispatchEvent(new Event(\"nys-blur\"));\n }\n\n // Handle keydown for keyboard accessibility\n private async _handleKeydown(e: KeyboardEvent) {\n if (e.code === \"Space\") {\n e.preventDefault();\n if (!this.disabled) {\n this.checked = !this.checked;\n this._internals.setFormValue(this.checked ? this.value : null);\n\n // Wait for DOM updates before validating. This is necessary to ensure the native input validation state is updated before this.validate().\n await this.updateComplete;\n this._validate();\n\n this._emitChangeEvent();\n }\n }\n }\n\n render() {\n return html`\n <label class=\"nys-checkbox\">\n <div class=\"nys-checkbox__checkboxwrapper\">\n <input\n id=\"${this.id}\"\n class=\"nys-checkbox__checkbox\"\n type=\"checkbox\"\n name=\"${ifDefined(this.name ? this.name : undefined)}\"\n .checked=${this.checked}\n ?disabled=${this.disabled}\n .value=${this.value}\n ?required=\"${this.required}\"\n form=${ifDefined(this.form || undefined)}\n aria-checked=\"${this.checked}\"\n aria-disabled=\"${this.disabled ? \"true\" : \"false\"}\"\n aria-required=\"${this.required}\"\n aria-describedby=\"group-info\"\n @change=\"${this._handleChange}\"\n @focus=\"${this._handleFocus}\"\n @blur=\"${this._handleBlur}\"\n @keydown=\"${this._handleKeydown}\"\n aria-label=\"${this.label}\"\n />\n ${this.checked\n ? html`<nys-icon\n for=\"${this.id}\"\n name=\"check\"\n size=\"${this.size === \"md\"\n ? \"4xl\"\n : this.size === \"sm\"\n ? \"2xl\"\n : \"xl\"}\"\n class=\"nys-checkbox__icon\"\n ></nys-icon>`\n : \"\"}\n </div>\n ${this.label &&\n html`\n <nys-label\n for=${this.id}\n label=${this.label}\n description=${ifDefined(this.description ?? undefined)}\n flag=${ifDefined(this.required ? \"required\" : undefined)}\n ?inverted=${this.inverted}\n >\n <slot name=\"description\" slot=\"description\"\n >${this.description}</slot\n >\n </nys-label>\n `}\n </label>\n ${this.parentElement?.tagName.toLowerCase() !== \"nys-checkboxgroup\"\n ? html`<nys-errormessage\n id=\"single-error-message\"\n ?showError=${this.showError}\n errorMessage=${this._internals.validationMessage ||\n this.errorMessage}\n .showDivider=${!this.tile}\n ></nys-errormessage>`\n : \"\"}\n `;\n }\n}\n\nif (!customElements.get(\"nys-checkbox\")) {\n customElements.define(\"nys-checkbox\", NysCheckbox);\n}\n"],"names":["t","e","s","o","n$3","r","n","S","c","i","h","a","l","p","d","u","f","b","y","v","_","m","g","$","T","E","A","C","P","V","x","N","H","I","L","k","M","R","z","j","styles","css","checkboxgroupIdCounter","_NysCheckboxgroup","_a","LitElement","value","changedProperties","checkbox","firstCheckbox","message","firstCheckboxInput","checkboxes","nodes","node","event","form","element","customEvent","name","selectedValues","html","__decorateClass","property","state","NysCheckboxgroup","checkboxIdCounter","_NysCheckbox","labelEl","inputEl","input","validity","checked","ifDefined","NysCheckbox"],"mappings":"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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;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;;;;;;ACEf,IAAIC,KAAyB;;AAEtB,MAAMC,KAANC,IAAA,cAA+BC,GAAW;AAAA;AAAA,EAwC/C,cAAc;AACZ,UAAA,GAxC0B,KAAA,KAAK,IACU,KAAA,OAAO,IACN,KAAA,WAAW,IACX,KAAA,WAAW,IACX,KAAA,YAAY,IAC5B,KAAA,eAAe,IACf,KAAA,QAAQ,IACR,KAAA,cAAc,IACE,KAAA,OAAO,IACvB,KAAA,WAAW,IACK,KAAA,WAAW,IACZ,KAAA,OAAsB,MAExD,KAAQ,0BAA0B,IAE3C,KAAQ,QAAuD,MA0B7D,KAAK,aAAa,KAAK,gBAAA;AAAA,EACzB;AAAA,EAvBA,IAAI,OAAsD;AACxD,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,IAAI,KAAKC,GAAe;AAEtB,SAAK,QAAQF,EAAiB,YAAY;AAAA,MACxCE;AAAA,IAAA,IAEGA,IACD;AAAA,EACN;AAAA;AAAA,EAeA,oBAAoB;AAClB,UAAM,kBAAA,GACD,KAAK,OACR,KAAK,KAAK,gBAAgB,KAAK,KAAK,IAAIJ,IAAwB,KAElE,KAAK,iBAAiB,cAAc,KAAK,qBAAqB,GAC9D,KAAK,iBAAiB,WAAW,KAAK,cAAc;AAAA,EACtD;AAAA,EAEA,uBAAuB;AACrB,UAAM,qBAAA,GACN,KAAK,oBAAoB,cAAc,KAAK,qBAAqB,GACjE,KAAK,oBAAoB,WAAW,KAAK,cAAc;AAAA,EACzD;AAAA,EAEA,eAAe;AAEb,SAAK,eAAA,GACL,KAAK,oBAAA,GACL,KAAK,oBAAA,GACL,KAAK,yBAAA,GACL,KAAK,2BAAA;AAAA,EACP;AAAA,EAEA,QAAQK,GAAkD;AACxD,IAAIA,EAAkB,IAAI,UAAU,KAC9B,KAAK,YACP,KAAK,uBAAA,GAGLA,EAAkB,IAAI,MAAM,KAC9B,KAAK,oBAAA,GAEHA,EAAkB,IAAI,MAAM,KAC9B,KAAK,oBAAA,GAEHA,EAAkB,IAAI,UAAU,KAClC,KAAK,sBAAA,GAEHA,EAAkB,IAAI,WAAW,KACnC,KAAK,yBAAA,GAEHA,EAAkB,IAAI,MAAM,KAC9B,KAAK,oBAAA;AAAA,EAET;AAAA;AAAA,EAGQ,iBAAiB;AAEvB,IADmB,KAAK,iBAAiB,cAAc,EAC5C,QAAQ,CAACC,MAAkB;AACpC,MAAAA,EAAS,aAAa;AAAA,IACxB,CAAC;AAAA,EACH;AAAA;AAAA,EAGA,MAAc,yBAAyB;AACrC,UAAMC,IAAgB,KAAK,cAAc,cAAc,GACjDC,IAAU,KAAK,gBAAgB,0BAE/BC,IAAqBF,IACvB,MAAOA,EAAsB,oBAC7B;AAEJ,SAAK,WAAW;AAAA,MACd,EAAE,cAAc,GAAA;AAAA,MAChBC;AAAA,MACAC,KAA0C;AAAA,IAAA;AAAA,EAE9C;AAAA;AAAA,EAGA,MAAc,iBAAiB;AAC7B,QAAI,KAAK,UAAU;AACjB,YAAMD,IAAU,KAAK,gBAAgB,sCAC/BD,IAAgB,KAAK,cAAc,cAAc,GACjDE,IAAqBF,IACvB,MAAOA,EAAsB,kBAAkB,MAAM,MAAM,IAAI,IAC/D,MAEEG,IAAa,KAAK,iBAAiB,cAAc;AAMvD,MAJ0B,MAAM,KAAKA,CAAU,EAAE;AAAA,QAC/C,CAACJ,MAAkBA,EAAS;AAAA,MAAA,KAI5B,KAAK,WAAW,YAAY,EAAE,GAC9B,KAAK,YAAY,OAEjB,KAAK,WAAW;AAAA,QACd,EAAE,cAAc,GAAA;AAAA,QAChBE;AAAA,QACAC,KAA0C;AAAA,MAAA,GAE5C,KAAK,YAAY;AAAA,IAErB;AAAA,EACF;AAAA;AAAA,EAGQ,sBAAsB;AAE5B,IADmB,KAAK,iBAAiB,cAAc,EAC5C,QAAQ,CAACH,MAAa;AAC/B,MAAAA,EAAS,aAAa,QAAQ,KAAK,IAAI;AAAA,IACzC,CAAC;AAAA,EACH;AAAA,EAEQ,sBAAsB;AAE5B,IADmB,KAAK,iBAAiB,cAAc,EAC5C,QAAQ,CAACA,MAAa;AAC/B,MAAI,KAAK,OACPA,EAAS,gBAAgB,QAAQ,EAAI,IAErCA,EAAS,gBAAgB,MAAM;AAAA,IAEnC,CAAC;AAAA,EACH;AAAA,EAEQ,wBAAwB;AAE9B,IADmB,KAAK,iBAAiB,cAAc,EAC5C,QAAQ,CAACA,MAAa;AAC/B,MAAI,KAAK,WACPA,EAAS,gBAAgB,YAAY,EAAI,IAEzCA,EAAS,gBAAgB,UAAU;AAAA,IAEvC,CAAC;AAAA,EACH;AAAA,EAEQ,2BAA2B;AAEjC,IADmB,KAAK,iBAAiB,cAAc,EAC5C,QAAQ,CAACA,MAAa;AAC/B,MAAI,KAAK,YACPA,EAAS,aAAa,aAAa,EAAE,IAErCA,EAAS,gBAAgB,WAAW;AAAA,IAExC,CAAC;AAAA,EACH;AAAA,EAEQ,sBAAsB;AAE5B,IADmB,KAAK,iBAAiB,cAAc,EAC5C,QAAQ,CAACA,MAAa;AAC/B,MAAI,KAAK,aACH,KAAK,SAAS,OAChBA,EAAS,aAAa,QAAQ,KAAK,IAAI,IAKzCA,EAAS,gBAAgB,MAAM;AAAA,IAEnC,CAAC;AAAA,EACH;AAAA;AAAA,EAGQ,6BAA6B;AAInC,UAAMK,IAHO,KAAK,YAAY;AAAA,MAC5B;AAAA,IAAA,GAEkB,cAAc,EAAE,SAAS,GAAA,CAAM,KAAK,CAAA;AAExD,SAAK,0BAA0BA,EAC5B,IAAI,CAACC,MAASA,EAAK,aAAa,KAAA,CAAM,EACtC,OAAO,OAAO,EACd,KAAK,IAAI;AAAA,EACd;AAAA,EAEA,MAAc,eAAeC,GAAc;AACzC,IAAAA,EAAM,eAAA,GAEN,KAAK,YAAY,IACjB,KAAK,eAAA;AAEL,UAAMN,IAAgB,KAAK,cAAc,cAAc,GACjDE,IAAqBF,IACvB,MAAOA,EAAsB,oBAC7B;AAEJ,QAAIE,GAAoB;AAEtB,YAAMK,IAAO,KAAK,WAAW;AAC7B,MAAIA,IACe,MAAM,KAAKA,EAAK,QAAQ,EAIJ,KAAK,CAACC,MAAY;AAErD,YAAIA,EAAQ,QAAQ,YAAA,MAAkB;AAQpC,cAPsB,MAAM;AAAA,YAC1B,KAAK,iBAAiB,cAAc;AAAA,UAAA,EAEG;AAAA,YACvC,CAACT,MAAaA,EAAS;AAAA,UAAA,EAGF,WAAW;AAChC,mBAAOS;AAAA;AAGT,iBACE,OAAOA,EAAQ,iBAAkB,cACjC,CAACA,EAAQ,cAAA;AAAA,MAGf,CAAC,MAE2B,QAC1BN,EAAmB,MAAA,IAIrBA,EAAmB,MAAA;AAAA,IAEvB;AAAA,EACF;AAAA;AAAA;AAAA,EAIQ,sBAAsBI,GAAc;AAC1C,UAAMG,IAAcH,GACd,EAAE,MAAAI,MAASD,EAAY,QAIvBE,IAHa,MAAM,KAAK,KAAK,iBAAiB,cAAc,CAAC,EAIhE,OAAO,CAACZ,MAAkBA,EAAS,OAAO,EAC1C,IAAI,CAACA,MAAkBA,EAAS,KAAK;AAExC,SAAK,OAAOW,GAEZ,KAAK,WAAW,aAAaC,EAAe,KAAK,IAAI,CAAC,GAEtD,KAAK,eAAA;AAAA,EACP;AAAA,EAEA,SAAS;AACP,WAAOC;AAAA;AAAA;AAAA,gBAGK,KAAK,EAAE;AAAA,kBACL,KAAK,KAAK;AAAA,wBACJ,KAAK,WAAW;AAAA,iBACvB,KAAK,WAAW,aAAa,KAAK,WAAW,aAAa,EAAE;AAAA,oBACzD,KAAK,QAAQ;AAAA,sBACX,KAAK,QAAQ;AAAA;AAAA,wDAEqB,KAAK,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA,gBAKxD,KAAK,KAAK,GAAG,KAAK,0BAChB,IAAI,KAAK,uBAAuB,KAChC,KAAK,cACH,IAAI,KAAK,WAAW,KACpB,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAMC,KAAK,SAAS;AAAA,yBACZ,KAAK,WAAW,qBAAqB,KAAK,YAAY;AAAA,yBACtD,CAAC,KAAK,IAAI;AAAA;AAAA;AAAA;AAAA,EAIjC;AACF,GA9SEjB,EAAwB,cAAc,CAAC,MAAM,IAAI,GAkBjDA,EAAO,SAASJ,IAKhBI,EAAO,iBAAiB,IAtCnBA;AACuBkB,EAAA;AAAA,EAA3BC,EAAS,EAAE,MAAM,OAAA,CAAQ;AAAA,GADfpB,EACiB,WAAA,MAAA,CAAA;AACemB,EAAA;AAAA,EAA1CC,EAAS,EAAE,MAAM,QAAQ,SAAS,IAAM;AAAA,GAF9BpB,EAEgC,WAAA,QAAA,CAAA;AACCmB,EAAA;AAAA,EAA3CC,EAAS,EAAE,MAAM,SAAS,SAAS,IAAM;AAAA,GAH/BpB,EAGiC,WAAA,YAAA,CAAA;AACAmB,EAAA;AAAA,EAA3CC,EAAS,EAAE,MAAM,SAAS,SAAS,IAAM;AAAA,GAJ/BpB,EAIiC,WAAA,YAAA,CAAA;AACAmB,EAAA;AAAA,EAA3CC,EAAS,EAAE,MAAM,SAAS,SAAS,IAAM;AAAA,GAL/BpB,EAKiC,WAAA,aAAA,CAAA;AAChBmB,EAAA;AAAA,EAA3BC,EAAS,EAAE,MAAM,OAAA,CAAQ;AAAA,GANfpB,EAMiB,WAAA,gBAAA,CAAA;AACAmB,EAAA;AAAA,EAA3BC,EAAS,EAAE,MAAM,OAAA,CAAQ;AAAA,GAPfpB,EAOiB,WAAA,SAAA,CAAA;AACAmB,EAAA;AAAA,EAA3BC,EAAS,EAAE,MAAM,OAAA,CAAQ;AAAA,GARfpB,EAQiB,WAAA,eAAA,CAAA;AACgBmB,EAAA;AAAA,EAA3CC,EAAS,EAAE,MAAM,SAAS,SAAS,IAAM;AAAA,GAT/BpB,EASiC,WAAA,QAAA,CAAA;AAChBmB,EAAA;AAAA,EAA3BC,EAAS,EAAE,MAAM,OAAA,CAAQ;AAAA,GAVfpB,EAUiB,WAAA,YAAA,CAAA;AACgBmB,EAAA;AAAA,EAA3CC,EAAS,EAAE,MAAM,SAAS,SAAS,IAAM;AAAA,GAX/BpB,EAWiC,WAAA,YAAA,CAAA;AACDmB,EAAA;AAAA,EAA1CC,EAAS,EAAE,MAAM,QAAQ,SAAS,IAAM;AAAA,GAZ9BpB,EAYgC,WAAA,QAAA,CAAA;AAE1BmB,EAAA;AAAA,EAAhBE,GAAA;AAAM,GAdIrB,EAcM,WAAA,2BAAA,CAAA;AAMbmB,EAAA;AAAA,EADHC,EAAS,EAAE,SAAS,GAAA,CAAM;AAAA,GAnBhBpB,EAoBP,WAAA,QAAA,CAAA;AApBC,IAAMsB,KAANtB;AA+TF,eAAe,IAAI,mBAAmB,KACzC,eAAe,OAAO,qBAAqBsB,EAAgB;;;;;;AChU7D,IAAIC,KAAoB;;AAEjB,MAAMC,KAANvB,IAAA,cAA0BC,GAAW;AAAA;AAAA,EA4C1C,cAAc;AACZ,UAAA,GA5C0C,KAAA,UAAU,IACV,KAAA,WAAW,IACX,KAAA,WAAW,IAC3B,KAAA,QAAQ,IACR,KAAA,cAAc,IACd,KAAA,KAAK,IACU,KAAA,OAAO,IACtB,KAAA,QAAQ,IACO,KAAA,OAAsB,MACrB,KAAA,YAAY,IAC5B,KAAA,eAAe,IACd,KAAA,aAAa,IACE,KAAA,OAAO,IACP,KAAA,WAAW,IAEvD,KAAQ,QAAkD,MA2J1D,KAAQ,oBAAoB,MAAM;AAChC,YAAMuB,IAAU,KAAK,YAAY,cAAc,WAAW,GACpDC,IAAU,KAAK,YAAY,cAAc,OAAO;AAEtD,MAAID,KAAWC,KACbD,EAAQ,iBAAiB,SAAS,MAAMC,EAAQ,OAAO;AAAA,IAE3D,GApIE,KAAK,aAAa,KAAK,gBAAA;AAAA,EACzB;AAAA,EA3BA,IAAI,OAAiD;AACnD,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,IAAI,KAAKvB,GAAe;AAEtB,SAAK,QAAQF,EAAY,YAAY;AAAA,MACnCE;AAAA,IAAA,IAEGA,IACD;AAAA,EACN;AAAA,EAEA,MAAa,kBAAoD;AAC/D,iBAAM,KAAK,gBACJ,KAAK,YAAY,cAAc,OAAO,KAAK;AAAA,EACpD;AAAA;AAAA,EAcA,oBAAoB;AAClB,UAAM,kBAAA,GACD,KAAK,OACR,KAAK,KAAK,gBAAgB,KAAK,KAAK,IAAIoB,IAAmB,KAE7D,KAAK,iBAAiB,WAAW,KAAK,cAAc;AAAA,EACtD;AAAA,EAEA,uBAAuB;AACrB,UAAM,qBAAA,GACN,KAAK,oBAAoB,WAAW,KAAK,cAAc;AAAA,EACzD;AAAA,EAEA,eAAe;AAEb,SAAK,UAAA,GACL,KAAK,eAAA,GACL,KAAK,kBAAA;AAAA,EACP;AAAA;AAAA,EAGA,oBAAoB;AAClB,SAAK,UAAU;AAAA,EACjB;AAAA;AAAA,EAGQ,YAAY;AAClB,IAAK,KAAK,cACR,KAAK,WAAW,aAAa,KAAK,UAAU,KAAK,QAAQ,IAAI;AAAA,EAEjE;AAAA,EAEQ,iBAAiB;AACvB,UAAMI,IAAQ,KAAK,YAAY,cAAc,OAAO,GAC9CpB,IAAU,KAAK,gBAAgB;AACrC,IAAKoB,MAED,KAAK,YAAY,CAAC,KAAK,WACzB,KAAK,WAAW,eAAe,QAC/B,KAAK,WAAW,YAAY,EAAE,cAAc,GAAA,GAAQpB,GAASoB,CAAK,KAElE,KAAK,WAAW,YAAY,EAAE;AAAA,EAElC;AAAA,EAEQ,oBAAoBpB,IAAkB,IAAI;AAChD,UAAMoB,IAAQ,KAAK,YAAY,cAAc,OAAO;AACpD,IAAKA,MAGL,KAAK,YAAY,CAAC,CAACpB,GAEf,KAAK,cAAc,KAAA,KAAUA,MAAY,OAC3CA,IAAU,KAAK,eAGjB,KAAK,WAAW;AAAA,MACdA,IAAU,EAAE,aAAa,GAAA,IAAS,CAAA;AAAA,MAClCA;AAAA,MACAoB;AAAA,IAAA;AAAA,EAEJ;AAAA,EAEQ,YAAY;AAClB,UAAMA,IAAQ,KAAK,YAAY,cAAc,OAAO;AACpD,QAAI,CAACA,EAAO;AAGZ,UAAMC,IAAWD,EAAM;AACvB,QAAIpB,IAAU;AAEd,IAAIqB,EAAS,iBACXrB,IAAU,2BAGZ,KAAK,oBAAoBA,CAAO;AAAA,EAClC;AAAA;AAAA;AAAA,EAIA,gBAAyB;AAEvB,QAAI,KAAK,YAAY,CAAC,KAAK;AACzB,aAAO;AAIT,UAAMoB,IAAQ,KAAK,YAAY,cAAc,OAAO;AACpD,WAAOA,IAAQA,EAAM,cAAA,IAAkB;AAAA,EACzC;AAAA,EAEQ,eAAef,GAAc;AACnC,IAAAA,EAAM,eAAA,GAEN,KAAK,YAAY,IACjB,KAAK,UAAA;AAEL,UAAMe,IAAQ,KAAK,YAAY,cAAc,OAAO;AACpD,QAAIA,GAAO;AAET,YAAMd,IAAO,KAAK,WAAW;AAC7B,MAAIA,IACe,MAAM,KAAKA,EAAK,QAAQ,EAIJ;AAAA,QACnC,CAACC,MACC,OAAOA,EAAQ,iBAAkB,cACjC,CAACA,EAAQ,cAAA;AAAA,MAAc,MAEC,QAC1Ba,EAAM,MAAA,IAIRA,EAAM,MAAA;AAAA,IAEV;AAAA,EACF;AAAA;AAAA,EAYQ,mBAAmB;AACzB,SAAK;AAAA,MACH,IAAI,YAAY,cAAc;AAAA,QAC5B,QAAQ;AAAA,UACN,IAAI,KAAK;AAAA,UACT,SAAS,KAAK;AAAA,UACd,MAAM,KAAK;AAAA,UACX,OAAO,KAAK;AAAA,QAAA;AAAA,QAEd,SAAS;AAAA,QACT,UAAU;AAAA,MAAA,CACX;AAAA,IAAA;AAAA,EAEL;AAAA;AAAA,EAGQ,cAAc,GAAU;AAC9B,UAAM,EAAE,SAAAE,MAAY,EAAE;AACtB,SAAK,UAAUA,GACV,KAAK,cACR,KAAK,WAAW,aAAa,KAAK,UAAU,KAAK,QAAQ,IAAI,GAE/D,KAAK,UAAA,GACL,KAAK,iBAAA;AAAA,EACP;AAAA;AAAA,EAGQ,eAAe;AACrB,SAAK,cAAc,IAAI,MAAM,WAAW,CAAC;AAAA,EAC3C;AAAA;AAAA,EAGQ,cAAc;AACpB,SAAK,cAAc,IAAI,MAAM,UAAU,CAAC;AAAA,EAC1C;AAAA;AAAA,EAGA,MAAc,eAAe,GAAkB;AAC7C,IAAI,EAAE,SAAS,YACb,EAAE,eAAA,GACG,KAAK,aACR,KAAK,UAAU,CAAC,KAAK,SACrB,KAAK,WAAW,aAAa,KAAK,UAAU,KAAK,QAAQ,IAAI,GAG7D,MAAM,KAAK,gBACX,KAAK,UAAA,GAEL,KAAK,iBAAA;AAAA,EAGX;AAAA,EAEA,SAAS;AACP,WAAOX;AAAA;AAAA;AAAA;AAAA,kBAIO,KAAK,EAAE;AAAA;AAAA;AAAA,oBAGLY,EAAU,KAAK,OAAO,KAAK,OAAO,MAAS,CAAC;AAAA,uBACzC,KAAK,OAAO;AAAA,wBACX,KAAK,QAAQ;AAAA,qBAChB,KAAK,KAAK;AAAA,yBACN,KAAK,QAAQ;AAAA,mBACnBA,EAAU,KAAK,QAAQ,MAAS,CAAC;AAAA,4BACxB,KAAK,OAAO;AAAA,6BACX,KAAK,WAAW,SAAS,OAAO;AAAA,6BAChC,KAAK,QAAQ;AAAA;AAAA,uBAEnB,KAAK,aAAa;AAAA,sBACnB,KAAK,YAAY;AAAA,qBAClB,KAAK,WAAW;AAAA,wBACb,KAAK,cAAc;AAAA,0BACjB,KAAK,KAAK;AAAA;AAAA,YAExB,KAAK,UACHZ;AAAA,uBACS,KAAK,EAAE;AAAA;AAAA,wBAEN,KAAK,SAAS,OAClB,QACA,KAAK,SAAS,OACZ,QACA,IAAI;AAAA;AAAA,8BAGZ,EAAE;AAAA;AAAA,UAEN,KAAK,SACPA;AAAA;AAAA,kBAEU,KAAK,EAAE;AAAA,oBACL,KAAK,KAAK;AAAA,0BACJY,EAAU,KAAK,eAAe,MAAS,CAAC;AAAA,mBAC/CA,EAAU,KAAK,WAAW,aAAa,MAAS,CAAC;AAAA,wBAC5C,KAAK,QAAQ;AAAA;AAAA;AAAA,iBAGpB,KAAK,WAAW;AAAA;AAAA;AAAA,SAGxB;AAAA;AAAA,QAED,KAAK,eAAe,QAAQ,YAAA,MAAkB,sBAC5CZ;AAAA;AAAA,yBAEe,KAAK,SAAS;AAAA,2BACZ,KAAK,WAAW,qBAC/B,KAAK,YAAY;AAAA,2BACF,CAAC,KAAK,IAAI;AAAA,kCAE3B,EAAE;AAAA;AAAA,EAEV;AACF,GA1REjB,EAAwB,cAAc,CAAC,MAAM,IAAI,GAuBjDA,EAAO,SAASJ,IAIhBI,EAAO,iBAAiB,IA1CnBA;AACuCkB,EAAA;AAAA,EAA3CC,EAAS,EAAE,MAAM,SAAS,SAAS,IAAM;AAAA,GAD/BI,EACiC,WAAA,WAAA,CAAA;AACAL,EAAA;AAAA,EAA3CC,EAAS,EAAE,MAAM,SAAS,SAAS,IAAM;AAAA,GAF/BI,EAEiC,WAAA,YAAA,CAAA;AACAL,EAAA;AAAA,EAA3CC,EAAS,EAAE,MAAM,SAAS,SAAS,IAAM;AAAA,GAH/BI,EAGiC,WAAA,YAAA,CAAA;AAChBL,EAAA;AAAA,EAA3BC,EAAS,EAAE,MAAM,OAAA,CAAQ;AAAA,GAJfI,EAIiB,WAAA,SAAA,CAAA;AACAL,EAAA;AAAA,EAA3BC,EAAS,EAAE,MAAM,OAAA,CAAQ;AAAA,GALfI,EAKiB,WAAA,eAAA,CAAA;AACAL,EAAA;AAAA,EAA3BC,EAAS,EAAE,MAAM,OAAA,CAAQ;AAAA,GANfI,EAMiB,WAAA,MAAA,CAAA;AACeL,EAAA;AAAA,EAA1CC,EAAS,EAAE,MAAM,QAAQ,SAAS,IAAM;AAAA,GAP9BI,EAOgC,WAAA,QAAA,CAAA;AACfL,EAAA;AAAA,EAA3BC,EAAS,EAAE,MAAM,OAAA,CAAQ;AAAA,GARfI,EAQiB,WAAA,SAAA,CAAA;AACeL,EAAA;AAAA,EAA1CC,EAAS,EAAE,MAAM,QAAQ,SAAS,IAAM;AAAA,GAT9BI,EASgC,WAAA,QAAA,CAAA;AACCL,EAAA;AAAA,EAA3CC,EAAS,EAAE,MAAM,SAAS,SAAS,IAAM;AAAA,GAV/BI,EAUiC,WAAA,aAAA,CAAA;AAChBL,EAAA;AAAA,EAA3BC,EAAS,EAAE,MAAM,OAAA,CAAQ;AAAA,GAXfI,EAWiB,WAAA,gBAAA,CAAA;AACCL,EAAA;AAAA,EAA5BC,EAAS,EAAE,MAAM,QAAA,CAAS;AAAA,GAZhBI,EAYkB,WAAA,cAAA,CAAA;AACeL,EAAA;AAAA,EAA3CC,EAAS,EAAE,MAAM,SAAS,SAAS,IAAM;AAAA,GAb/BI,EAaiC,WAAA,QAAA,CAAA;AACAL,EAAA;AAAA,EAA3CC,EAAS,EAAE,MAAM,SAAS,SAAS,IAAM;AAAA,GAd/BI,EAciC,WAAA,YAAA,CAAA;AAMxCL,EAAA;AAAA,EADHC,EAAS,EAAE,SAAS,GAAA,CAAM;AAAA,GAnBhBI,EAoBP,WAAA,QAAA,CAAA;AApBC,IAAMO,KAANP;AA2SF,eAAe,IAAI,cAAc,KACpC,eAAe,OAAO,gBAAgBO,EAAW;","x_google_ignoreList":[0,1,2,3,4,5]}
|
|
1
|
+
{"version":3,"file":"nys-checkbox.js","sources":["../src/nys-checkboxgroup.ts","../src/nys-checkbox.ts"],"sourcesContent":["import { LitElement, html, unsafeCSS } from \"lit\";\nimport { property, state } from \"lit/decorators.js\";\n// @ts-ignore: SCSS module imported via bundler as inline\nimport styles from \"./nys-checkbox.scss?inline\";\n\nlet checkboxgroupIdCounter = 0; // Counter for generating unique IDs\n\nexport class NysCheckboxgroup extends LitElement {\n static styles = unsafeCSS(styles);\n\n @property({ type: String, reflect: true }) id = \"\";\n @property({ type: String, reflect: true }) name = \"\";\n @property({ type: Boolean, reflect: true }) required = false;\n @property({ type: Boolean, reflect: true }) optional = false;\n @property({ type: Boolean, reflect: true }) showError = false;\n @property({ type: String }) errorMessage = \"\";\n @property({ type: String }) label = \"\";\n @property({ type: String }) description = \"\";\n @property({ type: Boolean, reflect: true }) tile = false;\n @property({ type: String }) _tooltip = \"\";\n @property({ type: Boolean, reflect: true }) inverted = false;\n @property({ type: String, reflect: true }) form: string | null = null;\n\n @state() private _slottedDescriptionText = \"\";\n private static readonly VALID_SIZES = [\"sm\", \"md\"] as const;\n private _size: (typeof NysCheckboxgroup.VALID_SIZES)[number] = \"md\";\n\n // Getter and setter for the `size` property.\n @property({ reflect: true })\n get size(): (typeof NysCheckboxgroup.VALID_SIZES)[number] {\n return this._size;\n }\n\n set size(value: string) {\n // Check if the provided value is in VALID_WIDTHS. If not, default to \"md\".\n this._size = NysCheckboxgroup.VALID_SIZES.includes(\n value as (typeof NysCheckboxgroup.VALID_SIZES)[number],\n )\n ? (value as (typeof NysCheckboxgroup.VALID_SIZES)[number])\n : \"md\";\n }\n\n private _internals: ElementInternals;\n\n /********************** Lifecycle updates **********************/\n static formAssociated = true; // allows use of elementInternals' API\n\n constructor() {\n super();\n this._internals = this.attachInternals();\n }\n\n // Generate a unique ID if one is not provided\n connectedCallback() {\n super.connectedCallback();\n if (!this.id) {\n this.id = `nys-checkbox-${Date.now()}-${checkboxgroupIdCounter++}`;\n }\n this.addEventListener(\"nys-change\", this._handleCheckboxChange);\n this.addEventListener(\"invalid\", this._handleInvalid);\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.removeEventListener(\"nys-change\", this._handleCheckboxChange);\n this.removeEventListener(\"invalid\", this._handleInvalid);\n }\n\n firstUpdated() {\n // This ensures our checkboxes sets the value only once for formData (not within the individual checkboxes)\n this._setGroupExist();\n this._updateCheckboxSize();\n this._updateCheckboxTile();\n this._updateCheckboxShowError();\n this._getSlotDescriptionForAria();\n }\n\n updated(changedProperties: Map<string | symbol, unknown>) {\n if (changedProperties.has(\"required\")) {\n if (this.required) {\n this._setupCheckboxRequired();\n }\n }\n if (changedProperties.has(\"size\")) {\n this._updateCheckboxSize();\n }\n if (changedProperties.has(\"tile\")) {\n this._updateCheckboxTile();\n }\n if (changedProperties.has(\"inverted\")) {\n this._updateCheckboxInvert();\n }\n if (changedProperties.has(\"showError\")) {\n this._updateCheckboxShowError();\n }\n if (changedProperties.has(\"form\")) {\n this._updateCheckboxForm();\n }\n }\n\n /********************** Functions **********************/\n private _setGroupExist() {\n const checkboxes = this.querySelectorAll(\"nys-checkbox\");\n checkboxes.forEach((checkbox: any) => {\n checkbox.groupExist = true;\n });\n }\n\n // Initial update on checkbox required attribute\n private async _setupCheckboxRequired() {\n const firstCheckbox = this.querySelector(\"nys-checkbox\");\n const message = this.errorMessage || \"This field is required\";\n\n const firstCheckboxInput = firstCheckbox\n ? await (firstCheckbox as any).getInputElement()\n : null;\n\n this._internals.setValidity(\n { valueMissing: true },\n message,\n firstCheckboxInput ? firstCheckboxInput : this,\n );\n }\n\n // Updates the required attribute of each checkbox in the group\n private async _manageRequire() {\n if (this.required) {\n const message = this.errorMessage || \"Please select at least one option.\";\n const firstCheckbox = this.querySelector(\"nys-checkbox\");\n const firstCheckboxInput = firstCheckbox\n ? await (firstCheckbox as any).getInputElement().catch(() => null)\n : null;\n\n const checkboxes = this.querySelectorAll(\"nys-checkbox\");\n // Loop through each child checkbox to see if one is checked.\n const atLeastOneChecked = Array.from(checkboxes).some(\n (checkbox: any) => checkbox.checked,\n );\n\n if (atLeastOneChecked) {\n this._internals.setValidity({});\n this.showError = false;\n } else {\n this._internals.setValidity(\n { valueMissing: true },\n message,\n firstCheckboxInput ? firstCheckboxInput : this,\n );\n this.showError = true;\n }\n }\n }\n\n // Updates the size of each checkbox in the group\n private _updateCheckboxSize() {\n const checkboxes = this.querySelectorAll(\"nys-checkbox\");\n checkboxes.forEach((checkbox) => {\n checkbox.setAttribute(\"size\", this.size);\n });\n }\n\n private _updateCheckboxTile() {\n const checkboxes = this.querySelectorAll(\"nys-checkbox\");\n checkboxes.forEach((checkbox) => {\n if (this.tile) {\n checkbox.toggleAttribute(\"tile\", true);\n } else {\n checkbox.removeAttribute(\"tile\");\n }\n });\n }\n\n private _updateCheckboxInvert() {\n const checkboxes = this.querySelectorAll(\"nys-checkbox\");\n checkboxes.forEach((checkbox) => {\n if (this.inverted) {\n checkbox.toggleAttribute(\"inverted\", true);\n } else {\n checkbox.removeAttribute(\"inverted\");\n }\n });\n }\n\n private _updateCheckboxShowError() {\n const checkboxes = this.querySelectorAll(\"nys-checkbox\");\n checkboxes.forEach((checkbox) => {\n if (this.showError) {\n checkbox.setAttribute(\"showError\", \"\");\n } else {\n checkbox.removeAttribute(\"showError\");\n }\n });\n }\n\n private _updateCheckboxForm() {\n const checkboxes = this.querySelectorAll(\"nys-checkbox\");\n checkboxes.forEach((checkbox) => {\n if (this.showError) {\n if (this.form !== null) {\n checkbox.setAttribute(\"form\", this.form);\n } else {\n checkbox.removeAttribute(\"form\");\n }\n } else {\n checkbox.removeAttribute(\"form\");\n }\n });\n }\n\n // Get the slotted text contents so native VO can attempt to announce it within the legend in the fieldset\n private _getSlotDescriptionForAria() {\n const slot = this.shadowRoot?.querySelector(\n 'slot[name=\"description\"]',\n ) as HTMLSlotElement;\n const nodes = slot?.assignedNodes({ flatten: true }) || [];\n\n this._slottedDescriptionText = nodes\n .map((node) => node.textContent?.trim())\n .filter(Boolean)\n .join(\", \");\n }\n\n private async _handleInvalid(event: Event) {\n event.preventDefault();\n\n this.showError = true;\n this._manageRequire(); // Refresh validation message\n\n const firstCheckbox = this.querySelector(\"nys-checkbox\");\n const firstCheckboxInput = firstCheckbox\n ? await (firstCheckbox as any).getInputElement()\n : null;\n\n if (firstCheckboxInput) {\n // Focus only if this is the first invalid element (top-down approach)\n const form = this._internals.form;\n if (form) {\n const elements = Array.from(form.elements) as Array<\n HTMLElement & { checkValidity?: () => boolean }\n >;\n // Find the first element in the form that is invalid\n const firstInvalidElement = elements.find((element) => {\n // If element is checkboxgroup, we see if anyone checkboxes within the group is checked to fulfill required constraint\n if (element.tagName.toLowerCase() === \"nys-checkboxgroup\") {\n const allCheckboxes = Array.from(\n this.querySelectorAll(\"nys-checkbox\"),\n ) as any[];\n const hasCheckedCheckbox = allCheckboxes.filter(\n (checkbox) => checkbox.checked,\n );\n // Required constraint not met, continue logic to have this component be focused\n if (hasCheckedCheckbox.length === 0) {\n return element;\n }\n } else {\n return (\n typeof element.checkValidity === \"function\" &&\n !element.checkValidity()\n );\n }\n });\n\n if (firstInvalidElement === this) {\n firstCheckboxInput.focus();\n }\n } else {\n // If not part of a form, simply focus.\n firstCheckboxInput.focus();\n }\n }\n }\n\n /******************** Event Handlers ********************/\n // Similar to how native forms handle multiple same-name fields, we group the selected values into a list for FormData.\n private _handleCheckboxChange(event: Event) {\n const customEvent = event as CustomEvent;\n const { name } = customEvent.detail;\n const checkboxes = Array.from(this.querySelectorAll(\"nys-checkbox\"));\n\n // Filter to only the checked ones and extract their values.\n const selectedValues = checkboxes\n .filter((checkbox: any) => checkbox.checked)\n .map((checkbox: any) => checkbox.value);\n\n this.name = name;\n\n this._internals.setFormValue(selectedValues.join(\", \"));\n\n this._manageRequire();\n }\n\n render() {\n return html`\n <div class=\"nys-checkboxgroup\">\n <nys-label\n for=${this.id + \"--native\"}\n label=${this.label}\n description=${this.description}\n flag=${this.required ? \"required\" : this.optional ? \"optional\" : \"\"}\n tooltip=${this._tooltip}\n ?inverted=${this.inverted}\n >\n <slot name=\"description\" slot=\"description\">${this.description}</slot>\n </nys-label>\n <div class=\"nys-checkboxgroup__content\">\n <fieldset>\n <legend class=\"sr-only\">\n ${this.label}${this._slottedDescriptionText\n ? ` ${this._slottedDescriptionText}`\n : this.description\n ? ` ${this.description}`\n : \"\"}\n </legend>\n <slot></slot>\n </fieldset>\n </div>\n <nys-errormessage\n ?showError=${this.showError}\n errorMessage=${this._internals.validationMessage || this.errorMessage}\n .showDivider=${!this.tile}\n ></nys-errormessage>\n </div>\n `;\n }\n}\n\nif (!customElements.get(\"nys-checkboxgroup\")) {\n customElements.define(\"nys-checkboxgroup\", NysCheckboxgroup);\n}\n","import { LitElement, html, unsafeCSS } from \"lit\";\nimport { property } from \"lit/decorators.js\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\nimport \"./nys-checkboxgroup\";\n// @ts-ignore: SCSS module imported via bundler as inline\nimport styles from \"./nys-checkbox.scss?inline\";\n\nlet checkboxIdCounter = 0; // Counter for generating unique IDs\n\nexport class NysCheckbox extends LitElement {\n static styles = unsafeCSS(styles);\n\n @property({ type: Boolean, reflect: true }) checked = false;\n @property({ type: Boolean, reflect: true }) disabled = false;\n @property({ type: Boolean, reflect: true }) required = false;\n @property({ type: String }) label = \"\";\n @property({ type: String }) description = \"\";\n @property({ type: String, reflect: true }) id = \"\";\n @property({ type: String, reflect: true }) name = \"\";\n @property({ type: String }) value = \"\";\n @property({ type: String, reflect: true }) form: string | null = null;\n @property({ type: Boolean, reflect: true }) showError = false;\n @property({ type: String }) errorMessage = \"\";\n @property({ type: Boolean }) groupExist = false;\n @property({ type: Boolean, reflect: true }) tile = false;\n @property({ type: Boolean, reflect: true }) inverted = false;\n private static readonly VALID_SIZES = [\"sm\", \"md\"] as const;\n private _size: (typeof NysCheckbox.VALID_SIZES)[number] = \"md\";\n\n // Getter and setter for the `size` property.\n @property({ reflect: true })\n get size(): (typeof NysCheckbox.VALID_SIZES)[number] {\n return this._size;\n }\n\n set size(value: string) {\n // Check if the provided value is in VALID_SIZES. If not, default to \"md\".\n this._size = NysCheckbox.VALID_SIZES.includes(\n value as (typeof NysCheckbox.VALID_SIZES)[number],\n )\n ? (value as (typeof NysCheckbox.VALID_SIZES)[number])\n : \"md\";\n }\n\n public async getInputElement(): Promise<HTMLInputElement | null> {\n await this.updateComplete; // Wait for the component to finish rendering\n return this.shadowRoot?.querySelector(\"input\") || null;\n }\n\n private _internals: ElementInternals;\n\n /********************** Lifecycle updates **********************/\n static formAssociated = true; // allows use of elementInternals' API\n\n constructor() {\n super();\n this._internals = this.attachInternals();\n }\n\n // Generate a unique ID if one is not provided\n connectedCallback() {\n super.connectedCallback();\n if (!this.id) {\n this.id = `nys-checkbox-${Date.now()}-${checkboxIdCounter++}`;\n }\n this.addEventListener(\"invalid\", this._handleInvalid);\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.removeEventListener(\"invalid\", this._handleInvalid);\n }\n\n firstUpdated() {\n // This ensures our element always participates in the form\n this._setValue();\n this._manageRequire();\n this._manageLabelClick();\n }\n\n // This callback is automatically called when the parent form is reset.\n formResetCallback() {\n this.checked = false;\n }\n\n /********************** Form Integration **********************/\n private _setValue() {\n if (!this.groupExist) {\n this._internals.setFormValue(this.checked ? this.value : null);\n }\n }\n\n private _manageRequire() {\n const input = this.shadowRoot?.querySelector(\"input\");\n const message = this.errorMessage || \"This field is required\";\n if (!input) return;\n\n if (this.required && !this.checked) {\n this._internals.ariaRequired = \"true\";\n this._internals.setValidity({ valueMissing: true }, message, input);\n } else {\n this._internals.setValidity({});\n }\n }\n\n private _setValidityMessage(message: string = \"\") {\n const input = this.shadowRoot?.querySelector(\"input\");\n if (!input) return;\n\n // Toggle the HTML <div> tag error message\n this.showError = !!message;\n // If user sets errorMessage, this will always override the native validation message\n if (this.errorMessage?.trim() && message !== \"\") {\n message = this.errorMessage;\n }\n\n this._internals.setValidity(\n message ? { customError: true } : {},\n message,\n input,\n );\n }\n\n private _validate() {\n const input = this.shadowRoot?.querySelector(\"input\");\n if (!input) return;\n\n // Get the native validation state\n const validity = input.validity;\n let message = \"\";\n\n if (validity.valueMissing) {\n message = \"This field is required\";\n }\n\n this._setValidityMessage(message);\n }\n\n /********************** Functions **********************/\n // This helper function is called to perform the element's native validation.\n checkValidity(): boolean {\n // If the radiogroup is required but no radio is selected, return false.\n if (this.required && !this.checked) {\n return false;\n }\n\n // Otherwise, optionally check the native input's validity if available.\n const input = this.shadowRoot?.querySelector(\"input\");\n return input ? input.checkValidity() : true;\n }\n\n private _handleInvalid(event: Event) {\n event.preventDefault();\n\n this.showError = true;\n this._validate(); // Make sure validation message appears\n\n const input = this.shadowRoot?.querySelector(\"input\");\n if (input) {\n // Focus only if this is the first invalid element (top-down approach)\n const form = this._internals.form;\n if (form) {\n const elements = Array.from(form.elements) as Array<\n HTMLElement & { checkValidity?: () => boolean }\n >;\n // Find the first element in the form that is invalid\n const firstInvalidElement = elements.find(\n (element) =>\n typeof element.checkValidity === \"function\" &&\n !element.checkValidity(),\n );\n if (firstInvalidElement === this) {\n input.focus();\n }\n } else {\n // If not part of a form, simply focus.\n input.focus();\n }\n }\n }\n\n private _manageLabelClick = () => {\n const labelEl = this.shadowRoot?.querySelector(\"nys-label\");\n const inputEl = this.shadowRoot?.querySelector(\"input\");\n\n if (labelEl && inputEl) {\n labelEl.addEventListener(\"click\", () => inputEl.click());\n }\n };\n\n /******************** Event Handlers ********************/\n private _emitChangeEvent() {\n this.dispatchEvent(\n new CustomEvent(\"nys-change\", {\n detail: {\n id: this.id,\n checked: this.checked,\n name: this.name,\n value: this.value,\n },\n bubbles: true,\n composed: true,\n }),\n );\n }\n\n // Handle checkbox change event\n private _handleChange(e: Event) {\n const { checked } = e.target as HTMLInputElement;\n this.checked = checked;\n if (!this.groupExist) {\n this._internals.setFormValue(this.checked ? this.value : null);\n }\n this._validate();\n this._emitChangeEvent();\n }\n\n // Handle focus event\n private _handleFocus() {\n this.dispatchEvent(new Event(\"nys-focus\"));\n }\n\n // Handle blur event\n private _handleBlur() {\n this.dispatchEvent(new Event(\"nys-blur\"));\n }\n\n // Handle keydown for keyboard accessibility\n private async _handleKeydown(e: KeyboardEvent) {\n if (e.code === \"Space\") {\n e.preventDefault();\n if (!this.disabled) {\n this.checked = !this.checked;\n this._internals.setFormValue(this.checked ? this.value : null);\n\n // Wait for DOM updates before validating. This is necessary to ensure the native input validation state is updated before this.validate().\n await this.updateComplete;\n this._validate();\n\n this._emitChangeEvent();\n }\n }\n }\n\n render() {\n return html`\n <label class=\"nys-checkbox\">\n <div class=\"nys-checkbox__checkboxwrapper\">\n <input\n id=${this.id + \"--native\"}\n class=\"nys-checkbox__checkbox\"\n type=\"checkbox\"\n name=\"${ifDefined(this.name ? this.name : undefined)}\"\n .checked=${this.checked}\n ?disabled=${this.disabled}\n .value=${this.value}\n ?required=\"${this.required}\"\n form=${ifDefined(this.form || undefined)}\n aria-checked=\"${this.checked}\"\n aria-disabled=\"${this.disabled ? \"true\" : \"false\"}\"\n aria-required=\"${this.required}\"\n aria-describedby=\"group-info\"\n @change=\"${this._handleChange}\"\n @focus=\"${this._handleFocus}\"\n @blur=\"${this._handleBlur}\"\n @keydown=\"${this._handleKeydown}\"\n aria-label=\"${this.label}\"\n />\n ${this.checked\n ? html`<nys-icon\n name=\"check\"\n size=\"${this.size === \"md\"\n ? \"4xl\"\n : this.size === \"sm\"\n ? \"2xl\"\n : \"xl\"}\"\n class=\"nys-checkbox__icon\"\n ></nys-icon>`\n : \"\"}\n </div>\n ${this.label &&\n html`\n <nys-label\n for=${this.id + \"--native\"}\n label=${this.label}\n description=${ifDefined(this.description ?? undefined)}\n flag=${ifDefined(this.required ? \"required\" : undefined)}\n ?inverted=${this.inverted}\n >\n <slot name=\"description\" slot=\"description\"\n >${this.description}</slot\n >\n </nys-label>\n `}\n </label>\n ${this.parentElement?.tagName.toLowerCase() !== \"nys-checkboxgroup\"\n ? html`<nys-errormessage\n id=\"single-error-message\"\n ?showError=${this.showError}\n errorMessage=${this._internals.validationMessage ||\n this.errorMessage}\n .showDivider=${!this.tile}\n ></nys-errormessage>`\n : \"\"}\n `;\n }\n}\n\nif (!customElements.get(\"nys-checkbox\")) {\n customElements.define(\"nys-checkbox\", NysCheckbox);\n}\n"],"names":["checkboxgroupIdCounter","_NysCheckboxgroup","_a","LitElement","value","changedProperties","checkbox","firstCheckbox","message","firstCheckboxInput","checkboxes","nodes","node","event","form","element","customEvent","name","selectedValues","html","unsafeCSS","styles","__decorateClass","property","state","NysCheckboxgroup","checkboxIdCounter","_NysCheckbox","labelEl","inputEl","input","validity","checked","ifDefined","NysCheckbox"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nysds/nys-checkbox",
|
|
3
|
-
"version": "1.11.
|
|
3
|
+
"version": "1.11.3",
|
|
4
4
|
"description": "The Checkbox component from the NYS Design System.",
|
|
5
5
|
"module": "dist/nys-checkbox.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -23,14 +23,14 @@
|
|
|
23
23
|
"lit-analyze": "lit-analyzer '**/*.ts'"
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@nysds/nys-icon": "^1.11.
|
|
27
|
-
"@nysds/nys-label": "^1.11.
|
|
28
|
-
"@nysds/nys-errormessage": "^1.11.
|
|
26
|
+
"@nysds/nys-icon": "^1.11.3",
|
|
27
|
+
"@nysds/nys-label": "^1.11.3",
|
|
28
|
+
"@nysds/nys-errormessage": "^1.11.3"
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {
|
|
31
|
-
"lit": "^3.
|
|
32
|
-
"typescript": "^5.
|
|
33
|
-
"vite": "^7.1.
|
|
31
|
+
"lit": "^3.3.1",
|
|
32
|
+
"typescript": "^5.9.3",
|
|
33
|
+
"vite": "^7.1.12"
|
|
34
34
|
},
|
|
35
35
|
"keywords": [
|
|
36
36
|
"new-york-state",
|
package/dist/index.d.ts
DELETED
package/dist/nys-checkbox.d.ts
DELETED
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { LitElement } from "lit";
|
|
2
|
-
import "./nys-checkboxgroup";
|
|
3
|
-
export declare class NysCheckbox extends LitElement {
|
|
4
|
-
checked: boolean;
|
|
5
|
-
disabled: boolean;
|
|
6
|
-
required: boolean;
|
|
7
|
-
label: string;
|
|
8
|
-
description: string;
|
|
9
|
-
id: string;
|
|
10
|
-
name: string;
|
|
11
|
-
value: string;
|
|
12
|
-
form: string | null;
|
|
13
|
-
showError: boolean;
|
|
14
|
-
errorMessage: string;
|
|
15
|
-
groupExist: boolean;
|
|
16
|
-
tile: boolean;
|
|
17
|
-
inverted: boolean;
|
|
18
|
-
private static readonly VALID_SIZES;
|
|
19
|
-
private _size;
|
|
20
|
-
get size(): (typeof NysCheckbox.VALID_SIZES)[number];
|
|
21
|
-
set size(value: string);
|
|
22
|
-
getInputElement(): Promise<HTMLInputElement | null>;
|
|
23
|
-
static styles: import("lit").CSSResult;
|
|
24
|
-
private _internals;
|
|
25
|
-
/********************** Lifecycle updates **********************/
|
|
26
|
-
static formAssociated: boolean;
|
|
27
|
-
constructor();
|
|
28
|
-
connectedCallback(): void;
|
|
29
|
-
disconnectedCallback(): void;
|
|
30
|
-
firstUpdated(): void;
|
|
31
|
-
formResetCallback(): void;
|
|
32
|
-
/********************** Form Integration **********************/
|
|
33
|
-
private _setValue;
|
|
34
|
-
private _manageRequire;
|
|
35
|
-
private _setValidityMessage;
|
|
36
|
-
private _validate;
|
|
37
|
-
/********************** Functions **********************/
|
|
38
|
-
checkValidity(): boolean;
|
|
39
|
-
private _handleInvalid;
|
|
40
|
-
private _manageLabelClick;
|
|
41
|
-
/******************** Event Handlers ********************/
|
|
42
|
-
private _emitChangeEvent;
|
|
43
|
-
private _handleChange;
|
|
44
|
-
private _handleFocus;
|
|
45
|
-
private _handleBlur;
|
|
46
|
-
private _handleKeydown;
|
|
47
|
-
render(): import("lit-html").TemplateResult<1>;
|
|
48
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { LitElement } from "lit";
|
|
2
|
-
export declare class NysCheckboxgroup extends LitElement {
|
|
3
|
-
id: string;
|
|
4
|
-
name: string;
|
|
5
|
-
required: boolean;
|
|
6
|
-
optional: boolean;
|
|
7
|
-
showError: boolean;
|
|
8
|
-
errorMessage: string;
|
|
9
|
-
label: string;
|
|
10
|
-
description: string;
|
|
11
|
-
tile: boolean;
|
|
12
|
-
_tooltip: string;
|
|
13
|
-
inverted: boolean;
|
|
14
|
-
form: string | null;
|
|
15
|
-
private _slottedDescriptionText;
|
|
16
|
-
private static readonly VALID_SIZES;
|
|
17
|
-
private _size;
|
|
18
|
-
get size(): (typeof NysCheckboxgroup.VALID_SIZES)[number];
|
|
19
|
-
set size(value: string);
|
|
20
|
-
static styles: import("lit").CSSResult;
|
|
21
|
-
private _internals;
|
|
22
|
-
/********************** Lifecycle updates **********************/
|
|
23
|
-
static formAssociated: boolean;
|
|
24
|
-
constructor();
|
|
25
|
-
connectedCallback(): void;
|
|
26
|
-
disconnectedCallback(): void;
|
|
27
|
-
firstUpdated(): void;
|
|
28
|
-
updated(changedProperties: Map<string | symbol, unknown>): void;
|
|
29
|
-
/********************** Functions **********************/
|
|
30
|
-
private _setGroupExist;
|
|
31
|
-
private _setupCheckboxRequired;
|
|
32
|
-
private _manageRequire;
|
|
33
|
-
private _updateCheckboxSize;
|
|
34
|
-
private _updateCheckboxTile;
|
|
35
|
-
private _updateCheckboxInvert;
|
|
36
|
-
private _updateCheckboxShowError;
|
|
37
|
-
private _updateCheckboxForm;
|
|
38
|
-
private _getSlotDescriptionForAria;
|
|
39
|
-
private _handleInvalid;
|
|
40
|
-
/******************** Event Handlers ********************/
|
|
41
|
-
private _handleCheckboxChange;
|
|
42
|
-
render(): import("lit-html").TemplateResult<1>;
|
|
43
|
-
}
|