rabin 3 months ago
parent
commit
913ea19742

+ 469 - 528
manage/admin.php

@@ -1,528 +1,469 @@
-<?php
-return array
-(
-    # 数据来源,如果当前菜单不是表名,这里可以定义从哪个表获取数据
-    //'source' => 'manage/admin',
-    # 列表页配置
-    'list' => array
-    (
-        //'where' => array('group_id' => $group),
-        # 列表页类型 table表格、article文章、pic图片、goods商品,默认是表格,除table外,其余类型需要增加layout项,用以控制展示位置,并且批量操作功能将失效,如批量删除、批量操作等,后续增加更多类型
-        'type' => 'table',
-        # 是否显示序号
-        /*
-        'index' => array
-        (
-            'name' => '序号',
-            # 固定表头,field中也支持
-            'fixed' => true,
-        ),
-        */
-        # 展示的字段
-        'field'      => array
-        (
-            'id',
-            'name',
-            # 实现多级表头,两个字段合并到一起展示,因vue3问题,仅支持三级表头哦
-            /*
-            'test2' => array
-            (
-                'name' => '基本资料',
-                'type' => 'mul',
-                'child' => array
-                (
-                    'avatar' => 'image',
-                    'mobile' => array
-                    (
-                        'type' => 'show',
-                        # 加入排序
-                        'sort' => true,
-                    ),
-                ),
-            ),*/
-
-            //'avatar' => 'image',
-            'mobile' => array
-            (
-                'sort' => true,
-                # 多余字符按照...提示
-                'tip' => true,
-            ),
-            'role',
-            /*
-            # 自定义展示内容
-            'role' => array
-            (
-                //'show' => 'Dever::db("role", "manage")->find("{id}")["name"]',
-                # 气泡卡片展示
-                'type' => 'popover',
-                # title
-                'title' => '查看更多',
-                # 位置:top/top-start/top-end/bottom/bottom-start/bottom-end/left/left-start/left-end/right/right-start/right-end
-                'location' => 'right',
-                'show' => 'Dever::load("common")->show("{role}")',
-            ),*/
-            'status' => array
-            (
-                'type' => 'switch',
-                'show'  => '{status}',
-                'active_value' => 1,
-                'inactive_value' => 2,
-            ),
-            'cdate',
-        ),
-        # 扩展展示内容
-        //'expand' => 'manage/common.show',
-
-        /*
-        'type' => 'article',
-        'layout' => array
-        (
-            array
-            (
-                'type' => 'avatar',
-                'value' => array
-                (
-                    'image' => 'avatar',
-                )
-            ),
-            array
-            (
-                'type' => 'content',
-                'value' => array
-                (
-                    'title' => 'name',
-                    'description' => 'role'
-                )
-            ),
-            array
-            (
-                'type' => 'content',
-                'value' => array
-                (
-                    'item' => array('时间', 'cdate'),
-                )
-            ),
-        ),
-        */
-
-        /*
-        'type' => 'goods',
-        'layout' => array
-        (
-            'tag' => 'mobile',
-            'image' => 'avatar',
-            'title' => 'name',
-            'description' => 'role',
-            //'icon' => 'icon',
-        ),*/
-
-        /*
-        'type' => 'pic',
-        'layout' => array
-        (
-            'id' => 'id',
-            'image' => 'avatar',
-        ),*/
-        # 列表页描述
-        //'desc' => 'test',
-        # 列表的高度,auto和100%或者具体数值,默认是auto
-        'height' => 'auto',
-        
-        # 列表页按钮,默认是快速新增和删除
-        'button' => array
-        (
-            '新增' => 'add',
-            //'新增' => 'fastadd',
-            '删除' => 'recycle',//删除到回收站
-            //'彻底删除' => 'delete',
-            //'更改角色' => array('oper', 'role'),
-            //'链接跳转' => array('link', 'https://www.baidu.com/'),
-            //'路由跳转' => array('route', 'manage/menu?test=1'),
-        ),
-        # 列表页每条数据的按钮,默认是快速编辑和删除
-        'data_button' => array
-        (
-            '编辑' => 'edit',
-            //'编辑' => 'fastedit',
-            # 只处理某个字段,多个用逗号隔开
-            //'编辑' => array('fastedit', 'name'),
-            //'编辑' => array('fastedit'),
-            # 打开其他表的新增
-            //'新增子菜单' => array('fastadd', 'platform/admin'),
-            //'新增子菜单' => array('fastadd', array('path' => 'place_user_log/wallet', 'field' => array('uid' => 'id'))),
-            '删除' => 'recycle',//删除到回收站
-            //'彻底删除' => 'delete',
-            //'操作' => array('oper', 'role'),
-            //'接口操作' => array('api', 'api'),
-            //'详情' => array('view', 'platform/admin?type=view&id=id'),
-            //'链接跳转' => array('link', 'https://www.baidu.com/'),
-            # 第三个参数可以自定义图标:https://element-plus.org/zh-CN/component/icon.html#icon-collection
-            # 第四个参数是判断是否展示该按钮,字段名=字段值& 如name=1&id=2
-            //'路由跳转' => array('route', 'manage/menu?test=1', 'ChatLineSquare'),
-            //'管理账户列表' => array('route', array('path' => 'set_group/group_user', 'param' => array('set' => array('module_id' => 2, 'relation_id' => 'id')))),
-        ),
-        # 列表页导入
-        'import' => array
-        (
-
-        ),
-        # 列表页导出
-        'export' => array
-        (
-            'out' => '导出',
-            'manage/common.out' => '自定义导出',
-        ),
-        # 搜索字段 fulltext 模糊查询
-        'search'    => array
-        (
-            'name',
-            'mobile',
-            'role' => 'group',
-        ),
-        # 统计
-        //'stat' => 'manage/common.stat',
-    ),
-    
-    # 更新页配置
-    'update' => array
-    (
-        # 更新页描述
-        'desc' => '',
-        # 自定义标签 支持分栏
-        /*
-        'tab' => array
-        (
-            # 不设置分栏
-            '基础设置' => 'name,mobile',
-            # 设置分栏
-            '基础设置' => array
-            (
-                array
-                (
-                    'name' => 12,
-                    'mobile' => 12,
-                ),
-            ),
-            '普通设置' => 'password',
-            '其他设置' => 'role',
-        ),
-        # 自定义步骤 支持分栏 设置后,tab将失效
-        'step' => array
-        (
-            '第一步' => 'name,mobile', 
-            # 设置分栏
-            '第一步' => array
-            (
-                array
-                (
-                    'name' => 12,
-                    'mobile' => 12,
-                ),
-            ),
-            '第二步' => 'password',
-            '提交' => 'role',
-        ),
-        # 自定义布局 24分栏布局,设置后,tab和step里的设置将失效
-        'layout' => array
-        (
-            array
-            (
-                'name' => 12,
-                'mobile' => 12,
-            ),
-            array
-            (
-                'password' => 12,
-                'role' => 12,
-            ),
-        ),*/
-        # 要更新的字段
-        'field'    => array
-        (
-            'avatar' => array
-            (
-                'type' => 'upload',
-                # 这里传入上传规则
-                'upload' => '1',
-                # 是否支持多选
-                'multiple' => false,
-                # 提示
-                'tip' => '2222',
-                # 展示类型 默认为list 列表 input 可输入地址 pic图片模式
-                'style' => 'pic',
-                # 裁剪时的默认宽度高度
-                'wh' => '500*500',
-                # 上传后影响的字段 这个目前仅有name字段
-                //'upload_name' => 'name',
-            ),
-            'name' => array
-            (
-                'type' => 'text',
-                # 定义editor的工具栏,一般无需配置,参考wangEditor https://www.wangeditor.com/v5/toolbar-config.html#toolbarkeys,这里直接配置toolbarConfig的值
-                /*
-                'editorToolBar' => array
-                (
-                    'toolbarKeys' => array
-                    (
-                        'headerSelect',
-                        '|',
-                        'bold', 'italic',
-                    ),
-                    'insertKeys' => array(),
-                    'excludeKeys' => array(),
-                ),*/
-                # 定义editor的菜单配置,一般只需要配置上传规则即可,其余也可以配置,参考wangEditor https://www.wangeditor.com/v5/menu-config.html,这里直接配置editorConfig.MENU_CONF的值
-                'editorMenu' => array
-                (
-                    # 定义上传规则,与uploadVideo一样,无需定义server
-                    'uploadImage' => array
-                    (
-                        # 这里传入上传规则id
-                        'upload' => 1,
-                        # 不传则默认为file
-                        'fieldName' => 'file',
-                    ),
-                    # 也可以直接传入上传规则,其余配置默认
-                    'uploadVideo' => 3,
-                ),
-                'maxlength' => 30,
-                # 描述
-                'desc' => '',
-            ),
-            /* type的值
-            text:单行文本
-            set:
-            maxlength:最大输入长度
-            minlength:最小输入长度
-            size: 大小,'large' | 'default' | 'small'
-
-            password:文本密码框
-            textarea:多行文本
-            autosize:true 高度是否自适应,也可以传入数组,array('minRows' => 2, 'maxRows' => 6)
-            rows:多行文本的行数,默认为2
-            editor:编辑器
-
-            number:数字计数器
-            set:
-            step:计数器步数,默认为1
-            min:最小值
-            max:最大值
-            precision:精度,小数点几位
-            position:按钮位置:left、right,不填为两端
-
-            switch:开关
-            set:
-            open_color:开启颜色
-            close_color:关闭颜色
-            open_text:开启文字
-            close_text:关闭文字
-
-            slider:滑块
-            set:
-            max:最大值
-            step:步数
-            stops:是否显示间断点
-            input:是否显示输入框,true/false
-            range:是否范围选择,true/false
-            format:格式化展示数字,这里是一个计算公式,如{a}/100,{a}为当前值变量名
-
-            radio:单选
-            radio_button:单选按钮样式
-            set:
-            border:单选边框样式
-
-            checkbox:多选
-            checkbox_button:多选按钮样式
-            set:
-            border:多选边框样式
-            min:多选限制选择数目,最小选择数目
-            max:多选限制选择数目,最大选择数目
-
-            tree:树形选择器
-            tree2:大量数据下的树形选择器,暂时不支持
-            cascader:级联选择器,可以做地区等
-            select:选择器
-            select_tree:选择器,多选的树形模式
-            set:
-            clearable:是否可清空选择,true/false
-            multiple:开启多选,true/false
-            url:开启远程搜索,这里定义远程搜索的url
-            remote:开启远程控制,这里定义远程控制的url
-
-            rate:评分
-            set:
-            score:是否显示分数
-            text:是否显示文字
-
-            date:日期,不带具体时间
-            date_type:
-            dates:多个日期
-            year:只显示年
-            month:只显示月
-            week:只显示周
-            datetime:带有时间的日期
-            datetimerange:带有时间的日期范围
-            daterange:日期范围
-            monthrange:月份范围
-            set:
-            disable_func:禁止选择方法,需要根据不同的date_type实现不同的方法,默认为不能选择今天之后的日期:return time.getTime() > Date.now()
-            format:格式化展示,YYYY-MM-DD,参考:https://day.js.org/docs/en/display/format#list-of-all-available-formats
-            shortcuts:默认展示的日期,值如:
-            array
-            (
-                array
-                (
-                    'text' => '今天',
-                    'func' => 'return new Date()',
-                ),
-            ),
-            start_placeholder:开始日期文字描述
-            end_placeholder:结束日期文字描述
-            range_separator:日期范围文字描述
-            step:步数
-            start:开始日期
-            end:结束日期
-            default:默认日期
-
-            time:仅选择时间
-            step:步数
-            start:开始时间
-            end:结束时间
-
-            */
-            'mobile' => array
-            (
-                # 仅限编辑,值为add/edit,不填则所有有效
-                //'only'      => 'edit',
-                'name'      => '手机号',
-                'type'      => 'text',
-                'disable'   => false,//是否禁用
-                'placeholder' => '',//提示语
-                # 校验规则,如rules => true,是必填, 无rules或者rules=false,就是选填
-                # 参考:https://github.com/yiminghe/async-validator
-                'rules'     => array
-                (
-                    # 规则1
-                    array
-                    (
-                        # 必填
-                        'required' => true,
-                        # 输入后触发
-                        'trigger' => 'blur',
-                        # 提示信息
-                        'message' => '请输入手机号',
-                    ),
-                    # 规则2
-                    array
-                    (
-                        # 最小字符
-                        //'min' => 3,
-                        # 最大字符
-                        //'max' => 5,
-                        # 长度
-                        'len' => 11,
-                        # 正则
-                        'pattern' => Dever::rule('mobile', ''),
-                        'trigger' => 'blur',
-                        # 提示信息
-                        'message' => '手机号错误',
-                        # 验证类型 date,array,number,boolean,integer,float,url,email,enum,string
-                        'type' => 'string',
-                    ),
-                ),
-            ),
-            'password' => array
-            (
-                'type' => 'password',
-                # 更新时的值,始终是空的,有值才更新
-                'update' => '',
-                # 对更新的值进行处理
-                'handle' => 'manage/common.createPwd',
-                # 空值不允许入库
-                'empty'  => false,
-                'rules'     => array
-                (
-                    array
-                    (
-                        # 仅限新增时必填,值为add/edit,不填则所有有效
-                        'only' => 'add',
-                        'required' => true,
-                        'trigger' => 'blur',
-                        'message' => '请输入密码',
-                    ),
-                    array
-                    (
-                        'min' => 6,
-                        'max' => 18,
-                        'trigger' => 'blur',
-                        'message' => '密码长度不能超过18或者少于6个字符',
-                    ),
-                ),
-            ),
-            'role' => array
-            (
-                'type' => 'checkbox',
-                # 是否开启控制功能,需要配置control
-                //'control' => true,
-                # 开启远程获取数据功能,这里设置接口即可,访问到api下
-                'remote' => 'manage/admin.getModuleData',
-            ),
-            'module_data' => array
-            (
-                'type' => 'tree',
-                'desc' => '',
-            ),
-            # 调用另外一个manage下update字段定义,如api/api_notify,就是调用api/manage/api_notify.php里的update
-            /*
-            #也可以这样设置
-            'api/api_notify#' => array
-            (
-                'field' => 'sign_arg',
-                'name' => '签名参数',
-                'where'  => array('api_id' => 'id'),
-            ),
-            'api/api_notify##' => array
-            (
-                'field' => 'sign_id',
-                'name' => '签名',
-                'where'  => array('api_id' => 'id'),
-            ),
-            'api/api_notify' => array
-            (
-                'name' => '基本设置',
-                'where'  => array('api_id' => 'id'),
-                'default' => array(array('type' => 2)),
-                # 默认使用表格形式展示,可以改成每行展示
-                'type' => 'line',
-            ),
-            'api/api_notify_body' => array
-            (
-                'name' => '参数设置',
-                'where'  => array('api_id' => 'id'),
-            ),
-            */
-        ),
-
-        # 是否开启控制功能
-        /*
-        'control' => array
-        (
-            'avatar' => array
-            (
-                'role' => 1,
-            ),
-        ),
-        */
-
-        # update提交之前的操作,需要验证哪些字段唯一,多个用逗号隔开
-        'check' => 'mobile',
-        # update提交之前的操作
-        'start' => '',
-        # update提交之后的操作
-        'end' => '',
-    ),
-
-    # 详情页配置
-    'view' => 'common.view',
-);
+<?php
+return [
+    # 数据来源,如果当前菜单不是表名,这里可以定义从哪个表获取数据
+    //'source' => 'manage/admin',
+    # 列表页配置
+    'list' => [
+        //'where' => ['group_id' => $group],
+        # 列表页类型 table表格、article文章、pic图片、goods商品,默认是表格,除table外,其余类型需要增加layout项,用以控制展示位置,并且批量操作功能将失效,如批量删除、批量操作等,后续增加更多类型
+        'type' => 'table',
+        # 是否显示序号
+        /*
+        'index' => [
+            'name' => '序号',
+            # 固定表头,field中也支持
+            'fixed' => true,
+        ],
+        */
+        # 展示的字段
+        'field'      => [
+            'id',
+            'name',
+            # 实现多级表头,两个字段合并到一起展示,因vue3问题,仅支持三级表头哦
+            /*
+            'test2' => [
+                'name' => '基本资料',
+                'type' => 'mul',
+                'child' => [
+                    'avatar' => 'image',
+                    'mobile' => [
+                        'type' => 'show',
+                        # 加入排序
+                        'sort' => true,
+                    ],
+                ],
+            ],*/
+
+            //'avatar' => 'image',
+            'mobile' => [
+                'sort' => true,
+                # 多余字符按照...提示
+                'tip' => true,
+            ],
+            'role',
+            /*
+            # 自定义展示内容
+            'role' => [
+                //'show' => 'Dever::db("role", "manage")->find("{id}")["name"]',
+                # 气泡卡片展示
+                'type' => 'popover',
+                # title
+                'title' => '查看更多',
+                # 位置:top/top-start/top-end/bottom/bottom-start/bottom-end/left/left-start/left-end/right/right-start/right-end
+                'location' => 'right',
+                'show' => 'Dever::load("common")->show("{role}")',
+            ],*/
+            'status' => [
+                'type' => 'switch',
+                'show'  => '{status}',
+                'active_value' => 1,
+                'inactive_value' => 2,
+            ],
+            'cdate',
+        ],
+        # 扩展展示内容
+        //'expand' => 'manage/common.show',
+
+        /*
+        'type' => 'article',
+        'layout' => [
+            [
+                'type' => 'avatar',
+                'value' => [
+                    'image' => 'avatar',
+                ]
+            ],
+            [
+                'type' => 'content',
+                'value' => [
+                    'title' => 'name',
+                    'description' => 'role'
+                ]
+            ],
+            [
+                'type' => 'content',
+                'value' => [
+                    'item' => ['时间', 'cdate'],
+                ]
+            ],
+        ],
+        */
+
+        /*
+        'type' => 'goods',
+        'layout' => [
+            'tag' => 'mobile',
+            'image' => 'avatar',
+            'title' => 'name',
+            'description' => 'role',
+            //'icon' => 'icon',
+        ],*/
+
+        /*
+        'type' => 'pic',
+        'layout' => [
+            'id' => 'id',
+            'image' => 'avatar',
+        ],*/
+        # 列表页描述
+        //'desc' => 'test',
+        # 列表的高度,auto和100%或者具体数值,默认是auto
+        'height' => 'auto',
+        
+        # 列表页按钮,默认是快速新增和删除
+        'button' => [
+            '新增' => 'add',
+            //'新增' => 'fastadd',
+            '删除' => 'recycle',//删除到回收站
+            //'彻底删除' => 'delete',
+            //'更改角色' => ['oper', 'role'],
+            //'链接跳转' => ['link', 'https://www.baidu.com/'],
+            //'路由跳转' => ['route', 'manage/menu?test=1'],
+        ],
+        # 列表页每条数据的按钮,默认是快速编辑和删除
+        'data_button' => [
+            '编辑' => 'edit',
+            //'编辑' => 'fastedit',
+            # 只处理某个字段,多个用逗号隔开
+            //'编辑' => ['fastedit', 'name'],
+            //'编辑' => ['fastedit'],
+            # 打开其他表的新增
+            //'新增子菜单' => ['fastadd', 'platform/admin'],
+            //'新增子菜单' => ['fastadd', ['path' => 'place_user_log/wallet', 'field' => ['uid' => 'id']]],
+            '删除' => 'recycle',//删除到回收站
+            //'彻底删除' => 'delete',
+            //'操作' => ['oper', 'role'],
+            //'接口操作' => ['api', 'api'],
+            //'详情' => ['view', 'platform/admin?type=view&id=id'],
+            //'链接跳转' => ['link', 'https://www.baidu.com/'],
+            # 第三个参数可以自定义图标:https://element-plus.org/zh-CN/component/icon.html#icon-collection
+            # 第四个参数是判断是否展示该按钮,字段名=字段值& 如name=1&id=2
+            //'路由跳转' => ['route', 'manage/menu?test=1', 'ChatLineSquare'],
+            //'管理账户列表' => ['route', ['path' => 'set_group/group_user', 'param' => ['set' => ['module_id' => 2, 'relation_id' => 'id']]]],
+        ],
+        # 列表页导入
+        'import' => [
+
+        ],
+        # 列表页导出
+        'export' => [
+            'out' => '导出',
+            'manage/common.out' => '自定义导出',
+        ],
+        # 搜索字段 fulltext 模糊查询
+        'search'    => [
+            'name',
+            'mobile',
+            'role' => 'group',
+        ],
+        # 统计
+        //'stat' => 'manage/common.stat',
+    ],
+    
+    # 更新页配置
+    'update' => [
+        # 更新页描述
+        'desc' => '',
+        # 自定义标签 支持分栏
+        /*
+        'tab' => [
+            # 不设置分栏
+            '基础设置' => 'name,mobile',
+            # 设置分栏
+            '基础设置' => [
+                [
+                    'name' => 12,
+                    'mobile' => 12,
+                ],
+            ],
+            '普通设置' => 'password',
+            '其他设置' => 'role',
+        ],
+        # 自定义步骤 支持分栏 设置后,tab将失效
+        'step' => [
+            '第一步' => 'name,mobile', 
+            # 设置分栏
+            '第一步' => [
+                [
+                    'name' => 12,
+                    'mobile' => 12,
+                ],
+            ],
+            '第二步' => 'password',
+            '提交' => 'role',
+        ],
+        # 自定义布局 24分栏布局,设置后,tab和step里的设置将失效
+        'layout' => [
+            [
+                'name' => 12,
+                'mobile' => 12,
+            ],
+            [
+                'password' => 12,
+                'role' => 12,
+            ],
+        ],*/
+        # 要更新的字段
+        'field'    => [
+            'avatar' => [
+                'type' => 'upload',
+                # 这里传入上传规则
+                'upload' => '1',
+                # 是否支持多选
+                'multiple' => false,
+                # 提示
+                'tip' => '2222',
+                # 展示类型 默认为list 列表 input 可输入地址 pic图片模式
+                'style' => 'pic',
+                # 裁剪时的默认宽度高度
+                'wh' => '500*500',
+                # 上传后影响的字段 这个目前仅有name字段
+                //'upload_name' => 'name',
+            ],
+            'name' => [
+                'type' => 'text',
+                # 定义editor的工具栏,一般无需配置,参考wangEditor https://www.wangeditor.com/v5/toolbar-config.html#toolbarkeys,这里直接配置toolbarConfig的值
+                /*
+                'editorToolBar' => [
+                    'toolbarKeys' => [
+                        'headerSelect',
+                        '|',
+                        'bold', 'italic',
+                    ],
+                    'insertKeys' => [],
+                    'excludeKeys' => [],
+                ],*/
+                # 定义editor的菜单配置,一般只需要配置上传规则即可,其余也可以配置,参考wangEditor https://www.wangeditor.com/v5/menu-config.html,这里直接配置editorConfig.MENU_CONF的值
+                'editorMenu' => [
+                    # 定义上传规则,与uploadVideo一样,无需定义server
+                    'uploadImage' => [
+                        # 这里传入上传规则id
+                        'upload' => 1,
+                        # 不传则默认为file
+                        'fieldName' => 'file',
+                    ],
+                    # 也可以直接传入上传规则,其余配置默认
+                    'uploadVideo' => 3,
+                ],
+                'maxlength' => 30,
+                # 描述
+                'desc' => '',
+            ],
+            /* type的值
+            text:单行文本
+            set:
+            maxlength:最大输入长度
+            minlength:最小输入长度
+            size: 大小,'large' | 'default' | 'small'
+
+            password:文本密码框
+            textarea:多行文本
+            autosize:true 高度是否自适应,也可以传入数组,['minRows' => 2, 'maxRows' => 6]
+            rows:多行文本的行数,默认为2
+            editor:编辑器
+
+            number:数字计数器
+            set:
+            step:计数器步数,默认为1
+            min:最小值
+            max:最大值
+            precision:精度,小数点几位
+            position:按钮位置:left、right,不填为两端
+
+            switch:开关
+            set:
+            open_color:开启颜色
+            close_color:关闭颜色
+            open_text:开启文字
+            close_text:关闭文字
+
+            slider:滑块
+            set:
+            max:最大值
+            step:步数
+            stops:是否显示间断点
+            input:是否显示输入框,true/false
+            range:是否范围选择,true/false
+            format:格式化展示数字,这里是一个计算公式,如{a}/100,{a}为当前值变量名
+
+            radio:单选
+            radio_button:单选按钮样式
+            set:
+            border:单选边框样式
+
+            checkbox:多选
+            checkbox_button:多选按钮样式
+            set:
+            border:多选边框样式
+            min:多选限制选择数目,最小选择数目
+            max:多选限制选择数目,最大选择数目
+
+            tree:树形选择器
+            tree2:大量数据下的树形选择器,暂时不支持
+            cascader:级联选择器,可以做地区等
+            select:选择器
+            select_tree:选择器,多选的树形模式
+            set:
+            clearable:是否可清空选择,true/false
+            multiple:开启多选,true/false
+            url:开启远程搜索,这里定义远程搜索的url
+            remote:开启远程控制,这里定义远程控制的url
+
+            rate:评分
+            set:
+            score:是否显示分数
+            text:是否显示文字
+
+            date:日期,不带具体时间
+            date_type:
+            dates:多个日期
+            year:只显示年
+            month:只显示月
+            week:只显示周
+            datetime:带有时间的日期
+            datetimerange:带有时间的日期范围
+            daterange:日期范围
+            monthrange:月份范围
+            set:
+            disable_func:禁止选择方法,需要根据不同的date_type实现不同的方法,默认为不能选择今天之后的日期:return time.getTime() > Date.now()
+            format:格式化展示,YYYY-MM-DD,参考:https://day.js.org/docs/en/display/format#list-of-all-available-formats
+            shortcuts:默认展示的日期,值如:
+            [
+                [
+                    'text' => '今天',
+                    'func' => 'return new Date()',
+                ],
+            ],
+            start_placeholder:开始日期文字描述
+            end_placeholder:结束日期文字描述
+            range_separator:日期范围文字描述
+            step:步数
+            start:开始日期
+            end:结束日期
+            default:默认日期
+
+            time:仅选择时间
+            step:步数
+            start:开始时间
+            end:结束时间
+
+            */
+            'mobile' => [
+                # 仅限编辑,值为add/edit,不填则所有有效
+                //'only'      => 'edit',
+                'name'      => '手机号',
+                'type'      => 'text',
+                'disable'   => false,//是否禁用
+                'placeholder' => '',//提示语
+                # 校验规则,如rules => true,是必填, 无rules或者rules=false,就是选填
+                # 参考:https://github.com/yiminghe/async-validator
+                'rules'     => [
+                    # 规则1
+                    [
+                        # 必填
+                        'required' => true,
+                        # 输入后触发
+                        'trigger' => 'blur',
+                        # 提示信息
+                        'message' => '请输入手机号',
+                    ],
+                    # 规则2
+                    [
+                        # 最小字符
+                        //'min' => 3,
+                        # 最大字符
+                        //'max' => 5,
+                        # 长度
+                        'len' => 11,
+                        # 正则
+                        'pattern' => Dever::rule('mobile', ''),
+                        'trigger' => 'blur',
+                        # 提示信息
+                        'message' => '手机号错误',
+                        # 验证类型 date,array,number,boolean,integer,float,url,email,enum,string
+                        'type' => 'string',
+                    ],
+                ],
+            ],
+            'password' => [
+                'type' => 'password',
+                # 更新时的值,始终是空的,有值才更新
+                'update' => '',
+                # 对更新的值进行处理
+                'handle' => 'manage/common.createPwd',
+                # 空值不允许入库
+                'empty'  => false,
+                'rules'     => [
+                    [
+                        # 仅限新增时必填,值为add/edit,不填则所有有效
+                        'only' => 'add',
+                        'required' => true,
+                        'trigger' => 'blur',
+                        'message' => '请输入密码',
+                    ],
+                    [
+                        'min' => 6,
+                        'max' => 18,
+                        'trigger' => 'blur',
+                        'message' => '密码长度不能超过18或者少于6个字符',
+                    ],
+                ],
+            ],
+            'role' => [
+                'type' => 'checkbox',
+                # 是否开启控制功能,需要配置control
+                //'control' => true,
+                # 开启远程获取数据功能,这里设置接口即可,访问到api下
+                'remote' => 'manage/admin.getModuleData',
+            ],
+            'module_data' => [
+                'type' => 'tree',
+                'desc' => '',
+            ],
+            # 调用另外一个manage下update字段定义,如api/api_notify,就是调用api/manage/api_notify.php里的update
+            /*
+            #也可以这样设置
+            'api/api_notify#' => [
+                'field' => 'sign_arg',
+                'name' => '签名参数',
+                'where'  => ['api_id' => 'id'],
+            ],
+            'api/api_notify##' => [
+                'field' => 'sign_id',
+                'name' => '签名',
+                'where'  => ['api_id' => 'id'],
+            ],
+            'api/api_notify' => [
+                'name' => '基本设置',
+                'where'  => ['api_id' => 'id'],
+                'default' => [['type' => 2]],
+                # 默认使用表格形式展示,可以改成每行展示
+                'type' => 'line',
+            ],
+            'api/api_notify_body' => [
+                'name' => '参数设置',
+                'where'  => ['api_id' => 'id'],
+            ],
+            */
+        ],
+
+        # 是否开启控制功能
+        /*
+        'control' => [
+            'avatar' => [
+                'role' => 1,
+            ],
+        ],
+        */
+
+        # update提交之前的操作,需要验证哪些字段唯一,多个用逗号隔开
+        'check' => 'mobile',
+        # update提交之前的操作
+        'start' => '',
+        # update提交之后的操作
+        'end' => '',
+    ],
+
+    # 详情页配置
+    'view' => 'common.view',
+];

+ 25 - 32
manage/config.php

@@ -1,32 +1,25 @@
-<?php
-return array
-(
-    'list' => array
-    (
-        'field'      => array
-        (
-            'name',
-        ),
-        'data_button' => array
-        (
-            '编辑' => 'fastedit',
-        ),
-    ),
-    'update' => array
-    (
-        # 展示左侧分栏
-        'column' => array
-        (
-            'load' => 'manage/config',
-            'add' => '新增',
-            'key' => 'id',
-            'data' => 'config.getTree',
-            'active' => 1,
-            'where' => 'id',
-        ),
-        'field'    => array
-        (
-            'name',
-        ),
-    ),
-);
+<?php
+return [
+    'list' => [
+        'field'      => [
+            'name',
+        ],
+        'data_button' => [
+            '编辑' => 'fastedit',
+        ],
+    ],
+    'update' => [
+        # 展示左侧分栏
+        'column' => [
+            'load' => 'manage/config',
+            'add' => '新增',
+            'key' => 'id',
+            'data' => 'config.getTree',
+            'active' => 1,
+            'where' => 'id',
+        ],
+        'field'    => [
+            'name',
+        ],
+    ],
+];

+ 165 - 186
manage/core.php

@@ -1,186 +1,165 @@
-<?php
-# 后台核心配置 这里配置菜单即可
-# 图标 https://vue-admin-beautiful.com/admin-plus/#/vab/icon/remixIcon
-return array
-(
-    # 系统定义 默认将建立platform和group系统
-    /*
-    'system' => array
-    (
-        'main' => array
-        (
-            'name' => '测试系统',
-            'sort' => '-100',
-            # 这个是系统的数据隔离类型,no无需隔离,database是分库隔离,table是分表隔离,field是分区隔离,where是字段隔离
-            'partition' => 'no',
-            # 基本信息表名
-            'info_table' => 'manage/platform',
-            # 用户表名
-            'user_table' => 'manage/admin',
-            # 角色表名
-            'role_table' => 'manage/role',
-        ),
-    ),*/
-
-    # 系统模块定义 默认将建立platform和group模块
-    /*
-    'module' => array
-    (
-        'main' => array
-        (
-            # 系统key
-            'system' => 'platform',
-            'name' => '测试系统',
-            'sort' => '-100',
-            # 模块下数据表名
-            'data_table' => 'manage/platform',
-        ),
-    ),*/
-
-    # 菜单定义
-    'menu' => array
-    (
-        # 定义父级菜单
-        'set' => array
-        (
-            # 菜单名称
-            'name' => '平台',
-            # 菜单图标
-            'icon' => 'flood-line',
-            # 菜单排序 正序
-            'sort' => '1000',
-            # 所属系统模块 模块key,一般只需主菜单填写module
-            'module' => 'platform',
-        ),
-        # 定义二级菜单
-        'platform' => array
-        (
-            'parent' => 'set',
-            'name' => '平台管理',
-            'icon' => 'book-open-line',
-            'sort' => '50',
-        ),
-        # 定义三级菜单 一般和表名一致,如果不是表名则为自定义菜单
-        'admin' => array
-        (
-            # 所属项目 不填写则获取当前deverapp
-            'app'       => 'manage',
-            # 上级菜单
-            'parent'    => 'platform',
-            # 菜单名称
-            'name'      => '账户管理',
-            # 菜单图标
-            'icon'      => 'user-settings-line',
-            # 菜单排序 正序
-            'sort'      => '1',
-            # 菜单路径 可选项:main列表页,update更新页,stat统计页,layout自定义页,不填写默认为main
-            'path'      => 'main',
-            # 标签 这里需要设置获取标签的方法
-            'badge'     => 'test.badge',
-        ),
-
-        'role' => array
-        (
-            'parent'    => 'platform',
-            'name'      => '角色管理',
-            'icon'      => 'archive-line',
-            'sort'      => '2',
-        ),
-
-        'recycler' => array
-        (
-            'parent'    => 'platform',
-            'name'      => '回收站',
-            'icon'      => '',
-            'sort'      => '100',
-            # 不显示在菜单中 也不显示在菜单管理中
-            'show'      => 3,
-        ),
-
-        'set_my' => array
-        (
-            'parent'    => 'platform',
-            'name'      => '个人资料',
-            'icon'      => '',
-            'sort'      => '100',
-            # 不显示在菜单中
-            'show'      => 3,
-            'path'      => 'set/my',
-        ),
-
-        'menu' => array
-        (
-            'parent'    => 'platform',
-            'name'      => '菜单管理',
-            'icon'      => 'menu-line',
-            'sort'      => '3',
-        ),
-
-        'group_manage' => array
-        (
-            'parent'    => 'platform',
-            'name'      => '集团管理',
-            'icon'      => 'group-2-line',
-            'sort'      => '4',
-        ),
-
-        'config' => array
-        (
-            'parent'    => 'platform',
-            'name'      => '配置管理',
-            'icon'      => 'album-line',
-            'sort'      => '5',
-            'path'      => 'update',
-            # 后续完善配置功能
-            'show'      => 3,
-        ),
-
-        'cron' => array
-        (
-            'parent'    => 'platform',
-            'name'      => '计划任务',
-            'icon'      => 'stack-line',
-            'sort'      => '100',
-        ),
-
-        'set_group' => array
-        (
-            'name' => '配置',
-            'icon' => 'settings-line',
-            'sort' => '100',
-            'module' => 'group',
-        ),
-
-        'group' => array
-        (
-            'parent'    => 'set_group',
-            'name'      => '集团管理',
-            'icon'      => 'group-2-line',
-            'sort'      => '100',
-        ),
-
-        'group_user' => array
-        (
-            'parent'    => 'group',
-            'name'      => '账户管理',
-            'icon'      => 'user-settings-line',
-            'sort'      => '1',
-        ),
-
-        'group_role' => array
-        (
-            'parent'    => 'group',
-            'name'      => '角色管理',
-            'icon'      => 'archive-line',
-            'sort'      => '2',
-        ),
-
-        'group_org' => array
-        (
-            'parent'    => 'group',
-            'name'      => '组织管理',
-            'icon'      => 'voiceprint-fill',
-            'sort'      => '5',
-        ),
-    ),
-);
+<?php
+# 后台核心配置 这里配置菜单即可
+# 图标 https://vue-admin-beautiful.com/admin-plus/#/vab/icon/remixIcon
+return [
+    # 系统定义 默认将建立platform和group系统
+    /*
+    'system' => [
+        'main' => [
+            'name' => '测试系统',
+            'sort' => '-100',
+            # 这个是系统的数据隔离类型,no无需隔离,database是分库隔离,table是分表隔离,field是分区隔离,where是字段隔离
+            'partition' => 'no',
+            # 基本信息表名
+            'info_table' => 'manage/platform',
+            # 用户表名
+            'user_table' => 'manage/admin',
+            # 角色表名
+            'role_table' => 'manage/role',
+        ],
+    ],*/
+
+    # 系统模块定义 默认将建立platform和group模块
+    /*
+    'module' => [
+        'main' => [
+            # 系统key
+            'system' => 'platform',
+            'name' => '测试系统',
+            'sort' => '-100',
+            # 模块下数据表名
+            'data_table' => 'manage/platform',
+        ],
+    ],*/
+
+    # 菜单定义
+    'menu' => [
+        # 定义父级菜单
+        'set' => [
+            # 菜单名称
+            'name' => '平台',
+            # 菜单图标
+            'icon' => 'flood-line',
+            # 菜单排序 正序
+            'sort' => '1000',
+            # 所属系统模块 模块key,一般只需主菜单填写module
+            'module' => 'platform',
+        ],
+        # 定义二级菜单
+        'platform' => [
+            'parent' => 'set',
+            'name' => '平台管理',
+            'icon' => 'book-open-line',
+            'sort' => '50',
+        ],
+        # 定义三级菜单 一般和表名一致,如果不是表名则为自定义菜单
+        'admin' => [
+            # 所属项目 不填写则获取当前deverapp
+            'app'       => 'manage',
+            # 上级菜单
+            'parent'    => 'platform',
+            # 菜单名称
+            'name'      => '账户管理',
+            # 菜单图标
+            'icon'      => 'user-settings-line',
+            # 菜单排序 正序
+            'sort'      => '1',
+            # 菜单路径 可选项:main列表页,update更新页,stat统计页,layout自定义页,不填写默认为main
+            'path'      => 'main',
+            # 标签 这里需要设置获取标签的方法
+            'badge'     => 'test.badge',
+        ],
+
+        'role' => [
+            'parent'    => 'platform',
+            'name'      => '角色管理',
+            'icon'      => 'archive-line',
+            'sort'      => '2',
+        ],
+
+        'recycler' => [
+            'parent'    => 'platform',
+            'name'      => '回收站',
+            'icon'      => '',
+            'sort'      => '100',
+            # 不显示在菜单中 也不显示在菜单管理中
+            'show'      => 3,
+        ],
+
+        'set_my' => [
+            'parent'    => 'platform',
+            'name'      => '个人资料',
+            'icon'      => '',
+            'sort'      => '100',
+            # 不显示在菜单中
+            'show'      => 3,
+            'path'      => 'set/my',
+        ],
+
+        'menu' => [
+            'parent'    => 'platform',
+            'name'      => '菜单管理',
+            'icon'      => 'menu-line',
+            'sort'      => '3',
+        ],
+
+        'group_manage' => [
+            'parent'    => 'platform',
+            'name'      => '集团管理',
+            'icon'      => 'group-2-line',
+            'sort'      => '4',
+        ],
+
+        'config' => [
+            'parent'    => 'platform',
+            'name'      => '配置管理',
+            'icon'      => 'album-line',
+            'sort'      => '5',
+            'path'      => 'update',
+            # 后续完善配置功能
+            'show'      => 3,
+        ],
+
+        'cron' => [
+            'parent'    => 'platform',
+            'name'      => '计划任务',
+            'icon'      => 'stack-line',
+            'sort'      => '100',
+        ],
+
+        'set_group' => [
+            'name' => '配置',
+            'icon' => 'settings-line',
+            'sort' => '100',
+            'module' => 'group',
+        ],
+
+        'group' => [
+            'parent'    => 'set_group',
+            'name'      => '集团管理',
+            'icon'      => 'group-2-line',
+            'sort'      => '100',
+        ],
+
+        'group_user' => [
+            'parent'    => 'group',
+            'name'      => '账户管理',
+            'icon'      => 'user-settings-line',
+            'sort'      => '1',
+        ],
+
+        'group_role' => [
+            'parent'    => 'group',
+            'name'      => '角色管理',
+            'icon'      => 'archive-line',
+            'sort'      => '2',
+        ],
+
+        'group_org' => [
+            'parent'    => 'group',
+            'name'      => '组织管理',
+            'icon'      => 'voiceprint-fill',
+            'sort'      => '5',
+        ],
+    ],
+];

+ 46 - 56
manage/cron.php

@@ -1,56 +1,46 @@
-<?php
-$manage = Dever::project('manage');
-$path = $manage['setup'];
-return array
-(
-    'source' => 'manage/cron',
-    'list' => array
-    (
-        'desc' => '请将 * * * * * root php '.$path.'index.php \'{"l":"cron.run"}\'放到cron中[建议每分钟执行一次]',
-        'field'      => array
-        (
-            'name',
-            'project',
-            'interface',
-            'ldate' => array
-            (
-                'show' => 'date("Y-m-d H:i:s", {ldate})',
-            ),
-            'time',
-            'state' => array
-            (
-                'type' => 'switch',
-                'show'  => '{state}',
-                'active_value' => 1,
-                'inactive_value' => 2,
-            ),
-        ),
-    ),
-
-    'update' => array
-    (
-        'field'      => array
-        (
-            'name',
-            'project',
-            'interface',
-            'ldate' => array
-            (
-                'type' => 'date',
-                'date_type' => 'datetime',
-                //'value_format' => 'YYYY-MM-DD HH:mm:ss',
-                'handle' => 'manage/common.crateDate',
-                'rules' => true,
-            ),
-            'time' => array
-            (
-                'desc' => '输入秒数',
-            ),
-            /*
-            'state' => array
-            (
-                'type' => 'radio',
-            ),*/
-        ),
-    ),
-);
+<?php
+$manage = Dever::project('manage');
+$path = $manage['setup'];
+return [
+    'source' => 'manage/cron',
+    'list' => [
+        'desc' => '请将 * * * * * root php '.$path.'index.php \'{"l":"cron.run"}\'放到cron中[建议每分钟执行一次]',
+        'field'      => [
+            'name',
+            'project',
+            'interface',
+            'ldate' => [
+                'show' => 'date("Y-m-d H:i:s", {ldate})',
+            ],
+            'time',
+            'state' => [
+                'type' => 'switch',
+                'show'  => '{state}',
+                'active_value' => 1,
+                'inactive_value' => 2,
+            ],
+        ],
+    ],
+
+    'update' => [
+        'field'      => [
+            'name',
+            'project',
+            'interface',
+            'ldate' => [
+                'type' => 'date',
+                'date_type' => 'datetime',
+                //'value_format' => 'YYYY-MM-DD HH:mm:ss',
+                'handle' => 'manage/common.crateDate',
+                'rules' => true,
+            ],
+            'time' => [
+                'desc' => '输入秒数',
+            ],
+            /*
+            'state' => [
+                'type' => 'radio',
+            ],*/
+        ],
+    ],
+];

+ 58 - 70
manage/group_manage.php

@@ -1,70 +1,58 @@
-<?php
-return array
-(
-    'source' => 'manage/group',
-    'list' => array
-    (
-        'desc' => '集团即您的客户,如果系统为集团客户开发了后台管理功能,可以使用集团来为客户开启后台权限',
-        'field'      => array
-        (
-            'id',
-            'name',
-            'number',
-            'sort' => 'input',
-            'status' => array
-            (
-                'type' => 'switch',
-                'show'  => '{status}',
-                'active_value' => 1,
-                'inactive_value' => 2,
-            ),
-        ),
-        'data_button' => array
-        (
-            '编辑' => 'fastedit',
-            //'删除' => 'recycle',
-            //'管理账户列表' => array('route', array('path' => 'set_group/group_user', 'param' => array('set' => array('system_id' => 2, 'relation_id' => 'id')))),
-            //'管理账户列表' => array('route', 'set_group/group_user?set[system_id]=2&set[relation_id]=id'),
-        ),
-    ),
-    'update' => array
-    (
-        'field'    => array
-        (
-            'name',
-            'number' => array
-            (
-                'desc' => '集团号不能为空,且必须唯一,尽量使用字符串',
-                'rules' => true,
-            ),
-            'mobile' => array
-            (
-                //'show'      => '"{mobile}" ? false : true',
-                'type'      => 'text',
-                'desc'      => '请输入管理员手机号,默认密码123456,集团必须有管理员才能登录',
-                'placeholder' => '管理员手机号',
-                'rules'     => array
-                (
-                    array
-                    (
-                        'required' => true,
-                        'trigger' => 'blur',
-                        'message' => '请输入手机号',
-                    ),
-                    array
-                    (
-                        'len' => 11,
-                        'pattern' => Dever::rule('mobile', ''),
-                        'trigger' => 'blur',
-                        'message' => '手机号错误',
-                        'type' => 'string',
-                    ),
-                ),
-            ),
-            'sort',
-            'status' => 'radio',
-        ),
-        'check' => 'key',
-        'end' => 'manage/system.update?system=group',
-    ),
-);
+<?php
+return [
+    'source' => 'manage/group',
+    'list' => [
+        'desc' => '集团即您的客户,如果系统为集团客户开发了后台管理功能,可以使用集团来为客户开启后台权限',
+        'field'      => [
+            'id',
+            'name',
+            'number',
+            'sort' => 'input',
+            'status' => [
+                'type' => 'switch',
+                'show'  => '{status}',
+                'active_value' => 1,
+                'inactive_value' => 2,
+            ],
+        ],
+        'data_button' => [
+            '编辑' => 'fastedit',
+            //'删除' => 'recycle',
+            //'管理账户列表' => ['route', ['path' => 'set_group/group_user', 'param' => ['set' => ['system_id' => 2, 'relation_id' => 'id']]]],
+            //'管理账户列表' => ['route', 'set_group/group_user?set[system_id]=2&set[relation_id]=id'],
+        ],
+    ],
+    'update' => [
+        'field'    => [
+            'name',
+            'number' => [
+                'desc' => '集团号不能为空,且必须唯一,尽量使用字符串',
+                'rules' => true,
+            ],
+            'mobile' => [
+                //'show'      => '"{mobile}" ? false : true',
+                'type'      => 'text',
+                'desc'      => '请输入管理员手机号,默认密码123456,集团必须有管理员才能登录',
+                'placeholder' => '管理员手机号',
+                'rules'     => [
+                    [
+                        'required' => true,
+                        'trigger' => 'blur',
+                        'message' => '请输入手机号',
+                    ],
+                    [
+                        'len' => 11,
+                        'pattern' => Dever::rule('mobile', ''),
+                        'trigger' => 'blur',
+                        'message' => '手机号错误',
+                        'type' => 'string',
+                    ],
+                ],
+            ],
+            'sort',
+            'status' => 'radio',
+        ],
+        'check' => 'key',
+        'end' => 'manage/system.update?system=group',
+    ],
+];

+ 39 - 49
manage/group_org.php

@@ -1,49 +1,39 @@
-<?php
-return array
-(
-    'list' => array
-    (
-        'field'      => array
-        (
-            'name',
-            'sort' => 'input',
-            'manage/group_org_job'=> array
-            (
-                'name'      => '职位列表',
-                'where'      => array('org_id' => 'id'),
-            ),
-            'status' => array
-            (
-                'type' => 'switch',
-                'show'  => '{status}',
-                'active_value' => 1,
-                'inactive_value' => 2,
-            ),
-        ),
-
-        'button' => array
-        (
-            '新增' => array('fastadd'),
-        ),
-
-        'data_button' => array
-        (
-            '编辑' => array('fastedit', 'name,sort,status,manage/group_org_job'),
-        ),
-
-    ),
-    'update' => array
-    (
-        'field'    => array
-        (
-            'name',
-            'sort',
-            'status' => 'radio',
-            'manage/group_org_job'=> array
-            (
-                'name'      => '职位设置',
-                'where'      => array('org_id' => 'id'),
-            ),
-        ),
-    ),
-);
+<?php
+return [
+    'list' => [
+        'field'      => [
+            'name',
+            'sort' => 'input',
+            'manage/group_org_job'=> [
+                'name'      => '职位列表',
+                'where'      => ['org_id' => 'id'],
+            ],
+            'status' => [
+                'type' => 'switch',
+                'show'  => '{status}',
+                'active_value' => 1,
+                'inactive_value' => 2,
+            ],
+        ],
+
+        'button' => [
+            '新增' => ['fastadd'],
+        ],
+
+        'data_button' => [
+            '编辑' => ['fastedit', 'name,sort,status,manage/group_org_job'],
+        ],
+
+    ],
+    'update' => [
+        'field'    => [
+            'name',
+            'sort',
+            'status' => 'radio',
+            'manage/group_org_job'=> [
+                'name'      => '职位设置',
+                'where'      => ['org_id' => 'id'],
+            ],
+        ],
+    ],
+];

+ 10 - 13
manage/group_org_job.php

@@ -1,13 +1,10 @@
-<?php
-return array
-(
-    'update' => array
-    (
-        'field'    => array
-        (
-            'id' => 'hidden',
-            'name',
-        ),
-        'drag' => 'sort',
-    ),
-);
+<?php
+return [
+    'update' => [
+        'field'    => [
+            'id' => 'hidden',
+            'name',
+        ],
+        'drag' => 'sort',
+    ],
+];

+ 95 - 112
manage/menu.php

@@ -1,112 +1,95 @@
-<?php
-$module = Dever::input('search')['module_id'] ?? 1;
-return array
-(
-    'list' => array
-    (
-        'where' => array('module_id' => $module, 'show' => array('<', '3')),
-        # 展示左侧分栏
-        'column' => array
-        (
-            # 分栏数据来源
-            'load' => 'manage/system_module',
-            # 分栏新增按钮
-            //'add' => '新增',
-            # 分栏编辑按钮,这里直接用图标
-            //'edit' => true,
-            # 分栏删除按钮,这里直接用图标
-            //'delete' => true,
-            'edit' => true,
-            # 关键字段,一般为id或者key
-            'key' => 'id',
-            # 获取数据
-            'data' => 'manage/module.getTree',
-            # 默认展开
-            'active' => 1,
-            # 对应的where条件的key
-            'where' => 'module_id',
-        ),
-        # 展示的字段
-        'field'      => array
-        (
-            'name' => array
-            (
-                'width' => '300',
-            ),
-            'key',
-            //'path',
-            'icon' => 'icon',
-            'sort' => 'input',
-            'show',
-            /*
-            'show' => array
-            (
-                # 行中修改 仅支持switch、select、input,太复杂的咱就别在行中修改了吧
-                'type' => 'switch',
-                'show'  => '{show}',
-                'active_value' => 1,
-                'inactive_value' => 2,
-            ),*/
-        ),
-        # 树形表格 仅type=table时支持,这里设置获取根数据的条件即可
-        'tree' => array('parent_id', '0', 'id'),
-
-        'search'    => array
-        (
-            'module_id' => 'hidden',
-            'name',
-        ),
-
-        'button' => array
-        (
-            '新增主菜单' => array('fastadd', array('parent_id' => '0', 'module_id' => $module, 'path' => '')),
-        ),
-
-        'data_button' => array
-        (
-            '编辑' => array('fastedit', 'name,key,icon,path,link,sort,show'),
-            '新增子菜单' => array('fastadd', array('parent_id' => 'id', 'module_id' => $module)),
-            //'删除' => 'recycle',
-        ),
-
-    ),
-    'update' => array
-    (
-        'field'    => array
-        (
-            'name',
-            'key',
-            'parent_id',
-            'module_id',
-            'path' => array
-            (
-                'type' => 'select',
-                'control' => true,
-            ),
-            'link',
-            'icon' => array
-            (
-                'type' => 'icon',
-                'search' => true,
-            ),
-            'sort',
-            'show' => array
-            (
-                'type' => 'radio',
-                'option'     => array
-                (
-                    1 => '展示',
-                    2 => '不展示',
-                ),
-            ),
-        ),
-        'check' => 'key',
-        'control' => array
-        (
-            'link' => array
-            (
-                'path' => 'link',
-            ),
-        ),
-    ),
-);
+<?php
+$module = Dever::input('search')['module_id'] ?? 1;
+return [
+    'list' => [
+        'where' => ['module_id' => $module, 'show' => ['<', '3']],
+        # 展示左侧分栏
+        'column' => [
+            # 分栏数据来源
+            'load' => 'manage/system_module',
+            # 分栏新增按钮
+            //'add' => '新增',
+            # 分栏编辑按钮,这里直接用图标
+            //'edit' => true,
+            # 分栏删除按钮,这里直接用图标
+            //'delete' => true,
+            'edit' => true,
+            # 关键字段,一般为id或者key
+            'key' => 'id',
+            # 获取数据
+            'data' => 'manage/module.getTree',
+            # 默认展开
+            'active' => 1,
+            # 对应的where条件的key
+            'where' => 'module_id',
+        ],
+        # 展示的字段
+        'field'      => [
+            'name' => [
+                'width' => '300',
+            ],
+            'key',
+            //'path',
+            'icon' => 'icon',
+            'sort' => 'input',
+            'show',
+            /*
+            'show' => [
+                # 行中修改 仅支持switch、select、input,太复杂的咱就别在行中修改了吧
+                'type' => 'switch',
+                'show'  => '{show}',
+                'active_value' => 1,
+                'inactive_value' => 2,
+            ],*/
+        ],
+        # 树形表格 仅type=table时支持,这里设置获取根数据的条件即可
+        'tree' => ['parent_id', '0', 'id'],
+
+        'search'    => [
+            'module_id' => 'hidden',
+            'name',
+        ],
+
+        'button' => [
+            '新增主菜单' => ['fastadd', ['parent_id' => '0', 'module_id' => $module, 'path' => '']],
+        ],
+
+        'data_button' => [
+            '编辑' => ['fastedit', 'name,key,icon,path,link,sort,show'],
+            '新增子菜单' => ['fastadd', ['parent_id' => 'id', 'module_id' => $module]],
+            //'删除' => 'recycle',
+        ],
+
+    ],
+    'update' => [
+        'field'    => [
+            'name',
+            'key',
+            'parent_id',
+            'module_id',
+            'path' => [
+                'type' => 'select',
+                'control' => true,
+            ],
+            'link',
+            'icon' => [
+                'type' => 'icon',
+                'search' => true,
+            ],
+            'sort',
+            'show' => [
+                'type' => 'radio',
+                'option'     => [
+                    1 => '展示',
+                    2 => '不展示',
+                ],
+            ],
+        ],
+        'check' => 'key',
+        'control' => [
+            'link' => [
+                'path' => 'link',
+            ],
+        ],
+    ],
+];

+ 17 - 22
manage/recycler.php

@@ -1,22 +1,17 @@
-<?php
-return array
-(
-    'list' => array
-    (
-        # 设置数据来源
-        'data'      => 'recycler.getData', 
-        'search'    => array
-        (
-            'table' => 'hidden',
-        ),
-        'button' => array
-        (
-            '批量恢复' => 'recover',
-        ),
-        'data_button' => array
-        (
-            '恢复' => 'recover',
-            '彻底删除' => 'delete',
-        ),
-    ),
-);
+<?php
+return [
+    'list' => [
+        # 设置数据来源
+        'data'      => 'recycler.getData', 
+        'search'    => [
+            'table' => 'hidden',
+        ],
+        'button' => [
+            '批量恢复' => 'recover',
+        ],
+        'data_button' => [
+            '恢复' => 'recover',
+            '彻底删除' => 'delete',
+        ],
+    ],
+];

+ 35 - 46
manage/role.php

@@ -1,46 +1,35 @@
-<?php
-return array
-(
-    'list' => array
-    (
-        'field'      => array
-        (
-            'id',
-            'name',
-            'module' => array
-            (
-                'show' => 'Dever::load("role", "manage")->showModule("{module}")',
-            ),
-            'menu' => array
-            (
-                'show' => 'Dever::load("role", "manage")->showMenu("{menu}")',
-            ),
-            /*
-            'auth' => array
-            (
-                'show' => 'Dever::load("role", "manage")->showFunc("{auth}")',
-            ),*/
-            'cdate',
-        ),
-        'button' => array
-        (
-            '新增' => 'add',
-        ),
-        'data_button' => array
-        (
-            '编辑' => 'edit',
-        ),
-    ),
-    'update' => array
-    (
-        'field'    => array
-        (
-            'name',
-            'auth' => array
-            (
-                'type' => 'tree',
-            ),
-        ),
-        'start' => 'role.update',
-    ),
-);
+<?php
+return [
+    'list' => [
+        'field'      => [
+            'id',
+            'name',
+            'module' => [
+                'show' => 'Dever::load("role", "manage")->showModule("{module}")',
+            ],
+            'menu' => [
+                'show' => 'Dever::load("role", "manage")->showMenu("{menu}")',
+            ],
+            /*
+            'auth' => [
+                'show' => 'Dever::load("role", "manage")->showFunc("{auth}")',
+            ],*/
+            'cdate',
+        ],
+        'button' => [
+            '新增' => 'add',
+        ],
+        'data_button' => [
+            '编辑' => 'edit',
+        ],
+    ],
+    'update' => [
+        'field'    => [
+            'name',
+            'auth' => [
+                'type' => 'tree',
+            ],
+        ],
+        'start' => 'role.update',
+    ],
+];

+ 16 - 21
manage/system.php

@@ -1,21 +1,16 @@
-<?php
-return array
-(
-    'list' => array
-    (
-        'field'      => array
-        (
-            'name',
-            'sort',
-        ),
-    ),
-    'update' => array
-    (
-        'field'    => array
-        (
-            'name',
-            'sort',
-        ),
-        'check' => 'key',
-    ),
-);
+<?php
+return [
+    'list' => [
+        'field'      => [
+            'name',
+            'sort',
+        ],
+    ],
+    'update' => [
+        'field'    => [
+            'name',
+            'sort',
+        ],
+        'check' => 'key',
+    ],
+];

+ 16 - 21
manage/system_module.php

@@ -1,21 +1,16 @@
-<?php
-return array
-(
-    'list' => array
-    (
-        'field'      => array
-        (
-            'name',
-            'sort',
-        ),
-    ),
-    'update' => array
-    (
-        'field'    => array
-        (
-            'name',
-            'sort',
-        ),
-        'check' => 'key',
-    ),
-);
+<?php
+return [
+    'list' => [
+        'field'      => [
+            'name',
+            'sort',
+        ],
+    ],
+    'update' => [
+        'field'    => [
+            'name',
+            'sort',
+        ],
+        'check' => 'key',
+    ],
+];

+ 53 - 65
table/admin.php

@@ -1,65 +1,53 @@
-<?php
-return array
-(
-    'name' => '平台管理员',
-    'struct' => array
-    (
-        'name' => array
-        (
-            'name'      => '姓名',
-            'type'      => 'varchar(32)',
-        ),
-        'mobile' => array
-        (
-            'name'      => '手机号',
-            'type'      => 'varchar(11)',
-        ),
-        'password' => array
-        (
-            'name'      => '密码',
-            'type'      => 'varchar(64)',
-        ),
-        'salt' => array
-        (
-            'name'      => '密码salt',
-            'type'      => 'varchar(32)',
-        ),
-        'role' => array
-        (
-            'name'      => '角色',
-            'type'      => 'varchar(100)',
-            # 该字段的值 radio、select、checkbox有效,定义从哪个表获取数据
-            'value'    => 'manage/role',
-            /*
-            'value'    => 'manage/role',//跟role一样,但可以调取别的app的方法
-            'value'    => 'Dever::call("manage/role.get")',//调用某个类的方法
-            'value'    => array(1 => 'a', 2 => 'b'),//直接设置可选项
-            */
-        ),
-        'module_data' => array
-        (
-            'name'      => '系统模块',
-            'type'      => 'varchar(2000)',
-        ),
-        'avatar' => array
-        (
-            'name'      => '头像',
-            'type'      => 'varchar(150)',
-        ),
-        'status' => array
-        (
-            'name'      => '状态',
-            'type'      => 'tinyint(1)',
-            'default'   => 1,
-            'value'     => array
-            (
-                1 => '正常',
-                2 => '封禁',
-            ),
-        ),
-    ),
-    'index' => array
-    (
-        'mobile' => 'mobile.unique',
-    ),
-);
+<?php
+return [
+    'name' => '平台管理员',
+    'struct' => [
+        'name' => [
+            'name'      => '姓名',
+            'type'      => 'varchar(32)',
+        ],
+        'mobile' => [
+            'name'      => '手机号',
+            'type'      => 'varchar(11)',
+        ],
+        'password' => [
+            'name'      => '密码',
+            'type'      => 'varchar(64)',
+        ],
+        'salt' => [
+            'name'      => '密码salt',
+            'type'      => 'varchar(32)',
+        ],
+        'role' => [
+            'name'      => '角色',
+            'type'      => 'varchar(100)',
+            # 该字段的值 radio、select、checkbox有效,定义从哪个表获取数据
+            'value'    => 'manage/role',
+            /*
+            'value'    => 'manage/role',//跟role一样,但可以调取别的app的方法
+            'value'    => 'Dever::call("manage/role.get")',//调用某个类的方法
+            'value'    => [1 => 'a', 2 => 'b'],//直接设置可选项
+            */
+        ],
+        'module_data' => [
+            'name'      => '系统模块',
+            'type'      => 'varchar(2000)',
+        ],
+        'avatar' => [
+            'name'      => '头像',
+            'type'      => 'varchar(150)',
+        ],
+        'status' => [
+            'name'      => '状态',
+            'type'      => 'tinyint(1)',
+            'default'   => 1,
+            'value'     => [
+                1 => '正常',
+                2 => '封禁',
+            ],
+        ],
+    ],
+    'index' => [
+        'mobile' => 'mobile.unique',
+    ],
+];

+ 18 - 23
table/config.php

@@ -1,23 +1,18 @@
-<?php
-return array
-(
-    'name' => '基础配置',
-    'struct' => array
-    (
-        'name' => array
-        (
-            'name'      => '配置名称',
-            'type'      => 'varchar(32)',
-        ),
-    ),
-
-    'default' => array
-    (
-        'field' => 'id,name',
-        'value' => array
-        (
-            '1,"默认配置"',
-        ),
-        'num' => 1,
-    ),
-);
+<?php
+return [
+    'name' => '基础配置',
+    'struct' => [
+        'name' => [
+            'name'      => '配置名称',
+            'type'      => 'varchar(32)',
+        ],
+    ],
+
+    'default' => [
+        'field' => 'id,name',
+        'value' => [
+            '1,"默认配置"',
+        ],
+        'num' => 1,
+    ],
+];

+ 42 - 51
table/cron.php

@@ -1,51 +1,42 @@
-<?php
-return array
-(
-    'name' => '计划任务',
-    'struct' => array
-    (
-        'name'      => array
-        (
-            'type'      => 'varchar(32)',
-            'name'      => '任务名',
-        ),
-
-        'project'       => array
-        (
-            'type'      => 'varchar(30)',
-            'name'      => '项目',
-            'value'     => 'Dever::call("manage/common.project")',
-        ),
-        
-        'interface'     => array
-        (
-            'type'      => 'varchar(300)',
-            'name'      => '接口地址',
-        ),
-
-        'ldate'     => array
-        (
-            'type'      => 'int(11)',
-            'name'      => '执行时间',
-        ),
-
-        'time'      => array
-        (
-            'type'      => 'int(11)',
-            'name'      => '时间间隔',
-            'default'   => '0',
-        ),
-
-        'state'     => array
-        (
-            'type'      => 'tinyint(1)',
-            'name'      => '状态',
-            'default'   => 1,
-            'value'    => array
-            (
-                1 => '可执行',
-                2 => '已完成',
-            )
-        ),
-    ),
-);
+<?php
+return [
+    'name' => '计划任务',
+    'struct' => [
+        'name'      => [
+            'type'      => 'varchar(32)',
+            'name'      => '任务名',
+        ],
+
+        'project'       => [
+            'type'      => 'varchar(30)',
+            'name'      => '项目',
+            'value'     => 'Dever::call("manage/common.project")',
+        ],
+        
+        'interface'     => [
+            'type'      => 'varchar(300)',
+            'name'      => '接口地址',
+        ],
+
+        'ldate'     => [
+            'type'      => 'int(11)',
+            'name'      => '执行时间',
+        ],
+
+        'time'      => [
+            'type'      => 'int(11)',
+            'name'      => '时间间隔',
+            'default'   => '0',
+        ],
+
+        'state'     => [
+            'type'      => 'tinyint(1)',
+            'name'      => '状态',
+            'default'   => 1,
+            'value'    => [
+                1 => '可执行',
+                2 => '已完成',
+            ]
+        ],
+    ],
+];

+ 40 - 50
table/group.php

@@ -1,50 +1,40 @@
-<?php
-return array
-(
-    'name' => '集团',
-    'order' => 'sort asc',
-    'struct' => array
-    (
-        'name' => array
-        (
-            'name'      => '集团名称',
-            'type'      => 'varchar(32)',
-        ),
-        'number' => array
-        (
-            'name'      => '集团号',
-            'type'      => 'varchar(32)',
-        ),
-        'mobile' => array
-        (
-            'name'      => '手机号',
-            'type'      => 'varchar(11)',
-        ),
-        'sort' => array
-        (
-            'name'      => '排序',
-            'type'      => 'int(11)',
-            'default'   => '1',
-        ),
-        'status' => array
-        (
-            'name'      => '状态',
-            'type'      => 'tinyint(1)',
-            'default'   => 1,
-            'value'     => array
-            (
-                1 => '启用',
-                2 => '关闭',
-            ),
-        ),
-    ),
-    'default' => array
-    (
-        'field' => 'name,number,sort,cdate',
-        'value' => array
-        (
-            '"默认集团","default",-100,' . DEVER_TIME,
-        ),
-        'num' => 1,
-    ),
-);
+<?php
+return [
+    'name' => '集团',
+    'order' => 'sort asc',
+    'struct' => [
+        'name' => [
+            'name'      => '集团名称',
+            'type'      => 'varchar(32)',
+        ],
+        'number' => [
+            'name'      => '集团号',
+            'type'      => 'varchar(32)',
+        ],
+        'mobile' => [
+            'name'      => '手机号',
+            'type'      => 'varchar(11)',
+        ],
+        'sort' => [
+            'name'      => '排序',
+            'type'      => 'int(11)',
+            'default'   => '1',
+        ],
+        'status' => [
+            'name'      => '状态',
+            'type'      => 'tinyint(1)',
+            'default'   => 1,
+            'value'     => [
+                1 => '启用',
+                2 => '关闭',
+            ],
+        ],
+    ],
+    'default' => [
+        'field' => 'name,number,sort,cdate',
+        'value' => [
+            '"默认集团","default",-100,' . DEVER_TIME,
+        ],
+        'num' => 1,
+    ],
+];

+ 32 - 40
table/group_org.php

@@ -1,40 +1,32 @@
-<?php
-return array
-(
-    'name' => '集团组织',
-    'partition' => 'Dever::call("manage/common.system")',
-    'order' => 'sort asc',
-    'struct' => array
-    (
-        'name' => array
-        (
-            'name'      => '组织名称',
-            'type'      => 'varchar(32)',
-        ),
-        'sort' => array
-        (
-            'name'      => '排序',
-            'type'      => 'int(11)',
-            'default'   => '1',
-        ),
-        'status' => array
-        (
-            'name'      => '状态',
-            'type'      => 'tinyint(1)',
-            'default'   => 1,
-            'value'     => array
-            (
-                1 => '启用',
-                2 => '关闭',
-            ),
-        ),
-    ),
-    'default' => array
-    (
-        'field' => 'name,cdate',
-        'value' => array
-        (
-            '"默认组织",' . DEVER_TIME,
-        ),
-    ),
-);
+<?php
+return [
+    'name' => '集团组织',
+    'partition' => 'Dever::call("manage/common.system")',
+    'order' => 'sort asc',
+    'struct' => [
+        'name' => [
+            'name'      => '组织名称',
+            'type'      => 'varchar(32)',
+        ],
+        'sort' => [
+            'name'      => '排序',
+            'type'      => 'int(11)',
+            'default'   => '1',
+        ],
+        'status' => [
+            'name'      => '状态',
+            'type'      => 'tinyint(1)',
+            'default'   => 1,
+            'value'     => [
+                1 => '启用',
+                2 => '关闭',
+            ],
+        ],
+    ],
+    'default' => [
+        'field' => 'name,cdate',
+        'value' => [
+            '"默认组织",' . DEVER_TIME,
+        ],
+    ],
+];

+ 27 - 34
table/group_org_job.php

@@ -1,34 +1,27 @@
-<?php
-return array
-(
-    'name' => '组织职位',
-    'partition' => 'Dever::call("manage/common.system")',
-    'order' => 'sort asc',
-    'struct' => array
-    (
-        'org_id'      => array
-        (
-            'name'      => '组织',
-            'type'      => 'int(11)',
-        ),
-        'name' => array
-        (
-            'name'      => '职位名称',
-            'type'      => 'varchar(32)',
-        ),
-        'sort' => array
-        (
-            'name'      => '排序',
-            'type'      => 'int(11)',
-            'default'   => '1',
-        ),
-    ),
-    'default' => array
-    (
-        'field' => 'name,org_id,cdate',
-        'value' => array
-        (
-            '"默认职位",1,' . DEVER_TIME,
-        ),
-    ),
-);
+<?php
+return [
+    'name' => '组织职位',
+    'partition' => 'Dever::call("manage/common.system")',
+    'order' => 'sort asc',
+    'struct' => [
+        'org_id'      => [
+            'name'      => '组织',
+            'type'      => 'int(11)',
+        ],
+        'name' => [
+            'name'      => '职位名称',
+            'type'      => 'varchar(32)',
+        ],
+        'sort' => [
+            'name'      => '排序',
+            'type'      => 'int(11)',
+            'default'   => '1',
+        ],
+    ],
+    'default' => [
+        'field' => 'name,org_id,cdate',
+        'value' => [
+            '"默认职位",1,' . DEVER_TIME,
+        ],
+    ],
+];

+ 31 - 39
table/group_role.php

@@ -1,39 +1,31 @@
-<?php
-return array
-(
-    'name' => '集团角色',
-    'partition' => 'Dever::call("manage/common.system")',
-    'struct' => array
-    (
-        'name' => array
-        (
-            'name'      => '名称',
-            'type'      => 'varchar(32)',
-        ),
-        'module' => array
-        (
-            'name'      => '系统模块',
-            'type'      => 'varchar(2000)',
-        ),
-        'menu' => array
-        (
-            'name'      => '菜单',
-            'type'      => 'text',
-        ),
-        'auth' => array
-        (
-            'name'      => '权限',
-            'type'      => 'text',
-            'value'    => 'Dever::call("manage/role.getAuthData")',
-        ),
-    ),
-    'default' => array
-    (
-        'field' => 'name,cdate',
-        'value' => array
-        (
-            '"默认角色",' . DEVER_TIME,
-        ),
-        'num' => 1,
-    ),
-);
+<?php
+return [
+    'name' => '集团角色',
+    'partition' => 'Dever::call("manage/common.system")',
+    'struct' => [
+        'name' => [
+            'name'      => '名称',
+            'type'      => 'varchar(32)',
+        ],
+        'module' => [
+            'name'      => '系统模块',
+            'type'      => 'varchar(2000)',
+        ],
+        'menu' => [
+            'name'      => '菜单',
+            'type'      => 'text',
+        ],
+        'auth' => [
+            'name'      => '权限',
+            'type'      => 'text',
+            'value'    => 'Dever::call("manage/role.getAuthData")',
+        ],
+    ],
+    'default' => [
+        'field' => 'name,cdate',
+        'value' => [
+            '"默认角色",' . DEVER_TIME,
+        ],
+        'num' => 1,
+    ],
+];

+ 49 - 61
table/group_user.php

@@ -1,61 +1,49 @@
-<?php
-return array
-(
-    'name' => '集团账户',
-    # 定义数据分离
-    'partition' => 'Dever::call("manage/common.system")',
-    'struct' => array
-    (
-        'name' => array
-        (
-            'name'      => '姓名',
-            'type'      => 'varchar(32)',
-        ),
-        'mobile' => array
-        (
-            'name'      => '手机号',
-            'type'      => 'varchar(11)',
-        ),
-        'password' => array
-        (
-            'name'      => '密码',
-            'type'      => 'varchar(64)',
-        ),
-        'salt' => array
-        (
-            'name'      => '密码salt',
-            'type'      => 'varchar(32)',
-        ),
-        'role' => array
-        (
-            'name'      => '角色',
-            'type'      => 'varchar(100)',
-            'value'    => 'group_role',
-        ),
-        'module_data' => array
-        (
-            'name'      => '模块数据',
-            'type'      => 'varchar(2000)',
-        ),
-        'avatar' => array
-        (
-            'name'      => '头像',
-            'type'      => 'varchar(150)',
-        ),
-        'status' => array
-        (
-            'name'      => '状态',
-            'type'      => 'tinyint(1)',
-            'default'   => 1,
-            'value'     => array
-            (
-                1 => '正常',
-                2 => '封禁',
-            ),
-        ),
-    ),
-    'index' => array
-    (
-        'mobile' => 'mobile.unique',
-    ),
-);
+<?php
+return [
+    'name' => '集团账户',
+    # 定义数据分离
+    'partition' => 'Dever::call("manage/common.system")',
+    'struct' => [
+        'name' => [
+            'name'      => '姓名',
+            'type'      => 'varchar(32)',
+        ],
+        'mobile' => [
+            'name'      => '手机号',
+            'type'      => 'varchar(11)',
+        ],
+        'password' => [
+            'name'      => '密码',
+            'type'      => 'varchar(64)',
+        ],
+        'salt' => [
+            'name'      => '密码salt',
+            'type'      => 'varchar(32)',
+        ],
+        'role' => [
+            'name'      => '角色',
+            'type'      => 'varchar(100)',
+            'value'    => 'group_role',
+        ],
+        'module_data' => [
+            'name'      => '模块数据',
+            'type'      => 'varchar(2000)',
+        ],
+        'avatar' => [
+            'name'      => '头像',
+            'type'      => 'varchar(150)',
+        ],
+        'status' => [
+            'name'      => '状态',
+            'type'      => 'tinyint(1)',
+            'default'   => 1,
+            'value'     => [
+                1 => '正常',
+                2 => '封禁',
+            ],
+        ],
+    ],
+    'index' => [
+        'mobile' => 'mobile.unique',
+    ],
+];

+ 2285 - 2290
table/icon.php

@@ -1,2290 +1,2285 @@
-<?php
-return array
-(
-    'name' => 'icon',
-    'struct' => array
-    (
-        'key' => array
-        (
-            'name'      => 'icon',
-            'type'      => 'varchar(200)',
-        ),
-    ),
-
-    'default' => array
-    (
-        'field' => '`key`',
-        'value' => array
-        (
-            '"24-hours-fill"',
-            '"24-hours-line"',
-            '"4k-fill"',
-            '"4k-line"',
-            '"a-b"',
-            '"account-box-fill"',
-            '"account-box-line"',
-            '"account-circle-fill"',
-            '"account-circle-line"',
-            '"account-pin-box-fill"',
-            '"account-pin-box-line"',
-            '"account-pin-circle-fill"',
-            '"account-pin-circle-line"',
-            '"add-box-fill"',
-            '"add-box-line"',
-            '"add-circle-fill"',
-            '"add-circle-line"',
-            '"add-fill"',
-            '"add-line"',
-            '"admin-fill"',
-            '"admin-line"',
-            '"airplay-fill"',
-            '"airplay-line"',
-            '"alarm-fill"',
-            '"alarm-line"',
-            '"alarm-warning-fill"',
-            '"alarm-warning-line"',
-            '"album-fill"',
-            '"album-line"',
-            '"alert-fill"',
-            '"alert-line"',
-            '"aliens-fill"',
-            '"aliens-line"',
-            '"align-bottom"',
-            '"align-center"',
-            '"align-justify"',
-            '"align-left"',
-            '"align-right"',
-            '"align-top"',
-            '"align-vertically"',
-            '"alipay-fill"',
-            '"alipay-line"',
-            '"amazon-fill"',
-            '"amazon-line"',
-            '"anchor-fill"',
-            '"anchor-line"',
-            '"ancient-gate-fill"',
-            '"ancient-gate-line"',
-            '"ancient-pavilion-fill"',
-            '"ancient-pavilion-line"',
-            '"android-fill"',
-            '"android-line"',
-            '"angularjs-fill"',
-            '"angularjs-line"',
-            '"anticlockwise-2-fill"',
-            '"anticlockwise-2-line"',
-            '"anticlockwise-fill"',
-            '"anticlockwise-line"',
-            '"app-store-fill"',
-            '"app-store-line"',
-            '"apple-fill"',
-            '"apple-line"',
-            '"apps-2-fill"',
-            '"apps-2-line"',
-            '"apps-fill"',
-            '"apps-line"',
-            '"archive-drawer-fill"',
-            '"archive-drawer-line"',
-            '"archive-fill"',
-            '"archive-line"',
-            '"arrow-down-circle-fill"',
-            '"arrow-down-circle-line"',
-            '"arrow-down-fill"',
-            '"arrow-down-line"',
-            '"arrow-down-s-fill"',
-            '"arrow-down-s-line"',
-            '"arrow-drop-down-fill"',
-            '"arrow-drop-down-line"',
-            '"arrow-drop-left-fill"',
-            '"arrow-drop-left-line"',
-            '"arrow-drop-right-fill"',
-            '"arrow-drop-right-line"',
-            '"arrow-drop-up-fill"',
-            '"arrow-drop-up-line"',
-            '"arrow-go-back-fill"',
-            '"arrow-go-back-line"',
-            '"arrow-go-forward-fill"',
-            '"arrow-go-forward-line"',
-            '"arrow-left-circle-fill"',
-            '"arrow-left-circle-line"',
-            '"arrow-left-down-fill"',
-            '"arrow-left-down-line"',
-            '"arrow-left-fill"',
-            '"arrow-left-line"',
-            '"arrow-left-right-fill"',
-            '"arrow-left-right-line"',
-            '"arrow-left-s-fill"',
-            '"arrow-left-s-line"',
-            '"arrow-left-up-fill"',
-            '"arrow-left-up-line"',
-            '"arrow-right-circle-fill"',
-            '"arrow-right-circle-line"',
-            '"arrow-right-down-fill"',
-            '"arrow-right-down-line"',
-            '"arrow-right-fill"',
-            '"arrow-right-line"',
-            '"arrow-right-s-fill"',
-            '"arrow-right-s-line"',
-            '"arrow-right-up-fill"',
-            '"arrow-right-up-line"',
-            '"arrow-up-circle-fill"',
-            '"arrow-up-circle-line"',
-            '"arrow-up-down-fill"',
-            '"arrow-up-down-line"',
-            '"arrow-up-fill"',
-            '"arrow-up-line"',
-            '"arrow-up-s-fill"',
-            '"arrow-up-s-line"',
-            '"artboard-2-fill"',
-            '"artboard-2-line"',
-            '"artboard-fill"',
-            '"artboard-line"',
-            '"article-fill"',
-            '"article-line"',
-            '"aspect-ratio-fill"',
-            '"aspect-ratio-line"',
-            '"asterisk"',
-            '"at-fill"',
-            '"at-line"',
-            '"attachment-2"',
-            '"attachment-fill"',
-            '"attachment-line"',
-            '"auction-fill"',
-            '"auction-line"',
-            '"award-fill"',
-            '"award-line"',
-            '"baidu-fill"',
-            '"baidu-line"',
-            '"ball-pen-fill"',
-            '"ball-pen-line"',
-            '"bank-card-2-fill"',
-            '"bank-card-2-line"',
-            '"bank-card-fill"',
-            '"bank-card-line"',
-            '"bank-fill"',
-            '"bank-line"',
-            '"bar-chart-2-fill"',
-            '"bar-chart-2-line"',
-            '"bar-chart-box-fill"',
-            '"bar-chart-box-line"',
-            '"bar-chart-fill"',
-            '"bar-chart-grouped-fill"',
-            '"bar-chart-grouped-line"',
-            '"bar-chart-horizontal-fill"',
-            '"bar-chart-horizontal-line"',
-            '"bar-chart-line"',
-            '"barcode-box-fill"',
-            '"barcode-box-line"',
-            '"barcode-fill"',
-            '"barcode-line"',
-            '"barricade-fill"',
-            '"barricade-line"',
-            '"base-station-fill"',
-            '"base-station-line"',
-            '"basketball-fill"',
-            '"basketball-line"',
-            '"battery-2-charge-fill"',
-            '"battery-2-charge-line"',
-            '"battery-2-fill"',
-            '"battery-2-line"',
-            '"battery-charge-fill"',
-            '"battery-charge-line"',
-            '"battery-fill"',
-            '"battery-line"',
-            '"battery-low-fill"',
-            '"battery-low-line"',
-            '"battery-saver-fill"',
-            '"battery-saver-line"',
-            '"battery-share-fill"',
-            '"battery-share-line"',
-            '"bear-smile-fill"',
-            '"bear-smile-line"',
-            '"behance-fill"',
-            '"behance-line"',
-            '"bell-fill"',
-            '"bell-line"',
-            '"bike-fill"',
-            '"bike-line"',
-            '"bilibili-fill"',
-            '"bilibili-line"',
-            '"bill-fill"',
-            '"bill-line"',
-            '"billiards-fill"',
-            '"billiards-line"',
-            '"bit-coin-fill"',
-            '"bit-coin-line"',
-            '"blaze-fill"',
-            '"blaze-line"',
-            '"bluetooth-connect-fill"',
-            '"bluetooth-connect-line"',
-            '"bluetooth-fill"',
-            '"bluetooth-line"',
-            '"blur-off-fill"',
-            '"blur-off-line"',
-            '"body-scan-fill"',
-            '"body-scan-line"',
-            '"bold"',
-            '"book-2-fill"',
-            '"book-2-line"',
-            '"book-3-fill"',
-            '"book-3-line"',
-            '"book-fill"',
-            '"book-line"',
-            '"book-mark-fill"',
-            '"book-mark-line"',
-            '"book-open-fill"',
-            '"book-open-line"',
-            '"book-read-fill"',
-            '"book-read-line"',
-            '"booklet-fill"',
-            '"booklet-line"',
-            '"bookmark-2-fill"',
-            '"bookmark-2-line"',
-            '"bookmark-3-fill"',
-            '"bookmark-3-line"',
-            '"bookmark-fill"',
-            '"bookmark-line"',
-            '"boxing-fill"',
-            '"boxing-line"',
-            '"braces-fill"',
-            '"braces-line"',
-            '"brackets-fill"',
-            '"brackets-line"',
-            '"briefcase-2-fill"',
-            '"briefcase-2-line"',
-            '"briefcase-3-fill"',
-            '"briefcase-3-line"',
-            '"briefcase-4-fill"',
-            '"briefcase-4-line"',
-            '"briefcase-5-fill"',
-            '"briefcase-5-line"',
-            '"briefcase-fill"',
-            '"briefcase-line"',
-            '"bring-forward"',
-            '"bring-to-front"',
-            '"broadcast-fill"',
-            '"broadcast-line"',
-            '"brush-2-fill"',
-            '"brush-2-line"',
-            '"brush-3-fill"',
-            '"brush-3-line"',
-            '"brush-4-fill"',
-            '"brush-4-line"',
-            '"brush-fill"',
-            '"brush-line"',
-            '"bubble-chart-fill"',
-            '"bubble-chart-line"',
-            '"bug-2-fill"',
-            '"bug-2-line"',
-            '"bug-fill"',
-            '"bug-line"',
-            '"building-2-fill"',
-            '"building-2-line"',
-            '"building-3-fill"',
-            '"building-3-line"',
-            '"building-4-fill"',
-            '"building-4-line"',
-            '"building-fill"',
-            '"building-line"',
-            '"bus-2-fill"',
-            '"bus-2-line"',
-            '"bus-fill"',
-            '"bus-line"',
-            '"bus-wifi-fill"',
-            '"bus-wifi-line"',
-            '"cactus-fill"',
-            '"cactus-line"',
-            '"cake-2-fill"',
-            '"cake-2-line"',
-            '"cake-3-fill"',
-            '"cake-3-line"',
-            '"cake-fill"',
-            '"cake-line"',
-            '"calculator-fill"',
-            '"calculator-line"',
-            '"calendar-2-fill"',
-            '"calendar-2-line"',
-            '"calendar-check-fill"',
-            '"calendar-check-line"',
-            '"calendar-event-fill"',
-            '"calendar-event-line"',
-            '"calendar-fill"',
-            '"calendar-line"',
-            '"calendar-todo-fill"',
-            '"calendar-todo-line"',
-            '"camera-2-fill"',
-            '"camera-2-line"',
-            '"camera-3-fill"',
-            '"camera-3-line"',
-            '"camera-fill"',
-            '"camera-lens-fill"',
-            '"camera-lens-line"',
-            '"camera-line"',
-            '"camera-off-fill"',
-            '"camera-off-line"',
-            '"camera-switch-fill"',
-            '"camera-switch-line"',
-            '"capsule-fill"',
-            '"capsule-line"',
-            '"car-fill"',
-            '"car-line"',
-            '"car-washing-fill"',
-            '"car-washing-line"',
-            '"caravan-fill"',
-            '"caravan-line"',
-            '"cast-fill"',
-            '"cast-line"',
-            '"cellphone-fill"',
-            '"cellphone-line"',
-            '"celsius-fill"',
-            '"celsius-line"',
-            '"centos-fill"',
-            '"centos-line"',
-            '"character-recognition-fill"',
-            '"character-recognition-line"',
-            '"charging-pile-2-fill"',
-            '"charging-pile-2-line"',
-            '"charging-pile-fill"',
-            '"charging-pile-line"',
-            '"chat-1-fill"',
-            '"chat-1-line"',
-            '"chat-2-fill"',
-            '"chat-2-line"',
-            '"chat-3-fill"',
-            '"chat-3-line"',
-            '"chat-4-fill"',
-            '"chat-4-line"',
-            '"chat-check-fill"',
-            '"chat-check-line"',
-            '"chat-delete-fill"',
-            '"chat-delete-line"',
-            '"chat-download-fill"',
-            '"chat-download-line"',
-            '"chat-follow-up-fill"',
-            '"chat-follow-up-line"',
-            '"chat-forward-fill"',
-            '"chat-forward-line"',
-            '"chat-heart-fill"',
-            '"chat-heart-line"',
-            '"chat-history-fill"',
-            '"chat-history-line"',
-            '"chat-new-fill"',
-            '"chat-new-line"',
-            '"chat-off-fill"',
-            '"chat-off-line"',
-            '"chat-poll-fill"',
-            '"chat-poll-line"',
-            '"chat-private-fill"',
-            '"chat-private-line"',
-            '"chat-quote-fill"',
-            '"chat-quote-line"',
-            '"chat-settings-fill"',
-            '"chat-settings-line"',
-            '"chat-smile-2-fill"',
-            '"chat-smile-2-line"',
-            '"chat-smile-3-fill"',
-            '"chat-smile-3-line"',
-            '"chat-smile-fill"',
-            '"chat-smile-line"',
-            '"chat-upload-fill"',
-            '"chat-upload-line"',
-            '"chat-voice-fill"',
-            '"chat-voice-line"',
-            '"check-double-fill"',
-            '"check-double-line"',
-            '"check-fill"',
-            '"check-line"',
-            '"checkbox-blank-circle-fill"',
-            '"checkbox-blank-circle-line"',
-            '"checkbox-blank-fill"',
-            '"checkbox-blank-line"',
-            '"checkbox-circle-fill"',
-            '"checkbox-circle-line"',
-            '"checkbox-fill"',
-            '"checkbox-indeterminate-fill"',
-            '"checkbox-indeterminate-line"',
-            '"checkbox-line"',
-            '"checkbox-multiple-blank-fill"',
-            '"checkbox-multiple-blank-line"',
-            '"checkbox-multiple-fill"',
-            '"checkbox-multiple-line"',
-            '"china-railway-fill"',
-            '"china-railway-line"',
-            '"chrome-fill"',
-            '"chrome-line"',
-            '"clapperboard-fill"',
-            '"clapperboard-line"',
-            '"clipboard-fill"',
-            '"clipboard-line"',
-            '"clockwise-2-fill"',
-            '"clockwise-2-line"',
-            '"clockwise-fill"',
-            '"clockwise-line"',
-            '"close-circle-fill"',
-            '"close-circle-line"',
-            '"close-fill"',
-            '"close-line"',
-            '"closed-captioning-fill"',
-            '"closed-captioning-line"',
-            '"cloud-fill"',
-            '"cloud-line"',
-            '"cloud-off-fill"',
-            '"cloud-off-line"',
-            '"cloud-windy-fill"',
-            '"cloud-windy-line"',
-            '"cloudy-2-fill"',
-            '"cloudy-2-line"',
-            '"cloudy-fill"',
-            '"cloudy-line"',
-            '"code-box-fill"',
-            '"code-box-line"',
-            '"code-fill"',
-            '"code-line"',
-            '"code-s-fill"',
-            '"code-s-line"',
-            '"code-s-slash-fill"',
-            '"code-s-slash-line"',
-            '"code-view"',
-            '"codepen-fill"',
-            '"codepen-line"',
-            '"coin-fill"',
-            '"coin-line"',
-            '"coins-fill"',
-            '"coins-line"',
-            '"collage-fill"',
-            '"collage-line"',
-            '"command-fill"',
-            '"command-line"',
-            '"community-fill"',
-            '"community-line"',
-            '"compass-2-fill"',
-            '"compass-2-line"',
-            '"compass-3-fill"',
-            '"compass-3-line"',
-            '"compass-4-fill"',
-            '"compass-4-line"',
-            '"compass-discover-fill"',
-            '"compass-discover-line"',
-            '"compass-fill"',
-            '"compass-line"',
-            '"compasses-2-fill"',
-            '"compasses-2-line"',
-            '"compasses-fill"',
-            '"compasses-line"',
-            '"computer-fill"',
-            '"computer-line"',
-            '"contacts-book-2-fill"',
-            '"contacts-book-2-line"',
-            '"contacts-book-fill"',
-            '"contacts-book-line"',
-            '"contacts-book-upload-fill"',
-            '"contacts-book-upload-line"',
-            '"contacts-fill"',
-            '"contacts-line"',
-            '"contrast-2-fill"',
-            '"contrast-2-line"',
-            '"contrast-drop-2-fill"',
-            '"contrast-drop-2-line"',
-            '"contrast-drop-fill"',
-            '"contrast-drop-line"',
-            '"contrast-fill"',
-            '"contrast-line"',
-            '"copper-coin-fill"',
-            '"copper-coin-line"',
-            '"copper-diamond-fill"',
-            '"copper-diamond-line"',
-            '"copyleft-fill"',
-            '"copyleft-line"',
-            '"copyright-fill"',
-            '"copyright-line"',
-            '"coreos-fill"',
-            '"coreos-line"',
-            '"coupon-2-fill"',
-            '"coupon-2-line"',
-            '"coupon-3-fill"',
-            '"coupon-3-line"',
-            '"coupon-4-fill"',
-            '"coupon-4-line"',
-            '"coupon-5-fill"',
-            '"coupon-5-line"',
-            '"coupon-fill"',
-            '"coupon-line"',
-            '"cpu-fill"',
-            '"cpu-line"',
-            '"creative-commons-by-fill"',
-            '"creative-commons-by-line"',
-            '"creative-commons-fill"',
-            '"creative-commons-line"',
-            '"creative-commons-nc-fill"',
-            '"creative-commons-nc-line"',
-            '"creative-commons-nd-fill"',
-            '"creative-commons-nd-line"',
-            '"creative-commons-sa-fill"',
-            '"creative-commons-sa-line"',
-            '"creative-commons-zero-fill"',
-            '"creative-commons-zero-line"',
-            '"criminal-fill"',
-            '"criminal-line"',
-            '"crop-2-fill"',
-            '"crop-2-line"',
-            '"crop-fill"',
-            '"crop-line"',
-            '"css3-fill"',
-            '"css3-line"',
-            '"cup-fill"',
-            '"cup-line"',
-            '"currency-fill"',
-            '"currency-line"',
-            '"cursor-fill"',
-            '"cursor-line"',
-            '"customer-service-2-fill"',
-            '"customer-service-2-line"',
-            '"customer-service-fill"',
-            '"customer-service-line"',
-            '"dashboard-2-fill"',
-            '"dashboard-2-line"',
-            '"dashboard-3-fill"',
-            '"dashboard-3-line"',
-            '"dashboard-fill"',
-            '"dashboard-line"',
-            '"database-2-fill"',
-            '"database-2-line"',
-            '"database-fill"',
-            '"database-line"',
-            '"delete-back-2-fill"',
-            '"delete-back-2-line"',
-            '"delete-back-fill"',
-            '"delete-back-line"',
-            '"delete-bin-2-fill"',
-            '"delete-bin-2-line"',
-            '"delete-bin-3-fill"',
-            '"delete-bin-3-line"',
-            '"delete-bin-4-fill"',
-            '"delete-bin-4-line"',
-            '"delete-bin-5-fill"',
-            '"delete-bin-5-line"',
-            '"delete-bin-6-fill"',
-            '"delete-bin-6-line"',
-            '"delete-bin-7-fill"',
-            '"delete-bin-7-line"',
-            '"delete-bin-fill"',
-            '"delete-bin-line"',
-            '"delete-column"',
-            '"delete-row"',
-            '"device-fill"',
-            '"device-line"',
-            '"device-recover-fill"',
-            '"device-recover-line"',
-            '"dingding-fill"',
-            '"dingding-line"',
-            '"direction-fill"',
-            '"direction-line"',
-            '"disc-fill"',
-            '"disc-line"',
-            '"discord-fill"',
-            '"discord-line"',
-            '"discuss-fill"',
-            '"discuss-line"',
-            '"dislike-fill"',
-            '"dislike-line"',
-            '"disqus-fill"',
-            '"disqus-line"',
-            '"divide-fill"',
-            '"divide-line"',
-            '"donut-chart-fill"',
-            '"donut-chart-line"',
-            '"door-closed-fill"',
-            '"door-closed-line"',
-            '"door-fill"',
-            '"door-line"',
-            '"door-lock-box-fill"',
-            '"door-lock-box-line"',
-            '"door-lock-fill"',
-            '"door-lock-line"',
-            '"door-open-fill"',
-            '"door-open-line"',
-            '"dossier-fill"',
-            '"dossier-line"',
-            '"douban-fill"',
-            '"douban-line"',
-            '"double-quotes-l"',
-            '"double-quotes-r"',
-            '"download-2-fill"',
-            '"download-2-line"',
-            '"download-cloud-2-fill"',
-            '"download-cloud-2-line"',
-            '"download-cloud-fill"',
-            '"download-cloud-line"',
-            '"download-fill"',
-            '"download-line"',
-            '"draft-fill"',
-            '"draft-line"',
-            '"drag-drop-fill"',
-            '"drag-drop-line"',
-            '"drag-move-2-fill"',
-            '"drag-move-2-line"',
-            '"drag-move-fill"',
-            '"drag-move-line"',
-            '"dribbble-fill"',
-            '"dribbble-line"',
-            '"drive-fill"',
-            '"drive-line"',
-            '"drizzle-fill"',
-            '"drizzle-line"',
-            '"drop-fill"',
-            '"drop-line"',
-            '"dropbox-fill"',
-            '"dropbox-line"',
-            '"dual-sim-1-fill"',
-            '"dual-sim-1-line"',
-            '"dual-sim-2-fill"',
-            '"dual-sim-2-line"',
-            '"dv-fill"',
-            '"dv-line"',
-            '"dvd-fill"',
-            '"dvd-line"',
-            '"e-bike-2-fill"',
-            '"e-bike-2-line"',
-            '"e-bike-fill"',
-            '"e-bike-line"',
-            '"earth-fill"',
-            '"earth-line"',
-            '"earthquake-fill"',
-            '"earthquake-line"',
-            '"edge-fill"',
-            '"edge-line"',
-            '"edit-2-fill"',
-            '"edit-2-line"',
-            '"edit-box-fill"',
-            '"edit-box-line"',
-            '"edit-circle-fill"',
-            '"edit-circle-line"',
-            '"edit-fill"',
-            '"edit-line"',
-            '"eject-fill"',
-            '"eject-line"',
-            '"emotion-2-fill"',
-            '"emotion-2-line"',
-            '"emotion-fill"',
-            '"emotion-happy-fill"',
-            '"emotion-happy-line"',
-            '"emotion-laugh-fill"',
-            '"emotion-laugh-line"',
-            '"emotion-line"',
-            '"emotion-normal-fill"',
-            '"emotion-normal-line"',
-            '"emotion-sad-fill"',
-            '"emotion-sad-line"',
-            '"emotion-unhappy-fill"',
-            '"emotion-unhappy-line"',
-            '"empathize-fill"',
-            '"empathize-line"',
-            '"emphasis-cn"',
-            '"emphasis"',
-            '"english-input"',
-            '"equalizer-fill"',
-            '"equalizer-line"',
-            '"eraser-fill"',
-            '"eraser-line"',
-            '"error-warning-fill"',
-            '"error-warning-line"',
-            '"evernote-fill"',
-            '"evernote-line"',
-            '"exchange-box-fill"',
-            '"exchange-box-line"',
-            '"exchange-cny-fill"',
-            '"exchange-cny-line"',
-            '"exchange-dollar-fill"',
-            '"exchange-dollar-line"',
-            '"exchange-fill"',
-            '"exchange-funds-fill"',
-            '"exchange-funds-line"',
-            '"exchange-line"',
-            '"external-link-fill"',
-            '"external-link-line"',
-            '"eye-2-fill"',
-            '"eye-2-line"',
-            '"eye-close-fill"',
-            '"eye-close-line"',
-            '"eye-fill"',
-            '"eye-line"',
-            '"eye-off-fill"',
-            '"eye-off-line"',
-            '"facebook-box-fill"',
-            '"facebook-box-line"',
-            '"facebook-circle-fill"',
-            '"facebook-circle-line"',
-            '"facebook-fill"',
-            '"facebook-line"',
-            '"fahrenheit-fill"',
-            '"fahrenheit-line"',
-            '"feedback-fill"',
-            '"feedback-line"',
-            '"file-2-fill"',
-            '"file-2-line"',
-            '"file-3-fill"',
-            '"file-3-line"',
-            '"file-4-fill"',
-            '"file-4-line"',
-            '"file-add-fill"',
-            '"file-add-line"',
-            '"file-chart-2-fill"',
-            '"file-chart-2-line"',
-            '"file-chart-fill"',
-            '"file-chart-line"',
-            '"file-cloud-fill"',
-            '"file-cloud-line"',
-            '"file-code-fill"',
-            '"file-code-line"',
-            '"file-copy-2-fill"',
-            '"file-copy-2-line"',
-            '"file-copy-fill"',
-            '"file-copy-line"',
-            '"file-damage-fill"',
-            '"file-damage-line"',
-            '"file-download-fill"',
-            '"file-download-line"',
-            '"file-edit-fill"',
-            '"file-edit-line"',
-            '"file-excel-2-fill"',
-            '"file-excel-2-line"',
-            '"file-excel-fill"',
-            '"file-excel-line"',
-            '"file-fill"',
-            '"file-forbid-fill"',
-            '"file-forbid-line"',
-            '"file-gif-fill"',
-            '"file-gif-line"',
-            '"file-history-fill"',
-            '"file-history-line"',
-            '"file-hwp-fill"',
-            '"file-hwp-line"',
-            '"file-info-fill"',
-            '"file-info-line"',
-            '"file-line"',
-            '"file-list-2-fill"',
-            '"file-list-2-line"',
-            '"file-list-3-fill"',
-            '"file-list-3-line"',
-            '"file-list-fill"',
-            '"file-list-line"',
-            '"file-lock-fill"',
-            '"file-lock-line"',
-            '"file-mark-fill"',
-            '"file-mark-line"',
-            '"file-music-fill"',
-            '"file-music-line"',
-            '"file-paper-2-fill"',
-            '"file-paper-2-line"',
-            '"file-paper-fill"',
-            '"file-paper-line"',
-            '"file-pdf-fill"',
-            '"file-pdf-line"',
-            '"file-ppt-2-fill"',
-            '"file-ppt-2-line"',
-            '"file-ppt-fill"',
-            '"file-ppt-line"',
-            '"file-reduce-fill"',
-            '"file-reduce-line"',
-            '"file-search-fill"',
-            '"file-search-line"',
-            '"file-settings-fill"',
-            '"file-settings-line"',
-            '"file-shield-2-fill"',
-            '"file-shield-2-line"',
-            '"file-shield-fill"',
-            '"file-shield-line"',
-            '"file-shred-fill"',
-            '"file-shred-line"',
-            '"file-text-fill"',
-            '"file-text-line"',
-            '"file-transfer-fill"',
-            '"file-transfer-line"',
-            '"file-unknow-fill"',
-            '"file-unknow-line"',
-            '"file-upload-fill"',
-            '"file-upload-line"',
-            '"file-user-fill"',
-            '"file-user-line"',
-            '"file-warning-fill"',
-            '"file-warning-line"',
-            '"file-word-2-fill"',
-            '"file-word-2-line"',
-            '"file-word-fill"',
-            '"file-word-line"',
-            '"file-zip-fill"',
-            '"file-zip-line"',
-            '"film-fill"',
-            '"film-line"',
-            '"filter-2-fill"',
-            '"filter-2-line"',
-            '"filter-3-fill"',
-            '"filter-3-line"',
-            '"filter-fill"',
-            '"filter-line"',
-            '"filter-off-fill"',
-            '"filter-off-line"',
-            '"find-replace-fill"',
-            '"find-replace-line"',
-            '"finder-fill"',
-            '"finder-line"',
-            '"fingerprint-2-fill"',
-            '"fingerprint-2-line"',
-            '"fingerprint-fill"',
-            '"fingerprint-line"',
-            '"fire-fill"',
-            '"fire-line"',
-            '"firefox-fill"',
-            '"firefox-line"',
-            '"first-aid-kit-fill"',
-            '"first-aid-kit-line"',
-            '"flag-2-fill"',
-            '"flag-2-line"',
-            '"flag-fill"',
-            '"flag-line"',
-            '"flashlight-fill"',
-            '"flashlight-line"',
-            '"flask-fill"',
-            '"flask-line"',
-            '"flight-land-fill"',
-            '"flight-land-line"',
-            '"flight-takeoff-fill"',
-            '"flight-takeoff-line"',
-            '"flood-fill"',
-            '"flood-line"',
-            '"flow-chart"',
-            '"flutter-fill"',
-            '"flutter-line"',
-            '"focus-2-fill"',
-            '"focus-2-line"',
-            '"focus-3-fill"',
-            '"focus-3-line"',
-            '"focus-fill"',
-            '"focus-line"',
-            '"foggy-fill"',
-            '"foggy-line"',
-            '"folder-2-fill"',
-            '"folder-2-line"',
-            '"folder-3-fill"',
-            '"folder-3-line"',
-            '"folder-4-fill"',
-            '"folder-4-line"',
-            '"folder-5-fill"',
-            '"folder-5-line"',
-            '"folder-add-fill"',
-            '"folder-add-line"',
-            '"folder-chart-2-fill"',
-            '"folder-chart-2-line"',
-            '"folder-chart-fill"',
-            '"folder-chart-line"',
-            '"folder-download-fill"',
-            '"folder-download-line"',
-            '"folder-fill"',
-            '"folder-forbid-fill"',
-            '"folder-forbid-line"',
-            '"folder-history-fill"',
-            '"folder-history-line"',
-            '"folder-info-fill"',
-            '"folder-info-line"',
-            '"folder-keyhole-fill"',
-            '"folder-keyhole-line"',
-            '"folder-line"',
-            '"folder-lock-fill"',
-            '"folder-lock-line"',
-            '"folder-music-fill"',
-            '"folder-music-line"',
-            '"folder-open-fill"',
-            '"folder-open-line"',
-            '"folder-received-fill"',
-            '"folder-received-line"',
-            '"folder-reduce-fill"',
-            '"folder-reduce-line"',
-            '"folder-settings-fill"',
-            '"folder-settings-line"',
-            '"folder-shared-fill"',
-            '"folder-shared-line"',
-            '"folder-shield-2-fill"',
-            '"folder-shield-2-line"',
-            '"folder-shield-fill"',
-            '"folder-shield-line"',
-            '"folder-transfer-fill"',
-            '"folder-transfer-line"',
-            '"folder-unknow-fill"',
-            '"folder-unknow-line"',
-            '"folder-upload-fill"',
-            '"folder-upload-line"',
-            '"folder-user-fill"',
-            '"folder-user-line"',
-            '"folder-warning-fill"',
-            '"folder-warning-line"',
-            '"folder-zip-fill"',
-            '"folder-zip-line"',
-            '"folders-fill"',
-            '"folders-line"',
-            '"font-color"',
-            '"font-size-2"',
-            '"font-size"',
-            '"football-fill"',
-            '"football-line"',
-            '"footprint-fill"',
-            '"footprint-line"',
-            '"forbid-2-fill"',
-            '"forbid-2-line"',
-            '"forbid-fill"',
-            '"forbid-line"',
-            '"format-clear"',
-            '"fridge-fill"',
-            '"fridge-line"',
-            '"fullscreen-exit-fill"',
-            '"fullscreen-exit-line"',
-            '"fullscreen-fill"',
-            '"fullscreen-line"',
-            '"function-fill"',
-            '"function-line"',
-            '"functions"',
-            '"funds-box-fill"',
-            '"funds-box-line"',
-            '"funds-fill"',
-            '"funds-line"',
-            '"gallery-fill"',
-            '"gallery-line"',
-            '"gallery-upload-fill"',
-            '"gallery-upload-line"',
-            '"game-fill"',
-            '"game-line"',
-            '"gamepad-fill"',
-            '"gamepad-line"',
-            '"gas-station-fill"',
-            '"gas-station-line"',
-            '"gatsby-fill"',
-            '"gatsby-line"',
-            '"genderless-fill"',
-            '"genderless-line"',
-            '"ghost-2-fill"',
-            '"ghost-2-line"',
-            '"ghost-fill"',
-            '"ghost-line"',
-            '"ghost-smile-fill"',
-            '"ghost-smile-line"',
-            '"gift-2-fill"',
-            '"gift-2-line"',
-            '"gift-fill"',
-            '"gift-line"',
-            '"git-branch-fill"',
-            '"git-branch-line"',
-            '"git-commit-fill"',
-            '"git-commit-line"',
-            '"git-merge-fill"',
-            '"git-merge-line"',
-            '"git-pull-request-fill"',
-            '"git-pull-request-line"',
-            '"git-repository-commits-fill"',
-            '"git-repository-commits-line"',
-            '"git-repository-fill"',
-            '"git-repository-line"',
-            '"git-repository-private-fill"',
-            '"git-repository-private-line"',
-            '"github-fill"',
-            '"github-line"',
-            '"gitlab-fill"',
-            '"gitlab-line"',
-            '"global-fill"',
-            '"global-line"',
-            '"globe-fill"',
-            '"globe-line"',
-            '"goblet-fill"',
-            '"goblet-line"',
-            '"google-fill"',
-            '"google-line"',
-            '"google-play-fill"',
-            '"google-play-line"',
-            '"government-fill"',
-            '"government-line"',
-            '"gps-fill"',
-            '"gps-line"',
-            '"gradienter-fill"',
-            '"gradienter-line"',
-            '"grid-fill"',
-            '"grid-line"',
-            '"group-2-fill"',
-            '"group-2-line"',
-            '"group-fill"',
-            '"group-line"',
-            '"guide-fill"',
-            '"guide-line"',
-            '"h-1"',
-            '"h-2"',
-            '"h-3"',
-            '"h-4"',
-            '"h-5"',
-            '"h-6"',
-            '"hail-fill"',
-            '"hail-line"',
-            '"hammer-fill"',
-            '"hammer-line"',
-            '"hand-coin-fill"',
-            '"hand-coin-line"',
-            '"hand-heart-fill"',
-            '"hand-heart-line"',
-            '"hand-sanitizer-fill"',
-            '"hand-sanitizer-line"',
-            '"handbag-fill"',
-            '"handbag-line"',
-            '"hard-drive-2-fill"',
-            '"hard-drive-2-line"',
-            '"hard-drive-fill"',
-            '"hard-drive-line"',
-            '"hashtag"',
-            '"haze-2-fill"',
-            '"haze-2-line"',
-            '"haze-fill"',
-            '"haze-line"',
-            '"hd-fill"',
-            '"hd-line"',
-            '"heading"',
-            '"headphone-fill"',
-            '"headphone-line"',
-            '"health-book-fill"',
-            '"health-book-line"',
-            '"heart-2-fill"',
-            '"heart-2-line"',
-            '"heart-3-fill"',
-            '"heart-3-line"',
-            '"heart-add-fill"',
-            '"heart-add-line"',
-            '"heart-fill"',
-            '"heart-line"',
-            '"heart-pulse-fill"',
-            '"heart-pulse-line"',
-            '"hearts-fill"',
-            '"hearts-line"',
-            '"heavy-showers-fill"',
-            '"heavy-showers-line"',
-            '"history-fill"',
-            '"history-line"',
-            '"home-2-fill"',
-            '"home-2-line"',
-            '"home-3-fill"',
-            '"home-3-line"',
-            '"home-4-fill"',
-            '"home-4-line"',
-            '"home-5-fill"',
-            '"home-5-line"',
-            '"home-6-fill"',
-            '"home-6-line"',
-            '"home-7-fill"',
-            '"home-7-line"',
-            '"home-8-fill"',
-            '"home-8-line"',
-            '"home-fill"',
-            '"home-gear-fill"',
-            '"home-gear-line"',
-            '"home-heart-fill"',
-            '"home-heart-line"',
-            '"home-line"',
-            '"home-smile-2-fill"',
-            '"home-smile-2-line"',
-            '"home-smile-fill"',
-            '"home-smile-line"',
-            '"home-wifi-fill"',
-            '"home-wifi-line"',
-            '"honor-of-kings-fill"',
-            '"honor-of-kings-line"',
-            '"honour-fill"',
-            '"honour-line"',
-            '"hospital-fill"',
-            '"hospital-line"',
-            '"hotel-bed-fill"',
-            '"hotel-bed-line"',
-            '"hotel-fill"',
-            '"hotel-line"',
-            '"hotspot-fill"',
-            '"hotspot-line"',
-            '"hq-fill"',
-            '"hq-line"',
-            '"html5-fill"',
-            '"html5-line"',
-            '"ie-fill"',
-            '"ie-line"',
-            '"image-2-fill"',
-            '"image-2-line"',
-            '"image-add-fill"',
-            '"image-add-line"',
-            '"image-edit-fill"',
-            '"image-edit-line"',
-            '"image-fill"',
-            '"image-line"',
-            '"inbox-archive-fill"',
-            '"inbox-archive-line"',
-            '"inbox-fill"',
-            '"inbox-line"',
-            '"inbox-unarchive-fill"',
-            '"inbox-unarchive-line"',
-            '"increase-decrease-fill"',
-            '"increase-decrease-line"',
-            '"indent-decrease"',
-            '"indent-increase"',
-            '"indeterminate-circle-fill"',
-            '"indeterminate-circle-line"',
-            '"information-fill"',
-            '"information-line"',
-            '"infrared-thermometer-fill"',
-            '"infrared-thermometer-line"',
-            '"ink-bottle-fill"',
-            '"ink-bottle-line"',
-            '"input-cursor-move"',
-            '"input-method-fill"',
-            '"input-method-line"',
-            '"insert-column-left"',
-            '"insert-column-right"',
-            '"insert-row-bottom"',
-            '"insert-row-top"',
-            '"instagram-fill"',
-            '"instagram-line"',
-            '"install-fill"',
-            '"install-line"',
-            '"invision-fill"',
-            '"invision-line"',
-            '"italic"',
-            '"kakao-talk-fill"',
-            '"kakao-talk-line"',
-            '"key-2-fill"',
-            '"key-2-line"',
-            '"key-fill"',
-            '"key-line"',
-            '"keyboard-box-fill"',
-            '"keyboard-box-line"',
-            '"keyboard-fill"',
-            '"keyboard-line"',
-            '"keynote-fill"',
-            '"keynote-line"',
-            '"knife-blood-fill"',
-            '"knife-blood-line"',
-            '"knife-fill"',
-            '"knife-line"',
-            '"landscape-fill"',
-            '"landscape-line"',
-            '"layout-2-fill"',
-            '"layout-2-line"',
-            '"layout-3-fill"',
-            '"layout-3-line"',
-            '"layout-4-fill"',
-            '"layout-4-line"',
-            '"layout-5-fill"',
-            '"layout-5-line"',
-            '"layout-6-fill"',
-            '"layout-6-line"',
-            '"layout-bottom-2-fill"',
-            '"layout-bottom-2-line"',
-            '"layout-bottom-fill"',
-            '"layout-bottom-line"',
-            '"layout-column-fill"',
-            '"layout-column-line"',
-            '"layout-fill"',
-            '"layout-grid-fill"',
-            '"layout-grid-line"',
-            '"layout-left-2-fill"',
-            '"layout-left-2-line"',
-            '"layout-left-fill"',
-            '"layout-left-line"',
-            '"layout-line"',
-            '"layout-masonry-fill"',
-            '"layout-masonry-line"',
-            '"layout-right-2-fill"',
-            '"layout-right-2-line"',
-            '"layout-right-fill"',
-            '"layout-right-line"',
-            '"layout-row-fill"',
-            '"layout-row-line"',
-            '"layout-top-2-fill"',
-            '"layout-top-2-line"',
-            '"layout-top-fill"',
-            '"layout-top-line"',
-            '"leaf-fill"',
-            '"leaf-line"',
-            '"lifebuoy-fill"',
-            '"lifebuoy-line"',
-            '"lightbulb-fill"',
-            '"lightbulb-flash-fill"',
-            '"lightbulb-flash-line"',
-            '"lightbulb-line"',
-            '"line-chart-fill"',
-            '"line-chart-line"',
-            '"line-fill"',
-            '"line-height"',
-            '"line-line"',
-            '"link-m"',
-            '"link-unlink-m"',
-            '"link-unlink"',
-            '"link"',
-            '"linkedin-box-fill"',
-            '"linkedin-box-line"',
-            '"linkedin-fill"',
-            '"linkedin-line"',
-            '"links-fill"',
-            '"links-line"',
-            '"list-check-2"',
-            '"list-check"',
-            '"list-ordered"',
-            '"list-settings-fill"',
-            '"list-settings-line"',
-            '"list-unordered"',
-            '"live-fill"',
-            '"live-line"',
-            '"loader-2-fill"',
-            '"loader-2-line"',
-            '"loader-3-fill"',
-            '"loader-3-line"',
-            '"loader-4-fill"',
-            '"loader-4-line"',
-            '"loader-5-fill"',
-            '"loader-5-line"',
-            '"loader-fill"',
-            '"loader-line"',
-            '"lock-2-fill"',
-            '"lock-2-line"',
-            '"lock-fill"',
-            '"lock-line"',
-            '"lock-password-fill"',
-            '"lock-password-line"',
-            '"lock-unlock-fill"',
-            '"lock-unlock-line"',
-            '"login-box-fill"',
-            '"login-box-line"',
-            '"login-circle-fill"',
-            '"login-circle-line"',
-            '"logout-box-fill"',
-            '"logout-box-line"',
-            '"logout-box-r-fill"',
-            '"logout-box-r-line"',
-            '"logout-circle-fill"',
-            '"logout-circle-line"',
-            '"logout-circle-r-fill"',
-            '"logout-circle-r-line"',
-            '"luggage-cart-fill"',
-            '"luggage-cart-line"',
-            '"luggage-deposit-fill"',
-            '"luggage-deposit-line"',
-            '"lungs-fill"',
-            '"lungs-line"',
-            '"mac-fill"',
-            '"mac-line"',
-            '"macbook-fill"',
-            '"macbook-line"',
-            '"magic-fill"',
-            '"magic-line"',
-            '"mail-add-fill"',
-            '"mail-add-line"',
-            '"mail-check-fill"',
-            '"mail-check-line"',
-            '"mail-close-fill"',
-            '"mail-close-line"',
-            '"mail-download-fill"',
-            '"mail-download-line"',
-            '"mail-fill"',
-            '"mail-forbid-fill"',
-            '"mail-forbid-line"',
-            '"mail-line"',
-            '"mail-lock-fill"',
-            '"mail-lock-line"',
-            '"mail-open-fill"',
-            '"mail-open-line"',
-            '"mail-send-fill"',
-            '"mail-send-line"',
-            '"mail-settings-fill"',
-            '"mail-settings-line"',
-            '"mail-star-fill"',
-            '"mail-star-line"',
-            '"mail-unread-fill"',
-            '"mail-unread-line"',
-            '"mail-volume-fill"',
-            '"mail-volume-line"',
-            '"map-2-fill"',
-            '"map-2-line"',
-            '"map-fill"',
-            '"map-line"',
-            '"map-pin-2-fill"',
-            '"map-pin-2-line"',
-            '"map-pin-3-fill"',
-            '"map-pin-3-line"',
-            '"map-pin-4-fill"',
-            '"map-pin-4-line"',
-            '"map-pin-5-fill"',
-            '"map-pin-5-line"',
-            '"map-pin-add-fill"',
-            '"map-pin-add-line"',
-            '"map-pin-fill"',
-            '"map-pin-line"',
-            '"map-pin-range-fill"',
-            '"map-pin-range-line"',
-            '"map-pin-time-fill"',
-            '"map-pin-time-line"',
-            '"map-pin-user-fill"',
-            '"map-pin-user-line"',
-            '"mark-pen-fill"',
-            '"mark-pen-line"',
-            '"markdown-fill"',
-            '"markdown-line"',
-            '"markup-fill"',
-            '"markup-line"',
-            '"mastercard-fill"',
-            '"mastercard-line"',
-            '"mastodon-fill"',
-            '"mastodon-line"',
-            '"medal-2-fill"',
-            '"medal-2-line"',
-            '"medal-fill"',
-            '"medal-line"',
-            '"medicine-bottle-fill"',
-            '"medicine-bottle-line"',
-            '"medium-fill"',
-            '"medium-line"',
-            '"men-fill"',
-            '"men-line"',
-            '"mental-health-fill"',
-            '"mental-health-line"',
-            '"menu-2-fill"',
-            '"menu-2-line"',
-            '"menu-3-fill"',
-            '"menu-3-line"',
-            '"menu-4-fill"',
-            '"menu-4-line"',
-            '"menu-5-fill"',
-            '"menu-5-line"',
-            '"menu-add-fill"',
-            '"menu-add-line"',
-            '"menu-fill"',
-            '"menu-fold-fill"',
-            '"menu-fold-line"',
-            '"menu-line"',
-            '"menu-unfold-fill"',
-            '"menu-unfold-line"',
-            '"merge-cells-horizontal"',
-            '"merge-cells-vertical"',
-            '"message-2-fill"',
-            '"message-2-line"',
-            '"message-3-fill"',
-            '"message-3-line"',
-            '"message-fill"',
-            '"message-line"',
-            '"messenger-fill"',
-            '"messenger-line"',
-            '"meteor-fill"',
-            '"meteor-line"',
-            '"mic-2-fill"',
-            '"mic-2-line"',
-            '"mic-fill"',
-            '"mic-line"',
-            '"mic-off-fill"',
-            '"mic-off-line"',
-            '"mickey-fill"',
-            '"mickey-line"',
-            '"microscope-fill"',
-            '"microscope-line"',
-            '"microsoft-fill"',
-            '"microsoft-line"',
-            '"mind-map"',
-            '"mini-program-fill"',
-            '"mini-program-line"',
-            '"mist-fill"',
-            '"mist-line"',
-            '"money-cny-box-fill"',
-            '"money-cny-box-line"',
-            '"money-cny-circle-fill"',
-            '"money-cny-circle-line"',
-            '"money-dollar-box-fill"',
-            '"money-dollar-box-line"',
-            '"money-dollar-circle-fill"',
-            '"money-dollar-circle-line"',
-            '"money-euro-box-fill"',
-            '"money-euro-box-line"',
-            '"money-euro-circle-fill"',
-            '"money-euro-circle-line"',
-            '"money-pound-box-fill"',
-            '"money-pound-box-line"',
-            '"money-pound-circle-fill"',
-            '"money-pound-circle-line"',
-            '"moon-clear-fill"',
-            '"moon-clear-line"',
-            '"moon-cloudy-fill"',
-            '"moon-cloudy-line"',
-            '"moon-fill"',
-            '"moon-foggy-fill"',
-            '"moon-foggy-line"',
-            '"moon-line"',
-            '"more-2-fill"',
-            '"more-2-line"',
-            '"more-fill"',
-            '"more-line"',
-            '"motorbike-fill"',
-            '"motorbike-line"',
-            '"mouse-fill"',
-            '"mouse-line"',
-            '"movie-2-fill"',
-            '"movie-2-line"',
-            '"movie-fill"',
-            '"movie-line"',
-            '"music-2-fill"',
-            '"music-2-line"',
-            '"music-fill"',
-            '"music-line"',
-            '"mv-fill"',
-            '"mv-line"',
-            '"navigation-fill"',
-            '"navigation-line"',
-            '"netease-cloud-music-fill"',
-            '"netease-cloud-music-line"',
-            '"netflix-fill"',
-            '"netflix-line"',
-            '"newspaper-fill"',
-            '"newspaper-line"',
-            '"node-tree"',
-            '"notification-2-fill"',
-            '"notification-2-line"',
-            '"notification-3-fill"',
-            '"notification-3-line"',
-            '"notification-4-fill"',
-            '"notification-4-line"',
-            '"notification-badge-fill"',
-            '"notification-badge-line"',
-            '"notification-fill"',
-            '"notification-line"',
-            '"notification-off-fill"',
-            '"notification-off-line"',
-            '"npmjs-fill"',
-            '"npmjs-line"',
-            '"number-0"',
-            '"number-1"',
-            '"number-2"',
-            '"number-3"',
-            '"number-4"',
-            '"number-5"',
-            '"number-6"',
-            '"number-7"',
-            '"number-8"',
-            '"number-9"',
-            '"numbers-fill"',
-            '"numbers-line"',
-            '"nurse-fill"',
-            '"nurse-line"',
-            '"oil-fill"',
-            '"oil-line"',
-            '"omega"',
-            '"open-arm-fill"',
-            '"open-arm-line"',
-            '"open-source-fill"',
-            '"open-source-line"',
-            '"opera-fill"',
-            '"opera-line"',
-            '"order-play-fill"',
-            '"order-play-line"',
-            '"organization-chart"',
-            '"outlet-2-fill"',
-            '"outlet-2-line"',
-            '"outlet-fill"',
-            '"outlet-line"',
-            '"page-separator"',
-            '"pages-fill"',
-            '"pages-line"',
-            '"paint-brush-fill"',
-            '"paint-brush-line"',
-            '"paint-fill"',
-            '"paint-line"',
-            '"palette-fill"',
-            '"palette-line"',
-            '"pantone-fill"',
-            '"pantone-line"',
-            '"paragraph"',
-            '"parent-fill"',
-            '"parent-line"',
-            '"parentheses-fill"',
-            '"parentheses-line"',
-            '"parking-box-fill"',
-            '"parking-box-line"',
-            '"parking-fill"',
-            '"parking-line"',
-            '"passport-fill"',
-            '"passport-line"',
-            '"patreon-fill"',
-            '"patreon-line"',
-            '"pause-circle-fill"',
-            '"pause-circle-line"',
-            '"pause-fill"',
-            '"pause-line"',
-            '"pause-mini-fill"',
-            '"pause-mini-line"',
-            '"paypal-fill"',
-            '"paypal-line"',
-            '"pen-nib-fill"',
-            '"pen-nib-line"',
-            '"pencil-fill"',
-            '"pencil-line"',
-            '"pencil-ruler-2-fill"',
-            '"pencil-ruler-2-line"',
-            '"pencil-ruler-fill"',
-            '"pencil-ruler-line"',
-            '"percent-fill"',
-            '"percent-line"',
-            '"phone-camera-fill"',
-            '"phone-camera-line"',
-            '"phone-fill"',
-            '"phone-find-fill"',
-            '"phone-find-line"',
-            '"phone-line"',
-            '"phone-lock-fill"',
-            '"phone-lock-line"',
-            '"picture-in-picture-2-fill"',
-            '"picture-in-picture-2-line"',
-            '"picture-in-picture-exit-fill"',
-            '"picture-in-picture-exit-line"',
-            '"picture-in-picture-fill"',
-            '"picture-in-picture-line"',
-            '"pie-chart-2-fill"',
-            '"pie-chart-2-line"',
-            '"pie-chart-box-fill"',
-            '"pie-chart-box-line"',
-            '"pie-chart-fill"',
-            '"pie-chart-line"',
-            '"pin-distance-fill"',
-            '"pin-distance-line"',
-            '"ping-pong-fill"',
-            '"ping-pong-line"',
-            '"pinterest-fill"',
-            '"pinterest-line"',
-            '"pinyin-input"',
-            '"pixelfed-fill"',
-            '"pixelfed-line"',
-            '"plane-fill"',
-            '"plane-line"',
-            '"plant-fill"',
-            '"plant-line"',
-            '"play-circle-fill"',
-            '"play-circle-line"',
-            '"play-fill"',
-            '"play-line"',
-            '"play-list-2-fill"',
-            '"play-list-2-line"',
-            '"play-list-add-fill"',
-            '"play-list-add-line"',
-            '"play-list-fill"',
-            '"play-list-line"',
-            '"play-mini-fill"',
-            '"play-mini-line"',
-            '"playstation-fill"',
-            '"playstation-line"',
-            '"plug-2-fill"',
-            '"plug-2-line"',
-            '"plug-fill"',
-            '"plug-line"',
-            '"polaroid-2-fill"',
-            '"polaroid-2-line"',
-            '"polaroid-fill"',
-            '"polaroid-line"',
-            '"police-car-fill"',
-            '"police-car-line"',
-            '"price-tag-2-fill"',
-            '"price-tag-2-line"',
-            '"price-tag-3-fill"',
-            '"price-tag-3-line"',
-            '"price-tag-fill"',
-            '"price-tag-line"',
-            '"printer-cloud-fill"',
-            '"printer-cloud-line"',
-            '"printer-fill"',
-            '"printer-line"',
-            '"product-hunt-fill"',
-            '"product-hunt-line"',
-            '"profile-fill"',
-            '"profile-line"',
-            '"projector-2-fill"',
-            '"projector-2-line"',
-            '"projector-fill"',
-            '"projector-line"',
-            '"psychotherapy-fill"',
-            '"psychotherapy-line"',
-            '"pulse-fill"',
-            '"pulse-line"',
-            '"pushpin-2-fill"',
-            '"pushpin-2-line"',
-            '"pushpin-fill"',
-            '"pushpin-line"',
-            '"qq-fill"',
-            '"qq-line"',
-            '"qr-code-fill"',
-            '"qr-code-line"',
-            '"qr-scan-2-fill"',
-            '"qr-scan-2-line"',
-            '"qr-scan-fill"',
-            '"qr-scan-line"',
-            '"question-answer-fill"',
-            '"question-answer-line"',
-            '"question-fill"',
-            '"question-line"',
-            '"question-mark"',
-            '"questionnaire-fill"',
-            '"questionnaire-line"',
-            '"quill-pen-fill"',
-            '"quill-pen-line"',
-            '"radar-fill"',
-            '"radar-line"',
-            '"radio-2-fill"',
-            '"radio-2-line"',
-            '"radio-button-fill"',
-            '"radio-button-line"',
-            '"radio-fill"',
-            '"radio-line"',
-            '"rainbow-fill"',
-            '"rainbow-line"',
-            '"rainy-fill"',
-            '"rainy-line"',
-            '"reactjs-fill"',
-            '"reactjs-line"',
-            '"record-circle-fill"',
-            '"record-circle-line"',
-            '"record-mail-fill"',
-            '"record-mail-line"',
-            '"recycle-fill"',
-            '"recycle-line"',
-            '"red-packet-fill"',
-            '"red-packet-line"',
-            '"reddit-fill"',
-            '"reddit-line"',
-            '"refresh-fill"',
-            '"refresh-line"',
-            '"refund-2-fill"',
-            '"refund-2-line"',
-            '"refund-fill"',
-            '"refund-line"',
-            '"registered-fill"',
-            '"registered-line"',
-            '"remixicon-fill"',
-            '"remixicon-line"',
-            '"remote-control-2-fill"',
-            '"remote-control-2-line"',
-            '"remote-control-fill"',
-            '"remote-control-line"',
-            '"repeat-2-fill"',
-            '"repeat-2-line"',
-            '"repeat-fill"',
-            '"repeat-line"',
-            '"repeat-one-fill"',
-            '"repeat-one-line"',
-            '"reply-all-fill"',
-            '"reply-all-line"',
-            '"reply-fill"',
-            '"reply-line"',
-            '"reserved-fill"',
-            '"reserved-line"',
-            '"rest-time-fill"',
-            '"rest-time-line"',
-            '"restart-fill"',
-            '"restart-line"',
-            '"restaurant-2-fill"',
-            '"restaurant-2-line"',
-            '"restaurant-fill"',
-            '"restaurant-line"',
-            '"rewind-fill"',
-            '"rewind-line"',
-            '"rewind-mini-fill"',
-            '"rewind-mini-line"',
-            '"rhythm-fill"',
-            '"rhythm-line"',
-            '"riding-fill"',
-            '"riding-line"',
-            '"road-map-fill"',
-            '"road-map-line"',
-            '"roadster-fill"',
-            '"roadster-line"',
-            '"robot-fill"',
-            '"robot-line"',
-            '"rocket-2-fill"',
-            '"rocket-2-line"',
-            '"rocket-fill"',
-            '"rocket-line"',
-            '"rotate-lock-fill"',
-            '"rotate-lock-line"',
-            '"rounded-corner"',
-            '"route-fill"',
-            '"route-line"',
-            '"router-fill"',
-            '"router-line"',
-            '"rss-fill"',
-            '"rss-line"',
-            '"ruler-2-fill"',
-            '"ruler-2-line"',
-            '"ruler-fill"',
-            '"ruler-line"',
-            '"run-fill"',
-            '"run-line"',
-            '"safari-fill"',
-            '"safari-line"',
-            '"safe-2-fill"',
-            '"safe-2-line"',
-            '"safe-fill"',
-            '"safe-line"',
-            '"sailboat-fill"',
-            '"sailboat-line"',
-            '"save-2-fill"',
-            '"save-2-line"',
-            '"save-3-fill"',
-            '"save-3-line"',
-            '"save-fill"',
-            '"save-line"',
-            '"scales-2-fill"',
-            '"scales-2-line"',
-            '"scales-3-fill"',
-            '"scales-3-line"',
-            '"scales-fill"',
-            '"scales-line"',
-            '"scan-2-fill"',
-            '"scan-2-line"',
-            '"scan-fill"',
-            '"scan-line"',
-            '"scissors-2-fill"',
-            '"scissors-2-line"',
-            '"scissors-cut-fill"',
-            '"scissors-cut-line"',
-            '"scissors-fill"',
-            '"scissors-line"',
-            '"screenshot-2-fill"',
-            '"screenshot-2-line"',
-            '"screenshot-fill"',
-            '"screenshot-line"',
-            '"sd-card-fill"',
-            '"sd-card-line"',
-            '"sd-card-mini-fill"',
-            '"sd-card-mini-line"',
-            '"search-2-fill"',
-            '"search-2-line"',
-            '"search-eye-fill"',
-            '"search-eye-line"',
-            '"search-fill"',
-            '"search-line"',
-            '"secure-payment-fill"',
-            '"secure-payment-line"',
-            '"seedling-fill"',
-            '"seedling-line"',
-            '"send-backward"',
-            '"send-plane-2-fill"',
-            '"send-plane-2-line"',
-            '"send-plane-fill"',
-            '"send-plane-line"',
-            '"send-to-back"',
-            '"sensor-fill"',
-            '"sensor-line"',
-            '"separator"',
-            '"server-fill"',
-            '"server-line"',
-            '"service-fill"',
-            '"service-line"',
-            '"settings-2-fill"',
-            '"settings-2-line"',
-            '"settings-3-fill"',
-            '"settings-3-line"',
-            '"settings-4-fill"',
-            '"settings-4-line"',
-            '"settings-5-fill"',
-            '"settings-5-line"',
-            '"settings-6-fill"',
-            '"settings-6-line"',
-            '"settings-fill"',
-            '"settings-line"',
-            '"shape-2-fill"',
-            '"shape-2-line"',
-            '"shape-fill"',
-            '"shape-line"',
-            '"share-box-fill"',
-            '"share-box-line"',
-            '"share-circle-fill"',
-            '"share-circle-line"',
-            '"share-fill"',
-            '"share-forward-2-fill"',
-            '"share-forward-2-line"',
-            '"share-forward-box-fill"',
-            '"share-forward-box-line"',
-            '"share-forward-fill"',
-            '"share-forward-line"',
-            '"share-line"',
-            '"shield-check-fill"',
-            '"shield-check-line"',
-            '"shield-cross-fill"',
-            '"shield-cross-line"',
-            '"shield-fill"',
-            '"shield-flash-fill"',
-            '"shield-flash-line"',
-            '"shield-keyhole-fill"',
-            '"shield-keyhole-line"',
-            '"shield-line"',
-            '"shield-star-fill"',
-            '"shield-star-line"',
-            '"shield-user-fill"',
-            '"shield-user-line"',
-            '"ship-2-fill"',
-            '"ship-2-line"',
-            '"ship-fill"',
-            '"ship-line"',
-            '"shirt-fill"',
-            '"shirt-line"',
-            '"shopping-bag-2-fill"',
-            '"shopping-bag-2-line"',
-            '"shopping-bag-3-fill"',
-            '"shopping-bag-3-line"',
-            '"shopping-bag-fill"',
-            '"shopping-bag-line"',
-            '"shopping-basket-2-fill"',
-            '"shopping-basket-2-line"',
-            '"shopping-basket-fill"',
-            '"shopping-basket-line"',
-            '"shopping-cart-2-fill"',
-            '"shopping-cart-2-line"',
-            '"shopping-cart-fill"',
-            '"shopping-cart-line"',
-            '"showers-fill"',
-            '"showers-line"',
-            '"shuffle-fill"',
-            '"shuffle-line"',
-            '"shut-down-fill"',
-            '"shut-down-line"',
-            '"side-bar-fill"',
-            '"side-bar-line"',
-            '"signal-tower-fill"',
-            '"signal-tower-line"',
-            '"signal-wifi-1-fill"',
-            '"signal-wifi-1-line"',
-            '"signal-wifi-2-fill"',
-            '"signal-wifi-2-line"',
-            '"signal-wifi-3-fill"',
-            '"signal-wifi-3-line"',
-            '"signal-wifi-error-fill"',
-            '"signal-wifi-error-line"',
-            '"signal-wifi-fill"',
-            '"signal-wifi-line"',
-            '"signal-wifi-off-fill"',
-            '"signal-wifi-off-line"',
-            '"sim-card-2-fill"',
-            '"sim-card-2-line"',
-            '"sim-card-fill"',
-            '"sim-card-line"',
-            '"single-quotes-l"',
-            '"single-quotes-r"',
-            '"sip-fill"',
-            '"sip-line"',
-            '"skip-back-fill"',
-            '"skip-back-line"',
-            '"skip-back-mini-fill"',
-            '"skip-back-mini-line"',
-            '"skip-forward-fill"',
-            '"skip-forward-line"',
-            '"skip-forward-mini-fill"',
-            '"skip-forward-mini-line"',
-            '"skull-2-fill"',
-            '"skull-2-line"',
-            '"skull-fill"',
-            '"skull-line"',
-            '"skype-fill"',
-            '"skype-line"',
-            '"slack-fill"',
-            '"slack-line"',
-            '"slice-fill"',
-            '"slice-line"',
-            '"slideshow-2-fill"',
-            '"slideshow-2-line"',
-            '"slideshow-3-fill"',
-            '"slideshow-3-line"',
-            '"slideshow-4-fill"',
-            '"slideshow-4-line"',
-            '"slideshow-fill"',
-            '"slideshow-line"',
-            '"smartphone-fill"',
-            '"smartphone-line"',
-            '"snapchat-fill"',
-            '"snapchat-line"',
-            '"snowy-fill"',
-            '"snowy-line"',
-            '"sort-asc"',
-            '"sort-desc"',
-            '"sound-module-fill"',
-            '"sound-module-line"',
-            '"soundcloud-fill"',
-            '"soundcloud-line"',
-            '"space-ship-fill"',
-            '"space-ship-line"',
-            '"space"',
-            '"spam-2-fill"',
-            '"spam-2-line"',
-            '"spam-3-fill"',
-            '"spam-3-line"',
-            '"spam-fill"',
-            '"spam-line"',
-            '"speaker-2-fill"',
-            '"speaker-2-line"',
-            '"speaker-3-fill"',
-            '"speaker-3-line"',
-            '"speaker-fill"',
-            '"speaker-line"',
-            '"spectrum-fill"',
-            '"spectrum-line"',
-            '"speed-fill"',
-            '"speed-line"',
-            '"speed-mini-fill"',
-            '"speed-mini-line"',
-            '"split-cells-horizontal"',
-            '"split-cells-vertical"',
-            '"spotify-fill"',
-            '"spotify-line"',
-            '"spy-fill"',
-            '"spy-line"',
-            '"stack-fill"',
-            '"stack-line"',
-            '"stack-overflow-fill"',
-            '"stack-overflow-line"',
-            '"stackshare-fill"',
-            '"stackshare-line"',
-            '"star-fill"',
-            '"star-half-fill"',
-            '"star-half-line"',
-            '"star-half-s-fill"',
-            '"star-half-s-line"',
-            '"star-line"',
-            '"star-s-fill"',
-            '"star-s-line"',
-            '"star-smile-fill"',
-            '"star-smile-line"',
-            '"steam-fill"',
-            '"steam-line"',
-            '"steering-2-fill"',
-            '"steering-2-line"',
-            '"steering-fill"',
-            '"steering-line"',
-            '"stethoscope-fill"',
-            '"stethoscope-line"',
-            '"sticky-note-2-fill"',
-            '"sticky-note-2-line"',
-            '"sticky-note-fill"',
-            '"sticky-note-line"',
-            '"stock-fill"',
-            '"stock-line"',
-            '"stop-circle-fill"',
-            '"stop-circle-line"',
-            '"stop-fill"',
-            '"stop-line"',
-            '"stop-mini-fill"',
-            '"stop-mini-line"',
-            '"store-2-fill"',
-            '"store-2-line"',
-            '"store-3-fill"',
-            '"store-3-line"',
-            '"store-fill"',
-            '"store-line"',
-            '"strikethrough-2"',
-            '"strikethrough"',
-            '"subscript-2"',
-            '"subscript"',
-            '"subtract-fill"',
-            '"subtract-line"',
-            '"subway-fill"',
-            '"subway-line"',
-            '"subway-wifi-fill"',
-            '"subway-wifi-line"',
-            '"suitcase-2-fill"',
-            '"suitcase-2-line"',
-            '"suitcase-3-fill"',
-            '"suitcase-3-line"',
-            '"suitcase-fill"',
-            '"suitcase-line"',
-            '"sun-cloudy-fill"',
-            '"sun-cloudy-line"',
-            '"sun-fill"',
-            '"sun-foggy-fill"',
-            '"sun-foggy-line"',
-            '"sun-line"',
-            '"superscript-2"',
-            '"superscript"',
-            '"surgical-mask-fill"',
-            '"surgical-mask-line"',
-            '"surround-sound-fill"',
-            '"surround-sound-line"',
-            '"survey-fill"',
-            '"survey-line"',
-            '"swap-box-fill"',
-            '"swap-box-line"',
-            '"swap-fill"',
-            '"swap-line"',
-            '"switch-fill"',
-            '"switch-line"',
-            '"sword-fill"',
-            '"sword-line"',
-            '"syringe-fill"',
-            '"syringe-line"',
-            '"t-box-fill"',
-            '"t-box-line"',
-            '"t-shirt-2-fill"',
-            '"t-shirt-2-line"',
-            '"t-shirt-air-fill"',
-            '"t-shirt-air-line"',
-            '"t-shirt-fill"',
-            '"t-shirt-line"',
-            '"table-2"',
-            '"table-alt-fill"',
-            '"table-alt-line"',
-            '"table-fill"',
-            '"table-line"',
-            '"tablet-fill"',
-            '"tablet-line"',
-            '"takeaway-fill"',
-            '"takeaway-line"',
-            '"taobao-fill"',
-            '"taobao-line"',
-            '"tape-fill"',
-            '"tape-line"',
-            '"task-fill"',
-            '"task-line"',
-            '"taxi-fill"',
-            '"taxi-line"',
-            '"taxi-wifi-fill"',
-            '"taxi-wifi-line"',
-            '"team-fill"',
-            '"team-line"',
-            '"telegram-fill"',
-            '"telegram-line"',
-            '"temp-cold-fill"',
-            '"temp-cold-line"',
-            '"temp-hot-fill"',
-            '"temp-hot-line"',
-            '"terminal-box-fill"',
-            '"terminal-box-line"',
-            '"terminal-fill"',
-            '"terminal-line"',
-            '"terminal-window-fill"',
-            '"terminal-window-line"',
-            '"test-tube-fill"',
-            '"test-tube-line"',
-            '"text-direction-l"',
-            '"text-direction-r"',
-            '"text-spacing"',
-            '"text-wrap"',
-            '"text"',
-            '"thermometer-fill"',
-            '"thermometer-line"',
-            '"thumb-down-fill"',
-            '"thumb-down-line"',
-            '"thumb-up-fill"',
-            '"thumb-up-line"',
-            '"thunderstorms-fill"',
-            '"thunderstorms-line"',
-            '"ticket-2-fill"',
-            '"ticket-2-line"',
-            '"ticket-fill"',
-            '"ticket-line"',
-            '"time-fill"',
-            '"time-line"',
-            '"timer-2-fill"',
-            '"timer-2-line"',
-            '"timer-fill"',
-            '"timer-flash-fill"',
-            '"timer-flash-line"',
-            '"timer-line"',
-            '"todo-fill"',
-            '"todo-line"',
-            '"toggle-fill"',
-            '"toggle-line"',
-            '"tools-fill"',
-            '"tools-line"',
-            '"tornado-fill"',
-            '"tornado-line"',
-            '"trademark-fill"',
-            '"trademark-line"',
-            '"traffic-light-fill"',
-            '"traffic-light-line"',
-            '"train-fill"',
-            '"train-line"',
-            '"train-wifi-fill"',
-            '"train-wifi-line"',
-            '"translate-2"',
-            '"translate"',
-            '"travesti-fill"',
-            '"travesti-line"',
-            '"treasure-map-fill"',
-            '"treasure-map-line"',
-            '"trello-fill"',
-            '"trello-line"',
-            '"trophy-fill"',
-            '"trophy-line"',
-            '"truck-fill"',
-            '"truck-line"',
-            '"tumblr-fill"',
-            '"tumblr-line"',
-            '"tv-2-fill"',
-            '"tv-2-line"',
-            '"tv-fill"',
-            '"tv-line"',
-            '"twitch-fill"',
-            '"twitch-line"',
-            '"twitter-fill"',
-            '"twitter-line"',
-            '"typhoon-fill"',
-            '"typhoon-line"',
-            '"u-disk-fill"',
-            '"u-disk-line"',
-            '"ubuntu-fill"',
-            '"ubuntu-line"',
-            '"umbrella-fill"',
-            '"umbrella-line"',
-            '"underline"',
-            '"uninstall-fill"',
-            '"uninstall-line"',
-            '"unsplash-fill"',
-            '"unsplash-line"',
-            '"upload-2-fill"',
-            '"upload-2-line"',
-            '"upload-cloud-2-fill"',
-            '"upload-cloud-2-line"',
-            '"upload-cloud-fill"',
-            '"upload-cloud-line"',
-            '"upload-fill"',
-            '"upload-line"',
-            '"usb-fill"',
-            '"usb-line"',
-            '"user-2-fill"',
-            '"user-2-line"',
-            '"user-3-fill"',
-            '"user-3-line"',
-            '"user-4-fill"',
-            '"user-4-line"',
-            '"user-5-fill"',
-            '"user-5-line"',
-            '"user-6-fill"',
-            '"user-6-line"',
-            '"user-add-fill"',
-            '"user-add-line"',
-            '"user-fill"',
-            '"user-follow-fill"',
-            '"user-follow-line"',
-            '"user-heart-fill"',
-            '"user-heart-line"',
-            '"user-line"',
-            '"user-location-fill"',
-            '"user-location-line"',
-            '"user-received-2-fill"',
-            '"user-received-2-line"',
-            '"user-received-fill"',
-            '"user-received-line"',
-            '"user-search-fill"',
-            '"user-search-line"',
-            '"user-settings-fill"',
-            '"user-settings-line"',
-            '"user-shared-2-fill"',
-            '"user-shared-2-line"',
-            '"user-shared-fill"',
-            '"user-shared-line"',
-            '"user-smile-fill"',
-            '"user-smile-line"',
-            '"user-star-fill"',
-            '"user-star-line"',
-            '"user-unfollow-fill"',
-            '"user-unfollow-line"',
-            '"user-voice-fill"',
-            '"user-voice-line"',
-            '"video-add-fill"',
-            '"video-add-line"',
-            '"video-chat-fill"',
-            '"video-chat-line"',
-            '"video-download-fill"',
-            '"video-download-line"',
-            '"video-fill"',
-            '"video-line"',
-            '"video-upload-fill"',
-            '"video-upload-line"',
-            '"vidicon-2-fill"',
-            '"vidicon-2-line"',
-            '"vidicon-fill"',
-            '"vidicon-line"',
-            '"vimeo-fill"',
-            '"vimeo-line"',
-            '"vip-crown-2-fill"',
-            '"vip-crown-2-line"',
-            '"vip-crown-fill"',
-            '"vip-crown-line"',
-            '"vip-diamond-fill"',
-            '"vip-diamond-line"',
-            '"vip-fill"',
-            '"vip-line"',
-            '"virus-fill"',
-            '"virus-line"',
-            '"visa-fill"',
-            '"visa-line"',
-            '"voice-recognition-fill"',
-            '"voice-recognition-line"',
-            '"voiceprint-fill"',
-            '"voiceprint-line"',
-            '"volume-down-fill"',
-            '"volume-down-line"',
-            '"volume-mute-fill"',
-            '"volume-mute-line"',
-            '"volume-off-vibrate-fill"',
-            '"volume-off-vibrate-line"',
-            '"volume-up-fill"',
-            '"volume-up-line"',
-            '"volume-vibrate-fill"',
-            '"volume-vibrate-line"',
-            '"vuejs-fill"',
-            '"vuejs-line"',
-            '"walk-fill"',
-            '"walk-line"',
-            '"wallet-2-fill"',
-            '"wallet-2-line"',
-            '"wallet-3-fill"',
-            '"wallet-3-line"',
-            '"wallet-fill"',
-            '"wallet-line"',
-            '"water-flash-fill"',
-            '"water-flash-line"',
-            '"webcam-fill"',
-            '"webcam-line"',
-            '"wechat-2-fill"',
-            '"wechat-2-line"',
-            '"wechat-fill"',
-            '"wechat-line"',
-            '"wechat-pay-fill"',
-            '"wechat-pay-line"',
-            '"weibo-fill"',
-            '"weibo-line"',
-            '"whatsapp-fill"',
-            '"whatsapp-line"',
-            '"wheelchair-fill"',
-            '"wheelchair-line"',
-            '"wifi-fill"',
-            '"wifi-line"',
-            '"wifi-off-fill"',
-            '"wifi-off-line"',
-            '"window-2-fill"',
-            '"window-2-line"',
-            '"window-fill"',
-            '"window-line"',
-            '"windows-fill"',
-            '"windows-line"',
-            '"windy-fill"',
-            '"windy-line"',
-            '"wireless-charging-fill"',
-            '"wireless-charging-line"',
-            '"women-fill"',
-            '"women-line"',
-            '"wubi-input"',
-            '"xbox-fill"',
-            '"xbox-line"',
-            '"xing-fill"',
-            '"xing-line"',
-            '"youtube-fill"',
-            '"youtube-line"',
-            '"zcool-fill"',
-            '"zcool-line"',
-            '"zhihu-fill"',
-            '"zhihu-line"',
-            '"zoom-in-fill"',
-            '"zoom-in-line"',
-            '"zoom-out-fill"',
-            '"zoom-out-line"',
-            '"zzz-fill"',
-            '"zzz-line"',
-        ),
-    ),
-);
+<?php
+return [
+    'name' => 'icon',
+    'struct' => [
+        'key' => [
+            'name'      => 'icon',
+            'type'      => 'varchar(200)',
+        ],
+    ],
+
+    'default' => [
+        'field' => '`key`',
+        'value' => [
+            '"24-hours-fill"',
+            '"24-hours-line"',
+            '"4k-fill"',
+            '"4k-line"',
+            '"a-b"',
+            '"account-box-fill"',
+            '"account-box-line"',
+            '"account-circle-fill"',
+            '"account-circle-line"',
+            '"account-pin-box-fill"',
+            '"account-pin-box-line"',
+            '"account-pin-circle-fill"',
+            '"account-pin-circle-line"',
+            '"add-box-fill"',
+            '"add-box-line"',
+            '"add-circle-fill"',
+            '"add-circle-line"',
+            '"add-fill"',
+            '"add-line"',
+            '"admin-fill"',
+            '"admin-line"',
+            '"airplay-fill"',
+            '"airplay-line"',
+            '"alarm-fill"',
+            '"alarm-line"',
+            '"alarm-warning-fill"',
+            '"alarm-warning-line"',
+            '"album-fill"',
+            '"album-line"',
+            '"alert-fill"',
+            '"alert-line"',
+            '"aliens-fill"',
+            '"aliens-line"',
+            '"align-bottom"',
+            '"align-center"',
+            '"align-justify"',
+            '"align-left"',
+            '"align-right"',
+            '"align-top"',
+            '"align-vertically"',
+            '"alipay-fill"',
+            '"alipay-line"',
+            '"amazon-fill"',
+            '"amazon-line"',
+            '"anchor-fill"',
+            '"anchor-line"',
+            '"ancient-gate-fill"',
+            '"ancient-gate-line"',
+            '"ancient-pavilion-fill"',
+            '"ancient-pavilion-line"',
+            '"android-fill"',
+            '"android-line"',
+            '"angularjs-fill"',
+            '"angularjs-line"',
+            '"anticlockwise-2-fill"',
+            '"anticlockwise-2-line"',
+            '"anticlockwise-fill"',
+            '"anticlockwise-line"',
+            '"app-store-fill"',
+            '"app-store-line"',
+            '"apple-fill"',
+            '"apple-line"',
+            '"apps-2-fill"',
+            '"apps-2-line"',
+            '"apps-fill"',
+            '"apps-line"',
+            '"archive-drawer-fill"',
+            '"archive-drawer-line"',
+            '"archive-fill"',
+            '"archive-line"',
+            '"arrow-down-circle-fill"',
+            '"arrow-down-circle-line"',
+            '"arrow-down-fill"',
+            '"arrow-down-line"',
+            '"arrow-down-s-fill"',
+            '"arrow-down-s-line"',
+            '"arrow-drop-down-fill"',
+            '"arrow-drop-down-line"',
+            '"arrow-drop-left-fill"',
+            '"arrow-drop-left-line"',
+            '"arrow-drop-right-fill"',
+            '"arrow-drop-right-line"',
+            '"arrow-drop-up-fill"',
+            '"arrow-drop-up-line"',
+            '"arrow-go-back-fill"',
+            '"arrow-go-back-line"',
+            '"arrow-go-forward-fill"',
+            '"arrow-go-forward-line"',
+            '"arrow-left-circle-fill"',
+            '"arrow-left-circle-line"',
+            '"arrow-left-down-fill"',
+            '"arrow-left-down-line"',
+            '"arrow-left-fill"',
+            '"arrow-left-line"',
+            '"arrow-left-right-fill"',
+            '"arrow-left-right-line"',
+            '"arrow-left-s-fill"',
+            '"arrow-left-s-line"',
+            '"arrow-left-up-fill"',
+            '"arrow-left-up-line"',
+            '"arrow-right-circle-fill"',
+            '"arrow-right-circle-line"',
+            '"arrow-right-down-fill"',
+            '"arrow-right-down-line"',
+            '"arrow-right-fill"',
+            '"arrow-right-line"',
+            '"arrow-right-s-fill"',
+            '"arrow-right-s-line"',
+            '"arrow-right-up-fill"',
+            '"arrow-right-up-line"',
+            '"arrow-up-circle-fill"',
+            '"arrow-up-circle-line"',
+            '"arrow-up-down-fill"',
+            '"arrow-up-down-line"',
+            '"arrow-up-fill"',
+            '"arrow-up-line"',
+            '"arrow-up-s-fill"',
+            '"arrow-up-s-line"',
+            '"artboard-2-fill"',
+            '"artboard-2-line"',
+            '"artboard-fill"',
+            '"artboard-line"',
+            '"article-fill"',
+            '"article-line"',
+            '"aspect-ratio-fill"',
+            '"aspect-ratio-line"',
+            '"asterisk"',
+            '"at-fill"',
+            '"at-line"',
+            '"attachment-2"',
+            '"attachment-fill"',
+            '"attachment-line"',
+            '"auction-fill"',
+            '"auction-line"',
+            '"award-fill"',
+            '"award-line"',
+            '"baidu-fill"',
+            '"baidu-line"',
+            '"ball-pen-fill"',
+            '"ball-pen-line"',
+            '"bank-card-2-fill"',
+            '"bank-card-2-line"',
+            '"bank-card-fill"',
+            '"bank-card-line"',
+            '"bank-fill"',
+            '"bank-line"',
+            '"bar-chart-2-fill"',
+            '"bar-chart-2-line"',
+            '"bar-chart-box-fill"',
+            '"bar-chart-box-line"',
+            '"bar-chart-fill"',
+            '"bar-chart-grouped-fill"',
+            '"bar-chart-grouped-line"',
+            '"bar-chart-horizontal-fill"',
+            '"bar-chart-horizontal-line"',
+            '"bar-chart-line"',
+            '"barcode-box-fill"',
+            '"barcode-box-line"',
+            '"barcode-fill"',
+            '"barcode-line"',
+            '"barricade-fill"',
+            '"barricade-line"',
+            '"base-station-fill"',
+            '"base-station-line"',
+            '"basketball-fill"',
+            '"basketball-line"',
+            '"battery-2-charge-fill"',
+            '"battery-2-charge-line"',
+            '"battery-2-fill"',
+            '"battery-2-line"',
+            '"battery-charge-fill"',
+            '"battery-charge-line"',
+            '"battery-fill"',
+            '"battery-line"',
+            '"battery-low-fill"',
+            '"battery-low-line"',
+            '"battery-saver-fill"',
+            '"battery-saver-line"',
+            '"battery-share-fill"',
+            '"battery-share-line"',
+            '"bear-smile-fill"',
+            '"bear-smile-line"',
+            '"behance-fill"',
+            '"behance-line"',
+            '"bell-fill"',
+            '"bell-line"',
+            '"bike-fill"',
+            '"bike-line"',
+            '"bilibili-fill"',
+            '"bilibili-line"',
+            '"bill-fill"',
+            '"bill-line"',
+            '"billiards-fill"',
+            '"billiards-line"',
+            '"bit-coin-fill"',
+            '"bit-coin-line"',
+            '"blaze-fill"',
+            '"blaze-line"',
+            '"bluetooth-connect-fill"',
+            '"bluetooth-connect-line"',
+            '"bluetooth-fill"',
+            '"bluetooth-line"',
+            '"blur-off-fill"',
+            '"blur-off-line"',
+            '"body-scan-fill"',
+            '"body-scan-line"',
+            '"bold"',
+            '"book-2-fill"',
+            '"book-2-line"',
+            '"book-3-fill"',
+            '"book-3-line"',
+            '"book-fill"',
+            '"book-line"',
+            '"book-mark-fill"',
+            '"book-mark-line"',
+            '"book-open-fill"',
+            '"book-open-line"',
+            '"book-read-fill"',
+            '"book-read-line"',
+            '"booklet-fill"',
+            '"booklet-line"',
+            '"bookmark-2-fill"',
+            '"bookmark-2-line"',
+            '"bookmark-3-fill"',
+            '"bookmark-3-line"',
+            '"bookmark-fill"',
+            '"bookmark-line"',
+            '"boxing-fill"',
+            '"boxing-line"',
+            '"braces-fill"',
+            '"braces-line"',
+            '"brackets-fill"',
+            '"brackets-line"',
+            '"briefcase-2-fill"',
+            '"briefcase-2-line"',
+            '"briefcase-3-fill"',
+            '"briefcase-3-line"',
+            '"briefcase-4-fill"',
+            '"briefcase-4-line"',
+            '"briefcase-5-fill"',
+            '"briefcase-5-line"',
+            '"briefcase-fill"',
+            '"briefcase-line"',
+            '"bring-forward"',
+            '"bring-to-front"',
+            '"broadcast-fill"',
+            '"broadcast-line"',
+            '"brush-2-fill"',
+            '"brush-2-line"',
+            '"brush-3-fill"',
+            '"brush-3-line"',
+            '"brush-4-fill"',
+            '"brush-4-line"',
+            '"brush-fill"',
+            '"brush-line"',
+            '"bubble-chart-fill"',
+            '"bubble-chart-line"',
+            '"bug-2-fill"',
+            '"bug-2-line"',
+            '"bug-fill"',
+            '"bug-line"',
+            '"building-2-fill"',
+            '"building-2-line"',
+            '"building-3-fill"',
+            '"building-3-line"',
+            '"building-4-fill"',
+            '"building-4-line"',
+            '"building-fill"',
+            '"building-line"',
+            '"bus-2-fill"',
+            '"bus-2-line"',
+            '"bus-fill"',
+            '"bus-line"',
+            '"bus-wifi-fill"',
+            '"bus-wifi-line"',
+            '"cactus-fill"',
+            '"cactus-line"',
+            '"cake-2-fill"',
+            '"cake-2-line"',
+            '"cake-3-fill"',
+            '"cake-3-line"',
+            '"cake-fill"',
+            '"cake-line"',
+            '"calculator-fill"',
+            '"calculator-line"',
+            '"calendar-2-fill"',
+            '"calendar-2-line"',
+            '"calendar-check-fill"',
+            '"calendar-check-line"',
+            '"calendar-event-fill"',
+            '"calendar-event-line"',
+            '"calendar-fill"',
+            '"calendar-line"',
+            '"calendar-todo-fill"',
+            '"calendar-todo-line"',
+            '"camera-2-fill"',
+            '"camera-2-line"',
+            '"camera-3-fill"',
+            '"camera-3-line"',
+            '"camera-fill"',
+            '"camera-lens-fill"',
+            '"camera-lens-line"',
+            '"camera-line"',
+            '"camera-off-fill"',
+            '"camera-off-line"',
+            '"camera-switch-fill"',
+            '"camera-switch-line"',
+            '"capsule-fill"',
+            '"capsule-line"',
+            '"car-fill"',
+            '"car-line"',
+            '"car-washing-fill"',
+            '"car-washing-line"',
+            '"caravan-fill"',
+            '"caravan-line"',
+            '"cast-fill"',
+            '"cast-line"',
+            '"cellphone-fill"',
+            '"cellphone-line"',
+            '"celsius-fill"',
+            '"celsius-line"',
+            '"centos-fill"',
+            '"centos-line"',
+            '"character-recognition-fill"',
+            '"character-recognition-line"',
+            '"charging-pile-2-fill"',
+            '"charging-pile-2-line"',
+            '"charging-pile-fill"',
+            '"charging-pile-line"',
+            '"chat-1-fill"',
+            '"chat-1-line"',
+            '"chat-2-fill"',
+            '"chat-2-line"',
+            '"chat-3-fill"',
+            '"chat-3-line"',
+            '"chat-4-fill"',
+            '"chat-4-line"',
+            '"chat-check-fill"',
+            '"chat-check-line"',
+            '"chat-delete-fill"',
+            '"chat-delete-line"',
+            '"chat-download-fill"',
+            '"chat-download-line"',
+            '"chat-follow-up-fill"',
+            '"chat-follow-up-line"',
+            '"chat-forward-fill"',
+            '"chat-forward-line"',
+            '"chat-heart-fill"',
+            '"chat-heart-line"',
+            '"chat-history-fill"',
+            '"chat-history-line"',
+            '"chat-new-fill"',
+            '"chat-new-line"',
+            '"chat-off-fill"',
+            '"chat-off-line"',
+            '"chat-poll-fill"',
+            '"chat-poll-line"',
+            '"chat-private-fill"',
+            '"chat-private-line"',
+            '"chat-quote-fill"',
+            '"chat-quote-line"',
+            '"chat-settings-fill"',
+            '"chat-settings-line"',
+            '"chat-smile-2-fill"',
+            '"chat-smile-2-line"',
+            '"chat-smile-3-fill"',
+            '"chat-smile-3-line"',
+            '"chat-smile-fill"',
+            '"chat-smile-line"',
+            '"chat-upload-fill"',
+            '"chat-upload-line"',
+            '"chat-voice-fill"',
+            '"chat-voice-line"',
+            '"check-double-fill"',
+            '"check-double-line"',
+            '"check-fill"',
+            '"check-line"',
+            '"checkbox-blank-circle-fill"',
+            '"checkbox-blank-circle-line"',
+            '"checkbox-blank-fill"',
+            '"checkbox-blank-line"',
+            '"checkbox-circle-fill"',
+            '"checkbox-circle-line"',
+            '"checkbox-fill"',
+            '"checkbox-indeterminate-fill"',
+            '"checkbox-indeterminate-line"',
+            '"checkbox-line"',
+            '"checkbox-multiple-blank-fill"',
+            '"checkbox-multiple-blank-line"',
+            '"checkbox-multiple-fill"',
+            '"checkbox-multiple-line"',
+            '"china-railway-fill"',
+            '"china-railway-line"',
+            '"chrome-fill"',
+            '"chrome-line"',
+            '"clapperboard-fill"',
+            '"clapperboard-line"',
+            '"clipboard-fill"',
+            '"clipboard-line"',
+            '"clockwise-2-fill"',
+            '"clockwise-2-line"',
+            '"clockwise-fill"',
+            '"clockwise-line"',
+            '"close-circle-fill"',
+            '"close-circle-line"',
+            '"close-fill"',
+            '"close-line"',
+            '"closed-captioning-fill"',
+            '"closed-captioning-line"',
+            '"cloud-fill"',
+            '"cloud-line"',
+            '"cloud-off-fill"',
+            '"cloud-off-line"',
+            '"cloud-windy-fill"',
+            '"cloud-windy-line"',
+            '"cloudy-2-fill"',
+            '"cloudy-2-line"',
+            '"cloudy-fill"',
+            '"cloudy-line"',
+            '"code-box-fill"',
+            '"code-box-line"',
+            '"code-fill"',
+            '"code-line"',
+            '"code-s-fill"',
+            '"code-s-line"',
+            '"code-s-slash-fill"',
+            '"code-s-slash-line"',
+            '"code-view"',
+            '"codepen-fill"',
+            '"codepen-line"',
+            '"coin-fill"',
+            '"coin-line"',
+            '"coins-fill"',
+            '"coins-line"',
+            '"collage-fill"',
+            '"collage-line"',
+            '"command-fill"',
+            '"command-line"',
+            '"community-fill"',
+            '"community-line"',
+            '"compass-2-fill"',
+            '"compass-2-line"',
+            '"compass-3-fill"',
+            '"compass-3-line"',
+            '"compass-4-fill"',
+            '"compass-4-line"',
+            '"compass-discover-fill"',
+            '"compass-discover-line"',
+            '"compass-fill"',
+            '"compass-line"',
+            '"compasses-2-fill"',
+            '"compasses-2-line"',
+            '"compasses-fill"',
+            '"compasses-line"',
+            '"computer-fill"',
+            '"computer-line"',
+            '"contacts-book-2-fill"',
+            '"contacts-book-2-line"',
+            '"contacts-book-fill"',
+            '"contacts-book-line"',
+            '"contacts-book-upload-fill"',
+            '"contacts-book-upload-line"',
+            '"contacts-fill"',
+            '"contacts-line"',
+            '"contrast-2-fill"',
+            '"contrast-2-line"',
+            '"contrast-drop-2-fill"',
+            '"contrast-drop-2-line"',
+            '"contrast-drop-fill"',
+            '"contrast-drop-line"',
+            '"contrast-fill"',
+            '"contrast-line"',
+            '"copper-coin-fill"',
+            '"copper-coin-line"',
+            '"copper-diamond-fill"',
+            '"copper-diamond-line"',
+            '"copyleft-fill"',
+            '"copyleft-line"',
+            '"copyright-fill"',
+            '"copyright-line"',
+            '"coreos-fill"',
+            '"coreos-line"',
+            '"coupon-2-fill"',
+            '"coupon-2-line"',
+            '"coupon-3-fill"',
+            '"coupon-3-line"',
+            '"coupon-4-fill"',
+            '"coupon-4-line"',
+            '"coupon-5-fill"',
+            '"coupon-5-line"',
+            '"coupon-fill"',
+            '"coupon-line"',
+            '"cpu-fill"',
+            '"cpu-line"',
+            '"creative-commons-by-fill"',
+            '"creative-commons-by-line"',
+            '"creative-commons-fill"',
+            '"creative-commons-line"',
+            '"creative-commons-nc-fill"',
+            '"creative-commons-nc-line"',
+            '"creative-commons-nd-fill"',
+            '"creative-commons-nd-line"',
+            '"creative-commons-sa-fill"',
+            '"creative-commons-sa-line"',
+            '"creative-commons-zero-fill"',
+            '"creative-commons-zero-line"',
+            '"criminal-fill"',
+            '"criminal-line"',
+            '"crop-2-fill"',
+            '"crop-2-line"',
+            '"crop-fill"',
+            '"crop-line"',
+            '"css3-fill"',
+            '"css3-line"',
+            '"cup-fill"',
+            '"cup-line"',
+            '"currency-fill"',
+            '"currency-line"',
+            '"cursor-fill"',
+            '"cursor-line"',
+            '"customer-service-2-fill"',
+            '"customer-service-2-line"',
+            '"customer-service-fill"',
+            '"customer-service-line"',
+            '"dashboard-2-fill"',
+            '"dashboard-2-line"',
+            '"dashboard-3-fill"',
+            '"dashboard-3-line"',
+            '"dashboard-fill"',
+            '"dashboard-line"',
+            '"database-2-fill"',
+            '"database-2-line"',
+            '"database-fill"',
+            '"database-line"',
+            '"delete-back-2-fill"',
+            '"delete-back-2-line"',
+            '"delete-back-fill"',
+            '"delete-back-line"',
+            '"delete-bin-2-fill"',
+            '"delete-bin-2-line"',
+            '"delete-bin-3-fill"',
+            '"delete-bin-3-line"',
+            '"delete-bin-4-fill"',
+            '"delete-bin-4-line"',
+            '"delete-bin-5-fill"',
+            '"delete-bin-5-line"',
+            '"delete-bin-6-fill"',
+            '"delete-bin-6-line"',
+            '"delete-bin-7-fill"',
+            '"delete-bin-7-line"',
+            '"delete-bin-fill"',
+            '"delete-bin-line"',
+            '"delete-column"',
+            '"delete-row"',
+            '"device-fill"',
+            '"device-line"',
+            '"device-recover-fill"',
+            '"device-recover-line"',
+            '"dingding-fill"',
+            '"dingding-line"',
+            '"direction-fill"',
+            '"direction-line"',
+            '"disc-fill"',
+            '"disc-line"',
+            '"discord-fill"',
+            '"discord-line"',
+            '"discuss-fill"',
+            '"discuss-line"',
+            '"dislike-fill"',
+            '"dislike-line"',
+            '"disqus-fill"',
+            '"disqus-line"',
+            '"divide-fill"',
+            '"divide-line"',
+            '"donut-chart-fill"',
+            '"donut-chart-line"',
+            '"door-closed-fill"',
+            '"door-closed-line"',
+            '"door-fill"',
+            '"door-line"',
+            '"door-lock-box-fill"',
+            '"door-lock-box-line"',
+            '"door-lock-fill"',
+            '"door-lock-line"',
+            '"door-open-fill"',
+            '"door-open-line"',
+            '"dossier-fill"',
+            '"dossier-line"',
+            '"douban-fill"',
+            '"douban-line"',
+            '"double-quotes-l"',
+            '"double-quotes-r"',
+            '"download-2-fill"',
+            '"download-2-line"',
+            '"download-cloud-2-fill"',
+            '"download-cloud-2-line"',
+            '"download-cloud-fill"',
+            '"download-cloud-line"',
+            '"download-fill"',
+            '"download-line"',
+            '"draft-fill"',
+            '"draft-line"',
+            '"drag-drop-fill"',
+            '"drag-drop-line"',
+            '"drag-move-2-fill"',
+            '"drag-move-2-line"',
+            '"drag-move-fill"',
+            '"drag-move-line"',
+            '"dribbble-fill"',
+            '"dribbble-line"',
+            '"drive-fill"',
+            '"drive-line"',
+            '"drizzle-fill"',
+            '"drizzle-line"',
+            '"drop-fill"',
+            '"drop-line"',
+            '"dropbox-fill"',
+            '"dropbox-line"',
+            '"dual-sim-1-fill"',
+            '"dual-sim-1-line"',
+            '"dual-sim-2-fill"',
+            '"dual-sim-2-line"',
+            '"dv-fill"',
+            '"dv-line"',
+            '"dvd-fill"',
+            '"dvd-line"',
+            '"e-bike-2-fill"',
+            '"e-bike-2-line"',
+            '"e-bike-fill"',
+            '"e-bike-line"',
+            '"earth-fill"',
+            '"earth-line"',
+            '"earthquake-fill"',
+            '"earthquake-line"',
+            '"edge-fill"',
+            '"edge-line"',
+            '"edit-2-fill"',
+            '"edit-2-line"',
+            '"edit-box-fill"',
+            '"edit-box-line"',
+            '"edit-circle-fill"',
+            '"edit-circle-line"',
+            '"edit-fill"',
+            '"edit-line"',
+            '"eject-fill"',
+            '"eject-line"',
+            '"emotion-2-fill"',
+            '"emotion-2-line"',
+            '"emotion-fill"',
+            '"emotion-happy-fill"',
+            '"emotion-happy-line"',
+            '"emotion-laugh-fill"',
+            '"emotion-laugh-line"',
+            '"emotion-line"',
+            '"emotion-normal-fill"',
+            '"emotion-normal-line"',
+            '"emotion-sad-fill"',
+            '"emotion-sad-line"',
+            '"emotion-unhappy-fill"',
+            '"emotion-unhappy-line"',
+            '"empathize-fill"',
+            '"empathize-line"',
+            '"emphasis-cn"',
+            '"emphasis"',
+            '"english-input"',
+            '"equalizer-fill"',
+            '"equalizer-line"',
+            '"eraser-fill"',
+            '"eraser-line"',
+            '"error-warning-fill"',
+            '"error-warning-line"',
+            '"evernote-fill"',
+            '"evernote-line"',
+            '"exchange-box-fill"',
+            '"exchange-box-line"',
+            '"exchange-cny-fill"',
+            '"exchange-cny-line"',
+            '"exchange-dollar-fill"',
+            '"exchange-dollar-line"',
+            '"exchange-fill"',
+            '"exchange-funds-fill"',
+            '"exchange-funds-line"',
+            '"exchange-line"',
+            '"external-link-fill"',
+            '"external-link-line"',
+            '"eye-2-fill"',
+            '"eye-2-line"',
+            '"eye-close-fill"',
+            '"eye-close-line"',
+            '"eye-fill"',
+            '"eye-line"',
+            '"eye-off-fill"',
+            '"eye-off-line"',
+            '"facebook-box-fill"',
+            '"facebook-box-line"',
+            '"facebook-circle-fill"',
+            '"facebook-circle-line"',
+            '"facebook-fill"',
+            '"facebook-line"',
+            '"fahrenheit-fill"',
+            '"fahrenheit-line"',
+            '"feedback-fill"',
+            '"feedback-line"',
+            '"file-2-fill"',
+            '"file-2-line"',
+            '"file-3-fill"',
+            '"file-3-line"',
+            '"file-4-fill"',
+            '"file-4-line"',
+            '"file-add-fill"',
+            '"file-add-line"',
+            '"file-chart-2-fill"',
+            '"file-chart-2-line"',
+            '"file-chart-fill"',
+            '"file-chart-line"',
+            '"file-cloud-fill"',
+            '"file-cloud-line"',
+            '"file-code-fill"',
+            '"file-code-line"',
+            '"file-copy-2-fill"',
+            '"file-copy-2-line"',
+            '"file-copy-fill"',
+            '"file-copy-line"',
+            '"file-damage-fill"',
+            '"file-damage-line"',
+            '"file-download-fill"',
+            '"file-download-line"',
+            '"file-edit-fill"',
+            '"file-edit-line"',
+            '"file-excel-2-fill"',
+            '"file-excel-2-line"',
+            '"file-excel-fill"',
+            '"file-excel-line"',
+            '"file-fill"',
+            '"file-forbid-fill"',
+            '"file-forbid-line"',
+            '"file-gif-fill"',
+            '"file-gif-line"',
+            '"file-history-fill"',
+            '"file-history-line"',
+            '"file-hwp-fill"',
+            '"file-hwp-line"',
+            '"file-info-fill"',
+            '"file-info-line"',
+            '"file-line"',
+            '"file-list-2-fill"',
+            '"file-list-2-line"',
+            '"file-list-3-fill"',
+            '"file-list-3-line"',
+            '"file-list-fill"',
+            '"file-list-line"',
+            '"file-lock-fill"',
+            '"file-lock-line"',
+            '"file-mark-fill"',
+            '"file-mark-line"',
+            '"file-music-fill"',
+            '"file-music-line"',
+            '"file-paper-2-fill"',
+            '"file-paper-2-line"',
+            '"file-paper-fill"',
+            '"file-paper-line"',
+            '"file-pdf-fill"',
+            '"file-pdf-line"',
+            '"file-ppt-2-fill"',
+            '"file-ppt-2-line"',
+            '"file-ppt-fill"',
+            '"file-ppt-line"',
+            '"file-reduce-fill"',
+            '"file-reduce-line"',
+            '"file-search-fill"',
+            '"file-search-line"',
+            '"file-settings-fill"',
+            '"file-settings-line"',
+            '"file-shield-2-fill"',
+            '"file-shield-2-line"',
+            '"file-shield-fill"',
+            '"file-shield-line"',
+            '"file-shred-fill"',
+            '"file-shred-line"',
+            '"file-text-fill"',
+            '"file-text-line"',
+            '"file-transfer-fill"',
+            '"file-transfer-line"',
+            '"file-unknow-fill"',
+            '"file-unknow-line"',
+            '"file-upload-fill"',
+            '"file-upload-line"',
+            '"file-user-fill"',
+            '"file-user-line"',
+            '"file-warning-fill"',
+            '"file-warning-line"',
+            '"file-word-2-fill"',
+            '"file-word-2-line"',
+            '"file-word-fill"',
+            '"file-word-line"',
+            '"file-zip-fill"',
+            '"file-zip-line"',
+            '"film-fill"',
+            '"film-line"',
+            '"filter-2-fill"',
+            '"filter-2-line"',
+            '"filter-3-fill"',
+            '"filter-3-line"',
+            '"filter-fill"',
+            '"filter-line"',
+            '"filter-off-fill"',
+            '"filter-off-line"',
+            '"find-replace-fill"',
+            '"find-replace-line"',
+            '"finder-fill"',
+            '"finder-line"',
+            '"fingerprint-2-fill"',
+            '"fingerprint-2-line"',
+            '"fingerprint-fill"',
+            '"fingerprint-line"',
+            '"fire-fill"',
+            '"fire-line"',
+            '"firefox-fill"',
+            '"firefox-line"',
+            '"first-aid-kit-fill"',
+            '"first-aid-kit-line"',
+            '"flag-2-fill"',
+            '"flag-2-line"',
+            '"flag-fill"',
+            '"flag-line"',
+            '"flashlight-fill"',
+            '"flashlight-line"',
+            '"flask-fill"',
+            '"flask-line"',
+            '"flight-land-fill"',
+            '"flight-land-line"',
+            '"flight-takeoff-fill"',
+            '"flight-takeoff-line"',
+            '"flood-fill"',
+            '"flood-line"',
+            '"flow-chart"',
+            '"flutter-fill"',
+            '"flutter-line"',
+            '"focus-2-fill"',
+            '"focus-2-line"',
+            '"focus-3-fill"',
+            '"focus-3-line"',
+            '"focus-fill"',
+            '"focus-line"',
+            '"foggy-fill"',
+            '"foggy-line"',
+            '"folder-2-fill"',
+            '"folder-2-line"',
+            '"folder-3-fill"',
+            '"folder-3-line"',
+            '"folder-4-fill"',
+            '"folder-4-line"',
+            '"folder-5-fill"',
+            '"folder-5-line"',
+            '"folder-add-fill"',
+            '"folder-add-line"',
+            '"folder-chart-2-fill"',
+            '"folder-chart-2-line"',
+            '"folder-chart-fill"',
+            '"folder-chart-line"',
+            '"folder-download-fill"',
+            '"folder-download-line"',
+            '"folder-fill"',
+            '"folder-forbid-fill"',
+            '"folder-forbid-line"',
+            '"folder-history-fill"',
+            '"folder-history-line"',
+            '"folder-info-fill"',
+            '"folder-info-line"',
+            '"folder-keyhole-fill"',
+            '"folder-keyhole-line"',
+            '"folder-line"',
+            '"folder-lock-fill"',
+            '"folder-lock-line"',
+            '"folder-music-fill"',
+            '"folder-music-line"',
+            '"folder-open-fill"',
+            '"folder-open-line"',
+            '"folder-received-fill"',
+            '"folder-received-line"',
+            '"folder-reduce-fill"',
+            '"folder-reduce-line"',
+            '"folder-settings-fill"',
+            '"folder-settings-line"',
+            '"folder-shared-fill"',
+            '"folder-shared-line"',
+            '"folder-shield-2-fill"',
+            '"folder-shield-2-line"',
+            '"folder-shield-fill"',
+            '"folder-shield-line"',
+            '"folder-transfer-fill"',
+            '"folder-transfer-line"',
+            '"folder-unknow-fill"',
+            '"folder-unknow-line"',
+            '"folder-upload-fill"',
+            '"folder-upload-line"',
+            '"folder-user-fill"',
+            '"folder-user-line"',
+            '"folder-warning-fill"',
+            '"folder-warning-line"',
+            '"folder-zip-fill"',
+            '"folder-zip-line"',
+            '"folders-fill"',
+            '"folders-line"',
+            '"font-color"',
+            '"font-size-2"',
+            '"font-size"',
+            '"football-fill"',
+            '"football-line"',
+            '"footprint-fill"',
+            '"footprint-line"',
+            '"forbid-2-fill"',
+            '"forbid-2-line"',
+            '"forbid-fill"',
+            '"forbid-line"',
+            '"format-clear"',
+            '"fridge-fill"',
+            '"fridge-line"',
+            '"fullscreen-exit-fill"',
+            '"fullscreen-exit-line"',
+            '"fullscreen-fill"',
+            '"fullscreen-line"',
+            '"function-fill"',
+            '"function-line"',
+            '"functions"',
+            '"funds-box-fill"',
+            '"funds-box-line"',
+            '"funds-fill"',
+            '"funds-line"',
+            '"gallery-fill"',
+            '"gallery-line"',
+            '"gallery-upload-fill"',
+            '"gallery-upload-line"',
+            '"game-fill"',
+            '"game-line"',
+            '"gamepad-fill"',
+            '"gamepad-line"',
+            '"gas-station-fill"',
+            '"gas-station-line"',
+            '"gatsby-fill"',
+            '"gatsby-line"',
+            '"genderless-fill"',
+            '"genderless-line"',
+            '"ghost-2-fill"',
+            '"ghost-2-line"',
+            '"ghost-fill"',
+            '"ghost-line"',
+            '"ghost-smile-fill"',
+            '"ghost-smile-line"',
+            '"gift-2-fill"',
+            '"gift-2-line"',
+            '"gift-fill"',
+            '"gift-line"',
+            '"git-branch-fill"',
+            '"git-branch-line"',
+            '"git-commit-fill"',
+            '"git-commit-line"',
+            '"git-merge-fill"',
+            '"git-merge-line"',
+            '"git-pull-request-fill"',
+            '"git-pull-request-line"',
+            '"git-repository-commits-fill"',
+            '"git-repository-commits-line"',
+            '"git-repository-fill"',
+            '"git-repository-line"',
+            '"git-repository-private-fill"',
+            '"git-repository-private-line"',
+            '"github-fill"',
+            '"github-line"',
+            '"gitlab-fill"',
+            '"gitlab-line"',
+            '"global-fill"',
+            '"global-line"',
+            '"globe-fill"',
+            '"globe-line"',
+            '"goblet-fill"',
+            '"goblet-line"',
+            '"google-fill"',
+            '"google-line"',
+            '"google-play-fill"',
+            '"google-play-line"',
+            '"government-fill"',
+            '"government-line"',
+            '"gps-fill"',
+            '"gps-line"',
+            '"gradienter-fill"',
+            '"gradienter-line"',
+            '"grid-fill"',
+            '"grid-line"',
+            '"group-2-fill"',
+            '"group-2-line"',
+            '"group-fill"',
+            '"group-line"',
+            '"guide-fill"',
+            '"guide-line"',
+            '"h-1"',
+            '"h-2"',
+            '"h-3"',
+            '"h-4"',
+            '"h-5"',
+            '"h-6"',
+            '"hail-fill"',
+            '"hail-line"',
+            '"hammer-fill"',
+            '"hammer-line"',
+            '"hand-coin-fill"',
+            '"hand-coin-line"',
+            '"hand-heart-fill"',
+            '"hand-heart-line"',
+            '"hand-sanitizer-fill"',
+            '"hand-sanitizer-line"',
+            '"handbag-fill"',
+            '"handbag-line"',
+            '"hard-drive-2-fill"',
+            '"hard-drive-2-line"',
+            '"hard-drive-fill"',
+            '"hard-drive-line"',
+            '"hashtag"',
+            '"haze-2-fill"',
+            '"haze-2-line"',
+            '"haze-fill"',
+            '"haze-line"',
+            '"hd-fill"',
+            '"hd-line"',
+            '"heading"',
+            '"headphone-fill"',
+            '"headphone-line"',
+            '"health-book-fill"',
+            '"health-book-line"',
+            '"heart-2-fill"',
+            '"heart-2-line"',
+            '"heart-3-fill"',
+            '"heart-3-line"',
+            '"heart-add-fill"',
+            '"heart-add-line"',
+            '"heart-fill"',
+            '"heart-line"',
+            '"heart-pulse-fill"',
+            '"heart-pulse-line"',
+            '"hearts-fill"',
+            '"hearts-line"',
+            '"heavy-showers-fill"',
+            '"heavy-showers-line"',
+            '"history-fill"',
+            '"history-line"',
+            '"home-2-fill"',
+            '"home-2-line"',
+            '"home-3-fill"',
+            '"home-3-line"',
+            '"home-4-fill"',
+            '"home-4-line"',
+            '"home-5-fill"',
+            '"home-5-line"',
+            '"home-6-fill"',
+            '"home-6-line"',
+            '"home-7-fill"',
+            '"home-7-line"',
+            '"home-8-fill"',
+            '"home-8-line"',
+            '"home-fill"',
+            '"home-gear-fill"',
+            '"home-gear-line"',
+            '"home-heart-fill"',
+            '"home-heart-line"',
+            '"home-line"',
+            '"home-smile-2-fill"',
+            '"home-smile-2-line"',
+            '"home-smile-fill"',
+            '"home-smile-line"',
+            '"home-wifi-fill"',
+            '"home-wifi-line"',
+            '"honor-of-kings-fill"',
+            '"honor-of-kings-line"',
+            '"honour-fill"',
+            '"honour-line"',
+            '"hospital-fill"',
+            '"hospital-line"',
+            '"hotel-bed-fill"',
+            '"hotel-bed-line"',
+            '"hotel-fill"',
+            '"hotel-line"',
+            '"hotspot-fill"',
+            '"hotspot-line"',
+            '"hq-fill"',
+            '"hq-line"',
+            '"html5-fill"',
+            '"html5-line"',
+            '"ie-fill"',
+            '"ie-line"',
+            '"image-2-fill"',
+            '"image-2-line"',
+            '"image-add-fill"',
+            '"image-add-line"',
+            '"image-edit-fill"',
+            '"image-edit-line"',
+            '"image-fill"',
+            '"image-line"',
+            '"inbox-archive-fill"',
+            '"inbox-archive-line"',
+            '"inbox-fill"',
+            '"inbox-line"',
+            '"inbox-unarchive-fill"',
+            '"inbox-unarchive-line"',
+            '"increase-decrease-fill"',
+            '"increase-decrease-line"',
+            '"indent-decrease"',
+            '"indent-increase"',
+            '"indeterminate-circle-fill"',
+            '"indeterminate-circle-line"',
+            '"information-fill"',
+            '"information-line"',
+            '"infrared-thermometer-fill"',
+            '"infrared-thermometer-line"',
+            '"ink-bottle-fill"',
+            '"ink-bottle-line"',
+            '"input-cursor-move"',
+            '"input-method-fill"',
+            '"input-method-line"',
+            '"insert-column-left"',
+            '"insert-column-right"',
+            '"insert-row-bottom"',
+            '"insert-row-top"',
+            '"instagram-fill"',
+            '"instagram-line"',
+            '"install-fill"',
+            '"install-line"',
+            '"invision-fill"',
+            '"invision-line"',
+            '"italic"',
+            '"kakao-talk-fill"',
+            '"kakao-talk-line"',
+            '"key-2-fill"',
+            '"key-2-line"',
+            '"key-fill"',
+            '"key-line"',
+            '"keyboard-box-fill"',
+            '"keyboard-box-line"',
+            '"keyboard-fill"',
+            '"keyboard-line"',
+            '"keynote-fill"',
+            '"keynote-line"',
+            '"knife-blood-fill"',
+            '"knife-blood-line"',
+            '"knife-fill"',
+            '"knife-line"',
+            '"landscape-fill"',
+            '"landscape-line"',
+            '"layout-2-fill"',
+            '"layout-2-line"',
+            '"layout-3-fill"',
+            '"layout-3-line"',
+            '"layout-4-fill"',
+            '"layout-4-line"',
+            '"layout-5-fill"',
+            '"layout-5-line"',
+            '"layout-6-fill"',
+            '"layout-6-line"',
+            '"layout-bottom-2-fill"',
+            '"layout-bottom-2-line"',
+            '"layout-bottom-fill"',
+            '"layout-bottom-line"',
+            '"layout-column-fill"',
+            '"layout-column-line"',
+            '"layout-fill"',
+            '"layout-grid-fill"',
+            '"layout-grid-line"',
+            '"layout-left-2-fill"',
+            '"layout-left-2-line"',
+            '"layout-left-fill"',
+            '"layout-left-line"',
+            '"layout-line"',
+            '"layout-masonry-fill"',
+            '"layout-masonry-line"',
+            '"layout-right-2-fill"',
+            '"layout-right-2-line"',
+            '"layout-right-fill"',
+            '"layout-right-line"',
+            '"layout-row-fill"',
+            '"layout-row-line"',
+            '"layout-top-2-fill"',
+            '"layout-top-2-line"',
+            '"layout-top-fill"',
+            '"layout-top-line"',
+            '"leaf-fill"',
+            '"leaf-line"',
+            '"lifebuoy-fill"',
+            '"lifebuoy-line"',
+            '"lightbulb-fill"',
+            '"lightbulb-flash-fill"',
+            '"lightbulb-flash-line"',
+            '"lightbulb-line"',
+            '"line-chart-fill"',
+            '"line-chart-line"',
+            '"line-fill"',
+            '"line-height"',
+            '"line-line"',
+            '"link-m"',
+            '"link-unlink-m"',
+            '"link-unlink"',
+            '"link"',
+            '"linkedin-box-fill"',
+            '"linkedin-box-line"',
+            '"linkedin-fill"',
+            '"linkedin-line"',
+            '"links-fill"',
+            '"links-line"',
+            '"list-check-2"',
+            '"list-check"',
+            '"list-ordered"',
+            '"list-settings-fill"',
+            '"list-settings-line"',
+            '"list-unordered"',
+            '"live-fill"',
+            '"live-line"',
+            '"loader-2-fill"',
+            '"loader-2-line"',
+            '"loader-3-fill"',
+            '"loader-3-line"',
+            '"loader-4-fill"',
+            '"loader-4-line"',
+            '"loader-5-fill"',
+            '"loader-5-line"',
+            '"loader-fill"',
+            '"loader-line"',
+            '"lock-2-fill"',
+            '"lock-2-line"',
+            '"lock-fill"',
+            '"lock-line"',
+            '"lock-password-fill"',
+            '"lock-password-line"',
+            '"lock-unlock-fill"',
+            '"lock-unlock-line"',
+            '"login-box-fill"',
+            '"login-box-line"',
+            '"login-circle-fill"',
+            '"login-circle-line"',
+            '"logout-box-fill"',
+            '"logout-box-line"',
+            '"logout-box-r-fill"',
+            '"logout-box-r-line"',
+            '"logout-circle-fill"',
+            '"logout-circle-line"',
+            '"logout-circle-r-fill"',
+            '"logout-circle-r-line"',
+            '"luggage-cart-fill"',
+            '"luggage-cart-line"',
+            '"luggage-deposit-fill"',
+            '"luggage-deposit-line"',
+            '"lungs-fill"',
+            '"lungs-line"',
+            '"mac-fill"',
+            '"mac-line"',
+            '"macbook-fill"',
+            '"macbook-line"',
+            '"magic-fill"',
+            '"magic-line"',
+            '"mail-add-fill"',
+            '"mail-add-line"',
+            '"mail-check-fill"',
+            '"mail-check-line"',
+            '"mail-close-fill"',
+            '"mail-close-line"',
+            '"mail-download-fill"',
+            '"mail-download-line"',
+            '"mail-fill"',
+            '"mail-forbid-fill"',
+            '"mail-forbid-line"',
+            '"mail-line"',
+            '"mail-lock-fill"',
+            '"mail-lock-line"',
+            '"mail-open-fill"',
+            '"mail-open-line"',
+            '"mail-send-fill"',
+            '"mail-send-line"',
+            '"mail-settings-fill"',
+            '"mail-settings-line"',
+            '"mail-star-fill"',
+            '"mail-star-line"',
+            '"mail-unread-fill"',
+            '"mail-unread-line"',
+            '"mail-volume-fill"',
+            '"mail-volume-line"',
+            '"map-2-fill"',
+            '"map-2-line"',
+            '"map-fill"',
+            '"map-line"',
+            '"map-pin-2-fill"',
+            '"map-pin-2-line"',
+            '"map-pin-3-fill"',
+            '"map-pin-3-line"',
+            '"map-pin-4-fill"',
+            '"map-pin-4-line"',
+            '"map-pin-5-fill"',
+            '"map-pin-5-line"',
+            '"map-pin-add-fill"',
+            '"map-pin-add-line"',
+            '"map-pin-fill"',
+            '"map-pin-line"',
+            '"map-pin-range-fill"',
+            '"map-pin-range-line"',
+            '"map-pin-time-fill"',
+            '"map-pin-time-line"',
+            '"map-pin-user-fill"',
+            '"map-pin-user-line"',
+            '"mark-pen-fill"',
+            '"mark-pen-line"',
+            '"markdown-fill"',
+            '"markdown-line"',
+            '"markup-fill"',
+            '"markup-line"',
+            '"mastercard-fill"',
+            '"mastercard-line"',
+            '"mastodon-fill"',
+            '"mastodon-line"',
+            '"medal-2-fill"',
+            '"medal-2-line"',
+            '"medal-fill"',
+            '"medal-line"',
+            '"medicine-bottle-fill"',
+            '"medicine-bottle-line"',
+            '"medium-fill"',
+            '"medium-line"',
+            '"men-fill"',
+            '"men-line"',
+            '"mental-health-fill"',
+            '"mental-health-line"',
+            '"menu-2-fill"',
+            '"menu-2-line"',
+            '"menu-3-fill"',
+            '"menu-3-line"',
+            '"menu-4-fill"',
+            '"menu-4-line"',
+            '"menu-5-fill"',
+            '"menu-5-line"',
+            '"menu-add-fill"',
+            '"menu-add-line"',
+            '"menu-fill"',
+            '"menu-fold-fill"',
+            '"menu-fold-line"',
+            '"menu-line"',
+            '"menu-unfold-fill"',
+            '"menu-unfold-line"',
+            '"merge-cells-horizontal"',
+            '"merge-cells-vertical"',
+            '"message-2-fill"',
+            '"message-2-line"',
+            '"message-3-fill"',
+            '"message-3-line"',
+            '"message-fill"',
+            '"message-line"',
+            '"messenger-fill"',
+            '"messenger-line"',
+            '"meteor-fill"',
+            '"meteor-line"',
+            '"mic-2-fill"',
+            '"mic-2-line"',
+            '"mic-fill"',
+            '"mic-line"',
+            '"mic-off-fill"',
+            '"mic-off-line"',
+            '"mickey-fill"',
+            '"mickey-line"',
+            '"microscope-fill"',
+            '"microscope-line"',
+            '"microsoft-fill"',
+            '"microsoft-line"',
+            '"mind-map"',
+            '"mini-program-fill"',
+            '"mini-program-line"',
+            '"mist-fill"',
+            '"mist-line"',
+            '"money-cny-box-fill"',
+            '"money-cny-box-line"',
+            '"money-cny-circle-fill"',
+            '"money-cny-circle-line"',
+            '"money-dollar-box-fill"',
+            '"money-dollar-box-line"',
+            '"money-dollar-circle-fill"',
+            '"money-dollar-circle-line"',
+            '"money-euro-box-fill"',
+            '"money-euro-box-line"',
+            '"money-euro-circle-fill"',
+            '"money-euro-circle-line"',
+            '"money-pound-box-fill"',
+            '"money-pound-box-line"',
+            '"money-pound-circle-fill"',
+            '"money-pound-circle-line"',
+            '"moon-clear-fill"',
+            '"moon-clear-line"',
+            '"moon-cloudy-fill"',
+            '"moon-cloudy-line"',
+            '"moon-fill"',
+            '"moon-foggy-fill"',
+            '"moon-foggy-line"',
+            '"moon-line"',
+            '"more-2-fill"',
+            '"more-2-line"',
+            '"more-fill"',
+            '"more-line"',
+            '"motorbike-fill"',
+            '"motorbike-line"',
+            '"mouse-fill"',
+            '"mouse-line"',
+            '"movie-2-fill"',
+            '"movie-2-line"',
+            '"movie-fill"',
+            '"movie-line"',
+            '"music-2-fill"',
+            '"music-2-line"',
+            '"music-fill"',
+            '"music-line"',
+            '"mv-fill"',
+            '"mv-line"',
+            '"navigation-fill"',
+            '"navigation-line"',
+            '"netease-cloud-music-fill"',
+            '"netease-cloud-music-line"',
+            '"netflix-fill"',
+            '"netflix-line"',
+            '"newspaper-fill"',
+            '"newspaper-line"',
+            '"node-tree"',
+            '"notification-2-fill"',
+            '"notification-2-line"',
+            '"notification-3-fill"',
+            '"notification-3-line"',
+            '"notification-4-fill"',
+            '"notification-4-line"',
+            '"notification-badge-fill"',
+            '"notification-badge-line"',
+            '"notification-fill"',
+            '"notification-line"',
+            '"notification-off-fill"',
+            '"notification-off-line"',
+            '"npmjs-fill"',
+            '"npmjs-line"',
+            '"number-0"',
+            '"number-1"',
+            '"number-2"',
+            '"number-3"',
+            '"number-4"',
+            '"number-5"',
+            '"number-6"',
+            '"number-7"',
+            '"number-8"',
+            '"number-9"',
+            '"numbers-fill"',
+            '"numbers-line"',
+            '"nurse-fill"',
+            '"nurse-line"',
+            '"oil-fill"',
+            '"oil-line"',
+            '"omega"',
+            '"open-arm-fill"',
+            '"open-arm-line"',
+            '"open-source-fill"',
+            '"open-source-line"',
+            '"opera-fill"',
+            '"opera-line"',
+            '"order-play-fill"',
+            '"order-play-line"',
+            '"organization-chart"',
+            '"outlet-2-fill"',
+            '"outlet-2-line"',
+            '"outlet-fill"',
+            '"outlet-line"',
+            '"page-separator"',
+            '"pages-fill"',
+            '"pages-line"',
+            '"paint-brush-fill"',
+            '"paint-brush-line"',
+            '"paint-fill"',
+            '"paint-line"',
+            '"palette-fill"',
+            '"palette-line"',
+            '"pantone-fill"',
+            '"pantone-line"',
+            '"paragraph"',
+            '"parent-fill"',
+            '"parent-line"',
+            '"parentheses-fill"',
+            '"parentheses-line"',
+            '"parking-box-fill"',
+            '"parking-box-line"',
+            '"parking-fill"',
+            '"parking-line"',
+            '"passport-fill"',
+            '"passport-line"',
+            '"patreon-fill"',
+            '"patreon-line"',
+            '"pause-circle-fill"',
+            '"pause-circle-line"',
+            '"pause-fill"',
+            '"pause-line"',
+            '"pause-mini-fill"',
+            '"pause-mini-line"',
+            '"paypal-fill"',
+            '"paypal-line"',
+            '"pen-nib-fill"',
+            '"pen-nib-line"',
+            '"pencil-fill"',
+            '"pencil-line"',
+            '"pencil-ruler-2-fill"',
+            '"pencil-ruler-2-line"',
+            '"pencil-ruler-fill"',
+            '"pencil-ruler-line"',
+            '"percent-fill"',
+            '"percent-line"',
+            '"phone-camera-fill"',
+            '"phone-camera-line"',
+            '"phone-fill"',
+            '"phone-find-fill"',
+            '"phone-find-line"',
+            '"phone-line"',
+            '"phone-lock-fill"',
+            '"phone-lock-line"',
+            '"picture-in-picture-2-fill"',
+            '"picture-in-picture-2-line"',
+            '"picture-in-picture-exit-fill"',
+            '"picture-in-picture-exit-line"',
+            '"picture-in-picture-fill"',
+            '"picture-in-picture-line"',
+            '"pie-chart-2-fill"',
+            '"pie-chart-2-line"',
+            '"pie-chart-box-fill"',
+            '"pie-chart-box-line"',
+            '"pie-chart-fill"',
+            '"pie-chart-line"',
+            '"pin-distance-fill"',
+            '"pin-distance-line"',
+            '"ping-pong-fill"',
+            '"ping-pong-line"',
+            '"pinterest-fill"',
+            '"pinterest-line"',
+            '"pinyin-input"',
+            '"pixelfed-fill"',
+            '"pixelfed-line"',
+            '"plane-fill"',
+            '"plane-line"',
+            '"plant-fill"',
+            '"plant-line"',
+            '"play-circle-fill"',
+            '"play-circle-line"',
+            '"play-fill"',
+            '"play-line"',
+            '"play-list-2-fill"',
+            '"play-list-2-line"',
+            '"play-list-add-fill"',
+            '"play-list-add-line"',
+            '"play-list-fill"',
+            '"play-list-line"',
+            '"play-mini-fill"',
+            '"play-mini-line"',
+            '"playstation-fill"',
+            '"playstation-line"',
+            '"plug-2-fill"',
+            '"plug-2-line"',
+            '"plug-fill"',
+            '"plug-line"',
+            '"polaroid-2-fill"',
+            '"polaroid-2-line"',
+            '"polaroid-fill"',
+            '"polaroid-line"',
+            '"police-car-fill"',
+            '"police-car-line"',
+            '"price-tag-2-fill"',
+            '"price-tag-2-line"',
+            '"price-tag-3-fill"',
+            '"price-tag-3-line"',
+            '"price-tag-fill"',
+            '"price-tag-line"',
+            '"printer-cloud-fill"',
+            '"printer-cloud-line"',
+            '"printer-fill"',
+            '"printer-line"',
+            '"product-hunt-fill"',
+            '"product-hunt-line"',
+            '"profile-fill"',
+            '"profile-line"',
+            '"projector-2-fill"',
+            '"projector-2-line"',
+            '"projector-fill"',
+            '"projector-line"',
+            '"psychotherapy-fill"',
+            '"psychotherapy-line"',
+            '"pulse-fill"',
+            '"pulse-line"',
+            '"pushpin-2-fill"',
+            '"pushpin-2-line"',
+            '"pushpin-fill"',
+            '"pushpin-line"',
+            '"qq-fill"',
+            '"qq-line"',
+            '"qr-code-fill"',
+            '"qr-code-line"',
+            '"qr-scan-2-fill"',
+            '"qr-scan-2-line"',
+            '"qr-scan-fill"',
+            '"qr-scan-line"',
+            '"question-answer-fill"',
+            '"question-answer-line"',
+            '"question-fill"',
+            '"question-line"',
+            '"question-mark"',
+            '"questionnaire-fill"',
+            '"questionnaire-line"',
+            '"quill-pen-fill"',
+            '"quill-pen-line"',
+            '"radar-fill"',
+            '"radar-line"',
+            '"radio-2-fill"',
+            '"radio-2-line"',
+            '"radio-button-fill"',
+            '"radio-button-line"',
+            '"radio-fill"',
+            '"radio-line"',
+            '"rainbow-fill"',
+            '"rainbow-line"',
+            '"rainy-fill"',
+            '"rainy-line"',
+            '"reactjs-fill"',
+            '"reactjs-line"',
+            '"record-circle-fill"',
+            '"record-circle-line"',
+            '"record-mail-fill"',
+            '"record-mail-line"',
+            '"recycle-fill"',
+            '"recycle-line"',
+            '"red-packet-fill"',
+            '"red-packet-line"',
+            '"reddit-fill"',
+            '"reddit-line"',
+            '"refresh-fill"',
+            '"refresh-line"',
+            '"refund-2-fill"',
+            '"refund-2-line"',
+            '"refund-fill"',
+            '"refund-line"',
+            '"registered-fill"',
+            '"registered-line"',
+            '"remixicon-fill"',
+            '"remixicon-line"',
+            '"remote-control-2-fill"',
+            '"remote-control-2-line"',
+            '"remote-control-fill"',
+            '"remote-control-line"',
+            '"repeat-2-fill"',
+            '"repeat-2-line"',
+            '"repeat-fill"',
+            '"repeat-line"',
+            '"repeat-one-fill"',
+            '"repeat-one-line"',
+            '"reply-all-fill"',
+            '"reply-all-line"',
+            '"reply-fill"',
+            '"reply-line"',
+            '"reserved-fill"',
+            '"reserved-line"',
+            '"rest-time-fill"',
+            '"rest-time-line"',
+            '"restart-fill"',
+            '"restart-line"',
+            '"restaurant-2-fill"',
+            '"restaurant-2-line"',
+            '"restaurant-fill"',
+            '"restaurant-line"',
+            '"rewind-fill"',
+            '"rewind-line"',
+            '"rewind-mini-fill"',
+            '"rewind-mini-line"',
+            '"rhythm-fill"',
+            '"rhythm-line"',
+            '"riding-fill"',
+            '"riding-line"',
+            '"road-map-fill"',
+            '"road-map-line"',
+            '"roadster-fill"',
+            '"roadster-line"',
+            '"robot-fill"',
+            '"robot-line"',
+            '"rocket-2-fill"',
+            '"rocket-2-line"',
+            '"rocket-fill"',
+            '"rocket-line"',
+            '"rotate-lock-fill"',
+            '"rotate-lock-line"',
+            '"rounded-corner"',
+            '"route-fill"',
+            '"route-line"',
+            '"router-fill"',
+            '"router-line"',
+            '"rss-fill"',
+            '"rss-line"',
+            '"ruler-2-fill"',
+            '"ruler-2-line"',
+            '"ruler-fill"',
+            '"ruler-line"',
+            '"run-fill"',
+            '"run-line"',
+            '"safari-fill"',
+            '"safari-line"',
+            '"safe-2-fill"',
+            '"safe-2-line"',
+            '"safe-fill"',
+            '"safe-line"',
+            '"sailboat-fill"',
+            '"sailboat-line"',
+            '"save-2-fill"',
+            '"save-2-line"',
+            '"save-3-fill"',
+            '"save-3-line"',
+            '"save-fill"',
+            '"save-line"',
+            '"scales-2-fill"',
+            '"scales-2-line"',
+            '"scales-3-fill"',
+            '"scales-3-line"',
+            '"scales-fill"',
+            '"scales-line"',
+            '"scan-2-fill"',
+            '"scan-2-line"',
+            '"scan-fill"',
+            '"scan-line"',
+            '"scissors-2-fill"',
+            '"scissors-2-line"',
+            '"scissors-cut-fill"',
+            '"scissors-cut-line"',
+            '"scissors-fill"',
+            '"scissors-line"',
+            '"screenshot-2-fill"',
+            '"screenshot-2-line"',
+            '"screenshot-fill"',
+            '"screenshot-line"',
+            '"sd-card-fill"',
+            '"sd-card-line"',
+            '"sd-card-mini-fill"',
+            '"sd-card-mini-line"',
+            '"search-2-fill"',
+            '"search-2-line"',
+            '"search-eye-fill"',
+            '"search-eye-line"',
+            '"search-fill"',
+            '"search-line"',
+            '"secure-payment-fill"',
+            '"secure-payment-line"',
+            '"seedling-fill"',
+            '"seedling-line"',
+            '"send-backward"',
+            '"send-plane-2-fill"',
+            '"send-plane-2-line"',
+            '"send-plane-fill"',
+            '"send-plane-line"',
+            '"send-to-back"',
+            '"sensor-fill"',
+            '"sensor-line"',
+            '"separator"',
+            '"server-fill"',
+            '"server-line"',
+            '"service-fill"',
+            '"service-line"',
+            '"settings-2-fill"',
+            '"settings-2-line"',
+            '"settings-3-fill"',
+            '"settings-3-line"',
+            '"settings-4-fill"',
+            '"settings-4-line"',
+            '"settings-5-fill"',
+            '"settings-5-line"',
+            '"settings-6-fill"',
+            '"settings-6-line"',
+            '"settings-fill"',
+            '"settings-line"',
+            '"shape-2-fill"',
+            '"shape-2-line"',
+            '"shape-fill"',
+            '"shape-line"',
+            '"share-box-fill"',
+            '"share-box-line"',
+            '"share-circle-fill"',
+            '"share-circle-line"',
+            '"share-fill"',
+            '"share-forward-2-fill"',
+            '"share-forward-2-line"',
+            '"share-forward-box-fill"',
+            '"share-forward-box-line"',
+            '"share-forward-fill"',
+            '"share-forward-line"',
+            '"share-line"',
+            '"shield-check-fill"',
+            '"shield-check-line"',
+            '"shield-cross-fill"',
+            '"shield-cross-line"',
+            '"shield-fill"',
+            '"shield-flash-fill"',
+            '"shield-flash-line"',
+            '"shield-keyhole-fill"',
+            '"shield-keyhole-line"',
+            '"shield-line"',
+            '"shield-star-fill"',
+            '"shield-star-line"',
+            '"shield-user-fill"',
+            '"shield-user-line"',
+            '"ship-2-fill"',
+            '"ship-2-line"',
+            '"ship-fill"',
+            '"ship-line"',
+            '"shirt-fill"',
+            '"shirt-line"',
+            '"shopping-bag-2-fill"',
+            '"shopping-bag-2-line"',
+            '"shopping-bag-3-fill"',
+            '"shopping-bag-3-line"',
+            '"shopping-bag-fill"',
+            '"shopping-bag-line"',
+            '"shopping-basket-2-fill"',
+            '"shopping-basket-2-line"',
+            '"shopping-basket-fill"',
+            '"shopping-basket-line"',
+            '"shopping-cart-2-fill"',
+            '"shopping-cart-2-line"',
+            '"shopping-cart-fill"',
+            '"shopping-cart-line"',
+            '"showers-fill"',
+            '"showers-line"',
+            '"shuffle-fill"',
+            '"shuffle-line"',
+            '"shut-down-fill"',
+            '"shut-down-line"',
+            '"side-bar-fill"',
+            '"side-bar-line"',
+            '"signal-tower-fill"',
+            '"signal-tower-line"',
+            '"signal-wifi-1-fill"',
+            '"signal-wifi-1-line"',
+            '"signal-wifi-2-fill"',
+            '"signal-wifi-2-line"',
+            '"signal-wifi-3-fill"',
+            '"signal-wifi-3-line"',
+            '"signal-wifi-error-fill"',
+            '"signal-wifi-error-line"',
+            '"signal-wifi-fill"',
+            '"signal-wifi-line"',
+            '"signal-wifi-off-fill"',
+            '"signal-wifi-off-line"',
+            '"sim-card-2-fill"',
+            '"sim-card-2-line"',
+            '"sim-card-fill"',
+            '"sim-card-line"',
+            '"single-quotes-l"',
+            '"single-quotes-r"',
+            '"sip-fill"',
+            '"sip-line"',
+            '"skip-back-fill"',
+            '"skip-back-line"',
+            '"skip-back-mini-fill"',
+            '"skip-back-mini-line"',
+            '"skip-forward-fill"',
+            '"skip-forward-line"',
+            '"skip-forward-mini-fill"',
+            '"skip-forward-mini-line"',
+            '"skull-2-fill"',
+            '"skull-2-line"',
+            '"skull-fill"',
+            '"skull-line"',
+            '"skype-fill"',
+            '"skype-line"',
+            '"slack-fill"',
+            '"slack-line"',
+            '"slice-fill"',
+            '"slice-line"',
+            '"slideshow-2-fill"',
+            '"slideshow-2-line"',
+            '"slideshow-3-fill"',
+            '"slideshow-3-line"',
+            '"slideshow-4-fill"',
+            '"slideshow-4-line"',
+            '"slideshow-fill"',
+            '"slideshow-line"',
+            '"smartphone-fill"',
+            '"smartphone-line"',
+            '"snapchat-fill"',
+            '"snapchat-line"',
+            '"snowy-fill"',
+            '"snowy-line"',
+            '"sort-asc"',
+            '"sort-desc"',
+            '"sound-module-fill"',
+            '"sound-module-line"',
+            '"soundcloud-fill"',
+            '"soundcloud-line"',
+            '"space-ship-fill"',
+            '"space-ship-line"',
+            '"space"',
+            '"spam-2-fill"',
+            '"spam-2-line"',
+            '"spam-3-fill"',
+            '"spam-3-line"',
+            '"spam-fill"',
+            '"spam-line"',
+            '"speaker-2-fill"',
+            '"speaker-2-line"',
+            '"speaker-3-fill"',
+            '"speaker-3-line"',
+            '"speaker-fill"',
+            '"speaker-line"',
+            '"spectrum-fill"',
+            '"spectrum-line"',
+            '"speed-fill"',
+            '"speed-line"',
+            '"speed-mini-fill"',
+            '"speed-mini-line"',
+            '"split-cells-horizontal"',
+            '"split-cells-vertical"',
+            '"spotify-fill"',
+            '"spotify-line"',
+            '"spy-fill"',
+            '"spy-line"',
+            '"stack-fill"',
+            '"stack-line"',
+            '"stack-overflow-fill"',
+            '"stack-overflow-line"',
+            '"stackshare-fill"',
+            '"stackshare-line"',
+            '"star-fill"',
+            '"star-half-fill"',
+            '"star-half-line"',
+            '"star-half-s-fill"',
+            '"star-half-s-line"',
+            '"star-line"',
+            '"star-s-fill"',
+            '"star-s-line"',
+            '"star-smile-fill"',
+            '"star-smile-line"',
+            '"steam-fill"',
+            '"steam-line"',
+            '"steering-2-fill"',
+            '"steering-2-line"',
+            '"steering-fill"',
+            '"steering-line"',
+            '"stethoscope-fill"',
+            '"stethoscope-line"',
+            '"sticky-note-2-fill"',
+            '"sticky-note-2-line"',
+            '"sticky-note-fill"',
+            '"sticky-note-line"',
+            '"stock-fill"',
+            '"stock-line"',
+            '"stop-circle-fill"',
+            '"stop-circle-line"',
+            '"stop-fill"',
+            '"stop-line"',
+            '"stop-mini-fill"',
+            '"stop-mini-line"',
+            '"store-2-fill"',
+            '"store-2-line"',
+            '"store-3-fill"',
+            '"store-3-line"',
+            '"store-fill"',
+            '"store-line"',
+            '"strikethrough-2"',
+            '"strikethrough"',
+            '"subscript-2"',
+            '"subscript"',
+            '"subtract-fill"',
+            '"subtract-line"',
+            '"subway-fill"',
+            '"subway-line"',
+            '"subway-wifi-fill"',
+            '"subway-wifi-line"',
+            '"suitcase-2-fill"',
+            '"suitcase-2-line"',
+            '"suitcase-3-fill"',
+            '"suitcase-3-line"',
+            '"suitcase-fill"',
+            '"suitcase-line"',
+            '"sun-cloudy-fill"',
+            '"sun-cloudy-line"',
+            '"sun-fill"',
+            '"sun-foggy-fill"',
+            '"sun-foggy-line"',
+            '"sun-line"',
+            '"superscript-2"',
+            '"superscript"',
+            '"surgical-mask-fill"',
+            '"surgical-mask-line"',
+            '"surround-sound-fill"',
+            '"surround-sound-line"',
+            '"survey-fill"',
+            '"survey-line"',
+            '"swap-box-fill"',
+            '"swap-box-line"',
+            '"swap-fill"',
+            '"swap-line"',
+            '"switch-fill"',
+            '"switch-line"',
+            '"sword-fill"',
+            '"sword-line"',
+            '"syringe-fill"',
+            '"syringe-line"',
+            '"t-box-fill"',
+            '"t-box-line"',
+            '"t-shirt-2-fill"',
+            '"t-shirt-2-line"',
+            '"t-shirt-air-fill"',
+            '"t-shirt-air-line"',
+            '"t-shirt-fill"',
+            '"t-shirt-line"',
+            '"table-2"',
+            '"table-alt-fill"',
+            '"table-alt-line"',
+            '"table-fill"',
+            '"table-line"',
+            '"tablet-fill"',
+            '"tablet-line"',
+            '"takeaway-fill"',
+            '"takeaway-line"',
+            '"taobao-fill"',
+            '"taobao-line"',
+            '"tape-fill"',
+            '"tape-line"',
+            '"task-fill"',
+            '"task-line"',
+            '"taxi-fill"',
+            '"taxi-line"',
+            '"taxi-wifi-fill"',
+            '"taxi-wifi-line"',
+            '"team-fill"',
+            '"team-line"',
+            '"telegram-fill"',
+            '"telegram-line"',
+            '"temp-cold-fill"',
+            '"temp-cold-line"',
+            '"temp-hot-fill"',
+            '"temp-hot-line"',
+            '"terminal-box-fill"',
+            '"terminal-box-line"',
+            '"terminal-fill"',
+            '"terminal-line"',
+            '"terminal-window-fill"',
+            '"terminal-window-line"',
+            '"test-tube-fill"',
+            '"test-tube-line"',
+            '"text-direction-l"',
+            '"text-direction-r"',
+            '"text-spacing"',
+            '"text-wrap"',
+            '"text"',
+            '"thermometer-fill"',
+            '"thermometer-line"',
+            '"thumb-down-fill"',
+            '"thumb-down-line"',
+            '"thumb-up-fill"',
+            '"thumb-up-line"',
+            '"thunderstorms-fill"',
+            '"thunderstorms-line"',
+            '"ticket-2-fill"',
+            '"ticket-2-line"',
+            '"ticket-fill"',
+            '"ticket-line"',
+            '"time-fill"',
+            '"time-line"',
+            '"timer-2-fill"',
+            '"timer-2-line"',
+            '"timer-fill"',
+            '"timer-flash-fill"',
+            '"timer-flash-line"',
+            '"timer-line"',
+            '"todo-fill"',
+            '"todo-line"',
+            '"toggle-fill"',
+            '"toggle-line"',
+            '"tools-fill"',
+            '"tools-line"',
+            '"tornado-fill"',
+            '"tornado-line"',
+            '"trademark-fill"',
+            '"trademark-line"',
+            '"traffic-light-fill"',
+            '"traffic-light-line"',
+            '"train-fill"',
+            '"train-line"',
+            '"train-wifi-fill"',
+            '"train-wifi-line"',
+            '"translate-2"',
+            '"translate"',
+            '"travesti-fill"',
+            '"travesti-line"',
+            '"treasure-map-fill"',
+            '"treasure-map-line"',
+            '"trello-fill"',
+            '"trello-line"',
+            '"trophy-fill"',
+            '"trophy-line"',
+            '"truck-fill"',
+            '"truck-line"',
+            '"tumblr-fill"',
+            '"tumblr-line"',
+            '"tv-2-fill"',
+            '"tv-2-line"',
+            '"tv-fill"',
+            '"tv-line"',
+            '"twitch-fill"',
+            '"twitch-line"',
+            '"twitter-fill"',
+            '"twitter-line"',
+            '"typhoon-fill"',
+            '"typhoon-line"',
+            '"u-disk-fill"',
+            '"u-disk-line"',
+            '"ubuntu-fill"',
+            '"ubuntu-line"',
+            '"umbrella-fill"',
+            '"umbrella-line"',
+            '"underline"',
+            '"uninstall-fill"',
+            '"uninstall-line"',
+            '"unsplash-fill"',
+            '"unsplash-line"',
+            '"upload-2-fill"',
+            '"upload-2-line"',
+            '"upload-cloud-2-fill"',
+            '"upload-cloud-2-line"',
+            '"upload-cloud-fill"',
+            '"upload-cloud-line"',
+            '"upload-fill"',
+            '"upload-line"',
+            '"usb-fill"',
+            '"usb-line"',
+            '"user-2-fill"',
+            '"user-2-line"',
+            '"user-3-fill"',
+            '"user-3-line"',
+            '"user-4-fill"',
+            '"user-4-line"',
+            '"user-5-fill"',
+            '"user-5-line"',
+            '"user-6-fill"',
+            '"user-6-line"',
+            '"user-add-fill"',
+            '"user-add-line"',
+            '"user-fill"',
+            '"user-follow-fill"',
+            '"user-follow-line"',
+            '"user-heart-fill"',
+            '"user-heart-line"',
+            '"user-line"',
+            '"user-location-fill"',
+            '"user-location-line"',
+            '"user-received-2-fill"',
+            '"user-received-2-line"',
+            '"user-received-fill"',
+            '"user-received-line"',
+            '"user-search-fill"',
+            '"user-search-line"',
+            '"user-settings-fill"',
+            '"user-settings-line"',
+            '"user-shared-2-fill"',
+            '"user-shared-2-line"',
+            '"user-shared-fill"',
+            '"user-shared-line"',
+            '"user-smile-fill"',
+            '"user-smile-line"',
+            '"user-star-fill"',
+            '"user-star-line"',
+            '"user-unfollow-fill"',
+            '"user-unfollow-line"',
+            '"user-voice-fill"',
+            '"user-voice-line"',
+            '"video-add-fill"',
+            '"video-add-line"',
+            '"video-chat-fill"',
+            '"video-chat-line"',
+            '"video-download-fill"',
+            '"video-download-line"',
+            '"video-fill"',
+            '"video-line"',
+            '"video-upload-fill"',
+            '"video-upload-line"',
+            '"vidicon-2-fill"',
+            '"vidicon-2-line"',
+            '"vidicon-fill"',
+            '"vidicon-line"',
+            '"vimeo-fill"',
+            '"vimeo-line"',
+            '"vip-crown-2-fill"',
+            '"vip-crown-2-line"',
+            '"vip-crown-fill"',
+            '"vip-crown-line"',
+            '"vip-diamond-fill"',
+            '"vip-diamond-line"',
+            '"vip-fill"',
+            '"vip-line"',
+            '"virus-fill"',
+            '"virus-line"',
+            '"visa-fill"',
+            '"visa-line"',
+            '"voice-recognition-fill"',
+            '"voice-recognition-line"',
+            '"voiceprint-fill"',
+            '"voiceprint-line"',
+            '"volume-down-fill"',
+            '"volume-down-line"',
+            '"volume-mute-fill"',
+            '"volume-mute-line"',
+            '"volume-off-vibrate-fill"',
+            '"volume-off-vibrate-line"',
+            '"volume-up-fill"',
+            '"volume-up-line"',
+            '"volume-vibrate-fill"',
+            '"volume-vibrate-line"',
+            '"vuejs-fill"',
+            '"vuejs-line"',
+            '"walk-fill"',
+            '"walk-line"',
+            '"wallet-2-fill"',
+            '"wallet-2-line"',
+            '"wallet-3-fill"',
+            '"wallet-3-line"',
+            '"wallet-fill"',
+            '"wallet-line"',
+            '"water-flash-fill"',
+            '"water-flash-line"',
+            '"webcam-fill"',
+            '"webcam-line"',
+            '"wechat-2-fill"',
+            '"wechat-2-line"',
+            '"wechat-fill"',
+            '"wechat-line"',
+            '"wechat-pay-fill"',
+            '"wechat-pay-line"',
+            '"weibo-fill"',
+            '"weibo-line"',
+            '"whatsapp-fill"',
+            '"whatsapp-line"',
+            '"wheelchair-fill"',
+            '"wheelchair-line"',
+            '"wifi-fill"',
+            '"wifi-line"',
+            '"wifi-off-fill"',
+            '"wifi-off-line"',
+            '"window-2-fill"',
+            '"window-2-line"',
+            '"window-fill"',
+            '"window-line"',
+            '"windows-fill"',
+            '"windows-line"',
+            '"windy-fill"',
+            '"windy-line"',
+            '"wireless-charging-fill"',
+            '"wireless-charging-line"',
+            '"women-fill"',
+            '"women-line"',
+            '"wubi-input"',
+            '"xbox-fill"',
+            '"xbox-line"',
+            '"xing-fill"',
+            '"xing-line"',
+            '"youtube-fill"',
+            '"youtube-line"',
+            '"zcool-fill"',
+            '"zcool-line"',
+            '"zhihu-fill"',
+            '"zhihu-line"',
+            '"zoom-in-fill"',
+            '"zoom-in-line"',
+            '"zoom-out-fill"',
+            '"zoom-out-line"',
+            '"zzz-fill"',
+            '"zzz-line"',
+        ],
+    ],
+];

+ 77 - 94
table/menu.php

@@ -1,94 +1,77 @@
-<?php
-return array
-(
-    'name' => '菜单',
-    'order' => 'sort asc',
-    'struct' => array
-    (
-        'name' => array
-        (
-            'name'      => '名称',
-            'type'      => 'varchar(32)',
-        ),
-        'key' => array
-        (
-            'name'      => '标识',
-            'type'      => 'varchar(32)',
-        ),
-        'app' => array
-        (
-            'name'      => '项目',
-            'type'      => 'varchar(32)',
-            'value'     => '\\Dever\\Project::read()',
-        ),
-        'parent_id' => array
-        (
-            'name'      => '上级菜单',
-            'type'      => 'int(11)',
-            'default'   => '0',
-        ),
-        'module_id' => array
-        (
-            'name'      => '系统模块',
-            'type'      => 'varchar(80)',
-        ),
-        'path' => array
-        (
-            'name'      => '路径',
-            'type'      => 'varchar(200)',
-            'default'   => 'main',
-            'value'     => array
-            (
-                'main' => '列表页',
-                'update' => '更新页',
-                'stat' => '统计页',
-                'layout' => '自定义页',
-                'link' => '链接',
-            ),
-        ),
-        'link' => array
-        (
-            'name'      => '链接',
-            'type'      => 'varchar(2000)',
-        ),
-        'icon' => array
-        (
-            'name'      => '图标',
-            'type'      => 'varchar(150)',
-        ),
-        'badge' => array
-        (
-            'name'      => '标签',
-            'type'      => 'varchar(32)',
-        ),
-        'sort' => array
-        (
-            'name'      => '排序',
-            'type'      => 'int(11)',
-        ),
-        'show' => array
-        (
-            'name'      => '是否展示',
-            'type'      => 'tinyint(1)',
-            'default'   => 1,
-            'value'     => array
-            (
-                1 => '展示',
-                2 => '不展示',
-                3 => '隐藏',
-            ),
-        ),
-        'func' => array
-        (
-            'name'      => '是否有功能菜单',
-            'type'      => 'tinyint(1)',
-            'default'   => 2,
-        ),
-        'level' => array
-        (
-            'name'      => '层级',
-            'type'      => 'tinyint(11)',
-            'default'   => '1',
-        ),
-    ),
-);
+<?php
+return [
+    'name' => '菜单',
+    'order' => 'sort asc',
+    'struct' => [
+        'name' => [
+            'name'      => '名称',
+            'type'      => 'varchar(32)',
+        ],
+        'key' => [
+            'name'      => '标识',
+            'type'      => 'varchar(32)',
+        ],
+        'app' => [
+            'name'      => '项目',
+            'type'      => 'varchar(32)',
+            'value'     => '\\Dever\\Project::read()',
+        ],
+        'parent_id' => [
+            'name'      => '上级菜单',
+            'type'      => 'int(11)',
+            'default'   => '0',
+        ],
+        'module_id' => [
+            'name'      => '系统模块',
+            'type'      => 'varchar(80)',
+        ],
+        'path' => [
+            'name'      => '路径',
+            'type'      => 'varchar(200)',
+            'default'   => 'main',
+            'value'     => [
+                'main' => '列表页',
+                'update' => '更新页',
+                'stat' => '统计页',
+                'layout' => '自定义页',
+                'link' => '链接',
+            ],
+        ],
+        'link' => [
+            'name'      => '链接',
+            'type'      => 'varchar(2000)',
+        ],
+        'icon' => [
+            'name'      => '图标',
+            'type'      => 'varchar(150)',
+        ],
+        'badge' => [
+            'name'      => '标签',
+            'type'      => 'varchar(32)',
+        ],
+        'sort' => [
+            'name'      => '排序',
+            'type'      => 'int(11)',
+        ],
+        'show' => [
+            'name'      => '是否展示',
+            'type'      => 'tinyint(1)',
+            'default'   => 1,
+            'value'     => [
+                1 => '展示',
+                2 => '不展示',
+                3 => '隐藏',
+            ],
+        ],
+        'func' => [
+            'name'      => '是否有功能菜单',
+            'type'      => 'tinyint(1)',
+            'default'   => 2,
+        ],
+        'level' => [
+            'name'      => '层级',
+            'type'      => 'tinyint(11)',
+            'default'   => '1',
+        ],
+    ],
+];

+ 26 - 33
table/menu_func.php

@@ -1,33 +1,26 @@
-<?php
-return array
-(
-    'name' => '功能',
-    'order' => 'sort asc',
-    'struct' => array
-    (
-        'name' => array
-        (
-            'name'      => '名称',
-            'type'      => 'varchar(32)',
-        ),
-        'key' => array
-        (
-            'name'      => '标识',
-            'type'      => 'varchar(80)',
-        ),
-        'menu_id' => array
-        (
-            'name'      => '菜单id',
-            'type'      => 'int(11)',
-        ),
-        'sort' => array
-        (
-            'name'      => '排序',
-            'type'      => 'int(11)',
-        ),
-    ),
-    'index' => array
-    (
-        'search' => 'menu_id,`key`',
-    ),
-);
+<?php
+return [
+    'name' => '功能',
+    'order' => 'sort asc',
+    'struct' => [
+        'name' => [
+            'name'      => '名称',
+            'type'      => 'varchar(32)',
+        ],
+        'key' => [
+            'name'      => '标识',
+            'type'      => 'varchar(80)',
+        ],
+        'menu_id' => [
+            'name'      => '菜单id',
+            'type'      => 'int(11)',
+        ],
+        'sort' => [
+            'name'      => '排序',
+            'type'      => 'int(11)',
+        ],
+    ],
+    'index' => [
+        'search' => 'menu_id,`key`',
+    ],
+];

+ 28 - 35
table/platform.php

@@ -1,35 +1,28 @@
-<?php
-return array
-(
-    # 暂时是单一平台,后续优化成多平台
-    'name' => '平台',
-    'order' => 'sort asc',
-    'struct' => array
-    (
-        'name' => array
-        (
-            'name'      => '平台名称',
-            'type'      => 'varchar(32)',
-        ),
-        'number' => array
-        (
-            'name'      => '集团号',
-            'type'      => 'varchar(32)',
-        ),
-        'sort' => array
-        (
-            'name'      => '排序',
-            'type'      => 'int(11)',
-            'default'   => '1',
-        ),
-    ),
-    'default' => array
-    (
-        'field' => 'id,name,number,sort,cdate',
-        'value' => array
-        (
-            '1,"默认平台","default",-100,' . DEVER_TIME,
-        ),
-        'num' => 1,
-    ),
-);
+<?php
+return [
+    # 暂时是单一平台,后续优化成多平台
+    'name' => '平台',
+    'order' => 'sort asc',
+    'struct' => [
+        'name' => [
+            'name'      => '平台名称',
+            'type'      => 'varchar(32)',
+        ],
+        'number' => [
+            'name'      => '集团号',
+            'type'      => 'varchar(32)',
+        ],
+        'sort' => [
+            'name'      => '排序',
+            'type'      => 'int(11)',
+            'default'   => '1',
+        ],
+    ],
+    'default' => [
+        'field' => 'id,name,number,sort,cdate',
+        'value' => [
+            '1,"默认平台","default",-100,' . DEVER_TIME,
+        ],
+        'num' => 1,
+    ],
+];

+ 18 - 23
table/recycler.php

@@ -1,23 +1,18 @@
-<?php
-return array
-(
-    'name' => '回收站',
-    'struct' => array
-    (
-        'table' => array
-        (
-            'name'      => '表名',
-            'type'      => 'varchar(80)',
-        ),
-        'table_id' => array
-        (
-            'name'      => '表id',
-            'type'      => 'int(11)',
-        ),
-        'content' => array
-        (
-            'name'      => '表内容',
-            'type'      => 'text(255)',
-        ),
-    ),
-);
+<?php
+return [
+    'name' => '回收站',
+    'struct' => [
+        'table' => [
+            'name'      => '表名',
+            'type'      => 'varchar(80)',
+        ],
+        'table_id' => [
+            'name'      => '表id',
+            'type'      => 'int(11)',
+        ],
+        'content' => [
+            'name'      => '表内容',
+            'type'      => 'text(255)',
+        ],
+    ],
+];

+ 30 - 38
table/role.php

@@ -1,38 +1,30 @@
-<?php
-return array
-(
-    'name' => '平台角色',
-    'struct' => array
-    (
-        'name' => array
-        (
-            'name'      => '名称',
-            'type'      => 'varchar(32)',
-        ),
-        'module' => array
-        (
-            'name'      => '系统模块',
-            'type'      => 'varchar(2000)',
-        ),
-        'menu' => array
-        (
-            'name'      => '菜单',
-            'type'      => 'text',
-        ),
-        'auth' => array
-        (
-            'name'      => '权限',
-            'type'      => 'text',
-            'value'    => 'Dever::call("manage/role.getAuthData")',
-        ),
-    ),
-    'default' => array
-    (
-        'field' => 'name,module,cdate',
-        'value' => array
-        (
-            '"默认角色",1,' . DEVER_TIME,
-        ),
-        'num' => 1,
-    ),
-);
+<?php
+return [
+    'name' => '平台角色',
+    'struct' => [
+        'name' => [
+            'name'      => '名称',
+            'type'      => 'varchar(32)',
+        ],
+        'module' => [
+            'name'      => '系统模块',
+            'type'      => 'varchar(2000)',
+        ],
+        'menu' => [
+            'name'      => '菜单',
+            'type'      => 'text',
+        ],
+        'auth' => [
+            'name'      => '权限',
+            'type'      => 'text',
+            'value'    => 'Dever::call("manage/role.getAuthData")',
+        ],
+    ],
+    'default' => [
+        'field' => 'name,module,cdate',
+        'value' => [
+            '"默认角色",1,' . DEVER_TIME,
+        ],
+        'num' => 1,
+    ],
+];

+ 52 - 64
table/system.php

@@ -1,64 +1,52 @@
-<?php
-return array
-(
-    'name' => '系统',
-    'order' => 'sort asc',
-    'struct' => array
-    (
-        'name' => array
-        (
-            'name'      => '系统名称',
-            'type'      => 'varchar(32)',
-        ),
-        'key' => array
-        (
-            'name'      => '系统标识',
-            'type'      => 'varchar(32)',
-        ),
-        'partition' => array
-        (
-            'name'      => '数据隔离类型',
-            'type'      => 'varchar(20)',
-            'default'   => 'no',
-            'value'     => array
-            (
-                'no'    => '不做数据隔离',
-                'database' => '分库隔离',
-                'table' => '分表隔离',
-                'field' => '分区隔离',
-                'where' => '分条件隔离',
-            ),
-        ),
-        'info_table' => array
-        (
-            'name'      => '基本信息表名',
-            'type'      => 'varchar(100)',
-        ),
-        'user_table' => array
-        (
-            'name'      => '用户表表名',
-            'type'      => 'varchar(100)',
-        ),
-        'role_table' => array
-        (
-            'name'      => '角色表表名',
-            'type'      => 'varchar(100)',
-        ),
-        'sort' => array
-        (
-            'name'      => '排序',
-            'type'      => 'int(11)',
-        ),
-    ),
-
-    'default' => array
-    (
-        'field' => 'id,name,`key`,`partition`,info_table,user_table,role_table,sort',
-        'value' => array
-        (
-            '1,"平台系统","platform","no","manage/platform","manage/admin","manage/role",-1000',
-            '2,"集团系统","group","database","manage/group","manage/group_user","manage/group_role",-900',
-        ),
-        'num' => 1,
-    ),
-);
+<?php
+return [
+    'name' => '系统',
+    'order' => 'sort asc',
+    'struct' => [
+        'name' => [
+            'name'      => '系统名称',
+            'type'      => 'varchar(32)',
+        ],
+        'key' => [
+            'name'      => '系统标识',
+            'type'      => 'varchar(32)',
+        ],
+        'partition' => [
+            'name'      => '数据隔离类型',
+            'type'      => 'varchar(20)',
+            'default'   => 'no',
+            'value'     => [
+                'no'    => '不做数据隔离',
+                'database' => '分库隔离',
+                'table' => '分表隔离',
+                'field' => '分区隔离',
+                'where' => '分条件隔离',
+            ],
+        ],
+        'info_table' => [
+            'name'      => '基本信息表名',
+            'type'      => 'varchar(100)',
+        ],
+        'user_table' => [
+            'name'      => '用户表表名',
+            'type'      => 'varchar(100)',
+        ],
+        'role_table' => [
+            'name'      => '角色表表名',
+            'type'      => 'varchar(100)',
+        ],
+        'sort' => [
+            'name'      => '排序',
+            'type'      => 'int(11)',
+        ],
+    ],
+
+    'default' => [
+        'field' => 'id,name,`key`,`partition`,info_table,user_table,role_table,sort',
+        'value' => [
+            '1,"平台系统","platform","no","manage/platform","manage/admin","manage/role",-1000',
+            '2,"集团系统","group","database","manage/group","manage/group_user","manage/group_role",-900',
+        ],
+        'num' => 1,
+    ],
+];

+ 40 - 50
table/system_module.php

@@ -1,50 +1,40 @@
-<?php
-return array
-(
-    'name' => '系统模块',
-    'order' => 'sort asc',
-    'struct' => array
-    (
-        'name' => array
-        (
-            'name'      => '模块名称',
-            'type'      => 'varchar(32)',
-        ),
-        'key' => array
-        (
-            'name'      => '模块标识',
-            'type'      => 'varchar(32)',
-        ),
-        'system' => array
-        (
-            'name'      => '系统标识',
-            'type'      => 'varchar(100)',
-        ),
-        'data_table' => array
-        (
-            'name'      => '模块下数据表名',
-            'type'      => 'varchar(100)',
-        ),
-        'data_where' => array
-        (
-            'name'      => '模块下数据表的获取数据方式,为空则获取所有',
-            'type'      => 'varchar(2000)',
-        ),
-        'sort' => array
-        (
-            'name'      => '排序',
-            'type'      => 'int(11)',
-        ),
-    ),
-
-    'default' => array
-    (
-        'field' => 'id,name,`key`,system,data_table,sort',
-        'value' => array
-        (
-            '1,"平台","platform","platform","manage/platform",-1000',
-            '2,"集团","group","group","manage/group",-900',
-        ),
-        'num' => 1,
-    ),
-);
+<?php
+return [
+    'name' => '系统模块',
+    'order' => 'sort asc',
+    'struct' => [
+        'name' => [
+            'name'      => '模块名称',
+            'type'      => 'varchar(32)',
+        ],
+        'key' => [
+            'name'      => '模块标识',
+            'type'      => 'varchar(32)',
+        ],
+        'system' => [
+            'name'      => '系统标识',
+            'type'      => 'varchar(100)',
+        ],
+        'data_table' => [
+            'name'      => '模块下数据表名',
+            'type'      => 'varchar(100)',
+        ],
+        'data_where' => [
+            'name'      => '模块下数据表的获取数据方式,为空则获取所有',
+            'type'      => 'varchar(2000)',
+        ],
+        'sort' => [
+            'name'      => '排序',
+            'type'      => 'int(11)',
+        ],
+    ],
+
+    'default' => [
+        'field' => 'id,name,`key`,system,data_table,sort',
+        'value' => [
+            '1,"平台","platform","platform","manage/platform",-1000',
+            '2,"集团","group","group","manage/group",-900',
+        ],
+        'num' => 1,
+    ],
+];

+ 26 - 33
table/system_user.php

@@ -1,33 +1,26 @@
-<?php
-return array
-(
-    'name' => '账户模块记录表',
-    'struct' => array
-    (
-        'uid' => array
-        (
-            'name'      => '账户id',
-            'type'      => 'int(11)',
-        ),
-        'system_id' => array
-        (
-            'name'      => '系统id',
-            'type'      => 'int(11)',
-        ),
-        'info_id' => array
-        (
-            'name'      => '系统信息表id',
-            'type'      => 'int(11)',
-        ),
-        'module_id' => array
-        (
-            'name'      => '模块id',
-            'type'      => 'int(11)',
-        ),
-        'data_id' => array
-        (
-            'name'      => '模块数据id',
-            'type'      => 'int(11)',
-        ),
-    ),
-);
+<?php
+return [
+    'name' => '账户模块记录表',
+    'struct' => [
+        'uid' => [
+            'name'      => '账户id',
+            'type'      => 'int(11)',
+        ],
+        'system_id' => [
+            'name'      => '系统id',
+            'type'      => 'int(11)',
+        ],
+        'info_id' => [
+            'name'      => '系统信息表id',
+            'type'      => 'int(11)',
+        ],
+        'module_id' => [
+            'name'      => '模块id',
+            'type'      => 'int(11)',
+        ],
+        'data_id' => [
+            'name'      => '模块数据id',
+            'type'      => 'int(11)',
+        ],
+    ],
+];