diff --git a/.vscode/extensions.json b/.vscode/extensions.json index a7cea0b0678120a1b590d1b6592c7318039b9179..b755a5962a952a53e6a04aab26fd4155a15146dc 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -1,3 +1,6 @@ { - "recommendations": ["Vue.volar"] + "recommendations": [ + "Vue.volar", + "antfu.pnpm-catalog-lens" + ] } diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..3c871743a652d34aac592a4aa9ffb5af074c9be1 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2024 sig-OpenDesign + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/LICENSE.md b/LICENSE.md deleted file mode 100644 index c5f25be3d91f5c87d9323cfced70ae13a02b6d32..0000000000000000000000000000000000000000 --- a/LICENSE.md +++ /dev/null @@ -1,171 +0,0 @@ -# Creative Commons Attribution-ShareAlike 4.0 International - -Creative Commons Corporation (“Creative Commons”) is not a law firm and does not provide legal services or legal advice. Distribution of Creative Commons public licenses does not create a lawyer-client or other relationship. Creative Commons makes its licenses and related information available on an “as-is” basis. Creative Commons gives no warranties regarding its licenses, any material licensed under their terms and conditions, or any related information. Creative Commons disclaims all liability for damages resulting from their use to the fullest extent possible. - -### Using Creative Commons Public Licenses - -Creative Commons public licenses provide a standard set of terms and conditions that creators and other rights holders may use to share original works of authorship and other material subject to copyright and certain other rights specified in the public license below. The following considerations are for informational purposes only, are not exhaustive, and do not form part of our licenses. - -* __Considerations for licensors:__ Our public licenses are intended for use by those authorized to give the public permission to use material in ways otherwise restricted by copyright and certain other rights. Our licenses are irrevocable. Licensors should read and understand the terms and conditions of the license they choose before applying it. Licensors should also secure all rights necessary before applying our licenses so that the public can reuse the material as expected. Licensors should clearly mark any material not subject to the license. This includes other CC-licensed material, or material used under an exception or limitation to copyright. [More considerations for licensors](http://wiki.creativecommons.org/Considerations_for_licensors_and_licensees#Considerations_for_licensors). - -* __Considerations for the public:__ By using one of our public licenses, a licensor grants the public permission to use the licensed material under specified terms and conditions. If the licensor’s permission is not necessary for any reason–for example, because of any applicable exception or limitation to copyright–then that use is not regulated by the license. Our licenses grant only permissions under copyright and certain other rights that a licensor has authority to grant. Use of the licensed material may still be restricted for other reasons, including because others have copyright or other rights in the material. A licensor may make special requests, such as asking that all changes be marked or described. Although not required by our licenses, you are encouraged to respect those requests where reasonable. [More considerations for the public](http://wiki.creativecommons.org/Considerations_for_licensors_and_licensees#Considerations_for_licensees). - -## Creative Commons Attribution-ShareAlike 4.0 International Public License - -By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons Attribution-ShareAlike 4.0 International Public License ("Public License"). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions. - -### Section 1 – Definitions. - -a. __Adapted Material__ means material subject to Copyright and Similar Rights that is derived from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work, performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in timed relation with a moving image. - -b. __Adapter's License__ means the license You apply to Your Copyright and Similar Rights in Your contributions to Adapted Material in accordance with the terms and conditions of this Public License. - -c. __BY-SA Compatible License__ means a license listed at [creativecommons.org/compatiblelicenses](http://creativecommons.org/compatiblelicenses), approved by Creative Commons as essentially the equivalent of this Public License. - -d. __Copyright and Similar Rights__ means copyright and/or similar rights closely related to copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database Rights, without regard to how the rights are labeled or categorized. For purposes of this Public License, the rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights. - -e. __Effective Technological Measures__ means those measures that, in the absence of proper authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, and/or similar international agreements. - -f. __Exceptions and Limitations__ means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material. - -g. __License Elements__ means the license attributes listed in the name of a Creative Commons Public License. The License Elements of this Public License are Attribution and ShareAlike. - -h. __Licensed Material__ means the artistic or literary work, database, or other material to which the Licensor applied this Public License. - -i. __Licensed Rights__ means the rights granted to You subject to the terms and conditions of this Public License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed Material and that the Licensor has authority to license. - -j. __Licensor__ means the individual(s) or entity(ies) granting rights under this Public License. - -k. __Share__ means to provide material to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, distribution, dissemination, communication, or importation, and to make material available to the public including in ways that members of the public may access the material from a place and at a time individually chosen by them. - -l. __Sui Generis Database Rights__ means rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world. - -m. __You__ means the individual or entity exercising the Licensed Rights under this Public License. __Your__ has a corresponding meaning. - -### Section 2 – Scope. - -a. ___License grant.___ - - 1. Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Licensed Material to: - - A. reproduce and Share the Licensed Material, in whole or in part; and - - B. produce, reproduce, and Share Adapted Material. - - 2. __Exceptions and Limitations.__ For the avoidance of doubt, where Exceptions and Limitations apply to Your use, this Public License does not apply, and You do not need to comply with its terms and conditions. - - 3. __Term.__ The term of this Public License is specified in Section 6(a). - - 4. __Media and formats; technical modifications allowed.__ The Licensor authorizes You to exercise the Licensed Rights in all media and formats whether now known or hereafter created, and to make technical modifications necessary to do so. The Licensor waives and/or agrees not to assert any right or authority to forbid You from making technical modifications necessary to exercise the Licensed Rights, including technical modifications necessary to circumvent Effective Technological Measures. For purposes of this Public License, simply making modifications authorized by this Section 2(a)(4) never produces Adapted Material. - - 5. __Downstream recipients.__ - - A. __Offer from the Licensor – Licensed Material.__ Every recipient of the Licensed Material automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and conditions of this Public License. - - B. __Additional offer from the Licensor – Adapted Material.__ Every recipient of Adapted Material from You automatically receives an offer from the Licensor to exercise the Licensed Rights in the Adapted Material under the conditions of the Adapter’s License You apply. - - C. __No downstream restrictions.__ You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing so restricts exercise of the Licensed Rights by any recipient of the Licensed Material. - - 6. __No endorsement.__ Nothing in this Public License constitutes or may be construed as permission to assert or imply that You are, or that Your use of the Licensed Material is, connected with, or sponsored, endorsed, or granted official status by, the Licensor or others designated to receive attribution as provided in Section 3(a)(1)(A)(i). - -b. ___Other rights.___ - - 1. Moral rights, such as the right of integrity, are not licensed under this Public License, nor are publicity, privacy, and/or other similar personality rights; however, to the extent possible, the Licensor waives and/or agrees not to assert any such rights held by the Licensor to the limited extent necessary to allow You to exercise the Licensed Rights, but not otherwise. - - 2. Patent and trademark rights are not licensed under this Public License. - - 3. To the extent possible, the Licensor waives any right to collect royalties from You for the exercise of the Licensed Rights, whether directly or through a collecting society under any voluntary or waivable statutory or compulsory licensing scheme. In all other cases the Licensor expressly reserves any right to collect such royalties. - -### Section 3 – License Conditions. - -Your exercise of the Licensed Rights is expressly made subject to the following conditions. - -a. ___Attribution.___ - - 1. If You Share the Licensed Material (including in modified form), You must: - - A. retain the following if it is supplied by the Licensor with the Licensed Material: - - i. identification of the creator(s) of the Licensed Material and any others designated to receive attribution, in any reasonable manner requested by the Licensor (including by pseudonym if designated); - - ii. a copyright notice; - - iii. a notice that refers to this Public License; - - iv. a notice that refers to the disclaimer of warranties; - - v. a URI or hyperlink to the Licensed Material to the extent reasonably practicable; - - B. indicate if You modified the Licensed Material and retain an indication of any previous modifications; and - - C. indicate the Licensed Material is licensed under this Public License, and include the text of, or the URI or hyperlink to, this Public License. - - 2. You may satisfy the conditions in Section 3(a)(1) in any reasonable manner based on the medium, means, and context in which You Share the Licensed Material. For example, it may be reasonable to satisfy the conditions by providing a URI or hyperlink to a resource that includes the required information. - - 3. If requested by the Licensor, You must remove any of the information required by Section 3(a)(1)(A) to the extent reasonably practicable. - -b. ___ShareAlike.___ - -In addition to the conditions in Section 3(a), if You Share Adapted Material You produce, the following conditions also apply. - -1. The Adapter’s License You apply must be a Creative Commons license with the same License Elements, this version or later, or a BY-SA Compatible License. - -2. You must include the text of, or the URI or hyperlink to, the Adapter's License You apply. You may satisfy this condition in any reasonable manner based on the medium, means, and context in which You Share Adapted Material. - -3. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, Adapted Material that restrict exercise of the rights granted under the Adapter's License You apply. - -### Section 4 – Sui Generis Database Rights. - -Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material: - -a. for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, reuse, reproduce, and Share all or a substantial portion of the contents of the database; - -b. if You include all or a substantial portion of the database contents in a database in which You have Sui Generis Database Rights, then the database in which You have Sui Generis Database Rights (but not its individual contents) is Adapted Material, including for purposes of Section 3(b); and - -c. You must comply with the conditions in Section 3(a) if You Share all or a substantial portion of the contents of the database. - -For the avoidance of doubt, this Section 4 supplements and does not replace Your obligations under this Public License where the Licensed Rights include other Copyright and Similar Rights. - -### Section 5 – Disclaimer of Warranties and Limitation of Liability. - -a. __Unless otherwise separately undertaken by the Licensor, to the extent possible, the Licensor offers the Licensed Material as-is and as-available, and makes no representations or warranties of any kind concerning the Licensed Material, whether express, implied, statutory, or other. This includes, without limitation, warranties of title, merchantability, fitness for a particular purpose, non-infringement, absence of latent or other defects, accuracy, or the presence or absence of errors, whether or not known or discoverable. Where disclaimers of warranties are not allowed in full or in part, this disclaimer may not apply to You.__ - -b. __To the extent possible, in no event will the Licensor be liable to You on any legal theory (including, without limitation, negligence) or otherwise for any direct, special, indirect, incidental, consequential, punitive, exemplary, or other losses, costs, expenses, or damages arising out of this Public License or use of the Licensed Material, even if the Licensor has been advised of the possibility of such losses, costs, expenses, or damages. Where a limitation of liability is not allowed in full or in part, this limitation may not apply to You.__ - -c. The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability. - -### Section 6 – Term and Termination. - -a. This Public License applies for the term of the Copyright and Similar Rights licensed here. However, if You fail to comply with this Public License, then Your rights under this Public License terminate automatically. - -b. Where Your right to use the Licensed Material has terminated under Section 6(a), it reinstates: - - 1. automatically as of the date the violation is cured, provided it is cured within 30 days of Your discovery of the violation; or - - 2. upon express reinstatement by the Licensor. - - For the avoidance of doubt, this Section 6(b) does not affect any right the Licensor may have to seek remedies for Your violations of this Public License. - -c. For the avoidance of doubt, the Licensor may also offer the Licensed Material under separate terms or conditions or stop distributing the Licensed Material at any time; however, doing so will not terminate this Public License. - -d. Sections 1, 5, 6, 7, and 8 survive termination of this Public License. - -### Section 7 – Other Terms and Conditions. - -a. The Licensor shall not be bound by any additional or different terms or conditions communicated by You unless expressly agreed. - -b. Any arrangements, understandings, or agreements regarding the Licensed Material not stated herein are separate from and independent of the terms and conditions of this Public License. - -### Section 8 – Interpretation. - -a. For the avoidance of doubt, this Public License does not, and shall not be interpreted to, reduce, limit, restrict, or impose conditions on any use of the Licensed Material that could lawfully be made without permission under this Public License. - -b. To the extent possible, if any provision of this Public License is deemed unenforceable, it shall be automatically reformed to the minimum extent necessary to make it enforceable. If the provision cannot be reformed, it shall be severed from this Public License without affecting the enforceability of the remaining terms and conditions. - -c. No term or condition of this Public License will be waived and no failure to comply consented to unless expressly agreed to by the Licensor. - -d. Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority. - -> Creative Commons is not a party to its public licenses. Notwithstanding, Creative Commons may elect to apply one of its public licenses to material it publishes and in those instances will be considered the “Licensor.” The text of the Creative Commons public licenses is dedicated to the public domain under the [CC0 Public Domain Dedication](https://creativecommons.org/publicdomain/zero/1.0/legalcode). Except for the limited purpose of indicating that material is shared under a Creative Commons public license or as otherwise permitted by the Creative Commons policies published at [creativecommons.org/policies](http://creativecommons.org/policies), Creative Commons does not authorize the use of the trademark “Creative Commons” or any other trademark or logo of Creative Commons without its prior written consent including, without limitation, in connection with any unauthorized modifications to any of its public licenses or any other arrangements, understandings, or agreements concerning use of licensed material. For the avoidance of doubt, this paragraph does not form part of the public licenses. -> -> Creative Commons may be contacted at creativecommons.org. \ No newline at end of file diff --git a/package.json b/package.json index 87f342cb22575e04e4e0af7c6ee3a246a4f33481..bc8cb3696ccf3b50053f90a6391c65f0ec687ab6 100644 --- a/package.json +++ b/package.json @@ -2,30 +2,24 @@ "name": "opendesign-components", "version": "1.0.0", "description": "", + "license": "MIT", "scripts": { "test": "echo \"Error: no test specified\" && exit 1", - "dev": "pnpm --filter portal dev", - "dev:ak": "pnpm --filter portal-ak dev", - "dev:lib": "pnpm --filter @opensig/opendesign dev" + "dev": "pnpm -C packages/portal dev", + "dev:ak": "pnpm -C packages/portal-ak dev" }, - "keywords": [], - "author": "", - "license": "ISC", "dependencies": { - "normalize.css": "^8.0.1", - "vue": "^3.4.21", - "vue-router": "^4.3.0" + "normalize.css": "catalog:", + "vue": "catalog:", + "vue-router": "catalog:" }, "devDependencies": { - "@rushstack/eslint-patch": "^1.7.2", - "@types/node": "^20.11.22", - "@vitejs/plugin-vue": "^5.0.4", - "@vue/eslint-config-typescript": "^12.0.0", - "eslint": "^8.57.0", - "eslint-plugin-vue": "^9.22.0", - "sass": "^1.71.1", - "typescript": "~5.3.3", - "vite": "^5.1.4", - "vue-tsc": "^1.8.27" + "@rushstack/eslint-patch": "catalog:", + "@types/node": "catalog:", + "@vitejs/plugin-vue": "catalog:", + "@vue/eslint-config-typescript": "catalog:", + "eslint": "catalog:", + "eslint-plugin-vue": "catalog:", + "typescript": "catalog:" } } diff --git a/packages/docs/ReleaesNote.md b/packages/docs/ReleaesNote.opendesign.md similarity index 46% rename from packages/docs/ReleaesNote.md rename to packages/docs/ReleaesNote.opendesign.md index 77c1e06dd0e6104fc3fe2948f5b0bf41af01d552..59d95f3dd87da3448ea805e7438874f86ffebfaf 100644 --- a/packages/docs/ReleaesNote.md +++ b/packages/docs/ReleaesNote.opendesign.md @@ -1,110 +1,152 @@ -# 0.0.26 +# TODO -1. Card 去掉 titleMaxRow、detailMaxRow 属性,使用 css 变量设置: --card-title-max-row,--card-detail-max-row -2. Figure 去掉 position、fit 属性,使用 css 变量设置:--figure-fit --figure-position +1. pagination 支持 layout 控制顺序 +2. carousel 增加鼠标 hover 停止轮播功能,支持是否循环 todo +3. 级联重构 +4. virtualList 整改为 use-virtual-list +5. select 重构,通过 options 传列表数据 +6. table 支持虚拟滚动,支持固定列,固定行 +7. Tab 重构成分离 OTabs:OTabNav\OTabPane ? +8. dialog 移动端适配重构 +9. figure preview loading 状态、多图滑动预览,单图全尺寸拖动查看 -# 0.0.50 - 0620 +--- -1. 优化 clickoutside,支持 touch,popover 支持移动端 touch 触发隐藏 -2. popup 宽度限制改为相对于屏幕 -3. 修复上传组件重复选择同一文件,不触发 change 事件问题 -4. invalid 属性从 input-number 组件移到 input 组件 +# 1.0.0 -# 0.0.51 - +- feat -1. 修复 layer 组件在卸载时,未移除挂载目标的相关类; -2. 表格插槽支持自定义 td、th 内容; -3. 修复 pagination 跳转输入框能输入小数问题; -4. upload 增加 beforeSelect 入参 -5. 浮层蒙层共用,解决闪烁问题 todo +1. [scrollbar] 支持监听内部唯一子元素尺寸改变 +2. [collapse] 重构 Collapse,支持受控模式 +3. [input] 新增对外接口:focus,blur,clear,togglePassword,inputEl +4. [textarea] 新增暴露 focus、blur、clear 接口; -# 0.0.53 +- fix -# 0.0.56 +1. [input] 阻止点击眼睛图标的事件冒泡,修复密码框在切换显示密码时,与外层 popover 显示逻辑冲突问题; +2. [textarea] 修复 limit 样式错误;limit 文本在圆角为 pill 时文本溢出问题; +3. [input/textarea] 修复 OInput 及 OTextarea 在发送验证码读秒等场景中,无法使用输入法输入中文内容的 bug +4. [link] 保证基线对其的情况下实现图标对齐 +5. [input-number] 修复按钮宽度 +6. [figure] 优化默认播放图标 -1. collapse&menu 展开时高度设置为 auto; -2. toggle 支持单独使用; -3. 解决 dialog 移动端居中问题; -4. 取消 dropdown 内容左右边距; -5. 解决 cascader 滚动条重叠问题 +# 0.0.78 -# 0.0.57 +- fix -1. figure 支持视频封面、标题 -2. dialog 新增支持设置移动端半屏 +1. [common] 使用线上@opensig/open-scripts 进行构建 -# 0.0.58 +# 0.0.77 -1. figure 刷新播放图标 +- 无 -# 0.0.61 +# 0.0.76 -1. [table] 插槽更名:表头 th_xx; 表体 td_xx; -2. 移除废弃的 flex 组件 -3. 升级 vue 到 3.4 -4. [use-theme] 支持 SSR -5. [form] 修复提交按钮不触发校验问题 -6. [input] 解决输入框自动填充时背景颜色不正确的问题 +- fix -# 0.0.62 +1. [input/textarea] 修复点击清除按钮后,再点击其他区域无法失焦的问题;修复点击 prepend 和 append 区域无法触发失焦的问题 -1. [Carousel] 支持配置 pauseOnHover,控制是否在鼠标 hover 时,自动轮播停止,移除时恢复轮播 -2. [select] 支持下拉分组 -3. [upload] 支持 v-model 受控模式 -4. [scroller] 支持 css 变量控制滚动槽位置 +# 0.0.75 -# 0.0.63 +- feat -1. 支持组件国际化(en\cn) -2. 优化颜色变量 -3. [select|input|textarea] 优化交互样式 -4. [select] 修复无法默认选中 value 为 0 的 option -5. [upload] 移除 btnProps 属性 +1. [popover/opoup] adaptive 接口控制是否自动边缘适配; -# 0.0.64 +- fix -1. [select] 修复多选时 v-model 失效问题 #I9IJT2 +1. [popover/opoup] 修复闪烁问题; #IBXGTT +2. [textarea] 修复 textarea 高度设置问题; #IBXFY7 +3. [input] 修复 input 样式变量书写错误问题; -# 0.0.65 +# 0.0.74 -1. [select] 解决清除图标频繁动画触发的问题,修改下拉图标动效 -2. [button] 修复 disabled/loading 状态时仍然触发 submit 事件 -3. [table] 移除表格首尾间距样式 -4. [scroller] 不再导出 OScroller,增加 slot:thum\track -5. 更新全局 token 变量值 -6. 刷新部分英文文案 +- feat -# 0.0.66 +1. [Input/textarea] onInvalidChange 修改为 valueForInvalid;样式重构; +2. [scrollbar] scrollbar 新增 barClass 接口,支持自定义类; +3. [dialog] actions 支持设置 loading、disabled 属性;新增 css 变量--dlg-actions-justify 控制 actions 布局; -1. [scrollbar] 重构 scroller 及 scrollbar, 支持 hook useScrollbar、指令 vScrollbar +- fix -# 0.0.67 +1. [scrollbar] 修复频繁小段滚动时有几率会触发点击滚动轨道事件,导致滚动位置跳变; +2. [input] 修复 input 无法直接设置宽度问题; +3. [textarea] 修复 resize 时,文本域框可以调整到小于外容器宽度问题; +4. [tab] 修复 tab 标题动态变化时,滚动计算不正确问题; -1. [input] 重构 input,支持 autowidth,maxlength、minlength,无效值判断接口从 checkValid 更改为 validate,props 移除 parse -2. [textarea] 重构 textarea,长度限制提示支持国际化 +# 0.0.73 -# [open-scripts] 0.0.18 +- feat -1. 解决图标服务端渲染,无法绑定事件问题; -2. svgo 配置增加默认 prefixIds,用于解决老版本对 svg 图标 id 不能正常使用问题 +1. [pagination] change 事件参数调整为对象,兼容老版本; +2. [layer] buttonClose 默认值从 true 修改为 false; +3. [form] 导出表单 provide 的 key,可支持自定义表单项 -# [open-scripts] 0.0.19 +- fix -1. 修复 svg 文件名因空格、目录嵌套导致生成的 svg 组件被重名替换问题。 +1. [link] 解决图标和文字未居中对齐问题 +2. [input/textarea] 移除 beforeInput 属性; +3. [textarea] 修复 autoSize 下,设置最大高度后样式问题; 去掉 pressEnter 事件 +4. [form] 修复 model 重新赋值后,校验值未同步更新问题 -# 0.0.68 +# 0.0.72 -1. [Table] 插槽 head 更名为 header; -2. [pagination] 支持 total 插槽; -3. [scroller] 修复在设置 max-height 时无法滚动问题; -4. [textarea] 增加插槽 prepend、append,修复自动尺寸 bug;滚动使用 scroller; -5. [input/textarea] 修复样式未导出问题,组件光标从 pointer 更改为 text -6. [config-provider] 增加全局配置项 link,可用于实际场景中,适配 router-link 等; 增加 tag 属性,支持自定义标签 -7. [link] 增加 tag 属性,支持自定义标签 -8. [form] 修复 input 事件不触发表单校验,涉及组件 input/textarea/inputNumber -9. [Tab] 新增 headerClass 类,支持自定义头部样式,比如 sticky; +- feat + +1. [Layer] 新增 buttonClose 字段,支持通过关闭图标关闭弹层 +2. [Figure] + - previewClose 新增 body 值,支持点击内容区域关闭预览 + - 移动端蒙层样式修改为黑色; + - 原 slot "preview"修改为"preview-extra","preview"用于定制整个内容区域 +3. [input-number]新增 clearValue,用于设置清空输入框时,失焦后的默认值 + +- fix + +1. [input|input-number|textarea|radio|checkbox]表单输入 id 优化,支持 SSR +2. [pagination]修复第一次切换页码时,change 事件回调值不正确问题;pageSize 不在 pageSizes 内,使用默认的 pageSizes 第一项 +3. 依赖升级 vite5 -> vite6 vue3.4 -> 3.5 + +# 0.0.71 + +1. 非稳定版本 + +# 0.0.70 2024-12-27 + +- feat + +1. [VirtualList] + - 虚拟列表支持数据动态追加(头部/尾部); + - 新增`renderChange`事件, 参数支持获取渲染可视区域序号; + - 新增 defaultItemSize 字段,支持不定高时,设置项默认高度 + - API scrollToIndex => scrollToView +2. [message] 支持指定 message 显示到指定目标元素周围 +3. 增加木兰许可证 +4. [inBox]移除 input 属性 +5. [Figure] + - 新增 previewClose 属性,支持控制关闭 preview 的方式; + - 支持通过 api:preivew 控制关闭预览 + - 支持懒加载 lazy +6. [Input/textarea]: 新增beforeInput,支持对输入控制 +7. [hooks] + - 重构 useIntersectionObserver 支持传入 options,添加 destroy 方法 + - 优化 useResizeObserver,添加 destroy 方法 +8. [Link] 去掉 link 的 display:inline-flex 样式 +9. [CascaderPanel]导出 OCascaderPanel 组件 + +- fix + +1. 修复部分文本错误 +2. [Scrollbar] 修复 showType 为 hover 且使用 useScrollbar 时,hover 不显示滚动条问题; +3. [VirtualList] + - 修正 endIndex 计算不正确问题 + - 解决项较少,无滚动时,初始定位不正确导致显示错误问题 + - 修复容器通过 display:none 切换后,设置 scrollToView(0),未正确滚动到指定问题问题 +4. [InputNumber]修复在直接修改 modelValue 值情况下,导致后续输入之前的值不触发 change 问题 +5. [Option]修复 OOption 组件 value 相同,label 不同时死循环 bug +6. [Link] 修复箭头动画;修复多行文本下划线显示不正确问题 +7. [Carousel] 等待渲染完成后再调用 loopRange,修复轮播移动端移动过快消失的问题 +8. [pagination]使用 defineModel 修复 pageSize、page 的双向绑定 -# 0.0.69 +# 0.0.69 2024-09-24 - feat @@ -122,12 +164,97 @@ 1. [Textarea] 解决 textarea placeholder 文字颜色不正确的问题 2. [Option] 修复禁用状态时,hover 样式错误问题 -TODO +# 0.0.68 2024-08-12 -1. pagination 支持 layout 控制顺序 -2. carousel 增加鼠标 hover 停止轮播功能,支持是否循环 todo -3. 级联重构 -4. virtualList 整改为 use-virtual-list -5. select 重构,通过 options 传列表数据 -6. table 支持虚拟滚动,支持固定列,固定行 -7. Tab 重构成分离 OTabs:OTabNav\OTabPane ? +1. [Table] 插槽 head 更名为 header; +2. [pagination] 支持 total 插槽; +3. [scroller] 修复在设置 max-height 时无法滚动问题; +4. [textarea] 增加插槽 prepend、append,修复自动尺寸 bug;滚动使用 scroller; +5. [input/textarea] 修复样式未导出问题,组件光标从 pointer 更改为 text +6. [config-provider] 增加全局配置项 link,可用于实际场景中,适配 router-link 等; 增加 tag 属性,支持自定义标签 +7. [link] 增加 tag 属性,支持自定义标签 +8. [form] 修复 input 事件不触发表单校验,涉及组件 input/textarea/inputNumber +9. [Tab] 新增 headerClass 类,支持自定义头部样式,比如 sticky; + +# 0.0.67 + +1. [input] 重构 input,支持 autowidth,maxlength、minlength,无效值判断接口从 checkValid 更改为 validate,props 移除 parse +2. [textarea] 重构 textarea,长度限制提示支持国际化 + +# 0.0.66 + +1. [scrollbar] 重构 scroller 及 scrollbar, 支持 hook useScrollbar、指令 vScrollbar + +# 0.0.65 + +1. [select] 解决清除图标频繁动画触发的问题,修改下拉图标动效 +2. [button] 修复 disabled/loading 状态时仍然触发 submit 事件 +3. [table] 移除表格首尾间距样式 +4. [scroller] 不再导出 OScroller,增加 slot:thum\track +5. 更新全局 token 变量值 +6. 刷新部分英文文案 + +# 0.0.64 + +1. [select] 修复多选时 v-model 失效问题 #I9IJT2 + +# 0.0.63 + +1. 支持组件国际化(en\cn) +2. 优化颜色变量 +3. [select|input|textarea] 优化交互样式 +4. [select] 修复无法默认选中 value 为 0 的 option +5. [upload] 移除 btnProps 属性 + +# 0.0.62 + +1. [Carousel] 支持配置 pauseOnHover,控制是否在鼠标 hover 时,自动轮播停止,移除时恢复轮播 +2. [select] 支持下拉分组 +3. [upload] 支持 v-model 受控模式 +4. [scroller] 支持 css 变量控制滚动槽位置 + +# 0.0.61 + +1. [table] 插槽更名:表头 th_xx; 表体 td_xx; +2. 移除废弃的 flex 组件 +3. 升级 vue 到 3.4 +4. [use-theme] 支持 SSR +5. [form] 修复提交按钮不触发校验问题 +6. [input] 解决输入框自动填充时背景颜色不正确的问题 + +# 0.0.58 + +1. figure 刷新播放图标 + +# 0.0.57 + +1. figure 支持视频封面、标题 +2. dialog 新增支持设置移动端半屏 + +# 0.0.56 + +1. collapse&menu 展开时高度设置为 auto; +2. toggle 支持单独使用; +3. 解决 dialog 移动端居中问题; +4. 取消 dropdown 内容左右边距; +5. 解决 cascader 滚动条重叠问题 + +# 0.0.51 - + +1. 修复 layer 组件在卸载时,未移除挂载目标的相关类; +2. 表格插槽支持自定义 td、th 内容; +3. 修复 pagination 跳转输入框能输入小数问题; +4. upload 增加 beforeSelect 入参 +5. 浮层蒙层共用,解决闪烁问题 todo + +# 0.0.50 - 0620 + +1. 优化 clickoutside,支持 touch,popover 支持移动端 touch 触发隐藏 +2. popup 宽度限制改为相对于屏幕 +3. 修复上传组件重复选择同一文件,不触发 change 事件问题 +4. invalid 属性从 input-number 组件移到 input 组件 + +# 0.0.26 + +1. Card 去掉 titleMaxRow、detailMaxRow 属性,使用 css 变量设置: --card-title-max-row,--card-detail-max-row +2. Figure 去掉 position、fit 属性,使用 css 变量设置:--figure-fit --figure-position diff --git a/packages/docs/ReleaesNote.scripts.md b/packages/docs/ReleaesNote.scripts.md new file mode 100644 index 0000000000000000000000000000000000000000..27c9f58ed70432d6327b638d503f7fde511b81d6 --- /dev/null +++ b/packages/docs/ReleaesNote.scripts.md @@ -0,0 +1,37 @@ +# [open-scripts] + +# 0.0.23 + +- fix + +1. 更新 vite 版本 6.1->6.2 + +# 0.0.22 + +- fix + +1. 修复 svg xlink:href=“#{id}”构件时未生成动态 id + +# 0.0.21 + +- fix + +1. 更新 sass 编译库,使用 sass-embedded 替换 sass; +2. 修复 svg href=“#{id}”构件时未生成动态 id + +# 0.0.20 2024-10-10 + +- fix + +1. 修复图标路径兼容性、文件名转变量名兼容性、不同实例同 id 的相互影响 + +# 0.0.19 2024-08-12 + +- fix + +1. 修复 svg 文件名因空格、目录嵌套导致生成的 svg 组件被重名替换问题。 + +# 0.0.18 + +1. 解决图标服务端渲染,无法绑定事件问题; +2. svgo 配置增加默认 prefixIds,用于解决老版本对 svg 图标 id 不能正常使用问题 diff --git a/packages/docs/input.md b/packages/docs/input.md index 01194d9b72fea265479fe42f17a6f27da086be1f..6ac8db65e1cf6049645e68eac8e3336dde79951d 100644 --- a/packages/docs/input.md +++ b/packages/docs/input.md @@ -60,7 +60,7 @@ | disabled | boolean | false | 可选,是否为禁用状态 | | readonly | boolean | false | 可选,是否为只读状态 | | invalid | boolean | false | 可选,是否为非法值状态 | -| clearable | boolean | true | 可选,是否是否可以清除 | +| clearable | boolean | true | 可选,是否可以清除。 | | autoWidth | boolean | true | 可选,是否自动增加宽度 | | placeholder | string | -- | 可选,提示文本 | | showPasswordOn | 'click' \| 'mousedown' | 'mousedown' | 可选,显示密码的方式 | diff --git a/packages/opendesign/LICENSE b/packages/opendesign/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..3c871743a652d34aac592a4aa9ffb5af074c9be1 --- /dev/null +++ b/packages/opendesign/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2024 sig-OpenDesign + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/packages/opendesign/package.json b/packages/opendesign/package.json index cb4af6f93de04424ce1d44e163e98e0314db1ea4..63ae9f8ebb0e37e547b83be8f82d65a3c10c4fc1 100644 --- a/packages/opendesign/package.json +++ b/packages/opendesign/package.json @@ -1,6 +1,7 @@ { "name": "@opensig/opendesign", - "version": "0.0.69", + "version": "1.0.0", + "license": "MIT", "main": "lib/index.js", "module": "es/index.mjs", "types": "es/index.d.ts", @@ -21,15 +22,19 @@ "clean:svg": "open-scripts clean:svg --config ./icons/cleansvg.config.ts", "build:component": "open-scripts build:component", "build:style": "open-scripts build:style", - "build": "pnpm gen:icon && pnpm build:component && pnpm build:style" + "build": "pnpm gen:icon && pnpm build:component && pnpm build:style", + "lint": "eslint ./src", + "type-check": "vue-tsc --build" }, "peerDependencies": { - "vue": "^3.1.0" + "vue": "^3.3.0" }, "devDependencies": { - "@opensig/open-scripts": "workspace:^" + "@opensig/open-scripts": "workspace:^", + "typescript": "catalog:", + "vue-tsc": "catalog:" }, "dependencies": { - "date-fns": "^2.30.0" + "date-fns": "catalog:" } } diff --git a/packages/opendesign/src/_components/client-only.ts b/packages/opendesign/src/_components/client-only.ts index 04dc3d01c60aaf308cd6e7f7d3281b60ed0fa1c4..c47a0c7aa392839c513bf75d1ad2cc49b84f6077 100644 --- a/packages/opendesign/src/_components/client-only.ts +++ b/packages/opendesign/src/_components/client-only.ts @@ -5,7 +5,7 @@ import { defineComponent, onMounted, ref } from 'vue'; */ export default defineComponent({ name: 'ClientOnly', - setup(props, { slots }) { + setup(_props, { slots }) { const isMoutned = ref(false); onMounted(() => { isMoutned.value = true; diff --git a/packages/opendesign/src/_components/in-box/InBox.vue b/packages/opendesign/src/_components/in-box/InBox.vue index 04db1ac1c022ea9e5fbe60387497cfaa813a8b61..5106a0ac143f5e4843c8bf5b8eb063cb89046ceb 100644 --- a/packages/opendesign/src/_components/in-box/InBox.vue +++ b/packages/opendesign/src/_components/in-box/InBox.vue @@ -2,29 +2,25 @@ import { defaultSize } from '../../_utils/global'; import { inBoxProps } from './types'; import { getRoundClass } from '../../_utils/style-class'; -import { slotNames } from './slot'; + +defineSlots<{ + default(): any; + prepend(): any; + append(): any; +}>(); const props = defineProps(inBoxProps); const round = getRoundClass(props, '_box'); diff --git a/packages/opendesign/src/_components/in-box/index.ts b/packages/opendesign/src/_components/in-box/index.ts index 0e7e2c4655934f8c813a0fb38d4d41082872d43b..0f63c4553e0a801d46680c30d4002b4e18941135 100644 --- a/packages/opendesign/src/_components/in-box/index.ts +++ b/packages/opendesign/src/_components/in-box/index.ts @@ -3,4 +3,3 @@ import InBox from './InBox.vue'; export { InBox }; export * from './types'; -export * from './slot'; diff --git a/packages/opendesign/src/_components/in-box/slot.ts b/packages/opendesign/src/_components/in-box/slot.ts deleted file mode 100644 index 80c31c12bc6f412ff96e49610d07f4aaf09b955c..0000000000000000000000000000000000000000 --- a/packages/opendesign/src/_components/in-box/slot.ts +++ /dev/null @@ -1,4 +0,0 @@ -export const slotNames = { - prepend: 'prepend', - append: 'append', -}; diff --git a/packages/opendesign/src/_components/in-box/style/index.scss b/packages/opendesign/src/_components/in-box/style/index.scss index 6ea952fbf9481dbefbeeb72d4ad9de152f0999b3..38241341183a577cbd07f9d6804a32a2dd1d7583 100644 --- a/packages/opendesign/src/_components/in-box/style/index.scss +++ b/packages/opendesign/src/_components/in-box/style/index.scss @@ -2,40 +2,39 @@ @use './var.scss'; .o_box { - color: var(--box-color); + color: var(--_box-color); display: flex; - height: var(--box-height); - font-size: var(--box-text-size); - line-height: var(--box-text-height); + height: var(--_box-height); + font-size: var(--_box-text-size); + line-height: var(--_box-text-height); } .o_box-main { display: flex; - padding: var(--box-padding); + padding: var(--_box-padding); width: 100%; overflow: hidden; position: relative; - border-radius: var(--box-radius); - border: var(--box-bd); - background-color: var(--box-bg-color); + border-radius: var(--_box-radius); + border: var(--_box-bd); + background-color: var(--_box-bg-color); transition: all var(--o-duration-s) var(--o-easing-standard); - cursor: pointer; @include hover { - border-color: var(--box-bd-color-hover); - background-color: var(--box-bg-color-hover); + border-color: var(--_box-bd-color-hover); + background-color: var(--_box-bg-color-hover); } &.o_box-focused { - border-color: var(--box-bd-color-focus); - background-color: var(--box-bg-color-focus); + border-color: var(--_box-bd-color-focus); + background-color: var(--_box-bg-color-focus); } &.o_box-disabled, &.o_box-readonly { - color: var(--box-color-disabled); - border-color: var(--box-bd-color-disabled); - background-color: var(--box-bg-color-disabled); + color: var(--_box-color-disabled); + border-color: var(--_box-bd-color-disabled); + background-color: var(--_box-bg-color-disabled); } &.o_box-disabled { cursor: not-allowed; @@ -58,27 +57,27 @@ .o_box-prepend { display: flex; align-items: center; - border: var(--box-prepend-append-bd); - background-color: var(--box-prepend-append-bg-color); + border: var(--_box-prepend-append-bd); + background-color: var(--_box-prepend-append-bg-color); overflow: hidden; .o_box-readonly &, .o_box-disabled & { - border-color: var(--box-prepend-append-bd-color-disabled); + border-color: var(--_box-prepend-append-bd-color-disabled); } } .o_box-append { flex-shrink: 0; - border-top-right-radius: var(--box-radius); - border-bottom-right-radius: var(--box-radius); + border-top-right-radius: var(--_box-radius); + border-bottom-right-radius: var(--_box-radius); } .o_box-prepend { flex-shrink: 0; - padding: var(--box-prepend-padding); - border-top-left-radius: var(--box-radius); - border-bottom-left-radius: var(--box-radius); + padding: var(--_box-prepend-padding); + border-top-left-radius: var(--_box-radius); + border-bottom-left-radius: var(--_box-radius); } .o_box-solid { @@ -109,13 +108,3 @@ border-left-width: 0; } } - -.o_box-input { - --input-color: var(--o-color-info1); - --input-color-disabled: var(--o-color-info4); - --input-placeholder: var(--o-color-info4); - - --input-icon-color: var(--o-color-info3); - --input-icon-color-hover: var(--o-color-info2); - --input-icon-color-disabled: var(--o-color-info4); -} diff --git a/packages/opendesign/src/_components/in-box/style/var.scss b/packages/opendesign/src/_components/in-box/style/var.scss index 825ebf471ccc263efece5d8907da5e8336a103a6..32ea3123fc65782b3dc9bb731675961940e0b07b 100644 --- a/packages/opendesign/src/_components/in-box/style/var.scss +++ b/packages/opendesign/src/_components/in-box/style/var.scss @@ -1,161 +1,152 @@ .o_box { - --box-color: var(--o-color-info2); - --box-color-disabled: var(--o-color-info4); + --_box-color: var(--o-color-info2); + --_box-color-disabled: var(--o-color-info4); --icon-color: var(--o-color-info2); --icon-color-hover: var(--o-color-info2); --icon-color-disabled: var(--o-color-info4); - --box-ap-bd: 1px solid var(--box-ap-bd-color); - --box-ap-bd-disabled: 1px solid var(--box-ap-bd-color-disabled); + --_box-ap-bd: 1px solid var(--_box-ap-bd-color); + --_box-ap-bd-disabled: 1px solid var(--_box-ap-bd-color-disabled); - --box-bd: 1px solid var(--box-bd-color); + --_box-bd: 1px solid var(--_box-bd-color); - --box-bg-color: var(--o-color-control-light); - --box-bg-color-hover: var(--o-color-control-light); - --box-bg-color-focus: var(--o-color-control-light); - --box-bg-color-disabled: var(--o-color-control4-light); + --_box-bg-color: var(--o-color-control-light); + --_box-bg-color-hover: var(--o-color-control-light); + --_box-bg-color-focus: var(--o-color-control-light); + --_box-bg-color-disabled: var(--o-color-control4-light); - --box-prepend-append-bd: 1px solid var(--o-color-control1); - --box-prepend-append-bd-color-disabled: var(--o-color-control4-light); - --box-prepend-append-bg-color: var(--o-color-control-light); + --_box-prepend-append-bd: 1px solid var(--o-color-control1); + --_box-prepend-append-bd-color-disabled: var(--o-color-control4-light); + --_box-prepend-append-bg-color: var(--o-color-control-light); } .o_box-solid { - --box-prepend-append-bd: 1px solid var(--o-color-control2-light); - --box-prepend-append-bg-color: var(--o-color-control1-light); + --_box-prepend-append-bd: 1px solid var(--o-color-control2-light); + --_box-prepend-append-bg-color: var(--o-color-control1-light); } .o_box-text { - --box-bd-color: transparent; - --box-bg-color: transparent; - --box-bd-color-focus: var(--o-color-control-light); - --box-bd-color-disabled: transparent; - --box-bg-color-disabled: transparent; + --_box-bd-color: transparent; + --_box-bg-color: transparent; + --_box-bd-color-focus: var(--o-color-control-light); + --_box-bd-color-disabled: transparent; + --_box-bg-color-disabled: transparent; &.o_box-normal { - --box-bd-color-hover: var(--o-color-control-light); - --box-bg-color-hover: var(--o-color-control-light); + --_box-bd-color-hover: var(--o-color-control-light); + --_box-bg-color-hover: var(--o-color-control-light); } &.o_box-success { - --input-color: var(--o-color-success1); - --box-bd-color-hover: var(--o-color-control-light); - --box-bg-color-hover: var(--o-color-control-light); + --_box-bd-color-hover: var(--o-color-control-light); + --_box-bg-color-hover: var(--o-color-control-light); } &.o_box-warning { - --input-color: var(--o-color-warning1); - --box-bd-color-hover: var(--o-color-control-light); - --box-bg-color-hover: var(--o-color-control-light); + --_box-bd-color-hover: var(--o-color-control-light); + --_box-bg-color-hover: var(--o-color-control-light); } &.o_box-danger { - --input-color: var(--o-color-danger1); - --box-bd-color-hover: var(--o-color-control-light); - --box-bg-color-hover: var(--o-color-control-light); + --_box-bd-color-hover: var(--o-color-control-light); + --_box-bg-color-hover: var(--o-color-control-light); } } .o_box-outline { &.o_box-normal { - --box-bd-color: var(--o-color-control1); - --box-bd-color-hover: var(--o-color-primary2); - --box-bd-color-focus: var(--o-color-primary3); - --box-bd-color-disabled: var(--o-color-control4); + --_box-bd-color: var(--o-color-control1); + --_box-bd-color-hover: var(--o-color-primary2); + --_box-bd-color-focus: var(--o-color-primary3); + --_box-bd-color-disabled: var(--o-color-control4); } &.o_box-success { - --box-bd-color: var(--o-color-success1-light); - --box-bd-color-hover: var(--o-color-success2-light); - --box-bd-color-focus: var(--o-color-success3); - --box-bd-color-disabled: var(--o-color-success4); + --_box-bd-color: var(--o-color-success1-light); + --_box-bd-color-hover: var(--o-color-success2-light); + --_box-bd-color-focus: var(--o-color-success3); + --_box-bd-color-disabled: var(--o-color-success4); } &.o_box-warning { - --box-bd-color: var(--o-color-warning1-light); - --box-bd-color-hover: var(--o-color-warning2-light); - --box-bd-color-focus: var(--o-color-warning3); - --box-bd-color-disabled: var(--o-color-warning4); + --_box-bd-color: var(--o-color-warning1-light); + --_box-bd-color-hover: var(--o-color-warning2-light); + --_box-bd-color-focus: var(--o-color-warning3); + --_box-bd-color-disabled: var(--o-color-warning4); } &.o_box-danger { - --box-bd-color: var(--o-color-danger1-light); - --box-bd-color-hover: var(--o-color-danger2-light); - --box-bd-color-focus: var(--o-color-danger3); - --box-bd-color-disabled: var(--o-color-danger4); + --_box-bd-color: var(--o-color-danger1-light); + --_box-bd-color-hover: var(--o-color-danger2-light); + --_box-bd-color-focus: var(--o-color-danger3); + --_box-bd-color-disabled: var(--o-color-danger4); } } .o_box-outline { - --box-ap-bd-color: var(--o-color-control1); - --box-ap-bd-color-disabled: var(--o-color-control4); + --_box-ap-bd-color: var(--o-color-control1); + --_box-ap-bd-color-disabled: var(--o-color-control4); } .o_box-solid { &.o_box-normal { - --box-bd-color: var(--o-color-control1-light); - --box-bd-color-hover: var(--o-color-control2-light); - --box-bd-color-focus: var(--o-color-primary3-light); - --box-bd-color-disabled: var(--o-color-control4-light); - - --box-bg-color: var(--o-color-control1-light); - --box-bg-color-hover: var(--o-color-control2-light); - --box-bg-color-disabled: var(--o-color-control4-light); + --_box-bd-color: var(--o-color-control1-light); + --_box-bd-color-hover: var(--o-color-control2-light); + --_box-bd-color-focus: var(--o-color-primary3-light); + --_box-bd-color-disabled: var(--o-color-control4-light); + + --_box-bg-color: var(--o-color-control1-light); + --_box-bg-color-hover: var(--o-color-control2-light); + --_box-bg-color-disabled: var(--o-color-control4-light); } &.o_box-success { - --box-bd-color: var(--o-color-success1-light); - --box-bd-color-hover: var(--o-color-success2-light); - --box-bd-color-focus: var(--o-color-success3-light); - --box-bd-color-disabled: var(--o-color-success4-light); - - --box-bg-color: var(--o-color-success1-light); - --box-bg-color-hover: var(--o-color-success2-light); - --box-bg-color-disabled: var(--o-color-success4-light); + --_box-bd-color: var(--o-color-success1-light); + --_box-bd-color-hover: var(--o-color-success2-light); + --_box-bd-color-focus: var(--o-color-success3-light); + --_box-bd-color-disabled: var(--o-color-success4-light); + + --_box-bg-color: var(--o-color-success1-light); + --_box-bg-color-hover: var(--o-color-success2-light); + --_box-bg-color-disabled: var(--o-color-success4-light); } &.o_box-warning { - --box-bd-color: var(--o-color-warning1-light); - --box-bd-color-hover: var(--o-color-warning2-light); - --box-bd-color-focus: var(--o-color-warning3-light); - --box-bd-color-disabled: var(--o-color-warning4-light); - - --box-bg-color: var(--o-color-warning1-light); - --box-bg-color-hover: var(--o-color-warning2-light); - --box-bg-color-disabled: var(--o-color-warning4-light); + --_box-bd-color: var(--o-color-warning1-light); + --_box-bd-color-hover: var(--o-color-warning2-light); + --_box-bd-color-focus: var(--o-color-warning3-light); + --_box-bd-color-disabled: var(--o-color-warning4-light); + + --_box-bg-color: var(--o-color-warning1-light); + --_box-bg-color-hover: var(--o-color-warning2-light); + --_box-bg-color-disabled: var(--o-color-warning4-light); } &.o_box-danger { - --box-bd-color: var(--o-color-danger1-light); - --box-bd-color-hover: var(--o-color-danger2-light); - --box-bd-color-focus: var(--o-color-danger3-light); - --box-bd-color-disabled: var(--o-color-danger4-light); - - --box-bg-color: var(--o-color-danger1-light); - --box-bg-color-hover: var(--o-color-danger2-light); - --box-bg-color-disabled: var(--o-color-danger4-light); + --_box-bd-color: var(--o-color-danger1-light); + --_box-bd-color-hover: var(--o-color-danger2-light); + --_box-bd-color-focus: var(--o-color-danger3-light); + --_box-bd-color-disabled: var(--o-color-danger4-light); + + --_box-bg-color: var(--o-color-danger1-light); + --_box-bg-color-hover: var(--o-color-danger2-light); + --_box-bg-color-disabled: var(--o-color-danger4-light); } } .o_box-small { - --box-height: var(--o-control_size-s); - --box-text-size: var(--o-font_size-tip1); - --box-text-height: var(--o-line_height-tip1); + --_box-text-size: var(--o-font_size-tip1); + --_box-text-height: var(--o-line_height-tip1); - --box-padding: 0 7px; - --box-radius: var(--o-radius_control-xs); + --_box-radius: var(--o-radius_control-xs); --icon-size: var(--o-icon_size_control-xs); } .o_box-medium { - --box-height: var(--o-control_size-m); - --box-text-size: var(--o-font_size-tip1); - --box-text-height: var(--o-line_height-tip1); + --_box-text-size: var(--o-font_size-tip1); + --_box-text-height: var(--o-line_height-tip1); - --box-padding: 0 15px; - --box-radius: var(--o-radius_control-s); + --_box-radius: var(--o-radius_control-s); --icon-size: var(--o-icon_size_control-xs); } .o_box-large { - --box-height: var(--o-control_size-l); - --box-text-size: var(--o-font_size-text1); - --box-text-height: var(--o-line_height-text1); + --_box-text-size: var(--o-font_size-text1); + --_box-text-height: var(--o-line_height-text1); - --box-padding: 0 15px; - --box-radius: var(--o-radius_control-l); + --_box-radius: var(--o-radius_control-l); --icon-size: var(--o-icon_size_control-s); } .o_box-round-pill { - --box-radius: var(--o-control_size-l); + --_box-radius: var(--o-control_size-l); } diff --git a/packages/opendesign/src/_components/in-box/types.ts b/packages/opendesign/src/_components/in-box/types.ts index c85374c3ac0749f19cc3b7da14558199464cee40..9446b0548dc47d2df35eeae688aac5ea30672133 100644 --- a/packages/opendesign/src/_components/in-box/types.ts +++ b/packages/opendesign/src/_components/in-box/types.ts @@ -46,18 +46,6 @@ export const inBoxProps = { readonly: { type: Boolean, }, - /** - * 关联 input - */ - for: { - type: String, - }, - /** - * 是否只读 - */ - input: { - type: Boolean, - }, }; export type InBoxProps = ExtractPropTypes; diff --git a/packages/opendesign/src/_components/in-input/InInput.vue b/packages/opendesign/src/_components/in-input/InInput.vue index c4d4a9735d928832607e70a88de7255cd7587331..24b783756e08ba1aef9e8d33f062014234a4a926 100644 --- a/packages/opendesign/src/_components/in-input/InInput.vue +++ b/packages/opendesign/src/_components/in-input/InInput.vue @@ -1,34 +1,35 @@