@gemafajarramadhan/dynamic-ui 1.0.0 → 1.0.2

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.
@@ -0,0 +1,271 @@
1
+ declare module '@gemafajarramadhan/dynamic-ui' {
2
+ import type { DefineComponent, Plugin } from 'vue'
3
+
4
+ // ─── Base Components ─────────────────────────────────────────────────────────
5
+
6
+ export const DCodeAutoComplete: DefineComponent<{
7
+ modelValue?: any
8
+ options?: any[]
9
+ label?: string
10
+ placeholder?: string
11
+ disabled?: boolean
12
+ visible?: boolean
13
+ skeleton?: boolean
14
+ error?: string | null
15
+ [key: string]: any
16
+ }>
17
+
18
+ export const DCodeButton: DefineComponent<{
19
+ text?: string
20
+ variant?: 'default' | 'secondary' | 'destructive' | 'outline' | 'ghost' | 'link' | 'tonal' | 'elevated'
21
+ size?: 'default' | 'sm' | 'lg' | 'icon'
22
+ tooltip?: string
23
+ bgColor?: string
24
+ textColor?: string
25
+ hoverBgColor?: string
26
+ borderColor?: string
27
+ disabled?: boolean
28
+ type?: 'BUTTON' | 'SUBMIT' | 'RESET' | 'button' | 'submit' | 'reset'
29
+ visible?: boolean
30
+ skeleton?: boolean
31
+ [key: string]: any
32
+ }>
33
+
34
+ export const DCodeCard: DefineComponent<{
35
+ [key: string]: any
36
+ }>
37
+
38
+ export const DCodeChekbox: DefineComponent<{
39
+ modelValue?: boolean | string[] | any
40
+ label?: string
41
+ disabled?: boolean
42
+ visible?: boolean
43
+ [key: string]: any
44
+ }>
45
+
46
+ export const DCodeCurrencyField: DefineComponent<{
47
+ modelValue?: number | null
48
+ label?: string
49
+ placeholder?: string
50
+ disabled?: boolean
51
+ visible?: boolean
52
+ skeleton?: boolean
53
+ error?: string | null
54
+ currency?: string
55
+ [key: string]: any
56
+ }>
57
+
58
+ export const DCodeDatePicker: DefineComponent<{
59
+ modelValue?: string | Date | null
60
+ label?: string
61
+ placeholder?: string
62
+ disabled?: boolean
63
+ visible?: boolean
64
+ skeleton?: boolean
65
+ error?: string | null
66
+ format?: string
67
+ [key: string]: any
68
+ }>
69
+
70
+ export const DCodeDateRangePicker: DefineComponent<{
71
+ modelValue?: [string | Date | null, string | Date | null]
72
+ label?: string
73
+ placeholder?: string
74
+ disabled?: boolean
75
+ visible?: boolean
76
+ skeleton?: boolean
77
+ error?: string | null
78
+ [key: string]: any
79
+ }>
80
+
81
+ export const DCodeDialog: DefineComponent<{
82
+ modelValue?: boolean
83
+ title?: string
84
+ [key: string]: any
85
+ }>
86
+
87
+ export const DCodeDialogCloseBtn: DefineComponent<{
88
+ [key: string]: any
89
+ }>
90
+
91
+ export const DCodeDropzone: DefineComponent<{
92
+ modelValue?: File | File[] | null
93
+ label?: string
94
+ accept?: string
95
+ multiple?: boolean
96
+ disabled?: boolean
97
+ visible?: boolean
98
+ [key: string]: any
99
+ }>
100
+
101
+ export const DCodeFileField: DefineComponent<{
102
+ modelValue?: File | null
103
+ label?: string
104
+ accept?: string
105
+ disabled?: boolean
106
+ visible?: boolean
107
+ skeleton?: boolean
108
+ error?: string | null
109
+ [key: string]: any
110
+ }>
111
+
112
+ export const DCodeFileResult: DefineComponent<{
113
+ value?: string | null
114
+ label?: string
115
+ visible?: boolean
116
+ [key: string]: any
117
+ }>
118
+
119
+ export const DCodeIconDropdown: DefineComponent<{
120
+ items?: any[]
121
+ disabled?: boolean
122
+ visible?: boolean
123
+ [key: string]: any
124
+ }>
125
+
126
+ export const DCodeImageCropperDialog: DefineComponent<{
127
+ modelValue?: boolean
128
+ imageSrc?: string
129
+ [key: string]: any
130
+ }>
131
+
132
+ export const DCodeImageField: DefineComponent<{
133
+ modelValue?: string | File | null
134
+ label?: string
135
+ disabled?: boolean
136
+ visible?: boolean
137
+ skeleton?: boolean
138
+ error?: string | null
139
+ [key: string]: any
140
+ }>
141
+
142
+ export const DCodeImageResult: DefineComponent<{
143
+ value?: string | null
144
+ label?: string
145
+ visible?: boolean
146
+ [key: string]: any
147
+ }>
148
+
149
+ export const DCodeLabel: DefineComponent<{
150
+ for?: string
151
+ required?: boolean
152
+ [key: string]: any
153
+ }>
154
+
155
+ export const DCodeMultiSelect: DefineComponent<{
156
+ modelValue?: any[]
157
+ options?: any[]
158
+ label?: string
159
+ placeholder?: string
160
+ disabled?: boolean
161
+ visible?: boolean
162
+ skeleton?: boolean
163
+ error?: string | null
164
+ [key: string]: any
165
+ }>
166
+
167
+ export const DCodeOtpInput: DefineComponent<{
168
+ modelValue?: string
169
+ length?: number
170
+ disabled?: boolean
171
+ visible?: boolean
172
+ [key: string]: any
173
+ }>
174
+
175
+ export const DCodeProgressBar: DefineComponent<{
176
+ isApiLoading?: boolean
177
+ apiProgress?: number
178
+ }>
179
+
180
+ export const DCodeRadioCustom: DefineComponent<{
181
+ modelValue?: string | number | boolean
182
+ options?: any[]
183
+ label?: string
184
+ disabled?: boolean
185
+ visible?: boolean
186
+ [key: string]: any
187
+ }>
188
+
189
+ export const DCodeSwitch: DefineComponent<{
190
+ modelValue?: boolean
191
+ label?: string
192
+ disabled?: boolean
193
+ visible?: boolean
194
+ skeleton?: boolean
195
+ [key: string]: any
196
+ }>
197
+
198
+ export const DCodeTextField: DefineComponent<{
199
+ modelValue?: string | number | null
200
+ label?: string
201
+ placeholder?: string
202
+ clearable?: boolean
203
+ hideClearWhenEmpty?: boolean
204
+ textCase?: 'none' | 'uppercase' | 'lowercase' | 'titlecase' | 'sentencecase'
205
+ applyTextCaseToValue?: boolean
206
+ valueType?: 'free' | 'number' | 'letter' | 'letternumber' | 'email' | 'password'
207
+ allowSpaces?: boolean
208
+ allowChars?: string | string[]
209
+ pattern?: RegExp
210
+ visible?: boolean
211
+ skeleton?: boolean
212
+ showCharCount?: boolean
213
+ returnNumber?: boolean
214
+ error?: string | null
215
+ disabled?: boolean
216
+ [key: string]: any
217
+ }>
218
+
219
+ export const DCodeTextarea: DefineComponent<{
220
+ modelValue?: string | null
221
+ label?: string
222
+ placeholder?: string
223
+ disabled?: boolean
224
+ visible?: boolean
225
+ skeleton?: boolean
226
+ error?: string | null
227
+ [key: string]: any
228
+ }>
229
+
230
+ export const DCodeTimelineWithIcons: DefineComponent<{
231
+ items?: any[]
232
+ visible?: boolean
233
+ [key: string]: any
234
+ }>
235
+
236
+ export const DCodeUploadFile: DefineComponent<{
237
+ modelValue?: File | null
238
+ label?: string
239
+ accept?: string
240
+ disabled?: boolean
241
+ visible?: boolean
242
+ [key: string]: any
243
+ }>
244
+
245
+ export const DCodeWizard: DefineComponent<{
246
+ steps?: any[]
247
+ modelValue?: number
248
+ visible?: boolean
249
+ [key: string]: any
250
+ }>
251
+
252
+ // ─── Web Components (Custom Elements) ────────────────────────────────────────
253
+
254
+ export const MicroDynamicForm: any
255
+ export const MicroDynamicDatatable: any
256
+
257
+ // ─── Logic Registry ──────────────────────────────────────────────────────────
258
+
259
+ export function registerLogic(name: string, module: any): void
260
+ export function getLogicModule(name: string): any
261
+ export function unregisterLogic(name: string): void
262
+
263
+ // ─── Utilities ───────────────────────────────────────────────────────────────
264
+
265
+ export function cn(...inputs: any[]): string
266
+
267
+ // ─── Vue Plugin ──────────────────────────────────────────────────────────────
268
+
269
+ declare const DynamicUI: Plugin
270
+ export default DynamicUI
271
+ }
package/package.json CHANGED
@@ -1,25 +1,55 @@
1
1
  {
2
2
  "name": "@gemafajarramadhan/dynamic-ui",
3
- "version": "1.0.0",
4
- "description": "Vue 3 Microfrontend Dynamic Form & DataTable Builder (Web Components)",
3
+ "version": "1.0.2",
4
+ "description": "Vue 3 Dynamic UI Component Library - Compatible with Vue, React, Angular, and any other framework via Web Components",
5
5
  "type": "module",
6
+ "license": "MIT",
6
7
  "files": [
7
- "dist"
8
+ "dist",
9
+ "src/index.d.ts"
8
10
  ],
9
- "main": "./dist/dynamic-ui.umd.cjs",
10
- "module": "./dist/dynamic-ui.js",
11
+ "main": "./dist/dynamic-ui.umd.js",
12
+ "module": "./dist/dynamic-ui.es.js",
13
+ "types": "./dist/index.d.ts",
11
14
  "exports": {
12
15
  ".": {
13
- "import": "./dist/dynamic-ui.js",
14
- "require": "./dist/dynamic-ui.umd.cjs"
16
+ "types": "./dist/index.d.ts",
17
+ "import": "./dist/dynamic-ui.es.js",
18
+ "require": "./dist/dynamic-ui.umd.js"
15
19
  },
16
- "./style.css": "./dist/style.css"
20
+ "./style.css": "./dist/style.css",
21
+ "./webcomponents": {
22
+ "import": "./dist/webcomponents/dynamic-ui.es.js",
23
+ "require": "./dist/webcomponents/dynamic-ui.umd.js"
24
+ }
17
25
  },
18
26
  "scripts": {
19
27
  "dev": "vite",
20
- "build": "vite build",
28
+ "build": "vite build && node scripts/copy-types.js",
29
+ "build:lib": "vite build && node scripts/copy-types.js",
30
+ "build:webcomponent": "cross-env BUILD_MODE=webcomponent vite build --outDir dist/webcomponents",
31
+ "build:all": "npm run build:lib && npm run build:webcomponent",
21
32
  "preview": "vite preview"
22
33
  },
34
+ "keywords": [
35
+ "vue",
36
+ "vue3",
37
+ "components",
38
+ "ui",
39
+ "dynamic",
40
+ "form",
41
+ "datatable",
42
+ "web-components",
43
+ "micro-frontend"
44
+ ],
45
+ "peerDependencies": {
46
+ "vue": "^3.3.0"
47
+ },
48
+ "peerDependenciesMeta": {
49
+ "vue": {
50
+ "optional": false
51
+ }
52
+ },
23
53
  "dependencies": {
24
54
  "@uppy/core": "^5.2.0",
25
55
  "@uppy/dashboard": "^5.1.1",
@@ -38,6 +68,7 @@
38
68
  },
39
69
  "devDependencies": {
40
70
  "@vitejs/plugin-vue": "^6.0.1",
71
+ "cross-env": "^7.0.3",
41
72
  "vite": "^7.2.4",
42
73
  "vue": "^3.5.24"
43
74
  }
package/src/index.d.ts ADDED
@@ -0,0 +1,271 @@
1
+ declare module '@gemafajarramadhan/dynamic-ui' {
2
+ import type { DefineComponent, Plugin } from 'vue'
3
+
4
+ // ─── Base Components ─────────────────────────────────────────────────────────
5
+
6
+ export const DCodeAutoComplete: DefineComponent<{
7
+ modelValue?: any
8
+ options?: any[]
9
+ label?: string
10
+ placeholder?: string
11
+ disabled?: boolean
12
+ visible?: boolean
13
+ skeleton?: boolean
14
+ error?: string | null
15
+ [key: string]: any
16
+ }>
17
+
18
+ export const DCodeButton: DefineComponent<{
19
+ text?: string
20
+ variant?: 'default' | 'secondary' | 'destructive' | 'outline' | 'ghost' | 'link' | 'tonal' | 'elevated'
21
+ size?: 'default' | 'sm' | 'lg' | 'icon'
22
+ tooltip?: string
23
+ bgColor?: string
24
+ textColor?: string
25
+ hoverBgColor?: string
26
+ borderColor?: string
27
+ disabled?: boolean
28
+ type?: 'BUTTON' | 'SUBMIT' | 'RESET' | 'button' | 'submit' | 'reset'
29
+ visible?: boolean
30
+ skeleton?: boolean
31
+ [key: string]: any
32
+ }>
33
+
34
+ export const DCodeCard: DefineComponent<{
35
+ [key: string]: any
36
+ }>
37
+
38
+ export const DCodeChekbox: DefineComponent<{
39
+ modelValue?: boolean | string[] | any
40
+ label?: string
41
+ disabled?: boolean
42
+ visible?: boolean
43
+ [key: string]: any
44
+ }>
45
+
46
+ export const DCodeCurrencyField: DefineComponent<{
47
+ modelValue?: number | null
48
+ label?: string
49
+ placeholder?: string
50
+ disabled?: boolean
51
+ visible?: boolean
52
+ skeleton?: boolean
53
+ error?: string | null
54
+ currency?: string
55
+ [key: string]: any
56
+ }>
57
+
58
+ export const DCodeDatePicker: DefineComponent<{
59
+ modelValue?: string | Date | null
60
+ label?: string
61
+ placeholder?: string
62
+ disabled?: boolean
63
+ visible?: boolean
64
+ skeleton?: boolean
65
+ error?: string | null
66
+ format?: string
67
+ [key: string]: any
68
+ }>
69
+
70
+ export const DCodeDateRangePicker: DefineComponent<{
71
+ modelValue?: [string | Date | null, string | Date | null]
72
+ label?: string
73
+ placeholder?: string
74
+ disabled?: boolean
75
+ visible?: boolean
76
+ skeleton?: boolean
77
+ error?: string | null
78
+ [key: string]: any
79
+ }>
80
+
81
+ export const DCodeDialog: DefineComponent<{
82
+ modelValue?: boolean
83
+ title?: string
84
+ [key: string]: any
85
+ }>
86
+
87
+ export const DCodeDialogCloseBtn: DefineComponent<{
88
+ [key: string]: any
89
+ }>
90
+
91
+ export const DCodeDropzone: DefineComponent<{
92
+ modelValue?: File | File[] | null
93
+ label?: string
94
+ accept?: string
95
+ multiple?: boolean
96
+ disabled?: boolean
97
+ visible?: boolean
98
+ [key: string]: any
99
+ }>
100
+
101
+ export const DCodeFileField: DefineComponent<{
102
+ modelValue?: File | null
103
+ label?: string
104
+ accept?: string
105
+ disabled?: boolean
106
+ visible?: boolean
107
+ skeleton?: boolean
108
+ error?: string | null
109
+ [key: string]: any
110
+ }>
111
+
112
+ export const DCodeFileResult: DefineComponent<{
113
+ value?: string | null
114
+ label?: string
115
+ visible?: boolean
116
+ [key: string]: any
117
+ }>
118
+
119
+ export const DCodeIconDropdown: DefineComponent<{
120
+ items?: any[]
121
+ disabled?: boolean
122
+ visible?: boolean
123
+ [key: string]: any
124
+ }>
125
+
126
+ export const DCodeImageCropperDialog: DefineComponent<{
127
+ modelValue?: boolean
128
+ imageSrc?: string
129
+ [key: string]: any
130
+ }>
131
+
132
+ export const DCodeImageField: DefineComponent<{
133
+ modelValue?: string | File | null
134
+ label?: string
135
+ disabled?: boolean
136
+ visible?: boolean
137
+ skeleton?: boolean
138
+ error?: string | null
139
+ [key: string]: any
140
+ }>
141
+
142
+ export const DCodeImageResult: DefineComponent<{
143
+ value?: string | null
144
+ label?: string
145
+ visible?: boolean
146
+ [key: string]: any
147
+ }>
148
+
149
+ export const DCodeLabel: DefineComponent<{
150
+ for?: string
151
+ required?: boolean
152
+ [key: string]: any
153
+ }>
154
+
155
+ export const DCodeMultiSelect: DefineComponent<{
156
+ modelValue?: any[]
157
+ options?: any[]
158
+ label?: string
159
+ placeholder?: string
160
+ disabled?: boolean
161
+ visible?: boolean
162
+ skeleton?: boolean
163
+ error?: string | null
164
+ [key: string]: any
165
+ }>
166
+
167
+ export const DCodeOtpInput: DefineComponent<{
168
+ modelValue?: string
169
+ length?: number
170
+ disabled?: boolean
171
+ visible?: boolean
172
+ [key: string]: any
173
+ }>
174
+
175
+ export const DCodeProgressBar: DefineComponent<{
176
+ isApiLoading?: boolean
177
+ apiProgress?: number
178
+ }>
179
+
180
+ export const DCodeRadioCustom: DefineComponent<{
181
+ modelValue?: string | number | boolean
182
+ options?: any[]
183
+ label?: string
184
+ disabled?: boolean
185
+ visible?: boolean
186
+ [key: string]: any
187
+ }>
188
+
189
+ export const DCodeSwitch: DefineComponent<{
190
+ modelValue?: boolean
191
+ label?: string
192
+ disabled?: boolean
193
+ visible?: boolean
194
+ skeleton?: boolean
195
+ [key: string]: any
196
+ }>
197
+
198
+ export const DCodeTextField: DefineComponent<{
199
+ modelValue?: string | number | null
200
+ label?: string
201
+ placeholder?: string
202
+ clearable?: boolean
203
+ hideClearWhenEmpty?: boolean
204
+ textCase?: 'none' | 'uppercase' | 'lowercase' | 'titlecase' | 'sentencecase'
205
+ applyTextCaseToValue?: boolean
206
+ valueType?: 'free' | 'number' | 'letter' | 'letternumber' | 'email' | 'password'
207
+ allowSpaces?: boolean
208
+ allowChars?: string | string[]
209
+ pattern?: RegExp
210
+ visible?: boolean
211
+ skeleton?: boolean
212
+ showCharCount?: boolean
213
+ returnNumber?: boolean
214
+ error?: string | null
215
+ disabled?: boolean
216
+ [key: string]: any
217
+ }>
218
+
219
+ export const DCodeTextarea: DefineComponent<{
220
+ modelValue?: string | null
221
+ label?: string
222
+ placeholder?: string
223
+ disabled?: boolean
224
+ visible?: boolean
225
+ skeleton?: boolean
226
+ error?: string | null
227
+ [key: string]: any
228
+ }>
229
+
230
+ export const DCodeTimelineWithIcons: DefineComponent<{
231
+ items?: any[]
232
+ visible?: boolean
233
+ [key: string]: any
234
+ }>
235
+
236
+ export const DCodeUploadFile: DefineComponent<{
237
+ modelValue?: File | null
238
+ label?: string
239
+ accept?: string
240
+ disabled?: boolean
241
+ visible?: boolean
242
+ [key: string]: any
243
+ }>
244
+
245
+ export const DCodeWizard: DefineComponent<{
246
+ steps?: any[]
247
+ modelValue?: number
248
+ visible?: boolean
249
+ [key: string]: any
250
+ }>
251
+
252
+ // ─── Web Components (Custom Elements) ────────────────────────────────────────
253
+
254
+ export const MicroDynamicForm: any
255
+ export const MicroDynamicDatatable: any
256
+
257
+ // ─── Logic Registry ──────────────────────────────────────────────────────────
258
+
259
+ export function registerLogic(name: string, module: any): void
260
+ export function getLogicModule(name: string): any
261
+ export function unregisterLogic(name: string): void
262
+
263
+ // ─── Utilities ───────────────────────────────────────────────────────────────
264
+
265
+ export function cn(...inputs: any[]): string
266
+
267
+ // ─── Vue Plugin ──────────────────────────────────────────────────────────────
268
+
269
+ declare const DynamicUI: Plugin
270
+ export default DynamicUI
271
+ }