Dropdowns buttons colorized (#66)

* Buttons  colorized 

* Update package.json
This commit is contained in:
Adrian O.V
2023-06-12 18:02:16 -04:00
committed by GitHub
parent 6edac37031
commit 4f74b3fafe
3 changed files with 20 additions and 23 deletions

View File

@@ -4,6 +4,7 @@
:options="['delete', 'save', 'recycle', 'reduce', 'reuse']" :options="['delete', 'save', 'recycle', 'reduce', 'reuse']"
default-value="delete" default-value="delete"
name="dropdown-one" name="dropdown-one"
color="primary"
> >
<template #delete> <template #delete>
<TrashIcon /> Delete <TrashIcon /> Delete
@@ -95,6 +96,7 @@
:options="['delete', 'save', 'recycle', 'reduce', 'reuse']" :options="['delete', 'save', 'recycle', 'reduce', 'reuse']"
default-value="delete" default-value="delete"
@option-click="handleOptionClick" @option-click="handleOptionClick"
color="primary"
render-up render-up
> >
<template #delete> <template #delete>

View File

@@ -14,24 +14,24 @@
'render-up': dropdownVisible && renderUp && !disabled, 'render-up': dropdownVisible && renderUp && !disabled,
}" }"
:disabled="disabled" :disabled="disabled"
:color="color"
@click="clickOption" @click="clickOption"
> >
<slot :name="selectedOption" /> <slot :name="selectedOption" />
</Button> </Button>
<div <Button
class="selected" class="selected"
:class="{ :class="{
disabled: disabled,
'button-base': !disabled,
'render-down': dropdownVisible && !renderUp && !disabled, 'render-down': dropdownVisible && !renderUp && !disabled,
'render-up': dropdownVisible && renderUp && !disabled, 'render-up': dropdownVisible && renderUp && !disabled,
}" }"
icon-only
:color="color"
:disabled="disabled"
@click="toggleDropdown" @click="toggleDropdown"
> >
<div class="arrow" :class="{ rotate: dropdownVisible }"> <DropdownIcon class="arrow" :class="{ rotate: dropdownVisible }" />
<DropdownIcon /> </Button>
</div>
</div>
</div> </div>
<div class="options-wrapper" :class="{ down: !renderUp, up: renderUp }"> <div class="options-wrapper" :class="{ down: !renderUp, up: renderUp }">
<transition name="options"> <transition name="options">
@@ -99,6 +99,10 @@ const props = defineProps({
type: Boolean, type: Boolean,
default: false, default: false,
}, },
color: {
type: String,
default: '',
},
}) })
const emit = defineEmits(['input', 'change', 'update:modelValue', 'option-click']) const emit = defineEmits(['input', 'change', 'update:modelValue', 'option-click'])
@@ -196,21 +200,11 @@ onBeforeUnmount(() => {
} }
.selected { .selected {
display: flex; height: auto;
align-items: center; width: auto;
justify-content: space-between; margin-left: 1px;
padding: var(--gap-sm) var(--gap-lg); padding: var(--gap-sm);
background-color: var(--color-button-bg);
cursor: pointer;
user-select: none;
border-radius: 0 var(--radius-md) var(--radius-md) 0; border-radius: 0 var(--radius-md) var(--radius-md) 0;
box-shadow: var(--shadow-inset-sm), 0 0 0 0 transparent;
&.disabled {
cursor: not-allowed;
filter: grayscale(50%);
opacity: 0.5;
}
&.render-up { &.render-up {
border-radius: 0 0 var(--radius-md) 0; border-radius: 0 0 var(--radius-md) 0;
@@ -227,9 +221,10 @@ onBeforeUnmount(() => {
} }
.arrow { .arrow {
min-width: 1.125rem;
min-height: 1.125rem;
display: inline-block; display: inline-block;
transition: transform 0.2s ease; transition: transform 0.2s ease;
height: 18px;
&.rotate { &.rotate {
transform: rotate(180deg); transform: rotate(180deg);

View File

@@ -1,7 +1,7 @@
{ {
"name": "omorphia", "name": "omorphia",
"type": "module", "type": "module",
"version": "0.4.25", "version": "0.4.26",
"files": [ "files": [
"dist", "dist",
"lib" "lib"