@ramathibodi/nuxt-commons 0.1.73 → 0.1.75
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/README.md +115 -96
- package/dist/module.json +1 -1
- package/dist/module.mjs +1 -0
- package/dist/runtime/components/Alert.vue +58 -54
- package/dist/runtime/components/BarcodeReader.vue +130 -122
- package/dist/runtime/components/ExportCSV.vue +110 -102
- package/dist/runtime/components/FileBtn.vue +79 -67
- package/dist/runtime/components/ImportCSV.vue +151 -139
- package/dist/runtime/components/MrzReader.vue +168 -0
- package/dist/runtime/components/SplitterPanel.vue +67 -59
- package/dist/runtime/components/TabsGroup.vue +39 -31
- package/dist/runtime/components/TextBarcode.vue +66 -54
- package/dist/runtime/components/device/IdCardButton.vue +95 -83
- package/dist/runtime/components/device/IdCardWebSocket.vue +207 -195
- package/dist/runtime/components/device/Scanner.vue +350 -338
- package/dist/runtime/components/dialog/Confirm.vue +112 -100
- package/dist/runtime/components/dialog/Host.vue +88 -84
- package/dist/runtime/components/dialog/Index.vue +84 -72
- package/dist/runtime/components/dialog/Loading.vue +51 -39
- package/dist/runtime/components/dialog/default/Confirm.vue +112 -100
- package/dist/runtime/components/dialog/default/Loading.vue +60 -48
- package/dist/runtime/components/dialog/default/Notify.vue +82 -70
- package/dist/runtime/components/dialog/default/Printing.vue +46 -34
- package/dist/runtime/components/dialog/default/VerifyUser.vue +144 -132
- package/dist/runtime/components/document/Form.vue +50 -42
- package/dist/runtime/components/document/TemplateBuilder.vue +536 -524
- package/dist/runtime/components/form/ActionPad.vue +156 -144
- package/dist/runtime/components/form/Birthdate.vue +116 -104
- package/dist/runtime/components/form/CheckboxGroup.vue +99 -87
- package/dist/runtime/components/form/CodeEditor.vue +45 -37
- package/dist/runtime/components/form/Date.vue +270 -258
- package/dist/runtime/components/form/DateTime.vue +220 -208
- package/dist/runtime/components/form/Dialog.vue +178 -166
- package/dist/runtime/components/form/EditPad.vue +157 -145
- package/dist/runtime/components/form/File.vue +295 -283
- package/dist/runtime/components/form/Hidden.vue +44 -32
- package/dist/runtime/components/form/Iterator.vue +538 -526
- package/dist/runtime/components/form/Login.vue +143 -131
- package/dist/runtime/components/form/Pad.vue +399 -387
- package/dist/runtime/components/form/SignPad.vue +226 -218
- package/dist/runtime/components/form/System.vue +34 -26
- package/dist/runtime/components/form/Table.vue +391 -379
- package/dist/runtime/components/form/TableData.vue +236 -224
- package/dist/runtime/components/form/Time.vue +177 -165
- package/dist/runtime/components/form/images/Capture.vue +245 -237
- package/dist/runtime/components/form/images/Edit.vue +133 -121
- package/dist/runtime/components/form/images/Field.vue +331 -320
- package/dist/runtime/components/form/images/Pad.vue +54 -42
- package/dist/runtime/components/label/Date.vue +37 -29
- package/dist/runtime/components/label/DateAgo.vue +102 -94
- package/dist/runtime/components/label/DateCount.vue +152 -144
- package/dist/runtime/components/label/Field.vue +111 -103
- package/dist/runtime/components/label/FormatMoney.vue +37 -29
- package/dist/runtime/components/label/Mask.vue +46 -38
- package/dist/runtime/components/label/Object.vue +21 -13
- package/dist/runtime/components/master/Autocomplete.vue +89 -81
- package/dist/runtime/components/master/Combobox.vue +88 -80
- package/dist/runtime/components/master/RadioGroup.vue +90 -78
- package/dist/runtime/components/master/Select.vue +70 -62
- package/dist/runtime/components/master/label.vue +55 -47
- package/dist/runtime/components/model/Autocomplete.vue +91 -79
- package/dist/runtime/components/model/Combobox.vue +90 -78
- package/dist/runtime/components/model/Pad.vue +114 -102
- package/dist/runtime/components/model/Select.vue +78 -72
- package/dist/runtime/components/model/Table.vue +370 -358
- package/dist/runtime/components/model/iterator.vue +497 -489
- package/dist/runtime/components/model/label.vue +58 -50
- package/dist/runtime/components/pdf/Print.vue +75 -63
- package/dist/runtime/components/pdf/View.vue +146 -134
- package/dist/runtime/composables/alert.d.ts +4 -0
- package/dist/runtime/composables/api.d.ts +4 -0
- package/dist/runtime/composables/dialog.d.ts +1 -1
- package/dist/runtime/composables/document/templateFormHidden.d.ts +4 -0
- package/dist/runtime/composables/graphql.d.ts +1 -1
- package/dist/runtime/composables/graphqlModel.d.ts +9 -9
- package/dist/runtime/composables/graphqlModelItem.d.ts +7 -7
- package/dist/runtime/composables/graphqlModelOperation.d.ts +6 -6
- package/dist/runtime/composables/localStorageModel.d.ts +4 -0
- package/dist/runtime/composables/lookupList.d.ts +4 -0
- package/dist/runtime/composables/menu.d.ts +4 -0
- package/dist/runtime/composables/useMrzReader.d.ts +48 -0
- package/dist/runtime/composables/useMrzReader.js +423 -0
- package/dist/runtime/composables/useTesseract.d.ts +16 -0
- package/dist/runtime/composables/useTesseract.js +45 -0
- package/dist/runtime/composables/userPermission.d.ts +1 -1
- package/dist/runtime/labs/Calendar.vue +99 -99
- package/dist/runtime/labs/form/EditMobile.vue +152 -152
- package/dist/runtime/labs/form/TextFieldMask.vue +43 -43
- package/dist/runtime/plugins/clientConfig.d.ts +1 -1
- package/dist/runtime/plugins/default.d.ts +1 -1
- package/dist/runtime/plugins/dialogManager.d.ts +1 -1
- package/dist/runtime/plugins/permission.d.ts +1 -1
- package/dist/runtime/types/alert.d.ts +11 -11
- package/dist/runtime/types/clientConfig.d.ts +13 -13
- package/dist/runtime/types/dialogManager.d.ts +35 -35
- package/dist/runtime/types/formDialog.d.ts +5 -5
- package/dist/runtime/types/graphqlOperation.d.ts +23 -23
- package/dist/runtime/types/menu.d.ts +31 -31
- package/dist/runtime/types/modules.d.ts +7 -7
- package/dist/runtime/types/permission.d.ts +13 -13
- package/dist/runtime/utils/asset.d.ts +2 -0
- package/dist/runtime/utils/asset.js +49 -0
- package/package.json +131 -122
- package/scripts/enrich-vue-docs-from-ai.mjs +197 -0
- package/scripts/generate-ai-summary.mjs +321 -0
- package/scripts/generate-composables-md.mjs +129 -0
- package/scripts/postInstall.cjs +70 -70
- package/templates/.codegen/codegen.ts +32 -32
- package/templates/.codegen/plugin-schema-object.js +161 -161
- package/templates/public/tesseract/mrz.traineddata.gz +0 -0
- package/templates/public/tesseract/ocrb.traineddata.gz +0 -0
|
@@ -1,36 +1,36 @@
|
|
|
1
|
-
export interface DialogPlugin {
|
|
2
|
-
open: (component: any,props?: Record<string, any>) => Promise<any>
|
|
3
|
-
openPromise: (component: any, promiseInput: Promise<any> | (() => any | Promise<any>) | (Promise<any> | (() => any | Promise<any>))[], props?: Record<string, any>) => Promise<any | any[]>
|
|
4
|
-
confirm: (props?: Record<string, any>) => Promise<boolean>
|
|
5
|
-
notify: (props?: Record<string, any>) => Promise<boolean>
|
|
6
|
-
verifyUser: (props?: Record<string, any>) => Promise<boolean>
|
|
7
|
-
loading: <T>(promiseInput: Promise<any> | (() => any | Promise<any>) | (Promise<any> | (() => any | Promise<any>))[],props?: Record<string, any>) => Promise<any | any[]>
|
|
8
|
-
printing: <T>(promiseInput: Promise<any> | (() => any | Promise<any>) | (Promise<any> | (() => any | Promise<any>))[],props?: Record<string, any>) => Promise<any | any[]>
|
|
9
|
-
setDialogHost: (openFn: DialogOpenFn,closeFn: DialogCloseFn) => void
|
|
10
|
-
setDialogComponents: (components:object) => void
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
export interface DialogOpenResult<T = any> {
|
|
14
|
-
id: number
|
|
15
|
-
promise: Promise<T>
|
|
16
|
-
closeInstance: (value?: T) => void
|
|
17
|
-
rejectInstance: (value?: T) => void
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
export interface DialogOpenFn {
|
|
21
|
-
(component: any, props?: Record<string, any>): DialogOpenResult
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
export interface DialogCloseFn {
|
|
25
|
-
(id: number, value?: any): void
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
declare module '#app' {
|
|
29
|
-
interface NuxtApp {
|
|
30
|
-
$dialog: DialogPlugin
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
interface RuntimeNuxtApp {
|
|
34
|
-
$dialog: DialogPlugin
|
|
35
|
-
}
|
|
1
|
+
export interface DialogPlugin {
|
|
2
|
+
open: (component: any,props?: Record<string, any>) => Promise<any>
|
|
3
|
+
openPromise: (component: any, promiseInput: Promise<any> | (() => any | Promise<any>) | (Promise<any> | (() => any | Promise<any>))[], props?: Record<string, any>) => Promise<any | any[]>
|
|
4
|
+
confirm: (props?: Record<string, any>) => Promise<boolean>
|
|
5
|
+
notify: (props?: Record<string, any>) => Promise<boolean>
|
|
6
|
+
verifyUser: (props?: Record<string, any>) => Promise<boolean>
|
|
7
|
+
loading: <T>(promiseInput: Promise<any> | (() => any | Promise<any>) | (Promise<any> | (() => any | Promise<any>))[],props?: Record<string, any>) => Promise<any | any[]>
|
|
8
|
+
printing: <T>(promiseInput: Promise<any> | (() => any | Promise<any>) | (Promise<any> | (() => any | Promise<any>))[],props?: Record<string, any>) => Promise<any | any[]>
|
|
9
|
+
setDialogHost: (openFn: DialogOpenFn,closeFn: DialogCloseFn) => void
|
|
10
|
+
setDialogComponents: (components:object) => void
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export interface DialogOpenResult<T = any> {
|
|
14
|
+
id: number
|
|
15
|
+
promise: Promise<T>
|
|
16
|
+
closeInstance: (value?: T) => void
|
|
17
|
+
rejectInstance: (value?: T) => void
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export interface DialogOpenFn {
|
|
21
|
+
(component: any, props?: Record<string, any>): DialogOpenResult
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export interface DialogCloseFn {
|
|
25
|
+
(id: number, value?: any): void
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
declare module '#app' {
|
|
29
|
+
interface NuxtApp {
|
|
30
|
+
$dialog: DialogPlugin
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
interface RuntimeNuxtApp {
|
|
34
|
+
$dialog: DialogPlugin
|
|
35
|
+
}
|
|
36
36
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export interface FormDialogCallback {
|
|
2
|
-
done: Function
|
|
3
|
-
error: Function
|
|
4
|
-
setData?: Function
|
|
5
|
-
}
|
|
1
|
+
export interface FormDialogCallback {
|
|
2
|
+
done: Function
|
|
3
|
+
error: Function
|
|
4
|
+
setData?: Function
|
|
5
|
+
}
|
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
export interface graphqlVariable {
|
|
2
|
-
name: string
|
|
3
|
-
list?: boolean
|
|
4
|
-
required?: boolean
|
|
5
|
-
type?: string
|
|
6
|
-
value?: any
|
|
7
|
-
}
|
|
8
|
-
export interface graphqlOperationObject<T, U> {
|
|
9
|
-
variables?: graphqlVariable[]
|
|
10
|
-
fields?: graphqlTypeObject
|
|
11
|
-
operationType: 'Query' | 'Mutation'
|
|
12
|
-
name: string
|
|
13
|
-
call: (fields?: Array<string | Object>, variables?: U, cache?: boolean | number) => Promise<T>
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
export interface graphqlTypeObject {
|
|
17
|
-
fields: string[]
|
|
18
|
-
relations: graphqlVariable[]
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
export interface graphqlInputObject {
|
|
22
|
-
variables: graphqlVariable[]
|
|
23
|
-
}
|
|
1
|
+
export interface graphqlVariable {
|
|
2
|
+
name: string
|
|
3
|
+
list?: boolean
|
|
4
|
+
required?: boolean
|
|
5
|
+
type?: string
|
|
6
|
+
value?: any
|
|
7
|
+
}
|
|
8
|
+
export interface graphqlOperationObject<T, U> {
|
|
9
|
+
variables?: graphqlVariable[]
|
|
10
|
+
fields?: graphqlTypeObject
|
|
11
|
+
operationType: 'Query' | 'Mutation'
|
|
12
|
+
name: string
|
|
13
|
+
call: (fields?: Array<string | Object>, variables?: U, cache?: boolean | number) => Promise<T>
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export interface graphqlTypeObject {
|
|
17
|
+
fields: string[]
|
|
18
|
+
relations: graphqlVariable[]
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export interface graphqlInputObject {
|
|
22
|
+
variables: graphqlVariable[]
|
|
23
|
+
}
|
|
@@ -1,31 +1,31 @@
|
|
|
1
|
-
declare module '#app' {
|
|
2
|
-
interface PageMeta {
|
|
3
|
-
menuItem?: MenuMeta
|
|
4
|
-
}
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
declare global {
|
|
8
|
-
interface MenuMeta {
|
|
9
|
-
title: string
|
|
10
|
-
icon: string
|
|
11
|
-
role?: string
|
|
12
|
-
image?: string
|
|
13
|
-
active?: boolean
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
interface MenuItem {
|
|
17
|
-
title: string
|
|
18
|
-
icon: string
|
|
19
|
-
role: string
|
|
20
|
-
link: any
|
|
21
|
-
menuItems: Array<MenuItem>
|
|
22
|
-
active: boolean
|
|
23
|
-
name: string
|
|
24
|
-
image?: string
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
export type MenuMeta = globalThis.MenuMeta
|
|
29
|
-
export type MenuItem = globalThis.MenuItem
|
|
30
|
-
|
|
31
|
-
export {}
|
|
1
|
+
declare module '#app' {
|
|
2
|
+
interface PageMeta {
|
|
3
|
+
menuItem?: MenuMeta
|
|
4
|
+
}
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
declare global {
|
|
8
|
+
interface MenuMeta {
|
|
9
|
+
title: string
|
|
10
|
+
icon: string
|
|
11
|
+
role?: string
|
|
12
|
+
image?: string
|
|
13
|
+
active?: boolean
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
interface MenuItem {
|
|
17
|
+
title: string
|
|
18
|
+
icon: string
|
|
19
|
+
role: string
|
|
20
|
+
link: any
|
|
21
|
+
menuItems: Array<MenuItem>
|
|
22
|
+
active: boolean
|
|
23
|
+
name: string
|
|
24
|
+
image?: string
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export type MenuMeta = globalThis.MenuMeta
|
|
29
|
+
export type MenuItem = globalThis.MenuItem
|
|
30
|
+
|
|
31
|
+
export {}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
declare module 'painterro';
|
|
2
|
-
declare module '@zxing/browser'
|
|
3
|
-
declare module 'vue-signature-pad'
|
|
4
|
-
declare module 'accounting'
|
|
5
|
-
declare module 'pdf-vue3'
|
|
6
|
-
declare module 'prettier'
|
|
7
|
-
declare module 'prettier/plugins/html'
|
|
1
|
+
declare module 'painterro';
|
|
2
|
+
declare module '@zxing/browser'
|
|
3
|
+
declare module 'vue-signature-pad'
|
|
4
|
+
declare module 'accounting'
|
|
5
|
+
declare module 'pdf-vue3'
|
|
6
|
+
declare module 'prettier'
|
|
7
|
+
declare module 'prettier/plugins/html'
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
export interface PermissionPlugin {
|
|
2
|
-
check: (permission: string | string[] | null | undefined) => boolean
|
|
3
|
-
checkAll: (permission: string | string[] | null | undefined) => boolean
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
declare module '#app' {
|
|
7
|
-
interface NuxtApp {
|
|
8
|
-
$permission: PermissionPlugin
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
interface RuntimeNuxtApp {
|
|
12
|
-
$permission: PermissionPlugin
|
|
13
|
-
}
|
|
1
|
+
export interface PermissionPlugin {
|
|
2
|
+
check: (permission: string | string[] | null | undefined) => boolean
|
|
3
|
+
checkAll: (permission: string | string[] | null | undefined) => boolean
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
declare module '#app' {
|
|
7
|
+
interface NuxtApp {
|
|
8
|
+
$permission: PermissionPlugin
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
interface RuntimeNuxtApp {
|
|
12
|
+
$permission: PermissionPlugin
|
|
13
|
+
}
|
|
14
14
|
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { useRuntimeConfig } from "#imports";
|
|
2
|
+
const resolveAssetBaseUrl = () => {
|
|
3
|
+
const config = useRuntimeConfig();
|
|
4
|
+
const raw = String(config?.public?.ASSET_URL ?? "/asset/").trim();
|
|
5
|
+
if (raw === "") {
|
|
6
|
+
return "/asset";
|
|
7
|
+
}
|
|
8
|
+
return raw.replace(/\/+$/g, "");
|
|
9
|
+
};
|
|
10
|
+
const xorObfuscate = (input, key) => {
|
|
11
|
+
if (key.length === 0) {
|
|
12
|
+
return input;
|
|
13
|
+
}
|
|
14
|
+
let output = "";
|
|
15
|
+
for (let i = 0; i < input.length; i++) {
|
|
16
|
+
output += String.fromCharCode(input.charCodeAt(i) ^ key.charCodeAt(i % key.length));
|
|
17
|
+
}
|
|
18
|
+
return output;
|
|
19
|
+
};
|
|
20
|
+
const toBase64UrlString = (value) => {
|
|
21
|
+
return btoa(value).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/g, "");
|
|
22
|
+
};
|
|
23
|
+
const generateRandomKey = (length = 12) => {
|
|
24
|
+
const chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
|
|
25
|
+
const bytes = new Uint8Array(length);
|
|
26
|
+
if (typeof crypto !== "undefined" && typeof crypto.getRandomValues === "function") {
|
|
27
|
+
crypto.getRandomValues(bytes);
|
|
28
|
+
} else {
|
|
29
|
+
for (let i = 0; i < length; i++) {
|
|
30
|
+
bytes[i] = Math.floor(Math.random() * 256);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
let key = "";
|
|
34
|
+
for (let i = 0; i < length; i++) {
|
|
35
|
+
key += chars[bytes[i] % chars.length];
|
|
36
|
+
}
|
|
37
|
+
return key;
|
|
38
|
+
};
|
|
39
|
+
export const encryptAssetToken = (assetId) => {
|
|
40
|
+
const timestamp = Date.now();
|
|
41
|
+
const payload = `${timestamp}|${assetId}`;
|
|
42
|
+
const key = generateRandomKey();
|
|
43
|
+
const encryptedPayload = toBase64UrlString(xorObfuscate(payload, key));
|
|
44
|
+
return toBase64UrlString(`${key}|${encryptedPayload}`);
|
|
45
|
+
};
|
|
46
|
+
export const assetUrl = (assetId) => {
|
|
47
|
+
const token = encryptAssetToken(assetId);
|
|
48
|
+
return `${resolveAssetBaseUrl()}/${token}`;
|
|
49
|
+
};
|
package/package.json
CHANGED
|
@@ -1,122 +1,131 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@ramathibodi/nuxt-commons",
|
|
3
|
-
"version": "0.1.
|
|
4
|
-
"description": "Ramathibodi Nuxt modules for common components",
|
|
5
|
-
"repository": {
|
|
6
|
-
"type": "git",
|
|
7
|
-
"url": "https://gitlab.rama.mahidol.ac.th/ramacare/frontend/rama-modules.git"
|
|
8
|
-
},
|
|
9
|
-
"license": "MIT",
|
|
10
|
-
"type": "module",
|
|
11
|
-
"exports": {
|
|
12
|
-
".": {
|
|
13
|
-
"types": "./dist/types.d.ts",
|
|
14
|
-
"import": "./dist/module.mjs",
|
|
15
|
-
"require": "./dist/module.cjs"
|
|
16
|
-
},
|
|
17
|
-
"./utils/*": {
|
|
18
|
-
"default": "./dist/runtime/utils/*.js",
|
|
19
|
-
"types": "./dist/runtime/utils/*.d.ts"
|
|
20
|
-
},
|
|
21
|
-
"./composables/*": {
|
|
22
|
-
"default": "./dist/runtime/composables/*.js",
|
|
23
|
-
"types": "./dist/runtime/composables/*.d.ts"
|
|
24
|
-
},
|
|
25
|
-
"./composables/*/*": {
|
|
26
|
-
"default": "./dist/runtime/composables/*/*.js",
|
|
27
|
-
"types": "./dist/runtime/composables/*/*.d.ts"
|
|
28
|
-
},
|
|
29
|
-
"./components/*": "./dist/runtime/components/*.vue",
|
|
30
|
-
"./components/*/*": "./dist/runtime/components/*/*.vue",
|
|
31
|
-
"./lab/*": "./dist/runtime/labs/*.vue",
|
|
32
|
-
"./lab/*/*": "./dist/runtime/labs/*/*.vue"
|
|
33
|
-
},
|
|
34
|
-
"main": "./dist/module.cjs",
|
|
35
|
-
"types": "./dist/types.d.ts",
|
|
36
|
-
"files": [
|
|
37
|
-
"dist",
|
|
38
|
-
"scripts",
|
|
39
|
-
"templates"
|
|
40
|
-
],
|
|
41
|
-
"scripts": {
|
|
42
|
-
"prepack": "nuxt-module-build build",
|
|
43
|
-
"dev": "nuxi dev playground",
|
|
44
|
-
"dev:build": "nuxi build playground",
|
|
45
|
-
"dev:prepare": "nuxt-module-build build --stub && nuxt-module-build prepare && nuxi prepare playground",
|
|
46
|
-
"
|
|
47
|
-
"
|
|
48
|
-
"
|
|
49
|
-
"
|
|
50
|
-
"
|
|
51
|
-
"
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
"
|
|
55
|
-
"
|
|
56
|
-
"
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
"@
|
|
60
|
-
"@
|
|
61
|
-
"@
|
|
62
|
-
"@
|
|
63
|
-
"@
|
|
64
|
-
"@fullcalendar/
|
|
65
|
-
"@fullcalendar/
|
|
66
|
-
"@
|
|
67
|
-
"@
|
|
68
|
-
"@
|
|
69
|
-
"@
|
|
70
|
-
"@
|
|
71
|
-
"@
|
|
72
|
-
"@
|
|
73
|
-
"@
|
|
74
|
-
"@
|
|
75
|
-
"@
|
|
76
|
-
"@
|
|
77
|
-
"@
|
|
78
|
-
"
|
|
79
|
-
"
|
|
80
|
-
"
|
|
81
|
-
"
|
|
82
|
-
"
|
|
83
|
-
"
|
|
84
|
-
"
|
|
85
|
-
"
|
|
86
|
-
"
|
|
87
|
-
"
|
|
88
|
-
"
|
|
89
|
-
"
|
|
90
|
-
"
|
|
91
|
-
"
|
|
92
|
-
"
|
|
93
|
-
"
|
|
94
|
-
"
|
|
95
|
-
"
|
|
96
|
-
"
|
|
97
|
-
"
|
|
98
|
-
"
|
|
99
|
-
"
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
"
|
|
103
|
-
"
|
|
104
|
-
"
|
|
105
|
-
"
|
|
106
|
-
"
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
"@
|
|
110
|
-
"@
|
|
111
|
-
"@
|
|
112
|
-
"@
|
|
113
|
-
"
|
|
114
|
-
"
|
|
115
|
-
"
|
|
116
|
-
"
|
|
117
|
-
"
|
|
118
|
-
"
|
|
119
|
-
"
|
|
120
|
-
"
|
|
121
|
-
|
|
122
|
-
|
|
1
|
+
{
|
|
2
|
+
"name": "@ramathibodi/nuxt-commons",
|
|
3
|
+
"version": "0.1.75",
|
|
4
|
+
"description": "Ramathibodi Nuxt modules for common components",
|
|
5
|
+
"repository": {
|
|
6
|
+
"type": "git",
|
|
7
|
+
"url": "https://gitlab.rama.mahidol.ac.th/ramacare/frontend/rama-modules.git"
|
|
8
|
+
},
|
|
9
|
+
"license": "MIT",
|
|
10
|
+
"type": "module",
|
|
11
|
+
"exports": {
|
|
12
|
+
".": {
|
|
13
|
+
"types": "./dist/types.d.ts",
|
|
14
|
+
"import": "./dist/module.mjs",
|
|
15
|
+
"require": "./dist/module.cjs"
|
|
16
|
+
},
|
|
17
|
+
"./utils/*": {
|
|
18
|
+
"default": "./dist/runtime/utils/*.js",
|
|
19
|
+
"types": "./dist/runtime/utils/*.d.ts"
|
|
20
|
+
},
|
|
21
|
+
"./composables/*": {
|
|
22
|
+
"default": "./dist/runtime/composables/*.js",
|
|
23
|
+
"types": "./dist/runtime/composables/*.d.ts"
|
|
24
|
+
},
|
|
25
|
+
"./composables/*/*": {
|
|
26
|
+
"default": "./dist/runtime/composables/*/*.js",
|
|
27
|
+
"types": "./dist/runtime/composables/*/*.d.ts"
|
|
28
|
+
},
|
|
29
|
+
"./components/*": "./dist/runtime/components/*.vue",
|
|
30
|
+
"./components/*/*": "./dist/runtime/components/*/*.vue",
|
|
31
|
+
"./lab/*": "./dist/runtime/labs/*.vue",
|
|
32
|
+
"./lab/*/*": "./dist/runtime/labs/*/*.vue"
|
|
33
|
+
},
|
|
34
|
+
"main": "./dist/module.cjs",
|
|
35
|
+
"types": "./dist/types.d.ts",
|
|
36
|
+
"files": [
|
|
37
|
+
"dist",
|
|
38
|
+
"scripts",
|
|
39
|
+
"templates"
|
|
40
|
+
],
|
|
41
|
+
"scripts": {
|
|
42
|
+
"prepack": "nuxt-module-build build",
|
|
43
|
+
"dev": "nuxi dev playground",
|
|
44
|
+
"dev:build": "nuxi build playground",
|
|
45
|
+
"dev:prepare": "nuxt-module-build build --stub && nuxt-module-build prepare && nuxi prepare playground",
|
|
46
|
+
"docs:api:components": "vue-docgen -c docs/vue-docgen.config.cjs && npm run docs:ai:summary && node scripts/enrich-vue-docs-from-ai.mjs",
|
|
47
|
+
"docs:api:composables": "typedoc --options docs/typedoc.json",
|
|
48
|
+
"docs:api:composables:md": "npm run docs:ai:summary && node scripts/generate-composables-md.mjs",
|
|
49
|
+
"docs:api": "npm run docs:api:components && npm run docs:api:composables",
|
|
50
|
+
"docs:ai:summary": "node scripts/generate-ai-summary.mjs",
|
|
51
|
+
"release": "npm run lint && npm run test && npm run prepack && changelogen --release && npm publish && git push --follow-tags",
|
|
52
|
+
"lint": "eslint .",
|
|
53
|
+
"lint:fix": "eslint . --fix",
|
|
54
|
+
"test": "vitest run",
|
|
55
|
+
"test:watch": "vitest watch",
|
|
56
|
+
"postinstall": "node scripts/postInstall.cjs"
|
|
57
|
+
},
|
|
58
|
+
"dependencies": {
|
|
59
|
+
"@codemirror/lang-html": "^6.4.9",
|
|
60
|
+
"@codemirror/lang-javascript": "^6.2.3",
|
|
61
|
+
"@codemirror/lang-vue": "^0.1.3",
|
|
62
|
+
"@codemirror/theme-one-dark": "^6.1.2",
|
|
63
|
+
"@fortawesome/fontawesome-free": "^6.7.2",
|
|
64
|
+
"@fullcalendar/core": "^6.1.17",
|
|
65
|
+
"@fullcalendar/daygrid": "^6.1.17",
|
|
66
|
+
"@fullcalendar/interaction": "^6.1.17",
|
|
67
|
+
"@fullcalendar/list": "^6.1.17",
|
|
68
|
+
"@fullcalendar/multimonth": "^6.1.17",
|
|
69
|
+
"@fullcalendar/timegrid": "^6.1.17",
|
|
70
|
+
"@fullcalendar/vue3": "^6.1.17",
|
|
71
|
+
"@graphql-codegen/add": "^5.0.3",
|
|
72
|
+
"@graphql-codegen/cli": "^5.0.5",
|
|
73
|
+
"@graphql-codegen/plugin-helpers": "^5.1.0",
|
|
74
|
+
"@graphql-codegen/typescript": "^4.1.6",
|
|
75
|
+
"@mdi/font": "^7.4.47",
|
|
76
|
+
"@nuxt/kit": "^3.16.2",
|
|
77
|
+
"@nuxtjs/apollo": "5.0.0-alpha.14",
|
|
78
|
+
"@techstark/opencv-js": "^4.11.0-release.1",
|
|
79
|
+
"@thumbmarkjs/thumbmarkjs": "^1.6.1",
|
|
80
|
+
"@vue/apollo-composable": "^4.2.2",
|
|
81
|
+
"@vuepic/vue-datepicker": "^7.4.1",
|
|
82
|
+
"@vueuse/integrations": "^11.3.0",
|
|
83
|
+
"@zxing/browser": "^0.1.5",
|
|
84
|
+
"cropperjs": "^1.6.2",
|
|
85
|
+
"currency.js": "^2.0.4",
|
|
86
|
+
"exif-rotate-js": "^1.5.0",
|
|
87
|
+
"fuse.js": "^7.1.0",
|
|
88
|
+
"gql-query-builder": "^3.8.0",
|
|
89
|
+
"graphql": "^16.10.0",
|
|
90
|
+
"localstorage-slim": "^2.7.1",
|
|
91
|
+
"lodash": "4.17.23",
|
|
92
|
+
"luxon": "^3.6.1",
|
|
93
|
+
"maska": "^2.1.11",
|
|
94
|
+
"p-limit": "^6.2.0",
|
|
95
|
+
"painterro": "^1.2.87",
|
|
96
|
+
"pdf-vue3": "^1.0.12",
|
|
97
|
+
"prettier": "3.3.2",
|
|
98
|
+
"print-js": "^1.6.0",
|
|
99
|
+
"uid": "^2.0.2",
|
|
100
|
+
"tesseract.js": "^6.0.1",
|
|
101
|
+
"vue": "^3.5.13",
|
|
102
|
+
"vue-codemirror": "^6.1.1",
|
|
103
|
+
"vue-json-pretty": "^2.5.0",
|
|
104
|
+
"vue-signature-pad": "^3.0.2",
|
|
105
|
+
"vuetify": "^3.8.0",
|
|
106
|
+
"xlsx": "https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz"
|
|
107
|
+
},
|
|
108
|
+
"devDependencies": {
|
|
109
|
+
"@nuxt/devtools": "^1.7.0",
|
|
110
|
+
"@nuxt/eslint-config": "^0.5.7",
|
|
111
|
+
"@nuxt/module-builder": "^0.8.4",
|
|
112
|
+
"@nuxt/schema": "^3.16.2",
|
|
113
|
+
"@nuxt/test-utils": "^3.17.2",
|
|
114
|
+
"@types/crypto-js": "^4.2.2",
|
|
115
|
+
"@types/lodash": "^4.17.16",
|
|
116
|
+
"@types/luxon": "^3.6.2",
|
|
117
|
+
"@types/node": "^18.19.86",
|
|
118
|
+
"@vueuse/core": "^10.11.1",
|
|
119
|
+
"@vueuse/nuxt": "^10.11.1",
|
|
120
|
+
"changelogen": "^0.5.7",
|
|
121
|
+
"eslint": "9.26.0",
|
|
122
|
+
"nuxt": "^3.16.2",
|
|
123
|
+
"nuxt-lodash": "^2.5.3",
|
|
124
|
+
"sass": "^1.86.3",
|
|
125
|
+
"typedoc": "^0.27.9",
|
|
126
|
+
"typescript": "^5.8.2",
|
|
127
|
+
"vitest": "^1.6.1",
|
|
128
|
+
"vue-docgen-cli": "^4.79.0",
|
|
129
|
+
"vue-tsc": "^2.2.10"
|
|
130
|
+
}
|
|
131
|
+
}
|