sun-select-color 0.1.5 → 0.1.7

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.
@@ -1 +1 @@
1
- {"version":3,"file":"sun-select-color.es.js","sources":["../src/colors.js","../src/components/ColorPicker.vue","../src/index.js"],"sourcesContent":["export const ColorList = [\r\n \"#ffffff\",\"#f5f5f5\",\"#d9d9d9\",\"#bfbfbf\",\"#8c8c8c\",\"#595959\",\"#262626\",\"#000000\",\r\n \"#FEF2F2\",\"#FFE2E2\",\"#FFC9C9\",\"#FFA2A2\",\"#FF6467\",\"#FB2C36\",\"#E7180B\",\"#C11007\",\r\n \"#FFF7ED\",\"#FFEDD4\",\"#FFD6A7\",\"#FFB86A\",\"#FF8904\",\"#FF692A\",\"#F54927\",\"#CA3519\",\r\n \"#FFFBEB\",\"#FEF3C6\",\"#FEE685\",\"#FFD230\",\"#FFB93B\",\"#FE9A37\",\"#E1712B\",\"#BB4D1A\",\r\n \"#FEFCE8\",\"#FEF9C2\",\"#FFF085\",\"#FFDF20\",\"#FDC745\",\"#F0B13B\",\"#D0872E\",\"#A65F1B\",\r\n \"#F7FEE7\",\"#ECFCCA\",\"#D8F999\",\"#BBF451\",\"#9AE630\",\"#7CCF35\",\"#5EA529\",\"#497D15\",\r\n \"#F0FDF4\",\"#DCFCE7\",\"#B9F8CF\",\"#7BF1A8\",\"#05DF72\",\"#31C950\",\"#2AA63E\",\"#178236\",\r\n \"#ECFDF5\",\"#D0FAE5\",\"#A4F4CF\",\"#5EE9B5\",\"#31D492\",\"#37BC7D\",\"#2D9966\",\"#1F7A55\",\r\n \"#F0FDFA\",\"#CBFBF1\",\"#96F7E4\",\"#46ECD5\",\"#38D5BE\",\"#36BBA7\",\"#2A9689\",\"#18786F\",\r\n \"#ECFEFF\",\"#CEFAFE\",\"#A2F4FD\",\"#53EAFD\",\"#42D3F2\",\"#3BB8DB\",\"#2C92B8\",\"#1A7595\",\r\n \"#F0F9FF\",\"#DFF2FE\",\"#B8E6FE\",\"#74D4FF\",\"#21BCFF\",\"#34A6F4\",\"#2984D1\",\"#1C69A8\",\r\n \"#EFF6FF\",\"#DBEAFE\",\"#BEDBFF\",\"#8EC5FF\",\"#51A2FF\",\"#2B7FFF\",\"#155DFC\",\"#1447E6\",\r\n \"#EEF2FF\",\"#E0E7FF\",\"#C6D2FF\",\"#A3B3FF\",\"#7C86FF\",\"#615FFF\",\"#4F39F6\",\"#432DD7\",\r\n \"#F5F3FF\",\"#EDE9FE\",\"#DDD6FF\",\"#C4B4FF\",\"#A684FF\",\"#8E51FF\",\"#7F22FE\",\"#7008E7\",\r\n \"#FAF5FF\",\"#F3E8FF\",\"#E9D4FF\",\"#DAB2FF\",\"#C27AFF\",\"#AD46FF\",\"#9810FA\",\"#8207DB\",\r\n \"#FDF4FF\",\"#FAE8FF\",\"#F6CFFF\",\"#F4A8FF\",\"#ED6AFF\",\"#E12AFB\",\"#C81CDE\",\"#A813B7\",\r\n \"#FDF2F8\",\"#FCE7F3\",\"#FCCEE8\",\"#FDA5D5\",\"#FB64B6\",\"#F6339A\",\"#E61876\",\"#C6185C\",\r\n \"#FFF1F2\",\"#FFE4E6\",\"#FFCCD3\",\"#FFA1AD\",\"#FF637E\",\"#FF2056\",\"#EC253F\",\"#C71D36\",\r\n]\r\n\r\nexport const ColorNameMap = {\r\n \"#ffffff\":\"纯白\",\"#f5f5f5\":\"浅灰\",\"#d9d9d9\":\"中灰\",\"#bfbfbf\":\"浅灰1\",\"#8c8c8c\":\"灰3\",\"#595959\":\"灰2\",\"#262626\":\"深灰\",\"#000000\":\"纯黑\",\r\n \"#FEF2F2\":\"粉红浅\",\"#FFE2E2\":\"粉红\",\"#FFC9C9\":\"粉红中\",\"#FFA2A2\":\"粉红深\",\"#FF6467\":\"珊瑚红\",\"#FB2C36\":\"鲜红\",\"#E7180B\":\"深红\",\"#C11007\":\"暗红\",\r\n \"#FFF7ED\":\"橙黄浅\",\"#FFEDD4\":\"橙黄\",\"#FFD6A7\":\"橙黄中\",\"#FFB86A\":\"橙黄深\",\"#FF8904\":\"橙\",\"#FF692A\":\"橙红\",\"#F54927\":\"深橙\",\"#CA3519\":\"暗橙\",\r\n \"#FFFBEB\":\"黄浅\",\"#FEF3C6\":\"黄\",\"#FEE685\":\"黄中\",\"#FFD230\":\"黄深\",\"#FFB93B\":\"金黄\",\"#FE9A37\":\"深黄\",\"#E1712B\":\"橙黄\",\"#BB4D1A\":\"暗橙黄\",\r\n \"#FEFCE8\":\"黄绿浅\",\"#FEF9C2\":\"黄绿\",\"#FFF085\":\"黄绿中\",\"#FFDF20\":\"黄绿深\",\"#FDC745\":\"柠檬\",\"#F0B13B\":\"柠檬深\",\"#D0872E\":\"深柠檬\",\"#A65F1B\":\"暗柠檬\",\r\n \"#F7FEE7\":\"绿浅\",\"#ECFCCA\":\"绿\",\"#D8F999\":\"绿中\",\"#BBF451\":\"绿深\",\"#9AE630\":\"鲜绿\",\"#7CCF35\":\"深绿\",\"#5EA529\":\"深绿1\",\"#497D15\":\"暗绿\",\r\n \"#F0FDF4\":\"青绿浅\",\"#DCFCE7\":\"青绿\",\"#B9F8CF\":\"青绿中\",\"#7BF1A8\":\"青绿深\",\"#05DF72\":\"青绿\",\"#31C950\":\"深青绿\",\"#2AA63E\":\"深青绿1\",\"#178236\":\"暗青绿\",\r\n \"#ECFDF5\":\"青浅\",\"#D0FAE5\":\"青\",\"#A4F4CF\":\"青中\",\"#5EE9B5\":\"青深\",\"#31D492\":\"青\",\"#37BC7D\":\"深青\",\"#2D9966\":\"深青1\",\"#1F7A55\":\"暗青\",\r\n \"#F0FDFA\":\"蓝青浅\",\"#CBFBF1\":\"蓝青\",\"#96F7E4\":\"蓝青中\",\"#46ECD5\":\"蓝青深\",\"#38D5BE\":\"蓝青\",\"#36BBA7\":\"深蓝青\",\"#2A9689\":\"深蓝青1\",\"#18786F\":\"暗蓝青\",\r\n \"#ECFEFF\":\"蓝浅\",\"#CEFAFE\":\"蓝\",\"#A2F4FD\":\"蓝中\",\"#53EAFD\":\"蓝深\",\"#42D3F2\":\"天蓝\",\"#3BB8DB\":\"深天蓝\",\"#2C92B8\":\"深天蓝1\",\"#1A7595\":\"暗天蓝\",\r\n \"#F0F9FF\":\"深蓝浅\",\"#DFF2FE\":\"深蓝\",\"#B8E6FE\":\"深蓝中\",\"#74D4FF\":\"深蓝深\",\"#21BCFF\":\"深蓝\",\"#34A6F4\":\"深蓝1\",\"#2984D1\":\"深蓝2\",\"#1C69A8\":\"暗深蓝\",\r\n \"#EFF6FF\":\"蓝浅1\",\"#DBEAFE\":\"蓝1\",\"#BEDBFF\":\"蓝中1\",\"#8EC5FF\":\"蓝深1\",\"#51A2FF\":\"蓝1\",\"#2B7FFF\":\"深蓝1\",\"#155DFC\":\"深蓝2\",\"#1447E6\":\"暗蓝1\",\r\n \"#EEF2FF\":\"紫蓝浅\",\"#E0E7FF\":\"紫蓝\",\"#C6D2FF\":\"紫蓝中\",\"#A3B3FF\":\"紫蓝深\",\"#7C86FF\":\"紫蓝\",\"#615FFF\":\"深紫蓝\",\"#4F39F6\":\"深紫蓝1\",\"#432DD7\":\"暗紫蓝\",\r\n \"#F5F3FF\":\"紫浅\",\"#EDE9FE\":\"紫\",\"#DDD6FF\":\"紫中\",\"#C4B4FF\":\"紫深\",\"#A684FF\":\"紫\",\"#8E51FF\":\"深紫\",\"#7F22FE\":\"深紫1\",\"#7008E7\":\"暗紫\",\r\n \"#FAF5FF\":\"深紫浅\",\"#F3E8FF\":\"深紫\",\"#E9D4FF\":\"深紫中\",\"#DAB2FF\":\"深紫深\",\"#C27AFF\":\"深紫\",\"#AD46FF\":\"深紫1\",\"#9810FA\":\"深紫2\",\"#8207DB\":\"暗深紫\",\r\n \"#FDF4FF\":\"粉紫浅\",\"#FAE8FF\":\"粉紫\",\"#F6CFFF\":\"粉紫中\",\"#F4A8FF\":\"粉紫深\",\"#ED6AFF\":\"粉紫\",\"#E12AFB\":\"深粉紫\",\"#C81CDE\":\"深粉紫1\",\"#A813B7\":\"暗粉紫\",\r\n \"#FDF2F8\":\"粉红浅1\",\"#FCE7F3\":\"粉红1\",\"#FCCEE8\":\"粉红中1\",\"#FDA5D5\":\"粉红深1\",\"#FB64B6\":\"粉红1\",\"#F6339A\":\"深粉红\",\"#E61876\":\"深粉红1\",\"#C6185C\":\"暗粉红\",\r\n \"#FFF1F2\":\"红浅\",\"#FFE4E6\":\"红\",\"#FFCCD3\":\"红中\",\"#FFA1AD\":\"红深\",\"#FF637E\":\"红\",\"#FF2056\":\"深红\",\"#EC253F\":\"深红1\",\"#C71D36\":\"深红2\",\r\n}\r\n\r\nexport const ColorList1 = [\r\n \"#ffffff\",\r\n \"#f5f5f5\",\r\n \"#eeeeee\",\r\n \"#e5e5e5\",\r\n \"#d9d9d9\",\r\n \"#cccccc\",\r\n \"#bfbfbf\",\r\n \"#a6a6a6\",\r\n \"#8c8c8c\",\r\n \"#737373\",\r\n \"#595959\",\r\n \"#404040\",\r\n \"#333333\",\r\n \"#262626\",\r\n \"#1a1a1a\",\r\n \"#000000\"\r\n]\r\n\r\nexport const ColorNameMap1 = {\r\n \"#ffffff\":\"纯白\",\r\n \"#f5f5f5\":\"浅灰\",\r\n \"#eeeeee\":\"极浅灰\",\r\n \"#e5e5e5\":\"很浅灰\",\r\n \"#d9d9d9\":\"中灰\",\r\n \"#cccccc\":\"浅灰2\",\r\n \"#bfbfbf\":\"浅灰1\",\r\n \"#a6a6a6\":\"灰4\",\r\n \"#8c8c8c\":\"灰3\",\r\n \"#737373\":\"灰2.5\",\r\n \"#595959\":\"灰2\",\r\n \"#404040\":\"深灰1\",\r\n \"#333333\": \"深灰2\",\r\n \"#262626\":\"深灰\",\r\n \"#1a1a1a\":\"近黑\",\r\n \"#000000\":\"纯黑\",\r\n}\r\n\r\nexport const ColorList2 = [\r\n \"#FB2C36\",\r\n \"#FF692A\",\r\n \"#FE9A37\",\r\n \"#F0B13B\",\r\n \"#7CCF35\",\r\n \"#31C950\",\r\n \"#37BC7D\",\r\n \"#36BBA7\",\r\n \"#3BB8DB\",\r\n \"#34A6F4\",\r\n \"#2B7FFF\",\r\n \"#615FFF\",\r\n \"#8E51FF\",\r\n \"#AD46FF\",\r\n \"#E12AFB\",\r\n \"#F6339A\",\r\n]\r\n\r\nexport const ColorNameMap2 = {\r\n \"#FB2C36\": \"鲜红\",\r\n \"#FF692A\": \"橙红\",\r\n \"#FE9A37\": \"深黄\",\r\n \"#F0B13B\": \"柠檬深\",\r\n \"#7CCF35\": \"深绿\",\r\n \"#31C950\": \"深青绿\",\r\n \"#37BC7D\": \"深青\",\r\n \"#36BBA7\": \"深蓝青\",\r\n \"#3BB8DB\": \"深天蓝\",\r\n \"#34A6F4\": \"深蓝1\",\r\n \"#2B7FFF\": \"深蓝1\",\r\n \"#615FFF\": \"深紫蓝\",\r\n \"#8E51FF\": \"深紫\",\r\n \"#AD46FF\": \"深紫1\",\r\n \"#E12AFB\": \"深粉紫\",\r\n \"#F6339A\": \"深粉红\",\r\n}\r\n\r\n\r\nexport const bArrow = () => {\r\n return `<svg t=\"1760602465263\" class=\"icon\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"1846\" width=\"16\" height=\"16\"><path d=\"M512 704c8.288 0 15.776-3.232 21.456-8.4l0.064 0.08 352-320-0.08-0.08c6.448-5.856 10.56-14.208 10.56-23.6a32 32 0 0 0-32-32c-8.288 0-15.76 3.232-21.456 8.4l-0.08-0.08L512 628.752 181.536 328.32l-0.08 0.08A31.776 31.776 0 0 0 160 320a32 32 0 0 0-32 32c0 9.376 4.112 17.744 10.544 23.6l-0.08 0.08 352 320 0.08-0.08c5.68 5.168 13.168 8.4 21.456 8.4z\" p-id=\"1847\"></path></svg>`\r\n}","<!--\r\n * @Author: zhangxiaofeng xfzhang@rxhui.com\r\n * @Date: 2025-10-16 15:15:54\r\n * @Description: 丙午\r\n-->\r\n<template>\r\n <div class=\"ssc-color\">\r\n <div class=\"select\" @click.stop=\"toggle\" :style=\"{\r\n width: props.width\r\n }\">\r\n <span class=\"swatch\" :style=\"{ backgroundColor: innerValue }\"></span>\r\n <span class=\"label\">{{ colorName }}</span>\r\n <div class=\"arrow\" v-html=\"bArrow()\"></div>\r\n <div class=\"panel\" v-if=\"open\" :style=\"{\r\n height: props.height\r\n }\">\r\n <div class=\"grid\">\r\n <span\r\n v-for=\"c in listToUse\"\r\n :key=\"c\"\r\n class=\"chip\"\r\n :style=\"{ backgroundColor: c }\"\r\n @click.stop=\"pick(c)\"\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script setup>\r\nimport { ref, watch, computed, onMounted, onBeforeUnmount } from 'vue'\r\nimport { ColorList, ColorNameMap, ColorList1, ColorNameMap1, ColorList2, ColorNameMap2, bArrow } from '../colors.js'\r\n\r\nconst props = defineProps({\r\n type: { type: String, default: 'colorAll' }, // colorAll colorOne colorTwo\r\n color: { type: String, default: '' },\r\n width: { type: String, default: '100%' },\r\n height: { type: String, default: 'auto' }\r\n })\r\nconst emit = defineEmits(['change'])\r\n\r\nconst open = ref(false)\r\nconst listToUse = computed(() => {\r\n if (props.type === 'colorOne') return ColorList1\r\n if (props.type === 'colorTwo') return ColorList2\r\n return ColorList\r\n})\r\nconst nameMapToUse = computed(() => {\r\n if (props.type === 'colorOne') return ColorNameMap1\r\n if (props.type === 'colorTwo') return ColorNameMap2\r\n return ColorNameMap\r\n})\r\nconst innerValue = ref('')\r\nwatch(() => props.color, (v) => {\r\n if (typeof v === 'string' && v !== innerValue.value) innerValue.value = v || (listToUse.value?.[0] || '#000000')\r\n})\r\nconst colorName = computed(() => nameMapToUse.value[innerValue.value] || '自定义')\r\n\r\nonMounted(() => {\r\n if (!props.color) {\r\n const first = listToUse.value?.[0] || '#000000'\r\n console.error(first)\r\n innerValue.value = first\r\n } else {\r\n innerValue.value = props.color\r\n }\r\n})\r\n\r\nfunction pick(c) {\r\n innerValue.value = c\r\n open.value = false\r\n emit('change', c)\r\n}\r\nfunction toggle() { open.value = !open.value }\r\n\r\nconst onClickOutside = () => { open.value = false }\r\nonMounted(() => {\r\n document.addEventListener('click', onClickOutside)\r\n // Inject styles for consumers who don't import CSS separately\r\n const STYLE_ID = 'sun-select-color-style'\r\n if (!document.getElementById(STYLE_ID)) {\r\n const style = document.createElement('style')\r\n style.id = STYLE_ID\r\n style.textContent = `\r\n .ssc-color .select{position:relative;width:100%;min-width:200px;height:32px;display:flex;align-items:center;border:1px solid #e0e0ff;border-radius:6px;padding:0 12px;cursor:pointer;box-shadow:0 1px 0 rgba(0,0,0,0.02);font-size:14px}\r\n .ssc-color .select:hover{border-color:#4096ff}\r\n .ssc-color .swatch{width:16px;height:16px;border-radius:4px;border:1px solid #e0e0e0;margin-right:8px}\r\n .ssc-color .label{flex:1;color:#333}\r\n .ssc-color .arrow{width:16px;height:16px}\r\n .ssc-color .panel{position:absolute;left:0;right:0;top:32px;z-index:1;margin-top:6px;background:#fff;border-radius:8px;box-shadow:0 10px 20px rgba(0,0,0,0.1);padding:12px;box-sizing:border-box;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,0.25) transparent}\r\n .ssc-color .panel::-webkit-scrollbar{width:3px;height:3px}\r\n .ssc-color .panel::-webkit-scrollbar-thumb{background-color:rgba(0,0,0,0.25);border-radius:4px}\r\n .ssc-color .panel::-webkit-scrollbar-track{background:transparent}\r\n .ssc-color .grid{display:grid;grid-template-columns:repeat(8,1fr);gap:6px}\r\n .ssc-color .chip{width:100%;height:26px;border-radius:6px;border:1px solid #fff;cursor:pointer;display:inline-block}\r\n `\r\n document.head.appendChild(style)\r\n }\r\n})\r\nonBeforeUnmount(() => document.removeEventListener('click', onClickOutside))\r\n</script>\r\n\r\n<style scoped>\r\n .ssc-color .select {\r\n position: relative;\r\n width: 100%;\r\n min-width: 200px;\r\n height: 32px;\r\n display: flex;\r\n align-items: center;\r\n border: 1px solid #e0e0ff;\r\n border-radius: 6px;\r\n padding: 0 12px;\r\n cursor: pointer;\r\n box-shadow: 0 1px 0 rgba(0,0,0,0.02);\r\n font-size: 14px;\r\n }\r\n .ssc-color .select:hover { border-color: #4096ff; }\r\n .swatch { width: 16px; height: 16px; border-radius: 4px; border: 1px solid #e0e0e0; margin-right: 8px; }\r\n .label { flex: 1; color: #333; }\r\n .arrow { width: 16px; height: 16px; }\r\n .panel {\r\n position: absolute; left: 0; right: 0; top: 32px; z-index: 1; margin-top: 6px;\r\n background: #fff; border-radius: 8px; box-shadow: 0 10px 20px rgba(0,0,0,0.1);\r\n padding: 12px; box-sizing: border-box;\r\n overflow-y: auto; overflow-x: hidden;\r\n /* Firefox */\r\n scrollbar-width: thin;\r\n scrollbar-color: rgba(0,0,0,0.25) transparent;\r\n }\r\n /* WebKit */\r\n .panel::-webkit-scrollbar { width: 3px; height: 3px; }\r\n .panel::-webkit-scrollbar-thumb { background-color: rgba(0,0,0,0.25); border-radius: 4px; }\r\n .panel::-webkit-scrollbar-track { background: transparent; }\r\n .grid { display: grid; grid-template-columns: repeat(8, 1fr); gap: 6px; }\r\n .chip { width: 100%; height: 26px; border-radius: 6px; border: 1px solid #fff; cursor: pointer; display: inline-block; }\r\n</style>\r\n\r\n","import ColorPicker from './components/ColorPicker.vue'\r\n\r\nexport { ColorPicker }\r\n\r\nconst SunSelectColor = {\r\n install(app, options = {}) {\r\n const prefix = options.prefix || ''\r\n app.component(`${prefix}ColorPicker`, ColorPicker)\r\n }\r\n}\r\n\r\nexport default SunSelectColor\r\n\r\n"],"names":["ColorList","ColorNameMap","ColorList1","ColorNameMap1","ColorList2","ColorNameMap2","bArrow","props","__props","emit","__emit","open","ref","listToUse","computed","nameMapToUse","innerValue","watch","v","_a","colorName","onMounted","first","pick","c","toggle","onClickOutside","STYLE_ID","style","onBeforeUnmount","_openBlock","_createElementBlock","_hoisted_1","_createElementVNode","_normalizeStyle","_hoisted_2","_toDisplayString","_unref","_hoisted_4","_Fragment","_renderList","_withModifiers","$event","SunSelectColor","app","options","prefix","ColorPicker"],"mappings":";AAAO,MAAMA,IAAY;AAAA,EACvB;AAAA,EAAU;AAAA,EAAU;AAAA,EAAU;AAAA,EAAU;AAAA,EAAU;AAAA,EAAU;AAAA,EAAU;AAAA,EACtE;AAAA,EAAU;AAAA,EAAU;AAAA,EAAU;AAAA,EAAU;AAAA,EAAU;AAAA,EAAU;AAAA,EAAU;AAAA,EACtE;AAAA,EAAU;AAAA,EAAU;AAAA,EAAU;AAAA,EAAU;AAAA,EAAU;AAAA,EAAU;AAAA,EAAU;AAAA,EACtE;AAAA,EAAU;AAAA,EAAU;AAAA,EAAU;AAAA,EAAU;AAAA,EAAU;AAAA,EAAU;AAAA,EAAU;AAAA,EACtE;AAAA,EAAU;AAAA,EAAU;AAAA,EAAU;AAAA,EAAU;AAAA,EAAU;AAAA,EAAU;AAAA,EAAU;AAAA,EACtE;AAAA,EAAU;AAAA,EAAU;AAAA,EAAU;AAAA,EAAU;AAAA,EAAU;AAAA,EAAU;AAAA,EAAU;AAAA,EACtE;AAAA,EAAU;AAAA,EAAU;AAAA,EAAU;AAAA,EAAU;AAAA,EAAU;AAAA,EAAU;AAAA,EAAU;AAAA,EACtE;AAAA,EAAU;AAAA,EAAU;AAAA,EAAU;AAAA,EAAU;AAAA,EAAU;AAAA,EAAU;AAAA,EAAU;AAAA,EACtE;AAAA,EAAU;AAAA,EAAU;AAAA,EAAU;AAAA,EAAU;AAAA,EAAU;AAAA,EAAU;AAAA,EAAU;AAAA,EACtE;AAAA,EAAU;AAAA,EAAU;AAAA,EAAU;AAAA,EAAU;AAAA,EAAU;AAAA,EAAU;AAAA,EAAU;AAAA,EACtE;AAAA,EAAU;AAAA,EAAU;AAAA,EAAU;AAAA,EAAU;AAAA,EAAU;AAAA,EAAU;AAAA,EAAU;AAAA,EACtE;AAAA,EAAU;AAAA,EAAU;AAAA,EAAU;AAAA,EAAU;AAAA,EAAU;AAAA,EAAU;AAAA,EAAU;AAAA,EACtE;AAAA,EAAU;AAAA,EAAU;AAAA,EAAU;AAAA,EAAU;AAAA,EAAU;AAAA,EAAU;AAAA,EAAU;AAAA,EACtE;AAAA,EAAU;AAAA,EAAU;AAAA,EAAU;AAAA,EAAU;AAAA,EAAU;AAAA,EAAU;AAAA,EAAU;AAAA,EACtE;AAAA,EAAU;AAAA,EAAU;AAAA,EAAU;AAAA,EAA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"}
1
+ {"version":3,"file":"sun-select-color.es.js","sources":["../node_modules/@ckpack/vue-color/libs/defaultConfig.js","../node_modules/@ckpack/vue-color/libs/style-inject.es-746bb8ed.js","../node_modules/@ckpack/vue-color/libs/utils/compoent.js","../node_modules/@ckpack/vue-color/libs/components/checkboard/index.js","../node_modules/@ckpack/vue-color/libs/components/alpha/index.js","../node_modules/@ctrl/tinycolor/dist/module/util.js","../node_modules/@ctrl/tinycolor/dist/module/conversion.js","../node_modules/@ctrl/tinycolor/dist/module/css-color-names.js","../node_modules/@ctrl/tinycolor/dist/module/format-input.js","../node_modules/@ctrl/tinycolor/dist/module/index.js","../node_modules/@ckpack/vue-color/libs/mixin/color.js","../node_modules/@ckpack/vue-color/libs/components/editable-input/index.js","../node_modules/@ckpack/vue-color/libs/utils/utils.js","../node_modules/@ckpack/vue-color/libs/components/saturation/index.js","../node_modules/@ckpack/vue-color/libs/components/hue/index.js","../node_modules/@ckpack/vue-color/libs/components/sketch/index.js","../src/colors.js","../src/components/ColorPicker.vue","../src/index.js"],"sourcesContent":["const name = 'VueColor';\n// 自定义组件前缀\nconst prefix = '';\nconst cssPrefix = '';\nconst size = 'medium';\n\nexport { cssPrefix, name, prefix, size };\n","function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport { styleInject as s };\n","import { prefix } from '../defaultConfig.js';\n\nconst install = function (app, options) {\n const { componentPrefix = prefix } = options || {};\n app.component(`${componentPrefix}${this.name}`, this);\n};\n\nexport { install };\n","import { openBlock, createElementBlock, normalizeStyle } from 'vue';\nimport { s as styleInject } from '../../style-inject.es-746bb8ed.js';\nimport { install } from '../../utils/compoent.js';\nimport '../../defaultConfig.js';\n\nconst _checkboardCache = {};\n\nvar script = {\n name: 'Checkboard',\n props: {\n size: {\n type: [Number, String],\n default: 8,\n },\n white: {\n type: String,\n default: '#fff',\n },\n grey: {\n type: String,\n default: '#e6e6e6',\n },\n },\n computed: {\n bgStyle() {\n return {\n 'background-image': `url(${getCheckboard(this.white, this.grey, this.size)})`,\n };\n },\n },\n};\n\n/**\n * get base 64 data by canvas\n *\n * @param {String} c1 hex color\n * @param {String} c2 hex color\n * @param {Number} size\n */\n\nfunction renderCheckboard(c1, c2, size) {\n // Dont Render On Server\n if (typeof document === 'undefined')\n return null;\n\n const canvas = document.createElement('canvas');\n canvas.width = canvas.height = size * 2;\n const ctx = canvas.getContext('2d');\n // If no context can be found, return early.\n if (!ctx)\n return null;\n\n ctx.fillStyle = c1;\n ctx.fillRect(0, 0, canvas.width, canvas.height);\n ctx.fillStyle = c2;\n ctx.fillRect(0, 0, size, size);\n ctx.translate(size, size);\n ctx.fillRect(0, 0, size, size);\n return canvas.toDataURL();\n}\n\n/**\n * get checkboard base data and cache\n *\n * @param {String} c1 hex color\n * @param {String} c2 hex color\n * @param {Number} size\n */\n\nfunction getCheckboard(c1, c2, size) {\n const key = `${c1},${c2},${size}`;\n\n if (_checkboardCache[key])\n return _checkboardCache[key];\n\n const checkboard = renderCheckboard(c1, c2, size);\n _checkboardCache[key] = checkboard;\n return checkboard;\n}\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return (openBlock(), createElementBlock(\"div\", {\n class: \"vc-checkerboard\",\n style: normalizeStyle($options.bgStyle)\n }, null, 4 /* STYLE */))\n}\n\nvar css_248z = \".vc-checkerboard{background-size:contain;bottom:0;left:0;position:absolute;right:0;top:0}\";\nstyleInject(css_248z);\n\nscript.render = render;\nscript.__file = \"src/components/checkboard/checkboard.vue\";\n\nscript.install = install;\n\nexport { script as default };\n","import script$1 from '../checkboard/index.js';\nimport { resolveComponent, openBlock, createElementBlock, createElementVNode, createVNode, normalizeStyle } from 'vue';\nimport { s as styleInject } from '../../style-inject.es-746bb8ed.js';\nimport { install } from '../../utils/compoent.js';\nimport '../../defaultConfig.js';\n\nvar script = {\n name: 'Alpha',\n components: {\n Checkboard: script$1,\n },\n props: {\n value: Object,\n onChange: Function,\n },\n computed: {\n colors() {\n return this.value;\n },\n gradientColor() {\n const { rgba } = this.colors;\n const rgbStr = [rgba.r, rgba.g, rgba.b].join(',');\n return `linear-gradient(to right, rgba(${rgbStr}, 0) 0%, rgba(${rgbStr}, 1) 100%)`;\n },\n },\n methods: {\n handleChange(e, skip) {\n !skip && e.preventDefault();\n const { container } = this.$refs;\n if (!container) {\n // for some edge cases, container may not exist. see #220\n return;\n }\n const containerWidth = container.clientWidth;\n\n const xOffset = container.getBoundingClientRect().left + window.pageXOffset;\n const pageX = e.pageX || (e.touches ? e.touches[0].pageX : 0);\n const left = pageX - xOffset;\n\n let a;\n if (left < 0)\n a = 0;\n else if (left > containerWidth)\n a = 1;\n else\n a = Math.round(left * 100 / containerWidth) / 100;\n\n if (this.colors.a !== a) {\n this.$emit('change', {\n h: this.colors.hsl.h,\n s: this.colors.hsl.s,\n l: this.colors.hsl.l,\n a,\n source: 'rgba',\n });\n }\n },\n handleMouseDown(e) {\n this.handleChange(e, true);\n window.addEventListener('mousemove', this.handleChange);\n window.addEventListener('mouseup', this.handleMouseUp);\n },\n handleMouseUp() {\n this.unbindEventListeners();\n },\n unbindEventListeners() {\n window.removeEventListener('mousemove', this.handleChange);\n window.removeEventListener('mouseup', this.handleMouseUp);\n },\n },\n};\n\nconst _hoisted_1 = { class: \"vc-alpha\" };\nconst _hoisted_2 = { class: \"vc-alpha-checkboard-wrap\" };\nconst _hoisted_3 = /*#__PURE__*/createElementVNode(\"div\", { class: \"vc-alpha-picker\" }, null, -1 /* HOISTED */);\nconst _hoisted_4 = [\n _hoisted_3\n];\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_Checkboard = resolveComponent(\"Checkboard\");\n\n return (openBlock(), createElementBlock(\"div\", _hoisted_1, [\n createElementVNode(\"div\", _hoisted_2, [\n createVNode(_component_Checkboard)\n ]),\n createElementVNode(\"div\", {\n class: \"vc-alpha-gradient\",\n style: normalizeStyle({ background: $options.gradientColor })\n }, null, 4 /* STYLE */),\n createElementVNode(\"div\", {\n ref: \"container\",\n class: \"vc-alpha-container\",\n onMousedown: _cache[0] || (_cache[0] = (...args) => ($options.handleMouseDown && $options.handleMouseDown(...args))),\n onTouchmove: _cache[1] || (_cache[1] = (...args) => ($options.handleChange && $options.handleChange(...args))),\n onTouchstart: _cache[2] || (_cache[2] = (...args) => ($options.handleChange && $options.handleChange(...args)))\n }, [\n createElementVNode(\"div\", {\n class: \"vc-alpha-pointer\",\n style: normalizeStyle({ left: `${$options.colors.a * 100}%` })\n }, _hoisted_4, 4 /* STYLE */)\n ], 544 /* HYDRATE_EVENTS, NEED_PATCH */)\n ]))\n}\n\nvar css_248z = \".vc-alpha,.vc-alpha-checkboard-wrap{bottom:0;left:0;position:absolute;right:0;top:0}.vc-alpha-checkboard-wrap{overflow:hidden}.vc-alpha-gradient{bottom:0;left:0;position:absolute;right:0;top:0}.vc-alpha-container{cursor:pointer;height:100%;margin:0 3px;position:relative;z-index:2}.vc-alpha-pointer{position:absolute;z-index:2}.vc-alpha-picker{background:#fff;border-radius:1px;box-shadow:0 0 2px rgba(0,0,0,.6);cursor:pointer;height:8px;margin-top:1px;transform:translateX(-2px);width:4px}\";\nstyleInject(css_248z);\n\nscript.render = render;\nscript.__file = \"src/components/alpha/alpha.vue\";\n\nscript.install = install;\n\nexport { script as default };\n","/**\n * Take input from [0, n] and return it as [0, 1]\n * @hidden\n */\nexport function bound01(n, max) {\n if (isOnePointZero(n)) {\n n = '100%';\n }\n var isPercent = isPercentage(n);\n n = max === 360 ? n : Math.min(max, Math.max(0, parseFloat(n)));\n // Automatically convert percentage into number\n if (isPercent) {\n n = parseInt(String(n * max), 10) / 100;\n }\n // Handle floating point rounding errors\n if (Math.abs(n - max) < 0.000001) {\n return 1;\n }\n // Convert into [0, 1] range if it isn't already\n if (max === 360) {\n // If n is a hue given in degrees,\n // wrap around out-of-range values into [0, 360] range\n // then convert into [0, 1].\n n = (n < 0 ? (n % max) + max : n % max) / parseFloat(String(max));\n }\n else {\n // If n not a hue given in degrees\n // Convert into [0, 1] range if it isn't already.\n n = (n % max) / parseFloat(String(max));\n }\n return n;\n}\n/**\n * Force a number between 0 and 1\n * @hidden\n */\nexport function clamp01(val) {\n return Math.min(1, Math.max(0, val));\n}\n/**\n * Need to handle 1.0 as 100%, since once it is a number, there is no difference between it and 1\n * <http://stackoverflow.com/questions/7422072/javascript-how-to-detect-number-as-a-decimal-including-1-0>\n * @hidden\n */\nexport function isOnePointZero(n) {\n return typeof n === 'string' && n.indexOf('.') !== -1 && parseFloat(n) === 1;\n}\n/**\n * Check to see if string passed in is a percentage\n * @hidden\n */\nexport function isPercentage(n) {\n return typeof n === 'string' && n.indexOf('%') !== -1;\n}\n/**\n * Return a valid alpha value [0,1] with all invalid values being set to 1\n * @hidden\n */\nexport function boundAlpha(a) {\n a = parseFloat(a);\n if (isNaN(a) || a < 0 || a > 1) {\n a = 1;\n }\n return a;\n}\n/**\n * Replace a decimal with it's percentage value\n * @hidden\n */\nexport function convertToPercentage(n) {\n if (n <= 1) {\n return \"\".concat(Number(n) * 100, \"%\");\n }\n return n;\n}\n/**\n * Force a hex value to have 2 characters\n * @hidden\n */\nexport function pad2(c) {\n return c.length === 1 ? '0' + c : String(c);\n}\n","import { bound01, pad2 } from './util.js';\n// `rgbToHsl`, `rgbToHsv`, `hslToRgb`, `hsvToRgb` modified from:\n// <http://mjijackson.com/2008/02/rgb-to-hsl-and-rgb-to-hsv-color-model-conversion-algorithms-in-javascript>\n/**\n * Handle bounds / percentage checking to conform to CSS color spec\n * <http://www.w3.org/TR/css3-color/>\n * *Assumes:* r, g, b in [0, 255] or [0, 1]\n * *Returns:* { r, g, b } in [0, 255]\n */\nexport function rgbToRgb(r, g, b) {\n return {\n r: bound01(r, 255) * 255,\n g: bound01(g, 255) * 255,\n b: bound01(b, 255) * 255,\n };\n}\n/**\n * Converts an RGB color value to HSL.\n * *Assumes:* r, g, and b are contained in [0, 255] or [0, 1]\n * *Returns:* { h, s, l } in [0,1]\n */\nexport function rgbToHsl(r, g, b) {\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n var max = Math.max(r, g, b);\n var min = Math.min(r, g, b);\n var h = 0;\n var s = 0;\n var l = (max + min) / 2;\n if (max === min) {\n s = 0;\n h = 0; // achromatic\n }\n else {\n var d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / d + 2;\n break;\n case b:\n h = (r - g) / d + 4;\n break;\n default:\n break;\n }\n h /= 6;\n }\n return { h: h, s: s, l: l };\n}\nfunction hue2rgb(p, q, t) {\n if (t < 0) {\n t += 1;\n }\n if (t > 1) {\n t -= 1;\n }\n if (t < 1 / 6) {\n return p + (q - p) * (6 * t);\n }\n if (t < 1 / 2) {\n return q;\n }\n if (t < 2 / 3) {\n return p + (q - p) * (2 / 3 - t) * 6;\n }\n return p;\n}\n/**\n * Converts an HSL color value to RGB.\n *\n * *Assumes:* h is contained in [0, 1] or [0, 360] and s and l are contained [0, 1] or [0, 100]\n * *Returns:* { r, g, b } in the set [0, 255]\n */\nexport function hslToRgb(h, s, l) {\n var r;\n var g;\n var b;\n h = bound01(h, 360);\n s = bound01(s, 100);\n l = bound01(l, 100);\n if (s === 0) {\n // achromatic\n g = l;\n b = l;\n r = l;\n }\n else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1 / 3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1 / 3);\n }\n return { r: r * 255, g: g * 255, b: b * 255 };\n}\n/**\n * Converts an RGB color value to HSV\n *\n * *Assumes:* r, g, and b are contained in the set [0, 255] or [0, 1]\n * *Returns:* { h, s, v } in [0,1]\n */\nexport function rgbToHsv(r, g, b) {\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n var max = Math.max(r, g, b);\n var min = Math.min(r, g, b);\n var h = 0;\n var v = max;\n var d = max - min;\n var s = max === 0 ? 0 : d / max;\n if (max === min) {\n h = 0; // achromatic\n }\n else {\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / d + 2;\n break;\n case b:\n h = (r - g) / d + 4;\n break;\n default:\n break;\n }\n h /= 6;\n }\n return { h: h, s: s, v: v };\n}\n/**\n * Converts an HSV color value to RGB.\n *\n * *Assumes:* h is contained in [0, 1] or [0, 360] and s and v are contained in [0, 1] or [0, 100]\n * *Returns:* { r, g, b } in the set [0, 255]\n */\nexport function hsvToRgb(h, s, v) {\n h = bound01(h, 360) * 6;\n s = bound01(s, 100);\n v = bound01(v, 100);\n var i = Math.floor(h);\n var f = h - i;\n var p = v * (1 - s);\n var q = v * (1 - f * s);\n var t = v * (1 - (1 - f) * s);\n var mod = i % 6;\n var r = [v, q, p, p, t, v][mod];\n var g = [t, v, v, q, p, p][mod];\n var b = [p, p, t, v, v, q][mod];\n return { r: r * 255, g: g * 255, b: b * 255 };\n}\n/**\n * Converts an RGB color to hex\n *\n * Assumes r, g, and b are contained in the set [0, 255]\n * Returns a 3 or 6 character hex\n */\nexport function rgbToHex(r, g, b, allow3Char) {\n var hex = [\n pad2(Math.round(r).toString(16)),\n pad2(Math.round(g).toString(16)),\n pad2(Math.round(b).toString(16)),\n ];\n // Return a 3 character hex if possible\n if (allow3Char &&\n hex[0].startsWith(hex[0].charAt(1)) &&\n hex[1].startsWith(hex[1].charAt(1)) &&\n hex[2].startsWith(hex[2].charAt(1))) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0);\n }\n return hex.join('');\n}\n/**\n * Converts an RGBA color plus alpha transparency to hex\n *\n * Assumes r, g, b are contained in the set [0, 255] and\n * a in [0, 1]. Returns a 4 or 8 character rgba hex\n */\n// eslint-disable-next-line max-params\nexport function rgbaToHex(r, g, b, a, allow4Char) {\n var hex = [\n pad2(Math.round(r).toString(16)),\n pad2(Math.round(g).toString(16)),\n pad2(Math.round(b).toString(16)),\n pad2(convertDecimalToHex(a)),\n ];\n // Return a 4 character hex if possible\n if (allow4Char &&\n hex[0].startsWith(hex[0].charAt(1)) &&\n hex[1].startsWith(hex[1].charAt(1)) &&\n hex[2].startsWith(hex[2].charAt(1)) &&\n hex[3].startsWith(hex[3].charAt(1))) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0) + hex[3].charAt(0);\n }\n return hex.join('');\n}\n/**\n * Converts an RGBA color to an ARGB Hex8 string\n * Rarely used, but required for \"toFilter()\"\n */\nexport function rgbaToArgbHex(r, g, b, a) {\n var hex = [\n pad2(convertDecimalToHex(a)),\n pad2(Math.round(r).toString(16)),\n pad2(Math.round(g).toString(16)),\n pad2(Math.round(b).toString(16)),\n ];\n return hex.join('');\n}\n/** Converts a decimal to a hex value */\nexport function convertDecimalToHex(d) {\n return Math.round(parseFloat(d) * 255).toString(16);\n}\n/** Converts a hex value to a decimal */\nexport function convertHexToDecimal(h) {\n return parseIntFromHex(h) / 255;\n}\n/** Parse a base-16 hex value into a base-10 integer */\nexport function parseIntFromHex(val) {\n return parseInt(val, 16);\n}\nexport function numberInputToObject(color) {\n return {\n r: color >> 16,\n g: (color & 0xff00) >> 8,\n b: color & 0xff,\n };\n}\n","// https://github.com/bahamas10/css-color-names/blob/master/css-color-names.json\n/**\n * @hidden\n */\nexport var names = {\n aliceblue: '#f0f8ff',\n antiquewhite: '#faebd7',\n aqua: '#00ffff',\n aquamarine: '#7fffd4',\n azure: '#f0ffff',\n beige: '#f5f5dc',\n bisque: '#ffe4c4',\n black: '#000000',\n blanchedalmond: '#ffebcd',\n blue: '#0000ff',\n blueviolet: '#8a2be2',\n brown: '#a52a2a',\n burlywood: '#deb887',\n cadetblue: '#5f9ea0',\n chartreuse: '#7fff00',\n chocolate: '#d2691e',\n coral: '#ff7f50',\n cornflowerblue: '#6495ed',\n cornsilk: '#fff8dc',\n crimson: '#dc143c',\n cyan: '#00ffff',\n darkblue: '#00008b',\n darkcyan: '#008b8b',\n darkgoldenrod: '#b8860b',\n darkgray: '#a9a9a9',\n darkgreen: '#006400',\n darkgrey: '#a9a9a9',\n darkkhaki: '#bdb76b',\n darkmagenta: '#8b008b',\n darkolivegreen: '#556b2f',\n darkorange: '#ff8c00',\n darkorchid: '#9932cc',\n darkred: '#8b0000',\n darksalmon: '#e9967a',\n darkseagreen: '#8fbc8f',\n darkslateblue: '#483d8b',\n darkslategray: '#2f4f4f',\n darkslategrey: '#2f4f4f',\n darkturquoise: '#00ced1',\n darkviolet: '#9400d3',\n deeppink: '#ff1493',\n deepskyblue: '#00bfff',\n dimgray: '#696969',\n dimgrey: '#696969',\n dodgerblue: '#1e90ff',\n firebrick: '#b22222',\n floralwhite: '#fffaf0',\n forestgreen: '#228b22',\n fuchsia: '#ff00ff',\n gainsboro: '#dcdcdc',\n ghostwhite: '#f8f8ff',\n goldenrod: '#daa520',\n gold: '#ffd700',\n gray: '#808080',\n green: '#008000',\n greenyellow: '#adff2f',\n grey: '#808080',\n honeydew: '#f0fff0',\n hotpink: '#ff69b4',\n indianred: '#cd5c5c',\n indigo: '#4b0082',\n ivory: '#fffff0',\n khaki: '#f0e68c',\n lavenderblush: '#fff0f5',\n lavender: '#e6e6fa',\n lawngreen: '#7cfc00',\n lemonchiffon: '#fffacd',\n lightblue: '#add8e6',\n lightcoral: '#f08080',\n lightcyan: '#e0ffff',\n lightgoldenrodyellow: '#fafad2',\n lightgray: '#d3d3d3',\n lightgreen: '#90ee90',\n lightgrey: '#d3d3d3',\n lightpink: '#ffb6c1',\n lightsalmon: '#ffa07a',\n lightseagreen: '#20b2aa',\n lightskyblue: '#87cefa',\n lightslategray: '#778899',\n lightslategrey: '#778899',\n lightsteelblue: '#b0c4de',\n lightyellow: '#ffffe0',\n lime: '#00ff00',\n limegreen: '#32cd32',\n linen: '#faf0e6',\n magenta: '#ff00ff',\n maroon: '#800000',\n mediumaquamarine: '#66cdaa',\n mediumblue: '#0000cd',\n mediumorchid: '#ba55d3',\n mediumpurple: '#9370db',\n mediumseagreen: '#3cb371',\n mediumslateblue: '#7b68ee',\n mediumspringgreen: '#00fa9a',\n mediumturquoise: '#48d1cc',\n mediumvioletred: '#c71585',\n midnightblue: '#191970',\n mintcream: '#f5fffa',\n mistyrose: '#ffe4e1',\n moccasin: '#ffe4b5',\n navajowhite: '#ffdead',\n navy: '#000080',\n oldlace: '#fdf5e6',\n olive: '#808000',\n olivedrab: '#6b8e23',\n orange: '#ffa500',\n orangered: '#ff4500',\n orchid: '#da70d6',\n palegoldenrod: '#eee8aa',\n palegreen: '#98fb98',\n paleturquoise: '#afeeee',\n palevioletred: '#db7093',\n papayawhip: '#ffefd5',\n peachpuff: '#ffdab9',\n peru: '#cd853f',\n pink: '#ffc0cb',\n plum: '#dda0dd',\n powderblue: '#b0e0e6',\n purple: '#800080',\n rebeccapurple: '#663399',\n red: '#ff0000',\n rosybrown: '#bc8f8f',\n royalblue: '#4169e1',\n saddlebrown: '#8b4513',\n salmon: '#fa8072',\n sandybrown: '#f4a460',\n seagreen: '#2e8b57',\n seashell: '#fff5ee',\n sienna: '#a0522d',\n silver: '#c0c0c0',\n skyblue: '#87ceeb',\n slateblue: '#6a5acd',\n slategray: '#708090',\n slategrey: '#708090',\n snow: '#fffafa',\n springgreen: '#00ff7f',\n steelblue: '#4682b4',\n tan: '#d2b48c',\n teal: '#008080',\n thistle: '#d8bfd8',\n tomato: '#ff6347',\n turquoise: '#40e0d0',\n violet: '#ee82ee',\n wheat: '#f5deb3',\n white: '#ffffff',\n whitesmoke: '#f5f5f5',\n yellow: '#ffff00',\n yellowgreen: '#9acd32',\n};\n","/* eslint-disable @typescript-eslint/no-redundant-type-constituents */\nimport { convertHexToDecimal, hslToRgb, hsvToRgb, parseIntFromHex, rgbToRgb, } from './conversion.js';\nimport { names } from './css-color-names.js';\nimport { boundAlpha, convertToPercentage } from './util.js';\n/**\n * Given a string or object, convert that input to RGB\n *\n * Possible string inputs:\n * ```\n * \"red\"\n * \"#f00\" or \"f00\"\n * \"#ff0000\" or \"ff0000\"\n * \"#ff000000\" or \"ff000000\"\n * \"rgb 255 0 0\" or \"rgb (255, 0, 0)\"\n * \"rgb 1.0 0 0\" or \"rgb (1, 0, 0)\"\n * \"rgba (255, 0, 0, 1)\" or \"rgba 255, 0, 0, 1\"\n * \"rgba (1.0, 0, 0, 1)\" or \"rgba 1.0, 0, 0, 1\"\n * \"hsl(0, 100%, 50%)\" or \"hsl 0 100% 50%\"\n * \"hsla(0, 100%, 50%, 1)\" or \"hsla 0 100% 50%, 1\"\n * \"hsv(0, 100%, 100%)\" or \"hsv 0 100% 100%\"\n * ```\n */\nexport function inputToRGB(color) {\n var rgb = { r: 0, g: 0, b: 0 };\n var a = 1;\n var s = null;\n var v = null;\n var l = null;\n var ok = false;\n var format = false;\n if (typeof color === 'string') {\n color = stringInputToObject(color);\n }\n if (typeof color === 'object') {\n if (isValidCSSUnit(color.r) && isValidCSSUnit(color.g) && isValidCSSUnit(color.b)) {\n rgb = rgbToRgb(color.r, color.g, color.b);\n ok = true;\n format = String(color.r).substr(-1) === '%' ? 'prgb' : 'rgb';\n }\n else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.v)) {\n s = convertToPercentage(color.s);\n v = convertToPercentage(color.v);\n rgb = hsvToRgb(color.h, s, v);\n ok = true;\n format = 'hsv';\n }\n else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.l)) {\n s = convertToPercentage(color.s);\n l = convertToPercentage(color.l);\n rgb = hslToRgb(color.h, s, l);\n ok = true;\n format = 'hsl';\n }\n if (Object.prototype.hasOwnProperty.call(color, 'a')) {\n a = color.a;\n }\n }\n a = boundAlpha(a);\n return {\n ok: ok,\n format: color.format || format,\n r: Math.min(255, Math.max(rgb.r, 0)),\n g: Math.min(255, Math.max(rgb.g, 0)),\n b: Math.min(255, Math.max(rgb.b, 0)),\n a: a,\n };\n}\n// <http://www.w3.org/TR/css3-values/#integers>\nvar CSS_INTEGER = '[-\\\\+]?\\\\d+%?';\n// <http://www.w3.org/TR/css3-values/#number-value>\nvar CSS_NUMBER = '[-\\\\+]?\\\\d*\\\\.\\\\d+%?';\n// Allow positive/negative integer/number. Don't capture the either/or, just the entire outcome.\nvar CSS_UNIT = \"(?:\".concat(CSS_NUMBER, \")|(?:\").concat(CSS_INTEGER, \")\");\n// Actual matching.\n// Parentheses and commas are optional, but not required.\n// Whitespace can take the place of commas or opening paren\nvar PERMISSIVE_MATCH3 = \"[\\\\s|\\\\(]+(\".concat(CSS_UNIT, \")[,|\\\\s]+(\").concat(CSS_UNIT, \")[,|\\\\s]+(\").concat(CSS_UNIT, \")\\\\s*\\\\)?\");\nvar PERMISSIVE_MATCH4 = \"[\\\\s|\\\\(]+(\".concat(CSS_UNIT, \")[,|\\\\s]+(\").concat(CSS_UNIT, \")[,|\\\\s]+(\").concat(CSS_UNIT, \")[,|\\\\s]+(\").concat(CSS_UNIT, \")\\\\s*\\\\)?\");\nvar matchers = {\n CSS_UNIT: new RegExp(CSS_UNIT),\n rgb: new RegExp('rgb' + PERMISSIVE_MATCH3),\n rgba: new RegExp('rgba' + PERMISSIVE_MATCH4),\n hsl: new RegExp('hsl' + PERMISSIVE_MATCH3),\n hsla: new RegExp('hsla' + PERMISSIVE_MATCH4),\n hsv: new RegExp('hsv' + PERMISSIVE_MATCH3),\n hsva: new RegExp('hsva' + PERMISSIVE_MATCH4),\n hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,\n hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,\n};\n/**\n * Permissive string parsing. Take in a number of formats, and output an object\n * based on detected format. Returns `{ r, g, b }` or `{ h, s, l }` or `{ h, s, v}`\n */\nexport function stringInputToObject(color) {\n color = color.trim().toLowerCase();\n if (color.length === 0) {\n return false;\n }\n var named = false;\n if (names[color]) {\n color = names[color];\n named = true;\n }\n else if (color === 'transparent') {\n return { r: 0, g: 0, b: 0, a: 0, format: 'name' };\n }\n // Try to match string input using regular expressions.\n // Keep most of the number bounding out of this function - don't worry about [0,1] or [0,100] or [0,360]\n // Just return an object and let the conversion functions handle that.\n // This way the result will be the same whether the tinycolor is initialized with string or object.\n var match = matchers.rgb.exec(color);\n if (match) {\n return { r: match[1], g: match[2], b: match[3] };\n }\n match = matchers.rgba.exec(color);\n if (match) {\n return { r: match[1], g: match[2], b: match[3], a: match[4] };\n }\n match = matchers.hsl.exec(color);\n if (match) {\n return { h: match[1], s: match[2], l: match[3] };\n }\n match = matchers.hsla.exec(color);\n if (match) {\n return { h: match[1], s: match[2], l: match[3], a: match[4] };\n }\n match = matchers.hsv.exec(color);\n if (match) {\n return { h: match[1], s: match[2], v: match[3] };\n }\n match = matchers.hsva.exec(color);\n if (match) {\n return { h: match[1], s: match[2], v: match[3], a: match[4] };\n }\n match = matchers.hex8.exec(color);\n if (match) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n a: convertHexToDecimal(match[4]),\n format: named ? 'name' : 'hex8',\n };\n }\n match = matchers.hex6.exec(color);\n if (match) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n format: named ? 'name' : 'hex',\n };\n }\n match = matchers.hex4.exec(color);\n if (match) {\n return {\n r: parseIntFromHex(match[1] + match[1]),\n g: parseIntFromHex(match[2] + match[2]),\n b: parseIntFromHex(match[3] + match[3]),\n a: convertHexToDecimal(match[4] + match[4]),\n format: named ? 'name' : 'hex8',\n };\n }\n match = matchers.hex3.exec(color);\n if (match) {\n return {\n r: parseIntFromHex(match[1] + match[1]),\n g: parseIntFromHex(match[2] + match[2]),\n b: parseIntFromHex(match[3] + match[3]),\n format: named ? 'name' : 'hex',\n };\n }\n return false;\n}\n/**\n * Check to see if it looks like a CSS unit\n * (see `matchers` above for definition).\n */\nexport function isValidCSSUnit(color) {\n return Boolean(matchers.CSS_UNIT.exec(String(color)));\n}\n","import { numberInputToObject, rgbaToHex, rgbToHex, rgbToHsl, rgbToHsv } from './conversion.js';\nimport { names } from './css-color-names.js';\nimport { inputToRGB } from './format-input';\nimport { bound01, boundAlpha, clamp01 } from './util.js';\nvar TinyColor = /** @class */ (function () {\n function TinyColor(color, opts) {\n if (color === void 0) { color = ''; }\n if (opts === void 0) { opts = {}; }\n var _a;\n // If input is already a tinycolor, return itself\n if (color instanceof TinyColor) {\n // eslint-disable-next-line no-constructor-return\n return color;\n }\n if (typeof color === 'number') {\n color = numberInputToObject(color);\n }\n this.originalInput = color;\n var rgb = inputToRGB(color);\n this.originalInput = color;\n this.r = rgb.r;\n this.g = rgb.g;\n this.b = rgb.b;\n this.a = rgb.a;\n this.roundA = Math.round(100 * this.a) / 100;\n this.format = (_a = opts.format) !== null && _a !== void 0 ? _a : rgb.format;\n this.gradientType = opts.gradientType;\n // Don't let the range of [0,255] come back in [0,1].\n // Potentially lose a little bit of precision here, but will fix issues where\n // .5 gets interpreted as half of the total, instead of half of 1\n // If it was supposed to be 128, this was already taken care of by `inputToRgb`\n if (this.r < 1) {\n this.r = Math.round(this.r);\n }\n if (this.g < 1) {\n this.g = Math.round(this.g);\n }\n if (this.b < 1) {\n this.b = Math.round(this.b);\n }\n this.isValid = rgb.ok;\n }\n TinyColor.prototype.isDark = function () {\n return this.getBrightness() < 128;\n };\n TinyColor.prototype.isLight = function () {\n return !this.isDark();\n };\n /**\n * Returns the perceived brightness of the color, from 0-255.\n */\n TinyColor.prototype.getBrightness = function () {\n // http://www.w3.org/TR/AERT#color-contrast\n var rgb = this.toRgb();\n return (rgb.r * 299 + rgb.g * 587 + rgb.b * 114) / 1000;\n };\n /**\n * Returns the perceived luminance of a color, from 0-1.\n */\n TinyColor.prototype.getLuminance = function () {\n // http://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef\n var rgb = this.toRgb();\n var R;\n var G;\n var B;\n var RsRGB = rgb.r / 255;\n var GsRGB = rgb.g / 255;\n var BsRGB = rgb.b / 255;\n if (RsRGB <= 0.03928) {\n R = RsRGB / 12.92;\n }\n else {\n // eslint-disable-next-line prefer-exponentiation-operator\n R = Math.pow((RsRGB + 0.055) / 1.055, 2.4);\n }\n if (GsRGB <= 0.03928) {\n G = GsRGB / 12.92;\n }\n else {\n // eslint-disable-next-line prefer-exponentiation-operator\n G = Math.pow((GsRGB + 0.055) / 1.055, 2.4);\n }\n if (BsRGB <= 0.03928) {\n B = BsRGB / 12.92;\n }\n else {\n // eslint-disable-next-line prefer-exponentiation-operator\n B = Math.pow((BsRGB + 0.055) / 1.055, 2.4);\n }\n return 0.2126 * R + 0.7152 * G + 0.0722 * B;\n };\n /**\n * Returns the alpha value of a color, from 0-1.\n */\n TinyColor.prototype.getAlpha = function () {\n return this.a;\n };\n /**\n * Sets the alpha value on the current color.\n *\n * @param alpha - The new alpha value. The accepted range is 0-1.\n */\n TinyColor.prototype.setAlpha = function (alpha) {\n this.a = boundAlpha(alpha);\n this.roundA = Math.round(100 * this.a) / 100;\n return this;\n };\n /**\n * Returns whether the color is monochrome.\n */\n TinyColor.prototype.isMonochrome = function () {\n var s = this.toHsl().s;\n return s === 0;\n };\n /**\n * Returns the object as a HSVA object.\n */\n TinyColor.prototype.toHsv = function () {\n var hsv = rgbToHsv(this.r, this.g, this.b);\n return { h: hsv.h * 360, s: hsv.s, v: hsv.v, a: this.a };\n };\n /**\n * Returns the hsva values interpolated into a string with the following format:\n * \"hsva(xxx, xxx, xxx, xx)\".\n */\n TinyColor.prototype.toHsvString = function () {\n var hsv = rgbToHsv(this.r, this.g, this.b);\n var h = Math.round(hsv.h * 360);\n var s = Math.round(hsv.s * 100);\n var v = Math.round(hsv.v * 100);\n return this.a === 1 ? \"hsv(\".concat(h, \", \").concat(s, \"%, \").concat(v, \"%)\") : \"hsva(\".concat(h, \", \").concat(s, \"%, \").concat(v, \"%, \").concat(this.roundA, \")\");\n };\n /**\n * Returns the object as a HSLA object.\n */\n TinyColor.prototype.toHsl = function () {\n var hsl = rgbToHsl(this.r, this.g, this.b);\n return { h: hsl.h * 360, s: hsl.s, l: hsl.l, a: this.a };\n };\n /**\n * Returns the hsla values interpolated into a string with the following format:\n * \"hsla(xxx, xxx, xxx, xx)\".\n */\n TinyColor.prototype.toHslString = function () {\n var hsl = rgbToHsl(this.r, this.g, this.b);\n var h = Math.round(hsl.h * 360);\n var s = Math.round(hsl.s * 100);\n var l = Math.round(hsl.l * 100);\n return this.a === 1 ? \"hsl(\".concat(h, \", \").concat(s, \"%, \").concat(l, \"%)\") : \"hsla(\".concat(h, \", \").concat(s, \"%, \").concat(l, \"%, \").concat(this.roundA, \")\");\n };\n /**\n * Returns the hex value of the color.\n * @param allow3Char will shorten hex value to 3 char if possible\n */\n TinyColor.prototype.toHex = function (allow3Char) {\n if (allow3Char === void 0) { allow3Char = false; }\n return rgbToHex(this.r, this.g, this.b, allow3Char);\n };\n /**\n * Returns the hex value of the color -with a # prefixed.\n * @param allow3Char will shorten hex value to 3 char if possible\n */\n TinyColor.prototype.toHexString = function (allow3Char) {\n if (allow3Char === void 0) { allow3Char = false; }\n return '#' + this.toHex(allow3Char);\n };\n /**\n * Returns the hex 8 value of the color.\n * @param allow4Char will shorten hex value to 4 char if possible\n */\n TinyColor.prototype.toHex8 = function (allow4Char) {\n if (allow4Char === void 0) { allow4Char = false; }\n return rgbaToHex(this.r, this.g, this.b, this.a, allow4Char);\n };\n /**\n * Returns the hex 8 value of the color -with a # prefixed.\n * @param allow4Char will shorten hex value to 4 char if possible\n */\n TinyColor.prototype.toHex8String = function (allow4Char) {\n if (allow4Char === void 0) { allow4Char = false; }\n return '#' + this.toHex8(allow4Char);\n };\n /**\n * Returns the shorter hex value of the color depends on its alpha -with a # prefixed.\n * @param allowShortChar will shorten hex value to 3 or 4 char if possible\n */\n TinyColor.prototype.toHexShortString = function (allowShortChar) {\n if (allowShortChar === void 0) { allowShortChar = false; }\n return this.a === 1 ? this.toHexString(allowShortChar) : this.toHex8String(allowShortChar);\n };\n /**\n * Returns the object as a RGBA object.\n */\n TinyColor.prototype.toRgb = function () {\n return {\n r: Math.round(this.r),\n g: Math.round(this.g),\n b: Math.round(this.b),\n a: this.a,\n };\n };\n /**\n * Returns the RGBA values interpolated into a string with the following format:\n * \"RGBA(xxx, xxx, xxx, xx)\".\n */\n TinyColor.prototype.toRgbString = function () {\n var r = Math.round(this.r);\n var g = Math.round(this.g);\n var b = Math.round(this.b);\n return this.a === 1 ? \"rgb(\".concat(r, \", \").concat(g, \", \").concat(b, \")\") : \"rgba(\".concat(r, \", \").concat(g, \", \").concat(b, \", \").concat(this.roundA, \")\");\n };\n /**\n * Returns the object as a RGBA object.\n */\n TinyColor.prototype.toPercentageRgb = function () {\n var fmt = function (x) { return \"\".concat(Math.round(bound01(x, 255) * 100), \"%\"); };\n return {\n r: fmt(this.r),\n g: fmt(this.g),\n b: fmt(this.b),\n a: this.a,\n };\n };\n /**\n * Returns the RGBA relative values interpolated into a string\n */\n TinyColor.prototype.toPercentageRgbString = function () {\n var rnd = function (x) { return Math.round(bound01(x, 255) * 100); };\n return this.a === 1\n ? \"rgb(\".concat(rnd(this.r), \"%, \").concat(rnd(this.g), \"%, \").concat(rnd(this.b), \"%)\")\n : \"rgba(\".concat(rnd(this.r), \"%, \").concat(rnd(this.g), \"%, \").concat(rnd(this.b), \"%, \").concat(this.roundA, \")\");\n };\n /**\n * The 'real' name of the color -if there is one.\n */\n TinyColor.prototype.toName = function () {\n if (this.a === 0) {\n return 'transparent';\n }\n if (this.a < 1) {\n return false;\n }\n var hex = '#' + rgbToHex(this.r, this.g, this.b, false);\n for (var _i = 0, _a = Object.entries(names); _i < _a.length; _i++) {\n var _b = _a[_i], key = _b[0], value = _b[1];\n if (hex === value) {\n return key;\n }\n }\n return false;\n };\n TinyColor.prototype.toString = function (format) {\n var formatSet = Boolean(format);\n format = format !== null && format !== void 0 ? format : this.format;\n var formattedString = false;\n var hasAlpha = this.a < 1 && this.a >= 0;\n var needsAlphaFormat = !formatSet && hasAlpha && (format.startsWith('hex') || format === 'name');\n if (needsAlphaFormat) {\n // Special case for \"transparent\", all other non-alpha formats\n // will return rgba when there is transparency.\n if (format === 'name' && this.a === 0) {\n return this.toName();\n }\n return this.toRgbString();\n }\n if (format === 'rgb') {\n formattedString = this.toRgbString();\n }\n if (format === 'prgb') {\n formattedString = this.toPercentageRgbString();\n }\n if (format === 'hex' || format === 'hex6') {\n formattedString = this.toHexString();\n }\n if (format === 'hex3') {\n formattedString = this.toHexString(true);\n }\n if (format === 'hex4') {\n formattedString = this.toHex8String(true);\n }\n if (format === 'hex8') {\n formattedString = this.toHex8String();\n }\n if (format === 'name') {\n formattedString = this.toName();\n }\n if (format === 'hsl') {\n formattedString = this.toHslString();\n }\n if (format === 'hsv') {\n formattedString = this.toHsvString();\n }\n return formattedString || this.toHexString();\n };\n TinyColor.prototype.toNumber = function () {\n return (Math.round(this.r) << 16) + (Math.round(this.g) << 8) + Math.round(this.b);\n };\n TinyColor.prototype.clone = function () {\n return new TinyColor(this.toString());\n };\n /**\n * Lighten the color a given amount. Providing 100 will always return white.\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.lighten = function (amount) {\n if (amount === void 0) { amount = 10; }\n var hsl = this.toHsl();\n hsl.l += amount / 100;\n hsl.l = clamp01(hsl.l);\n return new TinyColor(hsl);\n };\n /**\n * Brighten the color a given amount, from 0 to 100.\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.brighten = function (amount) {\n if (amount === void 0) { amount = 10; }\n var rgb = this.toRgb();\n rgb.r = Math.max(0, Math.min(255, rgb.r - Math.round(255 * -(amount / 100))));\n rgb.g = Math.max(0, Math.min(255, rgb.g - Math.round(255 * -(amount / 100))));\n rgb.b = Math.max(0, Math.min(255, rgb.b - Math.round(255 * -(amount / 100))));\n return new TinyColor(rgb);\n };\n /**\n * Darken the color a given amount, from 0 to 100.\n * Providing 100 will always return black.\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.darken = function (amount) {\n if (amount === void 0) { amount = 10; }\n var hsl = this.toHsl();\n hsl.l -= amount / 100;\n hsl.l = clamp01(hsl.l);\n return new TinyColor(hsl);\n };\n /**\n * Mix the color with pure white, from 0 to 100.\n * Providing 0 will do nothing, providing 100 will always return white.\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.tint = function (amount) {\n if (amount === void 0) { amount = 10; }\n return this.mix('white', amount);\n };\n /**\n * Mix the color with pure black, from 0 to 100.\n * Providing 0 will do nothing, providing 100 will always return black.\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.shade = function (amount) {\n if (amount === void 0) { amount = 10; }\n return this.mix('black', amount);\n };\n /**\n * Desaturate the color a given amount, from 0 to 100.\n * Providing 100 will is the same as calling greyscale\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.desaturate = function (amount) {\n if (amount === void 0) { amount = 10; }\n var hsl = this.toHsl();\n hsl.s -= amount / 100;\n hsl.s = clamp01(hsl.s);\n return new TinyColor(hsl);\n };\n /**\n * Saturate the color a given amount, from 0 to 100.\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.saturate = function (amount) {\n if (amount === void 0) { amount = 10; }\n var hsl = this.toHsl();\n hsl.s += amount / 100;\n hsl.s = clamp01(hsl.s);\n return new TinyColor(hsl);\n };\n /**\n * Completely desaturates a color into greyscale.\n * Same as calling `desaturate(100)`\n */\n TinyColor.prototype.greyscale = function () {\n return this.desaturate(100);\n };\n /**\n * Spin takes a positive or negative amount within [-360, 360] indicating the change of hue.\n * Values outside of this range will be wrapped into this range.\n */\n TinyColor.prototype.spin = function (amount) {\n var hsl = this.toHsl();\n var hue = (hsl.h + amount) % 360;\n hsl.h = hue < 0 ? 360 + hue : hue;\n return new TinyColor(hsl);\n };\n /**\n * Mix the current color a given amount with another color, from 0 to 100.\n * 0 means no mixing (return current color).\n */\n TinyColor.prototype.mix = function (color, amount) {\n if (amount === void 0) { amount = 50; }\n var rgb1 = this.toRgb();\n var rgb2 = new TinyColor(color).toRgb();\n var p = amount / 100;\n var rgba = {\n r: (rgb2.r - rgb1.r) * p + rgb1.r,\n g: (rgb2.g - rgb1.g) * p + rgb1.g,\n b: (rgb2.b - rgb1.b) * p + rgb1.b,\n a: (rgb2.a - rgb1.a) * p + rgb1.a,\n };\n return new TinyColor(rgba);\n };\n TinyColor.prototype.analogous = function (results, slices) {\n if (results === void 0) { results = 6; }\n if (slices === void 0) { slices = 30; }\n var hsl = this.toHsl();\n var part = 360 / slices;\n var ret = [this];\n for (hsl.h = (hsl.h - ((part * results) >> 1) + 720) % 360; --results;) {\n hsl.h = (hsl.h + part) % 360;\n ret.push(new TinyColor(hsl));\n }\n return ret;\n };\n /**\n * taken from https://github.com/infusion/jQuery-xcolor/blob/master/jquery.xcolor.js\n */\n TinyColor.prototype.complement = function () {\n var hsl = this.toHsl();\n hsl.h = (hsl.h + 180) % 360;\n return new TinyColor(hsl);\n };\n TinyColor.prototype.monochromatic = function (results) {\n if (results === void 0) { results = 6; }\n var hsv = this.toHsv();\n var h = hsv.h;\n var s = hsv.s;\n var v = hsv.v;\n var res = [];\n var modification = 1 / results;\n while (results--) {\n res.push(new TinyColor({ h: h, s: s, v: v }));\n v = (v + modification) % 1;\n }\n return res;\n };\n TinyColor.prototype.splitcomplement = function () {\n var hsl = this.toHsl();\n var h = hsl.h;\n return [\n this,\n new TinyColor({ h: (h + 72) % 360, s: hsl.s, l: hsl.l }),\n new TinyColor({ h: (h + 216) % 360, s: hsl.s, l: hsl.l }),\n ];\n };\n /**\n * Compute how the color would appear on a background\n */\n TinyColor.prototype.onBackground = function (background) {\n var fg = this.toRgb();\n var bg = new TinyColor(background).toRgb();\n var alpha = fg.a + bg.a * (1 - fg.a);\n return new TinyColor({\n r: (fg.r * fg.a + bg.r * bg.a * (1 - fg.a)) / alpha,\n g: (fg.g * fg.a + bg.g * bg.a * (1 - fg.a)) / alpha,\n b: (fg.b * fg.a + bg.b * bg.a * (1 - fg.a)) / alpha,\n a: alpha,\n });\n };\n /**\n * Alias for `polyad(3)`\n */\n TinyColor.prototype.triad = function () {\n return this.polyad(3);\n };\n /**\n * Alias for `polyad(4)`\n */\n TinyColor.prototype.tetrad = function () {\n return this.polyad(4);\n };\n /**\n * Get polyad colors, like (for 1, 2, 3, 4, 5, 6, 7, 8, etc...)\n * monad, dyad, triad, tetrad, pentad, hexad, heptad, octad, etc...\n */\n TinyColor.prototype.polyad = function (n) {\n var hsl = this.toHsl();\n var h = hsl.h;\n var result = [this];\n var increment = 360 / n;\n for (var i = 1; i < n; i++) {\n result.push(new TinyColor({ h: (h + i * increment) % 360, s: hsl.s, l: hsl.l }));\n }\n return result;\n };\n /**\n * compare color vs current color\n */\n TinyColor.prototype.equals = function (color) {\n return this.toRgbString() === new TinyColor(color).toRgbString();\n };\n return TinyColor;\n}());\nexport { TinyColor };\n// kept for backwards compatability with v1\nexport function tinycolor(color, opts) {\n if (color === void 0) { color = ''; }\n if (opts === void 0) { opts = {}; }\n return new TinyColor(color, opts);\n}\n","import { TinyColor } from '@ctrl/tinycolor';\n\nfunction tinycolor(...args) {\n return new TinyColor(...args);\n}\n\nfunction _colorChange(data, oldHue) {\n const alpha = data && data.a;\n let color;\n\n // hsl is better than hex between conversions\n if (data && data.hsl)\n color = tinycolor(data.hsl);\n else if (data && data.hex && data.hex.length > 0)\n color = tinycolor(data.hex);\n else if (data && data.hsv)\n color = tinycolor(data.hsv);\n else if (data && data.rgba)\n color = tinycolor(data.rgba);\n else if (data && data.rgb)\n color = tinycolor(data.rgb);\n else\n color = tinycolor(data);\n\n if (color && (color._a === undefined || color._a === null))\n color.setAlpha(alpha || color.getAlpha());\n\n const hsl = color.toHsl();\n const hsv = color.toHsv();\n\n if (hsl.s === 0)\n hsv.h = hsl.h = data.h || (data.hsl && data.hsl.h) || oldHue || 0;\n\n /* --- comment this block to fix #109, may cause #25 again --- */\n // when the hsv.v is less than 0.0164 (base on test)\n // because of possible loss of precision\n // the result of hue and saturation would be miscalculated\n if (hsv.v < 0.0164) {\n hsv.h = data.h || (data.hsv && data.hsv.h) || 0;\n hsv.s = data.s || (data.hsv && data.hsv.s) || 0;\n }\n\n if (hsl.l < 0.01) {\n hsl.h = data.h || (data.hsl && data.hsl.h) || 0;\n hsl.s = data.s || (data.hsl && data.hsl.s) || 0;\n }\n /* ------ */\n\n return {\n hsl,\n hex: color.toHexString().toUpperCase(),\n hex8: color.toHex8String().toUpperCase(),\n rgba: color.toRgb(),\n hsv,\n oldHue: data.h || oldHue || hsl.h,\n source: data.source,\n a: color.getAlpha(),\n };\n}\n\nvar colorMixin = {\n model: {\n prop: 'modelValue',\n event: 'update:modelValue',\n },\n props: ['modelValue'],\n data() {\n return {\n val: _colorChange(this.modelValue),\n };\n },\n computed: {\n colors: {\n get() {\n return this.val;\n },\n set(newVal) {\n this.val = newVal;\n this.$emit('update:modelValue', newVal);\n },\n },\n },\n watch: {\n modelValue(newVal) {\n this.val = _colorChange(newVal);\n },\n },\n methods: {\n colorChange(data, oldHue) {\n this.oldHue = this.colors.hsl.h;\n this.colors = _colorChange(data, oldHue || this.oldHue);\n },\n isValidHex(hex) {\n return tinycolor(hex).isValid;\n },\n simpleCheckForValidColor(data) {\n const keysToCheck = ['r', 'g', 'b', 'a', 'h', 's', 'l', 'v'];\n let checked = 0;\n let passed = 0;\n\n for (let i = 0; i < keysToCheck.length; i++) {\n const letter = keysToCheck[i];\n if (data[letter]) {\n checked++;\n if (!isNaN(data[letter]))\n passed++;\n }\n }\n\n if (checked === passed)\n return data;\n },\n paletteUpperCase(palette) {\n return palette.map(c => c.toUpperCase());\n },\n isTransparent(color) {\n return tinycolor(color).getAlpha() === 0;\n },\n },\n};\n\nexport { colorMixin as default };\n","import { openBlock, createElementBlock, withDirectives, createElementVNode, vModelText, toDisplayString } from 'vue';\nimport { s as styleInject } from '../../style-inject.es-746bb8ed.js';\nimport { install } from '../../utils/compoent.js';\nimport '../../defaultConfig.js';\n\nvar script = {\n name: 'EditableInput',\n props: {\n label: String,\n labelText: String,\n desc: String,\n value: [String, Number],\n max: Number,\n min: Number,\n arrowOffset: {\n type: Number,\n default: 1,\n },\n },\n computed: {\n val: {\n get() {\n return this.value;\n },\n set(v) {\n // TODO: min\n if (!(this.max === undefined) && +v > this.max)\n this.$refs.input.value = this.max;\n else\n return v;\n },\n },\n labelId() {\n return `input__label__${this.label}__${Math.random().toString().slice(2, 5)}`;\n },\n labelSpanText() {\n return this.labelText || this.label;\n },\n },\n methods: {\n update(e) {\n this.handleChange(e.target.value);\n },\n handleChange(newVal) {\n const data = {};\n data[this.label] = newVal;\n if (data.hex === undefined && data['#'] === undefined)\n this.$emit('change', data);\n else if (newVal.length > 5)\n this.$emit('change', data);\n },\n // **** unused\n // handleBlur (e) {\n // console.log(e)\n // },\n handleKeyDown(e) {\n let { val } = this;\n const number = Number(val);\n\n if (number) {\n const amount = this.arrowOffset || 1;\n\n // Up\n if (e.keyCode === 38) {\n val = number + amount;\n this.handleChange(val);\n e.preventDefault();\n }\n\n // Down\n if (e.keyCode === 40) {\n val = number - amount;\n this.handleChange(val);\n e.preventDefault();\n }\n }\n },\n // **** unused\n // handleDrag (e) {\n // console.log(e)\n // },\n // handleMouseDown (e) {\n // console.log(e)\n // }\n },\n};\n\nconst _hoisted_1 = { class: \"vc-editable-input\" };\nconst _hoisted_2 = [\"aria-labelledby\"];\nconst _hoisted_3 = [\"id\", \"for\"];\nconst _hoisted_4 = { class: \"vc-input__desc\" };\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return (openBlock(), createElementBlock(\"div\", _hoisted_1, [\n withDirectives(createElementVNode(\"input\", {\n ref: \"input\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => (($options.val) = $event)),\n \"aria-labelledby\": $options.labelId,\n class: \"vc-input__input\",\n onKeydown: _cache[1] || (_cache[1] = (...args) => ($options.handleKeyDown && $options.handleKeyDown(...args))),\n onInput: _cache[2] || (_cache[2] = (...args) => ($options.update && $options.update(...args)))\n }, null, 40 /* PROPS, HYDRATE_EVENTS */, _hoisted_2), [\n [vModelText, $options.val]\n ]),\n createElementVNode(\"span\", {\n id: $options.labelId,\n for: $props.label,\n class: \"vc-input__label\"\n }, toDisplayString($options.labelSpanText), 9 /* TEXT, PROPS */, _hoisted_3),\n createElementVNode(\"span\", _hoisted_4, toDisplayString($props.desc), 1 /* TEXT */)\n ]))\n}\n\nvar css_248z = \".vc-editable-input{position:relative}.vc-input__input{border:0;outline:none;padding:0}.vc-input__label{text-transform:capitalize}\";\nstyleInject(css_248z);\n\nscript.render = render;\nscript.__file = \"src/components/editable-input/editable-input.vue\";\n\nscript.install = install;\n\nexport { script as default };\n","function clamp(value, min, max) {\n return min < max\n ? (value < min ? min : value > max ? max : value)\n : (value < max ? max : value > min ? min : value);\n}\n\nexport { clamp };\n","import { clamp } from '../../utils/utils.js';\nimport { openBlock, createElementBlock, normalizeStyle, createElementVNode } from 'vue';\nimport { s as styleInject } from '../../style-inject.es-746bb8ed.js';\nimport { install } from '../../utils/compoent.js';\nimport '../../defaultConfig.js';\n\nvar script = {\n name: 'Saturation',\n props: {\n value: Object,\n },\n computed: {\n colors() {\n return this.value;\n },\n bgColor() {\n return `hsl(${this.colors.hsv.h}, 100%, 50%)`;\n },\n pointerTop() {\n return `${(-(this.colors.hsv.v * 100) + 1) + 100}%`;\n },\n pointerLeft() {\n return `${this.colors.hsv.s * 100}%`;\n },\n },\n methods: {\n handleChange(e, skip) {\n !skip && e.preventDefault();\n const { container } = this.$refs;\n if (!container) {\n // for some edge cases, container may not exist. see #220\n return;\n }\n const containerWidth = container.clientWidth;\n const containerHeight = container.clientHeight;\n\n const xOffset = container.getBoundingClientRect().left + window.pageXOffset;\n const yOffset = container.getBoundingClientRect().top + window.pageYOffset;\n const pageX = e.pageX || (e.touches ? e.touches[0].pageX : 0);\n const pageY = e.pageY || (e.touches ? e.touches[0].pageY : 0);\n const left = clamp(pageX - xOffset, 0, containerWidth);\n const top = clamp(pageY - yOffset, 0, containerHeight);\n const saturation = left / containerWidth;\n const bright = clamp(-(top / containerHeight) + 1, 0, 1);\n\n this.onChange({\n h: this.colors.hsv.h,\n s: saturation,\n v: bright,\n a: this.colors.hsv.a,\n source: 'hsva',\n });\n },\n onChange(param) {\n this.$emit('change', param);\n },\n handleMouseDown(e) {\n // this.handleChange(e, true)\n window.addEventListener('mousemove', this.handleChange);\n window.addEventListener('mouseup', this.handleChange);\n window.addEventListener('mouseup', this.handleMouseUp);\n },\n handleMouseUp(e) {\n this.unbindEventListeners();\n },\n unbindEventListeners() {\n window.removeEventListener('mousemove', this.handleChange);\n window.removeEventListener('mouseup', this.handleChange);\n window.removeEventListener('mouseup', this.handleMouseUp);\n },\n },\n};\n\nconst _hoisted_1 = /*#__PURE__*/createElementVNode(\"div\", { class: \"vc-saturation--white\" }, null, -1 /* HOISTED */);\nconst _hoisted_2 = /*#__PURE__*/createElementVNode(\"div\", { class: \"vc-saturation--black\" }, null, -1 /* HOISTED */);\nconst _hoisted_3 = /*#__PURE__*/createElementVNode(\"div\", { class: \"vc-saturation-circle\" }, null, -1 /* HOISTED */);\nconst _hoisted_4 = [\n _hoisted_3\n];\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return (openBlock(), createElementBlock(\"div\", {\n ref: \"container\",\n class: \"vc-saturation\",\n style: normalizeStyle({ background: $options.bgColor }),\n onMousedown: _cache[0] || (_cache[0] = (...args) => ($options.handleMouseDown && $options.handleMouseDown(...args))),\n onTouchmove: _cache[1] || (_cache[1] = (...args) => ($options.handleChange && $options.handleChange(...args))),\n onTouchstart: _cache[2] || (_cache[2] = (...args) => ($options.handleChange && $options.handleChange(...args)))\n }, [\n _hoisted_1,\n _hoisted_2,\n createElementVNode(\"div\", {\n class: \"vc-saturation-pointer\",\n style: normalizeStyle({ top: $options.pointerTop, left: $options.pointerLeft })\n }, _hoisted_4, 4 /* STYLE */)\n ], 36 /* STYLE, HYDRATE_EVENTS */))\n}\n\nvar css_248z = \".vc-saturation,.vc-saturation--black,.vc-saturation--white{bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0}.vc-saturation--white{background:linear-gradient(90deg,#fff,hsla(0,0%,100%,0))}.vc-saturation--black{background:linear-gradient(0deg,#000,transparent)}.vc-saturation-pointer{cursor:pointer;position:absolute}.vc-saturation-circle{border-radius:50%;box-shadow:0 0 0 1.5px #fff,inset 0 0 1px 1px rgba(0,0,0,.3),0 0 1px 2px rgba(0,0,0,.4);cursor:head;height:4px;transform:translate(-2px,-2px);width:4px}\";\nstyleInject(css_248z);\n\nscript.render = render;\nscript.__file = \"src/components/saturation/saturation.vue\";\n\nscript.install = install;\n\nexport { script as default };\n","import { openBlock, createElementBlock, normalizeClass, createElementVNode, normalizeStyle } from 'vue';\nimport { s as styleInject } from '../../style-inject.es-746bb8ed.js';\nimport { install } from '../../utils/compoent.js';\nimport '../../defaultConfig.js';\n\nvar script = {\n name: 'Hue',\n props: {\n value: Object,\n direction: {\n type: String,\n // [horizontal | vertical]\n default: 'horizontal',\n },\n },\n data() {\n return {\n oldHue: 0,\n pullDirection: '',\n };\n },\n computed: {\n colors() {\n return this.value;\n },\n directionClass() {\n return {\n 'vc-hue--horizontal': this.direction === 'horizontal',\n 'vc-hue--vertical': this.direction === 'vertical',\n };\n },\n pointerTop() {\n if (this.direction === 'vertical') {\n if (this.colors.hsl.h === 0 && this.pullDirection === 'right')\n return 0;\n return `${-((this.colors.hsl.h * 100) / 360) + 100}%`;\n }\n return 0;\n },\n pointerLeft() {\n if (this.direction === 'vertical')\n return 0;\n\n if (this.colors.hsl.h === 0 && this.pullDirection === 'right')\n return '100%';\n return `${(this.colors.hsl.h * 100) / 360}%`;\n },\n },\n watch: {\n value: {\n handler(value, oldVal) {\n const { h } = value.hsl;\n if (h !== 0 && h - this.oldHue > 0)\n this.pullDirection = 'right';\n if (h !== 0 && h - this.oldHue < 0)\n this.pullDirection = 'left';\n this.oldHue = h;\n },\n deep: true,\n immediate: true,\n },\n },\n methods: {\n handleChange(e, skip) {\n !skip && e.preventDefault();\n\n const { container } = this.$refs;\n if (!container) {\n // for some edge cases, container may not exist. see #220\n return;\n }\n const containerWidth = container.clientWidth;\n const containerHeight = container.clientHeight;\n\n const xOffset = container.getBoundingClientRect().left + window.pageXOffset;\n const yOffset = container.getBoundingClientRect().top + window.pageYOffset;\n const pageX = e.pageX || (e.touches ? e.touches[0].pageX : 0);\n const pageY = e.pageY || (e.touches ? e.touches[0].pageY : 0);\n const left = pageX - xOffset;\n const top = pageY - yOffset;\n\n let h;\n let percent;\n\n if (this.direction === 'vertical') {\n if (top < 0) {\n h = 360;\n }\n else if (top > containerHeight) {\n h = 0;\n }\n else {\n percent = -(top * 100 / containerHeight) + 100;\n h = (360 * percent / 100);\n }\n\n if (this.colors.hsl.h !== h) {\n this.$emit('change', {\n h,\n s: this.colors.hsl.s,\n l: this.colors.hsl.l,\n a: this.colors.hsl.a,\n source: 'hsl',\n });\n }\n }\n else {\n if (left < 0) {\n h = 0;\n }\n else if (left > containerWidth) {\n h = 360;\n }\n else {\n percent = left * 100 / containerWidth;\n h = (360 * percent / 100);\n }\n\n if (this.colors.hsl.h !== h) {\n this.$emit('change', {\n h,\n s: this.colors.hsl.s,\n l: this.colors.hsl.l,\n a: this.colors.hsl.a,\n source: 'hsl',\n });\n }\n }\n },\n handleMouseDown(e) {\n this.handleChange(e, true);\n window.addEventListener('mousemove', this.handleChange);\n window.addEventListener('mouseup', this.handleChange);\n window.addEventListener('mouseup', this.handleMouseUp);\n },\n handleMouseUp(e) {\n this.unbindEventListeners();\n },\n unbindEventListeners() {\n window.removeEventListener('mousemove', this.handleChange);\n window.removeEventListener('mouseup', this.handleChange);\n window.removeEventListener('mouseup', this.handleMouseUp);\n },\n },\n};\n\nconst _hoisted_1 = [\"aria-valuenow\"];\nconst _hoisted_2 = /*#__PURE__*/createElementVNode(\"div\", { class: \"vc-hue-picker\" }, null, -1 /* HOISTED */);\nconst _hoisted_3 = [\n _hoisted_2\n];\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return (openBlock(), createElementBlock(\"div\", {\n class: normalizeClass([\"vc-hue\", [$options.directionClass]])\n }, [\n createElementVNode(\"div\", {\n ref: \"container\",\n class: \"vc-hue-container\",\n role: \"slider\",\n \"aria-valuenow\": $options.colors.hsl.h,\n \"aria-valuemin\": \"0\",\n \"aria-valuemax\": \"360\",\n onMousedown: _cache[0] || (_cache[0] = (...args) => ($options.handleMouseDown && $options.handleMouseDown(...args))),\n onTouchmove: _cache[1] || (_cache[1] = (...args) => ($options.handleChange && $options.handleChange(...args))),\n onTouchstart: _cache[2] || (_cache[2] = (...args) => ($options.handleChange && $options.handleChange(...args)))\n }, [\n createElementVNode(\"div\", {\n class: \"vc-hue-pointer\",\n style: normalizeStyle({ top: $options.pointerTop, left: $options.pointerLeft }),\n role: \"presentation\"\n }, _hoisted_3, 4 /* STYLE */)\n ], 40 /* PROPS, HYDRATE_EVENTS */, _hoisted_1)\n ], 2 /* CLASS */))\n}\n\nvar css_248z = \".vc-hue{border-radius:2px;bottom:0;left:0;position:absolute;right:0;top:0}.vc-hue--horizontal{background:linear-gradient(90deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.vc-hue--vertical{background:linear-gradient(0deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.vc-hue-container{cursor:pointer;height:100%;margin:0 2px;position:relative}.vc-hue-pointer{position:absolute;z-index:2}.vc-hue-picker{background:#fff;border-radius:1px;box-shadow:0 0 2px rgba(0,0,0,.6);cursor:pointer;height:8px;margin-top:1px;transform:translateX(-2px);width:4px}\";\nstyleInject(css_248z);\n\nscript.render = render;\nscript.__file = \"src/components/hue/hue.vue\";\n\nscript.install = install;\n\nexport { script as default };\n","import colorMixin from '../../mixin/color.js';\nimport script$4 from '../editable-input/index.js';\nimport script$1 from '../saturation/index.js';\nimport script$2 from '../hue/index.js';\nimport script$3 from '../alpha/index.js';\nimport script$5 from '../checkboard/index.js';\nimport { resolveComponent, openBlock, createElementBlock, normalizeClass, createElementVNode, createVNode, createCommentVNode, normalizeStyle, Fragment, renderList } from 'vue';\nimport { s as styleInject } from '../../style-inject.es-746bb8ed.js';\nimport { install } from '../../utils/compoent.js';\nimport '@ctrl/tinycolor';\nimport '../../defaultConfig.js';\nimport '../../utils/utils.js';\n\nconst presetColors = [\n '#D0021B', '#F5A623', '#F8E71C', '#8B572A', '#7ED321',\n '#417505', '#BD10E0', '#9013FE', '#4A90E2', '#50E3C2',\n '#B8E986', '#000000', '#4A4A4A', '#9B9B9B', '#FFFFFF',\n 'rgba(0,0,0,0)',\n];\n\nvar script = {\n name: 'Sketch',\n components: {\n Saturation: script$1,\n Hue: script$2,\n Alpha: script$3,\n EdIn: script$4,\n Checkboard: script$5,\n },\n mixins: [colorMixin],\n props: {\n presetColors: {\n type: Array,\n default() {\n return presetColors;\n },\n },\n disableAlpha: {\n type: Boolean,\n default: false,\n },\n disableFields: {\n type: Boolean,\n default: false,\n },\n },\n computed: {\n hex() {\n let hex;\n if (this.colors.a < 1)\n hex = this.colors.hex8;\n else\n hex = this.colors.hex;\n\n return hex.replace('#', '');\n },\n activeColor() {\n const { rgba } = this.colors;\n return `rgba(${[rgba.r, rgba.g, rgba.b, rgba.a].join(',')})`;\n },\n },\n methods: {\n handlePreset(c) {\n this.colorChange(c);\n },\n childChange(data) {\n this.colorChange(data);\n },\n inputChange(data) {\n if (!data)\n return;\n\n if (data.hex) {\n this.isValidHex(data.hex) && this.colorChange({\n hex: data.hex,\n source: 'hex',\n });\n }\n else if (data.r || data.g || data.b || data.a) {\n this.colorChange({\n r: data.r || this.colors.rgba.r,\n g: data.g || this.colors.rgba.g,\n b: data.b || this.colors.rgba.b,\n a: data.a || this.colors.rgba.a,\n source: 'rgba',\n });\n }\n },\n },\n};\n\nconst _hoisted_1 = { class: \"vc-sketch-saturation-wrap\" };\nconst _hoisted_2 = { class: \"vc-sketch-controls\" };\nconst _hoisted_3 = { class: \"vc-sketch-sliders\" };\nconst _hoisted_4 = { class: \"vc-sketch-hue-wrap\" };\nconst _hoisted_5 = {\n key: 0,\n class: \"vc-sketch-alpha-wrap\"\n};\nconst _hoisted_6 = { class: \"vc-sketch-color-wrap\" };\nconst _hoisted_7 = [\"aria-label\"];\nconst _hoisted_8 = {\n key: 0,\n class: \"vc-sketch-field\"\n};\nconst _hoisted_9 = { class: \"vc-sketch-field--double\" };\nconst _hoisted_10 = { class: \"vc-sketch-field--single\" };\nconst _hoisted_11 = { class: \"vc-sketch-field--single\" };\nconst _hoisted_12 = { class: \"vc-sketch-field--single\" };\nconst _hoisted_13 = {\n key: 0,\n class: \"vc-sketch-field--single\"\n};\nconst _hoisted_14 = {\n class: \"vc-sketch-presets\",\n role: \"group\",\n \"aria-label\": \"A color preset, pick one to set as current color\"\n};\nconst _hoisted_15 = [\"aria-label\", \"onClick\"];\nconst _hoisted_16 = [\"aria-label\", \"onClick\"];\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_Saturation = resolveComponent(\"Saturation\");\n const _component_Hue = resolveComponent(\"Hue\");\n const _component_Alpha = resolveComponent(\"Alpha\");\n const _component_Checkboard = resolveComponent(\"Checkboard\");\n const _component_EdIn = resolveComponent(\"EdIn\");\n\n return (openBlock(), createElementBlock(\"div\", {\n role: \"application\",\n \"aria-label\": \"Sketch color picker\",\n class: normalizeClass([\"vc-sketch\", [$props.disableAlpha ? 'vc-sketch__disable-alpha' : '']])\n }, [\n createElementVNode(\"div\", _hoisted_1, [\n createVNode(_component_Saturation, {\n value: _ctx.colors,\n onChange: $options.childChange\n }, null, 8 /* PROPS */, [\"value\", \"onChange\"])\n ]),\n createElementVNode(\"div\", _hoisted_2, [\n createElementVNode(\"div\", _hoisted_3, [\n createElementVNode(\"div\", _hoisted_4, [\n createVNode(_component_Hue, {\n value: _ctx.colors,\n onChange: $options.childChange\n }, null, 8 /* PROPS */, [\"value\", \"onChange\"])\n ]),\n (!$props.disableAlpha)\n ? (openBlock(), createElementBlock(\"div\", _hoisted_5, [\n createVNode(_component_Alpha, {\n value: _ctx.colors,\n onChange: $options.childChange\n }, null, 8 /* PROPS */, [\"value\", \"onChange\"])\n ]))\n : createCommentVNode(\"v-if\", true)\n ]),\n createElementVNode(\"div\", _hoisted_6, [\n createElementVNode(\"div\", {\n \"aria-label\": `Current color is ${$options.activeColor}`,\n class: \"vc-sketch-active-color\",\n style: normalizeStyle({ background: $options.activeColor })\n }, null, 12 /* STYLE, PROPS */, _hoisted_7),\n createVNode(_component_Checkboard)\n ])\n ]),\n (!$props.disableFields)\n ? (openBlock(), createElementBlock(\"div\", _hoisted_8, [\n createCommentVNode(\" rgba \"),\n createElementVNode(\"div\", _hoisted_9, [\n createVNode(_component_EdIn, {\n label: \"hex\",\n value: $options.hex,\n onChange: $options.inputChange\n }, null, 8 /* PROPS */, [\"value\", \"onChange\"])\n ]),\n createElementVNode(\"div\", _hoisted_10, [\n createVNode(_component_EdIn, {\n label: \"r\",\n value: _ctx.colors.rgba.r,\n onChange: $options.inputChange\n }, null, 8 /* PROPS */, [\"value\", \"onChange\"])\n ]),\n createElementVNode(\"div\", _hoisted_11, [\n createVNode(_component_EdIn, {\n label: \"g\",\n value: _ctx.colors.rgba.g,\n onChange: $options.inputChange\n }, null, 8 /* PROPS */, [\"value\", \"onChange\"])\n ]),\n createElementVNode(\"div\", _hoisted_12, [\n createVNode(_component_EdIn, {\n label: \"b\",\n value: _ctx.colors.rgba.b,\n onChange: $options.inputChange\n }, null, 8 /* PROPS */, [\"value\", \"onChange\"])\n ]),\n (!$props.disableAlpha)\n ? (openBlock(), createElementBlock(\"div\", _hoisted_13, [\n createVNode(_component_EdIn, {\n label: \"a\",\n value: _ctx.colors.a,\n \"arrow-offset\": 0.01,\n max: 1,\n onChange: $options.inputChange\n }, null, 8 /* PROPS */, [\"value\", \"arrow-offset\", \"onChange\"])\n ]))\n : createCommentVNode(\"v-if\", true)\n ]))\n : createCommentVNode(\"v-if\", true),\n createElementVNode(\"div\", _hoisted_14, [\n (openBlock(true), createElementBlock(Fragment, null, renderList($props.presetColors, (c) => {\n return (openBlock(), createElementBlock(Fragment, null, [\n (!_ctx.isTransparent(c))\n ? (openBlock(), createElementBlock(\"div\", {\n key: `!${c}`,\n class: \"vc-sketch-presets-color\",\n \"aria-label\": `Color:${c}`,\n style: normalizeStyle({ background: c }),\n onClick: $event => ($options.handlePreset(c))\n }, null, 12 /* STYLE, PROPS */, _hoisted_15))\n : (openBlock(), createElementBlock(\"div\", {\n key: c,\n \"aria-label\": `Color:${c}`,\n class: \"vc-sketch-presets-color\",\n onClick: $event => ($options.handlePreset(c))\n }, [\n createVNode(_component_Checkboard)\n ], 8 /* PROPS */, _hoisted_16))\n ], 64 /* STABLE_FRAGMENT */))\n }), 256 /* UNKEYED_FRAGMENT */))\n ])\n ], 2 /* CLASS */))\n}\n\nvar css_248z = \".vc-sketch{background:#fff;border-radius:4px;box-shadow:0 0 0 1px rgba(0,0,0,.15),0 8px 16px rgba(0,0,0,.15);box-sizing:initial;padding:10px 10px 0;position:relative;width:200px}.vc-sketch-saturation-wrap{overflow:hidden;padding-bottom:75%;position:relative;width:100%}.vc-sketch-controls{display:flex}.vc-sketch-sliders{flex:1;padding:4px 0}.vc-sketch-sliders .vc-alpha-gradient,.vc-sketch-sliders .vc-hue{border-radius:2px}.vc-sketch-alpha-wrap,.vc-sketch-hue-wrap{height:10px;position:relative}.vc-sketch-alpha-wrap{margin-top:4px;overflow:hidden}.vc-sketch-color-wrap{border-radius:3px;height:24px;margin-left:4px;margin-top:4px;position:relative;width:24px}.vc-sketch-active-color{border-radius:2px;bottom:0;box-shadow:inset 0 0 0 1px rgba(0,0,0,.15),inset 0 0 4px rgba(0,0,0,.25);left:0;position:absolute;right:0;top:0;z-index:2}.vc-sketch-color-wrap .vc-checkerboard{background-size:auto}.vc-sketch-field{display:flex;padding-top:4px}.vc-sketch-field .vc-input__input{border:none;box-shadow:inset 0 0 0 1px #ccc;font-size:10px;padding:4px 0 3px 10%;width:90%}.vc-sketch-field .vc-input__label{color:#222;display:block;font-size:11px;padding-bottom:4px;padding-top:3px;text-align:center;text-transform:capitalize}.vc-sketch-field--single{flex:1;padding-left:6px}.vc-sketch-field--double{flex:2}.vc-sketch-presets{border-top:1px solid #eee;margin-left:-10px;margin-right:-10px;padding-left:10px;padding-top:10px}.vc-sketch-presets-color{cursor:pointer;display:inline-block;height:16px;margin:0 10px 10px 0;overflow:hidden;position:relative;vertical-align:top;width:16px}.vc-sketch-presets-color,.vc-sketch-presets-color .vc-checkerboard{border-radius:3px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.15)}.vc-sketch__disable-alpha .vc-sketch-color-wrap{height:10px}\";\nstyleInject(css_248z);\n\nscript.render = render;\nscript.__file = \"src/components/sketch/sketch.vue\";\n\nscript.install = install;\n\nexport { script as default };\n","export const ColorList = [\r\n \"#ffffff\",\"#f5f5f5\",\"#d9d9d9\",\"#bfbfbf\",\"#8c8c8c\",\"#595959\",\"#262626\",\"#000000\",\r\n \"#FEF2F2\",\"#FFE2E2\",\"#FFC9C9\",\"#FFA2A2\",\"#FF6467\",\"#FB2C36\",\"#E7180B\",\"#C11007\",\r\n \"#FFF7ED\",\"#FFEDD4\",\"#FFD6A7\",\"#FFB86A\",\"#FF8904\",\"#FF692A\",\"#F54927\",\"#CA3519\",\r\n \"#FFFBEB\",\"#FEF3C6\",\"#FEE685\",\"#FFD230\",\"#FFB93B\",\"#FE9A37\",\"#E1712B\",\"#BB4D1A\",\r\n \"#FEFCE8\",\"#FEF9C2\",\"#FFF085\",\"#FFDF20\",\"#FDC745\",\"#F0B13B\",\"#D0872E\",\"#A65F1B\",\r\n \"#F7FEE7\",\"#ECFCCA\",\"#D8F999\",\"#BBF451\",\"#9AE630\",\"#7CCF35\",\"#5EA529\",\"#497D15\",\r\n \"#F0FDF4\",\"#DCFCE7\",\"#B9F8CF\",\"#7BF1A8\",\"#05DF72\",\"#31C950\",\"#2AA63E\",\"#178236\",\r\n \"#ECFDF5\",\"#D0FAE5\",\"#A4F4CF\",\"#5EE9B5\",\"#31D492\",\"#37BC7D\",\"#2D9966\",\"#1F7A55\",\r\n \"#F0FDFA\",\"#CBFBF1\",\"#96F7E4\",\"#46ECD5\",\"#38D5BE\",\"#36BBA7\",\"#2A9689\",\"#18786F\",\r\n \"#ECFEFF\",\"#CEFAFE\",\"#A2F4FD\",\"#53EAFD\",\"#42D3F2\",\"#3BB8DB\",\"#2C92B8\",\"#1A7595\",\r\n \"#F0F9FF\",\"#DFF2FE\",\"#B8E6FE\",\"#74D4FF\",\"#21BCFF\",\"#34A6F4\",\"#2984D1\",\"#1C69A8\",\r\n \"#EFF6FF\",\"#DBEAFE\",\"#BEDBFF\",\"#8EC5FF\",\"#51A2FF\",\"#2B7FFF\",\"#155DFC\",\"#1447E6\",\r\n \"#EEF2FF\",\"#E0E7FF\",\"#C6D2FF\",\"#A3B3FF\",\"#7C86FF\",\"#615FFF\",\"#4F39F6\",\"#432DD7\",\r\n \"#F5F3FF\",\"#EDE9FE\",\"#DDD6FF\",\"#C4B4FF\",\"#A684FF\",\"#8E51FF\",\"#7F22FE\",\"#7008E7\",\r\n \"#FAF5FF\",\"#F3E8FF\",\"#E9D4FF\",\"#DAB2FF\",\"#C27AFF\",\"#AD46FF\",\"#9810FA\",\"#8207DB\",\r\n \"#FDF4FF\",\"#FAE8FF\",\"#F6CFFF\",\"#F4A8FF\",\"#ED6AFF\",\"#E12AFB\",\"#C81CDE\",\"#A813B7\",\r\n \"#FDF2F8\",\"#FCE7F3\",\"#FCCEE8\",\"#FDA5D5\",\"#FB64B6\",\"#F6339A\",\"#E61876\",\"#C6185C\",\r\n \"#FFF1F2\",\"#FFE4E6\",\"#FFCCD3\",\"#FFA1AD\",\"#FF637E\",\"#FF2056\",\"#EC253F\",\"#C71D36\",\r\n]\r\n\r\nexport const ColorNameMap = {\r\n \"#ffffff\":\"纯白\",\"#f5f5f5\":\"浅灰\",\"#d9d9d9\":\"中灰\",\"#bfbfbf\":\"浅灰1\",\"#8c8c8c\":\"灰3\",\"#595959\":\"灰2\",\"#262626\":\"深灰\",\"#000000\":\"纯黑\",\r\n \"#FEF2F2\":\"粉红浅\",\"#FFE2E2\":\"粉红\",\"#FFC9C9\":\"粉红中\",\"#FFA2A2\":\"粉红深\",\"#FF6467\":\"珊瑚红\",\"#FB2C36\":\"鲜红\",\"#E7180B\":\"深红\",\"#C11007\":\"暗红\",\r\n \"#FFF7ED\":\"橙黄浅\",\"#FFEDD4\":\"橙黄\",\"#FFD6A7\":\"橙黄中\",\"#FFB86A\":\"橙黄深\",\"#FF8904\":\"橙\",\"#FF692A\":\"橙红\",\"#F54927\":\"深橙\",\"#CA3519\":\"暗橙\",\r\n \"#FFFBEB\":\"黄浅\",\"#FEF3C6\":\"黄\",\"#FEE685\":\"黄中\",\"#FFD230\":\"黄深\",\"#FFB93B\":\"金黄\",\"#FE9A37\":\"深黄\",\"#E1712B\":\"橙黄\",\"#BB4D1A\":\"暗橙黄\",\r\n \"#FEFCE8\":\"黄绿浅\",\"#FEF9C2\":\"黄绿\",\"#FFF085\":\"黄绿中\",\"#FFDF20\":\"黄绿深\",\"#FDC745\":\"柠檬\",\"#F0B13B\":\"柠檬深\",\"#D0872E\":\"深柠檬\",\"#A65F1B\":\"暗柠檬\",\r\n \"#F7FEE7\":\"绿浅\",\"#ECFCCA\":\"绿\",\"#D8F999\":\"绿中\",\"#BBF451\":\"绿深\",\"#9AE630\":\"鲜绿\",\"#7CCF35\":\"深绿\",\"#5EA529\":\"深绿1\",\"#497D15\":\"暗绿\",\r\n \"#F0FDF4\":\"青绿浅\",\"#DCFCE7\":\"青绿\",\"#B9F8CF\":\"青绿中\",\"#7BF1A8\":\"青绿深\",\"#05DF72\":\"青绿\",\"#31C950\":\"深青绿\",\"#2AA63E\":\"深青绿1\",\"#178236\":\"暗青绿\",\r\n \"#ECFDF5\":\"青浅\",\"#D0FAE5\":\"青\",\"#A4F4CF\":\"青中\",\"#5EE9B5\":\"青深\",\"#31D492\":\"青\",\"#37BC7D\":\"深青\",\"#2D9966\":\"深青1\",\"#1F7A55\":\"暗青\",\r\n \"#F0FDFA\":\"蓝青浅\",\"#CBFBF1\":\"蓝青\",\"#96F7E4\":\"蓝青中\",\"#46ECD5\":\"蓝青深\",\"#38D5BE\":\"蓝青\",\"#36BBA7\":\"深蓝青\",\"#2A9689\":\"深蓝青1\",\"#18786F\":\"暗蓝青\",\r\n \"#ECFEFF\":\"蓝浅\",\"#CEFAFE\":\"蓝\",\"#A2F4FD\":\"蓝中\",\"#53EAFD\":\"蓝深\",\"#42D3F2\":\"天蓝\",\"#3BB8DB\":\"深天蓝\",\"#2C92B8\":\"深天蓝1\",\"#1A7595\":\"暗天蓝\",\r\n \"#F0F9FF\":\"深蓝浅\",\"#DFF2FE\":\"深蓝\",\"#B8E6FE\":\"深蓝中\",\"#74D4FF\":\"深蓝深\",\"#21BCFF\":\"深蓝\",\"#34A6F4\":\"深蓝1\",\"#2984D1\":\"深蓝2\",\"#1C69A8\":\"暗深蓝\",\r\n \"#EFF6FF\":\"蓝浅1\",\"#DBEAFE\":\"蓝1\",\"#BEDBFF\":\"蓝中1\",\"#8EC5FF\":\"蓝深1\",\"#51A2FF\":\"蓝1\",\"#2B7FFF\":\"深蓝1\",\"#155DFC\":\"深蓝2\",\"#1447E6\":\"暗蓝1\",\r\n \"#EEF2FF\":\"紫蓝浅\",\"#E0E7FF\":\"紫蓝\",\"#C6D2FF\":\"紫蓝中\",\"#A3B3FF\":\"紫蓝深\",\"#7C86FF\":\"紫蓝\",\"#615FFF\":\"深紫蓝\",\"#4F39F6\":\"深紫蓝1\",\"#432DD7\":\"暗紫蓝\",\r\n \"#F5F3FF\":\"紫浅\",\"#EDE9FE\":\"紫\",\"#DDD6FF\":\"紫中\",\"#C4B4FF\":\"紫深\",\"#A684FF\":\"紫\",\"#8E51FF\":\"深紫\",\"#7F22FE\":\"深紫1\",\"#7008E7\":\"暗紫\",\r\n \"#FAF5FF\":\"深紫浅\",\"#F3E8FF\":\"深紫\",\"#E9D4FF\":\"深紫中\",\"#DAB2FF\":\"深紫深\",\"#C27AFF\":\"深紫\",\"#AD46FF\":\"深紫1\",\"#9810FA\":\"深紫2\",\"#8207DB\":\"暗深紫\",\r\n \"#FDF4FF\":\"粉紫浅\",\"#FAE8FF\":\"粉紫\",\"#F6CFFF\":\"粉紫中\",\"#F4A8FF\":\"粉紫深\",\"#ED6AFF\":\"粉紫\",\"#E12AFB\":\"深粉紫\",\"#C81CDE\":\"深粉紫1\",\"#A813B7\":\"暗粉紫\",\r\n \"#FDF2F8\":\"粉红浅1\",\"#FCE7F3\":\"粉红1\",\"#FCCEE8\":\"粉红中1\",\"#FDA5D5\":\"粉红深1\",\"#FB64B6\":\"粉红1\",\"#F6339A\":\"深粉红\",\"#E61876\":\"深粉红1\",\"#C6185C\":\"暗粉红\",\r\n \"#FFF1F2\":\"红浅\",\"#FFE4E6\":\"红\",\"#FFCCD3\":\"红中\",\"#FFA1AD\":\"红深\",\"#FF637E\":\"红\",\"#FF2056\":\"深红\",\"#EC253F\":\"深红1\",\"#C71D36\":\"深红2\",\r\n}\r\n\r\nexport const ColorList1 = [\r\n \"#ffffff\",\r\n \"#f5f5f5\",\r\n \"#eeeeee\",\r\n \"#e5e5e5\",\r\n \"#d9d9d9\",\r\n \"#cccccc\",\r\n \"#bfbfbf\",\r\n \"#a6a6a6\",\r\n \"#8c8c8c\",\r\n \"#737373\",\r\n \"#595959\",\r\n \"#404040\",\r\n \"#333333\",\r\n \"#262626\",\r\n \"#1a1a1a\",\r\n \"#000000\"\r\n]\r\n\r\nexport const ColorNameMap1 = {\r\n \"#ffffff\":\"纯白\",\r\n \"#f5f5f5\":\"浅灰\",\r\n \"#eeeeee\":\"极浅灰\",\r\n \"#e5e5e5\":\"很浅灰\",\r\n \"#d9d9d9\":\"中灰\",\r\n \"#cccccc\":\"浅灰2\",\r\n \"#bfbfbf\":\"浅灰1\",\r\n \"#a6a6a6\":\"灰4\",\r\n \"#8c8c8c\":\"灰3\",\r\n \"#737373\":\"灰2.5\",\r\n \"#595959\":\"灰2\",\r\n \"#404040\":\"深灰1\",\r\n \"#333333\": \"深灰2\",\r\n \"#262626\":\"深灰\",\r\n \"#1a1a1a\":\"近黑\",\r\n \"#000000\":\"纯黑\",\r\n}\r\n\r\nexport const ColorList2 = [\r\n \"#FB2C36\",\r\n \"#FF692A\",\r\n \"#FE9A37\",\r\n \"#F0B13B\",\r\n \"#7CCF35\",\r\n \"#31C950\",\r\n \"#37BC7D\",\r\n \"#36BBA7\",\r\n \"#3BB8DB\",\r\n \"#34A6F4\",\r\n \"#2B7FFF\",\r\n \"#615FFF\",\r\n \"#8E51FF\",\r\n \"#AD46FF\",\r\n \"#E12AFB\",\r\n \"#F6339A\",\r\n]\r\n\r\nexport const ColorNameMap2 = {\r\n \"#FB2C36\": \"鲜红\",\r\n \"#FF692A\": \"橙红\",\r\n \"#FE9A37\": \"深黄\",\r\n \"#F0B13B\": \"柠檬深\",\r\n \"#7CCF35\": \"深绿\",\r\n \"#31C950\": \"深青绿\",\r\n \"#37BC7D\": \"深青\",\r\n \"#36BBA7\": \"深蓝青\",\r\n \"#3BB8DB\": \"深天蓝\",\r\n \"#34A6F4\": \"深蓝1\",\r\n \"#2B7FFF\": \"深蓝1\",\r\n \"#615FFF\": \"深紫蓝\",\r\n \"#8E51FF\": \"深紫\",\r\n \"#AD46FF\": \"深紫1\",\r\n \"#E12AFB\": \"深粉紫\",\r\n \"#F6339A\": \"深粉红\",\r\n}\r\n\r\n\r\nexport const bArrow = () => {\r\n return `<svg t=\"1760602465263\" class=\"icon\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"1846\" width=\"16\" height=\"16\"><path d=\"M512 704c8.288 0 15.776-3.232 21.456-8.4l0.064 0.08 352-320-0.08-0.08c6.448-5.856 10.56-14.208 10.56-23.6a32 32 0 0 0-32-32c-8.288 0-15.76 3.232-21.456 8.4l-0.08-0.08L512 628.752 181.536 328.32l-0.08 0.08A31.776 31.776 0 0 0 160 320a32 32 0 0 0-32 32c0 9.376 4.112 17.744 10.544 23.6l-0.08 0.08 352 320 0.08-0.08c5.68 5.168 13.168 8.4 21.456 8.4z\" p-id=\"1847\"></path></svg>`\r\n}","<!--\r\n * @Author: zhangxiaofeng xfzhang@rxhui.com\r\n * @Date: 2025-10-16 15:15:54\r\n * @Description: 丙午\r\n-->\r\n<template>\r\n <div class=\"ssc-color\">\r\n <div class=\"select\" @click.stop=\"toggle\" :style=\"{\r\n width: props.width\r\n }\">\r\n <span class=\"swatch\" :style=\"{ backgroundColor: innerValue }\"></span>\r\n <span class=\"label\">{{ colorName }}</span>\r\n <div class=\"arrow\" v-html=\"bArrow()\"></div>\r\n <div\r\n class=\"panel\"\r\n v-if=\"open\"\r\n :style=\"{\r\n height: isCustomMode ? 'auto' : props.height\r\n }\"\r\n @click.stop\r\n >\r\n <div v-if=\"!isCustomMode\" class=\"grid\">\r\n <span\r\n v-for=\"c in listToUse\"\r\n :key=\"c\"\r\n class=\"chip\"\r\n :style=\"{ backgroundColor: c }\"\r\n @click.stop=\"pick(c)\"\r\n />\r\n </div>\r\n <div v-else class=\"custom-palette\">\r\n <Sketch v-model=\"customPaletteColor\" class=\"custom-component\" :disable-alpha=\"true\" />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script setup>\r\nimport { ref, watch, computed, onMounted, onBeforeUnmount, nextTick } from 'vue'\r\nimport { Sketch } from '@ckpack/vue-color'\r\nimport { ColorList, ColorNameMap, ColorList1, ColorNameMap1, ColorList2, ColorNameMap2, bArrow } from '../colors.js'\r\n\r\nconst props = defineProps({\r\n type: { type: String, default: 'colorAll' }, // colorAll colorOne colorTwo customPalette\r\n color: { type: String, default: '' },\r\n width: { type: String, default: '100%' },\r\n height: { type: String, default: 'auto' }\r\n})\r\nconst emit = defineEmits(['change', 'update:color'])\r\n\r\nconst open = ref(false)\r\nconst isCustomMode = computed(() => props.type === 'customPalette')\r\nconst listToUse = computed(() => {\r\n if (isCustomMode.value) return ColorList\r\n if (props.type === 'colorOne') return ColorList1\r\n if (props.type === 'colorTwo') return ColorList2\r\n return ColorList\r\n})\r\nconst nameMapToUse = computed(() => {\r\n if (isCustomMode.value) return {}\r\n if (props.type === 'colorOne') return ColorNameMap1\r\n if (props.type === 'colorTwo') return ColorNameMap2\r\n return ColorNameMap\r\n})\r\nconst innerValue = ref('')\r\nconst customPaletteColor = ref('#1677ff')\r\nlet syncingFromInner = false\r\n\r\nwatch(() => props.color, (v) => {\r\n if (typeof v === 'string' && v !== innerValue.value) innerValue.value = v || (listToUse.value?.[0] || '#000000')\r\n})\r\nconst colorName = computed(() => {\r\n if (isCustomMode.value) return ''\r\n return nameMapToUse.value[innerValue.value] || '自定义'\r\n})\r\n\r\nconst syncCustomFromInner = (value) => {\r\n if (!isCustomMode.value) return\r\n syncingFromInner = true\r\n customPaletteColor.value = value\r\n nextTick(() => { syncingFromInner = false })\r\n}\r\n\r\nonMounted(() => {\r\n if (!props.color) {\r\n const first = listToUse.value?.[0] || '#000000'\r\n innerValue.value = first\r\n } else {\r\n innerValue.value = props.color\r\n }\r\n if (isCustomMode.value) syncCustomFromInner(innerValue.value)\r\n})\r\n\r\nwatch(innerValue, (val) => {\r\n if (isCustomMode.value) syncCustomFromInner(val)\r\n})\r\n\r\nwatch(isCustomMode, (active) => {\r\n if (active) syncCustomFromInner(innerValue.value)\r\n})\r\n\r\nwatch(customPaletteColor, (val) => {\r\n if (!isCustomMode.value || syncingFromInner) return\r\n const hex = typeof val === 'string' ? val : val?.hex\r\n if (!hex) return\r\n pick(normalizeHex(hex), false)\r\n})\r\n\r\nfunction normalizeHex(hex) {\r\n if (typeof hex !== 'string') return ''\r\n const value = hex.startsWith('#') ? hex : `#${hex}`\r\n return value.slice(0, 7)\r\n}\r\n\r\nfunction pick(c, shouldClose = true) {\r\n innerValue.value = c\r\n if (shouldClose) open.value = false\r\n emit('change', c)\r\n emit('update:color', c)\r\n}\r\nfunction toggle() { open.value = !open.value }\r\n\r\nconst onClickOutside = () => { open.value = false }\r\nonMounted(() => {\r\n document.addEventListener('click', onClickOutside)\r\n // Inject styles for consumers who don't import CSS separately\r\n const STYLE_ID = 'sun-select-color-style'\r\n if (!document.getElementById(STYLE_ID)) {\r\n const style = document.createElement('style')\r\n style.id = STYLE_ID\r\n style.textContent = `\r\n .ssc-color .select{position:relative;width:100%;min-width:200px;height:32px;display:flex;align-items:center;border:1px solid #e0e0ff;border-radius:6px;padding:0 12px;cursor:pointer;box-shadow:0 1px 0 rgba(0,0,0,0.02);font-size:14px}\r\n .ssc-color .select:hover{border-color:#4096ff}\r\n .ssc-color .swatch{width:16px;height:16px;border-radius:4px;border:1px solid #e0e0e0;margin-right:8px}\r\n .ssc-color .label{flex:1;color:#333}\r\n .ssc-color .arrow{width:16px;height:16px}\r\n .ssc-color .panel{position:absolute;left:0;right:0;top:32px;z-index:1;margin-top:6px;background:#fff;border-radius:8px;box-shadow:0 10px 20px rgba(0,0,0,0.1);padding:12px;box-sizing:border-box;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,0.25) transparent}\r\n .ssc-color .panel::-webkit-scrollbar{width:3px;height:3px}\r\n .ssc-color .panel::-webkit-scrollbar-thumb{background-color:rgba(0,0,0,0.25);border-radius:4px}\r\n .ssc-color .panel::-webkit-scrollbar-track{background:transparent}\r\n .ssc-color .grid{display:grid;grid-template-columns:repeat(8,1fr);gap:6px}\r\n .ssc-color .chip{width:100%;height:26px;border-radius:6px;border:1px solid #fff;cursor:pointer;display:inline-block}\r\n .ssc-color .custom-palette{width:100%}\r\n .ssc-color .custom-palette .vc-sketch{width:100%}\r\n `\r\n document.head.appendChild(style)\r\n }\r\n})\r\nonBeforeUnmount(() => document.removeEventListener('click', onClickOutside))\r\n</script>\r\n\r\n<style scoped>\r\n .ssc-color .select {\r\n position: relative;\r\n width: 100%;\r\n min-width: 200px;\r\n height: 32px;\r\n display: flex;\r\n align-items: center;\r\n border: 1px solid #e0e0ff;\r\n border-radius: 6px;\r\n padding: 0 12px;\r\n cursor: pointer;\r\n box-shadow: 0 1px 0 rgba(0,0,0,0.02);\r\n font-size: 14px;\r\n }\r\n .ssc-color .select:hover { border-color: #4096ff; }\r\n .swatch { width: 16px; height: 16px; border-radius: 4px; border: 1px solid #e0e0e0; margin-right: 8px; }\r\n .label { flex: 1; color: #333; }\r\n .arrow { width: 16px; height: 16px; }\r\n .panel {\r\n position: absolute; left: 0; right: 0; top: 32px; z-index: 1; margin-top: 6px;\r\n background: #fff; border-radius: 8px; box-shadow: 0 10px 20px rgba(0,0,0,0.1);\r\n padding: 12px; box-sizing: border-box;\r\n overflow-y: auto; overflow-x: hidden;\r\n /* Firefox */\r\n scrollbar-width: thin;\r\n scrollbar-color: rgba(0,0,0,0.25) transparent;\r\n }\r\n /* WebKit */\r\n .panel::-webkit-scrollbar { width: 3px; height: 3px; }\r\n .panel::-webkit-scrollbar-thumb { background-color: rgba(0,0,0,0.25); border-radius: 4px; }\r\n .panel::-webkit-scrollbar-track { background: transparent; }\r\n .grid { display: grid; grid-template-columns: repeat(8, 1fr); gap: 6px; }\r\n .chip { width: 100%; height: 26px; border-radius: 6px; border: 1px solid #fff; cursor: pointer; display: inline-block; }\r\n .custom-palette {\r\n width: 100%;\r\n }\r\n .custom-component {\r\n width: 100%;\r\n }\r\n :deep(.vc-sketch) {\r\n width: 100% !important;\r\n box-shadow: none !important;\r\n padding: 0 !important;\r\n }\r\n</style>\r\n\r\n","import ColorPicker from './components/ColorPicker.vue'\r\n\r\nexport { ColorPicker }\r\n\r\nconst SunSelectColor = {\r\n install(app, options = {}) {\r\n const prefix = options.prefix || ''\r\n app.component(`${prefix}ColorPicker`, ColorPicker)\r\n }\r\n}\r\n\r\nexport default SunSelectColor\r\n\r\n"],"names":["prefix","styleInject","css","ref","insertAt","head","style","install","app","options","componentPrefix","_checkboardCache","script","getCheckboard","renderCheckboard","c1","c2","size","canvas","ctx","key","checkboard","render","_ctx","_cache","$props","$setup","$data","$options","openBlock","createElementBlock","normalizeStyle","css_248z","script$1","rgba","rgbStr","skip","container","containerWidth","xOffset","left","a","_hoisted_1","_hoisted_2","_hoisted_3","createElementVNode","_hoisted_4","_component_Checkboard","resolveComponent","createVNode","args","bound01","n","max","isOnePointZero","isPercent","isPercentage","clamp01","val","boundAlpha","convertToPercentage","pad2","c","rgbToRgb","r","g","b","rgbToHsl","min","h","s","l","d","hue2rgb","p","q","t","hslToRgb","rgbToHsv","v","hsvToRgb","i","f","mod","rgbToHex","allow3Char","hex","rgbaToHex","allow4Char","convertDecimalToHex","convertHexToDecimal","parseIntFromHex","numberInputToObject","color","names","inputToRGB","rgb","ok","format","stringInputToObject","isValidCSSUnit","CSS_INTEGER","CSS_NUMBER","CSS_UNIT","PERMISSIVE_MATCH3","PERMISSIVE_MATCH4","matchers","named","match","TinyColor","opts","_a","R","G","B","RsRGB","GsRGB","BsRGB","alpha","hsv","hsl","allowShortChar","fmt","x","rnd","_i","_b","value","formatSet","formattedString","hasAlpha","needsAlphaFormat","amount","hue","rgb1","rgb2","results","slices","part","ret","res","modification","background","fg","bg","result","increment","tinycolor","_colorChange","data","oldHue","colorMixin","newVal","keysToCheck","checked","passed","letter","palette","number","withDirectives","$event","vModelText","toDisplayString","clamp","containerHeight","yOffset","pageX","pageY","top","saturation","bright","param","oldVal","percent","normalizeClass","presetColors","script$2","script$3","script$4","script$5","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_15","_hoisted_16","_component_Saturation","_component_Hue","_component_Alpha","_component_EdIn","createCommentVNode","Fragment","renderList","ColorList","ColorNameMap","ColorList1","ColorNameMap1","ColorList2","ColorNameMap2","bArrow","props","__props","emit","__emit","open","isCustomMode","computed","listToUse","nameMapToUse","innerValue","customPaletteColor","syncingFromInner","watch","colorName","syncCustomFromInner","nextTick","onMounted","first","active","pick","normalizeHex","shouldClose","toggle","onClickOutside","STYLE_ID","onBeforeUnmount","_openBlock","_createElementBlock","_createElementVNode","_normalizeStyle","_toDisplayString","_unref","_createVNode","Sketch","_Fragment","_renderList","_withModifiers","SunSelectColor","ColorPicker"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]}