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 6.1.0 to 6.1.1

10

CHANGELOG.json

@@ -5,2 +5,12 @@ {

{
"date": "04.05.23",
"version": "6.1.1",
"changelog": [
{
"type": "bug_fix",
"changes": ["Fixed the color of the error state icon."]
}
]
},
{
"date": "03.05.23",

@@ -7,0 +17,0 @@ "version": "6.1.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=!0,h=!1;try{for(c=c.call(a);!(g=(d=c.next()).done)&&(f.push(d.value),!(b&&f.length===b));g=!0);}catch(a){h=!0,e=a}finally{try{g||null==c["return"]||c["return"]()}finally{if(h)throw e}}return f}}function _arrayWithHoles(a){if(Array.isArray(a))return a}import{Icon}from"@elvia/elvis-icon/react";import React,{useEffect,useState}from"react";import{flattenTree,getDropdownItemId}from"../dropdownListUtils";import{getThemeColor}from"@elvia/elvis-colors";import{Input}from"./dropdownInputStyles";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(Icon,{name:c,size:"xs",color:g?getThemeColor("text-disabled-1"):getThemeColor("text-3")}),!!v&&/*#__PURE__*/React.createElement(Icon,{name:v,color:g?getThemeColor("text-disabled-1"):getThemeColor("text-1")}),/*#__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,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(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{Icon}from"@elvia/elvis-icon/react";import React,{useEffect,useState}from"react";import{flattenTree,getDropdownItemId}from"../dropdownListUtils";import{getThemeColor}from"@elvia/elvis-colors";import{Input}from"./dropdownInputStyles";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(Icon,{name:c,size:"xs",color:g?getThemeColor("text-disabled-1"):getThemeColor("text-3")}),!!v&&/*#__PURE__*/React.createElement(Icon,{name:v,color:g?getThemeColor("text-disabled-1"):getThemeColor("text-1")}),/*#__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,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=!0,h=!1;try{for(c=c.call(a);!(g=(d=c.next()).done)&&(f.push(d.value),!(b&&f.length===b));g=!0);}catch(a){h=!0,e=a}finally{try{g||null==c["return"]||c["return"]()}finally{if(h)throw e}}return f}}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.isCompact,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=a.currentTheme,s=useRef(null),t=useRef(null),u=useConnectedOverlay(p?s:o,t,{offset:0,horizontalPosition:p?"right":"center",verticalPosition:"top-inside",alignWidths:!p}),v=u.isShowing,w=u.setIsShowing,x=useState(),y=_slicedToArray(x,2),z=y[0],A=y[1],B=useMemo(function(){return d.children?flattenTree(d.children).filter(function(a){return!a.isDisabled&&!a.children}):[]},[d]),C=function(a){var b=getValueAsList(e);return b.includes(a.value)},D=useMemo(function(){var a=getValueAsList(e);return d.children?B.every(function(b){return a.includes(b.value)}):C(d)},[d,e]),E=useMemo(function(){return B.some(function(a){return C(a)})},[B]),F=useMemo(function(){if(g){var a=B;return a.some(C)&&!a.every(C)}return!1},[B,g,e]),G=function(a){w(a)},H=function(){d.isDisabled||k||(i(d),j(d)),d.children&&p&&!d.isDisabled&&(isSsr()?G(!0):(window.clearTimeout(z),A(function(){return window.setTimeout(function(){return G(!0)},200)})))},I=function(){d.isDisabled||(p||g||!d.children?m(d):G(!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&&w(!0)},[n]),useEffect(function(){if(v||z){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()&&(v&&p&&w(!1),z&&!isSsr()&&(window.clearTimeout(z),A(function(){return 0})))}},[h]),useEffect(function(){return function(){z&&!isSsr()&&window.clearTimeout(z)}},[]),/*#__PURE__*/React.createElement(React.Fragment,null,/*#__PURE__*/React.createElement(DropdownItemStyles,{ref:s,isFocused:(null===h||void 0===h?void 0:h.value)===d.value&&k||v||E&&!g,isActive:D,isCompact:f,isDisabled:d.isDisabled,isGtMobile:p,isMulti:g,onClick:function(){return I()},onMouseEnter:function onMouseEnter(){return H()},onMouseDown:function onMouseDown(a){return a.preventDefault()},id:getDropdownItemId(d.value),"aria-disabled":d.isDisabled,"aria-haspopup":d.children?"listbox":"false","aria-expanded":v,"aria-selected":D,"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||v,isIndeterminate:F,isChecked:D,isCompact:f,isDisabled:d.isDisabled,currentTheme:r}),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:s})),d.children&&/*#__PURE__*/React.createElement(IconContainer,null,/*#__PURE__*/React.createElement(OpenOverlayButton,{size:f?"sm":"md",disabled:p||!g,onClick:function(a){a.stopPropagation(),G(!0)}},/*#__PURE__*/React.createElement(IconWrapper,{icon:arrowRight,size:f?"xs":"sm",color:d.isDisabled?getThemeColor("text-disabled-1"):""})))),v&&/*#__PURE__*/React.createElement(DropdownOverlay,{ref:t,isGtMobile:p,filteredItems:null!==(c=d.children)&&void 0!==c?c:[],isCompact:!!f,onClose:function onClose(){return G(!1)},isMulti:g,onItemSelect:function onItemSelect(a){return l(a)},currentVal:e,pressedKey:n,inputIsKeyboard:k,focusedItem:h,setFocusedItem:i,setHoveredItem:j,parentItem:d,currentTheme:r}))};
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.isCompact,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=a.currentTheme,s=useRef(null),t=useRef(null),u=useConnectedOverlay(p?s:o,t,{offset:0,horizontalPosition:p?"right":"center",verticalPosition:"top-inside",alignWidths:!p}),v=u.isShowing,w=u.setIsShowing,x=useState(),y=_slicedToArray(x,2),z=y[0],A=y[1],B=useMemo(function(){return d.children?flattenTree(d.children).filter(function(a){return!a.isDisabled&&!a.children}):[]},[d]),C=function(a){var b=getValueAsList(e);return b.includes(a.value)},D=useMemo(function(){var a=getValueAsList(e);return d.children?B.every(function(b){return a.includes(b.value)}):C(d)},[d,e]),E=useMemo(function(){return B.some(function(a){return C(a)})},[B]),F=useMemo(function(){if(g){var a=B;return a.some(C)&&!a.every(C)}return!1},[B,g,e]),G=function(a){w(a)},H=function(){d.isDisabled||k||(i(d),j(d)),d.children&&p&&!d.isDisabled&&(isSsr()?G(!0):(window.clearTimeout(z),A(function(){return window.setTimeout(function(){return G(!0)},200)})))},I=function(){d.isDisabled||(p||g||!d.children?m(d):G(!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&&w(!0)},[n]),useEffect(function(){if(v||z){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()&&(v&&p&&w(!1),z&&!isSsr()&&(window.clearTimeout(z),A(function(){return 0})))}},[h]),useEffect(function(){return function(){z&&!isSsr()&&window.clearTimeout(z)}},[]),/*#__PURE__*/React.createElement(React.Fragment,null,/*#__PURE__*/React.createElement(DropdownItemStyles,{ref:s,isFocused:(null===h||void 0===h?void 0:h.value)===d.value&&k||v||E&&!g,isActive:D,isCompact:f,isDisabled:d.isDisabled,isGtMobile:p,isMulti:g,onClick:function(){return I()},onMouseEnter:function onMouseEnter(){return H()},onMouseDown:function onMouseDown(a){return a.preventDefault()},id:getDropdownItemId(d.value),"aria-disabled":d.isDisabled,"aria-haspopup":d.children?"listbox":"false","aria-expanded":v,"aria-selected":D,"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||v,isIndeterminate:F,isChecked:D,isCompact:f,isDisabled:d.isDisabled,currentTheme:r}),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:s})),d.children&&/*#__PURE__*/React.createElement(IconContainer,null,/*#__PURE__*/React.createElement(OpenOverlayButton,{size:f?"sm":"md",disabled:p||!g,onClick:function(a){a.stopPropagation(),G(!0)}},/*#__PURE__*/React.createElement(IconWrapper,{icon:arrowRight,size:f?"xs":"sm",color:d.isDisabled?getThemeColor("text-disabled-1"):""})))),v&&/*#__PURE__*/React.createElement(DropdownOverlay,{ref:t,isGtMobile:p,filteredItems:null!==(c=d.children)&&void 0!==c?c:[],isCompact:!!f,onClose:function onClose(){return G(!1)},isMulti:g,onItemSelect:function onItemSelect(a){return l(a)},currentVal:e,pressedKey:n,inputIsKeyboard:k,focusedItem:h,setFocusedItem:i,setHoveredItem:j,parentItem:d,currentTheme:r}))};
//# 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=!0,h=!1;try{for(c=c.call(a);!(g=(d=c.next()).done)&&(f.push(d.value),!(b&&f.length===b));g=!0);}catch(a){h=!0,e=a}finally{try{g||null==c["return"]||c["return"]()}finally{if(h)throw e}}return f}}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{Icon}from"@elvia/elvis-icon/react";import{Overlay}from"@elvia/elvis-toolbox";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.isCompact,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=a.currentTheme,z=useState(d),A=_slicedToArray(z,1),B=A[0],C=useRef(null),D=useState(!1),E=_slicedToArray(D,2),F=E[0],G=E[1],H=useState({label:null!==o&&void 0!==o?o:"",value:"selectAll-".concat(uniqueId++)}),I=_slicedToArray(H,1),J=I[0],K=useState({label:"Tilbake",value:"back-".concat(uniqueId++)}),L=_slicedToArray(K,1),M=L[0],N=useState({label:"Last inn flere",value:"loadMore-".concat(uniqueId++)}),O=_slicedToArray(N,1),P=O[0],Q=useMemo(function(){var a=e.slice();return d||c||a.unshift(M),o&&a.length&&a.unshift(J),p&&a.push(P),a},[e,d,o,p]),R=useMemo(function(){return e.every(function(a){return a.icon})},[e]),S=useMemo(function(){return Q.some(function(a){return(null===s||void 0===s?void 0:s.value)===a.value})},[Q,s]),T=function(a){var b=getValueAsList(l);return b.includes(a.value)},U=function(a){return flattenTree(null!==a&&void 0!==a?a:[]).filter(function(a){return!a.isDisabled&&!a.children})},V=function(a){if(!a.isDisabled){if(i&&a.children){var b=U(a.children);b.every(T)?m(b.map(function(a){return a.value})):m(b.filter(function(a){return!T(a)}).map(function(a){return a.value}))}else a.children||(m([a.value]),i||G(!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(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{Icon}from"@elvia/elvis-icon/react";import{Overlay}from"@elvia/elvis-toolbox";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.isCompact,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=a.currentTheme,z=useState(d),A=_slicedToArray(z,1),B=A[0],C=useRef(null),D=useState(!1),E=_slicedToArray(D,2),F=E[0],G=E[1],H=useState({label:null!==o&&void 0!==o?o:"",value:"selectAll-".concat(uniqueId++)}),I=_slicedToArray(H,1),J=I[0],K=useState({label:"Tilbake",value:"back-".concat(uniqueId++)}),L=_slicedToArray(K,1),M=L[0],N=useState({label:"Last inn flere",value:"loadMore-".concat(uniqueId++)}),O=_slicedToArray(N,1),P=O[0],Q=useMemo(function(){var a=e.slice();return d||c||a.unshift(M),o&&a.length&&a.unshift(J),p&&a.push(P),a},[e,d,o,p]),R=useMemo(function(){return e.every(function(a){return a.icon})},[e]),S=useMemo(function(){return Q.some(function(a){return(null===s||void 0===s?void 0:s.value)===a.value})},[Q,s]),T=function(a){var b=getValueAsList(l);return b.includes(a.value)},U=function(a){return flattenTree(null!==a&&void 0!==a?a:[]).filter(function(a){return!a.isDisabled&&!a.children})},V=function(a){if(!a.isDisabled){if(i&&a.children){var b=U(a.children);b.every(T)?m(b.map(function(a){return a.value})):m(b.filter(function(a){return!T(a)}).map(function(a){return a.value}))}else a.children||(m([a.value]),i||G(!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])}},W=function(){v&&(G(!0),t(v))},X=function(a){var b=Q.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)===J.value?Y():(null===s||void 0===s?void 0:s.value)===P.value?q&&q():(null===s||void 0===s?void 0:s.value)===M.value?W():s&&!s.children&&V(s);else if("ArrowUp"===a.code){a.preventDefault();var c=0>b-1?Q.length-1:b-1;t(Q[c])}else if("ArrowDown"===a.code){a.preventDefault();var d=b+1>Q.length-1?0:b+1;t(Q[d])}else"ArrowLeft"===a.code&&(a.preventDefault(),W())},Y=function(){var a=U(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!T(a)});m(c.map(function(a){return a.value}))}};return useEffect(function(){n&&(S||c&&w)&&X(n)},[n]),useEffect(function(){g&&s&&function scrollItemListToFocusedItem(a){var b=h?40:48,c=Q.findIndex(function(b){return b.value===a.value});if(-1!==c){var d,e;null===(d=C.current)||void 0===d?void 0:d.scrollTo({top:b*c-(null===(e=C.current)||void 0===e?void 0:e.offsetHeight)/2})}}(s)},[s]),useEffect(function(){B!==d&&j()},[d]),useEffect(function(){(function focusFirstItemOnInit(){(g||c&&!S||!d)&&t(Q[0])})()},[]),/*#__PURE__*/React.createElement(Overlay,{ref:b,hasBackdrop:!!c,onClose:j,startFade:F,hasAnimation:!!c||d},/*#__PURE__*/React.createElement(DropdownPopupContainer,{"data-testid":"popover",id:x,onMouseLeave:function onMouseLeave(){return u&&u(void 0)},isCompact:h},!c&&d&&/*#__PURE__*/React.createElement(CursorCurve,null),/*#__PURE__*/React.createElement(DropdownPopup,{isInvisible:!d&&!S},/*#__PURE__*/React.createElement(ItemList,{ref:C},!(null!==e&&void 0!==e&&e.length)&&/*#__PURE__*/React.createElement(NoItemsMessage,null,k),!d&&!c&&/*#__PURE__*/React.createElement(BackButton,{item:M,onClick:function onClick(){return W()},onHover:function onHover(a){return t(a)},focusedValue:null===s||void 0===s?void 0:s.value,isCompact:h,inputIsKeyboard:g}),o&&c&&!!e.length&&/*#__PURE__*/React.createElement(SelectAllOption,{focusedValue:null===s||void 0===s?void 0:s.value,isCompact:h,item:J,items:null!==f&&void 0!==f?f:[],selectedItems:l,onClick:Y,onHover:function onHover(a){return t(a)},currentTheme:y}),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)&&G(!0)},setHoveredItem:function setHoveredItem(a){u&&u(a)},isCompact:h,isMulti:i,inputIsKeyboard:g,currentVal:l,onItemSelect:function onItemSelect(a){m(a),i||G(!0)},onClick:function onClick(a){return V(a)},pressedKey:n,listRef:C,isGtMobile:d,currentTheme:y},a.icon&&!i&&R&&/*#__PURE__*/React.createElement(Icon,{name:a.icon,color:a.isDisabled?"disabled":"elvia-off",size:h?"xs":"sm"}),/*#__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:P,isLoadingMoreItems:r,onLoadMoreItems:q,isCompact: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=!0,h=!1;try{for(c=c.call(a);!(g=(d=c.next()).done)&&(f.push(d.value),!(b&&f.length===b));g=!0);}catch(a){h=!0,e=a}finally{try{g||null==c["return"]||c["return"]()}finally{if(h)throw e}}return f}}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.isCompact,e=a.items,f=a.selectedItems,g=a.currentTheme,h=a.onClick,i=a.onHover,j=useState("none"),k=_slicedToArray(j,2),l=k[0],m=k[1],n=function(){return flattenTree(e).filter(function(a){return!a.isDisabled&&!a.children})};return useEffect(function(){var a=getValueAsList(f);0===a.length?m("none"):a.length===n().length?m("checked"):m("indeterminate")},[e,f]),/*#__PURE__*/React.createElement(React.Fragment,null,/*#__PURE__*/React.createElement(DropdownItemStyles,{onClick:function onClick(){return h()},onMouseEnter:function onMouseEnter(){return i(b)},onMouseDown:function preventInputElementBlur(a){a.preventDefault()},isFocused:c===b.value,isCompact:d,id:getDropdownItemId(b.value)},/*#__PURE__*/React.createElement(Checkbox,{isCompact:d,isChecked:"checked"===l,isIndeterminate:"indeterminate"===l,isFocused:c===b.value,currentTheme:g}),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(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.isCompact,e=a.items,f=a.selectedItems,g=a.currentTheme,h=a.onClick,i=a.onHover,j=useState("none"),k=_slicedToArray(j,2),l=k[0],m=k[1],n=function(){return flattenTree(e).filter(function(a){return!a.isDisabled&&!a.children})};return useEffect(function(){var a=getValueAsList(f);0===a.length?m("none"):a.length===n().length?m("checked"):m("indeterminate")},[e,f]),/*#__PURE__*/React.createElement(React.Fragment,null,/*#__PURE__*/React.createElement(DropdownItemStyles,{onClick:function onClick(){return h()},onMouseEnter:function onMouseEnter(){return i(b)},onMouseDown:function preventInputElementBlur(a){a.preventDefault()},isFocused:c===b.value,isCompact:d,id:getDropdownItemId(b.value)},/*#__PURE__*/React.createElement(Checkbox,{isCompact:d,isChecked:"checked"===l,isIndeterminate:"indeterminate"===l,isFocused:c===b.value,currentTheme:g}),b.label),/*#__PURE__*/React.createElement(Divider,null))};
//# sourceMappingURL=selectAllOption.js.map

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

*/
var _excluded=["items","value","isCompact","isDisabled","isFullWidth","isSearchable","allOptionsSelectedLabel","label","errorOptions","menuPosition","placeholder","placeholderIcon","isMulti","hasSelectAllOption","selectAllOption","noOptionsMessage","valueOnChange","onItemHover","hasLoadMoreItemsButton","onLoadMoreItems","isLoadingMoreItems","className","inlineStyle","webcomponent","ariaLabel"];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 in a?Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}):a[b]=c,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=!0,h=!1;try{for(c=c.call(a);!(g=(d=c.next()).done)&&(f.push(d.value),!(b&&f.length===b));g=!0);}catch(a){h=!0,e=a}finally{try{g||null==c["return"]||c["return"]()}finally{if(h)throw e}}return f}}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,useCurrentTheme}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";import{getThemeColor}from"@elvia/elvis-colors";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,Dropdown=function(a){var b=a.items,c=void 0===b?[]:b,d=a.value,e=a.isCompact,f=void 0!==e&&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=void 0===o?{isErrorState:!1,hasErrorPlaceholder:!0}:o,q=a.menuPosition,r=void 0===q?"auto":q,s=a.placeholder,t=void 0===s?"":s,u=a.placeholderIcon,v=a.isMulti,w=void 0!==v&&v,x=a.hasSelectAllOption,y=a.selectAllOption,z=void 0===y?"Alle":y,A=a.noOptionsMessage,B=void 0===A?"Ingen tilgjengelige valg":A,C=a.valueOnChange,D=a.onItemHover,E=a.hasLoadMoreItemsButton,F=a.onLoadMoreItems,G=a.isLoadingMoreItems,H=a.className,I=a.inlineStyle,J=a.webcomponent,K=a.ariaLabel,L=_objectWithoutProperties(a,_excluded);warnDeprecatedProps(config,L);var M=useState(""),N=_slicedToArray(M,2),O=N[0],P=N[1],Q=useInputModeDetection(),R=Q.inputMode,S=useBreakpoint("gt-mobile"),T=useWebComponentState(d,"value",J,C),U=_slicedToArray(T,2),V=U[0],W=U[1],X=useState(),Y=_slicedToArray(X,2),Z=Y[0],$=Y[1],_=useState(),aa=_slicedToArray(_,2),ba=aa[0],ca=aa[1],da=useState("ewc-dropdown-overlay-".concat(uniqueDropdownId++)),ea=_slicedToArray(da,1),fa=ea[0],ga=useMemo(function(){return filterItems(c,O)},[c,O]),ha=useRef(null),ia=useRef(null),ja=useConnectedOverlay(ha,ia,{offset:8,horizontalPosition:"center",verticalPosition:"top"===r?"top":"bottom",alignWidths:!0}),ka=ja.isShowing,la=ja.setIsShowing,ma=useCurrentTheme(ha),na=ma.currentTheme,oa=function(){if(!ba&&V)if(w)ca(ga[0]);else if(!Array.isArray(V)){var a=ga.find(function(a){return a.value===V});a&&ca(a)}};return useEffect(function(){if(!ka)return void P("");var a=function(a){"Escape"===a.code&&la(!1)};return window.addEventListener("keydown",a),function(){return window.removeEventListener("keydown",a)}},[ka]),/*#__PURE__*/React.createElement(React.Fragment,null,/*#__PURE__*/React.createElement(DropdownContainer,{isCompact:f,className:null!==H&&void 0!==H?H:"",style:_objectSpread({},I),isFullWidth:void 0!==i&&i,isDisabled:h,hasErrorPlaceholder:!!p.hasErrorPlaceholder||!!p.text,isActive:ka,isInvalid:!!p.text||!!p.isErrorState,"data-testid":"wrapper","aria-haspopup":"true"},!!n&&/*#__PURE__*/React.createElement(FormFieldLabel,null,n),/*#__PURE__*/React.createElement(DropdownInputContainer,{ref:ha},/*#__PURE__*/React.createElement(DropdownInput,{placeholder:t,placeholderIcon:u,allOptionsSelectedLabel:l,isEditable:void 0!==j&&j,onChange:function onChange(a){return P(a)},dropdownIsOpen:ka,isDisabled:h,items:c,onOpenDropdown:function onOpenDropdown(){return la(!0)},onKeyPress:$,currentVal:V,focusedItem:ba,id:fa,ariaLabel:K}),/*#__PURE__*/React.createElement(IconRotator,{isRotated:ka},/*#__PURE__*/React.createElement(IconWrapper,{icon:arrowDownBold,color:h?getThemeColor("text-disabled-1"):getThemeColor("text-1"),size:f?"xs":"sm"}))),!!p.text&&/*#__PURE__*/React.createElement(DropdownError,{errorText:p.text})),ka&&/*#__PURE__*/React.createElement(DropdownOverlay,{id:fa,ref:ia,isRootOverlay:!0,isGtMobile:S,noItemsText:B,isMulti:w,onItemSelect:function setSelectedItem(a){if(w){var b=getValueAsList(V);a.forEach(function(a){var c=b.indexOf(a);-1===c?b.push(a):b.splice(c,1)}),W(b),P("")}else W(a[0]);oa()},isCompact:f,onClose:function onClose(){return la(!1)},filteredItems:ga,inputIsKeyboard:"keyboard"===R,allItems:c,pressedKey:Z,currentVal:V,selectAllOption:void 0!==x&&x&&w?z:void 0,hasLoadMoreItemsButton:E,onLoadMoreItems:function emitLoadMoreItems(){null===F||void 0===F?void 0:F(),null===J||void 0===J?void 0:J.triggerEvent("onLoadMoreItems")},isLoadingMoreItems:G,focusedItem:ba,setFocusedItem:function updateFocusedItem(a){(null===a||void 0===a?void 0:a.value)!==(null===ba||void 0===ba?void 0:ba.value)&&ca(a)},setHoveredItem:function emitHoveredItem(a){null===D||void 0===D?void 0:D(null===a||void 0===a?void 0:a.value),null===J||void 0===J?void 0:J.triggerEvent("onItemHover",null===a||void 0===a?void 0:a.value)},isSearchMode:!!O,currentTheme:na}))};export default Dropdown;
var _excluded=["items","value","isCompact","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,useCurrentTheme}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,Dropdown=function(a){var b=a.items,c=void 0===b?[]:b,d=a.value,e=a.isCompact,f=void 0!==e&&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=void 0===o?{isErrorState:!1,hasErrorPlaceholder:!0}:o,q=a.menuPosition,r=void 0===q?"auto":q,s=a.placeholder,t=void 0===s?"":s,u=a.placeholderIcon,v=a.isMulti,w=void 0!==v&&v,x=a.hasSelectAllOption,y=a.selectAllOption,z=void 0===y?"Alle":y,A=a.noOptionsMessage,B=void 0===A?"Ingen tilgjengelige valg":A,C=a.valueOnChange,D=a.onItemHover,E=a.hasLoadMoreItemsButton,F=a.onLoadMoreItems,G=a.isLoadingMoreItems,H=a.className,I=a.inlineStyle,J=a.webcomponent,K=a.ariaLabel,L=_objectWithoutProperties(a,_excluded);warnDeprecatedProps(config,L);var M=useState(""),N=_slicedToArray(M,2),O=N[0],P=N[1],Q=useInputModeDetection(),R=Q.inputMode,S=useBreakpoint("gt-mobile"),T=useWebComponentState(d,"value",J,C),U=_slicedToArray(T,2),V=U[0],W=U[1],X=useState(),Y=_slicedToArray(X,2),Z=Y[0],$=Y[1],_=useState(),aa=_slicedToArray(_,2),ba=aa[0],ca=aa[1],da=useState("ewc-dropdown-overlay-".concat(uniqueDropdownId++)),ea=_slicedToArray(da,1),fa=ea[0],ga=useMemo(function(){return filterItems(c,O)},[c,O]),ha=useRef(null),ia=useRef(null),ja=useConnectedOverlay(ha,ia,{offset:8,horizontalPosition:"center",verticalPosition:"top"===r?"top":"bottom",alignWidths:!0}),ka=ja.isShowing,la=ja.setIsShowing,ma=useCurrentTheme(ha),na=ma.currentTheme,oa=function(){if(!ba&&V)if(w)ca(ga[0]);else if(!Array.isArray(V)){var a=ga.find(function(a){return a.value===V});a&&ca(a)}};return useEffect(function(){if(!ka)return void P("");var a=function(a){"Escape"===a.code&&la(!1)};return window.addEventListener("keydown",a),function(){return window.removeEventListener("keydown",a)}},[ka]),/*#__PURE__*/React.createElement(React.Fragment,null,/*#__PURE__*/React.createElement(DropdownContainer,{isCompact:f,className:null!==H&&void 0!==H?H:"",style:_objectSpread({},I),isFullWidth:void 0!==i&&i,isDisabled:h,hasErrorPlaceholder:!!p.hasErrorPlaceholder||!!p.text,isActive:ka,isInvalid:!!p.text||!!p.isErrorState,"data-testid":"wrapper","aria-haspopup":"true"},!!n&&/*#__PURE__*/React.createElement(FormFieldLabel,null,n),/*#__PURE__*/React.createElement(DropdownInputContainer,{ref:ha},/*#__PURE__*/React.createElement(DropdownInput,{placeholder:t,placeholderIcon:u,allOptionsSelectedLabel:l,isEditable:void 0!==j&&j,onChange:function onChange(a){return P(a)},dropdownIsOpen:ka,isDisabled:h,items:c,onOpenDropdown:function onOpenDropdown(){return la(!0)},onKeyPress:$,currentVal:V,focusedItem:ba,id:fa,ariaLabel:K}),/*#__PURE__*/React.createElement(IconRotator,{isRotated:ka},/*#__PURE__*/React.createElement(IconWrapper,{icon:arrowDownBold,color:h?"text-disabled-1":"text-1",size:f?"xs":"sm"}))),!!p.text&&/*#__PURE__*/React.createElement(DropdownError,{errorText:p.text})),ka&&/*#__PURE__*/React.createElement(DropdownOverlay,{id:fa,ref:ia,isRootOverlay:!0,isGtMobile:S,noItemsText:B,isMulti:w,onItemSelect:function setSelectedItem(a){if(w){var b=getValueAsList(V);a.forEach(function(a){var c=b.indexOf(a);-1===c?b.push(a):b.splice(c,1)}),W(b),P("")}else W(a[0]);oa()},isCompact:f,onClose:function onClose(){return la(!1)},filteredItems:ga,inputIsKeyboard:"keyboard"===R,allItems:c,pressedKey:Z,currentVal:V,selectAllOption:void 0!==x&&x&&w?z:void 0,hasLoadMoreItemsButton:E,onLoadMoreItems:function emitLoadMoreItems(){null===F||void 0===F?void 0:F(),null===J||void 0===J?void 0:J.triggerEvent("onLoadMoreItems")},isLoadingMoreItems:G,focusedItem:ba,setFocusedItem:function updateFocusedItem(a){(null===a||void 0===a?void 0:a.value)!==(null===ba||void 0===ba?void 0:ba.value)&&ca(a)},setHoveredItem:function emitHoveredItem(a){null===D||void 0===D?void 0:D(null===a||void 0===a?void 0:a.value),null===J||void 0===J?void 0:J.triggerEvent("onItemHover",null===a||void 0===a?void 0:a.value)},isSearchMode:!!O,currentTheme:na}))};export default Dropdown;
//# sourceMappingURL=elvia-dropdown.js.map

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

*/
import React from"react";import{FormFieldErrorContainer,FormFieldError,IconWrapper}from"@elvia/elvis-toolbox";import removeCircle from"@elvia/elvis-assets-icons/dist/icons/removeCircle";export var DropdownError=function(a){var b=a.errorText;return/*#__PURE__*/React.createElement(FormFieldErrorContainer,null,/*#__PURE__*/React.createElement(IconWrapper,{icon:removeCircle,color:"error",size:"xs"}),/*#__PURE__*/React.createElement(FormFieldError,{"data-testid":"error"},b))};
import React from"react";import{FormFieldErrorContainer,FormFieldError,IconWrapper}from"@elvia/elvis-toolbox";import removeCircle from"@elvia/elvis-assets-icons/dist/icons/removeCircle";export var DropdownError=function(a){var b=a.errorText;return/*#__PURE__*/React.createElement(FormFieldErrorContainer,null,/*#__PURE__*/React.createElement(IconWrapper,{icon:removeCircle,color:"icon-error",size:"xs"}),/*#__PURE__*/React.createElement(FormFieldError,{"data-testid":"error"},b))};
//# sourceMappingURL=dropdownError.js.map
import type { IconType } from '@elvia/elvis-assets-icons/dist/icons/_iconType';
import { ColorLabel } from '@elvia/elvis-colors';
export type DropdownItemStatus = 'error' | 'warning' | 'info' | 'informative';

@@ -6,3 +7,3 @@ type StatusToIconMap = {

icon: IconType;
color?: string;
color?: ColorLabel;
};

@@ -9,0 +10,0 @@ };

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

*/
import removeCircle from"@elvia/elvis-assets-icons/dist/icons/removeCircle";import warningCircle from"@elvia/elvis-assets-icons/dist/icons/warningCircle";import informationCircle from"@elvia/elvis-assets-icons/dist/icons/informationCircle";import{getThemeColor}from"@elvia/elvis-colors";export var statusToIconMap={error:{icon:removeCircle,color:getThemeColor("signal-error")},warning:{icon:warningCircle,color:getThemeColor("signal-warning")},info:{icon:informationCircle},informative:{icon:informationCircle}// Make it possible to set status as either 'info' or 'informative'
import removeCircle from"@elvia/elvis-assets-icons/dist/icons/removeCircle";import warningCircle from"@elvia/elvis-assets-icons/dist/icons/warningCircle";import informationCircle from"@elvia/elvis-assets-icons/dist/icons/informationCircle";export var statusToIconMap={error:{icon:removeCircle,color:"icon-error"},warning:{icon:warningCircle,color:"icon-warning"},info:{icon:informationCircle},informative:{icon:informationCircle}// Make it possible to set status as either 'info' or 'informative'
};
//# sourceMappingURL=statusToIconMap.js.map
{
"name": "@elvia/elvis-dropdown",
"version": "6.1.0",
"version": "6.1.1",
"main": "web_component.js",

@@ -5,0 +5,0 @@ "license": "MIT",

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

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