@jsg-developer/vue-pack 0.0.3 → 0.0.5

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 (113) hide show
  1. package/dist/ArrayObject-Cb0A6NL-.cjs +1 -0
  2. package/dist/ArrayObject-G-w4_LdV.js +4 -0
  3. package/dist/ColorPicker-BOU6KGlX.cjs +1 -0
  4. package/dist/ColorPicker-_HBqDi2i.js +4 -0
  5. package/dist/ComboboxComponent-BKzDSOlW.cjs +1 -0
  6. package/dist/ComboboxComponent-dHzbOpla.js +4 -0
  7. package/dist/CurrencyInput-BkEubeqv.js +4 -0
  8. package/dist/CurrencyInput-BoLzCKBI.cjs +1 -0
  9. package/dist/DEPENDENCY-LICENSES.txt +1 -96
  10. package/dist/DateInput-BOmJIkVs.js +4 -0
  11. package/dist/DateInput-CkwXQGkB.cjs +1 -0
  12. package/dist/DateTimeInput-COgGqch6.cjs +1 -0
  13. package/dist/DateTimeInput-Cy3evqKy.js +4 -0
  14. package/dist/DateTimeInput.vue_vue_type_script_setup_true_lang-PkNDbgK0.cjs +2 -0
  15. package/dist/DateTimeInput.vue_vue_type_script_setup_true_lang-T42eSMbp.js +142 -0
  16. package/dist/EmailInput-BFMPoqlz.js +4 -0
  17. package/dist/EmailInput-BH6wvnu5.cjs +1 -0
  18. package/dist/FileArrayInput-Cf_9Mrc6.js +5 -0
  19. package/dist/FileArrayInput-Crgama_k.cjs +1 -0
  20. package/dist/FileArrayInput.vue_vue_type_script_setup_true_lang-ChT-nLrY.js +198 -0
  21. package/dist/FileArrayInput.vue_vue_type_script_setup_true_lang-IBxome2w.cjs +2 -0
  22. package/dist/FileInput-Cv5K7drD.js +4 -0
  23. package/dist/FileInput-E05E9FcK.cjs +1 -0
  24. package/dist/GroupRenderer-BNf5s8mD.cjs +1 -0
  25. package/dist/GroupRenderer-CIgOBN5K.js +4 -0
  26. package/dist/ImageArrayInput-8Qgrvcbb.cjs +1 -0
  27. package/dist/ImageArrayInput-BPCMsKu1.js +5 -0
  28. package/dist/ImageArrayInput.vue_vue_type_script_setup_true_lang-BcE8UQhP.cjs +2 -0
  29. package/dist/ImageArrayInput.vue_vue_type_script_setup_true_lang-D7NOHKcL.js +322 -0
  30. package/dist/ImageInput-B4APQoOO.js +4 -0
  31. package/dist/ImageInput-Mj7_sYYX.cjs +1 -0
  32. package/dist/NumberInput-ClvWuXot.cjs +1 -0
  33. package/dist/NumberInput-Czd4poVa.js +4 -0
  34. package/dist/ObjectInput-CjB0V2zR.js +4 -0
  35. package/dist/ObjectInput-DjSJwhGr.cjs +1 -0
  36. package/dist/PasswordInput-DRh06StM.js +4 -0
  37. package/dist/PasswordInput-DTfrmgOD.cjs +1 -0
  38. package/dist/RateInput-BtyyMCbk.cjs +1 -0
  39. package/dist/RateInput-D5fJbQZN.js +4 -0
  40. package/dist/TabelData-BYu-G2SR.cjs +1 -0
  41. package/dist/TabelData-Dh93tqPE.js +2437 -0
  42. package/dist/TagInput-BzVaBoUE.cjs +1 -0
  43. package/dist/TagInput-CCAXe9xT.js +4 -0
  44. package/dist/TelInput-CbIiq52O.js +4 -0
  45. package/dist/TelInput-mPzO-Dus.cjs +1 -0
  46. package/dist/TextAreaInput-CfYiwJ4X.js +4 -0
  47. package/dist/TextAreaInput-Cs1aCwDH.cjs +1 -0
  48. package/dist/TextAreaQuill-DnN9J7_3.cjs +1 -0
  49. package/dist/TextAreaQuill-qInAEeeB.js +600 -0
  50. package/dist/TextInput-BlJmRFwH.cjs +1 -0
  51. package/dist/TextInput-DK78fqLR.js +4 -0
  52. package/dist/TimeInput-BrjXbwHE.cjs +1 -0
  53. package/dist/TimeInput-fS0dhh7j.js +4 -0
  54. package/dist/ToggleInput-CCNu8DT9.cjs +1 -0
  55. package/dist/ToggleInput-Dz5NPH5L.js +4 -0
  56. package/dist/UrlInput-BVJivcaK.js +4 -0
  57. package/dist/UrlInput-BbVaLK_E.cjs +1 -0
  58. package/dist/init.cjs.js +1 -1
  59. package/dist/init.es.js +1 -1
  60. package/dist/jsgd-vue-pack.cjs.js +1 -1
  61. package/dist/jsgd-vue-pack.es.js +1640 -310
  62. package/dist/plugin/vue.cjs.js +1 -1
  63. package/dist/plugin/vue.es.js +48 -41
  64. package/dist/resize-B2mDlzAG.cjs +12 -0
  65. package/dist/resize-DgY2sl-h.js +5942 -0
  66. package/dist/types/components/Form/composables/useFormModal.d.ts +9 -0
  67. package/dist/types/components/Tabel/TabelData.vue.d.ts +5 -4
  68. package/dist/types/components/Tabel/composables/useDisplayHelpers.d.ts +21 -0
  69. package/dist/types/components/Tabel/composables/useTableLogic.d.ts +0 -1
  70. package/dist/types/components/UI/Feedback/WarningForm.vue.d.ts +1 -1
  71. package/dist/types/components/UI/Inputs/CurrencyInput.vue.d.ts +13 -0
  72. package/dist/types/components/UI/Inputs/FileInput.vue.d.ts +2 -2
  73. package/dist/types/components/UI/Inputs/ImageInput.vue.d.ts +2 -2
  74. package/dist/types/components/UI/Inputs/RateInput.vue.d.ts +9 -0
  75. package/dist/types/components/UI/Inputs/TelInput.vue.d.ts +13 -0
  76. package/dist/types/components/UI/Inputs/TextAreaQuill.vue.d.ts +3 -3
  77. package/dist/types/components/UI/Inputs/components/QuillAltModal.vue.d.ts +12 -0
  78. package/dist/types/components/UI/Inputs/components/QuillEmbedModal.vue.d.ts +23 -0
  79. package/dist/types/components/UI/Inputs/composables/index.d.ts +1 -0
  80. package/dist/types/components/UI/Inputs/composables/useCurrencyInput.d.ts +11 -0
  81. package/dist/types/components/UI/Inputs/index.d.ts +3 -0
  82. package/dist/types/configs/types/field.types.d.ts +50 -4
  83. package/dist/types/configs/types/globalText.types.d.ts +2 -1
  84. package/dist/types/configs/types/props.types.d.ts +53 -2
  85. package/dist/types/configs/types/schema.types.d.ts +3 -2
  86. package/dist/types/configs/types/table-data.types.d.ts +3 -11
  87. package/dist/types/lib/demoData.d.ts +313 -0
  88. package/dist/types/lib/index.d.ts +1 -0
  89. package/dist/types/schemas/CQ.d.ts +2 -0
  90. package/dist/types/schemas/TestSchema.d.ts +2 -1
  91. package/dist/types/schemas/categories.d.ts +2 -0
  92. package/dist/types/schemas/colors.d.ts +2 -0
  93. package/dist/types/schemas/expenditure.d.ts +2 -0
  94. package/dist/types/schemas/income.d.ts +9 -0
  95. package/dist/types/schemas/index.d.ts +16 -1
  96. package/dist/types/schemas/model.d.ts +2 -0
  97. package/dist/types/schemas/news.d.ts +2 -0
  98. package/dist/types/schemas/order.d.ts +2 -0
  99. package/dist/types/schemas/page.d.ts +2 -0
  100. package/dist/types/schemas/promo.d.ts +2 -0
  101. package/dist/types/schemas/qna.d.ts +2 -0
  102. package/dist/types/schemas/rate.d.ts +2 -0
  103. package/dist/types/schemas/service.d.ts +2 -0
  104. package/dist/types/schemas/subTools.d.ts +2 -0
  105. package/dist/types/schemas/tools.d.ts +2 -0
  106. package/dist/types/untils/regex.d.ts +1 -0
  107. package/dist/types/validate/validate.d.ts +2 -2
  108. package/dist/vue-pack.css +1 -1
  109. package/package.json +11 -4
  110. package/dist/TabelData-B6yN5ZQs.cjs +0 -1
  111. package/dist/TabelData-BPjJ27Uj.js +0 -2219
  112. package/dist/quill.snow-BF_lta84.cjs +0 -15
  113. package/dist/quill.snow-DiPGvD5E.js +0 -6399
@@ -1,5 +1,13 @@
1
1
  import { Ref, ComputedRef } from 'vue';
2
2
  import { Schema, Errors, FormData, FromModalProps, GlobalDefaultText } from '../../../configs/types';
3
+ export interface SeoAnalysisResult {
4
+ score: number;
5
+ details: {
6
+ passed: boolean;
7
+ message: string;
8
+ label: string;
9
+ }[];
10
+ }
3
11
  interface FormModalComposable {
4
12
  formData: Ref<FormData>;
5
13
  errors: Ref<Errors>;
@@ -8,6 +16,7 @@ interface FormModalComposable {
8
16
  multiSelected: Ref<Record<string, string[]>>;
9
17
  DataChildRemove: Ref<number[]>;
10
18
  isSubmitting: Ref<boolean>;
19
+ seoResult: Ref<SeoAnalysisResult | null>;
11
20
  initializeFormData: (schema: Schema) => void;
12
21
  validate: () => boolean;
13
22
  handleSubmit: () => void;
@@ -1,7 +1,8 @@
1
- import { Alert } from '../UI/Feedback/AlertApp.vue';
2
1
  import { FormData, TabelDataProperty, Item, CustomAction } from '../../configs/types';
3
2
  type __VLS_Props = TabelDataProperty<Item>;
4
- declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
3
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {
4
+ refreshData: () => Promise<void>;
5
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
5
6
  create: () => any;
6
7
  delete: (value: number) => any;
7
8
  deleteMany: (value: number[]) => any;
@@ -55,7 +56,7 @@ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {
55
56
  hide: () => void;
56
57
  }, {}, {}, {}, {}> | null;
57
58
  alert: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{}> & Readonly<{}>, {
58
- addAlert: (alert: Alert) => void;
59
+ addAlert: (alert: import('../UI/Feedback/AlertApp.vue').Alert) => void;
59
60
  }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, {}, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {
60
61
  alertRefs: HTMLDivElement[];
61
62
  }, any, import('vue').ComponentProvideOptions, {
@@ -66,7 +67,7 @@ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {
66
67
  M: {};
67
68
  Defaults: {};
68
69
  }, Readonly<{}> & Readonly<{}>, {
69
- addAlert: (alert: Alert) => void;
70
+ addAlert: (alert: import('../UI/Feedback/AlertApp.vue').Alert) => void;
70
71
  }, {}, {}, {}, {}> | null;
71
72
  }, HTMLDivElement>;
72
73
  export default _default;
@@ -1,8 +1,29 @@
1
1
  import { Item } from '../../../configs/types';
2
+ /**
3
+ * Memeriksa apakah nilai adalah URL gambar atau objek File gambar.
4
+ */
2
5
  export declare function isImage(value: any): boolean;
6
+ /**
7
+ * Memeriksa apakah nilai adalah URL file (non-gambar) atau objek File.
8
+ */
9
+ export declare function isFile(value: any): boolean;
10
+ /**
11
+ * Mendapatkan sumber URL yang valid untuk gambar, baik dari string maupun objek File.
12
+ */
3
13
  export declare function getImageSource(value: any): string;
14
+ /**
15
+ * Mendapatkan nama file dari URL atau objek File.
16
+ */
17
+ export declare function getFileName(value: string | File): string;
18
+ /**
19
+ * Memeriksa apakah nilai adalah array yang berisi gambar.
20
+ */
4
21
  export declare function isImageArray(value: any): boolean;
5
22
  export declare function isColorArray(value: any): boolean;
23
+ /**
24
+ * Memeriksa apakah nilai adalah array yang berisi file.
25
+ */
26
+ export declare function isFileArray(value: any): boolean;
6
27
  export declare function isColor(value: any): boolean;
7
28
  export declare function isHtml(value: string): boolean;
8
29
  export declare function displayItem(item: Item): Record<string, any>;
@@ -24,7 +24,6 @@ export declare function useTableLogic<TEmit extends (event: any, ...args: any[])
24
24
  sortBy: (field: string) => void;
25
25
  prevPage: () => void;
26
26
  nextPage: () => void;
27
- summarizeValue: (val: any) => string;
28
27
  setUpData: () => Promise<void>;
29
28
  getValueByPath: (obj: any, path: string) => any;
30
29
  toTitleCase: (str: string) => string;
@@ -10,8 +10,8 @@ declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, imp
10
10
  onClose?: (() => any) | undefined;
11
11
  onConfirm?: (() => any) | undefined;
12
12
  }>, {
13
- message: string;
14
13
  title: string;
14
+ message: string;
15
15
  isGreen: boolean;
16
16
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
17
17
  export default _default;
@@ -0,0 +1,13 @@
1
+ import { CurrencyInputProps } from '../../../configs/types';
2
+ declare const _default: import('vue').DefineComponent<CurrencyInputProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
3
+ "update:modelValue": (value: number | null, key: string) => any;
4
+ "push:error": (message: string[], key: string) => any;
5
+ "remove:error": (key: string) => any;
6
+ }, string, import('vue').PublicProps, Readonly<CurrencyInputProps> & Readonly<{
7
+ "onUpdate:modelValue"?: ((value: number | null, key: string) => any) | undefined;
8
+ "onPush:error"?: ((message: string[], key: string) => any) | undefined;
9
+ "onRemove:error"?: ((key: string) => any) | undefined;
10
+ }>, {
11
+ id: string;
12
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
13
+ export default _default;
@@ -1,10 +1,10 @@
1
1
  import { FileInputProps } from '../../../configs/types';
2
2
  declare const _default: import('vue').DefineComponent<FileInputProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
3
- "update:modelValue": (value: File | null, key: string) => any;
3
+ "update:modelValue": (value: string | File | null, key: string) => any;
4
4
  "push:error": (message: string[], key: string) => any;
5
5
  "remove:error": (key: string) => any;
6
6
  }, string, import('vue').PublicProps, Readonly<FileInputProps> & Readonly<{
7
- "onUpdate:modelValue"?: ((value: File | null, key: string) => any) | undefined;
7
+ "onUpdate:modelValue"?: ((value: string | File | null, key: string) => any) | undefined;
8
8
  "onPush:error"?: ((message: string[], key: string) => any) | undefined;
9
9
  "onRemove:error"?: ((key: string) => any) | undefined;
10
10
  }>, {
@@ -1,10 +1,10 @@
1
1
  import { ImageInputProps } from '../../../index';
2
2
  declare const _default: import('vue').DefineComponent<ImageInputProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
3
- "update:modelValue": (value: File | null, key: string) => any;
3
+ "update:modelValue": (value: string | File | null, key: string) => any;
4
4
  "push:error": (message: string[], key: string) => any;
5
5
  "remove:error": (key: string) => any;
6
6
  }, string, import('vue').PublicProps, Readonly<ImageInputProps> & Readonly<{
7
- "onUpdate:modelValue"?: ((value: File | null, key: string) => any) | undefined;
7
+ "onUpdate:modelValue"?: ((value: string | File | null, key: string) => any) | undefined;
8
8
  "onPush:error"?: ((message: string[], key: string) => any) | undefined;
9
9
  "onRemove:error"?: ((key: string) => any) | undefined;
10
10
  }>, {
@@ -0,0 +1,9 @@
1
+ import { RateInputProps } from '../../../configs/types';
2
+ declare const _default: import('vue').DefineComponent<RateInputProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
3
+ "update:modelValue": (value: number | null, key: string) => any;
4
+ }, string, import('vue').PublicProps, Readonly<RateInputProps> & Readonly<{
5
+ "onUpdate:modelValue"?: ((value: number | null, key: string) => any) | undefined;
6
+ }>, {
7
+ id: string;
8
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
9
+ export default _default;
@@ -0,0 +1,13 @@
1
+ import { TelInputProps } from '../../../configs/types';
2
+ declare const _default: import('vue').DefineComponent<TelInputProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
3
+ "update:modelValue": (value: string, key: string) => any;
4
+ "push:error": (message: string[], key: string) => any;
5
+ "remove:error": (key: string) => any;
6
+ }, string, import('vue').PublicProps, Readonly<TelInputProps> & Readonly<{
7
+ "onUpdate:modelValue"?: ((value: string, key: string) => any) | undefined;
8
+ "onPush:error"?: ((message: string[], key: string) => any) | undefined;
9
+ "onRemove:error"?: ((key: string) => any) | undefined;
10
+ }>, {
11
+ id: string;
12
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
13
+ export default _default;
@@ -1,9 +1,9 @@
1
- import { RichTextProps } from '../../../index';
2
- declare const _default: import('vue').DefineComponent<RichTextProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
1
+ import { TextEdiorQuillProps } from '../../../index';
2
+ declare const _default: import('vue').DefineComponent<TextEdiorQuillProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
3
3
  "update:modelValue": (value: string, key: string) => any;
4
4
  "push:error": (message: string[], key: string) => any;
5
5
  "remove:error": (key: string) => any;
6
- }, string, import('vue').PublicProps, Readonly<RichTextProps> & Readonly<{
6
+ }, string, import('vue').PublicProps, Readonly<TextEdiorQuillProps> & Readonly<{
7
7
  "onUpdate:modelValue"?: ((value: string, key: string) => any) | undefined;
8
8
  "onPush:error"?: ((message: string[], key: string) => any) | undefined;
9
9
  "onRemove:error"?: ((key: string) => any) | undefined;
@@ -0,0 +1,12 @@
1
+ type __VLS_Props = {
2
+ show: boolean;
3
+ initialValue?: string;
4
+ };
5
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
6
+ submit: (value: string) => any;
7
+ close: () => any;
8
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
9
+ onSubmit?: ((value: string) => any) | undefined;
10
+ onClose?: (() => any) | undefined;
11
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
12
+ export default _default;
@@ -0,0 +1,23 @@
1
+ type __VLS_Props = {
2
+ show: boolean;
3
+ mode: 'image' | 'video' | 'link';
4
+ uploadUrl?: string;
5
+ initialValue?: string;
6
+ initialText?: string;
7
+ };
8
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
9
+ submit: (payload: {
10
+ url: string;
11
+ alt?: string;
12
+ text?: string;
13
+ }) => any;
14
+ close: () => any;
15
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
16
+ onSubmit?: ((payload: {
17
+ url: string;
18
+ alt?: string;
19
+ text?: string;
20
+ }) => any) | undefined;
21
+ onClose?: (() => any) | undefined;
22
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
23
+ export default _default;
@@ -1,3 +1,4 @@
1
1
  export * from './useArrayObject';
2
2
  export * from './useSchemaGroupRenderer';
3
3
  export * from './useSingleObject';
4
+ export * from './useCurrencyInput';
@@ -0,0 +1,11 @@
1
+ import { CurrencyInputProps } from '../../../../configs/types';
2
+ type CurrencyEmit = {
3
+ (e: 'update:modelValue', value: number | null, key: string): void;
4
+ };
5
+ export declare function useCurrencyInput(props: CurrencyInputProps, emit: CurrencyEmit): {
6
+ formattedValue: import('vue').ComputedRef<string>;
7
+ currencySymbol: import('vue').ComputedRef<string>;
8
+ onInput: (event: Event) => void;
9
+ onBlur: () => void;
10
+ };
11
+ export {};
@@ -1,6 +1,8 @@
1
1
  export { default as ArrayObjectInput } from './ArrayObject.vue';
2
2
  export { default as ColorInput } from './ColorPicker.vue';
3
3
  export { default as SelectedOptions } from './ComboboxComponent.vue';
4
+ export { default as CurrencyInput } from './CurrencyInput.vue';
5
+ export { default as RateInput } from './RateInput.vue';
4
6
  export { default as DateInput } from './DateInput.vue';
5
7
  export { default as DateTimeInput } from './DateTimeInput.vue';
6
8
  export { default as EmailInput } from './EmailInput.vue';
@@ -14,6 +16,7 @@ export { default as ObjectInput } from './ObjectInput.vue';
14
16
  export { default as PasswordInput } from './PasswordInput.vue';
15
17
  export { default as TagInput } from './TagInput.vue';
16
18
  export { default as TextAreaInput } from './TextAreaInput.vue';
19
+ export { default as TelInput } from './TelInput.vue';
17
20
  export { default as TextAreaQuillInput } from './TextAreaQuill.vue';
18
21
  export { default as TextInput } from './TextInput.vue';
19
22
  export { default as TimeInput } from './TimeInput.vue';
@@ -1,7 +1,7 @@
1
1
  import { DataKeyConfig, Item, SubmitAuthOptionMap, Schema, XOR, DateOnly, TimeOnly, DateTimeString } from '../..';
2
2
  export declare const ImageTypes: readonly ["png", "jpg", "jpeg", "gif", "bmp", "webp", "heif", "heic", "tiff", "tif", "svg", "avif", "ico", "jfif"];
3
3
  export type ImageType = (typeof ImageTypes)[number];
4
- export declare const fieldTypes: readonly ["text", "email", "password", "number", "image", "color", "select", "arrayObject", "richText", "optionGroupSchema", "tag", "object", "url", "toggle", "date", "time", "dateTime", "imageArray", "file", "fileArray", "textArea"];
4
+ export declare const fieldTypes: readonly ["text", "email", "password", "number", "image", "color", "select", "arrayObject", "quillEditor", "optionGroupSchema", "tag", "object", "url", "toggle", "date", "time", "dateTime", "imageArray", "file", "fileArray", "textArea", "currency", "rate", "tel"];
5
5
  export declare const formDesign: readonly ["form", "news"];
6
6
  export type FieldType = (typeof fieldTypes)[number];
7
7
  export type FormDesign = (typeof formDesign)[number];
@@ -40,7 +40,7 @@ export interface TextField extends BaseField {
40
40
  type: 'text';
41
41
  placeholder?: string;
42
42
  validate?: {
43
- duplicate: (string | number)[] | boolean;
43
+ duplicate?: (string | number)[] | boolean;
44
44
  minLength?: number;
45
45
  maxLength?: number;
46
46
  pattern?: string;
@@ -65,6 +65,29 @@ export interface PasswordField extends BaseField {
65
65
  requireSpecialChar?: boolean;
66
66
  };
67
67
  }
68
+ export interface CurrencyField extends BaseField {
69
+ type: 'currency';
70
+ placeholder?: string;
71
+ validate?: {
72
+ min?: number;
73
+ max?: number;
74
+ };
75
+ }
76
+ export interface RateField extends BaseField {
77
+ type: 'rate';
78
+ validate?: {
79
+ min?: number;
80
+ max?: number;
81
+ };
82
+ }
83
+ export interface TelField extends BaseField {
84
+ type: 'tel';
85
+ placeholder?: string;
86
+ validate?: {
87
+ min?: number;
88
+ max?: number;
89
+ };
90
+ }
68
91
  export interface NumberField extends BaseField {
69
92
  type: 'number';
70
93
  placeholder?: string;
@@ -75,13 +98,36 @@ export interface NumberField extends BaseField {
75
98
  duplicate?: (string | number)[] | boolean;
76
99
  };
77
100
  }
78
- export interface RichTextField extends BaseField {
79
- type: 'richText';
101
+ export interface SeoFieldMapping {
102
+ sendSeo?: boolean;
103
+ title: string;
104
+ description: string;
105
+ news?: string;
106
+ slug?: string;
107
+ focusKeyword?: string;
108
+ tags?: string;
109
+ image?: string;
110
+ author?: string;
111
+ publishedAt?: string;
112
+ canonical?: string;
113
+ }
114
+ export interface SeoAnalysisResult {
115
+ score: number;
116
+ details: {
117
+ passed: boolean;
118
+ message: string;
119
+ label: string;
120
+ }[];
121
+ }
122
+ export interface QuillEditorField extends BaseField {
123
+ type: 'quillEditor';
80
124
  placeholder?: string;
81
125
  validate?: {
82
126
  minLength?: number;
83
127
  maxLength?: number;
84
128
  };
129
+ apiUploadImage?: string;
130
+ apiUploadVideo?: string;
85
131
  }
86
132
  export interface DateField extends BaseField {
87
133
  type: 'date';
@@ -15,7 +15,7 @@ export interface GlobalDefaultText {
15
15
  number: string;
16
16
  array: string;
17
17
  select: string;
18
- richText: string;
18
+ quillEditor: string;
19
19
  password: string;
20
20
  email: string;
21
21
  tag: string;
@@ -73,6 +73,7 @@ export interface GlobalDefaultText {
73
73
  deleteMany: string;
74
74
  create: string;
75
75
  update: string;
76
+ upload: string;
76
77
  display: string;
77
78
  next: string;
78
79
  prev: string;
@@ -1,4 +1,4 @@
1
- import { SupportedLanguage, Errors, Schema, SubmitAuthOptionMap, Item, DataKeyConfig, DateOnly, DateTimeString, TimeOnly, ImageType, XOR } from '../../index';
1
+ import { SupportedLanguage, Errors, Schema, SubmitAuthOptionMap, Item, DataKeyConfig, DateOnly, DateTimeString, TimeOnly, ImageType, XOR, SeoFieldMapping } from '../../index';
2
2
  export interface SchemaGroupRendererProps {
3
3
  id: string;
4
4
  label?: string;
@@ -69,6 +69,28 @@ export interface TextInputProps {
69
69
  };
70
70
  lang?: SupportedLanguage;
71
71
  }
72
+ export interface RateInputProps {
73
+ id?: string;
74
+ label: string;
75
+ modelValue?: number;
76
+ error?: string | string[];
77
+ disabled?: boolean;
78
+ validate?: {
79
+ min?: number;
80
+ max?: number;
81
+ };
82
+ lang?: SupportedLanguage;
83
+ }
84
+ export interface TelInputProps {
85
+ id?: string;
86
+ label: string;
87
+ placeholder?: string;
88
+ modelValue?: string;
89
+ error?: string | string[];
90
+ disabled?: boolean;
91
+ validate?: Record<string, any>;
92
+ lang?: SupportedLanguage;
93
+ }
72
94
  export interface DateInputProps {
73
95
  id?: string;
74
96
  label: string;
@@ -108,6 +130,19 @@ export interface DateTimeInputProps {
108
130
  };
109
131
  lang?: SupportedLanguage;
110
132
  }
133
+ export interface CurrencyInputProps {
134
+ id?: string;
135
+ label: string;
136
+ placeholder?: string;
137
+ modelValue?: number;
138
+ error?: string | string[];
139
+ disabled?: boolean;
140
+ validate?: {
141
+ min?: number;
142
+ max?: number;
143
+ };
144
+ lang?: SupportedLanguage;
145
+ }
111
146
  export interface NumberInputProps {
112
147
  id?: string;
113
148
  label: string;
@@ -187,7 +222,20 @@ export interface BaseInputProps {
187
222
  };
188
223
  lang?: SupportedLanguage;
189
224
  }
190
- export interface RichTextProps {
225
+ export interface QuillEditorProps {
226
+ id?: string;
227
+ label?: string;
228
+ placeholder?: string;
229
+ modelValue?: string;
230
+ error?: string | string[];
231
+ disabled?: boolean;
232
+ lang?: SupportedLanguage;
233
+ validate?: {
234
+ minLength?: number;
235
+ maxLength?: number;
236
+ };
237
+ }
238
+ export interface TextEdiorQuillProps {
191
239
  id?: string;
192
240
  label?: string;
193
241
  placeholder?: string;
@@ -199,6 +247,8 @@ export interface RichTextProps {
199
247
  minLength?: number;
200
248
  maxLength?: number;
201
249
  };
250
+ apiUploadImage?: string;
251
+ apiUploadVideo?: string;
202
252
  }
203
253
  export interface TextAreaProps {
204
254
  id?: string;
@@ -339,6 +389,7 @@ export interface FromModalProps {
339
389
  schema: Schema;
340
390
  isUpdate?: boolean;
341
391
  lang?: SupportedLanguage;
392
+ seo?: SeoFieldMapping;
342
393
  demo?: boolean;
343
394
  }
344
395
  export interface ColorPickerProps {
@@ -1,11 +1,12 @@
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;
1
+ import { TextField, ImageField, ColorField, EmailField, PasswordField, NumberField, SelectField, ArrayObjectField, OptionGroupField, QuillEditorField, TagField, UrlField, ToggleField, ImageArrayField, FileArrayField, ObjectField, TextAreaField, DateField, TimeField, DateTimeField, FileField, XOR, CurrencyField, RateField, TelField } from '../../index';
2
+ export type Field = TextField | ImageArrayField | NumberField | FileArrayField | ImageField | ColorField | SelectField | EmailField | PasswordField | ArrayObjectField | UrlField | ToggleField | DateField | ObjectField | TimeField | QuillEditorField | DateTimeField | TagField | FileField | TextAreaField | OptionGroupField | CurrencyField | RateField | TelField;
3
3
  export type Schema = Record<string, Field>;
4
4
  export type FormData = Record<string, any>;
5
5
  export type Errors = Record<string, any>;
6
6
  export type DataView = Record<string, string | dataProperty>;
7
7
  export interface dataProperty {
8
8
  valueKey: string;
9
+ type: 'image' | 'file' | 'url' | 'rate' | 'seo' | 'color' | 'date' | 'time' | 'dateTime' | 'text' | 'number' | 'email' | 'password' | 'currency' | 'textarea' | 'richtext' | 'select' | 'multiSelect' | 'boolean' | 'arrayObject' | 'arrayColor' | 'arrayImage' | 'arrayFile' | 'arrayUrl' | 'arrayNumber' | 'arrayText' | 'tag' | 'tel' | 'rate';
9
10
  connect?: XOR<{
10
11
  withDB: {
11
12
  DB_NAME: string;
@@ -1,5 +1,5 @@
1
1
  import { ZodType } from 'zod';
2
- import { DataView, Schema, FormDesign, SubmitAuthOptionMap, SupportedLanguage, XOR } from '../../index';
2
+ import { DataView, Schema, FormDesign, SubmitAuthOptionMap, SupportedLanguage, XOR, SeoFieldMapping } from '../../index';
3
3
  export interface BaseConfig<Item> {
4
4
  source: XOR<{
5
5
  DB_NAME: string;
@@ -30,8 +30,10 @@ export interface BaseConfig<Item> {
30
30
  justTabel?: boolean;
31
31
  lang?: SupportedLanguage;
32
32
  schema: FormSchema;
33
+ seoDisplay?: string;
33
34
  }
34
35
  export interface FormSchema {
36
+ SeoDisplay?: SeoFieldMapping;
35
37
  global?: Schema;
36
38
  display?: Schema;
37
39
  create?: Schema;
@@ -73,16 +75,6 @@ export interface TabelFeatureToggles {
73
75
  displayActive?: boolean;
74
76
  JustTabel?: boolean;
75
77
  }
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
78
  export interface TabelManualControl {
87
79
  create?: boolean;
88
80
  update?: boolean;