@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 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)
@@ -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,7 @@
1
+ import { materialsMeta as e } from "./meta.js";
2
+ import { m as t } from "./materials-DiEJoFCS.js";
3
+ export {
4
+ t as materials,
5
+ e as materialsMeta
6
+ };
7
+ //# sourceMappingURL=index.js.map
@@ -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,5 @@
1
+ import { m as r } from "./materials-DiEJoFCS.js";
2
+ export {
3
+ r as materials
4
+ };
5
+ //# sourceMappingURL=materials.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"materials.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
package/dist/meta.d.ts ADDED
@@ -0,0 +1,5 @@
1
+ import { IMaterialsMeta } from '@opentiny/genui-sdk-core';
2
+
3
+ export declare const materialsMeta: IMaterialsMeta;
4
+
5
+ export { }
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
@@ -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
+ }