@journ/nude 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +59 -0
- package/dist/accordion-parts.d.ts +15 -0
- package/dist/accordion-parts.js +19 -0
- package/dist/accordion.d.ts +10 -0
- package/dist/accordion.js +10 -0
- package/dist/alert-dialog-parts.d.ts +13 -0
- package/dist/alert-dialog-parts.js +15 -0
- package/dist/alert-dialog.d.ts +14 -0
- package/dist/alert-dialog.js +15 -0
- package/dist/alert.d.ts +11 -0
- package/dist/alert.js +12 -0
- package/dist/animated-size.d.ts +18 -0
- package/dist/animated-size.js +55 -0
- package/dist/avatar-parts.d.ts +10 -0
- package/dist/avatar-parts.js +14 -0
- package/dist/avatar.d.ts +9 -0
- package/dist/avatar.js +9 -0
- package/dist/badge.d.ts +4 -0
- package/dist/badge.js +5 -0
- package/dist/breadcrumbs.d.ts +11 -0
- package/dist/breadcrumbs.js +15 -0
- package/dist/bulk-bar.d.ts +8 -0
- package/dist/bulk-bar.js +9 -0
- package/dist/button.d.ts +13 -0
- package/dist/button.js +21 -0
- package/dist/calendar-parts.d.ts +81 -0
- package/dist/calendar-parts.js +213 -0
- package/dist/calendar.d.ts +17 -0
- package/dist/calendar.js +17 -0
- package/dist/card.d.ts +12 -0
- package/dist/card.js +13 -0
- package/dist/carousel-parts.d.ts +29 -0
- package/dist/carousel-parts.js +98 -0
- package/dist/carousel.d.ts +11 -0
- package/dist/carousel.js +11 -0
- package/dist/checkbox-parts.d.ts +7 -0
- package/dist/checkbox-parts.js +9 -0
- package/dist/checkbox.d.ts +7 -0
- package/dist/checkbox.js +8 -0
- package/dist/chip.d.ts +22 -0
- package/dist/chip.js +29 -0
- package/dist/collapsible-parts.d.ts +7 -0
- package/dist/collapsible-parts.js +9 -0
- package/dist/collapsible.d.ts +8 -0
- package/dist/collapsible.js +9 -0
- package/dist/combobox-parts.d.ts +85 -0
- package/dist/combobox-parts.js +61 -0
- package/dist/combobox.d.ts +84 -0
- package/dist/combobox.js +21 -0
- package/dist/command-palette-parts.d.ts +22 -0
- package/dist/command-palette-parts.js +56 -0
- package/dist/command-palette.d.ts +64 -0
- package/dist/command-palette.js +18 -0
- package/dist/composer.d.ts +7 -0
- package/dist/composer.js +8 -0
- package/dist/context-menu-parts.d.ts +8 -0
- package/dist/context-menu-parts.js +10 -0
- package/dist/context-menu.d.ts +12 -0
- package/dist/context-menu.js +13 -0
- package/dist/currency-input-parts.d.ts +22 -0
- package/dist/currency-input-parts.js +57 -0
- package/dist/currency-input.d.ts +8 -0
- package/dist/currency-input.js +8 -0
- package/dist/data-table-parts.d.ts +101 -0
- package/dist/data-table-parts.js +220 -0
- package/dist/data-table.d.ts +12 -0
- package/dist/data-table.js +12 -0
- package/dist/date-input-parts.d.ts +15 -0
- package/dist/date-input-parts.js +54 -0
- package/dist/date-input.d.ts +8 -0
- package/dist/date-input.js +8 -0
- package/dist/date-picker-parts.d.ts +29 -0
- package/dist/date-picker-parts.js +33 -0
- package/dist/date-picker.d.ts +29 -0
- package/dist/date-picker.js +15 -0
- package/dist/date-range-picker-parts.d.ts +37 -0
- package/dist/date-range-picker-parts.js +63 -0
- package/dist/date-range-picker.d.ts +29 -0
- package/dist/date-range-picker.js +15 -0
- package/dist/description-list.d.ts +8 -0
- package/dist/description-list.js +9 -0
- package/dist/dialog-parts.d.ts +12 -0
- package/dist/dialog-parts.js +14 -0
- package/dist/dialog.d.ts +14 -0
- package/dist/dialog.js +15 -0
- package/dist/divider.d.ts +5 -0
- package/dist/divider.js +9 -0
- package/dist/drawer-parts.d.ts +24 -0
- package/dist/drawer-parts.js +14 -0
- package/dist/drawer.d.ts +27 -0
- package/dist/drawer.js +15 -0
- package/dist/dropdown-menu-parts.d.ts +8 -0
- package/dist/dropdown-menu-parts.js +10 -0
- package/dist/dropdown-menu.d.ts +12 -0
- package/dist/dropdown-menu.js +13 -0
- package/dist/empty-state.d.ts +10 -0
- package/dist/empty-state.js +11 -0
- package/dist/field-parts.d.ts +15 -0
- package/dist/field-parts.js +63 -0
- package/dist/field.d.ts +11 -0
- package/dist/field.js +11 -0
- package/dist/file-dropzone-parts.d.ts +34 -0
- package/dist/file-dropzone-parts.js +108 -0
- package/dist/file-dropzone.d.ts +10 -0
- package/dist/file-dropzone.js +10 -0
- package/dist/heading.d.ts +9 -0
- package/dist/heading.js +12 -0
- package/dist/hover-card-parts.d.ts +8 -0
- package/dist/hover-card-parts.js +12 -0
- package/dist/hover-card.d.ts +9 -0
- package/dist/hover-card.js +9 -0
- package/dist/icon-button.d.ts +6 -0
- package/dist/icon-button.js +5 -0
- package/dist/icon.d.ts +7 -0
- package/dist/icon.js +12 -0
- package/dist/index.d.ts +94 -0
- package/dist/index.js +87 -0
- package/dist/input.d.ts +4 -0
- package/dist/input.js +5 -0
- package/dist/lib/commit-on.d.ts +15 -0
- package/dist/lib/commit-on.js +17 -0
- package/dist/lib/menu-parts.d.ts +21 -0
- package/dist/lib/menu-parts.js +23 -0
- package/dist/lib/modal-content.d.ts +17 -0
- package/dist/lib/modal-content.js +17 -0
- package/dist/lib/modal-parts.d.ts +6 -0
- package/dist/lib/modal-parts.js +7 -0
- package/dist/lib/part.d.ts +6 -0
- package/dist/lib/part.js +13 -0
- package/dist/lib/picker.d.ts +44 -0
- package/dist/lib/picker.js +75 -0
- package/dist/lib/visually-hidden.d.ts +6 -0
- package/dist/lib/visually-hidden.js +15 -0
- package/dist/link.d.ts +9 -0
- package/dist/link.js +12 -0
- package/dist/markdown.d.ts +10 -0
- package/dist/markdown.js +10 -0
- package/dist/message.d.ts +13 -0
- package/dist/message.js +15 -0
- package/dist/month-picker-parts.d.ts +19 -0
- package/dist/month-picker-parts.js +38 -0
- package/dist/month-picker.d.ts +15 -0
- package/dist/month-picker.js +15 -0
- package/dist/month-stepper-parts.d.ts +16 -0
- package/dist/month-stepper-parts.js +52 -0
- package/dist/month-stepper.d.ts +10 -0
- package/dist/month-stepper.js +10 -0
- package/dist/multiple-selector-parts.d.ts +39 -0
- package/dist/multiple-selector-parts.js +118 -0
- package/dist/multiple-selector.d.ts +76 -0
- package/dist/multiple-selector.js +23 -0
- package/dist/nav-bar.d.ts +7 -0
- package/dist/nav-bar.js +8 -0
- package/dist/navigation-menu-parts.d.ts +18 -0
- package/dist/navigation-menu-parts.js +25 -0
- package/dist/navigation-menu.d.ts +12 -0
- package/dist/navigation-menu.js +12 -0
- package/dist/otp-input-parts.d.ts +9 -0
- package/dist/otp-input-parts.js +11 -0
- package/dist/otp-input.d.ts +8 -0
- package/dist/otp-input.js +9 -0
- package/dist/page-header.d.ts +8 -0
- package/dist/page-header.js +9 -0
- package/dist/page.d.ts +8 -0
- package/dist/page.js +9 -0
- package/dist/pagination.d.ts +13 -0
- package/dist/pagination.js +24 -0
- package/dist/pill-select.d.ts +4 -0
- package/dist/pill-select.js +5 -0
- package/dist/popover-parts.d.ts +9 -0
- package/dist/popover-parts.js +13 -0
- package/dist/popover.d.ts +10 -0
- package/dist/popover.js +10 -0
- package/dist/portal.d.ts +15 -0
- package/dist/portal.js +20 -0
- package/dist/progress-parts.d.ts +11 -0
- package/dist/progress-parts.js +32 -0
- package/dist/progress.d.ts +8 -0
- package/dist/progress.js +8 -0
- package/dist/quantity-input-parts.d.ts +21 -0
- package/dist/quantity-input-parts.js +86 -0
- package/dist/quantity-input.d.ts +10 -0
- package/dist/quantity-input.js +10 -0
- package/dist/radio-parts.d.ts +13 -0
- package/dist/radio-parts.js +17 -0
- package/dist/radio.d.ts +8 -0
- package/dist/radio.js +8 -0
- package/dist/scroll-area-parts.d.ts +17 -0
- package/dist/scroll-area-parts.js +21 -0
- package/dist/scroll-area.d.ts +10 -0
- package/dist/scroll-area.js +10 -0
- package/dist/select-parts.d.ts +26 -0
- package/dist/select-parts.js +38 -0
- package/dist/select.d.ts +14 -0
- package/dist/select.js +14 -0
- package/dist/sheet-parts.d.ts +15 -0
- package/dist/sheet-parts.js +15 -0
- package/dist/sheet.d.ts +14 -0
- package/dist/sheet.js +16 -0
- package/dist/sidebar.d.ts +14 -0
- package/dist/sidebar.js +17 -0
- package/dist/skeleton.d.ts +4 -0
- package/dist/skeleton.js +5 -0
- package/dist/slider-parts.d.ts +9 -0
- package/dist/slider-parts.js +11 -0
- package/dist/slider.d.ts +9 -0
- package/dist/slider.js +10 -0
- package/dist/spinner.d.ts +6 -0
- package/dist/spinner.js +23 -0
- package/dist/stack-parts.d.ts +22 -0
- package/dist/stack-parts.js +125 -0
- package/dist/stack.d.ts +10 -0
- package/dist/stack.js +10 -0
- package/dist/stat.d.ts +9 -0
- package/dist/stat.js +10 -0
- package/dist/step-button.d.ts +11 -0
- package/dist/step-button.js +13 -0
- package/dist/stepper-parts.d.ts +19 -0
- package/dist/stepper-parts.js +44 -0
- package/dist/stepper.d.ts +11 -0
- package/dist/stepper.js +11 -0
- package/dist/switch-parts.d.ts +6 -0
- package/dist/switch-parts.js +8 -0
- package/dist/switch.d.ts +7 -0
- package/dist/switch.js +8 -0
- package/dist/table.d.ts +12 -0
- package/dist/table.js +13 -0
- package/dist/tabs-parts.d.ts +8 -0
- package/dist/tabs-parts.js +10 -0
- package/dist/tabs.d.ts +9 -0
- package/dist/tabs.js +10 -0
- package/dist/tag-input-parts.d.ts +30 -0
- package/dist/tag-input-parts.js +99 -0
- package/dist/tag-input.d.ts +10 -0
- package/dist/tag-input.js +10 -0
- package/dist/text-morph.d.ts +17 -0
- package/dist/text-morph.js +62 -0
- package/dist/text-shimmer.d.ts +9 -0
- package/dist/text-shimmer.js +8 -0
- package/dist/text.d.ts +4 -0
- package/dist/text.js +5 -0
- package/dist/textarea.d.ts +4 -0
- package/dist/textarea.js +5 -0
- package/dist/time-range-parts.d.ts +22 -0
- package/dist/time-range-parts.js +56 -0
- package/dist/time-range.d.ts +10 -0
- package/dist/time-range.js +10 -0
- package/dist/toast-parts.d.ts +12 -0
- package/dist/toast-parts.js +21 -0
- package/dist/toast.d.ts +13 -0
- package/dist/toast.js +12 -0
- package/dist/toggle-group-parts.d.ts +6 -0
- package/dist/toggle-group-parts.js +8 -0
- package/dist/toggle-group.d.ts +7 -0
- package/dist/toggle-group.js +8 -0
- package/dist/tooltip-parts.d.ts +10 -0
- package/dist/tooltip-parts.js +17 -0
- package/dist/tooltip.d.ts +10 -0
- package/dist/tooltip.js +10 -0
- package/dist/touch-target.d.ts +6 -0
- package/dist/touch-target.js +10 -0
- package/package.json +83 -0
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { Accordion } from "./accordion.js";
|
|
2
|
+
import { AlertDialog } from "./alert-dialog.js";
|
|
3
|
+
import { Alert } from "./alert.js";
|
|
4
|
+
import { AnimatedSize, AnimatedSizeProps } from "./animated-size.js";
|
|
5
|
+
import { Avatar } from "./avatar.js";
|
|
6
|
+
import { Badge } from "./badge.js";
|
|
7
|
+
import { Breadcrumbs } from "./breadcrumbs.js";
|
|
8
|
+
import { BulkBar } from "./bulk-bar.js";
|
|
9
|
+
import { Button, ButtonProps } from "./button.js";
|
|
10
|
+
import { IconButton, IconButtonProps } from "./icon-button.js";
|
|
11
|
+
import { CalendarActions, CalendarContextValue, CalendarMeta, CalendarState, CalendarView, RootProps, Weekday, useCalendar } from "./calendar-parts.js";
|
|
12
|
+
import { Calendar } from "./calendar.js";
|
|
13
|
+
import { Card } from "./card.js";
|
|
14
|
+
import { RootProps as RootProps$1, useCarousel } from "./carousel-parts.js";
|
|
15
|
+
import { Carousel } from "./carousel.js";
|
|
16
|
+
import { Checkbox } from "./checkbox.js";
|
|
17
|
+
import { Chip } from "./chip.js";
|
|
18
|
+
import { Collapsible } from "./collapsible.js";
|
|
19
|
+
import { ComboboxActions, ComboboxContextValue, ComboboxState, RootProps as RootProps$2, useCombobox } from "./combobox-parts.js";
|
|
20
|
+
import { Combobox } from "./combobox.js";
|
|
21
|
+
import { RootProps as RootProps$3 } from "./command-palette-parts.js";
|
|
22
|
+
import { CommandPalette } from "./command-palette.js";
|
|
23
|
+
import { Composer } from "./composer.js";
|
|
24
|
+
import { ContextMenu } from "./context-menu.js";
|
|
25
|
+
import { Input } from "./input.js";
|
|
26
|
+
import { RootProps as RootProps$4 } from "./currency-input-parts.js";
|
|
27
|
+
import { CurrencyInput } from "./currency-input.js";
|
|
28
|
+
import { Table } from "./table.js";
|
|
29
|
+
import { DataTableColumn, RootProps as RootProps$5, dataTableColumns, selectColumn, useDataTable } from "./data-table-parts.js";
|
|
30
|
+
import { DataTable } from "./data-table.js";
|
|
31
|
+
import { DateInput } from "./date-input.js";
|
|
32
|
+
import { DatePickerActions, DatePickerContextValue, DatePickerMeta, DatePickerState, RootProps as RootProps$6, useDatePicker } from "./date-picker-parts.js";
|
|
33
|
+
import { DatePicker } from "./date-picker.js";
|
|
34
|
+
import { DateRange, DateRangePickerActions, DateRangePickerContextValue, DateRangePickerMeta, DateRangePickerState, RootProps as RootProps$7, useDateRangePicker } from "./date-range-picker-parts.js";
|
|
35
|
+
import { DateRangePicker } from "./date-range-picker.js";
|
|
36
|
+
import { DescriptionList } from "./description-list.js";
|
|
37
|
+
import { Dialog } from "./dialog.js";
|
|
38
|
+
import { Divider } from "./divider.js";
|
|
39
|
+
import { Drawer } from "./drawer.js";
|
|
40
|
+
import { DropdownMenu } from "./dropdown-menu.js";
|
|
41
|
+
import { EmptyState } from "./empty-state.js";
|
|
42
|
+
import { Field } from "./field.js";
|
|
43
|
+
import { FileRejection, RejectionReason } from "./file-dropzone-parts.js";
|
|
44
|
+
import { FileDropzone } from "./file-dropzone.js";
|
|
45
|
+
import { Heading } from "./heading.js";
|
|
46
|
+
import { HoverCard } from "./hover-card.js";
|
|
47
|
+
import { Icon } from "./icon.js";
|
|
48
|
+
import { Link } from "./link.js";
|
|
49
|
+
import { Markdown, MarkdownProps } from "./markdown.js";
|
|
50
|
+
import { Message } from "./message.js";
|
|
51
|
+
import { RootProps as RootProps$8 } from "./month-picker-parts.js";
|
|
52
|
+
import { MonthPicker } from "./month-picker.js";
|
|
53
|
+
import { MonthStepper } from "./month-stepper.js";
|
|
54
|
+
import { RootProps as RootProps$9, useMultipleSelector } from "./multiple-selector-parts.js";
|
|
55
|
+
import { MultipleSelector } from "./multiple-selector.js";
|
|
56
|
+
import { NavBar } from "./nav-bar.js";
|
|
57
|
+
import { NavigationMenu } from "./navigation-menu.js";
|
|
58
|
+
import { OtpInput } from "./otp-input.js";
|
|
59
|
+
import { Page } from "./page.js";
|
|
60
|
+
import { PageHeader } from "./page-header.js";
|
|
61
|
+
import { Pagination } from "./pagination.js";
|
|
62
|
+
import { PillSelect } from "./pill-select.js";
|
|
63
|
+
import { Popover } from "./popover.js";
|
|
64
|
+
import { Portal, PortalProps } from "./portal.js";
|
|
65
|
+
import { Progress } from "./progress.js";
|
|
66
|
+
import { RootProps as RootProps$10 } from "./quantity-input-parts.js";
|
|
67
|
+
import { QuantityInput } from "./quantity-input.js";
|
|
68
|
+
import { Radio } from "./radio.js";
|
|
69
|
+
import { ScrollArea } from "./scroll-area.js";
|
|
70
|
+
import { Select } from "./select.js";
|
|
71
|
+
import { SheetContentProps as ContentProps, SheetSide as Side } from "./sheet-parts.js";
|
|
72
|
+
import { Sheet } from "./sheet.js";
|
|
73
|
+
import { Sidebar } from "./sidebar.js";
|
|
74
|
+
import { Skeleton } from "./skeleton.js";
|
|
75
|
+
import { Slider } from "./slider.js";
|
|
76
|
+
import { Spinner } from "./spinner.js";
|
|
77
|
+
import { Stack } from "./stack.js";
|
|
78
|
+
import { Stat } from "./stat.js";
|
|
79
|
+
import { Stepper } from "./stepper.js";
|
|
80
|
+
import { Switch } from "./switch.js";
|
|
81
|
+
import { Tabs } from "./tabs.js";
|
|
82
|
+
import { RootProps as RootProps$11, useTagInput } from "./tag-input-parts.js";
|
|
83
|
+
import { TagInput } from "./tag-input.js";
|
|
84
|
+
import { Text } from "./text.js";
|
|
85
|
+
import { TextMorph, TextMorphProps } from "./text-morph.js";
|
|
86
|
+
import { TextShimmer, TextShimmerProps } from "./text-shimmer.js";
|
|
87
|
+
import { Textarea } from "./textarea.js";
|
|
88
|
+
import { RootProps as RootProps$12, TimeRangeValue } from "./time-range-parts.js";
|
|
89
|
+
import { TimeRange } from "./time-range.js";
|
|
90
|
+
import { Toast } from "./toast.js";
|
|
91
|
+
import { ToggleGroup } from "./toggle-group.js";
|
|
92
|
+
import { Tooltip } from "./tooltip.js";
|
|
93
|
+
import { TouchTarget } from "./touch-target.js";
|
|
94
|
+
export { Accordion, Alert, AlertDialog, AnimatedSize, type AnimatedSizeProps, Avatar, Badge, Breadcrumbs, BulkBar, Button, type ButtonProps, Calendar, type CalendarActions, type CalendarContextValue, type CalendarMeta, type RootProps as CalendarProps, type CalendarState, type CalendarView, Card, Carousel, type RootProps$1 as CarouselProps, Checkbox, Chip, Collapsible, Combobox, type ComboboxActions, type ComboboxContextValue, type RootProps$2 as ComboboxProps, type ComboboxState, CommandPalette, type RootProps$3 as CommandPaletteProps, Composer, ContextMenu, CurrencyInput, type RootProps$4 as CurrencyInputProps, DataTable, type DataTableColumn, type RootProps$5 as DataTableProps, DateInput, DatePicker, type DatePickerActions, type DatePickerContextValue, type DatePickerMeta, type RootProps$6 as DatePickerProps, type DatePickerState, type DateRange, DateRangePicker, type DateRangePickerActions, type DateRangePickerContextValue, type DateRangePickerMeta, type RootProps$7 as DateRangePickerProps, type DateRangePickerState, DescriptionList, Dialog, Divider, Drawer, DropdownMenu, EmptyState, Field, FileDropzone, type FileRejection, Heading, HoverCard, Icon, IconButton, type IconButtonProps, Input, Link, Markdown, type MarkdownProps, Message, MonthPicker, type RootProps$8 as MonthPickerProps, MonthStepper, MultipleSelector, type RootProps$9 as MultipleSelectorProps, NavBar, NavigationMenu, OtpInput, Page, PageHeader, Pagination, PillSelect, Popover, Portal, type PortalProps, Progress, QuantityInput, type RootProps$10 as QuantityInputProps, Radio, type RejectionReason, ScrollArea, Select, Sheet, type ContentProps as SheetContentProps, type Side as SheetSide, Sidebar, Skeleton, Slider, Spinner, Stack, Stat, Stepper, Switch, Table, Tabs, TagInput, type RootProps$11 as TagInputProps, Text, TextMorph, type TextMorphProps, TextShimmer, type TextShimmerProps, Textarea, TimeRange, type RootProps$12 as TimeRangeProps, type TimeRangeValue, Toast, ToggleGroup, Tooltip, TouchTarget, type Weekday, dataTableColumns, selectColumn, useCalendar, useCarousel, useCombobox, useDataTable, useDatePicker, useDateRangePicker, useMultipleSelector, useTagInput };
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { Accordion } from "./accordion.js";
|
|
2
|
+
import { AlertDialog } from "./alert-dialog.js";
|
|
3
|
+
import { Alert } from "./alert.js";
|
|
4
|
+
import { AnimatedSize } from "./animated-size.js";
|
|
5
|
+
import { Avatar } from "./avatar.js";
|
|
6
|
+
import { Badge } from "./badge.js";
|
|
7
|
+
import { Breadcrumbs } from "./breadcrumbs.js";
|
|
8
|
+
import { BulkBar } from "./bulk-bar.js";
|
|
9
|
+
import { Button } from "./button.js";
|
|
10
|
+
import { IconButton } from "./icon-button.js";
|
|
11
|
+
import { useCalendar } from "./calendar-parts.js";
|
|
12
|
+
import { Calendar } from "./calendar.js";
|
|
13
|
+
import { Card } from "./card.js";
|
|
14
|
+
import { useCarousel } from "./carousel-parts.js";
|
|
15
|
+
import { Carousel } from "./carousel.js";
|
|
16
|
+
import { Checkbox } from "./checkbox.js";
|
|
17
|
+
import { Chip } from "./chip.js";
|
|
18
|
+
import { Collapsible } from "./collapsible.js";
|
|
19
|
+
import { useCombobox } from "./combobox-parts.js";
|
|
20
|
+
import { Combobox } from "./combobox.js";
|
|
21
|
+
import { CommandPalette } from "./command-palette.js";
|
|
22
|
+
import { Composer } from "./composer.js";
|
|
23
|
+
import { ContextMenu } from "./context-menu.js";
|
|
24
|
+
import { Input } from "./input.js";
|
|
25
|
+
import { CurrencyInput } from "./currency-input.js";
|
|
26
|
+
import { Pagination } from "./pagination.js";
|
|
27
|
+
import { Table } from "./table.js";
|
|
28
|
+
import { dataTableColumns, selectColumn, useDataTable } from "./data-table-parts.js";
|
|
29
|
+
import { DataTable } from "./data-table.js";
|
|
30
|
+
import { DateInput } from "./date-input.js";
|
|
31
|
+
import { useDatePicker } from "./date-picker-parts.js";
|
|
32
|
+
import { DatePicker } from "./date-picker.js";
|
|
33
|
+
import { useDateRangePicker } from "./date-range-picker-parts.js";
|
|
34
|
+
import { DateRangePicker } from "./date-range-picker.js";
|
|
35
|
+
import { DescriptionList } from "./description-list.js";
|
|
36
|
+
import { Dialog } from "./dialog.js";
|
|
37
|
+
import { Divider } from "./divider.js";
|
|
38
|
+
import { Drawer } from "./drawer.js";
|
|
39
|
+
import { DropdownMenu } from "./dropdown-menu.js";
|
|
40
|
+
import { EmptyState } from "./empty-state.js";
|
|
41
|
+
import { Field } from "./field.js";
|
|
42
|
+
import { FileDropzone } from "./file-dropzone.js";
|
|
43
|
+
import { Heading } from "./heading.js";
|
|
44
|
+
import { HoverCard } from "./hover-card.js";
|
|
45
|
+
import { Icon } from "./icon.js";
|
|
46
|
+
import { Link } from "./link.js";
|
|
47
|
+
import { Markdown } from "./markdown.js";
|
|
48
|
+
import { Message } from "./message.js";
|
|
49
|
+
import { MonthPicker } from "./month-picker.js";
|
|
50
|
+
import { MonthStepper } from "./month-stepper.js";
|
|
51
|
+
import { useMultipleSelector } from "./multiple-selector-parts.js";
|
|
52
|
+
import { MultipleSelector } from "./multiple-selector.js";
|
|
53
|
+
import { NavBar } from "./nav-bar.js";
|
|
54
|
+
import { NavigationMenu } from "./navigation-menu.js";
|
|
55
|
+
import { OtpInput } from "./otp-input.js";
|
|
56
|
+
import { Page } from "./page.js";
|
|
57
|
+
import { PageHeader } from "./page-header.js";
|
|
58
|
+
import { PillSelect } from "./pill-select.js";
|
|
59
|
+
import { Popover } from "./popover.js";
|
|
60
|
+
import { Portal } from "./portal.js";
|
|
61
|
+
import { Progress } from "./progress.js";
|
|
62
|
+
import { QuantityInput } from "./quantity-input.js";
|
|
63
|
+
import { Radio } from "./radio.js";
|
|
64
|
+
import { ScrollArea } from "./scroll-area.js";
|
|
65
|
+
import { Select } from "./select.js";
|
|
66
|
+
import { Sheet } from "./sheet.js";
|
|
67
|
+
import { Sidebar } from "./sidebar.js";
|
|
68
|
+
import { Skeleton } from "./skeleton.js";
|
|
69
|
+
import { Slider } from "./slider.js";
|
|
70
|
+
import { Spinner } from "./spinner.js";
|
|
71
|
+
import { Stack } from "./stack.js";
|
|
72
|
+
import { Stat } from "./stat.js";
|
|
73
|
+
import { Stepper } from "./stepper.js";
|
|
74
|
+
import { Switch } from "./switch.js";
|
|
75
|
+
import { Tabs } from "./tabs.js";
|
|
76
|
+
import { useTagInput } from "./tag-input-parts.js";
|
|
77
|
+
import { TagInput } from "./tag-input.js";
|
|
78
|
+
import { Text } from "./text.js";
|
|
79
|
+
import { TextMorph } from "./text-morph.js";
|
|
80
|
+
import { TextShimmer } from "./text-shimmer.js";
|
|
81
|
+
import { Textarea } from "./textarea.js";
|
|
82
|
+
import { TimeRange } from "./time-range.js";
|
|
83
|
+
import { Toast } from "./toast.js";
|
|
84
|
+
import { ToggleGroup } from "./toggle-group.js";
|
|
85
|
+
import { Tooltip } from "./tooltip.js";
|
|
86
|
+
import { TouchTarget } from "./touch-target.js";
|
|
87
|
+
export { Accordion, Alert, AlertDialog, AnimatedSize, Avatar, Badge, Breadcrumbs, BulkBar, Button, Calendar, Card, Carousel, Checkbox, Chip, Collapsible, Combobox, CommandPalette, Composer, ContextMenu, CurrencyInput, DataTable, DateInput, DatePicker, DateRangePicker, DescriptionList, Dialog, Divider, Drawer, DropdownMenu, EmptyState, Field, FileDropzone, Heading, HoverCard, Icon, IconButton, Input, Link, Markdown, Message, MonthPicker, MonthStepper, MultipleSelector, NavBar, NavigationMenu, OtpInput, Page, PageHeader, Pagination, PillSelect, Popover, Portal, Progress, QuantityInput, Radio, ScrollArea, Select, Sheet, Sidebar, Skeleton, Slider, Spinner, Stack, Stat, Stepper, Switch, Table, Tabs, TagInput, Text, TextMorph, TextShimmer, Textarea, TimeRange, Toast, ToggleGroup, Tooltip, TouchTarget, dataTableColumns, selectColumn, useCalendar, useCarousel, useCombobox, useDataTable, useDatePicker, useDateRangePicker, useMultipleSelector, useTagInput };
|
package/dist/input.d.ts
ADDED
package/dist/input.js
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { FocusEvent, FocusEventHandler, KeyboardEvent, KeyboardEventHandler } from "react";
|
|
2
|
+
//#region src/lib/commit-on.d.ts
|
|
3
|
+
/**
|
|
4
|
+
* Handlers that commit typed text on blur and on Enter, after the caller's own
|
|
5
|
+
* handlers have run. Spread them on a text field.
|
|
6
|
+
*/
|
|
7
|
+
declare const commitOn: <T extends HTMLElement>(commit: () => void, { onBlur, onKeyDown }?: {
|
|
8
|
+
onBlur?: FocusEventHandler<T>;
|
|
9
|
+
onKeyDown?: KeyboardEventHandler<T>;
|
|
10
|
+
}) => {
|
|
11
|
+
onBlur: (event: FocusEvent<T>) => void;
|
|
12
|
+
onKeyDown: (event: KeyboardEvent<T>) => void;
|
|
13
|
+
};
|
|
14
|
+
//#endregion
|
|
15
|
+
export { commitOn };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
//#region src/lib/commit-on.ts
|
|
2
|
+
/**
|
|
3
|
+
* Handlers that commit typed text on blur and on Enter, after the caller's own
|
|
4
|
+
* handlers have run. Spread them on a text field.
|
|
5
|
+
*/
|
|
6
|
+
const commitOn = (commit, { onBlur, onKeyDown } = {}) => ({
|
|
7
|
+
onBlur: (event) => {
|
|
8
|
+
onBlur?.(event);
|
|
9
|
+
commit();
|
|
10
|
+
},
|
|
11
|
+
onKeyDown: (event) => {
|
|
12
|
+
onKeyDown?.(event);
|
|
13
|
+
if (event.key === "Enter") commit();
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
//#endregion
|
|
17
|
+
export { commitOn };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { ComponentPropsWithRef, ElementType } from "react";
|
|
2
|
+
//#region src/lib/menu-parts.d.ts
|
|
3
|
+
type MenuPrimitive = {
|
|
4
|
+
Portal: ElementType;
|
|
5
|
+
Content: ElementType;
|
|
6
|
+
Item: ElementType;
|
|
7
|
+
Label: ElementType;
|
|
8
|
+
Separator: ElementType;
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* Content, Item, Label and Separator for any Radix menu-like primitive
|
|
12
|
+
* (dropdown menu, context menu, select). `slot` prefixes each `data-slot`.
|
|
13
|
+
*/
|
|
14
|
+
declare const createMenuParts: <P extends MenuPrimitive>(primitive: P, slot: string) => {
|
|
15
|
+
Content: (props: ComponentPropsWithRef<P['Content']>) => import("react").JSX.Element;
|
|
16
|
+
Item: (props: ComponentPropsWithRef<P["Item"]>) => import("react").ReactNode;
|
|
17
|
+
Label: (props: ComponentPropsWithRef<P["Label"]>) => import("react").ReactNode;
|
|
18
|
+
Separator: (props: ComponentPropsWithRef<P["Separator"]>) => import("react").ReactNode;
|
|
19
|
+
};
|
|
20
|
+
//#endregion
|
|
21
|
+
export { createMenuParts };
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { part } from "./part.js";
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
//#region src/lib/menu-parts.tsx
|
|
4
|
+
/**
|
|
5
|
+
* Content, Item, Label and Separator for any Radix menu-like primitive
|
|
6
|
+
* (dropdown menu, context menu, select). `slot` prefixes each `data-slot`.
|
|
7
|
+
*/
|
|
8
|
+
const createMenuParts = (primitive, slot) => {
|
|
9
|
+
const Portal = primitive.Portal;
|
|
10
|
+
const ContentPrimitive = primitive.Content;
|
|
11
|
+
const Content = (props) => /* @__PURE__ */ jsx(Portal, { children: /* @__PURE__ */ jsx(ContentPrimitive, {
|
|
12
|
+
"data-slot": `${slot}-content`,
|
|
13
|
+
...props
|
|
14
|
+
}) });
|
|
15
|
+
return {
|
|
16
|
+
Content,
|
|
17
|
+
Item: part(primitive.Item, `${slot}-item`),
|
|
18
|
+
Label: part(primitive.Label, `${slot}-label`),
|
|
19
|
+
Separator: part(primitive.Separator, `${slot}-separator`)
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
//#endregion
|
|
23
|
+
export { createMenuParts };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ComponentPropsWithRef, ElementType, Ref } from "react";
|
|
2
|
+
//#region src/lib/modal-content.d.ts
|
|
3
|
+
type ModalPrimitive = {
|
|
4
|
+
Portal: ElementType;
|
|
5
|
+
Overlay: ElementType;
|
|
6
|
+
Content: ElementType;
|
|
7
|
+
};
|
|
8
|
+
type ModalContentProps<P extends ModalPrimitive> = ComponentPropsWithRef<P['Content']> & {
|
|
9
|
+
classNames?: {
|
|
10
|
+
overlay?: string;
|
|
11
|
+
};
|
|
12
|
+
overlayRef?: Ref<HTMLDivElement>;
|
|
13
|
+
};
|
|
14
|
+
/** Opens in a portal over an overlay. `slot` prefixes each `data-slot`, e.g. `dialog` gives `dialog` and `dialog-overlay`. */
|
|
15
|
+
declare const createModalContent: <P extends ModalPrimitive>(primitive: P, slot: string) => ({ classNames, overlayRef, ...props }: ModalContentProps<P>) => import("react").JSX.Element;
|
|
16
|
+
//#endregion
|
|
17
|
+
export { type ModalContentProps, createModalContent };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
//#region src/lib/modal-content.tsx
|
|
3
|
+
/** Opens in a portal over an overlay. `slot` prefixes each `data-slot`, e.g. `dialog` gives `dialog` and `dialog-overlay`. */
|
|
4
|
+
const createModalContent = (primitive, slot) => {
|
|
5
|
+
const { Portal, Overlay, Content } = primitive;
|
|
6
|
+
const ModalContent = ({ classNames, overlayRef, ...props }) => /* @__PURE__ */ jsxs(Portal, { children: [/* @__PURE__ */ jsx(Overlay, {
|
|
7
|
+
ref: overlayRef,
|
|
8
|
+
"data-slot": `${slot}-overlay`,
|
|
9
|
+
className: classNames?.overlay
|
|
10
|
+
}), /* @__PURE__ */ jsx(Content, {
|
|
11
|
+
"data-slot": slot,
|
|
12
|
+
...props
|
|
13
|
+
})] });
|
|
14
|
+
return ModalContent;
|
|
15
|
+
};
|
|
16
|
+
//#endregion
|
|
17
|
+
export { createModalContent };
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
//#region src/lib/modal-parts.d.ts
|
|
2
|
+
/** Shared by Dialog, AlertDialog, Sheet and Drawer. */
|
|
3
|
+
declare const Body: (props: import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>) => import("react").ReactNode;
|
|
4
|
+
declare const Actions: (props: import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>) => import("react").ReactNode;
|
|
5
|
+
//#endregion
|
|
6
|
+
export { Actions, Body };
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { ComponentPropsWithRef, ElementType, ReactNode } from "react";
|
|
2
|
+
//#region src/lib/part.d.ts
|
|
3
|
+
/** A part that tags its element with `data-slot` and applies default props. Props given by the caller win. */
|
|
4
|
+
declare const part: <T extends ElementType>(element: T, slot: string, defaults?: Partial<ComponentPropsWithRef<T>>) => (props: ComponentPropsWithRef<T>) => ReactNode;
|
|
5
|
+
//#endregion
|
|
6
|
+
export { part };
|
package/dist/lib/part.js
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { createElement } from "react";
|
|
2
|
+
//#region src/lib/part.tsx
|
|
3
|
+
/** A part that tags its element with `data-slot` and applies default props. Props given by the caller win. */
|
|
4
|
+
const part = (element, slot, defaults) => {
|
|
5
|
+
const Part = (props) => createElement(element, {
|
|
6
|
+
"data-slot": slot,
|
|
7
|
+
...defaults,
|
|
8
|
+
...props
|
|
9
|
+
});
|
|
10
|
+
return Part;
|
|
11
|
+
};
|
|
12
|
+
//#endregion
|
|
13
|
+
export { part };
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { ComponentPropsWithRef, ReactNode } from "react";
|
|
2
|
+
//#region src/lib/picker.d.ts
|
|
3
|
+
type PickerState<V> = {
|
|
4
|
+
value: V | null;
|
|
5
|
+
open: boolean;
|
|
6
|
+
};
|
|
7
|
+
type PickerActions<V> = {
|
|
8
|
+
select: (value: V) => void;
|
|
9
|
+
setOpen: (open: boolean) => void;
|
|
10
|
+
};
|
|
11
|
+
type PickerContextValue<V, M> = {
|
|
12
|
+
state: PickerState<V>;
|
|
13
|
+
actions: PickerActions<V>;
|
|
14
|
+
meta: M;
|
|
15
|
+
};
|
|
16
|
+
type PickerProviderProps<V, M> = Omit<PickerContextValue<V, M>, 'meta'> & {
|
|
17
|
+
meta?: M;
|
|
18
|
+
children?: ReactNode;
|
|
19
|
+
};
|
|
20
|
+
type PickerOptions<V> = {
|
|
21
|
+
/** Keep the drawer open after a pick, for pickers that choose several values. */
|
|
22
|
+
closeOnSelect?: boolean;
|
|
23
|
+
/** When the value counts as empty and `Value` shows its placeholder. */
|
|
24
|
+
isEmpty?: (value: V | null) => boolean;
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* The state, trigger and value shared by every picker that opens in a drawer
|
|
28
|
+
* (combobox, date picker, date range picker). `slot` prefixes each `data-slot`.
|
|
29
|
+
*/
|
|
30
|
+
declare const createPicker: <V, M extends object = object>(name: string, slot: string, { closeOnSelect, isEmpty }?: PickerOptions<V>) => {
|
|
31
|
+
ContextProvider: ({ state, actions, meta, children }: PickerProviderProps<V, M>) => import("react").JSX.Element;
|
|
32
|
+
Provider: ({ children, ...props }: PickerProviderProps<V, M>) => import("react").JSX.Element;
|
|
33
|
+
Trigger: (props: ComponentPropsWithRef<'button'>) => import("react").JSX.Element;
|
|
34
|
+
Value: ({ placeholder, children, ...props }: ComponentPropsWithRef<'span'> & {
|
|
35
|
+
placeholder?: string;
|
|
36
|
+
}) => import("react").JSX.Element;
|
|
37
|
+
usePicker: any;
|
|
38
|
+
usePickerState: (value: V | null | undefined, defaultValue: V | null, onValueChange?: (value: V) => void) => {
|
|
39
|
+
state: PickerState<V>;
|
|
40
|
+
actions: PickerActions<V>;
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
//#endregion
|
|
44
|
+
export { type PickerActions, type PickerContextValue, type PickerProviderProps, type PickerState, createPicker };
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { Button } from "../button.js";
|
|
2
|
+
import { Root, Trigger } from "../drawer-parts.js";
|
|
3
|
+
import { useState } from "react";
|
|
4
|
+
import { jsx } from "react/jsx-runtime";
|
|
5
|
+
import { createRequiredContext, useControllableState } from "@journ/lift";
|
|
6
|
+
//#region src/lib/picker.tsx
|
|
7
|
+
/**
|
|
8
|
+
* The state, trigger and value shared by every picker that opens in a drawer
|
|
9
|
+
* (combobox, date picker, date range picker). `slot` prefixes each `data-slot`.
|
|
10
|
+
*/
|
|
11
|
+
const createPicker = (name, slot, { closeOnSelect = true, isEmpty = (value) => value === null } = {}) => {
|
|
12
|
+
const [Context, usePicker] = createRequiredContext(`${name}.Provider or ${name}.Root`);
|
|
13
|
+
/** Shares state and actions without opening a drawer, for pickers hosted elsewhere. */
|
|
14
|
+
const ContextProvider = ({ state, actions, meta = {}, children }) => /* @__PURE__ */ jsx(Context, {
|
|
15
|
+
value: {
|
|
16
|
+
state,
|
|
17
|
+
actions,
|
|
18
|
+
meta
|
|
19
|
+
},
|
|
20
|
+
children
|
|
21
|
+
});
|
|
22
|
+
const Provider = ({ children, ...props }) => /* @__PURE__ */ jsx(ContextProvider, {
|
|
23
|
+
...props,
|
|
24
|
+
children: /* @__PURE__ */ jsx(Root, {
|
|
25
|
+
open: props.state.open,
|
|
26
|
+
onOpenChange: props.actions.setOpen,
|
|
27
|
+
children
|
|
28
|
+
})
|
|
29
|
+
});
|
|
30
|
+
/** Controllable value plus open state. Picking a value closes the drawer. */
|
|
31
|
+
const usePickerState = (value, defaultValue, onValueChange) => {
|
|
32
|
+
const [current, setCurrent] = useControllableState(value, defaultValue, onValueChange);
|
|
33
|
+
const [open, setOpen] = useState(false);
|
|
34
|
+
return {
|
|
35
|
+
state: {
|
|
36
|
+
value: current,
|
|
37
|
+
open
|
|
38
|
+
},
|
|
39
|
+
actions: {
|
|
40
|
+
select: (next) => {
|
|
41
|
+
setCurrent(next);
|
|
42
|
+
if (closeOnSelect) setOpen(false);
|
|
43
|
+
},
|
|
44
|
+
setOpen
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
};
|
|
48
|
+
const Trigger$1 = (props) => /* @__PURE__ */ jsx(Trigger, {
|
|
49
|
+
asChild: true,
|
|
50
|
+
children: /* @__PURE__ */ jsx(Button, {
|
|
51
|
+
"data-slot": `${slot}-trigger`,
|
|
52
|
+
...props
|
|
53
|
+
})
|
|
54
|
+
});
|
|
55
|
+
/** Shows `placeholder` until a value exists, then its children. */
|
|
56
|
+
const Value = ({ placeholder, children, ...props }) => {
|
|
57
|
+
const { state } = usePicker();
|
|
58
|
+
return /* @__PURE__ */ jsx("span", {
|
|
59
|
+
"data-slot": `${slot}-value`,
|
|
60
|
+
"data-placeholder": isEmpty(state.value),
|
|
61
|
+
...props,
|
|
62
|
+
children: isEmpty(state.value) ? placeholder : children
|
|
63
|
+
});
|
|
64
|
+
};
|
|
65
|
+
return {
|
|
66
|
+
ContextProvider,
|
|
67
|
+
Provider,
|
|
68
|
+
Trigger: Trigger$1,
|
|
69
|
+
Value,
|
|
70
|
+
usePicker,
|
|
71
|
+
usePickerState
|
|
72
|
+
};
|
|
73
|
+
};
|
|
74
|
+
//#endregion
|
|
75
|
+
export { createPicker };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
//#region src/lib/visually-hidden.ts
|
|
2
|
+
/** Keeps content available to assistive tech while taking it out of the visual flow. */
|
|
3
|
+
const visuallyHidden = {
|
|
4
|
+
position: "absolute",
|
|
5
|
+
width: 1,
|
|
6
|
+
height: 1,
|
|
7
|
+
padding: 0,
|
|
8
|
+
margin: -1,
|
|
9
|
+
overflow: "hidden",
|
|
10
|
+
clip: "rect(0, 0, 0, 0)",
|
|
11
|
+
whiteSpace: "nowrap",
|
|
12
|
+
borderWidth: 0
|
|
13
|
+
};
|
|
14
|
+
//#endregion
|
|
15
|
+
export { visuallyHidden };
|
package/dist/link.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ComponentPropsWithRef } from "react";
|
|
2
|
+
//#region src/link.d.ts
|
|
3
|
+
type LinkProps = ComponentPropsWithRef<'a'> & {
|
|
4
|
+
asChild?: boolean;
|
|
5
|
+
};
|
|
6
|
+
/** Pass `asChild` to render your router's link component instead of a plain anchor. */
|
|
7
|
+
declare const Link: ({ asChild, ...props }: LinkProps) => import("react").JSX.Element;
|
|
8
|
+
//#endregion
|
|
9
|
+
export { Link, type LinkProps };
|
package/dist/link.js
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Slot } from "@radix-ui/react-slot";
|
|
3
|
+
//#region src/link.tsx
|
|
4
|
+
/** Pass `asChild` to render your router's link component instead of a plain anchor. */
|
|
5
|
+
const Link = ({ asChild, ...props }) => {
|
|
6
|
+
return /* @__PURE__ */ jsx(asChild ? Slot : "a", {
|
|
7
|
+
"data-slot": "link",
|
|
8
|
+
...props
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
//#endregion
|
|
12
|
+
export { Link };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ComponentProps } from "react";
|
|
2
|
+
import ReactMarkdown, { Components as MarkdownComponents } from "react-markdown";
|
|
3
|
+
//#region src/markdown.d.ts
|
|
4
|
+
type MarkdownProps = ComponentProps<typeof ReactMarkdown> & {
|
|
5
|
+
/** Applied to the wrapper. */
|
|
6
|
+
className?: string;
|
|
7
|
+
};
|
|
8
|
+
declare const Markdown: ({ className, ...props }: MarkdownProps) => import("react").JSX.Element;
|
|
9
|
+
//#endregion
|
|
10
|
+
export { Markdown, type MarkdownComponents, type MarkdownProps };
|
package/dist/markdown.js
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import ReactMarkdown from "react-markdown";
|
|
3
|
+
//#region src/markdown.tsx
|
|
4
|
+
const Markdown = ({ className, ...props }) => /* @__PURE__ */ jsx("div", {
|
|
5
|
+
"data-slot": "markdown",
|
|
6
|
+
className,
|
|
7
|
+
children: /* @__PURE__ */ jsx(ReactMarkdown, { ...props })
|
|
8
|
+
});
|
|
9
|
+
//#endregion
|
|
10
|
+
export { Markdown };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ComponentPropsWithRef } from "react";
|
|
2
|
+
//#region src/message.d.ts
|
|
3
|
+
type RootProps = ComponentPropsWithRef<'div'> & {
|
|
4
|
+
from?: 'agent' | 'user';
|
|
5
|
+
};
|
|
6
|
+
declare const Root: ({ from, ...props }: RootProps) => import("react").JSX.Element;
|
|
7
|
+
declare const Message: {
|
|
8
|
+
Root: typeof Root;
|
|
9
|
+
Bubble: (props: import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>) => import("react").ReactNode;
|
|
10
|
+
Highlight: (props: import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>) => import("react").ReactNode;
|
|
11
|
+
};
|
|
12
|
+
//#endregion
|
|
13
|
+
export { Message, type RootProps as MessageProps };
|
package/dist/message.js
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { part } from "./lib/part.js";
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
//#region src/message.tsx
|
|
4
|
+
const Root = ({ from = "agent", ...props }) => /* @__PURE__ */ jsx("div", {
|
|
5
|
+
"data-slot": "message",
|
|
6
|
+
"data-from": from,
|
|
7
|
+
...props
|
|
8
|
+
});
|
|
9
|
+
const Message = {
|
|
10
|
+
Root,
|
|
11
|
+
Bubble: part("div", "message-bubble"),
|
|
12
|
+
Highlight: part("span", "message-highlight")
|
|
13
|
+
};
|
|
14
|
+
//#endregion
|
|
15
|
+
export { Message };
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ReactNode } from "react";
|
|
2
|
+
//#region src/month-picker-parts.d.ts
|
|
3
|
+
type RootProps = {
|
|
4
|
+
/** Any day in the selected month. Reported back as the first of the month. */
|
|
5
|
+
value?: Date | null;
|
|
6
|
+
defaultValue?: Date | null;
|
|
7
|
+
onValueChange?: (month: Date) => void;
|
|
8
|
+
/** The year shown first. Defaults to the selected month's year. */
|
|
9
|
+
defaultMonth?: Date;
|
|
10
|
+
locale?: string;
|
|
11
|
+
children?: ReactNode;
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* A calendar that stops at months: it reuses the Calendar parts (Frame, Header,
|
|
15
|
+
* Heading, Previous, Next, Months, Years) and never shows days.
|
|
16
|
+
*/
|
|
17
|
+
declare const Root: ({ value, defaultValue, onValueChange, defaultMonth, locale, children }: RootProps) => import("react").JSX.Element;
|
|
18
|
+
//#endregion
|
|
19
|
+
export { Root, type RootProps };
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { Provider, useCalendarNavigation } from "./calendar-parts.js";
|
|
3
|
+
import { jsx } from "react/jsx-runtime";
|
|
4
|
+
import { useControllableState } from "@journ/lift";
|
|
5
|
+
import { startOfMonth } from "@journ/fitter-happier";
|
|
6
|
+
//#region src/month-picker-parts.tsx
|
|
7
|
+
/**
|
|
8
|
+
* A calendar that stops at months: it reuses the Calendar parts (Frame, Header,
|
|
9
|
+
* Heading, Previous, Next, Months, Years) and never shows days.
|
|
10
|
+
*/
|
|
11
|
+
const Root = ({ value, defaultValue = null, onValueChange, defaultMonth, locale = "en", children }) => {
|
|
12
|
+
const [selected, setSelected] = useControllableState(value ? startOfMonth(value) : value, defaultValue && startOfMonth(defaultValue), onValueChange);
|
|
13
|
+
const { month, view, navigation } = useCalendarNavigation(defaultMonth ?? selected ?? /* @__PURE__ */ new Date(), "months");
|
|
14
|
+
const actions = {
|
|
15
|
+
...navigation,
|
|
16
|
+
select: () => void 0,
|
|
17
|
+
showView: (next) => navigation.showView(next === "days" ? "months" : next),
|
|
18
|
+
showMonth: (next) => {
|
|
19
|
+
if (view === "months") setSelected(startOfMonth(next));
|
|
20
|
+
navigation.showMonth(next);
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
return /* @__PURE__ */ jsx(Provider, {
|
|
24
|
+
state: {
|
|
25
|
+
selected,
|
|
26
|
+
month,
|
|
27
|
+
view
|
|
28
|
+
},
|
|
29
|
+
actions,
|
|
30
|
+
meta: {
|
|
31
|
+
locale,
|
|
32
|
+
weekStartsOn: 0
|
|
33
|
+
},
|
|
34
|
+
children
|
|
35
|
+
});
|
|
36
|
+
};
|
|
37
|
+
//#endregion
|
|
38
|
+
export { Root };
|