Skip to content

Commit be452a5

Browse files
committed
feat(VColorPicker): add hide-eye-dropper prop
closes #19154 resolves #19150
1 parent 4ec13f2 commit be452a5

File tree

5 files changed

+19
-3
lines changed

5 files changed

+19
-3
lines changed

packages/api-generator/src/locale/en/VColorPicker.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
"eyeDropperIcon": "Icon used to trigger EyeDropper API.",
66
"flat": "Removes elevation.",
77
"hideCanvas": "Hides canvas.",
8+
"hideEyeDropper": "Hides eyedropper icon.",
89
"hideSliders": "Hides sliders.",
910
"hideInputs": "Hides inputs.",
1011
"hideModeSwitch": "Hides mode switch.",

packages/docs/src/data/new-in.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@
5353
},
5454
"VColorPicker": {
5555
"props": {
56+
"hideEyeDropper": "3.10.0",
5657
"eyeDropperIcon": "3.10.0",
5758
"hideTitle": "3.10.0"
5859
}

packages/vuetify/src/components/VColorPicker/VColorPicker.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ export const makeVColorPickerProps = propsFactory({
5656
},
5757

5858
...makeVPickerProps({ hideHeader: true }),
59-
...pick(makeVColorPickerPreviewProps(), ['eyeDropperIcon']),
59+
...pick(makeVColorPickerPreviewProps(), ['hideEyeDropper', 'eyeDropperIcon']),
6060
}, 'VColorPicker')
6161

6262
export const VColorPicker = defineComponent({
@@ -173,6 +173,7 @@ export const VColorPicker = defineComponent({
173173
onUpdate:color={ updateColor }
174174
hideAlpha={ !mode.value.endsWith('a') }
175175
disabled={ props.disabled }
176+
hideEyeDropper={ props.hideEyeDropper }
176177
eyeDropperIcon={ props.eyeDropperIcon }
177178
/>
178179
)}

packages/vuetify/src/components/VColorPicker/VColorPickerPreview.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ export const makeVColorPickerPreviewProps = propsFactory({
3333
},
3434
disabled: Boolean,
3535
hideAlpha: Boolean,
36+
hideEyeDropper: Boolean,
3637
eyeDropperIcon: {
3738
type: IconValue,
3839
default: '$eyeDropper',
@@ -79,7 +80,7 @@ export const VColorPickerPreview = defineComponent({
7980
]}
8081
style={ props.style }
8182
>
82-
{ SUPPORTS_EYE_DROPPER && (
83+
{ SUPPORTS_EYE_DROPPER && !props.hideEyeDropper && (
8384
<div class="v-color-picker-preview__eye-dropper" key="eyeDropper">
8485
<VBtn
8586
aria-label={ t('$vuetify.colorPicker.ariaLabel.eyedropper') }

packages/vuetify/src/components/VColorPicker/__tests__/VColorPicker.spec.browser.tsx

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,17 @@
11
import { VColorPicker } from '../VColorPicker'
22

33
// Utilities
4-
import { render, screen, userEvent } from '@test'
4+
import { generate, render, screen, userEvent } from '@test'
55
import { within } from '@testing-library/vue'
66

7+
const stories = {
8+
'Without canvas': <VColorPicker hideCanvas />,
9+
'Without inputs': <VColorPicker hideInputs />,
10+
'Without sliders': <VColorPicker hideSliders />,
11+
Swatches: <VColorPicker showSwatches />,
12+
'Without eyedropper': <VColorPicker hideEyeDropper />,
13+
}
14+
715
describe('VColorPicker', () => {
816
it('should default to emitting hex value if no value is provided', async () => {
917
const update = vi.fn()
@@ -167,4 +175,8 @@ describe('VColorPicker', () => {
167175
expect(update).toHaveBeenCalledTimes(1)
168176
expect(update).toHaveBeenCalledWith('#FF00CC')
169177
})
178+
179+
describe('Showcase', () => {
180+
generate({ stories })
181+
})
170182
})

0 commit comments

Comments
 (0)