@driveflux/beam 2.0.12 → 2.0.14
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.
- package/dist/accordion/Accordion.js +7 -133
- package/dist/accordion/Accordion.stories.js +11 -31
- package/dist/alert/Alert.js +14 -110
- package/dist/alert/Alert.stories.js +15 -50
- package/dist/animations/LoadingAnimation.js +21 -34
- package/dist/badge/Badge.js +7 -96
- package/dist/badge/Badge.stories.js +7 -28
- package/dist/base-styles.css +25 -12
- package/dist/box/Box.js +3 -87
- package/dist/box/Box.stories.js +7 -8
- package/dist/breadcrumbs/Breadcrumbs.js +28 -288
- package/dist/breadcrumbs/Breadcrumbs.stories.js +27 -51
- package/dist/button/Button.js +12 -124
- package/dist/button/Button.stories.js +7 -35
- package/dist/card/Card.js +7 -109
- package/dist/card/Card.stories.js +7 -10
- package/dist/carousel/Carousel.js +58 -281
- package/dist/carousel/Carousel.stories.js +7 -39
- package/dist/carousel/CarouselButton.js +7 -68
- package/dist/center/Center.js +3 -63
- package/dist/center/Center.stories.js +7 -19
- package/dist/checkbox/Checkbox.js +4 -124
- package/dist/checkbox/Checkbox.stories.js +8 -10
- package/dist/chip/Chip.js +3 -104
- package/dist/chip/Chip.stories.js +7 -19
- package/dist/circular-progress/CircularProgress.js +11 -150
- package/dist/circular-progress/CircularProgress.stories.js +14 -54
- package/dist/command/command.d.ts +7 -7
- package/dist/command/command.js +13 -170
- package/dist/datepicker/DatePicker.js +27 -127
- package/dist/datepicker/DatePicker.stories.js +58 -163
- package/dist/datepicker/DatePickerDrawer.js +14 -110
- package/dist/datepicker/DatePickerPopover.js +35 -207
- package/dist/dialog/index.d.ts +3 -1
- package/dist/dialog/index.d.ts.map +1 -1
- package/dist/dialog/index.js +34 -144
- package/dist/dialog/index.js.map +1 -1
- package/dist/divider/Divider.js +3 -63
- package/dist/divider/Divider.stories.js +7 -13
- package/dist/drawer/index.js +12 -157
- package/dist/dropdown/Dropdown.js +26 -212
- package/dist/dropdown/Dropdown.stories.js +22 -109
- package/dist/field-wrapper/FieldWrapper.js +3 -139
- package/dist/field-wrapper/FieldWrapper.stories.js +28 -124
- package/dist/flex/Flex.js +3 -63
- package/dist/flex/Flex.stories.js +7 -19
- package/dist/grid/Grid.js +3 -63
- package/dist/grid/Grid.stories.js +7 -28
- package/dist/hooks/use-media-query.js +12 -61
- package/dist/hstack/HStack.js +3 -63
- package/dist/hstack/HStack.stories.js +7 -19
- package/dist/icons/FluxLogo.js +9 -213
- package/dist/icons/FluxLogoTable.js +5 -109
- package/dist/icons/Icon.js +7 -108
- package/dist/icons/Icon.stories.js +7 -12
- package/dist/icons/Icon24Hours.js +5 -83
- package/dist/icons/IconAcceleration.js +4 -72
- package/dist/icons/IconAccount.js +4 -72
- package/dist/icons/IconApplicant.js +5 -78
- package/dist/icons/IconArrow.js +6 -78
- package/dist/icons/IconArrowBack.js +4 -72
- package/dist/icons/IconArrowForward.js +4 -72
- package/dist/icons/IconArrowTopLeft.js +4 -70
- package/dist/icons/IconBluesharkProductGuide.js +5 -80
- package/dist/icons/IconBolt.js +4 -72
- package/dist/icons/IconBriefcase.js +4 -72
- package/dist/icons/IconBulb.js +4 -72
- package/dist/icons/IconCalendar.js +4 -72
- package/dist/icons/IconCalendarArrowBack.js +4 -72
- package/dist/icons/IconCalendarArrowForward.js +4 -72
- package/dist/icons/IconCalendarDoubleArrowBack.js +4 -72
- package/dist/icons/IconCalendarDoubleArrowForward.js +4 -72
- package/dist/icons/IconCancel.js +6 -85
- package/dist/icons/IconCancelMark.js +4 -72
- package/dist/icons/IconCarSUV.js +4 -72
- package/dist/icons/IconCarSedan.js +7 -147
- package/dist/icons/IconChain.js +5 -79
- package/dist/icons/IconCheckmark.js +4 -72
- package/dist/icons/IconChevronRight.js +4 -72
- package/dist/icons/IconCircle.js +11 -114
- package/dist/icons/IconCircleCheckmark.js +5 -77
- package/dist/icons/IconCircleError.js +4 -72
- package/dist/icons/IconCircleExclamation.js +6 -104
- package/dist/icons/IconCircleMark.js +5 -78
- package/dist/icons/IconCircleOutline.d.ts.map +1 -1
- package/dist/icons/IconCircleOutline.js +5 -140
- package/dist/icons/IconCircleOutline.js.map +1 -1
- package/dist/icons/IconClock.js +5 -80
- package/dist/icons/IconClose.js +4 -72
- package/dist/icons/IconCollapseAll.d.ts +8 -0
- package/dist/icons/IconCollapseAll.d.ts.map +1 -0
- package/dist/icons/IconCollapseAll.js +8 -0
- package/dist/icons/IconCollapseAll.js.map +1 -0
- package/dist/icons/IconConcierge.js +5 -79
- package/dist/icons/IconConciergeService.js +5 -87
- package/dist/icons/IconCreditCard.js +5 -78
- package/dist/icons/IconDash.js +4 -72
- package/dist/icons/IconDeliver.js +4 -72
- package/dist/icons/IconDelivery.js +5 -87
- package/dist/icons/IconDetails.js +4 -72
- package/dist/icons/IconDot.js +6 -87
- package/dist/icons/IconDownload.d.ts +8 -0
- package/dist/icons/IconDownload.d.ts.map +1 -0
- package/dist/icons/IconDownload.js +8 -0
- package/dist/icons/IconDownload.js.map +1 -0
- package/dist/icons/IconEVCharging.js +5 -79
- package/dist/icons/IconElectricCarFuel.js +5 -80
- package/dist/icons/IconEllipsis.js +5 -78
- package/dist/icons/IconEnvelope.js +4 -72
- package/dist/icons/IconExpandAll.d.ts +8 -0
- package/dist/icons/IconExpandAll.d.ts.map +1 -0
- package/dist/icons/IconExpandAll.js +8 -0
- package/dist/icons/IconExpandAll.js.map +1 -0
- package/dist/icons/IconEye.js +5 -79
- package/dist/icons/IconFacebook.js +6 -94
- package/dist/icons/IconFilter.js +5 -83
- package/dist/icons/IconFlagMalaysia.js +5 -141
- package/dist/icons/IconGiveKey.js +5 -79
- package/dist/icons/IconGlobe.js +4 -70
- package/dist/icons/IconGoogle.js +5 -87
- package/dist/icons/IconHome.js +5 -78
- package/dist/icons/IconHostAdvertise.js +4 -72
- package/dist/icons/IconHostCar.js +4 -75
- package/dist/icons/IconHostCash.js +5 -91
- package/dist/icons/IconHostHandle.js +4 -70
- package/dist/icons/IconHostLocation.js +4 -70
- package/dist/icons/IconHostPayment.js +5 -91
- package/dist/icons/IconHostService.js +5 -79
- package/dist/icons/IconHotDeals.js +4 -72
- package/dist/icons/IconInfo.js +5 -77
- package/dist/icons/IconInstagram.js +4 -72
- package/dist/icons/IconInsurance.js +5 -99
- package/dist/icons/IconInternet.js +4 -73
- package/dist/icons/IconInventory.js +5 -78
- package/dist/icons/IconLaurel.js +5 -101
- package/dist/icons/IconLinkedIn.js +4 -72
- package/dist/icons/IconLoading.js +4 -78
- package/dist/icons/IconLocation.js +5 -80
- package/dist/icons/IconLock.js +4 -73
- package/dist/icons/IconLogistics.js +4 -72
- package/dist/icons/IconMail.js +5 -94
- package/dist/icons/IconMember.js +5 -78
- package/dist/icons/IconMobilePen.js +5 -83
- package/dist/icons/IconMotorcycleMoped.js +5 -78
- package/dist/icons/IconNoCost.js +5 -92
- package/dist/icons/IconPDF.js +5 -80
- package/dist/icons/IconPencil.js +4 -70
- package/dist/icons/IconPhone.js +4 -70
- package/dist/icons/IconPlus.js +4 -72
- package/dist/icons/IconPricing.js +4 -72
- package/dist/icons/IconProtected.js +4 -71
- package/dist/icons/IconPsychology.js +4 -72
- package/dist/icons/IconQuestionTooltip.js +4 -73
- package/dist/icons/IconQuote.js +4 -72
- package/dist/icons/IconRate.js +4 -71
- package/dist/icons/IconRegister.js +5 -99
- package/dist/icons/IconReport.d.ts +9 -0
- package/dist/icons/IconReport.d.ts.map +1 -0
- package/dist/icons/IconReport.js +9 -0
- package/dist/icons/IconReport.js.map +1 -0
- package/dist/icons/IconReturn.js +4 -72
- package/dist/icons/IconSearch.js +4 -70
- package/dist/icons/IconSecure.js +4 -71
- package/dist/icons/IconSecurity.js +4 -73
- package/dist/icons/IconSedanOutline.js +5 -159
- package/dist/icons/IconSelectArrow.js +6 -78
- package/dist/icons/IconSort.js +5 -79
- package/dist/icons/IconSortListed.js +5 -95
- package/dist/icons/IconSortPriceAscending.js +5 -83
- package/dist/icons/IconSortPriceDescending.js +5 -83
- package/dist/icons/IconSortYear.js +5 -79
- package/dist/icons/IconSpan.js +4 -71
- package/dist/icons/IconSpeaker.js +4 -79
- package/dist/icons/IconSpecialCar.js +5 -95
- package/dist/icons/IconStar.js +7 -92
- package/dist/icons/IconStockPhoto.js +5 -95
- package/dist/icons/IconSubscription.js +6 -113
- package/dist/icons/IconSubscriptions.js +6 -113
- package/dist/icons/IconSwap.js +5 -79
- package/dist/icons/IconTax.js +4 -72
- package/dist/icons/IconThinArrow.js +6 -78
- package/dist/icons/IconThumbsdown.js +5 -78
- package/dist/icons/IconThumbsup.js +5 -78
- package/dist/icons/IconTool.js +4 -72
- package/dist/icons/IconTooltip.js +4 -73
- package/dist/icons/IconTrash.js +4 -72
- package/dist/icons/IconTriangleExclamation.js +4 -72
- package/dist/icons/IconTyersBrakes.js +5 -83
- package/dist/icons/IconTyre.js +5 -83
- package/dist/icons/IconVacancy.js +5 -78
- package/dist/icons/IconVolunteer.js +4 -72
- package/dist/icons/IconWhatsapp.js +4 -73
- package/dist/icons/IconXPlatform.js +4 -72
- package/dist/icons/IconZeroEffort.js +5 -77
- package/dist/icons/Logo.js +3 -99
- package/dist/input/Input.js +11 -125
- package/dist/input/Input.stories.js +18 -17
- package/dist/input-mask/InputMask.js +11 -149
- package/dist/input-mask/InputMask.stories.js +6 -5
- package/dist/input-mask/mask-trackers.js +5 -4
- package/dist/input-select/InputSelect.js +68 -357
- package/dist/input-select/InputSelect.stories.js +25 -98
- package/dist/popover/popover.js +4 -72
- package/dist/progress/Progress.js +2 -96
- package/dist/progress/Progress.stories.js +14 -13
- package/dist/radio/Radio.js +4 -163
- package/dist/scroll-area/scroll-area.js +5 -113
- package/dist/search-input-select/SearchInputSelect.js +69 -346
- package/dist/select/Select.js +29 -315
- package/dist/select/Select.stories.js +19 -55
- package/dist/skeleton/Skeleton.js +3 -62
- package/dist/skeleton/Skeleton.stories.js +7 -8
- package/dist/slider/Slider.js +5 -106
- package/dist/slider/Slider.stories.js +11 -12
- package/dist/stack/Stack.js +3 -63
- package/dist/stack/Stack.stories.js +7 -19
- package/dist/styles.css +183 -12
- package/dist/table/Table.js +10 -131
- package/dist/table/Table.stories.js +8 -84
- package/dist/tabs/Tabs.js +9 -128
- package/dist/tabs/Tabs.stories.js +13 -46
- package/dist/text/Text.js +6 -88
- package/dist/text/Text.stories.js +7 -44
- package/dist/toast/Toast.stories.js +14 -66
- package/dist/toast/ToastBox.js +24 -71
- package/dist/toast/index.js +1 -0
- package/dist/toast/sonner.d.ts.map +1 -1
- package/dist/toast/sonner.js +6 -73
- package/dist/toast/sonner.js.map +1 -1
- package/dist/toggle/Toggle.js +7 -116
- package/dist/toggle/Toggle.stories.js +8 -10
- package/dist/tooltip/Tooltip.js +12 -151
- package/dist/tooltip/Tooltip.stories.js +13 -71
- package/dist/vstack/VStack.js +3 -63
- package/dist/vstack/VStack.stories.js +7 -19
- package/package.json +1 -1
|
@@ -4,7 +4,7 @@ import { format } from 'date-fns';
|
|
|
4
4
|
import Calendar from 'react-calendar';
|
|
5
5
|
import Box from '../box/Box';
|
|
6
6
|
import Button from '../button/Button';
|
|
7
|
-
import { Drawer, DrawerClose, DrawerContent, DrawerHeader, DrawerTitle, DrawerTrigger } from '../drawer';
|
|
7
|
+
import { Drawer, DrawerClose, DrawerContent, DrawerHeader, DrawerTitle, DrawerTrigger, } from '../drawer';
|
|
8
8
|
import FieldWrapper from '../field-wrapper/FieldWrapper';
|
|
9
9
|
import IconCalendar from '../icons/IconCalendar';
|
|
10
10
|
import IconCalendarArrowBack from '../icons/IconCalendarArrowBack';
|
|
@@ -16,119 +16,23 @@ import Stack from '../stack/Stack';
|
|
|
16
16
|
import Text from '../text/Text';
|
|
17
17
|
import { cn } from '../utils';
|
|
18
18
|
import { formatInputBy } from './utils';
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
19
|
+
const DatePickerDrawer = ({ htmlFor = 'datepicker', locale = 'en', isRange, value: providedValue, minDate, maxDate, placeholder, calendarType, isDisabled, inputProps, drawerTitle, cancelButton, applyButton, tileDisabled, error,
|
|
20
|
+
// non-customized props
|
|
21
|
+
innerValue, setInnerValue, focused, setFocused, handleSelect, handleCancel, handleApply, }) => {
|
|
22
|
+
const handleOpenChange = (open) => {
|
|
23
23
|
setFocused(open);
|
|
24
24
|
if (!open) {
|
|
25
25
|
handleCancel();
|
|
26
26
|
}
|
|
27
27
|
};
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
onOpenChange: handleOpenChange,
|
|
37
|
-
children: [
|
|
38
|
-
/*#__PURE__*/ _jsx(DrawerTrigger, {
|
|
39
|
-
asChild: true,
|
|
40
|
-
disabled: isDisabled,
|
|
41
|
-
className: 'w-full',
|
|
42
|
-
children: /*#__PURE__*/ _jsxs(Box, {
|
|
43
|
-
className: cn('flex flex-row p-3 border border-primary2 cursor-pointer hover:border-primary4', isDisabled && 'bg-primary2', error && 'border-alert4 hover:border-alert4 focus-within:border-alert4'),
|
|
44
|
-
children: [
|
|
45
|
-
innerValue ? /*#__PURE__*/ _jsx(Text, {
|
|
46
|
-
className: "flex-1",
|
|
47
|
-
children: formatInputBy(innerValue, isRange)
|
|
48
|
-
}) : /*#__PURE__*/ _jsx(Text, {
|
|
49
|
-
className: 'flex-1 text-primary2',
|
|
50
|
-
children: placeholder || 'DD-MM-YYYY'
|
|
51
|
-
}),
|
|
52
|
-
/*#__PURE__*/ _jsx(IconCalendar, {
|
|
53
|
-
size: '16px'
|
|
54
|
-
})
|
|
55
|
-
]
|
|
56
|
-
})
|
|
57
|
-
}),
|
|
58
|
-
/*#__PURE__*/ _jsxs(DrawerContent, {
|
|
59
|
-
hideGrabber: true,
|
|
60
|
-
className: 'datepicker-content flex flex-col items-stretch rounded-none',
|
|
61
|
-
children: [
|
|
62
|
-
/*#__PURE__*/ _jsxs(DrawerHeader, {
|
|
63
|
-
className: 'flex items-center justify-between py-4 px-6',
|
|
64
|
-
children: [
|
|
65
|
-
/*#__PURE__*/ _jsx(DrawerTitle, {
|
|
66
|
-
children: /*#__PURE__*/ _jsx(Text, {
|
|
67
|
-
className: 'text-xl font-bold uppercase',
|
|
68
|
-
children: drawerTitle || (inputProps === null || inputProps === void 0 ? void 0 : inputProps.label) || 'date'
|
|
69
|
-
})
|
|
70
|
-
}),
|
|
71
|
-
/*#__PURE__*/ _jsx(DrawerClose, {
|
|
72
|
-
className: 'text-primary3',
|
|
73
|
-
children: /*#__PURE__*/ _jsx(IconClose, {
|
|
74
|
-
className: 'w-4 h-4 lg:w-6 lg:h-6'
|
|
75
|
-
})
|
|
76
|
-
})
|
|
77
|
-
]
|
|
78
|
-
}),
|
|
79
|
-
/*#__PURE__*/ _jsx(Calendar, {
|
|
80
|
-
value: innerValue,
|
|
81
|
-
onChange: handleSelect,
|
|
82
|
-
locale: locale || 'en',
|
|
83
|
-
selectRange: isRange,
|
|
84
|
-
minDate: minDate,
|
|
85
|
-
maxDate: maxDate,
|
|
86
|
-
calendarType: calendarType,
|
|
87
|
-
formatShortWeekday: function(_, date) {
|
|
88
|
-
return format(date, 'EEEEE');
|
|
89
|
-
},
|
|
90
|
-
className: 'p-6',
|
|
91
|
-
tileDisabled: tileDisabled,
|
|
92
|
-
tileClassName: 'flex item-center justify-center text-center',
|
|
93
|
-
prevLabel: /*#__PURE__*/ _jsx(IconCalendarArrowBack, {
|
|
94
|
-
size: 24
|
|
95
|
-
}),
|
|
96
|
-
nextLabel: /*#__PURE__*/ _jsx(IconCalendarArrowForward, {
|
|
97
|
-
size: 24
|
|
98
|
-
}),
|
|
99
|
-
prev2Label: /*#__PURE__*/ _jsx(IconCalendarDoubleArrowBack, {
|
|
100
|
-
size: 24
|
|
101
|
-
}),
|
|
102
|
-
next2Label: /*#__PURE__*/ _jsx(IconCalendarDoubleArrowForward, {
|
|
103
|
-
size: 24
|
|
104
|
-
})
|
|
105
|
-
}),
|
|
106
|
-
/*#__PURE__*/ _jsxs(Stack, {
|
|
107
|
-
className: 'flex flex-row gap-2 py-4 px-6 border-t border-primary1',
|
|
108
|
-
children: [
|
|
109
|
-
/*#__PURE__*/ _jsx(Button, {
|
|
110
|
-
type: 'button',
|
|
111
|
-
variant: 'outline',
|
|
112
|
-
className: 'w-full text-sm p-3 h-10 tracking-[0.5px]',
|
|
113
|
-
onClick: function() {
|
|
114
|
-
return handleOpenChange(false);
|
|
115
|
-
},
|
|
116
|
-
children: (cancelButton === null || cancelButton === void 0 ? void 0 : cancelButton.label) || 'cancel'
|
|
117
|
-
}),
|
|
118
|
-
/*#__PURE__*/ _jsx(Button, {
|
|
119
|
-
className: cn('w-full text-sm p-3 h-10 tracking-[0.5px]', isApplyDisabled && 'bg-primary1 hover:bg-primary1'),
|
|
120
|
-
onClick: isApplyDisabled ? undefined : handleApply,
|
|
121
|
-
children: (applyButton === null || applyButton === void 0 ? void 0 : applyButton.label) || 'done'
|
|
122
|
-
})
|
|
123
|
-
]
|
|
124
|
-
}),
|
|
125
|
-
/*#__PURE__*/ _jsx(Box, {
|
|
126
|
-
className: 'h-safe-bottom-edge'
|
|
127
|
-
})
|
|
128
|
-
]
|
|
129
|
-
})
|
|
130
|
-
]
|
|
131
|
-
})
|
|
132
|
-
});
|
|
28
|
+
const isApplyDisabled = !innerValue ||
|
|
29
|
+
(isRange &&
|
|
30
|
+
(!Array.isArray(innerValue) ||
|
|
31
|
+
innerValue.length !== 2 ||
|
|
32
|
+
!innerValue[0] ||
|
|
33
|
+
!innerValue[1]));
|
|
34
|
+
return (_jsx(FieldWrapper, { htmlFor: htmlFor, label: inputProps?.label, error: error, className: 'w-full', children: _jsxs(Drawer, { open: focused, onOpenChange: handleOpenChange, children: [_jsx(DrawerTrigger, { asChild: true, disabled: isDisabled, className: 'w-full', children: _jsxs(Box, { className: cn('flex flex-row p-3 border border-primary2 cursor-pointer hover:border-primary4', isDisabled && 'bg-primary2', error &&
|
|
35
|
+
'border-alert4 hover:border-alert4 focus-within:border-alert4'), children: [innerValue ? (_jsx(Text, { className: "flex-1", children: formatInputBy(innerValue, isRange) })) : (_jsx(Text, { className: 'flex-1 text-primary2', children: placeholder || 'DD-MM-YYYY' })), _jsx(IconCalendar, { size: '16px' })] }) }), _jsxs(DrawerContent, { hideGrabber: true, className: 'datepicker-content flex flex-col items-stretch rounded-none', children: [_jsxs(DrawerHeader, { className: 'flex items-center justify-between py-4 px-6', children: [_jsx(DrawerTitle, { children: _jsx(Text, { className: 'text-xl font-bold uppercase', children: drawerTitle || inputProps?.label || 'date' }) }), _jsx(DrawerClose, { className: 'text-primary3', children: _jsx(IconClose, { className: 'w-4 h-4 lg:w-6 lg:h-6' }) })] }), _jsx(Calendar, { value: innerValue, onChange: handleSelect, locale: locale || 'en', selectRange: isRange, minDate: minDate, maxDate: maxDate, calendarType: calendarType, formatShortWeekday: (_, date) => format(date, 'EEEEE'), className: 'p-6', tileDisabled: tileDisabled, tileClassName: 'flex item-center justify-center text-center', prevLabel: _jsx(IconCalendarArrowBack, { size: 24 }), nextLabel: _jsx(IconCalendarArrowForward, { size: 24 }), prev2Label: _jsx(IconCalendarDoubleArrowBack, { size: 24 }), next2Label: _jsx(IconCalendarDoubleArrowForward, { size: 24 }) }), _jsxs(Stack, { className: 'flex flex-row gap-2 py-4 px-6 border-t border-primary1', children: [_jsx(Button, { type: 'button', variant: 'outline', className: 'w-full text-sm p-3 h-10 tracking-[0.5px]', onClick: () => handleOpenChange(false), children: cancelButton?.label || 'cancel' }), _jsx(Button, { className: cn('w-full text-sm p-3 h-10 tracking-[0.5px]', isApplyDisabled && 'bg-primary1 hover:bg-primary1'), onClick: isApplyDisabled ? undefined : handleApply, children: applyButton?.label || 'done' })] }), _jsx(Box, { className: 'h-safe-bottom-edge' })] })] }) }));
|
|
133
36
|
};
|
|
134
37
|
export default DatePickerDrawer;
|
|
38
|
+
//# sourceMappingURL=DatePickerDrawer.js.map
|
|
@@ -1,102 +1,4 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
function _array_like_to_array(arr, len) {
|
|
3
|
-
if (len == null || len > arr.length) len = arr.length;
|
|
4
|
-
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
5
|
-
return arr2;
|
|
6
|
-
}
|
|
7
|
-
function _array_with_holes(arr) {
|
|
8
|
-
if (Array.isArray(arr)) return arr;
|
|
9
|
-
}
|
|
10
|
-
function _define_property(obj, key, value) {
|
|
11
|
-
if (key in obj) {
|
|
12
|
-
Object.defineProperty(obj, key, {
|
|
13
|
-
value: value,
|
|
14
|
-
enumerable: true,
|
|
15
|
-
configurable: true,
|
|
16
|
-
writable: true
|
|
17
|
-
});
|
|
18
|
-
} else {
|
|
19
|
-
obj[key] = value;
|
|
20
|
-
}
|
|
21
|
-
return obj;
|
|
22
|
-
}
|
|
23
|
-
function _iterable_to_array_limit(arr, i) {
|
|
24
|
-
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
25
|
-
if (_i == null) return;
|
|
26
|
-
var _arr = [];
|
|
27
|
-
var _n = true;
|
|
28
|
-
var _d = false;
|
|
29
|
-
var _s, _e;
|
|
30
|
-
try {
|
|
31
|
-
for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){
|
|
32
|
-
_arr.push(_s.value);
|
|
33
|
-
if (i && _arr.length === i) break;
|
|
34
|
-
}
|
|
35
|
-
} catch (err) {
|
|
36
|
-
_d = true;
|
|
37
|
-
_e = err;
|
|
38
|
-
} finally{
|
|
39
|
-
try {
|
|
40
|
-
if (!_n && _i["return"] != null) _i["return"]();
|
|
41
|
-
} finally{
|
|
42
|
-
if (_d) throw _e;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
return _arr;
|
|
46
|
-
}
|
|
47
|
-
function _non_iterable_rest() {
|
|
48
|
-
throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
49
|
-
}
|
|
50
|
-
function _object_spread(target) {
|
|
51
|
-
for(var i = 1; i < arguments.length; i++){
|
|
52
|
-
var source = arguments[i] != null ? arguments[i] : {};
|
|
53
|
-
var ownKeys = Object.keys(source);
|
|
54
|
-
if (typeof Object.getOwnPropertySymbols === "function") {
|
|
55
|
-
ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
|
|
56
|
-
return Object.getOwnPropertyDescriptor(source, sym).enumerable;
|
|
57
|
-
}));
|
|
58
|
-
}
|
|
59
|
-
ownKeys.forEach(function(key) {
|
|
60
|
-
_define_property(target, key, source[key]);
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
return target;
|
|
64
|
-
}
|
|
65
|
-
function ownKeys(object, enumerableOnly) {
|
|
66
|
-
var keys = Object.keys(object);
|
|
67
|
-
if (Object.getOwnPropertySymbols) {
|
|
68
|
-
var symbols = Object.getOwnPropertySymbols(object);
|
|
69
|
-
if (enumerableOnly) {
|
|
70
|
-
symbols = symbols.filter(function(sym) {
|
|
71
|
-
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
|
|
72
|
-
});
|
|
73
|
-
}
|
|
74
|
-
keys.push.apply(keys, symbols);
|
|
75
|
-
}
|
|
76
|
-
return keys;
|
|
77
|
-
}
|
|
78
|
-
function _object_spread_props(target, source) {
|
|
79
|
-
source = source != null ? source : {};
|
|
80
|
-
if (Object.getOwnPropertyDescriptors) {
|
|
81
|
-
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
|
|
82
|
-
} else {
|
|
83
|
-
ownKeys(Object(source)).forEach(function(key) {
|
|
84
|
-
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
85
|
-
});
|
|
86
|
-
}
|
|
87
|
-
return target;
|
|
88
|
-
}
|
|
89
|
-
function _sliced_to_array(arr, i) {
|
|
90
|
-
return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();
|
|
91
|
-
}
|
|
92
|
-
function _unsupported_iterable_to_array(o, minLen) {
|
|
93
|
-
if (!o) return;
|
|
94
|
-
if (typeof o === "string") return _array_like_to_array(o, minLen);
|
|
95
|
-
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
96
|
-
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
97
|
-
if (n === "Map" || n === "Set") return Array.from(n);
|
|
98
|
-
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
|
|
99
|
-
}
|
|
100
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
101
3
|
import { format } from 'date-fns';
|
|
102
4
|
import { useEffect, useRef } from 'react';
|
|
@@ -114,133 +16,59 @@ import Stack from '../stack/Stack';
|
|
|
114
16
|
import { cn } from '../utils';
|
|
115
17
|
import { DATERANGE_REGEX, DATE_REGEX } from './constants';
|
|
116
18
|
import { formatPlaceholderBy } from './utils';
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
setInputValue
|
|
19
|
+
const DatePickerPopover = ({ htmlFor = 'datepicker', locale = 'en', isRange, minDate, maxDate, placeholder, calendarType, isDisabled, onError, inputProps, cancelButton, applyButton, tileDisabled, value: providedValue,
|
|
20
|
+
// non-customized props
|
|
21
|
+
inputValue, innerValue, setInnerValue, setInputValue, focused, setFocused, handleSelect, handleCancel, handleApply, }) => {
|
|
22
|
+
const containerRef = useRef(null);
|
|
23
|
+
const handleChange = (e) => {
|
|
24
|
+
const value = e.target.value;
|
|
25
|
+
setInputValue?.(value);
|
|
124
26
|
if (isRange && DATERANGE_REGEX.test(value)) {
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
27
|
+
const [startDate, endDate] = value.split(' - ');
|
|
28
|
+
const [startDay, startMonth, startYear] = startDate.split('/');
|
|
29
|
+
const [endDay, endMonth, endYear] = endDate.split('/');
|
|
30
|
+
const formattedStartDate = new Date(`${startYear}-${startMonth}-${startDay}`);
|
|
31
|
+
const formattedEndDate = new Date(`${endYear}-${endMonth}-${endDay}`);
|
|
130
32
|
if (formattedStartDate >= formattedEndDate) {
|
|
131
|
-
onError
|
|
33
|
+
onError?.('start-gte-end');
|
|
132
34
|
return;
|
|
133
35
|
}
|
|
134
|
-
setInnerValue
|
|
135
|
-
formattedStartDate,
|
|
136
|
-
formattedEndDate
|
|
137
|
-
]);
|
|
36
|
+
setInnerValue?.([formattedStartDate, formattedEndDate]);
|
|
138
37
|
return;
|
|
139
38
|
}
|
|
140
39
|
if (!isRange && DATE_REGEX.test(value)) {
|
|
141
|
-
|
|
142
|
-
setInnerValue
|
|
40
|
+
const [day, month, year] = value.split('-');
|
|
41
|
+
setInnerValue?.(new Date(`${year}-${month}-${day}`));
|
|
143
42
|
return;
|
|
144
43
|
}
|
|
145
44
|
};
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
45
|
+
const isApplyDisabled = !innerValue ||
|
|
46
|
+
(isRange &&
|
|
47
|
+
(!Array.isArray(innerValue) ||
|
|
48
|
+
innerValue.length !== 2 ||
|
|
49
|
+
!innerValue[0] ||
|
|
50
|
+
!innerValue[1]));
|
|
51
|
+
useEffect(() => {
|
|
52
|
+
const handleClick = (e) => {
|
|
53
|
+
const targetElement = e.target;
|
|
54
|
+
const isCalendarClick = targetElement.closest('.react-calendar__tile');
|
|
55
|
+
const open = !!containerRef.current?.contains(targetElement) || !!isCalendarClick;
|
|
153
56
|
setFocused(open);
|
|
154
57
|
if (!open) {
|
|
155
58
|
handleCancel();
|
|
156
59
|
}
|
|
157
60
|
};
|
|
158
61
|
document.addEventListener('click', handleClick);
|
|
159
|
-
return
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
}, [
|
|
163
|
-
setFocused,
|
|
164
|
-
handleCancel
|
|
165
|
-
]);
|
|
166
|
-
var _ref;
|
|
167
|
-
return /*#__PURE__*/ _jsxs(Box, {
|
|
168
|
-
ref: containerRef,
|
|
169
|
-
className: 'relative',
|
|
170
|
-
children: [
|
|
171
|
-
/*#__PURE__*/ _jsx(InputMask, _object_spread_props(_object_spread({
|
|
172
|
-
htmlFor: htmlFor,
|
|
173
|
-
placeholder: placeholder || formatPlaceholderBy(isRange),
|
|
174
|
-
className: cn(isDisabled ? 'cursor-text' : 'cursor-pointer'),
|
|
175
|
-
value: inputValue,
|
|
176
|
-
isDisabled: isDisabled,
|
|
177
|
-
suffix: /*#__PURE__*/ _jsx(IconCalendar, {
|
|
178
|
-
size: '16px'
|
|
179
|
-
}),
|
|
180
|
-
onChange: handleChange,
|
|
181
|
-
onClick: function() {
|
|
62
|
+
return () => document.removeEventListener('click', handleClick);
|
|
63
|
+
}, [setFocused, handleCancel]);
|
|
64
|
+
return (_jsxs(Box, { ref: containerRef, className: 'relative', children: [_jsx(InputMask, { htmlFor: htmlFor, placeholder: placeholder || formatPlaceholderBy(isRange), className: cn(isDisabled ? 'cursor-text' : 'cursor-pointer'), value: inputValue, isDisabled: isDisabled, suffix: _jsx(IconCalendar, { size: '16px' }), onChange: handleChange, onClick: () => {
|
|
182
65
|
!isDisabled && setFocused(true);
|
|
183
|
-
}
|
|
184
|
-
}, inputProps), {
|
|
185
|
-
mask: formatPlaceholderBy(isRange),
|
|
186
|
-
maskReplacement: {
|
|
66
|
+
}, ...inputProps, mask: formatPlaceholderBy(isRange), maskReplacement: {
|
|
187
67
|
D: /\d/,
|
|
188
68
|
M: /\d/,
|
|
189
|
-
Y: /\d
|
|
190
|
-
},
|
|
191
|
-
|
|
192
|
-
return maskTrackDate(data, isRange);
|
|
193
|
-
}
|
|
194
|
-
})),
|
|
195
|
-
focused && /*#__PURE__*/ _jsxs(Box, {
|
|
196
|
-
className: 'absolute top-full left-0 mt-1 z-1 w-max max-w-sm border border-primary1 shadow-xl bg-white',
|
|
197
|
-
children: [
|
|
198
|
-
/*#__PURE__*/ _jsx(Calendar, {
|
|
199
|
-
value: (_ref = innerValue !== null && innerValue !== void 0 ? innerValue : minDate) !== null && _ref !== void 0 ? _ref : new Date(),
|
|
200
|
-
onChange: handleSelect,
|
|
201
|
-
locale: locale || 'en',
|
|
202
|
-
selectRange: isRange,
|
|
203
|
-
minDate: minDate,
|
|
204
|
-
maxDate: maxDate,
|
|
205
|
-
calendarType: calendarType,
|
|
206
|
-
formatShortWeekday: function(_, date) {
|
|
207
|
-
return format(date, 'EEEEE');
|
|
208
|
-
},
|
|
209
|
-
className: 'p-4',
|
|
210
|
-
tileDisabled: tileDisabled,
|
|
211
|
-
prevLabel: /*#__PURE__*/ _jsx(IconCalendarArrowBack, {
|
|
212
|
-
size: 24
|
|
213
|
-
}),
|
|
214
|
-
nextLabel: /*#__PURE__*/ _jsx(IconCalendarArrowForward, {
|
|
215
|
-
size: 24
|
|
216
|
-
}),
|
|
217
|
-
prev2Label: /*#__PURE__*/ _jsx(IconCalendarDoubleArrowBack, {
|
|
218
|
-
size: 24
|
|
219
|
-
}),
|
|
220
|
-
next2Label: /*#__PURE__*/ _jsx(IconCalendarDoubleArrowForward, {
|
|
221
|
-
size: 24
|
|
222
|
-
})
|
|
223
|
-
}),
|
|
224
|
-
/*#__PURE__*/ _jsxs(Stack, {
|
|
225
|
-
className: 'flex flex-row gap-2 p-4 border-t border-primary1',
|
|
226
|
-
children: [
|
|
227
|
-
/*#__PURE__*/ _jsx(Button, {
|
|
228
|
-
type: 'button',
|
|
229
|
-
variant: 'outline',
|
|
230
|
-
className: 'w-full text-sm p-3 h-10 tracking-[0.5px]',
|
|
231
|
-
onClick: handleCancel,
|
|
232
|
-
children: (cancelButton === null || cancelButton === void 0 ? void 0 : cancelButton.label) || 'cancel'
|
|
233
|
-
}),
|
|
234
|
-
/*#__PURE__*/ _jsx(Button, {
|
|
235
|
-
className: cn('w-full text-sm p-3 h-10 tracking-[0.5px]', isApplyDisabled && 'bg-primary1 hover:bg-primary1 cursor-not-allowed'),
|
|
236
|
-
onClick: isApplyDisabled ? undefined : handleApply,
|
|
237
|
-
children: (applyButton === null || applyButton === void 0 ? void 0 : applyButton.label) || 'done'
|
|
238
|
-
})
|
|
239
|
-
]
|
|
240
|
-
})
|
|
241
|
-
]
|
|
242
|
-
})
|
|
243
|
-
]
|
|
244
|
-
});
|
|
69
|
+
Y: /\d/,
|
|
70
|
+
}, maskTrack: (data) => maskTrackDate(data, isRange) }), focused && (_jsxs(Box, { className: 'absolute top-full left-0 mt-1 z-1 w-max max-w-sm border border-primary1 shadow-xl bg-white', children: [_jsx(Calendar, { value: innerValue ?? minDate ?? new Date(), onChange: handleSelect, locale: locale || 'en', selectRange: isRange, minDate: minDate, maxDate: maxDate, calendarType: calendarType, formatShortWeekday: (_, date) => format(date, 'EEEEE'), className: 'p-4', tileDisabled: tileDisabled, prevLabel: _jsx(IconCalendarArrowBack, { size: 24 }), nextLabel: _jsx(IconCalendarArrowForward, { size: 24 }), prev2Label: _jsx(IconCalendarDoubleArrowBack, { size: 24 }), next2Label: _jsx(IconCalendarDoubleArrowForward, { size: 24 }) }), _jsxs(Stack, { className: 'flex flex-row gap-2 p-4 border-t border-primary1', children: [_jsx(Button, { type: 'button', variant: 'outline', className: 'w-full text-sm p-3 h-10 tracking-[0.5px]', onClick: handleCancel, children: cancelButton?.label || 'cancel' }), _jsx(Button, { className: cn('w-full text-sm p-3 h-10 tracking-[0.5px]', isApplyDisabled &&
|
|
71
|
+
'bg-primary1 hover:bg-primary1 cursor-not-allowed'), onClick: isApplyDisabled ? undefined : handleApply, children: applyButton?.label || 'done' })] })] }))] }));
|
|
245
72
|
};
|
|
246
73
|
export default DatePickerPopover;
|
|
74
|
+
//# sourceMappingURL=DatePickerPopover.js.map
|
package/dist/dialog/index.d.ts
CHANGED
|
@@ -5,7 +5,9 @@ declare const DialogTrigger: React.ForwardRefExoticComponent<DialogPrimitive.Dia
|
|
|
5
5
|
declare const DialogPortal: React.FC<DialogPrimitive.DialogPortalProps>;
|
|
6
6
|
declare const DialogClose: React.ForwardRefExoticComponent<DialogPrimitive.DialogCloseProps & React.RefAttributes<HTMLButtonElement>>;
|
|
7
7
|
declare const DialogOverlay: React.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogOverlayProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
8
|
-
declare const DialogContent: React.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogContentProps & React.RefAttributes<HTMLDivElement>, "ref"> &
|
|
8
|
+
declare const DialogContent: React.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & {
|
|
9
|
+
showCloseButton?: boolean;
|
|
10
|
+
} & React.RefAttributes<HTMLDivElement>>;
|
|
9
11
|
declare const DialogHeader: {
|
|
10
12
|
({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
|
|
11
13
|
displayName: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/dialog/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAA;AACzD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/dialog/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAA;AACzD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAK9B,QAAA,MAAM,MAAM,uCAAuB,CAAA;AAEnC,QAAA,MAAM,aAAa,8GAA0B,CAAA;AAE7C,QAAA,MAAM,YAAY,6CAAyB,CAAA;AAE3C,QAAA,MAAM,WAAW,4GAAwB,CAAA;AAEzC,QAAA,MAAM,aAAa,8JAYjB,CAAA;AAGF,QAAA,MAAM,aAAa;sBAGC,OAAO;wCA+CzB,CAAA;AAGF,QAAA,MAAM,YAAY;8BAGf,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;;CAKtC,CAAA;AAGD,QAAA,MAAM,YAAY;8BAGf,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;;CAKtC,CAAA;AAGD,QAAA,MAAM,WAAW,oKAYf,CAAA;AAGF,QAAA,MAAM,iBAAiB,8KASrB,CAAA;AAGF,OAAO,EACN,MAAM,EACN,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,WAAW,EACX,aAAa,GACb,CAAA"}
|
package/dist/dialog/index.js
CHANGED
|
@@ -1,156 +1,46 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
function _define_property(obj, key, value) {
|
|
3
|
-
if (key in obj) {
|
|
4
|
-
Object.defineProperty(obj, key, {
|
|
5
|
-
value: value,
|
|
6
|
-
enumerable: true,
|
|
7
|
-
configurable: true,
|
|
8
|
-
writable: true
|
|
9
|
-
});
|
|
10
|
-
} else {
|
|
11
|
-
obj[key] = value;
|
|
12
|
-
}
|
|
13
|
-
return obj;
|
|
14
|
-
}
|
|
15
|
-
function _object_spread(target) {
|
|
16
|
-
for(var i = 1; i < arguments.length; i++){
|
|
17
|
-
var source = arguments[i] != null ? arguments[i] : {};
|
|
18
|
-
var ownKeys = Object.keys(source);
|
|
19
|
-
if (typeof Object.getOwnPropertySymbols === "function") {
|
|
20
|
-
ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
|
|
21
|
-
return Object.getOwnPropertyDescriptor(source, sym).enumerable;
|
|
22
|
-
}));
|
|
23
|
-
}
|
|
24
|
-
ownKeys.forEach(function(key) {
|
|
25
|
-
_define_property(target, key, source[key]);
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
return target;
|
|
29
|
-
}
|
|
30
|
-
function ownKeys(object, enumerableOnly) {
|
|
31
|
-
var keys = Object.keys(object);
|
|
32
|
-
if (Object.getOwnPropertySymbols) {
|
|
33
|
-
var symbols = Object.getOwnPropertySymbols(object);
|
|
34
|
-
if (enumerableOnly) {
|
|
35
|
-
symbols = symbols.filter(function(sym) {
|
|
36
|
-
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
keys.push.apply(keys, symbols);
|
|
40
|
-
}
|
|
41
|
-
return keys;
|
|
42
|
-
}
|
|
43
|
-
function _object_spread_props(target, source) {
|
|
44
|
-
source = source != null ? source : {};
|
|
45
|
-
if (Object.getOwnPropertyDescriptors) {
|
|
46
|
-
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
|
|
47
|
-
} else {
|
|
48
|
-
ownKeys(Object(source)).forEach(function(key) {
|
|
49
|
-
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
return target;
|
|
53
|
-
}
|
|
54
|
-
function _object_without_properties(source, excluded) {
|
|
55
|
-
if (source == null) return {};
|
|
56
|
-
var target = _object_without_properties_loose(source, excluded);
|
|
57
|
-
var key, i;
|
|
58
|
-
if (Object.getOwnPropertySymbols) {
|
|
59
|
-
var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
|
|
60
|
-
for(i = 0; i < sourceSymbolKeys.length; i++){
|
|
61
|
-
key = sourceSymbolKeys[i];
|
|
62
|
-
if (excluded.indexOf(key) >= 0) continue;
|
|
63
|
-
if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
|
|
64
|
-
target[key] = source[key];
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
return target;
|
|
68
|
-
}
|
|
69
|
-
function _object_without_properties_loose(source, excluded) {
|
|
70
|
-
if (source == null) return {};
|
|
71
|
-
var target = {};
|
|
72
|
-
var sourceKeys = Object.keys(source);
|
|
73
|
-
var key, i;
|
|
74
|
-
for(i = 0; i < sourceKeys.length; i++){
|
|
75
|
-
key = sourceKeys[i];
|
|
76
|
-
if (excluded.indexOf(key) >= 0) continue;
|
|
77
|
-
target[key] = source[key];
|
|
78
|
-
}
|
|
79
|
-
return target;
|
|
80
|
-
}
|
|
81
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
82
3
|
import * as DialogPrimitive from '@radix-ui/react-dialog';
|
|
83
4
|
import * as React from 'react';
|
|
84
5
|
import HStack from '../hstack/HStack';
|
|
6
|
+
import IconClose from '../icons/IconClose';
|
|
85
7
|
import { cn } from '../utils';
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
var className = _param.className, props = _object_without_properties(_param, [
|
|
92
|
-
"className"
|
|
93
|
-
]);
|
|
94
|
-
return /*#__PURE__*/ _jsx(DialogPrimitive.Overlay, _object_spread({
|
|
95
|
-
ref: ref,
|
|
96
|
-
className: cn('fixed inset-0 z-50 bg-black/45 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0', className)
|
|
97
|
-
}, props));
|
|
98
|
-
});
|
|
8
|
+
const Dialog = DialogPrimitive.Root;
|
|
9
|
+
const DialogTrigger = DialogPrimitive.Trigger;
|
|
10
|
+
const DialogPortal = DialogPrimitive.Portal;
|
|
11
|
+
const DialogClose = DialogPrimitive.Close;
|
|
12
|
+
const DialogOverlay = React.forwardRef(({ className, ...props }, ref) => (_jsx(DialogPrimitive.Overlay, { ref: ref, className: cn('fixed inset-0 z-50 bg-black/45 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0', className), ...props })));
|
|
99
13
|
DialogOverlay.displayName = DialogPrimitive.Overlay.displayName;
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
}
|
|
14
|
+
const DialogContent = React.forwardRef(({ className, children, showCloseButton, ...props }, ref) => (
|
|
15
|
+
// <DialogPortal>
|
|
16
|
+
// <DialogOverlay />
|
|
17
|
+
// <DialogPrimitive.Content
|
|
18
|
+
// ref={ref}
|
|
19
|
+
// className={cn(
|
|
20
|
+
// 'fixed left-[50%] top-[50%] z-50 w-full max-w-[628px] translate-x-[-50%] translate-y-[-50%]',
|
|
21
|
+
// 'border border-zinc-200 bg-white shadow-lg duration-200',
|
|
22
|
+
// 'data-[state=open]:animate-in data-[state=closed]:animate-out',
|
|
23
|
+
// 'data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0',
|
|
24
|
+
// 'data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95',
|
|
25
|
+
// 'data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%]',
|
|
26
|
+
// 'data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%]',
|
|
27
|
+
// 'dark:border-zinc-800 dark:bg-zinc-950',
|
|
28
|
+
// className,
|
|
29
|
+
// )}
|
|
30
|
+
// {...props}
|
|
31
|
+
// >
|
|
32
|
+
// {children}
|
|
33
|
+
// </DialogPrimitive.Content>
|
|
34
|
+
// </DialogPortal>
|
|
35
|
+
_jsxs(DialogPortal, { "data-slot": "dialog-portal", children: [_jsx(DialogOverlay, {}), _jsxs(DialogPrimitive.Content, { autoFocus: false, "data-slot": "dialog-content", className: cn('bg-white data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[628px] translate-x-[-50%] translate-y-[-50%] gap-4 border duration-200', className), ...props, children: [children, showCloseButton && (_jsxs(DialogPrimitive.Close, { "data-slot": "dialog-close", className: "ring-offset-black focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", children: [_jsx(IconClose, {}), _jsx("span", { className: "sr-only", children: "Close" })] }))] })] })));
|
|
117
36
|
DialogContent.displayName = DialogPrimitive.Content.displayName;
|
|
118
|
-
|
|
119
|
-
var className = _param.className, props = _object_without_properties(_param, [
|
|
120
|
-
"className"
|
|
121
|
-
]);
|
|
122
|
-
return /*#__PURE__*/ _jsx(HStack, _object_spread({
|
|
123
|
-
className: cn('justify-between p-6 border-b border-b-primary1', className)
|
|
124
|
-
}, props));
|
|
125
|
-
};
|
|
37
|
+
const DialogHeader = ({ className, ...props }) => (_jsx(HStack, { className: cn('justify-between p-6 border-b border-b-primary1', className), ...props }));
|
|
126
38
|
DialogHeader.displayName = 'DialogHeader';
|
|
127
|
-
|
|
128
|
-
var className = _param.className, props = _object_without_properties(_param, [
|
|
129
|
-
"className"
|
|
130
|
-
]);
|
|
131
|
-
return /*#__PURE__*/ _jsx(HStack, _object_spread({
|
|
132
|
-
className: cn('gap-6 p-6 border-t border-t-primary1', className)
|
|
133
|
-
}, props));
|
|
134
|
-
};
|
|
39
|
+
const DialogFooter = ({ className, ...props }) => (_jsx(HStack, { className: cn('gap-6 p-6 border-t border-t-primary1', className), ...props }));
|
|
135
40
|
DialogFooter.displayName = 'DialogFooter';
|
|
136
|
-
|
|
137
|
-
var className = _param.className, props = _object_without_properties(_param, [
|
|
138
|
-
"className"
|
|
139
|
-
]);
|
|
140
|
-
return /*#__PURE__*/ _jsx(DialogPrimitive.Title, _object_spread({
|
|
141
|
-
ref: ref,
|
|
142
|
-
className: cn('text-lg font-semibold leading-none tracking-tight', className)
|
|
143
|
-
}, props));
|
|
144
|
-
});
|
|
41
|
+
const DialogTitle = React.forwardRef(({ className, ...props }, ref) => (_jsx(DialogPrimitive.Title, { ref: ref, className: cn('text-lg font-semibold leading-none tracking-tight', className), ...props })));
|
|
145
42
|
DialogTitle.displayName = DialogPrimitive.Title.displayName;
|
|
146
|
-
|
|
147
|
-
var className = _param.className, props = _object_without_properties(_param, [
|
|
148
|
-
"className"
|
|
149
|
-
]);
|
|
150
|
-
return /*#__PURE__*/ _jsx(DialogPrimitive.Description, _object_spread({
|
|
151
|
-
ref: ref,
|
|
152
|
-
className: cn('text-sm text-zinc-500 dark:text-zinc-400', className)
|
|
153
|
-
}, props));
|
|
154
|
-
});
|
|
43
|
+
const DialogDescription = React.forwardRef(({ className, ...props }, ref) => (_jsx(DialogPrimitive.Description, { ref: ref, className: cn('text-sm text-zinc-500 dark:text-zinc-400', className), ...props })));
|
|
155
44
|
DialogDescription.displayName = DialogPrimitive.Description.displayName;
|
|
156
|
-
export { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger,
|
|
45
|
+
export { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, };
|
|
46
|
+
//# sourceMappingURL=index.js.map
|