@torpor/ui 0.3.3 → 0.3.4

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 (204) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/Accordion/Accordion.torp +7 -3
  3. package/dist/Accordion/AccordionContent.torp +7 -3
  4. package/dist/Accordion/AccordionHeader.torp +7 -3
  5. package/dist/Accordion/AccordionItem.torp +7 -3
  6. package/dist/Accordion/AccordionTrigger.torp +7 -3
  7. package/dist/Accordion/index.d.ts +20 -10
  8. package/dist/Breadcrumb/Breadcrumb.torp +7 -3
  9. package/dist/Breadcrumb/BreadcrumbItem.torp +7 -3
  10. package/dist/Breadcrumb/BreadcrumbSeparator.torp +7 -3
  11. package/dist/Breadcrumb/index.d.ts +12 -6
  12. package/dist/Calendar/Calendar.torp +9 -4
  13. package/dist/Calendar/CalendarDay.torp +5 -2
  14. package/dist/Calendar/index.d.ts +8 -4
  15. package/dist/Contextual/Contextual.torp +7 -3
  16. package/dist/Contextual/ContextualContent.torp +7 -4
  17. package/dist/Contextual/ContextualTrigger.torp +7 -3
  18. package/dist/Contextual/index.d.ts +12 -6
  19. package/dist/Dialog/Dialog.torp +7 -3
  20. package/dist/Dialog/DialogBody.torp +7 -3
  21. package/dist/Dialog/DialogButton.torp +7 -3
  22. package/dist/Dialog/DialogFooter.torp +7 -3
  23. package/dist/Dialog/DialogHeader.torp +7 -3
  24. package/dist/Dialog/index.d.ts +20 -10
  25. package/dist/Disclosure/Disclosure.torp +7 -3
  26. package/dist/Disclosure/DisclosureContent.torp +7 -3
  27. package/dist/Disclosure/DisclosureHeader.torp +7 -3
  28. package/dist/Disclosure/DisclosureTrigger.torp +7 -3
  29. package/dist/Disclosure/index.d.ts +16 -8
  30. package/dist/Drawer/Drawer.torp +7 -3
  31. package/dist/Drawer/DrawerContent.torp +7 -4
  32. package/dist/Drawer/DrawerOverlay.torp +7 -3
  33. package/dist/Drawer/DrawerTrigger.torp +7 -3
  34. package/dist/Drawer/index.d.ts +16 -8
  35. package/dist/Form/CheckBox.torp +5 -2
  36. package/dist/Form/Field.torp +7 -3
  37. package/dist/Form/File.torp +7 -3
  38. package/dist/Form/Form.torp +7 -3
  39. package/dist/Form/Input.torp +7 -3
  40. package/dist/Form/Label.torp +7 -3
  41. package/dist/Form/Message.torp +7 -3
  42. package/dist/Form/Option.torp +8 -4
  43. package/dist/Form/Select.torp +7 -3
  44. package/dist/Form/TextArea.torp +7 -3
  45. package/dist/Form/index.d.ts +40 -20
  46. package/dist/Menu/Menu.torp +7 -3
  47. package/dist/Menu/MenuButton.torp +7 -3
  48. package/dist/Menu/MenuCheck.torp +7 -3
  49. package/dist/Menu/MenuGroup.torp +7 -3
  50. package/dist/Menu/MenuIndicator.torp +7 -3
  51. package/dist/Menu/MenuPopout.torp +7 -3
  52. package/dist/Menu/MenuPopoutContent.torp +7 -4
  53. package/dist/Menu/MenuPopoutTrigger.torp +7 -3
  54. package/dist/Menu/MenuRadio.torp +7 -3
  55. package/dist/Menu/MenuRadioGroup.torp +7 -3
  56. package/dist/Menu/MenuSeparator.torp +7 -3
  57. package/dist/Menu/index.d.ts +44 -22
  58. package/dist/MenuBar/MenuBar.torp +7 -3
  59. package/dist/MenuBar/MenuBarItem.torp +7 -3
  60. package/dist/MenuBar/MenuBarItemContent.torp +7 -3
  61. package/dist/MenuBar/MenuBarItemTrigger.torp +7 -3
  62. package/dist/MenuBar/index.d.ts +16 -8
  63. package/dist/Modal/Modal.torp +7 -3
  64. package/dist/Modal/ModalContent.torp +7 -3
  65. package/dist/Modal/ModalOverlay.torp +7 -3
  66. package/dist/Modal/ModalTrigger.torp +7 -3
  67. package/dist/Modal/index.d.ts +16 -8
  68. package/dist/NavMenu/NavMenu.torp +7 -3
  69. package/dist/NavMenu/NavMenuButton.torp +7 -3
  70. package/dist/NavMenu/NavMenuElement.torp +7 -3
  71. package/dist/NavMenu/NavMenuGroup.torp +7 -3
  72. package/dist/NavMenu/NavMenuGroupHeader.torp +7 -3
  73. package/dist/NavMenu/NavMenuLink.torp +7 -4
  74. package/dist/NavMenu/NavMenuPopout.torp +7 -3
  75. package/dist/NavMenu/NavMenuPopoutButton.torp +7 -3
  76. package/dist/NavMenu/NavMenuPopoutContent.torp +7 -4
  77. package/dist/NavMenu/NavMenuSeparator.torp +5 -2
  78. package/dist/NavMenu/index.d.ts +40 -20
  79. package/dist/Notification/Notification.torp +7 -3
  80. package/dist/Notification/NotificationClose.torp +7 -3
  81. package/dist/Notification/NotificationContainer.torp +7 -3
  82. package/dist/Notification/NotificationContent.torp +7 -3
  83. package/dist/Notification/index.d.ts +16 -8
  84. package/dist/Popover/Popover.torp +7 -3
  85. package/dist/Popover/PopoverContent.torp +7 -3
  86. package/dist/Popover/PopoverTrigger.torp +7 -3
  87. package/dist/Popover/index.d.ts +8 -4
  88. package/dist/TabGroup/TabContent.torp +7 -3
  89. package/dist/TabGroup/TabGroup.torp +7 -3
  90. package/dist/TabGroup/TabHeader.torp +5 -2
  91. package/dist/TabGroup/TabList.torp +7 -3
  92. package/dist/TabGroup/TabTrigger.torp +7 -3
  93. package/dist/TabGroup/index.d.ts +20 -10
  94. package/dist/icons/ArrowDown.torp +2 -1
  95. package/dist/icons/ArrowLeft.torp +2 -1
  96. package/dist/icons/ArrowRight.torp +2 -1
  97. package/dist/icons/ArrowUp.torp +2 -1
  98. package/dist/icons/Bars.torp +2 -1
  99. package/dist/icons/Check.torp +2 -1
  100. package/dist/icons/ChevronDown.torp +2 -1
  101. package/dist/icons/ChevronLeft.torp +2 -1
  102. package/dist/icons/ChevronRight.torp +2 -1
  103. package/dist/icons/ChevronUp.torp +2 -1
  104. package/dist/icons/Cross.torp +2 -1
  105. package/dist/icons/IconTypes.ts +6 -2
  106. package/dist/icons/Loading.torp +2 -1
  107. package/dist/icons/Minus.torp +2 -1
  108. package/dist/icons/Plus.torp +2 -1
  109. package/dist/icons/index.d.ts +28 -14
  110. package/dist/metafile-esm.json +1 -1
  111. package/package.json +2 -2
  112. package/src/Accordion/Accordion.torp +7 -3
  113. package/src/Accordion/AccordionContent.torp +7 -3
  114. package/src/Accordion/AccordionHeader.torp +7 -3
  115. package/src/Accordion/AccordionItem.torp +7 -3
  116. package/src/Accordion/AccordionTrigger.torp +7 -3
  117. package/src/Breadcrumb/Breadcrumb.torp +7 -3
  118. package/src/Breadcrumb/BreadcrumbItem.torp +7 -3
  119. package/src/Breadcrumb/BreadcrumbSeparator.torp +7 -3
  120. package/src/Calendar/Calendar.torp +9 -4
  121. package/src/Calendar/CalendarDay.torp +5 -2
  122. package/src/Contextual/Contextual.torp +7 -3
  123. package/src/Contextual/ContextualContent.torp +7 -4
  124. package/src/Contextual/ContextualTrigger.torp +7 -3
  125. package/src/Dialog/Dialog.torp +7 -3
  126. package/src/Dialog/DialogBody.torp +7 -3
  127. package/src/Dialog/DialogButton.torp +7 -3
  128. package/src/Dialog/DialogFooter.torp +7 -3
  129. package/src/Dialog/DialogHeader.torp +7 -3
  130. package/src/Disclosure/Disclosure.torp +7 -3
  131. package/src/Disclosure/DisclosureContent.torp +7 -3
  132. package/src/Disclosure/DisclosureHeader.torp +7 -3
  133. package/src/Disclosure/DisclosureTrigger.torp +7 -3
  134. package/src/Drawer/Drawer.torp +7 -3
  135. package/src/Drawer/DrawerContent.torp +7 -4
  136. package/src/Drawer/DrawerOverlay.torp +7 -3
  137. package/src/Drawer/DrawerTrigger.torp +7 -3
  138. package/src/Form/CheckBox.torp +5 -2
  139. package/src/Form/Field.torp +7 -3
  140. package/src/Form/File.torp +7 -3
  141. package/src/Form/Form.torp +7 -3
  142. package/src/Form/Input.torp +7 -3
  143. package/src/Form/Label.torp +7 -3
  144. package/src/Form/Message.torp +7 -3
  145. package/src/Form/Option.torp +8 -4
  146. package/src/Form/Select.torp +7 -3
  147. package/src/Form/TextArea.torp +7 -3
  148. package/src/Menu/Menu.torp +7 -3
  149. package/src/Menu/MenuButton.torp +7 -3
  150. package/src/Menu/MenuCheck.torp +7 -3
  151. package/src/Menu/MenuGroup.torp +7 -3
  152. package/src/Menu/MenuIndicator.torp +7 -3
  153. package/src/Menu/MenuPopout.torp +7 -3
  154. package/src/Menu/MenuPopoutContent.torp +7 -4
  155. package/src/Menu/MenuPopoutTrigger.torp +7 -3
  156. package/src/Menu/MenuRadio.torp +7 -3
  157. package/src/Menu/MenuRadioGroup.torp +7 -3
  158. package/src/Menu/MenuSeparator.torp +7 -3
  159. package/src/MenuBar/MenuBar.torp +7 -3
  160. package/src/MenuBar/MenuBarItem.torp +7 -3
  161. package/src/MenuBar/MenuBarItemContent.torp +7 -3
  162. package/src/MenuBar/MenuBarItemTrigger.torp +7 -3
  163. package/src/Modal/Modal.torp +7 -3
  164. package/src/Modal/ModalContent.torp +7 -3
  165. package/src/Modal/ModalOverlay.torp +7 -3
  166. package/src/Modal/ModalTrigger.torp +7 -3
  167. package/src/NavMenu/NavMenu.torp +7 -3
  168. package/src/NavMenu/NavMenuButton.torp +7 -3
  169. package/src/NavMenu/NavMenuElement.torp +7 -3
  170. package/src/NavMenu/NavMenuGroup.torp +7 -3
  171. package/src/NavMenu/NavMenuGroupHeader.torp +7 -3
  172. package/src/NavMenu/NavMenuLink.torp +7 -4
  173. package/src/NavMenu/NavMenuPopout.torp +7 -3
  174. package/src/NavMenu/NavMenuPopoutButton.torp +7 -3
  175. package/src/NavMenu/NavMenuPopoutContent.torp +7 -4
  176. package/src/NavMenu/NavMenuSeparator.torp +5 -2
  177. package/src/Notification/Notification.torp +7 -3
  178. package/src/Notification/NotificationClose.torp +7 -3
  179. package/src/Notification/NotificationContainer.torp +7 -3
  180. package/src/Notification/NotificationContent.torp +7 -3
  181. package/src/Popover/Popover.torp +7 -3
  182. package/src/Popover/PopoverContent.torp +7 -3
  183. package/src/Popover/PopoverTrigger.torp +7 -3
  184. package/src/Slider/Slider.torp +2 -1
  185. package/src/TabGroup/TabContent.torp +7 -3
  186. package/src/TabGroup/TabGroup.torp +7 -3
  187. package/src/TabGroup/TabHeader.torp +5 -2
  188. package/src/TabGroup/TabList.torp +7 -3
  189. package/src/TabGroup/TabTrigger.torp +7 -3
  190. package/src/icons/ArrowDown.torp +2 -1
  191. package/src/icons/ArrowLeft.torp +2 -1
  192. package/src/icons/ArrowRight.torp +2 -1
  193. package/src/icons/ArrowUp.torp +2 -1
  194. package/src/icons/Bars.torp +2 -1
  195. package/src/icons/Check.torp +2 -1
  196. package/src/icons/ChevronDown.torp +2 -1
  197. package/src/icons/ChevronLeft.torp +2 -1
  198. package/src/icons/ChevronRight.torp +2 -1
  199. package/src/icons/ChevronUp.torp +2 -1
  200. package/src/icons/Cross.torp +2 -1
  201. package/src/icons/IconTypes.ts +6 -2
  202. package/src/icons/Loading.torp +2 -1
  203. package/src/icons/Minus.torp +2 -1
  204. package/src/icons/Plus.torp +2 -1
@@ -1,11 +1,14 @@
1
+ import type { ClassValue, StyleValue } from "@torpor/view";
1
2
  import getId from "../utils/getId";
2
3
  import { FormContextName, FieldContextName, type FormContext, type FieldContext } from "./FormTypes";
3
4
 
4
5
  interface TextAreaProps {
5
6
  /** An ID for the root element */
6
7
  id?: string;
7
- /** Class name(s) for the root element */
8
- class?: string,
8
+ /** Classes for the root element */
9
+ class?: ClassValue,
10
+ /** Styles for the root element */
11
+ style?: StyleValue,
9
12
  /** The name of the input's form data field */
10
13
  name?: string,
11
14
  /** The data value that this field is bound to */
@@ -84,7 +87,8 @@ export default function TextArea($props: TextAreaProps | undefined) {
84
87
  @render {
85
88
  <textarea
86
89
  id={$props?.id ?? defaultId}
87
- class={`torp-text-area ${$props?.class ?? ""}`.trim()}
90
+ class={["torp-text-area", $props?.class]}
91
+ {$props?.style}
88
92
  {name}
89
93
  &value={$state.value}
90
94
  {$props?.rows}
@@ -4,8 +4,10 @@ import { type SlotRender } from "@torpor/view";
4
4
  interface CheckBoxProps {
5
5
  /** An ID for the root element */
6
6
  id?: string;
7
- /** Class name(s) for the root element */
8
- class?: string,
7
+ /** Classes for the root element */
8
+ class?: ClassValue,
9
+ /** Styles for the root element */
10
+ style?: StyleValue,
9
11
  /** The name of the checkbox's form data field */
10
12
  name?: string,
11
13
  /** Whether the checkbox is checked */
@@ -34,8 +36,10 @@ declare function CheckBox(
34
36
  interface FieldProps {
35
37
  /** An ID for the root element */
36
38
  id?: string;
37
- /** Class name(s) for the root element */
38
- class?: string,
39
+ /** Classes for the root element */
40
+ class?: ClassValue,
41
+ /** Styles for the root element */
42
+ style?: StyleValue,
39
43
  /** The name of the data that this field contains */
40
44
  name: string,
41
45
  /** The data value that this field is bound to */
@@ -61,8 +65,10 @@ declare function Field(
61
65
  interface FileProps {
62
66
  /** An ID for the root element */
63
67
  id?: string;
64
- /** Class name(s) for the root element */
65
- class?: string,
68
+ /** Classes for the root element */
69
+ class?: ClassValue,
70
+ /** Styles for the root element */
71
+ style?: StyleValue,
66
72
  /** The name of the input's form data field */
67
73
  name?: string,
68
74
  /** The type of files that this input accepts e.g. `image/*` */
@@ -97,8 +103,10 @@ declare function File(
97
103
  interface FormProps {
98
104
  /** An ID for the root element */
99
105
  id?: string;
100
- /** Class name(s) for the root element */
101
- class?: string,
106
+ /** Classes for the root element */
107
+ class?: ClassValue,
108
+ /** Styles for the root element */
109
+ style?: StyleValue,
102
110
  /** The data to display in the form */
103
111
  data?: any,
104
112
  /** Where to post the form's data **/
@@ -153,8 +161,10 @@ declare function Hidden(
153
161
  interface InputProps {
154
162
  /** An ID for the root element */
155
163
  id?: string;
156
- /** Class name(s) for the root element */
157
- class?: string,
164
+ /** Classes for the root element */
165
+ class?: ClassValue,
166
+ /** Styles for the root element */
167
+ style?: StyleValue,
158
168
  /** The input type */
159
169
  type?: string, // TODO: "text" | "number" | "password" | "email" | "url" | "tel",
160
170
  /** The name of the input's form data field */
@@ -193,8 +203,10 @@ declare function Input(
193
203
  interface LabelProps {
194
204
  /** An ID for the root element */
195
205
  id?: string;
196
- /** Class name(s) for the root element */
197
- class?: string,
206
+ /** Classes for the root element */
207
+ class?: ClassValue,
208
+ /** Styles for the root element */
209
+ style?: StyleValue,
198
210
  }
199
211
 
200
212
  /**
@@ -213,8 +225,10 @@ declare function Label(
213
225
  interface MessageProps {
214
226
  /** An ID for the root element */
215
227
  id?: string;
216
- /** Class name(s) for the root element */
217
- class?: string,
228
+ /** Classes for the root element */
229
+ class?: ClassValue,
230
+ /** Styles for the root element */
231
+ style?: StyleValue,
218
232
  }
219
233
 
220
234
  /**
@@ -234,8 +248,10 @@ declare function Message(
234
248
  interface OptionProps {
235
249
  /** An ID for the root element */
236
250
  id?: string;
237
- /** Class name(s) for the root element */
238
- class?: string,
251
+ /** Classes for the root element */
252
+ class?: ClassValue,
253
+ /** Styles for the root element */
254
+ style?: StyleValue,
239
255
  /** The data value that this option has */
240
256
  value?: any,
241
257
  }
@@ -256,8 +272,10 @@ declare function Option(
256
272
  interface SelectProps {
257
273
  /** An ID for the root element */
258
274
  id?: string;
259
- /** Class name(s) for the root element */
260
- class?: string,
275
+ /** Classes for the root element */
276
+ class?: ClassValue,
277
+ /** Styles for the root element */
278
+ style?: StyleValue,
261
279
  /** The name of the input's form data field */
262
280
  name?: string,
263
281
  /** The data value that this field is bound to */
@@ -290,8 +308,10 @@ declare function Select(
290
308
  interface TextAreaProps {
291
309
  /** An ID for the root element */
292
310
  id?: string;
293
- /** Class name(s) for the root element */
294
- class?: string,
311
+ /** Classes for the root element */
312
+ class?: ClassValue,
313
+ /** Styles for the root element */
314
+ style?: StyleValue,
295
315
  /** The name of the input's form data field */
296
316
  name?: string,
297
317
  /** The data value that this field is bound to */
@@ -1,3 +1,4 @@
1
+ import type { ClassValue, StyleValue } from "@torpor/view";
1
2
  import { ContextualContextName } from "../Contextual/ContextualTypes";
2
3
  import { ModalContextName } from "../Modal/ModalTypes";
3
4
  import { PopoverContextName, type PopoverContext } from "../Popover/PopoverTypes";
@@ -12,8 +13,10 @@ import {
12
13
  interface MenuProps {
13
14
  /** An ID for the root element */
14
15
  id?: string;
15
- /** Class name(s) for the root element */
16
- class?: string,
16
+ /** Classes for the root element */
17
+ class?: ClassValue,
18
+ /** Styles for the root element */
19
+ style?: StyleValue,
17
20
  /** An ARIA label for describing the menu to screen readers */
18
21
  ariaLabel?: string,
19
22
  }
@@ -158,7 +161,8 @@ export default function Menu($props: MenuProps | undefined) {
158
161
  @render {
159
162
  <div
160
163
  {$props?.id}
161
- class={`torp-menu ${$props?.class ?? ""}`.trim()}
164
+ class={["torp-menu", $props?.class]}
165
+ {$props?.style}
162
166
  tabindex="-1"
163
167
  role="menu"
164
168
  aria-label={$props?.ariaLabel}
@@ -1,10 +1,13 @@
1
+ import type { ClassValue, StyleValue } from "@torpor/view";
1
2
  import { MenuContextName, type MenuContext } from "./MenuTypes";
2
3
 
3
4
  interface MenuButtonProps {
4
5
  /** An ID for the root element */
5
6
  id?: string;
6
- /** Class name(s) for the root element */
7
- class?: string,
7
+ /** Classes for the root element */
8
+ class?: ClassValue,
9
+ /** Styles for the root element */
10
+ style?: StyleValue,
8
11
  /** The value that should be returned when this button is pressed and the Dialog was invoked by calling showContextual, showPrompt or showPopover */
9
12
  value?: any,
10
13
  /** Whether this button is disabled */
@@ -53,7 +56,8 @@ export default function MenuButton($props: MenuButtonProps | undefined) {
53
56
  @render {
54
57
  <button
55
58
  {$props?.id}
56
- class={`torp-menu-button ${$props?.class ?? ""}`.trim()}
59
+ class={["torp-menu-button", $props?.class]}
60
+ {$props?.style}
57
61
  type="button"
58
62
  {$props?.disabled}
59
63
  role="menuitem"
@@ -1,3 +1,4 @@
1
+ import type { ClassValue, StyleValue } from "@torpor/view";
1
2
  import {
2
3
  MenuButtonContextName,
3
4
  MenuContextName,
@@ -8,8 +9,10 @@ import {
8
9
  interface MenuCheckProps {
9
10
  /** An ID for the root element */
10
11
  id?: string;
11
- /** Class name(s) for the root element */
12
- class?: string,
12
+ /** Classes for the root element */
13
+ class?: ClassValue,
14
+ /** Styles for the root element */
15
+ style?: StyleValue,
13
16
  /** Whether this item is checked */
14
17
  checked?: boolean,
15
18
  /** Whether this item is disabled */
@@ -66,7 +69,8 @@ export default function MenuCheck($props: MenuCheckProps | undefined) {
66
69
  @render {
67
70
  <button
68
71
  {$props?.id}
69
- class={`torp-menu-check ${$props?.class ?? ""}`.trim()}
72
+ class={["torp-menu-check", $props?.class]}
73
+ {$props?.style}
70
74
  type="button"
71
75
  {$props?.disabled}
72
76
  role="menuitemcheckbox"
@@ -1,9 +1,12 @@
1
+ import type { ClassValue, StyleValue } from "@torpor/view";
1
2
 
2
3
  interface MenuGroupProps {
3
4
  /** An ID for the root element */
4
5
  id?: string;
5
- /** Class name(s) for the root element */
6
- class?: string,
6
+ /** Classes for the root element */
7
+ class?: ClassValue,
8
+ /** Styles for the root element */
9
+ style?: StyleValue,
7
10
  /** An ARIA label for describing the group to screen readers */
8
11
  ariaLabel?: string,
9
12
  }
@@ -17,7 +20,8 @@ export default function MenuGroup($props: MenuGroupProps | undefined) {
17
20
  @render {
18
21
  <div
19
22
  {$props?.id}
20
- class={`torp-menu-group ${$props?.class ?? ""}`.trim()}
23
+ class={["torp-menu-group", $props?.class]}
24
+ {$props?.style}
21
25
  role="group"
22
26
  aria-label={$props?.ariaLabel}
23
27
  >
@@ -1,10 +1,13 @@
1
+ import type { ClassValue, StyleValue } from "@torpor/view";
1
2
  import { MenuButtonContextName, type MenuButtonContext } from "./MenuTypes";
2
3
 
3
4
  interface MenuIndicatorProps {
4
5
  /** An ID for the root element */
5
6
  id?: string;
6
- /** Class name(s) for the root element */
7
- class?: string,
7
+ /** Classes for the root element */
8
+ class?: ClassValue,
9
+ /** Styles for the root element */
10
+ style?: StyleValue,
8
11
  /** Whether this item is disabled */
9
12
  disabled?: boolean,
10
13
  }
@@ -25,7 +28,8 @@ export default function MenuIndicator($props: MenuIndicatorProps | undefined) {
25
28
  @if ($state.checked) {
26
29
  <div
27
30
  {$props?.id}
28
- class={`torp-menu-indicator ${$props?.class ?? ""}`.trim()}
31
+ class={["torp-menu-indicator", $props?.class]}
32
+ {$props?.style}
29
33
  aria-disabled={$props?.disabled ? "true" : undefined}
30
34
  data-disabled={$props?.disabled ? "true" : undefined}
31
35
  >
@@ -1,10 +1,13 @@
1
+ import type { ClassValue, StyleValue } from "@torpor/view";
1
2
  import { MenuPopoutContextName, type MenuPopoutContext } from "./MenuTypes";
2
3
 
3
4
  interface MenuPopoutProps {
4
5
  /** An ID for the root element */
5
6
  id?: string;
6
- /** Class name(s) for the root element */
7
- class?: string,
7
+ /** Classes for the root element */
8
+ class?: ClassValue,
9
+ /** Styles for the root element */
10
+ style?: StyleValue,
8
11
  /** Whether the popout is visible */
9
12
  visible?: boolean,
10
13
  /** Raised when the popout is opened or closed */
@@ -70,7 +73,8 @@ export default function MenuPopout($props: MenuPopoutProps | undefined) {
70
73
  @render {
71
74
  <div
72
75
  {$props?.id}
73
- class={`torp-menu-popout ${$props?.class ?? ""}`.trim()}
76
+ class={["torp-menu-popout", $props?.class]}
77
+ {$props?.style}
74
78
  onmouseleave={handleMouseLeave}
75
79
  >
76
80
  <slot />
@@ -1,12 +1,14 @@
1
-
1
+ import type { ClassValue, StyleValue } from "@torpor/view";
2
2
  import setPopoverPosition from "../utils/setPopoverPosition";
3
3
  import { MenuPopoutContextName, type MenuPopoutContext } from "./MenuTypes";
4
4
 
5
5
  interface MenuPopoutContentProps {
6
6
  /** An ID for the root element */
7
7
  id?: string;
8
- /** Class name(s) for the root element */
9
- class?: string,
8
+ /** Classes for the root element */
9
+ class?: ClassValue,
10
+ /** Styles for the root element */
11
+ style?: StyleValue,
10
12
  /** Where the popout will be shown, relative to the popout button */
11
13
  side?: "top" | "right" | "bottom" | "left",
12
14
  /** How the popout will be aligned, relative to the popout button */
@@ -70,7 +72,8 @@ export default function MenuPopoutContent($props: MenuPopoutContentProps | undef
70
72
  @if ($state.visible) {
71
73
  <div
72
74
  {$props?.id}
73
- class={`torp-menu-popout-content ${$props?.class ?? ""}`.trim()}
75
+ class={["torp-menu-popout-content", $props?.class]}
76
+ {$props?.style}
74
77
  &ref={div}
75
78
  onmount={show}
76
79
  >
@@ -1,3 +1,4 @@
1
+ import type { ClassValue, StyleValue } from "@torpor/view";
1
2
  import {
2
3
  MenuContextName,
3
4
  MenuPopoutContextName,
@@ -8,8 +9,10 @@ import {
8
9
  interface MenuPopoutTriggerProps {
9
10
  /** An ID for the root element */
10
11
  id?: string;
11
- /** Class name(s) for the root element */
12
- class?: string,
12
+ /** Classes for the root element */
13
+ class?: ClassValue,
14
+ /** Styles for the root element */
15
+ style?: StyleValue,
13
16
  /** The delay before showing the popout, in milliseconds */
14
17
  hoverDelay?: number,
15
18
  /** Whether this button is disabled */
@@ -101,7 +104,8 @@ export default function MenuPopoutTrigger($props: MenuPopoutTriggerProps | undef
101
104
  @render {
102
105
  <button
103
106
  {$props?.id}
104
- class={`torp-menu-popout-trigger ${$props?.class ?? ""}`.trim()}
107
+ class={["torp-menu-popout-trigger", $props?.class]}
108
+ {$props?.style}
105
109
  type="button"
106
110
  {$props?.disabled}
107
111
  role="menuitem"
@@ -1,3 +1,4 @@
1
+ import type { ClassValue, StyleValue } from "@torpor/view";
1
2
  import {
2
3
  MenuButtonContextName,
3
4
  MenuContextName,
@@ -10,8 +11,10 @@ import {
10
11
  interface MenuRadioProps {
11
12
  /** An ID for the root element */
12
13
  id?: string;
13
- /** Class name(s) for the root element */
14
- class?: string,
14
+ /** Classes for the root element */
15
+ class?: ClassValue,
16
+ /** Styles for the root element */
17
+ style?: StyleValue,
15
18
  /** The value of the item */
16
19
  value?: string,
17
20
  /** Whether this item is checked */
@@ -80,7 +83,8 @@ export default function MenuRadio($props: MenuRadioProps | undefined) {
80
83
  @render {
81
84
  <button
82
85
  {$props?.id}
83
- class={`torp-menu-radio ${$props?.class ?? ""}`.trim()}
86
+ class={["torp-menu-radio", $props?.class]}
87
+ {$props?.style}
84
88
  type="button"
85
89
  {$props?.disabled}
86
90
  role="menuitemradio"
@@ -1,3 +1,4 @@
1
+ import type { ClassValue, StyleValue } from "@torpor/view";
1
2
  import {
2
3
  type MenuRadioGroupContext,
3
4
  MenuRadioGroupContextName,
@@ -7,8 +8,10 @@ import {
7
8
  interface MenuRadioGroupProps {
8
9
  /** An ID for the root element */
9
10
  id?: string;
10
- /** Class name(s) for the root element */
11
- class?: string,
11
+ /** Classes for the root element */
12
+ class?: ClassValue,
13
+ /** Styles for the root element */
14
+ style?: StyleValue,
12
15
  /** An ARIA label for describing the menu to screen readers */
13
16
  ariaLabel?: string,
14
17
  /** The value of the checked MenuRadio */
@@ -95,7 +98,8 @@ export default function MenuRadioGroup($props: MenuRadioGroupProps | undefined)
95
98
  @render {
96
99
  <div
97
100
  {$props?.id}
98
- class={`torp-menu-radio-group ${$props?.class ?? ""}`.trim()}
101
+ class={["torp-menu-radio-group", $props?.class]}
102
+ {$props?.style}
99
103
  role="group"
100
104
  aria-label={$props?.ariaLabel}
101
105
  >
@@ -1,9 +1,12 @@
1
+ import type { ClassValue, StyleValue } from "@torpor/view";
1
2
 
2
3
  interface MenuSeparatorProps {
3
4
  /** An ID for the root element */
4
5
  id?: string;
5
- /** Class name(s) for the root element */
6
- class?: string,
6
+ /** Classes for the root element */
7
+ class?: ClassValue,
8
+ /** Styles for the root element */
9
+ style?: StyleValue,
7
10
  }
8
11
 
9
12
  /**
@@ -13,7 +16,8 @@ export default function MenuSeparator($props: MenuSeparatorProps | undefined) {
13
16
  @render {
14
17
  <div
15
18
  {$props?.id}
16
- class={`torp-menu-separator ${$props?.class ?? ""}`.trim()}
19
+ class={["torp-menu-separator", $props?.class]}
20
+ {$props?.style}
17
21
  role="separator"
18
22
  >
19
23
  <slot />
@@ -4,8 +4,10 @@ import { type SlotRender } from "@torpor/view";
4
4
  interface MenuProps {
5
5
  /** An ID for the root element */
6
6
  id?: string;
7
- /** Class name(s) for the root element */
8
- class?: string,
7
+ /** Classes for the root element */
8
+ class?: ClassValue,
9
+ /** Styles for the root element */
10
+ style?: StyleValue,
9
11
  /** An ARIA label for describing the menu to screen readers */
10
12
  ariaLabel?: string,
11
13
  }
@@ -41,8 +43,10 @@ declare function Menu(
41
43
  interface MenuButtonProps {
42
44
  /** An ID for the root element */
43
45
  id?: string;
44
- /** Class name(s) for the root element */
45
- class?: string,
46
+ /** Classes for the root element */
47
+ class?: ClassValue,
48
+ /** Styles for the root element */
49
+ style?: StyleValue,
46
50
  /** The value that should be returned when this button is pressed and the Dialog was invoked by calling showContextual, showPrompt or showPopover */
47
51
  value?: any,
48
52
  /** Whether this button is disabled */
@@ -70,8 +74,10 @@ declare function MenuButton(
70
74
  interface MenuCheckProps {
71
75
  /** An ID for the root element */
72
76
  id?: string;
73
- /** Class name(s) for the root element */
74
- class?: string,
77
+ /** Classes for the root element */
78
+ class?: ClassValue,
79
+ /** Styles for the root element */
80
+ style?: StyleValue,
75
81
  /** Whether this item is checked */
76
82
  checked?: boolean,
77
83
  /** Whether this item is disabled */
@@ -98,8 +104,10 @@ declare function MenuCheck(
98
104
  interface MenuGroupProps {
99
105
  /** An ID for the root element */
100
106
  id?: string;
101
- /** Class name(s) for the root element */
102
- class?: string,
107
+ /** Classes for the root element */
108
+ class?: ClassValue,
109
+ /** Styles for the root element */
110
+ style?: StyleValue,
103
111
  /** An ARIA label for describing the group to screen readers */
104
112
  ariaLabel?: string,
105
113
  }
@@ -120,8 +128,10 @@ declare function MenuGroup(
120
128
  interface MenuIndicatorProps {
121
129
  /** An ID for the root element */
122
130
  id?: string;
123
- /** Class name(s) for the root element */
124
- class?: string,
131
+ /** Classes for the root element */
132
+ class?: ClassValue,
133
+ /** Styles for the root element */
134
+ style?: StyleValue,
125
135
  /** Whether this item is disabled */
126
136
  disabled?: boolean,
127
137
  }
@@ -143,8 +153,10 @@ declare function MenuIndicator(
143
153
  interface MenuPopoutProps {
144
154
  /** An ID for the root element */
145
155
  id?: string;
146
- /** Class name(s) for the root element */
147
- class?: string,
156
+ /** Classes for the root element */
157
+ class?: ClassValue,
158
+ /** Styles for the root element */
159
+ style?: StyleValue,
148
160
  /** Whether the popout is visible */
149
161
  visible?: boolean,
150
162
  /** Raised when the popout is opened or closed */
@@ -180,8 +192,10 @@ declare function MenuPopout(
180
192
  interface MenuPopoutContentProps {
181
193
  /** An ID for the root element */
182
194
  id?: string;
183
- /** Class name(s) for the root element */
184
- class?: string,
195
+ /** Classes for the root element */
196
+ class?: ClassValue,
197
+ /** Styles for the root element */
198
+ style?: StyleValue,
185
199
  /** Where the popout will be shown, relative to the popout button */
186
200
  side?: "top" | "right" | "bottom" | "left",
187
201
  /** How the popout will be aligned, relative to the popout button */
@@ -204,8 +218,10 @@ declare function MenuPopoutContent(
204
218
  interface MenuPopoutTriggerProps {
205
219
  /** An ID for the root element */
206
220
  id?: string;
207
- /** Class name(s) for the root element */
208
- class?: string,
221
+ /** Classes for the root element */
222
+ class?: ClassValue,
223
+ /** Styles for the root element */
224
+ style?: StyleValue,
209
225
  /** The delay before showing the popout, in milliseconds */
210
226
  hoverDelay?: number,
211
227
  /** Whether this button is disabled */
@@ -228,8 +244,10 @@ declare function MenuPopoutTrigger(
228
244
  interface MenuRadioProps {
229
245
  /** An ID for the root element */
230
246
  id?: string;
231
- /** Class name(s) for the root element */
232
- class?: string,
247
+ /** Classes for the root element */
248
+ class?: ClassValue,
249
+ /** Styles for the root element */
250
+ style?: StyleValue,
233
251
  /** The value of the item */
234
252
  value?: string,
235
253
  /** Whether this item is checked */
@@ -255,8 +273,10 @@ declare function MenuRadio(
255
273
  interface MenuRadioGroupProps {
256
274
  /** An ID for the root element */
257
275
  id?: string;
258
- /** Class name(s) for the root element */
259
- class?: string,
276
+ /** Classes for the root element */
277
+ class?: ClassValue,
278
+ /** Styles for the root element */
279
+ style?: StyleValue,
260
280
  /** An ARIA label for describing the menu to screen readers */
261
281
  ariaLabel?: string,
262
282
  /** The value of the checked MenuRadio */
@@ -281,8 +301,10 @@ declare function MenuRadioGroup(
281
301
  interface MenuSeparatorProps {
282
302
  /** An ID for the root element */
283
303
  id?: string;
284
- /** Class name(s) for the root element */
285
- class?: string,
304
+ /** Classes for the root element */
305
+ class?: ClassValue,
306
+ /** Styles for the root element */
307
+ style?: StyleValue,
286
308
  }
287
309
 
288
310
  /**
@@ -1,10 +1,13 @@
1
+ import type { ClassValue, StyleValue } from "@torpor/view";
1
2
  import { MenuBarContextName, type MenuBarContext, type ItemState } from "./MenuBarTypes";
2
3
 
3
4
  interface MenuBarProps {
4
5
  /** An ID for the root element */
5
6
  id?: string;
6
- /** Class name(s) for the root element */
7
- class?: string,
7
+ /** Classes for the root element */
8
+ class?: ClassValue,
9
+ /** Styles for the root element */
10
+ style?: StyleValue,
8
11
  /** An ARIA label for describing the menu to screen readers */
9
12
  ariaLabel?: string,
10
13
  /** The orientation of the menu, which affects keyboard navigation */
@@ -146,7 +149,8 @@ export default function MenuBar($props: MenuBarProps | undefined) {
146
149
  @render {
147
150
  <div
148
151
  {$props?.id}
149
- class={`torp-menu-bar ${$props?.class ?? ""}`.trim()}
152
+ class={["torp-menu-bar", $props?.class]}
153
+ {$props?.style}
150
154
  tabindex="-1"
151
155
  role="menubar"
152
156
  aria-label={$props?.ariaLabel}
@@ -1,3 +1,4 @@
1
+ import type { ClassValue, StyleValue } from "@torpor/view";
1
2
  import {
2
3
  MenuBarContextName,
3
4
  MenuBarItemContextName,
@@ -9,8 +10,10 @@ import { PopoverContextName, type PopoverContext } from "../Popover/PopoverTypes
9
10
  interface MenuBarItemProps {
10
11
  /** An ID for the root element */
11
12
  id?: string;
12
- /** Class name(s) for the root element */
13
- class?: string,
13
+ /** Classes for the root element */
14
+ class?: ClassValue,
15
+ /** Styles for the root element */
16
+ style?: StyleValue,
14
17
  /** Whether the item is visible */
15
18
  visible?: boolean,
16
19
  /** Raised when the item is opened or closed */
@@ -104,7 +107,8 @@ export default function MenuBarItem($props: MenuBarItemProps | undefined) {
104
107
  @render {
105
108
  <div
106
109
  {$props?.id}
107
- class={`torp-menu-bar-item ${$props?.class ?? ""}`.trim()}
110
+ class={["torp-menu-bar-item", $props?.class]}
111
+ {$props?.style}
108
112
  >
109
113
  <slot />
110
114
  </div>