@mantis-core/ui 0.3.0 → 0.4.0

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 (146) hide show
  1. package/dist/components/Forms/ColorPickerInput.d.ts +10 -0
  2. package/dist/components/Forms/ColorPickerInput.d.ts.map +1 -0
  3. package/dist/components/Forms/ColorPickerInput.js +13 -0
  4. package/dist/components/Forms/ColorPickerInput.js.map +1 -0
  5. package/dist/components/Forms/Combobox.d.ts +10 -0
  6. package/dist/components/Forms/Combobox.d.ts.map +1 -0
  7. package/dist/components/Forms/Combobox.js +11 -0
  8. package/dist/components/Forms/Combobox.js.map +1 -0
  9. package/dist/components/Forms/DatePresets.d.ts +14 -0
  10. package/dist/components/Forms/DatePresets.d.ts.map +1 -0
  11. package/dist/components/Forms/DatePresets.js +55 -0
  12. package/dist/components/Forms/DatePresets.js.map +1 -0
  13. package/dist/components/Forms/OtpInput.d.ts +11 -0
  14. package/dist/components/Forms/OtpInput.d.ts.map +1 -0
  15. package/dist/components/Forms/OtpInput.js +11 -0
  16. package/dist/components/Forms/OtpInput.js.map +1 -0
  17. package/dist/components/Forms/PasswordInput.d.ts +12 -0
  18. package/dist/components/Forms/PasswordInput.d.ts.map +1 -0
  19. package/dist/components/Forms/PasswordInput.js +31 -0
  20. package/dist/components/Forms/PasswordInput.js.map +1 -0
  21. package/dist/components/Forms/RatingInput.d.ts +11 -0
  22. package/dist/components/Forms/RatingInput.d.ts.map +1 -0
  23. package/dist/components/Forms/RatingInput.js +11 -0
  24. package/dist/components/Forms/RatingInput.js.map +1 -0
  25. package/dist/components/Forms/TagsInput.d.ts +10 -0
  26. package/dist/components/Forms/TagsInput.d.ts.map +1 -0
  27. package/dist/components/Forms/TagsInput.js +11 -0
  28. package/dist/components/Forms/TagsInput.js.map +1 -0
  29. package/dist/components/auth/ChangePasswordForm.d.ts +16 -0
  30. package/dist/components/auth/ChangePasswordForm.d.ts.map +1 -0
  31. package/dist/components/auth/ChangePasswordForm.js +23 -0
  32. package/dist/components/auth/ChangePasswordForm.js.map +1 -0
  33. package/dist/components/auth/ForgotPasswordForm.d.ts +15 -0
  34. package/dist/components/auth/ForgotPasswordForm.d.ts.map +1 -0
  35. package/dist/components/auth/ForgotPasswordForm.js +14 -0
  36. package/dist/components/auth/ForgotPasswordForm.js.map +1 -0
  37. package/dist/components/auth/LoginForm.d.ts +22 -0
  38. package/dist/components/auth/LoginForm.d.ts.map +1 -0
  39. package/dist/components/auth/LoginForm.js +20 -0
  40. package/dist/components/auth/LoginForm.js.map +1 -0
  41. package/dist/components/auth/ResetPasswordForm.d.ts +16 -0
  42. package/dist/components/auth/ResetPasswordForm.d.ts.map +1 -0
  43. package/dist/components/auth/ResetPasswordForm.js +23 -0
  44. package/dist/components/auth/ResetPasswordForm.js.map +1 -0
  45. package/dist/components/auth/UserMenu.d.ts +22 -0
  46. package/dist/components/auth/UserMenu.d.ts.map +1 -0
  47. package/dist/components/auth/UserMenu.js +95 -0
  48. package/dist/components/auth/UserMenu.js.map +1 -0
  49. package/dist/components/auth/index.d.ts +11 -0
  50. package/dist/components/auth/index.d.ts.map +1 -0
  51. package/dist/components/auth/index.js +6 -0
  52. package/dist/components/auth/index.js.map +1 -0
  53. package/dist/components/charts/BarChart.d.ts +20 -0
  54. package/dist/components/charts/BarChart.d.ts.map +1 -0
  55. package/dist/components/charts/BarChart.js +28 -0
  56. package/dist/components/charts/BarChart.js.map +1 -0
  57. package/dist/components/charts/DonutChart.d.ts +21 -0
  58. package/dist/components/charts/DonutChart.d.ts.map +1 -0
  59. package/dist/components/charts/DonutChart.js +26 -0
  60. package/dist/components/charts/DonutChart.js.map +1 -0
  61. package/dist/components/charts/LineChart.d.ts +20 -0
  62. package/dist/components/charts/LineChart.d.ts.map +1 -0
  63. package/dist/components/charts/LineChart.js +27 -0
  64. package/dist/components/charts/LineChart.js.map +1 -0
  65. package/dist/components/charts/chart-setup.d.ts +3 -0
  66. package/dist/components/charts/chart-setup.d.ts.map +1 -0
  67. package/dist/components/charts/chart-setup.js +10 -0
  68. package/dist/components/charts/chart-setup.js.map +1 -0
  69. package/dist/components/charts/defaults.d.ts +13 -0
  70. package/dist/components/charts/defaults.d.ts.map +1 -0
  71. package/dist/components/charts/defaults.js +54 -0
  72. package/dist/components/charts/defaults.js.map +1 -0
  73. package/dist/components/charts/index.d.ts +9 -0
  74. package/dist/components/charts/index.d.ts.map +1 -0
  75. package/dist/components/charts/index.js +6 -0
  76. package/dist/components/charts/index.js.map +1 -0
  77. package/dist/components/data/DescriptionList.d.ts +11 -0
  78. package/dist/components/data/DescriptionList.d.ts.map +1 -0
  79. package/dist/components/data/DescriptionList.js +23 -0
  80. package/dist/components/data/DescriptionList.js.map +1 -0
  81. package/dist/components/data/StatCard.d.ts +14 -0
  82. package/dist/components/data/StatCard.d.ts.map +1 -0
  83. package/dist/components/data/StatCard.js +39 -0
  84. package/dist/components/data/StatCard.js.map +1 -0
  85. package/dist/components/data/Timeline.d.ts +15 -0
  86. package/dist/components/data/Timeline.d.ts.map +1 -0
  87. package/dist/components/data/Timeline.js +20 -0
  88. package/dist/components/data/Timeline.js.map +1 -0
  89. package/dist/components/feedback/Avatar.d.ts +9 -0
  90. package/dist/components/feedback/Avatar.d.ts.map +1 -0
  91. package/dist/components/feedback/Avatar.js +15 -0
  92. package/dist/components/feedback/Avatar.js.map +1 -0
  93. package/dist/components/feedback/CardSkeleton.d.ts +6 -0
  94. package/dist/components/feedback/CardSkeleton.d.ts.map +1 -0
  95. package/dist/components/feedback/CardSkeleton.js +7 -0
  96. package/dist/components/feedback/CardSkeleton.js.map +1 -0
  97. package/dist/components/feedback/EmptyState.d.ts +9 -0
  98. package/dist/components/feedback/EmptyState.d.ts.map +1 -0
  99. package/dist/components/feedback/EmptyState.js +6 -0
  100. package/dist/components/feedback/EmptyState.js.map +1 -0
  101. package/dist/components/feedback/ErrorBoundary.d.ts +18 -0
  102. package/dist/components/feedback/ErrorBoundary.d.ts.map +1 -0
  103. package/dist/components/feedback/ErrorBoundary.js +24 -0
  104. package/dist/components/feedback/ErrorBoundary.js.map +1 -0
  105. package/dist/components/feedback/TableSkeleton.d.ts +7 -0
  106. package/dist/components/feedback/TableSkeleton.d.ts.map +1 -0
  107. package/dist/components/feedback/TableSkeleton.js +7 -0
  108. package/dist/components/feedback/TableSkeleton.js.map +1 -0
  109. package/dist/components/feedback/Tag.d.ts +6 -0
  110. package/dist/components/feedback/Tag.d.ts.map +1 -0
  111. package/dist/components/feedback/Tag.js +7 -0
  112. package/dist/components/feedback/Tag.js.map +1 -0
  113. package/dist/components/navigation/CommandPalette.d.ts +17 -0
  114. package/dist/components/navigation/CommandPalette.d.ts.map +1 -0
  115. package/dist/components/navigation/CommandPalette.js +73 -0
  116. package/dist/components/navigation/CommandPalette.js.map +1 -0
  117. package/dist/components/navigation/PageTabs.d.ts +14 -0
  118. package/dist/components/navigation/PageTabs.d.ts.map +1 -0
  119. package/dist/components/navigation/PageTabs.js +21 -0
  120. package/dist/components/navigation/PageTabs.js.map +1 -0
  121. package/dist/components/overlays/Drawer.d.ts +6 -0
  122. package/dist/components/overlays/Drawer.d.ts.map +1 -0
  123. package/dist/components/overlays/Drawer.js +8 -0
  124. package/dist/components/overlays/Drawer.js.map +1 -0
  125. package/dist/components/overlays/Modal.d.ts +6 -0
  126. package/dist/components/overlays/Modal.d.ts.map +1 -0
  127. package/dist/components/overlays/Modal.js +8 -0
  128. package/dist/components/overlays/Modal.js.map +1 -0
  129. package/dist/components/pages/app-shell/AppShell.d.ts.map +1 -1
  130. package/dist/components/pages/app-shell/AppShell.js +11 -9
  131. package/dist/components/pages/app-shell/AppShell.js.map +1 -1
  132. package/dist/components/pages/app-shell/types.d.ts +4 -0
  133. package/dist/components/pages/app-shell/types.d.ts.map +1 -1
  134. package/dist/validation/index.d.ts +2 -0
  135. package/dist/validation/index.d.ts.map +1 -0
  136. package/dist/validation/index.js +3 -0
  137. package/dist/validation/index.js.map +1 -0
  138. package/dist/validation/rules.d.ts +10 -0
  139. package/dist/validation/rules.d.ts.map +1 -0
  140. package/dist/validation/rules.js +39 -0
  141. package/dist/validation/rules.js.map +1 -0
  142. package/dist/validation/zod.d.ts +2 -0
  143. package/dist/validation/zod.d.ts.map +1 -0
  144. package/dist/validation/zod.js +3 -0
  145. package/dist/validation/zod.js.map +1 -0
  146. package/package.json +39 -3
@@ -0,0 +1,10 @@
1
+ import { ColorPickerProps } from "primereact/colorpicker";
2
+ import React from "react";
3
+ import { ControllerProps } from "./types";
4
+ export interface ColorPickerInputProps extends Omit<ColorPickerProps, "name" | "defaultValue" | "value" | "onChange"> {
5
+ controller: ControllerProps;
6
+ block?: boolean;
7
+ }
8
+ declare const ColorPickerInput: React.FC<ColorPickerInputProps>;
9
+ export default ColorPickerInput;
10
+ //# sourceMappingURL=ColorPickerInput.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ColorPickerInput.d.ts","sourceRoot":"","sources":["../../../src/components/Forms/ColorPickerInput.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAe,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1C,MAAM,WAAW,qBACf,SAAQ,IAAI,CAAC,gBAAgB,EAAE,MAAM,GAAG,cAAc,GAAG,OAAO,GAAG,UAAU,CAAC;IAC9E,UAAU,EAAE,eAAe,CAAC;IAC5B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,QAAA,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAkBrD,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
@@ -0,0 +1,13 @@
1
+ "use client";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import classNames from "classnames";
4
+ import { ColorPicker } from "primereact/colorpicker";
5
+ import { Controller } from "react-hook-form";
6
+ const ColorPickerInput = (props) => {
7
+ const { controller, block, ...rest } = props;
8
+ return (_jsx(Controller, { ...controller, render: ({ field, formState }) => (_jsx(ColorPicker, { id: field.name, ...rest,
9
+ // ColorPicker uses hex string by default (format="hex")
10
+ value: field.value ?? "ffffff", onChange: (e) => field.onChange(e.value), disabled: formState.isSubmitting || rest.disabled, className: classNames(rest.className, { "w-full": block }) })) }));
11
+ };
12
+ export default ColorPickerInput;
13
+ //# sourceMappingURL=ColorPickerInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ColorPickerInput.js","sourceRoot":"","sources":["../../../src/components/Forms/ColorPickerInput.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AACb,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,WAAW,EAAoB,MAAM,wBAAwB,CAAC;AAEvE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAS7C,MAAM,gBAAgB,GAAoC,CAAC,KAAK,EAAE,EAAE;IAClE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IAC7C,OAAO,CACL,KAAC,UAAU,OACL,UAAU,EACd,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAChC,KAAC,WAAW,IACV,EAAE,EAAE,KAAK,CAAC,IAAI,KACV,IAAI;YACR,wDAAwD;YACxD,KAAK,EAAG,KAAK,CAAC,KAAgB,IAAI,QAAQ,EAC1C,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAe,CAAC,EAClD,QAAQ,EAAE,SAAS,CAAC,YAAY,IAAI,IAAI,CAAC,QAAQ,EACjD,SAAS,EAAE,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,GAC1D,CACH,GACD,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { AutoCompleteProps } from "primereact/autocomplete";
2
+ import React from "react";
3
+ import { ControllerProps } from "./types";
4
+ export interface ComboboxProps extends Omit<AutoCompleteProps, "name" | "defaultValue" | "value" | "onChange" | "onBlur"> {
5
+ controller: ControllerProps;
6
+ block?: boolean;
7
+ }
8
+ declare const Combobox: React.FC<ComboboxProps>;
9
+ export default Combobox;
10
+ //# sourceMappingURL=Combobox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Combobox.d.ts","sourceRoot":"","sources":["../../../src/components/Forms/Combobox.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAgB,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1C,MAAM,WAAW,aACf,SAAQ,IAAI,CAAC,iBAAiB,EAAE,MAAM,GAAG,cAAc,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,CAAC;IAC1F,UAAU,EAAE,eAAe,CAAC;IAC5B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,QAAA,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAsBrC,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -0,0 +1,11 @@
1
+ "use client";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import classNames from "classnames";
4
+ import { AutoComplete } from "primereact/autocomplete";
5
+ import { Controller } from "react-hook-form";
6
+ const Combobox = (props) => {
7
+ const { controller, block, ...rest } = props;
8
+ return (_jsx(Controller, { ...controller, render: ({ field, fieldState, formState }) => (_jsx(AutoComplete, { id: field.name, ...rest, name: field.name, ref: field.ref, value: field.value ?? "", onChange: (e) => field.onChange(e.value), onBlur: field.onBlur, disabled: formState.isSubmitting || rest.disabled, invalid: fieldState.invalid, className: classNames(rest.className, { "w-full": block }), inputClassName: classNames({ "w-full": block }) })) }));
9
+ };
10
+ export default Combobox;
11
+ //# sourceMappingURL=Combobox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Combobox.js","sourceRoot":"","sources":["../../../src/components/Forms/Combobox.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AACb,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,YAAY,EAAqB,MAAM,yBAAyB,CAAC;AAE1E,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAS7C,MAAM,QAAQ,GAA4B,CAAC,KAAK,EAAE,EAAE;IAClD,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IAC7C,OAAO,CACL,KAAC,UAAU,OACL,UAAU,EACd,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAC5C,KAAC,YAAY,IACX,EAAE,EAAE,KAAK,CAAC,IAAI,KACV,IAAI,EACR,IAAI,EAAE,KAAK,CAAC,IAAI,EAChB,GAAG,EAAE,KAAK,CAAC,GAAG,EACd,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE,EACxB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,EACxC,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,QAAQ,EAAE,SAAS,CAAC,YAAY,IAAI,IAAI,CAAC,QAAQ,EACjD,OAAO,EAAE,UAAU,CAAC,OAAO,EAC3B,SAAS,EAAE,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAC1D,cAAc,EAAE,UAAU,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,GAC/C,CACH,GACD,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -0,0 +1,14 @@
1
+ import React from "react";
2
+ export interface DatePreset {
3
+ label: string;
4
+ resolve: () => [Date, Date];
5
+ }
6
+ export interface DatePresetsProps {
7
+ onChange: (range: [Date, Date]) => void;
8
+ presets?: DatePreset[];
9
+ className?: string;
10
+ disabled?: boolean;
11
+ }
12
+ declare const DatePresets: React.FC<DatePresetsProps>;
13
+ export default DatePresets;
14
+ //# sourceMappingURL=DatePresets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DatePresets.d.ts","sourceRoot":"","sources":["../../../src/components/Forms/DatePresets.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;CAC7B;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,IAAI,CAAC;IACxC,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAmDD,QAAA,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAqB3C,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -0,0 +1,55 @@
1
+ "use client";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import classNames from "classnames";
4
+ import { Button } from "primereact/button";
5
+ function startOfDay(d) {
6
+ const r = new Date(d);
7
+ r.setHours(0, 0, 0, 0);
8
+ return r;
9
+ }
10
+ function endOfDay(d) {
11
+ const r = new Date(d);
12
+ r.setHours(23, 59, 59, 999);
13
+ return r;
14
+ }
15
+ const DEFAULT_PRESETS = [
16
+ {
17
+ label: "Hoy",
18
+ resolve: () => {
19
+ const now = new Date();
20
+ return [startOfDay(now), endOfDay(now)];
21
+ },
22
+ },
23
+ {
24
+ label: "7 días",
25
+ resolve: () => {
26
+ const end = new Date();
27
+ const start = new Date(end);
28
+ start.setDate(start.getDate() - 6); // today + 6 prior days = 7-day window
29
+ return [startOfDay(start), endOfDay(end)];
30
+ },
31
+ },
32
+ {
33
+ label: "30 días",
34
+ resolve: () => {
35
+ const end = new Date();
36
+ const start = new Date(end);
37
+ start.setDate(start.getDate() - 29); // today + 29 prior days = 30-day window
38
+ return [startOfDay(start), endOfDay(end)];
39
+ },
40
+ },
41
+ {
42
+ label: "Este mes",
43
+ resolve: () => {
44
+ const now = new Date();
45
+ const start = new Date(now.getFullYear(), now.getMonth(), 1);
46
+ const end = new Date(now.getFullYear(), now.getMonth() + 1, 0);
47
+ return [startOfDay(start), endOfDay(end)];
48
+ },
49
+ },
50
+ ];
51
+ const DatePresets = ({ onChange, presets = DEFAULT_PRESETS, className, disabled, }) => {
52
+ return (_jsx("div", { className: classNames("flex gap-2 flex-wrap", className), children: presets.map((preset) => (_jsx(Button, { type: "button", label: preset.label, size: "small", outlined: true, disabled: disabled, onClick: () => onChange(preset.resolve()) }, preset.label))) }));
53
+ };
54
+ export default DatePresets;
55
+ //# sourceMappingURL=DatePresets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DatePresets.js","sourceRoot":"","sources":["../../../src/components/Forms/DatePresets.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AACb,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAe3C,SAAS,UAAU,CAAC,CAAO;IACzB,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;IACtB,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACvB,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,QAAQ,CAAC,CAAO;IACvB,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;IACtB,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;IAC5B,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,eAAe,GAAiB;IACpC;QACE,KAAK,EAAE,KAAK;QACZ,OAAO,EAAE,GAAG,EAAE;YACZ,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1C,CAAC;KACF;IACD;QACE,KAAK,EAAE,QAAQ;QACf,OAAO,EAAE,GAAG,EAAE;YACZ,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;YAC5B,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,sCAAsC;YAC1E,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5C,CAAC;KACF;IACD;QACE,KAAK,EAAE,SAAS;QAChB,OAAO,EAAE,GAAG,EAAE;YACZ,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;YAC5B,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,wCAAwC;YAC7E,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5C,CAAC;KACF;IACD;QACE,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,GAAG,EAAE;YACZ,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;YAC7D,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YAC/D,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5C,CAAC;KACF;CACF,CAAC;AAEF,MAAM,WAAW,GAA+B,CAAC,EAC/C,QAAQ,EACR,OAAO,GAAG,eAAe,EACzB,SAAS,EACT,QAAQ,GACT,EAAE,EAAE;IACH,OAAO,CACL,cAAK,SAAS,EAAE,UAAU,CAAC,sBAAsB,EAAE,SAAS,CAAC,YAC1D,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CACvB,KAAC,MAAM,IAEL,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,IAAI,EAAC,OAAO,EACZ,QAAQ,QACR,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,IANpC,MAAM,CAAC,KAAK,CAOjB,CACH,CAAC,GACE,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { InputOtpProps } from "primereact/inputotp";
2
+ import React from "react";
3
+ import { ControllerProps } from "./types";
4
+ export interface OtpInputProps extends Omit<InputOtpProps, "name" | "defaultValue" | "value" | "onChange"> {
5
+ controller: ControllerProps;
6
+ length?: number;
7
+ block?: boolean;
8
+ }
9
+ declare const OtpInput: React.FC<OtpInputProps>;
10
+ export default OtpInput;
11
+ //# sourceMappingURL=OtpInput.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OtpInput.d.ts","sourceRoot":"","sources":["../../../src/components/Forms/OtpInput.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAY,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1C,MAAM,WAAW,aACf,SAAQ,IAAI,CAAC,aAAa,EAAE,MAAM,GAAG,cAAc,GAAG,OAAO,GAAG,UAAU,CAAC;IAC3E,UAAU,EAAE,eAAe,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,QAAA,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAmBrC,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -0,0 +1,11 @@
1
+ "use client";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import classNames from "classnames";
4
+ import { InputOtp } from "primereact/inputotp";
5
+ import { Controller } from "react-hook-form";
6
+ const OtpInput = (props) => {
7
+ const { controller, length = 6, block, ...rest } = props;
8
+ return (_jsx(Controller, { ...controller, render: ({ field, fieldState, formState }) => (_jsx(InputOtp, { id: field.name, ...rest, length: length, value: field.value ?? "", onChange: (e) => field.onChange(e.value), disabled: formState.isSubmitting || rest.disabled, invalid: fieldState.invalid, className: classNames(rest.className, { "w-full": block }) })) }));
9
+ };
10
+ export default OtpInput;
11
+ //# sourceMappingURL=OtpInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OtpInput.js","sourceRoot":"","sources":["../../../src/components/Forms/OtpInput.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AACb,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAiB,MAAM,qBAAqB,CAAC;AAE9D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAU7C,MAAM,QAAQ,GAA4B,CAAC,KAAK,EAAE,EAAE;IAClD,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,CAAC,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IACzD,OAAO,CACL,KAAC,UAAU,OACL,UAAU,EACd,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAC5C,KAAC,QAAQ,IACP,EAAE,EAAE,KAAK,CAAC,IAAI,KACV,IAAI,EACR,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE,EACxB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,EACxC,QAAQ,EAAE,SAAS,CAAC,YAAY,IAAI,IAAI,CAAC,QAAQ,EACjD,OAAO,EAAE,UAAU,CAAC,OAAO,EAC3B,SAAS,EAAE,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,GAC1D,CACH,GACD,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { InputTextProps } from 'primereact/inputtext';
2
+ import React from 'react';
3
+ import { ControllerProps } from './types';
4
+ export interface PasswordInputProps extends Omit<InputTextProps, 'name' | 'defaultValue'> {
5
+ controller: ControllerProps;
6
+ block?: boolean;
7
+ defaultValue?: string;
8
+ showToggle?: boolean;
9
+ }
10
+ declare const PasswordInput: React.FC<PasswordInputProps>;
11
+ export default PasswordInput;
12
+ //# sourceMappingURL=PasswordInput.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PasswordInput.d.ts","sourceRoot":"","sources":["../../../src/components/Forms/PasswordInput.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAa,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,KAAmB,MAAM,OAAO,CAAC;AAExC,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1C,MAAM,WAAW,kBAAmB,SAAQ,IAAI,CAAC,cAAc,EAAE,MAAM,GAAG,cAAc,CAAC;IACvF,UAAU,EAAE,eAAe,CAAC;IAC5B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,QAAA,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAyD/C,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -0,0 +1,31 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import classNames from 'classnames';
4
+ import { Eye, EyeOff } from 'lucide-react';
5
+ import { InputText } from 'primereact/inputtext';
6
+ import { useState } from 'react';
7
+ import { Controller } from 'react-hook-form';
8
+ const PasswordInput = (props) => {
9
+ const { controller, block, defaultValue = '', showToggle = true, ...rest } = props;
10
+ const [visible, setVisible] = useState(false);
11
+ return (_jsx(Controller, { defaultValue: controller?.defaultValue || defaultValue, ...controller, render: ({ field, fieldState, formState }) => {
12
+ const inputEl = (_jsx(InputText, { id: rest.id || field.name, ...rest, type: showToggle ? (visible ? 'text' : 'password') : 'password', disabled: formState.isSubmitting || rest.disabled, invalid: fieldState.invalid, className: classNames(rest.className, { 'w-full': block }), ...field }));
13
+ if (!showToggle)
14
+ return inputEl;
15
+ return (_jsxs("div", { className: classNames('mantis-core-password-input', { 'w-full': block }), style: { position: 'relative' }, children: [inputEl, _jsx("button", { type: "button", className: "mantis-core-password-input__toggle", onClick: () => setVisible((v) => !v), disabled: formState.isSubmitting || rest.disabled, style: {
16
+ position: 'absolute',
17
+ right: '0.75rem',
18
+ top: '50%',
19
+ transform: 'translateY(-50%)',
20
+ background: 'none',
21
+ border: 'none',
22
+ cursor: 'pointer',
23
+ padding: '0',
24
+ display: 'flex',
25
+ alignItems: 'center',
26
+ color: 'var(--text-color-secondary)',
27
+ }, tabIndex: -1, "aria-label": visible ? 'Ocultar contraseña' : 'Mostrar contraseña', children: visible ? _jsx(EyeOff, { size: 16 }) : _jsx(Eye, { size: 16 }) })] }));
28
+ } }));
29
+ };
30
+ export default PasswordInput;
31
+ //# sourceMappingURL=PasswordInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PasswordInput.js","sourceRoot":"","sources":["../../../src/components/Forms/PasswordInput.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AACb,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAkB,MAAM,sBAAsB,CAAC;AACjE,OAAc,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAU7C,MAAM,aAAa,GAAiC,CAAC,KAAK,EAAE,EAAE;IAC5D,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,GAAG,EAAE,EAAE,UAAU,GAAG,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IACnF,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE9C,OAAO,CACL,KAAC,UAAU,IACT,YAAY,EAAE,UAAU,EAAE,YAAY,IAAI,YAAY,KAClD,UAAU,EACd,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,EAAE;YAC3C,MAAM,OAAO,GAAG,CACd,KAAC,SAAS,IACR,EAAE,EAAE,IAAI,CAAC,EAAE,IAAI,KAAK,CAAC,IAAI,KACrB,IAAI,EACR,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,EAC/D,QAAQ,EAAE,SAAS,CAAC,YAAY,IAAI,IAAI,CAAC,QAAQ,EACjD,OAAO,EAAE,UAAU,CAAC,OAAO,EAC3B,SAAS,EAAE,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,KACtD,KAAK,GACT,CACH,CAAC;YAEF,IAAI,CAAC,UAAU;gBAAE,OAAO,OAAO,CAAC;YAEhC,OAAO,CACL,eACE,SAAS,EAAE,UAAU,CAAC,4BAA4B,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EACxE,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,aAE9B,OAAO,EACR,iBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,oCAAoC,EAC9C,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EACpC,QAAQ,EAAE,SAAS,CAAC,YAAY,IAAI,IAAI,CAAC,QAAQ,EACjD,KAAK,EAAE;4BACL,QAAQ,EAAE,UAAU;4BACpB,KAAK,EAAE,SAAS;4BAChB,GAAG,EAAE,KAAK;4BACV,SAAS,EAAE,kBAAkB;4BAC7B,UAAU,EAAE,MAAM;4BAClB,MAAM,EAAE,MAAM;4BACd,MAAM,EAAE,SAAS;4BACjB,OAAO,EAAE,GAAG;4BACZ,OAAO,EAAE,MAAM;4BACf,UAAU,EAAE,QAAQ;4BACpB,KAAK,EAAE,6BAA6B;yBACrC,EACD,QAAQ,EAAE,CAAC,CAAC,gBACA,OAAO,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,oBAAoB,YAEhE,OAAO,CAAC,CAAC,CAAC,KAAC,MAAM,IAAC,IAAI,EAAE,EAAE,GAAI,CAAC,CAAC,CAAC,KAAC,GAAG,IAAC,IAAI,EAAE,EAAE,GAAI,GAC5C,IACL,CACP,CAAC;QACJ,CAAC,GACD,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { RatingProps } from "primereact/rating";
2
+ import React from "react";
3
+ import { ControllerProps } from "./types";
4
+ export interface RatingInputProps extends Omit<RatingProps, "name" | "defaultValue" | "value" | "onChange"> {
5
+ controller: ControllerProps;
6
+ stars?: number;
7
+ block?: boolean;
8
+ }
9
+ declare const RatingInput: React.FC<RatingInputProps>;
10
+ export default RatingInput;
11
+ //# sourceMappingURL=RatingInput.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RatingInput.d.ts","sourceRoot":"","sources":["../../../src/components/Forms/RatingInput.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAU,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1C,MAAM,WAAW,gBACf,SAAQ,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,cAAc,GAAG,OAAO,GAAG,UAAU,CAAC;IACzE,UAAU,EAAE,eAAe,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,QAAA,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAmB3C,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -0,0 +1,11 @@
1
+ "use client";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import classNames from "classnames";
4
+ import { Rating } from "primereact/rating";
5
+ import { Controller } from "react-hook-form";
6
+ const RatingInput = (props) => {
7
+ const { controller, stars = 5, block, ...rest } = props;
8
+ return (_jsx(Controller, { ...controller, render: ({ field, formState }) => (_jsx(Rating, { id: field.name, ...rest, stars: stars, value: field.value ?? undefined, onChange: (e) => field.onChange(e.value), onBlur: field.onBlur, disabled: formState.isSubmitting || rest.disabled, className: classNames(rest.className, { "w-full": block }) })) }));
9
+ };
10
+ export default RatingInput;
11
+ //# sourceMappingURL=RatingInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RatingInput.js","sourceRoot":"","sources":["../../../src/components/Forms/RatingInput.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AACb,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,MAAM,EAAe,MAAM,mBAAmB,CAAC;AAExD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAU7C,MAAM,WAAW,GAA+B,CAAC,KAAK,EAAE,EAAE;IACxD,MAAM,EAAE,UAAU,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IACxD,OAAO,CACL,KAAC,UAAU,OACL,UAAU,EACd,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAChC,KAAC,MAAM,IACL,EAAE,EAAE,KAAK,CAAC,IAAI,KACV,IAAI,EACR,KAAK,EAAE,KAAK,EACZ,KAAK,EAAG,KAAK,CAAC,KAAgB,IAAI,SAAS,EAC3C,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,EACxC,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,QAAQ,EAAE,SAAS,CAAC,YAAY,IAAI,IAAI,CAAC,QAAQ,EACjD,SAAS,EAAE,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,GAC1D,CACH,GACD,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { ChipsProps } from "primereact/chips";
2
+ import React from "react";
3
+ import { ControllerProps } from "./types";
4
+ export interface TagsInputProps extends Omit<ChipsProps, "name" | "defaultValue" | "value" | "onChange" | "onBlur"> {
5
+ controller: ControllerProps;
6
+ block?: boolean;
7
+ }
8
+ declare const TagsInput: React.FC<TagsInputProps>;
9
+ export default TagsInput;
10
+ //# sourceMappingURL=TagsInput.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TagsInput.d.ts","sourceRoot":"","sources":["../../../src/components/Forms/TagsInput.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAS,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1C,MAAM,WAAW,cACf,SAAQ,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,cAAc,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,CAAC;IACnF,UAAU,EAAE,eAAe,CAAC;IAC5B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,QAAA,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAqBvC,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -0,0 +1,11 @@
1
+ "use client";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import classNames from "classnames";
4
+ import { Chips } from "primereact/chips";
5
+ import { Controller } from "react-hook-form";
6
+ const TagsInput = (props) => {
7
+ const { controller, block, ...rest } = props;
8
+ return (_jsx(Controller, { ...controller, render: ({ field, fieldState, formState }) => (_jsx(Chips, { id: field.name, ...rest, name: field.name, ref: field.ref, value: field.value ?? [], onChange: (e) => field.onChange(e.value), onBlur: field.onBlur, disabled: formState.isSubmitting || rest.disabled, invalid: fieldState.invalid, className: classNames(rest.className, { "w-full": block }) })) }));
9
+ };
10
+ export default TagsInput;
11
+ //# sourceMappingURL=TagsInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TagsInput.js","sourceRoot":"","sources":["../../../src/components/Forms/TagsInput.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AACb,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,KAAK,EAAc,MAAM,kBAAkB,CAAC;AAErD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAS7C,MAAM,SAAS,GAA6B,CAAC,KAAK,EAAE,EAAE;IACpD,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IAC7C,OAAO,CACL,KAAC,UAAU,OACL,UAAU,EACd,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAC5C,KAAC,KAAK,IACJ,EAAE,EAAE,KAAK,CAAC,IAAI,KACV,IAAI,EACR,IAAI,EAAE,KAAK,CAAC,IAAI,EAChB,GAAG,EAAE,KAAK,CAAC,GAAG,EACd,KAAK,EAAG,KAAK,CAAC,KAAkB,IAAI,EAAE,EACtC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,EACxC,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,QAAQ,EAAE,SAAS,CAAC,YAAY,IAAI,IAAI,CAAC,QAAQ,EACjD,OAAO,EAAE,UAAU,CAAC,OAAO,EAC3B,SAAS,EAAE,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,GAC1D,CACH,GACD,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -0,0 +1,16 @@
1
+ import React from 'react';
2
+ export interface ChangePasswordFormValues {
3
+ currentPassword: string;
4
+ newPassword: string;
5
+ confirmPassword: string;
6
+ }
7
+ export interface ChangePasswordFormProps {
8
+ onSubmit: (values: ChangePasswordFormValues) => void | Promise<void>;
9
+ title?: string;
10
+ submitLabel?: string;
11
+ minPasswordLength?: number;
12
+ className?: string;
13
+ }
14
+ declare const ChangePasswordForm: React.FC<ChangePasswordFormProps>;
15
+ export default ChangePasswordForm;
16
+ //# sourceMappingURL=ChangePasswordForm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChangePasswordForm.d.ts","sourceRoot":"","sources":["../../../src/components/auth/ChangePasswordForm.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAQ1B,MAAM,WAAW,wBAAwB;IACvC,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,CAAC,MAAM,EAAE,wBAAwB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,QAAA,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAoEzD,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
@@ -0,0 +1,23 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import classNames from 'classnames';
4
+ import { FormProvider, useForm } from 'react-hook-form';
5
+ import Button from '../Buttons/Button';
6
+ import FormFieldRender from '../Forms/FormFieldRender';
7
+ import PasswordInput from '../Forms/PasswordInput';
8
+ import { minLengthRule, notEmptyRule } from '../../validation';
9
+ const ChangePasswordForm = ({ onSubmit, title = 'Cambiar contraseña', submitLabel = 'Actualizar contraseña', minPasswordLength = 8, className, }) => {
10
+ const form = useForm({ mode: 'onChange' });
11
+ const { watch } = form;
12
+ return (_jsx(FormProvider, { ...form, children: _jsxs("div", { className: classNames('mantis-core-change-password-form', className), children: [_jsx("h1", { className: "mantis-core-change-password-form__title", children: title }), _jsxs("form", { onSubmit: form.handleSubmit(onSubmit), className: "space-y-4", children: [_jsx(FormFieldRender, { label: "Contrase\u00F1a actual", name: "currentPassword", render: ({ name }) => (_jsx(PasswordInput, { controller: { name, rules: notEmptyRule() }, autoComplete: "current-password", block: true })) }), _jsx(FormFieldRender, { label: "Nueva contrase\u00F1a", name: "newPassword", render: ({ name }) => (_jsx(PasswordInput, { controller: {
13
+ name,
14
+ rules: { ...notEmptyRule(), ...minLengthRule(minPasswordLength) },
15
+ }, autoComplete: "new-password", block: true })) }), _jsx(FormFieldRender, { label: "Confirmar nueva contrase\u00F1a", name: "confirmPassword", render: ({ name }) => (_jsx(PasswordInput, { controller: {
16
+ name,
17
+ rules: {
18
+ validate: (v) => v === watch('newPassword') || 'Las contraseñas no coinciden',
19
+ },
20
+ }, autoComplete: "new-password", block: true })) }), _jsx(Button, { type: "submit", label: submitLabel, loading: form.formState.isSubmitting, disabled: form.formState.isSubmitting, block: true })] })] }) }));
21
+ };
22
+ export default ChangePasswordForm;
23
+ //# sourceMappingURL=ChangePasswordForm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChangePasswordForm.js","sourceRoot":"","sources":["../../../src/components/auth/ChangePasswordForm.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AACb,OAAO,UAAU,MAAM,YAAY,CAAC;AAEpC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,MAAM,MAAM,mBAAmB,CAAC;AACvC,OAAO,eAAe,MAAM,0BAA0B,CAAC;AACvD,OAAO,aAAa,MAAM,wBAAwB,CAAC;AAEnD,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAgB/D,MAAM,kBAAkB,GAAsC,CAAC,EAC7D,QAAQ,EACR,KAAK,GAAG,oBAAoB,EAC5B,WAAW,GAAG,uBAAuB,EACrC,iBAAiB,GAAG,CAAC,EACrB,SAAS,GACV,EAAE,EAAE;IACH,MAAM,IAAI,GAAG,OAAO,CAA2B,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;IACrE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;IAEvB,OAAO,CACL,KAAC,YAAY,OAAK,IAAI,YACpB,eAAK,SAAS,EAAE,UAAU,CAAC,kCAAkC,EAAE,SAAS,CAAC,aACvE,aAAI,SAAS,EAAC,yCAAyC,YAAE,KAAK,GAAM,EACpE,gBAAM,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAC,WAAW,aAChE,KAAC,eAAe,IACd,KAAK,EAAC,wBAAmB,EACzB,IAAI,EAAC,iBAAiB,EACtB,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CACpB,KAAC,aAAa,IACZ,UAAU,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,EAC3C,YAAY,EAAC,kBAAkB,EAC/B,KAAK,SACL,CACH,GACD,EACF,KAAC,eAAe,IACd,KAAK,EAAC,uBAAkB,EACxB,IAAI,EAAC,aAAa,EAClB,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CACpB,KAAC,aAAa,IACZ,UAAU,EAAE;oCACV,IAAI;oCACJ,KAAK,EAAE,EAAE,GAAG,YAAY,EAAE,EAAE,GAAG,aAAa,CAAC,iBAAiB,CAAC,EAAqB;iCACrF,EACD,YAAY,EAAC,cAAc,EAC3B,KAAK,SACL,CACH,GACD,EACF,KAAC,eAAe,IACd,KAAK,EAAC,iCAA4B,EAClC,IAAI,EAAC,iBAAiB,EACtB,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CACpB,KAAC,aAAa,IACZ,UAAU,EAAE;oCACV,IAAI;oCACJ,KAAK,EAAE;wCACL,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CACd,CAAC,KAAK,KAAK,CAAC,aAAa,CAAC,IAAI,8BAA8B;qCAC/D;iCACF,EACD,YAAY,EAAC,cAAc,EAC3B,KAAK,SACL,CACH,GACD,EACF,KAAC,MAAM,IACL,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,WAAW,EAClB,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,EACpC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,EACrC,KAAK,SACL,IACG,IACH,GACO,CAChB,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
@@ -0,0 +1,15 @@
1
+ import React from 'react';
2
+ export interface ForgotPasswordFormValues {
3
+ email: string;
4
+ }
5
+ export interface ForgotPasswordFormProps {
6
+ onSubmit: (values: ForgotPasswordFormValues) => void | Promise<void>;
7
+ title?: string;
8
+ subtitle?: string;
9
+ submitLabel?: string;
10
+ backSlot?: React.ReactNode;
11
+ className?: string;
12
+ }
13
+ declare const ForgotPasswordForm: React.FC<ForgotPasswordFormProps>;
14
+ export default ForgotPasswordForm;
15
+ //# sourceMappingURL=ForgotPasswordForm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ForgotPasswordForm.d.ts","sourceRoot":"","sources":["../../../src/components/auth/ForgotPasswordForm.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,CAAC,MAAM,EAAE,wBAAwB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,QAAA,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAwCzD,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
@@ -0,0 +1,14 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import classNames from 'classnames';
4
+ import { FormProvider, useForm } from 'react-hook-form';
5
+ import Button from '../Buttons/Button';
6
+ import FormFieldRender from '../Forms/FormFieldRender';
7
+ import TextInput from '../Forms/TextInput';
8
+ import { emailRule } from '../../validation';
9
+ const ForgotPasswordForm = ({ onSubmit, title = 'Recuperar contraseña', subtitle, submitLabel = 'Enviar enlace', backSlot, className, }) => {
10
+ const form = useForm({ mode: 'onChange' });
11
+ return (_jsx(FormProvider, { ...form, children: _jsxs("div", { className: classNames('mantis-core-forgot-password-form', className), children: [_jsx("h1", { className: "mantis-core-forgot-password-form__title", children: title }), subtitle && _jsx("p", { className: "mantis-core-forgot-password-form__subtitle", children: subtitle }), _jsxs("form", { onSubmit: form.handleSubmit(onSubmit), className: "space-y-4", children: [_jsx(FormFieldRender, { label: "Correo electr\u00F3nico", name: "email", render: ({ name }) => (_jsx(TextInput, { controller: { name, rules: emailRule() }, type: "email", autoComplete: "email", block: true })) }), _jsx(Button, { type: "submit", label: submitLabel, loading: form.formState.isSubmitting, disabled: form.formState.isSubmitting, block: true }), backSlot && _jsx("div", { className: "mantis-core-forgot-password-form__back", children: backSlot })] })] }) }));
12
+ };
13
+ export default ForgotPasswordForm;
14
+ //# sourceMappingURL=ForgotPasswordForm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ForgotPasswordForm.js","sourceRoot":"","sources":["../../../src/components/auth/ForgotPasswordForm.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AACb,OAAO,UAAU,MAAM,YAAY,CAAC;AAEpC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,MAAM,MAAM,mBAAmB,CAAC;AACvC,OAAO,eAAe,MAAM,0BAA0B,CAAC;AACvD,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAe7C,MAAM,kBAAkB,GAAsC,CAAC,EAC7D,QAAQ,EACR,KAAK,GAAG,sBAAsB,EAC9B,QAAQ,EACR,WAAW,GAAG,eAAe,EAC7B,QAAQ,EACR,SAAS,GACV,EAAE,EAAE;IACH,MAAM,IAAI,GAAG,OAAO,CAA2B,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;IAErE,OAAO,CACL,KAAC,YAAY,OAAK,IAAI,YACpB,eAAK,SAAS,EAAE,UAAU,CAAC,kCAAkC,EAAE,SAAS,CAAC,aACvE,aAAI,SAAS,EAAC,yCAAyC,YAAE,KAAK,GAAM,EACnE,QAAQ,IAAI,YAAG,SAAS,EAAC,4CAA4C,YAAE,QAAQ,GAAK,EACrF,gBAAM,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAC,WAAW,aAChE,KAAC,eAAe,IACd,KAAK,EAAC,yBAAoB,EAC1B,IAAI,EAAC,OAAO,EACZ,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CACpB,KAAC,SAAS,IACR,UAAU,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EACxC,IAAI,EAAC,OAAO,EACZ,YAAY,EAAC,OAAO,EACpB,KAAK,SACL,CACH,GACD,EACF,KAAC,MAAM,IACL,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,WAAW,EAClB,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,EACpC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,EACrC,KAAK,SACL,EACD,QAAQ,IAAI,cAAK,SAAS,EAAC,wCAAwC,YAAE,QAAQ,GAAO,IAChF,IACH,GACO,CAChB,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
@@ -0,0 +1,22 @@
1
+ import React from 'react';
2
+ export interface LoginFormValues {
3
+ identifier: string;
4
+ password: string;
5
+ }
6
+ export interface LoginFormProps {
7
+ onSubmit: (values: LoginFormValues) => void | Promise<void>;
8
+ brand?: React.ReactNode;
9
+ title?: string;
10
+ subtitle?: string;
11
+ footer?: React.ReactNode;
12
+ identifierField?: 'email' | 'username';
13
+ identifierLabel?: string;
14
+ identifierPlaceholder?: string;
15
+ passwordLabel?: string;
16
+ passwordPlaceholder?: string;
17
+ submitLabel?: string;
18
+ className?: string;
19
+ }
20
+ declare const LoginForm: React.FC<LoginFormProps>;
21
+ export default LoginForm;
22
+ //# sourceMappingURL=LoginForm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoginForm.d.ts","sourceRoot":"","sources":["../../../src/components/auth/LoginForm.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAS1B,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5D,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,eAAe,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC;IACvC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,QAAA,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAkEvC,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -0,0 +1,20 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import classNames from 'classnames';
4
+ import { FormProvider, useForm } from 'react-hook-form';
5
+ import Button from '../Buttons/Button';
6
+ import FormFieldRender from '../Forms/FormFieldRender';
7
+ import TextInput from '../Forms/TextInput';
8
+ import PasswordInput from '../Forms/PasswordInput';
9
+ import { emailRule, notEmptyRule } from '../../validation';
10
+ const LoginForm = ({ onSubmit, brand, title = 'Iniciar sesión', subtitle, footer, identifierField = 'email', identifierLabel, identifierPlaceholder, passwordLabel = 'Contraseña', passwordPlaceholder, submitLabel = 'Ingresar', className, }) => {
11
+ const form = useForm({ mode: 'onChange' });
12
+ const isEmail = identifierField === 'email';
13
+ const defaultIdentifierLabel = isEmail ? 'Correo electrónico' : 'Usuario';
14
+ const identifierRules = isEmail
15
+ ? { ...notEmptyRule(), ...emailRule() }
16
+ : notEmptyRule();
17
+ return (_jsx(FormProvider, { ...form, children: _jsxs("div", { className: classNames('mantis-core-login-form', className), children: [brand && _jsx("div", { className: "mantis-core-login-form__brand", children: brand }), _jsx("h1", { className: "mantis-core-login-form__title", children: title }), subtitle && _jsx("p", { className: "mantis-core-login-form__subtitle", children: subtitle }), _jsxs("form", { onSubmit: form.handleSubmit(onSubmit), className: "space-y-4", children: [_jsx(FormFieldRender, { label: identifierLabel ?? defaultIdentifierLabel, name: "identifier", render: ({ name }) => (_jsx(TextInput, { controller: { name, rules: identifierRules }, type: isEmail ? 'email' : 'text', autoComplete: isEmail ? 'email' : 'username', placeholder: identifierPlaceholder, block: true })) }), _jsx(FormFieldRender, { label: passwordLabel, name: "password", render: ({ name }) => (_jsx(PasswordInput, { controller: { name, rules: notEmptyRule() }, autoComplete: "current-password", placeholder: passwordPlaceholder, block: true })) }), _jsx(Button, { type: "submit", label: submitLabel, loading: form.formState.isSubmitting, disabled: form.formState.isSubmitting, block: true }), footer && _jsx("div", { className: "mantis-core-login-form__footer", children: footer })] })] }) }));
18
+ };
19
+ export default LoginForm;
20
+ //# sourceMappingURL=LoginForm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoginForm.js","sourceRoot":"","sources":["../../../src/components/auth/LoginForm.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AACb,OAAO,UAAU,MAAM,YAAY,CAAC;AAEpC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,MAAM,MAAM,mBAAmB,CAAC;AACvC,OAAO,eAAe,MAAM,0BAA0B,CAAC;AACvD,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAC3C,OAAO,aAAa,MAAM,wBAAwB,CAAC;AAEnD,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAsB3D,MAAM,SAAS,GAA6B,CAAC,EAC3C,QAAQ,EACR,KAAK,EACL,KAAK,GAAG,gBAAgB,EACxB,QAAQ,EACR,MAAM,EACN,eAAe,GAAG,OAAO,EACzB,eAAe,EACf,qBAAqB,EACrB,aAAa,GAAG,YAAY,EAC5B,mBAAmB,EACnB,WAAW,GAAG,UAAU,EACxB,SAAS,GACV,EAAE,EAAE;IACH,MAAM,IAAI,GAAG,OAAO,CAAkB,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;IAE5D,MAAM,OAAO,GAAG,eAAe,KAAK,OAAO,CAAC;IAC5C,MAAM,sBAAsB,GAAG,OAAO,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1E,MAAM,eAAe,GAAoB,OAAO;QAC9C,CAAC,CAAE,EAAE,GAAG,YAAY,EAAE,EAAE,GAAG,SAAS,EAAE,EAAsB;QAC5D,CAAC,CAAC,YAAY,EAAE,CAAC;IAEnB,OAAO,CACL,KAAC,YAAY,OAAK,IAAI,YACpB,eAAK,SAAS,EAAE,UAAU,CAAC,wBAAwB,EAAE,SAAS,CAAC,aAC5D,KAAK,IAAI,cAAK,SAAS,EAAC,+BAA+B,YAAE,KAAK,GAAO,EACtE,aAAI,SAAS,EAAC,+BAA+B,YAAE,KAAK,GAAM,EACzD,QAAQ,IAAI,YAAG,SAAS,EAAC,kCAAkC,YAAE,QAAQ,GAAK,EAC3E,gBAAM,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAC,WAAW,aAChE,KAAC,eAAe,IACd,KAAK,EAAE,eAAe,IAAI,sBAAsB,EAChD,IAAI,EAAC,YAAY,EACjB,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CACpB,KAAC,SAAS,IACR,UAAU,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,eAAe,EAAE,EAC5C,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAChC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,EAC5C,WAAW,EAAE,qBAAqB,EAClC,KAAK,SACL,CACH,GACD,EACF,KAAC,eAAe,IACd,KAAK,EAAE,aAAa,EACpB,IAAI,EAAC,UAAU,EACf,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CACpB,KAAC,aAAa,IACZ,UAAU,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,EAC3C,YAAY,EAAC,kBAAkB,EAC/B,WAAW,EAAE,mBAAmB,EAChC,KAAK,SACL,CACH,GACD,EACF,KAAC,MAAM,IACL,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,WAAW,EAClB,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,EACpC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,EACrC,KAAK,SACL,EACD,MAAM,IAAI,cAAK,SAAS,EAAC,gCAAgC,YAAE,MAAM,GAAO,IACpE,IACH,GACO,CAChB,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -0,0 +1,16 @@
1
+ import React from 'react';
2
+ export interface ResetPasswordFormValues {
3
+ newPassword: string;
4
+ confirmPassword: string;
5
+ }
6
+ export interface ResetPasswordFormProps {
7
+ onSubmit: (values: ResetPasswordFormValues) => void | Promise<void>;
8
+ title?: string;
9
+ subtitle?: string;
10
+ submitLabel?: string;
11
+ minPasswordLength?: number;
12
+ className?: string;
13
+ }
14
+ declare const ResetPasswordForm: React.FC<ResetPasswordFormProps>;
15
+ export default ResetPasswordForm;
16
+ //# sourceMappingURL=ResetPasswordForm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResetPasswordForm.d.ts","sourceRoot":"","sources":["../../../src/components/auth/ResetPasswordForm.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAQ1B,MAAM,WAAW,uBAAuB;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,CAAC,MAAM,EAAE,uBAAuB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,QAAA,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CA2DvD,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
@@ -0,0 +1,23 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import classNames from 'classnames';
4
+ import { FormProvider, useForm } from 'react-hook-form';
5
+ import Button from '../Buttons/Button';
6
+ import FormFieldRender from '../Forms/FormFieldRender';
7
+ import PasswordInput from '../Forms/PasswordInput';
8
+ import { minLengthRule, notEmptyRule } from '../../validation';
9
+ const ResetPasswordForm = ({ onSubmit, title = 'Nueva contraseña', subtitle, submitLabel = 'Guardar contraseña', minPasswordLength = 8, className, }) => {
10
+ const form = useForm({ mode: 'onChange' });
11
+ const { watch } = form;
12
+ return (_jsx(FormProvider, { ...form, children: _jsxs("div", { className: classNames('mantis-core-reset-password-form', className), children: [_jsx("h1", { className: "mantis-core-reset-password-form__title", children: title }), subtitle && _jsx("p", { className: "mantis-core-reset-password-form__subtitle", children: subtitle }), _jsxs("form", { onSubmit: form.handleSubmit(onSubmit), className: "space-y-4", children: [_jsx(FormFieldRender, { label: "Nueva contrase\u00F1a", name: "newPassword", render: ({ name }) => (_jsx(PasswordInput, { controller: {
13
+ name,
14
+ rules: { ...notEmptyRule(), ...minLengthRule(minPasswordLength) },
15
+ }, autoComplete: "new-password", block: true })) }), _jsx(FormFieldRender, { label: "Confirmar contrase\u00F1a", name: "confirmPassword", render: ({ name }) => (_jsx(PasswordInput, { controller: {
16
+ name,
17
+ rules: {
18
+ validate: (v) => v === watch('newPassword') || 'Las contraseñas no coinciden',
19
+ },
20
+ }, autoComplete: "new-password", block: true })) }), _jsx(Button, { type: "submit", label: submitLabel, loading: form.formState.isSubmitting, disabled: form.formState.isSubmitting, block: true })] })] }) }));
21
+ };
22
+ export default ResetPasswordForm;
23
+ //# sourceMappingURL=ResetPasswordForm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResetPasswordForm.js","sourceRoot":"","sources":["../../../src/components/auth/ResetPasswordForm.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AACb,OAAO,UAAU,MAAM,YAAY,CAAC;AAEpC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,MAAM,MAAM,mBAAmB,CAAC;AACvC,OAAO,eAAe,MAAM,0BAA0B,CAAC;AACvD,OAAO,aAAa,MAAM,wBAAwB,CAAC;AAEnD,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAgB/D,MAAM,iBAAiB,GAAqC,CAAC,EAC3D,QAAQ,EACR,KAAK,GAAG,kBAAkB,EAC1B,QAAQ,EACR,WAAW,GAAG,oBAAoB,EAClC,iBAAiB,GAAG,CAAC,EACrB,SAAS,GACV,EAAE,EAAE;IACH,MAAM,IAAI,GAAG,OAAO,CAA0B,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;IACpE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;IAEvB,OAAO,CACL,KAAC,YAAY,OAAK,IAAI,YACpB,eAAK,SAAS,EAAE,UAAU,CAAC,iCAAiC,EAAE,SAAS,CAAC,aACtE,aAAI,SAAS,EAAC,wCAAwC,YAAE,KAAK,GAAM,EAClE,QAAQ,IAAI,YAAG,SAAS,EAAC,2CAA2C,YAAE,QAAQ,GAAK,EACpF,gBAAM,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAC,WAAW,aAChE,KAAC,eAAe,IACd,KAAK,EAAC,uBAAkB,EACxB,IAAI,EAAC,aAAa,EAClB,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CACpB,KAAC,aAAa,IACZ,UAAU,EAAE;oCACV,IAAI;oCACJ,KAAK,EAAE,EAAE,GAAG,YAAY,EAAE,EAAE,GAAG,aAAa,CAAC,iBAAiB,CAAC,EAAqB;iCACrF,EACD,YAAY,EAAC,cAAc,EAC3B,KAAK,SACL,CACH,GACD,EACF,KAAC,eAAe,IACd,KAAK,EAAC,2BAAsB,EAC5B,IAAI,EAAC,iBAAiB,EACtB,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CACpB,KAAC,aAAa,IACZ,UAAU,EAAE;oCACV,IAAI;oCACJ,KAAK,EAAE;wCACL,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CACd,CAAC,KAAK,KAAK,CAAC,aAAa,CAAC,IAAI,8BAA8B;qCAC/D;iCACF,EACD,YAAY,EAAC,cAAc,EAC3B,KAAK,SACL,CACH,GACD,EACF,KAAC,MAAM,IACL,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,WAAW,EAClB,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,EACpC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,EACrC,KAAK,SACL,IACG,IACH,GACO,CAChB,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
@@ -0,0 +1,22 @@
1
+ import React from 'react';
2
+ export interface UserMenuItem {
3
+ label: string;
4
+ icon?: React.ReactNode;
5
+ href?: string;
6
+ onClick?: () => void;
7
+ }
8
+ export interface UserMenuUser {
9
+ name?: string;
10
+ email?: string;
11
+ avatarUrl?: string;
12
+ }
13
+ export interface UserMenuProps {
14
+ user: UserMenuUser;
15
+ items?: UserMenuItem[];
16
+ onSignOut?: () => void;
17
+ signOutLabel?: string;
18
+ className?: string;
19
+ }
20
+ declare const UserMenu: React.FC<UserMenuProps>;
21
+ export default UserMenu;
22
+ //# sourceMappingURL=UserMenu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UserMenu.d.ts","sourceRoot":"","sources":["../../../src/components/auth/UserMenu.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAE3D,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,QAAA,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CA8LrC,CAAC;AAEF,eAAe,QAAQ,CAAC"}