q-colorize-mixin
Version:
Quasar color mixin
6 lines • 3.8 kB
JavaScript
/*!
* q-colorize-mixin v2.0.0-alpha.5
* (c) 2021 Jeff Galbraith <jeff@quasar.dev>
* Released under the MIT License.
*/
var version="2.0.0-alpha.5",CSS_COLOR_NAMES=["transparent","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgrey","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgrey","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"],useColorizeProps={color:String};function useColorize(){function e(e){return!!e&&CSS_COLOR_NAMES.includes(e.toLowerCase())}function r(r){return!!r&&(!!r.match(/^(#|(rgb|hsl)a?\()/)||e(r))}function o(e){return!!e&&e.startsWith("--")}function l(e,o){return void 0===o&&(o="black"),void 0===e&&void 0!==o?l(o):r(e)?e:i(e,o)}function i(e,r){return"var("+(o(e)?e:"--q-color-"+e)+", '"+r+"')"}function a(e){return r(e)||o(e)}function s(e,r){var o;if(void 0===r&&(r={}),a(e)){var i=l(e);void 0===r.style&&(r.style={}),r.style=Object.assign({},r.style,{"background-color":""+i})}else if(e){var s=e.toString().trim();void 0===r.class&&(r.class={}),r.class=Object.assign({},r.class,((o={})["bg-"+s]=!0,o))}return r}function n(e,r){var o;if(void 0===r&&(r={}),a(e)){var i=l(e);void 0===r.style&&(r.style={}),r.style=Object.assign({},r.style,{color:""+i,"caret-color":""+i})}else if(e){var s=e.toString().trim();void 0===r.class&&(r.class={}),r.class=Object.assign({},r.class,((o={})["text-"+s]=!0,o))}return r}return{isNamedCssColor:e,isCssColor:r,isCssVar:o,calculateColor:l,makeQuasarColorVar:i,isValidCssColor:a,setBothColors:function(e,r,o){return void 0===o&&(o={}),n(e,s(r,o))},setBackgroundColor:s,setTextColor:n,setBorderColor:function(e,r){var o;if(void 0===r&&(r={}),a(e)){var i=l(e);void 0===r.style&&(r.style={}),r.style=Object.assign({},r.style,{"border-color":""+i})}else if(e){var s=e.toString().trim();void 0===r.class&&(r.class={}),r.class=Object.assign({},r.class,((o={})["border-color-"+s]=!0,o))}return r}}}var methods=useColorize(),QColorizeMixin={name:"QColorizeMixin",props:Object.assign({},useColorizeProps),methods:methods};QColorizeMixin.version=version;var index={QColorizeMixin:QColorizeMixin,useColorize:useColorize,useColorizeProps:useColorizeProps,version:version};export default index;export{QColorizeMixin,useColorize,useColorizeProps,version};