@gct-paas/core-web 0.1.6-dev.17 → 0.1.6-dev.19
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/dist/{JsBarcode-hbJ0aUTj.js → JsBarcode-nqhcZPvn.js} +2 -2
- package/dist/{_plugin-vue_export-helper-B8JDTS5A.js → _plugin-vue_export-helper-CyelNe0I.js} +2 -2
- package/dist/{chunk-FrdinjiM.js → chunk-C9ZKDnvz.js} +1 -1
- package/dist/components-DtFY5KCF.js +2 -0
- package/dist/{cropper-kXOaEuXy.js → cropper-BuY_n52N.js} +2 -2
- package/dist/{de_DE-CMOqPpMk.js → de_DE-B3kLT_zG.js} +2 -2
- package/dist/{defineProperty-DAxeR2uH.js → defineProperty-DiReHMuo.js} +1 -1
- package/dist/{diagram-config-item-DUh3mUtV.js → diagram-config-item-DYCiDqAy.js} +2 -2
- package/dist/{diagram-config-item-reverse-C-lK_M8W.js → diagram-config-item-reverse-BKf_yXvB.js} +2 -2
- package/dist/{diagram-config-item-virtual-2m1EFdOj.js → diagram-config-item-virtual-Dw36zOeJ.js} +2 -2
- package/dist/{en_US-DW_aBniN.js → en_US-tZ7NgN80.js} +2 -2
- package/dist/{es_ES-Bog1JAla.js → es_ES-DY2QXYwT.js} +2 -2
- package/dist/{fr_FR-B88CF-a2.js → fr_FR-DbN-1gO0.js} +2 -2
- package/dist/{hooks-xq807tVG.js → hooks-BuOffqGU.js} +2 -2
- package/dist/{icon-next-picker-COelGwZZ.js → icon-next-picker-BmnIn29K.js} +1 -1
- package/dist/index.min.css +1 -1
- package/dist/{ja_JP-DQorABU8.js → ja_JP-BRcXbHEH.js} +2 -2
- package/dist/loader.esm.min.js +2 -2
- package/dist/{monaco-editor-C9gHdPuf.js → monaco-editor-CHnBEX6V.js} +2 -2
- package/dist/{objectSpread2-DPfqyX1h.js → objectSpread2-BHKS0stT.js} +1 -1
- package/dist/{overlayscrollbars-vue-DMDFLsJ4.js → overlayscrollbars-vue-Cc8URtSg.js} +1 -1
- package/dist/{pt_PT-fO3ABuZp.js → pt_PT-DjiZFPmH.js} +2 -2
- package/dist/{relationship-diagram-config-D7HC1Hk4.js → relationship-diagram-config-BwVOMUAb.js} +2 -2
- package/dist/{rich-editor-BYF_B5mz.js → rich-editor-DfsJmv_B.js} +2 -2
- package/dist/{ru_RU-DqC5EhBW.js → ru_RU-Dw9N99Ox.js} +2 -2
- package/dist/template-D-UpvSne.js +2 -0
- package/dist/{tr_TR-Dau_nW2e.js → tr_TR-DCCv6rhK.js} +2 -2
- package/dist/{useMonacoEditor-Zk3dJDl-.js → useMonacoEditor-C3S2BSui.js} +2 -2
- package/dist/{vi_VN-BWVyxMZC.js → vi_VN-BNMXRAom.js} +2 -2
- package/dist/{zh_CN-CwWZ2JFL.js → zh_CN-ywcxTWfr.js} +2 -2
- package/dist/{zh_TW-NtzRUp8G.js → zh_TW-DL4FRJVy.js} +2 -2
- package/es/components/UserPick/src/user-pick.vue_vue_type_script_setup_true_lang.mjs +3 -3
- package/es/components/app-drawer/app-drawer-component.css +82 -0
- package/es/components/app-drawer/app-drawer-component.d.ts +26 -0
- package/es/components/app-drawer/app-drawer-component.mjs +84 -0
- package/es/components/batch-select-list/batch-select-list.css +119 -0
- package/es/components/batch-select-list/batch-select-list.d.ts +158 -0
- package/es/components/batch-select-list/batch-select-list.mjs +133 -0
- package/es/components/data-rules-modal/data-rules-modal.d.ts +67 -0
- package/es/components/data-rules-modal/data-rules-modal.mjs +99 -0
- package/es/components/design-save-tip/design-save-tip.css +107 -0
- package/es/components/design-save-tip/design-save-tip.d.ts +44 -0
- package/es/components/design-save-tip/design-save-tip.mjs +81 -0
- package/es/components/design-step-check/design-step-check.css +133 -0
- package/es/components/design-step-check/design-step-check.d.ts +30 -0
- package/es/components/design-step-check/design-step-check.mjs +96 -0
- package/es/components/design-view-layout/design-view-layout.css +157 -0
- package/es/components/design-view-layout/design-view-layout.d.ts +1 -0
- package/es/components/design-view-layout/design-view-layout.mjs +140 -0
- package/es/components/field-cascader/index.d.ts +2 -1
- package/es/components/index.d.ts +10 -2
- package/es/components/index.mjs +26 -0
- package/es/components/label-design/designer.vue.d.ts +2 -0
- package/es/components/label-design/designer.vue.mjs +7 -0
- package/es/components/label-design/designer.vue_vue_type_script_setup_true_lang.mjs +32 -0
- package/es/components/label-design/designer.vue_vue_type_style_index_0_scoped_260222c9_lang.css +32 -0
- package/es/components/label-design/header/header.vue.d.ts +6 -0
- package/es/components/label-design/header/header.vue.mjs +7 -0
- package/es/components/label-design/header/header.vue_vue_type_script_setup_true_lang.mjs +232 -0
- package/es/components/label-design/header/header.vue_vue_type_style_index_0_scoped_aa2b4235_lang.css +39 -0
- package/es/components/label-design/header/test-var-modal.vue.d.ts +204 -0
- package/es/components/label-design/header/test-var-modal.vue.mjs +7 -0
- package/es/components/label-design/header/test-var-modal.vue_vue_type_script_setup_true_lang.mjs +202 -0
- package/es/components/label-design/header/test-var-modal.vue_vue_type_style_index_0_scoped_972496bb_lang.css +69 -0
- package/es/components/label-design/index.d.ts +11 -1
- package/es/components/label-design/index.mjs +9 -0
- package/es/components/label-design/modal/template.vue_vue_type_script_setup_true_lang.mjs +1 -1
- package/es/components/label-design/panels/panel.vue_vue_type_script_setup_true_lang.mjs +1 -1
- package/es/components/label-design/panels/widget/components/label-params-select.vue.d.ts +35 -0
- package/es/components/label-design/panels/widget/controls/VariableSelect.vue_vue_type_script_setup_true_name_variable-select_lang.mjs +1 -1
- package/es/components/label-design/stage/stage.vue_vue_type_script_setup_true_lang.mjs +1 -1
- package/es/components/label-design/type/index.d.ts +15 -0
- package/es/components/label-design/type/index.mjs +11 -0
- package/es/components/modal-name-editor/modal-name-editor.css +117 -0
- package/es/components/modal-name-editor/modal-name-editor.d.ts +34 -0
- package/es/components/modal-name-editor/modal-name-editor.mjs +124 -0
- package/es/components/shrink-panel/shrink-panel.css +130 -0
- package/es/components/shrink-panel/shrink-panel.d.ts +23 -0
- package/es/components/shrink-panel/shrink-panel.mjs +41 -0
- package/es/components/ui/basic-grid/basic-grid.vue.d.ts +81 -0
- package/es/components/ui/basic-grid/basic-grid.vue.mjs +7 -0
- package/es/components/ui/basic-grid/basic-grid.vue_vue_type_script_setup_true_name_basic-grid_lang.mjs +134 -0
- package/es/components/ui/basic-grid/basic-grid.vue_vue_type_style_index_0_scoped_e9d09c1d_lang.css +90 -0
- package/es/components/ui/basic-grid/index.d.ts +3 -0
- package/es/components/ui/basic-grid/index.mjs +1 -0
- package/es/components/ui/basic-grid/types.d.ts +6 -0
- package/es/components/ui/embed-grid/embed-grid.vue.d.ts +62 -0
- package/es/components/ui/embed-grid/embed-grid.vue.mjs +7 -0
- package/es/components/ui/embed-grid/embed-grid.vue_vue_type_script_setup_true_name_embed-grid_lang.mjs +73 -0
- package/es/components/ui/embed-grid/index.d.ts +3 -0
- package/es/components/ui/embed-grid/index.mjs +1 -0
- package/es/components/ui/embed-grid/types.d.ts +5 -0
- package/es/components/ui/form-alert/form-alert.vue.d.ts +10 -0
- package/es/components/ui/form-alert/form-alert.vue.mjs +7 -0
- package/es/components/ui/form-alert/form-alert.vue_vue_type_script_setup_true_name_form-alert_lang.mjs +31 -0
- package/es/components/ui/form-alert/form-alert.vue_vue_type_style_index_0_scoped_a6bdad9c_lang.css +64 -0
- package/es/components/ui/grid-btns/grid-btns.vue.d.ts +2 -0
- package/es/components/ui/grid-btns/grid-btns.vue.mjs +7 -0
- package/es/components/ui/grid-btns/grid-btns.vue_vue_type_script_setup_true_name_grid-btns_lang.mjs +15 -0
- package/es/components/ui/grid-btns/grid-btns.vue_vue_type_style_index_0_scoped_e3385a9e_lang.css +70 -0
- package/es/components/ui/grid-pagination/grid-pagination.vue.d.ts +12 -0
- package/es/components/ui/grid-pagination/grid-pagination.vue.mjs +7 -0
- package/es/components/ui/grid-pagination/grid-pagination.vue_vue_type_script_setup_true_name_grid-pagination_lang.mjs +57 -0
- package/es/components/ui/grid-pagination/grid-pagination.vue_vue_type_style_index_0_scoped_4905eabf_lang.css +68 -0
- package/es/components/ui/grid-pagination/index.d.ts +3 -0
- package/es/components/ui/grid-pagination/index.mjs +1 -0
- package/es/components/ui/grid-pagination/types.d.ts +24 -0
- package/es/components/ui/highlight/highlight.vue.d.ts +6 -0
- package/es/components/ui/highlight/highlight.vue.mjs +7 -0
- package/es/components/ui/highlight/highlight.vue_vue_type_script_setup_true_name_highlight_lang.mjs +30 -0
- package/es/components/ui/highlight/highlight.vue_vue_type_style_index_0_scoped_e17c6606_lang.css +6 -0
- package/es/components/ui/icon-tooltip/icon-tooltip.vue.d.ts +10 -0
- package/es/components/ui/icon-tooltip/icon-tooltip.vue.mjs +7 -0
- package/es/components/ui/icon-tooltip/icon-tooltip.vue_vue_type_script_setup_true_name_icon-tooltip_lang.mjs +27 -0
- package/es/components/ui/icon-tooltip/icon-tooltip.vue_vue_type_style_index_0_scoped_a35580e4_lang.css +68 -0
- package/es/components/ui/index.d.ts +10 -0
- package/es/components/ui/index.mjs +12 -0
- package/es/components/ui/modal-wrapper/modal-wrapper.vue.d.ts +26 -0
- package/es/components/ui/modal-wrapper/modal-wrapper.vue.mjs +7 -0
- package/es/components/ui/modal-wrapper/modal-wrapper.vue_vue_type_script_setup_true_name_modal-wrapper_lang.mjs +78 -0
- package/es/components/ui/modal-wrapper/modal-wrapper.vue_vue_type_style_index_0_scoped_6b8a9609_lang.css +28 -0
- package/es/components/ui/notice/index.d.ts +8 -0
- package/es/components/ui/notice/index.mjs +31 -0
- package/es/create-app-vue.mjs +1 -1
- package/es/hooks/index.d.ts +1 -0
- package/es/hooks/index.mjs +1 -0
- package/es/hooks/usePrinter.d.ts +19 -0
- package/es/hooks/usePrinter.mjs +50 -0
- package/es/index.mjs +30 -3
- package/es/interface/i-view-step/i-view-step.d.ts +32 -0
- package/es/interface/index.d.ts +1 -0
- package/es/modules/category/category-sider.vue.d.ts +1 -1
- package/es/modules/category/category-sider.vue.mjs +2 -2
- package/es/modules/category/{category-sider.vue_vue_type_style_index_0_scoped_5b8c3a8d_lang.css → category-sider.vue_vue_type_style_index_0_scoped_2ad0d132_lang.css} +33 -33
- package/es/modules/color-picker/index.mjs +1 -1
- package/es/modules/gct-form/controller/editor-item/editor-item.controller.d.ts +1 -0
- package/es/modules/gct-form/controller/editor-item/editor-item.controller.mjs +11 -0
- package/es/modules/gct-form/editor/gct-form-date-range/form-date-range.css +67 -0
- package/es/modules/gct-form/editor/gct-form-date-range/form-date-range.d.ts +50 -0
- package/es/modules/gct-form/editor/gct-form-date-range/form-date-range.mjs +61 -0
- package/es/modules/gct-form/editor/gct-form-date-range/form-date-range.provider.d.ts +13 -0
- package/es/modules/gct-form/editor/gct-form-date-range/form-date-range.provider.mjs +15 -0
- package/es/modules/gct-form/editor/gct-form-date-range/index.d.ts +4 -0
- package/es/modules/gct-form/editor/gct-form-date-range/index.mjs +8 -0
- package/es/modules/gct-form/editor/gct-form-select/gct-form-select.mjs +1 -1
- package/es/modules/gct-form/editor/index.mjs +2 -1
- package/es/modules/gct-form/hooks/index.d.ts +1 -0
- package/es/modules/gct-form/hooks/index.mjs +1 -0
- package/es/modules/gct-form/hooks/use-form-value/use-form-value.d.ts +11 -0
- package/es/modules/gct-form/hooks/use-form-value/use-form-value.mjs +27 -0
- package/es/modules/gct-form/index.mjs +3 -0
- package/es/modules/gct-form/widgets/gct-search-form/form/app-form.css +70 -0
- package/es/modules/gct-form/widgets/gct-search-form/form/app-form.d.ts +22 -0
- package/es/modules/gct-form/widgets/gct-search-form/form/app-form.mjs +106 -0
- package/es/modules/gct-form/widgets/gct-search-form/form-item/form-item.css +73 -0
- package/es/modules/gct-form/widgets/gct-search-form/form-item/form-item.d.ts +15 -0
- package/es/modules/gct-form/widgets/gct-search-form/form-item/form-item.mjs +22 -0
- package/es/modules/gct-form/widgets/gct-search-form/form.controller.d.ts +46 -0
- package/es/modules/gct-form/widgets/gct-search-form/form.controller.mjs +69 -0
- package/es/modules/gct-form/widgets/gct-search-form/form.state.d.ts +10 -0
- package/es/modules/gct-form/widgets/gct-search-form/form.state.mjs +13 -0
- package/es/modules/gct-form/widgets/gct-search-form/gct-search-form.css +83 -0
- package/es/modules/gct-form/widgets/gct-search-form/gct-search-form.d.ts +33 -0
- package/es/modules/gct-form/widgets/gct-search-form/gct-search-form.mjs +56 -0
- package/es/modules/global-modal/src/components/ModalWrapper.vue_vue_type_script_lang.mjs +1 -1
- package/es/types/index.d.ts +1 -1
- package/es/utils/overlay-controller/overlay-controller.d.ts +3 -1
- package/es/utils/overlay-controller/overlay-controller.mjs +9 -0
- package/package.json +12 -8
- package/dist/ColorPicker-BGXmyt7q.js +0 -2
- package/dist/template-DwBghb9z.js +0 -2
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
@charset "UTF-8";
|
|
2
|
+
/* stylelint-disable scss/no-global-function-names */
|
|
3
|
+
/* bem('block', 'element', 'modifier') => 'ibiz-block__element--modifier' */
|
|
4
|
+
/**
|
|
5
|
+
* 定义 Block 块
|
|
6
|
+
* @param {String} $block - Block 块名称
|
|
7
|
+
* @example
|
|
8
|
+
* @include b('button') {
|
|
9
|
+
* padding: 10px;
|
|
10
|
+
* }
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* 定义 Element 元素
|
|
14
|
+
* @param {String|List} $element - Element 元素名称,支持单个或多个
|
|
15
|
+
* @example
|
|
16
|
+
* @include b('button') {
|
|
17
|
+
* @include e('text') {
|
|
18
|
+
* color: #000;
|
|
19
|
+
* }
|
|
20
|
+
* }
|
|
21
|
+
* // 或传入多个元素
|
|
22
|
+
* @include b('button') {
|
|
23
|
+
* @include e(('text', 'icon')) {
|
|
24
|
+
* margin: 5px;
|
|
25
|
+
* }
|
|
26
|
+
* }
|
|
27
|
+
*/
|
|
28
|
+
/**
|
|
29
|
+
* 定义 Modifier 修饰符
|
|
30
|
+
* @param {String|List} $modifier - Modifier 修饰符名称,支持单个或多个
|
|
31
|
+
* @example
|
|
32
|
+
* @include b('button') {
|
|
33
|
+
* @include m('primary') {
|
|
34
|
+
* background: blue;
|
|
35
|
+
* }
|
|
36
|
+
* }
|
|
37
|
+
* // 或传入多个修饰符
|
|
38
|
+
* @include b('button') {
|
|
39
|
+
* @include m(('primary', 'large')) {
|
|
40
|
+
* background: blue;
|
|
41
|
+
* font-size: 16px;
|
|
42
|
+
* }
|
|
43
|
+
* }
|
|
44
|
+
*/
|
|
45
|
+
/**
|
|
46
|
+
* 定义状态选择器
|
|
47
|
+
* @param {String} $state - 状态名称
|
|
48
|
+
* @example
|
|
49
|
+
* @include b('button') {
|
|
50
|
+
* @include when('disabled') {
|
|
51
|
+
* opacity: 0.5;
|
|
52
|
+
* }
|
|
53
|
+
* }
|
|
54
|
+
*/
|
|
55
|
+
/**
|
|
56
|
+
* 深色主题样式
|
|
57
|
+
* @param {String} $block - Block 块名称
|
|
58
|
+
* @example
|
|
59
|
+
* @include dark('button') {
|
|
60
|
+
* background: #333;
|
|
61
|
+
* color: #fff;
|
|
62
|
+
* }
|
|
63
|
+
*/
|
|
64
|
+
/* stylelint-disable scss/no-global-function-names */
|
|
65
|
+
.gct-batch-select-list {
|
|
66
|
+
width: 100%;
|
|
67
|
+
height: 100%;
|
|
68
|
+
}
|
|
69
|
+
.gct-batch-select-list__header {
|
|
70
|
+
display: flex;
|
|
71
|
+
align-items: center;
|
|
72
|
+
width: 100%;
|
|
73
|
+
height: 44px;
|
|
74
|
+
padding: 0 22px;
|
|
75
|
+
font-size: 14px;
|
|
76
|
+
line-height: 22px;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
.gct-batch-select-list__body {
|
|
80
|
+
width: 100%;
|
|
81
|
+
height: calc(100% - 44px);
|
|
82
|
+
padding: 0 var(--gct-padding-7);
|
|
83
|
+
overflow-y: auto;
|
|
84
|
+
}
|
|
85
|
+
.gct-batch-select-list__body .ant-checkbox-group {
|
|
86
|
+
width: 100%;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
.gct-batch-select-list__item {
|
|
90
|
+
display: flex;
|
|
91
|
+
align-items: center;
|
|
92
|
+
width: 100%;
|
|
93
|
+
height: 44px;
|
|
94
|
+
padding: 0 var(--gct-padding-3);
|
|
95
|
+
cursor: pointer;
|
|
96
|
+
}
|
|
97
|
+
.gct-batch-select-list__item .ant-checkbox-wrapper {
|
|
98
|
+
display: flex;
|
|
99
|
+
align-items: center;
|
|
100
|
+
width: 100%;
|
|
101
|
+
height: 44px;
|
|
102
|
+
}
|
|
103
|
+
.gct-batch-select-list__item .ant-checkbox-wrapper .ant-checkbox {
|
|
104
|
+
margin-top: -6px;
|
|
105
|
+
}
|
|
106
|
+
.gct-batch-select-list__item .ant-checkbox-wrapper > span:not(.ant-checkbox) {
|
|
107
|
+
width: 100%;
|
|
108
|
+
}
|
|
109
|
+
.gct-batch-select-list__item {
|
|
110
|
+
font-size: 14px;
|
|
111
|
+
line-height: 22px;
|
|
112
|
+
}
|
|
113
|
+
.gct-batch-select-list__item.is-select {
|
|
114
|
+
background-color: rgb(230, 238, 255);
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
.gct-batch-select-list__item:hover {
|
|
118
|
+
background-color: rgb(242, 244, 247);
|
|
119
|
+
}
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description 批量选择列表组件,提供全选和单选功能。
|
|
3
|
+
* @example
|
|
4
|
+
* <BatchSelectList v-model:value="selectedItems" :options="allItems" />
|
|
5
|
+
*/
|
|
6
|
+
export declare const BatchSelectList: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
|
|
7
|
+
/**
|
|
8
|
+
* 当前选中的值数组
|
|
9
|
+
*/
|
|
10
|
+
value: {
|
|
11
|
+
type: {
|
|
12
|
+
(arrayLength: number): string[];
|
|
13
|
+
(...items: string[]): string[];
|
|
14
|
+
new (arrayLength: number): string[];
|
|
15
|
+
new (...items: string[]): string[];
|
|
16
|
+
isArray(arg: any): arg is any[];
|
|
17
|
+
readonly prototype: any[];
|
|
18
|
+
from<T>(arrayLike: ArrayLike<T>): T[];
|
|
19
|
+
from<T, U>(arrayLike: ArrayLike<T>, mapfn: (v: T, k: number) => U, thisArg?: any): U[];
|
|
20
|
+
from<T>(iterable: Iterable<T> | ArrayLike<T>): T[];
|
|
21
|
+
from<T, U>(iterable: Iterable<T> | ArrayLike<T>, mapfn: (v: T, k: number) => U, thisArg?: any): U[];
|
|
22
|
+
of<T>(...items: T[]): T[];
|
|
23
|
+
readonly [Symbol.species]: ArrayConstructor;
|
|
24
|
+
fromAsync<T>(iterableOrArrayLike: AsyncIterable<T> | Iterable<T | PromiseLike<T>> | ArrayLike<T | PromiseLike<T>>): Promise<T[]>;
|
|
25
|
+
fromAsync<T, U>(iterableOrArrayLike: AsyncIterable<T> | Iterable<T> | ArrayLike<T>, mapFn: (value: Awaited<T>, index: number) => U, thisArg?: any): Promise<Awaited<U>[]>;
|
|
26
|
+
};
|
|
27
|
+
required: true;
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* 可选项列表
|
|
31
|
+
* @type {Array<{ label: string; value: string }>}
|
|
32
|
+
*/
|
|
33
|
+
options: {
|
|
34
|
+
type: {
|
|
35
|
+
(arrayLength: number): {
|
|
36
|
+
label: string;
|
|
37
|
+
value: string;
|
|
38
|
+
}[];
|
|
39
|
+
(...items: {
|
|
40
|
+
label: string;
|
|
41
|
+
value: string;
|
|
42
|
+
}[]): {
|
|
43
|
+
label: string;
|
|
44
|
+
value: string;
|
|
45
|
+
}[];
|
|
46
|
+
new (arrayLength: number): {
|
|
47
|
+
label: string;
|
|
48
|
+
value: string;
|
|
49
|
+
}[];
|
|
50
|
+
new (...items: {
|
|
51
|
+
label: string;
|
|
52
|
+
value: string;
|
|
53
|
+
}[]): {
|
|
54
|
+
label: string;
|
|
55
|
+
value: string;
|
|
56
|
+
}[];
|
|
57
|
+
isArray(arg: any): arg is any[];
|
|
58
|
+
readonly prototype: any[];
|
|
59
|
+
from<T>(arrayLike: ArrayLike<T>): T[];
|
|
60
|
+
from<T, U>(arrayLike: ArrayLike<T>, mapfn: (v: T, k: number) => U, thisArg?: any): U[];
|
|
61
|
+
from<T>(iterable: Iterable<T> | ArrayLike<T>): T[];
|
|
62
|
+
from<T, U>(iterable: Iterable<T> | ArrayLike<T>, mapfn: (v: T, k: number) => U, thisArg?: any): U[];
|
|
63
|
+
of<T>(...items: T[]): T[];
|
|
64
|
+
readonly [Symbol.species]: ArrayConstructor;
|
|
65
|
+
fromAsync<T>(iterableOrArrayLike: AsyncIterable<T> | Iterable<T | PromiseLike<T>> | ArrayLike<T | PromiseLike<T>>): Promise<T[]>;
|
|
66
|
+
fromAsync<T, U>(iterableOrArrayLike: AsyncIterable<T> | Iterable<T> | ArrayLike<T>, mapFn: (value: Awaited<T>, index: number) => U, thisArg?: any): Promise<Awaited<U>[]>;
|
|
67
|
+
};
|
|
68
|
+
default: () => never[];
|
|
69
|
+
};
|
|
70
|
+
/**
|
|
71
|
+
* 可选项的总数,如果未提供,则使用 options.length
|
|
72
|
+
* 用于计算全选状态,特别是当 options 列表是分页加载时
|
|
73
|
+
*/
|
|
74
|
+
size: {
|
|
75
|
+
type: NumberConstructor;
|
|
76
|
+
};
|
|
77
|
+
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, ("cancelSelect" | "checkAll" | "select" | "update:value")[], "cancelSelect" | "checkAll" | "select" | "update:value", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
78
|
+
/**
|
|
79
|
+
* 当前选中的值数组
|
|
80
|
+
*/
|
|
81
|
+
value: {
|
|
82
|
+
type: {
|
|
83
|
+
(arrayLength: number): string[];
|
|
84
|
+
(...items: string[]): string[];
|
|
85
|
+
new (arrayLength: number): string[];
|
|
86
|
+
new (...items: string[]): string[];
|
|
87
|
+
isArray(arg: any): arg is any[];
|
|
88
|
+
readonly prototype: any[];
|
|
89
|
+
from<T>(arrayLike: ArrayLike<T>): T[];
|
|
90
|
+
from<T, U>(arrayLike: ArrayLike<T>, mapfn: (v: T, k: number) => U, thisArg?: any): U[];
|
|
91
|
+
from<T>(iterable: Iterable<T> | ArrayLike<T>): T[];
|
|
92
|
+
from<T, U>(iterable: Iterable<T> | ArrayLike<T>, mapfn: (v: T, k: number) => U, thisArg?: any): U[];
|
|
93
|
+
of<T>(...items: T[]): T[];
|
|
94
|
+
readonly [Symbol.species]: ArrayConstructor;
|
|
95
|
+
fromAsync<T>(iterableOrArrayLike: AsyncIterable<T> | Iterable<T | PromiseLike<T>> | ArrayLike<T | PromiseLike<T>>): Promise<T[]>;
|
|
96
|
+
fromAsync<T, U>(iterableOrArrayLike: AsyncIterable<T> | Iterable<T> | ArrayLike<T>, mapFn: (value: Awaited<T>, index: number) => U, thisArg?: any): Promise<Awaited<U>[]>;
|
|
97
|
+
};
|
|
98
|
+
required: true;
|
|
99
|
+
};
|
|
100
|
+
/**
|
|
101
|
+
* 可选项列表
|
|
102
|
+
* @type {Array<{ label: string; value: string }>}
|
|
103
|
+
*/
|
|
104
|
+
options: {
|
|
105
|
+
type: {
|
|
106
|
+
(arrayLength: number): {
|
|
107
|
+
label: string;
|
|
108
|
+
value: string;
|
|
109
|
+
}[];
|
|
110
|
+
(...items: {
|
|
111
|
+
label: string;
|
|
112
|
+
value: string;
|
|
113
|
+
}[]): {
|
|
114
|
+
label: string;
|
|
115
|
+
value: string;
|
|
116
|
+
}[];
|
|
117
|
+
new (arrayLength: number): {
|
|
118
|
+
label: string;
|
|
119
|
+
value: string;
|
|
120
|
+
}[];
|
|
121
|
+
new (...items: {
|
|
122
|
+
label: string;
|
|
123
|
+
value: string;
|
|
124
|
+
}[]): {
|
|
125
|
+
label: string;
|
|
126
|
+
value: string;
|
|
127
|
+
}[];
|
|
128
|
+
isArray(arg: any): arg is any[];
|
|
129
|
+
readonly prototype: any[];
|
|
130
|
+
from<T>(arrayLike: ArrayLike<T>): T[];
|
|
131
|
+
from<T, U>(arrayLike: ArrayLike<T>, mapfn: (v: T, k: number) => U, thisArg?: any): U[];
|
|
132
|
+
from<T>(iterable: Iterable<T> | ArrayLike<T>): T[];
|
|
133
|
+
from<T, U>(iterable: Iterable<T> | ArrayLike<T>, mapfn: (v: T, k: number) => U, thisArg?: any): U[];
|
|
134
|
+
of<T>(...items: T[]): T[];
|
|
135
|
+
readonly [Symbol.species]: ArrayConstructor;
|
|
136
|
+
fromAsync<T>(iterableOrArrayLike: AsyncIterable<T> | Iterable<T | PromiseLike<T>> | ArrayLike<T | PromiseLike<T>>): Promise<T[]>;
|
|
137
|
+
fromAsync<T, U>(iterableOrArrayLike: AsyncIterable<T> | Iterable<T> | ArrayLike<T>, mapFn: (value: Awaited<T>, index: number) => U, thisArg?: any): Promise<Awaited<U>[]>;
|
|
138
|
+
};
|
|
139
|
+
default: () => never[];
|
|
140
|
+
};
|
|
141
|
+
/**
|
|
142
|
+
* 可选项的总数,如果未提供,则使用 options.length
|
|
143
|
+
* 用于计算全选状态,特别是当 options 列表是分页加载时
|
|
144
|
+
*/
|
|
145
|
+
size: {
|
|
146
|
+
type: NumberConstructor;
|
|
147
|
+
};
|
|
148
|
+
}>> & Readonly<{
|
|
149
|
+
onCancelSelect?: ((...args: any[]) => any) | undefined;
|
|
150
|
+
onCheckAll?: ((...args: any[]) => any) | undefined;
|
|
151
|
+
onSelect?: ((...args: any[]) => any) | undefined;
|
|
152
|
+
"onUpdate:value"?: ((...args: any[]) => any) | undefined;
|
|
153
|
+
}>, {
|
|
154
|
+
options: {
|
|
155
|
+
label: string;
|
|
156
|
+
value: string;
|
|
157
|
+
}[];
|
|
158
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import './batch-select-list.css';/* empty css */
|
|
2
|
+
import { computed, createTextVNode, createVNode, defineComponent, isVNode, ref, resolveComponent, toRefs, watch } from "vue";
|
|
3
|
+
import { debounce } from "lodash-es";
|
|
4
|
+
import { useNamespace } from "@gct-paas/core";
|
|
5
|
+
//#region src/components/batch-select-list/batch-select-list.tsx
|
|
6
|
+
/**
|
|
7
|
+
* @description 批量选择列表组件,提供全选和单选功能。
|
|
8
|
+
* @example
|
|
9
|
+
* <BatchSelectList v-model:value="selectedItems" :options="allItems" />
|
|
10
|
+
*/
|
|
11
|
+
function _isSlot(s) {
|
|
12
|
+
return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !isVNode(s);
|
|
13
|
+
}
|
|
14
|
+
var BatchSelectList = /* @__PURE__ */ defineComponent({
|
|
15
|
+
name: "BatchSelectList",
|
|
16
|
+
props: {
|
|
17
|
+
/**
|
|
18
|
+
* 当前选中的值数组
|
|
19
|
+
*/
|
|
20
|
+
value: {
|
|
21
|
+
type: Array,
|
|
22
|
+
required: true
|
|
23
|
+
},
|
|
24
|
+
/**
|
|
25
|
+
* 可选项列表
|
|
26
|
+
* @type {Array<{ label: string; value: string }>}
|
|
27
|
+
*/
|
|
28
|
+
options: {
|
|
29
|
+
type: Array,
|
|
30
|
+
default: () => []
|
|
31
|
+
},
|
|
32
|
+
/**
|
|
33
|
+
* 可选项的总数,如果未提供,则使用 options.length
|
|
34
|
+
* 用于计算全选状态,特别是当 options 列表是分页加载时
|
|
35
|
+
*/
|
|
36
|
+
size: { type: Number }
|
|
37
|
+
},
|
|
38
|
+
emits: [
|
|
39
|
+
"update:value",
|
|
40
|
+
"select",
|
|
41
|
+
"cancelSelect",
|
|
42
|
+
"checkAll"
|
|
43
|
+
],
|
|
44
|
+
setup(props, { emit }) {
|
|
45
|
+
const ns = useNamespace("batch-select-list");
|
|
46
|
+
const { options, value, size } = toRefs(props);
|
|
47
|
+
watch(value, (newVal) => {
|
|
48
|
+
val.value = newVal;
|
|
49
|
+
});
|
|
50
|
+
const val = ref(value.value);
|
|
51
|
+
/**
|
|
52
|
+
* 计算列表的总项目数
|
|
53
|
+
* @returns {number} 如果 props.size 有效则返回 props.size,否则返回 props.options 的长度
|
|
54
|
+
*/
|
|
55
|
+
const count = computed(() => {
|
|
56
|
+
if (size.value != null && size.value > 0) return size.value;
|
|
57
|
+
return options.value.length;
|
|
58
|
+
});
|
|
59
|
+
/**
|
|
60
|
+
* 全选复选框的选中状态
|
|
61
|
+
*/
|
|
62
|
+
const isCheckAll = ref(false);
|
|
63
|
+
watch(options, () => {
|
|
64
|
+
isCheckAll.value = val.value.length === count.value;
|
|
65
|
+
});
|
|
66
|
+
/**
|
|
67
|
+
* 计算全选复选框的半选状态
|
|
68
|
+
* @returns {boolean} 当已选项目数大于0且小于总项目数时为 true
|
|
69
|
+
*/
|
|
70
|
+
const indeterminate = computed(() => {
|
|
71
|
+
return val.value.length > 0 && val.value.length < options.value.length;
|
|
72
|
+
});
|
|
73
|
+
/**
|
|
74
|
+
* @description 全选复选框状态变更时的处理函数
|
|
75
|
+
* @param {Event} e - 事件对象,期望 e.target.checked 存在
|
|
76
|
+
* @returns {void}
|
|
77
|
+
*/
|
|
78
|
+
function onCheckAllChange(e) {
|
|
79
|
+
if (e.target.checked) options.value.forEach((opt) => {
|
|
80
|
+
if (!val.value.includes(opt.value)) val.value.push(opt.value);
|
|
81
|
+
});
|
|
82
|
+
else val.value = val.value.filter((item) => {
|
|
83
|
+
return !options.value.some((opt) => opt.value === item);
|
|
84
|
+
});
|
|
85
|
+
emit("update:value", val.value);
|
|
86
|
+
emit("checkAll", val.value);
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* 单个复选框状态变更时的处理函数(通过点击项目触发)
|
|
90
|
+
*
|
|
91
|
+
* @param {MouseEvent} e - 事件对象
|
|
92
|
+
* @param {string} id - 发生变更的复选框的 value
|
|
93
|
+
*/
|
|
94
|
+
const onCheckChange = debounce((e, id) => {
|
|
95
|
+
e.stopPropagation();
|
|
96
|
+
const index = val.value.indexOf(id);
|
|
97
|
+
const newValue = [...val.value];
|
|
98
|
+
if (index > -1) {
|
|
99
|
+
newValue.splice(index, 1);
|
|
100
|
+
emit("cancelSelect", id);
|
|
101
|
+
} else {
|
|
102
|
+
newValue.push(id);
|
|
103
|
+
emit("select", id);
|
|
104
|
+
}
|
|
105
|
+
val.value = newValue;
|
|
106
|
+
emit("update:value", val.value);
|
|
107
|
+
isCheckAll.value = val.value.length === count.value;
|
|
108
|
+
}, 30);
|
|
109
|
+
return () => {
|
|
110
|
+
let _slot;
|
|
111
|
+
return createVNode("div", { "class": ns.b() }, [createVNode("div", { "class": ns.e("header") }, [createVNode(resolveComponent("a-checkbox"), {
|
|
112
|
+
"checked": isCheckAll.value,
|
|
113
|
+
"onUpdate:checked": ($event) => isCheckAll.value = $event,
|
|
114
|
+
"indeterminate": indeterminate.value,
|
|
115
|
+
"onChange": onCheckAllChange
|
|
116
|
+
}, { default: () => [
|
|
117
|
+
createTextVNode("全选("),
|
|
118
|
+
val.value.length,
|
|
119
|
+
createTextVNode("/"),
|
|
120
|
+
count.value,
|
|
121
|
+
createTextVNode(")")
|
|
122
|
+
] })]), createVNode("div", { "class": ns.e("body") }, [createVNode(resolveComponent("a-checkbox-group"), { "value": val.value }, _isSlot(_slot = options.value.map((opt) => {
|
|
123
|
+
return createVNode("div", {
|
|
124
|
+
"class": [ns.e("item"), ns.is("select", val.value.includes(opt.value))],
|
|
125
|
+
"key": opt.value,
|
|
126
|
+
"onClick": (e) => onCheckChange(e, opt.value)
|
|
127
|
+
}, [createVNode(resolveComponent("a-checkbox"), { "value": opt.value }, { default: () => [opt.label] })]);
|
|
128
|
+
})) ? _slot : { default: () => [_slot] })])]);
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
});
|
|
132
|
+
//#endregion
|
|
133
|
+
export { BatchSelectList };
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { PropType } from 'vue';
|
|
2
|
+
import { FIELD_TYPE, IModal } from '@gct-paas/core';
|
|
3
|
+
/**
|
|
4
|
+
* 字段条件规则配置模态框
|
|
5
|
+
*/
|
|
6
|
+
export declare const DataRulesModal: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
|
|
7
|
+
modal: {
|
|
8
|
+
type: PropType<IModal>;
|
|
9
|
+
required: true;
|
|
10
|
+
};
|
|
11
|
+
detail: {
|
|
12
|
+
type: PropType<IObject>;
|
|
13
|
+
default: () => {
|
|
14
|
+
dataRule: string;
|
|
15
|
+
dataRuleConfig: string;
|
|
16
|
+
dataRuleEnabled: boolean;
|
|
17
|
+
};
|
|
18
|
+
};
|
|
19
|
+
modelKey: {
|
|
20
|
+
type: PropType<string>;
|
|
21
|
+
default: string;
|
|
22
|
+
};
|
|
23
|
+
excludeValueType: {
|
|
24
|
+
type: PropType<string[]>;
|
|
25
|
+
default: () => never[];
|
|
26
|
+
};
|
|
27
|
+
excludeOperatorType: {
|
|
28
|
+
type: PropType<string[]>;
|
|
29
|
+
default: () => never[];
|
|
30
|
+
};
|
|
31
|
+
filterFieldKeys: {
|
|
32
|
+
type: PropType<FIELD_TYPE[]>;
|
|
33
|
+
};
|
|
34
|
+
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
35
|
+
modal: {
|
|
36
|
+
type: PropType<IModal>;
|
|
37
|
+
required: true;
|
|
38
|
+
};
|
|
39
|
+
detail: {
|
|
40
|
+
type: PropType<IObject>;
|
|
41
|
+
default: () => {
|
|
42
|
+
dataRule: string;
|
|
43
|
+
dataRuleConfig: string;
|
|
44
|
+
dataRuleEnabled: boolean;
|
|
45
|
+
};
|
|
46
|
+
};
|
|
47
|
+
modelKey: {
|
|
48
|
+
type: PropType<string>;
|
|
49
|
+
default: string;
|
|
50
|
+
};
|
|
51
|
+
excludeValueType: {
|
|
52
|
+
type: PropType<string[]>;
|
|
53
|
+
default: () => never[];
|
|
54
|
+
};
|
|
55
|
+
excludeOperatorType: {
|
|
56
|
+
type: PropType<string[]>;
|
|
57
|
+
default: () => never[];
|
|
58
|
+
};
|
|
59
|
+
filterFieldKeys: {
|
|
60
|
+
type: PropType<FIELD_TYPE[]>;
|
|
61
|
+
};
|
|
62
|
+
}>> & Readonly<{}>, {
|
|
63
|
+
detail: IObject;
|
|
64
|
+
modelKey: string;
|
|
65
|
+
excludeValueType: string[];
|
|
66
|
+
excludeOperatorType: string[];
|
|
67
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { createVNode, defineComponent, provide, ref, resolveComponent } from "vue";
|
|
2
|
+
import { FIELD_TYPE, useNamespace } from "@gct-paas/core";
|
|
3
|
+
//#region src/components/data-rules-modal/data-rules-modal.tsx
|
|
4
|
+
/**
|
|
5
|
+
* 字段条件规则配置模态框
|
|
6
|
+
*/
|
|
7
|
+
var DataRulesModal = /* @__PURE__ */ defineComponent({
|
|
8
|
+
name: "DataRulesModal",
|
|
9
|
+
props: {
|
|
10
|
+
modal: {
|
|
11
|
+
type: Object,
|
|
12
|
+
required: true
|
|
13
|
+
},
|
|
14
|
+
detail: {
|
|
15
|
+
type: Object,
|
|
16
|
+
default: () => ({
|
|
17
|
+
dataRule: "",
|
|
18
|
+
dataRuleConfig: "",
|
|
19
|
+
dataRuleEnabled: true
|
|
20
|
+
})
|
|
21
|
+
},
|
|
22
|
+
modelKey: {
|
|
23
|
+
type: String,
|
|
24
|
+
default: ""
|
|
25
|
+
},
|
|
26
|
+
excludeValueType: {
|
|
27
|
+
type: Array,
|
|
28
|
+
default: () => []
|
|
29
|
+
},
|
|
30
|
+
excludeOperatorType: {
|
|
31
|
+
type: Array,
|
|
32
|
+
default: () => []
|
|
33
|
+
},
|
|
34
|
+
filterFieldKeys: { type: Object }
|
|
35
|
+
},
|
|
36
|
+
setup(props) {
|
|
37
|
+
const ns = useNamespace("data-rules-modal");
|
|
38
|
+
const dataRulesRef = ref();
|
|
39
|
+
provide("isDataFilterEditor", true);
|
|
40
|
+
if (props.modal) props.modal.callback(async () => {
|
|
41
|
+
const dataRulesRes = dataRulesRef.value.getDataRulesResult();
|
|
42
|
+
dataRulesRef.value.resetData();
|
|
43
|
+
return {
|
|
44
|
+
ok: true,
|
|
45
|
+
data: [{
|
|
46
|
+
dataRule: {
|
|
47
|
+
query: dataRulesRes.query,
|
|
48
|
+
varKeys: dataRulesRes.varKeys,
|
|
49
|
+
exp: dataRulesRes.exp,
|
|
50
|
+
typeMap: dataRulesRes?.typeMap || {}
|
|
51
|
+
},
|
|
52
|
+
dataRuleConfig: dataRulesRes.treeStr,
|
|
53
|
+
dataRuleEnabled: true
|
|
54
|
+
}]
|
|
55
|
+
};
|
|
56
|
+
}, async () => {
|
|
57
|
+
dataRulesRef.value.resetData();
|
|
58
|
+
return true;
|
|
59
|
+
});
|
|
60
|
+
const list = ref([]);
|
|
61
|
+
const getConditionField = async (modelKey) => {
|
|
62
|
+
const result = await _api.apaas.fieldMeta.getListConditionField({ modelKey }) || [];
|
|
63
|
+
const filterFieldKeys = props.filterFieldKeys || [
|
|
64
|
+
FIELD_TYPE.TEXT,
|
|
65
|
+
FIELD_TYPE.LONG_TEXT,
|
|
66
|
+
FIELD_TYPE.INTEGER,
|
|
67
|
+
FIELD_TYPE.LONG,
|
|
68
|
+
FIELD_TYPE.DOUBLE,
|
|
69
|
+
FIELD_TYPE.DECIMAL,
|
|
70
|
+
FIELD_TYPE.BOOLEAN,
|
|
71
|
+
FIELD_TYPE.DATE,
|
|
72
|
+
FIELD_TYPE.DATE_TIME,
|
|
73
|
+
FIELD_TYPE.TIME,
|
|
74
|
+
FIELD_TYPE.ENUM,
|
|
75
|
+
FIELD_TYPE.ENUM_MULTI,
|
|
76
|
+
FIELD_TYPE.REF,
|
|
77
|
+
FIELD_TYPE.REF_MULTI
|
|
78
|
+
];
|
|
79
|
+
list.value = result.filter((i) => filterFieldKeys.includes(i.type)).filter((v) => v.createType === "USER_DEFINED" || v.createType === "BUILTIN");
|
|
80
|
+
};
|
|
81
|
+
async function onInit() {
|
|
82
|
+
if (props.modelKey) getConditionField(props.modelKey);
|
|
83
|
+
}
|
|
84
|
+
onInit();
|
|
85
|
+
return () => {
|
|
86
|
+
return createVNode("div", { "class": ns.b() }, [createVNode(resolveComponent("data-rules-container"), {
|
|
87
|
+
"ref": "dataRulesRef",
|
|
88
|
+
"fieldList": list.value,
|
|
89
|
+
"detail": props.detail,
|
|
90
|
+
"isDesign": true,
|
|
91
|
+
"isPageDesigner": true,
|
|
92
|
+
"excludeValueType": props.excludeValueType,
|
|
93
|
+
"excludeOperatorType": props.excludeOperatorType
|
|
94
|
+
}, null)]);
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
});
|
|
98
|
+
//#endregion
|
|
99
|
+
export { DataRulesModal };
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
@charset "UTF-8";
|
|
2
|
+
/* stylelint-disable scss/no-global-function-names */
|
|
3
|
+
/* bem('block', 'element', 'modifier') => 'ibiz-block__element--modifier' */
|
|
4
|
+
/**
|
|
5
|
+
* 定义 Block 块
|
|
6
|
+
* @param {String} $block - Block 块名称
|
|
7
|
+
* @example
|
|
8
|
+
* @include b('button') {
|
|
9
|
+
* padding: 10px;
|
|
10
|
+
* }
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* 定义 Element 元素
|
|
14
|
+
* @param {String|List} $element - Element 元素名称,支持单个或多个
|
|
15
|
+
* @example
|
|
16
|
+
* @include b('button') {
|
|
17
|
+
* @include e('text') {
|
|
18
|
+
* color: #000;
|
|
19
|
+
* }
|
|
20
|
+
* }
|
|
21
|
+
* // 或传入多个元素
|
|
22
|
+
* @include b('button') {
|
|
23
|
+
* @include e(('text', 'icon')) {
|
|
24
|
+
* margin: 5px;
|
|
25
|
+
* }
|
|
26
|
+
* }
|
|
27
|
+
*/
|
|
28
|
+
/**
|
|
29
|
+
* 定义 Modifier 修饰符
|
|
30
|
+
* @param {String|List} $modifier - Modifier 修饰符名称,支持单个或多个
|
|
31
|
+
* @example
|
|
32
|
+
* @include b('button') {
|
|
33
|
+
* @include m('primary') {
|
|
34
|
+
* background: blue;
|
|
35
|
+
* }
|
|
36
|
+
* }
|
|
37
|
+
* // 或传入多个修饰符
|
|
38
|
+
* @include b('button') {
|
|
39
|
+
* @include m(('primary', 'large')) {
|
|
40
|
+
* background: blue;
|
|
41
|
+
* font-size: 16px;
|
|
42
|
+
* }
|
|
43
|
+
* }
|
|
44
|
+
*/
|
|
45
|
+
/**
|
|
46
|
+
* 定义状态选择器
|
|
47
|
+
* @param {String} $state - 状态名称
|
|
48
|
+
* @example
|
|
49
|
+
* @include b('button') {
|
|
50
|
+
* @include when('disabled') {
|
|
51
|
+
* opacity: 0.5;
|
|
52
|
+
* }
|
|
53
|
+
* }
|
|
54
|
+
*/
|
|
55
|
+
/**
|
|
56
|
+
* 深色主题样式
|
|
57
|
+
* @param {String} $block - Block 块名称
|
|
58
|
+
* @example
|
|
59
|
+
* @include dark('button') {
|
|
60
|
+
* background: #333;
|
|
61
|
+
* color: #fff;
|
|
62
|
+
* }
|
|
63
|
+
*/
|
|
64
|
+
/* stylelint-disable scss/no-global-function-names */
|
|
65
|
+
.gct-design-save-tip {
|
|
66
|
+
position: relative;
|
|
67
|
+
width: 316px;
|
|
68
|
+
height: 140px;
|
|
69
|
+
padding: var(--gct-padding-7);
|
|
70
|
+
padding-left: 38px;
|
|
71
|
+
}
|
|
72
|
+
.gct-design-save-tip__tip-icon {
|
|
73
|
+
position: absolute;
|
|
74
|
+
top: 17px;
|
|
75
|
+
left: 16px;
|
|
76
|
+
font-size: 16px;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
.gct-design-save-tip__header {
|
|
80
|
+
font-size: 14px;
|
|
81
|
+
font-weight: bold;
|
|
82
|
+
color: #1A1D23;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
.gct-design-save-tip__content {
|
|
86
|
+
margin-top: 2px;
|
|
87
|
+
font-size: 14px;
|
|
88
|
+
color: var(--gct-color-text-4);
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
.gct-design-save-tip__footer {
|
|
92
|
+
margin-top: 16px;
|
|
93
|
+
}
|
|
94
|
+
.gct-design-save-tip__footer .ant-btn-link {
|
|
95
|
+
padding-right: 0;
|
|
96
|
+
padding-left: 0;
|
|
97
|
+
margin-right: 40px;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
.gct-design-save-tip__cancel-btn {
|
|
101
|
+
width: 62px;
|
|
102
|
+
margin-right: 12px;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
.gct-design-save-tip__save-exit {
|
|
106
|
+
width: 90px;
|
|
107
|
+
}
|