@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.
Files changed (342) hide show
  1. package/README.md +83 -7
  2. package/dist/Accordion/Accordion.torp +42 -165
  3. package/dist/Accordion/AccordionContent.torp +6 -6
  4. package/dist/Accordion/AccordionHeader.torp +7 -11
  5. package/dist/Accordion/AccordionItem.torp +24 -24
  6. package/dist/Accordion/AccordionTrigger.torp +17 -8
  7. package/dist/Accordion/AccordionTypes.ts +1 -1
  8. package/dist/Accordion/index.d.ts +23 -25
  9. package/dist/Accordion/index.js +6 -22
  10. package/dist/Breadcrumb/Breadcrumb.torp +12 -10
  11. package/dist/Breadcrumb/BreadcrumbItem.torp +6 -6
  12. package/dist/Breadcrumb/BreadcrumbList.torp +21 -0
  13. package/dist/Breadcrumb/BreadcrumbSeparator.torp +4 -4
  14. package/dist/Breadcrumb/index.d.ts +39 -15
  15. package/dist/Breadcrumb/index.js +5 -14
  16. package/dist/Calendar/Calendar.torp +163 -156
  17. package/dist/Calendar/CalendarDay.torp +91 -45
  18. package/dist/Calendar/CalendarDayHeader.torp +36 -0
  19. package/dist/Calendar/CalendarGrid.torp +104 -0
  20. package/dist/Calendar/CalendarGridHeader.torp +43 -0
  21. package/dist/Calendar/CalendarHeader.torp +48 -0
  22. package/dist/Calendar/CalendarHeaderTrigger.torp +54 -0
  23. package/dist/Calendar/CalendarTypes.ts +24 -3
  24. package/dist/Calendar/buildDays.ts +54 -0
  25. package/dist/Calendar/index.d.ts +191 -5
  26. package/dist/Calendar/index.js +8 -10
  27. package/dist/Carousel/Carousel.torp +180 -0
  28. package/dist/Carousel/CarouselIndicators.torp +65 -0
  29. package/dist/Carousel/CarouselNext.torp +43 -0
  30. package/dist/Carousel/CarouselPrevious.torp +44 -0
  31. package/dist/Carousel/CarouselSlide.torp +57 -0
  32. package/dist/Carousel/CarouselTypes.ts +28 -0
  33. package/dist/Carousel/index.d.ts +147 -0
  34. package/dist/Carousel/index.js +6 -0
  35. package/dist/Charts/BarChart.torp +55 -144
  36. package/dist/Charts/Chart.torp +120 -0
  37. package/dist/Charts/ChartBars.torp +78 -0
  38. package/dist/Charts/ChartColumns.torp +66 -0
  39. package/dist/Charts/ChartGrid.torp +54 -0
  40. package/dist/Charts/ChartLines.torp +60 -0
  41. package/dist/Charts/ChartTypes.ts +25 -0
  42. package/dist/Charts/ChartXAxis.torp +85 -0
  43. package/dist/Charts/ChartYAxis.torp +107 -0
  44. package/dist/Charts/ColumnChart.torp +70 -0
  45. package/dist/Charts/GridLines.torp +4 -4
  46. package/dist/Charts/LineChart.torp +55 -178
  47. package/dist/Charts/PieChart.torp +14 -20
  48. package/dist/Charts/ScatterChart.torp +45 -38
  49. package/dist/Charts/SparkLine.torp +16 -19
  50. package/dist/Charts/XAxis.torp +14 -11
  51. package/dist/Charts/YAxis.torp +10 -8
  52. package/dist/Charts/index.d.ts +328 -79
  53. package/dist/Charts/index.js +17 -34
  54. package/dist/ColorPicker/ColorPalette.torp +154 -0
  55. package/dist/ColorPicker/ColorPicker.torp +157 -0
  56. package/dist/ColorPicker/index.d.ts +85 -0
  57. package/dist/ColorPicker/index.js +3 -0
  58. package/dist/ComboBox/ComboBox.torp +205 -0
  59. package/dist/ComboBox/ComboBoxContent.torp +120 -0
  60. package/dist/ComboBox/ComboBoxInput.torp +161 -0
  61. package/dist/ComboBox/ComboBoxTrigger.torp +49 -0
  62. package/dist/ComboBox/ComboBoxTypes.ts +39 -0
  63. package/dist/ComboBox/index.d.ts +154 -0
  64. package/dist/ComboBox/index.js +6 -0
  65. package/dist/CommandPalette/CommandPalette.torp +223 -0
  66. package/dist/CommandPalette/CommandTypes.ts +14 -0
  67. package/dist/CommandPalette/index.d.ts +45 -0
  68. package/dist/CommandPalette/index.js +2 -0
  69. package/dist/Contextual/Contextual.torp +32 -50
  70. package/dist/Contextual/ContextualContent.torp +29 -73
  71. package/dist/Contextual/ContextualHover.torp +112 -0
  72. package/dist/Contextual/ContextualTrigger.torp +31 -42
  73. package/dist/Contextual/ContextualTypes.ts +4 -17
  74. package/dist/Contextual/index.d.ts +44 -27
  75. package/dist/Contextual/index.js +5 -14
  76. package/dist/DataGrid/DataGrid.torp +496 -0
  77. package/dist/DataGrid/DataGridTypes.ts +25 -0
  78. package/dist/DataGrid/index.d.ts +90 -0
  79. package/dist/DataGrid/index.js +3 -0
  80. package/dist/DataGrid/sortRows.ts +32 -0
  81. package/dist/DatePicker/DatePicker.torp +222 -0
  82. package/dist/DatePicker/DatePickerHeader.torp +20 -0
  83. package/dist/DatePicker/index.d.ts +55 -0
  84. package/dist/DatePicker/index.js +2 -0
  85. package/dist/DateRangePicker/DateRangePicker.torp +315 -0
  86. package/dist/DateRangePicker/DateRangePickerDay.torp +137 -0
  87. package/dist/DateRangePicker/DateRangePickerTypes.ts +21 -0
  88. package/dist/DateRangePicker/index.d.ts +76 -0
  89. package/dist/DateRangePicker/index.js +3 -0
  90. package/dist/Dialog/Dialog.torp +24 -17
  91. package/dist/Dialog/DialogBody.torp +5 -9
  92. package/dist/Dialog/DialogButton.torp +12 -12
  93. package/dist/Dialog/DialogFooter.torp +3 -7
  94. package/dist/Dialog/DialogHeader.torp +6 -10
  95. package/dist/Dialog/index.d.ts +27 -27
  96. package/dist/Dialog/index.js +6 -22
  97. package/dist/Disclosure/Disclosure.torp +18 -18
  98. package/dist/Disclosure/DisclosureContent.torp +5 -6
  99. package/dist/Disclosure/DisclosureHeader.torp +7 -11
  100. package/dist/Disclosure/DisclosureTrigger.torp +4 -5
  101. package/dist/Disclosure/index.d.ts +14 -16
  102. package/dist/Disclosure/index.js +5 -18
  103. package/dist/Drawer/Drawer.torp +19 -49
  104. package/dist/Drawer/DrawerContent.torp +70 -13
  105. package/dist/Drawer/DrawerOverlay.torp +4 -4
  106. package/dist/Drawer/DrawerTrigger.torp +16 -4
  107. package/dist/Drawer/DrawerTypes.ts +3 -0
  108. package/dist/Drawer/index.d.ts +16 -20
  109. package/dist/Drawer/index.js +5 -18
  110. package/dist/FocusGroup/FocusGroup.torp +70 -0
  111. package/dist/FocusGroup/FocusGroupButton.torp +59 -0
  112. package/dist/FocusGroup/FocusGroupTypes.ts +14 -0
  113. package/dist/FocusGroup/index.d.ts +44 -0
  114. package/dist/FocusGroup/index.js +3 -0
  115. package/dist/Form/CheckBox.torp +27 -18
  116. package/dist/Form/Field.torp +17 -17
  117. package/dist/Form/File.torp +31 -22
  118. package/dist/Form/FileDrop.torp +187 -0
  119. package/dist/Form/Form.torp +24 -22
  120. package/dist/Form/FormTypes.ts +2 -0
  121. package/dist/Form/FormValues.torp +37 -0
  122. package/dist/Form/Hidden.torp +4 -12
  123. package/dist/Form/Input.torp +38 -32
  124. package/dist/Form/Label.torp +3 -3
  125. package/dist/Form/Message.torp +13 -5
  126. package/dist/Form/MessageSummary.torp +5 -4
  127. package/dist/Form/Option.torp +11 -7
  128. package/dist/Form/Select.torp +32 -28
  129. package/dist/Form/TextArea.torp +35 -31
  130. package/dist/Form/Toggle.torp +109 -0
  131. package/dist/Form/index.d.ts +178 -79
  132. package/dist/Form/index.js +16 -50
  133. package/dist/ListBox/ListBox.torp +253 -150
  134. package/dist/ListBox/ListBoxItem.torp +54 -30
  135. package/dist/ListBox/ListBoxSeparator.torp +5 -2
  136. package/dist/ListBox/ListBoxTypes.ts +23 -5
  137. package/dist/ListBox/LoadedListBoxItems.torp +41 -0
  138. package/dist/ListBox/index.d.ts +56 -17
  139. package/dist/ListBox/index.js +4 -14
  140. package/dist/MaskedInput/MaskedInput.torp +143 -0
  141. package/dist/MaskedInput/index.d.ts +52 -0
  142. package/dist/MaskedInput/index.js +2 -0
  143. package/dist/Menu/Menu.torp +86 -71
  144. package/dist/Menu/MenuButton.torp +17 -10
  145. package/dist/Menu/MenuCheck.torp +22 -18
  146. package/dist/Menu/MenuGroup.torp +4 -4
  147. package/dist/Menu/MenuIndicator.torp +5 -13
  148. package/dist/Menu/MenuPopout.torp +20 -50
  149. package/dist/Menu/MenuPopoutContent.torp +15 -66
  150. package/dist/Menu/MenuPopoutTrigger.torp +19 -100
  151. package/dist/Menu/MenuRadio.torp +25 -26
  152. package/dist/Menu/MenuRadioGroup.torp +25 -68
  153. package/dist/Menu/MenuSeparator.torp +3 -2
  154. package/dist/Menu/MenuTypes.ts +9 -19
  155. package/dist/Menu/index.d.ts +45 -51
  156. package/dist/Menu/index.js +12 -46
  157. package/dist/MenuBar/MenuBar.torp +31 -83
  158. package/dist/MenuBar/MenuBarItem.torp +33 -51
  159. package/dist/MenuBar/MenuBarItemContent.torp +15 -101
  160. package/dist/MenuBar/MenuBarItemTrigger.torp +20 -55
  161. package/dist/MenuBar/MenuBarTypes.ts +11 -10
  162. package/dist/MenuBar/index.d.ts +17 -19
  163. package/dist/MenuBar/index.js +5 -18
  164. package/dist/Modal/Modal.torp +22 -47
  165. package/dist/Modal/ModalContent.torp +21 -44
  166. package/dist/Modal/ModalOverlay.torp +4 -4
  167. package/dist/Modal/ModalTrigger.torp +16 -32
  168. package/dist/Modal/ModalTypes.ts +5 -16
  169. package/dist/Modal/index.d.ts +17 -29
  170. package/dist/Modal/index.js +29 -28
  171. package/dist/Modal/index.js.map +1 -1
  172. package/dist/Modal/showPrompt.ts +2 -2
  173. package/dist/NavMenu/NavMenu.torp +22 -111
  174. package/dist/NavMenu/NavMenuButton.torp +7 -8
  175. package/dist/NavMenu/NavMenuElement.torp +6 -7
  176. package/dist/NavMenu/NavMenuGroup.torp +5 -5
  177. package/dist/NavMenu/NavMenuGroupHeader.torp +5 -8
  178. package/dist/NavMenu/NavMenuLink.torp +7 -10
  179. package/dist/NavMenu/NavMenuPopout.torp +15 -60
  180. package/dist/NavMenu/NavMenuPopoutContent.torp +14 -73
  181. package/dist/NavMenu/NavMenuPopoutTrigger.torp +17 -99
  182. package/dist/NavMenu/NavMenuSeparator.torp +3 -7
  183. package/dist/NavMenu/NavMenuTypes.ts +4 -14
  184. package/dist/NavMenu/index.d.ts +40 -44
  185. package/dist/NavMenu/index.js +11 -42
  186. package/dist/Notification/Notification.torp +12 -24
  187. package/dist/Notification/NotificationClose.torp +6 -3
  188. package/dist/Notification/NotificationContainer.torp +3 -7
  189. package/dist/Notification/NotificationContent.torp +3 -7
  190. package/dist/Notification/NotificationTypes.ts +1 -1
  191. package/dist/Notification/index.d.ts +15 -12
  192. package/dist/Notification/index.js +22 -32
  193. package/dist/Notification/index.js.map +1 -1
  194. package/dist/NumberInput/NumberInput.torp +255 -0
  195. package/dist/NumberInput/index.d.ts +44 -0
  196. package/dist/NumberInput/index.js +2 -0
  197. package/dist/Pagination/Pagination.torp +41 -34
  198. package/dist/Pagination/PaginationItem.torp +50 -13
  199. package/dist/Pagination/PaginationTypes.ts +3 -6
  200. package/dist/Pagination/buildPages.ts +9 -5
  201. package/dist/Pagination/index.d.ts +19 -9
  202. package/dist/Pagination/index.js +3 -40
  203. package/dist/Popover/Popover.torp +32 -50
  204. package/dist/Popover/PopoverContent.torp +27 -76
  205. package/dist/Popover/PopoverHover.torp +90 -0
  206. package/dist/Popover/PopoverTrigger.torp +17 -40
  207. package/dist/Popover/PopoverTypes.ts +4 -17
  208. package/dist/Popover/index.d.ts +40 -25
  209. package/dist/Popover/index.js +18 -18
  210. package/dist/Popover/index.js.map +1 -1
  211. package/dist/Progress/Progress.torp +88 -0
  212. package/dist/Progress/index.d.ts +37 -0
  213. package/dist/Progress/index.js +2 -0
  214. package/dist/Rating/Rating.torp +225 -0
  215. package/dist/Rating/index.d.ts +44 -0
  216. package/dist/Rating/index.js +2 -0
  217. package/dist/SegmentedControl/SegmentedControl.torp +233 -0
  218. package/dist/SegmentedControl/SegmentedControlTypes.ts +26 -0
  219. package/dist/SegmentedControl/SegmentedItem.torp +78 -0
  220. package/dist/SegmentedControl/index.d.ts +74 -0
  221. package/dist/SegmentedControl/index.js +3 -0
  222. package/dist/SelectBox/SelectBox.torp +107 -53
  223. package/dist/SelectBox/SelectBoxContent.torp +49 -19
  224. package/dist/SelectBox/SelectBoxTrigger.torp +108 -8
  225. package/dist/SelectBox/SelectBoxTypes.ts +26 -11
  226. package/dist/SelectBox/index.d.ts +39 -54
  227. package/dist/SelectBox/index.js +5 -18
  228. package/dist/Slider/Slider.torp +245 -0
  229. package/dist/Slider/index.d.ts +45 -0
  230. package/dist/Slider/index.js +2 -0
  231. package/dist/Splitter/Splitter.torp +156 -0
  232. package/dist/Splitter/SplitterHandle.torp +161 -0
  233. package/dist/Splitter/SplitterPane.torp +63 -0
  234. package/dist/Splitter/SplitterTypes.ts +31 -0
  235. package/dist/Splitter/index.d.ts +103 -0
  236. package/dist/Splitter/index.js +4 -0
  237. package/dist/Stepper/Stepper.torp +146 -0
  238. package/dist/Stepper/StepperMarker.torp +24 -0
  239. package/dist/Stepper/StepperNext.torp +44 -0
  240. package/dist/Stepper/StepperPrevious.torp +44 -0
  241. package/dist/Stepper/StepperStep.torp +90 -0
  242. package/dist/Stepper/StepperTypes.ts +30 -0
  243. package/dist/Stepper/index.d.ts +149 -0
  244. package/dist/Stepper/index.js +6 -0
  245. package/dist/TabGroup/TabContent.torp +6 -6
  246. package/dist/TabGroup/TabGroup.torp +97 -113
  247. package/dist/TabGroup/TabGroupTypes.ts +1 -1
  248. package/dist/TabGroup/TabHeader.torp +23 -19
  249. package/dist/TabGroup/TabList.torp +8 -21
  250. package/dist/TabGroup/TabTrigger.torp +6 -7
  251. package/dist/TabGroup/index.d.ts +26 -26
  252. package/dist/TabGroup/index.js +6 -22
  253. package/dist/TagInput/TagInput.torp +378 -0
  254. package/dist/TagInput/index.d.ts +48 -0
  255. package/dist/TagInput/index.js +2 -0
  256. package/dist/TimePicker/TimePicker.torp +462 -0
  257. package/dist/TimePicker/index.d.ts +53 -0
  258. package/dist/TimePicker/index.js +2 -0
  259. package/dist/ToolBar/ToolBar.torp +29 -110
  260. package/dist/ToolBar/ToolBarButton.torp +7 -8
  261. package/dist/ToolBar/ToolBarElement.torp +7 -11
  262. package/dist/ToolBar/ToolBarPopout.torp +16 -68
  263. package/dist/ToolBar/ToolBarPopoutContent.torp +15 -73
  264. package/dist/ToolBar/ToolBarPopoutTrigger.torp +19 -110
  265. package/dist/ToolBar/ToolBarSeparator.torp +3 -7
  266. package/dist/ToolBar/ToolBarTypes.ts +7 -14
  267. package/dist/ToolBar/index.d.ts +30 -32
  268. package/dist/ToolBar/index.js +8 -30
  269. package/dist/Tree/Tree.torp +395 -0
  270. package/dist/Tree/TreeItem.torp +176 -0
  271. package/dist/Tree/TreeItemChildren.torp +60 -0
  272. package/dist/Tree/TreeItemContent.torp +46 -0
  273. package/dist/Tree/TreeItemLabel.torp +94 -0
  274. package/dist/Tree/TreeItemTrigger.torp +78 -0
  275. package/dist/Tree/TreeLoadedChildren.torp +122 -0
  276. package/dist/Tree/TreeTypes.ts +63 -0
  277. package/dist/Tree/index.d.ts +262 -0
  278. package/dist/Tree/index.js +7 -0
  279. package/dist/icons/ChevronDoubleLeft.torp +19 -0
  280. package/dist/icons/ChevronDoubleRight.torp +19 -0
  281. package/dist/icons/index.d.ts +61 -1
  282. package/dist/icons/index.js +17 -58
  283. package/dist/loader-DEeG5vFY.js +44 -0
  284. package/dist/loader-DEeG5vFY.js.map +1 -0
  285. package/dist/motion/index.d.ts +12 -8
  286. package/dist/motion/index.d.ts.map +1 -0
  287. package/dist/motion/index.js +70 -88
  288. package/dist/motion/index.js.map +1 -1
  289. package/dist/mount/draggable.ts +63 -0
  290. package/dist/mount/dropTarget.ts +108 -0
  291. package/dist/mount/hoverTrigger.ts +1 -1
  292. package/dist/utils/$handle.ts +23 -0
  293. package/dist/utils/LoadedItems.torp +47 -0
  294. package/dist/utils/PopoutClickTrigger.torp +99 -0
  295. package/dist/utils/PopoutTypes.ts +59 -12
  296. package/dist/utils/SubmenuPopout.torp +89 -0
  297. package/dist/utils/SubmenuPopoutContent.torp +87 -0
  298. package/dist/utils/SubmenuPopoutTrigger.torp +160 -0
  299. package/dist/utils/chartColors.ts +13 -13
  300. package/dist/utils/chartLayout.ts +143 -0
  301. package/dist/utils/colorUtils.ts +103 -0
  302. package/dist/utils/createItemGroup.ts +152 -0
  303. package/dist/utils/dateUtils.ts +8 -7
  304. package/dist/utils/documentEvents.ts +4 -4
  305. package/dist/utils/dragState.ts +86 -0
  306. package/dist/utils/focusGroup.ts +204 -0
  307. package/dist/utils/focusItem.ts +44 -0
  308. package/dist/utils/formField.ts +70 -0
  309. package/dist/utils/hoverOpen.ts +50 -0
  310. package/dist/utils/hoverReveal.ts +194 -0
  311. package/dist/utils/loader.ts +113 -0
  312. package/dist/utils/maskUtils.ts +98 -0
  313. package/dist/utils/popoutContent.ts +137 -0
  314. package/dist/utils/reorderList.ts +52 -0
  315. package/package.json +97 -22
  316. package/dist/Accordion/index.js.map +0 -1
  317. package/dist/Breadcrumb/index.js.map +0 -1
  318. package/dist/Calendar/index.js.map +0 -1
  319. package/dist/Charts/index.js.map +0 -1
  320. package/dist/Contextual/index.js.map +0 -1
  321. package/dist/Dialog/index.js.map +0 -1
  322. package/dist/Disclosure/index.js.map +0 -1
  323. package/dist/Drawer/index.js.map +0 -1
  324. package/dist/Form/index.js.map +0 -1
  325. package/dist/ListBox/index.js.map +0 -1
  326. package/dist/Menu/index.js.map +0 -1
  327. package/dist/MenuBar/index.js.map +0 -1
  328. package/dist/NavMenu/index.js.map +0 -1
  329. package/dist/Pagination/index.js.map +0 -1
  330. package/dist/SelectBox/SelectBoxInput.torp +0 -95
  331. package/dist/SelectBox/index.js.map +0 -1
  332. package/dist/TabGroup/index.js.map +0 -1
  333. package/dist/ToolBar/index.js.map +0 -1
  334. package/dist/icons/index.js.map +0 -1
  335. package/dist/index.d.ts +0 -19
  336. package/dist/metafile-esm.json +0 -1
  337. package/dist/motion/fade.ts +0 -16
  338. package/dist/motion/grow.ts +0 -23
  339. package/dist/motion/measure.ts +0 -28
  340. package/dist/motion/slide.ts +0 -45
  341. package/dist/mount/index.d.ts +0 -2
  342. package/dist/utils/index.d.ts +0 -2
@@ -5,19 +5,19 @@ interface CheckBoxProps {
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
11
  /** The name of the checkbox's form data field */
12
- name?: string,
12
+ name?: string;
13
13
  /** Whether the checkbox is checked */
14
- checked?: boolean,
14
+ checked?: boolean;
15
15
  /** An ARIA label for describing the checkbox to screen readers when there is no associated label element */
16
- ariaLabel?: string,
16
+ ariaLabel?: string;
17
17
  /** Raised on change */
18
- onchange?: (e: Event) => void,
18
+ onchange?: (e: Event) => void;
19
19
  /** Raised on input */
20
- oninput?: (e: Event) => void,
20
+ oninput?: (e: Event) => void;
21
21
  }
22
22
 
23
23
  /**
@@ -37,15 +37,15 @@ interface FieldProps {
37
37
  /** An ID for the root element */
38
38
  id?: string;
39
39
  /** Classes for the root element */
40
- class?: ClassValue,
40
+ class?: ClassValue;
41
41
  /** Styles for the root element */
42
- style?: StyleValue,
42
+ style?: StyleValue;
43
43
  /** The name of the data that this field contains */
44
- name: string,
44
+ name: string;
45
45
  /** The data value that this field is bound to */
46
- value?: any,
46
+ value: Bindable<any>;
47
47
  /** The schema validator to use for this form */
48
- schema?: StandardSchemaV1,
48
+ schema?: StandardSchemaV1;
49
49
  }
50
50
 
51
51
  /**
@@ -66,25 +66,25 @@ interface FileProps {
66
66
  /** An ID for the root element */
67
67
  id?: string;
68
68
  /** Classes for the root element */
69
- class?: ClassValue,
69
+ class?: ClassValue;
70
70
  /** Styles for the root element */
71
- style?: StyleValue,
71
+ style?: StyleValue;
72
72
  /** The name of the input's form data field */
73
- name?: string,
73
+ name?: string;
74
74
  /** The type of files that this input accepts e.g. `image/*` */
75
- accept?: string,
75
+ accept?: string;
76
76
  /** Text to display when the input value is empty */
77
- placeholder?: string,
77
+ placeholder?: string;
78
78
  /** Whether the input should be readonly */
79
- readonly?: boolean,
79
+ readonly?: boolean;
80
80
  /** The maximum number of characters allowed for the input value */
81
- maxlength?: number,
81
+ maxlength?: number;
82
82
  /** An ARIA label for describing the input to screen readers when there is no associated label element */
83
- ariaLabel?: string,
83
+ ariaLabel?: string;
84
84
  /** Raised on change */
85
- onchange?: (e: Event) => void,
85
+ onchange?: (e: Event) => void;
86
86
  /** Raised on input */
87
- oninput?: (e: Event) => void,
87
+ oninput?: (e: Event) => void;
88
88
  }
89
89
 
90
90
  /**
@@ -100,36 +100,99 @@ declare function File(
100
100
 
101
101
 
102
102
 
103
- interface FormProps {
103
+ interface FileDropProps {
104
104
  /** An ID for the root element */
105
105
  id?: string;
106
106
  /** Classes for the root element */
107
- class?: ClassValue,
107
+ class?: ClassValue;
108
108
  /** Styles for the root element */
109
- style?: StyleValue,
110
- /** The data to display in the form */
111
- data?: any,
109
+ style?: StyleValue;
110
+ /** The name of the input's form data field */
111
+ name?: string;
112
+ /** The type of files that this input accepts e.g. `image/*` */
113
+ accept?: string;
114
+ /** Whether the user can drop or select multiple files at once */
115
+ multiple?: boolean;
116
+ /** If set to true, the user cannot interact with this dropzone */
117
+ disabled?: boolean;
118
+ /** An accessible name for the dropzone */
119
+ ariaLabel?: string;
120
+ /** Raised when files have been dropped or selected */
121
+ onfiles?: (files: File[]) => void;
122
+ }
123
+
124
+ /**
125
+ * A file input in a form, where the user can drop one or more files onto it,
126
+ * or activate it to select files with a file dialog.
127
+ *
128
+ * See [the MDN docs for the Drag and Drop API](https://developer.mozilla.org/en-US/docs/Web/API/HTML_Drag_and_Drop_API).
129
+ */
130
+ declare function FileDrop(
131
+ $parent: ParentNode,
132
+ $anchor: Node | null,
133
+ $props: FileDropProps | undefined,
134
+ $context?: Record<PropertyKey, any>,
135
+ $slots?: Record<string, SlotRender>,
136
+ ): void;
137
+
138
+
139
+
140
+ interface FormProps<Data = Record<string, any>> {
141
+ /** An ID for the root element */
142
+ id?: string;
143
+ /** Classes for the root element */
144
+ class?: ClassValue;
145
+ /** Styles for the root element */
146
+ style?: StyleValue;
147
+ /**
148
+ * The data to display in the form. Type it with the page's form result
149
+ * (e.g. `PageForm<typeof server>`) to get field name autocomplete
150
+ */
151
+ data?: Data;
112
152
  /** Where to post the form's data **/
113
- action?: string,
153
+ action?: string;
114
154
  /** The action to use when submitting the form, which defaults to POST */
115
- method?: string,
155
+ method?: string;
116
156
  /**
117
157
  * The form's encoding type e.g. `multipart/form-data` where there are file
118
158
  * inputs. This will be automatically set unless overridden
119
159
  */
120
- enctype?: string,
160
+ enctype?: string;
121
161
  /** The schema validator to use for this form */
122
- schema?: StandardSchemaV1,
123
- onsubmit?: (e: SubmitEvent) => boolean | void | Promise<boolean | void>,
162
+ schema?: StandardSchemaV1;
163
+ onsubmit?: (e: SubmitEvent) => boolean | void | Promise<boolean | void>;
124
164
  }
125
165
 
126
166
  /**
127
167
  * A form for submitting values.
128
168
  */
129
- declare function Form(
169
+ declare function Form<Data = Record<string, any>>(
170
+ $parent: ParentNode,
171
+ $anchor: Node | null,
172
+ $props: FormProps<Data> | undefined,
173
+ $context?: Record<PropertyKey, any>,
174
+ $slots?: Record<string, SlotRender>,
175
+ ): void;
176
+
177
+
178
+
179
+ interface FormValuesProps {
180
+ /** The name of the form data field(s) */
181
+ name?: string;
182
+ /** The value, or an array of values, to submit with the form */
183
+ value?: any;
184
+ }
185
+
186
+ /**
187
+ * Renders hidden inputs for a component's value, so that it can take part
188
+ * in native form submission. One input per entry when the value is an array.
189
+ * Nothing is rendered when the value is null or undefined, so that the
190
+ * field is omitted from the submitted form data.
191
+ */
192
+ declare function FormValues(
130
193
  $parent: ParentNode,
131
194
  $anchor: Node | null,
132
- $props: FormProps | undefined,
195
+ $props: FormValuesProps | undefined,
133
196
  $context?: Record<PropertyKey, any>,
134
197
  $slots?: Record<string, SlotRender>,
135
198
  ): void;
@@ -140,9 +203,9 @@ interface HiddenProps {
140
203
  /** An ID for the root element */
141
204
  id?: string;
142
205
  /** The name of the input's form data field */
143
- name?: string,
206
+ name?: string;
144
207
  /** The data value that this field is bound to */
145
- value?: any,
208
+ value?: any;
146
209
  }
147
210
 
148
211
  /**
@@ -162,29 +225,29 @@ interface InputProps {
162
225
  /** An ID for the root element */
163
226
  id?: string;
164
227
  /** Classes for the root element */
165
- class?: ClassValue,
228
+ class?: ClassValue;
166
229
  /** Styles for the root element */
167
- style?: StyleValue,
230
+ style?: StyleValue;
168
231
  /** The input type */
169
- type?: string, // TODO: "text" | "number" | "password" | "email" | "url" | "tel",
232
+ type?: string; // TODO: "text" | "number" | "password" | "email" | "url" | "tel",
170
233
  /** The name of the input's form data field */
171
- name?: string,
234
+ name?: string;
172
235
  /** The data value that this field is bound to */
173
- value?: any,
236
+ value: Bindable<any>;
174
237
  /** Text to display when the input value is empty */
175
- placeholder?: string,
238
+ placeholder?: string;
176
239
  /** Whether the input should be readonly */
177
- readonly?: boolean,
240
+ readonly?: boolean;
178
241
  /** Whether the input's value is required */
179
- required?: boolean,
242
+ required?: boolean;
180
243
  /** The maximum number of characters allowed for the input value */
181
- maxlength?: number,
244
+ maxlength?: number;
182
245
  /** An ARIA label for describing the input to screen readers when there is no associated label element */
183
- ariaLabel?: string,
246
+ ariaLabel?: string;
184
247
  /** Raised on change */
185
- onchange?: (e: Event) => void,
248
+ onchange?: (e: Event) => void;
186
249
  /** Raised on input */
187
- oninput?: (e: Event) => void,
250
+ oninput?: (e: Event) => void;
188
251
  }
189
252
 
190
253
  /**
@@ -204,9 +267,9 @@ interface LabelProps {
204
267
  /** An ID for the root element */
205
268
  id?: string;
206
269
  /** Classes for the root element */
207
- class?: ClassValue,
270
+ class?: ClassValue;
208
271
  /** Styles for the root element */
209
- style?: StyleValue,
272
+ style?: StyleValue;
210
273
  }
211
274
 
212
275
  /**
@@ -226,9 +289,9 @@ interface MessageProps {
226
289
  /** An ID for the root element */
227
290
  id?: string;
228
291
  /** Classes for the root element */
229
- class?: ClassValue,
292
+ class?: ClassValue;
230
293
  /** Styles for the root element */
231
- style?: StyleValue,
294
+ style?: StyleValue;
232
295
  }
233
296
 
234
297
  /**
@@ -249,9 +312,9 @@ interface MessageSummaryProps {
249
312
  /** An ID for the root element */
250
313
  id?: string;
251
314
  /** Classes for the root element */
252
- class?: ClassValue,
315
+ class?: ClassValue;
253
316
  /** Styles for the root element */
254
- style?: StyleValue,
317
+ style?: StyleValue;
255
318
  }
256
319
 
257
320
  /**
@@ -271,11 +334,11 @@ interface OptionProps {
271
334
  /** An ID for the root element */
272
335
  id?: string;
273
336
  /** Classes for the root element */
274
- class?: ClassValue,
337
+ class?: ClassValue;
275
338
  /** Styles for the root element */
276
- style?: StyleValue,
339
+ style?: StyleValue;
277
340
  /** The data value that this option has */
278
- value?: any,
341
+ value?: any;
279
342
  }
280
343
 
281
344
  /**
@@ -295,23 +358,23 @@ interface SelectProps {
295
358
  /** An ID for the root element */
296
359
  id?: string;
297
360
  /** Classes for the root element */
298
- class?: ClassValue,
361
+ class?: ClassValue;
299
362
  /** Styles for the root element */
300
- style?: StyleValue,
363
+ style?: StyleValue;
301
364
  /** The name of the input's form data field */
302
- name?: string,
365
+ name?: string;
303
366
  /** The data value that this field is bound to */
304
- value?: any,
367
+ value: Bindable<any>;
305
368
  /** Text to display when the input value is empty */
306
- placeholder?: string,
369
+ placeholder?: string;
307
370
  /** Whether the input should be readonly */
308
- readonly?: boolean,
371
+ readonly?: boolean;
309
372
  /** An ARIA label for describing the input to screen readers when there is no associated label element */
310
- ariaLabel?: string,
373
+ ariaLabel?: string;
311
374
  /** Raised on change */
312
- onchange?: (e: Event) => void,
375
+ onchange?: (e: Event) => void;
313
376
  /** Raised on input */
314
- oninput?: (e: Event) => void,
377
+ oninput?: (e: Event) => void;
315
378
  }
316
379
 
317
380
  /**
@@ -331,29 +394,29 @@ interface TextAreaProps {
331
394
  /** An ID for the root element */
332
395
  id?: string;
333
396
  /** Classes for the root element */
334
- class?: ClassValue,
397
+ class?: ClassValue;
335
398
  /** Styles for the root element */
336
- style?: StyleValue,
399
+ style?: StyleValue;
337
400
  /** The name of the input's form data field */
338
- name?: string,
401
+ name?: string;
339
402
  /** The data value that this field is bound to */
340
- value?: any,
403
+ value: Bindable<any>;
341
404
  /** The number of rows to show in the input */
342
- rows?: number,
405
+ rows?: number;
343
406
  /** Text to display when the input's value is empty */
344
- placeholder?: string,
407
+ placeholder?: string;
345
408
  /** Whether the input should be readonly */
346
- readonly?: boolean,
409
+ readonly?: boolean;
347
410
  /** Whether the input's value is required */
348
- required?: boolean,
411
+ required?: boolean;
349
412
  /** The maximum number of characters allowed for the input value */
350
- maxlength?: number,
413
+ maxlength?: number;
351
414
  /** An ARIA label for describing the input to screen readers when there is no associated label element */
352
- ariaLabel?: string,
415
+ ariaLabel?: string;
353
416
  /** Raised on change */
354
- onchange?: (e: Event) => void,
417
+ onchange?: (e: Event) => void;
355
418
  /** Raised on input */
356
- oninput?: (e: Event) => void,
419
+ oninput?: (e: Event) => void;
357
420
  }
358
421
 
359
422
  /**
@@ -367,4 +430,40 @@ declare function TextArea(
367
430
  $slots?: Record<string, SlotRender>,
368
431
  ): void;
369
432
 
370
- export { CheckBox, Field, File, Form, Hidden, Input, Label, Message, MessageSummary, Option, Select, TextArea };
433
+
434
+
435
+ interface ToggleProps {
436
+ /** An ID for the root element */
437
+ id?: string;
438
+ /** Classes for the root element */
439
+ class?: ClassValue;
440
+ /** Styles for the root element */
441
+ style?: StyleValue;
442
+ /** The name of the toggle's form data field */
443
+ name?: string;
444
+ /** Whether the toggle is switched on */
445
+ checked?: boolean;
446
+ /** If set to true, the user cannot interact with this toggle */
447
+ disabled?: boolean;
448
+ /** An ARIA label for describing the toggle to screen readers when there is no associated label element */
449
+ ariaLabel?: string;
450
+ /** Raised on change */
451
+ onchange?: (e: Event) => void;
452
+ /** Raised on input */
453
+ oninput?: (e: Event) => void;
454
+ }
455
+
456
+ /**
457
+ * A switch input in a form, which can be turned on or off.
458
+ *
459
+ * See [the WAI ARIA guidelines for Switches](https://www.w3.org/WAI/ARIA/apg/patterns/switch/).
460
+ */
461
+ declare function Toggle(
462
+ $parent: ParentNode,
463
+ $anchor: Node | null,
464
+ $props: ToggleProps | undefined,
465
+ $context?: Record<PropertyKey, any>,
466
+ $slots?: Record<string, SlotRender>,
467
+ ): void;
468
+
469
+ export { CheckBox, Field, File, FileDrop, Form, FormValues, Hidden, Input, Label, Message, MessageSummary, Option, Select, TextArea, Toggle };
@@ -1,50 +1,16 @@
1
- // src/Form/CheckBox.torp
2
- import CheckBox_default from "./CheckBox.torp";
3
-
4
- // src/Form/Field.torp
5
- import Field_default from "./Field.torp";
6
-
7
- // src/Form/File.torp
8
- import File_default from "./File.torp";
9
-
10
- // src/Form/Form.torp
11
- import Form_default from "./Form.torp";
12
-
13
- // src/Form/Hidden.torp
14
- import Hidden_default from "./Hidden.torp";
15
-
16
- // src/Form/Input.torp
17
- import Input_default from "./Input.torp";
18
-
19
- // src/Form/Label.torp
20
- import Label_default from "./Label.torp";
21
-
22
- // src/Form/Message.torp
23
- import Message_default from "./Message.torp";
24
-
25
- // src/Form/MessageSummary.torp
26
- import MessageSummary_default from "./MessageSummary.torp";
27
-
28
- // src/Form/Option.torp
29
- import Option_default from "./Option.torp";
30
-
31
- // src/Form/Select.torp
32
- import Select_default from "./Select.torp";
33
-
34
- // src/Form/TextArea.torp
35
- import TextArea_default from "./TextArea.torp";
36
- export {
37
- CheckBox_default as CheckBox,
38
- Field_default as Field,
39
- File_default as File,
40
- Form_default as Form,
41
- Hidden_default as Hidden,
42
- Input_default as Input,
43
- Label_default as Label,
44
- Message_default as Message,
45
- MessageSummary_default as MessageSummary,
46
- Option_default as Option,
47
- Select_default as Select,
48
- TextArea_default as TextArea
49
- };
50
- //# sourceMappingURL=index.js.map
1
+ import CheckBox from "./CheckBox.torp";
2
+ import Field from "./Field.torp";
3
+ import File from "./File.torp";
4
+ import FileDrop from "./FileDrop.torp";
5
+ import Form from "./Form.torp";
6
+ import FormValues from "./FormValues.torp";
7
+ import Hidden from "./Hidden.torp";
8
+ import Input from "./Input.torp";
9
+ import Label from "./Label.torp";
10
+ import Message from "./Message.torp";
11
+ import MessageSummary from "./MessageSummary.torp";
12
+ import Option from "./Option.torp";
13
+ import Select from "./Select.torp";
14
+ import TextArea from "./TextArea.torp";
15
+ import Toggle from "./Toggle.torp";
16
+ export { CheckBox, Field, File, FileDrop, Form, FormValues, Hidden, Input, Label, Message, MessageSummary, Option, Select, TextArea, Toggle };