@g1cloud/open-bluesea-core 1.0.0-alpha.1 → 1.0.0-alpha.10
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/css/bluesea.css +0 -94
- package/dist/BSAlertModal-ZEIUM0ut.js +4 -0
- package/dist/BSYesNoModal-Cs6mgXcP.js +4 -0
- package/dist/index.d.ts +1571 -35
- package/dist/open-bluesea-core.css +2598 -1
- package/dist/open-bluesea-core.es.js +5068 -1886
- package/dist/open-bluesea-core.umd.js +5563 -1
- package/package.json +16 -1
- package/tailwind.preset.js +221 -0
- package/dist/blueseaPlugin.d.ts +0 -36
- package/dist/component/basic/PageNavigation.model.d.ts +0 -5
- package/dist/contextmenu/contextMenuPlugin.d.ts +0 -36
- package/dist/directive/vClickOutside.d.ts +0 -20
- package/dist/directive/vFocusOnLoad.d.ts +0 -3
- package/dist/directive/vTooltip.d.ts +0 -7
- package/dist/model/CommonTypes.d.ts +0 -29
- package/dist/model/DefaultImpl.d.ts +0 -7
- package/dist/model/FieldContext.d.ts +0 -14
- package/dist/notification/notificationPlugin.d.ts +0 -31
- package/dist/savepoint/SavePoint.d.ts +0 -46
- package/dist/util/componentUtil.d.ts +0 -11
- package/dist/util/debounceUtil.d.ts +0 -16
- package/dist/util/formatUtil.d.ts +0 -67
- package/dist/util/typeUtil.d.ts +0 -18
- package/dist/util/waitUtil.d.ts +0 -19
- package/dist/validator/FieldValidator.d.ts +0 -43
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"description": "Vue UI Library for Management Console.",
|
|
4
4
|
"license": "Proprietary",
|
|
5
5
|
"private": false,
|
|
6
|
-
"version": "1.0.0-alpha.
|
|
6
|
+
"version": "1.0.0-alpha.10",
|
|
7
7
|
"type": "module",
|
|
8
8
|
"engines": {
|
|
9
9
|
"node": ">= 24.3.0"
|
|
@@ -12,20 +12,35 @@
|
|
|
12
12
|
"main": "./dist/open-bluesea-core.umd.js",
|
|
13
13
|
"module": "./dist/open-bluesea-core.es.js",
|
|
14
14
|
"types": "./dist/index.d.ts",
|
|
15
|
+
"exports": {
|
|
16
|
+
".": {
|
|
17
|
+
"types": "./dist/index.d.ts",
|
|
18
|
+
"import": "./dist/open-bluesea-core.es.js",
|
|
19
|
+
"require": "./dist/open-bluesea-core.umd.js"
|
|
20
|
+
},
|
|
21
|
+
"./tailwind.preset": "./tailwind.preset.js",
|
|
22
|
+
"./css/*": "./css/*",
|
|
23
|
+
"./dist/*": "./dist/*"
|
|
24
|
+
},
|
|
15
25
|
"files": [
|
|
16
26
|
"dist",
|
|
17
27
|
"css",
|
|
28
|
+
"tailwind.preset.js",
|
|
18
29
|
"!dist/tests"
|
|
19
30
|
],
|
|
20
31
|
"devDependencies": {
|
|
21
32
|
"@rollup/plugin-typescript": "^12.3.0",
|
|
33
|
+
"@tailwindcss/vite": "^4.1.16",
|
|
22
34
|
"@types/node": "^24.3.0",
|
|
23
35
|
"@vitejs/plugin-vue": "^6.0.1",
|
|
36
|
+
"tailwindcss": "^4.1.16",
|
|
24
37
|
"typescript": "~5.9.3",
|
|
25
38
|
"vite": "^7.1.12",
|
|
39
|
+
"vite-plugin-dts": "^4.5.4",
|
|
26
40
|
"vue-tsc": "^3.1.3"
|
|
27
41
|
},
|
|
28
42
|
"dependencies": {
|
|
43
|
+
"@material-icons/svg": "^1.0.33",
|
|
29
44
|
"dayjs": "^1.11.19",
|
|
30
45
|
"tslib": "^2.8.1",
|
|
31
46
|
"vue": "^3.5.22"
|
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Bluesea Core Tailwind CSS Preset
|
|
3
|
+
*
|
|
4
|
+
* This preset exposes Bluesea CSS variables as Tailwind theme values.
|
|
5
|
+
* Users can override these values either:
|
|
6
|
+
* 1. Via CSS variables in their stylesheets
|
|
7
|
+
* 2. Via Tailwind theme configuration
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* // tailwind.config.js
|
|
11
|
+
* import blueseaPreset from '@g1cloud/open-bluesea-core/tailwind.preset'
|
|
12
|
+
*
|
|
13
|
+
* export default {
|
|
14
|
+
* presets: [blueseaPreset],
|
|
15
|
+
* theme: {
|
|
16
|
+
* extend: {
|
|
17
|
+
* // Override specific values
|
|
18
|
+
* colors: {
|
|
19
|
+
* 'bs-button-bg': '#FF5722',
|
|
20
|
+
* }
|
|
21
|
+
* }
|
|
22
|
+
* }
|
|
23
|
+
* }
|
|
24
|
+
*/
|
|
25
|
+
|
|
26
|
+
/** @type {import('tailwindcss').Config} */
|
|
27
|
+
export default {
|
|
28
|
+
theme: {
|
|
29
|
+
extend: {
|
|
30
|
+
colors: {
|
|
31
|
+
// Primary colors
|
|
32
|
+
'bs-primary': 'var(--primary)',
|
|
33
|
+
'bs-secondary': 'var(--secondary)',
|
|
34
|
+
'bs-success': 'var(--success)',
|
|
35
|
+
'bs-info': 'var(--info)',
|
|
36
|
+
'bs-warning': 'var(--warning)',
|
|
37
|
+
'bs-danger': 'var(--danger)',
|
|
38
|
+
|
|
39
|
+
// Button colors
|
|
40
|
+
'bs-button-bg': 'var(--bs-button-bg)',
|
|
41
|
+
'bs-button-text': 'var(--bs-button-text)',
|
|
42
|
+
'bs-button-border': 'var(--bs-button-border)',
|
|
43
|
+
'bs-button-blue-bg': 'var(--bs-button-blue-bg)',
|
|
44
|
+
'bs-button-blue-text': 'var(--bs-button-blue-text)',
|
|
45
|
+
'bs-button-red-bg': 'var(--bs-button-red-bg)',
|
|
46
|
+
'bs-button-red-text': 'var(--bs-button-red-text)',
|
|
47
|
+
'bs-button-orange-bg': 'var(--bs-button-orange-bg)',
|
|
48
|
+
'bs-button-orange-text': 'var(--bs-button-orange-text)',
|
|
49
|
+
'bs-button-green-bg': 'var(--bs-button-green-bg)',
|
|
50
|
+
'bs-button-green-text': 'var(--bs-button-green-text)',
|
|
51
|
+
'bs-button-gray-bg': 'var(--bs-button-gray-bg)',
|
|
52
|
+
'bs-button-gray-text': 'var(--bs-button-gray-text)',
|
|
53
|
+
'bs-button-black-bg': 'var(--bs-button-black-bg)',
|
|
54
|
+
'bs-button-black-text': 'var(--bs-button-black-text)',
|
|
55
|
+
|
|
56
|
+
// Input colors
|
|
57
|
+
'bs-input-bg': 'var(--bs-input-bg)',
|
|
58
|
+
'bs-input-text': 'var(--bs-input-text)',
|
|
59
|
+
'bs-input-border': 'var(--bs-input-border)',
|
|
60
|
+
'bs-input-border-hover': 'var(--bs-input-border-hover)',
|
|
61
|
+
'bs-input-border-focus': 'var(--bs-input-border-focus)',
|
|
62
|
+
'bs-input-placeholder': 'var(--bs-input-placeholder)',
|
|
63
|
+
'bs-input-disabled-bg': 'var(--bs-input-disabled-bg)',
|
|
64
|
+
'bs-input-disabled-text': 'var(--bs-input-disabled-text)',
|
|
65
|
+
'bs-input-modified-border': 'var(--bs-input-modified-border)',
|
|
66
|
+
'bs-input-error-border': 'var(--bs-input-error-border)',
|
|
67
|
+
'bs-input-error-text': 'var(--bs-input-error-text)',
|
|
68
|
+
'bs-input-affix-bg': 'var(--bs-input-affix-bg)',
|
|
69
|
+
'bs-input-affix-text': 'var(--bs-input-affix-text)',
|
|
70
|
+
|
|
71
|
+
// Checkbox/Radio colors
|
|
72
|
+
'bs-check-icon-color': 'var(--bs-check-icon-color)',
|
|
73
|
+
'bs-check-icon-hover': 'var(--bs-check-icon-hover)',
|
|
74
|
+
'bs-check-icon-focus': 'var(--bs-check-icon-focus)',
|
|
75
|
+
'bs-check-icon-disabled': 'var(--bs-check-icon-disabled)',
|
|
76
|
+
'bs-check-icon-modified': 'var(--bs-check-icon-modified)',
|
|
77
|
+
'bs-check-icon-error': 'var(--bs-check-icon-error)',
|
|
78
|
+
|
|
79
|
+
// Select colors
|
|
80
|
+
'bs-select-bg': 'var(--bs-select-bg)',
|
|
81
|
+
'bs-select-text': 'var(--bs-select-text)',
|
|
82
|
+
'bs-select-border': 'var(--bs-select-border)',
|
|
83
|
+
'bs-select-border-hover': 'var(--bs-select-border-hover)',
|
|
84
|
+
'bs-select-border-focus': 'var(--bs-select-border-focus)',
|
|
85
|
+
'bs-select-placeholder': 'var(--bs-select-placeholder)',
|
|
86
|
+
'bs-select-disabled-bg': 'var(--bs-select-disabled-bg)',
|
|
87
|
+
'bs-select-disabled-text': 'var(--bs-select-disabled-text)',
|
|
88
|
+
'bs-select-modified-border': 'var(--bs-select-modified-border)',
|
|
89
|
+
'bs-select-error-border': 'var(--bs-select-error-border)',
|
|
90
|
+
|
|
91
|
+
// Radio Button Group colors
|
|
92
|
+
'bs-radio-switch-bg': 'var(--bs-radio-switch-bg)',
|
|
93
|
+
'bs-radio-switch-active-bg': 'var(--bs-radio-switch-active-bg)',
|
|
94
|
+
'bs-radio-switch-active-text': 'var(--bs-radio-switch-active-text)',
|
|
95
|
+
'bs-radio-switch-inactive-text': 'var(--bs-radio-switch-inactive-text)',
|
|
96
|
+
'bs-radio-button-bg': 'var(--bs-radio-button-bg)',
|
|
97
|
+
'bs-radio-button-text': 'var(--bs-radio-button-text)',
|
|
98
|
+
'bs-radio-button-border': 'var(--bs-radio-button-border)',
|
|
99
|
+
'bs-radio-button-active-bg': 'var(--bs-radio-button-active-bg)',
|
|
100
|
+
'bs-radio-button-active-text': 'var(--bs-radio-button-active-text)',
|
|
101
|
+
'bs-radio-button-active-border': 'var(--bs-radio-button-active-border)',
|
|
102
|
+
|
|
103
|
+
// Date Input colors
|
|
104
|
+
'bs-date-input-bg': 'var(--bs-date-input-bg)',
|
|
105
|
+
'bs-date-input-text': 'var(--bs-date-input-text)',
|
|
106
|
+
'bs-date-input-border': 'var(--bs-date-input-border)',
|
|
107
|
+
'bs-date-input-border-hover': 'var(--bs-date-input-border-hover)',
|
|
108
|
+
'bs-date-input-border-focus': 'var(--bs-date-input-border-focus)',
|
|
109
|
+
|
|
110
|
+
// Popup/Tooltip colors
|
|
111
|
+
'bs-popup-bg': 'var(--bs-popup-bg)',
|
|
112
|
+
'bs-popup-border': 'var(--bs-popup-border)',
|
|
113
|
+
'bs-tooltip-bg': 'var(--bs-tooltip-bg)',
|
|
114
|
+
'bs-tooltip-text': 'var(--bs-tooltip-text)',
|
|
115
|
+
|
|
116
|
+
// Page Navigation colors
|
|
117
|
+
'bs-page-nav-button-bg': 'var(--bs-page-nav-button-bg)',
|
|
118
|
+
'bs-page-nav-button-text': 'var(--bs-page-nav-button-text)',
|
|
119
|
+
'bs-page-nav-button-hover-bg': 'var(--bs-page-nav-button-hover-bg)',
|
|
120
|
+
'bs-page-nav-button-active-bg': 'var(--bs-page-nav-button-active-bg)',
|
|
121
|
+
'bs-page-nav-button-active-text': 'var(--bs-page-nav-button-active-text)',
|
|
122
|
+
|
|
123
|
+
// Card Layout colors
|
|
124
|
+
'bs-card-bg': 'var(--bs-card-bg)',
|
|
125
|
+
'bs-card-border': 'var(--bs-card-border)',
|
|
126
|
+
'bs-card-header-bg': 'var(--bs-card-header-bg)',
|
|
127
|
+
'bs-card-header-text': 'var(--bs-card-header-text)',
|
|
128
|
+
|
|
129
|
+
// Loading
|
|
130
|
+
'bs-loading-color': 'var(--bs-loading-color)',
|
|
131
|
+
|
|
132
|
+
// Notification colors
|
|
133
|
+
'bs-notification-bg': 'var(--bs-notification-bg)',
|
|
134
|
+
'bs-notification-text': 'var(--bs-notification-text)',
|
|
135
|
+
'bs-notification-success-accent': 'var(--bs-notification-success-accent)',
|
|
136
|
+
'bs-notification-error-accent': 'var(--bs-notification-error-accent)',
|
|
137
|
+
'bs-notification-warning-accent': 'var(--bs-notification-warning-accent)',
|
|
138
|
+
'bs-notification-info-accent': 'var(--bs-notification-info-accent)',
|
|
139
|
+
|
|
140
|
+
// Modal colors
|
|
141
|
+
'bs-modal-bg': 'var(--bs-modal-bg)',
|
|
142
|
+
'bs-modal-text': 'var(--bs-modal-text)',
|
|
143
|
+
'bs-modal-header-bg': 'var(--bs-modal-header-bg)',
|
|
144
|
+
'bs-modal-header-text': 'var(--bs-modal-header-text)',
|
|
145
|
+
'bs-modal-overlay-bg': 'var(--bs-modal-overlay-bg)',
|
|
146
|
+
|
|
147
|
+
// Context Menu colors
|
|
148
|
+
'bs-context-menu-bg': 'var(--bs-context-menu-bg)',
|
|
149
|
+
'bs-context-menu-text': 'var(--bs-context-menu-text)',
|
|
150
|
+
'bs-context-menu-border': 'var(--bs-context-menu-border)',
|
|
151
|
+
'bs-context-menu-item-hover-bg': 'var(--bs-context-menu-item-hover-bg)',
|
|
152
|
+
'bs-context-menu-separator': 'var(--bs-context-menu-separator)',
|
|
153
|
+
},
|
|
154
|
+
|
|
155
|
+
height: {
|
|
156
|
+
'bs-input': 'var(--bs-input-height)',
|
|
157
|
+
'bs-button': 'var(--bs-button-height)',
|
|
158
|
+
'bs-select': 'var(--bs-select-height)',
|
|
159
|
+
'bs-date-input': 'var(--bs-date-input-height)',
|
|
160
|
+
'bs-page-nav-button': 'var(--bs-page-nav-button-size)',
|
|
161
|
+
},
|
|
162
|
+
|
|
163
|
+
width: {
|
|
164
|
+
'bs-date-input': 'var(--bs-date-input-width)',
|
|
165
|
+
'bs-page-nav-button': 'var(--bs-page-nav-button-size)',
|
|
166
|
+
'bs-loading': 'var(--bs-loading-size)',
|
|
167
|
+
},
|
|
168
|
+
|
|
169
|
+
borderRadius: {
|
|
170
|
+
'bs': 'var(--bs-border-radius)',
|
|
171
|
+
'bs-input': 'var(--bs-input-border-radius)',
|
|
172
|
+
'bs-button': 'var(--bs-button-border-radius)',
|
|
173
|
+
'bs-select': 'var(--bs-select-border-radius)',
|
|
174
|
+
'bs-date-input': 'var(--bs-date-input-border-radius)',
|
|
175
|
+
'bs-popup': 'var(--bs-popup-border-radius)',
|
|
176
|
+
'bs-tooltip': 'var(--bs-tooltip-border-radius)',
|
|
177
|
+
'bs-page-nav-button': 'var(--bs-page-nav-button-border-radius)',
|
|
178
|
+
'bs-card': 'var(--bs-card-border-radius)',
|
|
179
|
+
'bs-notification': 'var(--bs-notification-border-radius)',
|
|
180
|
+
'bs-modal': 'var(--bs-modal-border-radius)',
|
|
181
|
+
'bs-context-menu': 'var(--bs-context-menu-border-radius)',
|
|
182
|
+
},
|
|
183
|
+
|
|
184
|
+
padding: {
|
|
185
|
+
'bs-input-x': 'var(--bs-input-padding-x)',
|
|
186
|
+
'bs-button-x': 'var(--bs-button-padding-x)',
|
|
187
|
+
'bs-button-y': 'var(--bs-button-padding-y)',
|
|
188
|
+
'bs-select-x': 'var(--bs-select-padding-x)',
|
|
189
|
+
'bs-check-label-x': 'var(--bs-check-label-padding-x)',
|
|
190
|
+
'bs-check-label-y': 'var(--bs-check-label-padding-y)',
|
|
191
|
+
'bs-tooltip-x': 'var(--bs-tooltip-padding-x)',
|
|
192
|
+
'bs-tooltip-y': 'var(--bs-tooltip-padding-y)',
|
|
193
|
+
'bs-card-header-x': 'var(--bs-card-header-padding-x)',
|
|
194
|
+
'bs-card-header-y': 'var(--bs-card-header-padding-y)',
|
|
195
|
+
},
|
|
196
|
+
|
|
197
|
+
gap: {
|
|
198
|
+
'bs-check-group-x': 'var(--bs-check-group-gap-x)',
|
|
199
|
+
'bs-check-group-y': 'var(--bs-check-group-gap-y)',
|
|
200
|
+
},
|
|
201
|
+
|
|
202
|
+
fontSize: {
|
|
203
|
+
'bs': 'var(--bs-font-size)',
|
|
204
|
+
'bs-sm': 'var(--bs-font-size-sm)',
|
|
205
|
+
'bs-button': 'var(--bs-button-font-size)',
|
|
206
|
+
'bs-input-affix': 'var(--bs-input-affix-font-size)',
|
|
207
|
+
'bs-check-icon': 'var(--bs-check-icon-size)',
|
|
208
|
+
'bs-date-input-icon': 'var(--bs-date-input-icon-size)',
|
|
209
|
+
'bs-tooltip': 'var(--bs-tooltip-font-size)',
|
|
210
|
+
'bs-loading': 'var(--bs-loading-size)',
|
|
211
|
+
},
|
|
212
|
+
|
|
213
|
+
boxShadow: {
|
|
214
|
+
'bs-popup': 'var(--bs-popup-shadow)',
|
|
215
|
+
'bs-notification': 'var(--bs-notification-shadow)',
|
|
216
|
+
'bs-modal': 'var(--bs-modal-shadow)',
|
|
217
|
+
'bs-context-menu': 'var(--bs-context-menu-shadow)',
|
|
218
|
+
},
|
|
219
|
+
},
|
|
220
|
+
},
|
|
221
|
+
}
|
package/dist/blueseaPlugin.d.ts
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { type InjectionKey, type Plugin } from "vue";
|
|
2
|
-
import type { DisplayDateResolution } from "./model/CommonTypes";
|
|
3
|
-
export type PopupComponentConfig = {
|
|
4
|
-
container?: string | HTMLElement;
|
|
5
|
-
hideOnScroll?: boolean;
|
|
6
|
-
};
|
|
7
|
-
export type ComponentConfig = {
|
|
8
|
-
popup?: PopupComponentConfig;
|
|
9
|
-
};
|
|
10
|
-
export declare class BlueseaConfig {
|
|
11
|
-
dateFormat: string;
|
|
12
|
-
dateFormatDay: string;
|
|
13
|
-
dateFormatMinute: string;
|
|
14
|
-
dateFormatSecond: string;
|
|
15
|
-
minDateValue: string;
|
|
16
|
-
maxDateValue: string;
|
|
17
|
-
componentConfig: ComponentConfig;
|
|
18
|
-
constructor(config?: BlueseaConfigRaw);
|
|
19
|
-
resolveDisplayDateFormat(format?: string | DisplayDateResolution): string;
|
|
20
|
-
}
|
|
21
|
-
export type BlueseaConfigRaw = {
|
|
22
|
-
dateFormat?: string;
|
|
23
|
-
dateFormatDay?: string;
|
|
24
|
-
dateFormatMinute?: string;
|
|
25
|
-
dateFormatSecond?: string;
|
|
26
|
-
minDateValue?: string;
|
|
27
|
-
maxDateValue?: string;
|
|
28
|
-
componentConfig?: ComponentConfig;
|
|
29
|
-
};
|
|
30
|
-
export declare const BlueseaConfigKey: InjectionKey<BlueseaConfig>;
|
|
31
|
-
/**
|
|
32
|
-
* App 에 provide 된 BlueseaConfig 를 리턴한다.
|
|
33
|
-
* @returns BlueseaConfig
|
|
34
|
-
*/
|
|
35
|
-
export declare const useBlueseaConfig: () => BlueseaConfig;
|
|
36
|
-
export declare const BlueseaPlugin: Plugin;
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { type Component } from "vue";
|
|
2
|
-
export declare const ContextMenuPluginKey: unique symbol;
|
|
3
|
-
export type MenuItem = {
|
|
4
|
-
type?: 'menu' | 'link' | 'route' | 'separator' | 'custom';
|
|
5
|
-
menuId?: string;
|
|
6
|
-
caption?: string;
|
|
7
|
-
component?: Component;
|
|
8
|
-
disabled?: boolean;
|
|
9
|
-
handler?: () => void;
|
|
10
|
-
href?: string;
|
|
11
|
-
target?: string;
|
|
12
|
-
children?: MenuItem[];
|
|
13
|
-
};
|
|
14
|
-
export type MenuPosition = {
|
|
15
|
-
x: number;
|
|
16
|
-
y: number;
|
|
17
|
-
};
|
|
18
|
-
export type ContextMenuOptions = {
|
|
19
|
-
zIndex?: number;
|
|
20
|
-
onHideContextMenu?: () => void;
|
|
21
|
-
};
|
|
22
|
-
export type MousePosition = {
|
|
23
|
-
clientX: number;
|
|
24
|
-
clientY: number;
|
|
25
|
-
};
|
|
26
|
-
export declare class BSContextMenuPlugin {
|
|
27
|
-
contextMenuItems: import("vue").Ref<MenuItem[] | undefined, MenuItem[] | undefined>;
|
|
28
|
-
position: import("vue").Ref<MenuPosition | undefined, MenuPosition | undefined>;
|
|
29
|
-
options: import("vue").Ref<ContextMenuOptions | undefined, ContextMenuOptions | undefined>;
|
|
30
|
-
showContextMenu(event: MousePosition, menus: MenuItem[], options?: ContextMenuOptions): void;
|
|
31
|
-
hideContextMenu(): void;
|
|
32
|
-
private markComponentRaw;
|
|
33
|
-
}
|
|
34
|
-
export declare const useContextMenu: () => BSContextMenuPlugin;
|
|
35
|
-
export declare const useContextMenuOptional: () => BSContextMenuPlugin | undefined;
|
|
36
|
-
export declare const createContextMenuPlugin: () => BSContextMenuPlugin;
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import type { ObjectDirective } from "vue";
|
|
2
|
-
type ClickOutsideContext = {
|
|
3
|
-
enabled: boolean;
|
|
4
|
-
handler: () => void;
|
|
5
|
-
insideElements?: (HTMLElement | string | undefined)[];
|
|
6
|
-
};
|
|
7
|
-
declare global {
|
|
8
|
-
interface HTMLElement {
|
|
9
|
-
vClickOutsideListener?: (event: MouseEvent) => void;
|
|
10
|
-
vClickOutsideContext?: ClickOutsideContext;
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* ```
|
|
15
|
-
* v-click-outside="() => someFunction()"
|
|
16
|
-
* v-click-outside="{enabled: true, handler: () => someFunction()}"
|
|
17
|
-
* ```
|
|
18
|
-
*/
|
|
19
|
-
declare const vClickOutside: ObjectDirective;
|
|
20
|
-
export default vClickOutside;
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
export type LabelProvider<T> = (item: T) => string | undefined;
|
|
2
|
-
export type KeyProvider<T> = (item: T) => string | undefined;
|
|
3
|
-
export type EnabledItemProvider<T> = (item: T) => boolean;
|
|
4
|
-
export type IconProvider<T> = (item: T) => string | undefined;
|
|
5
|
-
export type TooltipProvider<T> = (item: T) => string | undefined;
|
|
6
|
-
export type LocaleName = string;
|
|
7
|
-
export type TimeZone = string;
|
|
8
|
-
export type DateResolution = 'DAY' | 'HOUR' | 'MINUTE_30' | 'MINUTE_10' | 'MINUTE' | 'SECOND';
|
|
9
|
-
export type DisplayDateResolution = 'DAY' | 'MINUTE' | 'SECOND';
|
|
10
|
-
/**
|
|
11
|
-
* BSTextInput 등의 prefix, suffix 타입
|
|
12
|
-
*/
|
|
13
|
-
export type PrefixSuffix = {
|
|
14
|
-
type: 'text' | 'font-icon' | 'image-url';
|
|
15
|
-
value: string;
|
|
16
|
-
};
|
|
17
|
-
export type StoredFile = {
|
|
18
|
-
fileUrl?: string;
|
|
19
|
-
mediaType?: 'Image' | 'Video' | 'Youtube' | 'Unknown';
|
|
20
|
-
thumbnailUrl?: string;
|
|
21
|
-
altText?: string;
|
|
22
|
-
width?: number;
|
|
23
|
-
height?: number;
|
|
24
|
-
imageNo?: number;
|
|
25
|
-
file?: File;
|
|
26
|
-
thumbnailFile?: File;
|
|
27
|
-
};
|
|
28
|
-
export declare class IllegalAccessError {
|
|
29
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import type { KeyProvider, LabelProvider } from "@/model/CommonTypes";
|
|
2
|
-
export declare const defaultLabelProvider: <T>(item: T) => string;
|
|
3
|
-
export declare const emptyLabelProvider: <T>(_item: T) => undefined;
|
|
4
|
-
export declare const executeLabelProviderOrDefault: <T>(item: T, labelProvider: LabelProvider<T> | undefined, defaultLabel: (item: T) => string) => string;
|
|
5
|
-
export declare const defaultKeyProvider: <T>(item: T) => string;
|
|
6
|
-
export declare const emptyKeyProvider: <T>(_item: T) => undefined;
|
|
7
|
-
export declare const executeKeyProviderOrDefault: <T>(item: T, keyProvider: KeyProvider<T> | undefined, defaultKey: (item: T) => string) => string;
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import type { LocaleName } from "@/model/CommonTypes.ts";
|
|
2
|
-
export type IterationContext<T> = {
|
|
3
|
-
componentName: string;
|
|
4
|
-
record: T;
|
|
5
|
-
recordKey?: string;
|
|
6
|
-
recordIndex?: number;
|
|
7
|
-
data: T[];
|
|
8
|
-
};
|
|
9
|
-
export type FieldContext<T> = {
|
|
10
|
-
iteration?: IterationContext<T>;
|
|
11
|
-
locale?: LocaleName;
|
|
12
|
-
};
|
|
13
|
-
export declare const provideFieldContext: <T>(fieldContext: FieldContext<T>) => void;
|
|
14
|
-
export declare const useFieldContext: () => FieldContext<any> | undefined;
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import type { Component, Raw } from "vue";
|
|
2
|
-
export type NotificationStyle = 'error' | 'info';
|
|
3
|
-
export type NotificationEntry = {
|
|
4
|
-
entryId: number;
|
|
5
|
-
message: string;
|
|
6
|
-
style: NotificationStyle;
|
|
7
|
-
duration: number;
|
|
8
|
-
};
|
|
9
|
-
export declare const notificationEntries: import("vue").Reactive<NotificationEntry[]>;
|
|
10
|
-
export declare const showNotification: (message: string, style?: NotificationStyle, durationInMilliSeconds?: number) => void;
|
|
11
|
-
export type AlarmEntry = {
|
|
12
|
-
entryId: number;
|
|
13
|
-
component: Raw<Component>;
|
|
14
|
-
duration: number;
|
|
15
|
-
};
|
|
16
|
-
export declare const alarmEntries: import("vue").Reactive<AlarmEntry[]>;
|
|
17
|
-
export declare const showAlarm: (component: Component, durationInMilliSeconds?: number) => void;
|
|
18
|
-
export declare const closeAlarm: (entryId: number | AlarmEntry) => void;
|
|
19
|
-
export type TooltipEntry = {
|
|
20
|
-
content: string;
|
|
21
|
-
target: HTMLElement;
|
|
22
|
-
cursorInTooltip: boolean;
|
|
23
|
-
};
|
|
24
|
-
export declare const tooltipEntry: import("vue").Ref<TooltipEntry | undefined, TooltipEntry | undefined>;
|
|
25
|
-
export declare const showTooltip: (content: string, target: HTMLElement) => void;
|
|
26
|
-
export declare const hideTooltip: () => void;
|
|
27
|
-
export declare const isTooltipDisplayed: () => boolean;
|
|
28
|
-
export declare const showLoadingIcon: import("vue").Ref<boolean, boolean>;
|
|
29
|
-
export declare const showLoading: () => void;
|
|
30
|
-
export declare const hideLoading: () => void;
|
|
31
|
-
export declare const withLoading: <T>(func: () => Promise<T>) => Promise<T>;
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import type { Ref } from "vue";
|
|
2
|
-
export type SavePointValueProvider<T> = {
|
|
3
|
-
getCurrentValue: () => T;
|
|
4
|
-
setCurrentValue: (value: T) => void;
|
|
5
|
-
compare?: (savedValue: T, currentValue: T) => boolean;
|
|
6
|
-
};
|
|
7
|
-
export type SavePointHandlerRegisterOption<T> = {
|
|
8
|
-
field: Ref<HTMLElement | undefined>;
|
|
9
|
-
} & SavePointValueProvider<T>;
|
|
10
|
-
export interface ChildSavePoint {
|
|
11
|
-
set(): void;
|
|
12
|
-
rollback(): void;
|
|
13
|
-
isModified(): boolean;
|
|
14
|
-
}
|
|
15
|
-
export interface SavePoint {
|
|
16
|
-
registerField<T>(option: SavePointHandlerRegisterOption<T>): SavePointHandler<T>;
|
|
17
|
-
unregisterField(field: Ref<HTMLElement | undefined>): void;
|
|
18
|
-
addChild(child: ChildSavePoint): void;
|
|
19
|
-
removeChild(child: ChildSavePoint): void;
|
|
20
|
-
set(): void;
|
|
21
|
-
setNextTick(): Promise<void>;
|
|
22
|
-
rollback(): void;
|
|
23
|
-
isModified(): boolean;
|
|
24
|
-
}
|
|
25
|
-
export declare class SavePointImpl implements SavePoint {
|
|
26
|
-
private fields;
|
|
27
|
-
private children?;
|
|
28
|
-
registerField<T>(option: SavePointHandlerRegisterOption<T>): SavePointHandler<T>;
|
|
29
|
-
unregisterField(field: Ref<HTMLElement | undefined>): void;
|
|
30
|
-
addChild(child: ChildSavePoint): void;
|
|
31
|
-
removeChild(child: ChildSavePoint): void;
|
|
32
|
-
set(): void;
|
|
33
|
-
setNextTick(): Promise<void>;
|
|
34
|
-
rollback(): void;
|
|
35
|
-
isModified(): boolean;
|
|
36
|
-
}
|
|
37
|
-
export declare const provideSavePoint: () => SavePoint;
|
|
38
|
-
export declare const useSavePoint: () => SavePoint | undefined;
|
|
39
|
-
export declare const cancelProvidedSavePoint: () => void;
|
|
40
|
-
export interface SavePointHandler<T> {
|
|
41
|
-
saveValue(): void;
|
|
42
|
-
getSavedValue(): T | undefined;
|
|
43
|
-
rollbackValue(): void;
|
|
44
|
-
isModified(currentValue: T): boolean;
|
|
45
|
-
isFieldModified(): boolean;
|
|
46
|
-
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type { PrefixSuffix } from "@/model/CommonTypes";
|
|
2
|
-
declare const componentUtil: {
|
|
3
|
-
handleExternalErrorMessage(showErrorMessage: boolean, errorMessage?: string, elementId?: string): void;
|
|
4
|
-
generateNextId(prefix: string): string;
|
|
5
|
-
generateNextName(prefix: string): string;
|
|
6
|
-
isRelativeSize(size?: string): boolean;
|
|
7
|
-
delayed<T>(func: () => T, millis?: number): void;
|
|
8
|
-
trimStringValue(value?: string, trim?: boolean): string | undefined;
|
|
9
|
-
getPrefixSuffixList(param: string | string[] | PrefixSuffix | PrefixSuffix[] | undefined): PrefixSuffix[];
|
|
10
|
-
};
|
|
11
|
-
export default componentUtil;
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* debounce 함수를 생성한다.
|
|
3
|
-
*
|
|
4
|
-
* ```ts
|
|
5
|
-
* // 함수를 만들 때 debounce 로 감싼다.
|
|
6
|
-
* const debouncedFunc = debounce(() => {
|
|
7
|
-
* ...
|
|
8
|
-
* }, 500)()
|
|
9
|
-
*
|
|
10
|
-
* // 여러 번 호출하더라도, 마지막 호출만 실행된다.
|
|
11
|
-
* debouncedFunc()
|
|
12
|
-
* ```
|
|
13
|
-
* @param func
|
|
14
|
-
* @param wait
|
|
15
|
-
*/
|
|
16
|
-
export declare const debounce: <T>(func: (...args: any[]) => T, wait: number) => ((...args: any[]) => Promise<T>);
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
export declare const formatUtil: {
|
|
2
|
-
/**
|
|
3
|
-
* 개행 문자('\r', '\n')를 '<br/>' 태그로 변경한다.
|
|
4
|
-
* @param str 변경할 String
|
|
5
|
-
* @return 개행문자가 '<br/>'로 변경된 String
|
|
6
|
-
*/
|
|
7
|
-
escapeNewLine(str?: string): string;
|
|
8
|
-
/**
|
|
9
|
-
* `str` 안의 `&<>"'` 문자를 escape 처리한다.
|
|
10
|
-
* @param str 변경할 String
|
|
11
|
-
*/
|
|
12
|
-
escapeHtml(str?: string): string;
|
|
13
|
-
/**
|
|
14
|
-
* String 을 개행 문자('\r', '\n') 기준으로 나눈다.
|
|
15
|
-
* @param str
|
|
16
|
-
* @return 개행문자로 나누어진 string 의 array
|
|
17
|
-
*/
|
|
18
|
-
splitNewLine(str?: string): Array<string>;
|
|
19
|
-
/**
|
|
20
|
-
* ISO8601 형식의 string 을 주어진 format 으로 변환한다.
|
|
21
|
-
* @param utcDate
|
|
22
|
-
* @param format
|
|
23
|
-
* @param displayTimeZone
|
|
24
|
-
*/
|
|
25
|
-
/**
|
|
26
|
-
* 숫자에 구분점을 넣는다. 소수점 이하가 있는 경우도 처리한다.
|
|
27
|
-
* * 12345 -> '12,345'
|
|
28
|
-
* * 12345.12345 -> '12,345.12345'
|
|
29
|
-
* * 0 -> '0'
|
|
30
|
-
* * undefined -> null
|
|
31
|
-
* * null -> null
|
|
32
|
-
*
|
|
33
|
-
* @param value
|
|
34
|
-
* @return
|
|
35
|
-
*/
|
|
36
|
-
formatNumber(value?: number | string | null): string | null;
|
|
37
|
-
formatNumberByCode(value?: number | string | null, locale?: string | "ko-KR"): string | null;
|
|
38
|
-
/**
|
|
39
|
-
* 통화단위와 표시위치를 받아 출력한다
|
|
40
|
-
* @param value 값
|
|
41
|
-
* @param currencyUnit 통화단위
|
|
42
|
-
* @param prefix true 이면 withUnit을 앞에 붙이고, false 이면 뒤에 붙인다.
|
|
43
|
-
*/
|
|
44
|
-
formatPrice(value?: number | string | null, currencyUnit?: string | "", prefix?: boolean): string | null;
|
|
45
|
-
/**
|
|
46
|
-
* rate 를 받아 percent 를 출력한다.
|
|
47
|
-
* * 0.1 -> 10%
|
|
48
|
-
* * 0.55 -> 55%
|
|
49
|
-
* * 0.551 -> 55.1%
|
|
50
|
-
* @param value 비율 값
|
|
51
|
-
* @param withUnit true 이면 % 를 붙이고, false 이면 붙이지 않는다.
|
|
52
|
-
* @param decimalPlace 소숫점 n번째에서 반올림한다.
|
|
53
|
-
*/
|
|
54
|
-
formatPercent(value?: number | string | null, withUnit?: boolean, decimalPlace?: number): string | null;
|
|
55
|
-
/**
|
|
56
|
-
* 신용카드번호를 4자리 단위로 나누어 구분자를 넣는다.
|
|
57
|
-
* @param value
|
|
58
|
-
* @param separator 구분자
|
|
59
|
-
*/
|
|
60
|
-
formatCreditCardNo(value: string, separator?: string): string | undefined;
|
|
61
|
-
/**
|
|
62
|
-
* `HTML`태그가 포함된 문자열에서 text 만 남긴다.
|
|
63
|
-
* @param textIncludedHTMLElement HTML 태그를 포함하는 문자열
|
|
64
|
-
* @return HTML 태그가 제거된 문자열
|
|
65
|
-
*/
|
|
66
|
-
toPlainText(textIncludedHTMLElement?: string): string;
|
|
67
|
-
};
|
package/dist/util/typeUtil.d.ts
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
export type FunctionPropertyNames<T> = {
|
|
2
|
-
[K in keyof T]: T[K] extends Function ? K : never;
|
|
3
|
-
}[keyof T];
|
|
4
|
-
export type FunctionProperties<T> = Pick<T, FunctionPropertyNames<T>>;
|
|
5
|
-
export type NonFunctionPropertyNames<T> = {
|
|
6
|
-
[K in keyof T]: T[K] extends Function ? never : K;
|
|
7
|
-
}[keyof T];
|
|
8
|
-
export type NonFunctionProperties<T> = Pick<T, NonFunctionPropertyNames<T>>;
|
|
9
|
-
export type PartialNonFunctionProperties<T> = Partial<NonFunctionProperties<T>>;
|
|
10
|
-
export type RawData<T> = PartialNonFunctionProperties<T>;
|
|
11
|
-
/**
|
|
12
|
-
* Array 의 filter 로 null/undefined 가 아닌 것을 걸러낼 때 사용한다.
|
|
13
|
-
* ```ts
|
|
14
|
-
* const array: (string | null)[] = ['test', null, 'sample', undefined]
|
|
15
|
-
* const filtered: string[] = array.filter(notNull)
|
|
16
|
-
* ```
|
|
17
|
-
*/
|
|
18
|
-
export declare function notNull<T>(value: T | null | undefined): value is T;
|
package/dist/util/waitUtil.d.ts
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 특정 조건이 완료될 때까지 여러 번 계속 시도한다.
|
|
3
|
-
* @param condition 조건
|
|
4
|
-
* @param intervalMilliseconds 시도 간격
|
|
5
|
-
* @param maxTrial 최대 시도 수
|
|
6
|
-
*/
|
|
7
|
-
export declare const waitUntil: (condition: () => boolean, intervalMilliseconds?: number, maxTrial?: number) => Promise<void>;
|
|
8
|
-
/**
|
|
9
|
-
* 일정 시간동안 기다린다.
|
|
10
|
-
* @param milliSec 기다리는 시간
|
|
11
|
-
*/
|
|
12
|
-
export declare const waitDuring: (milliSec?: number) => Promise<void>;
|
|
13
|
-
export declare const tryUntil: (until: () => boolean | undefined, tryCall: () => void, intervalMilliseconds?: number, maxTrial?: number) => void;
|
|
14
|
-
declare const _default: {
|
|
15
|
-
waitUntil: (condition: () => boolean, intervalMilliseconds?: number, maxTrial?: number) => Promise<void>;
|
|
16
|
-
waitDuring: (milliSec?: number) => Promise<void>;
|
|
17
|
-
tryUntil: (until: () => boolean | undefined, tryCall: () => void, intervalMilliseconds?: number, maxTrial?: number) => void;
|
|
18
|
-
};
|
|
19
|
-
export default _default;
|