maz-ui 4.0.0-beta.2 → 4.0.0-beta.21

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 (238) hide show
  1. package/README.md +1 -1
  2. package/dist/assets/MazAccordion.DUQCf8vy.css +1 -0
  3. package/dist/assets/{MazAnimatedCounter.CTG-PC5W.css → MazAnimatedCounter.DkZNPRLp.css} +1 -1
  4. package/dist/assets/MazAnimatedText.DDqCxrFX.css +1 -0
  5. package/dist/assets/MazBackdrop.BnhcmjbP.css +1 -0
  6. package/dist/assets/{MazBadge.DN8tdE8_.css → MazBadge.ChI2DaTU.css} +1 -1
  7. package/dist/assets/MazBtn.BFhP-9HO.css +1 -0
  8. package/dist/assets/MazCard.DBuQhXtl.css +1 -0
  9. package/dist/assets/{MazCardSpotlight.Dy-wuLQq.css → MazCardSpotlight.IbPp_y0j.css} +1 -1
  10. package/dist/assets/MazCheckbox.aH1IKnrR.css +1 -0
  11. package/dist/assets/MazChecklist.BzF5KtZ3.css +1 -0
  12. package/dist/assets/MazDatePicker.8GyrtM-j.css +1 -0
  13. package/dist/assets/MazDropzone.CXu1QtnY.css +1 -0
  14. package/dist/assets/MazInput.ByolKDfx.css +1 -0
  15. package/dist/assets/MazInputCode.FA2z4HQd.css +1 -0
  16. package/dist/assets/MazInputPhoneNumber.CrXS7DOY.css +1 -0
  17. package/dist/assets/MazInputTags.KNTpDHof.css +1 -0
  18. package/dist/assets/MazLazyImg.NlPRN3Nk.css +1 -0
  19. package/dist/assets/MazLink.CFscNMFr.css +1 -0
  20. package/dist/assets/MazPickerCalendarMonth.Boe_8k4x.css +1 -0
  21. package/dist/assets/MazPickerMonthSwitcher.CszcpCcY.css +1 -0
  22. package/dist/assets/{MazPickerYearSwitcher.Dl30Dwor.css → MazPickerYearSwitcher.Cn-nS-Vv.css} +1 -1
  23. package/dist/assets/MazPopover.rBpotMKW.css +1 -0
  24. package/dist/assets/MazPullToRefresh.BQ64UvzA.css +1 -0
  25. package/dist/assets/MazRadio.aTHM-mpx.css +1 -0
  26. package/dist/assets/MazRadioButtons.SGytq4d7.css +1 -0
  27. package/dist/assets/MazReadingProgressBar.CwBVXE3g.css +1 -0
  28. package/dist/assets/MazSelect.CwjnAZiu.css +1 -0
  29. package/dist/assets/{MazSelectCountry.D2Qudf0K.css → MazSelectCountry.t3GsKyqw.css} +1 -1
  30. package/dist/assets/{MazSlider.D5SgmZLH.css → MazSlider.y4qpnD0N.css} +1 -1
  31. package/dist/assets/MazStepper.BD2gDGAX.css +1 -0
  32. package/dist/assets/MazSwitch.Bxmh2iFj.css +1 -0
  33. package/dist/assets/{MazTable.B1tkeUfE.css → MazTable.DMlQdImb.css} +1 -1
  34. package/dist/assets/MazTableRow.DgBXpK9J.css +1 -0
  35. package/dist/assets/{MazTabsBar.B9N_jdqU.css → MazTabsBar.gcS2Fc-B.css} +1 -1
  36. package/dist/assets/{MazTabsContentItem.CHfy19ZF.css → MazTabsContentItem.C84SDmj0.css} +1 -1
  37. package/dist/assets/MazTextarea.li9dWBax.css +1 -0
  38. package/dist/assets/{PhoneInput.CyWO76iq.css → PhoneInput.BJiKqOF6.css} +1 -1
  39. package/dist/assets/{fullscreen-img.pvt6196l.css → fullscreen-img.Bkuz1GOX.css} +1 -1
  40. package/dist/assets/{toast.kunueRvo.css → toast.CC2VQab8.css} +1 -1
  41. package/dist/chunks/{MazDatePicker.CT5yJhSN.js → MazDatePicker.De3Ltb2F.js} +29 -31
  42. package/dist/chunks/{MazDialogPromise.vue_vue_type_script_setup_true_lang.BQvDEofz.js → MazDialogConfirm.vue_vue_type_script_setup_true_lang.Grn2kB3x.js} +78 -18
  43. package/dist/chunks/{MazDropdown.vue_vue_type_style_index_0_lang.abk1IbMX.js → MazDropdown.vue_vue_type_style_index_0_lang.BES3jpuw.js} +12 -22
  44. package/dist/chunks/{MazInputPhoneNumber.Uwhn1Q9j.js → MazInputPhoneNumber.Ch-PCGiv.js} +14 -12
  45. package/dist/chunks/{MazInputPrice.vue_vue_type_script_setup_true_lang.GMKzSu7R.js → MazInputPrice.vue_vue_type_script_setup_true_lang.BA6TDX-T.js} +31 -1
  46. package/dist/chunks/{MazPickerCalendar.RS6ZMdDK.js → MazPickerCalendar.DKXNI8O4.js} +1 -1
  47. package/dist/chunks/{MazPickerCalendarMonth.hQBSVkc9.js → MazPickerCalendarMonth.DKBqgrNp.js} +5 -5
  48. package/dist/chunks/{MazPickerCalendarSwitcher.Cp2ux3E4.js → MazPickerCalendarSwitcher.CzIZol3Z.js} +1 -1
  49. package/dist/chunks/{MazPickerContainer.DnfB3Dqg.js → MazPickerContainer.Mrh-Q52I.js} +1 -1
  50. package/dist/chunks/{MazPickerHeader.Dlz2yJ1D.js → MazPickerHeader.Bm9vIrtB.js} +1 -1
  51. package/dist/chunks/{MazPickerMonthSwitcher.BpfCGGxQ.js → MazPickerMonthSwitcher.BSD2GtY6.js} +5 -6
  52. package/dist/chunks/{MazPickerTime.EuWWNfid.js → MazPickerTime.D0hilq5b.js} +1 -1
  53. package/dist/chunks/{MazPickerYearSwitcher.D4aO09D3.js → MazPickerYearSwitcher.BIUYJMvj.js} +8 -27
  54. package/dist/chunks/{MazSwitch.vue_vue_type_style_index_0_lang.DnCjlD6D.js → MazSwitch.vue_vue_type_style_index_0_lang.CU43Y1ky.js} +2 -2
  55. package/dist/chunks/{MazTable.vue_vue_type_script_setup_true_lang.bm7ng8fK.js → MazTable.vue_vue_type_script_setup_true_lang.BcTw9Tyh.js} +3 -3
  56. package/dist/chunks/{PhoneInput.CPjyZ8Sq.js → PhoneInput.BzL1_XS5.js} +5 -4
  57. package/dist/chunks/{utils.BBuYjMbK.js → dom-events.Bbe7wDQl.js} +221 -115
  58. package/dist/chunks/{en.BzBlrE0C.js → en.Q_4-KljL.js} +12 -0
  59. package/dist/chunks/{fullscreen-img.directive.CyOHexcO.js → fullscreen-img.directive.Be383en8.js} +2 -2
  60. package/dist/chunks/{lazy-img.directive.D5zCo3Zi.js → lazy-img.directive.BLFnGqQa.js} +1 -1
  61. package/dist/chunks/types.D0Bp_UhS.js +6 -0
  62. package/dist/chunks/{normalizeString.CFe2M8S_.js → useStringMatching.Ba1yCuA4.js} +40 -1
  63. package/dist/chunks/{useTranslations.BXuww4ux.js → useTranslations.D5aoYwD7.js} +1 -1
  64. package/dist/chunks/vClickOutside.DIOiluy0.js +107 -0
  65. package/dist/components/MazAccordion.js +2 -2
  66. package/dist/components/MazAnimatedCounter.js +3 -3
  67. package/dist/components/MazAnimatedText.js +2 -2
  68. package/dist/components/MazBackdrop.js +3 -3
  69. package/dist/components/MazBadge.js +5 -4
  70. package/dist/components/MazBtn.js +9 -7
  71. package/dist/components/MazCard.js +2 -2
  72. package/dist/components/MazCardSpotlight.js +4 -4
  73. package/dist/components/MazCarousel.js +1 -1
  74. package/dist/components/MazCheckbox.js +10 -12
  75. package/dist/components/MazChecklist.js +4 -5
  76. package/dist/components/MazDatePicker.js +1 -1
  77. package/dist/components/MazDialogConfirm.js +6 -0
  78. package/dist/components/MazDropdown.js +1 -1
  79. package/dist/components/MazDropzone.js +5 -5
  80. package/dist/components/MazGallery.js +2 -2
  81. package/dist/components/MazInput.js +21 -16
  82. package/dist/components/MazInputCode.js +2 -2
  83. package/dist/components/MazInputPhoneNumber.js +1 -1
  84. package/dist/components/MazInputPrice.js +1 -1
  85. package/dist/components/MazInputTags.js +2 -2
  86. package/dist/components/MazLazyImg.js +9 -9
  87. package/dist/components/MazLink.js +9 -5
  88. package/dist/components/MazPagination.js +1 -1
  89. package/dist/components/MazPopover.js +177 -89
  90. package/dist/components/MazPullToRefresh.js +8 -3
  91. package/dist/components/MazRadio.js +8 -16
  92. package/dist/components/MazRadioButtons.js +7 -6
  93. package/dist/components/MazReadingProgressBar.js +10 -3
  94. package/dist/components/MazSelect.js +24 -14
  95. package/dist/components/MazSelectCountry.js +15 -9
  96. package/dist/components/MazSlider.js +2 -2
  97. package/dist/components/MazStepper.js +2 -2
  98. package/dist/components/MazSwitch.js +1 -1
  99. package/dist/components/MazTable.js +3 -3
  100. package/dist/components/MazTableCell.js +1 -1
  101. package/dist/components/MazTableRow.js +3 -3
  102. package/dist/components/MazTableTitle.js +1 -1
  103. package/dist/components/MazTabsBar.js +6 -6
  104. package/dist/components/MazTabsContentItem.js +6 -7
  105. package/dist/components/MazTextarea.js +24 -3
  106. package/dist/components/index.js +8 -8
  107. package/dist/composables/index.js +4 -2
  108. package/dist/composables/useAos.js +1 -1
  109. package/dist/composables/useDialog.js +1 -1
  110. package/dist/composables/useDisplayNames.js +7 -1
  111. package/dist/composables/useDropzone.js +7 -7
  112. package/dist/composables/useFormField.js +15 -19
  113. package/dist/composables/useFormValidator.js +58 -29
  114. package/dist/composables/useIdleTimeout.js +108 -1
  115. package/dist/composables/useInjectStrict.js +2 -2
  116. package/dist/composables/useStringMatching.js +3 -40
  117. package/dist/composables/useSwipe.js +77 -1
  118. package/dist/composables/useToast.js +1 -1
  119. package/dist/composables/useUserVisibility.js +47 -1
  120. package/dist/composables/useWait.js +1 -1
  121. package/dist/composables/useWindowSize.js +1 -1
  122. package/dist/css/main.css +1 -1
  123. package/dist/directives/index.js +7 -7
  124. package/dist/directives/vClickOutside.js +4 -102
  125. package/dist/directives/vFullscreenImg.js +1 -1
  126. package/dist/directives/vLazyImg.js +2 -2
  127. package/dist/directives/vTooltip.js +97 -60
  128. package/dist/index.js +1 -114
  129. package/dist/plugins/dialog.js +3 -3
  130. package/dist/plugins/maz-ui.js +150 -143
  131. package/dist/plugins/toast.js +8 -11
  132. package/dist/resolvers/MazComponentsResolver.js +7 -1
  133. package/dist/resolvers/MazDirectivesResolver.js +1 -1
  134. package/dist/resolvers/MazModulesResolver.js +3 -1
  135. package/dist/tailwindcss/tailwind.config.js +5 -2
  136. package/dist/tailwindcss/variables/design-tokens.js +3 -0
  137. package/dist/types/components/MazAccordion.vue.d.ts +15 -2
  138. package/dist/types/components/MazBtn.vue.d.ts +1 -0
  139. package/dist/types/components/MazCard.vue.d.ts +1 -1
  140. package/dist/types/components/MazCheckbox.vue.d.ts +0 -6
  141. package/dist/types/components/MazChecklist.vue.d.ts +1 -1
  142. package/dist/types/components/MazDatePicker.vue.d.ts +15 -23
  143. package/dist/types/components/MazDialogConfirm/useMazDialogConfirm.d.ts +47 -0
  144. package/dist/types/components/{MazDialogPromise.vue.d.ts → MazDialogConfirm.vue.d.ts} +43 -10
  145. package/dist/types/components/MazDropdown.vue.d.ts +12 -12
  146. package/dist/types/components/MazInput.vue.d.ts +7 -0
  147. package/dist/types/components/MazInputNumber.vue.d.ts +2 -2
  148. package/dist/types/components/MazInputPhoneNumber/useLibphonenumber.d.ts +2 -2
  149. package/dist/types/components/MazInputPhoneNumber/useMazInputPhoneNumber.d.ts +6 -2
  150. package/dist/types/components/MazInputPhoneNumber.vue.d.ts +38 -15
  151. package/dist/types/components/MazInputTags.vue.d.ts +1 -1
  152. package/dist/types/components/MazLazyImg.vue.d.ts +8 -8
  153. package/dist/types/components/MazLink.vue.d.ts +11 -0
  154. package/dist/types/components/MazPopover.vue.d.ts +18 -15
  155. package/dist/types/components/MazRadioButtons.vue.d.ts +1 -1
  156. package/dist/types/components/MazSelect.vue.d.ts +2 -2
  157. package/dist/types/components/MazSelectCountry.vue.d.ts +13 -4
  158. package/dist/types/components/MazStepper.vue.d.ts +13 -2
  159. package/dist/types/components/MazTable.vue.d.ts +63 -2
  160. package/dist/types/components/index.d.ts +4 -4
  161. package/dist/types/components/types.d.ts +1 -0
  162. package/dist/types/composables/index.d.ts +2 -1
  163. package/dist/types/composables/useDisplayNames.d.ts +2 -2
  164. package/dist/types/composables/useDropzone.d.ts +3 -3
  165. package/dist/types/composables/useFormField.d.ts +16 -56
  166. package/dist/types/composables/useFormValidator/config.d.ts +2 -2
  167. package/dist/types/composables/useFormValidator/dom-events.d.ts +19 -0
  168. package/dist/types/composables/useFormValidator/state-management.d.ts +72 -0
  169. package/dist/types/composables/useFormValidator/types.d.ts +20 -32
  170. package/dist/types/composables/useFormValidator/validation.d.ts +37 -0
  171. package/dist/types/composables/useFormValidator.d.ts +16 -10
  172. package/dist/types/composables/useIdleTimeout.d.ts +1 -1
  173. package/dist/types/composables/useInjectStrict.d.ts +1 -1
  174. package/dist/types/composables/useSwipe.d.ts +1 -1
  175. package/dist/types/composables/useUserVisibility.d.ts +1 -1
  176. package/dist/types/directives/vClickOutside.d.ts +11 -18
  177. package/dist/types/directives/vFullscreenImg/fullscreen-img.directive.d.ts +3 -5
  178. package/dist/types/directives/vFullscreenImg.d.ts +9 -4
  179. package/dist/types/directives/vLazyImg/lazy-img.directive.d.ts +3 -5
  180. package/dist/types/directives/vLazyImg.d.ts +11 -6
  181. package/dist/types/directives/vTooltip.d.ts +14 -14
  182. package/dist/types/directives/vZoomImg/zoom-img.directive.d.ts +2 -0
  183. package/dist/types/directives/vZoomImg.d.ts +9 -5
  184. package/dist/types/index.d.ts +1 -1
  185. package/dist/types/plugins/aos.d.ts +30 -4
  186. package/dist/types/plugins/dialog/DialogHandler.d.ts +2 -2
  187. package/dist/types/plugins/dialog.d.ts +2 -4
  188. package/dist/types/plugins/maz-ui.d.ts +2 -63
  189. package/dist/types/plugins/toast.d.ts +2 -4
  190. package/dist/types/plugins/wait.d.ts +2 -3
  191. package/dist/types/tailwindcss/tailwind.config.d.ts +5 -0
  192. package/dist/types/tailwindcss/variables/design-tokens.d.ts +3 -0
  193. package/package.json +42 -39
  194. package/dist/assets/MazAccordion.esK3rR4p.css +0 -1
  195. package/dist/assets/MazAnimatedText.BrOwWuqf.css +0 -1
  196. package/dist/assets/MazBackdrop.DNpnLh63.css +0 -1
  197. package/dist/assets/MazBtn.BnRxVlqS.css +0 -1
  198. package/dist/assets/MazCard.C6nDaeIC.css +0 -1
  199. package/dist/assets/MazCheckbox.C_qIngLy.css +0 -1
  200. package/dist/assets/MazChecklist.CWK_Gl-t.css +0 -1
  201. package/dist/assets/MazDatePicker.V5JwKPrQ.css +0 -1
  202. package/dist/assets/MazDropzone.DafxQwbq.css +0 -1
  203. package/dist/assets/MazInput.DW2KOJHY.css +0 -1
  204. package/dist/assets/MazInputCode.CG6EJBEk.css +0 -1
  205. package/dist/assets/MazInputPhoneNumber.vpA2mrZn.css +0 -1
  206. package/dist/assets/MazInputTags.B_s9J3sw.css +0 -1
  207. package/dist/assets/MazLazyImg.BNaVtpfX.css +0 -1
  208. package/dist/assets/MazLink.CCfbrUs0.css +0 -1
  209. package/dist/assets/MazPickerCalendarMonth.zkrPVHDv.css +0 -1
  210. package/dist/assets/MazPickerMonthSwitcher.168v7Hs1.css +0 -1
  211. package/dist/assets/MazPopover.Bth9NWia.css +0 -1
  212. package/dist/assets/MazPullToRefresh.DABqbGtK.css +0 -1
  213. package/dist/assets/MazRadio.DKMFWwy_.css +0 -1
  214. package/dist/assets/MazRadioButtons.BA4rjgK9.css +0 -1
  215. package/dist/assets/MazReadingProgressBar.n1Is8_Y3.css +0 -1
  216. package/dist/assets/MazSelect.DZZpDg8z.css +0 -1
  217. package/dist/assets/MazStepper.DYMde9uq.css +0 -1
  218. package/dist/assets/MazSwitch.Z1ZMm7tx.css +0 -1
  219. package/dist/assets/MazTableRow.B78Bd4Kv.css +0 -1
  220. package/dist/assets/MazTextarea.Dz11mUeK.css +0 -1
  221. package/dist/chunks/TextareaAutogrow.C22LQx0k.js +0 -25
  222. package/dist/chunks/debounceCallback.B69vn57Q.js +0 -7
  223. package/dist/chunks/formatCurrency.C8NzW9Ii.js +0 -34
  224. package/dist/chunks/formatDate.DZ_OzdnV.js +0 -21
  225. package/dist/chunks/getCountryFlagUrl.dQjriBXx.js +0 -9
  226. package/dist/chunks/idleTimeout.-ICpdeGV.js +0 -111
  227. package/dist/chunks/isServer.BokzeB-Q.js +0 -6
  228. package/dist/chunks/isStandaloneMode.BpUpOTbA.js +0 -10
  229. package/dist/chunks/pascalCase.D_nuQ66I.js +0 -11
  230. package/dist/chunks/swipeHandler.8emelhOL.js +0 -80
  231. package/dist/chunks/throttle.DN8ARw0a.js +0 -11
  232. package/dist/chunks/throttleId.7PhWZjcS.js +0 -62
  233. package/dist/chunks/userVisibility.BbQSJASv.js +0 -50
  234. package/dist/chunks/x-mark.CTalOvvY.js +0 -23
  235. package/dist/components/MazDialogPromise.js +0 -6
  236. package/dist/types/components/MazDialogPromise/useMazDialogPromise.d.ts +0 -54
  237. package/dist/types/components/MazInputPhoneNumber/types.d.ts +0 -22
  238. package/dist/types/composables/useFormValidator/utils.d.ts +0 -116
@@ -1,12 +1,15 @@
1
1
  import { MazTranslationsNestedSchema } from '@maz-ui/translations/src/types.js';
2
2
  import { HTMLAttributes } from 'vue';
3
- import { PopoverPosition } from './MazPopover.vue';
4
- import { MazColor, MazSize } from './types';
5
3
  import { CodesType, DisplayNameCode, DisplayNamesOptions } from '../composables/useDisplayNames';
4
+ import { MazPopoverPosition } from './MazPopover.vue';
6
5
  import { MazSelectProps } from './MazSelect.vue';
6
+ import { MazColor, MazSize } from './types';
7
7
  export interface MazSelectCountryProps<Option extends {
8
8
  name: string;
9
9
  code: DisplayNameCode | string;
10
+ } = {
11
+ name: string;
12
+ code: string;
10
13
  }> extends Omit<MazSelectProps<Option['code'], Option, false>, 'options' | 'multiple'> {
11
14
  /**
12
15
  * Style attribut of the component root element
@@ -54,7 +57,7 @@ export interface MazSelectCountryProps<Option extends {
54
57
  * @type {PopoverPosition}
55
58
  * @default bottom-start
56
59
  */
57
- listPosition?: PopoverPosition;
60
+ listPosition?: MazPopoverPosition;
58
61
  /**
59
62
  * Hide flags
60
63
  */
@@ -89,7 +92,7 @@ export interface MazSelectCountryProps<Option extends {
89
92
  */
90
93
  warning?: boolean;
91
94
  /**
92
- * Country selector display name
95
+ *
93
96
  */
94
97
  displayCode?: boolean;
95
98
  /**
@@ -124,6 +127,12 @@ export interface MazSelectCountryProps<Option extends {
124
127
  * @values 'iso' | 'bcp' | 'country' | 'all'
125
128
  */
126
129
  codesType?: CodesType;
130
+ /**
131
+ * Open the select
132
+ * @type {boolean}
133
+ * @default false
134
+ */
135
+ open?: boolean;
127
136
  }
128
137
  declare const _default: <Option extends {
129
138
  name: string;
@@ -33,13 +33,24 @@ export interface MazStepperProps {
33
33
  /** Allow to close the steps */
34
34
  canCloseSteps?: boolean;
35
35
  }
36
- declare function __VLS_template(): any;
36
+ declare function __VLS_template(): {
37
+ attrs: Partial<{}>;
38
+ slots: Partial<Record<`icon-${number}`, (_: {}) => any>> & Partial<Record<`title-${number}`, (_: {}) => any>> & Partial<Record<`subtitle-${number}`, (_: {}) => any>> & Partial<Record<`title-info-${number}`, (_: {}) => any>> & Partial<Record<`content-${number}`, (_: {
39
+ validated: boolean;
40
+ error: boolean | undefined;
41
+ warning: boolean | undefined;
42
+ nextStep: () => void;
43
+ previousStep: () => void;
44
+ }) => any>>;
45
+ refs: {};
46
+ rootEl: HTMLDivElement;
47
+ };
37
48
  type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
38
49
  declare const __VLS_component: import('vue').DefineComponent<MazStepperProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
39
50
  "update:model-value": (value: number) => any;
40
51
  }, string, import('vue').PublicProps, Readonly<MazStepperProps> & Readonly<{
41
52
  "onUpdate:model-value"?: ((value: number) => any) | undefined;
42
- }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
53
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
43
54
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
44
55
  export default _default;
45
56
  type __VLS_WithTemplateSlots<T, S> = T & {
@@ -244,10 +244,71 @@ declare const _default: <T extends MazTableRow<T>>(__VLS_props: NonNullable<Awai
244
244
  readonly "onUpdate:search-query"?: ((searchQuery: string | undefined) => any) | undefined;
245
245
  readonly "onUpdate:page"?: ((page: number) => any) | undefined;
246
246
  readonly "onUpdate:page-size"?: ((pageSize: number) => any) | undefined;
247
- } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, never>, "onUpdate:model-value" | "onUpdate:search-query" | "onUpdate:page" | "onUpdate:page-size"> & MazTableProps<T> & any> & import('vue').PublicProps;
247
+ } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, never>, "onUpdate:model-value" | "onUpdate:search-query" | "onUpdate:page" | "onUpdate:page-size"> & MazTableProps<T> & Partial<{}>> & import('vue').PublicProps;
248
248
  expose(exposed: import('vue').ShallowUnwrapRef<{}>): void;
249
249
  attrs: any;
250
- slots: any;
250
+ slots: Partial<Record<`header-label-${string}`, (_: {
251
+ header: {
252
+ label: string;
253
+ key?: string | undefined;
254
+ sortable?: boolean | undefined;
255
+ hidden?: boolean | undefined;
256
+ srOnly?: boolean | undefined;
257
+ width?: string | undefined;
258
+ maxWidth?: string | undefined;
259
+ classes?: ThHTMLAttributes["class"];
260
+ scope?: string | undefined;
261
+ align?: "justify" | "center" | "left" | "right" | "char" | undefined;
262
+ rowspan?: (string | number) | undefined;
263
+ colspan?: (string | number) | undefined;
264
+ headers?: string | undefined;
265
+ thHeaders?: string | undefined;
266
+ sorted?: "ASC" | "DESC" | undefined;
267
+ };
268
+ label: string;
269
+ }) => any>> & Partial<Record<`cell-${string}`, (_: {
270
+ row: T;
271
+ value: any;
272
+ }) => any>> & {
273
+ title?(_: {}): any;
274
+ caption?(_: {}): any;
275
+ thead?(_: {}): any;
276
+ header?(_: {
277
+ header: {
278
+ label: string;
279
+ key?: string | undefined;
280
+ sortable?: boolean | undefined;
281
+ hidden?: boolean | undefined;
282
+ srOnly?: boolean | undefined;
283
+ width?: string | undefined;
284
+ maxWidth?: string | undefined;
285
+ classes?: ThHTMLAttributes["class"];
286
+ scope?: string | undefined;
287
+ align?: "justify" | "center" | "left" | "right" | "char" | undefined;
288
+ rowspan?: (string | number) | undefined;
289
+ colspan?: (string | number) | undefined;
290
+ headers?: string | undefined;
291
+ thHeaders?: string | undefined;
292
+ sorted?: "ASC" | "DESC" | undefined;
293
+ };
294
+ label: string;
295
+ }): any;
296
+ 'actions-header'?(_: {}): any;
297
+ default?(_: {}): any;
298
+ select?(_: {
299
+ row: T;
300
+ selected: boolean | undefined;
301
+ }): any;
302
+ cell?(_: {
303
+ row: T;
304
+ value: any;
305
+ }): any;
306
+ actions?(_: {
307
+ row: T;
308
+ }): any;
309
+ 'no-results'?(_: {}): any;
310
+ 'no-results-text'?(_: {}): any;
311
+ };
251
312
  emit: {
252
313
  (event: "update:model-value", value: (MazTableRow<T> | string | number | boolean)[] | undefined): void;
253
314
  (event: "update:search-query", searchQuery: string | undefined): void;
@@ -34,12 +34,12 @@ export { default as MazDatePicker } from './MazDatePicker.vue';
34
34
  export type { MazDatePickerPartialRangeValue, MazDatePickerProps, MazDatePickerRangeValue, MazDatePickerShortcut, MazDatePickerValue } from './MazDatePicker.vue';
35
35
  export { default as MazDialog } from './MazDialog.vue';
36
36
  export type { MazDialogProps } from './MazDialog.vue';
37
- export { default as MazDialogPromise, useMazDialogPromise } from './MazDialogPromise.vue';
38
- export type { MazDialogPromiseButton, MazDialogPromiseData, MazDialogPromiseProps } from './MazDialogPromise.vue';
37
+ export { default as MazDialogConfirm, useMazDialogConfirm } from './MazDialogConfirm.vue';
38
+ export type { MazDialogConfirmButton, MazDialogConfirmData, MazDialogConfirmProps } from './MazDialogConfirm.vue';
39
39
  export { default as MazDrawer } from './MazDrawer.vue';
40
40
  export type { MazDrawerProps } from './MazDrawer.vue';
41
41
  export { default as MazDropdown } from './MazDropdown.vue';
42
- export type { MazDropdownProps } from './MazDropdown.vue';
42
+ export type { MazDropdownMenuItem, MazDropdownProps } from './MazDropdown.vue';
43
43
  export { default as MazDropzone } from './MazDropzone.vue';
44
44
  export type { MazDropzoneErrorCode, MazDropzoneFileData, MazDropzoneProps } from './MazDropzone.vue';
45
45
  export { default as MazExpandAnimation } from './MazExpandAnimation.vue';
@@ -71,7 +71,7 @@ export type { MazLoadingBarProps } from './MazLoadingBar.vue';
71
71
  export { default as MazPagination } from './MazPagination.vue';
72
72
  export type { MazPaginationProps } from './MazPagination.vue';
73
73
  export { default as MazPopover } from './MazPopover.vue';
74
- export type { PopoverPosition as MazPopoverPosition, MazPopoverProps, PopoverRole as MazPopoverRole, PopoverTrigger as MazPopoverTrigger } from './MazPopover.vue';
74
+ export type { MazPopoverPosition, MazPopoverProps, MazPopoverRole, MazPopoverTrigger } from './MazPopover.vue';
75
75
  export { default as MazPullToRefresh } from './MazPullToRefresh.vue';
76
76
  export type { MazPullToRefreshProps } from './MazPullToRefresh.vue';
77
77
  export { default as MazRadio } from './MazRadio.vue';
@@ -1,3 +1,4 @@
1
1
  import { colors } from './constantes';
2
2
  export type MazColor = (typeof colors)[number];
3
3
  export type MazSize = 'mini' | 'xs' | 'sm' | 'md' | 'lg' | 'xl';
4
+ export declare function getColor(color: MazColor | 'background'): "primary" | "secondary" | "accent" | "info" | "success" | "warning" | "destructive" | "contrast" | "transparent" | "surface";
@@ -2,9 +2,10 @@ export * from './useAos';
2
2
  export * from './useBreakpoints';
3
3
  export * from './useDialog';
4
4
  export * from './useDisplayNames';
5
+ export * from './useDropzone';
5
6
  export * from './useFormField';
6
7
  export * from './useFormValidator';
7
- export * from './useFormValidator/types';
8
+ export type { FieldsStates, FieldState, FormFieldOptions, FormSchema, FormValidatorOptions, InferOutputSchemaFormValidator, InferSchemaFormValidator } from './useFormValidator/types';
8
9
  export * from './useFreezeValue';
9
10
  export * from './useIdleTimeout';
10
11
  export * from './useInjectStrict';
@@ -34,8 +34,8 @@ type GetAllDisplayNamesOptions<T extends CodesType> = MaybeRefOrGetter<{
34
34
  } & DynamicDisplayNamesOptions>;
35
35
  type CodeResult<T extends CodesType> = T extends 'iso' ? Iso6391Code : T extends 'bcp' ? Bcp47Code : T extends 'country' ? CountryCode : DisplayNameCode | string;
36
36
  export declare function useDisplayNames(mainLocale?: MaybeRefOrGetter<string | DisplayNameCode>): {
37
- getDisplayName: (code: Parameters<typeof getDisplayName>[0], options: GetDisplayNameOptions) => import('vue').ComputedRef<string | undefined>;
38
- getAllDisplayNames: <T extends CodesType>(options: GetAllDisplayNamesOptions<T>) => import('vue').ComputedRef<{
37
+ getDisplayName: (code: Parameters<typeof getDisplayName>[0], options?: GetDisplayNameOptions) => import('vue').ComputedRef<string | undefined>;
38
+ getAllDisplayNames: <T extends CodesType>(options?: GetAllDisplayNamesOptions<T>) => import('vue').ComputedRef<{
39
39
  name: string;
40
40
  code: CodeResult<T>;
41
41
  }[] | undefined>;
@@ -1,10 +1,10 @@
1
1
  import { MaybeRef, MaybeRefOrGetter, Ref } from 'vue';
2
- export interface UseDropZoneReturn {
2
+ export interface UseDropzoneReturn {
3
3
  files: Ref<File[] | null>;
4
4
  isOverDropZone: Ref<boolean>;
5
5
  isOverError: Ref<boolean>;
6
6
  }
7
- export interface UseDropZoneOptions {
7
+ export interface UseDropzoneOptions {
8
8
  /**
9
9
  * Allowed data types, if not set, all data types are allowed.
10
10
  * Also can be a function to check the data types.
@@ -24,4 +24,4 @@ export interface UseDropZoneOptions {
24
24
  */
25
25
  preventDefaultForUnhandled?: boolean;
26
26
  }
27
- export declare function useDropZone(target: MaybeRefOrGetter<HTMLElement | null | undefined>, options?: UseDropZoneOptions | UseDropZoneOptions['onDrop']): UseDropZoneReturn;
27
+ export declare function useDropzone(target: MaybeRefOrGetter<HTMLElement | null | undefined>, options?: UseDropzoneOptions | UseDropzoneOptions['onDrop']): UseDropzoneReturn;
@@ -1,56 +1,16 @@
1
- import { ComputedRef, WritableComputedRef } from 'vue';
2
- import { BaseFormPayload, ExtractModelKey, FormFieldOptions, FormSchema, ValidationIssues } from '../composables/useFormValidator/types';
3
- import { getValidationEvents } from '../composables/useFormValidator/utils';
4
- interface UseFormFieldReturn<FieldType> {
5
- /**
6
- * Indicates if the field has an error
7
- */
8
- hasError: ComputedRef<boolean>;
9
- /**
10
- * Errors of the field
11
- */
12
- errors: ComputedRef<ValidationIssues>;
13
- /**
14
- * Error message of the field
15
- * It's the first error of the field
16
- */
17
- errorMessage: ComputedRef<string | undefined>;
18
- /**
19
- * Indicates if the field is valid
20
- */
21
- isValid: ComputedRef<boolean>;
22
- /**
23
- * Indicates if the field has been modified
24
- */
25
- isDirty: ComputedRef<boolean>;
26
- /**
27
- * Indicates if the field has been blurred
28
- */
29
- isBlurred: ComputedRef<boolean>;
30
- /**
31
- * Indicates if the field has been validated
32
- */
33
- isValidated: ComputedRef<boolean>;
34
- /**
35
- * Indicates if the field is validating
36
- */
37
- isValidating: ComputedRef<boolean>;
38
- /**
39
- * Validation mode of the field
40
- */
41
- mode: ComputedRef<FormFieldOptions<FieldType>['mode']>;
42
- /**
43
- * Value of the field
44
- */
45
- value: WritableComputedRef<FieldType>;
46
- /**
47
- * Validation events of the field
48
- */
49
- validationEvents: ComputedRef<ReturnType<typeof getValidationEvents>>;
50
- /**
51
- * Function to handle the blur event of the field
52
- */
53
- onBlur: () => void;
54
- }
55
- export declare function useFormField<FieldType extends Model[ExtractModelKey<FormSchema<Model>>], Model extends BaseFormPayload = BaseFormPayload>(name: ExtractModelKey<FormSchema<Model>>, options?: FormFieldOptions<FieldType>): UseFormFieldReturn<FieldType>;
56
- export {};
1
+ import { BaseFormPayload, ExtractModelKey, FormFieldOptions, FormSchema } from './useFormValidator/types';
2
+ export declare function useFormField<FieldType, Model extends BaseFormPayload = BaseFormPayload, ModelKey extends ExtractModelKey<FormSchema<Model>> = ExtractModelKey<FormSchema<Model>>>(name: ModelKey, options?: FormFieldOptions<Model, ModelKey, FieldType>): {
3
+ hasError: import('vue').ComputedRef<boolean>;
4
+ errors: import('vue').ComputedRef<import('./useFormValidator/types').ValidationIssues>;
5
+ errorMessage: import('vue').ComputedRef<Record<ModelKey, string | undefined>[ModelKey]>;
6
+ isValid: import('vue').ComputedRef<boolean>;
7
+ isDirty: import('vue').ComputedRef<boolean>;
8
+ isBlurred: import('vue').ComputedRef<boolean>;
9
+ isValidated: import('vue').ComputedRef<boolean>;
10
+ isValidating: import('vue').ComputedRef<boolean>;
11
+ mode: import('vue').ComputedRef<"blur" | "eager" | "lazy" | "aggressive" | "progressive" | undefined>;
12
+ value: import('vue').WritableComputedRef<FieldType, FieldType>;
13
+ validationEvents: import('vue').ComputedRef<{
14
+ onBlur: () => void;
15
+ } | undefined>;
16
+ };
@@ -1,6 +1,6 @@
1
- import { StrictOptions } from './types';
1
+ import { BaseFormPayload, ExtractModelKey, FormSchema, StrictOptions } from './types';
2
2
  export declare const CONFIG: {
3
- mode: StrictOptions['mode'];
3
+ mode: StrictOptions<BaseFormPayload, ExtractModelKey<FormSchema<BaseFormPayload>>>['mode'];
4
4
  scrollToErrorSelector: string;
5
5
  debounceTime: number;
6
6
  throttleTime: number;
@@ -0,0 +1,19 @@
1
+ import { BaseFormPayload, ExtractModelKey, FieldState, FormSchema, StrictOptions } from './types';
2
+ export declare function scrollToError(selector?: string): void;
3
+ export declare function findInteractiveElements(el: HTMLElement): HTMLElement[];
4
+ export declare function addEventToInteractiveElements({ interactiveElements, onBlur, mode, }: {
5
+ interactiveElements: HTMLElement[];
6
+ onBlur: () => void;
7
+ mode: StrictOptions<BaseFormPayload, ExtractModelKey<FormSchema<BaseFormPayload>>>['mode'];
8
+ }): void;
9
+ export declare function removeEventFromInteractiveElements({ interactiveElements, onBlur, }: {
10
+ interactiveElements: HTMLElement[];
11
+ onBlur: () => void;
12
+ }): void;
13
+ export declare function getValidationEvents<Model extends BaseFormPayload, ModelKey extends ExtractModelKey<FormSchema<Model>>, F extends FieldState<Model, ModelKey, Model[ModelKey]>>({ hasRef, fieldState, onBlur, }: {
14
+ hasRef?: boolean;
15
+ fieldState: F;
16
+ onBlur: () => void;
17
+ }): {
18
+ onBlur: () => void;
19
+ } | undefined;
@@ -0,0 +1,72 @@
1
+ import { InjectionKey } from 'vue';
2
+ import { BaseFormPayload, CustomInstance, ExtractModelKey, FieldsStates, FieldState, FormContext, FormFieldOptions, FormSchema, StrictOptions } from './types';
3
+ export declare function getFieldState<Model extends BaseFormPayload = BaseFormPayload, ModelKey extends ExtractModelKey<FormSchema<Model>> = ExtractModelKey<FormSchema<Model>>, FieldType = Model[ModelKey]>({ name, schema, initialValue, fieldState, options, }: {
4
+ name: ModelKey;
5
+ schema?: FormSchema<Model>;
6
+ initialValue?: FieldType;
7
+ fieldState: FieldState<Model, ModelKey, FieldType>;
8
+ options?: Pick<StrictOptions<Model, ModelKey>, 'debouncedFields' | 'throttledFields' | 'mode'>;
9
+ }): FieldState<Model, ModelKey, FieldType>;
10
+ export declare function fieldHasValidation<Model extends BaseFormPayload, ModelKey extends ExtractModelKey<FormSchema<Model>>>(field: ModelKey, schema: FormSchema<Model>): boolean;
11
+ export declare function getFieldsStates<Model extends BaseFormPayload, ModelKey extends ExtractModelKey<FormSchema<Model>> = ExtractModelKey<FormSchema<Model>>>({ schema, payload, options, }: {
12
+ schema: FormSchema<Model>;
13
+ payload: Partial<Model>;
14
+ options: StrictOptions<Model, ModelKey>;
15
+ }): FieldsStates<Model, ModelKey>;
16
+ export declare function updateFieldsStates<Model extends BaseFormPayload, ModelKey extends ExtractModelKey<FormSchema<Model>> = ExtractModelKey<FormSchema<Model>>>({ fieldsStates, payload, schema, options, updateMode, }: {
17
+ fieldsStates: FieldsStates<Model, ModelKey>;
18
+ payload: Model;
19
+ schema: FormSchema<Model>;
20
+ options: StrictOptions<Model, ModelKey>;
21
+ updateMode?: boolean;
22
+ }): void;
23
+ export declare function updateFieldState<Model extends BaseFormPayload, ModelKey extends ExtractModelKey<FormSchema<Model>> = ExtractModelKey<FormSchema<Model>>, FieldType = Model[ModelKey]>({ name, fieldState, payload, schema, options, updateMode, }: {
24
+ name: ModelKey;
25
+ fieldState: FieldState<Model, ModelKey, FieldType>;
26
+ payload: Model;
27
+ schema: FormSchema<Model>;
28
+ options: FormFieldOptions<Model, ModelKey, FieldType> & StrictOptions<Model, ModelKey>;
29
+ updateMode?: boolean;
30
+ }): {
31
+ blurred: boolean;
32
+ dirty: boolean;
33
+ error: boolean;
34
+ errors: import('./types').ValidationIssues;
35
+ valid: boolean;
36
+ validating: boolean;
37
+ validated: boolean;
38
+ validateFunction: ((args_0: {
39
+ name: ModelKey;
40
+ fieldState: FieldState<Model, ModelKey, Model[ModelKey]>;
41
+ schema: FormSchema<Model>;
42
+ payload: Model;
43
+ setError?: boolean;
44
+ setErrorIfInvalidAndNotEmpty?: boolean;
45
+ }) => Promise<void>) | undefined;
46
+ initialValue: Readonly<FieldType> | undefined;
47
+ mode: "blur" | "eager" | "lazy" | "aggressive" | "progressive" | undefined;
48
+ };
49
+ export declare function canExecuteValidation<Model extends BaseFormPayload, ModelKey extends ExtractModelKey<FormSchema<Model>> = ExtractModelKey<FormSchema<Model>>, FieldType = Model[ModelKey]>({ eventName, fieldState, isSubmitted, }: {
50
+ eventName: 'blur' | 'input';
51
+ fieldState: FieldState<Model, ModelKey, FieldType>;
52
+ isSubmitted: boolean;
53
+ }): boolean;
54
+ export declare function handleFieldBlur<Model extends BaseFormPayload, ModelKey extends ExtractModelKey<FormSchema<Model>> = ExtractModelKey<FormSchema<Model>>, FieldType = Model[ModelKey]>({ name, force, payload, fieldState, schema, isSubmitted, }: {
55
+ name: ModelKey;
56
+ payload: Model;
57
+ fieldState: FieldState<Model, ModelKey, FieldType>;
58
+ schema: FormSchema<Model>;
59
+ isSubmitted: boolean;
60
+ force?: boolean;
61
+ }): Promise<void> | undefined;
62
+ export declare function handleFieldInput<Model extends BaseFormPayload, ModelKey extends ExtractModelKey<FormSchema<Model>> = ExtractModelKey<FormSchema<Model>>, FieldType = Model[ModelKey]>({ name, payload, fieldState, schema, isSubmitted, forceValidation, }: {
63
+ name: ModelKey;
64
+ payload: Model;
65
+ fieldState: FieldState<Model, ModelKey, FieldType>;
66
+ schema: FormSchema<Model>;
67
+ isSubmitted: boolean;
68
+ forceValidation?: boolean;
69
+ }): Promise<void> | undefined;
70
+ export declare function hasModeIncludes<Model extends BaseFormPayload, ModelKey extends ExtractModelKey<FormSchema<Model>> = ExtractModelKey<FormSchema<Model>>>(modes: StrictOptions<Model, ModelKey>['mode'][], value?: StrictOptions<Model, ModelKey>['mode']): value is StrictOptions<Model, ModelKey>['mode'];
71
+ export declare function getInstance<Model extends BaseFormPayload, ModelKey extends ExtractModelKey<FormSchema<Model>> = ExtractModelKey<FormSchema<Model>>>(composableName: string): CustomInstance<Model, ModelKey>;
72
+ export declare function getContext<Model extends BaseFormPayload, ModelKey extends ExtractModelKey<FormSchema<Model>> = ExtractModelKey<FormSchema<Model>>>(identifier: string | symbol | InjectionKey<FormContext<Model, ModelKey>>, composableName: string): FormContext<Model, ModelKey>;
@@ -1,21 +1,16 @@
1
- import { DeepPartial } from '@maz-ui/utils/src/ts-helpers/DeepPartial.js';
2
- import { BaseIssue, BaseSchema, BaseSchemaAsync, InferIssue, InferOutput, objectAsync } from 'valibot';
3
- import { ComponentInternalInstance, ComponentPublicInstance, InjectionKey, MaybeRef, Ref } from 'vue';
4
- import { useFormField } from './../useFormField';
5
- import { useFormValidator } from './../useFormValidator';
6
- import { getValidateFunction } from './utils';
7
- export type ValidationSync = BaseSchema<unknown, unknown, BaseIssue<unknown>>;
8
- export type ValidationAsync = ValidationSync | BaseSchemaAsync<unknown, unknown, BaseIssue<unknown>>;
9
- export type Validation = ValidationAsync;
1
+ import { BaseIssue, BaseSchema, BaseSchemaAsync, InferInput, InferIssue, InferOutput, objectAsync } from 'valibot';
2
+ import { ComponentInternalInstance, InjectionKey, Ref, TemplateRef } from 'vue';
3
+ import { getValidateFunction } from './validation';
4
+ export type Validation = BaseSchema<unknown, unknown, BaseIssue<unknown>> | BaseSchemaAsync<unknown, unknown, BaseIssue<unknown>>;
10
5
  export type ValidationIssues = InferIssue<Validation>[];
11
6
  export type ExtractModelKey<T> = Extract<keyof T, string>;
12
- export type FormSchema<Model> = {
7
+ export type FormSchema<Model extends BaseFormPayload> = {
13
8
  [K in Extract<keyof Model, string> as Model[K] extends Required<Model>[K] ? K : never]: Validation;
14
9
  } & {
15
10
  [K in Extract<keyof Model, string> as Model[K] extends Required<Model>[K] ? never : K]?: Validation;
16
11
  };
17
- export type CustomInstance<Model extends BaseFormPayload> = ComponentInternalInstance & {
18
- formContexts?: Map<string | symbol | InjectionKey<FormContext<Model>>, FormContext<Model>>;
12
+ export type CustomInstance<Model extends BaseFormPayload, ModelKey extends ExtractModelKey<FormSchema<Model>>> = ComponentInternalInstance & {
13
+ formContexts?: Map<string | symbol | InjectionKey<FormContext<Model, ModelKey>>, FormContext<Model, ModelKey>>;
19
14
  };
20
15
  export interface FormValidatorOptions<Model extends BaseFormPayload = BaseFormPayload, ModelKey extends ExtractModelKey<FormSchema<Model>> = ExtractModelKey<FormSchema<Model>>> {
21
16
  /**
@@ -53,16 +48,16 @@ export interface FormValidatorOptions<Model extends BaseFormPayload = BaseFormPa
53
48
  */
54
49
  identifier?: string | symbol;
55
50
  }
56
- export type StrictOptions<Model extends BaseFormPayload = BaseFormPayload> = Required<FormValidatorOptions<Model>>;
57
- export interface FormContext<Model extends BaseFormPayload = BaseFormPayload, ModelKey extends ExtractModelKey<FormSchema<Model>> = ExtractModelKey<FormSchema<Model>>> {
58
- fieldsStates: Ref<FieldsStates<Model>>;
59
- options: StrictOptions;
51
+ export type StrictOptions<Model extends BaseFormPayload, ModelKey extends ExtractModelKey<FormSchema<Model>>> = Required<FormValidatorOptions<Model, ModelKey>>;
52
+ export interface FormContext<Model extends BaseFormPayload, ModelKey extends ExtractModelKey<FormSchema<Model>>> {
53
+ fieldsStates: Ref<FieldsStates<Model, ModelKey>>;
54
+ options: StrictOptions<Model, ModelKey>;
60
55
  internalSchema: Ref<FormSchema<Model>>;
61
56
  payload: Ref<Model>;
62
57
  errorMessages: Ref<Record<ModelKey, string | undefined>>;
63
58
  isSubmitted: Ref<boolean>;
64
59
  }
65
- export interface FieldState<Model extends BaseFormPayload, FieldType = Model[ExtractModelKey<FormSchema<Model>>]> {
60
+ export interface FieldState<Model extends BaseFormPayload, ModelKey extends ExtractModelKey<FormSchema<Model>>, FieldType = Model[ModelKey]> {
66
61
  blurred: boolean;
67
62
  dirty: boolean;
68
63
  error: boolean;
@@ -71,12 +66,12 @@ export interface FieldState<Model extends BaseFormPayload, FieldType = Model[Ext
71
66
  initialValue?: Readonly<FieldType>;
72
67
  validating: boolean;
73
68
  validated: boolean;
74
- validateFunction: ReturnType<typeof getValidateFunction<Model>>;
75
- mode?: StrictOptions['mode'];
69
+ validateFunction: ReturnType<typeof getValidateFunction<Model, ModelKey>>;
70
+ mode?: StrictOptions<Model, ModelKey>['mode'];
76
71
  }
77
- export type FieldsStates<Model extends BaseFormPayload = BaseFormPayload> = Record<ExtractModelKey<Model>, FieldState<Model>>;
72
+ export type FieldsStates<Model extends BaseFormPayload, ModelKey extends ExtractModelKey<FormSchema<Model>>> = Record<ModelKey, FieldState<Model, ModelKey, Model[ModelKey]>>;
78
73
  export type BaseFormPayload = Record<string, any>;
79
- export interface FormFieldOptions<FieldType> {
74
+ export interface FormFieldOptions<Model extends BaseFormPayload, ModelKey extends ExtractModelKey<FormSchema<Model>>, FieldType> {
80
75
  /**
81
76
  * Default value of the field
82
77
  * @default undefined
@@ -86,12 +81,12 @@ export interface FormFieldOptions<FieldType> {
86
81
  * Validation mode
87
82
  * To override the form validation mode
88
83
  */
89
- mode?: StrictOptions['mode'];
84
+ mode?: StrictOptions<Model, ModelKey>['mode'];
90
85
  /**
91
86
  * Reference to the component or HTML element to associate and trigger validation events
92
87
  * Necessary for 'eager', 'progressive' and 'blur' validation modes
93
88
  */
94
- ref?: Ref<HTMLElement | ComponentPublicInstance | undefined>;
89
+ ref?: Ref | TemplateRef;
95
90
  /**
96
91
  * Identifier for the form
97
92
  * Useful when you have multiple forms on the same component
@@ -99,12 +94,5 @@ export interface FormFieldOptions<FieldType> {
99
94
  */
100
95
  formIdentifier?: string | symbol;
101
96
  }
102
- export type UseFormValidator<Model extends BaseFormPayload = BaseFormPayload> = typeof useFormValidator<Model>;
103
- export interface UseFormValidatorParams<Model extends BaseFormPayload> {
104
- schema: MaybeRef<FormSchema<Model>>;
105
- defaultValues?: MaybeRef<DeepPartial<Model> | undefined | null>;
106
- model?: Ref<DeepPartial<Model> | undefined | null>;
107
- options?: FormValidatorOptions<Model>;
108
- }
109
- export type UseFormField<FieldType extends Model[ExtractModelKey<FormSchema<Model>>], Model extends BaseFormPayload = BaseFormPayload> = typeof useFormField<FieldType, Model>;
110
- export type InferSchemaFormValidator<T> = T extends Ref<infer U> ? U extends Record<string, Validation> ? InferOutput<ReturnType<typeof objectAsync<U>>> : never : T extends Record<string, Validation> ? InferOutput<ReturnType<typeof objectAsync<T>>> : never;
97
+ export type InferSchemaFormValidator<T> = T extends Ref<infer U> ? U extends FormSchema<BaseFormPayload> ? Partial<InferInput<ReturnType<typeof objectAsync<U>>>> : never : T extends (...args: any[]) => FormSchema<BaseFormPayload> ? Partial<InferInput<ReturnType<typeof objectAsync<ReturnType<T>>>>> : T extends FormSchema<BaseFormPayload> ? Partial<InferInput<ReturnType<typeof objectAsync<T>>>> : never;
98
+ export type InferOutputSchemaFormValidator<T> = T extends Ref<infer U> ? U extends FormSchema<BaseFormPayload> ? InferOutput<ReturnType<typeof objectAsync<U>>> : never : T extends (...args: any[]) => FormSchema<BaseFormPayload> ? InferOutput<ReturnType<typeof objectAsync<ReturnType<T>>>> : T extends FormSchema<BaseFormPayload> ? InferOutput<ReturnType<typeof objectAsync<T>>> : never;
@@ -0,0 +1,37 @@
1
+ import { BaseFormPayload, ExtractModelKey, FieldsStates, FieldState, FormSchema, StrictOptions, ValidationIssues } from './types';
2
+ export declare function isEmptyValue(value: unknown): value is null | undefined | '';
3
+ export declare function getValibotValidationMethod<MethodName extends keyof typeof import('valibot')>(methodName: MethodName): Promise<(typeof import('valibot'))[MethodName]>;
4
+ export declare function getValidationSchema<Model extends BaseFormPayload>(formSchema: FormSchema<Model>): Promise<import('valibot').ObjectSchemaAsync<FormSchema<Model>, undefined>>;
5
+ export declare function getFieldValidationResult<Model extends BaseFormPayload, ModelKey extends ExtractModelKey<FormSchema<Model>>>(name: ModelKey, schema: FormSchema<Model>, value: Model[ModelKey]): Promise<{
6
+ result: import('valibot').SafeParseResult<FormSchema<Model>[ModelKey]>;
7
+ isValid: boolean;
8
+ }>;
9
+ export declare function setFieldValidationState<Model extends BaseFormPayload, ModelKey extends ExtractModelKey<FormSchema<Model>>>({ name, fieldState, schema, payload, setError, setErrorIfInvalidAndNotEmpty, }: {
10
+ name: ModelKey;
11
+ fieldState: FieldState<Model, ModelKey, Model[ModelKey]>;
12
+ schema: FormSchema<Model>;
13
+ payload: Model;
14
+ setError?: boolean;
15
+ setErrorIfInvalidAndNotEmpty?: boolean;
16
+ }): Promise<void>;
17
+ export declare function validateForm<Model extends BaseFormPayload, ModelKey extends ExtractModelKey<FormSchema<Model>> = ExtractModelKey<FormSchema<Model>>>({ fieldsStates, payload, setErrors, schema, }: {
18
+ fieldsStates: FieldsStates<Model, ExtractModelKey<FormSchema<Model>>>;
19
+ setErrors?: boolean;
20
+ payload: Model;
21
+ schema: FormSchema<Model>;
22
+ }): Promise<void[]>;
23
+ export declare function getErrorMessages<Model extends BaseFormPayload = BaseFormPayload, ModelKey extends ExtractModelKey<FormSchema<Model>> = ExtractModelKey<FormSchema<Model>>>(errors: Record<ModelKey, ValidationIssues>, fieldsStates: FieldsStates<Model, ExtractModelKey<FormSchema<Model>>>): Record<ModelKey, string | undefined>;
24
+ export declare function getFieldsErrors<Model extends BaseFormPayload, ModelKey extends ExtractModelKey<FormSchema<Model>> = ExtractModelKey<FormSchema<Model>>>(fieldsStates: FieldsStates<Model, ExtractModelKey<FormSchema<Model>>>): Record<ModelKey, ValidationIssues>;
25
+ export declare function getValidateFunction<Model extends BaseFormPayload, ModelKey extends ExtractModelKey<FormSchema<Model>> = ExtractModelKey<FormSchema<Model>>>({ name, hasValidation, debouncedFields, throttledFields, }: {
26
+ name: ModelKey;
27
+ hasValidation: boolean;
28
+ debouncedFields?: StrictOptions<Model, ModelKey>['debouncedFields'];
29
+ throttledFields?: StrictOptions<Model, ModelKey>['throttledFields'];
30
+ }): ((args_0: {
31
+ name: ModelKey;
32
+ fieldState: FieldState<Model, ModelKey, Model[ModelKey]>;
33
+ schema: FormSchema<Model>;
34
+ payload: Model;
35
+ setError?: boolean;
36
+ setErrorIfInvalidAndNotEmpty?: boolean;
37
+ }) => Promise<void>) | undefined;
@@ -1,17 +1,23 @@
1
- import { Ref } from 'vue';
2
- import { BaseFormPayload, ExtractModelKey, FieldsStates, FormSchema, FormValidatorOptions, UseFormValidatorParams } from '../composables/useFormValidator/types';
3
- import { scrollToError } from '../composables/useFormValidator/utils';
4
- export declare function useFormValidator<Model extends BaseFormPayload>({ schema, defaultValues, model, options }: UseFormValidatorParams<Model>): {
1
+ import { DeepPartial } from '@maz-ui/utils/src/ts-helpers/DeepPartial.js';
2
+ import { MaybeRefOrGetter, Ref } from 'vue';
3
+ import { BaseFormPayload, ExtractModelKey, FieldsStates, FormSchema, FormValidatorOptions, InferOutputSchemaFormValidator, InferSchemaFormValidator } from './useFormValidator/types';
4
+ import { scrollToError } from './useFormValidator/dom-events';
5
+ export declare function useFormValidator<TSchema extends MaybeRefOrGetter<FormSchema<BaseFormPayload>>>({ schema, defaultValues, model, options }: {
6
+ schema: TSchema;
7
+ defaultValues?: MaybeRefOrGetter<DeepPartial<InferSchemaFormValidator<TSchema>> | undefined | null>;
8
+ model?: Ref<DeepPartial<InferSchemaFormValidator<TSchema>> | undefined | null>;
9
+ options?: FormValidatorOptions<InferSchemaFormValidator<TSchema>>;
10
+ }): {
5
11
  identifier: string | symbol;
6
12
  isDirty: import('vue').ComputedRef<boolean>;
7
13
  isSubmitting: Ref<boolean, boolean>;
8
14
  isSubmitted: Ref<boolean, boolean>;
9
15
  isValid: import('vue').ComputedRef<boolean>;
10
- errors: import('vue').ComputedRef<Record<ExtractModelKey<FormSchema<Model>>, import('.').ValidationIssues>>;
11
- model: Ref<Model, Model>;
12
- fieldsStates: Ref<FieldsStates<Model>, FieldsStates<Model>>;
13
- validateForm: (showErrors?: boolean) => Promise<void[]>;
16
+ errors: import('vue').ComputedRef<Record<ExtractModelKey<FormSchema<InferSchemaFormValidator<TSchema>>>, import('./useFormValidator/types').ValidationIssues>>;
17
+ model: Ref<InferSchemaFormValidator<TSchema>, InferSchemaFormValidator<TSchema>>;
18
+ fieldsStates: Ref<FieldsStates<InferSchemaFormValidator<TSchema>, ExtractModelKey<FormSchema<InferSchemaFormValidator<TSchema>>>>, FieldsStates<InferSchemaFormValidator<TSchema>, ExtractModelKey<FormSchema<InferSchemaFormValidator<TSchema>>>>>;
19
+ validateForm: (setErrors?: boolean) => Promise<void[]>;
14
20
  scrollToError: typeof scrollToError;
15
- handleSubmit: <Func extends (model: Model) => Promise<Awaited<ReturnType<Func>>> | ReturnType<Func>>(successCallback: Func, enableScrollOrSelector?: FormValidatorOptions["scrollToError"]) => (event?: Event) => Promise<ReturnType<Func> | undefined>;
16
- errorMessages: import('vue').ComputedRef<Record<ExtractModelKey<FormSchema<Model>>, string | undefined>>;
21
+ handleSubmit: <Func extends (model: InferOutputSchemaFormValidator<TSchema>) => Promise<Awaited<ReturnType<Func>>> | ReturnType<Func>>(successCallback: Func, enableScrollOrSelector?: FormValidatorOptions["scrollToError"]) => (event?: Event) => Promise<ReturnType<Func> | undefined>;
22
+ errorMessages: import('vue').ComputedRef<Record<ExtractModelKey<FormSchema<InferSchemaFormValidator<TSchema>>>, string | undefined>>;
17
23
  };
@@ -1,4 +1,4 @@
1
- import { IdleTimeoutCallback, IdleTimeoutOptions, IdleTimeout } from '@maz-ui/utils/src/utils/idleTimeout.js';
1
+ import { IdleTimeoutCallback, IdleTimeoutOptions, IdleTimeout } from '@maz-ui/utils/src/helpers/idleTimeout.js';
2
2
  export declare function useIdleTimeout({ callback, options, }: {
3
3
  callback: IdleTimeoutCallback;
4
4
  options?: IdleTimeoutOptions;
@@ -1,2 +1,2 @@
1
1
  import { InjectionKey } from 'vue';
2
- export declare function useInjectStrict<T>(key: string | InjectionKey<T> | symbol, fallback?: T): NonNullable<T>;
2
+ export declare function useInjectStrict<T>(key: string | InjectionKey<T> | symbol, fallback?: T, errorMessage?: string): NonNullable<T>;
@@ -1,4 +1,4 @@
1
- import { SwipeOptions } from '@maz-ui/utils/src/utils/swipeHandler.js';
1
+ import { SwipeOptions } from '@maz-ui/utils/src/helpers/swipeHandler.js';
2
2
  import { MaybeRef } from 'vue';
3
3
  export declare function useSwipe(options: Omit<SwipeOptions, 'onValuesChanged' | 'element'> & {
4
4
  element: MaybeRef<HTMLElement> | string | null | undefined;
@@ -1,4 +1,4 @@
1
- import { UserVisibility, UserVisibilyCallback, UserVisibilyOptions } from '@maz-ui/utils/src/utils/userVisibility.js';
1
+ import { UserVisibilyCallback, UserVisibilyOptions, UserVisibility } from '@maz-ui/utils/src/helpers/userVisibility.js';
2
2
  export declare function useUserVisibility({ callback, options, }: {
3
3
  callback: UserVisibilyCallback;
4
4
  options?: UserVisibilyOptions;