@ukic/canary-web-components 2.0.0-canary.26 → 2.0.0-canary.27

Sign up to get free protection for your applications and to get access to all the features.
Files changed (120) hide show
  1. package/dist/cjs/core.cjs.js +1 -1
  2. package/dist/cjs/ic-alert.cjs.entry.js +1 -1
  3. package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
  4. package/dist/cjs/ic-data-table.cjs.entry.js +5 -3
  5. package/dist/cjs/ic-data-table.cjs.entry.js.map +1 -1
  6. package/dist/cjs/ic-empty-state_2.cjs.entry.js +15 -9
  7. package/dist/cjs/ic-empty-state_2.cjs.entry.js.map +1 -1
  8. package/dist/cjs/ic-pagination_4.cjs.entry.js +6 -6
  9. package/dist/cjs/ic-pagination_4.cjs.entry.js.map +1 -1
  10. package/dist/cjs/ic-popover-menu.cjs.entry.js +18 -12
  11. package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
  12. package/dist/cjs/ic-search-bar.cjs.entry.js +14 -27
  13. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  14. package/dist/cjs/ic-tab-context.cjs.entry.js +68 -145
  15. package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
  16. package/dist/cjs/ic-tab-panel.cjs.entry.js +5 -13
  17. package/dist/cjs/ic-tab-panel.cjs.entry.js.map +1 -1
  18. package/dist/cjs/ic-tab.cjs.entry.js +9 -10
  19. package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
  20. package/dist/cjs/ic-typography.cjs.entry.js +3 -1
  21. package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
  22. package/dist/cjs/loader.cjs.js +1 -1
  23. package/dist/collection/components/ic-data-table/ic-data-table.css +5 -1
  24. package/dist/collection/components/ic-data-table/ic-data-table.js +4 -2
  25. package/dist/collection/components/ic-data-table/ic-data-table.js.map +1 -1
  26. package/dist/collection/components/ic-data-table/story-data.js +46 -5
  27. package/dist/collection/components/ic-data-table/story-data.js.map +1 -1
  28. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js +46 -14
  29. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js.map +1 -1
  30. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.types.js +2 -0
  31. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.types.js.map +1 -0
  32. package/dist/collection/components/ic-pagination-bar/test/basic/ic-pagination-bar.spec.js +20 -2
  33. package/dist/collection/components/ic-pagination-bar/test/basic/ic-pagination-bar.spec.js.map +1 -1
  34. package/dist/components/ic-alert2.js +1 -1
  35. package/dist/components/ic-alert2.js.map +1 -1
  36. package/dist/components/ic-data-table.js +5 -3
  37. package/dist/components/ic-data-table.js.map +1 -1
  38. package/dist/components/ic-pagination-bar2.js +18 -10
  39. package/dist/components/ic-pagination-bar2.js.map +1 -1
  40. package/dist/components/ic-popover-menu.js +20 -13
  41. package/dist/components/ic-popover-menu.js.map +1 -1
  42. package/dist/components/ic-search-bar.js +14 -27
  43. package/dist/components/ic-search-bar.js.map +1 -1
  44. package/dist/components/ic-select2.js +5 -5
  45. package/dist/components/ic-select2.js.map +1 -1
  46. package/dist/components/ic-tab-context.js +68 -145
  47. package/dist/components/ic-tab-context.js.map +1 -1
  48. package/dist/components/ic-tab-panel.js +6 -17
  49. package/dist/components/ic-tab-panel.js.map +1 -1
  50. package/dist/components/ic-tab.js +9 -10
  51. package/dist/components/ic-tab.js.map +1 -1
  52. package/dist/components/ic-text-field2.js +1 -1
  53. package/dist/components/ic-text-field2.js.map +1 -1
  54. package/dist/components/ic-typography2.js +3 -1
  55. package/dist/components/ic-typography2.js.map +1 -1
  56. package/dist/core/core.esm.js +1 -1
  57. package/dist/core/core.esm.js.map +1 -1
  58. package/dist/core/p-05ae9a59.entry.js +2 -0
  59. package/dist/core/p-05ae9a59.entry.js.map +1 -0
  60. package/dist/core/{p-989310a8.entry.js → p-0cf856e4.entry.js} +2 -2
  61. package/dist/core/p-0cf856e4.entry.js.map +1 -0
  62. package/dist/core/{p-2ee5d3fb.entry.js → p-34b333de.entry.js} +2 -2
  63. package/dist/core/p-34b333de.entry.js.map +1 -0
  64. package/dist/core/{p-6b1fcf87.entry.js → p-383ba7e8.entry.js} +2 -2
  65. package/dist/core/p-383ba7e8.entry.js.map +1 -0
  66. package/dist/core/p-6ca98c5d.entry.js +2 -0
  67. package/dist/core/p-6ca98c5d.entry.js.map +1 -0
  68. package/dist/core/{p-0ec04c16.entry.js → p-a7331e7c.entry.js} +2 -2
  69. package/dist/core/p-a7331e7c.entry.js.map +1 -0
  70. package/dist/core/p-b535c802.entry.js +2 -0
  71. package/dist/core/p-b535c802.entry.js.map +1 -0
  72. package/dist/core/{p-fa77211d.entry.js → p-cb156309.entry.js} +2 -2
  73. package/dist/core/p-cb156309.entry.js.map +1 -0
  74. package/dist/core/p-e50af3df.entry.js +2 -0
  75. package/dist/core/p-e50af3df.entry.js.map +1 -0
  76. package/dist/core/p-fc007ce4.entry.js +2 -0
  77. package/dist/core/p-fc007ce4.entry.js.map +1 -0
  78. package/dist/esm/core.js +1 -1
  79. package/dist/esm/ic-alert.entry.js +1 -1
  80. package/dist/esm/ic-alert.entry.js.map +1 -1
  81. package/dist/esm/ic-data-table.entry.js +5 -3
  82. package/dist/esm/ic-data-table.entry.js.map +1 -1
  83. package/dist/esm/ic-empty-state_2.entry.js +15 -9
  84. package/dist/esm/ic-empty-state_2.entry.js.map +1 -1
  85. package/dist/esm/ic-pagination_4.entry.js +6 -6
  86. package/dist/esm/ic-pagination_4.entry.js.map +1 -1
  87. package/dist/esm/ic-popover-menu.entry.js +18 -12
  88. package/dist/esm/ic-popover-menu.entry.js.map +1 -1
  89. package/dist/esm/ic-search-bar.entry.js +14 -27
  90. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  91. package/dist/esm/ic-tab-context.entry.js +68 -145
  92. package/dist/esm/ic-tab-context.entry.js.map +1 -1
  93. package/dist/esm/ic-tab-panel.entry.js +5 -13
  94. package/dist/esm/ic-tab-panel.entry.js.map +1 -1
  95. package/dist/esm/ic-tab.entry.js +9 -10
  96. package/dist/esm/ic-tab.entry.js.map +1 -1
  97. package/dist/esm/ic-typography.entry.js +3 -1
  98. package/dist/esm/ic-typography.entry.js.map +1 -1
  99. package/dist/esm/loader.js +1 -1
  100. package/dist/types/components/ic-data-table/story-data.d.ts +15 -0
  101. package/dist/types/components/ic-pagination-bar/ic-pagination-bar.d.ts +9 -4
  102. package/dist/types/components/ic-pagination-bar/ic-pagination-bar.types.d.ts +4 -0
  103. package/dist/types/components.d.ts +13 -3
  104. package/hydrate/index.js +150 -233
  105. package/package.json +3 -3
  106. package/dist/core/p-0ec04c16.entry.js.map +0 -1
  107. package/dist/core/p-216fbd5e.entry.js +0 -2
  108. package/dist/core/p-216fbd5e.entry.js.map +0 -1
  109. package/dist/core/p-2ee5d3fb.entry.js.map +0 -1
  110. package/dist/core/p-3ba4335c.entry.js +0 -2
  111. package/dist/core/p-3ba4335c.entry.js.map +0 -1
  112. package/dist/core/p-40e5fa80.entry.js +0 -2
  113. package/dist/core/p-40e5fa80.entry.js.map +0 -1
  114. package/dist/core/p-6af080d3.entry.js +0 -2
  115. package/dist/core/p-6af080d3.entry.js.map +0 -1
  116. package/dist/core/p-6b1fcf87.entry.js.map +0 -1
  117. package/dist/core/p-989310a8.entry.js.map +0 -1
  118. package/dist/core/p-c98ce508.entry.js +0 -2
  119. package/dist/core/p-c98ce508.entry.js.map +0 -1
  120. package/dist/core/p-fa77211d.entry.js.map +0 -1
@@ -1,2 +0,0 @@
1
- import{r as t,f as i,h as e,H as a,g as s,c as n}from"./p-8455d1bb.js";import{j as l,i as h,a as o}from"./p-8128572e.js";import{C as r,D as c}from"./p-297e99cf.js";import"./p-fd186591.js";const p=":host{gap:var(--ic-space-xs);padding:var(--ic-space-xs)}:host,.action-area{display:flex;flex-direction:column}.action-area{gap:var(--ic-space-md)}:host ::slotted(svg),:host ::slotted(img){border-radius:var(--ic-space-xxs)}:host(.right),:host(.right) .action-area{align-items:flex-end;text-align:right}:host(.center),:host(.center) .action-area{align-items:center;text-align:center}:host(.image-default) ::slotted(svg),:host(.image-default) ::slotted(img){height:calc(3 * var(--ic-space-lg)) !important;width:calc(3 * var(--ic-space-lg)) !important}:host(.image-small) ::slotted(svg),:host(.image-small) ::slotted(img){height:var(--ic-space-xxl) !important;width:var(--ic-space-xxl) !important}:host(.image-large) ::slotted(svg),:host(.image-large) ::slotted(img){height:calc(4 * var(--ic-space-xl)) !important;width:calc(4 * var(--ic-space-xl)) !important}";const g=class{constructor(e){t(this,e);this.hostMutationObserver=null;this.hostMutationCallback=t=>{if(t.some((({type:t,addedNodes:i,removedNodes:e})=>t==="childList"?l(i,e,["image","actions"]):false))){i(this)}};this.aligned="left";this.body=undefined;this.bodyMaxLines=undefined;this.heading=undefined;this.imageSize="default";this.subheading=undefined}disconnectedCallback(){var t;(t=this.hostMutationObserver)===null||t===void 0?void 0:t.disconnect()}componentDidLoad(){!h(this.el,"heading")&&o([{prop:this.heading,propName:"heading"}],"Empty State");this.hostMutationObserver=new MutationObserver(this.hostMutationCallback);this.hostMutationObserver.observe(this.el,{childList:true})}render(){const{aligned:t,body:i,bodyMaxLines:s,heading:n,imageSize:l,subheading:o}=this;return e(a,{class:{[`${t}`]:true,[`image-${l}`]:h(this.el,"image")}},h(this.el,"image")&&e("slot",{name:"image"}),e("div",null,e("slot",{name:"heading"},e("ic-typography",{variant:"h4"},n)),e("slot",{name:"subheading"},e("ic-typography",{variant:"subtitle-small"},o)),e("slot",{name:"body"},e("ic-typography",{maxLines:s},i))),h(this.el,"actions")&&e("div",{class:"action-area"},e("slot",{name:"actions"})))}get el(){return s(this)}};g.style=p;const d=":host(){display:block}.pagination-bar{height:3.5rem;display:flex;align-items:center;justify-content:flex-end;gap:var(--ic-space-xl);padding:var(--ic-space-xs) var(--ic-space-md);box-sizing:border-box}.pagination-bar-left{justify-content:flex-start}.item-controls{display:flex;align-items:center;gap:var(--ic-space-xl)}.pagination-bar-space-between .item-controls{margin-right:auto}.items-per-page-holder{display:flex;align-items:center;gap:var(--ic-space-xs)}.items-per-page-input{--input-width:5rem}.pagination-controls{display:flex;align-items:center;gap:var(--ic-space-xl)}.pagination-controls-wrap{flex-direction:column;align-items:flex-end;gap:var(--ic-space-xs)}.pagination-bar-space-between .pagination-controls{margin-left:auto}.go-to-page-holder{display:flex;align-items:center;gap:var(--ic-space-xs)}.go-to-page-input{--input-width:var(--ic-space-xl)}.go-to-page-button{--min-width:var(--ic-space-xl)}.pagination-text-default,.pagination-text-dark,.pagination-text-light{white-space:nowrap}.pagination-text-light{color:var(--ic-color-white-text)}@media screen and (max-width: 768px){.pagination-bar{flex-direction:column;align-items:flex-end;height:-moz-fit-content;height:fit-content;gap:var(--ic-space-xs)}.pagination-bar-left{align-items:flex-start}}@media screen and (max-width: 320px){.item-controls,.pagination-controls{flex-direction:column;align-items:flex-end;gap:var(--ic-space-xs)}.pagination-bar-left .item-controls,.pagination-bar-left .pagination-controls,.pagination-bar-space-between .item-controls,.pagination-bar-space-between .pagination-controls{align-items:flex-start}}";const m=class{constructor(i){t(this,i);this.icPageChange=n(this,"icPageChange",7);this.icItemsPerPageChange=n(this,"icItemsPerPageChange",7);this.PAGE_INPUT_FIELD_ID="go-to-page-input";this.INVALID_PAGE_ERROR="Please enter a valid page";this.resizeObserver=null;this.changeItemsPerPage=()=>{this.setItemsPerPage(Number(this.pageDropdownEl.value))};this.changePage=t=>{this.currentPage=t;this.lowerBound=t!==1?(t-1)*this.itemsPerPage+1:t;this.setUpperBound()};this.focusElFromLabel=t=>{var i;(i=this.paginationBarEl.querySelector(t))===null||i===void 0?void 0:i.setFocus()};this.goToPage=()=>{const t=this.pageInputEl;const i=Number(t.value);if(i<=this.totalPages&&i>0){this.changePage(i);this.paginationEl.setCurrentPage(i);this.currentPage=i;t.value="";this.icPageChange.emit({value:i});this.pageInputTooltipEl.displayTooltip(false,false);t.validationStatus=""}else{this.setInputError(t,this.INVALID_PAGE_ERROR)}};this.goToPageLabelClickHandler=()=>{this.focusElFromLabel("ic-text-field")};this.handleBlur=()=>{const t=this.pageInputEl;if(Number(t.value)<=this.totalPages&&Number(t.value)>0||t.value===""){t.validationStatus=""}this.pageInputTooltipEl.displayTooltip(false,false)};this.handleFocus=()=>{if(this.pageInputEl.validationStatus==="error"){this.pageInputTooltipEl.displayTooltip(true,true)}};this.handleInputChange=()=>{const t=parseInt(this.pageInputEl.value);if(t>this.totalPages||t<=0){this.setInputError(this.pageInputEl,this.INVALID_PAGE_ERROR);this.pageInputTooltipEl.displayTooltip(true,true)}};this.handleKeydown=t=>{if(t.key==="Enter"){if(this.pageInputEl.validationStatus==="error"){this.pageInputTooltipEl.displayTooltip(true,true)}else{this.goToPage()}}else{this.pageInputTooltipEl.displayTooltip(false,false);this.pageInputEl.validationStatus=""}};this.handleKeyUp=t=>{if(Number.isNaN(parseInt(this.pageInputEl.value))&&t.key!=="Backspace"&&t.key!=="Enter"&&t.key!=="Tab"&&t.key!=="Shift"){this.setInputError(this.pageInputEl,"Please enter a number",false);this.pageInputTooltipEl.displayTooltip(true,false)}};this.itemsPerPageLabelClickHandler=()=>{this.focusElFromLabel("ic-select")};this.paginationShouldWrap=()=>{if(this.type==="simple"){this.paginationWrapped=this.paginationEl.clientHeight>63}};this.runResizeObserver=()=>{this.resizeObserver=new ResizeObserver((()=>{const{clientWidth:t}=this.paginationBarEl;if(t-this.paginationWidth>50||t-this.paginationWidth<-50){this.paginationWidth=t;this.paginationShouldWrap()}}));this.resizeObserver.observe(this.paginationBarEl)};this.setInputError=(t,i,e=true)=>{this.inputError=i;t.validationStatus="error";if(e)t.setFocus()};this.setItemsPerPage=t=>{if(this.itemsPerPage!==t){this.itemsPerPage=t;this.itemsPerPageString=t.toString();this.icItemsPerPageChange.emit({value:this.itemsPerPage})}this.totalPages=this.totalItems>this.itemsPerPage?Math.ceil(this.totalItems/this.itemsPerPage):1;this.setUpperBound();if(this.currentPage>this.totalPages){this.paginationEl.setCurrentPage(this.totalPages);this.currentPage=this.totalPages}this.icPageChange.emit({value:this.currentPage})};this.setPaginationBarContent=()=>{var t;const i=((t=this.itemsPerPageOptions)===null||t===void 0?void 0:t.slice(0,3))||(this.totalItems<=100?[{label:"10",value:"10"},{label:"25",value:"25"},{label:"50",value:"50"}]:[{label:"25",value:"25"},{label:"100",value:"100"},{label:"1000",value:"1000"}]);i.push({label:"All",value:String(this.totalItems)});this.displayedItemsPerPageOptions=i.filter((({value:t})=>this.totalItems>=Number(t)));let e=0;const a=this.displayedItemsPerPageOptions.some((({value:t})=>{e=Number(t);return this.itemsPerPage<=e}));this.setItemsPerPage(a||!a&&this.itemsPerPage>e?e:this.itemsPerPage)};this.setUpperBound=()=>{this.upperBound=Math.min(this.lowerBound+this.itemsPerPage-1,this.totalItems)};this.capitalizedItemLabel=undefined;this.capitalizedPageLabel=undefined;this.currentPage=1;this.displayedItemsPerPageOptions=undefined;this.inputError="Please enter a valid page";this.itemsPerPage=0;this.itemsPerPageString="0";this.lowerBound=1;this.lowerCaseItemLabel=undefined;this.lowerCasePageLabel=undefined;this.paginationWidth=undefined;this.paginationWrapped=false;this.totalPages=undefined;this.upperBound=undefined;this.alignment="right";this.appearance="default";this.itemLabel="Item";this.itemsPerPageOptions=undefined;this.type="simple";this.rangeLabelType="page";this.pageLabel="Page";this.showGoToPageControl=false;this.hideRangeLabel=false;this.showItemsPerPageControl=false;this.totalItems=undefined}watchItemLabelHandler(){this.capitalizedItemLabel=r(this.itemLabel);this.lowerCaseItemLabel=this.itemLabel.toLowerCase()}watchItemsPerPageOptionsHandler(t,i){if(JSON.stringify(t)===JSON.stringify(i))return;this.setPaginationBarContent()}watchPageLabelHandler(){this.capitalizedPageLabel=r(this.pageLabel);this.lowerCasePageLabel=this.pageLabel.toLowerCase()}watchTotalItemsHandler(){this.setPaginationBarContent()}disconnectedCallback(){var t;(t=this.resizeObserver)===null||t===void 0?void 0:t.disconnect()}componentWillLoad(){this.watchPageLabelHandler();this.watchItemLabelHandler();this.setPaginationBarContent()}componentDidLoad(){var t,i;this.paginationWidth=this.paginationBarEl.clientWidth;c(this.runResizeObserver);const e=(t=this.el.shadowRoot)===null||t===void 0?void 0:t.querySelector(`.${this.PAGE_INPUT_FIELD_ID}`);if(e){const t=(i=e===null||e===void 0?void 0:e.shadowRoot)===null||i===void 0?void 0:i.querySelector("input");if(t){t.style.textAlign="center";t.style.padding="0"}}this.paginationShouldWrap()}pageChangeHandler(t){const i=t.detail.value;this.changePage(i)}render(){const{appearance:t,alignment:i,displayedItemsPerPageOptions:a,PAGE_INPUT_FIELD_ID:s,type:n,rangeLabelType:l,hideRangeLabel:h,showItemsPerPageControl:o,showGoToPageControl:r,pageLabel:c,capitalizedPageLabel:p,lowerCasePageLabel:g,capitalizedItemLabel:d,lowerCaseItemLabel:m,totalPages:u,currentPage:f,itemsPerPageString:v}=this;return e("div",{class:{["pagination-bar"]:true,[`pagination-bar-${i}`]:true},ref:t=>this.paginationBarEl=t},(!h||o)&&e("div",{class:"item-controls"},o&&e("div",{class:"items-per-page-holder"},e("ic-typography",{class:{[`pagination-text-${t}`]:true,["items-per-page-control-label"]:true},variant:"label",onClick:this.itemsPerPageLabelClickHandler},d,"s per ",g),e("ic-select",{small:true,label:"items-per-page-input",class:"items-per-page-input",hideLabel:true,options:a,value:v,onIcChange:this.changeItemsPerPage,ref:t=>this.pageDropdownEl=t})),!h&&(l==="data"?e("ic-typography",{class:{[`pagination-text-${t}`]:true,["item-pagination-label"]:true},variant:"label","aria-live":"polite"},this.upperBound===0&&`0 ${m}s`,this.upperBound>0&&`${this.lowerBound} - ${this.upperBound} of ${this.totalItems} ${m}${this.totalItems>1?"s":""}`):e("ic-typography",{class:{[`pagination-text-${t}`]:true,["page-pagination-label"]:true},variant:"label","aria-live":"polite"},p," ",f," of ",u))),e("div",{class:{["pagination-controls"]:true,["pagination-controls-wrap"]:this.paginationWrapped}},e("div",{class:"pagination-holder"},e("ic-pagination",{appearance:t,type:n,pages:u,label:c,ref:t=>this.paginationEl=t})),r&&e("div",{class:"go-to-page-holder"},e("ic-typography",{class:{[`pagination-text-${t}`]:true},variant:"label",onClick:this.goToPageLabelClickHandler},"Go to ",g),e("ic-tooltip",{label:this.inputError,target:`#${s}`,disableHover:true,disableClick:true,ref:t=>this.pageInputTooltipEl=t},e("ic-text-field",{type:"number",size:"small",label:s,class:s,id:s,hideLabel:true,onKeyDown:this.handleKeydown,onKeyUp:this.handleKeyUp,onInput:this.handleInputChange,max:u,min:"1",validationInlineInternal:true,onBlur:this.handleBlur,onFocus:this.handleFocus,ref:t=>this.pageInputEl=t})),e("ic-button",{appearance:t,variant:"secondary",onClick:this.goToPage,size:"small",class:"go-to-page-button"},"Go"))))}get el(){return s(this)}static get watchers(){return{itemLabel:["watchItemLabelHandler"],itemsPerPageOptions:["watchItemsPerPageOptionsHandler"],pageLabel:["watchPageLabelHandler"],totalItems:["watchTotalItemsHandler"]}}};m.style=d;export{g as ic_empty_state,m as ic_pagination_bar};
2
- //# sourceMappingURL=p-c98ce508.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["icEmptyStateCss","EmptyState","constructor","hostRef","this","hostMutationObserver","hostMutationCallback","mutationList","some","type","addedNodes","removedNodes","checkSlotInChildMutations","forceUpdate","aligned","body","undefined","bodyMaxLines","heading","imageSize","subheading","disconnectedCallback","_a","disconnect","componentDidLoad","isSlotUsed","el","onComponentRequiredPropUndefined","prop","propName","MutationObserver","observe","childList","render","h","Host","class","name","variant","maxLines","icPaginationBarCss","PaginationBar","PAGE_INPUT_FIELD_ID","INVALID_PAGE_ERROR","resizeObserver","changeItemsPerPage","setItemsPerPage","Number","pageDropdownEl","value","changePage","page","currentPage","lowerBound","itemsPerPage","setUpperBound","focusElFromLabel","paginationBarEl","querySelector","setFocus","goToPage","input","pageInputEl","totalPages","paginationEl","setCurrentPage","icPageChange","emit","pageInputTooltipEl","displayTooltip","validationStatus","setInputError","goToPageLabelClickHandler","handleBlur","textField","handleFocus","handleInputChange","inputValue","parseInt","handleKeydown","ev","key","handleKeyUp","isNaN","itemsPerPageLabelClickHandler","paginationShouldWrap","paginationWrapped","clientHeight","runResizeObserver","ResizeObserver","clientWidth","paginationWidth","error","focus","inputError","newValue","itemsPerPageString","toString","icItemsPerPageChange","totalItems","Math","ceil","setPaginationBarContent","displayedItemsPerPageOptions","itemsPerPageOptions","slice","label","push","String","filter","lastOptionValue","updated","upperBound","min","watchItemLabelHandler","capitalizedItemLabel","capitalize","itemLabel","lowerCaseItemLabel","toLowerCase","watchItemsPerPageOptionsHandler","newVal","oldVal","JSON","stringify","watchPageLabelHandler","capitalizedPageLabel","pageLabel","lowerCasePageLabel","watchTotalItemsHandler","componentWillLoad","checkResizeObserver","shadowRoot","_b","style","textAlign","padding","pageChangeHandler","detail","appearance","alignment","rangeLabelType","hideRangeLabel","showItemsPerPageControl","showGoToPageControl","ref","onClick","small","hideLabel","options","onIcChange","pages","target","disableHover","disableClick","size","id","onKeyDown","onKeyUp","onInput","max","validationInlineInternal","onBlur","onFocus"],"sources":["../web-components/dist/collection/components/ic-empty-state/ic-empty-state.css?tag=ic-empty-state&encapsulation=shadow","../web-components/dist/collection/components/ic-empty-state/ic-empty-state.js","src/components/ic-pagination-bar/ic-pagination-bar.css?tag=ic-pagination-bar&encapsulation=shadow","src/components/ic-pagination-bar/ic-pagination-bar.tsx"],"sourcesContent":[":host {\n gap: var(--ic-space-xs);\n padding: var(--ic-space-xs);\n}\n\n:host,\n.action-area {\n display: flex;\n flex-direction: column;\n}\n\n.action-area {\n gap: var(--ic-space-md);\n}\n\n:host ::slotted(svg),\n:host ::slotted(img) {\n border-radius: var(--ic-space-xxs);\n}\n\n:host(.right),\n:host(.right) .action-area {\n align-items: flex-end;\n text-align: right;\n}\n\n:host(.center),\n:host(.center) .action-area {\n align-items: center;\n text-align: center;\n}\n\n:host(.image-default) ::slotted(svg),\n:host(.image-default) ::slotted(img) {\n height: calc(3 * var(--ic-space-lg)) !important;\n width: calc(3 * var(--ic-space-lg)) !important;\n}\n\n:host(.image-small) ::slotted(svg),\n:host(.image-small) ::slotted(img) {\n height: var(--ic-space-xxl) !important;\n width: var(--ic-space-xxl) !important;\n}\n\n:host(.image-large) ::slotted(svg),\n:host(.image-large) ::slotted(img) {\n height: calc(4 * var(--ic-space-xl)) !important;\n width: calc(4 * var(--ic-space-xl)) !important;\n}\n","import { h, Host, forceUpdate } from \"@stencil/core\";\nimport { isSlotUsed, onComponentRequiredPropUndefined, checkSlotInChildMutations, } from \"../../utils/helpers\";\n/**\n * @slot image - Content is placed at the top above all other content.\n * @slot actions - Content is placed at the bottom below all other content.\n * @slot heading - Content will be rendered in place of the heading prop.\n * @slot subheading - Content will be rendered in place of the subheading prop.\n * @slot body - Content will be rendered in place of the body prop.\n */\nexport class EmptyState {\n constructor() {\n this.hostMutationObserver = null;\n this.hostMutationCallback = (mutationList) => {\n if (mutationList.some(({ type, addedNodes, removedNodes }) => type === \"childList\"\n ? checkSlotInChildMutations(addedNodes, removedNodes, [\n \"image\",\n \"actions\",\n ])\n : false)) {\n forceUpdate(this);\n }\n };\n this.aligned = \"left\";\n this.body = undefined;\n this.bodyMaxLines = undefined;\n this.heading = undefined;\n this.imageSize = \"default\";\n this.subheading = undefined;\n }\n disconnectedCallback() {\n var _a;\n (_a = this.hostMutationObserver) === null || _a === void 0 ? void 0 : _a.disconnect();\n }\n componentDidLoad() {\n !isSlotUsed(this.el, \"heading\") &&\n onComponentRequiredPropUndefined([{ prop: this.heading, propName: \"heading\" }], \"Empty State\");\n this.hostMutationObserver = new MutationObserver(this.hostMutationCallback);\n this.hostMutationObserver.observe(this.el, {\n childList: true,\n });\n }\n render() {\n const { aligned, body, bodyMaxLines, heading, imageSize, subheading } = this;\n return (h(Host, { class: {\n [`${aligned}`]: true,\n [`image-${imageSize}`]: isSlotUsed(this.el, \"image\"),\n } }, isSlotUsed(this.el, \"image\") && h(\"slot\", { name: \"image\" }), h(\"div\", null, h(\"slot\", { name: \"heading\" }, h(\"ic-typography\", { variant: \"h4\" }, heading)), h(\"slot\", { name: \"subheading\" }, h(\"ic-typography\", { variant: \"subtitle-small\" }, subheading)), h(\"slot\", { name: \"body\" }, h(\"ic-typography\", { maxLines: bodyMaxLines }, body))), isSlotUsed(this.el, \"actions\") && (h(\"div\", { class: \"action-area\" }, h(\"slot\", { name: \"actions\" })))));\n }\n static get is() { return \"ic-empty-state\"; }\n static get encapsulation() { return \"shadow\"; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"ic-empty-state.css\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ic-empty-state.css\"]\n };\n }\n static get properties() {\n return {\n \"aligned\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcEmptyStateAlignment\",\n \"resolved\": \"\\\"center\\\" | \\\"left\\\" | \\\"right\\\"\",\n \"references\": {\n \"IcEmptyStateAlignment\": {\n \"location\": \"import\",\n \"path\": \"./ic-empty-state.types\",\n \"id\": \"src/components/ic-empty-state/ic-empty-state.types.ts::IcEmptyStateAlignment\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The alignment of the empty state container.\"\n },\n \"attribute\": \"aligned\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"left\\\"\"\n },\n \"body\": {\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 body text rendered in the empty state container.\"\n },\n \"attribute\": \"body\",\n \"reflect\": false\n },\n \"bodyMaxLines\": {\n \"type\": \"number\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The number of lines of body text to display before truncating.\"\n },\n \"attribute\": \"body-max-lines\",\n \"reflect\": false\n },\n \"heading\": {\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 title rendered in the empty state container.\"\n },\n \"attribute\": \"heading\",\n \"reflect\": false\n },\n \"imageSize\": {\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 image or icon used in the image slot.\"\n },\n \"attribute\": \"image-size\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"default\\\"\"\n },\n \"subheading\": {\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 subtitle rendered in the empty state container.\"\n },\n \"attribute\": \"subheading\",\n \"reflect\": false\n }\n };\n }\n static get elementRef() { return \"el\"; }\n}\n//# sourceMappingURL=ic-empty-state.js.map\n",":host() {\n display: block;\n}\n\n.pagination-bar {\n height: 3.5rem;\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: var(--ic-space-xl);\n padding: var(--ic-space-xs) var(--ic-space-md);\n box-sizing: border-box;\n}\n\n.pagination-bar-left {\n justify-content: flex-start;\n}\n\n.item-controls {\n display: flex;\n align-items: center;\n gap: var(--ic-space-xl);\n}\n\n.pagination-bar-space-between .item-controls {\n margin-right: auto;\n}\n\n.items-per-page-holder {\n display: flex;\n align-items: center;\n gap: var(--ic-space-xs);\n}\n\n.items-per-page-input {\n --input-width: 5rem;\n}\n\n.pagination-controls {\n display: flex;\n align-items: center;\n gap: var(--ic-space-xl);\n}\n\n.pagination-controls-wrap {\n flex-direction: column;\n align-items: flex-end;\n gap: var(--ic-space-xs);\n}\n\n.pagination-bar-space-between .pagination-controls {\n margin-left: auto;\n}\n\n.go-to-page-holder {\n display: flex;\n align-items: center;\n gap: var(--ic-space-xs);\n}\n\n.go-to-page-input {\n --input-width: var(--ic-space-xl);\n}\n\n.go-to-page-button {\n --min-width: var(--ic-space-xl);\n}\n\n.pagination-text-default,\n.pagination-text-dark,\n.pagination-text-light {\n white-space: nowrap;\n}\n\n.pagination-text-light {\n color: var(--ic-color-white-text);\n}\n\n@media screen and (max-width: 768px) {\n .pagination-bar {\n flex-direction: column;\n align-items: flex-end;\n height: fit-content;\n gap: var(--ic-space-xs);\n }\n\n .pagination-bar-left {\n align-items: flex-start;\n }\n}\n\n@media screen and (max-width: 320px) {\n .item-controls,\n .pagination-controls {\n flex-direction: column;\n align-items: flex-end;\n gap: var(--ic-space-xs);\n }\n\n .pagination-bar-left .item-controls,\n .pagination-bar-left .pagination-controls,\n .pagination-bar-space-between .item-controls,\n .pagination-bar-space-between .pagination-controls {\n align-items: flex-start;\n }\n}\n","import {\n Component,\n Prop,\n Element,\n Event,\n EventEmitter,\n State,\n Listen,\n h,\n Watch,\n} from \"@stencil/core\";\nimport { IcThemeForeground } from \"@ukic/web-components/dist/types/interface\";\nimport { checkResizeObserver, capitalize } from \"../../utils/helpers\";\nimport {\n IcPaginationAlignmentOptions,\n IcPaginationLabelTypes,\n IcPaginationTypes,\n} from \"@ukic/web-components/dist/types/components/ic-pagination/ic-pagination.types\";\n\n@Component({\n tag: \"ic-pagination-bar\",\n styleUrl: \"ic-pagination-bar.css\",\n shadow: true,\n})\nexport class PaginationBar {\n private PAGE_INPUT_FIELD_ID = \"go-to-page-input\";\n\n private INVALID_PAGE_ERROR = \"Please enter a valid page\";\n\n private resizeObserver: ResizeObserver = null;\n private pageDropdownEl: HTMLIcSelectElement;\n private pageInputEl: HTMLIcTextFieldElement;\n private pageInputTooltipEl: HTMLIcTooltipElement;\n private paginationBarEl: HTMLElement;\n private paginationEl: HTMLIcPaginationElement;\n\n @Element() el: HTMLIcPaginationBarElement;\n\n @State() capitalizedItemLabel: string;\n\n @State() capitalizedPageLabel: string;\n\n @State() currentPage: number = 1;\n\n @State() displayedItemsPerPageOptions?: {\n label: string;\n value: string;\n }[];\n\n @State() inputError: string = \"Please enter a valid page\";\n\n @State() itemsPerPage: number = 0;\n\n @State() itemsPerPageString: string = \"0\";\n\n @State() lowerBound: number = 1;\n\n @State() lowerCaseItemLabel: string;\n\n @State() lowerCasePageLabel: string;\n\n @State() paginationWidth: number;\n\n @State() paginationWrapped: boolean = false;\n\n @State() totalPages: number;\n\n @State() upperBound: number;\n\n /**\n * Sets the alignment of the items in the pagination bar.\n */\n @Prop() alignment?: IcPaginationAlignmentOptions = \"right\";\n\n /**\n * Sets the styling for the items in the pagination bar.\n */\n @Prop() appearance?: IcThemeForeground = \"default\";\n\n /**\n * The text which will be used in place of 'Item' on the pagination bar.\n */\n @Prop() itemLabel?: string = \"Item\";\n\n @Watch(\"itemLabel\")\n watchItemLabelHandler(): void {\n this.capitalizedItemLabel = capitalize(this.itemLabel);\n this.lowerCaseItemLabel = this.itemLabel.toLowerCase();\n }\n\n /**\n * The options which will be displayed for 'items per page' select input. Set a maximum of 4 options including a required 'All' option with value equal to total number of items.\n */\n @Prop() itemsPerPageOptions?: {\n label: string;\n value: string;\n }[];\n\n @Watch(\"itemsPerPageOptions\")\n watchItemsPerPageOptionsHandler(\n newVal: {\n label: string;\n value: string;\n }[],\n oldVal: {\n label: string;\n value: string;\n }[]\n ): void {\n if (JSON.stringify(newVal) === JSON.stringify(oldVal)) return;\n this.setPaginationBarContent();\n }\n\n /**\n * Whether the displayed pagination is simple or complex.\n */\n @Prop() type?: IcPaginationTypes = \"simple\";\n\n /**\n * Whether total number of items and current item range or total number of pages and current page is displayed.\n */\n @Prop() rangeLabelType?: IcPaginationLabelTypes = \"page\";\n\n /**\n * The text which will be used in place of 'Page' on the pagination bar.\n */\n @Prop() pageLabel?: string = \"Page\";\n\n @Watch(\"pageLabel\")\n watchPageLabelHandler(): void {\n this.capitalizedPageLabel = capitalize(this.pageLabel);\n this.lowerCasePageLabel = this.pageLabel.toLowerCase();\n }\n\n /**\n * If `true`, the 'go to page' control should be displayed.\n */\n @Prop() showGoToPageControl?: boolean = false;\n\n /**\n * If `true`, the number of total items and current item range or number of total pages and current page will be hidden.\n */\n @Prop() hideRangeLabel?: boolean = false;\n\n /**\n * If `true`, the select input to control 'items per page' should be displayed.\n */\n @Prop() showItemsPerPageControl?: boolean = false;\n\n /**\n * Total number of items to be displayed across all pages.\n */\n @Prop() totalItems!: number;\n\n @Watch(\"totalItems\")\n watchTotalItemsHandler(): void {\n this.setPaginationBarContent();\n }\n\n /**\n * Emitted when a page is navigated to via the 'go to' input.\n */\n @Event() icPageChange: EventEmitter<{ value: number }>;\n\n /**\n * Emitted when the items per page option is changed.\n */\n @Event() icItemsPerPageChange: EventEmitter<{ value: number }>;\n\n disconnectedCallback(): void {\n this.resizeObserver?.disconnect();\n }\n\n componentWillLoad(): void {\n this.watchPageLabelHandler();\n this.watchItemLabelHandler();\n this.setPaginationBarContent();\n }\n\n componentDidLoad(): void {\n this.paginationWidth = this.paginationBarEl.clientWidth;\n checkResizeObserver(this.runResizeObserver);\n const textField = this.el.shadowRoot?.querySelector(\n `.${this.PAGE_INPUT_FIELD_ID}`\n );\n if (textField) {\n const input = textField?.shadowRoot?.querySelector(\"input\");\n if (input) {\n input.style.textAlign = \"center\";\n input.style.padding = \"0\";\n }\n }\n this.paginationShouldWrap();\n }\n\n @Listen(\"icPageChange\")\n pageChangeHandler(ev: CustomEvent): void {\n const page = ev.detail.value;\n this.changePage(page);\n }\n\n private changeItemsPerPage = () => {\n this.setItemsPerPage(Number(this.pageDropdownEl.value));\n };\n\n private changePage = (page: number) => {\n this.currentPage = page;\n this.lowerBound = page !== 1 ? (page - 1) * this.itemsPerPage + 1 : page;\n this.setUpperBound();\n };\n\n private focusElFromLabel = (el: \"ic-select\" | \"ic-text-field\") => {\n this.paginationBarEl.querySelector(el)?.setFocus();\n };\n\n private goToPage = () => {\n const input = this.pageInputEl;\n const page = Number(input.value);\n if (page <= this.totalPages && page > 0) {\n this.changePage(page);\n this.paginationEl.setCurrentPage(page);\n this.currentPage = page;\n input.value = \"\";\n this.icPageChange.emit({ value: page });\n this.pageInputTooltipEl.displayTooltip(false, false);\n input.validationStatus = \"\";\n } else {\n this.setInputError(input, this.INVALID_PAGE_ERROR);\n }\n };\n\n private goToPageLabelClickHandler = () => {\n this.focusElFromLabel(\"ic-text-field\");\n };\n\n private handleBlur = () => {\n const textField = this.pageInputEl;\n if (\n (Number(textField.value) <= this.totalPages &&\n Number(textField.value) > 0) ||\n textField.value === \"\"\n ) {\n textField.validationStatus = \"\";\n }\n this.pageInputTooltipEl.displayTooltip(false, false);\n };\n\n private handleFocus = () => {\n if (this.pageInputEl.validationStatus === \"error\") {\n this.pageInputTooltipEl.displayTooltip(true, true);\n }\n };\n\n private handleInputChange = () => {\n const inputValue = parseInt(this.pageInputEl.value);\n\n if (inputValue > this.totalPages || inputValue <= 0) {\n this.setInputError(this.pageInputEl, this.INVALID_PAGE_ERROR);\n this.pageInputTooltipEl.displayTooltip(true, true);\n }\n };\n\n private handleKeydown = (ev: KeyboardEvent) => {\n if (ev.key === \"Enter\") {\n if (this.pageInputEl.validationStatus === \"error\") {\n this.pageInputTooltipEl.displayTooltip(true, true);\n } else {\n this.goToPage();\n }\n } else {\n this.pageInputTooltipEl.displayTooltip(false, false);\n this.pageInputEl.validationStatus = \"\";\n }\n };\n\n private handleKeyUp = (ev: KeyboardEvent) => {\n if (\n Number.isNaN(parseInt(this.pageInputEl.value)) &&\n ev.key !== \"Backspace\" &&\n ev.key !== \"Enter\" &&\n ev.key !== \"Tab\" &&\n ev.key !== \"Shift\"\n ) {\n this.setInputError(this.pageInputEl, \"Please enter a number\", false);\n this.pageInputTooltipEl.displayTooltip(true, false);\n }\n };\n\n private itemsPerPageLabelClickHandler = () => {\n this.focusElFromLabel(\"ic-select\");\n };\n\n private paginationShouldWrap = () => {\n if (this.type === \"simple\") {\n this.paginationWrapped = this.paginationEl.clientHeight > 63;\n }\n };\n\n private runResizeObserver = () => {\n this.resizeObserver = new ResizeObserver(() => {\n const { clientWidth } = this.paginationBarEl;\n if (\n clientWidth - this.paginationWidth > 50 ||\n clientWidth - this.paginationWidth < -50\n ) {\n this.paginationWidth = clientWidth;\n this.paginationShouldWrap();\n }\n });\n\n this.resizeObserver.observe(this.paginationBarEl);\n };\n\n private setInputError = (\n el: HTMLIcTextFieldElement,\n error: string,\n focus = true\n ) => {\n this.inputError = error;\n el.validationStatus = \"error\";\n if (focus) el.setFocus();\n };\n\n private setItemsPerPage = (newValue: number) => {\n if (this.itemsPerPage !== newValue) {\n this.itemsPerPage = newValue;\n this.itemsPerPageString = newValue.toString();\n this.icItemsPerPageChange.emit({ value: this.itemsPerPage });\n }\n\n this.totalPages =\n this.totalItems > this.itemsPerPage\n ? Math.ceil(this.totalItems / this.itemsPerPage)\n : 1;\n\n this.setUpperBound();\n if (this.currentPage > this.totalPages) {\n this.paginationEl.setCurrentPage(this.totalPages);\n this.currentPage = this.totalPages;\n }\n this.icPageChange.emit({ value: this.currentPage });\n };\n\n private setPaginationBarContent = (): void => {\n const displayedItemsPerPageOptions =\n this.itemsPerPageOptions?.slice(0, 3) ||\n (this.totalItems <= 100\n ? [\n { label: \"10\", value: \"10\" },\n { label: \"25\", value: \"25\" },\n { label: \"50\", value: \"50\" },\n ]\n : [\n { label: \"25\", value: \"25\" },\n { label: \"100\", value: \"100\" },\n { label: \"1000\", value: \"1000\" },\n ]);\n displayedItemsPerPageOptions.push({\n label: \"All\",\n value: String(this.totalItems),\n });\n\n this.displayedItemsPerPageOptions = displayedItemsPerPageOptions.filter(\n ({ value }) => this.totalItems >= Number(value)\n );\n\n let lastOptionValue = 0;\n const updated = this.displayedItemsPerPageOptions.some(({ value }) => {\n lastOptionValue = Number(value);\n return this.itemsPerPage <= lastOptionValue;\n });\n\n this.setItemsPerPage(\n updated || (!updated && this.itemsPerPage > lastOptionValue)\n ? lastOptionValue\n : this.itemsPerPage\n );\n };\n\n private setUpperBound = () => {\n this.upperBound = Math.min(\n this.lowerBound + this.itemsPerPage - 1,\n this.totalItems\n );\n };\n\n render() {\n const {\n appearance,\n alignment,\n displayedItemsPerPageOptions,\n PAGE_INPUT_FIELD_ID,\n type,\n rangeLabelType,\n hideRangeLabel,\n showItemsPerPageControl,\n showGoToPageControl,\n pageLabel,\n capitalizedPageLabel,\n lowerCasePageLabel,\n capitalizedItemLabel,\n lowerCaseItemLabel,\n totalPages,\n currentPage,\n itemsPerPageString,\n } = this;\n\n return (\n <div\n class={{\n [\"pagination-bar\"]: true,\n [`pagination-bar-${alignment}`]: true,\n }}\n ref={(el) => (this.paginationBarEl = el)}\n >\n {(!hideRangeLabel || showItemsPerPageControl) && (\n <div class=\"item-controls\">\n {showItemsPerPageControl && (\n <div class=\"items-per-page-holder\">\n <ic-typography\n class={{\n [`pagination-text-${appearance}`]: true,\n [\"items-per-page-control-label\"]: true,\n }}\n variant=\"label\"\n onClick={this.itemsPerPageLabelClickHandler}\n >\n {capitalizedItemLabel}s per {lowerCasePageLabel}\n </ic-typography>\n <ic-select\n small\n label=\"items-per-page-input\"\n class=\"items-per-page-input\"\n hideLabel\n options={displayedItemsPerPageOptions}\n value={itemsPerPageString}\n onIcChange={this.changeItemsPerPage}\n ref={(el: HTMLIcSelectElement) => (this.pageDropdownEl = el)}\n ></ic-select>\n </div>\n )}\n {!hideRangeLabel &&\n (rangeLabelType === \"data\" ? (\n <ic-typography\n class={{\n [`pagination-text-${appearance}`]: true,\n [\"item-pagination-label\"]: true,\n }}\n variant=\"label\"\n aria-live=\"polite\"\n >\n {this.upperBound === 0 && `0 ${lowerCaseItemLabel}s`}\n {this.upperBound > 0 &&\n `${this.lowerBound} - ${this.upperBound} of ${\n this.totalItems\n } ${lowerCaseItemLabel}${this.totalItems > 1 ? \"s\" : \"\"}`}\n </ic-typography>\n ) : (\n <ic-typography\n class={{\n [`pagination-text-${appearance}`]: true,\n [\"page-pagination-label\"]: true,\n }}\n variant=\"label\"\n aria-live=\"polite\"\n >\n {capitalizedPageLabel} {currentPage} of {totalPages}\n </ic-typography>\n ))}\n </div>\n )}\n <div\n class={{\n [\"pagination-controls\"]: true,\n [\"pagination-controls-wrap\"]: this.paginationWrapped,\n }}\n >\n <div class=\"pagination-holder\">\n <ic-pagination\n appearance={appearance}\n type={type}\n pages={totalPages}\n label={pageLabel}\n ref={(el: HTMLIcPaginationElement) => (this.paginationEl = el)}\n ></ic-pagination>\n </div>\n {showGoToPageControl && (\n <div class=\"go-to-page-holder\">\n <ic-typography\n class={{ [`pagination-text-${appearance}`]: true }}\n variant=\"label\"\n onClick={this.goToPageLabelClickHandler}\n >\n Go to {lowerCasePageLabel}\n </ic-typography>\n <ic-tooltip\n label={this.inputError}\n target={`#${PAGE_INPUT_FIELD_ID}`}\n disableHover\n disableClick\n ref={(el: HTMLIcTooltipElement) =>\n (this.pageInputTooltipEl = el)\n }\n >\n <ic-text-field\n type=\"number\"\n size=\"small\"\n label={PAGE_INPUT_FIELD_ID}\n class={PAGE_INPUT_FIELD_ID}\n id={PAGE_INPUT_FIELD_ID}\n hideLabel\n onKeyDown={this.handleKeydown}\n onKeyUp={this.handleKeyUp}\n onInput={this.handleInputChange}\n max={totalPages}\n min=\"1\"\n validationInlineInternal\n onBlur={this.handleBlur}\n onFocus={this.handleFocus}\n ref={(el: HTMLIcTextFieldElement) => (this.pageInputEl = el)}\n ></ic-text-field>\n </ic-tooltip>\n <ic-button\n appearance={appearance}\n variant=\"secondary\"\n onClick={this.goToPage}\n size=\"small\"\n class=\"go-to-page-button\"\n >\n Go\n </ic-button>\n </div>\n )}\n </div>\n </div>\n );\n }\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"names":["icSearchBarCss","inputIds","SearchBar","constructor","hostRef","this","assistiveHintEl","hasTimedOut","inputId","menuCloseFromMenuChangeEvent","menuId","preLoad","preventSubmit","prevNoOption","retryButtonClick","truncateValue","handleClear","ev","keyboardEvent","mouseEvent","type","code","value","inputEl","loading","clearTimeout","timeoutTimer","filteredOptions","options","el","setFocus","icClear","emit","preventDefault","onInput","target","noOptions","labelField","emptyOptionListText","valueField","length","setMenuChange","disableFilter","rawFilteredOptions","getFilteredMenuOptions","showClearButton","handleShowClearButton","debounceAriaLiveUpdate","onInputBlur","nextFocus","relatedTarget","icInputBlur","onInputFocus","icInputFocus","handleClearBlur","icClearBlur","clearButtonFocused","handleSubmitSearchBlur","icSubmitSearchBlur","searchSubmitFocused","handleMouseDown","handleSubmitSearchFocus","handleSubmitSearch","highlightedValue","undefined","icSubmitSearch","form","closest","searchSubmitButton","handleHiddenFormButtonClick","handleSubmitSearchKeyDown","key","handleRetry","retryViaKeyPress","detail","keyPressed","icRetryLoad","triggerLoading","loadingOption","loadingLabel","timeout","window","setTimeout","loadingErrorLabel","timedOut","handleOptionSelect","label","icOptionSelect","handleMenuOptionHighlight","_a","optionValue","optionId","replace","ariaActiveDescendant","handleMenuChange","open","handleMenuCloseFromMenuChange","focusInput","icMenuChange","handleHostFocus","handleTruncateValue","icSearchBarFocus","handleHostBlur","menu","icSearchBarBlur","visible","handleFocusClearButton","fromEvent","truncate","renderAssistiveHintEl","_b","input","shadowRoot","querySelector","Object","keys","hasOptionsOrFilterDisabled","document","createElement","innerText","hintText","id","style","display","after","updateSearchResultAriaLive","searchResultsStatusEl","charactersUntilSuggestion","hadNoOptions","searchMode","isSubmitDisabled","valueNotSet","valueLengthLess","disabled","highlightFirstOptionAfterNoResults","handleSetFirstOption","prevNoOptionsList","find","filteredOption","autocapitalize","autocomplete","autocorrect","autofocus","debounce","focusOnLoad","fullWidth","helperText","hideLabel","name","placeholder","readonly","required","size","small","spellcheck","loadingHandler","newValue","filteredOptionsHandler","newOptions","some","opt","watchOptionsHandler","watchValueHandler","getLabelFromValue","disconnectedCallback","remove","componentWillLoad","removeDisabledFalse","componentDidLoad","onComponentRequiredPropUndefined","prop","propName","anchorEl","componentWillRender","handleKeyDown","keyEv","event","handleKeyboardOpen","handleKeyUp","debounceAriaLive","render","disabledMode","describedBy","getInputDescribedByText","trim","describedById","disabledText","hasSuggestedSearch","menuOpen","menuRendered","isOrHasLoaded","expanded","renderHiddenInput","h","Host","class","onFocus","onBlur","ref","ariaExpanded","role","autoFocus","inputmode","slot","innerHTML","clearIcon","onClick","onMouseDown","onKeyDown","variant","appearance","IcThemeForegroundEnum","Light","Dark","searchIcon","Default","fullwidth","activationType","autoFocusOnSelected","inputLabel","onMenuOptionSelect","onMenuStateChange","onMenuOptionId","onRetryButtonClicked","parentEl","delegatesFocus"],"sources":["../web-components/dist/collection/components/ic-search-bar/ic-search-bar.css?tag=ic-search-bar&encapsulation=shadow","../web-components/dist/collection/components/ic-search-bar/ic-search-bar.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/**\n * @prop --ic-z-index-menu: z-index of search bar menu\n */\n\n:host(.search) {\n --divider-height: 1.5rem;\n}\n\n:host(.search.small) {\n --divider-height: 1rem;\n}\n\n:host(.fullwidth) {\n width: 100%;\n}\n\n:host(.search) .disabled:hover {\n border-color: var(--ic-architectural-200);\n}\n\n:host(.search.disabled) .disabled svg {\n color: var(--ic-architectural-200);\n}\n\n:host(.search) .disabled svg {\n color: var(--ic-architectural-400);\n}\n\n/* CLEAR */\n\n.clear-button-container {\n align-items: center;\n margin-right: var(--ic-space-1px);\n display: none;\n visibility: hidden;\n}\n\n.clear-button {\n border-radius: var(--ic-border-radius);\n transition: box-shadow var(--ic-easing-transition),\n border-radius var(--ic-easing-transition);\n}\n\n.clear-button:focus,\n.clear-button:active {\n background-color: var(--ic-focus-blue);\n box-shadow: inset 0 0 0 0.125rem var(--ic-focus-glow);\n border-radius: 0.25rem;\n}\n\n.clear-button:focus,\n.clear-button:active * {\n fill: white;\n}\n\n.clear-button-visible {\n visibility: visible;\n display: flex;\n}\n\n.search-submit-button-container {\n display: flex;\n align-items: center;\n}\n\n.search-submit-button-disabled .ic-tooltip-container {\n display: none !important;\n}\n\n.search-submit-button:focus,\n.search-submit-button:active {\n background-color: var(--ic-focus-blue) !important;\n box-shadow: inset 0 0 0 0.125rem var(--ic-focus-glow) !important;\n border-radius: var(--ic-space-xxs);\n}\n\n.search-submit-button:focus,\n.search-submit-button:active * {\n fill: white;\n}\n\n.divider {\n width: var(--ic-border-width);\n background-color: var(--ic-action-dark-active);\n height: var(--divider-height);\n}\n\n:host(.dark) .divider {\n background-color: var(--ic-architectural-200);\n}\n\n.menu-container {\n width: var(--input-width, 20rem);\n position: relative;\n top: var(--ic-space-xxxs);\n}\n\n.menu-container.fullwidth {\n width: 100%;\n}\n\n.no-results {\n cursor: not-allowed;\n}\n\n.search-results-status {\n border: 0;\n clip: rect(0, 0, 0, 0, 0);\n height: var(--ic-space-1px);\n margin-bottom: calc(-1 * var(--ic-space-1px));\n margin-right: calc(-1 * var(--ic-space-1px));\n overflow: hidden;\n padding: 0;\n position: absolute;\n white-space: nowrap;\n width: var(--ic-space-1px);\n}\n","import { Host, h, } from \"@stencil/core\";\nimport { IcThemeForegroundEnum, } from \"../../utils/types\";\nimport { getInputDescribedByText, renderHiddenInput, handleHiddenFormButtonClick, getLabelFromValue, onComponentRequiredPropUndefined, getFilteredMenuOptions, removeDisabledFalse, } from \"../../utils/helpers\";\nimport clearIcon from \"../../assets/clear-icon.svg\";\nimport searchIcon from \"../../assets/search-icon.svg\";\nlet inputIds = 0;\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport class SearchBar {\n constructor() {\n this.assistiveHintEl = null;\n this.hasTimedOut = false;\n this.inputId = `ic-search-bar-input-${inputIds++}`;\n this.menuCloseFromMenuChangeEvent = false;\n this.menuId = `${this.inputId}-menu`;\n this.preLoad = true;\n this.preventSubmit = false;\n this.prevNoOption = false;\n this.retryButtonClick = false;\n this.truncateValue = false;\n this.handleClear = (ev) => {\n const keyboardEvent = ev;\n const mouseEvent = ev;\n if (mouseEvent.type === \"click\" ||\n keyboardEvent.code === \"Enter\" ||\n keyboardEvent.code === \"Space\") {\n this.value = \"\";\n this.inputEl.value = \"\";\n this.loading = false;\n clearTimeout(this.timeoutTimer);\n this.filteredOptions = this.options;\n this.el.setFocus();\n this.icClear.emit();\n ev.preventDefault();\n this.preventSubmit = true;\n }\n };\n this.onInput = (ev) => {\n this.value = ev.target.value;\n const noOptions = [\n { [this.labelField]: this.emptyOptionListText, [this.valueField]: \"\" },\n ];\n if (this.options.length > 0) {\n this.setMenuChange(true);\n this.preLoad = false;\n if (this.disableFilter === false) {\n const rawFilteredOptions = getFilteredMenuOptions(this.options, false, this.value, \"anywhere\", this.labelField);\n this.filteredOptions =\n rawFilteredOptions.length > 0 ? rawFilteredOptions : noOptions;\n }\n }\n if (!this.showClearButton) {\n this.handleShowClearButton(true);\n }\n this.debounceAriaLiveUpdate();\n };\n this.onInputBlur = (ev) => {\n const value = ev.target.value;\n const nextFocus = ev.relatedTarget;\n this.icInputBlur.emit({ value: value, relatedTarget: nextFocus });\n };\n this.onInputFocus = (ev) => {\n const value = ev.target.value;\n this.icInputFocus.emit({ value: value });\n this.handleShowClearButton(true);\n };\n this.handleClearBlur = (ev) => {\n const nextFocus = ev.relatedTarget;\n this.icClearBlur.emit({ relatedTarget: nextFocus });\n this.clearButtonFocused = false;\n };\n this.handleSubmitSearchBlur = (ev) => {\n const nextFocus = ev.relatedTarget;\n this.icSubmitSearchBlur.emit({ relatedTarget: nextFocus });\n this.searchSubmitFocused = false;\n };\n this.handleMouseDown = (ev) => {\n ev.preventDefault();\n };\n this.handleSubmitSearchFocus = () => {\n this.searchSubmitFocused = true;\n };\n this.handleSubmitSearch = () => {\n this.highlightedValue && (this.value = this.highlightedValue);\n this.highlightedValue = undefined;\n this.icSubmitSearch.emit({ value: this.value });\n const form = this.el.closest(\"FORM\");\n if (this.searchSubmitButton && !!form && !this.preventSubmit) {\n handleHiddenFormButtonClick(form, this.searchSubmitButton);\n }\n };\n this.handleSubmitSearchKeyDown = (ev) => {\n if (ev.key === \" \") {\n ev.preventDefault();\n this.handleSubmitSearch();\n }\n };\n this.handleRetry = (ev) => {\n this.retryViaKeyPress = ev.detail.keyPressed === \"Enter\";\n this.icRetryLoad.emit({ value: ev.detail.value });\n this.triggerLoading();\n this.retryButtonClick = true;\n };\n this.triggerLoading = () => {\n const loadingOption = [\n {\n [this.labelField]: this.loadingLabel,\n [this.valueField]: \"\",\n loading: true,\n },\n ];\n if (this.filteredOptions !== loadingOption)\n this.filteredOptions = loadingOption;\n if (this.timeout) {\n this.timeoutTimer = window.setTimeout(() => {\n this.filteredOptions = [\n {\n [this.labelField]: this.loadingErrorLabel,\n [this.valueField]: \"\",\n timedOut: true,\n },\n ];\n }, this.timeout);\n }\n };\n this.handleOptionSelect = (ev) => {\n if (ev.detail.label === this.emptyOptionListText) {\n this.el.setFocus();\n return;\n }\n this.value = ev.detail.value;\n this.icOptionSelect.emit({ value: this.value });\n };\n this.handleMenuOptionHighlight = (ev) => {\n var _a;\n const optionValue = (_a = ev.detail.optionId) === null || _a === void 0 ? void 0 : _a.replace(`${this.menuId}-`, \"\");\n optionValue && (this.highlightedValue = optionValue);\n if (ev.detail.optionId) {\n this.ariaActiveDescendant = ev.detail.optionId;\n }\n else {\n this.ariaActiveDescendant = undefined;\n }\n };\n this.handleMenuChange = (ev) => {\n this.setMenuChange(ev.detail.open);\n if (!ev.detail.open) {\n this.handleMenuCloseFromMenuChange(true);\n if (ev.detail.focusInput === undefined || ev.detail.focusInput) {\n this.el.setFocus();\n }\n }\n };\n this.setMenuChange = (open) => {\n if (this.open !== open) {\n this.open = open;\n this.icMenuChange.emit({ open });\n }\n };\n this.handleHostFocus = () => {\n if (this.options && this.value && !this.menuCloseFromMenuChangeEvent) {\n this.setMenuChange(true);\n }\n this.handleTruncateValue(false);\n this.icSearchBarFocus.emit();\n };\n this.handleHostBlur = (ev) => {\n const nextFocus = ev.relatedTarget;\n if (this.open &&\n this.options &&\n nextFocus !== this.menu &&\n !this.retryViaKeyPress &&\n !this.retryButtonClick) {\n this.setMenuChange(false);\n }\n if (this.retryButtonClick || this.retryViaKeyPress) {\n this.inputEl.setFocus();\n }\n this.handleShowClearButton(false);\n this.handleMenuCloseFromMenuChange(false);\n this.handleTruncateValue(true);\n this.icSearchBarBlur.emit({ relatedTarget: nextFocus, value: this.value });\n this.retryViaKeyPress = false;\n this.retryButtonClick = false;\n };\n this.handleShowClearButton = (visible) => {\n this.showClearButton = visible;\n };\n this.handleFocusClearButton = () => {\n this.clearButtonFocused = true;\n };\n this.handleMenuCloseFromMenuChange = (fromEvent) => {\n this.menuCloseFromMenuChangeEvent = fromEvent;\n };\n this.handleTruncateValue = (truncate) => {\n this.truncateValue = truncate;\n };\n this.renderAssistiveHintEl = () => {\n var _a, _b;\n const input = (_b = (_a = this.el.shadowRoot\n .querySelector(\"ic-text-field\")) === null || _a === void 0 ? void 0 : _a.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector(`#${this.inputId}`);\n if (input &&\n Object.keys(input).length > 0 &&\n this.hasOptionsOrFilterDisabled()) {\n this.assistiveHintEl = document.createElement(\"span\");\n this.assistiveHintEl.innerText = this.hintText;\n this.assistiveHintEl.id = `${this.inputId}-assistive-hint`;\n this.assistiveHintEl.style.display = \"none\";\n if (input.after !== undefined) {\n input.after(this.assistiveHintEl);\n }\n }\n };\n this.updateSearchResultAriaLive = () => {\n const searchResultsStatusEl = this.el.shadowRoot.querySelector(\".search-results-status\");\n if (searchResultsStatusEl) {\n if (!this.open ||\n this.value === \"\" ||\n this.value.length < this.charactersUntilSuggestion) {\n searchResultsStatusEl.innerText = \"\";\n }\n else if (this.hasOptionsOrFilterDisabled() &&\n this.filteredOptions.length > 0 &&\n this.open &&\n !this.filteredOptions[0].loading) {\n if (this.hadNoOptions()) {\n searchResultsStatusEl.innerText = this.emptyOptionListText;\n }\n else {\n searchResultsStatusEl.innerText = `${this.filteredOptions.length} result${this.filteredOptions.length > 1 ? \"s\" : \"\"} available`;\n }\n }\n }\n };\n this.hasOptionsOrFilterDisabled = () => this.options.length > 0 || this.disableFilter;\n this.hadNoOptions = () => this.filteredOptions.length === 1 &&\n this.filteredOptions[0][this.labelField] === this.emptyOptionListText &&\n this.searchMode === \"navigation\";\n this.isSubmitDisabled = () => {\n const valueNotSet = this.value === undefined || this.value === null || this.value === \"\";\n const valueLengthLess = this.value.length < this.charactersUntilSuggestion;\n return (valueNotSet ||\n valueLengthLess ||\n this.disabled ||\n this.hadNoOptions() ||\n this.hasTimedOut ||\n this.loading);\n };\n this.highlightFirstOptionAfterNoResults = () => {\n if (this.prevNoOption && this.menu && !this.hasTimedOut) {\n this.menu.handleSetFirstOption();\n this.prevNoOption = false;\n }\n const prevNoOptionsList = this.filteredOptions.find((filteredOption) => filteredOption[this.labelField] === this.emptyOptionListText ||\n filteredOption[this.labelField] === this.loadingErrorLabel ||\n filteredOption[this.labelField] === this.loadingLabel);\n if (prevNoOptionsList) {\n this.prevNoOption = true;\n }\n };\n this.ariaActiveDescendant = undefined;\n this.clearButtonFocused = false;\n this.highlightedValue = undefined;\n this.open = false;\n this.searchSubmitFocused = false;\n this.showClearButton = false;\n this.autocapitalize = \"off\";\n this.autocomplete = \"off\";\n this.autocorrect = \"off\";\n this.autofocus = false;\n this.charactersUntilSuggestion = 2;\n this.disabled = false;\n this.disableFilter = false;\n this.debounce = 0;\n this.emptyOptionListText = \"No results found\";\n this.focusOnLoad = false;\n this.fullWidth = false;\n this.helperText = \"\";\n this.hideLabel = false;\n this.hintText = \"When autocomplete results are available use the up and down arrows to choose and press enter to select\";\n this.label = undefined;\n this.labelField = \"label\";\n this.loading = false;\n this.loadingErrorLabel = \"Loading Error\";\n this.loadingLabel = \"Loading...\";\n this.name = this.inputId;\n this.placeholder = \"Search\";\n this.readonly = false;\n this.required = false;\n this.searchMode = \"navigation\";\n this.size = \"default\";\n this.small = false;\n this.spellcheck = false;\n this.timeout = undefined;\n this.valueField = \"value\";\n this.filteredOptions = [];\n this.options = [];\n this.value = \"\";\n }\n loadingHandler(newValue) {\n if (newValue && !this.hasTimedOut) {\n this.preLoad = false;\n this.triggerLoading();\n }\n }\n filteredOptionsHandler(newOptions) {\n this.hasTimedOut = newOptions.some((opt) => opt.timedOut);\n }\n watchOptionsHandler(newOptions) {\n if (this.disableFilter && !this.hasTimedOut) {\n this.loading = false;\n clearTimeout(this.timeoutTimer);\n if (newOptions.length > 0) {\n this.filteredOptions = newOptions;\n }\n else {\n if (this.hadNoOptions()) {\n return;\n }\n this.setMenuChange(true);\n !this.preLoad &&\n (this.filteredOptions = [\n {\n [this.labelField]: this.emptyOptionListText,\n [this.valueField]: \"\",\n },\n ]);\n this.preLoad = true;\n }\n }\n this.debounceAriaLiveUpdate();\n }\n watchValueHandler(newValue) {\n if (this.inputEl &&\n this.options &&\n !!getLabelFromValue(newValue, this.options, this.valueField, this.labelField)) {\n this.inputEl.value = getLabelFromValue(newValue, this.options, this.valueField, this.labelField);\n }\n else if (this.inputEl && this.inputEl.value !== newValue) {\n this.inputEl.value = newValue;\n }\n }\n disconnectedCallback() {\n if (this.assistiveHintEl) {\n this.assistiveHintEl.remove();\n }\n }\n componentWillLoad() {\n this.watchValueHandler(this.value);\n removeDisabledFalse(this.disabled, this.el);\n if (this.small) {\n this.size = \"small\";\n }\n }\n componentDidLoad() {\n if (this.focusOnLoad) {\n this.el.setFocus();\n }\n if (this.hasOptionsOrFilterDisabled()) {\n this.renderAssistiveHintEl();\n if (this.disableFilter) {\n this.filteredOptions = this.options;\n }\n }\n onComponentRequiredPropUndefined([{ prop: this.label, propName: \"label\" }], \"Search Bar\");\n if (this.inputEl !== undefined) {\n this.anchorEl = this.inputEl.shadowRoot.querySelector(\"ic-input-component-container\");\n }\n }\n componentWillRender() {\n this.highlightFirstOptionAfterNoResults();\n }\n handleKeyDown(ev) {\n const keyEv = ev.detail.event;\n if (this.menu && this.open) {\n this.menu.handleKeyboardOpen(keyEv);\n }\n }\n handleKeyUp(ev) {\n if (ev.key === \"Enter\") {\n if (this.preventSubmit || this.isSubmitDisabled()) {\n return;\n }\n this.handleSubmitSearch();\n this.setMenuChange(false);\n }\n if (ev.key === \"Escape\") {\n this.setMenuChange(false);\n }\n if (this.preventSubmit) {\n this.preventSubmit = false;\n }\n }\n /**\n * Sets focus on the native `input`.\n */\n async setFocus() {\n this.retryViaKeyPress = false;\n this.retryButtonClick = false;\n if (this.inputEl) {\n this.inputEl.setFocus();\n }\n }\n debounceAriaLiveUpdate() {\n clearTimeout(this.debounceAriaLive);\n this.debounceAriaLive = window.setTimeout(() => {\n this.updateSearchResultAriaLive();\n }, 500);\n }\n render() {\n const { inputId, name, label, required, small, size, placeholder, helperText, disabled, value, readonly, spellcheck, fullWidth, options, open, hideLabel, menuId, ariaActiveDescendant, truncateValue, autofocus, autocapitalize, autocomplete, filteredOptions, } = this;\n const disabledMode = readonly || disabled ? true : false;\n const describedBy = getInputDescribedByText(inputId, helperText !== \"\", false).trim();\n let describedById;\n if (describedBy !== \"\" && this.hasOptionsOrFilterDisabled()) {\n describedById = `${describedBy} ${this.inputId}-assistive-hint`;\n }\n else if (this.hasOptionsOrFilterDisabled()) {\n describedById = `${this.inputId}-assistive-hint`;\n }\n else if (describedBy !== \"\") {\n describedById = describedBy;\n }\n else {\n describedById = undefined;\n }\n const disabledText = disabledMode && !readonly;\n const hasSuggestedSearch = value && this.hasOptionsOrFilterDisabled();\n const menuOpen = hasSuggestedSearch && open && filteredOptions.length > 0;\n const menuRendered = menuOpen && value.length >= this.charactersUntilSuggestion;\n const isOrHasLoaded = this.filteredOptions.length === 1 &&\n (this.filteredOptions[0][this.labelField] === this.loadingLabel ||\n filteredOptions[0][this.labelField] === this.loadingErrorLabel);\n let expanded;\n if (options.length > 0) {\n if (menuOpen) {\n expanded = \"true\";\n }\n else {\n expanded = \"false\";\n }\n }\n else {\n expanded = undefined;\n }\n renderHiddenInput(true, this.el, name, value, disabledMode);\n return (h(Host, { class: {\n [\"search\"]: true,\n [\"fullwidth\"]: fullWidth,\n [\"disabled\"]: disabled,\n [\"small\"]: size === \"small\",\n }, onFocus: this.handleHostFocus, onBlur: this.handleHostBlur }, h(\"ic-text-field\", { ref: (el) => (this.inputEl = el), inputId: inputId, label: label, helperText: helperText, required: required, disabled: disabledText, readonly: readonly, size: size, hideLabel: hideLabel, fullWidth: fullWidth, name: name, truncateValue: truncateValue, value: options &&\n !!getLabelFromValue(value, options, this.valueField, this.labelField)\n ? getLabelFromValue(value, options, this.valueField, this.labelField)\n : value, placeholder: placeholder, onInput: this.onInput, onBlur: this.onInputBlur, onFocus: this.onInputFocus, \"aria-label\": hideLabel ? label : \"\", \"aria-describedby\": describedById, \"aria-owns\": menuRendered ? menuId : undefined, \"aria-haspopup\": options.length > 0 ? \"listbox\" : undefined, ariaExpanded: expanded, ariaActiveDescendant: ariaActiveDescendant, \"aria-autocomplete\": hasSuggestedSearch ? \"list\" : undefined, role: hasSuggestedSearch ? \"combobox\" : undefined, autocomplete: autocomplete, autocapitalize: autocapitalize, autoFocus: autofocus, spellcheck: spellcheck, inputmode: \"search\", debounce: this.debounce }, h(\"div\", { class: {\n \"clear-button-container\": true,\n \"clear-button-visible\": value && !disabledMode && this.showClearButton,\n }, slot: \"clear-button\" }, h(\"ic-button\", { id: \"clear-button\", class: \"clear-button\", \"aria-label\": \"Clear\", innerHTML: clearIcon, onClick: this.handleClear, onMouseDown: this.handleMouseDown, size: size, onFocus: this.handleFocusClearButton, onBlur: this.handleClearBlur, onKeyDown: this.handleClear, type: \"submit\", variant: \"icon\", appearance: this.clearButtonFocused\n ? IcThemeForegroundEnum.Light\n : IcThemeForegroundEnum.Dark }), h(\"div\", { class: \"divider\" })), h(\"div\", { class: {\n \"search-submit-button-container\": true,\n \"search-submit-button-disabled\": this.isSubmitDisabled(),\n }, slot: \"search-submit-button\" }, h(\"ic-button\", { id: \"search-submit-button\", \"aria-label\": \"Search\", ref: (el) => (this.searchSubmitButton = el), class: {\n [\"search-submit-button\"]: true,\n [\"search-submit-button-small\"]: !!small,\n }, disabled: this.isSubmitDisabled(), innerHTML: searchIcon, size: size, onClick: this.handleSubmitSearch, onMouseDown: this.handleMouseDown, onBlur: this.handleSubmitSearchBlur, onFocus: this.handleSubmitSearchFocus, onKeyDown: this.handleSubmitSearchKeyDown, type: \"submit\", variant: \"icon\", appearance: this.searchSubmitFocused\n ? IcThemeForegroundEnum.Light\n : IcThemeForegroundEnum.Default })), h(\"div\", { class: {\n \"menu-container\": true,\n fullwidth: fullWidth,\n }, slot: \"menu\" }, menuRendered && (h(\"ic-menu\", { class: {\n \"no-results\": this.hadNoOptions() || isOrHasLoaded,\n }, activationType: \"manual\", anchorEl: this.anchorEl, autoFocusOnSelected: false, searchMode: this.searchMode, inputEl: this.inputEl, inputLabel: label, ref: (el) => (this.menu = el), small: size === \"small\", fullWidth: fullWidth, menuId: menuId, open: !!menuRendered, options: filteredOptions, onMenuOptionSelect: this.handleOptionSelect, onMenuStateChange: this.handleMenuChange, onMenuOptionId: this.handleMenuOptionHighlight, onRetryButtonClicked: this.handleRetry, parentEl: this.el, value: value, labelField: this.labelField, valueField: this.valueField })))), h(\"div\", { \"aria-live\": \"polite\", role: \"status\", class: \"search-results-status\" })));\n }\n static get is() { return \"ic-search-bar\"; }\n static get encapsulation() { return \"shadow\"; }\n static get delegatesFocus() { return true; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"ic-search-bar.css\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ic-search-bar.css\"]\n };\n }\n static get properties() {\n return {\n \"autocapitalize\": {\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 automatic capitalisation of the text value as it is entered/edited by the user.\\nAvailable options: \\\"off\\\", \\\"none\\\", \\\"on\\\", \\\"sentences\\\", \\\"words\\\", \\\"characters\\\".\"\n },\n \"attribute\": \"autocapitalize\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"off\\\"\"\n },\n \"autocomplete\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcAutocompleteTypes\",\n \"resolved\": \"\\\"name\\\" | \\\"on\\\" | \\\"off\\\" | \\\"honorific-prefix\\\" | \\\"given-name\\\" | \\\"additional-name\\\" | \\\"family-name\\\" | \\\"honorific-suffix\\\" | \\\"nickname\\\" | \\\"email\\\" | \\\"username\\\" | \\\"new-password\\\" | \\\"current-password\\\" | \\\"one-time-code\\\" | \\\"organization-title\\\" | \\\"organization\\\" | \\\"street-address\\\" | \\\"address-line1\\\" | \\\"address-line2\\\" | \\\"address-line3\\\" | \\\"address-level4\\\" | \\\"address-level3\\\" | \\\"address-level2\\\" | \\\"address-level1\\\" | \\\"country\\\" | \\\"country-name\\\" | \\\"postal-code\\\" | \\\"cc-name\\\" | \\\"cc-given-name\\\" | \\\"cc-additional-name\\\" | \\\"cc-family-name\\\" | \\\"cc-number\\\" | \\\"cc-exp\\\" | \\\"cc-exp-month\\\" | \\\"cc-exp-year\\\" | \\\"cc-csc\\\" | \\\"cc-type\\\" | \\\"transaction-currency\\\" | \\\"transaction-amount\\\" | \\\"language\\\" | \\\"bday\\\" | \\\"bday-day\\\" | \\\"bday-month\\\" | \\\"bday-year\\\" | \\\"sex\\\" | \\\"tel\\\" | \\\"tel-country-code\\\" | \\\"tel-national\\\" | \\\"tel-area-code\\\" | \\\"tel-local\\\" | \\\"tel-extension\\\" | \\\"impp\\\" | \\\"url\\\" | \\\"photo\\\"\",\n \"references\": {\n \"IcAutocompleteTypes\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcAutocompleteTypes\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The state of autocompletion the browser can apply on the text value.\"\n },\n \"attribute\": \"autocomplete\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"off\\\"\"\n },\n \"autocorrect\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcAutocorrectStates\",\n \"resolved\": \"\\\"off\\\" | \\\"on\\\"\",\n \"references\": {\n \"IcAutocorrectStates\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcAutocorrectStates\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The state of autocorrection the browser can apply when the user is entering/editing the text value.\"\n },\n \"attribute\": \"autocorrect\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"off\\\"\"\n },\n \"autofocus\": {\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 form control will have input focus when the page loads.\"\n },\n \"attribute\": \"autofocus\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"charactersUntilSuggestion\": {\n \"type\": \"number\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The number of characters until suggestions appear. The submit button will be disabled until the inputted value is equal to or greater than this number.\"\n },\n \"attribute\": \"characters-until-suggestion\",\n \"reflect\": false,\n \"defaultValue\": \"2\"\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 \"disableFilter\": {\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\": \"Specify whether to disable the built in filtering. For example, if options will already be filtered from external source.\\nIf `true`, all options provided will be displayed.\"\n },\n \"attribute\": \"disable-filter\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"debounce\": {\n \"type\": \"number\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The amount of time, in milliseconds, to wait to trigger the `icChange` event after each keystroke.\"\n },\n \"attribute\": \"debounce\",\n \"reflect\": false,\n \"defaultValue\": \"0\"\n },\n \"emptyOptionListText\": {\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 displayed when there are no options in the option list.\"\n },\n \"attribute\": \"empty-option-list-text\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"No results found\\\"\"\n },\n \"focusOnLoad\": {\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 search bar will be focused when component loaded.\"\n },\n \"attribute\": \"focus-on-load\",\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\": \"Specify whether the search bar fills the full width of the container.\\nIf `true`, this overrides the --input-width CSS variable.\"\n },\n \"attribute\": \"full-width\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"helperText\": {\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 helper text that will be displayed for additional field guidance.\"\n },\n \"attribute\": \"helper-text\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"\\\"\"\n },\n \"hideLabel\": {\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 label will be hidden and the required label value will be applied as an aria-label.\"\n },\n \"attribute\": \"hide-label\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"hintText\": {\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 hint text for the hidden assistive description element.\"\n },\n \"attribute\": \"hint-text\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"When autocomplete results are available use the up and down arrows to choose and press enter to select\\\"\"\n },\n \"label\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": true,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The label for the search bar.\"\n },\n \"attribute\": \"label\",\n \"reflect\": false\n },\n \"labelField\": {\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 custom name for the label field to correspond with the IcMenuOption type.\"\n },\n \"attribute\": \"label-field\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"label\\\"\"\n },\n \"loading\": {\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\": \"Trigger loading state when fetching options asynchronously\"\n },\n \"attribute\": \"loading\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"loadingErrorLabel\": {\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\": \"Change the message displayed when external loading times out.\"\n },\n \"attribute\": \"loading-error-label\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"Loading Error\\\"\"\n },\n \"loadingLabel\": {\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\": \"Change the message displayed whilst the options are being loaded externally.\"\n },\n \"attribute\": \"loading-label\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"Loading...\\\"\"\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 of the control, which is submitted with the form data.\"\n },\n \"attribute\": \"name\",\n \"reflect\": false,\n \"defaultValue\": \"this.inputId\"\n },\n \"placeholder\": {\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 placeholder value to display.\"\n },\n \"attribute\": \"placeholder\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"Search\\\"\"\n },\n \"readonly\": {\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 readonly state will be set.\"\n },\n \"attribute\": \"readonly\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"required\": {\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 search bar will require a value.\"\n },\n \"attribute\": \"required\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"searchMode\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcSearchBarSearchModes\",\n \"resolved\": \"\\\"navigation\\\" | \\\"query\\\"\",\n \"references\": {\n \"IcSearchBarSearchModes\": {\n \"location\": \"import\",\n \"path\": \"./ic-search-bar.types\",\n \"id\": \"src/components/ic-search-bar/ic-search-bar.types.ts::IcSearchBarSearchModes\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Specify the mode search bar uses to search. `navigation` allows for quick lookups of a set of values, `query` allows for more general searches.\"\n },\n \"attribute\": \"search-mode\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"navigation\\\"\"\n },\n \"size\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcSizesNoLarge\",\n \"resolved\": \"\\\"default\\\" | \\\"small\\\"\",\n \"references\": {\n \"IcSizesNoLarge\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcSizesNoLarge\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The size of the search bar component.\"\n },\n \"attribute\": \"size\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"default\\\"\"\n },\n \"small\": {\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 \"name\": \"deprecated\",\n \"text\": \"This prop should not be used anymore. Set prop `size` to \\\"small\\\" instead.\"\n }],\n \"text\": \"\"\n },\n \"attribute\": \"small\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"spellcheck\": {\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 value of the search will have its spelling and grammar checked.\"\n },\n \"attribute\": \"spellcheck\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"timeout\": {\n \"type\": \"number\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If using external filtering, set a timeout for when loading takes too long.\"\n },\n \"attribute\": \"timeout\",\n \"reflect\": false\n },\n \"valueField\": {\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 custom name for the value field to correspond with the IcMenuOption type.\"\n },\n \"attribute\": \"value-field\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"value\\\"\"\n },\n \"options\": {\n \"type\": \"unknown\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcMenuOption[]\",\n \"resolved\": \"IcMenuOption[]\",\n \"references\": {\n \"IcMenuOption\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcMenuOption\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The suggested search options.\"\n },\n \"defaultValue\": \"[]\"\n },\n \"value\": {\n \"type\": \"string\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The value of the search input.\"\n },\n \"attribute\": \"value\",\n \"reflect\": true,\n \"defaultValue\": \"\\\"\\\"\"\n }\n };\n }\n static get states() {\n return {\n \"ariaActiveDescendant\": {},\n \"clearButtonFocused\": {},\n \"highlightedValue\": {},\n \"open\": {},\n \"searchSubmitFocused\": {},\n \"showClearButton\": {},\n \"filteredOptions\": {}\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 the value has changed.\"\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\": \"icClear\",\n \"name\": \"icClear\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when value is cleared with clear button\"\n },\n \"complexType\": {\n \"original\": \"void\",\n \"resolved\": \"void\",\n \"references\": {}\n }\n }, {\n \"method\": \"icInput\",\n \"name\": \"icInput\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when a keyboard input occurred.\"\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\": \"icInputBlur\",\n \"name\": \"icInputBlur\",\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 icSearchBarBlur instead.\"\n }],\n \"text\": \"\"\n },\n \"complexType\": {\n \"original\": \"IcSearchBarBlurEventDetail\",\n \"resolved\": \"IcSearchBarBlurEventDetail\",\n \"references\": {\n \"IcSearchBarBlurEventDetail\": {\n \"location\": \"import\",\n \"path\": \"./ic-search-bar.types\",\n \"id\": \"src/components/ic-search-bar/ic-search-bar.types.ts::IcSearchBarBlurEventDetail\"\n }\n }\n }\n }, {\n \"method\": \"icInputFocus\",\n \"name\": \"icInputFocus\",\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 icSearchBarFocus 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\": \"icOptionSelect\",\n \"name\": \"icOptionSelect\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when option is highlighted within the menu\"\n },\n \"complexType\": {\n \"original\": \"IcOptionSelectEventDetail\",\n \"resolved\": \"IcOptionSelectEventDetail\",\n \"references\": {\n \"IcOptionSelectEventDetail\": {\n \"location\": \"import\",\n \"path\": \"../ic-menu/ic-menu.types\",\n \"id\": \"src/components/ic-menu/ic-menu.types.ts::IcOptionSelectEventDetail\"\n }\n }\n }\n }, {\n \"method\": \"icMenuChange\",\n \"name\": \"icMenuChange\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when the state of the menu changes (i.e. open or close)\"\n },\n \"complexType\": {\n \"original\": \"IcMenuChangeEventDetail\",\n \"resolved\": \"IcMenuChangeEventDetail\",\n \"references\": {\n \"IcMenuChangeEventDetail\": {\n \"location\": \"import\",\n \"path\": \"../ic-menu/ic-menu.types\",\n \"id\": \"src/components/ic-menu/ic-menu.types.ts::IcMenuChangeEventDetail\"\n }\n }\n }\n }, {\n \"method\": \"icClearBlur\",\n \"name\": \"icClearBlur\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"- Emitted when blur is invoked from clear button\"\n }],\n \"text\": \"\"\n },\n \"complexType\": {\n \"original\": \"IcBlurEventDetail\",\n \"resolved\": \"IcBlurEventDetail\",\n \"references\": {\n \"IcBlurEventDetail\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcBlurEventDetail\"\n }\n }\n }\n }, {\n \"method\": \"icRetryLoad\",\n \"name\": \"icRetryLoad\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when the 'retry loading' button is clicked\"\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\": \"icSubmitSearch\",\n \"name\": \"icSubmitSearch\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when the search value has been submitted\"\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\": \"icSubmitSearchBlur\",\n \"name\": \"icSubmitSearchBlur\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"- Emitted when blur is invoked from search submit button\"\n }],\n \"text\": \"\"\n },\n \"complexType\": {\n \"original\": \"IcBlurEventDetail\",\n \"resolved\": \"IcBlurEventDetail\",\n \"references\": {\n \"IcBlurEventDetail\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcBlurEventDetail\"\n }\n }\n }\n }, {\n \"method\": \"icSearchBarBlur\",\n \"name\": \"icSearchBarBlur\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when blur is invoked from ic-search-bar\"\n },\n \"complexType\": {\n \"original\": \"IcSearchBarBlurEventDetail\",\n \"resolved\": \"IcSearchBarBlurEventDetail\",\n \"references\": {\n \"IcSearchBarBlurEventDetail\": {\n \"location\": \"import\",\n \"path\": \"./ic-search-bar.types\",\n \"id\": \"src/components/ic-search-bar/ic-search-bar.types.ts::IcSearchBarBlurEventDetail\"\n }\n }\n }\n }, {\n \"method\": \"icSearchBarFocus\",\n \"name\": \"icSearchBarFocus\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when focus is invoked from ic-search-bar\"\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 native `input`.\",\n \"tags\": []\n }\n }\n };\n }\n static get elementRef() { return \"el\"; }\n static get watchers() {\n return [{\n \"propName\": \"loading\",\n \"methodName\": \"loadingHandler\"\n }, {\n \"propName\": \"filteredOptions\",\n \"methodName\": \"filteredOptionsHandler\"\n }, {\n \"propName\": \"options\",\n \"methodName\": \"watchOptionsHandler\"\n }, {\n \"propName\": \"value\",\n \"methodName\": \"watchValueHandler\"\n }];\n }\n static get listeners() {\n return [{\n \"name\": \"icKeydown\",\n \"method\": \"handleKeyDown\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"keyup\",\n \"method\": \"handleKeyUp\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }];\n }\n}\n//# sourceMappingURL=ic-search-bar.js.map\n"],"mappings":"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"}