Socket
Socket
Sign inDemoInstall

@elvia/elvis-dropdown

Package Overview
Dependencies
10
Maintainers
7
Versions
98
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 5.0.4 to 5.1.0

10

CHANGELOG.json

@@ -6,2 +6,12 @@ {

"date": "23.11.22",
"version": "5.1.0",
"changelog": [
{
"type": "new_feature",
"changes": ["Support number values."]
}
]
},
{
"date": "23.11.22",
"version": "5.0.4",

@@ -8,0 +18,0 @@ "changelog": [

4

dist/react/js/dropdown-item/dropdownItem.d.ts
import React, { KeyboardEvent, RefObject } from 'react';
import { DropdownItem as DropdownItemOption, DropdownValue } from '../elviaDropdown.types';
import { DropdownItem as DropdownItemOption, DropdownValue, DropdownValueType } from '../elviaDropdown.types';
interface DropdownItemProps {

@@ -13,3 +13,3 @@ item: DropdownItemOption;

inputIsKeyboard: boolean;
onItemSelect: (value: string[]) => void;
onItemSelect: (value: DropdownValueType[]) => void;
onClick: (item: DropdownItemOption) => void;

@@ -16,0 +16,0 @@ pressedKey?: KeyboardEvent<HTMLInputElement>;

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

*/
"use strict";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)}Object.defineProperty(exports,"__esModule",{value:!0}),exports.DropdownItem=void 0;var _react=require("@elvia/elvis-icon/react"),_elvisToolbox=require("@elvia/elvis-toolbox"),_react2=_interopRequireWildcard(require("react")),_dropdownOverlay=require("../dropdown-overlay/dropdownOverlay"),_dropdownListUtils=require("../dropdownListUtils"),_dropdownItemStyles=require("./dropdownItemStyles"),_checkbox=require("../checkbox/checkbox"),_react3=require("@elvia/elvis-tooltip/react"),_statusToIconMap=require("../statusToIconMap"),_reactDom=require("react-dom");function _getRequireWildcardCache(a){if("function"!=typeof WeakMap)return null;var b=new WeakMap,c=new WeakMap;return(_getRequireWildcardCache=function(a){return a?c:b})(a)}function _interopRequireWildcard(a,b){if(!b&&a&&a.__esModule)return a;if(null===a||"object"!==_typeof(a)&&"function"!=typeof a)return{default:a};var c=_getRequireWildcardCache(b);if(c&&c.has(a))return c.get(a);var d={},e=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var f in a)if("default"!=f&&Object.prototype.hasOwnProperty.call(a,f)){var g=e?Object.getOwnPropertyDescriptor(a,f):null;g&&(g.get||g.set)?Object.defineProperty(d,f,g):d[f]=a[f]}return d.default=a,c&&c.set(a,d),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(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}var DropdownItem=function(a){var b,c,d=a.item,e=a.parentItem,f=a.currentVal,g=a.isCompact,h=a.isMulti,i=a.focusedItem,j=a.setFocusedItem,k=a.setHoveredItem,l=a.inputIsKeyboard,m=a.onItemSelect,n=a.onClick,o=a.pressedKey,p=a.listRef,q=a.isGtMobile,r=a.children,s=(0,_react2.useRef)(null),t=(0,_react2.useRef)(null),u=(0,_elvisToolbox.useConnectedOverlay)(q?s:p,t,{offset:0,horizontalPosition:q?"right":"center",verticalPosition:"top-inside",alignWidths:!q}),v=u.isShowing,w=u.setIsShowing,x=(0,_react2.useState)(),y=_slicedToArray(x,2),z=y[0],A=y[1],B=(0,_react2.useMemo)(function(){return d.children?(0,_dropdownListUtils.flattenTree)(d.children).filter(function(a){return!a.isDisabled&&!a.children}):[]},[d]),C=function(a){var b="string"==typeof f?[f]:null!==f&&void 0!==f?f:[];return b.includes(a.value)},D=(0,_react2.useMemo)(function(){var a="string"==typeof f?[f]:null!==f&&void 0!==f?f:[];return d.children?B.every(function(b){return a.includes(b.value)}):C(d)},[d,f]),E=(0,_react2.useMemo)(function(){return B.some(function(a){return C(a)})},[B]),F=(0,_react2.useMemo)(function(){if(h){var a=B;return a.some(C)&&!a.every(C)}return!1},[B,h]),G=function(a){(0,_reactDom.flushSync)(function(){return w(a)})},H=function(){d.isDisabled||l||(j(d),k(d)),d.children&&q&&((0,_elvisToolbox.isSsr)()?G(!0):(window.clearTimeout(z),A(function(){return window.setTimeout(function(){return G(!0)},200)})))},I=function(){q||h||!d.children?n(d):G(!0)};return(0,_react2.useEffect)(function(){(null===i||void 0===i?void 0:i.value)===d.value&&("ArrowRight"===(null===o||void 0===o?void 0:o.code)&&d.children?w(!0):"ArrowLeft"===(null===o||void 0===o?void 0:o.code)&&e&&(j(e),k(e)))},[o]),(0,_react2.useEffect)(function(){if(v||z){var a=function(){var a=(0,_dropdownListUtils.flattenTree)(d.children);return a.some(function(a){return a.value===(null===i||void 0===i?void 0:i.value)})};i&&(null===i||void 0===i?void 0:i.value)!==d.value&&!a()&&(v&&q&&w(!1),z&&!(0,_elvisToolbox.isSsr)()&&(window.clearTimeout(z),A(function(){return 0})))}},[i]),(0,_react2.useEffect)(function(){return function(){z&&!(0,_elvisToolbox.isSsr)()&&window.clearTimeout(z)}},[]),/*#__PURE__*/_react2.default.createElement(_react2.default.Fragment,null,/*#__PURE__*/_react2.default.createElement(_dropdownItemStyles.DropdownItemStyles,{ref:s,isFocused:(null===i||void 0===i?void 0:i.value)===d.value&&l||v||E&&!h,isActive:D,isCompact:g,isDisabled:d.isDisabled,isGtMobile:q,isMulti:h,onClick:function(){return I()},onMouseEnter:function onMouseEnter(){return H()},onMouseDown:function onMouseDown(a){return a.preventDefault()},id:"ewc-dropdown-item-".concat(d.value),"aria-disabled":d.isDisabled,"aria-haspopup":d.children?"listbox":"false","aria-expanded":v,"aria-selected":D,"data-testid":"dropdown-item"},h&&/*#__PURE__*/_react2.default.createElement(_checkbox.Checkbox,{isFocused:(null===i||void 0===i?void 0:i.value)===d.value&&l||v,isIndeterminate:F,isChecked:D,isCompact:g,isDisabled:d.isDisabled}),r,d.status&&/*#__PURE__*/_react2.default.createElement(_dropdownItemStyles.IconContainer,null,/*#__PURE__*/_react2.default.createElement(_react3.Tooltip,{trigger:/*#__PURE__*/_react2.default.createElement(_react.Icon,{name:_statusToIconMap.statusToIconMap[d.status].name,color:_statusToIconMap.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__*/_react2.default.createElement(_dropdownItemStyles.IconContainer,null,/*#__PURE__*/_react2.default.createElement(_dropdownItemStyles.OpenOverlayButton,{size:g?"sm":"md",disabled:q||!h,onClick:function(a){a.stopPropagation(),G(!0)}},/*#__PURE__*/_react2.default.createElement(_react.Icon,{name:"arrowRight",size:g?"xs":"sm"})))),v&&/*#__PURE__*/_react2.default.createElement(_dropdownOverlay.DropdownOverlay,{ref:t,isGtMobile:q,filteredItems:null!==(c=d.children)&&void 0!==c?c:[],isCompact:!!g,onClose:function onClose(){return G(!1)},isMulti:h,onItemSelect:function onItemSelect(a){return m(a)},currentVal:f,pressedKey:o,inputIsKeyboard:l,focusedItem:i,setFocusedItem:j,setHoveredItem:k,parentItem:d}))};exports.DropdownItem=DropdownItem;
"use strict";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)}Object.defineProperty(exports,"__esModule",{value:!0}),exports.DropdownItem=void 0;var _react=require("@elvia/elvis-icon/react"),_elvisToolbox=require("@elvia/elvis-toolbox"),_react2=_interopRequireWildcard(require("react")),_dropdownOverlay=require("../dropdown-overlay/dropdownOverlay"),_dropdownListUtils=require("../dropdownListUtils"),_dropdownItemStyles=require("./dropdownItemStyles"),_checkbox=require("../checkbox/checkbox"),_react3=require("@elvia/elvis-tooltip/react"),_statusToIconMap=require("../statusToIconMap"),_reactDom=require("react-dom");function _getRequireWildcardCache(a){if("function"!=typeof WeakMap)return null;var b=new WeakMap,c=new WeakMap;return(_getRequireWildcardCache=function(a){return a?c:b})(a)}function _interopRequireWildcard(a,b){if(!b&&a&&a.__esModule)return a;if(null===a||"object"!==_typeof(a)&&"function"!=typeof a)return{default:a};var c=_getRequireWildcardCache(b);if(c&&c.has(a))return c.get(a);var d={},e=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var f in a)if("default"!=f&&Object.prototype.hasOwnProperty.call(a,f)){var g=e?Object.getOwnPropertyDescriptor(a,f):null;g&&(g.get||g.set)?Object.defineProperty(d,f,g):d[f]=a[f]}return d.default=a,c&&c.set(a,d),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(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}var DropdownItem=function(a){var b,c,d=a.item,e=a.parentItem,f=a.currentVal,g=a.isCompact,h=a.isMulti,i=a.focusedItem,j=a.setFocusedItem,k=a.setHoveredItem,l=a.inputIsKeyboard,m=a.onItemSelect,n=a.onClick,o=a.pressedKey,p=a.listRef,q=a.isGtMobile,r=a.children,s=(0,_react2.useRef)(null),t=(0,_react2.useRef)(null),u=(0,_elvisToolbox.useConnectedOverlay)(q?s:p,t,{offset:0,horizontalPosition:q?"right":"center",verticalPosition:"top-inside",alignWidths:!q}),v=u.isShowing,w=u.setIsShowing,x=(0,_react2.useState)(),y=_slicedToArray(x,2),z=y[0],A=y[1],B=(0,_react2.useMemo)(function(){return d.children?(0,_dropdownListUtils.flattenTree)(d.children).filter(function(a){return!a.isDisabled&&!a.children}):[]},[d]),C=function(a){var b=(0,_dropdownListUtils.getValueAsList)(f);return b.includes(a.value)},D=(0,_react2.useMemo)(function(){var a=(0,_dropdownListUtils.getValueAsList)(f);return d.children?B.every(function(b){return a.includes(b.value)}):C(d)},[d,f]),E=(0,_react2.useMemo)(function(){return B.some(function(a){return C(a)})},[B]),F=(0,_react2.useMemo)(function(){if(h){var a=B;return a.some(C)&&!a.every(C)}return!1},[B,h]),G=function(a){(0,_reactDom.flushSync)(function(){return w(a)})},H=function(){d.isDisabled||l||(j(d),k(d)),d.children&&q&&((0,_elvisToolbox.isSsr)()?G(!0):(window.clearTimeout(z),A(function(){return window.setTimeout(function(){return G(!0)},200)})))},I=function(){q||h||!d.children?n(d):G(!0)};return(0,_react2.useEffect)(function(){(null===i||void 0===i?void 0:i.value)===d.value&&("ArrowRight"===(null===o||void 0===o?void 0:o.code)&&d.children?w(!0):"ArrowLeft"===(null===o||void 0===o?void 0:o.code)&&e&&(j(e),k(e)))},[o]),(0,_react2.useEffect)(function(){if(v||z){var a=function(){var a=(0,_dropdownListUtils.flattenTree)(d.children);return a.some(function(a){return a.value===(null===i||void 0===i?void 0:i.value)})};i&&(null===i||void 0===i?void 0:i.value)!==d.value&&!a()&&(v&&q&&w(!1),z&&!(0,_elvisToolbox.isSsr)()&&(window.clearTimeout(z),A(function(){return 0})))}},[i]),(0,_react2.useEffect)(function(){return function(){z&&!(0,_elvisToolbox.isSsr)()&&window.clearTimeout(z)}},[]),/*#__PURE__*/_react2.default.createElement(_react2.default.Fragment,null,/*#__PURE__*/_react2.default.createElement(_dropdownItemStyles.DropdownItemStyles,{ref:s,isFocused:(null===i||void 0===i?void 0:i.value)===d.value&&l||v||E&&!h,isActive:D,isCompact:g,isDisabled:d.isDisabled,isGtMobile:q,isMulti:h,onClick:function(){return I()},onMouseEnter:function onMouseEnter(){return H()},onMouseDown:function onMouseDown(a){return a.preventDefault()},id:"ewc-dropdown-item-".concat(d.value),"aria-disabled":d.isDisabled,"aria-haspopup":d.children?"listbox":"false","aria-expanded":v,"aria-selected":D,"data-testid":"dropdown-item"},h&&/*#__PURE__*/_react2.default.createElement(_checkbox.Checkbox,{isFocused:(null===i||void 0===i?void 0:i.value)===d.value&&l||v,isIndeterminate:F,isChecked:D,isCompact:g,isDisabled:d.isDisabled}),r,d.status&&/*#__PURE__*/_react2.default.createElement(_dropdownItemStyles.IconContainer,null,/*#__PURE__*/_react2.default.createElement(_react3.Tooltip,{trigger:/*#__PURE__*/_react2.default.createElement(_react.Icon,{name:_statusToIconMap.statusToIconMap[d.status].name,color:_statusToIconMap.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__*/_react2.default.createElement(_dropdownItemStyles.IconContainer,null,/*#__PURE__*/_react2.default.createElement(_dropdownItemStyles.OpenOverlayButton,{size:g?"sm":"md",disabled:q||!h,onClick:function(a){a.stopPropagation(),G(!0)}},/*#__PURE__*/_react2.default.createElement(_react.Icon,{name:"arrowRight",size:g?"xs":"sm"})))),v&&/*#__PURE__*/_react2.default.createElement(_dropdownOverlay.DropdownOverlay,{ref:t,isGtMobile:q,filteredItems:null!==(c=d.children)&&void 0!==c?c:[],isCompact:!!g,onClose:function onClose(){return G(!1)},isMulti:h,onItemSelect:function onItemSelect(a){return m(a)},currentVal:f,pressedKey:o,inputIsKeyboard:l,focusedItem:i,setFocusedItem:j,setHoveredItem:k,parentItem:d}))};exports.DropdownItem=DropdownItem;
//# sourceMappingURL=dropdownItem.js.map
import React from 'react';
import { DropdownItem } from '../elviaDropdown.types';
import { DropdownItem, DropdownValueType } from '../elviaDropdown.types';
interface SelectAllOptionProps {
item: DropdownItem;
focusedValue?: string;
focusedValue?: DropdownValueType;
isCompact?: boolean;

@@ -7,0 +7,0 @@ inputIsKeyboard: boolean;

import React, { KeyboardEvent } from 'react';
import { DropdownItem as DropdownItemOption, DropdownValue } from '../elviaDropdown.types';
import { DropdownItem as DropdownItemOption, DropdownValue, DropdownValueType } from '../elviaDropdown.types';
interface DropdownOverlayProps {

@@ -14,3 +14,3 @@ isRootOverlay?: boolean;

currentVal?: DropdownValue;
onItemSelect: (value: string[]) => void;
onItemSelect: (value: DropdownValueType[]) => void;
pressedKey?: KeyboardEvent<HTMLInputElement>;

@@ -17,0 +17,0 @@ selectAllOption?: string;

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

*/
"use strict";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)}Object.defineProperty(exports,"__esModule",{value:!0}),exports.DropdownOverlay=void 0;var _react=_interopRequireWildcard(require("react")),_reactDom=require("react-dom"),_dropdownItem=require("../dropdown-item/dropdownItem"),_dropdownListUtils=require("../dropdownListUtils"),_backButton=require("./backButton"),_dropdownOverlayStyles=require("./dropdownOverlayStyles"),_loadMoreButton=require("./loadMoreButton"),_selectAllOption=require("./selectAllOption"),_itemValue=require("../dropdown-item/itemValue"),_react2=require("@elvia/elvis-icon/react");function _getRequireWildcardCache(a){if("function"!=typeof WeakMap)return null;var b=new WeakMap,c=new WeakMap;return(_getRequireWildcardCache=function(a){return a?c:b})(a)}function _interopRequireWildcard(a,b){if(!b&&a&&a.__esModule)return a;if(null===a||"object"!==_typeof(a)&&"function"!=typeof a)return{default:a};var c=_getRequireWildcardCache(b);if(c&&c.has(a))return c.get(a);var d={},e=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var f in a)if("default"!=f&&Object.prototype.hasOwnProperty.call(a,f)){var g=e?Object.getOwnPropertyDescriptor(a,f):null;g&&(g.get||g.set)?Object.defineProperty(d,f,g):d[f]=a[f]}return d.default=a,c&&c.set(a,d),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(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}var uniqueId=0,DropdownOverlay=_react.default.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=(0,_react.useState)(d),y=_slicedToArray(x,1),z=y[0],A=(0,_react.useRef)(null),B=(0,_react.useState)(!1),C=_slicedToArray(B,2),D=C[0],E=C[1],F=(0,_react.useState)({label:null!==o&&void 0!==o?o:"",value:"selectAll-".concat(uniqueId++)}),G=_slicedToArray(F,1),H=G[0],I=(0,_react.useState)({label:"Tilbake",value:"back-".concat(uniqueId++)}),J=_slicedToArray(I,1),K=J[0],L=(0,_react.useState)({label:"Last inn flere",value:"loadMore-".concat(uniqueId++)}),M=_slicedToArray(L,1),N=M[0],O=(0,_react.useMemo)(function(){var a=e.slice();return d||c||a.unshift(K),o&&a.unshift(H),p&&a.push(N),a},[e,d,o,p]),P=(0,_react.useMemo)(function(){return e.every(function(a){return a.icon})},[e]),Q=(0,_react.useMemo)(function(){return O.some(function(a){return(null===s||void 0===s?void 0:s.value)===a.value})},[O,s]),R=function(a){var b="string"==typeof l?[l]:null!==l&&void 0!==l?l:[];return b.includes(a.value)},S=function(a){return(0,_dropdownListUtils.flattenTree)(null!==a&&void 0!==a?a:[]).filter(function(a){return!a.isDisabled&&!a.children})},T=function(a){if(!a.isDisabled){if(i&&a.children){var b=S(a.children);b.every(R)?m(b.map(function(a){return a.value})):m(b.filter(function(a){return!R(a)}).map(function(a){return a.value}))}else a.children||(m([a.value]),i||E(!0));// Focus on first item after selecting item in multi select while search is active
"use strict";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)}Object.defineProperty(exports,"__esModule",{value:!0}),exports.DropdownOverlay=void 0;var _react=_interopRequireWildcard(require("react")),_reactDom=require("react-dom"),_dropdownItem=require("../dropdown-item/dropdownItem"),_dropdownListUtils=require("../dropdownListUtils"),_backButton=require("./backButton"),_dropdownOverlayStyles=require("./dropdownOverlayStyles"),_loadMoreButton=require("./loadMoreButton"),_selectAllOption=require("./selectAllOption"),_itemValue=require("../dropdown-item/itemValue"),_react2=require("@elvia/elvis-icon/react");function _getRequireWildcardCache(a){if("function"!=typeof WeakMap)return null;var b=new WeakMap,c=new WeakMap;return(_getRequireWildcardCache=function(a){return a?c:b})(a)}function _interopRequireWildcard(a,b){if(!b&&a&&a.__esModule)return a;if(null===a||"object"!==_typeof(a)&&"function"!=typeof a)return{default:a};var c=_getRequireWildcardCache(b);if(c&&c.has(a))return c.get(a);var d={},e=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var f in a)if("default"!=f&&Object.prototype.hasOwnProperty.call(a,f)){var g=e?Object.getOwnPropertyDescriptor(a,f):null;g&&(g.get||g.set)?Object.defineProperty(d,f,g):d[f]=a[f]}return d.default=a,c&&c.set(a,d),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(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}var uniqueId=0,DropdownOverlay=_react.default.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=(0,_react.useState)(d),y=_slicedToArray(x,1),z=y[0],A=(0,_react.useRef)(null),B=(0,_react.useState)(!1),C=_slicedToArray(B,2),D=C[0],E=C[1],F=(0,_react.useState)({label:null!==o&&void 0!==o?o:"",value:"selectAll-".concat(uniqueId++)}),G=_slicedToArray(F,1),H=G[0],I=(0,_react.useState)({label:"Tilbake",value:"back-".concat(uniqueId++)}),J=_slicedToArray(I,1),K=J[0],L=(0,_react.useState)({label:"Last inn flere",value:"loadMore-".concat(uniqueId++)}),M=_slicedToArray(L,1),N=M[0],O=(0,_react.useMemo)(function(){var a=e.slice();return d||c||a.unshift(K),o&&a.unshift(H),p&&a.push(N),a},[e,d,o,p]),P=(0,_react.useMemo)(function(){return e.every(function(a){return a.icon})},[e]),Q=(0,_react.useMemo)(function(){return O.some(function(a){return(null===s||void 0===s?void 0:s.value)===a.value})},[O,s]),R=function(a){var b=(0,_dropdownListUtils.getValueAsList)(l);return b.includes(a.value)},S=function(a){return(0,_dropdownListUtils.flattenTree)(null!==a&&void 0!==a?a:[]).filter(function(a){return!a.isDisabled&&!a.children})},T=function(a){if(!a.isDisabled){if(i&&a.children){var b=S(a.children);b.every(R)?m(b.map(function(a){return a.value})):m(b.filter(function(a){return!R(a)}).map(function(a){return a.value}))}else a.children||(m([a.value]),i||E(!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])}},U=function(a){var b=O,c=b.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)===H.value?V():(null===s||void 0===s?void 0:s.value)===N.value?q&&q():s&&T(s);else if("ArrowUp"===a.code){a.preventDefault();var d=0>c-1?b.length-1:c-1;t(b[d])}else if("ArrowDown"===a.code){a.preventDefault();var e=c+1>b.length-1?0:c+1;t(b[e])}},V=function(){var a=S(e),b="string"==typeof l?[l]:null!==l&&void 0!==l?l:[];if(a.length===b.length)m(a.map(function(a){return a.value}));else{var c=a.filter(function(a){return!R(a)});m(c.map(function(a){return a.value}))}};return(0,_react.useEffect)(function(){n&&(Q||c&&w)&&U(n)},[n]),(0,_react.useEffect)(function(){g&&s&&function scrollItemListToFocusedItem(a){var b=h?40:48,c=O.findIndex(function(b){return b.value===a.value});if(-1!==c){var d,e;null===(d=A.current)||void 0===d?void 0:d.scrollTo({top:b*c-(null===(e=A.current)||void 0===e?void 0:e.offsetHeight)/2})}}(s)},[s]),(0,_react.useEffect)(function(){z!==d&&j()},[d]),(0,_react.useEffect)(function(){(function focusFirstItemOnInit(){(g||c&&!Q||!d)&&t(O[0])})()},[]),(0,_reactDom.createPortal)(/*#__PURE__*/_react.default.createElement(_react.default.Fragment,null,c&&/*#__PURE__*/_react.default.createElement(_dropdownOverlayStyles.Backdrop,{onClick:function onClick(){return E(!0)}}),/*#__PURE__*/_react.default.createElement(_dropdownOverlayStyles.DropdownPopupContainer,{ref:b,"data-testid":"popover",onMouseLeave:function onMouseLeave(){return u&&u(void 0)}},!c&&d&&/*#__PURE__*/_react.default.createElement(_dropdownOverlayStyles.CursorCurve,null),/*#__PURE__*/_react.default.createElement(_dropdownOverlayStyles.DropdownPopup,{fadeOut:D,onAnimationEnd:function onAnimationEnd(){D&&j()},isCompact:h,isInvisible:!d&&!Q,animate:!!c||d},/*#__PURE__*/_react.default.createElement(_dropdownOverlayStyles.ItemList,{ref:A},!(null!==e&&void 0!==e&&e.length)&&/*#__PURE__*/_react.default.createElement(_dropdownOverlayStyles.NoItemsMessage,null,k),!d&&!c&&/*#__PURE__*/_react.default.createElement(_backButton.BackButton,{item:K,onClick:function onClick(){E(!0),t(v)},onHover:function onHover(a){return t(a)},focusedValue:null===s||void 0===s?void 0:s.value,isCompact:h,inputIsKeyboard:g}),o&&c&&/*#__PURE__*/_react.default.createElement(_selectAllOption.SelectAllOption,{focusedValue:null===s||void 0===s?void 0:s.value,isCompact:h,item:H,items:null!==f&&void 0!==f?f:[],selectedItems:l,onClick:V,onHover:function onHover(a){return t(a)}}),e.map(function(a){return/*#__PURE__*/_react.default.createElement(_dropdownItem.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)&&E(!0)},setHoveredItem:function setHoveredItem(a){u&&u(a)},isCompact:h,isMulti:i,inputIsKeyboard:g,currentVal:l,onItemSelect:function onItemSelect(a){m(a),i||E(!0)},onClick:function onClick(a){return T(a)},pressedKey:n,listRef:A,parentItem:v,isGtMobile:d},a.icon&&!i&&P&&/*#__PURE__*/_react.default.createElement(_react2.Icon,{name:a.icon,color:a.isDisabled?"disabled":"elvia-off",size:h?"xs":"sm"}),/*#__PURE__*/_react.default.createElement(_itemValue.ItemValue,{item:a,focusedValue:s,isRootOverlay:c}))}),p&&c&&/*#__PURE__*/_react.default.createElement(_loadMoreButton.LoadMoreButton,{focusedValue:null===s||void 0===s?void 0:s.value,item:N,isLoadingMoreItems:r,onLoadMoreItems:q,isCompact:h,onHover:function onHover(a){return t(a)}}))))),document.body)});exports.DropdownOverlay=DropdownOverlay,DropdownOverlay.displayName="DropdownOverlayComponent";
i&&w&&c&&t(null===f||void 0===f?void 0:f[0])}},U=function(a){var b=O,c=b.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)===H.value?V():(null===s||void 0===s?void 0:s.value)===N.value?q&&q():s&&T(s);else if("ArrowUp"===a.code){a.preventDefault();var d=0>c-1?b.length-1:c-1;t(b[d])}else if("ArrowDown"===a.code){a.preventDefault();var e=c+1>b.length-1?0:c+1;t(b[e])}},V=function(){var a=S(e),b=(0,_dropdownListUtils.getValueAsList)(l);if(a.length===b.length)m(a.map(function(a){return a.value}));else{var c=a.filter(function(a){return!R(a)});m(c.map(function(a){return a.value}))}};return(0,_react.useEffect)(function(){n&&(Q||c&&w)&&U(n)},[n]),(0,_react.useEffect)(function(){g&&s&&function scrollItemListToFocusedItem(a){var b=h?40:48,c=O.findIndex(function(b){return b.value===a.value});if(-1!==c){var d,e;null===(d=A.current)||void 0===d?void 0:d.scrollTo({top:b*c-(null===(e=A.current)||void 0===e?void 0:e.offsetHeight)/2})}}(s)},[s]),(0,_react.useEffect)(function(){z!==d&&j()},[d]),(0,_react.useEffect)(function(){(function focusFirstItemOnInit(){(g||c&&!Q||!d)&&t(O[0])})()},[]),(0,_reactDom.createPortal)(/*#__PURE__*/_react.default.createElement(_react.default.Fragment,null,c&&/*#__PURE__*/_react.default.createElement(_dropdownOverlayStyles.Backdrop,{onClick:function onClick(){return E(!0)}}),/*#__PURE__*/_react.default.createElement(_dropdownOverlayStyles.DropdownPopupContainer,{ref:b,"data-testid":"popover",onMouseLeave:function onMouseLeave(){return u&&u(void 0)}},!c&&d&&/*#__PURE__*/_react.default.createElement(_dropdownOverlayStyles.CursorCurve,null),/*#__PURE__*/_react.default.createElement(_dropdownOverlayStyles.DropdownPopup,{fadeOut:D,onAnimationEnd:function onAnimationEnd(){D&&j()},isCompact:h,isInvisible:!d&&!Q,animate:!!c||d},/*#__PURE__*/_react.default.createElement(_dropdownOverlayStyles.ItemList,{ref:A},!(null!==e&&void 0!==e&&e.length)&&/*#__PURE__*/_react.default.createElement(_dropdownOverlayStyles.NoItemsMessage,null,k),!d&&!c&&/*#__PURE__*/_react.default.createElement(_backButton.BackButton,{item:K,onClick:function onClick(){E(!0),t(v)},onHover:function onHover(a){return t(a)},focusedValue:null===s||void 0===s?void 0:s.value,isCompact:h,inputIsKeyboard:g}),o&&c&&/*#__PURE__*/_react.default.createElement(_selectAllOption.SelectAllOption,{focusedValue:null===s||void 0===s?void 0:s.value,isCompact:h,item:H,items:null!==f&&void 0!==f?f:[],selectedItems:l,onClick:V,onHover:function onHover(a){return t(a)}}),e.map(function(a){return/*#__PURE__*/_react.default.createElement(_dropdownItem.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)&&E(!0)},setHoveredItem:function setHoveredItem(a){u&&u(a)},isCompact:h,isMulti:i,inputIsKeyboard:g,currentVal:l,onItemSelect:function onItemSelect(a){m(a),i||E(!0)},onClick:function onClick(a){return T(a)},pressedKey:n,listRef:A,parentItem:v,isGtMobile:d},a.icon&&!i&&P&&/*#__PURE__*/_react.default.createElement(_react2.Icon,{name:a.icon,color:a.isDisabled?"disabled":"elvia-off",size:h?"xs":"sm"}),/*#__PURE__*/_react.default.createElement(_itemValue.ItemValue,{item:a,focusedValue:s,isRootOverlay:c}))}),p&&c&&/*#__PURE__*/_react.default.createElement(_loadMoreButton.LoadMoreButton,{focusedValue:null===s||void 0===s?void 0:s.value,item:N,isLoadingMoreItems:r,onLoadMoreItems:q,isCompact:h,onHover:function onHover(a){return t(a)}}))))),document.body)});exports.DropdownOverlay=DropdownOverlay,DropdownOverlay.displayName="DropdownOverlayComponent";
//# sourceMappingURL=dropdownOverlay.js.map
import React from 'react';
import { DropdownItem } from '../elviaDropdown.types';
import { DropdownItem, DropdownValueType } from '../elviaDropdown.types';
interface LoadMoreProps {
item: DropdownItem;
focusedValue?: string;
focusedValue?: DropdownValueType;
onLoadMoreItems?: () => void;

@@ -7,0 +7,0 @@ isLoadingMoreItems?: boolean;

import React from 'react';
import { DropdownItem, DropdownValue } from '../elviaDropdown.types';
import { DropdownItem, DropdownValue, DropdownValueType } from '../elviaDropdown.types';
interface SelectAllOptionProps {
item: DropdownItem;
focusedValue?: string;
focusedValue?: DropdownValueType;
isCompact?: boolean;

@@ -7,0 +7,0 @@ items: DropdownItem[];

@@ -1,3 +0,3 @@

import { DropdownItem, DropdownValue } from './elviaDropdown.types';
import { DropdownItem, DropdownValue, DropdownValueType } from './elviaDropdown.types';
export declare const flattenTree: (tree?: DropdownItem[], flatList?: DropdownItem[]) => DropdownItem[];
export declare const getValueAsList: (value: DropdownValue) => string[];
export declare const getValueAsList: (value: DropdownValue) => DropdownValueType[];

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

*/
"use strict";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)}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _react=_interopRequireWildcard(require("react")),_config=require("./config"),_elvisToolbox=require("@elvia/elvis-toolbox"),_react2=require("@elvia/elvis-icon/react"),_dropdownInput=require("./dropdown-input/dropdownInput"),_styledComponents=require("./styledComponents"),_dropdownError=require("./error/dropdownError"),_dropdownOverlay=require("./dropdown-overlay/dropdownOverlay"),_dropdownListUtils=require("./dropdownListUtils"),_reactDom=require("react-dom"),_excluded=["items","value","isCompact","isDisabled","isFullWidth","isSearchable","allOptionsSelectedLabel","label","errorMessage","menuPosition","placeholder","placeholderIcon","isMulti","hasSelectAllOption","selectAllOption","noOptionsMessage","valueOnChange","onItemHover","hasLoadMoreItemsButton","onLoadMoreItems","isLoadingMoreItems","className","inlineStyle","webcomponent"];function _getRequireWildcardCache(a){if("function"!=typeof WeakMap)return null;var b=new WeakMap,c=new WeakMap;return(_getRequireWildcardCache=function(a){return a?c:b})(a)}function _interopRequireWildcard(a,b){if(!b&&a&&a.__esModule)return a;if(null===a||"object"!==_typeof(a)&&"function"!=typeof a)return{default:a};var c=_getRequireWildcardCache(b);if(c&&c.has(a))return c.get(a);var d={},e=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var f in a)if("default"!=f&&Object.prototype.hasOwnProperty.call(a,f)){var g=e?Object.getOwnPropertyDescriptor(a,f):null;g&&(g.get||g.set)?Object.defineProperty(d,f,g):d[f]=a[f]}return d.default=a,c&&c.set(a,d),d}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}var filterItems=function(a,b){if(!b)return a;var c=(0,_dropdownListUtils.flattenTree)(a).filter(function(a){return!a.children}),d=c.filter(function(a){return a.label.toLowerCase().includes(b.toLowerCase())});return d},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.errorMessage,p=void 0===o?"":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=_objectWithoutProperties(a,_excluded);(0,_elvisToolbox.warnDeprecatedProps)(_config.config,K);var L=(0,_react.useState)(""),M=_slicedToArray(L,2),N=M[0],O=M[1],P=(0,_elvisToolbox.useInputModeDetection)(),Q=P.inputMode,R=(0,_elvisToolbox.useBreakpoint)("gt-mobile"),S=(0,_elvisToolbox.useWebComponentState)(d,"value",J,C),T=_slicedToArray(S,2),U=T[0],V=T[1],W=(0,_react.useState)(),X=_slicedToArray(W,2),Y=X[0],Z=X[1],$=(0,_react.useState)(),_=_slicedToArray($,2),aa=_[0],ba=_[1],ca=(0,_react.useMemo)(function(){return filterItems(c,N)},[c,N]),da=(0,_react.useRef)(null),ea=(0,_react.useRef)(null),fa=(0,_elvisToolbox.useConnectedOverlay)(da,ea,{offset:8,horizontalPosition:"center",verticalPosition:"top"===r?"top":"bottom",alignWidths:!0}),ga=fa.isShowing,ha=fa.setIsShowing,ia=function(){if(!aa&&U)if(w)ba(ca[0]);else if("string"==typeof U){var a=ca.find(function(a){return a.value===U});a&&ba(a)}};return(0,_react.useEffect)(function(){if(!ga)return void O("");var a=function(a){"Escape"===a.code&&(0,_reactDom.flushSync)(function(){return ha(!1)})};return window.addEventListener("keydown",a),function(){return window.removeEventListener("keydown",a)}},[ga]),/*#__PURE__*/_react.default.createElement(_react.default.Fragment,null,/*#__PURE__*/_react.default.createElement(_styledComponents.DropdownContainer,{isCompact:f,className:null!==H&&void 0!==H?H:"",style:_objectSpread({},I),isFullWidth:void 0!==i&&i,isDisabled:h,isActive:ga,isInvalid:!!p,"data-testid":"wrapper","aria-haspopup":"true"},!!n&&/*#__PURE__*/_react.default.createElement(_elvisToolbox.FormFieldLabel,null,n),/*#__PURE__*/_react.default.createElement(_styledComponents.DropdownInputContainer,{ref:da},/*#__PURE__*/_react.default.createElement(_dropdownInput.DropdownInput,{placeholder:t,placeholderIcon:u,allOptionsSelectedLabel:l,isEditable:void 0!==j&&j,onChange:function onChange(a){return O(a)},dropdownIsOpen:ga,isDisabled:h,items:c,onOpenDropdown:function onOpenDropdown(){return(0,_reactDom.flushSync)(function(){return ha(!0)})},onKeyPress:Z,currentVal:U,focusedItem:aa,isMulti:w}),/*#__PURE__*/_react.default.createElement(_styledComponents.IconRotator,{isRotated:ga},/*#__PURE__*/_react.default.createElement(_react2.Icon,{name:"arrowDownBold",color:h?"disabled":"black",size:f?"xs":"sm"}))),!!p&&/*#__PURE__*/_react.default.createElement(_dropdownError.DropdownError,{errorText:p})),ga&&/*#__PURE__*/_react.default.createElement(_dropdownOverlay.DropdownOverlay,{ref:ea,isRootOverlay:!0,isGtMobile:R,noItemsText:B,isMulti:w,onItemSelect:function setSelectedItem(a){if(w){var b=(0,_dropdownListUtils.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]);ia()},isCompact:f,onClose:function onClose(){return(0,_reactDom.flushSync)(function(){return ha(!1)})},filteredItems:ca,inputIsKeyboard:"keyboard"===Q,allItems:c,pressedKey:Y,currentVal:U,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: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===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:!!N}))},_default=Dropdown;exports.default=_default;
"use strict";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)}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _react=_interopRequireWildcard(require("react")),_config=require("./config"),_elvisToolbox=require("@elvia/elvis-toolbox"),_react2=require("@elvia/elvis-icon/react"),_dropdownInput=require("./dropdown-input/dropdownInput"),_styledComponents=require("./styledComponents"),_dropdownError=require("./error/dropdownError"),_dropdownOverlay=require("./dropdown-overlay/dropdownOverlay"),_dropdownListUtils=require("./dropdownListUtils"),_reactDom=require("react-dom"),_excluded=["items","value","isCompact","isDisabled","isFullWidth","isSearchable","allOptionsSelectedLabel","label","errorMessage","menuPosition","placeholder","placeholderIcon","isMulti","hasSelectAllOption","selectAllOption","noOptionsMessage","valueOnChange","onItemHover","hasLoadMoreItemsButton","onLoadMoreItems","isLoadingMoreItems","className","inlineStyle","webcomponent"];function _getRequireWildcardCache(a){if("function"!=typeof WeakMap)return null;var b=new WeakMap,c=new WeakMap;return(_getRequireWildcardCache=function(a){return a?c:b})(a)}function _interopRequireWildcard(a,b){if(!b&&a&&a.__esModule)return a;if(null===a||"object"!==_typeof(a)&&"function"!=typeof a)return{default:a};var c=_getRequireWildcardCache(b);if(c&&c.has(a))return c.get(a);var d={},e=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var f in a)if("default"!=f&&Object.prototype.hasOwnProperty.call(a,f)){var g=e?Object.getOwnPropertyDescriptor(a,f):null;g&&(g.get||g.set)?Object.defineProperty(d,f,g):d[f]=a[f]}return d.default=a,c&&c.set(a,d),d}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}var filterItems=function(a,b){if(!b)return a;var c=(0,_dropdownListUtils.flattenTree)(a).filter(function(a){return!a.children}),d=c.filter(function(a){return a.label.toLowerCase().includes(b.toLowerCase())});return d},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.errorMessage,p=void 0===o?"":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=_objectWithoutProperties(a,_excluded);(0,_elvisToolbox.warnDeprecatedProps)(_config.config,K);var L=(0,_react.useState)(""),M=_slicedToArray(L,2),N=M[0],O=M[1],P=(0,_elvisToolbox.useInputModeDetection)(),Q=P.inputMode,R=(0,_elvisToolbox.useBreakpoint)("gt-mobile"),S=(0,_elvisToolbox.useWebComponentState)(d,"value",J,C),T=_slicedToArray(S,2),U=T[0],V=T[1],W=(0,_react.useState)(),X=_slicedToArray(W,2),Y=X[0],Z=X[1],$=(0,_react.useState)(),_=_slicedToArray($,2),aa=_[0],ba=_[1],ca=(0,_react.useMemo)(function(){return filterItems(c,N)},[c,N]),da=(0,_react.useRef)(null),ea=(0,_react.useRef)(null),fa=(0,_elvisToolbox.useConnectedOverlay)(da,ea,{offset:8,horizontalPosition:"center",verticalPosition:"top"===r?"top":"bottom",alignWidths:!0}),ga=fa.isShowing,ha=fa.setIsShowing,ia=function(){if(!aa&&U)if(w)ba(ca[0]);else if(!Array.isArray(U)){var a=ca.find(function(a){return a.value===U});a&&ba(a)}};return(0,_react.useEffect)(function(){if(!ga)return void O("");var a=function(a){"Escape"===a.code&&(0,_reactDom.flushSync)(function(){return ha(!1)})};return window.addEventListener("keydown",a),function(){return window.removeEventListener("keydown",a)}},[ga]),/*#__PURE__*/_react.default.createElement(_react.default.Fragment,null,/*#__PURE__*/_react.default.createElement(_styledComponents.DropdownContainer,{isCompact:f,className:null!==H&&void 0!==H?H:"",style:_objectSpread({},I),isFullWidth:void 0!==i&&i,isDisabled:h,isActive:ga,isInvalid:!!p,"data-testid":"wrapper","aria-haspopup":"true"},!!n&&/*#__PURE__*/_react.default.createElement(_elvisToolbox.FormFieldLabel,null,n),/*#__PURE__*/_react.default.createElement(_styledComponents.DropdownInputContainer,{ref:da},/*#__PURE__*/_react.default.createElement(_dropdownInput.DropdownInput,{placeholder:t,placeholderIcon:u,allOptionsSelectedLabel:l,isEditable:void 0!==j&&j,onChange:function onChange(a){return O(a)},dropdownIsOpen:ga,isDisabled:h,items:c,onOpenDropdown:function onOpenDropdown(){return(0,_reactDom.flushSync)(function(){return ha(!0)})},onKeyPress:Z,currentVal:U,focusedItem:aa,isMulti:w}),/*#__PURE__*/_react.default.createElement(_styledComponents.IconRotator,{isRotated:ga},/*#__PURE__*/_react.default.createElement(_react2.Icon,{name:"arrowDownBold",color:h?"disabled":"black",size:f?"xs":"sm"}))),!!p&&/*#__PURE__*/_react.default.createElement(_dropdownError.DropdownError,{errorText:p})),ga&&/*#__PURE__*/_react.default.createElement(_dropdownOverlay.DropdownOverlay,{ref:ea,isRootOverlay:!0,isGtMobile:R,noItemsText:B,isMulti:w,onItemSelect:function setSelectedItem(a){if(w){var b=(0,_dropdownListUtils.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]);ia()},isCompact:f,onClose:function onClose(){return(0,_reactDom.flushSync)(function(){return ha(!1)})},filteredItems:ca,inputIsKeyboard:"keyboard"===Q,allItems:c,pressedKey:Y,currentVal:U,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: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===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:!!N}))},_default=Dropdown;exports.default=_default;
//# sourceMappingURL=elvia-dropdown.js.map

@@ -5,5 +5,6 @@ import { IconName } from '@elvia/elvis-icon/react';

export declare type DropdownMenuPosition = 'top' | 'bottom' | 'auto';
export declare type DropdownValue = string | string[] | undefined | null;
export declare type DropdownValueType = string | number;
export declare type DropdownValue = DropdownValueType | DropdownValueType[] | undefined | null;
export interface DropdownItem {
value: string;
value: DropdownValueType;
label: string;

@@ -41,5 +42,5 @@ icon?: IconName;

hasLoadMoreItemsButton?: boolean;
onItemHover?: (hoveredItem: string | undefined) => void;
onItemHover?: (hoveredItem: DropdownValueType | undefined) => void;
onLoadMoreItems?: () => void;
isLoadingMoreItems?: boolean;
}
{
"name": "@elvia/elvis-dropdown",
"version": "5.0.4",
"version": "5.1.0",
"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

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

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

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc