@jsg-developer/vue-pack 0.0.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 (111) hide show
  1. package/LICENSE +19 -0
  2. package/README.md +154 -0
  3. package/dist/DEPENDENCY-LICENSES.txt +1170 -0
  4. package/dist/TabelData-C_eyn6Uq.cjs +1 -0
  5. package/dist/TabelData-fKFaSnkC.js +2142 -0
  6. package/dist/TabelData.vue_vue_type_style_index_0_scoped_76b9b7a6_lang-Dtm1AO8H.js +13685 -0
  7. package/dist/TabelData.vue_vue_type_style_index_0_scoped_76b9b7a6_lang-jjKlGR9H.cjs +64 -0
  8. package/dist/config.cjs.js +1 -0
  9. package/dist/config.es.js +6 -0
  10. package/dist/init.cjs.js +1 -0
  11. package/dist/init.es.js +24 -0
  12. package/dist/jsgd-vue-pack.cjs.js +1 -0
  13. package/dist/jsgd-vue-pack.css +7 -0
  14. package/dist/jsgd-vue-pack.es.js +388 -0
  15. package/dist/plugin/vue.cjs.js +1 -0
  16. package/dist/plugin/vue.es.js +51 -0
  17. package/dist/types/components/Form/FormFieldRenderer.vue.d.ts +23 -0
  18. package/dist/types/components/Form/FormModal.vue.d.ts +11 -0
  19. package/dist/types/components/Form/composables/index.d.ts +2 -0
  20. package/dist/types/components/Form/composables/useFormFieldRenderer.d.ts +22 -0
  21. package/dist/types/components/Form/composables/useFormModal.d.ts +19 -0
  22. package/dist/types/components/Form/index.d.ts +2 -0
  23. package/dist/types/components/Tabel/TabelData.vue.d.ts +62 -0
  24. package/dist/types/components/Tabel/composables/index.d.ts +4 -0
  25. package/dist/types/components/Tabel/composables/useDataNormalization.d.ts +7 -0
  26. package/dist/types/components/Tabel/composables/useDisplayHelpers.d.ts +8 -0
  27. package/dist/types/components/Tabel/composables/useFormHandling.d.ts +23 -0
  28. package/dist/types/components/Tabel/composables/useTableLogic.d.ts +35 -0
  29. package/dist/types/components/Tabel/index.d.ts +1 -0
  30. package/dist/types/components/UI/Display/BaseImage.vue.d.ts +6 -0
  31. package/dist/types/components/UI/Display/BaseLabel.vue.d.ts +20 -0
  32. package/dist/types/components/UI/Display/FieldDetailRenderer.vue.d.ts +16 -0
  33. package/dist/types/components/UI/Display/ImagePreview.vue.d.ts +12 -0
  34. package/dist/types/components/UI/Display/ModalDetailData.vue.d.ts +17 -0
  35. package/dist/types/components/UI/Display/SafeHtml.vue.d.ts +5 -0
  36. package/dist/types/components/UI/Display/Tooltip.vue.d.ts +62 -0
  37. package/dist/types/components/UI/Display/index.d.ts +7 -0
  38. package/dist/types/components/UI/Feedback/AlertApp.vue.d.ts +14 -0
  39. package/dist/types/components/UI/Feedback/LoaderSuccessError.vue.d.ts +12 -0
  40. package/dist/types/components/UI/Feedback/WarningForm.vue.d.ts +17 -0
  41. package/dist/types/components/UI/Feedback/index.d.ts +3 -0
  42. package/dist/types/components/UI/Inputs/ArrayObject.vue.d.ts +9 -0
  43. package/dist/types/components/UI/Inputs/ColorPicker.vue.d.ts +13 -0
  44. package/dist/types/components/UI/Inputs/ComboboxComponent.vue.d.ts +33 -0
  45. package/dist/types/components/UI/Inputs/DateInput.vue.d.ts +13 -0
  46. package/dist/types/components/UI/Inputs/DateTimeInput.vue.d.ts +67 -0
  47. package/dist/types/components/UI/Inputs/EmailInput.vue.d.ts +13 -0
  48. package/dist/types/components/UI/Inputs/FileArrayInput.vue.d.ts +14 -0
  49. package/dist/types/components/UI/Inputs/FileInput.vue.d.ts +13 -0
  50. package/dist/types/components/UI/Inputs/GroupRenderer.vue.d.ts +17 -0
  51. package/dist/types/components/UI/Inputs/ImageArrayInput.vue.d.ts +14 -0
  52. package/dist/types/components/UI/Inputs/ImageInput.vue.d.ts +13 -0
  53. package/dist/types/components/UI/Inputs/NumberInput.vue.d.ts +13 -0
  54. package/dist/types/components/UI/Inputs/ObjectInput.vue.d.ts +17 -0
  55. package/dist/types/components/UI/Inputs/PasswordInput.vue.d.ts +13 -0
  56. package/dist/types/components/UI/Inputs/TagInput.vue.d.ts +16 -0
  57. package/dist/types/components/UI/Inputs/TextAreaInput.vue.d.ts +13 -0
  58. package/dist/types/components/UI/Inputs/TextAreaQuill.vue.d.ts +13 -0
  59. package/dist/types/components/UI/Inputs/TextInput.vue.d.ts +13 -0
  60. package/dist/types/components/UI/Inputs/TimeInput.vue.d.ts +13 -0
  61. package/dist/types/components/UI/Inputs/ToggleInput.vue.d.ts +9 -0
  62. package/dist/types/components/UI/Inputs/UrlInput.vue.d.ts +13 -0
  63. package/dist/types/components/UI/Inputs/composables/index.d.ts +3 -0
  64. package/dist/types/components/UI/Inputs/composables/useArrayObject.d.ts +17 -0
  65. package/dist/types/components/UI/Inputs/composables/useSchemaGroupRenderer.d.ts +14 -0
  66. package/dist/types/components/UI/Inputs/composables/useSingleObject.d.ts +11 -0
  67. package/dist/types/components/UI/Inputs/index.d.ts +21 -0
  68. package/dist/types/components/UI/index.d.ts +3 -0
  69. package/dist/types/components/index.d.ts +3 -0
  70. package/dist/types/config.d.ts +2 -0
  71. package/dist/types/configs/defaults/index.d.ts +1 -0
  72. package/dist/types/configs/defaults/table.d.ts +8 -0
  73. package/dist/types/configs/i18n/errors.d.ts +2 -0
  74. package/dist/types/configs/i18n/index.d.ts +4 -0
  75. package/dist/types/configs/i18n/inputs.d.ts +2 -0
  76. package/dist/types/configs/i18n/labels.d.ts +2 -0
  77. package/dist/types/configs/i18n/register.d.ts +4 -0
  78. package/dist/types/configs/index.d.ts +3 -0
  79. package/dist/types/configs/types/base.types.d.ts +8 -0
  80. package/dist/types/configs/types/date.types.d.ts +10 -0
  81. package/dist/types/configs/types/field.types.d.ts +255 -0
  82. package/dist/types/configs/types/globalText.types.d.ts +94 -0
  83. package/dist/types/configs/types/index.d.ts +10 -0
  84. package/dist/types/configs/types/modal-text.types.d.ts +42 -0
  85. package/dist/types/configs/types/plugin-config.types.d.ts +28 -0
  86. package/dist/types/configs/types/props.types.d.ts +355 -0
  87. package/dist/types/configs/types/schema.types.d.ts +20 -0
  88. package/dist/types/configs/types/submit-options.types.d.ts +31 -0
  89. package/dist/types/configs/types/table-data.types.d.ts +130 -0
  90. package/dist/types/fetch/index.d.ts +1 -0
  91. package/dist/types/fetch/submitData.d.ts +2 -0
  92. package/dist/types/helpers/clientInfo.d.ts +5 -0
  93. package/dist/types/helpers/index.d.ts +3 -0
  94. package/dist/types/helpers/locale.d.ts +3 -0
  95. package/dist/types/helpers/message.d.ts +2 -0
  96. package/dist/types/index.d.ts +8 -0
  97. package/dist/types/init.d.ts +2 -0
  98. package/dist/types/lib/index.d.ts +2 -0
  99. package/dist/types/lib/indexedDB.d.ts +29 -0
  100. package/dist/types/lib/secureFetch.d.ts +8 -0
  101. package/dist/types/plugin/vue.plugin.d.ts +3 -0
  102. package/dist/types/schemas/TestSchema.d.ts +2 -0
  103. package/dist/types/schemas/index.d.ts +1 -0
  104. package/dist/types/untils/index.d.ts +4 -0
  105. package/dist/types/untils/math.d.ts +28 -0
  106. package/dist/types/untils/misc.d.ts +3 -0
  107. package/dist/types/untils/objectPath.d.ts +5 -0
  108. package/dist/types/untils/regex.d.ts +8 -0
  109. package/dist/types/validate/index.d.ts +1 -0
  110. package/dist/types/validate/validate.d.ts +27 -0
  111. package/package.json +70 -0
@@ -0,0 +1,355 @@
1
+ import { SupportedLanguage, Errors, Schema, SubmitAuthOptionMap, Item, DataKeyConfig, DateOnly, DateTimeString, TimeOnly, ImageType, XOR } from '../../index';
2
+ export interface SchemaGroupRendererProps {
3
+ id: string;
4
+ label?: string;
5
+ typeDesign: 'cekbox' | 'dropdown' | 'select';
6
+ options: Record<string, Schema>;
7
+ optionsLabels?: Record<string, string>;
8
+ withValue?: boolean;
9
+ formData: Record<string, any>;
10
+ required?: boolean;
11
+ disabled?: boolean;
12
+ errors: Errors;
13
+ error?: string;
14
+ lang?: SupportedLanguage;
15
+ }
16
+ export interface ArrayObjectProps {
17
+ id?: string;
18
+ label?: string;
19
+ modelValue?: any[];
20
+ disabled?: boolean;
21
+ schema: Schema;
22
+ error?: string;
23
+ lang?: SupportedLanguage;
24
+ }
25
+ export interface SingleObjectProps {
26
+ id?: string;
27
+ label?: string;
28
+ disabled?: boolean;
29
+ schema: Schema;
30
+ formData: Record<string, any>;
31
+ required?: boolean;
32
+ errors: Errors;
33
+ lang?: SupportedLanguage;
34
+ }
35
+ export interface SelectDropdownProps {
36
+ id?: string;
37
+ label: string;
38
+ optionsIsNumber?: boolean;
39
+ placeholder?: string;
40
+ options: (string | number)[];
41
+ optionsView: (string | number)[];
42
+ required?: boolean;
43
+ disabled?: boolean;
44
+ modelValue?: string | number | null;
45
+ error?: string;
46
+ withCreate?: {
47
+ DB_NAME?: string;
48
+ schema: Schema;
49
+ endPoint: string;
50
+ validation?: Record<string, any>;
51
+ submitOption?: SubmitAuthOptionMap<Item>;
52
+ keys?: DataKeyConfig;
53
+ };
54
+ lang?: SupportedLanguage;
55
+ }
56
+ export interface TextInputProps {
57
+ id?: string;
58
+ label: string;
59
+ placeholder?: string;
60
+ modelValue?: string | number;
61
+ error?: string | string[];
62
+ disabled?: boolean;
63
+ validate?: {
64
+ duplicate?: (string | number)[];
65
+ minLength?: number;
66
+ maxLength?: number;
67
+ pattern?: string;
68
+ };
69
+ lang?: SupportedLanguage;
70
+ }
71
+ export interface DateInputProps {
72
+ id?: string;
73
+ label: string;
74
+ placeholder?: string;
75
+ modelValue?: DateOnly;
76
+ error?: string | string[];
77
+ disabled?: boolean;
78
+ validate?: {
79
+ minDate?: DateOnly;
80
+ maxDate?: DateOnly;
81
+ };
82
+ lang?: SupportedLanguage;
83
+ }
84
+ export interface TimeInputProps {
85
+ id?: string;
86
+ label: string;
87
+ placeholder?: string;
88
+ modelValue?: TimeOnly;
89
+ error?: string | string[];
90
+ disabled?: boolean;
91
+ validate?: {
92
+ minTime?: TimeOnly;
93
+ maxTime?: TimeOnly;
94
+ };
95
+ lang?: SupportedLanguage;
96
+ }
97
+ export interface DateTimeInputProps {
98
+ id?: string;
99
+ label: string;
100
+ placeholder?: string;
101
+ modelValue?: DateTimeString;
102
+ error?: string | string[];
103
+ disabled?: boolean;
104
+ validate?: {
105
+ minDateTime?: DateTimeString;
106
+ maxDateTime?: DateTimeString;
107
+ };
108
+ lang?: SupportedLanguage;
109
+ }
110
+ export interface NumberInputProps {
111
+ id?: string;
112
+ label: string;
113
+ placeholder?: string;
114
+ modelValue?: string | number;
115
+ error?: string | string[];
116
+ disabled?: boolean;
117
+ validate?: {
118
+ min?: number;
119
+ max?: number;
120
+ integer?: boolean;
121
+ duplicate?: (string | number)[];
122
+ };
123
+ lang?: SupportedLanguage;
124
+ }
125
+ export interface EmailInputProps {
126
+ id?: string;
127
+ label: string;
128
+ placeholder?: string;
129
+ modelValue?: string | number;
130
+ error?: string | string[];
131
+ disabled?: boolean;
132
+ validate?: {
133
+ duplicate?: (string | number)[];
134
+ };
135
+ lang?: SupportedLanguage;
136
+ }
137
+ export interface PasswordInputProps {
138
+ id?: string;
139
+ label: string;
140
+ placeholder?: string;
141
+ modelValue?: string | number;
142
+ error?: string | string[];
143
+ disabled?: boolean;
144
+ validate?: {
145
+ minLength?: number;
146
+ maxLength?: number;
147
+ requireUppercase?: boolean;
148
+ requireLowercase?: boolean;
149
+ requireNumber?: boolean;
150
+ requireSpecialChar?: boolean;
151
+ };
152
+ lang?: SupportedLanguage;
153
+ }
154
+ export interface BaseInputProps {
155
+ id?: string;
156
+ label: string;
157
+ type: string;
158
+ placeholder?: string;
159
+ modelValue?: string | number;
160
+ error?: string | string[];
161
+ disabled?: boolean;
162
+ validate?: {
163
+ text?: {
164
+ duplicate: (string | number)[];
165
+ minLength?: number;
166
+ maxLength?: number;
167
+ pattern?: string;
168
+ };
169
+ number?: {
170
+ min?: number;
171
+ max?: number;
172
+ integer?: boolean;
173
+ duplicate: (string | number)[];
174
+ };
175
+ email?: {
176
+ duplicate?: (string | number)[];
177
+ };
178
+ password?: {
179
+ minLength?: number;
180
+ maxLength?: number;
181
+ requireUppercase?: boolean;
182
+ requireLowercase?: boolean;
183
+ requireNumber?: boolean;
184
+ requireSpecialChar?: boolean;
185
+ };
186
+ };
187
+ lang?: SupportedLanguage;
188
+ }
189
+ export interface RichTextProps {
190
+ id?: string;
191
+ label?: string;
192
+ placeholder?: string;
193
+ modelValue?: string;
194
+ error?: string | string[];
195
+ disabled?: boolean;
196
+ lang?: SupportedLanguage;
197
+ validate?: {
198
+ minLength?: number;
199
+ maxLength?: number;
200
+ };
201
+ }
202
+ export interface TextAreaProps {
203
+ id?: string;
204
+ label?: string;
205
+ placeholder?: string;
206
+ modelValue?: string;
207
+ error?: string | string[];
208
+ disabled?: boolean;
209
+ lang?: SupportedLanguage;
210
+ validate?: {
211
+ minLength?: number;
212
+ maxLength?: number;
213
+ };
214
+ }
215
+ export interface FileInputProps {
216
+ id?: string;
217
+ label?: string;
218
+ modelValue?: File | null | string;
219
+ disabled?: boolean;
220
+ validate?: {
221
+ maxSize?: number;
222
+ allowedTypes?: string[];
223
+ };
224
+ lang?: string;
225
+ error?: string | string[];
226
+ }
227
+ export interface FileArrayInputProps {
228
+ id?: string;
229
+ label?: string;
230
+ modelValue?: (File | string)[];
231
+ disabled?: boolean;
232
+ validate?: {
233
+ maxFiles?: number;
234
+ maxSize?: number;
235
+ allowedTypes?: string[];
236
+ };
237
+ lang?: string;
238
+ error?: string | string[];
239
+ }
240
+ export interface ImageInputProps {
241
+ id?: string;
242
+ label?: string;
243
+ modelValue?: File | null | string;
244
+ previewAlt?: string;
245
+ disabled?: boolean;
246
+ error?: string | string[];
247
+ previewImage?: string;
248
+ validate?: {
249
+ maxSize?: number;
250
+ ratio?: {
251
+ Width: number;
252
+ Height: number;
253
+ };
254
+ pixel?: XOR<{
255
+ maxWidth?: number;
256
+ maxHeight?: number;
257
+ minWidth?: number;
258
+ minHeight?: number;
259
+ }, {
260
+ width?: number;
261
+ height?: number;
262
+ }>;
263
+ allowedTypes?: ImageType[];
264
+ };
265
+ watermark?: {
266
+ url: string;
267
+ position: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right' | 'full';
268
+ transparant: number;
269
+ };
270
+ lang?: SupportedLanguage;
271
+ }
272
+ export interface ImageArrayInputProps {
273
+ id?: string;
274
+ label?: string;
275
+ modelValue?: (File | string)[];
276
+ previewAlt?: string;
277
+ disabled?: boolean;
278
+ error?: string | string[];
279
+ previewImages?: string[];
280
+ validate?: {
281
+ maxFiles?: number;
282
+ maxSize?: number;
283
+ ratio?: {
284
+ Width: number;
285
+ Height: number;
286
+ };
287
+ pixel?: XOR<{
288
+ maxWidth?: number;
289
+ maxHeight?: number;
290
+ minWidth?: number;
291
+ minHeight?: number;
292
+ }, {
293
+ width?: number;
294
+ height?: number;
295
+ }>;
296
+ allowedTypes?: ImageType[];
297
+ };
298
+ watermark?: {
299
+ url: string;
300
+ position: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right' | 'full';
301
+ transparant: number;
302
+ };
303
+ lang?: SupportedLanguage;
304
+ }
305
+ export interface TagInputProps {
306
+ id?: string;
307
+ label: string;
308
+ placeholder?: string;
309
+ modelValue?: string[];
310
+ error?: string | string[];
311
+ disabled?: boolean;
312
+ lang?: SupportedLanguage;
313
+ validate?: {
314
+ min?: number;
315
+ max?: number;
316
+ };
317
+ }
318
+ export interface ToggleInputProps {
319
+ id?: string;
320
+ label: string;
321
+ modelValue?: boolean;
322
+ disabled?: boolean;
323
+ lang?: SupportedLanguage;
324
+ }
325
+ export interface UrlInputProps {
326
+ id?: string;
327
+ label: string;
328
+ placeholder?: string;
329
+ modelValue?: string;
330
+ error?: string;
331
+ validate?: boolean;
332
+ disabled?: boolean;
333
+ lang?: SupportedLanguage;
334
+ }
335
+ export interface FromModalProps {
336
+ id?: number | null;
337
+ initialData?: Record<string, any>;
338
+ schema: Schema;
339
+ isUpdate?: boolean;
340
+ lang?: SupportedLanguage;
341
+ }
342
+ export interface ColorPickerProps {
343
+ id?: string;
344
+ selectedColors?: string[];
345
+ modelValue?: string[] | string;
346
+ single?: boolean;
347
+ error?: string[];
348
+ label?: string;
349
+ disabled?: boolean;
350
+ validate?: {
351
+ min?: number;
352
+ max?: number;
353
+ };
354
+ lang?: SupportedLanguage;
355
+ }
@@ -0,0 +1,20 @@
1
+ import { TextField, ImageField, ColorField, EmailField, PasswordField, NumberField, SelectField, ArrayObjectField, OptionGroupField, RichTextField, TagField, UrlField, ToggleField, ImageArrayField, FileArrayField, ObjectField, TextAreaField, DateField, TimeField, DateTimeField, FileField, XOR } from '../../index';
2
+ export type Field = TextField | ImageArrayField | NumberField | FileArrayField | ImageField | ColorField | SelectField | EmailField | PasswordField | ArrayObjectField | UrlField | ToggleField | DateField | ObjectField | TimeField | RichTextField | DateTimeField | TagField | FileField | TextAreaField | OptionGroupField;
3
+ export type Schema = Record<string, Field>;
4
+ export type FormData = Record<string, any>;
5
+ export type Errors = Record<string, any>;
6
+ export type DataView = Record<string, string | dataProperty>;
7
+ export interface dataProperty {
8
+ valueKey: string;
9
+ connect?: XOR<{
10
+ withDB: {
11
+ DB_NAME: string;
12
+ valueKey: string;
13
+ };
14
+ }, {
15
+ withFetch: {
16
+ url: string;
17
+ valueKey: string;
18
+ };
19
+ }>;
20
+ }
@@ -0,0 +1,31 @@
1
+ import { ZodType } from 'zod';
2
+ export type SubmitMode = 'create' | 'get' | 'update' | 'delete' | 'deleteMany';
3
+ export interface errorMessage {
4
+ status: number;
5
+ message: string;
6
+ }
7
+ export interface SubmitOptions<T> {
8
+ data?: T;
9
+ oldData?: T;
10
+ validation?: ZodType<T>;
11
+ endpoint: string;
12
+ mode: SubmitMode;
13
+ db?: string;
14
+ deleteDataDB?: boolean;
15
+ authType: 'cookie' | 'bearer' | 'none' | 'custom';
16
+ token?: string;
17
+ customHeaders?: Record<string, string>;
18
+ }
19
+ export type SubmitAuthOptions<T> = {
20
+ authType?: 'cookie' | 'bearer' | 'none' | 'custom';
21
+ token?: string;
22
+ customHeaders?: Record<string, string>;
23
+ };
24
+ export interface SubmitAuthOptionMap<T = any> {
25
+ global?: SubmitAuthOptions<T>;
26
+ get?: SubmitAuthOptions<T>;
27
+ create?: SubmitAuthOptions<T>;
28
+ update?: SubmitAuthOptions<T>;
29
+ delete?: SubmitAuthOptions<T>;
30
+ deleteMany?: SubmitAuthOptions<T>;
31
+ }
@@ -0,0 +1,130 @@
1
+ import { ZodType } from 'zod';
2
+ import { DataView, Schema, FormDesign, SubmitAuthOptionMap, SupportedLanguage, XOR } from '../../index';
3
+ export interface BaseConfig<Item> {
4
+ source: XOR<{
5
+ DB_NAME: string;
6
+ connect?: Array<{
7
+ key: string;
8
+ DB_NAME: string;
9
+ connectKey: string;
10
+ }>;
11
+ }, {
12
+ fetchApi: {
13
+ get: string;
14
+ getAll: string;
15
+ autoRefresh?: {
16
+ time: number;
17
+ };
18
+ connect?: Array<{
19
+ key: string;
20
+ url: string;
21
+ connectKey: string;
22
+ valueKey?: string;
23
+ }>;
24
+ };
25
+ }>;
26
+ data?: Item[];
27
+ dataTabelDisplay?: DataView;
28
+ dataTabelCustomDisplay?: Item[];
29
+ headersTabelDisplay?: string[];
30
+ justTabel?: boolean;
31
+ lang?: SupportedLanguage;
32
+ schema: FormSchema;
33
+ }
34
+ export interface FormSchema {
35
+ global?: Schema;
36
+ display?: Schema;
37
+ create?: Schema;
38
+ update?: Schema;
39
+ }
40
+ export interface TabelTextLabels {
41
+ btn: {
42
+ add?: string;
43
+ display?: string;
44
+ delete?: string;
45
+ deleteMany?: string;
46
+ next?: string;
47
+ prev?: string;
48
+ create?: string;
49
+ update?: string;
50
+ };
51
+ action?: string;
52
+ message?: {
53
+ notFound?: string;
54
+ };
55
+ warning?: {
56
+ delete?: string;
57
+ deleteMany?: string;
58
+ };
59
+ }
60
+ export interface DataKeyConfig {
61
+ idKey?: string;
62
+ idsKey?: string;
63
+ nameKey?: string;
64
+ }
65
+ export interface TabelFeatureToggles {
66
+ btnInfoActive?: boolean;
67
+ searchQueryActive?: boolean;
68
+ sortable?: boolean;
69
+ createActive?: boolean;
70
+ updateActive?: boolean;
71
+ deleteActive?: boolean;
72
+ deleteManyActive?: boolean;
73
+ displayActive?: boolean;
74
+ JustTabel?: boolean;
75
+ }
76
+ export interface TabelFeatureToggles {
77
+ btnInfoActive?: boolean;
78
+ searchQueryActive?: boolean;
79
+ sortable?: boolean;
80
+ createActive?: boolean;
81
+ updateActive?: boolean;
82
+ deleteActive?: boolean;
83
+ deleteManyActive?: boolean;
84
+ displayActive?: boolean;
85
+ }
86
+ export interface TabelManualControl {
87
+ create?: boolean;
88
+ update?: boolean;
89
+ delete?: boolean;
90
+ deleteMany?: boolean;
91
+ display?: boolean;
92
+ }
93
+ export interface TabelPagination {
94
+ itemsPerPage?: number;
95
+ maxVisiblePages?: number;
96
+ maxDataTabelRowDisplay?: number;
97
+ indicator?: {
98
+ displayingText?: string;
99
+ dataText?: string;
100
+ };
101
+ }
102
+ export interface TabelValidationSchema<T> {
103
+ create?: ZodType<T>;
104
+ update?: ZodType<T>;
105
+ delete?: ZodType<T>;
106
+ deleteMany?: ZodType<T>;
107
+ }
108
+ export interface TabelEndpoints {
109
+ create?: string;
110
+ update?: string;
111
+ delete?: string;
112
+ deleteMany?: string;
113
+ }
114
+ export interface TabelSharedConfig<Item> {
115
+ keys?: DataKeyConfig;
116
+ formDesign?: FormDesign;
117
+ submitOption?: SubmitAuthOptionMap<Item>;
118
+ feature?: TabelFeatureToggles;
119
+ pagination?: TabelPagination;
120
+ validation?: TabelValidationSchema<Item>;
121
+ manual?: TabelManualControl;
122
+ endPoints?: TabelEndpoints;
123
+ }
124
+ export interface TabelDataProperty<Item> extends TabelSharedConfig<Item> {
125
+ base: Omit<BaseConfig<Item>, 'data'>;
126
+ }
127
+ export interface TabelDataConfig<Item> extends TabelSharedConfig<Item> {
128
+ base: BaseConfig<Item>;
129
+ data?: any;
130
+ }
@@ -0,0 +1 @@
1
+ export * from './submitData';
@@ -0,0 +1,2 @@
1
+ import { SubmitOptions, Schema } from '../index';
2
+ export declare const submitData: <T extends Record<string, any>>(options: SubmitOptions<T>, schema?: Schema, idKey?: string, idsKey?: string) => Promise<any>;
@@ -0,0 +1,5 @@
1
+ export interface ClientLocaleInfo {
2
+ locale: string;
3
+ timeZone: string;
4
+ }
5
+ export declare function getClientLocaleAndTimeZone(fallbackLocale?: string, fallbackTimeZone?: string): ClientLocaleInfo;
@@ -0,0 +1,3 @@
1
+ export * from './clientInfo';
2
+ export * from './locale';
3
+ export * from './message';
@@ -0,0 +1,3 @@
1
+ export declare const formatDate: (val: string) => string;
2
+ export declare const formatTime: (val: string) => string;
3
+ export declare const formatDateTime: (val: string) => string;
@@ -0,0 +1,2 @@
1
+ import { inputMessages, SupportedLanguage } from '..';
2
+ export declare function getMessage(key: keyof typeof inputMessages, vars?: Record<string, string | number>, lang?: SupportedLanguage): string;
@@ -0,0 +1,8 @@
1
+ export * from './components';
2
+ export * from './configs';
3
+ export * from './validate';
4
+ export * from './lib';
5
+ export * from './untils';
6
+ export * from './helpers';
7
+ export * from './fetch';
8
+ export * from './schemas';
@@ -0,0 +1,2 @@
1
+ import { JsgdVuePackConfig } from './configs';
2
+ export default function initialize(configs?: JsgdVuePackConfig): void;
@@ -0,0 +1,2 @@
1
+ export * from './indexedDB';
2
+ export * from './secureFetch';
@@ -0,0 +1,29 @@
1
+ type IndexedDBConfig<S extends string, A extends string> = {
2
+ dbName?: string;
3
+ dbVersion?: number;
4
+ storeSingle?: S[];
5
+ storeArray?: A[];
6
+ };
7
+ export declare function configureIndexedDB<S extends string, A extends string>(config: IndexedDBConfig<S, A>): void;
8
+ export declare function isStoreArray(store: string): store is StoreArray;
9
+ export type StoreSingle = string;
10
+ export type StoreArray = string;
11
+ export type StoreName = StoreSingle | StoreArray;
12
+ export declare function saveToIndexedDB(data: Record<string, any>): Promise<void>;
13
+ export declare function getSingleFromIndexedDB<T = any>(storeName: StoreSingle, key?: string): Promise<T | undefined>;
14
+ export declare function getFromIndexedDB<T = any>(storeName: StoreArray): Promise<T[]>;
15
+ export declare function updateItemInStore<T = any>(storeName: StoreArray, item: T): Promise<void>;
16
+ export declare function getItemById<T = any>(storeName: StoreArray, id: string | number): Promise<T | undefined>;
17
+ export declare function clearStore(storeName: StoreName): Promise<void>;
18
+ /**
19
+ * Menghapus satu item dari store 'array' berdasarkan ID-nya.
20
+ * @param storeName Nama store (harus tipe array).
21
+ * @param id ID dari item yang akan dihapus.
22
+ */
23
+ export declare function deleteItemFromStore(storeName: StoreArray, id: string | number): Promise<void>;
24
+ /**
25
+ * Menghapus beberapa item dari beberapa store sekaligus.
26
+ * @param data Objek di mana key adalah nama store dan value adalah ID atau array ID yang akan dihapus.
27
+ */
28
+ export declare function removeFromIndexedDB(data: Record<string, number[] | number>): Promise<void>;
29
+ export {};
@@ -0,0 +1,8 @@
1
+ type AuthType = 'cookie' | 'bearer' | 'none' | 'custom';
2
+ interface SecureFetchOptions extends RequestInit {
3
+ authType?: AuthType;
4
+ token?: string;
5
+ customHeaders?: Record<string, string>;
6
+ }
7
+ export declare function secureFetch(input: RequestInfo, options?: SecureFetchOptions): Promise<any>;
8
+ export {};
@@ -0,0 +1,3 @@
1
+ import { Plugin } from 'vue';
2
+ declare const JsgdComponents: Plugin;
3
+ export default JsgdComponents;
@@ -0,0 +1,2 @@
1
+ import { Schema } from '..';
2
+ export declare const TestSchema: Schema;
@@ -0,0 +1 @@
1
+ export * from './TestSchema';
@@ -0,0 +1,4 @@
1
+ export * from './math';
2
+ export * from './misc';
3
+ export * from './objectPath';
4
+ export * from './regex';
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Menghitung Faktor Persekutuan Terbesar (FPB) atau Greatest Common Divisor (GCD).
3
+ * Fungsi ini penting untuk menyederhanakan pecahan atau rasio.
4
+ * @param a - Angka pertama.
5
+ * @param b - Angka kedua.
6
+ * @returns FPB dari a dan b.
7
+ */
8
+ export declare function gcd(a: number, b: number): number;
9
+ /**
10
+ * Menyederhanakan lebar dan tinggi ke rasio terkecil dalam bentuk angka.
11
+ * Contoh: simplifyRatio(1920, 1080) akan menghasilkan { w: 16, h: 9 }
12
+ * @param w - Lebar (width).
13
+ * @param h - Tinggi (height).
14
+ * @returns Objek yang berisi lebar dan tinggi yang telah disederhanakan.
15
+ */
16
+ export declare function simplifyRatio(w: number, h: number): {
17
+ w: number;
18
+ h: number;
19
+ };
20
+ /**
21
+ * Mendapatkan string rasio yang paling sesuai.
22
+ * Fungsi ini akan mencoba mencocokkan dengan rasio umum (16:9, 4:3, dll.).
23
+ * Jika tidak ada yang cocok, fungsi akan mengembalikan rasio dinamis yang paling sederhana.
24
+ * @param w - Lebar (width).
25
+ * @param h - Tinggi (height).
26
+ * @returns String rasio, contoh: "16:9" atau "20:3".
27
+ */
28
+ export declare function getCommonRatio(w: number, h: number): string;
@@ -0,0 +1,3 @@
1
+ export declare function setUID(): string;
2
+ export declare function isSameMessage(a: string | string[] | undefined, b: string | string[]): boolean;
3
+ export declare function hasAnyError(val: unknown): boolean;
@@ -0,0 +1,5 @@
1
+ export declare function getNested(obj: any, path: string): any;
2
+ export declare function setNested(obj: any, path: string, value: any): void;
3
+ export declare function unsetNested(obj: any, path: string): void;
4
+ export declare function deleteNestedAndCleanup(obj: any, path: string): void;
5
+ export declare function normalizeKey(key: string, keyRemove?: string): string;
@@ -0,0 +1,8 @@
1
+ import { DateOnly, TimeOnly, DateTimeString } from '..';
2
+ export declare const emailRegex: RegExp;
3
+ export declare const DATE_REGEX: RegExp;
4
+ export declare const TIME_REGEX: RegExp;
5
+ export declare const DATETIME_REGEX: RegExp;
6
+ export declare function toDateOnly(value: string): DateOnly;
7
+ export declare function toTimeOnly(value: string): TimeOnly;
8
+ export declare function toDateTimeString(value: string): DateTimeString;