vuetify 3.9.3 → 3.9.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/json/attributes.json +3354 -3342
- package/dist/json/importMap-labs.json +16 -16
- package/dist/json/importMap.json +150 -150
- package/dist/json/tags.json +5 -2
- package/dist/json/web-types.json +6563 -6534
- package/dist/vuetify-labs.cjs +222 -119
- package/dist/vuetify-labs.css +4072 -4024
- package/dist/vuetify-labs.d.ts +167 -135
- package/dist/vuetify-labs.esm.js +222 -119
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +222 -119
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.cjs +163 -94
- package/dist/vuetify.cjs.map +1 -1
- package/dist/vuetify.css +4249 -4216
- package/dist/vuetify.d.ts +50 -63
- package/dist/vuetify.esm.js +163 -94
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +163 -94
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +483 -482
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAlert/VAlert.css +9 -2
- package/lib/components/VAlert/VAlert.js +2 -2
- package/lib/components/VAlert/VAlert.js.map +1 -1
- package/lib/components/VAlert/VAlert.sass +10 -3
- package/lib/components/VAlert/_variables.scss +1 -1
- package/lib/components/VApp/VApp.d.ts +0 -25
- package/lib/components/VApp/VApp.js +6 -5
- package/lib/components/VApp/VApp.js.map +1 -1
- package/lib/components/VColorPicker/VColorPickerCanvas.css +1 -0
- package/lib/components/VColorPicker/VColorPickerCanvas.sass +1 -0
- package/lib/components/VColorPicker/VColorPickerEdit.css +5 -0
- package/lib/components/VColorPicker/VColorPickerEdit.js +8 -1
- package/lib/components/VColorPicker/VColorPickerEdit.js.map +1 -1
- package/lib/components/VColorPicker/VColorPickerEdit.sass +5 -0
- package/lib/components/VColorPicker/VColorPickerPreview.js +8 -1
- package/lib/components/VColorPicker/VColorPickerPreview.js.map +1 -1
- package/lib/components/VColorPicker/util/index.d.ts +1 -0
- package/lib/components/VColorPicker/util/index.js +20 -10
- package/lib/components/VColorPicker/util/index.js.map +1 -1
- package/lib/components/VConfirmEdit/VConfirmEdit.js +1 -1
- package/lib/components/VConfirmEdit/VConfirmEdit.js.map +1 -1
- package/lib/components/VDataTable/VDataTable.css +2 -1
- package/lib/components/VDataTable/VDataTable.sass +2 -1
- package/lib/components/VDataTable/composables/headers.js +53 -42
- package/lib/components/VDataTable/composables/headers.js.map +1 -1
- package/lib/components/VDataTable/composables/sort.js +1 -1
- package/lib/components/VDataTable/composables/sort.js.map +1 -1
- package/lib/components/VNumberInput/VNumberInput.js +1 -0
- package/lib/components/VNumberInput/VNumberInput.js.map +1 -1
- package/lib/components/VOverlay/scrollStrategies.js +7 -7
- package/lib/components/VOverlay/scrollStrategies.js.map +1 -1
- package/lib/components/VSelect/VSelect.js +1 -1
- package/lib/components/VSelect/VSelect.js.map +1 -1
- package/lib/components/VSlider/VSliderThumb.css +2 -2
- package/lib/components/VSlider/VSliderThumb.sass +2 -2
- package/lib/components/VStepper/VStepperItem.css +9 -4
- package/lib/components/VStepper/VStepperItem.sass +8 -7
- package/lib/components/VTable/VTable.css +2 -2
- package/lib/components/VTable/VTable.js +32 -20
- package/lib/components/VTable/VTable.js.map +1 -1
- package/lib/components/VTable/VTable.sass +4 -4
- package/lib/components/VTextField/VTextField.js +1 -0
- package/lib/components/VTextField/VTextField.js.map +1 -1
- package/lib/components/VTreeview/VTreeviewItem.css +6 -0
- package/lib/components/VTreeview/VTreeviewItem.sass +7 -0
- package/lib/components/VWindow/VWindow.css +8 -0
- package/lib/components/VWindow/VWindow.sass +9 -0
- package/lib/entry-bundler.js +1 -1
- package/lib/framework.d.ts +49 -49
- package/lib/framework.js +1 -1
- package/lib/labs/VColorInput/VColorInput.css +15 -0
- package/lib/labs/VColorInput/VColorInput.d.ts +287 -215
- package/lib/labs/VColorInput/VColorInput.js +24 -10
- package/lib/labs/VColorInput/VColorInput.js.map +1 -1
- package/lib/labs/VColorInput/VColorInput.sass +8 -0
- package/lib/labs/VColorInput/_variables.scss +2 -0
- package/lib/labs/VVideo/VVideo.css +4 -4
- package/lib/labs/VVideo/VVideo.d.ts +10 -0
- package/lib/labs/VVideo/VVideo.js +6 -3
- package/lib/labs/VVideo/VVideo.js.map +1 -1
- package/lib/labs/VVideo/VVideo.sass +4 -2
- package/lib/labs/VVideo/VVideoControls.js +33 -16
- package/lib/labs/VVideo/VVideoControls.js.map +1 -1
- package/lib/labs/VVideo/VVideoVolume.js +1 -1
- package/lib/labs/VVideo/VVideoVolume.js.map +1 -1
- package/lib/labs/VVideo/_variables.scss +3 -2
- package/lib/labs/rules/rules.d.ts +10 -3
- package/lib/labs/rules/rules.js +13 -5
- package/lib/labs/rules/rules.js.map +1 -1
- package/lib/locale/af.d.ts +17 -0
- package/lib/locale/af.js +17 -0
- package/lib/locale/af.js.map +1 -1
- package/lib/locale/ar.d.ts +17 -0
- package/lib/locale/ar.js +17 -0
- package/lib/locale/ar.js.map +1 -1
- package/lib/locale/az.d.ts +17 -0
- package/lib/locale/az.js +17 -0
- package/lib/locale/az.js.map +1 -1
- package/lib/locale/bg.d.ts +17 -0
- package/lib/locale/bg.js +17 -0
- package/lib/locale/bg.js.map +1 -1
- package/lib/locale/ca.d.ts +17 -0
- package/lib/locale/ca.js +17 -0
- package/lib/locale/ca.js.map +1 -1
- package/lib/locale/ckb.d.ts +17 -0
- package/lib/locale/ckb.js +17 -0
- package/lib/locale/ckb.js.map +1 -1
- package/lib/locale/cs.d.ts +17 -0
- package/lib/locale/cs.js +17 -0
- package/lib/locale/cs.js.map +1 -1
- package/lib/locale/da.d.ts +17 -0
- package/lib/locale/da.js +17 -0
- package/lib/locale/da.js.map +1 -1
- package/lib/locale/de.d.ts +17 -0
- package/lib/locale/de.js +17 -0
- package/lib/locale/de.js.map +1 -1
- package/lib/locale/el.d.ts +17 -0
- package/lib/locale/el.js +17 -0
- package/lib/locale/el.js.map +1 -1
- package/lib/locale/en.d.ts +17 -0
- package/lib/locale/en.js +17 -0
- package/lib/locale/en.js.map +1 -1
- package/lib/locale/es.d.ts +17 -0
- package/lib/locale/es.js +17 -0
- package/lib/locale/es.js.map +1 -1
- package/lib/locale/et.d.ts +17 -0
- package/lib/locale/et.js +17 -0
- package/lib/locale/et.js.map +1 -1
- package/lib/locale/fa.d.ts +17 -0
- package/lib/locale/fa.js +17 -0
- package/lib/locale/fa.js.map +1 -1
- package/lib/locale/fi.d.ts +17 -0
- package/lib/locale/fi.js +17 -0
- package/lib/locale/fi.js.map +1 -1
- package/lib/locale/fr.d.ts +17 -0
- package/lib/locale/fr.js +17 -0
- package/lib/locale/fr.js.map +1 -1
- package/lib/locale/he.d.ts +17 -0
- package/lib/locale/he.js +17 -0
- package/lib/locale/he.js.map +1 -1
- package/lib/locale/hr.d.ts +17 -0
- package/lib/locale/hr.js +17 -0
- package/lib/locale/hr.js.map +1 -1
- package/lib/locale/hu.d.ts +17 -0
- package/lib/locale/hu.js +17 -0
- package/lib/locale/hu.js.map +1 -1
- package/lib/locale/id.d.ts +17 -0
- package/lib/locale/id.js +17 -0
- package/lib/locale/id.js.map +1 -1
- package/lib/locale/it.d.ts +17 -0
- package/lib/locale/it.js +17 -0
- package/lib/locale/it.js.map +1 -1
- package/lib/locale/ja.d.ts +17 -0
- package/lib/locale/ja.js +17 -0
- package/lib/locale/ja.js.map +1 -1
- package/lib/locale/km.d.ts +17 -0
- package/lib/locale/km.js +17 -0
- package/lib/locale/km.js.map +1 -1
- package/lib/locale/ko.d.ts +17 -0
- package/lib/locale/ko.js +17 -0
- package/lib/locale/ko.js.map +1 -1
- package/lib/locale/lt.d.ts +17 -0
- package/lib/locale/lt.js +17 -0
- package/lib/locale/lt.js.map +1 -1
- package/lib/locale/lv.d.ts +17 -0
- package/lib/locale/lv.js +17 -0
- package/lib/locale/lv.js.map +1 -1
- package/lib/locale/nl.d.ts +17 -0
- package/lib/locale/nl.js +17 -0
- package/lib/locale/nl.js.map +1 -1
- package/lib/locale/no.d.ts +17 -0
- package/lib/locale/no.js +17 -0
- package/lib/locale/no.js.map +1 -1
- package/lib/locale/pl.d.ts +17 -0
- package/lib/locale/pl.js +17 -0
- package/lib/locale/pl.js.map +1 -1
- package/lib/locale/pt.d.ts +17 -0
- package/lib/locale/pt.js +17 -0
- package/lib/locale/pt.js.map +1 -1
- package/lib/locale/ro.d.ts +17 -0
- package/lib/locale/ro.js +17 -0
- package/lib/locale/ro.js.map +1 -1
- package/lib/locale/ru.d.ts +17 -0
- package/lib/locale/ru.js +17 -0
- package/lib/locale/ru.js.map +1 -1
- package/lib/locale/sk.d.ts +17 -0
- package/lib/locale/sk.js +17 -0
- package/lib/locale/sk.js.map +1 -1
- package/lib/locale/sl.d.ts +17 -0
- package/lib/locale/sl.js +17 -0
- package/lib/locale/sl.js.map +1 -1
- package/lib/locale/sr-Cyrl.d.ts +17 -0
- package/lib/locale/sr-Cyrl.js +17 -0
- package/lib/locale/sr-Cyrl.js.map +1 -1
- package/lib/locale/sr-Latn.d.ts +17 -0
- package/lib/locale/sr-Latn.js +17 -0
- package/lib/locale/sr-Latn.js.map +1 -1
- package/lib/locale/sv.d.ts +17 -0
- package/lib/locale/sv.js +17 -0
- package/lib/locale/sv.js.map +1 -1
- package/lib/locale/th.d.ts +17 -0
- package/lib/locale/th.js +17 -0
- package/lib/locale/th.js.map +1 -1
- package/lib/locale/tr.d.ts +17 -0
- package/lib/locale/tr.js +17 -0
- package/lib/locale/tr.js.map +1 -1
- package/lib/locale/uk.d.ts +17 -0
- package/lib/locale/uk.js +17 -0
- package/lib/locale/uk.js.map +1 -1
- package/lib/locale/vi.d.ts +17 -0
- package/lib/locale/vi.js +17 -0
- package/lib/locale/vi.js.map +1 -1
- package/lib/locale/zh-Hans.d.ts +17 -0
- package/lib/locale/zh-Hans.js +17 -0
- package/lib/locale/zh-Hans.js.map +1 -1
- package/lib/locale/zh-Hant.d.ts +17 -0
- package/lib/locale/zh-Hant.js +17 -0
- package/lib/locale/zh-Hant.js.map +1 -1
- package/lib/util/getScrollParent.js +3 -1
- package/lib/util/getScrollParent.js.map +1 -1
- package/package.json +2 -2
|
@@ -111,7 +111,7 @@
|
|
|
111
111
|
}
|
|
112
112
|
|
|
113
113
|
.v-alert:not(:has(.v-alert-title)) .v-alert__content {
|
|
114
|
-
padding-
|
|
114
|
+
padding-block: calc((1.75rem - 1.5 * 1rem) / 2);
|
|
115
115
|
}
|
|
116
116
|
|
|
117
117
|
.v-alert__border {
|
|
@@ -150,7 +150,9 @@
|
|
|
150
150
|
.v-alert__close {
|
|
151
151
|
flex: 0 1 auto;
|
|
152
152
|
grid-area: close;
|
|
153
|
-
|
|
153
|
+
}
|
|
154
|
+
.v-alert__close > .v-btn {
|
|
155
|
+
margin-block: calc(-1 * (var(--v-btn-height) + 12px - 1.75rem) / 2);
|
|
154
156
|
}
|
|
155
157
|
|
|
156
158
|
.v-alert__content {
|
|
@@ -180,6 +182,11 @@
|
|
|
180
182
|
margin-inline-end: 16px;
|
|
181
183
|
min-height: 1.75rem;
|
|
182
184
|
}
|
|
185
|
+
.v-alert__prepend > .v-icon {
|
|
186
|
+
font-size: 1.75rem;
|
|
187
|
+
height: 1.75rem;
|
|
188
|
+
width: 1.75rem;
|
|
189
|
+
}
|
|
183
190
|
.v-alert--prominent .v-alert__prepend {
|
|
184
191
|
align-self: center;
|
|
185
192
|
}
|
|
@@ -91,7 +91,7 @@ export const VAlert = genericComponent()({
|
|
|
91
91
|
});
|
|
92
92
|
const {
|
|
93
93
|
iconSize
|
|
94
|
-
} = useIconSizes(props, () => props.prominent ? 44 :
|
|
94
|
+
} = useIconSizes(props, () => props.prominent ? 44 : undefined);
|
|
95
95
|
const {
|
|
96
96
|
themeClasses
|
|
97
97
|
} = provideTheme(props);
|
|
@@ -142,7 +142,7 @@ export const VAlert = genericComponent()({
|
|
|
142
142
|
const iconProps = {
|
|
143
143
|
density: props.density,
|
|
144
144
|
icon: icon.value,
|
|
145
|
-
size: iconSize.value
|
|
145
|
+
size: props.iconSize || props.prominent ? iconSize.value : undefined
|
|
146
146
|
};
|
|
147
147
|
return isActive.value && _createVNode(props.tag, {
|
|
148
148
|
"class": _normalizeClass(['v-alert', props.border && {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VAlert.js","names":["VAlertTitle","VBtn","VDefaultsProvider","VIcon","useTextColor","makeComponentProps","makeDensityProps","useDensity","makeDimensionProps","useDimension","makeElevationProps","useElevation","IconValue","makeIconSizeProps","useIconSizes","useLocale","makeLocationProps","useLocation","makePositionProps","usePosition","useProxiedModel","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","genOverlays","makeVariantProps","useVariant","toRef","genericComponent","propsFactory","allowedTypes","makeVAlertProps","border","type","Boolean","String","validator","val","includes","borderColor","closable","closeIcon","default","closeLabel","icon","Function","Object","modelValue","prominent","title","text","variant","VAlert","name","props","emits","e","value","setup","_ref","emit","slots","isActive","undefined","iconSize","themeClasses","colorClasses","colorStyles","variantClasses","color","densityClasses","dimensionStyles","elevationClasses","locationStyles","positionClasses","roundedClasses","textColorClasses","textColorStyles","t","closeProps","onClick","hasPrepend","prepend","hasTitle","hasClose","close","iconProps","density","size","_createVNode","tag","_normalizeClass","class","_normalizeStyle","style","_createElementVNode","_mergeProps","append"],"sources":["../../../src/components/VAlert/VAlert.tsx"],"sourcesContent":["// Styles\nimport './VAlert.sass'\n\n// Components\nimport { VAlertTitle } from './VAlertTitle'\nimport { VBtn } from '@/components/VBtn'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { useTextColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { IconValue } from '@/composables/icons'\nimport { makeIconSizeProps, useIconSizes } from '@/composables/iconSizes'\nimport { useLocale } from '@/composables/locale'\nimport { makeLocationProps, useLocation } from '@/composables/location'\nimport { makePositionProps, usePosition } from '@/composables/position'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\n\n// Utilities\nimport { toRef } from 'vue'\nimport { genericComponent, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nconst allowedTypes = ['success', 'info', 'warning', 'error'] as const\n\ntype ContextualType = typeof allowedTypes[number]\n\nexport const makeVAlertProps = propsFactory({\n border: {\n type: [Boolean, String] as PropType<boolean | 'top' | 'end' | 'bottom' | 'start'>,\n validator: (val: boolean | string) => {\n return typeof val === 'boolean' || [\n 'top',\n 'end',\n 'bottom',\n 'start',\n ].includes(val)\n },\n },\n borderColor: String,\n closable: Boolean,\n closeIcon: {\n type: IconValue,\n default: '$close',\n },\n closeLabel: {\n type: String,\n default: '$vuetify.close',\n },\n icon: {\n type: [Boolean, String, Function, Object] as PropType<false | IconValue>,\n default: null,\n },\n modelValue: {\n type: Boolean,\n default: true,\n },\n prominent: Boolean,\n title: String,\n text: String,\n type: {\n type: String as PropType<ContextualType>,\n validator: (val: ContextualType) => allowedTypes.includes(val),\n },\n\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeIconSizeProps(),\n ...makeLocationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'flat' } as const),\n}, 'VAlert')\n\nexport type VAlertSlots = {\n default: never\n prepend: never\n title: never\n text: never\n append: never\n close: { props: Record<string, any> }\n}\n\nexport const VAlert = genericComponent<VAlertSlots>()({\n name: 'VAlert',\n\n props: makeVAlertProps(),\n\n emits: {\n 'click:close': (e: MouseEvent) => true,\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { emit, slots }) {\n const isActive = useProxiedModel(props, 'modelValue')\n const icon = toRef(() => {\n if (props.icon === false) return undefined\n if (!props.type) return props.icon\n\n return props.icon ?? `$${props.type}`\n })\n\n const { iconSize } = useIconSizes(props, () => props.prominent ? 44 : 28)\n const { themeClasses } = provideTheme(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(() => ({\n color: props.color ?? props.type,\n variant: props.variant,\n }))\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { locationStyles } = useLocation(props)\n const { positionClasses } = usePosition(props)\n const { roundedClasses } = useRounded(props)\n const { textColorClasses, textColorStyles } = useTextColor(() => props.borderColor)\n const { t } = useLocale()\n\n const closeProps = toRef(() => ({\n 'aria-label': t(props.closeLabel),\n onClick (e: MouseEvent) {\n isActive.value = false\n\n emit('click:close', e)\n },\n }))\n\n return () => {\n const hasPrepend = !!(slots.prepend || icon.value)\n const hasTitle = !!(slots.title || props.title)\n const hasClose = !!(slots.close || props.closable)\n\n const iconProps = {\n density: props.density,\n icon: icon.value,\n size: iconSize.value,\n }\n\n return isActive.value && (\n <props.tag\n class={[\n 'v-alert',\n props.border && {\n 'v-alert--border': !!props.border,\n [`v-alert--border-${props.border === true ? 'start' : props.border}`]: true,\n },\n {\n 'v-alert--prominent': props.prominent,\n },\n themeClasses.value,\n colorClasses.value,\n densityClasses.value,\n elevationClasses.value,\n positionClasses.value,\n roundedClasses.value,\n variantClasses.value,\n props.class,\n ]}\n style={[\n colorStyles.value,\n dimensionStyles.value,\n locationStyles.value,\n props.style,\n ]}\n role=\"alert\"\n >\n { genOverlays(false, 'v-alert') }\n\n { props.border && (\n <div\n key=\"border\"\n class={[\n 'v-alert__border',\n textColorClasses.value,\n ]}\n style={ textColorStyles.value }\n />\n )}\n\n { hasPrepend && (\n <div key=\"prepend\" class=\"v-alert__prepend\">\n { !slots.prepend ? (\n <VIcon key=\"prepend-icon\" { ...iconProps } />\n ) : (\n <VDefaultsProvider\n key=\"prepend-defaults\"\n disabled={ !icon.value }\n defaults={{ VIcon: { ...iconProps } }}\n v-slots:default={ slots.prepend }\n />\n )}\n </div>\n )}\n\n <div class=\"v-alert__content\">\n { hasTitle && (\n <VAlertTitle key=\"title\">\n { slots.title?.() ?? props.title }\n </VAlertTitle>\n )}\n\n { slots.text?.() ?? props.text }\n\n { slots.default?.() }\n </div>\n\n { slots.append && (\n <div key=\"append\" class=\"v-alert__append\">\n { slots.append() }\n </div>\n )}\n\n { hasClose && (\n <div key=\"close\" class=\"v-alert__close\">\n { !slots.close ? (\n <VBtn\n key=\"close-btn\"\n icon={ props.closeIcon }\n size=\"x-small\"\n variant=\"text\"\n { ...closeProps.value }\n />\n ) : (\n <VDefaultsProvider\n key=\"close-defaults\"\n defaults={{\n VBtn: {\n icon: props.closeIcon,\n size: 'x-small',\n variant: 'text',\n },\n }}\n >\n { slots.close?.({ props: closeProps.value }) }\n </VDefaultsProvider>\n )}\n </div>\n )}\n </props.tag>\n )\n }\n },\n})\n\nexport type VAlert = InstanceType<typeof VAlert>\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"VAlert.js","names":["VAlertTitle","VBtn","VDefaultsProvider","VIcon","useTextColor","makeComponentProps","makeDensityProps","useDensity","makeDimensionProps","useDimension","makeElevationProps","useElevation","IconValue","makeIconSizeProps","useIconSizes","useLocale","makeLocationProps","useLocation","makePositionProps","usePosition","useProxiedModel","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","genOverlays","makeVariantProps","useVariant","toRef","genericComponent","propsFactory","allowedTypes","makeVAlertProps","border","type","Boolean","String","validator","val","includes","borderColor","closable","closeIcon","default","closeLabel","icon","Function","Object","modelValue","prominent","title","text","variant","VAlert","name","props","emits","e","value","setup","_ref","emit","slots","isActive","undefined","iconSize","themeClasses","colorClasses","colorStyles","variantClasses","color","densityClasses","dimensionStyles","elevationClasses","locationStyles","positionClasses","roundedClasses","textColorClasses","textColorStyles","t","closeProps","onClick","hasPrepend","prepend","hasTitle","hasClose","close","iconProps","density","size","_createVNode","tag","_normalizeClass","class","_normalizeStyle","style","_createElementVNode","_mergeProps","append"],"sources":["../../../src/components/VAlert/VAlert.tsx"],"sourcesContent":["// Styles\nimport './VAlert.sass'\n\n// Components\nimport { VAlertTitle } from './VAlertTitle'\nimport { VBtn } from '@/components/VBtn'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { useTextColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { IconValue } from '@/composables/icons'\nimport { makeIconSizeProps, useIconSizes } from '@/composables/iconSizes'\nimport { useLocale } from '@/composables/locale'\nimport { makeLocationProps, useLocation } from '@/composables/location'\nimport { makePositionProps, usePosition } from '@/composables/position'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\n\n// Utilities\nimport { toRef } from 'vue'\nimport { genericComponent, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nconst allowedTypes = ['success', 'info', 'warning', 'error'] as const\n\ntype ContextualType = typeof allowedTypes[number]\n\nexport const makeVAlertProps = propsFactory({\n border: {\n type: [Boolean, String] as PropType<boolean | 'top' | 'end' | 'bottom' | 'start'>,\n validator: (val: boolean | string) => {\n return typeof val === 'boolean' || [\n 'top',\n 'end',\n 'bottom',\n 'start',\n ].includes(val)\n },\n },\n borderColor: String,\n closable: Boolean,\n closeIcon: {\n type: IconValue,\n default: '$close',\n },\n closeLabel: {\n type: String,\n default: '$vuetify.close',\n },\n icon: {\n type: [Boolean, String, Function, Object] as PropType<false | IconValue>,\n default: null,\n },\n modelValue: {\n type: Boolean,\n default: true,\n },\n prominent: Boolean,\n title: String,\n text: String,\n type: {\n type: String as PropType<ContextualType>,\n validator: (val: ContextualType) => allowedTypes.includes(val),\n },\n\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeIconSizeProps(),\n ...makeLocationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'flat' } as const),\n}, 'VAlert')\n\nexport type VAlertSlots = {\n default: never\n prepend: never\n title: never\n text: never\n append: never\n close: { props: Record<string, any> }\n}\n\nexport const VAlert = genericComponent<VAlertSlots>()({\n name: 'VAlert',\n\n props: makeVAlertProps(),\n\n emits: {\n 'click:close': (e: MouseEvent) => true,\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { emit, slots }) {\n const isActive = useProxiedModel(props, 'modelValue')\n const icon = toRef(() => {\n if (props.icon === false) return undefined\n if (!props.type) return props.icon\n\n return props.icon ?? `$${props.type}`\n })\n\n const { iconSize } = useIconSizes(props, () => props.prominent ? 44 : undefined)\n const { themeClasses } = provideTheme(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(() => ({\n color: props.color ?? props.type,\n variant: props.variant,\n }))\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { locationStyles } = useLocation(props)\n const { positionClasses } = usePosition(props)\n const { roundedClasses } = useRounded(props)\n const { textColorClasses, textColorStyles } = useTextColor(() => props.borderColor)\n const { t } = useLocale()\n\n const closeProps = toRef(() => ({\n 'aria-label': t(props.closeLabel),\n onClick (e: MouseEvent) {\n isActive.value = false\n\n emit('click:close', e)\n },\n }))\n\n return () => {\n const hasPrepend = !!(slots.prepend || icon.value)\n const hasTitle = !!(slots.title || props.title)\n const hasClose = !!(slots.close || props.closable)\n\n const iconProps = {\n density: props.density,\n icon: icon.value,\n size: props.iconSize || props.prominent\n ? iconSize.value\n : undefined,\n }\n\n return isActive.value && (\n <props.tag\n class={[\n 'v-alert',\n props.border && {\n 'v-alert--border': !!props.border,\n [`v-alert--border-${props.border === true ? 'start' : props.border}`]: true,\n },\n {\n 'v-alert--prominent': props.prominent,\n },\n themeClasses.value,\n colorClasses.value,\n densityClasses.value,\n elevationClasses.value,\n positionClasses.value,\n roundedClasses.value,\n variantClasses.value,\n props.class,\n ]}\n style={[\n colorStyles.value,\n dimensionStyles.value,\n locationStyles.value,\n props.style,\n ]}\n role=\"alert\"\n >\n { genOverlays(false, 'v-alert') }\n\n { props.border && (\n <div\n key=\"border\"\n class={[\n 'v-alert__border',\n textColorClasses.value,\n ]}\n style={ textColorStyles.value }\n />\n )}\n\n { hasPrepend && (\n <div key=\"prepend\" class=\"v-alert__prepend\">\n { !slots.prepend ? (\n <VIcon key=\"prepend-icon\" { ...iconProps } />\n ) : (\n <VDefaultsProvider\n key=\"prepend-defaults\"\n disabled={ !icon.value }\n defaults={{ VIcon: { ...iconProps } }}\n v-slots:default={ slots.prepend }\n />\n )}\n </div>\n )}\n\n <div class=\"v-alert__content\">\n { hasTitle && (\n <VAlertTitle key=\"title\">\n { slots.title?.() ?? props.title }\n </VAlertTitle>\n )}\n\n { slots.text?.() ?? props.text }\n\n { slots.default?.() }\n </div>\n\n { slots.append && (\n <div key=\"append\" class=\"v-alert__append\">\n { slots.append() }\n </div>\n )}\n\n { hasClose && (\n <div key=\"close\" class=\"v-alert__close\">\n { !slots.close ? (\n <VBtn\n key=\"close-btn\"\n icon={ props.closeIcon }\n size=\"x-small\"\n variant=\"text\"\n { ...closeProps.value }\n />\n ) : (\n <VDefaultsProvider\n key=\"close-defaults\"\n defaults={{\n VBtn: {\n icon: props.closeIcon,\n size: 'x-small',\n variant: 'text',\n },\n }}\n >\n { slots.close?.({ props: closeProps.value }) }\n </VDefaultsProvider>\n )}\n </div>\n )}\n </props.tag>\n )\n }\n },\n})\n\nexport type VAlert = InstanceType<typeof VAlert>\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
|
|
46
46
|
&:not(:has(.v-alert-title))
|
|
47
47
|
.v-alert__content
|
|
48
|
-
padding-
|
|
48
|
+
padding-block: calc((#{$alert-prepend-icon-size} - #{settings.$line-height-root} * 1rem) / 2)
|
|
49
49
|
|
|
50
50
|
.v-alert__border
|
|
51
51
|
border-radius: inherit
|
|
@@ -75,7 +75,9 @@
|
|
|
75
75
|
.v-alert__close
|
|
76
76
|
flex: 0 1 auto
|
|
77
77
|
grid-area: close
|
|
78
|
-
|
|
78
|
+
|
|
79
|
+
> .v-btn
|
|
80
|
+
margin-block: calc(-1 * (var(--v-btn-height) + 12px - #{$alert-prepend-icon-size}) / 2)
|
|
79
81
|
|
|
80
82
|
.v-alert__content
|
|
81
83
|
align-self: center
|
|
@@ -99,7 +101,12 @@
|
|
|
99
101
|
align-items: center
|
|
100
102
|
grid-area: prepend
|
|
101
103
|
margin-inline-end: $alert-prepend-margin-inline-end
|
|
102
|
-
min-height: $alert-
|
|
104
|
+
min-height: $alert-prepend-icon-size
|
|
105
|
+
|
|
106
|
+
> .v-icon
|
|
107
|
+
font-size: $alert-prepend-icon-size
|
|
108
|
+
height: $alert-prepend-icon-size
|
|
109
|
+
width: $alert-prepend-icon-size
|
|
103
110
|
|
|
104
111
|
.v-alert--prominent &
|
|
105
112
|
align-self: center
|
|
@@ -17,6 +17,7 @@ $alert-plain-opacity: .62 !default;
|
|
|
17
17
|
$alert-plain-transition: .2s opacity settings.$standard-easing !default;
|
|
18
18
|
$alert-positions: absolute fixed sticky !default;
|
|
19
19
|
$alert-prepend-margin-inline-end: 16px !default;
|
|
20
|
+
$alert-prepend-icon-size: 1.75rem !default;
|
|
20
21
|
$alert-append-margin-inline-start: 16px !default;
|
|
21
22
|
$alert-append-close-margin-inline-start: 16px !default;
|
|
22
23
|
|
|
@@ -25,7 +26,6 @@ $alert-title-font-size: tools.map-deep-get(settings.$typography, 'h6', 'size') !
|
|
|
25
26
|
$alert-title-font-weight: tools.map-deep-get(settings.$typography, 'h6', 'weight') !default;
|
|
26
27
|
$alert-title-hyphens: auto !default;
|
|
27
28
|
$alert-title-letter-spacing: tools.map-deep-get(settings.$typography, 'h6', 'letter-spacing') !default;
|
|
28
|
-
// $alert-title-line-height: tools.map-deep-get(settings.$typography, 'h6', 'line-height') !default;
|
|
29
29
|
$alert-title-line-height: 1.75rem !default;
|
|
30
30
|
$alert-title-overflow-wrap: normal !default;
|
|
31
31
|
$alert-title-text-transform: none !default;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
export declare const makeVAppProps: <Defaults extends {
|
|
2
2
|
theme?: unknown;
|
|
3
3
|
overlaps?: unknown;
|
|
4
|
-
fullHeight?: unknown;
|
|
5
4
|
class?: unknown;
|
|
6
5
|
style?: unknown;
|
|
7
6
|
} = {}>(defaults?: Defaults | undefined) => {
|
|
@@ -13,16 +12,6 @@ export declare const makeVAppProps: <Defaults extends {
|
|
|
13
12
|
type: import("vue").PropType<unknown extends Defaults["overlaps"] ? string[] : string[] | Defaults["overlaps"]>;
|
|
14
13
|
default: unknown extends Defaults["overlaps"] ? string[] : string[] | Defaults["overlaps"];
|
|
15
14
|
};
|
|
16
|
-
fullHeight: unknown extends Defaults["fullHeight"] ? {
|
|
17
|
-
type: import("vue").PropType<boolean>;
|
|
18
|
-
default: boolean;
|
|
19
|
-
} : Omit<{
|
|
20
|
-
type: import("vue").PropType<boolean>;
|
|
21
|
-
default: boolean;
|
|
22
|
-
}, "type" | "default"> & {
|
|
23
|
-
type: import("vue").PropType<unknown extends Defaults["fullHeight"] ? boolean : boolean | Defaults["fullHeight"]>;
|
|
24
|
-
default: unknown extends Defaults["fullHeight"] ? boolean : boolean | Defaults["fullHeight"];
|
|
25
|
-
};
|
|
26
15
|
class: unknown extends Defaults["class"] ? import("vue").PropType<any> : {
|
|
27
16
|
type: import("vue").PropType<unknown extends Defaults["class"] ? any : any>;
|
|
28
17
|
default: unknown extends Defaults["class"] ? any : any;
|
|
@@ -41,7 +30,6 @@ export declare const makeVAppProps: <Defaults extends {
|
|
|
41
30
|
export declare const VApp: {
|
|
42
31
|
new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<{
|
|
43
32
|
style: import("vue").StyleValue;
|
|
44
|
-
fullHeight: boolean;
|
|
45
33
|
} & {
|
|
46
34
|
class?: any;
|
|
47
35
|
theme?: string | undefined;
|
|
@@ -79,7 +67,6 @@ export declare const VApp: {
|
|
|
79
67
|
theme: import("../../composables/theme.js").ThemeInstance;
|
|
80
68
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, {
|
|
81
69
|
style: import("vue").StyleValue;
|
|
82
|
-
fullHeight: boolean;
|
|
83
70
|
}, true, {}, import("vue").SlotsType<Partial<{
|
|
84
71
|
default: () => import("vue").VNode[];
|
|
85
72
|
}>>, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
|
|
@@ -91,7 +78,6 @@ export declare const VApp: {
|
|
|
91
78
|
Defaults: {};
|
|
92
79
|
}, {
|
|
93
80
|
style: import("vue").StyleValue;
|
|
94
|
-
fullHeight: boolean;
|
|
95
81
|
} & {
|
|
96
82
|
class?: any;
|
|
97
83
|
theme?: string | undefined;
|
|
@@ -129,14 +115,12 @@ export declare const VApp: {
|
|
|
129
115
|
theme: import("../../composables/theme.js").ThemeInstance;
|
|
130
116
|
}, {}, {}, {}, {
|
|
131
117
|
style: import("vue").StyleValue;
|
|
132
|
-
fullHeight: boolean;
|
|
133
118
|
}>;
|
|
134
119
|
__isFragment?: never;
|
|
135
120
|
__isTeleport?: never;
|
|
136
121
|
__isSuspense?: never;
|
|
137
122
|
} & import("vue").ComponentOptionsBase<{
|
|
138
123
|
style: import("vue").StyleValue;
|
|
139
|
-
fullHeight: boolean;
|
|
140
124
|
} & {
|
|
141
125
|
class?: any;
|
|
142
126
|
theme?: string | undefined;
|
|
@@ -174,16 +158,11 @@ export declare const VApp: {
|
|
|
174
158
|
theme: import("../../composables/theme.js").ThemeInstance;
|
|
175
159
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, {
|
|
176
160
|
style: import("vue").StyleValue;
|
|
177
|
-
fullHeight: boolean;
|
|
178
161
|
}, {}, string, import("vue").SlotsType<Partial<{
|
|
179
162
|
default: () => import("vue").VNode[];
|
|
180
163
|
}>>, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & import("../../util/index.js").FilterPropsOptions<{
|
|
181
164
|
theme: StringConstructor;
|
|
182
165
|
overlaps: import("vue").Prop<string[]>;
|
|
183
|
-
fullHeight: {
|
|
184
|
-
type: import("vue").PropType<boolean>;
|
|
185
|
-
default: boolean;
|
|
186
|
-
};
|
|
187
166
|
class: import("vue").PropType<import("../../composables/component.js").ClassValue>;
|
|
188
167
|
style: {
|
|
189
168
|
type: import("vue").PropType<import("vue").StyleValue>;
|
|
@@ -192,10 +171,6 @@ export declare const VApp: {
|
|
|
192
171
|
}, import("vue").ExtractPropTypes<{
|
|
193
172
|
theme: StringConstructor;
|
|
194
173
|
overlaps: import("vue").Prop<string[]>;
|
|
195
|
-
fullHeight: {
|
|
196
|
-
type: import("vue").PropType<boolean>;
|
|
197
|
-
default: boolean;
|
|
198
|
-
};
|
|
199
174
|
class: import("vue").PropType<import("../../composables/component.js").ClassValue>;
|
|
200
175
|
style: {
|
|
201
176
|
type: import("vue").PropType<import("vue").StyleValue>;
|
|
@@ -7,12 +7,10 @@ import { makeComponentProps } from "../../composables/component.js";
|
|
|
7
7
|
import { createLayout, makeLayoutProps } from "../../composables/layout.js";
|
|
8
8
|
import { useRtl } from "../../composables/locale.js";
|
|
9
9
|
import { makeThemeProps, provideTheme } from "../../composables/theme.js"; // Utilities
|
|
10
|
-
import { genericComponent, propsFactory, useRender } from "../../util/index.js";
|
|
10
|
+
import { genericComponent, omit, propsFactory, useRender } from "../../util/index.js";
|
|
11
11
|
export const makeVAppProps = propsFactory({
|
|
12
12
|
...makeComponentProps(),
|
|
13
|
-
...makeLayoutProps(
|
|
14
|
-
fullHeight: true
|
|
15
|
-
}),
|
|
13
|
+
...omit(makeLayoutProps(), ['fullHeight']),
|
|
16
14
|
...makeThemeProps()
|
|
17
15
|
}, 'VApp');
|
|
18
16
|
export const VApp = genericComponent()({
|
|
@@ -28,7 +26,10 @@ export const VApp = genericComponent()({
|
|
|
28
26
|
getLayoutItem,
|
|
29
27
|
items,
|
|
30
28
|
layoutRef
|
|
31
|
-
} = createLayout(
|
|
29
|
+
} = createLayout({
|
|
30
|
+
...props,
|
|
31
|
+
fullHeight: true
|
|
32
|
+
});
|
|
32
33
|
const {
|
|
33
34
|
rtlClasses
|
|
34
35
|
} = useRtl();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VApp.js","names":["makeComponentProps","createLayout","makeLayoutProps","useRtl","makeThemeProps","provideTheme","genericComponent","propsFactory","useRender","makeVAppProps","
|
|
1
|
+
{"version":3,"file":"VApp.js","names":["makeComponentProps","createLayout","makeLayoutProps","useRtl","makeThemeProps","provideTheme","genericComponent","omit","propsFactory","useRender","makeVAppProps","VApp","name","props","setup","_ref","slots","theme","layoutClasses","getLayoutItem","items","layoutRef","fullHeight","rtlClasses","_createElementVNode","_normalizeClass","themeClasses","value","class","_normalizeStyle","style","default"],"sources":["../../../src/components/VApp/VApp.tsx"],"sourcesContent":["// Styles\nimport './VApp.sass'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { createLayout, makeLayoutProps } from '@/composables/layout'\nimport { useRtl } from '@/composables/locale'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { genericComponent, omit, propsFactory, useRender } from '@/util'\n\nexport const makeVAppProps = propsFactory({\n ...makeComponentProps(),\n ...omit(makeLayoutProps(), ['fullHeight']),\n ...makeThemeProps(),\n}, 'VApp')\n\nexport const VApp = genericComponent()({\n name: 'VApp',\n\n props: makeVAppProps(),\n\n setup (props, { slots }) {\n const theme = provideTheme(props)\n const { layoutClasses, getLayoutItem, items, layoutRef } = createLayout({ ...props, fullHeight: true })\n const { rtlClasses } = useRtl()\n\n useRender(() => (\n <div\n ref={ layoutRef }\n class={[\n 'v-application',\n theme.themeClasses.value,\n layoutClasses.value,\n rtlClasses.value,\n props.class,\n ]}\n style={[\n props.style,\n ]}\n >\n <div class=\"v-application__wrap\">\n { slots.default?.() }\n </div>\n </div>\n ))\n\n return {\n getLayoutItem,\n items,\n theme,\n }\n },\n})\n\nexport type VApp = InstanceType<typeof VApp>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,kBAAkB;AAAA,SAClBC,YAAY,EAAEC,eAAe;AAAA,SAC7BC,MAAM;AAAA,SACNC,cAAc,EAAEC,YAAY,sCAErC;AAAA,SACSC,gBAAgB,EAAEC,IAAI,EAAEC,YAAY,EAAEC,SAAS;AAExD,OAAO,MAAMC,aAAa,GAAGF,YAAY,CAAC;EACxC,GAAGR,kBAAkB,CAAC,CAAC;EACvB,GAAGO,IAAI,CAACL,eAAe,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;EAC1C,GAAGE,cAAc,CAAC;AACpB,CAAC,EAAE,MAAM,CAAC;AAEV,OAAO,MAAMO,IAAI,GAAGL,gBAAgB,CAAC,CAAC,CAAC;EACrCM,IAAI,EAAE,MAAM;EAEZC,KAAK,EAAEH,aAAa,CAAC,CAAC;EAEtBI,KAAKA,CAAED,KAAK,EAAAE,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAME,KAAK,GAAGZ,YAAY,CAACQ,KAAK,CAAC;IACjC,MAAM;MAAEK,aAAa;MAAEC,aAAa;MAAEC,KAAK;MAAEC;IAAU,CAAC,GAAGpB,YAAY,CAAC;MAAE,GAAGY,KAAK;MAAES,UAAU,EAAE;IAAK,CAAC,CAAC;IACvG,MAAM;MAAEC;IAAW,CAAC,GAAGpB,MAAM,CAAC,CAAC;IAE/BM,SAAS,CAAC,MAAAe,mBAAA;MAAA,OAEAH,SAAS;MAAA,SAAAI,eAAA,CACR,CACL,eAAe,EACfR,KAAK,CAACS,YAAY,CAACC,KAAK,EACxBT,aAAa,CAACS,KAAK,EACnBJ,UAAU,CAACI,KAAK,EAChBd,KAAK,CAACe,KAAK,CACZ;MAAA,SAAAC,eAAA,CACM,CACLhB,KAAK,CAACiB,KAAK,CACZ;IAAA,IAAAN,mBAAA;MAAA;IAAA,IAGGR,KAAK,CAACe,OAAO,GAAG,CAAC,IAGxB,CAAC;IAEF,OAAO;MACLZ,aAAa;MACbC,KAAK;MACLH;IACF,CAAC;EACH;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -10,6 +10,11 @@
|
|
|
10
10
|
justify-content: center;
|
|
11
11
|
text-align: center;
|
|
12
12
|
}
|
|
13
|
+
.v-color-picker-edit__input > input::-webkit-outer-spin-button,
|
|
14
|
+
.v-color-picker-edit__input > input::-webkit-inner-spin-button {
|
|
15
|
+
-webkit-appearance: none;
|
|
16
|
+
margin: 0;
|
|
17
|
+
}
|
|
13
18
|
.v-color-picker-edit__input:not(:last-child) {
|
|
14
19
|
margin-inline-end: 8px;
|
|
15
20
|
}
|
|
@@ -4,7 +4,8 @@ import "./VColorPickerEdit.css";
|
|
|
4
4
|
|
|
5
5
|
// Components
|
|
6
6
|
import { VBtn } from "../VBtn/index.js"; // Composables
|
|
7
|
-
import { makeComponentProps } from "../../composables/component.js";
|
|
7
|
+
import { makeComponentProps } from "../../composables/component.js";
|
|
8
|
+
import { useLocale } from "../../composables/locale.js"; // Utilities
|
|
8
9
|
import { computed } from 'vue';
|
|
9
10
|
import { modes, nullColor } from "./util/index.js";
|
|
10
11
|
import { defineComponent, propsFactory, useRender } from "../../util/index.js"; // Types
|
|
@@ -43,6 +44,9 @@ export const VColorPickerEdit = defineComponent({
|
|
|
43
44
|
let {
|
|
44
45
|
emit
|
|
45
46
|
} = _ref2;
|
|
47
|
+
const {
|
|
48
|
+
t
|
|
49
|
+
} = useLocale();
|
|
46
50
|
const enabledModes = computed(() => {
|
|
47
51
|
return props.modes.map(key => ({
|
|
48
52
|
...modes[key],
|
|
@@ -57,11 +61,13 @@ export const VColorPickerEdit = defineComponent({
|
|
|
57
61
|
let {
|
|
58
62
|
getValue,
|
|
59
63
|
getColor,
|
|
64
|
+
localeKey,
|
|
60
65
|
...inputProps
|
|
61
66
|
} = _ref3;
|
|
62
67
|
return {
|
|
63
68
|
...mode.inputProps,
|
|
64
69
|
...inputProps,
|
|
70
|
+
ariaLabel: t(`$vuetify.colorPicker.ariaLabel.${localeKey}`),
|
|
65
71
|
disabled: props.disabled,
|
|
66
72
|
value: color && getValue(color),
|
|
67
73
|
onChange: e => {
|
|
@@ -79,6 +85,7 @@ export const VColorPickerEdit = defineComponent({
|
|
|
79
85
|
"icon": "$unfold",
|
|
80
86
|
"size": "x-small",
|
|
81
87
|
"variant": "plain",
|
|
88
|
+
"aria-label": t('$vuetify.colorPicker.ariaLabel.changeFormat'),
|
|
82
89
|
"onClick": () => {
|
|
83
90
|
const mi = enabledModes.value.findIndex(m => m.name === props.mode);
|
|
84
91
|
emit('update:mode', enabledModes.value[(mi + 1) % enabledModes.value.length].name);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VColorPickerEdit.js","names":["VBtn","makeComponentProps","computed","modes","nullColor","defineComponent","propsFactory","useRender","VColorPickerInput","_ref","label","rest","_createElementVNode","_normalizeProps","_guardReactiveProps","makeVColorPickerEditProps","color","Object","disabled","Boolean","mode","type","String","default","validator","v","keys","includes","Array","isArray","every","m","VColorPickerEdit","name","props","emits","setup","_ref2","emit","enabledModes","map","key","inputs","value","find","to","_ref3","getValue","getColor","inputProps","onChange","e","target","from","_normalizeClass","class","_normalizeStyle","style","_createVNode","length","onClick","mi","findIndex"],"sources":["../../../src/components/VColorPicker/VColorPickerEdit.tsx"],"sourcesContent":["// Styles\nimport './VColorPickerEdit.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\n\n// Utilities\nimport { computed } from 'vue'\nimport { modes, nullColor } from './util'\nimport { defineComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { HSV } from '@/util/colorUtils'\n\nconst VColorPickerInput = ({ label, ...rest }: any) => {\n return (\n <div\n class=\"v-color-picker-edit__input\"\n >\n <input { ...rest } />\n <span>{ label }</span>\n </div>\n )\n}\n\nexport const makeVColorPickerEditProps = propsFactory({\n color: Object as PropType<HSV | null>,\n disabled: Boolean,\n mode: {\n type: String as PropType<keyof typeof modes>,\n default: 'rgba',\n validator: (v: string) => Object.keys(modes).includes(v),\n },\n modes: {\n type: Array as PropType<readonly (keyof typeof modes)[]>,\n default: () => Object.keys(modes),\n validator: (v: any) => Array.isArray(v) && v.every(m => Object.keys(modes).includes(m)),\n },\n\n ...makeComponentProps(),\n}, 'VColorPickerEdit')\n\nexport const VColorPickerEdit = defineComponent({\n name: 'VColorPickerEdit',\n\n props: makeVColorPickerEditProps(),\n\n emits: {\n 'update:color': (color: HSV) => true,\n 'update:mode': (mode: keyof typeof modes) => true,\n },\n\n setup (props, { emit }) {\n const enabledModes = computed(() => {\n return props.modes.map(key => ({ ...modes[key], name: key }))\n })\n\n const inputs = computed(() => {\n const mode = enabledModes.value.find(m => m.name === props.mode)\n\n if (!mode) return []\n\n const color = props.color ? mode.to(props.color) : null\n\n return mode.inputs?.map(({ getValue, getColor, ...inputProps }) => {\n return {\n ...mode.inputProps,\n ...inputProps,\n disabled: props.disabled,\n value: color && getValue(color),\n onChange: (e: InputEvent) => {\n const target = e.target as HTMLInputElement | null\n\n if (!target) return\n\n emit('update:color', mode.from(getColor(color ?? mode.to(nullColor), target.value)))\n },\n }\n })\n })\n\n useRender(() => (\n <div\n class={[\n 'v-color-picker-edit',\n props.class,\n ]}\n style={ props.style }\n >\n { inputs.value?.map(props => (\n <VColorPickerInput { ...props } />\n ))}\n { enabledModes.value.length > 1 && (\n <VBtn\n icon=\"$unfold\"\n size=\"x-small\"\n variant=\"plain\"\n onClick={ () => {\n const mi = enabledModes.value.findIndex(m => m.name === props.mode)\n\n emit('update:mode', enabledModes.value[(mi + 1) % enabledModes.value.length].name)\n }}\n />\n )}\n </div>\n ))\n\n return {}\n },\n})\n\nexport type VColorPickerEdit = InstanceType<typeof VColorPickerEdit>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,IAAI,4BAEb;AAAA,SACSC,kBAAkB,
|
|
1
|
+
{"version":3,"file":"VColorPickerEdit.js","names":["VBtn","makeComponentProps","useLocale","computed","modes","nullColor","defineComponent","propsFactory","useRender","VColorPickerInput","_ref","label","rest","_createElementVNode","_normalizeProps","_guardReactiveProps","makeVColorPickerEditProps","color","Object","disabled","Boolean","mode","type","String","default","validator","v","keys","includes","Array","isArray","every","m","VColorPickerEdit","name","props","emits","setup","_ref2","emit","t","enabledModes","map","key","inputs","value","find","to","_ref3","getValue","getColor","localeKey","inputProps","ariaLabel","onChange","e","target","from","_normalizeClass","class","_normalizeStyle","style","_createVNode","length","onClick","mi","findIndex"],"sources":["../../../src/components/VColorPicker/VColorPickerEdit.tsx"],"sourcesContent":["// Styles\nimport './VColorPickerEdit.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { useLocale } from '@/composables/locale'\n\n// Utilities\nimport { computed } from 'vue'\nimport { modes, nullColor } from './util'\nimport { defineComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { HSV } from '@/util/colorUtils'\n\nconst VColorPickerInput = ({ label, ...rest }: any) => {\n return (\n <div\n class=\"v-color-picker-edit__input\"\n >\n <input { ...rest } />\n <span>{ label }</span>\n </div>\n )\n}\n\nexport const makeVColorPickerEditProps = propsFactory({\n color: Object as PropType<HSV | null>,\n disabled: Boolean,\n mode: {\n type: String as PropType<keyof typeof modes>,\n default: 'rgba',\n validator: (v: string) => Object.keys(modes).includes(v),\n },\n modes: {\n type: Array as PropType<readonly (keyof typeof modes)[]>,\n default: () => Object.keys(modes),\n validator: (v: any) => Array.isArray(v) && v.every(m => Object.keys(modes).includes(m)),\n },\n\n ...makeComponentProps(),\n}, 'VColorPickerEdit')\n\nexport const VColorPickerEdit = defineComponent({\n name: 'VColorPickerEdit',\n\n props: makeVColorPickerEditProps(),\n\n emits: {\n 'update:color': (color: HSV) => true,\n 'update:mode': (mode: keyof typeof modes) => true,\n },\n\n setup (props, { emit }) {\n const { t } = useLocale()\n const enabledModes = computed(() => {\n return props.modes.map(key => ({ ...modes[key], name: key }))\n })\n\n const inputs = computed(() => {\n const mode = enabledModes.value.find(m => m.name === props.mode)\n\n if (!mode) return []\n\n const color = props.color ? mode.to(props.color) : null\n\n return mode.inputs?.map(({ getValue, getColor, localeKey, ...inputProps }) => {\n return {\n ...mode.inputProps,\n ...inputProps,\n ariaLabel: t(`$vuetify.colorPicker.ariaLabel.${localeKey}`),\n disabled: props.disabled,\n value: color && getValue(color),\n onChange: (e: InputEvent) => {\n const target = e.target as HTMLInputElement | null\n\n if (!target) return\n\n emit('update:color', mode.from(getColor(color ?? mode.to(nullColor), target.value)))\n },\n }\n })\n })\n\n useRender(() => (\n <div\n class={[\n 'v-color-picker-edit',\n props.class,\n ]}\n style={ props.style }\n >\n { inputs.value?.map(props => (\n <VColorPickerInput { ...props } />\n ))}\n { enabledModes.value.length > 1 && (\n <VBtn\n icon=\"$unfold\"\n size=\"x-small\"\n variant=\"plain\"\n aria-label={ t('$vuetify.colorPicker.ariaLabel.changeFormat') }\n onClick={ () => {\n const mi = enabledModes.value.findIndex(m => m.name === props.mode)\n\n emit('update:mode', enabledModes.value[(mi + 1) % enabledModes.value.length].name)\n }}\n />\n )}\n </div>\n ))\n\n return {}\n },\n})\n\nexport type VColorPickerEdit = InstanceType<typeof VColorPickerEdit>\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -5,7 +5,8 @@ import "./VColorPickerPreview.css";
|
|
|
5
5
|
// Components
|
|
6
6
|
import { VBtn } from "../VBtn/index.js";
|
|
7
7
|
import { VSlider } from "../VSlider/index.js"; // Composables
|
|
8
|
-
import { makeComponentProps } from "../../composables/component.js";
|
|
8
|
+
import { makeComponentProps } from "../../composables/component.js";
|
|
9
|
+
import { useLocale } from "../../composables/locale.js"; // Utilities
|
|
9
10
|
import { onUnmounted } from 'vue';
|
|
10
11
|
import { nullColor } from "./util/index.js";
|
|
11
12
|
import { defineComponent, HSVtoCSS, parseColor, propsFactory, RGBtoHSV, SUPPORTS_EYE_DROPPER, useRender } from "../../util/index.js"; // Types
|
|
@@ -27,6 +28,9 @@ export const VColorPickerPreview = defineComponent({
|
|
|
27
28
|
let {
|
|
28
29
|
emit
|
|
29
30
|
} = _ref;
|
|
31
|
+
const {
|
|
32
|
+
t
|
|
33
|
+
} = useLocale();
|
|
30
34
|
const abortController = new AbortController();
|
|
31
35
|
onUnmounted(() => abortController.abort());
|
|
32
36
|
async function openEyeDropper() {
|
|
@@ -52,6 +56,7 @@ export const VColorPickerPreview = defineComponent({
|
|
|
52
56
|
"class": "v-color-picker-preview__eye-dropper",
|
|
53
57
|
"key": "eyeDropper"
|
|
54
58
|
}, [_createVNode(VBtn, {
|
|
59
|
+
"aria-label": t('$vuetify.colorPicker.ariaLabel.eyedropper'),
|
|
55
60
|
"density": "comfortable",
|
|
56
61
|
"disabled": props.disabled,
|
|
57
62
|
"icon": "$eyeDropper",
|
|
@@ -67,6 +72,7 @@ export const VColorPickerPreview = defineComponent({
|
|
|
67
72
|
"class": "v-color-picker-preview__sliders"
|
|
68
73
|
}, [_createVNode(VSlider, {
|
|
69
74
|
"class": "v-color-picker-preview__track v-color-picker-preview__hue",
|
|
75
|
+
"name": t('$vuetify.colorPicker.ariaLabel.hueSlider'),
|
|
70
76
|
"modelValue": props.color?.h,
|
|
71
77
|
"onUpdate:modelValue": h => emit('update:color', {
|
|
72
78
|
...(props.color ?? nullColor),
|
|
@@ -82,6 +88,7 @@ export const VColorPickerPreview = defineComponent({
|
|
|
82
88
|
"hideDetails": true
|
|
83
89
|
}, null), !props.hideAlpha && _createVNode(VSlider, {
|
|
84
90
|
"class": "v-color-picker-preview__track v-color-picker-preview__alpha",
|
|
91
|
+
"name": t('$vuetify.colorPicker.ariaLabel.alphaSlider'),
|
|
85
92
|
"modelValue": props.color?.a ?? 1,
|
|
86
93
|
"onUpdate:modelValue": a => emit('update:color', {
|
|
87
94
|
...(props.color ?? nullColor),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VColorPickerPreview.js","names":["VBtn","VSlider","makeComponentProps","onUnmounted","nullColor","defineComponent","HSVtoCSS","parseColor","propsFactory","RGBtoHSV","SUPPORTS_EYE_DROPPER","useRender","makeVColorPickerPreviewProps","color","type","Object","disabled","Boolean","hideAlpha","VColorPickerPreview","name","props","emits","setup","_ref","emit","abortController","AbortController","abort","openEyeDropper","eyeDropper","window","EyeDropper","result","open","signal","colorHexValue","sRGBHex","e","_createElementVNode","_normalizeClass","class","_normalizeStyle","style","_createVNode","background","h","a"],"sources":["../../../src/components/VColorPicker/VColorPickerPreview.tsx"],"sourcesContent":["// Styles\nimport './VColorPickerPreview.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\nimport { VSlider } from '@/components/VSlider'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\n\n// Utilities\nimport { onUnmounted } from 'vue'\nimport { nullColor } from './util'\nimport {\n defineComponent,\n HSVtoCSS,\n parseColor,\n propsFactory,\n RGBtoHSV,\n SUPPORTS_EYE_DROPPER,\n useRender,\n} from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { HSV } from '@/util'\n\nexport const makeVColorPickerPreviewProps = propsFactory({\n color: {\n type: Object as PropType<HSV | null>,\n },\n disabled: Boolean,\n hideAlpha: Boolean,\n\n ...makeComponentProps(),\n}, 'VColorPickerPreview')\n\nexport const VColorPickerPreview = defineComponent({\n name: 'VColorPickerPreview',\n\n props: makeVColorPickerPreviewProps(),\n\n emits: {\n 'update:color': (color: HSV) => true,\n },\n\n setup (props, { emit }) {\n const abortController = new AbortController()\n\n onUnmounted(() => abortController.abort())\n\n async function openEyeDropper () {\n if (!SUPPORTS_EYE_DROPPER || props.disabled) return\n\n const eyeDropper = new window.EyeDropper()\n try {\n const result = await eyeDropper.open({ signal: abortController.signal })\n const colorHexValue = RGBtoHSV(parseColor(result.sRGBHex))\n emit('update:color', { ...(props.color ?? nullColor), ...colorHexValue })\n } catch (e) {}\n }\n\n useRender(() => (\n <div\n class={[\n 'v-color-picker-preview',\n {\n 'v-color-picker-preview--hide-alpha': props.hideAlpha,\n },\n props.class,\n ]}\n style={ props.style }\n >\n { SUPPORTS_EYE_DROPPER && (\n <div class=\"v-color-picker-preview__eye-dropper\" key=\"eyeDropper\">\n <VBtn density=\"comfortable\"
|
|
1
|
+
{"version":3,"file":"VColorPickerPreview.js","names":["VBtn","VSlider","makeComponentProps","useLocale","onUnmounted","nullColor","defineComponent","HSVtoCSS","parseColor","propsFactory","RGBtoHSV","SUPPORTS_EYE_DROPPER","useRender","makeVColorPickerPreviewProps","color","type","Object","disabled","Boolean","hideAlpha","VColorPickerPreview","name","props","emits","setup","_ref","emit","t","abortController","AbortController","abort","openEyeDropper","eyeDropper","window","EyeDropper","result","open","signal","colorHexValue","sRGBHex","e","_createElementVNode","_normalizeClass","class","_normalizeStyle","style","_createVNode","background","h","a"],"sources":["../../../src/components/VColorPicker/VColorPickerPreview.tsx"],"sourcesContent":["// Styles\nimport './VColorPickerPreview.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\nimport { VSlider } from '@/components/VSlider'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { useLocale } from '@/composables/locale'\n\n// Utilities\nimport { onUnmounted } from 'vue'\nimport { nullColor } from './util'\nimport {\n defineComponent,\n HSVtoCSS,\n parseColor,\n propsFactory,\n RGBtoHSV,\n SUPPORTS_EYE_DROPPER,\n useRender,\n} from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { HSV } from '@/util'\n\nexport const makeVColorPickerPreviewProps = propsFactory({\n color: {\n type: Object as PropType<HSV | null>,\n },\n disabled: Boolean,\n hideAlpha: Boolean,\n\n ...makeComponentProps(),\n}, 'VColorPickerPreview')\n\nexport const VColorPickerPreview = defineComponent({\n name: 'VColorPickerPreview',\n\n props: makeVColorPickerPreviewProps(),\n\n emits: {\n 'update:color': (color: HSV) => true,\n },\n\n setup (props, { emit }) {\n const { t } = useLocale()\n\n const abortController = new AbortController()\n\n onUnmounted(() => abortController.abort())\n\n async function openEyeDropper () {\n if (!SUPPORTS_EYE_DROPPER || props.disabled) return\n\n const eyeDropper = new window.EyeDropper()\n try {\n const result = await eyeDropper.open({ signal: abortController.signal })\n const colorHexValue = RGBtoHSV(parseColor(result.sRGBHex))\n emit('update:color', { ...(props.color ?? nullColor), ...colorHexValue })\n } catch (e) {}\n }\n\n useRender(() => (\n <div\n class={[\n 'v-color-picker-preview',\n {\n 'v-color-picker-preview--hide-alpha': props.hideAlpha,\n },\n props.class,\n ]}\n style={ props.style }\n >\n { SUPPORTS_EYE_DROPPER && (\n <div class=\"v-color-picker-preview__eye-dropper\" key=\"eyeDropper\">\n <VBtn\n aria-label={ t('$vuetify.colorPicker.ariaLabel.eyedropper') }\n density=\"comfortable\"\n disabled={ props.disabled }\n icon=\"$eyeDropper\"\n variant=\"plain\"\n onClick={ openEyeDropper }\n />\n </div>\n )}\n\n <div class=\"v-color-picker-preview__dot\">\n <div style={{ background: HSVtoCSS(props.color ?? nullColor) }} />\n </div>\n\n <div class=\"v-color-picker-preview__sliders\">\n <VSlider\n class=\"v-color-picker-preview__track v-color-picker-preview__hue\"\n name={ t('$vuetify.colorPicker.ariaLabel.hueSlider') }\n modelValue={ props.color?.h }\n onUpdate:modelValue={ h => emit('update:color', { ...(props.color ?? nullColor), h }) }\n step={ 0 }\n min={ 0 }\n max={ 360 }\n disabled={ props.disabled }\n thumbSize={ 14 }\n trackSize={ 8 }\n trackFillColor=\"white\"\n hideDetails\n />\n\n { !props.hideAlpha && (\n <VSlider\n class=\"v-color-picker-preview__track v-color-picker-preview__alpha\"\n name={ t('$vuetify.colorPicker.ariaLabel.alphaSlider') }\n modelValue={ props.color?.a ?? 1 }\n onUpdate:modelValue={ a => emit('update:color', { ...(props.color ?? nullColor), a }) }\n step={ 1 / 256 }\n min={ 0 }\n max={ 1 }\n disabled={ props.disabled }\n thumbSize={ 14 }\n trackSize={ 8 }\n trackFillColor=\"white\"\n hideDetails\n />\n )}\n </div>\n </div>\n ))\n\n return {}\n },\n})\n\nexport type VColorPickerPreview = InstanceType<typeof VColorPickerPreview>\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -70,7 +70,8 @@ const rgba = {
|
|
|
70
70
|
getColor: (c, v) => ({
|
|
71
71
|
...c,
|
|
72
72
|
r: Number(v)
|
|
73
|
-
})
|
|
73
|
+
}),
|
|
74
|
+
localeKey: 'redInput'
|
|
74
75
|
}, {
|
|
75
76
|
label: 'G',
|
|
76
77
|
max: 255,
|
|
@@ -79,7 +80,8 @@ const rgba = {
|
|
|
79
80
|
getColor: (c, v) => ({
|
|
80
81
|
...c,
|
|
81
82
|
g: Number(v)
|
|
82
|
-
})
|
|
83
|
+
}),
|
|
84
|
+
localeKey: 'greenInput'
|
|
83
85
|
}, {
|
|
84
86
|
label: 'B',
|
|
85
87
|
max: 255,
|
|
@@ -88,7 +90,8 @@ const rgba = {
|
|
|
88
90
|
getColor: (c, v) => ({
|
|
89
91
|
...c,
|
|
90
92
|
b: Number(v)
|
|
91
|
-
})
|
|
93
|
+
}),
|
|
94
|
+
localeKey: 'blueInput'
|
|
92
95
|
}, {
|
|
93
96
|
label: 'A',
|
|
94
97
|
max: 1,
|
|
@@ -102,7 +105,8 @@ const rgba = {
|
|
|
102
105
|
getColor: (c, v) => ({
|
|
103
106
|
...c,
|
|
104
107
|
a: Number(v)
|
|
105
|
-
})
|
|
108
|
+
}),
|
|
109
|
+
localeKey: 'alphaInput'
|
|
106
110
|
}],
|
|
107
111
|
to: HSVtoRGB,
|
|
108
112
|
from: RGBtoHSV
|
|
@@ -124,7 +128,8 @@ const hsla = {
|
|
|
124
128
|
getColor: (c, v) => ({
|
|
125
129
|
...c,
|
|
126
130
|
h: Number(v)
|
|
127
|
-
})
|
|
131
|
+
}),
|
|
132
|
+
localeKey: 'hueInput'
|
|
128
133
|
}, {
|
|
129
134
|
label: 'S',
|
|
130
135
|
max: 1,
|
|
@@ -133,7 +138,8 @@ const hsla = {
|
|
|
133
138
|
getColor: (c, v) => ({
|
|
134
139
|
...c,
|
|
135
140
|
s: Number(v)
|
|
136
|
-
})
|
|
141
|
+
}),
|
|
142
|
+
localeKey: 'saturationInput'
|
|
137
143
|
}, {
|
|
138
144
|
label: 'L',
|
|
139
145
|
max: 1,
|
|
@@ -142,7 +148,8 @@ const hsla = {
|
|
|
142
148
|
getColor: (c, v) => ({
|
|
143
149
|
...c,
|
|
144
150
|
l: Number(v)
|
|
145
|
-
})
|
|
151
|
+
}),
|
|
152
|
+
localeKey: 'lightnessInput'
|
|
146
153
|
}, {
|
|
147
154
|
label: 'A',
|
|
148
155
|
max: 1,
|
|
@@ -156,7 +163,8 @@ const hsla = {
|
|
|
156
163
|
getColor: (c, v) => ({
|
|
157
164
|
...c,
|
|
158
165
|
a: Number(v)
|
|
159
|
-
})
|
|
166
|
+
}),
|
|
167
|
+
localeKey: 'alphaInput'
|
|
160
168
|
}],
|
|
161
169
|
to: HSVtoHSL,
|
|
162
170
|
from: HSLtoHSV
|
|
@@ -172,7 +180,8 @@ const hexa = {
|
|
|
172
180
|
inputs: [{
|
|
173
181
|
label: 'HEXA',
|
|
174
182
|
getValue: c => c,
|
|
175
|
-
getColor: (c, v) => v
|
|
183
|
+
getColor: (c, v) => v,
|
|
184
|
+
localeKey: 'hexaInput'
|
|
176
185
|
}],
|
|
177
186
|
to: HSVtoHex,
|
|
178
187
|
from: HexToHSV
|
|
@@ -182,7 +191,8 @@ const hex = {
|
|
|
182
191
|
inputs: [{
|
|
183
192
|
label: 'HEX',
|
|
184
193
|
getValue: c => c.slice(0, 7),
|
|
185
|
-
getColor: (c, v) => v
|
|
194
|
+
getColor: (c, v) => v,
|
|
195
|
+
localeKey: 'hexInput'
|
|
186
196
|
}]
|
|
187
197
|
};
|
|
188
198
|
export const modes = {
|