ch3chi-commons-vue 1.2.0 → 1.8.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.
Files changed (112) hide show
  1. package/package.json +2 -1
  2. package/src/api/ApiService.ts +869 -0
  3. package/src/auth/AuthorizationService.ts +138 -0
  4. package/src/auth/PermissionDescriptor.ts +99 -0
  5. package/src/auth/keys.ts +5 -0
  6. package/src/components/CAlert.vue +188 -0
  7. package/src/components/CAlertDefine.ts +20 -0
  8. package/src/components/CBSToast.vue +119 -0
  9. package/src/components/CGlobalSpinner.vue +84 -0
  10. package/src/components/CImage.vue +67 -0
  11. package/src/components/CRowCheckBox.vue +75 -0
  12. package/src/components/CRowTextInput.vue +27 -0
  13. package/src/components/CTable.vue +524 -0
  14. package/src/components/CTableDefine.ts +566 -0
  15. package/src/components/CTableTD.vue +28 -0
  16. package/src/components/HasPermission.vue +28 -0
  17. package/src/components/form/CChangePasswordFormField.vue +146 -0
  18. package/src/components/form/CCheckBoxFormField.vue +91 -0
  19. package/src/components/form/CCheckBoxPlatFormField.vue +94 -0
  20. package/src/components/form/CDateFormField.vue +149 -0
  21. package/src/components/form/CDateQueryField.vue +111 -0
  22. package/src/components/form/CDateRangeFormField.vue +138 -0
  23. package/src/components/form/CFilePickerFormField.vue +471 -0
  24. package/src/components/form/CRadioFormField.vue +62 -0
  25. package/src/components/form/CRadioPlatFormField.vue +67 -0
  26. package/src/components/form/CSelectFormField.vue +175 -0
  27. package/src/components/form/CTextAreaFormField.vue +84 -0
  28. package/src/components/form/CTextInputFormField.vue +99 -0
  29. package/src/components/form/CTinyMCEEditorFormField.vue +99 -0
  30. package/src/components/form/SCTextInputFormField.vue +129 -0
  31. package/src/composables/useCheckBoxFormField.ts +126 -0
  32. package/src/composables/useRadioFormField.ts +106 -0
  33. package/src/directive/CBootstrapDirective.ts +83 -0
  34. package/src/directive/CDateFormatterDirective.ts +37 -0
  35. package/src/directive/CFTurnstileDirective.ts +46 -0
  36. package/src/directive/CFormDirective.ts +57 -0
  37. package/src/directive/PermissionDirective.ts +102 -0
  38. package/src/env.d.ts +19 -0
  39. package/src/index.ts +83 -0
  40. package/src/model/BSFieldStyleConfig.ts +349 -0
  41. package/src/model/BaseDictionary.ts +86 -0
  42. package/src/model/BaseFormDataModel.ts +623 -0
  43. package/src/model/BaseListViewModel.ts +392 -0
  44. package/src/model/CBSModalViewModel.ts +91 -0
  45. package/src/model/CFileDataModel.ts +181 -0
  46. package/src/model/CImageViewModel.ts +34 -0
  47. package/src/model/CMenuItem.ts +199 -0
  48. package/src/model/EmailReceiverDataModel.ts +149 -0
  49. package/src/model/EmptyDataModel.ts +25 -0
  50. package/src/model/FormOptions.ts +112 -0
  51. package/src/model/LoginDataModel.ts +51 -0
  52. package/src/model/PasswordDataModel.ts +70 -0
  53. package/src/model/QueryParameter.ts +310 -0
  54. package/src/model/SessionUser.ts +110 -0
  55. package/src/model/ShowMessageDataModel.ts +69 -0
  56. package/src/model/TokenUser.ts +157 -0
  57. package/src/stores/FormDataStore.ts +73 -0
  58. package/src/stores/ViewStore.ts +701 -0
  59. package/src/stores/VueSessionStoreInstaller.ts +22 -0
  60. package/src/types/turnstile.d.ts +8 -0
  61. package/src/utils/CToolUtils.ts +133 -0
  62. package/dist/api/ApiService.d.ts +0 -233
  63. package/dist/auth/AuthorizationService.d.ts +0 -56
  64. package/dist/auth/PermissionDescriptor.d.ts +0 -37
  65. package/dist/components/CAlert.vue.d.ts +0 -17
  66. package/dist/components/CAlertDefine.d.ts +0 -14
  67. package/dist/components/CBSToast.vue.d.ts +0 -6
  68. package/dist/components/CGlobalSpinner.vue.d.ts +0 -13
  69. package/dist/components/CRowCheckBox.vue.d.ts +0 -14
  70. package/dist/components/CRowTextInput.vue.d.ts +0 -10
  71. package/dist/components/CTable.vue.d.ts +0 -24
  72. package/dist/components/CTableDefine.d.ts +0 -201
  73. package/dist/components/CTableTD.vue.d.ts +0 -7
  74. package/dist/components/form/CChangePasswordFormField.vue.d.ts +0 -14
  75. package/dist/components/form/CCheckBoxFormField.vue.d.ts +0 -30
  76. package/dist/components/form/CDateFormField.vue.d.ts +0 -17
  77. package/dist/components/form/CDateQueryField.vue.d.ts +0 -16
  78. package/dist/components/form/CDateRangeFormField.vue.d.ts +0 -17
  79. package/dist/components/form/CFilePickerFormField.vue.d.ts +0 -28
  80. package/dist/components/form/CRadioFormField.vue.d.ts +0 -30
  81. package/dist/components/form/CSelectFormField.vue.d.ts +0 -18
  82. package/dist/components/form/CTextAreaFormField.vue.d.ts +0 -16
  83. package/dist/components/form/CTextInputFormField.vue.d.ts +0 -22
  84. package/dist/directive/CBootstrapDirective.d.ts +0 -17
  85. package/dist/directive/CDateFormatterDirective.d.ts +0 -10
  86. package/dist/directive/CFTurnstileDirective.d.ts +0 -15
  87. package/dist/directive/CFormDirective.d.ts +0 -9
  88. package/dist/directive/PermissionDirective.d.ts +0 -15
  89. package/dist/index.cjs.js +0 -19103
  90. package/dist/index.d.ts +0 -45
  91. package/dist/index.es.js +0 -19086
  92. package/dist/model/BSFieldStyleConfig.d.ts +0 -121
  93. package/dist/model/BaseDictionary.d.ts +0 -34
  94. package/dist/model/BaseFormDataModel.d.ts +0 -199
  95. package/dist/model/BaseListViewModel.d.ts +0 -165
  96. package/dist/model/CBSModalViewModel.d.ts +0 -44
  97. package/dist/model/CFileDataModel.d.ts +0 -74
  98. package/dist/model/CImageViewModel.d.ts +0 -8
  99. package/dist/model/CMenuItem.d.ts +0 -86
  100. package/dist/model/EmailReceiverDataModel.d.ts +0 -57
  101. package/dist/model/EmptyDataModel.d.ts +0 -7
  102. package/dist/model/FormOptions.d.ts +0 -60
  103. package/dist/model/LoginDataModel.d.ts +0 -12
  104. package/dist/model/PasswordDataModel.d.ts +0 -15
  105. package/dist/model/QueryParameter.d.ts +0 -92
  106. package/dist/model/SessionUser.d.ts +0 -45
  107. package/dist/model/ShowMessageDataModel.d.ts +0 -44
  108. package/dist/model/TokenUser.d.ts +0 -50
  109. package/dist/stores/FormDataStore.d.ts +0 -31
  110. package/dist/stores/ViewStore.d.ts +0 -349
  111. package/dist/style.css +0 -223
  112. package/dist/utils/CToolUtils.d.ts +0 -53
@@ -1,201 +0,0 @@
1
- import { VNode } from 'vue';
2
- /**
3
- * CTableColumnType 定義了表格欄位的類型
4
- * - RowNumber: 行號類型
5
- * - Text: 文字類型
6
- * - Date: 日期類型
7
- * - DateTime: 日期時間類型
8
- * - Action: 操作類型
9
- */
10
- export declare enum CTableColumnType {
11
- RowNumber = "rowNumber",// 行號類型
12
- Text = "text",// 文字類型
13
- TextInput = "textInput",// 文字輸入類型(可手動切換?)
14
- Date = "date",// 日期類型
15
- DateRange = "dateRange",// 日期範圍類型
16
- DateTime = "datetime",// 日期時間類型
17
- Action = "action",// 操作類型
18
- Checkbox = "checkbox"
19
- }
20
- /**
21
- * CTableColumnActionType 定義了表格欄位的操作類型
22
- */
23
- export declare enum CTableColumnActionType {
24
- Edit = "edit",// 編輯操作
25
- Delete = "delete",// 刪除操作
26
- Review = "review",// 審核操作
27
- Vote = "vote",// 投票操作
28
- Check = "check"
29
- }
30
- /**
31
- * CTableColumnActionParam 定義了表格欄位操作的參數
32
- */
33
- export interface CTableColumnActionParam {
34
- actionType: CTableColumnActionType;
35
- rowData: Record<string, any>;
36
- event?: Event;
37
- }
38
- export interface CTableColumnActionMeta {
39
- actionType: CTableColumnActionType;
40
- text?: string;
41
- cls?: string;
42
- icon?: string;
43
- onClick?: (p: CTableColumnActionParam) => void;
44
- emit?: (event: string, ...args: any[]) => void;
45
- }
46
- /**
47
- * CTableColumnDefine 定義了表格欄位的屬性和行為
48
- */
49
- export interface CTableColumnDefine {
50
- id?: string;
51
- type: CTableColumnType;
52
- idName?: string;
53
- dataName?: string;
54
- dataNameList?: string[];
55
- text: string;
56
- defaultText?: string;
57
- sortConfig?: {
58
- sortable?: boolean;
59
- key?: string | string[];
60
- direction?: 'asc' | 'desc';
61
- } | undefined;
62
- width?: string;
63
- align?: 'left' | 'center' | 'right';
64
- dataAlign?: 'left' | 'center' | 'right';
65
- formatPattern?: string;
66
- actionList?: CTableColumnActionMeta[];
67
- customRender?: (rowData: Record<string, any>) => string | HTMLElement | VNode;
68
- useHtml?: boolean;
69
- useVNode?: boolean;
70
- vNodeAttrs?: Record<string, any>;
71
- }
72
- /**
73
- * CTableColumn 類別定義了表格欄位的屬性和行為
74
- */
75
- export declare class CTableColumn implements CTableColumnDefine {
76
- id?: string;
77
- type: CTableColumnType;
78
- idName?: string;
79
- dataName?: string;
80
- dataNameList?: string[];
81
- text: string;
82
- defaultText?: string;
83
- sortConfig?: {
84
- sortable?: boolean;
85
- key?: string | string[];
86
- direction?: 'asc' | 'desc';
87
- };
88
- width?: string;
89
- align?: 'left' | 'center' | 'right';
90
- dataAlign?: 'left' | 'center' | 'right';
91
- formatPattern?: string;
92
- actionList?: CTableColumnActionMeta[];
93
- defaultRender?: (rowData: Record<string, any>) => string | HTMLElement | VNode;
94
- customRender?: (rowData: Record<string, any>) => string | HTMLElement | VNode;
95
- useHtml: boolean;
96
- useVNode: boolean;
97
- vNodeAttrs?: Record<string, any>;
98
- constructor(define: CTableColumnDefine);
99
- static defaultIconMap: Record<CTableColumnActionType, string>;
100
- static defaultBtnClassMap: Record<CTableColumnActionType, string>;
101
- static configure(config: {
102
- iconMap?: Partial<Record<CTableColumnActionType, string>>;
103
- btnClassMap?: Partial<Record<CTableColumnActionType, string>>;
104
- }): void;
105
- /**
106
- * 渲染欄位內容
107
- * @param rowData 當前行的數據
108
- */
109
- render(rowData: Record<string, any>): string | HTMLElement | VNode;
110
- /**
111
- * 生成 th 的 class 名稱
112
- */
113
- thClass(): string;
114
- /**
115
- * 生成 td 的 class 名稱
116
- */
117
- tdClass(): string;
118
- /**
119
- * 處理欄位操作
120
- * @private
121
- */
122
- private handleAction;
123
- /**
124
- * 生成默認渲染函數
125
- * @private
126
- */
127
- private makeDefaultRender;
128
- /**
129
- * 根據操作類型生成按鈕的樣式和文字
130
- * @param actionType 操作類型
131
- * @returns {cls: string, text: string} 按鈕的樣式和文字
132
- * @private
133
- */
134
- private buildActionButtonMeta;
135
- }
136
- /**
137
- * 分頁樣式配置介面
138
- */
139
- export interface PaginationStyleConfig {
140
- backgroundColor: string;
141
- textColor: string;
142
- borderColor: string;
143
- hoverBackgroundColor: string;
144
- hoverTextColor: string;
145
- hoverBorderColor: string;
146
- activeBackgroundColor: string;
147
- activeTextColor: string;
148
- activeBorderColor: string;
149
- previousIcon: string;
150
- nextIcon: string;
151
- firstIcon: string;
152
- lastIcon: string;
153
- ellipsisIcon: string;
154
- }
155
- export interface TableStyleConfig {
156
- sortIconNone?: string;
157
- sortIconAsc?: string;
158
- sortIconDesc?: string;
159
- scrollbarThumbColor?: string;
160
- scrollbarTrackColor?: string;
161
- scrollbarThumbHoverColor?: string;
162
- scrollbarHeight?: string;
163
- }
164
- /**
165
- * CTableConfig 類別用於配置表格的全域設定 包含以下
166
- * - 分頁樣式設定
167
- * - 每頁顯示選項
168
- */
169
- export declare class CTableConfig {
170
- private static tableStyleConfig;
171
- static getTableStyleConfig(): TableStyleConfig;
172
- static setTableStyleConfig(config: Partial<TableStyleConfig>): void;
173
- private static defaultPaginationStyle;
174
- private static currentPaginationStyle;
175
- /**
176
- * 設定全域分頁樣式
177
- * @param config 分頁樣式配置
178
- */
179
- static setPaginationStyle(config: Partial<PaginationStyleConfig>): void;
180
- /**
181
- * 取得當前分頁樣式
182
- */
183
- static getPaginationStyle(): PaginationStyleConfig;
184
- /**
185
- * 重置分頁樣式為預設值
186
- */
187
- static resetPaginationStyle(): void;
188
- /**
189
- * 產生分頁樣式的 CSS 變數物件
190
- */
191
- static getPaginationStyleVars(): Record<string, string>;
192
- /**
193
- * 產生表格樣式的 CSS 變數物件
194
- */
195
- static getTableStyleVars(): Record<string, string>;
196
- /**
197
- * 預設每頁顯示選項
198
- */
199
- static pageSizeOptions: number[];
200
- }
201
- export declare const __CTableDefine__: CTableColumnType & CTableColumnActionType & CTableColumnActionParam & CTableColumnActionMeta & CTableColumnDefine & PaginationStyleConfig;
@@ -1,7 +0,0 @@
1
- import { CTableColumn } from '../components/CTableDefine';
2
- export interface CTableTDProps {
3
- columnItem: CTableColumn;
4
- dataItem: Record<string, any>;
5
- }
6
- declare const _default: import('vue').DefineComponent<CTableTDProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<CTableTDProps> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
7
- export default _default;
@@ -1,14 +0,0 @@
1
- import { PasswordDataModel } from '../../model/PasswordDataModel';
2
- import { ApiResponse } from '../../api/ApiService';
3
- import { IBSFieldStyleConfig } from '../../model/BSFieldStyleConfig';
4
- type __VLS_Props = {
5
- userUid: string;
6
- requireOldPassword?: boolean;
7
- dataModelConstructor?: new () => PasswordDataModel;
8
- callApi: (dataModel: PasswordDataModel) => Promise<ApiResponse>;
9
- styleConfig?: IBSFieldStyleConfig;
10
- };
11
- declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
12
- requireOldPassword: boolean;
13
- }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
14
- export default _default;
@@ -1,30 +0,0 @@
1
- import { COptionItem } from '../../model/FormOptions';
2
- import { IBSFieldStyleConfig } from '../../model/BSFieldStyleConfig';
3
- type __VLS_Props = {
4
- /**
5
- * Radio 欄位的標籤文字
6
- */
7
- label?: string;
8
- /**
9
- * Radio 欄位是否為必填
10
- */
11
- required?: boolean;
12
- /**
13
- * Radio 欄位的名稱,為 form field 的 name 屬性
14
- */
15
- name: string;
16
- /**
17
- * Radio 選項集
18
- */
19
- optionList: COptionItem[];
20
- /**
21
- * 是否為閱讀模式,若為 true 則只顯示選項文字,不顯示 Radio 按鈕
22
- */
23
- readMode?: boolean;
24
- /**
25
- * BS 欄位樣式設定
26
- */
27
- styleConfig?: IBSFieldStyleConfig;
28
- };
29
- declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
30
- export default _default;
@@ -1,17 +0,0 @@
1
- import { IBSFieldStyleConfig } from '../../model/BSFieldStyleConfig';
2
- type __VLS_Props = {
3
- id?: string;
4
- label?: string;
5
- name: string;
6
- required?: boolean;
7
- placeholder?: string;
8
- readMode?: boolean;
9
- timeType?: 'startOfDay' | 'endOfDay';
10
- styleConfig?: IBSFieldStyleConfig;
11
- };
12
- declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
13
- label: string;
14
- }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
15
- dateBtn: HTMLButtonElement;
16
- }, HTMLDivElement>;
17
- export default _default;
@@ -1,16 +0,0 @@
1
- import { IBSFieldStyleConfig } from '../../model/BSFieldStyleConfig';
2
- type __VLS_Props = {
3
- id?: string;
4
- label?: string;
5
- model: any;
6
- name: string;
7
- placeholder?: string;
8
- timeType?: 'startOfDay' | 'endOfDay';
9
- styleConfig?: IBSFieldStyleConfig;
10
- };
11
- declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
12
- label: string;
13
- }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
14
- dateBtn: HTMLButtonElement;
15
- }, HTMLDivElement>;
16
- export default _default;
@@ -1,17 +0,0 @@
1
- import { IBSFieldStyleConfig } from '../../model/BSFieldStyleConfig';
2
- type __VLS_Props = {
3
- id?: string;
4
- label?: string;
5
- required?: boolean;
6
- startDateFieldName?: string;
7
- endDateFieldName?: string;
8
- styleConfig?: IBSFieldStyleConfig;
9
- };
10
- declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
11
- label: string;
12
- startDateFieldName: string;
13
- endDateFieldName: string;
14
- }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
15
- dateBtn: HTMLButtonElement;
16
- }, HTMLDivElement>;
17
- export default _default;
@@ -1,28 +0,0 @@
1
- import { CFileDataModel } from '../../model/CFileDataModel';
2
- import { IBSFieldStyleConfig } from '../../model/BSFieldStyleConfig';
3
- type __VLS_Props = {
4
- id?: string;
5
- label?: string;
6
- name?: string;
7
- dataModel?: any;
8
- validationDataKey?: string;
9
- placeholder?: string;
10
- tip?: string;
11
- accept?: string;
12
- required?: boolean;
13
- multiple?: boolean;
14
- fileCountLimit?: number;
15
- fileSizeLimit?: number;
16
- styleConfig?: IBSFieldStyleConfig;
17
- };
18
- declare function addSavedFiles(files: CFileDataModel[]): void;
19
- declare const _default: import('vue').DefineComponent<__VLS_Props, {
20
- addSavedFiles: typeof addSavedFiles;
21
- }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
22
- label: string;
23
- placeholder: string;
24
- }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
25
- fileInputRef: HTMLInputElement;
26
- textInputRef: HTMLInputElement;
27
- }, any>;
28
- export default _default;
@@ -1,30 +0,0 @@
1
- import { COptionItem } from '../../model/FormOptions';
2
- import { IBSFieldStyleConfig } from '../../model/BSFieldStyleConfig';
3
- type __VLS_Props = {
4
- /**
5
- * Radio 欄位的標籤文字
6
- */
7
- label?: string;
8
- /**
9
- * Radio 欄位是否為必填
10
- */
11
- required?: boolean;
12
- /**
13
- * Radio 欄位的名稱,為 form field 的 name 屬性
14
- */
15
- name: string;
16
- /**
17
- * Radio 選項集
18
- */
19
- optionList: COptionItem[];
20
- /**
21
- * 是否為閱讀模式,若為 true 則只顯示選項文字,不顯示 Radio 按鈕
22
- */
23
- readMode?: boolean;
24
- /**
25
- * BS 欄位樣式設定
26
- */
27
- styleConfig?: IBSFieldStyleConfig;
28
- };
29
- declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
30
- export default _default;
@@ -1,18 +0,0 @@
1
- import { COptionItem } from '../../model/FormOptions';
2
- import { IBSFieldStyleConfig } from '../../model/BSFieldStyleConfig';
3
- type __VLS_Props = {
4
- id?: string;
5
- label?: string;
6
- required?: boolean;
7
- placeholder?: string;
8
- name: string;
9
- optionList?: COptionItem[] | Promise<COptionItem[]>;
10
- readMode?: boolean;
11
- dependentField?: string;
12
- fetchOptions?: (linkedValue: any) => Promise<COptionItem[]>;
13
- styleConfig?: IBSFieldStyleConfig;
14
- };
15
- declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
16
- placeholder: string;
17
- }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
18
- export default _default;
@@ -1,16 +0,0 @@
1
- import { ComputedRef } from 'vue';
2
- import { IBSFieldStyleConfig } from '../../model/BSFieldStyleConfig';
3
- type __VLS_Props = {
4
- id?: string;
5
- label?: string;
6
- name: string;
7
- required?: boolean;
8
- placeholder?: string;
9
- rows?: number;
10
- maxlength?: number;
11
- disabledState?: ComputedRef<boolean>;
12
- readMode?: boolean;
13
- styleConfig?: IBSFieldStyleConfig;
14
- };
15
- declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
16
- export default _default;
@@ -1,22 +0,0 @@
1
- import { InputHTMLAttributes } from '@vue/runtime-dom';
2
- import { ComputedRef } from 'vue';
3
- import { IBSFieldStyleConfig } from '../../model/BSFieldStyleConfig';
4
- type __VLS_Props = Partial</* @vue-ignore */ InputHTMLAttributes> & {
5
- id?: string;
6
- label?: string;
7
- name: string;
8
- type?: string;
9
- required?: boolean;
10
- placeholder?: string;
11
- autocomplete?: string;
12
- disabledState?: ComputedRef<boolean>;
13
- readMode?: boolean;
14
- min?: number;
15
- max?: number;
16
- styleConfig?: IBSFieldStyleConfig;
17
- };
18
- declare function setIsRequired(value: boolean): void;
19
- declare const _default: import('vue').DefineComponent<__VLS_Props, {
20
- setIsRequired: typeof setIsRequired;
21
- }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
22
- export default _default;
@@ -1,17 +0,0 @@
1
- import { Directive } from 'vue';
2
- /**
3
- * v-tooltip 指令
4
- * 初始化 Bootstrap 的 Tooltip
5
- * 使用方式:<button v-tooltip>Hover me</button>
6
- */
7
- export declare const vdTooltip: Directive;
8
- /**
9
- * v-cbs-modal 指令
10
- * binding.value 必須是 CBSModalViewModel 的實例
11
- */
12
- export declare const vdCBSModal: Directive;
13
- /**
14
- * v-cbs-dropdown 指令
15
- * 初始化 Bootstrap 的 Dropdown
16
- */
17
- export declare const vdCBSDropdown: Directive;
@@ -1,10 +0,0 @@
1
- import { Directive } from 'vue';
2
- /**
3
- * v-date-formatter 指令
4
- * 解析 ref<Date> 並格式化為文字,根據元素型態輸出
5
- * 可以透過 attribute data-date-format 指定日期格式,預設為 'YYYY-MM-DD'
6
- * 使用方式:
7
- * <input type="text" v-date-formatter="dateRef" data-date-format="YYYY/MM/DD" />
8
- * <span v-date-formatter="dateRef" data-date-format="DD-MM-YYYY"></span>
9
- */
10
- export declare const vdDateFormatter: Directive;
@@ -1,15 +0,0 @@
1
- import { Directive } from 'vue';
2
- /**
3
- * v-cf-turnstile 指令
4
- * 用於在表單中嵌入 Cloudflare Turnstile 驗證碼
5
- * 使用方式:
6
- * <pre>
7
- * <div v-cf-turnstile="fieldContext"></div>
8
- * 其中 fieldContext 為 vee-validate 的 FieldContext,用於接收驗證碼 token
9
- * </pre>
10
- * 需要在全域變數中定義 Cloudflare Turnstile 的 site key:
11
- * <pre>
12
- * (window as any).__CLOUDFLARE_TURNSTILE_SITE_KEY__ = 'your-site-key-here';
13
- * </pre>
14
- */
15
- export declare const CFTurnstileDirective: Directive;
@@ -1,9 +0,0 @@
1
- import { Directive } from 'vue';
2
- /**
3
- * 此指令用於當 FormField 有錯誤時,顯示錯誤樣式 'is-invalid'。
4
- */
5
- export declare const CFormFieldErrorStyleDirective: Directive;
6
- /**
7
- * 此指令用於當 Yup Schema 驗證失敗時,顯示錯誤樣式 'is-invalid'。
8
- */
9
- export declare const CFormFieldErrorOnYupDirective: Directive;
@@ -1,15 +0,0 @@
1
- import { Directive } from 'vue';
2
- /**
3
- * 此指令用於根據使用者權限來控制元素的顯示與否。
4
- * 使用方式:v-permission="{need: ['PERMISSION_1', 'PERMISSION_2'], granted: userPermissionsArray, enableVisible: true}"
5
- * 當使用者擁有其中一個權限時,元素將會顯示,否則隱藏。
6
- * 根據 enableVisible 參數決定是隱藏元素還是移除元素,true 為隱藏 (使用 d-none),false 為移除元素。
7
- */
8
- export declare const PermissionDirective: Directive;
9
- /**
10
- * 此指令用於根據使用者權限來控制元素的顯示與否,使用 UserSessionActions 來檢查權限。
11
- * 使用方式:v-store-permission="{sessionStore: userSessionStore, need: ['PERMISSION_1', 'PERMISSION_2'], enableVisible: true}"
12
- * 當使用者擁有其中一個權限時,元素將會顯示,否則隱藏。
13
- * 根據 enableVisible 參數決定是隱藏元素還是移除元素,true 為隱藏 (使用 d-none),false 為移除元素。
14
- */
15
- export declare const StorePermissionDirective: Directive;