@cfpb/cfpb-design-system 4.3.1 → 4.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (119) hide show
  1. package/CHANGELOG.md +60 -3
  2. package/dist/components/cfpb-buttons/index.css +1 -1
  3. package/dist/components/cfpb-buttons/index.css.map +2 -2
  4. package/dist/components/cfpb-buttons/index.js +1 -1
  5. package/dist/components/cfpb-buttons/index.js.map +1 -1
  6. package/dist/components/cfpb-expandables/index.css +1 -1
  7. package/dist/components/cfpb-expandables/index.css.map +2 -2
  8. package/dist/components/cfpb-expandables/index.js +1 -1
  9. package/dist/components/cfpb-expandables/index.js.map +2 -2
  10. package/dist/components/cfpb-forms/index.css +1 -1
  11. package/dist/components/cfpb-forms/index.css.map +2 -2
  12. package/dist/components/cfpb-forms/index.js +1 -1
  13. package/dist/components/cfpb-forms/index.js.map +1 -1
  14. package/dist/components/cfpb-icons/index.css +1 -1
  15. package/dist/components/cfpb-icons/index.css.map +2 -2
  16. package/dist/components/cfpb-icons/index.js +1 -1
  17. package/dist/components/cfpb-icons/index.js.map +1 -1
  18. package/dist/components/cfpb-layout/index.css +1 -1
  19. package/dist/components/cfpb-layout/index.css.map +2 -2
  20. package/dist/components/cfpb-layout/index.js +1 -1
  21. package/dist/components/cfpb-layout/index.js.map +1 -1
  22. package/dist/components/cfpb-notifications/index.css +1 -1
  23. package/dist/components/cfpb-notifications/index.css.map +2 -2
  24. package/dist/components/cfpb-notifications/index.js +1 -1
  25. package/dist/components/cfpb-notifications/index.js.map +1 -1
  26. package/dist/components/cfpb-pagination/index.css +1 -1
  27. package/dist/components/cfpb-pagination/index.css.map +2 -2
  28. package/dist/components/cfpb-pagination/index.js +1 -1
  29. package/dist/components/cfpb-pagination/index.js.map +1 -1
  30. package/dist/components/cfpb-tables/index.css +1 -1
  31. package/dist/components/cfpb-tables/index.css.map +2 -2
  32. package/dist/components/cfpb-tables/index.js.map +1 -1
  33. package/dist/components/cfpb-tooltips/index.css +1 -1
  34. package/dist/components/cfpb-tooltips/index.css.map +2 -2
  35. package/dist/components/cfpb-tooltips/index.js +1 -1
  36. package/dist/components/cfpb-tooltips/index.js.map +1 -1
  37. package/dist/components/cfpb-typography/index.css +1 -1
  38. package/dist/components/cfpb-typography/index.css.map +2 -2
  39. package/dist/components/cfpb-typography/index.js +1 -1
  40. package/dist/components/cfpb-typography/index.js.map +1 -1
  41. package/dist/elements/base/index.css +1 -1
  42. package/dist/elements/base/index.css.map +2 -2
  43. package/dist/elements/base/index.js +1 -1
  44. package/dist/elements/base/index.js.map +1 -1
  45. package/dist/elements/cfpb-button/index.js +4 -4
  46. package/dist/elements/cfpb-button/index.js.map +2 -2
  47. package/dist/elements/cfpb-checkbox-icon/index.js +3 -3
  48. package/dist/elements/cfpb-checkbox-icon/index.js.map +2 -2
  49. package/dist/elements/cfpb-expandable/index.css +1 -1
  50. package/dist/elements/cfpb-expandable/index.css.map +2 -2
  51. package/dist/elements/cfpb-expandable/index.js +4 -4
  52. package/dist/elements/cfpb-expandable/index.js.map +2 -2
  53. package/dist/elements/cfpb-file-upload/index.js +4 -4
  54. package/dist/elements/cfpb-file-upload/index.js.map +2 -2
  55. package/dist/elements/cfpb-form-alert/index.js +3 -3
  56. package/dist/elements/cfpb-form-alert/index.js.map +2 -2
  57. package/dist/elements/cfpb-form-choice/index.js +3 -3
  58. package/dist/elements/cfpb-form-choice/index.js.map +2 -2
  59. package/dist/elements/cfpb-form-search/index.js +2 -2
  60. package/dist/elements/cfpb-form-search/index.js.map +2 -2
  61. package/dist/elements/cfpb-form-search-input/index.js +3 -3
  62. package/dist/elements/cfpb-form-search-input/index.js.map +2 -2
  63. package/dist/elements/cfpb-icon-text/index.js +2 -2
  64. package/dist/elements/cfpb-icon-text/index.js.map +2 -2
  65. package/dist/elements/cfpb-label/index.js +2 -2
  66. package/dist/elements/cfpb-label/index.js.map +2 -2
  67. package/dist/elements/cfpb-list/index.js +3 -3
  68. package/dist/elements/cfpb-list/index.js.map +2 -2
  69. package/dist/elements/cfpb-list-item/index.js +3 -3
  70. package/dist/elements/cfpb-list-item/index.js.map +2 -2
  71. package/dist/elements/cfpb-pagination/index.js +3 -3
  72. package/dist/elements/cfpb-pagination/index.js.map +2 -2
  73. package/dist/elements/cfpb-select/index.css +1 -1
  74. package/dist/elements/cfpb-select/index.css.map +2 -2
  75. package/dist/elements/cfpb-select/index.js +4 -4
  76. package/dist/elements/cfpb-select/index.js.map +3 -3
  77. package/dist/elements/cfpb-tag-filter/index.js +3 -3
  78. package/dist/elements/cfpb-tag-filter/index.js.map +3 -3
  79. package/dist/elements/cfpb-tag-group/index.js +3 -3
  80. package/dist/elements/cfpb-tag-group/index.js.map +3 -3
  81. package/dist/elements/cfpb-tag-topic/index.js +4 -4
  82. package/dist/elements/cfpb-tag-topic/index.js.map +3 -3
  83. package/dist/elements/cfpb-utilities/index.js.map +1 -1
  84. package/dist/elements/index.css +1 -1
  85. package/dist/elements/index.css.map +2 -2
  86. package/dist/elements/index.js +7 -7
  87. package/dist/elements/index.js.map +3 -3
  88. package/dist/index.css +1 -1
  89. package/dist/index.css.map +2 -2
  90. package/dist/index.js +7 -7
  91. package/dist/index.js.map +3 -3
  92. package/dist/utilities/index.css +1 -1
  93. package/dist/utilities/index.css.map +2 -2
  94. package/dist/utilities/index.js +1 -1
  95. package/dist/utilities/index.js.map +2 -2
  96. package/package.json +1 -1
  97. package/src/components/cfpb-tables/table.scss +4 -1
  98. package/src/elements/base/font.scss +1 -1
  99. package/src/elements/cfpb-form-search/cfpb-form-search.component.scss +10 -0
  100. package/src/elements/cfpb-form-search/index.js +1 -3
  101. package/src/elements/cfpb-form-search-input/cfpb-form-search-input.component.scss +8 -5
  102. package/src/elements/cfpb-list/index.js +2 -2
  103. package/src/elements/cfpb-list/index.spec.js +5 -5
  104. package/src/elements/cfpb-list-item/index.js +2 -2
  105. package/src/elements/cfpb-select/cfpb-select.component.scss +34 -57
  106. package/src/elements/cfpb-select/index.js +22 -12
  107. package/src/elements/cfpb-select/multiple-select-event-proxy.js +23 -17
  108. package/src/elements/cfpb-select/single-select-event-proxy.js +8 -5
  109. package/src/elements/cfpb-tag-filter/index.js +7 -0
  110. package/src/elements/cfpb-tag-group/index.js +9 -0
  111. package/src/elements/cfpb-tag-topic/index.js +7 -0
  112. package/src/elements/cfpb-utilities/media-query-service.js +1 -1
  113. package/src/elements/cfpb-utilities/parse-child-data.js +1 -1
  114. package/src/tokens/abstracts/custom-props.json +2334 -1639
  115. package/src/tokens/abstracts/vars.json +1679 -1315
  116. package/src/tokens/cfpb-button/vars.json +602 -409
  117. package/src/utilities/transition/max-height-transition.js +1 -1
  118. package/dist/elements/cfpb-select-list/index.js +0 -39
  119. package/dist/elements/cfpb-select-list/index.js.map +0 -7
@@ -1,2 +1,2 @@
1
- (()=>{var be=Object.defineProperty;var ne=Object.getOwnPropertySymbols;var Le=Object.prototype.hasOwnProperty,Ie=Object.prototype.propertyIsEnumerable;var fe=(e,a,r)=>a in e?be(e,a,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[a]=r,X=(e,a)=>{for(var r in a||(a={}))Le.call(a,r)&&fe(e,r,a[r]);if(ne)for(var r of ne(a))Ie.call(a,r)&&fe(e,r,a[r]);return e};var z=(e,a)=>{for(var r in a)be(e,r,{get:a[r],enumerable:!0})};var U={};z(U,{default:()=>Ae});var Ae={};var q={};z(q,{default:()=>Me});var Me={};var Y={};z(Y,{default:()=>Te});var Te={};var J={};z(J,{default:()=>Ce});var Ce={};var V={};z(V,{default:()=>Be});var Be={};var W={};z(W,{default:()=>Re});var Re={};var $={};z($,{default:()=>Ke});var Ke={};var G={};z(G,{default:()=>Ue});var Ue={};var Z={};z(Z,{default:()=>Ye});var Ye={};var Q={};z(Q,{default:()=>Ve});var Ve={};var M="data-js-hook";var se="state_";function ee(){let e={};function a(s,d){return{}.hasOwnProperty.call(e,s)?e[s].push(d):e[s]=[d],this}function r(s,d){if(!{}.hasOwnProperty.call(e,s))return this;let f=e[s].indexOf(d);return f!==-1&&e[s].splice(f,1),this}function u(s,d){if(!{}.hasOwnProperty.call(e,s))return this;d=d||{};let f=e[s];for(let n=0,b=f.length;n<b;n++)f[n].call(this,d);return this}return this.addEventListener=a,this.removeEventListener=r,this.dispatchEvent=u,this.getRegisteredEvents=()=>e,this}function T(e,a){if(!e)return!1;let r=e.getAttribute(M);return r?(r=r.split(" "),r.indexOf(a)>-1):!1}function ue(e,a){if(T(e,a))return a;if(a.indexOf(" ")!==-1){let u=M+" values cannot contain spaces!";throw new Error(u)}let r=e.getAttribute(M);return r!==null&&(a=r+" "+a),e.setAttribute(M,a),a}var ae=se+"atomic_init";function We(e,a){if(!e||!e.classList){let r=e+' is not valid. Check that element is a DOM node with class "'+a+'"';throw new Error(r)}return e}function $e(e,a){let r=e.classList.contains(a)?e:e.querySelector("."+a);if(!r){let u=a+" not found on or in passed DOM node.";throw new Error(u)}return r}function re(e,a){return We(e,a),$e(e,a)}function N(e){return T(e,ae)?!1:(ue(e,ae),!0)}function te(e,a,r,u={}){let d=(r||document).querySelectorAll(e),f=[],n,b;for(let v=0,m=d.length;v<m;v++)b=d[v],T(b,ae)===!1&&(n=new a(b),n.init(u),f.push(n));return f}function de(){return!!new RegExp(/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i).test(navigator.userAgent)}var Ge;function Ze(e){return e.replace(/[-\\^$*+?.()|[\]{}]/g,"\\$&")}function Qe(e,a){return RegExp(Ze(a.trim()),"i").test(e)}function ea(e,a,r){let u=e,s=a,d=(r==null?void 0:r.maxSelections)||5,f=[],n=[],b=[],v=[],m=-1;function x(l){return s+"-"+l.value.trim().replace(/\s+/g,"-").toLowerCase()}function h(){return n.length>=d}function p(l){let g,y=[],E=!1;for(let L=0,A=l.length;L<A;L++)g=l[L],E=h()?!1:g.defaultSelected,y.push({id:x(g),value:g.value,text:g.text,checked:E}),E&&n.push(L);return y}function S(){return f=p(u),this}function w(l){return f[l].checked=!f[l].checked,n.length<d&&f[l].checked?(n.push(l),n.sort(),!0):(f[l].checked=!1,n=n.filter(function(g){return g!==l}),!1)}function B(l,g,y,E){return Qe(g.text,E)&&l.push(y),l}function D(l){return Object.prototype.toString.call(l)!=="[object String]"&&(l=""),v=b,f.length>0&&(b=f.reduce(function(g,y,E){return B(g,y,E,l)},[])),m=-1,b}function P(l){return f[l]}function R(l){let g=b.length,y=g===0?f.length:g;l<0?m=-1:l>=y?m=y-1:m=l}function H(){return m}return this.init=S,this.toggleOption=w,this.getSelectedIndices=function(){return n},this.isAtMaxSelections=h,this.filterIndices=D,this.clearFilter=function(){return b=v=[],Ge},this.getFilterIndices=function(){return b},this.getLastFilterIndices=function(){return v},this.getIndex=H,this.setIndex=R,this.resetIndex=function(){return m=-1,m},this.getOption=P,this}var ge=ea;function j(e,a,r){let u=document.createElement(e);return Object.keys(r).forEach(s=>{let d=r[s];s in u?u[s]=d:u.setAttribute(s,d)}),a&&a.appendChild(u),u}var pe='<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" class="cf-icon-svg cf-icon-svg--error" viewBox="0 0 12 19"><path d="M11.383 13.644A1.03 1.03 0 0 1 9.928 15.1L6 11.172 2.072 15.1a1.03 1.03 0 1 1-1.455-1.456l3.928-3.928L.617 5.79a1.03 1.03 0 1 1 1.455-1.456L6 8.261l3.928-3.928a1.03 1.03 0 0 1 1.455 1.456L7.455 9.716z"/></svg>';var oa=pe,_="o-multiselect",ia="a-checkbox",ca="a-text-input",ve="prev",C="next",oe="Enter",la=" ",he="Escape",na="ArrowUp",me="ArrowDown",ye="Tab",ke={renderTags:!0,maxSelections:5};function F(e){e.classList.add(_);let a=re(e,_),r=!1,u,s,d,f,n,b,v,m,x,h,p,S=[],w;function B(){p.classList.remove("u-no-results"),p.classList.add("u-filtered");let o=d.getLastFilterIndices();for(let t=0,i=o.length;t<i;t++)S[o[t]].classList.remove("u-filter-match");o=d.getFilterIndices();for(let t=0,i=o.length;t<i;t++)S[o[t]].classList.add("u-filter-match")}function D(){p.classList.remove("u-filtered","u-no-results");for(let o=0,t=p.children.length;o<t;o++)p.children[o].classList.remove("u-filter-match");d.clearFilter()}function P(){p.classList.add("u-no-results"),p.classList.remove("u-filtered")}function R(o){return o.length>0?(B(),!0):(P(),!1)}function H(o){D(),d.resetIndex();let t=d.filterIndices(o);R(t)}function l(){return b.classList.add("u-active"),h.classList.remove("u-invisible"),h.setAttribute("aria-hidden",!1),w.dispatchEvent("expandbegin",{target:w}),w}function g(){return b.classList.remove("u-active"),h.classList.add("u-invisible"),h.setAttribute("aria-hidden",!0),d.resetIndex(),w.dispatchEvent("collapsebegin",{target:w}),w}function y(o){o===C?d.setIndex(d.getIndex()+1):o===ve&&d.setIndex(d.getIndex()-1);let t=d.getIndex();if(t>-1){let i=t,c=d.getFilterIndices();c.length>0&&(i=c[t]);let O=d.getOption(i).value,ze=p.querySelector('[data-option="'+O+'"]').querySelector("input");r=!0,ze.focus()}else r=!1,x.focus()}function E(){x.value="",D()}function L(o){let t=o.target;t.tagName==="BUTTON"&&(o.preventDefault(),t.removeEventListener("click",L),t.querySelector("label").click())}function A(o){if(o.key===la||o.key===oe){let t=o.target.querySelector("label");p.querySelector("#"+t.getAttribute("for")).click()}}function ie(o){return u+"-"+o.value.trim().replace(/[^\w]/g,"-").toLowerCase()}function ce(o,t){let i=ie(t),c=j("li",null,{"data-option":t.value}),k=j("button",c,{type:"button",class:"a-tag-filter",innerHTML:"<label for="+i+">"+t.text+oa+"</label>"});o.appendChild(c),k.addEventListener("click",L),k.addEventListener("keydown",A)}function le(o){let t=d.getOption(o)||d.getOption(d.getIndex());if(t){if(t.checked){p.classList.contains("u-max-selections")&&p.classList.remove("u-max-selections");let i='[data-option="'+t.value+'"]',c=v.querySelector(i);typeof c!="undefined"&&c&&(v==null||v.removeChild(c))}else n!=null&&n.renderTags&&v&&ce(v,t);d.toggleOption(o),d.isAtMaxSelections()&&p.classList.add("u-max-selections"),w.dispatchEvent("selectionsupdated",{target:w})}d.resetIndex(),r=!1,h.getAttribute("aria-hidden")==="false"&&x.focus()}function xe(o){le(Number(o.target.getAttribute("data-index"))),E()}function we(){m.addEventListener("mousemove",function(i){let c=i.target;i.offsetX>c.offsetWidth-35?c.style.cursor="pointer":c.style.cursor="auto"}),m.addEventListener("mouseup",function(i){let c=i.target;i.offsetX>c.offsetWidth-35&&h.offsetHeight===140&&x.blur()}),x.addEventListener("input",function(){H(this.value)}),x.addEventListener("focus",function(){h.getAttribute("aria-hidden")==="true"&&l()}),x.addEventListener("blur",function(){!r&&h.getAttribute("aria-hidden")==="false"&&g()}),x.addEventListener("keydown",function(i){let c=i.key;h.getAttribute("aria-hidden")==="true"&&c!==ye&&l(),c===oe?(i.preventDefault(),y(C)):c===he?(E(),g()):c===me?y(C):c===ye&&!i.shiftKey&&h.getAttribute("aria-hidden")==="false"&&g()}),p.addEventListener("mousedown",function(){r=!0}),p.addEventListener("keydown",function(i){let c=i.key,k=i.target,O=k.checked;if(c===oe){i.preventDefault(),k.checked=!O;let I=new Event("change",{bubbles:!1,cancelable:!0});k.dispatchEvent(I)}else c===he?(x.focus(),g()):c===na?y(ve):c===me&&y(C)}),h.addEventListener("mousedown",function(i){i.target.tagName==="LABEL"&&(r=!0)});let o=p.querySelectorAll("input");for(let i=0,c=o.length;i<c;i++)o[i].addEventListener("change",xe);let t=v.querySelectorAll("button");for(let i=0,c=t.length;i<c;i++)t[i].addEventListener("click",L),t[i].addEventListener("keydown",A)}function je(){b=document.createElement("div"),b.className=_,v=j("ul",null,{className:"m-tag-group"}),m=j("header",b,{className:_+"__header"}),x=j("input",m,{className:_+"__search "+ca,type:"text",placeholder:s||"Select up to five",id:a.id,autocomplete:"off"}),h=j("fieldset",b,{className:_+"__fieldset u-invisible","aria-hidden":"true"});let o=_+"__options";d.isAtMaxSelections()&&(o+=" u-max-selections"),p=j("ul",h,{className:o});let t,i,c;for(let k=0,O=f.length;k<O;k++){t=f[k],i=ie(t),c=d.getOption(k).checked;let I=j("li",p,{"data-option":t.value,"data-cy":"multiselect-option",class:"m-form-field m-form-field--checkbox"});j("input",I,{id:i,type:"checkbox",value:t.value,name:u,class:ia+" "+_+"__checkbox",checked:c,"data-index":k}),j("label",I,{for:i,textContent:t.text,className:_+"__label a-label"}),S.push(I),c&&(n!=null&&n.renderTags)&&ce(v,t)}return b.insertBefore(v,m),a.parentNode.insertBefore(b,a),b.appendChild(a),b}function _e(o=ke){if(!N(a))return this;if(de())return this;if(w=this,u=a.name||a.id,s=a.getAttribute("data-placeholder"),f=a.options||[],n=X(X({},ke),o),f.length>0){d=new ge(f,u,n).init();let t=je();a.parentNode.removeChild(a),a=t,N(a),we()}return this}function Ee(){return d}this.init=_e,this.expand=l,this.collapse=g;let K=new ee;return this.addEventListener=K.addEventListener,this.removeEventListener=K.removeEventListener,this.dispatchEvent=K.dispatchEvent,this.getModel=Ee,this.updateSelections=le,this.selectionClickHandler=L,this.selectionKeyDownHandler=A,this}F.BASE_CLASS=_;F.init=e=>te(`.${_}`,F,void 0,e);})();
1
+ (()=>{var se=Object.defineProperty;var ne=Object.getOwnPropertySymbols;var Le=Object.prototype.hasOwnProperty,Ie=Object.prototype.propertyIsEnumerable;var fe=(e,a,r)=>a in e?se(e,a,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[a]=r,X=(e,a)=>{for(var r in a||(a={}))Le.call(a,r)&&fe(e,r,a[r]);if(ne)for(var r of ne(a))Ie.call(a,r)&&fe(e,r,a[r]);return e};var E=(e,a)=>{for(var r in a)se(e,r,{get:a[r],enumerable:!0})};var U={};E(U,{default:()=>Ae});var Ae={};var q={};E(q,{default:()=>Me});var Me={};var Y={};E(Y,{default:()=>Te});var Te={};var Z={};E(Z,{default:()=>Ce});var Ce={};var J={};E(J,{default:()=>Be});var Be={};var V={};E(V,{default:()=>Re});var Re={};var W={};E(W,{default:()=>Ke});var Ke={};var $={};E($,{default:()=>Ue});var Ue={};var G={};E(G,{default:()=>Ye});var Ye={};var Q={};E(Q,{default:()=>Je});var Je={};var M="data-js-hook";var be="state_";function ee(){let e={};function a(b,o){return{}.hasOwnProperty.call(e,b)?e[b].push(o):e[b]=[o],this}function r(b,o){if(!{}.hasOwnProperty.call(e,b))return this;let f=e[b].indexOf(o);return f!==-1&&e[b].splice(f,1),this}function u(b,o){if(!{}.hasOwnProperty.call(e,b))return this;o=o||{};let f=e[b];for(let n=0,s=f.length;n<s;n++)f[n].call(this,o);return this}return this.addEventListener=a,this.removeEventListener=r,this.dispatchEvent=u,this.getRegisteredEvents=()=>e,this}function T(e,a){if(!e)return!1;let r=e.getAttribute(M);return r?(r=r.split(" "),r.indexOf(a)>-1):!1}function ue(e,a){if(T(e,a))return a;if(a.indexOf(" ")!==-1){let u=M+" values cannot contain spaces!";throw new Error(u)}let r=e.getAttribute(M);return r!==null&&(a=r+" "+a),e.setAttribute(M,a),a}var ae=be+"atomic_init";function Ve(e,a){if(!e||!e.classList){let r=e+' is not valid. Check that element is a DOM node with class "'+a+'"';throw new Error(r)}return e}function We(e,a){let r=e.classList.contains(a)?e:e.querySelector("."+a);if(!r){let u=a+" not found on or in passed DOM node.";throw new Error(u)}return r}function re(e,a){return Ve(e,a),We(e,a)}function N(e){return T(e,ae)?!1:(ue(e,ae),!0)}function te(e,a,r,u={}){let o=(r||document).querySelectorAll(e),f=[],n,s;for(let v=0,h=o.length;v<h;v++)s=o[v],T(s,ae)===!1&&(n=new a(s),n.init(u),f.push(n));return f}function oe(){return!!new RegExp(/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i).test(navigator.userAgent)}var $e;function Ge(e){return e.replace(/[-\\^$*+?.()|[\]{}]/g,"\\$&")}function Qe(e,a){return RegExp(Ge(a.trim()),"i").test(e)}function ea(e,a,r){let u=e,b=a,o=(r==null?void 0:r.maxSelections)||5,f=[],n=[],s=[],v=[],h=-1;function x(l){return b+"-"+l.value.trim().replace(/\s+/g,"-").toLowerCase()}function m(){return n.length>=o}function p(l){let g,y=[],_=!1;for(let L=0,A=l.length;L<A;L++)g=l[L],_=m()?!1:g.defaultSelected,y.push({id:x(g),value:g.value,text:g.text,checked:_}),_&&n.push(L);return y}function S(){return f=p(u),this}function j(l){return f[l].checked=!f[l].checked,n.length<o&&f[l].checked?(n.push(l),n.sort(),!0):(f[l].checked=!1,n=n.filter(function(g){return g!==l}),!1)}function B(l,g,y,_){return Qe(g.text,_)&&l.push(y),l}function D(l){return Object.prototype.toString.call(l)!=="[object String]"&&(l=""),v=s,f.length>0&&(s=f.reduce(function(g,y,_){return B(g,y,_,l)},[])),h=-1,s}function P(l){return f[l]}function R(l){let g=s.length,y=g===0?f.length:g;l<0?h=-1:l>=y?h=y-1:h=l}function H(){return h}return this.init=S,this.toggleOption=j,this.getSelectedIndices=function(){return n},this.isAtMaxSelections=m,this.filterIndices=D,this.clearFilter=function(){return s=v=[],$e},this.getFilterIndices=function(){return s},this.getLastFilterIndices=function(){return v},this.getIndex=H,this.setIndex=R,this.resetIndex=function(){return h=-1,h},this.getOption=P,this}var ge=ea;function w(e,a,r){let u=document.createElement(e);return Object.keys(r).forEach(b=>{let o=r[b];b in u?u[b]=o:u.setAttribute(b,o)}),a&&a.appendChild(u),u}var pe='<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" class="cf-icon-svg cf-icon-svg--error" viewBox="0 0 12 19"><path d="M11.383 13.644A1.03 1.03 0 0 1 9.928 15.1L6 11.172 2.072 15.1a1.03 1.03 0 1 1-1.455-1.456l3.928-3.928L.617 5.79a1.03 1.03 0 1 1 1.455-1.456L6 8.261l3.928-3.928a1.03 1.03 0 0 1 1.455 1.456L7.455 9.716z"/></svg>';var da=pe,z="o-multiselect",ia="a-checkbox",ca="a-text-input",ve="prev",C="next",de="Enter",la=" ",me="Escape",na="ArrowUp",he="ArrowDown",ye="Tab",ke={renderTags:!0,maxSelections:5};function F(e){e.classList.add(z);let a=re(e,z),r=!1,u,b,o,f,n,s,v,h,x,m,p,S=[],j;function B(){p.classList.remove("u-no-results"),p.classList.add("u-filtered");let d=o.getLastFilterIndices();for(let t=0,i=d.length;t<i;t++)S[d[t]].classList.remove("u-filter-match");d=o.getFilterIndices();for(let t=0,i=d.length;t<i;t++)S[d[t]].classList.add("u-filter-match")}function D(){p.classList.remove("u-filtered","u-no-results");for(let d=0,t=p.children.length;d<t;d++)p.children[d].classList.remove("u-filter-match");o.clearFilter()}function P(){p.classList.add("u-no-results"),p.classList.remove("u-filtered")}function R(d){return d.length>0?(B(),!0):(P(),!1)}function H(d){D(),o.resetIndex();let t=o.filterIndices(d);R(t)}function l(){return s.classList.add("u-active"),m.classList.remove("u-invisible"),m.setAttribute("aria-hidden",!1),j.dispatchEvent("expandbegin",{target:j}),j}function g(){return s.classList.remove("u-active"),m.classList.add("u-invisible"),m.setAttribute("aria-hidden",!0),o.resetIndex(),j.dispatchEvent("collapsebegin",{target:j}),j}function y(d){d===C?o.setIndex(o.getIndex()+1):d===ve&&o.setIndex(o.getIndex()-1);let t=o.getIndex();if(t>-1){let i=t,c=o.getFilterIndices();c.length>0&&(i=c[t]);let O=o.getOption(i).value,Ee=p.querySelector('[data-option="'+O+'"]').querySelector("input");r=!0,Ee.focus()}else r=!1,x.focus()}function _(){x.value="",D()}function L(d){let t=d.target;t.tagName==="BUTTON"&&(d.preventDefault(),t.removeEventListener("click",L),t.querySelector("label").click())}function A(d){if(d.key===la||d.key===de){let t=d.target.querySelector("label");p.querySelector("#"+t.getAttribute("for")).click()}}function ie(d){return u+"-"+d.value.trim().replace(/[^\w]/g,"-").toLowerCase()}function ce(d,t){let i=ie(t),c=w("li",null,{"data-option":t.value}),k=w("button",c,{type:"button",class:"a-tag-filter",innerHTML:"<label for="+i+">"+t.text+da+"</label>"});d.appendChild(c),k.addEventListener("click",L),k.addEventListener("keydown",A)}function le(d){let t=o.getOption(d)||o.getOption(o.getIndex());if(t){if(t.checked){p.classList.contains("u-max-selections")&&p.classList.remove("u-max-selections");let i='[data-option="'+t.value+'"]',c=v.querySelector(i);typeof c!="undefined"&&c&&(v==null||v.removeChild(c))}else n!=null&&n.renderTags&&v&&ce(v,t);o.toggleOption(d),o.isAtMaxSelections()&&p.classList.add("u-max-selections"),j.dispatchEvent("selectionsupdated",{target:j})}o.resetIndex(),r=!1,m.getAttribute("aria-hidden")==="false"&&x.focus()}function xe(d){le(Number(d.target.getAttribute("data-index"))),_()}function je(){h.addEventListener("mousemove",function(i){let c=i.target;i.offsetX>c.offsetWidth-35?c.style.cursor="pointer":c.style.cursor="auto"}),h.addEventListener("mouseup",function(i){let c=i.target;i.offsetX>c.offsetWidth-35&&m.offsetHeight===140&&x.blur()}),x.addEventListener("input",function(){H(this.value)}),x.addEventListener("focus",function(){m.getAttribute("aria-hidden")==="true"&&l()}),x.addEventListener("blur",function(){!r&&m.getAttribute("aria-hidden")==="false"&&g()}),x.addEventListener("keydown",function(i){let c=i.key;m.getAttribute("aria-hidden")==="true"&&c!==ye&&l(),c===de?(i.preventDefault(),y(C)):c===me?(_(),g()):c===he?y(C):c===ye&&!i.shiftKey&&m.getAttribute("aria-hidden")==="false"&&g()}),p.addEventListener("mousedown",function(){r=!0}),p.addEventListener("keydown",function(i){let c=i.key,k=i.target,O=k.checked;if(c===de){i.preventDefault(),k.checked=!O;let I=new Event("change",{bubbles:!1,cancelable:!0});k.dispatchEvent(I)}else c===me?(x.focus(),g()):c===na?y(ve):c===he&&y(C)}),m.addEventListener("mousedown",function(i){i.target.tagName==="LABEL"&&(r=!0)});let d=p.querySelectorAll("input");for(let i=0,c=d.length;i<c;i++)d[i].addEventListener("change",xe);let t=v.querySelectorAll("button");for(let i=0,c=t.length;i<c;i++)t[i].addEventListener("click",L),t[i].addEventListener("keydown",A)}function we(){s=document.createElement("div"),s.className=z,v=w("ul",null,{className:"m-tag-group"}),h=w("header",s,{className:z+"__header"}),x=w("input",h,{className:z+"__search "+ca,type:"text",placeholder:b||"Select up to five",id:a.id,autocomplete:"off"}),m=w("fieldset",s,{className:z+"__fieldset u-invisible","aria-hidden":"true"});let d=z+"__options";o.isAtMaxSelections()&&(d+=" u-max-selections"),p=w("ul",m,{className:d});let t,i,c;for(let k=0,O=f.length;k<O;k++){t=f[k],i=ie(t),c=o.getOption(k).checked;let I=w("li",p,{"data-option":t.value,"data-cy":"multiselect-option",class:"m-form-field m-form-field--checkbox"});w("input",I,{id:i,type:"checkbox",value:t.value,name:u,class:ia+" "+z+"__checkbox",checked:c,"data-index":k}),w("label",I,{for:i,textContent:t.text,className:z+"__label a-label"}),S.push(I),c&&(n!=null&&n.renderTags)&&ce(v,t)}return s.insertBefore(v,h),a.parentNode.insertBefore(s,a),s.appendChild(a),s}function ze(d=ke){if(!N(a))return this;if(oe())return this;if(j=this,u=a.name||a.id,b=a.getAttribute("data-placeholder"),f=a.options||[],n=X(X({},ke),d),f.length>0){o=new ge(f,u,n).init();let t=we();a.parentNode.removeChild(a),a=t,N(a),je()}return this}function _e(){return o}this.init=ze,this.expand=l,this.collapse=g;let K=new ee;return this.addEventListener=K.addEventListener,this.removeEventListener=K.removeEventListener,this.dispatchEvent=K.dispatchEvent,this.getModel=_e,this.updateSelections=le,this.selectionClickHandler=L,this.selectionKeyDownHandler=A,this}F.BASE_CLASS=z;F.init=e=>te(`.${z}`,F,void 0,e);})();
2
2
  //# sourceMappingURL=index.js.map