@mage-ui/components 1.0.137 → 1.0.138

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 (35) hide show
  1. package/dist/components/controls/date-picker/DatePicker.d.mts +24 -9
  2. package/dist/components/controls/date-picker/DatePicker.d.mts.map +1 -1
  3. package/dist/components/controls/date-picker/DatePicker.mjs +1 -1
  4. package/dist/components/controls/date-picker/DatePicker.mjs.map +1 -1
  5. package/dist/components/controls/date-time-picker/DateTimePicker.d.mts +120 -0
  6. package/dist/components/controls/date-time-picker/DateTimePicker.d.mts.map +1 -0
  7. package/dist/components/controls/date-time-picker/DateTimePicker.mjs +2 -0
  8. package/dist/components/controls/date-time-picker/DateTimePicker.mjs.map +1 -0
  9. package/dist/components/controls/index.d.mts +2 -1
  10. package/dist/components/data-display/calendar/Calendar.d.mts +1 -0
  11. package/dist/components/data-display/calendar/Calendar.d.mts.map +1 -1
  12. package/dist/components/data-display/calendar/Calendar.mjs +1 -1
  13. package/dist/components/data-display/calendar/Calendar.mjs.map +1 -1
  14. package/dist/components/forms/Form.d.mts +28 -0
  15. package/dist/components/forms/Form.d.mts.map +1 -1
  16. package/dist/components/forms/Form.mjs +1 -1
  17. package/dist/components/forms/Form.mjs.map +1 -1
  18. package/dist/components/forms/controls/FormDatePicker.d.mts +14 -0
  19. package/dist/components/forms/controls/FormDatePicker.d.mts.map +1 -0
  20. package/dist/components/forms/controls/FormDatePicker.mjs +2 -0
  21. package/dist/components/forms/controls/FormDatePicker.mjs.map +1 -0
  22. package/dist/components/forms/controls/FormDateTimePicker.d.mts +14 -0
  23. package/dist/components/forms/controls/FormDateTimePicker.d.mts.map +1 -0
  24. package/dist/components/forms/controls/FormDateTimePicker.mjs +2 -0
  25. package/dist/components/forms/controls/FormDateTimePicker.mjs.map +1 -0
  26. package/dist/components/forms/controls/index.mjs +1 -1
  27. package/dist/components/forms/controls/index.mjs.map +1 -1
  28. package/dist/components/forms/controls/register-components.mjs +1 -1
  29. package/dist/components/forms/controls/register-components.mjs.map +1 -1
  30. package/dist/components/forms/rules/extract-form-rules.mjs +1 -1
  31. package/dist/components/forms/rules/extract-form-rules.mjs.map +1 -1
  32. package/dist/components/index.d.mts +2 -1
  33. package/dist/index.d.mts +3 -2
  34. package/dist/index.mjs +1 -1
  35. package/package.json +3 -3
@@ -1,19 +1,24 @@
1
+ import { IconProps } from "../../data-display/icons/icon/Icon.mjs";
1
2
  import { ComponentProps, ReactNode } from "react";
2
- import { DateValue } from "@mantine/dates";
3
3
 
4
4
  //#region src/components/controls/date-picker/DatePicker.d.ts
5
- type DatePickerProps = Omit<ComponentProps<'input'>, 'size' | 'value' | 'onChange'> & {
5
+ type DatePickerValue = Date | string | null;
6
+ type DatePickerDate = Date | string;
7
+ type DatePickerProps = Omit<ComponentProps<'button'>, 'children' | 'defaultValue' | 'size' | 'type' | 'value' | 'onChange'> & {
6
8
  label?: ReactNode;
9
+ placeholder?: string;
7
10
  description?: ReactNode;
8
11
  error?: ReactNode;
12
+ required?: boolean;
9
13
  classNames?: DatePickerClassNames;
10
- value?: DateValue;
11
- onChange?: (date: Date | string | null) => void;
14
+ value?: DatePickerValue;
15
+ defaultValue?: DatePickerValue;
16
+ onChange?: (date: DatePickerValue) => void;
12
17
  locale?: string;
13
18
  valueFormat?: string;
14
19
  firstDayOfWeek?: 0 | 1 | 2 | 3 | 4 | 5 | 6;
15
- minDate?: Date;
16
- maxDate?: Date;
20
+ minDate?: DatePickerDate;
21
+ maxDate?: DatePickerDate;
17
22
  clearable?: boolean;
18
23
  };
19
24
  declare const DatePicker: ({
@@ -25,15 +30,20 @@ declare const DatePicker: ({
25
30
  error,
26
31
  required,
27
32
  value,
33
+ defaultValue,
28
34
  onChange,
29
35
  locale,
30
36
  valueFormat,
31
37
  firstDayOfWeek,
32
38
  minDate,
33
39
  maxDate,
34
- clearable
40
+ clearable,
41
+ ...props
35
42
  }: DatePickerProps) => ReactNode;
36
- type DatePickerClassNames = InputClassNamesType & CalendarClassNamesType & CalendarHeaderClassNamesType & CalendarDayClassNamesType & CalendarWeekClassNamesType & CalendarMonthClassNamesType & CalendarMonthsListClassNamesType & CalendarYearsListClassNamesType & PopoverClassNamesType;
43
+ type DatePickerClassNames = InputClassNamesType & CalendarClassNamesType & CalendarHeaderClassNamesType & CalendarDayClassNamesType & CalendarWeekClassNamesType & CalendarMonthClassNamesType & CalendarMonthsListClassNamesType & CalendarYearsListClassNamesType & PopoverClassNamesType & {
44
+ icon?: IconClassNamesType;
45
+ buttonIcon?: ButtonIconClassNamesType;
46
+ };
37
47
  type InputClassNamesType = {
38
48
  datePicker?: string;
39
49
  root?: string;
@@ -47,6 +57,11 @@ type InputClassNamesType = {
47
57
  required?: string;
48
58
  datePickerRoot?: string;
49
59
  };
60
+ type IconClassNamesType = IconProps['classNames'];
61
+ type ButtonIconClassNamesType = {
62
+ buttonIcon?: string;
63
+ buttonIconRoot?: string;
64
+ };
50
65
  type CalendarHeaderClassNamesType = {
51
66
  calendarHeaderControl?: string;
52
67
  calendarHeader?: string;
@@ -91,5 +106,5 @@ type PopoverClassNamesType = {
91
106
  overlay?: string;
92
107
  };
93
108
  //#endregion
94
- export { DatePicker, DatePickerProps };
109
+ export { DatePicker, DatePickerClassNames, DatePickerDate, DatePickerProps, DatePickerValue };
95
110
  //# sourceMappingURL=DatePicker.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DatePicker.d.mts","names":[],"sources":["../../../../src/components/controls/date-picker/DatePicker.tsx"],"mappings":";;;;KAoDY,eAAA,GAAkB,IAAA,CAC5B,cAAA;EAGA,KAAA,GAAQ,SAAA;EACR,WAAA,GAAc,SAAA;EACd,KAAA,GAAQ,SAAA;EACR,UAAA,GAAa,oBAAA;EACb,KAAA,GAAQ,SAAA;EACR,QAAA,IAAY,IAAA,EAAM,IAAA;EAClB,MAAA;EACA,WAAA;EACA,cAAA;EACA,OAAA,GAAU,IAAA;EACV,OAAA,GAAU,IAAA;EACV,SAAA;AAAA;AAAA,cAGW,UAAA;EAAc,UAAA;EAAA,IAAA;EAAA,KAAA;EAAA,WAAA;EAAA,WAAA;EAAA,KAAA;EAAA,QAAA;EAAA,KAAA;EAAA,QAAA;EAAA,MAAA;EAAA,WAAA;EAAA,cAAA;EAAA,OAAA;EAAA,OAAA;EAAA;AAAA,GAgBxB,eAAA,KAAkB,SAAA;AAAA,KAmChB,oBAAA,GAAuB,mBAAA,GAC1B,sBAAA,GACA,4BAAA,GACA,yBAAA,GACA,0BAAA,GACA,2BAAA,GACA,gCAAA,GACA,+BAAA,GACA,qBAAA;AAAA,KAEG,mBAAA;EACH,UAAA;EACA,IAAA;EACA,OAAA;EACA,KAAA;EACA,KAAA;EACA,KAAA;EACA,WAAA;EACA,WAAA;EACA,OAAA;EACA,QAAA;EACA,cAAA;AAAA;AAAA,KA8CG,4BAAA;EACH,qBAAA;EACA,cAAA;EACA,mBAAA;EACA,yBAAA;AAAA;AAAA,KAkBG,sBAAA;EACH,WAAA;EACA,WAAA;EACA,YAAA;AAAA;AAAA,KAWG,yBAAA;EACH,GAAA;AAAA;AAAA,KASG,0BAAA;EACH,WAAA;EACA,OAAA;EACA,UAAA;AAAA;AAAA,KAWG,2BAAA;EACH,KAAA;EACA,QAAA;EACA,SAAA;EACA,UAAA;EACA,UAAA;AAAA;AAAA,KAaG,gCAAA;EACH,UAAA;EACA,aAAA;EACA,cAAA;EACA,iBAAA;AAAA;AAAA,KAeG,+BAAA;EACH,SAAA;EACA,YAAA;EACA,aAAA;EACA,gBAAA;AAAA;AAAA,KAeG,qBAAA;EACH,QAAA;EACA,KAAA;EACA,OAAA;AAAA"}
1
+ {"version":3,"file":"DatePicker.d.mts","names":[],"sources":["../../../../src/components/controls/date-picker/DatePicker.tsx"],"mappings":";;;;KAoDY,eAAA,GAAkB,IAAA;AAAA,KAClB,cAAA,GAAiB,IAAA;AAAA,KAEjB,eAAA,GAAkB,IAAA,CAC5B,cAAA;EAGA,KAAA,GAAQ,SAAA;EACR,WAAA;EACA,WAAA,GAAc,SAAA;EACd,KAAA,GAAQ,SAAA;EACR,QAAA;EACA,UAAA,GAAa,oBAAA;EACb,KAAA,GAAQ,eAAA;EACR,YAAA,GAAe,eAAA;EACf,QAAA,IAAY,IAAA,EAAM,eAAA;EAClB,MAAA;EACA,WAAA;EACA,cAAA;EACA,OAAA,GAAU,cAAA;EACV,OAAA,GAAU,cAAA;EACV,SAAA;AAAA;AAAA,cAGW,UAAA;EAAc,UAAA;EAAA,IAAA;EAAA,KAAA;EAAA,WAAA;EAAA,WAAA;EAAA,KAAA;EAAA,QAAA;EAAA,KAAA;EAAA,YAAA;EAAA,QAAA;EAAA,MAAA;EAAA,WAAA;EAAA,cAAA;EAAA,OAAA;EAAA,OAAA;EAAA,SAAA;EAAA,GAAA;AAAA,GAkBxB,eAAA,KAAkB,SAAA;AAAA,KAqCT,oBAAA,GAAuB,mBAAA,GACjC,sBAAA,GACA,4BAAA,GACA,yBAAA,GACA,0BAAA,GACA,2BAAA,GACA,gCAAA,GACA,+BAAA,GACA,qBAAA;EACE,IAAA,GAAO,kBAAA;EACP,UAAA,GAAa,wBAAA;AAAA;AAAA,KAGZ,mBAAA;EACH,UAAA;EACA,IAAA;EACA,OAAA;EACA,KAAA;EACA,KAAA;EACA,KAAA;EACA,WAAA;EACA,WAAA;EACA,OAAA;EACA,QAAA;EACA,cAAA;AAAA;AAAA,KAqBG,kBAAA,GAAqB,SAAA;AAAA,KAarB,wBAAA;EACH,UAAA;EACA,cAAA;AAAA;AAAA,KAUG,4BAAA;EACH,qBAAA;EACA,cAAA;EACA,mBAAA;EACA,yBAAA;AAAA;AAAA,KAkBG,sBAAA;EACH,WAAA;EACA,WAAA;EACA,YAAA;AAAA;AAAA,KAWG,yBAAA;EACH,GAAA;AAAA;AAAA,KASG,0BAAA;EACH,WAAA;EACA,OAAA;EACA,UAAA;AAAA;AAAA,KAWG,2BAAA;EACH,KAAA;EACA,QAAA;EACA,SAAA;EACA,UAAA;EACA,UAAA;AAAA;AAAA,KAaG,gCAAA;EACH,UAAA;EACA,aAAA;EACA,cAAA;EACA,iBAAA;AAAA;AAAA,KAeG,+BAAA;EACH,SAAA;EACA,YAAA;EACA,aAAA;EACA,gBAAA;AAAA;AAAA,KAeG,qBAAA;EACH,QAAA;EACA,KAAA;EACA,OAAA;AAAA"}
@@ -1,2 +1,2 @@
1
- import{Icon as e}from"../../data-display/icons/icon/Icon.mjs";import{cx as t}from"@mage-ui/styled-system/css";import{datePicker as n,datePickerArrow as r,datePickerButtonIcon as i,datePickerButtonIconRoot as a,datePickerCalendarHeader as o,datePickerCalendarHeaderControl as s,datePickerCalendarHeaderControlIcon as c,datePickerCalendarHeaderLevel as l,datePickerDatePickerRoot as u,datePickerDay as d,datePickerDescription as f,datePickerDropdown as p,datePickerError as m,datePickerIconIcon as h,datePickerIconIconRaw as g,datePickerIconIconRawRoot as _,datePickerIconRoot as v,datePickerInput as y,datePickerLabel as b,datePickerLevelsGroup as x,datePickerMonth as S,datePickerMonthCell as C,datePickerMonthRow as w,datePickerMonthTbody as T,datePickerMonthThead as E,datePickerMonthsList as D,datePickerMonthsListCell as O,datePickerMonthsListControl as k,datePickerMonthsListRow as A,datePickerOverlay as j,datePickerPlaceholder as M,datePickerPresetButton as N,datePickerPresetsList as P,datePickerRequired as F,datePickerRoot as I,datePickerSection as L,datePickerWeekNumber as ee,datePickerWeekday as R,datePickerWeekdaysRow as z,datePickerWrapper as B,datePickerYearsList as V,datePickerYearsListCell as H,datePickerYearsListControl as U,datePickerYearsListRow as W}from"@mage-ui/styled-system/recipes";import{jsx as G}from"react/jsx-runtime";import{DatePickerInput as K}from"@mantine/dates";const q=({classNames:t,name:n,label:r,placeholder:i,description:a,error:o,required:s,value:c,onChange:l,locale:u,valueFormat:d,firstDayOfWeek:f,minDate:p,maxDate:m,clearable:h})=>G(K,{name:n,label:r,placeholder:i,description:a,error:o,withAsterisk:s,value:c,onChange:l,locale:u,valueFormat:d,firstDayOfWeek:f,minDate:p,maxDate:m,clearable:h,classNames:oe(t),popoverProps:{classNames:ae(t)},leftSection:G(e,{path:`/icons/sprite-mage.svg`,name:`mage-date-picker-calendar`,classNames:Y(t)}),clearButtonProps:{className:X()}}),J=e=>({root:t(e?.datePicker??n(),e?.root??I()),wrapper:e?.wrapper??B(),input:t(e?.input??y(),`peer`),label:e?.label??b(),error:e?.error??m(),description:e?.description??f(),placeholder:e?.placeholder??M(),section:t(e?.section??L(),`group`),required:e?.required??F(),datePickerRoot:e?.datePickerRoot??u()}),Y=e=>({icon:e?.icon??h(),root:e?.root??v(),iconRaw:{iconRaw:e?.iconRaw?.iconRaw??g(),root:e?.iconRaw?.root??_()}}),X=e=>t(e?.buttonIcon??i(),e?.buttonIconRoot??a()),Z=e=>({calendarHeader:e?.calendarHeader??o(),calendarHeaderControl:e?.calendarHeaderControl??s(),calendarHeaderLevel:e?.calendarHeaderLevel??l(),calendarHeaderControlIcon:e?.calendarHeaderControlIcon??c()}),Q=e=>({levelsGroup:e?.levelsGroup??x(),presetsList:e?.presetsList??P(),presetButton:e?.presetButton??N()}),$=e=>({day:e?.day??d()}),te=e=>({weekdaysRow:e?.weekDaysRow??z(),weekday:e?.weekDay??R(),weekNumber:e?.weekNumber??ee()}),ne=e=>({month:e?.month??S(),monthRow:e?.monthRow??w(),monthThead:e?.monthThead??E(),monthTbody:e?.monthTbody??T(),monthCell:e?.monthCell??C()}),re=e=>({monthsList:e?.monthsList??D(),monthsListRow:e?.monthsListRow??A(),monthsListCell:e?.monthsListCell??O(),monthsListControl:e?.monthsListControl??k()}),ie=e=>({yearsList:e?.yearsList??V(),yearsListRow:e?.yearsListRow??W(),yearsListCell:e?.yearsListCell??H(),yearsListControl:e?.yearsListControl??U()}),ae=e=>({dropdown:e?.dropdown??p(),arrow:e?.arrow??r(),overlay:e?.overlay??j()}),oe=e=>({...J(e),...Q(e),...Z(e),...$(e),...te(e),...ne(e),...re(e),...ie(e)});export{q as DatePicker};
1
+ import{Icon as e}from"../../data-display/icons/icon/Icon.mjs";import{cx as t}from"@mage-ui/styled-system/css";import{datePicker as n,datePickerArrow as r,datePickerButtonIcon as i,datePickerButtonIconRoot as a,datePickerCalendarHeader as o,datePickerCalendarHeaderControl as s,datePickerCalendarHeaderControlIcon as c,datePickerCalendarHeaderLevel as l,datePickerDatePickerRoot as u,datePickerDay as d,datePickerDescription as f,datePickerDropdown as p,datePickerError as m,datePickerIconIcon as h,datePickerIconIconRaw as g,datePickerIconIconRawRoot as _,datePickerIconRoot as v,datePickerInput as y,datePickerLabel as b,datePickerLevelsGroup as x,datePickerMonth as S,datePickerMonthCell as C,datePickerMonthRow as w,datePickerMonthTbody as T,datePickerMonthThead as E,datePickerMonthsList as D,datePickerMonthsListCell as O,datePickerMonthsListControl as k,datePickerMonthsListRow as A,datePickerOverlay as j,datePickerPlaceholder as M,datePickerPresetButton as N,datePickerPresetsList as P,datePickerRequired as F,datePickerRoot as I,datePickerSection as L,datePickerWeekNumber as R,datePickerWeekday as z,datePickerWeekdaysRow as ee,datePickerWrapper as B,datePickerYearsList as V,datePickerYearsListCell as H,datePickerYearsListControl as U,datePickerYearsListRow as W}from"@mage-ui/styled-system/recipes";import{jsx as G}from"react/jsx-runtime";import{DatePickerInput as K}from"@mantine/dates";const q=({classNames:t,name:n,label:r,placeholder:i,description:a,error:o,required:s,value:c,defaultValue:l,onChange:u,locale:d,valueFormat:f,firstDayOfWeek:p,minDate:m,maxDate:h,clearable:g,..._})=>G(K,{..._,name:n,label:r,placeholder:i,description:a,error:o,withAsterisk:s,value:c,defaultValue:l,onChange:u,locale:d,valueFormat:f,firstDayOfWeek:p,minDate:m,maxDate:h,clearable:g,classNames:oe(t),popoverProps:{classNames:ae(t)},leftSection:G(e,{path:`/icons/sprite-mage.svg`,name:`mage-date-picker-calendar`,classNames:Y(t?.icon)}),clearButtonProps:{className:X(t?.buttonIcon)}}),J=e=>({root:t(e?.datePicker??n(),e?.root??I()),wrapper:e?.wrapper??B(),input:t(e?.input??y(),`peer`),label:e?.label??b(),error:e?.error??m(),description:e?.description??f(),placeholder:e?.placeholder??M(),section:t(e?.section??L(),`group`),required:e?.required??F(),datePickerRoot:e?.datePickerRoot??u()}),Y=e=>({icon:e?.icon??h(),root:e?.root??v(),iconRaw:{iconRaw:e?.iconRaw?.iconRaw??g(),root:e?.iconRaw?.root??_()}}),X=e=>t(e?.buttonIcon??i(),e?.buttonIconRoot??a()),Z=e=>({calendarHeader:e?.calendarHeader??o(),calendarHeaderControl:e?.calendarHeaderControl??s(),calendarHeaderLevel:e?.calendarHeaderLevel??l(),calendarHeaderControlIcon:e?.calendarHeaderControlIcon??c()}),Q=e=>({levelsGroup:e?.levelsGroup??x(),presetsList:e?.presetsList??P(),presetButton:e?.presetButton??N()}),$=e=>({day:e?.day??d()}),te=e=>({weekdaysRow:e?.weekDaysRow??ee(),weekday:e?.weekDay??z(),weekNumber:e?.weekNumber??R()}),ne=e=>({month:e?.month??S(),monthRow:e?.monthRow??w(),monthThead:e?.monthThead??E(),monthTbody:e?.monthTbody??T(),monthCell:e?.monthCell??C()}),re=e=>({monthsList:e?.monthsList??D(),monthsListRow:e?.monthsListRow??A(),monthsListCell:e?.monthsListCell??O(),monthsListControl:e?.monthsListControl??k()}),ie=e=>({yearsList:e?.yearsList??V(),yearsListRow:e?.yearsListRow??W(),yearsListCell:e?.yearsListCell??H(),yearsListControl:e?.yearsListControl??U()}),ae=e=>({dropdown:e?.dropdown??p(),arrow:e?.arrow??r(),overlay:e?.overlay??j()}),oe=e=>({...J(e),...Q(e),...Z(e),...$(e),...te(e),...ne(e),...re(e),...ie(e)});export{q as DatePicker};
2
2
  //# sourceMappingURL=DatePicker.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"DatePicker.mjs","names":[],"sources":["../../../../src/components/controls/date-picker/DatePicker.tsx"],"sourcesContent":["import type { ComponentProps, ReactNode } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport {\n datePicker,\n datePickerArrow,\n datePickerButtonIcon,\n datePickerButtonIconRoot,\n datePickerCalendarHeader,\n datePickerCalendarHeaderControl,\n datePickerCalendarHeaderControlIcon,\n datePickerCalendarHeaderLevel,\n datePickerDatePickerRoot,\n datePickerDay,\n datePickerDescription,\n datePickerDropdown,\n datePickerError,\n datePickerIconIcon,\n datePickerIconIconRaw,\n datePickerIconIconRawRoot,\n datePickerIconRoot,\n datePickerInput,\n datePickerLabel,\n datePickerLevelsGroup,\n datePickerMonth,\n datePickerMonthCell,\n datePickerMonthRow,\n datePickerMonthsList,\n datePickerMonthsListCell,\n datePickerMonthsListControl,\n datePickerMonthsListRow,\n datePickerMonthTbody,\n datePickerMonthThead,\n datePickerOverlay,\n datePickerPlaceholder,\n datePickerPresetButton,\n datePickerPresetsList,\n datePickerRequired,\n datePickerRoot,\n datePickerSection,\n datePickerWeekday,\n datePickerWeekdaysRow,\n datePickerWeekNumber,\n datePickerWrapper,\n datePickerYearsList,\n datePickerYearsListCell,\n datePickerYearsListControl,\n datePickerYearsListRow,\n} from '@mage-ui/styled-system/recipes';\nimport { DatePickerInput, type DateValue } from '@mantine/dates';\nimport { Icon, type IconProps } from '@/components/data-display';\n\nexport type DatePickerProps = Omit<\n ComponentProps<'input'>,\n 'size' | 'value' | 'onChange'\n> & {\n label?: ReactNode;\n description?: ReactNode;\n error?: ReactNode;\n classNames?: DatePickerClassNames;\n value?: DateValue;\n onChange?: (date: Date | string | null) => void;\n locale?: string;\n valueFormat?: string;\n firstDayOfWeek?: 0 | 1 | 2 | 3 | 4 | 5 | 6;\n minDate?: Date;\n maxDate?: Date;\n clearable?: boolean;\n};\n\nexport const DatePicker = ({\n classNames,\n name,\n label,\n placeholder,\n description,\n error,\n required,\n value,\n onChange,\n locale,\n valueFormat,\n firstDayOfWeek,\n minDate,\n maxDate,\n clearable,\n}: DatePickerProps): ReactNode => {\n return (\n <DatePickerInput\n name={name}\n label={label}\n placeholder={placeholder}\n description={description}\n error={error}\n withAsterisk={required}\n value={value}\n onChange={onChange}\n locale={locale}\n valueFormat={valueFormat}\n firstDayOfWeek={firstDayOfWeek}\n minDate={minDate}\n maxDate={maxDate}\n clearable={clearable}\n classNames={datePickerClassNames(classNames)}\n popoverProps={{\n classNames: popoverClassNames(classNames),\n }}\n leftSection={\n <Icon\n path='/icons/sprite-mage.svg'\n name='mage-date-picker-calendar'\n classNames={iconClassNames(classNames)}\n />\n }\n clearButtonProps={{\n className: buttonIconClassNames(),\n }}\n />\n );\n};\n\ntype DatePickerClassNames = InputClassNamesType &\n CalendarClassNamesType &\n CalendarHeaderClassNamesType &\n CalendarDayClassNamesType &\n CalendarWeekClassNamesType &\n CalendarMonthClassNamesType &\n CalendarMonthsListClassNamesType &\n CalendarYearsListClassNamesType &\n PopoverClassNamesType;\n\ntype InputClassNamesType = {\n datePicker?: string;\n root?: string;\n wrapper?: string;\n input?: string;\n label?: string;\n error?: string;\n description?: string;\n placeholder?: string;\n section?: string;\n required?: string;\n datePickerRoot?: string;\n};\n\nconst inputClassNames = (classNames?: InputClassNamesType) => {\n return {\n root: cx(\n classNames?.datePicker ?? datePicker(),\n classNames?.root ?? datePickerRoot(),\n ),\n wrapper: classNames?.wrapper ?? datePickerWrapper(),\n input: cx(classNames?.input ?? datePickerInput(), 'peer'),\n label: classNames?.label ?? datePickerLabel(),\n error: classNames?.error ?? datePickerError(),\n description: classNames?.description ?? datePickerDescription(),\n placeholder: classNames?.placeholder ?? datePickerPlaceholder(),\n section: cx(classNames?.section ?? datePickerSection(), 'group'),\n required: classNames?.required ?? datePickerRequired(),\n datePickerRoot: classNames?.datePickerRoot ?? datePickerDatePickerRoot(),\n };\n};\n\ntype IconClassNamesType = IconProps['classNames'];\n\nconst iconClassNames = (classNames?: IconClassNamesType) => {\n return {\n icon: classNames?.icon ?? datePickerIconIcon(),\n root: classNames?.root ?? datePickerIconRoot(),\n iconRaw: {\n iconRaw: classNames?.iconRaw?.iconRaw ?? datePickerIconIconRaw(),\n root: classNames?.iconRaw?.root ?? datePickerIconIconRawRoot(),\n },\n };\n};\n\ntype ButtonIconClassNamesType = {\n buttonIcon?: string;\n buttonIconRoot?: string;\n};\n\nconst buttonIconClassNames = (classNames?: ButtonIconClassNamesType) => {\n return cx(\n classNames?.buttonIcon ?? datePickerButtonIcon(),\n classNames?.buttonIconRoot ?? datePickerButtonIconRoot(),\n );\n};\n\ntype CalendarHeaderClassNamesType = {\n calendarHeaderControl?: string;\n calendarHeader?: string;\n calendarHeaderLevel?: string;\n calendarHeaderControlIcon?: string;\n};\n\nconst calendarHeaderClassNames = (\n classNames?: CalendarHeaderClassNamesType,\n) => {\n return {\n calendarHeader: classNames?.calendarHeader ?? datePickerCalendarHeader(),\n calendarHeaderControl:\n classNames?.calendarHeaderControl ?? datePickerCalendarHeaderControl(),\n calendarHeaderLevel:\n classNames?.calendarHeaderLevel ?? datePickerCalendarHeaderLevel(),\n calendarHeaderControlIcon:\n classNames?.calendarHeaderControlIcon ??\n datePickerCalendarHeaderControlIcon(),\n };\n};\n\ntype CalendarClassNamesType = {\n levelsGroup?: string;\n presetsList?: string;\n presetButton?: string;\n};\n\nconst calendarClassNames = (classNames?: CalendarClassNamesType) => {\n return {\n levelsGroup: classNames?.levelsGroup ?? datePickerLevelsGroup(),\n presetsList: classNames?.presetsList ?? datePickerPresetsList(),\n presetButton: classNames?.presetButton ?? datePickerPresetButton(),\n };\n};\n\ntype CalendarDayClassNamesType = {\n day?: string;\n};\n\nconst calendarDayClassNames = (classNames?: CalendarDayClassNamesType) => {\n return {\n day: classNames?.day ?? datePickerDay(),\n };\n};\n\ntype CalendarWeekClassNamesType = {\n weekDaysRow?: string;\n weekDay?: string;\n weekNumber?: string;\n};\n\nconst calendarWeekClassNames = (classNames?: CalendarWeekClassNamesType) => {\n return {\n weekdaysRow: classNames?.weekDaysRow ?? datePickerWeekdaysRow(),\n weekday: classNames?.weekDay ?? datePickerWeekday(),\n weekNumber: classNames?.weekNumber ?? datePickerWeekNumber(),\n };\n};\n\ntype CalendarMonthClassNamesType = {\n month?: string;\n monthRow?: string;\n monthCell?: string;\n monthThead?: string;\n monthTbody?: string;\n};\n\nconst calendarMonthClassNames = (classNames?: CalendarMonthClassNamesType) => {\n return {\n month: classNames?.month ?? datePickerMonth(),\n monthRow: classNames?.monthRow ?? datePickerMonthRow(),\n monthThead: classNames?.monthThead ?? datePickerMonthThead(),\n monthTbody: classNames?.monthTbody ?? datePickerMonthTbody(),\n monthCell: classNames?.monthCell ?? datePickerMonthCell(),\n };\n};\n\ntype CalendarMonthsListClassNamesType = {\n monthsList?: string;\n monthsListRow?: string;\n monthsListCell?: string;\n monthsListControl?: string;\n};\n\nconst calendarMonthsListClassNames = (\n classNames?: CalendarMonthsListClassNamesType,\n) => {\n return {\n monthsList: classNames?.monthsList ?? datePickerMonthsList(),\n monthsListRow: classNames?.monthsListRow ?? datePickerMonthsListRow(),\n monthsListCell: classNames?.monthsListCell ?? datePickerMonthsListCell(),\n monthsListControl:\n classNames?.monthsListControl ?? datePickerMonthsListControl(),\n };\n};\n\ntype CalendarYearsListClassNamesType = {\n yearsList?: string;\n yearsListRow?: string;\n yearsListCell?: string;\n yearsListControl?: string;\n};\n\nconst calendarYearsListClassNames = (\n classNames?: CalendarYearsListClassNamesType,\n) => {\n return {\n yearsList: classNames?.yearsList ?? datePickerYearsList(),\n yearsListRow: classNames?.yearsListRow ?? datePickerYearsListRow(),\n yearsListCell: classNames?.yearsListCell ?? datePickerYearsListCell(),\n yearsListControl:\n classNames?.yearsListControl ?? datePickerYearsListControl(),\n };\n};\n\ntype PopoverClassNamesType = {\n dropdown?: string;\n arrow?: string;\n overlay?: string;\n};\n\nconst popoverClassNames = (classNames?: PopoverClassNamesType) => {\n return {\n dropdown: classNames?.dropdown ?? datePickerDropdown(),\n arrow: classNames?.arrow ?? datePickerArrow(),\n overlay: classNames?.overlay ?? datePickerOverlay(),\n };\n};\n\nconst datePickerClassNames = (classNames?: DatePickerClassNames) => {\n return {\n ...inputClassNames(classNames),\n ...calendarClassNames(classNames),\n ...calendarHeaderClassNames(classNames),\n ...calendarDayClassNames(classNames),\n ...calendarWeekClassNames(classNames),\n ...calendarMonthClassNames(classNames),\n ...calendarMonthsListClassNames(classNames),\n ...calendarYearsListClassNames(classNames),\n };\n};\n"],"mappings":"y3CAsEA,MAAa,GAAc,CACzB,aACA,OACA,QACA,cACA,cACA,QACA,WACA,QACA,WACA,SACA,cACA,iBACA,UACA,UACA,eAGE,EAAC,EAAD,CACQ,OACC,QACM,cACA,cACN,QACP,aAAc,EACP,QACG,WACF,SACK,cACG,iBACP,UACA,UACE,YACX,WAAY,GAAqB,EAAW,CAC5C,aAAc,CACZ,WAAY,GAAkB,EAAW,CAC1C,CACD,YACE,EAAC,EAAD,CACE,KAAK,yBACL,KAAK,4BACL,WAAY,EAAe,EAAW,CACtC,CAAA,CAEJ,iBAAkB,CAChB,UAAW,GAAsB,CAClC,CACD,CAAA,CA4BA,EAAmB,IAChB,CACL,KAAM,EACJ,GAAY,YAAc,GAAY,CACtC,GAAY,MAAQ,GAAgB,CACrC,CACD,QAAS,GAAY,SAAW,GAAmB,CACnD,MAAO,EAAG,GAAY,OAAS,GAAiB,CAAE,OAAO,CACzD,MAAO,GAAY,OAAS,GAAiB,CAC7C,MAAO,GAAY,OAAS,GAAiB,CAC7C,YAAa,GAAY,aAAe,GAAuB,CAC/D,YAAa,GAAY,aAAe,GAAuB,CAC/D,QAAS,EAAG,GAAY,SAAW,GAAmB,CAAE,QAAQ,CAChE,SAAU,GAAY,UAAY,GAAoB,CACtD,eAAgB,GAAY,gBAAkB,GAA0B,CACzE,EAKG,EAAkB,IACf,CACL,KAAM,GAAY,MAAQ,GAAoB,CAC9C,KAAM,GAAY,MAAQ,GAAoB,CAC9C,QAAS,CACP,QAAS,GAAY,SAAS,SAAW,GAAuB,CAChE,KAAM,GAAY,SAAS,MAAQ,GAA2B,CAC/D,CACF,EAQG,EAAwB,GACrB,EACL,GAAY,YAAc,GAAsB,CAChD,GAAY,gBAAkB,GAA0B,CACzD,CAUG,EACJ,IAEO,CACL,eAAgB,GAAY,gBAAkB,GAA0B,CACxE,sBACE,GAAY,uBAAyB,GAAiC,CACxE,oBACE,GAAY,qBAAuB,GAA+B,CACpE,0BACE,GAAY,2BACZ,GAAqC,CACxC,EASG,EAAsB,IACnB,CACL,YAAa,GAAY,aAAe,GAAuB,CAC/D,YAAa,GAAY,aAAe,GAAuB,CAC/D,aAAc,GAAY,cAAgB,GAAwB,CACnE,EAOG,EAAyB,IACtB,CACL,IAAK,GAAY,KAAO,GAAe,CACxC,EASG,GAA0B,IACvB,CACL,YAAa,GAAY,aAAe,GAAuB,CAC/D,QAAS,GAAY,SAAW,GAAmB,CACnD,WAAY,GAAY,YAAc,IAAsB,CAC7D,EAWG,GAA2B,IACxB,CACL,MAAO,GAAY,OAAS,GAAiB,CAC7C,SAAU,GAAY,UAAY,GAAoB,CACtD,WAAY,GAAY,YAAc,GAAsB,CAC5D,WAAY,GAAY,YAAc,GAAsB,CAC5D,UAAW,GAAY,WAAa,GAAqB,CAC1D,EAUG,GACJ,IAEO,CACL,WAAY,GAAY,YAAc,GAAsB,CAC5D,cAAe,GAAY,eAAiB,GAAyB,CACrE,eAAgB,GAAY,gBAAkB,GAA0B,CACxE,kBACE,GAAY,mBAAqB,GAA6B,CACjE,EAUG,GACJ,IAEO,CACL,UAAW,GAAY,WAAa,GAAqB,CACzD,aAAc,GAAY,cAAgB,GAAwB,CAClE,cAAe,GAAY,eAAiB,GAAyB,CACrE,iBACE,GAAY,kBAAoB,GAA4B,CAC/D,EASG,GAAqB,IAClB,CACL,SAAU,GAAY,UAAY,GAAoB,CACtD,MAAO,GAAY,OAAS,GAAiB,CAC7C,QAAS,GAAY,SAAW,GAAmB,CACpD,EAGG,GAAwB,IACrB,CACL,GAAG,EAAgB,EAAW,CAC9B,GAAG,EAAmB,EAAW,CACjC,GAAG,EAAyB,EAAW,CACvC,GAAG,EAAsB,EAAW,CACpC,GAAG,GAAuB,EAAW,CACrC,GAAG,GAAwB,EAAW,CACtC,GAAG,GAA6B,EAAW,CAC3C,GAAG,GAA4B,EAAW,CAC3C"}
1
+ {"version":3,"file":"DatePicker.mjs","names":[],"sources":["../../../../src/components/controls/date-picker/DatePicker.tsx"],"sourcesContent":["import type { ComponentProps, ReactNode } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport {\n datePicker,\n datePickerArrow,\n datePickerButtonIcon,\n datePickerButtonIconRoot,\n datePickerCalendarHeader,\n datePickerCalendarHeaderControl,\n datePickerCalendarHeaderControlIcon,\n datePickerCalendarHeaderLevel,\n datePickerDatePickerRoot,\n datePickerDay,\n datePickerDescription,\n datePickerDropdown,\n datePickerError,\n datePickerIconIcon,\n datePickerIconIconRaw,\n datePickerIconIconRawRoot,\n datePickerIconRoot,\n datePickerInput,\n datePickerLabel,\n datePickerLevelsGroup,\n datePickerMonth,\n datePickerMonthCell,\n datePickerMonthRow,\n datePickerMonthsList,\n datePickerMonthsListCell,\n datePickerMonthsListControl,\n datePickerMonthsListRow,\n datePickerMonthTbody,\n datePickerMonthThead,\n datePickerOverlay,\n datePickerPlaceholder,\n datePickerPresetButton,\n datePickerPresetsList,\n datePickerRequired,\n datePickerRoot,\n datePickerSection,\n datePickerWeekday,\n datePickerWeekdaysRow,\n datePickerWeekNumber,\n datePickerWrapper,\n datePickerYearsList,\n datePickerYearsListCell,\n datePickerYearsListControl,\n datePickerYearsListRow,\n} from '@mage-ui/styled-system/recipes';\nimport { DatePickerInput } from '@mantine/dates';\nimport { Icon, type IconProps } from '@/components/data-display';\n\nexport type DatePickerValue = Date | string | null;\nexport type DatePickerDate = Date | string;\n\nexport type DatePickerProps = Omit<\n ComponentProps<'button'>,\n 'children' | 'defaultValue' | 'size' | 'type' | 'value' | 'onChange'\n> & {\n label?: ReactNode;\n placeholder?: string;\n description?: ReactNode;\n error?: ReactNode;\n required?: boolean;\n classNames?: DatePickerClassNames;\n value?: DatePickerValue;\n defaultValue?: DatePickerValue;\n onChange?: (date: DatePickerValue) => void;\n locale?: string;\n valueFormat?: string;\n firstDayOfWeek?: 0 | 1 | 2 | 3 | 4 | 5 | 6;\n minDate?: DatePickerDate;\n maxDate?: DatePickerDate;\n clearable?: boolean;\n};\n\nexport const DatePicker = ({\n classNames,\n name,\n label,\n placeholder,\n description,\n error,\n required,\n value,\n defaultValue,\n onChange,\n locale,\n valueFormat,\n firstDayOfWeek,\n minDate,\n maxDate,\n clearable,\n ...props\n}: DatePickerProps): ReactNode => {\n return (\n <DatePickerInput\n {...props}\n name={name}\n label={label}\n placeholder={placeholder}\n description={description}\n error={error}\n withAsterisk={required}\n value={value}\n defaultValue={defaultValue}\n onChange={onChange}\n locale={locale}\n valueFormat={valueFormat}\n firstDayOfWeek={firstDayOfWeek}\n minDate={minDate}\n maxDate={maxDate}\n clearable={clearable}\n classNames={datePickerClassNames(classNames)}\n popoverProps={{\n classNames: popoverClassNames(classNames),\n }}\n leftSection={\n <Icon\n path='/icons/sprite-mage.svg'\n name='mage-date-picker-calendar'\n classNames={iconClassNames(classNames?.icon)}\n />\n }\n clearButtonProps={{\n className: buttonIconClassNames(classNames?.buttonIcon),\n }}\n />\n );\n};\n\nexport type DatePickerClassNames = InputClassNamesType &\n CalendarClassNamesType &\n CalendarHeaderClassNamesType &\n CalendarDayClassNamesType &\n CalendarWeekClassNamesType &\n CalendarMonthClassNamesType &\n CalendarMonthsListClassNamesType &\n CalendarYearsListClassNamesType &\n PopoverClassNamesType & {\n icon?: IconClassNamesType;\n buttonIcon?: ButtonIconClassNamesType;\n };\n\ntype InputClassNamesType = {\n datePicker?: string;\n root?: string;\n wrapper?: string;\n input?: string;\n label?: string;\n error?: string;\n description?: string;\n placeholder?: string;\n section?: string;\n required?: string;\n datePickerRoot?: string;\n};\n\nconst inputClassNames = (classNames?: InputClassNamesType) => {\n return {\n root: cx(\n classNames?.datePicker ?? datePicker(),\n classNames?.root ?? datePickerRoot(),\n ),\n wrapper: classNames?.wrapper ?? datePickerWrapper(),\n input: cx(classNames?.input ?? datePickerInput(), 'peer'),\n label: classNames?.label ?? datePickerLabel(),\n error: classNames?.error ?? datePickerError(),\n description: classNames?.description ?? datePickerDescription(),\n placeholder: classNames?.placeholder ?? datePickerPlaceholder(),\n section: cx(classNames?.section ?? datePickerSection(), 'group'),\n required: classNames?.required ?? datePickerRequired(),\n datePickerRoot: classNames?.datePickerRoot ?? datePickerDatePickerRoot(),\n };\n};\n\ntype IconClassNamesType = IconProps['classNames'];\n\nconst iconClassNames = (classNames?: IconClassNamesType) => {\n return {\n icon: classNames?.icon ?? datePickerIconIcon(),\n root: classNames?.root ?? datePickerIconRoot(),\n iconRaw: {\n iconRaw: classNames?.iconRaw?.iconRaw ?? datePickerIconIconRaw(),\n root: classNames?.iconRaw?.root ?? datePickerIconIconRawRoot(),\n },\n };\n};\n\ntype ButtonIconClassNamesType = {\n buttonIcon?: string;\n buttonIconRoot?: string;\n};\n\nconst buttonIconClassNames = (classNames?: ButtonIconClassNamesType) => {\n return cx(\n classNames?.buttonIcon ?? datePickerButtonIcon(),\n classNames?.buttonIconRoot ?? datePickerButtonIconRoot(),\n );\n};\n\ntype CalendarHeaderClassNamesType = {\n calendarHeaderControl?: string;\n calendarHeader?: string;\n calendarHeaderLevel?: string;\n calendarHeaderControlIcon?: string;\n};\n\nconst calendarHeaderClassNames = (\n classNames?: CalendarHeaderClassNamesType,\n) => {\n return {\n calendarHeader: classNames?.calendarHeader ?? datePickerCalendarHeader(),\n calendarHeaderControl:\n classNames?.calendarHeaderControl ?? datePickerCalendarHeaderControl(),\n calendarHeaderLevel:\n classNames?.calendarHeaderLevel ?? datePickerCalendarHeaderLevel(),\n calendarHeaderControlIcon:\n classNames?.calendarHeaderControlIcon ??\n datePickerCalendarHeaderControlIcon(),\n };\n};\n\ntype CalendarClassNamesType = {\n levelsGroup?: string;\n presetsList?: string;\n presetButton?: string;\n};\n\nconst calendarClassNames = (classNames?: CalendarClassNamesType) => {\n return {\n levelsGroup: classNames?.levelsGroup ?? datePickerLevelsGroup(),\n presetsList: classNames?.presetsList ?? datePickerPresetsList(),\n presetButton: classNames?.presetButton ?? datePickerPresetButton(),\n };\n};\n\ntype CalendarDayClassNamesType = {\n day?: string;\n};\n\nconst calendarDayClassNames = (classNames?: CalendarDayClassNamesType) => {\n return {\n day: classNames?.day ?? datePickerDay(),\n };\n};\n\ntype CalendarWeekClassNamesType = {\n weekDaysRow?: string;\n weekDay?: string;\n weekNumber?: string;\n};\n\nconst calendarWeekClassNames = (classNames?: CalendarWeekClassNamesType) => {\n return {\n weekdaysRow: classNames?.weekDaysRow ?? datePickerWeekdaysRow(),\n weekday: classNames?.weekDay ?? datePickerWeekday(),\n weekNumber: classNames?.weekNumber ?? datePickerWeekNumber(),\n };\n};\n\ntype CalendarMonthClassNamesType = {\n month?: string;\n monthRow?: string;\n monthCell?: string;\n monthThead?: string;\n monthTbody?: string;\n};\n\nconst calendarMonthClassNames = (classNames?: CalendarMonthClassNamesType) => {\n return {\n month: classNames?.month ?? datePickerMonth(),\n monthRow: classNames?.monthRow ?? datePickerMonthRow(),\n monthThead: classNames?.monthThead ?? datePickerMonthThead(),\n monthTbody: classNames?.monthTbody ?? datePickerMonthTbody(),\n monthCell: classNames?.monthCell ?? datePickerMonthCell(),\n };\n};\n\ntype CalendarMonthsListClassNamesType = {\n monthsList?: string;\n monthsListRow?: string;\n monthsListCell?: string;\n monthsListControl?: string;\n};\n\nconst calendarMonthsListClassNames = (\n classNames?: CalendarMonthsListClassNamesType,\n) => {\n return {\n monthsList: classNames?.monthsList ?? datePickerMonthsList(),\n monthsListRow: classNames?.monthsListRow ?? datePickerMonthsListRow(),\n monthsListCell: classNames?.monthsListCell ?? datePickerMonthsListCell(),\n monthsListControl:\n classNames?.monthsListControl ?? datePickerMonthsListControl(),\n };\n};\n\ntype CalendarYearsListClassNamesType = {\n yearsList?: string;\n yearsListRow?: string;\n yearsListCell?: string;\n yearsListControl?: string;\n};\n\nconst calendarYearsListClassNames = (\n classNames?: CalendarYearsListClassNamesType,\n) => {\n return {\n yearsList: classNames?.yearsList ?? datePickerYearsList(),\n yearsListRow: classNames?.yearsListRow ?? datePickerYearsListRow(),\n yearsListCell: classNames?.yearsListCell ?? datePickerYearsListCell(),\n yearsListControl:\n classNames?.yearsListControl ?? datePickerYearsListControl(),\n };\n};\n\ntype PopoverClassNamesType = {\n dropdown?: string;\n arrow?: string;\n overlay?: string;\n};\n\nconst popoverClassNames = (classNames?: PopoverClassNamesType) => {\n return {\n dropdown: classNames?.dropdown ?? datePickerDropdown(),\n arrow: classNames?.arrow ?? datePickerArrow(),\n overlay: classNames?.overlay ?? datePickerOverlay(),\n };\n};\n\nconst datePickerClassNames = (classNames?: DatePickerClassNames) => {\n return {\n ...inputClassNames(classNames),\n ...calendarClassNames(classNames),\n ...calendarHeaderClassNames(classNames),\n ...calendarDayClassNames(classNames),\n ...calendarWeekClassNames(classNames),\n ...calendarMonthClassNames(classNames),\n ...calendarMonthsListClassNames(classNames),\n ...calendarYearsListClassNames(classNames),\n };\n};\n"],"mappings":"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"}
@@ -0,0 +1,120 @@
1
+ import { IconProps } from "../../data-display/icons/icon/Icon.mjs";
2
+ import { ComponentProps, ReactNode } from "react";
3
+
4
+ //#region src/components/controls/date-time-picker/DateTimePicker.d.ts
5
+ type DateTimePickerValue = Date | string | null;
6
+ type DateTimePickerDate = Date | string;
7
+ type DateTimePickerProps = Omit<ComponentProps<'button'>, 'children' | 'defaultValue' | 'size' | 'type' | 'value' | 'onChange'> & {
8
+ label?: ReactNode;
9
+ placeholder?: string;
10
+ description?: ReactNode;
11
+ error?: ReactNode;
12
+ required?: boolean;
13
+ classNames?: DateTimePickerClassNames;
14
+ value?: DateTimePickerValue;
15
+ defaultValue?: DateTimePickerValue;
16
+ onChange?: (date: DateTimePickerValue) => void;
17
+ locale?: string;
18
+ valueFormat?: string;
19
+ firstDayOfWeek?: 0 | 1 | 2 | 3 | 4 | 5 | 6;
20
+ minDate?: DateTimePickerDate;
21
+ maxDate?: DateTimePickerDate;
22
+ clearable?: boolean;
23
+ defaultTimeValue?: string;
24
+ withSeconds?: boolean;
25
+ };
26
+ declare const DateTimePicker: ({
27
+ classNames,
28
+ name,
29
+ label,
30
+ placeholder,
31
+ description,
32
+ error,
33
+ required,
34
+ value,
35
+ defaultValue,
36
+ onChange,
37
+ locale,
38
+ valueFormat,
39
+ firstDayOfWeek,
40
+ minDate,
41
+ maxDate,
42
+ clearable,
43
+ defaultTimeValue,
44
+ withSeconds,
45
+ ...props
46
+ }: DateTimePickerProps) => ReactNode;
47
+ type DateTimePickerClassNames = InputClassNamesType & CalendarClassNamesType & CalendarHeaderClassNamesType & CalendarDayClassNamesType & CalendarWeekClassNamesType & CalendarMonthClassNamesType & CalendarMonthsListClassNamesType & CalendarYearsListClassNamesType & TimeClassNamesType & PopoverClassNamesType & {
48
+ icon?: IconClassNamesType;
49
+ buttonIcon?: ButtonIconClassNamesType;
50
+ };
51
+ type InputClassNamesType = {
52
+ dateTimePicker?: string;
53
+ root?: string;
54
+ wrapper?: string;
55
+ input?: string;
56
+ label?: string;
57
+ error?: string;
58
+ description?: string;
59
+ placeholder?: string;
60
+ section?: string;
61
+ required?: string;
62
+ datePickerRoot?: string;
63
+ };
64
+ type IconClassNamesType = IconProps['classNames'];
65
+ type ButtonIconClassNamesType = {
66
+ buttonIcon?: string;
67
+ buttonIconRoot?: string;
68
+ };
69
+ type CalendarHeaderClassNamesType = {
70
+ calendarHeaderControl?: string;
71
+ calendarHeader?: string;
72
+ calendarHeaderLevel?: string;
73
+ calendarHeaderControlIcon?: string;
74
+ };
75
+ type CalendarClassNamesType = {
76
+ levelsGroup?: string;
77
+ presetsList?: string;
78
+ presetButton?: string;
79
+ };
80
+ type CalendarDayClassNamesType = {
81
+ day?: string;
82
+ };
83
+ type CalendarWeekClassNamesType = {
84
+ weekDaysRow?: string;
85
+ weekDay?: string;
86
+ weekNumber?: string;
87
+ };
88
+ type CalendarMonthClassNamesType = {
89
+ month?: string;
90
+ monthRow?: string;
91
+ monthCell?: string;
92
+ monthThead?: string;
93
+ monthTbody?: string;
94
+ };
95
+ type CalendarMonthsListClassNamesType = {
96
+ monthsList?: string;
97
+ monthsListRow?: string;
98
+ monthsListCell?: string;
99
+ monthsListControl?: string;
100
+ };
101
+ type CalendarYearsListClassNamesType = {
102
+ yearsList?: string;
103
+ yearsListRow?: string;
104
+ yearsListCell?: string;
105
+ yearsListControl?: string;
106
+ };
107
+ type TimeClassNamesType = {
108
+ timePicker?: string;
109
+ timeWrapper?: string;
110
+ timeInput?: string;
111
+ submitButton?: string;
112
+ };
113
+ type PopoverClassNamesType = {
114
+ dropdown?: string;
115
+ arrow?: string;
116
+ overlay?: string;
117
+ };
118
+ //#endregion
119
+ export { DateTimePicker, DateTimePickerClassNames, DateTimePickerDate, DateTimePickerProps, DateTimePickerValue };
120
+ //# sourceMappingURL=DateTimePicker.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DateTimePicker.d.mts","names":[],"sources":["../../../../src/components/controls/date-time-picker/DateTimePicker.tsx"],"mappings":";;;;KAuDY,mBAAA,GAAsB,IAAA;AAAA,KACtB,kBAAA,GAAqB,IAAA;AAAA,KAErB,mBAAA,GAAsB,IAAA,CAChC,cAAA;EAGA,KAAA,GAAQ,SAAA;EACR,WAAA;EACA,WAAA,GAAc,SAAA;EACd,KAAA,GAAQ,SAAA;EACR,QAAA;EACA,UAAA,GAAa,wBAAA;EACb,KAAA,GAAQ,mBAAA;EACR,YAAA,GAAe,mBAAA;EACf,QAAA,IAAY,IAAA,EAAM,mBAAA;EAClB,MAAA;EACA,WAAA;EACA,cAAA;EACA,OAAA,GAAU,kBAAA;EACV,OAAA,GAAU,kBAAA;EACV,SAAA;EACA,gBAAA;EACA,WAAA;AAAA;AAAA,cAGW,cAAA;EAAkB,UAAA;EAAA,IAAA;EAAA,KAAA;EAAA,WAAA;EAAA,WAAA;EAAA,KAAA;EAAA,QAAA;EAAA,KAAA;EAAA,YAAA;EAAA,QAAA;EAAA,MAAA;EAAA,WAAA;EAAA,cAAA;EAAA,OAAA;EAAA,OAAA;EAAA,SAAA;EAAA,gBAAA;EAAA,WAAA;EAAA,GAAA;AAAA,GAoB5B,mBAAA,KAAsB,SAAA;AAAA,KAuCb,wBAAA,GAA2B,mBAAA,GACrC,sBAAA,GACA,4BAAA,GACA,yBAAA,GACA,0BAAA,GACA,2BAAA,GACA,gCAAA,GACA,+BAAA,GACA,kBAAA,GACA,qBAAA;EACE,IAAA,GAAO,kBAAA;EACP,UAAA,GAAa,wBAAA;AAAA;AAAA,KAGZ,mBAAA;EACH,cAAA;EACA,IAAA;EACA,OAAA;EACA,KAAA;EACA,KAAA;EACA,KAAA;EACA,WAAA;EACA,WAAA;EACA,OAAA;EACA,QAAA;EACA,cAAA;AAAA;AAAA,KAsBG,kBAAA,GAAqB,SAAA;AAAA,KAarB,wBAAA;EACH,UAAA;EACA,cAAA;AAAA;AAAA,KAUG,4BAAA;EACH,qBAAA;EACA,cAAA;EACA,mBAAA;EACA,yBAAA;AAAA;AAAA,KAoBG,sBAAA;EACH,WAAA;EACA,WAAA;EACA,YAAA;AAAA;AAAA,KAWG,yBAAA;EACH,GAAA;AAAA;AAAA,KASG,0BAAA;EACH,WAAA;EACA,OAAA;EACA,UAAA;AAAA;AAAA,KAWG,2BAAA;EACH,KAAA;EACA,QAAA;EACA,SAAA;EACA,UAAA;EACA,UAAA;AAAA;AAAA,KAaG,gCAAA;EACH,UAAA;EACA,aAAA;EACA,cAAA;EACA,iBAAA;AAAA;AAAA,KAgBG,+BAAA;EACH,SAAA;EACA,YAAA;EACA,aAAA;EACA,gBAAA;AAAA;AAAA,KAeG,kBAAA;EACH,UAAA;EACA,WAAA;EACA,SAAA;EACA,YAAA;AAAA;AAAA,KAYG,qBAAA;EACH,QAAA;EACA,KAAA;EACA,OAAA;AAAA"}
@@ -0,0 +1,2 @@
1
+ import{Icon as e}from"../../data-display/icons/icon/Icon.mjs";import{cx as t}from"@mage-ui/styled-system/css";import{dateTimePicker as n,dateTimePickerArrow as r,dateTimePickerButtonIcon as i,dateTimePickerButtonIconRoot as a,dateTimePickerCalendarHeader as o,dateTimePickerCalendarHeaderControl as s,dateTimePickerCalendarHeaderControlIcon as c,dateTimePickerCalendarHeaderLevel as l,dateTimePickerDatePickerRoot as u,dateTimePickerDay as d,dateTimePickerDescription as f,dateTimePickerDropdown as p,dateTimePickerError as m,dateTimePickerIconIcon as h,dateTimePickerIconIconRaw as g,dateTimePickerIconIconRawRoot as _,dateTimePickerIconRoot as v,dateTimePickerInput as y,dateTimePickerLabel as b,dateTimePickerLevelsGroup as ee,dateTimePickerMonth as x,dateTimePickerMonthCell as S,dateTimePickerMonthRow as C,dateTimePickerMonthTbody as w,dateTimePickerMonthThead as T,dateTimePickerMonthsList as E,dateTimePickerMonthsListCell as D,dateTimePickerMonthsListControl as O,dateTimePickerMonthsListRow as k,dateTimePickerOverlay as A,dateTimePickerPlaceholder as j,dateTimePickerPresetButton as M,dateTimePickerPresetsList as N,dateTimePickerRequired as P,dateTimePickerRoot as F,dateTimePickerSection as I,dateTimePickerSubmitButton as L,dateTimePickerTimeInput as R,dateTimePickerTimeWrapper as z,dateTimePickerWeekNumber as B,dateTimePickerWeekday as te,dateTimePickerWeekdaysRow as V,dateTimePickerWrapper as H,dateTimePickerYearsList as U,dateTimePickerYearsListCell as W,dateTimePickerYearsListControl as G,dateTimePickerYearsListRow as K}from"@mage-ui/styled-system/recipes";import{jsx as q}from"react/jsx-runtime";import{DateTimePicker as J}from"@mantine/dates";const Y=({classNames:t,name:n,label:r,placeholder:i,description:a,error:o,required:s,value:c,defaultValue:l,onChange:u,locale:d,valueFormat:f,firstDayOfWeek:p,minDate:m,maxDate:h,clearable:g,defaultTimeValue:_,withSeconds:v,...y})=>q(J,{...y,name:n,label:r,placeholder:i,description:a,error:o,withAsterisk:s,value:c,defaultValue:l,onChange:u,locale:d,valueFormat:f,firstDayOfWeek:p,minDate:m,maxDate:h,clearable:g,defaultTimeValue:_,withSeconds:v,classNames:ue(t),popoverProps:{classNames:le(t)},leftSection:q(e,{path:`/icons/sprite-mage.svg`,name:`mage-date-picker-calendar`,classNames:Z(t?.icon)}),clearButtonProps:{className:Q(t?.buttonIcon)}}),X=e=>({root:t(e?.dateTimePicker??n(),e?.root??F()),wrapper:e?.wrapper??H(),input:t(e?.input??y(),`peer`),label:e?.label??b(),error:e?.error??m(),description:e?.description??f(),placeholder:e?.placeholder??j(),section:t(e?.section??I(),`group`),required:e?.required??P(),datePickerRoot:e?.datePickerRoot??u()}),Z=e=>({icon:e?.icon??h(),root:e?.root??v(),iconRaw:{iconRaw:e?.iconRaw?.iconRaw??g(),root:e?.iconRaw?.root??_()}}),Q=e=>t(e?.buttonIcon??i(),e?.buttonIconRoot??a()),ne=e=>({calendarHeader:e?.calendarHeader??o(),calendarHeaderControl:e?.calendarHeaderControl??s(),calendarHeaderLevel:e?.calendarHeaderLevel??l(),calendarHeaderControlIcon:e?.calendarHeaderControlIcon??c()}),re=e=>({levelsGroup:e?.levelsGroup??ee(),presetsList:e?.presetsList??N(),presetButton:e?.presetButton??M()}),ie=e=>({day:e?.day??d()}),ae=e=>({weekdaysRow:e?.weekDaysRow??V(),weekday:e?.weekDay??te(),weekNumber:e?.weekNumber??B()}),oe=e=>({month:e?.month??x(),monthRow:e?.monthRow??C(),monthThead:e?.monthThead??T(),monthTbody:e?.monthTbody??w(),monthCell:e?.monthCell??S()}),$=e=>({monthsList:e?.monthsList??E(),monthsListRow:e?.monthsListRow??k(),monthsListCell:e?.monthsListCell??D(),monthsListControl:e?.monthsListControl??O()}),se=e=>({yearsList:e?.yearsList??U(),yearsListRow:e?.yearsListRow??K(),yearsListCell:e?.yearsListCell??W(),yearsListControl:e?.yearsListControl??G()}),ce=e=>({timePicker:e?.timePicker??n(),timeWrapper:e?.timeWrapper??z(),timeInput:e?.timeInput??R(),submitButton:e?.submitButton??L()}),le=e=>({dropdown:e?.dropdown??p(),arrow:e?.arrow??r(),overlay:e?.overlay??A()}),ue=e=>({...X(e),...re(e),...ne(e),...ie(e),...ae(e),...oe(e),...$(e),...se(e),...ce(e)});export{Y as DateTimePicker};
2
+ //# sourceMappingURL=DateTimePicker.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DateTimePicker.mjs","names":["DateTimePicker","MantineDateTimePicker"],"sources":["../../../../src/components/controls/date-time-picker/DateTimePicker.tsx"],"sourcesContent":["import type { ComponentProps, ReactNode } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport {\n dateTimePicker,\n dateTimePickerArrow,\n dateTimePickerButtonIcon,\n dateTimePickerButtonIconRoot,\n dateTimePickerCalendarHeader,\n dateTimePickerCalendarHeaderControl,\n dateTimePickerCalendarHeaderControlIcon,\n dateTimePickerCalendarHeaderLevel,\n dateTimePickerDatePickerRoot,\n dateTimePickerDay,\n dateTimePickerDescription,\n dateTimePickerDropdown,\n dateTimePickerError,\n dateTimePickerIconIcon,\n dateTimePickerIconIconRaw,\n dateTimePickerIconIconRawRoot,\n dateTimePickerIconRoot,\n dateTimePickerInput,\n dateTimePickerLabel,\n dateTimePickerLevelsGroup,\n dateTimePickerMonth,\n dateTimePickerMonthCell,\n dateTimePickerMonthRow,\n dateTimePickerMonthsList,\n dateTimePickerMonthsListCell,\n dateTimePickerMonthsListControl,\n dateTimePickerMonthsListRow,\n dateTimePickerMonthTbody,\n dateTimePickerMonthThead,\n dateTimePickerOverlay,\n dateTimePickerPlaceholder,\n dateTimePickerPresetButton,\n dateTimePickerPresetsList,\n dateTimePickerRequired,\n dateTimePickerRoot,\n dateTimePickerSection,\n dateTimePickerSubmitButton,\n dateTimePickerTimeInput,\n dateTimePickerTimeWrapper,\n dateTimePickerWeekday,\n dateTimePickerWeekdaysRow,\n dateTimePickerWeekNumber,\n dateTimePickerWrapper,\n dateTimePickerYearsList,\n dateTimePickerYearsListCell,\n dateTimePickerYearsListControl,\n dateTimePickerYearsListRow,\n} from '@mage-ui/styled-system/recipes';\nimport { DateTimePicker as MantineDateTimePicker } from '@mantine/dates';\nimport { Icon, type IconProps } from '@/components/data-display';\n\nexport type DateTimePickerValue = Date | string | null;\nexport type DateTimePickerDate = Date | string;\n\nexport type DateTimePickerProps = Omit<\n ComponentProps<'button'>,\n 'children' | 'defaultValue' | 'size' | 'type' | 'value' | 'onChange'\n> & {\n label?: ReactNode;\n placeholder?: string;\n description?: ReactNode;\n error?: ReactNode;\n required?: boolean;\n classNames?: DateTimePickerClassNames;\n value?: DateTimePickerValue;\n defaultValue?: DateTimePickerValue;\n onChange?: (date: DateTimePickerValue) => void;\n locale?: string;\n valueFormat?: string;\n firstDayOfWeek?: 0 | 1 | 2 | 3 | 4 | 5 | 6;\n minDate?: DateTimePickerDate;\n maxDate?: DateTimePickerDate;\n clearable?: boolean;\n defaultTimeValue?: string;\n withSeconds?: boolean;\n};\n\nexport const DateTimePicker = ({\n classNames,\n name,\n label,\n placeholder,\n description,\n error,\n required,\n value,\n defaultValue,\n onChange,\n locale,\n valueFormat,\n firstDayOfWeek,\n minDate,\n maxDate,\n clearable,\n defaultTimeValue,\n withSeconds,\n ...props\n}: DateTimePickerProps): ReactNode => {\n return (\n <MantineDateTimePicker\n {...props}\n name={name}\n label={label}\n placeholder={placeholder}\n description={description}\n error={error}\n withAsterisk={required}\n value={value}\n defaultValue={defaultValue}\n onChange={onChange}\n locale={locale}\n valueFormat={valueFormat}\n firstDayOfWeek={firstDayOfWeek}\n minDate={minDate}\n maxDate={maxDate}\n clearable={clearable}\n defaultTimeValue={defaultTimeValue}\n withSeconds={withSeconds}\n classNames={dateTimePickerClassNames(classNames)}\n popoverProps={{\n classNames: popoverClassNames(classNames),\n }}\n leftSection={\n <Icon\n path='/icons/sprite-mage.svg'\n name='mage-date-picker-calendar'\n classNames={iconClassNames(classNames?.icon)}\n />\n }\n clearButtonProps={{\n className: buttonIconClassNames(classNames?.buttonIcon),\n }}\n />\n );\n};\n\nexport type DateTimePickerClassNames = InputClassNamesType &\n CalendarClassNamesType &\n CalendarHeaderClassNamesType &\n CalendarDayClassNamesType &\n CalendarWeekClassNamesType &\n CalendarMonthClassNamesType &\n CalendarMonthsListClassNamesType &\n CalendarYearsListClassNamesType &\n TimeClassNamesType &\n PopoverClassNamesType & {\n icon?: IconClassNamesType;\n buttonIcon?: ButtonIconClassNamesType;\n };\n\ntype InputClassNamesType = {\n dateTimePicker?: string;\n root?: string;\n wrapper?: string;\n input?: string;\n label?: string;\n error?: string;\n description?: string;\n placeholder?: string;\n section?: string;\n required?: string;\n datePickerRoot?: string;\n};\n\nconst inputClassNames = (classNames?: InputClassNamesType) => {\n return {\n root: cx(\n classNames?.dateTimePicker ?? dateTimePicker(),\n classNames?.root ?? dateTimePickerRoot(),\n ),\n wrapper: classNames?.wrapper ?? dateTimePickerWrapper(),\n input: cx(classNames?.input ?? dateTimePickerInput(), 'peer'),\n label: classNames?.label ?? dateTimePickerLabel(),\n error: classNames?.error ?? dateTimePickerError(),\n description: classNames?.description ?? dateTimePickerDescription(),\n placeholder: classNames?.placeholder ?? dateTimePickerPlaceholder(),\n section: cx(classNames?.section ?? dateTimePickerSection(), 'group'),\n required: classNames?.required ?? dateTimePickerRequired(),\n datePickerRoot:\n classNames?.datePickerRoot ?? dateTimePickerDatePickerRoot(),\n };\n};\n\ntype IconClassNamesType = IconProps['classNames'];\n\nconst iconClassNames = (classNames?: IconClassNamesType) => {\n return {\n icon: classNames?.icon ?? dateTimePickerIconIcon(),\n root: classNames?.root ?? dateTimePickerIconRoot(),\n iconRaw: {\n iconRaw: classNames?.iconRaw?.iconRaw ?? dateTimePickerIconIconRaw(),\n root: classNames?.iconRaw?.root ?? dateTimePickerIconIconRawRoot(),\n },\n };\n};\n\ntype ButtonIconClassNamesType = {\n buttonIcon?: string;\n buttonIconRoot?: string;\n};\n\nconst buttonIconClassNames = (classNames?: ButtonIconClassNamesType) => {\n return cx(\n classNames?.buttonIcon ?? dateTimePickerButtonIcon(),\n classNames?.buttonIconRoot ?? dateTimePickerButtonIconRoot(),\n );\n};\n\ntype CalendarHeaderClassNamesType = {\n calendarHeaderControl?: string;\n calendarHeader?: string;\n calendarHeaderLevel?: string;\n calendarHeaderControlIcon?: string;\n};\n\nconst calendarHeaderClassNames = (\n classNames?: CalendarHeaderClassNamesType,\n) => {\n return {\n calendarHeader:\n classNames?.calendarHeader ?? dateTimePickerCalendarHeader(),\n calendarHeaderControl:\n classNames?.calendarHeaderControl ??\n dateTimePickerCalendarHeaderControl(),\n calendarHeaderLevel:\n classNames?.calendarHeaderLevel ?? dateTimePickerCalendarHeaderLevel(),\n calendarHeaderControlIcon:\n classNames?.calendarHeaderControlIcon ??\n dateTimePickerCalendarHeaderControlIcon(),\n };\n};\n\ntype CalendarClassNamesType = {\n levelsGroup?: string;\n presetsList?: string;\n presetButton?: string;\n};\n\nconst calendarClassNames = (classNames?: CalendarClassNamesType) => {\n return {\n levelsGroup: classNames?.levelsGroup ?? dateTimePickerLevelsGroup(),\n presetsList: classNames?.presetsList ?? dateTimePickerPresetsList(),\n presetButton: classNames?.presetButton ?? dateTimePickerPresetButton(),\n };\n};\n\ntype CalendarDayClassNamesType = {\n day?: string;\n};\n\nconst calendarDayClassNames = (classNames?: CalendarDayClassNamesType) => {\n return {\n day: classNames?.day ?? dateTimePickerDay(),\n };\n};\n\ntype CalendarWeekClassNamesType = {\n weekDaysRow?: string;\n weekDay?: string;\n weekNumber?: string;\n};\n\nconst calendarWeekClassNames = (classNames?: CalendarWeekClassNamesType) => {\n return {\n weekdaysRow: classNames?.weekDaysRow ?? dateTimePickerWeekdaysRow(),\n weekday: classNames?.weekDay ?? dateTimePickerWeekday(),\n weekNumber: classNames?.weekNumber ?? dateTimePickerWeekNumber(),\n };\n};\n\ntype CalendarMonthClassNamesType = {\n month?: string;\n monthRow?: string;\n monthCell?: string;\n monthThead?: string;\n monthTbody?: string;\n};\n\nconst calendarMonthClassNames = (classNames?: CalendarMonthClassNamesType) => {\n return {\n month: classNames?.month ?? dateTimePickerMonth(),\n monthRow: classNames?.monthRow ?? dateTimePickerMonthRow(),\n monthThead: classNames?.monthThead ?? dateTimePickerMonthThead(),\n monthTbody: classNames?.monthTbody ?? dateTimePickerMonthTbody(),\n monthCell: classNames?.monthCell ?? dateTimePickerMonthCell(),\n };\n};\n\ntype CalendarMonthsListClassNamesType = {\n monthsList?: string;\n monthsListRow?: string;\n monthsListCell?: string;\n monthsListControl?: string;\n};\n\nconst calendarMonthsListClassNames = (\n classNames?: CalendarMonthsListClassNamesType,\n) => {\n return {\n monthsList: classNames?.monthsList ?? dateTimePickerMonthsList(),\n monthsListRow: classNames?.monthsListRow ?? dateTimePickerMonthsListRow(),\n monthsListCell:\n classNames?.monthsListCell ?? dateTimePickerMonthsListCell(),\n monthsListControl:\n classNames?.monthsListControl ?? dateTimePickerMonthsListControl(),\n };\n};\n\ntype CalendarYearsListClassNamesType = {\n yearsList?: string;\n yearsListRow?: string;\n yearsListCell?: string;\n yearsListControl?: string;\n};\n\nconst calendarYearsListClassNames = (\n classNames?: CalendarYearsListClassNamesType,\n) => {\n return {\n yearsList: classNames?.yearsList ?? dateTimePickerYearsList(),\n yearsListRow: classNames?.yearsListRow ?? dateTimePickerYearsListRow(),\n yearsListCell: classNames?.yearsListCell ?? dateTimePickerYearsListCell(),\n yearsListControl:\n classNames?.yearsListControl ?? dateTimePickerYearsListControl(),\n };\n};\n\ntype TimeClassNamesType = {\n timePicker?: string;\n timeWrapper?: string;\n timeInput?: string;\n submitButton?: string;\n};\n\nconst timeClassNames = (classNames?: TimeClassNamesType) => {\n return {\n timePicker: classNames?.timePicker ?? dateTimePicker(),\n timeWrapper: classNames?.timeWrapper ?? dateTimePickerTimeWrapper(),\n timeInput: classNames?.timeInput ?? dateTimePickerTimeInput(),\n submitButton: classNames?.submitButton ?? dateTimePickerSubmitButton(),\n };\n};\n\ntype PopoverClassNamesType = {\n dropdown?: string;\n arrow?: string;\n overlay?: string;\n};\n\nconst popoverClassNames = (classNames?: PopoverClassNamesType) => {\n return {\n dropdown: classNames?.dropdown ?? dateTimePickerDropdown(),\n arrow: classNames?.arrow ?? dateTimePickerArrow(),\n overlay: classNames?.overlay ?? dateTimePickerOverlay(),\n };\n};\n\nconst dateTimePickerClassNames = (classNames?: DateTimePickerClassNames) => {\n return {\n ...inputClassNames(classNames),\n ...calendarClassNames(classNames),\n ...calendarHeaderClassNames(classNames),\n ...calendarDayClassNames(classNames),\n ...calendarWeekClassNames(classNames),\n ...calendarMonthClassNames(classNames),\n ...calendarMonthsListClassNames(classNames),\n ...calendarYearsListClassNames(classNames),\n ...timeClassNames(classNames),\n };\n};\n"],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { AvatarUpload, AvatarUploadProps } from "./avatar-upload/AvatarUpload.mjs";
2
2
  import { Checkbox, CheckboxProps } from "./checkbox/Checkbox.mjs";
3
- import { DatePicker, DatePickerProps } from "./date-picker/DatePicker.mjs";
3
+ import { DatePicker, DatePickerClassNames, DatePickerDate, DatePickerProps, DatePickerValue } from "./date-picker/DatePicker.mjs";
4
+ import { DateTimePicker, DateTimePickerClassNames, DateTimePickerDate, DateTimePickerProps, DateTimePickerValue } from "./date-time-picker/DateTimePicker.mjs";
4
5
  import { TextInput, TextInputProps } from "./text-input/TextInput.mjs";
5
6
  import { Combobox, ComboboxProps } from "./dropdown/combobox/Combobox.mjs";
6
7
  import { Autocomplete, AutocompleteProps } from "./dropdown/autocomplete/Autocomplete.mjs";
@@ -22,6 +22,7 @@ declare const Calendar$1: ({
22
22
  components,
23
23
  eventPropGetter,
24
24
  formats,
25
+ onSelectEvent,
25
26
  onView,
26
27
  tooltipAccessor,
27
28
  view,
@@ -1 +1 @@
1
- {"version":3,"file":"Calendar.d.mts","names":[],"sources":["../../../../src/components/data-display/calendar/Calendar.tsx"],"mappings":";;;;KA6CY,YAAA,GAAe,IAAA;AAAA,KAOf,eAAA,GAAgB,IAAA,CAAK,aAAA,CAAiB,KAAA;EAChD,UAAA;IACE,QAAA;IACA,IAAA;IACA,OAAA;IACA,KAAA;IACA,KAAA;IACA,MAAA;IACA,QAAA;IACA,KAAA;EAAA;AAAA;AAAA,cA+BS,UAAA;EAAY,UAAA;EAAA,OAAA;EAAA,WAAA;EAAA,UAAA;EAAA,eAAA;EAAA,OAAA;EAAA,MAAA;EAAA,eAAA;EAAA,IAAA;EAAA,GAAA;AAAA,GAWtB,eAAA,KAAa,kBAAA,CAAA,GAAA,CAAA,OAAA"}
1
+ {"version":3,"file":"Calendar.d.mts","names":[],"sources":["../../../../src/components/data-display/calendar/Calendar.tsx"],"mappings":";;;;KAmDY,YAAA,GAAe,IAAA;AAAA,KAOf,eAAA,GAAgB,IAAA,CAAK,aAAA,CAAiB,KAAA;EAChD,UAAA;IACE,QAAA;IACA,IAAA;IACA,OAAA;IACA,KAAA;IACA,KAAA;IACA,MAAA;IACA,QAAA;IACA,KAAA;EAAA;AAAA;AAAA,cA+BS,UAAA;EAAY,UAAA;EAAA,OAAA;EAAA,WAAA;EAAA,UAAA;EAAA,eAAA;EAAA,OAAA;EAAA,aAAA;EAAA,MAAA;EAAA,eAAA;EAAA,IAAA;EAAA,GAAA;AAAA,GAYtB,eAAA,KAAa,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -1,2 +1,2 @@
1
- import{Tooltip as e}from"../../overlays/tooltip/Tooltip.mjs";import{cx as t}from"@mage-ui/styled-system/css";import{calendar as n,calendarAgenda as r,calendarEvent as i,calendarMonth as a,calendarPopup as o,calendarRoot as s,calendarTimeGrid as c,calendarToolbar as l}from"@mage-ui/styled-system/recipes";import{jsx as u,jsxs as d}from"react/jsx-runtime";import{useState as f}from"react";import p from"dayjs";import"dayjs/locale/es";import"dayjs/locale/ca";import"dayjs/locale/en";import{Calendar as m,dayjsLocalizer as h}from"react-big-calendar";const g=h(p),_=e=>({monthHeaderFormat:t=>p(t).locale(e).format(`MMMM [de] YYYY`).replace(/^./,e=>e.toUpperCase()),dayHeaderFormat:t=>p(t).locale(e).format(`dddd D [de] MMMM`),timeGutterFormat:`HH:mm`}),v=(e,t,n)=>{let r=t.title?.(e)??e.title,i=t.start?.(e)??e.start,a=t.end?.(e)??e.end,o=!e.allDay&&i&&a;return!r&&!o?null:d(`div`,{children:[o?d(`div`,{children:[p(i).locale(n).format(`HH:mm`),` -`,` `,p(a).locale(n).format(`HH:mm`)]}):null,r?u(`strong`,{children:r}):null]})},y=({classNames:d,culture:p=`es`,defaultView:h=`month`,components:y,eventPropGetter:b,formats:x,onView:S,tooltipAccessor:C,view:w,...T})=>{let[E,D]=f(w??h??`month`),O=w??E,k=O===`month`||O===`week`||O===`day`,A=k?({event:t,accessors:n,children:r})=>{let i=v(t,n,p);return!r||!i?r??null:u(e,{label:i,position:`top`,multiline:!0,withArrow:!0,children:r})}:void 0,j=!k||(y?.eventWrapper||A)&&C===void 0?null:C,M={..._(p),...x??{}},N=A||y?.eventWrapper?{...y,eventWrapper:y?.eventWrapper??A}:y;return u(m,{className:t(d?.calendar??n(),d?.root??s(),d?.toolbar??l(),d?.month??a(),d?.agenda??r(),d?.timeGrid??c(),d?.popup??o()),localizer:g,culture:p,defaultView:h,eventPropGetter:(e,n,r,a)=>{let o=b?.(e,n,r,a);return{...o,className:t(d?.event,i(),o?.className)}},formats:M,onView:e=>{w===void 0&&D(e),S?.(e)},components:N,tooltipAccessor:j,view:w,...T})};export{y as Calendar};
1
+ import{Tooltip as e}from"../../overlays/tooltip/Tooltip.mjs";import{cx as t}from"@mage-ui/styled-system/css";import{calendar as n,calendarAgenda as r,calendarEvent as i,calendarMonth as a,calendarPopup as o,calendarRoot as s,calendarTimeGrid as c,calendarToolbar as l}from"@mage-ui/styled-system/recipes";import{jsx as u,jsxs as d}from"react/jsx-runtime";import{cloneElement as f,isValidElement as p,useState as m}from"react";import h from"dayjs";import"dayjs/locale/es";import"dayjs/locale/ca";import"dayjs/locale/en";import{Calendar as g,dayjsLocalizer as _}from"react-big-calendar";const v=_(h),y=e=>({monthHeaderFormat:t=>h(t).locale(e).format(`MMMM [de] YYYY`).replace(/^./,e=>e.toUpperCase()),dayHeaderFormat:t=>h(t).locale(e).format(`dddd D [de] MMMM`),timeGutterFormat:`HH:mm`}),b=(e,t,n)=>{let r=t.title?.(e)??e.title,i=t.start?.(e)??e.start,a=t.end?.(e)??e.end,o=!e.allDay&&i&&a;return!r&&!o?null:d(`div`,{children:[o?d(`div`,{children:[h(i).locale(n).format(`HH:mm`),` -`,` `,h(a).locale(n).format(`HH:mm`)]}):null,r?u(`strong`,{children:r}):null]})},x=({classNames:d,culture:h=`es`,defaultView:_=`month`,components:x,eventPropGetter:S,formats:C,onSelectEvent:w,onView:T,tooltipAccessor:E,view:D,...O})=>{let[k,A]=m(D??_??`month`),j=D??k,M=j===`month`||j===`week`||j===`day`,N=M?({event:t,accessors:n,children:r})=>{let i=b(t,n,h),a=w&&p(r)?f(r,{tabIndex:0,role:`button`}):r;return!a||!i?a??null:u(e,{label:i,position:`top`,multiline:!0,withArrow:!0,children:a})}:void 0,P=!M||(x?.eventWrapper||N)&&E===void 0?null:E,F={...y(h),...C??{}},I=N||x?.eventWrapper?{...x,eventWrapper:x?.eventWrapper??N}:x;return u(g,{className:t(d?.calendar??n(),d?.root??s(),d?.toolbar??l(),d?.month??a(),d?.agenda??r(),d?.timeGrid??c(),d?.popup??o()),localizer:v,culture:h,defaultView:_,eventPropGetter:(e,n,r,a)=>{let o=S?.(e,n,r,a);return{...o,className:t(d?.event,i(),o?.className)}},formats:F,onView:e=>{D===void 0&&A(e),T?.(e)},components:I,onSelectEvent:w,tooltipAccessor:P,view:D,...O})};export{x as Calendar};
2
2
  //# sourceMappingURL=Calendar.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Calendar.mjs","names":["Calendar","BigCalendar"],"sources":["../../../../src/components/data-display/calendar/Calendar.tsx"],"sourcesContent":["import dayjs from 'dayjs';\nimport { type ReactNode, useState } from 'react';\nimport 'dayjs/locale/es';\nimport 'dayjs/locale/ca';\nimport 'dayjs/locale/en';\nimport {\n Calendar as BigCalendar,\n type CalendarProps as BigCalendarProps,\n dayjsLocalizer,\n type Event,\n type EventWrapperProps,\n type View,\n} from 'react-big-calendar';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport {\n calendar,\n calendarAgenda,\n calendarEvent,\n calendarMonth,\n calendarPopup,\n calendarRoot,\n calendarTimeGrid,\n calendarToolbar,\n} from '@mage-ui/styled-system/recipes';\n\nimport { Tooltip } from '../../overlays/tooltip/Tooltip';\n\nexport type { DateLocalizer, Event as CalendarEvent } from 'react-big-calendar';\n\nconst localizer = dayjsLocalizer(dayjs);\n\nconst getDefaultFormats = (culture: string) => {\n return {\n monthHeaderFormat: (date: Date) =>\n dayjs(date)\n .locale(culture)\n .format('MMMM [de] YYYY')\n .replace(/^./, (str) => str.toUpperCase()),\n dayHeaderFormat: (date: Date) =>\n dayjs(date).locale(culture).format('dddd D [de] MMMM'),\n timeGutterFormat: 'HH:mm',\n };\n};\n\nexport type CalendarView = View;\n\ntype CalendarEventWrapperProps = EventWrapperProps<Event> & {\n children?: ReactNode;\n type?: 'date' | 'time';\n};\n\nexport type CalendarProps = Omit<BigCalendarProps<Event>, 'localizer'> & {\n classNames?: {\n calendar?: string;\n root?: string;\n toolbar?: string;\n month?: string;\n event?: string;\n agenda?: string;\n timeGrid?: string;\n popup?: string;\n };\n};\n\nconst getEventTooltipContent = (\n event: Event,\n accessors: CalendarEventWrapperProps['accessors'],\n culture: string,\n) => {\n const title = accessors.title?.(event) ?? event.title;\n const start = accessors.start?.(event) ?? event.start;\n const end = accessors.end?.(event) ?? event.end;\n const showTimeRange = !event.allDay && start && end;\n\n if (!title && !showTimeRange) {\n return null;\n }\n\n return (\n <div>\n {showTimeRange ? (\n <div>\n {dayjs(start).locale(culture).format('HH:mm')} -{' '}\n {dayjs(end).locale(culture).format('HH:mm')}\n </div>\n ) : null}\n {title ? <strong>{title}</strong> : null}\n </div>\n );\n};\n\nexport const Calendar = ({\n classNames,\n culture = 'es',\n defaultView = 'month',\n components,\n eventPropGetter,\n formats,\n onView,\n tooltipAccessor,\n view,\n ...props\n}: CalendarProps) => {\n const [internalView, setInternalView] = useState<CalendarView>(\n view ?? defaultView ?? 'month',\n );\n const currentView = view ?? internalView;\n const showTooltip =\n currentView === 'month' || currentView === 'week' || currentView === 'day';\n const defaultEventWrapper = showTooltip\n ? ({ event, accessors, children }: CalendarEventWrapperProps) => {\n const label = getEventTooltipContent(event, accessors, culture);\n\n if (!children || !label) {\n return children ?? null;\n }\n\n return (\n <Tooltip label={label} position='top' multiline withArrow>\n {children}\n </Tooltip>\n );\n }\n : undefined;\n const resolvedTooltipAccessor =\n !showTooltip ||\n ((components?.eventWrapper || defaultEventWrapper) &&\n tooltipAccessor === undefined)\n ? null\n : tooltipAccessor;\n const mergedFormats = {\n ...getDefaultFormats(culture),\n ...(formats ?? {}),\n };\n const resolvedComponents =\n defaultEventWrapper || components?.eventWrapper\n ? {\n ...components,\n eventWrapper: components?.eventWrapper ?? defaultEventWrapper,\n }\n : components;\n\n const handleView = (nextView: CalendarView) => {\n if (view === undefined) {\n setInternalView(nextView);\n }\n\n onView?.(nextView);\n };\n\n const handleEventProps = (\n event: Event,\n start: Date,\n end: Date,\n isSelected: boolean,\n ) => {\n const customProps = eventPropGetter?.(event, start, end, isSelected);\n\n return {\n ...customProps,\n className: cx(classNames?.event, calendarEvent(), customProps?.className),\n };\n };\n\n return (\n <BigCalendar\n className={cx(\n classNames?.calendar ?? calendar(),\n classNames?.root ?? calendarRoot(),\n classNames?.toolbar ?? calendarToolbar(),\n classNames?.month ?? calendarMonth(),\n classNames?.agenda ?? calendarAgenda(),\n classNames?.timeGrid ?? calendarTimeGrid(),\n classNames?.popup ?? calendarPopup(),\n )}\n localizer={localizer}\n culture={culture}\n defaultView={defaultView}\n eventPropGetter={handleEventProps}\n formats={mergedFormats}\n onView={handleView}\n components={resolvedComponents}\n tooltipAccessor={resolvedTooltipAccessor}\n view={view}\n {...props}\n />\n );\n};\n"],"mappings":"miBA8BA,MAAM,EAAY,EAAe,EAAM,CAEjC,EAAqB,IAClB,CACL,kBAAoB,GAClB,EAAM,EAAK,CACR,OAAO,EAAQ,CACf,OAAO,iBAAiB,CACxB,QAAQ,KAAO,GAAQ,EAAI,aAAa,CAAC,CAC9C,gBAAkB,GAChB,EAAM,EAAK,CAAC,OAAO,EAAQ,CAAC,OAAO,mBAAmB,CACxD,iBAAkB,QACnB,EAuBG,GACJ,EACA,EACA,IACG,CACH,IAAM,EAAQ,EAAU,QAAQ,EAAM,EAAI,EAAM,MAC1C,EAAQ,EAAU,QAAQ,EAAM,EAAI,EAAM,MAC1C,EAAM,EAAU,MAAM,EAAM,EAAI,EAAM,IACtC,EAAgB,CAAC,EAAM,QAAU,GAAS,EAMhD,MAJI,CAAC,GAAS,CAAC,EACN,KAIP,EAAC,MAAD,CAAA,SAAA,CACG,EACC,EAAC,MAAD,CAAA,SAAA,CACG,EAAM,EAAM,CAAC,OAAO,EAAQ,CAAC,OAAO,QAAQ,CAAC,KAAG,IAChD,EAAM,EAAI,CAAC,OAAO,EAAQ,CAAC,OAAO,QAAQ,CACvC,CAAA,CAAA,CACJ,KACH,EAAQ,EAAC,SAAD,CAAA,SAAS,EAAe,CAAA,CAAG,KAChC,CAAA,CAAA,EAIGA,GAAY,CACvB,aACA,UAAU,KACV,cAAc,QACd,aACA,kBACA,UACA,SACA,kBACA,OACA,GAAG,KACgB,CACnB,GAAM,CAAC,EAAc,GAAmB,EACtC,GAAQ,GAAe,QACxB,CACK,EAAc,GAAQ,EACtB,EACJ,IAAgB,SAAW,IAAgB,QAAU,IAAgB,MACjE,EAAsB,GACvB,CAAE,QAAO,YAAW,cAA0C,CAC7D,IAAM,EAAQ,EAAuB,EAAO,EAAW,EAAQ,CAM/D,MAJI,CAAC,GAAY,CAAC,EACT,GAAY,KAInB,EAAC,EAAD,CAAgB,QAAO,SAAS,MAAM,UAAA,GAAU,UAAA,GAC7C,WACO,CAAA,EAGd,IAAA,GACE,EACJ,CAAC,IACC,GAAY,cAAgB,IAC5B,IAAoB,IAAA,GAClB,KACA,EACA,EAAgB,CACpB,GAAG,EAAkB,EAAQ,CAC7B,GAAI,GAAW,EAAE,CAClB,CACK,EACJ,GAAuB,GAAY,aAC/B,CACE,GAAG,EACH,aAAc,GAAY,cAAgB,EAC3C,CACD,EAwBN,OACE,EAACC,EAAD,CACE,UAAW,EACT,GAAY,UAAY,GAAU,CAClC,GAAY,MAAQ,GAAc,CAClC,GAAY,SAAW,GAAiB,CACxC,GAAY,OAAS,GAAe,CACpC,GAAY,QAAU,GAAgB,CACtC,GAAY,UAAY,GAAkB,CAC1C,GAAY,OAAS,GAAe,CACrC,CACU,YACF,UACI,cACb,iBA3BF,EACA,EACA,EACA,IACG,CACH,IAAM,EAAc,IAAkB,EAAO,EAAO,EAAK,EAAW,CAEpE,MAAO,CACL,GAAG,EACH,UAAW,EAAG,GAAY,MAAO,GAAe,CAAE,GAAa,UAAU,CAC1E,EAkBC,QAAS,EACT,OAtCgB,GAA2B,CACzC,IAAS,IAAA,IACX,EAAgB,EAAS,CAG3B,IAAS,EAAS,EAkChB,WAAY,EACZ,gBAAiB,EACX,OACN,GAAI,EACJ,CAAA"}
1
+ {"version":3,"file":"Calendar.mjs","names":["Calendar","BigCalendar"],"sources":["../../../../src/components/data-display/calendar/Calendar.tsx"],"sourcesContent":["import dayjs from 'dayjs';\nimport {\n cloneElement,\n isValidElement,\n type ReactElement,\n type ReactNode,\n useState,\n} from 'react';\nimport 'dayjs/locale/es';\nimport 'dayjs/locale/ca';\nimport 'dayjs/locale/en';\nimport {\n Calendar as BigCalendar,\n type CalendarProps as BigCalendarProps,\n dayjsLocalizer,\n type Event,\n type EventWrapperProps,\n type View,\n} from 'react-big-calendar';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport {\n calendar,\n calendarAgenda,\n calendarEvent,\n calendarMonth,\n calendarPopup,\n calendarRoot,\n calendarTimeGrid,\n calendarToolbar,\n} from '@mage-ui/styled-system/recipes';\n\nimport { Tooltip } from '../../overlays/tooltip/Tooltip';\n\nexport type { DateLocalizer, Event as CalendarEvent } from 'react-big-calendar';\n\nconst localizer = dayjsLocalizer(dayjs);\n\nconst getDefaultFormats = (culture: string) => {\n return {\n monthHeaderFormat: (date: Date) =>\n dayjs(date)\n .locale(culture)\n .format('MMMM [de] YYYY')\n .replace(/^./, (str) => str.toUpperCase()),\n dayHeaderFormat: (date: Date) =>\n dayjs(date).locale(culture).format('dddd D [de] MMMM'),\n timeGutterFormat: 'HH:mm',\n };\n};\n\nexport type CalendarView = View;\n\ntype CalendarEventWrapperProps = EventWrapperProps<Event> & {\n children?: ReactNode;\n type?: 'date' | 'time';\n};\n\nexport type CalendarProps = Omit<BigCalendarProps<Event>, 'localizer'> & {\n classNames?: {\n calendar?: string;\n root?: string;\n toolbar?: string;\n month?: string;\n event?: string;\n agenda?: string;\n timeGrid?: string;\n popup?: string;\n };\n};\n\nconst getEventTooltipContent = (\n event: Event,\n accessors: CalendarEventWrapperProps['accessors'],\n culture: string,\n) => {\n const title = accessors.title?.(event) ?? event.title;\n const start = accessors.start?.(event) ?? event.start;\n const end = accessors.end?.(event) ?? event.end;\n const showTimeRange = !event.allDay && start && end;\n\n if (!title && !showTimeRange) {\n return null;\n }\n\n return (\n <div>\n {showTimeRange ? (\n <div>\n {dayjs(start).locale(culture).format('HH:mm')} -{' '}\n {dayjs(end).locale(culture).format('HH:mm')}\n </div>\n ) : null}\n {title ? <strong>{title}</strong> : null}\n </div>\n );\n};\n\nexport const Calendar = ({\n classNames,\n culture = 'es',\n defaultView = 'month',\n components,\n eventPropGetter,\n formats,\n onSelectEvent,\n onView,\n tooltipAccessor,\n view,\n ...props\n}: CalendarProps) => {\n const [internalView, setInternalView] = useState<CalendarView>(\n view ?? defaultView ?? 'month',\n );\n const currentView = view ?? internalView;\n const showTooltip =\n currentView === 'month' || currentView === 'week' || currentView === 'day';\n const defaultEventWrapper = showTooltip\n ? ({ event, accessors, children }: CalendarEventWrapperProps) => {\n const label = getEventTooltipContent(event, accessors, culture);\n\n const child =\n onSelectEvent && isValidElement(children)\n ? cloneElement(\n children as ReactElement<React.HTMLAttributes<HTMLElement>>,\n { tabIndex: 0, role: 'button' },\n )\n : children;\n\n if (!child || !label) {\n return (child ?? null) as ReactElement | null;\n }\n\n return (\n <Tooltip label={label} position='top' multiline withArrow>\n {child as ReactElement}\n </Tooltip>\n );\n }\n : undefined;\n const resolvedTooltipAccessor =\n !showTooltip ||\n ((components?.eventWrapper || defaultEventWrapper) &&\n tooltipAccessor === undefined)\n ? null\n : tooltipAccessor;\n const mergedFormats = {\n ...getDefaultFormats(culture),\n ...(formats ?? {}),\n };\n const resolvedComponents =\n defaultEventWrapper || components?.eventWrapper\n ? {\n ...components,\n eventWrapper: components?.eventWrapper ?? defaultEventWrapper,\n }\n : components;\n\n const handleView = (nextView: CalendarView) => {\n if (view === undefined) {\n setInternalView(nextView);\n }\n\n onView?.(nextView);\n };\n\n const handleEventProps = (\n event: Event,\n start: Date,\n end: Date,\n isSelected: boolean,\n ) => {\n const customProps = eventPropGetter?.(event, start, end, isSelected);\n\n return {\n ...customProps,\n className: cx(classNames?.event, calendarEvent(), customProps?.className),\n };\n };\n\n return (\n <BigCalendar\n className={cx(\n classNames?.calendar ?? calendar(),\n classNames?.root ?? calendarRoot(),\n classNames?.toolbar ?? calendarToolbar(),\n classNames?.month ?? calendarMonth(),\n classNames?.agenda ?? calendarAgenda(),\n classNames?.timeGrid ?? calendarTimeGrid(),\n classNames?.popup ?? calendarPopup(),\n )}\n localizer={localizer}\n culture={culture}\n defaultView={defaultView}\n eventPropGetter={handleEventProps}\n formats={mergedFormats}\n onView={handleView}\n components={resolvedComponents}\n onSelectEvent={onSelectEvent}\n tooltipAccessor={resolvedTooltipAccessor}\n view={view}\n {...props}\n />\n );\n};\n"],"mappings":"ykBAoCA,MAAM,EAAY,EAAe,EAAM,CAEjC,EAAqB,IAClB,CACL,kBAAoB,GAClB,EAAM,EAAK,CACR,OAAO,EAAQ,CACf,OAAO,iBAAiB,CACxB,QAAQ,KAAO,GAAQ,EAAI,aAAa,CAAC,CAC9C,gBAAkB,GAChB,EAAM,EAAK,CAAC,OAAO,EAAQ,CAAC,OAAO,mBAAmB,CACxD,iBAAkB,QACnB,EAuBG,GACJ,EACA,EACA,IACG,CACH,IAAM,EAAQ,EAAU,QAAQ,EAAM,EAAI,EAAM,MAC1C,EAAQ,EAAU,QAAQ,EAAM,EAAI,EAAM,MAC1C,EAAM,EAAU,MAAM,EAAM,EAAI,EAAM,IACtC,EAAgB,CAAC,EAAM,QAAU,GAAS,EAMhD,MAJI,CAAC,GAAS,CAAC,EACN,KAIP,EAAC,MAAD,CAAA,SAAA,CACG,EACC,EAAC,MAAD,CAAA,SAAA,CACG,EAAM,EAAM,CAAC,OAAO,EAAQ,CAAC,OAAO,QAAQ,CAAC,KAAG,IAChD,EAAM,EAAI,CAAC,OAAO,EAAQ,CAAC,OAAO,QAAQ,CACvC,CAAA,CAAA,CACJ,KACH,EAAQ,EAAC,SAAD,CAAA,SAAS,EAAe,CAAA,CAAG,KAChC,CAAA,CAAA,EAIGA,GAAY,CACvB,aACA,UAAU,KACV,cAAc,QACd,aACA,kBACA,UACA,gBACA,SACA,kBACA,OACA,GAAG,KACgB,CACnB,GAAM,CAAC,EAAc,GAAmB,EACtC,GAAQ,GAAe,QACxB,CACK,EAAc,GAAQ,EACtB,EACJ,IAAgB,SAAW,IAAgB,QAAU,IAAgB,MACjE,EAAsB,GACvB,CAAE,QAAO,YAAW,cAA0C,CAC7D,IAAM,EAAQ,EAAuB,EAAO,EAAW,EAAQ,CAEzD,EACJ,GAAiB,EAAe,EAAS,CACrC,EACE,EACA,CAAE,SAAU,EAAG,KAAM,SAAU,CAChC,CACD,EAMN,MAJI,CAAC,GAAS,CAAC,EACL,GAAS,KAIjB,EAAC,EAAD,CAAgB,QAAO,SAAS,MAAM,UAAA,GAAU,UAAA,YAC7C,EACO,CAAA,EAGd,IAAA,GACE,EACJ,CAAC,IACC,GAAY,cAAgB,IAC5B,IAAoB,IAAA,GAClB,KACA,EACA,EAAgB,CACpB,GAAG,EAAkB,EAAQ,CAC7B,GAAI,GAAW,EAAE,CAClB,CACK,EACJ,GAAuB,GAAY,aAC/B,CACE,GAAG,EACH,aAAc,GAAY,cAAgB,EAC3C,CACD,EAwBN,OACE,EAACC,EAAD,CACE,UAAW,EACT,GAAY,UAAY,GAAU,CAClC,GAAY,MAAQ,GAAc,CAClC,GAAY,SAAW,GAAiB,CACxC,GAAY,OAAS,GAAe,CACpC,GAAY,QAAU,GAAgB,CACtC,GAAY,UAAY,GAAkB,CAC1C,GAAY,OAAS,GAAe,CACrC,CACU,YACF,UACI,cACb,iBA3BF,EACA,EACA,EACA,IACG,CACH,IAAM,EAAc,IAAkB,EAAO,EAAO,EAAK,EAAW,CAEpE,MAAO,CACL,GAAG,EACH,UAAW,EAAG,GAAY,MAAO,GAAe,CAAE,GAAa,UAAU,CAC1E,EAkBC,QAAS,EACT,OAtCgB,GAA2B,CACzC,IAAS,IAAA,IACX,EAAgB,EAAS,CAG3B,IAAS,EAAS,EAkChB,WAAY,EACG,gBACf,gBAAiB,EACX,OACN,GAAI,EACJ,CAAA"}
@@ -7,6 +7,8 @@ import { FormPasswordProps } from "./controls/FormPassword.mjs";
7
7
  import { FormSelectProps } from "./controls/FormSelect.mjs";
8
8
  import { FormComboboxProps } from "./controls/FormCombobox.mjs";
9
9
  import { FormAutocompleteProps } from "./controls/FormAutocomplete.mjs";
10
+ import { FormDatePickerProps } from "./controls/FormDatePicker.mjs";
11
+ import { FormDateTimePickerProps } from "./controls/FormDateTimePicker.mjs";
10
12
  import { FormFileInputProps } from "./controls/FormFileInput.mjs";
11
13
  import { FormFileInputMultipleProps } from "./controls/FormFileInputMultiple.mjs";
12
14
  import { FormDropzoneProps } from "./controls/FormDropzone.mjs";
@@ -152,6 +154,32 @@ declare const Form: {
152
154
  }: FormAutocompleteProps): react_jsx_runtime0.JSX.Element;
153
155
  displayName: string;
154
156
  };
157
+ DatePicker: {
158
+ ({
159
+ $rule: _$rule,
160
+ isSubmitting,
161
+ name,
162
+ error,
163
+ defaultValue,
164
+ onChange,
165
+ disabled,
166
+ ...props
167
+ }: FormDatePickerProps): react_jsx_runtime0.JSX.Element;
168
+ displayName: string;
169
+ };
170
+ DateTimePicker: {
171
+ ({
172
+ $rule: _$rule,
173
+ isSubmitting,
174
+ name,
175
+ error,
176
+ defaultValue,
177
+ onChange,
178
+ disabled,
179
+ ...props
180
+ }: FormDateTimePickerProps): react_jsx_runtime0.JSX.Element;
181
+ displayName: string;
182
+ };
155
183
  FileInput: {
156
184
  ({
157
185
  $rule: _$rule,
@@ -1 +1 @@
1
- {"version":3,"file":"Form.d.mts","names":[],"sources":["../../../src/components/forms/Form.tsx"],"mappings":";;;;;;;;;;;;;;;;;;KAyBK,YAAA;EACH,IAAA;EACA,OAAA;EACA,MAAA;EACA,GAAA;AAAA;AAAA,KAGU,SAAA,WAAoB,WAAA;EAC9B,QAAA,GAAW,MAAA;IAAU,IAAA,EAAM,CAAA;EAAA,MAAQ,OAAA;EACnC,aAAA,IAAiB,QAAA,EAAU,YAAA;EAC3B,eAAA,IAAmB,MAAA;IACjB,OAAA;IACA,QAAA,EAAU,eAAA,CAAgB,CAAA;IAC1B,MAAA;EAAA;EAEF,aAAA;EACA,QAAA,EAAU,SAAA;EACV,MAAA,GAAS,SAAA,CAAU,MAAA,SAAe,UAAA;EAClC,CAAA,IACE,GAAA,UACA,QAAA,GAAW,MAAA,kBACX,QAAA,uBACY,KAAA,CAAM,SAAA,EArBpB;EAuBA,oBAAA;EACA,UAAA;IACE,IAAA;IACA,IAAA;EAAA;AAAA;AAAA,cAYS,IAAA;EAAA,WAAkB,WAAA;IAAW,QAAA;IAAA,aAAA;IAAA,eAAA;IAAA,aAAA;IAAA,QAAA;IAAA,MAAA;IAAA,CAAA;IAAA,oBAAA;IAAA;EAAA,GAUvC,SAAA,CAAU,CAAA,IAAE,kBAAA,CAAA,GAAA,CAAA,OAAA"}
1
+ {"version":3,"file":"Form.d.mts","names":[],"sources":["../../../src/components/forms/Form.tsx"],"mappings":";;;;;;;;;;;;;;;;;;;;KA2BK,YAAA;EACH,IAAA;EACA,OAAA;EACA,MAAA;EACA,GAAA;AAAA;AAAA,KAGU,SAAA,WAAoB,WAAA;EAC9B,QAAA,GAAW,MAAA;IAAU,IAAA,EAAM,CAAA;EAAA,MAAQ,OAAA;EACnC,aAAA,IAAiB,QAAA,EAAU,YAAA;EAC3B,eAAA,IAAmB,MAAA;IACjB,OAAA;IACA,QAAA,EAAU,eAAA,CAAgB,CAAA;IAC1B,MAAA;EAAA;EAEF,aAAA;EACA,QAAA,EAAU,SAAA;EACV,MAAA,GAAS,SAAA,CAAU,MAAA,SAAe,UAAA;EAClC,CAAA,IACE,GAAA,UACA,QAAA,GAAW,MAAA,kBACX,QAAA,uBACY,KAAA,CAAM,SAAA;EAEpB,oBAAA;EACA,UAAA;IACE,IAAA;IACA,IAAA;EAAA;AAAA;AAAA,cAYS,IAAA;EAAA,WAAkB,WAAA;IAAW,QAAA;IAAA,aAAA;IAAA,eAAA;IAAA,aAAA;IAAA,QAAA;IAAA,MAAA;IAAA,CAAA;IAAA,oBAAA;IAAA;EAAA,GAUvC,SAAA,CAAU,CAAA,IAAE,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -1,2 +1,2 @@
1
- import{FormAutocomplete as e}from"./controls/FormAutocomplete.mjs";import{FormCheckbox as t}from"./controls/FormCheckbox.mjs";import{FormCombobox as n}from"./controls/FormCombobox.mjs";import{FormDropzone as r}from"./controls/FormDropzone.mjs";import{FormS3Context as i}from"./FormS3Context.mjs";import{FormDropzoneS3 as a}from"./controls/FormDropzoneS3.mjs";import{FormFileInput as o}from"./controls/FormFileInput.mjs";import{FormFileInputMultiple as s}from"./controls/FormFileInputMultiple.mjs";import{FormHidden as c}from"./controls/FormHidden.mjs";import{FormPassword as l}from"./controls/FormPassword.mjs";import{FormSelect as u}from"./controls/FormSelect.mjs";import{FormSubmit as d}from"./controls/FormSubmit.mjs";import{FormTextarea as f}from"./controls/FormTextarea.mjs";import{FormTextInput as p}from"./controls/FormTextInput.mjs";import{FormBase as m}from"./FormBase.mjs";import{FormErrorBox as h}from"./FormErrorBox.mjs";import{form as g,formRoot as _}from"@mage-ui/styled-system/recipes";import{jsx as v}from"react/jsx-runtime";import{useRef as y}from"react";const b=({$fetcher:e,onValidSubmit:t,onInvalidSubmit:n,invalidStatus:r=[],children:a,schema:o,t:s,s3UploadErrorMessage:c,classNames:l})=>{let u=y(new Map),d={registerS3Upload:(e,t)=>{u.current.set(e,t)},unregisterS3Upload:e=>{u.current.delete(e)}},f=async e=>{let t=Array.from(u.current.values());await Promise.all(t.map(t=>t(e)))};return v(i.Provider,{value:d,children:v(m,{onSubmit:async({data:i,setError:a})=>{await e({data:i}).then(async e=>{let n=e;if(n?.statusCode&&n.statusCode>=400)throw n;try{await f(e)}catch(e){console.error(`S3 upload error:`,e),a(`root.serverError`,{type:`s3`,message:c??`Failed to upload files`});return}t?.(e||{})}).catch(e=>{switch(e.statusCode){case 400:case 422:e.cause?.issues&&Object.keys(e.cause.issues).forEach(t=>{a(t,{type:`server`,message:e.cause?.issues?.[t]})}),a(`root.serverError`,{type:`server`,message:e?.message??`Something went wrong`});break;default:if(r.includes(e.statusCode)){n?.({message:e.message,setError:a,status:e.statusCode});break}throw e}})},schema:o,errorBox:h,t:s,classNames:{form:l?.form??g(),root:l?.root??_()},children:a})})};b.displayName=`Form`,b.TextInput=p,b.Textarea=f,b.Submit=d,b.Hidden=c,b.Checkbox=t,b.Password=l,b.Select=u,b.Combobox=n,b.Autocomplete=e,b.FileInput=o,b.FileInputMultiple=s,b.Dropzone=r,b.DropzoneS3=a;export{b as Form};
1
+ import{FormAutocomplete as e}from"./controls/FormAutocomplete.mjs";import{FormCheckbox as t}from"./controls/FormCheckbox.mjs";import{FormCombobox as n}from"./controls/FormCombobox.mjs";import{FormDatePicker as r}from"./controls/FormDatePicker.mjs";import{FormDateTimePicker as i}from"./controls/FormDateTimePicker.mjs";import{FormDropzone as a}from"./controls/FormDropzone.mjs";import{FormS3Context as o}from"./FormS3Context.mjs";import{FormDropzoneS3 as s}from"./controls/FormDropzoneS3.mjs";import{FormFileInput as c}from"./controls/FormFileInput.mjs";import{FormFileInputMultiple as l}from"./controls/FormFileInputMultiple.mjs";import{FormHidden as u}from"./controls/FormHidden.mjs";import{FormPassword as d}from"./controls/FormPassword.mjs";import{FormSelect as f}from"./controls/FormSelect.mjs";import{FormSubmit as p}from"./controls/FormSubmit.mjs";import{FormTextarea as m}from"./controls/FormTextarea.mjs";import{FormTextInput as h}from"./controls/FormTextInput.mjs";import{FormBase as g}from"./FormBase.mjs";import{FormErrorBox as _}from"./FormErrorBox.mjs";import{form as v,formRoot as y}from"@mage-ui/styled-system/recipes";import{jsx as b}from"react/jsx-runtime";import{useRef as x}from"react";const S=({$fetcher:e,onValidSubmit:t,onInvalidSubmit:n,invalidStatus:r=[],children:i,schema:a,t:s,s3UploadErrorMessage:c,classNames:l})=>{let u=x(new Map),d={registerS3Upload:(e,t)=>{u.current.set(e,t)},unregisterS3Upload:e=>{u.current.delete(e)}},f=async e=>{let t=Array.from(u.current.values());await Promise.all(t.map(t=>t(e)))};return b(o.Provider,{value:d,children:b(g,{onSubmit:async({data:i,setError:a})=>{await e({data:i}).then(async e=>{let n=e;if(n?.statusCode&&n.statusCode>=400)throw n;try{await f(e)}catch(e){console.error(`S3 upload error:`,e),a(`root.serverError`,{type:`s3`,message:c??`Failed to upload files`});return}t?.(e||{})}).catch(e=>{switch(e.statusCode){case 400:case 422:e.cause?.issues&&Object.keys(e.cause.issues).forEach(t=>{a(t,{type:`server`,message:e.cause?.issues?.[t]})}),a(`root.serverError`,{type:`server`,message:e?.message??`Something went wrong`});break;default:if(r.includes(e.statusCode)){n?.({message:e.message,setError:a,status:e.statusCode});break}throw e}})},schema:a,errorBox:_,t:s,classNames:{form:l?.form??v(),root:l?.root??y()},children:i})})};S.displayName=`Form`,S.TextInput=h,S.Textarea=m,S.Submit=p,S.Hidden=u,S.Checkbox=t,S.Password=d,S.Select=f,S.Combobox=n,S.Autocomplete=e,S.DatePicker=r,S.DateTimePicker=i,S.FileInput=c,S.FileInputMultiple=l,S.Dropzone=a,S.DropzoneS3=s;export{S as Form};
2
2
  //# sourceMappingURL=Form.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Form.mjs","names":[],"sources":["../../../src/components/forms/Form.tsx"],"sourcesContent":["import type React from 'react';\nimport type { ReactNode } from 'react';\nimport { useRef } from 'react';\nimport type { FieldValues, UseFormSetError } from 'react-hook-form';\nimport type { ZodObject, ZodTypeAny } from 'zod';\n\nimport { form, formRoot } from '@mage-ui/styled-system/recipes';\n\nimport { FormAutocomplete } from './controls/FormAutocomplete';\nimport { FormCheckbox } from './controls/FormCheckbox';\nimport { FormCombobox } from './controls/FormCombobox';\nimport { FormDropzone } from './controls/FormDropzone';\nimport { FormDropzoneS3 } from './controls/FormDropzoneS3';\nimport { FormFileInput } from './controls/FormFileInput';\nimport { FormFileInputMultiple } from './controls/FormFileInputMultiple';\nimport { FormHidden } from './controls/FormHidden';\nimport { FormPassword } from './controls/FormPassword';\nimport { FormSelect } from './controls/FormSelect';\nimport { FormSubmit } from './controls/FormSubmit';\nimport { FormTextarea } from './controls/FormTextarea';\nimport { FormTextInput } from './controls/FormTextInput';\nimport { FormBase } from './FormBase';\nimport { FormErrorBox } from './FormErrorBox';\nimport { FormS3Context, type S3UploadCallback } from './FormS3Context';\n\ntype FormResponse = {\n body?: object;\n details?: string;\n status?: number;\n url?: string;\n};\n\nexport type FormProps<T extends FieldValues> = {\n $fetcher: (params: { data: T }) => Promise<unknown>;\n onValidSubmit?: (response: FormResponse) => void;\n onInvalidSubmit?: (params: {\n message: string;\n setError: UseFormSetError<T>;\n status: number;\n }) => void;\n invalidStatus?: number[];\n children: ReactNode;\n schema?: ZodObject<Record<string, ZodTypeAny>>;\n t?: (\n key: string,\n bindings?: Record<string, string>,\n fallback?: string,\n ) => string | React.ReactNode;\n /** Mensaje mostrado al usuario si falla la subida de archivos a S3 tras el submit. */\n s3UploadErrorMessage?: string;\n classNames?: {\n form?: string;\n root?: string;\n };\n};\n\ntype FormError = {\n statusCode: number;\n message: string;\n cause?: {\n issues: Record<string, string>;\n };\n};\n\nexport const Form = <T extends FieldValues>({\n $fetcher,\n onValidSubmit,\n onInvalidSubmit,\n invalidStatus = [],\n children,\n schema,\n t,\n s3UploadErrorMessage,\n classNames,\n}: FormProps<T>) => {\n const s3CallbacksRef = useRef<Map<string, S3UploadCallback>>(new Map());\n\n const s3ContextValue = {\n registerS3Upload: (name: string, cb: S3UploadCallback) => {\n s3CallbacksRef.current.set(name, cb);\n },\n unregisterS3Upload: (name: string) => {\n s3CallbacksRef.current.delete(name);\n },\n };\n\n const runS3Uploads = async (response: unknown): Promise<void> => {\n const callbacks = Array.from(s3CallbacksRef.current.values());\n await Promise.all(callbacks.map((cb) => cb(response)));\n };\n\n const onSubmit = async ({\n data,\n setError,\n }: {\n data: FieldValues;\n setError: UseFormSetError<FieldValues>;\n }) => {\n await $fetcher({ data: data as T })\n .then(async (response) => {\n const res = response as FormError & FormResponse;\n if (res?.statusCode && res.statusCode >= 400) {\n throw res;\n }\n\n try {\n await runS3Uploads(response);\n } catch (e) {\n console.error('S3 upload error:', e);\n setError('root.serverError', {\n type: 's3',\n message: s3UploadErrorMessage ?? 'Failed to upload files',\n });\n return;\n }\n onValidSubmit?.((response || {}) as FormResponse);\n })\n .catch((error: FormError) => {\n switch (error.statusCode) {\n case 400:\n case 422: {\n if (error.cause?.issues) {\n Object.keys(error.cause.issues).forEach((key) => {\n setError(key, {\n type: 'server',\n message: error.cause?.issues?.[key],\n });\n });\n }\n setError('root.serverError', {\n type: 'server',\n message: error?.message ?? 'Something went wrong',\n });\n break;\n }\n default:\n if (invalidStatus.includes(error.statusCode)) {\n onInvalidSubmit?.({\n message: error.message,\n setError: setError as UseFormSetError<T>,\n status: error.statusCode,\n });\n break;\n }\n throw error;\n }\n });\n };\n\n return (\n <FormS3Context.Provider value={s3ContextValue}>\n <FormBase\n onSubmit={onSubmit}\n schema={schema}\n errorBox={FormErrorBox}\n t={t}\n classNames={{\n form: classNames?.form ?? form(),\n root: classNames?.root ?? formRoot(),\n }}\n >\n {children}\n </FormBase>\n </FormS3Context.Provider>\n );\n};\n\nForm.displayName = 'Form';\nForm.TextInput = FormTextInput;\nForm.Textarea = FormTextarea;\nForm.Submit = FormSubmit;\nForm.Hidden = FormHidden;\nForm.Checkbox = FormCheckbox;\nForm.Password = FormPassword;\nForm.Select = FormSelect;\nForm.Combobox = FormCombobox;\nForm.Autocomplete = FormAutocomplete;\nForm.FileInput = FormFileInput;\nForm.FileInputMultiple = FormFileInputMultiple;\nForm.Dropzone = FormDropzone;\nForm.DropzoneS3 = FormDropzoneS3;\n"],"mappings":"gjCAgEA,MAAa,GAA+B,CAC1C,WACA,gBACA,kBACA,gBAAgB,EAAE,CAClB,WACA,SACA,IACA,uBACA,gBACkB,CAClB,IAAM,EAAiB,EAAsC,IAAI,IAAM,CAEjE,EAAiB,CACrB,kBAAmB,EAAc,IAAyB,CACxD,EAAe,QAAQ,IAAI,EAAM,EAAG,EAEtC,mBAAqB,GAAiB,CACpC,EAAe,QAAQ,OAAO,EAAK,EAEtC,CAEK,EAAe,KAAO,IAAqC,CAC/D,IAAM,EAAY,MAAM,KAAK,EAAe,QAAQ,QAAQ,CAAC,CAC7D,MAAM,QAAQ,IAAI,EAAU,IAAK,GAAO,EAAG,EAAS,CAAC,CAAC,EA6DxD,OACE,EAAC,EAAc,SAAf,CAAwB,MAAO,WAC7B,EAAC,EAAD,CACY,SA7DC,MAAO,CACtB,OACA,cAII,CACJ,MAAM,EAAS,CAAQ,OAAW,CAAC,CAChC,KAAK,KAAO,IAAa,CACxB,IAAM,EAAM,EACZ,GAAI,GAAK,YAAc,EAAI,YAAc,IACvC,MAAM,EAGR,GAAI,CACF,MAAM,EAAa,EAAS,OACrB,EAAG,CACV,QAAQ,MAAM,mBAAoB,EAAE,CACpC,EAAS,mBAAoB,CAC3B,KAAM,KACN,QAAS,GAAwB,yBAClC,CAAC,CACF,OAEF,IAAiB,GAAY,EAAE,CAAkB,EACjD,CACD,MAAO,GAAqB,CAC3B,OAAQ,EAAM,WAAd,CACE,IAAK,KACL,IAAK,KACC,EAAM,OAAO,QACf,OAAO,KAAK,EAAM,MAAM,OAAO,CAAC,QAAS,GAAQ,CAC/C,EAAS,EAAK,CACZ,KAAM,SACN,QAAS,EAAM,OAAO,SAAS,GAChC,CAAC,EACF,CAEJ,EAAS,mBAAoB,CAC3B,KAAM,SACN,QAAS,GAAO,SAAW,uBAC5B,CAAC,CACF,MAEF,QACE,GAAI,EAAc,SAAS,EAAM,WAAW,CAAE,CAC5C,IAAkB,CAChB,QAAS,EAAM,QACL,WACV,OAAQ,EAAM,WACf,CAAC,CACF,MAEF,MAAM,IAEV,EAOQ,SACR,SAAU,EACP,IACH,WAAY,CACV,KAAM,GAAY,MAAQ,GAAM,CAChC,KAAM,GAAY,MAAQ,GAAU,CACrC,CAEA,WACQ,CAAA,CACY,CAAA,EAI7B,EAAK,YAAc,OACnB,EAAK,UAAY,EACjB,EAAK,SAAW,EAChB,EAAK,OAAS,EACd,EAAK,OAAS,EACd,EAAK,SAAW,EAChB,EAAK,SAAW,EAChB,EAAK,OAAS,EACd,EAAK,SAAW,EAChB,EAAK,aAAe,EACpB,EAAK,UAAY,EACjB,EAAK,kBAAoB,EACzB,EAAK,SAAW,EAChB,EAAK,WAAa"}
1
+ {"version":3,"file":"Form.mjs","names":[],"sources":["../../../src/components/forms/Form.tsx"],"sourcesContent":["import type React from 'react';\nimport type { ReactNode } from 'react';\nimport { useRef } from 'react';\nimport type { FieldValues, UseFormSetError } from 'react-hook-form';\nimport type { ZodObject, ZodTypeAny } from 'zod';\n\nimport { form, formRoot } from '@mage-ui/styled-system/recipes';\n\nimport { FormAutocomplete } from './controls/FormAutocomplete';\nimport { FormCheckbox } from './controls/FormCheckbox';\nimport { FormCombobox } from './controls/FormCombobox';\nimport { FormDatePicker } from './controls/FormDatePicker';\nimport { FormDateTimePicker } from './controls/FormDateTimePicker';\nimport { FormDropzone } from './controls/FormDropzone';\nimport { FormDropzoneS3 } from './controls/FormDropzoneS3';\nimport { FormFileInput } from './controls/FormFileInput';\nimport { FormFileInputMultiple } from './controls/FormFileInputMultiple';\nimport { FormHidden } from './controls/FormHidden';\nimport { FormPassword } from './controls/FormPassword';\nimport { FormSelect } from './controls/FormSelect';\nimport { FormSubmit } from './controls/FormSubmit';\nimport { FormTextarea } from './controls/FormTextarea';\nimport { FormTextInput } from './controls/FormTextInput';\nimport { FormBase } from './FormBase';\nimport { FormErrorBox } from './FormErrorBox';\nimport { FormS3Context, type S3UploadCallback } from './FormS3Context';\n\ntype FormResponse = {\n body?: object;\n details?: string;\n status?: number;\n url?: string;\n};\n\nexport type FormProps<T extends FieldValues> = {\n $fetcher: (params: { data: T }) => Promise<unknown>;\n onValidSubmit?: (response: FormResponse) => void;\n onInvalidSubmit?: (params: {\n message: string;\n setError: UseFormSetError<T>;\n status: number;\n }) => void;\n invalidStatus?: number[];\n children: ReactNode;\n schema?: ZodObject<Record<string, ZodTypeAny>>;\n t?: (\n key: string,\n bindings?: Record<string, string>,\n fallback?: string,\n ) => string | React.ReactNode;\n /** Mensaje mostrado al usuario si falla la subida de archivos a S3 tras el submit. */\n s3UploadErrorMessage?: string;\n classNames?: {\n form?: string;\n root?: string;\n };\n};\n\ntype FormError = {\n statusCode: number;\n message: string;\n cause?: {\n issues: Record<string, string>;\n };\n};\n\nexport const Form = <T extends FieldValues>({\n $fetcher,\n onValidSubmit,\n onInvalidSubmit,\n invalidStatus = [],\n children,\n schema,\n t,\n s3UploadErrorMessage,\n classNames,\n}: FormProps<T>) => {\n const s3CallbacksRef = useRef<Map<string, S3UploadCallback>>(new Map());\n\n const s3ContextValue = {\n registerS3Upload: (name: string, cb: S3UploadCallback) => {\n s3CallbacksRef.current.set(name, cb);\n },\n unregisterS3Upload: (name: string) => {\n s3CallbacksRef.current.delete(name);\n },\n };\n\n const runS3Uploads = async (response: unknown): Promise<void> => {\n const callbacks = Array.from(s3CallbacksRef.current.values());\n await Promise.all(callbacks.map((cb) => cb(response)));\n };\n\n const onSubmit = async ({\n data,\n setError,\n }: {\n data: FieldValues;\n setError: UseFormSetError<FieldValues>;\n }) => {\n await $fetcher({ data: data as T })\n .then(async (response) => {\n const res = response as FormError & FormResponse;\n if (res?.statusCode && res.statusCode >= 400) {\n throw res;\n }\n\n try {\n await runS3Uploads(response);\n } catch (e) {\n console.error('S3 upload error:', e);\n setError('root.serverError', {\n type: 's3',\n message: s3UploadErrorMessage ?? 'Failed to upload files',\n });\n return;\n }\n onValidSubmit?.((response || {}) as FormResponse);\n })\n .catch((error: FormError) => {\n switch (error.statusCode) {\n case 400:\n case 422: {\n if (error.cause?.issues) {\n Object.keys(error.cause.issues).forEach((key) => {\n setError(key, {\n type: 'server',\n message: error.cause?.issues?.[key],\n });\n });\n }\n setError('root.serverError', {\n type: 'server',\n message: error?.message ?? 'Something went wrong',\n });\n break;\n }\n default:\n if (invalidStatus.includes(error.statusCode)) {\n onInvalidSubmit?.({\n message: error.message,\n setError: setError as UseFormSetError<T>,\n status: error.statusCode,\n });\n break;\n }\n throw error;\n }\n });\n };\n\n return (\n <FormS3Context.Provider value={s3ContextValue}>\n <FormBase\n onSubmit={onSubmit}\n schema={schema}\n errorBox={FormErrorBox}\n t={t}\n classNames={{\n form: classNames?.form ?? form(),\n root: classNames?.root ?? formRoot(),\n }}\n >\n {children}\n </FormBase>\n </FormS3Context.Provider>\n );\n};\n\nForm.displayName = 'Form';\nForm.TextInput = FormTextInput;\nForm.Textarea = FormTextarea;\nForm.Submit = FormSubmit;\nForm.Hidden = FormHidden;\nForm.Checkbox = FormCheckbox;\nForm.Password = FormPassword;\nForm.Select = FormSelect;\nForm.Combobox = FormCombobox;\nForm.Autocomplete = FormAutocomplete;\nForm.DatePicker = FormDatePicker;\nForm.DateTimePicker = FormDateTimePicker;\nForm.FileInput = FormFileInput;\nForm.FileInputMultiple = FormFileInputMultiple;\nForm.Dropzone = FormDropzone;\nForm.DropzoneS3 = FormDropzoneS3;\n"],"mappings":"srCAkEA,MAAa,GAA+B,CAC1C,WACA,gBACA,kBACA,gBAAgB,EAAE,CAClB,WACA,SACA,IACA,uBACA,gBACkB,CAClB,IAAM,EAAiB,EAAsC,IAAI,IAAM,CAEjE,EAAiB,CACrB,kBAAmB,EAAc,IAAyB,CACxD,EAAe,QAAQ,IAAI,EAAM,EAAG,EAEtC,mBAAqB,GAAiB,CACpC,EAAe,QAAQ,OAAO,EAAK,EAEtC,CAEK,EAAe,KAAO,IAAqC,CAC/D,IAAM,EAAY,MAAM,KAAK,EAAe,QAAQ,QAAQ,CAAC,CAC7D,MAAM,QAAQ,IAAI,EAAU,IAAK,GAAO,EAAG,EAAS,CAAC,CAAC,EA6DxD,OACE,EAAC,EAAc,SAAf,CAAwB,MAAO,WAC7B,EAAC,EAAD,CACY,SA7DC,MAAO,CACtB,OACA,cAII,CACJ,MAAM,EAAS,CAAQ,OAAW,CAAC,CAChC,KAAK,KAAO,IAAa,CACxB,IAAM,EAAM,EACZ,GAAI,GAAK,YAAc,EAAI,YAAc,IACvC,MAAM,EAGR,GAAI,CACF,MAAM,EAAa,EAAS,OACrB,EAAG,CACV,QAAQ,MAAM,mBAAoB,EAAE,CACpC,EAAS,mBAAoB,CAC3B,KAAM,KACN,QAAS,GAAwB,yBAClC,CAAC,CACF,OAEF,IAAiB,GAAY,EAAE,CAAkB,EACjD,CACD,MAAO,GAAqB,CAC3B,OAAQ,EAAM,WAAd,CACE,IAAK,KACL,IAAK,KACC,EAAM,OAAO,QACf,OAAO,KAAK,EAAM,MAAM,OAAO,CAAC,QAAS,GAAQ,CAC/C,EAAS,EAAK,CACZ,KAAM,SACN,QAAS,EAAM,OAAO,SAAS,GAChC,CAAC,EACF,CAEJ,EAAS,mBAAoB,CAC3B,KAAM,SACN,QAAS,GAAO,SAAW,uBAC5B,CAAC,CACF,MAEF,QACE,GAAI,EAAc,SAAS,EAAM,WAAW,CAAE,CAC5C,IAAkB,CAChB,QAAS,EAAM,QACL,WACV,OAAQ,EAAM,WACf,CAAC,CACF,MAEF,MAAM,IAEV,EAOQ,SACR,SAAU,EACP,IACH,WAAY,CACV,KAAM,GAAY,MAAQ,GAAM,CAChC,KAAM,GAAY,MAAQ,GAAU,CACrC,CAEA,WACQ,CAAA,CACY,CAAA,EAI7B,EAAK,YAAc,OACnB,EAAK,UAAY,EACjB,EAAK,SAAW,EAChB,EAAK,OAAS,EACd,EAAK,OAAS,EACd,EAAK,SAAW,EAChB,EAAK,SAAW,EAChB,EAAK,OAAS,EACd,EAAK,SAAW,EAChB,EAAK,aAAe,EACpB,EAAK,WAAa,EAClB,EAAK,eAAiB,EACtB,EAAK,UAAY,EACjB,EAAK,kBAAoB,EACzB,EAAK,SAAW,EAChB,EAAK,WAAa"}
@@ -0,0 +1,14 @@
1
+ import { DatePickerProps, DatePickerValue } from "../../controls/date-picker/DatePicker.mjs";
2
+ //#region src/components/forms/controls/FormDatePicker.d.ts
3
+ type FormDatePickerValue = string | null;
4
+ type FormDatePickerProps = Omit<DatePickerProps, 'defaultValue' | 'onChange' | 'value'> & {
5
+ $rule?: string;
6
+ error?: string;
7
+ isSubmitting?: boolean;
8
+ name: string;
9
+ defaultValue?: DatePickerValue;
10
+ onChange?: (date: FormDatePickerValue) => void;
11
+ };
12
+ //#endregion
13
+ export { FormDatePickerProps };
14
+ //# sourceMappingURL=FormDatePicker.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormDatePicker.d.mts","names":[],"sources":["../../../../src/components/forms/controls/FormDatePicker.tsx"],"mappings":";;KAQY,mBAAA;AAAA,KAEA,mBAAA,GAAsB,IAAA,CAChC,eAAA;EAGA,KAAA;EACA,KAAA;EACA,YAAA;EACA,IAAA;EACA,YAAA,GAAe,eAAA;EACf,QAAA,IAAY,IAAA,EAAM,mBAAA;AAAA"}
@@ -0,0 +1,2 @@
1
+ import{DatePicker as e}from"../../controls/date-picker/DatePicker.mjs";import{jsx as t}from"react/jsx-runtime";import{Controller as n}from"react-hook-form";const r=e=>{if(e!==void 0)return e===null||typeof e==`string`?e:`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,`0`)}-${String(e.getDate()).padStart(2,`0`)}`},i=({$rule:i,isSubmitting:a,name:o,error:s,defaultValue:c,onChange:l,disabled:u,...d})=>t(n,{name:o,...c===void 0?{}:{defaultValue:r(c)},render:({field:{onChange:n,onBlur:i,value:c}})=>t(e,{name:o,error:s,disabled:u||a,value:r(c),onBlur:i,...d,onChange:e=>{let t=r(e);n(t),l?.(t??null)}})});i.displayName=`Form.DatePicker`;export{i as FormDatePicker};
2
+ //# sourceMappingURL=FormDatePicker.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormDatePicker.mjs","names":[],"sources":["../../../../src/components/forms/controls/FormDatePicker.tsx"],"sourcesContent":["import { Controller } from 'react-hook-form';\n\nimport {\n DatePicker,\n type DatePickerProps,\n type DatePickerValue,\n} from '@/components/controls/date-picker/DatePicker';\n\nexport type FormDatePickerValue = string | null;\n\nexport type FormDatePickerProps = Omit<\n DatePickerProps,\n 'defaultValue' | 'onChange' | 'value'\n> & {\n $rule?: string;\n error?: string;\n isSubmitting?: boolean;\n name: string;\n defaultValue?: DatePickerValue;\n onChange?: (date: FormDatePickerValue) => void;\n};\n\nconst toFormDateValue = (\n value: DatePickerValue | undefined,\n): FormDatePickerValue | undefined => {\n if (value === undefined) return undefined;\n if (value === null || typeof value === 'string') return value;\n\n const year = value.getFullYear();\n const month = String(value.getMonth() + 1).padStart(2, '0');\n const day = String(value.getDate()).padStart(2, '0');\n\n return `${year}-${month}-${day}`;\n};\n\nexport const FormDatePicker = ({\n $rule: _$rule,\n isSubmitting,\n name,\n error,\n defaultValue,\n onChange,\n disabled,\n ...props\n}: FormDatePickerProps) => {\n const controllerProps =\n defaultValue === undefined\n ? {}\n : { defaultValue: toFormDateValue(defaultValue) };\n\n return (\n <Controller\n name={name}\n {...controllerProps}\n render={({ field: { onChange: fieldOnChange, onBlur, value } }) => (\n <DatePicker\n name={name}\n error={error}\n disabled={disabled || isSubmitting}\n value={toFormDateValue(value)}\n onBlur={onBlur}\n {...props}\n onChange={(date) => {\n const formValue = toFormDateValue(date);\n fieldOnChange(formValue);\n onChange?.(formValue ?? null);\n }}\n />\n )}\n />\n );\n};\n\nFormDatePicker.displayName = 'Form.DatePicker';\n"],"mappings":"4JAsBA,MAAM,EACJ,GACoC,CAChC,OAAU,IAAA,GAOd,OANI,IAAU,MAAQ,OAAO,GAAU,SAAiB,EAMjD,GAJM,EAAM,aAAa,CAIjB,GAHD,OAAO,EAAM,UAAU,CAAG,EAAE,CAAC,SAAS,EAAG,IAAI,CAGnC,GAFZ,OAAO,EAAM,SAAS,CAAC,CAAC,SAAS,EAAG,IAAI,IAKzC,GAAkB,CAC7B,MAAO,EACP,eACA,OACA,QACA,eACA,WACA,WACA,GAAG,KAQD,EAAC,EAAD,CACQ,OACN,GAPF,IAAiB,IAAA,GACb,EAAE,CACF,CAAE,aAAc,EAAgB,EAAa,CAAE,CAMjD,QAAS,CAAE,MAAO,CAAE,SAAU,EAAe,SAAQ,YACnD,EAAC,EAAD,CACQ,OACC,QACP,SAAU,GAAY,EACtB,MAAO,EAAgB,EAAM,CACrB,SACR,GAAI,EACJ,SAAW,GAAS,CAClB,IAAM,EAAY,EAAgB,EAAK,CACvC,EAAc,EAAU,CACxB,IAAW,GAAa,KAAK,EAE/B,CAAA,CAEJ,CAAA,CAIN,EAAe,YAAc"}
@@ -0,0 +1,14 @@
1
+ import { DateTimePickerProps, DateTimePickerValue } from "../../controls/date-time-picker/DateTimePicker.mjs";
2
+ //#region src/components/forms/controls/FormDateTimePicker.d.ts
3
+ type FormDateTimePickerValue = string | null;
4
+ type FormDateTimePickerProps = Omit<DateTimePickerProps, 'defaultValue' | 'onChange' | 'value'> & {
5
+ $rule?: string;
6
+ error?: string;
7
+ isSubmitting?: boolean;
8
+ name: string;
9
+ defaultValue?: DateTimePickerValue;
10
+ onChange?: (date: FormDateTimePickerValue) => void;
11
+ };
12
+ //#endregion
13
+ export { FormDateTimePickerProps };
14
+ //# sourceMappingURL=FormDateTimePicker.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormDateTimePicker.d.mts","names":[],"sources":["../../../../src/components/forms/controls/FormDateTimePicker.tsx"],"mappings":";;KAQY,uBAAA;AAAA,KAEA,uBAAA,GAA0B,IAAA,CACpC,mBAAA;EAGA,KAAA;EACA,KAAA;EACA,YAAA;EACA,IAAA;EACA,YAAA,GAAe,mBAAA;EACf,QAAA,IAAY,IAAA,EAAM,uBAAA;AAAA"}
@@ -0,0 +1,2 @@
1
+ import{DateTimePicker as e}from"../../controls/date-time-picker/DateTimePicker.mjs";import{jsx as t}from"react/jsx-runtime";import{Controller as n}from"react-hook-form";const r=e=>{if(e!==void 0)return e===null||typeof e==`string`?e:`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,`0`)}-${String(e.getDate()).padStart(2,`0`)} ${String(e.getHours()).padStart(2,`0`)}:${String(e.getMinutes()).padStart(2,`0`)}:${String(e.getSeconds()).padStart(2,`0`)}`},i=({$rule:i,isSubmitting:a,name:o,error:s,defaultValue:c,onChange:l,disabled:u,...d})=>t(n,{name:o,...c===void 0?{}:{defaultValue:r(c)},render:({field:{onChange:n,onBlur:i,value:c}})=>t(e,{name:o,error:s,disabled:u||a,value:r(c),onBlur:i,...d,onChange:e=>{let t=r(e);n(t),l?.(t??null)}})});i.displayName=`Form.DateTimePicker`;export{i as FormDateTimePicker};
2
+ //# sourceMappingURL=FormDateTimePicker.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormDateTimePicker.mjs","names":[],"sources":["../../../../src/components/forms/controls/FormDateTimePicker.tsx"],"sourcesContent":["import { Controller } from 'react-hook-form';\n\nimport {\n DateTimePicker,\n type DateTimePickerProps,\n type DateTimePickerValue,\n} from '@/components/controls/date-time-picker/DateTimePicker';\n\nexport type FormDateTimePickerValue = string | null;\n\nexport type FormDateTimePickerProps = Omit<\n DateTimePickerProps,\n 'defaultValue' | 'onChange' | 'value'\n> & {\n $rule?: string;\n error?: string;\n isSubmitting?: boolean;\n name: string;\n defaultValue?: DateTimePickerValue;\n onChange?: (date: FormDateTimePickerValue) => void;\n};\n\nconst toFormDateTimeValue = (\n value: DateTimePickerValue | undefined,\n): FormDateTimePickerValue | undefined => {\n if (value === undefined) return undefined;\n if (value === null || typeof value === 'string') return value;\n\n const year = value.getFullYear();\n const month = String(value.getMonth() + 1).padStart(2, '0');\n const day = String(value.getDate()).padStart(2, '0');\n const hours = String(value.getHours()).padStart(2, '0');\n const minutes = String(value.getMinutes()).padStart(2, '0');\n const seconds = String(value.getSeconds()).padStart(2, '0');\n\n return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;\n};\n\nexport const FormDateTimePicker = ({\n $rule: _$rule,\n isSubmitting,\n name,\n error,\n defaultValue,\n onChange,\n disabled,\n ...props\n}: FormDateTimePickerProps) => {\n const controllerProps =\n defaultValue === undefined\n ? {}\n : { defaultValue: toFormDateTimeValue(defaultValue) };\n\n return (\n <Controller\n name={name}\n {...controllerProps}\n render={({ field: { onChange: fieldOnChange, onBlur, value } }) => (\n <DateTimePicker\n name={name}\n error={error}\n disabled={disabled || isSubmitting}\n value={toFormDateTimeValue(value)}\n onBlur={onBlur}\n {...props}\n onChange={(date) => {\n const formValue = toFormDateTimeValue(date);\n fieldOnChange(formValue);\n onChange?.(formValue ?? null);\n }}\n />\n )}\n />\n );\n};\n\nFormDateTimePicker.displayName = 'Form.DateTimePicker';\n"],"mappings":"yKAsBA,MAAM,EACJ,GACwC,CACpC,OAAU,IAAA,GAUd,OATI,IAAU,MAAQ,OAAO,GAAU,SAAiB,EASjD,GAPM,EAAM,aAAa,CAOjB,GAND,OAAO,EAAM,UAAU,CAAG,EAAE,CAAC,SAAS,EAAG,IAAI,CAMnC,GALZ,OAAO,EAAM,SAAS,CAAC,CAAC,SAAS,EAAG,IAAI,CAKrB,GAJjB,OAAO,EAAM,UAAU,CAAC,CAAC,SAAS,EAAG,IAAI,CAIf,GAHxB,OAAO,EAAM,YAAY,CAAC,CAAC,SAAS,EAAG,IAAI,CAGR,GAFnC,OAAO,EAAM,YAAY,CAAC,CAAC,SAAS,EAAG,IAAI,IAKhD,GAAsB,CACjC,MAAO,EACP,eACA,OACA,QACA,eACA,WACA,WACA,GAAG,KAQD,EAAC,EAAD,CACQ,OACN,GAPF,IAAiB,IAAA,GACb,EAAE,CACF,CAAE,aAAc,EAAoB,EAAa,CAAE,CAMrD,QAAS,CAAE,MAAO,CAAE,SAAU,EAAe,SAAQ,YACnD,EAAC,EAAD,CACQ,OACC,QACP,SAAU,GAAY,EACtB,MAAO,EAAoB,EAAM,CACzB,SACR,GAAI,EACJ,SAAW,GAAS,CAClB,IAAM,EAAY,EAAoB,EAAK,CAC3C,EAAc,EAAU,CACxB,IAAW,GAAa,KAAK,EAE/B,CAAA,CAEJ,CAAA,CAIN,EAAmB,YAAc"}
@@ -1,2 +1,2 @@
1
- import{FormAutocomplete as e}from"./FormAutocomplete.mjs";import{FormCheckbox as t}from"./FormCheckbox.mjs";import{FormCombobox as n}from"./FormCombobox.mjs";import{FormDropzone as r}from"./FormDropzone.mjs";import{FormDropzoneS3 as i}from"./FormDropzoneS3.mjs";import{FormFileInput as a}from"./FormFileInput.mjs";import{FormFileInputMultiple as o}from"./FormFileInputMultiple.mjs";import{FormHidden as s}from"./FormHidden.mjs";import{FormPassword as c}from"./FormPassword.mjs";import{FormSelect as l}from"./FormSelect.mjs";import{FormSubmit as u}from"./FormSubmit.mjs";import{FormTextarea as d}from"./FormTextarea.mjs";import{FormTextInput as f}from"./FormTextInput.mjs";const p=[u,f,d,c,s,t,l,n,e,a,o,r,i];export{p as controls};
1
+ import{FormAutocomplete as e}from"./FormAutocomplete.mjs";import{FormCheckbox as t}from"./FormCheckbox.mjs";import{FormCombobox as n}from"./FormCombobox.mjs";import{FormDatePicker as r}from"./FormDatePicker.mjs";import{FormDateTimePicker as i}from"./FormDateTimePicker.mjs";import{FormDropzone as a}from"./FormDropzone.mjs";import{FormDropzoneS3 as o}from"./FormDropzoneS3.mjs";import{FormFileInput as s}from"./FormFileInput.mjs";import{FormFileInputMultiple as c}from"./FormFileInputMultiple.mjs";import{FormHidden as l}from"./FormHidden.mjs";import{FormPassword as u}from"./FormPassword.mjs";import{FormSelect as d}from"./FormSelect.mjs";import{FormSubmit as f}from"./FormSubmit.mjs";import{FormTextarea as p}from"./FormTextarea.mjs";import{FormTextInput as m}from"./FormTextInput.mjs";const h=[f,m,p,u,l,t,d,n,e,r,i,s,c,a,o];export{h as controls};
2
2
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":[],"sources":["../../../../src/components/forms/controls/index.ts"],"sourcesContent":["import { FormAutocomplete } from './FormAutocomplete';\nimport { FormCheckbox } from './FormCheckbox';\nimport { FormCombobox } from './FormCombobox';\nimport { FormDropzone } from './FormDropzone';\nimport { FormDropzoneS3 } from './FormDropzoneS3';\nimport { FormFileInput } from './FormFileInput';\nimport { FormFileInputMultiple } from './FormFileInputMultiple';\nimport { FormHidden } from './FormHidden';\nimport { FormPassword } from './FormPassword';\nimport { FormSelect } from './FormSelect';\nimport { FormSubmit } from './FormSubmit';\nimport { FormTextarea } from './FormTextarea';\nimport { FormTextInput } from './FormTextInput';\n\nexport const controls = [\n FormSubmit,\n FormTextInput,\n FormTextarea,\n FormPassword,\n FormHidden,\n FormCheckbox,\n FormSelect,\n FormCombobox,\n FormAutocomplete,\n FormFileInput,\n FormFileInputMultiple,\n FormDropzone,\n FormDropzoneS3,\n] as React.ComponentType[];\n"],"mappings":"gqBAcA,MAAa,EAAW,CACtB,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACD"}
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../../../../src/components/forms/controls/index.ts"],"sourcesContent":["import { FormAutocomplete } from './FormAutocomplete';\nimport { FormCheckbox } from './FormCheckbox';\nimport { FormCombobox } from './FormCombobox';\nimport { FormDatePicker } from './FormDatePicker';\nimport { FormDateTimePicker } from './FormDateTimePicker';\nimport { FormDropzone } from './FormDropzone';\nimport { FormDropzoneS3 } from './FormDropzoneS3';\nimport { FormFileInput } from './FormFileInput';\nimport { FormFileInputMultiple } from './FormFileInputMultiple';\nimport { FormHidden } from './FormHidden';\nimport { FormPassword } from './FormPassword';\nimport { FormSelect } from './FormSelect';\nimport { FormSubmit } from './FormSubmit';\nimport { FormTextarea } from './FormTextarea';\nimport { FormTextInput } from './FormTextInput';\n\nexport const controls = [\n FormSubmit,\n FormTextInput,\n FormTextarea,\n FormPassword,\n FormHidden,\n FormCheckbox,\n FormSelect,\n FormCombobox,\n FormAutocomplete,\n FormDatePicker,\n FormDateTimePicker,\n FormFileInput,\n FormFileInputMultiple,\n FormDropzone,\n FormDropzoneS3,\n] as React.ComponentType[];\n"],"mappings":"oxBAgBA,MAAa,EAAW,CACtB,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACD"}
@@ -1,2 +1,2 @@
1
- "use client";import{Fragment as e,jsx as t}from"react/jsx-runtime";import{Children as n,cloneElement as r,isValidElement as i}from"react";const a=new Set([`Form.Password`,`Form.Checkbox`,`Form.Select`,`Form.Combobox`,`Form.Autocomplete`,`Form.Hidden`,`Form.FileInput`,`Form.FileInputMultiple`,`Form.Dropzone`,`Form.DropzoneS3`]),o=(e,t,n)=>{if(e)try{let r=JSON.parse(e),i={...r.bindings,attribute:t},a=n?n(r.key,i,r.fallback):r.fallback;return String(a).replace(/{attribute}/g,t)}catch{return e.replace(/{attribute}/g,t)}},s=({children:s,register:c,componentTypes:l,errors:u={},t:d})=>{let f=e=>n.map(e,e=>{if(!i(e))return e;let t=e.props;if(l.some(t=>e.type===t)){let n=t.name,i=u[n??``]?.message?.toString(),s=n?o(i,n,d):void 0,l=e.type.displayName;return r(e,{...n!==void 0&&!a.has(l??``)&&n?c(n):{},error:s})}return t.children?r(e,{children:f(t.children)}):e});return t(e,{children:f(s)})};export{s as RegisteredFormChildren};
1
+ "use client";import{Fragment as e,jsx as t}from"react/jsx-runtime";import{Children as n,cloneElement as r,isValidElement as i}from"react";const a=new Set([`Form.Password`,`Form.Checkbox`,`Form.Select`,`Form.Combobox`,`Form.Autocomplete`,`Form.DatePicker`,`Form.DateTimePicker`,`Form.Hidden`,`Form.FileInput`,`Form.FileInputMultiple`,`Form.Dropzone`,`Form.DropzoneS3`]),o=(e,t,n)=>{if(e)try{let r=JSON.parse(e),i={...r.bindings,attribute:t},a=n?n(r.key,i,r.fallback):r.fallback;return String(a).replace(/{attribute}/g,t)}catch{return e.replace(/{attribute}/g,t)}},s=({children:s,register:c,componentTypes:l,errors:u={},t:d})=>{let f=e=>n.map(e,e=>{if(!i(e))return e;let t=e.props;if(l.some(t=>e.type===t)){let n=t.name,i=u[n??``]?.message?.toString(),s=n?o(i,n,d):void 0,l=e.type.displayName;return r(e,{...n!==void 0&&!a.has(l??``)&&n?c(n):{},error:s})}return t.children?r(e,{children:f(t.children)}):e});return t(e,{children:f(s)})};export{s as RegisteredFormChildren};
2
2
  //# sourceMappingURL=register-components.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"register-components.mjs","names":[],"sources":["../../../../src/components/forms/controls/register-components.tsx"],"sourcesContent":["'use client';\n\nimport type React from 'react';\nimport { Children, cloneElement, isValidElement } from 'react';\nimport type { FieldErrors, UseFormRegister } from 'react-hook-form';\n\ninterface TranslationMessage {\n key: string;\n bindings: Record<string, string>;\n fallback: string;\n}\n\nconst controllerDisplayNames = new Set([\n 'Form.Password',\n 'Form.Checkbox',\n 'Form.Select',\n 'Form.Combobox',\n 'Form.Autocomplete',\n 'Form.Hidden',\n 'Form.FileInput',\n 'Form.FileInputMultiple',\n 'Form.Dropzone',\n 'Form.DropzoneS3',\n]);\n\nconst parseAndTranslate = (\n message: string | undefined,\n fieldName: string,\n t?: (\n key: string,\n bindings?: Record<string, string>,\n fallback?: string,\n ) => string | React.ReactNode,\n): string | undefined => {\n if (!message) return undefined;\n\n try {\n const parsed: TranslationMessage = JSON.parse(message);\n const bindings = { ...parsed.bindings, attribute: fieldName };\n const result = t\n ? t(parsed.key, bindings, parsed.fallback)\n : parsed.fallback;\n return String(result).replace(/{attribute}/g, fieldName);\n } catch {\n return message.replace(/{attribute}/g, fieldName);\n }\n};\n\ninterface RegisteredFormChildrenProps {\n children: React.ReactNode;\n register: UseFormRegister<Record<string, unknown>>;\n componentTypes: React.ComponentType[];\n errors?: FieldErrors<Record<string, unknown>>;\n t?: (\n key: string,\n bindings?: Record<string, string>,\n fallback?: string,\n ) => string | React.ReactNode;\n}\n\nexport const RegisteredFormChildren = ({\n children,\n register,\n componentTypes,\n errors = {},\n t,\n}: RegisteredFormChildrenProps): React.ReactNode => {\n const processChildren = (nodes: React.ReactNode): React.ReactNode => {\n return Children.map(nodes, (child) => {\n if (!isValidElement(child)) {\n return child;\n }\n\n const childProps = child.props as {\n name?: string;\n children?: React.ReactNode;\n };\n\n if (\n componentTypes.some((type: React.ComponentType) => child.type === type)\n ) {\n const fieldName = childProps.name;\n const errorMessage = errors[fieldName ?? '']?.message?.toString();\n const translatedError = fieldName\n ? parseAndTranslate(errorMessage, fieldName, t)\n : undefined;\n const displayName = (\n child.type as React.ComponentType & { displayName?: string }\n ).displayName;\n const shouldRegister =\n fieldName !== undefined &&\n !controllerDisplayNames.has(displayName ?? '');\n const registrationProps =\n shouldRegister && fieldName ? register(fieldName) : {};\n\n return cloneElement(child, {\n ...registrationProps,\n error: translatedError,\n } as Partial<typeof child.props>);\n }\n\n if (childProps.children) {\n return cloneElement(child, {\n children: processChildren(childProps.children),\n } as Partial<typeof child.props>);\n }\n\n return child;\n });\n };\n\n return <>{processChildren(children)}</>;\n};\n"],"mappings":"0IAYA,MAAM,EAAyB,IAAI,IAAI,CACrC,gBACA,gBACA,cACA,gBACA,oBACA,cACA,iBACA,yBACA,gBACA,kBACD,CAAC,CAEI,GACJ,EACA,EACA,IAKuB,CAClB,KAEL,GAAI,CACF,IAAM,EAA6B,KAAK,MAAM,EAAQ,CAChD,EAAW,CAAE,GAAG,EAAO,SAAU,UAAW,EAAW,CACvD,EAAS,EACX,EAAE,EAAO,IAAK,EAAU,EAAO,SAAS,CACxC,EAAO,SACX,OAAO,OAAO,EAAO,CAAC,QAAQ,eAAgB,EAAU,MAClD,CACN,OAAO,EAAQ,QAAQ,eAAgB,EAAU,GAgBxC,GAA0B,CACrC,WACA,WACA,iBACA,SAAS,EAAE,CACX,OACkD,CAClD,IAAM,EAAmB,GAChB,EAAS,IAAI,EAAQ,GAAU,CACpC,GAAI,CAAC,EAAe,EAAM,CACxB,OAAO,EAGT,IAAM,EAAa,EAAM,MAKzB,GACE,EAAe,KAAM,GAA8B,EAAM,OAAS,EAAK,CACvE,CACA,IAAM,EAAY,EAAW,KACvB,EAAe,EAAO,GAAa,KAAK,SAAS,UAAU,CAC3D,EAAkB,EACpB,EAAkB,EAAc,EAAW,EAAE,CAC7C,IAAA,GACE,EACJ,EAAM,KACN,YAOF,OAAO,EAAa,EAAO,CACzB,GANA,IAAc,IAAA,IACd,CAAC,EAAuB,IAAI,GAAe,GAAG,EAE5B,EAAY,EAAS,EAAU,CAAG,EAAE,CAItD,MAAO,EACR,CAAgC,CASnC,OANI,EAAW,SACN,EAAa,EAAO,CACzB,SAAU,EAAgB,EAAW,SAAS,CAC/C,CAAgC,CAG5B,GACP,CAGJ,OAAO,EAAA,EAAA,CAAA,SAAG,EAAgB,EAAS,CAAI,CAAA"}
1
+ {"version":3,"file":"register-components.mjs","names":[],"sources":["../../../../src/components/forms/controls/register-components.tsx"],"sourcesContent":["'use client';\n\nimport type React from 'react';\nimport { Children, cloneElement, isValidElement } from 'react';\nimport type { FieldErrors, UseFormRegister } from 'react-hook-form';\n\ninterface TranslationMessage {\n key: string;\n bindings: Record<string, string>;\n fallback: string;\n}\n\nconst controllerDisplayNames = new Set([\n 'Form.Password',\n 'Form.Checkbox',\n 'Form.Select',\n 'Form.Combobox',\n 'Form.Autocomplete',\n 'Form.DatePicker',\n 'Form.DateTimePicker',\n 'Form.Hidden',\n 'Form.FileInput',\n 'Form.FileInputMultiple',\n 'Form.Dropzone',\n 'Form.DropzoneS3',\n]);\n\nconst parseAndTranslate = (\n message: string | undefined,\n fieldName: string,\n t?: (\n key: string,\n bindings?: Record<string, string>,\n fallback?: string,\n ) => string | React.ReactNode,\n): string | undefined => {\n if (!message) return undefined;\n\n try {\n const parsed: TranslationMessage = JSON.parse(message);\n const bindings = { ...parsed.bindings, attribute: fieldName };\n const result = t\n ? t(parsed.key, bindings, parsed.fallback)\n : parsed.fallback;\n return String(result).replace(/{attribute}/g, fieldName);\n } catch {\n return message.replace(/{attribute}/g, fieldName);\n }\n};\n\ninterface RegisteredFormChildrenProps {\n children: React.ReactNode;\n register: UseFormRegister<Record<string, unknown>>;\n componentTypes: React.ComponentType[];\n errors?: FieldErrors<Record<string, unknown>>;\n t?: (\n key: string,\n bindings?: Record<string, string>,\n fallback?: string,\n ) => string | React.ReactNode;\n}\n\nexport const RegisteredFormChildren = ({\n children,\n register,\n componentTypes,\n errors = {},\n t,\n}: RegisteredFormChildrenProps): React.ReactNode => {\n const processChildren = (nodes: React.ReactNode): React.ReactNode => {\n return Children.map(nodes, (child) => {\n if (!isValidElement(child)) {\n return child;\n }\n\n const childProps = child.props as {\n name?: string;\n children?: React.ReactNode;\n };\n\n if (\n componentTypes.some((type: React.ComponentType) => child.type === type)\n ) {\n const fieldName = childProps.name;\n const errorMessage = errors[fieldName ?? '']?.message?.toString();\n const translatedError = fieldName\n ? parseAndTranslate(errorMessage, fieldName, t)\n : undefined;\n const displayName = (\n child.type as React.ComponentType & { displayName?: string }\n ).displayName;\n const shouldRegister =\n fieldName !== undefined &&\n !controllerDisplayNames.has(displayName ?? '');\n const registrationProps =\n shouldRegister && fieldName ? register(fieldName) : {};\n\n return cloneElement(child, {\n ...registrationProps,\n error: translatedError,\n } as Partial<typeof child.props>);\n }\n\n if (childProps.children) {\n return cloneElement(child, {\n children: processChildren(childProps.children),\n } as Partial<typeof child.props>);\n }\n\n return child;\n });\n };\n\n return <>{processChildren(children)}</>;\n};\n"],"mappings":"0IAYA,MAAM,EAAyB,IAAI,IAAI,CACrC,gBACA,gBACA,cACA,gBACA,oBACA,kBACA,sBACA,cACA,iBACA,yBACA,gBACA,kBACD,CAAC,CAEI,GACJ,EACA,EACA,IAKuB,CAClB,KAEL,GAAI,CACF,IAAM,EAA6B,KAAK,MAAM,EAAQ,CAChD,EAAW,CAAE,GAAG,EAAO,SAAU,UAAW,EAAW,CACvD,EAAS,EACX,EAAE,EAAO,IAAK,EAAU,EAAO,SAAS,CACxC,EAAO,SACX,OAAO,OAAO,EAAO,CAAC,QAAQ,eAAgB,EAAU,MAClD,CACN,OAAO,EAAQ,QAAQ,eAAgB,EAAU,GAgBxC,GAA0B,CACrC,WACA,WACA,iBACA,SAAS,EAAE,CACX,OACkD,CAClD,IAAM,EAAmB,GAChB,EAAS,IAAI,EAAQ,GAAU,CACpC,GAAI,CAAC,EAAe,EAAM,CACxB,OAAO,EAGT,IAAM,EAAa,EAAM,MAKzB,GACE,EAAe,KAAM,GAA8B,EAAM,OAAS,EAAK,CACvE,CACA,IAAM,EAAY,EAAW,KACvB,EAAe,EAAO,GAAa,KAAK,SAAS,UAAU,CAC3D,EAAkB,EACpB,EAAkB,EAAc,EAAW,EAAE,CAC7C,IAAA,GACE,EACJ,EAAM,KACN,YAOF,OAAO,EAAa,EAAO,CACzB,GANA,IAAc,IAAA,IACd,CAAC,EAAuB,IAAI,GAAe,GAAG,EAE5B,EAAY,EAAS,EAAU,CAAG,EAAE,CAItD,MAAO,EACR,CAAgC,CASnC,OANI,EAAW,SACN,EAAa,EAAO,CACzB,SAAU,EAAgB,EAAW,SAAS,CAC/C,CAAgC,CAG5B,GACP,CAGJ,OAAO,EAAA,EAAA,CAAA,SAAG,EAAgB,EAAS,CAAI,CAAA"}
@@ -1,2 +1,2 @@
1
- import{findFormComponents as e}from"../controls/find-form-components.mjs";import{PASSWORD_RULES as t}from"./password-rules.mjs";import n from"./password.mjs";import{parseRules as r}from"./zod.mjs";import{z as i}from"zod";const a=(e,t)=>{if(!e.name||!e.$rule?.includes(`confirmed`))return;let n=e.$rule.split(`|`).find(e=>e.startsWith(`confirmed`)),r=n?.includes(`:`)?n.split(`:`)[1]:`${e.name}_confirmation`;t.confirmedFields.push({field:e.name,target:r})},o=(e,t)=>{e.name&&(e.$rule?.includes(`required`)?(t.rules[e.name]=i.boolean().optional().or(i.literal(!1)),t.requiredBooleanFields.push(e.name)):t.rules[e.name]=i.boolean().optional())},s=(e,a)=>{if(!e.name)return;let o=i.string(),s=e.$rule?e.$rule.split(`|`).filter(e=>e.trim()!==`password`).join(`|`):``;s&&(o=r(s));let c=e.rules||(e.$rule?.includes(`password`)?t:[]);c.length>0&&(o=n(o,c));let l=!e.$rule||e.$rule.includes(`optional`)||s.includes(`optional`);a.rules[e.name]=l?o.optional():o},c=(e,t)=>{e.name&&(t.rules[e.name]=e.$rule?r(e.$rule):i.string().optional())},l=(e,t)=>{e.name&&(t.rules[e.name]=i.any().optional())},u=JSON.stringify({key:`required`,fallback:`El campo {attribute} es obligatorio.`,bindings:{}}),d=(e,t,n)=>{e.name&&(e.$rule?.includes(`required`)?t.rules[e.name]=n?i.any().refine(e=>Array.isArray(e)&&e.length>0,{message:u}):i.any().refine(e=>e instanceof File,{message:u}):t.rules[e.name]=i.any().optional())},f=(e,t)=>t.confirmedFields.length===0&&t.requiredBooleanFields.length===0?e:e.superRefine((e,n)=>{t.confirmedFields.forEach(({field:t,target:r})=>{e[t]!==e[r]&&n.addIssue({code:i.ZodIssueCode.custom,message:JSON.stringify({key:`confirmed`,fallback:`La confirmación no coincide.`,bindings:{}}),path:[r]})}),t.requiredBooleanFields.forEach(t=>{e[t]!==!0&&n.addIssue({code:i.ZodIssueCode.custom,message:JSON.stringify({key:`required`,fallback:`El campo {attribute} es obligatorio.`,bindings:{}}),path:[t]})})}),p=(t,n)=>{let r={rules:{},confirmedFields:[],requiredBooleanFields:[]};return e(t,n).forEach(e=>{let t=e.props,n=e.type.displayName;t.name&&(a(t,r),n===`Form.Checkbox`?o(t,r):n===`Form.Password`?s(t,r):n===`Form.Select`||n===`Form.Combobox`||n===`Form.Autocomplete`?l(t,r):n===`Form.FileInput`?d(t,r,!1):n===`Form.FileInputMultiple`||n===`Form.Dropzone`||n===`Form.DropzoneS3`?d(t,r,!0):c(t,r))}),f(i.object(r.rules).loose(),r)};export{p as extractFormRules};
1
+ import{findFormComponents as e}from"../controls/find-form-components.mjs";import{PASSWORD_RULES as t}from"./password-rules.mjs";import n from"./password.mjs";import{parseRules as r}from"./zod.mjs";import{z as i}from"zod";const a=(e,t)=>{if(!e.name||!e.$rule?.includes(`confirmed`))return;let n=e.$rule.split(`|`).find(e=>e.startsWith(`confirmed`)),r=n?.includes(`:`)?n.split(`:`)[1]:`${e.name}_confirmation`;t.confirmedFields.push({field:e.name,target:r})},o=(e,t)=>{e.name&&(e.$rule?.includes(`required`)?(t.rules[e.name]=i.boolean().optional().or(i.literal(!1)),t.requiredBooleanFields.push(e.name)):t.rules[e.name]=i.boolean().optional())},s=(e,a)=>{if(!e.name)return;let o=i.string(),s=e.$rule?e.$rule.split(`|`).filter(e=>e.trim()!==`password`).join(`|`):``;s&&(o=r(s));let c=e.rules||(e.$rule?.includes(`password`)?t:[]);c.length>0&&(o=n(o,c));let l=!e.$rule||e.$rule.includes(`optional`)||s.includes(`optional`);a.rules[e.name]=l?o.optional():o},c=(e,t)=>{e.name&&(t.rules[e.name]=e.$rule?r(e.$rule):i.string().optional())},l=(e,t)=>{e.name&&(t.rules[e.name]=i.any().optional())},u=(e,t)=>{e.name&&(t.rules[e.name]=e.$rule?r(e.$rule):i.string().nullable().optional())},d=JSON.stringify({key:`required`,fallback:`El campo {attribute} es obligatorio.`,bindings:{}}),f=(e,t,n)=>{e.name&&(e.$rule?.includes(`required`)?t.rules[e.name]=n?i.any().refine(e=>Array.isArray(e)&&e.length>0,{message:d}):i.any().refine(e=>e instanceof File,{message:d}):t.rules[e.name]=i.any().optional())},p=(e,t)=>t.confirmedFields.length===0&&t.requiredBooleanFields.length===0?e:e.superRefine((e,n)=>{t.confirmedFields.forEach(({field:t,target:r})=>{e[t]!==e[r]&&n.addIssue({code:i.ZodIssueCode.custom,message:JSON.stringify({key:`confirmed`,fallback:`La confirmación no coincide.`,bindings:{}}),path:[r]})}),t.requiredBooleanFields.forEach(t=>{e[t]!==!0&&n.addIssue({code:i.ZodIssueCode.custom,message:JSON.stringify({key:`required`,fallback:`El campo {attribute} es obligatorio.`,bindings:{}}),path:[t]})})}),m=(t,n)=>{let r={rules:{},confirmedFields:[],requiredBooleanFields:[]};return e(t,n).forEach(e=>{let t=e.props,n=e.type.displayName;t.name&&(a(t,r),n===`Form.Checkbox`?o(t,r):n===`Form.Password`?s(t,r):n===`Form.Select`||n===`Form.Combobox`||n===`Form.Autocomplete`?l(t,r):n===`Form.DatePicker`||n===`Form.DateTimePicker`?u(t,r):n===`Form.FileInput`?f(t,r,!1):n===`Form.FileInputMultiple`||n===`Form.Dropzone`||n===`Form.DropzoneS3`?f(t,r,!0):c(t,r))}),p(i.object(r.rules).loose(),r)};export{m as extractFormRules};
2
2
  //# sourceMappingURL=extract-form-rules.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"extract-form-rules.mjs","names":["passwordRule"],"sources":["../../../../src/components/forms/rules/extract-form-rules.ts"],"sourcesContent":["import type React from 'react';\nimport type { FieldValues } from 'react-hook-form';\nimport { type ZodTypeAny, z } from 'zod';\n\nimport type { PasswordRuleDefinition } from '@/components/controls/password-input/usePasswordRules';\n\nimport { findFormComponents } from '../controls/find-form-components';\nimport passwordRule from './password';\nimport { PASSWORD_RULES } from './password-rules';\nimport { parseRules } from './zod';\n\ntype FormRuleContext = {\n rules: Record<string, ZodTypeAny>;\n confirmedFields: { field: string; target: string }[];\n requiredBooleanFields: string[];\n};\n\ntype ComponentProps = {\n name?: string;\n $rule?: string;\n rules?: PasswordRuleDefinition[];\n};\n\nconst processConfirmedRule = (\n props: ComponentProps,\n context: FormRuleContext,\n) => {\n if (!props.name || !props.$rule?.includes('confirmed')) return;\n\n const rulesList = props.$rule.split('|');\n const confirmedRule = rulesList.find((r) => r.startsWith('confirmed'));\n const target = confirmedRule?.includes(':')\n ? confirmedRule.split(':')[1]\n : `${props.name}_confirmation`;\n\n context.confirmedFields.push({ field: props.name, target });\n};\n\nconst processCheckbox = (props: ComponentProps, context: FormRuleContext) => {\n if (!props.name) return;\n\n if (props.$rule?.includes('required')) {\n context.rules[props.name] = z.boolean().optional().or(z.literal(false));\n context.requiredBooleanFields.push(props.name);\n } else {\n context.rules[props.name] = z.boolean().optional();\n }\n};\n\nconst processPassword = (props: ComponentProps, context: FormRuleContext) => {\n if (!props.name) return;\n\n let baseSchema: ZodTypeAny = z.string();\n const otherRules = props.$rule\n ? props.$rule\n .split('|')\n .filter((r) => r.trim() !== 'password')\n .join('|')\n : '';\n\n if (otherRules) {\n baseSchema = parseRules(otherRules);\n }\n\n const passwordRules =\n props.rules || (props.$rule?.includes('password') ? PASSWORD_RULES : []);\n\n if (passwordRules.length > 0) {\n baseSchema = passwordRule(baseSchema, passwordRules);\n }\n\n const isOptional =\n !props.$rule ||\n props.$rule.includes('optional') ||\n otherRules.includes('optional');\n\n context.rules[props.name] = isOptional ? baseSchema.optional() : baseSchema;\n};\n\nconst processDefault = (props: ComponentProps, context: FormRuleContext) => {\n if (!props.name) return;\n context.rules[props.name] = props.$rule\n ? parseRules(props.$rule)\n : z.string().optional();\n};\n\nconst processDropdown = (props: ComponentProps, context: FormRuleContext) => {\n if (!props.name) return;\n context.rules[props.name] = z.any().optional();\n};\n\nconst requiredMessage = JSON.stringify({\n key: 'required',\n fallback: 'El campo {attribute} es obligatorio.',\n bindings: {},\n});\n\nconst processFileInput = (\n props: ComponentProps,\n context: FormRuleContext,\n multiple: boolean,\n) => {\n if (!props.name) return;\n\n if (props.$rule?.includes('required')) {\n context.rules[props.name] = multiple\n ? z.any().refine((val) => Array.isArray(val) && val.length > 0, {\n message: requiredMessage,\n })\n : z\n .any()\n .refine((val) => val instanceof File, { message: requiredMessage });\n } else {\n context.rules[props.name] = z.any().optional();\n }\n};\n\nconst applyRefinements = (\n schema: z.ZodObject<FieldValues>,\n context: FormRuleContext,\n) => {\n if (\n context.confirmedFields.length === 0 &&\n context.requiredBooleanFields.length === 0\n ) {\n return schema;\n }\n\n return schema.superRefine((data, ctx) => {\n context.confirmedFields.forEach(({ field, target }) => {\n if (data[field] !== data[target]) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: JSON.stringify({\n key: 'confirmed',\n fallback: 'La confirmación no coincide.',\n bindings: {},\n }),\n path: [target],\n });\n }\n });\n\n context.requiredBooleanFields.forEach((field) => {\n if (data[field] !== true) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: JSON.stringify({\n key: 'required',\n fallback: 'El campo {attribute} es obligatorio.',\n bindings: {},\n }),\n path: [field],\n });\n }\n });\n });\n};\n\nexport const extractFormRules = (\n children: React.ReactNode,\n componentTypes: React.ComponentType[],\n): ZodTypeAny => {\n const context: FormRuleContext = {\n rules: {},\n confirmedFields: [],\n requiredBooleanFields: [],\n };\n\n const components = findFormComponents(children, componentTypes);\n\n components.forEach((component) => {\n const props = component.props as ComponentProps;\n const displayName = (component.type as { displayName?: string })\n .displayName;\n\n if (props.name) {\n processConfirmedRule(props, context);\n\n if (displayName === 'Form.Checkbox') {\n processCheckbox(props, context);\n } else if (displayName === 'Form.Password') {\n processPassword(props, context);\n } else if (\n displayName === 'Form.Select' ||\n displayName === 'Form.Combobox' ||\n displayName === 'Form.Autocomplete'\n ) {\n processDropdown(props, context);\n } else if (displayName === 'Form.FileInput') {\n processFileInput(props, context, false);\n } else if (\n displayName === 'Form.FileInputMultiple' ||\n displayName === 'Form.Dropzone' ||\n displayName === 'Form.DropzoneS3'\n ) {\n processFileInput(props, context, true);\n } else {\n processDefault(props, context);\n }\n }\n });\n\n return applyRefinements(z.object(context.rules).loose(), context);\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"extract-form-rules.mjs","names":["passwordRule"],"sources":["../../../../src/components/forms/rules/extract-form-rules.ts"],"sourcesContent":["import type React from 'react';\nimport type { FieldValues } from 'react-hook-form';\nimport { type ZodTypeAny, z } from 'zod';\n\nimport type { PasswordRuleDefinition } from '@/components/controls/password-input/usePasswordRules';\n\nimport { findFormComponents } from '../controls/find-form-components';\nimport passwordRule from './password';\nimport { PASSWORD_RULES } from './password-rules';\nimport { parseRules } from './zod';\n\ntype FormRuleContext = {\n rules: Record<string, ZodTypeAny>;\n confirmedFields: { field: string; target: string }[];\n requiredBooleanFields: string[];\n};\n\ntype ComponentProps = {\n name?: string;\n $rule?: string;\n rules?: PasswordRuleDefinition[];\n};\n\nconst processConfirmedRule = (\n props: ComponentProps,\n context: FormRuleContext,\n) => {\n if (!props.name || !props.$rule?.includes('confirmed')) return;\n\n const rulesList = props.$rule.split('|');\n const confirmedRule = rulesList.find((r) => r.startsWith('confirmed'));\n const target = confirmedRule?.includes(':')\n ? confirmedRule.split(':')[1]\n : `${props.name}_confirmation`;\n\n context.confirmedFields.push({ field: props.name, target });\n};\n\nconst processCheckbox = (props: ComponentProps, context: FormRuleContext) => {\n if (!props.name) return;\n\n if (props.$rule?.includes('required')) {\n context.rules[props.name] = z.boolean().optional().or(z.literal(false));\n context.requiredBooleanFields.push(props.name);\n } else {\n context.rules[props.name] = z.boolean().optional();\n }\n};\n\nconst processPassword = (props: ComponentProps, context: FormRuleContext) => {\n if (!props.name) return;\n\n let baseSchema: ZodTypeAny = z.string();\n const otherRules = props.$rule\n ? props.$rule\n .split('|')\n .filter((r) => r.trim() !== 'password')\n .join('|')\n : '';\n\n if (otherRules) {\n baseSchema = parseRules(otherRules);\n }\n\n const passwordRules =\n props.rules || (props.$rule?.includes('password') ? PASSWORD_RULES : []);\n\n if (passwordRules.length > 0) {\n baseSchema = passwordRule(baseSchema, passwordRules);\n }\n\n const isOptional =\n !props.$rule ||\n props.$rule.includes('optional') ||\n otherRules.includes('optional');\n\n context.rules[props.name] = isOptional ? baseSchema.optional() : baseSchema;\n};\n\nconst processDefault = (props: ComponentProps, context: FormRuleContext) => {\n if (!props.name) return;\n context.rules[props.name] = props.$rule\n ? parseRules(props.$rule)\n : z.string().optional();\n};\n\nconst processDropdown = (props: ComponentProps, context: FormRuleContext) => {\n if (!props.name) return;\n context.rules[props.name] = z.any().optional();\n};\n\nconst processDatePicker = (props: ComponentProps, context: FormRuleContext) => {\n if (!props.name) return;\n context.rules[props.name] = props.$rule\n ? parseRules(props.$rule)\n : z.string().nullable().optional();\n};\n\nconst requiredMessage = JSON.stringify({\n key: 'required',\n fallback: 'El campo {attribute} es obligatorio.',\n bindings: {},\n});\n\nconst processFileInput = (\n props: ComponentProps,\n context: FormRuleContext,\n multiple: boolean,\n) => {\n if (!props.name) return;\n\n if (props.$rule?.includes('required')) {\n context.rules[props.name] = multiple\n ? z.any().refine((val) => Array.isArray(val) && val.length > 0, {\n message: requiredMessage,\n })\n : z\n .any()\n .refine((val) => val instanceof File, { message: requiredMessage });\n } else {\n context.rules[props.name] = z.any().optional();\n }\n};\n\nconst applyRefinements = (\n schema: z.ZodObject<FieldValues>,\n context: FormRuleContext,\n) => {\n if (\n context.confirmedFields.length === 0 &&\n context.requiredBooleanFields.length === 0\n ) {\n return schema;\n }\n\n return schema.superRefine((data, ctx) => {\n context.confirmedFields.forEach(({ field, target }) => {\n if (data[field] !== data[target]) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: JSON.stringify({\n key: 'confirmed',\n fallback: 'La confirmación no coincide.',\n bindings: {},\n }),\n path: [target],\n });\n }\n });\n\n context.requiredBooleanFields.forEach((field) => {\n if (data[field] !== true) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: JSON.stringify({\n key: 'required',\n fallback: 'El campo {attribute} es obligatorio.',\n bindings: {},\n }),\n path: [field],\n });\n }\n });\n });\n};\n\nexport const extractFormRules = (\n children: React.ReactNode,\n componentTypes: React.ComponentType[],\n): ZodTypeAny => {\n const context: FormRuleContext = {\n rules: {},\n confirmedFields: [],\n requiredBooleanFields: [],\n };\n\n const components = findFormComponents(children, componentTypes);\n\n components.forEach((component) => {\n const props = component.props as ComponentProps;\n const displayName = (component.type as { displayName?: string })\n .displayName;\n\n if (props.name) {\n processConfirmedRule(props, context);\n\n if (displayName === 'Form.Checkbox') {\n processCheckbox(props, context);\n } else if (displayName === 'Form.Password') {\n processPassword(props, context);\n } else if (\n displayName === 'Form.Select' ||\n displayName === 'Form.Combobox' ||\n displayName === 'Form.Autocomplete'\n ) {\n processDropdown(props, context);\n } else if (\n displayName === 'Form.DatePicker' ||\n displayName === 'Form.DateTimePicker'\n ) {\n processDatePicker(props, context);\n } else if (displayName === 'Form.FileInput') {\n processFileInput(props, context, false);\n } else if (\n displayName === 'Form.FileInputMultiple' ||\n displayName === 'Form.Dropzone' ||\n displayName === 'Form.DropzoneS3'\n ) {\n processFileInput(props, context, true);\n } else {\n processDefault(props, context);\n }\n }\n });\n\n return applyRefinements(z.object(context.rules).loose(), context);\n};\n"],"mappings":"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"}
@@ -49,7 +49,8 @@ import { UploadedFiles, UploadedFilesClassNames, UploadedFilesItemClassNames, Up
49
49
  import { UploadingFiles, UploadingFilesClassNames, UploadingFilesItemClassNames, UploadingFilesItemErrorClassNames, UploadingFilesItemErrorProps, UploadingFilesItemProps, UploadingFilesProps } from "./data-display/uploading-files/UploadingFiles.mjs";
50
50
  import { AvatarUpload, AvatarUploadProps } from "./controls/avatar-upload/AvatarUpload.mjs";
51
51
  import { Checkbox, CheckboxProps } from "./controls/checkbox/Checkbox.mjs";
52
- import { DatePicker, DatePickerProps } from "./controls/date-picker/DatePicker.mjs";
52
+ import { DatePicker, DatePickerClassNames, DatePickerDate, DatePickerProps, DatePickerValue } from "./controls/date-picker/DatePicker.mjs";
53
+ import { DateTimePicker, DateTimePickerClassNames, DateTimePickerDate, DateTimePickerProps, DateTimePickerValue } from "./controls/date-time-picker/DateTimePicker.mjs";
53
54
  import { HorizontalDivider, HorizontalDividerProps } from "./misc/horizontal-divider/HorizontalDivider.mjs";
54
55
  import { ScrollAreaAutosize, ScrollAreaAutosizeProps } from "./misc/scroll-area-autosize/ScrollAreaAutosize.mjs";
55
56
  import { Virtual, VirtualItem, VirtualPadding, VirtualProps } from "./misc/virtual/Virtual.mjs";
package/dist/index.d.mts CHANGED
@@ -49,7 +49,8 @@ import { UploadedFiles, UploadedFilesClassNames, UploadedFilesItemClassNames, Up
49
49
  import { UploadingFiles, UploadingFilesClassNames, UploadingFilesItemClassNames, UploadingFilesItemErrorClassNames, UploadingFilesItemErrorProps, UploadingFilesItemProps, UploadingFilesProps } from "./components/data-display/uploading-files/UploadingFiles.mjs";
50
50
  import { AvatarUpload, AvatarUploadProps } from "./components/controls/avatar-upload/AvatarUpload.mjs";
51
51
  import { Checkbox, CheckboxProps } from "./components/controls/checkbox/Checkbox.mjs";
52
- import { DatePicker, DatePickerProps } from "./components/controls/date-picker/DatePicker.mjs";
52
+ import { DatePicker, DatePickerClassNames, DatePickerDate, DatePickerProps, DatePickerValue } from "./components/controls/date-picker/DatePicker.mjs";
53
+ import { DateTimePicker, DateTimePickerClassNames, DateTimePickerDate, DateTimePickerProps, DateTimePickerValue } from "./components/controls/date-time-picker/DateTimePicker.mjs";
53
54
  import { HorizontalDivider, HorizontalDividerProps } from "./components/misc/horizontal-divider/HorizontalDivider.mjs";
54
55
  import { ScrollAreaAutosize, ScrollAreaAutosizeProps } from "./components/misc/scroll-area-autosize/ScrollAreaAutosize.mjs";
55
56
  import { Virtual, VirtualItem, VirtualPadding, VirtualProps } from "./components/misc/virtual/Virtual.mjs";
@@ -93,4 +94,4 @@ import { Modals } from "./components/overlays/modal/index.mjs";
93
94
  import { Toast, ToastIntent, ToastOptions, ToastProviderProps } from "./components/overlays/toast/Toast.mjs";
94
95
  import { Tooltip, TooltipProps } from "./components/overlays/tooltip/Tooltip.mjs";
95
96
  import { MageUiProvider, MageUiProviderProps } from "./providers/MageUiProvider.mjs";
96
- export { Autocomplete, AutocompleteProps, Avatar, AvatarDropzone, AvatarDropzoneProps, AvatarDropzoneS3, AvatarDropzoneS3Props, AvatarProps, AvatarUpload, AvatarUploadProps, Badge, BadgeProps, Breadcrumbs, BreadcrumbsBarProps, BreadcrumbsProps, Button, ButtonAction, ButtonActionProps, ButtonIcon, ButtonIconProps, ButtonIconVisual, ButtonIconVisualProps, ButtonLoader, ButtonProps, ButtonVisual, ButtonVisualProps, Calendar, CalendarEvent, CalendarProps, CalendarView, Card, CardBase, CardBody, CardClassNames, CardFooter, CardHeader, CardProps, CardRoot, Checkbox, CheckboxProps, ColumnDef, Combobox, ComboboxProps, DEFAULT_DATA_TABLE_LABELS, DataTable, DataTableBottomSlot, DataTableBottomSlotProps, DataTableClassNames, DataTableColumnMeta, DataTableContextProvider, DataTableContextValue, DataTableExpansionConfig, DataTableExtraColumnConfig, DataTableFeedback, DataTableFiltersConfig, DataTableLabels, DataTablePageSize, DataTablePageSizeProps, DataTablePagination, DataTablePaginationConfig, DataTablePaginationProps, DataTableProps, DataTableRecord, DataTableSearchConfig, DataTableSelectionConfig, DataTableSortingConfig, DataTableTableConfig, DataTableTopSlot, DataTableTopSlotProps, DateLocalizer, DatePicker, DatePickerProps, DescriptionList, DescriptionListClassNames, DescriptionListItemProps, DescriptionListProps, DocumentItem, DocumentItemProps, Dropzone, DropzoneProps, DropzoneS3, DropzoneS3Props, DropzoneS3Texts, ExpandedState, FileData, FileIcon, FileIconProps, FileInput, FileInputMultiple, FileInputMultipleProps, FileInputProps, FileMetadata, FluidGrid, FluidGridProps, Form, FormDropzoneS3Props, FormProps, FormS3Context, FormS3ContextValue, Grid, GridClassNames, HorizontalDivider, HorizontalDividerProps, Icon, IconProps, IconRaw, IconRawProps, IconSvg, IconSvgProps, IconWrapped, IconWrappedProps, Indicator, IndicatorProps, LoaderDot, LoaderDotProps, LoaderOval, LoaderOvalProps, LogoImage, LogoImageProps, LogoSvg, LogoSvgProps, MageUiProvider, MageUiProviderProps, Menu, MenuProps, Modal, ModalClassNames, ModalIntent, ModalProps, ModalRegistry, ModalRegistryEntry, ModalRootProps, Modals, NavigationMenu, NavigationMenuProps, NotificationBanner, NotificationBannerIntent, NotificationBannerProps, PASSWORD_RULES, Pagination, PaginationClassNames, PaginationRootProps, PaginationState, PasswordInput, PasswordInputProps, PasswordRule, PasswordRuleDefinition, PasswordSegment, PasswordStrengthInput, PasswordStrengthInputProps, Radio, RadioProps, RemovableItem, RemovableItemProps, ResourceItem, ResourceItemProps, RowSelectionState, S3FileMeta, S3InitBody, S3InitResponse, S3UploadCallback, ScrollArea, ScrollAreaAutosize, ScrollAreaAutosizeProps, ScrollAreaClassNames, ScrollAreaProps, Select, SelectProps, Sidebar, SidebarClassNames, SidebarProps, SortingState, Switch, SwitchGroup, SwitchGroupProps, SwitchProps, Table, TableBodyProps, TableCaptionProps, TableCellProps, TableClassNames, TableFootProps, TableHeadProps, TableHeaderCellProps, TableProps, TableRowProps, Tag, TagGroup, TagGroupProps, TagProps, TextInput, TextInputProps, Textarea, TextareaProps, Toast, ToastIntent, ToastOptions, ToastProviderProps, Tooltip, TooltipProps, UploadTarget, UploadedFile, UploadedFileDetails, UploadedFileDetailsProps, UploadedFileProps, UploadedFiles, UploadedFilesClassNames, UploadedFilesItemClassNames, UploadedFilesItemProps, UploadedFilesProps, UploadingFiles, UploadingFilesClassNames, UploadingFilesItemClassNames, UploadingFilesItemErrorClassNames, UploadingFilesItemErrorProps, UploadingFilesItemProps, UploadingFilesProps, Virtual, VirtualItem, VirtualPadding, VirtualProps, VisuallyHidden, VisuallyHiddenProps, getFileExtension, useDataTableContext, useFormS3Context, usePasswordRules, z };
97
+ export { Autocomplete, AutocompleteProps, Avatar, AvatarDropzone, AvatarDropzoneProps, AvatarDropzoneS3, AvatarDropzoneS3Props, AvatarProps, AvatarUpload, AvatarUploadProps, Badge, BadgeProps, Breadcrumbs, BreadcrumbsBarProps, BreadcrumbsProps, Button, ButtonAction, ButtonActionProps, ButtonIcon, ButtonIconProps, ButtonIconVisual, ButtonIconVisualProps, ButtonLoader, ButtonProps, ButtonVisual, ButtonVisualProps, Calendar, CalendarEvent, CalendarProps, CalendarView, Card, CardBase, CardBody, CardClassNames, CardFooter, CardHeader, CardProps, CardRoot, Checkbox, CheckboxProps, ColumnDef, Combobox, ComboboxProps, DEFAULT_DATA_TABLE_LABELS, DataTable, DataTableBottomSlot, DataTableBottomSlotProps, DataTableClassNames, DataTableColumnMeta, DataTableContextProvider, DataTableContextValue, DataTableExpansionConfig, DataTableExtraColumnConfig, DataTableFeedback, DataTableFiltersConfig, DataTableLabels, DataTablePageSize, DataTablePageSizeProps, DataTablePagination, DataTablePaginationConfig, DataTablePaginationProps, DataTableProps, DataTableRecord, DataTableSearchConfig, DataTableSelectionConfig, DataTableSortingConfig, DataTableTableConfig, DataTableTopSlot, DataTableTopSlotProps, DateLocalizer, DatePicker, DatePickerClassNames, DatePickerDate, DatePickerProps, DatePickerValue, DateTimePicker, DateTimePickerClassNames, DateTimePickerDate, DateTimePickerProps, DateTimePickerValue, DescriptionList, DescriptionListClassNames, DescriptionListItemProps, DescriptionListProps, DocumentItem, DocumentItemProps, Dropzone, DropzoneProps, DropzoneS3, DropzoneS3Props, DropzoneS3Texts, ExpandedState, FileData, FileIcon, FileIconProps, FileInput, FileInputMultiple, FileInputMultipleProps, FileInputProps, FileMetadata, FluidGrid, FluidGridProps, Form, FormDropzoneS3Props, FormProps, FormS3Context, FormS3ContextValue, Grid, GridClassNames, HorizontalDivider, HorizontalDividerProps, Icon, IconProps, IconRaw, IconRawProps, IconSvg, IconSvgProps, IconWrapped, IconWrappedProps, Indicator, IndicatorProps, LoaderDot, LoaderDotProps, LoaderOval, LoaderOvalProps, LogoImage, LogoImageProps, LogoSvg, LogoSvgProps, MageUiProvider, MageUiProviderProps, Menu, MenuProps, Modal, ModalClassNames, ModalIntent, ModalProps, ModalRegistry, ModalRegistryEntry, ModalRootProps, Modals, NavigationMenu, NavigationMenuProps, NotificationBanner, NotificationBannerIntent, NotificationBannerProps, PASSWORD_RULES, Pagination, PaginationClassNames, PaginationRootProps, PaginationState, PasswordInput, PasswordInputProps, PasswordRule, PasswordRuleDefinition, PasswordSegment, PasswordStrengthInput, PasswordStrengthInputProps, Radio, RadioProps, RemovableItem, RemovableItemProps, ResourceItem, ResourceItemProps, RowSelectionState, S3FileMeta, S3InitBody, S3InitResponse, S3UploadCallback, ScrollArea, ScrollAreaAutosize, ScrollAreaAutosizeProps, ScrollAreaClassNames, ScrollAreaProps, Select, SelectProps, Sidebar, SidebarClassNames, SidebarProps, SortingState, Switch, SwitchGroup, SwitchGroupProps, SwitchProps, Table, TableBodyProps, TableCaptionProps, TableCellProps, TableClassNames, TableFootProps, TableHeadProps, TableHeaderCellProps, TableProps, TableRowProps, Tag, TagGroup, TagGroupProps, TagProps, TextInput, TextInputProps, Textarea, TextareaProps, Toast, ToastIntent, ToastOptions, ToastProviderProps, Tooltip, TooltipProps, UploadTarget, UploadedFile, UploadedFileDetails, UploadedFileDetailsProps, UploadedFileProps, UploadedFiles, UploadedFilesClassNames, UploadedFilesItemClassNames, UploadedFilesItemProps, UploadedFilesProps, UploadingFiles, UploadingFilesClassNames, UploadingFilesItemClassNames, UploadingFilesItemErrorClassNames, UploadingFilesItemErrorProps, UploadingFilesItemProps, UploadingFilesProps, Virtual, VirtualItem, VirtualPadding, VirtualProps, VisuallyHidden, VisuallyHiddenProps, getFileExtension, useDataTableContext, useFormS3Context, usePasswordRules, z };
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- import{Button as e}from"./components/buttons/button/Button.mjs";import{VisuallyHidden as t}from"./components/misc/visually-hidden/VisuallyHidden.mjs";import{ButtonAction as n}from"./components/buttons/button-action/ButtonAction.mjs";import{ButtonLoader as r}from"./components/buttons/button-action/ButtonLoader.mjs";import{Avatar as i}from"./components/data-display/avatar/Avatar.mjs";import{Badge as a}from"./components/data-display/badge/Badge.mjs";import{Tooltip as o}from"./components/overlays/tooltip/Tooltip.mjs";import{Calendar as s}from"./components/data-display/calendar/Calendar.mjs";import{Virtual as c}from"./components/misc/virtual/Virtual.mjs";import{ScrollArea as l}from"./components/misc/scroll-area/ScrollArea.mjs";import{Table as u}from"./components/data-display/table/Table.mjs";import{IconRaw as d}from"./components/data-display/icons/icon-raw/IconRaw.mjs";import{Icon as f}from"./components/data-display/icons/icon/Icon.mjs";import{DEFAULT_DATA_TABLE_LABELS as p,DataTableContextProvider as m,useDataTableContext as h}from"./components/data-display/datatables/useDataTableContext.mjs";import{Checkbox as g}from"./components/controls/checkbox/Checkbox.mjs";import{DataTable as _}from"./components/data-display/datatables/DataTable.mjs";import{HorizontalDivider as v}from"./components/misc/horizontal-divider/HorizontalDivider.mjs";import{ScrollAreaAutosize as y}from"./components/misc/scroll-area-autosize/ScrollAreaAutosize.mjs";import{TextInput as b}from"./components/controls/text-input/TextInput.mjs";import{IconWrapped as x}from"./components/data-display/icons/icon-wrapped/IconWrapped.mjs";import{Select as S}from"./components/controls/dropdown/select/Select.mjs";import{DataTablePageSize as C}from"./components/data-display/datatables/DataTablePageSize.mjs";import{Pagination as w}from"./components/navigations/pagination/Pagination.mjs";import{DataTablePagination as T}from"./components/data-display/datatables/DataTablePagination.mjs";import{DataTableBottomSlot as E}from"./components/data-display/datatables/DataTableBottomSlot.mjs";import{DataTableFeedback as D}from"./components/data-display/datatables/DataTableFeedback.mjs";import{DataTableTopSlot as O}from"./components/data-display/datatables/DataTableTopSlot.mjs";import{DescriptionList as k}from"./components/data-display/description-list/DescriptionList.mjs";import{FileIcon as A}from"./components/data-display/file-icon/FileIcon.mjs";import{ResourceItem as j}from"./components/data-display/resource-item/ResourceItem.mjs";import{DocumentItem as M}from"./components/data-display/document-item/DocumentItem.mjs";import{IconSvg as N}from"./components/data-display/icons/icon-svg/IconSvg.mjs";import{Indicator as P}from"./components/data-display/indicator/Indicator.mjs";import{LoaderDot as F}from"./components/data-display/loader-dot/LoaderDot.mjs";import{LoaderOval as I}from"./components/data-display/loader-oval/LoaderOval.mjs";import{LogoImage as L}from"./components/data-display/logos/logo-image/LogoImage.mjs";import{LogoSvg as R}from"./components/data-display/logos/logo-svg/LogoSvg.mjs";import{NotificationBanner as z}from"./components/data-display/notification-banner/NotificationBanner.mjs";import{RemovableItem as B}from"./components/data-display/removable-item/RemovableItem.mjs";import{TagGroup as V}from"./components/data-display/tag-group/TagGroup.mjs";import{Tag as H}from"./components/data-display/tag/Tag.mjs";import{UploadedFile as U}from"./components/data-display/uploaded-file/UploadedFile.mjs";import{UploadedFileDetails as W}from"./components/data-display/uploaded-file/UploadedFileDetails.mjs";import{UploadedFiles as G}from"./components/data-display/uploaded-files/UploadedFiles.mjs";import{UploadingFiles as K}from"./components/data-display/uploading-files/UploadingFiles.mjs";import{ButtonIcon as q}from"./components/buttons/button-icon/ButtonIcon.mjs";import{ButtonIconVisual as J}from"./components/buttons/button-icon-visual/ButtonIconVisual.mjs";import{ButtonVisual as Y}from"./components/buttons/button-visual/ButtonVisual.mjs";import{Modal as X}from"./components/overlays/modal/Modal.mjs";import{Modals as Z}from"./components/overlays/modal/index.mjs";import{Toast as Q}from"./components/overlays/toast/Toast.mjs";import{AvatarUpload as $}from"./components/controls/avatar-upload/AvatarUpload.mjs";import{DatePicker as ee}from"./components/controls/date-picker/DatePicker.mjs";import{Autocomplete as te}from"./components/controls/dropdown/autocomplete/Autocomplete.mjs";import{Combobox as ne}from"./components/controls/dropdown/combobox/Combobox.mjs";import{AvatarDropzone as re}from"./components/controls/dropzone/avatar/AvatarDropzone.mjs";import{getFileExtension as ie}from"./components/controls/dropzone/use-s3-upload.mjs";import{AvatarDropzoneS3 as ae}from"./components/controls/dropzone/avatar/AvatarDropzoneS3.mjs";import{Dropzone as oe}from"./components/controls/dropzone/Dropzone.mjs";import{DropzoneS3 as se}from"./components/controls/dropzone/DropzoneS3.mjs";import{FileInput as ce}from"./components/controls/file-input/FileInput.mjs";import{FileInputMultiple as le}from"./components/controls/file-input/FileInputMultiple.mjs";import{PasswordInput as ue}from"./components/controls/password-input/PasswordInput.mjs";import{PasswordStrengthInput as de}from"./components/controls/password-input/PasswordStrengthInput.mjs";import{usePasswordRules as fe}from"./components/controls/password-input/usePasswordRules.mjs";import{Radio as pe}from"./components/controls/radio/Radio.mjs";import{SwitchGroup as me}from"./components/controls/switch-group/SwitchGroup.mjs";import{Switch as he}from"./components/controls/switch/Switch.mjs";import{Textarea as ge}from"./components/controls/textarea/Textarea.mjs";import{FormS3Context as _e,useFormS3Context as ve}from"./components/forms/FormS3Context.mjs";import{PASSWORD_RULES as ye}from"./components/forms/rules/password-rules.mjs";import{z as be}from"./components/forms/rules/zod.mjs";import{Form as xe}from"./components/forms/Form.mjs";import{Card as Se,CardBase as Ce,CardBody as we,CardFooter as Te,CardHeader as Ee,CardRoot as De}from"./components/layouts/card/Card.mjs";import{FluidGrid as Oe}from"./components/layouts/fluid-grid/FluidGrid.mjs";import{Grid as ke}from"./components/layouts/grid/Grid.mjs";import{Breadcrumbs as Ae}from"./components/navigations/breadcrumbs/Breadcrumbs.mjs";import{Menu as je}from"./components/navigations/menu/Menu.mjs";import{NavigationMenu as Me}from"./components/navigations/navigation-menu/NavigationMenu.mjs";import{Sidebar as Ne}from"./components/navigations/sidebars/sidebar/Sidebar.mjs";import{MageUiProvider as Pe}from"./providers/MageUiProvider.mjs";export{te as Autocomplete,i as Avatar,re as AvatarDropzone,ae as AvatarDropzoneS3,$ as AvatarUpload,a as Badge,Ae as Breadcrumbs,e as Button,n as ButtonAction,q as ButtonIcon,J as ButtonIconVisual,r as ButtonLoader,Y as ButtonVisual,s as Calendar,Se as Card,Ce as CardBase,we as CardBody,Te as CardFooter,Ee as CardHeader,De as CardRoot,g as Checkbox,ne as Combobox,p as DEFAULT_DATA_TABLE_LABELS,_ as DataTable,E as DataTableBottomSlot,m as DataTableContextProvider,D as DataTableFeedback,C as DataTablePageSize,T as DataTablePagination,O as DataTableTopSlot,ee as DatePicker,k as DescriptionList,M as DocumentItem,oe as Dropzone,se as DropzoneS3,A as FileIcon,ce as FileInput,le as FileInputMultiple,Oe as FluidGrid,xe as Form,_e as FormS3Context,ke as Grid,v as HorizontalDivider,f as Icon,d as IconRaw,N as IconSvg,x as IconWrapped,P as Indicator,F as LoaderDot,I as LoaderOval,L as LogoImage,R as LogoSvg,Pe as MageUiProvider,je as Menu,X as Modal,Z as Modals,Me as NavigationMenu,z as NotificationBanner,ye as PASSWORD_RULES,w as Pagination,ue as PasswordInput,de as PasswordStrengthInput,pe as Radio,B as RemovableItem,j as ResourceItem,l as ScrollArea,y as ScrollAreaAutosize,S as Select,Ne as Sidebar,he as Switch,me as SwitchGroup,u as Table,H as Tag,V as TagGroup,b as TextInput,ge as Textarea,Q as Toast,o as Tooltip,U as UploadedFile,W as UploadedFileDetails,G as UploadedFiles,K as UploadingFiles,c as Virtual,t as VisuallyHidden,ie as getFileExtension,h as useDataTableContext,ve as useFormS3Context,fe as usePasswordRules,be as z};
1
+ import{Button as e}from"./components/buttons/button/Button.mjs";import{VisuallyHidden as t}from"./components/misc/visually-hidden/VisuallyHidden.mjs";import{ButtonAction as n}from"./components/buttons/button-action/ButtonAction.mjs";import{ButtonLoader as r}from"./components/buttons/button-action/ButtonLoader.mjs";import{Avatar as i}from"./components/data-display/avatar/Avatar.mjs";import{Badge as a}from"./components/data-display/badge/Badge.mjs";import{Tooltip as o}from"./components/overlays/tooltip/Tooltip.mjs";import{Calendar as s}from"./components/data-display/calendar/Calendar.mjs";import{Virtual as c}from"./components/misc/virtual/Virtual.mjs";import{ScrollArea as l}from"./components/misc/scroll-area/ScrollArea.mjs";import{Table as u}from"./components/data-display/table/Table.mjs";import{IconRaw as d}from"./components/data-display/icons/icon-raw/IconRaw.mjs";import{Icon as f}from"./components/data-display/icons/icon/Icon.mjs";import{DEFAULT_DATA_TABLE_LABELS as p,DataTableContextProvider as m,useDataTableContext as h}from"./components/data-display/datatables/useDataTableContext.mjs";import{Checkbox as g}from"./components/controls/checkbox/Checkbox.mjs";import{DataTable as _}from"./components/data-display/datatables/DataTable.mjs";import{HorizontalDivider as v}from"./components/misc/horizontal-divider/HorizontalDivider.mjs";import{ScrollAreaAutosize as y}from"./components/misc/scroll-area-autosize/ScrollAreaAutosize.mjs";import{TextInput as b}from"./components/controls/text-input/TextInput.mjs";import{IconWrapped as x}from"./components/data-display/icons/icon-wrapped/IconWrapped.mjs";import{Select as S}from"./components/controls/dropdown/select/Select.mjs";import{DataTablePageSize as C}from"./components/data-display/datatables/DataTablePageSize.mjs";import{Pagination as w}from"./components/navigations/pagination/Pagination.mjs";import{DataTablePagination as T}from"./components/data-display/datatables/DataTablePagination.mjs";import{DataTableBottomSlot as E}from"./components/data-display/datatables/DataTableBottomSlot.mjs";import{DataTableFeedback as D}from"./components/data-display/datatables/DataTableFeedback.mjs";import{DataTableTopSlot as O}from"./components/data-display/datatables/DataTableTopSlot.mjs";import{DescriptionList as k}from"./components/data-display/description-list/DescriptionList.mjs";import{FileIcon as A}from"./components/data-display/file-icon/FileIcon.mjs";import{ResourceItem as j}from"./components/data-display/resource-item/ResourceItem.mjs";import{DocumentItem as M}from"./components/data-display/document-item/DocumentItem.mjs";import{IconSvg as N}from"./components/data-display/icons/icon-svg/IconSvg.mjs";import{Indicator as P}from"./components/data-display/indicator/Indicator.mjs";import{LoaderDot as F}from"./components/data-display/loader-dot/LoaderDot.mjs";import{LoaderOval as I}from"./components/data-display/loader-oval/LoaderOval.mjs";import{LogoImage as L}from"./components/data-display/logos/logo-image/LogoImage.mjs";import{LogoSvg as R}from"./components/data-display/logos/logo-svg/LogoSvg.mjs";import{NotificationBanner as z}from"./components/data-display/notification-banner/NotificationBanner.mjs";import{RemovableItem as B}from"./components/data-display/removable-item/RemovableItem.mjs";import{TagGroup as V}from"./components/data-display/tag-group/TagGroup.mjs";import{Tag as H}from"./components/data-display/tag/Tag.mjs";import{UploadedFile as U}from"./components/data-display/uploaded-file/UploadedFile.mjs";import{UploadedFileDetails as W}from"./components/data-display/uploaded-file/UploadedFileDetails.mjs";import{UploadedFiles as G}from"./components/data-display/uploaded-files/UploadedFiles.mjs";import{UploadingFiles as K}from"./components/data-display/uploading-files/UploadingFiles.mjs";import{ButtonIcon as q}from"./components/buttons/button-icon/ButtonIcon.mjs";import{ButtonIconVisual as J}from"./components/buttons/button-icon-visual/ButtonIconVisual.mjs";import{ButtonVisual as Y}from"./components/buttons/button-visual/ButtonVisual.mjs";import{Modal as X}from"./components/overlays/modal/Modal.mjs";import{Modals as Z}from"./components/overlays/modal/index.mjs";import{Toast as Q}from"./components/overlays/toast/Toast.mjs";import{AvatarUpload as $}from"./components/controls/avatar-upload/AvatarUpload.mjs";import{DatePicker as ee}from"./components/controls/date-picker/DatePicker.mjs";import{DateTimePicker as te}from"./components/controls/date-time-picker/DateTimePicker.mjs";import{Autocomplete as ne}from"./components/controls/dropdown/autocomplete/Autocomplete.mjs";import{Combobox as re}from"./components/controls/dropdown/combobox/Combobox.mjs";import{AvatarDropzone as ie}from"./components/controls/dropzone/avatar/AvatarDropzone.mjs";import{getFileExtension as ae}from"./components/controls/dropzone/use-s3-upload.mjs";import{AvatarDropzoneS3 as oe}from"./components/controls/dropzone/avatar/AvatarDropzoneS3.mjs";import{Dropzone as se}from"./components/controls/dropzone/Dropzone.mjs";import{DropzoneS3 as ce}from"./components/controls/dropzone/DropzoneS3.mjs";import{FileInput as le}from"./components/controls/file-input/FileInput.mjs";import{FileInputMultiple as ue}from"./components/controls/file-input/FileInputMultiple.mjs";import{PasswordInput as de}from"./components/controls/password-input/PasswordInput.mjs";import{PasswordStrengthInput as fe}from"./components/controls/password-input/PasswordStrengthInput.mjs";import{usePasswordRules as pe}from"./components/controls/password-input/usePasswordRules.mjs";import{Radio as me}from"./components/controls/radio/Radio.mjs";import{SwitchGroup as he}from"./components/controls/switch-group/SwitchGroup.mjs";import{Switch as ge}from"./components/controls/switch/Switch.mjs";import{Textarea as _e}from"./components/controls/textarea/Textarea.mjs";import{FormS3Context as ve,useFormS3Context as ye}from"./components/forms/FormS3Context.mjs";import{PASSWORD_RULES as be}from"./components/forms/rules/password-rules.mjs";import{z as xe}from"./components/forms/rules/zod.mjs";import{Form as Se}from"./components/forms/Form.mjs";import{Card as Ce,CardBase as we,CardBody as Te,CardFooter as Ee,CardHeader as De,CardRoot as Oe}from"./components/layouts/card/Card.mjs";import{FluidGrid as ke}from"./components/layouts/fluid-grid/FluidGrid.mjs";import{Grid as Ae}from"./components/layouts/grid/Grid.mjs";import{Breadcrumbs as je}from"./components/navigations/breadcrumbs/Breadcrumbs.mjs";import{Menu as Me}from"./components/navigations/menu/Menu.mjs";import{NavigationMenu as Ne}from"./components/navigations/navigation-menu/NavigationMenu.mjs";import{Sidebar as Pe}from"./components/navigations/sidebars/sidebar/Sidebar.mjs";import{MageUiProvider as Fe}from"./providers/MageUiProvider.mjs";export{ne as Autocomplete,i as Avatar,ie as AvatarDropzone,oe as AvatarDropzoneS3,$ as AvatarUpload,a as Badge,je as Breadcrumbs,e as Button,n as ButtonAction,q as ButtonIcon,J as ButtonIconVisual,r as ButtonLoader,Y as ButtonVisual,s as Calendar,Ce as Card,we as CardBase,Te as CardBody,Ee as CardFooter,De as CardHeader,Oe as CardRoot,g as Checkbox,re as Combobox,p as DEFAULT_DATA_TABLE_LABELS,_ as DataTable,E as DataTableBottomSlot,m as DataTableContextProvider,D as DataTableFeedback,C as DataTablePageSize,T as DataTablePagination,O as DataTableTopSlot,ee as DatePicker,te as DateTimePicker,k as DescriptionList,M as DocumentItem,se as Dropzone,ce as DropzoneS3,A as FileIcon,le as FileInput,ue as FileInputMultiple,ke as FluidGrid,Se as Form,ve as FormS3Context,Ae as Grid,v as HorizontalDivider,f as Icon,d as IconRaw,N as IconSvg,x as IconWrapped,P as Indicator,F as LoaderDot,I as LoaderOval,L as LogoImage,R as LogoSvg,Fe as MageUiProvider,Me as Menu,X as Modal,Z as Modals,Ne as NavigationMenu,z as NotificationBanner,be as PASSWORD_RULES,w as Pagination,de as PasswordInput,fe as PasswordStrengthInput,me as Radio,B as RemovableItem,j as ResourceItem,l as ScrollArea,y as ScrollAreaAutosize,S as Select,Pe as Sidebar,ge as Switch,he as SwitchGroup,u as Table,H as Tag,V as TagGroup,b as TextInput,_e as Textarea,Q as Toast,o as Tooltip,U as UploadedFile,W as UploadedFileDetails,G as UploadedFiles,K as UploadingFiles,c as Virtual,t as VisuallyHidden,ae as getFileExtension,h as useDataTableContext,ye as useFormS3Context,pe as usePasswordRules,xe as z};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mage-ui/components",
3
- "version": "1.0.137",
3
+ "version": "1.0.138",
4
4
  "private": false,
5
5
  "description": "",
6
6
  "keywords": [],
@@ -25,8 +25,8 @@
25
25
  "rimraf": "^6.1.3",
26
26
  "tsdown": "^0.21.4",
27
27
  "typescript": "^5.9.3",
28
- "@mage-ui/styled-system": "1.0.8",
29
- "@mage-ui/preset": "1.0.137"
28
+ "@mage-ui/preset": "1.0.138",
29
+ "@mage-ui/styled-system": "1.0.8"
30
30
  },
31
31
  "peerDependencies": {
32
32
  "@dnd-kit/core": "^6.3.1",