blimpui 0.0.1
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/$/components/primitives/accordion.d.ts +9 -0
- package/dist/$/components/primitives/accordion.d.ts.map +1 -0
- package/dist/$/components/primitives/accordion.js +64 -0
- package/dist/$/components/primitives/alert-dialog.d.ts +31 -0
- package/dist/$/components/primitives/alert-dialog.d.ts.map +1 -0
- package/dist/$/components/primitives/alert-dialog.js +74 -0
- package/dist/$/components/primitives/alert.d.ts +13 -0
- package/dist/$/components/primitives/alert.d.ts.map +1 -0
- package/dist/$/components/primitives/alert.js +42 -0
- package/dist/$/components/primitives/aspect-ratio.d.ts +2 -0
- package/dist/$/components/primitives/aspect-ratio.d.ts.map +1 -0
- package/dist/$/components/primitives/aspect-ratio.js +1 -0
- package/dist/$/components/primitives/avatar.d.ts +6 -0
- package/dist/$/components/primitives/avatar.d.ts.map +1 -0
- package/dist/$/components/primitives/avatar.js +38 -0
- package/dist/$/components/primitives/badge.d.ts +15 -0
- package/dist/$/components/primitives/badge.d.ts.map +1 -0
- package/dist/$/components/primitives/badge.js +64 -0
- package/dist/$/components/primitives/button.d.ts +37 -0
- package/dist/$/components/primitives/button.d.ts.map +1 -0
- package/dist/$/components/primitives/button.js +100 -0
- package/dist/$/components/primitives/calendar/calendar-header.d.ts +13 -0
- package/dist/$/components/primitives/calendar/calendar-header.d.ts.map +1 -0
- package/dist/$/components/primitives/calendar/calendar-header.js +15 -0
- package/dist/$/components/primitives/calendar/calendar-month-grid.d.ts +14 -0
- package/dist/$/components/primitives/calendar/calendar-month-grid.d.ts.map +1 -0
- package/dist/$/components/primitives/calendar/calendar-month-grid.js +29 -0
- package/dist/$/components/primitives/calendar/calendar-weekdays-row.d.ts +8 -0
- package/dist/$/components/primitives/calendar/calendar-weekdays-row.d.ts.map +1 -0
- package/dist/$/components/primitives/calendar/calendar-weekdays-row.js +36 -0
- package/dist/$/components/primitives/calendar/constants.d.ts +3 -0
- package/dist/$/components/primitives/calendar/constants.d.ts.map +1 -0
- package/dist/$/components/primitives/calendar/constants.js +15 -0
- package/dist/$/components/primitives/calendar/date-utils.d.ts +14 -0
- package/dist/$/components/primitives/calendar/date-utils.d.ts.map +1 -0
- package/dist/$/components/primitives/calendar/date-utils.js +77 -0
- package/dist/$/components/primitives/calendar/month-year-overlay.d.ts +14 -0
- package/dist/$/components/primitives/calendar/month-year-overlay.d.ts.map +1 -0
- package/dist/$/components/primitives/calendar/month-year-overlay.js +11 -0
- package/dist/$/components/primitives/calendar/types.d.ts +24 -0
- package/dist/$/components/primitives/calendar/types.d.ts.map +1 -0
- package/dist/$/components/primitives/calendar/types.js +1 -0
- package/dist/$/components/primitives/calendar/use-calendar-shell.d.ts +35 -0
- package/dist/$/components/primitives/calendar/use-calendar-shell.d.ts.map +1 -0
- package/dist/$/components/primitives/calendar/use-calendar-shell.js +95 -0
- package/dist/$/components/primitives/calendar/use-controllable-state.d.ts +8 -0
- package/dist/$/components/primitives/calendar/use-controllable-state.d.ts.map +1 -0
- package/dist/$/components/primitives/calendar/use-controllable-state.js +13 -0
- package/dist/$/components/primitives/calendar.d.ts +5 -0
- package/dist/$/components/primitives/calendar.d.ts.map +1 -0
- package/dist/$/components/primitives/calendar.js +48 -0
- package/dist/$/components/primitives/card.d.ts +10 -0
- package/dist/$/components/primitives/card.d.ts.map +1 -0
- package/dist/$/components/primitives/card.js +51 -0
- package/dist/$/components/primitives/checkbox.d.ts +8 -0
- package/dist/$/components/primitives/checkbox.d.ts.map +1 -0
- package/dist/$/components/primitives/checkbox.js +37 -0
- package/dist/$/components/primitives/collapsible.d.ts +2 -0
- package/dist/$/components/primitives/collapsible.d.ts.map +1 -0
- package/dist/$/components/primitives/collapsible.js +1 -0
- package/dist/$/components/primitives/context-menu.d.ts +61 -0
- package/dist/$/components/primitives/context-menu.d.ts.map +1 -0
- package/dist/$/components/primitives/context-menu.js +101 -0
- package/dist/$/components/primitives/dialog.d.ts +35 -0
- package/dist/$/components/primitives/dialog.d.ts.map +1 -0
- package/dist/$/components/primitives/dialog.js +68 -0
- package/dist/$/components/primitives/dropdown-menu.d.ts +61 -0
- package/dist/$/components/primitives/dropdown-menu.d.ts.map +1 -0
- package/dist/$/components/primitives/dropdown-menu.js +102 -0
- package/dist/$/components/primitives/hover-card.d.ts +18 -0
- package/dist/$/components/primitives/hover-card.d.ts.map +1 -0
- package/dist/$/components/primitives/hover-card.js +41 -0
- package/dist/$/components/primitives/icon.d.ts +27 -0
- package/dist/$/components/primitives/icon.d.ts.map +1 -0
- package/dist/$/components/primitives/icon.js +64 -0
- package/dist/$/components/primitives/input.d.ts +5 -0
- package/dist/$/components/primitives/input.d.ts.map +1 -0
- package/dist/$/components/primitives/input.js +38 -0
- package/dist/$/components/primitives/label.d.ts +4 -0
- package/dist/$/components/primitives/label.d.ts.map +1 -0
- package/dist/$/components/primitives/label.js +33 -0
- package/dist/$/components/primitives/list.d.ts +9 -0
- package/dist/$/components/primitives/list.d.ts.map +1 -0
- package/dist/$/components/primitives/list.js +155 -0
- package/dist/$/components/primitives/menubar.d.ts +57 -0
- package/dist/$/components/primitives/menubar.d.ts.map +1 -0
- package/dist/$/components/primitives/menubar.js +115 -0
- package/dist/$/components/primitives/multi-column-wheelpicker/index.d.ts +2 -0
- package/dist/$/components/primitives/multi-column-wheelpicker/index.d.ts.map +1 -0
- package/dist/$/components/primitives/multi-column-wheelpicker/index.js +1 -0
- package/dist/$/components/primitives/multi-column-wheelpicker/multi-column-wheelpicker.d.ts +35 -0
- package/dist/$/components/primitives/multi-column-wheelpicker/multi-column-wheelpicker.d.ts.map +1 -0
- package/dist/$/components/primitives/multi-column-wheelpicker/multi-column-wheelpicker.js +62 -0
- package/dist/$/components/primitives/native-only-animated-view.d.ts +13 -0
- package/dist/$/components/primitives/native-only-animated-view.d.ts.map +1 -0
- package/dist/$/components/primitives/native-only-animated-view.js +32 -0
- package/dist/$/components/primitives/popover.d.ts +18 -0
- package/dist/$/components/primitives/popover.d.ts.map +1 -0
- package/dist/$/components/primitives/popover.js +41 -0
- package/dist/$/components/primitives/pressable.d.ts +14 -0
- package/dist/$/components/primitives/pressable.d.ts.map +1 -0
- package/dist/$/components/primitives/pressable.js +39 -0
- package/dist/$/components/primitives/progress.d.ts +6 -0
- package/dist/$/components/primitives/progress.d.ts.map +1 -0
- package/dist/$/components/primitives/progress.js +60 -0
- package/dist/$/components/primitives/radio-group.d.ts +5 -0
- package/dist/$/components/primitives/radio-group.d.ts.map +1 -0
- package/dist/$/components/primitives/radio-group.js +37 -0
- package/dist/$/components/primitives/range-calendar/index.d.ts +2 -0
- package/dist/$/components/primitives/range-calendar/index.d.ts.map +1 -0
- package/dist/$/components/primitives/range-calendar/index.js +1 -0
- package/dist/$/components/primitives/range-calendar/range-calendar.d.ts +25 -0
- package/dist/$/components/primitives/range-calendar/range-calendar.d.ts.map +1 -0
- package/dist/$/components/primitives/range-calendar/range-calendar.js +170 -0
- package/dist/$/components/primitives/select.d.ts +59 -0
- package/dist/$/components/primitives/select.d.ts.map +1 -0
- package/dist/$/components/primitives/select.js +119 -0
- package/dist/$/components/primitives/separator.d.ts +4 -0
- package/dist/$/components/primitives/separator.d.ts.map +1 -0
- package/dist/$/components/primitives/separator.js +30 -0
- package/dist/$/components/primitives/skeleton.d.ts +5 -0
- package/dist/$/components/primitives/skeleton.d.ts.map +1 -0
- package/dist/$/components/primitives/skeleton.js +39 -0
- package/dist/$/components/primitives/switch.d.ts +4 -0
- package/dist/$/components/primitives/switch.d.ts.map +1 -0
- package/dist/$/components/primitives/switch.js +37 -0
- package/dist/$/components/primitives/tabs.d.ts +7 -0
- package/dist/$/components/primitives/tabs.d.ts.map +1 -0
- package/dist/$/components/primitives/tabs.js +48 -0
- package/dist/$/components/primitives/text.d.ts +13 -0
- package/dist/$/components/primitives/text.d.ts.map +1 -0
- package/dist/$/components/primitives/text.js +73 -0
- package/dist/$/components/primitives/textarea.d.ts +5 -0
- package/dist/$/components/primitives/textarea.d.ts.map +1 -0
- package/dist/$/components/primitives/textarea.js +33 -0
- package/dist/$/components/primitives/toast/index.d.ts +2 -0
- package/dist/$/components/primitives/toast/index.d.ts.map +1 -0
- package/dist/$/components/primitives/toast/index.js +1 -0
- package/dist/$/components/primitives/toast/index.web.d.ts +2 -0
- package/dist/$/components/primitives/toast/index.web.d.ts.map +1 -0
- package/dist/$/components/primitives/toast/index.web.js +1 -0
- package/dist/$/components/primitives/toggle-group.d.ts +13 -0
- package/dist/$/components/primitives/toggle-group.d.ts.map +1 -0
- package/dist/$/components/primitives/toggle-group.js +65 -0
- package/dist/$/components/primitives/toggle.d.ts +12 -0
- package/dist/$/components/primitives/toggle.d.ts.map +1 -0
- package/dist/$/components/primitives/toggle.js +63 -0
- package/dist/$/components/primitives/tooltip.d.ts +21 -0
- package/dist/$/components/primitives/tooltip.d.ts.map +1 -0
- package/dist/$/components/primitives/tooltip.js +47 -0
- package/dist/$/components/primitives/view.d.ts +15 -0
- package/dist/$/components/primitives/view.d.ts.map +1 -0
- package/dist/$/components/primitives/view.js +37 -0
- package/dist/$/components/primitives/wheelpicker/index.d.ts +4 -0
- package/dist/$/components/primitives/wheelpicker/index.d.ts.map +1 -0
- package/dist/$/components/primitives/wheelpicker/index.js +3 -0
- package/dist/$/components/primitives/wheelpicker/types.d.ts +7 -0
- package/dist/$/components/primitives/wheelpicker/types.d.ts.map +1 -0
- package/dist/$/components/primitives/wheelpicker/types.js +1 -0
- package/dist/$/components/primitives/wheelpicker/use-wheel-picker-value.d.ts +16 -0
- package/dist/$/components/primitives/wheelpicker/use-wheel-picker-value.d.ts.map +1 -0
- package/dist/$/components/primitives/wheelpicker/use-wheel-picker-value.js +43 -0
- package/dist/$/components/primitives/wheelpicker/wheel-picker-item.d.ts +11 -0
- package/dist/$/components/primitives/wheelpicker/wheel-picker-item.d.ts.map +1 -0
- package/dist/$/components/primitives/wheelpicker/wheel-picker-item.js +8 -0
- package/dist/$/components/primitives/wheelpicker/wheel-picker-list.d.ts +18 -0
- package/dist/$/components/primitives/wheelpicker/wheel-picker-list.d.ts.map +1 -0
- package/dist/$/components/primitives/wheelpicker/wheel-picker-list.js +253 -0
- package/dist/$/components/primitives/wheelpicker/wheelpicker.d.ts +17 -0
- package/dist/$/components/primitives/wheelpicker/wheelpicker.d.ts.map +1 -0
- package/dist/$/components/primitives/wheelpicker/wheelpicker.js +15 -0
- package/dist/$/components/ui/accordion.d.ts +17 -0
- package/dist/$/components/ui/accordion.d.ts.map +1 -0
- package/dist/$/components/ui/accordion.js +39 -0
- package/dist/$/components/ui/alert-dialog.d.ts +22 -0
- package/dist/$/components/ui/alert-dialog.d.ts.map +1 -0
- package/dist/$/components/ui/alert-dialog.js +92 -0
- package/dist/$/components/ui/alert.d.ts +14 -0
- package/dist/$/components/ui/alert.d.ts.map +1 -0
- package/dist/$/components/ui/alert.js +31 -0
- package/dist/$/components/ui/aspect-ratio.d.ts +2 -0
- package/dist/$/components/ui/aspect-ratio.d.ts.map +1 -0
- package/dist/$/components/ui/aspect-ratio.js +1 -0
- package/dist/$/components/ui/avatar.d.ts +14 -0
- package/dist/$/components/ui/avatar.d.ts.map +1 -0
- package/dist/$/components/ui/avatar.js +33 -0
- package/dist/$/components/ui/badge.d.ts +2 -0
- package/dist/$/components/ui/badge.d.ts.map +1 -0
- package/dist/$/components/ui/badge.js +1 -0
- package/dist/$/components/ui/button.d.ts +2 -0
- package/dist/$/components/ui/button.d.ts.map +1 -0
- package/dist/$/components/ui/button.js +1 -0
- package/dist/$/components/ui/calendar.d.ts +2 -0
- package/dist/$/components/ui/calendar.d.ts.map +1 -0
- package/dist/$/components/ui/calendar.js +1 -0
- package/dist/$/components/ui/card.d.ts +17 -0
- package/dist/$/components/ui/card.d.ts.map +1 -0
- package/dist/$/components/ui/card.js +33 -0
- package/dist/$/components/ui/checkbox.d.ts +2 -0
- package/dist/$/components/ui/checkbox.d.ts.map +1 -0
- package/dist/$/components/ui/checkbox.js +1 -0
- package/dist/$/components/ui/collapsible.d.ts +12 -0
- package/dist/$/components/ui/collapsible.d.ts.map +1 -0
- package/dist/$/components/ui/collapsible.js +33 -0
- package/dist/$/components/ui/context-menu.d.ts +59 -0
- package/dist/$/components/ui/context-menu.d.ts.map +1 -0
- package/dist/$/components/ui/context-menu.js +66 -0
- package/dist/$/components/ui/date-range-picker.d.ts +26 -0
- package/dist/$/components/ui/date-range-picker.d.ts.map +1 -0
- package/dist/$/components/ui/date-range-picker.js +89 -0
- package/dist/$/components/ui/datepicker.d.ts +26 -0
- package/dist/$/components/ui/datepicker.d.ts.map +1 -0
- package/dist/$/components/ui/datepicker.js +81 -0
- package/dist/$/components/ui/dialog.d.ts +18 -0
- package/dist/$/components/ui/dialog.d.ts.map +1 -0
- package/dist/$/components/ui/dialog.js +33 -0
- package/dist/$/components/ui/dropdown-menu.d.ts +59 -0
- package/dist/$/components/ui/dropdown-menu.d.ts.map +1 -0
- package/dist/$/components/ui/dropdown-menu.js +79 -0
- package/dist/$/components/ui/form-field/form-field-label.d.ts +15 -0
- package/dist/$/components/ui/form-field/form-field-label.d.ts.map +1 -0
- package/dist/$/components/ui/form-field/form-field-label.js +15 -0
- package/dist/$/components/ui/form-field/form-field-message.d.ts +11 -0
- package/dist/$/components/ui/form-field/form-field-message.d.ts.map +1 -0
- package/dist/$/components/ui/form-field/form-field-message.js +10 -0
- package/dist/$/components/ui/form-field/index.d.ts +48 -0
- package/dist/$/components/ui/form-field/index.d.ts.map +1 -0
- package/dist/$/components/ui/form-field/index.js +80 -0
- package/dist/$/components/ui/form-field/use-form-field-animation.d.ts +8 -0
- package/dist/$/components/ui/form-field/use-form-field-animation.d.ts.map +1 -0
- package/dist/$/components/ui/form-field/use-form-field-animation.js +23 -0
- package/dist/$/components/ui/form-field/use-form-field.d.ts +28 -0
- package/dist/$/components/ui/form-field/use-form-field.d.ts.map +1 -0
- package/dist/$/components/ui/form-field/use-form-field.js +55 -0
- package/dist/$/components/ui/hover-card.d.ts +12 -0
- package/dist/$/components/ui/hover-card.d.ts.map +1 -0
- package/dist/$/components/ui/hover-card.js +33 -0
- package/dist/$/components/ui/icon.d.ts +2 -0
- package/dist/$/components/ui/icon.d.ts.map +1 -0
- package/dist/$/components/ui/icon.js +1 -0
- package/dist/$/components/ui/input.d.ts +30 -0
- package/dist/$/components/ui/input.d.ts.map +1 -0
- package/dist/$/components/ui/input.js +60 -0
- package/dist/$/components/ui/label.d.ts +2 -0
- package/dist/$/components/ui/label.d.ts.map +1 -0
- package/dist/$/components/ui/label.js +1 -0
- package/dist/$/components/ui/list.d.ts +2 -0
- package/dist/$/components/ui/list.d.ts.map +1 -0
- package/dist/$/components/ui/list.js +1 -0
- package/dist/$/components/ui/menubar.d.ts +63 -0
- package/dist/$/components/ui/menubar.d.ts.map +1 -0
- package/dist/$/components/ui/menubar.js +66 -0
- package/dist/$/components/ui/multi-column-wheelpicker.d.ts +2 -0
- package/dist/$/components/ui/multi-column-wheelpicker.d.ts.map +1 -0
- package/dist/$/components/ui/multi-column-wheelpicker.js +1 -0
- package/dist/$/components/ui/native-only-animated-view.d.ts +2 -0
- package/dist/$/components/ui/native-only-animated-view.d.ts.map +1 -0
- package/dist/$/components/ui/native-only-animated-view.js +1 -0
- package/dist/$/components/ui/picker.d.ts +25 -0
- package/dist/$/components/ui/picker.d.ts.map +1 -0
- package/dist/$/components/ui/picker.js +80 -0
- package/dist/$/components/ui/popover.d.ts +34 -0
- package/dist/$/components/ui/popover.d.ts.map +1 -0
- package/dist/$/components/ui/popover.js +63 -0
- package/dist/$/components/ui/pressable.d.ts +2 -0
- package/dist/$/components/ui/pressable.d.ts.map +1 -0
- package/dist/$/components/ui/pressable.js +1 -0
- package/dist/$/components/ui/progress.d.ts +2 -0
- package/dist/$/components/ui/progress.d.ts.map +1 -0
- package/dist/$/components/ui/progress.js +1 -0
- package/dist/$/components/ui/radio-group.d.ts +15 -0
- package/dist/$/components/ui/radio-group.d.ts.map +1 -0
- package/dist/$/components/ui/radio-group.js +41 -0
- package/dist/$/components/ui/range-calendar.d.ts +2 -0
- package/dist/$/components/ui/range-calendar.d.ts.map +1 -0
- package/dist/$/components/ui/range-calendar.js +1 -0
- package/dist/$/components/ui/select.d.ts +75 -0
- package/dist/$/components/ui/select.d.ts.map +1 -0
- package/dist/$/components/ui/select.js +105 -0
- package/dist/$/components/ui/separator.d.ts +2 -0
- package/dist/$/components/ui/separator.d.ts.map +1 -0
- package/dist/$/components/ui/separator.js +1 -0
- package/dist/$/components/ui/skeleton.d.ts +2 -0
- package/dist/$/components/ui/skeleton.d.ts.map +1 -0
- package/dist/$/components/ui/skeleton.js +1 -0
- package/dist/$/components/ui/switch.d.ts +2 -0
- package/dist/$/components/ui/switch.d.ts.map +1 -0
- package/dist/$/components/ui/switch.js +1 -0
- package/dist/$/components/ui/tabs.d.ts +17 -0
- package/dist/$/components/ui/tabs.d.ts.map +1 -0
- package/dist/$/components/ui/tabs.js +48 -0
- package/dist/$/components/ui/text.d.ts +2 -0
- package/dist/$/components/ui/text.d.ts.map +1 -0
- package/dist/$/components/ui/text.js +1 -0
- package/dist/$/components/ui/textarea.d.ts +30 -0
- package/dist/$/components/ui/textarea.d.ts.map +1 -0
- package/dist/$/components/ui/textarea.js +61 -0
- package/dist/$/components/ui/timepicker.d.ts +26 -0
- package/dist/$/components/ui/timepicker.d.ts.map +1 -0
- package/dist/$/components/ui/timepicker.js +90 -0
- package/dist/$/components/ui/timewheelpicker.d.ts +22 -0
- package/dist/$/components/ui/timewheelpicker.d.ts.map +1 -0
- package/dist/$/components/ui/timewheelpicker.js +112 -0
- package/dist/$/components/ui/toggle-group.d.ts +14 -0
- package/dist/$/components/ui/toggle-group.d.ts.map +1 -0
- package/dist/$/components/ui/toggle-group.js +44 -0
- package/dist/$/components/ui/toggle.d.ts +2 -0
- package/dist/$/components/ui/toggle.d.ts.map +1 -0
- package/dist/$/components/ui/toggle.js +1 -0
- package/dist/$/components/ui/tooltip.d.ts +12 -0
- package/dist/$/components/ui/tooltip.d.ts.map +1 -0
- package/dist/$/components/ui/tooltip.js +33 -0
- package/dist/$/components/ui/view.d.ts +2 -0
- package/dist/$/components/ui/view.d.ts.map +1 -0
- package/dist/$/components/ui/view.js +1 -0
- package/dist/$/components/ui/wheelpicker.d.ts +2 -0
- package/dist/$/components/ui/wheelpicker.d.ts.map +1 -0
- package/dist/$/components/ui/wheelpicker.js +1 -0
- package/dist/$/lib/hooks/useExtractTextClasses.d.ts +2 -0
- package/dist/$/lib/hooks/useExtractTextClasses.d.ts.map +1 -0
- package/dist/$/lib/hooks/useExtractTextClasses.js +62 -0
- package/dist/$/lib/utils/renderNode.d.ts +3 -0
- package/dist/$/lib/utils/renderNode.d.ts.map +1 -0
- package/dist/$/lib/utils/renderNode.js +22 -0
- package/dist/$/lib/utils.d.ts +5 -0
- package/dist/$/lib/utils.d.ts.map +1 -0
- package/dist/$/lib/utils.js +32 -0
- package/dist/index.d.ts +44 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +43 -0
- package/package.json +69 -0
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
import { Pressable, View } from "react-native";
|
|
4
|
+
import { Text } from "../../../../$/components/primitives/text";
|
|
5
|
+
import { cn } from "../../../../$/lib/utils";
|
|
6
|
+
import { buildMonthGrid, isSameDay, isSameMonth } from "./date-utils";
|
|
7
|
+
function CalendarMonthGrid(_a) {
|
|
8
|
+
var displayMonth = _a.displayMonth, firstDayOfWeekIndex = _a.firstDayOfWeekIndex, selectedDate = _a.selectedDate, today = _a.today, disabled = _a.disabled, isDateUnavailable = _a.isDateUnavailable, pickerOpen = _a.pickerOpen, onSelectDay = _a.onSelectDay;
|
|
9
|
+
var grid = React.useMemo(function () { return buildMonthGrid(displayMonth, firstDayOfWeekIndex); }, [displayMonth, firstDayOfWeekIndex]);
|
|
10
|
+
return (_jsx(View, { className: "mt-2", children: grid.map(function (week, weekIndex) { return (_jsx(View, { className: "flex-row", children: week.map(function (day, dayIndex) {
|
|
11
|
+
var outside = !isSameMonth(day, displayMonth);
|
|
12
|
+
var dayDisabled = outside || Boolean(disabled === null || disabled === void 0 ? void 0 : disabled(day));
|
|
13
|
+
var unavailable = !outside && Boolean(isDateUnavailable === null || isDateUnavailable === void 0 ? void 0 : isDateUnavailable(day));
|
|
14
|
+
var selected = selectedDate
|
|
15
|
+
? isSameDay(day, selectedDate)
|
|
16
|
+
: false;
|
|
17
|
+
var isToday = isSameDay(day, today);
|
|
18
|
+
return (_jsx(View, { className: "flex-1 items-center justify-center py-1", children: _jsx(Pressable, { disabled: dayDisabled || pickerOpen, onPress: function () {
|
|
19
|
+
if (unavailable)
|
|
20
|
+
return;
|
|
21
|
+
onSelectDay(day);
|
|
22
|
+
}, accessibilityState: {
|
|
23
|
+
disabled: dayDisabled || unavailable,
|
|
24
|
+
}, className: cn("h-8 w-8 items-center justify-center rounded-full", selected && "bg-primary", !selected &&
|
|
25
|
+
isToday &&
|
|
26
|
+
"border-primary bg-primary/10 border", dayDisabled && "opacity-40"), children: _jsx(Text, { className: cn("text-base", selected && "text-primary-foreground", !selected && unavailable && "text-destructive", !selected && outside && "text-muted-foreground", !selected && !outside && "text-foreground"), selectable: false, children: day.getDate() }) }) }, "day-".concat(dayIndex)));
|
|
27
|
+
}) }, "week-".concat(weekIndex))); }) }));
|
|
28
|
+
}
|
|
29
|
+
export { CalendarMonthGrid };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
type CalendarWeekdaysRowProps = {
|
|
2
|
+
firstDayOfWeekIndex: number;
|
|
3
|
+
locale?: string;
|
|
4
|
+
};
|
|
5
|
+
declare function CalendarWeekdaysRow({ firstDayOfWeekIndex, locale, }: CalendarWeekdaysRowProps): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
export { CalendarWeekdaysRow };
|
|
7
|
+
export type { CalendarWeekdaysRowProps };
|
|
8
|
+
//# sourceMappingURL=calendar-weekdays-row.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calendar-weekdays-row.d.ts","sourceRoot":"","sources":["../../../../../$/components/primitives/calendar/calendar-weekdays-row.tsx"],"names":[],"mappings":"AAMA,KAAK,wBAAwB,GAAG;IAC/B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAuBF,iBAAS,mBAAmB,CAAC,EAC5B,mBAAmB,EACnB,MAAM,GACN,EAAE,wBAAwB,2CAsB1B;AAED,OAAO,EAAE,mBAAmB,EAAE,CAAC;AAC/B,YAAY,EAAE,wBAAwB,EAAE,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
2
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
3
|
+
if (ar || !(i in from)) {
|
|
4
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
5
|
+
ar[i] = from[i];
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
9
|
+
};
|
|
10
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
11
|
+
import * as React from "react";
|
|
12
|
+
import { View } from "react-native";
|
|
13
|
+
import { Text } from "../../../../$/components/primitives/text";
|
|
14
|
+
import { WEEKDAYS } from "./constants";
|
|
15
|
+
function getWeekdayLabels(firstDayOfWeekIndex, locale) {
|
|
16
|
+
var safeFirst = Math.max(0, Math.min(6, firstDayOfWeekIndex));
|
|
17
|
+
try {
|
|
18
|
+
var tag = locale !== null && locale !== void 0 ? locale : Intl.DateTimeFormat().resolvedOptions().locale;
|
|
19
|
+
var formatter_1 = new Intl.DateTimeFormat(tag, { weekday: "narrow" });
|
|
20
|
+
// 1970-01-04 is a Sunday. Build a Sunday-first week then rotate.
|
|
21
|
+
var base_1 = new Date(1970, 0, 4);
|
|
22
|
+
var sundayFirst = Array.from({ length: 7 }, function (_, i) {
|
|
23
|
+
return formatter_1.format(new Date(base_1.getFullYear(), base_1.getMonth(), base_1.getDate() + i));
|
|
24
|
+
});
|
|
25
|
+
return __spreadArray(__spreadArray([], sundayFirst.slice(safeFirst), true), sundayFirst.slice(0, safeFirst), true);
|
|
26
|
+
}
|
|
27
|
+
catch (_a) {
|
|
28
|
+
return __spreadArray(__spreadArray([], WEEKDAYS.slice(safeFirst), true), WEEKDAYS.slice(0, safeFirst), true);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
function CalendarWeekdaysRow(_a) {
|
|
32
|
+
var firstDayOfWeekIndex = _a.firstDayOfWeekIndex, locale = _a.locale;
|
|
33
|
+
var labels = React.useMemo(function () { return getWeekdayLabels(firstDayOfWeekIndex, locale); }, [firstDayOfWeekIndex, locale]);
|
|
34
|
+
return (_jsx(View, { className: "border-border border-t pt-2", children: _jsx(View, { className: "flex-row", children: labels.map(function (d, index) { return (_jsx(View, { className: "flex-1 items-center justify-center", children: _jsx(Text, { className: "text-muted-foreground text-sm font-medium", children: d }) }, "weekday-".concat(index))); }) }) }));
|
|
35
|
+
}
|
|
36
|
+
export { CalendarWeekdaysRow };
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export declare const WEEKDAYS: readonly ["S", "M", "T", "W", "T", "F", "S"];
|
|
2
|
+
export declare const MONTHS: readonly ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
|
|
3
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../$/components/primitives/calendar/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ,8CAA+C,CAAC;AAErE,eAAO,MAAM,MAAM,qIAaT,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export declare function startOfDay(date: Date): Date;
|
|
2
|
+
export declare function startOfMonth(date: Date): Date;
|
|
3
|
+
export declare function addMonths(date: Date, delta: number): Date;
|
|
4
|
+
export declare function addDays(date: Date, delta: number): Date;
|
|
5
|
+
export declare function isSameDay(a: Date, b: Date): boolean;
|
|
6
|
+
export declare function isSameMonth(a: Date, b: Date): boolean;
|
|
7
|
+
export declare function clampYearRange(fromYear: number, toYear: number): {
|
|
8
|
+
from: number;
|
|
9
|
+
to: number;
|
|
10
|
+
};
|
|
11
|
+
export declare function firstDayOfWeekToIndex(firstDay: "sun" | "mon" | "tue" | "wed" | "thu" | "fri" | "sat"): number;
|
|
12
|
+
export declare function getLocaleFirstDayOfWeekIndex(locale?: string): number;
|
|
13
|
+
export declare function buildMonthGrid(month: Date, firstDayOfWeekIndex?: number): Date[][];
|
|
14
|
+
//# sourceMappingURL=date-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"date-utils.d.ts","sourceRoot":"","sources":["../../../../../$/components/primitives/calendar/date-utils.ts"],"names":[],"mappings":"AAAA,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,QAEpC;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,QAEtC;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,QAElD;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,QAEhD;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,WAMzC;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,WAE3C;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;;;EAI9D;AAED,wBAAgB,qBAAqB,CACpC,QAAQ,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAC7D,MAAM,CAiBR;AAED,wBAAgB,4BAA4B,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAiBpE;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,mBAAmB,SAAI,YAWlE"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
export function startOfDay(date) {
|
|
2
|
+
return new Date(date.getFullYear(), date.getMonth(), date.getDate());
|
|
3
|
+
}
|
|
4
|
+
export function startOfMonth(date) {
|
|
5
|
+
return new Date(date.getFullYear(), date.getMonth(), 1);
|
|
6
|
+
}
|
|
7
|
+
export function addMonths(date, delta) {
|
|
8
|
+
return new Date(date.getFullYear(), date.getMonth() + delta, 1);
|
|
9
|
+
}
|
|
10
|
+
export function addDays(date, delta) {
|
|
11
|
+
return new Date(date.getFullYear(), date.getMonth(), date.getDate() + delta);
|
|
12
|
+
}
|
|
13
|
+
export function isSameDay(a, b) {
|
|
14
|
+
return (a.getFullYear() === b.getFullYear() &&
|
|
15
|
+
a.getMonth() === b.getMonth() &&
|
|
16
|
+
a.getDate() === b.getDate());
|
|
17
|
+
}
|
|
18
|
+
export function isSameMonth(a, b) {
|
|
19
|
+
return a.getFullYear() === b.getFullYear() && a.getMonth() === b.getMonth();
|
|
20
|
+
}
|
|
21
|
+
export function clampYearRange(fromYear, toYear) {
|
|
22
|
+
var from = Math.min(fromYear, toYear);
|
|
23
|
+
var to = Math.max(fromYear, toYear);
|
|
24
|
+
return { from: from, to: to };
|
|
25
|
+
}
|
|
26
|
+
export function firstDayOfWeekToIndex(firstDay) {
|
|
27
|
+
switch (firstDay) {
|
|
28
|
+
case "sun":
|
|
29
|
+
return 0;
|
|
30
|
+
case "mon":
|
|
31
|
+
return 1;
|
|
32
|
+
case "tue":
|
|
33
|
+
return 2;
|
|
34
|
+
case "wed":
|
|
35
|
+
return 3;
|
|
36
|
+
case "thu":
|
|
37
|
+
return 4;
|
|
38
|
+
case "fri":
|
|
39
|
+
return 5;
|
|
40
|
+
case "sat":
|
|
41
|
+
return 6;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
export function getLocaleFirstDayOfWeekIndex(locale) {
|
|
45
|
+
var _a;
|
|
46
|
+
try {
|
|
47
|
+
// Modern runtimes support Intl.Locale().weekInfo.firstDay (1=Mon ... 7=Sun)
|
|
48
|
+
// RN/web polyfills may not; in that case we fall back to Sunday.
|
|
49
|
+
var IntlAny = Intl;
|
|
50
|
+
if (!IntlAny.Locale)
|
|
51
|
+
return 0;
|
|
52
|
+
var tag = locale !== null && locale !== void 0 ? locale : Intl.DateTimeFormat().resolvedOptions().locale;
|
|
53
|
+
var loc = new IntlAny.Locale(tag);
|
|
54
|
+
var firstDay = (_a = loc.weekInfo) === null || _a === void 0 ? void 0 : _a.firstDay;
|
|
55
|
+
if (!firstDay)
|
|
56
|
+
return 0;
|
|
57
|
+
// weekInfo.firstDay: 1=Mon ... 7=Sun
|
|
58
|
+
return firstDay === 7 ? 0 : Math.max(0, Math.min(6, firstDay));
|
|
59
|
+
}
|
|
60
|
+
catch (_b) {
|
|
61
|
+
return 0;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
export function buildMonthGrid(month, firstDayOfWeekIndex) {
|
|
65
|
+
if (firstDayOfWeekIndex === void 0) { firstDayOfWeekIndex = 0; }
|
|
66
|
+
var first = startOfMonth(month);
|
|
67
|
+
var firstWeekday = first.getDay(); // 0=Sun
|
|
68
|
+
var safeFirst = Math.max(0, Math.min(6, firstDayOfWeekIndex));
|
|
69
|
+
var offset = (firstWeekday - safeFirst + 7) % 7;
|
|
70
|
+
var gridStart = addDays(first, -offset);
|
|
71
|
+
var days = [];
|
|
72
|
+
for (var i = 0; i < 42; i++)
|
|
73
|
+
days.push(addDays(gridStart, i));
|
|
74
|
+
return Array.from({ length: 6 }, function (_, week) {
|
|
75
|
+
return days.slice(week * 7, week * 7 + 7);
|
|
76
|
+
});
|
|
77
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { Item } from "./types";
|
|
2
|
+
type MonthYearOverlayProps = {
|
|
3
|
+
open: boolean;
|
|
4
|
+
months: Array<Item<number>>;
|
|
5
|
+
years: Array<Item<number>>;
|
|
6
|
+
monthIndex: number;
|
|
7
|
+
year: number;
|
|
8
|
+
onMonthChange: (monthIndex: number) => void;
|
|
9
|
+
onYearChange: (year: number) => void;
|
|
10
|
+
monthYearPickerContainerClassName?: string;
|
|
11
|
+
};
|
|
12
|
+
declare function MonthYearOverlay({ open, months, years, monthIndex, year, onMonthChange, onYearChange, monthYearPickerContainerClassName, }: MonthYearOverlayProps): import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
export { MonthYearOverlay };
|
|
14
|
+
//# sourceMappingURL=month-year-overlay.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"month-year-overlay.d.ts","sourceRoot":"","sources":["../../../../../$/components/primitives/calendar/month-year-overlay.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAGpC,KAAK,qBAAqB,GAAG;IAC5B,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5B,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,iCAAiC,CAAC,EAAE,MAAM,CAAC;CAC3C,CAAC;AAEF,iBAAS,gBAAgB,CAAC,EACzB,IAAI,EACJ,MAAM,EACN,KAAK,EACL,UAAU,EACV,IAAI,EACJ,aAAa,EACb,YAAY,EACZ,iCAAiC,GACjC,EAAE,qBAAqB,2CAuCvB;AAED,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { View } from "react-native";
|
|
3
|
+
import { WheelPicker } from "../../../../$/components/primitives/wheelpicker";
|
|
4
|
+
import { cn } from "../../../../$/lib/utils";
|
|
5
|
+
function MonthYearOverlay(_a) {
|
|
6
|
+
var open = _a.open, months = _a.months, years = _a.years, monthIndex = _a.monthIndex, year = _a.year, onMonthChange = _a.onMonthChange, onYearChange = _a.onYearChange, monthYearPickerContainerClassName = _a.monthYearPickerContainerClassName;
|
|
7
|
+
if (!open)
|
|
8
|
+
return null;
|
|
9
|
+
return (_jsx(View, { className: cn("h-full w-full bg-card flex-1 gap-2", "absolute inset-0 z-10"), children: _jsxs(View, { className: cn("flex-1 flex-row gap-2 w-full mx-auto", monthYearPickerContainerClassName), children: [_jsx(WheelPicker, { items: months, value: monthIndex, onValueChange: onMonthChange, itemHeight: 50, defaultValue: monthIndex, visibleItems: 5, className: "bg-card flex-1", overlayBgColorClassName: "bg-card/50" }), _jsx(WheelPicker, { items: years, value: year, onValueChange: onYearChange, defaultValue: year, itemHeight: 50, visibleItems: 5, className: "bg-card flex-1", overlayBgColorClassName: "bg-card/50" })] }) }));
|
|
10
|
+
}
|
|
11
|
+
export { MonthYearOverlay };
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export type Item<T extends number> = {
|
|
2
|
+
label: string;
|
|
3
|
+
value: T;
|
|
4
|
+
};
|
|
5
|
+
export type FirstDayOfWeek = "sun" | "mon" | "tue" | "wed" | "thu" | "fri" | "sat";
|
|
6
|
+
export type PageBehavior = "paged" | "single";
|
|
7
|
+
export type CalendarProps = {
|
|
8
|
+
value?: Date;
|
|
9
|
+
defaultValue?: Date;
|
|
10
|
+
onValueChange?: (date: Date | undefined) => void;
|
|
11
|
+
month?: Date;
|
|
12
|
+
defaultMonth?: Date;
|
|
13
|
+
onMonthChange?: (month: Date) => void;
|
|
14
|
+
fromYear?: number;
|
|
15
|
+
toYear?: number;
|
|
16
|
+
visibleMonths?: 1 | 2 | 3;
|
|
17
|
+
firstDayOfWeek?: FirstDayOfWeek;
|
|
18
|
+
pageBehavior?: PageBehavior;
|
|
19
|
+
disabled?: (date: Date) => boolean;
|
|
20
|
+
isDateUnavailable?: (date: Date) => boolean;
|
|
21
|
+
className?: string;
|
|
22
|
+
monthYearPickerContainerClassName?: string;
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../$/components/primitives/calendar/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,IAAI,CAAC,CAAC,SAAS,MAAM,IAAI;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,CAAC;AAEjE,MAAM,MAAM,cAAc,GACvB,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,CAAC;AAET,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE9C,MAAM,MAAM,aAAa,GAAG;IAC3B,KAAK,CAAC,EAAE,IAAI,CAAC;IACb,YAAY,CAAC,EAAE,IAAI,CAAC;IACpB,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,KAAK,IAAI,CAAC;IACjD,KAAK,CAAC,EAAE,IAAI,CAAC;IACb,YAAY,CAAC,EAAE,IAAI,CAAC;IACpB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,IAAI,CAAC;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC1B,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC;IACnC,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iCAAiC,CAAC,EAAE,MAAM,CAAC;CAC3C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import type { FirstDayOfWeek, Item, PageBehavior } from "../../../../$/components/primitives/calendar/types";
|
|
3
|
+
export type UseCalendarShellOptions = {
|
|
4
|
+
initialMonth: Date;
|
|
5
|
+
month?: Date;
|
|
6
|
+
onMonthChange?: (month: Date) => void;
|
|
7
|
+
fromYear?: number;
|
|
8
|
+
toYear?: number;
|
|
9
|
+
visibleMonths?: 1 | 2 | 3;
|
|
10
|
+
firstDayOfWeek?: FirstDayOfWeek;
|
|
11
|
+
pageBehavior?: PageBehavior;
|
|
12
|
+
};
|
|
13
|
+
export declare function useCalendarShell({ initialMonth, month, onMonthChange, fromYear, toYear, visibleMonths, firstDayOfWeek, pageBehavior, }: UseCalendarShellOptions): {
|
|
14
|
+
displayMonth: Date;
|
|
15
|
+
setDisplayMonth: (next: Date) => void;
|
|
16
|
+
displayMonthRef: React.RefObject<Date>;
|
|
17
|
+
locale: string;
|
|
18
|
+
firstDayOfWeekIndex: number;
|
|
19
|
+
safeVisibleMonths: number;
|
|
20
|
+
pageStep: number;
|
|
21
|
+
monthsToRender: Date[];
|
|
22
|
+
yearBounds: {
|
|
23
|
+
from: number;
|
|
24
|
+
to: number;
|
|
25
|
+
};
|
|
26
|
+
years: Item<number>[];
|
|
27
|
+
months: Item<number>[];
|
|
28
|
+
canGoPrev: boolean;
|
|
29
|
+
canGoNext: boolean;
|
|
30
|
+
pickerOpen: boolean;
|
|
31
|
+
setPickerOpen: React.Dispatch<React.SetStateAction<boolean>>;
|
|
32
|
+
onMonthWheel: (monthIndex: number) => void;
|
|
33
|
+
onYearWheel: (year: number) => void;
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=use-calendar-shell.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-calendar-shell.d.ts","sourceRoot":"","sources":["../../../../../$/components/primitives/calendar/use-calendar-shell.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAW/B,OAAO,KAAK,EACX,cAAc,EACd,IAAI,EACJ,YAAY,EACZ,MAAM,wCAAwC,CAAC;AAEhD,MAAM,MAAM,uBAAuB,GAAG;IACrC,YAAY,EAAE,IAAI,CAAC;IACnB,KAAK,CAAC,EAAE,IAAI,CAAC;IACb,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,IAAI,CAAC;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC1B,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,YAAY,CAAC,EAAE,YAAY,CAAC;CAC5B,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,EAChC,YAAY,EACZ,KAAK,EACL,aAAa,EACb,QAAQ,EACR,MAAM,EACN,aAAa,EACb,cAAc,EACd,YAAY,GACZ,EAAE,uBAAuB;;4BAYjB,IAAI;;;;;;;;;;;;;;;;;+BA0EE,MAAM;wBASZ,MAAM;EA0Bd"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { MONTHS } from "../../../../$/components/primitives/calendar/constants";
|
|
3
|
+
import { addMonths, clampYearRange, firstDayOfWeekToIndex, getLocaleFirstDayOfWeekIndex, startOfMonth, } from "../../../../$/components/primitives/calendar/date-utils";
|
|
4
|
+
import { useControllableState } from "../../../../$/components/primitives/calendar/use-controllable-state";
|
|
5
|
+
export function useCalendarShell(_a) {
|
|
6
|
+
var initialMonth = _a.initialMonth, month = _a.month, onMonthChange = _a.onMonthChange, fromYear = _a.fromYear, toYear = _a.toYear, visibleMonths = _a.visibleMonths, firstDayOfWeek = _a.firstDayOfWeek, pageBehavior = _a.pageBehavior;
|
|
7
|
+
var baseYear = React.useMemo(function () { return new Date().getFullYear(); }, []);
|
|
8
|
+
var _b = useControllableState({
|
|
9
|
+
value: month,
|
|
10
|
+
defaultValue: startOfMonth(initialMonth),
|
|
11
|
+
onChange: onMonthChange,
|
|
12
|
+
}), displayMonthRaw = _b[0], setDisplayMonthRaw = _b[1];
|
|
13
|
+
var displayMonth = startOfMonth(displayMonthRaw !== null && displayMonthRaw !== void 0 ? displayMonthRaw : initialMonth);
|
|
14
|
+
var setDisplayMonth = React.useCallback(function (next) { return setDisplayMonthRaw(startOfMonth(next)); }, [setDisplayMonthRaw]);
|
|
15
|
+
// Wheel callbacks can fire rapidly; keep a ref to avoid stale month/year closures.
|
|
16
|
+
var displayMonthRef = React.useRef(displayMonth);
|
|
17
|
+
React.useEffect(function () {
|
|
18
|
+
displayMonthRef.current = displayMonth;
|
|
19
|
+
}, [displayMonth]);
|
|
20
|
+
var locale = React.useMemo(function () {
|
|
21
|
+
try {
|
|
22
|
+
return Intl.DateTimeFormat().resolvedOptions().locale;
|
|
23
|
+
}
|
|
24
|
+
catch (_a) {
|
|
25
|
+
return undefined;
|
|
26
|
+
}
|
|
27
|
+
}, []);
|
|
28
|
+
var firstDayOfWeekIndex = React.useMemo(function () {
|
|
29
|
+
return firstDayOfWeek
|
|
30
|
+
? firstDayOfWeekToIndex(firstDayOfWeek)
|
|
31
|
+
: getLocaleFirstDayOfWeekIndex(locale);
|
|
32
|
+
}, [firstDayOfWeek, locale]);
|
|
33
|
+
var safeVisibleMonths = React.useMemo(function () {
|
|
34
|
+
var vm = visibleMonths !== null && visibleMonths !== void 0 ? visibleMonths : 1;
|
|
35
|
+
return Math.max(1, Math.min(3, vm));
|
|
36
|
+
}, [visibleMonths]);
|
|
37
|
+
var pageStep = React.useMemo(function () {
|
|
38
|
+
return pageBehavior === "single" ? 1 : safeVisibleMonths;
|
|
39
|
+
}, [pageBehavior, safeVisibleMonths]);
|
|
40
|
+
var monthsToRender = React.useMemo(function () {
|
|
41
|
+
return Array.from({ length: safeVisibleMonths }, function (_, idx) {
|
|
42
|
+
return addMonths(displayMonth, idx);
|
|
43
|
+
});
|
|
44
|
+
}, [displayMonth, safeVisibleMonths]);
|
|
45
|
+
var yearBounds = React.useMemo(function () {
|
|
46
|
+
var from = fromYear !== null && fromYear !== void 0 ? fromYear : baseYear - 100;
|
|
47
|
+
var to = toYear !== null && toYear !== void 0 ? toYear : baseYear + 100;
|
|
48
|
+
return clampYearRange(from, to);
|
|
49
|
+
}, [baseYear, fromYear, toYear]);
|
|
50
|
+
var years = React.useMemo(function () {
|
|
51
|
+
var items = [];
|
|
52
|
+
for (var y = yearBounds.from; y <= yearBounds.to; y++) {
|
|
53
|
+
items.push({ label: String(y), value: y });
|
|
54
|
+
}
|
|
55
|
+
return items;
|
|
56
|
+
}, [yearBounds.from, yearBounds.to]);
|
|
57
|
+
var months = React.useMemo(function () { return MONTHS.map(function (m, idx) { return ({ label: m, value: idx }); }); }, []);
|
|
58
|
+
var canGoPrev = React.useMemo(function () {
|
|
59
|
+
var prevStart = addMonths(displayMonth, -pageStep);
|
|
60
|
+
return prevStart.getFullYear() >= yearBounds.from;
|
|
61
|
+
}, [displayMonth, pageStep, yearBounds.from]);
|
|
62
|
+
var canGoNext = React.useMemo(function () {
|
|
63
|
+
var lastAfterStep = addMonths(displayMonth, pageStep + safeVisibleMonths - 1);
|
|
64
|
+
return lastAfterStep.getFullYear() <= yearBounds.to;
|
|
65
|
+
}, [displayMonth, pageStep, safeVisibleMonths, yearBounds.to]);
|
|
66
|
+
var _c = React.useState(false), pickerOpen = _c[0], setPickerOpen = _c[1];
|
|
67
|
+
var onMonthWheel = React.useCallback(function (monthIndex) {
|
|
68
|
+
var safeMonthIndex = Math.max(0, Math.min(11, monthIndex));
|
|
69
|
+
var currentYear = displayMonthRef.current.getFullYear();
|
|
70
|
+
setDisplayMonth(new Date(currentYear, safeMonthIndex, 1));
|
|
71
|
+
}, [setDisplayMonth]);
|
|
72
|
+
var onYearWheel = React.useCallback(function (year) {
|
|
73
|
+
var currentMonthIndex = displayMonthRef.current.getMonth();
|
|
74
|
+
setDisplayMonth(new Date(year, currentMonthIndex, 1));
|
|
75
|
+
}, [setDisplayMonth]);
|
|
76
|
+
return {
|
|
77
|
+
displayMonth: displayMonth,
|
|
78
|
+
setDisplayMonth: setDisplayMonth,
|
|
79
|
+
displayMonthRef: displayMonthRef,
|
|
80
|
+
locale: locale,
|
|
81
|
+
firstDayOfWeekIndex: firstDayOfWeekIndex,
|
|
82
|
+
safeVisibleMonths: safeVisibleMonths,
|
|
83
|
+
pageStep: pageStep,
|
|
84
|
+
monthsToRender: monthsToRender,
|
|
85
|
+
yearBounds: yearBounds,
|
|
86
|
+
years: years,
|
|
87
|
+
months: months,
|
|
88
|
+
canGoPrev: canGoPrev,
|
|
89
|
+
canGoNext: canGoNext,
|
|
90
|
+
pickerOpen: pickerOpen,
|
|
91
|
+
setPickerOpen: setPickerOpen,
|
|
92
|
+
onMonthWheel: onMonthWheel,
|
|
93
|
+
onYearWheel: onYearWheel,
|
|
94
|
+
};
|
|
95
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
type UseControllableStateProps<T> = {
|
|
2
|
+
value: T | undefined;
|
|
3
|
+
defaultValue: T | undefined;
|
|
4
|
+
onChange?: (next: T) => void;
|
|
5
|
+
};
|
|
6
|
+
export declare function useControllableState<T>({ value, defaultValue, onChange, }: UseControllableStateProps<T>): readonly [T, (next: T) => void];
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=use-controllable-state.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-controllable-state.d.ts","sourceRoot":"","sources":["../../../../../$/components/primitives/calendar/use-controllable-state.ts"],"names":[],"mappings":"AAEA,KAAK,yBAAyB,CAAC,CAAC,IAAI;IACnC,KAAK,EAAE,CAAC,GAAG,SAAS,CAAC;IACrB,YAAY,EAAE,CAAC,GAAG,SAAS,CAAC;IAC5B,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;CAC7B,CAAC;AAEF,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,EACvC,KAAK,EACL,YAAY,EACZ,QAAQ,GACR,EAAE,yBAAyB,CAAC,CAAC,CAAC,uBAQtB,CAAC,WAQT"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
export function useControllableState(_a) {
|
|
3
|
+
var value = _a.value, defaultValue = _a.defaultValue, onChange = _a.onChange;
|
|
4
|
+
var isControlled = value !== undefined;
|
|
5
|
+
var _b = React.useState(defaultValue), uncontrolled = _b[0], setUncontrolled = _b[1];
|
|
6
|
+
var state = isControlled ? value : uncontrolled;
|
|
7
|
+
var setState = React.useCallback(function (next) {
|
|
8
|
+
if (!isControlled)
|
|
9
|
+
setUncontrolled(next);
|
|
10
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(next);
|
|
11
|
+
}, [isControlled, onChange]);
|
|
12
|
+
return [state, setState];
|
|
13
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { CalendarProps } from "../../../$/components/primitives/calendar/types";
|
|
2
|
+
export type { CalendarProps };
|
|
3
|
+
declare function Calendar({ value, defaultValue, onValueChange, month, defaultMonth, onMonthChange, fromYear, toYear, visibleMonths, firstDayOfWeek, pageBehavior, disabled, isDateUnavailable, className, monthYearPickerContainerClassName, }: CalendarProps): import("react/jsx-runtime").JSX.Element;
|
|
4
|
+
export { Calendar };
|
|
5
|
+
//# sourceMappingURL=calendar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calendar.d.ts","sourceRoot":"","sources":["../../../../$/components/primitives/calendar.tsx"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AAE5E,YAAY,EAAE,aAAa,EAAE,CAAC;AAE9B,iBAAS,QAAQ,CAAC,EACjB,KAAK,EACL,YAAY,EACZ,aAAa,EACb,KAAK,EACL,YAAY,EACZ,aAAa,EACb,QAAQ,EACR,MAAM,EACN,aAAa,EACb,cAAc,EACd,YAAY,EACZ,QAAQ,EACR,iBAAiB,EACjB,SAAS,EACT,iCAAiC,GACjC,EAAE,aAAa,2CAsHf;AAED,OAAO,EAAE,QAAQ,EAAE,CAAC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
import { View } from "react-native";
|
|
4
|
+
import { cn } from "../../../$/lib/utils";
|
|
5
|
+
import { Text } from "../../../$/components/primitives/text";
|
|
6
|
+
import { MonthYearOverlay } from "../../../$/components/primitives/calendar/month-year-overlay";
|
|
7
|
+
import { MONTHS } from "../../../$/components/primitives/calendar/constants";
|
|
8
|
+
import { CalendarHeader } from "../../../$/components/primitives/calendar/calendar-header";
|
|
9
|
+
import { CalendarMonthGrid } from "../../../$/components/primitives/calendar/calendar-month-grid";
|
|
10
|
+
import { CalendarWeekdaysRow } from "../../../$/components/primitives/calendar/calendar-weekdays-row";
|
|
11
|
+
import { addMonths, startOfDay, startOfMonth, } from "../../../$/components/primitives/calendar/date-utils";
|
|
12
|
+
import { useControllableState } from "../../../$/components/primitives/calendar/use-controllable-state";
|
|
13
|
+
import { useCalendarShell } from "../../../$/components/primitives/calendar/use-calendar-shell";
|
|
14
|
+
function Calendar(_a) {
|
|
15
|
+
var value = _a.value, defaultValue = _a.defaultValue, onValueChange = _a.onValueChange, month = _a.month, defaultMonth = _a.defaultMonth, onMonthChange = _a.onMonthChange, fromYear = _a.fromYear, toYear = _a.toYear, visibleMonths = _a.visibleMonths, firstDayOfWeek = _a.firstDayOfWeek, pageBehavior = _a.pageBehavior, disabled = _a.disabled, isDateUnavailable = _a.isDateUnavailable, className = _a.className, monthYearPickerContainerClassName = _a.monthYearPickerContainerClassName;
|
|
16
|
+
var today = React.useMemo(function () { return startOfDay(new Date()); }, []);
|
|
17
|
+
var _b = useControllableState({
|
|
18
|
+
value: value,
|
|
19
|
+
defaultValue: defaultValue,
|
|
20
|
+
onChange: onValueChange,
|
|
21
|
+
}), selectedDate = _b[0], setSelectedDate = _b[1];
|
|
22
|
+
var initialMonth = React.useMemo(function () {
|
|
23
|
+
var _a;
|
|
24
|
+
var basis = (_a = defaultMonth !== null && defaultMonth !== void 0 ? defaultMonth : selectedDate) !== null && _a !== void 0 ? _a : today;
|
|
25
|
+
return startOfMonth(basis);
|
|
26
|
+
}, [defaultMonth, selectedDate, today]);
|
|
27
|
+
var _c = useCalendarShell({
|
|
28
|
+
initialMonth: initialMonth,
|
|
29
|
+
month: month,
|
|
30
|
+
onMonthChange: onMonthChange,
|
|
31
|
+
fromYear: fromYear,
|
|
32
|
+
toYear: toYear,
|
|
33
|
+
visibleMonths: visibleMonths,
|
|
34
|
+
firstDayOfWeek: firstDayOfWeek,
|
|
35
|
+
pageBehavior: pageBehavior,
|
|
36
|
+
}), displayMonth = _c.displayMonth, setDisplayMonth = _c.setDisplayMonth, locale = _c.locale, firstDayOfWeekIndex = _c.firstDayOfWeekIndex, safeVisibleMonths = _c.safeVisibleMonths, pageStep = _c.pageStep, monthsToRender = _c.monthsToRender, years = _c.years, months = _c.months, canGoPrev = _c.canGoPrev, canGoNext = _c.canGoNext, pickerOpen = _c.pickerOpen, setPickerOpen = _c.setPickerOpen, onMonthWheel = _c.onMonthWheel, onYearWheel = _c.onYearWheel;
|
|
37
|
+
var headerMonthIndex = displayMonth.getMonth();
|
|
38
|
+
var headerYear = displayMonth.getFullYear();
|
|
39
|
+
var onSelectDay = React.useCallback(function (day) {
|
|
40
|
+
if (disabled === null || disabled === void 0 ? void 0 : disabled(day))
|
|
41
|
+
return;
|
|
42
|
+
if (isDateUnavailable === null || isDateUnavailable === void 0 ? void 0 : isDateUnavailable(day))
|
|
43
|
+
return;
|
|
44
|
+
setSelectedDate(day);
|
|
45
|
+
}, [disabled, isDateUnavailable, setSelectedDate]);
|
|
46
|
+
return (_jsxs(View, { className: cn("bg-card border-border rounded-xl border p-4 shadow-sm shadow-black/5", className), children: [_jsx(CalendarHeader, { displayMonth: displayMonth, pickerOpen: pickerOpen, onTogglePicker: function () { return setPickerOpen(function (o) { return !o; }); }, canGoPrev: canGoPrev, canGoNext: canGoNext, onPrev: function () { return setDisplayMonth(addMonths(displayMonth, -pageStep)); }, onNext: function () { return setDisplayMonth(addMonths(displayMonth, pageStep)); } }), _jsxs(View, { className: "mt-3 relative", children: [_jsx(View, { className: cn(safeVisibleMonths > 1 && "flex-row gap-4"), children: monthsToRender.map(function (m) { return (_jsxs(View, { className: cn(safeVisibleMonths > 1 && "flex-1"), children: [safeVisibleMonths > 1 && (_jsxs(Text, { variant: "small", className: "mb-1 text-center font-semibold", children: [MONTHS[m.getMonth()], " ", m.getFullYear()] })), _jsx(CalendarWeekdaysRow, { firstDayOfWeekIndex: firstDayOfWeekIndex, locale: locale }), _jsx(CalendarMonthGrid, { displayMonth: m, firstDayOfWeekIndex: firstDayOfWeekIndex, selectedDate: selectedDate, today: today, disabled: disabled, isDateUnavailable: isDateUnavailable, pickerOpen: pickerOpen, onSelectDay: onSelectDay })] }, "".concat(m.getFullYear(), "-").concat(m.getMonth()))); }) }), _jsx(MonthYearOverlay, { open: pickerOpen, months: months, years: years, monthIndex: headerMonthIndex, year: headerYear, onMonthChange: onMonthWheel, onYearChange: onYearWheel, monthYearPickerContainerClassName: monthYearPickerContainerClassName })] })] }));
|
|
47
|
+
}
|
|
48
|
+
export { Calendar };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Text } from "../../../$/components/primitives/text";
|
|
2
|
+
import { View, type ViewProps } from "react-native";
|
|
3
|
+
declare function Card({ className, ...props }: ViewProps & React.RefAttributes<View>): import("react/jsx-runtime").JSX.Element;
|
|
4
|
+
declare function CardHeader({ className, ...props }: ViewProps & React.RefAttributes<View>): import("react/jsx-runtime").JSX.Element;
|
|
5
|
+
declare function CardTitle({ className, ...props }: React.ComponentProps<typeof Text> & React.RefAttributes<Text>): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
declare function CardDescription({ className, ...props }: React.ComponentProps<typeof Text> & React.RefAttributes<Text>): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
declare function CardContent({ className, ...props }: ViewProps & React.RefAttributes<View>): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
declare function CardFooter({ className, ...props }: ViewProps & React.RefAttributes<View>): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, };
|
|
10
|
+
//# sourceMappingURL=card.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"card.d.ts","sourceRoot":"","sources":["../../../../$/components/primitives/card.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAoB,MAAM,8BAA8B,CAAC;AAEtE,OAAO,EAAE,IAAI,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAEpD,iBAAS,IAAI,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,SAAS,GAAG,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,2CAY3E;AAED,iBAAS,UAAU,CAAC,EACnB,SAAS,EACT,GAAG,KAAK,EACR,EAAE,SAAS,GAAG,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,2CAIvC;AAED,iBAAS,SAAS,CAAC,EAClB,SAAS,EACT,GAAG,KAAK,EACR,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,IAAI,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,2CAS/D;AAED,iBAAS,eAAe,CAAC,EACxB,SAAS,EACT,GAAG,KAAK,EACR,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,IAAI,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,2CAO/D;AAED,iBAAS,WAAW,CAAC,EACpB,SAAS,EACT,GAAG,KAAK,EACR,EAAE,SAAS,GAAG,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,2CAEvC;AAED,iBAAS,UAAU,CAAC,EACnB,SAAS,EACT,GAAG,KAAK,EACR,EAAE,SAAS,GAAG,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,2CAOvC;AAED,OAAO,EACN,IAAI,EACJ,WAAW,EACX,eAAe,EACf,UAAU,EACV,UAAU,EACV,SAAS,GACT,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
var __assign = (this && this.__assign) || function () {
|
|
2
|
+
__assign = Object.assign || function(t) {
|
|
3
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
+
s = arguments[i];
|
|
5
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
+
t[p] = s[p];
|
|
7
|
+
}
|
|
8
|
+
return t;
|
|
9
|
+
};
|
|
10
|
+
return __assign.apply(this, arguments);
|
|
11
|
+
};
|
|
12
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
13
|
+
var t = {};
|
|
14
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
15
|
+
t[p] = s[p];
|
|
16
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
17
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
18
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
19
|
+
t[p[i]] = s[p[i]];
|
|
20
|
+
}
|
|
21
|
+
return t;
|
|
22
|
+
};
|
|
23
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
24
|
+
import { Text, TextClassContext } from "../../../$/components/primitives/text";
|
|
25
|
+
import { cn } from "../../../$/lib/utils";
|
|
26
|
+
import { View } from "react-native";
|
|
27
|
+
function Card(_a) {
|
|
28
|
+
var className = _a.className, props = __rest(_a, ["className"]);
|
|
29
|
+
return (_jsx(TextClassContext.Provider, { value: "text-card-foreground", children: _jsx(View, __assign({ className: cn("bg-card border-border flex flex-col gap-6 rounded-xl border py-6 shadow-sm shadow-black/5", className) }, props)) }));
|
|
30
|
+
}
|
|
31
|
+
function CardHeader(_a) {
|
|
32
|
+
var className = _a.className, props = __rest(_a, ["className"]);
|
|
33
|
+
return (_jsx(View, __assign({ className: cn("flex flex-col gap-1.5 px-6", className) }, props)));
|
|
34
|
+
}
|
|
35
|
+
function CardTitle(_a) {
|
|
36
|
+
var className = _a.className, props = __rest(_a, ["className"]);
|
|
37
|
+
return (_jsx(Text, __assign({ role: "heading", "aria-level": 3, className: cn("font-semibold leading-none", className) }, props)));
|
|
38
|
+
}
|
|
39
|
+
function CardDescription(_a) {
|
|
40
|
+
var className = _a.className, props = __rest(_a, ["className"]);
|
|
41
|
+
return (_jsx(Text, __assign({ className: cn("text-muted-foreground text-sm", className) }, props)));
|
|
42
|
+
}
|
|
43
|
+
function CardContent(_a) {
|
|
44
|
+
var className = _a.className, props = __rest(_a, ["className"]);
|
|
45
|
+
return _jsx(View, __assign({ className: cn("px-6", className) }, props));
|
|
46
|
+
}
|
|
47
|
+
function CardFooter(_a) {
|
|
48
|
+
var className = _a.className, props = __rest(_a, ["className"]);
|
|
49
|
+
return (_jsx(View, __assign({ className: cn("flex flex-row items-center px-6", className) }, props)));
|
|
50
|
+
}
|
|
51
|
+
export { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import * as CheckboxPrimitive from "@rn-primitives/checkbox";
|
|
2
|
+
declare function Checkbox({ className, checkedClassName, indicatorClassName, iconClassName, ...props }: CheckboxPrimitive.RootProps & React.RefAttributes<CheckboxPrimitive.RootRef> & {
|
|
3
|
+
checkedClassName?: string;
|
|
4
|
+
indicatorClassName?: string;
|
|
5
|
+
iconClassName?: string;
|
|
6
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export { Checkbox };
|
|
8
|
+
//# sourceMappingURL=checkbox.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkbox.d.ts","sourceRoot":"","sources":["../../../../$/components/primitives/checkbox.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,iBAAiB,MAAM,yBAAyB,CAAC;AAM7D,iBAAS,QAAQ,CAAC,EACjB,SAAS,EACT,gBAAgB,EAChB,kBAAkB,EAClB,aAAa,EACb,GAAG,KAAK,EACR,EAAE,iBAAiB,CAAC,SAAS,GAC7B,KAAK,CAAC,aAAa,CAAC,iBAAiB,CAAC,OAAO,CAAC,GAAG;IAChD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;CACvB,2CA+BD;AAED,OAAO,EAAE,QAAQ,EAAE,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
var __assign = (this && this.__assign) || function () {
|
|
2
|
+
__assign = Object.assign || function(t) {
|
|
3
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
+
s = arguments[i];
|
|
5
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
+
t[p] = s[p];
|
|
7
|
+
}
|
|
8
|
+
return t;
|
|
9
|
+
};
|
|
10
|
+
return __assign.apply(this, arguments);
|
|
11
|
+
};
|
|
12
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
13
|
+
var t = {};
|
|
14
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
15
|
+
t[p] = s[p];
|
|
16
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
17
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
18
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
19
|
+
t[p[i]] = s[p[i]];
|
|
20
|
+
}
|
|
21
|
+
return t;
|
|
22
|
+
};
|
|
23
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
24
|
+
import { Icon } from "../../../$/components/primitives/icon";
|
|
25
|
+
import { cn } from "../../../$/lib/utils";
|
|
26
|
+
import * as CheckboxPrimitive from "@rn-primitives/checkbox";
|
|
27
|
+
import { Check } from "lucide-react-native";
|
|
28
|
+
import { Platform } from "react-native";
|
|
29
|
+
var DEFAULT_HIT_SLOP = 24;
|
|
30
|
+
function Checkbox(_a) {
|
|
31
|
+
var className = _a.className, checkedClassName = _a.checkedClassName, indicatorClassName = _a.indicatorClassName, iconClassName = _a.iconClassName, props = __rest(_a, ["className", "checkedClassName", "indicatorClassName", "iconClassName"]);
|
|
32
|
+
return (_jsx(CheckboxPrimitive.Root, __assign({ className: cn("border-input dark:bg-input/30 size-4 shrink-0 rounded-[4px] border shadow-sm shadow-black/5", Platform.select({
|
|
33
|
+
web: "focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive peer cursor-default outline-none transition-shadow focus-visible:ring-[3px] disabled:cursor-not-allowed",
|
|
34
|
+
native: "overflow-hidden",
|
|
35
|
+
}), props.checked && cn("border-primary", checkedClassName), props.disabled && "opacity-50", className), hitSlop: DEFAULT_HIT_SLOP }, props, { children: _jsx(CheckboxPrimitive.Indicator, { className: cn("bg-primary h-full w-full items-center justify-center", indicatorClassName), children: _jsx(Icon, { as: Check, size: 12, strokeWidth: Platform.OS === "web" ? 2.5 : 3.5, className: cn("text-primary-foreground", iconClassName) }) }) })));
|
|
36
|
+
}
|
|
37
|
+
export { Checkbox };
|