yuyeon 0.0.47-rc.9 → 0.0.47

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 (53) hide show
  1. package/dist/yuyeon.js +3068 -2971
  2. package/dist/yuyeon.umd.cjs +6 -6
  3. package/lib/components/button/YButton.mjs +3 -2
  4. package/lib/components/button/YButton.mjs.map +1 -1
  5. package/lib/components/dropdown/YDropdown.mjs +5 -1
  6. package/lib/components/dropdown/YDropdown.mjs.map +1 -1
  7. package/lib/components/field-input/YFieldInput.mjs +8 -11
  8. package/lib/components/field-input/YFieldInput.mjs.map +1 -1
  9. package/lib/components/form/YForm.mjs +53 -68
  10. package/lib/components/form/YForm.mjs.map +1 -1
  11. package/lib/components/input/YInput.mjs +22 -18
  12. package/lib/components/input/YInput.mjs.map +1 -1
  13. package/lib/components/layer/base.mjs +9 -5
  14. package/lib/components/layer/base.mjs.map +1 -1
  15. package/lib/components/table/YDataTable.mjs +5 -2
  16. package/lib/components/table/YDataTable.mjs.map +1 -1
  17. package/lib/components/table/YDataTableBody.mjs +2 -1
  18. package/lib/components/table/YDataTableBody.mjs.map +1 -1
  19. package/lib/components/table/YDataTableRow.mjs +2 -1
  20. package/lib/components/table/YDataTableRow.mjs.map +1 -1
  21. package/lib/components/table/YDataTableServer.mjs +3 -1
  22. package/lib/components/table/YDataTableServer.mjs.map +1 -1
  23. package/lib/components/table/YTable.mjs +10 -3
  24. package/lib/components/table/YTable.mjs.map +1 -1
  25. package/lib/components/table/composibles/selection.mjs +11 -2
  26. package/lib/components/table/composibles/selection.mjs.map +1 -1
  27. package/lib/components/textarea/YTextarea.mjs +2 -8
  28. package/lib/components/textarea/YTextarea.mjs.map +1 -1
  29. package/lib/composables/communication.mjs.map +1 -1
  30. package/lib/composables/form.mjs +100 -0
  31. package/lib/composables/form.mjs.map +1 -0
  32. package/lib/composables/validation.mjs +26 -1
  33. package/lib/composables/validation.mjs.map +1 -1
  34. package/lib/index.mjs +6 -1
  35. package/lib/index.mjs.map +1 -1
  36. package/package.json +1 -1
  37. package/types/components/checkbox/YCheckbox.d.ts +2 -2
  38. package/types/components/checkbox/YInputCheckbox.d.ts +2 -2
  39. package/types/components/dropdown/YDropdown.d.ts +11 -2
  40. package/types/components/field-input/YFieldInput.d.ts +11 -7
  41. package/types/components/form/YForm.d.ts +32 -23
  42. package/types/components/input/YInput.d.ts +17 -20
  43. package/types/components/select/YSelect.d.ts +7 -0
  44. package/types/components/table/YDataTable.d.ts +29 -0
  45. package/types/components/table/YDataTableRow.d.ts +7 -0
  46. package/types/components/table/YDataTableServer.d.ts +27 -0
  47. package/types/components/table/YTable.d.ts +11 -2
  48. package/types/components/table/composibles/selection.d.ts +13 -0
  49. package/types/components/textarea/YTextarea.d.ts +21 -45
  50. package/types/composables/communication.d.ts +1 -1
  51. package/types/composables/form.d.ts +126 -0
  52. package/types/composables/validation.d.ts +6 -0
  53. package/types/index.d.ts +1 -0
@@ -1,6 +1,7 @@
1
1
  import { SlotsType, nextTick } from 'vue';
2
2
  import type { PropType } from 'vue';
3
3
  export declare const pressYTextareaPropsOptions: <Defaults extends {
4
+ extended?: unknown;
4
5
  focused?: unknown;
5
6
  'onUpdate:focused'?: unknown;
6
7
  readonly?: unknown;
@@ -30,6 +31,10 @@ export declare const pressYTextareaPropsOptions: <Defaults extends {
30
31
  displayText?: unknown;
31
32
  whenInputValid?: unknown;
32
33
  } = {}>(defaults?: Defaults | undefined) => {
34
+ extended: unknown extends Defaults["extended"] ? PropType<any> : {
35
+ type: PropType<unknown extends Defaults["extended"] ? any : any>;
36
+ default: unknown extends Defaults["extended"] ? any : any;
37
+ };
33
38
  focused: unknown extends Defaults["focused"] ? BooleanConstructor : {
34
39
  type: PropType<unknown extends Defaults["focused"] ? boolean : boolean | Defaults["focused"]>;
35
40
  default: unknown extends Defaults["focused"] ? boolean : boolean | Defaults["focused"];
@@ -198,6 +203,7 @@ export declare const pressYTextareaPropsOptions: <Defaults extends {
198
203
  };
199
204
  };
200
205
  export declare const YTextarea: import("vue").DefineComponent<{
206
+ extended: PropType<any>;
201
207
  focused: BooleanConstructor;
202
208
  'onUpdate:focused': PropType<(v: boolean) => void>;
203
209
  readonly: PropType<boolean>;
@@ -284,14 +290,15 @@ export declare const YTextarea: import("vue").DefineComponent<{
284
290
  readonly readonly?: boolean | undefined;
285
291
  readonly validators?: string[] | ((v: any) => string | boolean)[] | undefined;
286
292
  'onUpdate:focused'?: (((v: boolean) => void) & ((...args: any[]) => any)) | undefined;
293
+ readonly extended?: any;
287
294
  readonly label?: string | undefined;
288
295
  readonly placeholder?: string | undefined;
289
296
  readonly ceramic?: boolean | undefined;
290
297
  onError?: ((...args: any[]) => any) | undefined;
298
+ onBlur?: ((...args: any[]) => any) | undefined;
291
299
  onFocus?: ((...args: any[]) => any) | undefined;
292
300
  onMousedown?: ((...args: any[]) => any) | undefined;
293
301
  onMouseup?: ((...args: any[]) => any) | undefined;
294
- onBlur?: ((...args: any[]) => any) | undefined;
295
302
  "onMousedown:display"?: ((...args: any[]) => any) | undefined;
296
303
  "onMouseup:display"?: ((...args: any[]) => any) | undefined;
297
304
  "onClick:leading"?: ((...args: any[]) => any) | undefined;
@@ -350,11 +357,7 @@ export declare const YTextarea: import("vue").DefineComponent<{
350
357
  prepend: any;
351
358
  append: any;
352
359
  label: any;
353
- default: import("vue").Slot<{
354
- value: any;
355
- formLoading: boolean;
356
- attrId: string;
357
- }>;
360
+ default: import("vue").Slot<import("../input").YInputDefaultSlotProps>;
358
361
  leading: import("vue").Slot<{
359
362
  error: boolean;
360
363
  }>;
@@ -362,13 +365,15 @@ export declare const YTextarea: import("vue").DefineComponent<{
362
365
  'helper-text': import("vue").Slot<{
363
366
  error: boolean;
364
367
  errorResult: string | undefined;
368
+ errors: any[];
365
369
  }>;
366
370
  }>;
367
371
  $root: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}> | null;
368
372
  $parent: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}> | null;
369
- $emit: (event: "click" | "error" | "focus" | "mousedown" | "mouseup" | "blur" | "mousedown:display" | "mouseup:display" | "click:leading" | "update:modelValue" | "update:focused", ...args: any[]) => void;
373
+ $emit: (event: "click" | "error" | "blur" | "focus" | "mousedown" | "mouseup" | "mousedown:display" | "mouseup:display" | "click:leading" | "update:modelValue" | "update:focused", ...args: any[]) => void;
370
374
  $el: any;
371
375
  $options: import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
376
+ extended: PropType<any>;
372
377
  focused: BooleanConstructor;
373
378
  'onUpdate:focused': PropType<(v: boolean) => void>;
374
379
  readonly: PropType<boolean>;
@@ -424,29 +429,15 @@ export declare const YTextarea: import("vue").DefineComponent<{
424
429
  onClick?: ((...args: any[]) => any) | undefined;
425
430
  "onUpdate:focused"?: ((...args: any[]) => any) | undefined;
426
431
  onError?: ((...args: any[]) => any) | undefined;
432
+ onBlur?: ((...args: any[]) => any) | undefined;
427
433
  onFocus?: ((...args: any[]) => any) | undefined;
428
434
  onMousedown?: ((...args: any[]) => any) | undefined;
429
435
  onMouseup?: ((...args: any[]) => any) | undefined;
430
- onBlur?: ((...args: any[]) => any) | undefined;
431
436
  "onMousedown:display"?: ((...args: any[]) => any) | undefined;
432
437
  "onMouseup:display"?: ((...args: any[]) => any) | undefined;
433
438
  "onClick:leading"?: ((...args: any[]) => any) | undefined;
434
439
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
435
- }, {
436
- themeClasses: Readonly<import("vue").ComputedRef<string | undefined>>;
437
- isFocused: import("vue").WritableComputedRef<any> & {
438
- readonly rxValue: any;
439
- };
440
- focusedClasses: import("vue").ComputedRef<{
441
- [x: string]: any;
442
- }>;
443
- whenFocus: () => void;
444
- whenBlur: () => void;
445
- createLabel: () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
446
- [key: string]: any;
447
- }> | undefined;
448
- invokeValidators: () => Promise<any[]>;
449
- }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("click" | "error" | "focus" | "mousedown" | "mouseup" | "blur" | "mousedown:display" | "mouseup:display" | "click:leading" | "update:modelValue" | "update:focused")[], string, {
440
+ }, any, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("click" | "error" | "blur" | "focus" | "mousedown" | "mouseup" | "mousedown:display" | "mouseup:display" | "click:leading" | "update:modelValue" | "update:focused")[], string, {
450
441
  displayTag: string;
451
442
  autoSelect: boolean;
452
443
  floating: boolean;
@@ -457,11 +448,7 @@ export declare const YTextarea: import("vue").DefineComponent<{
457
448
  prepend: any;
458
449
  append: any;
459
450
  label: any;
460
- default: {
461
- value: any;
462
- formLoading: boolean;
463
- attrId: string;
464
- };
451
+ default: import("../input").YInputDefaultSlotProps;
465
452
  leading: {
466
453
  error: boolean;
467
454
  };
@@ -469,6 +456,7 @@ export declare const YTextarea: import("vue").DefineComponent<{
469
456
  'helper-text': {
470
457
  error: boolean;
471
458
  errorResult: string | undefined;
459
+ errors: any[];
472
460
  };
473
461
  }>> & {
474
462
  beforeCreate?: ((() => void) | (() => void)[]) | undefined;
@@ -491,6 +479,7 @@ export declare const YTextarea: import("vue").DefineComponent<{
491
479
  $nextTick: typeof nextTick;
492
480
  $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (args_0: R, args_1: R) => any : (...args: any) => any, options?: import("vue").WatchOptions<boolean> | undefined): import("vue").WatchStopHandle;
493
481
  } & Readonly<import("vue").ExtractPropTypes<{
482
+ extended: PropType<any>;
494
483
  focused: BooleanConstructor;
495
484
  'onUpdate:focused': PropType<(v: boolean) => void>;
496
485
  readonly: PropType<boolean>;
@@ -546,29 +535,15 @@ export declare const YTextarea: import("vue").DefineComponent<{
546
535
  onClick?: ((...args: any[]) => any) | undefined;
547
536
  "onUpdate:focused"?: ((...args: any[]) => any) | undefined;
548
537
  onError?: ((...args: any[]) => any) | undefined;
538
+ onBlur?: ((...args: any[]) => any) | undefined;
549
539
  onFocus?: ((...args: any[]) => any) | undefined;
550
540
  onMousedown?: ((...args: any[]) => any) | undefined;
551
541
  onMouseup?: ((...args: any[]) => any) | undefined;
552
- onBlur?: ((...args: any[]) => any) | undefined;
553
542
  "onMousedown:display"?: ((...args: any[]) => any) | undefined;
554
543
  "onMouseup:display"?: ((...args: any[]) => any) | undefined;
555
544
  "onClick:leading"?: ((...args: any[]) => any) | undefined;
556
545
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
557
- } & import("vue").ShallowUnwrapRef<{
558
- themeClasses: Readonly<import("vue").ComputedRef<string | undefined>>;
559
- isFocused: import("vue").WritableComputedRef<any> & {
560
- readonly rxValue: any;
561
- };
562
- focusedClasses: import("vue").ComputedRef<{
563
- [x: string]: any;
564
- }>;
565
- whenFocus: () => void;
566
- whenBlur: () => void;
567
- createLabel: () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
568
- [key: string]: any;
569
- }> | undefined;
570
- invokeValidators: () => Promise<any[]>;
571
- }> & {} & import("vue").ComponentCustomProperties & {}) | undefined>;
546
+ } & import("vue").ShallowUnwrapRef<any> & {} & import("vue").ComponentCustomProperties & {}) | undefined>;
572
547
  input$: import("vue").Ref<any>;
573
548
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
574
549
  'update:modelValue': (v: any) => true;
@@ -582,6 +557,7 @@ export declare const YTextarea: import("vue").DefineComponent<{
582
557
  keydown: (e: KeyboardEvent) => true;
583
558
  keyup: (e: KeyboardEvent) => true;
584
559
  }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
560
+ extended: PropType<any>;
585
561
  focused: BooleanConstructor;
586
562
  'onUpdate:focused': PropType<(v: boolean) => void>;
587
563
  readonly: PropType<boolean>;
@@ -640,8 +616,8 @@ export declare const YTextarea: import("vue").DefineComponent<{
640
616
  }>> & {
641
617
  onClick?: ((e: MouseEvent) => any) | undefined;
642
618
  "onUpdate:focused"?: ((v: boolean) => any) | undefined;
643
- onFocus?: ((e: FocusEvent) => any) | undefined;
644
619
  onBlur?: ((e: FocusEvent) => any) | undefined;
620
+ onFocus?: ((e: FocusEvent) => any) | undefined;
645
621
  "onMousedown:display"?: ((e: MouseEvent) => any) | undefined;
646
622
  "onUpdate:modelValue"?: ((v: any) => any) | undefined;
647
623
  onInput?: ((v: any) => any) | undefined;
@@ -1,5 +1,5 @@
1
+ import { WritableComputedRef } from '@vue/runtime-core';
1
2
  import type { Ref } from 'vue';
2
- import { WritableComputedRef } from "@vue/runtime-core";
3
3
  export declare function useModelDuplex(props: any, prop?: string, defaultValue?: any, getIn?: (value?: any) => any, setOut?: (value: any) => any): WritableComputedRef<any> & {
4
4
  readonly rxValue: any;
5
5
  };
@@ -0,0 +1,126 @@
1
+ import { ComputedRef, InjectionKey, PropType, Ref, VNode } from 'vue';
2
+ import { EventProp } from '../util/vue-component';
3
+ import { ValidationProps } from './validation';
4
+ export interface FormInput {
5
+ id: number | string;
6
+ vnode: VNode;
7
+ validate: () => Promise<any[]>;
8
+ isError: boolean | undefined | null;
9
+ errors: any[];
10
+ }
11
+ export interface InputValidationResult {
12
+ id: number | string;
13
+ vnode: VNode;
14
+ exposed: any;
15
+ errors: any[];
16
+ }
17
+ export interface FormValidationResult {
18
+ valid: boolean;
19
+ errors: InputValidationResult[];
20
+ }
21
+ export interface SubmitEventPromise extends SubmitEvent, Promise<FormValidationResult> {
22
+ }
23
+ export interface FormInstance {
24
+ register: (input: {
25
+ id: number | string;
26
+ vnode: VNode;
27
+ validate: () => Promise<any[]>;
28
+ resetValidation: () => Promise<void>;
29
+ }) => void;
30
+ unregister: (id: number | string) => void;
31
+ update: (id: number | string, isError: boolean | undefined | null, errors: any[]) => void;
32
+ inputs: Ref<FormInput[]>;
33
+ isDisabled: ComputedRef<boolean>;
34
+ isReadonly: ComputedRef<boolean>;
35
+ isLoading: ComputedRef<boolean>;
36
+ isValidating: Ref<boolean>;
37
+ isValid: Ref<boolean | null>;
38
+ validateOn: Ref<FormProps['validateOn']>;
39
+ }
40
+ export declare const YUYEON_FORM_KEY: InjectionKey<FormInstance>;
41
+ export interface FormProps {
42
+ readonly: boolean;
43
+ disabled: boolean;
44
+ loading: boolean;
45
+ modelValue: boolean | null;
46
+ 'onUpdate:modelValue': EventProp<[boolean | null]> | undefined;
47
+ validateOn: ValidationProps['validateOn'];
48
+ }
49
+ export declare const pressFormPropsOptions: <Defaults extends {
50
+ readonly?: unknown;
51
+ disabled?: unknown;
52
+ loading?: unknown;
53
+ modelValue?: unknown;
54
+ validateOn?: unknown;
55
+ } = {}>(defaults?: Defaults | undefined) => {
56
+ readonly: unknown extends Defaults["readonly"] ? BooleanConstructor : {
57
+ type: PropType<unknown extends Defaults["readonly"] ? boolean : boolean | Defaults["readonly"]>;
58
+ default: unknown extends Defaults["readonly"] ? boolean : boolean | Defaults["readonly"];
59
+ };
60
+ disabled: unknown extends Defaults["disabled"] ? BooleanConstructor : {
61
+ type: PropType<unknown extends Defaults["disabled"] ? boolean : boolean | Defaults["disabled"]>;
62
+ default: unknown extends Defaults["disabled"] ? boolean : boolean | Defaults["disabled"];
63
+ };
64
+ loading: unknown extends Defaults["loading"] ? BooleanConstructor : {
65
+ type: PropType<unknown extends Defaults["loading"] ? boolean : boolean | Defaults["loading"]>;
66
+ default: unknown extends Defaults["loading"] ? boolean : boolean | Defaults["loading"];
67
+ };
68
+ modelValue: unknown extends Defaults["modelValue"] ? {
69
+ type: PropType<boolean | null>;
70
+ default: null;
71
+ } : Omit<{
72
+ type: PropType<boolean | null>;
73
+ default: null;
74
+ }, "type" | "default"> & {
75
+ type: PropType<unknown extends Defaults["modelValue"] ? boolean | null : Defaults["modelValue"] | NonNullable<boolean | null>>;
76
+ default: unknown extends Defaults["modelValue"] ? boolean | null : Defaults["modelValue"] | NonNullable<boolean | null>;
77
+ };
78
+ validateOn: unknown extends Defaults["validateOn"] ? {
79
+ type: PropType<string>;
80
+ default: string;
81
+ } : Omit<{
82
+ type: PropType<string>;
83
+ default: string;
84
+ }, "type" | "default"> & {
85
+ type: PropType<unknown extends Defaults["validateOn"] ? string : string | Defaults["validateOn"]>;
86
+ default: unknown extends Defaults["validateOn"] ? string : string | Defaults["validateOn"];
87
+ };
88
+ };
89
+ export declare function createForm(props: FormProps): {
90
+ inputs: Ref<{
91
+ id: string | number;
92
+ vnode: VNode<import("vue").RendererNode, import("vue").RendererElement, {
93
+ [key: string]: any;
94
+ }>;
95
+ validate: () => Promise<any[]>;
96
+ isError: boolean | null | undefined;
97
+ errors: any[];
98
+ }[]>;
99
+ errors: Ref<{
100
+ id: string | number;
101
+ vnode: VNode<import("vue").RendererNode, import("vue").RendererElement, {
102
+ [key: string]: any;
103
+ }>;
104
+ exposed: any;
105
+ errors: any[];
106
+ }[]>;
107
+ isValid: import("vue").WritableComputedRef<any> & {
108
+ readonly rxValue: any;
109
+ };
110
+ isDisabled: ComputedRef<boolean>;
111
+ isReadonly: ComputedRef<boolean>;
112
+ isLoading: ComputedRef<boolean>;
113
+ isValidating: import("vue").ShallowRef<boolean>;
114
+ validate: () => Promise<{
115
+ valid: boolean;
116
+ errors: {
117
+ id: string | number;
118
+ vnode: VNode<import("vue").RendererNode, import("vue").RendererElement, {
119
+ [key: string]: any;
120
+ }>;
121
+ exposed: any;
122
+ errors: any[];
123
+ }[];
124
+ }>;
125
+ };
126
+ export declare function useForm(): FormInstance | null;
@@ -1,4 +1,7 @@
1
1
  import { PropType } from 'vue';
2
+ export interface ValidationProps {
3
+ validateOn: 'input' | 'blur' | 'lazy' | 'submit' | string;
4
+ }
2
5
  export declare const pressValidationPropsOptions: <Defaults extends {
3
6
  readonly?: unknown;
4
7
  disabled?: unknown;
@@ -70,6 +73,9 @@ export declare function useValidation(props: any, name: string, uid?: number | u
70
73
  }>;
71
74
  errorResult: import("vue").Ref<any>;
72
75
  errors: import("vue").Ref<any[]>;
76
+ isReadonly: import("vue").ComputedRef<any>;
77
+ isDisabled: import("vue").ComputedRef<any>;
78
+ isLoading: import("vue").ComputedRef<any>;
73
79
  isError: import("vue").ComputedRef<boolean>;
74
80
  isSuccess: import("vue").ComputedRef<boolean>;
75
81
  };
package/types/index.d.ts CHANGED
@@ -8,4 +8,5 @@ declare module 'vue' {
8
8
  export declare function init(options?: any): {
9
9
  install: (app: App) => any;
10
10
  };
11
+ export declare function useYuyeon(): any;
11
12
  export { useTheme };