@usememos/ui 26.10.2 → 26.10.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -1
- package/dist/components/avatar/index.js +3 -0
- package/dist/components/avatar/index.js.map +7 -0
- package/dist/components/badge/index.js +3 -0
- package/dist/components/badge/index.js.map +7 -0
- package/dist/components/button/index.js +3 -0
- package/dist/components/button/index.js.map +7 -0
- package/dist/components/checkbox/index.js +3 -0
- package/dist/components/checkbox/index.js.map +7 -0
- package/dist/components/collapsible/index.js +3 -0
- package/dist/components/collapsible/index.js.map +7 -0
- package/dist/components/combobox/index.js +3 -0
- package/dist/components/combobox/index.js.map +7 -0
- package/dist/components/dialog/alert-dialog.js +3 -0
- package/dist/components/dialog/alert-dialog.js.map +7 -0
- package/dist/components/dialog/index.js +3 -0
- package/dist/components/dialog/index.js.map +7 -0
- package/dist/components/dialog/parts.js +3 -0
- package/dist/components/dialog/parts.js.map +7 -0
- package/dist/components/field/fieldset.js +3 -0
- package/dist/components/field/fieldset.js.map +7 -0
- package/dist/components/field/index.js +3 -0
- package/dist/components/field/index.js.map +7 -0
- package/dist/components/input/index.js +3 -0
- package/dist/components/input/index.js.map +7 -0
- package/dist/components/kbd/index.js +3 -0
- package/dist/components/kbd/index.js.map +7 -0
- package/dist/components/link/index.js +3 -0
- package/dist/components/link/index.js.map +7 -0
- package/dist/components/menu/classes.js +3 -0
- package/dist/components/menu/classes.js.map +7 -0
- package/dist/components/menu/index.js +3 -0
- package/dist/components/menu/index.js.map +7 -0
- package/dist/components/popover/classes.js +3 -0
- package/dist/components/popover/classes.js.map +7 -0
- package/dist/components/popover/index.js +3 -0
- package/dist/components/popover/index.js.map +7 -0
- package/dist/components/prose/index.js +3 -0
- package/dist/components/prose/index.js.map +7 -0
- package/dist/components/radio-group/index.js +3 -0
- package/dist/components/radio-group/index.js.map +7 -0
- package/dist/components/select/index.js +3 -0
- package/dist/components/select/index.js.map +7 -0
- package/dist/components/separator/index.js +3 -0
- package/dist/components/separator/index.js.map +7 -0
- package/dist/components/skeleton/index.js +3 -0
- package/dist/components/skeleton/index.js.map +7 -0
- package/dist/components/spinner/index.js +3 -0
- package/dist/components/spinner/index.js.map +7 -0
- package/dist/components/switch/index.js +3 -0
- package/dist/components/switch/index.js.map +7 -0
- package/dist/components/table/index.js +3 -0
- package/dist/components/table/index.js.map +7 -0
- package/dist/components/tabs/index.js +3 -0
- package/dist/components/tabs/index.js.map +7 -0
- package/dist/components/textarea/index.js +3 -0
- package/dist/components/textarea/index.js.map +7 -0
- package/dist/components/toast/index.js +3 -0
- package/dist/components/toast/index.js.map +7 -0
- package/dist/components/toggle/index.js +3 -0
- package/dist/components/toggle/index.js.map +7 -0
- package/dist/components/toggle-group/index.js +3 -0
- package/dist/components/toggle-group/index.js.map +7 -0
- package/dist/components/tooltip/index.js +3 -0
- package/dist/components/tooltip/index.js.map +7 -0
- package/dist/index.js +1 -1
- package/dist/index.js.map +4 -4
- package/dist/internal/class-name.js +3 -0
- package/dist/internal/class-name.js.map +7 -0
- package/dist/internal/popup.js +3 -0
- package/dist/internal/popup.js.map +7 -0
- package/dist/internal/size.js +3 -0
- package/dist/internal/size.js.map +7 -0
- package/dist/styles.css +1 -1
- package/dist/tailwind.css +66 -0
- package/dist/theme-tokens.js +3 -0
- package/dist/theme-tokens.js.map +7 -0
- package/dist/tokens.css +1 -1
- package/dist/types/components/badge/index.d.ts +9 -0
- package/dist/types/components/collapsible/index.d.ts +1 -1
- package/dist/types/components/combobox/index.d.ts +2 -2
- package/dist/types/components/field/fieldset.d.ts +1 -1
- package/dist/types/components/field/index.d.ts +1 -1
- package/dist/types/components/input/index.d.ts +11 -1
- package/dist/types/components/menu/classes.d.ts +28 -0
- package/dist/types/components/menu/index.d.ts +2 -2
- package/dist/types/components/popover/classes.d.ts +14 -0
- package/dist/types/components/popover/index.d.ts +1 -1
- package/dist/types/components/select/index.d.ts +2 -2
- package/dist/types/components/spinner/index.d.ts +1 -1
- package/dist/types/components/table/index.d.ts +1 -1
- package/dist/types/components/tabs/index.d.ts +1 -1
- package/dist/types/components/textarea/index.d.ts +11 -1
- package/dist/types/components/tooltip/index.d.ts +1 -1
- package/dist/types/index.d.ts +6 -3
- package/dist/types/internal/popup.d.ts +2 -2
- package/dist/types/internal/size.d.ts +2 -0
- package/dist/types/theme-tokens.d.ts +7 -0
- package/dist/types/types.d.ts +6 -2
- package/dist/types.js +2 -0
- package/dist/types.js.map +7 -0
- package/llms-full.txt +305 -87
- package/llms.txt +1 -0
- package/package.json +3 -4
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import{mergeProps as t}from"@base-ui/react/merge-props";import{useRender as i}from"@base-ui/react/use-render";import{forwardRef as a}from"react";import{useSize as m}from"../../internal/size.js";var c=a(function({size:e,label:r="Loading",render:n,...o},p){let s=m(e);return i({defaultTagName:"span",render:n,ref:p,props:t({className:`mu-spinner mu-s-${s}`,role:"status","aria-label":r},o)})});export{c as Spinner};
|
|
3
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/components/spinner/index.tsx"],
|
|
4
|
+
"sourcesContent": ["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 /** 12, 14 or 16px. 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"],
|
|
5
|
+
"mappings": ";AAAA,OAAS,cAAAA,MAAkB,6BAC3B,OAAS,aAAAC,MAAiB,4BAC1B,OAAS,cAAAC,MAAkB,QAC3B,OAAS,WAAAC,MAAe,yBAWjB,IAAMC,EAAUF,EAA0C,SAAiB,CAAE,KAAAG,EAAM,MAAAC,EAAQ,UAAW,OAAAC,EAAQ,GAAGC,CAAM,EAAGC,EAAK,CACpI,IAAMC,EAAWP,EAAQE,CAAI,EAC7B,OAAOJ,EAAU,CACf,eAAgB,OAChB,OAAAM,EACA,IAAAE,EACA,MAAOT,EAAmB,CAAE,UAAW,mBAAmBU,CAAQ,GAAI,KAAM,SAAU,aAAcJ,CAAM,EAAGE,CAAK,CACpH,CAAC,CACH,CAAC",
|
|
6
|
+
"names": ["mergeProps", "useRender", "forwardRef", "useSize", "Spinner", "size", "label", "render", "props", "ref", "resolved"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import{Switch as t}from"@base-ui/react/switch";import{forwardRef as c}from"react";import{withClass as h}from"../../internal/class-name.js";import{useSize as p}from"../../internal/size.js";import{jsx as o}from"react/jsx-runtime";var n=c(function({size:e,className:s,...i},r){let m=p(e);return o(t.Root,{ref:r,...i,className:h(`mu-switch mu-s-${m} mu-focus mu-hit`,s),children:o(t.Thumb,{className:"mu-switch-thumb"})})});export{n as Switch};
|
|
3
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/components/switch/index.tsx"],
|
|
4
|
+
"sourcesContent": ["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"],
|
|
5
|
+
"mappings": ";AAAA,OAAS,UAAUA,MAAkB,wBACrC,OAAS,cAAAC,MAAkB,QAC3B,OAAS,aAAAC,MAAiB,+BAC1B,OAAS,WAAAC,MAAe,yBAgBlB,cAAAC,MAAA,oBAJC,IAAMC,EAASJ,EAAqC,SAAgB,CAAE,KAAAK,EAAM,UAAAC,EAAW,GAAGC,CAAM,EAAGC,EAAK,CAC7G,IAAMC,EAAWP,EAAQG,CAAI,EAC7B,OACEF,EAACJ,EAAW,KAAX,CAAgB,IAAKS,EAAM,GAAGD,EAAO,UAAWN,EAAU,kBAAkBQ,CAAQ,mBAAoBH,CAAS,EAChH,SAAAH,EAACJ,EAAW,MAAX,CAAiB,UAAU,kBAAkB,EAChD,CAEJ,CAAC",
|
|
6
|
+
"names": ["BaseSwitch", "forwardRef", "withClass", "useSize", "jsx", "Switch", "size", "className", "props", "ref", "resolved"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import{forwardRef as a}from"react";import{cx as l}from"../../internal/class-name.js";import{SizeContext as m,useRowSize as i}from"../../internal/size.js";import{jsx as n}from"react/jsx-runtime";var u={sm:"mu-caption",md:"mu-body"},b=a(function({size:e,className:o,...t},p){let r=i(e);return n(m.Provider,{value:r,children:n("div",{className:"mu-table-scroll",children:n("table",{ref:p,...t,className:l("mu-table mu-base",`mu-s-${r}`,u[r],o)})})})}),x=a(function({className:e,...o},t){return n("thead",{ref:t,...o,className:l("mu-table-header",e)})}),P=a(function({className:e,...o},t){return n("tbody",{ref:t,...o,className:l("mu-table-body",e)})}),T=a(function({className:e,...o},t){return n("tr",{ref:t,...o,className:l("mu-table-row",e)})}),C=a(function({num:e=!1,scope:o="col",className:t,...p},r){return n("th",{ref:r,scope:o,...p,className:l("mu-table-head mu-label-sm",e&&"mu-table-num",t)})}),R=a(function({num:e=!1,muted:o=!1,className:t,...p},r){return n("td",{ref:r,...p,className:l("mu-table-cell",e&&"mu-table-num",o&&"mu-table-muted",t)})}),H=a(function({className:e,...o},t){return n("caption",{ref:t,...o,className:l("mu-table-caption mu-caption",e)})});export{P as Body,H as Caption,R as Cell,C as Head,x as Header,b as Root,T as Row};
|
|
3
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -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, useRowSize } from '../../internal/size';\nimport type { Size } from '../../types';\n\nconst bodyText: Record<Exclude<Size, 'xs'>, string> = { sm: 'mu-caption', md: 'mu-body' };\n\nexport interface RootProps extends ComponentPropsWithoutRef<'table'> {\n /** `sm` for dense admin lists. Sets row height and cell text. */\n size?: Exclude<Size, 'xs'>;\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 = useRowSize(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,cAAAC,MAAkB,yBAoBhC,cAAAC,MAAA,oBAjBR,IAAMC,EAAgD,CAAE,GAAI,aAAc,GAAI,SAAU,EAY3EC,EAAON,EAAwC,SAAmB,CAAE,KAAAO,EAAM,UAAAC,EAAW,GAAGC,CAAM,EAAGC,EAAK,CACjH,IAAMC,EAAWR,EAAWI,CAAI,EAChC,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", "useRowSize", "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,useRowSize as p}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=p(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=p();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, useRowSize } from '../../internal/size';\nimport type { IconElement, Size } from '../../types';\n\nexport interface RootProps extends BaseTabs.Root.Props {\n size?: Exclude<Size, 'xs'>;\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 = useRowSize(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 = useRowSize();\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,cAAAC,MAAkB,yBAYlC,cAAAC,EAWF,QAAAC,MAXE,oBAJC,IAAMC,EAAON,EAAsC,SAAkB,CAAE,KAAAO,EAAM,UAAAC,EAAW,GAAGC,CAAM,EAAGC,EAAK,CAC9G,IAAMC,EAAWR,EAAWI,CAAI,EAChC,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,EAAW,EACxB,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", "useRowSize", "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 x}from"@base-ui/react/field";import{forwardRef as m}from"react";import{cx as p,withClass as l}from"../../internal/class-name.js";import{useRowSize as f}from"../../internal/size.js";import{jsx as r}from"react/jsx-runtime";function d({size:e="md"}={}){return p("mu-textarea","mu-base",`mu-s-${e}`)}var C=m(function({size:t,rows:s=3,className:a,...o},i){let n=f(t);return r(x.Control,{ref:i,...o,render:r("textarea",{rows:s}),className:l(d({size:n}),a)})});export{C as Textarea,d as textareaClasses};
|
|
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 { cx, withClass } from '../../internal/class-name';\nimport { useRowSize } from '../../internal/size';\nimport type { Size } from '../../types';\n\nexport interface TextareaProps extends Omit<BaseField.Control.Props, 'size' | 'render'> {\n size?: Exclude<Size, 'xs'>;\n /** Visible lines before it scrolls. Default 3. */\n rows?: number;\n}\n\nexport interface TextareaClassesOptions {\n size?: Exclude<Size, 'xs'>;\n}\n\n/**\n * The classes that make an element look like a Textarea. Use them on an app's\n * own multi-line field, such as a content-editable editor: focus shows the\n * ring, and `aria-invalid=\"true\"` or `aria-disabled=\"true\"` show those states.\n * See docs/custom-components.md.\n */\nexport function textareaClasses({ size = 'md' }: TextareaClassesOptions = {}) {\n return cx('mu-textarea', 'mu-base', `mu-s-${size}`);\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 = useRowSize(size);\n return (\n <BaseField.Control\n ref={ref as never}\n {...props}\n render={<textarea rows={rows} />}\n className={withClass(textareaClasses({ size: resolved }), className)}\n />\n );\n});\n"],
|
|
5
|
+
"mappings": ";AAAA,OAAS,SAASA,MAAiB,uBACnC,OAAS,cAAAC,MAAkB,QAC3B,OAAS,MAAAC,EAAI,aAAAC,MAAiB,+BAC9B,OAAS,cAAAC,MAAkB,yBA8Bb,cAAAC,MAAA,oBAXP,SAASC,EAAgB,CAAE,KAAAC,EAAO,IAAK,EAA4B,CAAC,EAAG,CAC5E,OAAOL,EAAG,cAAe,UAAW,QAAQK,CAAI,EAAE,CACpD,CAGO,IAAMC,EAAWP,EAA+C,SAAkB,CAAE,KAAAM,EAAM,KAAAE,EAAO,EAAG,UAAAC,EAAW,GAAGC,CAAM,EAAGC,EAAK,CACrI,IAAMC,EAAWT,EAAWG,CAAI,EAChC,OACEF,EAACL,EAAU,QAAV,CACC,IAAKY,EACJ,GAAGD,EACJ,OAAQN,EAAC,YAAS,KAAMI,EAAM,EAC9B,UAAWN,EAAUG,EAAgB,CAAE,KAAMO,CAAS,CAAC,EAAGH,CAAS,EACrE,CAEJ,CAAC",
|
|
6
|
+
"names": ["BaseField", "forwardRef", "cx", "withClass", "useRowSize", "jsx", "textareaClasses", "size", "Textarea", "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,A=t.createToastManager,R=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-caption"})]}),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,R as Viewport,A 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-caption\" />\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 m}from"../../internal/popup.js";import{jsx as t,jsxs as T}from"react/jsx-runtime";var x=o.Provider,y=o.Root,R=s(function({delay:e=400,className:r,...i},p){return t(o.Trigger,{ref:p,delay:e,...i,className:n("mu-tooltip-trigger",r)})}),v=s(function({container:e,shortcut:r,className:i,children:p,...l},P){let[c,u]=m(l);return t(o.Portal,{container:e,children:t(o.Positioner,{sideOffset:6,...c,className:"mu-positioner",children:T(o.Popup,{ref:P,...u,className:n("mu-tooltip-popup mu-popup-motion mu-label-sm",i),children:[p,r!==void 0?t("span",{className:"mu-tooltip-shortcut",children:r}):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' | '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{themeTokens as r}from"./theme-tokens.js";import*as p from"./components/dialog/alert-dialog.js";import*as t from"./components/avatar/index.js";import{Badge as a,badgeClasses as x}from"./components/badge/index.js";import{Button as f,buttonClasses as l}from"./components/button/index.js";import{Checkbox as y}from"./components/checkbox/index.js";import*as i from"./components/collapsible/index.js";import*as P from"./components/combobox/index.js";import*as u from"./components/dialog/index.js";import*as C from"./components/field/index.js";import*as g from"./components/field/fieldset.js";import{Input as d,inputClasses as b}from"./components/input/index.js";import{Kbd as k}from"./components/kbd/index.js";import{Link as c}from"./components/link/index.js";import*as h from"./components/menu/index.js";import{menuClasses as v}from"./components/menu/classes.js";import*as G from"./components/popover/index.js";import{popoverClasses as R}from"./components/popover/classes.js";import{Prose as w}from"./components/prose/index.js";import{Radio as D,RadioGroup as F}from"./components/radio-group/index.js";import*as K from"./components/select/index.js";import{Separator as z}from"./components/separator/index.js";import{Skeleton as V}from"./components/skeleton/index.js";import{Spinner as q}from"./components/spinner/index.js";import{Switch as J}from"./components/switch/index.js";import*as N from"./components/table/index.js";import*as Q from"./components/tabs/index.js";import{Textarea as W,textareaClasses as X}from"./components/textarea/index.js";import*as Y from"./components/toast/index.js";import{Toggle as _}from"./components/toggle/index.js";import{ToggleGroup as oo}from"./components/toggle-group/index.js";import*as eo from"./components/tooltip/index.js";export{p as AlertDialog,t as Avatar,a as Badge,f as Button,y as Checkbox,i as Collapsible,P as Combobox,u as Dialog,C as Field,g as Fieldset,d as Input,k as Kbd,c as Link,h as Menu,G as Popover,w as Prose,D as Radio,F as RadioGroup,K as Select,z as Separator,V as Skeleton,q as Spinner,J as Switch,N as Table,Q as Tabs,W as Textarea,Y as Toast,_ as Toggle,oo as ToggleGroup,eo as Tooltip,x as badgeClasses,l as buttonClasses,b as inputClasses,v as menuClasses,R as popoverClasses,X as textareaClasses,r as themeTokens};
|
|
3
3
|
//# sourceMappingURL=index.js.map
|