@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.
Files changed (263) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +59 -0
  3. package/dist/accordion-parts.d.ts +15 -0
  4. package/dist/accordion-parts.js +19 -0
  5. package/dist/accordion.d.ts +10 -0
  6. package/dist/accordion.js +10 -0
  7. package/dist/alert-dialog-parts.d.ts +13 -0
  8. package/dist/alert-dialog-parts.js +15 -0
  9. package/dist/alert-dialog.d.ts +14 -0
  10. package/dist/alert-dialog.js +15 -0
  11. package/dist/alert.d.ts +11 -0
  12. package/dist/alert.js +12 -0
  13. package/dist/animated-size.d.ts +18 -0
  14. package/dist/animated-size.js +55 -0
  15. package/dist/avatar-parts.d.ts +10 -0
  16. package/dist/avatar-parts.js +14 -0
  17. package/dist/avatar.d.ts +9 -0
  18. package/dist/avatar.js +9 -0
  19. package/dist/badge.d.ts +4 -0
  20. package/dist/badge.js +5 -0
  21. package/dist/breadcrumbs.d.ts +11 -0
  22. package/dist/breadcrumbs.js +15 -0
  23. package/dist/bulk-bar.d.ts +8 -0
  24. package/dist/bulk-bar.js +9 -0
  25. package/dist/button.d.ts +13 -0
  26. package/dist/button.js +21 -0
  27. package/dist/calendar-parts.d.ts +81 -0
  28. package/dist/calendar-parts.js +213 -0
  29. package/dist/calendar.d.ts +17 -0
  30. package/dist/calendar.js +17 -0
  31. package/dist/card.d.ts +12 -0
  32. package/dist/card.js +13 -0
  33. package/dist/carousel-parts.d.ts +29 -0
  34. package/dist/carousel-parts.js +98 -0
  35. package/dist/carousel.d.ts +11 -0
  36. package/dist/carousel.js +11 -0
  37. package/dist/checkbox-parts.d.ts +7 -0
  38. package/dist/checkbox-parts.js +9 -0
  39. package/dist/checkbox.d.ts +7 -0
  40. package/dist/checkbox.js +8 -0
  41. package/dist/chip.d.ts +22 -0
  42. package/dist/chip.js +29 -0
  43. package/dist/collapsible-parts.d.ts +7 -0
  44. package/dist/collapsible-parts.js +9 -0
  45. package/dist/collapsible.d.ts +8 -0
  46. package/dist/collapsible.js +9 -0
  47. package/dist/combobox-parts.d.ts +85 -0
  48. package/dist/combobox-parts.js +61 -0
  49. package/dist/combobox.d.ts +84 -0
  50. package/dist/combobox.js +21 -0
  51. package/dist/command-palette-parts.d.ts +22 -0
  52. package/dist/command-palette-parts.js +56 -0
  53. package/dist/command-palette.d.ts +64 -0
  54. package/dist/command-palette.js +18 -0
  55. package/dist/composer.d.ts +7 -0
  56. package/dist/composer.js +8 -0
  57. package/dist/context-menu-parts.d.ts +8 -0
  58. package/dist/context-menu-parts.js +10 -0
  59. package/dist/context-menu.d.ts +12 -0
  60. package/dist/context-menu.js +13 -0
  61. package/dist/currency-input-parts.d.ts +22 -0
  62. package/dist/currency-input-parts.js +57 -0
  63. package/dist/currency-input.d.ts +8 -0
  64. package/dist/currency-input.js +8 -0
  65. package/dist/data-table-parts.d.ts +101 -0
  66. package/dist/data-table-parts.js +220 -0
  67. package/dist/data-table.d.ts +12 -0
  68. package/dist/data-table.js +12 -0
  69. package/dist/date-input-parts.d.ts +15 -0
  70. package/dist/date-input-parts.js +54 -0
  71. package/dist/date-input.d.ts +8 -0
  72. package/dist/date-input.js +8 -0
  73. package/dist/date-picker-parts.d.ts +29 -0
  74. package/dist/date-picker-parts.js +33 -0
  75. package/dist/date-picker.d.ts +29 -0
  76. package/dist/date-picker.js +15 -0
  77. package/dist/date-range-picker-parts.d.ts +37 -0
  78. package/dist/date-range-picker-parts.js +63 -0
  79. package/dist/date-range-picker.d.ts +29 -0
  80. package/dist/date-range-picker.js +15 -0
  81. package/dist/description-list.d.ts +8 -0
  82. package/dist/description-list.js +9 -0
  83. package/dist/dialog-parts.d.ts +12 -0
  84. package/dist/dialog-parts.js +14 -0
  85. package/dist/dialog.d.ts +14 -0
  86. package/dist/dialog.js +15 -0
  87. package/dist/divider.d.ts +5 -0
  88. package/dist/divider.js +9 -0
  89. package/dist/drawer-parts.d.ts +24 -0
  90. package/dist/drawer-parts.js +14 -0
  91. package/dist/drawer.d.ts +27 -0
  92. package/dist/drawer.js +15 -0
  93. package/dist/dropdown-menu-parts.d.ts +8 -0
  94. package/dist/dropdown-menu-parts.js +10 -0
  95. package/dist/dropdown-menu.d.ts +12 -0
  96. package/dist/dropdown-menu.js +13 -0
  97. package/dist/empty-state.d.ts +10 -0
  98. package/dist/empty-state.js +11 -0
  99. package/dist/field-parts.d.ts +15 -0
  100. package/dist/field-parts.js +63 -0
  101. package/dist/field.d.ts +11 -0
  102. package/dist/field.js +11 -0
  103. package/dist/file-dropzone-parts.d.ts +34 -0
  104. package/dist/file-dropzone-parts.js +108 -0
  105. package/dist/file-dropzone.d.ts +10 -0
  106. package/dist/file-dropzone.js +10 -0
  107. package/dist/heading.d.ts +9 -0
  108. package/dist/heading.js +12 -0
  109. package/dist/hover-card-parts.d.ts +8 -0
  110. package/dist/hover-card-parts.js +12 -0
  111. package/dist/hover-card.d.ts +9 -0
  112. package/dist/hover-card.js +9 -0
  113. package/dist/icon-button.d.ts +6 -0
  114. package/dist/icon-button.js +5 -0
  115. package/dist/icon.d.ts +7 -0
  116. package/dist/icon.js +12 -0
  117. package/dist/index.d.ts +94 -0
  118. package/dist/index.js +87 -0
  119. package/dist/input.d.ts +4 -0
  120. package/dist/input.js +5 -0
  121. package/dist/lib/commit-on.d.ts +15 -0
  122. package/dist/lib/commit-on.js +17 -0
  123. package/dist/lib/menu-parts.d.ts +21 -0
  124. package/dist/lib/menu-parts.js +23 -0
  125. package/dist/lib/modal-content.d.ts +17 -0
  126. package/dist/lib/modal-content.js +17 -0
  127. package/dist/lib/modal-parts.d.ts +6 -0
  128. package/dist/lib/modal-parts.js +7 -0
  129. package/dist/lib/part.d.ts +6 -0
  130. package/dist/lib/part.js +13 -0
  131. package/dist/lib/picker.d.ts +44 -0
  132. package/dist/lib/picker.js +75 -0
  133. package/dist/lib/visually-hidden.d.ts +6 -0
  134. package/dist/lib/visually-hidden.js +15 -0
  135. package/dist/link.d.ts +9 -0
  136. package/dist/link.js +12 -0
  137. package/dist/markdown.d.ts +10 -0
  138. package/dist/markdown.js +10 -0
  139. package/dist/message.d.ts +13 -0
  140. package/dist/message.js +15 -0
  141. package/dist/month-picker-parts.d.ts +19 -0
  142. package/dist/month-picker-parts.js +38 -0
  143. package/dist/month-picker.d.ts +15 -0
  144. package/dist/month-picker.js +15 -0
  145. package/dist/month-stepper-parts.d.ts +16 -0
  146. package/dist/month-stepper-parts.js +52 -0
  147. package/dist/month-stepper.d.ts +10 -0
  148. package/dist/month-stepper.js +10 -0
  149. package/dist/multiple-selector-parts.d.ts +39 -0
  150. package/dist/multiple-selector-parts.js +118 -0
  151. package/dist/multiple-selector.d.ts +76 -0
  152. package/dist/multiple-selector.js +23 -0
  153. package/dist/nav-bar.d.ts +7 -0
  154. package/dist/nav-bar.js +8 -0
  155. package/dist/navigation-menu-parts.d.ts +18 -0
  156. package/dist/navigation-menu-parts.js +25 -0
  157. package/dist/navigation-menu.d.ts +12 -0
  158. package/dist/navigation-menu.js +12 -0
  159. package/dist/otp-input-parts.d.ts +9 -0
  160. package/dist/otp-input-parts.js +11 -0
  161. package/dist/otp-input.d.ts +8 -0
  162. package/dist/otp-input.js +9 -0
  163. package/dist/page-header.d.ts +8 -0
  164. package/dist/page-header.js +9 -0
  165. package/dist/page.d.ts +8 -0
  166. package/dist/page.js +9 -0
  167. package/dist/pagination.d.ts +13 -0
  168. package/dist/pagination.js +24 -0
  169. package/dist/pill-select.d.ts +4 -0
  170. package/dist/pill-select.js +5 -0
  171. package/dist/popover-parts.d.ts +9 -0
  172. package/dist/popover-parts.js +13 -0
  173. package/dist/popover.d.ts +10 -0
  174. package/dist/popover.js +10 -0
  175. package/dist/portal.d.ts +15 -0
  176. package/dist/portal.js +20 -0
  177. package/dist/progress-parts.d.ts +11 -0
  178. package/dist/progress-parts.js +32 -0
  179. package/dist/progress.d.ts +8 -0
  180. package/dist/progress.js +8 -0
  181. package/dist/quantity-input-parts.d.ts +21 -0
  182. package/dist/quantity-input-parts.js +86 -0
  183. package/dist/quantity-input.d.ts +10 -0
  184. package/dist/quantity-input.js +10 -0
  185. package/dist/radio-parts.d.ts +13 -0
  186. package/dist/radio-parts.js +17 -0
  187. package/dist/radio.d.ts +8 -0
  188. package/dist/radio.js +8 -0
  189. package/dist/scroll-area-parts.d.ts +17 -0
  190. package/dist/scroll-area-parts.js +21 -0
  191. package/dist/scroll-area.d.ts +10 -0
  192. package/dist/scroll-area.js +10 -0
  193. package/dist/select-parts.d.ts +26 -0
  194. package/dist/select-parts.js +38 -0
  195. package/dist/select.d.ts +14 -0
  196. package/dist/select.js +14 -0
  197. package/dist/sheet-parts.d.ts +15 -0
  198. package/dist/sheet-parts.js +15 -0
  199. package/dist/sheet.d.ts +14 -0
  200. package/dist/sheet.js +16 -0
  201. package/dist/sidebar.d.ts +14 -0
  202. package/dist/sidebar.js +17 -0
  203. package/dist/skeleton.d.ts +4 -0
  204. package/dist/skeleton.js +5 -0
  205. package/dist/slider-parts.d.ts +9 -0
  206. package/dist/slider-parts.js +11 -0
  207. package/dist/slider.d.ts +9 -0
  208. package/dist/slider.js +10 -0
  209. package/dist/spinner.d.ts +6 -0
  210. package/dist/spinner.js +23 -0
  211. package/dist/stack-parts.d.ts +22 -0
  212. package/dist/stack-parts.js +125 -0
  213. package/dist/stack.d.ts +10 -0
  214. package/dist/stack.js +10 -0
  215. package/dist/stat.d.ts +9 -0
  216. package/dist/stat.js +10 -0
  217. package/dist/step-button.d.ts +11 -0
  218. package/dist/step-button.js +13 -0
  219. package/dist/stepper-parts.d.ts +19 -0
  220. package/dist/stepper-parts.js +44 -0
  221. package/dist/stepper.d.ts +11 -0
  222. package/dist/stepper.js +11 -0
  223. package/dist/switch-parts.d.ts +6 -0
  224. package/dist/switch-parts.js +8 -0
  225. package/dist/switch.d.ts +7 -0
  226. package/dist/switch.js +8 -0
  227. package/dist/table.d.ts +12 -0
  228. package/dist/table.js +13 -0
  229. package/dist/tabs-parts.d.ts +8 -0
  230. package/dist/tabs-parts.js +10 -0
  231. package/dist/tabs.d.ts +9 -0
  232. package/dist/tabs.js +10 -0
  233. package/dist/tag-input-parts.d.ts +30 -0
  234. package/dist/tag-input-parts.js +99 -0
  235. package/dist/tag-input.d.ts +10 -0
  236. package/dist/tag-input.js +10 -0
  237. package/dist/text-morph.d.ts +17 -0
  238. package/dist/text-morph.js +62 -0
  239. package/dist/text-shimmer.d.ts +9 -0
  240. package/dist/text-shimmer.js +8 -0
  241. package/dist/text.d.ts +4 -0
  242. package/dist/text.js +5 -0
  243. package/dist/textarea.d.ts +4 -0
  244. package/dist/textarea.js +5 -0
  245. package/dist/time-range-parts.d.ts +22 -0
  246. package/dist/time-range-parts.js +56 -0
  247. package/dist/time-range.d.ts +10 -0
  248. package/dist/time-range.js +10 -0
  249. package/dist/toast-parts.d.ts +12 -0
  250. package/dist/toast-parts.js +21 -0
  251. package/dist/toast.d.ts +13 -0
  252. package/dist/toast.js +12 -0
  253. package/dist/toggle-group-parts.d.ts +6 -0
  254. package/dist/toggle-group-parts.js +8 -0
  255. package/dist/toggle-group.d.ts +7 -0
  256. package/dist/toggle-group.js +8 -0
  257. package/dist/tooltip-parts.d.ts +10 -0
  258. package/dist/tooltip-parts.js +17 -0
  259. package/dist/tooltip.d.ts +10 -0
  260. package/dist/tooltip.js +10 -0
  261. package/dist/touch-target.d.ts +6 -0
  262. package/dist/touch-target.js +10 -0
  263. package/package.json +83 -0
@@ -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 };
@@ -0,0 +1,4 @@
1
+ //#region src/input.d.ts
2
+ declare const Input: (props: import("react").DetailedHTMLProps<import("react").InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>) => import("react").ReactNode;
3
+ //#endregion
4
+ export { Input };
package/dist/input.js ADDED
@@ -0,0 +1,5 @@
1
+ import { part } from "./lib/part.js";
2
+ //#region src/input.tsx
3
+ const Input = part("input", "input");
4
+ //#endregion
5
+ export { Input };
@@ -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,7 @@
1
+ import { part } from "./part.js";
2
+ //#region src/lib/modal-parts.tsx
3
+ /** Shared by Dialog, AlertDialog, Sheet and Drawer. */
4
+ const Body = part("div", "modal-body");
5
+ const Actions = part("div", "modal-actions");
6
+ //#endregion
7
+ 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 };
@@ -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,6 @@
1
+ import { CSSProperties } from "react";
2
+ //#region src/lib/visually-hidden.d.ts
3
+ /** Keeps content available to assistive tech while taking it out of the visual flow. */
4
+ declare const visuallyHidden: CSSProperties;
5
+ //#endregion
6
+ export { visuallyHidden };
@@ -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 };
@@ -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 };
@@ -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 };