UNPKG

vuetify

Version:

Vue Material Component Framework

1 lines 5.55 kB
{"version":3,"file":"index.mjs","names":["classToHex","isCssColor","parseGradient","colors","setTextColor","el","color","currentTheme","cssColor","style","caretColor","setBackgroundColor","backgroundColor","borderColor","setBorderColor","modifiers","Object","keys","length","top","borderTopColor","right","borderRightColor","bottom","borderBottomColor","left","borderLeftColor","setGradientColor","gradient","backgroundImage","updateColor","binding","node","context","$vuetify","theme","arg","undefined","value","update","oldValue","Color","bind"],"sources":["../../../src/directives/color/index.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\n// Utilities\nimport {\n classToHex,\n isCssColor,\n parseGradient,\n} from '../../util/colorUtils'\nimport colors from '../../util/colors'\n\n// Types\nimport { VuetifyThemeVariant } from 'types/services/theme'\nimport { VNode, VNodeDirective } from 'vue'\n\ninterface BorderModifiers {\n top?: Boolean\n right?: Boolean\n bottom?: Boolean\n left?: Boolean\n}\n\nfunction setTextColor (\n el: HTMLElement,\n color: string,\n currentTheme: Partial<VuetifyThemeVariant>,\n) {\n const cssColor = !isCssColor(color) ? classToHex(color, colors, currentTheme) : color\n\n el.style.color = cssColor\n el.style.caretColor = cssColor\n}\n\nfunction setBackgroundColor (\n el: HTMLElement,\n color: string,\n currentTheme: Partial<VuetifyThemeVariant>,\n) {\n const cssColor = !isCssColor(color) ? classToHex(color, colors, currentTheme) : color\n\n el.style.backgroundColor = cssColor\n el.style.borderColor = cssColor\n}\n\nfunction setBorderColor (\n el: HTMLElement,\n color: string,\n currentTheme: Partial<VuetifyThemeVariant>,\n modifiers?: BorderModifiers,\n) {\n const cssColor = !isCssColor(color) ? classToHex(color, colors, currentTheme) : color\n\n if (!modifiers || !Object.keys(modifiers).length) {\n el.style.borderColor = cssColor\n return\n }\n\n if (modifiers.top) el.style.borderTopColor = cssColor\n if (modifiers.right) el.style.borderRightColor = cssColor\n if (modifiers.bottom) el.style.borderBottomColor = cssColor\n if (modifiers.left) el.style.borderLeftColor = cssColor\n}\n\nfunction setGradientColor (\n el: HTMLElement,\n gradient: string,\n currentTheme: Partial<VuetifyThemeVariant>,\n) {\n el.style.backgroundImage = `linear-gradient(${\n parseGradient(gradient, colors, currentTheme)\n })`\n}\n\nfunction updateColor (\n el: HTMLElement,\n binding: VNodeDirective,\n node: VNode\n) {\n const currentTheme = node.context!.$vuetify.theme.currentTheme\n\n if (binding.arg === undefined) {\n setBackgroundColor(el, binding.value, currentTheme)\n } else if (binding.arg === 'text') {\n setTextColor(el, binding.value, currentTheme)\n } else if (binding.arg === 'border') {\n setBorderColor(el, binding.value, currentTheme, binding.modifiers)\n } else if (binding.arg === 'gradient') {\n setGradientColor(el, binding.value, currentTheme)\n }\n}\n\nfunction update (\n el: HTMLElement,\n binding: VNodeDirective,\n node: VNode\n) {\n if (binding.value === binding.oldValue) return\n\n updateColor(el, binding, node)\n}\n\nexport const Color = {\n bind: updateColor,\n update,\n}\n\nexport default Color\n"],"mappings":"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"}