@ukic/web-components 2.29.0 → 2.29.1
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/cjs/core.cjs.js +1 -1
- package/dist/cjs/ic-alert.cjs.entry.js +1 -1
- package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-popover-menu.cjs.entry.js +18 -12
- package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-search-bar.cjs.entry.js +14 -27
- package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-select.cjs.entry.js +5 -5
- package/dist/cjs/ic-select.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tab-context.cjs.entry.js +68 -145
- package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tab-panel.cjs.entry.js +5 -13
- package/dist/cjs/ic-tab-panel.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tab.cjs.entry.js +9 -10
- package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-text-field.cjs.entry.js +1 -1
- package/dist/cjs/ic-text-field.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-typography.cjs.entry.js +3 -1
- package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/components/ic-alert/ic-alert.css +5 -0
- package/dist/collection/components/ic-popover-menu/ic-popover-menu.js +45 -12
- package/dist/collection/components/ic-popover-menu/ic-popover-menu.js.map +1 -1
- package/dist/collection/components/ic-search-bar/ic-search-bar.js +14 -27
- package/dist/collection/components/ic-search-bar/ic-search-bar.js.map +1 -1
- package/dist/collection/components/ic-select/ic-select.js +5 -5
- package/dist/collection/components/ic-select/ic-select.js.map +1 -1
- package/dist/collection/components/ic-tab/ic-tab.js +9 -10
- package/dist/collection/components/ic-tab/ic-tab.js.map +1 -1
- package/dist/collection/components/ic-tab-context/ic-tab-context.js +68 -145
- package/dist/collection/components/ic-tab-context/ic-tab-context.js.map +1 -1
- package/dist/collection/components/ic-tab-context/test/basic/ic-tab-context.spec.js +2 -2
- package/dist/collection/components/ic-tab-context/test/basic/ic-tab-context.spec.js.map +1 -1
- package/dist/collection/components/ic-tab-panel/ic-tab-panel.js +5 -73
- package/dist/collection/components/ic-tab-panel/ic-tab-panel.js.map +1 -1
- package/dist/collection/components/ic-text-field/ic-text-field.js +1 -1
- package/dist/collection/components/ic-text-field/ic-text-field.js.map +1 -1
- package/dist/collection/components/ic-typography/ic-typography.js +3 -1
- package/dist/collection/components/ic-typography/ic-typography.js.map +1 -1
- package/dist/components/ic-alert2.js +1 -1
- package/dist/components/ic-alert2.js.map +1 -1
- package/dist/components/ic-popover-menu.js +20 -13
- package/dist/components/ic-popover-menu.js.map +1 -1
- package/dist/components/ic-search-bar.js +14 -27
- package/dist/components/ic-search-bar.js.map +1 -1
- package/dist/components/ic-select.js +5 -5
- package/dist/components/ic-select.js.map +1 -1
- package/dist/components/ic-tab-context.js +68 -145
- package/dist/components/ic-tab-context.js.map +1 -1
- package/dist/components/ic-tab-panel.js +6 -17
- package/dist/components/ic-tab-panel.js.map +1 -1
- package/dist/components/ic-tab.js +9 -10
- package/dist/components/ic-tab.js.map +1 -1
- package/dist/components/ic-text-field2.js +1 -1
- package/dist/components/ic-text-field2.js.map +1 -1
- package/dist/components/ic-typography2.js +3 -1
- package/dist/components/ic-typography2.js.map +1 -1
- package/dist/core/core.esm.js +1 -1
- package/dist/core/core.esm.js.map +1 -1
- package/dist/core/{p-dcd475cc.entry.js → p-0432d31a.entry.js} +2 -2
- package/dist/core/p-0432d31a.entry.js.map +1 -0
- package/dist/core/{p-227f6a41.entry.js → p-2889cc17.entry.js} +2 -2
- package/dist/core/p-2889cc17.entry.js.map +1 -0
- package/dist/core/{p-60746e10.entry.js → p-4f0e9434.entry.js} +2 -2
- package/dist/core/p-4f0e9434.entry.js.map +1 -0
- package/dist/core/{p-4562904d.entry.js → p-72b0a5be.entry.js} +2 -2
- package/dist/core/{p-4562904d.entry.js.map → p-72b0a5be.entry.js.map} +1 -1
- package/dist/core/p-72b350bc.entry.js +2 -0
- package/dist/core/p-72b350bc.entry.js.map +1 -0
- package/dist/core/{p-db52d416.entry.js → p-8a8bf98c.entry.js} +2 -2
- package/dist/core/{p-db52d416.entry.js.map → p-8a8bf98c.entry.js.map} +1 -1
- package/dist/core/p-9df32798.entry.js +2 -0
- package/dist/core/p-9df32798.entry.js.map +1 -0
- package/dist/core/p-bb4b7dcb.entry.js +2 -0
- package/dist/core/p-bb4b7dcb.entry.js.map +1 -0
- package/dist/core/{p-ed2b2bd7.entry.js → p-dd4ef67f.entry.js} +2 -2
- package/dist/core/{p-ed2b2bd7.entry.js.map → p-dd4ef67f.entry.js.map} +1 -1
- package/dist/esm/core.js +1 -1
- package/dist/esm/ic-alert.entry.js +1 -1
- package/dist/esm/ic-alert.entry.js.map +1 -1
- package/dist/esm/ic-popover-menu.entry.js +18 -12
- package/dist/esm/ic-popover-menu.entry.js.map +1 -1
- package/dist/esm/ic-search-bar.entry.js +14 -27
- package/dist/esm/ic-search-bar.entry.js.map +1 -1
- package/dist/esm/ic-select.entry.js +5 -5
- package/dist/esm/ic-select.entry.js.map +1 -1
- package/dist/esm/ic-tab-context.entry.js +68 -145
- package/dist/esm/ic-tab-context.entry.js.map +1 -1
- package/dist/esm/ic-tab-panel.entry.js +5 -13
- package/dist/esm/ic-tab-panel.entry.js.map +1 -1
- package/dist/esm/ic-tab.entry.js +9 -10
- package/dist/esm/ic-tab.entry.js.map +1 -1
- package/dist/esm/ic-text-field.entry.js +1 -1
- package/dist/esm/ic-text-field.entry.js.map +1 -1
- package/dist/esm/ic-typography.entry.js +3 -1
- package/dist/esm/ic-typography.entry.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/types/components/ic-popover-menu/ic-popover-menu.d.ts +2 -2
- package/dist/types/components/ic-tab-context/ic-tab-context.d.ts +9 -6
- package/dist/types/components/ic-tab-panel/ic-tab-panel.d.ts +0 -12
- package/dist/types/components.d.ts +4 -3
- package/hydrate/index.js +128 -220
- package/package.json +2 -2
- package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.e2e.js +0 -343
- package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.e2e.js.map +0 -1
- package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.e2e.js +0 -1106
- package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.e2e.js.map +0 -1
- package/dist/collection/components/ic-stepper/test/basic/ic-stepper.e2e.js +0 -49
- package/dist/collection/components/ic-stepper/test/basic/ic-stepper.e2e.js.map +0 -1
- package/dist/collection/components/ic-tab-panel/test/basic/ic-tab-panel.spec.js +0 -65
- package/dist/collection/components/ic-tab-panel/test/basic/ic-tab-panel.spec.js.map +0 -1
- package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.e2e.js +0 -109
- package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.e2e.js.map +0 -1
- package/dist/collection/components/ic-typography/test/basic/ic-typography.e2e.js +0 -39
- package/dist/collection/components/ic-typography/test/basic/ic-typography.e2e.js.map +0 -1
- package/dist/core/p-227f6a41.entry.js.map +0 -1
- package/dist/core/p-60746e10.entry.js.map +0 -1
- package/dist/core/p-9e15d0e1.entry.js +0 -2
- package/dist/core/p-9e15d0e1.entry.js.map +0 -1
- package/dist/core/p-cb14349b.entry.js +0 -2
- package/dist/core/p-cb14349b.entry.js.map +0 -1
- package/dist/core/p-dcd475cc.entry.js.map +0 -1
- package/dist/core/p-e735d773.entry.js +0 -2
- package/dist/core/p-e735d773.entry.js.map +0 -1
@@ -1,2 +1,2 @@
|
|
1
|
-
import{r as t,c as i,h as e,H as o,g as s}from"./p-6b5e91e2.js";import{f as a,u as n}from"./p-fef9e8c9.js";import"./p-26b7b18f.js";const r='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{display:block;position:relative}:host(.ic-typography-vertical-margins-h1){margin:0 0 var(--ic-space-xl)}:host(.ic-typography-vertical-margins-h2){margin:var(--ic-space-xxl) 0 var(--ic-space-lg)}:host(.ic-typography-vertical-margins-h3){margin:var(--ic-space-xl) 0 var(--ic-space-md)}:host(.ic-typography-vertical-margins-h4){margin:var(--ic-space-lg) 0 var(--ic-space-md)}:host(.ic-typography-vertical-margins-subtitle-large),:host(.ic-typography-vertical-margins-subtitle-small),:host(.ic-typography-vertical-margins-body),:host(.ic-typography-vertical-margins-code-large),:host(.ic-typography-vertical-margins-code-small),:host(.ic-typography-vertical-margins-code-extra-small){margin:0 0 var(--ic-space-md)}:host(.ic-typography-vertical-margins-caption),:host(.ic-typography-vertical-margins-caption-uppercase){margin:0 0 var(--ic-space-xs)}:host(.ic-typography-vertical-margins-h2:first-child),:host(.ic-typography-vertical-margins-h3:first-child),:host(.ic-typography-vertical-margins-h4:first-child){margin-top:0}:host(.ic-typography-h1){font:var(--ic-font-h1) !important}:host(.ic-typography-h2){font:var(--ic-font-h2);letter-spacing:var(--ic-font-letter-spacing-0pt0025)}:host(.ic-typography-h3){font:var(--ic-font-h3)}:host(.ic-typography-h4){font:var(--ic-font-h4);letter-spacing:var(--ic-font-letter-spacing-0pt0015)}:host(.ic-typography-subtitle-large){font:var(--ic-font-subtitle-large);letter-spacing:var(--ic-font-letter-spacing-0pt0015)}:host(.ic-typography-subtitle-small){font:var(--ic-font-subtitle-small);letter-spacing:var(--ic-font-letter-spacing-0pt0015)}:host(.ic-typography-body){font:var(--ic-font-body);letter-spacing:var(--ic-font-letter-spacing-0pt005)}:host(.ic-typography-caption){font:var(--ic-font-caption);letter-spacing:var(--ic-font-letter-spacing-0pt0025)}:host(.ic-typography-caption-uppercase){font:var(--ic-font-caption);letter-spacing:var(--ic-font-letter-spacing-0pt0025);text-transform:uppercase}:host(.ic-typography-label){font:var(--ic-font-label);letter-spacing:var(--ic-font-letter-spacing-0pt025)}:host(.ic-typography-label-uppercase){font:var(--ic-font-label);letter-spacing:var(--ic-font-letter-spacing-0pt025);text-transform:uppercase}:host(.ic-typography-code-large){font:var(--ic-font-code-large);letter-spacing:var(--ic-font-letter-spacing-0pt025)}:host(.ic-typography-code-small){font:var(--ic-font-code-small);letter-spacing:var(--ic-font-letter-spacing-0pt005)}:host(.ic-typography-code-extra-small){font:var(--ic-font-code-extra-small);letter-spacing:var(--ic-font-letter-spacing-0pt025)}:host(.ic-typography-badge){font:var(--ic-font-badge);letter-spacing:var(--ic-font-letter-spacing-0pt0025)}:host(.ic-typography-badge-small){font:var(--ic-font-badge-small);letter-spacing:var(--ic-font-letter-spacing-0pt0025)}:host(.ic-typography-no-wrap){white-space:nowrap}:host ::slotted(h1),:host ::slotted(h2),:host ::slotted(h3),:host ::slotted(h4),:host ::slotted(h5),:host ::slotted(h6),:host ::slotted(p),:host ::slotted(label){font:inherit;letter-spacing:inherit}.trunc-wrapper{display:-webkit-box;-webkit-box-orient:vertical;line-clamp:var(--truncation-max-lines, initial);-webkit-line-clamp:var(--truncation-max-lines, initial);overflow:hidden;padding-right:var(--ellipsis-padding-right, 0)}.trunc-btn{border:none;background:none;padding:0;color:var(--ic-color-primary-text);text-decoration:underline;font-weight:var(--ic-font-weight-bold);transition:var(--ic-easing-transition-fast)}.trunc-btn:hover,.trunc-btn.focus{outline:none;border-bottom:0.25rem solid !important;margin-bottom:-0.25rem !important;text-decoration:none;cursor:pointer}:host(.strikethrough){text-decoration:line-through}:host(.underline){text-decoration:underline}:host(.underline.strikethrough){text-decoration:line-through underline}:host(.italic){font-style:italic !important}:host(.bold){font-weight:var(--ic-font-weight-bold)}:host(.in-ag-grid),:host(.in-ag-grid) ::slotted(*){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@supports (text-underline-offset: 25%){.trunc-btn:hover,.trunc-btn.focus{text-decoration-line:underline;text-decoration-thickness:25%;text-underline-offset:25%;border-bottom:0 !important;margin-bottom:0 !important}}';const l=class{constructor(e){t(this,e);this.typographyTruncationExpandToggle=i(this,"typographyTruncationExpandToggle",7);this.focusBtnFromKeyboard=true;this.inAGGrid=false;this.lastMarkerTop=0;this.lastWidth=0;this.resizeObserver=null;this.truncatedHeight=0;this.toggleExpanded=t=>{t.stopPropagation();this.expanded=!this.expanded;this.typographyTruncationExpandToggle.emit({expanded:this.expanded,typographyEl:this.el})};this.checkMarkerPosition=(t,i)=>{if(i-t<this.truncatedHeight){this.truncated=false;this.expanded=false}else{this.truncated=true}};this.getElementTop=t=>t.getClientRects?t.getClientRects()[0].top:0;this.runResizeObserver=()=>{this.resizeObserver=new ResizeObserver((()=>{clearTimeout(this.resizeInterval);this.resizeInterval=window.setTimeout(this.resizeObserverCallback,50)}));this.resizeObserver.observe(this.truncWrapperEl)};this.resizeObserverCallback=()=>{if(this.lastWidth===this.el.clientWidth){return}if(this.truncatedHeight===0){this.checkMaxLines(this.el.clientHeight);return}const t=this.getElementTop(this.marker);if(t===this.lastMarkerTop){return}this.checkMarkerPosition(this.getElementTop(this.el),t);this.lastMarkerTop=t;this.lastWidth=this.el.clientWidth};this.truncButtonFocus=()=>{if(this.focusBtnFromKeyboard){this.truncButtonFocussed=true}};this.truncButtonBlur=()=>{this.focusBtnFromKeyboard=true;this.truncButtonFocussed=false};this.truncButtonFocusFromMouse=()=>{this.focusBtnFromKeyboard=false};this.truncated=false;this.truncButtonFocussed=false;this.applyVerticalMargins=false;this.bold=false;this.italic=false;this.maxLines=undefined;this.strikethrough=false;this.underline=false;this.variant="body";this.expanded=false}watchExpandedHandler(){this.el.setAttribute("style",`--truncation-max-lines: ${this.expanded?"initial":this.maxLines}`)}disconnectedCallback(){if(this.resizeObserver!==null){this.resizeObserver.disconnect()}}async resetTruncation(){if(this.truncated){this.truncated=false;this.maxLines=0;this.el.removeAttribute("max-lines");this.expanded=false;this.el.removeAttribute("style")}}componentDidLoad(){var t,i;if((this.variant==="body"||((i=(t=this.el.getRootNode())===null||t===void 0?void 0:t.host)===null||i===void 0?void 0:i.tagName)==="IC-TOOLTIP")&&this.maxLines>0){const t=document.createElement("span");t.style.visibility="hidden";this.el.appendChild(t);this.marker=t;this.lastWidth=this.el.clientWidth;this.checkMaxLines(this.el.clientHeight);a(this.runResizeObserver)}}componentWillRender(){if(n(this.el)){this.inAGGrid=true}}async checkMaxLines(t){const i=Math.floor(t/24);if(i>this.maxLines){this.el.setAttribute("style",`--truncation-max-lines: ${this.maxLines}`);this.truncatedHeight=this.el.clientHeight;this.truncated=true}}async setShowHideExpanded(t){this.expanded=t}render(){var t,i;const{variant:s,applyVerticalMargins:a,maxLines:n,truncated:r,expanded:l,strikethrough:c,underline:h,italic:p,bold:d}=this;return e(o,{class:{[`ic-typography-${s}`]:true,[`ic-typography-vertical-margins-${s}`]:a,["bold"]:d,["italic"]:p,["strikethrough"]:c,["underline"]:h,["in-ag-grid"]:this.inAGGrid}},(s==="body"||((i=(t=this.el.getRootNode())===null||t===void 0?void 0:t.host)===null||i===void 0?void 0:i.tagName)==="IC-TOOLTIP")&&n>0?e("div",{class:"trunc-wrapper",ref:t=>this.truncWrapperEl=t},e("slot",null)):e("slot",null),s==="body"&&n>0&&r&&e("button",{class:{"trunc-btn":true,focus:this.truncButtonFocussed},onFocus:this.truncButtonFocus,onBlur:this.truncButtonBlur,onMouseDown:this.truncButtonFocusFromMouse,onClick:this.toggleExpanded},l?"See less":"See more"))}get el(){return s(this)}static get watchers(){return{expanded:["watchExpandedHandler"]}}};l.style=r;export{l as ic_typography};
|
2
|
-
//# sourceMappingURL=p-
|
1
|
+
import{r as t,c as i,h as e,H as o,g as s}from"./p-6b5e91e2.js";import{f as a,u as n}from"./p-fef9e8c9.js";import"./p-26b7b18f.js";const r='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{display:block;position:relative}:host(.ic-typography-vertical-margins-h1){margin:0 0 var(--ic-space-xl)}:host(.ic-typography-vertical-margins-h2){margin:var(--ic-space-xxl) 0 var(--ic-space-lg)}:host(.ic-typography-vertical-margins-h3){margin:var(--ic-space-xl) 0 var(--ic-space-md)}:host(.ic-typography-vertical-margins-h4){margin:var(--ic-space-lg) 0 var(--ic-space-md)}:host(.ic-typography-vertical-margins-subtitle-large),:host(.ic-typography-vertical-margins-subtitle-small),:host(.ic-typography-vertical-margins-body),:host(.ic-typography-vertical-margins-code-large),:host(.ic-typography-vertical-margins-code-small),:host(.ic-typography-vertical-margins-code-extra-small){margin:0 0 var(--ic-space-md)}:host(.ic-typography-vertical-margins-caption),:host(.ic-typography-vertical-margins-caption-uppercase){margin:0 0 var(--ic-space-xs)}:host(.ic-typography-vertical-margins-h2:first-child),:host(.ic-typography-vertical-margins-h3:first-child),:host(.ic-typography-vertical-margins-h4:first-child){margin-top:0}:host(.ic-typography-h1){font:var(--ic-font-h1) !important}:host(.ic-typography-h2){font:var(--ic-font-h2);letter-spacing:var(--ic-font-letter-spacing-0pt0025)}:host(.ic-typography-h3){font:var(--ic-font-h3)}:host(.ic-typography-h4){font:var(--ic-font-h4);letter-spacing:var(--ic-font-letter-spacing-0pt0015)}:host(.ic-typography-subtitle-large){font:var(--ic-font-subtitle-large);letter-spacing:var(--ic-font-letter-spacing-0pt0015)}:host(.ic-typography-subtitle-small){font:var(--ic-font-subtitle-small);letter-spacing:var(--ic-font-letter-spacing-0pt0015)}:host(.ic-typography-body){font:var(--ic-font-body);letter-spacing:var(--ic-font-letter-spacing-0pt005)}:host(.ic-typography-caption){font:var(--ic-font-caption);letter-spacing:var(--ic-font-letter-spacing-0pt0025)}:host(.ic-typography-caption-uppercase){font:var(--ic-font-caption);letter-spacing:var(--ic-font-letter-spacing-0pt0025);text-transform:uppercase}:host(.ic-typography-label){font:var(--ic-font-label);letter-spacing:var(--ic-font-letter-spacing-0pt025)}:host(.ic-typography-label-uppercase){font:var(--ic-font-label);letter-spacing:var(--ic-font-letter-spacing-0pt025);text-transform:uppercase}:host(.ic-typography-code-large){font:var(--ic-font-code-large);letter-spacing:var(--ic-font-letter-spacing-0pt025)}:host(.ic-typography-code-small){font:var(--ic-font-code-small);letter-spacing:var(--ic-font-letter-spacing-0pt005)}:host(.ic-typography-code-extra-small){font:var(--ic-font-code-extra-small);letter-spacing:var(--ic-font-letter-spacing-0pt025)}:host(.ic-typography-badge){font:var(--ic-font-badge);letter-spacing:var(--ic-font-letter-spacing-0pt0025)}:host(.ic-typography-badge-small){font:var(--ic-font-badge-small);letter-spacing:var(--ic-font-letter-spacing-0pt0025)}:host(.ic-typography-no-wrap){white-space:nowrap}:host ::slotted(h1),:host ::slotted(h2),:host ::slotted(h3),:host ::slotted(h4),:host ::slotted(h5),:host ::slotted(h6),:host ::slotted(p),:host ::slotted(label){font:inherit;letter-spacing:inherit}.trunc-wrapper{display:-webkit-box;-webkit-box-orient:vertical;line-clamp:var(--truncation-max-lines, initial);-webkit-line-clamp:var(--truncation-max-lines, initial);overflow:hidden;padding-right:var(--ellipsis-padding-right, 0)}.trunc-btn{border:none;background:none;padding:0;color:var(--ic-color-primary-text);text-decoration:underline;font-weight:var(--ic-font-weight-bold);transition:var(--ic-easing-transition-fast)}.trunc-btn:hover,.trunc-btn.focus{outline:none;border-bottom:0.25rem solid !important;margin-bottom:-0.25rem !important;text-decoration:none;cursor:pointer}:host(.strikethrough){text-decoration:line-through}:host(.underline){text-decoration:underline}:host(.underline.strikethrough){text-decoration:line-through underline}:host(.italic){font-style:italic !important}:host(.bold){font-weight:var(--ic-font-weight-bold)}:host(.in-ag-grid),:host(.in-ag-grid) ::slotted(*){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@supports (text-underline-offset: 25%){.trunc-btn:hover,.trunc-btn.focus{text-decoration-line:underline;text-decoration-thickness:25%;text-underline-offset:25%;border-bottom:0 !important;margin-bottom:0 !important}}';const l=class{constructor(e){t(this,e);this.typographyTruncationExpandToggle=i(this,"typographyTruncationExpandToggle",7);this.focusBtnFromKeyboard=true;this.inAGGrid=false;this.lastMarkerTop=0;this.lastWidth=0;this.resizeObserver=null;this.truncatedHeight=0;this.toggleExpanded=t=>{t.stopPropagation();this.expanded=!this.expanded;this.typographyTruncationExpandToggle.emit({expanded:this.expanded,typographyEl:this.el})};this.checkMarkerPosition=(t,i)=>{if(i-t<this.truncatedHeight){this.truncated=false;this.expanded=false}else{this.truncated=true}};this.getElementTop=t=>t.getClientRects&&t.getClientRects()[0]?t.getClientRects()[0].top:0;this.runResizeObserver=()=>{this.resizeObserver=new ResizeObserver((()=>{clearTimeout(this.resizeInterval);this.resizeInterval=window.setTimeout(this.resizeObserverCallback,50)}));this.resizeObserver.observe(this.truncWrapperEl)};this.resizeObserverCallback=()=>{if(this.lastWidth===this.el.clientWidth){return}if(this.truncatedHeight===0){this.checkMaxLines(this.el.clientHeight);return}const t=this.getElementTop(this.marker);if(t===this.lastMarkerTop){return}this.checkMarkerPosition(this.getElementTop(this.el),t);this.lastMarkerTop=t;this.lastWidth=this.el.clientWidth};this.truncButtonFocus=()=>{if(this.focusBtnFromKeyboard){this.truncButtonFocussed=true}};this.truncButtonBlur=()=>{this.focusBtnFromKeyboard=true;this.truncButtonFocussed=false};this.truncButtonFocusFromMouse=()=>{this.focusBtnFromKeyboard=false};this.truncated=false;this.truncButtonFocussed=false;this.applyVerticalMargins=false;this.bold=false;this.italic=false;this.maxLines=undefined;this.strikethrough=false;this.underline=false;this.variant="body";this.expanded=false}watchExpandedHandler(){this.el.setAttribute("style",`--truncation-max-lines: ${this.expanded?"initial":this.maxLines}`)}disconnectedCallback(){if(this.resizeObserver!==null){this.resizeObserver.disconnect()}}async resetTruncation(){if(this.truncated){this.truncated=false;this.maxLines=0;this.el.removeAttribute("max-lines");this.expanded=false;this.el.removeAttribute("style")}}componentDidLoad(){var t,i;if((this.variant==="body"||((i=(t=this.el.getRootNode())===null||t===void 0?void 0:t.host)===null||i===void 0?void 0:i.tagName)==="IC-TOOLTIP")&&this.maxLines>0){const t=document.createElement("span");t.style.visibility="hidden";this.el.appendChild(t);this.marker=t;this.lastWidth=this.el.clientWidth;this.checkMaxLines(this.el.clientHeight);a(this.runResizeObserver)}}componentWillRender(){if(n(this.el)){this.inAGGrid=true}}async checkMaxLines(t){const i=Math.floor(t/24);if(i>this.maxLines){this.el.setAttribute("style",`--truncation-max-lines: ${this.maxLines}`);this.truncatedHeight=this.el.clientHeight;this.truncated=true}}async setShowHideExpanded(t){this.expanded=t}render(){var t,i;const{variant:s,applyVerticalMargins:a,maxLines:n,truncated:r,expanded:l,strikethrough:c,underline:h,italic:p,bold:d}=this;return e(o,{class:{[`ic-typography-${s}`]:true,[`ic-typography-vertical-margins-${s}`]:a,["bold"]:d,["italic"]:p,["strikethrough"]:c,["underline"]:h,["in-ag-grid"]:this.inAGGrid}},(s==="body"||((i=(t=this.el.getRootNode())===null||t===void 0?void 0:t.host)===null||i===void 0?void 0:i.tagName)==="IC-TOOLTIP")&&n>0?e("div",{class:"trunc-wrapper",ref:t=>this.truncWrapperEl=t},e("slot",null)):e("slot",null),s==="body"&&n>0&&r&&e("button",{class:{"trunc-btn":true,focus:this.truncButtonFocussed},onFocus:this.truncButtonFocus,onBlur:this.truncButtonBlur,onMouseDown:this.truncButtonFocusFromMouse,onClick:this.toggleExpanded},l?"See less":"See more"))}get el(){return s(this)}static get watchers(){return{expanded:["watchExpandedHandler"]}}};l.style=r;export{l as ic_typography};
|
2
|
+
//# sourceMappingURL=p-dd4ef67f.entry.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["icTypographyCss","Typography","this","focusBtnFromKeyboard","inAGGrid","lastMarkerTop","lastWidth","resizeObserver","truncatedHeight","toggleExpanded","ev","stopPropagation","expanded","typographyTruncationExpandToggle","emit","typographyEl","el","checkMarkerPosition","elTop","markerTop","truncated","getElementTop","getClientRects","top","runResizeObserver","ResizeObserver","clearTimeout","resizeInterval","window","setTimeout","resizeObserverCallback","observe","truncWrapperEl","clientWidth","checkMaxLines","clientHeight","marker","truncButtonFocus","truncButtonFocussed","truncButtonBlur","truncButtonFocusFromMouse","watchExpandedHandler","setAttribute","maxLines","disconnectedCallback","disconnect","resetTruncation","removeAttribute","componentDidLoad","variant","_b","_a","getRootNode","host","tagName","document","createElement","style","visibility","appendChild","checkResizeObserver","componentWillRender","isElInAGGrid","height","numLines","Math","floor","setShowHideExpanded","render","applyVerticalMargins","strikethrough","underline","italic","bold","h","Host","class","ref","focus","onFocus","onBlur","onMouseDown","onClick"],"sources":["src/components/ic-typography/ic-typography.css?tag=ic-typography&encapsulation=shadow","src/components/ic-typography/ic-typography.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host {\n display: block;\n position: relative;\n}\n\n:host(.ic-typography-vertical-margins-h1) {\n margin: 0 0 var(--ic-space-xl);\n}\n\n:host(.ic-typography-vertical-margins-h2) {\n margin: var(--ic-space-xxl) 0 var(--ic-space-lg);\n}\n\n:host(.ic-typography-vertical-margins-h3) {\n margin: var(--ic-space-xl) 0 var(--ic-space-md);\n}\n\n:host(.ic-typography-vertical-margins-h4) {\n margin: var(--ic-space-lg) 0 var(--ic-space-md);\n}\n\n:host(.ic-typography-vertical-margins-subtitle-large),\n:host(.ic-typography-vertical-margins-subtitle-small),\n:host(.ic-typography-vertical-margins-body),\n:host(.ic-typography-vertical-margins-code-large),\n:host(.ic-typography-vertical-margins-code-small),\n:host(.ic-typography-vertical-margins-code-extra-small) {\n margin: 0 0 var(--ic-space-md);\n}\n\n:host(.ic-typography-vertical-margins-caption),\n:host(.ic-typography-vertical-margins-caption-uppercase) {\n margin: 0 0 var(--ic-space-xs);\n}\n\n:host(.ic-typography-vertical-margins-h2:first-child),\n:host(.ic-typography-vertical-margins-h3:first-child),\n:host(.ic-typography-vertical-margins-h4:first-child) {\n margin-top: 0;\n}\n\n:host(.ic-typography-h1) {\n font: var(--ic-font-h1) !important;\n}\n\n:host(.ic-typography-h2) {\n font: var(--ic-font-h2);\n letter-spacing: var(--ic-font-letter-spacing-0pt0025);\n}\n\n:host(.ic-typography-h3) {\n font: var(--ic-font-h3);\n}\n\n:host(.ic-typography-h4) {\n font: var(--ic-font-h4);\n letter-spacing: var(--ic-font-letter-spacing-0pt0015);\n}\n\n:host(.ic-typography-subtitle-large) {\n font: var(--ic-font-subtitle-large);\n letter-spacing: var(--ic-font-letter-spacing-0pt0015);\n}\n\n:host(.ic-typography-subtitle-small) {\n font: var(--ic-font-subtitle-small);\n letter-spacing: var(--ic-font-letter-spacing-0pt0015);\n}\n\n:host(.ic-typography-body) {\n font: var(--ic-font-body);\n letter-spacing: var(--ic-font-letter-spacing-0pt005);\n}\n\n:host(.ic-typography-caption) {\n font: var(--ic-font-caption);\n letter-spacing: var(--ic-font-letter-spacing-0pt0025);\n}\n\n:host(.ic-typography-caption-uppercase) {\n font: var(--ic-font-caption);\n letter-spacing: var(--ic-font-letter-spacing-0pt0025);\n text-transform: uppercase;\n}\n\n:host(.ic-typography-label) {\n font: var(--ic-font-label);\n letter-spacing: var(--ic-font-letter-spacing-0pt025);\n}\n\n:host(.ic-typography-label-uppercase) {\n font: var(--ic-font-label);\n letter-spacing: var(--ic-font-letter-spacing-0pt025);\n text-transform: uppercase;\n}\n\n:host(.ic-typography-code-large) {\n font: var(--ic-font-code-large);\n letter-spacing: var(--ic-font-letter-spacing-0pt025);\n}\n\n:host(.ic-typography-code-small) {\n font: var(--ic-font-code-small);\n letter-spacing: var(--ic-font-letter-spacing-0pt005);\n}\n\n:host(.ic-typography-code-extra-small) {\n font: var(--ic-font-code-extra-small);\n letter-spacing: var(--ic-font-letter-spacing-0pt025);\n}\n\n:host(.ic-typography-badge) {\n font: var(--ic-font-badge);\n letter-spacing: var(--ic-font-letter-spacing-0pt0025);\n}\n\n:host(.ic-typography-badge-small) {\n font: var(--ic-font-badge-small);\n letter-spacing: var(--ic-font-letter-spacing-0pt0025);\n}\n\n:host(.ic-typography-no-wrap) {\n white-space: nowrap;\n}\n\n:host ::slotted(h1),\n:host ::slotted(h2),\n:host ::slotted(h3),\n:host ::slotted(h4),\n:host ::slotted(h5),\n:host ::slotted(h6),\n:host ::slotted(p),\n:host ::slotted(label) {\n font: inherit;\n letter-spacing: inherit;\n}\n\n.trunc-wrapper {\n display: -webkit-box;\n -webkit-box-orient: vertical;\n line-clamp: var(--truncation-max-lines, initial);\n -webkit-line-clamp: var(--truncation-max-lines, initial);\n overflow: hidden;\n padding-right: var(--ellipsis-padding-right, 0);\n}\n\n.trunc-btn {\n border: none;\n background: none;\n padding: 0;\n color: var(--ic-color-primary-text);\n text-decoration: underline;\n font-weight: var(--ic-font-weight-bold);\n transition: var(--ic-easing-transition-fast);\n}\n\n.trunc-btn:hover,\n.trunc-btn.focus {\n outline: none;\n border-bottom: 0.25rem solid !important;\n margin-bottom: -0.25rem !important;\n text-decoration: none;\n cursor: pointer;\n}\n\n:host(.strikethrough) {\n text-decoration: line-through;\n}\n\n:host(.underline) {\n text-decoration: underline;\n}\n\n:host(.underline.strikethrough) {\n text-decoration: line-through underline;\n}\n\n:host(.italic) {\n font-style: italic !important;\n}\n\n:host(.bold) {\n font-weight: var(--ic-font-weight-bold);\n}\n\n:host(.in-ag-grid),\n:host(.in-ag-grid) ::slotted(*) {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n@supports (text-underline-offset: 25%) {\n .trunc-btn:hover,\n .trunc-btn.focus {\n text-decoration-line: underline;\n text-decoration-thickness: 25%;\n text-underline-offset: 25%;\n border-bottom: 0 !important;\n margin-bottom: 0 !important;\n }\n}\n\n/* Add back in after storybook has the `color-scheme: light dark` code */\n\n/* @media (prefers-color-scheme: dark) and (not (forced-colors: active)) {\n :host,\n .trunc-btn {\n color: var(--ic-architectural-white);\n }\n} */\n","import {\n Component,\n Prop,\n h,\n Element,\n Host,\n State,\n Watch,\n Method,\n Event,\n EventEmitter,\n} from \"@stencil/core\";\n\nimport { IcTypographyVariants } from \"../../utils/types\";\nimport { checkResizeObserver, isElInAGGrid } from \"../../utils/helpers\";\n\n@Component({\n styleUrl: \"ic-typography.css\",\n tag: \"ic-typography\",\n shadow: true,\n})\nexport class Typography {\n private focusBtnFromKeyboard: boolean = true;\n private inAGGrid: boolean = false;\n private lastMarkerTop: number = 0;\n private lastWidth: number = 0;\n private marker: HTMLElement;\n private resizeInterval: number;\n private resizeObserver: ResizeObserver = null;\n private truncatedHeight: number = 0;\n private truncWrapperEl: Element;\n\n @Element() el: HTMLIcTypographyElement;\n\n @State() truncated: boolean = false;\n @State() truncButtonFocussed: boolean = false;\n\n /**\n * If `true`, appropriate top and bottom margins will be applied to the typography.\n */\n @Prop() applyVerticalMargins?: boolean = false;\n\n /**\n * If `true`, the typography will have a bold font weight.\n * Note: This will have no impact on variants that already use an equivalent or higher font weight (h1, h2, and subtitle-large).\n */\n @Prop() bold?: boolean = false;\n\n /**\n * If `true`, the typography will have an italic font style.\n */\n @Prop() italic?: boolean = false;\n\n /**\n * The number of lines to display before truncating the text, only used for the 'body' variant.\n */\n @Prop({ mutable: true }) maxLines?: number;\n\n /**\n * If `true`, the typography will have a line through it.\n */\n @Prop() strikethrough?: boolean = false;\n\n /**\n * If `true`, the typography will have a line under it.\n */\n @Prop() underline?: boolean = false;\n\n /**\n * The ICDS typography style to use.\n */\n @Prop() variant?: IcTypographyVariants = \"body\";\n\n /**\n * @internal Emits and event when the typography truncation button has been clicked.\n */\n @Event() typographyTruncationExpandToggle: EventEmitter<{\n expanded: boolean;\n typographyEl: HTMLIcTypographyElement;\n }>;\n\n @State() expanded: boolean = false;\n\n @Watch(\"expanded\")\n watchExpandedHandler(): void {\n this.el.setAttribute(\n \"style\",\n `--truncation-max-lines: ${this.expanded ? \"initial\" : this.maxLines}`\n );\n }\n\n disconnectedCallback(): void {\n if (this.resizeObserver !== null) {\n this.resizeObserver.disconnect();\n }\n }\n /**\n * @internal This is used by data table to remove all truncation in certain events\n */\n @Method()\n async resetTruncation() {\n if (this.truncated) {\n this.truncated = false;\n this.maxLines = 0;\n this.el.removeAttribute(\"max-lines\");\n this.expanded = false;\n this.el.removeAttribute(\"style\");\n }\n }\n\n componentDidLoad(): void {\n if (\n (this.variant === \"body\" ||\n (this.el.getRootNode() as ShadowRoot)?.host?.tagName ===\n \"IC-TOOLTIP\") &&\n this.maxLines > 0\n ) {\n const marker = document.createElement(\"span\");\n marker.style.visibility = \"hidden\";\n this.el.appendChild(marker);\n this.marker = marker;\n this.lastWidth = this.el.clientWidth;\n this.checkMaxLines(this.el.clientHeight);\n checkResizeObserver(this.runResizeObserver);\n }\n }\n\n componentWillRender(): void {\n if (isElInAGGrid(this.el)) {\n this.inAGGrid = true;\n }\n }\n\n private toggleExpanded = (ev: Event) => {\n ev.stopPropagation();\n\n this.expanded = !this.expanded;\n this.typographyTruncationExpandToggle.emit({\n expanded: this.expanded,\n typographyEl: this.el,\n });\n };\n\n /**\n * @internal This checks if the number of lines of text exceeds the maxLines prop. If so, set the line clamp CSS to the max lines\n * @param height - text container height\n */\n\n @Method()\n async checkMaxLines(height: number) {\n //24 is the height of a single line\n const numLines = Math.floor(height / 24);\n if (numLines > this.maxLines) {\n this.el.setAttribute(\"style\", `--truncation-max-lines: ${this.maxLines}`);\n this.truncatedHeight = this.el.clientHeight;\n this.truncated = true;\n }\n }\n\n /**\n * @internal This method makes it possible to set the expanded status of truncated text outside of ic-typography component\n */\n @Method()\n async setShowHideExpanded(expanded: boolean) {\n this.expanded = expanded;\n }\n\n private checkMarkerPosition = (elTop: number, markerTop: number) => {\n if (markerTop - elTop < this.truncatedHeight) {\n this.truncated = false;\n this.expanded = false;\n } else {\n this.truncated = true;\n }\n };\n\n private getElementTop = (el: HTMLElement) => {\n return el.getClientRects ? el.getClientRects()[0].top : 0;\n };\n\n private runResizeObserver = () => {\n this.resizeObserver = new ResizeObserver(() => {\n clearTimeout(this.resizeInterval);\n this.resizeInterval = window.setTimeout(this.resizeObserverCallback, 50);\n });\n this.resizeObserver.observe(this.truncWrapperEl);\n };\n\n private resizeObserverCallback = () => {\n if (this.lastWidth === this.el.clientWidth) {\n return;\n }\n\n if (this.truncatedHeight === 0) {\n this.checkMaxLines(this.el.clientHeight);\n return;\n }\n\n const markerTop = this.getElementTop(this.marker);\n if (markerTop === this.lastMarkerTop) {\n return;\n }\n\n this.checkMarkerPosition(this.getElementTop(this.el), markerTop);\n this.lastMarkerTop = markerTop;\n this.lastWidth = this.el.clientWidth;\n };\n\n private truncButtonFocus = (): void => {\n if (this.focusBtnFromKeyboard) {\n this.truncButtonFocussed = true;\n }\n };\n\n private truncButtonBlur = (): void => {\n this.focusBtnFromKeyboard = true;\n this.truncButtonFocussed = false;\n };\n\n private truncButtonFocusFromMouse = (): void => {\n this.focusBtnFromKeyboard = false;\n };\n\n render() {\n const {\n variant,\n applyVerticalMargins,\n maxLines,\n truncated,\n expanded,\n strikethrough,\n underline,\n italic,\n bold,\n } = this;\n\n return (\n <Host\n class={{\n [`ic-typography-${variant}`]: true,\n [`ic-typography-vertical-margins-${variant}`]: applyVerticalMargins,\n [\"bold\"]: bold,\n [\"italic\"]: italic,\n [\"strikethrough\"]: strikethrough,\n [\"underline\"]: underline,\n [\"in-ag-grid\"]: this.inAGGrid,\n }}\n >\n {(variant === \"body\" ||\n (this.el.getRootNode() as ShadowRoot)?.host?.tagName ===\n \"IC-TOOLTIP\") &&\n maxLines > 0 ? (\n <div class=\"trunc-wrapper\" ref={(el) => (this.truncWrapperEl = el)}>\n <slot />\n </div>\n ) : (\n <slot />\n )}\n {variant === \"body\" && maxLines > 0 && truncated && (\n <button\n class={{ \"trunc-btn\": true, focus: this.truncButtonFocussed }}\n onFocus={this.truncButtonFocus}\n onBlur={this.truncButtonBlur}\n onMouseDown={this.truncButtonFocusFromMouse}\n onClick={this.toggleExpanded}\n >\n {expanded ? \"See less\" : \"See more\"}\n </button>\n )}\n </Host>\n );\n }\n}\n"],"mappings":"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"}
|
1
|
+
{"version":3,"names":["icTypographyCss","Typography","this","focusBtnFromKeyboard","inAGGrid","lastMarkerTop","lastWidth","resizeObserver","truncatedHeight","toggleExpanded","ev","stopPropagation","expanded","typographyTruncationExpandToggle","emit","typographyEl","el","checkMarkerPosition","elTop","markerTop","truncated","getElementTop","getClientRects","top","runResizeObserver","ResizeObserver","clearTimeout","resizeInterval","window","setTimeout","resizeObserverCallback","observe","truncWrapperEl","clientWidth","checkMaxLines","clientHeight","marker","truncButtonFocus","truncButtonFocussed","truncButtonBlur","truncButtonFocusFromMouse","watchExpandedHandler","setAttribute","maxLines","disconnectedCallback","disconnect","resetTruncation","removeAttribute","componentDidLoad","variant","_b","_a","getRootNode","host","tagName","document","createElement","style","visibility","appendChild","checkResizeObserver","componentWillRender","isElInAGGrid","height","numLines","Math","floor","setShowHideExpanded","render","applyVerticalMargins","strikethrough","underline","italic","bold","h","Host","class","ref","focus","onFocus","onBlur","onMouseDown","onClick"],"sources":["src/components/ic-typography/ic-typography.css?tag=ic-typography&encapsulation=shadow","src/components/ic-typography/ic-typography.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host {\n display: block;\n position: relative;\n}\n\n:host(.ic-typography-vertical-margins-h1) {\n margin: 0 0 var(--ic-space-xl);\n}\n\n:host(.ic-typography-vertical-margins-h2) {\n margin: var(--ic-space-xxl) 0 var(--ic-space-lg);\n}\n\n:host(.ic-typography-vertical-margins-h3) {\n margin: var(--ic-space-xl) 0 var(--ic-space-md);\n}\n\n:host(.ic-typography-vertical-margins-h4) {\n margin: var(--ic-space-lg) 0 var(--ic-space-md);\n}\n\n:host(.ic-typography-vertical-margins-subtitle-large),\n:host(.ic-typography-vertical-margins-subtitle-small),\n:host(.ic-typography-vertical-margins-body),\n:host(.ic-typography-vertical-margins-code-large),\n:host(.ic-typography-vertical-margins-code-small),\n:host(.ic-typography-vertical-margins-code-extra-small) {\n margin: 0 0 var(--ic-space-md);\n}\n\n:host(.ic-typography-vertical-margins-caption),\n:host(.ic-typography-vertical-margins-caption-uppercase) {\n margin: 0 0 var(--ic-space-xs);\n}\n\n:host(.ic-typography-vertical-margins-h2:first-child),\n:host(.ic-typography-vertical-margins-h3:first-child),\n:host(.ic-typography-vertical-margins-h4:first-child) {\n margin-top: 0;\n}\n\n:host(.ic-typography-h1) {\n font: var(--ic-font-h1) !important;\n}\n\n:host(.ic-typography-h2) {\n font: var(--ic-font-h2);\n letter-spacing: var(--ic-font-letter-spacing-0pt0025);\n}\n\n:host(.ic-typography-h3) {\n font: var(--ic-font-h3);\n}\n\n:host(.ic-typography-h4) {\n font: var(--ic-font-h4);\n letter-spacing: var(--ic-font-letter-spacing-0pt0015);\n}\n\n:host(.ic-typography-subtitle-large) {\n font: var(--ic-font-subtitle-large);\n letter-spacing: var(--ic-font-letter-spacing-0pt0015);\n}\n\n:host(.ic-typography-subtitle-small) {\n font: var(--ic-font-subtitle-small);\n letter-spacing: var(--ic-font-letter-spacing-0pt0015);\n}\n\n:host(.ic-typography-body) {\n font: var(--ic-font-body);\n letter-spacing: var(--ic-font-letter-spacing-0pt005);\n}\n\n:host(.ic-typography-caption) {\n font: var(--ic-font-caption);\n letter-spacing: var(--ic-font-letter-spacing-0pt0025);\n}\n\n:host(.ic-typography-caption-uppercase) {\n font: var(--ic-font-caption);\n letter-spacing: var(--ic-font-letter-spacing-0pt0025);\n text-transform: uppercase;\n}\n\n:host(.ic-typography-label) {\n font: var(--ic-font-label);\n letter-spacing: var(--ic-font-letter-spacing-0pt025);\n}\n\n:host(.ic-typography-label-uppercase) {\n font: var(--ic-font-label);\n letter-spacing: var(--ic-font-letter-spacing-0pt025);\n text-transform: uppercase;\n}\n\n:host(.ic-typography-code-large) {\n font: var(--ic-font-code-large);\n letter-spacing: var(--ic-font-letter-spacing-0pt025);\n}\n\n:host(.ic-typography-code-small) {\n font: var(--ic-font-code-small);\n letter-spacing: var(--ic-font-letter-spacing-0pt005);\n}\n\n:host(.ic-typography-code-extra-small) {\n font: var(--ic-font-code-extra-small);\n letter-spacing: var(--ic-font-letter-spacing-0pt025);\n}\n\n:host(.ic-typography-badge) {\n font: var(--ic-font-badge);\n letter-spacing: var(--ic-font-letter-spacing-0pt0025);\n}\n\n:host(.ic-typography-badge-small) {\n font: var(--ic-font-badge-small);\n letter-spacing: var(--ic-font-letter-spacing-0pt0025);\n}\n\n:host(.ic-typography-no-wrap) {\n white-space: nowrap;\n}\n\n:host ::slotted(h1),\n:host ::slotted(h2),\n:host ::slotted(h3),\n:host ::slotted(h4),\n:host ::slotted(h5),\n:host ::slotted(h6),\n:host ::slotted(p),\n:host ::slotted(label) {\n font: inherit;\n letter-spacing: inherit;\n}\n\n.trunc-wrapper {\n display: -webkit-box;\n -webkit-box-orient: vertical;\n line-clamp: var(--truncation-max-lines, initial);\n -webkit-line-clamp: var(--truncation-max-lines, initial);\n overflow: hidden;\n padding-right: var(--ellipsis-padding-right, 0);\n}\n\n.trunc-btn {\n border: none;\n background: none;\n padding: 0;\n color: var(--ic-color-primary-text);\n text-decoration: underline;\n font-weight: var(--ic-font-weight-bold);\n transition: var(--ic-easing-transition-fast);\n}\n\n.trunc-btn:hover,\n.trunc-btn.focus {\n outline: none;\n border-bottom: 0.25rem solid !important;\n margin-bottom: -0.25rem !important;\n text-decoration: none;\n cursor: pointer;\n}\n\n:host(.strikethrough) {\n text-decoration: line-through;\n}\n\n:host(.underline) {\n text-decoration: underline;\n}\n\n:host(.underline.strikethrough) {\n text-decoration: line-through underline;\n}\n\n:host(.italic) {\n font-style: italic !important;\n}\n\n:host(.bold) {\n font-weight: var(--ic-font-weight-bold);\n}\n\n:host(.in-ag-grid),\n:host(.in-ag-grid) ::slotted(*) {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n@supports (text-underline-offset: 25%) {\n .trunc-btn:hover,\n .trunc-btn.focus {\n text-decoration-line: underline;\n text-decoration-thickness: 25%;\n text-underline-offset: 25%;\n border-bottom: 0 !important;\n margin-bottom: 0 !important;\n }\n}\n\n/* Add back in after storybook has the `color-scheme: light dark` code */\n\n/* @media (prefers-color-scheme: dark) and (not (forced-colors: active)) {\n :host,\n .trunc-btn {\n color: var(--ic-architectural-white);\n }\n} */\n","import {\n Component,\n Prop,\n h,\n Element,\n Host,\n State,\n Watch,\n Method,\n Event,\n EventEmitter,\n} from \"@stencil/core\";\n\nimport { IcTypographyVariants } from \"../../utils/types\";\nimport { checkResizeObserver, isElInAGGrid } from \"../../utils/helpers\";\n\n@Component({\n styleUrl: \"ic-typography.css\",\n tag: \"ic-typography\",\n shadow: true,\n})\nexport class Typography {\n private focusBtnFromKeyboard: boolean = true;\n private inAGGrid: boolean = false;\n private lastMarkerTop: number = 0;\n private lastWidth: number = 0;\n private marker: HTMLElement;\n private resizeInterval: number;\n private resizeObserver: ResizeObserver = null;\n private truncatedHeight: number = 0;\n private truncWrapperEl: Element;\n\n @Element() el: HTMLIcTypographyElement;\n\n @State() truncated: boolean = false;\n @State() truncButtonFocussed: boolean = false;\n\n /**\n * If `true`, appropriate top and bottom margins will be applied to the typography.\n */\n @Prop() applyVerticalMargins?: boolean = false;\n\n /**\n * If `true`, the typography will have a bold font weight.\n * Note: This will have no impact on variants that already use an equivalent or higher font weight (h1, h2, and subtitle-large).\n */\n @Prop() bold?: boolean = false;\n\n /**\n * If `true`, the typography will have an italic font style.\n */\n @Prop() italic?: boolean = false;\n\n /**\n * The number of lines to display before truncating the text, only used for the 'body' variant.\n */\n @Prop({ mutable: true }) maxLines?: number;\n\n /**\n * If `true`, the typography will have a line through it.\n */\n @Prop() strikethrough?: boolean = false;\n\n /**\n * If `true`, the typography will have a line under it.\n */\n @Prop() underline?: boolean = false;\n\n /**\n * The ICDS typography style to use.\n */\n @Prop() variant?: IcTypographyVariants = \"body\";\n\n /**\n * @internal Emits and event when the typography truncation button has been clicked.\n */\n @Event() typographyTruncationExpandToggle: EventEmitter<{\n expanded: boolean;\n typographyEl: HTMLIcTypographyElement;\n }>;\n\n @State() expanded: boolean = false;\n\n @Watch(\"expanded\")\n watchExpandedHandler(): void {\n this.el.setAttribute(\n \"style\",\n `--truncation-max-lines: ${this.expanded ? \"initial\" : this.maxLines}`\n );\n }\n\n disconnectedCallback(): void {\n if (this.resizeObserver !== null) {\n this.resizeObserver.disconnect();\n }\n }\n /**\n * @internal This is used by data table to remove all truncation in certain events\n */\n @Method()\n async resetTruncation() {\n if (this.truncated) {\n this.truncated = false;\n this.maxLines = 0;\n this.el.removeAttribute(\"max-lines\");\n this.expanded = false;\n this.el.removeAttribute(\"style\");\n }\n }\n\n componentDidLoad(): void {\n if (\n (this.variant === \"body\" ||\n (this.el.getRootNode() as ShadowRoot)?.host?.tagName ===\n \"IC-TOOLTIP\") &&\n this.maxLines > 0\n ) {\n const marker = document.createElement(\"span\");\n marker.style.visibility = \"hidden\";\n this.el.appendChild(marker);\n this.marker = marker;\n this.lastWidth = this.el.clientWidth;\n this.checkMaxLines(this.el.clientHeight);\n checkResizeObserver(this.runResizeObserver);\n }\n }\n\n componentWillRender(): void {\n if (isElInAGGrid(this.el)) {\n this.inAGGrid = true;\n }\n }\n\n private toggleExpanded = (ev: Event) => {\n ev.stopPropagation();\n\n this.expanded = !this.expanded;\n this.typographyTruncationExpandToggle.emit({\n expanded: this.expanded,\n typographyEl: this.el,\n });\n };\n\n /**\n * @internal This checks if the number of lines of text exceeds the maxLines prop. If so, set the line clamp CSS to the max lines\n * @param height - text container height\n */\n\n @Method()\n async checkMaxLines(height: number) {\n //24 is the height of a single line\n const numLines = Math.floor(height / 24);\n if (numLines > this.maxLines) {\n this.el.setAttribute(\"style\", `--truncation-max-lines: ${this.maxLines}`);\n this.truncatedHeight = this.el.clientHeight;\n this.truncated = true;\n }\n }\n\n /**\n * @internal This method makes it possible to set the expanded status of truncated text outside of ic-typography component\n */\n @Method()\n async setShowHideExpanded(expanded: boolean) {\n this.expanded = expanded;\n }\n\n private checkMarkerPosition = (elTop: number, markerTop: number) => {\n if (markerTop - elTop < this.truncatedHeight) {\n this.truncated = false;\n this.expanded = false;\n } else {\n this.truncated = true;\n }\n };\n\n private getElementTop = (el: HTMLElement) => {\n return el.getClientRects && el.getClientRects()[0]\n ? el.getClientRects()[0].top\n : 0;\n };\n\n private runResizeObserver = () => {\n this.resizeObserver = new ResizeObserver(() => {\n clearTimeout(this.resizeInterval);\n this.resizeInterval = window.setTimeout(this.resizeObserverCallback, 50);\n });\n this.resizeObserver.observe(this.truncWrapperEl);\n };\n\n private resizeObserverCallback = () => {\n if (this.lastWidth === this.el.clientWidth) {\n return;\n }\n\n if (this.truncatedHeight === 0) {\n this.checkMaxLines(this.el.clientHeight);\n return;\n }\n\n const markerTop = this.getElementTop(this.marker);\n if (markerTop === this.lastMarkerTop) {\n return;\n }\n\n this.checkMarkerPosition(this.getElementTop(this.el), markerTop);\n this.lastMarkerTop = markerTop;\n this.lastWidth = this.el.clientWidth;\n };\n\n private truncButtonFocus = (): void => {\n if (this.focusBtnFromKeyboard) {\n this.truncButtonFocussed = true;\n }\n };\n\n private truncButtonBlur = (): void => {\n this.focusBtnFromKeyboard = true;\n this.truncButtonFocussed = false;\n };\n\n private truncButtonFocusFromMouse = (): void => {\n this.focusBtnFromKeyboard = false;\n };\n\n render() {\n const {\n variant,\n applyVerticalMargins,\n maxLines,\n truncated,\n expanded,\n strikethrough,\n underline,\n italic,\n bold,\n } = this;\n\n return (\n <Host\n class={{\n [`ic-typography-${variant}`]: true,\n [`ic-typography-vertical-margins-${variant}`]: applyVerticalMargins,\n [\"bold\"]: bold,\n [\"italic\"]: italic,\n [\"strikethrough\"]: strikethrough,\n [\"underline\"]: underline,\n [\"in-ag-grid\"]: this.inAGGrid,\n }}\n >\n {(variant === \"body\" ||\n (this.el.getRootNode() as ShadowRoot)?.host?.tagName ===\n \"IC-TOOLTIP\") &&\n maxLines > 0 ? (\n <div class=\"trunc-wrapper\" ref={(el) => (this.truncWrapperEl = el)}>\n <slot />\n </div>\n ) : (\n <slot />\n )}\n {variant === \"body\" && maxLines > 0 && truncated && (\n <button\n class={{ \"trunc-btn\": true, focus: this.truncButtonFocussed }}\n onFocus={this.truncButtonFocus}\n onBlur={this.truncButtonBlur}\n onMouseDown={this.truncButtonFocusFromMouse}\n onClick={this.toggleExpanded}\n >\n {expanded ? \"See less\" : \"See more\"}\n </button>\n )}\n </Host>\n );\n }\n}\n"],"mappings":"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"}
|
package/dist/esm/core.js
CHANGED
@@ -14,7 +14,7 @@ const patchBrowser = () => {
|
|
14
14
|
};
|
15
15
|
|
16
16
|
patchBrowser().then(options => {
|
17
|
-
return bootstrapLazy(JSON.parse("[[\"ic-typography\",[[1,\"ic-typography\",{\"applyVerticalMargins\":[4,\"apply-vertical-margins\"],\"bold\":[4],\"italic\":[4],\"maxLines\":[1026,\"max-lines\"],\"strikethrough\":[4],\"underline\":[4],\"variant\":[1],\"truncated\":[32],\"truncButtonFocussed\":[32],\"expanded\":[32],\"resetTruncation\":[64],\"checkMaxLines\":[64],\"setShowHideExpanded\":[64]},null,{\"expanded\":[\"watchExpandedHandler\"]}]]],[\"ic-search-bar\",[[17,\"ic-search-bar\",{\"autocapitalize\":[1],\"autocomplete\":[1],\"autocorrect\":[1],\"autofocus\":[4],\"charactersUntilSuggestion\":[2,\"characters-until-suggestion\"],\"disabled\":[4],\"disableFilter\":[4,\"disable-filter\"],\"debounce\":[2],\"emptyOptionListText\":[1,\"empty-option-list-text\"],\"focusOnLoad\":[4,\"focus-on-load\"],\"fullWidth\":[4,\"full-width\"],\"helperText\":[1,\"helper-text\"],\"hideLabel\":[4,\"hide-label\"],\"hintText\":[1,\"hint-text\"],\"label\":[1],\"labelField\":[1,\"label-field\"],\"loading\":[1028],\"loadingErrorLabel\":[1,\"loading-error-label\"],\"loadingLabel\":[1,\"loading-label\"],\"name\":[1],\"placeholder\":[1],\"readonly\":[4],\"required\":[4],\"searchMode\":[1,\"search-mode\"],\"size\":[1],\"small\":[4],\"spellcheck\":[4],\"timeout\":[2],\"valueField\":[1,\"value-field\"],\"options\":[16],\"value\":[1537],\"ariaActiveDescendant\":[32],\"clearButtonFocused\":[32],\"highlightedValue\":[32],\"open\":[32],\"searchSubmitFocused\":[32],\"showClearButton\":[32],\"filteredOptions\":[32],\"setFocus\":[64]},[[0,\"icKeydown\",\"handleKeyDown\"],[0,\"keyup\",\"handleKeyUp\"]],{\"loading\":[\"loadingHandler\"],\"filteredOptions\":[\"filteredOptionsHandler\"],\"options\":[\"watchOptionsHandler\"],\"value\":[\"watchValueHandler\"]}]]],[\"ic-select\",[[17,\"ic-select\",{\"charactersUntilSuggestions\":[2,\"characters-until-suggestions\"],\"disabled\":[516],\"disableFilter\":[4,\"disable-filter\"],\"emptyOptionListText\":[1,\"empty-option-list-text\"],\"form\":[1],\"formaction\":[1],\"formenctype\":[1],\"formmethod\":[1],\"formnovalidate\":[4],\"formtarget\":[1],\"fullWidth\":[4,\"full-width\"],\"helperText\":[1,\"helper-text\"],\"hideLabel\":[4,\"hide-label\"],\"includeDescriptionsInSearch\":[4,\"include-descriptions-in-search\"],\"includeGroupTitlesInSearch\":[4,\"include-group-titles-in-search\"],\"label\":[1],\"loadingErrorLabel\":[1,\"loading-error-label\"],\"loadingLabel\":[1,\"loading-label\"],\"name\":[1],\"placeholder\":[1],\"readonly\":[4],\"required\":[4],\"searchable\":[4],\"searchMatchPosition\":[1,\"search-match-position\"],\"selectOnEnter\":[4,\"select-on-enter\"],\"showClearButton\":[4,\"show-clear-button\"],\"size\":[1],\"small\":[4],\"timeout\":[2],\"validationStatus\":[1,\"validation-status\"],\"validationText\":[1,\"validation-text\"],\"loading\":[1028],\"options\":[16],\"debounce\":[2],\"value\":[1025],\"ariaActiveDescendant\":[32],\"clearButtonFocused\":[32],\"debounceIcChange\":[32],\"hiddenInputValue\":[32],\"noOptions\":[32],\"open\":[32],\"pressedCharacters\":[32],\"searchableSelectInputValue\":[32],\"filteredOptions\":[32],\"uniqueOptions\":[32],\"currDebounce\":[32],\"initialValue\":[32],\"inputValueToFilter\":[32],\"currValue\":[32],\"setFocus\":[64]},null,{\"loading\":[\"loadingHandler\"],\"options\":[\"watchOptionsHandler\"],\"debounce\":[\"debounceChangedHandler\"],\"value\":[\"valueChangedHandler\"],\"open\":[\"openChangedHandler\"]}]]],[\"ic-top-navigation\",[[1,\"ic-top-navigation\",{\"contentAligned\":[1,\"content-aligned\"],\"customMobileBreakpoint\":[2,\"custom-mobile-breakpoint\"],\"href\":[1],\"inline\":[4],\"shortAppTitle\":[1,\"short-app-title\"],\"status\":[1],\"version\":[1],\"appTitle\":[1,\"app-title\"],\"deviceSize\":[32],\"foregroundColor\":[32],\"hasFullWidthSearchBar\":[32],\"mobileSearchBarVisible\":[32],\"mobileSearchHiddenOnBlur\":[32],\"navMenuVisible\":[32],\"searchButtonClick\":[32],\"searchValue\":[32]},[[0,\"icNavigationMenuClose\",\"navBarMenuCloseHandler\"],[0,\"icSearchBarBlur\",\"searchInputBlurHandler\"],[0,\"icChange\",\"searchValueChangeHandler\"],[4,\"themeChange\",\"themeChangeHandler\"]],{\"appTitle\":[\"watchPropHandler\"]}]]],[\"ic-page-header\",[[1,\"ic-page-header\",{\"aligned\":[1],\"border\":[4],\"heading\":[1],\"reverseOrder\":[4,\"reverse-order\"],\"size\":[1],\"small\":[4],\"sticky\":[4],\"stickyDesktopOnly\":[4,\"sticky-desktop-only\"],\"subheading\":[1],\"actionContent\":[32],\"areButtonsReversed\":[32],\"deviceSize\":[32]}]]],[\"ic-dialog\",[[1,\"ic-dialog\",{\"alertHeading\":[1,\"alert-heading\"],\"alertMessage\":[1,\"alert-message\"],\"buttons\":[4],\"closeOnBackdropClick\":[4,\"close-on-backdrop-click\"],\"destructive\":[4],\"dismissLabel\":[1,\"dismiss-label\"],\"disableHeightConstraint\":[4,\"disable-height-constraint\"],\"disableWidthConstraint\":[4,\"disable-width-constraint\"],\"hideCloseButton\":[4,\"hide-close-button\"],\"heading\":[1],\"label\":[1],\"open\":[1540],\"size\":[1],\"status\":[1],\"buttonProps\":[16],\"dialogRendered\":[32],\"fadeIn\":[32],\"showDialog\":[64],\"hideDialog\":[64],\"cancelDialog\":[64],\"confirmDialog\":[64]},[[4,\"keydown\",\"handleKeyboard\"],[0,\"click\",\"handleClick\"]],{\"open\":[\"watchOpenHandler\"],\"buttonProps\":[\"watchPropHandler\"]}]]],[\"ic-pagination\",[[1,\"ic-pagination\",{\"adjacentCount\":[1026,\"adjacent-count\"],\"appearance\":[1],\"boundaryCount\":[1026,\"boundary-count\"],\"defaultPage\":[2,\"default-page\"],\"disabled\":[4],\"hideCurrentPage\":[4,\"hide-current-page\"],\"hideFirstAndLastPageButton\":[4,\"hide-first-and-last-page-button\"],\"label\":[1],\"pages\":[2],\"type\":[1],\"currentPage\":[1026,\"current-page\"],\"endEllipsis\":[32],\"endItems\":[32],\"midItems\":[32],\"startEllipsis\":[32],\"startItems\":[32],\"setCurrentPage\":[64]},[[0,\"paginationItemClick\",\"paginationItemClickHandler\"]],{\"adjacentCount\":[\"watchAdjacentCountHandler\"],\"boundaryCount\":[\"watchBoundaryCountHandler\"],\"pages\":[\"watchNumberPagesHandler\"],\"type\":[\"watchTypeHandler\"],\"currentPage\":[\"watchPageChangeHandler\"]}]]],[\"ic-popover-menu\",[[17,\"ic-popover-menu\",{\"anchor\":[1],\"parentLabel\":[1,\"parent-label\"],\"parentPopover\":[16],\"submenuId\":[1,\"submenu-id\"],\"submenuLevel\":[2,\"submenu-level\"],\"open\":[1540],\"openingFromChild\":[32],\"openingFromParent\":[32],\"openFromChild\":[64],\"openFromParent\":[64]},[[0,\"handleMenuItemClick\",\"handleMenuItemClick\"],[2,\"triggerPopoverMenuInstance\",\"handleSubmenuChange\"],[4,\"click\",\"handleClick\"],[0,\"keydown\",\"handleKeyDown\"]],{\"open\":[\"watchOpenHandler\"]}]]],[\"ic-side-navigation\",[[1,\"ic-side-navigation\",{\"appTitle\":[1,\"app-title\"],\"collapsedIconLabels\":[4,\"collapsed-icon-labels\"],\"disableAutoParentStyling\":[4,\"disable-auto-parent-styling\"],\"disableTopBarBehaviour\":[4,\"disable-top-bar-behaviour\"],\"expanded\":[4],\"href\":[1],\"inline\":[4],\"shortAppTitle\":[1,\"short-app-title\"],\"static\":[4],\"status\":[1],\"version\":[1],\"deviceSize\":[32],\"deviceSizeAppTitle\":[32],\"foregroundColor\":[32],\"hasSecondaryNavigation\":[32],\"menuExpanded\":[32],\"menuOpen\":[32]},[[4,\"themeChange\",\"themeChangeHandler\"]],{\"expanded\":[\"watchExpandedHandler\"]}]]],[\"ic-tab-group\",[[17,\"ic-tab-group\",{\"appearance\":[1],\"contextId\":[513,\"context-id\"],\"inline\":[516],\"label\":[1]}]]],[\"ic-accordion-group\",[[1,\"ic-accordion-group\",{\"accessibleButtonLabel\":[1,\"accessible-button-label\"],\"appearance\":[1],\"expanded\":[1028],\"groupTitle\":[1,\"group-title\"],\"singleExpansion\":[4,\"single-expansion\"],\"size\":[1],\"accordions\":[32],\"areAllAccordionsOpen\":[32],\"setFocus\":[64]},[[0,\"accordionClicked\",\"handleAccordionClicked\"]],{\"appearance\":[\"watchAppearanceHandler\"],\"expanded\":[\"watchExpandedHandler\"]}]]],[\"ic-navigation-button\",[[17,\"ic-navigation-button\",{\"download\":[8],\"href\":[1],\"hreflang\":[1],\"label\":[1],\"referrerpolicy\":[1],\"rel\":[1],\"target\":[1],\"initialAppearance\":[32],\"mode\":[32],\"setFocus\":[64]},[[4,\"icNavigationMenuOpened\",\"navBarMenuOpenHandler\"],[4,\"icNavigationMenuClosed\",\"navBarMenuCloseHandler\"],[4,\"themeChange\",\"themeChangeHandler\"]]]]],[\"ic-toast\",[[1,\"ic-toast\",{\"autoDismissTimeout\":[1026,\"auto-dismiss-timeout\"],\"dismissButtonAriaLabel\":[1,\"dismiss-button-aria-label\"],\"dismissMode\":[1025,\"dismiss-mode\"],\"heading\":[1],\"message\":[1],\"neutralIconAriaLabel\":[1,\"neutral-icon-aria-label\"],\"variant\":[1025],\"timerProgress\":[32],\"visible\":[32],\"setVisible\":[64]},[[2,\"icDismiss\",\"handleDismiss\"],[4,\"keydown\",\"handleKeyboard\"],[1,\"mouseenter\",\"handleTimer\"],[1,\"mouseleave\",\"handleTimer\"]],{\"dismissMode\":[\"dismissModeChangeHandler\"]}]]],[\"ic-toggle-button\",[[17,\"ic-toggle-button\",{\"accessibleLabel\":[1,\"accessible-label\"],\"appearance\":[1],\"disabled\":[4],\"fullWidth\":[4,\"full-width\"],\"iconPlacement\":[1,\"icon-placement\"],\"label\":[1],\"loading\":[4],\"size\":[1],\"toggleChecked\":[1540,\"toggle-checked\"],\"variant\":[513]},[[2,\"click\",\"handleHostClick\"]]]]],[\"ic-checkbox-group\",[[1,\"ic-checkbox-group\",{\"disabled\":[4],\"helperText\":[1,\"helper-text\"],\"hideLabel\":[4,\"hide-label\"],\"label\":[1],\"name\":[1],\"required\":[4],\"size\":[1],\"small\":[4],\"validationStatus\":[1,\"validation-status\"],\"validationText\":[1,\"validation-text\"]},[[0,\"icChange\",\"handleChange\"],[0,\"icCheck\",\"selectHandler\"]],{\"label\":[\"labelNameHandler\"],\"name\":[\"labelNameHandler\"]}]]],[\"ic-radio-group\",[[1,\"ic-radio-group\",{\"disabled\":[4],\"helperText\":[1,\"helper-text\"],\"hideLabel\":[4,\"hide-label\"],\"label\":[1],\"name\":[1],\"orientation\":[1],\"required\":[4],\"size\":[1],\"small\":[4],\"validationStatus\":[1,\"validation-status\"],\"validationText\":[1,\"validation-text\"],\"checkedValue\":[32],\"currentOrientation\":[32],\"initialOrientation\":[32],\"selectedChild\":[32]},[[0,\"icCheck\",\"selectHandler\"],[0,\"icSelectedChange\",\"changeHandler\"]],{\"disabled\":[\"watchDisabledHandler\"],\"orientation\":[\"orientationChangeHandler\"]}]]],[\"ic-back-to-top\",[[17,\"ic-back-to-top\",{\"target\":[1],\"variant\":[1],\"bannerOffset\":[32],\"footerVisible\":[32],\"targetElVisible\":[32]},null,{\"target\":[\"watchPropHandler\"]}]]],[\"ic-breadcrumb-group\",[[1,\"ic-breadcrumb-group\",{\"appearance\":[1],\"backBreadcrumbOnly\":[4,\"back-breadcrumb-only\"],\"collapsed\":[4],\"deviceSize\":[32],\"expandedBreadcrumbs\":[32]},null,{\"appearance\":[\"watchAppearanceHandler\"],\"backBreadcrumbOnly\":[\"watchBackBreadcrumbHandler\"]}]]],[\"ic-card\",[[1,\"ic-card\",{\"clickable\":[1028],\"disabled\":[4],\"expandable\":[4],\"fullWidth\":[4,\"full-width\"],\"heading\":[1],\"href\":[1],\"hreflang\":[1],\"message\":[1],\"referrerpolicy\":[1],\"rel\":[1],\"subheading\":[1],\"target\":[1],\"appearance\":[32],\"areaExpanded\":[32],\"isFocussed\":[32],\"parentEl\":[32],\"parentIsAnchorTag\":[32],\"setFocus\":[64]},[[2,\"click\",\"handleHostClick\"],[4,\"themeChange\",\"themeChangeHandler\"]]]]],[\"ic-chip\",[[17,\"ic-chip\",{\"appearance\":[1],\"customColor\":[1,\"custom-color\"],\"disabled\":[4],\"dismissible\":[4],\"label\":[1],\"size\":[1],\"transparentBackground\":[4,\"transparent-background\"],\"variant\":[1],\"hovered\":[32],\"visible\":[32],\"setFocus\":[64]},[[2,\"icDismiss\",\"handleClick\"]],{\"customColor\":[\"customColorHandler\"]}]]],[\"ic-footer\",[[1,\"ic-footer\",{\"aligned\":[1],\"breakpoint\":[1],\"caption\":[1],\"copyright\":[4],\"description\":[1],\"groupLinks\":[4,\"group-links\"],\"deviceSize\":[32],\"foregroundColor\":[32]},[[4,\"themeChange\",\"themeChangeHandler\"]]]]],[\"ic-footer-link-group\",[[17,\"ic-footer-link-group\",{\"groupTitle\":[1,\"group-title\"],\"expanded\":[32],\"deviceSize\":[32],\"dropdownIconStyle\":[32],\"small\":[32]},[[4,\"footerResized\",\"footerResizeHandler\"],[4,\"themeChange\",\"footerThemeChangeHandler\"]]]]],[\"ic-hero\",[[1,\"ic-hero\",{\"aligned\":[1],\"backgroundImage\":[1,\"background-image\"],\"contentAligned\":[1,\"content-aligned\"],\"disableBackgroundParallax\":[4,\"disable-background-parallax\"],\"heading\":[1],\"secondaryHeading\":[1,\"secondary-heading\"],\"secondarySubheading\":[1,\"secondary-subheading\"],\"size\":[1],\"small\":[4],\"subheading\":[1],\"foregroundColor\":[32],\"rightContent\":[32],\"leftContentFullWidth\":[32],\"scrollFactor\":[32]},[[4,\"themeChange\",\"themeChangeHandler\"],[5,\"scroll\",\"doScroll\"]]]]],[\"ic-navigation-item\",[[17,\"ic-navigation-item\",{\"collapsedIconLabel\":[4,\"collapsed-icon-label\"],\"displayNavigationTooltip\":[4,\"display-navigation-tooltip\"],\"download\":[8],\"expandable\":[4],\"href\":[1],\"hreflang\":[1],\"label\":[1],\"rel\":[1],\"referrerpolicy\":[1],\"selected\":[4],\"target\":[1],\"deviceSize\":[32],\"focusStyle\":[32],\"inTopNavSideMenu\":[32],\"isSideNavMobile\":[32],\"isTopNavChild\":[32],\"navigationType\":[32],\"parentEl\":[32],\"sideNavExpanded\":[32],\"setFocus\":[64]},[[4,\"themeChange\",\"themeChangeHandler\"]]]]],[\"ic-step\",[[1,\"ic-step\",{\"compactStepStyling\":[1,\"compact-step-styling\"],\"current\":[1028],\"lastStep\":[4,\"last-step\"],\"lastStepNum\":[2,\"last-step-num\"],\"nextStepTitle\":[1,\"next-step-title\"],\"progress\":[2],\"stepNum\":[2,\"step-num\"],\"stepStatus\":[1,\"step-status\"],\"stepSubtitle\":[1,\"step-subtitle\"],\"stepTitle\":[1,\"step-title\"],\"variant\":[1],\"stepType\":[1,\"step-type\"]},null,{\"stepType\":[\"stepTypeChangeHandler\"]}]]],[\"ic-switch\",[[17,\"ic-switch\",{\"checked\":[4],\"disabled\":[4],\"helperText\":[1,\"helper-text\"],\"hideLabel\":[4,\"hide-label\"],\"label\":[1],\"name\":[1],\"showState\":[4,\"show-state\"],\"size\":[1],\"small\":[4],\"value\":[1],\"checkedState\":[32],\"initiallyChecked\":[32],\"setFocus\":[64]},null,{\"checked\":[\"checkedChangeHandler\"]}]]],[\"ic-accordion\",[[1,\"ic-accordion\",{\"appearance\":[1],\"disabled\":[4],\"expanded\":[1028],\"heading\":[1],\"message\":[1],\"size\":[1],\"setFocus\":[64]},null,{\"expanded\":[\"handleExpandedWatch\"]}]]],[\"ic-badge\",[[17,\"ic-badge\",{\"accessibleLabel\":[1,\"accessible-label\"],\"customColor\":[1,\"custom-color\"],\"maxNumber\":[2,\"max-number\"],\"position\":[1],\"size\":[1],\"textLabel\":[1,\"text-label\"],\"type\":[1],\"variant\":[1],\"visible\":[1028],\"showBadge\":[64],\"hideBadge\":[64]},null,{\"accessibleLabel\":[\"accessibleLabelHandler\"],\"customColor\":[\"customColorHandler\"],\"variant\":[\"variantHandler\"],\"visible\":[\"visibleHandler\"]}]]],[\"ic-checkbox\",[[17,\"ic-checkbox\",{\"additionalFieldDisplay\":[513,\"additional-field-display\"],\"checked\":[1540],\"disabled\":[4],\"dynamicText\":[1,\"dynamic-text\"],\"form\":[1],\"formaction\":[1],\"formenctype\":[1],\"formmethod\":[1],\"formnovalidate\":[4],\"formtarget\":[1],\"groupLabel\":[1025,\"group-label\"],\"indeterminate\":[4],\"label\":[1],\"name\":[1025],\"nativeIndeterminateBehaviour\":[4,\"native-indeterminate-behaviour\"],\"size\":[1],\"small\":[4],\"value\":[1],\"hideLabel\":[4,\"hide-label\"],\"initiallyChecked\":[32],\"displayIndeterminate\":[32],\"setFocus\":[64]},null,{\"indeterminate\":[\"watchIndeterminateHandler\"]}]]],[\"ic-classification-banner\",[[1,\"ic-classification-banner\",{\"additionalSelectors\":[1,\"additional-selectors\"],\"classification\":[1],\"country\":[1],\"inline\":[4],\"upTo\":[4,\"up-to\"]}]]],[\"ic-data-entity\",[[1,\"ic-data-entity\",{\"heading\":[1],\"size\":[1],\"small\":[4]}]]],[\"ic-data-row\",[[1,\"ic-data-row\",{\"label\":[1],\"size\":[1],\"small\":[4],\"value\":[1],\"deviceSize\":[32],\"entitySize\":[32]}]]],[\"ic-empty-state\",[[1,\"ic-empty-state\",{\"aligned\":[1],\"body\":[1],\"bodyMaxLines\":[2,\"body-max-lines\"],\"heading\":[1],\"imageSize\":[1,\"image-size\"],\"subheading\":[1]}]]],[\"ic-menu-group\",[[1,\"ic-menu-group\",{\"label\":[1]}]]],[\"ic-navigation-group\",[[17,\"ic-navigation-group\",{\"expandable\":[4],\"label\":[1],\"deviceSize\":[32],\"dropdownOpen\":[32],\"expanded\":[32],\"focusStyle\":[32],\"inTopNavSideMenu\":[32],\"navigationType\":[32],\"parentEl\":[32],\"setFocus\":[64]},[[0,\"childBlur\",\"childBlurHandler\"],[0,\"navItemClicked\",\"navItemClickHandler\"],[4,\"themeChange\",\"themeChangeHandler\"]]]]],[\"ic-radio-option\",[[17,\"ic-radio-option\",{\"additionalFieldDisplay\":[513,\"additional-field-display\"],\"disabled\":[4],\"dynamicText\":[1,\"dynamic-text\"],\"form\":[1],\"formaction\":[1],\"formenctype\":[1],\"formmethod\":[1],\"formnovalidate\":[4],\"formtarget\":[1],\"groupLabel\":[1,\"group-label\"],\"label\":[1],\"name\":[1],\"value\":[1025],\"selected\":[1540],\"initiallySelected\":[32],\"setFocus\":[64],\"setTabIndex\":[64]},[[0,\"icChange\",\"textfieldValueHandler\"]],{\"selected\":[\"watchSelectedHandler\"]}]]],[\"ic-status-tag\",[[1,\"ic-status-tag\",{\"announced\":[4],\"appearance\":[1],\"label\":[1],\"size\":[1],\"small\":[4],\"status\":[1],\"variant\":[1]}]]],[\"ic-tab\",[[1,\"ic-tab\",{\"appearance\":[1],\"contextId\":[513,\"context-id\"],\"disabled\":[4],\"selected\":[516],\"tabId\":[513,\"tab-id\"],\"tabPosition\":[2,\"tab-position\"],\"setFocus\":[64]},null,{\"disabled\":[\"disabledWatchHandler\"]}]]],[\"ic-footer-link\",[[17,\"ic-footer-link\",{\"download\":[8],\"href\":[1],\"hreflang\":[1],\"referrerpolicy\":[1],\"rel\":[1],\"target\":[1],\"deviceSize\":[32],\"footerConfig\":[32],\"foregroundColor\":[32]},[[4,\"footerResized\",\"footerResizeHandler\"],[4,\"themeChange\",\"footerThemeChangeHandler\"]]]]],[\"ic-skeleton\",[[1,\"ic-skeleton\",{\"appearance\":[1],\"light\":[4],\"variant\":[1]}]]],[\"ic-stepper\",[[1,\"ic-stepper\",{\"aligned\":[1],\"appearance\":[1],\"connectorWidth\":[2,\"connector-width\"],\"hideStepInfo\":[4,\"hide-step-info\"],\"variant\":[1025],\"alignedFullWidth\":[32],\"autoSetStepTitles\":[32],\"lastStepWidth\":[32],\"noOfResizes\":[32],\"stepperWidth\":[32],\"stepTypes\":[32],\"variantOverride\":[32]},null,{\"hideStepInfo\":[\"handlePropChange\"],\"variant\":[\"handlePropChange\"]}]]],[\"ic-tab-context\",[[4,\"ic-tab-context\",{\"activationType\":[1,\"activation-type\"],\"appearance\":[1],\"contextId\":[513,\"context-id\"],\"selectedTabIndex\":[2,\"selected-tab-index\"],\"selectedTab\":[32],\"tabRemovedHandler\":[64]},[[0,\"tabClick\",\"tabClickHandler\"],[0,\"tabCreated\",\"tabCreatedHandler\"],[0,\"tabPanelCreated\",\"tabCreatedHandler\"],[0,\"tabEnabled\",\"tabEnabledHandler\"]],{\"appearance\":[\"watchAppearanceHandler\"],\"selectedTabIndex\":[\"updateSelectedTab\"]}]]],[\"ic-tab-panel\",[[1,\"ic-tab-panel\",{\"appearance\":[1],\"contextId\":[513,\"context-id\"],\"panelId\":[513,\"panel-id\"],\"selectedTab\":[1,\"selected-tab\"],\"tabPosition\":[514,\"tab-position\"]}]]],[\"ic-theme\",[[1,\"ic-theme\",{\"color\":[1]},null,{\"color\":[\"watchColorPropHandler\"]}]]],[\"ic-toast-region\",[[4,\"ic-toast-region\",{\"openToast\":[1040],\"setVisible\":[64]},[[2,\"icDismiss\",\"handleDismissedToast\"]],{\"openToast\":[\"watchOpenToastHandler\"]}]]],[\"ic-toggle-button-group\",[[1,\"ic-toggle-button-group\",{\"accessibleLabel\":[1,\"accessible-label\"],\"appearance\":[1],\"disabled\":[4],\"fullWidth\":[4,\"full-width\"],\"iconPlacement\":[1,\"icon-placement\"],\"loading\":[4],\"selectMethod\":[1025,\"select-method\"],\"selectType\":[1,\"select-type\"],\"size\":[1],\"variant\":[513],\"lastKeyPressed\":[32]},[[0,\"icToggleChecked\",\"selectHandler\"]]]]],[\"ic-text-field\",[[1,\"ic-text-field\",{\"ariaActiveDescendant\":[1,\"aria-active-descendant\"],\"ariaAutocomplete\":[1,\"aria-autocomplete\"],\"ariaExpanded\":[1,\"aria-expanded\"],\"ariaOwns\":[1,\"aria-owns\"],\"autocapitalize\":[1],\"autocomplete\":[1],\"autocorrect\":[1],\"autoFocus\":[4,\"auto-focus\"],\"disabled\":[4],\"fullWidth\":[4,\"full-width\"],\"helperText\":[1,\"helper-text\"],\"hideLabel\":[4,\"hide-label\"],\"hiddenInput\":[4,\"hidden-input\"],\"inputId\":[1,\"input-id\"],\"inputmode\":[1],\"label\":[1],\"max\":[8],\"maxCharacters\":[2,\"max-characters\"],\"maxLength\":[2,\"max-length\"],\"maxLengthMessage\":[1,\"max-length-message\"],\"min\":[8],\"minCharacters\":[2,\"min-characters\"],\"name\":[1],\"placeholder\":[1],\"readonly\":[516],\"required\":[4],\"resize\":[4],\"role\":[1],\"rows\":[2],\"size\":[1],\"small\":[4],\"spellcheck\":[4],\"truncateValue\":[4,\"truncate-value\"],\"type\":[1],\"validationInline\":[4,\"validation-inline\"],\"validationInlineInternal\":[4,\"validation-inline-internal\"],\"validationStatus\":[1,\"validation-status\"],\"validationText\":[1,\"validation-text\"],\"debounce\":[2],\"value\":[1537],\"numChars\":[32],\"maxCharactersReached\":[32],\"maxCharactersError\":[32],\"minCharactersUnattained\":[32],\"maxLengthExceeded\":[32],\"maxValueExceeded\":[32],\"minValueUnattained\":[32],\"initialValue\":[32],\"setFocus\":[64]},[[0,\"keydown\",\"handleKeyDown\"]],{\"debounce\":[\"debounceChanged\"],\"value\":[\"watchValueHandler\"]}]]],[\"ic-alert\",[[1,\"ic-alert\",{\"announced\":[4],\"dismissible\":[4],\"heading\":[1],\"message\":[1],\"titleAbove\":[4,\"title-above\"],\"variant\":[1],\"showDefaultIcon\":[4,\"show-default-icon\"],\"alertTitleWrap\":[32],\"visible\":[32]},[[2,\"icDismiss\",\"handleClick\"]]]]],[\"ic-menu-item\",[[17,\"ic-menu-item\",{\"description\":[1],\"disabled\":[4],\"href\":[1],\"hreflang\":[1],\"keyboardShortcut\":[1,\"keyboard-shortcut\"],\"label\":[1],\"referrerpolicy\":[1],\"rel\":[1],\"submenuTriggerFor\":[1,\"submenu-trigger-for\"],\"target\":[1],\"variant\":[1537],\"toggleChecked\":[32]},[[2,\"click\",\"handleHostClick\"]]]]],[\"ic-navigation-menu\",[[1,\"ic-navigation-menu\",{\"status\":[1],\"version\":[1]},[[0,\"navItemClicked\",\"navItemClickHandler\"],[4,\"keydown\",\"handleKeyDown\"]]]]],[\"ic-link\",[[17,\"ic-link\",{\"appearance\":[1025],\"download\":[8],\"href\":[1],\"hreflang\":[1],\"referrerpolicy\":[1],\"rel\":[1],\"showIcon\":[4,\"show-icon\"],\"target\":[1],\"setFocus\":[64]},[[4,\"themeChange\",\"themeChangeHandler\"]]]]],[\"ic-breadcrumb\",[[17,\"ic-breadcrumb\",{\"appearance\":[1],\"current\":[4],\"href\":[1],\"pageTitle\":[1,\"page-title\"],\"showBackIcon\":[516,\"show-back-icon\"],\"setFocus\":[64]}]]],[\"ic-pagination-item\",[[1,\"ic-pagination-item\",{\"appearance\":[1],\"disabled\":[4],\"label\":[1],\"page\":[2],\"selected\":[4],\"type\":[1],\"capitalizedLabel\":[32]},null,{\"label\":[\"watchLabelHandler\"]}]]],[\"ic-divider\",[[2,\"ic-divider\",{\"foregroundColor\":[32]},[[4,\"themeChange\",\"themeChangeHandler\"]]]]],[\"ic-horizontal-scroll\",[[1,\"ic-horizontal-scroll\",{\"appearance\":[1],\"focusTrigger\":[1,\"focus-trigger\"],\"firstItemVisible\":[32],\"itemOverflow\":[32],\"lastItemVisible\":[32],\"scrollItemIntoView\":[64]}]]],[\"ic-section-container\",[[1,\"ic-section-container\",{\"aligned\":[1],\"fullHeight\":[4,\"full-height\"]}]]],[\"ic-input-component-container_3\",[[2,\"ic-menu\",{\"activationType\":[1,\"activation-type\"],\"anchorEl\":[16],\"autoFocusOnSelected\":[4,\"auto-focus-on-selected\"],\"fullWidth\":[4,\"full-width\"],\"inputEl\":[16],\"inputLabel\":[1,\"input-label\"],\"labelField\":[1,\"label-field\"],\"menuId\":[1,\"menu-id\"],\"open\":[516],\"parentEl\":[16],\"searchMode\":[1,\"search-mode\"],\"selectOnEnter\":[4,\"select-on-enter\"],\"size\":[1],\"small\":[4],\"options\":[16],\"value\":[1025],\"valueField\":[1,\"value-field\"],\"focusFromSearchKeypress\":[32],\"initialOptionsListRender\":[32],\"keyboardNav\":[32],\"optionHighlighted\":[32],\"preventIncorrectTabOrder\":[32],\"handleClickOpen\":[64],\"handleKeyboardOpen\":[64],\"handleSetFirstOption\":[64],\"initPopperJs\":[64]},null,{\"open\":[\"watchOpenHandler\"],\"options\":[\"watchOptionsHandler\"],\"value\":[\"watchValueHandler\"]}],[4,\"ic-input-component-container\",{\"appearance\":[1],\"dark\":[4],\"disabled\":[4],\"fullWidth\":[4,\"full-width\"],\"multiLine\":[4,\"multi-line\"],\"readonly\":[4],\"size\":[1],\"small\":[4],\"validationInline\":[4,\"validation-inline\"],\"validationStatus\":[1,\"validation-status\"]}],[4,\"ic-input-container\",{\"disabled\":[4],\"readonly\":[4]}]]],[\"ic-input-label_2\",[[4,\"ic-input-validation\",{\"ariaLiveMode\":[1,\"aria-live-mode\"],\"for\":[1],\"fullWidth\":[4,\"full-width\"],\"message\":[1],\"status\":[1]}],[0,\"ic-input-label\",{\"appearance\":[1],\"dark\":[4],\"disabled\":[4],\"error\":[4],\"for\":[1],\"helperText\":[1,\"helper-text\"],\"label\":[1],\"readonly\":[4],\"required\":[4]}]]],[\"ic-button_3\",[[17,\"ic-button\",{\"accept\":[1],\"appearance\":[1025],\"ariaControlsId\":[8,\"aria-controls-id\"],\"ariaOwnsId\":[8,\"aria-owns-id\"],\"disabled\":[4],\"disableTooltip\":[4,\"disable-tooltip\"],\"download\":[8],\"dropdown\":[4],\"dropdownExpanded\":[1540,\"dropdown-expanded\"],\"fileUpload\":[4,\"file-upload\"],\"fileInputName\":[1,\"file-input-name\"],\"form\":[1],\"formaction\":[1],\"formenctype\":[1],\"formmethod\":[1],\"formnovalidate\":[4],\"formtarget\":[1],\"fullWidth\":[4,\"full-width\"],\"href\":[1],\"hreflang\":[1],\"loading\":[4],\"multiple\":[4],\"referrerpolicy\":[1],\"rel\":[1],\"selectedFiles\":[16],\"size\":[1],\"target\":[1],\"tooltipPlacement\":[1,\"tooltip-placement\"],\"transparentBackground\":[4,\"transparent-background\"],\"type\":[1],\"variant\":[1],\"ariaLabel\":[32],\"describedByContent\":[32],\"title\":[32],\"setFocus\":[64]},[[2,\"click\",\"handleHostClick\"],[4,\"themeChange\",\"themeChangeHandler\"]],{\"disabled\":[\"watchDisabledHandler\"]}],[1,\"ic-loading-indicator\",{\"appearance\":[1],\"description\":[1],\"fullWidth\":[516,\"full-width\"],\"innerLabel\":[2,\"inner-label\"],\"labelDuration\":[2,\"label-duration\"],\"max\":[2],\"min\":[2],\"size\":[513],\"type\":[513],\"label\":[1],\"progress\":[2],\"circularDiameter\":[32],\"circularLineWidth\":[32],\"indeterminate\":[32],\"indicatorLabel\":[32],\"showSecond\":[32]},null,{\"label\":[\"watchPropHandler\"],\"progress\":[\"watchProgressHandler\"]}],[1,\"ic-tooltip\",{\"disableClick\":[4,\"disable-click\"],\"disableHover\":[4,\"disable-hover\"],\"maxLines\":[2,\"max-lines\"],\"placement\":[1025],\"silent\":[4],\"target\":[513],\"label\":[1],\"popperProps\":[32],\"setExternalPopperProps\":[64],\"displayTooltip\":[64],\"isTooltipVisible\":[64]}]]]]"), options);
|
17
|
+
return bootstrapLazy(JSON.parse("[[\"ic-typography\",[[1,\"ic-typography\",{\"applyVerticalMargins\":[4,\"apply-vertical-margins\"],\"bold\":[4],\"italic\":[4],\"maxLines\":[1026,\"max-lines\"],\"strikethrough\":[4],\"underline\":[4],\"variant\":[1],\"truncated\":[32],\"truncButtonFocussed\":[32],\"expanded\":[32],\"resetTruncation\":[64],\"checkMaxLines\":[64],\"setShowHideExpanded\":[64]},null,{\"expanded\":[\"watchExpandedHandler\"]}]]],[\"ic-search-bar\",[[17,\"ic-search-bar\",{\"autocapitalize\":[1],\"autocomplete\":[1],\"autocorrect\":[1],\"autofocus\":[4],\"charactersUntilSuggestion\":[2,\"characters-until-suggestion\"],\"disabled\":[4],\"disableFilter\":[4,\"disable-filter\"],\"debounce\":[2],\"emptyOptionListText\":[1,\"empty-option-list-text\"],\"focusOnLoad\":[4,\"focus-on-load\"],\"fullWidth\":[4,\"full-width\"],\"helperText\":[1,\"helper-text\"],\"hideLabel\":[4,\"hide-label\"],\"hintText\":[1,\"hint-text\"],\"label\":[1],\"labelField\":[1,\"label-field\"],\"loading\":[1028],\"loadingErrorLabel\":[1,\"loading-error-label\"],\"loadingLabel\":[1,\"loading-label\"],\"name\":[1],\"placeholder\":[1],\"readonly\":[4],\"required\":[4],\"searchMode\":[1,\"search-mode\"],\"size\":[1],\"small\":[4],\"spellcheck\":[4],\"timeout\":[2],\"valueField\":[1,\"value-field\"],\"options\":[16],\"value\":[1537],\"ariaActiveDescendant\":[32],\"clearButtonFocused\":[32],\"highlightedValue\":[32],\"open\":[32],\"searchSubmitFocused\":[32],\"showClearButton\":[32],\"filteredOptions\":[32],\"setFocus\":[64]},[[0,\"icKeydown\",\"handleKeyDown\"],[0,\"keyup\",\"handleKeyUp\"]],{\"loading\":[\"loadingHandler\"],\"filteredOptions\":[\"filteredOptionsHandler\"],\"options\":[\"watchOptionsHandler\"],\"value\":[\"watchValueHandler\"]}]]],[\"ic-select\",[[17,\"ic-select\",{\"charactersUntilSuggestions\":[2,\"characters-until-suggestions\"],\"disabled\":[516],\"disableFilter\":[4,\"disable-filter\"],\"emptyOptionListText\":[1,\"empty-option-list-text\"],\"form\":[1],\"formaction\":[1],\"formenctype\":[1],\"formmethod\":[1],\"formnovalidate\":[4],\"formtarget\":[1],\"fullWidth\":[4,\"full-width\"],\"helperText\":[1,\"helper-text\"],\"hideLabel\":[4,\"hide-label\"],\"includeDescriptionsInSearch\":[4,\"include-descriptions-in-search\"],\"includeGroupTitlesInSearch\":[4,\"include-group-titles-in-search\"],\"label\":[1],\"loadingErrorLabel\":[1,\"loading-error-label\"],\"loadingLabel\":[1,\"loading-label\"],\"name\":[1],\"placeholder\":[1],\"readonly\":[4],\"required\":[4],\"searchable\":[4],\"searchMatchPosition\":[1,\"search-match-position\"],\"selectOnEnter\":[4,\"select-on-enter\"],\"showClearButton\":[4,\"show-clear-button\"],\"size\":[1],\"small\":[4],\"timeout\":[2],\"validationStatus\":[1,\"validation-status\"],\"validationText\":[1,\"validation-text\"],\"loading\":[1028],\"options\":[16],\"debounce\":[2],\"value\":[1025],\"ariaActiveDescendant\":[32],\"clearButtonFocused\":[32],\"debounceIcChange\":[32],\"hiddenInputValue\":[32],\"noOptions\":[32],\"open\":[32],\"pressedCharacters\":[32],\"searchableSelectInputValue\":[32],\"filteredOptions\":[32],\"uniqueOptions\":[32],\"currDebounce\":[32],\"initialValue\":[32],\"inputValueToFilter\":[32],\"currValue\":[32],\"setFocus\":[64]},null,{\"loading\":[\"loadingHandler\"],\"options\":[\"watchOptionsHandler\"],\"debounce\":[\"debounceChangedHandler\"],\"value\":[\"valueChangedHandler\"],\"open\":[\"openChangedHandler\"]}]]],[\"ic-top-navigation\",[[1,\"ic-top-navigation\",{\"contentAligned\":[1,\"content-aligned\"],\"customMobileBreakpoint\":[2,\"custom-mobile-breakpoint\"],\"href\":[1],\"inline\":[4],\"shortAppTitle\":[1,\"short-app-title\"],\"status\":[1],\"version\":[1],\"appTitle\":[1,\"app-title\"],\"deviceSize\":[32],\"foregroundColor\":[32],\"hasFullWidthSearchBar\":[32],\"mobileSearchBarVisible\":[32],\"mobileSearchHiddenOnBlur\":[32],\"navMenuVisible\":[32],\"searchButtonClick\":[32],\"searchValue\":[32]},[[0,\"icNavigationMenuClose\",\"navBarMenuCloseHandler\"],[0,\"icSearchBarBlur\",\"searchInputBlurHandler\"],[0,\"icChange\",\"searchValueChangeHandler\"],[4,\"themeChange\",\"themeChangeHandler\"]],{\"appTitle\":[\"watchPropHandler\"]}]]],[\"ic-page-header\",[[1,\"ic-page-header\",{\"aligned\":[1],\"border\":[4],\"heading\":[1],\"reverseOrder\":[4,\"reverse-order\"],\"size\":[1],\"small\":[4],\"sticky\":[4],\"stickyDesktopOnly\":[4,\"sticky-desktop-only\"],\"subheading\":[1],\"actionContent\":[32],\"areButtonsReversed\":[32],\"deviceSize\":[32]}]]],[\"ic-dialog\",[[1,\"ic-dialog\",{\"alertHeading\":[1,\"alert-heading\"],\"alertMessage\":[1,\"alert-message\"],\"buttons\":[4],\"closeOnBackdropClick\":[4,\"close-on-backdrop-click\"],\"destructive\":[4],\"dismissLabel\":[1,\"dismiss-label\"],\"disableHeightConstraint\":[4,\"disable-height-constraint\"],\"disableWidthConstraint\":[4,\"disable-width-constraint\"],\"hideCloseButton\":[4,\"hide-close-button\"],\"heading\":[1],\"label\":[1],\"open\":[1540],\"size\":[1],\"status\":[1],\"buttonProps\":[16],\"dialogRendered\":[32],\"fadeIn\":[32],\"showDialog\":[64],\"hideDialog\":[64],\"cancelDialog\":[64],\"confirmDialog\":[64]},[[4,\"keydown\",\"handleKeyboard\"],[0,\"click\",\"handleClick\"]],{\"open\":[\"watchOpenHandler\"],\"buttonProps\":[\"watchPropHandler\"]}]]],[\"ic-pagination\",[[1,\"ic-pagination\",{\"adjacentCount\":[1026,\"adjacent-count\"],\"appearance\":[1],\"boundaryCount\":[1026,\"boundary-count\"],\"defaultPage\":[2,\"default-page\"],\"disabled\":[4],\"hideCurrentPage\":[4,\"hide-current-page\"],\"hideFirstAndLastPageButton\":[4,\"hide-first-and-last-page-button\"],\"label\":[1],\"pages\":[2],\"type\":[1],\"currentPage\":[1026,\"current-page\"],\"endEllipsis\":[32],\"endItems\":[32],\"midItems\":[32],\"startEllipsis\":[32],\"startItems\":[32],\"setCurrentPage\":[64]},[[0,\"paginationItemClick\",\"paginationItemClickHandler\"]],{\"adjacentCount\":[\"watchAdjacentCountHandler\"],\"boundaryCount\":[\"watchBoundaryCountHandler\"],\"pages\":[\"watchNumberPagesHandler\"],\"type\":[\"watchTypeHandler\"],\"currentPage\":[\"watchPageChangeHandler\"]}]]],[\"ic-popover-menu\",[[17,\"ic-popover-menu\",{\"anchor\":[1],\"parentLabel\":[1,\"parent-label\"],\"parentPopover\":[16],\"submenuId\":[1,\"submenu-id\"],\"submenuLevel\":[2,\"submenu-level\"],\"open\":[1540],\"openingFromChild\":[32],\"openingFromParent\":[32],\"openFromChild\":[64],\"openFromParent\":[64],\"closeMenu\":[64]},[[0,\"handleMenuItemClick\",\"handleMenuItemClick\"],[2,\"triggerPopoverMenuInstance\",\"handleSubmenuChange\"],[4,\"click\",\"handleClick\"],[0,\"keydown\",\"handleKeyDown\"]],{\"open\":[\"watchOpenHandler\"]}]]],[\"ic-side-navigation\",[[1,\"ic-side-navigation\",{\"appTitle\":[1,\"app-title\"],\"collapsedIconLabels\":[4,\"collapsed-icon-labels\"],\"disableAutoParentStyling\":[4,\"disable-auto-parent-styling\"],\"disableTopBarBehaviour\":[4,\"disable-top-bar-behaviour\"],\"expanded\":[4],\"href\":[1],\"inline\":[4],\"shortAppTitle\":[1,\"short-app-title\"],\"static\":[4],\"status\":[1],\"version\":[1],\"deviceSize\":[32],\"deviceSizeAppTitle\":[32],\"foregroundColor\":[32],\"hasSecondaryNavigation\":[32],\"menuExpanded\":[32],\"menuOpen\":[32]},[[4,\"themeChange\",\"themeChangeHandler\"]],{\"expanded\":[\"watchExpandedHandler\"]}]]],[\"ic-tab-group\",[[17,\"ic-tab-group\",{\"appearance\":[1],\"contextId\":[513,\"context-id\"],\"inline\":[516],\"label\":[1]}]]],[\"ic-accordion-group\",[[1,\"ic-accordion-group\",{\"accessibleButtonLabel\":[1,\"accessible-button-label\"],\"appearance\":[1],\"expanded\":[1028],\"groupTitle\":[1,\"group-title\"],\"singleExpansion\":[4,\"single-expansion\"],\"size\":[1],\"accordions\":[32],\"areAllAccordionsOpen\":[32],\"setFocus\":[64]},[[0,\"accordionClicked\",\"handleAccordionClicked\"]],{\"appearance\":[\"watchAppearanceHandler\"],\"expanded\":[\"watchExpandedHandler\"]}]]],[\"ic-navigation-button\",[[17,\"ic-navigation-button\",{\"download\":[8],\"href\":[1],\"hreflang\":[1],\"label\":[1],\"referrerpolicy\":[1],\"rel\":[1],\"target\":[1],\"initialAppearance\":[32],\"mode\":[32],\"setFocus\":[64]},[[4,\"icNavigationMenuOpened\",\"navBarMenuOpenHandler\"],[4,\"icNavigationMenuClosed\",\"navBarMenuCloseHandler\"],[4,\"themeChange\",\"themeChangeHandler\"]]]]],[\"ic-toast\",[[1,\"ic-toast\",{\"autoDismissTimeout\":[1026,\"auto-dismiss-timeout\"],\"dismissButtonAriaLabel\":[1,\"dismiss-button-aria-label\"],\"dismissMode\":[1025,\"dismiss-mode\"],\"heading\":[1],\"message\":[1],\"neutralIconAriaLabel\":[1,\"neutral-icon-aria-label\"],\"variant\":[1025],\"timerProgress\":[32],\"visible\":[32],\"setVisible\":[64]},[[2,\"icDismiss\",\"handleDismiss\"],[4,\"keydown\",\"handleKeyboard\"],[1,\"mouseenter\",\"handleTimer\"],[1,\"mouseleave\",\"handleTimer\"]],{\"dismissMode\":[\"dismissModeChangeHandler\"]}]]],[\"ic-toggle-button\",[[17,\"ic-toggle-button\",{\"accessibleLabel\":[1,\"accessible-label\"],\"appearance\":[1],\"disabled\":[4],\"fullWidth\":[4,\"full-width\"],\"iconPlacement\":[1,\"icon-placement\"],\"label\":[1],\"loading\":[4],\"size\":[1],\"toggleChecked\":[1540,\"toggle-checked\"],\"variant\":[513]},[[2,\"click\",\"handleHostClick\"]]]]],[\"ic-checkbox-group\",[[1,\"ic-checkbox-group\",{\"disabled\":[4],\"helperText\":[1,\"helper-text\"],\"hideLabel\":[4,\"hide-label\"],\"label\":[1],\"name\":[1],\"required\":[4],\"size\":[1],\"small\":[4],\"validationStatus\":[1,\"validation-status\"],\"validationText\":[1,\"validation-text\"]},[[0,\"icChange\",\"handleChange\"],[0,\"icCheck\",\"selectHandler\"]],{\"label\":[\"labelNameHandler\"],\"name\":[\"labelNameHandler\"]}]]],[\"ic-radio-group\",[[1,\"ic-radio-group\",{\"disabled\":[4],\"helperText\":[1,\"helper-text\"],\"hideLabel\":[4,\"hide-label\"],\"label\":[1],\"name\":[1],\"orientation\":[1],\"required\":[4],\"size\":[1],\"small\":[4],\"validationStatus\":[1,\"validation-status\"],\"validationText\":[1,\"validation-text\"],\"checkedValue\":[32],\"currentOrientation\":[32],\"initialOrientation\":[32],\"selectedChild\":[32]},[[0,\"icCheck\",\"selectHandler\"],[0,\"icSelectedChange\",\"changeHandler\"]],{\"disabled\":[\"watchDisabledHandler\"],\"orientation\":[\"orientationChangeHandler\"]}]]],[\"ic-back-to-top\",[[17,\"ic-back-to-top\",{\"target\":[1],\"variant\":[1],\"bannerOffset\":[32],\"footerVisible\":[32],\"targetElVisible\":[32]},null,{\"target\":[\"watchPropHandler\"]}]]],[\"ic-breadcrumb-group\",[[1,\"ic-breadcrumb-group\",{\"appearance\":[1],\"backBreadcrumbOnly\":[4,\"back-breadcrumb-only\"],\"collapsed\":[4],\"deviceSize\":[32],\"expandedBreadcrumbs\":[32]},null,{\"appearance\":[\"watchAppearanceHandler\"],\"backBreadcrumbOnly\":[\"watchBackBreadcrumbHandler\"]}]]],[\"ic-card\",[[1,\"ic-card\",{\"clickable\":[1028],\"disabled\":[4],\"expandable\":[4],\"fullWidth\":[4,\"full-width\"],\"heading\":[1],\"href\":[1],\"hreflang\":[1],\"message\":[1],\"referrerpolicy\":[1],\"rel\":[1],\"subheading\":[1],\"target\":[1],\"appearance\":[32],\"areaExpanded\":[32],\"isFocussed\":[32],\"parentEl\":[32],\"parentIsAnchorTag\":[32],\"setFocus\":[64]},[[2,\"click\",\"handleHostClick\"],[4,\"themeChange\",\"themeChangeHandler\"]]]]],[\"ic-chip\",[[17,\"ic-chip\",{\"appearance\":[1],\"customColor\":[1,\"custom-color\"],\"disabled\":[4],\"dismissible\":[4],\"label\":[1],\"size\":[1],\"transparentBackground\":[4,\"transparent-background\"],\"variant\":[1],\"hovered\":[32],\"visible\":[32],\"setFocus\":[64]},[[2,\"icDismiss\",\"handleClick\"]],{\"customColor\":[\"customColorHandler\"]}]]],[\"ic-footer\",[[1,\"ic-footer\",{\"aligned\":[1],\"breakpoint\":[1],\"caption\":[1],\"copyright\":[4],\"description\":[1],\"groupLinks\":[4,\"group-links\"],\"deviceSize\":[32],\"foregroundColor\":[32]},[[4,\"themeChange\",\"themeChangeHandler\"]]]]],[\"ic-footer-link-group\",[[17,\"ic-footer-link-group\",{\"groupTitle\":[1,\"group-title\"],\"expanded\":[32],\"deviceSize\":[32],\"dropdownIconStyle\":[32],\"small\":[32]},[[4,\"footerResized\",\"footerResizeHandler\"],[4,\"themeChange\",\"footerThemeChangeHandler\"]]]]],[\"ic-hero\",[[1,\"ic-hero\",{\"aligned\":[1],\"backgroundImage\":[1,\"background-image\"],\"contentAligned\":[1,\"content-aligned\"],\"disableBackgroundParallax\":[4,\"disable-background-parallax\"],\"heading\":[1],\"secondaryHeading\":[1,\"secondary-heading\"],\"secondarySubheading\":[1,\"secondary-subheading\"],\"size\":[1],\"small\":[4],\"subheading\":[1],\"foregroundColor\":[32],\"rightContent\":[32],\"leftContentFullWidth\":[32],\"scrollFactor\":[32]},[[4,\"themeChange\",\"themeChangeHandler\"],[5,\"scroll\",\"doScroll\"]]]]],[\"ic-navigation-item\",[[17,\"ic-navigation-item\",{\"collapsedIconLabel\":[4,\"collapsed-icon-label\"],\"displayNavigationTooltip\":[4,\"display-navigation-tooltip\"],\"download\":[8],\"expandable\":[4],\"href\":[1],\"hreflang\":[1],\"label\":[1],\"rel\":[1],\"referrerpolicy\":[1],\"selected\":[4],\"target\":[1],\"deviceSize\":[32],\"focusStyle\":[32],\"inTopNavSideMenu\":[32],\"isSideNavMobile\":[32],\"isTopNavChild\":[32],\"navigationType\":[32],\"parentEl\":[32],\"sideNavExpanded\":[32],\"setFocus\":[64]},[[4,\"themeChange\",\"themeChangeHandler\"]]]]],[\"ic-step\",[[1,\"ic-step\",{\"compactStepStyling\":[1,\"compact-step-styling\"],\"current\":[1028],\"lastStep\":[4,\"last-step\"],\"lastStepNum\":[2,\"last-step-num\"],\"nextStepTitle\":[1,\"next-step-title\"],\"progress\":[2],\"stepNum\":[2,\"step-num\"],\"stepStatus\":[1,\"step-status\"],\"stepSubtitle\":[1,\"step-subtitle\"],\"stepTitle\":[1,\"step-title\"],\"variant\":[1],\"stepType\":[1,\"step-type\"]},null,{\"stepType\":[\"stepTypeChangeHandler\"]}]]],[\"ic-switch\",[[17,\"ic-switch\",{\"checked\":[4],\"disabled\":[4],\"helperText\":[1,\"helper-text\"],\"hideLabel\":[4,\"hide-label\"],\"label\":[1],\"name\":[1],\"showState\":[4,\"show-state\"],\"size\":[1],\"small\":[4],\"value\":[1],\"checkedState\":[32],\"initiallyChecked\":[32],\"setFocus\":[64]},null,{\"checked\":[\"checkedChangeHandler\"]}]]],[\"ic-accordion\",[[1,\"ic-accordion\",{\"appearance\":[1],\"disabled\":[4],\"expanded\":[1028],\"heading\":[1],\"message\":[1],\"size\":[1],\"setFocus\":[64]},null,{\"expanded\":[\"handleExpandedWatch\"]}]]],[\"ic-badge\",[[17,\"ic-badge\",{\"accessibleLabel\":[1,\"accessible-label\"],\"customColor\":[1,\"custom-color\"],\"maxNumber\":[2,\"max-number\"],\"position\":[1],\"size\":[1],\"textLabel\":[1,\"text-label\"],\"type\":[1],\"variant\":[1],\"visible\":[1028],\"showBadge\":[64],\"hideBadge\":[64]},null,{\"accessibleLabel\":[\"accessibleLabelHandler\"],\"customColor\":[\"customColorHandler\"],\"variant\":[\"variantHandler\"],\"visible\":[\"visibleHandler\"]}]]],[\"ic-checkbox\",[[17,\"ic-checkbox\",{\"additionalFieldDisplay\":[513,\"additional-field-display\"],\"checked\":[1540],\"disabled\":[4],\"dynamicText\":[1,\"dynamic-text\"],\"form\":[1],\"formaction\":[1],\"formenctype\":[1],\"formmethod\":[1],\"formnovalidate\":[4],\"formtarget\":[1],\"groupLabel\":[1025,\"group-label\"],\"indeterminate\":[4],\"label\":[1],\"name\":[1025],\"nativeIndeterminateBehaviour\":[4,\"native-indeterminate-behaviour\"],\"size\":[1],\"small\":[4],\"value\":[1],\"hideLabel\":[4,\"hide-label\"],\"initiallyChecked\":[32],\"displayIndeterminate\":[32],\"setFocus\":[64]},null,{\"indeterminate\":[\"watchIndeterminateHandler\"]}]]],[\"ic-classification-banner\",[[1,\"ic-classification-banner\",{\"additionalSelectors\":[1,\"additional-selectors\"],\"classification\":[1],\"country\":[1],\"inline\":[4],\"upTo\":[4,\"up-to\"]}]]],[\"ic-data-entity\",[[1,\"ic-data-entity\",{\"heading\":[1],\"size\":[1],\"small\":[4]}]]],[\"ic-data-row\",[[1,\"ic-data-row\",{\"label\":[1],\"size\":[1],\"small\":[4],\"value\":[1],\"deviceSize\":[32],\"entitySize\":[32]}]]],[\"ic-empty-state\",[[1,\"ic-empty-state\",{\"aligned\":[1],\"body\":[1],\"bodyMaxLines\":[2,\"body-max-lines\"],\"heading\":[1],\"imageSize\":[1,\"image-size\"],\"subheading\":[1]}]]],[\"ic-menu-group\",[[1,\"ic-menu-group\",{\"label\":[1]}]]],[\"ic-navigation-group\",[[17,\"ic-navigation-group\",{\"expandable\":[4],\"label\":[1],\"deviceSize\":[32],\"dropdownOpen\":[32],\"expanded\":[32],\"focusStyle\":[32],\"inTopNavSideMenu\":[32],\"navigationType\":[32],\"parentEl\":[32],\"setFocus\":[64]},[[0,\"childBlur\",\"childBlurHandler\"],[0,\"navItemClicked\",\"navItemClickHandler\"],[4,\"themeChange\",\"themeChangeHandler\"]]]]],[\"ic-radio-option\",[[17,\"ic-radio-option\",{\"additionalFieldDisplay\":[513,\"additional-field-display\"],\"disabled\":[4],\"dynamicText\":[1,\"dynamic-text\"],\"form\":[1],\"formaction\":[1],\"formenctype\":[1],\"formmethod\":[1],\"formnovalidate\":[4],\"formtarget\":[1],\"groupLabel\":[1,\"group-label\"],\"label\":[1],\"name\":[1],\"value\":[1025],\"selected\":[1540],\"initiallySelected\":[32],\"setFocus\":[64],\"setTabIndex\":[64]},[[0,\"icChange\",\"textfieldValueHandler\"]],{\"selected\":[\"watchSelectedHandler\"]}]]],[\"ic-status-tag\",[[1,\"ic-status-tag\",{\"announced\":[4],\"appearance\":[1],\"label\":[1],\"size\":[1],\"small\":[4],\"status\":[1],\"variant\":[1]}]]],[\"ic-tab\",[[1,\"ic-tab\",{\"appearance\":[1],\"contextId\":[513,\"context-id\"],\"disabled\":[4],\"selected\":[516],\"tabId\":[513,\"tab-id\"],\"tabPosition\":[2,\"tab-position\"],\"setFocus\":[64]},null,{\"disabled\":[\"disabledWatchHandler\"]}]]],[\"ic-footer-link\",[[17,\"ic-footer-link\",{\"download\":[8],\"href\":[1],\"hreflang\":[1],\"referrerpolicy\":[1],\"rel\":[1],\"target\":[1],\"deviceSize\":[32],\"footerConfig\":[32],\"foregroundColor\":[32]},[[4,\"footerResized\",\"footerResizeHandler\"],[4,\"themeChange\",\"footerThemeChangeHandler\"]]]]],[\"ic-skeleton\",[[1,\"ic-skeleton\",{\"appearance\":[1],\"light\":[4],\"variant\":[1]}]]],[\"ic-stepper\",[[1,\"ic-stepper\",{\"aligned\":[1],\"appearance\":[1],\"connectorWidth\":[2,\"connector-width\"],\"hideStepInfo\":[4,\"hide-step-info\"],\"variant\":[1025],\"alignedFullWidth\":[32],\"autoSetStepTitles\":[32],\"lastStepWidth\":[32],\"noOfResizes\":[32],\"stepperWidth\":[32],\"stepTypes\":[32],\"variantOverride\":[32]},null,{\"hideStepInfo\":[\"handlePropChange\"],\"variant\":[\"handlePropChange\"]}]]],[\"ic-tab-context\",[[4,\"ic-tab-context\",{\"activationType\":[1,\"activation-type\"],\"appearance\":[1],\"contextId\":[513,\"context-id\"],\"selectedTabIndex\":[2,\"selected-tab-index\"],\"selectedTab\":[32],\"tabRemovedHandler\":[64]},[[0,\"tabClick\",\"tabClickHandler\"],[0,\"tabCreated\",\"tabCreatedHandler\"],[0,\"tabPanelCreated\",\"tabCreatedHandler\"],[0,\"tabEnabled\",\"tabEnabledHandler\"]],{\"appearance\":[\"watchAppearanceHandler\"],\"selectedTabIndex\":[\"updateSelectedTab\"]}]]],[\"ic-tab-panel\",[[1,\"ic-tab-panel\",{\"appearance\":[1],\"contextId\":[513,\"context-id\"]}]]],[\"ic-theme\",[[1,\"ic-theme\",{\"color\":[1]},null,{\"color\":[\"watchColorPropHandler\"]}]]],[\"ic-toast-region\",[[4,\"ic-toast-region\",{\"openToast\":[1040],\"setVisible\":[64]},[[2,\"icDismiss\",\"handleDismissedToast\"]],{\"openToast\":[\"watchOpenToastHandler\"]}]]],[\"ic-toggle-button-group\",[[1,\"ic-toggle-button-group\",{\"accessibleLabel\":[1,\"accessible-label\"],\"appearance\":[1],\"disabled\":[4],\"fullWidth\":[4,\"full-width\"],\"iconPlacement\":[1,\"icon-placement\"],\"loading\":[4],\"selectMethod\":[1025,\"select-method\"],\"selectType\":[1,\"select-type\"],\"size\":[1],\"variant\":[513],\"lastKeyPressed\":[32]},[[0,\"icToggleChecked\",\"selectHandler\"]]]]],[\"ic-text-field\",[[1,\"ic-text-field\",{\"ariaActiveDescendant\":[1,\"aria-active-descendant\"],\"ariaAutocomplete\":[1,\"aria-autocomplete\"],\"ariaExpanded\":[1,\"aria-expanded\"],\"ariaOwns\":[1,\"aria-owns\"],\"autocapitalize\":[1],\"autocomplete\":[1],\"autocorrect\":[1],\"autoFocus\":[4,\"auto-focus\"],\"disabled\":[4],\"fullWidth\":[4,\"full-width\"],\"helperText\":[1,\"helper-text\"],\"hideLabel\":[4,\"hide-label\"],\"hiddenInput\":[4,\"hidden-input\"],\"inputId\":[1,\"input-id\"],\"inputmode\":[1],\"label\":[1],\"max\":[8],\"maxCharacters\":[2,\"max-characters\"],\"maxLength\":[2,\"max-length\"],\"maxLengthMessage\":[1,\"max-length-message\"],\"min\":[8],\"minCharacters\":[2,\"min-characters\"],\"name\":[1],\"placeholder\":[1],\"readonly\":[516],\"required\":[4],\"resize\":[4],\"role\":[1],\"rows\":[2],\"size\":[1],\"small\":[4],\"spellcheck\":[4],\"truncateValue\":[4,\"truncate-value\"],\"type\":[1],\"validationInline\":[4,\"validation-inline\"],\"validationInlineInternal\":[4,\"validation-inline-internal\"],\"validationStatus\":[1,\"validation-status\"],\"validationText\":[1,\"validation-text\"],\"debounce\":[2],\"value\":[1537],\"numChars\":[32],\"maxCharactersReached\":[32],\"maxCharactersError\":[32],\"minCharactersUnattained\":[32],\"maxLengthExceeded\":[32],\"maxValueExceeded\":[32],\"minValueUnattained\":[32],\"initialValue\":[32],\"setFocus\":[64]},[[0,\"keydown\",\"handleKeyDown\"]],{\"debounce\":[\"debounceChanged\"],\"value\":[\"watchValueHandler\"]}]]],[\"ic-alert\",[[1,\"ic-alert\",{\"announced\":[4],\"dismissible\":[4],\"heading\":[1],\"message\":[1],\"titleAbove\":[4,\"title-above\"],\"variant\":[1],\"showDefaultIcon\":[4,\"show-default-icon\"],\"alertTitleWrap\":[32],\"visible\":[32]},[[2,\"icDismiss\",\"handleClick\"]]]]],[\"ic-menu-item\",[[17,\"ic-menu-item\",{\"description\":[1],\"disabled\":[4],\"href\":[1],\"hreflang\":[1],\"keyboardShortcut\":[1,\"keyboard-shortcut\"],\"label\":[1],\"referrerpolicy\":[1],\"rel\":[1],\"submenuTriggerFor\":[1,\"submenu-trigger-for\"],\"target\":[1],\"variant\":[1537],\"toggleChecked\":[32]},[[2,\"click\",\"handleHostClick\"]]]]],[\"ic-navigation-menu\",[[1,\"ic-navigation-menu\",{\"status\":[1],\"version\":[1]},[[0,\"navItemClicked\",\"navItemClickHandler\"],[4,\"keydown\",\"handleKeyDown\"]]]]],[\"ic-link\",[[17,\"ic-link\",{\"appearance\":[1025],\"download\":[8],\"href\":[1],\"hreflang\":[1],\"referrerpolicy\":[1],\"rel\":[1],\"showIcon\":[4,\"show-icon\"],\"target\":[1],\"setFocus\":[64]},[[4,\"themeChange\",\"themeChangeHandler\"]]]]],[\"ic-breadcrumb\",[[17,\"ic-breadcrumb\",{\"appearance\":[1],\"current\":[4],\"href\":[1],\"pageTitle\":[1,\"page-title\"],\"showBackIcon\":[516,\"show-back-icon\"],\"setFocus\":[64]}]]],[\"ic-pagination-item\",[[1,\"ic-pagination-item\",{\"appearance\":[1],\"disabled\":[4],\"label\":[1],\"page\":[2],\"selected\":[4],\"type\":[1],\"capitalizedLabel\":[32]},null,{\"label\":[\"watchLabelHandler\"]}]]],[\"ic-divider\",[[2,\"ic-divider\",{\"foregroundColor\":[32]},[[4,\"themeChange\",\"themeChangeHandler\"]]]]],[\"ic-horizontal-scroll\",[[1,\"ic-horizontal-scroll\",{\"appearance\":[1],\"focusTrigger\":[1,\"focus-trigger\"],\"firstItemVisible\":[32],\"itemOverflow\":[32],\"lastItemVisible\":[32],\"scrollItemIntoView\":[64]}]]],[\"ic-section-container\",[[1,\"ic-section-container\",{\"aligned\":[1],\"fullHeight\":[4,\"full-height\"]}]]],[\"ic-input-component-container_3\",[[2,\"ic-menu\",{\"activationType\":[1,\"activation-type\"],\"anchorEl\":[16],\"autoFocusOnSelected\":[4,\"auto-focus-on-selected\"],\"fullWidth\":[4,\"full-width\"],\"inputEl\":[16],\"inputLabel\":[1,\"input-label\"],\"labelField\":[1,\"label-field\"],\"menuId\":[1,\"menu-id\"],\"open\":[516],\"parentEl\":[16],\"searchMode\":[1,\"search-mode\"],\"selectOnEnter\":[4,\"select-on-enter\"],\"size\":[1],\"small\":[4],\"options\":[16],\"value\":[1025],\"valueField\":[1,\"value-field\"],\"focusFromSearchKeypress\":[32],\"initialOptionsListRender\":[32],\"keyboardNav\":[32],\"optionHighlighted\":[32],\"preventIncorrectTabOrder\":[32],\"handleClickOpen\":[64],\"handleKeyboardOpen\":[64],\"handleSetFirstOption\":[64],\"initPopperJs\":[64]},null,{\"open\":[\"watchOpenHandler\"],\"options\":[\"watchOptionsHandler\"],\"value\":[\"watchValueHandler\"]}],[4,\"ic-input-component-container\",{\"appearance\":[1],\"dark\":[4],\"disabled\":[4],\"fullWidth\":[4,\"full-width\"],\"multiLine\":[4,\"multi-line\"],\"readonly\":[4],\"size\":[1],\"small\":[4],\"validationInline\":[4,\"validation-inline\"],\"validationStatus\":[1,\"validation-status\"]}],[4,\"ic-input-container\",{\"disabled\":[4],\"readonly\":[4]}]]],[\"ic-input-label_2\",[[4,\"ic-input-validation\",{\"ariaLiveMode\":[1,\"aria-live-mode\"],\"for\":[1],\"fullWidth\":[4,\"full-width\"],\"message\":[1],\"status\":[1]}],[0,\"ic-input-label\",{\"appearance\":[1],\"dark\":[4],\"disabled\":[4],\"error\":[4],\"for\":[1],\"helperText\":[1,\"helper-text\"],\"label\":[1],\"readonly\":[4],\"required\":[4]}]]],[\"ic-button_3\",[[17,\"ic-button\",{\"accept\":[1],\"appearance\":[1025],\"ariaControlsId\":[8,\"aria-controls-id\"],\"ariaOwnsId\":[8,\"aria-owns-id\"],\"disabled\":[4],\"disableTooltip\":[4,\"disable-tooltip\"],\"download\":[8],\"dropdown\":[4],\"dropdownExpanded\":[1540,\"dropdown-expanded\"],\"fileUpload\":[4,\"file-upload\"],\"fileInputName\":[1,\"file-input-name\"],\"form\":[1],\"formaction\":[1],\"formenctype\":[1],\"formmethod\":[1],\"formnovalidate\":[4],\"formtarget\":[1],\"fullWidth\":[4,\"full-width\"],\"href\":[1],\"hreflang\":[1],\"loading\":[4],\"multiple\":[4],\"referrerpolicy\":[1],\"rel\":[1],\"selectedFiles\":[16],\"size\":[1],\"target\":[1],\"tooltipPlacement\":[1,\"tooltip-placement\"],\"transparentBackground\":[4,\"transparent-background\"],\"type\":[1],\"variant\":[1],\"ariaLabel\":[32],\"describedByContent\":[32],\"title\":[32],\"setFocus\":[64]},[[2,\"click\",\"handleHostClick\"],[4,\"themeChange\",\"themeChangeHandler\"]],{\"disabled\":[\"watchDisabledHandler\"]}],[1,\"ic-loading-indicator\",{\"appearance\":[1],\"description\":[1],\"fullWidth\":[516,\"full-width\"],\"innerLabel\":[2,\"inner-label\"],\"labelDuration\":[2,\"label-duration\"],\"max\":[2],\"min\":[2],\"size\":[513],\"type\":[513],\"label\":[1],\"progress\":[2],\"circularDiameter\":[32],\"circularLineWidth\":[32],\"indeterminate\":[32],\"indicatorLabel\":[32],\"showSecond\":[32]},null,{\"label\":[\"watchPropHandler\"],\"progress\":[\"watchProgressHandler\"]}],[1,\"ic-tooltip\",{\"disableClick\":[4,\"disable-click\"],\"disableHover\":[4,\"disable-hover\"],\"maxLines\":[2,\"max-lines\"],\"placement\":[1025],\"silent\":[4],\"target\":[513],\"label\":[1],\"popperProps\":[32],\"setExternalPopperProps\":[64],\"displayTooltip\":[64],\"isTooltipVisible\":[64]}]]]]"), options);
|
18
18
|
});
|
19
19
|
|
20
20
|
//# sourceMappingURL=core.js.map
|
@@ -3,7 +3,7 @@ import { c as closeIcon } from './close-icon-539ec8d1.js';
|
|
3
3
|
import { j as checkSlotInChildMutations, i as isSlotUsed, V as VARIANT_ICONS } from './helpers-3905ccc4.js';
|
4
4
|
import { I as IcThemeForegroundEnum } from './types-6f6b41a5.js';
|
5
5
|
|
6
|
-
const icAlertCss = "/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type=\"button\"],[type=\"reset\"],[type=\"submit\"]{-webkit-appearance:button}button::-moz-focus-inner,[type=\"button\"]::-moz-focus-inner,[type=\"reset\"]::-moz-focus-inner,[type=\"submit\"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=\"button\"]:-moz-focusring,[type=\"reset\"]:-moz-focusring,[type=\"submit\"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type=\"checkbox\"],[type=\"radio\"]{box-sizing:border-box;padding:0;}[type=\"number\"]::-webkit-inner-spin-button,[type=\"number\"]::-webkit-outer-spin-button{height:auto}[type=\"search\"]{-webkit-appearance:textfield;outline-offset:-2px;}[type=\"search\"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{display:block}.container{min-height:3.5rem;border-radius:var(--ic-border-radius);position:relative;display:flex;align-items:center}.container-neutral{background-color:var(--ic-status-unknown-light)}.container-info{background-color:var(--ic-status-info-light)}.container-warning{background-color:var(--ic-status-warning-light)}.container-error{background-color:var(--ic-status-error-light)}.container-success{background-color:var(--ic-status-success-light)}.alert-icon-container{height:100%;display:flex;align-items:center}.divider{height:100%;width:var(--ic-space-xs);border-radius:var(--ic-space-xxxs) 0 0 var(--ic-space-xxxs);position:absolute}.divider-neutral{background-color:var(--ic-status-unknown)}.divider-info{background-color:var(--ic-status-info)}.divider-warning{background-color:var(--ic-status-warning)}.divider-error{background-color:var(--ic-status-error)}.divider-success{background-color:var(--ic-status-success)}.alert-icon{height:var(--ic-space-lg);width:1.375rem;margin-left:1.125rem}.icon-placeholder{margin-left:var(--ic-space-xs)}.alert-icon>svg{height:var(--ic-space-lg);width:var(--ic-space-lg);display:inline-block}.icon-neutral>svg,::slotted(svg){height:var(--ic-space-lg);width:var(--ic-space-lg);display:inline-block;fill:var(--ic-status-unknown)}:host([variant=\"info\"]) .alert-icon svg{fill:var(--ic-status-info)}:host([variant=\"warning\"]) .alert-icon svg{fill:var(--ic-status-warning)}:host([variant=\"error\"]) .alert-icon svg{fill:var(--ic-status-error)}:host([variant=\"success\"]) .alert-icon svg{fill:var(--ic-status-success)}.alert-content{display:flex;align-items:center;margin-left:0.625rem;width:100%}.alert-message{display:flex;align-items:center;padding:var(--ic-space-xs) var(--ic-space-xs) var(--ic-space-xs) 0;flex:1}.alert-message-title-above{display:inline}.alert-title{margin-right:var(--ic-space-xs)}.alert-title-above{white-space:normal}.alert-action-container{margin-right:var(--ic-space-xs);display:flex;align-items:center}.dismiss-icon{margin-right:var(--ic-space-xxxs);margin-left:-0.375rem;padding:0.375rem;border:none;border-radius:50%;background-color:inherit;display:flex;align-items:center;justify-content:center}.dismiss-icon:hover{cursor:pointer}@media (max-width: 628px){.alert-content{display:flex;flex-direction:column;align-items:flex-start}.alert-message{display:flex;flex-direction:column;align-items:flex-start}.alert-title{white-space:normal}.alert-action-container{margin-bottom:var(--ic-space-xs)}}@media (forced-colors: active){.container{border:var(--ic-hc-border)}}";
|
6
|
+
const icAlertCss = "/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type=\"button\"],[type=\"reset\"],[type=\"submit\"]{-webkit-appearance:button}button::-moz-focus-inner,[type=\"button\"]::-moz-focus-inner,[type=\"reset\"]::-moz-focus-inner,[type=\"submit\"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=\"button\"]:-moz-focusring,[type=\"reset\"]:-moz-focusring,[type=\"submit\"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type=\"checkbox\"],[type=\"radio\"]{box-sizing:border-box;padding:0;}[type=\"number\"]::-webkit-inner-spin-button,[type=\"number\"]::-webkit-outer-spin-button{height:auto}[type=\"search\"]{-webkit-appearance:textfield;outline-offset:-2px;}[type=\"search\"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{display:block}.container{min-height:3.5rem;border-radius:var(--ic-border-radius);position:relative;display:flex;align-items:center}.container-neutral{background-color:var(--ic-status-unknown-light)}.container-info{background-color:var(--ic-status-info-light)}.container-warning{background-color:var(--ic-status-warning-light)}.container-error{background-color:var(--ic-status-error-light)}.container-success{background-color:var(--ic-status-success-light)}.alert-icon-container{height:100%;display:flex;align-items:center}.divider{height:100%;width:var(--ic-space-xs);border-radius:var(--ic-space-xxxs) 0 0 var(--ic-space-xxxs);position:absolute}.divider-neutral{background-color:var(--ic-status-unknown)}.divider-info{background-color:var(--ic-status-info)}.divider-warning{background-color:var(--ic-status-warning)}.divider-error{background-color:var(--ic-status-error)}.divider-success{background-color:var(--ic-status-success)}.alert-icon{height:var(--ic-space-lg);width:1.375rem;margin-left:1.125rem}.icon-placeholder{margin-left:var(--ic-space-xs)}.alert-icon>svg{height:var(--ic-space-lg);width:var(--ic-space-lg);display:inline-block}:host([showdefaulticon=\"false\"]) .icon-neutral{display:none}.icon-neutral>svg,::slotted(svg){height:var(--ic-space-lg);width:var(--ic-space-lg);display:inline-block;fill:var(--ic-status-unknown)}:host([variant=\"info\"]) .alert-icon svg{fill:var(--ic-status-info)}:host([variant=\"warning\"]) .alert-icon svg{fill:var(--ic-status-warning)}:host([variant=\"error\"]) .alert-icon svg{fill:var(--ic-status-error)}:host([variant=\"success\"]) .alert-icon svg{fill:var(--ic-status-success)}.alert-content{display:flex;align-items:center;margin-left:0.625rem;width:100%}.alert-message{display:flex;align-items:center;padding:var(--ic-space-xs) var(--ic-space-xs) var(--ic-space-xs) 0;flex:1}.alert-message-title-above{display:inline}.alert-title{margin-right:var(--ic-space-xs)}.alert-title-above{white-space:normal}.alert-action-container{margin-right:var(--ic-space-xs);display:flex;align-items:center}.dismiss-icon{margin-right:var(--ic-space-xxxs);margin-left:-0.375rem;padding:0.375rem;border:none;border-radius:50%;background-color:inherit;display:flex;align-items:center;justify-content:center}.dismiss-icon:hover{cursor:pointer}@media (max-width: 628px){.alert-content{display:flex;flex-direction:column;align-items:flex-start}.alert-message{display:flex;flex-direction:column;align-items:flex-start}.alert-title{white-space:normal}.alert-action-container{margin-bottom:var(--ic-space-xs)}}@media (forced-colors: active){.container{border:var(--ic-hc-border)}}";
|
7
7
|
|
8
8
|
const Alert = class {
|
9
9
|
constructor(hostRef) {
|
@@ -1 +1 @@
|
|
1
|
-
{"file":"ic-alert.entry.js","mappings":"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","names":[],"sources":["src/components/ic-alert/ic-alert.css?tag=ic-alert&encapsulation=shadow","src/components/ic-alert/ic-alert.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host {\n display: block;\n}\n\n.container {\n min-height: 3.5rem;\n border-radius: var(--ic-border-radius);\n position: relative;\n display: flex;\n align-items: center;\n}\n\n.container-neutral {\n background-color: var(--ic-status-unknown-light);\n}\n\n.container-info {\n background-color: var(--ic-status-info-light);\n}\n\n.container-warning {\n background-color: var(--ic-status-warning-light);\n}\n\n.container-error {\n background-color: var(--ic-status-error-light);\n}\n\n.container-success {\n background-color: var(--ic-status-success-light);\n}\n\n.alert-icon-container {\n height: 100%;\n display: flex;\n align-items: center;\n}\n\n.divider {\n height: 100%;\n width: var(--ic-space-xs);\n border-radius: var(--ic-space-xxxs) 0 0 var(--ic-space-xxxs);\n position: absolute;\n}\n\n.divider-neutral {\n background-color: var(--ic-status-unknown);\n}\n\n.divider-info {\n background-color: var(--ic-status-info);\n}\n\n.divider-warning {\n background-color: var(--ic-status-warning);\n}\n\n.divider-error {\n background-color: var(--ic-status-error);\n}\n\n.divider-success {\n background-color: var(--ic-status-success);\n}\n\n.alert-icon {\n height: var(--ic-space-lg);\n width: 1.375rem;\n margin-left: 1.125rem;\n}\n\n.icon-placeholder {\n margin-left: var(--ic-space-xs);\n}\n\n.alert-icon > svg {\n height: var(--ic-space-lg);\n width: var(--ic-space-lg);\n display: inline-block;\n}\n\n.icon-neutral > svg,\n::slotted(svg) {\n height: var(--ic-space-lg);\n width: var(--ic-space-lg);\n display: inline-block;\n fill: var(--ic-status-unknown);\n}\n\n:host([variant=\"info\"]) .alert-icon svg {\n fill: var(--ic-status-info);\n}\n\n:host([variant=\"warning\"]) .alert-icon svg {\n fill: var(--ic-status-warning);\n}\n\n:host([variant=\"error\"]) .alert-icon svg {\n fill: var(--ic-status-error);\n}\n\n:host([variant=\"success\"]) .alert-icon svg {\n fill: var(--ic-status-success);\n}\n\n.alert-content {\n display: flex;\n align-items: center;\n margin-left: 0.625rem;\n width: 100%;\n}\n\n.alert-message {\n display: flex;\n align-items: center;\n padding: var(--ic-space-xs) var(--ic-space-xs) var(--ic-space-xs) 0;\n flex: 1;\n}\n\n.alert-message-title-above {\n display: inline;\n}\n\n.alert-title {\n margin-right: var(--ic-space-xs);\n}\n\n.alert-title-above {\n white-space: normal;\n}\n\n.alert-action-container {\n margin-right: var(--ic-space-xs);\n display: flex;\n align-items: center;\n}\n\n.dismiss-icon {\n margin-right: var(--ic-space-xxxs);\n margin-left: -0.375rem;\n padding: 0.375rem;\n border: none;\n border-radius: 50%;\n background-color: inherit;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.dismiss-icon:hover {\n cursor: pointer;\n}\n\n@media (max-width: 628px) {\n .alert-content {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n }\n\n .alert-message {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n }\n\n .alert-title {\n white-space: normal;\n }\n\n .alert-action-container {\n margin-bottom: var(--ic-space-xs);\n }\n}\n\n@media (forced-colors: active) {\n .container {\n border: var(--ic-hc-border);\n }\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n State,\n Listen,\n Prop,\n h,\n forceUpdate,\n} from \"@stencil/core\";\nimport closeIcon from \"../../assets/close-icon.svg\";\nimport { isSlotUsed, checkSlotInChildMutations } from \"../../utils/helpers\";\nimport { IcThemeForegroundEnum, IcStatusVariants } from \"../../utils/types\";\nimport { VARIANT_ICONS } from \"../../utils/constants\";\n\n/**\n * @slot message - Content is placed to the right of the title.\n * @slot action - Content is placed to the right of the message.\n * @slot neutral-icon - A custom neutral icon is placed to the left of the title. This will override the default icon if used.\n */\n@Component({\n tag: \"ic-alert\",\n styleUrl: \"ic-alert.css\",\n shadow: true,\n})\nexport class Alert {\n private hostMutationObserver: MutationObserver = null;\n\n @Element() el: HTMLIcAlertElement;\n\n @State() alertTitleWrap: boolean = false;\n @State() visible: boolean = true;\n\n /**\n * If `true`, the alert will have the 'alert' ARIA role and will be announced to screen readers.\n */\n @Prop() announced?: boolean = true;\n\n /**\n * If `true`, the alert will have a close icon at the end to dismiss it.\n */\n @Prop() dismissible?: boolean = false;\n\n /**\n * The optional title to display at the start of the alert.\n */\n @Prop() heading?: string = \"\";\n\n /**\n * The main body message of the alert.\n */\n @Prop() message?: string;\n\n /**\n * If `true`, the title and message will appear above and below instead of inline.\n */\n @Prop() titleAbove?: boolean = false;\n\n /**\n * The variant of the alert which will be rendered.\n */\n @Prop() variant?: IcStatusVariants = \"neutral\";\n\n /**\n * If `true`, the default icon for the neutral variant will be appear on the left of the alert.\n */\n @Prop() showDefaultIcon: boolean = true;\n\n /**\n * @deprecated This event should not be used anymore. Use icDismiss instead.\n */\n @Event() dismiss: EventEmitter<void>;\n\n /**\n * Is emitted when the user dismisses the alert.\n */\n @Event() icDismiss: EventEmitter<void>;\n\n disconnectedCallback(): void {\n this.hostMutationObserver?.disconnect();\n }\n\n componentDidLoad(): void {\n this.alertTitleShouldWrap();\n\n this.hostMutationObserver = new MutationObserver(this.hostMutationCallback);\n this.hostMutationObserver.observe(this.el, {\n childList: true,\n });\n }\n\n @Listen(\"icDismiss\", { capture: true })\n handleClick(): void {\n this.visible = !this.visible;\n }\n\n private dismissAction = (): void => {\n this.dismiss.emit();\n this.icDismiss.emit();\n };\n\n private alertTitleShouldWrap() {\n const titleHeight =\n this.el.shadowRoot.querySelector(\".alert-title\")?.clientHeight;\n if (titleHeight > 24) this.alertTitleWrap = true;\n }\n\n private hostMutationCallback = (mutationList: MutationRecord[]): void => {\n if (\n mutationList.some(({ type, addedNodes, removedNodes }) =>\n type === \"childList\"\n ? checkSlotInChildMutations(addedNodes, removedNodes, \"action\")\n : false\n )\n ) {\n forceUpdate(this);\n }\n };\n\n render() {\n const {\n variant,\n heading,\n message,\n titleAbove,\n dismissible,\n announced,\n visible,\n showDefaultIcon,\n } = this;\n\n return (\n visible && (\n <Host\n role={announced ? \"alert\" : null}\n class={{\n [IcThemeForegroundEnum.Dark]: true,\n }}\n >\n <div\n class={{\n [\"container\"]: true,\n [`container-${variant}`]: true,\n }}\n >\n <div class=\"alert-icon-container\">\n <div\n class={{\n [\"divider\"]: true,\n [`divider-${variant}`]: true,\n }}\n ></div>\n {variant === \"neutral\" ? (\n isSlotUsed(this.el, \"neutral-icon\") ? (\n <div class=\"alert-icon svg-container icon-neutral\">\n <slot name=\"neutral-icon\"></slot>\n </div>\n ) : showDefaultIcon ? (\n <span\n class={{\n [\"alert-icon\"]: true,\n [\"svg-container\"]: true,\n [`icon-${variant}`]: true,\n }}\n innerHTML={VARIANT_ICONS[variant].icon}\n ></span>\n ) : (\n <div class=\"icon-placeholder\"></div>\n )\n ) : (\n <span\n class={{\n [\"alert-icon\"]: true,\n [\"svg-container\"]: true,\n [`icon-${variant}`]: true,\n }}\n innerHTML={VARIANT_ICONS[variant].icon}\n ></span>\n )}\n </div>\n <div class=\"alert-content\">\n <div\n class={{\n [\"alert-message\"]: true,\n [\"alert-message-title-above\"]:\n titleAbove || this.alertTitleWrap,\n }}\n >\n {heading && (\n <ic-typography\n class={{\n [\"alert-title\"]: true,\n [\"alert-title-above\"]: titleAbove || this.alertTitleWrap,\n }}\n variant=\"subtitle-large\"\n >\n <p>{heading}</p>\n </ic-typography>\n )}\n <slot name=\"message\">\n <ic-typography variant=\"body\">{message}</ic-typography>\n </slot>\n </div>\n {isSlotUsed(this.el, \"action\") && (\n <div class=\"alert-action-container\">\n <slot name=\"action\" />\n </div>\n )}\n </div>\n <div class=\"dismiss-icon-container\">\n {dismissible && (\n <ic-button\n class={{\n [\"svg-container\"]: true,\n [\"dismiss-icon\"]: true,\n }}\n innerHTML={closeIcon}\n onClick={this.dismissAction}\n variant=\"icon\"\n appearance={IcThemeForegroundEnum.Dark}\n title=\"dismiss\"\n ></ic-button>\n )}\n </div>\n </div>\n </Host>\n )\n );\n }\n}\n"],"version":3}
|
1
|
+
{"file":"ic-alert.entry.js","mappings":"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","names":[],"sources":["src/components/ic-alert/ic-alert.css?tag=ic-alert&encapsulation=shadow","src/components/ic-alert/ic-alert.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host {\n display: block;\n}\n\n.container {\n min-height: 3.5rem;\n border-radius: var(--ic-border-radius);\n position: relative;\n display: flex;\n align-items: center;\n}\n\n.container-neutral {\n background-color: var(--ic-status-unknown-light);\n}\n\n.container-info {\n background-color: var(--ic-status-info-light);\n}\n\n.container-warning {\n background-color: var(--ic-status-warning-light);\n}\n\n.container-error {\n background-color: var(--ic-status-error-light);\n}\n\n.container-success {\n background-color: var(--ic-status-success-light);\n}\n\n.alert-icon-container {\n height: 100%;\n display: flex;\n align-items: center;\n}\n\n.divider {\n height: 100%;\n width: var(--ic-space-xs);\n border-radius: var(--ic-space-xxxs) 0 0 var(--ic-space-xxxs);\n position: absolute;\n}\n\n.divider-neutral {\n background-color: var(--ic-status-unknown);\n}\n\n.divider-info {\n background-color: var(--ic-status-info);\n}\n\n.divider-warning {\n background-color: var(--ic-status-warning);\n}\n\n.divider-error {\n background-color: var(--ic-status-error);\n}\n\n.divider-success {\n background-color: var(--ic-status-success);\n}\n\n.alert-icon {\n height: var(--ic-space-lg);\n width: 1.375rem;\n margin-left: 1.125rem;\n}\n\n.icon-placeholder {\n margin-left: var(--ic-space-xs);\n}\n\n.alert-icon > svg {\n height: var(--ic-space-lg);\n width: var(--ic-space-lg);\n display: inline-block;\n}\n\n/* required for Gatsby as prop does not seem to work when set to false */\n:host([showdefaulticon=\"false\"]) .icon-neutral {\n display: none;\n}\n\n.icon-neutral > svg,\n::slotted(svg) {\n height: var(--ic-space-lg);\n width: var(--ic-space-lg);\n display: inline-block;\n fill: var(--ic-status-unknown);\n}\n\n:host([variant=\"info\"]) .alert-icon svg {\n fill: var(--ic-status-info);\n}\n\n:host([variant=\"warning\"]) .alert-icon svg {\n fill: var(--ic-status-warning);\n}\n\n:host([variant=\"error\"]) .alert-icon svg {\n fill: var(--ic-status-error);\n}\n\n:host([variant=\"success\"]) .alert-icon svg {\n fill: var(--ic-status-success);\n}\n\n.alert-content {\n display: flex;\n align-items: center;\n margin-left: 0.625rem;\n width: 100%;\n}\n\n.alert-message {\n display: flex;\n align-items: center;\n padding: var(--ic-space-xs) var(--ic-space-xs) var(--ic-space-xs) 0;\n flex: 1;\n}\n\n.alert-message-title-above {\n display: inline;\n}\n\n.alert-title {\n margin-right: var(--ic-space-xs);\n}\n\n.alert-title-above {\n white-space: normal;\n}\n\n.alert-action-container {\n margin-right: var(--ic-space-xs);\n display: flex;\n align-items: center;\n}\n\n.dismiss-icon {\n margin-right: var(--ic-space-xxxs);\n margin-left: -0.375rem;\n padding: 0.375rem;\n border: none;\n border-radius: 50%;\n background-color: inherit;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.dismiss-icon:hover {\n cursor: pointer;\n}\n\n@media (max-width: 628px) {\n .alert-content {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n }\n\n .alert-message {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n }\n\n .alert-title {\n white-space: normal;\n }\n\n .alert-action-container {\n margin-bottom: var(--ic-space-xs);\n }\n}\n\n@media (forced-colors: active) {\n .container {\n border: var(--ic-hc-border);\n }\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n State,\n Listen,\n Prop,\n h,\n forceUpdate,\n} from \"@stencil/core\";\nimport closeIcon from \"../../assets/close-icon.svg\";\nimport { isSlotUsed, checkSlotInChildMutations } from \"../../utils/helpers\";\nimport { IcThemeForegroundEnum, IcStatusVariants } from \"../../utils/types\";\nimport { VARIANT_ICONS } from \"../../utils/constants\";\n\n/**\n * @slot message - Content is placed to the right of the title.\n * @slot action - Content is placed to the right of the message.\n * @slot neutral-icon - A custom neutral icon is placed to the left of the title. This will override the default icon if used.\n */\n@Component({\n tag: \"ic-alert\",\n styleUrl: \"ic-alert.css\",\n shadow: true,\n})\nexport class Alert {\n private hostMutationObserver: MutationObserver = null;\n\n @Element() el: HTMLIcAlertElement;\n\n @State() alertTitleWrap: boolean = false;\n @State() visible: boolean = true;\n\n /**\n * If `true`, the alert will have the 'alert' ARIA role and will be announced to screen readers.\n */\n @Prop() announced?: boolean = true;\n\n /**\n * If `true`, the alert will have a close icon at the end to dismiss it.\n */\n @Prop() dismissible?: boolean = false;\n\n /**\n * The optional title to display at the start of the alert.\n */\n @Prop() heading?: string = \"\";\n\n /**\n * The main body message of the alert.\n */\n @Prop() message?: string;\n\n /**\n * If `true`, the title and message will appear above and below instead of inline.\n */\n @Prop() titleAbove?: boolean = false;\n\n /**\n * The variant of the alert which will be rendered.\n */\n @Prop() variant?: IcStatusVariants = \"neutral\";\n\n /**\n * If `true`, the default icon for the neutral variant will be appear on the left of the alert.\n */\n @Prop() showDefaultIcon: boolean = true;\n\n /**\n * @deprecated This event should not be used anymore. Use icDismiss instead.\n */\n @Event() dismiss: EventEmitter<void>;\n\n /**\n * Is emitted when the user dismisses the alert.\n */\n @Event() icDismiss: EventEmitter<void>;\n\n disconnectedCallback(): void {\n this.hostMutationObserver?.disconnect();\n }\n\n componentDidLoad(): void {\n this.alertTitleShouldWrap();\n\n this.hostMutationObserver = new MutationObserver(this.hostMutationCallback);\n this.hostMutationObserver.observe(this.el, {\n childList: true,\n });\n }\n\n @Listen(\"icDismiss\", { capture: true })\n handleClick(): void {\n this.visible = !this.visible;\n }\n\n private dismissAction = (): void => {\n this.dismiss.emit();\n this.icDismiss.emit();\n };\n\n private alertTitleShouldWrap() {\n const titleHeight =\n this.el.shadowRoot.querySelector(\".alert-title\")?.clientHeight;\n if (titleHeight > 24) this.alertTitleWrap = true;\n }\n\n private hostMutationCallback = (mutationList: MutationRecord[]): void => {\n if (\n mutationList.some(({ type, addedNodes, removedNodes }) =>\n type === \"childList\"\n ? checkSlotInChildMutations(addedNodes, removedNodes, \"action\")\n : false\n )\n ) {\n forceUpdate(this);\n }\n };\n\n render() {\n const {\n variant,\n heading,\n message,\n titleAbove,\n dismissible,\n announced,\n visible,\n showDefaultIcon,\n } = this;\n\n return (\n visible && (\n <Host\n role={announced ? \"alert\" : null}\n class={{\n [IcThemeForegroundEnum.Dark]: true,\n }}\n >\n <div\n class={{\n [\"container\"]: true,\n [`container-${variant}`]: true,\n }}\n >\n <div class=\"alert-icon-container\">\n <div\n class={{\n [\"divider\"]: true,\n [`divider-${variant}`]: true,\n }}\n ></div>\n {variant === \"neutral\" ? (\n isSlotUsed(this.el, \"neutral-icon\") ? (\n <div class=\"alert-icon svg-container icon-neutral\">\n <slot name=\"neutral-icon\"></slot>\n </div>\n ) : showDefaultIcon ? (\n <span\n class={{\n [\"alert-icon\"]: true,\n [\"svg-container\"]: true,\n [`icon-${variant}`]: true,\n }}\n innerHTML={VARIANT_ICONS[variant].icon}\n ></span>\n ) : (\n <div class=\"icon-placeholder\"></div>\n )\n ) : (\n <span\n class={{\n [\"alert-icon\"]: true,\n [\"svg-container\"]: true,\n [`icon-${variant}`]: true,\n }}\n innerHTML={VARIANT_ICONS[variant].icon}\n ></span>\n )}\n </div>\n <div class=\"alert-content\">\n <div\n class={{\n [\"alert-message\"]: true,\n [\"alert-message-title-above\"]:\n titleAbove || this.alertTitleWrap,\n }}\n >\n {heading && (\n <ic-typography\n class={{\n [\"alert-title\"]: true,\n [\"alert-title-above\"]: titleAbove || this.alertTitleWrap,\n }}\n variant=\"subtitle-large\"\n >\n <p>{heading}</p>\n </ic-typography>\n )}\n <slot name=\"message\">\n <ic-typography variant=\"body\">{message}</ic-typography>\n </slot>\n </div>\n {isSlotUsed(this.el, \"action\") && (\n <div class=\"alert-action-container\">\n <slot name=\"action\" />\n </div>\n )}\n </div>\n <div class=\"dismiss-icon-container\">\n {dismissible && (\n <ic-button\n class={{\n [\"svg-container\"]: true,\n [\"dismiss-icon\"]: true,\n }}\n innerHTML={closeIcon}\n onClick={this.dismissAction}\n variant=\"icon\"\n appearance={IcThemeForegroundEnum.Dark}\n title=\"dismiss\"\n ></ic-button>\n )}\n </div>\n </div>\n </Host>\n )\n );\n }\n}\n"],"version":3}
|
@@ -37,18 +37,6 @@ const PopoverMenu = class {
|
|
37
37
|
tagName !== "IC-MENU-GROUP" &&
|
38
38
|
tagName !== "IC-POPOVER-MENU");
|
39
39
|
};
|
40
|
-
/**
|
41
|
-
* Close the popover menu, emit isPopoverClosed event
|
42
|
-
* @param setFocusToAnchor when true return focus to anchor element when menu is closed
|
43
|
-
*/
|
44
|
-
this.closeMenu = (setFocusToAnchor = false) => {
|
45
|
-
var _a;
|
46
|
-
this.open = false;
|
47
|
-
if (setFocusToAnchor) {
|
48
|
-
(_a = this.anchorEl) === null || _a === void 0 ? void 0 : _a.focus();
|
49
|
-
}
|
50
|
-
this.icPopoverClosed.emit();
|
51
|
-
};
|
52
40
|
this.getNextItemToSelect = (currentItem, movingDown) => {
|
53
41
|
const numButtons = this.popoverMenuEls.length - 1;
|
54
42
|
if (currentItem < 1) {
|
@@ -207,6 +195,7 @@ const PopoverMenu = class {
|
|
207
195
|
break;
|
208
196
|
case "Escape":
|
209
197
|
case "Tab":
|
198
|
+
ev.preventDefault();
|
210
199
|
if (this.open) {
|
211
200
|
this.closeMenu(true);
|
212
201
|
this.el.blur();
|
@@ -230,6 +219,23 @@ const PopoverMenu = class {
|
|
230
219
|
this.openingFromParent = true;
|
231
220
|
setTimeout(() => (this.openingFromParent = false), 1000);
|
232
221
|
}
|
222
|
+
/**
|
223
|
+
* @internal Close the menu, emit icPopoverClosed of the root popover
|
224
|
+
* @param setFocusToAnchor when true return focus to anchor element when menu is closed
|
225
|
+
*/
|
226
|
+
async closeMenu(setFocusToAnchor = false) {
|
227
|
+
var _a;
|
228
|
+
this.open = false;
|
229
|
+
if (this.parentPopover) {
|
230
|
+
this.parentPopover.closeMenu(setFocusToAnchor);
|
231
|
+
}
|
232
|
+
else {
|
233
|
+
if (setFocusToAnchor) {
|
234
|
+
(_a = this.anchorEl) === null || _a === void 0 ? void 0 : _a.focus();
|
235
|
+
}
|
236
|
+
this.icPopoverClosed.emit();
|
237
|
+
}
|
238
|
+
}
|
233
239
|
render() {
|
234
240
|
return (h(Host, { class: { open: this.open } }, h("div", { id: this.parentPopover === undefined
|
235
241
|
? `ic-popover-submenu-${this.submenuId}`
|
@@ -1 +1 @@
|
|
1
|
-
{"file":"ic-popover-menu.entry.js","mappings":"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","names":[],"sources":["src/components/ic-popover-menu/ic-popover-menu.css?tag=ic-popover-menu&encapsulation=shadow","src/components/ic-popover-menu/ic-popover-menu.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n/**\n* @prop --ic-z-index-popover: z-index of popover menu. \n* @prop --max-height: Maximum height of the popover menu.\n* @prop --popover-width: Default width of the popover menu.\n*/\n\n@media (prefers-reduced-motion: no-preference) {\n :host .opening-from-parent {\n animation: slide-in var(--ic-transition-duration-slow) ease-in-out;\n }\n\n :host .opening-from-child {\n animation: slide-out var(--ic-transition-duration-slow) ease-in-out;\n }\n}\n\n:host {\n border-radius: var(--ic-border-radius);\n color: var(--ic-color-primary-text);\n background-color: var(--ic-architectural-white);\n position: relative;\n z-index: var(--ic-z-index-popover);\n box-sizing: border-box;\n box-shadow: var(--ic-elevation-overlay);\n display: none;\n}\n\n:host(.on-dialog) {\n inset: auto !important;\n}\n\n:host(.on-dialog-fix-translate) {\n transform: translate(0, var(--ic-space-xs)) !important;\n}\n\n:host(.on-dialog-translate-y) {\n transform: translate(0, calc(-1 * var(--translate-y))) !important;\n}\n\n.menu {\n border: var(--ic-border-default);\n border-radius: var(--ic-border-radius);\n background-color: var(--ic-architectural-white);\n visibility: hidden;\n height: 0;\n}\n\n.button {\n text-decoration: none;\n list-style-type: none;\n}\n\n:host(:focus-within) {\n box-shadow: var(--ic-border-focus);\n}\n\n.menu:focus-visible {\n outline: none;\n}\n\n:host(.open) {\n display: block;\n min-width: calc(20rem - var(--ic-space-xl));\n width: var(--popover-width, 20rem);\n max-width: calc(100vw - var(--ic-space-xl));\n}\n\n:host(.open) .menu {\n visibility: visible;\n height: fit-content;\n max-height: var(--max-height, fit-content);\n overflow-y: auto;\n overflow-x: hidden;\n}\n\n.parent-label {\n color: var(--ic-color-tertiary-text);\n margin: var(--ic-space-xs) var(--ic-space-xs) 0;\n}\n\n@keyframes slide-in {\n from {\n opacity: 0;\n transform: translateX(10rem);\n }\n\n to {\n opacity: 1;\n transform: translateX(0);\n }\n}\n\n@keyframes slide-out {\n from {\n opacity: 0;\n transform: translateX(-10rem);\n }\n\n to {\n opacity: 1;\n transform: translateX(0);\n }\n}\n","import {\n Component,\n Element,\n Host,\n h,\n Prop,\n Listen,\n Watch,\n State,\n Method,\n Event,\n EventEmitter,\n} from \"@stencil/core\";\nimport { getSlotElements, isPropDefined } from \"../../utils/helpers\";\nimport { createPopper, Instance as PopperInstance } from \"@popperjs/core\";\n\n@Component({\n tag: \"ic-popover-menu\",\n styleUrl: \"ic-popover-menu.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class PopoverMenu {\n private anchorEl: HTMLElement;\n private ARIA_LABEL: string = \"aria-label\";\n private backButton: HTMLIcMenuItemElement;\n private currentFocus: number;\n private popoverMenuEls: HTMLIcMenuItemElement[] = [];\n private popperInstance: PopperInstance;\n\n @Element() el: HTMLIcPopoverMenuElement;\n\n @State() openingFromChild: boolean = false;\n @State() openingFromParent: boolean = false;\n\n /**\n * The ID of the element the popover menu will anchor itself to. This is required unless the popover is a submenu.\n */\n @Prop() anchor: string;\n\n /**\n * @internal The parent popover menu of a child popover menu.\n */\n @Prop() parentLabel?: string;\n\n /**\n * @internal The parent popover menu of a child popover menu.\n */\n @Prop() parentPopover?: HTMLIcPopoverMenuElement;\n\n /**\n * The unique identifier for a popover submenu.\n */\n @Prop() submenuId?: string;\n\n /**\n * @internal The level of menu being displayed.\n */\n @Prop() submenuLevel: number = 1;\n\n /**\n * If `true`, the popover menu will be displayed.\n */\n @Prop({ reflect: true, mutable: true }) open: boolean = undefined;\n\n @Watch(\"open\")\n watchOpenHandler(): void {\n if (this.open) {\n if (\n this.parentPopover !== undefined &&\n !this.popoverMenuEls.some((menuItem) => menuItem.id)\n ) {\n this.popoverMenuEls.unshift(this.backButton);\n }\n\n this.currentFocus = isPropDefined(this.submenuId) ? 1 : 0;\n // Needed so that anchorEl isn't always focused\n setTimeout(this.setButtonFocus, 50);\n } else if (this.popperInstance) {\n this.popperInstance.destroy();\n this.popperInstance = null;\n }\n }\n\n /**\n * Emitted when the popover menu is closed.\n */\n @Event() icPopoverClosed: EventEmitter<void>;\n\n disconnectedCallback(): void {\n if (this.popperInstance) {\n this.popperInstance.destroy();\n this.popperInstance = null;\n }\n }\n\n componentDidLoad(): void {\n const slotWrapper = this.el.shadowRoot.querySelector(\"ul.button\");\n const popoverMenuElements = getSlotElements(slotWrapper);\n\n if (popoverMenuElements !== null) {\n this.addMenuItems(popoverMenuElements);\n }\n\n if (\n this.submenuId === undefined &&\n this.el.getAttribute(this.ARIA_LABEL) === null\n ) {\n console.error(\n `No aria-label specified for popover menu component - aria-label required`\n );\n }\n }\n\n componentWillRender(): void {\n this.anchorEl = this.findAnchorEl(this.anchor);\n }\n\n componentDidRender(): void {\n if (this.open && !this.popperInstance) {\n this.initPopperJS();\n }\n }\n\n @Listen(\"handleMenuItemClick\")\n handleMenuItemClick(\n ev: CustomEvent<{\n label: string;\n hasSubMenu: boolean;\n }>\n ): void {\n if (!ev.detail.hasSubMenu && ev.detail.label !== \"Back\") {\n this.closeMenu();\n }\n }\n\n // This is listening for the event emitted when a menu item is acting as a trigger button\n @Listen(\"triggerPopoverMenuInstance\", { capture: true })\n handleSubmenuChange(ev: Event): void {\n // Finds the trigger menu item that has emitted the event\n const target = ev.target as HTMLIcMenuItemElement;\n this.open = false;\n\n // Find the popover menu that the menu item triggers (i.e. submenu-trigger-for === submenu-id).\n const childEl = document.querySelector(\n `ic-popover-menu[submenu-id=${target.submenuTriggerFor}]`\n ) as HTMLIcPopoverMenuElement;\n // Set the parent popover menu of the submenu and open the submenu\n childEl.parentPopover = this.el;\n childEl.anchor = this.anchor;\n childEl.ariaLabel = this.el.getAttribute(this.ARIA_LABEL);\n childEl.openFromParent();\n childEl.submenuLevel = this.submenuLevel + 1;\n // Set the label in the submenu using the label of the menu item that has emitted the event\n childEl.parentLabel = target.label;\n }\n\n @Listen(\"click\", { target: \"document\" })\n handleClick(ev: Event): void {\n if (this.open && this.isNotPopoverMenuEl(ev)) {\n // If menu is open and the next click on the document is not a popover El, close the popover\n this.closeMenu();\n }\n }\n\n // Manages the keyboard navigation in the popover menu\n @Listen(\"keydown\", {})\n handleKeyDown(ev: KeyboardEvent): void {\n switch (ev.key) {\n case \"ArrowDown\":\n case \"ArrowUp\":\n ev.preventDefault();\n this.currentFocus = this.getNextItemToSelect(\n this.currentFocus,\n ev.key === \"ArrowDown\"\n );\n this.setButtonFocus();\n break;\n case \"Home\":\n //Sets home focus as first element, or back button\n this.currentFocus = 0;\n this.setButtonFocus();\n break;\n case \"End\":\n //Sets end focus as last element\n this.currentFocus = this.popoverMenuEls.length - 1;\n this.setButtonFocus();\n break;\n case \"Escape\":\n case \"Tab\":\n if (this.open) {\n this.closeMenu(true);\n this.el.blur();\n }\n break;\n }\n }\n\n /**\n * @internal Opens the menu from the child menu.\n */\n @Method()\n async openFromChild(): Promise<void> {\n this.open = true;\n this.openingFromChild = true;\n\n setTimeout(() => (this.openingFromChild = false), 1000);\n }\n\n /**\n * @internal Opens the menu from the parent menu.\n */\n @Method()\n async openFromParent(): Promise<void> {\n this.open = true;\n this.openingFromParent = true;\n\n setTimeout(() => (this.openingFromParent = false), 1000);\n }\n\n private setButtonFocus = () => {\n this.popoverMenuEls[this.currentFocus]?.focus();\n };\n\n // Checks that the popover menu has an anchor\n private findAnchorEl = (anchor: string): HTMLElement => {\n let anchorElement: HTMLElement = null;\n if (!anchor) {\n this.submenuId === undefined &&\n console.error(\"No anchor specified for popover component\");\n } else {\n anchorElement = document.querySelector(\n anchor.indexOf(\"#\") === 0 ? anchor : \"#\" + anchor\n );\n if (anchorElement === null) {\n console.error(`Popover anchor element '${anchor}' not found`);\n }\n }\n return anchorElement;\n };\n\n private isNotPopoverMenuEl = (ev: Event) => {\n const { id, tagName } = ev.target as HTMLElement;\n return (\n id !== this.anchor &&\n tagName !== \"IC-MENU-ITEM\" &&\n tagName !== \"IC-MENU-GROUP\" &&\n tagName !== \"IC-POPOVER-MENU\"\n );\n };\n\n /**\n * Close the popover menu, emit isPopoverClosed event\n * @param setFocusToAnchor when true return focus to anchor element when menu is closed\n */\n private closeMenu = (setFocusToAnchor = false) => {\n this.open = false;\n if (setFocusToAnchor) {\n this.anchorEl?.focus();\n }\n this.icPopoverClosed.emit();\n };\n\n private getNextItemToSelect = (\n currentItem: number,\n movingDown: boolean\n ): number => {\n const numButtons = this.popoverMenuEls.length - 1;\n\n if (currentItem < 1) {\n currentItem = 0;\n }\n\n let nextItem = movingDown ? currentItem + 1 : currentItem - 1;\n\n // Check if wrap around necessary\n if (nextItem < 0) {\n nextItem = numButtons;\n } else if (nextItem > numButtons) {\n nextItem = 0;\n }\n\n return nextItem;\n };\n\n private addMenuItems = (elements: Element[] | NodeListOf<ChildNode>) => {\n for (let i = 0; i < elements.length; i++) {\n const el = elements[i] as HTMLIcMenuItemElement;\n if (el.tagName === \"IC-MENU-ITEM\") {\n this.popoverMenuEls.push(el);\n } else if (el.tagName === \"IC-MENU-GROUP\") {\n const groupSlotWrapper = el.shadowRoot.querySelector(\"ul\");\n const menuGroupElements = getSlotElements(groupSlotWrapper);\n\n this.addMenuItems(menuGroupElements);\n }\n }\n };\n\n private getMenuAriaLabel = (): string => {\n const ariaLabel = this.el.getAttribute(this.ARIA_LABEL);\n\n if (isPropDefined(this.submenuId)) {\n return `${ariaLabel}, within nested level ${this.submenuLevel} ${this.parentLabel} submenu,`;\n } else {\n return ariaLabel;\n }\n };\n\n private handleBackButtonClick = (): void => {\n this.parentPopover.openFromChild();\n this.open = false;\n };\n\n private initPopperJS = () => {\n this.popperInstance = createPopper(this.anchorEl, this.el, {\n placement: \"bottom-start\",\n modifiers: [\n {\n name: \"offset\",\n options: {\n offset: [0, 4],\n },\n },\n {\n name: \"flip\",\n options: {\n fallbackPlacements: [\"top-start\", \"top-end\", \"bottom-end\"],\n rootBoundary: \"viewport\",\n },\n },\n ],\n });\n };\n\n render() {\n return (\n <Host class={{ open: this.open }}>\n <div\n id={\n this.parentPopover === undefined\n ? `ic-popover-submenu-${this.submenuId}`\n : \"\"\n }\n class={{\n menu: true,\n }}\n tabindex={open ? \"0\" : \"-1\"}\n >\n <div\n class={{\n \"opening-from-parent\": this.openingFromParent,\n \"opening-from-child\": this.openingFromChild,\n }}\n >\n {isPropDefined(this.submenuId) && (\n <div>\n <ic-menu-item\n class=\"ic-popover-submenu-back-button\"\n ref={(el) => (this.backButton = el)}\n label=\"Back\"\n onClick={this.handleBackButtonClick}\n id={`ic-popover-submenu-back-button-${this.submenuLevel}`}\n >\n <svg\n slot=\"icon\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"submenu-back-icon\"\n >\n <path\n d=\"M20 11H7.83L13.42 5.41L12 4L4 12L12 20L13.41 18.59L7.83 13H20V11Z\"\n fill=\"currentColor\"\n />\n </svg>\n </ic-menu-item>\n <ic-typography variant=\"subtitle-small\" class=\"parent-label\">\n {this.parentLabel}\n </ic-typography>\n </div>\n )}\n <ul\n class=\"button\"\n aria-label={this.getMenuAriaLabel()}\n role=\"menu\"\n aria-owns={\n isPropDefined(this.submenuId)\n ? `ic-popover-submenu-back-button-${this.submenuLevel}`\n : false\n }\n aria-controls={\n isPropDefined(this.submenuId)\n ? `ic-popover-submenu-back-button-${this.submenuLevel}`\n : false\n }\n >\n <slot></slot>\n </ul>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
|
1
|
+
{"file":"ic-popover-menu.entry.js","mappings":"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","names":[],"sources":["src/components/ic-popover-menu/ic-popover-menu.css?tag=ic-popover-menu&encapsulation=shadow","src/components/ic-popover-menu/ic-popover-menu.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n/**\n* @prop --ic-z-index-popover: z-index of popover menu. \n* @prop --max-height: Maximum height of the popover menu.\n* @prop --popover-width: Default width of the popover menu.\n*/\n\n@media (prefers-reduced-motion: no-preference) {\n :host .opening-from-parent {\n animation: slide-in var(--ic-transition-duration-slow) ease-in-out;\n }\n\n :host .opening-from-child {\n animation: slide-out var(--ic-transition-duration-slow) ease-in-out;\n }\n}\n\n:host {\n border-radius: var(--ic-border-radius);\n color: var(--ic-color-primary-text);\n background-color: var(--ic-architectural-white);\n position: relative;\n z-index: var(--ic-z-index-popover);\n box-sizing: border-box;\n box-shadow: var(--ic-elevation-overlay);\n display: none;\n}\n\n:host(.on-dialog) {\n inset: auto !important;\n}\n\n:host(.on-dialog-fix-translate) {\n transform: translate(0, var(--ic-space-xs)) !important;\n}\n\n:host(.on-dialog-translate-y) {\n transform: translate(0, calc(-1 * var(--translate-y))) !important;\n}\n\n.menu {\n border: var(--ic-border-default);\n border-radius: var(--ic-border-radius);\n background-color: var(--ic-architectural-white);\n visibility: hidden;\n height: 0;\n}\n\n.button {\n text-decoration: none;\n list-style-type: none;\n}\n\n:host(:focus-within) {\n box-shadow: var(--ic-border-focus);\n}\n\n.menu:focus-visible {\n outline: none;\n}\n\n:host(.open) {\n display: block;\n min-width: calc(20rem - var(--ic-space-xl));\n width: var(--popover-width, 20rem);\n max-width: calc(100vw - var(--ic-space-xl));\n}\n\n:host(.open) .menu {\n visibility: visible;\n height: fit-content;\n max-height: var(--max-height, fit-content);\n overflow-y: auto;\n overflow-x: hidden;\n}\n\n.parent-label {\n color: var(--ic-color-tertiary-text);\n margin: var(--ic-space-xs) var(--ic-space-xs) 0;\n}\n\n@keyframes slide-in {\n from {\n opacity: 0;\n transform: translateX(10rem);\n }\n\n to {\n opacity: 1;\n transform: translateX(0);\n }\n}\n\n@keyframes slide-out {\n from {\n opacity: 0;\n transform: translateX(-10rem);\n }\n\n to {\n opacity: 1;\n transform: translateX(0);\n }\n}\n","import {\n Component,\n Element,\n Host,\n h,\n Prop,\n Listen,\n Watch,\n State,\n Method,\n Event,\n EventEmitter,\n} from \"@stencil/core\";\nimport { getSlotElements, isPropDefined } from \"../../utils/helpers\";\nimport { createPopper, Instance as PopperInstance } from \"@popperjs/core\";\n\n@Component({\n tag: \"ic-popover-menu\",\n styleUrl: \"ic-popover-menu.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class PopoverMenu {\n private anchorEl: HTMLElement;\n private ARIA_LABEL: string = \"aria-label\";\n private backButton: HTMLIcMenuItemElement;\n private currentFocus: number;\n private popoverMenuEls: HTMLIcMenuItemElement[] = [];\n private popperInstance: PopperInstance;\n\n @Element() el: HTMLIcPopoverMenuElement;\n\n @State() openingFromChild: boolean = false;\n @State() openingFromParent: boolean = false;\n\n /**\n * The ID of the element the popover menu will anchor itself to. This is required unless the popover is a submenu.\n */\n @Prop() anchor: string;\n\n /**\n * @internal The parent popover menu of a child popover menu.\n */\n @Prop() parentLabel?: string;\n\n /**\n * @internal The parent popover menu of a child popover menu.\n */\n @Prop() parentPopover?: HTMLIcPopoverMenuElement;\n\n /**\n * The unique identifier for a popover submenu.\n */\n @Prop() submenuId?: string;\n\n /**\n * @internal The level of menu being displayed.\n */\n @Prop() submenuLevel: number = 1;\n\n /**\n * If `true`, the popover menu will be displayed.\n */\n @Prop({ reflect: true, mutable: true }) open: boolean = undefined;\n\n @Watch(\"open\")\n watchOpenHandler(): void {\n if (this.open) {\n if (\n this.parentPopover !== undefined &&\n !this.popoverMenuEls.some((menuItem) => menuItem.id)\n ) {\n this.popoverMenuEls.unshift(this.backButton);\n }\n\n this.currentFocus = isPropDefined(this.submenuId) ? 1 : 0;\n // Needed so that anchorEl isn't always focused\n setTimeout(this.setButtonFocus, 50);\n } else if (this.popperInstance) {\n this.popperInstance.destroy();\n this.popperInstance = null;\n }\n }\n\n /**\n * Emitted when the popover menu is closed.\n */\n @Event() icPopoverClosed: EventEmitter<void>;\n\n disconnectedCallback(): void {\n if (this.popperInstance) {\n this.popperInstance.destroy();\n this.popperInstance = null;\n }\n }\n\n componentDidLoad(): void {\n const slotWrapper = this.el.shadowRoot.querySelector(\"ul.button\");\n const popoverMenuElements = getSlotElements(slotWrapper);\n\n if (popoverMenuElements !== null) {\n this.addMenuItems(popoverMenuElements);\n }\n\n if (\n this.submenuId === undefined &&\n this.el.getAttribute(this.ARIA_LABEL) === null\n ) {\n console.error(\n `No aria-label specified for popover menu component - aria-label required`\n );\n }\n }\n\n componentWillRender(): void {\n this.anchorEl = this.findAnchorEl(this.anchor);\n }\n\n componentDidRender(): void {\n if (this.open && !this.popperInstance) {\n this.initPopperJS();\n }\n }\n\n @Listen(\"handleMenuItemClick\")\n handleMenuItemClick(\n ev: CustomEvent<{\n label: string;\n hasSubMenu: boolean;\n }>\n ): void {\n if (!ev.detail.hasSubMenu && ev.detail.label !== \"Back\") {\n this.closeMenu();\n }\n }\n\n // This is listening for the event emitted when a menu item is acting as a trigger button\n @Listen(\"triggerPopoverMenuInstance\", { capture: true })\n handleSubmenuChange(ev: Event): void {\n // Finds the trigger menu item that has emitted the event\n const target = ev.target as HTMLIcMenuItemElement;\n this.open = false;\n\n // Find the popover menu that the menu item triggers (i.e. submenu-trigger-for === submenu-id).\n const childEl = document.querySelector(\n `ic-popover-menu[submenu-id=${target.submenuTriggerFor}]`\n ) as HTMLIcPopoverMenuElement;\n // Set the parent popover menu of the submenu and open the submenu\n childEl.parentPopover = this.el;\n childEl.anchor = this.anchor;\n childEl.ariaLabel = this.el.getAttribute(this.ARIA_LABEL);\n childEl.openFromParent();\n childEl.submenuLevel = this.submenuLevel + 1;\n // Set the label in the submenu using the label of the menu item that has emitted the event\n childEl.parentLabel = target.label;\n }\n\n @Listen(\"click\", { target: \"document\" })\n handleClick(ev: Event): void {\n if (this.open && this.isNotPopoverMenuEl(ev)) {\n // If menu is open and the next click on the document is not a popover El, close the popover\n this.closeMenu();\n }\n }\n\n // Manages the keyboard navigation in the popover menu\n @Listen(\"keydown\", {})\n handleKeyDown(ev: KeyboardEvent): void {\n switch (ev.key) {\n case \"ArrowDown\":\n case \"ArrowUp\":\n ev.preventDefault();\n this.currentFocus = this.getNextItemToSelect(\n this.currentFocus,\n ev.key === \"ArrowDown\"\n );\n this.setButtonFocus();\n break;\n case \"Home\":\n //Sets home focus as first element, or back button\n this.currentFocus = 0;\n this.setButtonFocus();\n break;\n case \"End\":\n //Sets end focus as last element\n this.currentFocus = this.popoverMenuEls.length - 1;\n this.setButtonFocus();\n break;\n case \"Escape\":\n case \"Tab\":\n ev.preventDefault();\n if (this.open) {\n this.closeMenu(true);\n this.el.blur();\n }\n break;\n }\n }\n\n /**\n * @internal Opens the menu from the child menu.\n */\n @Method()\n async openFromChild(): Promise<void> {\n this.open = true;\n this.openingFromChild = true;\n\n setTimeout(() => (this.openingFromChild = false), 1000);\n }\n\n /**\n * @internal Opens the menu from the parent menu.\n */\n @Method()\n async openFromParent(): Promise<void> {\n this.open = true;\n this.openingFromParent = true;\n\n setTimeout(() => (this.openingFromParent = false), 1000);\n }\n\n private setButtonFocus = () => {\n this.popoverMenuEls[this.currentFocus]?.focus();\n };\n\n // Checks that the popover menu has an anchor\n private findAnchorEl = (anchor: string): HTMLElement => {\n let anchorElement: HTMLElement = null;\n if (!anchor) {\n this.submenuId === undefined &&\n console.error(\"No anchor specified for popover component\");\n } else {\n anchorElement = document.querySelector(\n anchor.indexOf(\"#\") === 0 ? anchor : \"#\" + anchor\n );\n if (anchorElement === null) {\n console.error(`Popover anchor element '${anchor}' not found`);\n }\n }\n return anchorElement;\n };\n\n private isNotPopoverMenuEl = (ev: Event) => {\n const { id, tagName } = ev.target as HTMLElement;\n return (\n id !== this.anchor &&\n tagName !== \"IC-MENU-ITEM\" &&\n tagName !== \"IC-MENU-GROUP\" &&\n tagName !== \"IC-POPOVER-MENU\"\n );\n };\n\n /**\n * @internal Close the menu, emit icPopoverClosed of the root popover\n * @param setFocusToAnchor when true return focus to anchor element when menu is closed\n */\n @Method()\n async closeMenu(setFocusToAnchor = false): Promise<void> {\n this.open = false;\n if (this.parentPopover) {\n this.parentPopover.closeMenu(setFocusToAnchor);\n } else {\n if (setFocusToAnchor) {\n this.anchorEl?.focus();\n }\n this.icPopoverClosed.emit();\n }\n }\n\n private getNextItemToSelect = (\n currentItem: number,\n movingDown: boolean\n ): number => {\n const numButtons = this.popoverMenuEls.length - 1;\n\n if (currentItem < 1) {\n currentItem = 0;\n }\n\n let nextItem = movingDown ? currentItem + 1 : currentItem - 1;\n\n // Check if wrap around necessary\n if (nextItem < 0) {\n nextItem = numButtons;\n } else if (nextItem > numButtons) {\n nextItem = 0;\n }\n\n return nextItem;\n };\n\n private addMenuItems = (elements: Element[] | NodeListOf<ChildNode>) => {\n for (let i = 0; i < elements.length; i++) {\n const el = elements[i] as HTMLIcMenuItemElement;\n if (el.tagName === \"IC-MENU-ITEM\") {\n this.popoverMenuEls.push(el);\n } else if (el.tagName === \"IC-MENU-GROUP\") {\n const groupSlotWrapper = el.shadowRoot.querySelector(\"ul\");\n const menuGroupElements = getSlotElements(groupSlotWrapper);\n\n this.addMenuItems(menuGroupElements);\n }\n }\n };\n\n private getMenuAriaLabel = (): string => {\n const ariaLabel = this.el.getAttribute(this.ARIA_LABEL);\n\n if (isPropDefined(this.submenuId)) {\n return `${ariaLabel}, within nested level ${this.submenuLevel} ${this.parentLabel} submenu,`;\n } else {\n return ariaLabel;\n }\n };\n\n private handleBackButtonClick = (): void => {\n this.parentPopover.openFromChild();\n this.open = false;\n };\n\n private initPopperJS = () => {\n this.popperInstance = createPopper(this.anchorEl, this.el, {\n placement: \"bottom-start\",\n modifiers: [\n {\n name: \"offset\",\n options: {\n offset: [0, 4],\n },\n },\n {\n name: \"flip\",\n options: {\n fallbackPlacements: [\"top-start\", \"top-end\", \"bottom-end\"],\n rootBoundary: \"viewport\",\n },\n },\n ],\n });\n };\n\n render() {\n return (\n <Host class={{ open: this.open }}>\n <div\n id={\n this.parentPopover === undefined\n ? `ic-popover-submenu-${this.submenuId}`\n : \"\"\n }\n class={{\n menu: true,\n }}\n tabindex={open ? \"0\" : \"-1\"}\n >\n <div\n class={{\n \"opening-from-parent\": this.openingFromParent,\n \"opening-from-child\": this.openingFromChild,\n }}\n >\n {isPropDefined(this.submenuId) && (\n <div>\n <ic-menu-item\n class=\"ic-popover-submenu-back-button\"\n ref={(el) => (this.backButton = el)}\n label=\"Back\"\n onClick={this.handleBackButtonClick}\n id={`ic-popover-submenu-back-button-${this.submenuLevel}`}\n >\n <svg\n slot=\"icon\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"submenu-back-icon\"\n >\n <path\n d=\"M20 11H7.83L13.42 5.41L12 4L4 12L12 20L13.41 18.59L7.83 13H20V11Z\"\n fill=\"currentColor\"\n />\n </svg>\n </ic-menu-item>\n <ic-typography variant=\"subtitle-small\" class=\"parent-label\">\n {this.parentLabel}\n </ic-typography>\n </div>\n )}\n <ul\n class=\"button\"\n aria-label={this.getMenuAriaLabel()}\n role=\"menu\"\n aria-owns={\n isPropDefined(this.submenuId)\n ? `ic-popover-submenu-back-button-${this.submenuLevel}`\n : false\n }\n aria-controls={\n isPropDefined(this.submenuId)\n ? `ic-popover-submenu-back-button-${this.submenuLevel}`\n : false\n }\n >\n <slot></slot>\n </ul>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
|