@open-xamu-co/ui-common-types 4.0.0-next.2 → 4.0.0-next.4

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@open-xamu-co/ui-common-types",
3
- "version": "4.0.0-next.2",
3
+ "version": "4.0.0-next.4",
4
4
  "description": "Xamu shared types",
5
5
  "author": "@xamu-co",
6
6
  "main": "src/index.ts",
@@ -31,7 +31,7 @@
31
31
  "build:legacy": "rimraf dist && tsc --outDir dist --declaration --emitDeclarationOnly"
32
32
  },
33
33
  "dependencies": {
34
- "@open-xamu-co/ui-common-enums": "^3.1.0-next.1",
34
+ "@open-xamu-co/ui-common-enums": "^4.0.0-next.2",
35
35
  "@fortawesome/fontawesome-common-types": "^6.4.0",
36
36
  "sweetalert2": "^11.11.1"
37
37
  },
package/src/files.ts CHANGED
@@ -1,5 +1,8 @@
1
+ import type { eMimeType } from "@open-xamu-co/ui-common-enums";
2
+
1
3
  export interface iMime {
2
4
  mime: string;
3
5
  pattern: number[];
4
6
  mask: number[];
7
+ type: eMimeType;
5
8
  }
package/src/form/class.ts CHANGED
@@ -31,7 +31,7 @@ export declare abstract class tFormInputDefault<
31
31
  public setRerender(rerender: (fi?: Partial<iFormInputDefault<T>>) => void): this;
32
32
  }
33
33
 
34
- export declare class tFormInput<
34
+ export declare abstract class tFormInput<
35
35
  V extends iFormValue | iFormValue[] = iFormValue | iFormValue[],
36
36
  T extends eFormTypeBase | eFormTypeSimple | eFormTypeComplex =
37
37
  | eFormTypeBase
@@ -47,6 +47,7 @@ export declare class tFormInput<
47
47
  public readonly multiple: boolean;
48
48
  public readonly min: number;
49
49
  public readonly max: number;
50
+ public readonly meta?: Record<string, any>;
50
51
  // public
51
52
  public options: iSelectOption[];
52
53
  public values: V[];
package/src/form/types.ts CHANGED
@@ -152,6 +152,10 @@ export interface iFormInput<
152
152
  * if multiple is set to true this optional value would be the mandatory maximun amount of values
153
153
  */
154
154
  max?: number;
155
+ /**
156
+ * Additional input metadata
157
+ */
158
+ meta?: Record<string, any>;
155
159
  }
156
160
 
157
161
  /**
package/src/locale.ts CHANGED
@@ -109,10 +109,14 @@ export type tLocaleInput = {
109
109
  file_limit: string;
110
110
  /** @example "This field only allows {amount} file | This field only allows {amount} files" */
111
111
  file_limit_text: string;
112
+ /** @example "Unsupported format" */
113
+ file_unsupported_format: string;
114
+ /** @example "This field only does not allow that file type" */
115
+ file_unsupported_format_text: string;
112
116
  /** @example "Wrong format" */
113
- file_wrong_format_image: string;
114
- /** @example "This field only allows image files" */
115
- file_wrong_format_image_text: string;
117
+ file_wrong_format: string;
118
+ /** @example "This field only allows "{types}" files" */
119
+ file_wrong_format_text: string;
116
120
  /** @example "File too big" */
117
121
  file_too_big: string;
118
122
  /** @example "The file exceeds the allowed size" */
@@ -198,6 +202,18 @@ export type tLocaleForm = {
198
202
  form_no_values: string;
199
203
  /** @example "New value" */
200
204
  form_new_value: string;
205
+ /** @example "Rendered text" */
206
+ form_editor_preview: string;
207
+ /** @example "See rendered text" */
208
+ form_editor_see_preview: string;
209
+ /** @example "Bold" */
210
+ form_editor_bold: string;
211
+ /** @example "Italic" */
212
+ form_editor_italic: string;
213
+ /** @example "Link" */
214
+ form_editor_link: string;
215
+ /** @example "Add URL" */
216
+ form_editor_link_add_url: string;
201
217
  // swal: {};
202
218
  };
203
219
 
package/src/values.ts CHANGED
@@ -17,6 +17,18 @@ export type iNodeFnResponse<T extends Record<string, any> = never> = [
17
17
  (() => void)?,
18
18
  ];
19
19
 
20
+ /**
21
+ * Stream like response from node functions
22
+ *
23
+ * Action result, event and callback
24
+ * Can accept an stream like array for multiple updates (hydration)
25
+ */
26
+ export type iNodeFnResponseStream<T extends Record<string, any> = never> = [
27
+ (boolean | T | [boolean | T, ...Promise<boolean | T>[]])?,
28
+ Event?,
29
+ (() => void)?,
30
+ ];
31
+
20
32
  /**
21
33
  * Funtions that uses a node and perform some action
22
34
  *
@@ -30,6 +42,23 @@ export type iNodeFn<T extends Record<string, any>, Ta extends [T?, ...any[]] = [
30
42
  ...args: Ta
31
43
  ) => boolean | undefined | iNodeFnResponse<T> | Promise<boolean | undefined | iNodeFnResponse<T>>;
32
44
 
45
+ /**
46
+ * Funtions that uses a node and perform some action
47
+ *
48
+ * Useful for table actions like creating, updating and deleting nodes
49
+ *
50
+ * Undefined would mean no action was performed
51
+ * True or an T type object would mean action was performed successfully
52
+ * False would mean action failed
53
+ */
54
+ export type iNodeStreamFn<T extends Record<string, any>, Ta extends [T?, ...any[]] = [T]> = (
55
+ ...args: Ta
56
+ ) =>
57
+ | boolean
58
+ | undefined
59
+ | iNodeFnResponseStream<T>
60
+ | Promise<boolean | undefined | iNodeFnResponseStream<T>>;
61
+
33
62
  /**
34
63
  * Used on Table and related components
35
64
  *
@@ -88,4 +117,7 @@ export interface iProperty<
88
117
  onImageError?: (data?: any) => void;
89
118
  }
90
119
 
120
+ /**
121
+ * Function to order properties
122
+ */
91
123
  export type tPropertyOrderFn = (a: [string, any], b: [string, any]) => -1 | 0 | 1;