@opentiny/genui-sdk-materials-angular-opentiny-ng 1.3.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +59 -0
- package/dist/index.d.ts +17 -0
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -0
- package/dist/materials-DiEJoFCS.js +69 -0
- package/dist/materials-DiEJoFCS.js.map +1 -0
- package/dist/materials.d.ts +14 -0
- package/dist/materials.js +5 -0
- package/dist/materials.js.map +1 -0
- package/dist/meta.d.ts +5 -0
- package/dist/meta.js +147 -0
- package/dist/meta.js.map +1 -0
- package/package.json +64 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 OpenTiny
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# @opentiny/genui-sdk-materials-angular-opentiny-ng
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
A GenUI Angular materials package based on [OpenTiny NG](https://opentiny.design/tiny-ng/), providing materials metadata for schema-driven page generation.
|
|
5
|
+
|
|
6
|
+
## Install
|
|
7
|
+
|
|
8
|
+
```bash
|
|
9
|
+
npm install @opentiny/genui-sdk-materials-angular-opentiny-ng @opentiny/genui-sdk-core
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
## Quick Start
|
|
13
|
+
|
|
14
|
+
### Generate LLM Prompt (Server)
|
|
15
|
+
|
|
16
|
+
```ts
|
|
17
|
+
import { genPrompt } from '@opentiny/genui-sdk-core';
|
|
18
|
+
import { materialsMeta } from '@opentiny/genui-sdk-materials-angular-opentiny-ng/meta';
|
|
19
|
+
|
|
20
|
+
const systemPrompt = genPrompt('Angular', materialsMeta, customConfig);
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
`materialsMeta.wrapperComponent` defaults to `TiCard`.
|
|
24
|
+
|
|
25
|
+
### Default Props (Angular ConfigProvider)
|
|
26
|
+
|
|
27
|
+
Pass `materialsMeta` via `rendererConfig` so the renderer can derive component default props:
|
|
28
|
+
|
|
29
|
+
```ts
|
|
30
|
+
import { materialsMeta } from '@opentiny/genui-sdk-materials-angular-opentiny-ng/meta';
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
```html
|
|
34
|
+
<genui-config-provider [rendererConfig]="materialsMeta">
|
|
35
|
+
<genui-renderer ... />
|
|
36
|
+
</genui-config-provider>
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## API
|
|
40
|
+
|
|
41
|
+
| Export Path | Exports | Description |
|
|
42
|
+
|-------------|---------|-------------|
|
|
43
|
+
| `@opentiny/genui-sdk-materials-angular-opentiny-ng` | `materialsMeta` | Unified entry |
|
|
44
|
+
| `.../meta` | `materialsMeta` | For `genPrompt()` / building the server system prompt |
|
|
45
|
+
|
|
46
|
+
### `materialsMeta`
|
|
47
|
+
|
|
48
|
+
Materials metadata, including:
|
|
49
|
+
|
|
50
|
+
- `materials`: Protocol descriptions for components / blocks / snippets
|
|
51
|
+
- `wrapperComponent`: Default wrapper component (`TiCard`)
|
|
52
|
+
- `whiteList`: Whitelist of `componentName` values available to the LLM
|
|
53
|
+
- `examples`: Prompt example schemas
|
|
54
|
+
|
|
55
|
+
Component library: `@opentiny/ng`.
|
|
56
|
+
|
|
57
|
+
## More
|
|
58
|
+
|
|
59
|
+
- [GenUI SDK](https://opentiny.design/genui-sdk)
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { IMaterials } from '@opentiny/genui-sdk-core';
|
|
2
|
+
import { IMaterialsMeta } from '@opentiny/genui-sdk-core';
|
|
3
|
+
import { Type } from '@angular/core';
|
|
4
|
+
|
|
5
|
+
export declare type AutoApplyDirectivePattern = Record<string, (schema: any, context?: Record<PropertyKey, any>) => boolean>;
|
|
6
|
+
|
|
7
|
+
export declare interface INgMaterials extends IMaterials {
|
|
8
|
+
modules?: Record<string, Type<any>>;
|
|
9
|
+
directives?: Record<string, Type<any>>;
|
|
10
|
+
autoApplyDirectives?: AutoApplyDirectivePattern;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export declare const materials: INgMaterials;
|
|
14
|
+
|
|
15
|
+
export declare const materialsMeta: IMaterialsMeta;
|
|
16
|
+
|
|
17
|
+
export { }
|
package/dist/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { buildMaterialDefaultValueMap as p } from "@opentiny/genui-sdk-core";
|
|
2
|
+
import { materialsMeta as r } from "./meta.js";
|
|
3
|
+
import { TiTipDirective as m, TiTextComponent as a, TiTextareaComponent as n, TiRadioComponent as d, TiCheckboxComponent as l, TiTextareaModule as u, TiRateModule as C, TiSliderModule as c, TiDateRangeModule as M, TiFormfieldModule as i, TiCardModule as e, TiUploadModule as s, TiSwitchModule as b, TiRadioModule as o, TiCheckboxModule as T, TiTabModule as t, TiPaginationModule as x, TiDateModule as R, TiModalModule as S, TiTableModule as h, TiTextModule as D, TiSelectModule as g, TiButtonModule as f, TiRateComponent as k, TiSliderComponent as F, TiDateRangeComponent as G, TiItemComponent as P, TiCardHeaderComponent as w, TiFormfieldComponent as B, TiUploadComponent as U, TiCardComponent as v, TiSwitchComponent as A, TiRadioGroupComponent as H, TiCheckboxGroupComponent as I, TiTabComponent as y, TiTabsComponent as V, TiPaginationComponent as j, TiDateComponent as q, TiModalComponent as z, TiTableComponent as E, TiSelectComponent as J, TiButtonComponent as K } from "@opentiny/ng";
|
|
4
|
+
const L = {
|
|
5
|
+
TiTip: m
|
|
6
|
+
}, N = {};
|
|
7
|
+
a.ɵcmp.selectors[0][0] = "input";
|
|
8
|
+
n.ɵcmp.selectors[0][0] = "textarea";
|
|
9
|
+
d.ɵcmp.selectors[0][0] = "input";
|
|
10
|
+
l.ɵcmp.selectors[0][0] = "input";
|
|
11
|
+
const O = {
|
|
12
|
+
TiButton: K,
|
|
13
|
+
TiSelect: J,
|
|
14
|
+
TiText: a,
|
|
15
|
+
TiTable: E,
|
|
16
|
+
TiModal: z,
|
|
17
|
+
TiDate: q,
|
|
18
|
+
TiPagination: j,
|
|
19
|
+
TiTabs: V,
|
|
20
|
+
TiTab: y,
|
|
21
|
+
TiCheckbox: l,
|
|
22
|
+
TiCheckboxGroup: I,
|
|
23
|
+
TiRadio: d,
|
|
24
|
+
TiRadioGroup: H,
|
|
25
|
+
TiSwitch: A,
|
|
26
|
+
TiCard: v,
|
|
27
|
+
TiUpload: U,
|
|
28
|
+
TiFormField: B,
|
|
29
|
+
TiCardHeader: w,
|
|
30
|
+
TiItem: P,
|
|
31
|
+
TiDateRange: G,
|
|
32
|
+
TiSlider: F,
|
|
33
|
+
TiRate: k,
|
|
34
|
+
TiTextArea: n
|
|
35
|
+
}, Q = {
|
|
36
|
+
TiButton: f,
|
|
37
|
+
TiSelect: g,
|
|
38
|
+
TiText: D,
|
|
39
|
+
TiTable: h,
|
|
40
|
+
TiModal: S,
|
|
41
|
+
TiDate: R,
|
|
42
|
+
TiPagination: x,
|
|
43
|
+
TiTabs: t,
|
|
44
|
+
TiTab: t,
|
|
45
|
+
TiCheckbox: T,
|
|
46
|
+
TiCheckboxGroup: T,
|
|
47
|
+
TiRadio: o,
|
|
48
|
+
TiRadioGroup: o,
|
|
49
|
+
TiSwitch: b,
|
|
50
|
+
TiCard: e,
|
|
51
|
+
TiUpload: s,
|
|
52
|
+
TiFormField: i,
|
|
53
|
+
TiCardHeader: e,
|
|
54
|
+
TiItem: i,
|
|
55
|
+
TiDateRange: M,
|
|
56
|
+
TiSlider: c,
|
|
57
|
+
TiRate: C,
|
|
58
|
+
TiTextArea: u
|
|
59
|
+
}, Z = {
|
|
60
|
+
components: O,
|
|
61
|
+
modules: Q,
|
|
62
|
+
directives: L,
|
|
63
|
+
autoApplyDirectives: N,
|
|
64
|
+
defaultPropsMap: p(r)
|
|
65
|
+
};
|
|
66
|
+
export {
|
|
67
|
+
Z as m
|
|
68
|
+
};
|
|
69
|
+
//# sourceMappingURL=materials-DiEJoFCS.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"materials-DiEJoFCS.js","sources":["../src/materials/directives/ng-directives.ts","../src/materials/components/ng-components.ts","../src/materials/materials.ts"],"sourcesContent":["import { Type } from '@angular/core';\nimport { TiTipDirective } from '@opentiny/ng';\nimport type { AutoApplyDirectivePattern } from '../materials';\n\nexport const directives: Record<string, Type<any>> = {\n TiTip: TiTipDirective,\n};\n\nexport const autoApplyDirectives: AutoApplyDirectivePattern = {};\n","import { Type } from '@angular/core';\nimport {\n TiButtonComponent,\n TiButtonModule,\n TiSelectComponent,\n TiSelectModule,\n TiTextComponent,\n TiTextModule,\n TiTableComponent,\n TiTableModule,\n TiModalComponent,\n TiModalModule,\n TiDateComponent,\n TiDateModule,\n TiPaginationComponent,\n TiPaginationModule,\n TiTabsComponent,\n TiTabModule,\n TiCheckboxComponent,\n TiCheckboxModule,\n TiCheckboxGroupComponent,\n TiRadioComponent,\n TiRadioModule,\n TiRadioGroupComponent,\n TiTabComponent,\n TiSwitchComponent,\n TiSwitchModule,\n TiCardComponent,\n TiCardModule,\n TiUploadComponent,\n TiUploadModule,\n TiFormfieldComponent,\n TiFormfieldModule,\n TiCardHeaderComponent,\n TiItemComponent,\n TiDateRangeComponent,\n TiDateRangeModule,\n TiSliderComponent,\n TiSliderModule,\n TiRateComponent,\n TiRateModule,\n TiTextareaComponent,\n TiTextareaModule,\n} from '@opentiny/ng';\n\n(TiTextComponent['ɵcmp'] as any).selectors[0][0] = 'input';\n(TiTextareaComponent['ɵcmp'] as any).selectors[0][0] = 'textarea';\n(TiRadioComponent['ɵcmp'] as any).selectors[0][0] = 'input';\n(TiCheckboxComponent['ɵcmp'] as any).selectors[0][0] = 'input';\n\nexport const components: Record<string, Type<any>> = {\n TiButton: TiButtonComponent,\n TiSelect: TiSelectComponent,\n TiText: TiTextComponent,\n TiTable: TiTableComponent,\n TiModal: TiModalComponent,\n TiDate: TiDateComponent,\n TiPagination: TiPaginationComponent,\n TiTabs: TiTabsComponent,\n TiTab: TiTabComponent,\n TiCheckbox: TiCheckboxComponent,\n TiCheckboxGroup: TiCheckboxGroupComponent,\n TiRadio: TiRadioComponent,\n TiRadioGroup: TiRadioGroupComponent,\n TiSwitch: TiSwitchComponent,\n TiCard: TiCardComponent,\n TiUpload: TiUploadComponent,\n TiFormField: TiFormfieldComponent,\n TiCardHeader: TiCardHeaderComponent,\n TiItem: TiItemComponent,\n TiDateRange: TiDateRangeComponent,\n TiSlider: TiSliderComponent,\n TiRate: TiRateComponent,\n TiTextArea: TiTextareaComponent,\n};\n\nexport const modules: Record<string, Type<any>> = {\n TiButton: TiButtonModule,\n TiSelect: TiSelectModule,\n TiText: TiTextModule,\n TiTable: TiTableModule,\n TiModal: TiModalModule,\n TiDate: TiDateModule,\n TiPagination: TiPaginationModule,\n TiTabs: TiTabModule,\n TiTab: TiTabModule,\n TiCheckbox: TiCheckboxModule,\n TiCheckboxGroup: TiCheckboxModule,\n TiRadio: TiRadioModule,\n TiRadioGroup: TiRadioModule,\n TiSwitch: TiSwitchModule,\n TiCard: TiCardModule,\n TiUpload: TiUploadModule,\n TiFormField: TiFormfieldModule,\n TiCardHeader: TiCardModule,\n TiItem: TiFormfieldModule,\n TiDateRange: TiDateRangeModule,\n TiSlider: TiSliderModule,\n TiRate: TiRateModule,\n TiTextArea: TiTextareaModule,\n};\n","import type { Type } from '@angular/core';\nimport { buildMaterialDefaultValueMap, type IMaterials } from '@opentiny/genui-sdk-core';\nimport { materialsMeta } from '../meta';\nimport { autoApplyDirectives, directives } from './directives';\nimport { components, modules } from './components';\n\nexport type AutoApplyDirectivePattern = Record<\n string,\n (schema: any, context?: Record<PropertyKey, any>) => boolean\n>;\n\nexport interface INgMaterials extends IMaterials {\n modules?: Record<string, Type<any>>;\n directives?: Record<string, Type<any>>;\n autoApplyDirectives?: AutoApplyDirectivePattern;\n}\n\nexport const materials: INgMaterials = {\n components,\n modules,\n directives,\n autoApplyDirectives,\n defaultPropsMap: buildMaterialDefaultValueMap(materialsMeta),\n};\n"],"names":["directives","TiTipDirective","autoApplyDirectives","TiTextComponent","TiTextareaComponent","TiRadioComponent","TiCheckboxComponent","components","TiButtonComponent","TiSelectComponent","TiTableComponent","TiModalComponent","TiDateComponent","TiPaginationComponent","TiTabsComponent","TiTabComponent","TiCheckboxGroupComponent","TiRadioGroupComponent","TiSwitchComponent","TiCardComponent","TiUploadComponent","TiFormfieldComponent","TiCardHeaderComponent","TiItemComponent","TiDateRangeComponent","TiSliderComponent","TiRateComponent","modules","TiButtonModule","TiSelectModule","TiTextModule","TiTableModule","TiModalModule","TiDateModule","TiPaginationModule","TiTabModule","TiCheckboxModule","TiRadioModule","TiSwitchModule","TiCardModule","TiUploadModule","TiFormfieldModule","TiDateRangeModule","TiSliderModule","TiRateModule","TiTextareaModule","materials","buildMaterialDefaultValueMap","materialsMeta"],"mappings":";;;AAIO,MAAMA,IAAwC;AAAA,EACnD,OAAOC;AACT,GAEaC,IAAiD,CAAA;ACqC7DC,EAAgB,KAAgB,UAAU,CAAC,EAAE,CAAC,IAAI;AAClDC,EAAoB,KAAgB,UAAU,CAAC,EAAE,CAAC,IAAI;AACtDC,EAAiB,KAAgB,UAAU,CAAC,EAAE,CAAC,IAAI;AACnDC,EAAoB,KAAgB,UAAU,CAAC,EAAE,CAAC,IAAI;AAEhD,MAAMC,IAAwC;AAAA,EACnD,UAAUC;AAAA,EACV,UAAUC;AAAA,EACV,QAAQN;AAAA,EACR,SAASO;AAAA,EACT,SAASC;AAAA,EACT,QAAQC;AAAA,EACR,cAAcC;AAAA,EACd,QAAQC;AAAA,EACR,OAAOC;AAAA,EACP,YAAYT;AAAA,EACZ,iBAAiBU;AAAA,EACjB,SAASX;AAAA,EACT,cAAcY;AAAA,EACd,UAAUC;AAAA,EACV,QAAQC;AAAA,EACR,UAAUC;AAAA,EACV,aAAaC;AAAA,EACb,cAAcC;AAAA,EACd,QAAQC;AAAA,EACR,aAAaC;AAAA,EACb,UAAUC;AAAA,EACV,QAAQC;AAAA,EACR,YAAYtB;AACd,GAEauB,IAAqC;AAAA,EAChD,UAAUC;AAAA,EACV,UAAUC;AAAA,EACV,QAAQC;AAAA,EACR,SAASC;AAAA,EACT,SAASC;AAAA,EACT,QAAQC;AAAA,EACR,cAAcC;AAAA,EACd,QAAQC;AAAA,EACR,OAAOA;AAAA,EACP,YAAYC;AAAA,EACZ,iBAAiBA;AAAA,EACjB,SAASC;AAAA,EACT,cAAcA;AAAA,EACd,UAAUC;AAAA,EACV,QAAQC;AAAA,EACR,UAAUC;AAAA,EACV,aAAaC;AAAA,EACb,cAAcF;AAAA,EACd,QAAQE;AAAA,EACR,aAAaC;AAAA,EACb,UAAUC;AAAA,EACV,QAAQC;AAAA,EACR,YAAYC;AACd,GCnFaC,IAA0B;AAAA,EACrC,YAAAvC;AAAA,EACA,SAAAoB;AAAA,EACA,YAAA3B;AAAA,EACA,qBAAAE;AAAA,EACA,iBAAiB6C,EAA6BC,CAAa;AAC7D;"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { IMaterials } from '@opentiny/genui-sdk-core';
|
|
2
|
+
import { Type } from '@angular/core';
|
|
3
|
+
|
|
4
|
+
export declare type AutoApplyDirectivePattern = Record<string, (schema: any, context?: Record<PropertyKey, any>) => boolean>;
|
|
5
|
+
|
|
6
|
+
export declare interface INgMaterials extends IMaterials {
|
|
7
|
+
modules?: Record<string, Type<any>>;
|
|
8
|
+
directives?: Record<string, Type<any>>;
|
|
9
|
+
autoApplyDirectives?: AutoApplyDirectivePattern;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export declare const materials: INgMaterials;
|
|
13
|
+
|
|
14
|
+
export { }
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"materials.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
package/dist/meta.d.ts
ADDED
package/dist/meta.js
ADDED
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
const o = /* @__PURE__ */ JSON.parse(`{"framework":"Angular","materials":{"components":[{"id":1,"version":"3.8.0","name":{"zh_CN":"按钮"},"component":"TiButton","icon":"button","description":"按钮组件,支持多种样式和尺寸","doc_url":"https://www.opentiny.design/tiny-ng/components/button","screenshot":"","tags":"button,按钮,基础组件","keywords":"button,按钮,点击","dev_mode":"proCode","npm":{"package":"@opentiny/ng","exportName":"TiButtonComponent","destructuring":false},"group":"基础组件","category":"opentiny-ng","configure":{"loop":true,"condition":true,"styles":true,"isContainer":false,"isModal":false,"isPopper":false,"nestingRule":{"childWhitelist":"","parentWhitelist":"","descendantBlacklist":"","ancestorWhitelist":""},"isNullNode":false,"isLayout":false,"rootSelector":"","shortcuts":{"properties":["color","size","disabled"]},"contextMenu":{"actions":["copy","remove","insert","updateAttr","bindEvent","createBlock"],"disable":[]},"invalidity":[],"clickCapture":true,"framework":"Angular"},"schema":{"properties":[{"name":"0","label":{"zh_CN":"基础属性"},"content":[{"property":"color","label":{"text":{"zh_CN":"按钮颜色"}},"description":{"zh_CN":"按钮颜色,可选值:default、primary、danger"},"required":false,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"string","widget":{"component":"SelectConfigurator","props":{"options":[{"label":"default","value":"default"},{"label":"primary","value":"primary"},{"label":"danger","value":"danger"}]}}},{"property":"size","label":{"text":{"zh_CN":"按钮尺寸"}},"description":{"zh_CN":"按钮尺寸,可选值:xs、small、middle、large"},"required":false,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"string","widget":{"component":"SelectConfigurator","props":{"options":[{"label":"xs","value":"xs"},{"label":"small","value":"small"},{"label":"middle","value":"middle"},{"label":"large","value":"large"}]}}},{"property":"disabled","label":{"text":{"zh_CN":"是否禁用, 值只有true和null,没有false"}},"description":{"zh_CN":"是否禁用按钮"},"required":false,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"boolean","widget":{"component":"CheckBoxConfigurator","props":{}}},{"property":"loading","label":{"text":{"zh_CN":"加载状态"}},"description":{"zh_CN":"是否显示加载状态"},"required":false,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"boolean","widget":{"component":"CheckBoxConfigurator","props":{}}}],"description":{"zh_CN":""}}],"events":{"onClick":{"label":{"zh_CN":"点击事件"},"description":{"zh_CN":"按钮点击时触发"},"type":"event","functionInfo":{"params":[{"name":"event","type":"Event","description":{"zh_CN":"原生事件对象"}}],"returns":{}}}},"slots":{}}},{"id":2,"version":"3.8.0","name":{"zh_CN":"输入框"},"component":"TiText","icon":"input","description":"通过鼠标或键盘输入字符","doc_url":"https://www.opentiny.design/tiny-ng/components/text","screenshot":"","tags":"input,输入框,表单组件","keywords":"input,输入框,表单","dev_mode":"proCode","npm":{"package":"@opentiny/ng","exportName":"TiTextComponent","destructuring":false},"group":"表单组件","category":"opentiny-ng","configure":{"loop":true,"condition":true,"styles":true,"isContainer":false,"isModal":false,"isPopper":false,"nestingRule":{"childWhitelist":"","parentWhitelist":"","descendantBlacklist":"","ancestorWhitelist":""},"isNullNode":false,"isLayout":false,"rootSelector":"","shortcuts":{"properties":["placeholder","disabled","size"]},"contextMenu":{"actions":["copy","remove","insert","updateAttr","bindEvent","createBlock"],"disable":[]},"invalidity":[],"clickCapture":true,"framework":"Angular"},"schema":{"properties":[{"name":"0","label":{"zh_CN":"基础属性"},"content":[{"property":"ngModel","label":{"text":{"zh_CN":"绑定值"}},"description":{"zh_CN":"输入框绑定值"},"required":true,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"string","widget":{"component":"InputConfigurator","props":{}}},{"property":"placeholder","label":{"text":{"zh_CN":"占位文本"}},"description":{"zh_CN":"输入框占位文本"},"required":false,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"string","widget":{"component":"I18nConfigurator","props":{}}},{"property":"disabled","label":{"text":{"zh_CN":"是否禁用"}},"description":{"zh_CN":"是否禁用输入框"},"required":false,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"boolean","widget":{"component":"CheckBoxConfigurator","props":{}}},{"property":"readonly","label":{"text":{"zh_CN":"是否只读"}},"description":{"zh_CN":"是否只读"},"required":false,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"boolean","widget":{"component":"CheckBoxConfigurator","props":{}}},{"property":"size","label":{"text":{"zh_CN":"尺寸"}},"description":{"zh_CN":"输入框尺寸"},"required":false,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"string","widget":{"component":"SelectConfigurator","props":{"options":[{"label":"small","value":"small"},{"label":"medium","value":"medium"},{"label":"large","value":"large"}]}}},{"property":"maxlength","label":{"text":{"zh_CN":"最大长度"}},"description":{"zh_CN":"最大输入长度"},"required":false,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"number","widget":{"component":"NumberConfigurator","props":{}}}],"description":{"zh_CN":""}}],"events":{"onNgModelChange":{"label":{"zh_CN":"值改变事件"},"description":{"zh_CN":"输入值改变时触发"},"type":"event","functionInfo":{"params":[{"name":"value","type":"string","description":{"zh_CN":"当前输入值"}}],"returns":{}}},"onBlur":{"label":{"zh_CN":"失去焦点事件"},"description":{"zh_CN":"输入框失去焦点时触发"},"type":"event","functionInfo":{"params":[{"name":"event","type":"FocusEvent","description":{"zh_CN":"焦点事件对象"}}],"returns":{}}},"onFocus":{"label":{"zh_CN":"获取焦点事件"},"description":{"zh_CN":"输入框获取焦点时触发"},"type":"event","functionInfo":{"params":[{"name":"event","type":"FocusEvent","description":{"zh_CN":"焦点事件对象"}}],"returns":{}}}},"slots":{}}},{"id":3,"version":"3.8.0","name":{"zh_CN":"表格"},"component":"TiTable","icon":"table","description":"用于展示多条结构类似的数据","doc_url":"https://www.opentiny.design/tiny-ng/components/table","screenshot":"","tags":"table,表格,数据展示","keywords":"table,表格,数据","dev_mode":"proCode","npm":{"package":"@opentiny/ng","exportName":"TiTableComponent","destructuring":false},"relatedComponents":["TiCellIconsComponent","TiCellTextComponent","TiColClickDirective","TiColsResizableDirective","TiColsToggleComponent","TiColspanDirective","TiColumnFixedDirective","TiDetailsIconComponent","TiDetailsTrDirective","TiHeadFilterComponent","TiHeadMenuComponent","TiHeadSortComponent","TiTableFixedSizeVirtualScrollDirective","TiTableVirtualScrollViewportComponent"],"group":"数据展示","category":"opentiny-ng","configure":{"loop":true,"condition":true,"styles":true,"isContainer":true,"isModal":false,"isPopper":false,"nestingRule":{"childWhitelist":"TiTableColumn","parentWhitelist":"","descendantBlacklist":"","ancestorWhitelist":""},"isNullNode":false,"isLayout":false,"rootSelector":"","shortcuts":{"properties":["srcData","displayedData","columns"]},"contextMenu":{"actions":["copy","remove","insert","updateAttr","bindEvent","createBlock"],"disable":[]},"invalidity":[],"clickCapture":true,"framework":"Angular"},"schema":{"properties":[{"name":"0","label":{"zh_CN":"基础属性"},"content":[{"property":"srcData","label":{"text":{"zh_CN":"源数据"}},"description":{"zh_CN":"表格源数据及其状态,包含 data(源数据数组)和 state(数据状态:searched、sorted、paginated)"},"required":true,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"object","widget":{"component":"ObjectConfigurator","props":{}}},{"property":"displayedData","label":{"text":{"zh_CN":"显示数据"}},"description":{"zh_CN":"表格呈现的数据,只需在初始化时将其设置为空数组即可,组件内部会对其赋值和更新"},"required":true,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"array","widget":{"component":"ArrayConfigurator","props":{}}},{"property":"columns","label":{"text":{"zh_CN":"列配置"}},"description":{"zh_CN":"表格各列的配置信息"},"required":true,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"array","widget":{"component":"ArrayConfigurator","props":{}}},{"property":"border","label":{"text":{"zh_CN":"是否显示边框"}},"description":{"zh_CN":"是否显示表格边框"},"required":false,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"boolean","widget":{"component":"CheckBoxConfigurator","props":{}}},{"property":"stripe","label":{"text":{"zh_CN":"是否显示斑马纹"}},"description":{"zh_CN":"是否显示斑马纹"},"required":false,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"boolean","widget":{"component":"CheckBoxConfigurator","props":{}}},{"property":"size","label":{"text":{"zh_CN":"表格尺寸"}},"description":{"zh_CN":"表格尺寸"},"required":false,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"string","widget":{"component":"SelectConfigurator","props":{"options":[{"label":"small","value":"small"},{"label":"medium","value":"medium"},{"label":"large","value":"large"}]}}}],"description":{"zh_CN":""}}],"events":{"onDisplayedDataChange":{"label":{"zh_CN":"显示数据变化事件"},"description":{"zh_CN":"当表格显示数据发生变化时触发"},"type":"event","functionInfo":{"params":[{"name":"displayedData","type":"any[]","description":{"zh_CN":"当前显示的表格数据数组"}}],"returns":{}}},"onStateUpdate":{"label":{"zh_CN":"状态更新事件"},"description":{"zh_CN":"当表格状态(搜索、排序、分页)更新时触发"},"type":"event","functionInfo":{"params":[{"name":"tableComponent","type":"TiTableComponent","description":{"zh_CN":"表格组件实例,可通过 getDataState() 方法获取当前数据状态"}}],"returns":{}}}},"slots":{}}},{"id":4,"version":"3.8.0","name":{"zh_CN":"对话框"},"component":"TiModal","icon":"dialog","description":"在保留当前页面状态的情况下,告知用户并承载相关操作","doc_url":"https://www.opentiny.design/tiny-ng/components/modal","screenshot":"","tags":"dialog,对话框,弹窗,modal","keywords":"dialog,对话框,弹窗,modal","dev_mode":"proCode","npm":{"package":"@opentiny/ng","exportName":"TiModalComponent","destructuring":false},"group":"反馈组件","category":"opentiny-ng","configure":{"loop":true,"condition":true,"styles":true,"isContainer":true,"isModal":true,"isPopper":false,"nestingRule":{"childWhitelist":"","parentWhitelist":"","descendantBlacklist":"","ancestorWhitelist":""},"isNullNode":false,"isLayout":false,"rootSelector":"","shortcuts":{"properties":["title","visible","width"]},"contextMenu":{"actions":["copy","remove","insert","updateAttr","bindEvent","createBlock"],"disable":[]},"invalidity":[],"clickCapture":true,"framework":"Angular"},"schema":{"properties":[{"name":"0","label":{"zh_CN":"基础属性"},"content":[{"property":"title","label":{"text":{"zh_CN":"标题"}},"description":{"zh_CN":"对话框标题"},"required":false,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"string","widget":{"component":"I18nConfigurator","props":{}}},{"property":"visible","label":{"text":{"zh_CN":"是否显示"}},"description":{"zh_CN":"是否显示对话框"},"required":true,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"boolean","widget":{"component":"CheckBoxConfigurator","props":{}}},{"property":"width","label":{"text":{"zh_CN":"宽度"}},"description":{"zh_CN":"对话框宽度"},"required":false,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"string","widget":{"component":"InputConfigurator","props":{}}},{"property":"closeOnClickModal","label":{"text":{"zh_CN":"点击遮罩层关闭"}},"description":{"zh_CN":"是否可以通过点击遮罩层关闭对话框"},"required":false,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"boolean","widget":{"component":"CheckBoxConfigurator","props":{}}},{"property":"showClose","label":{"text":{"zh_CN":"显示关闭按钮"}},"description":{"zh_CN":"是否显示关闭按钮"},"required":false,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"boolean","widget":{"component":"CheckBoxConfigurator","props":{}}}],"description":{"zh_CN":""}}],"events":{"onClose":{"label":{"zh_CN":"关闭事件"},"description":{"zh_CN":"对话框关闭时触发"},"type":"event","functionInfo":{"params":[],"returns":{}}},"onOpen":{"label":{"zh_CN":"打开事件"},"description":{"zh_CN":"对话框打开时触发"},"type":"event","functionInfo":{"params":[],"returns":{}}}},"slots":{"default":{"label":{"zh_CN":"对话框内容"},"description":{"zh_CN":"对话框的主要内容"}},"footer":{"label":{"zh_CN":"底部内容"},"description":{"zh_CN":"对话框底部内容"}}}}},{"id":5,"version":"3.8.0","name":{"zh_CN":"选择器"},"component":"TiSelect","icon":"select","description":"当选项过多时,使用下拉菜单展示并选择内容","doc_url":"https://www.opentiny.design/tiny-ng/components/select","screenshot":"","tags":"select,选择器,下拉选择","keywords":"select,选择器,下拉","dev_mode":"proCode","npm":{"package":"@opentiny/ng","exportName":"TiSelectComponent","destructuring":false},"group":"表单组件","category":"opentiny-ng","configure":{"loop":true,"condition":true,"styles":true,"isContainer":false,"isModal":false,"isPopper":true,"nestingRule":{"childWhitelist":"","parentWhitelist":"","descendantBlacklist":"","ancestorWhitelist":""},"isNullNode":false,"isLayout":false,"rootSelector":"","shortcuts":{"properties":["ngModel","options","placeholder"]},"contextMenu":{"actions":["copy","remove","insert","updateAttr","bindEvent","createBlock"],"disable":[]},"invalidity":[],"clickCapture":true,"framework":"Angular"},"schema":{"properties":[{"name":"0","label":{"zh_CN":"基础属性"},"content":[{"property":"ngModel","label":{"text":{"zh_CN":"绑定值"}},"description":{"zh_CN":"选择器的绑定值"},"required":true,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"string","widget":{"component":"InputConfigurator","props":{}}},{"property":"options","label":{"text":{"zh_CN":"选项数据"}},"description":{"zh_CN":"选项数据源"},"required":false,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"array","widget":{"component":"ArrayConfigurator","props":{}}},{"property":"placeholder","label":{"text":{"zh_CN":"占位文本"}},"description":{"zh_CN":"选择器占位文本"},"required":false,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"string","widget":{"component":"I18nConfigurator","props":{}}},{"property":"disabled","label":{"text":{"zh_CN":"是否禁用"}},"description":{"zh_CN":"是否禁用选择器"},"required":false,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"boolean","widget":{"component":"CheckBoxConfigurator","props":{}}},{"property":"multiple","label":{"text":{"zh_CN":"是否多选"}},"description":{"zh_CN":"是否支持多选"},"required":false,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"boolean","widget":{"component":"CheckBoxConfigurator","props":{}}},{"property":"clearable","label":{"text":{"zh_CN":"是否可清空"}},"description":{"zh_CN":"是否可以清空选项"},"required":false,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"boolean","widget":{"component":"CheckBoxConfigurator","props":{}}}],"description":{"zh_CN":""}}],"events":{"onNgModelChange":{"label":{"zh_CN":"值改变事件"},"description":{"zh_CN":"选择值改变时触发"},"type":"event","functionInfo":{"params":[{"name":"value","type":"any","description":{"zh_CN":"当前选中的值"}}],"returns":{}}},"onVisibleChange":{"label":{"zh_CN":"下拉框显示/隐藏事件"},"description":{"zh_CN":"下拉框显示或隐藏时触发"},"type":"event","functionInfo":{"params":[{"name":"visible","type":"boolean","description":{"zh_CN":"是否显示"}}],"returns":{}}}},"slots":{}}},{"id":6,"version":"3.8.0","name":{"zh_CN":"日期选择器"},"component":"TiDate","icon":"datepick","description":"用于选择或输入日期","doc_url":"https://www.opentiny.design/tiny-ng/components/date","screenshot":"","tags":"datepicker,日期选择器,日期","keywords":"datepicker,日期,选择","dev_mode":"proCode","npm":{"package":"@opentiny/ng","exportName":"TiDateComponent","destructuring":false},"group":"表单组件","category":"opentiny-ng","configure":{"loop":true,"condition":true,"styles":true,"isContainer":false,"isModal":false,"isPopper":true,"nestingRule":{"childWhitelist":"","parentWhitelist":"","descendantBlacklist":"","ancestorWhitelist":""},"isNullNode":false,"isLayout":false,"rootSelector":"","shortcuts":{"properties":["ngModel","placeholder","format"]},"contextMenu":{"actions":["copy","remove","insert","updateAttr","bindEvent","createBlock"],"disable":[]},"invalidity":[],"clickCapture":true,"framework":"Angular"},"schema":{"properties":[{"name":"0","label":{"zh_CN":"基础属性"},"content":[{"property":"ngModel","label":{"text":{"zh_CN":"绑定值"}},"description":{"zh_CN":"日期选择器的绑定值"},"required":true,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"date","widget":{"component":"DateConfigurator","props":{}}},{"property":"placeholder","label":{"text":{"zh_CN":"占位文本"}},"description":{"zh_CN":"输入框占位文本"},"required":false,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"string","widget":{"component":"I18nConfigurator","props":{}}},{"property":"format","label":{"text":{"zh_CN":"显示格式"}},"description":{"zh_CN":"日期显示格式"},"required":false,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"string","widget":{"component":"InputConfigurator","props":{}}},{"property":"disabled","label":{"text":{"zh_CN":"是否禁用"}},"description":{"zh_CN":"是否禁用日期选择器"},"required":false,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"boolean","widget":{"component":"CheckBoxConfigurator","props":{}}},{"property":"clearable","label":{"text":{"zh_CN":"是否可清空"}},"description":{"zh_CN":"是否可以清空日期"},"required":false,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"boolean","widget":{"component":"CheckBoxConfigurator","props":{}}}],"description":{"zh_CN":""}}],"events":{"onNgModelChange":{"label":{"zh_CN":"值改变事件"},"description":{"zh_CN":"日期值改变时触发"},"type":"event","functionInfo":{"params":[{"name":"value","type":"Date","description":{"zh_CN":"当前选中的日期"}}],"returns":{}}}},"slots":{}}},{"id":7,"version":"3.8.0","name":{"zh_CN":"分页"},"component":"TiPagination","icon":"pagination","description":"当数据量过多时,使用分页分解数据","doc_url":"https://www.opentiny.design/tiny-ng/components/pagination","screenshot":"","tags":"pagination,分页,翻页","keywords":"pagination,分页","dev_mode":"proCode","npm":{"package":"@opentiny/ng","exportName":"TiPaginationComponent","destructuring":false},"group":"数据展示","category":"opentiny-ng","configure":{"loop":true,"condition":true,"styles":true,"isContainer":false,"isModal":false,"isPopper":false,"nestingRule":{"childWhitelist":"","parentWhitelist":"","descendantBlacklist":"","ancestorWhitelist":""},"isNullNode":false,"isLayout":false,"rootSelector":"","shortcuts":{"properties":["currentPage","pageSize","total"]},"contextMenu":{"actions":["copy","remove","insert","updateAttr","bindEvent","createBlock"],"disable":[]},"invalidity":[],"clickCapture":true,"framework":"Angular"},"schema":{"properties":[{"name":"0","label":{"zh_CN":"基础属性"},"content":[{"property":"currentPage","label":{"text":{"zh_CN":"当前页"}},"description":{"zh_CN":"当前页码"},"required":true,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"number","widget":{"component":"NumberConfigurator","props":{}}},{"property":"pageSize","label":{"text":{"zh_CN":"每页条数"}},"description":{"zh_CN":"每页显示的数据条数"},"required":true,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"number","widget":{"component":"NumberConfigurator","props":{}}},{"property":"total","label":{"text":{"zh_CN":"总条数"}},"description":{"zh_CN":"数据总条数"},"required":true,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"number","widget":{"component":"NumberConfigurator","props":{}}},{"property":"pageSizes","label":{"text":{"zh_CN":"每页条数选项"}},"description":{"zh_CN":"每页条数选项数组"},"required":false,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"array","widget":{"component":"ArrayConfigurator","props":{}}},{"property":"layout","label":{"text":{"zh_CN":"布局"}},"description":{"zh_CN":"组件布局,子组件名用逗号分隔"},"required":false,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"string","widget":{"component":"InputConfigurator","props":{}}}],"description":{"zh_CN":""}}],"events":{"onCurrentPageChange":{"label":{"zh_CN":"当前页改变事件"},"description":{"zh_CN":"当前页改变时触发"},"type":"event","functionInfo":{"params":[{"name":"currentPage","type":"number","description":{"zh_CN":"当前页码"}}],"returns":{}}},"onPageSizeChange":{"label":{"zh_CN":"每页条数改变事件"},"description":{"zh_CN":"每页条数改变时触发"},"type":"event","functionInfo":{"params":[{"name":"pageSize","type":"number","description":{"zh_CN":"每页条数"}}],"returns":{}}}},"slots":{}}},{"id":8,"version":"3.8.0","name":{"zh_CN":"标签页"},"component":"TiTabs","icon":"tabs","description":"分隔内容上有关联但属于不同类别的数据集合","doc_url":"https://www.opentiny.design/tiny-ng/components/tabs","screenshot":"","tags":"tabs,标签页,选项卡","keywords":"tabs,标签页,tab","dev_mode":"proCode","npm":{"package":"@opentiny/ng","exportName":"TiTabsComponent","destructuring":false},"group":"导航组件","category":"opentiny-ng","configure":{"loop":true,"condition":true,"styles":true,"isContainer":true,"isModal":false,"isPopper":false,"nestingRule":{"childWhitelist":"TiTab","parentWhitelist":"","descendantBlacklist":"","ancestorWhitelist":""},"isNullNode":false,"isLayout":false,"rootSelector":"","shortcuts":{"properties":["panelWidth","panelAlign"]},"contextMenu":{"actions":["copy","remove","insert","updateAttr","bindEvent","createBlock"],"disable":[]},"invalidity":[],"clickCapture":true,"framework":"Angular"},"schema":{"properties":[{"name":"0","label":{"zh_CN":"基础属性"},"content":[{"property":"panelWidth","label":{"text":{"zh_CN":"下拉面板宽度"}},"description":{"zh_CN":"下拉面板的宽度。1.\\"justified\\": 下拉面板宽度与页签项宽度保持一致;2.\\"auto\\": 下拉面板宽度根据下拉项的内容自动撑开;3.固定的下拉面板宽度: 不小于页签项的宽度,例如:\\"200px\\";"},"required":false,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"string","widget":{"component":"InputConfigurator","props":{}}},{"property":"panelAlign","label":{"text":{"zh_CN":"下拉面板对齐方式"}},"description":{"zh_CN":"下拉面板对齐方式"},"required":false,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"string","widget":{"component":"SelectConfigurator","props":{"options":[{"label":"left","value":"left"},{"label":"right","value":"right"}]}}},{"property":"panelMaxHeight","label":{"text":{"zh_CN":"下拉面板最大高度"}},"description":{"zh_CN":"下拉面板最大高度"},"required":false,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"string","widget":{"component":"InputConfigurator","props":{}}}],"description":{"zh_CN":""}}],"events":{},"methods":{"changeActive":{"label":{"zh_CN":"页签激活状态变更后执行"},"description":{"zh_CN":"页签激活状态变更后执行"},"type":"method","functionInfo":{"params":[{"name":"tab","type":"TiTabComponent","description":{"zh_CN":"页签组件实例"}}],"returns":{"type":"void"}}}},"slots":{}}},{"id":16,"version":"3.8.0","name":{"zh_CN":"标签页项"},"component":"TiTab","icon":"tab","description":"标签页的单个标签项","doc_url":"https://www.opentiny.design/tiny-ng/components/tabs","screenshot":"","tags":"tab,标签页项,选项卡","keywords":"tab,标签页项","dev_mode":"proCode","npm":{"package":"@opentiny/ng","exportName":"TiTabComponent","destructuring":false},"group":"导航组件","category":"opentiny-ng","configure":{"loop":true,"condition":true,"styles":true,"isContainer":true,"isModal":false,"isPopper":false,"nestingRule":{"childWhitelist":"","parentWhitelist":"TiTabs","descendantBlacklist":"","ancestorWhitelist":""},"isNullNode":false,"isLayout":false,"rootSelector":"","shortcuts":{"properties":["header","id"]},"contextMenu":{"actions":["copy","remove","insert","updateAttr","bindEvent","createBlock"],"disable":[]},"invalidity":[],"clickCapture":true,"framework":"Angular"},"schema":{"properties":[{"name":"0","label":{"zh_CN":"基础属性"},"content":[{"property":"header","label":{"text":{"zh_CN":"标题"}},"description":{"zh_CN":"页签标题"},"required":true,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"string","widget":{"component":"I18nConfigurator","props":{}}},{"property":"id","label":{"text":{"zh_CN":"标识"}},"description":{"zh_CN":"页签标识,用于标识当前标签页"},"required":true,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"string","widget":{"component":"InputConfigurator","props":{}}},{"property":"active","label":{"text":{"zh_CN":"是否激活"}},"description":{"zh_CN":"当前页签是否激活,该接口是双向绑定的"},"required":false,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"boolean","widget":{"component":"CheckBoxConfigurator","props":{}}},{"property":"disabled","label":{"text":{"zh_CN":"是否禁用"}},"description":{"zh_CN":"是否禁用标签页"},"required":false,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"boolean","widget":{"component":"CheckBoxConfigurator","props":{}}}],"description":{"zh_CN":""}}],"events":{"onActiveChange":{"label":{"zh_CN":"激活状态改变事件"},"description":{"zh_CN":"页签激活状态发生改变时触发,参数为当前页签是否为激活状态"},"type":"event","functionInfo":{"params":[{"name":"active","type":"boolean","description":{"zh_CN":"当前页签是否为激活状态"}}],"returns":{}}},"onBeforeActiveChange":{"label":{"zh_CN":"激活状态改变前事件"},"description":{"zh_CN":"页签激活状态发生改变前触发"},"type":"event","functionInfo":{"params":[],"returns":{}}}},"slots":{"default":{"label":{"zh_CN":"标签页内容"},"description":{"zh_CN":"标签页的主要内容"}}}}},{"id":9,"version":"3.8.0","name":{"zh_CN":"复选框"},"component":"TiCheckbox","icon":"checkbox","description":"一组备选项中进行多选","doc_url":"https://www.opentiny.design/tiny-ng/components/checkbox","screenshot":"","tags":"checkbox,复选框,多选","keywords":"checkbox,复选框","dev_mode":"proCode","npm":{"package":"@opentiny/ng","exportName":"TiCheckboxComponent","destructuring":false},"group":"表单组件","category":"opentiny-ng","configure":{"loop":true,"condition":true,"styles":true,"isContainer":false,"isModal":false,"isPopper":false,"nestingRule":{"childWhitelist":"","parentWhitelist":"","descendantBlacklist":"","ancestorWhitelist":""},"isNullNode":false,"isLayout":false,"rootSelector":"","shortcuts":{"properties":["type","ngModel","label","disabled"]},"contextMenu":{"actions":["copy","remove","insert","updateAttr","bindEvent","createBlock"],"disable":[]},"invalidity":[],"clickCapture":true,"framework":"Angular"},"schema":{"properties":[{"name":"0","label":{"zh_CN":"基础属性"},"content":[{"property":"type","label":{"text":{"zh_CN":"类型"}},"description":{"zh_CN":"复选框类型(必填,必须是type='checkbox')"},"required":true,"readOnly":true,"disabled":true,"cols":12,"labelPosition":"left","type":"'checkbox'","widget":{"component":"InputConfigurator"}},{"property":"ngModel","label":{"text":{"zh_CN":"绑定值"}},"description":{"zh_CN":"复选框的绑定值"},"required":true,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"boolean","widget":{"component":"CheckBoxConfigurator","props":{}}},{"property":"label","label":{"text":{"zh_CN":"标签"}},"description":{"zh_CN":"复选框标签文本"},"required":false,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"string","widget":{"component":"I18nConfigurator","props":{}}},{"property":"disabled","label":{"text":{"zh_CN":"是否禁用"}},"description":{"zh_CN":"是否禁用复选框"},"required":false,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"boolean","widget":{"component":"CheckBoxConfigurator","props":{}}},{"property":"indeterminate","label":{"text":{"zh_CN":"半选状态"}},"description":{"zh_CN":"设置 indeterminate 状态,只负责样式控制"},"required":false,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"boolean","widget":{"component":"CheckBoxConfigurator","props":{}}}],"description":{"zh_CN":""}}],"events":{"onNgModelChange":{"label":{"zh_CN":"值改变事件"},"description":{"zh_CN":"复选框值改变时触发"},"type":"event","functionInfo":{"params":[{"name":"value","type":"boolean","description":{"zh_CN":"当前选中状态"}}],"returns":{}}}},"slots":{}}},{"id":17,"version":"3.8.0","name":{"zh_CN":"复选框组"},"component":"TiCheckboxGroup","icon":"checkbox-group","description":"用于管理多个复选框的容器组件","doc_url":"https://www.opentiny.design/tiny-ng/components/checkbox","screenshot":"","tags":"checkbox-group,复选框组,多选","keywords":"checkbox-group,复选框组","dev_mode":"proCode","npm":{"package":"@opentiny/ng","exportName":"TiCheckboxGroupComponent","destructuring":false},"group":"表单组件","category":"opentiny-ng","configure":{"loop":true,"condition":true,"styles":true,"isContainer":true,"isModal":false,"isPopper":false,"nestingRule":{"childWhitelist":"TiCheckbox","parentWhitelist":"","descendantBlacklist":"","ancestorWhitelist":""},"isNullNode":false,"isLayout":false,"rootSelector":"","shortcuts":{"properties":["ngModel","items"]},"contextMenu":{"actions":["copy","remove","insert","updateAttr","bindEvent","createBlock"],"disable":[]},"invalidity":[],"clickCapture":true,"framework":"Angular"},"schema":{"properties":[{"name":"0","label":{"zh_CN":"基础属性"},"content":[{"property":"ngModel","label":{"text":{"zh_CN":"绑定值"}},"description":{"zh_CN":"复选框组的绑定值,数组类型"},"required":true,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"array","widget":{"component":"ArrayConfigurator","props":{}}},{"property":"items","label":{"text":{"zh_CN":"选项数据"}},"description":{"zh_CN":"复选框选项数据源"},"defaultValue":[],"required":false,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"array","widget":{"component":"ArrayConfigurator","props":{}}},{"property":"disabled","label":{"text":{"zh_CN":"是否禁用"}},"description":{"zh_CN":"是否禁用整个复选框组"},"required":false,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"boolean","widget":{"component":"CheckBoxConfigurator","props":{}}}],"description":{"zh_CN":""}}],"events":{"onNgModelChange":{"label":{"zh_CN":"值改变事件"},"description":{"zh_CN":"复选框组值改变时触发"},"type":"event","functionInfo":{"params":[{"name":"value","type":"any[]","description":{"zh_CN":"当前选中的值数组"}}],"returns":{}}}},"slots":{}}},{"id":10,"version":"3.8.0","name":{"zh_CN":"单选框"},"component":"TiRadio","icon":"radio","description":"在一组备选项中进行单选","doc_url":"https://www.opentiny.design/tiny-ng/components/radio","screenshot":"","tags":"radio,单选框,单选","keywords":"radio,单选框","dev_mode":"proCode","npm":{"package":"@opentiny/ng","exportName":"TiRadioComponent","destructuring":false},"group":"表单组件","category":"opentiny-ng","configure":{"loop":true,"condition":true,"styles":true,"isContainer":false,"isModal":false,"isPopper":false,"nestingRule":{"childWhitelist":"","parentWhitelist":"TiRadioGroup","descendantBlacklist":"","ancestorWhitelist":""},"isNullNode":false,"isLayout":false,"rootSelector":"","shortcuts":{"properties":["type","name","ngModel","label","disabled","value"]},"contextMenu":{"actions":["copy","remove","insert","updateAttr","bindEvent","createBlock"],"disable":[]},"invalidity":[],"clickCapture":true,"framework":"Angular"},"schema":{"properties":[{"name":"0","label":{"zh_CN":"基础属性"},"content":[{"property":"type","label":{"text":{"zh_CN":"类型"}},"description":{"zh_CN":"单选框类型"},"defaultValue":"radio","required":true,"readOnly":true,"disabled":true,"cols":12,"labelPosition":"left","type":"'radio'","widget":{"component":"InputConfigurator","props":{}}},{"property":"name","label":{"text":{"zh_CN":"名称"}},"description":{"zh_CN":"单选框的名称,用于分组。同一组单选框应具有相同的 name 值"},"required":true,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"string","widget":{"component":"InputConfigurator","props":{}}},{"property":"ngModel","label":{"text":{"zh_CN":"绑定值"}},"description":{"zh_CN":"单选框的绑定值,用于双向数据绑定"},"required":false,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"string","widget":{"component":"InputConfigurator","props":{}}},{"property":"value","label":{"text":{"zh_CN":"单选框的值"}},"description":{"zh_CN":"单选框的值"},"required":false,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"string","widget":{"component":"InputConfigurator","props":{}}},{"property":"label","label":{"text":{"zh_CN":"标签"}},"description":{"zh_CN":"单选框标签文本"},"required":false,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"string","widget":{"component":"I18nConfigurator","props":{}}},{"property":"disabled","label":{"text":{"zh_CN":"是否禁用"}},"description":{"zh_CN":"是否禁用单选框"},"required":false,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"boolean","widget":{"component":"CheckBoxConfigurator","props":{}}}],"description":{"zh_CN":""}}],"events":{},"slots":{}}},{"id":18,"version":"3.8.0","name":{"zh_CN":"单选框组"},"component":"TiRadioGroup","icon":"radio-group","description":"用于管理多个单选框的容器组件","doc_url":"https://www.opentiny.design/tiny-ng/components/radio","screenshot":"","tags":"radio-group,单选框组,单选","keywords":"radio-group,单选框组","dev_mode":"proCode","npm":{"package":"@opentiny/ng","exportName":"TiRadioGroupComponent","destructuring":false},"group":"表单组件","category":"opentiny-ng","configure":{"loop":true,"condition":true,"styles":true,"isContainer":true,"isModal":false,"isPopper":false,"nestingRule":{"childWhitelist":"TiRadio","parentWhitelist":"","descendantBlacklist":"","ancestorWhitelist":""},"isNullNode":false,"isLayout":false,"rootSelector":"","shortcuts":{"properties":["ngModel","items"]},"contextMenu":{"actions":["copy","remove","insert","updateAttr","bindEvent","createBlock"],"disable":[]},"invalidity":[],"clickCapture":true,"framework":"Angular"},"schema":{"properties":[{"name":"0","label":{"zh_CN":"基础属性"},"content":[{"property":"ngModel","label":{"text":{"zh_CN":"绑定值"}},"description":{"zh_CN":"单选框组的绑定值"},"required":true,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"string","widget":{"component":"InputConfigurator","props":{}}},{"property":"items","label":{"text":{"zh_CN":"选项数据"}},"description":{"zh_CN":"单选框选项数据源"},"required":false,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"array","widget":{"component":"ArrayConfigurator","props":{}}},{"property":"disabled","label":{"text":{"zh_CN":"是否禁用"}},"description":{"zh_CN":"是否禁用整个单选框组"},"required":false,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"boolean","widget":{"component":"CheckBoxConfigurator","props":{}}}],"description":{"zh_CN":""}}],"events":{"onNgModelChange":{"label":{"zh_CN":"值改变事件"},"description":{"zh_CN":"单选框组值改变时触发"},"type":"event","functionInfo":{"params":[{"name":"value","type":"any","description":{"zh_CN":"当前选中的值"}}],"returns":{}}}},"slots":{}}},{"id":11,"version":"3.8.0","name":{"zh_CN":"开关"},"component":"TiSwitch","icon":"switch","description":"表示两种相互对立的状态间的切换,多用于触发「开/关」","doc_url":"https://www.opentiny.design/tiny-ng/components/switch","screenshot":"","tags":"switch,开关,切换","keywords":"switch,开关","dev_mode":"proCode","npm":{"package":"@opentiny/ng","exportName":"TiSwitchComponent","destructuring":false},"group":"表单组件","category":"opentiny-ng","configure":{"loop":true,"condition":true,"styles":true,"isContainer":false,"isModal":false,"isPopper":false,"nestingRule":{"childWhitelist":"","parentWhitelist":"","descendantBlacklist":"","ancestorWhitelist":""},"isNullNode":false,"isLayout":false,"rootSelector":"","shortcuts":{"properties":["ngModel","disabled"]},"contextMenu":{"actions":["copy","remove","insert","updateAttr","bindEvent","createBlock"],"disable":[]},"invalidity":[],"clickCapture":true,"framework":"Angular"},"schema":{"properties":[{"name":"0","label":{"zh_CN":"基础属性"},"content":[{"property":"ngModel","label":{"text":{"zh_CN":"绑定值"}},"description":{"zh_CN":"开关的绑定值"},"required":true,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"boolean","widget":{"component":"CheckBoxConfigurator","props":{}}},{"property":"disabled","label":{"text":{"zh_CN":"是否禁用"}},"description":{"zh_CN":"是否禁用开关"},"required":false,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"boolean","widget":{"component":"CheckBoxConfigurator","props":{}}},{"property":"activeText","label":{"text":{"zh_CN":"打开时的文字描述"}},"description":{"zh_CN":"开关打开时的文字描述"},"required":false,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"string","widget":{"component":"I18nConfigurator","props":{}}},{"property":"inactiveText","label":{"text":{"zh_CN":"关闭时的文字描述"}},"description":{"zh_CN":"开关关闭时的文字描述"},"required":false,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"string","widget":{"component":"I18nConfigurator","props":{}}}],"description":{"zh_CN":""}}],"events":{"onNgModelChange":{"label":{"zh_CN":"值改变事件"},"description":{"zh_CN":"开关值改变时触发"},"type":"event","functionInfo":{"params":[{"name":"value","type":"boolean","description":{"zh_CN":"当前开关状态"}}],"returns":{}}}},"slots":{}}},{"id":12,"version":"3.8.0","name":{"zh_CN":"消息提示"},"component":"TiMessage","icon":"message","description":"常用于主动操作后的反馈提示","doc_url":"https://www.opentiny.design/tiny-ng/components/message","screenshot":"","tags":"message,消息,提示","keywords":"message,消息,提示","dev_mode":"proCode","npm":{"package":"@opentiny/ng","exportName":"TiMessageService","destructuring":false},"group":"反馈组件","category":"opentiny-ng","configure":{"loop":false,"condition":true,"styles":true,"isContainer":false,"isModal":false,"isPopper":false,"nestingRule":{"childWhitelist":"","parentWhitelist":"","descendantBlacklist":"","ancestorWhitelist":""},"isNullNode":false,"isLayout":false,"rootSelector":"","shortcuts":{"properties":["type","message"]},"contextMenu":{"actions":["copy","remove","insert","updateAttr","bindEvent","createBlock"],"disable":[]},"invalidity":[],"clickCapture":true,"framework":"Angular"},"schema":{"properties":[{"name":"0","label":{"zh_CN":"基础属性"},"content":[{"property":"type","label":{"text":{"zh_CN":"消息类型"}},"description":{"zh_CN":"消息类型,可选值:success、warning、info、error"},"required":false,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"string","widget":{"component":"SelectConfigurator","props":{"options":[{"label":"success","value":"success"},{"label":"warning","value":"warning"},{"label":"info","value":"info"},{"label":"error","value":"error"}]}}},{"property":"message","label":{"text":{"zh_CN":"消息内容"}},"description":{"zh_CN":"消息提示内容"},"required":true,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"string","widget":{"component":"I18nConfigurator","props":{}}},{"property":"duration","label":{"text":{"zh_CN":"显示时长"}},"description":{"zh_CN":"消息显示时长,单位为毫秒"},"required":false,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"number","widget":{"component":"NumberConfigurator","props":{}}}],"description":{"zh_CN":""}}],"events":{},"slots":{}}},{"id":13,"version":"3.8.0","name":{"zh_CN":"工具提示"},"component":"TiTip","icon":"tooltip","description":"常用于展示鼠标 hover 时的提示信息","doc_url":"https://www.opentiny.design/tiny-ng/components/tip","screenshot":"","tags":"tooltip,工具提示,提示","keywords":"tooltip,工具提示","dev_mode":"proCode","npm":{"package":"@opentiny/ng","exportName":"TiTipDirective","destructuring":false},"group":"反馈组件","category":"opentiny-ng","configure":{"loop":true,"condition":true,"styles":true,"isContainer":false,"isModal":false,"isPopper":true,"nestingRule":{"childWhitelist":"","parentWhitelist":"","descendantBlacklist":"","ancestorWhitelist":""},"isNullNode":false,"isLayout":false,"rootSelector":"","shortcuts":{"properties":["content","placement"]},"contextMenu":{"actions":["copy","remove","insert","updateAttr","bindEvent","createBlock"],"disable":[]},"invalidity":[],"clickCapture":true,"framework":"Angular"},"schema":{"properties":[{"name":"0","label":{"zh_CN":"基础属性"},"content":[{"property":"content","label":{"text":{"zh_CN":"提示内容"}},"description":{"zh_CN":"提示框显示的内容"},"required":true,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"string","widget":{"component":"I18nConfigurator","props":{}}},{"property":"placement","label":{"text":{"zh_CN":"出现位置"}},"description":{"zh_CN":"提示框出现的位置"},"required":false,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"string","widget":{"component":"SelectConfigurator","props":{"options":[{"label":"top","value":"top"},{"label":"top-start","value":"top-start"},{"label":"top-end","value":"top-end"},{"label":"bottom","value":"bottom"},{"label":"bottom-start","value":"bottom-start"},{"label":"bottom-end","value":"bottom-end"},{"label":"left","value":"left"},{"label":"left-start","value":"left-start"},{"label":"left-end","value":"left-end"},{"label":"right","value":"right"},{"label":"right-start","value":"right-start"},{"label":"right-end","value":"right-end"}]}}},{"property":"trigger","label":{"text":{"zh_CN":"触发方式"}},"description":{"zh_CN":"提示框触发方式"},"required":false,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"string","widget":{"component":"SelectConfigurator","props":{"options":[{"label":"hover","value":"hover"},{"label":"focus","value":"focus"},{"label":"click","value":"click"},{"label":"manual","value":"manual"}]}}}],"description":{"zh_CN":""}}],"events":{},"slots":{}}},{"id":14,"version":"3.8.0","name":{"zh_CN":"卡片"},"component":"TiCard","icon":"card","description":"将信息聚合在卡片容器中展示","doc_url":"https://www.opentiny.design/tiny-ng/components/card","screenshot":"","tags":"card,卡片,容器","keywords":"card,卡片","dev_mode":"proCode","npm":{"package":"@opentiny/ng","exportName":"TiCardComponent","destructuring":false},"group":"数据展示","category":"opentiny-ng","configure":{"loop":true,"condition":true,"styles":true,"isContainer":true,"isModal":false,"isPopper":false,"nestingRule":{"childWhitelist":"","parentWhitelist":"","descendantBlacklist":"","ancestorWhitelist":""},"isNullNode":false,"isLayout":false,"rootSelector":"","shortcuts":{"properties":["shadow","bordered","hoverable"]},"contextMenu":{"actions":["copy","remove","insert","updateAttr","bindEvent","createBlock"],"disable":[]},"invalidity":[],"clickCapture":true,"framework":"Angular"},"schema":{"properties":[{"name":"0","label":{"zh_CN":"基础属性"},"content":[{"property":"shadow","label":{"text":{"zh_CN":"阴影效果"}},"description":{"zh_CN":"卡片阴影效果"},"required":false,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"string","widget":{"component":"SelectConfigurator","props":{"options":[{"label":"always","value":"always"},{"label":"hover","value":"hover"},{"label":"never","value":"never"}]}}},{"property":"bordered","label":{"text":{"zh_CN":"是否显示边框"}},"description":{"zh_CN":"是否显示卡片边框"},"required":false,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"boolean","widget":{"component":"CheckBoxConfigurator","props":{}}},{"property":"hoverable","label":{"text":{"zh_CN":"悬停效果"}},"description":{"zh_CN":"鼠标悬停时是否显示阴影效果"},"required":false,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"boolean","widget":{"component":"CheckBoxConfigurator","props":{}}}],"description":{"zh_CN":""}}],"events":{},"slots":{"default":{"label":{"zh_CN":"卡片内容"},"description":{"zh_CN":"卡片的主要内容"}},"header":{"label":{"zh_CN":"卡片头部"},"description":{"zh_CN":"卡片头部内容"}},"footer":{"label":{"zh_CN":"卡片底部"},"description":{"zh_CN":"卡片底部内容"}}}}},{"id":15,"version":"3.8.0","name":{"zh_CN":"上传"},"component":"TiUpload","icon":"upload","description":"通过点击或者拖拽上传文件","doc_url":"https://www.opentiny.design/tiny-ng/components/upload","screenshot":"","tags":"upload,上传,文件","keywords":"upload,上传,文件","dev_mode":"proCode","npm":{"package":"@opentiny/ng","exportName":"TiUploadComponent","destructuring":false},"group":"表单组件","category":"opentiny-ng","configure":{"loop":true,"condition":true,"styles":true,"isContainer":false,"isModal":false,"isPopper":false,"nestingRule":{"childWhitelist":"","parentWhitelist":"","descendantBlacklist":"","ancestorWhitelist":""},"isNullNode":false,"isLayout":false,"rootSelector":"","shortcuts":{"properties":["action","multiple","accept"]},"contextMenu":{"actions":["copy","remove","insert","updateAttr","bindEvent","createBlock"],"disable":[]},"invalidity":[],"clickCapture":true,"framework":"Angular"},"schema":{"properties":[{"name":"0","label":{"zh_CN":"基础属性"},"content":[{"property":"action","label":{"text":{"zh_CN":"上传地址"}},"description":{"zh_CN":"上传的地址"},"required":true,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"string","widget":{"component":"InputConfigurator","props":{}}},{"property":"multiple","label":{"text":{"zh_CN":"是否支持多选"}},"description":{"zh_CN":"是否支持多选文件"},"required":false,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"boolean","widget":{"component":"CheckBoxConfigurator","props":{}}},{"property":"accept","label":{"text":{"zh_CN":"接受的文件类型"}},"description":{"zh_CN":"接受上传的文件类型"},"required":false,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"string","widget":{"component":"InputConfigurator","props":{}}},{"property":"limit","label":{"text":{"zh_CN":"最大上传数量"}},"description":{"zh_CN":"最大允许上传文件数量"},"required":false,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"number","widget":{"component":"NumberConfigurator","props":{}}}],"description":{"zh_CN":""}}],"events":{"onSuccess":{"label":{"zh_CN":"上传成功事件"},"description":{"zh_CN":"文件上传成功时触发"},"type":"event","functionInfo":{"params":[{"name":"response","type":"any","description":{"zh_CN":"服务器响应数据"}},{"name":"file","type":"File","description":{"zh_CN":"上传的文件对象"}}],"returns":{}}},"onError":{"label":{"zh_CN":"上传失败事件"},"description":{"zh_CN":"文件上传失败时触发"},"type":"event","functionInfo":{"params":[{"name":"error","type":"Error","description":{"zh_CN":"错误信息"}},{"name":"file","type":"File","description":{"zh_CN":"上传的文件对象"}}],"returns":{}}}},"slots":{}}},{"id":19,"version":"3.8.0","name":{"zh_CN":"表单"},"component":"TiFormField","icon":"form-field","description":"表单容器,用于包裹表单项","doc_url":"https://www.opentiny.design/tiny-ng/components/form-field","screenshot":"","tags":"form-field,表单项,表单布局","keywords":"form-field,表单项,表单","dev_mode":"proCode","npm":{"package":"@opentiny/ng","exportName":"TiFormfieldComponent","destructuring":false},"group":"表单组件","category":"opentiny-ng","configure":{"loop":true,"condition":true,"styles":true,"isContainer":true,"isModal":false,"isPopper":false,"nestingRule":{"childWhitelist":"TiItem","parentWhitelist":"","descendantBlacklist":"","ancestorWhitelist":""},"isNullNode":false,"isLayout":true,"rootSelector":"","shortcuts":{"properties":["vertical","labelPosition","labelWidth"]},"contextMenu":{"actions":["copy","remove","insert","updateAttr","bindEvent","createBlock"],"disable":[]},"invalidity":[],"clickCapture":true,"framework":"Angular"},"schema":{"properties":[{"name":"0","label":{"zh_CN":"基础属性"},"content":[{"property":"vertical","label":{"text":{"zh_CN":"垂直布局"}},"description":{"zh_CN":"是否垂直排列表单项"},"required":false,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"true | null","widget":{"component":"CheckBoxConfigurator","props":{}}},{"property":"labelPosition","label":{"text":{"zh_CN":"标签位置"}},"description":{"zh_CN":"表单标签的位置"},"required":false,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"string","widget":{"component":"SelectConfigurator","props":{"options":[{"label":"left","value":"left"},{"label":"right","value":"right"},{"label":"top","value":"top"}]}}},{"property":"labelWidth","label":{"text":{"zh_CN":"标签宽度"}},"description":{"zh_CN":"标签宽度,支持像素值和百分比,例如 '100px' 或 '20%'"},"required":false,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"string","widget":{"component":"InputConfigurator","props":{}}}],"description":{"zh_CN":""}}],"events":{},"slots":{"default":{"label":{"zh_CN":"表单内容"},"description":{"zh_CN":"表单的主要内容,通常放置 TiItem 表单项"}}}}},{"id":20,"version":"3.8.0","name":{"zh_CN":"表单项容器"},"component":"TiItem","icon":"form-item","description":"表单项容器,用于包裹表单控件和标签","doc_url":"https://www.opentiny.design/tiny-ng/components/item","screenshot":"","tags":"item,表单项布局,表单布局","keywords":"item,表单项,布局","dev_mode":"proCode","npm":{"package":"@opentiny/ng","exportName":"TiItemComponent","destructuring":false},"group":"表单组件","category":"opentiny-ng","configure":{"loop":true,"condition":true,"styles":true,"isContainer":true,"isModal":false,"isPopper":false,"nestingRule":{"childWhitelist":"","parentWhitelist":"TiFormField","descendantBlacklist":"","ancestorWhitelist":""},"isNullNode":false,"isLayout":true,"rootSelector":"","shortcuts":{"properties":["span","offset","gutter"]},"contextMenu":{"actions":["copy","remove","insert","updateAttr","bindEvent","createBlock"],"disable":[]},"invalidity":[],"clickCapture":true,"framework":"Angular"},"schema":{"properties":[{"name":"0","label":{"zh_CN":"基础属性"},"content":[{"property":"span","label":{"text":{"zh_CN":"栅格占据的列数"}},"description":{"zh_CN":"栅格占据的列数,共24列"},"required":false,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"number","widget":{"component":"NumberConfigurator","props":{}}},{"property":"offset","label":{"text":{"zh_CN":"栅格左侧的间隔格数"}},"description":{"zh_CN":"栅格左侧的间隔格数"},"required":false,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"number","widget":{"component":"NumberConfigurator","props":{}}},{"property":"gutter","label":{"text":{"zh_CN":"栅格间隔"}},"description":{"zh_CN":"栅格间隔,单位px"},"required":false,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"number","widget":{"component":"NumberConfigurator","props":{}}}],"description":{"zh_CN":""}}],"events":{},"slots":{"default":{"label":{"zh_CN":"表单项内容"},"description":{"zh_CN":"表单项布局的主要内容"}}}}},{"id":21,"version":"3.8.0","name":{"zh_CN":"卡片头部"},"component":"TiCardHeader","icon":"card-header","description":"卡片头部组件,用于展示卡片的标题和操作按钮","doc_url":"https://www.opentiny.design/tiny-ng/components/card-header","screenshot":"","tags":"card-header,卡片头部,卡片","keywords":"card-header,卡片头部","dev_mode":"proCode","npm":{"package":"@opentiny/ng","exportName":"TiCardHeaderComponent","destructuring":false},"group":"数据展示","category":"opentiny-ng","configure":{"loop":true,"condition":true,"styles":true,"isContainer":true,"isModal":false,"isPopper":false,"nestingRule":{"childWhitelist":"","parentWhitelist":"TiCard","descendantBlacklist":"","ancestorWhitelist":""},"isNullNode":false,"isLayout":false,"rootSelector":"","shortcuts":{"properties":[]},"contextMenu":{"actions":["copy","remove","insert","updateAttr","bindEvent","createBlock"],"disable":[]},"invalidity":[],"clickCapture":true,"framework":"Angular"},"schema":{"properties":[{"name":"0","label":{"zh_CN":"基础属性"},"content":[],"description":{"zh_CN":""}}],"events":{},"slots":{"default":{"label":{"zh_CN":"头部内容"},"description":{"zh_CN":"自定义头部内容"}},"title":{"label":{"zh_CN":"标题插槽"},"description":{"zh_CN":"自定义标题内容"}},"subtitle":{"label":{"zh_CN":"副标题插槽"},"description":{"zh_CN":"自定义副标题内容"}},"actions":{"label":{"zh_CN":"操作按钮插槽"},"description":{"zh_CN":"头部右侧操作按钮"}}}}},{"id":22,"version":"3.8.0","name":{"zh_CN":"日期范围选择器"},"component":"TiDateRange","icon":"daterange","description":"用于选择日期范围","doc_url":"https://www.opentiny.design/tiny-ng/components/date-range","screenshot":"","tags":"daterange,日期范围,日期选择","keywords":"daterange,日期范围,日期","dev_mode":"proCode","npm":{"package":"@opentiny/ng","exportName":"TiDateRangeComponent","destructuring":false},"group":"表单组件","category":"opentiny-ng","configure":{"loop":true,"condition":true,"styles":true,"isContainer":false,"isModal":false,"isPopper":true,"nestingRule":{"childWhitelist":"","parentWhitelist":"","descendantBlacklist":"","ancestorWhitelist":""},"isNullNode":false,"isLayout":false,"rootSelector":"","shortcuts":{"properties":["ngModel","placeholder","format"]},"contextMenu":{"actions":["copy","remove","insert","updateAttr","bindEvent","createBlock"],"disable":[]},"invalidity":[],"clickCapture":true,"framework":"Angular"},"schema":{"properties":[{"name":"0","label":{"zh_CN":"基础属性"},"content":[{"property":"ngModel","label":{"text":{"zh_CN":"绑定值"}},"description":{"zh_CN":"日期范围选择器的绑定值,数组类型 [开始日期, 结束日期]"},"required":true,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"array","widget":{"component":"ArrayConfigurator","props":{}}},{"property":"placeholder","label":{"text":{"zh_CN":"占位文本, 数组类型,示例:\`['开始日期占位文本', '结束日期占位文本']\`"}},"description":{"zh_CN":"输入框占位文本"},"required":false,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"Array","widget":{"component":"I18nConfigurator","props":{}}},{"property":"format","label":{"text":{"zh_CN":"显示格式"}},"description":{"zh_CN":"日期显示格式"},"required":false,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"string","widget":{"component":"InputConfigurator","props":{}}},{"property":"disabled","label":{"text":{"zh_CN":"是否禁用"}},"description":{"zh_CN":"是否禁用日期范围选择器"},"required":false,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"boolean","widget":{"component":"CheckBoxConfigurator","props":{}}}],"description":{"zh_CN":""}}],"events":{"onNgModelChange":{"label":{"zh_CN":"值改变事件"},"description":{"zh_CN":"日期范围值改变时触发"},"type":"event","functionInfo":{"params":[{"name":"value","type":"Date[]","description":{"zh_CN":"当前选中的日期范围 [开始日期, 结束日期]"}}],"returns":{}}}},"slots":{}}},{"id":23,"version":"3.8.0","name":{"zh_CN":"滑块"},"component":"TiSlider","icon":"slider","description":"通过拖动滑块在一个固定区间内进行选择","doc_url":"https://www.opentiny.design/tiny-ng/components/slider","screenshot":"","tags":"slider,滑块,滑动选择","keywords":"slider,滑块,滑动","dev_mode":"proCode","npm":{"package":"@opentiny/ng","exportName":"TiSliderComponent","destructuring":false},"group":"表单组件","category":"opentiny-ng","configure":{"loop":true,"condition":true,"styles":true,"isContainer":false,"isModal":false,"isPopper":false,"nestingRule":{"childWhitelist":"","parentWhitelist":"","descendantBlacklist":"","ancestorWhitelist":""},"isNullNode":false,"isLayout":false,"rootSelector":"","shortcuts":{"properties":["ngModel","min","max","step"]},"contextMenu":{"actions":["copy","remove","insert","updateAttr","bindEvent","createBlock"],"disable":[]},"invalidity":[],"clickCapture":true,"framework":"Angular"},"schema":{"properties":[{"name":"0","label":{"zh_CN":"基础属性"},"content":[{"property":"ngModel","label":{"text":{"zh_CN":"绑定值"}},"description":{"zh_CN":"滑块的当前值"},"required":true,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"number","widget":{"component":"NumberConfigurator","props":{}}},{"property":"min","label":{"text":{"zh_CN":"最小值"}},"description":{"zh_CN":"滑块的最小值"},"required":false,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"number","widget":{"component":"NumberConfigurator","props":{}}},{"property":"max","label":{"text":{"zh_CN":"最大值"}},"description":{"zh_CN":"滑块的最大值"},"required":false,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"number","widget":{"component":"NumberConfigurator","props":{}}},{"property":"step","label":{"text":{"zh_CN":"步长"}},"description":{"zh_CN":"滑块移动的步长"},"required":false,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"number","widget":{"component":"NumberConfigurator","props":{}}},{"property":"disabled","label":{"text":{"zh_CN":"是否禁用"}},"description":{"zh_CN":"是否禁用滑块"},"required":false,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"boolean","widget":{"component":"CheckBoxConfigurator","props":{}}}],"description":{"zh_CN":""}}],"events":{"onNgModelChange":{"label":{"zh_CN":"值改变事件"},"description":{"zh_CN":"滑块值改变时触发"},"type":"event","functionInfo":{"params":[{"name":"value","type":"number","description":{"zh_CN":"当前滑块的值"}}],"returns":{}}}},"slots":{}}},{"id":24,"version":"3.8.0","name":{"zh_CN":"评分"},"component":"TiRate","icon":"rate","description":"用于对事物进行评级操作","doc_url":"https://www.opentiny.design/tiny-ng/components/rate","screenshot":"","tags":"rate,评分,星级","keywords":"rate,评分,星级","dev_mode":"proCode","npm":{"package":"@opentiny/ng","exportName":"TiRateComponent","destructuring":false},"group":"表单组件","category":"opentiny-ng","configure":{"loop":true,"condition":true,"styles":true,"isContainer":false,"isModal":false,"isPopper":false,"nestingRule":{"childWhitelist":"","parentWhitelist":"","descendantBlacklist":"","ancestorWhitelist":""},"isNullNode":false,"isLayout":false,"rootSelector":"","shortcuts":{"properties":["ngModel","count","disabled"]},"contextMenu":{"actions":["copy","remove","insert","updateAttr","bindEvent","createBlock"],"disable":[]},"invalidity":[],"clickCapture":true,"framework":"Angular"},"schema":{"properties":[{"name":"0","label":{"zh_CN":"基础属性"},"content":[{"property":"ngModel","label":{"text":{"zh_CN":"绑定值"}},"description":{"zh_CN":"评分的当前值"},"required":true,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"number","widget":{"component":"NumberConfigurator","props":{}}},{"property":"count","label":{"text":{"zh_CN":"星星总数"}},"description":{"zh_CN":"评分星星的总数"},"required":false,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"number","widget":{"component":"NumberConfigurator","props":{}}},{"property":"disabled","label":{"text":{"zh_CN":"是否禁用"}},"description":{"zh_CN":"是否禁用评分"},"required":false,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"boolean","widget":{"component":"CheckBoxConfigurator","props":{}}}],"description":{"zh_CN":""}}],"events":{"onNgModelChange":{"label":{"zh_CN":"值改变事件"},"description":{"zh_CN":"评分值改变时触发"},"type":"event","functionInfo":{"params":[{"name":"value","type":"number","description":{"zh_CN":"当前评分的值"}}],"returns":{}}}},"slots":{}}},{"id":25,"version":"3.8.0","name":{"zh_CN":"多行文本"},"component":"TiTextArea","icon":"textarea","description":"用于输入多行文本信息","doc_url":"https://www.opentiny.design/tiny-ng/components/textarea","screenshot":"","tags":"textarea,多行文本,文本域,表单组件","keywords":"textarea,多行文本,文本域,表单","dev_mode":"proCode","npm":{"package":"@opentiny/ng","exportName":"TiTextareaComponent","destructuring":false},"group":"表单组件","category":"opentiny-ng","configure":{"loop":true,"condition":true,"styles":true,"isContainer":false,"isModal":false,"isPopper":false,"nestingRule":{"childWhitelist":"","parentWhitelist":"","descendantBlacklist":"","ancestorWhitelist":""},"isNullNode":false,"isLayout":false,"rootSelector":"","shortcuts":{"properties":["placeholder","disabled","rows"]},"contextMenu":{"actions":["copy","remove","insert","updateAttr","bindEvent","createBlock"],"disable":[]},"invalidity":[],"clickCapture":true,"framework":"Angular"},"schema":{"properties":[{"name":"0","label":{"zh_CN":"基础属性"},"content":[{"property":"ngModel","label":{"text":{"zh_CN":"绑定值"}},"description":{"zh_CN":"文本域绑定值"},"required":true,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"string","widget":{"component":"InputConfigurator","props":{}}},{"property":"placeholder","label":{"text":{"zh_CN":"占位文本"}},"description":{"zh_CN":"文本域占位文本"},"required":false,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"string","widget":{"component":"I18nConfigurator","props":{}}},{"property":"disabled","label":{"text":{"zh_CN":"是否禁用"}},"description":{"zh_CN":"是否禁用文本域"},"required":false,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"boolean","widget":{"component":"CheckBoxConfigurator","props":{}}},{"property":"readonly","label":{"text":{"zh_CN":"是否只读"}},"description":{"zh_CN":"是否只读"},"required":false,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"boolean","widget":{"component":"CheckBoxConfigurator","props":{}}},{"property":"rows","label":{"text":{"zh_CN":"行数"}},"description":{"zh_CN":"文本域显示的行数"},"required":false,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"number","widget":{"component":"NumberConfigurator","props":{}}},{"property":"maxlength","label":{"text":{"zh_CN":"最大长度"}},"description":{"zh_CN":"最大输入长度"},"required":false,"readOnly":false,"disabled":false,"cols":12,"labelPosition":"left","type":"number","widget":{"component":"NumberConfigurator","props":{}}}],"description":{"zh_CN":""}}],"events":{"onNgModelChange":{"label":{"zh_CN":"值改变事件"},"description":{"zh_CN":"输入值改变时触发"},"type":"event","functionInfo":{"params":[{"name":"value","type":"string","description":{"zh_CN":"当前输入值"}}],"returns":{}}},"onBlur":{"label":{"zh_CN":"失去焦点事件"},"description":{"zh_CN":"文本域失去焦点时触发"},"type":"event","functionInfo":{"params":[{"name":"event","type":"FocusEvent","description":{"zh_CN":"焦点事件对象"}}],"returns":{}}},"onFocus":{"label":{"zh_CN":"获取焦点事件"},"description":{"zh_CN":"文本域获取焦点时触发"},"type":"event","functionInfo":{"params":[{"name":"event","type":"FocusEvent","description":{"zh_CN":"焦点事件对象"}}],"returns":{}}}},"slots":{}}}],"packages":[{"name":"@opentiny/ng","package":"@opentiny/ng","version":"3.8.0","destructuring":false,"script":"","css":""}],"snippets":[{"group":"basic","label":{"zh_CN":"基础组件"},"children":[{"name":{"zh_CN":"按钮"},"icon":"button","screenshot":"","snippetName":"TiButton","schema":{"componentName":"TiButton","props":{"color":"primary","size":"middle"}}},{"name":{"zh_CN":"输入框"},"icon":"input","screenshot":"","snippetName":"TiText","schema":{"componentName":"input","props":{"ngModel":"","placeholder":"请输入内容"}}},{"name":{"zh_CN":"卡片"},"icon":"card","screenshot":"","snippetName":"TiCard","schema":{"componentName":"TiCard","children":[{"componentName":"TiCardHeader","props":{"height":"30px"},"children":[{"componentName":"h3","children":"卡片标题"}]},{"componentName":"div","children":[{"componentName":"Text","props":{"text":"卡片内容"}}]}]}}]},{"group":"form","label":{"zh_CN":"表单组件"},"children":[{"name":{"zh_CN":"选择器"},"icon":"select","screenshot":"","snippetName":"TiSelect","schema":{"componentName":"TiSelect","props":{"ngModel":"","placeholder":"请选择","options":[{"label":"选项1","value":"1"},{"label":"选项2","value":"2"}]}}},{"name":{"zh_CN":"多行文本"},"icon":"textarea","screenshot":"","snippetName":"TiTextArea","schema":{"componentName":"TiTextArea","props":{"ngModel":"","placeholder":"请输入内容","rows":3},"directives":[{"directiveName":"ngModel"}]}},{"name":{"zh_CN":"日期选择器"},"icon":"datepick","screenshot":"","snippetName":"TiDate","schema":{"componentName":"TiDate","props":{"ngModel":"","placeholder":"请选择日期","format":"yyyy-MM-dd"}}},{"name":{"zh_CN":"复选框"},"icon":"checkbox","screenshot":"","snippetName":"TiCheckbox","schema":{"componentName":"TiCheckbox","props":{"type":"checkbox","ngModel":false,"label":"复选框标签"}}},{"name":{"zh_CN":"复选框组"},"icon":"checkbox-group","screenshot":"","snippetName":"TiCheckboxGroup","schema":{"componentName":"TiCheckboxGroup","props":{"ngModel":{"type":"JSExpression","model":true,"value":"this.state.checkboxGroupValue"},"items":[{"label":"选项1","value":"1"},{"label":"选项2","value":"2"},{"label":"选项3","value":"3"}]},"directives":[{"directiveName":"ngModel"}]}},{"name":{"zh_CN":"单选框"},"icon":"radio","screenshot":"","snippetName":"TiRadio","schema":{"componentName":"TiRadio","props":{"type":"radio","value":"1","label":"单选项1"}}},{"name":{"zh_CN":"单选框组"},"icon":"radio-group","screenshot":"","snippetName":"TiRadioGroup","schema":{"componentName":"TiRadioGroup","props":{"ngModel":{"type":"JSExpression","model":true,"value":"this.state.radioGroupValue"},"items":[{"label":"选项1","value":"1"},{"label":"选项2","value":"2"},{"label":"选项3","value":"3"}]},"directives":[{"directiveName":"ngModel"}]}},{"name":{"zh_CN":"开关"},"icon":"switch","screenshot":"","snippetName":"TiSwitch","schema":{"componentName":"TiSwitch","props":{"ngModel":false}}},{"name":{"zh_CN":"上传"},"icon":"upload","screenshot":"","snippetName":"TiUpload","schema":{"componentName":"TiUpload","props":{"action":"/api/upload","multiple":false}}},{"name":{"zh_CN":"日期范围"},"icon":"daterange","screenshot":"","snippetName":"TiDateRange","schema":{"componentName":"TiDateRange","props":{"ngModel":{"type":"JSExpression","model":true,"value":"this.state.dateRangeValue"},"placeholder":"请选择日期范围","format":"yyyy-MM-dd"},"directives":[{"directiveName":"ngModel"}]}},{"name":{"zh_CN":"滑块"},"icon":"slider","screenshot":"","snippetName":"TiSlider","schema":{"componentName":"TiSlider","props":{"ngModel":{"type":"JSExpression","model":true,"value":"this.state.sliderValue"},"min":0,"max":100,"step":1},"directives":[{"directiveName":"ngModel"}]}},{"name":{"zh_CN":"评分"},"icon":"rate","screenshot":"","snippetName":"TiRate","schema":{"componentName":"TiRate","props":{"ngModel":{"type":"JSExpression","model":true,"value":"this.state.rateValue"},"count":5,"allowHalf":false},"directives":[{"directiveName":"ngModel"}]}},{"name":{"zh_CN":"表单项"},"icon":"form-field","screenshot":"","snippetName":"TiFormField","schema":{"componentName":"TiFormField","children":[{"componentName":"TiItem","props":{"label":"国家","required":true},"children":[{"componentName":"TiText","props":{"ngModel":{"type":"JSExpression","model":true,"value":"this.state.contryValue"}},"directives":[{"directiveName":"ngModel"},{"directiveName":"defaultValueAccessor"}]}]},{"componentName":"TiItem","props":{"label":"性别","required":true},"children":[{"componentName":"TiText","props":{"ngModel":{"type":"JSExpression","model":true,"value":"this.state.sexValue"}},"directives":[{"directiveName":"ngModel"},{"directiveName":"defaultValueAccessor"}]}]},{"componentName":"TiItem","props":{"label":"身份证号码","required":true},"children":[{"componentName":"TiText","props":{"ngModel":{"type":"JSExpression","model":true,"value":"this.state.IDValue"}},"directives":[{"directiveName":"ngModel"},{"directiveName":"defaultValueAccessor"}]}]},{"componentName":"TiItem","props":{"label":"Email","required":true},"children":[{"componentName":"TiText","props":{"ngModel":{"type":"JSExpression","model":true,"value":"this.state.emailValue"}},"directives":[{"directiveName":"ngModel"},{"directiveName":"defaultValueAccessor"}]}]},{"componentName":"TiItem","props":{"label":"昵称","required":{"type":"JSExpression","value":"this.state.nickRequired"}},"children":[{"componentName":"TiText","props":{"ngModel":{"type":"JSExpression","model":true,"value":"this.state.nickValue"}},"directives":[{"directiveName":"ngModel"},{"directiveName":"defaultValueAccessor"}]}]}]}}]},{"group":"data-display","label":{"zh_CN":"数据展示"},"children":[{"name":{"zh_CN":"表格"},"icon":"table","screenshot":"","snippetName":"TiTable","schema":{"componentName":"TiTable","props":{"srcData":{"type":"JSExpression","value":"this.state.srcData"},"displayedData":{"type":"JSExpression","model":true,"value":"this.state.displayedData"},"columns":{"type":"JSExpression","value":"this.state.columns"}},"children":[{"componentName":"table","children":[{"componentName":"thead","children":[{"componentName":"tr","children":[{"componentName":"th","children":[{"componentName":"Text","props":{"text":{"type":"JSExpression","value":"column.title"}}}],"loop":{"type":"JSExpression","value":"this.state.columns"},"loopArgs":["column"]}]}]},{"componentName":"tbody","children":[{"componentName":"tr","loop":{"type":"JSExpression","value":"this.state.displayedData"},"loopArgs":["row"],"children":[{"componentName":"td","children":[{"componentName":"Text","props":{"text":{"type":"JSExpression","value":"row.firstName"}}}]},{"componentName":"td","children":[{"componentName":"Text","props":{"text":{"type":"JSExpression","value":"row.lastName"}}}]},{"componentName":"td","children":[{"componentName":"Text","props":{"text":{"type":"JSExpression","value":"row.age"}}}]},{"componentName":"td","children":[{"componentName":"Text","props":{"text":{"type":"JSExpression","value":"row.email"}}}]}]}]}]}]}},{"name":{"zh_CN":"分页"},"icon":"pagination","screenshot":"","snippetName":"TiPagination","schema":{"componentName":"TiPagination","props":{"currentPage":1,"pageSize":10,"total":100}}}]},{"group":"navigation","label":{"zh_CN":"导航组件"},"children":[{"name":{"zh_CN":"标签页"},"icon":"tabs","screenshot":"","snippetName":"TiTabs","schema":{"componentName":"TiTabs","props":{},"children":[{"componentName":"TiTab","props":{"header":"标签页1","id":"tab1","active":true}},{"componentName":"TiTab","props":{"header":"标签页2","id":"tab2"}}]}}]},{"group":"feedback","label":{"zh_CN":"反馈组件"},"children":[{"name":{"zh_CN":"对话框"},"icon":"dialog","screenshot":"","snippetName":"TiModal","schema":{"componentName":"TiModal","props":{"title":"对话框标题","visible":false,"width":"50%"}}},{"name":{"zh_CN":"工具提示"},"icon":"tooltip","screenshot":"","snippetName":"TiTip","schema":{"componentName":"div","props":{"tiTip":"提示内容","placement":"top"}}}]}],"blocks":[]}}`), n = {
|
|
2
|
+
data: o
|
|
3
|
+
}, i = { formData: { name: "张三", sex: "男", department: "HR", protocolStart: "2023-01-01", email: "" } }, a = { departChange: { type: "JSFunction", value: "function departChange(value) { console.log(value) }" }, handleSubmit: { type: "JSFunction", value: "function handleSubmit() { console.log(this.state.formData) }" } }, l = "Page", r = { style: "width: 414px;" }, s = [{ componentName: "h3", props: {}, children: "更新员工信息" }, { componentName: "div", props: { style: "display: flex; flex-direction: column; gap: 16px;" }, children: [{ componentName: "div", props: { style: "display: flex; flex-direction: column; gap: 8px;" }, children: [{ componentName: "label", props: { style: "font-weight: bold;" }, children: "姓名" }, { componentName: "TiText", props: { placeholder: "请输入", ngModel: { type: "JSExpression", model: !0, value: "this.state.formData.name" } }, directives: [{ directiveName: "ngModel" }, { directiveName: "defaultValueAccessor" }] }] }, { componentName: "div", props: { style: "display: flex; flex-direction: column; gap: 8px;" }, children: [{ componentName: "label", props: { style: "font-weight: bold;" }, children: "工号" }, { componentName: "TiText", props: { disabled: !0, ngModel: { type: "JSExpression", model: !0, value: "this.state.formData.id" } }, directives: [{ directiveName: "ngModel" }, { directiveName: "defaultValueAccessor" }] }] }, { componentName: "div", props: { style: "display: flex; flex-direction: column; gap: 8px;" }, children: [{ componentName: "label", props: { style: "font-weight: bold;" }, children: "性别" }, { componentName: "div", props: { style: "display: flex; gap: 16px;" }, children: [{ componentName: "TiRadio", props: { value: "男", label: "男" } }, { componentName: "TiRadio", props: { value: "女", label: "女" } }] }] }, { componentName: "div", props: { style: "display: flex; flex-direction: column; gap: 8px;" }, children: [{ componentName: "label", props: { style: "font-weight: bold;" }, children: "部门" }, { componentName: "TiSelect", props: { placeholder: "请选择", ngModel: { type: "JSExpression", model: !0, value: "this.state.formData.department" }, options: [{ value: "HR", label: "人事部" }, { value: "other", label: "其他部门" }], ngModelChange: { type: "JSExpression", value: "this.departChange" } }, directives: [{ directiveName: "ngModel" }] }] }, { componentName: "div", props: { style: "display: flex; flex-direction: column; gap: 8px;" }, children: [{ componentName: "label", props: { style: "font-weight: bold;" }, children: "入职日期" }, { componentName: "TiDate", props: { placeholder: "请选择日期", disabled: !0, ngModel: { type: "JSExpression", model: !0, value: "this.state.formData.protocolStart" }, format: "yyyy-MM-dd" }, directives: [{ directiveName: "ngModel" }] }] }, { componentName: "div", props: { style: "display: flex; gap: 8px; margin-top: 16px;" }, children: [{ componentName: "TiButton", props: { type: "primary", onClick: { type: "JSExpression", value: "this.handleSubmit" } }, children: "确认" }, { componentName: "TiButton", props: { type: "default" }, children: "取消" }] }] }], p = {
|
|
4
|
+
state: i,
|
|
5
|
+
methods: a,
|
|
6
|
+
componentName: l,
|
|
7
|
+
props: r,
|
|
8
|
+
children: s
|
|
9
|
+
}, d = "Page", c = [{ componentName: "h3", props: { style: "font-size: 14px;font-weight: bold;line-height:2;margin-bottom:20px;display:block;" }, children: "员工信息详情" }, { componentName: "TiCard", props: { header: "员工信息", style: "width: 374px;" }, children: [{ componentName: "div", props: { style: "display: flex; flex-direction: column; gap: 16px; padding: 20px;" }, children: [{ componentName: "div", props: { style: "display: flex;" }, children: [{ componentName: "span", props: { style: "width: 80px; font-weight: bold;" }, children: "姓名" }, { componentName: "span", children: "张三" }] }, { componentName: "div", props: { style: "display: flex;" }, children: [{ componentName: "span", props: { style: "width: 80px; font-weight: bold;" }, children: "电话" }, { componentName: "span", children: "18856254558" }] }, { componentName: "div", props: { style: "display: flex;" }, children: [{ componentName: "span", props: { style: "width: 80px; font-weight: bold;" }, children: "部门" }, { componentName: "span", children: "HR" }] }] }] }], u = "body", m = {
|
|
10
|
+
componentName: d,
|
|
11
|
+
children: c,
|
|
12
|
+
id: u
|
|
13
|
+
}, h = "Page", f = ".page-base-style {padding: 24px;background: #FFFFFF;}.block-base-style {margin: 16px;}.component-base-style {margin: 8px;}", g = { className: "page-base-style" }, y = {}, b = [{ componentName: "TiTable", props: { srcData: { type: "JSExpression", value: "this.state.srcData" }, displayedData: { type: "JSExpression", model: !0, value: "this.state.displayedData" }, columns: { type: "JSExpression", value: "this.state.columns" }, className: "component-base-style" }, children: [{ componentName: "table", children: [{ componentName: "thead", children: [{ componentName: "tr", children: [{ componentName: "th", children: [{ componentName: "Text", props: { text: { type: "JSExpression", value: "column.title" } } }], loop: { type: "JSExpression", value: "this.state.columns" }, loopArgs: ["column"] }] }] }, { componentName: "tbody", children: [{ componentName: "tr", loop: { type: "JSExpression", value: "this.state.displayedData" }, loopArgs: ["row"], children: [{ componentName: "td", children: [{ componentName: "Text", props: { text: { type: "JSExpression", value: "row.name" } } }] }, { componentName: "td", children: [{ componentName: "Text", props: { text: { type: "JSExpression", value: "row.id" } } }] }, { componentName: "td", children: [{ componentName: "Text", props: { text: { type: "JSExpression", value: "row.sex" } } }] }, { componentName: "td", children: [{ componentName: "Text", props: { text: { type: "JSExpression", value: "row.department" } } }] }, { componentName: "td", children: [{ componentName: "Text", props: { text: { type: "JSExpression", value: "row.protocolStart" } } }] }, { componentName: "td", children: [{ componentName: "Text", props: { text: { type: "JSExpression", value: "row.email" } } }] }, { componentName: "td", children: [{ componentName: "TinyButton", props: { onClick: { type: "JSFunction", value: "function() { this.deleteRow(row) }" } }, children: [{ componentName: "Text", props: { text: { type: "JSExpression", value: "`删除${row.name}`" } } }] }] }] }] }] }] }], N = { columns: [{ field: "name", title: "姓名" }, { field: "id", title: "工号" }, { field: "sex", title: "性别" }, { field: "department", title: "部门" }, { field: "protocolStart", title: "入职日期" }, { field: "email", title: "邮箱" }, { field: "actions", title: "操作" }], srcData: [{ name: "李四", id: "2", sex: "女", department: "技术部", protocolStart: "2019-05-15", email: "lisi@test.com" }, { name: "王五", id: "3", sex: "男", department: "市场部", protocolStart: "2020-03-20", email: "wangwu@test.com" }], displayedData: [] }, C = { deleteRow: { type: "JSFunction", value: "function(row) { this.state.srcData = this.state.srcData.filter(item => item.id !== row.id) }" } }, x = { list: [] }, _ = "body", z = {
|
|
14
|
+
componentName: h,
|
|
15
|
+
css: f,
|
|
16
|
+
props: g,
|
|
17
|
+
lifeCycles: y,
|
|
18
|
+
children: b,
|
|
19
|
+
state: N,
|
|
20
|
+
methods: C,
|
|
21
|
+
dataSource: x,
|
|
22
|
+
id: _
|
|
23
|
+
}, v = "Page", w = "Untitled", T = `.page-base-style {
|
|
24
|
+
padding: 24px;background: #FFFFFF;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.block-base-style {
|
|
28
|
+
margin: 16px;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.component-base-style {
|
|
32
|
+
margin: 8px;
|
|
33
|
+
}
|
|
34
|
+
`, k = { className: "page-base-style" }, P = {}, S = [{ componentName: "div", id: "e9a7b6c5", props: { style: "display: flex; flex-direction: column; align-items: center;" }, children: [{ componentName: "h2", id: "f2g3h4i5", props: { style: "font-size: 24px; font-weight: bold; margin-bottom: 20px;" }, children: "降本增效,加速企业数字化转型" }, { componentName: "TiTabs", id: "j6k7l8m9", props: { className: "component-base-style" }, children: [{ componentName: "TiTab", id: "n0o1p2q3", props: { header: "精选推荐", id: "tab1", active: !0 }, children: [{ componentName: "div", id: "r4s5t6u7", props: { style: "display: flex; flex-wrap: wrap; justify-content: space-around; gap: 20px; padding: 20px;" }, children: [{ componentName: "div", id: "v8w9x0y1", props: { style: "width: 25%; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); border-radius: 8px; padding: 20px; display: flex; flex-direction: column; justify-content: center; align-items: center;" }, children: [{ componentName: "img", id: "z2a3b4c5", props: { src: "https://res-static.hc-cdn.cn/cloudbu-site/public/new-product-icon/BusinessApplications/Domains.png", alt: "域名注册服务", style: "width: 60px; height: 60px; margin-bottom: 10px;" } }, { componentName: "h4", id: "d6e7f8g9", props: { style: "font-size: 16px; font-weight: bold; margin-bottom: 5px;" }, children: "域名注册服务" }, { componentName: "p", id: "h0i1j2k3", props: { style: "font-size: 14px; color: #666;" }, children: "适用于网站建设、域名投资等场景" }] }, { componentName: "div", id: "l4m5n6o7", props: { style: "width: 25%; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); border-radius: 8px; padding: 20px; display: flex; flex-direction: column; justify-content: center; align-items: center;" }, children: [{ componentName: "img", id: "p8q9r0s1", props: { src: "https://res-static.hc-cdn.cn/cloudbu-site/public/new-product-icon/BusinessApplications/mail0918.png", alt: "华为云企业邮箱", style: "width: 60px; height: 60px; margin-bottom: 10px;" } }, { componentName: "h4", id: "t2u3v4w5", props: { style: "font-size: 16px; font-weight: bold; margin-bottom: 5px;" }, children: "华为云企业邮箱" }, { componentName: "p", id: "x6y7z8a9", props: { style: "font-size: 14px; color: #666;" }, children: "免费试用,无限容量,全球畅邮" }] }, { componentName: "div", id: "b0c1d2e3", props: { style: "width: 25%; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); border-radius: 8px; padding: 20px; display: flex; flex-direction: column; justify-content: center; align-items: center;" }, children: [{ componentName: "img", id: "f4g5h6i7", props: { src: "https://res-static.hc-cdn.cn/cloudbu-site/public/new-product-icon/BusinessApplications/Cloudsite.png", alt: "企业门户(原云速建站)", style: "width: 60px; height: 60px; margin-bottom: 10px;" } }, { componentName: "h4", id: "j8k9l0m1", props: { style: "font-size: 16px; font-weight: bold; margin-bottom: 5px;" }, children: "企业门户(原云速建站)" }, { componentName: "p", id: "n2o3p4q5", props: { style: "font-size: 14px; color: #666;" }, children: "无需代码,一键拖拽,3000+模板随心选" }] }, { componentName: "div", id: "r6s7t8u9", props: { style: "width: 25%; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); border-radius: 8px; padding: 20px; display: flex; flex-direction: column; justify-content: center; align-items: center;" }, children: [{ componentName: "img", id: "v0w1x2y3", props: { src: "https://res-static.hc-cdn.cn/cloudbu-site/china/zh-cn/yunying/new-home/markplace/home_icon_14.svg", alt: "财税卫士", style: "width: 60px; height: 60px; margin-bottom: 10px;" } }, { componentName: "h4", id: "z4a5b6c7", props: { style: "font-size: 16px; font-weight: bold; margin-bottom: 5px;" }, children: "财税卫士" }, { componentName: "p", id: "d8e9f0g1", props: { style: "font-size: 14px; color: #666;" }, children: "智能财税风控检测软件,助力企业合规" }] }] }] }, { componentName: "TiTab", id: "h2i3j4k5", props: { header: "企业初创", id: "tab2" }, children: [] }, { componentName: "TiTab", id: "l6m7n8o9", props: { header: "企业营销", id: "tab3" }, children: [] }, { componentName: "TiTab", id: "p0q1r2s3", props: { header: "企业办公", id: "tab4" }, children: [] }] }, { componentName: "div", id: "t4u5v6w7", props: { style: "text-align: center; margin-top: 20px;" }, children: [{ componentName: "a", id: "x8y9z0a1", props: { style: "font-size: 16px; color: #1890ff; text-decoration: none;", href: "#" }, children: "查看企业应用中心 >" }] }] }], M = { list: [] }, q = {}, O = { imports: [] }, B = {}, E = [], A = [], W = "body", I = {
|
|
35
|
+
componentName: v,
|
|
36
|
+
fileName: w,
|
|
37
|
+
css: T,
|
|
38
|
+
props: k,
|
|
39
|
+
lifeCycles: P,
|
|
40
|
+
children: S,
|
|
41
|
+
dataSource: M,
|
|
42
|
+
methods: q,
|
|
43
|
+
bridge: O,
|
|
44
|
+
state: B,
|
|
45
|
+
inputs: E,
|
|
46
|
+
outputs: A,
|
|
47
|
+
id: W
|
|
48
|
+
}, D = "Page", J = { className: "page-base-style" }, R = ".page-base-style {padding: 24px;background: #FFFFFF;}", F = [{ componentName: "TiTable", props: { srcData: { type: "JSExpression", value: "this.state.srcData" }, displayedData: { type: "JSExpression", model: !0, value: "this.state.displayedData" }, columns: { type: "JSExpression", value: "this.state.columns" } }, children: [{ componentName: "table", children: [{ componentName: "thead", children: [{ componentName: "tr", children: [{ componentName: "th", children: [{ componentName: "Text", props: { text: { type: "JSExpression", value: "column.title" } } }], loop: { type: "JSExpression", value: "this.state.columns" }, loopArgs: ["column"] }] }] }, { componentName: "tbody", children: [{ componentName: "tr", children: [{ componentName: "td", children: [{ componentName: "Text", props: { text: { type: "JSExpression", value: "row.id" } } }] }, { componentName: "td", children: [{ componentName: "Text", props: { text: { type: "JSExpression", value: "row.name" } } }] }, { componentName: "td", children: [{ componentName: "Text", props: { text: { type: "JSExpression", value: "row.department" } } }] }, { componentName: "td", children: [{ componentName: "Text", props: { text: { type: "JSExpression", value: "row.email" } } }] }], loop: { type: "JSExpression", value: "this.state.displayedData" }, loopArgs: ["row"] }] }] }] }, { componentName: "TiPagination", props: { currentPage: { type: "JSExpression", value: "this.state.currentPage" }, pageSize: { type: "JSExpression", value: "this.state.pageSize" }, total: { type: "JSExpression", value: "this.state.total" }, currentPageChange: { type: "JSFunction", value: "function(page) { this.state.currentPage = page }" }, pageSizeChange: { type: "JSFunction", value: "function(size) { this.state.pageSize = size }" } } }], L = { currentPage: 1, pageSize: 10, total: 100, columns: [{ field: "id", title: "ID" }, { field: "name", title: "姓名" }, { field: "department", title: "部门" }, { field: "email", title: "邮箱" }], srcData: { data: [{ id: "1", name: "张三", department: "HR", email: "zhangsan@test.com" }, { id: "2", name: "李四", department: "技术部", email: "lisi@test.com" }, { id: "3", name: "王五", department: "市场部", email: "wangwu@test.com" }] }, displayedData: [] }, $ = "body", V = {
|
|
49
|
+
componentName: D,
|
|
50
|
+
props: J,
|
|
51
|
+
css: R,
|
|
52
|
+
children: F,
|
|
53
|
+
state: L,
|
|
54
|
+
id: $
|
|
55
|
+
}, G = [
|
|
56
|
+
{ id: "form", name: "双向绑定的表单", schema: p },
|
|
57
|
+
{ id: "info", name: "信息展示卡片", schema: m },
|
|
58
|
+
{ id: "grid", name: "表格卡片", schema: z },
|
|
59
|
+
{ id: "tabs", name: "Tabs卡片", schema: I },
|
|
60
|
+
{ id: "pagination", name: "分页表格", schema: V }
|
|
61
|
+
], j = [
|
|
62
|
+
// OpenTiny NG 组件
|
|
63
|
+
"TiButton",
|
|
64
|
+
"TiText",
|
|
65
|
+
"TiSelect",
|
|
66
|
+
"TiDate",
|
|
67
|
+
"TiTable",
|
|
68
|
+
"TiTableColumn",
|
|
69
|
+
"TiModal",
|
|
70
|
+
"TiPagination",
|
|
71
|
+
"TiTabs",
|
|
72
|
+
"TiTab",
|
|
73
|
+
"TiCheckbox",
|
|
74
|
+
"TiCheckboxGroup",
|
|
75
|
+
"TiRadio",
|
|
76
|
+
"TiRadioGroup",
|
|
77
|
+
"TiSwitch",
|
|
78
|
+
//'TiMessage',
|
|
79
|
+
//'TiTip',
|
|
80
|
+
"TiCard",
|
|
81
|
+
// 'TiCardHeader', // 不好看,别用了
|
|
82
|
+
"TiUpload",
|
|
83
|
+
"TiFormField",
|
|
84
|
+
"TiItem",
|
|
85
|
+
"TiDateRange",
|
|
86
|
+
"TiSlider",
|
|
87
|
+
"TiRate",
|
|
88
|
+
"TiTextArea",
|
|
89
|
+
// HTML 原生元素
|
|
90
|
+
"a",
|
|
91
|
+
"h1",
|
|
92
|
+
"h2",
|
|
93
|
+
"h3",
|
|
94
|
+
"h4",
|
|
95
|
+
"h5",
|
|
96
|
+
"h6",
|
|
97
|
+
"p",
|
|
98
|
+
"ol",
|
|
99
|
+
"ul",
|
|
100
|
+
"li",
|
|
101
|
+
"input",
|
|
102
|
+
"video",
|
|
103
|
+
"label",
|
|
104
|
+
"div",
|
|
105
|
+
"span",
|
|
106
|
+
"img",
|
|
107
|
+
"button",
|
|
108
|
+
"table",
|
|
109
|
+
"tr",
|
|
110
|
+
"td",
|
|
111
|
+
"th",
|
|
112
|
+
"thead",
|
|
113
|
+
"tbody",
|
|
114
|
+
"form",
|
|
115
|
+
"select",
|
|
116
|
+
"option",
|
|
117
|
+
"textarea",
|
|
118
|
+
// 内置组件
|
|
119
|
+
"Text",
|
|
120
|
+
"Icon",
|
|
121
|
+
"Img",
|
|
122
|
+
"Slot"
|
|
123
|
+
// 图表组件(如果支持)
|
|
124
|
+
// 'TinyChartPie',
|
|
125
|
+
// 'TinyChartLine',
|
|
126
|
+
// 'TinyChartHistogram',
|
|
127
|
+
// 'TinyChartBar',
|
|
128
|
+
// 'TinyChartRadar',
|
|
129
|
+
// 'TinyChartRing',
|
|
130
|
+
// 布局组件(如果支持)
|
|
131
|
+
// 'GridStack',
|
|
132
|
+
// 'GridStackItem'
|
|
133
|
+
], H = [n];
|
|
134
|
+
function U(t) {
|
|
135
|
+
return G.filter((e) => !!e.id && t.includes(e.id));
|
|
136
|
+
}
|
|
137
|
+
const K = {
|
|
138
|
+
materials: H,
|
|
139
|
+
wrapperComponent: "TiCard",
|
|
140
|
+
whiteList: j,
|
|
141
|
+
examples: U(["form", "info", "grid", "tabs", "pagination"]),
|
|
142
|
+
rules: []
|
|
143
|
+
};
|
|
144
|
+
export {
|
|
145
|
+
K as materialsMeta
|
|
146
|
+
};
|
|
147
|
+
//# sourceMappingURL=meta.js.map
|
package/dist/meta.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"meta.js","sources":["../src/meta/example-schema.ts","../src/meta/white-list.ts","../src/meta/meta.ts"],"sourcesContent":["import type { IExample } from '@opentiny/genui-sdk-core';\nimport formSchema from './examples/form.json' with { type: 'json' };\nimport infoCardSchema from './examples/info.json' with { type: 'json' };\nimport gridSchema from './examples/grid.json' with { type: 'json' };\nimport tabsSchema from './examples/tabs.json' with { type: 'json' };\nimport paginationSchema from './examples/pagination.json' with { type: 'json' };\n\nexport const examples = [\n { id: 'form', name: '双向绑定的表单', schema: formSchema },\n { id: 'info', name: '信息展示卡片', schema: infoCardSchema },\n { id: 'grid', name: '表格卡片', schema: gridSchema },\n { id: 'tabs', name: 'Tabs卡片', schema: tabsSchema },\n { id: 'pagination', name: '分页表格', schema: paginationSchema },\n] as IExample[];\n","export const whiteList = [\n // OpenTiny NG 组件\n 'TiButton',\n 'TiText',\n 'TiSelect',\n 'TiDate',\n 'TiTable',\n 'TiTableColumn',\n 'TiModal',\n 'TiPagination',\n 'TiTabs',\n 'TiTab',\n 'TiCheckbox',\n 'TiCheckboxGroup',\n 'TiRadio',\n 'TiRadioGroup',\n 'TiSwitch',\n //'TiMessage',\n //'TiTip',\n 'TiCard',\n// 'TiCardHeader', // 不好看,别用了\n 'TiUpload',\n 'TiFormField',\n 'TiItem',\n 'TiDateRange',\n 'TiSlider',\n 'TiRate',\n 'TiTextArea',\n // HTML 原生元素\n 'a',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'p',\n 'ol',\n 'ul',\n 'li',\n 'input',\n 'video',\n 'label',\n 'div',\n 'span',\n 'img',\n 'button',\n 'table',\n 'tr',\n 'td',\n 'th',\n 'thead',\n 'tbody',\n 'form',\n 'select',\n 'option',\n 'textarea',\n // 内置组件\n 'Text',\n 'Icon',\n 'Img',\n 'Slot',\n // 图表组件(如果支持)\n // 'TinyChartPie',\n // 'TinyChartLine',\n // 'TinyChartHistogram',\n // 'TinyChartBar',\n // 'TinyChartRadar',\n // 'TinyChartRing',\n // 布局组件(如果支持)\n // 'GridStack',\n // 'GridStackItem'\n];\n\n","import type { IMaterialsMeta, IExample, IMaterialsProtocol } from '@opentiny/genui-sdk-core';\nimport bundleJson from './materials/bundle.json' with { type: 'json' };\nimport { examples as allExamples } from './example-schema';\nimport { whiteList } from './white-list';\n\nconst metaMaterials = [bundleJson] as IMaterialsProtocol[];\n\nfunction filterExamples(ids: string[]) {\n return allExamples.filter((example): example is IExample => !!example.id && ids.includes(example.id));\n}\n\nexport const materialsMeta: IMaterialsMeta = {\n materials: metaMaterials,\n wrapperComponent: 'TiCard',\n whiteList,\n examples: filterExamples(['form', 'info', 'grid', 'tabs', 'pagination']),\n rules: [],\n};\n"],"names":["examples","formSchema","infoCardSchema","gridSchema","tabsSchema","paginationSchema","whiteList","metaMaterials","bundleJson","filterExamples","ids","allExamples","example","materialsMeta"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAOaA,IAAW;AAAA,EACtB,EAAE,IAAI,QAAQ,MAAM,WAAW,QAAQC,EAAA;AAAA,EACvC,EAAE,IAAI,QAAQ,MAAM,UAAU,QAAQC,EAAA;AAAA,EACtC,EAAE,IAAI,QAAQ,MAAM,QAAQ,QAAQC,EAAA;AAAA,EACpC,EAAE,IAAI,QAAQ,MAAM,UAAU,QAAQC,EAAA;AAAA,EACtC,EAAE,IAAI,cAAc,MAAM,QAAQ,QAAQC,EAAA;AAC5C,GCbaC,IAAY;AAAA;AAAA,EAEvB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA;AAAA,EAGA;AAAA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAWF,GCnEMC,IAAgB,CAACC,CAAU;AAEjC,SAASC,EAAeC,GAAe;AACrC,SAAOC,EAAY,OAAO,CAACC,MAAiC,CAAC,CAACA,EAAQ,MAAMF,EAAI,SAASE,EAAQ,EAAE,CAAC;AACtG;AAEO,MAAMC,IAAgC;AAAA,EAC3C,WAAWN;AAAA,EACX,kBAAkB;AAAA,EAClB,WAAAD;AAAA,EACA,UAAUG,EAAe,CAAC,QAAQ,QAAQ,QAAQ,QAAQ,YAAY,CAAC;AAAA,EACvE,OAAO,CAAA;AACT;"}
|
package/package.json
ADDED
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@opentiny/genui-sdk-materials-angular-opentiny-ng",
|
|
3
|
+
"version": "1.3.0-alpha.1",
|
|
4
|
+
"description": "GenUI Angular materials package based on OpenTiny NG",
|
|
5
|
+
"author": "OpenTiny Team",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"homepage": "https://opentiny.design/genui-sdk",
|
|
8
|
+
"repository": {
|
|
9
|
+
"type": "git",
|
|
10
|
+
"url": "https://github.com/opentiny/genui-sdk",
|
|
11
|
+
"directory": "packages/materials/angular-opentiny-ng"
|
|
12
|
+
},
|
|
13
|
+
"bugs": {
|
|
14
|
+
"url": "https://github.com/opentiny/genui-sdk/issues"
|
|
15
|
+
},
|
|
16
|
+
"keywords": [
|
|
17
|
+
"genui",
|
|
18
|
+
"generative-ui",
|
|
19
|
+
"opentiny",
|
|
20
|
+
"angular",
|
|
21
|
+
"materials"
|
|
22
|
+
],
|
|
23
|
+
"main": "dist/index.js",
|
|
24
|
+
"types": "dist/index.d.ts",
|
|
25
|
+
"type": "module",
|
|
26
|
+
"files": [
|
|
27
|
+
"dist",
|
|
28
|
+
"README.md"
|
|
29
|
+
],
|
|
30
|
+
"publishConfig": {
|
|
31
|
+
"access": "public"
|
|
32
|
+
},
|
|
33
|
+
"exports": {
|
|
34
|
+
".": {
|
|
35
|
+
"types": "./dist/index.d.ts",
|
|
36
|
+
"import": "./dist/index.js",
|
|
37
|
+
"require": "./dist/index.js"
|
|
38
|
+
},
|
|
39
|
+
"./meta": {
|
|
40
|
+
"types": "./dist/meta.d.ts",
|
|
41
|
+
"import": "./dist/meta.js",
|
|
42
|
+
"require": "./dist/meta.js"
|
|
43
|
+
},
|
|
44
|
+
"./materials": {
|
|
45
|
+
"types": "./dist/materials.d.ts",
|
|
46
|
+
"import": "./dist/materials.js",
|
|
47
|
+
"require": "./dist/materials.js"
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
"dependencies": {
|
|
51
|
+
"@angular/core": "^20.3.0",
|
|
52
|
+
"@opentiny/ng": "^1.0.3",
|
|
53
|
+
"@opentiny/genui-sdk-core": "1.3.0-alpha.1"
|
|
54
|
+
},
|
|
55
|
+
"devDependencies": {
|
|
56
|
+
"escape-string-regexp": "^1.0.5",
|
|
57
|
+
"vite": "^6.0.0",
|
|
58
|
+
"vite-plugin-dts": "^4.0.0",
|
|
59
|
+
"typescript": "^5.8.2"
|
|
60
|
+
},
|
|
61
|
+
"scripts": {
|
|
62
|
+
"build": "vite build"
|
|
63
|
+
}
|
|
64
|
+
}
|