@torpor/ui 0.4.0 → 1.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/README.md +83 -7
- package/dist/Accordion/Accordion.torp +42 -165
- package/dist/Accordion/AccordionContent.torp +6 -6
- package/dist/Accordion/AccordionHeader.torp +7 -11
- package/dist/Accordion/AccordionItem.torp +24 -24
- package/dist/Accordion/AccordionTrigger.torp +17 -8
- package/dist/Accordion/AccordionTypes.ts +1 -1
- package/dist/Accordion/index.d.ts +23 -25
- package/dist/Accordion/index.js +6 -22
- package/dist/Breadcrumb/Breadcrumb.torp +12 -10
- package/dist/Breadcrumb/BreadcrumbItem.torp +6 -6
- package/dist/Breadcrumb/BreadcrumbList.torp +21 -0
- package/dist/Breadcrumb/BreadcrumbSeparator.torp +4 -4
- package/dist/Breadcrumb/index.d.ts +39 -15
- package/dist/Breadcrumb/index.js +5 -14
- package/dist/Calendar/Calendar.torp +163 -156
- package/dist/Calendar/CalendarDay.torp +91 -45
- package/dist/Calendar/CalendarDayHeader.torp +36 -0
- package/dist/Calendar/CalendarGrid.torp +104 -0
- package/dist/Calendar/CalendarGridHeader.torp +43 -0
- package/dist/Calendar/CalendarHeader.torp +48 -0
- package/dist/Calendar/CalendarHeaderTrigger.torp +54 -0
- package/dist/Calendar/CalendarTypes.ts +24 -3
- package/dist/Calendar/buildDays.ts +54 -0
- package/dist/Calendar/index.d.ts +191 -5
- package/dist/Calendar/index.js +8 -10
- package/dist/Carousel/Carousel.torp +180 -0
- package/dist/Carousel/CarouselIndicators.torp +65 -0
- package/dist/Carousel/CarouselNext.torp +43 -0
- package/dist/Carousel/CarouselPrevious.torp +44 -0
- package/dist/Carousel/CarouselSlide.torp +57 -0
- package/dist/Carousel/CarouselTypes.ts +28 -0
- package/dist/Carousel/index.d.ts +147 -0
- package/dist/Carousel/index.js +6 -0
- package/dist/Charts/BarChart.torp +55 -144
- package/dist/Charts/Chart.torp +120 -0
- package/dist/Charts/ChartBars.torp +78 -0
- package/dist/Charts/ChartColumns.torp +66 -0
- package/dist/Charts/ChartGrid.torp +54 -0
- package/dist/Charts/ChartLines.torp +60 -0
- package/dist/Charts/ChartTypes.ts +25 -0
- package/dist/Charts/ChartXAxis.torp +85 -0
- package/dist/Charts/ChartYAxis.torp +107 -0
- package/dist/Charts/ColumnChart.torp +70 -0
- package/dist/Charts/GridLines.torp +4 -4
- package/dist/Charts/LineChart.torp +55 -178
- package/dist/Charts/PieChart.torp +14 -20
- package/dist/Charts/ScatterChart.torp +45 -38
- package/dist/Charts/SparkLine.torp +16 -19
- package/dist/Charts/XAxis.torp +14 -11
- package/dist/Charts/YAxis.torp +10 -8
- package/dist/Charts/index.d.ts +328 -79
- package/dist/Charts/index.js +17 -34
- package/dist/ColorPicker/ColorPalette.torp +154 -0
- package/dist/ColorPicker/ColorPicker.torp +157 -0
- package/dist/ColorPicker/index.d.ts +85 -0
- package/dist/ColorPicker/index.js +3 -0
- package/dist/ComboBox/ComboBox.torp +205 -0
- package/dist/ComboBox/ComboBoxContent.torp +120 -0
- package/dist/ComboBox/ComboBoxInput.torp +161 -0
- package/dist/ComboBox/ComboBoxTrigger.torp +49 -0
- package/dist/ComboBox/ComboBoxTypes.ts +39 -0
- package/dist/ComboBox/index.d.ts +154 -0
- package/dist/ComboBox/index.js +6 -0
- package/dist/CommandPalette/CommandPalette.torp +223 -0
- package/dist/CommandPalette/CommandTypes.ts +14 -0
- package/dist/CommandPalette/index.d.ts +45 -0
- package/dist/CommandPalette/index.js +2 -0
- package/dist/Contextual/Contextual.torp +32 -50
- package/dist/Contextual/ContextualContent.torp +29 -73
- package/dist/Contextual/ContextualHover.torp +112 -0
- package/dist/Contextual/ContextualTrigger.torp +31 -42
- package/dist/Contextual/ContextualTypes.ts +4 -17
- package/dist/Contextual/index.d.ts +44 -27
- package/dist/Contextual/index.js +5 -14
- package/dist/DataGrid/DataGrid.torp +496 -0
- package/dist/DataGrid/DataGridTypes.ts +25 -0
- package/dist/DataGrid/index.d.ts +90 -0
- package/dist/DataGrid/index.js +3 -0
- package/dist/DataGrid/sortRows.ts +32 -0
- package/dist/DatePicker/DatePicker.torp +222 -0
- package/dist/DatePicker/DatePickerHeader.torp +20 -0
- package/dist/DatePicker/index.d.ts +55 -0
- package/dist/DatePicker/index.js +2 -0
- package/dist/DateRangePicker/DateRangePicker.torp +315 -0
- package/dist/DateRangePicker/DateRangePickerDay.torp +137 -0
- package/dist/DateRangePicker/DateRangePickerTypes.ts +21 -0
- package/dist/DateRangePicker/index.d.ts +76 -0
- package/dist/DateRangePicker/index.js +3 -0
- package/dist/Dialog/Dialog.torp +24 -17
- package/dist/Dialog/DialogBody.torp +5 -9
- package/dist/Dialog/DialogButton.torp +12 -12
- package/dist/Dialog/DialogFooter.torp +3 -7
- package/dist/Dialog/DialogHeader.torp +6 -10
- package/dist/Dialog/index.d.ts +27 -27
- package/dist/Dialog/index.js +6 -22
- package/dist/Disclosure/Disclosure.torp +18 -18
- package/dist/Disclosure/DisclosureContent.torp +5 -6
- package/dist/Disclosure/DisclosureHeader.torp +7 -11
- package/dist/Disclosure/DisclosureTrigger.torp +4 -5
- package/dist/Disclosure/index.d.ts +14 -16
- package/dist/Disclosure/index.js +5 -18
- package/dist/Drawer/Drawer.torp +19 -49
- package/dist/Drawer/DrawerContent.torp +70 -13
- package/dist/Drawer/DrawerOverlay.torp +4 -4
- package/dist/Drawer/DrawerTrigger.torp +16 -4
- package/dist/Drawer/DrawerTypes.ts +3 -0
- package/dist/Drawer/index.d.ts +16 -20
- package/dist/Drawer/index.js +5 -18
- package/dist/FocusGroup/FocusGroup.torp +70 -0
- package/dist/FocusGroup/FocusGroupButton.torp +59 -0
- package/dist/FocusGroup/FocusGroupTypes.ts +14 -0
- package/dist/FocusGroup/index.d.ts +44 -0
- package/dist/FocusGroup/index.js +3 -0
- package/dist/Form/CheckBox.torp +27 -18
- package/dist/Form/Field.torp +17 -17
- package/dist/Form/File.torp +31 -22
- package/dist/Form/FileDrop.torp +187 -0
- package/dist/Form/Form.torp +24 -22
- package/dist/Form/FormTypes.ts +2 -0
- package/dist/Form/FormValues.torp +37 -0
- package/dist/Form/Hidden.torp +4 -12
- package/dist/Form/Input.torp +38 -32
- package/dist/Form/Label.torp +3 -3
- package/dist/Form/Message.torp +13 -5
- package/dist/Form/MessageSummary.torp +5 -4
- package/dist/Form/Option.torp +11 -7
- package/dist/Form/Select.torp +32 -28
- package/dist/Form/TextArea.torp +35 -31
- package/dist/Form/Toggle.torp +109 -0
- package/dist/Form/index.d.ts +178 -79
- package/dist/Form/index.js +16 -50
- package/dist/ListBox/ListBox.torp +253 -150
- package/dist/ListBox/ListBoxItem.torp +54 -30
- package/dist/ListBox/ListBoxSeparator.torp +5 -2
- package/dist/ListBox/ListBoxTypes.ts +23 -5
- package/dist/ListBox/LoadedListBoxItems.torp +41 -0
- package/dist/ListBox/index.d.ts +56 -17
- package/dist/ListBox/index.js +4 -14
- package/dist/MaskedInput/MaskedInput.torp +143 -0
- package/dist/MaskedInput/index.d.ts +52 -0
- package/dist/MaskedInput/index.js +2 -0
- package/dist/Menu/Menu.torp +86 -71
- package/dist/Menu/MenuButton.torp +17 -10
- package/dist/Menu/MenuCheck.torp +22 -18
- package/dist/Menu/MenuGroup.torp +4 -4
- package/dist/Menu/MenuIndicator.torp +5 -13
- package/dist/Menu/MenuPopout.torp +20 -50
- package/dist/Menu/MenuPopoutContent.torp +15 -66
- package/dist/Menu/MenuPopoutTrigger.torp +19 -100
- package/dist/Menu/MenuRadio.torp +25 -26
- package/dist/Menu/MenuRadioGroup.torp +25 -68
- package/dist/Menu/MenuSeparator.torp +3 -2
- package/dist/Menu/MenuTypes.ts +9 -19
- package/dist/Menu/index.d.ts +45 -51
- package/dist/Menu/index.js +12 -46
- package/dist/MenuBar/MenuBar.torp +31 -83
- package/dist/MenuBar/MenuBarItem.torp +33 -51
- package/dist/MenuBar/MenuBarItemContent.torp +15 -101
- package/dist/MenuBar/MenuBarItemTrigger.torp +20 -55
- package/dist/MenuBar/MenuBarTypes.ts +11 -10
- package/dist/MenuBar/index.d.ts +17 -19
- package/dist/MenuBar/index.js +5 -18
- package/dist/Modal/Modal.torp +22 -47
- package/dist/Modal/ModalContent.torp +21 -44
- package/dist/Modal/ModalOverlay.torp +4 -4
- package/dist/Modal/ModalTrigger.torp +16 -32
- package/dist/Modal/ModalTypes.ts +5 -16
- package/dist/Modal/index.d.ts +17 -29
- package/dist/Modal/index.js +29 -28
- package/dist/Modal/index.js.map +1 -1
- package/dist/Modal/showPrompt.ts +2 -2
- package/dist/NavMenu/NavMenu.torp +22 -111
- package/dist/NavMenu/NavMenuButton.torp +7 -8
- package/dist/NavMenu/NavMenuElement.torp +6 -7
- package/dist/NavMenu/NavMenuGroup.torp +5 -5
- package/dist/NavMenu/NavMenuGroupHeader.torp +5 -8
- package/dist/NavMenu/NavMenuLink.torp +7 -10
- package/dist/NavMenu/NavMenuPopout.torp +15 -60
- package/dist/NavMenu/NavMenuPopoutContent.torp +14 -73
- package/dist/NavMenu/NavMenuPopoutTrigger.torp +17 -99
- package/dist/NavMenu/NavMenuSeparator.torp +3 -7
- package/dist/NavMenu/NavMenuTypes.ts +4 -14
- package/dist/NavMenu/index.d.ts +40 -44
- package/dist/NavMenu/index.js +11 -42
- package/dist/Notification/Notification.torp +12 -24
- package/dist/Notification/NotificationClose.torp +6 -3
- package/dist/Notification/NotificationContainer.torp +3 -7
- package/dist/Notification/NotificationContent.torp +3 -7
- package/dist/Notification/NotificationTypes.ts +1 -1
- package/dist/Notification/index.d.ts +15 -12
- package/dist/Notification/index.js +22 -32
- package/dist/Notification/index.js.map +1 -1
- package/dist/NumberInput/NumberInput.torp +255 -0
- package/dist/NumberInput/index.d.ts +44 -0
- package/dist/NumberInput/index.js +2 -0
- package/dist/Pagination/Pagination.torp +41 -34
- package/dist/Pagination/PaginationItem.torp +50 -13
- package/dist/Pagination/PaginationTypes.ts +3 -6
- package/dist/Pagination/buildPages.ts +9 -5
- package/dist/Pagination/index.d.ts +19 -9
- package/dist/Pagination/index.js +3 -40
- package/dist/Popover/Popover.torp +32 -50
- package/dist/Popover/PopoverContent.torp +27 -76
- package/dist/Popover/PopoverHover.torp +90 -0
- package/dist/Popover/PopoverTrigger.torp +17 -40
- package/dist/Popover/PopoverTypes.ts +4 -17
- package/dist/Popover/index.d.ts +40 -25
- package/dist/Popover/index.js +18 -18
- package/dist/Popover/index.js.map +1 -1
- package/dist/Progress/Progress.torp +88 -0
- package/dist/Progress/index.d.ts +37 -0
- package/dist/Progress/index.js +2 -0
- package/dist/Rating/Rating.torp +225 -0
- package/dist/Rating/index.d.ts +44 -0
- package/dist/Rating/index.js +2 -0
- package/dist/SegmentedControl/SegmentedControl.torp +233 -0
- package/dist/SegmentedControl/SegmentedControlTypes.ts +26 -0
- package/dist/SegmentedControl/SegmentedItem.torp +78 -0
- package/dist/SegmentedControl/index.d.ts +74 -0
- package/dist/SegmentedControl/index.js +3 -0
- package/dist/SelectBox/SelectBox.torp +107 -53
- package/dist/SelectBox/SelectBoxContent.torp +49 -19
- package/dist/SelectBox/SelectBoxTrigger.torp +108 -8
- package/dist/SelectBox/SelectBoxTypes.ts +26 -11
- package/dist/SelectBox/index.d.ts +39 -54
- package/dist/SelectBox/index.js +5 -18
- package/dist/Slider/Slider.torp +245 -0
- package/dist/Slider/index.d.ts +45 -0
- package/dist/Slider/index.js +2 -0
- package/dist/Splitter/Splitter.torp +156 -0
- package/dist/Splitter/SplitterHandle.torp +161 -0
- package/dist/Splitter/SplitterPane.torp +63 -0
- package/dist/Splitter/SplitterTypes.ts +31 -0
- package/dist/Splitter/index.d.ts +103 -0
- package/dist/Splitter/index.js +4 -0
- package/dist/Stepper/Stepper.torp +146 -0
- package/dist/Stepper/StepperMarker.torp +24 -0
- package/dist/Stepper/StepperNext.torp +44 -0
- package/dist/Stepper/StepperPrevious.torp +44 -0
- package/dist/Stepper/StepperStep.torp +90 -0
- package/dist/Stepper/StepperTypes.ts +30 -0
- package/dist/Stepper/index.d.ts +149 -0
- package/dist/Stepper/index.js +6 -0
- package/dist/TabGroup/TabContent.torp +6 -6
- package/dist/TabGroup/TabGroup.torp +97 -113
- package/dist/TabGroup/TabGroupTypes.ts +1 -1
- package/dist/TabGroup/TabHeader.torp +23 -19
- package/dist/TabGroup/TabList.torp +8 -21
- package/dist/TabGroup/TabTrigger.torp +6 -7
- package/dist/TabGroup/index.d.ts +26 -26
- package/dist/TabGroup/index.js +6 -22
- package/dist/TagInput/TagInput.torp +378 -0
- package/dist/TagInput/index.d.ts +48 -0
- package/dist/TagInput/index.js +2 -0
- package/dist/TimePicker/TimePicker.torp +462 -0
- package/dist/TimePicker/index.d.ts +53 -0
- package/dist/TimePicker/index.js +2 -0
- package/dist/ToolBar/ToolBar.torp +29 -110
- package/dist/ToolBar/ToolBarButton.torp +7 -8
- package/dist/ToolBar/ToolBarElement.torp +7 -11
- package/dist/ToolBar/ToolBarPopout.torp +16 -68
- package/dist/ToolBar/ToolBarPopoutContent.torp +15 -73
- package/dist/ToolBar/ToolBarPopoutTrigger.torp +19 -110
- package/dist/ToolBar/ToolBarSeparator.torp +3 -7
- package/dist/ToolBar/ToolBarTypes.ts +7 -14
- package/dist/ToolBar/index.d.ts +30 -32
- package/dist/ToolBar/index.js +8 -30
- package/dist/Tree/Tree.torp +395 -0
- package/dist/Tree/TreeItem.torp +176 -0
- package/dist/Tree/TreeItemChildren.torp +60 -0
- package/dist/Tree/TreeItemContent.torp +46 -0
- package/dist/Tree/TreeItemLabel.torp +94 -0
- package/dist/Tree/TreeItemTrigger.torp +78 -0
- package/dist/Tree/TreeLoadedChildren.torp +122 -0
- package/dist/Tree/TreeTypes.ts +63 -0
- package/dist/Tree/index.d.ts +262 -0
- package/dist/Tree/index.js +7 -0
- package/dist/icons/ChevronDoubleLeft.torp +19 -0
- package/dist/icons/ChevronDoubleRight.torp +19 -0
- package/dist/icons/index.d.ts +61 -1
- package/dist/icons/index.js +17 -58
- package/dist/loader-DEeG5vFY.js +44 -0
- package/dist/loader-DEeG5vFY.js.map +1 -0
- package/dist/motion/index.d.ts +12 -8
- package/dist/motion/index.d.ts.map +1 -0
- package/dist/motion/index.js +70 -88
- package/dist/motion/index.js.map +1 -1
- package/dist/mount/draggable.ts +63 -0
- package/dist/mount/dropTarget.ts +108 -0
- package/dist/mount/hoverTrigger.ts +1 -1
- package/dist/utils/$handle.ts +23 -0
- package/dist/utils/LoadedItems.torp +47 -0
- package/dist/utils/PopoutClickTrigger.torp +99 -0
- package/dist/utils/PopoutTypes.ts +59 -12
- package/dist/utils/SubmenuPopout.torp +89 -0
- package/dist/utils/SubmenuPopoutContent.torp +87 -0
- package/dist/utils/SubmenuPopoutTrigger.torp +160 -0
- package/dist/utils/chartColors.ts +13 -13
- package/dist/utils/chartLayout.ts +143 -0
- package/dist/utils/colorUtils.ts +103 -0
- package/dist/utils/createItemGroup.ts +152 -0
- package/dist/utils/dateUtils.ts +8 -7
- package/dist/utils/documentEvents.ts +4 -4
- package/dist/utils/dragState.ts +86 -0
- package/dist/utils/focusGroup.ts +204 -0
- package/dist/utils/focusItem.ts +44 -0
- package/dist/utils/formField.ts +70 -0
- package/dist/utils/hoverOpen.ts +50 -0
- package/dist/utils/hoverReveal.ts +194 -0
- package/dist/utils/loader.ts +113 -0
- package/dist/utils/maskUtils.ts +98 -0
- package/dist/utils/popoutContent.ts +137 -0
- package/dist/utils/reorderList.ts +52 -0
- package/package.json +97 -22
- package/dist/Accordion/index.js.map +0 -1
- package/dist/Breadcrumb/index.js.map +0 -1
- package/dist/Calendar/index.js.map +0 -1
- package/dist/Charts/index.js.map +0 -1
- package/dist/Contextual/index.js.map +0 -1
- package/dist/Dialog/index.js.map +0 -1
- package/dist/Disclosure/index.js.map +0 -1
- package/dist/Drawer/index.js.map +0 -1
- package/dist/Form/index.js.map +0 -1
- package/dist/ListBox/index.js.map +0 -1
- package/dist/Menu/index.js.map +0 -1
- package/dist/MenuBar/index.js.map +0 -1
- package/dist/NavMenu/index.js.map +0 -1
- package/dist/Pagination/index.js.map +0 -1
- package/dist/SelectBox/SelectBoxInput.torp +0 -95
- package/dist/SelectBox/index.js.map +0 -1
- package/dist/TabGroup/index.js.map +0 -1
- package/dist/ToolBar/index.js.map +0 -1
- package/dist/icons/index.js.map +0 -1
- package/dist/index.d.ts +0 -19
- package/dist/metafile-esm.json +0 -1
- package/dist/motion/fade.ts +0 -16
- package/dist/motion/grow.ts +0 -23
- package/dist/motion/measure.ts +0 -28
- package/dist/motion/slide.ts +0 -45
- package/dist/mount/index.d.ts +0 -2
- package/dist/utils/index.d.ts +0 -2
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import type { ClassValue, StyleValue } from "@torpor/view";
|
|
2
|
+
import { type CalendarContext, CalendarContextName, type DayState } from "./CalendarTypes";
|
|
3
|
+
|
|
4
|
+
interface CalendarGridProps {
|
|
5
|
+
/** An ID for the root element */
|
|
6
|
+
id?: string;
|
|
7
|
+
/** Classes for the root element */
|
|
8
|
+
class?: ClassValue;
|
|
9
|
+
/** Styles for the root element */
|
|
10
|
+
style?: StyleValue;
|
|
11
|
+
/** An ARIA label for describing the grid to screen readers */
|
|
12
|
+
ariaLabel?: string | undefined;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* The grid of calendar days, wrapped in the row/gridcell structure that the
|
|
17
|
+
* grid role requires: each week is a `role="row"` and each day is a
|
|
18
|
+
* `role="gridcell"`.
|
|
19
|
+
*
|
|
20
|
+
* The days come from the Calendar's state as a flat list; they are grouped
|
|
21
|
+
* into rows of seven here. The slot is rendered once per day, with the day
|
|
22
|
+
* passed back to the slot content (`$slot.day`).
|
|
23
|
+
*/
|
|
24
|
+
export default function CalendarGrid($props: CalendarGridProps | undefined) {
|
|
25
|
+
// Get stuff out of the Calendar context
|
|
26
|
+
const context = $context[CalendarContextName] as CalendarContext;
|
|
27
|
+
if (!context) {
|
|
28
|
+
throw new Error("CalendarGrid must be contained within a Calendar");
|
|
29
|
+
}
|
|
30
|
+
const { handleKey, state: $state } = context;
|
|
31
|
+
|
|
32
|
+
// Group the flat days list into rows of seven (one row per week)
|
|
33
|
+
let $grid = $watch({
|
|
34
|
+
get weeks(): DayState[][] {
|
|
35
|
+
return $cache(() => {
|
|
36
|
+
const days = $state.days;
|
|
37
|
+
const weeks: DayState[][] = [];
|
|
38
|
+
for (let i = 0; i < days.length; i += 7) {
|
|
39
|
+
weeks.push(days.slice(i, i + 7));
|
|
40
|
+
}
|
|
41
|
+
return weeks;
|
|
42
|
+
});
|
|
43
|
+
},
|
|
44
|
+
});
|
|
45
|
+
|
|
46
|
+
// The selected date is marked on the gridcell (aria-selected is only
|
|
47
|
+
// valid there, not on the day component's button); the Calendar decides
|
|
48
|
+
// which dates count via its isSelected hook
|
|
49
|
+
function isSelected(day: DayState): boolean {
|
|
50
|
+
return context.isSelected(day.date);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
// Focus the day with `class=active`
|
|
54
|
+
function handleFocus(e: FocusEvent & { currentTarget: EventTarget & HTMLElement }) {
|
|
55
|
+
const el = e.currentTarget.getElementsByClassName("active")[0];
|
|
56
|
+
if (el && el.children[0] instanceof HTMLElement) {
|
|
57
|
+
el.children[0].focus();
|
|
58
|
+
e.preventDefault();
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
@render {
|
|
63
|
+
<div
|
|
64
|
+
{$props?.id}
|
|
65
|
+
class={["torp-calendar-grid", $props?.class]}
|
|
66
|
+
{$props?.style}
|
|
67
|
+
tabindex={context.selectable ? 0 : -1}
|
|
68
|
+
onfocus={handleFocus}
|
|
69
|
+
onkeydown={handleKey}
|
|
70
|
+
role="grid"
|
|
71
|
+
aria-label={$props?.ariaLabel ?? "Calendar"}
|
|
72
|
+
aria-colcount="7"
|
|
73
|
+
aria-readonly={!context.selectable ? "true" : undefined}
|
|
74
|
+
>
|
|
75
|
+
@for (let week of $grid.weeks) {
|
|
76
|
+
<div role="row" class="torp-calendar-row">
|
|
77
|
+
@for (let day of week) {
|
|
78
|
+
@key = day.date
|
|
79
|
+
<span
|
|
80
|
+
role="gridcell"
|
|
81
|
+
class="torp-calendar-cell"
|
|
82
|
+
aria-selected={context.selectable ? (isSelected(day) ? "true" : "false") : undefined}
|
|
83
|
+
>
|
|
84
|
+
<slot {day} />
|
|
85
|
+
</span>
|
|
86
|
+
}
|
|
87
|
+
</div>
|
|
88
|
+
}
|
|
89
|
+
</div>
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
@style {
|
|
93
|
+
.torp-calendar-grid {
|
|
94
|
+
display: grid;
|
|
95
|
+
}
|
|
96
|
+
.torp-calendar-row {
|
|
97
|
+
display: grid;
|
|
98
|
+
grid-template-columns: repeat(7, 1fr);
|
|
99
|
+
}
|
|
100
|
+
.torp-calendar-cell {
|
|
101
|
+
display: grid;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type { ClassValue, StyleValue } from "@torpor/view";
|
|
2
|
+
import { dayNames, shortDayNames } from "../utils/dateUtils";
|
|
3
|
+
import { type CalendarContext, CalendarContextName } from "./CalendarTypes";
|
|
4
|
+
|
|
5
|
+
interface CalendarGridHeaderProps {
|
|
6
|
+
/** An ID for the root element */
|
|
7
|
+
id?: string;
|
|
8
|
+
/** Classes for the root element */
|
|
9
|
+
class?: ClassValue;
|
|
10
|
+
/** Styles for the root element */
|
|
11
|
+
style?: StyleValue;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* The calendar grid header.
|
|
16
|
+
*/
|
|
17
|
+
export default function CalendarGridHeader($props: CalendarGridHeaderProps | undefined) {
|
|
18
|
+
// Get stuff out of the Calendar context
|
|
19
|
+
const context = $context[CalendarContextName] as CalendarContext;
|
|
20
|
+
if (!context) {
|
|
21
|
+
throw new Error("CalendarGridHeader must be contained within a Calendar");
|
|
22
|
+
}
|
|
23
|
+
const { startOfWeek } = context;
|
|
24
|
+
|
|
25
|
+
const days = [0, 1, 2, 3, 4, 5, 6].map((i) => ({
|
|
26
|
+
dayNumber: (startOfWeek + i) % 7,
|
|
27
|
+
dayName: dayNames[(startOfWeek + i) % 7],
|
|
28
|
+
shortDayName: shortDayNames[(startOfWeek + i) % 7],
|
|
29
|
+
}));
|
|
30
|
+
|
|
31
|
+
@render {
|
|
32
|
+
<div {$props?.id} class={["torp-calendar-grid-header", $props?.class]} {$props?.style} role="row">
|
|
33
|
+
<slot {days} />
|
|
34
|
+
</div>
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
@style {
|
|
38
|
+
.torp-calendar-grid-header {
|
|
39
|
+
display: grid;
|
|
40
|
+
grid-template-columns: repeat(7, 1fr);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type { ClassValue, StyleValue } from "@torpor/view";
|
|
2
|
+
import { monthNames } from "../utils/dateUtils";
|
|
3
|
+
import { type CalendarContext, CalendarContextName } from "./CalendarTypes";
|
|
4
|
+
|
|
5
|
+
interface CalendarHeaderProps {
|
|
6
|
+
/** An ID for the root element */
|
|
7
|
+
id?: string;
|
|
8
|
+
/** Classes for the root element */
|
|
9
|
+
class?: ClassValue;
|
|
10
|
+
/** Styles for the root element */
|
|
11
|
+
style?: StyleValue;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* The calendar header, containing the name of the active month and previous and next triggers.
|
|
16
|
+
*/
|
|
17
|
+
export default function CalendarHeader($props: CalendarHeaderProps | undefined) {
|
|
18
|
+
// Get stuff out of the Calendar context
|
|
19
|
+
const context = $context[CalendarContextName] as CalendarContext;
|
|
20
|
+
if (!context) {
|
|
21
|
+
throw new Error("CalendarHeader must be contained within a Calendar");
|
|
22
|
+
}
|
|
23
|
+
const { state: $calState } = context;
|
|
24
|
+
|
|
25
|
+
let $state = $watch({
|
|
26
|
+
get monthNumber() {
|
|
27
|
+
return $calState.visibleDate.getMonth();
|
|
28
|
+
},
|
|
29
|
+
get monthName() {
|
|
30
|
+
return monthNames[$state.monthNumber];
|
|
31
|
+
},
|
|
32
|
+
get year() {
|
|
33
|
+
return $calState.visibleDate.getFullYear();
|
|
34
|
+
},
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
@render {
|
|
38
|
+
<div
|
|
39
|
+
{$props?.id}
|
|
40
|
+
class={["torp-calendar-header", $props?.class]}
|
|
41
|
+
{$props?.style}
|
|
42
|
+
aria-live="polite"
|
|
43
|
+
aria-atomic="true"
|
|
44
|
+
>
|
|
45
|
+
<slot {$state.monthNumber} {$state.monthName} {$state.year} />
|
|
46
|
+
</div>
|
|
47
|
+
}
|
|
48
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import type { ClassValue, StyleValue } from "@torpor/view";
|
|
2
|
+
import ChevronLeft from "../icons/ChevronLeft.torp";
|
|
3
|
+
import ChevronRight from "../icons/ChevronRight.torp";
|
|
4
|
+
import { type CalendarContext, CalendarContextName, type TriggerType } from "./CalendarTypes";
|
|
5
|
+
|
|
6
|
+
interface CalendarTriggerProps {
|
|
7
|
+
/** An ID for the root element */
|
|
8
|
+
id?: string;
|
|
9
|
+
/** Classes for the root element */
|
|
10
|
+
class?: ClassValue;
|
|
11
|
+
/** Styles for the root element */
|
|
12
|
+
style?: StyleValue;
|
|
13
|
+
/** The type for the button */
|
|
14
|
+
type: TriggerType;
|
|
15
|
+
/** Whether this item is disabled */
|
|
16
|
+
disabled?: boolean;
|
|
17
|
+
/** An ARIA label for describing the button to screen readers */
|
|
18
|
+
ariaLabel?: string | undefined;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export default function CalendarHeaderTrigger($props: CalendarTriggerProps) {
|
|
22
|
+
// Get stuff out of the Calendar context
|
|
23
|
+
const context = $context[CalendarContextName] as CalendarContext;
|
|
24
|
+
if (!context) {
|
|
25
|
+
throw new Error("CalendarHeaderTrigger must be contained within a Calendar");
|
|
26
|
+
}
|
|
27
|
+
const { handleTrigger } = context;
|
|
28
|
+
|
|
29
|
+
function handleClick() {
|
|
30
|
+
// Pass the value to the toggleItem method in the parent Calendar which will handle toggling
|
|
31
|
+
// the value for all items
|
|
32
|
+
handleTrigger($props.type);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
@render {
|
|
36
|
+
<button
|
|
37
|
+
type="button"
|
|
38
|
+
{$props?.id}
|
|
39
|
+
class={["torp-calendar-trigger", $props?.class]}
|
|
40
|
+
{$props?.disabled}
|
|
41
|
+
data-type={$props.type}
|
|
42
|
+
onclick={handleClick}
|
|
43
|
+
aria-label={$props?.ariaLabel ?? ($props.type === "previous" ? "Previous month" : "Next month")}
|
|
44
|
+
>
|
|
45
|
+
<slot>
|
|
46
|
+
@if ($props.type === "previous") {
|
|
47
|
+
<ChevronLeft />
|
|
48
|
+
} else if ($props.type === "next") {
|
|
49
|
+
<ChevronRight />
|
|
50
|
+
}
|
|
51
|
+
</slot>
|
|
52
|
+
</button>
|
|
53
|
+
}
|
|
54
|
+
}
|
|
@@ -1,17 +1,36 @@
|
|
|
1
1
|
export const CalendarContextName: unique symbol = Symbol.for("torp.Calendar");
|
|
2
2
|
|
|
3
3
|
export interface CalendarContext {
|
|
4
|
+
selectable: boolean;
|
|
5
|
+
startOfWeek: number;
|
|
4
6
|
// The registerDay function is called from each CalendarDay to register itself with this
|
|
5
7
|
// Calendar. They pass us a setActive method that we can call
|
|
6
8
|
registerDay: (date: Date, setActive: (value: boolean) => void) => void;
|
|
9
|
+
handleTrigger: (type: TriggerType) => void;
|
|
10
|
+
handleDay: (date: Date) => void;
|
|
11
|
+
handleKey: (e: KeyboardEvent) => void;
|
|
12
|
+
/**
|
|
13
|
+
* Whether a date counts as selected, used for the day gridcells'
|
|
14
|
+
* aria-selected (which is only valid on a gridcell). Defaults to the
|
|
15
|
+
* active date; date range pickers override it so both range endpoints
|
|
16
|
+
* are announced
|
|
17
|
+
*/
|
|
18
|
+
isSelected: (date: Date) => boolean;
|
|
19
|
+
state: CalendarState;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export interface CalendarState {
|
|
23
|
+
activeDate: Date;
|
|
24
|
+
visibleDate: Date;
|
|
25
|
+
visibleStartDate: Date;
|
|
26
|
+
visibleEndDate: Date;
|
|
27
|
+
days: DayState[];
|
|
7
28
|
}
|
|
8
29
|
|
|
9
30
|
export interface DayState {
|
|
10
31
|
date: Date;
|
|
11
32
|
muted: boolean;
|
|
12
|
-
|
|
13
|
-
active: boolean;
|
|
14
|
-
};
|
|
33
|
+
active: boolean;
|
|
15
34
|
setActive?: (value: boolean) => void;
|
|
16
35
|
}
|
|
17
36
|
|
|
@@ -20,3 +39,5 @@ export interface CalendarEvent {
|
|
|
20
39
|
content: string;
|
|
21
40
|
color: string;
|
|
22
41
|
}
|
|
42
|
+
|
|
43
|
+
export type TriggerType = "previous" | "next";
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { areDatesEqual } from "../utils/dateUtils";
|
|
2
|
+
import { type CalendarState, type DayState } from "./CalendarTypes";
|
|
3
|
+
|
|
4
|
+
// The dates created here are plain dates -- they get wrapped automatically
|
|
5
|
+
// when they're assigned to watched state
|
|
6
|
+
export default function buildDays($state: CalendarState, startOfWeek: number): DayState[] {
|
|
7
|
+
const newDays = [];
|
|
8
|
+
|
|
9
|
+
const date = $state.visibleDate;
|
|
10
|
+
const activeDate = $state.activeDate;
|
|
11
|
+
|
|
12
|
+
// Set the first day to the start of the week before the first day of
|
|
13
|
+
// the month (e.g. Monday the 28th of the previous month)
|
|
14
|
+
let visibleStartDate = new Date();
|
|
15
|
+
visibleStartDate.setFullYear(date.getFullYear(), date.getMonth(), 1);
|
|
16
|
+
visibleStartDate.setDate(
|
|
17
|
+
visibleStartDate.getDate() - ((visibleStartDate.getDay() + 7 - startOfWeek) % 7),
|
|
18
|
+
);
|
|
19
|
+
|
|
20
|
+
// Set the last day to the end of the week after the last day of the
|
|
21
|
+
// month (e.g. Sunday the 6th of the next month)
|
|
22
|
+
let visibleEndDate = new Date();
|
|
23
|
+
visibleEndDate.setFullYear(date.getFullYear(), date.getMonth() + 1, 0);
|
|
24
|
+
visibleEndDate.setDate(
|
|
25
|
+
visibleEndDate.getDate() + ((startOfWeek - 1 - visibleEndDate.getDay() + 7) % 7),
|
|
26
|
+
);
|
|
27
|
+
|
|
28
|
+
$state.visibleStartDate = visibleStartDate;
|
|
29
|
+
$state.visibleEndDate = visibleEndDate;
|
|
30
|
+
|
|
31
|
+
const dayDiff =
|
|
32
|
+
Math.round((visibleEndDate.getTime() - visibleStartDate.getTime()) / (1000 * 60 * 60 * 24)) + 1;
|
|
33
|
+
|
|
34
|
+
for (let i = 0; i < dayDiff; i++) {
|
|
35
|
+
const dayDate = new Date();
|
|
36
|
+
dayDate.setFullYear(
|
|
37
|
+
visibleStartDate.getFullYear(),
|
|
38
|
+
visibleStartDate.getMonth(),
|
|
39
|
+
visibleStartDate.getDate() + i,
|
|
40
|
+
);
|
|
41
|
+
dayDate.setHours(0);
|
|
42
|
+
dayDate.setMinutes(0);
|
|
43
|
+
dayDate.setSeconds(0);
|
|
44
|
+
dayDate.setMilliseconds(0);
|
|
45
|
+
const newDay: DayState = {
|
|
46
|
+
date: dayDate,
|
|
47
|
+
muted: dayDate.getMonth() !== date.getMonth(),
|
|
48
|
+
active: areDatesEqual(dayDate, activeDate),
|
|
49
|
+
};
|
|
50
|
+
newDays.push(newDay);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
return newDays;
|
|
54
|
+
}
|
package/dist/Calendar/index.d.ts
CHANGED
|
@@ -5,11 +5,60 @@ interface CalendarProps {
|
|
|
5
5
|
/** An ID for the root element */
|
|
6
6
|
id?: string;
|
|
7
7
|
/** Classes for the root element */
|
|
8
|
-
class?: ClassValue
|
|
8
|
+
class?: ClassValue;
|
|
9
9
|
/** Styles for the root element */
|
|
10
|
-
style?: StyleValue
|
|
10
|
+
style?: StyleValue;
|
|
11
|
+
/** The starting index of the week, where 0 is Sunday */
|
|
12
|
+
startOfWeek?: number;
|
|
13
|
+
/** Whether a date can be selected. Set this to true for use in date pickers etc */
|
|
14
|
+
selectable?: boolean;
|
|
15
|
+
/** The selected date */
|
|
16
|
+
value?: Date;
|
|
17
|
+
// /** Events to show in the calendar */
|
|
18
|
+
// TODO: events?: CalendarEvent[],
|
|
19
|
+
/**
|
|
20
|
+
* Raised when the user selects a date (only when `selectable` is true);
|
|
21
|
+
* use this for the calendar's value
|
|
22
|
+
*/
|
|
23
|
+
onchange?: (value: Date) => void;
|
|
24
|
+
/**
|
|
25
|
+
* Raised when the visible date changes, i.e. when the user navigates to a
|
|
26
|
+
* different month via the previous/next triggers or the keyboard
|
|
27
|
+
*/
|
|
28
|
+
onchangedate?: (value: Date) => void;
|
|
29
|
+
/** Raised when the user presses Escape, so date pickers can close */
|
|
30
|
+
onclose?: () => void;
|
|
31
|
+
/**
|
|
32
|
+
* Whether a date counts as selected, used for the day gridcells'
|
|
33
|
+
* aria-selected. Defaults to the active date
|
|
34
|
+
*/
|
|
35
|
+
isSelected?: (date: Date) => boolean;
|
|
11
36
|
}
|
|
12
37
|
|
|
38
|
+
/**
|
|
39
|
+
* A basic calendar.
|
|
40
|
+
*
|
|
41
|
+
* The structure of a Calendar is:
|
|
42
|
+
*
|
|
43
|
+
* ```
|
|
44
|
+
* <Calendar>
|
|
45
|
+
* <CalendarHeader>
|
|
46
|
+
* <CalendarHeaderTrigger type="previous" />
|
|
47
|
+
* <h4>{$slot.monthName} {$slot.year}</h4>
|
|
48
|
+
* <CalendarHeaderTrigger type="next" />
|
|
49
|
+
* </CalendarHeader>
|
|
50
|
+
* <CalendarGridHeader>
|
|
51
|
+
* <CalendarDayHeader />
|
|
52
|
+
* </CalendarGridHeader>
|
|
53
|
+
* <CalendarGrid>
|
|
54
|
+
* <CalendarDay />
|
|
55
|
+
* </CalendarGrid>
|
|
56
|
+
* </Calendar>
|
|
57
|
+
* ```
|
|
58
|
+
*
|
|
59
|
+
* The CalendarGrid slot is rendered once per day, with the day passed back
|
|
60
|
+
* as `$slot.day`.
|
|
61
|
+
*/
|
|
13
62
|
declare function Calendar(
|
|
14
63
|
$parent: ParentNode,
|
|
15
64
|
$anchor: Node | null,
|
|
@@ -24,9 +73,19 @@ interface CalendarDayProps {
|
|
|
24
73
|
/** An ID for the root element */
|
|
25
74
|
id?: string;
|
|
26
75
|
/** Classes for the root element */
|
|
27
|
-
class?: ClassValue
|
|
76
|
+
class?: ClassValue;
|
|
28
77
|
/** Styles for the root element */
|
|
29
|
-
style?: StyleValue
|
|
78
|
+
style?: StyleValue;
|
|
79
|
+
/** The date to display */
|
|
80
|
+
date: Date;
|
|
81
|
+
/** Whether the date is muted (i.e. not in the currently displayed month) */
|
|
82
|
+
muted?: boolean;
|
|
83
|
+
/** Whether the date is active */
|
|
84
|
+
active?: boolean;
|
|
85
|
+
/** An ARIA label for describing the day to screen readers */
|
|
86
|
+
ariaLabel?: string | undefined;
|
|
87
|
+
onclick?: () => void;
|
|
88
|
+
onkeydown?: () => void;
|
|
30
89
|
}
|
|
31
90
|
|
|
32
91
|
declare function CalendarDay(
|
|
@@ -37,4 +96,131 @@ declare function CalendarDay(
|
|
|
37
96
|
$slots?: Record<string, SlotRender>,
|
|
38
97
|
): void;
|
|
39
98
|
|
|
40
|
-
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
interface CalendarDayHeaderProps {
|
|
102
|
+
/** An ID for the root element */
|
|
103
|
+
id?: string;
|
|
104
|
+
/** Classes for the root element */
|
|
105
|
+
class?: ClassValue;
|
|
106
|
+
/** Styles for the root element */
|
|
107
|
+
style?: StyleValue;
|
|
108
|
+
/** The day to display */
|
|
109
|
+
dayName: string;
|
|
110
|
+
/** The short day to display */
|
|
111
|
+
shortDayName: string;
|
|
112
|
+
/** An ARIA label for describing the day header to screen readers */
|
|
113
|
+
ariaLabel?: string | undefined;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
/**
|
|
117
|
+
* The calendar grid header.
|
|
118
|
+
*/
|
|
119
|
+
declare function CalendarDayHeader(
|
|
120
|
+
$parent: ParentNode,
|
|
121
|
+
$anchor: Node | null,
|
|
122
|
+
$props: CalendarDayHeaderProps | undefined,
|
|
123
|
+
$context?: Record<PropertyKey, any>,
|
|
124
|
+
$slots?: Record<string, SlotRender>,
|
|
125
|
+
): void;
|
|
126
|
+
|
|
127
|
+
|
|
128
|
+
|
|
129
|
+
interface CalendarGridProps {
|
|
130
|
+
/** An ID for the root element */
|
|
131
|
+
id?: string;
|
|
132
|
+
/** Classes for the root element */
|
|
133
|
+
class?: ClassValue;
|
|
134
|
+
/** Styles for the root element */
|
|
135
|
+
style?: StyleValue;
|
|
136
|
+
/** An ARIA label for describing the grid to screen readers */
|
|
137
|
+
ariaLabel?: string | undefined;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
/**
|
|
141
|
+
* The grid of calendar days, wrapped in the row/gridcell structure that the
|
|
142
|
+
* grid role requires: each week is a `role="row"` and each day is a
|
|
143
|
+
* `role="gridcell"`.
|
|
144
|
+
*
|
|
145
|
+
* The days come from the Calendar's state as a flat list; they are grouped
|
|
146
|
+
* into rows of seven here. The slot is rendered once per day, with the day
|
|
147
|
+
* passed back to the slot content (`$slot.day`).
|
|
148
|
+
*/
|
|
149
|
+
declare function CalendarGrid(
|
|
150
|
+
$parent: ParentNode,
|
|
151
|
+
$anchor: Node | null,
|
|
152
|
+
$props: CalendarGridProps | undefined,
|
|
153
|
+
$context?: Record<PropertyKey, any>,
|
|
154
|
+
$slots?: Record<string, SlotRender>,
|
|
155
|
+
): void;
|
|
156
|
+
|
|
157
|
+
|
|
158
|
+
|
|
159
|
+
interface CalendarGridHeaderProps {
|
|
160
|
+
/** An ID for the root element */
|
|
161
|
+
id?: string;
|
|
162
|
+
/** Classes for the root element */
|
|
163
|
+
class?: ClassValue;
|
|
164
|
+
/** Styles for the root element */
|
|
165
|
+
style?: StyleValue;
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
/**
|
|
169
|
+
* The calendar grid header.
|
|
170
|
+
*/
|
|
171
|
+
declare function CalendarGridHeader(
|
|
172
|
+
$parent: ParentNode,
|
|
173
|
+
$anchor: Node | null,
|
|
174
|
+
$props: CalendarGridHeaderProps | undefined,
|
|
175
|
+
$context?: Record<PropertyKey, any>,
|
|
176
|
+
$slots?: Record<string, SlotRender>,
|
|
177
|
+
): void;
|
|
178
|
+
|
|
179
|
+
|
|
180
|
+
|
|
181
|
+
interface CalendarHeaderProps {
|
|
182
|
+
/** An ID for the root element */
|
|
183
|
+
id?: string;
|
|
184
|
+
/** Classes for the root element */
|
|
185
|
+
class?: ClassValue;
|
|
186
|
+
/** Styles for the root element */
|
|
187
|
+
style?: StyleValue;
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
/**
|
|
191
|
+
* The calendar header, containing the name of the active month and previous and next triggers.
|
|
192
|
+
*/
|
|
193
|
+
declare function CalendarHeader(
|
|
194
|
+
$parent: ParentNode,
|
|
195
|
+
$anchor: Node | null,
|
|
196
|
+
$props: CalendarHeaderProps | undefined,
|
|
197
|
+
$context?: Record<PropertyKey, any>,
|
|
198
|
+
$slots?: Record<string, SlotRender>,
|
|
199
|
+
): void;
|
|
200
|
+
|
|
201
|
+
|
|
202
|
+
|
|
203
|
+
interface CalendarTriggerProps {
|
|
204
|
+
/** An ID for the root element */
|
|
205
|
+
id?: string;
|
|
206
|
+
/** Classes for the root element */
|
|
207
|
+
class?: ClassValue;
|
|
208
|
+
/** Styles for the root element */
|
|
209
|
+
style?: StyleValue;
|
|
210
|
+
/** The type for the button */
|
|
211
|
+
type: TriggerType;
|
|
212
|
+
/** Whether this item is disabled */
|
|
213
|
+
disabled?: boolean;
|
|
214
|
+
/** An ARIA label for describing the button to screen readers */
|
|
215
|
+
ariaLabel?: string | undefined;
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
declare function CalendarHeaderTrigger(
|
|
219
|
+
$parent: ParentNode,
|
|
220
|
+
$anchor: Node | null,
|
|
221
|
+
$props: CalendarTriggerProps,
|
|
222
|
+
$context?: Record<PropertyKey, any>,
|
|
223
|
+
$slots?: Record<string, SlotRender>,
|
|
224
|
+
): void;
|
|
225
|
+
|
|
226
|
+
export { Calendar, CalendarDay, CalendarDayHeader, CalendarGrid, CalendarGridHeader, CalendarHeader, CalendarHeaderTrigger };
|
package/dist/Calendar/index.js
CHANGED
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
import
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
import
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
};
|
|
10
|
-
//# sourceMappingURL=index.js.map
|
|
1
|
+
import Calendar from "./Calendar.torp";
|
|
2
|
+
import CalendarDay from "./CalendarDay.torp";
|
|
3
|
+
import CalendarDayHeader from "./CalendarDayHeader.torp";
|
|
4
|
+
import CalendarGrid from "./CalendarGrid.torp";
|
|
5
|
+
import CalendarGridHeader from "./CalendarGridHeader.torp";
|
|
6
|
+
import CalendarHeader from "./CalendarHeader.torp";
|
|
7
|
+
import CalendarHeaderTrigger from "./CalendarHeaderTrigger.torp";
|
|
8
|
+
export { Calendar, CalendarDay, CalendarDayHeader, CalendarGrid, CalendarGridHeader, CalendarHeader, CalendarHeaderTrigger };
|