@elvia/elvis-dropdown
Advanced tools
Comparing version 9.0.0 to 9.0.1
@@ -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", |
@@ -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
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
202864
1923
Updated@elvia/elvis-toolbox@^11.0.1