Socket
Socket
Sign inDemoInstall

@elvia/elvis-dropdown

Package Overview
Dependencies
Maintainers
7
Versions
99
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@elvia/elvis-dropdown - npm Package Compare versions

Comparing version 9.0.0 to 9.0.1

12

CHANGELOG.json

@@ -5,2 +5,14 @@ {

{
"date": "10.10.23",
"version": "9.0.1",
"changelog": [
{
"type": "bug_fix",
"changes": [
"Fixed an issue where the popup sometimes did not align horizontally on initial render."
]
}
]
},
{
"date": "06.10.23",

@@ -7,0 +19,0 @@ "version": "9.0.0",

2

dist/react/js/dropdown-input/dropdownInput.js

@@ -5,3 +5,3 @@ /*

*/
function _slicedToArray(a,b){return _arrayWithHoles(a)||_iterableToArrayLimit(a,b)||_unsupportedIterableToArray(a,b)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(a,b){if(a){if("string"==typeof a)return _arrayLikeToArray(a,b);var c=Object.prototype.toString.call(a).slice(8,-1);return"Object"===c&&a.constructor&&(c=a.constructor.name),"Map"===c||"Set"===c?Array.from(a):"Arguments"===c||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(c)?_arrayLikeToArray(a,b):void 0}}function _arrayLikeToArray(a,b){(null==b||b>a.length)&&(b=a.length);for(var c=0,d=Array(b);c<b;c++)d[c]=a[c];return d}function _iterableToArrayLimit(a,b){var c=null==a?null:"undefined"!=typeof Symbol&&a[Symbol.iterator]||a["@@iterator"];if(null!=c){var d,e,f,g,h=[],i=!0,j=!1;try{if(f=(c=c.call(a)).next,0===b){if(Object(c)!==c)return;i=!1}else for(;!(i=(d=f.call(c)).done)&&(h.push(d.value),h.length!==b);i=!0);}catch(a){j=!0,e=a}finally{try{if(!i&&null!=c.return&&(g=c.return(),Object(g)!==g))return}finally{if(j)throw e}}return h}}function _arrayWithHoles(a){if(Array.isArray(a))return a}import React,{useEffect,useState}from"react";import{flattenTree,getDropdownItemId}from"../dropdownListUtils";import DOMPurify from"dompurify";import{Input}from"./dropdownInputStyles";import{DropdownIconContainer}from"../styledComponents";export var DropdownInput=function(a){var b=a.placeholder,c=a.placeholderIcon,d=a.allOptionsSelectedLabel,e=a.isEditable,f=a.onChange,g=a.isDisabled,h=a.items,i=a.onKeyPress,j=a.dropdownIsOpen,k=a.onOpenDropdown,l=a.currentVal,m=a.focusedItem,n=a.id,o=a.ariaLabel,p=useState(""),q=_slicedToArray(p,2),r=q[0],s=q[1],t=useState(),u=_slicedToArray(t,2),v=u[0],w=u[1],x=function(a){f(a),s(a)},y=function(){if("string"==typeof l){var a;w(null===(a=flattenTree(h).find(function(a){return a.value===l}))||void 0===a?void 0:a.icon)}else w(void 0)};return useEffect(function(){(function updateInputValue(){var a=flattenTree(h).filter(function(a){return Array.isArray(l)?l.includes(a.value):l===a.value});e&&j?s(""):Array.isArray(l)&&l.length===flattenTree(h).filter(function(a){return!a.isDisabled&&!a.children}).length?s(d):2<=a.length?s("".concat(a.length," valgte")):1===a.length?s(a[0].label):s("")})(),y()},[l,h,j]),/*#__PURE__*/React.createElement(React.Fragment,null,c&&!r&&/*#__PURE__*/React.createElement(DropdownIconContainer,{dangerouslySetInnerHTML:{__html:DOMPurify.sanitize(c)}}),!!v&&/*#__PURE__*/React.createElement(DropdownIconContainer,{dangerouslySetInnerHTML:{__html:DOMPurify.sanitize(v)}}),/*#__PURE__*/React.createElement(Input,{"aria-activedescendant":m?getDropdownItemId(m.value):void 0,disabled:g,placeholder:b,onChange:function(a){var b;return x(null!==(b=a.target.value)&&void 0!==b?b:"")},value:r,onClick:function onClick(){return k()},onKeyDown:function onKeyDown(a){j?i(a):["Space","Enter","ArrowUp","ArrowDown"].includes(a.code)&&(a.preventDefault(),k())},onKeyUp:function onKeyUp(){return i(void 0)},readOnly:!e||!j,$isEditable:e,role:"combobox","aria-autocomplete":"none","aria-haspopup":"true","aria-expanded":j,"aria-disabled":g,"aria-controls":n,"aria-label":o}))};
function _slicedToArray(a,b){return _arrayWithHoles(a)||_iterableToArrayLimit(a,b)||_unsupportedIterableToArray(a,b)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(a,b){if(a){if("string"==typeof a)return _arrayLikeToArray(a,b);var c=Object.prototype.toString.call(a).slice(8,-1);return"Object"===c&&a.constructor&&(c=a.constructor.name),"Map"===c||"Set"===c?Array.from(a):"Arguments"===c||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(c)?_arrayLikeToArray(a,b):void 0}}function _arrayLikeToArray(a,b){(null==b||b>a.length)&&(b=a.length);for(var c=0,d=Array(b);c<b;c++)d[c]=a[c];return d}function _iterableToArrayLimit(b,c){var d=null==b?null:"undefined"!=typeof Symbol&&b[Symbol.iterator]||b["@@iterator"];if(null!=d){var g,h,j,k,l=[],a=!0,m=!1;try{if(j=(d=d.call(b)).next,0===c){if(Object(d)!==d)return;a=!1}else for(;!(a=(g=j.call(d)).done)&&(l.push(g.value),l.length!==c);a=!0);}catch(a){m=!0,h=a}finally{try{if(!a&&null!=d.return&&(k=d.return(),Object(k)!==k))return}finally{if(m)throw h}}return l}}function _arrayWithHoles(a){if(Array.isArray(a))return a}import React,{useEffect,useState}from"react";import{flattenTree,getDropdownItemId}from"../dropdownListUtils";import DOMPurify from"dompurify";import{Input}from"./dropdownInputStyles";import{DropdownIconContainer}from"../styledComponents";export var DropdownInput=function(a){var b=a.placeholder,c=a.placeholderIcon,d=a.allOptionsSelectedLabel,e=a.isEditable,f=a.onChange,g=a.isDisabled,h=a.items,i=a.onKeyPress,j=a.dropdownIsOpen,k=a.onOpenDropdown,l=a.currentVal,m=a.focusedItem,n=a.id,o=a.ariaLabel,p=useState(""),q=_slicedToArray(p,2),r=q[0],s=q[1],t=useState(),u=_slicedToArray(t,2),v=u[0],w=u[1],x=function(a){f(a),s(a)},y=function(){if("string"==typeof l){var a;w(null===(a=flattenTree(h).find(function(a){return a.value===l}))||void 0===a?void 0:a.icon)}else w(void 0)};return useEffect(function(){(function updateInputValue(){var a=flattenTree(h).filter(function(a){return Array.isArray(l)?l.includes(a.value):l===a.value});e&&j?s(""):Array.isArray(l)&&l.length===flattenTree(h).filter(function(a){return!a.isDisabled&&!a.children}).length?s(d):2<=a.length?s("".concat(a.length," valgte")):1===a.length?s(a[0].label):s("")})(),y()},[l,h,j]),/*#__PURE__*/React.createElement(React.Fragment,null,c&&!r&&/*#__PURE__*/React.createElement(DropdownIconContainer,{dangerouslySetInnerHTML:{__html:DOMPurify.sanitize(c)}}),!!v&&/*#__PURE__*/React.createElement(DropdownIconContainer,{dangerouslySetInnerHTML:{__html:DOMPurify.sanitize(v)}}),/*#__PURE__*/React.createElement(Input,{"aria-activedescendant":m?getDropdownItemId(m.value):void 0,disabled:g,placeholder:b,onChange:function(a){var b;return x(null!==(b=a.target.value)&&void 0!==b?b:"")},value:r,onClick:function onClick(){return k()},onKeyDown:function onKeyDown(a){j?i(a):["Space","Enter","ArrowUp","ArrowDown"].includes(a.code)&&(a.preventDefault(),k())},onKeyUp:function onKeyUp(){return i(void 0)},readOnly:!e||!j,$isEditable:e,role:"combobox","aria-autocomplete":"none","aria-haspopup":"true","aria-expanded":j,"aria-disabled":g,"aria-controls":n,"aria-label":o}))};
//# sourceMappingURL=dropdownInput.js.map

@@ -5,3 +5,3 @@ /*

*/
function _slicedToArray(a,b){return _arrayWithHoles(a)||_iterableToArrayLimit(a,b)||_unsupportedIterableToArray(a,b)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(a,b){if(a){if("string"==typeof a)return _arrayLikeToArray(a,b);var c=Object.prototype.toString.call(a).slice(8,-1);return"Object"===c&&a.constructor&&(c=a.constructor.name),"Map"===c||"Set"===c?Array.from(a):"Arguments"===c||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(c)?_arrayLikeToArray(a,b):void 0}}function _arrayLikeToArray(a,b){(null==b||b>a.length)&&(b=a.length);for(var c=0,d=Array(b);c<b;c++)d[c]=a[c];return d}function _iterableToArrayLimit(a,b){var c=null==a?null:"undefined"!=typeof Symbol&&a[Symbol.iterator]||a["@@iterator"];if(null!=c){var d,e,f,g,h=[],i=!0,j=!1;try{if(f=(c=c.call(a)).next,0===b){if(Object(c)!==c)return;i=!1}else for(;!(i=(d=f.call(c)).done)&&(h.push(d.value),h.length!==b);i=!0);}catch(a){j=!0,e=a}finally{try{if(!i&&null!=c.return&&(g=c.return(),Object(g)!==g))return}finally{if(j)throw e}}return h}}function _arrayWithHoles(a){if(Array.isArray(a))return a}import{isSsr,useConnectedOverlay,IconWrapper}from"@elvia/elvis-toolbox";import React,{useEffect,useMemo,useRef,useState}from"react";import{DropdownOverlay}from"../dropdown-overlay/dropdownOverlay";import{flattenTree,getDropdownItemId,getValueAsList}from"../dropdownListUtils";import{DropdownItemStyles,IconContainer,OpenOverlayButton}from"./dropdownItemStyles";import{Checkbox}from"../checkbox/checkbox";import{Tooltip}from"@elvia/elvis-tooltip/react";import{statusToIconMap}from"../statusToIconMap";import{getThemeColor}from"@elvia/elvis-colors";import arrowRight from"@elvia/elvis-assets-icons/dist/icons/arrowRight";export var DropdownItem=function(a){var b,c,d=a.item,e=a.currentVal,f=a.size,g=a.isMulti,h=a.focusedItem,i=a.setFocusedItem,j=a.setHoveredItem,k=a.inputIsKeyboard,l=a.onItemSelect,m=a.onClick,n=a.pressedKey,o=a.listRef,p=a.isGtMobile,q=a.children,r=useRef(null),s=useRef(null),t=useConnectedOverlay(p?r:o,s,{offset:0,horizontalPosition:p?"right":"center",verticalPosition:"top-inside",alignWidths:!p}),u=t.isShowing,v=t.setIsShowing,w=useState(),x=_slicedToArray(w,2),y=x[0],z=x[1],A=useMemo(function(){return d.children?flattenTree(d.children).filter(function(a){return!a.isDisabled&&!a.children}):[]},[d]),B=function(a){var b=getValueAsList(e);return b.includes(a.value)},C=useMemo(function(){var a=getValueAsList(e);return d.children?A.every(function(b){return a.includes(b.value)}):B(d)},[d,e]),D=useMemo(function(){return A.some(function(a){return B(a)})},[A]),E=useMemo(function(){if(g){var a=A;return a.some(B)&&!a.every(B)}return!1},[A,g,e]),F=function(a){v(a)},G=function(){d.isDisabled||k||(i(d),j(d)),d.children&&p&&!d.isDisabled&&(isSsr()?F(!0):(window.clearTimeout(y),z(function(){return window.setTimeout(function(){return F(!0)},200)})))},H=function(){d.isDisabled||(p||g||!d.children?m(d):F(!0))};return useEffect(function(){(null===h||void 0===h?void 0:h.value)===d.value&&("ArrowRight"===(null===n||void 0===n?void 0:n.code)||"Enter"===(null===n||void 0===n?void 0:n.code))&&d.children&&!d.isDisabled&&v(!0)},[n]),useEffect(function(){if(u||y){var a=function(){var a=flattenTree(d.children);return a.some(function(a){return a.value===(null===h||void 0===h?void 0:h.value)})};h&&(null===h||void 0===h?void 0:h.value)!==d.value&&!a()&&(u&&p&&v(!1),y&&!isSsr()&&(window.clearTimeout(y),z(function(){return 0})))}},[h]),useEffect(function(){return function(){y&&!isSsr()&&window.clearTimeout(y)}},[]),/*#__PURE__*/React.createElement(React.Fragment,null,/*#__PURE__*/React.createElement(DropdownItemStyles,{ref:r,isFocused:(null===h||void 0===h?void 0:h.value)===d.value&&k||u||D&&!g,isActive:C,size:f,isDisabled:d.isDisabled,isGtMobile:p,isMulti:g,onClick:function(){return H()},onMouseEnter:function onMouseEnter(){return G()},onMouseDown:function onMouseDown(a){return a.preventDefault()},id:getDropdownItemId(d.value),"aria-disabled":d.isDisabled,"aria-haspopup":d.children?"listbox":"false","aria-expanded":u,"aria-selected":C,"aria-label":"\n ".concat(d.label,"\n ").concat(d.children?", undermeny":""," \n ").concat(d.tooltip?", Merknad: "+d.tooltip:""),"data-testid":"dropdown-item"},g&&/*#__PURE__*/React.createElement(Checkbox,{isFocused:(null===h||void 0===h?void 0:h.value)===d.value&&k||u,isIndeterminate:E,isChecked:C,size:f,isDisabled:d.isDisabled}),q,d.status&&/*#__PURE__*/React.createElement(IconContainer,null,/*#__PURE__*/React.createElement(Tooltip,{trigger:/*#__PURE__*/React.createElement(IconWrapper,{icon:statusToIconMap[d.status].icon,color:statusToIconMap[d.status].color,size:"xs"}),content:null!==(b=d.tooltip)&&void 0!==b?b:"",showDelay:100,position:"right",isDisabled:!d.tooltip,triggerAreaRef:r})),d.children&&/*#__PURE__*/React.createElement(IconContainer,null,/*#__PURE__*/React.createElement(OpenOverlayButton,{size:"small"===f?"sm":"md",disabled:p||!g,onClick:function(a){a.stopPropagation(),F(!0)}},/*#__PURE__*/React.createElement(IconWrapper,{icon:arrowRight,size:"small"===f?"xs":"sm",color:d.isDisabled?getThemeColor("text-disabled-1"):""})))),u&&/*#__PURE__*/React.createElement(DropdownOverlay,{ref:s,isGtMobile:p,filteredItems:null!==(c=d.children)&&void 0!==c?c:[],size:f,onClose:function onClose(){return F(!1)},isMulti:g,onItemSelect:function onItemSelect(a){return l(a)},currentVal:e,pressedKey:n,inputIsKeyboard:k,focusedItem:h,setFocusedItem:i,setHoveredItem:j,parentItem:d}))};
function _slicedToArray(a,b){return _arrayWithHoles(a)||_iterableToArrayLimit(a,b)||_unsupportedIterableToArray(a,b)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(a,b){if(a){if("string"==typeof a)return _arrayLikeToArray(a,b);var c=Object.prototype.toString.call(a).slice(8,-1);return"Object"===c&&a.constructor&&(c=a.constructor.name),"Map"===c||"Set"===c?Array.from(a):"Arguments"===c||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(c)?_arrayLikeToArray(a,b):void 0}}function _arrayLikeToArray(a,b){(null==b||b>a.length)&&(b=a.length);for(var c=0,d=Array(b);c<b;c++)d[c]=a[c];return d}function _iterableToArrayLimit(b,c){var d=null==b?null:"undefined"!=typeof Symbol&&b[Symbol.iterator]||b["@@iterator"];if(null!=d){var g,h,j,k,l=[],a=!0,m=!1;try{if(j=(d=d.call(b)).next,0===c){if(Object(d)!==d)return;a=!1}else for(;!(a=(g=j.call(d)).done)&&(l.push(g.value),l.length!==c);a=!0);}catch(a){m=!0,h=a}finally{try{if(!a&&null!=d.return&&(k=d.return(),Object(k)!==k))return}finally{if(m)throw h}}return l}}function _arrayWithHoles(a){if(Array.isArray(a))return a}import{isSsr,useConnectedOverlay,IconWrapper}from"@elvia/elvis-toolbox";import React,{useEffect,useMemo,useRef,useState}from"react";import{DropdownOverlay}from"../dropdown-overlay/dropdownOverlay";import{flattenTree,getDropdownItemId,getValueAsList}from"../dropdownListUtils";import{DropdownItemStyles,IconContainer,OpenOverlayButton}from"./dropdownItemStyles";import{Checkbox}from"../checkbox/checkbox";import{Tooltip}from"@elvia/elvis-tooltip/react";import{statusToIconMap}from"../statusToIconMap";import{getThemeColor}from"@elvia/elvis-colors";import arrowRight from"@elvia/elvis-assets-icons/dist/icons/arrowRight";export var DropdownItem=function(a){var b,c,d=a.item,e=a.currentVal,f=a.size,g=a.isMulti,h=a.focusedItem,i=a.setFocusedItem,j=a.setHoveredItem,k=a.inputIsKeyboard,l=a.onItemSelect,m=a.onClick,n=a.pressedKey,o=a.listRef,p=a.isGtMobile,q=a.children,r=useRef(null),s=useRef(null),t=useConnectedOverlay(p?r:o,s,{offset:0,horizontalPosition:p?"right":"center",verticalPosition:"top-inside",alignWidths:!p}),u=t.isShowing,v=t.setIsShowing,w=useState(),x=_slicedToArray(w,2),y=x[0],z=x[1],A=useMemo(function(){return d.children?flattenTree(d.children).filter(function(a){return!a.isDisabled&&!a.children}):[]},[d]),B=function(a){var b=getValueAsList(e);return b.includes(a.value)},C=useMemo(function(){var a=getValueAsList(e);return d.children?A.every(function(b){return a.includes(b.value)}):B(d)},[d,e]),D=useMemo(function(){return A.some(function(a){return B(a)})},[A]),E=useMemo(function(){if(g){var a=A;return a.some(B)&&!a.every(B)}return!1},[A,g,e]),F=function(a){v(a)},G=function(){d.isDisabled||k||(i(d),j(d)),d.children&&p&&!d.isDisabled&&(isSsr()?F(!0):(window.clearTimeout(y),z(function(){return window.setTimeout(function(){return F(!0)},200)})))},H=function(){d.isDisabled||(p||g||!d.children?m(d):F(!0))};return useEffect(function(){(null===h||void 0===h?void 0:h.value)===d.value&&("ArrowRight"===(null===n||void 0===n?void 0:n.code)||"Enter"===(null===n||void 0===n?void 0:n.code))&&d.children&&!d.isDisabled&&v(!0)},[n]),useEffect(function(){if(u||y){var a=function(){var a=flattenTree(d.children);return a.some(function(a){return a.value===(null===h||void 0===h?void 0:h.value)})};h&&(null===h||void 0===h?void 0:h.value)!==d.value&&!a()&&(u&&p&&v(!1),y&&!isSsr()&&(window.clearTimeout(y),z(function(){return 0})))}},[h]),useEffect(function(){return function(){y&&!isSsr()&&window.clearTimeout(y)}},[]),/*#__PURE__*/React.createElement(React.Fragment,null,/*#__PURE__*/React.createElement(DropdownItemStyles,{ref:r,isFocused:(null===h||void 0===h?void 0:h.value)===d.value&&k||u||D&&!g,isActive:C,size:f,isDisabled:d.isDisabled,isGtMobile:p,isMulti:g,onClick:function(){return H()},onMouseEnter:function onMouseEnter(){return G()},onMouseDown:function onMouseDown(a){return a.preventDefault()},id:getDropdownItemId(d.value),"aria-disabled":d.isDisabled,"aria-haspopup":d.children?"listbox":"false","aria-expanded":u,"aria-selected":C,"aria-label":"\n ".concat(d.label,"\n ").concat(d.children?", undermeny":""," \n ").concat(d.tooltip?", Merknad: "+d.tooltip:""),"data-testid":"dropdown-item"},g&&/*#__PURE__*/React.createElement(Checkbox,{isFocused:(null===h||void 0===h?void 0:h.value)===d.value&&k||u,isIndeterminate:E,isChecked:C,size:f,isDisabled:d.isDisabled}),q,d.status&&/*#__PURE__*/React.createElement(IconContainer,null,/*#__PURE__*/React.createElement(Tooltip,{trigger:/*#__PURE__*/React.createElement(IconWrapper,{icon:statusToIconMap[d.status].icon,color:statusToIconMap[d.status].color,size:"xs"}),content:null!==(b=d.tooltip)&&void 0!==b?b:"",showDelay:100,position:"right",isDisabled:!d.tooltip,triggerAreaRef:r})),d.children&&/*#__PURE__*/React.createElement(IconContainer,null,/*#__PURE__*/React.createElement(OpenOverlayButton,{size:"small"===f?"sm":"md",disabled:p||!g,onClick:function(a){a.stopPropagation(),F(!0)}},/*#__PURE__*/React.createElement(IconWrapper,{icon:arrowRight,size:"small"===f?"xs":"sm",color:d.isDisabled?getThemeColor("text-disabled-1"):""})))),u&&/*#__PURE__*/React.createElement(DropdownOverlay,{ref:s,isGtMobile:p,filteredItems:null!==(c=d.children)&&void 0!==c?c:[],size:f,onClose:function onClose(){return F(!1)},isMulti:g,onItemSelect:function onItemSelect(a){return l(a)},currentVal:e,pressedKey:n,inputIsKeyboard:k,focusedItem:h,setFocusedItem:i,setHoveredItem:j,parentItem:d}))};
//# sourceMappingURL=dropdownItem.js.map

@@ -5,5 +5,5 @@ /*

*/
function _slicedToArray(a,b){return _arrayWithHoles(a)||_iterableToArrayLimit(a,b)||_unsupportedIterableToArray(a,b)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(a,b){if(a){if("string"==typeof a)return _arrayLikeToArray(a,b);var c=Object.prototype.toString.call(a).slice(8,-1);return"Object"===c&&a.constructor&&(c=a.constructor.name),"Map"===c||"Set"===c?Array.from(a):"Arguments"===c||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(c)?_arrayLikeToArray(a,b):void 0}}function _arrayLikeToArray(a,b){(null==b||b>a.length)&&(b=a.length);for(var c=0,d=Array(b);c<b;c++)d[c]=a[c];return d}function _iterableToArrayLimit(a,b){var c=null==a?null:"undefined"!=typeof Symbol&&a[Symbol.iterator]||a["@@iterator"];if(null!=c){var d,e,f,g,h=[],i=!0,j=!1;try{if(f=(c=c.call(a)).next,0===b){if(Object(c)!==c)return;i=!1}else for(;!(i=(d=f.call(c)).done)&&(h.push(d.value),h.length!==b);i=!0);}catch(a){j=!0,e=a}finally{try{if(!i&&null!=c.return&&(g=c.return(),Object(g)!==g))return}finally{if(j)throw e}}return h}}function _arrayWithHoles(a){if(Array.isArray(a))return a}import React,{useEffect,useState,useRef,useMemo}from"react";import{DropdownItem}from"../dropdown-item/dropdownItem";import{flattenTree,getValueAsList}from"../dropdownListUtils";import{BackButton}from"./backButton";import{CursorCurve,DropdownPopup,DropdownPopupContainer,ItemList,NoItemsMessage}from"./dropdownOverlayStyles";import{LoadMoreButton}from"./loadMoreButton";import{SelectAllOption}from"./selectAllOption";import{ItemValue}from"../dropdown-item/itemValue";import{Overlay}from"@elvia/elvis-toolbox";import DOMPurify from"dompurify";import{DropdownIconContainer}from"../styledComponents";var uniqueId=0;export var DropdownOverlay=React.forwardRef(function(a,b){var c=a.isRootOverlay,d=a.isGtMobile,e=a.filteredItems,f=a.allItems,g=a.inputIsKeyboard,h=a.size,i=a.isMulti,j=a.onClose,k=a.noItemsText,l=a.currentVal,m=a.onItemSelect,n=a.pressedKey,o=a.selectAllOption,p=a.hasLoadMoreItemsButton,q=a.onLoadMoreItems,r=a.isLoadingMoreItems,s=a.focusedItem,t=a.setFocusedItem,u=a.setHoveredItem,v=a.parentItem,w=a.isSearchMode,x=a.id,y=useState(d),z=_slicedToArray(y,1),A=z[0],B=useRef(null),C=useState(!1),D=_slicedToArray(C,2),E=D[0],F=D[1],G=useState({label:null!==o&&void 0!==o?o:"",value:"selectAll-".concat(uniqueId++)}),H=_slicedToArray(G,1),I=H[0],J=useState({label:"Tilbake",value:"back-".concat(uniqueId++)}),K=_slicedToArray(J,1),L=K[0],M=useState({label:"Last inn flere",value:"loadMore-".concat(uniqueId++)}),N=_slicedToArray(M,1),O=N[0],P=useMemo(function(){var a=e.slice();return d||c||a.unshift(L),o&&a.length&&a.unshift(I),p&&a.push(O),a},[e,d,o,p]),Q=useMemo(function(){return e.every(function(a){return a.icon})},[e]),R=useMemo(function(){return P.some(function(a){return(null===s||void 0===s?void 0:s.value)===a.value})},[P,s]),S=function(a){var b=getValueAsList(l);return b.includes(a.value)},T=function(a){return flattenTree(null!==a&&void 0!==a?a:[]).filter(function(a){return!a.isDisabled&&!a.children})},U=function(a){if(!a.isDisabled){if(i&&a.children){var b=T(a.children);b.every(S)?m(b.map(function(a){return a.value})):m(b.filter(function(a){return!S(a)}).map(function(a){return a.value}))}else a.children||(m([a.value]),i||F(!0));// Focus on first item after selecting item in multi select while search is active
function _slicedToArray(a,b){return _arrayWithHoles(a)||_iterableToArrayLimit(a,b)||_unsupportedIterableToArray(a,b)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(a,b){if(a){if("string"==typeof a)return _arrayLikeToArray(a,b);var c=Object.prototype.toString.call(a).slice(8,-1);return"Object"===c&&a.constructor&&(c=a.constructor.name),"Map"===c||"Set"===c?Array.from(a):"Arguments"===c||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(c)?_arrayLikeToArray(a,b):void 0}}function _arrayLikeToArray(a,b){(null==b||b>a.length)&&(b=a.length);for(var c=0,d=Array(b);c<b;c++)d[c]=a[c];return d}function _iterableToArrayLimit(b,c){var d=null==b?null:"undefined"!=typeof Symbol&&b[Symbol.iterator]||b["@@iterator"];if(null!=d){var g,h,j,k,l=[],a=!0,m=!1;try{if(j=(d=d.call(b)).next,0===c){if(Object(d)!==d)return;a=!1}else for(;!(a=(g=j.call(d)).done)&&(l.push(g.value),l.length!==c);a=!0);}catch(a){m=!0,h=a}finally{try{if(!a&&null!=d.return&&(k=d.return(),Object(k)!==k))return}finally{if(m)throw h}}return l}}function _arrayWithHoles(a){if(Array.isArray(a))return a}import React,{useEffect,useState,useRef,useMemo}from"react";import{DropdownItem}from"../dropdown-item/dropdownItem";import{flattenTree,getValueAsList}from"../dropdownListUtils";import{BackButton}from"./backButton";import{CursorCurve,DropdownPopup,DropdownPopupContainer,ItemList,NoItemsMessage}from"./dropdownOverlayStyles";import{LoadMoreButton}from"./loadMoreButton";import{SelectAllOption}from"./selectAllOption";import{ItemValue}from"../dropdown-item/itemValue";import{Overlay}from"@elvia/elvis-toolbox";import DOMPurify from"dompurify";import{DropdownIconContainer}from"../styledComponents";var uniqueId=0;export var DropdownOverlay=React.forwardRef(function(a,b){var c=a.isRootOverlay,d=a.isGtMobile,e=a.filteredItems,f=a.allItems,g=a.inputIsKeyboard,h=a.size,i=a.isMulti,j=a.onClose,k=a.noItemsText,l=a.currentVal,m=a.onItemSelect,n=a.pressedKey,o=a.selectAllOption,p=a.hasLoadMoreItemsButton,q=a.onLoadMoreItems,r=a.isLoadingMoreItems,s=a.focusedItem,t=a.setFocusedItem,u=a.setHoveredItem,v=a.parentItem,w=a.isSearchMode,x=a.id,y=useState(d),z=_slicedToArray(y,1),A=z[0],B=useRef(null),C=useState(!1),D=_slicedToArray(C,2),E=D[0],F=D[1],G=useState({label:null!==o&&void 0!==o?o:"",value:"selectAll-".concat(uniqueId++)}),H=_slicedToArray(G,1),I=H[0],J=useState({label:"Tilbake",value:"back-".concat(uniqueId++)}),K=_slicedToArray(J,1),L=K[0],M=useState({label:"Last inn flere",value:"loadMore-".concat(uniqueId++)}),N=_slicedToArray(M,1),O=N[0],P=useMemo(function(){var a=e.slice();return d||c||a.unshift(L),o&&a.length&&a.unshift(I),p&&a.push(O),a},[e,d,o,p]),Q=useMemo(function(){return e.every(function(a){return a.icon})},[e]),R=useMemo(function(){return P.some(function(a){return(null===s||void 0===s?void 0:s.value)===a.value})},[P,s]),S=function(a){var b=getValueAsList(l);return b.includes(a.value)},T=function(a){return flattenTree(null!==a&&void 0!==a?a:[]).filter(function(a){return!a.isDisabled&&!a.children})},U=function(a){if(!a.isDisabled){if(i&&a.children){var b=T(a.children);b.every(S)?m(b.map(function(a){return a.value})):m(b.filter(function(a){return!S(a)}).map(function(a){return a.value}))}else a.children||(m([a.value]),i||F(!0));// Focus on first item after selecting item in multi select while search is active
// This moves keyboard focus to a focusable item.
i&&w&&c&&t(null===f||void 0===f?void 0:f[0])}},V=function(){v&&(F(!0),t(v))},W=function(a){var b=P.findIndex(function(a){return a.value===(null===s||void 0===s?void 0:s.value)});if(["Enter","Tab"].includes(a.code))a.preventDefault(),(null===s||void 0===s?void 0:s.value)===I.value?X():(null===s||void 0===s?void 0:s.value)===O.value?null===q||void 0===q?void 0:q():(null===s||void 0===s?void 0:s.value)===L.value?V():s&&!s.children&&U(s);else if("ArrowUp"===a.code){a.preventDefault();var c=0>b-1?P.length-1:b-1;t(P[c])}else if("ArrowDown"===a.code){a.preventDefault();var d=b+1>P.length-1?0:b+1;t(P[d])}else"ArrowLeft"===a.code&&(a.preventDefault(),V())},X=function(){var a=T(e),b=getValueAsList(l);if(a.length===b.length)m(a.map(function(a){return a.value}));else{var c=a.filter(function(a){return!S(a)});m(c.map(function(a){return a.value}))}};return useEffect(function(){n&&(R||c&&w)&&W(n)},[n]),useEffect(function(){g&&s&&function scrollItemListToFocusedItem(a){var b="small"===h?40:48,c=P.findIndex(function(b){return b.value===a.value});if(-1!==c){var d,e;null===(d=B.current)||void 0===d?void 0:d.scrollTo({top:b*c-(null===(e=B.current)||void 0===e?void 0:e.offsetHeight)/2})}}(s)},[s]),useEffect(function(){A!==d&&j()},[d]),useEffect(function(){(function focusFirstItemOnInit(){(g||c&&!R||!d)&&t(P[0])})()},[]),/*#__PURE__*/React.createElement(Overlay,{ref:b,hasBackdrop:!!c,onClose:j,startFade:E,hasAnimation:!!c||d},/*#__PURE__*/React.createElement(DropdownPopupContainer,{"data-testid":"popover",id:x,onMouseLeave:function onMouseLeave(){return null===u||void 0===u?void 0:u(void 0)},size:h},!c&&d&&/*#__PURE__*/React.createElement(CursorCurve,null),/*#__PURE__*/React.createElement(DropdownPopup,{isInvisible:!d&&!R},/*#__PURE__*/React.createElement(ItemList,{ref:B},!(null!==e&&void 0!==e&&e.length)&&/*#__PURE__*/React.createElement(NoItemsMessage,null,k),!d&&!c&&/*#__PURE__*/React.createElement(BackButton,{item:L,onClick:function onClick(){return V()},onHover:function onHover(a){return t(a)},focusedValue:null===s||void 0===s?void 0:s.value,size:h,inputIsKeyboard:g}),o&&c&&!!e.length&&/*#__PURE__*/React.createElement(SelectAllOption,{focusedValue:null===s||void 0===s?void 0:s.value,size:h,item:I,items:null!==f&&void 0!==f?f:[],selectedItems:l,onClick:X,onHover:function onHover(a){return t(a)}}),e.map(function(a){return/*#__PURE__*/React.createElement(DropdownItem,{key:a.value,item:a,focusedItem:s,setFocusedItem:function setFocusedItem(a){t(a),(null===a||void 0===a?void 0:a.value)===(null===v||void 0===v?void 0:v.value)&&F(!0)},setHoveredItem:function setHoveredItem(a){u&&u(a)},size:h,isMulti:i,inputIsKeyboard:g,currentVal:l,onItemSelect:function onItemSelect(a){m(a),i||F(!0)},onClick:function onClick(a){return U(a)},pressedKey:n,listRef:B,isGtMobile:d},a.icon&&!i&&Q&&/*#__PURE__*/React.createElement(DropdownIconContainer,{dangerouslySetInnerHTML:{__html:DOMPurify.sanitize(a.icon)}}),/*#__PURE__*/React.createElement(ItemValue,{item:a,focusedValue:s,isRootOverlay:c}))}),p&&c&&/*#__PURE__*/React.createElement(LoadMoreButton,{focusedValue:null===s||void 0===s?void 0:s.value,item:O,isLoadingMoreItems:r,onLoadMoreItems:q,size:h,onHover:function onHover(a){return t(a)}})))))});DropdownOverlay.displayName="DropdownOverlayComponent";
i&&w&&c&&t(null===f||void 0===f?void 0:f[0])}},V=function(){v&&(F(!0),t(v))},W=function(a){var b=P.findIndex(function(a){return a.value===(null===s||void 0===s?void 0:s.value)});if(["Enter","Tab"].includes(a.code))a.preventDefault(),(null===s||void 0===s?void 0:s.value)===I.value?X():(null===s||void 0===s?void 0:s.value)===O.value?null===q||void 0===q||q():(null===s||void 0===s?void 0:s.value)===L.value?V():s&&!s.children&&U(s);else if("ArrowUp"===a.code){a.preventDefault();var c=0>b-1?P.length-1:b-1;t(P[c])}else if("ArrowDown"===a.code){a.preventDefault();var d=b+1>P.length-1?0:b+1;t(P[d])}else"ArrowLeft"===a.code&&(a.preventDefault(),V())},X=function(){var a=T(e),b=getValueAsList(l);if(a.length===b.length)m(a.map(function(a){return a.value}));else{var c=a.filter(function(a){return!S(a)});m(c.map(function(a){return a.value}))}};return useEffect(function(){n&&(R||c&&w)&&W(n)},[n]),useEffect(function(){g&&s&&function scrollItemListToFocusedItem(a){var b="small"===h?40:48,c=P.findIndex(function(b){return b.value===a.value});if(-1!==c){var d,e;null===(d=B.current)||void 0===d||d.scrollTo({top:b*c-(null===(e=B.current)||void 0===e?void 0:e.offsetHeight)/2})}}(s)},[s]),useEffect(function(){A!==d&&j()},[d]),useEffect(function(){(function focusFirstItemOnInit(){(g||c&&!R||!d)&&t(P[0])})()},[]),/*#__PURE__*/React.createElement(Overlay,{ref:b,hasBackdrop:!!c,onClose:j,startFade:E,hasAnimation:!!c||d},/*#__PURE__*/React.createElement(DropdownPopupContainer,{"data-testid":"popover",id:x,onMouseLeave:function onMouseLeave(){return null===u||void 0===u?void 0:u(void 0)},size:h},!c&&d&&/*#__PURE__*/React.createElement(CursorCurve,null),/*#__PURE__*/React.createElement(DropdownPopup,{isInvisible:!d&&!R},/*#__PURE__*/React.createElement(ItemList,{ref:B},!(null!==e&&void 0!==e&&e.length)&&/*#__PURE__*/React.createElement(NoItemsMessage,null,k),!d&&!c&&/*#__PURE__*/React.createElement(BackButton,{item:L,onClick:function onClick(){return V()},onHover:function onHover(a){return t(a)},focusedValue:null===s||void 0===s?void 0:s.value,size:h,inputIsKeyboard:g}),o&&c&&!!e.length&&/*#__PURE__*/React.createElement(SelectAllOption,{focusedValue:null===s||void 0===s?void 0:s.value,size:h,item:I,items:null!==f&&void 0!==f?f:[],selectedItems:l,onClick:X,onHover:function onHover(a){return t(a)}}),e.map(function(a){return/*#__PURE__*/React.createElement(DropdownItem,{key:a.value,item:a,focusedItem:s,setFocusedItem:function setFocusedItem(a){t(a),(null===a||void 0===a?void 0:a.value)===(null===v||void 0===v?void 0:v.value)&&F(!0)},setHoveredItem:function setHoveredItem(a){u&&u(a)},size:h,isMulti:i,inputIsKeyboard:g,currentVal:l,onItemSelect:function onItemSelect(a){m(a),i||F(!0)},onClick:function onClick(a){return U(a)},pressedKey:n,listRef:B,isGtMobile:d},a.icon&&!i&&Q&&/*#__PURE__*/React.createElement(DropdownIconContainer,{dangerouslySetInnerHTML:{__html:DOMPurify.sanitize(a.icon)}}),/*#__PURE__*/React.createElement(ItemValue,{item:a,focusedValue:s,isRootOverlay:c}))}),p&&c&&/*#__PURE__*/React.createElement(LoadMoreButton,{focusedValue:null===s||void 0===s?void 0:s.value,item:O,isLoadingMoreItems:r,onLoadMoreItems:q,size:h,onHover:function onHover(a){return t(a)}})))))});DropdownOverlay.displayName="DropdownOverlayComponent";
//# sourceMappingURL=dropdownOverlay.js.map

@@ -5,3 +5,3 @@ /*

*/
function _slicedToArray(a,b){return _arrayWithHoles(a)||_iterableToArrayLimit(a,b)||_unsupportedIterableToArray(a,b)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(a,b){if(a){if("string"==typeof a)return _arrayLikeToArray(a,b);var c=Object.prototype.toString.call(a).slice(8,-1);return"Object"===c&&a.constructor&&(c=a.constructor.name),"Map"===c||"Set"===c?Array.from(a):"Arguments"===c||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(c)?_arrayLikeToArray(a,b):void 0}}function _arrayLikeToArray(a,b){(null==b||b>a.length)&&(b=a.length);for(var c=0,d=Array(b);c<b;c++)d[c]=a[c];return d}function _iterableToArrayLimit(a,b){var c=null==a?null:"undefined"!=typeof Symbol&&a[Symbol.iterator]||a["@@iterator"];if(null!=c){var d,e,f,g,h=[],i=!0,j=!1;try{if(f=(c=c.call(a)).next,0===b){if(Object(c)!==c)return;i=!1}else for(;!(i=(d=f.call(c)).done)&&(h.push(d.value),h.length!==b);i=!0);}catch(a){j=!0,e=a}finally{try{if(!i&&null!=c.return&&(g=c.return(),Object(g)!==g))return}finally{if(j)throw e}}return h}}function _arrayWithHoles(a){if(Array.isArray(a))return a}import React,{useEffect,useState}from"react";import{Checkbox}from"../checkbox/checkbox";import{DropdownItemStyles}from"../dropdown-item/dropdownItemStyles";import{flattenTree,getDropdownItemId,getValueAsList}from"../dropdownListUtils";import{Divider}from"./dropdownOverlayStyles";export var SelectAllOption=function(a){var b=a.item,c=a.focusedValue,d=a.size,e=a.items,f=a.selectedItems,g=a.onClick,h=a.onHover,i=useState("none"),j=_slicedToArray(i,2),k=j[0],l=j[1],m=function(){return flattenTree(e).filter(function(a){return!a.isDisabled&&!a.children})};return useEffect(function(){var a=getValueAsList(f);0===a.length?l("none"):a.length===m().length?l("checked"):l("indeterminate")},[e,f]),/*#__PURE__*/React.createElement(React.Fragment,null,/*#__PURE__*/React.createElement(DropdownItemStyles,{onClick:function onClick(){return g()},onMouseEnter:function onMouseEnter(){return h(b)},onMouseDown:function preventInputElementBlur(a){a.preventDefault()},isFocused:c===b.value,size:d,id:getDropdownItemId(b.value)},/*#__PURE__*/React.createElement(Checkbox,{size:d,isChecked:"checked"===k,isIndeterminate:"indeterminate"===k,isFocused:c===b.value}),b.label),/*#__PURE__*/React.createElement(Divider,null))};
function _slicedToArray(a,b){return _arrayWithHoles(a)||_iterableToArrayLimit(a,b)||_unsupportedIterableToArray(a,b)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(a,b){if(a){if("string"==typeof a)return _arrayLikeToArray(a,b);var c=Object.prototype.toString.call(a).slice(8,-1);return"Object"===c&&a.constructor&&(c=a.constructor.name),"Map"===c||"Set"===c?Array.from(a):"Arguments"===c||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(c)?_arrayLikeToArray(a,b):void 0}}function _arrayLikeToArray(a,b){(null==b||b>a.length)&&(b=a.length);for(var c=0,d=Array(b);c<b;c++)d[c]=a[c];return d}function _iterableToArrayLimit(b,c){var d=null==b?null:"undefined"!=typeof Symbol&&b[Symbol.iterator]||b["@@iterator"];if(null!=d){var g,h,j,k,l=[],a=!0,m=!1;try{if(j=(d=d.call(b)).next,0===c){if(Object(d)!==d)return;a=!1}else for(;!(a=(g=j.call(d)).done)&&(l.push(g.value),l.length!==c);a=!0);}catch(a){m=!0,h=a}finally{try{if(!a&&null!=d.return&&(k=d.return(),Object(k)!==k))return}finally{if(m)throw h}}return l}}function _arrayWithHoles(a){if(Array.isArray(a))return a}import React,{useEffect,useState}from"react";import{Checkbox}from"../checkbox/checkbox";import{DropdownItemStyles}from"../dropdown-item/dropdownItemStyles";import{flattenTree,getDropdownItemId,getValueAsList}from"../dropdownListUtils";import{Divider}from"./dropdownOverlayStyles";export var SelectAllOption=function(a){var b=a.item,c=a.focusedValue,d=a.size,e=a.items,f=a.selectedItems,g=a.onClick,h=a.onHover,i=useState("none"),j=_slicedToArray(i,2),k=j[0],l=j[1],m=function(){return flattenTree(e).filter(function(a){return!a.isDisabled&&!a.children})};return useEffect(function(){var a=getValueAsList(f);0===a.length?l("none"):a.length===m().length?l("checked"):l("indeterminate")},[e,f]),/*#__PURE__*/React.createElement(React.Fragment,null,/*#__PURE__*/React.createElement(DropdownItemStyles,{onClick:function onClick(){return g()},onMouseEnter:function onMouseEnter(){return h(b)},onMouseDown:function preventInputElementBlur(a){a.preventDefault()},isFocused:c===b.value,size:d,id:getDropdownItemId(b.value)},/*#__PURE__*/React.createElement(Checkbox,{size:d,isChecked:"checked"===k,isIndeterminate:"indeterminate"===k,isFocused:c===b.value}),b.label),/*#__PURE__*/React.createElement(Divider,null))};
//# sourceMappingURL=selectAllOption.js.map

@@ -5,3 +5,3 @@ /*

*/
var _excluded=["items","value","size","isDisabled","isFullWidth","isSearchable","allOptionsSelectedLabel","label","errorOptions","menuPosition","placeholder","placeholderIcon","isMulti","hasSelectAllOption","selectAllOption","noOptionsMessage","valueOnChange","onItemHover","hasLoadMoreItemsButton","onLoadMoreItems","isLoadingMoreItems","className","inlineStyle","webcomponent","ariaLabel"];function _typeof(a){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a},_typeof(a)}function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}function _defineProperty(a,b,c){return b=_toPropertyKey(b),b in a?Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}):a[b]=c,a}function _toPropertyKey(a){var b=_toPrimitive(a,"string");return"symbol"===_typeof(b)?b:b+""}function _toPrimitive(a,b){if("object"!==_typeof(a)||null===a)return a;var c=a[Symbol.toPrimitive];if(c!==void 0){var d=c.call(a,b||"default");if("object"!==_typeof(d))return d;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===b?String:Number)(a)}function _slicedToArray(a,b){return _arrayWithHoles(a)||_iterableToArrayLimit(a,b)||_unsupportedIterableToArray(a,b)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(a,b){if(a){if("string"==typeof a)return _arrayLikeToArray(a,b);var c=Object.prototype.toString.call(a).slice(8,-1);return"Object"===c&&a.constructor&&(c=a.constructor.name),"Map"===c||"Set"===c?Array.from(a):"Arguments"===c||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(c)?_arrayLikeToArray(a,b):void 0}}function _arrayLikeToArray(a,b){(null==b||b>a.length)&&(b=a.length);for(var c=0,d=Array(b);c<b;c++)d[c]=a[c];return d}function _iterableToArrayLimit(a,b){var c=null==a?null:"undefined"!=typeof Symbol&&a[Symbol.iterator]||a["@@iterator"];if(null!=c){var d,e,f,g,h=[],i=!0,j=!1;try{if(f=(c=c.call(a)).next,0===b){if(Object(c)!==c)return;i=!1}else for(;!(i=(d=f.call(c)).done)&&(h.push(d.value),h.length!==b);i=!0);}catch(a){j=!0,e=a}finally{try{if(!i&&null!=c.return&&(g=c.return(),Object(g)!==g))return}finally{if(j)throw e}}return h}}function _arrayWithHoles(a){if(Array.isArray(a))return a}function _objectWithoutProperties(a,b){if(null==a)return{};var c,d,e=_objectWithoutPropertiesLoose(a,b);if(Object.getOwnPropertySymbols){var f=Object.getOwnPropertySymbols(a);for(d=0;d<f.length;d++)c=f[d],0<=b.indexOf(c)||Object.prototype.propertyIsEnumerable.call(a,c)&&(e[c]=a[c])}return e}function _objectWithoutPropertiesLoose(a,b){if(null==a)return{};var c,d,e={},f=Object.keys(a);for(d=0;d<f.length;d++)c=f[d],0<=b.indexOf(c)||(e[c]=a[c]);return e}import React,{useEffect,useMemo,useRef,useState}from"react";import{config}from"./config";import{warnDeprecatedProps,FormFieldLabel,useConnectedOverlay,useInputModeDetection,useBreakpoint,useWebComponentState,IconWrapper}from"@elvia/elvis-toolbox";import arrowDownBold from"@elvia/elvis-assets-icons/dist/icons/arrowDownBold";import{DropdownInput}from"./dropdown-input/dropdownInput";import{DropdownContainer,DropdownInputContainer,IconRotator}from"./styledComponents";import{DropdownError}from"./error/dropdownError";import{DropdownOverlay}from"./dropdown-overlay/dropdownOverlay";import{flattenTree,getValueAsList}from"./dropdownListUtils";var filterItems=function(a,b){if(!b)return a;var c=flattenTree(a).filter(function(a){return!a.children}),d=c.filter(function(a){return a.label.toLowerCase().includes(b.toLowerCase())});return d},uniqueDropdownId=0,defaultErrorOptions={isErrorState:!1,hasErrorPlaceholder:!0},Dropdown=function(a){var b=a.items,c=void 0===b?[]:b,d=a.value,e=a.size,f=void 0===e?"medium":e,g=a.isDisabled,h=void 0!==g&&g,i=a.isFullWidth,j=a.isSearchable,k=a.allOptionsSelectedLabel,l=void 0===k?"Alle":k,m=a.label,n=void 0===m?"":m,o=a.errorOptions,p=a.menuPosition,q=void 0===p?"auto":p,r=a.placeholder,s=void 0===r?"":r,t=a.placeholderIcon,u=a.isMulti,v=void 0!==u&&u,w=a.hasSelectAllOption,x=a.selectAllOption,y=void 0===x?"Alle":x,z=a.noOptionsMessage,A=void 0===z?"Ingen tilgjengelige valg":z,B=a.valueOnChange,C=a.onItemHover,D=a.hasLoadMoreItemsButton,E=a.onLoadMoreItems,F=a.isLoadingMoreItems,G=a.className,H=a.inlineStyle,I=a.webcomponent,J=a.ariaLabel,K=_objectWithoutProperties(a,_excluded);warnDeprecatedProps(config,K);var L=useState(""),M=_slicedToArray(L,2),N=M[0],O=M[1],P=useInputModeDetection(),Q=P.inputMode,R=useBreakpoint("gt-mobile"),S=useWebComponentState(d,"value",I,B),T=_slicedToArray(S,2),U=T[0],V=T[1],W=useState(),X=_slicedToArray(W,2),Y=X[0],Z=X[1],$=useState(),_=_slicedToArray($,2),aa=_[0],ba=_[1],ca=useState("ewc-dropdown-overlay-".concat(uniqueDropdownId++)),da=_slicedToArray(ca,1),ea=da[0],fa=useMemo(function(){return filterItems(c,N)},[c,N]),ga=useRef(null),ha=useRef(null),ia=useConnectedOverlay(ga,ha,{offset:8,horizontalPosition:"center",verticalPosition:"top"===q?"top":"bottom",alignWidths:!0}),ja=ia.isShowing,ka=ia.setIsShowing,la=_objectSpread(_objectSpread({},defaultErrorOptions),o),ma=function(){if(!aa&&U)if(v)ba(fa[0]);else if(!Array.isArray(U)){var a=fa.find(function(a){return a.value===U});a&&ba(a)}};return useEffect(function(){if(!ja)return void O("");var a=function(a){"Escape"===a.code&&ka(!1)};return window.addEventListener("keydown",a),function(){return window.removeEventListener("keydown",a)}},[ja]),/*#__PURE__*/React.createElement(React.Fragment,null,/*#__PURE__*/React.createElement(DropdownContainer,{size:f,className:null!==G&&void 0!==G?G:"",style:_objectSpread({},H),isFullWidth:void 0!==i&&i,isDisabled:h,hasErrorPlaceholder:!!la.hasErrorPlaceholder||!!la.text,isActive:ja,isInvalid:!!la.text||!!la.isErrorState,"data-testid":"wrapper","aria-haspopup":"true"},!!n&&/*#__PURE__*/React.createElement(FormFieldLabel,null,n),/*#__PURE__*/React.createElement(DropdownInputContainer,{ref:ga},/*#__PURE__*/React.createElement(DropdownInput,{placeholder:s,placeholderIcon:t,allOptionsSelectedLabel:l,isEditable:void 0!==j&&j,onChange:function onChange(a){return O(a)},dropdownIsOpen:ja,isDisabled:h,items:c,onOpenDropdown:function onOpenDropdown(){return ka(!0)},onKeyPress:Z,currentVal:U,focusedItem:aa,id:ea,ariaLabel:J}),/*#__PURE__*/React.createElement(IconRotator,{isRotated:ja},/*#__PURE__*/React.createElement(IconWrapper,{icon:arrowDownBold,color:h?"text-disabled-1":"text-1",size:"small"===f?"xs":"sm"}))),!!la.text&&/*#__PURE__*/React.createElement(DropdownError,{errorText:la.text})),ja&&/*#__PURE__*/React.createElement(DropdownOverlay,{id:ea,ref:ha,isRootOverlay:!0,isGtMobile:R,noItemsText:A,isMulti:v,onItemSelect:function setSelectedItem(a){if(v){var b=getValueAsList(U);a.forEach(function(a){var c=b.indexOf(a);-1===c?b.push(a):b.splice(c,1)}),V(b),O("")}else V(a[0]);ma()},size:f,onClose:function onClose(){return ka(!1)},filteredItems:fa,inputIsKeyboard:"keyboard"===Q,allItems:c,pressedKey:Y,currentVal:U,selectAllOption:void 0!==w&&w&&v?y:void 0,hasLoadMoreItemsButton:D,onLoadMoreItems:function emitLoadMoreItems(){null===E||void 0===E?void 0:E(),null===I||void 0===I?void 0:I.triggerEvent("onLoadMoreItems")},isLoadingMoreItems:F,focusedItem:aa,setFocusedItem:function updateFocusedItem(a){(null===a||void 0===a?void 0:a.value)!==(null===aa||void 0===aa?void 0:aa.value)&&ba(a)},setHoveredItem:function emitHoveredItem(a){null===C||void 0===C?void 0:C(null===a||void 0===a?void 0:a.value),null===I||void 0===I?void 0:I.triggerEvent("onItemHover",null===a||void 0===a?void 0:a.value)},isSearchMode:!!N}))};export default Dropdown;
var _excluded=["items","value","size","isDisabled","isFullWidth","isSearchable","allOptionsSelectedLabel","label","errorOptions","menuPosition","placeholder","placeholderIcon","isMulti","hasSelectAllOption","selectAllOption","noOptionsMessage","valueOnChange","onItemHover","hasLoadMoreItemsButton","onLoadMoreItems","isLoadingMoreItems","className","inlineStyle","webcomponent","ariaLabel"];function _typeof(a){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a},_typeof(a)}function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}function _defineProperty(a,b,c){return b=_toPropertyKey(b),b in a?Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}):a[b]=c,a}function _toPropertyKey(a){var b=_toPrimitive(a,"string");return"symbol"===_typeof(b)?b:b+""}function _toPrimitive(a,b){if("object"!==_typeof(a)||null===a)return a;var c=a[Symbol.toPrimitive];if(c!==void 0){var d=c.call(a,b||"default");if("object"!==_typeof(d))return d;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===b?String:Number)(a)}function _slicedToArray(a,b){return _arrayWithHoles(a)||_iterableToArrayLimit(a,b)||_unsupportedIterableToArray(a,b)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(a,b){if(a){if("string"==typeof a)return _arrayLikeToArray(a,b);var c=Object.prototype.toString.call(a).slice(8,-1);return"Object"===c&&a.constructor&&(c=a.constructor.name),"Map"===c||"Set"===c?Array.from(a):"Arguments"===c||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(c)?_arrayLikeToArray(a,b):void 0}}function _arrayLikeToArray(a,b){(null==b||b>a.length)&&(b=a.length);for(var c=0,d=Array(b);c<b;c++)d[c]=a[c];return d}function _iterableToArrayLimit(b,c){var d=null==b?null:"undefined"!=typeof Symbol&&b[Symbol.iterator]||b["@@iterator"];if(null!=d){var g,h,j,k,l=[],a=!0,m=!1;try{if(j=(d=d.call(b)).next,0===c){if(Object(d)!==d)return;a=!1}else for(;!(a=(g=j.call(d)).done)&&(l.push(g.value),l.length!==c);a=!0);}catch(a){m=!0,h=a}finally{try{if(!a&&null!=d.return&&(k=d.return(),Object(k)!==k))return}finally{if(m)throw h}}return l}}function _arrayWithHoles(a){if(Array.isArray(a))return a}function _objectWithoutProperties(a,b){if(null==a)return{};var c,d,e=_objectWithoutPropertiesLoose(a,b);if(Object.getOwnPropertySymbols){var f=Object.getOwnPropertySymbols(a);for(d=0;d<f.length;d++)c=f[d],0<=b.indexOf(c)||Object.prototype.propertyIsEnumerable.call(a,c)&&(e[c]=a[c])}return e}function _objectWithoutPropertiesLoose(a,b){if(null==a)return{};var c,d,e={},f=Object.keys(a);for(d=0;d<f.length;d++)c=f[d],0<=b.indexOf(c)||(e[c]=a[c]);return e}import React,{useEffect,useMemo,useRef,useState}from"react";import{config}from"./config";import{warnDeprecatedProps,FormFieldLabel,useConnectedOverlay,useInputModeDetection,useBreakpoint,useWebComponentState,IconWrapper}from"@elvia/elvis-toolbox";import arrowDownBold from"@elvia/elvis-assets-icons/dist/icons/arrowDownBold";import{DropdownInput}from"./dropdown-input/dropdownInput";import{DropdownContainer,DropdownInputContainer,IconRotator}from"./styledComponents";import{DropdownError}from"./error/dropdownError";import{DropdownOverlay}from"./dropdown-overlay/dropdownOverlay";import{flattenTree,getValueAsList}from"./dropdownListUtils";var filterItems=function(a,b){if(!b)return a;var c=flattenTree(a).filter(function(a){return!a.children}),d=c.filter(function(a){return a.label.toLowerCase().includes(b.toLowerCase())});return d},uniqueDropdownId=0,defaultErrorOptions={isErrorState:!1,hasErrorPlaceholder:!0},Dropdown=function(a){var b=a.items,c=void 0===b?[]:b,d=a.value,e=a.size,f=void 0===e?"medium":e,g=a.isDisabled,h=void 0!==g&&g,i=a.isFullWidth,j=a.isSearchable,k=a.allOptionsSelectedLabel,l=void 0===k?"Alle":k,m=a.label,n=void 0===m?"":m,o=a.errorOptions,p=a.menuPosition,q=void 0===p?"auto":p,r=a.placeholder,s=void 0===r?"":r,t=a.placeholderIcon,u=a.isMulti,v=void 0!==u&&u,w=a.hasSelectAllOption,x=a.selectAllOption,y=void 0===x?"Alle":x,z=a.noOptionsMessage,A=void 0===z?"Ingen tilgjengelige valg":z,B=a.valueOnChange,C=a.onItemHover,D=a.hasLoadMoreItemsButton,E=a.onLoadMoreItems,F=a.isLoadingMoreItems,G=a.className,H=a.inlineStyle,I=a.webcomponent,J=a.ariaLabel,K=_objectWithoutProperties(a,_excluded);warnDeprecatedProps(config,K);var L=useState(""),M=_slicedToArray(L,2),N=M[0],O=M[1],P=useInputModeDetection(),Q=P.inputMode,R=useBreakpoint("gt-mobile"),S=useWebComponentState(d,"value",I,B),T=_slicedToArray(S,2),U=T[0],V=T[1],W=useState(),X=_slicedToArray(W,2),Y=X[0],Z=X[1],$=useState(),_=_slicedToArray($,2),aa=_[0],ba=_[1],ca=useState("ewc-dropdown-overlay-".concat(uniqueDropdownId++)),da=_slicedToArray(ca,1),ea=da[0],fa=useMemo(function(){return filterItems(c,N)},[c,N]),ga=useRef(null),ha=useRef(null),ia=useConnectedOverlay(ga,ha,{offset:8,horizontalPosition:"center",verticalPosition:"top"===q?"top":"bottom",alignWidths:!0}),ja=ia.isShowing,ka=ia.setIsShowing,la=_objectSpread(_objectSpread({},defaultErrorOptions),o),ma=function(){if(!aa&&U)if(v)ba(fa[0]);else if(!Array.isArray(U)){var a=fa.find(function(a){return a.value===U});a&&ba(a)}};return useEffect(function(){if(!ja)return void O("");var a=function(a){"Escape"===a.code&&ka(!1)};return window.addEventListener("keydown",a),function(){return window.removeEventListener("keydown",a)}},[ja]),/*#__PURE__*/React.createElement(React.Fragment,null,/*#__PURE__*/React.createElement(DropdownContainer,{size:f,className:null!==G&&void 0!==G?G:"",style:_objectSpread({},H),isFullWidth:void 0!==i&&i,isDisabled:h,hasErrorPlaceholder:!!la.hasErrorPlaceholder||!!la.text,isActive:ja,isInvalid:!!la.text||!!la.isErrorState,"data-testid":"wrapper","aria-haspopup":"true"},!!n&&/*#__PURE__*/React.createElement(FormFieldLabel,null,n),/*#__PURE__*/React.createElement(DropdownInputContainer,{ref:ga},/*#__PURE__*/React.createElement(DropdownInput,{placeholder:s,placeholderIcon:t,allOptionsSelectedLabel:l,isEditable:void 0!==j&&j,onChange:function onChange(a){return O(a)},dropdownIsOpen:ja,isDisabled:h,items:c,onOpenDropdown:function onOpenDropdown(){return ka(!0)},onKeyPress:Z,currentVal:U,focusedItem:aa,id:ea,ariaLabel:J}),/*#__PURE__*/React.createElement(IconRotator,{isRotated:ja},/*#__PURE__*/React.createElement(IconWrapper,{icon:arrowDownBold,color:h?"text-disabled-1":"text-1",size:"small"===f?"xs":"sm"}))),!!la.text&&/*#__PURE__*/React.createElement(DropdownError,{errorText:la.text})),ja&&/*#__PURE__*/React.createElement(DropdownOverlay,{id:ea,ref:ha,isRootOverlay:!0,isGtMobile:R,noItemsText:A,isMulti:v,onItemSelect:function setSelectedItem(a){if(v){var b=getValueAsList(U);a.forEach(function(a){var c=b.indexOf(a);-1===c?b.push(a):b.splice(c,1)}),V(b),O("")}else V(a[0]);ma()},size:f,onClose:function onClose(){return ka(!1)},filteredItems:fa,inputIsKeyboard:"keyboard"===Q,allItems:c,pressedKey:Y,currentVal:U,selectAllOption:void 0!==w&&w&&v?y:void 0,hasLoadMoreItemsButton:D,onLoadMoreItems:function emitLoadMoreItems(){null===E||void 0===E||E(),null===I||void 0===I||I.triggerEvent("onLoadMoreItems")},isLoadingMoreItems:F,focusedItem:aa,setFocusedItem:function updateFocusedItem(a){(null===a||void 0===a?void 0:a.value)!==(null===aa||void 0===aa?void 0:aa.value)&&ba(a)},setHoveredItem:function emitHoveredItem(a){null===C||void 0===C||C(null===a||void 0===a?void 0:a.value),null===I||void 0===I||I.triggerEvent("onItemHover",null===a||void 0===a?void 0:a.value)},isSearchMode:!!N}))};export default Dropdown;
//# sourceMappingURL=elvia-dropdown.js.map
{
"name": "@elvia/elvis-dropdown",
"version": "9.0.0",
"version": "9.0.1",
"main": "web_component.js",

@@ -20,3 +20,3 @@ "license": "MIT",

"@elvia/elvis-component-wrapper": "^4.1.3",
"@elvia/elvis-toolbox": "^11.0.0",
"@elvia/elvis-toolbox": "^11.0.1",
"@elvia/elvis-tooltip": "^1.3.0",

@@ -23,0 +23,0 @@ "@elvia/elvis-typography": "^2.4.0",

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc