diff --git a/CHANGELOG.md b/CHANGELOG.md index 73250b8e64d5e2cf2a8b837a5b18b280f146345f..d0a3074cf153881629c5e3bd895871529c273e31 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,17 +3,25 @@ title: 更新日志 | TinyNG --- ## 更新日志 +### 1.0.3(Angular13、Angular14、Angular15、Angular16) + +*2024-04-09* + +table:表头过滤结束日期字段不显示。 + +Badge:新增标识组件。 + ### 1.0.2(Angular13、Angular14、Angular15、Angular16) *2023-11-09* -1.menu:单独使用该模块时国际化词条报错。 +menu:单独使用该模块时国际化词条报错。 ### 1.0.1(Angular13、Angular14、Angular15、Angular16) *2023-07-27* -1.tree:单选树子层级只有一项时,使用`selectNode`方法时无法高亮子级,会高亮父节点。 +tree:单选树子层级只有一项时,使用`selectNode`方法时无法高亮子级,会高亮父节点。 ### 1.0.0(Angular13、Angular14、Angular15) diff --git a/angular.json b/angular.json index 93456c25268f3603f7e498c5456abf518c328d47..3947f068845d0cb1308889b44b74d90591d0a01d 100644 --- a/angular.json +++ b/angular.json @@ -13,6 +13,8 @@ "autocomplete-demo": "src/autocomplete/demo", "avatar": "src/avatar/lib", "avatar-demo": "src/avatar/demo", + "badge": "src/badge/lib", + "badge-demo": "src/badge/demo", "base": "src/base/lib", "button": "src/button/lib", "button-demo": "src/button/demo", diff --git a/src/accordion/lib/LICENSE b/src/accordion/lib/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..7f66ede611c695506bdac52b31ea04b77b7f6a19 --- /dev/null +++ b/src/accordion/lib/LICENSE @@ -0,0 +1,21 @@ +The MIT License + +Copyright (c) 2022 - present TinyUI Authors. +Copyright (c) 2022 - present Huawei Cloud Computing Technologies Co., Ltd. + + +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/src/accordion/lib/package.json b/src/accordion/lib/package.json index 879d992fe30713592787e82608140b478cbee52e..87ccd325d25d1e2dc6c56d602ec16a9830c87644 100644 --- a/src/accordion/lib/package.json +++ b/src/accordion/lib/package.json @@ -1,13 +1,13 @@ { "name": "@opentiny/ng-accordion", - "version": "1.0.2", + "version": "1.0.3", "license": "MIT", "peerDependencies": { "@angular/core": ">=13.0.0", - "@opentiny/ng-base": "~1.0.2", + "@opentiny/ng-base": "~1.0.3", "@angular/animations": ">=13.0.0", "@angular/common": ">=13.0.0", - "@opentiny/ng-outline": "~1.0.2", - "@opentiny/ng-icon": "~1.0.2" + "@opentiny/ng-outline": "~1.0.3", + "@opentiny/ng-icon": "~1.0.3" } } \ No newline at end of file diff --git a/src/actionmenu/lib/LICENSE b/src/actionmenu/lib/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..7f66ede611c695506bdac52b31ea04b77b7f6a19 --- /dev/null +++ b/src/actionmenu/lib/LICENSE @@ -0,0 +1,21 @@ +The MIT License + +Copyright (c) 2022 - present TinyUI Authors. +Copyright (c) 2022 - present Huawei Cloud Computing Technologies Co., Ltd. + + +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/src/actionmenu/lib/package.json b/src/actionmenu/lib/package.json index 557826d5b83a6ad63b2e8d6c348df5a9f4e4255d..ae8add1086ae20615592ec742c259ccd08b3c222 100644 --- a/src/actionmenu/lib/package.json +++ b/src/actionmenu/lib/package.json @@ -1,14 +1,14 @@ { "name": "@opentiny/ng-actionmenu", - "version": "1.0.2", + "version": "1.0.3", "license": "MIT", "peerDependencies": { - "@opentiny/ng-base": "~1.0.2", - "@opentiny/ng-menu": "~1.0.2", - "@opentiny/ng-locale": "~1.0.2", + "@opentiny/ng-base": "~1.0.3", + "@opentiny/ng-menu": "~1.0.3", + "@opentiny/ng-locale": "~1.0.3", "@angular/core": ">=13.0.0", "@angular/common": ">=13.0.0", - "@opentiny/ng-tip": "~1.0.2", - "@opentiny/ng-popconfirm": "~1.0.2" + "@opentiny/ng-tip": "~1.0.3", + "@opentiny/ng-popconfirm": "~1.0.3" } } \ No newline at end of file diff --git a/src/alert/lib/LICENSE b/src/alert/lib/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..7f66ede611c695506bdac52b31ea04b77b7f6a19 --- /dev/null +++ b/src/alert/lib/LICENSE @@ -0,0 +1,21 @@ +The MIT License + +Copyright (c) 2022 - present TinyUI Authors. +Copyright (c) 2022 - present Huawei Cloud Computing Technologies Co., Ltd. + + +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/src/alert/lib/package.json b/src/alert/lib/package.json index e14ede780be690706035f4729aa036bcf7cee199..3128e7127e8eb3c24ebe2ccc846409aa43e49221 100644 --- a/src/alert/lib/package.json +++ b/src/alert/lib/package.json @@ -1,14 +1,14 @@ { "name": "@opentiny/ng-alert", - "version": "1.0.2", + "version": "1.0.3", "license": "MIT", "peerDependencies": { "@angular/common": ">=13.0.0", - "@opentiny/ng-base": "~1.0.2", - "@opentiny/ng-utils": "~1.0.2", + "@opentiny/ng-base": "~1.0.3", + "@opentiny/ng-utils": "~1.0.3", "@angular/core": ">=13.0.0", - "@opentiny/ng-icon": "~1.0.2", - "@opentiny/ng-outline": "~1.0.2", + "@opentiny/ng-icon": "~1.0.3", + "@opentiny/ng-outline": "~1.0.3", "@angular/animations": ">=13.0.0" } } \ No newline at end of file diff --git a/src/anchor/lib/LICENSE b/src/anchor/lib/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..7f66ede611c695506bdac52b31ea04b77b7f6a19 --- /dev/null +++ b/src/anchor/lib/LICENSE @@ -0,0 +1,21 @@ +The MIT License + +Copyright (c) 2022 - present TinyUI Authors. +Copyright (c) 2022 - present Huawei Cloud Computing Technologies Co., Ltd. + + +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/src/anchor/lib/package.json b/src/anchor/lib/package.json index b649fdb7eea7c738f2b3f0ba5432af1f3e024c97..aaaf3e6ed3d8bca72c18770c99d788378e93643d 100644 --- a/src/anchor/lib/package.json +++ b/src/anchor/lib/package.json @@ -1,10 +1,10 @@ { "name": "@opentiny/ng-anchor", - "version": "1.0.2", + "version": "1.0.3", "license": "MIT", "peerDependencies": { "@angular/core": ">=13.0.0", "@angular/common": ">=13.0.0", - "@opentiny/ng-base": "~1.0.2" + "@opentiny/ng-base": "~1.0.3" } } \ No newline at end of file diff --git a/src/autocomplete/lib/LICENSE b/src/autocomplete/lib/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..7f66ede611c695506bdac52b31ea04b77b7f6a19 --- /dev/null +++ b/src/autocomplete/lib/LICENSE @@ -0,0 +1,21 @@ +The MIT License + +Copyright (c) 2022 - present TinyUI Authors. +Copyright (c) 2022 - present Huawei Cloud Computing Technologies Co., Ltd. + + +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/src/autocomplete/lib/package.json b/src/autocomplete/lib/package.json index 7dcc78373bc9c2d4e373b0975059c4426047daba..25456f16f9a239c9f9508e111429ce2177cfde4f 100644 --- a/src/autocomplete/lib/package.json +++ b/src/autocomplete/lib/package.json @@ -1,13 +1,13 @@ { "name": "@opentiny/ng-autocomplete", - "version": "1.0.2", + "version": "1.0.3", "license": "MIT", "peerDependencies": { "@angular/core": ">=13.0.0", - "@opentiny/ng-base": "~1.0.2", - "@opentiny/ng-droplist": "~1.0.2", - "@opentiny/ng-text": "~1.0.2", - "@opentiny/ng-utils": "~1.0.2", + "@opentiny/ng-base": "~1.0.3", + "@opentiny/ng-droplist": "~1.0.3", + "@opentiny/ng-text": "~1.0.3", + "@opentiny/ng-utils": "~1.0.3", "@angular/common": ">=13.0.0", "@angular/forms": ">=13.0.0" } diff --git a/src/avatar/lib/LICENSE b/src/avatar/lib/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..7f66ede611c695506bdac52b31ea04b77b7f6a19 --- /dev/null +++ b/src/avatar/lib/LICENSE @@ -0,0 +1,21 @@ +The MIT License + +Copyright (c) 2022 - present TinyUI Authors. +Copyright (c) 2022 - present Huawei Cloud Computing Technologies Co., Ltd. + + +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/src/avatar/lib/package.json b/src/avatar/lib/package.json index 42cdd1a9bd9d7574506fc60b8e879f49681f6098..e74165116c9e5e2bb94525d0563b29ee3b1598ca 100644 --- a/src/avatar/lib/package.json +++ b/src/avatar/lib/package.json @@ -1,11 +1,11 @@ { "name": "@opentiny/ng-avatar", - "version": "1.0.2", + "version": "1.0.3", "license": "MIT", "peerDependencies": { "@angular/core": ">=13.0.0", "@angular/common": ">=13.0.0", - "@opentiny/ng-icon": "~1.0.2", - "@opentiny/ng-base": "~1.0.2" + "@opentiny/ng-icon": "~1.0.3", + "@opentiny/ng-base": "~1.0.3" } } \ No newline at end of file diff --git a/src/badge/demo/project.json b/src/badge/demo/project.json new file mode 100644 index 0000000000000000000000000000000000000000..961a696e64334cae57a3f5bd01fae2c44cc3bea6 --- /dev/null +++ b/src/badge/demo/project.json @@ -0,0 +1,78 @@ +{ + "projectType": "application", + "root": "src/badge/demo", + "sourceRoot": "src/badge/demo/src", + "generators": { + "@schematics/angular:component": { + "style": "less" + } + }, + "targets": { + "build": { + "executor": "@angular-devkit/build-angular:browser", + "dependsOn": [], + "options": { + "outputPath": "dist/apps/badge", + "index": "src/badge/demo/src/index.html", + "main": "src/badge/demo/src/main.ts", + "polyfills": "src/polyfills.ts", + "tsConfig": "src/badge/demo/tsconfig.app.json", + "assets": ["src/badge/demo/src/favicon.ico", "src/badge/demo/src/assets"], + "styles": ["src/themes/basic/build.less", "src/themes/theme-default/build.less", "src/styles.less"], + "scripts": [] + }, + "configurations": { + "production": { + "fileReplacements": [ + { + "replace": "src/environments/environment.ts", + "with": "src/environments/environment.prod.ts" + } + ], + "budgets": [ + { + "type": "initial", + "maximumWarning": "2mb", + "maximumError": "10mb" + }, + { + "type": "anyComponentStyle", + "maximumWarning": "6kb" + } + ] + }, + "development": { + "buildOptimizer": false, + "optimization": false, + "vendorChunk": true, + "extractLicenses": false, + "sourceMap": true, + "namedChunks": true + } + }, + "defaultConfiguration": "production" + }, + "serve": { + "executor": "@angular-devkit/build-angular:dev-server", + "configurations": { + "production": { + "browserTarget": "badge-demo:build:production" + }, + "development": { + "browserTarget": "badge-demo:build:development" + } + }, + "defaultConfiguration": "development" + }, + "preview": { + "executor": "@nrwl/workspace:run-commands", + "options": { + "commands": [ + { + "command": "node build/preview-demo.js badge" + } + ] + } + } + } +} diff --git a/src/badge/demo/src/app/AppComponent.ts b/src/badge/demo/src/app/AppComponent.ts new file mode 100644 index 0000000000000000000000000000000000000000..76c5465372c68284e51efbd99dd488d5481caf58 --- /dev/null +++ b/src/badge/demo/src/app/AppComponent.ts @@ -0,0 +1,7 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'app-root', + templateUrl: './app.html' +}) +export class AppComponent {} diff --git a/src/badge/demo/src/app/AppModule.ts b/src/badge/demo/src/app/AppModule.ts new file mode 100644 index 0000000000000000000000000000000000000000..3cac03d8360294de89db57acc9629811a411a2c9 --- /dev/null +++ b/src/badge/demo/src/app/AppModule.ts @@ -0,0 +1,24 @@ +import { BrowserModule } from '@angular/platform-browser'; +import { NgModule } from '@angular/core'; +import { RouterModule } from '@angular/router'; + +import { AppComponent } from './AppComponent'; +import { IndexComponent } from './IndexComponent'; +import { BadgeTestModule } from './badge/BadgeTestModule'; + +@NgModule({ + imports: [ + BadgeTestModule, + BrowserModule.withServerTransition({ appId: 'serverApp' }), + RouterModule.forRoot( + [ + { path: '', component: IndexComponent }, // 路由地址为空 + { path: '**', component: IndexComponent } // 路由地址找不到。注意:放在数组最后 + ], + { useHash: true } // 使用#路由 + ) + ], + declarations: [AppComponent, IndexComponent], + bootstrap: [AppComponent] +}) +export class AppModule {} diff --git a/src/badge/demo/src/app/IndexComponent.ts b/src/badge/demo/src/app/IndexComponent.ts new file mode 100644 index 0000000000000000000000000000000000000000..6e27b0771e1d3350454c896d30e9df761955e279 --- /dev/null +++ b/src/badge/demo/src/app/IndexComponent.ts @@ -0,0 +1,49 @@ +import { Component } from '@angular/core'; +import { BadgeTestModule } from './badge/BadgeTestModule'; + +@Component({ + template: ` + + + + + + + +
{{ routes[0]?.path.split('/')[0] }} demo
+ + {{ path2name(route.path) }} + +
` +}) +export class IndexComponent { + routes: any = BadgeTestModule.ROUTES; + + path2name(path: string): string | undefined { + return path.split('/').pop(); + } +} diff --git a/src/badge/demo/src/app/app.html b/src/badge/demo/src/app/app.html new file mode 100644 index 0000000000000000000000000000000000000000..fb12cdbef582c362bdf7f0aaa446e59f7afb2fc4 --- /dev/null +++ b/src/badge/demo/src/app/app.html @@ -0,0 +1,3 @@ +
+ +
diff --git a/src/badge/demo/src/app/badge/BadgeBasicComponent.ts b/src/badge/demo/src/app/badge/BadgeBasicComponent.ts new file mode 100644 index 0000000000000000000000000000000000000000..27606e9129d8c04b05ccc927830b81eceeacadc3 --- /dev/null +++ b/src/badge/demo/src/app/badge/BadgeBasicComponent.ts @@ -0,0 +1,19 @@ +import { Component } from '@angular/core'; + +@Component({ + templateUrl: './badge-basic.html', + styles: [ + ` + .badge-square { + display: inline-block; + width: 28px; + height: 28px; + border-radius: 2px; + background-color: #eef0f5; + } + ` + ] +}) +export class BadgeBasicComponent { + value: string = '6+'; +} diff --git a/src/badge/demo/src/app/badge/BadgeDotComponent.ts b/src/badge/demo/src/app/badge/BadgeDotComponent.ts new file mode 100644 index 0000000000000000000000000000000000000000..4d523a3fead5b9371c85b8c277c89486a6a31ea2 --- /dev/null +++ b/src/badge/demo/src/app/badge/BadgeDotComponent.ts @@ -0,0 +1,6 @@ +import { Component } from '@angular/core'; + +@Component({ + templateUrl: './badge-dot.html' +}) +export class BadgeDotComponent {} diff --git a/src/badge/demo/src/app/badge/BadgeShowComponent.ts b/src/badge/demo/src/app/badge/BadgeShowComponent.ts new file mode 100644 index 0000000000000000000000000000000000000000..a2c0dd697f1f2dec28f9eefbe45b0f1f10e41e84 --- /dev/null +++ b/src/badge/demo/src/app/badge/BadgeShowComponent.ts @@ -0,0 +1,23 @@ +import { Component } from '@angular/core'; + +@Component({ + templateUrl: './badge-show.html', + styles: [ + ` + .badge-square { + display: inline-block; + width: 28px; + height: 28px; + border-radius: 2px; + background-color: #eef0f5; + } + ` + ] +}) +export class BadgeShowComponent { + value: string = '8+'; + isShow: boolean = true; + showBadge(): void { + this.isShow = !this.isShow; + } +} diff --git a/src/badge/demo/src/app/badge/BadgeTestModule.ts b/src/badge/demo/src/app/badge/BadgeTestModule.ts new file mode 100644 index 0000000000000000000000000000000000000000..b8c7ad2104edf980de78bcddf40112d8e3ee1ee8 --- /dev/null +++ b/src/badge/demo/src/app/badge/BadgeTestModule.ts @@ -0,0 +1,31 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { RouterModule, Routes } from '@angular/router'; + +import { TiBadgeModule, TiButtonModule } from '@opentiny/ng'; +import { BadgeBasicComponent } from './BadgeBasicComponent'; +import { BadgeShowComponent } from './BadgeShowComponent'; +import { BadgeDotComponent } from './BadgeDotComponent'; + +@NgModule({ + imports: [CommonModule, TiBadgeModule, TiButtonModule, RouterModule.forChild(BadgeTestModule.ROUTES)], + declarations: [BadgeBasicComponent, BadgeShowComponent, BadgeDotComponent] +}) +export class BadgeTestModule { + static readonly ROUTES: Routes = [ + { + path: 'badge/badge-basic', + component: BadgeBasicComponent + }, + { + path: 'badge/badge-dot', + component: BadgeDotComponent, + data: { label: '小圆点标识' } + }, + { + path: 'badge/badge-show', + component: BadgeShowComponent, + data: { label: '动态隐藏标识' } + } + ]; +} diff --git a/src/badge/demo/src/app/badge/badge-basic.html b/src/badge/demo/src/app/badge/badge-basic.html new file mode 100644 index 0000000000000000000000000000000000000000..162bc39a86fc98b196a94242fdf4f14f0bfbbfd4 --- /dev/null +++ b/src/badge/demo/src/app/badge/badge-basic.html @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/badge/demo/src/app/badge/badge-dot.html b/src/badge/demo/src/app/badge/badge-dot.html new file mode 100644 index 0000000000000000000000000000000000000000..b5e1cc893b5854e405d3d05c085974ac5f4f2b38 --- /dev/null +++ b/src/badge/demo/src/app/badge/badge-dot.html @@ -0,0 +1 @@ +我的待办 diff --git a/src/badge/demo/src/app/badge/badge-show.html b/src/badge/demo/src/app/badge/badge-show.html new file mode 100644 index 0000000000000000000000000000000000000000..1f911b3d5f4a8db83b0fa8f25c98742d994110ed --- /dev/null +++ b/src/badge/demo/src/app/badge/badge-show.html @@ -0,0 +1,7 @@ + + + +
+我的待办 +
+ diff --git a/src/badge/demo/src/app/badge/webdoc/badge-demos.js b/src/badge/demo/src/app/badge/webdoc/badge-demos.js new file mode 100644 index 0000000000000000000000000000000000000000..021e4f555bcdcd1f81a5b581c9909877f2b10985 --- /dev/null +++ b/src/badge/demo/src/app/badge/webdoc/badge-demos.js @@ -0,0 +1,40 @@ +export default { + column: '2', + demos: [ + { + demoId: 'badge-basic', + name: { + 'zh-CN': '基本用法', + 'en-US': 'Basic usage' + }, + desc: { + 'zh-CN': '

通过属性value配置指定的数据信息。

', + 'en-US': '' + }, + apis: ['TiBadgeComponent.properties.value'] + }, + { + demoId: 'badge-dot', + name: { + 'zh-CN': '小圆点标识', + 'en-US': '' + }, + desc: { + 'zh-CN': '

当不传value或传入的value值为 undefined 时,显示的状态为小圆点。

', + 'en-US': '' + } + }, + { + demoId: 'badge-show', + name: { + 'zh-CN': '动态隐藏标识', + 'en-US': '' + }, + desc: { + 'zh-CN': '

通过属性show配置标识是否显示。

', + 'en-US': '' + }, + apis: ['TiBadgeComponent.properties.show'] + } + ] +}; diff --git a/src/badge/demo/src/app/badge/webdoc/badge.cn.md b/src/badge/demo/src/app/badge/webdoc/badge.cn.md new file mode 100644 index 0000000000000000000000000000000000000000..dae712d393cc9dc47fa83d4133062b86cf579227 --- /dev/null +++ b/src/badge/demo/src/app/badge/webdoc/badge.cn.md @@ -0,0 +1,17 @@ +--- +title: Badge 标识 +--- + +# Badge 标识 + +
+ +用于消息提示。 + +- 分为数字角标和小圆点两种形式,默认为小圆点样式。 + +```typescript +import { TiBadgeModule } from '@opentiny/ng'; +``` + +
diff --git a/src/badge/demo/src/app/badge/webdoc/badge.en.md b/src/badge/demo/src/app/badge/webdoc/badge.en.md new file mode 100644 index 0000000000000000000000000000000000000000..455d8d490c6a4c3b02ba98be69601f50f329945f --- /dev/null +++ b/src/badge/demo/src/app/badge/webdoc/badge.en.md @@ -0,0 +1,13 @@ +--- +title: Badge +--- + +# Badge + +
+ +```typescript +import { TiBadgeModule } from '@opentiny/ng'; +``` + +
diff --git a/src/badge/demo/src/favicon.ico b/src/badge/demo/src/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..d7a7af634ee6d643ac81d81feadff569ac25de3d Binary files /dev/null and b/src/badge/demo/src/favicon.ico differ diff --git a/src/badge/demo/src/index.html b/src/badge/demo/src/index.html new file mode 100644 index 0000000000000000000000000000000000000000..d0e32a8c93104c5c389c3ed24b50059a7293a6f6 --- /dev/null +++ b/src/badge/demo/src/index.html @@ -0,0 +1,16 @@ + + + + + + + Tiny + + + + + + + + + diff --git a/src/badge/demo/src/main.ts b/src/badge/demo/src/main.ts new file mode 100644 index 0000000000000000000000000000000000000000..67a86e91a4171f30e9c67bb8649e6d63c3e81933 --- /dev/null +++ b/src/badge/demo/src/main.ts @@ -0,0 +1,13 @@ +import { enableProdMode } from '@angular/core'; + +import { AppModule } from './app/AppModule'; +import { environment } from '../../../environments/environment'; +import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; + +if (environment.production) { + enableProdMode(); +} + +platformBrowserDynamic() + .bootstrapModule(AppModule) + .catch((err: any) => console.error(err)); diff --git a/src/badge/demo/tsconfig.app.json b/src/badge/demo/tsconfig.app.json new file mode 100644 index 0000000000000000000000000000000000000000..36c60b6ac54cc7ebcb5db4ca87995878e97510a2 --- /dev/null +++ b/src/badge/demo/tsconfig.app.json @@ -0,0 +1,10 @@ +{ + "extends": "../../../tsconfig.base.json", + "compilerOptions": { + "outDir": "../../../dist/out-tsc", + "moduleResolution": "node", + "types": [] + }, + "files": ["src/main.ts", "../../polyfills.ts"], + "include": ["src/**/*.d.ts"] +} diff --git a/src/badge/lib/LICENSE b/src/badge/lib/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..7f66ede611c695506bdac52b31ea04b77b7f6a19 --- /dev/null +++ b/src/badge/lib/LICENSE @@ -0,0 +1,21 @@ +The MIT License + +Copyright (c) 2022 - present TinyUI Authors. +Copyright (c) 2022 - present Huawei Cloud Computing Technologies Co., Ltd. + + +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/src/badge/lib/index.ts b/src/badge/lib/index.ts new file mode 100644 index 0000000000000000000000000000000000000000..1e577a0cc6f3a2f300561a13bfcb66371dac7173 --- /dev/null +++ b/src/badge/lib/index.ts @@ -0,0 +1,2 @@ +export * from './src/TiBadgeModule'; +export * from './src/TiBadgeComponent'; diff --git a/src/badge/lib/ng-package.json b/src/badge/lib/ng-package.json new file mode 100644 index 0000000000000000000000000000000000000000..abda9ab156bc9fda607cf622700e5bec644d86ae --- /dev/null +++ b/src/badge/lib/ng-package.json @@ -0,0 +1,7 @@ +{ + "$schema": "../../../node_modules/ng-packagr/ng-package.schema.json", + "dest": "../../../dist/libs/ng-badge", + "lib": { + "entryFile": "./index.ts" + } +} diff --git a/src/badge/lib/package.json b/src/badge/lib/package.json new file mode 100644 index 0000000000000000000000000000000000000000..5565114f2514cc489a86c364bb45ad885da31204 --- /dev/null +++ b/src/badge/lib/package.json @@ -0,0 +1,9 @@ +{ + "name": "@opentiny/ng-badge", + "version": "1.0.3", + "license": "MIT", + "peerDependencies": { + "@angular/common": ">=13.0.0", + "@angular/core": ">=13.0.0" + } +} diff --git a/src/badge/lib/project.json b/src/badge/lib/project.json new file mode 100644 index 0000000000000000000000000000000000000000..89cbdd8f50ff970bbb3c571d2881a0042ca49206 --- /dev/null +++ b/src/badge/lib/project.json @@ -0,0 +1,61 @@ +{ + "projectType": "library", + "root": "src/badge/lib", + "sourceRoot": "src/badge/lib/src", + "targets": { + "default-build": { + "executor": "@nrwl/angular:package", + "outputs": ["dist/libs/ng-badge"], + "options": { + "project": "src/badge/lib/ng-package.json" + }, + "configurations": { + "production": { + "tsConfig": "src/tsconfig.lib.prod.json" + }, + "development": { + "tsConfig": "src/tsconfig.lib.json" + } + }, + "defaultConfiguration": "production" + }, + "build": { + "executor": "@nrwl/workspace:run-commands", + "outputs": ["dist/libs/ng-badge"], + "options": { + "commands": [ + { + "command": "node build/add-default-theme.js badge" + }, + { + "command": "ng default-build badge" + }, + { + "command": "node build/clear-default-theme.js badge" + } + ], + "parallel": false + } + }, + "pack": { + "executor": "@nrwl/workspace:run-commands", + "options": { + "commands": [ + { + "command": "cd dist/libs/ng-badge && npm pack" + } + ] + } + }, + "publish": { + "executor": "@nrwl/workspace:run-commands", + "options": { + "commands": [ + { + "command": "ng build badge && ng pack badge && node build/publish.js badge --tag={args.tag}" + } + ] + } + } + } +} diff --git a/src/badge/lib/src/TiBadgeComponent.ts b/src/badge/lib/src/TiBadgeComponent.ts new file mode 100644 index 0000000000000000000000000000000000000000..09f509836240918893a3a977778d0d5756c114d5 --- /dev/null +++ b/src/badge/lib/src/TiBadgeComponent.ts @@ -0,0 +1,36 @@ +/** + * Copyright (c) 2022 - present TinyUI Authors. + * Copyright (c) 2022 - present Huawei Cloud Computing Technologies Co., Ltd. + * + * Use of this source code is governed by an MIT-style license. + * + * THE OPEN SOURCE SOFTWARE IN THIS PRODUCT IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, + * BUT WITHOUT ANY WARRANTY, WITHOUT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS FOR + * A PARTICULAR PURPOSE. SEE THE APPLICABLE LICENSES FOR MORE DETAILS. + * + */ +import { ChangeDetectionStrategy, Component, Input } from '@angular/core'; + +/** + * 组件描述 + */ +@Component({ + selector: 'ti-badge', + templateUrl: 'badge.html', + styleUrls: ['badge.less'], + changeDetection: ChangeDetectionStrategy.OnPush, + host: { + '[class.ti3-badge-container]': 'true' + } +}) +export class TiBadgeComponent { + /** + * 指定的数据信息 + */ + @Input() value: number | string; + + /** + * 标识的显示状态 + */ + @Input() show: boolean = true; +} diff --git a/src/badge/lib/src/TiBadgeModule.ts b/src/badge/lib/src/TiBadgeModule.ts new file mode 100644 index 0000000000000000000000000000000000000000..5c6dfa14f1743619452eed0b6727ac110ad064d3 --- /dev/null +++ b/src/badge/lib/src/TiBadgeModule.ts @@ -0,0 +1,22 @@ +/** + * Copyright (c) 2022 - present TinyUI Authors. + * Copyright (c) 2022 - present Huawei Cloud Computing Technologies Co., Ltd. + * + * Use of this source code is governed by an MIT-style license. + * + * THE OPEN SOURCE SOFTWARE IN THIS PRODUCT IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, + * BUT WITHOUT ANY WARRANTY, WITHOUT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS FOR + * A PARTICULAR PURPOSE. SEE THE APPLICABLE LICENSES FOR MORE DETAILS. + * + */ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { TiBadgeComponent } from './TiBadgeComponent'; + +@NgModule({ + imports: [CommonModule], + exports: [TiBadgeComponent], + declarations: [TiBadgeComponent] +}) +export class TiBadgeModule {} +export { TiBadgeComponent } from './TiBadgeComponent'; diff --git a/src/badge/lib/src/badge.html b/src/badge/lib/src/badge.html new file mode 100644 index 0000000000000000000000000000000000000000..1c1cf52079684a40cd6dc77221d813198ac029c3 --- /dev/null +++ b/src/badge/lib/src/badge.html @@ -0,0 +1 @@ + {{value}} diff --git a/src/badge/lib/src/badge.less b/src/badge/lib/src/badge.less new file mode 100644 index 0000000000000000000000000000000000000000..66cbba2e67ca51847b577df5960630e7a9998d7d --- /dev/null +++ b/src/badge/lib/src/badge.less @@ -0,0 +1,29 @@ +::ng-deep :root { + --ti-badge-dot-width: 4px; +} + +:host.ti3-badge-container { + display: inline-block; + position: relative; + .ti3-badge-tag { + display: inline-block; + position: absolute; + top: 0; + right: 0; + font-size: var(--ti-common-font-size-base); + text-align: center; + background: var(--ti-common-color-error); + color: var(--ti-common-color-text-white); + line-height: calc(var(--ti-common-line-height-number) * var(--ti-common-font-size-base) - 2px); + padding: 0 var(--ti-common-space-base); + border-radius: calc(var(--ti-common-border-radius-1) * 2); + transform: translate(50%, -50%); + } + .ti3-badge-dot { + width: var(--ti-badge-dot-width); + height: var(--ti-badge-dot-width); + padding: 0; + border-radius: 50%; + transform: translateX(var(--ti-badge-dot-width)); + } +} diff --git a/src/base/lib/LICENSE b/src/base/lib/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..7f66ede611c695506bdac52b31ea04b77b7f6a19 --- /dev/null +++ b/src/base/lib/LICENSE @@ -0,0 +1,21 @@ +The MIT License + +Copyright (c) 2022 - present TinyUI Authors. +Copyright (c) 2022 - present Huawei Cloud Computing Technologies Co., Ltd. + + +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/src/base/lib/package.json b/src/base/lib/package.json index 2ab7353e97848d78ae54412ad1a136805f735576..e57261988a1707eccef3dd70c3c3da3bf38b774b 100644 --- a/src/base/lib/package.json +++ b/src/base/lib/package.json @@ -1,9 +1,9 @@ { "name": "@opentiny/ng-base", - "version": "1.0.2", + "version": "1.0.3", "license": "MIT", "peerDependencies": { - "@opentiny/ng-utils": "~1.0.2", + "@opentiny/ng-utils": "~1.0.3", "@angular/core": ">=13.0.0", "@angular/forms": ">=13.0.0" } diff --git a/src/button/lib/LICENSE b/src/button/lib/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..7f66ede611c695506bdac52b31ea04b77b7f6a19 --- /dev/null +++ b/src/button/lib/LICENSE @@ -0,0 +1,21 @@ +The MIT License + +Copyright (c) 2022 - present TinyUI Authors. +Copyright (c) 2022 - present Huawei Cloud Computing Technologies Co., Ltd. + + +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/src/button/lib/package.json b/src/button/lib/package.json index 9944b6b0d2877ec9617d15bb3dc7ab885dc1b944..2a075e2dcaae8470bb0b7f17f6d81d4dab89ff1c 100644 --- a/src/button/lib/package.json +++ b/src/button/lib/package.json @@ -1,12 +1,12 @@ { "name": "@opentiny/ng-button", - "version": "1.0.2", + "version": "1.0.3", "license": "MIT", "peerDependencies": { - "@opentiny/ng-base": "~1.0.2", + "@opentiny/ng-base": "~1.0.3", "@angular/common": ">=13.0.0", "@angular/core": ">=13.0.0", - "@opentiny/ng-loading": "~1.0.2", - "@opentiny/ng-locale": "~1.0.2" + "@opentiny/ng-loading": "~1.0.3", + "@opentiny/ng-locale": "~1.0.3" } } \ No newline at end of file diff --git a/src/buttongroup/demo/src/app/AppModule.ts b/src/buttongroup/demo/src/app/AppModule.ts index c23ee8390542f29bdf7db7e8440b78bafdf88f03..f5e97133658932b92cc12d513a6a04a3566ccec9 100644 --- a/src/buttongroup/demo/src/app/AppModule.ts +++ b/src/buttongroup/demo/src/app/AppModule.ts @@ -4,11 +4,11 @@ import { RouterModule } from '@angular/router'; import { AppComponent } from './AppComponent'; import { IndexComponent } from './IndexComponent'; -import { ButtonGroupTestModule } from './buttongroup/ButtonGroupTestModule'; +import { ButtongroupTestModule } from './buttongroup/ButtongroupTestModule'; @NgModule({ imports: [ - ButtonGroupTestModule, + ButtongroupTestModule, BrowserModule.withServerTransition({ appId: 'serverApp' }), RouterModule.forRoot( [ diff --git a/src/buttongroup/demo/src/app/IndexComponent.ts b/src/buttongroup/demo/src/app/IndexComponent.ts index f18a22c16d91684dab9e224536604aa5c04e9ff4..5490df1d4598c19d1920bcaeba802ff2530959c2 100644 --- a/src/buttongroup/demo/src/app/IndexComponent.ts +++ b/src/buttongroup/demo/src/app/IndexComponent.ts @@ -1,5 +1,5 @@ import { Component } from '@angular/core'; -import { ButtonGroupTestModule } from './buttongroup/ButtonGroupTestModule'; +import { ButtongroupTestModule } from './buttongroup/ButtongroupTestModule'; @Component({ template: `