@ngrok/mantle 0.81.0 → 0.81.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 (48) hide show
  1. package/dist/accordion.d.ts +6 -6
  2. package/dist/agent.json +1 -1
  3. package/dist/alert.d.ts +162 -60
  4. package/dist/alert.js +1 -1
  5. package/dist/area-chart.d.ts +4 -3
  6. package/dist/area-chart.js +1 -1
  7. package/dist/bar-chart.d.ts +4 -3
  8. package/dist/bar-chart.js +1 -1
  9. package/dist/button.js +1 -1
  10. package/dist/calendar.js +1 -1
  11. package/dist/{chart-BcOC6Qj0.d.ts → chart-1cVjAcj8.d.ts} +81 -22
  12. package/dist/chart-Do2qkrxl.js +2 -0
  13. package/dist/checkbox.d.ts +12 -0
  14. package/dist/code-block.d.ts +46 -0
  15. package/dist/command.d.ts +67 -9
  16. package/dist/data-table.d.ts +1 -1
  17. package/dist/data-table.js +1 -1
  18. package/dist/description-list.d.ts +36 -16
  19. package/dist/dropdown-menu-BbbQuae2.d.ts +1 -0
  20. package/dist/{dropdown-menu-DZg-Cd69.d.ts → dropdown-menu-D6pMAY7I.d.ts} +138 -0
  21. package/dist/dropdown-menu.d.ts +2 -2
  22. package/dist/field.d.ts +12 -9
  23. package/dist/flag.d.ts +1 -1
  24. package/dist/icons.d.ts +52 -1
  25. package/dist/line-chart.d.ts +4 -3
  26. package/dist/line-chart.js +1 -1
  27. package/dist/llms.txt +1 -1
  28. package/dist/media-object.d.ts +42 -0
  29. package/dist/pagination.d.ts +6 -7
  30. package/dist/pagination.js +1 -1
  31. package/dist/radio-group.d.ts +119 -0
  32. package/dist/sandboxed-on-click.d.ts +2 -2
  33. package/dist/scatter-plot.d.ts +2 -2
  34. package/dist/scatter-plot.js +1 -1
  35. package/dist/sheet.d.ts +10 -10
  36. package/dist/split-button.d.ts +147 -8
  37. package/dist/split-button.js +1 -1
  38. package/dist/{table-Bo0vNxIJ.d.ts → table-CZBYEmyK.d.ts} +2 -2
  39. package/dist/table.d.ts +1 -1
  40. package/dist/text-area.d.ts +1 -1
  41. package/dist/{theme-CYNpplwN.d.ts → theme-FbfjYiD3.d.ts} +16 -0
  42. package/dist/theme-switcher.d.ts +2 -2
  43. package/dist/theme.d.ts +42 -2
  44. package/dist/toast.d.ts +4 -0
  45. package/dist/types.js +1 -1
  46. package/package.json +14 -14
  47. package/dist/chart-BROa2gqt.js +0 -2
  48. package/dist/dropdown-menu-Dw-OtXPm.d.ts +0 -1
@@ -93,6 +93,26 @@ type RadioIndicatorProps = Omit<HTMLAttributes<HTMLDivElement>, "children"> & {
93
93
  declare const Indicator: ({ children, className, ...props }: RadioIndicatorProps) => import("react").JSX.Element;
94
94
  /**
95
95
  * A group of radio list items. Use RadioGroup.ListItem as direct children.
96
+ *
97
+ * @see https://mantle.ngrok.com/components/forms/radio-group#radiogrouplist
98
+ *
99
+ * @example
100
+ * ```tsx
101
+ * <RadioGroup.Root defaultValue="option1">
102
+ * <RadioGroup.List>
103
+ * <RadioGroup.ListItem value="option1">
104
+ * <RadioGroup.ItemContent>
105
+ * <Text>Option 1</Text>
106
+ * </RadioGroup.ItemContent>
107
+ * </RadioGroup.ListItem>
108
+ * <RadioGroup.ListItem value="option2">
109
+ * <RadioGroup.ItemContent>
110
+ * <Text>Option 2</Text>
111
+ * </RadioGroup.ItemContent>
112
+ * </RadioGroup.ListItem>
113
+ * </RadioGroup.List>
114
+ * </RadioGroup.Root>
115
+ * ```
96
116
  */
97
117
  declare const List: ({ className, ref, ...props }: RadioGroupProps$1) => import("react").JSX.Element;
98
118
  type RadioListItemProps = RadioItemProps;
@@ -103,6 +123,28 @@ type RadioListItemProps = RadioItemProps;
103
123
  * `Field.Set` / `Field.Legend` composition), picks up `aria-invalid` and
104
124
  * `aria-errormessage` from `FieldControlContext`. `aria-describedby` is owned
105
125
  * by Headless UI's Radio primitive and does not propagate.
126
+ *
127
+ * @see https://mantle.ngrok.com/components/forms/radio-group#radiogrouplistitem
128
+ *
129
+ * @example
130
+ * ```tsx
131
+ * <RadioGroup.Root defaultValue="item1">
132
+ * <RadioGroup.List>
133
+ * <RadioGroup.ListItem value="item1">
134
+ * <RadioGroup.ItemContent>
135
+ * <Text>List Item 1</Text>
136
+ * <Text size="sm" className="text-muted">First option</Text>
137
+ * </RadioGroup.ItemContent>
138
+ * </RadioGroup.ListItem>
139
+ * <RadioGroup.ListItem value="item2">
140
+ * <RadioGroup.ItemContent>
141
+ * <Text>List Item 2</Text>
142
+ * <Text size="sm" className="text-muted">Second option</Text>
143
+ * </RadioGroup.ItemContent>
144
+ * </RadioGroup.ListItem>
145
+ * </RadioGroup.List>
146
+ * </RadioGroup.Root>
147
+ * ```
106
148
  */
107
149
  declare const ListItem: ({ children, className, ref, ...props }: RadioListItemProps) => import("react").JSX.Element;
108
150
  type RadioItemContentProps = HTMLAttributes<HTMLDivElement> & WithAsChild;
@@ -114,11 +156,48 @@ type RadioCardProps = RadioItemProps;
114
156
  * `Field.Set` / `Field.Legend` composition), picks up `aria-invalid` and
115
157
  * `aria-errormessage` from `FieldControlContext`. `aria-describedby` is owned
116
158
  * by Headless UI's Radio primitive and does not propagate.
159
+ *
160
+ * @see https://mantle.ngrok.com/components/forms/radio-group#radiogroupcard
161
+ *
162
+ * @example
163
+ * ```tsx
164
+ * <RadioGroup.Root defaultValue="basic">
165
+ * <div className="space-y-3">
166
+ * <RadioGroup.Card value="basic">
167
+ * <RadioGroup.ItemContent>
168
+ * <Text weight="strong">Basic Plan</Text>
169
+ * <Text>$10/month</Text>
170
+ * </RadioGroup.ItemContent>
171
+ * </RadioGroup.Card>
172
+ * <RadioGroup.Card value="pro">
173
+ * <RadioGroup.ItemContent>
174
+ * <Text weight="strong">Pro Plan</Text>
175
+ * <Text>$25/month</Text>
176
+ * </RadioGroup.ItemContent>
177
+ * </RadioGroup.Card>
178
+ * </div>
179
+ * </RadioGroup.Root>
180
+ * ```
117
181
  */
118
182
  declare const Card: ({ children, className, ref, ...props }: RadioCardProps) => import("react").JSX.Element;
119
183
  /**
120
184
  * The content of any radio item. Use it to wrap any labels, descriptions, or content of a radio item.
121
185
  * Use it as a child of `RadioGroup.Item`, `RadioGroup.ListItem`, or `RadioGroup.Card`.
186
+ *
187
+ * @see https://mantle.ngrok.com/components/forms/radio-group#radiogroupitemcontent
188
+ *
189
+ * @example
190
+ * ```tsx
191
+ * <RadioGroup.Root defaultValue="option1">
192
+ * <RadioGroup.Item value="option1">
193
+ * <RadioGroup.Indicator />
194
+ * <RadioGroup.ItemContent>
195
+ * <Text weight="strong">Option 1</Text>
196
+ * <Text size="sm">Description for option 1</Text>
197
+ * </RadioGroup.ItemContent>
198
+ * </RadioGroup.Item>
199
+ * </RadioGroup.Root>
200
+ * ```
122
201
  */
123
202
  declare const ItemContent: ({ asChild, children, className, ...props }: RadioItemContentProps) => import("react").JSX.Element;
124
203
  /**
@@ -126,6 +205,18 @@ declare const ItemContent: ({ asChild, children, className, ...props }: RadioIte
126
205
  * Renders the radio group itself (it wraps `Root`) — use it *in place of*
127
206
  * `RadioGroup.Root`, never nested inside one, or the buttons bind to an
128
207
  * inner, uncontrolled group and outer `value`/`onChange` props are ignored.
208
+ *
209
+ * @see https://mantle.ngrok.com/components/forms/radio-group#radiogroupbuttongroup
210
+ *
211
+ * @example
212
+ * ```tsx
213
+ * <Label id="size-label">Size</Label>
214
+ * <RadioGroup.ButtonGroup aria-labelledby="size-label" defaultValue="small">
215
+ * <RadioGroup.Button value="small">Small</RadioGroup.Button>
216
+ * <RadioGroup.Button value="medium">Medium</RadioGroup.Button>
217
+ * <RadioGroup.Button value="large">Large</RadioGroup.Button>
218
+ * </RadioGroup.ButtonGroup>
219
+ * ```
129
220
  */
130
221
  declare const ButtonGroup: ({ className, ref, ...props }: RadioGroupProps$1) => import("react").JSX.Element;
131
222
  type RadioButtonProps = RadioItemProps;
@@ -136,12 +227,40 @@ type RadioButtonProps = RadioItemProps;
136
227
  * `Field.Set` / `Field.Legend` composition), picks up `aria-invalid` and
137
228
  * `aria-errormessage` from `FieldControlContext`. `aria-describedby` is owned
138
229
  * by Headless UI's Radio primitive and does not propagate.
230
+ *
231
+ * @see https://mantle.ngrok.com/components/forms/radio-group#radiogroupbutton
232
+ *
233
+ * @example
234
+ * ```tsx
235
+ * <RadioGroup.ButtonGroup defaultValue="option1">
236
+ * <RadioGroup.Button value="option1">Option 1</RadioGroup.Button>
237
+ * <RadioGroup.Button value="option2">Option 2</RadioGroup.Button>
238
+ * <RadioGroup.Button value="option3">Option 3</RadioGroup.Button>
239
+ * </RadioGroup.ButtonGroup>
240
+ * ```
139
241
  */
140
242
  declare const Button: ({ children, className, ref, ...props }: RadioButtonProps) => import("react").JSX.Element;
141
243
  type RadioInputSandboxProps = HTMLAttributes<HTMLDivElement>;
142
244
  /**
143
245
  * A sandbox container for input elements composed within radio group items.
144
246
  * It prevents the default behavior of the radio group when clicking on the input element or accepting keyboard input.
247
+ *
248
+ * @see https://mantle.ngrok.com/components/forms/radio-group#radiogroupinputsandbox
249
+ *
250
+ * @example
251
+ * ```tsx
252
+ * <RadioGroup.Root defaultValue="custom">
253
+ * <RadioGroup.Item value="custom">
254
+ * <RadioGroup.Indicator />
255
+ * <RadioGroup.ItemContent>
256
+ * <Text>Custom amount</Text>
257
+ * <RadioGroup.InputSandbox>
258
+ * <Input type="number" placeholder="Enter amount" />
259
+ * </RadioGroup.InputSandbox>
260
+ * </RadioGroup.ItemContent>
261
+ * </RadioGroup.Item>
262
+ * </RadioGroup.Root>
263
+ * ```
145
264
  */
146
265
  declare const InputSandbox: ({ children, onClick, onKeyDown, ...props }: RadioInputSandboxProps) => import("react").JSX.Element;
147
266
  /**
@@ -25,7 +25,7 @@ type EventProps = BaseProps & {
25
25
  * Props for the sandboxed onClick container. Spread this on the element you want
26
26
  * to prevent the click event from bubbling out of.
27
27
  *
28
- * @see https://mantle.ngrok.com/components/primitives/sandboxed-on-click#sandboxedonclick
28
+ * @see https://mantle.ngrok.com/components/primitives/sandboxed-on-click
29
29
  */
30
30
  declare const sandboxedOnClickProps: ({ allowClickEventDefault, onClick }?: EventProps) => {
31
31
  /**
@@ -43,7 +43,7 @@ type Props = ComponentProps<"div"> & WithAsChild & BaseProps;
43
43
  /**
44
44
  * A container that prevents the click event from bubbling out of it.
45
45
  *
46
- * @see https://mantle.ngrok.com/components/primitives/sandboxed-on-click#sandboxedonclick
46
+ * @see https://mantle.ngrok.com/components/primitives/sandboxed-on-click
47
47
  *
48
48
  * @example
49
49
  * ```tsx
@@ -1,4 +1,4 @@
1
- import { _ as SeriesColor, a as LegendPrimitiveProps, c as XAxisPrimitiveProps, f as ChartDatum, g as PointShape, i as GridPrimitiveProps, l as YAxisPrimitiveProps, n as ChartRootBaseProps, o as ReferenceLinePrimitiveProps, p as ChartDatumEvent, r as CopyButtonPrimitiveProps, s as TooltipPrimitiveProps, t as ChartAccessibleName } from "./chart-BcOC6Qj0.js";
1
+ import { _ as SeriesColor, a as LegendPrimitiveProps, c as XAxisPrimitiveProps, f as ChartDatum, g as PointShape, i as GridPrimitiveProps, l as YAxisPrimitiveProps, n as ChartRootBaseProps, o as ReferenceLinePrimitiveProps, p as ChartDatumEvent, r as CopyButtonPrimitiveProps, s as TooltipPrimitiveProps, t as ChartAccessibilityProps } from "./chart-1cVjAcj8.js";
2
2
  //#region src/components/scatter-plot/scatter-plot.d.ts
3
3
  /**
4
4
  * Props for {@link ScatterPlot.Root}. Scatter x values must be continuous
@@ -10,7 +10,7 @@ import { _ as SeriesColor, a as LegendPrimitiveProps, c as XAxisPrimitiveProps,
10
10
  * so with the default chart tokens keep it to FOUR series or fewer; beyond
11
11
  * that, fold into an "Other" series or facet into small multiples.
12
12
  */
13
- type ScatterPlotRootProps<TDatum extends ChartDatum = ChartDatum> = Omit<ChartRootBaseProps, "stacked"> & ChartAccessibleName & {
13
+ type ScatterPlotRootProps<TDatum extends ChartDatum = ChartDatum> = Omit<ChartRootBaseProps, "stacked"> & ChartAccessibilityProps & {
14
14
  /** Rows of data; each row is one point per composed `ScatterPlot.Point` series. */
15
15
  data: readonly TDatum[];
16
16
  /** The key of each row's x value (number or `Date`). */
@@ -1 +1 @@
1
- import{a as e,c as t,i as n,l as r,n as i,o as a,r as o,s,t as c}from"./chart-BROa2gqt.js";import{jsx as l}from"react/jsx-runtime";const u={Root:e=>l(o,{kind:`scatter`,componentName:`ScatterPlot`,slotName:`scatter-plot`,...e}),Point:e=>a(`ScatterPlot.Point`,`scatter`,e),Grid:e=>n(`ScatterPlot.Grid`,e),XAxis:e=>t(`ScatterPlot.XAxis`,e),YAxis:e=>r(`ScatterPlot.YAxis`,e),ReferenceLine:t=>e(`ScatterPlot.ReferenceLine`,t),Tooltip:e=>s(`ScatterPlot.Tooltip`,e),Legend:e=>l(i,{partName:`ScatterPlot.Legend`,slotName:`scatter-plot`,...e}),CopyButton:e=>l(c,{partName:`ScatterPlot.CopyButton`,slotName:`scatter-plot`,...e})};export{u as ScatterPlot};
1
+ import{a as e,c as t,i as n,l as r,n as i,o as a,r as o,s,t as c}from"./chart-Do2qkrxl.js";import{jsx as l}from"react/jsx-runtime";const u={Root:e=>l(o,{kind:`scatter`,componentName:`ScatterPlot`,slotName:`scatter-plot`,...e}),Point:e=>a(`ScatterPlot.Point`,`scatter`,e),Grid:e=>n(`ScatterPlot.Grid`,e),XAxis:e=>t(`ScatterPlot.XAxis`,e),YAxis:e=>r(`ScatterPlot.YAxis`,e),ReferenceLine:t=>e(`ScatterPlot.ReferenceLine`,t),Tooltip:e=>s(`ScatterPlot.Tooltip`,e),Legend:e=>l(i,{partName:`ScatterPlot.Legend`,slotName:`scatter-plot`,...e}),CopyButton:e=>l(c,{partName:`ScatterPlot.CopyButton`,slotName:`scatter-plot`,...e})};export{u as ScatterPlot};
package/dist/sheet.d.ts CHANGED
@@ -33,7 +33,7 @@ type SheetContentProps = ComponentProps<typeof Content$1> & VariantProps<typeof
33
33
  * @example
34
34
  * ```tsx
35
35
  * // Sheet without a trigger (e.g. router controlled)
36
- * <Sheet open onOpenChange={() => onClose()}>
36
+ * <Sheet.Root open onOpenChange={() => onClose()}>
37
37
  * <Sheet.Content>
38
38
  * <Sheet.Header>
39
39
  * <Sheet.TitleGroup>
@@ -104,7 +104,7 @@ type SheetCloseIconButtonProps = Partial<Omit<IconButtonProps, "icon" | "appeara
104
104
  * @example
105
105
  * ```tsx
106
106
  * // Sheet without a trigger (e.g. router controlled)
107
- * <Sheet open onOpenChange={() => onClose()}>
107
+ * <Sheet.Root open onOpenChange={() => onClose()}>
108
108
  * <Sheet.Content>
109
109
  * <Sheet.Header>
110
110
  * <Sheet.TitleGroup>
@@ -155,7 +155,7 @@ declare const CloseIconButton: ({ size, type, label, appearance, intent, ...prop
155
155
  * @example
156
156
  * ```tsx
157
157
  * // Sheet without a trigger (e.g. router controlled)
158
- * <Sheet open onOpenChange={() => onClose()}>
158
+ * <Sheet.Root open onOpenChange={() => onClose()}>
159
159
  * <Sheet.Content>
160
160
  * <Sheet.Header>
161
161
  * <Sheet.TitleGroup>
@@ -206,7 +206,7 @@ declare const Body: ({ className, ...props }: HTMLAttributes<HTMLDivElement>) =>
206
206
  * @example
207
207
  * ```tsx
208
208
  * // Sheet without a trigger (e.g. router controlled)
209
- * <Sheet open onOpenChange={() => onClose()}>
209
+ * <Sheet.Root open onOpenChange={() => onClose()}>
210
210
  * <Sheet.Content>
211
211
  * <Sheet.Header>
212
212
  * <Sheet.TitleGroup>
@@ -257,7 +257,7 @@ declare const Header: ({ className, ...props }: HTMLAttributes<HTMLDivElement>)
257
257
  * @example
258
258
  * ```tsx
259
259
  * // Sheet without a trigger (e.g. router controlled)
260
- * <Sheet open onOpenChange={() => onClose()}>
260
+ * <Sheet.Root open onOpenChange={() => onClose()}>
261
261
  * <Sheet.Content>
262
262
  * <Sheet.Header>
263
263
  * <Sheet.TitleGroup>
@@ -308,7 +308,7 @@ declare const Footer: ({ className, ...props }: HTMLAttributes<HTMLDivElement>)
308
308
  * @example
309
309
  * ```tsx
310
310
  * // Sheet without a trigger (e.g. router controlled)
311
- * <Sheet open onOpenChange={() => onClose()}>
311
+ * <Sheet.Root open onOpenChange={() => onClose()}>
312
312
  * <Sheet.Content>
313
313
  * <Sheet.Header>
314
314
  * <Sheet.TitleGroup>
@@ -358,7 +358,7 @@ declare const Title: ({ className, ref, ...props }: ComponentProps<typeof Title$
358
358
  * @example
359
359
  * ```tsx
360
360
  * // Sheet without a trigger (e.g. router controlled)
361
- * <Sheet open onOpenChange={() => onClose()}>
361
+ * <Sheet.Root open onOpenChange={() => onClose()}>
362
362
  * <Sheet.Content>
363
363
  * <Sheet.Header>
364
364
  * <Sheet.TitleGroup>
@@ -408,7 +408,7 @@ declare const TitleGroup: ({ children, className, ref, ...props }: ComponentProp
408
408
  * @example
409
409
  * ```tsx
410
410
  * // Sheet without a trigger (e.g. router controlled)
411
- * <Sheet open onOpenChange={() => onClose()}>
411
+ * <Sheet.Root open onOpenChange={() => onClose()}>
412
412
  * <Sheet.Content>
413
413
  * <Sheet.Header>
414
414
  * <Sheet.TitleGroup>
@@ -458,7 +458,7 @@ declare const Description: ({ className, ref, ...props }: ComponentProps<typeof
458
458
  * @example
459
459
  * ```tsx
460
460
  * // Sheet without a trigger (e.g. router controlled)
461
- * <Sheet open onOpenChange={() => onClose()}>
461
+ * <Sheet.Root open onOpenChange={() => onClose()}>
462
462
  * <Sheet.Content>
463
463
  * <Sheet.Header>
464
464
  * <Sheet.TitleGroup>
@@ -583,7 +583,7 @@ declare const Actions: ({ children, className, ref, ...props }: ComponentProps<"
583
583
  * @example
584
584
  * ```tsx
585
585
  * // Sheet without a trigger (e.g. router controlled)
586
- * <Sheet open onOpenChange={() => onClose()}>
586
+ * <Sheet.Root open onOpenChange={() => onClose()}>
587
587
  * <Sheet.Content>
588
588
  * <Sheet.Header>
589
589
  * <Sheet.TitleGroup>
@@ -1,7 +1,7 @@
1
1
  import { t as Button } from "./button-DARFK2KJ.js";
2
2
  import { t as IconButton } from "./button-C7vAl6lS.js";
3
3
  import { t as ButtonSize } from "./button-BCoI4bhP.js";
4
- import { t as DropdownMenu } from "./dropdown-menu-DZg-Cd69.js";
4
+ import { t as DropdownMenu } from "./dropdown-menu-D6pMAY7I.js";
5
5
  import { ComponentProps, ReactNode } from "react";
6
6
  //#region src/components/split-button/split-button.d.ts
7
7
  type RootProps = ComponentProps<typeof DropdownMenu.Root> & ComponentProps<"div"> & {
@@ -13,21 +13,160 @@ type RootProps = ComponentProps<typeof DropdownMenu.Root> & ComponentProps<"div"
13
13
  */
14
14
  size?: ButtonSize;
15
15
  };
16
+ /**
17
+ * A button group which provides a default action with one click while revealing
18
+ * related alternatives through a dropdown menu. Best for when users typically
19
+ * want one action but occasionally need variants.
20
+ *
21
+ * @see https://mantle.ngrok.com/components/actions/split-button#splitbuttonroot
22
+ *
23
+ * @example
24
+ * ```tsx
25
+ * <SplitButton.Root>
26
+ * <SplitButton.PrimaryAction icon={<CopyIcon />} onClick={copyMarkdownPage}>
27
+ * Copy page
28
+ * </SplitButton.PrimaryAction>
29
+ * <SplitButton.MenuTrigger label="Open doc actions menu" />
30
+ * <SplitButton.MenuContent>
31
+ * <SplitButton.MenuItem onClick={copyMarkdownPage}>
32
+ * Copy page
33
+ * <Icon svg={<CopyIcon />} />
34
+ * </SplitButton.MenuItem>
35
+ * <SplitButton.MenuItem asChild onClick={copyMarkdownPage}>
36
+ * <a href={markdownUrl} target="_blank" rel="noopener noreferrer">
37
+ * View as Markdown
38
+ * <Icon svg={<FileTextIcon />} />
39
+ * </a>
40
+ * </SplitButton.MenuItem>
41
+ * </SplitButton.MenuContent>
42
+ * </SplitButton.Root>
43
+ * ```
44
+ */
16
45
  declare const Root: ({ className, children, dir, open, defaultOpen, onOpenChange, modal, size, ref, ...props }: RootProps) => import("react").JSX.Element;
17
46
  type PrimaryActionProps = Omit<ComponentProps<typeof Button>, "appearance" | "intent" | "size">;
47
+ /**
48
+ * The most common action users can trigger with a single click.
49
+ *
50
+ * @see https://mantle.ngrok.com/components/actions/split-button#splitbuttonprimaryaction
51
+ *
52
+ * @example
53
+ * ```tsx
54
+ * <SplitButton.Root>
55
+ * <SplitButton.PrimaryAction icon={<CopyIcon />} onClick={copyMarkdownPage}>
56
+ * Copy page
57
+ * </SplitButton.PrimaryAction>
58
+ * <SplitButton.MenuTrigger label="Open doc actions menu" />
59
+ * <SplitButton.MenuContent>
60
+ * <SplitButton.MenuItem onClick={copyMarkdownPage}>
61
+ * Copy page
62
+ * <Icon svg={<CopyIcon />} />
63
+ * </SplitButton.MenuItem>
64
+ * <SplitButton.MenuItem asChild onClick={copyMarkdownPage}>
65
+ * <a href={markdownUrl} target="_blank" rel="noopener noreferrer">
66
+ * View as Markdown
67
+ * <Icon svg={<FileTextIcon />} />
68
+ * </a>
69
+ * </SplitButton.MenuItem>
70
+ * </SplitButton.MenuContent>
71
+ * </SplitButton.Root>
72
+ * ```
73
+ */
18
74
  declare const PrimaryAction: (props: PrimaryActionProps) => import("react").JSX.Element;
19
75
  type MenuTriggerProps = Omit<ComponentProps<typeof IconButton>, "appearance" | "intent" | "size" | "asChild" | "icon"> & {
20
76
  icon?: ReactNode;
21
77
  };
78
+ /**
79
+ * The button that opens the split button dropdown menu.
80
+ *
81
+ * @see https://mantle.ngrok.com/components/actions/split-button#splitbuttonmenutrigger
82
+ *
83
+ * @example
84
+ * ```tsx
85
+ * <SplitButton.Root>
86
+ * <SplitButton.PrimaryAction icon={<CopyIcon />} onClick={copyMarkdownPage}>
87
+ * Copy page
88
+ * </SplitButton.PrimaryAction>
89
+ * <SplitButton.MenuTrigger label="Open doc actions menu" />
90
+ * <SplitButton.MenuContent>
91
+ * <SplitButton.MenuItem onClick={copyMarkdownPage}>
92
+ * Copy page
93
+ * <Icon svg={<CopyIcon />} />
94
+ * </SplitButton.MenuItem>
95
+ * <SplitButton.MenuItem asChild onClick={copyMarkdownPage}>
96
+ * <a href={markdownUrl} target="_blank" rel="noopener noreferrer">
97
+ * View as Markdown
98
+ * <Icon svg={<FileTextIcon />} />
99
+ * </a>
100
+ * </SplitButton.MenuItem>
101
+ * </SplitButton.MenuContent>
102
+ * </SplitButton.Root>
103
+ * ```
104
+ */
22
105
  declare const MenuTrigger: ({ icon, ...props }: MenuTriggerProps) => import("react").JSX.Element;
106
+ /**
107
+ * The container for the split button dropdown menu content. Appears in a
108
+ * portal with scrolling and animations.
109
+ *
110
+ * @see https://mantle.ngrok.com/components/actions/split-button#splitbuttonmenucontent
111
+ *
112
+ * @example
113
+ * ```tsx
114
+ * <SplitButton.Root>
115
+ * <SplitButton.PrimaryAction icon={<CopyIcon />} onClick={copyMarkdownPage}>
116
+ * Copy page
117
+ * </SplitButton.PrimaryAction>
118
+ * <SplitButton.MenuTrigger label="Open doc actions menu" />
119
+ * <SplitButton.MenuContent>
120
+ * <SplitButton.MenuItem onClick={copyMarkdownPage}>
121
+ * Copy page
122
+ * <Icon svg={<CopyIcon />} />
123
+ * </SplitButton.MenuItem>
124
+ * <SplitButton.MenuItem asChild onClick={copyMarkdownPage}>
125
+ * <a href={markdownUrl} target="_blank" rel="noopener noreferrer">
126
+ * View as Markdown
127
+ * <Icon svg={<FileTextIcon />} />
128
+ * </a>
129
+ * </SplitButton.MenuItem>
130
+ * </SplitButton.MenuContent>
131
+ * </SplitButton.Root>
132
+ * ```
133
+ */
23
134
  declare const MenuContent: ({ align, ...props }: ComponentProps<typeof DropdownMenu.Content>) => import("react").JSX.Element;
135
+ /**
136
+ * A standard item in the split button dropdown menu that can be selected or
137
+ * activated.
138
+ *
139
+ * @see https://mantle.ngrok.com/components/actions/split-button#splitbuttonmenuitem
140
+ *
141
+ * @example
142
+ * ```tsx
143
+ * <SplitButton.Root>
144
+ * <SplitButton.PrimaryAction icon={<CopyIcon />} onClick={copyMarkdownPage}>
145
+ * Copy page
146
+ * </SplitButton.PrimaryAction>
147
+ * <SplitButton.MenuTrigger label="Open doc actions menu" />
148
+ * <SplitButton.MenuContent>
149
+ * <SplitButton.MenuItem onClick={copyMarkdownPage}>
150
+ * Copy page
151
+ * <Icon svg={<CopyIcon />} />
152
+ * </SplitButton.MenuItem>
153
+ * <SplitButton.MenuItem asChild onClick={copyMarkdownPage}>
154
+ * <a href={markdownUrl} target="_blank" rel="noopener noreferrer">
155
+ * View as Markdown
156
+ * <Icon svg={<FileTextIcon />} />
157
+ * </a>
158
+ * </SplitButton.MenuItem>
159
+ * </SplitButton.MenuContent>
160
+ * </SplitButton.Root>
161
+ * ```
162
+ */
24
163
  declare const MenuItem: ({ className, ...props }: ComponentProps<typeof DropdownMenu.Item>) => import("react").JSX.Element;
25
164
  /**
26
165
  * A button group which provides a default action with one click while revealing
27
166
  * related alternatives through a dropdown menu. Best for when users typically
28
167
  * want one action but occasionally need variants.
29
168
  *
30
- * @see https://mantle.ngrok.com/components/actions/split-button#splitbuttonroot
169
+ * @see https://mantle.ngrok.com/components/actions/split-button
31
170
  *
32
171
  * @example
33
172
  * Composition:
@@ -52,7 +191,7 @@ declare const MenuItem: ({ className, ...props }: ComponentProps<typeof Dropdown
52
191
  * Copy page
53
192
  * </SplitButton.MenuItem>
54
193
  * <SplitButton.MenuItem asChild onClick={copyMarkdownPage}>
55
- * <a href={markdownUrl} target="_blank">
194
+ * <a href={markdownUrl} target="_blank" rel="noopener noreferrer">
56
195
  * <Icon svg={<FileTextIcon />} />
57
196
  * View as Markdown
58
197
  * </a>
@@ -82,7 +221,7 @@ declare const SplitButton: {
82
221
  * <Icon svg={<CopyIcon />} />
83
222
  * </SplitButton.MenuItem>
84
223
  * <SplitButton.MenuItem asChild onClick={copyMarkdownPage}>
85
- * <a href={markdownUrl} target="_blank">
224
+ * <a href={markdownUrl} target="_blank" rel="noopener noreferrer">
86
225
  * View as Markdown
87
226
  * <Icon svg={<FileTextIcon />} />
88
227
  * </a>
@@ -110,7 +249,7 @@ declare const SplitButton: {
110
249
  * <Icon svg={<CopyIcon />} />
111
250
  * </SplitButton.MenuItem>
112
251
  * <SplitButton.MenuItem asChild onClick={copyMarkdownPage}>
113
- * <a href={markdownUrl} target="_blank">
252
+ * <a href={markdownUrl} target="_blank" rel="noopener noreferrer">
114
253
  * View as Markdown
115
254
  * <Icon svg={<FileTextIcon />} />
116
255
  * </a>
@@ -138,7 +277,7 @@ declare const SplitButton: {
138
277
  * <Icon svg={<CopyIcon />} />
139
278
  * </SplitButton.MenuItem>
140
279
  * <SplitButton.MenuItem asChild onClick={copyMarkdownPage}>
141
- * <a href={markdownUrl} target="_blank">
280
+ * <a href={markdownUrl} target="_blank" rel="noopener noreferrer">
142
281
  * View as Markdown
143
282
  * <Icon svg={<FileTextIcon />} />
144
283
  * </a>
@@ -167,7 +306,7 @@ declare const SplitButton: {
167
306
  * <Icon svg={<CopyIcon />} />
168
307
  * </SplitButton.MenuItem>
169
308
  * <SplitButton.MenuItem asChild onClick={copyMarkdownPage}>
170
- * <a href={markdownUrl} target="_blank">
309
+ * <a href={markdownUrl} target="_blank" rel="noopener noreferrer">
171
310
  * View as Markdown
172
311
  * <Icon svg={<FileTextIcon />} />
173
312
  * </a>
@@ -196,7 +335,7 @@ declare const SplitButton: {
196
335
  * <Icon svg={<CopyIcon />} />
197
336
  * </SplitButton.MenuItem>
198
337
  * <SplitButton.MenuItem asChild onClick={copyMarkdownPage}>
199
- * <a href={markdownUrl} target="_blank">
338
+ * <a href={markdownUrl} target="_blank" rel="noopener noreferrer">
200
339
  * View as Markdown
201
340
  * <Icon svg={<FileTextIcon />} />
202
341
  * </a>
@@ -1 +1 @@
1
- import{t as e}from"./cx-IiQEAKf5.js";import{t}from"./icon-lZ48P8Nn.js";import{t as n}from"./button-BAno7KIU.js";import{t as r}from"./button-DjpEKt2X.js";import{t as i}from"./dropdown-menu-RyDWoKHx.js";import{CaretDownIcon as a}from"@phosphor-icons/react/CaretDown";import{createContext as o,useContext as s,useMemo as c}from"react";import{jsx as l}from"react/jsx-runtime";const u=o({size:`md`}),d={Root:({className:t,children:n,dir:r,open:a,defaultOpen:o,onOpenChange:s,modal:d,size:f=`md`,ref:p,...m})=>{let h=c(()=>({size:f}),[f]);return l(i.Root,{dir:r,open:a,defaultOpen:o,onOpenChange:s,modal:d,children:l(u.Provider,{value:h,children:l(`div`,{"data-slot":`split-button`,"data-size":f,className:e(`flex flex-row [&>*:first-child]:rounded-r-none [&>*:last-child]:rounded-l-none [&>*:not(:first-child):not(:last-child)]:rounded-none [&>*:not(:first-child)]:-ml-px [&>*:focus]:relative [&>*:focus]:z-10 [&>*:hover]:relative [&>*:hover]:z-10 *:active:scale-100!`,t),ref:p,...m,children:n})})})},PrimaryAction:e=>{let{size:t}=s(u);return l(r,{appearance:`outlined`,intent:`neutral`,size:t,...e})},MenuTrigger:({icon:e,...r})=>{let{size:o}=s(u);return l(i.Trigger,{asChild:!0,className:`group`,children:l(n,{icon:e??l(t,{svg:l(a,{weight:`bold`,className:`size-4 group-data-[state=open]:-rotate-180 transition-transform ease-out duration-150`})}),appearance:`outlined`,intent:`neutral`,size:o,...r})})},MenuContent:({align:e=`end`,...t})=>l(i.Content,{align:e,...t}),MenuItem:({className:t,...n})=>l(i.Item,{className:e(`gap-2`,t),...n})};export{d as SplitButton};
1
+ import{t as e}from"./cx-IiQEAKf5.js";import{t}from"./icon-lZ48P8Nn.js";import{t as n}from"./button-DjpEKt2X.js";import{t as r}from"./button-BAno7KIU.js";import{t as i}from"./dropdown-menu-RyDWoKHx.js";import{CaretDownIcon as a}from"@phosphor-icons/react/CaretDown";import{createContext as o,useContext as s,useMemo as c}from"react";import{jsx as l}from"react/jsx-runtime";const u=o({size:`md`}),d={Root:({className:t,children:n,dir:r,open:a,defaultOpen:o,onOpenChange:s,modal:d,size:f=`md`,ref:p,...m})=>{let h=c(()=>({size:f}),[f]);return l(i.Root,{dir:r,open:a,defaultOpen:o,onOpenChange:s,modal:d,children:l(u.Provider,{value:h,children:l(`div`,{"data-slot":`split-button`,"data-size":f,className:e(`flex flex-row [&>*:first-child]:rounded-r-none [&>*:last-child]:rounded-l-none [&>*:not(:first-child):not(:last-child)]:rounded-none [&>*:not(:first-child)]:-ml-px [&>*:focus]:relative [&>*:focus]:z-10 [&>*:hover]:relative [&>*:hover]:z-10 *:active:scale-100!`,t),ref:p,...m,children:n})})})},PrimaryAction:e=>{let{size:t}=s(u);return l(n,{appearance:`outlined`,intent:`neutral`,size:t,...e})},MenuTrigger:({icon:e,...n})=>{let{size:o}=s(u);return l(i.Trigger,{asChild:!0,className:`group`,children:l(r,{icon:e??l(t,{svg:l(a,{weight:`bold`,className:`size-4 group-data-[state=open]:-rotate-180 transition-transform ease-out duration-150`})}),appearance:`outlined`,intent:`neutral`,size:o,...n})})},MenuContent:({align:e=`end`,...t})=>l(i.Content,{align:e,...t}),MenuItem:({className:t,...n})=>l(i.Item,{className:e(`gap-2`,t),...n})};export{d as SplitButton};
@@ -154,7 +154,7 @@ declare const Element: ({ children, className, ref, ...props }: ComponentProps<"
154
154
  * </Table.Root>
155
155
  * ```
156
156
  *
157
- * @see https://mantle.ngrok.com/components/data-display/table#tableheader
157
+ * @see https://mantle.ngrok.com/components/data-display/table#tablehead
158
158
  */
159
159
  declare const Head: ({ children, className, ref, ...props }: ComponentProps<"thead">) => import("react").JSX.Element;
160
160
  /**
@@ -690,7 +690,7 @@ declare const Table: {
690
690
  /**
691
691
  * The head section of a table. Contains the table's column headers information.
692
692
  *
693
- * @see https://mantle.ngrok.com/components/data-display/table#tableheader
693
+ * @see https://mantle.ngrok.com/components/data-display/table#tablehead
694
694
  *
695
695
  * @example
696
696
  * ```tsx
package/dist/table.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- import { t as Table } from "./table-Bo0vNxIJ.js";
1
+ import { t as Table } from "./table-CZBYEmyK.js";
2
2
  export { Table };
@@ -30,4 +30,4 @@ type Props = ComponentProps<"textarea"> & WithValidation & {
30
30
  */
31
31
  declare const TextArea: ({ appearance, "aria-invalid": _ariaInvalid, className, onDragEnter, onDragLeave, onDropCapture, ref, validation: _validation, ...props }: Props) => import("react").JSX.Element;
32
32
  //#endregion
33
- export { TextArea };
33
+ export { TextArea, type Props as TextAreaProps };
@@ -1,34 +1,50 @@
1
1
  //#region src/components/theme/themes.d.ts
2
2
  /**
3
3
  * resolvedThemes is a tuple of valid themes that have been resolved from "system" to a specific theme.
4
+ *
5
+ * @see https://mantle.ngrok.com/components/primitives/theme
4
6
  */
5
7
  declare const resolvedThemes: readonly ["light", "dark", "light-high-contrast", "dark-high-contrast"];
6
8
  /**
7
9
  * ResolvedTheme is a type that represents a theme that has been resolved from "system" to a specific theme.
10
+ *
11
+ * @see https://mantle.ngrok.com/components/primitives/theme
8
12
  */
9
13
  type ResolvedTheme = (typeof resolvedThemes)[number];
10
14
  /**
11
15
  * themes is a tuple of valid themes.
16
+ *
17
+ * @see https://mantle.ngrok.com/components/primitives/theme
12
18
  */
13
19
  declare const themes: readonly ["system", "light", "dark", "light-high-contrast", "dark-high-contrast"];
14
20
  /**
15
21
  * Theme is a string literal type that represents a valid theme.
22
+ *
23
+ * @see https://mantle.ngrok.com/components/primitives/theme
16
24
  */
17
25
  type Theme = (typeof themes)[number];
18
26
  /**
19
27
  * $theme is a helper which translates the Theme type into a string literal type.
28
+ *
29
+ * @see https://mantle.ngrok.com/components/primitives/theme
20
30
  */
21
31
  declare const $theme: <T extends Theme = Theme>(value: T) => T;
22
32
  /**
23
33
  * Type predicate that checks if a value is a valid theme.
34
+ *
35
+ * @see https://mantle.ngrok.com/components/primitives/theme
24
36
  */
25
37
  declare function isTheme(value: unknown): value is Theme;
26
38
  /**
27
39
  * $resolvedTheme is a helper which translates the ResolvedTheme type into a string literal type.
40
+ *
41
+ * @see https://mantle.ngrok.com/components/primitives/theme
28
42
  */
29
43
  declare const $resolvedTheme: <T extends ResolvedTheme = ResolvedTheme>(value: T) => T;
30
44
  /**
31
45
  * Type predicate that checks if a value is a valid resolved theme.
46
+ *
47
+ * @see https://mantle.ngrok.com/components/primitives/theme
32
48
  */
33
49
  declare function isResolvedTheme(value: unknown): value is ResolvedTheme;
34
50
  //#endregion
@@ -1,8 +1,8 @@
1
1
  import { t as WithStyleProps } from "./with-style-props-Dq5Vntqy.js";
2
2
  import { n as IconButtonProps, r as IconButtonAppearance } from "./button-C7vAl6lS.js";
3
3
  import { t as WithDataSlot } from "./data-slot-CChfb_cv.js";
4
- import { t as DropdownMenu } from "./dropdown-menu-DZg-Cd69.js";
5
- import "./dropdown-menu-Dw-OtXPm.js";
4
+ import { t as DropdownMenu } from "./dropdown-menu-D6pMAY7I.js";
5
+ import "./dropdown-menu-BbbQuae2.js";
6
6
  import { ComponentProps } from "react";
7
7
  //#region src/components/theme-switcher/theme-switcher.d.ts
8
8
  /**