Skip to content

Commit

Permalink
feat(input|select): add disabledClass (#691)
Browse files Browse the repository at this point in the history
* feat(input): add disabledClass

* feat(select): add disabledClass
  • Loading branch information
mlmoravek authored Dec 18, 2023
1 parent 9e8ad3a commit c13f324
Show file tree
Hide file tree
Showing 6 changed files with 32 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,14 @@ const inspectData = [
data.rounded = true;
},
},
{
class: "disabledClass",
description: "Class of input when disabled ",
properties: ["disabled"],
action: (cmp, data) => {
data.disabled = true;
},
},
{
class: "iconLeftClass",
description: "Class of the left icon",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,14 @@ const inspectData = [
selectedOptions.value = null;
},
},
{
class: "disabledClass",
description: "Class of select when disabled ",
properties: ["disabled"],
action: (cmp, data) => {
data.disabled = true;
},
},
{
class: "iconLeftClass",
description: "Class of the left icon",
Expand Down
5 changes: 5 additions & 0 deletions packages/oruga-next/src/components/input/Input.vue
Original file line number Diff line number Diff line change
Expand Up @@ -138,6 +138,7 @@ const props = defineProps({
"iconRightSpaceClass",
"inputClass",
"roundedClass",
"disabledClass",
"iconLeftClass",
"iconRightClass",
"counterClass",
Expand Down Expand Up @@ -356,6 +357,10 @@ const inputClasses = computed(() => [
statusVariant.value || props.variant,
)]: statusVariant.value || props.variant,
},
{
[useComputedClass("disabledClass", "o-input--disabled")]:
props.disabled,
},
{
[useComputedClass("textareaClass", "o-input__textarea")]:
props.type === "textarea",
Expand Down
2 changes: 2 additions & 0 deletions packages/oruga-next/src/components/input/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@ declare module "../../index" {
inputClass: ClassDefinition;
/** Class of input when rounded */
roundedClass: ClassDefinition;
/** Class of input when disabled */
disabledClass: ClassDefinition;
/** Class of the left icon */
iconLeftClass: ClassDefinition;
/** Class of the right icon */
Expand Down
7 changes: 7 additions & 0 deletions packages/oruga-next/src/components/select/Select.vue
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,8 @@ const props = defineProps({
placeholder: { type: String, default: undefined },
/** Allow multiple selection */
multiple: { type: Boolean, default: false },
/** Same as native disabled */
disabled: { type: Boolean, default: false },
/** Makes input full width when inside a grouped or addon field */
expanded: { type: Boolean, default: false },
/** Makes the element rounded */
Expand Down Expand Up @@ -118,6 +120,7 @@ const props = defineProps({
"roundedClass",
"multipleClass",
"expandedClass",
"disabledClass",
"iconLeftClass",
"iconRightClass",
"sizeClass",
Expand Down Expand Up @@ -260,6 +263,9 @@ const selectClasses = computed(() => [
statusVariant.value || props.variant,
)]: statusVariant.value || props.variant,
},
{
[useComputedClass("disabledClass", "o-sel--disabled")]: props.disabled,
},
{
[useComputedClass("iconLeftSpaceClass", "o-sel-iconspace-left")]:
props.icon,
Expand Down Expand Up @@ -307,6 +313,7 @@ const iconRightClasses = computed(() => [
:autocomplete="autocomplete"
:multiple="multiple"
:size="nativeSize"
:disabled="disabled"
@blur="onBlur"
@focus="onFocus"
@invalid="onInvalid">
Expand Down
2 changes: 2 additions & 0 deletions packages/oruga-next/src/components/select/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,8 @@ declare module "../../index" {
multipleClass: ClassDefinition;
/** Class of select when expanded */
expandedClass: ClassDefinition;
/** Class of select when disabled */
disabledClass: ClassDefinition;
/** Class of the left icon */
iconLeftClass: ClassDefinition;
/** Class of the right icon */
Expand Down

0 comments on commit c13f324

Please sign in to comment.