@entur/dropdown 3.0.14 → 4.0.0-beta.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.
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@entur/utils"),t=require("react"),n=require("downshift"),a=require("classnames"),r=require("@entur/form"),l=require("@entur/icons"),o=require("@entur/a11y"),i=require("@entur/loader"),u=require("@entur/tokens");function s(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var c=s(t),d=s(n),f=s(a);function m(e,t,n,a,r,l,o){try{var i=e[l](o),u=i.value}catch(e){return void n(e)}i.done?t(u):Promise.resolve(u).then(a,r)}function p(){return p=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e},p.apply(this,arguments)}function h(e,t){if(null==e)return{};var n,a,r={},l=Object.keys(e);for(a=0;a<l.length;a++)t.indexOf(n=l[a])>=0||(r[n]=e[n]);return r}var g=["children","onChange","onInputValueChange","highlightFirstItemOnOpen","className","style","searchable"],v=c.default.createContext(null),b=function(e){var t=e.children,n=e.onChange,a=void 0===n?function(){}:n,r=e.onInputValueChange,l=void 0===r?function(){}:r,o=e.highlightFirstItemOnOpen,i=void 0!==o&&o,u=e.className,s=e.style,m=e.searchable,b=void 0!==m&&m,y=h(e,g);return c.default.createElement(d.default,p({itemToString:function(e){return e?e.label:""},onStateChange:function(e,t){e.type!==d.default.stateChangeTypes.controlledPropUpdatedSelectedItem&&("selectedItem"in e?a(e.selectedItem,t):"inputValue"in e&&l(e.inputValue))},stateReducer:function(e,t){var n=i&&"isOpen"in t&&t.isOpen?{highlightedIndex:0}:{};if(!b)return p({},t,n);switch(t.type){case"__autocomplete_change_input__":default:return p({},t,n);case"__autocomplete_click_item__":case"__autocomplete_keydown_enter__":case"__autocomplete_blur_input__":case"__autocomplete_mouseup__":return p({},t,{inputValue:""},n)}}},y),(function(e){return c.default.createElement("div",{className:f.default("eds-input-group",u),style:s},c.default.createElement(v.Provider,{value:e},t))}))},y=function(){var e=c.default.useContext(v);if(!e)throw new Error("You need to wrap your component in a DownshiftProvider");return e},w=["items"],E=function(e){var t=e.items,n=h(e,w),a=y(),r=a.highlightedIndex,o=a.isOpen,i=a.selectedItem,u=a.getItemProps,s=a.getMenuProps;return c.default.createElement("ul",p({className:f.default("eds-dropdown-list",{"eds-dropdown-list--open":o})},s(),n),o?t.map((function(e,t){return c.default.createElement("li",p({className:f.default("eds-dropdown-list__item",{"eds-dropdown-list__item--highlighted":r===t,"eds-dropdown-list__item--selected":i===e})},u({key:""+t+e.value,item:e,index:t})),c.default.createElement("span",null,e.label),e.icons&&c.default.createElement("span",null,e.icons.map((function(e,t){return c.default.createElement(e,{key:t,inline:!0,className:"eds-dropdown-list__item-icon"})}))),i===e&&c.default.createElement(l.CheckIcon,null))})):null)},x=function(){var e=y();return c.default.createElement("button",p({},(0,e.getToggleButtonProps)({className:f.default("eds-dropdown__toggle-button",{"eds-dropdown__toggle-button--open":e.isOpen})}),{tabIndex:"-1",type:"button"}),c.default.createElement(l.DownArrowIcon,null))},_=["className","children"],O=function(e){var t=e.className,n=e.children,a=h(e,_);return c.default.createElement("div",p({className:f.default("eds-inline-spinner",t)},a),c.default.createElement(i.LoadingDots,null),c.default.createElement(o.VisuallyHidden,null,n))},N=["children","className","items","loading","loadingText","placeholder","style","listStyle","clearable","label","isFilled","disableLabelAnimation"],I=function(e){var t=e.children,n=e.className,a=e.items,l=e.loading,o=void 0!==l&&l,i=e.loadingText,s=void 0===i?"Loading...":i,d=e.style,f=e.listStyle,m=e.clearable,g=e.label,v=e.isFilled,b=void 0!==v&&v,w=e.disableLabelAnimation,x=h(e,N),_=y().getLabelProps;return c.default.createElement("div",{className:"eds-dropdown-wrapper",style:d},c.default.createElement(r.BaseFormControl,p({append:c.default.createElement(T,{clearable:m,loading:o,loadingText:s,readOnly:x.readOnly}),className:n,label:g,isFilled:b,labelProps:_(),disableLabelAnimation:w},x),t),c.default.createElement(E,p({items:a,style:p({position:"absolute",top:u.space.extraLarge3+u.space.extraSmall+"px"},f)},x)))},L=function(e){var t=p({},e),n=y(),a=n.clearSelection,r=n.selectedItem;return c.default.createElement(c.default.Fragment,null,r&&c.default.createElement("button",p({className:"eds-dropdown__clear-button",type:"button",tabIndex:-1,onClick:function(){return a()}},t),c.default.createElement(l.CloseSmallIcon,null)),r&&c.default.createElement("div",{className:"eds-dropdown__divider"}))},T=function(e){var t=e.clearable,n=e.readOnly;return e.loading?c.default.createElement(O,null,e.loadingText):n?null:t?c.default.createElement(c.default.Fragment,null,c.default.createElement(L,null)," ",c.default.createElement(x,null)):c.default.createElement(x,null)},k=["disabled","placeholder","selectOnTab","openOnFocus","listStyle","items","label","disableLabelAnimation","loading","loadingText","className","clearable"],F=c.default.forwardRef((function(e,t){var n=e.disabled,a=e.placeholder,r=void 0===a?"Vennligst velg":a,l=e.selectOnTab,o=void 0!==l&&l,i=e.openOnFocus,u=void 0!==i&&i,s=e.listStyle,d=e.items,f=e.label,m=e.disableLabelAnimation,g=e.loading,v=e.loadingText,b=e.className,w=e.clearable,E=h(e,k),x=y(),_=x.getToggleButtonProps,O=x.selectedItem,N=x.selectHighlightedItem,L=x.openMenu,T=x.isOpen,F=x.highlightedIndex,S=x.setHighlightedIndex;return c.default.createElement(I,p({disabled:n,listStyle:s,items:d,label:f,isFilled:!!O||0!==r.length,disableLabelAnimation:m,loading:g,loadingText:v,className:b,clearable:w},E),c.default.createElement("button",p({},_(p({className:"eds-form-control eds-dropdown__selected-item",style:{textAlign:"left"},disabled:n,type:"button",onKeyDown:function(e){if(o&&"Tab"===e.key&&N(),T){var t=e.key,n=d.map((function(e,t){return p({},e,{index:t})})).filter((function(e){return e.label.trim().charAt(0).toLowerCase()===t})),a=n.find((function(e){return e.index>(null!=F?F:0)}));a?S(a.index):n.length>0&&S(n[0].index)}},onFocus:function(){u&&!T&&L()}},E)),{ref:t}),O?O.label:r))})),S=["disabled","className","items","loading","loadingText","readOnly","prepend","selectOnTab","openOnFocus","listStyle","clearable","itemFilter","label","disableLabelAnimation","placeholder"],C=c.default.forwardRef((function(n,a){var r=n.disabled,l=void 0!==r&&r,o=n.className,i=n.items,u=n.loading,s=n.loadingText,d=n.readOnly,f=void 0!==d&&d,m=n.prepend,g=n.selectOnTab,v=void 0!==g&&g,b=n.openOnFocus,w=void 0!==b&&b,E=n.listStyle,x=n.clearable,_=n.itemFilter,O=void 0===_?function(e,t){return function(e,t){if(!t)return!0;var n=t.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&");return new RegExp(n,"i").test(e.label)}(e,t)}:_,N=n.label,L=n.disableLabelAnimation,T=n.placeholder,k=h(n,S),F=y(),C=F.getInputProps,P=F.inputValue,A=F.selectHighlightedItem,M=F.isOpen,j=F.openMenu,R=F.closeMenu,D=F.selectedItem,q=t.useState(!1),B=q[0],V=q[1],G=t.useRef(null),H=c.default.useMemo((function(){return i.filter((function(e){return O(e,P)}))}),[P,i,O]);return c.default.createElement(I,{items:H,disabled:l,readOnly:f,className:o,loading:u,loadingText:s,prepend:m,listStyle:E,clearable:x,label:N,isFilled:!!D,disableLabelAnimation:L},!B&&D&&!P&&c.default.createElement("span",{className:"eds-dropdown__searchable-selected-item__wrapper"},c.default.createElement("span",{className:"eds-dropdown__searchable-selected-item",onClick:function(){var e;return null==(e=G.current)?void 0:e.focus()}},D.label)),c.default.createElement("input",p({},C(p({disabled:l,readOnly:f,className:"eds-form-control eds-dropdown__input",onKeyDown:function(e){v&&"Tab"===e.key&&A()},onFocus:function(){!M&&w&&j(),V(!0)},placeholder:D?D.label:T},k)),{onBlur:function(){V(!1),R()},ref:e.mergeRefs(a,G)})))})),P=function(e){var t=e.feedback,n=e.variant;return c.default.createElement(r.VariantProvider,{variant:n},c.default.createElement("div",{className:e.className,style:e.style},e.children,t&&n&&c.default.createElement(r.FeedbackText,{variant:n},t)))},A={exports:{}};!function(e){var t=function(e){var t,n=Object.prototype,a=n.hasOwnProperty,r="function"==typeof Symbol?Symbol:{},l=r.iterator||"@@iterator",o=r.asyncIterator||"@@asyncIterator",i=r.toStringTag||"@@toStringTag";function u(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{u({},"")}catch(e){u=function(e,t,n){return e[t]=n}}function s(e,t,n,a){var r=Object.create((t&&t.prototype instanceof g?t:g).prototype),l=new T(a||[]);return r._invoke=function(e,t,n){var a=d;return function(r,l){if(a===m)throw new Error("Generator is already running");if(a===p){if("throw"===r)throw l;return F()}for(n.method=r,n.arg=l;;){var o=n.delegate;if(o){var i=N(o,n);if(i){if(i===h)continue;return i}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(a===d)throw a=p,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);a=m;var u=c(e,t,n);if("normal"===u.type){if(a=n.done?p:f,u.arg===h)continue;return{value:u.arg,done:n.done}}"throw"===u.type&&(a=p,n.method="throw",n.arg=u.arg)}}}(e,n,l),r}function c(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}e.wrap=s;var d="suspendedStart",f="suspendedYield",m="executing",p="completed",h={};function g(){}function v(){}function b(){}var y={};y[l]=function(){return this};var w=Object.getPrototypeOf,E=w&&w(w(k([])));E&&E!==n&&a.call(E,l)&&(y=E);var x=b.prototype=g.prototype=Object.create(y);function _(e){["next","throw","return"].forEach((function(t){u(e,t,(function(e){return this._invoke(t,e)}))}))}function O(e,t){function n(r,l,o,i){var u=c(e[r],e,l);if("throw"!==u.type){var s=u.arg,d=s.value;return d&&"object"==typeof d&&a.call(d,"__await")?t.resolve(d.__await).then((function(e){n("next",e,o,i)}),(function(e){n("throw",e,o,i)})):t.resolve(d).then((function(e){s.value=e,o(s)}),(function(e){return n("throw",e,o,i)}))}i(u.arg)}var r;this._invoke=function(e,a){function l(){return new t((function(t,r){n(e,a,t,r)}))}return r=r?r.then(l,l):l()}}function N(e,n){var a=e.iterator[n.method];if(a===t){if(n.delegate=null,"throw"===n.method){if(e.iterator.return&&(n.method="return",n.arg=t,N(e,n),"throw"===n.method))return h;n.method="throw",n.arg=new TypeError("The iterator does not provide a 'throw' method")}return h}var r=c(a,e.iterator,n.arg);if("throw"===r.type)return n.method="throw",n.arg=r.arg,n.delegate=null,h;var l=r.arg;return l?l.done?(n[e.resultName]=l.value,n.next=e.nextLoc,"return"!==n.method&&(n.method="next",n.arg=t),n.delegate=null,h):l:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,h)}function I(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function L(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function T(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(I,this),this.reset(!0)}function k(e){if(e){var n=e[l];if(n)return n.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var r=-1,o=function n(){for(;++r<e.length;)if(a.call(e,r))return n.value=e[r],n.done=!1,n;return n.value=t,n.done=!0,n};return o.next=o}}return{next:F}}function F(){return{value:t,done:!0}}return v.prototype=x.constructor=b,b.constructor=v,v.displayName=u(b,i,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===v||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,b):(e.__proto__=b,u(e,i,"GeneratorFunction")),e.prototype=Object.create(x),e},e.awrap=function(e){return{__await:e}},_(O.prototype),O.prototype[o]=function(){return this},e.AsyncIterator=O,e.async=function(t,n,a,r,l){void 0===l&&(l=Promise);var o=new O(s(t,n,a,r),l);return e.isGeneratorFunction(n)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},_(x),u(x,i,"Generator"),x[l]=function(){return this},x.toString=function(){return"[object Generator]"},e.keys=function(e){var t=[];for(var n in e)t.push(n);return t.reverse(),function n(){for(;t.length;){var a=t.pop();if(a in e)return n.value=a,n.done=!1,n}return n.done=!0,n}},e.values=k,T.prototype={constructor:T,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(L),!e)for(var n in this)"t"===n.charAt(0)&&a.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=t)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var n=this;function r(a,r){return i.type="throw",i.arg=e,n.next=a,r&&(n.method="next",n.arg=t),!!r}for(var l=this.tryEntries.length-1;l>=0;--l){var o=this.tryEntries[l],i=o.completion;if("root"===o.tryLoc)return r("end");if(o.tryLoc<=this.prev){var u=a.call(o,"catchLoc"),s=a.call(o,"finallyLoc");if(u&&s){if(this.prev<o.catchLoc)return r(o.catchLoc,!0);if(this.prev<o.finallyLoc)return r(o.finallyLoc)}else if(u){if(this.prev<o.catchLoc)return r(o.catchLoc,!0)}else{if(!s)throw new Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return r(o.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&a.call(r,"finallyLoc")&&this.prev<r.finallyLoc){var l=r;break}}l&&("break"===e||"continue"===e)&&l.tryLoc<=t&&t<=l.finallyLoc&&(l=null);var o=l?l.completion:{};return o.type=e,o.arg=t,l?(this.method="next",this.next=l.finallyLoc,h):this.complete(o)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),h},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),L(n),h}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var a=n.completion;if("throw"===a.type){var r=a.arg;L(n)}return r}}throw new Error("illegal catch attempt")},delegateYield:function(e,n,a){return this.delegate={iterator:k(e),resultName:n,nextLoc:a},"next"===this.method&&(this.arg=t),h}},e}(e.exports);try{regeneratorRuntime=t}catch(e){Function("r","regeneratorRuntime = r")(t)}}(A);var M=A.exports,j=function(e,t){switch(t.type){case"request results":return{items:[],loading:!0};case"received results":return{items:t.payload,loading:!1}}},R=function(t,n){void 0===n&&(n=250);var a,r="function"==typeof t,l=c.default.useMemo((function(){return r?t:function(){return Promise.resolve(t)}}),[t,r]),o=c.default.useReducer(j,{items:r?[]:t,loading:!1}),i=o[0],u=i.items,s=i.loading,d=o[1],f=(a=c.default.useRef(!0),c.default.useEffect((function(){return function(){a.current=!1}}),[]),a.current),h=c.default.useCallback(function(){var e,t=(e=M.mark((function e(t){var n;return M.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(f){e.next=2;break}return e.abrupt("return");case 2:return d({type:"request results"}),e.next=5,l(t);case 5:n=e.sent,f&&d({type:"received results",payload:n});case 7:case"end":return e.stop()}}),e)})),function(){var t=this,n=arguments;return new Promise((function(a,r){var l=e.apply(t,n);function o(e){m(l,a,r,o,i,"next",e)}function i(e){m(l,a,r,o,i,"throw",e)}o(void 0)}))});return function(e){return t.apply(this,arguments)}}(),[l,f]),g=function(e){return c.default.useMemo((function(){return e.map((function(e){return"string"==typeof e?{value:e,label:e}:"value"in e?e:p({},e,{value:e.label})}))}),[e])}(u);return c.default.useEffect((function(){r&&h("")}),[r,h]),{items:g,loading:!!r&&s,fetchItems:e.debounce(h,n)}},D=["highlightFirstItemOnOpen","debounceTimeout","disabled","feedback","items","label","loadingText","onChange","placeholder","prepend","readOnly","searchable","selectOnTab","openOnFocus","variant","value","clearable","className","style","listStyle","itemFilter","disableLabelAnimation"],q=c.default.forwardRef((function(e,t){var n=e.highlightFirstItemOnOpen,a=e.debounceTimeout,r=e.disabled,l=e.feedback,o=e.items,i=e.label,u=e.loadingText,s=e.onChange,d=void 0===s?function(){}:s,f=e.placeholder,m=e.prepend,g=e.readOnly,v=e.searchable,y=e.selectOnTab,w=e.openOnFocus,E=e.variant,x=e.value,_=e.clearable,O=void 0!==_&&_,N=e.className,I=e.style,L=e.listStyle,T=e.itemFilter,k=e.disableLabelAnimation,S=h(e,D),A=R(o,a),M=A.items,j=A.loading,q=A.fetchItems,B=void 0===x?void 0:M.find((function(e){return x===e.value}))||null,V=v?C:F,G=v?{itemFilter:T,name:S.name,"data-cy":S["data-cy"]}:{name:S.name,"data-cy":S["data-cy"]};return c.default.createElement(b,p({selectedItem:B,onInputValueChange:q,onChange:d,value:x,highlightFirstItemOnOpen:n,className:N,style:I,searchable:v},S),c.default.createElement(P,{feedback:l,variant:E},c.default.createElement(V,p({label:i,items:M,loading:j,loadingText:u,disabled:r,readOnly:g,placeholder:f,prepend:m,selectOnTab:y,openOnFocus:w,listStyle:L,clearable:O,disableLabelAnimation:k,ref:t},G))))})),B=["className","disabled","readOnly","items","loadingText","prepend","style","label","variant","feedback","disableLabelAnimation"],V=["items","itemsSelectedLabel","label","feedback","variant","disabled","readOnly","onChange","className","clearable","loading","loadingText","openOnFocus","style","listStyle","initialSelectedItems","debounceTimeout"],G=c.default.createContext(null),H=function(){var e=c.default.useContext(G);if(!e)throw new Error("You need to wrap your component in a DownshiftProvider");return e};function K(e,t){var a=t.changes;switch(t.type){case n.useSelect.stateChangeTypes.MenuKeyDownEnter:case n.useSelect.stateChangeTypes.MenuKeyDownSpaceButton:case n.useSelect.stateChangeTypes.ItemClick:return p({},a,{isOpen:!0,highlightedIndex:e.highlightedIndex});default:return a}}var Y=function(e){var t=p({},e),n=H().reset;return c.default.createElement(c.default.Fragment,null,c.default.createElement("button",p({className:"eds-dropdown__clear-button",type:"button",tabIndex:-1,onClick:function(){return n()}},t),c.default.createElement(l.CloseIcon,null)),c.default.createElement("div",{className:"eds-dropdown__divider"}))},$=function(e){var t=e.readOnly,n=e.hasSelected;return e.loading?c.default.createElement(O,null,e.loadingText):t?null:n?c.default.createElement(c.default.Fragment,null,c.default.createElement(Y,null),c.default.createElement(U,null)):c.default.createElement(U,null)},U=function(){var e=H(),t=e.openMenu,n=e.openOnFocus;return c.default.createElement("button",p({},(0,e.getToggleButtonProps)({className:f.default("eds-dropdown__toggle-button",{"eds-dropdown__toggle-button--open":e.isOpen}),onFocus:function(){n&&t()}}),{type:"button"}),c.default.createElement(l.DownArrowIcon,null))},z=function(){return c.default.createElement("svg",{className:"eds-checkbox-icon",width:"11px",height:"9px",viewBox:"6 11 37 33"},c.default.createElement("path",{className:"eds-checkbox-icon__path",d:"M14.1 27.2l7.1 7.2 14.6-14.8",fill:"none"}))};e.warnAboutMissingStyles("dropdown","form","a11y","chip"),exports.Dropdown=q,exports.MultiSelect=function(a){var l=a.items,o=a.itemsSelectedLabel,i=void 0===o?function(e){return function(e){return e.length<3?e.map((function(e){return e.label})).toString():e.length+" elementer valgt"}(e)}:o,s=a.label,d=a.feedback,m=a.variant,g=a.disabled,v=a.readOnly,b=void 0!==v&&v,y=a.onChange,w=void 0===y?function(){}:y,E=a.className,x=a.clearable,_=void 0!==x&&x,O=a.loading,N=void 0!==O&&O,I=a.loadingText,L=void 0===I?"":I,T=a.openOnFocus,k=void 0!==T&&T,F=a.style,S=a.listStyle,C=a.initialSelectedItems,P=void 0===C?[]:C,A=a.debounceTimeout,M=h(a,V),j=R(l,A).items,D=t.useState(P),q=D[0],B=D[1],H=c.default.useCallback((function(){B([])}),[]);function Y(e){return q.some((function(t){return t.value===e.value}))}var U=n.useSelect(p({items:j,stateReducer:K,selectedItem:null,onSelectedItemChange:function(e){var t=e.selectedItem;if(t)if(Y(t)){var n=q.filter((function(e){return e.value!==t.value}));B(n),w(n)}else{var a=[].concat(q,[t]);B(a),w(a)}}},M)),J=U.isOpen,Q=U.getToggleButtonProps,W=U.getLabelProps,X=U.getMenuProps,Z=U.highlightedIndex,ee=U.getItemProps,te=U.openMenu,ne=q.length?i(q):"",ae=e.useRandomId("eds-multiselect");return c.default.createElement(G.Provider,{value:{isOpen:J,reset:H,getToggleButtonProps:Q,openMenu:te,openOnFocus:k}},c.default.createElement("div",{className:f.default("eds-multiselect","eds-dropdown-wrapper",E),style:F},c.default.createElement(r.BaseFormControl,{label:s,labelId:ae,labelProps:W(),feedback:d,variant:m,isFilled:q.length>0||J,disabled:g,readOnly:b,append:c.default.createElement($,{hasSelected:_&&q.length>0,loading:N,loadingText:L,readOnly:b})},c.default.createElement("button",p({},Q({style:{textAlign:"left"},type:"button",className:"eds-form-control eds-multiselect__button"})),ne)),c.default.createElement("ul",p({className:f.default("eds-dropdown-list",{"eds-dropdown-list--open":J})},X({style:p({position:"absolute",top:u.space.extraLarge3+u.space.extraSmall+"px"},S)})),J&&j.map((function(e,t){return c.default.createElement("li",p({className:f.default("eds-dropdown-list__item",{"eds-dropdown-list__item--highlighted":Z===t,"eds-dropdown-list__item--selected":Y(e)}),key:""+e.value+t},ee({item:e,index:t}),{style:{display:"flex"}}),c.default.createElement("span",{style:{display:"flex"}},c.default.createElement("span",{className:f.default("eds-multiselect-checkbox",{"eds-multiselect-checkbox--checked":Y(e)})},c.default.createElement(z,null)),c.default.createElement("span",{className:"eds-multiselect__item-label"},e.label)),e.icons&&c.default.createElement("span",null,e.icons.map((function(e,t){return c.default.createElement(e,{key:t,inline:!0,className:"eds-dropdown-list__item-icon"})}))))})))))},exports.NativeDropdown=function(t){var n=t.className,a=t.disabled,o=void 0!==a&&a,i=t.readOnly,u=void 0!==i&&i,s=t.items,d=t.loadingText,f=t.prepend,m=t.style,g=t.label,v=t.variant,b=t.feedback,y=t.disableLabelAnimation,w=h(t,B),E=R(s),x=E.items,_=E.loading,N=c.default.createElement(l.DownArrowIcon,{inline:!0});o||u?N=null:_&&(N=c.default.createElement(O,null,d));var I=e.useRandomId("eds-native-dropdown");return c.default.createElement(r.BaseFormControl,{disabled:o,readOnly:u,prepend:f,append:N,className:n,style:m,label:g,variant:v,feedback:b,labelId:I,disableLabelAnimation:y,isFilled:!0},c.default.createElement("select",p({"aria-invalid":"error"===v,className:"eds-form-control eds-dropdown",disabled:o||u},w),x.map((function(e){return c.default.createElement("option",{key:e.value,value:e.value},e.label)}))))};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@entur/utils"),t=require("react"),n=require("downshift"),a=require("classnames"),l=require("@entur/form"),r=require("@entur/icons"),o=require("@entur/a11y"),i=require("@entur/loader"),u=require("@entur/tokens");function s(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var c=s(t),d=s(n),f=s(a);function m(e,t,n,a,l,r,o){try{var i=e[r](o),u=i.value}catch(e){return void n(e)}i.done?t(u):Promise.resolve(u).then(a,l)}function p(){return p=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e},p.apply(this,arguments)}function h(e,t){if(null==e)return{};var n,a,l={},r=Object.keys(e);for(a=0;a<r.length;a++)t.indexOf(n=r[a])>=0||(l[n]=e[n]);return l}var g=["children","onChange","onInputValueChange","highlightFirstItemOnOpen","className","style","searchable"],b=c.default.createContext(null),v=function(e){var t=e.children,n=e.onChange,a=void 0===n?function(){}:n,l=e.onInputValueChange,r=void 0===l?function(){}:l,o=e.highlightFirstItemOnOpen,i=void 0!==o&&o,u=e.className,s=e.style,m=e.searchable,v=void 0!==m&&m,y=h(e,g);return c.default.createElement(d.default,p({itemToString:function(e){return e?e.label:""},onStateChange:function(e,t){e.type!==d.default.stateChangeTypes.controlledPropUpdatedSelectedItem&&("selectedItem"in e?a(e.selectedItem,t):"inputValue"in e&&r(e.inputValue))},stateReducer:function(e,t){var n=i&&"isOpen"in t&&t.isOpen?{highlightedIndex:0}:{};if(!v)return p({},t,n);switch(t.type){case"__autocomplete_change_input__":default:return p({},t,n);case"__autocomplete_click_item__":case"__autocomplete_keydown_enter__":case"__autocomplete_blur_input__":case"__autocomplete_mouseup__":return p({},t,{inputValue:""},n)}}},y),(function(e){return c.default.createElement("div",{className:f.default("eds-input-group",u),style:s},c.default.createElement(b.Provider,{value:e},t))}))},y=function(){var e=c.default.useContext(b);if(!e)throw new Error("You need to wrap your component in a DownshiftProvider");return e},w=["items"],E=function(e){var t=e.items,n=h(e,w),a=y(),l=a.highlightedIndex,o=a.isOpen,i=a.selectedItem,u=a.getItemProps,s=a.getMenuProps;return c.default.createElement("ul",p({className:f.default("eds-dropdown-list",{"eds-dropdown-list--open":o})},s(),n),o?t.map((function(e,t){return c.default.createElement("li",p({className:f.default("eds-dropdown-list__item",{"eds-dropdown-list__item--highlighted":l===t,"eds-dropdown-list__item--selected":i===e})},u({key:""+t+e.value,item:e,index:t})),c.default.createElement("span",null,e.label),e.icons&&c.default.createElement("span",null,e.icons.map((function(e,t){return c.default.createElement(e,{key:t,inline:!0,className:"eds-dropdown-list__item-icon"})}))),i===e&&c.default.createElement(r.CheckIcon,null))})):null)},_=function(){var e=y();return c.default.createElement("button",p({},(0,e.getToggleButtonProps)({className:f.default("eds-dropdown__toggle-button",{"eds-dropdown__toggle-button--open":e.isOpen})}),{tabIndex:"-1",type:"button"}),c.default.createElement(r.DownArrowIcon,null))},x=["className","children"],O=function(e){var t=e.className,n=e.children,a=h(e,x);return c.default.createElement("div",p({className:f.default("eds-inline-spinner",t)},a),c.default.createElement(i.LoadingDots,null),c.default.createElement(o.VisuallyHidden,null,n))},I=["children","className","items","loading","loadingText","placeholder","style","listStyle","clearable","label","isFilled","disableLabelAnimation"],N=function(e){var t=e.children,n=e.className,a=e.items,r=e.loading,o=void 0!==r&&r,i=e.loadingText,s=void 0===i?"Loading...":i,d=e.style,f=e.listStyle,m=e.clearable,g=e.label,b=e.isFilled,v=void 0!==b&&b,w=e.disableLabelAnimation,_=h(e,I),x=y().getLabelProps;return c.default.createElement("div",{className:"eds-dropdown-wrapper",style:d},c.default.createElement(l.BaseFormControl,p({append:c.default.createElement(L,{clearable:m,loading:o,loadingText:s,readOnly:_.readOnly}),className:n,label:g,isFilled:v,labelProps:x(),disableLabelAnimation:w},_),t),c.default.createElement(E,p({items:a,style:p({position:"absolute",top:u.space.extraLarge3+u.space.extraSmall+"px"},f)},_)))},C=function(e){var t=p({},e),n=y(),a=n.clearSelection,l=n.selectedItem;return c.default.createElement(c.default.Fragment,null,l&&c.default.createElement("button",p({className:"eds-dropdown__clear-button",type:"button",tabIndex:-1,onClick:function(){return a()}},t),c.default.createElement(r.CloseSmallIcon,null)),l&&c.default.createElement("div",{className:"eds-dropdown__divider"}))},L=function(e){var t=e.clearable,n=e.readOnly;return e.loading?c.default.createElement(O,null,e.loadingText):n?null:t?c.default.createElement(c.default.Fragment,null,c.default.createElement(C,null)," ",c.default.createElement(_,null)):c.default.createElement(_,null)},T=["disabled","placeholder","selectOnTab","openOnFocus","listStyle","items","label","disableLabelAnimation","loading","loadingText","className","clearable"],k=c.default.forwardRef((function(e,t){var n=e.disabled,a=e.placeholder,l=void 0===a?"Vennligst velg":a,r=e.selectOnTab,o=void 0!==r&&r,i=e.openOnFocus,u=void 0!==i&&i,s=e.listStyle,d=e.items,f=e.label,m=e.disableLabelAnimation,g=e.loading,b=e.loadingText,v=e.className,w=e.clearable,E=h(e,T),_=y(),x=_.getToggleButtonProps,O=_.selectedItem,I=_.selectHighlightedItem,C=_.openMenu,L=_.isOpen,k=_.highlightedIndex,F=_.setHighlightedIndex;return c.default.createElement(N,p({disabled:n,listStyle:s,items:d,label:f,isFilled:!!O||0!==l.length,disableLabelAnimation:m,loading:g,loadingText:b,className:v,clearable:w},E),c.default.createElement("button",p({},x(p({className:"eds-form-control eds-dropdown__selected-item",style:{textAlign:"left"},disabled:n,type:"button",onKeyDown:function(e){if(o&&"Tab"===e.key&&I(),L){var t=e.key,n=d.map((function(e,t){return p({},e,{index:t})})).filter((function(e){return e.label.trim().charAt(0).toLowerCase()===t})),a=n.find((function(e){return e.index>(null!=k?k:0)}));a?F(a.index):n.length>0&&F(n[0].index)}},onFocus:function(){u&&!L&&C()}},E)),{ref:t}),O?O.label:l))})),F=["disabled","className","items","loading","loadingText","readOnly","prepend","selectOnTab","openOnFocus","listStyle","clearable","itemFilter","label","disableLabelAnimation","placeholder"],S=c.default.forwardRef((function(n,a){var l=n.disabled,r=void 0!==l&&l,o=n.className,i=n.items,u=n.loading,s=n.loadingText,d=n.readOnly,f=void 0!==d&&d,m=n.prepend,g=n.selectOnTab,b=void 0!==g&&g,v=n.openOnFocus,w=void 0!==v&&v,E=n.listStyle,_=n.clearable,x=n.itemFilter,O=void 0===x?function(e,t){return function(e,t){if(!t)return!0;var n=t.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&");return new RegExp(n,"i").test(e.label)}(e,t)}:x,I=n.label,C=n.disableLabelAnimation,L=n.placeholder,T=h(n,F),k=y(),S=k.getInputProps,P=k.inputValue,A=k.selectHighlightedItem,M=k.isOpen,B=k.openMenu,R=k.closeMenu,j=k.selectedItem,D=t.useState(!1),V=D[0],q=D[1],G=t.useRef(null),K=c.default.useMemo((function(){return i.filter((function(e){return O(e,P)}))}),[P,i,O]);return c.default.createElement(N,{items:K,disabled:r,readOnly:f,className:o,loading:u,loadingText:s,prepend:m,listStyle:E,clearable:_,label:I,isFilled:!!j,disableLabelAnimation:C},!V&&j&&!P&&c.default.createElement("span",{className:"eds-dropdown__searchable-selected-item__wrapper"},c.default.createElement("span",{className:"eds-dropdown__searchable-selected-item",onClick:function(){var e;return null==(e=G.current)?void 0:e.focus()}},j.label)),c.default.createElement("input",p({},S(p({disabled:r,readOnly:f,className:"eds-form-control eds-dropdown__input",onKeyDown:function(e){b&&"Tab"===e.key&&A()},onFocus:function(){!M&&w&&B(),q(!0)},placeholder:j?j.label:L},T)),{onBlur:function(){q(!1),R()},ref:e.mergeRefs(a,G)})))})),P=function(e){var t=e.feedback,n=e.variant;return c.default.createElement(l.VariantProvider,{variant:n},c.default.createElement("div",{className:e.className,style:e.style},e.children,t&&n&&c.default.createElement(l.FeedbackText,{variant:n},t)))},A={exports:{}};!function(e){var t=function(e){var t,n=Object.prototype,a=n.hasOwnProperty,l="function"==typeof Symbol?Symbol:{},r=l.iterator||"@@iterator",o=l.asyncIterator||"@@asyncIterator",i=l.toStringTag||"@@toStringTag";function u(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{u({},"")}catch(e){u=function(e,t,n){return e[t]=n}}function s(e,t,n,a){var l=Object.create((t&&t.prototype instanceof g?t:g).prototype),r=new L(a||[]);return l._invoke=function(e,t,n){var a=d;return function(l,r){if(a===m)throw new Error("Generator is already running");if(a===p){if("throw"===l)throw r;return k()}for(n.method=l,n.arg=r;;){var o=n.delegate;if(o){var i=I(o,n);if(i){if(i===h)continue;return i}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(a===d)throw a=p,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);a=m;var u=c(e,t,n);if("normal"===u.type){if(a=n.done?p:f,u.arg===h)continue;return{value:u.arg,done:n.done}}"throw"===u.type&&(a=p,n.method="throw",n.arg=u.arg)}}}(e,n,r),l}function c(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}e.wrap=s;var d="suspendedStart",f="suspendedYield",m="executing",p="completed",h={};function g(){}function b(){}function v(){}var y={};y[r]=function(){return this};var w=Object.getPrototypeOf,E=w&&w(w(T([])));E&&E!==n&&a.call(E,r)&&(y=E);var _=v.prototype=g.prototype=Object.create(y);function x(e){["next","throw","return"].forEach((function(t){u(e,t,(function(e){return this._invoke(t,e)}))}))}function O(e,t){function n(l,r,o,i){var u=c(e[l],e,r);if("throw"!==u.type){var s=u.arg,d=s.value;return d&&"object"==typeof d&&a.call(d,"__await")?t.resolve(d.__await).then((function(e){n("next",e,o,i)}),(function(e){n("throw",e,o,i)})):t.resolve(d).then((function(e){s.value=e,o(s)}),(function(e){return n("throw",e,o,i)}))}i(u.arg)}var l;this._invoke=function(e,a){function r(){return new t((function(t,l){n(e,a,t,l)}))}return l=l?l.then(r,r):r()}}function I(e,n){var a=e.iterator[n.method];if(a===t){if(n.delegate=null,"throw"===n.method){if(e.iterator.return&&(n.method="return",n.arg=t,I(e,n),"throw"===n.method))return h;n.method="throw",n.arg=new TypeError("The iterator does not provide a 'throw' method")}return h}var l=c(a,e.iterator,n.arg);if("throw"===l.type)return n.method="throw",n.arg=l.arg,n.delegate=null,h;var r=l.arg;return r?r.done?(n[e.resultName]=r.value,n.next=e.nextLoc,"return"!==n.method&&(n.method="next",n.arg=t),n.delegate=null,h):r:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,h)}function N(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function C(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function L(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(N,this),this.reset(!0)}function T(e){if(e){var n=e[r];if(n)return n.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var l=-1,o=function n(){for(;++l<e.length;)if(a.call(e,l))return n.value=e[l],n.done=!1,n;return n.value=t,n.done=!0,n};return o.next=o}}return{next:k}}function k(){return{value:t,done:!0}}return b.prototype=_.constructor=v,v.constructor=b,b.displayName=u(v,i,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===b||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,v):(e.__proto__=v,u(e,i,"GeneratorFunction")),e.prototype=Object.create(_),e},e.awrap=function(e){return{__await:e}},x(O.prototype),O.prototype[o]=function(){return this},e.AsyncIterator=O,e.async=function(t,n,a,l,r){void 0===r&&(r=Promise);var o=new O(s(t,n,a,l),r);return e.isGeneratorFunction(n)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},x(_),u(_,i,"Generator"),_[r]=function(){return this},_.toString=function(){return"[object Generator]"},e.keys=function(e){var t=[];for(var n in e)t.push(n);return t.reverse(),function n(){for(;t.length;){var a=t.pop();if(a in e)return n.value=a,n.done=!1,n}return n.done=!0,n}},e.values=T,L.prototype={constructor:L,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(C),!e)for(var n in this)"t"===n.charAt(0)&&a.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=t)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var n=this;function l(a,l){return i.type="throw",i.arg=e,n.next=a,l&&(n.method="next",n.arg=t),!!l}for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r],i=o.completion;if("root"===o.tryLoc)return l("end");if(o.tryLoc<=this.prev){var u=a.call(o,"catchLoc"),s=a.call(o,"finallyLoc");if(u&&s){if(this.prev<o.catchLoc)return l(o.catchLoc,!0);if(this.prev<o.finallyLoc)return l(o.finallyLoc)}else if(u){if(this.prev<o.catchLoc)return l(o.catchLoc,!0)}else{if(!s)throw new Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return l(o.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var l=this.tryEntries[n];if(l.tryLoc<=this.prev&&a.call(l,"finallyLoc")&&this.prev<l.finallyLoc){var r=l;break}}r&&("break"===e||"continue"===e)&&r.tryLoc<=t&&t<=r.finallyLoc&&(r=null);var o=r?r.completion:{};return o.type=e,o.arg=t,r?(this.method="next",this.next=r.finallyLoc,h):this.complete(o)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),h},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),C(n),h}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var a=n.completion;if("throw"===a.type){var l=a.arg;C(n)}return l}}throw new Error("illegal catch attempt")},delegateYield:function(e,n,a){return this.delegate={iterator:T(e),resultName:n,nextLoc:a},"next"===this.method&&(this.arg=t),h}},e}(e.exports);try{regeneratorRuntime=t}catch(e){Function("r","regeneratorRuntime = r")(t)}}(A);var M=A.exports,B=function(e,t){switch(t.type){case"request results":return{items:[],loading:!0};case"received results":return{items:t.payload,loading:!1}}},R=function(t,n){void 0===n&&(n=250);var a,l="function"==typeof t,r=c.default.useMemo((function(){return l?t:function(){return Promise.resolve(t)}}),[t,l]),o=c.default.useReducer(B,{items:l?[]:t,loading:!1}),i=o[0],u=i.items,s=i.loading,d=o[1],f=(a=c.default.useRef(!0),c.default.useEffect((function(){return function(){a.current=!1}}),[]),a.current),h=c.default.useCallback(function(){var e,t=(e=M.mark((function e(t){var n;return M.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(f){e.next=2;break}return e.abrupt("return");case 2:return d({type:"request results"}),e.next=5,r(t);case 5:n=e.sent,f&&d({type:"received results",payload:n});case 7:case"end":return e.stop()}}),e)})),function(){var t=this,n=arguments;return new Promise((function(a,l){var r=e.apply(t,n);function o(e){m(r,a,l,o,i,"next",e)}function i(e){m(r,a,l,o,i,"throw",e)}o(void 0)}))});return function(e){return t.apply(this,arguments)}}(),[r,f]),g=function(e){return c.default.useMemo((function(){return e.map((function(e){return"string"==typeof e?{value:e,label:e}:"value"in e?e:p({},e,{value:e.label})}))}),[e])}(u);return c.default.useEffect((function(){l&&h("")}),[l,h]),{items:g,loading:!!l&&s,fetchItems:e.debounce(h,n)}},j=["highlightFirstItemOnOpen","debounceTimeout","disabled","feedback","items","label","loadingText","onChange","placeholder","prepend","readOnly","searchable","selectOnTab","openOnFocus","variant","value","clearable","className","style","listStyle","itemFilter","disableLabelAnimation"],D=c.default.forwardRef((function(e,t){var n=e.highlightFirstItemOnOpen,a=e.debounceTimeout,l=e.disabled,r=e.feedback,o=e.items,i=e.label,u=e.loadingText,s=e.onChange,d=void 0===s?function(){}:s,f=e.placeholder,m=e.prepend,g=e.readOnly,b=e.searchable,y=e.selectOnTab,w=e.openOnFocus,E=e.variant,_=e.value,x=e.clearable,O=void 0!==x&&x,I=e.className,N=e.style,C=e.listStyle,L=e.itemFilter,T=e.disableLabelAnimation,F=h(e,j),A=R(o,a),M=A.items,B=A.loading,D=A.fetchItems,V=void 0===_?void 0:M.find((function(e){return _===e.value}))||null,q=b?S:k,G=b?{itemFilter:L,name:F.name,"data-cy":F["data-cy"]}:{name:F.name,"data-cy":F["data-cy"]};return c.default.createElement(v,p({selectedItem:V,onInputValueChange:D,onChange:d,value:_,highlightFirstItemOnOpen:n,className:I,style:N,searchable:b},F),c.default.createElement(P,{feedback:r,variant:E},c.default.createElement(q,p({label:i,items:M,loading:B,loadingText:u,disabled:l,readOnly:g,placeholder:f,prepend:m,selectOnTab:y,openOnFocus:w,listStyle:C,clearable:O,disableLabelAnimation:T,ref:t},G))))})),V=["className","disabled","readOnly","items","loadingText","prepend","style","label","variant","feedback","disableLabelAnimation"],q=["items","itemsSelectedLabel","label","feedback","variant","disabled","readOnly","onChange","className","clearable","loading","loadingText","openOnFocus","style","listStyle","initialSelectedItems","debounceTimeout"],G=c.default.createContext(null),K=function(){var e=c.default.useContext(G);if(!e)throw new Error("You need to wrap your component in a DownshiftProvider");return e};function H(e,t){var a=t.changes;switch(t.type){case n.useSelect.stateChangeTypes.MenuKeyDownEnter:case n.useSelect.stateChangeTypes.MenuKeyDownSpaceButton:case n.useSelect.stateChangeTypes.ItemClick:return p({},a,{isOpen:!0,highlightedIndex:e.highlightedIndex});default:return a}}var Y=function(e){var t=p({},e),n=K().reset;return c.default.createElement(c.default.Fragment,null,c.default.createElement("button",p({className:"eds-dropdown__clear-button",type:"button",tabIndex:-1,onClick:function(){return n()}},t),c.default.createElement(r.CloseIcon,null)),c.default.createElement("div",{className:"eds-dropdown__divider"}))},$=function(e){var t=e.readOnly,n=e.hasSelected;return e.loading?c.default.createElement(O,null,e.loadingText):t?null:n?c.default.createElement(c.default.Fragment,null,c.default.createElement(Y,null),c.default.createElement(U,null)):c.default.createElement(U,null)},U=function(){var e=K(),t=e.openMenu,n=e.openOnFocus;return c.default.createElement("button",p({},(0,e.getToggleButtonProps)({className:f.default("eds-dropdown__toggle-button",{"eds-dropdown__toggle-button--open":e.isOpen}),onFocus:function(){n&&t()}}),{type:"button"}),c.default.createElement(r.DownArrowIcon,null))},z=function(){return c.default.createElement("svg",{className:"eds-checkbox-icon",width:"11px",height:"9px",viewBox:"6 11 37 33"},c.default.createElement("path",{className:"eds-checkbox-icon__path",d:"M14.1 27.2l7.1 7.2 14.6-14.8",fill:"none"}))},J=["items","value","onChange","label","placeholder","clearable","openOnFocus","className"],Q=function(e){var t=e.clearable,n=e.readOnly,a=e.getToggleButtonProps,l=e.selectedItem,o=e.isOpen,i=e.onChange;return e.loading?c.default.createElement(O,null,e.loadingText):n?null:c.default.createElement("div",{style:{display:"flex",alignItems:"center"}},t&&l&&c.default.createElement(c.default.Fragment,null,c.default.createElement("button",{className:"eds-dropdown__clear-button",type:"button",tabIndex:-1,onClick:function(){return i(null)}},c.default.createElement(r.CloseSmallIcon,null)),c.default.createElement("div",{className:"eds-dropdown__divider"})),c.default.createElement("button",p({},a({className:f.default("eds-dropdown__toggle-button",{"eds-dropdown__toggle-button--open":o})}),{tabIndex:"-1",type:"button"}),c.default.createElement(r.DownArrowIcon,null)))};e.warnAboutMissingStyles("dropdown","form","a11y","chip"),exports.Dropdown=D,exports.MultiSelect=function(a){var r=a.items,o=a.itemsSelectedLabel,i=void 0===o?function(e){return function(e){return e.length<3?e.map((function(e){return e.label})).toString():e.length+" elementer valgt"}(e)}:o,s=a.label,d=a.feedback,m=a.variant,g=a.disabled,b=a.readOnly,v=void 0!==b&&b,y=a.onChange,w=void 0===y?function(){}:y,E=a.className,_=a.clearable,x=void 0!==_&&_,O=a.loading,I=void 0!==O&&O,N=a.loadingText,C=void 0===N?"":N,L=a.openOnFocus,T=void 0!==L&&L,k=a.style,F=a.listStyle,S=a.initialSelectedItems,P=void 0===S?[]:S,A=a.debounceTimeout,M=h(a,q),B=R(r,A).items,j=t.useState(P),D=j[0],V=j[1],K=c.default.useCallback((function(){V([])}),[]);function Y(e){return D.some((function(t){return t.value===e.value}))}var U=n.useSelect(p({items:B,stateReducer:H,selectedItem:null,onSelectedItemChange:function(e){var t=e.selectedItem;if(t)if(Y(t)){var n=D.filter((function(e){return e.value!==t.value}));V(n),w(n)}else{var a=[].concat(D,[t]);V(a),w(a)}}},M)),J=U.isOpen,Q=U.getToggleButtonProps,W=U.getLabelProps,X=U.getMenuProps,Z=U.highlightedIndex,ee=U.getItemProps,te=U.openMenu,ne=D.length?i(D):"",ae=e.useRandomId("eds-multiselect");return c.default.createElement(G.Provider,{value:{isOpen:J,reset:K,getToggleButtonProps:Q,openMenu:te,openOnFocus:T}},c.default.createElement("div",{className:f.default("eds-multiselect","eds-dropdown-wrapper",E),style:k},c.default.createElement(l.BaseFormControl,{label:s,labelId:ae,labelProps:W(),feedback:d,variant:m,isFilled:D.length>0||J,disabled:g,readOnly:v,append:c.default.createElement($,{hasSelected:x&&D.length>0,loading:I,loadingText:C,readOnly:v})},c.default.createElement("button",p({},Q({style:{textAlign:"left"},type:"button",className:"eds-form-control eds-multiselect__button"})),ne)),c.default.createElement("ul",p({className:f.default("eds-dropdown-list",{"eds-dropdown-list--open":J})},X({style:p({position:"absolute",top:u.space.extraLarge3+u.space.extraSmall+"px"},F)})),J&&B.map((function(e,t){return c.default.createElement("li",p({className:f.default("eds-dropdown-list__item",{"eds-dropdown-list__item--highlighted":Z===t,"eds-dropdown-list__item--selected":Y(e)}),key:""+e.value+t},ee({item:e,index:t}),{style:{display:"flex"}}),c.default.createElement("span",{style:{display:"flex"}},c.default.createElement("span",{className:f.default("eds-multiselect-checkbox",{"eds-multiselect-checkbox--checked":Y(e)})},c.default.createElement(z,null)),c.default.createElement("span",{className:"eds-multiselect__item-label"},e.label)),e.icons&&c.default.createElement("span",null,e.icons.map((function(e,t){return c.default.createElement(e,{key:t,inline:!0,className:"eds-dropdown-list__item-icon"})}))))})))))},exports.NativeDropdown=function(t){var n=t.className,a=t.disabled,o=void 0!==a&&a,i=t.readOnly,u=void 0!==i&&i,s=t.items,d=t.loadingText,f=t.prepend,m=t.style,g=t.label,b=t.variant,v=t.feedback,y=t.disableLabelAnimation,w=h(t,V),E=R(s),_=E.items,x=E.loading,I=c.default.createElement(r.DownArrowIcon,{inline:!0});o||u?I=null:x&&(I=c.default.createElement(O,null,d));var N=e.useRandomId("eds-native-dropdown");return c.default.createElement(l.BaseFormControl,{disabled:o,readOnly:u,prepend:f,append:I,className:n,style:m,label:g,variant:b,feedback:v,labelId:N,disableLabelAnimation:y,isFilled:!0},c.default.createElement("select",p({"aria-invalid":"error"===b,className:"eds-form-control eds-dropdown",disabled:o||u},w),_.map((function(e){return c.default.createElement("option",{key:e.value,value:e.value},e.label)}))))},exports.SearchableDropdownBeta=function(e){var a,o=e.items,i=e.value,u=e.onChange,s=e.label,d=void 0===s?"!MANGLER LABEL!":s,m=e.placeholder,g=e.clearable,b=void 0!==g&&g,v=e.openOnFocus,y=void 0!==v&&v,w=e.className,E=h(e,J),_=c.default.useState(o),x=_[0],O=_[1],I=t.useState(!1),N=I[0],C=I[1],L=t.useRef(null),T=c.default.useCallback((function(e,t){var a=t.changes;switch(t.type){case n.useCombobox.stateChangeTypes.ItemClick:case n.useCombobox.stateChangeTypes.InputKeyDownEnter:case n.useCombobox.stateChangeTypes.InputBlur:case n.useCombobox.stateChangeTypes.ControlledPropUpdatedSelectedItem:return p({},a,a.selectedItem&&{inputValue:""});default:return a}}),[]),k=n.useCombobox(p({onInputValueChange:function(e){var t=e.inputValue;O(o.filter((function(e){return function(e,t){if(!t)return!0;var n=t.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&");return new RegExp(n,"i").test(e.label)}(e,t)})))},items:x,itemToString:function(e){return e?e.value:""},stateReducer:T,selectedItem:i,onSelectedItemChange:function(e){return u(e.selectedItem)}},E)),F=k.isOpen,S=k.getToggleButtonProps,P=k.getLabelProps,A=k.getMenuProps,M=k.getInputProps,B=k.getComboboxProps,R=k.highlightedIndex,j=k.getItemProps,D=k.selectedItem,V=k.openMenu,q=k.inputValue,G=k.setInputValue;return t.useEffect((function(){q.toLowerCase()!==(null==i?void 0:i.label.toLowerCase())&&q.toLowerCase()!==(null==i?void 0:i.value.toLowerCase())||G("")}),[i]),c.default.createElement("div",null,c.default.createElement(l.BaseFormControl,p({append:c.default.createElement(Q,{selectedItem:D,isOpen:F,clearable:b,loading:!1,loadingText:"",readOnly:!1,onChange:u,getToggleButtonProps:S}),className:f.default("eds-searchable-dropdown",w),label:d,isFilled:!!D,labelProps:P()},B(),E),!N&&D&&!q&&c.default.createElement("span",{className:"eds-searchable-dropdown__selected-item__wrapper"},c.default.createElement("span",{className:"eds-searchable-dropdown__selected-item",onClick:function(){var e;return null==(e=L.current)?void 0:e.focus()}},D.label)),c.default.createElement("input",p({placeholder:null!=(a=null==D?void 0:D.label)?a:m,className:"eds-searchable-dropdown__input eds-form-control"},M({onFocus:function(){!F&&y&&V(),C(!0)}}),{onBlur:function(){C(!1)},ref:L}))),c.default.createElement("ul",p({className:f.default("eds-dropdown-list",{"eds-dropdown-list--open":F})},A(),E),F?x.map((function(e,t){return c.default.createElement("li",p({className:f.default("eds-dropdown-list__item",{"eds-dropdown-list__item--highlighted":R===t,"eds-dropdown-list__item--selected":D===e})},j({key:""+t+e.value,item:e,index:t})),c.default.createElement("span",null,e.label),e.icons&&c.default.createElement("span",null,e.icons.map((function(e,t){return c.default.createElement(e,{key:t,inline:!0,className:"eds-dropdown-list__item-icon"})}))),D===e&&c.default.createElement(r.CheckIcon,null))})):null))};
2
2
  //# sourceMappingURL=dropdown.cjs.production.min.js.map