Color 颜色拾取器 (Library)

Color颜色拾取器是color picker library,基础的class类,用来对任意节点应用颜色选取功能,也是Color Webcomponent的依赖。

简单使用

对任意节点追加ax-color属性即可给该节点增加颜色拾取功能。

  • 输出
  • HTML
  •                 
                    
                

当然使用id+new形式也可以创建颜色拾取功能

  • 输出
  • HTML
  • JS
  •                 
                    
                
  •                 
                    new ax.Color('#demo0001')
                    
                

宿主节点

支持将任意节点作为颜色输出目标,如果是inputtextareaax-inputax-textarea类型则采用赋值value的方式进行颜色输出;其他节点将直接替代其innerHTML

  • 输出
  • HTML
  •                 
                    
                

设置初始值

默认初始值为空,即面板的默认颜色是纯红色,可通过参数value设置面板初始值,支持以下颜色格式

  • rgb或rgba,例如rgb(0,0,0)或rgba(0,0,0,1)
  • hsl或hsla,例如hsl(0,0%,0%)或hsla(0,0%,0%,1)
  • hex或hexa,例如#000000或#000000ff
  • hwb或hwba,例如hwb(0,0%,0%)或hwba(0,0%,0%,1)
  • 输出
  • HTML
  •                 
                    
                

自动填充值

默认需要通过面板的“确认”按钮才可以对宿主节点进行赋值,如果需要在面板的每一次操作都能自动赋值,则可设置参数output.manual:false

自动填值模式下,会在初始化时将面板的默认色值(纯红色)进行填充,所以有必要通过参数value设置一个初始值。

  • 输出
  • HTML
  •                 
                    
                

输出值格式

默认填充的值格式为hsla格式,可通过参数output.format指定。支持rgbrgbahslhslahexhexahwbhwba格式。

  • 输出
  • HTML
  •                 
                    
                

多种面板

支持多种面板类型,可通过参数layout指定,支持以下几个值:

  • picker,仅显示颜色拾取器,默认
  • palette,仅显示预设面板
  • full,同时显示picker和palette面板
  • 输出
  • HTML
  •                 
                    
                

核心参数

属性 类型 默认值 说明
value string "" 设置面板初始色值,可识别多种颜色格式,并支持透明度通道,例如#ff0000、rgba(0,0,0,0.5), hsl(0,0%,0%)、hwb(0,0%,0%,0.5)等
layout string "picker" 布局结构,可选填full(两栏结构,包含picker和palette),picker(仅显示拾色器),palette(仅显示预设值)
classes string "" 给目拾色器容器添加class类,一个多个均可,写法同ax.classes.add
popup object {} 窗口气泡示例的参数,同模块Popup的参数

画布相参数

属性 类型 默认值 说明
canvas object { showLabel: true, showTools: true, width: 370, height: 180, mode: "hsv", hue: 0 } 画布配置,包括尺寸、色彩空间模式和初始色相值
canvas.showLabel boolean true 是否显示色彩空间的横纵坐标的label名称
canvas.showTools boolean true 是否显示画布的几个工具
canvas.width number/string 370 画布的宽度,支持3种格式,可填400,400px或40rem,由于手机端宽度有限,该尺寸在手机端竖屏将转为300px显示
canvas.height number/string 180 画布的高度,格式同width,由于手机端宽度有限,该尺寸在手机端竖屏将转为150px显示
canvas.mode string "hsv" 画布色彩空间模式,默认hsv,可选择hsl
canvas.hue number 0 色彩空间初始色相值,范围0-360,360与0的效果一样,默认为0即纯红

输出相关属性

属性 类型 默认值 说明
output object { alpha: true, mode: "hsl", format: "hsla", child: "", manual: true } 输出配置,包括透明度通道、显示模式和格式
output.alpha boolean true 是否显示透明度通道
output.mode string "hsl" 默认面板显示哪个类型的值,可选择rgb、hwb、hsl或hex
output.format string "hsla" 默认输出值的格式,可选择rgb、rgba、hwb、hwba、hsl、hsla、hex、hexa
output.child string "" 填值时的宿主子节点选择器,为空则向宿主填值
output.manual boolean true 是否手动填充值,false将不显示"确定"按钮并自动填值,true则通过"确定"按钮填充值

等待函数

属性 类型 默认值 说明
b4Assign function null 等待函数,返回Promise,设置值前执行,支持一个参数即被设置的值
b4Clear function null 等待函数,返回Promise,清除值前执行,无参数
b4Fill function null 等待函数,返回Promise,填充值前执行,支持一个参数被填充的值
b4Restore function null 等待函数,返回Promise,恢复初始值前执行,无参数

回调函数

属性 类型 默认值 说明
onAssigned function null 监听函数,设置值后执行,支持一个参数即设置值
onCleared function null 监听函数,清空值后执行,无参数
onRestored function null 监听函数,恢复初始值后执行,无参数
onFilled function null 监听函数,填充值后执行,支持一个参数即被填充的文本值
onOutput function null 监听函数,生成面板色值后执行,支持一个参数即生成的色值