@majoo-ui/react 1.54.21 → 1.55.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,6 @@
1
1
  export * from './InputDatePicker';
2
2
  export * from './DatePicker';
3
+ export * from './CustomDatePicker';
3
4
  export * from './AdvancedOption';
4
5
  export * from './state/reducer';
5
6
  export * from './timePicker';
package/index.esm.js CHANGED
@@ -17626,6 +17626,124 @@ function InputDatePicker({
17626
17626
  }, void 0);
17627
17627
  }
17628
17628
 
17629
+ function CustomDatePicker({
17630
+ children,
17631
+ type = SINGLE_PICKER,
17632
+ disabled,
17633
+ onChange,
17634
+ defaultValue: defaultDateValue,
17635
+ value: dateValue,
17636
+ defaultDate,
17637
+ date,
17638
+ advanceView,
17639
+ placement = 'bottom-start',
17640
+ showTimePicker,
17641
+ minDate,
17642
+ maxDate,
17643
+ allowReset,
17644
+ sideOffset = 8
17645
+ }) {
17646
+ const [value, setValue] = useState(date || dateValue);
17647
+ const [defaultValue, setDefaultValue] = useState(defaultDate || defaultDateValue);
17648
+ useEffect(() => {
17649
+ setValue(date || dateValue);
17650
+ }, [date, dateValue]);
17651
+ useEffect(() => {
17652
+ setDefaultValue(defaultDate || defaultDateValue);
17653
+ }, [defaultDate, defaultDateValue]);
17654
+ const [{
17655
+ selectedDate
17656
+ }, dispatch] = useReducer(pickerReducer, {
17657
+ selectedDate: defaultValue !== null && defaultValue !== void 0 ? defaultValue : value
17658
+ });
17659
+ const [openPicker, setOpenPicker] = useState(false);
17660
+ useEffect(() => {
17661
+ if (value) {
17662
+ dispatch({
17663
+ type: UPDATE_PICKER,
17664
+ payload: value
17665
+ });
17666
+ }
17667
+ }, [value]);
17668
+ const isMobile = useMediaQuery(`(max-width: ${type === SINGLE_PICKER ? '480px' : '767px'})`);
17669
+
17670
+ function handleOpenChange() {
17671
+ if (!disabled) {
17672
+ setOpenPicker(!openPicker);
17673
+ }
17674
+ }
17675
+
17676
+ const handleDatePickerChange = value => {
17677
+ dispatch({
17678
+ type: 'UPDATE',
17679
+ payload: value
17680
+ });
17681
+ onChange === null || onChange === void 0 ? void 0 : onChange(value);
17682
+ };
17683
+
17684
+ const renderDatePicker = () => {
17685
+ return jsx(DatePicker, {
17686
+ advanceView: type === ADVANCE_PICKER && (!advanceView ? jsx(AdvancedOption, {
17687
+ options: advancePickerOptions,
17688
+ disabled: disabled,
17689
+ optionHandler: value => {
17690
+ dispatch({
17691
+ type: 'UPDATE',
17692
+ payload: advancePickerDate(value, undefined)
17693
+ });
17694
+ if (onChange) onChange(advancePickerDate(value, undefined));
17695
+ setOpenPicker(false);
17696
+ }
17697
+ }, void 0) : {
17698
+ advanceView
17699
+ }),
17700
+ type: type,
17701
+ disabled: disabled,
17702
+ date: value ? value === null || value === void 0 ? void 0 : value[1] : selectedDate === null || selectedDate === void 0 ? void 0 : selectedDate[1],
17703
+ selected: selectedDate,
17704
+ isMultiDatePicker: type !== SINGLE_PICKER,
17705
+ onChange: handleDatePickerChange,
17706
+ onClose: () => setOpenPicker(false),
17707
+ showTimePicker: showTimePicker,
17708
+ minDate: minDate,
17709
+ maxDate: maxDate,
17710
+ allowReset: allowReset
17711
+ }, void 0);
17712
+ };
17713
+
17714
+ return !isMobile ? jsxs(Popover, Object.assign({
17715
+ open: openPicker,
17716
+ onOpenChange: setOpenPicker,
17717
+ placement: placement,
17718
+ sideOffset: sideOffset
17719
+ }, {
17720
+ children: [jsx(PopoverTrigger, Object.assign({
17721
+ disabled: disabled
17722
+ }, {
17723
+ children: children
17724
+ }), void 0), jsx(PopoverContent, {
17725
+ children: renderDatePicker()
17726
+ }, void 0)]
17727
+ }), void 0) : jsxs(Fragment, {
17728
+ children: [/*#__PURE__*/React.cloneElement(children, Object.assign(Object.assign({}, children.props), {
17729
+ onClick: handleOpenChange
17730
+ })), jsx(Drawer, Object.assign({
17731
+ open: openPicker,
17732
+ onOpenChange: handleOpenChange,
17733
+ side: "bottom"
17734
+ }, {
17735
+ children: jsx(DrawerContent, Object.assign({
17736
+ css: {
17737
+ position: 'fixed',
17738
+ left: 0
17739
+ }
17740
+ }, {
17741
+ children: renderDatePicker()
17742
+ }), void 0)
17743
+ }), void 0)]
17744
+ }, void 0);
17745
+ }
17746
+
17629
17747
  const removeUndefinedFields = obj => {
17630
17748
  let newObj = {};
17631
17749
  Object.keys(obj).forEach(key => {
@@ -34047,4 +34165,4 @@ const useToggle = initialValue => {
34047
34165
  return useReducer(toggleReducer, initialValue);
34048
34166
  };
34049
34167
 
34050
- export { ADVANCE_PICKER, Accordion, AccordionContent, AccordionItem, AccordionTrigger, AdvancedOption, AlertDialog, AlertDialogCancel, AlertDialogConfirm, AlertDialogContent, AlertDialogDescription, AlertDialogFunction, AlertDialogRoot, AlertDialogTitle, AlertDialogTrigger, Avatar, BOTTOM_LEFT_POSITION, BOTTOM_RIGHT_POSITION, Badge, Banner, BannerClose, BannerDescription, BannerLink, BannerTitle, Box, Breadcrumb, BreadcrumbItem, BreadcrumbLink, Button$4 as Button, ButtonDropdown, ButtonGroup$1 as ButtonGroup, ButtonGroupItem, ButtonPrimitive, Card, CardComponent, CardLineColor, CheckboxGroup, CheckboxTable, ColorPicker$1 as ColorPicker, Colors, ContentEditor, ContextMenu, ContextMenuItem, ContextMenuSeparator, ContextMenuTrigger, DATE_RANGE_PICKER, DEFAULT, DateColumn, DatePicker, DecimalColumn, Device as DevicePreview, Dialog, DialogClose, DialogContent, DialogDescription, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, Drawer, DrawerBody, DrawerClose, DrawerCloseButton, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuArrow, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuItem, DropdownMenuItemIndicator, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuTrigger, EditableTable, Flex$1 as Flex, FormGroup, FormHelper, FormLabel, Grid, GridItem, Heading, IconButton, IconContainer, Image, ImageDevicePreview, InputCheckbox, InputColorPicker, InputCombobox, InputCounter, InputCreatable, InputDatePicker, InputGroup, InputLeftAddon, InputLeftElement, InputMapPicker, InputNumber, InputOTP, InputPrefix, InputRadio, InputRadioGroup, InputResourceList, InputRightAddon, InputRightElement, InputSearchbox, InputSelect, InputSelectCheck, InputSelectTag, InputSuffix, InputSwitch, TagsInput as InputTags, InputText, InputTextArea, InputTimePicker, LAST_7_DAYS, LAST_MONTH, LAST_TWO_MONTHS, LAST_WEEK, LineChart, Link, LoadingBar, MONTHLY, MajooProvider, MapPicker, MobileTable, ModalDialog, ModalDialogContent, ModalDialogFooter, ModalDialogTitle, ModalDialogTrigger, NEXT_MONTH, NEXT_WEEK, NativeTimePicker, NotificationBadge, OptionWrapper$2 as OptionWrapper, PREV_MONTH, PREV_WEEK, PageContainer, PageDialog, PageDialogContent, PageDialogFooter, PageDialogTitle, PageDialogTrigger, Pagination, Paper, PaperComponent, Paragraph, Popover, PopoverClose, PopoverContent, PopoverTrigger, PriceColumn, Progress$1 as Progress, ProgressIndicator, RANGE_CONTROL, RANGE_MONTH, RANGE_PICKER, RANGE_WEEK, ResendOTP, RightSlot, rowExpanderColumn as RowExpanderColumn, rowMenuColumn as RowMenuColumn, rowSelectionColumn as RowSelectionColumn, SINGLE_PICKER, SelectBox, SelectContainer, SelectInputSearch, SelectItem, SelectOption, Separator$2 as Separator, Skeleton, Slider, StepWizard, StepWizardContext, StyledBox, StyledDropdown, StyledInput$1 as StyledInput, StyledSpan, StyledTitle$2 as StyledTitle, THIS_MONTH, THIS_WEEK, TODAY, TOP_LEFT_POSITION, TOP_RIGHT_POSITION, Table, TableBody$3 as TableBody, TableCell$3 as TableCell, TableColumn, TableContent$3 as TableContent, TableFoot$2 as TableFoot, TableFootCell$2 as TableFootCell, TableFootRow$2 as TableFootRow, TableHead$3 as TableHead, TableHeadCellContent, TableHeaderCellContainer, TableOfContent, TableOfContentPage, TableRow$3 as TableRow, Tabs$1 as Tabs, TabsContent$1 as TabsContent, TabsList$1 as TabsList, TabsTrigger$1 as TabsTrigger, Tag, TagStatus, Text$1 as Text, TextVariantsEnum, TimePicker, ToastContext, Tooltip$1 as Tooltip, UPDATE_PICKER, Upload, WEEKLY, YESTERDAY, addOnCellStyle, advancePickerDate, advancePickerOptions, defaultFetchDataParams, pickerReducer, useListOption, useToggle };
34168
+ export { ADVANCE_PICKER, Accordion, AccordionContent, AccordionItem, AccordionTrigger, AdvancedOption, AlertDialog, AlertDialogCancel, AlertDialogConfirm, AlertDialogContent, AlertDialogDescription, AlertDialogFunction, AlertDialogRoot, AlertDialogTitle, AlertDialogTrigger, Avatar, BOTTOM_LEFT_POSITION, BOTTOM_RIGHT_POSITION, Badge, Banner, BannerClose, BannerDescription, BannerLink, BannerTitle, Box, Breadcrumb, BreadcrumbItem, BreadcrumbLink, Button$4 as Button, ButtonDropdown, ButtonGroup$1 as ButtonGroup, ButtonGroupItem, ButtonPrimitive, Card, CardComponent, CardLineColor, CheckboxGroup, CheckboxTable, ColorPicker$1 as ColorPicker, Colors, ContentEditor, ContextMenu, ContextMenuItem, ContextMenuSeparator, ContextMenuTrigger, CustomDatePicker, DATE_RANGE_PICKER, DEFAULT, DateColumn, DatePicker, DecimalColumn, Device as DevicePreview, Dialog, DialogClose, DialogContent, DialogDescription, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, Drawer, DrawerBody, DrawerClose, DrawerCloseButton, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuArrow, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuItem, DropdownMenuItemIndicator, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuTrigger, EditableTable, Flex$1 as Flex, FormGroup, FormHelper, FormLabel, Grid, GridItem, Heading, IconButton, IconContainer, Image, ImageDevicePreview, InputCheckbox, InputColorPicker, InputCombobox, InputCounter, InputCreatable, InputDatePicker, InputGroup, InputLeftAddon, InputLeftElement, InputMapPicker, InputNumber, InputOTP, InputPrefix, InputRadio, InputRadioGroup, InputResourceList, InputRightAddon, InputRightElement, InputSearchbox, InputSelect, InputSelectCheck, InputSelectTag, InputSuffix, InputSwitch, TagsInput as InputTags, InputText, InputTextArea, InputTimePicker, LAST_7_DAYS, LAST_MONTH, LAST_TWO_MONTHS, LAST_WEEK, LineChart, Link, LoadingBar, MONTHLY, MajooProvider, MapPicker, MobileTable, ModalDialog, ModalDialogContent, ModalDialogFooter, ModalDialogTitle, ModalDialogTrigger, NEXT_MONTH, NEXT_WEEK, NativeTimePicker, NotificationBadge, OptionWrapper$2 as OptionWrapper, PREV_MONTH, PREV_WEEK, PageContainer, PageDialog, PageDialogContent, PageDialogFooter, PageDialogTitle, PageDialogTrigger, Pagination, Paper, PaperComponent, Paragraph, Popover, PopoverClose, PopoverContent, PopoverTrigger, PriceColumn, Progress$1 as Progress, ProgressIndicator, RANGE_CONTROL, RANGE_MONTH, RANGE_PICKER, RANGE_WEEK, ResendOTP, RightSlot, rowExpanderColumn as RowExpanderColumn, rowMenuColumn as RowMenuColumn, rowSelectionColumn as RowSelectionColumn, SINGLE_PICKER, SelectBox, SelectContainer, SelectInputSearch, SelectItem, SelectOption, Separator$2 as Separator, Skeleton, Slider, StepWizard, StepWizardContext, StyledBox, StyledDropdown, StyledInput$1 as StyledInput, StyledSpan, StyledTitle$2 as StyledTitle, THIS_MONTH, THIS_WEEK, TODAY, TOP_LEFT_POSITION, TOP_RIGHT_POSITION, Table, TableBody$3 as TableBody, TableCell$3 as TableCell, TableColumn, TableContent$3 as TableContent, TableFoot$2 as TableFoot, TableFootCell$2 as TableFootCell, TableFootRow$2 as TableFootRow, TableHead$3 as TableHead, TableHeadCellContent, TableHeaderCellContainer, TableOfContent, TableOfContentPage, TableRow$3 as TableRow, Tabs$1 as Tabs, TabsContent$1 as TabsContent, TabsList$1 as TabsList, TabsTrigger$1 as TabsTrigger, Tag, TagStatus, Text$1 as Text, TextVariantsEnum, TimePicker, ToastContext, Tooltip$1 as Tooltip, UPDATE_PICKER, Upload, WEEKLY, YESTERDAY, addOnCellStyle, advancePickerDate, advancePickerOptions, defaultFetchDataParams, pickerReducer, useListOption, useToggle };
package/index.umd.js CHANGED
@@ -17915,6 +17915,140 @@
17915
17915
  }, void 0);
17916
17916
  }
17917
17917
 
17918
+ function CustomDatePicker(_a) {
17919
+ var children = _a.children,
17920
+ _b = _a.type,
17921
+ type = _b === void 0 ? SINGLE_PICKER : _b,
17922
+ disabled = _a.disabled,
17923
+ onChange = _a.onChange,
17924
+ defaultDateValue = _a.defaultValue,
17925
+ dateValue = _a.value,
17926
+ defaultDate = _a.defaultDate,
17927
+ date = _a.date,
17928
+ advanceView = _a.advanceView,
17929
+ _c = _a.placement,
17930
+ placement = _c === void 0 ? 'bottom-start' : _c,
17931
+ showTimePicker = _a.showTimePicker,
17932
+ minDate = _a.minDate,
17933
+ maxDate = _a.maxDate,
17934
+ allowReset = _a.allowReset,
17935
+ _d = _a.sideOffset,
17936
+ sideOffset = _d === void 0 ? 8 : _d;
17937
+
17938
+ var _e = React.useState(date || dateValue),
17939
+ value = _e[0],
17940
+ setValue = _e[1];
17941
+
17942
+ var _f = React.useState(defaultDate || defaultDateValue),
17943
+ defaultValue = _f[0],
17944
+ setDefaultValue = _f[1];
17945
+
17946
+ React.useEffect(function () {
17947
+ setValue(date || dateValue);
17948
+ }, [date, dateValue]);
17949
+ React.useEffect(function () {
17950
+ setDefaultValue(defaultDate || defaultDateValue);
17951
+ }, [defaultDate, defaultDateValue]);
17952
+
17953
+ var _g = React.useReducer(pickerReducer, {
17954
+ selectedDate: defaultValue !== null && defaultValue !== void 0 ? defaultValue : value
17955
+ }),
17956
+ selectedDate = _g[0].selectedDate,
17957
+ dispatch = _g[1];
17958
+
17959
+ var _h = React.useState(false),
17960
+ openPicker = _h[0],
17961
+ setOpenPicker = _h[1];
17962
+
17963
+ React.useEffect(function () {
17964
+ if (value) {
17965
+ dispatch({
17966
+ type: UPDATE_PICKER,
17967
+ payload: value
17968
+ });
17969
+ }
17970
+ }, [value]);
17971
+ var isMobile = useMediaQuery("(max-width: ".concat(type === SINGLE_PICKER ? '480px' : '767px', ")"));
17972
+
17973
+ function handleOpenChange() {
17974
+ if (!disabled) {
17975
+ setOpenPicker(!openPicker);
17976
+ }
17977
+ }
17978
+
17979
+ var handleDatePickerChange = function handleDatePickerChange(value) {
17980
+ dispatch({
17981
+ type: 'UPDATE',
17982
+ payload: value
17983
+ });
17984
+ onChange === null || onChange === void 0 ? void 0 : onChange(value);
17985
+ };
17986
+
17987
+ var renderDatePicker = function renderDatePicker() {
17988
+ return jsxRuntime.jsx(DatePicker, {
17989
+ advanceView: type === ADVANCE_PICKER && (!advanceView ? jsxRuntime.jsx(AdvancedOption, {
17990
+ options: advancePickerOptions,
17991
+ disabled: disabled,
17992
+ optionHandler: function (value) {
17993
+ dispatch({
17994
+ type: 'UPDATE',
17995
+ payload: advancePickerDate(value, undefined)
17996
+ });
17997
+ if (onChange) onChange(advancePickerDate(value, undefined));
17998
+ setOpenPicker(false);
17999
+ }
18000
+ }, void 0) : {
18001
+ advanceView: advanceView
18002
+ }),
18003
+ type: type,
18004
+ disabled: disabled,
18005
+ date: value ? value === null || value === void 0 ? void 0 : value[1] : selectedDate === null || selectedDate === void 0 ? void 0 : selectedDate[1],
18006
+ selected: selectedDate,
18007
+ isMultiDatePicker: type !== SINGLE_PICKER,
18008
+ onChange: handleDatePickerChange,
18009
+ onClose: function () {
18010
+ return setOpenPicker(false);
18011
+ },
18012
+ showTimePicker: showTimePicker,
18013
+ minDate: minDate,
18014
+ maxDate: maxDate,
18015
+ allowReset: allowReset
18016
+ }, void 0);
18017
+ };
18018
+
18019
+ return !isMobile ? jsxRuntime.jsxs(Popover, __assign({
18020
+ open: openPicker,
18021
+ onOpenChange: setOpenPicker,
18022
+ placement: placement,
18023
+ sideOffset: sideOffset
18024
+ }, {
18025
+ children: [jsxRuntime.jsx(PopoverTrigger, __assign({
18026
+ disabled: disabled
18027
+ }, {
18028
+ children: children
18029
+ }), void 0), jsxRuntime.jsx(PopoverContent, {
18030
+ children: renderDatePicker()
18031
+ }, void 0)]
18032
+ }), void 0) : jsxRuntime.jsxs(jsxRuntime.Fragment, {
18033
+ children: [/*#__PURE__*/React__namespace.cloneElement(children, __assign(__assign({}, children.props), {
18034
+ onClick: handleOpenChange
18035
+ })), jsxRuntime.jsx(Drawer, __assign({
18036
+ open: openPicker,
18037
+ onOpenChange: handleOpenChange,
18038
+ side: "bottom"
18039
+ }, {
18040
+ children: jsxRuntime.jsx(DrawerContent, __assign({
18041
+ css: {
18042
+ position: 'fixed',
18043
+ left: 0
18044
+ }
18045
+ }, {
18046
+ children: renderDatePicker()
18047
+ }), void 0)
18048
+ }), void 0)]
18049
+ }, void 0);
18050
+ }
18051
+
17918
18052
  const removeUndefinedFields = obj => {
17919
18053
  let newObj = {};
17920
18054
  Object.keys(obj).forEach(key => {
@@ -34644,6 +34778,7 @@
34644
34778
  exports.ContextMenuItem = ContextMenuItem;
34645
34779
  exports.ContextMenuSeparator = ContextMenuSeparator;
34646
34780
  exports.ContextMenuTrigger = ContextMenuTrigger;
34781
+ exports.CustomDatePicker = CustomDatePicker;
34647
34782
  exports.DATE_RANGE_PICKER = DATE_RANGE_PICKER;
34648
34783
  exports.DEFAULT = DEFAULT;
34649
34784
  exports.DateColumn = DateColumn;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@majoo-ui/react",
3
- "version": "1.54.21",
3
+ "version": "1.55.0",
4
4
  "dependencies": {
5
5
  "@majoo-ui/core": "^1.31.1",
6
6
  "@majoo-ui/helpers": "^1.30.5",