diff --git a/dist/css/nice-select2.css b/dist/css/nice-select2.css
index f77d1a0..a5af4fa 100644
--- a/dist/css/nice-select2.css
+++ b/dist/css/nice-select2.css
@@ -1 +1,3 @@
-.nice-select{-webkit-tap-highlight-color:rgba(0,0,0,0);background-color:#fff;border-radius:5px;border:solid 1px #e8e8e8;box-sizing:border-box;clear:both;cursor:pointer;display:block;float:left;font-family:inherit;font-size:14px;font-weight:normal;height:38px;line-height:36px;outline:none;padding-left:18px;padding-right:30px;position:relative;text-align:left !important;transition:all .2s ease-in-out;user-select:none;white-space:nowrap;width:auto}.nice-select:hover{border-color:hsl(0,0%,85.9803921569%)}.nice-select:active,.nice-select.open,.nice-select:focus{border-color:#999}.nice-select:after{border-bottom:2px solid #999;border-right:2px solid #999;content:"";display:block;height:5px;margin-top:-4px;pointer-events:none;position:absolute;right:12px;top:50%;transform-origin:66% 66%;transform:rotate(45deg);transition:all .15s ease-in-out;width:5px}.nice-select.open:after{transform:rotate(-135deg)}.nice-select.open .nice-select-dropdown{opacity:1;pointer-events:auto;transform:scale(1) translateY(0)}.nice-select.disabled{border-color:rgb(237.1,237.1,237.1);color:#999;pointer-events:none}.nice-select.disabled:after{border-color:#ccc}.nice-select.wide{width:100%}.nice-select.wide .nice-select-dropdown{left:0 !important;right:0 !important}.nice-select.right{float:right}.nice-select.right .nice-select-dropdown{left:auto;right:0}.nice-select.small{font-size:12px;height:36px;line-height:34px}.nice-select.small:after{height:4px;width:4px}.nice-select.small .option{line-height:34px;min-height:34px}.nice-select .nice-select-dropdown{margin-top:4px;background-color:#fff;border-radius:5px;box-shadow:0 0 0 1px rgba(68,68,68,.11);pointer-events:none;position:absolute;top:100%;left:0;transform-origin:50% 0;transform:scale(0.75) translateY(19px);transition:all .2s cubic-bezier(0.5, 0, 0, 1.25),opacity .15s ease-out;z-index:9;opacity:0}.nice-select .list{border-radius:5px;box-sizing:border-box;overflow:hidden;padding:0;max-height:210px;overflow-y:auto}.nice-select .list:hover .option:not(:hover){background-color:rgba(0,0,0,0) !important}.nice-select .option{cursor:pointer;font-weight:400;line-height:40px;list-style:none;outline:none;padding-left:18px;padding-right:29px;text-align:left;transition:all .2s}.nice-select .option:hover,.nice-select .option.focus,.nice-select .option.selected.focus{background-color:#f6f6f6}.nice-select .option.selected{font-weight:bold}.nice-select .option.disabled{background-color:rgba(0,0,0,0);color:#999;cursor:default}.nice-select .extra{float:right}.nice-select .optgroup{font-weight:bold}.no-csspointerevents .nice-select .nice-select-dropdown{display:none}.no-csspointerevents .nice-select.open .nice-select-dropdown{display:block}.nice-select .list::-webkit-scrollbar{width:0}.nice-select .has-multiple{white-space:inherit;height:auto;padding:7px 12px;min-height:36px;line-height:22px}.nice-select .has-multiple span.current{border:1px solid #ccc;background:#eee;padding:0 10px;border-radius:3px;display:inline-block;line-height:24px;font-size:14px;margin-bottom:3px;margin-right:3px}.nice-select .has-multiple .multiple-options{display:block;line-height:24px;padding:0}.nice-select .nice-select-search-box{box-sizing:border-box;width:100%;padding:5px;pointer-events:none;border-radius:5px 5px 0 0}.nice-select .nice-select-search{box-sizing:border-box;background-color:#fff;border:1px solid #e8e8e8;border-radius:3px;color:#444;display:inline-block;vertical-align:middle;padding:7px 12px;margin:0 10px 0 0;width:100%;min-height:36px;line-height:22px;height:auto;outline:0 !important;font-size:14px}
+.nice-select{-webkit-tap-highlight-color:rgba(0,0,0,0);background-color:#fff;border-radius:5px;border:solid 1px #e8e8e8;box-sizing:border-box;clear:both;cursor:pointer;display:block;float:left;font-family:inherit;font-size:14px;font-weight:normal;height:38px;line-height:36px;outline:none;padding-left:18px;padding-right:30px;position:relative;text-align:left !important;transition:all .2s ease-in-out;user-select:none;white-space:nowrap;width:auto}.nice-select:hover{border-color:hsl(0,0%,85.9803921569%)}.nice-select:active,.nice-select:focus{border-color:#999}.nice-select:after{border-bottom:2px solid #999;border-right:2px solid #999;content:"";display:block;height:5px;margin-top:-4px;pointer-events:none;position:absolute;right:12px;top:50%;transform-origin:66% 66%;transform:rotate(45deg);transition:all .15s ease-in-out;width:5px}.nice-select.open{border-color:#999}.nice-select.open:after{transform:rotate(-135deg)}.nice-select.open .nice-select-dropdown{opacity:1;pointer-events:auto;transform:scale(1) translateY(0)}.nice-select.disabled{border-color:rgb(237.1,237.1,237.1);color:#999;pointer-events:none}.nice-select.disabled:after{border-color:#ccc}.nice-select.wide{width:100%}.nice-select.wide .nice-select-dropdown{left:0 !important;right:0 !important}.nice-select.right{float:right}.nice-select.right .nice-select-dropdown{left:auto;right:0}.nice-select.small{font-size:12px;height:36px;line-height:34px}.nice-select.small:after{height:4px;width:4px}.nice-select.small .option{line-height:34px;min-height:34px}.nice-select .nice-select-dropdown{margin-top:4px;background-color:#fff;border-radius:5px;box-shadow:0 0 0 1px rgba(68,68,68,.11);pointer-events:none;position:absolute;top:100%;left:0;transform-origin:50% 0;transform:scale(0.75) translateY(19px);transition:all .2s cubic-bezier(0.5, 0, 0, 1.25),opacity .15s ease-out;z-index:9;opacity:0}.nice-select .list{border-radius:5px;box-sizing:border-box;overflow:hidden;padding:0;max-height:210px;overflow-y:auto}.nice-select .list:hover .option:not(:hover){background-color:rgba(0,0,0,0) !important}.nice-select .option{cursor:pointer;font-weight:400;line-height:40px;list-style:none;outline:none;padding-left:18px;padding-right:29px;text-align:left;transition:all .2s}.nice-select .option:hover,.nice-select .option.focus,.nice-select .option.selected.focus{background-color:#f6f6f6}.nice-select .option.selected{font-weight:bold}.nice-select .option.disabled{background-color:rgba(0,0,0,0);color:#999;cursor:default}.nice-select .extra{float:right}.nice-select .optgroup{font-weight:bold}.no-csspointerevents .nice-select .nice-select-dropdown{display:none}.no-csspointerevents .nice-select.open .nice-select-dropdown{display:block}.nice-select .list::-webkit-scrollbar{width:0}.nice-select .has-multiple{white-space:inherit;height:auto;padding:7px 12px;min-height:36px;line-height:22px}.nice-select .has-multiple span.current{border:1px solid #ccc;background:#eee;padding:0 10px;border-radius:3px;display:inline-block;line-height:24px;font-size:14px;margin-bottom:3px;margin-right:3px}.nice-select .has-multiple .multiple-options{display:block;line-height:24px;padding:0}.nice-select .nice-select-search-box{box-sizing:border-box;width:100%;padding:5px;pointer-events:none;border-radius:5px 5px 0 0}.nice-select .nice-select-search{box-sizing:border-box;background-color:#fff;border:1px solid #e8e8e8;border-radius:3px;color:#444;display:inline-block;vertical-align:middle;padding:7px 12px;margin:0 10px 0 0;width:100%;min-height:36px;line-height:22px;height:auto;outline:0 !important;font-size:14px}
+
+/*# sourceMappingURL=nice-select2.css.map*/
\ No newline at end of file
diff --git a/dist/css/nice-select2.css.map b/dist/css/nice-select2.css.map
index ce475b7..7dc5b14 100644
--- a/dist/css/nice-select2.css.map
+++ b/dist/css/nice-select2.css.map
@@ -1 +1 @@
-{"version":3,"file":"css/nice-select2.css","mappings":";;;AAkBA;EACE;EACA;EACA,kBAhBoB;EAiBpB;EACA;EACA;EACA;EACA;EACA;EACA;EACA,eA3BU;EA4BV;EACA,YAzBa;EA0Bb;EACA;EACA,kBA1BiB;EA2BjB;EACA;EACA;EACA;EACA;EACA;EACA;AAjBF;AAkBE;EACE;AAhBJ;AAkBE;EACE,kBAnCG;AAmBP;AAmBE;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAjBJ;AAsBI;EACE;AApBN;AAsBI;EACE;EACA;EACA;AApBN;AAuBE;EACE;EACA,WApEG;EAqEH;AArBJ;AAsBI;EACE;AApBN;AAyBE;EACE;AAvBJ;AAwBI;EACE;EACA;AAtBN;AAyBE;EACE;AAvBJ;AAwBI;EACE;EACA;AAtBN;AAyBE;EACE,eAnGc;EAoGd,YAhGiB;EAiGjB;AAvBJ;AAwBI;EACE;EACA;AAtBN;AAwBI;EACE;EACA;AAtBN;AA0BE;EACE;EACA;EACA,kBAjHkB;EAkHlB;EAEA;EACA;EACA;EAAW;EACX;EACA;EACA;EACA;EACA;AAxBJ;AA4BE;EACE,kBAhIkB;EAiIlB;EACA;EACA;EACA;EACA;AA1BJ;AA4BI;EACE;AA1BN;AA6BE;EACE;EACA;EACA;EACA;EACA;EACA,kBA9Ie;EA+If;EACA;EACA;AA3BJ;AA4BI;EACE,yBA9IS;AAoHf;AA4BI;EACE;AA1BN;AA4BI;EACE;EACA,WAvJC;EAwJD;AA1BN;AA8BE;EACE;AA5BJ;AA+BE;EACE;AA7BJ;;AAmCE;EACE;AAhCJ;AAmCI;EACE;AAjCN;;AAuCA;EACE;AApCF;;AA2CE;EACE;EACA;EACA;EACA;EACA;AAxCJ;AA0CI;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAxCN;AA2CI;EACE;EACA;EACA;AAzCN;AA6CE;EACE;EACA;EACA;EACA;EACA;AA3CJ;AA8CE;EACE;EACA;EACA;EACA;EACA,WAlOQ;EAmOR;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,eApPQ;AAwMZ,C","sources":["webpack://NiceSelect/./src/scss/nice-select2.scss"],"sourcesContent":["@use 'sass:math';\r\n// Default variables\r\n$font_size: 14px !default;\r\n$font_size_small: 12px !default;\r\n\r\n$input_border_radius: 5px !default;\r\n$input_height: 38px !default;\r\n$input_height_small: 36px !default;\r\n$dropdown_padding: 18px !default;\r\n\r\n$gray_dark: #444 !default;\r\n$gray: #999 !default;\r\n$gray_light: #e8e8e8 !default;\r\n$gray_lighter: #f6f6f6 !default;\r\n$primary_light: $gray !default;\r\n$arrow_color: $gray !default;\r\n\r\n// Style the dropdown\r\n.nice-select {\r\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\r\n background-color: #fff;\r\n border-radius: $input_border_radius;\r\n border: solid 1px $gray_light;\r\n box-sizing: border-box;\r\n clear: both;\r\n cursor: pointer;\r\n display: block;\r\n float: left;\r\n font-family: inherit;\r\n font-size: $font_size;\r\n font-weight: normal;\r\n height: $input_height;\r\n line-height: $input_height - 2;\r\n outline: none;\r\n padding-left: $dropdown_padding;\r\n padding-right: $dropdown_padding + 12;\r\n position: relative;\r\n text-align: left !important;\r\n transition: all 0.2s ease-in-out;\r\n user-select: none;\r\n white-space: nowrap;\r\n width: auto;\r\n &:hover {\r\n border-color: darken($gray_light, 5%);\r\n }\r\n &:active, &:focus {\r\n border-color: $primary_light;\r\n }\r\n // Arrow\r\n &:after { \r\n border-bottom: 2px solid $arrow_color;\r\n border-right: 2px solid $arrow_color;\r\n content: '';\r\n display: block; \r\n height: 5px;\r\n margin-top: -4px;\r\n pointer-events: none;\r\n position: absolute; \r\n right: 12px; \r\n top: 50%; \r\n transform-origin: 66% 66%;\r\n transform: rotate(45deg);\r\n transition: all 0.15s ease-in-out;\r\n width: 5px;\r\n }\r\n \r\n &.open {\r\n @extend :active;\r\n &:after {\r\n transform: rotate(-135deg);\r\n }\r\n .nice-select-dropdown {\r\n opacity: 1;\r\n pointer-events: auto;\r\n transform: scale(1) translateY(0);\r\n }\r\n }\r\n &.disabled {\r\n border-color: lighten($gray_light, 2%);\r\n color: $gray;\r\n pointer-events: none;\r\n &:after { \r\n border-color: lighten($arrow_color, 20%);\r\n }\r\n }\r\n \r\n // Modifiers\r\n &.wide {\r\n width: 100%;\r\n .nice-select-dropdown {\r\n left: 0 !important;\r\n right: 0 !important;\r\n }\r\n }\r\n &.right {\r\n float: right;\r\n .nice-select-dropdown {\r\n left: auto;\r\n right: 0;\r\n }\r\n }\r\n &.small {\r\n font-size: $font_size_small;\r\n height: $input_height_small;\r\n line-height: $input_height_small - 2;\r\n &:after { \r\n height: 4px;\r\n width: 4px;\r\n }\r\n .option {\r\n line-height: $input_height_small - 2;\r\n min-height: $input_height_small - 2;\r\n }\r\n }\r\n\r\n .nice-select-dropdown{\r\n margin-top: 4px;\r\n background-color: #fff;\r\n border-radius: $input_border_radius;\r\n box-shadow: 0 0 0 1px rgba($gray_dark, .11);\r\n\r\n pointer-events: none;\r\n position: absolute;\r\n top: 100%; left: 0;\r\n transform-origin: 50% 0;\r\n transform: scale(.75) translateY(- math.div(-$input-height, 2));\r\n transition: all .2s cubic-bezier(0.5, 0, 0, 1.25), opacity .15s ease-out;\r\n z-index: 9;\r\n opacity: 0;\r\n }\r\n\r\n // List and options\r\n .list {\r\n border-radius: $input_border_radius;\r\n box-sizing: border-box;\r\n overflow: hidden;\r\n padding: 0;\r\n max-height: 210px;\r\n overflow-y: auto;\r\n\r\n &:hover .option:not(:hover) {\r\n background-color: transparent !important;\r\n }\r\n }\r\n .option {\r\n cursor: pointer;\r\n font-weight: 400;\r\n line-height: $input_height + 2;\r\n list-style: none;\r\n outline: none;\r\n padding-left: $dropdown_padding;\r\n padding-right: $dropdown_padding + 11;\r\n text-align: left;\r\n transition: all 0.2s;\r\n &:hover, &.focus, &.selected.focus { \r\n background-color: $gray_lighter;\r\n }\r\n &.selected { \r\n font-weight: bold;\r\n }\r\n &.disabled {\r\n background-color: transparent;\r\n color: $gray;\r\n cursor: default;\r\n }\r\n }\r\n\r\n .extra {\r\n float: right;\r\n }\r\n \r\n .optgroup{\r\n font-weight: bold;\r\n }\r\n}\r\n\r\n// Use display instead of opacity for IE <= 10\r\n.no-csspointerevents .nice-select {\r\n .nice-select-dropdown {\r\n display: none;\r\n }\r\n &.open {\r\n .nice-select-dropdown {\r\n display: block;\r\n }\r\n }\r\n}\r\n\r\n\r\n.nice-select .list::-webkit-scrollbar {\r\n width: 0\r\n}\r\n\r\n\r\n\r\n\r\n.nice-select{\r\n .has-multiple {\r\n white-space: inherit;\r\n height: auto;\r\n padding: 7px 12px;\r\n min-height: 36px;\r\n line-height: 22px;\r\n\r\n span.current {\r\n border: 1px solid #CCC;\r\n background: #EEE;\r\n padding: 0 10px;\r\n border-radius: 3px;\r\n display: inline-block;\r\n line-height: 24px;\r\n font-size: 14px;\r\n margin-bottom: 3px;\r\n margin-right: 3px\r\n }\r\n\r\n .multiple-options {\r\n display: block;\r\n line-height: 24px;\r\n padding: 0\r\n }\r\n }\r\n\r\n .nice-select-search-box {\r\n box-sizing: border-box;\r\n width: 100%;\r\n padding: 5px;\r\n pointer-events: none;\r\n border-radius: 5px 5px 0 0;\r\n }\r\n\r\n .nice-select-search {\r\n box-sizing: border-box;\r\n background-color: #fff;\r\n border: 1px solid $gray_light;\r\n border-radius: 3px;\r\n color: $gray_dark;\r\n display: inline-block;\r\n vertical-align: middle;\r\n padding: 7px 12px;\r\n margin: 0 10px 0 0;\r\n width: 100%;\r\n min-height: 36px;\r\n line-height: 22px;\r\n height: auto;\r\n outline: 0!important;\r\n font-size: $font_size;\r\n }\r\n}\r\n"],"names":[],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"css/nice-select2.css","mappings":"AAoBA,aACE,0CACA,sBACA,iBAhBoB,CAiBpB,yBACA,sBACA,WACA,eACA,cACA,WACA,oBACA,cA3BU,CA4BV,mBACA,WAzBa,CA0Bb,iBACA,aACA,iBA1BiB,CA2BjB,mBACA,kBACA,2BACA,+BACA,iBACA,mBACA,WAEA,mBACE,sCAGF,uCAEE,iBAtCG,CA0CL,mBACE,6BACA,4BACA,WACA,cACA,WACA,gBACA,oBACA,kBACA,WACA,QACA,yBACA,wBACA,gCACA,UAGF,kBACE,iBA5DG,CA6DH,wBACE,0BAEF,wCACE,UACA,oBACA,iCAIJ,sBACE,oCACA,UAzEG,CA0EH,oBACA,4BACE,kBAKJ,kBACE,WACA,wCACE,kBACA,mBAIJ,mBACE,YACA,yCACE,UACA,QAIJ,mBACE,cA1Gc,CA2Gd,WAvGiB,CAwGjB,iBACA,yBACE,WACA,UAEF,2BACE,iBACA,gBAIJ,mCACE,eACA,sBACA,iBAxHkB,CAyHlB,wCACA,oBACA,kBACA,SACA,OACA,uBACA,uCACA,uEACA,UACA,UAIF,mBACE,iBAvIkB,CAwIlB,sBACA,gBACA,UACA,iBACA,gBAEA,6CACE,0CAIJ,qBACE,eACA,gBACA,iBACA,gBACA,aACA,iBAtJe,CAuJf,mBACA,gBACA,mBAEA,0FAGE,wBAzJS,CA4JX,8BACE,iBAGF,8BACE,+BACA,UApKC,CAqKD,eAIJ,oBACE,YAGF,uBACE,iBAMF,wDACE,aAGA,6DACE,cAKN,sCACE,QAIA,2BACE,oBACA,YACA,iBACA,gBACA,iBAEA,wCACE,sBACA,gBACA,eACA,kBACA,qBACA,iBACA,eACA,kBACA,iBAGF,6CACE,cACA,iBACA,UAIJ,qCACE,sBACA,WACA,YACA,oBACA,0BAGF,iCACE,sBACA,sBACA,yBACA,kBACA,UA3OQ,CA4OR,qBACA,sBACA,iBACA,kBACA,WACA,gBACA,iBACA,YACA,qBACA,cA7PQ,C","sources":["webpack://NiceSelect/./src/scss/nice-select2.scss"],"sourcesContent":["@use \"sass:math\";\r\n@use \"sass:color\";\r\n\r\n// Default variables\r\n$font_size: 14px !default;\r\n$font_size_small: 12px !default;\r\n\r\n$input_border_radius: 5px !default;\r\n$input_height: 38px !default;\r\n$input_height_small: 36px !default;\r\n$dropdown_padding: 18px !default;\r\n\r\n$gray_dark: #444 !default;\r\n$gray: #999 !default;\r\n$gray_light: #e8e8e8 !default;\r\n$gray_lighter: #f6f6f6 !default;\r\n$primary_light: $gray !default;\r\n$arrow_color: $gray !default;\r\n\r\n// Style the dropdown\r\n.nice-select {\r\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\r\n background-color: #fff;\r\n border-radius: $input_border_radius;\r\n border: solid 1px $gray_light;\r\n box-sizing: border-box;\r\n clear: both;\r\n cursor: pointer;\r\n display: block;\r\n float: left;\r\n font-family: inherit;\r\n font-size: $font_size;\r\n font-weight: normal;\r\n height: $input_height;\r\n line-height: $input_height - 2;\r\n outline: none;\r\n padding-left: $dropdown_padding;\r\n padding-right: $dropdown_padding + 12;\r\n position: relative;\r\n text-align: left !important;\r\n transition: all 0.2s ease-in-out;\r\n user-select: none;\r\n white-space: nowrap;\r\n width: auto;\r\n\r\n &:hover {\r\n border-color: color.adjust($gray_light, $lightness: -5%);\r\n }\r\n\r\n &:active,\r\n &:focus {\r\n border-color: $primary_light;\r\n }\r\n\r\n // Arrow\r\n &:after {\r\n border-bottom: 2px solid $arrow_color;\r\n border-right: 2px solid $arrow_color;\r\n content: \"\";\r\n display: block;\r\n height: 5px;\r\n margin-top: -4px;\r\n pointer-events: none;\r\n position: absolute;\r\n right: 12px;\r\n top: 50%;\r\n transform-origin: 66% 66%;\r\n transform: rotate(45deg);\r\n transition: all 0.15s ease-in-out;\r\n width: 5px;\r\n }\r\n\r\n &.open {\r\n border-color: $primary_light;\r\n &:after {\r\n transform: rotate(-135deg);\r\n }\r\n .nice-select-dropdown {\r\n opacity: 1;\r\n pointer-events: auto;\r\n transform: scale(1) translateY(0);\r\n }\r\n }\r\n\r\n &.disabled {\r\n border-color: color.adjust($gray_light, $lightness: 2%);\r\n color: $gray;\r\n pointer-events: none;\r\n &:after {\r\n border-color: color.adjust($arrow_color, $lightness: 20%);\r\n }\r\n }\r\n\r\n // Modifiers\r\n &.wide {\r\n width: 100%;\r\n .nice-select-dropdown {\r\n left: 0 !important;\r\n right: 0 !important;\r\n }\r\n }\r\n\r\n &.right {\r\n float: right;\r\n .nice-select-dropdown {\r\n left: auto;\r\n right: 0;\r\n }\r\n }\r\n\r\n &.small {\r\n font-size: $font_size_small;\r\n height: $input_height_small;\r\n line-height: $input_height_small - 2;\r\n &:after {\r\n height: 4px;\r\n width: 4px;\r\n }\r\n .option {\r\n line-height: $input_height_small - 2;\r\n min-height: $input_height_small - 2;\r\n }\r\n }\r\n\r\n .nice-select-dropdown {\r\n margin-top: 4px;\r\n background-color: #fff;\r\n border-radius: $input_border_radius;\r\n box-shadow: 0 0 0 1px rgba($gray_dark, 0.11);\r\n pointer-events: none;\r\n position: absolute;\r\n top: 100%;\r\n left: 0;\r\n transform-origin: 50% 0;\r\n transform: scale(0.75) translateY(math.div($input_height, 2));\r\n transition: all 0.2s cubic-bezier(0.5, 0, 0, 1.25), opacity 0.15s ease-out;\r\n z-index: 9;\r\n opacity: 0;\r\n }\r\n\r\n // List and options\r\n .list {\r\n border-radius: $input_border_radius;\r\n box-sizing: border-box;\r\n overflow: hidden;\r\n padding: 0;\r\n max-height: 210px;\r\n overflow-y: auto;\r\n\r\n &:hover .option:not(:hover) {\r\n background-color: transparent !important;\r\n }\r\n }\r\n\r\n .option {\r\n cursor: pointer;\r\n font-weight: 400;\r\n line-height: $input_height + 2;\r\n list-style: none;\r\n outline: none;\r\n padding-left: $dropdown_padding;\r\n padding-right: $dropdown_padding + 11;\r\n text-align: left;\r\n transition: all 0.2s;\r\n\r\n &:hover,\r\n &.focus,\r\n &.selected.focus {\r\n background-color: $gray_lighter;\r\n }\r\n\r\n &.selected {\r\n font-weight: bold;\r\n }\r\n\r\n &.disabled {\r\n background-color: transparent;\r\n color: $gray;\r\n cursor: default;\r\n }\r\n }\r\n\r\n .extra {\r\n float: right;\r\n }\r\n\r\n .optgroup {\r\n font-weight: bold;\r\n }\r\n}\r\n\r\n// Fallback for IE <= 10\r\n.no-csspointerevents .nice-select {\r\n .nice-select-dropdown {\r\n display: none;\r\n }\r\n &.open {\r\n .nice-select-dropdown {\r\n display: block;\r\n }\r\n }\r\n}\r\n\r\n.nice-select .list::-webkit-scrollbar {\r\n width: 0;\r\n}\r\n\r\n.nice-select {\r\n .has-multiple {\r\n white-space: inherit;\r\n height: auto;\r\n padding: 7px 12px;\r\n min-height: 36px;\r\n line-height: 22px;\r\n\r\n span.current {\r\n border: 1px solid #ccc;\r\n background: #eee;\r\n padding: 0 10px;\r\n border-radius: 3px;\r\n display: inline-block;\r\n line-height: 24px;\r\n font-size: 14px;\r\n margin-bottom: 3px;\r\n margin-right: 3px;\r\n }\r\n\r\n .multiple-options {\r\n display: block;\r\n line-height: 24px;\r\n padding: 0;\r\n }\r\n }\r\n\r\n .nice-select-search-box {\r\n box-sizing: border-box;\r\n width: 100%;\r\n padding: 5px;\r\n pointer-events: none;\r\n border-radius: 5px 5px 0 0;\r\n }\r\n\r\n .nice-select-search {\r\n box-sizing: border-box;\r\n background-color: #fff;\r\n border: 1px solid $gray_light;\r\n border-radius: 3px;\r\n color: $gray_dark;\r\n display: inline-block;\r\n vertical-align: middle;\r\n padding: 7px 12px;\r\n margin: 0 10px 0 0;\r\n width: 100%;\r\n min-height: 36px;\r\n line-height: 22px;\r\n height: auto;\r\n outline: 0 !important;\r\n font-size: $font_size;\r\n }\r\n}"],"names":[],"sourceRoot":""}
\ No newline at end of file
diff --git a/dist/css/style.css b/dist/css/style.css
index a05685a..ea0695c 100644
--- a/dist/css/style.css
+++ b/dist/css/style.css
@@ -1 +1,3 @@
-code[class*=language-],pre[class*=language-]{border-radius:2px;color:#445870;hyphens:none;line-height:1.5;tab-size:4;text-align:left;white-space:pre;word-break:normal;word-spacing:normal;word-wrap:normal;direction:ltr;font-family:Inconsolata,monospace;font-size:13px;letter-spacing:0}pre[class*=language-]{padding:18px 24px;margin:0 0 24px;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#f6f7f9}:not(pre)>code[class*=language-]{padding:0 2px 1px}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:#90a1b5}.token.punctuation{color:#999}.namespace{opacity:.7}.token.property,.token.tag,.token.boolean,.token.number,.token.constant,.token.symbol,.token.deleted{color:#ec4444}.token.selector,.token.attr-name,.token.string,.token.char,.token.builtin,.token.inserted{color:#4abf60}.token.operator,.token.entity,.token.url,.language-css .token.string,.style .token.string{color:#a67f59;background:hsla(0,0%,100%,.5)}.token.atrule,.token.attr-value,.token.keyword{color:#55a1fb}.token.function{color:#dd4a68}.token.regex,.token.important,.token.variable{color:#e90}.token.important,.token.bold{font-weight:bold}.token.italic{font-style:italic}.token.entity{cursor:help}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#445870;font-family:"Work Sans",sans-serif;font-size:14px;font-weight:normal;letter-spacing:-0.25px;margin:0;padding:0 18px}p{line-height:1.6;margin:0 0 1.6em}h1{font-size:36px;font-weight:300;letter-spacing:-2px;margin:0 0 24px}h2{font-size:22px;font-weight:700;margin:0 0 12px;padding-top:48px}h3{font-size:18px;font-weight:400;margin:0 0 12px;padding-top:12px}ul{margin:0;padding-left:16px}a:not(.button){color:#55a1fb;outline:none;text-decoration:none;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out;border-bottom:1px solid rgba(0,0,0,0)}a:not(.button):hover,a:not(.button):focus{border-bottom:1px solid #88bfff}::selection{background:rgb(242.94,244.28,246.96)}.container{margin:96px auto 60px;max-width:40em}.box{background-color:#f6f7f9;border-radius:2px;margin-bottom:30px;padding:24px 30px}.box:before,.box:after{content:"";display:table}.box:after{clear:both}label{color:#90a1b5;font-size:11px;margin:0 2px 4px;text-transform:uppercase;float:left}label.right{float:right}.button{-webkit-tap-highlight-color:rgba(0,0,0,0);background-color:#55a1fb;border-radius:5px;border:none;box-sizing:border-box;color:#fff;cursor:pointer;display:inline-block;font-weight:600;height:38px;line-height:38px;outline:none;padding:0 24px;text-align:center;text-decoration:none;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out;white-space:nowrap;width:auto}.button:hover,.button:focus{background-color:rgb(65.0689655172,149.9793103448,250.5310344828)}.button:active{background-color:rgb(45.1379310345,138.9586206897,250.0620689655)}.button.light{background-color:#fff;border:1px solid #e8e8e8;color:#55a1fb;line-height:36px;margin-left:24px}.button.light:hover{border-color:hsl(0,0%,85.9803921569%)}.button.light:active,.button.light:focus{border-color:#88bfff}@media screen and (max-width: 360px){.button{width:100%}.button.light{margin:18px 0 0}}.header{text-align:center;margin-bottom:60px}@media screen and (min-width: 600px){.header{padding:0 18px}}.header p{color:#90a1b5;font-size:18px;margin-bottom:36px}.footer{text-align:center}.footer p{margin-bottom:90px}.credit{color:#90a1b5;clear:both;font-size:12px;margin-top:90px}
+code[class*=language-],pre[class*=language-]{border-radius:2px;color:#445870;hyphens:none;line-height:1.5;tab-size:4;text-align:left;white-space:pre;word-break:normal;word-spacing:normal;word-wrap:normal;direction:ltr;font-family:Inconsolata,monospace;font-size:13px;letter-spacing:0}pre[class*=language-]{padding:18px 24px;margin:0 0 24px;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#f6f7f9}:not(pre)>code[class*=language-]{padding:0 2px 1px}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:#90a1b5}.token.punctuation{color:#999}.namespace{opacity:.7}.token.property,.token.tag,.token.boolean,.token.number,.token.constant,.token.symbol,.token.deleted{color:#ec4444}.token.selector,.token.attr-name,.token.string,.token.char,.token.builtin,.token.inserted{color:#4abf60}.token.operator,.token.entity,.token.url,.language-css .token.string,.style .token.string{color:#a67f59;background:hsla(0,0%,100%,.5)}.token.atrule,.token.attr-value,.token.keyword{color:#55a1fb}.token.function{color:#dd4a68}.token.regex,.token.important,.token.variable{color:#e90}.token.important,.token.bold{font-weight:bold}.token.italic{font-style:italic}.token.entity{cursor:help}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#445870;font-family:"Work Sans",sans-serif;font-size:14px;font-weight:normal;letter-spacing:-0.25px;margin:0;padding:0 18px}p{line-height:1.6;margin:0 0 1.6em}h1{font-size:36px;font-weight:300;letter-spacing:-2px;margin:0 0 24px}h2{font-size:22px;font-weight:700;margin:0 0 12px;padding-top:48px}h3{font-size:18px;font-weight:400;margin:0 0 12px;padding-top:12px}ul{margin:0;padding-left:16px}a:not(.button){color:#55a1fb;outline:none;text-decoration:none;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out;border-bottom:1px solid rgba(0,0,0,0)}a:not(.button):hover,a:not(.button):focus{border-bottom:1px solid #88bfff}::selection{background:rgb(242.94,244.28,246.96)}.container{margin:96px auto 60px;max-width:40em}.box{background-color:#f6f7f9;border-radius:2px;margin-bottom:30px;padding:24px 30px}.box:before,.box:after{content:"";display:table}.box:after{clear:both}label{color:#90a1b5;font-size:11px;margin:0 2px 4px;text-transform:uppercase;float:left}label.right{float:right}.button{-webkit-tap-highlight-color:rgba(0,0,0,0);background-color:#55a1fb;border-radius:5px;border:none;box-sizing:border-box;color:#fff;cursor:pointer;display:inline-block;font-weight:600;height:38px;line-height:38px;outline:none;padding:0 24px;text-align:center;text-decoration:none;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out;white-space:nowrap;width:auto}.button:hover,.button:focus{background-color:rgb(65.0689655172,149.9793103448,250.5310344828)}.button:active{background-color:rgb(45.1379310345,138.9586206897,250.0620689655)}.button.light{background-color:#fff;border:1px solid #e0e7ee;color:#55a1fb;line-height:36px;margin-left:24px}.button.light:hover{border-color:rgb(207.53125,218.25,228.96875)}.button.light:active,.button.light:focus{border-color:#88bfff}@media screen and (max-width: 360px){.button{width:100%}.button.light{margin:18px 0 0}}.header{text-align:center;margin-bottom:60px}@media screen and (min-width: 600px){.header{padding:0 18px}}.header p{color:#90a1b5;font-size:18px;margin-bottom:36px}.footer{text-align:center}.footer p{margin-bottom:90px}.credit{color:#90a1b5;clear:both;font-size:12px;margin-top:90px}
+
+/*# sourceMappingURL=style.css.map*/
\ No newline at end of file
diff --git a/dist/css/style.css.map b/dist/css/style.css.map
index a22ea4a..bfad743 100644
--- a/dist/css/style.css.map
+++ b/dist/css/style.css.map
@@ -1 +1 @@
-{"version":3,"file":"css/style.css","mappings":";;;AAAA;;EAEC;EACA,cCHW;EDIX;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACC;EACA;EACA;EACA;ACCF;;ADEA;AACA;EACC;EACA;EACA;ACCD;;ADEA;;EAEC,mBCxBc;AAyBf;;ADEA;AACA;EACC;ACCD;;ADEA;;;;EAIC,cCtCM;AAuCP;;ADEA;EACC;ACCD;;ADEA;EACC;ACCD;;ADEA;;;;;;;EAOC;ACCD;;ADEA;;;;;;EAMC;ACCD;;ADEA;;;;;EAKC;EACA;ACCD;;ADEA;;;EAGC,cC7EM;AA8EP;;ADEA;EACC;ACCD;;ADEA;;;EAGC;ACCD;;ADEA;;EAEC;ACCD;;ADCA;EACC;ACED;;ADCA;EACC;ACED;;AApEA;EACE;EACA;EACA,cAxCU;EAyCV;EACA;EACA;EACA;EACA;EACA;AAuEF;;AApEA;EACE;EACA;AAuEF;;AApEA;EACE;EACA;EACA;EACA;AAuEF;;AApEA;EACE;EACA;EACA;EACA;AAuEF;;AApEA;EACE;EACA;EACA;EACA;AAuEF;;AApEA;EACE;EACA;AAuEF;;AApEA;EACE,cA7EK;EA8EL;EACA;EACA;EACA;EACA;AAuEF;AAtEE;EACE;AAwEJ;;AApEA;EACE;AAuEF;;AApEA;EACE;EACA;AAuEF;;AApEA;EAEE,yBApGa;EAqGb;EACA;EACA;AAsEF;AApJE;EACE;EACA;AAsJJ;AApJE;EACE;AAsJJ;;AA1EA;EACE,cA7GK;EA8GL;EACA;EACA;EACA;AA6EF;AA5EE;EACE;AA8EJ;;AA1EA;EACE;EACA,yBAtHK;EAuHL,kBA9GoB;EA+GpB;EACA;EACA;EACA;EACA;EACA;EACA,YApHa;EAqHb,iBArHa;EAsHb;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AA6EF;AA5EE;EACE;AA8EJ;AA5EE;EACE;AA8EJ;AA5EE;EACE;EACA;EACA,cAjJG;EAkJH;EACA;AA8EJ;AA7EI;EACE;AA+EN;AA7EI;EACE,qBAvJO;AAsOb;AA5EE;EAvCF;IAwCI;EA+EF;EA9EE;IACE;EAgFJ;AACF;;AA3EA;EACE;EACA;AA8EF;AA7EE;EAHF;IAII;EAgFF;AACF;AA/EE;EACE,cA9KG;EA+KH;EACA;AAiFJ;;AA7EA;EACE;AAgFF;AA/EE;EACE;AAiFJ;;AA7EA;EACE,cA5LK;EA6LL;EACA,eApLgB;EAqLhB;AAgFF,C","sources":["webpack://NiceSelect/./src/scss/_prism.scss","webpack://NiceSelect/./src/scss/style.scss"],"sourcesContent":["code[class*=\"language-\"],\r\npre[class*=\"language-\"] {\r\n\tborder-radius: 2px;\r\n\tcolor: $gray_dark;\r\n\thyphens: none;\r\n\tline-height: 1.5;\r\n\ttab-size: 4;\r\n\ttext-align: left;\r\n\twhite-space: pre;\r\n\tword-break: normal;\r\n\tword-spacing: normal;\r\n\tword-wrap: normal;\r\n direction: ltr;\r\n font-family: Inconsolata, monospace;\r\n font-size: 13px;\t\r\n letter-spacing: 0;\r\n}\r\n\r\n/* Code blocks */\r\npre[class*=\"language-\"] {\r\n\tpadding: 18px 24px;\r\n\tmargin: 0 0 24px;\r\n\toverflow: auto;\r\n}\r\n\r\n:not(pre) > code[class*=\"language-\"],\r\npre[class*=\"language-\"] {\r\n\tbackground: $gray_lighter;\r\n}\r\n\r\n/* Inline code */\r\n:not(pre) > code[class*=\"language-\"] {\r\n\tpadding: 0 2px 1px;\r\n}\r\n\r\n.token.comment,\r\n.token.prolog,\r\n.token.doctype,\r\n.token.cdata {\r\n\tcolor: $gray;\r\n}\r\n\r\n.token.punctuation {\r\n\tcolor: #999;\r\n}\r\n\r\n.namespace {\r\n\topacity: .7;\r\n}\r\n\r\n.token.property,\r\n.token.tag,\r\n.token.boolean,\r\n.token.number,\r\n.token.constant,\r\n.token.symbol,\r\n.token.deleted {\r\n\tcolor: #EC4444;\r\n}\r\n\r\n.token.selector,\r\n.token.attr-name,\r\n.token.string,\r\n.token.char,\r\n.token.builtin,\r\n.token.inserted {\r\n\tcolor: #4ABF60;\r\n}\r\n\r\n.token.operator,\r\n.token.entity,\r\n.token.url,\r\n.language-css .token.string,\r\n.style .token.string {\r\n\tcolor: #a67f59;\r\n\tbackground: hsla(0, 0%, 100%, .5);\r\n}\r\n\r\n.token.atrule,\r\n.token.attr-value,\r\n.token.keyword {\r\n\tcolor: $blue;\r\n}\r\n\r\n.token.function {\r\n\tcolor: #DD4A68;\r\n}\r\n\r\n.token.regex,\r\n.token.important,\r\n.token.variable {\r\n\tcolor: #e90;\r\n}\r\n\r\n.token.important,\r\n.token.bold {\r\n\tfont-weight: bold;\r\n}\r\n.token.italic {\r\n\tfont-style: italic;\r\n}\r\n\r\n.token.entity {\r\n\tcursor: help;\r\n}\r\n","$gray_dark: #445870;\r\n$gray: #90a1b5;\r\n$gray_light: #e0e7ee;\r\n$gray_lighter: #f6f7f9;\r\n$blue: #55a1fb;\r\n$blue_light: #88bfff;\r\n$primary: $blue;\r\n$primary_light: $blue_light;\r\n\r\n// Default variables\r\n$font_size: 14px !default;\r\n$font_size_small: 12px !default;\r\n\r\n$input_border_radius: 5px !default;\r\n$input_height: 38px;\r\n$input_height_small: 36px !default;\r\n$dropdown_padding: 18px !default;\r\n\r\n$gray_dark: #444 !default;\r\n$gray: #999 !default;\r\n$gray_light: #e8e8e8 ;\r\n$gray_lighter: #f6f6f6 !default;\r\n$primary_light: $gray !default;\r\n$arrow_color: $gray !default;\r\n\r\n@import \"./prism\";\r\n\r\n@mixin clearfix() {\r\n &:before, &:after {\r\n content: \"\";\r\n display: table;\r\n }\r\n &:after {\r\n clear: both;\r\n }\r\n}\r\n\r\nbody {\r\n -webkit-font-smoothing: antialiased;\r\n -moz-osx-font-smoothing: grayscale;\r\n color: $gray_dark;\r\n font-family: 'Work Sans', sans-serif;\r\n font-size: 14px;\r\n font-weight: normal;\r\n letter-spacing: -0.25px;\r\n margin: 0;\r\n padding: 0 18px;\r\n}\r\n\r\np {\r\n line-height: 1.6;\r\n margin: 0 0 1.6em;\r\n}\r\n\r\nh1 {\r\n font-size: 36px;\r\n font-weight: 300;\r\n letter-spacing: -2px;\r\n margin: 0 0 24px;\r\n}\r\n\r\nh2 {\r\n font-size: 22px;\r\n font-weight: 700;\r\n margin: 0 0 12px;\r\n padding-top: 48px;\r\n}\r\n\r\nh3 {\r\n font-size: 18px; \r\n font-weight: 400;\r\n margin: 0 0 12px;\r\n padding-top: 12px;\r\n}\r\n\r\nul {\r\n margin: 0;\r\n padding-left: 16px;\r\n}\r\n\r\na:not(.button) {\r\n color: $primary;\r\n outline: none;\r\n text-decoration: none;\r\n -webkit-transition: all 0.2s ease-in-out;\r\n transition: all 0.2s ease-in-out;\r\n border-bottom: 1px solid transparent;\r\n &:hover, &:focus {\r\n border-bottom: 1px solid $primary_light;\r\n }\r\n}\r\n\r\n::selection {\r\n background: darken($gray_lighter, 1%);\r\n}\r\n\r\n.container {\r\n margin: 96px auto 60px;\r\n max-width: 40em;\r\n}\r\n\r\n.box {\r\n @include clearfix;\r\n background-color: $gray_lighter;\r\n border-radius: 2px;\r\n margin-bottom: 30px;\r\n padding: 24px 30px;\r\n}\r\n\r\nlabel {\r\n color: $gray;\r\n font-size: 11px;\r\n margin: 0 2px 4px;\r\n text-transform: uppercase;\r\n float: left;\r\n &.right {\r\n float: right;\r\n }\r\n}\r\n\r\n.button {\r\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\r\n background-color: $primary;\r\n border-radius: $input_border_radius;\r\n border: none;\r\n box-sizing: border-box;\r\n color: #fff;\r\n cursor: pointer;\r\n display: inline-block;\r\n font-weight: 600;\r\n height: $input_height;\r\n line-height: $input_height;\r\n outline: none;\r\n padding: 0 24px;\r\n text-align: center;\r\n text-decoration: none;\r\n -webkit-transition: all 0.2s ease-in-out;\r\n transition: all 0.2s ease-in-out;\r\n white-space: nowrap;\r\n width: auto;\r\n &:hover, &:focus {\r\n background-color: darken($primary, 4%);\r\n }\r\n &:active {\r\n background-color: darken($primary, 8%);\r\n }\r\n &.light {\r\n background-color: #fff;\r\n border: 1px solid $gray_light;\r\n color: $primary;\r\n line-height: $input_height - 2;\r\n margin-left: 24px;\r\n &:hover {\r\n border-color: darken($gray_light, 5%);\r\n }\r\n &:active, &:focus {\r\n border-color: $primary_light;\r\n }\r\n }\r\n @media screen and (max-width: 360px) {\r\n width: 100%;\r\n &.light {\r\n margin: 18px 0 0;\r\n }\r\n }\r\n}\r\n\r\n\r\n.header {\r\n text-align: center;\t\r\n margin-bottom: 60px;\r\n @media screen and (min-width: 600px) {\r\n padding: 0 18px;\r\n }\r\n p {\r\n color: $gray;\r\n font-size: 18px;\r\n margin-bottom: 36px;\r\n }\r\n}\r\n\r\n.footer {\r\n text-align: center;\r\n p {\r\n margin-bottom: 90px;\r\n }\r\n}\r\n\r\n.credit {\r\n color: $gray;\r\n clear: both;\r\n font-size: $font_size_small;\r\n margin-top: 90px;\r\n}\r\n"],"names":[],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"css/style.css","mappings":"AAOA,6CAEE,kBACA,aCRY,CDSZ,aACA,gBACA,WACA,gBACA,gBACA,kBACA,oBACA,iBACA,cACA,kCACA,eACA,iBAIF,sBACE,kBACA,gBACA,cAGF,uDAEE,kBC/Be,CDmCjB,iCACE,kBAGF,yDAIE,aC1CO,CD6CT,mBACE,WAGF,WACE,WAGF,qGAOE,cAGF,0FAME,cAGF,0FAKE,cACA,8BAGF,+CAGE,aCnFO,CDsFT,gBACE,cAGF,8CAGE,WAGF,6BAEE,iBAGF,cACE,kBAGF,cACE,YCnEF,KACE,mCACA,kCACA,aAvBU,CAwBV,mCACA,eACA,mBACA,uBACA,SACA,eAGF,EACE,gBACA,iBAGF,GACE,eACA,gBACA,oBACA,gBAGF,GACE,eACA,gBACA,gBACA,iBAGF,GACE,eACA,gBACA,gBACA,iBAGF,GACE,SACA,kBAGF,eACE,aA5DK,CA6DL,aACA,qBACA,uCACA,+BACA,sCAEA,0CAEE,gCAIJ,YACE,qCAGF,WACE,sBACA,eAGF,KAEE,wBArFa,CAsFb,kBACA,mBACA,kBAjFA,uBAEE,WACA,cAEF,WACE,WA8EJ,MACE,aA9FK,CA+FL,eACA,iBACA,yBACA,WAEA,YACE,YAIJ,QACE,0CACA,wBAxGK,CAyGL,iBA1HoB,CA2HpB,YACA,sBACA,WACA,eACA,qBACA,gBACA,WAhIa,CAiIb,gBAjIa,CAkIb,aACA,eACA,kBACA,qBACA,uCACA,+BACA,mBACA,WAEA,4BAEE,kEAGF,eACE,kEAGF,cACE,sBACA,yBACA,aAvIG,CAwIH,iBACA,iBAEA,oBACE,6CAGF,yCAEE,oBAhJO,CAoJX,qCA/CF,QAgDI,WAEA,cACE,iBAKN,QACE,kBACA,mBAEA,qCAJF,QAKI,gBAGF,UACE,aA1KG,CA2KH,eACA,mBAIJ,QACE,kBAEA,UACE,mBAIJ,QACE,aAzLK,CA0LL,WACA,cA3MgB,CA4MhB,gB","sources":["webpack://NiceSelect/./src/scss/_prism.scss","webpack://NiceSelect/./src/scss/style.scss"],"sourcesContent":["@use \"sass:color\";\r\n\r\n$gray_dark: #445870 !default;\r\n$gray_lighter: #f6f7f9 !default;\r\n$gray: #90a1b5 !default;\r\n$blue: #55a1fb !default;\r\n\r\ncode[class*=\"language-\"],\r\npre[class*=\"language-\"] {\r\n border-radius: 2px;\r\n color: $gray_dark;\r\n hyphens: none;\r\n line-height: 1.5;\r\n tab-size: 4;\r\n text-align: left;\r\n white-space: pre;\r\n word-break: normal;\r\n word-spacing: normal;\r\n word-wrap: normal;\r\n direction: ltr;\r\n font-family: Inconsolata, monospace;\r\n font-size: 13px;\r\n letter-spacing: 0;\r\n}\r\n\r\n/* Code blocks */\r\npre[class*=\"language-\"] {\r\n padding: 18px 24px;\r\n margin: 0 0 24px;\r\n overflow: auto;\r\n}\r\n\r\n:not(pre) > code[class*=\"language-\"],\r\npre[class*=\"language-\"] {\r\n background: $gray_lighter;\r\n}\r\n\r\n/* Inline code */\r\n:not(pre) > code[class*=\"language-\"] {\r\n padding: 0 2px 1px;\r\n}\r\n\r\n.token.comment,\r\n.token.prolog,\r\n.token.doctype,\r\n.token.cdata {\r\n color: $gray;\r\n}\r\n\r\n.token.punctuation {\r\n color: #999;\r\n}\r\n\r\n.namespace {\r\n opacity: 0.7;\r\n}\r\n\r\n.token.property,\r\n.token.tag,\r\n.token.boolean,\r\n.token.number,\r\n.token.constant,\r\n.token.symbol,\r\n.token.deleted {\r\n color: #ec4444;\r\n}\r\n\r\n.token.selector,\r\n.token.attr-name,\r\n.token.string,\r\n.token.char,\r\n.token.builtin,\r\n.token.inserted {\r\n color: #4abf60;\r\n}\r\n\r\n.token.operator,\r\n.token.entity,\r\n.token.url,\r\n.language-css .token.string,\r\n.style .token.string {\r\n color: #a67f59;\r\n background: color.adjust(#fff, $alpha: -0.5);\r\n}\r\n\r\n.token.atrule,\r\n.token.attr-value,\r\n.token.keyword {\r\n color: $blue;\r\n}\r\n\r\n.token.function {\r\n color: #dd4a68;\r\n}\r\n\r\n.token.regex,\r\n.token.important,\r\n.token.variable {\r\n color: #e90;\r\n}\r\n\r\n.token.important,\r\n.token.bold {\r\n font-weight: bold;\r\n}\r\n\r\n.token.italic {\r\n font-style: italic;\r\n}\r\n\r\n.token.entity {\r\n cursor: help;\r\n}","@use \"sass:color\";\r\n@use \"./prism\" with (\r\n $gray_dark: #445870,\r\n $gray_lighter: #f6f7f9,\r\n $gray: #90a1b5,\r\n $blue: #55a1fb\r\n);\r\n// Default variables\r\n$font_size: 14px !default;\r\n$font_size_small: 12px !default;\r\n\r\n$input_border_radius: 5px !default;\r\n$input_height: 38px !default;\r\n$input_height_small: 36px !default;\r\n$dropdown_padding: 18px !default;\r\n\r\n$gray_dark: #444 !default;\r\n$gray: #999 !default;\r\n$gray_light: #e8e8e8 !default;\r\n$gray_lighter: #f6f6f6 !default;\r\n$primary_light: $gray !default;\r\n$arrow_color: $gray !default;\r\n\r\n// Override defaults\r\n$gray_dark: #445870;\r\n$gray: #90a1b5;\r\n$gray_light: #e0e7ee;\r\n$gray_lighter: #f6f7f9;\r\n$blue: #55a1fb;\r\n$blue_light: #88bfff;\r\n$primary: $blue;\r\n$primary_light: $blue_light;\r\n\r\n@mixin clearfix() {\r\n &:before,\r\n &:after {\r\n content: \"\";\r\n display: table;\r\n }\r\n &:after {\r\n clear: both;\r\n }\r\n}\r\n\r\nbody {\r\n -webkit-font-smoothing: antialiased;\r\n -moz-osx-font-smoothing: grayscale;\r\n color: $gray_dark;\r\n font-family: \"Work Sans\", sans-serif;\r\n font-size: 14px;\r\n font-weight: normal;\r\n letter-spacing: -0.25px;\r\n margin: 0;\r\n padding: 0 18px;\r\n}\r\n\r\np {\r\n line-height: 1.6;\r\n margin: 0 0 1.6em;\r\n}\r\n\r\nh1 {\r\n font-size: 36px;\r\n font-weight: 300;\r\n letter-spacing: -2px;\r\n margin: 0 0 24px;\r\n}\r\n\r\nh2 {\r\n font-size: 22px;\r\n font-weight: 700;\r\n margin: 0 0 12px;\r\n padding-top: 48px;\r\n}\r\n\r\nh3 {\r\n font-size: 18px;\r\n font-weight: 400;\r\n margin: 0 0 12px;\r\n padding-top: 12px;\r\n}\r\n\r\nul {\r\n margin: 0;\r\n padding-left: 16px;\r\n}\r\n\r\na:not(.button) {\r\n color: $primary;\r\n outline: none;\r\n text-decoration: none;\r\n -webkit-transition: all 0.2s ease-in-out;\r\n transition: all 0.2s ease-in-out;\r\n border-bottom: 1px solid transparent;\r\n\r\n &:hover,\r\n &:focus {\r\n border-bottom: 1px solid $primary_light;\r\n }\r\n}\r\n\r\n::selection {\r\n background: color.adjust($gray_lighter, $lightness: -1%);\r\n}\r\n\r\n.container {\r\n margin: 96px auto 60px;\r\n max-width: 40em;\r\n}\r\n\r\n.box {\r\n @include clearfix;\r\n background-color: $gray_lighter;\r\n border-radius: 2px;\r\n margin-bottom: 30px;\r\n padding: 24px 30px;\r\n}\r\n\r\nlabel {\r\n color: $gray;\r\n font-size: 11px;\r\n margin: 0 2px 4px;\r\n text-transform: uppercase;\r\n float: left;\r\n\r\n &.right {\r\n float: right;\r\n }\r\n}\r\n\r\n.button {\r\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\r\n background-color: $primary;\r\n border-radius: $input_border_radius;\r\n border: none;\r\n box-sizing: border-box;\r\n color: #fff;\r\n cursor: pointer;\r\n display: inline-block;\r\n font-weight: 600;\r\n height: $input_height;\r\n line-height: $input_height;\r\n outline: none;\r\n padding: 0 24px;\r\n text-align: center;\r\n text-decoration: none;\r\n -webkit-transition: all 0.2s ease-in-out;\r\n transition: all 0.2s ease-in-out;\r\n white-space: nowrap;\r\n width: auto;\r\n\r\n &:hover,\r\n &:focus {\r\n background-color: color.adjust($primary, $lightness: -4%);\r\n }\r\n\r\n &:active {\r\n background-color: color.adjust($primary, $lightness: -8%);\r\n }\r\n\r\n &.light {\r\n background-color: #fff;\r\n border: 1px solid $gray_light;\r\n color: $primary;\r\n line-height: $input_height - 2;\r\n margin-left: 24px;\r\n\r\n &:hover {\r\n border-color: color.adjust($gray_light, $lightness: -5%);\r\n }\r\n\r\n &:active,\r\n &:focus {\r\n border-color: $primary_light;\r\n }\r\n }\r\n\r\n @media screen and (max-width: 360px) {\r\n width: 100%;\r\n\r\n &.light {\r\n margin: 18px 0 0;\r\n }\r\n }\r\n}\r\n\r\n.header {\r\n text-align: center;\r\n margin-bottom: 60px;\r\n\r\n @media screen and (min-width: 600px) {\r\n padding: 0 18px;\r\n }\r\n\r\n p {\r\n color: $gray;\r\n font-size: 18px;\r\n margin-bottom: 36px;\r\n }\r\n}\r\n\r\n.footer {\r\n text-align: center;\r\n\r\n p {\r\n margin-bottom: 90px;\r\n }\r\n}\r\n\r\n.credit {\r\n color: $gray;\r\n clear: both;\r\n font-size: $font_size_small;\r\n margin-top: 90px;\r\n}"],"names":[],"sourceRoot":""}
\ No newline at end of file
diff --git a/dist/js/nice-select2.js b/dist/js/nice-select2.js
index ba0393d..23af709 100644
--- a/dist/js/nice-select2.js
+++ b/dist/js/nice-select2.js
@@ -1 +1,2 @@
-!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.NiceSelect=t():e.NiceSelect=t()}(self,(()=>(()=>{"use strict";var e={d:(t,i)=>{for(var s in i)e.o(i,s)&&!e.o(t,s)&&Object.defineProperty(t,s,{enumerable:!0,get:i[s]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};function i(e){const t=new MouseEvent("click",{bubbles:!0,cancelable:!1});e.dispatchEvent(t)}function s(e){const t=new Event("change",{bubbles:!0,cancelable:!1});e.dispatchEvent(t)}function o(e){const t=new FocusEvent("focusin",{bubbles:!0,cancelable:!1});e.dispatchEvent(t)}function n(e){const t=new FocusEvent("focusout",{bubbles:!0,cancelable:!1});e.dispatchEvent(t)}function l(e){const t=new UIEvent("modalclose",{bubbles:!0,cancelable:!1});e.dispatchEvent(t)}function d(e,t){"invalid"==t?(c(this.dropdown,"invalid"),p(this.dropdown,"valid")):(c(this.dropdown,"valid"),p(this.dropdown,"invalid"))}function r(e,t){return null!=e[t]?e[t]:e.getAttribute(t)}function a(e,t){return!!e&&e.classList.contains(t)}function c(e,t){if(e)return e.classList.add(t)}function p(e,t){if(e)return e.classList.remove(t)}e.r(t),e.d(t,{bind:()=>f,default:()=>u});var h={data:null,searchable:!1,showSelectedItems:!1};function u(e,t){this.el=e,this.config=Object.assign({},h,t||{}),this.data=this.config.data,this.selectedOptions=[],this.placeholder=r(this.el,"placeholder")||this.config.placeholder||"Select an option",this.searchtext=r(this.el,"searchtext")||this.config.searchtext||"Search",this.selectedtext=r(this.el,"selectedtext")||this.config.selectedtext||"selected",this.dropdown=null,this.multiple=r(this.el,"multiple"),this.disabled=r(this.el,"disabled"),this.create()}function f(e,t){return new u(e,t)}return u.prototype.create=function(){this.el.style.opacity="0",this.el.style.width="0",this.el.style.padding="0",this.el.style.height="0",this.el.style.fontSize="0",this.data?this.processData(this.data):this.extractData(),this.renderDropdown(),this.bindEvent()},u.prototype.processData=function(e){var t=[];e.forEach((e=>{t.push({data:e,attributes:{selected:!!e.selected,disabled:!!e.disabled,optgroup:"optgroup"==e.value}})})),this.options=t},u.prototype.extractData=function(){var e=this.el.querySelectorAll("option,optgroup"),t=[],i=[],s=[];e.forEach((e=>{if("OPTGROUP"==e.tagName)var s={text:e.label,value:"optgroup"};else{let t=e.innerText;null!=e.dataset.display&&(t=e.dataset.display),s={text:t,value:e.value,extra:e.dataset.extra,selected:null!=e.getAttribute("selected"),disabled:null!=e.getAttribute("disabled")}}var o={selected:null!=e.getAttribute("selected"),disabled:null!=e.getAttribute("disabled"),optgroup:"OPTGROUP"==e.tagName};t.push(s),i.push({data:s,attributes:o})})),this.data=t,this.options=i,this.options.forEach((e=>{e.attributes.selected&&s.push(e)})),this.selectedOptions=s},u.prototype.renderDropdown=function(){var e=["nice-select",r(this.el,"class")||"",this.disabled?"disabled":"",this.multiple?"has-multiple":""];let t='
';t+=` `,t+="
";var i=``;i+=`
`,i+='
',i+=`${this.config.searchable?t:""}`,i+='
',i+="
",i+="
",this.el.insertAdjacentHTML("afterend",i),this.dropdown=this.el.nextElementSibling,this._renderSelectedItems(),this._renderItems()},u.prototype._renderSelectedItems=function(){if(this.multiple){var e="";this.config.showSelectedItems||this.config.showSelectedItems||"auto"==window.getComputedStyle(this.dropdown).width||this.selectedOptions.length<2?(this.selectedOptions.forEach((function(t){e+=`${t.data.text} `})),e=""==e?this.placeholder:e):e=this.selectedOptions.length+" "+this.selectedtext,this.dropdown.querySelector(".multiple-options").innerHTML=e}else{var t=this.selectedOptions.length>0?this.selectedOptions[0].data.text:this.placeholder;this.dropdown.querySelector(".current").innerHTML=t}},u.prototype._renderItems=function(){var e=this.dropdown.querySelector("ul");this.options.forEach((t=>{e.appendChild(this._renderItem(t))}))},u.prototype._renderItem=function(e){var t=document.createElement("li");if(t.innerHTML=e.data.text,null!=e.data.extra&&t.appendChild(this._renderItemExtra(e.data.extra)),e.attributes.optgroup)c(t,"optgroup");else{t.setAttribute("data-value",e.data.value);var i=["option",e.attributes.selected?"selected":null,e.attributes.disabled?"disabled":null];t.addEventListener("click",this._onItemClicked.bind(this,e)),t.classList.add(...i)}return e.element=t,t},u.prototype._renderItemExtra=function(e){var t=document.createElement("span");return t.innerHTML=e,c(t,"extra"),t},u.prototype.update=function(){if(this.extractData(),this.dropdown){var e=a(this.dropdown,"open");this.dropdown.parentNode.removeChild(this.dropdown),this.create(),e&&i(this.dropdown)}r(this.el,"disabled")?this.disable():this.enable()},u.prototype.disable=function(){this.disabled||(this.disabled=!0,c(this.dropdown,"disabled"))},u.prototype.enable=function(){this.disabled&&(this.disabled=!1,p(this.dropdown,"disabled"))},u.prototype.clear=function(){this.resetSelectValue(),this.selectedOptions=[],this._renderSelectedItems(),this.update(),s(this.el)},u.prototype.destroy=function(){this.dropdown&&(this.dropdown.parentNode.removeChild(this.dropdown),this.el.style.display="")},u.prototype.bindEvent=function(){this.dropdown.addEventListener("click",this._onClicked.bind(this)),this.dropdown.addEventListener("keydown",this._onKeyPressed.bind(this)),this.dropdown.addEventListener("focusin",o.bind(this,this.el)),this.dropdown.addEventListener("focusout",n.bind(this,this.el)),this.el.addEventListener("invalid",d.bind(this,this.el,"invalid")),window.addEventListener("click",this._onClickedOutside.bind(this)),this.config.searchable&&this._bindSearchEvent()},u.prototype._bindSearchEvent=function(){var e=this.dropdown.querySelector(".nice-select-search");e&&e.addEventListener("click",(function(e){return e.stopPropagation(),!1})),e.addEventListener("input",this._onSearchChanged.bind(this))},u.prototype._onClicked=function(e){if(e.preventDefault(),a(this.dropdown,"open")?this.multiple?e.target==this.dropdown.querySelector(".multiple-options")&&(p(this.dropdown,"open"),l(this.el)):(p(this.dropdown,"open"),l(this.el)):(c(this.dropdown,"open"),function(e){const t=new UIEvent("modalopen",{bubbles:!0,cancelable:!1});e.dispatchEvent(t)}(this.el)),a(this.dropdown,"open")){var t=this.dropdown.querySelector(".nice-select-search");t&&(t.value="",t.focus());var i=this.dropdown.querySelector(".focus");p(i,"focus"),c(i=this.dropdown.querySelector(".selected"),"focus"),this.dropdown.querySelectorAll("ul li").forEach((function(e){e.style.display=""}))}else this.dropdown.focus()},u.prototype._onItemClicked=function(e,t){var i=t.target;if(!a(i,"disabled")){if(this.multiple)if(a(i,"selected")){p(i,"selected"),this.selectedOptions.splice(this.selectedOptions.indexOf(e),1);var s=this.el.querySelector(`option[value="${i.dataset.value}"]`);s.removeAttribute("selected"),s.selected=!1}else c(i,"selected"),this.selectedOptions.push(e);else this.options.forEach((function(e){p(e.element,"selected")})),this.selectedOptions.forEach((function(e){p(e.element,"selected")})),c(i,"selected"),this.selectedOptions=[e];this._renderSelectedItems(),this.updateSelectValue()}},u.prototype.setValue=function(e){var t,i=this.el,s=!0;if(i.multiple)for(var o=0;o-1?n.value:null:e,n.value!=t||n.disabled?(n.removeAttribute("selected"),delete n.selected):(s&&(i.value=t,s=!1),n.setAttribute("selected",!0),n.selected=!0);s&&!i.multiple&&(i.options[0].setAttribute("selected",!0),i.options[0].selected=!0,i.value=i.options[0].value),this.update()},u.prototype.getValue=function(){var e=this.el;if(!e.multiple)return e.value;var t=[];for(var i of e.options)i.selected&&t.push(i.value);return t},u.prototype.updateSelectValue=function(){if(this.multiple){var e=this.el;this.selectedOptions.forEach((function(t){var i=e.querySelector(`option[value="${t.data.value}"]`);i?i.setAttribute("selected",!0):console.error("Option not found, does it have a value?")}))}else this.selectedOptions.length>0&&(this.el.value=this.selectedOptions[0].data.value);s(this.el)},u.prototype.resetSelectValue=function(){if(this.multiple){var e=this.el;this.selectedOptions.forEach((function(t){var i=e.querySelector(`option[value="${t.data.value}"]`);i&&(i.removeAttribute("selected"),delete i.selected)}))}else this.selectedOptions.length>0&&(this.el.selectedIndex=-1);s(this.el)},u.prototype._onClickedOutside=function(e){this.dropdown.contains(e.target)||(p(this.dropdown,"open"),l(this.el))},u.prototype._onKeyPressed=function(e){var t=this.dropdown.querySelector(".focus"),s=a(this.dropdown,"open");if(13==e.keyCode)i(s?t:this.dropdown);else if(40==e.keyCode){if(s){var o=this._findNext(t);o&&(p(this.dropdown.querySelector(".focus"),"focus"),c(o,"focus"))}else i(this.dropdown);e.preventDefault()}else if(38==e.keyCode){if(s){var n=this._findPrev(t);n&&(p(this.dropdown.querySelector(".focus"),"focus"),c(n,"focus"))}else i(this.dropdown);e.preventDefault()}else if(27==e.keyCode&&s)i(this.dropdown);else if(32===e.keyCode&&s)return!1;return!1},u.prototype._findNext=function(e){for(e=e?e.nextElementSibling:this.dropdown.querySelector(".list .option");e;){if(!a(e,"disabled")&&"none"!=e.style.display)return e;e=e.nextElementSibling}return null},u.prototype._findPrev=function(e){for(e=e?e.previousElementSibling:this.dropdown.querySelector(".list .option:last-child");e;){if(!a(e,"disabled")&&"none"!=e.style.display)return e;e=e.previousElementSibling}return null},u.prototype._onSearchChanged=function(e){var t=a(this.dropdown,"open"),i=e.target.value;if(""==(i=i.toLowerCase()))this.options.forEach((function(e){e.element.style.display=""}));else if(t){var s=new RegExp(i);this.options.forEach((function(e){var t=e.data.text.toLowerCase(),i=s.test(t);e.element.style.display=i?"":"none"}))}this.dropdown.querySelectorAll(".focus").forEach((function(e){p(e,"focus")})),c(this._findNext(null),"focus")},t})()));
\ No newline at end of file
+!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.NiceSelect=t():e.NiceSelect=t()}(self,(()=>(()=>{"use strict";var e={d:(t,s)=>{for(var i in s)e.o(s,i)&&!e.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:s[i]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{bind:()=>u,default:()=>p});const s=(e,t,s={})=>{let i;i="click"===t?MouseEvent:"change"===t?Event:t.includes("focus")?FocusEvent:UIEvent;const l=new i(t,{bubbles:!0,cancelable:!1,...s});e.dispatchEvent(l)},i=e=>s(e,"click"),l=e=>s(e,"change"),o=e=>s(e,"modalclose"),n=(e,t)=>void 0!==e[t]?e[t]:e.getAttribute(t),d=(e,t)=>e?.classList.contains(t),r=(e,t)=>e?.classList.add(t),a=(e,t)=>e?.classList.remove(t),c={data:null,searchable:!1,showSelectedItems:!1,placeholder:"Select an option",searchtext:"Search",selectedtext:"selected"};class h{constructor(e,t={}){if(!e)throw new Error("No element provided to NiceSelect");if(!(e instanceof Element))throw new Error("Invalid element provided to NiceSelect - must be a valid DOM element");this.el=e,this.config={...c,...t},this.data=this.config.data,this.selectedOptions=[],this.placeholder=n(this.el,"placeholder")||this.config.placeholder,this.searchtext=n(this.el,"searchtext")||this.config.searchtext,this.selectedtext=n(this.el,"selectedtext")||this.config.selectedtext,this.dropdown=null,this.multiple=n(this.el,"multiple"),this.disabled=n(this.el,"disabled"),this.create()}create(){Object.assign(this.el.style,{opacity:"0",width:"0",padding:"0",height:"0",fontSize:"0"}),this.data?this.processData(this.data):this.extractData(),this.renderDropdown(),this.bindEvent()}processData(e){this.options=e.map((e=>({data:e,attributes:{selected:!!e.selected,disabled:!!e.disabled,optgroup:"optgroup"===e.value}})))}extractData(){const e=Array.from(this.el.querySelectorAll("option,optgroup")),t=[],s=[];this.data=e.map((e=>{let i;i="OPTGROUP"===e.tagName?{text:e.label,value:"optgroup"}:{text:e.dataset.display??e.innerText,value:e.value,extra:e.dataset.extra,selected:e.hasAttribute("selected"),disabled:e.hasAttribute("disabled")};const l={selected:e.hasAttribute("selected"),disabled:e.hasAttribute("disabled"),optgroup:"OPTGROUP"===e.tagName},o={data:i,attributes:l,element:null};return t.push(o),l.selected&&s.push(o),i})),this.options=t,this.selectedOptions=s}renderDropdown(){const e=["nice-select",n(this.el,"class")||"",this.disabled?"disabled":"",this.multiple?"has-multiple":""].filter(Boolean),t=this.config.searchable?`\n \n \n
\n `:"",s=`\n \n `;this.el.insertAdjacentHTML("afterend",s),this.dropdown=this.el.nextElementSibling,this._renderSelectedItems(),this._renderItems()}_renderSelectedItems(){if(this.multiple){let e="";this.config.showSelectedItems||"auto"===window.getComputedStyle(this.dropdown).width||this.selectedOptions.length<2?(this.selectedOptions.forEach((t=>{e+=`${t.data.text} `})),e=e||this.placeholder):e=`${this.selectedOptions.length} ${this.selectedtext}`,this.dropdown.querySelector(".multiple-options").innerHTML=e}else{const e=this.selectedOptions.length>0?this.selectedOptions[0].data.text:this.placeholder;this.dropdown.querySelector(".current").innerHTML=e}}_renderItems(){const e=this.dropdown.querySelector("ul");this.options.forEach((t=>e.appendChild(this._renderItem(t))))}_renderItem(e){const t=document.createElement("li");if(t.innerHTML=e.data.text,void 0!==e.data.extra&&t.appendChild(this._renderItemExtra(e.data.extra)),e.attributes.optgroup)r(t,"optgroup");else{t.setAttribute("data-value",e.data.value);const s=["option"];e.attributes.selected&&s.push("selected"),e.attributes.disabled&&s.push("disabled"),t.classList.add(...s),t.addEventListener("click",(t=>this._onItemClicked(e,t)))}return e.element=t,t}_renderItemExtra(e){const t=document.createElement("span");return t.innerHTML=e,r(t,"extra"),t}update(){if(this.extractData(),this.dropdown){const e=d(this.dropdown,"open");this.dropdown.remove(),this.create(),e&&i(this.dropdown)}n(this.el,"disabled")?this.disable():this.enable()}disable(){this.disabled||(this.disabled=!0,r(this.dropdown,"disabled"))}enable(){this.disabled&&(this.disabled=!1,a(this.dropdown,"disabled"))}clear(){this.resetSelectValue(),this.selectedOptions=[],this._renderSelectedItems(),this.update(),l(this.el)}destroy(){this.dropdown&&(this.dropdown.remove(),this.el.style.display="")}bindEvent(){this.dropdown.addEventListener("click",(e=>this._onClicked(e))),this.dropdown.addEventListener("keydown",(e=>this._onKeyPressed(e))),this.dropdown.addEventListener("focusin",(()=>{return e=this.el,s(e,"focusin");var e})),this.dropdown.addEventListener("focusout",(()=>{return e=this.el,s(e,"focusout");var e})),this.el.addEventListener("invalid",(()=>this._triggerValidationMessage("invalid"))),window.addEventListener("click",(e=>this._onClickedOutside(e))),this.config.searchable&&this._bindSearchEvent()}_bindSearchEvent(){const e=this.dropdown.querySelector(".nice-select-search");e&&(e.addEventListener("click",(e=>e.stopPropagation())),e.addEventListener("input",(e=>this._onSearchChanged(e))))}_onClicked(e){var t;if(e.preventDefault(),d(this.dropdown,"open")?this.multiple?e.target===this.dropdown.querySelector(".multiple-options")&&(a(this.dropdown,"open"),o(this.el)):(a(this.dropdown,"open"),o(this.el)):(r(this.dropdown,"open"),t=this.el,s(t,"modalopen")),d(this.dropdown,"open")){const e=this.dropdown.querySelector(".nice-select-search");e&&(e.value="",e.focus());const t=this.dropdown.querySelector(".focus");t&&a(t,"focus");const s=this.dropdown.querySelector(".selected");s&&r(s,"focus"),this.dropdown.querySelectorAll("ul li").forEach((e=>e.style.display=""))}else this.dropdown.focus()}_onItemClicked(e,t){const s=t.target;if(!d(s,"disabled")){if(this.multiple)if(d(s,"selected")){a(s,"selected"),this.selectedOptions=this.selectedOptions.filter((t=>t!==e));const t=this.el.querySelector(`option[value="${s.dataset.value}"]`);t&&(t.removeAttribute("selected"),t.selected=!1)}else r(s,"selected"),this.selectedOptions.push(e);else this.options.forEach((e=>a(e.element,"selected"))),r(s,"selected"),this.selectedOptions=[e];this._renderSelectedItems(),this.updateSelectValue()}}setValue(e){const t=this.el;let s=!0;if(t.multiple){if(!Array.isArray(e))throw new Error("setValue expects an array for multiple select elements");e=e.map(String)}else{if(Array.isArray(e))throw new Error("setValue expects a single value for non-multiple select elements");if(null!=e&&"string"!=typeof e&&"number"!=typeof e)throw new Error("setValue expects a string or number for non-multiple select elements");e=String(e)}for(const i of t.options){const l=t.multiple?e.includes(i.value)?i.value:null:e;i.value!==l||i.disabled?(i.removeAttribute("selected"),i.selected=!1):(s&&(t.value=l,s=!1),i.setAttribute("selected",!0),i.selected=!0)}s&&!t.multiple&&t.options.length&&(t.options[0].setAttribute("selected",!0),t.options[0].selected=!0,t.value=t.options[0].value),this.update()}getValue(){const e=this.el;return e.multiple?Array.from(e.options).filter((e=>e.selected)).map((e=>e.value)):e.value}updateSelectValue(){if(this.multiple){const e=this.el;this.selectedOptions.forEach((t=>{const s=e.querySelector(`option[value="${t.data.value}"]`);s?s.setAttribute("selected",!0):console.error("Option not found, does it have a value?")}))}else this.selectedOptions.length>0&&(this.el.value=this.selectedOptions[0].data.value);l(this.el)}resetSelectValue(){if(this.multiple){const e=this.el;this.selectedOptions.forEach((t=>{const s=e.querySelector(`option[value="${t.data.value}"]`);s&&(s.removeAttribute("selected"),s.selected=!1)}))}else this.selectedOptions.length>0&&(this.el.selectedIndex=-1);l(this.el)}_onClickedOutside(e){this.dropdown.contains(e.target)||(a(this.dropdown,"open"),o(this.el))}_onKeyPressed(e){const t=this.dropdown.querySelector(".focus"),s=d(this.dropdown,"open");if(13===e.keyCode)i(s?t:this.dropdown);else if(40===e.keyCode){if(s){const e=this._findNext(t);e&&(t&&a(t,"focus"),r(e,"focus"))}else i(this.dropdown);e.preventDefault()}else if(38===e.keyCode){if(s){const e=this._findPrev(t);e&&(t&&a(t,"focus"),r(e,"focus"))}else i(this.dropdown);e.preventDefault()}else if(27===e.keyCode&&s)i(this.dropdown);else if(32===e.keyCode&&s)return!1;return!1}_findNext(e){let t=e?e.nextElementSibling:this.dropdown.querySelector(".list .option");for(;t;){if(!d(t,"disabled")&&"none"!==t.style.display)return t;t=t.nextElementSibling}return null}_findPrev(e){let t=e?e.previousElementSibling:this.dropdown.querySelector(".list .option:last-child");for(;t;){if(!d(t,"disabled")&&"none"!==t.style.display)return t;t=t.previousElementSibling}return null}_onSearchChanged(e){const t=e.target.value.toLowerCase();if(""===t)this.options.forEach((e=>e.element.style.display=""));else if(d(this.dropdown,"open")){const e=new RegExp(t);this.options.forEach((t=>{t.element.style.display=e.test(t.data.text.toLowerCase())?"":"none"}))}this.dropdown.querySelectorAll(".focus").forEach((e=>a(e,"focus")));const s=this._findNext(null);s&&r(s,"focus")}_triggerValidationMessage(e){"invalid"===e?(r(this.dropdown,"invalid"),a(this.dropdown,"valid")):(r(this.dropdown,"valid"),a(this.dropdown,"invalid"))}}const p=h;function u(e,t){return new h(e,t)}return t})()));
+//# sourceMappingURL=nice-select2.js.map
\ No newline at end of file
diff --git a/dist/js/nice-select2.js.map b/dist/js/nice-select2.js.map
index a108771..4a0b32f 100644
--- a/dist/js/nice-select2.js.map
+++ b/dist/js/nice-select2.js.map
@@ -1 +1 @@
-{"version":3,"file":"js/nice-select2.js","mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;;;;;;;;;;ACVA;;;;;;;UCAA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;;;;;;;;;;;;ACNmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe;AACf;AACA,0CAA0C,+BAA+B;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,wCAAwC;AAC9D,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iFAAiF,gBAAgB;AACjG;AACA;AACA,4BAA4B,kBAAkB,cAAc,yBAAyB;AACrF,8BAA8B,+CAA+C;AAC7E;AACA,mBAAmB,yCAAyC;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,eAAe;AAChE,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yDAAyD,uBAAuB;AAChF;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,kBAAkB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD,gBAAgB;AACrE;AACA;AACA;AACA;AACA,KAAK;AACL,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD,gBAAgB;AACrE;AACA;AACA;AACA;AACA,KAAK;AACL,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACO;AACP;AACA","sources":["webpack://NiceSelect/webpack/universalModuleDefinition","webpack://NiceSelect/./src/scss/nice-select2.scss?618b","webpack://NiceSelect/webpack/bootstrap","webpack://NiceSelect/webpack/runtime/define property getters","webpack://NiceSelect/webpack/runtime/hasOwnProperty shorthand","webpack://NiceSelect/webpack/runtime/make namespace object","webpack://NiceSelect/./src/js/nice-select2.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"NiceSelect\"] = factory();\n\telse\n\t\troot[\"NiceSelect\"] = factory();\n})(self, () => {\nreturn ","// extracted by mini-css-extract-plugin\nexport {};","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import \"../scss/nice-select2.scss\";\r\n\r\n// utility functions\r\nfunction triggerClick(el) {\r\n var event = document.createEvent(\"MouseEvents\");\r\n event.initEvent(\"click\", true, false);\r\n el.dispatchEvent(event);\r\n}\r\n\r\nfunction triggerChange(el) {\r\n var event = document.createEvent(\"HTMLEvents\");\r\n event.initEvent(\"change\", true, false);\r\n el.dispatchEvent(event);\r\n}\r\n\r\nfunction triggerFocusIn(el) {\r\n var event = document.createEvent(\"FocusEvent\");\r\n event.initEvent(\"focusin\", true, false);\r\n el.dispatchEvent(event);\r\n}\r\n\r\nfunction triggerFocusOut(el) {\r\n var event = document.createEvent(\"FocusEvent\");\r\n event.initEvent(\"focusout\", true, false);\r\n el.dispatchEvent(event);\r\n}\r\n\r\nfunction triggerModalOpen(el) {\r\n var event = document.createEvent(\"UIEvent\");\r\n event.initEvent(\"modalopen\", true, false);\r\n el.dispatchEvent(event);\r\n}\r\n\r\nfunction triggerModalClose(el) {\r\n var event = document.createEvent(\"UIEvent\");\r\n event.initEvent(\"modalclose\", true, false);\r\n el.dispatchEvent(event);\r\n}\r\n\r\nfunction triggerValidationMessage(el, type) {\r\n if(type == 'invalid'){\r\n addClass(this.dropdown, 'invalid');\r\n removeClass(this.dropdown, 'valid');\r\n }else{\r\n addClass(this.dropdown, 'valid');\r\n removeClass(this.dropdown, 'invalid');\r\n }\r\n}\r\n\r\nfunction attr(el, key) {\r\n if(el[key] != undefined){\r\n return el[key];\r\n }\r\n return el.getAttribute(key);\r\n}\r\n\r\nfunction data(el, key) {\r\n return el.getAttribute(\"data-\" + key);\r\n}\r\n\r\nfunction hasClass(el, className) {\r\n if (el){\r\n return el.classList.contains(className);\r\n }else{\r\n return false;\r\n }\r\n}\r\n\r\nfunction addClass(el, className) {\r\n if (el) return el.classList.add(className);\r\n}\r\n\r\nfunction removeClass(el, className) {\r\n if (el) return el.classList.remove(className);\r\n}\r\n\r\nvar defaultOptions = {\r\n data: null,\r\n searchable: false,\r\n showSelectedItems: false\r\n};\r\n\r\nexport default function NiceSelect(element, options) {\r\n this.el = element;\r\n this.config = Object.assign({}, defaultOptions, options || {});\r\n this.data = this.config.data;\r\n this.selectedOptions = [];\r\n\r\n this.placeholder = attr(this.el, \"placeholder\") || this.config.placeholder || \"Select an option\";\r\n this.searchtext = attr(this.el, \"searchtext\") || this.config.searchtext || \"Search\";\r\n this.selectedtext = attr(this.el, \"selectedtext\") || this.config.selectedtext || \"selected\";\r\n\r\n this.dropdown = null;\r\n this.multiple = attr(this.el, \"multiple\");\r\n this.disabled = attr(this.el, \"disabled\");\r\n\r\n this.create();\r\n}\r\n\r\nNiceSelect.prototype.create = function() {\r\n this.el.style.opacity = \"0\";\r\n this.el.style.width = \"0\";\r\n this.el.style.padding = \"0\";\r\n this.el.style.height = \"0\";\r\n this.el.style.fontSize = \"0\";\r\n if (this.data) {\r\n this.processData(this.data);\r\n } else {\r\n this.extractData();\r\n }\r\n\r\n this.renderDropdown();\r\n this.bindEvent();\r\n};\r\n\r\nNiceSelect.prototype.processData = function(data) {\r\n var options = [];\r\n data.forEach(item=> {\r\n options.push({\r\n data: item,\r\n attributes: {\r\n selected: !!item.selected,\r\n disabled: !!item.disabled,\r\n\t\t optgroup: item.value == 'optgroup'\r\n }\r\n });\r\n });\r\n this.options = options;\r\n};\r\n\r\nNiceSelect.prototype.extractData = function() {\r\n var options = this.el.querySelectorAll(\"option,optgroup\");\r\n var data = [];\r\n var allOptions = [];\r\n var selectedOptions = [];\r\n\r\n options.forEach(item => {\r\n if(item.tagName == 'OPTGROUP'){\r\n var itemData = {\r\n text: item.label,\r\n value: 'optgroup'\r\n };\r\n }else{\r\n let text = item.innerText;\r\n if(item.dataset.display != undefined){\r\n text = item.dataset.display;\r\n }\r\n\r\n var itemData = {\r\n text: text,\r\n value: item.value,\r\n extra: item.dataset.extra,\r\n selected: item.getAttribute(\"selected\") != null,\r\n disabled: item.getAttribute(\"disabled\") != null\r\n };\r\n }\r\n\r\n var attributes = {\r\n selected: item.getAttribute(\"selected\") != null,\r\n disabled: item.getAttribute(\"disabled\") != null,\r\n\t optgroup: item.tagName == 'OPTGROUP'\r\n };\r\n\r\n data.push(itemData);\r\n allOptions.push({ data: itemData, attributes: attributes });\r\n });\r\n\r\n this.data = data;\r\n this.options = allOptions;\r\n this.options.forEach(item => {\r\n if (item.attributes.selected){\r\n selectedOptions.push(item);\r\n }\r\n });\r\n\r\n this.selectedOptions = selectedOptions;\r\n};\r\n\r\nNiceSelect.prototype.renderDropdown = function() {\r\n var classes = [\r\n \"nice-select\",\r\n attr(this.el, \"class\") || \"\",\r\n this.disabled ? \"disabled\" : \"\",\r\n this.multiple ? \"has-multiple\" : \"\"\r\n ];\r\n\r\n let searchHtml = ``;\r\n searchHtml += ` `;\r\n searchHtml += `
`;\r\n\r\n var html = ``;\r\n html += `
`;\r\n html += `
`;\r\n html += `${this.config.searchable ? searchHtml : \"\"}`;\r\n html += `
`;\r\n html += `
`;\r\n html += `
`;\r\n\r\n this.el.insertAdjacentHTML(\"afterend\", html);\r\n\r\n this.dropdown = this.el.nextElementSibling;\r\n this._renderSelectedItems();\r\n this._renderItems();\r\n};\r\n\r\nNiceSelect.prototype._renderSelectedItems = function() {\r\n if (this.multiple) {\r\n var selectedHtml = \"\";\r\n if(this.config.showSelectedItems || this.config.showSelectedItems || window.getComputedStyle(this.dropdown).width == 'auto' || this.selectedOptions.length < 2){\r\n this.selectedOptions.forEach(function(item) {\r\n selectedHtml += `${item.data.text} `;\r\n });\r\n\r\n selectedHtml = selectedHtml == \"\" ? this.placeholder : selectedHtml;\r\n }else{\r\n selectedHtml = this.selectedOptions.length+' '+this.selectedtext;\r\n }\r\n\t\r\n this.dropdown.querySelector(\".multiple-options\").innerHTML = selectedHtml;\r\n } else {\r\n var html = this.selectedOptions.length > 0 ? this.selectedOptions[0].data.text : this.placeholder;\r\n\r\n this.dropdown.querySelector(\".current\").innerHTML = html;\r\n }\r\n};\r\n\r\nNiceSelect.prototype._renderItems = function() {\r\n var ul = this.dropdown.querySelector(\"ul\");\r\n this.options.forEach(item => {\r\n ul.appendChild(this._renderItem(item));\r\n });\r\n};\r\n\r\nNiceSelect.prototype._renderItem = function(option) {\r\n var el = document.createElement(\"li\");\r\n\r\n el.innerHTML = option.data.text;\r\n\r\n if(option.data.extra != undefined) {\r\n el.appendChild(this._renderItemExtra(option.data.extra));\r\n }\r\n\r\n if(option.attributes.optgroup){\r\n\t addClass(el, 'optgroup');\r\n }else{\r\n el.setAttribute(\"data-value\", option.data.value);\r\n var classList = [\r\n \"option\",\r\n option.attributes.selected ? \"selected\" : null,\r\n option.attributes.disabled ? \"disabled\" : null,\r\n ];\r\n \r\n el.addEventListener(\"click\", this._onItemClicked.bind(this, option));\r\n el.classList.add(...classList);\r\n }\r\n\r\n option.element = el;\r\n return el;\r\n};\r\n\r\nNiceSelect.prototype._renderItemExtra = function(content) {\r\n var el = document.createElement(\"span\");\r\n el.innerHTML = content;\r\n addClass(el, \"extra\");\r\n return el;\r\n}\r\n\r\nNiceSelect.prototype.update = function() {\r\n this.extractData();\r\n if (this.dropdown) {\r\n var open = hasClass(this.dropdown, \"open\");\r\n this.dropdown.parentNode.removeChild(this.dropdown);\r\n this.create();\r\n\r\n if (open) {\r\n triggerClick(this.dropdown);\r\n }\r\n }\r\n\r\n if(attr(this.el, \"disabled\")) {\r\n this.disable();\r\n } else {\r\n this.enable();\r\n }\r\n};\r\n\r\nNiceSelect.prototype.disable = function() {\r\n if (!this.disabled) {\r\n this.disabled = true;\r\n addClass(this.dropdown, \"disabled\");\r\n }\r\n};\r\n\r\nNiceSelect.prototype.enable = function() {\r\n if (this.disabled) {\r\n this.disabled = false;\r\n removeClass(this.dropdown, \"disabled\");\r\n }\r\n};\r\n\r\nNiceSelect.prototype.clear = function() {\r\n this.resetSelectValue();\r\n this.selectedOptions = [];\r\n this._renderSelectedItems();\r\n this.update();\r\n\r\n triggerChange(this.el);\r\n};\r\n\r\nNiceSelect.prototype.destroy = function() {\r\n if (this.dropdown) {\r\n this.dropdown.parentNode.removeChild(this.dropdown);\r\n this.el.style.display = \"\";\r\n }\r\n};\r\n\r\nNiceSelect.prototype.bindEvent = function() {\r\n var $this = this;\r\n this.dropdown.addEventListener(\"click\", this._onClicked.bind(this));\r\n this.dropdown.addEventListener(\"keydown\", this._onKeyPressed.bind(this));\r\n this.dropdown.addEventListener(\"focusin\", triggerFocusIn.bind(this, this.el));\r\n this.dropdown.addEventListener(\"focusout\", triggerFocusOut.bind(this, this.el));\r\n this.el.addEventListener(\"invalid\", triggerValidationMessage.bind(this, this.el, 'invalid'));\r\n window.addEventListener(\"click\", this._onClickedOutside.bind(this));\r\n\r\n if (this.config.searchable) {\r\n this._bindSearchEvent();\r\n }\r\n};\r\n\r\nNiceSelect.prototype._bindSearchEvent = function() {\r\n var searchBox = this.dropdown.querySelector(\".nice-select-search\");\r\n if (searchBox){\r\n searchBox.addEventListener(\"click\", function(e) {\r\n e.stopPropagation();\r\n return false;\r\n });\r\n }\r\n\r\n searchBox.addEventListener(\"input\", this._onSearchChanged.bind(this));\r\n};\r\n\r\nNiceSelect.prototype._onClicked = function(e) {\r\n e.preventDefault();\r\n\tif (!hasClass(this.dropdown, \"open\") ) {\r\n\t\taddClass(this.dropdown, \"open\");\r\n triggerModalOpen(this.el);\r\n\t} else {\r\n\t\tif (this.multiple) {\r\n\t\t if (e.target == this.dropdown.querySelector('.multiple-options')) {\r\n\t\t\t removeClass(this.dropdown, \"open\");\r\n\t\t\t triggerModalClose(this.el);\r\n\t\t }\r\n\r\n\t\t} else {\r\n\t\t removeClass(this.dropdown, \"open\");\r\n\t\t triggerModalClose(this.el);\r\n\t\t}\r\n\t}\r\n\r\n if (hasClass(this.dropdown, \"open\")) {\r\n var search = this.dropdown.querySelector(\".nice-select-search\");\r\n if (search) {\r\n search.value = \"\";\r\n search.focus();\r\n }\r\n\r\n var t = this.dropdown.querySelector(\".focus\");\r\n removeClass(t, \"focus\");\r\n t = this.dropdown.querySelector(\".selected\");\r\n addClass(t, \"focus\");\r\n this.dropdown.querySelectorAll(\"ul li\").forEach(function(item) {\r\n item.style.display = \"\";\r\n });\r\n } else {\r\n this.dropdown.focus();\r\n }\r\n};\r\n\r\nNiceSelect.prototype._onItemClicked = function(option, e) {\r\n var optionEl = e.target;\r\n\r\n if (!hasClass(optionEl, \"disabled\")) {\r\n if (this.multiple) {\r\n if (hasClass(optionEl, \"selected\")) {\r\n removeClass(optionEl, \"selected\");\r\n this.selectedOptions.splice(this.selectedOptions.indexOf(option), 1);\r\n var opt = this.el.querySelector(`option[value=\"${optionEl.dataset.value}\"]`);\r\n opt.removeAttribute('selected');\r\n opt.selected = false;\r\n\t }else{\r\n addClass(optionEl, \"selected\");\r\n console.log(option);\r\n console.log(this.selectedOptions);\r\n this.selectedOptions.push(option);\r\n console.log(this.selectedOptions);\r\n }\r\n } else {\r\n this.options.forEach(function (item) {\r\n removeClass(item.element, \"selected\");\r\n });\r\n this.selectedOptions.forEach(function (item) {\r\n removeClass(item.element, \"selected\");\r\n });\r\n\r\n addClass(optionEl, \"selected\");\r\n this.selectedOptions = [option];\r\n }\r\n\r\n this._renderSelectedItems();\r\n console.log(this.el)\r\n this.updateSelectValue();\r\n }\r\n};\r\n\r\nNiceSelect.prototype.setValue = function(value){\r\n\r\n var select = this.el,noSelected = true,currentValue;\r\n if(select.multiple){\r\n for(var i = 0; i < value.length; i++){\r\n value[i] = String(value[i]);\r\n }\r\n } \r\n \r\n for(var opt of select.options){\r\n if(select.multiple){\r\n if(value.indexOf(opt.value) > -1){ //-- expect Array like [1,2,3]\r\n currentValue = opt.value;\r\n }else{\r\n currentValue = null;\r\n }\r\n }else{\r\n currentValue = value;\r\n }\r\n \r\n if(opt.value == currentValue && !opt.disabled){\r\n if(noSelected){\r\n select.value = currentValue;\r\n noSelected = false;\r\n }\r\n opt.setAttribute('selected',true);\r\n opt.selected = true;\r\n }else{\r\n opt.removeAttribute('selected');\r\n delete(opt.selected);\r\n }\r\n }\r\n if(noSelected && !select.multiple){\r\n select.options[0].setAttribute('selected',true);\r\n select.options[0].selected = true;\r\n select.value = select.options[0].value;\r\n }\r\n \r\n this.update();\r\n}\r\n\r\nNiceSelect.prototype.getValue = function(){\r\n var select = this.el;\r\n if(!select.multiple){\r\n return select.value;\r\n }\r\n \r\n //-- multiple\r\n var values = [];\r\n for(var opt of select.options){\r\n if(opt.selected){\r\n values.push(opt.value);\r\n }\r\n }\r\n return values;\r\n}\r\n\r\nNiceSelect.prototype.updateSelectValue = function() {\r\n console.log(this.el)\r\n if (this.multiple) {\r\n var select = this.el;\r\n this.selectedOptions.forEach(function(item) {\r\n console.log(item.data.value)\r\n var el = select.querySelector(`option[value=\"${item.data.value}\"]`);\r\n console.log(el)\r\n if (el){\r\n el.setAttribute(\"selected\", true);\r\n }\r\n });\r\n } else if (this.selectedOptions.length > 0) {\r\n this.el.value = this.selectedOptions[0].data.value;\r\n }\r\n triggerChange(this.el);\r\n};\r\n\r\nNiceSelect.prototype.resetSelectValue = function() {\r\n if (this.multiple) {\r\n var select = this.el;\r\n this.selectedOptions.forEach(function(item) {\r\n var el = select.querySelector(`option[value=\"${item.data.value}\"]`);\r\n if (el){\r\n el.removeAttribute(\"selected\");\r\n delete(el.selected);\r\n }\r\n });\r\n } else if (this.selectedOptions.length > 0) {\r\n this.el.selectedIndex = -1;\r\n }\r\n\r\n triggerChange(this.el);\r\n};\r\n\r\nNiceSelect.prototype._onClickedOutside = function(e) {\r\n if (!this.dropdown.contains(e.target)) {\r\n removeClass(this.dropdown, \"open\");\r\n triggerModalClose(this.el);\r\n }\r\n};\r\n\r\nNiceSelect.prototype._onKeyPressed = function(e) {\r\n // Keyboard events\r\n\r\n var focusedOption = this.dropdown.querySelector(\".focus\");\r\n\r\n var open = hasClass(this.dropdown, \"open\");\r\n\r\n // Enter\r\n if (e.keyCode == 13) {\r\n if (open) {\r\n triggerClick(focusedOption);\r\n } else {\r\n triggerClick(this.dropdown);\r\n }\r\n } else if (e.keyCode == 40) {\r\n // Down\r\n if (!open) {\r\n triggerClick(this.dropdown);\r\n } else {\r\n var next = this._findNext(focusedOption);\r\n if (next) {\r\n var t = this.dropdown.querySelector(\".focus\");\r\n removeClass(t, \"focus\");\r\n addClass(next, \"focus\");\r\n }\r\n }\r\n e.preventDefault();\r\n } else if (e.keyCode == 38) {\r\n // Up\r\n if (!open) {\r\n triggerClick(this.dropdown);\r\n } else {\r\n var prev = this._findPrev(focusedOption);\r\n if (prev) {\r\n var t = this.dropdown.querySelector(\".focus\");\r\n removeClass(t, \"focus\");\r\n addClass(prev, \"focus\");\r\n }\r\n }\r\n e.preventDefault();\r\n } else if (e.keyCode == 27 && open) {\r\n // Esc\r\n triggerClick(this.dropdown);\r\n } else if(e.keyCode === 32 && open) {\r\n // Space\r\n return false; \r\n }\r\n return false;\r\n};\r\n\r\nNiceSelect.prototype._findNext = function(el) {\r\n if (el) {\r\n el = el.nextElementSibling;\r\n } else {\r\n el = this.dropdown.querySelector(\".list .option\");\r\n }\r\n\r\n while (el) {\r\n if (!hasClass(el, \"disabled\") && el.style.display != \"none\") {\r\n return el;\r\n }\r\n el = el.nextElementSibling;\r\n }\r\n\r\n return null;\r\n};\r\n\r\nNiceSelect.prototype._findPrev = function(el) {\r\n if (el) {\r\n el = el.previousElementSibling;\r\n } else {\r\n el = this.dropdown.querySelector(\".list .option:last-child\");\r\n }\r\n\r\n while (el) {\r\n if (!hasClass(el, \"disabled\") && el.style.display != \"none\") {\r\n return el;\r\n }\r\n el = el.previousElementSibling;\r\n }\r\n\r\n return null;\r\n};\r\n\r\nNiceSelect.prototype._onSearchChanged = function(e) {\r\n var open = hasClass(this.dropdown, \"open\");\r\n var text = e.target.value;\r\n text = text.toLowerCase();\r\n\r\n if (text == \"\") {\r\n this.options.forEach(function(item) {\r\n item.element.style.display = \"\";\r\n });\r\n } else if (open) {\r\n var matchReg = new RegExp(text);\r\n this.options.forEach(function(item) {\r\n var optionText = item.data.text.toLowerCase();\r\n var matched = matchReg.test(optionText);\r\n item.element.style.display = matched ? \"\" : \"none\";\r\n });\r\n }\r\n\r\n this.dropdown.querySelectorAll(\".focus\").forEach(function(item) {\r\n removeClass(item, \"focus\");\r\n });\r\n\r\n var firstEl = this._findNext(null);\r\n addClass(firstEl, \"focus\");\r\n};\r\n\r\nexport function bind(el, options) {\r\n return new NiceSelect(el, options);\r\n}\r\n"],"names":[],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"js/nice-select2.js","mappings":"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","sources":["webpack://NiceSelect/webpack/universalModuleDefinition","webpack://NiceSelect/webpack/bootstrap","webpack://NiceSelect/webpack/runtime/define property getters","webpack://NiceSelect/webpack/runtime/hasOwnProperty shorthand","webpack://NiceSelect/webpack/runtime/make namespace object","webpack://NiceSelect/./src/js/nice-select2.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"NiceSelect\"] = factory();\n\telse\n\t\troot[\"NiceSelect\"] = factory();\n})(self, () => {\nreturn ","// The require scope\nvar __webpack_require__ = {};\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import \"../scss/nice-select2.scss\";\r\n\r\nconst triggerEvent = (el, type, init = {}) => {\r\n let EventConstructor;\r\n if (type === \"click\") {\r\n EventConstructor = MouseEvent;\r\n } else if (type === \"change\") {\r\n EventConstructor = Event;\r\n } else if (type.includes(\"focus\")) {\r\n EventConstructor = FocusEvent;\r\n } else {\r\n EventConstructor = UIEvent;\r\n }\r\n const event = new EventConstructor(type, {\r\n bubbles: true,\r\n cancelable: false,\r\n ...init,\r\n });\r\n el.dispatchEvent(event);\r\n};\r\n\r\nconst triggerClick = (el) => triggerEvent(el, \"click\");\r\nconst triggerChange = (el) => triggerEvent(el, \"change\");\r\nconst triggerFocusIn = (el) => triggerEvent(el, \"focusin\");\r\nconst triggerFocusOut = (el) => triggerEvent(el, \"focusout\");\r\nconst triggerModalOpen = (el) => triggerEvent(el, \"modalopen\");\r\nconst triggerModalClose = (el) => triggerEvent(el, \"modalclose\");\r\n\r\nconst attr = (el, key) =>\r\n el[key] !== undefined ? el[key] : el.getAttribute(key);\r\nconst data = (el, key) => el.getAttribute(\"data-\" + key);\r\nconst hasClass = (el, className) => el?.classList.contains(className);\r\nconst addClass = (el, className) => el?.classList.add(className);\r\nconst removeClass = (el, className) => el?.classList.remove(className);\r\n\r\nconst defaultOptions = {\r\n data: null,\r\n searchable: false,\r\n showSelectedItems: false,\r\n placeholder: \"Select an option\",\r\n searchtext: \"Search\",\r\n selectedtext: \"selected\",\r\n};\r\n\r\nclass NiceSelect {\r\n constructor(element, options = {}) {\r\n if (!element) {\r\n throw new Error('No element provided to NiceSelect');\r\n }\r\n if (!(element instanceof Element)) {\r\n throw new Error('Invalid element provided to NiceSelect - must be a valid DOM element');\r\n }\r\n this.el = element;\r\n this.config = { ...defaultOptions, ...options };\r\n this.data = this.config.data;\r\n this.selectedOptions = [];\r\n this.placeholder = attr(this.el, \"placeholder\") || this.config.placeholder;\r\n this.searchtext = attr(this.el, \"searchtext\") || this.config.searchtext;\r\n this.selectedtext =\r\n attr(this.el, \"selectedtext\") || this.config.selectedtext;\r\n this.dropdown = null;\r\n this.multiple = attr(this.el, \"multiple\");\r\n this.disabled = attr(this.el, \"disabled\");\r\n this.create();\r\n }\r\n\r\n create() {\r\n Object.assign(this.el.style, {\r\n opacity: \"0\",\r\n width: \"0\",\r\n padding: \"0\",\r\n height: \"0\",\r\n fontSize: \"0\",\r\n });\r\n this.data ? this.processData(this.data) : this.extractData();\r\n this.renderDropdown();\r\n this.bindEvent();\r\n }\r\n\r\n processData(data) {\r\n this.options = data.map((item) => ({\r\n data: item,\r\n attributes: {\r\n selected: !!item.selected,\r\n disabled: !!item.disabled,\r\n optgroup: item.value === \"optgroup\",\r\n },\r\n }));\r\n }\r\n\r\n extractData() {\r\n const options = Array.from(this.el.querySelectorAll(\"option,optgroup\"));\r\n const allOptions = [];\r\n const selectedOptions = [];\r\n\r\n this.data = options.map((item) => {\r\n let itemData;\r\n if (item.tagName === \"OPTGROUP\") {\r\n itemData = { text: item.label, value: \"optgroup\" };\r\n } else {\r\n const text = item.dataset.display ?? item.innerText;\r\n itemData = {\r\n text,\r\n value: item.value,\r\n extra: item.dataset.extra,\r\n selected: item.hasAttribute(\"selected\"),\r\n disabled: item.hasAttribute(\"disabled\"),\r\n };\r\n }\r\n const attributes = {\r\n selected: item.hasAttribute(\"selected\"),\r\n disabled: item.hasAttribute(\"disabled\"),\r\n optgroup: item.tagName === \"OPTGROUP\",\r\n };\r\n const optionObj = { data: itemData, attributes, element: null };\r\n allOptions.push(optionObj);\r\n if (attributes.selected) selectedOptions.push(optionObj);\r\n return itemData;\r\n });\r\n\r\n this.options = allOptions;\r\n this.selectedOptions = selectedOptions;\r\n }\r\n\r\n renderDropdown() {\r\n const classes = [\r\n \"nice-select\",\r\n attr(this.el, \"class\") || \"\",\r\n this.disabled ? \"disabled\" : \"\",\r\n this.multiple ? \"has-multiple\" : \"\",\r\n ].filter(Boolean);\r\n\r\n const searchHtml = this.config.searchable\r\n ? `\r\n \r\n \r\n
\r\n `\r\n : \"\";\r\n\r\n const html = `\r\n \r\n
\r\n
\r\n ${searchHtml}\r\n
\r\n
\r\n
\r\n `;\r\n this.el.insertAdjacentHTML(\"afterend\", html);\r\n this.dropdown = this.el.nextElementSibling;\r\n this._renderSelectedItems();\r\n this._renderItems();\r\n }\r\n\r\n _renderSelectedItems() {\r\n if (this.multiple) {\r\n let selectedHtml = \"\";\r\n if (\r\n this.config.showSelectedItems ||\r\n window.getComputedStyle(this.dropdown).width === \"auto\" ||\r\n this.selectedOptions.length < 2\r\n ) {\r\n this.selectedOptions.forEach((item) => {\r\n selectedHtml += `${item.data.text} `;\r\n });\r\n selectedHtml = selectedHtml || this.placeholder;\r\n } else {\r\n selectedHtml = `${this.selectedOptions.length} ${this.selectedtext}`;\r\n }\r\n this.dropdown.querySelector(\".multiple-options\").innerHTML = selectedHtml;\r\n } else {\r\n const html =\r\n this.selectedOptions.length > 0\r\n ? this.selectedOptions[0].data.text\r\n : this.placeholder;\r\n this.dropdown.querySelector(\".current\").innerHTML = html;\r\n }\r\n }\r\n\r\n _renderItems() {\r\n const ul = this.dropdown.querySelector(\"ul\");\r\n this.options.forEach((item) => ul.appendChild(this._renderItem(item)));\r\n }\r\n\r\n _renderItem(option) {\r\n const li = document.createElement(\"li\");\r\n li.innerHTML = option.data.text;\r\n if (option.data.extra !== undefined) {\r\n li.appendChild(this._renderItemExtra(option.data.extra));\r\n }\r\n if (option.attributes.optgroup) {\r\n addClass(li, \"optgroup\");\r\n } else {\r\n li.setAttribute(\"data-value\", option.data.value);\r\n const classList = [\"option\"];\r\n if (option.attributes.selected) classList.push(\"selected\");\r\n if (option.attributes.disabled) classList.push(\"disabled\");\r\n li.classList.add(...classList);\r\n li.addEventListener(\"click\", (e) => this._onItemClicked(option, e));\r\n }\r\n option.element = li;\r\n return li;\r\n }\r\n\r\n _renderItemExtra(content) {\r\n const span = document.createElement(\"span\");\r\n span.innerHTML = content;\r\n addClass(span, \"extra\");\r\n return span;\r\n }\r\n\r\n update() {\r\n this.extractData();\r\n if (this.dropdown) {\r\n const open = hasClass(this.dropdown, \"open\");\r\n this.dropdown.remove();\r\n this.create();\r\n if (open) {\r\n triggerClick(this.dropdown);\r\n }\r\n }\r\n attr(this.el, \"disabled\") ? this.disable() : this.enable();\r\n }\r\n\r\n disable() {\r\n if (!this.disabled) {\r\n this.disabled = true;\r\n addClass(this.dropdown, \"disabled\");\r\n }\r\n }\r\n\r\n enable() {\r\n if (this.disabled) {\r\n this.disabled = false;\r\n removeClass(this.dropdown, \"disabled\");\r\n }\r\n }\r\n\r\n clear() {\r\n this.resetSelectValue();\r\n this.selectedOptions = [];\r\n this._renderSelectedItems();\r\n this.update();\r\n triggerChange(this.el);\r\n }\r\n\r\n destroy() {\r\n if (this.dropdown) {\r\n this.dropdown.remove();\r\n this.el.style.display = \"\";\r\n }\r\n }\r\n\r\n bindEvent() {\r\n this.dropdown.addEventListener(\"click\", (e) => this._onClicked(e));\r\n this.dropdown.addEventListener(\"keydown\", (e) => this._onKeyPressed(e));\r\n this.dropdown.addEventListener(\"focusin\", () => triggerFocusIn(this.el));\r\n this.dropdown.addEventListener(\"focusout\", () => triggerFocusOut(this.el));\r\n this.el.addEventListener(\"invalid\", () =>\r\n this._triggerValidationMessage(\"invalid\")\r\n );\r\n window.addEventListener(\"click\", (e) => this._onClickedOutside(e));\r\n if (this.config.searchable) this._bindSearchEvent();\r\n }\r\n\r\n _bindSearchEvent() {\r\n const searchBox = this.dropdown.querySelector(\".nice-select-search\");\r\n if (searchBox) {\r\n searchBox.addEventListener(\"click\", (e) => e.stopPropagation());\r\n searchBox.addEventListener(\"input\", (e) => this._onSearchChanged(e));\r\n }\r\n }\r\n\r\n _onClicked(e) {\r\n e.preventDefault();\r\n const isOpen = hasClass(this.dropdown, \"open\");\r\n if (!isOpen) {\r\n addClass(this.dropdown, \"open\");\r\n triggerModalOpen(this.el);\r\n } else {\r\n if (this.multiple) {\r\n if (e.target === this.dropdown.querySelector(\".multiple-options\")) {\r\n removeClass(this.dropdown, \"open\");\r\n triggerModalClose(this.el);\r\n }\r\n } else {\r\n removeClass(this.dropdown, \"open\");\r\n triggerModalClose(this.el);\r\n }\r\n }\r\n if (hasClass(this.dropdown, \"open\")) {\r\n const search = this.dropdown.querySelector(\".nice-select-search\");\r\n if (search) {\r\n search.value = \"\";\r\n search.focus();\r\n }\r\n const focused = this.dropdown.querySelector(\".focus\");\r\n if (focused) removeClass(focused, \"focus\");\r\n const selected = this.dropdown.querySelector(\".selected\");\r\n if (selected) addClass(selected, \"focus\");\r\n this.dropdown\r\n .querySelectorAll(\"ul li\")\r\n .forEach((item) => (item.style.display = \"\"));\r\n } else {\r\n this.dropdown.focus();\r\n }\r\n }\r\n\r\n _onItemClicked(option, e) {\r\n const optionEl = e.target;\r\n if (!hasClass(optionEl, \"disabled\")) {\r\n if (this.multiple) {\r\n if (hasClass(optionEl, \"selected\")) {\r\n removeClass(optionEl, \"selected\");\r\n this.selectedOptions = this.selectedOptions.filter(\r\n (item) => item !== option\r\n );\r\n const opt = this.el.querySelector(\r\n `option[value=\"${optionEl.dataset.value}\"]`\r\n );\r\n if (opt) {\r\n opt.removeAttribute(\"selected\");\r\n opt.selected = false;\r\n }\r\n } else {\r\n addClass(optionEl, \"selected\");\r\n this.selectedOptions.push(option);\r\n }\r\n } else {\r\n this.options.forEach((item) => removeClass(item.element, \"selected\"));\r\n addClass(optionEl, \"selected\");\r\n this.selectedOptions = [option];\r\n }\r\n this._renderSelectedItems();\r\n this.updateSelectValue();\r\n }\r\n }\r\n\r\n setValue(value) {\r\n const select = this.el;\r\n let noSelected = true;\r\n\r\n // Validate input type\r\n if (select.multiple) {\r\n if (!Array.isArray(value)) {\r\n throw new Error('setValue expects an array for multiple select elements');\r\n }\r\n value = value.map(String);\r\n } else {\r\n if (Array.isArray(value)) {\r\n throw new Error('setValue expects a single value for non-multiple select elements');\r\n }\r\n if (value !== null && value !== undefined && typeof value !== 'string' && typeof value !== 'number') {\r\n throw new Error('setValue expects a string or number for non-multiple select elements');\r\n }\r\n value = String(value);\r\n }\r\n for (const opt of select.options) {\r\n const currentValue = select.multiple\r\n ? value.includes(opt.value)\r\n ? opt.value\r\n : null\r\n : value;\r\n if (opt.value === currentValue && !opt.disabled) {\r\n if (noSelected) {\r\n select.value = currentValue;\r\n noSelected = false;\r\n }\r\n opt.setAttribute(\"selected\", true);\r\n opt.selected = true;\r\n } else {\r\n opt.removeAttribute(\"selected\");\r\n opt.selected = false;\r\n }\r\n }\r\n if (noSelected && !select.multiple && select.options.length) {\r\n select.options[0].setAttribute(\"selected\", true);\r\n select.options[0].selected = true;\r\n select.value = select.options[0].value;\r\n }\r\n this.update();\r\n }\r\n\r\n getValue() {\r\n const select = this.el;\r\n if (!select.multiple) return select.value;\r\n return Array.from(select.options)\r\n .filter((opt) => opt.selected)\r\n .map((opt) => opt.value);\r\n }\r\n\r\n updateSelectValue() {\r\n if (this.multiple) {\r\n const select = this.el;\r\n this.selectedOptions.forEach((item) => {\r\n const el = select.querySelector(`option[value=\"${item.data.value}\"]`);\r\n if (el) {\r\n el.setAttribute(\"selected\", true);\r\n } else {\r\n console.error(\"Option not found, does it have a value?\");\r\n }\r\n });\r\n } else if (this.selectedOptions.length > 0) {\r\n this.el.value = this.selectedOptions[0].data.value;\r\n }\r\n triggerChange(this.el);\r\n }\r\n\r\n resetSelectValue() {\r\n if (this.multiple) {\r\n const select = this.el;\r\n this.selectedOptions.forEach((item) => {\r\n const el = select.querySelector(`option[value=\"${item.data.value}\"]`);\r\n if (el) {\r\n el.removeAttribute(\"selected\");\r\n el.selected = false;\r\n }\r\n });\r\n } else if (this.selectedOptions.length > 0) {\r\n this.el.selectedIndex = -1;\r\n }\r\n triggerChange(this.el);\r\n }\r\n\r\n _onClickedOutside(e) {\r\n if (!this.dropdown.contains(e.target)) {\r\n removeClass(this.dropdown, \"open\");\r\n triggerModalClose(this.el);\r\n }\r\n }\r\n\r\n _onKeyPressed(e) {\r\n const focusedOption = this.dropdown.querySelector(\".focus\");\r\n const isOpen = hasClass(this.dropdown, \"open\");\r\n if (e.keyCode === 13) {\r\n isOpen ? triggerClick(focusedOption) : triggerClick(this.dropdown);\r\n } else if (e.keyCode === 40) {\r\n if (!isOpen) {\r\n triggerClick(this.dropdown);\r\n } else {\r\n const next = this._findNext(focusedOption);\r\n if (next) {\r\n if (focusedOption) removeClass(focusedOption, \"focus\");\r\n addClass(next, \"focus\");\r\n }\r\n }\r\n e.preventDefault();\r\n } else if (e.keyCode === 38) {\r\n if (!isOpen) {\r\n triggerClick(this.dropdown);\r\n } else {\r\n const prev = this._findPrev(focusedOption);\r\n if (prev) {\r\n if (focusedOption) removeClass(focusedOption, \"focus\");\r\n addClass(prev, \"focus\");\r\n }\r\n }\r\n e.preventDefault();\r\n } else if (e.keyCode === 27 && isOpen) {\r\n triggerClick(this.dropdown);\r\n } else if (e.keyCode === 32 && isOpen) {\r\n return false;\r\n }\r\n return false;\r\n }\r\n\r\n _findNext(el) {\r\n let nextEl = el\r\n ? el.nextElementSibling\r\n : this.dropdown.querySelector(\".list .option\");\r\n while (nextEl) {\r\n if (!hasClass(nextEl, \"disabled\") && nextEl.style.display !== \"none\")\r\n return nextEl;\r\n nextEl = nextEl.nextElementSibling;\r\n }\r\n return null;\r\n }\r\n\r\n _findPrev(el) {\r\n let prevEl = el\r\n ? el.previousElementSibling\r\n : this.dropdown.querySelector(\".list .option:last-child\");\r\n while (prevEl) {\r\n if (!hasClass(prevEl, \"disabled\") && prevEl.style.display !== \"none\")\r\n return prevEl;\r\n prevEl = prevEl.previousElementSibling;\r\n }\r\n return null;\r\n }\r\n\r\n _onSearchChanged(e) {\r\n const text = e.target.value.toLowerCase();\r\n if (text === \"\") {\r\n this.options.forEach((item) => (item.element.style.display = \"\"));\r\n } else if (hasClass(this.dropdown, \"open\")) {\r\n const matchReg = new RegExp(text);\r\n this.options.forEach((item) => {\r\n item.element.style.display = matchReg.test(item.data.text.toLowerCase())\r\n ? \"\"\r\n : \"none\";\r\n });\r\n }\r\n this.dropdown\r\n .querySelectorAll(\".focus\")\r\n .forEach((item) => removeClass(item, \"focus\"));\r\n const firstEl = this._findNext(null);\r\n if (firstEl) addClass(firstEl, \"focus\");\r\n }\r\n\r\n _triggerValidationMessage(type) {\r\n if (type === \"invalid\") {\r\n addClass(this.dropdown, \"invalid\");\r\n removeClass(this.dropdown, \"valid\");\r\n } else {\r\n addClass(this.dropdown, \"valid\");\r\n removeClass(this.dropdown, \"invalid\");\r\n }\r\n }\r\n}\r\n\r\nexport default NiceSelect;\r\nexport function bind(el, options) {\r\n return new NiceSelect(el, options);\r\n}\r\n"],"names":["root","factory","exports","module","define","amd","self","__webpack_require__","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","Symbol","toStringTag","value","triggerEvent","el","type","init","EventConstructor","MouseEvent","Event","includes","FocusEvent","UIEvent","event","bubbles","cancelable","dispatchEvent","triggerClick","triggerChange","triggerModalClose","attr","undefined","getAttribute","hasClass","className","classList","contains","addClass","add","removeClass","remove","defaultOptions","data","searchable","showSelectedItems","placeholder","searchtext","selectedtext","NiceSelect","constructor","element","options","Error","Element","this","config","selectedOptions","dropdown","multiple","disabled","create","assign","style","opacity","width","padding","height","fontSize","processData","extractData","renderDropdown","bindEvent","map","item","attributes","selected","optgroup","Array","from","querySelectorAll","allOptions","itemData","tagName","text","label","dataset","display","innerText","extra","hasAttribute","optionObj","push","classes","filter","Boolean","searchHtml","html","join","insertAdjacentHTML","nextElementSibling","_renderSelectedItems","_renderItems","selectedHtml","window","getComputedStyle","length","forEach","querySelector","innerHTML","ul","appendChild","_renderItem","option","li","document","createElement","_renderItemExtra","setAttribute","addEventListener","e","_onItemClicked","content","span","update","open","disable","enable","clear","resetSelectValue","destroy","_onClicked","_onKeyPressed","triggerFocusIn","triggerFocusOut","_triggerValidationMessage","_onClickedOutside","_bindSearchEvent","searchBox","stopPropagation","_onSearchChanged","preventDefault","target","search","focus","focused","optionEl","opt","removeAttribute","updateSelectValue","setValue","select","noSelected","isArray","String","currentValue","getValue","console","error","selectedIndex","focusedOption","isOpen","keyCode","next","_findNext","prev","_findPrev","nextEl","prevEl","previousElementSibling","toLowerCase","matchReg","RegExp","test","firstEl","bind"],"sourceRoot":""}
\ No newline at end of file
diff --git a/dist/js/style.js b/dist/js/style.js
index ab8e269..21aa015 100644
--- a/dist/js/style.js
+++ b/dist/js/style.js
@@ -1 +1,2 @@
-!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.NiceSelect=t():e.NiceSelect=t()}(self,(()=>(()=>{"use strict";var e={};return(e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})})(e),e})()));
\ No newline at end of file
+!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.NiceSelect=t():e.NiceSelect=t()}(self,(()=>(()=>{"use strict";var e={};return(e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})})(e),e})()));
+//# sourceMappingURL=style.js.map
\ No newline at end of file
diff --git a/dist/js/style.js.map b/dist/js/style.js.map
index 1995494..60dc19f 100644
--- a/dist/js/style.js.map
+++ b/dist/js/style.js.map
@@ -1 +1 @@
-{"version":3,"file":"js/style.js","mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;;UCVA;UACA;;;;;WCDA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;;;;;ACNA","sources":["webpack://NiceSelect/webpack/universalModuleDefinition","webpack://NiceSelect/webpack/bootstrap","webpack://NiceSelect/webpack/runtime/make namespace object","webpack://NiceSelect/./src/scss/style.scss?98af"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"NiceSelect\"] = factory();\n\telse\n\t\troot[\"NiceSelect\"] = factory();\n})(self, () => {\nreturn ","// The require scope\nvar __webpack_require__ = {};\n\n","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","// extracted by mini-css-extract-plugin\nexport {};"],"names":[],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"js/style.js","mappings":"CAAA,SAA2CA,EAAMC,GAC1B,iBAAZC,SAA0C,iBAAXC,OACxCA,OAAOD,QAAUD,IACQ,mBAAXG,QAAyBA,OAAOC,IAC9CD,OAAO,GAAIH,GACe,iBAAZC,QACdA,QAAoB,WAAID,IAExBD,EAAiB,WAAIC,GACtB,CATD,CASGK,MAAM,I,mBCRT,I,WCAwB,CAACJ,IACH,oBAAXK,QAA0BA,OAAOC,aAC1CC,OAAOC,eAAeR,EAASK,OAAOC,YAAa,CAAEG,MAAO,WAE7DF,OAAOC,eAAeR,EAAS,aAAc,CAAES,OAAO,GAAO,E","sources":["webpack://NiceSelect/webpack/universalModuleDefinition","webpack://NiceSelect/webpack/bootstrap","webpack://NiceSelect/webpack/runtime/make namespace object"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"NiceSelect\"] = factory();\n\telse\n\t\troot[\"NiceSelect\"] = factory();\n})(self, () => {\nreturn ","// The require scope\nvar __webpack_require__ = {};\n\n","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};"],"names":["root","factory","exports","module","define","amd","self","Symbol","toStringTag","Object","defineProperty","value"],"sourceRoot":""}
\ No newline at end of file
diff --git a/docs/dist/css/nice-select2.css b/docs/dist/css/nice-select2.css
index e15f19b..a5af4fa 100644
--- a/docs/dist/css/nice-select2.css
+++ b/docs/dist/css/nice-select2.css
@@ -1 +1,3 @@
-.nice-select{-webkit-tap-highlight-color:rgba(0,0,0,0);background-color:#fff;border-radius:5px;border:solid 1px #e8e8e8;box-sizing:border-box;clear:both;cursor:pointer;display:block;float:left;font-family:inherit;font-size:14px;font-weight:normal;height:38px;line-height:36px;outline:none;padding-left:18px;padding-right:30px;position:relative;text-align:left !important;transition:all .2s ease-in-out;user-select:none;white-space:nowrap;width:auto}.nice-select:hover{border-color:#dbdbdb}.nice-select:active,.nice-select.open,.nice-select:focus{border-color:#999}.nice-select:after{border-bottom:2px solid #999;border-right:2px solid #999;content:"";display:block;height:5px;margin-top:-4px;pointer-events:none;position:absolute;right:12px;top:50%;transform-origin:66% 66%;transform:rotate(45deg);transition:all .15s ease-in-out;width:5px}.nice-select.open:after{transform:rotate(-135deg)}.nice-select.open .nice-select-dropdown{opacity:1;pointer-events:auto;transform:scale(1) translateY(0)}.nice-select.disabled{border-color:#ededed;color:#999;pointer-events:none}.nice-select.disabled:after{border-color:#ccc}.nice-select.wide{width:100%}.nice-select.wide .nice-select-dropdown{left:0 !important;right:0 !important}.nice-select.right{float:right}.nice-select.right .nice-select-dropdown{left:auto;right:0}.nice-select.small{font-size:12px;height:36px;line-height:34px}.nice-select.small:after{height:4px;width:4px}.nice-select.small .option{line-height:34px;min-height:34px}.nice-select .nice-select-dropdown{margin-top:4px;background-color:#fff;border-radius:5px;box-shadow:0 0 0 1px rgba(68,68,68,.11);pointer-events:none;position:absolute;top:100%;left:0;transform-origin:50% 0;transform:scale(0.75) translateY(19px);transition:all .2s cubic-bezier(0.5, 0, 0, 1.25),opacity .15s ease-out;z-index:9;opacity:0}.nice-select .list{border-radius:5px;box-sizing:border-box;overflow:hidden;padding:0;max-height:210px;overflow-y:auto}.nice-select .list:hover .option:not(:hover){background-color:rgba(0,0,0,0) !important}.nice-select .option{cursor:pointer;font-weight:400;line-height:40px;list-style:none;outline:none;padding-left:18px;padding-right:29px;text-align:left;transition:all .2s}.nice-select .option:hover,.nice-select .option.focus,.nice-select .option.selected.focus{background-color:#f6f6f6}.nice-select .option.selected{font-weight:bold}.nice-select .option.disabled{background-color:rgba(0,0,0,0);color:#999;cursor:default}.nice-select .optgroup{font-weight:bold}.no-csspointerevents .nice-select .nice-select-dropdown{display:none}.no-csspointerevents .nice-select.open .nice-select-dropdown{display:block}.nice-select .list::-webkit-scrollbar{width:0}.nice-select .has-multiple{white-space:inherit;height:auto;padding:7px 12px;min-height:36px;line-height:22px}.nice-select .has-multiple span.current{border:1px solid #ccc;background:#eee;padding:0 10px;border-radius:3px;display:inline-block;line-height:24px;font-size:14px;margin-bottom:3px;margin-right:3px}.nice-select .has-multiple .multiple-options{display:block;line-height:24px;padding:0}.nice-select .nice-select-search-box{box-sizing:border-box;width:100%;padding:5px;pointer-events:none;border-radius:5px 5px 0 0}.nice-select .nice-select-search{box-sizing:border-box;background-color:#fff;border:1px solid #e8e8e8;border-radius:3px;color:#444;display:inline-block;vertical-align:middle;padding:7px 12px;margin:0 10px 0 0;width:100%;min-height:36px;line-height:22px;height:auto;outline:0 !important;font-size:14px}
+.nice-select{-webkit-tap-highlight-color:rgba(0,0,0,0);background-color:#fff;border-radius:5px;border:solid 1px #e8e8e8;box-sizing:border-box;clear:both;cursor:pointer;display:block;float:left;font-family:inherit;font-size:14px;font-weight:normal;height:38px;line-height:36px;outline:none;padding-left:18px;padding-right:30px;position:relative;text-align:left !important;transition:all .2s ease-in-out;user-select:none;white-space:nowrap;width:auto}.nice-select:hover{border-color:hsl(0,0%,85.9803921569%)}.nice-select:active,.nice-select:focus{border-color:#999}.nice-select:after{border-bottom:2px solid #999;border-right:2px solid #999;content:"";display:block;height:5px;margin-top:-4px;pointer-events:none;position:absolute;right:12px;top:50%;transform-origin:66% 66%;transform:rotate(45deg);transition:all .15s ease-in-out;width:5px}.nice-select.open{border-color:#999}.nice-select.open:after{transform:rotate(-135deg)}.nice-select.open .nice-select-dropdown{opacity:1;pointer-events:auto;transform:scale(1) translateY(0)}.nice-select.disabled{border-color:rgb(237.1,237.1,237.1);color:#999;pointer-events:none}.nice-select.disabled:after{border-color:#ccc}.nice-select.wide{width:100%}.nice-select.wide .nice-select-dropdown{left:0 !important;right:0 !important}.nice-select.right{float:right}.nice-select.right .nice-select-dropdown{left:auto;right:0}.nice-select.small{font-size:12px;height:36px;line-height:34px}.nice-select.small:after{height:4px;width:4px}.nice-select.small .option{line-height:34px;min-height:34px}.nice-select .nice-select-dropdown{margin-top:4px;background-color:#fff;border-radius:5px;box-shadow:0 0 0 1px rgba(68,68,68,.11);pointer-events:none;position:absolute;top:100%;left:0;transform-origin:50% 0;transform:scale(0.75) translateY(19px);transition:all .2s cubic-bezier(0.5, 0, 0, 1.25),opacity .15s ease-out;z-index:9;opacity:0}.nice-select .list{border-radius:5px;box-sizing:border-box;overflow:hidden;padding:0;max-height:210px;overflow-y:auto}.nice-select .list:hover .option:not(:hover){background-color:rgba(0,0,0,0) !important}.nice-select .option{cursor:pointer;font-weight:400;line-height:40px;list-style:none;outline:none;padding-left:18px;padding-right:29px;text-align:left;transition:all .2s}.nice-select .option:hover,.nice-select .option.focus,.nice-select .option.selected.focus{background-color:#f6f6f6}.nice-select .option.selected{font-weight:bold}.nice-select .option.disabled{background-color:rgba(0,0,0,0);color:#999;cursor:default}.nice-select .extra{float:right}.nice-select .optgroup{font-weight:bold}.no-csspointerevents .nice-select .nice-select-dropdown{display:none}.no-csspointerevents .nice-select.open .nice-select-dropdown{display:block}.nice-select .list::-webkit-scrollbar{width:0}.nice-select .has-multiple{white-space:inherit;height:auto;padding:7px 12px;min-height:36px;line-height:22px}.nice-select .has-multiple span.current{border:1px solid #ccc;background:#eee;padding:0 10px;border-radius:3px;display:inline-block;line-height:24px;font-size:14px;margin-bottom:3px;margin-right:3px}.nice-select .has-multiple .multiple-options{display:block;line-height:24px;padding:0}.nice-select .nice-select-search-box{box-sizing:border-box;width:100%;padding:5px;pointer-events:none;border-radius:5px 5px 0 0}.nice-select .nice-select-search{box-sizing:border-box;background-color:#fff;border:1px solid #e8e8e8;border-radius:3px;color:#444;display:inline-block;vertical-align:middle;padding:7px 12px;margin:0 10px 0 0;width:100%;min-height:36px;line-height:22px;height:auto;outline:0 !important;font-size:14px}
+
+/*# sourceMappingURL=nice-select2.css.map*/
\ No newline at end of file
diff --git a/docs/dist/css/nice-select2.css.map b/docs/dist/css/nice-select2.css.map
new file mode 100644
index 0000000..7dc5b14
--- /dev/null
+++ b/docs/dist/css/nice-select2.css.map
@@ -0,0 +1 @@
+{"version":3,"file":"css/nice-select2.css","mappings":"AAoBA,aACE,0CACA,sBACA,iBAhBoB,CAiBpB,yBACA,sBACA,WACA,eACA,cACA,WACA,oBACA,cA3BU,CA4BV,mBACA,WAzBa,CA0Bb,iBACA,aACA,iBA1BiB,CA2BjB,mBACA,kBACA,2BACA,+BACA,iBACA,mBACA,WAEA,mBACE,sCAGF,uCAEE,iBAtCG,CA0CL,mBACE,6BACA,4BACA,WACA,cACA,WACA,gBACA,oBACA,kBACA,WACA,QACA,yBACA,wBACA,gCACA,UAGF,kBACE,iBA5DG,CA6DH,wBACE,0BAEF,wCACE,UACA,oBACA,iCAIJ,sBACE,oCACA,UAzEG,CA0EH,oBACA,4BACE,kBAKJ,kBACE,WACA,wCACE,kBACA,mBAIJ,mBACE,YACA,yCACE,UACA,QAIJ,mBACE,cA1Gc,CA2Gd,WAvGiB,CAwGjB,iBACA,yBACE,WACA,UAEF,2BACE,iBACA,gBAIJ,mCACE,eACA,sBACA,iBAxHkB,CAyHlB,wCACA,oBACA,kBACA,SACA,OACA,uBACA,uCACA,uEACA,UACA,UAIF,mBACE,iBAvIkB,CAwIlB,sBACA,gBACA,UACA,iBACA,gBAEA,6CACE,0CAIJ,qBACE,eACA,gBACA,iBACA,gBACA,aACA,iBAtJe,CAuJf,mBACA,gBACA,mBAEA,0FAGE,wBAzJS,CA4JX,8BACE,iBAGF,8BACE,+BACA,UApKC,CAqKD,eAIJ,oBACE,YAGF,uBACE,iBAMF,wDACE,aAGA,6DACE,cAKN,sCACE,QAIA,2BACE,oBACA,YACA,iBACA,gBACA,iBAEA,wCACE,sBACA,gBACA,eACA,kBACA,qBACA,iBACA,eACA,kBACA,iBAGF,6CACE,cACA,iBACA,UAIJ,qCACE,sBACA,WACA,YACA,oBACA,0BAGF,iCACE,sBACA,sBACA,yBACA,kBACA,UA3OQ,CA4OR,qBACA,sBACA,iBACA,kBACA,WACA,gBACA,iBACA,YACA,qBACA,cA7PQ,C","sources":["webpack://NiceSelect/./src/scss/nice-select2.scss"],"sourcesContent":["@use \"sass:math\";\r\n@use \"sass:color\";\r\n\r\n// Default variables\r\n$font_size: 14px !default;\r\n$font_size_small: 12px !default;\r\n\r\n$input_border_radius: 5px !default;\r\n$input_height: 38px !default;\r\n$input_height_small: 36px !default;\r\n$dropdown_padding: 18px !default;\r\n\r\n$gray_dark: #444 !default;\r\n$gray: #999 !default;\r\n$gray_light: #e8e8e8 !default;\r\n$gray_lighter: #f6f6f6 !default;\r\n$primary_light: $gray !default;\r\n$arrow_color: $gray !default;\r\n\r\n// Style the dropdown\r\n.nice-select {\r\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\r\n background-color: #fff;\r\n border-radius: $input_border_radius;\r\n border: solid 1px $gray_light;\r\n box-sizing: border-box;\r\n clear: both;\r\n cursor: pointer;\r\n display: block;\r\n float: left;\r\n font-family: inherit;\r\n font-size: $font_size;\r\n font-weight: normal;\r\n height: $input_height;\r\n line-height: $input_height - 2;\r\n outline: none;\r\n padding-left: $dropdown_padding;\r\n padding-right: $dropdown_padding + 12;\r\n position: relative;\r\n text-align: left !important;\r\n transition: all 0.2s ease-in-out;\r\n user-select: none;\r\n white-space: nowrap;\r\n width: auto;\r\n\r\n &:hover {\r\n border-color: color.adjust($gray_light, $lightness: -5%);\r\n }\r\n\r\n &:active,\r\n &:focus {\r\n border-color: $primary_light;\r\n }\r\n\r\n // Arrow\r\n &:after {\r\n border-bottom: 2px solid $arrow_color;\r\n border-right: 2px solid $arrow_color;\r\n content: \"\";\r\n display: block;\r\n height: 5px;\r\n margin-top: -4px;\r\n pointer-events: none;\r\n position: absolute;\r\n right: 12px;\r\n top: 50%;\r\n transform-origin: 66% 66%;\r\n transform: rotate(45deg);\r\n transition: all 0.15s ease-in-out;\r\n width: 5px;\r\n }\r\n\r\n &.open {\r\n border-color: $primary_light;\r\n &:after {\r\n transform: rotate(-135deg);\r\n }\r\n .nice-select-dropdown {\r\n opacity: 1;\r\n pointer-events: auto;\r\n transform: scale(1) translateY(0);\r\n }\r\n }\r\n\r\n &.disabled {\r\n border-color: color.adjust($gray_light, $lightness: 2%);\r\n color: $gray;\r\n pointer-events: none;\r\n &:after {\r\n border-color: color.adjust($arrow_color, $lightness: 20%);\r\n }\r\n }\r\n\r\n // Modifiers\r\n &.wide {\r\n width: 100%;\r\n .nice-select-dropdown {\r\n left: 0 !important;\r\n right: 0 !important;\r\n }\r\n }\r\n\r\n &.right {\r\n float: right;\r\n .nice-select-dropdown {\r\n left: auto;\r\n right: 0;\r\n }\r\n }\r\n\r\n &.small {\r\n font-size: $font_size_small;\r\n height: $input_height_small;\r\n line-height: $input_height_small - 2;\r\n &:after {\r\n height: 4px;\r\n width: 4px;\r\n }\r\n .option {\r\n line-height: $input_height_small - 2;\r\n min-height: $input_height_small - 2;\r\n }\r\n }\r\n\r\n .nice-select-dropdown {\r\n margin-top: 4px;\r\n background-color: #fff;\r\n border-radius: $input_border_radius;\r\n box-shadow: 0 0 0 1px rgba($gray_dark, 0.11);\r\n pointer-events: none;\r\n position: absolute;\r\n top: 100%;\r\n left: 0;\r\n transform-origin: 50% 0;\r\n transform: scale(0.75) translateY(math.div($input_height, 2));\r\n transition: all 0.2s cubic-bezier(0.5, 0, 0, 1.25), opacity 0.15s ease-out;\r\n z-index: 9;\r\n opacity: 0;\r\n }\r\n\r\n // List and options\r\n .list {\r\n border-radius: $input_border_radius;\r\n box-sizing: border-box;\r\n overflow: hidden;\r\n padding: 0;\r\n max-height: 210px;\r\n overflow-y: auto;\r\n\r\n &:hover .option:not(:hover) {\r\n background-color: transparent !important;\r\n }\r\n }\r\n\r\n .option {\r\n cursor: pointer;\r\n font-weight: 400;\r\n line-height: $input_height + 2;\r\n list-style: none;\r\n outline: none;\r\n padding-left: $dropdown_padding;\r\n padding-right: $dropdown_padding + 11;\r\n text-align: left;\r\n transition: all 0.2s;\r\n\r\n &:hover,\r\n &.focus,\r\n &.selected.focus {\r\n background-color: $gray_lighter;\r\n }\r\n\r\n &.selected {\r\n font-weight: bold;\r\n }\r\n\r\n &.disabled {\r\n background-color: transparent;\r\n color: $gray;\r\n cursor: default;\r\n }\r\n }\r\n\r\n .extra {\r\n float: right;\r\n }\r\n\r\n .optgroup {\r\n font-weight: bold;\r\n }\r\n}\r\n\r\n// Fallback for IE <= 10\r\n.no-csspointerevents .nice-select {\r\n .nice-select-dropdown {\r\n display: none;\r\n }\r\n &.open {\r\n .nice-select-dropdown {\r\n display: block;\r\n }\r\n }\r\n}\r\n\r\n.nice-select .list::-webkit-scrollbar {\r\n width: 0;\r\n}\r\n\r\n.nice-select {\r\n .has-multiple {\r\n white-space: inherit;\r\n height: auto;\r\n padding: 7px 12px;\r\n min-height: 36px;\r\n line-height: 22px;\r\n\r\n span.current {\r\n border: 1px solid #ccc;\r\n background: #eee;\r\n padding: 0 10px;\r\n border-radius: 3px;\r\n display: inline-block;\r\n line-height: 24px;\r\n font-size: 14px;\r\n margin-bottom: 3px;\r\n margin-right: 3px;\r\n }\r\n\r\n .multiple-options {\r\n display: block;\r\n line-height: 24px;\r\n padding: 0;\r\n }\r\n }\r\n\r\n .nice-select-search-box {\r\n box-sizing: border-box;\r\n width: 100%;\r\n padding: 5px;\r\n pointer-events: none;\r\n border-radius: 5px 5px 0 0;\r\n }\r\n\r\n .nice-select-search {\r\n box-sizing: border-box;\r\n background-color: #fff;\r\n border: 1px solid $gray_light;\r\n border-radius: 3px;\r\n color: $gray_dark;\r\n display: inline-block;\r\n vertical-align: middle;\r\n padding: 7px 12px;\r\n margin: 0 10px 0 0;\r\n width: 100%;\r\n min-height: 36px;\r\n line-height: 22px;\r\n height: auto;\r\n outline: 0 !important;\r\n font-size: $font_size;\r\n }\r\n}"],"names":[],"sourceRoot":""}
\ No newline at end of file
diff --git a/docs/dist/css/style.css b/docs/dist/css/style.css
index 5577599..ea0695c 100644
--- a/docs/dist/css/style.css
+++ b/docs/dist/css/style.css
@@ -1 +1,3 @@
-code[class*=language-],pre[class*=language-]{border-radius:2px;color:#445870;hyphens:none;line-height:1.5;tab-size:4;text-align:left;white-space:pre;word-break:normal;word-spacing:normal;word-wrap:normal;direction:ltr;font-family:Inconsolata,monospace;font-size:13px;letter-spacing:0}pre[class*=language-]{padding:18px 24px;margin:0 0 24px;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#f6f7f9}:not(pre)>code[class*=language-]{padding:0 2px 1px}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:#90a1b5}.token.punctuation{color:#999}.namespace{opacity:.7}.token.property,.token.tag,.token.boolean,.token.number,.token.constant,.token.symbol,.token.deleted{color:#ec4444}.token.selector,.token.attr-name,.token.string,.token.char,.token.builtin,.token.inserted{color:#4abf60}.token.operator,.token.entity,.token.url,.language-css .token.string,.style .token.string{color:#a67f59;background:rgba(255,255,255,.5)}.token.atrule,.token.attr-value,.token.keyword{color:#55a1fb}.token.function{color:#dd4a68}.token.regex,.token.important,.token.variable{color:#e90}.token.important,.token.bold{font-weight:bold}.token.italic{font-style:italic}.token.entity{cursor:help}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#445870;font-family:"Work Sans",sans-serif;font-size:14px;font-weight:normal;letter-spacing:-0.25px;margin:0;padding:0 18px}p{line-height:1.6;margin:0 0 1.6em}h1{font-size:36px;font-weight:300;letter-spacing:-2px;margin:0 0 24px}h2{font-size:22px;font-weight:700;margin:0 0 12px;padding-top:48px}h3{font-size:18px;font-weight:400;margin:0 0 12px;padding-top:12px}ul{margin:0;padding-left:16px}a:not(.button){color:#55a1fb;outline:none;text-decoration:none;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out;border-bottom:1px solid rgba(0,0,0,0)}a:not(.button):hover,a:not(.button):focus{border-bottom:1px solid #88bfff}::selection{background:#f3f4f7}.container{margin:96px auto 60px;max-width:40em}.box{background-color:#f6f7f9;border-radius:2px;margin-bottom:30px;padding:24px 30px}.box:before,.box:after{content:"";display:table}.box:after{clear:both}label{color:#90a1b5;font-size:11px;margin:0 2px 4px;text-transform:uppercase;float:left}label.right{float:right}.button{-webkit-tap-highlight-color:rgba(0,0,0,0);background-color:#55a1fb;border-radius:5px;border:none;box-sizing:border-box;color:#fff;cursor:pointer;display:inline-block;font-weight:600;height:38px;line-height:38px;outline:none;padding:0 24px;text-align:center;text-decoration:none;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out;white-space:nowrap;width:auto}.button:hover,.button:focus{background-color:#4196fb}.button:active{background-color:#2d8bfa}.button.light{background-color:#fff;border:1px solid #e8e8e8;color:#55a1fb;line-height:36px;margin-left:24px}.button.light:hover{border-color:#dbdbdb}.button.light:active,.button.light:focus{border-color:#88bfff}@media screen and (max-width: 360px){.button{width:100%}.button.light{margin:18px 0 0}}.header{text-align:center;margin-bottom:60px}@media screen and (min-width: 600px){.header{padding:0 18px}}.header p{color:#90a1b5;font-size:18px;margin-bottom:36px}.footer{text-align:center}.footer p{margin-bottom:90px}.credit{color:#90a1b5;clear:both;font-size:12px;margin-top:90px}
+code[class*=language-],pre[class*=language-]{border-radius:2px;color:#445870;hyphens:none;line-height:1.5;tab-size:4;text-align:left;white-space:pre;word-break:normal;word-spacing:normal;word-wrap:normal;direction:ltr;font-family:Inconsolata,monospace;font-size:13px;letter-spacing:0}pre[class*=language-]{padding:18px 24px;margin:0 0 24px;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#f6f7f9}:not(pre)>code[class*=language-]{padding:0 2px 1px}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:#90a1b5}.token.punctuation{color:#999}.namespace{opacity:.7}.token.property,.token.tag,.token.boolean,.token.number,.token.constant,.token.symbol,.token.deleted{color:#ec4444}.token.selector,.token.attr-name,.token.string,.token.char,.token.builtin,.token.inserted{color:#4abf60}.token.operator,.token.entity,.token.url,.language-css .token.string,.style .token.string{color:#a67f59;background:hsla(0,0%,100%,.5)}.token.atrule,.token.attr-value,.token.keyword{color:#55a1fb}.token.function{color:#dd4a68}.token.regex,.token.important,.token.variable{color:#e90}.token.important,.token.bold{font-weight:bold}.token.italic{font-style:italic}.token.entity{cursor:help}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#445870;font-family:"Work Sans",sans-serif;font-size:14px;font-weight:normal;letter-spacing:-0.25px;margin:0;padding:0 18px}p{line-height:1.6;margin:0 0 1.6em}h1{font-size:36px;font-weight:300;letter-spacing:-2px;margin:0 0 24px}h2{font-size:22px;font-weight:700;margin:0 0 12px;padding-top:48px}h3{font-size:18px;font-weight:400;margin:0 0 12px;padding-top:12px}ul{margin:0;padding-left:16px}a:not(.button){color:#55a1fb;outline:none;text-decoration:none;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out;border-bottom:1px solid rgba(0,0,0,0)}a:not(.button):hover,a:not(.button):focus{border-bottom:1px solid #88bfff}::selection{background:rgb(242.94,244.28,246.96)}.container{margin:96px auto 60px;max-width:40em}.box{background-color:#f6f7f9;border-radius:2px;margin-bottom:30px;padding:24px 30px}.box:before,.box:after{content:"";display:table}.box:after{clear:both}label{color:#90a1b5;font-size:11px;margin:0 2px 4px;text-transform:uppercase;float:left}label.right{float:right}.button{-webkit-tap-highlight-color:rgba(0,0,0,0);background-color:#55a1fb;border-radius:5px;border:none;box-sizing:border-box;color:#fff;cursor:pointer;display:inline-block;font-weight:600;height:38px;line-height:38px;outline:none;padding:0 24px;text-align:center;text-decoration:none;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out;white-space:nowrap;width:auto}.button:hover,.button:focus{background-color:rgb(65.0689655172,149.9793103448,250.5310344828)}.button:active{background-color:rgb(45.1379310345,138.9586206897,250.0620689655)}.button.light{background-color:#fff;border:1px solid #e0e7ee;color:#55a1fb;line-height:36px;margin-left:24px}.button.light:hover{border-color:rgb(207.53125,218.25,228.96875)}.button.light:active,.button.light:focus{border-color:#88bfff}@media screen and (max-width: 360px){.button{width:100%}.button.light{margin:18px 0 0}}.header{text-align:center;margin-bottom:60px}@media screen and (min-width: 600px){.header{padding:0 18px}}.header p{color:#90a1b5;font-size:18px;margin-bottom:36px}.footer{text-align:center}.footer p{margin-bottom:90px}.credit{color:#90a1b5;clear:both;font-size:12px;margin-top:90px}
+
+/*# sourceMappingURL=style.css.map*/
\ No newline at end of file
diff --git a/docs/dist/css/style.css.map b/docs/dist/css/style.css.map
new file mode 100644
index 0000000..bfad743
--- /dev/null
+++ b/docs/dist/css/style.css.map
@@ -0,0 +1 @@
+{"version":3,"file":"css/style.css","mappings":"AAOA,6CAEE,kBACA,aCRY,CDSZ,aACA,gBACA,WACA,gBACA,gBACA,kBACA,oBACA,iBACA,cACA,kCACA,eACA,iBAIF,sBACE,kBACA,gBACA,cAGF,uDAEE,kBC/Be,CDmCjB,iCACE,kBAGF,yDAIE,aC1CO,CD6CT,mBACE,WAGF,WACE,WAGF,qGAOE,cAGF,0FAME,cAGF,0FAKE,cACA,8BAGF,+CAGE,aCnFO,CDsFT,gBACE,cAGF,8CAGE,WAGF,6BAEE,iBAGF,cACE,kBAGF,cACE,YCnEF,KACE,mCACA,kCACA,aAvBU,CAwBV,mCACA,eACA,mBACA,uBACA,SACA,eAGF,EACE,gBACA,iBAGF,GACE,eACA,gBACA,oBACA,gBAGF,GACE,eACA,gBACA,gBACA,iBAGF,GACE,eACA,gBACA,gBACA,iBAGF,GACE,SACA,kBAGF,eACE,aA5DK,CA6DL,aACA,qBACA,uCACA,+BACA,sCAEA,0CAEE,gCAIJ,YACE,qCAGF,WACE,sBACA,eAGF,KAEE,wBArFa,CAsFb,kBACA,mBACA,kBAjFA,uBAEE,WACA,cAEF,WACE,WA8EJ,MACE,aA9FK,CA+FL,eACA,iBACA,yBACA,WAEA,YACE,YAIJ,QACE,0CACA,wBAxGK,CAyGL,iBA1HoB,CA2HpB,YACA,sBACA,WACA,eACA,qBACA,gBACA,WAhIa,CAiIb,gBAjIa,CAkIb,aACA,eACA,kBACA,qBACA,uCACA,+BACA,mBACA,WAEA,4BAEE,kEAGF,eACE,kEAGF,cACE,sBACA,yBACA,aAvIG,CAwIH,iBACA,iBAEA,oBACE,6CAGF,yCAEE,oBAhJO,CAoJX,qCA/CF,QAgDI,WAEA,cACE,iBAKN,QACE,kBACA,mBAEA,qCAJF,QAKI,gBAGF,UACE,aA1KG,CA2KH,eACA,mBAIJ,QACE,kBAEA,UACE,mBAIJ,QACE,aAzLK,CA0LL,WACA,cA3MgB,CA4MhB,gB","sources":["webpack://NiceSelect/./src/scss/_prism.scss","webpack://NiceSelect/./src/scss/style.scss"],"sourcesContent":["@use \"sass:color\";\r\n\r\n$gray_dark: #445870 !default;\r\n$gray_lighter: #f6f7f9 !default;\r\n$gray: #90a1b5 !default;\r\n$blue: #55a1fb !default;\r\n\r\ncode[class*=\"language-\"],\r\npre[class*=\"language-\"] {\r\n border-radius: 2px;\r\n color: $gray_dark;\r\n hyphens: none;\r\n line-height: 1.5;\r\n tab-size: 4;\r\n text-align: left;\r\n white-space: pre;\r\n word-break: normal;\r\n word-spacing: normal;\r\n word-wrap: normal;\r\n direction: ltr;\r\n font-family: Inconsolata, monospace;\r\n font-size: 13px;\r\n letter-spacing: 0;\r\n}\r\n\r\n/* Code blocks */\r\npre[class*=\"language-\"] {\r\n padding: 18px 24px;\r\n margin: 0 0 24px;\r\n overflow: auto;\r\n}\r\n\r\n:not(pre) > code[class*=\"language-\"],\r\npre[class*=\"language-\"] {\r\n background: $gray_lighter;\r\n}\r\n\r\n/* Inline code */\r\n:not(pre) > code[class*=\"language-\"] {\r\n padding: 0 2px 1px;\r\n}\r\n\r\n.token.comment,\r\n.token.prolog,\r\n.token.doctype,\r\n.token.cdata {\r\n color: $gray;\r\n}\r\n\r\n.token.punctuation {\r\n color: #999;\r\n}\r\n\r\n.namespace {\r\n opacity: 0.7;\r\n}\r\n\r\n.token.property,\r\n.token.tag,\r\n.token.boolean,\r\n.token.number,\r\n.token.constant,\r\n.token.symbol,\r\n.token.deleted {\r\n color: #ec4444;\r\n}\r\n\r\n.token.selector,\r\n.token.attr-name,\r\n.token.string,\r\n.token.char,\r\n.token.builtin,\r\n.token.inserted {\r\n color: #4abf60;\r\n}\r\n\r\n.token.operator,\r\n.token.entity,\r\n.token.url,\r\n.language-css .token.string,\r\n.style .token.string {\r\n color: #a67f59;\r\n background: color.adjust(#fff, $alpha: -0.5);\r\n}\r\n\r\n.token.atrule,\r\n.token.attr-value,\r\n.token.keyword {\r\n color: $blue;\r\n}\r\n\r\n.token.function {\r\n color: #dd4a68;\r\n}\r\n\r\n.token.regex,\r\n.token.important,\r\n.token.variable {\r\n color: #e90;\r\n}\r\n\r\n.token.important,\r\n.token.bold {\r\n font-weight: bold;\r\n}\r\n\r\n.token.italic {\r\n font-style: italic;\r\n}\r\n\r\n.token.entity {\r\n cursor: help;\r\n}","@use \"sass:color\";\r\n@use \"./prism\" with (\r\n $gray_dark: #445870,\r\n $gray_lighter: #f6f7f9,\r\n $gray: #90a1b5,\r\n $blue: #55a1fb\r\n);\r\n// Default variables\r\n$font_size: 14px !default;\r\n$font_size_small: 12px !default;\r\n\r\n$input_border_radius: 5px !default;\r\n$input_height: 38px !default;\r\n$input_height_small: 36px !default;\r\n$dropdown_padding: 18px !default;\r\n\r\n$gray_dark: #444 !default;\r\n$gray: #999 !default;\r\n$gray_light: #e8e8e8 !default;\r\n$gray_lighter: #f6f6f6 !default;\r\n$primary_light: $gray !default;\r\n$arrow_color: $gray !default;\r\n\r\n// Override defaults\r\n$gray_dark: #445870;\r\n$gray: #90a1b5;\r\n$gray_light: #e0e7ee;\r\n$gray_lighter: #f6f7f9;\r\n$blue: #55a1fb;\r\n$blue_light: #88bfff;\r\n$primary: $blue;\r\n$primary_light: $blue_light;\r\n\r\n@mixin clearfix() {\r\n &:before,\r\n &:after {\r\n content: \"\";\r\n display: table;\r\n }\r\n &:after {\r\n clear: both;\r\n }\r\n}\r\n\r\nbody {\r\n -webkit-font-smoothing: antialiased;\r\n -moz-osx-font-smoothing: grayscale;\r\n color: $gray_dark;\r\n font-family: \"Work Sans\", sans-serif;\r\n font-size: 14px;\r\n font-weight: normal;\r\n letter-spacing: -0.25px;\r\n margin: 0;\r\n padding: 0 18px;\r\n}\r\n\r\np {\r\n line-height: 1.6;\r\n margin: 0 0 1.6em;\r\n}\r\n\r\nh1 {\r\n font-size: 36px;\r\n font-weight: 300;\r\n letter-spacing: -2px;\r\n margin: 0 0 24px;\r\n}\r\n\r\nh2 {\r\n font-size: 22px;\r\n font-weight: 700;\r\n margin: 0 0 12px;\r\n padding-top: 48px;\r\n}\r\n\r\nh3 {\r\n font-size: 18px;\r\n font-weight: 400;\r\n margin: 0 0 12px;\r\n padding-top: 12px;\r\n}\r\n\r\nul {\r\n margin: 0;\r\n padding-left: 16px;\r\n}\r\n\r\na:not(.button) {\r\n color: $primary;\r\n outline: none;\r\n text-decoration: none;\r\n -webkit-transition: all 0.2s ease-in-out;\r\n transition: all 0.2s ease-in-out;\r\n border-bottom: 1px solid transparent;\r\n\r\n &:hover,\r\n &:focus {\r\n border-bottom: 1px solid $primary_light;\r\n }\r\n}\r\n\r\n::selection {\r\n background: color.adjust($gray_lighter, $lightness: -1%);\r\n}\r\n\r\n.container {\r\n margin: 96px auto 60px;\r\n max-width: 40em;\r\n}\r\n\r\n.box {\r\n @include clearfix;\r\n background-color: $gray_lighter;\r\n border-radius: 2px;\r\n margin-bottom: 30px;\r\n padding: 24px 30px;\r\n}\r\n\r\nlabel {\r\n color: $gray;\r\n font-size: 11px;\r\n margin: 0 2px 4px;\r\n text-transform: uppercase;\r\n float: left;\r\n\r\n &.right {\r\n float: right;\r\n }\r\n}\r\n\r\n.button {\r\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\r\n background-color: $primary;\r\n border-radius: $input_border_radius;\r\n border: none;\r\n box-sizing: border-box;\r\n color: #fff;\r\n cursor: pointer;\r\n display: inline-block;\r\n font-weight: 600;\r\n height: $input_height;\r\n line-height: $input_height;\r\n outline: none;\r\n padding: 0 24px;\r\n text-align: center;\r\n text-decoration: none;\r\n -webkit-transition: all 0.2s ease-in-out;\r\n transition: all 0.2s ease-in-out;\r\n white-space: nowrap;\r\n width: auto;\r\n\r\n &:hover,\r\n &:focus {\r\n background-color: color.adjust($primary, $lightness: -4%);\r\n }\r\n\r\n &:active {\r\n background-color: color.adjust($primary, $lightness: -8%);\r\n }\r\n\r\n &.light {\r\n background-color: #fff;\r\n border: 1px solid $gray_light;\r\n color: $primary;\r\n line-height: $input_height - 2;\r\n margin-left: 24px;\r\n\r\n &:hover {\r\n border-color: color.adjust($gray_light, $lightness: -5%);\r\n }\r\n\r\n &:active,\r\n &:focus {\r\n border-color: $primary_light;\r\n }\r\n }\r\n\r\n @media screen and (max-width: 360px) {\r\n width: 100%;\r\n\r\n &.light {\r\n margin: 18px 0 0;\r\n }\r\n }\r\n}\r\n\r\n.header {\r\n text-align: center;\r\n margin-bottom: 60px;\r\n\r\n @media screen and (min-width: 600px) {\r\n padding: 0 18px;\r\n }\r\n\r\n p {\r\n color: $gray;\r\n font-size: 18px;\r\n margin-bottom: 36px;\r\n }\r\n}\r\n\r\n.footer {\r\n text-align: center;\r\n\r\n p {\r\n margin-bottom: 90px;\r\n }\r\n}\r\n\r\n.credit {\r\n color: $gray;\r\n clear: both;\r\n font-size: $font_size_small;\r\n margin-top: 90px;\r\n}"],"names":[],"sourceRoot":""}
\ No newline at end of file
diff --git a/docs/dist/js/nice-select2.js b/docs/dist/js/nice-select2.js
index a6c0ce1..23af709 100644
--- a/docs/dist/js/nice-select2.js
+++ b/docs/dist/js/nice-select2.js
@@ -1,2 +1,2 @@
-!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.NiceSelect=t():e.NiceSelect=t()}(self,(()=>(()=>{"use strict";var e={d:(t,i)=>{for(var s in i)e.o(i,s)&&!e.o(t,s)&&Object.defineProperty(t,s,{enumerable:!0,get:i[s]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};function i(e){var t=document.createEvent("MouseEvents");t.initEvent("click",!0,!1),e.dispatchEvent(t)}function s(e){var t=document.createEvent("HTMLEvents");t.initEvent("change",!0,!1),e.dispatchEvent(t)}function o(e){var t=document.createEvent("FocusEvent");t.initEvent("focusin",!0,!1),e.dispatchEvent(t)}function n(e){var t=document.createEvent("FocusEvent");t.initEvent("focusout",!0,!1),e.dispatchEvent(t)}function d(e){var t=document.createEvent("UIEvent");t.initEvent("modalclose",!0,!1),e.dispatchEvent(t)}function l(e,t){"invalid"==t?(c(this.dropdown,"invalid"),h(this.dropdown,"valid")):(c(this.dropdown,"valid"),h(this.dropdown,"invalid"))}function r(e,t){return null!=e[t]?e[t]:e.getAttribute(t)}function a(e,t){return!!e&&e.classList.contains(t)}function c(e,t){if(e)return e.classList.add(t)}function h(e,t){if(e)return e.classList.remove(t)}e.r(t),e.d(t,{bind:()=>f,default:()=>u});var p={data:null,searchable:!1,showSelectedItems:!1};function u(e,t){this.el=e,this.config=Object.assign({},p,t||{}),this.data=this.config.data,this.selectedOptions=[],this.placeholder=r(this.el,"placeholder")||this.config.placeholder||"Select an option",this.searchtext=r(this.el,"searchtext")||this.config.searchtext||"Search",this.selectedtext=r(this.el,"selectedtext")||this.config.selectedtext||"selected",this.dropdown=null,this.multiple=r(this.el,"multiple"),this.disabled=r(this.el,"disabled"),this.create()}function f(e,t){return new u(e,t)}return u.prototype.create=function(){this.el.style.opacity="0",this.el.style.width="0",this.el.style.padding="0",this.el.style.height="0",this.data?this.processData(this.data):this.extractData(),this.renderDropdown(),this.bindEvent()},u.prototype.processData=function(e){var t=[];e.forEach((e=>{t.push({data:e,attributes:{selected:!!e.selected,disabled:!!e.disabled,optgroup:"optgroup"==e.value}})})),this.options=t},u.prototype.extractData=function(){var e=this.el.querySelectorAll("option,optgroup"),t=[],i=[],s=[];e.forEach((e=>{if("OPTGROUP"==e.tagName)var s={text:e.label,value:"optgroup"};else{let t=e.innerText;null!=e.dataset.display&&(console.log(e),t=e.dataset.display),s={text:t,value:e.value,selected:null!=e.getAttribute("selected"),disabled:null!=e.getAttribute("disabled")}}var o={selected:null!=e.getAttribute("selected"),disabled:null!=e.getAttribute("disabled"),optgroup:"OPTGROUP"==e.tagName};t.push(s),i.push({data:s,attributes:o})})),this.data=t,this.options=i,this.options.forEach((e=>{e.attributes.selected&&s.push(e)})),this.selectedOptions=s},u.prototype.renderDropdown=function(){var e=["nice-select",r(this.el,"class")||"",this.disabled?"disabled":"",this.multiple?"has-multiple":""];let t='';t+=` `,t+="
";var i=``;i+=`
`,i+='
',i+=`${this.config.searchable?t:""}`,i+='
',i+="
",i+="
",this.el.insertAdjacentHTML("afterend",i),this.dropdown=this.el.nextElementSibling,this._renderSelectedItems(),this._renderItems()},u.prototype._renderSelectedItems=function(){if(this.multiple){var e="";this.config.showSelectedItems||this.config.showSelectedItems||"auto"==window.getComputedStyle(this.dropdown).width||this.selectedOptions.length<2?(this.selectedOptions.forEach((function(t){e+=`${t.data.text} `})),e=""==e?this.placeholder:e):e=this.selectedOptions.length+" "+this.selectedtext,this.dropdown.querySelector(".multiple-options").innerHTML=e}else{var t=this.selectedOptions.length>0?this.selectedOptions[0].data.text:this.placeholder;this.dropdown.querySelector(".current").innerHTML=t}},u.prototype._renderItems=function(){var e=this.dropdown.querySelector("ul");this.options.forEach((t=>{e.appendChild(this._renderItem(t))}))},u.prototype._renderItem=function(e){var t=document.createElement("li");if(t.innerHTML=e.data.text,e.attributes.optgroup)c(t,"optgroup");else{t.setAttribute("data-value",e.data.value);var i=["option",e.attributes.selected?"selected":null,e.attributes.disabled?"disabled":null];t.addEventListener("click",this._onItemClicked.bind(this,e)),t.classList.add(...i)}return e.element=t,t},u.prototype.update=function(){if(this.extractData(),this.dropdown){var e=a(this.dropdown,"open");this.dropdown.parentNode.removeChild(this.dropdown),this.create(),e&&i(this.dropdown)}r(this.el,"disabled")?this.disable():this.enable()},u.prototype.disable=function(){this.disabled||(this.disabled=!0,c(this.dropdown,"disabled"))},u.prototype.enable=function(){this.disabled&&(this.disabled=!1,h(this.dropdown,"disabled"))},u.prototype.clear=function(){this.resetSelectValue(),this.selectedOptions=[],this._renderSelectedItems(),this.update(),s(this.el)},u.prototype.destroy=function(){this.dropdown&&(this.dropdown.parentNode.removeChild(this.dropdown),this.el.style.display="")},u.prototype.bindEvent=function(){this.dropdown.addEventListener("click",this._onClicked.bind(this)),this.dropdown.addEventListener("keydown",this._onKeyPressed.bind(this)),this.dropdown.addEventListener("focusin",o.bind(this,this.el)),this.dropdown.addEventListener("focusout",n.bind(this,this.el)),this.el.addEventListener("invalid",l.bind(this,this.el,"invalid")),window.addEventListener("click",this._onClickedOutside.bind(this)),this.config.searchable&&this._bindSearchEvent()},u.prototype._bindSearchEvent=function(){var e=this.dropdown.querySelector(".nice-select-search");e&&e.addEventListener("click",(function(e){return e.stopPropagation(),!1})),e.addEventListener("input",this._onSearchChanged.bind(this))},u.prototype._onClicked=function(e){var t,i;if(e.preventDefault(),a(this.dropdown,"open")?this.multiple||(h(this.dropdown,"open"),d(this.el)):(c(this.dropdown,"open"),t=this.el,(i=document.createEvent("UIEvent")).initEvent("modalopen",!0,!1),t.dispatchEvent(i)),a(this.dropdown,"open")){var s=this.dropdown.querySelector(".nice-select-search");s&&(s.value="",s.focus());var o=this.dropdown.querySelector(".focus");h(o,"focus"),c(o=this.dropdown.querySelector(".selected"),"focus"),this.dropdown.querySelectorAll("ul li").forEach((function(e){e.style.display=""}))}else this.dropdown.focus()},u.prototype._onItemClicked=function(e,t){var i=t.target;a(i,"disabled")||(this.multiple?a(i,"selected")?(h(i,"selected"),this.selectedOptions.splice(this.selectedOptions.indexOf(e),1),this.el.querySelector(`option[value="${i.dataset.value}"]`).removeAttribute("selected")):(c(i,"selected"),this.selectedOptions.push(e)):(this.selectedOptions.forEach((function(e){h(e.element,"selected")})),c(i,"selected"),this.selectedOptions=[e]),this._renderSelectedItems(),this.updateSelectValue())},u.prototype.updateSelectValue=function(){if(this.multiple){var e=this.el;this.selectedOptions.forEach((function(t){var i=e.querySelector(`option[value="${t.data.value}"]`);i&&i.setAttribute("selected",!0)}))}else this.selectedOptions.length>0&&(this.el.value=this.selectedOptions[0].data.value);s(this.el)},u.prototype.resetSelectValue=function(){if(this.multiple){var e=this.el;this.selectedOptions.forEach((function(t){var i=e.querySelector(`option[value="${t.data.value}"]`);i&&i.removeAttribute("selected")}))}else this.selectedOptions.length>0&&(this.el.selectedIndex=-1);s(this.el)},u.prototype._onClickedOutside=function(e){this.dropdown.contains(e.target)||(h(this.dropdown,"open"),d(this.el))},u.prototype._onKeyPressed=function(e){var t=this.dropdown.querySelector(".focus"),s=a(this.dropdown,"open");if(13==e.keyCode)i(s?t:this.dropdown);else if(40==e.keyCode){if(s){var o=this._findNext(t);o&&(h(this.dropdown.querySelector(".focus"),"focus"),c(o,"focus"))}else i(this.dropdown);e.preventDefault()}else if(38==e.keyCode){if(s){var n=this._findPrev(t);n&&(h(this.dropdown.querySelector(".focus"),"focus"),c(n,"focus"))}else i(this.dropdown);e.preventDefault()}else if(27==e.keyCode&&s)i(this.dropdown);else if(32===e.keyCode&&s)return!1;return!1},u.prototype._findNext=function(e){for(e=e?e.nextElementSibling:this.dropdown.querySelector(".list .option");e;){if(!a(e,"disabled")&&"none"!=e.style.display)return e;e=e.nextElementSibling}return null},u.prototype._findPrev=function(e){for(e=e?e.previousElementSibling:this.dropdown.querySelector(".list .option:last-child");e;){if(!a(e,"disabled")&&"none"!=e.style.display)return e;e=e.previousElementSibling}return null},u.prototype._onSearchChanged=function(e){var t=a(this.dropdown,"open"),i=e.target.value;if(""==(i=i.toLowerCase()))this.options.forEach((function(e){e.element.style.display=""}));else if(t){var s=new RegExp(i);this.options.forEach((function(e){var t=e.data.text.toLowerCase(),i=s.test(t);e.element.style.display=i?"":"none"}))}this.dropdown.querySelectorAll(".focus").forEach((function(e){h(e,"focus")})),c(this._findNext(null),"focus")},t})()));
+!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.NiceSelect=t():e.NiceSelect=t()}(self,(()=>(()=>{"use strict";var e={d:(t,s)=>{for(var i in s)e.o(s,i)&&!e.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:s[i]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{bind:()=>u,default:()=>p});const s=(e,t,s={})=>{let i;i="click"===t?MouseEvent:"change"===t?Event:t.includes("focus")?FocusEvent:UIEvent;const l=new i(t,{bubbles:!0,cancelable:!1,...s});e.dispatchEvent(l)},i=e=>s(e,"click"),l=e=>s(e,"change"),o=e=>s(e,"modalclose"),n=(e,t)=>void 0!==e[t]?e[t]:e.getAttribute(t),d=(e,t)=>e?.classList.contains(t),r=(e,t)=>e?.classList.add(t),a=(e,t)=>e?.classList.remove(t),c={data:null,searchable:!1,showSelectedItems:!1,placeholder:"Select an option",searchtext:"Search",selectedtext:"selected"};class h{constructor(e,t={}){if(!e)throw new Error("No element provided to NiceSelect");if(!(e instanceof Element))throw new Error("Invalid element provided to NiceSelect - must be a valid DOM element");this.el=e,this.config={...c,...t},this.data=this.config.data,this.selectedOptions=[],this.placeholder=n(this.el,"placeholder")||this.config.placeholder,this.searchtext=n(this.el,"searchtext")||this.config.searchtext,this.selectedtext=n(this.el,"selectedtext")||this.config.selectedtext,this.dropdown=null,this.multiple=n(this.el,"multiple"),this.disabled=n(this.el,"disabled"),this.create()}create(){Object.assign(this.el.style,{opacity:"0",width:"0",padding:"0",height:"0",fontSize:"0"}),this.data?this.processData(this.data):this.extractData(),this.renderDropdown(),this.bindEvent()}processData(e){this.options=e.map((e=>({data:e,attributes:{selected:!!e.selected,disabled:!!e.disabled,optgroup:"optgroup"===e.value}})))}extractData(){const e=Array.from(this.el.querySelectorAll("option,optgroup")),t=[],s=[];this.data=e.map((e=>{let i;i="OPTGROUP"===e.tagName?{text:e.label,value:"optgroup"}:{text:e.dataset.display??e.innerText,value:e.value,extra:e.dataset.extra,selected:e.hasAttribute("selected"),disabled:e.hasAttribute("disabled")};const l={selected:e.hasAttribute("selected"),disabled:e.hasAttribute("disabled"),optgroup:"OPTGROUP"===e.tagName},o={data:i,attributes:l,element:null};return t.push(o),l.selected&&s.push(o),i})),this.options=t,this.selectedOptions=s}renderDropdown(){const e=["nice-select",n(this.el,"class")||"",this.disabled?"disabled":"",this.multiple?"has-multiple":""].filter(Boolean),t=this.config.searchable?`\n \n \n
\n `:"",s=`\n \n `;this.el.insertAdjacentHTML("afterend",s),this.dropdown=this.el.nextElementSibling,this._renderSelectedItems(),this._renderItems()}_renderSelectedItems(){if(this.multiple){let e="";this.config.showSelectedItems||"auto"===window.getComputedStyle(this.dropdown).width||this.selectedOptions.length<2?(this.selectedOptions.forEach((t=>{e+=`${t.data.text} `})),e=e||this.placeholder):e=`${this.selectedOptions.length} ${this.selectedtext}`,this.dropdown.querySelector(".multiple-options").innerHTML=e}else{const e=this.selectedOptions.length>0?this.selectedOptions[0].data.text:this.placeholder;this.dropdown.querySelector(".current").innerHTML=e}}_renderItems(){const e=this.dropdown.querySelector("ul");this.options.forEach((t=>e.appendChild(this._renderItem(t))))}_renderItem(e){const t=document.createElement("li");if(t.innerHTML=e.data.text,void 0!==e.data.extra&&t.appendChild(this._renderItemExtra(e.data.extra)),e.attributes.optgroup)r(t,"optgroup");else{t.setAttribute("data-value",e.data.value);const s=["option"];e.attributes.selected&&s.push("selected"),e.attributes.disabled&&s.push("disabled"),t.classList.add(...s),t.addEventListener("click",(t=>this._onItemClicked(e,t)))}return e.element=t,t}_renderItemExtra(e){const t=document.createElement("span");return t.innerHTML=e,r(t,"extra"),t}update(){if(this.extractData(),this.dropdown){const e=d(this.dropdown,"open");this.dropdown.remove(),this.create(),e&&i(this.dropdown)}n(this.el,"disabled")?this.disable():this.enable()}disable(){this.disabled||(this.disabled=!0,r(this.dropdown,"disabled"))}enable(){this.disabled&&(this.disabled=!1,a(this.dropdown,"disabled"))}clear(){this.resetSelectValue(),this.selectedOptions=[],this._renderSelectedItems(),this.update(),l(this.el)}destroy(){this.dropdown&&(this.dropdown.remove(),this.el.style.display="")}bindEvent(){this.dropdown.addEventListener("click",(e=>this._onClicked(e))),this.dropdown.addEventListener("keydown",(e=>this._onKeyPressed(e))),this.dropdown.addEventListener("focusin",(()=>{return e=this.el,s(e,"focusin");var e})),this.dropdown.addEventListener("focusout",(()=>{return e=this.el,s(e,"focusout");var e})),this.el.addEventListener("invalid",(()=>this._triggerValidationMessage("invalid"))),window.addEventListener("click",(e=>this._onClickedOutside(e))),this.config.searchable&&this._bindSearchEvent()}_bindSearchEvent(){const e=this.dropdown.querySelector(".nice-select-search");e&&(e.addEventListener("click",(e=>e.stopPropagation())),e.addEventListener("input",(e=>this._onSearchChanged(e))))}_onClicked(e){var t;if(e.preventDefault(),d(this.dropdown,"open")?this.multiple?e.target===this.dropdown.querySelector(".multiple-options")&&(a(this.dropdown,"open"),o(this.el)):(a(this.dropdown,"open"),o(this.el)):(r(this.dropdown,"open"),t=this.el,s(t,"modalopen")),d(this.dropdown,"open")){const e=this.dropdown.querySelector(".nice-select-search");e&&(e.value="",e.focus());const t=this.dropdown.querySelector(".focus");t&&a(t,"focus");const s=this.dropdown.querySelector(".selected");s&&r(s,"focus"),this.dropdown.querySelectorAll("ul li").forEach((e=>e.style.display=""))}else this.dropdown.focus()}_onItemClicked(e,t){const s=t.target;if(!d(s,"disabled")){if(this.multiple)if(d(s,"selected")){a(s,"selected"),this.selectedOptions=this.selectedOptions.filter((t=>t!==e));const t=this.el.querySelector(`option[value="${s.dataset.value}"]`);t&&(t.removeAttribute("selected"),t.selected=!1)}else r(s,"selected"),this.selectedOptions.push(e);else this.options.forEach((e=>a(e.element,"selected"))),r(s,"selected"),this.selectedOptions=[e];this._renderSelectedItems(),this.updateSelectValue()}}setValue(e){const t=this.el;let s=!0;if(t.multiple){if(!Array.isArray(e))throw new Error("setValue expects an array for multiple select elements");e=e.map(String)}else{if(Array.isArray(e))throw new Error("setValue expects a single value for non-multiple select elements");if(null!=e&&"string"!=typeof e&&"number"!=typeof e)throw new Error("setValue expects a string or number for non-multiple select elements");e=String(e)}for(const i of t.options){const l=t.multiple?e.includes(i.value)?i.value:null:e;i.value!==l||i.disabled?(i.removeAttribute("selected"),i.selected=!1):(s&&(t.value=l,s=!1),i.setAttribute("selected",!0),i.selected=!0)}s&&!t.multiple&&t.options.length&&(t.options[0].setAttribute("selected",!0),t.options[0].selected=!0,t.value=t.options[0].value),this.update()}getValue(){const e=this.el;return e.multiple?Array.from(e.options).filter((e=>e.selected)).map((e=>e.value)):e.value}updateSelectValue(){if(this.multiple){const e=this.el;this.selectedOptions.forEach((t=>{const s=e.querySelector(`option[value="${t.data.value}"]`);s?s.setAttribute("selected",!0):console.error("Option not found, does it have a value?")}))}else this.selectedOptions.length>0&&(this.el.value=this.selectedOptions[0].data.value);l(this.el)}resetSelectValue(){if(this.multiple){const e=this.el;this.selectedOptions.forEach((t=>{const s=e.querySelector(`option[value="${t.data.value}"]`);s&&(s.removeAttribute("selected"),s.selected=!1)}))}else this.selectedOptions.length>0&&(this.el.selectedIndex=-1);l(this.el)}_onClickedOutside(e){this.dropdown.contains(e.target)||(a(this.dropdown,"open"),o(this.el))}_onKeyPressed(e){const t=this.dropdown.querySelector(".focus"),s=d(this.dropdown,"open");if(13===e.keyCode)i(s?t:this.dropdown);else if(40===e.keyCode){if(s){const e=this._findNext(t);e&&(t&&a(t,"focus"),r(e,"focus"))}else i(this.dropdown);e.preventDefault()}else if(38===e.keyCode){if(s){const e=this._findPrev(t);e&&(t&&a(t,"focus"),r(e,"focus"))}else i(this.dropdown);e.preventDefault()}else if(27===e.keyCode&&s)i(this.dropdown);else if(32===e.keyCode&&s)return!1;return!1}_findNext(e){let t=e?e.nextElementSibling:this.dropdown.querySelector(".list .option");for(;t;){if(!d(t,"disabled")&&"none"!==t.style.display)return t;t=t.nextElementSibling}return null}_findPrev(e){let t=e?e.previousElementSibling:this.dropdown.querySelector(".list .option:last-child");for(;t;){if(!d(t,"disabled")&&"none"!==t.style.display)return t;t=t.previousElementSibling}return null}_onSearchChanged(e){const t=e.target.value.toLowerCase();if(""===t)this.options.forEach((e=>e.element.style.display=""));else if(d(this.dropdown,"open")){const e=new RegExp(t);this.options.forEach((t=>{t.element.style.display=e.test(t.data.text.toLowerCase())?"":"none"}))}this.dropdown.querySelectorAll(".focus").forEach((e=>a(e,"focus")));const s=this._findNext(null);s&&r(s,"focus")}_triggerValidationMessage(e){"invalid"===e?(r(this.dropdown,"invalid"),a(this.dropdown,"valid")):(r(this.dropdown,"valid"),a(this.dropdown,"invalid"))}}const p=h;function u(e,t){return new h(e,t)}return t})()));
//# sourceMappingURL=nice-select2.js.map
\ No newline at end of file
diff --git a/docs/dist/js/nice-select2.js.map b/docs/dist/js/nice-select2.js.map
index be68812..4a0b32f 100644
--- a/docs/dist/js/nice-select2.js.map
+++ b/docs/dist/js/nice-select2.js.map
@@ -1 +1 @@
-{"version":3,"file":"js/nice-select2.js","mappings":"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","sources":["webpack://NiceSelect/webpack/universalModuleDefinition","webpack://NiceSelect/webpack/bootstrap","webpack://NiceSelect/webpack/runtime/define property getters","webpack://NiceSelect/webpack/runtime/hasOwnProperty shorthand","webpack://NiceSelect/webpack/runtime/make namespace object","webpack://NiceSelect/./src/js/nice-select2.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"NiceSelect\"] = factory();\n\telse\n\t\troot[\"NiceSelect\"] = factory();\n})(self, () => {\nreturn ","// The require scope\nvar __webpack_require__ = {};\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import \"../scss/nice-select2.scss\";\r\n\r\n// utility functions\r\nfunction triggerClick(el) {\r\n var event = document.createEvent(\"MouseEvents\");\r\n event.initEvent(\"click\", true, false);\r\n el.dispatchEvent(event);\r\n}\r\n\r\nfunction triggerChange(el) {\r\n var event = document.createEvent(\"HTMLEvents\");\r\n event.initEvent(\"change\", true, false);\r\n el.dispatchEvent(event);\r\n}\r\n\r\nfunction triggerFocusIn(el) {\r\n var event = document.createEvent(\"FocusEvent\");\r\n event.initEvent(\"focusin\", true, false);\r\n el.dispatchEvent(event);\r\n}\r\n\r\nfunction triggerFocusOut(el) {\r\n var event = document.createEvent(\"FocusEvent\");\r\n event.initEvent(\"focusout\", true, false);\r\n el.dispatchEvent(event);\r\n}\r\n\r\nfunction triggerModalOpen(el) {\r\n var event = document.createEvent(\"UIEvent\");\r\n event.initEvent(\"modalopen\", true, false);\r\n el.dispatchEvent(event);\r\n}\r\n\r\nfunction triggerModalClose(el) {\r\n var event = document.createEvent(\"UIEvent\");\r\n event.initEvent(\"modalclose\", true, false);\r\n el.dispatchEvent(event);\r\n}\r\n\r\nfunction triggerValidationMessage(el, type) {\r\n if(type == 'invalid'){\r\n addClass(this.dropdown, 'invalid');\r\n removeClass(this.dropdown, 'valid');\r\n }else{\r\n addClass(this.dropdown, 'valid');\r\n removeClass(this.dropdown, 'invalid');\r\n }\r\n}\r\n\r\nfunction attr(el, key) {\r\n if(el[key] != undefined){\r\n return el[key];\r\n }\r\n return el.getAttribute(key);\r\n}\r\n\r\nfunction data(el, key) {\r\n return el.getAttribute(\"data-\" + key);\r\n}\r\n\r\nfunction hasClass(el, className) {\r\n if (el){\r\n return el.classList.contains(className);\r\n }else{\r\n return false;\r\n }\r\n}\r\n\r\nfunction addClass(el, className) {\r\n if (el) return el.classList.add(className);\r\n}\r\n\r\nfunction removeClass(el, className) {\r\n if (el) return el.classList.remove(className);\r\n}\r\n\r\nvar defaultOptions = {\r\n data: null,\r\n searchable: false,\r\n showSelectedItems: false\r\n};\r\n\r\nexport default function NiceSelect(element, options) {\r\n this.el = element;\r\n this.config = Object.assign({}, defaultOptions, options || {});\r\n this.data = this.config.data;\r\n this.selectedOptions = [];\r\n\r\n this.placeholder = attr(this.el, \"placeholder\") || this.config.placeholder || \"Select an option\";\r\n this.searchtext = attr(this.el, \"searchtext\") || this.config.searchtext || \"Search\";\r\n this.selectedtext = attr(this.el, \"selectedtext\") || this.config.selectedtext || \"selected\";\r\n\r\n this.dropdown = null;\r\n this.multiple = attr(this.el, \"multiple\");\r\n this.disabled = attr(this.el, \"disabled\");\r\n\r\n this.create();\r\n}\r\n\r\nNiceSelect.prototype.create = function() {\r\n this.el.style.opacity = \"0\";\r\n this.el.style.width = \"0\";\r\n this.el.style.padding = \"0\";\r\n this.el.style.height = \"0\";\r\n if (this.data) {\r\n this.processData(this.data);\r\n } else {\r\n this.extractData();\r\n }\r\n\r\n this.renderDropdown();\r\n this.bindEvent();\r\n};\r\n\r\nNiceSelect.prototype.processData = function(data) {\r\n var options = [];\r\n data.forEach(item=> {\r\n options.push({\r\n data: item,\r\n attributes: {\r\n selected: !!item.selected,\r\n disabled: !!item.disabled,\r\n\t\t optgroup: item.value == 'optgroup'\r\n }\r\n });\r\n });\r\n this.options = options;\r\n};\r\n\r\nNiceSelect.prototype.extractData = function() {\r\n var options = this.el.querySelectorAll(\"option,optgroup\");\r\n var data = [];\r\n var allOptions = [];\r\n var selectedOptions = [];\r\n\r\n options.forEach(item => {\r\n if(item.tagName == 'OPTGROUP'){\r\n var itemData = {\r\n text: item.label,\r\n value: 'optgroup'\r\n };\r\n }else{\r\n let text = item.innerText;\r\n //console.log(item)\r\n if(item.dataset.display != undefined){\r\n console.log(item)\r\n text = item.dataset.display;\r\n }\r\n\r\n var itemData = {\r\n text: text,\r\n value: item.value,\r\n selected: item.getAttribute(\"selected\") != null,\r\n disabled: item.getAttribute(\"disabled\") != null\r\n };\r\n }\r\n\r\n var attributes = {\r\n selected: item.getAttribute(\"selected\") != null,\r\n disabled: item.getAttribute(\"disabled\") != null,\r\n\t optgroup: item.tagName == 'OPTGROUP'\r\n };\r\n\r\n data.push(itemData);\r\n allOptions.push({ data: itemData, attributes: attributes });\r\n });\r\n\r\n this.data = data;\r\n this.options = allOptions;\r\n this.options.forEach(item => {\r\n if (item.attributes.selected){\r\n selectedOptions.push(item);\r\n }\r\n });\r\n\r\n this.selectedOptions = selectedOptions;\r\n};\r\n\r\nNiceSelect.prototype.renderDropdown = function() {\r\n var classes = [\r\n \"nice-select\",\r\n attr(this.el, \"class\") || \"\",\r\n this.disabled ? \"disabled\" : \"\",\r\n this.multiple ? \"has-multiple\" : \"\"\r\n ];\r\n\r\n let searchHtml = ``;\r\n searchHtml += ` `;\r\n searchHtml += `
`;\r\n\r\n var html = ``;\r\n html += `
`;\r\n html += `
`;\r\n html += `${this.config.searchable ? searchHtml : \"\"}`;\r\n html += `
`;\r\n html += `
`;\r\n html += `
`;\r\n\r\n this.el.insertAdjacentHTML(\"afterend\", html);\r\n\r\n this.dropdown = this.el.nextElementSibling;\r\n this._renderSelectedItems();\r\n this._renderItems();\r\n};\r\n\r\nNiceSelect.prototype._renderSelectedItems = function() {\r\n if (this.multiple) {\r\n var selectedHtml = \"\";\r\n if(this.config.showSelectedItems || this.config.showSelectedItems || window.getComputedStyle(this.dropdown).width == 'auto' || this.selectedOptions.length < 2){\r\n this.selectedOptions.forEach(function(item) {\r\n selectedHtml += `${item.data.text} `;\r\n });\r\n\r\n selectedHtml = selectedHtml == \"\" ? this.placeholder : selectedHtml;\r\n }else{\r\n selectedHtml = this.selectedOptions.length+' '+this.selectedtext;\r\n }\r\n\t\r\n this.dropdown.querySelector(\".multiple-options\").innerHTML = selectedHtml;\r\n } else {\r\n var html = this.selectedOptions.length > 0 ? this.selectedOptions[0].data.text : this.placeholder;\r\n\r\n this.dropdown.querySelector(\".current\").innerHTML = html;\r\n }\r\n};\r\n\r\nNiceSelect.prototype._renderItems = function() {\r\n var ul = this.dropdown.querySelector(\"ul\");\r\n this.options.forEach(item => {\r\n ul.appendChild(this._renderItem(item));\r\n });\r\n};\r\n\r\nNiceSelect.prototype._renderItem = function(option) {\r\n var el = document.createElement(\"li\");\r\n\r\n el.innerHTML = option.data.text;\r\n\r\n if(option.attributes.optgroup){\r\n\t addClass(el, 'optgroup');\r\n }else{\r\n el.setAttribute(\"data-value\", option.data.value);\r\n var classList = [\r\n \"option\",\r\n option.attributes.selected ? \"selected\" : null,\r\n option.attributes.disabled ? \"disabled\" : null,\r\n ];\r\n \r\n el.addEventListener(\"click\", this._onItemClicked.bind(this, option));\r\n el.classList.add(...classList);\r\n }\r\n\r\n option.element = el;\r\n return el;\r\n};\r\n\r\nNiceSelect.prototype.update = function() {\r\n this.extractData();\r\n if (this.dropdown) {\r\n var open = hasClass(this.dropdown, \"open\");\r\n this.dropdown.parentNode.removeChild(this.dropdown);\r\n this.create();\r\n\r\n if (open) {\r\n triggerClick(this.dropdown);\r\n }\r\n }\r\n\r\n if(attr(this.el, \"disabled\")) {\r\n this.disable();\r\n } else {\r\n this.enable();\r\n }\r\n};\r\n\r\nNiceSelect.prototype.disable = function() {\r\n if (!this.disabled) {\r\n this.disabled = true;\r\n addClass(this.dropdown, \"disabled\");\r\n }\r\n};\r\n\r\nNiceSelect.prototype.enable = function() {\r\n if (this.disabled) {\r\n this.disabled = false;\r\n removeClass(this.dropdown, \"disabled\");\r\n }\r\n};\r\n\r\nNiceSelect.prototype.clear = function() {\r\n this.resetSelectValue();\r\n this.selectedOptions = [];\r\n this._renderSelectedItems();\r\n this.update();\r\n\r\n triggerChange(this.el);\r\n};\r\n\r\nNiceSelect.prototype.destroy = function() {\r\n if (this.dropdown) {\r\n this.dropdown.parentNode.removeChild(this.dropdown);\r\n this.el.style.display = \"\";\r\n }\r\n};\r\n\r\nNiceSelect.prototype.bindEvent = function() {\r\n var $this = this;\r\n this.dropdown.addEventListener(\"click\", this._onClicked.bind(this));\r\n this.dropdown.addEventListener(\"keydown\", this._onKeyPressed.bind(this));\r\n this.dropdown.addEventListener(\"focusin\", triggerFocusIn.bind(this, this.el));\r\n this.dropdown.addEventListener(\"focusout\", triggerFocusOut.bind(this, this.el));\r\n this.el.addEventListener(\"invalid\", triggerValidationMessage.bind(this, this.el, 'invalid'));\r\n window.addEventListener(\"click\", this._onClickedOutside.bind(this));\r\n\r\n if (this.config.searchable) {\r\n this._bindSearchEvent();\r\n }\r\n};\r\n\r\nNiceSelect.prototype._bindSearchEvent = function() {\r\n var searchBox = this.dropdown.querySelector(\".nice-select-search\");\r\n if (searchBox){\r\n searchBox.addEventListener(\"click\", function(e) {\r\n e.stopPropagation();\r\n return false;\r\n });\r\n }\r\n\r\n searchBox.addEventListener(\"input\", this._onSearchChanged.bind(this));\r\n};\r\n\r\nNiceSelect.prototype._onClicked = function(e) {\r\n e.preventDefault();\r\n\tif (!hasClass(this.dropdown, \"open\") ) {\r\n\t\taddClass(this.dropdown, \"open\");\r\n triggerModalOpen(this.el);\r\n\t}else if(!this.multiple){\r\n\t\tremoveClass(this.dropdown, \"open\");\r\n triggerModalClose(this.el);\r\n\t}\r\n\r\n if (hasClass(this.dropdown, \"open\")) {\r\n var search = this.dropdown.querySelector(\".nice-select-search\");\r\n if (search) {\r\n search.value = \"\";\r\n search.focus();\r\n }\r\n\r\n var t = this.dropdown.querySelector(\".focus\");\r\n removeClass(t, \"focus\");\r\n t = this.dropdown.querySelector(\".selected\");\r\n addClass(t, \"focus\");\r\n this.dropdown.querySelectorAll(\"ul li\").forEach(function(item) {\r\n item.style.display = \"\";\r\n });\r\n } else {\r\n this.dropdown.focus();\r\n }\r\n};\r\n\r\nNiceSelect.prototype._onItemClicked = function(option, e) {\r\n var optionEl = e.target;\r\n\r\n if (!hasClass(optionEl, \"disabled\")) {\r\n if (this.multiple) {\r\n if (hasClass(optionEl, \"selected\")) {\r\n removeClass(optionEl, \"selected\");\r\n this.selectedOptions.splice(this.selectedOptions.indexOf(option), 1);\r\n this.el.querySelector(`option[value=\"${optionEl.dataset.value}\"]`).removeAttribute('selected');\r\n\t }else{\r\n addClass(optionEl, \"selected\");\r\n this.selectedOptions.push(option);\r\n }\r\n } else {\r\n this.selectedOptions.forEach(function(item) {\r\n removeClass(item.element, \"selected\");\r\n });\r\n\r\n addClass(optionEl, \"selected\");\r\n this.selectedOptions = [option];\r\n }\r\n\r\n this._renderSelectedItems();\r\n this.updateSelectValue();\r\n }\r\n};\r\n\r\nNiceSelect.prototype.updateSelectValue = function() {\r\n if (this.multiple) {\r\n var select = this.el;\r\n this.selectedOptions.forEach(function(item) {\r\n var el = select.querySelector(`option[value=\"${item.data.value}\"]`);\r\n if (el){\r\n el.setAttribute(\"selected\", true);\r\n }\r\n });\r\n } else if (this.selectedOptions.length > 0) {\r\n this.el.value = this.selectedOptions[0].data.value;\r\n }\r\n triggerChange(this.el);\r\n};\r\n\r\nNiceSelect.prototype.resetSelectValue = function() {\r\n if (this.multiple) {\r\n var select = this.el;\r\n this.selectedOptions.forEach(function(item) {\r\n var el = select.querySelector(`option[value=\"${item.data.value}\"]`);\r\n if (el){\r\n el.removeAttribute(\"selected\");\r\n }\r\n });\r\n } else if (this.selectedOptions.length > 0) {\r\n this.el.selectedIndex = -1;\r\n }\r\n\r\n triggerChange(this.el);\r\n};\r\n\r\nNiceSelect.prototype._onClickedOutside = function(e) {\r\n if (!this.dropdown.contains(e.target)) {\r\n removeClass(this.dropdown, \"open\");\r\n triggerModalClose(this.el);\r\n }\r\n};\r\n\r\nNiceSelect.prototype._onKeyPressed = function(e) {\r\n // Keyboard events\r\n\r\n var focusedOption = this.dropdown.querySelector(\".focus\");\r\n\r\n var open = hasClass(this.dropdown, \"open\");\r\n\r\n // Enter\r\n if (e.keyCode == 13) {\r\n if (open) {\r\n triggerClick(focusedOption);\r\n } else {\r\n triggerClick(this.dropdown);\r\n }\r\n } else if (e.keyCode == 40) {\r\n // Down\r\n if (!open) {\r\n triggerClick(this.dropdown);\r\n } else {\r\n var next = this._findNext(focusedOption);\r\n if (next) {\r\n var t = this.dropdown.querySelector(\".focus\");\r\n removeClass(t, \"focus\");\r\n addClass(next, \"focus\");\r\n }\r\n }\r\n e.preventDefault();\r\n } else if (e.keyCode == 38) {\r\n // Up\r\n if (!open) {\r\n triggerClick(this.dropdown);\r\n } else {\r\n var prev = this._findPrev(focusedOption);\r\n if (prev) {\r\n var t = this.dropdown.querySelector(\".focus\");\r\n removeClass(t, \"focus\");\r\n addClass(prev, \"focus\");\r\n }\r\n }\r\n e.preventDefault();\r\n } else if (e.keyCode == 27 && open) {\r\n // Esc\r\n triggerClick(this.dropdown);\r\n } else if(e.keyCode === 32 && open) {\r\n // Space\r\n return false; \r\n }\r\n return false;\r\n};\r\n\r\nNiceSelect.prototype._findNext = function(el) {\r\n if (el) {\r\n el = el.nextElementSibling;\r\n } else {\r\n el = this.dropdown.querySelector(\".list .option\");\r\n }\r\n\r\n while (el) {\r\n if (!hasClass(el, \"disabled\") && el.style.display != \"none\") {\r\n return el;\r\n }\r\n el = el.nextElementSibling;\r\n }\r\n\r\n return null;\r\n};\r\n\r\nNiceSelect.prototype._findPrev = function(el) {\r\n if (el) {\r\n el = el.previousElementSibling;\r\n } else {\r\n el = this.dropdown.querySelector(\".list .option:last-child\");\r\n }\r\n\r\n while (el) {\r\n if (!hasClass(el, \"disabled\") && el.style.display != \"none\") {\r\n return el;\r\n }\r\n el = el.previousElementSibling;\r\n }\r\n\r\n return null;\r\n};\r\n\r\nNiceSelect.prototype._onSearchChanged = function(e) {\r\n var open = hasClass(this.dropdown, \"open\");\r\n var text = e.target.value;\r\n text = text.toLowerCase();\r\n\r\n if (text == \"\") {\r\n this.options.forEach(function(item) {\r\n item.element.style.display = \"\";\r\n });\r\n } else if (open) {\r\n var matchReg = new RegExp(text);\r\n this.options.forEach(function(item) {\r\n var optionText = item.data.text.toLowerCase();\r\n var matched = matchReg.test(optionText);\r\n item.element.style.display = matched ? \"\" : \"none\";\r\n });\r\n }\r\n\r\n this.dropdown.querySelectorAll(\".focus\").forEach(function(item) {\r\n removeClass(item, \"focus\");\r\n });\r\n\r\n var firstEl = this._findNext(null);\r\n addClass(firstEl, \"focus\");\r\n};\r\n\r\nexport function bind(el, options) {\r\n return new NiceSelect(el, options);\r\n}\r\n"],"names":["root","factory","exports","module","define","amd","self","__webpack_require__","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","Symbol","toStringTag","value","triggerClick","el","event","document","createEvent","initEvent","dispatchEvent","triggerChange","triggerFocusIn","triggerFocusOut","triggerModalClose","triggerValidationMessage","type","addClass","this","dropdown","removeClass","attr","undefined","getAttribute","hasClass","className","classList","contains","add","remove","defaultOptions","data","searchable","showSelectedItems","NiceSelect","element","options","config","assign","selectedOptions","placeholder","searchtext","selectedtext","multiple","disabled","create","bind","style","opacity","width","padding","height","processData","extractData","renderDropdown","bindEvent","forEach","item","push","attributes","selected","optgroup","querySelectorAll","allOptions","tagName","itemData","text","label","innerText","dataset","display","console","log","classes","searchHtml","html","join","insertAdjacentHTML","nextElementSibling","_renderSelectedItems","_renderItems","selectedHtml","window","getComputedStyle","length","querySelector","innerHTML","ul","appendChild","_renderItem","option","createElement","setAttribute","addEventListener","_onItemClicked","update","open","parentNode","removeChild","disable","enable","clear","resetSelectValue","destroy","_onClicked","_onKeyPressed","_onClickedOutside","_bindSearchEvent","searchBox","e","stopPropagation","_onSearchChanged","preventDefault","search","focus","t","optionEl","target","splice","indexOf","removeAttribute","updateSelectValue","select","selectedIndex","focusedOption","keyCode","next","_findNext","prev","_findPrev","previousElementSibling","toLowerCase","matchReg","RegExp","optionText","matched","test"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"js/nice-select2.js","mappings":"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","sources":["webpack://NiceSelect/webpack/universalModuleDefinition","webpack://NiceSelect/webpack/bootstrap","webpack://NiceSelect/webpack/runtime/define property getters","webpack://NiceSelect/webpack/runtime/hasOwnProperty shorthand","webpack://NiceSelect/webpack/runtime/make namespace object","webpack://NiceSelect/./src/js/nice-select2.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"NiceSelect\"] = factory();\n\telse\n\t\troot[\"NiceSelect\"] = factory();\n})(self, () => {\nreturn ","// The require scope\nvar __webpack_require__ = {};\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import \"../scss/nice-select2.scss\";\r\n\r\nconst triggerEvent = (el, type, init = {}) => {\r\n let EventConstructor;\r\n if (type === \"click\") {\r\n EventConstructor = MouseEvent;\r\n } else if (type === \"change\") {\r\n EventConstructor = Event;\r\n } else if (type.includes(\"focus\")) {\r\n EventConstructor = FocusEvent;\r\n } else {\r\n EventConstructor = UIEvent;\r\n }\r\n const event = new EventConstructor(type, {\r\n bubbles: true,\r\n cancelable: false,\r\n ...init,\r\n });\r\n el.dispatchEvent(event);\r\n};\r\n\r\nconst triggerClick = (el) => triggerEvent(el, \"click\");\r\nconst triggerChange = (el) => triggerEvent(el, \"change\");\r\nconst triggerFocusIn = (el) => triggerEvent(el, \"focusin\");\r\nconst triggerFocusOut = (el) => triggerEvent(el, \"focusout\");\r\nconst triggerModalOpen = (el) => triggerEvent(el, \"modalopen\");\r\nconst triggerModalClose = (el) => triggerEvent(el, \"modalclose\");\r\n\r\nconst attr = (el, key) =>\r\n el[key] !== undefined ? el[key] : el.getAttribute(key);\r\nconst data = (el, key) => el.getAttribute(\"data-\" + key);\r\nconst hasClass = (el, className) => el?.classList.contains(className);\r\nconst addClass = (el, className) => el?.classList.add(className);\r\nconst removeClass = (el, className) => el?.classList.remove(className);\r\n\r\nconst defaultOptions = {\r\n data: null,\r\n searchable: false,\r\n showSelectedItems: false,\r\n placeholder: \"Select an option\",\r\n searchtext: \"Search\",\r\n selectedtext: \"selected\",\r\n};\r\n\r\nclass NiceSelect {\r\n constructor(element, options = {}) {\r\n if (!element) {\r\n throw new Error('No element provided to NiceSelect');\r\n }\r\n if (!(element instanceof Element)) {\r\n throw new Error('Invalid element provided to NiceSelect - must be a valid DOM element');\r\n }\r\n this.el = element;\r\n this.config = { ...defaultOptions, ...options };\r\n this.data = this.config.data;\r\n this.selectedOptions = [];\r\n this.placeholder = attr(this.el, \"placeholder\") || this.config.placeholder;\r\n this.searchtext = attr(this.el, \"searchtext\") || this.config.searchtext;\r\n this.selectedtext =\r\n attr(this.el, \"selectedtext\") || this.config.selectedtext;\r\n this.dropdown = null;\r\n this.multiple = attr(this.el, \"multiple\");\r\n this.disabled = attr(this.el, \"disabled\");\r\n this.create();\r\n }\r\n\r\n create() {\r\n Object.assign(this.el.style, {\r\n opacity: \"0\",\r\n width: \"0\",\r\n padding: \"0\",\r\n height: \"0\",\r\n fontSize: \"0\",\r\n });\r\n this.data ? this.processData(this.data) : this.extractData();\r\n this.renderDropdown();\r\n this.bindEvent();\r\n }\r\n\r\n processData(data) {\r\n this.options = data.map((item) => ({\r\n data: item,\r\n attributes: {\r\n selected: !!item.selected,\r\n disabled: !!item.disabled,\r\n optgroup: item.value === \"optgroup\",\r\n },\r\n }));\r\n }\r\n\r\n extractData() {\r\n const options = Array.from(this.el.querySelectorAll(\"option,optgroup\"));\r\n const allOptions = [];\r\n const selectedOptions = [];\r\n\r\n this.data = options.map((item) => {\r\n let itemData;\r\n if (item.tagName === \"OPTGROUP\") {\r\n itemData = { text: item.label, value: \"optgroup\" };\r\n } else {\r\n const text = item.dataset.display ?? item.innerText;\r\n itemData = {\r\n text,\r\n value: item.value,\r\n extra: item.dataset.extra,\r\n selected: item.hasAttribute(\"selected\"),\r\n disabled: item.hasAttribute(\"disabled\"),\r\n };\r\n }\r\n const attributes = {\r\n selected: item.hasAttribute(\"selected\"),\r\n disabled: item.hasAttribute(\"disabled\"),\r\n optgroup: item.tagName === \"OPTGROUP\",\r\n };\r\n const optionObj = { data: itemData, attributes, element: null };\r\n allOptions.push(optionObj);\r\n if (attributes.selected) selectedOptions.push(optionObj);\r\n return itemData;\r\n });\r\n\r\n this.options = allOptions;\r\n this.selectedOptions = selectedOptions;\r\n }\r\n\r\n renderDropdown() {\r\n const classes = [\r\n \"nice-select\",\r\n attr(this.el, \"class\") || \"\",\r\n this.disabled ? \"disabled\" : \"\",\r\n this.multiple ? \"has-multiple\" : \"\",\r\n ].filter(Boolean);\r\n\r\n const searchHtml = this.config.searchable\r\n ? `\r\n \r\n \r\n
\r\n `\r\n : \"\";\r\n\r\n const html = `\r\n \r\n
\r\n
\r\n ${searchHtml}\r\n
\r\n
\r\n
\r\n `;\r\n this.el.insertAdjacentHTML(\"afterend\", html);\r\n this.dropdown = this.el.nextElementSibling;\r\n this._renderSelectedItems();\r\n this._renderItems();\r\n }\r\n\r\n _renderSelectedItems() {\r\n if (this.multiple) {\r\n let selectedHtml = \"\";\r\n if (\r\n this.config.showSelectedItems ||\r\n window.getComputedStyle(this.dropdown).width === \"auto\" ||\r\n this.selectedOptions.length < 2\r\n ) {\r\n this.selectedOptions.forEach((item) => {\r\n selectedHtml += `${item.data.text} `;\r\n });\r\n selectedHtml = selectedHtml || this.placeholder;\r\n } else {\r\n selectedHtml = `${this.selectedOptions.length} ${this.selectedtext}`;\r\n }\r\n this.dropdown.querySelector(\".multiple-options\").innerHTML = selectedHtml;\r\n } else {\r\n const html =\r\n this.selectedOptions.length > 0\r\n ? this.selectedOptions[0].data.text\r\n : this.placeholder;\r\n this.dropdown.querySelector(\".current\").innerHTML = html;\r\n }\r\n }\r\n\r\n _renderItems() {\r\n const ul = this.dropdown.querySelector(\"ul\");\r\n this.options.forEach((item) => ul.appendChild(this._renderItem(item)));\r\n }\r\n\r\n _renderItem(option) {\r\n const li = document.createElement(\"li\");\r\n li.innerHTML = option.data.text;\r\n if (option.data.extra !== undefined) {\r\n li.appendChild(this._renderItemExtra(option.data.extra));\r\n }\r\n if (option.attributes.optgroup) {\r\n addClass(li, \"optgroup\");\r\n } else {\r\n li.setAttribute(\"data-value\", option.data.value);\r\n const classList = [\"option\"];\r\n if (option.attributes.selected) classList.push(\"selected\");\r\n if (option.attributes.disabled) classList.push(\"disabled\");\r\n li.classList.add(...classList);\r\n li.addEventListener(\"click\", (e) => this._onItemClicked(option, e));\r\n }\r\n option.element = li;\r\n return li;\r\n }\r\n\r\n _renderItemExtra(content) {\r\n const span = document.createElement(\"span\");\r\n span.innerHTML = content;\r\n addClass(span, \"extra\");\r\n return span;\r\n }\r\n\r\n update() {\r\n this.extractData();\r\n if (this.dropdown) {\r\n const open = hasClass(this.dropdown, \"open\");\r\n this.dropdown.remove();\r\n this.create();\r\n if (open) {\r\n triggerClick(this.dropdown);\r\n }\r\n }\r\n attr(this.el, \"disabled\") ? this.disable() : this.enable();\r\n }\r\n\r\n disable() {\r\n if (!this.disabled) {\r\n this.disabled = true;\r\n addClass(this.dropdown, \"disabled\");\r\n }\r\n }\r\n\r\n enable() {\r\n if (this.disabled) {\r\n this.disabled = false;\r\n removeClass(this.dropdown, \"disabled\");\r\n }\r\n }\r\n\r\n clear() {\r\n this.resetSelectValue();\r\n this.selectedOptions = [];\r\n this._renderSelectedItems();\r\n this.update();\r\n triggerChange(this.el);\r\n }\r\n\r\n destroy() {\r\n if (this.dropdown) {\r\n this.dropdown.remove();\r\n this.el.style.display = \"\";\r\n }\r\n }\r\n\r\n bindEvent() {\r\n this.dropdown.addEventListener(\"click\", (e) => this._onClicked(e));\r\n this.dropdown.addEventListener(\"keydown\", (e) => this._onKeyPressed(e));\r\n this.dropdown.addEventListener(\"focusin\", () => triggerFocusIn(this.el));\r\n this.dropdown.addEventListener(\"focusout\", () => triggerFocusOut(this.el));\r\n this.el.addEventListener(\"invalid\", () =>\r\n this._triggerValidationMessage(\"invalid\")\r\n );\r\n window.addEventListener(\"click\", (e) => this._onClickedOutside(e));\r\n if (this.config.searchable) this._bindSearchEvent();\r\n }\r\n\r\n _bindSearchEvent() {\r\n const searchBox = this.dropdown.querySelector(\".nice-select-search\");\r\n if (searchBox) {\r\n searchBox.addEventListener(\"click\", (e) => e.stopPropagation());\r\n searchBox.addEventListener(\"input\", (e) => this._onSearchChanged(e));\r\n }\r\n }\r\n\r\n _onClicked(e) {\r\n e.preventDefault();\r\n const isOpen = hasClass(this.dropdown, \"open\");\r\n if (!isOpen) {\r\n addClass(this.dropdown, \"open\");\r\n triggerModalOpen(this.el);\r\n } else {\r\n if (this.multiple) {\r\n if (e.target === this.dropdown.querySelector(\".multiple-options\")) {\r\n removeClass(this.dropdown, \"open\");\r\n triggerModalClose(this.el);\r\n }\r\n } else {\r\n removeClass(this.dropdown, \"open\");\r\n triggerModalClose(this.el);\r\n }\r\n }\r\n if (hasClass(this.dropdown, \"open\")) {\r\n const search = this.dropdown.querySelector(\".nice-select-search\");\r\n if (search) {\r\n search.value = \"\";\r\n search.focus();\r\n }\r\n const focused = this.dropdown.querySelector(\".focus\");\r\n if (focused) removeClass(focused, \"focus\");\r\n const selected = this.dropdown.querySelector(\".selected\");\r\n if (selected) addClass(selected, \"focus\");\r\n this.dropdown\r\n .querySelectorAll(\"ul li\")\r\n .forEach((item) => (item.style.display = \"\"));\r\n } else {\r\n this.dropdown.focus();\r\n }\r\n }\r\n\r\n _onItemClicked(option, e) {\r\n const optionEl = e.target;\r\n if (!hasClass(optionEl, \"disabled\")) {\r\n if (this.multiple) {\r\n if (hasClass(optionEl, \"selected\")) {\r\n removeClass(optionEl, \"selected\");\r\n this.selectedOptions = this.selectedOptions.filter(\r\n (item) => item !== option\r\n );\r\n const opt = this.el.querySelector(\r\n `option[value=\"${optionEl.dataset.value}\"]`\r\n );\r\n if (opt) {\r\n opt.removeAttribute(\"selected\");\r\n opt.selected = false;\r\n }\r\n } else {\r\n addClass(optionEl, \"selected\");\r\n this.selectedOptions.push(option);\r\n }\r\n } else {\r\n this.options.forEach((item) => removeClass(item.element, \"selected\"));\r\n addClass(optionEl, \"selected\");\r\n this.selectedOptions = [option];\r\n }\r\n this._renderSelectedItems();\r\n this.updateSelectValue();\r\n }\r\n }\r\n\r\n setValue(value) {\r\n const select = this.el;\r\n let noSelected = true;\r\n\r\n // Validate input type\r\n if (select.multiple) {\r\n if (!Array.isArray(value)) {\r\n throw new Error('setValue expects an array for multiple select elements');\r\n }\r\n value = value.map(String);\r\n } else {\r\n if (Array.isArray(value)) {\r\n throw new Error('setValue expects a single value for non-multiple select elements');\r\n }\r\n if (value !== null && value !== undefined && typeof value !== 'string' && typeof value !== 'number') {\r\n throw new Error('setValue expects a string or number for non-multiple select elements');\r\n }\r\n value = String(value);\r\n }\r\n for (const opt of select.options) {\r\n const currentValue = select.multiple\r\n ? value.includes(opt.value)\r\n ? opt.value\r\n : null\r\n : value;\r\n if (opt.value === currentValue && !opt.disabled) {\r\n if (noSelected) {\r\n select.value = currentValue;\r\n noSelected = false;\r\n }\r\n opt.setAttribute(\"selected\", true);\r\n opt.selected = true;\r\n } else {\r\n opt.removeAttribute(\"selected\");\r\n opt.selected = false;\r\n }\r\n }\r\n if (noSelected && !select.multiple && select.options.length) {\r\n select.options[0].setAttribute(\"selected\", true);\r\n select.options[0].selected = true;\r\n select.value = select.options[0].value;\r\n }\r\n this.update();\r\n }\r\n\r\n getValue() {\r\n const select = this.el;\r\n if (!select.multiple) return select.value;\r\n return Array.from(select.options)\r\n .filter((opt) => opt.selected)\r\n .map((opt) => opt.value);\r\n }\r\n\r\n updateSelectValue() {\r\n if (this.multiple) {\r\n const select = this.el;\r\n this.selectedOptions.forEach((item) => {\r\n const el = select.querySelector(`option[value=\"${item.data.value}\"]`);\r\n if (el) {\r\n el.setAttribute(\"selected\", true);\r\n } else {\r\n console.error(\"Option not found, does it have a value?\");\r\n }\r\n });\r\n } else if (this.selectedOptions.length > 0) {\r\n this.el.value = this.selectedOptions[0].data.value;\r\n }\r\n triggerChange(this.el);\r\n }\r\n\r\n resetSelectValue() {\r\n if (this.multiple) {\r\n const select = this.el;\r\n this.selectedOptions.forEach((item) => {\r\n const el = select.querySelector(`option[value=\"${item.data.value}\"]`);\r\n if (el) {\r\n el.removeAttribute(\"selected\");\r\n el.selected = false;\r\n }\r\n });\r\n } else if (this.selectedOptions.length > 0) {\r\n this.el.selectedIndex = -1;\r\n }\r\n triggerChange(this.el);\r\n }\r\n\r\n _onClickedOutside(e) {\r\n if (!this.dropdown.contains(e.target)) {\r\n removeClass(this.dropdown, \"open\");\r\n triggerModalClose(this.el);\r\n }\r\n }\r\n\r\n _onKeyPressed(e) {\r\n const focusedOption = this.dropdown.querySelector(\".focus\");\r\n const isOpen = hasClass(this.dropdown, \"open\");\r\n if (e.keyCode === 13) {\r\n isOpen ? triggerClick(focusedOption) : triggerClick(this.dropdown);\r\n } else if (e.keyCode === 40) {\r\n if (!isOpen) {\r\n triggerClick(this.dropdown);\r\n } else {\r\n const next = this._findNext(focusedOption);\r\n if (next) {\r\n if (focusedOption) removeClass(focusedOption, \"focus\");\r\n addClass(next, \"focus\");\r\n }\r\n }\r\n e.preventDefault();\r\n } else if (e.keyCode === 38) {\r\n if (!isOpen) {\r\n triggerClick(this.dropdown);\r\n } else {\r\n const prev = this._findPrev(focusedOption);\r\n if (prev) {\r\n if (focusedOption) removeClass(focusedOption, \"focus\");\r\n addClass(prev, \"focus\");\r\n }\r\n }\r\n e.preventDefault();\r\n } else if (e.keyCode === 27 && isOpen) {\r\n triggerClick(this.dropdown);\r\n } else if (e.keyCode === 32 && isOpen) {\r\n return false;\r\n }\r\n return false;\r\n }\r\n\r\n _findNext(el) {\r\n let nextEl = el\r\n ? el.nextElementSibling\r\n : this.dropdown.querySelector(\".list .option\");\r\n while (nextEl) {\r\n if (!hasClass(nextEl, \"disabled\") && nextEl.style.display !== \"none\")\r\n return nextEl;\r\n nextEl = nextEl.nextElementSibling;\r\n }\r\n return null;\r\n }\r\n\r\n _findPrev(el) {\r\n let prevEl = el\r\n ? el.previousElementSibling\r\n : this.dropdown.querySelector(\".list .option:last-child\");\r\n while (prevEl) {\r\n if (!hasClass(prevEl, \"disabled\") && prevEl.style.display !== \"none\")\r\n return prevEl;\r\n prevEl = prevEl.previousElementSibling;\r\n }\r\n return null;\r\n }\r\n\r\n _onSearchChanged(e) {\r\n const text = e.target.value.toLowerCase();\r\n if (text === \"\") {\r\n this.options.forEach((item) => (item.element.style.display = \"\"));\r\n } else if (hasClass(this.dropdown, \"open\")) {\r\n const matchReg = new RegExp(text);\r\n this.options.forEach((item) => {\r\n item.element.style.display = matchReg.test(item.data.text.toLowerCase())\r\n ? \"\"\r\n : \"none\";\r\n });\r\n }\r\n this.dropdown\r\n .querySelectorAll(\".focus\")\r\n .forEach((item) => removeClass(item, \"focus\"));\r\n const firstEl = this._findNext(null);\r\n if (firstEl) addClass(firstEl, \"focus\");\r\n }\r\n\r\n _triggerValidationMessage(type) {\r\n if (type === \"invalid\") {\r\n addClass(this.dropdown, \"invalid\");\r\n removeClass(this.dropdown, \"valid\");\r\n } else {\r\n addClass(this.dropdown, \"valid\");\r\n removeClass(this.dropdown, \"invalid\");\r\n }\r\n }\r\n}\r\n\r\nexport default NiceSelect;\r\nexport function bind(el, options) {\r\n return new NiceSelect(el, options);\r\n}\r\n"],"names":["root","factory","exports","module","define","amd","self","__webpack_require__","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","Symbol","toStringTag","value","triggerEvent","el","type","init","EventConstructor","MouseEvent","Event","includes","FocusEvent","UIEvent","event","bubbles","cancelable","dispatchEvent","triggerClick","triggerChange","triggerModalClose","attr","undefined","getAttribute","hasClass","className","classList","contains","addClass","add","removeClass","remove","defaultOptions","data","searchable","showSelectedItems","placeholder","searchtext","selectedtext","NiceSelect","constructor","element","options","Error","Element","this","config","selectedOptions","dropdown","multiple","disabled","create","assign","style","opacity","width","padding","height","fontSize","processData","extractData","renderDropdown","bindEvent","map","item","attributes","selected","optgroup","Array","from","querySelectorAll","allOptions","itemData","tagName","text","label","dataset","display","innerText","extra","hasAttribute","optionObj","push","classes","filter","Boolean","searchHtml","html","join","insertAdjacentHTML","nextElementSibling","_renderSelectedItems","_renderItems","selectedHtml","window","getComputedStyle","length","forEach","querySelector","innerHTML","ul","appendChild","_renderItem","option","li","document","createElement","_renderItemExtra","setAttribute","addEventListener","e","_onItemClicked","content","span","update","open","disable","enable","clear","resetSelectValue","destroy","_onClicked","_onKeyPressed","triggerFocusIn","triggerFocusOut","_triggerValidationMessage","_onClickedOutside","_bindSearchEvent","searchBox","stopPropagation","_onSearchChanged","preventDefault","target","search","focus","focused","optionEl","opt","removeAttribute","updateSelectValue","setValue","select","noSelected","isArray","String","currentValue","getValue","console","error","selectedIndex","focusedOption","isOpen","keyCode","next","_findNext","prev","_findPrev","nextEl","prevEl","previousElementSibling","toLowerCase","matchReg","RegExp","test","firstEl","bind"],"sourceRoot":""}
\ No newline at end of file
diff --git a/docs/index.html b/docs/index.html
index 1a3d360..ad863b1 100755
--- a/docs/index.html
+++ b/docs/index.html
@@ -1,5 +1,6 @@
+
@@ -7,54 +8,55 @@
Vanilla Javascript Nice Select2
-
+
-
-
+
+ gtag('config', 'UA-40665301-3');
+
-
-