diff --git a/package.json b/package.json index 557e701e..9100fbf6 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@sysvale/cuida", - "version": "3.157.2", + "version": "3.158.0", "description": "A design system built by Sysvale, using storybook and Vue components", "repository": { "type": "git", diff --git a/src/components/Select.vue b/src/components/Select.vue index ce500d27..f23aaaf4 100644 --- a/src/components/Select.vue +++ b/src/components/Select.vue @@ -17,17 +17,14 @@ :onkeypress="`return ${allowSearch};`" :placeholder="placeholder" :disabled="disabled" - :readonly="!searchable || !active" + :readonly="!searchable" :support-link-url="supportLinkUrl || linkUrl" :support-link="supportLink || linkText" :floating-label="floatingLabel || mobile" :class="inputClass" :fluid="computedFluid" :ghost - @keydown.enter.prevent="activateSelectionOnEnter" - @keydown.arrow-down.prevent="highlightOnArrowDown" - @keydown.arrow-up.prevent="highlightOnArrowUp" - @keydown="emitKeydown" + @keydown="handleKeydown" @click="activateSelectionOnClick" @update:model-value="filterOptions" @focus="activeSelection" @@ -54,10 +51,16 @@ v-for="(option, index) in localOptions" :key="option.id || option" :ref="(el) => { liRefs[`${option[optionsField]}-${index}`] = el }" - class="option__text" - @mousedown="selectItem" + :class="[ + 'option__text', + { + highlight: index === currentPos, + 'option__text--selected': isSelected(option) + } + ]" + @mousedown="selectItem(index)" @mouseover="highlightOnMouseOver(index)" - @mouseout="unhighlightOnMouseOut()" + @mouseout="syncCurrentPos()" >