@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
@@ -78,7 +78,7 @@ type AccordionRootProps = (AccordionSingleProps | AccordionMultipleProps) & Omit
78
78
  * other divider in the system. Disable the dividers with `divide-y-0` on the root
79
79
  * (e.g. pair it with `space-y-*` for a spaced-card layout).
80
80
  *
81
- * @see https://mantle.ngrok.com/components/data-display/accordion#api-accordion
81
+ * @see https://mantle.ngrok.com/components/data-display/accordion#accordionroot
82
82
  *
83
83
  * @example
84
84
  * <Accordion.Root type="single" defaultValue="shipping">
@@ -102,7 +102,7 @@ declare const Root: (props: AccordionRootProps) => import("react").JSX.Element;
102
102
  * Because the item is just a `<div>`, its header can be any layout — e.g. a flex
103
103
  * row with the {@link Trigger} alongside a separate, non-toggling action button.
104
104
  *
105
- * @see https://mantle.ngrok.com/components/data-display/accordion#api-accordion-item
105
+ * @see https://mantle.ngrok.com/components/data-display/accordion#accordionitem
106
106
  *
107
107
  * @example
108
108
  * <Accordion.Root type="single" defaultValue="item-1">
@@ -128,7 +128,7 @@ declare const Item: ({ children, value, ref, ...props }: ComponentProps<"div"> &
128
128
  * role varies). Place the {@link TriggerIcon} as the last child so the default
129
129
  * `justify-between` layout pushes it to the trailing edge.
130
130
  *
131
- * @see https://mantle.ngrok.com/components/data-display/accordion#api-accordion-trigger
131
+ * @see https://mantle.ngrok.com/components/data-display/accordion#accordiontrigger
132
132
  *
133
133
  * @example
134
134
  * <Accordion.Root type="single" defaultValue="item-1">
@@ -150,7 +150,7 @@ declare const Trigger: ({ className, children, onClick, ref, ...props }: Omit<Co
150
150
  * override it with any icon (the rotation-on-open still applies; override
151
151
  * `className` to change that).
152
152
  *
153
- * @see https://mantle.ngrok.com/components/data-display/accordion#api-accordion-trigger-icon
153
+ * @see https://mantle.ngrok.com/components/data-display/accordion#accordiontriggericon
154
154
  *
155
155
  * @example
156
156
  * // Default caret
@@ -197,7 +197,7 @@ declare const TriggerIcon: ({ className, svg, ...props }: Omit<IconProps, "svg">
197
197
  * the section when the browser reveals a match. It is flow content, so it may
198
198
  * contain anything — including interactive elements.
199
199
  *
200
- * @see https://mantle.ngrok.com/components/data-display/accordion#api-accordion-content
200
+ * @see https://mantle.ngrok.com/components/data-display/accordion#accordioncontent
201
201
  *
202
202
  * @example
203
203
  * <Accordion.Root type="single" defaultValue="item-1">
@@ -226,7 +226,7 @@ declare const Content: ({ className, children, ref, ...props }: ComponentProps<"
226
226
  * Override `className` to retune the padding (e.g. `pb-0`, `px-6`); `cx` resolves
227
227
  * last-wins.
228
228
  *
229
- * @see https://mantle.ngrok.com/components/data-display/accordion#api-accordion-body
229
+ * @see https://mantle.ngrok.com/components/data-display/accordion#accordionbody
230
230
  *
231
231
  * @example
232
232
  * <Accordion.Root type="single" defaultValue="item-1">
package/dist/agent.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ngrok/mantle",
3
- "version": "0.81.0",
3
+ "version": "0.81.1",
4
4
  "origin": "https://mantle.ngrok.com",
5
5
  "endpoints": {
6
6
  "docs": "https://mantle.ngrok.com/",
package/dist/alert.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { n as WithAsChild } from "./as-child-D23mGo4f.js";
2
2
  import { t as SvgAttributes } from "./icon-D1RY5Tcj.js";
3
- import "./index-DA4ig3gj.js";
3
+ import { r as ButtonProps } from "./button-DARFK2KJ.js";
4
4
  import { n as IconButtonProps, r as IconButtonAppearance } from "./button-C7vAl6lS.js";
5
5
  import { ComponentProps, ReactNode } from "react";
6
6
  //#region src/components/alert/alert.d.ts
@@ -26,23 +26,32 @@ type AlertProps = ComponentProps<"div"> & {
26
26
  /**
27
27
  * Displays a callout for user attention. Root container for all Alert sub-components.
28
28
  *
29
+ * Trailing controls inherit these public CSS variables:
30
+ *
31
+ * | Variable | Default | Purpose |
32
+ * | --- | --- | --- |
33
+ * | `--alert-control-color` | `var(--color-<intent>-700)` | Control text and icon color. |
34
+ * | `--alert-control-hover-color` | `var(--color-<intent>-800)` | Control text and icon color on hover. |
35
+ * | `--alert-control-hover-bg` | `color-mix(in oklab, var(--color-<intent>-500) 10%, transparent)` | Control background on hover. |
36
+ *
29
37
  * @see https://mantle.ngrok.com/components/feedback/alert#alertroot
30
38
  *
31
39
  * @example
32
40
  * ```tsx
33
- * <Alert intent="info">
34
- * <AlertIcon />
35
- * <AlertContent>
36
- * <AlertTitle>Alert Title</AlertTitle>
37
- * <AlertDismissIconButton />
38
- * <AlertDescription>
41
+ * <Alert.Root intent="info">
42
+ * <Alert.Icon />
43
+ * <Alert.Content>
44
+ * <Alert.Title>Alert Title</Alert.Title>
45
+ * <Alert.Description>
39
46
  * Alert description text.
40
- * </AlertDescription>
41
- * </AlertContent>
42
- * </Alert>
47
+ * </Alert.Description>
48
+ * <Alert.DismissIconButton />
49
+ * <Alert.ExpandButton count={2} expanded={false} />
50
+ * </Alert.Content>
51
+ * </Alert.Root>
43
52
  *```
44
53
  */
45
- declare const Root: ({ appearance, className, intent, ref, ...props }: AlertProps) => import("react").JSX.Element;
54
+ declare const Root: ({ appearance, className, intent, ref, style, ...props }: AlertProps) => import("react").JSX.Element;
46
55
  type AlertIconProps = Omit<SvgAttributes, "children"> & {
47
56
  /**
48
57
  * An optional icon that renders in place of the default icon for the Alert intent.
@@ -58,36 +67,39 @@ type AlertIconProps = Omit<SvgAttributes, "children"> & {
58
67
  *
59
68
  * @example
60
69
  * ```tsx
61
- * <Alert intent="info">
62
- * <AlertIcon />
63
- * <AlertContent>
64
- * <AlertTitle>Alert Title</AlertTitle>
65
- * <AlertDismissIconButton />
66
- * <AlertDescription>
70
+ * <Alert.Root intent="info">
71
+ * <Alert.Icon />
72
+ * <Alert.Content>
73
+ * <Alert.Title>Alert Title</Alert.Title>
74
+ * <Alert.Description>
67
75
  * Alert description text.
68
- * </AlertDescription>
69
- * </AlertContent>
70
- * </Alert>
76
+ * </Alert.Description>
77
+ * <Alert.DismissIconButton />
78
+ * <Alert.ExpandButton count={2} expanded={false} />
79
+ * </Alert.Content>
80
+ * </Alert.Root>
71
81
  * ```
72
82
  */
73
83
  declare const Icon: ({ className, ref, svg, ...props }: AlertIconProps) => import("react").JSX.Element;
74
84
  /**
75
- * The container for the content slot of an alert. Place the title and description as direct children.
85
+ * The container for the content slot of an alert. Place the title, description,
86
+ * and trailing controls as direct children.
76
87
  *
77
88
  * @see https://mantle.ngrok.com/components/feedback/alert#alertcontent
78
89
  *
79
90
  * @example
80
91
  * ```tsx
81
- * <Alert intent="info">
82
- * <AlertIcon />
83
- * <AlertContent>
84
- * <AlertTitle>Alert Title</AlertTitle>
85
- * <AlertDismissIconButton />
86
- * <AlertDescription>
92
+ * <Alert.Root intent="info">
93
+ * <Alert.Icon />
94
+ * <Alert.Content>
95
+ * <Alert.Title>Alert Title</Alert.Title>
96
+ * <Alert.Description>
87
97
  * Alert description text.
88
- * </AlertDescription>
89
- * </AlertContent>
90
- * </Alert>
98
+ * </Alert.Description>
99
+ * <Alert.DismissIconButton />
100
+ * <Alert.ExpandButton count={2} expanded={false} />
101
+ * </Alert.Content>
102
+ * </Alert.Root>
91
103
  *```
92
104
  */
93
105
  declare const Content: ({ className, ref, ...props }: ComponentProps<"div">) => import("react").JSX.Element;
@@ -99,16 +111,17 @@ type AlertTitleProps = ComponentProps<"h5"> & WithAsChild;
99
111
  *
100
112
  * @example
101
113
  * ```tsx
102
- * <Alert intent="info">
103
- * <AlertIcon />
104
- * <AlertContent>
105
- * <AlertTitle>Alert Title</AlertTitle>
106
- * <AlertDismissIconButton />
107
- * <AlertDescription>
114
+ * <Alert.Root intent="info">
115
+ * <Alert.Icon />
116
+ * <Alert.Content>
117
+ * <Alert.Title>Alert Title</Alert.Title>
118
+ * <Alert.Description>
108
119
  * Alert description text.
109
- * </AlertDescription>
110
- * </AlertContent>
111
- * </Alert>
120
+ * </Alert.Description>
121
+ * <Alert.DismissIconButton />
122
+ * <Alert.ExpandButton count={2} expanded={false} />
123
+ * </Alert.Content>
124
+ * </Alert.Root>
112
125
  *```
113
126
  */
114
127
  declare const Title: ({ asChild, className, ref, ...props }: AlertTitleProps) => import("react").JSX.Element;
@@ -122,16 +135,17 @@ type AlertDescriptionProps = ComponentProps<"div"> & WithAsChild;
122
135
  *
123
136
  * @example
124
137
  * ```tsx
125
- * <Alert intent="info">
126
- * <AlertIcon />
127
- * <AlertContent>
128
- * <AlertTitle>Alert Title</AlertTitle>
129
- * <AlertDismissIconButton />
130
- * <AlertDescription>
138
+ * <Alert.Root intent="info">
139
+ * <Alert.Icon />
140
+ * <Alert.Content>
141
+ * <Alert.Title>Alert Title</Alert.Title>
142
+ * <Alert.Description>
131
143
  * Alert description text.
132
- * </AlertDescription>
133
- * </AlertContent>
134
- * </Alert>
144
+ * </Alert.Description>
145
+ * <Alert.DismissIconButton />
146
+ * <Alert.ExpandButton count={2} expanded={false} />
147
+ * </Alert.Content>
148
+ * </Alert.Root>
135
149
  * ```
136
150
  */
137
151
  declare const Description: ({ asChild, className, ref, ...props }: AlertDescriptionProps) => import("react").JSX.Element;
@@ -149,7 +163,58 @@ type AlertDismissIconButtonProps = Partial<Omit<IconButtonProps, "appearance" |
149
163
  */
150
164
  icon?: ReactNode;
151
165
  };
152
- declare const DismissIconButton: ({ size, type, label, appearance, className, icon, style, ...props }: AlertDismissIconButtonProps) => import("react").JSX.Element;
166
+ /**
167
+ * A compact, trailing control for dismissing an alert.
168
+ *
169
+ * It inherits `--alert-control-color`, `--alert-control-hover-color`, and
170
+ * `--alert-control-hover-bg` from `Alert.Root`, shared with
171
+ * `Alert.ExpandButton` when both controls are composed together.
172
+ *
173
+ * @see https://mantle.ngrok.com/components/feedback/alert#alertdismissiconbutton
174
+ *
175
+ * @example
176
+ * ```tsx
177
+ * <Alert.Root intent="warning">
178
+ * <Alert.Icon />
179
+ * <Alert.Content>
180
+ * <Alert.Title>Usage limit approaching</Alert.Title>
181
+ * <Alert.DismissIconButton onClick={dismiss} />
182
+ * <Alert.ExpandButton count={2} expanded={isExpanded} onClick={toggle} />
183
+ * </Alert.Content>
184
+ * </Alert.Root>
185
+ * ```
186
+ */
187
+ declare const DismissIconButton: ({ size, type, label, appearance, className, icon, ...props }: AlertDismissIconButtonProps) => import("react").JSX.Element;
188
+ type AlertExpandButtonProps = Omit<ButtonProps, "appearance" | "asChild" | "children" | "icon" | "iconPlacement" | "intent" | "size"> & {
189
+ /** The number of alerts hidden by a collapsed alert center. */
190
+ count: number;
191
+ /** Whether the alerts controlled by this button are currently visible. */
192
+ expanded: boolean;
193
+ };
194
+ /**
195
+ * A compact, trailing control for expanding or collapsing related alerts.
196
+ *
197
+ * It occupies the trailing control area alongside `Alert.DismissIconButton`
198
+ * when both are present, and marks the alert so `Alert.Content` reserves room
199
+ * for its plus-prefixed count and caret on narrow viewports. It shares the
200
+ * `--alert-control-*` color variables from `Alert.Root` with the dismiss
201
+ * control.
202
+ *
203
+ * @see https://mantle.ngrok.com/components/feedback/alert#alertexpandbutton
204
+ *
205
+ * @example
206
+ * ```tsx
207
+ * <Alert.Root intent="warning">
208
+ * <Alert.Icon />
209
+ * <Alert.Content>
210
+ * <Alert.Title>Usage limit approaching</Alert.Title>
211
+ * <Alert.DismissIconButton />
212
+ * <Alert.ExpandButton count={2} expanded={isExpanded} onClick={toggle} />
213
+ * </Alert.Content>
214
+ * </Alert.Root>
215
+ * ```
216
+ */
217
+ declare const ExpandButton: ({ count, expanded, className, ...props }: AlertExpandButtonProps) => import("react").JSX.Element;
153
218
  /**
154
219
  * Displays a callout for user attention.
155
220
  *
@@ -160,24 +225,26 @@ declare const DismissIconButton: ({ size, type, label, appearance, className, ic
160
225
  * ```
161
226
  * Alert.Root
162
227
  * ├── Alert.Icon
163
- * └── Alert.Content
228
+ * ├── Alert.Content
164
229
  * ├── Alert.Title
165
230
  * ├── Alert.Description
166
- * └── Alert.DismissIconButton
231
+ * ├── Alert.DismissIconButton
232
+ * └── Alert.ExpandButton
167
233
  * ```
168
234
  *
169
235
  * @example
170
236
  * ```tsx
171
- * <Alert intent="info">
172
- * <AlertIcon />
173
- * <AlertContent>
174
- * <AlertTitle>Alert Title</AlertTitle>
175
- * <AlertDismissIconButton />
176
- * <AlertDescription>
237
+ * <Alert.Root intent="info">
238
+ * <Alert.Icon />
239
+ * <Alert.Content>
240
+ * <Alert.Title>Alert Title</Alert.Title>
241
+ * <Alert.Description>
177
242
  * Alert description text.
178
- * </AlertDescription>
179
- * </AlertContent>
180
- * </Alert>
243
+ * </Alert.Description>
244
+ * <Alert.DismissIconButton />
245
+ * <Alert.ExpandButton count={2} expanded={false} />
246
+ * </Alert.Content>
247
+ * </Alert.Root>
181
248
  *```
182
249
  */
183
250
  declare const Alert: {
@@ -193,6 +260,8 @@ declare const Alert: {
193
260
  * <Alert.Content>
194
261
  * <Alert.Title>Alert Title</Alert.Title>
195
262
  * <Alert.Description>Alert description</Alert.Description>
263
+ * <Alert.DismissIconButton />
264
+ * <Alert.ExpandButton count={2} expanded={false} />
196
265
  * </Alert.Content>
197
266
  * </Alert.Root>
198
267
  * ```
@@ -210,11 +279,34 @@ declare const Alert: {
210
279
  * <Alert.Content>
211
280
  * <Alert.Title>Alert Title</Alert.Title>
212
281
  * <Alert.Description>Alert description text.</Alert.Description>
282
+ * <Alert.DismissIconButton />
283
+ * <Alert.ExpandButton count={2} expanded={false} />
213
284
  * </Alert.Content>
214
285
  * </Alert.Root>
215
286
  * ```
216
287
  */
217
288
  readonly Content: typeof Content;
289
+ /**
290
+ * A compact trailing control for expanding or collapsing related alerts.
291
+ * It inherits the `--alert-control-color`, `--alert-control-hover-color`, and
292
+ * `--alert-control-hover-bg` variables from `Alert.Root`, shared with the
293
+ * dismiss control.
294
+ *
295
+ * @see https://mantle.ngrok.com/components/feedback/alert#alertexpandbutton
296
+ *
297
+ * @example
298
+ * ```tsx
299
+ * <Alert.Root intent="warning">
300
+ * <Alert.Icon />
301
+ * <Alert.Content>
302
+ * <Alert.Title>Usage limit approaching</Alert.Title>
303
+ * <Alert.DismissIconButton />
304
+ * <Alert.ExpandButton count={2} expanded={isExpanded} onClick={toggle} />
305
+ * </Alert.Content>
306
+ * </Alert.Root>
307
+ * ```
308
+ */
309
+ readonly ExpandButton: typeof ExpandButton;
218
310
  /**
219
311
  * The optional description of an alert.
220
312
  *
@@ -227,6 +319,8 @@ declare const Alert: {
227
319
  * <Alert.Content>
228
320
  * <Alert.Title>Alert Title</Alert.Title>
229
321
  * <Alert.Description>Alert description text.</Alert.Description>
322
+ * <Alert.DismissIconButton />
323
+ * <Alert.ExpandButton count={2} expanded={false} />
230
324
  * </Alert.Content>
231
325
  * </Alert.Root>
232
326
  * ```
@@ -234,6 +328,9 @@ declare const Alert: {
234
328
  readonly Description: typeof Description;
235
329
  /**
236
330
  * An optional dismiss button that can be used to close the alert.
331
+ * It inherits the `--alert-control-color`, `--alert-control-hover-color`, and
332
+ * `--alert-control-hover-bg` variables from `Alert.Root`, shared with the
333
+ * expand control.
237
334
  *
238
335
  * @see https://mantle.ngrok.com/components/feedback/alert#alertdismissiconbutton
239
336
  *
@@ -245,6 +342,7 @@ declare const Alert: {
245
342
  * <Alert.Title>Alert Title</Alert.Title>
246
343
  * <Alert.DismissIconButton />
247
344
  * <Alert.Description>Alert description text.</Alert.Description>
345
+ * <Alert.ExpandButton count={2} expanded={false} />
248
346
  * </Alert.Content>
249
347
  * </Alert.Root>
250
348
  * ```
@@ -262,6 +360,8 @@ declare const Alert: {
262
360
  * <Alert.Content>
263
361
  * <Alert.Title>Alert Title</Alert.Title>
264
362
  * <Alert.Description>Alert description text.</Alert.Description>
363
+ * <Alert.DismissIconButton />
364
+ * <Alert.ExpandButton count={2} expanded={false} />
265
365
  * </Alert.Content>
266
366
  * </Alert.Root>
267
367
  * ```
@@ -279,6 +379,8 @@ declare const Alert: {
279
379
  * <Alert.Content>
280
380
  * <Alert.Title>Alert Title</Alert.Title>
281
381
  * <Alert.Description>Alert description text.</Alert.Description>
382
+ * <Alert.DismissIconButton />
383
+ * <Alert.ExpandButton count={2} expanded={false} />
282
384
  * </Alert.Content>
283
385
  * </Alert.Root>
284
386
  * ```
package/dist/alert.js CHANGED
@@ -1 +1 @@
1
- import{t as e}from"./cx-IiQEAKf5.js";import{t}from"./icon-d-nMCfAI.js";import{t as n}from"./slot-CDk0Bb9z.js";import{t as r}from"./types-D85fCNV3.js";import{t as i}from"./button-BAno7KIU.js";import{createContext as a,useContext as o,useMemo as s}from"react";import c from"tiny-invariant";import{jsx as l}from"react/jsx-runtime";import{CheckCircleIcon as u}from"@phosphor-icons/react/CheckCircle";import{InfoIcon as d}from"@phosphor-icons/react/Info";import{MegaphoneIcon as f}from"@phosphor-icons/react/Megaphone";import{WarningIcon as p}from"@phosphor-icons/react/Warning";import{WarningDiamondIcon as m}from"@phosphor-icons/react/WarningDiamond";import{XIcon as h}from"@phosphor-icons/react/X";import{cva as g}from"class-variance-authority";const _=a(null),v=l(h,{});function y(){let e=o(_);return c(e,`useAlertContext hook used outside of Alert parent!`),e}const b=g(`relative flex w-full gap-1.5 rounded-md border p-2.5 text-sm font-sans`,{variants:{intent:{danger:`border-danger-500/50 bg-danger-500/10 text-danger-700 [&_code]:bg-danger-500/10 [&_code]:border-danger-500/20 [&_code]:text-danger-900 [&_a]:text-danger-700 [&_a]:underline`,important:`border-important-500/50 bg-important-500/10 text-important-700 [&_code]:bg-important-500/10 [&_code]:border-important-500/20 [&_code]:text-important-900 [&_a]:text-important-700 [&_a]:underline`,info:`border-info-500/50 bg-info-500/10 text-info-700 [&_code]:bg-info-500/10 [&_code]:border-info-500/20 [&_code]:text-info-900 [&_a]:text-info-700 [&_a]:underline`,success:`border-success-500/50 bg-success-500/10 text-success-700 [&_code]:bg-success-500/10 [&_code]:border-success-500/20 [&_code]:text-success-900 [&_a]:text-success-700 [&_a]:underline`,warning:`border-warning-500/50 bg-warning-500/10 text-warning-700 [&_code]:bg-warning-500/10 [&_code]:border-warning-500/20 [&_code]:text-warning-900 [&_a]:text-warning-700 [&_a]:underline`},appearance:{banner:`border-x-0 border-t-0 rounded-none z-50 sticky`,default:``}}}),x=({appearance:t=`default`,className:n,intent:r,ref:i,...a})=>{let o=s(()=>({intent:r}),[r]);return l(_.Provider,{value:o,children:l(`div`,{ref:i,"data-slot":`alert`,className:e(b({appearance:t,intent:r}),n),...a})})},S={danger:l(p,{}),important:l(f,{mirrored:!0}),info:l(d,{}),success:l(u,{}),warning:l(m,{})},C=({className:n,ref:r,svg:i,...a})=>{let o=y(),s=S[o.intent];return l(t,{ref:r,"data-slot":`alert-icon`,className:e(`size-5`,n),svg:i??s,...a})},w=({className:t,ref:n,...r})=>l(`div`,{ref:n,"data-slot":`alert-content`,className:e(`min-w-0 flex-1 has-data-alert-dismiss:pr-6`,t),...r}),T=({asChild:t=!1,className:r,ref:i,...a})=>l(t?n:`h5`,{ref:i,"data-slot":`alert-title`,className:e(`font-medium`,r),...a}),E=({asChild:t=!1,className:r,ref:i,...a})=>l(t?n:`div`,{ref:i,"data-slot":`alert-description`,className:e(`text-sm`,r),...a}),D=e=>`var(--color-${e}-700)`,O=e=>`var(--color-${e}-800)`,k=e=>`color-mix(in oklab, var(--color-${e}-500) 10%, transparent)`,A={Root:x,Content:w,Description:E,DismissIconButton:({size:t=`sm`,type:n=`button`,label:a=`Dismiss Alert`,appearance:o=`ghost`,className:s,icon:c=v,style:u,...d})=>{let f=y();return l(i,{appearance:o,icon:c,intent:`neutral`,label:a,size:t,"data-slot":`alert-dismiss-icon-button`,"data-alert-dismiss":!0,className:e(`right-1.5 top-1.5 absolute`,`text-(--alert-dismiss-icon-color)`,`not-disabled:hover:bg-(--alert-dismiss-hover-bg) not-disabled:hover:text-(--alert-dismiss-icon-hover-color)`,s),type:n,style:r({...u,"--alert-dismiss-icon-color":D(f.intent),"--alert-dismiss-icon-hover-color":O(f.intent),"--alert-dismiss-hover-bg":k(f.intent)}),...d})},Icon:C,Title:T};export{A as Alert};
1
+ import{t as e}from"./cx-IiQEAKf5.js";import{t}from"./icon-d-nMCfAI.js";import{t as n}from"./slot-CDk0Bb9z.js";import{t as r}from"./types-D85fCNV3.js";import{t as i}from"./button-DjpEKt2X.js";import{t as a}from"./button-BAno7KIU.js";import{CaretDownIcon as o}from"@phosphor-icons/react/CaretDown";import{createContext as s,useContext as c,useMemo as l}from"react";import u from"tiny-invariant";import{jsx as d,jsxs as f}from"react/jsx-runtime";import{CheckCircleIcon as p}from"@phosphor-icons/react/CheckCircle";import{InfoIcon as m}from"@phosphor-icons/react/Info";import{MegaphoneIcon as h}from"@phosphor-icons/react/Megaphone";import{WarningIcon as g}from"@phosphor-icons/react/Warning";import{WarningDiamondIcon as _}from"@phosphor-icons/react/WarningDiamond";import{XIcon as v}from"@phosphor-icons/react/X";import{cva as y}from"class-variance-authority";const b=s(null),x=d(v,{});function S(){let e=c(b);return u(e,`useAlertContext hook used outside of Alert parent!`),e}const C=y(`relative flex w-full gap-1.5 rounded-md border p-2.5 text-sm font-sans`,{variants:{intent:{danger:`border-danger-500/50 bg-danger-500/10 text-danger-700 [&_code]:bg-danger-500/10 [&_code]:border-danger-500/20 [&_code]:text-danger-900 [&_a:not([data-slot=button])]:text-danger-700 [&_a:not([data-slot=button])]:underline`,important:`border-important-500/50 bg-important-500/10 text-important-700 [&_code]:bg-important-500/10 [&_code]:border-important-500/20 [&_code]:text-important-900 [&_a:not([data-slot=button])]:text-important-700 [&_a:not([data-slot=button])]:underline`,info:`border-info-500/50 bg-info-500/10 text-info-700 [&_code]:bg-info-500/10 [&_code]:border-info-500/20 [&_code]:text-info-900 [&_a:not([data-slot=button])]:text-info-700 [&_a:not([data-slot=button])]:underline`,success:`border-success-500/50 bg-success-500/10 text-success-700 [&_code]:bg-success-500/10 [&_code]:border-success-500/20 [&_code]:text-success-900 [&_a:not([data-slot=button])]:text-success-700 [&_a:not([data-slot=button])]:underline`,warning:`border-warning-500/50 bg-warning-500/10 text-warning-700 [&_code]:bg-warning-500/10 [&_code]:border-warning-500/20 [&_code]:text-warning-900 [&_a:not([data-slot=button])]:text-warning-700 [&_a:not([data-slot=button])]:underline`},appearance:{banner:`border-x-0 border-t-0 rounded-none z-50 sticky`,default:``}}}),w=({appearance:t=`default`,className:n,intent:i,ref:a,style:o,...s})=>{let c=l(()=>({intent:i}),[i]);return d(b.Provider,{value:c,children:d(`div`,{ref:a,"data-slot":`alert`,className:e(C({appearance:t,intent:i}),`has-data-alert-dismiss:pr-10`,`has-data-alert-expand:[&_[data-slot=alert-dismiss-icon-button]]:right-16`,`md:has-data-alert-expand:[&_[data-slot=alert-dismiss-icon-button]]:right-24`,`has-data-alert-expand:[&_[data-slot=alert-content]]:pr-12`,`md:has-data-alert-expand:[&_[data-slot=alert-content]]:pr-[5.5rem]`,n),style:r({"--alert-control-color":A(i),"--alert-control-hover-color":j(i),"--alert-control-hover-bg":M(i),...o}),...s})})},T={danger:d(g,{}),important:d(h,{mirrored:!0}),info:d(m,{}),success:d(p,{}),warning:d(_,{})},E=({className:n,ref:r,svg:i,...a})=>{let o=S(),s=T[o.intent];return d(t,{ref:r,"data-slot":`alert-icon`,className:e(`size-5`,n),svg:i??s,...a})},D=({className:t,ref:n,...r})=>d(`div`,{ref:n,"data-slot":`alert-content`,className:e(`min-w-0 flex-1 has-data-alert-dismiss:pr-6`,t),...r}),O=({asChild:t=!1,className:r,ref:i,...a})=>d(t?n:`h5`,{ref:i,"data-slot":`alert-title`,className:e(`font-medium`,r),...a}),k=({asChild:t=!1,className:r,ref:i,...a})=>d(t?n:`div`,{ref:i,"data-slot":`alert-description`,className:e(`text-sm`,r),...a}),A=e=>`var(--color-${e}-700)`,j=e=>`var(--color-${e}-800)`,M=e=>`color-mix(in oklab, var(--color-${e}-500) 10%, transparent)`,N={Root:w,Content:D,ExpandButton:({count:t,expanded:n,className:r,...a})=>f(i,{type:`button`,appearance:`ghost`,intent:`neutral`,size:`sm`,"aria-expanded":n,"aria-label":n?`Collapse additional alerts`:`Show ${t} more ${t===1?`alert`:`alerts`}`,"data-slot":`alert-expand-button`,"data-alert-expand":!0,className:e(`right-1.5 top-1.5 absolute gap-1 px-1.5`,`text-[var(--alert-control-color,currentColor)]`,`not-disabled:hover:bg-[var(--alert-control-hover-bg,transparent)] not-disabled:hover:text-[var(--alert-control-hover-color,currentColor)]`,r),...a,children:[f(`span`,{className:`min-w-[2ch] text-center tabular-nums`,children:[`+`,t]}),d(`span`,{className:`hidden md:inline`,children:`more`}),d(o,{weight:`bold`,className:e(`size-4 transition-transform ease-out duration-150`,n&&`-rotate-180`)})]}),Description:k,DismissIconButton:({size:t=`sm`,type:n=`button`,label:r=`Dismiss Alert`,appearance:i=`ghost`,className:o,icon:s=x,...c})=>d(a,{appearance:i,icon:s,intent:`neutral`,label:r,size:t,"data-slot":`alert-dismiss-icon-button`,"data-alert-dismiss":!0,className:e(`right-1.5 top-1.5 absolute`,`text-[var(--alert-control-color,currentColor)]`,`not-disabled:hover:bg-[var(--alert-control-hover-bg,transparent)] not-disabled:hover:text-[var(--alert-control-hover-color,currentColor)]`,o),type:n,...c}),Icon:E,Title:O};export{N as Alert};
@@ -1,11 +1,11 @@
1
- import { _ as SeriesColor, a as LegendPrimitiveProps, c as XAxisPrimitiveProps, f as ChartDatum, g as PointShape, h as CurveKind, i as GridPrimitiveProps, l as YAxisPrimitiveProps, m as ContinuousXScale, 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, h as CurveKind, i as GridPrimitiveProps, l as YAxisPrimitiveProps, m as ContinuousXScale, 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/area-chart/area-chart.d.ts
3
3
  /**
4
4
  * Props for {@link AreaChart.Root}. Areas fill from a shared zero baseline, so
5
5
  * the y domain minimum is fixed at `0` — a truncated-area axis is
6
6
  * unrepresentable.
7
7
  */
8
- type AreaChartRootProps<TDatum extends ChartDatum = ChartDatum> = Omit<ChartRootBaseProps, "yDomain"> & ChartAccessibleName & {
8
+ type AreaChartRootProps<TDatum extends ChartDatum = ChartDatum> = Omit<ChartRootBaseProps, "yDomain"> & ChartAccessibilityProps & {
9
9
  /** Rows of data; each `AreaChart.Area` reads one numeric key per row. */
10
10
  data: readonly TDatum[];
11
11
  /** The key of each row's x value. */
@@ -305,7 +305,8 @@ declare const CopyButton: (props: AreaChartCopyButtonProps) => import("react").J
305
305
  * ├── AreaChart.Area (one per series)
306
306
  * ├── AreaChart.ReferenceLine
307
307
  * ├── AreaChart.Tooltip
308
- * └── AreaChart.Legend
308
+ * ├── AreaChart.Legend
309
+ * └── AreaChart.CopyButton
309
310
  * ```
310
311
  *
311
312
  * @example
@@ -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:`area`,componentName:`AreaChart`,slotName:`area-chart`,...e}),Area:e=>a(`AreaChart.Area`,`area`,e),Grid:e=>n(`AreaChart.Grid`,e),XAxis:e=>t(`AreaChart.XAxis`,e),YAxis:e=>r(`AreaChart.YAxis`,e),ReferenceLine:t=>e(`AreaChart.ReferenceLine`,t),Tooltip:e=>s(`AreaChart.Tooltip`,e),Legend:e=>l(i,{partName:`AreaChart.Legend`,slotName:`area-chart`,...e}),CopyButton:e=>l(c,{partName:`AreaChart.CopyButton`,slotName:`area-chart`,...e})};export{u as AreaChart};
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:`area`,componentName:`AreaChart`,slotName:`area-chart`,...e}),Area:e=>a(`AreaChart.Area`,`area`,e),Grid:e=>n(`AreaChart.Grid`,e),XAxis:e=>t(`AreaChart.XAxis`,e),YAxis:e=>r(`AreaChart.YAxis`,e),ReferenceLine:t=>e(`AreaChart.ReferenceLine`,t),Tooltip:e=>s(`AreaChart.Tooltip`,e),Legend:e=>l(i,{partName:`AreaChart.Legend`,slotName:`area-chart`,...e}),CopyButton:e=>l(c,{partName:`AreaChart.CopyButton`,slotName:`area-chart`,...e})};export{u as AreaChart};
@@ -1,11 +1,11 @@
1
- import { _ as SeriesColor, a as LegendPrimitiveProps, c as XAxisPrimitiveProps, d as BarTexture, f as ChartDatum, i as GridPrimitiveProps, l as YAxisPrimitiveProps, n as ChartRootBaseProps, o as ReferenceLinePrimitiveProps, p as ChartDatumEvent, r as CopyButtonPrimitiveProps, s as TooltipPrimitiveProps, t as ChartAccessibleName, u as BarOrientation } from "./chart-BcOC6Qj0.js";
1
+ import { _ as SeriesColor, a as LegendPrimitiveProps, c as XAxisPrimitiveProps, d as BarTexture, f as ChartDatum, i as GridPrimitiveProps, l as YAxisPrimitiveProps, n as ChartRootBaseProps, o as ReferenceLinePrimitiveProps, p as ChartDatumEvent, r as CopyButtonPrimitiveProps, s as TooltipPrimitiveProps, t as ChartAccessibilityProps, u as BarOrientation } from "./chart-1cVjAcj8.js";
2
2
  //#region src/components/bar-chart/bar-chart.d.ts
3
3
  /**
4
4
  * Props for {@link BarChart.Root}. Bars encode value by length from a shared
5
5
  * zero baseline, so the y domain minimum is fixed at `0` — a truncated-bar
6
6
  * axis is unrepresentable.
7
7
  */
8
- type BarChartRootProps<TDatum extends ChartDatum = ChartDatum> = Omit<ChartRootBaseProps, "yDomain"> & ChartAccessibleName & {
8
+ type BarChartRootProps<TDatum extends ChartDatum = ChartDatum> = Omit<ChartRootBaseProps, "yDomain"> & ChartAccessibilityProps & {
9
9
  /** Rows of data; each `BarChart.Bar` reads one numeric key per row. */
10
10
  data: readonly TDatum[];
11
11
  /** The key of each row's category (x) value. */
@@ -293,7 +293,8 @@ declare const CopyButton: (props: BarChartCopyButtonProps) => import("react").JS
293
293
  * ├── BarChart.Bar (one per series)
294
294
  * ├── BarChart.ReferenceLine
295
295
  * ├── BarChart.Tooltip
296
- * └── BarChart.Legend
296
+ * ├── BarChart.Legend
297
+ * └── BarChart.CopyButton
297
298
  * ```
298
299
  *
299
300
  * @example
package/dist/bar-chart.js CHANGED
@@ -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:`bar`,componentName:`BarChart`,slotName:`bar-chart`,...e}),Bar:e=>a(`BarChart.Bar`,`bar`,e),Grid:e=>n(`BarChart.Grid`,e),XAxis:e=>t(`BarChart.XAxis`,e),YAxis:e=>r(`BarChart.YAxis`,e),ReferenceLine:t=>e(`BarChart.ReferenceLine`,t),Tooltip:e=>s(`BarChart.Tooltip`,e),Legend:e=>l(i,{partName:`BarChart.Legend`,slotName:`bar-chart`,...e}),CopyButton:e=>l(c,{partName:`BarChart.CopyButton`,slotName:`bar-chart`,...e})};export{u as BarChart};
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:`bar`,componentName:`BarChart`,slotName:`bar-chart`,...e}),Bar:e=>a(`BarChart.Bar`,`bar`,e),Grid:e=>n(`BarChart.Grid`,e),XAxis:e=>t(`BarChart.XAxis`,e),YAxis:e=>r(`BarChart.YAxis`,e),ReferenceLine:t=>e(`BarChart.ReferenceLine`,t),Tooltip:e=>s(`BarChart.Tooltip`,e),Legend:e=>l(i,{partName:`BarChart.Legend`,slotName:`bar-chart`,...e}),CopyButton:e=>l(c,{partName:`BarChart.CopyButton`,slotName:`bar-chart`,...e})};export{u as BarChart};
package/dist/button.js CHANGED
@@ -1 +1 @@
1
- import{t as e}from"./button-BAno7KIU.js";import{t}from"./button-DjpEKt2X.js";import{t as n}from"./button-D9n09xUg.js";export{t as Button,n as ButtonGroup,e as IconButton};
1
+ import{t as e}from"./button-DjpEKt2X.js";import{t}from"./button-BAno7KIU.js";import{t as n}from"./button-D9n09xUg.js";export{e as Button,n as ButtonGroup,t as IconButton};
package/dist/calendar.js CHANGED
@@ -1 +1 @@
1
- import{t as e}from"./cx-IiQEAKf5.js";import{t}from"./icon-lZ48P8Nn.js";import{t as n}from"./button-DvHMWAPl.js";import{jsx as r}from"react/jsx-runtime";import{CaretRightIcon as i}from"@phosphor-icons/react/CaretRight";import{CaretLeftIcon as a}from"@phosphor-icons/react/CaretLeft";import{DayPicker as o}from"react-day-picker";const s=n({appearance:`ghost`,intent:`neutral`,size:`sm`});function c({className:n,classNames:c,showOutsideDays:l=!1,...u}){return r(o,{"data-slot":`calendar`,animate:!1,components:{Chevron:e=>r(t,{svg:e.orientation===`left`?r(a,{}):r(i,{}),className:`size-4`})},classNames:{root:e(`isolate`,n),button_next:e(s,`absolute right-0`),button_previous:e(s,`absolute left-0`),caption_label:`text-sm font-medium`,day:e(`overflow-hidden text-center text-sm p-0 relative focus-within:relative focus-within:z-20 size-7 rounded-md`,u.mode===`range`?`first:has-aria-selected:rounded-l-md last:has-aria-selected:rounded-r-md`:``),day_button:`day size-full rounded-md not-aria-selected:not-disabled:hover:bg-filled-accent/15`,disabled:`text-muted opacity-50`,hidden:`invisible`,month:`space-y-4`,month_caption:`flex justify-center pt-1 relative items-center`,month_grid:`w-full border-collapse space-y-1`,months:`flex flex-col sm:flex-row gap-y-4 sm:gap-x-4 sm:gap-y-0 relative max-w-min`,nav:`flex items-center absolute inset-x-0 top-1 h-5 justify-between z-10`,outside:`day-outside aria-selected:text-on-filled opacity-50 text-muted`,range_end:`day-range-end [&:not(.day-range-start)]:rounded-l-none`,range_middle:`day-range-middle not-disabled:aria-selected:bg-filled-accent/15 aria-selected:text-strong rounded-none not-disabled:aria-selected:hover:bg-filled-accent/25`,range_start:`day-range-start [&:not(.day-range-end)]:rounded-r-none`,selected:`not-disabled:bg-filled-accent text-on-filled not-disabled:hover:bg-filled-accent`,today:`not-aria-selected:not-disabled:text-accent-600 font-medium not-aria-selected:not-disabled:bg-filled-accent/10 rounded-md`,week:`flex w-full mt-1`,weekday:`text-body w-7 text-[0.8rem] text-center font-normal`,weekdays:`flex`,...c},showOutsideDays:l,...u})}export{c as Calendar};
1
+ import{t as e}from"./cx-IiQEAKf5.js";import{t}from"./icon-lZ48P8Nn.js";import{t as n}from"./button-DvHMWAPl.js";import{jsx as r}from"react/jsx-runtime";import{CaretRightIcon as i}from"@phosphor-icons/react/CaretRight";import{CaretLeftIcon as a}from"@phosphor-icons/react/CaretLeft";import{DayPicker as o}from"react-day-picker";const s=n({appearance:`ghost`,intent:`neutral`,size:`sm`});function c({className:n,classNames:c,showOutsideDays:l=!1,...u}){return r(o,{"data-slot":`calendar`,animate:!1,components:{Chevron:e=>r(t,{svg:e.orientation===`left`?r(a,{}):r(i,{}),className:`size-4`})},classNames:{root:e(`isolate`,n),button_next:e(s,`absolute right-0`),button_previous:e(s,`absolute left-0`),caption_label:`text-sm font-medium`,day:e(`overflow-hidden text-center text-sm p-0 relative focus-within:relative focus-within:z-20 size-7 rounded-md`,u.mode===`range`&&`first:has-aria-selected:rounded-l-md last:has-aria-selected:rounded-r-md`),day_button:`day size-full rounded-md not-aria-selected:not-disabled:hover:bg-filled-accent/15`,disabled:`text-muted opacity-50`,hidden:`invisible`,month:`space-y-4`,month_caption:`flex justify-center pt-1 relative items-center`,month_grid:`w-full border-collapse space-y-1`,months:`flex flex-col sm:flex-row gap-y-4 sm:gap-x-4 sm:gap-y-0 relative max-w-min`,nav:`flex items-center absolute inset-x-0 top-1 h-5 justify-between z-10`,outside:`day-outside aria-selected:text-on-filled opacity-50 text-muted`,range_end:`day-range-end [&:not(.day-range-start)]:rounded-l-none`,range_middle:`day-range-middle not-disabled:aria-selected:bg-filled-accent/15 aria-selected:text-strong rounded-none not-disabled:aria-selected:hover:bg-filled-accent/25`,range_start:`day-range-start [&:not(.day-range-end)]:rounded-r-none`,selected:`not-disabled:bg-filled-accent text-on-filled not-disabled:hover:bg-filled-accent`,today:`not-aria-selected:not-disabled:text-accent-600 font-medium not-aria-selected:not-disabled:bg-filled-accent/10 rounded-md`,week:`flex w-full mt-1`,weekday:`text-body w-7 text-[0.8rem] text-center font-normal`,weekdays:`flex`,...c},showOutsideDays:l,...u})}export{c as Calendar};