@gov-design-system-ce/components 4.2.2 → 4.2.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/cjs/core.cjs.js +1 -1
- package/dist/cjs/gov-button.cjs.entry.js +4 -3
- package/dist/cjs/gov-button.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-empty.cjs.entry.js +7 -1
- package/dist/cjs/gov-empty.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-flex_3.cjs.entry.js +3 -3
- package/dist/cjs/gov-flex_3.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-form-label.cjs.entry.js +1 -1
- package/dist/cjs/gov-form-label.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-infobar.cjs.entry.js +6 -2
- package/dist/cjs/gov-infobar.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-tabs.cjs.entry.js +2 -2
- package/dist/cjs/gov-tabs.cjs.entry.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/components/gov-button/button/gov-button.js +22 -3
- package/dist/collection/components/gov-button/button/gov-button.js.map +1 -1
- package/dist/collection/components/gov-empty/constants.js +5 -0
- package/dist/collection/components/gov-empty/constants.js.map +1 -1
- package/dist/collection/components/gov-empty/gov-empty.js +26 -1
- package/dist/collection/components/gov-empty/gov-empty.js.map +1 -1
- package/dist/collection/components/gov-form/label/gov-form-label.js +1 -1
- package/dist/collection/components/gov-form/label/gov-form-label.js.map +1 -1
- package/dist/collection/components/gov-infobar/gov-infobar.js +6 -2
- package/dist/collection/components/gov-infobar/gov-infobar.js.map +1 -1
- package/dist/collection/components/gov-tabs/gov-tabs.js +2 -2
- package/dist/collection/components/gov-tabs/gov-tabs.js.map +1 -1
- package/dist/collection/components/gov-theme-switch/gov-theme-switch.js +5 -5
- package/dist/collection/components/gov-theme-switch/gov-theme-switch.js.map +1 -1
- package/dist/collection/pages/Banner.js +10 -0
- package/dist/collection/pages/Banner.js.map +1 -1
- package/dist/collection/pages/Button.js +18 -0
- package/dist/collection/pages/Button.js.map +1 -1
- package/dist/collection/pages/Empty.js +26 -0
- package/dist/collection/pages/Empty.js.map +1 -1
- package/dist/collection/pages/Forms.js +31 -31
- package/dist/collection/pages/Forms.js.map +1 -1
- package/dist/collection/pages/Home.js +8 -2
- package/dist/collection/pages/Home.js.map +1 -1
- package/dist/collection/pages/Tabs.js +22 -5
- package/dist/collection/pages/Tabs.js.map +1 -1
- package/dist/components/gov-accordion-item.js +1 -1
- package/dist/components/gov-attachments-item.js +1 -1
- package/dist/components/gov-blockquote.js +1 -1
- package/dist/components/gov-breadcrumbs.js +1 -1
- package/dist/components/gov-button.js +1 -1
- package/dist/components/gov-card.js +1 -1
- package/dist/components/gov-chip.js +1 -1
- package/dist/components/gov-dialog.js +1 -1
- package/dist/components/gov-empty.js +1 -1
- package/dist/components/gov-empty.js.map +1 -1
- package/dist/components/gov-form-autocomplete.js +1 -1
- package/dist/components/gov-form-checkbox.js +1 -1
- package/dist/components/gov-form-file.js +1 -1
- package/dist/components/gov-form-input.js +1 -1
- package/dist/components/gov-form-label.js +1 -1
- package/dist/components/gov-form-label.js.map +1 -1
- package/dist/components/gov-form-multi-select.js +1 -1
- package/dist/components/gov-form-range.js +1 -1
- package/dist/components/gov-form-select.js +1 -1
- package/dist/components/gov-form-switch.js +1 -1
- package/dist/components/gov-icon.js +1 -1
- package/dist/components/gov-infobar.js +1 -1
- package/dist/components/gov-infobar.js.map +1 -1
- package/dist/components/gov-link.js +1 -1
- package/dist/components/gov-loading.js +1 -1
- package/dist/components/gov-pagination.js +1 -1
- package/dist/components/gov-tabs.js +1 -1
- package/dist/components/gov-tabs.js.map +1 -1
- package/dist/components/gov-tag.js +1 -1
- package/dist/components/gov-theme-switch.js +1 -1
- package/dist/components/gov-theme-switch.js.map +1 -1
- package/dist/components/gov-tile.js +1 -1
- package/dist/components/gov-toast.js +1 -1
- package/dist/components/gov-tooltip-content.js +1 -1
- package/dist/components/gov-wizard-item.js +1 -1
- package/dist/components/{p-5b0934a8.js → p-043a676e.js} +2 -2
- package/dist/components/{p-5d60b866.js → p-2b33d27c.js} +2 -2
- package/dist/components/{p-7fb16042.js → p-90657523.js} +2 -2
- package/dist/components/p-abea96cf.js +2 -0
- package/dist/components/p-abea96cf.js.map +1 -0
- package/dist/components/{p-6ce6e14f.js → p-b56d6b99.js} +2 -2
- package/dist/components/{p-5a861cd2.js → p-bd393ff0.js} +2 -2
- package/dist/components/{p-f9b1a12b.js → p-cbe3bc71.js} +2 -2
- package/dist/core/core.css +115 -42
- package/dist/core/core.esm.js +1 -1
- package/dist/core/core.esm.js.map +1 -1
- package/dist/core/p-39d6e51d.entry.js +2 -0
- package/dist/core/p-39d6e51d.entry.js.map +1 -0
- package/dist/core/p-7385f6e8.entry.js +2 -0
- package/dist/core/p-7385f6e8.entry.js.map +1 -0
- package/dist/core/{p-3583dcf7.entry.js → p-9e5eb19a.entry.js} +2 -2
- package/dist/core/{p-3583dcf7.entry.js.map → p-9e5eb19a.entry.js.map} +1 -1
- package/dist/core/p-ac800db4.entry.js +2 -0
- package/dist/core/p-ac800db4.entry.js.map +1 -0
- package/dist/core/p-d45bcd43.entry.js +2 -0
- package/dist/core/p-d45bcd43.entry.js.map +1 -0
- package/dist/core/p-e7e00fe3.entry.js +2 -0
- package/dist/core/{p-774ea182.entry.js.map → p-e7e00fe3.entry.js.map} +1 -1
- package/dist/esm/core.js +1 -1
- package/dist/esm/gov-button.entry.js +4 -3
- package/dist/esm/gov-button.entry.js.map +1 -1
- package/dist/esm/gov-empty.entry.js +7 -1
- package/dist/esm/gov-empty.entry.js.map +1 -1
- package/dist/esm/gov-flex_3.entry.js +3 -3
- package/dist/esm/gov-flex_3.entry.js.map +1 -1
- package/dist/esm/gov-form-label.entry.js +1 -1
- package/dist/esm/gov-form-label.entry.js.map +1 -1
- package/dist/esm/gov-infobar.entry.js +6 -2
- package/dist/esm/gov-infobar.entry.js.map +1 -1
- package/dist/esm/gov-tabs.entry.js +2 -2
- package/dist/esm/gov-tabs.entry.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/hydrate/index.js +27 -14
- package/dist/hydrate/index.mjs +27 -14
- package/dist/types/components/gov-button/button/gov-button.d.ts +4 -0
- package/dist/types/components/gov-empty/constants.d.ts +5 -0
- package/dist/types/components/gov-empty/gov-empty.d.ts +5 -1
- package/dist/types/components/gov-infobar/gov-infobar.d.ts +2 -0
- package/dist/types/components/gov-theme-switch/gov-theme-switch.d.ts +1 -1
- package/dist/types/components.d.ts +20 -4
- package/package.json +1 -1
- package/dist/components/p-d3435179.js +0 -2
- package/dist/components/p-d3435179.js.map +0 -1
- package/dist/core/p-0abc38e8.entry.js +0 -2
- package/dist/core/p-0abc38e8.entry.js.map +0 -1
- package/dist/core/p-774ea182.entry.js +0 -2
- package/dist/core/p-a1c825f3.entry.js +0 -2
- package/dist/core/p-a1c825f3.entry.js.map +0 -1
- package/dist/core/p-c1584cfe.entry.js +0 -2
- package/dist/core/p-c1584cfe.entry.js.map +0 -1
- package/dist/core/p-c5a49469.entry.js +0 -2
- package/dist/core/p-c5a49469.entry.js.map +0 -1
- /package/dist/components/{p-5b0934a8.js.map → p-043a676e.js.map} +0 -0
- /package/dist/components/{p-5d60b866.js.map → p-2b33d27c.js.map} +0 -0
- /package/dist/components/{p-7fb16042.js.map → p-90657523.js.map} +0 -0
- /package/dist/components/{p-6ce6e14f.js.map → p-b56d6b99.js.map} +0 -0
- /package/dist/components/{p-5a861cd2.js.map → p-bd393ff0.js.map} +0 -0
- /package/dist/components/{p-f9b1a12b.js.map → p-cbe3bc71.js.map} +0 -0
|
@@ -6,6 +6,7 @@ import { Attributes } from "../../helpers/Dom/attribute";
|
|
|
6
6
|
export declare class GovInfobar {
|
|
7
7
|
private h;
|
|
8
8
|
private attributeObserver;
|
|
9
|
+
private hydrated;
|
|
9
10
|
constructor();
|
|
10
11
|
host: HTMLGovInfobarElement;
|
|
11
12
|
/**
|
|
@@ -43,6 +44,7 @@ export declare class GovInfobar {
|
|
|
43
44
|
componentWillLoad(): void;
|
|
44
45
|
disconnectedCallback(): void;
|
|
45
46
|
onAriaAttributeChange(attributeName: string, newValue: string): void;
|
|
47
|
+
connectedCallback(): void;
|
|
46
48
|
render(): any;
|
|
47
49
|
onCloseHandler(e: CustomEvent<ButtonEvent>): void;
|
|
48
50
|
get isBold(): boolean;
|
|
@@ -19,7 +19,7 @@ import { ControlGroupColorType } from "./components/gov-control-group/constants"
|
|
|
19
19
|
import { Nullable } from "./types/interfaces";
|
|
20
20
|
import { PositionType } from "./components/gov-button/dropdown/constants";
|
|
21
21
|
import { DropdownEvent } from "./components/gov-button/dropdown/gov-dropdown.types";
|
|
22
|
-
import { EmptySizesType } from "./components/gov-empty/constants";
|
|
22
|
+
import { EmptyDirectionType, EmptySizesType } from "./components/gov-empty/constants";
|
|
23
23
|
import { FlexSizesType } from "./components/gov-flex/constants";
|
|
24
24
|
import { FormAutocompleteEvent, GovFormAutocompleteItem } from "./components/gov-form/autocomplete/gov-form-autocomplete.types";
|
|
25
25
|
import { SizesType } from "./components/gov-form/autocomplete/constants";
|
|
@@ -81,7 +81,7 @@ export { ControlGroupColorType } from "./components/gov-control-group/constants"
|
|
|
81
81
|
export { Nullable } from "./types/interfaces";
|
|
82
82
|
export { PositionType } from "./components/gov-button/dropdown/constants";
|
|
83
83
|
export { DropdownEvent } from "./components/gov-button/dropdown/gov-dropdown.types";
|
|
84
|
-
export { EmptySizesType } from "./components/gov-empty/constants";
|
|
84
|
+
export { EmptyDirectionType, EmptySizesType } from "./components/gov-empty/constants";
|
|
85
85
|
export { FlexSizesType } from "./components/gov-flex/constants";
|
|
86
86
|
export { FormAutocompleteEvent, GovFormAutocompleteItem } from "./components/gov-form/autocomplete/gov-form-autocomplete.types";
|
|
87
87
|
export { SizesType } from "./components/gov-form/autocomplete/constants";
|
|
@@ -288,6 +288,10 @@ export namespace Components {
|
|
|
288
288
|
* Expands the button to fill 100% of the container width
|
|
289
289
|
*/
|
|
290
290
|
"expanded": boolean;
|
|
291
|
+
/**
|
|
292
|
+
* Expands the button to fill 100% of the container width only on mobile
|
|
293
|
+
*/
|
|
294
|
+
"expandedMobile": boolean;
|
|
291
295
|
/**
|
|
292
296
|
* Same as original parameter
|
|
293
297
|
* @link https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/focusable
|
|
@@ -534,6 +538,10 @@ export namespace Components {
|
|
|
534
538
|
"toggle": () => Promise<void>;
|
|
535
539
|
}
|
|
536
540
|
interface GovEmpty {
|
|
541
|
+
/**
|
|
542
|
+
* Element direction
|
|
543
|
+
*/
|
|
544
|
+
"direction": EmptyDirectionType;
|
|
537
545
|
/**
|
|
538
546
|
* Element size.
|
|
539
547
|
*/
|
|
@@ -1700,7 +1708,7 @@ export namespace Components {
|
|
|
1700
1708
|
/**
|
|
1701
1709
|
* Label in light mode
|
|
1702
1710
|
*/
|
|
1703
|
-
"ariaLabelLight"?: "
|
|
1711
|
+
"ariaLabelLight"?: "Přepnout na tmavý mód";
|
|
1704
1712
|
/**
|
|
1705
1713
|
* Display switch label
|
|
1706
1714
|
*/
|
|
@@ -2975,6 +2983,10 @@ declare namespace LocalJSX {
|
|
|
2975
2983
|
* Expands the button to fill 100% of the container width
|
|
2976
2984
|
*/
|
|
2977
2985
|
"expanded"?: boolean;
|
|
2986
|
+
/**
|
|
2987
|
+
* Expands the button to fill 100% of the container width only on mobile
|
|
2988
|
+
*/
|
|
2989
|
+
"expandedMobile"?: boolean;
|
|
2978
2990
|
/**
|
|
2979
2991
|
* Same as original parameter
|
|
2980
2992
|
* @link https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/focusable
|
|
@@ -3209,6 +3221,10 @@ declare namespace LocalJSX {
|
|
|
3209
3221
|
"position"?: PositionType;
|
|
3210
3222
|
}
|
|
3211
3223
|
interface GovEmpty {
|
|
3224
|
+
/**
|
|
3225
|
+
* Element direction
|
|
3226
|
+
*/
|
|
3227
|
+
"direction"?: EmptyDirectionType;
|
|
3212
3228
|
/**
|
|
3213
3229
|
* Element size.
|
|
3214
3230
|
*/
|
|
@@ -4406,7 +4422,7 @@ declare namespace LocalJSX {
|
|
|
4406
4422
|
/**
|
|
4407
4423
|
* Label in light mode
|
|
4408
4424
|
*/
|
|
4409
|
-
"ariaLabelLight"?: "
|
|
4425
|
+
"ariaLabelLight"?: "Přepnout na tmavý mód";
|
|
4410
4426
|
/**
|
|
4411
4427
|
* Display switch label
|
|
4412
4428
|
*/
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@gov-design-system-ce/components",
|
|
3
3
|
"description": "This package includes Gov Design System Web Components and related utilities.",
|
|
4
4
|
"author": "Zdeněk Vítek",
|
|
5
|
-
"version": "4.2.
|
|
5
|
+
"version": "4.2.4",
|
|
6
6
|
"license": "EUPL v1.2 Licensed",
|
|
7
7
|
"main": "./dist/index.cjs.js",
|
|
8
8
|
"unpkg": "./dist/core/core.esm.js",
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{p as e,H as t,c as i,h as s,d as a}from"./p-42200001.js";import{v as n}from"./p-0b3574c2.js";import{B as o,a as d,b as h,N as r}from"./p-44a8a668.js";import{g as c,t as l}from"./p-ea7fdd2e.js";import{S as f}from"./p-92f420cb.js";import{a as p}from"./p-10cad7f1.js";import{c as u}from"./p-e8ec030e.js";import{d as b}from"./p-e0e2e9c1.js";import{A as m,a as v,i as y}from"./p-33d5d1ed.js";import{d as g}from"./p-5d60b866.js";function k(e){if(typeof e==="string"){return["true","True","TRUE","1"].indexOf(e)!==-1}else if(typeof e==="number"){return e>0}else if(typeof e==="boolean"){return e}else{return e?true:false}}var j;(function(e){e["A"]="a";e["BUTTON"]="button"})(j||(j={}));const T=e(class e extends t{constructor(){super();this.__registerHost();this.govClick=i(this,"gov-click",7);this.govFocus=i(this,"gov-focus",7);this.govBlur=i(this,"gov-blur",7);this.hydrated=false;this.color=undefined;this.size="m";this.type=undefined;this.expanded=false;this.name=undefined;this.disabled=false;this.nativeType="button";this.href=undefined;this.target=undefined;this.download=undefined;this.hreflang=undefined;this.referrerpolicy=undefined;this.rel=undefined;this.loading=undefined;this.focusable=true;this.identifier=undefined;this.inheritedAttributes={};this.h=c(this.host)}validateColor(e){n(d,e,o.root)}validateType(e){n(h,e,o.root)}validateSize(e){n(f,e,o.root)}validateNativeType(e){n(r,e,o.root)}componentDidLoad(){this.attributeObserver=new m(this.host,((e,t)=>{this.onAriaAttributeChange(e,t)}));this.attributeObserver.startObserving(v)}onAriaAttributeChange(e,t){this.host.removeAttribute(e);this.inheritedAttributes=Object.assign(Object.assign({},this.inheritedAttributes),{[e]:t})}disconnectedCallback(){var e;(e=this.attributeObserver)===null||e===void 0?void 0:e.stopObserving()}componentWillLoad(){this.validateColor(this.color);this.validateType(this.type);this.validateSize(this.size);this.validateNativeType(this.nativeType);this.inheritedAttributes=y(this.host)}async componentDidRender(){if(u()){await b(500);await this.validateAccessibility()}}connectedCallback(){this.hydrated=true}render(){const e=this.href?j.A:j.BUTTON;const t=e===j.A?undefined:this.nativeType;return s(a,{key:"cd3d644c54ac882be5adf1645391a873d426e549",size:this.size,hydrated:this.hydrated,color:this.color,class:this.h.classes(o.root),type:this.type},s(e,Object.assign({key:"39c76efc161144865f6bde8cf50e2808d0566415",class:"element",ref:e=>this.triggerRef=e,onClick:this.onClickHandler.bind(this),onFocus:this.onFocusHandler.bind(this),onBlur:this.onBlurHandler.bind(this),disabled:this.disabled,id:this.identifier,href:this.href,target:this.target,download:this.download,hreflang:this.hreflang,rel:this.rel,name:this.name,type:t,tabindex:this.disabled?"-1":"0"},this.inheritedAttributes,{"aria-disabled":l(this.disabled)}),k(this.loading)&&!this.h.hasSlot("icon-end")&&s("gov-icon",{key:"b75ed857aacc2b914810fbdbb3c0d39ede423639",name:"loader",class:"gov-spin-animation",type:"components"}),this.h.hasSlot("icon-start")&&s("slot",{key:"838152233ab4f51b36217ae0b4077a3f3efc3ecf",name:"icon-start"}),s("slot",{key:"0dbfd16b6de4ea9c0bb92a97297262f10b9a335c"}),this.h.hasSlot("icon-end")&&s("slot",{key:"8854b0bced36cabfe85988e22d10d49f9761a910",name:"icon-end"}),k(this.loading)&&this.h.hasSlot("icon-end")&&s("gov-icon",{key:"607c848e0a9e4abf1c4232658a38922ade4accf9",name:"loader",class:"gov-spin-animation",type:"components"})))}onClickHandler(e){e.stopPropagation();if(this.disabled===false){this.govClick.emit({component:o.root,originalEvent:e,ref:this.host})}}onFocusHandler(e){e.stopPropagation();this.govFocus.emit({component:o.root,originalEvent:e,ref:this.host})}onBlurHandler(e){e.stopPropagation();this.govBlur.emit({component:o.root,originalEvent:e,ref:this.host})}async setFocus(){this.triggerRef.focus()}async getRef(){return this.triggerRef}async validateAccessibility(){if(this.focusable){p(this.triggerRef.getAttribute("aria-label"),this.triggerRef.getAttribute("aria-labelledby"),o.root,this.host)}}get host(){return this}static get watchers(){return{color:["validateColor"],type:["validateType"],size:["validateSize"],nativeType:["validateNativeType"]}}},[4,"gov-button",{color:[513],size:[513],type:[513],expanded:[516],name:[1],disabled:[516],nativeType:[1,"native-type"],href:[1],target:[1],download:[4],hreflang:[1],referrerpolicy:[1],rel:[1],loading:[1],focusable:[4],identifier:[1],inheritedAttributes:[32],setFocus:[64],getRef:[64],validateAccessibility:[64]},undefined,{color:["validateColor"],type:["validateType"],size:["validateSize"],nativeType:["validateNativeType"]}]);function C(){if(typeof customElements==="undefined"){return}const e=["gov-button","gov-icon"];e.forEach((e=>{switch(e){case"gov-button":if(!customElements.get(e)){customElements.define(e,T)}break;case"gov-icon":if(!customElements.get(e)){g()}break}}))}C();export{T as G,C as d};
|
|
2
|
-
//# sourceMappingURL=p-d3435179.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["toBool","value","indexOf","Tags","GovButton","proxyCustomElement","H","constructor","this","hydrated","h","govHost","host","validateColor","newValue","validateProp","ButtonColors","ButtonClass","root","validateType","ButtonType","validateSize","Sizes","validateNativeType","NativeType","componentDidLoad","attributeObserver","AttributeObserver","attributeName","onAriaAttributeChange","startObserving","ariaAttributes","removeAttribute","inheritedAttributes","Object","assign","disconnectedCallback","_a","stopObserving","componentWillLoad","color","type","size","nativeType","inheritAriaAttributes","componentDidRender","canValidateWcagOnRender","delay","validateAccessibility","connectedCallback","render","Tag","href","A","BUTTON","undefined","Host","key","class","classes","ref","el","triggerRef","onClick","onClickHandler","bind","onFocus","onFocusHandler","onBlur","onBlurHandler","disabled","id","identifier","target","download","hreflang","rel","name","tabindex","toBoolAttrIfDefined","loading","hasSlot","e","stopPropagation","govClick","emit","component","originalEvent","govFocus","govBlur","setFocus","focus","getRef","focusable","validateAccessibleLabel","getAttribute"],"sources":["../../../packages/core/src/utils/bool.utils.ts","../../../packages/core/src/components/gov-button/button/gov-button.tsx"],"sourcesContent":["export function toBool(value: any): boolean {\n\tif (typeof value === 'string') {\n\t\treturn ['true', 'True', 'TRUE', '1'].indexOf(value) !== -1\n\t} else if (typeof value === 'number') {\n\t\treturn value > 0\n\t} else if (typeof value === 'boolean') {\n\t\treturn value\n\t} else {\n\t\treturn value ? true : false\n\t}\n}\n","import {Component, Element, Event, EventEmitter, h, Host, Method, Prop, State, Watch} from \"@stencil/core\"\nimport {validateProp} from \"../../../helpers/Validate/props\"\nimport {\n\tButtonClass,\n\tButtonColors,\n\tButtonColorType,\n\tButtonSizesType,\n\tButtonTargetType,\n\tButtonType,\n\tButtonTypesType,\n\tNativeType,\n\tNativeTypesType,\n} from \"./constants\"\nimport {govHost, toBoolAttrIfDefined} from \"../../../helpers/Dom/template\"\nimport {GovHost} from \"../../../helpers/Dom/template.types\"\nimport {toBool} from \"../../../utils/bool.utils\"\nimport {Sizes} from \"../../../core/constants/sizes\"\nimport {validateAccessibleLabel} from \"../../../helpers/Validate/wcag\"\nimport {canValidateWcagOnRender} from \"../../../helpers/Dom/win\"\nimport {delay} from \"../../../utils/utils\"\nimport {ButtonEvent} from \"./gov-button.types\"\nimport {inheritAriaAttributes} from \"../../../helpers/Accessibility/accessibility\";\nimport {ariaAttributes} from \"../../../helpers/Accessibility/attributes\";\nimport {AttributeObserver, Attributes} from \"../../../helpers/Dom/attribute\";\n\nenum Tags {\n\tA = \"a\",\n\tBUTTON = \"button\",\n}\n\n@Component({\n\ttag: \"gov-button\",\n})\nexport class GovButton {\n\tprivate h: GovHost\n\tprivate triggerRef?: HTMLButtonElement | HTMLLinkElement\n\tprivate attributeObserver: AttributeObserver\n\tprivate hydrated = false\n\n\tconstructor() {\n\t\tthis.h = govHost(this.host)\n\t}\n\n\t@Element() host: HTMLGovButtonElement\n\n\t/**\n\t * Style variation of the button\n\t */\n\t@Prop({reflect: true}) readonly color: ButtonColorType\n\t/**\n\t * Button’s size\n\t */\n\t@Prop({reflect: true}) readonly size?: ButtonSizesType = \"m\"\n\t/**\n\t * Button's type\n\t */\n\t@Prop({reflect: true}) readonly type: ButtonTypesType\n\t/**\n\t * Expands the button to fill 100% of the container width\n\t */\n\t@Prop({reflect: true}) readonly expanded: boolean = false\n\t/**\n\t * The name of the button, which gets paired with the button's value when submitted as part of a form. Corresponds with the native HTML name attribute\n\t */\n\t@Prop() readonly name: string\n\t/**\n\t * Makes the button component disabled.\n\t * This prevents users from being able to interact with the button, and conveys its inactive state to assistive technologies\n\t */\n\t@Prop({reflect: true}) readonly disabled: boolean = false\n\t/**\n\t * Same as original parameter\n\t * https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#attr-type\n\t */\n\t@Prop() readonly nativeType?: NativeTypesType = \"button\"\n\t/**\n\t * Same as original parameter\n\t * @link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attr-href\n\t */\n\t@Prop() readonly href: string\n\t/**\n\t * Same as original parameter\n\t * @link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attr-target\n\t */\n\t@Prop() readonly target?: ButtonTargetType\n\t/**\n\t * Same as original parameter\n\t * @link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attr-download\n\t */\n\t@Prop() readonly download: boolean\n\t/**\n\t * Same as original parameter\n\t * @link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attr-hreflang\n\t */\n\t@Prop() readonly hreflang: string\n\t/**\n\t * Same as original parameter\n\t * @link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attr-referrerpolicy\n\t */\n\t@Prop() readonly referrerpolicy: string\n\t/**\n\t * Same as original parameter\n\t * @link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attr-rel\n\t */\n\t@Prop() readonly rel: string\n\t/**\n\t * Indicates whether an asynchronous process is running\n\t */\n\t@Prop() readonly loading: string\n\t/**\n\t * Same as original parameter\n\t * @link https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/focusable\n\t */\n\t@Prop() readonly focusable: boolean = true\n\t/**\n\t * Custom button identifier\n\t */\n\t@Prop({attribute: \"identifier\"}) readonly identifier: string\n\t/**\n\t * Emitted when the button click\n\t */\n\t@Event({eventName: \"gov-click\"}) govClick: EventEmitter<ButtonEvent>\n\t/**\n\t * Emitted when the button has focus\n\t */\n\t@Event({eventName: \"gov-focus\"}) govFocus: EventEmitter<ButtonEvent>\n\t/**\n\t * Emitted when the button loses focus\n\t */\n\t@Event({eventName: \"gov-blur\"}) govBlur: EventEmitter<ButtonEvent>\n\n\t@Watch(\"color\")\n\tvalidateColor(newValue: string): void {\n\t\tvalidateProp(ButtonColors, newValue, ButtonClass.root)\n\t}\n\n\t@Watch(\"type\")\n\tvalidateType(newValue: string): void {\n\t\tvalidateProp(ButtonType, newValue, ButtonClass.root)\n\t}\n\n\t@Watch(\"size\")\n\tvalidateSize(newValue: string): void {\n\t\tvalidateProp(Sizes, newValue, ButtonClass.root)\n\t}\n\n\t@Watch(\"nativeType\")\n\tvalidateNativeType(newValue: string): void {\n\t\tvalidateProp(NativeType, newValue, ButtonClass.root)\n\t}\n\n\t@State() inheritedAttributes: Attributes = {}\n\n\tcomponentDidLoad() {\n\t\tthis.attributeObserver = new AttributeObserver(this.host, (attributeName, newValue) => {\n\t\t\tthis.onAriaAttributeChange(attributeName, newValue);\n\t\t});\n\n\t\tthis.attributeObserver.startObserving(ariaAttributes);\n\t}\n\n\tonAriaAttributeChange(attributeName: string, newValue: string) {\n\t\tthis.host.removeAttribute(attributeName)\n\t\tthis.inheritedAttributes = {...this.inheritedAttributes, [attributeName]: newValue};\n\t}\n\n\tdisconnectedCallback() {\n\t\tthis.attributeObserver?.stopObserving();\n\t}\n\n\tcomponentWillLoad(): void {\n\t\tthis.validateColor(this.color)\n\t\tthis.validateType(this.type)\n\t\tthis.validateSize(this.size)\n\t\tthis.validateNativeType(this.nativeType)\n\t\tthis.inheritedAttributes = inheritAriaAttributes(this.host);\n\t}\n\n\tasync componentDidRender() {\n\t\tif (canValidateWcagOnRender()) {\n\t\t\tawait delay(500)\n\t\t\tawait this.validateAccessibility()\n\t\t}\n\t}\n\n\tconnectedCallback() {\n\t\tthis.hydrated = true\n\t}\n\n\trender() {\n\t\tconst Tag = this.href ? Tags.A : Tags.BUTTON\n\t\tconst nativeType = Tag === Tags.A ? undefined : this.nativeType\n\n\t\treturn (\n\t\t\t<Host size={this.size}\n\t\t\t\t hydrated={this.hydrated}\n\t\t\t\t color={this.color}\n\t\t\t\t class={this.h.classes(ButtonClass.root)}\n\t\t\t\t type={this.type}>\n\t\t\t\t<Tag\n\t\t\t\t\tclass=\"element\"\n\t\t\t\t\tref={el => (this.triggerRef = el as HTMLButtonElement | HTMLLinkElement)}\n\t\t\t\t\tonClick={this.onClickHandler.bind(this)}\n\t\t\t\t\tonFocus={this.onFocusHandler.bind(this)}\n\t\t\t\t\tonBlur={this.onBlurHandler.bind(this)}\n\t\t\t\t\tdisabled={this.disabled}\n\t\t\t\t\tid={this.identifier}\n\t\t\t\t\thref={this.href}\n\t\t\t\t\ttarget={this.target}\n\t\t\t\t\tdownload={this.download}\n\t\t\t\t\threflang={this.hreflang}\n\t\t\t\t\trel={this.rel}\n\t\t\t\t\tname={this.name}\n\t\t\t\t\ttype={nativeType}\n\t\t\t\t\ttabindex={this.disabled ? \"-1\" : \"0\"}\n\t\t\t\t\t{...this.inheritedAttributes}\n\t\t\t\t\taria-disabled={toBoolAttrIfDefined(this.disabled)}\n\t\t\t\t>\n\t\t\t\t\t{toBool(this.loading) && !this.h.hasSlot(\"icon-end\") &&\n\t\t\t\t\t\t<gov-icon name=\"loader\" class=\"gov-spin-animation\" type=\"components\"></gov-icon>}\n\t\t\t\t\t{this.h.hasSlot(\"icon-start\") && <slot name=\"icon-start\"></slot>}\n\t\t\t\t\t<slot/>\n\t\t\t\t\t{this.h.hasSlot(\"icon-end\") && <slot name=\"icon-end\"></slot>}\n\t\t\t\t\t{toBool(this.loading) && this.h.hasSlot(\"icon-end\") &&\n\t\t\t\t\t\t<gov-icon name=\"loader\" class=\"gov-spin-animation\" type=\"components\"></gov-icon>}\n\t\t\t\t</Tag>\n\t\t\t</Host>\n\t\t)\n\t}\n\n\tprivate onClickHandler(e: PointerEvent): void {\n\t\te.stopPropagation()\n\t\tif (this.disabled === false) {\n\t\t\tthis.govClick.emit({\n\t\t\t\tcomponent: ButtonClass.root,\n\t\t\t\toriginalEvent: e,\n\t\t\t\tref: this.host,\n\t\t\t})\n\t\t}\n\t}\n\n\tprivate onFocusHandler(e: FocusEvent) {\n\t\te.stopPropagation()\n\t\tthis.govFocus.emit({\n\t\t\tcomponent: ButtonClass.root,\n\t\t\toriginalEvent: e,\n\t\t\tref: this.host,\n\t\t})\n\t}\n\n\tprivate onBlurHandler(e: FocusEvent) {\n\t\te.stopPropagation()\n\t\tthis.govBlur.emit({\n\t\t\tcomponent: ButtonClass.root,\n\t\t\toriginalEvent: e,\n\t\t\tref: this.host,\n\t\t})\n\t}\n\n\t/**\n\t * Focus button element\n\t */\n\t@Method()\n\tasync setFocus(): Promise<void> {\n\t\tthis.triggerRef.focus()\n\t}\n\n\t/**\n\t * Returns a clickable element instance\n\t */\n\t@Method()\n\tasync getRef() {\n\t\treturn this.triggerRef\n\t}\n\n\t/**\n\t * Validate the Accessibility attributes of the component\n\t */\n\t@Method()\n\tasync validateAccessibility(): Promise<void> {\n\t\tif (this.focusable) {\n\t\t\tvalidateAccessibleLabel(this.triggerRef.getAttribute('aria-label'), this.triggerRef.getAttribute('aria-labelledby'), ButtonClass.root, this.host)\n\t\t}\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as t,c as s,h as i,a as e,g as a}from"./p-9dea2efa.js";import{v as o}from"./p-0b3574c2.js";import{T as h,a as r,b as n,c,d as l}from"./p-860520b0.js";import{g as d,c as f,b as p}from"./p-ea7fdd2e.js";import{h as b}from"./p-2fe7d728.js";import{p as m}from"./p-016bbea6.js";import{A as u,a as v}from"./p-9ac55bd1.js";import{i as y}from"./p-d9a299a4.js";import"./p-e8ec030e.js";import"./p-e0e2e9c1.js";import"./p-92f420cb.js";import"./p-5aad3497.js";const g=class{constructor(i){t(this,i);this.govChange=s(this,"gov-change",7);this.triggerRefs={};this.type="text";this.size="m";this.color="primary";this.orientation="horizontal";this.direction="row";this.controllers=[];this.focusIndex=0;this.inheritedAttributes={};this.h=d(this.host)}validateType(t){o(n,t,r.root)}validateColor(t){o(c,t,r.root)}validateSize(t){o(l,t,r.root)}componentDidLoad(){this.attributeObserver=new u(this.host,((t,s)=>{this.onAriaAttributeChange(t,s)}));this.attributeObserver.startObserving(v)}componentWillLoad(){this.prepareControllers();this.validateSize(this.size);this.inheritedAttributes=y(this.host)}disconnectedCallback(){var t;(t=this.attributeObserver)===null||t===void 0?void 0:t.stopObserving()}onAriaAttributeChange(t,s){this.host.removeAttribute(t);this.inheritedAttributes=Object.assign(Object.assign({},this.inheritedAttributes),{[t]:s})}prepareControllers(t=false){this.controllers=[];const s=[];this.host.querySelectorAll(h.root).forEach((t=>{const i=Promise.all([t.getIdentifier(),t.getTriggerIdentifier(),t.getDisableState()]).then((([s,i,e])=>{const a=typeof t.getAttribute("default")==="string";const o=m(t.getAttribute("icon-start"));const h=m(t.getAttribute("icon-end"));return{label:t.getAttribute("label"),direction:t.getAttribute("direction"),contentIdentifier:s,disabled:e,triggerIdentifier:i,element:t,active:false,default:a,iconStart:o,iconEnd:h}}));s.push(i)}));Promise.all(s).then((s=>{if(t===false){let t=s.findIndex((t=>t.default));if(t===-1)t=0;this.focusIndex=t;s[t].active=true}else if(this.focusIndex>-1&&b(s,this.focusIndex)){s[this.focusIndex].active=true}const i=s.findIndex((t=>t.active&&t.disabled));if(i>-1){s[i].active=false;const t=s.findIndex((t=>!t.disabled));if(t>-1){s[t].active=true;this.focusIndex=t}}this.controllers=[...s];this.reRender()}))}setActiveByIdentifier(t){const s=[];this.controllers.map((i=>{i.active=t===i.triggerIdentifier||t===i.contentIdentifier;s.push(i)}));this.controllers=[...s]}reRender(){this.controllers.map((t=>{t.element.setActiveStatus(t.active).catch()}))}render(){return i(e,{key:"38d228c9ed6d09ab8d3b49dd3c51f6573b1d991b",class:this.h.classes(r.root),size:this.size,color:this.color,type:this.type,direction:this.direction,onKeyDown:this.onKeydownHandler.bind(this)},i("div",Object.assign({key:"f88f5af844c12ce180507ca5b1ffff72885440d1",class:r.tabs,role:"tablist"},this.inheritedAttributes),i("ul",{key:"0a0ef5e51d29fcdbba61a0139ae51eb0cf96cf04",class:r.list},this.controllers.map((t=>i("li",{class:r.item},this.type=="text"?i("button",{class:r.btn,id:t.triggerIdentifier,role:"tab",onClick:()=>this.onSelectHandler(t),disabled:t.disabled,"aria-disabled":f(t.disabled),"aria-selected":f(t.active),"aria-controls":t.contentIdentifier,tabindex:t.active&&!t.disabled?0:-1,ref:s=>this.triggerRefs[t.triggerIdentifier]=s},t.iconStart?i("gov-icon",{name:t.iconStart.name,type:t.iconStart.type}):null,t.label,t.iconEnd?i("gov-icon",{name:t.iconEnd.name,type:t.iconEnd.type}):null):i("gov-chip",{role:"tab",tag:"button",identifier:t.triggerIdentifier,"aria-selected":p(t.active),"aria-controls":t.contentIdentifier,focusable:t.active,disabled:t.disabled,color:this.color,size:this.size==="xs"?"xs":this.size==="s"?"s":"m",type:t.active?"solid":"outlined",ref:s=>this.triggerRefs[t.triggerIdentifier]=s,"on-gov-click":()=>this.onSelectHandler(t)},t.iconStart?i("gov-icon",{name:t.iconStart.name,type:t.iconStart.type,slot:"icon-start"}):null,t.label,t.iconEnd?i("gov-icon",{name:t.iconEnd.name,type:t.iconEnd.type,slot:"icon-end"}):null)))))),i("slot",{key:"031978d82e01e604b306c6e37948dc67ce9ed89a"}))}getCurrentTab(){return this.controllers.find((t=>t.active))||null}onSelectHandler(t){const s=this.controllers.findIndex((s=>s.triggerIdentifier===t.triggerIdentifier));this.focusIndex=s;this.setActiveByIdentifier(t.triggerIdentifier);this.reRender();this.govChange.emit(this.getCurrentTab().element)}onKeydownHandler(t){const s=t.keyCode;t.stopPropagation();this.goToPrevNext(s)}goToPrevNext(t){if([37,38,39,40].includes(t)){if(false===(this.focusIndex>=0&&this.focusIndex<=this.controllers.length-1)){return}this.controllers[this.focusIndex].active=false;if(t===39||t===40){this.focusIndex++;if(this.focusIndex>=this.controllers.length){this.focusIndex=0}if(this.controllers[this.focusIndex].disabled){this.goToPrevNext(40)}}else if(t===37||t===38){this.focusIndex--;if(this.focusIndex<0){this.focusIndex=this.controllers.length-1}if(this.controllers[this.focusIndex].disabled){this.goToPrevNext(38)}}if(this.focusIndex>=0&&this.focusIndex<=this.controllers.length-1){const t=this.controllers[this.focusIndex];t.active=true;const s=this.triggerRefs[t.triggerIdentifier];if(s.nodeName.toLowerCase()==="gov-chip"){this.triggerRefs[t.triggerIdentifier].setFocus()}else{this.triggerRefs[t.triggerIdentifier].focus()}this.controllers=[...this.controllers];this.reRender();this.govChange.emit(this.getCurrentTab().element)}}}async refresh(){this.prepareControllers()}async currentTab(){return this.getCurrentTab().element||null}async setActiveTab(t){this.setActiveByIdentifier(t);this.reRender()}async rerender(){this.prepareControllers(true)}get host(){return a(this)}static get watchers(){return{type:["validateType"],color:["validateColor"],size:["validateSize"]}}};export{g as gov_tabs};
|
|
2
|
-
//# sourceMappingURL=p-0abc38e8.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["GovTabs","constructor","hostRef","this","triggerRefs","h","govHost","host","validateType","newValue","validateProp","TabTypes","TabsClass","root","validateColor","TabColors","validateSize","TabSizes","componentDidLoad","attributeObserver","AttributeObserver","attributeName","onAriaAttributeChange","startObserving","ariaAttributes","componentWillLoad","prepareControllers","size","inheritedAttributes","inheritAriaAttributes","disconnectedCallback","_a","stopObserving","removeAttribute","Object","assign","skipDefault","controllers","promises","querySelectorAll","TabsItemClass","forEach","tab","controlItem","Promise","all","getIdentifier","getTriggerIdentifier","getDisableState","then","identifier","triggerIdentifier","disabled","isDefault","getAttribute","iconStart","prepareIconFormat","iconEnd","label","direction","contentIdentifier","element","active","default","push","defaultTabIndex","findIndex","controller","focusIndex","hasOwnProperty","isWrongCombination","firstGoodTab","reRender","setActiveByIdentifier","temp","map","item","control","setActiveStatus","catch","render","Host","key","class","classes","color","type","onKeyDown","onKeydownHandler","bind","tabs","role","list","btn","id","onClick","onSelectHandler","toBoolAttr","tabindex","ref","el","name","tag","booleanString","focusable","slot","getCurrentTab","find","index","t","govChange","emit","e","keyCode","stopPropagation","goToPrevNext","includes","length","current","trigger","nodeName","toLowerCase","setFocus","focus","refresh","currentTab","setActiveTab","rerender"],"sources":["../../../packages/core/src/components/gov-tabs/gov-tabs.tsx"],"sourcesContent":["import {Component, Element, Event, EventEmitter, h, Host, Method, Prop, State, Watch} from \"@stencil/core\"\nimport {validateProp} from \"../../helpers/Validate/props\"\nimport {\n\tColorType,\n\tTabColors,\n\tTabOrientationType,\n\tTabsClass,\n\tTabsItemClass,\n\tTabSizes,\n\tTabSizeType,\n\tTabType,\n\tTabTypes\n} from \"./constants\"\nimport {GovTabControllerItem} from \"./gov-tabs.types\"\nimport {booleanString, govHost, toBoolAttr} from \"../../helpers/Dom/template\"\nimport {Nullable} from \"../../types/interfaces\"\nimport {GovHost} from \"../../helpers/Dom/template.types\"\nimport {hasOwnProperty} from \"../../utils/helpers.types\";\nimport {prepareIconFormat} from \"../gov-icon/helpers\";\nimport {AttributeObserver, Attributes} from \"../../helpers/Dom/attribute\";\nimport {ariaAttributes} from \"../../helpers/Accessibility/attributes\";\nimport {inheritAriaAttributes} from \"../../helpers/Accessibility/accessibility\";\n\n\n@Component({\n\ttag: \"gov-tabs\",\n})\nexport class GovTabs {\n\tprivate h: GovHost\n\tprivate triggerRefs: Record<string, HTMLButtonElement | HTMLGovChipElement> = {}\n\tprivate attributeObserver: AttributeObserver\n\n\tconstructor() {\n\t\tthis.h = govHost(this.host)\n\t}\n\n\t@Element() host: HTMLGovTabsElement\n\t/**\n\t * Tabs type\n\t */\n\t@Prop() readonly type: TabType = \"text\"\n\t/**\n\t * Tabs size.\n\t */\n\t@Prop() readonly size?: TabSizeType = 'm'\n\t/**\n\t * Style variation of the tab chips.\n\t */\n\t@Prop() readonly color?: ColorType = \"primary\"\n\t/**\n\t * Tabs orientation\n\t */\n\t@Prop() readonly orientation: TabOrientationType = \"horizontal\"\n\t/**\n\t * Icon and description display direction\n\t */\n\t@Prop({reflect: true}) readonly direction: 'row' | 'column' = 'row'\n\t/**\n\t * Emitted when the tab is changed.\n\t */\n\t@Event({eventName: \"gov-change\"}) govChange: EventEmitter<HTMLGovTabsItemElement>\n\n\t@Watch(\"type\")\n\tvalidateType(newValue: string): void {\n\t\tvalidateProp(TabTypes, newValue, TabsClass.root)\n\t}\n\n\t@Watch(\"color\")\n\tvalidateColor(newValue: string): void {\n\t\tvalidateProp(TabColors, newValue, TabsClass.root)\n\t}\n\n\t@Watch('size')\n\tvalidateSize(newValue: string): void {\n\t\tvalidateProp(TabSizes, newValue, TabsClass.root)\n\t}\n\n\t@State() controllers: GovTabControllerItem[] = []\n\t@State() focusIndex = 0\n\t@State() inheritedAttributes: Attributes = {}\n\n\tcomponentDidLoad() {\n\t\tthis.attributeObserver = new AttributeObserver(this.host, (attributeName, newValue) => {\n\t\t\tthis.onAriaAttributeChange(attributeName, newValue);\n\t\t});\n\n\t\tthis.attributeObserver.startObserving(ariaAttributes);\n\t}\n\n\tcomponentWillLoad() {\n\t\tthis.prepareControllers()\n\t\tthis.validateSize(this.size)\n\t\tthis.inheritedAttributes = inheritAriaAttributes(this.host);\n\t}\n\n\tdisconnectedCallback() {\n\t\tthis.attributeObserver?.stopObserving();\n\t}\n\n\tonAriaAttributeChange(attributeName: string, newValue: string) {\n\t\tthis.host.removeAttribute(attributeName)\n\t\tthis.inheritedAttributes = {...this.inheritedAttributes, [attributeName]: newValue};\n\t}\n\n\tprivate prepareControllers(skipDefault = false): void {\n\t\tthis.controllers = []\n\t\tconst promises: Promise<GovTabControllerItem>[] = []\n\t\tthis.host.querySelectorAll(TabsItemClass.root).forEach((tab: HTMLGovTabsItemElement) => {\n\t\t\tconst controlItem = Promise.all([\n\t\t\t\ttab.getIdentifier(),\n\t\t\t\ttab.getTriggerIdentifier(),\n\t\t\t\ttab.getDisableState()\n\t\t\t]).then(([identifier, triggerIdentifier, disabled]) => {\n\t\t\t\tconst isDefault = typeof tab.getAttribute(\"default\") === \"string\"\n\t\t\t\tconst iconStart = prepareIconFormat(tab.getAttribute('icon-start'))\n\t\t\t\tconst iconEnd = prepareIconFormat(tab.getAttribute('icon-end'))\n\t\t\t\treturn {\n\t\t\t\t\tlabel: tab.getAttribute(\"label\"),\n\t\t\t\t\tdirection: tab.getAttribute(\"direction\"),\n\t\t\t\t\tcontentIdentifier: identifier,\n\t\t\t\t\tdisabled: disabled,\n\t\t\t\t\ttriggerIdentifier: triggerIdentifier,\n\t\t\t\t\telement: tab,\n\t\t\t\t\tactive: false,\n\t\t\t\t\tdefault: isDefault,\n\t\t\t\t\ticonStart,\n\t\t\t\t\ticonEnd\n\t\t\t\t}\n\t\t\t})\n\t\t\tpromises.push(controlItem)\n\t\t});\n\t\tPromise.all(promises).then(controllers => {\n\t\t\tif (skipDefault === false) {\n\t\t\t\tlet defaultTabIndex = controllers.findIndex(controller => controller.default)\n\t\t\t\tif (defaultTabIndex === -1) defaultTabIndex = 0\n\t\t\t\tthis.focusIndex = defaultTabIndex\n\t\t\t\tcontrollers[defaultTabIndex].active = true\n\t\t\t} else if (this.focusIndex > -1 && hasOwnProperty(controllers, this.focusIndex)) {\n\t\t\t\tcontrollers[this.focusIndex].active = true\n\t\t\t}\n\t\t\tconst isWrongCombination = controllers.findIndex((controller) => controller.active && controller.disabled)\n\t\t\tif (isWrongCombination > -1) {\n\t\t\t\tcontrollers[isWrongCombination].active = false;\n\t\t\t\tconst firstGoodTab = controllers.findIndex((controller) => !controller.disabled)\n\t\t\t\tif (firstGoodTab > -1) {\n\t\t\t\t\tcontrollers[firstGoodTab].active = true\n\t\t\t\t\tthis.focusIndex = firstGoodTab;\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.controllers = [...controllers]\n\t\t\tthis.reRender()\n\t\t})\n\t}\n\n\tprivate setActiveByIdentifier(identifier: string) {\n\t\tconst temp = []\n\t\tthis.controllers.map(item => {\n\t\t\titem.active = identifier === item.triggerIdentifier || identifier === item.contentIdentifier\n\t\t\ttemp.push(item)\n\t\t})\n\t\tthis.controllers = [...temp]\n\t}\n\n\tprivate reRender() {\n\t\tthis.controllers.map(control => {\n\t\t\tcontrol.element.setActiveStatus(control.active).catch()\n\t\t})\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host\n\t\t\t\tclass={this.h.classes(TabsClass.root)}\n\t\t\t\tsize={this.size}\n\t\t\t\tcolor={this.color}\n\t\t\t\ttype={this.type}\n\t\t\t\tdirection={this.direction}\n\t\t\t\tonKeyDown={this.onKeydownHandler.bind(this)}\n\t\t\t>\n\t\t\t\t<div class={TabsClass.tabs}\n\t\t\t\t\t role=\"tablist\"\n\t\t\t\t\t {...this.inheritedAttributes}>\n\t\t\t\t\t<ul class={TabsClass.list}>\n\t\t\t\t\t\t{this.controllers.map(control => (\n\t\t\t\t\t\t\t<li class={TabsClass.item}>\n\t\t\t\t\t\t\t\t{this.type == \"text\" ? (\n\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\tclass={TabsClass.btn}\n\t\t\t\t\t\t\t\t\t\tid={control.triggerIdentifier}\n\t\t\t\t\t\t\t\t\t\trole=\"tab\"\n\t\t\t\t\t\t\t\t\t\tonClick={() => this.onSelectHandler(control)}\n\t\t\t\t\t\t\t\t\t\tdisabled={control.disabled}\n\t\t\t\t\t\t\t\t\t\taria-disabled={toBoolAttr(control.disabled)}\n\t\t\t\t\t\t\t\t\t\taria-selected={toBoolAttr(control.active)}\n\t\t\t\t\t\t\t\t\t\taria-controls={control.contentIdentifier}\n\t\t\t\t\t\t\t\t\t\ttabindex={control.active && !control.disabled ? 0 : -1}\n\t\t\t\t\t\t\t\t\t\tref={el => (this.triggerRefs[control.triggerIdentifier] = el as HTMLButtonElement)}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{control.iconStart ? (<gov-icon\n\t\t\t\t\t\t\t\t\t\t\tname={control.iconStart.name}\n\t\t\t\t\t\t\t\t\t\t\ttype={control.iconStart.type}></gov-icon>) : null}\n\t\t\t\t\t\t\t\t\t\t{control.label}\n\t\t\t\t\t\t\t\t\t\t{control.iconEnd ? (<gov-icon\n\t\t\t\t\t\t\t\t\t\t\tname={control.iconEnd.name}\n\t\t\t\t\t\t\t\t\t\t\ttype={control.iconEnd.type}></gov-icon>) : null}\n\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<gov-chip\n\t\t\t\t\t\t\t\t\t\trole=\"tab\"\n\t\t\t\t\t\t\t\t\t\ttag={'button'}\n\t\t\t\t\t\t\t\t\t\tidentifier={control.triggerIdentifier}\n\t\t\t\t\t\t\t\t\t\taria-selected={booleanString(control.active)}\n\t\t\t\t\t\t\t\t\t\taria-controls={control.contentIdentifier}\n\t\t\t\t\t\t\t\t\t\tfocusable={control.active}\n\t\t\t\t\t\t\t\t\t\tdisabled={control.disabled}\n\t\t\t\t\t\t\t\t\t\tcolor={this.color}\n\t\t\t\t\t\t\t\t\t\tsize={this.size === \"xs\" ? \"xs\" : (this.size === \"s\" ? \"s\" : \"m\")}\n\t\t\t\t\t\t\t\t\t\ttype={control.active ? \"solid\" : \"outlined\"}\n\t\t\t\t\t\t\t\t\t\tref={el => (this.triggerRefs[control.triggerIdentifier] = el as HTMLGovChipElement)}\n\t\t\t\t\t\t\t\t\t\ton-gov-click={() => this.onSelectHandler(control)}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{control.iconStart ? (<gov-icon\n\t\t\t\t\t\t\t\t\t\t\tname={control.iconStart.name}\n\t\t\t\t\t\t\t\t\t\t\ttype={control.iconStart.type}\n\t\t\t\t\t\t\t\t\t\t\tslot=\"icon-start\"></gov-icon>) : null}\n\t\t\t\t\t\t\t\t\t\t{control.label}\n\t\t\t\t\t\t\t\t\t\t{control.iconEnd ? (<gov-icon\n\t\t\t\t\t\t\t\t\t\t\tname={control.iconEnd.name}\n\t\t\t\t\t\t\t\t\t\t\ttype={control.iconEnd.type}\n\t\t\t\t\t\t\t\t\t\t\tslot=\"icon-end\"></gov-icon>) : null}\n\t\t\t\t\t\t\t\t\t</gov-chip>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</ul>\n\t\t\t\t</div>\n\t\t\t\t<slot></slot>\n\t\t\t</Host>\n\t\t)\n\t}\n\n\tprivate getCurrentTab(): GovTabControllerItem | null {\n\t\treturn this.controllers.find(control => control.active) || null\n\t}\n\n\tprivate onSelectHandler(control: GovTabControllerItem) {\n\t\tconst index = this.controllers.findIndex(t => t.triggerIdentifier === control.triggerIdentifier);\n\t\tthis.focusIndex = index\n\t\tthis.setActiveByIdentifier(control.triggerIdentifier)\n\t\tthis.reRender()\n\t\tthis.govChange.emit(this.getCurrentTab().element)\n\t}\n\n\tprivate onKeydownHandler(e: KeyboardEvent) {\n\t\tconst keyCode = e.keyCode\n\n\t\te.stopPropagation()\n\t\tthis.goToPrevNext(keyCode)\n\t}\n\n\tprivate goToPrevNext(keyCode: number) {\n\t\tif ([37, 38, 39, 40].includes(keyCode)) {\n\t\t\tif (false === (this.focusIndex >= 0 && this.focusIndex <= this.controllers.length - 1)) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tthis.controllers[this.focusIndex].active = false\n\n\t\t\tif (keyCode === 39 || keyCode === 40) {\n\t\t\t\tthis.focusIndex++\n\t\t\t\tif (this.focusIndex >= this.controllers.length) {\n\t\t\t\t\tthis.focusIndex = 0\n\t\t\t\t}\n\t\t\t\tif (this.controllers[this.focusIndex].disabled) {\n\t\t\t\t\tthis.goToPrevNext(40)\n\t\t\t\t}\n\t\t\t} else if (keyCode === 37 || keyCode === 38) {\n\t\t\t\tthis.focusIndex--\n\t\t\t\tif (this.focusIndex < 0) {\n\t\t\t\t\tthis.focusIndex = this.controllers.length - 1\n\t\t\t\t}\n\t\t\t\tif (this.controllers[this.focusIndex].disabled) {\n\t\t\t\t\tthis.goToPrevNext(38)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (this.focusIndex >= 0 && this.focusIndex <= this.controllers.length - 1) {\n\t\t\t\tconst current = this.controllers[this.focusIndex]\n\t\t\t\tcurrent.active = true\n\t\t\t\tconst trigger = this.triggerRefs[current.triggerIdentifier]\n\t\t\t\tif (trigger.nodeName.toLowerCase() === 'gov-chip') {\n\t\t\t\t\t(this.triggerRefs[current.triggerIdentifier] as HTMLGovChipElement).setFocus()\n\t\t\t\t} else {\n\t\t\t\t\tthis.triggerRefs[current.triggerIdentifier].focus()\n\t\t\t\t}\n\n\t\t\t\tthis.controllers = [...this.controllers]\n\t\t\t\tthis.reRender()\n\t\t\t\tthis.govChange.emit(this.getCurrentTab().element)\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Regenerate tabs controllers\n\t */\n\t@Method()\n\tasync refresh(): Promise<void> {\n\t\tthis.prepareControllers()\n\t}\n\n\t/**\n\t * Returns the currently selected tabs-item\n\t */\n\t@Method()\n\tasync currentTab(): Promise<Nullable<HTMLGovTabsItemElement>> {\n\t\treturn this.getCurrentTab().element || null\n\t}\n\n\t/**\n\t * Regenerate tabs controllers\n\t */\n\t@Method()\n\tasync setActiveTab(identifier: string): Promise<void> {\n\t\tthis.setActiveByIdentifier(identifier)\n\t\tthis.reRender()\n\t}\n\n\t/**\n\t * Regenerate tabs controllers\n\t */\n\t@Method()\n\tasync rerender(): Promise<void> {\n\t\tthis.prepareControllers(true);\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as s,c as e,h as a,a as t}from"./p-9dea2efa.js";import{F as o}from"./p-7ba4daf4.js";import"./p-e0e2e9c1.js";import"./p-92f420cb.js";const i=class{constructor(a){s(this,a);this.govClick=e(this,"gov-click",7);this.identifier=undefined;this.size="m";this.required=false;this.legend=false}render(){const s=this.legend?"legend":"label";return a(t,{key:"5227d00ebe3e8923687d4e8d0f3a74bad0da82b3",class:o.root,size:this.size},a(s,{key:"981d363fdf7435a0b242b9610a7dd68e11d4f05e",class:o.label,htmlFor:this.identifier,onClick:()=>this.govClick.emit()},a("slot",{key:"bdf282178e200fa69d9f871354786ecbd024fa90"}),this.required?a("span",{class:"gov-color--error-500"}," *"):null))}};export{i as gov_form_label};
|
|
2
|
-
//# sourceMappingURL=p-774ea182.entry.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as t,c as s,h as e,a as i,g as o}from"./p-9dea2efa.js";import{g as a,c as n}from"./p-ea7fdd2e.js";import{F as c}from"./p-1c1d0bbe.js";import{v as r}from"./p-0b3574c2.js";import{C as h}from"./p-5aad3497.js";import{p as l}from"./p-e0e2e9c1.js";import{A as d,a as b}from"./p-9ac55bd1.js";import{i as f}from"./p-d9a299a4.js";import"./p-e8ec030e.js";const p=l(h,["PRIMARY","SECONDARY","NEUTRAL","ERROR","SUCCESS","WARNING"]);var m;(function(t){t["BOLD"]="bold";t["SUBTLE"]="subtle"})(m||(m={}));const v={root:"gov-infobar",section:"gov-infobar__section",content:"gov-infobar__content",headline:"gov-infobar__headline",close:"gov-infobar__close"};const g=class{constructor(e){t(this,e);this.govClose=s(this,"gov-close",7);this.color="primary";this.type="bold";this.role=undefined;this.accessibleCloseLabel="Zavřít informační lištu";this.accessibleToggleLabel="Zobrazit více informací";this.closable=false;this.toggleContent=false;this.inheritedAttributes={};this.h=a(this.host)}validateColor(t){r(p,t,v.root)}componentDidLoad(){this.attributeObserver=new d(this.host,((t,s)=>{this.onAriaAttributeChange(t,s)}));this.attributeObserver.startObserving(b)}componentWillLoad(){this.validateColor(this.color);this.inheritedAttributes=f(this.host)}disconnectedCallback(){var t;(t=this.attributeObserver)===null||t===void 0?void 0:t.stopObserving()}onAriaAttributeChange(t,s){this.host.removeAttribute(t);this.inheritedAttributes=Object.assign(Object.assign({},this.inheritedAttributes),{[t]:s})}render(){const t=e("gov-button",{key:"bf4dbf4e33374f5827d51c7fab56ce1de0e86103",size:"s","aria-label":this.accessibleCloseLabel,type:"base",color:this.isBold?this.color:"neutral","on-gov-click":this.onCloseHandler.bind(this),class:v.close},e("gov-icon",{key:"c85cebe33a0b06adc79c0adb97d9cabe3d648651",name:"x-lg",type:"components"}));return e(i,{key:"82fe497b7f6d4f3aba3bcad0295bb626587952c1",class:this.h.classes(v.root),color:this.color,type:this.type},e("section",Object.assign({key:"d2b1a013623206d9662c252f189a5b9edeff009d",class:v.section},this.inheritedAttributes,{role:this.role}),this.h.hasSlot("icon")&&e("span",{key:"18efd7eecd6eeb683ba2982f9abb2cfc09e90dab"},e("slot",{key:"cc093214b7fd417c1baec6918e5613f843a7bb55",name:"icon"})),e("div",{key:"07d2db35c654390b08318273dbd76456b75ae5e4",class:v.content},this.h.hasSlot("headline")?e(c,null,e("div",{class:v.headline},e("slot",{name:"headline"}),e("gov-button",{size:"s",type:"base",color:this.isBold?this.color:"neutral","aria-label":this.accessibleToggleLabel,"on-gov-click":()=>this.toggleContent=!this.toggleContent},e("gov-icon",{name:this.toggleContent?"chevron-up":"chevron-down",type:"components"}))),e("div",{hidden:!this.toggleContent,"aria-hidden":n(this.toggleContent)},e("slot",null))):e("slot",null)),this.closable&&t))}onCloseHandler(t){this.govClose.emit({component:v.root,ref:this.host,originalEvent:t})}get isBold(){return this.type==="bold"}get host(){return o(this)}static get watchers(){return{color:["validateColor"]}}};export{g as gov_infobar};
|
|
2
|
-
//# sourceMappingURL=p-a1c825f3.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["InfobarColors","pick","Colors","InfobarType","InfobarClass","root","section","content","headline","close","GovInfobar","constructor","hostRef","undefined","this","h","govHost","host","validateColor","newValue","validateProp","componentDidLoad","attributeObserver","AttributeObserver","attributeName","onAriaAttributeChange","startObserving","ariaAttributes","componentWillLoad","color","inheritedAttributes","inheritAriaAttributes","disconnectedCallback","_a","stopObserving","removeAttribute","Object","assign","render","closeButton","key","size","accessibleCloseLabel","type","isBold","onCloseHandler","bind","class","name","Host","classes","role","hasSlot","Fragment","accessibleToggleLabel","toggleContent","hidden","toBoolAttr","closable","e","govClose","emit","component","ref","originalEvent"],"sources":["../../../packages/core/src/components/gov-infobar/constants.ts","../../../packages/core/src/components/gov-infobar/gov-infobar.tsx"],"sourcesContent":["import { Colors } from '../../core/constants/colors'\nimport { pick } from '../../utils/utils'\nimport { ValueOf } from '../../types/interfaces'\n\nexport const InfobarColors = pick(Colors, ['PRIMARY', 'SECONDARY', 'NEUTRAL', 'ERROR', 'SUCCESS', 'WARNING'])\nexport type ColorType = `${ValueOf<typeof InfobarColors>}`\n\nexport enum InfobarType {\n\tBOLD = 'bold',\n\tSUBTLE = 'subtle',\n}\nexport type InfobarTypesType = `${ValueOf<typeof InfobarType>}`\n\nexport const InfobarClass = {\n\troot: 'gov-infobar',\n\tsection: 'gov-infobar__section',\n\tcontent: 'gov-infobar__content',\n\theadline: 'gov-infobar__headline',\n\tclose: 'gov-infobar__close',\n}\n","import {Component, Element, Event, EventEmitter, h, Host, Prop, State, Watch} from '@stencil/core'\nimport {govHost, toBoolAttr} from '../../helpers/Dom/template'\nimport {GovHost} from '../../helpers/Dom/template.types'\nimport Fragment from '../../helpers/Fragment'\nimport {validateProp} from '../../helpers/Validate/props'\nimport {ButtonEvent} from '../gov-button/button/gov-button.types'\nimport {ColorType, InfobarClass, InfobarColors, InfobarTypesType} from './constants'\nimport {InfobarEvent} from './gov-infobar.types'\nimport {AttributeObserver, Attributes} from \"../../helpers/Dom/attribute\";\nimport {ariaAttributes} from \"../../helpers/Accessibility/attributes\";\nimport {inheritAriaAttributes} from \"../../helpers/Accessibility/accessibility\";\n\n@Component({\n\ttag: 'gov-infobar',\n})\nexport class GovInfobar {\n\tprivate h: GovHost\n\tprivate attributeObserver: AttributeObserver\n\n\tconstructor() {\n\t\tthis.h = govHost(this.host)\n\t}\n\n\t@Element() host: HTMLGovInfobarElement\n\n\t/**\n\t * Style variation of the button.\n\t */\n\t@Prop() readonly color: ColorType = 'primary'\n\t/**\n\t * Infobar appearance\n\t */\n\t@Prop() readonly type?: InfobarTypesType = \"bold\"\n\t/**\n\t * Style variation of the button.\n\t */\n\t@Prop() readonly role: HTMLElement['role'] = undefined\n\t/**\n\t * Aria label for the closing button. It is mandatory if the infobar is closable\n\t */\n\t@Prop({attribute: 'accessible-close-label'}) readonly accessibleCloseLabel: string = 'Zavřít informační lištu'\n\t/**\n\t * Aria label for the toggle button. It is mandatory if the infobar has headline\n\t */\n\t@Prop({attribute: 'accessible-toggle-label'}) readonly accessibleToggleLabel: string = 'Zobrazit více informací'\n\t/**\n\t * Called when the close button is clicked\n\t */\n\t@Event({eventName: 'gov-close'}) govClose: EventEmitter<InfobarEvent>\n\t/**\n\t * Displays the option to close the infobar\n\t */\n\t@Prop() readonly closable?: boolean = false\n\n\t@State() toggleContent = false\n\t@State() inheritedAttributes: Attributes = {}\n\n\t@Watch('color')\n\tvalidateColor(newValue: string): void {\n\t\tvalidateProp(InfobarColors, newValue, InfobarClass.root)\n\t}\n\n\tcomponentDidLoad() {\n\t\tthis.attributeObserver = new AttributeObserver(this.host, (attributeName, newValue) => {\n\t\t\tthis.onAriaAttributeChange(attributeName, newValue);\n\t\t});\n\n\t\tthis.attributeObserver.startObserving(ariaAttributes);\n\t}\n\n\tcomponentWillLoad(): void {\n\t\tthis.validateColor(this.color)\n\t\tthis.inheritedAttributes = inheritAriaAttributes(this.host);\n\t}\n\n\tdisconnectedCallback() {\n\t\tthis.attributeObserver?.stopObserving();\n\t}\n\n\tonAriaAttributeChange(attributeName: string, newValue: string) {\n\t\tthis.host.removeAttribute(attributeName)\n\t\tthis.inheritedAttributes = {...this.inheritedAttributes, [attributeName]: newValue};\n\t}\n\n\trender() {\n\t\tconst closeButton = (\n\t\t\t<gov-button size=\"s\"\n\t\t\t\t\t\taria-label={this.accessibleCloseLabel}\n\t\t\t\t\t\ttype=\"base\"\n\t\t\t\t\t\tcolor={this.isBold ? this.color : \"neutral\"}\n\t\t\t\t\t\ton-gov-click={this.onCloseHandler.bind(this)}\n\t\t\t\t\t\tclass={InfobarClass.close}>\n\t\t\t\t<gov-icon name=\"x-lg\" type=\"components\"></gov-icon>\n\t\t\t</gov-button>\n\t\t)\n\n\t\treturn (\n\t\t\t<Host class={this.h.classes(InfobarClass.root)} color={this.color} type={this.type}>\n\t\t\t\t<section class={InfobarClass.section} {...this.inheritedAttributes} role={this.role}>\n\t\t\t\t\t{this.h.hasSlot(\"icon\") && (\n\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t<slot name=\"icon\"/>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t)}\n\t\t\t\t\t<div class={InfobarClass.content}>\n\t\t\t\t\t\t{this.h.hasSlot('headline') ? (\n\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t<div class={InfobarClass.headline}>\n\t\t\t\t\t\t\t\t\t<slot name={\"headline\"}/>\n\t\t\t\t\t\t\t\t\t<gov-button\n\t\t\t\t\t\t\t\t\t\tsize=\"s\"\n\t\t\t\t\t\t\t\t\t\ttype=\"base\"\n\t\t\t\t\t\t\t\t\t\tcolor={this.isBold ? this.color : \"neutral\"}\n\t\t\t\t\t\t\t\t\t\taria-label={this.accessibleToggleLabel}\n\t\t\t\t\t\t\t\t\t\ton-gov-click={() => (this.toggleContent = !this.toggleContent)}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<gov-icon name={this.toggleContent ? 'chevron-up' : 'chevron-down'} type=\"components\"></gov-icon>\n\t\t\t\t\t\t\t\t\t</gov-button>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div hidden={!this.toggleContent} aria-hidden={toBoolAttr(this.toggleContent)}>\n\t\t\t\t\t\t\t\t\t<slot/>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<slot/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t\t{this.closable && closeButton}\n\t\t\t\t</section>\n\t\t\t</Host>\n\t\t)\n\t}\n\n\tonCloseHandler(e: CustomEvent<ButtonEvent>) {\n\t\tthis.govClose.emit({\n\t\t\tcomponent: InfobarClass.root,\n\t\t\tref: this.host,\n\t\t\toriginalEvent: e,\n\t\t})\n\t}\n\n\tget isBold(): boolean {\n\t\treturn this.type === \"bold\"\n\t}\n}\n"],"mappings":"kWAIO,MAAMA,EAAgBC,EAAKC,EAAQ,CAAC,UAAW,YAAa,UAAW,QAAS,UAAW,YAGlG,IAAYC,GAAZ,SAAYA,GACXA,EAAA,eACAA,EAAA,kBACA,EAHD,CAAYA,MAAW,KAMhB,MAAMC,EAAe,CAC3BC,KAAM,cACNC,QAAS,uBACTC,QAAS,uBACTC,SAAU,wBACVC,MAAO,sB,MCHKC,EAAU,MAItB,WAAAC,CAAAC,G,yDASoC,U,UAIO,O,UAIEC,U,0BAIwC,0B,2BAIE,0B,cAQjD,M,mBAEb,M,yBACkB,GAnC1CC,KAAKC,EAAIC,EAAQF,KAAKG,K,CAsCvB,aAAAC,CAAcC,GACbC,EAAapB,EAAemB,EAAUf,EAAaC,K,CAGpD,gBAAAgB,GACCP,KAAKQ,kBAAoB,IAAIC,EAAkBT,KAAKG,MAAM,CAACO,EAAeL,KACzEL,KAAKW,sBAAsBD,EAAeL,EAAS,IAGpDL,KAAKQ,kBAAkBI,eAAeC,E,CAGvC,iBAAAC,GACCd,KAAKI,cAAcJ,KAAKe,OACxBf,KAAKgB,oBAAsBC,EAAsBjB,KAAKG,K,CAGvD,oBAAAe,G,OACCC,EAAAnB,KAAKQ,qBAAiB,MAAAW,SAAA,SAAAA,EAAEC,e,CAGzB,qBAAAT,CAAsBD,EAAuBL,GAC5CL,KAAKG,KAAKkB,gBAAgBX,GAC1BV,KAAKgB,oBAAmBM,OAAAC,OAAAD,OAAAC,OAAA,GAAOvB,KAAKgB,qBAAmB,CAAEN,CAACA,GAAgBL,G,CAG3E,MAAAmB,GACC,MAAMC,EACLxB,EAAA,cAAAyB,IAAA,2CAAYC,KAAK,IAAG,aACL3B,KAAK4B,qBACjBC,KAAK,OACLd,MAAOf,KAAK8B,OAAS9B,KAAKe,MAAQ,UAAS,eAC7Bf,KAAK+B,eAAeC,KAAKhC,MACvCiC,MAAO3C,EAAaK,OACtBM,EAAA,YAAAyB,IAAA,2CAAUQ,KAAK,OAAOL,KAAK,gBAI7B,OACC5B,EAACkC,EAAI,CAAAT,IAAA,2CAACO,MAAOjC,KAAKC,EAAEmC,QAAQ9C,EAAaC,MAAOwB,MAAOf,KAAKe,MAAOc,KAAM7B,KAAK6B,MAC7E5B,EAAA,UAAAqB,OAAAC,OAAA,CAAAG,IAAA,2CAASO,MAAO3C,EAAaE,SAAaQ,KAAKgB,oBAAmB,CAAEqB,KAAMrC,KAAKqC,OAC7ErC,KAAKC,EAAEqC,QAAQ,SACfrC,EAAA,QAAAyB,IAAA,4CACCzB,EAAA,QAAAyB,IAAA,2CAAMQ,KAAK,UAGbjC,EAAA,OAAAyB,IAAA,2CAAKO,MAAO3C,EAAaG,SACvBO,KAAKC,EAAEqC,QAAQ,YACfrC,EAACsC,EAAQ,KACRtC,EAAA,OAAKgC,MAAO3C,EAAaI,UACxBO,EAAA,QAAMiC,KAAM,aACZjC,EAAA,cACC0B,KAAK,IACLE,KAAK,OACLd,MAAOf,KAAK8B,OAAS9B,KAAKe,MAAQ,UAAS,aAC/Bf,KAAKwC,sBAAqB,eACxB,IAAOxC,KAAKyC,eAAiBzC,KAAKyC,eAEhDxC,EAAA,YAAUiC,KAAMlC,KAAKyC,cAAgB,aAAe,eAAgBZ,KAAK,iBAG3E5B,EAAA,OAAKyC,QAAS1C,KAAKyC,cAAa,cAAeE,EAAW3C,KAAKyC,gBAC9DxC,EAAA,eAIFA,EAAA,cAGDD,KAAK4C,UAAYnB,G,CAMtB,cAAAM,CAAec,GACd7C,KAAK8C,SAASC,KAAK,CAClBC,UAAW1D,EAAaC,KACxB0D,IAAKjD,KAAKG,KACV+C,cAAeL,G,CAIjB,UAAIf,GACH,OAAO9B,KAAK6B,OAAS,M","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as t,c as i,h as e,a as s,g as a}from"./p-9dea2efa.js";import{v as n}from"./p-0b3574c2.js";import{B as o,a as h,c as d,N as r}from"./p-3bbb77a0.js";import{g as c,t as f}from"./p-ea7fdd2e.js";import{S as l}from"./p-92f420cb.js";import{v as p}from"./p-6d54ce5f.js";import{c as b}from"./p-e8ec030e.js";import{d as m}from"./p-e0e2e9c1.js";import{i as u}from"./p-d9a299a4.js";import{A as v,a as y}from"./p-9ac55bd1.js";import"./p-5aad3497.js";import"./p-cd6c2938.js";import"./p-2fe7d728.js";function g(t){if(typeof t==="string"){return["true","True","TRUE","1"].indexOf(t)!==-1}else if(typeof t==="number"){return t>0}else if(typeof t==="boolean"){return t}else{return t?true:false}}var j;(function(t){t["A"]="a";t["BUTTON"]="button"})(j||(j={}));const k=class{constructor(e){t(this,e);this.govClick=i(this,"gov-click",7);this.govFocus=i(this,"gov-focus",7);this.govBlur=i(this,"gov-blur",7);this.hydrated=false;this.color=undefined;this.size="m";this.type=undefined;this.expanded=false;this.name=undefined;this.disabled=false;this.nativeType="button";this.href=undefined;this.target=undefined;this.download=undefined;this.hreflang=undefined;this.referrerpolicy=undefined;this.rel=undefined;this.loading=undefined;this.focusable=true;this.identifier=undefined;this.inheritedAttributes={};this.h=c(this.host)}validateColor(t){n(h,t,o.root)}validateType(t){n(d,t,o.root)}validateSize(t){n(l,t,o.root)}validateNativeType(t){n(r,t,o.root)}componentDidLoad(){this.attributeObserver=new v(this.host,((t,i)=>{this.onAriaAttributeChange(t,i)}));this.attributeObserver.startObserving(y)}onAriaAttributeChange(t,i){this.host.removeAttribute(t);this.inheritedAttributes=Object.assign(Object.assign({},this.inheritedAttributes),{[t]:i})}disconnectedCallback(){var t;(t=this.attributeObserver)===null||t===void 0?void 0:t.stopObserving()}componentWillLoad(){this.validateColor(this.color);this.validateType(this.type);this.validateSize(this.size);this.validateNativeType(this.nativeType);this.inheritedAttributes=u(this.host)}async componentDidRender(){if(b()){await m(500);await this.validateAccessibility()}}connectedCallback(){this.hydrated=true}render(){const t=this.href?j.A:j.BUTTON;const i=t===j.A?undefined:this.nativeType;return e(s,{key:"cd3d644c54ac882be5adf1645391a873d426e549",size:this.size,hydrated:this.hydrated,color:this.color,class:this.h.classes(o.root),type:this.type},e(t,Object.assign({key:"39c76efc161144865f6bde8cf50e2808d0566415",class:"element",ref:t=>this.triggerRef=t,onClick:this.onClickHandler.bind(this),onFocus:this.onFocusHandler.bind(this),onBlur:this.onBlurHandler.bind(this),disabled:this.disabled,id:this.identifier,href:this.href,target:this.target,download:this.download,hreflang:this.hreflang,rel:this.rel,name:this.name,type:i,tabindex:this.disabled?"-1":"0"},this.inheritedAttributes,{"aria-disabled":f(this.disabled)}),g(this.loading)&&!this.h.hasSlot("icon-end")&&e("gov-icon",{key:"b75ed857aacc2b914810fbdbb3c0d39ede423639",name:"loader",class:"gov-spin-animation",type:"components"}),this.h.hasSlot("icon-start")&&e("slot",{key:"838152233ab4f51b36217ae0b4077a3f3efc3ecf",name:"icon-start"}),e("slot",{key:"0dbfd16b6de4ea9c0bb92a97297262f10b9a335c"}),this.h.hasSlot("icon-end")&&e("slot",{key:"8854b0bced36cabfe85988e22d10d49f9761a910",name:"icon-end"}),g(this.loading)&&this.h.hasSlot("icon-end")&&e("gov-icon",{key:"607c848e0a9e4abf1c4232658a38922ade4accf9",name:"loader",class:"gov-spin-animation",type:"components"})))}onClickHandler(t){t.stopPropagation();if(this.disabled===false){this.govClick.emit({component:o.root,originalEvent:t,ref:this.host})}}onFocusHandler(t){t.stopPropagation();this.govFocus.emit({component:o.root,originalEvent:t,ref:this.host})}onBlurHandler(t){t.stopPropagation();this.govBlur.emit({component:o.root,originalEvent:t,ref:this.host})}async setFocus(){this.triggerRef.focus()}async getRef(){return this.triggerRef}async validateAccessibility(){if(this.focusable){p(this.triggerRef.getAttribute("aria-label"),this.triggerRef.getAttribute("aria-labelledby"),o.root,this.host)}}get host(){return a(this)}static get watchers(){return{color:["validateColor"],type:["validateType"],size:["validateSize"],nativeType:["validateNativeType"]}}};export{k as gov_button};
|
|
2
|
-
//# sourceMappingURL=p-c1584cfe.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["toBool","value","indexOf","Tags","GovButton","constructor","hostRef","this","hydrated","h","govHost","host","validateColor","newValue","validateProp","ButtonColors","ButtonClass","root","validateType","ButtonType","validateSize","Sizes","validateNativeType","NativeType","componentDidLoad","attributeObserver","AttributeObserver","attributeName","onAriaAttributeChange","startObserving","ariaAttributes","removeAttribute","inheritedAttributes","Object","assign","disconnectedCallback","_a","stopObserving","componentWillLoad","color","type","size","nativeType","inheritAriaAttributes","componentDidRender","canValidateWcagOnRender","delay","validateAccessibility","connectedCallback","render","Tag","href","A","BUTTON","undefined","Host","key","class","classes","ref","el","triggerRef","onClick","onClickHandler","bind","onFocus","onFocusHandler","onBlur","onBlurHandler","disabled","id","identifier","target","download","hreflang","rel","name","tabindex","toBoolAttrIfDefined","loading","hasSlot","e","stopPropagation","govClick","emit","component","originalEvent","govFocus","govBlur","setFocus","focus","getRef","focusable","validateAccessibleLabel","getAttribute"],"sources":["../../../packages/core/src/utils/bool.utils.ts","../../../packages/core/src/components/gov-button/button/gov-button.tsx"],"sourcesContent":["export function toBool(value: any): boolean {\n\tif (typeof value === 'string') {\n\t\treturn ['true', 'True', 'TRUE', '1'].indexOf(value) !== -1\n\t} else if (typeof value === 'number') {\n\t\treturn value > 0\n\t} else if (typeof value === 'boolean') {\n\t\treturn value\n\t} else {\n\t\treturn value ? true : false\n\t}\n}\n","import {Component, Element, Event, EventEmitter, h, Host, Method, Prop, State, Watch} from \"@stencil/core\"\nimport {validateProp} from \"../../../helpers/Validate/props\"\nimport {\n\tButtonClass,\n\tButtonColors,\n\tButtonColorType,\n\tButtonSizesType,\n\tButtonTargetType,\n\tButtonType,\n\tButtonTypesType,\n\tNativeType,\n\tNativeTypesType,\n} from \"./constants\"\nimport {govHost, toBoolAttrIfDefined} from \"../../../helpers/Dom/template\"\nimport {GovHost} from \"../../../helpers/Dom/template.types\"\nimport {toBool} from \"../../../utils/bool.utils\"\nimport {Sizes} from \"../../../core/constants/sizes\"\nimport {validateAccessibleLabel} from \"../../../helpers/Validate/wcag\"\nimport {canValidateWcagOnRender} from \"../../../helpers/Dom/win\"\nimport {delay} from \"../../../utils/utils\"\nimport {ButtonEvent} from \"./gov-button.types\"\nimport {inheritAriaAttributes} from \"../../../helpers/Accessibility/accessibility\";\nimport {ariaAttributes} from \"../../../helpers/Accessibility/attributes\";\nimport {AttributeObserver, Attributes} from \"../../../helpers/Dom/attribute\";\n\nenum Tags {\n\tA = \"a\",\n\tBUTTON = \"button\",\n}\n\n@Component({\n\ttag: \"gov-button\",\n})\nexport class GovButton {\n\tprivate h: GovHost\n\tprivate triggerRef?: HTMLButtonElement | HTMLLinkElement\n\tprivate attributeObserver: AttributeObserver\n\tprivate hydrated = false\n\n\tconstructor() {\n\t\tthis.h = govHost(this.host)\n\t}\n\n\t@Element() host: HTMLGovButtonElement\n\n\t/**\n\t * Style variation of the button\n\t */\n\t@Prop({reflect: true}) readonly color: ButtonColorType\n\t/**\n\t * Button’s size\n\t */\n\t@Prop({reflect: true}) readonly size?: ButtonSizesType = \"m\"\n\t/**\n\t * Button's type\n\t */\n\t@Prop({reflect: true}) readonly type: ButtonTypesType\n\t/**\n\t * Expands the button to fill 100% of the container width\n\t */\n\t@Prop({reflect: true}) readonly expanded: boolean = false\n\t/**\n\t * The name of the button, which gets paired with the button's value when submitted as part of a form. Corresponds with the native HTML name attribute\n\t */\n\t@Prop() readonly name: string\n\t/**\n\t * Makes the button component disabled.\n\t * This prevents users from being able to interact with the button, and conveys its inactive state to assistive technologies\n\t */\n\t@Prop({reflect: true}) readonly disabled: boolean = false\n\t/**\n\t * Same as original parameter\n\t * https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#attr-type\n\t */\n\t@Prop() readonly nativeType?: NativeTypesType = \"button\"\n\t/**\n\t * Same as original parameter\n\t * @link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attr-href\n\t */\n\t@Prop() readonly href: string\n\t/**\n\t * Same as original parameter\n\t * @link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attr-target\n\t */\n\t@Prop() readonly target?: ButtonTargetType\n\t/**\n\t * Same as original parameter\n\t * @link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attr-download\n\t */\n\t@Prop() readonly download: boolean\n\t/**\n\t * Same as original parameter\n\t * @link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attr-hreflang\n\t */\n\t@Prop() readonly hreflang: string\n\t/**\n\t * Same as original parameter\n\t * @link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attr-referrerpolicy\n\t */\n\t@Prop() readonly referrerpolicy: string\n\t/**\n\t * Same as original parameter\n\t * @link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attr-rel\n\t */\n\t@Prop() readonly rel: string\n\t/**\n\t * Indicates whether an asynchronous process is running\n\t */\n\t@Prop() readonly loading: string\n\t/**\n\t * Same as original parameter\n\t * @link https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/focusable\n\t */\n\t@Prop() readonly focusable: boolean = true\n\t/**\n\t * Custom button identifier\n\t */\n\t@Prop({attribute: \"identifier\"}) readonly identifier: string\n\t/**\n\t * Emitted when the button click\n\t */\n\t@Event({eventName: \"gov-click\"}) govClick: EventEmitter<ButtonEvent>\n\t/**\n\t * Emitted when the button has focus\n\t */\n\t@Event({eventName: \"gov-focus\"}) govFocus: EventEmitter<ButtonEvent>\n\t/**\n\t * Emitted when the button loses focus\n\t */\n\t@Event({eventName: \"gov-blur\"}) govBlur: EventEmitter<ButtonEvent>\n\n\t@Watch(\"color\")\n\tvalidateColor(newValue: string): void {\n\t\tvalidateProp(ButtonColors, newValue, ButtonClass.root)\n\t}\n\n\t@Watch(\"type\")\n\tvalidateType(newValue: string): void {\n\t\tvalidateProp(ButtonType, newValue, ButtonClass.root)\n\t}\n\n\t@Watch(\"size\")\n\tvalidateSize(newValue: string): void {\n\t\tvalidateProp(Sizes, newValue, ButtonClass.root)\n\t}\n\n\t@Watch(\"nativeType\")\n\tvalidateNativeType(newValue: string): void {\n\t\tvalidateProp(NativeType, newValue, ButtonClass.root)\n\t}\n\n\t@State() inheritedAttributes: Attributes = {}\n\n\tcomponentDidLoad() {\n\t\tthis.attributeObserver = new AttributeObserver(this.host, (attributeName, newValue) => {\n\t\t\tthis.onAriaAttributeChange(attributeName, newValue);\n\t\t});\n\n\t\tthis.attributeObserver.startObserving(ariaAttributes);\n\t}\n\n\tonAriaAttributeChange(attributeName: string, newValue: string) {\n\t\tthis.host.removeAttribute(attributeName)\n\t\tthis.inheritedAttributes = {...this.inheritedAttributes, [attributeName]: newValue};\n\t}\n\n\tdisconnectedCallback() {\n\t\tthis.attributeObserver?.stopObserving();\n\t}\n\n\tcomponentWillLoad(): void {\n\t\tthis.validateColor(this.color)\n\t\tthis.validateType(this.type)\n\t\tthis.validateSize(this.size)\n\t\tthis.validateNativeType(this.nativeType)\n\t\tthis.inheritedAttributes = inheritAriaAttributes(this.host);\n\t}\n\n\tasync componentDidRender() {\n\t\tif (canValidateWcagOnRender()) {\n\t\t\tawait delay(500)\n\t\t\tawait this.validateAccessibility()\n\t\t}\n\t}\n\n\tconnectedCallback() {\n\t\tthis.hydrated = true\n\t}\n\n\trender() {\n\t\tconst Tag = this.href ? Tags.A : Tags.BUTTON\n\t\tconst nativeType = Tag === Tags.A ? undefined : this.nativeType\n\n\t\treturn (\n\t\t\t<Host size={this.size}\n\t\t\t\t hydrated={this.hydrated}\n\t\t\t\t color={this.color}\n\t\t\t\t class={this.h.classes(ButtonClass.root)}\n\t\t\t\t type={this.type}>\n\t\t\t\t<Tag\n\t\t\t\t\tclass=\"element\"\n\t\t\t\t\tref={el => (this.triggerRef = el as HTMLButtonElement | HTMLLinkElement)}\n\t\t\t\t\tonClick={this.onClickHandler.bind(this)}\n\t\t\t\t\tonFocus={this.onFocusHandler.bind(this)}\n\t\t\t\t\tonBlur={this.onBlurHandler.bind(this)}\n\t\t\t\t\tdisabled={this.disabled}\n\t\t\t\t\tid={this.identifier}\n\t\t\t\t\thref={this.href}\n\t\t\t\t\ttarget={this.target}\n\t\t\t\t\tdownload={this.download}\n\t\t\t\t\threflang={this.hreflang}\n\t\t\t\t\trel={this.rel}\n\t\t\t\t\tname={this.name}\n\t\t\t\t\ttype={nativeType}\n\t\t\t\t\ttabindex={this.disabled ? \"-1\" : \"0\"}\n\t\t\t\t\t{...this.inheritedAttributes}\n\t\t\t\t\taria-disabled={toBoolAttrIfDefined(this.disabled)}\n\t\t\t\t>\n\t\t\t\t\t{toBool(this.loading) && !this.h.hasSlot(\"icon-end\") &&\n\t\t\t\t\t\t<gov-icon name=\"loader\" class=\"gov-spin-animation\" type=\"components\"></gov-icon>}\n\t\t\t\t\t{this.h.hasSlot(\"icon-start\") && <slot name=\"icon-start\"></slot>}\n\t\t\t\t\t<slot/>\n\t\t\t\t\t{this.h.hasSlot(\"icon-end\") && <slot name=\"icon-end\"></slot>}\n\t\t\t\t\t{toBool(this.loading) && this.h.hasSlot(\"icon-end\") &&\n\t\t\t\t\t\t<gov-icon name=\"loader\" class=\"gov-spin-animation\" type=\"components\"></gov-icon>}\n\t\t\t\t</Tag>\n\t\t\t</Host>\n\t\t)\n\t}\n\n\tprivate onClickHandler(e: PointerEvent): void {\n\t\te.stopPropagation()\n\t\tif (this.disabled === false) {\n\t\t\tthis.govClick.emit({\n\t\t\t\tcomponent: ButtonClass.root,\n\t\t\t\toriginalEvent: e,\n\t\t\t\tref: this.host,\n\t\t\t})\n\t\t}\n\t}\n\n\tprivate onFocusHandler(e: FocusEvent) {\n\t\te.stopPropagation()\n\t\tthis.govFocus.emit({\n\t\t\tcomponent: ButtonClass.root,\n\t\t\toriginalEvent: e,\n\t\t\tref: this.host,\n\t\t})\n\t}\n\n\tprivate onBlurHandler(e: FocusEvent) {\n\t\te.stopPropagation()\n\t\tthis.govBlur.emit({\n\t\t\tcomponent: ButtonClass.root,\n\t\t\toriginalEvent: e,\n\t\t\tref: this.host,\n\t\t})\n\t}\n\n\t/**\n\t * Focus button element\n\t */\n\t@Method()\n\tasync setFocus(): Promise<void> {\n\t\tthis.triggerRef.focus()\n\t}\n\n\t/**\n\t * Returns a clickable element instance\n\t */\n\t@Method()\n\tasync getRef() {\n\t\treturn this.triggerRef\n\t}\n\n\t/**\n\t * Validate the Accessibility attributes of the component\n\t */\n\t@Method()\n\tasync validateAccessibility(): Promise<void> {\n\t\tif (this.focusable) {\n\t\t\tvalidateAccessibleLabel(this.triggerRef.getAttribute('aria-label'), this.triggerRef.getAttribute('aria-labelledby'), ButtonClass.root, this.host)\n\t\t}\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as e,h as t,a as s,g as a}from"./p-9dea2efa.js";import{p as o}from"./p-e0e2e9c1.js";import{S as c}from"./p-92f420cb.js";import{g as i}from"./p-ea7fdd2e.js";import{v as r}from"./p-0b3574c2.js";import{a as d,b as f}from"./p-5f1000da.js";import"./p-e8ec030e.js";o(c,["_S","_M","_L"]);const m={root:"gov-empty",content:"gov-empty__content"};const p=class{constructor(t){e(this,t);this.size="m";this.h=i(this.host)}validateSize(e){r(f,e,d.root)}componentWillLoad(){this.validateSize(this.size)}render(){return t(s,{key:"93155f92af0574538fd919e52f312b0f02d07e21",class:this.h.classes(m.root),size:this.size},this.h.hasSlot("icon")&&t("slot",{key:"e9504c9396c9743ea7e454bb2df5d0f2a046aabe",name:"icon"}),t("div",{key:"78f2d30f570c6123a58d2ac93db58b4e471796b3",class:m.content},t("slot",{key:"7b5e1121dbfccf6d647e168e80c60cad4a1ca136",name:"headline"}),t("slot",{key:"d435390c88c0304f9ee129b268c454b2147fddb0"})))}get host(){return a(this)}static get watchers(){return{size:["validateSize"]}}};export{p as gov_empty};
|
|
2
|
-
//# sourceMappingURL=p-c5a49469.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["pick","Sizes","EmptyClass","root","content","GovEmpty","constructor","hostRef","this","h","govHost","host","validateSize","newValue","validateProp","AccordionSizes","AccordionClass","componentWillLoad","size","render","Host","key","class","classes","hasSlot","name"],"sources":["../../../packages/core/src/components/gov-empty/constants.ts","../../../packages/core/src/components/gov-empty/gov-empty.tsx"],"sourcesContent":["import {pick} from \"../../utils/utils\";\nimport {Sizes} from \"../../core/constants/sizes\";\nimport {ValueOf} from \"../../types/interfaces\";\n\nexport const EmptySizes = pick(Sizes, ['_S', '_M', '_L'])\nexport type EmptySizesType = `${ValueOf<typeof EmptySizes>}`\n\nexport const EmptyClass = {\n\troot: 'gov-empty',\n\tcontent: 'gov-empty__content',\n}\n","import {Component, Element, Host, h, Prop, Watch} from '@stencil/core'\nimport {EmptyClass, EmptySizesType} from './constants'\nimport { govHost } from '../../helpers/Dom/template'\nimport { GovHost } from '../../helpers/Dom/template.types'\nimport {validateProp} from \"../../helpers/Validate/props\";\nimport {AccordionClass, AccordionSizes} from \"../gov-accordion/constants\";\n\n@Component({\n\ttag: 'gov-empty',\n})\nexport class GovEmpty {\n\tprivate h: GovHost\n\n\tconstructor() {\n\t\tthis.h = govHost(this.host)\n\t}\n\n\t@Element() host: HTMLGovEmptyElement\n\t/**\n\t * Element size.\n\t */\n\t@Prop() readonly size?: EmptySizesType = 'm'\n\n\t@Watch('size')\n\tvalidateSize(newValue: string): void {\n\t\tvalidateProp(AccordionSizes, newValue, AccordionClass.root)\n\t}\n\n\tcomponentWillLoad(): void {\n\t\tthis.validateSize(this.size)\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host class={this.h.classes(EmptyClass.root)} size={this.size}>\n\t\t\t\t{this.h.hasSlot('icon') && (\n\t\t\t\t\t<slot name=\"icon\" />\n\t\t\t\t)}\n\t\t\t\t<div class={EmptyClass.content}>\n\t\t\t\t\t<slot name=\"headline\" />\n\t\t\t\t\t<slot />\n\t\t\t\t</div>\n\t\t\t</Host>\n\t\t)\n\t}\n}\n"],"mappings":"4QAI0BA,EAAKC,EAAO,CAAC,KAAM,KAAM,OAG5C,MAAMC,EAAa,CACzBC,KAAM,YACNC,QAAS,sB,MCCGC,EAAQ,MAGpB,WAAAC,CAAAC,G,oBAQyC,IAPxCC,KAAKC,EAAIC,EAAQF,KAAKG,K,CAUvB,YAAAC,CAAaC,GACZC,EAAaC,EAAgBF,EAAUG,EAAeb,K,CAGvD,iBAAAc,GACCT,KAAKI,aAAaJ,KAAKU,K,CAGxB,MAAAC,GACC,OACCV,EAACW,EAAI,CAAAC,IAAA,2CAACC,MAAOd,KAAKC,EAAEc,QAAQrB,EAAWC,MAAOe,KAAMV,KAAKU,MACvDV,KAAKC,EAAEe,QAAQ,SACff,EAAA,QAAAY,IAAA,2CAAMI,KAAK,SAEZhB,EAAA,OAAAY,IAAA,2CAAKC,MAAOpB,EAAWE,SACtBK,EAAA,QAAAY,IAAA,2CAAMI,KAAK,aACXhB,EAAA,QAAAY,IAAA,8C","ignoreList":[]}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|