@entur/dropdown 7.1.1-beta.0 → 7.1.1
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.
- package/dist/dropdown.cjs.development.js +38 -19
- package/dist/dropdown.cjs.development.js.map +1 -1
- package/dist/dropdown.cjs.production.min.js +1 -1
- package/dist/dropdown.cjs.production.min.js.map +1 -1
- package/dist/dropdown.esm.js +38 -19
- package/dist/dropdown.esm.js.map +1 -1
- package/dist/styles.css +77 -77
- package/package.json +8 -8
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@entur/utils"),t=require("react"),n=require("downshift"),l=require("classnames"),a=require("@floating-ui/react-dom"),r=require("@entur/form"),i=require("@entur/tokens"),o=require("@entur/a11y"),s=require("@entur/button"),u=require("@entur/chip"),d=require("@entur/icons"),c=require("@entur/loader"),p=require("@entur/tooltip");function m(e,t,n,l,a,r,i){try{var o=e[r](i),s=o.value}catch(e){return void n(e)}o.done?t(s):Promise.resolve(s).then(l,a)}function f(){return f=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var l in n)({}).hasOwnProperty.call(n,l)&&(e[l]=n[l])}return e},f.apply(null,arguments)}function v(e,t){if(null==e)return{};var n={};for(var l in e)if({}.hasOwnProperty.call(e,l)){if(t.includes(l))continue;n[l]=e[l]}return n}function g(){g=function(){return t};var e,t={},n=Object.prototype,l=n.hasOwnProperty,a=Object.defineProperty||function(e,t,n){e[t]=n.value},r="function"==typeof Symbol?Symbol:{},i=r.iterator||"@@iterator",o=r.asyncIterator||"@@asyncIterator",s=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 d(e,t,n,l){var r=Object.create((t&&t.prototype instanceof b?t:b).prototype),i=new A(l||[]);return a(r,"_invoke",{value:k(e,n,i)}),r}function c(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}t.wrap=d;var p="suspendedStart",m="suspendedYield",f="executing",v="completed",h={};function b(){}function y(){}function I(){}var x={};u(x,i,(function(){return this}));var L=Object.getPrototypeOf,C=L&&L(L(P([])));C&&C!==n&&l.call(C,i)&&(x=C);var w=I.prototype=b.prototype=Object.create(x);function _(e){["next","throw","return"].forEach((function(t){u(e,t,(function(e){return this._invoke(t,e)}))}))}function S(e,t){function n(a,r,i,o){var s=c(e[a],e,r);if("throw"!==s.type){var u=s.arg,d=u.value;return d&&"object"==typeof d&&l.call(d,"__await")?t.resolve(d.__await).then((function(e){n("next",e,i,o)}),(function(e){n("throw",e,i,o)})):t.resolve(d).then((function(e){u.value=e,i(u)}),(function(e){return n("throw",e,i,o)}))}o(s.arg)}var r;a(this,"_invoke",{value:function(e,l){function a(){return new t((function(t,a){n(e,l,t,a)}))}return r=r?r.then(a,a):a()}})}function k(t,n,l){var a=p;return function(r,i){if(a===f)throw Error("Generator is already running");if(a===v){if("throw"===r)throw i;return{value:e,done:!0}}for(l.method=r,l.arg=i;;){var o=l.delegate;if(o){var s=E(o,l);if(s){if(s===h)continue;return s}}if("next"===l.method)l.sent=l._sent=l.arg;else if("throw"===l.method){if(a===p)throw a=v,l.arg;l.dispatchException(l.arg)}else"return"===l.method&&l.abrupt("return",l.arg);a=f;var u=c(t,n,l);if("normal"===u.type){if(a=l.done?v:m,u.arg===h)continue;return{value:u.arg,done:l.done}}"throw"===u.type&&(a=v,l.method="throw",l.arg=u.arg)}}}function E(t,n){var l=n.method,a=t.iterator[l];if(a===e)return n.delegate=null,"throw"===l&&t.iterator.return&&(n.method="return",n.arg=e,E(t,n),"throw"===n.method)||"return"!==l&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+l+"' method")),h;var r=c(a,t.iterator,n.arg);if("throw"===r.type)return n.method="throw",n.arg=r.arg,n.delegate=null,h;var i=r.arg;return i?i.done?(n[t.resultName]=i.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=e),n.delegate=null,h):i:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,h)}function T(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 O(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function A(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(T,this),this.reset(!0)}function P(t){if(t||""===t){var n=t[i];if(n)return n.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var a=-1,r=function n(){for(;++a<t.length;)if(l.call(t,a))return n.value=t[a],n.done=!1,n;return n.value=e,n.done=!0,n};return r.next=r}}throw new TypeError(typeof t+" is not iterable")}return y.prototype=I,a(w,"constructor",{value:I,configurable:!0}),a(I,"constructor",{value:y,configurable:!0}),y.displayName=u(I,s,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===y||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,I):(e.__proto__=I,u(e,s,"GeneratorFunction")),e.prototype=Object.create(w),e},t.awrap=function(e){return{__await:e}},_(S.prototype),u(S.prototype,o,(function(){return this})),t.AsyncIterator=S,t.async=function(e,n,l,a,r){void 0===r&&(r=Promise);var i=new S(d(e,n,l,a),r);return t.isGeneratorFunction(n)?i:i.next().then((function(e){return e.done?e.value:i.next()}))},_(w),u(w,s,"Generator"),u(w,i,(function(){return this})),u(w,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),n=[];for(var l in t)n.push(l);return n.reverse(),function e(){for(;n.length;){var l=n.pop();if(l in t)return e.value=l,e.done=!1,e}return e.done=!0,e}},t.values=P,A.prototype={constructor:A,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(O),!t)for(var n in this)"t"===n.charAt(0)&&l.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var n=this;function a(l,a){return o.type="throw",o.arg=t,n.next=l,a&&(n.method="next",n.arg=e),!!a}for(var r=this.tryEntries.length-1;r>=0;--r){var i=this.tryEntries[r],o=i.completion;if("root"===i.tryLoc)return a("end");if(i.tryLoc<=this.prev){var s=l.call(i,"catchLoc"),u=l.call(i,"finallyLoc");if(s&&u){if(this.prev<i.catchLoc)return a(i.catchLoc,!0);if(this.prev<i.finallyLoc)return a(i.finallyLoc)}else if(s){if(this.prev<i.catchLoc)return a(i.catchLoc,!0)}else{if(!u)throw Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return a(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var a=this.tryEntries[n];if(a.tryLoc<=this.prev&&l.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var r=a;break}}r&&("break"===e||"continue"===e)&&r.tryLoc<=t&&t<=r.finallyLoc&&(r=null);var i=r?r.completion:{};return i.type=e,i.arg=t,r?(this.method="next",this.next=r.finallyLoc,h):this.complete(i)},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),O(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 l=n.completion;if("throw"===l.type){var a=l.arg;O(n)}return a}}throw Error("illegal catch attempt")},delegateYield:function(t,n,l){return this.delegate={iterator:P(t),resultName:n,nextLoc:l},"next"===this.method&&(this.arg=e),h}},t}var h=["ariaLabelChosenSingular","ariaLabelSelectedItem","getItemProps","getMenuProps","isOpen","highlightedIndex","listItems","floatingStyles","setListRef","loading","loadingText","noMatchesText","selectAllCheckboxState","selectAllItem","selectedItems"],b=function(e){var n,a=e.ariaLabelChosenSingular,i=void 0===a?"valgt":a,s=e.ariaLabelSelectedItem,u=void 0===s?", valgt element, trykk for å fjerne":s,d=e.getItemProps,c=e.getMenuProps,p=e.isOpen,m=e.highlightedIndex,g=e.listItems,b=e.floatingStyles,y=e.setListRef,I=e.loading,x=void 0!==I&&I,L=e.loadingText,C=void 0===L?"Laster inn …":L,w=e.noMatchesText,_=void 0===w?"Ingen treff for søket":w,S=e.selectAllCheckboxState,k=e.selectAllItem,E=e.selectedItems,T=v(e,h),O=void 0!==k,A=!x&&(0===g.length||1===(null==g?void 0:g.length)&&(null==g||null==(n=g[0])?void 0:n.value)===(null==k?void 0:k.value)),P=function(e){return E.some((function(t){return(null==t?void 0:t.value)===(null==e?void 0:e.value)&&(null==t?void 0:t.label)===(null==e?void 0:e.label)}))},N=function(){switch(null==S?void 0:S()){case"indeterminate":return{label:(null==k?void 0:k.label)+", delvis valgt",selected:!1};case!0:return{label:(null==k?void 0:k.label)+", "+i,selected:!0};default:return{label:""+(null==k?void 0:k.label),selected:!1}}};return t.createElement("ul",f({},c({"aria-multiselectable":O,ref:y,className:"eds-dropdown__list",style:f({},b,{display:p?void 0:"none"},T.style)})),p?x?t.createElement("li",{key:"dropdown-list-loading",className:"eds-dropdown__list__item"},C):A?t.createElement("li",{key:"dropdown-list-no-match",className:"eds-dropdown__list__item"},_):g.map((function(e,n){var a,i,s=e.value===(null==k?void 0:k.value);return s&&g.length<=2?null:t.createElement("li",f({className:l("eds-dropdown__list__item",{"eds-dropdown__list__item--select-all":s,"eds-dropdown__list__item--highlighted":m===n,"eds-dropdown__list__item--selected":!O&&P(e)}),key:(null==e?void 0:e.label)+(null==e?void 0:e.value)+(null!=(a=null==e||null==(i=e.icons)?void 0:i.map((function(e){var t;return null!=(t=e.displayName)?t:e.name})))?a:"").toString()},d({item:e,index:n,"aria-selected":s?N().selected:P(e)})),s?t.createElement(t.Fragment,null,t.createElement(r.Checkbox,{"aria-hidden":"true",checked:null==S?void 0:S(),className:"eds-dropdown__list__item__checkbox",tabIndex:-1,readOnly:!0}),t.createElement("span",{className:"eds-dropdown__list__item__text","aria-label":N().label},null==k?void 0:k.label)):function(e){return t.createElement(t.Fragment,null,O&&t.createElement(r.Checkbox,{"aria-hidden":"true",checked:P(e),className:"eds-dropdown__list__item__checkbox",tabIndex:-1,readOnly:!0}),t.createElement("span",{className:"eds-dropdown__list__item__text"},e.label,t.createElement(o.VisuallyHidden,null,P(e)?u:"")),e.icons&&t.createElement("span",null,e.icons.map((function(n){var l;return t.createElement(n,{key:(null==e?void 0:e.label)+(null==e?void 0:e.value)+(null!=(l=null==n?void 0:n.displayName)?l:null==n?void 0:n.name),inline:!0,className:"eds-dropdown__list__item__icon"})}))))}(e))})):null)},y=["tabIndex"],I=["ariaLabelCloseList","ariaLabelOpenList","clearable","labelClearSelected","focusable","disabled","isOpen","loading","loadingText","onClear","itemIsSelected"],x=function(e){var n,a=e.ariaLabelRemoveSelected,r=e.ariaLabelChosen,i=void 0===r?"valgt":r,o=e.disabled,s=e.getSelectedItemProps,d=e.readOnly,c=e.removeSelectedItem,p=e.selectedItem,m=v(null!=(n=null==s?void 0:s({selectedItem:p,index:e.index}))?n:{},y);return t.createElement(u.TagChip,f({size:"small",className:l("eds-dropdown__selected-item-tag",{"eds-dropdown__selected-item-tag--readonly":d,"eds-dropdown__selected-item-tag--disabled":o})},m,{onClose:function(e){e.stopPropagation(),c(p)},onClick:function(e){return e.stopPropagation()},closeButtonAriaLabel:p.label+" "+i+", "+a+" ",key:p.value,"aria-live":"polite"}),t.createElement("span",{"aria-hidden":"true",className:"eds-dropdown__selected-item-tag__text"},p.label))},L=t.forwardRef((function(e,n){var a=e.ariaLabelCloseList,r=e.ariaLabelOpenList,i=e.clearable,o=void 0!==i&&i,u=e.labelClearSelected,p=e.focusable,m=void 0!==p&&p,g=e.disabled,h=e.isOpen,b=e.loading,y=void 0!==b&&b,x=e.loadingText,L=e.onClear,w=e.itemIsSelected,_=v(e,I);return t.createElement(t.Fragment,null,!g&&t.createElement("div",{className:"eds-dropdown__appendix"},o&&w&&t.createElement(C,{onClear:L,focusable:!0,labelClearSelectedItems:u}),t.createElement(s.IconButton,f({className:l("eds-dropdown__appendix__toggle-button",{"eds-dropdown__appendix__toggle-button--open":h}),ref:n,"aria-label":y?x:h?a:r},_,{tabIndex:m?0:-1}),t.createElement(y?c.LoadingDots:d.DownArrowIcon,{"aria-hidden":"true"}))))})),C=function(e){var n=e.onClear,l=e.labelClearSelectedItems,a=void 0===l?"Fjern valgte":l,r=e.focusable;return t.createElement(t.Fragment,null,t.createElement(p.Tooltip,{"aria-hidden":"true",placement:"top",content:a,className:"eds-dropdown__appendix__clear-button__tooltip"},t.createElement(s.IconButton,{className:"eds-dropdown__appendix__clear-button",type:"button",tabIndex:void 0!==r&&r?0:-1,onClick:function(e){e.stopPropagation(),n()},"aria-label":a},t.createElement(d.CloseSmallIcon,{"aria-hidden":"true"}))),t.createElement("div",{className:"eds-dropdown__appendix__divider"}))},w=function(n,l){void 0===l&&(l=250);var a="function"==typeof n,r=t.useState(a?[]:n),i=r[0],o=r[1],s=t.useState(!1),u=s[0],d=s[1],c=t.useRef(new AbortController),p=t.useMemo((function(){return a?n:function(){return Promise.resolve(n)}}),[n,a]),v=function(){var e,t=(e=g().mark((function e(t){var n,l,a,r;return g().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return null!=c&&c.current&&(null==c||null==(n=c.current)||n.abort()),l=new AbortController,c.current=l,d(!0),e.prev=4,e.next=7,p(null!=t?t:"",c);case 7:if(r=e.sent,null==c||null==(a=c.current)||null==(a=a.signal)||!a.aborted){e.next=11;break}return console.warn("Avbryt den asynkrone funksjonen din med signalet fra AbortController-en for å for å unngå minnelekkasje.",'Funksjonen bør kaste en DOMException med navnet "AbortError" når den avbrytes.',"","\n\nSe eksempel her: https://linje.entur.no/komponenter/skjemaelementer/dropdown#s%C3%B8kbar-dropdown-med-valg-fra-nettverkskall-bassert-p%C3%A5-tekstinput","\nLes mer om AbortController her: https://developer.mozilla.org/en-US/docs/Web/API/AbortController"),e.abrupt("return");case 11:d(!1),o(r),e.next=21;break;case 15:if(e.prev=15,e.t0=e.catch(4),!e.t0||"object"!=typeof e.t0||!("name"in e.t0)||"AbortError"!==e.t0.name){e.next=19;break}return e.abrupt("return");case 19:throw console.warn("The following error was received but not handled inside Entur Designsystems useResolvedItems hook:"),e.t0;case 21:case"end":return e.stop()}}),e,null,[[4,15]])})),function(){var t=this,n=arguments;return new Promise((function(l,a){var r=e.apply(t,n);function i(e){m(r,l,a,i,o,"next",e)}function o(e){m(r,l,a,i,o,"throw",e)}i(void 0)}))});return function(e){return t.apply(this,arguments)}}(),h=e.useDebounce(v,l),b=function(e){return t.useMemo((function(){return e.map((function(e){return"string"==typeof e?{value:e,label:e}:f({},e,void 0===(null==e?void 0:e.value)?{value:e.label}:{value:e.value})}))}),[e])}(i);return t.useEffect((function(){return function(){var e;return null==c||null==(e=c.current)?void 0:e.abort("Component unmounted")}}),[]),t.useEffect((function(){a&&h("")}),[a,p]),{items:b,loading:!!a&&u,fetchItems:h}},_="";function S(e,t){if(!t)return!0;var n=t.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&");return new RegExp(n,"i").test(e.label)}function k(e,t){return!0}var E=function(e){return e?e.label:""},T=function(e){return(null==e?void 0:e.label)+(null==e?void 0:e.value)},O=function(e){return"function"==typeof e&&e.length>0},A=function(e,t,n){return void 0===t&&(t=1),void 0===n&&(n=10),Math.min(Math.max(e,t),n)};function P(e){var t=e.selectAllItemIncluded,n=e.resultCount;if(!e.isOpen)return"";var l=void 0!==t&&t?n-1:n;return 0===l?"Ingen resultater":l+" resultat"+(1===l?"":"er")+" tilgjengelig, naviger med pil opp eller ned, velg elementer med Enter."}var N=["ariaLabelChosenSingular","ariaLabelCloseList","ariaLabelOpenList","ariaLabelSelectedItem","className","clearable","debounceTimeout","disabled","disableLabelAnimation","feedback","items","itemFilter","label","labelClearSelectedItem","labelTooltip","listStyle","loading","loadingText","noMatchesText","onChange","placeholder","prepend","readOnly","selectedItem","selectOnBlur","selectOnTab","style","variant"],V=t.forwardRef((function(o,s){var u,d,c,p=o.ariaLabelChosenSingular,m=o.ariaLabelCloseList,g=void 0===m?"Lukk liste med valg":m,h=o.ariaLabelOpenList,y=void 0===h?"Åpne liste med valg":h,I=o.ariaLabelSelectedItem,x=o.className,C=o.clearable,T=void 0===C||C,V=o.debounceTimeout,j=o.disabled,F=void 0!==j&&j,M=o.disableLabelAnimation,R=void 0!==M&&M,B=o.feedback,D=o.items,q=o.itemFilter,H=void 0===q?O(D)?k:S:q,G=o.label,K=o.labelClearSelectedItem,U=void 0===K?"fjern valgt":K,z=o.labelTooltip,J=o.listStyle,W=o.loading,Y=o.loadingText,$=void 0===Y?"Laster resultater …":Y,Q=o.noMatchesText,X=void 0===Q?"Ingen tilgjengelige valg …":Q,Z=o.onChange,ee=void 0===Z?function(){}:Z,te=o.placeholder,ne=o.prepend,le=o.readOnly,ae=void 0!==le&&le,re=o.selectedItem,ie=o.selectOnBlur,oe=void 0!==ie&&ie,se=o.selectOnTab,ue=void 0!==se&&se,de=o.style,ce=o.variant,pe=void 0===ce?"info":ce,me=v(o,N),fe=t.useState(null!==re),ve=fe[0],ge=fe[1],he=t.useState(0),be=he[0],ye=he[1],Ie=t.useRef(null),xe=w(D,V),Le=xe.items,Ce=xe.loading,we=xe.fetchItems,_e=t.useState(Le),Se=_e[0],ke=_e[1],Ee=function(e){var t=e.inputValue;return ke(Le.filter((function(e){return H(e,t)})))},Te=function(e){var t=e.inputValue;O(D)&&we(null!=t?t:_),Ee({inputValue:null!=t?t:_})},Oe=function(e){var t=e.changes;return Te({inputValue:_}),f({},t,{inputValue:_})},Ae="undefined"!=typeof document&&(null==Ie?void 0:Ie.current)===(null==(u=document)?void 0:u.activeElement);t.useEffect((function(){Ee({inputValue:He})}),[Le]),t.useEffect((function(){null===qe||Ae||(ge(!0),Te({inputValue:_}),Ge(_))}),[]);var Pe=t.useCallback((function(e,t){var l=t.type,a=t.changes;switch(void 0!==a.highlightedIndex&&(null==a?void 0:a.highlightedIndex)>=0&&ye(null==a?void 0:a.highlightedIndex),l){case n.useCombobox.stateChangeTypes.ItemClick:case n.useCombobox.stateChangeTypes.InputKeyDownEnter:case n.useCombobox.stateChangeTypes.InputBlur:return Oe({changes:a});case n.useCombobox.stateChangeTypes.ControlledPropUpdatedSelectedItem:return null===a.selectedItem||Ae||ge(!0),Oe({changes:a});case n.useCombobox.stateChangeTypes.InputChange:var r;ye(0);var i=/^\s+/g,o=" "===a.inputValue;if(null!=(r=a.inputValue)&&r.match(i)){var s=a.inputValue.replace(i,_);if(o){if(!e.isOpen)return f({},a,{inputValue:s,isOpen:!0,highlightedIndex:0});if(void 0!==a.highlightedIndex)return f({},a,{inputValue:s,selectedItem:Se[a.highlightedIndex],highlightedIndex:0})}}return f({},a,{highlightedIndex:0});default:return a}}),[we,Ee,Ae,Oe]),Ne=n.useCombobox({defaultHighlightedIndex:be,items:Se,itemToString:E,selectedItem:re,stateReducer:Pe,onInputValueChange:function(e){Te({inputValue:e.inputValue})},onStateChange:function(e){var t=e.selectedItem;void 0!==t&&ee(t)},getA11yStatusMessage:function(e){return P(f({},e,{resultCount:Se.length}))}}),Ve=Ne.isOpen,je=Ne.getToggleButtonProps,Fe=Ne.getLabelProps,Me=Ne.getMenuProps,Re=Ne.getInputProps,Be=Ne.highlightedIndex,De=Ne.getItemProps,qe=Ne.selectedItem,He=Ne.inputValue,Ge=Ne.setInputValue,Ke=a.useFloating({open:Ve,placement:"bottom-start",middleware:[a.offset(i.space.extraSmall2),a.shift({padding:i.space.extraSmall}),a.size({apply:function(e){Object.assign(e.elements.floating.style,{width:e.rects.reference.width+"px",maxHeight:A(160,e.availableHeight,320)+"px"})}}),a.flip({fallbackStrategy:"initialPlacement"})]}),Ue=Ke.refs,ze=Ke.floatingStyles,Je=Ke.update;return t.useEffect((function(){if(Ve&&Ue.reference.current&&Ue.floating.current)return a.autoUpdate(Ue.reference.current,Ue.floating.current,Je)}),[Ve,Ue.reference,Ue.floating,Je]),t.createElement(r.BaseFormControl,f({className:l("eds-dropdown","eds-dropdown--searchable",x,{"eds-dropdown--has-tooltip":void 0!==z}),disabled:F,disableLabelAnimation:R,feedback:B,isFilled:null!==qe||He!==_,label:G,labelId:Fe().id,labelProps:Fe(),labelTooltip:z,onBlur:function(){return Ge("")},onClick:function(e){var t;e.target===e.currentTarget&&(null==(t=Re())||null==t.onClick||t.onClick(e))},prepend:ne,readOnly:ae,ref:Ue.setReference,style:de,tabIndex:F||ae?-1:void 0,variant:pe,after:t.createElement(b,{ariaLabelChosenSingular:p,ariaLabelSelectedItem:I,floatingStyles:ze,getItemProps:De,getMenuProps:Me,highlightedIndex:Be,isOpen:Ve,listItems:Se,style:J,setListRef:Ue.setFloating,loading:null!=W?W:Ce,loadingText:$,noMatchesText:X,selectedItems:null!==qe?[qe]:[]})},me,{append:void 0}),t.createElement("span",{className:l("eds-dropdown--searchable__selected-item",{"eds-dropdown--searchable__selected-item--hidden":!ve}),"aria-hidden":"true",onClick:null==(d=Re())?void 0:d.onClick},ve?null==qe?void 0:qe.label:""),t.createElement("input",f({className:l("eds-dropdown__input eds-form-control",{"eds-dropdown__input--hidden":ve})},Re({onBlur:function(){null!==qe&&ge(!0)},onFocus:function(){ge(!1)},onKeyDown:function(e){Ve&&(ue||oe)&&"Tab"===e.key&&void 0!==Be&&ee(Se[Be])},disabled:F,readOnly:ae,placeholder:null!=(c=null==qe?void 0:qe.label)?c:te,tabIndex:F||ae?-1:void 0,ref:e.mergeRefs(Ie,s)}))),t.createElement(L,f({},je({"aria-busy":(null!=W?W:Ce)?"true":void 0}),{ariaLabelCloseList:g,ariaLabelOpenList:y,clearable:T,disabled:F||ae,onClear:function(){var e;ee(null),Ge(_),null==(e=Ie.current)||e.focus(),Te({inputValue:He}),ge(!1)},focusable:!1,labelClearSelected:U,isOpen:Ve,itemIsSelected:null!==qe,loadingText:$,loading:null!=W?W:Ce})))})),j=["className","clearable","clearInputOnSelect","debounceTimeout","disabled","disableLabelAnimation","feedback","hideSelectAll","items","itemFilter","label","labelAllItemsSelected","labelClearAllItems","labelSelectAll","labelTooltip","listStyle","loading","loadingText","maxChips","noMatchesText","onChange","placeholder","readOnly","selectedItems","selectOnBlur","selectOnTab","style","variant","ariaLabelChosenSingular","ariaLabelChosenPlural","ariaLabelCloseList","ariaLabelJumpToInput","ariaLabelOpenList","ariaLabelRemoveSelected","ariaLabelSelectedItem"],F=t.forwardRef((function(s,u){var d,c=s.className,p=s.clearable,m=void 0===p||p,g=s.clearInputOnSelect,h=void 0!==g&&g,y=s.debounceTimeout,I=s.disabled,C=void 0!==I&&I,N=s.disableLabelAnimation,V=s.feedback,F=s.hideSelectAll,M=void 0!==F&&F,R=s.items,B=s.itemFilter,D=void 0===B?O(R)?k:S:B,q=s.label,H=s.labelAllItemsSelected,G=void 0===H?"Alle valgt":H,K=s.labelClearAllItems,U=void 0===K?"Fjern valgte":K,z=s.labelSelectAll,J=void 0===z?"Velg alle":z,W=s.labelTooltip,Y=s.listStyle,$=s.loading,Q=s.loadingText,X=void 0===Q?"Laster resultater …":Q,Z=s.maxChips,ee=void 0===Z?10:Z,te=s.noMatchesText,ne=s.onChange,le=void 0===ne?function(){}:ne,ae=s.placeholder,re=s.readOnly,ie=void 0!==re&&re,oe=s.selectedItems,se=void 0===oe?[]:oe,ue=s.selectOnTab,de=void 0!==ue&&ue,ce=s.style,pe=s.variant,me=void 0===pe?"information":pe,fe=s.ariaLabelChosenSingular,ve=s.ariaLabelChosenPlural,ge=void 0===ve?"valgte":ve,he=s.ariaLabelCloseList,be=void 0===he?"Lukk liste med valg":he,ye=s.ariaLabelJumpToInput,Ie=void 0===ye?se.length+" valgte elementer, trykk for å hoppe til tekstfeltet":ye,xe=s.ariaLabelOpenList,Le=void 0===xe?"Åpne liste med valg":xe,Ce=s.ariaLabelRemoveSelected,we=void 0===Ce?"trykk for å fjerne valg":Ce,_e=s.ariaLabelSelectedItem,Se=v(s,j),ke=t.useState(0),Ee=ke[0],Te=ke[1],Oe=t.useRef(null);t.useEffect((function(){void 0!==Se.selectedItem&&console.warn("Incorrect 'selectedItem' prop found, did you mean to use 'selectedItems?")}),[Se.selectedItem]);var Ae=w(R,y),Pe=Ae.items,Ne=Ae.loading,Ve=Ae.fetchItems,je="function"!=typeof R&&se.length===Pe.length,Fe={value:e.useRandomId("select-all"),label:J},Me=t.useMemo((function(){return{value:_,label:je?G:se.length+" "+ge}}),[je,se,G,ge]),Re=t.useState([].concat(M?[]:[Fe],Pe)),Be=Re[0],De=Re[1],qe=function(e){var t=e.inputValue;return De([].concat(M?[]:[Fe],Pe.filter((function(e){return D(e,t)}))))},He=function(e){var t=e.inputValue;O(R)&&Ve(null!=t?t:_),qe({inputValue:null!=t?t:_})};t.useEffect((function(){qe({inputValue:rt})}),[Pe]);var Ge=function(e){var t=e.selectedItems,n=e.selectAll,l=t.length>0,a=e.listItems.filter((function(e){return e.value!==n.value})),r=a.filter((function(e){return!t.some((function(t){return t.value===e.value}))})),i=!a.some((function(e){return!t.some((function(t){return t.value===e.value}))})),o=a.some((function(e){return t.some((function(t){return t.value===e.value}))})),s=function(e,n){return n([].concat(t,[e]))},u=function(e){return t.some((function(t){return t.value===e.value}))},d=function(e){return e.value===n.value},c=function(e,n){return n(t.filter((function(t){return t.value!==e.value})))},p=function(e){e([].concat(t,r))},m=function(e){e(t.filter((function(e){return!a.some((function(t){return t.value===e.value}))})))};return{addClickedItemToSelectedItems:s,allListItemsAreSelected:i,clickedItemIsInSelectedItems:u,clickedItemIsSelectAll:d,handleListItemClicked:function(e){var t=e.clickedItem,n=e.onChange;return d(t)?i?m(n):p(n):u(t)?c(t,n):void s(t,n)},hasSelectedItems:l,listItemsWithoutSelectAll:a,removeClickedItemFromSelectedItems:c,selectAllCheckboxState:function(){return!!i||!!o&&"indeterminate"},selectAllUnselectedItemsInListItems:p,someListItemsAreSelected:o,unselectAllListItems:m}}({listItems:Be,selectAll:Fe,selectedItems:se}),Ke=Ge.hasSelectedItems,Ue=Ge.handleListItemClicked,ze=Ge.selectAllCheckboxState,Je=n.useMultipleSelection({selectedItems:se,itemToString:E,itemToKey:T,onStateChange:function(e){var t=e.selectedItems;void 0!==t&&le(t)}}),We=Je.getSelectedItemProps,Ye=Je.getDropdownProps,$e=t.useCallback((function(e,t){var l=t.changes,a=t.type;switch(void 0!==l.highlightedIndex&&(null==l?void 0:l.highlightedIndex)>=0&&Te(null==l?void 0:l.highlightedIndex),a){case n.useCombobox.stateChangeTypes.InputBlur:return f({},l,{inputValue:_});case n.useCombobox.stateChangeTypes.InputKeyDownEnter:case n.useCombobox.stateChangeTypes.ItemClick:var r,i;return f({},l,{isOpen:!0,inputValue:h?_:null!=(r=null==Oe||null==(i=Oe.current)?void 0:i.value)?r:_});case n.useCombobox.stateChangeTypes.ControlledPropUpdatedSelectedItem:var o,s;return f({},l,{inputValue:null!=(o=null==Oe||null==(s=Oe.current)?void 0:s.value)?o:_});case n.useCombobox.stateChangeTypes.InputChange:var u,d=/^\s+/g,c=" "===l.inputValue;if(null!=(u=l.inputValue)&&u.match(d)){var p=l.inputValue.replace(d,_);if(c){if(!e.isOpen)return f({},l,{inputValue:p,isOpen:!0});if(void 0!==l.highlightedIndex)return f({},l,{inputValue:p,selectedItem:Be[l.highlightedIndex]})}}return l;default:return l}}),[M,Pe,qe,R]),Qe=n.useCombobox(f({defaultHighlightedIndex:Ee,items:Be,itemToString:E,selectedItem:null,stateReducer:$e,onInputValueChange:function(e){He({inputValue:e.inputValue}),at(M?0:1),Te(M?0:1)},onStateChange:function(e){var t=e.selectedItem;t&&Ue({clickedItem:t,onChange:le})},getA11yStatusMessage:function(e){return P(f({},e,{selectAllItemIncluded:!M,resultCount:Be.length}))}},Se)),Xe=Qe.getInputProps,Ze=Qe.getItemProps,et=Qe.getLabelProps,tt=Qe.getMenuProps,nt=Qe.getToggleButtonProps,lt=Qe.highlightedIndex,at=Qe.setHighlightedIndex,rt=Qe.inputValue,it=Qe.isOpen,ot=Qe.setInputValue,st=a.useFloating({open:it,placement:"bottom-start",middleware:[a.offset(i.space.extraSmall2),a.shift({padding:i.space.extraSmall}),a.size({apply:function(e){Object.assign(e.elements.floating.style,{width:e.rects.reference.width+"px",maxHeight:A(160,e.availableHeight,320)+"px"})}}),a.flip({fallbackStrategy:"initialPlacement"})]}),ut=st.refs,dt=st.floatingStyles,ct=st.update;t.useEffect((function(){if(it&&ut.reference.current&&ut.floating.current)return a.autoUpdate(ut.reference.current,ut.floating.current,ct)}),[it,ut.reference,ut.floating,ct]);var pt=function(){var e;le([]),ot(_),null==(e=Oe.current)||e.focus(),He({inputValue:rt})};return t.createElement(r.BaseFormControl,f({className:l("eds-dropdown","eds-dropdown--multiselect",c,{"eds-dropdown--has-tooltip":void 0!==W}),disabled:C,disableLabelAnimation:N,feedback:V,isFilled:Ke||rt!==_,label:q,labelId:et().id,labelProps:et(),labelTooltip:W,onBlur:function(){return ot("")},onClick:function(e){var t;e.target===e.currentTarget&&(null==(t=Xe())||null==t.onClick||t.onClick(e))},readOnly:ie,ref:ut.setReference,style:ce,variant:me,after:t.createElement(b,{ariaLabelChosenSingular:fe,ariaLabelSelectedItem:_e,floatingStyles:dt,getItemProps:Ze,getMenuProps:tt,highlightedIndex:lt,isOpen:it,listItems:Be,style:Y,setListRef:ut.setFloating,loading:null!=$?$:Ne,loadingText:X,noMatchesText:te,selectAllCheckboxState:ze,selectAllItem:Fe,selectedItems:se})},Se),t.createElement("div",{className:l("eds-dropdown--multiselect__selected-items-and-input",{"eds-dropdown--multiselect__selected-items-and-input--filled":Ke})},se.length>1?t.createElement(o.VisuallyHidden,{onClick:null==(d=Oe.current)?void 0:d.focus},Ie):null,se.length<=ee?se.map((function(e,n){return t.createElement(x,{ariaLabelChosen:fe,ariaLabelRemoveSelected:we,disabled:C,getSelectedItemProps:We,index:n,key:(null==e?void 0:e.label)+("string"==typeof(null==e?void 0:e.value)?e.value:""),readOnly:ie,removeSelectedItem:function(){var t;Ue({clickedItem:e,onChange:le}),null==Oe||null==(t=Oe.current)||t.focus()},selectedItem:e})})):t.createElement(x,{ariaLabelRemoveSelected:U,ariaLabelChosen:"",disabled:C,readOnly:ie,removeSelectedItem:pt,selectedItem:Me}),t.createElement("input",f({},Xe(f({onKeyDown:function(e){if(de&&it&&"Tab"===e.key){var t=Be[lt];t&&Ue({clickedItem:t,onChange:le})}}},Ye({preventKeyAction:it,value:null!=rt?rt:_,ref:e.mergeRefs(Oe,u)}),{className:"eds-dropdown__input eds-form-control",disabled:ie||C,placeholder:ae,tabIndex:C||ie?-1:void 0}))))),t.createElement(L,f({},nt({"aria-busy":(null!=$?$:Ne)?"true":void 0}),{ariaLabelCloseList:be,ariaLabelOpenList:Le,clearable:m,disabled:C||ie,onClear:pt,focusable:!1,labelClearSelected:U,isOpen:it,itemIsSelected:se.length>0,loadingText:X,loading:null!=$?$:Ne})))})),M=["ariaLabelChosenSingular","ariaLabelCloseList","ariaLabelOpenList","ariaLabelSelectedItem","className","clearable","disabled","disableLabelAnimation","feedback","items","label","labelClearSelectedItem","labelTooltip","listStyle","loading","loadingText","noMatchesText","onChange","placeholder","prepend","readOnly","selectedItem","selectOnBlur","selectOnTab","style","variant"],R=t.forwardRef((function(o,s){var u,d,c=o.ariaLabelChosenSingular,p=o.ariaLabelCloseList,m=void 0===p?"Lukk liste med valg":p,g=o.ariaLabelOpenList,h=void 0===g?"Åpne liste med valg":g,y=o.ariaLabelSelectedItem,I=o.className,x=o.clearable,C=void 0!==x&&x,_=o.disabled,S=void 0!==_&&_,k=o.disableLabelAnimation,T=o.feedback,O=o.items,P=o.label,N=o.labelClearSelectedItem,V=void 0===N?"fjern valgt":N,j=o.labelTooltip,F=o.listStyle,R=o.loading,B=o.loadingText,D=void 0===B?"Laster resultater …":B,q=o.noMatchesText,H=void 0===q?"Ingen tilgjengelige valg …":q,G=o.onChange,K=o.placeholder,U=o.prepend,z=o.readOnly,J=void 0!==z&&z,W=o.selectedItem,Y=o.selectOnBlur,$=void 0!==Y&&Y,Q=o.selectOnTab,X=void 0!==Q&&Q,Z=o.style,ee=o.variant,te=void 0===ee?"information":ee,ne=v(o,M),le=w(O),ae=le.items,re=le.loading,ie=null!==W||void 0!==K,oe=n.useSelect({items:ae,defaultHighlightedIndex:W?void 0:0,selectedItem:W,onStateChange:function(e){var t=e.selectedItem;(e.type!==n.useSelect.stateChangeTypes.ToggleButtonBlur||$)&&void 0!==t&&(null==G||G(null!=t?t:null))},itemToString:E}),se=oe.isOpen,ue=oe.getItemProps,de=oe.getLabelProps,ce=oe.getMenuProps,pe=oe.getToggleButtonProps,me=oe.highlightedIndex,fe=a.useFloating({open:se,placement:"bottom-start",middleware:[a.offset(i.space.extraSmall2),a.shift({padding:i.space.extraSmall}),a.size({apply:function(e){Object.assign(e.elements.floating.style,{width:e.rects.reference.width+"px",maxHeight:A(160,e.availableHeight,320)+"px"})}}),a.flip({fallbackStrategy:"initialPlacement"})]}),ve=fe.refs,ge=fe.floatingStyles,he=fe.update;return t.useEffect((function(){if(se&&ve.reference.current&&ve.floating.current)return a.autoUpdate(ve.reference.current,ve.floating.current,he)}),[se,ve.reference,ve.floating,he]),t.createElement(r.BaseFormControl,f({className:l("eds-dropdown",I,{"eds-dropdown--has-tooltip":void 0!==j}),disableLabelAnimation:k,feedback:T,isFilled:ie,labelProps:de(),labelTooltip:j,prepend:U,style:Z,variant:te},pe({ref:e.mergeRefs(s,ve.setReference),"aria-disabled":S,"aria-label":S?"Disabled dropdown":"",disabled:S,readOnly:J,label:P,labelId:null==(u=de())?void 0:u.id,children:void 0,tabIndex:S||J?-1:0,onKeyDown:function(e){se&&(X||$)&&"Tab"===e.key&&void 0!==me&&(null==G||G(ae[me]))}}),{after:t.createElement(b,{ariaLabelChosenSingular:c,ariaLabelSelectedItem:y,floatingStyles:ge,getItemProps:ue,getMenuProps:ce,highlightedIndex:me,isOpen:se,listItems:ae,noMatchesText:H,style:F,setListRef:ve.setFloating,loading:null!=R?R:re,loadingText:D,selectedItems:null!==W?[W]:[]})},ne,{append:void 0}),t.createElement("div",{className:"eds-dropdown__selected-item"},null!=(d=null==W?void 0:W.label)?d:t.createElement("div",{className:l("eds-dropdown__selected-item__placeholder",{"eds-dropdown__selected-item__placeholder--readonly":J})},K)),t.createElement(L,{"aria-busy":(null!=R?R:re)?"true":void 0,"aria-expanded":se,clearable:C,onClear:function(){return null==G?void 0:G(null)},disabled:S||J,focusable:!1,labelClearSelected:V,isOpen:se,itemIsSelected:null!==W,ariaLabelCloseList:m,ariaLabelOpenList:h,loading:!1,loadingText:void 0}))})),B=["className","disabled","disableLabelAnimation","feedback","items","label","loadingText","onChange","prepend","readOnly","selectedItem","style","value","variant"],D=t.forwardRef((function(n,l){var a,i=n.className,o=n.disabled,s=void 0!==o&&o,u=n.disableLabelAnimation,d=n.feedback,c=n.items,p=n.label,m=n.loadingText,g=n.onChange,h=n.prepend,b=n.readOnly,y=void 0!==b&&b,I=n.selectedItem,x=n.style,L=n.value,C=n.variant,_=v(n,B),S=w(c),k=S.items,E=S.loading,T=e.useRandomId("eds-dropdown-native");return t.createElement(r.BaseFormControl,{disabled:s,readOnly:y,prepend:h,append:t.createElement(q,{hidden:s||y,loading:E,loadingText:m}),className:i,style:x,label:p,labelId:T,variant:C,feedback:d,disableLabelAnimation:u,isFilled:!0},t.createElement("select",f({"aria-invalid":"negative"===C||"error"===C,"aria-labelledby":T,"aria-busy":E,className:"eds-form-control eds-dropdown--native",disabled:s||y,onChange:function(e){var t;null==g||g({value:e.target.value,selectedItem:null!=(t=k.find((function(t){return t.value===e.target.value})))?t:null,target:e.target})},value:null!=(a=null!=L?L:null==I?void 0:I.value)?a:void 0,ref:l},_),k.map((function(e){return t.createElement("option",{key:e.value,value:e.value},e.label)}))))})),q=function(e){var n=e.hidden;return e.loading?t.createElement("div",{className:"eds-dropdown-native__loading-dots"},t.createElement(c.LoadingDots,{"aria-label":e.loadingText})):n?t.createElement(t.Fragment,null):t.createElement(d.DownArrowIcon,{inline:!0})};e.warnAboutMissingStyles("dropdown","form","a11y","chip"),exports.Dropdown=R,exports.MultiSelect=F,exports.NativeDropdown=D,exports.SearchableDropdown=V;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@entur/utils"),t=require("react"),n=require("downshift"),l=require("classnames"),a=require("@floating-ui/react-dom"),r=require("@entur/form"),i=require("@entur/tokens"),o=require("@entur/a11y"),s=require("@entur/button"),u=require("@entur/chip"),d=require("@entur/icons"),c=require("@entur/loader"),p=require("@entur/tooltip");function m(e,t,n,l,a,r,i){try{var o=e[r](i),s=o.value}catch(e){return void n(e)}o.done?t(s):Promise.resolve(s).then(l,a)}function f(){return f=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var l in n)({}).hasOwnProperty.call(n,l)&&(e[l]=n[l])}return e},f.apply(null,arguments)}function v(e,t){if(null==e)return{};var n={};for(var l in e)if({}.hasOwnProperty.call(e,l)){if(t.includes(l))continue;n[l]=e[l]}return n}function g(){g=function(){return t};var e,t={},n=Object.prototype,l=n.hasOwnProperty,a=Object.defineProperty||function(e,t,n){e[t]=n.value},r="function"==typeof Symbol?Symbol:{},i=r.iterator||"@@iterator",o=r.asyncIterator||"@@asyncIterator",s=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 d(e,t,n,l){var r=Object.create((t&&t.prototype instanceof b?t:b).prototype),i=new A(l||[]);return a(r,"_invoke",{value:k(e,n,i)}),r}function c(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}t.wrap=d;var p="suspendedStart",m="suspendedYield",f="executing",v="completed",h={};function b(){}function y(){}function I(){}var x={};u(x,i,(function(){return this}));var L=Object.getPrototypeOf,C=L&&L(L(P([])));C&&C!==n&&l.call(C,i)&&(x=C);var w=I.prototype=b.prototype=Object.create(x);function _(e){["next","throw","return"].forEach((function(t){u(e,t,(function(e){return this._invoke(t,e)}))}))}function S(e,t){function n(a,r,i,o){var s=c(e[a],e,r);if("throw"!==s.type){var u=s.arg,d=u.value;return d&&"object"==typeof d&&l.call(d,"__await")?t.resolve(d.__await).then((function(e){n("next",e,i,o)}),(function(e){n("throw",e,i,o)})):t.resolve(d).then((function(e){u.value=e,i(u)}),(function(e){return n("throw",e,i,o)}))}o(s.arg)}var r;a(this,"_invoke",{value:function(e,l){function a(){return new t((function(t,a){n(e,l,t,a)}))}return r=r?r.then(a,a):a()}})}function k(t,n,l){var a=p;return function(r,i){if(a===f)throw Error("Generator is already running");if(a===v){if("throw"===r)throw i;return{value:e,done:!0}}for(l.method=r,l.arg=i;;){var o=l.delegate;if(o){var s=E(o,l);if(s){if(s===h)continue;return s}}if("next"===l.method)l.sent=l._sent=l.arg;else if("throw"===l.method){if(a===p)throw a=v,l.arg;l.dispatchException(l.arg)}else"return"===l.method&&l.abrupt("return",l.arg);a=f;var u=c(t,n,l);if("normal"===u.type){if(a=l.done?v:m,u.arg===h)continue;return{value:u.arg,done:l.done}}"throw"===u.type&&(a=v,l.method="throw",l.arg=u.arg)}}}function E(t,n){var l=n.method,a=t.iterator[l];if(a===e)return n.delegate=null,"throw"===l&&t.iterator.return&&(n.method="return",n.arg=e,E(t,n),"throw"===n.method)||"return"!==l&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+l+"' method")),h;var r=c(a,t.iterator,n.arg);if("throw"===r.type)return n.method="throw",n.arg=r.arg,n.delegate=null,h;var i=r.arg;return i?i.done?(n[t.resultName]=i.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=e),n.delegate=null,h):i:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,h)}function T(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 O(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function A(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(T,this),this.reset(!0)}function P(t){if(t||""===t){var n=t[i];if(n)return n.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var a=-1,r=function n(){for(;++a<t.length;)if(l.call(t,a))return n.value=t[a],n.done=!1,n;return n.value=e,n.done=!0,n};return r.next=r}}throw new TypeError(typeof t+" is not iterable")}return y.prototype=I,a(w,"constructor",{value:I,configurable:!0}),a(I,"constructor",{value:y,configurable:!0}),y.displayName=u(I,s,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===y||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,I):(e.__proto__=I,u(e,s,"GeneratorFunction")),e.prototype=Object.create(w),e},t.awrap=function(e){return{__await:e}},_(S.prototype),u(S.prototype,o,(function(){return this})),t.AsyncIterator=S,t.async=function(e,n,l,a,r){void 0===r&&(r=Promise);var i=new S(d(e,n,l,a),r);return t.isGeneratorFunction(n)?i:i.next().then((function(e){return e.done?e.value:i.next()}))},_(w),u(w,s,"Generator"),u(w,i,(function(){return this})),u(w,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),n=[];for(var l in t)n.push(l);return n.reverse(),function e(){for(;n.length;){var l=n.pop();if(l in t)return e.value=l,e.done=!1,e}return e.done=!0,e}},t.values=P,A.prototype={constructor:A,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(O),!t)for(var n in this)"t"===n.charAt(0)&&l.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var n=this;function a(l,a){return o.type="throw",o.arg=t,n.next=l,a&&(n.method="next",n.arg=e),!!a}for(var r=this.tryEntries.length-1;r>=0;--r){var i=this.tryEntries[r],o=i.completion;if("root"===i.tryLoc)return a("end");if(i.tryLoc<=this.prev){var s=l.call(i,"catchLoc"),u=l.call(i,"finallyLoc");if(s&&u){if(this.prev<i.catchLoc)return a(i.catchLoc,!0);if(this.prev<i.finallyLoc)return a(i.finallyLoc)}else if(s){if(this.prev<i.catchLoc)return a(i.catchLoc,!0)}else{if(!u)throw Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return a(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var a=this.tryEntries[n];if(a.tryLoc<=this.prev&&l.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var r=a;break}}r&&("break"===e||"continue"===e)&&r.tryLoc<=t&&t<=r.finallyLoc&&(r=null);var i=r?r.completion:{};return i.type=e,i.arg=t,r?(this.method="next",this.next=r.finallyLoc,h):this.complete(i)},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),O(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 l=n.completion;if("throw"===l.type){var a=l.arg;O(n)}return a}}throw Error("illegal catch attempt")},delegateYield:function(t,n,l){return this.delegate={iterator:P(t),resultName:n,nextLoc:l},"next"===this.method&&(this.arg=e),h}},t}var h=["ariaLabelChosenSingular","ariaLabelSelectedItem","getItemProps","getMenuProps","isOpen","highlightedIndex","listItems","floatingStyles","setListRef","loading","loadingText","noMatchesText","selectAllCheckboxState","selectAllItem","selectedItems"],b=function(e){var n,a=e.ariaLabelChosenSingular,i=void 0===a?"valgt":a,s=e.ariaLabelSelectedItem,u=void 0===s?", valgt element, trykk for å fjerne":s,d=e.getItemProps,c=e.getMenuProps,p=e.isOpen,m=e.highlightedIndex,g=e.listItems,b=e.floatingStyles,y=e.setListRef,I=e.loading,x=void 0!==I&&I,L=e.loadingText,C=void 0===L?"Laster inn …":L,w=e.noMatchesText,_=void 0===w?"Ingen treff for søket":w,S=e.selectAllCheckboxState,k=e.selectAllItem,E=e.selectedItems,T=v(e,h),O=void 0!==k,A=!x&&(0===g.length||1===(null==g?void 0:g.length)&&(null==g||null==(n=g[0])?void 0:n.value)===(null==k?void 0:k.value)),P=function(e){return E.some((function(t){return(null==t?void 0:t.value)===(null==e?void 0:e.value)&&(null==t?void 0:t.label)===(null==e?void 0:e.label)}))},N=function(){switch(null==S?void 0:S()){case"indeterminate":return{label:(null==k?void 0:k.label)+", delvis valgt",selected:!1};case!0:return{label:(null==k?void 0:k.label)+", "+i,selected:!0};default:return{label:""+(null==k?void 0:k.label),selected:!1}}};return t.createElement("ul",f({},c({"aria-multiselectable":O,ref:y,className:"eds-dropdown__list",style:f({},b,{display:p?void 0:"none"},T.style)})),p?x?t.createElement("li",{key:"dropdown-list-loading",className:"eds-dropdown__list__item"},C):A?t.createElement("li",{key:"dropdown-list-no-match",className:"eds-dropdown__list__item"},_):g.map((function(e,n){var a,i,s=e.value===(null==k?void 0:k.value);return s&&g.length<=2?null:t.createElement("li",f({className:l("eds-dropdown__list__item",{"eds-dropdown__list__item--select-all":s,"eds-dropdown__list__item--highlighted":m===n,"eds-dropdown__list__item--selected":!O&&P(e)}),key:(null==e?void 0:e.label)+(null==e?void 0:e.value)+(null!=(a=null==e||null==(i=e.icons)?void 0:i.map((function(e){var t;return null!=(t=e.displayName)?t:e.name})))?a:"").toString()},d({item:e,index:n,"aria-selected":s?N().selected:P(e)})),s?t.createElement(t.Fragment,null,t.createElement(r.Checkbox,{"aria-hidden":"true",checked:null==S?void 0:S(),className:"eds-dropdown__list__item__checkbox",tabIndex:-1,readOnly:!0}),t.createElement("span",{className:"eds-dropdown__list__item__text","aria-label":N().label},null==k?void 0:k.label)):function(e){return t.createElement(t.Fragment,null,O&&t.createElement(r.Checkbox,{"aria-hidden":"true",checked:P(e),className:"eds-dropdown__list__item__checkbox",tabIndex:-1,readOnly:!0}),t.createElement("span",{className:"eds-dropdown__list__item__text"},e.label,t.createElement(o.VisuallyHidden,null,P(e)?u:"")),e.icons&&t.createElement("span",null,e.icons.map((function(n){var l;return t.createElement(n,{key:(null==e?void 0:e.label)+(null==e?void 0:e.value)+(null!=(l=null==n?void 0:n.displayName)?l:null==n?void 0:n.name),inline:!0,className:"eds-dropdown__list__item__icon"})}))))}(e))})):null)},y=["tabIndex"],I=["ariaLabelCloseList","ariaLabelOpenList","clearable","labelClearSelected","focusable","disabled","isOpen","loading","loadingText","onClear","itemIsSelected"],x=function(e){var n,a=e.ariaLabelRemoveSelected,r=e.ariaLabelChosen,i=void 0===r?"valgt":r,o=e.disabled,s=e.getSelectedItemProps,d=e.readOnly,c=e.removeSelectedItem,p=e.selectedItem,m=v(null!=(n=null==s?void 0:s({selectedItem:p,index:e.index}))?n:{},y);return t.createElement(u.TagChip,f({size:"small",className:l("eds-dropdown__selected-item-tag",{"eds-dropdown__selected-item-tag--readonly":d,"eds-dropdown__selected-item-tag--disabled":o})},m,{onClose:function(e){e.stopPropagation(),c(p)},onClick:function(e){return e.stopPropagation()},closeButtonAriaLabel:p.label+" "+i+", "+a+" ",key:p.value,"aria-live":"polite"}),t.createElement("span",{"aria-hidden":"true",className:"eds-dropdown__selected-item-tag__text"},p.label))},L=t.forwardRef((function(e,n){var a=e.ariaLabelCloseList,r=e.ariaLabelOpenList,i=e.clearable,o=void 0!==i&&i,u=e.labelClearSelected,p=e.focusable,m=void 0!==p&&p,g=e.disabled,h=e.isOpen,b=e.loading,y=void 0!==b&&b,x=e.loadingText,L=e.onClear,w=e.itemIsSelected,_=v(e,I);return t.createElement(t.Fragment,null,!g&&t.createElement("div",{className:"eds-dropdown__appendix"},o&&w&&t.createElement(C,{onClear:L,focusable:!0,labelClearSelectedItems:u}),t.createElement(s.IconButton,f({className:l("eds-dropdown__appendix__toggle-button",{"eds-dropdown__appendix__toggle-button--open":h}),ref:n,"aria-label":y?x:h?a:r},_,{type:"button",tabIndex:m?0:-1}),t.createElement(y?c.LoadingDots:d.DownArrowIcon,{"aria-hidden":"true"}))))})),C=function(e){var n=e.onClear,l=e.labelClearSelectedItems,a=void 0===l?"Fjern valgte":l,r=e.focusable;return t.createElement(t.Fragment,null,t.createElement(p.Tooltip,{"aria-hidden":"true",placement:"top",content:a,className:"eds-dropdown__appendix__clear-button__tooltip"},t.createElement(s.IconButton,{className:"eds-dropdown__appendix__clear-button",type:"button",tabIndex:void 0!==r&&r?0:-1,onClick:function(e){e.stopPropagation(),n()},"aria-label":a},t.createElement(d.CloseSmallIcon,{"aria-hidden":"true"}))),t.createElement("div",{className:"eds-dropdown__appendix__divider"}))},w=function(n,l){void 0===l&&(l=250);var a="function"==typeof n,r=t.useState(a?[]:n),i=r[0],o=r[1],s=t.useState(!1),u=s[0],d=s[1],c=t.useRef(new AbortController),p=t.useMemo((function(){return a?n:function(){return Promise.resolve(n)}}),[n,a]),v=function(){var e,t=(e=g().mark((function e(t){var n,l,a,r;return g().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return null!=c&&c.current&&(null==c||null==(n=c.current)||n.abort()),l=new AbortController,c.current=l,d(!0),e.prev=4,e.next=7,p(null!=t?t:"",c);case 7:if(r=e.sent,null==c||null==(a=c.current)||null==(a=a.signal)||!a.aborted){e.next=11;break}return console.warn("Avbryt den asynkrone funksjonen din med signalet fra AbortController-en for å for å unngå minnelekkasje.",'Funksjonen bør kaste en DOMException med navnet "AbortError" når den avbrytes.',"","\n\nSe eksempel her: https://linje.entur.no/komponenter/skjemaelementer/dropdown#s%C3%B8kbar-dropdown-med-valg-fra-nettverkskall-bassert-p%C3%A5-tekstinput","\nLes mer om AbortController her: https://developer.mozilla.org/en-US/docs/Web/API/AbortController"),e.abrupt("return");case 11:d(!1),o(r),e.next=21;break;case 15:if(e.prev=15,e.t0=e.catch(4),!e.t0||"object"!=typeof e.t0||!("name"in e.t0)||"AbortError"!==e.t0.name){e.next=19;break}return e.abrupt("return");case 19:throw console.warn("The following error was received but not handled inside Entur Designsystems useResolvedItems hook:"),e.t0;case 21:case"end":return e.stop()}}),e,null,[[4,15]])})),function(){var t=this,n=arguments;return new Promise((function(l,a){var r=e.apply(t,n);function i(e){m(r,l,a,i,o,"next",e)}function o(e){m(r,l,a,i,o,"throw",e)}i(void 0)}))});return function(e){return t.apply(this,arguments)}}(),h=e.useDebounce(v,l),b=function(e){return t.useMemo((function(){return e.map((function(e){return"string"==typeof e?{value:e,label:e}:f({},e,void 0===(null==e?void 0:e.value)?{value:e.label}:{value:e.value})}))}),[e])}(i);return t.useEffect((function(){return function(){var e;return null==c||null==(e=c.current)?void 0:e.abort("Component unmounted")}}),[]),t.useEffect((function(){a&&h("")}),[a,p]),{items:b,loading:!!a&&u,fetchItems:h}},_="";function S(e,t){if(!t)return!0;var n=t.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&");return new RegExp(n,"i").test(e.label)}function k(e,t){return!0}var E=function(e){return e?e.label:""},T=function(e){return(null==e?void 0:e.label)+(null==e?void 0:e.value)},O=function(e){return"function"==typeof e&&e.length>0},A=function(e,t,n){return void 0===t&&(t=1),void 0===n&&(n=10),Math.min(Math.max(e,t),n)};function P(e){var t=e.selectAllItemIncluded,n=e.resultCount;if(!e.isOpen)return"";var l=void 0!==t&&t?n-1:n;return 0===l?"Ingen resultater":l+" resultat"+(1===l?"":"er")+" tilgjengelig, naviger med pil opp eller ned, velg elementer med Enter."}var N=["ariaLabelChosenSingular","ariaLabelCloseList","ariaLabelOpenList","ariaLabelSelectedItem","className","clearable","debounceTimeout","disabled","disableLabelAnimation","feedback","items","itemFilter","label","labelClearSelectedItem","labelTooltip","listStyle","loading","loadingText","noMatchesText","onChange","placeholder","prepend","readOnly","selectedItem","selectOnBlur","selectOnTab","style","variant"],V=t.forwardRef((function(o,s){var u,d,c,p=o.ariaLabelChosenSingular,m=o.ariaLabelCloseList,g=void 0===m?"Lukk liste med valg":m,h=o.ariaLabelOpenList,y=void 0===h?"Åpne liste med valg":h,I=o.ariaLabelSelectedItem,x=o.className,C=o.clearable,T=void 0===C||C,V=o.debounceTimeout,j=o.disabled,F=void 0!==j&&j,M=o.disableLabelAnimation,R=void 0!==M&&M,B=o.feedback,D=o.items,q=o.itemFilter,H=void 0===q?O(D)?k:S:q,G=o.label,K=o.labelClearSelectedItem,U=void 0===K?"fjern valgt":K,z=o.labelTooltip,J=o.listStyle,W=o.loading,Y=o.loadingText,$=void 0===Y?"Laster resultater …":Y,Q=o.noMatchesText,X=void 0===Q?"Ingen tilgjengelige valg …":Q,Z=o.onChange,ee=void 0===Z?function(){}:Z,te=o.placeholder,ne=o.prepend,le=o.readOnly,ae=void 0!==le&&le,re=o.selectedItem,ie=o.selectOnBlur,oe=void 0!==ie&&ie,se=o.selectOnTab,ue=void 0!==se&&se,de=o.style,ce=o.variant,pe=void 0===ce?"info":ce,me=v(o,N),fe=t.useState(null!==re),ve=fe[0],ge=fe[1],he=t.useState(0),be=he[0],ye=he[1],Ie=t.useRef(null),xe=w(D,V),Le=xe.items,Ce=xe.loading,we=xe.fetchItems,_e=t.useState(Le),Se=_e[0],ke=_e[1],Ee=function(e){var t=e.inputValue;return ke(Le.filter((function(e){return H(e,t)})))},Te=function(e){var t=e.inputValue;O(D)&&we(null!=t?t:_),Ee({inputValue:null!=t?t:_})},Oe=function(e){var t=e.changes;return Te({inputValue:_}),f({},t,{inputValue:_})},Ae="undefined"!=typeof document&&(null==Ie?void 0:Ie.current)===(null==(u=document)?void 0:u.activeElement);t.useEffect((function(){Ee({inputValue:Ge})}),[Le]),t.useEffect((function(){null===He||Ae||(ge(!0),Te({inputValue:_}),Ke(_))}),[]);var Pe=t.useCallback((function(e,t){var l=t.type,a=t.changes;switch(void 0!==a.highlightedIndex&&(null==a?void 0:a.highlightedIndex)>=0&&ye(null==a?void 0:a.highlightedIndex),l){case n.useCombobox.stateChangeTypes.ItemClick:case n.useCombobox.stateChangeTypes.InputKeyDownEnter:case n.useCombobox.stateChangeTypes.InputBlur:return Oe({changes:a});case n.useCombobox.stateChangeTypes.ControlledPropUpdatedSelectedItem:return null===a.selectedItem||Ae||ge(!0),Oe({changes:a});case n.useCombobox.stateChangeTypes.InputChange:var r,i=/^\s+/g,o=" "===a.inputValue;if(o||ye(0),null!=(r=a.inputValue)&&r.match(i)){var s=a.inputValue.replace(i,_);if(o){if(!e.isOpen)return f({},a,{inputValue:s,isOpen:!0});if(void 0!==a.highlightedIndex)return f({},a,{inputValue:s,selectedItem:Se[a.highlightedIndex]})}}return f({},a,{highlightedIndex:0});default:return a}}),[we,Ee,Ae,Oe]),Ne=n.useCombobox({defaultHighlightedIndex:be,items:Se,itemToString:E,selectedItem:re,stateReducer:Pe,onInputValueChange:function(e){Te({inputValue:e.inputValue})},onStateChange:function(e){var t=e.selectedItem;void 0!==t&&ee(t)},getA11yStatusMessage:function(e){return P(f({},e,{resultCount:Se.length}))}}),Ve=Ne.closeMenu,je=Ne.isOpen,Fe=Ne.getToggleButtonProps,Me=Ne.getLabelProps,Re=Ne.getMenuProps,Be=Ne.getInputProps,De=Ne.highlightedIndex,qe=Ne.getItemProps,He=Ne.selectedItem,Ge=Ne.inputValue,Ke=Ne.setInputValue,Ue=a.useFloating({open:je,placement:"bottom-start",middleware:[a.offset(i.space.extraSmall2),a.shift({padding:i.space.extraSmall}),a.size({apply:function(e){Object.assign(e.elements.floating.style,{width:e.rects.reference.width+"px",maxHeight:A(160,e.availableHeight,320)+"px"})}}),a.flip({fallbackStrategy:"initialPlacement"})]}),ze=Ue.refs,Je=Ue.floatingStyles,We=Ue.update;return t.useEffect((function(){if(je&&ze.reference.current&&ze.floating.current)return a.autoUpdate(ze.reference.current,ze.floating.current,We)}),[je,ze.reference,ze.floating,We]),t.createElement(r.BaseFormControl,f({className:l("eds-dropdown","eds-dropdown--searchable",x,{"eds-dropdown--has-tooltip":void 0!==z}),disabled:F,disableLabelAnimation:R,feedback:B,isFilled:null!==He||Ge!==_,label:G,labelId:Me().id,labelProps:Me(),labelTooltip:z,onBlur:function(){return Ke("")},onClick:function(e){var t;e.target===e.currentTarget&&(null==(t=Be())||null==t.onClick||t.onClick(e))},prepend:ne,readOnly:ae,ref:ze.setReference,style:de,tabIndex:F||ae?-1:void 0,variant:pe,after:t.createElement(b,{ariaLabelChosenSingular:p,ariaLabelSelectedItem:I,floatingStyles:Je,getItemProps:qe,getMenuProps:Re,highlightedIndex:De,isOpen:je,listItems:Se,style:J,setListRef:ze.setFloating,loading:null!=W?W:Ce,loadingText:$,noMatchesText:X,selectedItems:null!==He?[He]:[]})},me,{append:void 0}),t.createElement("span",{className:l("eds-dropdown--searchable__selected-item",{"eds-dropdown--searchable__selected-item--hidden":!ve}),"aria-hidden":"true",onClick:null==(d=Be())?void 0:d.onClick},ve?null==He?void 0:He.label:""),t.createElement("input",f({className:l("eds-dropdown__input eds-form-control",{"eds-dropdown__input--hidden":ve})},Be({onKeyDown:function(e){if(je&&"Tab"===e.key){var t=Se[De];(ue||oe)&&t&&t!==He&&(null==ee||ee(t)),Ve(),e.preventDefault()}},onBlur:function(){null!==He&&ge(!0)},onFocus:function(){ge(!1)},disabled:F,readOnly:ae,placeholder:null!=(c=null==He?void 0:He.label)?c:te,tabIndex:F||ae?-1:void 0,ref:e.mergeRefs(Ie,s)}))),t.createElement(L,f({},Fe({"aria-busy":(null!=W?W:Ce)?"true":void 0}),{ariaLabelCloseList:g,ariaLabelOpenList:y,clearable:T,disabled:F||ae,onClear:function(){var e;ee(null),Ke(_),null==(e=Ie.current)||e.focus(),Te({inputValue:Ge}),ge(!1)},focusable:!1,labelClearSelected:U,isOpen:je,itemIsSelected:null!==He,loadingText:$,loading:null!=W?W:Ce})))})),j=["className","clearable","clearInputOnSelect","debounceTimeout","disabled","disableLabelAnimation","feedback","hideSelectAll","items","itemFilter","label","labelAllItemsSelected","labelClearAllItems","labelSelectAll","labelTooltip","listStyle","loading","loadingText","maxChips","noMatchesText","onChange","placeholder","readOnly","selectedItems","selectOnBlur","selectOnTab","style","variant","ariaLabelChosenSingular","ariaLabelChosenPlural","ariaLabelCloseList","ariaLabelJumpToInput","ariaLabelOpenList","ariaLabelRemoveSelected","ariaLabelSelectedItem"],F=t.forwardRef((function(s,u){var d,c=s.className,p=s.clearable,m=void 0===p||p,g=s.clearInputOnSelect,h=void 0!==g&&g,y=s.debounceTimeout,I=s.disabled,C=void 0!==I&&I,N=s.disableLabelAnimation,V=s.feedback,F=s.hideSelectAll,M=void 0!==F&&F,R=s.items,B=s.itemFilter,D=void 0===B?O(R)?k:S:B,q=s.label,H=s.labelAllItemsSelected,G=void 0===H?"Alle valgt":H,K=s.labelClearAllItems,U=void 0===K?"Fjern valgte":K,z=s.labelSelectAll,J=void 0===z?"Velg alle":z,W=s.labelTooltip,Y=s.listStyle,$=s.loading,Q=s.loadingText,X=void 0===Q?"Laster resultater …":Q,Z=s.maxChips,ee=void 0===Z?10:Z,te=s.noMatchesText,ne=s.onChange,le=void 0===ne?function(){}:ne,ae=s.placeholder,re=s.readOnly,ie=void 0!==re&&re,oe=s.selectedItems,se=void 0===oe?[]:oe,ue=s.selectOnTab,de=void 0!==ue&&ue,ce=s.style,pe=s.variant,me=void 0===pe?"information":pe,fe=s.ariaLabelChosenSingular,ve=s.ariaLabelChosenPlural,ge=void 0===ve?"valgte":ve,he=s.ariaLabelCloseList,be=void 0===he?"Lukk liste med valg":he,ye=s.ariaLabelJumpToInput,Ie=void 0===ye?se.length+" valgte elementer, trykk for å hoppe til tekstfeltet":ye,xe=s.ariaLabelOpenList,Le=void 0===xe?"Åpne liste med valg":xe,Ce=s.ariaLabelRemoveSelected,we=void 0===Ce?"trykk for å fjerne valg":Ce,_e=s.ariaLabelSelectedItem,Se=v(s,j),ke=t.useState(0),Ee=ke[0],Te=ke[1],Oe=t.useRef(null);t.useEffect((function(){void 0!==Se.selectedItem&&console.warn("Incorrect 'selectedItem' prop found, did you mean to use 'selectedItems?")}),[Se.selectedItem]);var Ae=w(R,y),Pe=Ae.items,Ne=Ae.loading,Ve=Ae.fetchItems,je="function"!=typeof R&&se.length===Pe.length,Fe={value:e.useRandomId("select-all"),label:J},Me=t.useMemo((function(){return{value:_,label:je?G:se.length+" "+ge}}),[je,se,G,ge]),Re=t.useState([].concat(M?[]:[Fe],Pe)),Be=Re[0],De=Re[1],qe=function(e){var t=e.inputValue;return De([].concat(M?[]:[Fe],Pe.filter((function(e){return D(e,t)}))))},He=function(e){var t=e.inputValue;O(R)&&Ve(null!=t?t:_),qe({inputValue:null!=t?t:_})};t.useEffect((function(){qe({inputValue:rt})}),[Pe]);var Ge=function(e){var t=e.selectedItems,n=e.selectAll,l=t.length>0,a=e.listItems.filter((function(e){return e.value!==n.value})),r=a.filter((function(e){return!t.some((function(t){return t.value===e.value}))})),i=!a.some((function(e){return!t.some((function(t){return t.value===e.value}))})),o=a.some((function(e){return t.some((function(t){return t.value===e.value}))})),s=function(e,n){return n([].concat(t,[e]))},u=function(e){return t.some((function(t){return t.value===e.value}))},d=function(e){return e.value===n.value},c=function(e,n){return n(t.filter((function(t){return t.value!==e.value})))},p=function(e){e([].concat(t,r))},m=function(e){e(t.filter((function(e){return!a.some((function(t){return t.value===e.value}))})))};return{addClickedItemToSelectedItems:s,allListItemsAreSelected:i,clickedItemIsInSelectedItems:u,clickedItemIsSelectAll:d,handleListItemClicked:function(e){var t=e.clickedItem,n=e.onChange;return d(t)?i?m(n):p(n):u(t)?c(t,n):void s(t,n)},hasSelectedItems:l,listItemsWithoutSelectAll:a,removeClickedItemFromSelectedItems:c,selectAllCheckboxState:function(){return!!i||!!o&&"indeterminate"},selectAllUnselectedItemsInListItems:p,someListItemsAreSelected:o,unselectAllListItems:m}}({listItems:Be,selectAll:Fe,selectedItems:se}),Ke=Ge.hasSelectedItems,Ue=Ge.handleListItemClicked,ze=Ge.selectAllCheckboxState,Je=n.useMultipleSelection({selectedItems:se,itemToString:E,itemToKey:T,onStateChange:function(e){var t=e.selectedItems;void 0!==t&&le(t)}}),We=Je.getSelectedItemProps,Ye=Je.getDropdownProps,$e=t.useCallback((function(e,t){var l,a=t.changes,r=t.type;switch(void 0!==a.highlightedIndex&&(null==a?void 0:a.highlightedIndex)>=0&&Te(null==a?void 0:a.highlightedIndex),r){case n.useCombobox.stateChangeTypes.InputBlur:return e.isOpen&&(null==(l=Oe.current)||l.focus()),f({},a,{inputValue:_});case n.useCombobox.stateChangeTypes.InputKeyDownEnter:case n.useCombobox.stateChangeTypes.ItemClick:var i,o;return f({},a,{isOpen:!0,inputValue:h?_:null!=(i=null==Oe||null==(o=Oe.current)?void 0:o.value)?i:_});case n.useCombobox.stateChangeTypes.ControlledPropUpdatedSelectedItem:var s,u;return f({},a,{inputValue:null!=(s=null==Oe||null==(u=Oe.current)?void 0:u.value)?s:_});case n.useCombobox.stateChangeTypes.InputChange:var d,c=/^\s+/g,p=" "===a.inputValue;if(null!=(d=a.inputValue)&&d.match(c)){var m=a.inputValue.replace(c,_);if(p){if(!e.isOpen)return f({},a,{inputValue:m,isOpen:!0});if(void 0!==a.highlightedIndex)return f({},a,{inputValue:m,selectedItem:Be[a.highlightedIndex]})}}return a;default:return a}}),[M,Pe,qe,R]),Qe=n.useCombobox(f({defaultHighlightedIndex:Ee,items:Be,itemToString:E,selectedItem:null,stateReducer:$e,onInputValueChange:function(e){He({inputValue:e.inputValue}),at(M?0:1),Te(M?0:1)},onStateChange:function(e){var t=e.selectedItem;t&&Ue({clickedItem:t,onChange:le})},getA11yStatusMessage:function(e){return P(f({},e,{selectAllItemIncluded:!M,resultCount:Be.length}))}},Se)),Xe=Qe.getInputProps,Ze=Qe.getItemProps,et=Qe.getLabelProps,tt=Qe.getMenuProps,nt=Qe.getToggleButtonProps,lt=Qe.highlightedIndex,at=Qe.setHighlightedIndex,rt=Qe.inputValue,it=Qe.isOpen,ot=Qe.setInputValue,st=a.useFloating({open:it,placement:"bottom-start",middleware:[a.offset(i.space.extraSmall2),a.shift({padding:i.space.extraSmall}),a.size({apply:function(e){Object.assign(e.elements.floating.style,{width:e.rects.reference.width+"px",maxHeight:A(160,e.availableHeight,320)+"px"})}}),a.flip({fallbackStrategy:"initialPlacement"})]}),ut=st.refs,dt=st.floatingStyles,ct=st.update;t.useEffect((function(){if(it&&ut.reference.current&&ut.floating.current)return a.autoUpdate(ut.reference.current,ut.floating.current,ct)}),[it,ut.reference,ut.floating,ct]);var pt=function(){var e;le([]),ot(_),null==(e=Oe.current)||e.focus(),He({inputValue:rt})};return t.createElement(r.BaseFormControl,f({className:l("eds-dropdown","eds-dropdown--multiselect",c,{"eds-dropdown--has-tooltip":void 0!==W}),disabled:C,disableLabelAnimation:N,feedback:V,isFilled:Ke||rt!==_,label:q,labelId:et().id,labelProps:et(),labelTooltip:W,onBlur:function(){return ot("")},onClick:function(e){var t;e.target===e.currentTarget&&(null==(t=Xe())||null==t.onClick||t.onClick(e))},readOnly:ie,ref:ut.setReference,style:ce,variant:me,after:t.createElement(b,{ariaLabelChosenSingular:fe,ariaLabelSelectedItem:_e,floatingStyles:dt,getItemProps:Ze,getMenuProps:tt,highlightedIndex:lt,isOpen:it,listItems:Be,style:Y,setListRef:ut.setFloating,loading:null!=$?$:Ne,loadingText:X,noMatchesText:te,selectAllCheckboxState:ze,selectAllItem:Fe,selectedItems:se})},Se),t.createElement("div",{className:l("eds-dropdown--multiselect__selected-items-and-input",{"eds-dropdown--multiselect__selected-items-and-input--filled":Ke})},se.length>1?t.createElement(o.VisuallyHidden,{onClick:null==(d=Oe.current)?void 0:d.focus},Ie):null,se.length<=ee?se.map((function(e,n){return t.createElement(x,{ariaLabelChosen:fe,ariaLabelRemoveSelected:we,disabled:C,getSelectedItemProps:We,index:n,key:(null==e?void 0:e.label)+("string"==typeof(null==e?void 0:e.value)?e.value:""),readOnly:ie,removeSelectedItem:function(){var t;Ue({clickedItem:e,onChange:le}),null==Oe||null==(t=Oe.current)||t.focus()},selectedItem:e})})):t.createElement(x,{ariaLabelRemoveSelected:U,ariaLabelChosen:"",disabled:C,readOnly:ie,removeSelectedItem:pt,selectedItem:Me}),t.createElement("input",f({},Xe(f({onKeyDown:function(e){if(de&&it&&"Tab"===e.key){var t=Be[lt];t&&Ue({clickedItem:t,onChange:le})}}},Ye({preventKeyAction:it,value:null!=rt?rt:_,ref:e.mergeRefs(Oe,u)}),{className:"eds-dropdown__input eds-form-control",disabled:ie||C,placeholder:ae,tabIndex:C||ie?-1:void 0}))))),t.createElement(L,f({},nt({"aria-busy":(null!=$?$:Ne)?"true":void 0}),{ariaLabelCloseList:be,ariaLabelOpenList:Le,clearable:m,disabled:C||ie,onClear:pt,focusable:!1,labelClearSelected:U,isOpen:it,itemIsSelected:se.length>0,loadingText:X,loading:null!=$?$:Ne})))})),M=["ariaLabelChosenSingular","ariaLabelCloseList","ariaLabelOpenList","ariaLabelSelectedItem","className","clearable","disabled","disableLabelAnimation","feedback","items","label","labelClearSelectedItem","labelTooltip","listStyle","loading","loadingText","noMatchesText","onChange","placeholder","prepend","readOnly","selectedItem","selectOnBlur","selectOnTab","style","variant"],R=t.forwardRef((function(o,s){var u,d,c=o.ariaLabelChosenSingular,p=o.ariaLabelCloseList,m=void 0===p?"Lukk liste med valg":p,g=o.ariaLabelOpenList,h=void 0===g?"Åpne liste med valg":g,y=o.ariaLabelSelectedItem,I=o.className,x=o.clearable,C=void 0!==x&&x,_=o.disabled,S=void 0!==_&&_,k=o.disableLabelAnimation,T=o.feedback,O=o.items,P=o.label,N=o.labelClearSelectedItem,V=void 0===N?"fjern valgt":N,j=o.labelTooltip,F=o.listStyle,R=o.loading,B=o.loadingText,D=void 0===B?"Laster resultater …":B,q=o.noMatchesText,H=void 0===q?"Ingen tilgjengelige valg …":q,G=o.onChange,K=o.placeholder,U=o.prepend,z=o.readOnly,J=void 0!==z&&z,W=o.selectedItem,Y=o.selectOnBlur,$=void 0!==Y&&Y,Q=o.selectOnTab,X=void 0!==Q&&Q,Z=o.style,ee=o.variant,te=void 0===ee?"information":ee,ne=v(o,M),le=w(O),ae=le.items,re=le.loading,ie=null!==W||void 0!==K,oe=n.useSelect({items:ae,defaultHighlightedIndex:W?void 0:0,selectedItem:W,onStateChange:function(e){var t=e.selectedItem;(e.type!==n.useSelect.stateChangeTypes.ToggleButtonBlur||$)&&void 0!==t&&(null==G||G(null!=t?t:null))},itemToString:E}),se=oe.closeMenu,ue=oe.isOpen,de=oe.getItemProps,ce=oe.getLabelProps,pe=oe.getMenuProps,me=oe.getToggleButtonProps,fe=oe.highlightedIndex,ve=a.useFloating({open:ue,placement:"bottom-start",middleware:[a.offset(i.space.extraSmall2),a.shift({padding:i.space.extraSmall}),a.size({apply:function(e){Object.assign(e.elements.floating.style,{width:e.rects.reference.width+"px",maxHeight:A(160,e.availableHeight,320)+"px"})}}),a.flip({fallbackStrategy:"initialPlacement"})]}),ge=ve.refs,he=ve.floatingStyles,be=ve.update;return t.useEffect((function(){if(ue&&ge.reference.current&&ge.floating.current)return a.autoUpdate(ge.reference.current,ge.floating.current,be)}),[ue,ge.reference,ge.floating,be]),t.createElement(r.BaseFormControl,f({className:l("eds-dropdown",I,{"eds-dropdown--has-tooltip":void 0!==j}),disableLabelAnimation:k,feedback:T,isFilled:ie,labelProps:ce(),labelTooltip:j,prepend:U,style:Z,variant:te},me({ref:e.mergeRefs(s,ge.setReference),"aria-disabled":S,"aria-label":S?"Disabled dropdown":"",disabled:S,readOnly:J,label:P,labelId:null==(u=ce())?void 0:u.id,children:void 0,tabIndex:S||J?-1:0,onKeyDown:function(e){if(ue&&"Tab"===e.key){var t=ae[fe];(X||$)&&t&&t!==W&&(null==G||G(t)),se(),e.preventDefault()}}}),{after:t.createElement(b,{ariaLabelChosenSingular:c,ariaLabelSelectedItem:y,floatingStyles:he,getItemProps:de,getMenuProps:pe,highlightedIndex:fe,isOpen:ue,listItems:ae,noMatchesText:H,style:F,setListRef:ge.setFloating,loading:null!=R?R:re,loadingText:D,selectedItems:null!==W?[W]:[]})},ne,{append:void 0}),t.createElement("div",{className:"eds-dropdown__selected-item"},null!=(d=null==W?void 0:W.label)?d:t.createElement("div",{className:l("eds-dropdown__selected-item__placeholder",{"eds-dropdown__selected-item__placeholder--readonly":J})},K)),t.createElement(L,{"aria-busy":(null!=R?R:re)?"true":void 0,"aria-expanded":ue,clearable:C,onClear:function(){return null==G?void 0:G(null)},disabled:S||J,focusable:!1,labelClearSelected:V,isOpen:ue,itemIsSelected:null!==W,ariaLabelCloseList:m,ariaLabelOpenList:h,loading:!1,loadingText:void 0}))})),B=["className","disabled","disableLabelAnimation","feedback","items","label","loadingText","onChange","prepend","readOnly","selectedItem","style","value","variant"],D=t.forwardRef((function(n,l){var a,i=n.className,o=n.disabled,s=void 0!==o&&o,u=n.disableLabelAnimation,d=n.feedback,c=n.items,p=n.label,m=n.loadingText,g=n.onChange,h=n.prepend,b=n.readOnly,y=void 0!==b&&b,I=n.selectedItem,x=n.style,L=n.value,C=n.variant,_=v(n,B),S=w(c),k=S.items,E=S.loading,T=e.useRandomId("eds-dropdown-native");return t.createElement(r.BaseFormControl,{disabled:s,readOnly:y,prepend:h,append:t.createElement(q,{hidden:s||y,loading:E,loadingText:m}),className:i,style:x,label:p,labelId:T,variant:C,feedback:d,disableLabelAnimation:u,isFilled:!0},t.createElement("select",f({"aria-invalid":"negative"===C||"error"===C,"aria-labelledby":T,"aria-busy":E,className:"eds-form-control eds-dropdown--native",disabled:s||y,onChange:function(e){var t;null==g||g({value:e.target.value,selectedItem:null!=(t=k.find((function(t){return t.value===e.target.value})))?t:null,target:e.target})},value:null!=(a=null!=L?L:null==I?void 0:I.value)?a:void 0,ref:l},_),k.map((function(e){return t.createElement("option",{key:e.value,value:e.value},e.label)}))))})),q=function(e){var n=e.hidden;return e.loading?t.createElement("div",{className:"eds-dropdown-native__loading-dots"},t.createElement(c.LoadingDots,{"aria-label":e.loadingText})):n?t.createElement(t.Fragment,null):t.createElement(d.DownArrowIcon,{inline:!0})};e.warnAboutMissingStyles("dropdown","form","a11y","chip"),exports.Dropdown=R,exports.MultiSelect=F,exports.NativeDropdown=D,exports.SearchableDropdown=V;
|
|
2
2
|
//# sourceMappingURL=dropdown.cjs.production.min.js.map
|