@usememos/ui 26.10.1 → 26.10.3

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 (79) hide show
  1. package/README.md +3 -1
  2. package/dist/components/avatar/index.js +3 -0
  3. package/dist/components/avatar/index.js.map +7 -0
  4. package/dist/components/badge/index.js +3 -0
  5. package/dist/components/badge/index.js.map +7 -0
  6. package/dist/components/button/index.js +3 -0
  7. package/dist/components/button/index.js.map +7 -0
  8. package/dist/components/checkbox/index.js +3 -0
  9. package/dist/components/checkbox/index.js.map +7 -0
  10. package/dist/components/collapsible/index.js +3 -0
  11. package/dist/components/collapsible/index.js.map +7 -0
  12. package/dist/components/combobox/index.js +3 -0
  13. package/dist/components/combobox/index.js.map +7 -0
  14. package/dist/components/dialog/alert-dialog.js +3 -0
  15. package/dist/components/dialog/alert-dialog.js.map +7 -0
  16. package/dist/components/dialog/index.js +3 -0
  17. package/dist/components/dialog/index.js.map +7 -0
  18. package/dist/components/dialog/parts.js +3 -0
  19. package/dist/components/dialog/parts.js.map +7 -0
  20. package/dist/components/field/fieldset.js +3 -0
  21. package/dist/components/field/fieldset.js.map +7 -0
  22. package/dist/components/field/index.js +3 -0
  23. package/dist/components/field/index.js.map +7 -0
  24. package/dist/components/input/index.js +3 -0
  25. package/dist/components/input/index.js.map +7 -0
  26. package/dist/components/kbd/index.js +3 -0
  27. package/dist/components/kbd/index.js.map +7 -0
  28. package/dist/components/link/index.js +3 -0
  29. package/dist/components/link/index.js.map +7 -0
  30. package/dist/components/menu/index.js +3 -0
  31. package/dist/components/menu/index.js.map +7 -0
  32. package/dist/components/popover/index.js +3 -0
  33. package/dist/components/popover/index.js.map +7 -0
  34. package/dist/components/prose/index.js +3 -0
  35. package/dist/components/prose/index.js.map +7 -0
  36. package/dist/components/radio-group/index.js +3 -0
  37. package/dist/components/radio-group/index.js.map +7 -0
  38. package/dist/components/select/index.js +3 -0
  39. package/dist/components/select/index.js.map +7 -0
  40. package/dist/components/separator/index.js +3 -0
  41. package/dist/components/separator/index.js.map +7 -0
  42. package/dist/components/skeleton/index.js +3 -0
  43. package/dist/components/skeleton/index.js.map +7 -0
  44. package/dist/components/spinner/index.js +3 -0
  45. package/dist/components/spinner/index.js.map +7 -0
  46. package/dist/components/switch/index.js +3 -0
  47. package/dist/components/switch/index.js.map +7 -0
  48. package/dist/components/table/index.js +3 -0
  49. package/dist/components/table/index.js.map +7 -0
  50. package/dist/components/tabs/index.js +3 -0
  51. package/dist/components/tabs/index.js.map +7 -0
  52. package/dist/components/textarea/index.js +3 -0
  53. package/dist/components/textarea/index.js.map +7 -0
  54. package/dist/components/toast/index.js +3 -0
  55. package/dist/components/toast/index.js.map +7 -0
  56. package/dist/components/toggle/index.js +3 -0
  57. package/dist/components/toggle/index.js.map +7 -0
  58. package/dist/components/toggle-group/index.js +3 -0
  59. package/dist/components/toggle-group/index.js.map +7 -0
  60. package/dist/components/tooltip/index.js +3 -0
  61. package/dist/components/tooltip/index.js.map +7 -0
  62. package/dist/index.js +1 -1
  63. package/dist/index.js.map +4 -4
  64. package/dist/internal/class-name.js +3 -0
  65. package/dist/internal/class-name.js.map +7 -0
  66. package/dist/internal/popup.js +3 -0
  67. package/dist/internal/popup.js.map +7 -0
  68. package/dist/internal/size.js +3 -0
  69. package/dist/internal/size.js.map +7 -0
  70. package/dist/styles.css +1 -1
  71. package/dist/tokens.css +1 -1
  72. package/dist/types.js +2 -0
  73. package/dist/types.js.map +7 -0
  74. package/llms-full.txt +79 -43
  75. package/llms.txt +1 -1
  76. package/package.json +1 -1
  77. package/dist/InterVariable-Italic.woff2 +0 -0
  78. package/dist/InterVariable.woff2 +0 -0
  79. package/dist/OFL.txt +0 -92
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/table/index.tsx"],
4
+ "sourcesContent": ["import { forwardRef, type ComponentPropsWithoutRef } from 'react';\nimport { cx } from '../../internal/class-name';\nimport { SizeContext, useSize } from '../../internal/size';\nimport type { Size } from '../../types';\n\nconst bodyText: Record<Size, string> = { sm: 'mu-body-sm', md: 'mu-body', lg: 'mu-body-lg' };\n\nexport interface RootProps extends ComponentPropsWithoutRef<'table'> {\n /** `sm` for dense admin lists. Sets row height and cell text. */\n size?: Size;\n}\n\n/**\n * A `<table>` with rows separated by `line`. It sits in a box that scrolls\n * sideways when the table is wider than the screen; the ref and every prop go\n * to the `<table>`.\n */\nexport const Root = forwardRef<HTMLTableElement, RootProps>(function TableRoot({ size, className, ...props }, ref) {\n const resolved = useSize(size);\n return (\n <SizeContext.Provider value={resolved}>\n <div className=\"mu-table-scroll\">\n <table ref={ref} {...props} className={cx('mu-table mu-base', `mu-s-${resolved}`, bodyText[resolved], className)} />\n </div>\n </SizeContext.Provider>\n );\n});\n\nexport interface HeaderProps extends ComponentPropsWithoutRef<'thead'> {}\n\n/** The `<thead>`, holding one Row of Head cells. */\nexport const Header = forwardRef<HTMLTableSectionElement, HeaderProps>(function TableHeader({ className, ...props }, ref) {\n return <thead ref={ref} {...props} className={cx('mu-table-header', className)} />;\n});\n\nexport interface BodyProps extends ComponentPropsWithoutRef<'tbody'> {}\n\n/** The `<tbody>`, holding the data Rows. */\nexport const Body = forwardRef<HTMLTableSectionElement, BodyProps>(function TableBody({ className, ...props }, ref) {\n return <tbody ref={ref} {...props} className={cx('mu-table-body', className)} />;\n});\n\nexport interface RowProps extends ComponentPropsWithoutRef<'tr'> {}\n\n/** A `<tr>`. Body rows highlight with `hover`. */\nexport const Row = forwardRef<HTMLTableRowElement, RowProps>(function TableRow({ className, ...props }, ref) {\n return <tr ref={ref} {...props} className={cx('mu-table-row', className)} />;\n});\n\nexport interface HeadProps extends ComponentPropsWithoutRef<'th'> {\n /** Right-aligns a column of numbers. Set it on the column's Cells too. */\n num?: boolean;\n}\n\n/** A column header, `<th scope=\"col\">` in 12px `ink-muted`. */\nexport const Head = forwardRef<HTMLTableCellElement, HeadProps>(function TableHead({ num = false, scope = 'col', className, ...props }, ref) {\n return <th ref={ref} scope={scope} {...props} className={cx('mu-table-head mu-label-sm', num && 'mu-table-num', className)} />;\n});\n\nexport interface CellProps extends ComponentPropsWithoutRef<'td'> {\n /** Right-aligns a number. */\n num?: boolean;\n /** Secondary text, such as a date, in `ink-muted`. */\n muted?: boolean;\n}\n\n/** A data cell, `<td>`. */\nexport const Cell = forwardRef<HTMLTableCellElement, CellProps>(function TableCell({ num = false, muted = false, className, ...props }, ref) {\n return <td ref={ref} {...props} className={cx('mu-table-cell', num && 'mu-table-num', muted && 'mu-table-muted', className)} />;\n});\n\nexport interface CaptionProps extends ComponentPropsWithoutRef<'caption'> {}\n\n/** Names the table, under it in `caption` style. Screen readers read it as the table's name. */\nexport const Caption = forwardRef<HTMLTableCaptionElement, CaptionProps>(function TableCaption({ className, ...props }, ref) {\n return <caption ref={ref} {...props} className={cx('mu-table-caption mu-caption', className)} />;\n});\n"],
5
+ "mappings": ";AAAA,OAAS,cAAAA,MAAiD,QAC1D,OAAS,MAAAC,MAAU,+BACnB,OAAS,eAAAC,EAAa,WAAAC,MAAe,yBAoB7B,cAAAC,MAAA,oBAjBR,IAAMC,EAAiC,CAAE,GAAI,aAAc,GAAI,UAAW,GAAI,YAAa,EAY9EC,EAAON,EAAwC,SAAmB,CAAE,KAAAO,EAAM,UAAAC,EAAW,GAAGC,CAAM,EAAGC,EAAK,CACjH,IAAMC,EAAWR,EAAQI,CAAI,EAC7B,OACEH,EAACF,EAAY,SAAZ,CAAqB,MAAOS,EAC3B,SAAAP,EAAC,OAAI,UAAU,kBACb,SAAAA,EAAC,SAAM,IAAKM,EAAM,GAAGD,EAAO,UAAWR,EAAG,mBAAoB,QAAQU,CAAQ,GAAIN,EAASM,CAAQ,EAAGH,CAAS,EAAG,EACpH,EACF,CAEJ,CAAC,EAKYI,EAASZ,EAAiD,SAAqB,CAAE,UAAAQ,EAAW,GAAGC,CAAM,EAAGC,EAAK,CACxH,OAAON,EAAC,SAAM,IAAKM,EAAM,GAAGD,EAAO,UAAWR,EAAG,kBAAmBO,CAAS,EAAG,CAClF,CAAC,EAKYK,EAAOb,EAA+C,SAAmB,CAAE,UAAAQ,EAAW,GAAGC,CAAM,EAAGC,EAAK,CAClH,OAAON,EAAC,SAAM,IAAKM,EAAM,GAAGD,EAAO,UAAWR,EAAG,gBAAiBO,CAAS,EAAG,CAChF,CAAC,EAKYM,EAAMd,EAA0C,SAAkB,CAAE,UAAAQ,EAAW,GAAGC,CAAM,EAAGC,EAAK,CAC3G,OAAON,EAAC,MAAG,IAAKM,EAAM,GAAGD,EAAO,UAAWR,EAAG,eAAgBO,CAAS,EAAG,CAC5E,CAAC,EAQYO,EAAOf,EAA4C,SAAmB,CAAE,IAAAgB,EAAM,GAAO,MAAAC,EAAQ,MAAO,UAAAT,EAAW,GAAGC,CAAM,EAAGC,EAAK,CAC3I,OAAON,EAAC,MAAG,IAAKM,EAAK,MAAOO,EAAQ,GAAGR,EAAO,UAAWR,EAAG,4BAA6Be,GAAO,eAAgBR,CAAS,EAAG,CAC9H,CAAC,EAUYU,EAAOlB,EAA4C,SAAmB,CAAE,IAAAgB,EAAM,GAAO,MAAAG,EAAQ,GAAO,UAAAX,EAAW,GAAGC,CAAM,EAAGC,EAAK,CAC3I,OAAON,EAAC,MAAG,IAAKM,EAAM,GAAGD,EAAO,UAAWR,EAAG,gBAAiBe,GAAO,eAAgBG,GAAS,iBAAkBX,CAAS,EAAG,CAC/H,CAAC,EAKYY,EAAUpB,EAAkD,SAAsB,CAAE,UAAAQ,EAAW,GAAGC,CAAM,EAAGC,EAAK,CAC3H,OAAON,EAAC,WAAQ,IAAKM,EAAM,GAAGD,EAAO,UAAWR,EAAG,8BAA+BO,CAAS,EAAG,CAChG,CAAC",
6
+ "names": ["forwardRef", "cx", "SizeContext", "useSize", "jsx", "bodyText", "Root", "size", "className", "props", "ref", "resolved", "Header", "Body", "Row", "Head", "num", "scope", "Cell", "muted", "Caption"]
7
+ }
@@ -0,0 +1,3 @@
1
+ 'use client';
2
+ import{Tabs as r}from"@base-ui/react/tabs";import{forwardRef as i}from"react";import{withClass as m}from"../../internal/class-name.js";import{SizeContext as l,useSize as c}from"../../internal/size.js";import{jsx as n,jsxs as b}from"react/jsx-runtime";var d=i(function({size:e,className:s,...t},o){let a=c(e);return n(l.Provider,{value:a,children:n(r.Root,{ref:o,...t,className:m("mu-tabs-root",s)})})}),x=i(function({className:e,children:s,...t},o){let a=c();return b(r.List,{ref:o,...t,className:m(`mu-tabs-list mu-segmented mu-base mu-s-${a}`,e),children:[n(r.Indicator,{className:"mu-tabs-indicator mu-segmented-key"}),s]})}),L=i(function({icon:e,className:s,children:t,...o},a){return b(r.Tab,{ref:a,...o,className:m("mu-tabs-tab mu-segmented-item mu-focus",s),children:[e,t]})}),R=i(function({className:e,...s},t){return n(r.Panel,{ref:t,...s,className:m("mu-tabs-panel mu-focus",e)})});export{x as List,R as Panel,d as Root,L as Tab};
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/tabs/index.tsx"],
4
+ "sourcesContent": ["import { Tabs as BaseTabs } from '@base-ui/react/tabs';\nimport { forwardRef, type ReactNode } from 'react';\nimport { withClass } from '../../internal/class-name';\nimport { SizeContext, useSize } from '../../internal/size';\nimport type { IconElement, Size } from '../../types';\n\nexport interface RootProps extends BaseTabs.Root.Props {\n size?: Size;\n}\n\n/** Switches between sections of the same page. Holds a List and one Panel per tab. */\nexport const Root = forwardRef<HTMLDivElement, RootProps>(function TabsRoot({ size, className, ...props }, ref) {\n const resolved = useSize(size);\n return (\n <SizeContext.Provider value={resolved}>\n <BaseTabs.Root ref={ref} {...props} className={withClass('mu-tabs-root', className)} />\n </SizeContext.Provider>\n );\n});\n\nexport interface ListProps extends BaseTabs.List.Props {}\n\n/** The well that holds the tabs, with the sliding key built in. */\nexport const List = forwardRef<HTMLDivElement, ListProps>(function TabsList({ className, children, ...props }, ref) {\n const size = useSize();\n return (\n <BaseTabs.List ref={ref} {...props} className={withClass(`mu-tabs-list mu-segmented mu-base mu-s-${size}`, className)}>\n <BaseTabs.Indicator className=\"mu-tabs-indicator mu-segmented-key\" />\n {children}\n </BaseTabs.List>\n );\n});\n\nexport interface TabProps extends BaseTabs.Tab.Props {\n icon?: IconElement;\n children?: ReactNode;\n}\n\n/** One tab. Its `value` matches a Panel's. */\nexport const Tab = forwardRef<HTMLElement, TabProps>(function TabsTab({ icon, className, children, ...props }, ref) {\n return (\n <BaseTabs.Tab ref={ref} {...props} className={withClass('mu-tabs-tab mu-segmented-item mu-focus', className)}>\n {icon}\n {children}\n </BaseTabs.Tab>\n );\n});\n\nexport interface PanelProps extends BaseTabs.Panel.Props {}\n\n/** The content of one tab. */\nexport const Panel = forwardRef<HTMLDivElement, PanelProps>(function TabsPanel({ className, ...props }, ref) {\n return <BaseTabs.Panel ref={ref} {...props} className={withClass('mu-tabs-panel mu-focus', className)} />;\n});\n"],
5
+ "mappings": ";AAAA,OAAS,QAAQA,MAAgB,sBACjC,OAAS,cAAAC,MAAkC,QAC3C,OAAS,aAAAC,MAAiB,+BAC1B,OAAS,eAAAC,EAAa,WAAAC,MAAe,yBAY/B,cAAAC,EAWF,QAAAC,MAXE,oBAJC,IAAMC,EAAON,EAAsC,SAAkB,CAAE,KAAAO,EAAM,UAAAC,EAAW,GAAGC,CAAM,EAAGC,EAAK,CAC9G,IAAMC,EAAWR,EAAQI,CAAI,EAC7B,OACEH,EAACF,EAAY,SAAZ,CAAqB,MAAOS,EAC3B,SAAAP,EAACL,EAAS,KAAT,CAAc,IAAKW,EAAM,GAAGD,EAAO,UAAWR,EAAU,eAAgBO,CAAS,EAAG,EACvF,CAEJ,CAAC,EAKYI,EAAOZ,EAAsC,SAAkB,CAAE,UAAAQ,EAAW,SAAAK,EAAU,GAAGJ,CAAM,EAAGC,EAAK,CAClH,IAAMH,EAAOJ,EAAQ,EACrB,OACEE,EAACN,EAAS,KAAT,CAAc,IAAKW,EAAM,GAAGD,EAAO,UAAWR,EAAU,0CAA0CM,CAAI,GAAIC,CAAS,EAClH,UAAAJ,EAACL,EAAS,UAAT,CAAmB,UAAU,qCAAqC,EAClEc,GACH,CAEJ,CAAC,EAQYC,EAAMd,EAAkC,SAAiB,CAAE,KAAAe,EAAM,UAAAP,EAAW,SAAAK,EAAU,GAAGJ,CAAM,EAAGC,EAAK,CAClH,OACEL,EAACN,EAAS,IAAT,CAAa,IAAKW,EAAM,GAAGD,EAAO,UAAWR,EAAU,yCAA0CO,CAAS,EACxG,UAAAO,EACAF,GACH,CAEJ,CAAC,EAKYG,EAAQhB,EAAuC,SAAmB,CAAE,UAAAQ,EAAW,GAAGC,CAAM,EAAGC,EAAK,CAC3G,OAAON,EAACL,EAAS,MAAT,CAAe,IAAKW,EAAM,GAAGD,EAAO,UAAWR,EAAU,yBAA0BO,CAAS,EAAG,CACzG,CAAC",
6
+ "names": ["BaseTabs", "forwardRef", "withClass", "SizeContext", "useSize", "jsx", "jsxs", "Root", "size", "className", "props", "ref", "resolved", "List", "children", "Tab", "icon", "Panel"]
7
+ }
@@ -0,0 +1,3 @@
1
+ 'use client';
2
+ import{Field as m}from"@base-ui/react/field";import{forwardRef as n}from"react";import{withClass as p}from"../../internal/class-name.js";import{useSize as f}from"../../internal/size.js";import{jsx as e}from"react/jsx-runtime";var z=n(function({size:r,rows:t=3,className:o,...a},s){let i=f(r);return e(m.Control,{ref:s,...a,render:e("textarea",{rows:t}),className:p(`mu-textarea mu-base mu-s-${i}`,o)})});export{z as Textarea};
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/textarea/index.tsx"],
4
+ "sourcesContent": ["import { Field as BaseField } from '@base-ui/react/field';\nimport { forwardRef } from 'react';\nimport { withClass } from '../../internal/class-name';\nimport { useSize } from '../../internal/size';\nimport type { Size } from '../../types';\n\nexport interface TextareaProps extends Omit<BaseField.Control.Props, 'size' | 'render'> {\n size?: Size;\n /** Visible lines before it scrolls. Default 3. */\n rows?: number;\n}\n\n/** A few lines of plain text. Looks like Input. */\nexport const Textarea = forwardRef<HTMLTextAreaElement, TextareaProps>(function Textarea({ size, rows = 3, className, ...props }, ref) {\n const resolved = useSize(size);\n return (\n <BaseField.Control\n ref={ref as never}\n {...props}\n render={<textarea rows={rows} />}\n className={withClass(`mu-textarea mu-base mu-s-${resolved}`, className)}\n />\n );\n});\n"],
5
+ "mappings": ";AAAA,OAAS,SAASA,MAAiB,uBACnC,OAAS,cAAAC,MAAkB,QAC3B,OAAS,aAAAC,MAAiB,+BAC1B,OAAS,WAAAC,MAAe,yBAgBV,cAAAC,MAAA,oBANP,IAAMC,EAAWJ,EAA+C,SAAkB,CAAE,KAAAK,EAAM,KAAAC,EAAO,EAAG,UAAAC,EAAW,GAAGC,CAAM,EAAGC,EAAK,CACrI,IAAMC,EAAWR,EAAQG,CAAI,EAC7B,OACEF,EAACJ,EAAU,QAAV,CACC,IAAKU,EACJ,GAAGD,EACJ,OAAQL,EAAC,YAAS,KAAMG,EAAM,EAC9B,UAAWL,EAAU,4BAA4BS,CAAQ,GAAIH,CAAS,EACxE,CAEJ,CAAC",
6
+ "names": ["BaseField", "forwardRef", "withClass", "useSize", "jsx", "Textarea", "size", "rows", "className", "props", "ref", "resolved"]
7
+ }
@@ -0,0 +1,3 @@
1
+ 'use client';
2
+ import{Toast as t}from"@base-ui/react/toast";import{CircleAlert as l,CircleCheck as p,Info as u,TriangleAlert as T,X as d}from"lucide-react";import{forwardRef as f}from"react";import{cx as i,withClass as g}from"../../internal/class-name.js";import{Button as P,buttonClasses as w}from"../button/index.js";import{jsx as o,jsxs as c}from"react/jsx-runtime";var L=t.Provider,h=t.useToastManager,y=t.createToastManager,A=f(function({container:r,closeLabel:s="Close",className:a,...n},m){return o(t.Portal,{container:r,children:o(t.Viewport,{ref:m,...n,className:g("mu-toast-viewport",a),children:o(C,{closeLabel:s})})})}),v={neutral:u,success:p,warning:T,danger:l},B=e=>e==="success"||e==="warning"||e==="danger"?e:"neutral";function C({closeLabel:e}){let{toasts:r}=t.useToastManager();return r.map(s=>{let a=B(s.type),n=v[a];return o(t.Root,{toast:s,className:i("mu-toast mu-popup mu-base mu-s-md",`mu-toast-${a}`),children:c(t.Content,{className:"mu-toast-content",children:[o(n,{className:"mu-toast-icon","aria-hidden":!0}),c("div",{className:"mu-toast-text",children:[o(t.Title,{className:"mu-toast-title mu-label"}),o(t.Description,{className:"mu-toast-description mu-body-sm"})]}),o(t.Action,{className:i("mu-toast-action",w({variant:"neutral",size:"sm"}))}),o(t.Close,{className:"mu-toast-close",render:o(P,{variant:"ghost",size:"sm",icon:o(d,{}),"aria-label":e})})]})},s.id)})}export{L as Provider,A as Viewport,y as createToastManager,h as useToastManager};
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/toast/index.tsx"],
4
+ "sourcesContent": ["import { Toast as BaseToast } from '@base-ui/react/toast';\nimport { CircleAlert, CircleCheck, Info, TriangleAlert, X } from 'lucide-react';\nimport { forwardRef } from 'react';\nimport { cx, withClass } from '../../internal/class-name';\nimport type { Tone } from '../../types';\nimport { Button, buttonClasses } from '../button';\n\nexport type ProviderProps = BaseToast.Provider.Props;\n\n/** Holds the toasts. Wrap the app in it once. `timeout` (default 5000ms) and `limit` (default 3) apply to every toast. */\nexport const Provider = BaseToast.Provider;\n\n/**\n * Adds, updates and closes toasts: `add({ title, description, type, actionProps, timeout })`.\n * `type` is the tone: \"success\", \"warning\", \"danger\", or none for neutral.\n */\nexport const useToastManager = BaseToast.useToastManager;\n\n/** A manager for code outside React. Pass it to `Provider` as `toastManager`. */\nexport const createToastManager = BaseToast.createToastManager;\n\nexport interface ViewportProps extends BaseToast.Viewport.Props {\n /** Where the toasts are portaled to. Default `document.body`. */\n container?: BaseToast.Portal.Props['container'];\n /** The accessible name of each toast's X button. Default \"Close\". */\n closeLabel?: string;\n}\n\n/** Shows the toasts: bottom-right, or bottom-center below `breakpoint-sm`. Render it once, inside Provider. */\nexport const Viewport = forwardRef<HTMLDivElement, ViewportProps>(function ToastViewport({ container, closeLabel = 'Close', className, ...props }, ref) {\n return (\n <BaseToast.Portal container={container}>\n <BaseToast.Viewport ref={ref} {...props} className={withClass('mu-toast-viewport', className)}>\n <ToastList closeLabel={closeLabel} />\n </BaseToast.Viewport>\n </BaseToast.Portal>\n );\n});\n\nconst icons = { neutral: Info, success: CircleCheck, warning: TriangleAlert, danger: CircleAlert };\n\nconst toneOf = (type: string | undefined): Tone => (type === 'success' || type === 'warning' || type === 'danger' ? type : 'neutral');\n\nfunction ToastList({ closeLabel }: { closeLabel: string }) {\n const { toasts } = BaseToast.useToastManager();\n return toasts.map((toast) => {\n const tone = toneOf(toast.type);\n const Icon = icons[tone];\n return (\n <BaseToast.Root key={toast.id} toast={toast} className={cx('mu-toast mu-popup mu-base mu-s-md', `mu-toast-${tone}`)}>\n <BaseToast.Content className=\"mu-toast-content\">\n <Icon className=\"mu-toast-icon\" aria-hidden />\n <div className=\"mu-toast-text\">\n <BaseToast.Title className=\"mu-toast-title mu-label\" />\n <BaseToast.Description className=\"mu-toast-description mu-body-sm\" />\n </div>\n <BaseToast.Action className={cx('mu-toast-action', buttonClasses({ variant: 'neutral', size: 'sm' }))} />\n <BaseToast.Close className=\"mu-toast-close\" render={<Button variant=\"ghost\" size=\"sm\" icon={<X />} aria-label={closeLabel} />} />\n </BaseToast.Content>\n </BaseToast.Root>\n );\n });\n}\n"],
5
+ "mappings": ";AAAA,OAAS,SAASA,MAAiB,uBACnC,OAAS,eAAAC,EAAa,eAAAC,EAAa,QAAAC,EAAM,iBAAAC,EAAe,KAAAC,MAAS,eACjE,OAAS,cAAAC,MAAkB,QAC3B,OAAS,MAAAC,EAAI,aAAAC,MAAiB,+BAE9B,OAAS,UAAAC,EAAQ,iBAAAC,MAAqB,qBA4B9B,cAAAC,EAmBE,QAAAC,MAnBF,oBAvBD,IAAMC,EAAWb,EAAU,SAMrBc,EAAkBd,EAAU,gBAG5Be,EAAqBf,EAAU,mBAU/BgB,EAAWV,EAA0C,SAAuB,CAAE,UAAAW,EAAW,WAAAC,EAAa,QAAS,UAAAC,EAAW,GAAGC,CAAM,EAAGC,EAAK,CACtJ,OACEV,EAACX,EAAU,OAAV,CAAiB,UAAWiB,EAC3B,SAAAN,EAACX,EAAU,SAAV,CAAmB,IAAKqB,EAAM,GAAGD,EAAO,UAAWZ,EAAU,oBAAqBW,CAAS,EAC1F,SAAAR,EAACW,EAAA,CAAU,WAAYJ,EAAY,EACrC,EACF,CAEJ,CAAC,EAEKK,EAAQ,CAAE,QAASpB,EAAM,QAASD,EAAa,QAASE,EAAe,OAAQH,CAAY,EAE3FuB,EAAUC,GAAoCA,IAAS,WAAaA,IAAS,WAAaA,IAAS,SAAWA,EAAO,UAE3H,SAASH,EAAU,CAAE,WAAAJ,CAAW,EAA2B,CACzD,GAAM,CAAE,OAAAQ,CAAO,EAAI1B,EAAU,gBAAgB,EAC7C,OAAO0B,EAAO,IAAKC,GAAU,CAC3B,IAAMC,EAAOJ,EAAOG,EAAM,IAAI,EACxBE,EAAON,EAAMK,CAAI,EACvB,OACEjB,EAACX,EAAU,KAAV,CAA8B,MAAO2B,EAAO,UAAWpB,EAAG,oCAAqC,YAAYqB,CAAI,EAAE,EAChH,SAAAhB,EAACZ,EAAU,QAAV,CAAkB,UAAU,mBAC3B,UAAAW,EAACkB,EAAA,CAAK,UAAU,gBAAgB,cAAW,GAAC,EAC5CjB,EAAC,OAAI,UAAU,gBACb,UAAAD,EAACX,EAAU,MAAV,CAAgB,UAAU,0BAA0B,EACrDW,EAACX,EAAU,YAAV,CAAsB,UAAU,kCAAkC,GACrE,EACAW,EAACX,EAAU,OAAV,CAAiB,UAAWO,EAAG,kBAAmBG,EAAc,CAAE,QAAS,UAAW,KAAM,IAAK,CAAC,CAAC,EAAG,EACvGC,EAACX,EAAU,MAAV,CAAgB,UAAU,iBAAiB,OAAQW,EAACF,EAAA,CAAO,QAAQ,QAAQ,KAAK,KAAK,KAAME,EAACN,EAAA,EAAE,EAAI,aAAYa,EAAY,EAAI,GACjI,GATmBS,EAAM,EAU3B,CAEJ,CAAC,CACH",
6
+ "names": ["BaseToast", "CircleAlert", "CircleCheck", "Info", "TriangleAlert", "X", "forwardRef", "cx", "withClass", "Button", "buttonClasses", "jsx", "jsxs", "Provider", "useToastManager", "createToastManager", "Viewport", "container", "closeLabel", "className", "props", "ref", "ToastList", "icons", "toneOf", "type", "toasts", "toast", "tone", "Icon"]
7
+ }
@@ -0,0 +1,3 @@
1
+ 'use client';
2
+ import{Toggle as r}from"@base-ui/react/toggle";import{forwardRef as a}from"react";import{withClass as p}from"../../internal/class-name.js";import{useSize as u}from"../../internal/size.js";import{jsx as f,jsxs as i}from"react/jsx-runtime";var B=a(function({size:s,icon:o,className:l,children:e,...g},n){let m=u(s),t=o!==void 0&&(e==null||e===!1);return i(r,{ref:n,...g,className:p(`mu-toggle${t?" mu-toggle-icon":""} mu-base mu-s-${m} mu-focus mu-hit`,l),children:[o,t?null:f("span",{className:"mu-toggle-label",children:e})]})});export{B as Toggle};
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/toggle/index.tsx"],
4
+ "sourcesContent": ["import { Toggle as BaseToggle } from '@base-ui/react/toggle';\nimport { forwardRef, type ReactNode } from 'react';\nimport { withClass } from '../../internal/class-name';\nimport { useSize } from '../../internal/size';\nimport type { IconElement, Size } from '../../types';\n\nexport interface ToggleProps extends BaseToggle.Props {\n size?: Size;\n /** A Lucide element before the label. With no children the toggle is square and needs `aria-label`. */\n icon?: IconElement;\n children?: ReactNode;\n}\n\n/** Turns one option on or off and stays pressed while on. Also the item of a ToggleGroup. */\nexport const Toggle = forwardRef<HTMLButtonElement, ToggleProps>(function Toggle({ size, icon, className, children, ...props }, ref) {\n const resolved = useSize(size);\n const iconOnly = icon !== undefined && (children === undefined || children === null || children === false);\n return (\n <BaseToggle ref={ref} {...props} className={withClass(`mu-toggle${iconOnly ? ' mu-toggle-icon' : ''} mu-base mu-s-${resolved} mu-focus mu-hit`, className)}>\n {icon}\n {iconOnly ? null : <span className=\"mu-toggle-label\">{children}</span>}\n </BaseToggle>\n );\n});\n"],
5
+ "mappings": ";AAAA,OAAS,UAAUA,MAAkB,wBACrC,OAAS,cAAAC,MAAkC,QAC3C,OAAS,aAAAC,MAAiB,+BAC1B,OAAS,WAAAC,MAAe,yBAepB,OAEqB,OAAAC,EAFrB,QAAAC,MAAA,oBAJG,IAAMC,EAASL,EAA2C,SAAgB,CAAE,KAAAM,EAAM,KAAAC,EAAM,UAAAC,EAAW,SAAAC,EAAU,GAAGC,CAAM,EAAGC,EAAK,CACnI,IAAMC,EAAWV,EAAQI,CAAI,EACvBO,EAAWN,IAAS,SAAwCE,GAAa,MAAQA,IAAa,IACpG,OACEL,EAACL,EAAA,CAAW,IAAKY,EAAM,GAAGD,EAAO,UAAWT,EAAU,YAAYY,EAAW,kBAAoB,EAAE,iBAAiBD,CAAQ,mBAAoBJ,CAAS,EACtJ,UAAAD,EACAM,EAAW,KAAOV,EAAC,QAAK,UAAU,kBAAmB,SAAAM,EAAS,GACjE,CAEJ,CAAC",
6
+ "names": ["BaseToggle", "forwardRef", "withClass", "useSize", "jsx", "jsxs", "Toggle", "size", "icon", "className", "children", "props", "ref", "resolved", "iconOnly"]
7
+ }
@@ -0,0 +1,3 @@
1
+ 'use client';
2
+ import{ToggleGroup as g}from"@base-ui/react/toggle-group";import{forwardRef as m,useCallback as f,useLayoutEffect as d,useRef as y}from"react";import{withClass as v}from"../../internal/class-name.js";import{SizeContext as T,useSize as b}from"../../internal/size.js";import{jsx as p,jsxs as z}from"react/jsx-runtime";var k=m(function({size:r,multiple:e=!1,className:o,children:n,...s},t){let l=b(r),c=y(null),a=f(i=>{c.current=i,typeof t=="function"?t(i):t&&(t.current=i)},[t]);return h(c,!e),p(T.Provider,{value:l,children:z(g,{ref:a,multiple:e,...s,className:v(e?`mu-toggle-group mu-s-${l}`:`mu-toggle-group mu-segmented mu-base mu-s-${l}`,o),children:[e?null:p("span",{className:"mu-segmented-key","aria-hidden":!0}),n]})})});function h(u,r){d(()=>{let e=u.current;if(!r||!e)return;let o=()=>{let t=e.querySelector(":scope > .mu-toggle[data-pressed]");t?(e.style.setProperty("--key-left",`${t.offsetLeft}px`),e.style.setProperty("--key-width",`${t.offsetWidth}px`),e.dataset.keyed=""):delete e.dataset.keyed};o();let n=new MutationObserver(o);n.observe(e,{subtree:!0,attributes:!0,attributeFilter:["data-pressed"],childList:!0});let s=new ResizeObserver(o);s.observe(e);for(let t of e.children)s.observe(t);return()=>{n.disconnect(),s.disconnect()}},[u,r])}export{k as ToggleGroup};
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/toggle-group/index.tsx"],
4
+ "sourcesContent": ["import { ToggleGroup as BaseToggleGroup } from '@base-ui/react/toggle-group';\nimport { forwardRef, useCallback, useLayoutEffect, useRef, type ReactNode } from 'react';\nimport { withClass } from '../../internal/class-name';\nimport { SizeContext, useSize } from '../../internal/size';\nimport type { Size } from '../../types';\n\nexport interface ToggleGroupProps extends BaseToggleGroup.Props {\n size?: Size;\n children?: ReactNode;\n}\n\n/**\n * A row of Toggles. With `multiple` it is a toolbar of independent on/off\n * toggles. Without it, one choice among peers: a well with one sliding key,\n * the same control as Tabs.\n */\nexport const ToggleGroup = forwardRef<HTMLDivElement, ToggleGroupProps>(function ToggleGroup({ size, multiple = false, className, children, ...props }, forwardedRef) {\n const resolved = useSize(size);\n const root = useRef<HTMLDivElement | null>(null);\n const setRef = useCallback(\n (node: HTMLDivElement | null) => {\n root.current = node;\n if (typeof forwardedRef === 'function') forwardedRef(node);\n else if (forwardedRef) forwardedRef.current = node;\n },\n [forwardedRef],\n );\n useSlidingKey(root, !multiple);\n return (\n <SizeContext.Provider value={resolved}>\n <BaseToggleGroup\n ref={setRef}\n multiple={multiple}\n {...props}\n className={withClass(multiple ? `mu-toggle-group mu-s-${resolved}` : `mu-toggle-group mu-segmented mu-base mu-s-${resolved}`, className)}\n >\n {multiple ? null : <span className=\"mu-segmented-key\" aria-hidden />}\n {children}\n </BaseToggleGroup>\n </SizeContext.Provider>\n );\n});\n\n/** Measures the pressed toggle and moves the key under it, as Base UI's Tabs.Indicator does for tabs. */\nfunction useSlidingKey(root: { current: HTMLDivElement | null }, enabled: boolean) {\n useLayoutEffect(() => {\n const element = root.current;\n if (!enabled || !element) return;\n const place = () => {\n const pressed = element.querySelector<HTMLElement>(':scope > .mu-toggle[data-pressed]');\n if (pressed) {\n element.style.setProperty('--key-left', `${pressed.offsetLeft}px`);\n element.style.setProperty('--key-width', `${pressed.offsetWidth}px`);\n element.dataset.keyed = '';\n } else {\n delete element.dataset.keyed;\n }\n };\n place();\n const mutations = new MutationObserver(place);\n mutations.observe(element, { subtree: true, attributes: true, attributeFilter: ['data-pressed'], childList: true });\n const resizes = new ResizeObserver(place);\n resizes.observe(element);\n for (const child of element.children) resizes.observe(child);\n return () => {\n mutations.disconnect();\n resizes.disconnect();\n };\n }, [root, enabled]);\n}\n"],
5
+ "mappings": ";AAAA,OAAS,eAAeA,MAAuB,8BAC/C,OAAS,cAAAC,EAAY,eAAAC,EAAa,mBAAAC,EAAiB,UAAAC,MAA8B,QACjF,OAAS,aAAAC,MAAiB,+BAC1B,OAAS,eAAAC,EAAa,WAAAC,MAAe,yBA2B/B,OAMqB,OAAAC,EANrB,QAAAC,MAAA,oBAdC,IAAMC,EAAcT,EAA6C,SAAqB,CAAE,KAAAU,EAAM,SAAAC,EAAW,GAAO,UAAAC,EAAW,SAAAC,EAAU,GAAGC,CAAM,EAAGC,EAAc,CACpK,IAAMC,EAAWV,EAAQI,CAAI,EACvBO,EAAOd,EAA8B,IAAI,EACzCe,EAASjB,EACZkB,GAAgC,CAC/BF,EAAK,QAAUE,EACX,OAAOJ,GAAiB,WAAYA,EAAaI,CAAI,EAChDJ,IAAcA,EAAa,QAAUI,EAChD,EACA,CAACJ,CAAY,CACf,EACA,OAAAK,EAAcH,EAAM,CAACN,CAAQ,EAE3BJ,EAACF,EAAY,SAAZ,CAAqB,MAAOW,EAC3B,SAAAR,EAACT,EAAA,CACC,IAAKmB,EACL,SAAUP,EACT,GAAGG,EACJ,UAAWV,EAAUO,EAAW,wBAAwBK,CAAQ,GAAK,6CAA6CA,CAAQ,GAAIJ,CAAS,EAEtI,UAAAD,EAAW,KAAOJ,EAAC,QAAK,UAAU,mBAAmB,cAAW,GAAC,EACjEM,GACH,EACF,CAEJ,CAAC,EAGD,SAASO,EAAcH,EAA0CI,EAAkB,CACjFnB,EAAgB,IAAM,CACpB,IAAMoB,EAAUL,EAAK,QACrB,GAAI,CAACI,GAAW,CAACC,EAAS,OAC1B,IAAMC,EAAQ,IAAM,CAClB,IAAMC,EAAUF,EAAQ,cAA2B,mCAAmC,EAClFE,GACFF,EAAQ,MAAM,YAAY,aAAc,GAAGE,EAAQ,UAAU,IAAI,EACjEF,EAAQ,MAAM,YAAY,cAAe,GAAGE,EAAQ,WAAW,IAAI,EACnEF,EAAQ,QAAQ,MAAQ,IAExB,OAAOA,EAAQ,QAAQ,KAE3B,EACAC,EAAM,EACN,IAAME,EAAY,IAAI,iBAAiBF,CAAK,EAC5CE,EAAU,QAAQH,EAAS,CAAE,QAAS,GAAM,WAAY,GAAM,gBAAiB,CAAC,cAAc,EAAG,UAAW,EAAK,CAAC,EAClH,IAAMI,EAAU,IAAI,eAAeH,CAAK,EACxCG,EAAQ,QAAQJ,CAAO,EACvB,QAAWK,KAASL,EAAQ,SAAUI,EAAQ,QAAQC,CAAK,EAC3D,MAAO,IAAM,CACXF,EAAU,WAAW,EACrBC,EAAQ,WAAW,CACrB,CACF,EAAG,CAACT,EAAMI,CAAO,CAAC,CACpB",
6
+ "names": ["BaseToggleGroup", "forwardRef", "useCallback", "useLayoutEffect", "useRef", "withClass", "SizeContext", "useSize", "jsx", "jsxs", "ToggleGroup", "size", "multiple", "className", "children", "props", "forwardedRef", "resolved", "root", "setRef", "node", "useSlidingKey", "enabled", "element", "place", "pressed", "mutations", "resizes", "child"]
7
+ }
@@ -0,0 +1,3 @@
1
+ 'use client';
2
+ import{Tooltip as o}from"@base-ui/react/tooltip";import{forwardRef as s}from"react";import{withClass as n}from"../../internal/class-name.js";import{splitPositioner as d}from"../../internal/popup.js";import{jsx as t,jsxs as m}from"react/jsx-runtime";var x=o.Provider,y=o.Root,R=s(function({delay:r=400,className:e,...i},p){return t(o.Trigger,{ref:p,delay:r,...i,className:n("mu-tooltip-trigger",e)})}),v=s(function({container:r,shortcut:e,className:i,children:p,...l},P){let[c,u]=d(l);return t(o.Portal,{container:r,children:t(o.Positioner,{sideOffset:6,...c,className:"mu-positioner",children:m(o.Popup,{ref:P,...u,className:n("mu-tooltip-popup mu-popup-motion mu-label-sm",i),children:[p,e!==void 0?t("span",{className:"mu-tooltip-shortcut",children:e}):null]})})})});export{v as Popup,x as Provider,y as Root,R as Trigger};
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/tooltip/index.tsx"],
4
+ "sourcesContent": ["import { Tooltip as BaseTooltip } from '@base-ui/react/tooltip';\nimport { forwardRef, type ReactNode } from 'react';\nimport { withClass } from '../../internal/class-name';\nimport { splitPositioner } from '../../internal/popup';\n\nexport type ProviderProps = BaseTooltip.Provider.Props;\n\n/** Shares the hover delay between tooltips, so moving from one trigger to the next opens at once. */\nexport const Provider = BaseTooltip.Provider;\n\nexport type RootProps = BaseTooltip.Root.Props;\n\n/** Groups a trigger and its tooltip. */\nexport const Root = BaseTooltip.Root;\n\nexport interface TriggerProps extends BaseTooltip.Trigger.Props {\n /** Hover time before the tooltip opens, in ms. Default 400. */\n delay?: number;\n}\n\n/** The control the tooltip names. Usually `render={<Button icon={...} aria-label=\"...\" />}`. */\nexport const Trigger = forwardRef<HTMLButtonElement, TriggerProps>(function TooltipTrigger({ delay = 400, className, ...props }, ref) {\n return <BaseTooltip.Trigger ref={ref} delay={delay} {...props} className={withClass('mu-tooltip-trigger', className)} />;\n});\n\ntype PositionerProps = Pick<\n BaseTooltip.Positioner.Props,\n 'side' | 'align' | 'sideOffset' | 'alignOffset' | 'collisionPadding' | 'collisionAvoidance' | 'collisionBoundary' | 'sticky' | 'anchor' | 'positionMethod' | 'disableAnchorTracking'\n>;\n\nexport interface PopupProps extends BaseTooltip.Popup.Props, PositionerProps {\n /** A keyboard shortcut shown after the label, such as \"\u2318 K\". */\n shortcut?: ReactNode;\n /** Where the tooltip is portaled to. Default `document.body`. */\n container?: BaseTooltip.Portal.Props['container'];\n}\n\n/** The label: two or three words, the same text as the trigger's `aria-label`. */\nexport const Popup = forwardRef<HTMLDivElement, PopupProps>(function TooltipPopup({ container, shortcut, className, children, ...props }, ref) {\n const [positioner, rest] = splitPositioner(props);\n return (\n <BaseTooltip.Portal container={container}>\n <BaseTooltip.Positioner sideOffset={6} {...positioner} className=\"mu-positioner\">\n <BaseTooltip.Popup ref={ref} {...rest} className={withClass('mu-tooltip-popup mu-popup-motion mu-label-sm', className)}>\n {children}\n {shortcut !== undefined ? <span className=\"mu-tooltip-shortcut\">{shortcut}</span> : null}\n </BaseTooltip.Popup>\n </BaseTooltip.Positioner>\n </BaseTooltip.Portal>\n );\n});\n"],
5
+ "mappings": ";AAAA,OAAS,WAAWA,MAAmB,yBACvC,OAAS,cAAAC,MAAkC,QAC3C,OAAS,aAAAC,MAAiB,+BAC1B,OAAS,mBAAAC,MAAuB,0BAmBvB,cAAAC,EAqBD,QAAAC,MArBC,oBAdF,IAAMC,EAAWN,EAAY,SAKvBO,EAAOP,EAAY,KAQnBQ,EAAUP,EAA4C,SAAwB,CAAE,MAAAQ,EAAQ,IAAK,UAAAC,EAAW,GAAGC,CAAM,EAAGC,EAAK,CACpI,OAAOR,EAACJ,EAAY,QAAZ,CAAoB,IAAKY,EAAK,MAAOH,EAAQ,GAAGE,EAAO,UAAWT,EAAU,qBAAsBQ,CAAS,EAAG,CACxH,CAAC,EAeYG,EAAQZ,EAAuC,SAAsB,CAAE,UAAAa,EAAW,SAAAC,EAAU,UAAAL,EAAW,SAAAM,EAAU,GAAGL,CAAM,EAAGC,EAAK,CAC7I,GAAM,CAACK,EAAYC,CAAI,EAAIf,EAAgBQ,CAAK,EAChD,OACEP,EAACJ,EAAY,OAAZ,CAAmB,UAAWc,EAC7B,SAAAV,EAACJ,EAAY,WAAZ,CAAuB,WAAY,EAAI,GAAGiB,EAAY,UAAU,gBAC/D,SAAAZ,EAACL,EAAY,MAAZ,CAAkB,IAAKY,EAAM,GAAGM,EAAM,UAAWhB,EAAU,+CAAgDQ,CAAS,EAClH,UAAAM,EACAD,IAAa,OAAYX,EAAC,QAAK,UAAU,sBAAuB,SAAAW,EAAS,EAAU,MACtF,EACF,EACF,CAEJ,CAAC",
6
+ "names": ["BaseTooltip", "forwardRef", "withClass", "splitPositioner", "jsx", "jsxs", "Provider", "Root", "Trigger", "delay", "className", "props", "ref", "Popup", "container", "shortcut", "children", "positioner", "rest"]
7
+ }
package/dist/index.js CHANGED
@@ -1,3 +1,3 @@
1
1
  'use client';
2
- var We=Object.defineProperty;var S=(r,o)=>{for(var e in o)We(r,e,{get:o[e],enumerable:!0})};var ce={};S(ce,{Close:()=>to,Description:()=>oo,Footer:()=>ro,Popup:()=>je,Root:()=>Ye,Title:()=>eo,Trigger:()=>Ze});import{AlertDialog as Qe}from"@base-ui/react/alert-dialog";import{X as Je}from"lucide-react";import{forwardRef as A}from"react";function l(...r){return r.filter(Boolean).join(" ")}function a(r,o){return typeof o=="function"?e=>l(r,o(e)):l(r,o)}import{Button as Xe}from"@base-ui/react/button";import{forwardRef as qe}from"react";import{createContext as Ke,useContext as Ue}from"react";var c=Ke(void 0);function p(r){let o=Ue(c);return r??o??"md"}import{jsx as le,jsxs as _e}from"react/jsx-runtime";function z({variant:r="neutral",size:o="md",iconOnly:e=!1}={}){return l("mu-button",`mu-button-${r}`,e&&"mu-button-icon","mu-base",`mu-s-${o}`,"mu-focus","mu-hit")}var O=qe(function({variant:o="neutral",size:e,icon:t,loading:s=!1,loadingLabel:n,disabled:i,focusableWhenDisabled:m,className:P,children:g,...x},B){let v=p(e),_=t!==void 0&&(g==null||g===!1);return _e(Xe,{ref:B,...x,...s&&n?{"aria-label":n}:null,disabled:i||s,focusableWhenDisabled:s||m,"aria-busy":s||void 0,"data-loading":s?"":void 0,className:a(z({variant:o,size:v,iconOnly:_}),P),children:[t,_?null:le("span",{className:"mu-button-label",children:g}),s?le("span",{className:"mu-spinner","aria-hidden":!0}):null]})});import{jsx as h,jsxs as ue}from"react/jsx-runtime";function J(r,o,e){let t=A(function({className:x,...B},v){return h(r.Trigger,{ref:v,...B,className:a(`mu-${o}-trigger`,x)})}),s=A(function({container:x,sheet:B=!0,closeLabel:v="Close",className:_,children:$e,...Oe},Ve){return ue(r.Portal,{container:x,children:[h(r.Backdrop,{className:"mu-dialog-backdrop"}),h(r.Viewport,{className:l("mu-dialog-viewport",B&&"mu-dialog-sheet"),children:ue(r.Popup,{ref:Ve,...Oe,className:a(`mu-dialog-popup mu-${o}-popup mu-popup mu-base mu-s-md`,_),children:[$e,e?h(r.Close,{className:"mu-dialog-x",render:h(O,{variant:"ghost",size:"sm",icon:h(Je,{}),"aria-label":v})}):null]})})]})}),n=A(function({className:x,...B},v){return h(r.Title,{ref:v,...B,className:a("mu-dialog-title mu-title",x)})}),i=A(function({className:x,...B},v){return h(r.Description,{ref:v,...B,className:a("mu-dialog-description mu-body",x)})}),m=A(function({className:x,...B},v){return h(r.Close,{ref:v,...B,className:a(`mu-${o}-close`,x)})}),P=A(function({className:x,...B},v){return h("div",{ref:v,...B,className:l("mu-dialog-footer",x)})});return{Root:r.Root,Trigger:t,Popup:s,Title:n,Description:i,Close:m,Footer:P}}var I=J(Qe,"alert-dialog",!1),Ye=I.Root,Ze=I.Trigger,je=I.Popup,eo=I.Title,oo=I.Description,to=I.Close,ro=I.Footer;var fe={};S(fe,{Fallback:()=>ao,Image:()=>no,Root:()=>so});import{Avatar as te}from"@base-ui/react/avatar";import{forwardRef as re}from"react";import{jsx as se}from"react/jsx-runtime";var so=re(function({size:o,className:e,...t},s){let n=p(o);return se(te.Root,{ref:s,...t,className:a(`mu-avatar-root mu-base mu-s-${n}`,e)})}),no=re(function({className:o,...e},t){return se(te.Image,{ref:t,...e,className:a("mu-avatar-image",o)})}),ao=re(function({className:o,...e},t){return se(te.Fallback,{ref:t,...e,className:a("mu-avatar-fallback",o)})});import{mergeProps as io}from"@base-ui/react/merge-props";import{useRender as po}from"@base-ui/react/use-render";import{forwardRef as mo}from"react";import{Fragment as uo,jsxs as co}from"react/jsx-runtime";var lo=mo(function({tone:o="neutral",icon:e,render:t,children:s,...n},i){return po({defaultTagName:"span",render:t,ref:i,props:io({className:`mu-badge mu-badge-${o} mu-base mu-s-sm`,children:co(uo,{children:[e,s]})},n)})});import{Checkbox as de}from"@base-ui/react/checkbox";import{Check as fo,Minus as Po}from"lucide-react";import{forwardRef as xo}from"react";import{jsx as V}from"react/jsx-runtime";var go=xo(function({size:o,className:e,...t},s){let n=p(o);return V(de.Root,{ref:s,...t,className:a(`mu-checkbox mu-s-${n} mu-focus mu-hit`,e),children:V(de.Indicator,{className:"mu-checkbox-indicator",render:(i,m)=>V("span",{...i,children:m.indeterminate?V(Po,{"aria-hidden":!0}):V(fo,{"aria-hidden":!0})})})})});var Pe={};S(Pe,{Panel:()=>So,Root:()=>To,Trigger:()=>Ro});import{Collapsible as ne}from"@base-ui/react/collapsible";import{ChevronDown as bo}from"lucide-react";import{forwardRef as ae}from"react";import{jsx as W,jsxs as Bo}from"react/jsx-runtime";var To=ae(function({size:o,className:e,...t},s){let n=p(o);return W(c.Provider,{value:n,children:W(ne.Root,{ref:s,...t,className:a("mu-collapsible",e)})})}),Ro=ae(function({className:o,children:e,...t},s){let n=p();return Bo(ne.Trigger,{ref:s,...t,className:a(`mu-collapsible-trigger ${z({variant:"ghost",size:n})}`,o),children:[W("span",{className:"mu-button-label",children:e}),W(bo,{className:"mu-collapsible-chevron","aria-hidden":!0})]})}),So=ae(function({className:o,...e},t){return W(ne.Panel,{ref:t,...e,className:a("mu-collapsible-panel",o)})});var xe={};S(xe,{Collection:()=>No,Empty:()=>Do,Group:()=>Ho,GroupLabel:()=>ko,Input:()=>zo,Item:()=>Io,List:()=>wo,Popup:()=>Eo,Root:()=>Mo,Separator:()=>Go,useFilter:()=>Lo});import{Combobox as b}from"@base-ui/react/combobox";import{Check as Co,ChevronsUpDown as yo,Search as ho}from"lucide-react";import{forwardRef as E}from"react";var vo=["side","align","sideOffset","alignOffset","collisionPadding","collisionAvoidance","collisionBoundary","sticky","anchor","positionMethod","arrowPadding","disableAnchorTracking","alignItemWithTrigger"];function N(r){let o={},e={};for(let[t,s]of Object.entries(r))vo.includes(t)?s!==void 0&&(o[t]=s):e[t]=s;return[o,e]}import{jsx as d,jsxs as ge}from"react/jsx-runtime";var No=b.Collection,Lo=b.useFilter;function Mo({size:r,...o}){let e=p(r);return d(c.Provider,{value:e,children:d(b.Root,{...o})})}var zo=E(function({icon:o=d(ho,{}),triggerLabel:e="Show options",className:t,style:s,...n},i){let m=p();return ge(b.InputGroup,{className:l("mu-input-root mu-combobox-input-root mu-base",`mu-s-${m}`,t),style:s,children:[o!==null?d("span",{className:"mu-input-prefix",children:o}):null,d(b.Input,{ref:i,...n,className:"mu-input"}),d("span",{className:"mu-input-suffix",children:d(b.Trigger,{className:"mu-combobox-trigger mu-focus","aria-label":e,children:d(yo,{"aria-hidden":!0})})})]})}),Eo=E(function({container:o,className:e,...t},s){let n=p(),[i,m]=N(t);return d(b.Portal,{container:o,children:d(b.Positioner,{sideOffset:4,align:"start",...i,className:"mu-positioner",children:d(b.Popup,{ref:s,...m,className:a(`mu-combobox-popup mu-popup mu-popup-motion mu-base mu-s-${n}`,e)})})})}),wo=E(function({className:o,...e},t){return d(b.List,{ref:t,...e,className:a("mu-combobox-list",o)})}),Io=E(function({icon:o,className:e,children:t,...s},n){return ge(b.Item,{ref:n,...s,className:a("mu-combobox-item",e),children:[o,d("span",{className:"mu-combobox-item-text",children:t}),d("span",{className:"mu-combobox-indicator",children:d(b.ItemIndicator,{render:d(Co,{"aria-hidden":!0}),children:null})})]})}),Do=E(function({className:o,...e},t){return d(b.Empty,{ref:t,...e,className:a("mu-combobox-empty mu-body",o)})}),Ho=E(function({className:o,...e},t){return d(b.Group,{ref:t,...e,className:a("mu-combobox-group",o)})}),ko=E(function({className:o,...e},t){return d(b.GroupLabel,{ref:t,...e,className:a("mu-combobox-group-label mu-label-xs",o)})}),Go=E(function({className:o,...e},t){return d(b.Separator,{ref:t,...e,className:a("mu-combobox-separator",o)})});var be={};S(be,{Close:()=>Ko,Description:()=>Wo,Footer:()=>Uo,Popup:()=>Oo,Root:()=>Ao,Title:()=>Vo,Trigger:()=>$o});import{Dialog as Fo}from"@base-ui/react/dialog";var D=J(Fo,"dialog",!0),Ao=D.Root,$o=D.Trigger,Oo=D.Popup,Vo=D.Title,Wo=D.Description,Ko=D.Close,Uo=D.Footer;var Te={};S(Te,{Description:()=>Qo,Error:()=>Yo,Item:()=>Jo,Label:()=>_o,Root:()=>qo});import{Field as K}from"@base-ui/react/field";import{CircleAlert as Xo}from"lucide-react";import{forwardRef as U}from"react";import{jsx as H,jsxs as Zo}from"react/jsx-runtime";var qo=U(function({size:o,className:e,...t},s){let n=p(o);return H(c.Provider,{value:n,children:H(K.Root,{ref:s,...t,className:a("mu-field-root",e)})})}),_o=U(function({className:o,...e},t){return H(K.Label,{ref:t,...e,className:a("mu-field-label mu-label",o)})}),Jo=U(function({className:o,...e},t){return H(K.Item,{ref:t,...e,className:a("mu-field-item",o)})}),Qo=U(function({className:o,...e},t){return H(K.Description,{ref:t,...e,className:a("mu-field-description mu-caption",o)})}),Yo=U(function({className:o,children:e,...t},s){return Zo(K.Error,{ref:s,...t,className:a("mu-field-error mu-caption",o),children:[H(Xo,{className:"mu-icon","aria-hidden":!0}),H("span",{children:e})]})});var Be={};S(Be,{Legend:()=>et,Root:()=>jo});import{Fieldset as Re}from"@base-ui/react/fieldset";import{forwardRef as Se}from"react";import{jsx as ie}from"react/jsx-runtime";var jo=Se(function({size:o,className:e,...t},s){let n=p(o);return ie(c.Provider,{value:n,children:ie(Re.Root,{ref:s,...t,className:a("mu-fieldset-root",e)})})}),et=Se(function({className:o,...e},t){return ie(Re.Legend,{ref:t,...e,className:a("mu-fieldset-legend mu-label",o)})});import{Input as ot}from"@base-ui/react/input";import{forwardRef as tt}from"react";import{jsx as pe,jsxs as st}from"react/jsx-runtime";var rt=tt(function({size:o,prefix:e,suffix:t,className:s,style:n,...i},m){let P=p(o);return st("span",{className:l("mu-input-root mu-base",`mu-s-${P}`,s),style:n,children:[e!==void 0?pe("span",{className:"mu-input-prefix",children:e}):null,pe(ot,{ref:m,...i,className:"mu-input"}),t!==void 0?pe("span",{className:"mu-input-suffix",children:t}):null]})});import{mergeProps as nt}from"@base-ui/react/merge-props";import{useRender as at}from"@base-ui/react/use-render";import{forwardRef as it}from"react";var pt=it(function({render:o,...e},t){return at({defaultTagName:"kbd",render:o,ref:t,props:nt({className:"mu-kbd mu-label-xs"},e)})});import{mergeProps as mt}from"@base-ui/react/merge-props";import{useRender as lt}from"@base-ui/react/use-render";import{ArrowUpRight as ut}from"lucide-react";import{forwardRef as ct}from"react";import{Fragment as Pt,jsx as dt,jsxs as xt}from"react/jsx-runtime";var ft=ct(function({muted:o=!1,external:e=!1,underline:t="hover",render:s,children:n,...i},m){return lt({defaultTagName:"a",render:s,ref:m,props:mt({className:`mu-link${o?" mu-link-muted":""}${t==="always"?" mu-link-underline":""} mu-focus`,...e?{target:"_blank",rel:"noopener noreferrer"}:null,children:xt(Pt,{children:[n,e?dt(ut,{className:"mu-icon","aria-hidden":!0}):null]})},i)})});var Ce={};S(Ce,{CheckboxItem:()=>Bt,Group:()=>yt,GroupLabel:()=>ht,Item:()=>St,Popup:()=>Rt,RadioGroup:()=>vt,RadioItem:()=>Ct,Root:()=>bt,Separator:()=>Nt,SubmenuRoot:()=>Lt,SubmenuTrigger:()=>Mt,Trigger:()=>Tt});import{Menu as T}from"@base-ui/react/menu";import{Check as ve,ChevronRight as gt}from"lucide-react";import{forwardRef as L}from"react";import{Fragment as zt,jsx as u,jsxs as Y}from"react/jsx-runtime";function bt({size:r,...o}){let e=p(r);return u(c.Provider,{value:e,children:u(T.Root,{...o})})}var Tt=L(function({className:o,...e},t){return u(T.Trigger,{ref:t,...e,className:a("mu-menu-trigger",o)})}),Rt=L(function({container:o,className:e,...t},s){let n=p(),[i,m]=N(t);return u(T.Portal,{container:o,children:u(T.Positioner,{sideOffset:4,...i,className:"mu-positioner",children:u(T.Popup,{ref:s,...m,className:a(`mu-menu-popup mu-popup mu-popup-motion mu-base mu-s-${n}`,e)})})})});function Q({icon:r,shortcut:o,children:e}){return Y(zt,{children:[r,u("span",{className:"mu-menu-label",children:e}),o!==void 0?u("span",{className:"mu-menu-shortcut",children:o}):null]})}var St=L(function({icon:o,shortcut:e,danger:t=!1,className:s,children:n,...i},m){return u(T.Item,{ref:m,...i,className:a(`mu-menu-item${t?" mu-menu-item-danger":""}`,s),children:u(Q,{icon:o,shortcut:e,children:n})})}),Bt=L(function({icon:o,shortcut:e,className:t,children:s,...n},i){return Y(T.CheckboxItem,{ref:i,...n,className:a("mu-menu-item mu-menu-checkbox-item",t),children:[u(Q,{icon:o,shortcut:e,children:s}),u("span",{className:"mu-menu-indicator",children:u(T.CheckboxItemIndicator,{render:u(ve,{"aria-hidden":!0})})})]})}),vt=L(function({className:o,...e},t){return u(T.RadioGroup,{ref:t,...e,className:a("mu-menu-radio-group",o)})}),Ct=L(function({icon:o,shortcut:e,className:t,children:s,...n},i){return Y(T.RadioItem,{ref:i,...n,className:a("mu-menu-item mu-menu-radio-item",t),children:[u(Q,{icon:o,shortcut:e,children:s}),u("span",{className:"mu-menu-indicator",children:u(T.RadioItemIndicator,{render:u(ve,{"aria-hidden":!0})})})]})}),yt=L(function({className:o,...e},t){return u(T.Group,{ref:t,...e,className:a("mu-menu-group",o)})}),ht=L(function({className:o,...e},t){return u(T.GroupLabel,{ref:t,...e,className:a("mu-menu-group-label mu-label-xs",o)})}),Nt=L(function({className:o,...e},t){return u(T.Separator,{ref:t,...e,className:a("mu-menu-separator",o)})}),Lt=T.SubmenuRoot,Mt=L(function({icon:o,className:e,children:t,...s},n){return Y(T.SubmenuTrigger,{ref:n,...s,className:a("mu-menu-item mu-menu-submenu-trigger",e),children:[u(Q,{icon:o,children:t}),u(gt,{className:"mu-menu-chevron","aria-hidden":!0})]})});var ye={};S(ye,{Close:()=>kt,Description:()=>Ht,Popup:()=>It,Root:()=>Et,Title:()=>Dt,Trigger:()=>wt});import{Popover as w}from"@base-ui/react/popover";import{forwardRef as X}from"react";import{jsx as k}from"react/jsx-runtime";var Et=w.Root,wt=X(function({className:o,...e},t){return k(w.Trigger,{ref:t,...e,className:a("mu-popover-trigger",o)})}),It=X(function({container:o,className:e,...t},s){let[n,i]=N(t);return k(w.Portal,{container:o,children:k(w.Positioner,{sideOffset:6,...n,className:"mu-positioner",children:k(w.Popup,{ref:s,...i,className:a("mu-popover-popup mu-popup mu-popup-motion mu-base mu-s-md",e)})})})}),Dt=X(function({className:o,...e},t){return k(w.Title,{ref:t,...e,className:a("mu-popover-title mu-label",o)})}),Ht=X(function({className:o,...e},t){return k(w.Description,{ref:t,...e,className:a("mu-popover-description mu-body-sm",o)})}),kt=X(function({className:o,...e},t){return k(w.Close,{ref:t,...e,className:a("mu-popover-close",o)})});import{forwardRef as Gt}from"react";import{jsx as At}from"react/jsx-runtime";var Ft=Gt(function({size:o="md",className:e,...t},s){return At("div",{ref:s,...t,className:l("mu-prose",o==="sm"&&"mu-prose-sm",e)})});import{Radio as he}from"@base-ui/react/radio";import{RadioGroup as $t}from"@base-ui/react/radio-group";import{forwardRef as Ne}from"react";import{jsx as Z}from"react/jsx-runtime";var Ot=Ne(function({size:o,orientation:e="vertical",className:t,...s},n){let i=p(o);return Z(c.Provider,{value:i,children:Z($t,{ref:n,"aria-orientation":e,...s,"data-orientation":e,className:a(`mu-radio-group mu-s-${i}`,t)})})}),Vt=Ne(function({size:o,className:e,...t},s){let n=p(o);return Z(he.Root,{ref:s,...t,className:a(`mu-radio mu-s-${n} mu-focus mu-hit`,e),children:Z(he.Indicator,{className:"mu-radio-indicator"})})});var Le={};S(Le,{Group:()=>Zt,GroupLabel:()=>jt,Item:()=>Yt,Popup:()=>Qt,Root:()=>qt,Separator:()=>er,Trigger:()=>_t,Value:()=>Jt});import{Select as R}from"@base-ui/react/select";import{Check as Wt,ChevronDown as Kt,ChevronsUpDown as Ut,ChevronUp as Xt}from"lucide-react";import{forwardRef as G}from"react";import{jsx as f,jsxs as me}from"react/jsx-runtime";function qt({size:r,...o}){let e=p(r);return f(c.Provider,{value:e,children:f(R.Root,{...o})})}var _t=G(function({className:o,children:e,...t},s){let n=p();return me(R.Trigger,{ref:s,...t,className:a(`mu-select-trigger ${z({variant:"neutral",size:n})}`,o),children:[e,f(R.Icon,{className:"mu-select-icon",children:f(Ut,{"aria-hidden":!0})})]})}),Jt=G(function({className:o,...e},t){return f(R.Value,{ref:t,...e,className:a("mu-select-value",o)})}),Qt=G(function({container:o,className:e,children:t,...s},n){let i=p(),[m,P]=N(s);return f(R.Portal,{container:o,children:f(R.Positioner,{sideOffset:4,...m,className:"mu-positioner mu-select-positioner",children:me(R.Popup,{ref:n,...P,className:a(`mu-select-popup mu-popup mu-popup-motion mu-base mu-s-${i}`,e),children:[f(R.ScrollUpArrow,{className:"mu-select-scroll-arrow",render:g=>f("div",{...g,children:f(Xt,{"aria-hidden":!0})})}),f(R.List,{className:"mu-select-list",children:t}),f(R.ScrollDownArrow,{className:"mu-select-scroll-arrow",render:g=>f("div",{...g,children:f(Kt,{"aria-hidden":!0})})})]})})})}),Yt=G(function({icon:o,className:e,children:t,...s},n){return me(R.Item,{ref:n,...s,className:a("mu-select-item",e),children:[o,f(R.ItemText,{className:"mu-select-item-text",children:t}),f("span",{className:"mu-select-indicator",children:f(R.ItemIndicator,{render:f(Wt,{"aria-hidden":!0}),children:null})})]})}),Zt=G(function({className:o,...e},t){return f(R.Group,{ref:t,...e,className:a("mu-select-group",o)})}),jt=G(function({className:o,...e},t){return f(R.GroupLabel,{ref:t,...e,className:a("mu-select-group-label mu-label-xs",o)})}),er=G(function({className:o,...e},t){return f(R.Separator,{ref:t,...e,className:a("mu-select-separator",o)})});import{Separator as or}from"@base-ui/react/separator";import{forwardRef as tr}from"react";import{jsx as sr}from"react/jsx-runtime";var rr=tr(function({className:o,...e},t){return sr(or,{ref:t,...e,className:a("mu-separator",o)})});import{mergeProps as nr}from"@base-ui/react/merge-props";import{useRender as ar}from"@base-ui/react/use-render";import{forwardRef as ir}from"react";var pr=ir(function({width:o,height:e,round:t=!1,size:s,render:n,...i},m){let P=p(s);return ar({defaultTagName:"div",render:n,ref:m,props:nr({className:`mu-skeleton${t?" mu-skeleton-round":""} mu-s-${P}`,"aria-hidden":!0,style:{width:o??(t?e:void 0),height:e}},i)})});import{mergeProps as mr}from"@base-ui/react/merge-props";import{useRender as lr}from"@base-ui/react/use-render";import{forwardRef as ur}from"react";var cr=ur(function({size:o,label:e="Loading",render:t,...s},n){let i=p(o);return lr({defaultTagName:"span",render:t,ref:n,props:mr({className:`mu-spinner mu-s-${i}`,role:"status","aria-label":e},s)})});import{Switch as Me}from"@base-ui/react/switch";import{forwardRef as fr}from"react";import{jsx as ze}from"react/jsx-runtime";var dr=fr(function({size:o,className:e,...t},s){let n=p(o);return ze(Me.Root,{ref:s,...t,className:a(`mu-switch mu-s-${n} mu-focus mu-hit`,e),children:ze(Me.Thumb,{className:"mu-switch-thumb"})})});var Ee={};S(Ee,{Body:()=>br,Caption:()=>Br,Cell:()=>Sr,Head:()=>Rr,Header:()=>gr,Root:()=>xr,Row:()=>Tr});import{forwardRef as F}from"react";import{jsx as M}from"react/jsx-runtime";var Pr={sm:"mu-body-sm",md:"mu-body",lg:"mu-body-lg"},xr=F(function({size:o,className:e,...t},s){let n=p(o);return M(c.Provider,{value:n,children:M("div",{className:"mu-table-scroll",children:M("table",{ref:s,...t,className:l("mu-table mu-base",`mu-s-${n}`,Pr[n],e)})})})}),gr=F(function({className:o,...e},t){return M("thead",{ref:t,...e,className:l("mu-table-header",o)})}),br=F(function({className:o,...e},t){return M("tbody",{ref:t,...e,className:l("mu-table-body",o)})}),Tr=F(function({className:o,...e},t){return M("tr",{ref:t,...e,className:l("mu-table-row",o)})}),Rr=F(function({num:o=!1,scope:e="col",className:t,...s},n){return M("th",{ref:n,scope:e,...s,className:l("mu-table-head mu-label-sm",o&&"mu-table-num",t)})}),Sr=F(function({num:o=!1,muted:e=!1,className:t,...s},n){return M("td",{ref:n,...s,className:l("mu-table-cell",o&&"mu-table-num",e&&"mu-table-muted",t)})}),Br=F(function({className:o,...e},t){return M("caption",{ref:t,...e,className:l("mu-table-caption mu-caption",o)})});var we={};S(we,{List:()=>Cr,Panel:()=>hr,Root:()=>vr,Tab:()=>yr});import{Tabs as q}from"@base-ui/react/tabs";import{forwardRef as ee}from"react";import{jsx as j,jsxs as Ie}from"react/jsx-runtime";var vr=ee(function({size:o,className:e,...t},s){let n=p(o);return j(c.Provider,{value:n,children:j(q.Root,{ref:s,...t,className:a("mu-tabs-root",e)})})}),Cr=ee(function({className:o,children:e,...t},s){let n=p();return Ie(q.List,{ref:s,...t,className:a(`mu-tabs-list mu-segmented mu-base mu-s-${n}`,o),children:[j(q.Indicator,{className:"mu-tabs-indicator mu-segmented-key"}),e]})}),yr=ee(function({icon:o,className:e,children:t,...s},n){return Ie(q.Tab,{ref:n,...s,className:a("mu-tabs-tab mu-segmented-item mu-focus",e),children:[o,t]})}),hr=ee(function({className:o,...e},t){return j(q.Panel,{ref:t,...e,className:a("mu-tabs-panel mu-focus",o)})});import{Field as Nr}from"@base-ui/react/field";import{forwardRef as Lr}from"react";import{jsx as De}from"react/jsx-runtime";var Mr=Lr(function({size:o,rows:e=3,className:t,...s},n){let i=p(o);return De(Nr.Control,{ref:n,...s,render:De("textarea",{rows:e}),className:a(`mu-textarea mu-base mu-s-${i}`,t)})});var ke={};S(ke,{Provider:()=>kr,Viewport:()=>Ar,createToastManager:()=>Fr,useToastManager:()=>Gr});import{Toast as C}from"@base-ui/react/toast";import{CircleAlert as zr,CircleCheck as Er,Info as wr,TriangleAlert as Ir,X as Dr}from"lucide-react";import{forwardRef as Hr}from"react";import{jsx as y,jsxs as He}from"react/jsx-runtime";var kr=C.Provider,Gr=C.useToastManager,Fr=C.createToastManager,Ar=Hr(function({container:o,closeLabel:e="Close",className:t,...s},n){return y(C.Portal,{container:o,children:y(C.Viewport,{ref:n,...s,className:a("mu-toast-viewport",t),children:y(Vr,{closeLabel:e})})})}),$r={neutral:wr,success:Er,warning:Ir,danger:zr},Or=r=>r==="success"||r==="warning"||r==="danger"?r:"neutral";function Vr({closeLabel:r}){let{toasts:o}=C.useToastManager();return o.map(e=>{let t=Or(e.type),s=$r[t];return y(C.Root,{toast:e,className:l("mu-toast mu-popup mu-base mu-s-md",`mu-toast-${t}`),children:He(C.Content,{className:"mu-toast-content",children:[y(s,{className:"mu-toast-icon","aria-hidden":!0}),He("div",{className:"mu-toast-text",children:[y(C.Title,{className:"mu-toast-title mu-label"}),y(C.Description,{className:"mu-toast-description mu-body-sm"})]}),y(C.Action,{className:l("mu-toast-action",z({variant:"neutral",size:"sm"}))}),y(C.Close,{className:"mu-toast-close",render:y(O,{variant:"ghost",size:"sm",icon:y(Dr,{}),"aria-label":r})})]})},e.id)})}import{Toggle as Wr}from"@base-ui/react/toggle";import{forwardRef as Kr}from"react";import{jsx as Xr,jsxs as qr}from"react/jsx-runtime";var Ur=Kr(function({size:o,icon:e,className:t,children:s,...n},i){let m=p(o),P=e!==void 0&&(s==null||s===!1);return qr(Wr,{ref:i,...n,className:a(`mu-toggle${P?" mu-toggle-icon":""} mu-base mu-s-${m} mu-focus mu-hit`,t),children:[e,P?null:Xr("span",{className:"mu-toggle-label",children:s})]})});import{ToggleGroup as _r}from"@base-ui/react/toggle-group";import{forwardRef as Jr,useCallback as Qr,useLayoutEffect as Yr,useRef as Zr}from"react";import{jsx as Ge,jsxs as os}from"react/jsx-runtime";var jr=Jr(function({size:o,multiple:e=!1,className:t,children:s,...n},i){let m=p(o),P=Zr(null),g=Qr(x=>{P.current=x,typeof i=="function"?i(x):i&&(i.current=x)},[i]);return es(P,!e),Ge(c.Provider,{value:m,children:os(_r,{ref:g,multiple:e,...n,className:a(e?`mu-toggle-group mu-s-${m}`:`mu-toggle-group mu-segmented mu-base mu-s-${m}`,t),children:[e?null:Ge("span",{className:"mu-segmented-key","aria-hidden":!0}),s]})})});function es(r,o){Yr(()=>{let e=r.current;if(!o||!e)return;let t=()=>{let i=e.querySelector(":scope > .mu-toggle[data-pressed]");i?(e.style.setProperty("--key-left",`${i.offsetLeft}px`),e.style.setProperty("--key-width",`${i.offsetWidth}px`),e.dataset.keyed=""):delete e.dataset.keyed};t();let s=new MutationObserver(t);s.observe(e,{subtree:!0,attributes:!0,attributeFilter:["data-pressed"],childList:!0});let n=new ResizeObserver(t);n.observe(e);for(let i of e.children)n.observe(i);return()=>{s.disconnect(),n.disconnect()}},[r,o])}var Ae={};S(Ae,{Popup:()=>ns,Provider:()=>ts,Root:()=>rs,Trigger:()=>ss});import{Tooltip as $}from"@base-ui/react/tooltip";import{forwardRef as Fe}from"react";import{jsx as oe,jsxs as as}from"react/jsx-runtime";var ts=$.Provider,rs=$.Root,ss=Fe(function({delay:o=400,className:e,...t},s){return oe($.Trigger,{ref:s,delay:o,...t,className:a("mu-tooltip-trigger",e)})}),ns=Fe(function({container:o,shortcut:e,className:t,children:s,...n},i){let[m,P]=N(n);return oe($.Portal,{container:o,children:oe($.Positioner,{sideOffset:6,...m,className:"mu-positioner",children:as($.Popup,{ref:i,...P,className:a("mu-tooltip-popup mu-popup-motion mu-label-sm",t),children:[s,e!==void 0?oe("span",{className:"mu-tooltip-shortcut",children:e}):null]})})})});export{ce as AlertDialog,fe as Avatar,lo as Badge,O as Button,go as Checkbox,Pe as Collapsible,xe as Combobox,be as Dialog,Te as Field,Be as Fieldset,rt as Input,pt as Kbd,ft as Link,Ce as Menu,ye as Popover,Ft as Prose,Vt as Radio,Ot as RadioGroup,Le as Select,rr as Separator,pr as Skeleton,cr as Spinner,dr as Switch,Ee as Table,we as Tabs,Mr as Textarea,ke as Toast,Ur as Toggle,jr as ToggleGroup,Ae as Tooltip,z as buttonClasses};
2
+ import*as r from"./components/dialog/alert-dialog.js";import*as e from"./components/avatar/index.js";import{Badge as t}from"./components/badge/index.js";import{Button as a,buttonClasses as x}from"./components/button/index.js";import{Checkbox as f}from"./components/checkbox/index.js";import*as n from"./components/collapsible/index.js";import*as l from"./components/combobox/index.js";import*as y from"./components/dialog/index.js";import*as i from"./components/field/index.js";import*as P from"./components/field/fieldset.js";import{Input as u}from"./components/input/index.js";import{Kbd as b}from"./components/kbd/index.js";import{Link as S}from"./components/link/index.js";import*as c from"./components/menu/index.js";import*as k from"./components/popover/index.js";import{Prose as C}from"./components/prose/index.js";import{Radio as G,RadioGroup as R}from"./components/radio-group/index.js";import*as I from"./components/select/index.js";import{Separator as w}from"./components/separator/index.js";import{Skeleton as D}from"./components/skeleton/index.js";import{Spinner as K}from"./components/spinner/index.js";import{Switch as z}from"./components/switch/index.js";import*as E from"./components/table/index.js";import*as M from"./components/tabs/index.js";import{Textarea as V}from"./components/textarea/index.js";import*as j from"./components/toast/index.js";import{Toggle as H}from"./components/toggle/index.js";import{ToggleGroup as N}from"./components/toggle-group/index.js";import*as Q from"./components/tooltip/index.js";export{r as AlertDialog,e as Avatar,t as Badge,a as Button,f as Checkbox,n as Collapsible,l as Combobox,y as Dialog,i as Field,P as Fieldset,u as Input,b as Kbd,S as Link,c as Menu,k as Popover,C as Prose,G as Radio,R as RadioGroup,I as Select,w as Separator,D as Skeleton,K as Spinner,z as Switch,E as Table,M as Tabs,V as Textarea,j as Toast,H as Toggle,N as ToggleGroup,Q as Tooltip,x as buttonClasses};
3
3
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../src/components/dialog/alert-dialog.tsx", "../src/components/dialog/parts.tsx", "../src/internal/class-name.ts", "../src/components/button/index.tsx", "../src/internal/size.ts", "../src/components/avatar/index.tsx", "../src/components/badge/index.tsx", "../src/components/checkbox/index.tsx", "../src/components/collapsible/index.tsx", "../src/components/combobox/index.tsx", "../src/internal/popup.tsx", "../src/components/dialog/index.tsx", "../src/components/field/index.tsx", "../src/components/field/fieldset.tsx", "../src/components/input/index.tsx", "../src/components/kbd/index.tsx", "../src/components/link/index.tsx", "../src/components/menu/index.tsx", "../src/components/popover/index.tsx", "../src/components/prose/index.tsx", "../src/components/radio-group/index.tsx", "../src/components/select/index.tsx", "../src/components/separator/index.tsx", "../src/components/skeleton/index.tsx", "../src/components/spinner/index.tsx", "../src/components/switch/index.tsx", "../src/components/table/index.tsx", "../src/components/tabs/index.tsx", "../src/components/textarea/index.tsx", "../src/components/toast/index.tsx", "../src/components/toggle/index.tsx", "../src/components/toggle-group/index.tsx", "../src/components/tooltip/index.tsx"],
4
- "sourcesContent": ["import { AlertDialog as BaseAlertDialog } from '@base-ui/react/alert-dialog';\nimport type { Dialog as BaseDialog } from '@base-ui/react/dialog';\nimport type { ForwardRefExoticComponent, RefAttributes } from 'react';\nimport { createDialogParts, type PopupProps as SharedPopupProps } from './parts';\n\nexport type { CloseProps, DescriptionProps, FooterProps, RootProps, TitleProps, TriggerProps } from './parts';\nexport type PopupProps = SharedPopupProps;\n\n// AlertDialog has Dialog's anatomy; it only stays open on a backdrop click.\nconst parts = createDialogParts(BaseAlertDialog as unknown as typeof BaseDialog, 'alert-dialog', false);\n\n/** Groups a trigger and a confirmation. Closes only through its buttons. */\nexport const Root = parts.Root;\n/** Opens the confirmation. Usually `render={<Button />}`. */\nexport const Trigger = parts.Trigger;\n/** The panel over a dimmed backdrop, without an X. A sheet from the bottom below `breakpoint-sm`. */\nexport const Popup = parts.Popup as ForwardRefExoticComponent<PopupProps & RefAttributes<HTMLDivElement>>;\n/** The question, an `<h2>`: \"Delete this note?\". */\nexport const Title = parts.Title;\n/** What will happen, a `<p>` under the title. */\nexport const Description = parts.Description;\n/** Closes the confirmation: the Cancel button. */\nexport const Close = parts.Close;\n/** Right-aligns Cancel and the action. Stacks them full width in a sheet. */\nexport const Footer = parts.Footer;\n", "import { Dialog as BaseDialog } from '@base-ui/react/dialog';\nimport { X } from 'lucide-react';\nimport { forwardRef, type HTMLAttributes } from 'react';\nimport { cx, withClass } from '../../internal/class-name';\nimport { Button } from '../button';\n\nexport type RootProps = BaseDialog.Root.Props;\nexport interface TriggerProps extends BaseDialog.Trigger.Props {}\nexport interface PopupProps extends BaseDialog.Popup.Props {\n /** Where the dialog is portaled to. Default `document.body`. */\n container?: BaseDialog.Portal.Props['container'];\n /** Below `breakpoint-sm` the dialog becomes a sheet from the bottom. `false` keeps it centered. Default true. */\n sheet?: boolean;\n}\nexport interface TitleProps extends BaseDialog.Title.Props {}\nexport interface DescriptionProps extends BaseDialog.Description.Props {}\nexport interface CloseProps extends BaseDialog.Close.Props {}\nexport interface FooterProps extends HTMLAttributes<HTMLDivElement> {}\n\n/**\n * Builds the styled parts on Base UI's Dialog or AlertDialog, which share\n * their anatomy. `closeButton` adds the X at the top right of the popup.\n */\nexport function createDialogParts(Base: typeof BaseDialog, name: 'dialog' | 'alert-dialog', closeButton: boolean) {\n const Trigger = forwardRef<HTMLButtonElement, TriggerProps>(function DialogTrigger({ className, ...props }, ref) {\n return <Base.Trigger ref={ref} {...props} className={withClass(`mu-${name}-trigger`, className)} />;\n });\n\n const Popup = forwardRef<HTMLDivElement, PopupProps & { closeLabel?: string }>(function DialogPopup(\n { container, sheet = true, closeLabel = 'Close', className, children, ...props },\n ref,\n ) {\n return (\n <Base.Portal container={container}>\n <Base.Backdrop className=\"mu-dialog-backdrop\" />\n <Base.Viewport className={cx('mu-dialog-viewport', sheet && 'mu-dialog-sheet')}>\n <Base.Popup ref={ref} {...props} className={withClass(`mu-dialog-popup mu-${name}-popup mu-popup mu-base mu-s-md`, className)}>\n {children}\n {closeButton ? (\n <Base.Close className=\"mu-dialog-x\" render={<Button variant=\"ghost\" size=\"sm\" icon={<X />} aria-label={closeLabel} />} />\n ) : null}\n </Base.Popup>\n </Base.Viewport>\n </Base.Portal>\n );\n });\n\n const Title = forwardRef<HTMLHeadingElement, TitleProps>(function DialogTitle({ className, ...props }, ref) {\n return <Base.Title ref={ref} {...props} className={withClass('mu-dialog-title mu-title', className)} />;\n });\n\n const Description = forwardRef<HTMLParagraphElement, DescriptionProps>(function DialogDescription({ className, ...props }, ref) {\n return <Base.Description ref={ref} {...props} className={withClass('mu-dialog-description mu-body', className)} />;\n });\n\n const Close = forwardRef<HTMLButtonElement, CloseProps>(function DialogClose({ className, ...props }, ref) {\n return <Base.Close ref={ref} {...props} className={withClass(`mu-${name}-close`, className)} />;\n });\n\n const Footer = forwardRef<HTMLDivElement, FooterProps>(function DialogFooter({ className, ...props }, ref) {\n return <div ref={ref} {...props} className={cx('mu-dialog-footer', className)} />;\n });\n\n return { Root: Base.Root, Trigger, Popup, Title, Description, Close, Footer };\n}\n", "/** Joins class names, skipping empty ones. */\nexport function cx(...names: (string | false | null | undefined)[]) {\n return names.filter(Boolean).join(' ');\n}\n\n/**\n * Puts our classes before the app's `className`, which Base UI lets be a\n * function of the part's state.\n */\nexport function withClass<State>(ours: string, theirs: string | ((state: State) => string | undefined) | undefined) {\n if (typeof theirs === 'function') return (state: State) => cx(ours, theirs(state));\n return cx(ours, theirs);\n}\n", "import { Button as BaseButton } from '@base-ui/react/button';\nimport { forwardRef, type ReactNode } from 'react';\nimport { cx, withClass } from '../../internal/class-name';\nimport { useSize } from '../../internal/size';\nimport type { IconElement, Size } from '../../types';\n\nexport type ButtonVariant = 'primary' | 'neutral' | 'ghost' | 'danger';\n\nexport interface ButtonProps extends BaseButton.Props {\n /** `primary` for the one action a view exists for, `neutral` for the rest, `ghost` in toolbars, `danger` to confirm a destructive action. */\n variant?: ButtonVariant;\n size?: Size;\n /** A Lucide element, before the label. With no children the button is square and needs `aria-label`. */\n icon?: IconElement;\n /** Keeps the width, shows a Spinner and ignores presses. */\n loading?: boolean;\n /** The accessible name while loading, such as \"Saving\". */\n loadingLabel?: string;\n children?: ReactNode;\n}\n\nexport interface ButtonClassesOptions {\n variant?: ButtonVariant;\n size?: Size;\n /** A square button with only an icon. */\n iconOnly?: boolean;\n}\n\n/**\n * The classes that make an element look like a Button. Use them on a link\n * that should look like an action: `<a className={buttonClasses({ variant: 'primary' })} href=\"/start\">`.\n */\nexport function buttonClasses({ variant = 'neutral', size = 'md', iconOnly = false }: ButtonClassesOptions = {}) {\n return cx('mu-button', `mu-button-${variant}`, iconOnly && 'mu-button-icon', 'mu-base', `mu-s-${size}`, 'mu-focus', 'mu-hit');\n}\n\n/** Starts an action. A raised key that sinks while pressed. */\nexport const Button = forwardRef<HTMLElement, ButtonProps>(function Button(\n { variant = 'neutral', size, icon, loading = false, loadingLabel, disabled, focusableWhenDisabled, className, children, ...props },\n ref,\n) {\n const resolved = useSize(size);\n const iconOnly = icon !== undefined && (children === undefined || children === null || children === false);\n return (\n <BaseButton\n ref={ref}\n {...props}\n {...(loading && loadingLabel ? { 'aria-label': loadingLabel } : null)}\n disabled={disabled || loading}\n focusableWhenDisabled={loading || focusableWhenDisabled}\n aria-busy={loading || undefined}\n data-loading={loading ? '' : undefined}\n className={withClass(buttonClasses({ variant, size: resolved, iconOnly }), className)}\n >\n {icon}\n {iconOnly ? null : <span className=\"mu-button-label\">{children}</span>}\n {loading ? <span className=\"mu-spinner\" aria-hidden /> : null}\n </BaseButton>\n );\n});\n", "import { createContext, useContext } from 'react';\nimport type { Size } from '../types';\n\n/** The size set on a component's Root, read by its parts. */\nexport const SizeContext = createContext<Size | undefined>(undefined);\n\n/** The size to render at: the component's own prop, else the nearest Root's, else md. */\nexport function useSize(size?: Size): Size {\n const inherited = useContext(SizeContext);\n return size ?? inherited ?? 'md';\n}\n", "import { Avatar as BaseAvatar } from '@base-ui/react/avatar';\nimport { forwardRef } from 'react';\nimport { withClass } from '../../internal/class-name';\nimport { useSize } from '../../internal/size';\nimport type { Size } from '../../types';\n\nexport interface RootProps extends BaseAvatar.Root.Props {\n /** 24, 32 or 40px. */\n size?: Size;\n}\n\n/** The circle. Holds an Image and a Fallback. */\nexport const Root = forwardRef<HTMLSpanElement, RootProps>(function AvatarRoot({ size, className, ...props }, ref) {\n const resolved = useSize(size);\n return <BaseAvatar.Root ref={ref} {...props} className={withClass(`mu-avatar-root mu-base mu-s-${resolved}`, className)} />;\n});\n\nexport interface ImageProps extends BaseAvatar.Image.Props {}\n\n/** The photo. Shown once it has loaded. Give it an `alt` with the person's name. */\nexport const Image = forwardRef<HTMLImageElement, ImageProps>(function AvatarImage({ className, ...props }, ref) {\n return <BaseAvatar.Image ref={ref} {...props} className={withClass('mu-avatar-image', className)} />;\n});\n\nexport interface FallbackProps extends BaseAvatar.Fallback.Props {}\n\n/** Initials, shown while there is no photo or it fails to load. */\nexport const Fallback = forwardRef<HTMLSpanElement, FallbackProps>(function AvatarFallback({ className, ...props }, ref) {\n return <BaseAvatar.Fallback ref={ref} {...props} className={withClass('mu-avatar-fallback', className)} />;\n});\n", "import { mergeProps } from '@base-ui/react/merge-props';\nimport { useRender } from '@base-ui/react/use-render';\nimport { forwardRef } from 'react';\nimport type { IconElement, Tone } from '../../types';\n\nexport interface BadgeProps extends useRender.ComponentProps<'span'> {\n /** A status tone, or `outline` for a quiet label such as visibility. */\n tone?: Tone | 'outline';\n /** A Lucide element before the text, drawn at 12px. */\n icon?: IconElement;\n}\n\n/** A tag or status label: one or two words. */\nexport const Badge = forwardRef<HTMLSpanElement, BadgeProps>(function Badge({ tone = 'neutral', icon, render, children, ...props }, ref) {\n return useRender({\n defaultTagName: 'span',\n render,\n ref,\n props: mergeProps<'span'>({ className: `mu-badge mu-badge-${tone} mu-base mu-s-sm`, children: (\n <>\n {icon}\n {children}\n </>\n ) }, props),\n });\n});\n", "import { Checkbox as BaseCheckbox } from '@base-ui/react/checkbox';\nimport { Check, Minus } from 'lucide-react';\nimport { forwardRef } from 'react';\nimport { withClass } from '../../internal/class-name';\nimport { useSize } from '../../internal/size';\nimport type { Size } from '../../types';\n\nexport interface CheckboxProps extends BaseCheckbox.Root.Props {\n /** Box: 16, 18 or 20px. */\n size?: Size;\n}\n\n/**\n * Includes or excludes one item, saved with a form. Name it with a\n * `Field.Label` around it, or `aria-label`.\n */\nexport const Checkbox = forwardRef<HTMLElement, CheckboxProps>(function Checkbox({ size, className, ...props }, ref) {\n const resolved = useSize(size);\n return (\n <BaseCheckbox.Root ref={ref} {...props} className={withClass(`mu-checkbox mu-s-${resolved} mu-focus mu-hit`, className)}>\n <BaseCheckbox.Indicator\n className=\"mu-checkbox-indicator\"\n render={(indicatorProps, state) => (\n <span {...indicatorProps}>{state.indeterminate ? <Minus aria-hidden /> : <Check aria-hidden />}</span>\n )}\n />\n </BaseCheckbox.Root>\n );\n});\n", "import { Collapsible as BaseCollapsible } from '@base-ui/react/collapsible';\nimport { ChevronDown } from 'lucide-react';\nimport { forwardRef } from 'react';\nimport { withClass } from '../../internal/class-name';\nimport { SizeContext, useSize } from '../../internal/size';\nimport type { Size } from '../../types';\nimport { buttonClasses } from '../button';\n\nexport interface RootProps extends BaseCollapsible.Root.Props {\n size?: Size;\n}\n\n/** Hides content behind one trigger until people ask for it. Holds a Trigger and a Panel. */\nexport const Root = forwardRef<HTMLDivElement, RootProps>(function CollapsibleRoot({ size, className, ...props }, ref) {\n const resolved = useSize(size);\n return (\n <SizeContext.Provider value={resolved}>\n <BaseCollapsible.Root ref={ref} {...props} className={withClass('mu-collapsible', className)} />\n </SizeContext.Provider>\n );\n});\n\nexport interface TriggerProps extends BaseCollapsible.Trigger.Props {}\n\n/** A ghost key with a chevron at the end that turns while the panel is open. */\nexport const Trigger = forwardRef<HTMLButtonElement, TriggerProps>(function CollapsibleTrigger({ className, children, ...props }, ref) {\n const size = useSize();\n return (\n <BaseCollapsible.Trigger ref={ref} {...props} className={withClass(`mu-collapsible-trigger ${buttonClasses({ variant: 'ghost', size })}`, className)}>\n <span className=\"mu-button-label\">{children}</span>\n <ChevronDown className=\"mu-collapsible-chevron\" aria-hidden />\n </BaseCollapsible.Trigger>\n );\n});\n\nexport interface PanelProps extends BaseCollapsible.Panel.Props {}\n\n/** The hidden content. It fades and rises in; its height does not animate. */\nexport const Panel = forwardRef<HTMLDivElement, PanelProps>(function CollapsiblePanel({ className, ...props }, ref) {\n return <BaseCollapsible.Panel ref={ref} {...props} className={withClass('mu-collapsible-panel', className)} />;\n});\n", "import { Combobox as BaseCombobox } from '@base-ui/react/combobox';\nimport { Check, ChevronsUpDown, Search } from 'lucide-react';\nimport { forwardRef, type CSSProperties, type ReactNode } from 'react';\nimport { cx, withClass } from '../../internal/class-name';\nimport { splitPositioner } from '../../internal/popup';\nimport { SizeContext, useSize } from '../../internal/size';\nimport type { IconElement, Size } from '../../types';\n\n/** Renders the items of one group from grouped `items`, inside a Group. Base UI's part, unstyled. */\nexport const Collection = BaseCombobox.Collection;\n\n/** Base UI's matcher for `filter`, with locale-aware `contains`, `startsWith` and `endsWith`. */\nexport const useFilter = BaseCombobox.useFilter;\n\nexport type RootProps<Value, Multiple extends boolean | undefined = false, Item = Value> = BaseCombobox.Root.Props<Value, Multiple, Item> & {\n size?: Size;\n};\n\n/**\n * Groups the input and the list, and holds the value. Pass `items` so the\n * list filters as people type and `Empty` knows when nothing matches.\n */\nexport function Root<Value, Multiple extends boolean | undefined = false, Item = Value>({ size, ...props }: RootProps<Value, Multiple, Item>) {\n const resolved = useSize(size);\n return (\n <SizeContext.Provider value={resolved}>\n <BaseCombobox.Root {...props} />\n </SizeContext.Provider>\n );\n}\n\nexport interface InputProps extends Omit<BaseCombobox.Input.Props, 'size' | 'className' | 'style'> {\n /** A Lucide element at the start. Default a search icon; `null` drops it. */\n icon?: IconElement | null;\n /** The accessible name of the chevron that opens the list. Default \"Show options\". */\n triggerLabel?: string;\n /** Classes for the visible box around the input. */\n className?: string;\n /** Styles for the visible box around the input. */\n style?: CSSProperties;\n}\n\n/**\n * The text box people type in: an Input with a search icon and a chevron that\n * opens the list. The ref and every other prop go to the `<input>`;\n * `className` and `style` go to the box around it.\n */\nexport const Input = forwardRef<HTMLInputElement, InputProps>(function ComboboxInput(\n { icon = <Search />, triggerLabel = 'Show options', className, style, ...props },\n ref,\n) {\n const size = useSize();\n return (\n <BaseCombobox.InputGroup className={cx('mu-input-root mu-combobox-input-root mu-base', `mu-s-${size}`, className)} style={style}>\n {icon !== null ? <span className=\"mu-input-prefix\">{icon}</span> : null}\n <BaseCombobox.Input ref={ref} {...props} className=\"mu-input\" />\n <span className=\"mu-input-suffix\">\n <BaseCombobox.Trigger className=\"mu-combobox-trigger mu-focus\" aria-label={triggerLabel}>\n <ChevronsUpDown aria-hidden />\n </BaseCombobox.Trigger>\n </span>\n </BaseCombobox.InputGroup>\n );\n});\n\ntype PositionerProps = Pick<\n BaseCombobox.Positioner.Props,\n | 'side'\n | 'align'\n | 'sideOffset'\n | 'alignOffset'\n | 'collisionPadding'\n | 'collisionAvoidance'\n | 'collisionBoundary'\n | 'sticky'\n | 'anchor'\n | 'positionMethod'\n | 'disableAnchorTracking'\n>;\n\nexport interface PopupProps extends BaseCombobox.Popup.Props, PositionerProps {\n /** Where the list is portaled to. Default `document.body`. */\n container?: BaseCombobox.Portal.Props['container'];\n}\n\n/** The floating panel under the input. Holds `Empty` and `List`. */\nexport const Popup = forwardRef<HTMLDivElement, PopupProps>(function ComboboxPopup({ container, className, ...props }, ref) {\n const size = useSize();\n const [positioner, rest] = splitPositioner(props);\n return (\n <BaseCombobox.Portal container={container}>\n <BaseCombobox.Positioner sideOffset={4} align=\"start\" {...positioner} className=\"mu-positioner\">\n <BaseCombobox.Popup ref={ref} {...rest} className={withClass(`mu-combobox-popup mu-popup mu-popup-motion mu-base mu-s-${size}`, className)} />\n </BaseCombobox.Positioner>\n </BaseCombobox.Portal>\n );\n});\n\nexport interface ListProps extends BaseCombobox.List.Props {}\n\n/** The items. Pass a function child to render each of the root's filtered `items`. */\nexport const List = forwardRef<HTMLDivElement, ListProps>(function ComboboxList({ className, ...props }, ref) {\n return <BaseCombobox.List ref={ref} {...props} className={withClass('mu-combobox-list', className)} />;\n});\n\nexport interface ItemProps extends BaseCombobox.Item.Props {\n /** A Lucide element before the label. */\n icon?: IconElement;\n children?: ReactNode;\n}\n\n/** One option, with a check at the end when chosen. */\nexport const Item = forwardRef<HTMLDivElement, ItemProps>(function ComboboxItem({ icon, className, children, ...props }, ref) {\n return (\n <BaseCombobox.Item ref={ref} {...props} className={withClass('mu-combobox-item', className)}>\n {icon}\n <span className=\"mu-combobox-item-text\">{children}</span>\n <span className=\"mu-combobox-indicator\">\n {/* The empty children replace Base UI's default \"\u2714\uFE0F\" text inside the svg. */}\n <BaseCombobox.ItemIndicator render={<Check aria-hidden />}>{null}</BaseCombobox.ItemIndicator>\n </span>\n </BaseCombobox.Item>\n );\n});\n\nexport interface EmptyProps extends BaseCombobox.Empty.Props {}\n\n/** What shows when nothing matches, such as \"No tags found\". Always mounted, so screen readers hear it. */\nexport const Empty = forwardRef<HTMLDivElement, EmptyProps>(function ComboboxEmpty({ className, ...props }, ref) {\n return <BaseCombobox.Empty ref={ref} {...props} className={withClass('mu-combobox-empty mu-body', className)} />;\n});\n\nexport interface GroupProps extends BaseCombobox.Group.Props {}\n\n/** A labeled set of items. With grouped `items`, render its items with `Collection`. */\nexport const Group = forwardRef<HTMLDivElement, GroupProps>(function ComboboxGroup({ className, ...props }, ref) {\n return <BaseCombobox.Group ref={ref} {...props} className={withClass('mu-combobox-group', className)} />;\n});\n\nexport interface GroupLabelProps extends BaseCombobox.GroupLabel.Props {}\n\n/** The name of a Group. */\nexport const GroupLabel = forwardRef<HTMLDivElement, GroupLabelProps>(function ComboboxGroupLabel({ className, ...props }, ref) {\n return <BaseCombobox.GroupLabel ref={ref} {...props} className={withClass('mu-combobox-group-label mu-label-xs', className)} />;\n});\n\nexport interface SeparatorProps extends BaseCombobox.Separator.Props {}\n\n/** A line between groups of items. */\nexport const Separator = forwardRef<HTMLDivElement, SeparatorProps>(function ComboboxSeparator({ className, ...props }, ref) {\n return <BaseCombobox.Separator ref={ref} {...props} className={withClass('mu-combobox-separator', className)} />;\n});\n", "/** Base UI's Positioner props that every folded `Popup` part accepts. */\nconst positionerKeys = [\n 'side',\n 'align',\n 'sideOffset',\n 'alignOffset',\n 'collisionPadding',\n 'collisionAvoidance',\n 'collisionBoundary',\n 'sticky',\n 'anchor',\n 'positionMethod',\n 'arrowPadding',\n 'disableAnchorTracking',\n 'alignItemWithTrigger',\n] as const;\n\ntype PositionerKey = (typeof positionerKeys)[number];\n\n/**\n * Splits a folded Popup's props into the ones for Base UI's Positioner and\n * the rest, for its Popup.\n */\nexport function splitPositioner<Props extends object>(props: Props) {\n const positioner: Record<string, unknown> = {};\n const rest: Record<string, unknown> = {};\n for (const [key, value] of Object.entries(props)) {\n if ((positionerKeys as readonly string[]).includes(key)) {\n if (value !== undefined) positioner[key] = value;\n } else {\n rest[key] = value;\n }\n }\n return [positioner, rest as Omit<Props, PositionerKey>] as const;\n}\n", "import { Dialog as BaseDialog } from '@base-ui/react/dialog';\nimport type { ForwardRefExoticComponent, RefAttributes } from 'react';\nimport { createDialogParts, type PopupProps as SharedPopupProps } from './parts';\n\nexport type { CloseProps, DescriptionProps, FooterProps, RootProps, TitleProps, TriggerProps } from './parts';\n\nexport interface PopupProps extends SharedPopupProps {\n /** The accessible name of the X button at the top right. Default \"Close\". */\n closeLabel?: string;\n}\n\nconst parts = createDialogParts(BaseDialog, 'dialog', true);\n\n/** Groups a trigger and its dialog. Controlled with `open` and `onOpenChange`. */\nexport const Root = parts.Root;\n/** Opens the dialog. Usually `render={<Button />}`. */\nexport const Trigger = parts.Trigger;\n/** The panel over a dimmed backdrop, with an X at the top right. A sheet from the bottom below `breakpoint-sm`. */\nexport const Popup = parts.Popup as ForwardRefExoticComponent<PopupProps & RefAttributes<HTMLDivElement>>;\n/** The dialog's heading, an `<h2>`: a question or a task. */\nexport const Title = parts.Title;\n/** What will happen, a `<p>` under the title. */\nexport const Description = parts.Description;\n/** Closes the dialog. Usually `render={<Button variant=\"ghost\" />}` for Cancel. */\nexport const Close = parts.Close;\n/** Right-aligns the buttons at the end of the dialog: Cancel, then the action. Stacks them full width in a sheet. */\nexport const Footer = parts.Footer;\n", "import { Field as BaseField } from '@base-ui/react/field';\nimport { CircleAlert } from 'lucide-react';\nimport { forwardRef } from 'react';\nimport { withClass } from '../../internal/class-name';\nimport { SizeContext, useSize } from '../../internal/size';\nimport type { Size } from '../../types';\n\nexport interface RootProps extends BaseField.Root.Props {\n /** The size of the control inside, passed on to it. */\n size?: Size;\n}\n\n/** One control with its label, description and error, wired for screen readers. */\nexport const Root = forwardRef<HTMLDivElement, RootProps>(function FieldRoot({ size, className, ...props }, ref) {\n const resolved = useSize(size);\n return (\n <SizeContext.Provider value={resolved}>\n <BaseField.Root ref={ref} {...props} className={withClass('mu-field-root', className)} />\n </SizeContext.Provider>\n );\n});\n\nexport interface LabelProps extends BaseField.Label.Props {}\n\n/** The label above a text control, or beside a Checkbox, Switch or Radio placed inside it. */\nexport const Label = forwardRef<HTMLLabelElement, LabelProps>(function FieldLabel({ className, ...props }, ref) {\n return <BaseField.Label ref={ref} {...props} className={withClass('mu-field-label mu-label', className)} />;\n});\n\nexport interface ItemProps extends BaseField.Item.Props {}\n\n/** One option of a checkbox or radio group inside a Field: holds a Field.Label around the control. */\nexport const Item = forwardRef<HTMLDivElement, ItemProps>(function FieldItem({ className, ...props }, ref) {\n return <BaseField.Item ref={ref} {...props} className={withClass('mu-field-item', className)} />;\n});\n\nexport interface DescriptionProps extends BaseField.Description.Props {}\n\n/** One line of help under the control. Hidden while the field shows an error. */\nexport const Description = forwardRef<HTMLParagraphElement, DescriptionProps>(function FieldDescription({ className, ...props }, ref) {\n return <BaseField.Description ref={ref} {...props} className={withClass('mu-field-description mu-caption', className)} />;\n});\n\nexport interface ErrorProps extends BaseField.Error.Props {}\n\n/** What is wrong and how to fix it, after a CircleAlert icon. Shown when the field is invalid. */\nexport const Error = forwardRef<HTMLDivElement, ErrorProps>(function FieldError({ className, children, ...props }, ref) {\n return (\n <BaseField.Error ref={ref} {...props} className={withClass('mu-field-error mu-caption', className)}>\n <CircleAlert className=\"mu-icon\" aria-hidden />\n <span>{children}</span>\n </BaseField.Error>\n );\n});\n", "import { Fieldset as BaseFieldset } from '@base-ui/react/fieldset';\nimport { forwardRef } from 'react';\nimport { withClass } from '../../internal/class-name';\nimport { SizeContext, useSize } from '../../internal/size';\nimport type { Size } from '../../types';\n\nexport interface RootProps extends BaseFieldset.Root.Props {\n size?: Size;\n}\n\n/** A group of checkboxes, radios or switches with one legend. */\nexport const Root = forwardRef<HTMLFieldSetElement, RootProps>(function FieldsetRoot({ size, className, ...props }, ref) {\n const resolved = useSize(size);\n return (\n <SizeContext.Provider value={resolved}>\n <BaseFieldset.Root ref={ref} {...props} className={withClass('mu-fieldset-root', className)} />\n </SizeContext.Provider>\n );\n});\n\nexport interface LegendProps extends BaseFieldset.Legend.Props {}\n\n/** The group's name. */\nexport const Legend = forwardRef<HTMLDivElement, LegendProps>(function FieldsetLegend({ className, ...props }, ref) {\n return <BaseFieldset.Legend ref={ref} {...props} className={withClass('mu-fieldset-legend mu-label', className)} />;\n});\n", "import { Input as BaseInput } from '@base-ui/react/input';\nimport { forwardRef, type CSSProperties, type ReactNode } from 'react';\nimport { cx } from '../../internal/class-name';\nimport { useSize } from '../../internal/size';\nimport type { Size } from '../../types';\n\nexport interface InputProps extends Omit<BaseInput.Props, 'size' | 'prefix' | 'className' | 'style'> {\n size?: Size;\n /** Says what the field is: a search or link icon. */\n prefix?: ReactNode;\n /** One action on the value (copy, clear), or a unit. */\n suffix?: ReactNode;\n /** Classes for the visible box around the input. */\n className?: string;\n /** Styles for the visible box around the input. */\n style?: CSSProperties;\n}\n\n/**\n * One line of text: flat `surface` with an `edge`. The ref and every other\n * prop go to the `<input>`; `className` and `style` go to the box around it.\n */\nexport const Input = forwardRef<HTMLInputElement, InputProps>(function Input({ size, prefix, suffix, className, style, ...props }, ref) {\n const resolved = useSize(size);\n return (\n <span className={cx('mu-input-root mu-base', `mu-s-${resolved}`, className)} style={style}>\n {prefix !== undefined ? <span className=\"mu-input-prefix\">{prefix}</span> : null}\n <BaseInput ref={ref} {...props} className=\"mu-input\" />\n {suffix !== undefined ? <span className=\"mu-input-suffix\">{suffix}</span> : null}\n </span>\n );\n});\n", "import { mergeProps } from '@base-ui/react/merge-props';\nimport { useRender } from '@base-ui/react/use-render';\nimport { forwardRef } from 'react';\n\nexport interface KbdProps extends useRender.ComponentProps<'kbd'> {}\n\n/** One keyboard key, such as \"\u2318\", \"Enter\" or \"/\", as a tiny raised key. */\nexport const Kbd = forwardRef<HTMLElement, KbdProps>(function Kbd({ render, ...props }, ref) {\n return useRender({ defaultTagName: 'kbd', render, ref, props: mergeProps<'kbd'>({ className: 'mu-kbd mu-label-xs' }, props) });\n});\n", "import { mergeProps } from '@base-ui/react/merge-props';\nimport { useRender } from '@base-ui/react/use-render';\nimport { ArrowUpRight } from 'lucide-react';\nimport { forwardRef } from 'react';\n\nexport interface LinkProps extends useRender.ComponentProps<'a'> {\n /** For navigation that shouldn't draw the eye: ink-muted, ink on hover. */\n muted?: boolean;\n /** Opens in a new tab and shows an arrow. */\n external?: boolean;\n /** `always` inside running text, so the link isn't told apart by color alone. Default `hover`. */\n underline?: 'hover' | 'always';\n}\n\n/** Goes somewhere. Accent text that underlines on hover and focus. */\nexport const Link = forwardRef<HTMLAnchorElement, LinkProps>(function Link({ muted = false, external = false, underline = 'hover', render, children, ...props }, ref) {\n return useRender({\n defaultTagName: 'a',\n render,\n ref,\n props: mergeProps<'a'>(\n {\n className: `mu-link${muted ? ' mu-link-muted' : ''}${underline === 'always' ? ' mu-link-underline' : ''} mu-focus`,\n ...(external ? { target: '_blank', rel: 'noopener noreferrer' } : null),\n children: (\n <>\n {children}\n {external ? <ArrowUpRight className=\"mu-icon\" aria-hidden /> : null}\n </>\n ),\n },\n props,\n ),\n });\n});\n", "import { Menu as BaseMenu } from '@base-ui/react/menu';\nimport { Check, ChevronRight } from 'lucide-react';\nimport { forwardRef, type ReactNode } from 'react';\nimport { withClass } from '../../internal/class-name';\nimport { splitPositioner } from '../../internal/popup';\nimport { SizeContext, useSize } from '../../internal/size';\nimport type { IconElement, Size } from '../../types';\n\nexport interface RootProps extends BaseMenu.Root.Props {\n /** Row height of every item: 24, 32 or 40px. */\n size?: Size;\n}\n\n/** Groups a trigger and its menu. */\nexport function Root({ size, ...props }: RootProps) {\n const resolved = useSize(size);\n return (\n <SizeContext.Provider value={resolved}>\n <BaseMenu.Root {...props} />\n </SizeContext.Provider>\n );\n}\n\nexport interface TriggerProps extends BaseMenu.Trigger.Props {}\n\n/** Opens the menu. Usually `render={<Button variant=\"ghost\" icon={<Ellipsis />} aria-label=\"More actions\" />}`. */\nexport const Trigger = forwardRef<HTMLButtonElement, TriggerProps>(function MenuTrigger({ className, ...props }, ref) {\n return <BaseMenu.Trigger ref={ref} {...props} className={withClass('mu-menu-trigger', className)} />;\n});\n\ntype PositionerProps = Pick<\n BaseMenu.Positioner.Props,\n 'side' | 'align' | 'sideOffset' | 'alignOffset' | 'collisionPadding' | 'collisionAvoidance' | 'collisionBoundary' | 'sticky' | 'anchor' | 'positionMethod' | 'disableAnchorTracking'\n>;\n\nexport interface PopupProps extends BaseMenu.Popup.Props, PositionerProps {\n /** Where the menu is portaled to. Default `document.body`. */\n container?: BaseMenu.Portal.Props['container'];\n}\n\n/** The list of items. Also the popup of a submenu, inside `SubmenuRoot`. */\nexport const Popup = forwardRef<HTMLDivElement, PopupProps>(function MenuPopup({ container, className, ...props }, ref) {\n const size = useSize();\n const [positioner, rest] = splitPositioner(props);\n return (\n <BaseMenu.Portal container={container}>\n <BaseMenu.Positioner sideOffset={4} {...positioner} className=\"mu-positioner\">\n <BaseMenu.Popup ref={ref} {...rest} className={withClass(`mu-menu-popup mu-popup mu-popup-motion mu-base mu-s-${size}`, className)} />\n </BaseMenu.Positioner>\n </BaseMenu.Portal>\n );\n});\n\ninterface RowProps {\n /** A Lucide element before the label. */\n icon?: IconElement;\n /** A keyboard shortcut at the end of the row, such as \"\u2318 D\". */\n shortcut?: ReactNode;\n children?: ReactNode;\n}\n\n/** The shared inside of every row: icon, label, shortcut. */\nfunction Row({ icon, shortcut, children }: RowProps) {\n return (\n <>\n {icon}\n <span className=\"mu-menu-label\">{children}</span>\n {shortcut !== undefined ? <span className=\"mu-menu-shortcut\">{shortcut}</span> : null}\n </>\n );\n}\n\nexport interface ItemProps extends BaseMenu.Item.Props, RowProps {\n /** A destructive action: red text. Put it last, after a Separator. */\n danger?: boolean;\n}\n\n/** One action. */\nexport const Item = forwardRef<HTMLDivElement, ItemProps>(function MenuItem({ icon, shortcut, danger = false, className, children, ...props }, ref) {\n return (\n <BaseMenu.Item ref={ref} {...props} className={withClass(`mu-menu-item${danger ? ' mu-menu-item-danger' : ''}`, className)}>\n <Row icon={icon} shortcut={shortcut}>\n {children}\n </Row>\n </BaseMenu.Item>\n );\n});\n\nexport interface CheckboxItemProps extends BaseMenu.CheckboxItem.Props, RowProps {}\n\n/** An option that turns on or off, with a check at the end. Stays open on click. */\nexport const CheckboxItem = forwardRef<HTMLDivElement, CheckboxItemProps>(function MenuCheckboxItem({ icon, shortcut, className, children, ...props }, ref) {\n return (\n <BaseMenu.CheckboxItem ref={ref} {...props} className={withClass('mu-menu-item mu-menu-checkbox-item', className)}>\n <Row icon={icon} shortcut={shortcut}>\n {children}\n </Row>\n <span className=\"mu-menu-indicator\">\n <BaseMenu.CheckboxItemIndicator render={<Check aria-hidden />} />\n </span>\n </BaseMenu.CheckboxItem>\n );\n});\n\nexport interface RadioGroupProps extends BaseMenu.RadioGroup.Props {}\n\n/** Groups RadioItems: exactly one is chosen. */\nexport const RadioGroup = forwardRef<HTMLDivElement, RadioGroupProps>(function MenuRadioGroup({ className, ...props }, ref) {\n return <BaseMenu.RadioGroup ref={ref} {...props} className={withClass('mu-menu-radio-group', className)} />;\n});\n\nexport interface RadioItemProps extends BaseMenu.RadioItem.Props, RowProps {}\n\n/** One choice in a RadioGroup, with a check at the end when chosen. Stays open on click. */\nexport const RadioItem = forwardRef<HTMLDivElement, RadioItemProps>(function MenuRadioItem({ icon, shortcut, className, children, ...props }, ref) {\n return (\n <BaseMenu.RadioItem ref={ref} {...props} className={withClass('mu-menu-item mu-menu-radio-item', className)}>\n <Row icon={icon} shortcut={shortcut}>\n {children}\n </Row>\n <span className=\"mu-menu-indicator\">\n <BaseMenu.RadioItemIndicator render={<Check aria-hidden />} />\n </span>\n </BaseMenu.RadioItem>\n );\n});\n\nexport interface GroupProps extends BaseMenu.Group.Props {}\n\n/** A labeled set of items. */\nexport const Group = forwardRef<HTMLDivElement, GroupProps>(function MenuGroup({ className, ...props }, ref) {\n return <BaseMenu.Group ref={ref} {...props} className={withClass('mu-menu-group', className)} />;\n});\n\nexport interface GroupLabelProps extends BaseMenu.GroupLabel.Props {}\n\n/** The name of a Group or RadioGroup. */\nexport const GroupLabel = forwardRef<HTMLDivElement, GroupLabelProps>(function MenuGroupLabel({ className, ...props }, ref) {\n return <BaseMenu.GroupLabel ref={ref} {...props} className={withClass('mu-menu-group-label mu-label-xs', className)} />;\n});\n\nexport interface SeparatorProps extends BaseMenu.Separator.Props {}\n\n/** A line between groups of items. */\nexport const Separator = forwardRef<HTMLDivElement, SeparatorProps>(function MenuSeparator({ className, ...props }, ref) {\n return <BaseMenu.Separator ref={ref} {...props} className={withClass('mu-menu-separator', className)} />;\n});\n\nexport type SubmenuRootProps = BaseMenu.SubmenuRoot.Props;\n\n/** Holds a SubmenuTrigger and its own Popup. */\nexport const SubmenuRoot = BaseMenu.SubmenuRoot;\n\nexport interface SubmenuTriggerProps extends BaseMenu.SubmenuTrigger.Props {\n icon?: IconElement;\n children?: ReactNode;\n}\n\n/** The row that opens a submenu, with a chevron at the end. */\nexport const SubmenuTrigger = forwardRef<HTMLDivElement, SubmenuTriggerProps>(function MenuSubmenuTrigger({ icon, className, children, ...props }, ref) {\n return (\n <BaseMenu.SubmenuTrigger ref={ref} {...props} className={withClass('mu-menu-item mu-menu-submenu-trigger', className)}>\n <Row icon={icon}>{children}</Row>\n <ChevronRight className=\"mu-menu-chevron\" aria-hidden />\n </BaseMenu.SubmenuTrigger>\n );\n});\n", "import { Popover as BasePopover } from '@base-ui/react/popover';\nimport { forwardRef } from 'react';\nimport { withClass } from '../../internal/class-name';\nimport { splitPositioner } from '../../internal/popup';\n\nexport type RootProps = BasePopover.Root.Props;\n\n/** Groups a trigger and its popover. */\nexport const Root = BasePopover.Root;\n\nexport interface TriggerProps extends BasePopover.Trigger.Props {}\n\n/** Opens the popover. Usually `render={<Button />}`. */\nexport const Trigger = forwardRef<HTMLButtonElement, TriggerProps>(function PopoverTrigger({ className, ...props }, ref) {\n return <BasePopover.Trigger ref={ref} {...props} className={withClass('mu-popover-trigger', className)} />;\n});\n\ntype PositionerProps = Pick<\n BasePopover.Positioner.Props,\n 'side' | 'align' | 'sideOffset' | 'alignOffset' | 'collisionPadding' | 'collisionAvoidance' | 'collisionBoundary' | 'sticky' | 'anchor' | 'positionMethod' | 'disableAnchorTracking'\n>;\n\nexport interface PopupProps extends BasePopover.Popup.Props, PositionerProps {\n /** Where the popover is portaled to. Default `document.body`. */\n container?: BasePopover.Portal.Props['container'];\n}\n\n/** The panel: a surface with `shadow-pop`, `popover-width` wide. */\nexport const Popup = forwardRef<HTMLDivElement, PopupProps>(function PopoverPopup({ container, className, ...props }, ref) {\n const [positioner, rest] = splitPositioner(props);\n return (\n <BasePopover.Portal container={container}>\n <BasePopover.Positioner sideOffset={6} {...positioner} className=\"mu-positioner\">\n <BasePopover.Popup ref={ref} {...rest} className={withClass('mu-popover-popup mu-popup mu-popup-motion mu-base mu-s-md', className)} />\n </BasePopover.Positioner>\n </BasePopover.Portal>\n );\n});\n\nexport interface TitleProps extends BasePopover.Title.Props {}\n\n/** The popover's heading, an `<h2>`. Names the popup for screen readers. */\nexport const Title = forwardRef<HTMLHeadingElement, TitleProps>(function PopoverTitle({ className, ...props }, ref) {\n return <BasePopover.Title ref={ref} {...props} className={withClass('mu-popover-title mu-label', className)} />;\n});\n\nexport interface DescriptionProps extends BasePopover.Description.Props {}\n\n/** One line under the title, a `<p>`. */\nexport const Description = forwardRef<HTMLParagraphElement, DescriptionProps>(function PopoverDescription({ className, ...props }, ref) {\n return <BasePopover.Description ref={ref} {...props} className={withClass('mu-popover-description mu-body-sm', className)} />;\n});\n\nexport interface CloseProps extends BasePopover.Close.Props {}\n\n/** Closes the popover. Usually `render={<Button />}`. */\nexport const Close = forwardRef<HTMLButtonElement, CloseProps>(function PopoverClose({ className, ...props }, ref) {\n return <BasePopover.Close ref={ref} {...props} className={withClass('mu-popover-close', className)} />;\n});\n", "import { forwardRef, type ComponentPropsWithoutRef } from 'react';\nimport { cx } from '../../internal/class-name';\n\nexport interface ProseProps extends ComponentPropsWithoutRef<'div'> {\n /** `md` is 15px on a 24px line for reading; `sm` is 14px on 22px, for dense lists. */\n size?: 'sm' | 'md';\n}\n\n/**\n * Styles rendered Markdown inside it: headings, paragraphs, lists, task lists,\n * code, quotes, tables, images and links. Put the rendered HTML in it as\n * children. Without React, use the `mu-prose` class.\n */\nexport const Prose = forwardRef<HTMLDivElement, ProseProps>(function Prose({ size = 'md', className, ...props }, ref) {\n return <div ref={ref} {...props} className={cx('mu-prose', size === 'sm' && 'mu-prose-sm', className)} />;\n});\n", "import { Radio as BaseRadio } from '@base-ui/react/radio';\nimport { RadioGroup as BaseRadioGroup } from '@base-ui/react/radio-group';\nimport { forwardRef } from 'react';\nimport { withClass } from '../../internal/class-name';\nimport { SizeContext, useSize } from '../../internal/size';\nimport type { Size } from '../../types';\n\nexport interface RadioGroupProps extends BaseRadioGroup.Props {\n size?: Size;\n /** How the radios are laid out. Default `vertical`. */\n orientation?: 'vertical' | 'horizontal';\n}\n\n/** Exactly one option from a short list that is always visible. Holds Radio items, each inside a Field.Label. */\nexport const RadioGroup = forwardRef<HTMLDivElement, RadioGroupProps>(function RadioGroup({ size, orientation = 'vertical', className, ...props }, ref) {\n const resolved = useSize(size);\n return (\n <SizeContext.Provider value={resolved}>\n <BaseRadioGroup\n ref={ref}\n aria-orientation={orientation}\n {...props}\n data-orientation={orientation}\n className={withClass(`mu-radio-group mu-s-${resolved}`, className)}\n />\n </SizeContext.Provider>\n );\n});\n\nexport interface RadioProps extends BaseRadio.Root.Props {\n size?: Size;\n}\n\n/** One option: a round well that becomes a flat primary circle with a dot. */\nexport const Radio = forwardRef<HTMLElement, RadioProps>(function Radio({ size, className, ...props }, ref) {\n const resolved = useSize(size);\n return (\n <BaseRadio.Root ref={ref} {...props} className={withClass(`mu-radio mu-s-${resolved} mu-focus mu-hit`, className)}>\n <BaseRadio.Indicator className=\"mu-radio-indicator\" />\n </BaseRadio.Root>\n );\n});\n", "import { Select as BaseSelect } from '@base-ui/react/select';\nimport { Check, ChevronDown, ChevronsUpDown, ChevronUp } from 'lucide-react';\nimport { forwardRef, type ReactNode } from 'react';\nimport { withClass } from '../../internal/class-name';\nimport { splitPositioner } from '../../internal/popup';\nimport { SizeContext, useSize } from '../../internal/size';\nimport type { IconElement, Size } from '../../types';\nimport { buttonClasses } from '../button';\n\nexport type RootProps<Value, Multiple extends boolean | undefined = false> = BaseSelect.Root.Props<Value, Multiple> & {\n size?: Size;\n};\n\n/** Groups the trigger and the list, and holds the value. Pass `items` so `Value` shows labels, not raw values. */\nexport function Root<Value, Multiple extends boolean | undefined = false>({ size, ...props }: RootProps<Value, Multiple>) {\n const resolved = useSize(size);\n return (\n <SizeContext.Provider value={resolved}>\n <BaseSelect.Root {...props} />\n </SizeContext.Provider>\n );\n}\n\nexport interface TriggerProps extends BaseSelect.Trigger.Props {}\n\n/** A neutral key that shows the value, with a chevron at the end. Holds `Value`. */\nexport const Trigger = forwardRef<HTMLButtonElement, TriggerProps>(function SelectTrigger({ className, children, ...props }, ref) {\n const size = useSize();\n return (\n <BaseSelect.Trigger ref={ref} {...props} className={withClass(`mu-select-trigger ${buttonClasses({ variant: 'neutral', size })}`, className)}>\n {children}\n <BaseSelect.Icon className=\"mu-select-icon\">\n <ChevronsUpDown aria-hidden />\n </BaseSelect.Icon>\n </BaseSelect.Trigger>\n );\n});\n\nexport interface ValueProps extends BaseSelect.Value.Props {}\n\n/** The chosen item's label, or `placeholder` in `ink-muted`. */\nexport const Value = forwardRef<HTMLSpanElement, ValueProps>(function SelectValue({ className, ...props }, ref) {\n return <BaseSelect.Value ref={ref} {...props} className={withClass('mu-select-value', className)} />;\n});\n\ntype PositionerProps = Pick<\n BaseSelect.Positioner.Props,\n | 'side'\n | 'align'\n | 'sideOffset'\n | 'alignOffset'\n | 'collisionPadding'\n | 'collisionAvoidance'\n | 'collisionBoundary'\n | 'sticky'\n | 'anchor'\n | 'positionMethod'\n | 'disableAnchorTracking'\n | 'alignItemWithTrigger'\n>;\n\nexport interface PopupProps extends BaseSelect.Popup.Props, PositionerProps {\n /** Where the list is portaled to. Default `document.body`. */\n container?: BaseSelect.Portal.Props['container'];\n}\n\n/**\n * The list of items. By default it opens over the trigger with the chosen\n * item on top of the value; `alignItemWithTrigger={false}` opens it below.\n */\nexport const Popup = forwardRef<HTMLDivElement, PopupProps>(function SelectPopup({ container, className, children, ...props }, ref) {\n const size = useSize();\n const [positioner, rest] = splitPositioner(props);\n return (\n <BaseSelect.Portal container={container}>\n <BaseSelect.Positioner sideOffset={4} {...positioner} className=\"mu-positioner mu-select-positioner\">\n <BaseSelect.Popup ref={ref} {...rest} className={withClass(`mu-select-popup mu-popup mu-popup-motion mu-base mu-s-${size}`, className)}>\n <BaseSelect.ScrollUpArrow className=\"mu-select-scroll-arrow\" render={(arrowProps) => <div {...arrowProps}><ChevronUp aria-hidden /></div>} />\n <BaseSelect.List className=\"mu-select-list\">{children}</BaseSelect.List>\n <BaseSelect.ScrollDownArrow className=\"mu-select-scroll-arrow\" render={(arrowProps) => <div {...arrowProps}><ChevronDown aria-hidden /></div>} />\n </BaseSelect.Popup>\n </BaseSelect.Positioner>\n </BaseSelect.Portal>\n );\n});\n\nexport interface ItemProps extends BaseSelect.Item.Props {\n /** A Lucide element before the label. */\n icon?: IconElement;\n children?: ReactNode;\n}\n\n/** One option, with a check at the end when chosen. */\nexport const Item = forwardRef<HTMLDivElement, ItemProps>(function SelectItem({ icon, className, children, ...props }, ref) {\n return (\n <BaseSelect.Item ref={ref} {...props} className={withClass('mu-select-item', className)}>\n {icon}\n <BaseSelect.ItemText className=\"mu-select-item-text\">{children}</BaseSelect.ItemText>\n <span className=\"mu-select-indicator\">\n {/* The empty children replace Base UI's default \"\u2714\uFE0F\" text inside the svg. */}\n <BaseSelect.ItemIndicator render={<Check aria-hidden />}>{null}</BaseSelect.ItemIndicator>\n </span>\n </BaseSelect.Item>\n );\n});\n\nexport interface GroupProps extends BaseSelect.Group.Props {}\n\n/** A labeled set of items. */\nexport const Group = forwardRef<HTMLDivElement, GroupProps>(function SelectGroup({ className, ...props }, ref) {\n return <BaseSelect.Group ref={ref} {...props} className={withClass('mu-select-group', className)} />;\n});\n\nexport interface GroupLabelProps extends BaseSelect.GroupLabel.Props {}\n\n/** The name of a Group. */\nexport const GroupLabel = forwardRef<HTMLDivElement, GroupLabelProps>(function SelectGroupLabel({ className, ...props }, ref) {\n return <BaseSelect.GroupLabel ref={ref} {...props} className={withClass('mu-select-group-label mu-label-xs', className)} />;\n});\n\nexport interface SeparatorProps extends BaseSelect.Separator.Props {}\n\n/** A line between groups of items. */\nexport const Separator = forwardRef<HTMLDivElement, SeparatorProps>(function SelectSeparator({ className, ...props }, ref) {\n return <BaseSelect.Separator ref={ref} {...props} className={withClass('mu-select-separator', className)} />;\n});\n", "import { Separator as BaseSeparator } from '@base-ui/react/separator';\nimport { forwardRef } from 'react';\nimport { withClass } from '../../internal/class-name';\n\nexport interface SeparatorProps extends BaseSeparator.Props {}\n\n/** A 1px line between groups of content. */\nexport const Separator = forwardRef<HTMLDivElement, SeparatorProps>(function Separator({ className, ...props }, ref) {\n return <BaseSeparator ref={ref} {...props} className={withClass('mu-separator', className)} />;\n});\n", "import { mergeProps } from '@base-ui/react/merge-props';\nimport { useRender } from '@base-ui/react/use-render';\nimport { forwardRef } from 'react';\nimport { useSize } from '../../internal/size';\nimport type { Size } from '../../types';\n\nexport interface SkeletonProps extends useRender.ComponentProps<'div'> {\n /** Defaults to the full width. */\n width?: number | string;\n /** Defaults to one line of text at `size`. */\n height?: number | string;\n /** A circle, for an avatar. Its width defaults to its height. */\n round?: boolean;\n size?: Size;\n}\n\n/** Holds the place of content that is still loading. Hidden from screen readers. */\nexport const Skeleton = forwardRef<HTMLDivElement, SkeletonProps>(function Skeleton({ width, height, round = false, size, render, ...props }, ref) {\n const resolved = useSize(size);\n return useRender({\n defaultTagName: 'div',\n render,\n ref,\n props: mergeProps<'div'>(\n {\n className: `mu-skeleton${round ? ' mu-skeleton-round' : ''} mu-s-${resolved}`,\n 'aria-hidden': true,\n style: { width: width ?? (round ? height : undefined), height },\n },\n props,\n ),\n });\n});\n", "import { mergeProps } from '@base-ui/react/merge-props';\nimport { useRender } from '@base-ui/react/use-render';\nimport { forwardRef } from 'react';\nimport { useSize } from '../../internal/size';\nimport type { Size } from '../../types';\n\nexport interface SpinnerProps extends useRender.ComponentProps<'span'> {\n /** 14, 16 or 20px. Defaults to the surrounding component's size, else md. */\n size?: Size;\n /** What is loading, for screen readers. */\n label?: string;\n}\n\n/** A ring that turns while something short is in progress. */\nexport const Spinner = forwardRef<HTMLSpanElement, SpinnerProps>(function Spinner({ size, label = 'Loading', render, ...props }, ref) {\n const resolved = useSize(size);\n return useRender({\n defaultTagName: 'span',\n render,\n ref,\n props: mergeProps<'span'>({ className: `mu-spinner mu-s-${resolved}`, role: 'status', 'aria-label': label }, props),\n });\n});\n", "import { Switch as BaseSwitch } from '@base-ui/react/switch';\nimport { forwardRef } from 'react';\nimport { withClass } from '../../internal/class-name';\nimport { useSize } from '../../internal/size';\nimport type { Size } from '../../types';\n\nexport interface SwitchProps extends BaseSwitch.Root.Props {\n /** 18, 20 or 22px tall. */\n size?: Size;\n}\n\n/**\n * Turns a setting on or off at once. Name it with a `Field.Label` around it,\n * or `aria-label`.\n */\nexport const Switch = forwardRef<HTMLElement, SwitchProps>(function Switch({ size, className, ...props }, ref) {\n const resolved = useSize(size);\n return (\n <BaseSwitch.Root ref={ref} {...props} className={withClass(`mu-switch mu-s-${resolved} mu-focus mu-hit`, className)}>\n <BaseSwitch.Thumb className=\"mu-switch-thumb\" />\n </BaseSwitch.Root>\n );\n});\n", "import { forwardRef, type ComponentPropsWithoutRef } from 'react';\nimport { cx } from '../../internal/class-name';\nimport { SizeContext, useSize } from '../../internal/size';\nimport type { Size } from '../../types';\n\nconst bodyText: Record<Size, string> = { sm: 'mu-body-sm', md: 'mu-body', lg: 'mu-body-lg' };\n\nexport interface RootProps extends ComponentPropsWithoutRef<'table'> {\n /** `sm` for dense admin lists. Sets row height and cell text. */\n size?: Size;\n}\n\n/**\n * A `<table>` with rows separated by `line`. It sits in a box that scrolls\n * sideways when the table is wider than the screen; the ref and every prop go\n * to the `<table>`.\n */\nexport const Root = forwardRef<HTMLTableElement, RootProps>(function TableRoot({ size, className, ...props }, ref) {\n const resolved = useSize(size);\n return (\n <SizeContext.Provider value={resolved}>\n <div className=\"mu-table-scroll\">\n <table ref={ref} {...props} className={cx('mu-table mu-base', `mu-s-${resolved}`, bodyText[resolved], className)} />\n </div>\n </SizeContext.Provider>\n );\n});\n\nexport interface HeaderProps extends ComponentPropsWithoutRef<'thead'> {}\n\n/** The `<thead>`, holding one Row of Head cells. */\nexport const Header = forwardRef<HTMLTableSectionElement, HeaderProps>(function TableHeader({ className, ...props }, ref) {\n return <thead ref={ref} {...props} className={cx('mu-table-header', className)} />;\n});\n\nexport interface BodyProps extends ComponentPropsWithoutRef<'tbody'> {}\n\n/** The `<tbody>`, holding the data Rows. */\nexport const Body = forwardRef<HTMLTableSectionElement, BodyProps>(function TableBody({ className, ...props }, ref) {\n return <tbody ref={ref} {...props} className={cx('mu-table-body', className)} />;\n});\n\nexport interface RowProps extends ComponentPropsWithoutRef<'tr'> {}\n\n/** A `<tr>`. Body rows highlight with `hover`. */\nexport const Row = forwardRef<HTMLTableRowElement, RowProps>(function TableRow({ className, ...props }, ref) {\n return <tr ref={ref} {...props} className={cx('mu-table-row', className)} />;\n});\n\nexport interface HeadProps extends ComponentPropsWithoutRef<'th'> {\n /** Right-aligns a column of numbers. Set it on the column's Cells too. */\n num?: boolean;\n}\n\n/** A column header, `<th scope=\"col\">` in 12px `ink-muted`. */\nexport const Head = forwardRef<HTMLTableCellElement, HeadProps>(function TableHead({ num = false, scope = 'col', className, ...props }, ref) {\n return <th ref={ref} scope={scope} {...props} className={cx('mu-table-head mu-label-sm', num && 'mu-table-num', className)} />;\n});\n\nexport interface CellProps extends ComponentPropsWithoutRef<'td'> {\n /** Right-aligns a number. */\n num?: boolean;\n /** Secondary text, such as a date, in `ink-muted`. */\n muted?: boolean;\n}\n\n/** A data cell, `<td>`. */\nexport const Cell = forwardRef<HTMLTableCellElement, CellProps>(function TableCell({ num = false, muted = false, className, ...props }, ref) {\n return <td ref={ref} {...props} className={cx('mu-table-cell', num && 'mu-table-num', muted && 'mu-table-muted', className)} />;\n});\n\nexport interface CaptionProps extends ComponentPropsWithoutRef<'caption'> {}\n\n/** Names the table, under it in `caption` style. Screen readers read it as the table's name. */\nexport const Caption = forwardRef<HTMLTableCaptionElement, CaptionProps>(function TableCaption({ className, ...props }, ref) {\n return <caption ref={ref} {...props} className={cx('mu-table-caption mu-caption', className)} />;\n});\n", "import { Tabs as BaseTabs } from '@base-ui/react/tabs';\nimport { forwardRef, type ReactNode } from 'react';\nimport { withClass } from '../../internal/class-name';\nimport { SizeContext, useSize } from '../../internal/size';\nimport type { IconElement, Size } from '../../types';\n\nexport interface RootProps extends BaseTabs.Root.Props {\n size?: Size;\n}\n\n/** Switches between sections of the same page. Holds a List and one Panel per tab. */\nexport const Root = forwardRef<HTMLDivElement, RootProps>(function TabsRoot({ size, className, ...props }, ref) {\n const resolved = useSize(size);\n return (\n <SizeContext.Provider value={resolved}>\n <BaseTabs.Root ref={ref} {...props} className={withClass('mu-tabs-root', className)} />\n </SizeContext.Provider>\n );\n});\n\nexport interface ListProps extends BaseTabs.List.Props {}\n\n/** The well that holds the tabs, with the sliding key built in. */\nexport const List = forwardRef<HTMLDivElement, ListProps>(function TabsList({ className, children, ...props }, ref) {\n const size = useSize();\n return (\n <BaseTabs.List ref={ref} {...props} className={withClass(`mu-tabs-list mu-segmented mu-base mu-s-${size}`, className)}>\n <BaseTabs.Indicator className=\"mu-tabs-indicator mu-segmented-key\" />\n {children}\n </BaseTabs.List>\n );\n});\n\nexport interface TabProps extends BaseTabs.Tab.Props {\n icon?: IconElement;\n children?: ReactNode;\n}\n\n/** One tab. Its `value` matches a Panel's. */\nexport const Tab = forwardRef<HTMLElement, TabProps>(function TabsTab({ icon, className, children, ...props }, ref) {\n return (\n <BaseTabs.Tab ref={ref} {...props} className={withClass('mu-tabs-tab mu-segmented-item mu-focus', className)}>\n {icon}\n {children}\n </BaseTabs.Tab>\n );\n});\n\nexport interface PanelProps extends BaseTabs.Panel.Props {}\n\n/** The content of one tab. */\nexport const Panel = forwardRef<HTMLDivElement, PanelProps>(function TabsPanel({ className, ...props }, ref) {\n return <BaseTabs.Panel ref={ref} {...props} className={withClass('mu-tabs-panel mu-focus', className)} />;\n});\n", "import { Field as BaseField } from '@base-ui/react/field';\nimport { forwardRef } from 'react';\nimport { withClass } from '../../internal/class-name';\nimport { useSize } from '../../internal/size';\nimport type { Size } from '../../types';\n\nexport interface TextareaProps extends Omit<BaseField.Control.Props, 'size' | 'render'> {\n size?: Size;\n /** Visible lines before it scrolls. Default 3. */\n rows?: number;\n}\n\n/** A few lines of plain text. Looks like Input. */\nexport const Textarea = forwardRef<HTMLTextAreaElement, TextareaProps>(function Textarea({ size, rows = 3, className, ...props }, ref) {\n const resolved = useSize(size);\n return (\n <BaseField.Control\n ref={ref as never}\n {...props}\n render={<textarea rows={rows} />}\n className={withClass(`mu-textarea mu-base mu-s-${resolved}`, className)}\n />\n );\n});\n", "import { Toast as BaseToast } from '@base-ui/react/toast';\nimport { CircleAlert, CircleCheck, Info, TriangleAlert, X } from 'lucide-react';\nimport { forwardRef } from 'react';\nimport { cx, withClass } from '../../internal/class-name';\nimport type { Tone } from '../../types';\nimport { Button, buttonClasses } from '../button';\n\nexport type ProviderProps = BaseToast.Provider.Props;\n\n/** Holds the toasts. Wrap the app in it once. `timeout` (default 5000ms) and `limit` (default 3) apply to every toast. */\nexport const Provider = BaseToast.Provider;\n\n/**\n * Adds, updates and closes toasts: `add({ title, description, type, actionProps, timeout })`.\n * `type` is the tone: \"success\", \"warning\", \"danger\", or none for neutral.\n */\nexport const useToastManager = BaseToast.useToastManager;\n\n/** A manager for code outside React. Pass it to `Provider` as `toastManager`. */\nexport const createToastManager = BaseToast.createToastManager;\n\nexport interface ViewportProps extends BaseToast.Viewport.Props {\n /** Where the toasts are portaled to. Default `document.body`. */\n container?: BaseToast.Portal.Props['container'];\n /** The accessible name of each toast's X button. Default \"Close\". */\n closeLabel?: string;\n}\n\n/** Shows the toasts: bottom-right, or bottom-center below `breakpoint-sm`. Render it once, inside Provider. */\nexport const Viewport = forwardRef<HTMLDivElement, ViewportProps>(function ToastViewport({ container, closeLabel = 'Close', className, ...props }, ref) {\n return (\n <BaseToast.Portal container={container}>\n <BaseToast.Viewport ref={ref} {...props} className={withClass('mu-toast-viewport', className)}>\n <ToastList closeLabel={closeLabel} />\n </BaseToast.Viewport>\n </BaseToast.Portal>\n );\n});\n\nconst icons = { neutral: Info, success: CircleCheck, warning: TriangleAlert, danger: CircleAlert };\n\nconst toneOf = (type: string | undefined): Tone => (type === 'success' || type === 'warning' || type === 'danger' ? type : 'neutral');\n\nfunction ToastList({ closeLabel }: { closeLabel: string }) {\n const { toasts } = BaseToast.useToastManager();\n return toasts.map((toast) => {\n const tone = toneOf(toast.type);\n const Icon = icons[tone];\n return (\n <BaseToast.Root key={toast.id} toast={toast} className={cx('mu-toast mu-popup mu-base mu-s-md', `mu-toast-${tone}`)}>\n <BaseToast.Content className=\"mu-toast-content\">\n <Icon className=\"mu-toast-icon\" aria-hidden />\n <div className=\"mu-toast-text\">\n <BaseToast.Title className=\"mu-toast-title mu-label\" />\n <BaseToast.Description className=\"mu-toast-description mu-body-sm\" />\n </div>\n <BaseToast.Action className={cx('mu-toast-action', buttonClasses({ variant: 'neutral', size: 'sm' }))} />\n <BaseToast.Close className=\"mu-toast-close\" render={<Button variant=\"ghost\" size=\"sm\" icon={<X />} aria-label={closeLabel} />} />\n </BaseToast.Content>\n </BaseToast.Root>\n );\n });\n}\n", "import { Toggle as BaseToggle } from '@base-ui/react/toggle';\nimport { forwardRef, type ReactNode } from 'react';\nimport { withClass } from '../../internal/class-name';\nimport { useSize } from '../../internal/size';\nimport type { IconElement, Size } from '../../types';\n\nexport interface ToggleProps extends BaseToggle.Props {\n size?: Size;\n /** A Lucide element before the label. With no children the toggle is square and needs `aria-label`. */\n icon?: IconElement;\n children?: ReactNode;\n}\n\n/** Turns one option on or off and stays pressed while on. Also the item of a ToggleGroup. */\nexport const Toggle = forwardRef<HTMLButtonElement, ToggleProps>(function Toggle({ size, icon, className, children, ...props }, ref) {\n const resolved = useSize(size);\n const iconOnly = icon !== undefined && (children === undefined || children === null || children === false);\n return (\n <BaseToggle ref={ref} {...props} className={withClass(`mu-toggle${iconOnly ? ' mu-toggle-icon' : ''} mu-base mu-s-${resolved} mu-focus mu-hit`, className)}>\n {icon}\n {iconOnly ? null : <span className=\"mu-toggle-label\">{children}</span>}\n </BaseToggle>\n );\n});\n", "import { ToggleGroup as BaseToggleGroup } from '@base-ui/react/toggle-group';\nimport { forwardRef, useCallback, useLayoutEffect, useRef, type ReactNode } from 'react';\nimport { withClass } from '../../internal/class-name';\nimport { SizeContext, useSize } from '../../internal/size';\nimport type { Size } from '../../types';\n\nexport interface ToggleGroupProps extends BaseToggleGroup.Props {\n size?: Size;\n children?: ReactNode;\n}\n\n/**\n * A row of Toggles. With `multiple` it is a toolbar of independent on/off\n * toggles. Without it, one choice among peers: a well with one sliding key,\n * the same control as Tabs.\n */\nexport const ToggleGroup = forwardRef<HTMLDivElement, ToggleGroupProps>(function ToggleGroup({ size, multiple = false, className, children, ...props }, forwardedRef) {\n const resolved = useSize(size);\n const root = useRef<HTMLDivElement | null>(null);\n const setRef = useCallback(\n (node: HTMLDivElement | null) => {\n root.current = node;\n if (typeof forwardedRef === 'function') forwardedRef(node);\n else if (forwardedRef) forwardedRef.current = node;\n },\n [forwardedRef],\n );\n useSlidingKey(root, !multiple);\n return (\n <SizeContext.Provider value={resolved}>\n <BaseToggleGroup\n ref={setRef}\n multiple={multiple}\n {...props}\n className={withClass(multiple ? `mu-toggle-group mu-s-${resolved}` : `mu-toggle-group mu-segmented mu-base mu-s-${resolved}`, className)}\n >\n {multiple ? null : <span className=\"mu-segmented-key\" aria-hidden />}\n {children}\n </BaseToggleGroup>\n </SizeContext.Provider>\n );\n});\n\n/** Measures the pressed toggle and moves the key under it, as Base UI's Tabs.Indicator does for tabs. */\nfunction useSlidingKey(root: { current: HTMLDivElement | null }, enabled: boolean) {\n useLayoutEffect(() => {\n const element = root.current;\n if (!enabled || !element) return;\n const place = () => {\n const pressed = element.querySelector<HTMLElement>(':scope > .mu-toggle[data-pressed]');\n if (pressed) {\n element.style.setProperty('--key-left', `${pressed.offsetLeft}px`);\n element.style.setProperty('--key-width', `${pressed.offsetWidth}px`);\n element.dataset.keyed = '';\n } else {\n delete element.dataset.keyed;\n }\n };\n place();\n const mutations = new MutationObserver(place);\n mutations.observe(element, { subtree: true, attributes: true, attributeFilter: ['data-pressed'], childList: true });\n const resizes = new ResizeObserver(place);\n resizes.observe(element);\n for (const child of element.children) resizes.observe(child);\n return () => {\n mutations.disconnect();\n resizes.disconnect();\n };\n }, [root, enabled]);\n}\n", "import { Tooltip as BaseTooltip } from '@base-ui/react/tooltip';\nimport { forwardRef, type ReactNode } from 'react';\nimport { withClass } from '../../internal/class-name';\nimport { splitPositioner } from '../../internal/popup';\n\nexport type ProviderProps = BaseTooltip.Provider.Props;\n\n/** Shares the hover delay between tooltips, so moving from one trigger to the next opens at once. */\nexport const Provider = BaseTooltip.Provider;\n\nexport type RootProps = BaseTooltip.Root.Props;\n\n/** Groups a trigger and its tooltip. */\nexport const Root = BaseTooltip.Root;\n\nexport interface TriggerProps extends BaseTooltip.Trigger.Props {\n /** Hover time before the tooltip opens, in ms. Default 400. */\n delay?: number;\n}\n\n/** The control the tooltip names. Usually `render={<Button icon={...} aria-label=\"...\" />}`. */\nexport const Trigger = forwardRef<HTMLButtonElement, TriggerProps>(function TooltipTrigger({ delay = 400, className, ...props }, ref) {\n return <BaseTooltip.Trigger ref={ref} delay={delay} {...props} className={withClass('mu-tooltip-trigger', className)} />;\n});\n\ntype PositionerProps = Pick<\n BaseTooltip.Positioner.Props,\n 'side' | 'align' | 'sideOffset' | 'alignOffset' | 'collisionPadding' | 'collisionAvoidance' | 'collisionBoundary' | 'sticky' | 'anchor' | 'positionMethod' | 'disableAnchorTracking'\n>;\n\nexport interface PopupProps extends BaseTooltip.Popup.Props, PositionerProps {\n /** A keyboard shortcut shown after the label, such as \"\u2318 K\". */\n shortcut?: ReactNode;\n /** Where the tooltip is portaled to. Default `document.body`. */\n container?: BaseTooltip.Portal.Props['container'];\n}\n\n/** The label: two or three words, the same text as the trigger's `aria-label`. */\nexport const Popup = forwardRef<HTMLDivElement, PopupProps>(function TooltipPopup({ container, shortcut, className, children, ...props }, ref) {\n const [positioner, rest] = splitPositioner(props);\n return (\n <BaseTooltip.Portal container={container}>\n <BaseTooltip.Positioner sideOffset={6} {...positioner} className=\"mu-positioner\">\n <BaseTooltip.Popup ref={ref} {...rest} className={withClass('mu-tooltip-popup mu-popup-motion mu-label-sm', className)}>\n {children}\n {shortcut !== undefined ? <span className=\"mu-tooltip-shortcut\">{shortcut}</span> : null}\n </BaseTooltip.Popup>\n </BaseTooltip.Positioner>\n </BaseTooltip.Portal>\n );\n});\n"],
5
- "mappings": "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",
6
- "names": ["alert_dialog_exports", "__export", "Close", "Description", "Footer", "Popup", "Root", "Title", "Trigger", "BaseAlertDialog", "X", "forwardRef", "cx", "names", "withClass", "ours", "theirs", "state", "BaseButton", "forwardRef", "createContext", "useContext", "SizeContext", "useSize", "size", "inherited", "jsx", "jsxs", "buttonClasses", "variant", "size", "iconOnly", "cx", "Button", "forwardRef", "icon", "loading", "loadingLabel", "disabled", "focusableWhenDisabled", "className", "children", "props", "ref", "resolved", "useSize", "BaseButton", "withClass", "jsx", "jsxs", "createDialogParts", "Base", "name", "closeButton", "Trigger", "forwardRef", "className", "props", "ref", "withClass", "Popup", "container", "sheet", "closeLabel", "children", "cx", "Button", "X", "Title", "Description", "Close", "Footer", "parts", "createDialogParts", "BaseAlertDialog", "Root", "Trigger", "Popup", "Title", "Description", "Close", "Footer", "avatar_exports", "__export", "Fallback", "Image", "Root", "BaseAvatar", "forwardRef", "jsx", "Root", "forwardRef", "size", "className", "props", "ref", "resolved", "useSize", "BaseAvatar", "withClass", "Image", "Fallback", "mergeProps", "useRender", "forwardRef", "Fragment", "jsxs", "Badge", "tone", "icon", "render", "children", "props", "ref", "BaseCheckbox", "Check", "Minus", "forwardRef", "jsx", "Checkbox", "forwardRef", "size", "className", "props", "ref", "resolved", "useSize", "BaseCheckbox", "withClass", "indicatorProps", "state", "Minus", "Check", "collapsible_exports", "__export", "Panel", "Root", "Trigger", "BaseCollapsible", "ChevronDown", "forwardRef", "jsx", "jsxs", "Root", "forwardRef", "size", "className", "props", "ref", "resolved", "useSize", "SizeContext", "BaseCollapsible", "withClass", "Trigger", "children", "buttonClasses", "ChevronDown", "Panel", "combobox_exports", "__export", "Collection", "Empty", "Group", "GroupLabel", "Input", "Item", "List", "Popup", "Root", "Separator", "useFilter", "BaseCombobox", "Check", "ChevronsUpDown", "Search", "forwardRef", "positionerKeys", "splitPositioner", "props", "positioner", "rest", "key", "value", "jsx", "jsxs", "Collection", "BaseCombobox", "useFilter", "Root", "size", "props", "resolved", "useSize", "SizeContext", "Input", "forwardRef", "icon", "Search", "triggerLabel", "className", "style", "ref", "cx", "ChevronsUpDown", "Popup", "container", "positioner", "rest", "splitPositioner", "withClass", "List", "Item", "children", "Check", "Empty", "Group", "GroupLabel", "Separator", "dialog_exports", "__export", "Close", "Description", "Footer", "Popup", "Root", "Title", "Trigger", "BaseDialog", "parts", "createDialogParts", "BaseDialog", "Root", "Trigger", "Popup", "Title", "Description", "Close", "Footer", "field_exports", "__export", "Description", "Error", "Item", "Label", "Root", "BaseField", "CircleAlert", "forwardRef", "jsx", "jsxs", "Root", "forwardRef", "size", "className", "props", "ref", "resolved", "useSize", "SizeContext", "BaseField", "withClass", "Label", "Item", "Description", "Error", "children", "CircleAlert", "fieldset_exports", "__export", "Legend", "Root", "BaseFieldset", "forwardRef", "jsx", "Root", "forwardRef", "size", "className", "props", "ref", "resolved", "useSize", "SizeContext", "BaseFieldset", "withClass", "Legend", "BaseInput", "forwardRef", "jsx", "jsxs", "Input", "forwardRef", "size", "prefix", "suffix", "className", "style", "props", "ref", "resolved", "useSize", "cx", "BaseInput", "mergeProps", "useRender", "forwardRef", "Kbd", "render", "props", "ref", "mergeProps", "useRender", "ArrowUpRight", "forwardRef", "Fragment", "jsx", "jsxs", "Link", "muted", "external", "underline", "render", "children", "props", "ref", "menu_exports", "__export", "CheckboxItem", "Group", "GroupLabel", "Item", "Popup", "RadioGroup", "RadioItem", "Root", "Separator", "SubmenuRoot", "SubmenuTrigger", "Trigger", "BaseMenu", "Check", "ChevronRight", "forwardRef", "Fragment", "jsx", "jsxs", "Root", "size", "props", "resolved", "useSize", "SizeContext", "BaseMenu", "Trigger", "forwardRef", "className", "ref", "withClass", "Popup", "container", "positioner", "rest", "splitPositioner", "Row", "icon", "shortcut", "children", "Item", "danger", "CheckboxItem", "Check", "RadioGroup", "RadioItem", "Group", "GroupLabel", "Separator", "SubmenuRoot", "SubmenuTrigger", "ChevronRight", "popover_exports", "__export", "Close", "Description", "Popup", "Root", "Title", "Trigger", "BasePopover", "forwardRef", "jsx", "Root", "BasePopover", "Trigger", "forwardRef", "className", "props", "ref", "withClass", "Popup", "container", "positioner", "rest", "splitPositioner", "Title", "Description", "Close", "forwardRef", "jsx", "Prose", "forwardRef", "size", "className", "props", "ref", "cx", "BaseRadio", "BaseRadioGroup", "forwardRef", "jsx", "RadioGroup", "forwardRef", "size", "orientation", "className", "props", "ref", "resolved", "useSize", "SizeContext", "BaseRadioGroup", "withClass", "Radio", "BaseRadio", "select_exports", "__export", "Group", "GroupLabel", "Item", "Popup", "Root", "Separator", "Trigger", "Value", "BaseSelect", "Check", "ChevronDown", "ChevronsUpDown", "ChevronUp", "forwardRef", "jsx", "jsxs", "Root", "size", "props", "resolved", "useSize", "SizeContext", "BaseSelect", "Trigger", "forwardRef", "className", "children", "ref", "withClass", "buttonClasses", "ChevronsUpDown", "Value", "Popup", "container", "positioner", "rest", "splitPositioner", "arrowProps", "ChevronUp", "ChevronDown", "Item", "icon", "Check", "Group", "GroupLabel", "Separator", "BaseSeparator", "forwardRef", "jsx", "Separator", "forwardRef", "className", "props", "ref", "BaseSeparator", "withClass", "mergeProps", "useRender", "forwardRef", "Skeleton", "forwardRef", "width", "height", "round", "size", "render", "props", "ref", "resolved", "useSize", "useRender", "mergeProps", "mergeProps", "useRender", "forwardRef", "Spinner", "forwardRef", "size", "label", "render", "props", "ref", "resolved", "useSize", "useRender", "mergeProps", "BaseSwitch", "forwardRef", "jsx", "Switch", "forwardRef", "size", "className", "props", "ref", "resolved", "useSize", "BaseSwitch", "withClass", "table_exports", "__export", "Body", "Caption", "Cell", "Head", "Header", "Root", "Row", "forwardRef", "jsx", "bodyText", "Root", "forwardRef", "size", "className", "props", "ref", "resolved", "useSize", "SizeContext", "cx", "Header", "Body", "Row", "Head", "num", "scope", "Cell", "muted", "Caption", "tabs_exports", "__export", "List", "Panel", "Root", "Tab", "BaseTabs", "forwardRef", "jsx", "jsxs", "Root", "forwardRef", "size", "className", "props", "ref", "resolved", "useSize", "SizeContext", "BaseTabs", "withClass", "List", "children", "Tab", "icon", "Panel", "BaseField", "forwardRef", "jsx", "Textarea", "forwardRef", "size", "rows", "className", "props", "ref", "resolved", "useSize", "BaseField", "withClass", "toast_exports", "__export", "Provider", "Viewport", "createToastManager", "useToastManager", "BaseToast", "CircleAlert", "CircleCheck", "Info", "TriangleAlert", "X", "forwardRef", "jsx", "jsxs", "Provider", "BaseToast", "useToastManager", "createToastManager", "Viewport", "forwardRef", "container", "closeLabel", "className", "props", "ref", "withClass", "ToastList", "icons", "Info", "CircleCheck", "TriangleAlert", "CircleAlert", "toneOf", "type", "toasts", "toast", "tone", "Icon", "cx", "buttonClasses", "Button", "X", "BaseToggle", "forwardRef", "jsx", "jsxs", "Toggle", "forwardRef", "size", "icon", "className", "children", "props", "ref", "resolved", "useSize", "iconOnly", "BaseToggle", "withClass", "BaseToggleGroup", "forwardRef", "useCallback", "useLayoutEffect", "useRef", "jsx", "jsxs", "ToggleGroup", "forwardRef", "size", "multiple", "className", "children", "props", "forwardedRef", "resolved", "useSize", "root", "useRef", "setRef", "useCallback", "node", "useSlidingKey", "SizeContext", "BaseToggleGroup", "withClass", "enabled", "useLayoutEffect", "element", "place", "pressed", "mutations", "resizes", "child", "tooltip_exports", "__export", "Popup", "Provider", "Root", "Trigger", "BaseTooltip", "forwardRef", "jsx", "jsxs", "Provider", "BaseTooltip", "Root", "Trigger", "forwardRef", "delay", "className", "props", "ref", "withClass", "Popup", "container", "shortcut", "children", "positioner", "rest", "splitPositioner"]
3
+ "sources": ["../src/index.ts"],
4
+ "sourcesContent": ["export type { IconElement, Size, Tone } from './types';\n\nexport * as AlertDialog from './components/dialog/alert-dialog';\nexport * as Avatar from './components/avatar';\nexport { Badge, type BadgeProps } from './components/badge';\nexport { Button, buttonClasses, type ButtonClassesOptions, type ButtonProps, type ButtonVariant } from './components/button';\nexport { Checkbox, type CheckboxProps } from './components/checkbox';\nexport * as Collapsible from './components/collapsible';\nexport * as Combobox from './components/combobox';\nexport * as Dialog from './components/dialog';\nexport * as Field from './components/field';\nexport * as Fieldset from './components/field/fieldset';\nexport { Input, type InputProps } from './components/input';\nexport { Kbd, type KbdProps } from './components/kbd';\nexport { Link, type LinkProps } from './components/link';\nexport * as Menu from './components/menu';\nexport * as Popover from './components/popover';\nexport { Prose, type ProseProps } from './components/prose';\nexport { Radio, RadioGroup, type RadioGroupProps, type RadioProps } from './components/radio-group';\nexport * as Select from './components/select';\nexport { Separator, type SeparatorProps } from './components/separator';\nexport { Skeleton, type SkeletonProps } from './components/skeleton';\nexport { Spinner, type SpinnerProps } from './components/spinner';\nexport { Switch, type SwitchProps } from './components/switch';\nexport * as Table from './components/table';\nexport * as Tabs from './components/tabs';\nexport { Textarea, type TextareaProps } from './components/textarea';\nexport * as Toast from './components/toast';\nexport { Toggle, type ToggleProps } from './components/toggle';\nexport { ToggleGroup, type ToggleGroupProps } from './components/toggle-group';\nexport * as Tooltip from './components/tooltip';\n"],
5
+ "mappings": ";AAEA,UAAYA,MAAiB,sCAC7B,UAAYC,MAAY,+BACxB,OAAS,SAAAC,MAA8B,8BACvC,OAAS,UAAAC,EAAQ,iBAAAC,MAAsF,+BACvG,OAAS,YAAAC,MAAoC,iCAC7C,UAAYC,MAAiB,oCAC7B,UAAYC,MAAc,iCAC1B,UAAYC,MAAY,+BACxB,UAAYC,MAAW,8BACvB,UAAYC,MAAc,iCAC1B,OAAS,SAAAC,MAA8B,8BACvC,OAAS,OAAAC,MAA0B,4BACnC,OAAS,QAAAC,MAA4B,6BACrC,UAAYC,MAAU,6BACtB,UAAYC,MAAa,gCACzB,OAAS,SAAAC,MAA8B,8BACvC,OAAS,SAAAC,EAAO,cAAAC,MAAyD,oCACzE,UAAYC,MAAY,+BACxB,OAAS,aAAAC,MAAsC,kCAC/C,OAAS,YAAAC,MAAoC,iCAC7C,OAAS,WAAAC,MAAkC,gCAC3C,OAAS,UAAAC,MAAgC,+BACzC,UAAYC,MAAW,8BACvB,UAAYC,MAAU,6BACtB,OAAS,YAAAC,MAAoC,iCAC7C,UAAYC,MAAW,8BACvB,OAAS,UAAAC,MAAgC,+BACzC,OAAS,eAAAC,MAA0C,qCACnD,UAAYC,MAAa",
6
+ "names": ["AlertDialog", "Avatar", "Badge", "Button", "buttonClasses", "Checkbox", "Collapsible", "Combobox", "Dialog", "Field", "Fieldset", "Input", "Kbd", "Link", "Menu", "Popover", "Prose", "Radio", "RadioGroup", "Select", "Separator", "Skeleton", "Spinner", "Switch", "Table", "Tabs", "Textarea", "Toast", "Toggle", "ToggleGroup", "Tooltip"]
7
7
  }
@@ -0,0 +1,3 @@
1
+ 'use client';
2
+ function e(...n){return n.filter(Boolean).join(" ")}function f(n,t){return typeof t=="function"?i=>e(n,t(i)):e(n,t)}export{e as cx,f as withClass};
3
+ //# sourceMappingURL=class-name.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/internal/class-name.ts"],
4
+ "sourcesContent": ["/** Joins class names, skipping empty ones. */\nexport function cx(...names: (string | false | null | undefined)[]) {\n return names.filter(Boolean).join(' ');\n}\n\n/**\n * Puts our classes before the app's `className`, which Base UI lets be a\n * function of the part's state.\n */\nexport function withClass<State>(ours: string, theirs: string | ((state: State) => string | undefined) | undefined) {\n if (typeof theirs === 'function') return (state: State) => cx(ours, theirs(state));\n return cx(ours, theirs);\n}\n"],
5
+ "mappings": ";AACO,SAASA,KAAMC,EAA8C,CAClE,OAAOA,EAAM,OAAO,OAAO,EAAE,KAAK,GAAG,CACvC,CAMO,SAASC,EAAiBC,EAAcC,EAAqE,CAClH,OAAI,OAAOA,GAAW,WAAoBC,GAAiBL,EAAGG,EAAMC,EAAOC,CAAK,CAAC,EAC1EL,EAAGG,EAAMC,CAAM,CACxB",
6
+ "names": ["cx", "names", "withClass", "ours", "theirs", "state"]
7
+ }
@@ -0,0 +1,3 @@
1
+ 'use client';
2
+ var t=["side","align","sideOffset","alignOffset","collisionPadding","collisionAvoidance","collisionBoundary","sticky","anchor","positionMethod","arrowPadding","disableAnchorTracking","alignItemWithTrigger"];function r(s){let i={},e={};for(let[o,n]of Object.entries(s))t.includes(o)?n!==void 0&&(i[o]=n):e[o]=n;return[i,e]}export{r as splitPositioner};
3
+ //# sourceMappingURL=popup.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/internal/popup.tsx"],
4
+ "sourcesContent": ["/** Base UI's Positioner props that every folded `Popup` part accepts. */\nconst positionerKeys = [\n 'side',\n 'align',\n 'sideOffset',\n 'alignOffset',\n 'collisionPadding',\n 'collisionAvoidance',\n 'collisionBoundary',\n 'sticky',\n 'anchor',\n 'positionMethod',\n 'arrowPadding',\n 'disableAnchorTracking',\n 'alignItemWithTrigger',\n] as const;\n\ntype PositionerKey = (typeof positionerKeys)[number];\n\n/**\n * Splits a folded Popup's props into the ones for Base UI's Positioner and\n * the rest, for its Popup.\n */\nexport function splitPositioner<Props extends object>(props: Props) {\n const positioner: Record<string, unknown> = {};\n const rest: Record<string, unknown> = {};\n for (const [key, value] of Object.entries(props)) {\n if ((positionerKeys as readonly string[]).includes(key)) {\n if (value !== undefined) positioner[key] = value;\n } else {\n rest[key] = value;\n }\n }\n return [positioner, rest as Omit<Props, PositionerKey>] as const;\n}\n"],
5
+ "mappings": ";AACA,IAAMA,EAAiB,CACrB,OACA,QACA,aACA,cACA,mBACA,qBACA,oBACA,SACA,SACA,iBACA,eACA,wBACA,sBACF,EAQO,SAASC,EAAsCC,EAAc,CAClE,IAAMC,EAAsC,CAAC,EACvCC,EAAgC,CAAC,EACvC,OAAW,CAACC,EAAKC,CAAK,IAAK,OAAO,QAAQJ,CAAK,EACxCF,EAAqC,SAASK,CAAG,EAChDC,IAAU,SAAWH,EAAWE,CAAG,EAAIC,GAE3CF,EAAKC,CAAG,EAAIC,EAGhB,MAAO,CAACH,EAAYC,CAAkC,CACxD",
6
+ "names": ["positionerKeys", "splitPositioner", "props", "positioner", "rest", "key", "value"]
7
+ }
@@ -0,0 +1,3 @@
1
+ 'use client';
2
+ import{createContext as i,useContext as n}from"react";var o=i(void 0);function d(e){let t=n(o);return e??t??"md"}export{o as SizeContext,d as useSize};
3
+ //# sourceMappingURL=size.js.map