@ukic/canary-web-components 2.0.0-canary.16 → 2.0.0-canary.18

Sign up to get free protection for your applications and to get access to all the features.
Files changed (181) hide show
  1. package/dist/cjs/core.cjs.js +1 -1
  2. package/dist/cjs/ic-back-to-top.cjs.entry.js +2 -1
  3. package/dist/cjs/ic-back-to-top.cjs.entry.js.map +1 -1
  4. package/dist/cjs/ic-button_3.cjs.entry.js +1 -1
  5. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  6. package/dist/cjs/ic-checkbox.cjs.entry.js +18 -5
  7. package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
  8. package/dist/cjs/ic-data-table.cjs.entry.js +32 -28
  9. package/dist/cjs/ic-data-table.cjs.entry.js.map +1 -1
  10. package/dist/cjs/ic-dialog.cjs.entry.js +1 -1
  11. package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -1
  12. package/dist/cjs/ic-empty-state_2.cjs.entry.js +67 -113
  13. package/dist/cjs/ic-empty-state_2.cjs.entry.js.map +1 -1
  14. package/dist/cjs/ic-input-component-container_4.cjs.entry.js.map +1 -1
  15. package/dist/cjs/ic-menu.cjs.entry.js +5 -7
  16. package/dist/cjs/ic-menu.cjs.entry.js.map +1 -1
  17. package/dist/cjs/ic-navigation-item.cjs.entry.js +1 -1
  18. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  19. package/dist/cjs/ic-radio-option.cjs.entry.js +1 -1
  20. package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
  21. package/dist/cjs/ic-section-container.cjs.entry.js +1 -1
  22. package/dist/cjs/ic-section-container.cjs.entry.js.map +1 -1
  23. package/dist/cjs/ic-side-navigation.cjs.entry.js +1 -1
  24. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  25. package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
  26. package/dist/cjs/ic-stepper.cjs.entry.js +29 -8
  27. package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
  28. package/dist/cjs/ic-tab-context.cjs.entry.js +8 -0
  29. package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
  30. package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
  31. package/dist/cjs/ic-toast.cjs.entry.js +6 -0
  32. package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
  33. package/dist/cjs/ic-toggle-button-group.cjs.entry.js +1 -1
  34. package/dist/cjs/ic-toggle-button-group.cjs.entry.js.map +1 -1
  35. package/dist/cjs/ic-toggle-button.cjs.entry.js +4 -2
  36. package/dist/cjs/ic-toggle-button.cjs.entry.js.map +1 -1
  37. package/dist/cjs/loader.cjs.js +1 -1
  38. package/dist/collection/components/ic-data-table/ic-data-table.css +0 -4
  39. package/dist/collection/components/ic-data-table/ic-data-table.js +34 -29
  40. package/dist/collection/components/ic-data-table/ic-data-table.js.map +1 -1
  41. package/dist/collection/components/ic-data-table/story-data.js +22 -0
  42. package/dist/collection/components/ic-data-table/story-data.js.map +1 -1
  43. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js +67 -113
  44. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js.map +1 -1
  45. package/dist/components/ic-back-to-top.js +2 -1
  46. package/dist/components/ic-back-to-top.js.map +1 -1
  47. package/dist/components/ic-button2.js +1 -1
  48. package/dist/components/ic-button2.js.map +1 -1
  49. package/dist/components/ic-checkbox.js +25 -7
  50. package/dist/components/ic-checkbox.js.map +1 -1
  51. package/dist/components/ic-data-table.js +32 -28
  52. package/dist/components/ic-data-table.js.map +1 -1
  53. package/dist/components/ic-dialog.js +1 -1
  54. package/dist/components/ic-dialog.js.map +1 -1
  55. package/dist/components/ic-input-label2.js.map +1 -1
  56. package/dist/components/ic-menu2.js +5 -7
  57. package/dist/components/ic-menu2.js.map +1 -1
  58. package/dist/components/ic-navigation-item.js +1 -1
  59. package/dist/components/ic-navigation-item.js.map +1 -1
  60. package/dist/components/ic-pagination-bar2.js +67 -113
  61. package/dist/components/ic-pagination-bar2.js.map +1 -1
  62. package/dist/components/ic-radio-option.js +1 -1
  63. package/dist/components/ic-radio-option.js.map +1 -1
  64. package/dist/components/ic-section-container2.js +1 -1
  65. package/dist/components/ic-section-container2.js.map +1 -1
  66. package/dist/components/ic-side-navigation.js +1 -1
  67. package/dist/components/ic-side-navigation.js.map +1 -1
  68. package/dist/components/ic-step.js.map +1 -1
  69. package/dist/components/ic-stepper.js +32 -8
  70. package/dist/components/ic-stepper.js.map +1 -1
  71. package/dist/components/ic-tab-context.js +9 -0
  72. package/dist/components/ic-tab-context.js.map +1 -1
  73. package/dist/components/ic-tab.js.map +1 -1
  74. package/dist/components/ic-toast.js +9 -1
  75. package/dist/components/ic-toast.js.map +1 -1
  76. package/dist/components/ic-toggle-button-group.js +1 -1
  77. package/dist/components/ic-toggle-button-group.js.map +1 -1
  78. package/dist/components/ic-toggle-button.js +4 -2
  79. package/dist/components/ic-toggle-button.js.map +1 -1
  80. package/dist/core/core.esm.js +1 -1
  81. package/dist/core/core.esm.js.map +1 -1
  82. package/dist/core/p-06e0b5b6.entry.js +2 -0
  83. package/dist/core/p-06e0b5b6.entry.js.map +1 -0
  84. package/dist/core/p-1fb48c84.entry.js.map +1 -1
  85. package/dist/core/p-303dc008.entry.js.map +1 -1
  86. package/dist/core/{p-ff697d68.entry.js → p-4c92a3dd.entry.js} +2 -2
  87. package/dist/core/p-4c92a3dd.entry.js.map +1 -0
  88. package/dist/core/p-52d5a3a5.entry.js +2 -0
  89. package/dist/core/p-52d5a3a5.entry.js.map +1 -0
  90. package/dist/core/{p-5a5a52d3.entry.js → p-5dfd9074.entry.js} +2 -2
  91. package/dist/core/p-5dfd9074.entry.js.map +1 -0
  92. package/dist/core/p-5fa17f98.entry.js +2 -0
  93. package/dist/core/p-5fa17f98.entry.js.map +1 -0
  94. package/dist/core/{p-e79e0292.entry.js → p-6358925c.entry.js} +2 -2
  95. package/dist/core/p-6358925c.entry.js.map +1 -0
  96. package/dist/core/p-70d734d4.entry.js +2 -0
  97. package/dist/core/p-70d734d4.entry.js.map +1 -0
  98. package/dist/core/p-79fa2f57.entry.js +2 -0
  99. package/dist/core/p-79fa2f57.entry.js.map +1 -0
  100. package/dist/core/{p-bbb1ce94.entry.js → p-8237cd57.entry.js} +2 -2
  101. package/dist/core/p-8237cd57.entry.js.map +1 -0
  102. package/dist/core/{p-d79bfead.entry.js → p-90992051.entry.js} +2 -2
  103. package/dist/core/{p-d79bfead.entry.js.map → p-90992051.entry.js.map} +1 -1
  104. package/dist/core/{p-356b8a4c.entry.js → p-9f3cf053.entry.js} +2 -2
  105. package/dist/core/{p-356b8a4c.entry.js.map → p-9f3cf053.entry.js.map} +1 -1
  106. package/dist/core/{p-940de102.entry.js → p-a0aa587b.entry.js} +2 -2
  107. package/dist/core/p-a0aa587b.entry.js.map +1 -0
  108. package/dist/core/p-a1df23b4.entry.js.map +1 -1
  109. package/dist/core/{p-450f72b2.entry.js → p-c292fd86.entry.js} +2 -2
  110. package/dist/core/p-c292fd86.entry.js.map +1 -0
  111. package/dist/core/p-d08f4fa7.entry.js +2 -0
  112. package/dist/core/p-d08f4fa7.entry.js.map +1 -0
  113. package/dist/core/p-d2d40668.entry.js +2 -0
  114. package/dist/core/p-d2d40668.entry.js.map +1 -0
  115. package/dist/core/p-dbbce628.entry.js +2 -0
  116. package/dist/core/p-dbbce628.entry.js.map +1 -0
  117. package/dist/esm/core.js +1 -1
  118. package/dist/esm/ic-back-to-top.entry.js +2 -1
  119. package/dist/esm/ic-back-to-top.entry.js.map +1 -1
  120. package/dist/esm/ic-button_3.entry.js +1 -1
  121. package/dist/esm/ic-button_3.entry.js.map +1 -1
  122. package/dist/esm/ic-checkbox.entry.js +18 -5
  123. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  124. package/dist/esm/ic-data-table.entry.js +32 -28
  125. package/dist/esm/ic-data-table.entry.js.map +1 -1
  126. package/dist/esm/ic-dialog.entry.js +1 -1
  127. package/dist/esm/ic-dialog.entry.js.map +1 -1
  128. package/dist/esm/ic-empty-state_2.entry.js +67 -113
  129. package/dist/esm/ic-empty-state_2.entry.js.map +1 -1
  130. package/dist/esm/ic-input-component-container_4.entry.js.map +1 -1
  131. package/dist/esm/ic-menu.entry.js +5 -7
  132. package/dist/esm/ic-menu.entry.js.map +1 -1
  133. package/dist/esm/ic-navigation-item.entry.js +1 -1
  134. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  135. package/dist/esm/ic-radio-option.entry.js +1 -1
  136. package/dist/esm/ic-radio-option.entry.js.map +1 -1
  137. package/dist/esm/ic-section-container.entry.js +1 -1
  138. package/dist/esm/ic-section-container.entry.js.map +1 -1
  139. package/dist/esm/ic-side-navigation.entry.js +1 -1
  140. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  141. package/dist/esm/ic-step.entry.js.map +1 -1
  142. package/dist/esm/ic-stepper.entry.js +29 -8
  143. package/dist/esm/ic-stepper.entry.js.map +1 -1
  144. package/dist/esm/ic-tab-context.entry.js +8 -0
  145. package/dist/esm/ic-tab-context.entry.js.map +1 -1
  146. package/dist/esm/ic-tab.entry.js.map +1 -1
  147. package/dist/esm/ic-toast.entry.js +6 -0
  148. package/dist/esm/ic-toast.entry.js.map +1 -1
  149. package/dist/esm/ic-toggle-button-group.entry.js +1 -1
  150. package/dist/esm/ic-toggle-button-group.entry.js.map +1 -1
  151. package/dist/esm/ic-toggle-button.entry.js +4 -2
  152. package/dist/esm/ic-toggle-button.entry.js.map +1 -1
  153. package/dist/esm/loader.js +1 -1
  154. package/dist/types/components/ic-data-table/ic-data-table.d.ts +8 -5
  155. package/dist/types/components/ic-data-table/story-data.d.ts +1 -0
  156. package/dist/types/components/ic-pagination-bar/ic-pagination-bar.d.ts +7 -8
  157. package/dist/types/components.d.ts +2 -2
  158. package/hydrate/index.js +185 -173
  159. package/package.json +3 -3
  160. package/dist/core/p-20f244ad.entry.js +0 -2
  161. package/dist/core/p-20f244ad.entry.js.map +0 -1
  162. package/dist/core/p-25bbf4be.entry.js +0 -2
  163. package/dist/core/p-25bbf4be.entry.js.map +0 -1
  164. package/dist/core/p-450f72b2.entry.js.map +0 -1
  165. package/dist/core/p-53aeca18.entry.js +0 -2
  166. package/dist/core/p-53aeca18.entry.js.map +0 -1
  167. package/dist/core/p-5a5a52d3.entry.js.map +0 -1
  168. package/dist/core/p-895472da.entry.js +0 -2
  169. package/dist/core/p-895472da.entry.js.map +0 -1
  170. package/dist/core/p-940de102.entry.js.map +0 -1
  171. package/dist/core/p-b4949e9a.entry.js +0 -2
  172. package/dist/core/p-b4949e9a.entry.js.map +0 -1
  173. package/dist/core/p-b94ef8de.entry.js +0 -2
  174. package/dist/core/p-b94ef8de.entry.js.map +0 -1
  175. package/dist/core/p-bbb1ce94.entry.js.map +0 -1
  176. package/dist/core/p-bda7d350.entry.js +0 -2
  177. package/dist/core/p-bda7d350.entry.js.map +0 -1
  178. package/dist/core/p-d6ad82d8.entry.js +0 -2
  179. package/dist/core/p-d6ad82d8.entry.js.map +0 -1
  180. package/dist/core/p-e79e0292.entry.js.map +0 -1
  181. package/dist/core/p-ff697d68.entry.js.map +0 -1
@@ -1,2 +1,2 @@
1
- import{r as e,c as i,h as t,H as a,g as o}from"./p-8455d1bb.js";import{m as r,i as c,l as n,j as s,a as d,d as l}from"./p-1b4f852c.js";import"./p-fd186591.js";const h='/*! 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:flex;flex-direction:column;width:-moz-fit-content;width:fit-content}:host([additional-field-display="static"]) ::slotted(ic-text-field){margin-top:calc(var(--ic-space-sm) / 2);margin-left:var(--ic-space-xl)}:host(.disabled){color:var(--ic-architectural-200)}.container input:focus+span.checkmark,:host(:focus) .container input:checked+span.checkmark{box-shadow:var(--ic-border-focus)}.container{display:grid;grid-template-columns:min-content auto;position:relative;cursor:pointer;align-items:center;margin:var(--ic-space-xxs) 0 var(--ic-space-xxs) var(--ic-space-xxs)}.container.disabled,.container.disabled input:disabled{cursor:default}.container input{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-block;position:absolute;cursor:pointer;height:var(--ic-space-lg);width:var(--ic-space-lg);border-radius:50%;border:none}.checkmark{display:block;position:relative;top:0;left:0;height:var(--ic-space-lg);width:var(--ic-space-lg);background-color:var(--ic-architectural-white);border:var(--ic-border-default);border-radius:50%;transition:var(--ic-easing-transition-fast);box-sizing:border-box}.container input:checked~.checkmark::after{display:inline-block}.container:hover input~.checkmark{background-color:var(--ic-action-default-bg-hover-no-alpha);box-shadow:0 0 0 0.25rem var(--ic-action-default-bg-hover);border:var(--ic-border-width) solid var(--ic-action-default)}.container:active input~.checkmark{background-color:var(--ic-action-default-bg-active-no-alpha);border:var(--ic-border-width) solid var(--ic-action-default-active);box-shadow:0 0 0 0.25rem var(--ic-action-default-bg-active)}.container:active input:checked~.checkmark{background-color:var(--ic-action-default-bg-active);border:0.125rem solid var(--ic-action-default-active);box-shadow:0 0 0 0.25rem var(--ic-action-default-bg-active)}.container:active input:checked~.checkmark::after{background-color:var(--ic-action-default-active)}.container input:checked~.checkmark{border:0.125rem solid var(--ic-action-default)}.container input:checked:disabled~.checkmark{background-color:var(--ic-architectural-white);border:0.125rem solid var(--ic-architectural-200)}.container input:disabled~.checkmark{border:var(--ic-border-width) dashed var(--ic-architectural-200)}.container input:disabled~.checkmark::after{background:var(--ic-architectural-200)}.container:hover input:disabled~.checkmark{background-color:var(--ic-architectural-white);box-shadow:none;border:0.125rem solid none}.container:active input:disabled~.checkmark::after{background-color:var(--ic-architectural-200)}.container .checkmark::after{content:"";position:absolute;display:none;top:calc(50% - var(--ic-space-xs));left:calc(50% - var(--ic-space-xs));width:var(--ic-space-md);height:var(--ic-space-md);border-radius:50%;background:var(--ic-action-default)}.radio-label{margin-left:var(--ic-space-md)}.additional-field-wrapper{margin-left:var(--ic-space-xs)}.branch-corner{color:var(--ic-action-default);height:var(--ic-space-md);width:var(--ic-space-xl);border-radius:0 0 0 0.188rem;border-bottom:0.125rem solid var(--ic-action-default);border-left:0.125rem solid var(--ic-action-default);margin-left:calc(-1 * var(--ic-space-1px))}.dynamic-container{display:flex;position:relative;margin:var(--ic-space-xxxs) 0 var(--ic-space-xxs) var(--ic-space-md);gap:var(--ic-space-xs)}.dynamic-container.hidden{display:none}.dynamic-text{color:var(--ic-action-default);margin-top:calc(var(--ic-space-sm) / 2);margin-bottom:var(--ic-space-xs);border-radius:2%}@media (max-width: 576px){::slotted(ic-text-field){--input-width:100%}}@media (forced-colors: active){.container input:checked~.checkmark,.container:active input:checked~.checkmark{border-color:Highlight}.container input:checked~.checkmark::after,.container:active input:checked~.checkmark::after{background-color:Highlight}.container input:disabled~.checkmark,.container input:checked:disabled~.checkmark{border-color:GrayText}.container input:disabled~.checkmark::after,.container:active input:disabled~.checkmark::after{background-color:GrayText}}';const p="additional-field";const u="ic-text-field";const b=class{constructor(t){e(this,t);this.icCheck=i(this,"icCheck",7);this.radioOptionSelect=i(this,"radioOptionSelect",7);this.icSelectedChange=i(this,"icSelectedChange",7);this.defaultRadioValue="";this.hasAdditionalField=false;this.skipFocus=false;this.handleClick=()=>{if(!this.disabled){if(this.skipFocus===false){this.radioElement.focus()}this.skipFocus=false;if(this.hasAdditionalField){this.value=this.el.querySelector(u).value||this.defaultRadioValue}this.icCheck.emit({value:this.value});this.radioOptionSelect.emit({value:this.value})}};this.swallowClick=e=>{e.stopPropagation()};this.handleFormReset=()=>{this.skipFocus=true;this.selected=this.initiallySelected};this.additionalFieldDisplay="static";this.disabled=false;this.dynamicText="This selection requires additional answers";this.form=undefined;this.formaction=undefined;this.formenctype=undefined;this.formmethod=undefined;this.formnovalidate=undefined;this.formtarget=undefined;this.groupLabel=undefined;this.label=undefined;this.name=undefined;this.value=undefined;this.selected=false;this.initiallySelected=this.selected}watchSelectedHandler(){this.icSelectedChange.emit()}disconnectedCallback(){r(this.el,this.handleFormReset)}componentWillLoad(){if(c(this.el,p)){this.hasAdditionalField=true;const e=this.el.querySelector(u);if(e)e.hiddenInput=false}this.defaultRadioValue=this.value;n(this.el,this.handleFormReset);s(this.disabled,this.el)}componentDidLoad(){d([{prop:this.value,propName:"value"}],"Radio Option")}componentWillRender(){const e=c(this.el,p);if(e&&!this.hasAdditionalField){this.hasAdditionalField=true;const e=this.el.querySelector(u);if(e)e.hiddenInput=false}else if(!e&&this.hasAdditionalField){this.hasAdditionalField=false}}componentDidRender(){if(this.additionalFieldDisplay==="static"){const e=this.el.querySelector(u);if(!this.selected){e===null||e===void 0?void 0:e.setAttribute("disabled","")}else{e===null||e===void 0?void 0:e.removeAttribute("disabled")}}}textfieldValueHandler(e){if(this.selected){this.value=e.detail.value||this.defaultRadioValue;this.icCheck.emit({value:this.value});this.radioOptionSelect.emit({value:this.value})}e.stopImmediatePropagation()}async setFocus(){var e;(e=this.radioElement)===null||e===void 0?void 0:e.focus()}async setTabIndex(e){this.radioElement.tabIndex=e}render(){const{additionalFieldDisplay:e,disabled:i,dynamicText:o,form:r,formaction:c,formenctype:n,formmethod:s,formnovalidate:d,formtarget:h,groupLabel:u,handleClick:b,hasAdditionalField:m,label:f,name:v,selected:k,swallowClick:g,value:y}=this;const x=`ic-radio-option-${l(f)||y}-${u}`;return t(a,{onClick:b,class:{disabled:i}},t("div",{class:{["container"]:true,disabled:i}},t("div",null,t("input",{role:"radio",tabindex:k?"0":"-1",type:"radio",name:v,id:x,value:y,disabled:i?true:null,checked:k,ref:e=>this.radioElement=e,form:r,formaction:c,formenctype:n,formmethod:s,formnovalidate:d,formtarget:h}),t("span",{class:"checkmark"})),t("ic-typography",{class:"radio-label",variant:"body"},t("label",{htmlFor:x},f))),m&&t("div",{onClick:g,class:{"dynamic-container":true,hidden:e==="dynamic"&&!k}},e==="dynamic"&&t("div",{class:"branch-corner"}),t("div",null,e==="dynamic"&&t("ic-typography",{variant:"caption"},t("p",{class:"dynamic-text"},o)),t("div",{class:{"additional-field-wrapper":e==="static"}},t("slot",{name:p})))))}static get delegatesFocus(){return true}get el(){return o(this)}static get watchers(){return{selected:["watchSelectedHandler"]}}};b.style=h;export{b as ic_radio_option};
2
- //# sourceMappingURL=p-5a5a52d3.entry.js.map
1
+ import{r as e,c as i,h as t,H as a,g as o}from"./p-8455d1bb.js";import{m as r,i as c,l as n,j as s,a as d,d as l}from"./p-1b4f852c.js";import"./p-fd186591.js";const h='/*! 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:flex;flex-direction:column;width:-moz-fit-content;width:fit-content}:host([additional-field-display="static"]) ::slotted(ic-text-field){margin-top:calc(var(--ic-space-sm) / 2);margin-left:var(--ic-space-xl)}:host(.disabled){color:var(--ic-architectural-200)}.container input:focus+span.checkmark,:host(:focus) .container input:checked+span.checkmark{box-shadow:var(--ic-border-focus)}.container{display:grid;grid-template-columns:min-content auto;position:relative;cursor:pointer;align-items:center;margin:var(--ic-space-xxs) 0 var(--ic-space-xxs) var(--ic-space-xxs)}.container.disabled,.container.disabled input:disabled{cursor:default}.container input{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-block;position:absolute;cursor:pointer;height:var(--ic-space-lg);width:var(--ic-space-lg);border-radius:50%;border:none}.checkmark{display:block;position:relative;top:0;left:0;height:var(--ic-space-lg);width:var(--ic-space-lg);background-color:var(--ic-architectural-white);border:var(--ic-border-default);border-radius:50%;transition:var(--ic-easing-transition-fast);box-sizing:border-box}.container input:checked~.checkmark::after{display:inline-block}.container:hover input~.checkmark{background-color:var(--ic-action-default-bg-hover-no-alpha);box-shadow:0 0 0 0.25rem var(--ic-action-default-bg-hover);border:var(--ic-border-width) solid var(--ic-action-default)}.container:active input~.checkmark{background-color:var(--ic-action-default-bg-active-no-alpha);border:var(--ic-border-width) solid var(--ic-action-default-active);box-shadow:0 0 0 0.25rem var(--ic-action-default-bg-active)}.container:active input:checked~.checkmark{background-color:var(--ic-action-default-bg-active);border:0.125rem solid var(--ic-action-default-active);box-shadow:0 0 0 0.25rem var(--ic-action-default-bg-active)}.container:active input:checked~.checkmark::after{background-color:var(--ic-action-default-active)}.container input:checked~.checkmark{border:0.125rem solid var(--ic-action-default)}.container input:checked:disabled~.checkmark{background-color:var(--ic-architectural-white);border:0.125rem solid var(--ic-architectural-200)}.container input:disabled~.checkmark{border:var(--ic-border-width) dashed var(--ic-architectural-200)}.container input:disabled~.checkmark::after{background:var(--ic-architectural-200)}.container:hover input:disabled~.checkmark{background-color:var(--ic-architectural-white);box-shadow:none;border:0.125rem solid none}.container:active input:disabled~.checkmark::after{background-color:var(--ic-architectural-200)}.container .checkmark::after{content:"";position:absolute;display:none;top:calc(50% - var(--ic-space-xs));left:calc(50% - var(--ic-space-xs));width:var(--ic-space-md);height:var(--ic-space-md);border-radius:50%;background:var(--ic-action-default)}.radio-label{margin-left:var(--ic-space-md)}.additional-field-wrapper{margin-left:var(--ic-space-xs)}.branch-corner{color:var(--ic-action-default);height:var(--ic-space-md);width:var(--ic-space-xl);border-radius:0 0 0 0.188rem;border-bottom:0.125rem solid var(--ic-action-default);border-left:0.125rem solid var(--ic-action-default);margin-left:calc(-1 * var(--ic-space-1px))}.dynamic-container{display:flex;position:relative;margin:var(--ic-space-xxxs) 0 var(--ic-space-xxs) var(--ic-space-md);gap:var(--ic-space-xs)}.dynamic-container.hidden{display:none}.dynamic-text{color:var(--ic-action-default);margin-top:calc(var(--ic-space-sm) / 2);margin-bottom:var(--ic-space-xs);border-radius:2%}@media (max-width: 576px){::slotted(ic-text-field){--input-width:100%}}@media (forced-colors: active){.container input:checked~.checkmark,.container:active input:checked~.checkmark{border-color:Highlight}.container input:checked~.checkmark::after,.container:active input:checked~.checkmark::after{background-color:Highlight}.container input:disabled~.checkmark,.container input:checked:disabled~.checkmark{border-color:GrayText}.container input:disabled~.checkmark::after,.container:active input:disabled~.checkmark::after{background-color:GrayText}}';const p="additional-field";const u="ic-text-field";const b=class{constructor(t){e(this,t);this.icCheck=i(this,"icCheck",7);this.radioOptionSelect=i(this,"radioOptionSelect",7);this.icSelectedChange=i(this,"icSelectedChange",7);this.defaultRadioValue="";this.hasAdditionalField=false;this.skipFocus=false;this.handleClick=()=>{if(!this.disabled){if(this.skipFocus===false){this.radioElement.focus()}this.skipFocus=false;if(this.hasAdditionalField){this.value=this.el.querySelector(u).value||this.defaultRadioValue}this.icCheck.emit({value:this.value});this.radioOptionSelect.emit({value:this.value})}};this.swallowClick=e=>{e.stopPropagation()};this.handleFormReset=()=>{this.skipFocus=true;this.selected=this.initiallySelected};this.additionalFieldDisplay="static";this.disabled=false;this.dynamicText="This selection requires additional answers";this.form=undefined;this.formaction=undefined;this.formenctype=undefined;this.formmethod=undefined;this.formnovalidate=undefined;this.formtarget=undefined;this.groupLabel=undefined;this.label=undefined;this.name=undefined;this.value=undefined;this.selected=false;this.initiallySelected=this.selected}watchSelectedHandler(){this.icSelectedChange.emit()}disconnectedCallback(){r(this.el,this.handleFormReset)}componentWillLoad(){if(c(this.el,p)){this.hasAdditionalField=true;const e=this.el.querySelector(u);if(e)e.hiddenInput=false}this.defaultRadioValue=this.value;n(this.el,this.handleFormReset);s(this.disabled,this.el)}componentDidLoad(){d([{prop:this.value,propName:"value"}],"Radio Option")}componentWillRender(){const e=c(this.el,p);if(e&&!this.hasAdditionalField){this.hasAdditionalField=true;const e=this.el.querySelector(u);if(e)e.hiddenInput=false}else if(!e&&this.hasAdditionalField){this.hasAdditionalField=false}}componentDidRender(){if(this.additionalFieldDisplay==="static"){const e=this.el.querySelector(u);if(!this.selected||this.disabled){e===null||e===void 0?void 0:e.setAttribute("disabled","")}else{e===null||e===void 0?void 0:e.removeAttribute("disabled")}}}textfieldValueHandler(e){if(this.selected){this.value=e.detail.value||this.defaultRadioValue;this.icCheck.emit({value:this.value});this.radioOptionSelect.emit({value:this.value})}e.stopImmediatePropagation()}async setFocus(){var e;(e=this.radioElement)===null||e===void 0?void 0:e.focus()}async setTabIndex(e){this.radioElement.tabIndex=e}render(){const{additionalFieldDisplay:e,disabled:i,dynamicText:o,form:r,formaction:c,formenctype:n,formmethod:s,formnovalidate:d,formtarget:h,groupLabel:u,handleClick:b,hasAdditionalField:m,label:f,name:v,selected:k,swallowClick:g,value:y}=this;const x=`ic-radio-option-${l(f)||y}-${u}`;return t(a,{onClick:b,class:{disabled:i}},t("div",{class:{["container"]:true,disabled:i}},t("div",null,t("input",{role:"radio",tabindex:k?"0":"-1",type:"radio",name:v,id:x,value:y,disabled:i?true:null,checked:k,ref:e=>this.radioElement=e,form:r,formaction:c,formenctype:n,formmethod:s,formnovalidate:d,formtarget:h}),t("span",{class:"checkmark"})),t("ic-typography",{class:"radio-label",variant:"body"},t("label",{htmlFor:x},f))),m&&t("div",{onClick:g,class:{"dynamic-container":true,hidden:e==="dynamic"&&!k}},e==="dynamic"&&t("div",{class:"branch-corner"}),t("div",null,e==="dynamic"&&t("ic-typography",{variant:"caption"},t("p",{class:"dynamic-text"},o)),t("div",{class:{"additional-field-wrapper":e==="static"}},t("slot",{name:p})))))}static get delegatesFocus(){return true}get el(){return o(this)}static get watchers(){return{selected:["watchSelectedHandler"]}}};b.style=h;export{b as ic_radio_option};
2
+ //# sourceMappingURL=p-5dfd9074.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["icRadioOptionCss","ADDITIONAL_FIELD","TEXT_FIELD_SELECTOR","RadioOption","constructor","hostRef","this","defaultRadioValue","hasAdditionalField","skipFocus","handleClick","disabled","radioElement","focus","value","el","querySelector","icCheck","emit","radioOptionSelect","swallowClick","event","stopPropagation","handleFormReset","selected","initiallySelected","additionalFieldDisplay","dynamicText","form","undefined","formaction","formenctype","formmethod","formnovalidate","formtarget","groupLabel","label","name","watchSelectedHandler","icSelectedChange","disconnectedCallback","removeFormResetListener","componentWillLoad","isSlotUsed","textField","hiddenInput","addFormResetListener","removeDisabledFalse","componentDidLoad","onComponentRequiredPropUndefined","prop","propName","componentWillRender","hasSlot","componentDidRender","textfield","setAttribute","removeAttribute","textfieldValueHandler","detail","stopImmediatePropagation","setFocus","_a","setTabIndex","tabIndex","render","id","isPropDefined","h","Host","onClick","class","role","tabindex","type","checked","ref","variant","htmlFor","hidden","delegatesFocus"],"sources":["../web-components/dist/collection/components/ic-radio-option/ic-radio-option.css?tag=ic-radio-option&encapsulation=shadow","../web-components/dist/collection/components/ic-radio-option/ic-radio-option.js"],"sourcesContent":["/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput {\n /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect {\n /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n\nhtml,\nbody,\ndiv,\nspan,\napplet,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\npre,\na,\nabbr,\nacronym,\naddress,\nbig,\ncite,\ncode,\ndel,\ndfn,\nem,\nimg,\nins,\nkbd,\nq,\ns,\nsamp,\nsmall,\nstrike,\nstrong,\nsub,\nsup,\ntt,\nvar,\nb,\nu,\ni,\ncenter,\ndl,\ndt,\ndd,\nol,\nul,\nli,\nfieldset,\nform,\nlabel,\nlegend,\ntable,\ncaption,\ntbody,\ntfoot,\nthead,\ntr,\nth,\ntd,\narticle,\naside,\ncanvas,\ndetails,\nembed,\nfigure,\nfigcaption,\nfooter,\nheader,\nhgroup,\nmenu,\nnav,\noutput,\nruby,\nsection,\nsummary,\ntime,\nmark,\naudio,\nvideo {\n margin: 0;\n padding: 0;\n border: 0;\n font-size: 100%;\n font-style: inherit;\n vertical-align: baseline;\n}\n\n\n:host {\n display: flex;\n flex-direction: column;\n width: -moz-fit-content;\n width: fit-content;\n}\n\n:host([additional-field-display=\"static\"]) ::slotted(ic-text-field) {\n margin-top: calc(var(--ic-space-sm) / 2);\n margin-left: var(--ic-space-xl);\n}\n\n/* The label turns grey when disabled */\n:host(.disabled) {\n color: var(--ic-architectural-200);\n}\n\n/* Focus states */\n\n.container input:focus + span.checkmark,\n:host(:focus) .container input:checked + span.checkmark {\n box-shadow: var(--ic-border-focus);\n}\n\n/* The container */\n.container {\n display: grid;\n grid-template-columns: min-content auto;\n position: relative;\n cursor: pointer;\n align-items: center;\n margin: var(--ic-space-xxs) 0 var(--ic-space-xxs) var(--ic-space-xxs);\n}\n\n.container.disabled,\n.container.disabled input:disabled {\n cursor: default;\n}\n\n/* Hide the browser's default radio button */\n.container input {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n display: inline-block;\n position: absolute;\n cursor: pointer;\n height: var(--ic-space-lg);\n width: var(--ic-space-lg);\n border-radius: 50%;\n border: none;\n}\n\n/* Create a custom radio button */\n.checkmark {\n display: block;\n position: relative;\n top: 0;\n left: 0;\n height: var(--ic-space-lg);\n width: var(--ic-space-lg);\n background-color: var(--ic-architectural-white);\n border: var(--ic-border-default);\n border-radius: 50%;\n transition: var(--ic-easing-transition-fast);\n box-sizing: border-box;\n}\n\n/* Show the indicator (dot/circle) when checked */\n.container input:checked ~ .checkmark::after {\n display: inline-block;\n}\n\n/* On mouse-over, add a light blue background color */\n.container:hover input ~ .checkmark {\n background-color: var(--ic-action-default-bg-hover-no-alpha);\n box-shadow: 0 0 0 0.25rem var(--ic-action-default-bg-hover);\n border: var(--ic-border-width) solid var(--ic-action-default);\n}\n\n/* When pressed, adds the active colours */\n.container:active input ~ .checkmark {\n background-color: var(--ic-action-default-bg-active-no-alpha);\n border: var(--ic-border-width) solid var(--ic-action-default-active);\n box-shadow: 0 0 0 0.25rem var(--ic-action-default-bg-active);\n}\n\n/* When pressed, adds the active colours */\n.container:active input:checked ~ .checkmark {\n background-color: var(--ic-action-default-bg-active);\n border: 0.125rem solid var(--ic-action-default-active);\n box-shadow: 0 0 0 0.25rem var(--ic-action-default-bg-active);\n}\n\n/* When pressed and selected, adds the active colours */\n.container:active input:checked ~ .checkmark::after {\n background-color: var(--ic-action-default-active);\n}\n\n/* When the radio button is checked */\n.container input:checked ~ .checkmark {\n border: 0.125rem solid var(--ic-action-default);\n}\n\n/* When the radio button is checked and disabled */\n.container input:checked:disabled ~ .checkmark {\n background-color: var(--ic-architectural-white);\n border: 0.125rem solid var(--ic-architectural-200);\n}\n\n/* When the radio button is disabled */\n.container input:disabled ~ .checkmark {\n border: var(--ic-border-width) dashed var(--ic-architectural-200);\n}\n\n/* When the radio button is disabled */\n.container input:disabled ~ .checkmark::after {\n background: var(--ic-architectural-200);\n}\n\n/* On mouse-over inactive */\n.container:hover input:disabled ~ .checkmark {\n background-color: var(--ic-architectural-white);\n box-shadow: none;\n border: 0.125rem solid none;\n}\n\n.container:active input:disabled ~ .checkmark::after {\n background-color: var(--ic-architectural-200);\n}\n\n/* Style the indicator (dot/circle) */\n.container .checkmark::after {\n content: \"\";\n position: absolute;\n display: none;\n top: calc(50% - var(--ic-space-xs));\n left: calc(50% - var(--ic-space-xs));\n width: var(--ic-space-md);\n height: var(--ic-space-md);\n border-radius: 50%;\n background: var(--ic-action-default);\n}\n\n.radio-label {\n margin-left: var(--ic-space-md);\n}\n\n.additional-field-wrapper {\n margin-left: var(--ic-space-xs);\n}\n\n/* The line */\n.branch-corner {\n color: var(--ic-action-default);\n height: var(--ic-space-md);\n width: var(--ic-space-xl);\n border-radius: 0 0 0 0.188rem;\n border-bottom: 0.125rem solid var(--ic-action-default);\n border-left: 0.125rem solid var(--ic-action-default);\n margin-left: calc(-1 * var(--ic-space-1px));\n}\n\n/* The dynamic container */\n.dynamic-container {\n display: flex;\n position: relative;\n margin: var(--ic-space-xxxs) 0 var(--ic-space-xxs) var(--ic-space-md);\n gap: var(--ic-space-xs);\n}\n\n.dynamic-container.hidden {\n display: none;\n}\n\n.dynamic-text {\n color: var(--ic-action-default);\n margin-top: calc(var(--ic-space-sm) / 2);\n margin-bottom: var(--ic-space-xs);\n border-radius: 2%;\n}\n\n@media (max-width: 576px) {\n ::slotted(ic-text-field) {\n --input-width: 100%;\n }\n}\n\n@media (forced-colors: active) {\n /* Styles here only apply to Forced Colors Mode */\n\n .container input:checked ~ .checkmark,\n .container:active input:checked ~ .checkmark {\n border-color: Highlight;\n }\n\n .container input:checked ~ .checkmark::after,\n .container:active input:checked ~ .checkmark::after {\n background-color: Highlight;\n }\n\n .container input:disabled ~ .checkmark,\n .container input:checked:disabled ~ .checkmark {\n border-color: GrayText;\n }\n\n .container input:disabled ~ .checkmark::after,\n .container:active input:disabled ~ .checkmark::after {\n background-color: GrayText;\n }\n}\n","import { Host, h, } from \"@stencil/core\";\nimport { onComponentRequiredPropUndefined, addFormResetListener, removeFormResetListener, removeDisabledFalse, isPropDefined, isSlotUsed, } from \"../../utils/helpers\";\nconst ADDITIONAL_FIELD = \"additional-field\";\nconst TEXT_FIELD_SELECTOR = \"ic-text-field\";\n/**\n * @slot additional-field - Content to displayed alongside a radio option.\n */\nexport class RadioOption {\n constructor() {\n this.defaultRadioValue = \"\";\n this.hasAdditionalField = false;\n this.skipFocus = false;\n this.handleClick = () => {\n if (!this.disabled) {\n if (this.skipFocus === false) {\n this.radioElement.focus();\n }\n this.skipFocus = false;\n if (this.hasAdditionalField) {\n this.value =\n this.el.querySelector(TEXT_FIELD_SELECTOR).value ||\n this.defaultRadioValue;\n }\n this.icCheck.emit({\n value: this.value,\n });\n this.radioOptionSelect.emit({\n value: this.value,\n });\n }\n };\n this.swallowClick = (event) => {\n event.stopPropagation();\n };\n this.handleFormReset = () => {\n this.skipFocus = true;\n this.selected = this.initiallySelected;\n };\n this.additionalFieldDisplay = \"static\";\n this.disabled = false;\n this.dynamicText = \"This selection requires additional answers\";\n this.form = undefined;\n this.formaction = undefined;\n this.formenctype = undefined;\n this.formmethod = undefined;\n this.formnovalidate = undefined;\n this.formtarget = undefined;\n this.groupLabel = undefined;\n this.label = undefined;\n this.name = undefined;\n this.value = undefined;\n this.selected = false;\n this.initiallySelected = this.selected;\n }\n watchSelectedHandler() {\n this.icSelectedChange.emit();\n }\n disconnectedCallback() {\n removeFormResetListener(this.el, this.handleFormReset);\n }\n componentWillLoad() {\n if (isSlotUsed(this.el, ADDITIONAL_FIELD)) {\n this.hasAdditionalField = true;\n const textField = this.el.querySelector(TEXT_FIELD_SELECTOR);\n if (textField)\n textField.hiddenInput = false;\n }\n this.defaultRadioValue = this.value;\n addFormResetListener(this.el, this.handleFormReset);\n removeDisabledFalse(this.disabled, this.el);\n }\n componentDidLoad() {\n onComponentRequiredPropUndefined([{ prop: this.value, propName: \"value\" }], \"Radio Option\");\n }\n componentWillRender() {\n const hasSlot = isSlotUsed(this.el, ADDITIONAL_FIELD);\n if (hasSlot && !this.hasAdditionalField) {\n this.hasAdditionalField = true;\n const textField = this.el.querySelector(TEXT_FIELD_SELECTOR);\n if (textField)\n textField.hiddenInput = false;\n }\n else if (!hasSlot && this.hasAdditionalField) {\n this.hasAdditionalField = false;\n }\n }\n componentDidRender() {\n if (this.additionalFieldDisplay === \"static\") {\n const textfield = this.el.querySelector(TEXT_FIELD_SELECTOR);\n if (!this.selected || this.disabled) {\n textfield === null || textfield === void 0 ? void 0 : textfield.setAttribute(\"disabled\", \"\");\n }\n else {\n textfield === null || textfield === void 0 ? void 0 : textfield.removeAttribute(\"disabled\");\n }\n }\n }\n textfieldValueHandler(event) {\n if (this.selected) {\n this.value = event.detail.value || this.defaultRadioValue;\n this.icCheck.emit({\n value: this.value,\n });\n this.radioOptionSelect.emit({\n value: this.value,\n });\n }\n event.stopImmediatePropagation();\n }\n /**\n * Sets focus on the radio option.\n */\n async setFocus() {\n var _a;\n (_a = this.radioElement) === null || _a === void 0 ? void 0 : _a.focus();\n }\n /**\n * @internal Sets the tabIndex of the radio option.\n */\n async setTabIndex(value) {\n this.radioElement.tabIndex = value;\n }\n render() {\n const { additionalFieldDisplay, disabled, dynamicText, form, formaction, formenctype, formmethod, formnovalidate, formtarget, groupLabel, handleClick, hasAdditionalField, label, name, selected, swallowClick, value, } = this;\n const id = `ic-radio-option-${isPropDefined(label) || value}-${groupLabel}`;\n return (h(Host, { onClick: handleClick, class: { disabled } }, h(\"div\", { class: { [\"container\"]: true, disabled } }, h(\"div\", null, h(\"input\", { role: \"radio\", tabindex: selected ? \"0\" : \"-1\", type: \"radio\", name: name, id: id, value: value, disabled: disabled ? true : null, checked: selected, ref: (el) => (this.radioElement = el), form: form, formaction: formaction, formenctype: formenctype, formmethod: formmethod, formnovalidate: formnovalidate, formtarget: formtarget }), h(\"span\", { class: \"checkmark\" })), h(\"ic-typography\", { class: \"radio-label\", variant: \"body\" }, h(\"label\", { htmlFor: id }, label))), hasAdditionalField && (h(\"div\", { onClick: swallowClick, class: {\n \"dynamic-container\": true,\n hidden: additionalFieldDisplay === \"dynamic\" && !selected,\n } }, additionalFieldDisplay === \"dynamic\" && (h(\"div\", { class: \"branch-corner\" })), h(\"div\", null, additionalFieldDisplay === \"dynamic\" && (h(\"ic-typography\", { variant: \"caption\" }, h(\"p\", { class: \"dynamic-text\" }, dynamicText))), h(\"div\", { class: {\n \"additional-field-wrapper\": additionalFieldDisplay === \"static\",\n } }, h(\"slot\", { name: ADDITIONAL_FIELD })))))));\n }\n static get is() { return \"ic-radio-option\"; }\n static get encapsulation() { return \"shadow\"; }\n static get delegatesFocus() { return true; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"ic-radio-option.css\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ic-radio-option.css\"]\n };\n }\n static get properties() {\n return {\n \"additionalFieldDisplay\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcAdditionalFieldTypes\",\n \"resolved\": \"\\\"dynamic\\\" | \\\"static\\\"\",\n \"references\": {\n \"IcAdditionalFieldTypes\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcAdditionalFieldTypes\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The style of additionalField that will be displayed if used.\"\n },\n \"attribute\": \"additional-field-display\",\n \"reflect\": true,\n \"defaultValue\": \"\\\"static\\\"\"\n },\n \"disabled\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the disabled state will be set.\"\n },\n \"attribute\": \"disabled\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"dynamicText\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The text to be displayed when dynamic.\"\n },\n \"attribute\": \"dynamic-text\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"This selection requires additional answers\\\"\"\n },\n \"form\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The <form> element to associate the radio with.\"\n },\n \"attribute\": \"form\",\n \"reflect\": false\n },\n \"formaction\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The URL that processes the information submitted by the radio. It overrides the action attribute of the radio's form owner. Does nothing if there is no form owner.\"\n },\n \"attribute\": \"formaction\",\n \"reflect\": false\n },\n \"formenctype\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The way the submitted form data is encoded.\"\n },\n \"attribute\": \"formenctype\",\n \"reflect\": false\n },\n \"formmethod\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The HTTP method used to submit the form.\"\n },\n \"attribute\": \"formmethod\",\n \"reflect\": false\n },\n \"formnovalidate\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the form will not be validated when submitted.\"\n },\n \"attribute\": \"formnovalidate\",\n \"reflect\": false\n },\n \"formtarget\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The place to display the response from submitting the form. It overrides the target attribute of the radio's form owner.\"\n },\n \"attribute\": \"formtarget\",\n \"reflect\": false\n },\n \"groupLabel\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The group label for the radio option.\"\n },\n \"attribute\": \"group-label\",\n \"reflect\": false\n },\n \"label\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The label for the radio option.\"\n },\n \"attribute\": \"label\",\n \"reflect\": false\n },\n \"name\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The name for the radio option.\"\n },\n \"attribute\": \"name\",\n \"reflect\": false\n },\n \"value\": {\n \"type\": \"string\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": true,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The value for the radio option.\"\n },\n \"attribute\": \"value\",\n \"reflect\": false\n },\n \"selected\": {\n \"type\": \"boolean\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the radio option will be displayed in a selected state.\"\n },\n \"attribute\": \"selected\",\n \"reflect\": true,\n \"defaultValue\": \"false\"\n }\n };\n }\n static get states() {\n return {\n \"initiallySelected\": {}\n };\n }\n static get events() {\n return [{\n \"method\": \"icCheck\",\n \"name\": \"icCheck\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when the radio option is selected.\"\n },\n \"complexType\": {\n \"original\": \"IcValueEventDetail\",\n \"resolved\": \"IcValueEventDetail\",\n \"references\": {\n \"IcValueEventDetail\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcValueEventDetail\"\n }\n }\n }\n }, {\n \"method\": \"radioOptionSelect\",\n \"name\": \"radioOptionSelect\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"deprecated\",\n \"text\": \"This event should not be used anymore. Use icCheck instead.\"\n }],\n \"text\": \"\"\n },\n \"complexType\": {\n \"original\": \"IcValueEventDetail\",\n \"resolved\": \"IcValueEventDetail\",\n \"references\": {\n \"IcValueEventDetail\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcValueEventDetail\"\n }\n }\n }\n }, {\n \"method\": \"icSelectedChange\",\n \"name\": \"icSelectedChange\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when the radio option is selected or deselected.\"\n },\n \"complexType\": {\n \"original\": \"void\",\n \"resolved\": \"void\",\n \"references\": {}\n }\n }];\n }\n static get methods() {\n return {\n \"setFocus\": {\n \"complexType\": {\n \"signature\": \"() => Promise<void>\",\n \"parameters\": [],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"Sets focus on the radio option.\",\n \"tags\": []\n }\n },\n \"setTabIndex\": {\n \"complexType\": {\n \"signature\": \"(value: number) => Promise<void>\",\n \"parameters\": [{\n \"name\": \"value\",\n \"type\": \"number\",\n \"docs\": \"\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"\",\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"Sets the tabIndex of the radio option.\"\n }]\n }\n }\n };\n }\n static get elementRef() { return \"el\"; }\n static get watchers() {\n return [{\n \"propName\": \"selected\",\n \"methodName\": \"watchSelectedHandler\"\n }];\n }\n static get listeners() {\n return [{\n \"name\": \"icChange\",\n \"method\": \"textfieldValueHandler\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }];\n }\n}\n//# sourceMappingURL=ic-radio-option.js.map\n"],"mappings":"+JAAA,MAAMA,EAAmB,60MCEzB,MAAMC,EAAmB,mBACzB,MAAMC,EAAsB,gB,MAIfC,EAAW,MACpB,WAAAC,CAAAC,G,mJACIC,KAAKC,kBAAoB,GACzBD,KAAKE,mBAAqB,MAC1BF,KAAKG,UAAY,MACjBH,KAAKI,YAAc,KACf,IAAKJ,KAAKK,SAAU,CAChB,GAAIL,KAAKG,YAAc,MAAO,CAC1BH,KAAKM,aAAaC,O,CAEtBP,KAAKG,UAAY,MACjB,GAAIH,KAAKE,mBAAoB,CACzBF,KAAKQ,MACDR,KAAKS,GAAGC,cAAcd,GAAqBY,OACvCR,KAAKC,iB,CAEjBD,KAAKW,QAAQC,KAAK,CACdJ,MAAOR,KAAKQ,QAEhBR,KAAKa,kBAAkBD,KAAK,CACxBJ,MAAOR,KAAKQ,O,GAIxBR,KAAKc,aAAgBC,IACjBA,EAAMC,iBAAiB,EAE3BhB,KAAKiB,gBAAkB,KACnBjB,KAAKG,UAAY,KACjBH,KAAKkB,SAAWlB,KAAKmB,iBAAiB,EAE1CnB,KAAKoB,uBAAyB,SAC9BpB,KAAKK,SAAW,MAChBL,KAAKqB,YAAc,6CACnBrB,KAAKsB,KAAOC,UACZvB,KAAKwB,WAAaD,UAClBvB,KAAKyB,YAAcF,UACnBvB,KAAK0B,WAAaH,UAClBvB,KAAK2B,eAAiBJ,UACtBvB,KAAK4B,WAAaL,UAClBvB,KAAK6B,WAAaN,UAClBvB,KAAK8B,MAAQP,UACbvB,KAAK+B,KAAOR,UACZvB,KAAKQ,MAAQe,UACbvB,KAAKkB,SAAW,MAChBlB,KAAKmB,kBAAoBnB,KAAKkB,Q,CAElC,oBAAAc,GACIhC,KAAKiC,iBAAiBrB,M,CAE1B,oBAAAsB,GACIC,EAAwBnC,KAAKS,GAAIT,KAAKiB,gB,CAE1C,iBAAAmB,GACI,GAAIC,EAAWrC,KAAKS,GAAId,GAAmB,CACvCK,KAAKE,mBAAqB,KAC1B,MAAMoC,EAAYtC,KAAKS,GAAGC,cAAcd,GACxC,GAAI0C,EACAA,EAAUC,YAAc,K,CAEhCvC,KAAKC,kBAAoBD,KAAKQ,MAC9BgC,EAAqBxC,KAAKS,GAAIT,KAAKiB,iBACnCwB,EAAoBzC,KAAKK,SAAUL,KAAKS,G,CAE5C,gBAAAiC,GACIC,EAAiC,CAAC,CAAEC,KAAM5C,KAAKQ,MAAOqC,SAAU,UAAY,e,CAEhF,mBAAAC,GACI,MAAMC,EAAUV,EAAWrC,KAAKS,GAAId,GACpC,GAAIoD,IAAY/C,KAAKE,mBAAoB,CACrCF,KAAKE,mBAAqB,KAC1B,MAAMoC,EAAYtC,KAAKS,GAAGC,cAAcd,GACxC,GAAI0C,EACAA,EAAUC,YAAc,K,MAE3B,IAAKQ,GAAW/C,KAAKE,mBAAoB,CAC1CF,KAAKE,mBAAqB,K,EAGlC,kBAAA8C,GACI,GAAIhD,KAAKoB,yBAA2B,SAAU,CAC1C,MAAM6B,EAAYjD,KAAKS,GAAGC,cAAcd,GACxC,IAAKI,KAAKkB,UAAYlB,KAAKK,SAAU,CACjC4C,IAAc,MAAQA,SAAmB,OAAS,EAAIA,EAAUC,aAAa,WAAY,G,KAExF,CACDD,IAAc,MAAQA,SAAmB,OAAS,EAAIA,EAAUE,gBAAgB,W,GAI5F,qBAAAC,CAAsBrC,GAClB,GAAIf,KAAKkB,SAAU,CACflB,KAAKQ,MAAQO,EAAMsC,OAAO7C,OAASR,KAAKC,kBACxCD,KAAKW,QAAQC,KAAK,CACdJ,MAAOR,KAAKQ,QAEhBR,KAAKa,kBAAkBD,KAAK,CACxBJ,MAAOR,KAAKQ,O,CAGpBO,EAAMuC,0B,CAKV,cAAMC,GACF,IAAIC,GACHA,EAAKxD,KAAKM,gBAAkB,MAAQkD,SAAY,OAAS,EAAIA,EAAGjD,O,CAKrE,iBAAMkD,CAAYjD,GACdR,KAAKM,aAAaoD,SAAWlD,C,CAEjC,MAAAmD,GACI,MAAMvC,uBAAEA,EAAsBf,SAAEA,EAAQgB,YAAEA,EAAWC,KAAEA,EAAIE,WAAEA,EAAUC,YAAEA,EAAWC,WAAEA,EAAUC,eAAEA,EAAcC,WAAEA,EAAUC,WAAEA,EAAUzB,YAAEA,EAAWF,mBAAEA,EAAkB4B,MAAEA,EAAKC,KAAEA,EAAIb,SAAEA,EAAQJ,aAAEA,EAAYN,MAAEA,GAAWR,KAC3N,MAAM4D,EAAK,mBAAmBC,EAAc/B,IAAUtB,KAASqB,IAC/D,OAAQiC,EAAEC,EAAM,CAAEC,QAAS5D,EAAa6D,MAAO,CAAE5D,aAAcyD,EAAE,MAAO,CAAEG,MAAO,CAAE,CAAC,aAAc,KAAM5D,aAAcyD,EAAE,MAAO,KAAMA,EAAE,QAAS,CAAEI,KAAM,QAASC,SAAUjD,EAAW,IAAM,KAAMkD,KAAM,QAASrC,KAAMA,EAAM6B,GAAIA,EAAIpD,MAAOA,EAAOH,SAAUA,EAAW,KAAO,KAAMgE,QAASnD,EAAUoD,IAAM7D,GAAQT,KAAKM,aAAeG,EAAKa,KAAMA,EAAME,WAAYA,EAAYC,YAAaA,EAAaC,WAAYA,EAAYC,eAAgBA,EAAgBC,WAAYA,IAAekC,EAAE,OAAQ,CAAEG,MAAO,eAAiBH,EAAE,gBAAiB,CAAEG,MAAO,cAAeM,QAAS,QAAUT,EAAE,QAAS,CAAEU,QAASZ,GAAM9B,KAAU5B,GAAuB4D,EAAE,MAAO,CAAEE,QAASlD,EAAcmD,MAAO,CAChqB,oBAAqB,KACrBQ,OAAQrD,IAA2B,YAAcF,IAChDE,IAA2B,WAAc0C,EAAE,MAAO,CAAEG,MAAO,kBAAqBH,EAAE,MAAO,KAAM1C,IAA2B,WAAc0C,EAAE,gBAAiB,CAAES,QAAS,WAAaT,EAAE,IAAK,CAAEG,MAAO,gBAAkB5C,IAAgByC,EAAE,MAAO,CAAEG,MAAO,CACxP,2BAA4B7C,IAA2B,WACtD0C,EAAE,OAAQ,CAAE/B,KAAMpC,O,CAI/B,yBAAW+E,GAAmB,OAAO,IAAK,C"}
@@ -0,0 +1,2 @@
1
+ import{r as t,c as o,h as e,H as i,g as a}from"./p-8455d1bb.js";import{j as r,a as c,i as n}from"./p-1b4f852c.js";import"./p-fd186591.js";const s='/*! 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{--button-border:var(\n --toggle-button-border,\n var(--ic-border-width) solid var(--ic-action-default)\n )}:host(.dark){--button-border:var(\n --toggle-button-border,\n var(--ic-border-width) solid var(--ic-action-dark)\n )}:host(.light){--button-border:var(\n --toggle-button-border,\n var(--ic-border-width) solid var(--ic-action-light)\n )}:host(.disabled){--button-border:var(--toggle-button-border, var(--ic-border-disabled))}:host(.expand-toggle-group-child) ::part(button){width:100%;min-height:inherit;white-space:inherit;height:inherit}:host ic-button{--icon-width:var(--ic-space-lg);--icon-height:var(--ic-space-lg)}:host(.expand-toggle-group-child) ic-button{min-width:100%;min-height:100%;white-space:normal;height:100%}:host(.expand-toggle-group-child) ::part(button):focus,:host(.expand-toggle-group-child.checked) ::part(button):focus{box-shadow:inset 0 0 0 var(--ic-space-xxxs) var(--ic-action-default),\n var(--ic-border-focus)}:host(.expand-toggle-group-child.light) ::part(button):focus,:host(.expand-toggle-group-child.dark) ::part(button):focus{box-shadow:inset 0 0 0 var(--ic-space-xxxs) var(--ic-action-dark),\n var(--ic-border-focus)}:host(:focus){z-index:1}:host ::part(button){border:var(--button-border)}:host(.checked) ::part(button){background-color:var(--ic-action-default);color:var(--ic-architectural-white);box-shadow:inset 0 0 0 var(--ic-space-xxxs) var(--ic-architectural-white)}:host(.checked) ::part(button):focus{box-shadow:inset 0 0 0 var(--ic-space-xxxs) var(--ic-architectural-white),\n var(--ic-border-focus)}:host(.checked) ::part(button):hover{background-color:var(--button-default-hover)}:host(.checked) ::part(button):active,:host(.icon.checked) ::part(button):active{background-color:var(--ic-action-default-active)}:host(.dark.checked) ::part(button){background-color:var(--ic-action-dark)}:host(.dark.checked) ::part(button):hover{background-color:var(--ic-action-dark-hover)}:host(.dark.checked) ::part(button):active,:host(.icon.dark.checked) ::part(button):active{background-color:var(--ic-action-dark-active)}:host(.light.checked) ::part(button){background-color:var(--ic-action-light);color:var(--ic-color-primary-text);box-shadow:inset 0 0 0 var(--ic-space-xxxs) var(--ic-architectural-black)}:host(.light.checked) ::part(button):hover{background-color:var(--ic-action-light-hover)}:host(.light.checked) ::part(button):active,:host(.icon.light.checked) ::part(button):active{background-color:var(--ic-action-light-active)}:host(.light.checked) ::part(button):focus{box-shadow:inset 0 0 0 var(--ic-space-xxxs) var(--ic-architectural-black),\n var(--ic-border-focus)}:host(.disabled) ::part(button),:host(.icon.disabled) ::part(button){border:var(--button-border)}:host(.disabled.checked) ::part(button),:host(.icon.disabled.checked) ::part(button){background-color:transparent}:host(.disabled.checked) ::part(button),:host(.icon.disabled.checked) ::part(button)::before{background-image:radial-gradient(var(--ic-architectural-400) 95%, white 20%);background-repeat:no-repeat}:host(.icon) ::part(button){border:var(--button-border);height:calc(var(--ic-space-xl) + var(--ic-space-xs));width:calc(var(--ic-space-xl) + var(--ic-space-xs))}:host(.icon) ::part(button):active{background-color:var(--ic-action-default-bg-active)}:host(.icon.dark) ::part(button):active{background-color:var(--ic-action-dark-bg-active)}:host(.icon.light) ::part(button):active{background-color:var(--ic-action-light-bg-active)}:host(.icon.small) ::part(button){height:var(--ic-space-xl);width:var(--ic-space-xl)}:host(.icon.large) ::part(button){height:var(--ic-space-xxl);width:var(--ic-space-xxl)}:host(.checked.loading) ::part(button){background-color:var(--button-default-active)}:host(.loading) ::part(ic-loading-container){--inner-color:var(--ic-architectural-white)}:host(.checked.loading.light) ::part(button){background-color:var(--ic-action-light-active)}:host(.checked.loading.dark) ::part(button){background-color:var(--ic-action-dark-active)}@media (forced-colors: active){:host(.checked) ::part(button),:host(.checked) ::part(button):hover{background-color:Highlight}:host(.checked.light) ::part(button),:host(.checked.light) ::part(button):hover{background-color:Highlight}:host(.checked.dark) ::part(button),:host(.checked.dark) ::part(button):hover{background-color:Highlight}:host(.checked.disabled) ::part(button){background-color:GrayText}}';const h=class{constructor(e){t(this,e);this.icToggleChecked=o(this,"icToggleChecked",7);this.handleFocus=t=>{t.stopImmediatePropagation()};this.handleClick=()=>{!this.loading&&!this.disabled&&this.icToggleChecked.emit({checked:this.toggleChecked})};this.accessibleLabel=undefined;this.appearance="default";this.disabled=false;this.fullWidth=false;this.iconPlacement=undefined;this.label=undefined;this.loading=false;this.size="default";this.toggleChecked=false;this.variant="default"}componentWillLoad(){r(this.disabled,this.el);const t=this.el.parentElement.iconPlacement;this.iconPosition=this.iconPlacement||t}componentDidLoad(){c([{prop:this.variant==="icon"?this.accessibleLabel:this.label,propName:this.variant==="icon"?"accessible-label":"label"}],"Toggle button")}handleHostClick(t){if(this.disabled){t.stopImmediatePropagation()}else if(!this.loading){this.toggleChecked=!this.toggleChecked}}render(){return e(i,{class:{["disabled"]:this.disabled,["checked"]:this.toggleChecked,[`${this.appearance}`]:true,["icon"]:this.variant==="icon",[`${this.size}`]:true,["loading"]:this.loading},onFocus:this.handleFocus},e("ic-button",{"aria-pressed":this.toggleChecked.toString(),variant:this.variant==="icon"?"icon":"secondary",onClick:this.handleClick,title:this.accessibleLabel,"aria-label":`${this.accessibleLabel?this.accessibleLabel:this.label}, ${this.toggleChecked?"ticked":"unticked"}`,disabled:this.disabled,appearance:this.appearance,size:this.size,fullWidth:this.fullWidth,loading:this.loading,"aria-disabled":`${this.disabled}`},this.variant!=="icon"&&this.label,e("slot",null),n(this.el,"icon")&&e("slot",{name:"icon",slot:`${this.iconPosition?`${this.iconPosition}-icon`:"icon"}`}),n(this.el,"badge")&&e("slot",{name:"badge",slot:"badge"})))}static get delegatesFocus(){return true}get el(){return a(this)}};h.style=s;export{h as ic_toggle_button};
2
+ //# sourceMappingURL=p-5fa17f98.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["icToggleButtonCss","ToggleButton","constructor","hostRef","this","handleFocus","ev","stopImmediatePropagation","handleClick","loading","disabled","icToggleChecked","emit","checked","toggleChecked","accessibleLabel","undefined","appearance","fullWidth","iconPlacement","label","size","variant","componentWillLoad","removeDisabledFalse","el","parentIconPlacement","parentElement","iconPosition","componentDidLoad","onComponentRequiredPropUndefined","prop","propName","handleHostClick","e","render","h","Host","class","onFocus","toString","onClick","title","isSlotUsed","name","slot","delegatesFocus"],"sources":["../web-components/dist/collection/components/ic-toggle-button/ic-toggle-button.css?tag=ic-toggle-button&encapsulation=shadow","../web-components/dist/collection/components/ic-toggle-button/ic-toggle-button.js"],"sourcesContent":["/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput {\n /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect {\n /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n\nhtml,\nbody,\ndiv,\nspan,\napplet,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\npre,\na,\nabbr,\nacronym,\naddress,\nbig,\ncite,\ncode,\ndel,\ndfn,\nem,\nimg,\nins,\nkbd,\nq,\ns,\nsamp,\nsmall,\nstrike,\nstrong,\nsub,\nsup,\ntt,\nvar,\nb,\nu,\ni,\ncenter,\ndl,\ndt,\ndd,\nol,\nul,\nli,\nfieldset,\nform,\nlabel,\nlegend,\ntable,\ncaption,\ntbody,\ntfoot,\nthead,\ntr,\nth,\ntd,\narticle,\naside,\ncanvas,\ndetails,\nembed,\nfigure,\nfigcaption,\nfooter,\nheader,\nhgroup,\nmenu,\nnav,\noutput,\nruby,\nsection,\nsummary,\ntime,\nmark,\naudio,\nvideo {\n margin: 0;\n padding: 0;\n border: 0;\n font-size: 100%;\n font-style: inherit;\n vertical-align: baseline;\n}\n\n\n/* VARIABLES FOR IC-TOGGLE-BUTTON-GROUP */\n:host {\n --button-border: var(\n --toggle-button-border,\n var(--ic-border-width) solid var(--ic-action-default)\n );\n}\n\n:host(.dark) {\n --button-border: var(\n --toggle-button-border,\n var(--ic-border-width) solid var(--ic-action-dark)\n );\n}\n\n:host(.light) {\n --button-border: var(\n --toggle-button-border,\n var(--ic-border-width) solid var(--ic-action-light)\n );\n}\n\n:host(.disabled) {\n --button-border: var(--toggle-button-border, var(--ic-border-disabled));\n}\n\n:host(.expand-toggle-group-child) ::part(button) {\n width: 100%;\n min-height: inherit;\n white-space: inherit;\n height: inherit;\n}\n\n:host ic-button {\n --icon-width: var(--ic-space-lg);\n --icon-height: var(--ic-space-lg);\n}\n\n:host(.expand-toggle-group-child) ic-button {\n min-width: 100%;\n min-height: 100%;\n white-space: normal;\n height: 100%;\n}\n\n:host(.expand-toggle-group-child) ::part(button):focus,\n:host(.expand-toggle-group-child.checked) ::part(button):focus {\n box-shadow: inset 0 0 0 var(--ic-space-xxxs) var(--ic-action-default),\n var(--ic-border-focus);\n}\n\n:host(.expand-toggle-group-child.light) ::part(button):focus,\n:host(.expand-toggle-group-child.dark) ::part(button):focus {\n box-shadow: inset 0 0 0 var(--ic-space-xxxs) var(--ic-action-dark),\n var(--ic-border-focus);\n}\n\n:host(:focus) {\n z-index: 1;\n}\n\n:host ::part(button) {\n border: var(--button-border);\n}\n\n:host(.checked) ::part(button) {\n background-color: var(--ic-action-default);\n color: var(--ic-architectural-white);\n box-shadow: inset 0 0 0 var(--ic-space-xxxs) var(--ic-architectural-white);\n}\n\n:host(.checked) ::part(button):focus {\n box-shadow: inset 0 0 0 var(--ic-space-xxxs) var(--ic-architectural-white),\n var(--ic-border-focus);\n}\n\n:host(.checked) ::part(button):hover {\n background-color: var(--button-default-hover);\n}\n\n:host(.checked) ::part(button):active,\n:host(.icon.checked) ::part(button):active {\n background-color: var(--ic-action-default-active);\n}\n\n:host(.dark.checked) ::part(button) {\n background-color: var(--ic-action-dark);\n}\n\n:host(.dark.checked) ::part(button):hover {\n background-color: var(--ic-action-dark-hover);\n}\n\n:host(.dark.checked) ::part(button):active,\n:host(.icon.dark.checked) ::part(button):active {\n background-color: var(--ic-action-dark-active);\n}\n\n:host(.light.checked) ::part(button) {\n background-color: var(--ic-action-light);\n color: var(--ic-color-primary-text);\n box-shadow: inset 0 0 0 var(--ic-space-xxxs) var(--ic-architectural-black);\n}\n\n:host(.light.checked) ::part(button):hover {\n background-color: var(--ic-action-light-hover);\n}\n\n:host(.light.checked) ::part(button):active,\n:host(.icon.light.checked) ::part(button):active {\n background-color: var(--ic-action-light-active);\n}\n\n:host(.light.checked) ::part(button):focus {\n box-shadow: inset 0 0 0 var(--ic-space-xxxs) var(--ic-architectural-black),\n var(--ic-border-focus);\n}\n\n:host(.disabled) ::part(button),\n:host(.icon.disabled) ::part(button) {\n border: var(--button-border);\n}\n\n:host(.disabled.checked) ::part(button),\n:host(.icon.disabled.checked) ::part(button) {\n background-color: transparent;\n}\n\n:host(.disabled.checked) ::part(button),\n:host(.icon.disabled.checked) ::part(button)::before {\n background-image: radial-gradient(var(--ic-architectural-400) 95%, white 20%);\n background-repeat: no-repeat;\n}\n\n:host(.icon) ::part(button) {\n border: var(--button-border);\n height: calc(var(--ic-space-xl) + var(--ic-space-xs));\n width: calc(var(--ic-space-xl) + var(--ic-space-xs));\n}\n\n:host(.icon) ::part(button):active {\n background-color: var(--ic-action-default-bg-active);\n}\n\n:host(.icon.dark) ::part(button):active {\n background-color: var(--ic-action-dark-bg-active);\n}\n\n:host(.icon.light) ::part(button):active {\n background-color: var(--ic-action-light-bg-active);\n}\n\n:host(.icon.small) ::part(button) {\n height: var(--ic-space-xl);\n width: var(--ic-space-xl);\n}\n\n:host(.icon.large) ::part(button) {\n height: var(--ic-space-xxl);\n width: var(--ic-space-xxl);\n}\n\n:host(.checked.loading) ::part(button) {\n background-color: var(--button-default-active);\n}\n\n:host(.loading) ::part(ic-loading-container) {\n --inner-color: var(--ic-architectural-white);\n}\n\n:host(.checked.loading.light) ::part(button) {\n background-color: var(--ic-action-light-active);\n}\n\n:host(.checked.loading.dark) ::part(button) {\n background-color: var(--ic-action-dark-active);\n}\n\n@media (forced-colors: active) {\n :host(.checked) ::part(button),\n :host(.checked) ::part(button):hover {\n background-color: Highlight;\n }\n\n :host(.checked.light) ::part(button),\n :host(.checked.light) ::part(button):hover {\n background-color: Highlight;\n }\n\n :host(.checked.dark) ::part(button),\n :host(.checked.dark) ::part(button):hover {\n background-color: Highlight;\n }\n\n :host(.checked.disabled) ::part(button) {\n background-color: GrayText;\n }\n}\n","import { Host, h, } from \"@stencil/core\";\nimport { isSlotUsed, onComponentRequiredPropUndefined, removeDisabledFalse, } from \"../../utils/helpers\";\n/**\n * @slot icon - Content will be displayed alongside the toggle button label.\n * @slot badge - Badge component overlaying the top right of the toggle button.\n */\nexport class ToggleButton {\n constructor() {\n this.handleFocus = (ev) => {\n ev.stopImmediatePropagation();\n };\n this.handleClick = () => {\n !this.loading &&\n !this.disabled &&\n this.icToggleChecked.emit({\n checked: this.toggleChecked,\n });\n };\n this.accessibleLabel = undefined;\n this.appearance = \"default\";\n this.disabled = false;\n this.fullWidth = false;\n this.iconPlacement = undefined;\n this.label = undefined;\n this.loading = false;\n this.size = \"default\";\n this.toggleChecked = false;\n this.variant = \"default\";\n }\n componentWillLoad() {\n removeDisabledFalse(this.disabled, this.el);\n const parentIconPlacement = this.el.parentElement.iconPlacement;\n this.iconPosition = this.iconPlacement || parentIconPlacement;\n }\n componentDidLoad() {\n onComponentRequiredPropUndefined([\n {\n prop: this.variant === \"icon\" ? this.accessibleLabel : this.label,\n propName: this.variant === \"icon\" ? \"accessible-label\" : \"label\",\n },\n ], \"Toggle button\");\n }\n handleHostClick(e) {\n if (this.disabled) {\n e.stopImmediatePropagation();\n }\n else if (!this.loading) {\n this.toggleChecked = !this.toggleChecked;\n }\n }\n render() {\n return (h(Host, { class: {\n [\"disabled\"]: this.disabled,\n [\"checked\"]: this.toggleChecked,\n [`${this.appearance}`]: true,\n [\"icon\"]: this.variant === \"icon\",\n [`${this.size}`]: true,\n [\"loading\"]: this.loading,\n }, onFocus: this.handleFocus }, h(\"ic-button\", { \"aria-pressed\": this.toggleChecked.toString(), variant: this.variant === \"icon\" ? \"icon\" : \"secondary\", onClick: this.handleClick, title: this.accessibleLabel, \"aria-label\": `${this.accessibleLabel ? this.accessibleLabel : this.label}, ${this.toggleChecked ? \"ticked\" : \"unticked\"}`, disabled: this.disabled, appearance: this.appearance, size: this.size, fullWidth: this.fullWidth, loading: this.loading, \"aria-disabled\": `${this.disabled}` }, this.variant !== \"icon\" && this.label, h(\"slot\", null), isSlotUsed(this.el, \"icon\") && (h(\"slot\", { name: \"icon\", slot: `${this.iconPosition ? `${this.iconPosition}-icon` : \"icon\"}` })), isSlotUsed(this.el, \"badge\") && (h(\"slot\", { name: \"badge\", slot: \"badge\" })))));\n }\n static get is() { return \"ic-toggle-button\"; }\n static get encapsulation() { return \"shadow\"; }\n static get delegatesFocus() { return true; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"ic-toggle-button.css\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ic-toggle-button.css\"]\n };\n }\n static get properties() {\n return {\n \"accessibleLabel\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The accessible label that will be applied to the toggle button. This is required for the icon variant of toggle buttons.\"\n },\n \"attribute\": \"accessible-label\",\n \"reflect\": false\n },\n \"appearance\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcThemeForeground\",\n \"resolved\": \"\\\"dark\\\" | \\\"default\\\" | \\\"light\\\"\",\n \"references\": {\n \"IcThemeForeground\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcThemeForeground\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The appearance of the toggle button.\"\n },\n \"attribute\": \"appearance\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"default\\\"\"\n },\n \"disabled\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the toggle button will be in disabled state.\"\n },\n \"attribute\": \"disabled\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"fullWidth\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the toggle button will fill the width of the container.\"\n },\n \"attribute\": \"full-width\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"iconPlacement\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"\\\"left\\\" | \\\"right\\\" | \\\"top\\\"\",\n \"resolved\": \"\\\"left\\\" | \\\"right\\\" | \\\"top\\\"\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The placement of the icon in relation to the toggle button label.\"\n },\n \"attribute\": \"icon-placement\",\n \"reflect\": false\n },\n \"label\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The label to display in the toggle button. This is required for the default variant of toggle buttons.\"\n },\n \"attribute\": \"label\",\n \"reflect\": false\n },\n \"loading\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the toggle button will be in loading state.\"\n },\n \"attribute\": \"loading\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"size\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcSizes\",\n \"resolved\": \"\\\"default\\\" | \\\"large\\\" | \\\"small\\\"\",\n \"references\": {\n \"IcSizes\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcSizes\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The size of the toggle button to be displayed.\"\n },\n \"attribute\": \"size\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"default\\\"\"\n },\n \"toggleChecked\": {\n \"type\": \"boolean\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the toggle button will be in a checked state.\"\n },\n \"attribute\": \"toggle-checked\",\n \"reflect\": true,\n \"defaultValue\": \"false\"\n },\n \"variant\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"\\\"default\\\" | \\\"icon\\\"\",\n \"resolved\": \"\\\"default\\\" | \\\"icon\\\"\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The variant of the toggle button.\"\n },\n \"attribute\": \"variant\",\n \"reflect\": true,\n \"defaultValue\": \"\\\"default\\\"\"\n }\n };\n }\n static get events() {\n return [{\n \"method\": \"icToggleChecked\",\n \"name\": \"icToggleChecked\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when the user clicks a toggle button.\"\n },\n \"complexType\": {\n \"original\": \"{\\n checked: boolean;\\n }\",\n \"resolved\": \"{ checked: boolean; }\",\n \"references\": {}\n }\n }];\n }\n static get elementRef() { return \"el\"; }\n static get listeners() {\n return [{\n \"name\": \"click\",\n \"method\": \"handleHostClick\",\n \"target\": undefined,\n \"capture\": true,\n \"passive\": false\n }];\n }\n}\n//# sourceMappingURL=ic-toggle-button.js.map\n"],"mappings":"0IAAA,MAAMA,EAAoB,irN,MCMbC,EAAY,MACrB,WAAAC,CAAAC,G,2DACIC,KAAKC,YAAeC,IAChBA,EAAGC,0BAA0B,EAEjCH,KAAKI,YAAc,MACdJ,KAAKK,UACDL,KAAKM,UACNN,KAAKO,gBAAgBC,KAAK,CACtBC,QAAST,KAAKU,eAChB,EAEVV,KAAKW,gBAAkBC,UACvBZ,KAAKa,WAAa,UAClBb,KAAKM,SAAW,MAChBN,KAAKc,UAAY,MACjBd,KAAKe,cAAgBH,UACrBZ,KAAKgB,MAAQJ,UACbZ,KAAKK,QAAU,MACfL,KAAKiB,KAAO,UACZjB,KAAKU,cAAgB,MACrBV,KAAKkB,QAAU,S,CAEnB,iBAAAC,GACIC,EAAoBpB,KAAKM,SAAUN,KAAKqB,IACxC,MAAMC,EAAsBtB,KAAKqB,GAAGE,cAAcR,cAClDf,KAAKwB,aAAexB,KAAKe,eAAiBO,C,CAE9C,gBAAAG,GACIC,EAAiC,CAC7B,CACIC,KAAM3B,KAAKkB,UAAY,OAASlB,KAAKW,gBAAkBX,KAAKgB,MAC5DY,SAAU5B,KAAKkB,UAAY,OAAS,mBAAqB,UAE9D,gB,CAEP,eAAAW,CAAgBC,GACZ,GAAI9B,KAAKM,SAAU,CACfwB,EAAE3B,0B,MAED,IAAKH,KAAKK,QAAS,CACpBL,KAAKU,eAAiBV,KAAKU,a,EAGnC,MAAAqB,GACI,OAAQC,EAAEC,EAAM,CAAEC,MAAO,CACjB,CAAC,YAAalC,KAAKM,SACnB,CAAC,WAAYN,KAAKU,cAClB,CAAC,GAAGV,KAAKa,cAAe,KACxB,CAAC,QAASb,KAAKkB,UAAY,OAC3B,CAAC,GAAGlB,KAAKiB,QAAS,KAClB,CAAC,WAAYjB,KAAKK,SACnB8B,QAASnC,KAAKC,aAAe+B,EAAE,YAAa,CAAE,eAAgBhC,KAAKU,cAAc0B,WAAYlB,QAASlB,KAAKkB,UAAY,OAAS,OAAS,YAAamB,QAASrC,KAAKI,YAAakC,MAAOtC,KAAKW,gBAAiB,aAAc,GAAGX,KAAKW,gBAAkBX,KAAKW,gBAAkBX,KAAKgB,UAAUhB,KAAKU,cAAgB,SAAW,aAAcJ,SAAUN,KAAKM,SAAUO,WAAYb,KAAKa,WAAYI,KAAMjB,KAAKiB,KAAMH,UAAWd,KAAKc,UAAWT,QAASL,KAAKK,QAAS,gBAAiB,GAAGL,KAAKM,YAAcN,KAAKkB,UAAY,QAAUlB,KAAKgB,MAAOgB,EAAE,OAAQ,MAAOO,EAAWvC,KAAKqB,GAAI,SAAYW,EAAE,OAAQ,CAAEQ,KAAM,OAAQC,KAAM,GAAGzC,KAAKwB,aAAe,GAAGxB,KAAKwB,oBAAsB,WAAce,EAAWvC,KAAKqB,GAAI,UAAaW,EAAE,OAAQ,CAAEQ,KAAM,QAASC,KAAM,W,CAIlvB,yBAAWC,GAAmB,OAAO,IAAK,C"}
@@ -1,2 +1,2 @@
1
- import{r as t,c as e,h as i,H as o,g as s}from"./p-8455d1bb.js";const n='/*! 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}:root{display:block}:host{display:flex;flex-direction:row;width:-moz-fit-content;width:fit-content;min-width:-moz-min-content;min-width:min-content;border:var(--ic-border-width) solid var(--ic-action-default);border-radius:var(--ic-border-radius)}:host(.full-width){width:100%;max-width:100%}:host(.loading){min-width:-moz-max-content;min-width:max-content}:host(:focus){box-shadow:var(--ic-border-focus);border-radius:var(--ic-border-radius);transition:var(--ic-transition-duration-fast);outline:none}::slotted(ic-toggle-button){flex-grow:1;--toggle-button-border:none;width:-moz-min-content;width:min-content}::slotted(ic-toggle-button:not(:last-of-type)){border-right:var(--ic-border-width) solid var(--ic-action-default)}:host(.disabled){border:var(--ic-border-disabled);pointer-events:none}:host(.disabled) ::slotted(ic-toggle-button:not(:last-of-type)){border-right:var(--ic-border-disabled)}:host(.dark){border:var(--ic-border-width) solid var(--ic-action-dark)}:host(.dark) ::slotted(ic-toggle-button:not(:last-of-type)){border-right:var(--ic-border-width) solid var(--ic-action-dark)}:host(.light) ::slotted(ic-toggle-button:not(:last-of-type)){border-right:var(--ic-border-width) solid var(--ic-action-light)}:host(.light){border:var(--ic-border-width) solid var(--ic-action-light)}';const r="IC-TOGGLE-BUTTON-GROUP";const a=class{constructor(i){t(this,i);this.icChange=e(this,"icChange",7);this.keyListener=t=>{this.lastKeyPressed={key:t.key,shift:t.shiftKey}};this.setSlottedAria=t=>{const e=t.shadowRoot.querySelector("ic-button").shadowRoot.querySelector("button");let i=e.getAttribute("aria-label");i+=", ";i+=this.accessibleLabel;e.setAttribute("aria-label",i)};this.handleHostFocus=t=>{if(this.loading||this.disabled){return null}const e=t.target;const i=t.relatedTarget;const o=Array.from(e.querySelectorAll("ic-toggle-button"));if((o.every((t=>!t.toggleChecked))||this.selectType!=="single")&&this.lastKeyPressed.shift===false||o.every((t=>!t.toggleChecked))&&this.lastKeyPressed.shift===true&&i.tagName==r){o[0].focus()}else if(this.lastKeyPressed.shift===false||this.lastKeyPressed.shift===true&&i.tagName==r){const t=o.filter((t=>t.toggleChecked));t[0].focus()}};this.handleKeyDown=t=>{const e=this.getAllToggleButtons();const i=e.indexOf(e.filter((t=>t===document.activeElement))[0]);switch(t.key){case"ArrowDown":case"ArrowRight":this.selectMethod==="auto"?this.proxySelectHandler(e[this.getNextItemToSelect(i,true)]):e[this.getNextItemToSelect(i,true)].focus();break;case"ArrowUp":case"ArrowLeft":this.selectMethod==="auto"?this.proxySelectHandler(e[this.getNextItemToSelect(i,false)]):e[this.getNextItemToSelect(i,false)].focus();break}};this.getNextItemToSelect=(t,e)=>{const i=this.getAllToggleButtons();const o=i.length-1;if(t<1){t=0}let s=e?t+1:t-1;if(s<0){s=o}else if(s>o){s=0}if(i[s].disabled){s=this.getNextItemToSelect(s,e)}return s};this.lastKeyPressed={key:null,shift:false};this.accessibleLabel="Toggle button group";this.appearance="default";this.disabled=false;this.fullWidth=false;this.iconPlacement=undefined;this.loading=false;this.selectMethod="manual";this.selectType="single";this.size="default";this.variant="default"}selectHandler(t,e){const i=this.getAllToggleButtons();let o=t.target;e&&e.focus();if(this.selectType==="single"){if(!o){o=e}i.forEach((t=>{if(t.id!==o.id&&t.toggleChecked){t.toggleChecked=false}}));this.icChange.emit({toggleChecked:t.detail.toggleChecked,selectedOption:o})}else{const t=this.getAllToggleButtons().filter((t=>t.toggleChecked&&!t.disabled));this.icChange.emit({toggleChecked:t.map((t=>t.toggleChecked)),toggledOptions:t.map((t=>({toggleButton:t}))),selectedOption:o})}}componentWillLoad(){this.selectType==="multi"&&(this.selectMethod="manual");document.addEventListener("keydown",this.keyListener)}componentDidLoad(){this.getAllToggleButtons().forEach(((t,e)=>{this.setSlottedAria(t);t.size=this.size;t.loading=this.loading;t.iconPlacement=this.iconPlacement;t.disabled?null:t.disabled=this.disabled;t.appearance=this.appearance;t.variant=this.variant;t.fullWidth=this.fullWidth;t.id=e.toString();t.tabIndex=-1;t.addEventListener("keydown",(t=>{this.handleKeyDown(t)}));t.classList.add("expand-toggle-group-child")}))}disconnectedCallback(){document.removeEventListener("keydown",this.keyListener)}proxySelectHandler(t){t.toggleChecked=true;const e=new CustomEvent("icToggleChecked",{detail:{toggleChecked:t.toggleChecked}});this.selectHandler(e,t)}getAllToggleButtons(){return Array.from(this.el.querySelectorAll("ic-toggle-button"))}render(){return i(o,{role:"group","aria-label":this.accessibleLabel,"aria-disabled":this.disabled?"true":"false",tabindex:0,class:{["full-width"]:this.fullWidth,["loading"]:this.loading,["disabled"]:this.disabled,[`${this.appearance}`]:true},onFocus:this.handleHostFocus},i("slot",null))}get el(){return s(this)}};a.style=n;export{a as ic_toggle_button_group};
2
- //# sourceMappingURL=p-e79e0292.entry.js.map
1
+ import{r as t,c as e,h as i,H as o,g as s}from"./p-8455d1bb.js";const n='/*! 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}:root{display:block}:host{display:flex;flex-direction:row;width:-moz-fit-content;width:fit-content;min-width:-moz-min-content;min-width:min-content;border:var(--ic-border-width) solid var(--ic-action-default);border-radius:var(--ic-border-radius)}:host(.full-width){width:100%;max-width:100%}:host(.loading){min-width:-moz-max-content;min-width:max-content}:host(:focus){box-shadow:var(--ic-border-focus);border-radius:var(--ic-border-radius);transition:var(--ic-transition-duration-fast);outline:none}::slotted(ic-toggle-button){flex-grow:1;width:-moz-min-content;width:min-content;--toggle-button-border:none}::slotted(ic-toggle-button:not(:last-of-type)){border-right:var(--ic-border-width) solid var(--ic-action-default)}:host(.disabled){border:var(--ic-border-disabled);pointer-events:none}:host(.disabled) ::slotted(ic-toggle-button:not(:last-of-type)){border-right:var(--ic-border-disabled)}:host(.dark){border:var(--ic-border-width) solid var(--ic-action-dark)}:host(.dark) ::slotted(ic-toggle-button:not(:last-of-type)){border-right:var(--ic-border-width) solid var(--ic-action-dark)}:host(.light) ::slotted(ic-toggle-button:not(:last-of-type)){border-right:var(--ic-border-width) solid var(--ic-action-light)}:host(.light){border:var(--ic-border-width) solid var(--ic-action-light)}';const r="IC-TOGGLE-BUTTON-GROUP";const a=class{constructor(i){t(this,i);this.icChange=e(this,"icChange",7);this.keyListener=t=>{this.lastKeyPressed={key:t.key,shift:t.shiftKey}};this.setSlottedAria=t=>{const e=t.shadowRoot.querySelector("ic-button").shadowRoot.querySelector("button");let i=e.getAttribute("aria-label");i+=", ";i+=this.accessibleLabel;e.setAttribute("aria-label",i)};this.handleHostFocus=t=>{if(this.loading||this.disabled){return null}const e=t.target;const i=t.relatedTarget;const o=Array.from(e.querySelectorAll("ic-toggle-button"));if((o.every((t=>!t.toggleChecked))||this.selectType!=="single")&&this.lastKeyPressed.shift===false||o.every((t=>!t.toggleChecked))&&this.lastKeyPressed.shift===true&&i.tagName==r){o[0].focus()}else if(this.lastKeyPressed.shift===false||this.lastKeyPressed.shift===true&&i.tagName==r){const t=o.filter((t=>t.toggleChecked));t[0].focus()}};this.handleKeyDown=t=>{const e=this.getAllToggleButtons();const i=e.indexOf(e.filter((t=>t===document.activeElement))[0]);switch(t.key){case"ArrowDown":case"ArrowRight":this.selectMethod==="auto"?this.proxySelectHandler(e[this.getNextItemToSelect(i,true)]):e[this.getNextItemToSelect(i,true)].focus();break;case"ArrowUp":case"ArrowLeft":this.selectMethod==="auto"?this.proxySelectHandler(e[this.getNextItemToSelect(i,false)]):e[this.getNextItemToSelect(i,false)].focus();break}};this.getNextItemToSelect=(t,e)=>{const i=this.getAllToggleButtons();const o=i.length-1;if(t<1){t=0}let s=e?t+1:t-1;if(s<0){s=o}else if(s>o){s=0}if(i[s].disabled){s=this.getNextItemToSelect(s,e)}return s};this.lastKeyPressed={key:null,shift:false};this.accessibleLabel="Toggle button group";this.appearance="default";this.disabled=false;this.fullWidth=false;this.iconPlacement=undefined;this.loading=false;this.selectMethod="manual";this.selectType="single";this.size="default";this.variant="default"}selectHandler(t,e){const i=this.getAllToggleButtons();let o=t.target;e&&e.focus();if(this.selectType==="single"){if(!o){o=e}i.forEach((t=>{if(t.id!==o.id&&t.toggleChecked){t.toggleChecked=false}}));this.icChange.emit({toggleChecked:t.detail.toggleChecked,selectedOption:o})}else{const t=this.getAllToggleButtons().filter((t=>t.toggleChecked&&!t.disabled));this.icChange.emit({toggleChecked:t.map((t=>t.toggleChecked)),toggledOptions:t.map((t=>({toggleButton:t}))),selectedOption:o})}}componentWillLoad(){this.selectType==="multi"&&(this.selectMethod="manual");document.addEventListener("keydown",this.keyListener)}componentDidLoad(){this.getAllToggleButtons().forEach(((t,e)=>{this.setSlottedAria(t);t.size=this.size;t.loading=this.loading;t.iconPlacement=this.iconPlacement;t.disabled?null:t.disabled=this.disabled;t.appearance=this.appearance;t.variant=this.variant;t.fullWidth=this.fullWidth;t.id=e.toString();t.tabIndex=-1;t.addEventListener("keydown",(t=>{this.handleKeyDown(t)}));t.classList.add("expand-toggle-group-child")}))}disconnectedCallback(){document.removeEventListener("keydown",this.keyListener)}proxySelectHandler(t){t.toggleChecked=true;const e=new CustomEvent("icToggleChecked",{detail:{toggleChecked:t.toggleChecked}});this.selectHandler(e,t)}getAllToggleButtons(){return Array.from(this.el.querySelectorAll("ic-toggle-button"))}render(){return i(o,{role:"group","aria-label":this.accessibleLabel,"aria-disabled":this.disabled?"true":"false",tabindex:0,class:{["full-width"]:this.fullWidth,["loading"]:this.loading,["disabled"]:this.disabled,[`${this.appearance}`]:true},onFocus:this.handleHostFocus},i("slot",null))}get el(){return s(this)}};a.style=n;export{a as ic_toggle_button_group};
2
+ //# sourceMappingURL=p-6358925c.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["icToggleButtonGroupCss","TOGGLE_GROUP","ToggleButtonGroup","constructor","hostRef","this","keyListener","ev","lastKeyPressed","key","shift","shiftKey","setSlottedAria","el","btn","shadowRoot","querySelector","aria","getAttribute","accessibleLabel","setAttribute","handleHostFocus","loading","disabled","target","relEl","relatedTarget","toggleButtons","Array","from","querySelectorAll","every","toggleChecked","selectType","tagName","focus","toggledButton","filter","handleKeyDown","event","toggleButtonOptions","getAllToggleButtons","focussedChild","indexOf","document","activeElement","selectMethod","proxySelectHandler","getNextItemToSelect","currentItem","movingDown","numToggles","length","nextItem","appearance","fullWidth","iconPlacement","undefined","size","variant","selectHandler","tabTarget","allToggles","clickedToggle","forEach","id","icChange","emit","detail","selectedOption","toggledOptions","map","opt","toggleButton","componentWillLoad","addEventListener","componentDidLoad","i","toString","tabIndex","classList","add","disconnectedCallback","removeEventListener","toggle","customEv","CustomEvent","render","h","Host","role","tabindex","class","onFocus"],"sources":["../web-components/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.css?tag=ic-toggle-button-group&encapsulation=shadow","../web-components/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.js"],"sourcesContent":["/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput {\n /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect {\n /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n\nhtml,\nbody,\ndiv,\nspan,\napplet,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\npre,\na,\nabbr,\nacronym,\naddress,\nbig,\ncite,\ncode,\ndel,\ndfn,\nem,\nimg,\nins,\nkbd,\nq,\ns,\nsamp,\nsmall,\nstrike,\nstrong,\nsub,\nsup,\ntt,\nvar,\nb,\nu,\ni,\ncenter,\ndl,\ndt,\ndd,\nol,\nul,\nli,\nfieldset,\nform,\nlabel,\nlegend,\ntable,\ncaption,\ntbody,\ntfoot,\nthead,\ntr,\nth,\ntd,\narticle,\naside,\ncanvas,\ndetails,\nembed,\nfigure,\nfigcaption,\nfooter,\nheader,\nhgroup,\nmenu,\nnav,\noutput,\nruby,\nsection,\nsummary,\ntime,\nmark,\naudio,\nvideo {\n margin: 0;\n padding: 0;\n border: 0;\n font-size: 100%;\n font-style: inherit;\n vertical-align: baseline;\n}\n\n\n/* PARENT HOST */\n\n:root {\n display: block;\n}\n\n:host {\n display: flex;\n flex-direction: row;\n width: -moz-fit-content;\n width: fit-content;\n min-width: -moz-min-content;\n min-width: min-content;\n border: var(--ic-border-width) solid var(--ic-action-default);\n border-radius: var(--ic-border-radius);\n}\n\n:host(.full-width) {\n width: 100%;\n max-width: 100%;\n}\n\n:host(.loading) {\n min-width: -moz-max-content;\n min-width: max-content;\n}\n\n:host(:focus) {\n box-shadow: var(--ic-border-focus);\n border-radius: var(--ic-border-radius);\n transition: var(--ic-transition-duration-fast);\n outline: none;\n}\n\n/* CHILDREN SLOTTED */\n\n::slotted(ic-toggle-button) {\n flex-grow: 1;\n width: -moz-min-content;\n width: min-content;\n\n --toggle-button-border: none;\n}\n\n::slotted(ic-toggle-button:not(:last-of-type)) {\n border-right: var(--ic-border-width) solid var(--ic-action-default);\n}\n\n/* DISABLED */\n:host(.disabled) {\n border: var(--ic-border-disabled);\n pointer-events: none;\n}\n\n:host(.disabled) ::slotted(ic-toggle-button:not(:last-of-type)) {\n border-right: var(--ic-border-disabled);\n}\n\n/* DARK */\n:host(.dark) {\n border: var(--ic-border-width) solid var(--ic-action-dark);\n}\n\n:host(.dark) ::slotted(ic-toggle-button:not(:last-of-type)) {\n border-right: var(--ic-border-width) solid var(--ic-action-dark);\n}\n\n/* LIGHT */\n:host(.light) ::slotted(ic-toggle-button:not(:last-of-type)) {\n border-right: var(--ic-border-width) solid var(--ic-action-light);\n}\n\n:host(.light) {\n border: var(--ic-border-width) solid var(--ic-action-light);\n}\n","import { Host, h, } from \"@stencil/core\";\nconst TOGGLE_GROUP = \"IC-TOGGLE-BUTTON-GROUP\";\nexport class ToggleButtonGroup {\n constructor() {\n this.keyListener = (ev) => {\n this.lastKeyPressed = {\n key: ev.key,\n shift: ev.shiftKey,\n };\n };\n this.setSlottedAria = (el) => {\n const btn = el.shadowRoot\n .querySelector(\"ic-button\")\n .shadowRoot.querySelector(\"button\");\n let aria = btn.getAttribute(\"aria-label\");\n aria += \", \";\n aria += this.accessibleLabel;\n btn.setAttribute(\"aria-label\", aria);\n };\n this.handleHostFocus = (ev) => {\n if (this.loading || this.disabled) {\n return null;\n }\n const el = ev.target;\n const relEl = ev.relatedTarget;\n const toggleButtons = Array.from(el.querySelectorAll(\"ic-toggle-button\"));\n if (((toggleButtons.every((el) => !el.toggleChecked) ||\n this.selectType !== \"single\") &&\n this.lastKeyPressed.shift === false) ||\n (toggleButtons.every((el) => !el.toggleChecked) &&\n this.lastKeyPressed.shift === true &&\n relEl.tagName == TOGGLE_GROUP)) {\n toggleButtons[0].focus();\n }\n else if (this.lastKeyPressed.shift === false ||\n (this.lastKeyPressed.shift === true && relEl.tagName == TOGGLE_GROUP)) {\n // if toggleChecked is true and selectMethod is \"single\", focus that toggle\n const toggledButton = toggleButtons.filter((el) => el.toggleChecked);\n toggledButton[0].focus();\n }\n };\n this.handleKeyDown = (event) => {\n const toggleButtonOptions = this.getAllToggleButtons();\n const focussedChild = toggleButtonOptions.indexOf(toggleButtonOptions.filter((el) => el === document.activeElement)[0]);\n switch (event.key) {\n case \"ArrowDown\":\n case \"ArrowRight\":\n this.selectMethod === \"auto\"\n ? this.proxySelectHandler(toggleButtonOptions[this.getNextItemToSelect(focussedChild, true)])\n : toggleButtonOptions[this.getNextItemToSelect(focussedChild, true)].focus();\n break;\n case \"ArrowUp\":\n case \"ArrowLeft\":\n this.selectMethod === \"auto\"\n ? this.proxySelectHandler(toggleButtonOptions[this.getNextItemToSelect(focussedChild, false)])\n : toggleButtonOptions[this.getNextItemToSelect(focussedChild, false)].focus();\n break;\n case \"Tab\":\n break;\n }\n };\n this.getNextItemToSelect = (currentItem, movingDown) => {\n const toggleButtonOptions = this.getAllToggleButtons();\n const numToggles = toggleButtonOptions.length - 1;\n if (currentItem < 1) {\n currentItem = 0;\n }\n let nextItem = movingDown ? currentItem + 1 : currentItem - 1;\n if (nextItem < 0) {\n nextItem = numToggles;\n }\n else if (nextItem > numToggles) {\n nextItem = 0;\n }\n if (toggleButtonOptions[nextItem].disabled) {\n nextItem = this.getNextItemToSelect(nextItem, movingDown);\n }\n return nextItem;\n };\n this.lastKeyPressed = {\n key: null,\n shift: false,\n };\n this.accessibleLabel = \"Toggle button group\";\n this.appearance = \"default\";\n this.disabled = false;\n this.fullWidth = false;\n this.iconPlacement = undefined;\n this.loading = false;\n this.selectMethod = \"manual\";\n this.selectType = \"single\";\n this.size = \"default\";\n this.variant = \"default\";\n }\n selectHandler(ev, tabTarget) {\n const allToggles = this.getAllToggleButtons();\n let clickedToggle = ev.target;\n // tabTarget used in proxySelectHandler\n tabTarget && tabTarget.focus();\n if (this.selectType === \"single\") {\n if (!clickedToggle) {\n clickedToggle = tabTarget;\n }\n allToggles.forEach((el) => {\n if (el.id !== clickedToggle.id && el.toggleChecked) {\n el.toggleChecked = false;\n }\n });\n this.icChange.emit({\n toggleChecked: ev.detail.toggleChecked,\n selectedOption: clickedToggle,\n });\n }\n else {\n const toggledOptions = this.getAllToggleButtons().filter((el) => el.toggleChecked && !el.disabled);\n this.icChange.emit({\n toggleChecked: toggledOptions.map((opt) => opt.toggleChecked),\n toggledOptions: toggledOptions.map((opt) => ({\n toggleButton: opt,\n })),\n selectedOption: clickedToggle,\n });\n }\n }\n componentWillLoad() {\n this.selectType === \"multi\" && (this.selectMethod = \"manual\");\n this.selectMethod === \"auto\" && this.selectType === \"single\";\n document.addEventListener(\"keydown\", this.keyListener);\n }\n componentDidLoad() {\n this.getAllToggleButtons().forEach((el, i) => {\n this.setSlottedAria(el);\n el.size = this.size;\n el.loading = this.loading;\n el.iconPlacement = this.iconPlacement;\n el.disabled ? null : (el.disabled = this.disabled);\n el.appearance = this.appearance;\n el.variant = this.variant;\n el.fullWidth = this.fullWidth;\n el.id = i.toString();\n el.tabIndex = -1;\n el.addEventListener(\"keydown\", (ev) => {\n this.handleKeyDown(ev);\n });\n el.classList.add(\"expand-toggle-group-child\");\n });\n }\n disconnectedCallback() {\n document.removeEventListener(\"keydown\", this.keyListener);\n }\n // trigger selectHandler when unable to add 'target'\n proxySelectHandler(toggle) {\n toggle.toggleChecked = true;\n const customEv = new CustomEvent(\"icToggleChecked\", {\n detail: {\n toggleChecked: toggle.toggleChecked,\n },\n });\n this.selectHandler(customEv, toggle);\n }\n getAllToggleButtons() {\n return Array.from(this.el.querySelectorAll(\"ic-toggle-button\"));\n }\n render() {\n return (h(Host, { role: \"group\", \"aria-label\": this.accessibleLabel, \"aria-disabled\": this.disabled ? \"true\" : \"false\", tabindex: 0, class: {\n [\"full-width\"]: this.fullWidth,\n [\"loading\"]: this.loading,\n [\"disabled\"]: this.disabled,\n [`${this.appearance}`]: true,\n }, onFocus: this.handleHostFocus }, h(\"slot\", null)));\n }\n static get is() { return \"ic-toggle-button-group\"; }\n static get encapsulation() { return \"shadow\"; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"ic-toggle-button-group.css\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ic-toggle-button-group.css\"]\n };\n }\n static get properties() {\n return {\n \"accessibleLabel\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The accessible label of the toggle button group component to provide context for screen reader users.\"\n },\n \"attribute\": \"accessible-label\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"Toggle button group\\\"\"\n },\n \"appearance\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcThemeForeground\",\n \"resolved\": \"\\\"dark\\\" | \\\"default\\\" | \\\"light\\\"\",\n \"references\": {\n \"IcThemeForeground\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcThemeForeground\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The appearance of the toggle button group, e.g dark, or light.\"\n },\n \"attribute\": \"appearance\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"default\\\"\"\n },\n \"disabled\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the toggle button group will be set to the disabled state.\"\n },\n \"attribute\": \"disabled\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"fullWidth\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the toggle button group will fill the width of the container.\"\n },\n \"attribute\": \"full-width\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"iconPlacement\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"\\\"left\\\" | \\\"right\\\" | \\\"top\\\"\",\n \"resolved\": \"\\\"left\\\" | \\\"right\\\" | \\\"top\\\"\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The placement of the icons in relation to the toggle button labels.\"\n },\n \"attribute\": \"icon-placement\",\n \"reflect\": false\n },\n \"loading\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the toggle button group will be in loading state.\"\n },\n \"attribute\": \"loading\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"selectMethod\": {\n \"type\": \"string\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"IcSelectMethodTypes\",\n \"resolved\": \"\\\"auto\\\" | \\\"manual\\\"\",\n \"references\": {\n \"IcSelectMethodTypes\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcSelectMethodTypes\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `auto`, controls are toggled automatically when navigated to. If `manual`, the controls must be actioned to change their toggled state. The value of this prop is ignored if `selectType` is set to`multi`.\"\n },\n \"attribute\": \"select-method\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"manual\\\"\"\n },\n \"selectType\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcSelectTypes\",\n \"resolved\": \"\\\"multi\\\" | \\\"single\\\"\",\n \"references\": {\n \"IcSelectTypes\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcSelectTypes\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Sets whether single or multiple options can be toggled. If `multi`, then the `selectMethod` is always `manual`.\"\n },\n \"attribute\": \"select-type\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"single\\\"\"\n },\n \"size\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcSizes\",\n \"resolved\": \"\\\"default\\\" | \\\"large\\\" | \\\"small\\\"\",\n \"references\": {\n \"IcSizes\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcSizes\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The size of the toggle buttons to be displayed. This does not affect the font size of the accessible label.\"\n },\n \"attribute\": \"size\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"default\\\"\"\n },\n \"variant\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"\\\"default\\\" | \\\"icon\\\"\",\n \"resolved\": \"\\\"default\\\" | \\\"icon\\\"\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The variant of the toggle button.\"\n },\n \"attribute\": \"variant\",\n \"reflect\": true,\n \"defaultValue\": \"\\\"default\\\"\"\n }\n };\n }\n static get states() {\n return {\n \"lastKeyPressed\": {}\n };\n }\n static get events() {\n return [{\n \"method\": \"icChange\",\n \"name\": \"icChange\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when a toggle button is selected.\"\n },\n \"complexType\": {\n \"original\": \"IcChangeEventDetail\",\n \"resolved\": \"IcChangeEventDetail\",\n \"references\": {\n \"IcChangeEventDetail\": {\n \"location\": \"import\",\n \"path\": \"./ic-toggle-button-group.types\",\n \"id\": \"src/components/ic-toggle-button-group/ic-toggle-button-group.types.ts::IcChangeEventDetail\"\n }\n }\n }\n }];\n }\n static get elementRef() { return \"el\"; }\n static get listeners() {\n return [{\n \"name\": \"icToggleChecked\",\n \"method\": \"selectHandler\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }];\n }\n}\n//# sourceMappingURL=ic-toggle-button-group.js.map\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import{r as i,c as e,h as s,F as t,H as c,g as n}from"./p-8455d1bb.js";import{C as o}from"./p-0aa9ce8b.js";import{a}from"./p-1b4f852c.js";import{c as r}from"./p-aae38bee.js";import"./p-fd186591.js";const h='html.sc-ic-menu{line-height:1.15;-webkit-text-size-adjust:100%}body.sc-ic-menu{margin:0}main.sc-ic-menu{display:block}h1.sc-ic-menu{font-size:2em;margin:0.67em 0}hr.sc-ic-menu{box-sizing:content-box;height:0;overflow:visible}pre.sc-ic-menu{font-family:monospace, monospace;font-size:1em}a.sc-ic-menu{background-color:transparent}abbr[title].sc-ic-menu{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b.sc-ic-menu,strong.sc-ic-menu{font-weight:bolder}code.sc-ic-menu,kbd.sc-ic-menu,samp.sc-ic-menu{font-family:monospace, monospace;font-size:1em}small.sc-ic-menu{font-size:80%}sub.sc-ic-menu,sup.sc-ic-menu{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub.sc-ic-menu{bottom:-0.25em}sup.sc-ic-menu{top:-0.5em}img.sc-ic-menu{border-style:none}button.sc-ic-menu,input.sc-ic-menu,optgroup.sc-ic-menu,select.sc-ic-menu,textarea.sc-ic-menu{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button.sc-ic-menu,input.sc-ic-menu{overflow:visible}button.sc-ic-menu,select.sc-ic-menu{text-transform:none}button.sc-ic-menu,[type="button"].sc-ic-menu,[type="reset"].sc-ic-menu,[type="submit"].sc-ic-menu{-webkit-appearance:button}button.sc-ic-menu::-moz-focus-inner,[type="button"].sc-ic-menu::-moz-focus-inner,[type="reset"].sc-ic-menu::-moz-focus-inner,[type="submit"].sc-ic-menu::-moz-focus-inner{border-style:none;padding:0}button.sc-ic-menu:-moz-focusring,[type="button"].sc-ic-menu:-moz-focusring,[type="reset"].sc-ic-menu:-moz-focusring,[type="submit"].sc-ic-menu:-moz-focusring{outline:1px dotted ButtonText}fieldset.sc-ic-menu{padding:0.35em 0.75em 0.625em}legend.sc-ic-menu{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress.sc-ic-menu{vertical-align:baseline}textarea.sc-ic-menu{overflow:auto}[type="checkbox"].sc-ic-menu,[type="radio"].sc-ic-menu{box-sizing:border-box;padding:0}[type="number"].sc-ic-menu::-webkit-inner-spin-button,[type="number"].sc-ic-menu::-webkit-outer-spin-button{height:auto}[type="search"].sc-ic-menu{-webkit-appearance:textfield;outline-offset:-2px}[type="search"].sc-ic-menu::-webkit-search-decoration{-webkit-appearance:none}.sc-ic-menu::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details.sc-ic-menu{display:block}summary.sc-ic-menu{display:list-item}template.sc-ic-menu{display:none}[hidden].sc-ic-menu{display:none}html.sc-ic-menu,body.sc-ic-menu,div.sc-ic-menu,span.sc-ic-menu,applet.sc-ic-menu,object.sc-ic-menu,iframe.sc-ic-menu,h1.sc-ic-menu,h2.sc-ic-menu,h3.sc-ic-menu,h4.sc-ic-menu,h5.sc-ic-menu,h6.sc-ic-menu,p.sc-ic-menu,blockquote.sc-ic-menu,pre.sc-ic-menu,a.sc-ic-menu,abbr.sc-ic-menu,acronym.sc-ic-menu,address.sc-ic-menu,big.sc-ic-menu,cite.sc-ic-menu,code.sc-ic-menu,del.sc-ic-menu,dfn.sc-ic-menu,em.sc-ic-menu,img.sc-ic-menu,ins.sc-ic-menu,kbd.sc-ic-menu,q.sc-ic-menu,s.sc-ic-menu,samp.sc-ic-menu,small.sc-ic-menu,strike.sc-ic-menu,strong.sc-ic-menu,sub.sc-ic-menu,sup.sc-ic-menu,tt.sc-ic-menu,var.sc-ic-menu,b.sc-ic-menu,u.sc-ic-menu,i.sc-ic-menu,center.sc-ic-menu,dl.sc-ic-menu,dt.sc-ic-menu,dd.sc-ic-menu,ol.sc-ic-menu,ul.sc-ic-menu,li.sc-ic-menu,fieldset.sc-ic-menu,form.sc-ic-menu,label.sc-ic-menu,legend.sc-ic-menu,table.sc-ic-menu,caption.sc-ic-menu,tbody.sc-ic-menu,tfoot.sc-ic-menu,thead.sc-ic-menu,tr.sc-ic-menu,th.sc-ic-menu,td.sc-ic-menu,article.sc-ic-menu,aside.sc-ic-menu,canvas.sc-ic-menu,details.sc-ic-menu,embed.sc-ic-menu,figure.sc-ic-menu,figcaption.sc-ic-menu,footer.sc-ic-menu,header.sc-ic-menu,hgroup.sc-ic-menu,menu.sc-ic-menu,nav.sc-ic-menu,output.sc-ic-menu,ruby.sc-ic-menu,section.sc-ic-menu,summary.sc-ic-menu,time.sc-ic-menu,mark.sc-ic-menu,audio.sc-ic-menu,video.sc-ic-menu{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}@media (prefers-reduced-motion: no-preference){.open.sc-ic-menu-h .menu.sc-ic-menu{transition:max-height var(--ic-transition-duration-slow)}}.sc-ic-menu-h{border-radius:var(--ic-border-radius);max-height:0;width:var(--input-width, 20rem);color:var(--ic-color-primary-text);background-color:var(--ic-architectural-white);position:relative;z-index:var(--ic-z-index-menu);box-sizing:border-box;box-shadow:var(--ic-elevation-overlay)}.sc-ic-menu-h:not(.no-focus):focus-within{box-shadow:var(--ic-border-focus)}#retry-button.sc-ic-menu::part(button){height:var(--ic-space-lg)}.small.sc-ic-menu #retry-button.sc-ic-menu::part(button){height:var(--ic-space-md)}.on-dialog.sc-ic-menu-h{inset:auto !important}.menu.sc-ic-menu{text-decoration:none;list-style-type:none;border:var(--ic-border-width) solid var(--ic-architectural-400);border-radius:var(--ic-border-radius);background-color:var(--ic-architectural-white);visibility:hidden;max-height:0;overflow-y:hidden}.menu-scroll.sc-ic-menu{overflow-y:auto}.menu.sc-ic-menu:focus-visible{outline:none}.open.sc-ic-menu-h{max-height:none;display:block}.open.sc-ic-menu-h .menu.sc-ic-menu{visibility:visible;max-height:calc(var(--ic-space-xl) * 10 + var(--ic-space-xxxs))}.full-width.sc-ic-menu-h{width:100%}.option.sc-ic-menu{padding:var(--ic-space-xs) calc(var(--ic-space-xs) - var(--ic-space-1px));cursor:pointer;display:flex;align-items:center;overflow-wrap:anywhere}.option.sc-ic-menu:not(.loading-option){justify-content:space-between}.small.sc-ic-menu-h .option.sc-ic-menu{padding:var(--ic-space-xxs) calc(var(--ic-space-xs) - var(--ic-space-1px))}.large.sc-ic-menu-h .option.sc-ic-menu{padding:var(--ic-space-sm) calc(var(--ic-space-xs) - var(--ic-space-1px))}.option.sc-ic-menu:last-child{border-radius:0 0 var(--ic-space-1px) var(--ic-space-1px)}.option.sc-ic-menu:first-child{border-radius:var(--ic-space-1px) var(--ic-space-1px) 0 0}.option.sc-ic-menu:not(.disabled-option):hover{background-color:var(--ic-action-dark-bg-hover)}.option.sc-ic-menu:not(.disabled-option):active{background-color:var(--ic-action-dark-bg-active)}.option.sc-ic-menu:focus-visible{outline:var(--ic-hc-focus-outline)}.option.sc-ic-menu:not(.disabled-option) .option-description.sc-ic-menu{color:var(--ic-color-secondary-text)}.option.sc-ic-menu .option-label.sc-ic-menu{display:flex;flex-direction:row;align-items:top}.option.sc-ic-menu .option-element.sc-ic-menu{margin-top:var(--ic-space-xxs)}.option.sc-ic-menu .option-icon.sc-ic-menu{height:var(--ic-space-md);width:var(--ic-space-md);margin-top:var(--ic-space-xxs);margin-right:var(--ic-space-xxxs)}.option-text-container.sc-ic-menu{pointer-events:none}.option.loading-option.sc-ic-menu .option-text-container.sc-ic-menu{margin-left:calc(var(--ic-space-xs) + var(--ic-space-xxxs));color:var(--ic-color-secondary-text)}.error-icon-svg.sc-ic-menu{height:var(--ic-space-md);width:var(--ic-space-md);fill:var(--ic-status-error);align-self:center;display:flex;margin-right:calc(var(--ic-space-xxs) * 1.2)}.loading-error-info.sc-ic-menu{display:flex}.check-icon.sc-ic-menu{height:var(--ic-space-lg);width:var(--ic-space-lg);margin-left:var(--ic-space-xs);pointer-events:none}.focused-option.sc-ic-menu .check-icon.sc-ic-menu *.sc-ic-menu{fill:currentcolor}.option-group-title.sc-ic-menu{padding:var(--ic-space-lg) calc(var(--ic-space-xs) - var(--ic-space-1px))\n var(--ic-space-xs);color:var(--ic-color-tertiary-text)}.small.sc-ic-menu-h .option-group-title.sc-ic-menu{padding:var(--ic-space-sm) calc(var(--ic-space-xs) - var(--ic-space-1px))\n var(--ic-space-xxs)}.last-recommended-option.sc-ic-menu{border-bottom:var(--ic-border-default)}.disabled-option.sc-ic-menu{color:var(--ic-architectural-200);cursor:default;pointer-events:none}.focused-option.sc-ic-menu,.focused-option.sc-ic-menu .option-description.sc-ic-menu{background-color:var(--ic-focus-blue) !important;color:var(--ic-color-white-text) !important}.no-results.sc-ic-menu-h li.sc-ic-menu{cursor:no-drop}.no-results.sc-ic-menu-h li.sc-ic-menu:hover{background-color:transparent}@media (forced-colors: active){.focused-option.sc-ic-menu:focus{outline:none;border:0.125rem solid transparent}}';const u=class{constructor(c){i(this,c);this.menuKeyPress=e(this,"menuKeyPress",7);this.menuOptionId=e(this,"menuOptionId",7);this.menuOptionSelect=e(this,"menuOptionSelect",7);this.menuStateChange=e(this,"menuStateChange",7);this.menuValueChange=e(this,"menuValueChange",7);this.retryButtonClicked=e(this,"retryButtonClicked",7);this.timeoutBlur=e(this,"timeoutBlur",7);this.ungroupedOptionsSet=e(this,"ungroupedOptionsSet",7);this.disabledOptionSelected=false;this.hasPreviouslyBlurred=false;this.hasTimedOut=false;this.isLoading=false;this.isSearchBar=false;this.isSearchableSelect=false;this.preventClickOpen=false;this.ungroupedOptions=[];this.handleClearListener=()=>{this.optionHighlighted=""};this.handleSubmitSearch=()=>{const i=this.options.findIndex((i=>i[this.valueField]===this.optionHighlighted));this.setInputValue(i)};this.handleMenuChange=(i,e)=>{this.menuStateChange.emit({open:i,focusInput:e});if(!i&&e!==false){this.inputEl.focus();this.preventClickOpen=false}};this.setNextOptionValue=i=>{if(this.ungroupedOptions[i+1]){this.menuOptionSelect.emit({value:this.ungroupedOptions[i+1][this.valueField],optionId:this.getOptionId(this.ungroupedOptions[i+1][this.valueField])})}else{this.menuOptionSelect.emit({value:this.ungroupedOptions[0][this.valueField],optionId:this.getOptionId(this.ungroupedOptions[0][this.valueField])})}};this.setPreviousOptionValue=i=>{if(this.ungroupedOptions[i-1]){this.menuOptionSelect.emit({value:this.ungroupedOptions[i-1][this.valueField],optionId:this.getOptionId(this.ungroupedOptions[i-1][this.valueField])})}else{this.menuOptionSelect.emit({value:this.ungroupedOptions[this.ungroupedOptions.length-1][this.valueField],optionId:this.getOptionId(this.ungroupedOptions[this.ungroupedOptions.length-1][this.valueField])})}};this.getParentEl=i=>{if(i.tagName==="IC-SEARCH-BAR"){this.isSearchBar=true}else if(i.tagName==="IC-SELECT"&&i.getAttribute("searchable")!==null&&i.getAttribute("searchable")!==undefined){this.isSearchableSelect=true}};this.arrowBehaviour=i=>{i.preventDefault();this.handleMenuChange(true)};this.setMenuOptions=()=>this.isSearchBar?this.options:this.ungroupedOptions;this.setHighlightedOption=i=>{const e=this.setMenuOptions();e[i]&&!e[i].timedOut&&(this.optionHighlighted=e[i][this.valueField]||undefined)};this.autoSetInputValueKeyboardOpen=i=>{const e=this.ungroupedOptions.findIndex((i=>i[this.valueField]===this.value));this.keyboardNav=false;switch(i.key){case"ArrowDown":this.keyboardNav=true;this.arrowBehaviour(i);this.setNextOptionValue(e);break;case"ArrowUp":this.keyboardNav=true;this.arrowBehaviour(i);this.setPreviousOptionValue(e);break;case" ":case"Enter":if(i.target.id!=="clear-button"){this.handleMenuChange(true)}break}};this.manSetInputValueKeyboardOpen=i=>{const e=this.setMenuOptions();const s=e.findIndex((i=>i[this.valueField]===this.optionHighlighted));const t=i=>{var e;return(e=Array.from(this.host.querySelectorAll("li"))[i])===null||e===void 0?void 0:e.id};const c=this.isSearchBar||this.isSearchableSelect||this.open;switch(i.key){case"ArrowDown":this.keyboardNav=true;this.arrowBehaviour(i);if(s<e.length-1){this.setHighlightedOption(s+1);this.menuOptionId.emit({optionId:t(s+1)})}else{this.setHighlightedOption(0);this.menuOptionId.emit({optionId:t(0)})}this.preventIncorrectTabOrder=false;this.focusFromSearchKeypress=false;break;case"ArrowUp":this.keyboardNav=true;this.arrowBehaviour(i);if(s<=0||s>e.length+1){this.setHighlightedOption(e.length-1);this.menuOptionId.emit({optionId:t(e.length-1)})}else{this.setHighlightedOption(s-1);this.menuOptionId.emit({optionId:t(s-1)})}this.preventIncorrectTabOrder=false;this.focusFromSearchKeypress=false;break;case"Home":this.keyboardNav=true;i.preventDefault();this.arrowBehaviour(i);this.setHighlightedOption(0);this.menuOptionId.emit({optionId:t(0)});break;case"End":this.keyboardNav=true;i.preventDefault();this.arrowBehaviour(i);this.setHighlightedOption(e.length-1);this.menuOptionId.emit({optionId:t(e.length-1)});break;case" ":this.keyboardNav=false;if(this.isSearchBar||this.isSearchableSelect){break}else{if(i.target.id!=="clear-button"){this.handleMenuChange(true)}}break;case"Enter":i.preventDefault();this.keyboardNav=false;if(c){if(s>=0){if(e[s]!==undefined){if(this.isSearchBar&&e[s].disabled===true){this.disabledOptionSelected=true}else{this.setInputValue(s);this.value=e[s][this.valueField]}}}else{this.setInputValue(s)}}else{this.handleMenuChange(true)}break;case"Escape":if(this.open){i.stopImmediatePropagation()}this.handleMenuChange(false);this.menuOptionId.emit({optionId:undefined});break;case"Shift":case"Tab":if(this.isSearchBar){this.keyboardNav=true}this.preventIncorrectTabOrder=true;break;default:this.keyboardNav=false;this.focusOnSearchOrSelectInput(e,s);break}};this.setInputValue=i=>{const e=this.setMenuOptions();if(e[i]!==undefined){this.menuOptionSelect.emit({value:e[i][this.valueField]});this.optionHighlighted=undefined;this.menuOptionId.emit({optionId:undefined})}if(!this.hasTimedOut)this.handleMenuChange(false);else this.parentEl.setFocus()};this.handleOptionClick=i=>{const{value:e,label:s}=i.target.dataset;this.menuOptionSelect.emit({value:e,label:s});this.handleMenuChange(false)};this.handleRetry=()=>{this.retryButtonClicked.emit({value:this.value})};this.handleRetryKeyDown=i=>{if(i.key==="Enter"||i.key===" "){i.preventDefault();this.retryButtonClicked.emit({value:this.value,keyPressed:i.key})}};this.handleBlur=i=>{if(i.relatedTarget!==this.inputEl){if(!this.menu.contains(i.relatedTarget)){this.handleMenuChange(false,this.hasPreviouslyBlurred)}}else{this.handleMenuChange(false);this.preventClickOpen=true}if(!this.isSearchBar)this.hasPreviouslyBlurred=!!i.relatedTarget};this.handleMouseDown=i=>{i.preventDefault()};this.handleMenuKeyDown=i=>{if(this.activationType==="automatic"){this.autoSetValueOnMenuKeyDown(i)}else if(this.activationType==="manual"&&!this.isSearchBar){this.manSetInputValueKeyboardOpen(i)}};this.emitMenuKeyPress=(i,e)=>{this.menuKeyPress.emit({isNavKey:i,key:e})};this.autoSetValueOnMenuKeyDown=i=>{i.cancelBubble=true;const e=this.ungroupedOptions.findIndex((i=>i[this.valueField]===this.value));const s=this.inputEl.tagName==="INPUT";this.keyboardNav=false;switch(i.key){case" ":i.preventDefault();break;case"ArrowUp":if(!this.hasTimedOut){i.preventDefault();this.setPreviousOptionValue(e);this.keyboardNav=true}break;case"ArrowDown":if(!this.hasTimedOut){i.preventDefault();this.setNextOptionValue(e);this.keyboardNav=true}break;case"Home":this.menuOptionSelect.emit({value:this.ungroupedOptions[0][this.valueField]});this.keyboardNav=true;break;case"End":this.menuOptionSelect.emit({value:this.ungroupedOptions[this.ungroupedOptions.length-1][this.valueField]});this.keyboardNav=true;break;case"Enter":!this.hasTimedOut&&this.handleMenuChange(false);break;case"Escape":this.handleMenuChange(false);break;case"Backspace":if(s){this.inputEl.focus()}break;case"Shift":break;default:if(s&&i.key!=="Tab"&&!this.hasTimedOut){this.inputEl.focus()}if(i.key.length===1){this.keyboardNav=true}break}this.emitMenuKeyPress(this.keyboardNav,i.key)};this.handleMenuKeyUp=i=>{if(i.key==="Tab"&&i.shiftKey){this.preventClickOpen=false}if(i.key==="Enter"&&this.disabledOptionSelected){this.disabledOptionSelected=false;i.stopImmediatePropagation()}};this.getOptionId=i=>`${this.menuId}-${i}`;this.getOptionAriaLabel=(i,e)=>{let s=i[this.labelField];if(i.description){s=`${s}, ${i.description}`}if(i.element){s=`${s}, ${i.element.ariaLabel}`}if(e){return`${s}, ${e[this.labelField]} group`}else{return s}};this.getSortedOptions=i=>{let e=[];if(i.sort){e=i.sort(((i,e)=>i.recommended&&!e.recommended?-1:0))}return e};this.isManualMode=this.activationType==="manual";this.scrollToSelected=i=>{const e=this.selectOnEnter?this.host.querySelector(`li[data-value="${this.optionHighlighted}"]`):i.querySelector(".option[aria-selected='true']");if(e){const s=e.offsetTop+e.offsetHeight;if(s>i.scrollTop+i.offsetHeight||s<i.scrollTop+i.offsetHeight){i.scrollTop=e.offsetTop}e.focus()}};this.loadUngroupedOptions=()=>{if(this.options.length>0&&this.options.map){this.options.map((i=>{if(i.children){i.children.map((i=>!i.disabled&&this.ungroupedOptions.push(i)))}else if(!i.disabled){this.ungroupedOptions.push(i)}}))}this.ungroupedOptions=this.getSortedOptions(this.ungroupedOptions);this.ungroupedOptionsSet.emit({options:this.ungroupedOptions})};this.setMenuScrollbar=()=>{let i=0;this.host.querySelectorAll(".option").forEach((e=>i+=e.clientHeight));if(i>=320){this.menu.classList.add("menu-scroll")}};this.handleTimeoutBlur=i=>{this.timeoutBlur.emit({ev:i})};this.optionContent=i=>{var e;return s(t,null,i.loading&&s("ic-loading-indicator",{size:"icon"}),s("div",{class:"option-text-container"},s("div",{class:"option-label"},i.icon&&s("div",{class:"option-icon",innerHTML:i.icon,"aria-hidden":"true"}),s("ic-typography",{variant:"body","aria-hidden":"true"},i[this.labelField])),i.description&&s("ic-typography",{id:`${this.getOptionId(i[this.valueField])}-description`,class:"option-description",variant:"caption","aria-hidden":"true"},s("p",null,i.description)),i.element&&s("div",{class:"option-element",innerHTML:i.element.component,"aria-hidden":"true"})),!!i[this.valueField]&&!!this.value&&i[this.valueField].toLowerCase()===((e=this.value)===null||e===void 0?void 0:e.toLowerCase())&&this.parentEl.tagName!=="IC-SEARCH-BAR"&&s("span",{class:"check-icon",innerHTML:o}))};this.displayOption=(i,e,c)=>{const{open:n,value:o,keyboardNav:a,isManualMode:r,initialOptionsListRender:h,optionHighlighted:u,options:l}=this;return s("li",{id:this.getOptionId(i[this.valueField]),class:{option:true,"focused-option":r?(a||h)&&i[this.valueField]===u:a&&i[this.valueField]===o,"last-recommended-option":i.recommended&&l[e+1]&&!l[e+1].recommended,"disabled-option":i.disabled,"loading-option":i.loading,timeout:i.timedOut},role:"option",tabindex:n&&(i[this.valueField]===o||i[this.valueField]===u)&&a?"0":"-1","aria-label":this.getOptionAriaLabel(i,c),"aria-selected":`${i[this.valueField]===o}`,"aria-disabled":i.disabled?"true":"false",onClick:!i.timedOut&&!i.loading&&this.handleOptionClick,onBlur:this.handleBlur,onMouseDown:this.handleMouseDown,"data-value":i[this.valueField],"data-label":i[this.labelField]},i.timedOut?s(t,null,s("div",{class:"loading-error-info"},s("svg",{class:"error-icon-svg","aria-labelledby":"error-title",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"#000000"},s("title",{id:"error-title"},"Error"),s("g",{id:"close-octagon"},s("path",{id:"Vector",d:"M8.77 3L3.5 8.27V15.73L8.77 21H16.23L21.5 15.73V8.27L16.23 3M8.91 7L12.5 10.59L16.09 7L17.5 8.41L13.91 12L17.5 15.59L16.09 17L12.5 13.41L8.91 17L7.5 15.59L11.09 12L7.5 8.41"}))),s("ic-typography",{variant:"label"},i[this.labelField])),s("ic-button",{size:"small",variant:"tertiary",onClick:this.handleRetry,onKeyDown:this.handleRetryKeyDown,onBlur:this.handleTimeoutBlur,id:"retry-button"},"Retry")):this.optionContent(i))};this.focusFromSearchKeypress=false;this.initialOptionsListRender=false;this.keyboardNav=false;this.optionHighlighted=undefined;this.preventIncorrectTabOrder=false;this.activationType="automatic";this.anchorEl=undefined;this.autoFocusOnSelected=true;this.fullWidth=false;this.inputEl=undefined;this.inputLabel=undefined;this.labelField="label";this.menuId=undefined;this.open=undefined;this.parentEl=undefined;this.searchMode="navigation";this.selectOnEnter=false;this.size="default";this.small=false;this.options=undefined;this.value=undefined;this.valueField="value"}watchOpenHandler(){if(!this.open&&this.popperInstance){this.popperInstance.destroy();this.popperInstance=null}}watchOptionsHandler(i){this.hasTimedOut=i.some((i=>i.timedOut));this.isLoading=i.some((i=>i.loading));this.ungroupedOptions=[];this.loadUngroupedOptions()}watchValueHandler(){this.menuValueChange.emit({value:this.value})}connectedCallback(){this.getParentEl(this.parentEl);if(this.isSearchBar){if(this.searchMode==="navigation")this.setHighlightedOption(0);this.initialOptionsListRender=true}}disconnectedCallback(){if(this.popperInstance){this.popperInstance.destroy()}this.parentEl.removeEventListener("icClear",this.handleClearListener);this.parentEl.removeEventListener("icSubmitSearch",this.handleSubmitSearch)}componentWillLoad(){var i,e;this.loadUngroupedOptions();this.parentEl.addEventListener("icClear",this.handleClearListener);this.parentEl.addEventListener("icSubmitSearch",this.handleSubmitSearch);this.hasTimedOut=(i=this.options)===null||i===void 0?void 0:i.some((i=>i.timedOut));this.isLoading=(e=this.options)===null||e===void 0?void 0:e.some((i=>i.loading))}componentDidLoad(){if(this.isSearchBar&&this.parentEl.disableFilter){this.focusFromSearchKeypress=true}a([{prop:this.open,propName:"open"},{prop:this.options,propName:"options"},{prop:this.menuId,propName:"menu-id"},{prop:this.inputLabel,propName:"input-label"}],"Menu")}componentDidUpdate(){const i=this.options.some((i=>i[this.valueField]===this.value));if(this.open&&this.options.length!==0){if(this.value&&this.keyboardNav&&i&&this.autoFocusOnSelected&&!this.isSearchableSelect){this.scrollToSelected(this.menu)}else if(this.inputEl.tagName!=="IC-TEXT-FIELD"&&this.inputEl.tagName!=="INPUT"){this.menu.focus()}else if(!!this.optionHighlighted&&!this.focusFromSearchKeypress&&!this.preventIncorrectTabOrder){const i=this.host.querySelector(`li[data-value="${this.optionHighlighted}"]`);if(i){i.focus()}}}if(this.open&&!this.value&&this.selectOnEnter){this.scrollToSelected(this.menu)}}componentDidRender(){if(this.open&&!this.popperInstance&&this.anchorEl){this.initPopperJs(this.anchorEl)}if(this.open&&!!this.options.length){this.setMenuScrollbar()}}async handleClickOpen(){if(!this.preventClickOpen){this.menuStateChange.emit({open:!this.open});this.keyboardNav=false}this.preventClickOpen=false}async handleKeyboardOpen(i){if(this.activationType==="automatic"){this.autoSetInputValueKeyboardOpen(i)}else{this.manSetInputValueKeyboardOpen(i)}}async handleSetFirstOption(){this.setHighlightedOption(0)}async initPopperJs(i){this.popperInstance=r(i,this.host,{placement:"bottom",modifiers:[{name:"offset",options:{offset:[0,7]}},{name:"flip",options:{fallbackPlacements:["top"],rootBoundary:"viewport"}}]})}focusOnSearchOrSelectInput(i,e){if(!i[e])return;if(this.isSearchBar){this.parentEl.setFocus();if(this.searchMode==="navigation")this.setHighlightedOption(0)}if(this.isSearchableSelect){this.parentEl.setFocus()}this.focusFromSearchKeypress=true}render(){const{inputLabel:i,options:e,menuId:t,value:n,fullWidth:o,hasTimedOut:a,isLoading:r,size:h,small:u,open:l,inputEl:m,keyboardNav:d}=this;return s(c,{class:{"full-width":o,"no-focus":(m===null||m===void 0?void 0:m.tagName)==="INPUT"||a||r,small:u,[h]:true,open:l}},e.length!==0&&s("ul",{id:t,class:"menu",role:"listbox","aria-label":i,"aria-activedescendant":n!=null&&n!==""?this.getOptionId(n):"",tabindex:l&&!d&&(m===null||m===void 0?void 0:m.tagName)!=="INPUT"?"0":"-1",ref:i=>this.menu=i,onKeyDown:this.handleMenuKeyDown,onKeyUp:this.handleMenuKeyUp,onBlur:this.handleBlur},this.getSortedOptions(e).map(((i,e)=>{if(i.children){if(i.children.length>0){return s("div",null,s("ic-typography",{class:"option-group-title",role:"presentation",variant:"subtitle-small"},s("p",null,i[this.labelField])),i.children.map((s=>this.displayOption(s,e,i))))}else{return null}}else{return this.displayOption(i,e)}}))))}get host(){return n(this)}static get watchers(){return{open:["watchOpenHandler"],options:["watchOptionsHandler"],value:["watchValueHandler"]}}};u.style=h;export{u as ic_menu};
2
+ //# sourceMappingURL=p-70d734d4.entry.js.map