@uselets/ui 2.0.1 → 2.1.0
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 +8 -0
- package/dist/{as-child-Dxg3Xo1G.d.ts → as-child-T9W73ZYU.d.ts} +1 -3
- package/dist/{chart-B_6nC_ih.d.ts → chart-8rgtsk95.d.ts} +1 -3
- package/dist/checkbox-group-context-HDVxTNPi.js +2 -0
- package/dist/checkbox-group-context-HDVxTNPi.js.map +1 -0
- package/dist/cli/uselets.mjs.map +1 -1
- package/dist/combobox-styles-CZ0aJayc.js +2 -0
- package/dist/combobox-styles-CZ0aJayc.js.map +1 -0
- package/dist/components/accordion.d.ts +1 -3
- package/dist/components/accordion.js.map +1 -1
- package/dist/components/alert-dialog.d.ts +1 -3
- package/dist/components/alert-dialog.js.map +1 -1
- package/dist/components/alert.d.ts +0 -2
- package/dist/components/alert.js.map +1 -1
- package/dist/components/anchor.d.ts +1 -3
- package/dist/components/anchor.js.map +1 -1
- package/dist/components/area-chart.d.ts +1 -3
- package/dist/components/area-chart.js.map +1 -1
- package/dist/components/autocomplete.d.ts +46 -0
- package/dist/components/autocomplete.js +2 -0
- package/dist/components/autocomplete.js.map +1 -0
- package/dist/components/avatar.d.ts +1 -3
- package/dist/components/avatar.js.map +1 -1
- package/dist/components/badge.d.ts +1 -3
- package/dist/components/badge.js +1 -1
- package/dist/components/badge.js.map +1 -1
- package/dist/components/bar-chart.d.ts +1 -3
- package/dist/components/bar-chart.js.map +1 -1
- package/dist/components/bottom-nav.d.ts +1 -3
- package/dist/components/bottom-nav.js.map +1 -1
- package/dist/components/breadcrumb.d.ts +1 -3
- package/dist/components/breadcrumb.js.map +1 -1
- package/dist/components/button-group.d.ts +1 -3
- package/dist/components/button-group.js.map +1 -1
- package/dist/components/button.d.ts +1 -3
- package/dist/components/button.js +1 -1
- package/dist/components/button.js.map +1 -1
- package/dist/components/calendar.d.ts +0 -2
- package/dist/components/calendar.js +1 -1
- package/dist/components/calendar.js.map +1 -1
- package/dist/components/card.d.ts +0 -2
- package/dist/components/card.js.map +1 -1
- package/dist/components/carousel.d.ts +0 -2
- package/dist/components/carousel.js.map +1 -1
- package/dist/components/center.d.ts +0 -2
- package/dist/components/center.js.map +1 -1
- package/dist/components/chart.d.ts +1 -1
- package/dist/components/chart.js.map +1 -1
- package/dist/components/checkbox-group.d.ts +19 -0
- package/dist/components/checkbox-group.js +2 -0
- package/dist/components/checkbox-group.js.map +1 -0
- package/dist/components/checkbox.d.ts +2 -4
- package/dist/components/checkbox.js +1 -1
- package/dist/components/checkbox.js.map +1 -1
- package/dist/components/code.d.ts +0 -2
- package/dist/components/code.js.map +1 -1
- package/dist/components/collapsible.d.ts +1 -3
- package/dist/components/collapsible.js.map +1 -1
- package/dist/components/combobox.d.ts +1 -3
- package/dist/components/combobox.js +1 -1
- package/dist/components/combobox.js.map +1 -1
- package/dist/components/command.d.ts +0 -2
- package/dist/components/command.js +1 -1
- package/dist/components/command.js.map +1 -1
- package/dist/components/container.d.ts +0 -2
- package/dist/components/container.js.map +1 -1
- package/dist/components/data-table.d.ts +0 -2
- package/dist/components/data-table.js +1 -1
- package/dist/components/data-table.js.map +1 -1
- package/dist/components/date-range-picker.d.ts +0 -2
- package/dist/components/date-range-picker.js.map +1 -1
- package/dist/components/dialog.d.ts +1 -3
- package/dist/components/dialog.js.map +1 -1
- package/dist/components/direction.d.ts +0 -2
- package/dist/components/donut-chart.d.ts +0 -2
- package/dist/components/donut-chart.js.map +1 -1
- package/dist/components/drawer.d.ts +1 -3
- package/dist/components/drawer.js.map +1 -1
- package/dist/components/dropdown-menu.d.ts +1 -3
- package/dist/components/dropdown-menu.js.map +1 -1
- package/dist/components/dropzone.d.ts +0 -2
- package/dist/components/dropzone.js +1 -1
- package/dist/components/dropzone.js.map +1 -1
- package/dist/components/empty.d.ts +0 -2
- package/dist/components/empty.js.map +1 -1
- package/dist/components/field.d.ts +0 -2
- package/dist/components/field.js +1 -1
- package/dist/components/field.js.map +1 -1
- package/dist/components/flex.d.ts +0 -2
- package/dist/components/flex.js.map +1 -1
- package/dist/components/grid.d.ts +0 -2
- package/dist/components/grid.js.map +1 -1
- package/dist/components/group.d.ts +0 -2
- package/dist/components/group.js.map +1 -1
- package/dist/components/heading.d.ts +1 -3
- package/dist/components/heading.js.map +1 -1
- package/dist/components/hover-card.d.ts +1 -3
- package/dist/components/hover-card.js.map +1 -1
- package/dist/components/input-group.d.ts +0 -2
- package/dist/components/input-group.js.map +1 -1
- package/dist/components/input-otp.d.ts +0 -2
- package/dist/components/input-otp.js.map +1 -1
- package/dist/components/input.d.ts +0 -2
- package/dist/components/input.js.map +1 -1
- package/dist/components/kbd.d.ts +0 -2
- package/dist/components/kbd.js.map +1 -1
- package/dist/components/label.d.ts +1 -3
- package/dist/components/label.js.map +1 -1
- package/dist/components/list.d.ts +1 -3
- package/dist/components/list.js.map +1 -1
- package/dist/components/logo.d.ts +0 -2
- package/dist/components/marker.d.ts +1 -3
- package/dist/components/marker.js.map +1 -1
- package/dist/components/mask-input.d.ts +1 -3
- package/dist/components/mask-input.js +1 -1
- package/dist/components/mask-input.js.map +1 -1
- package/dist/components/meter.d.ts +21 -0
- package/dist/components/meter.js +2 -0
- package/dist/components/meter.js.map +1 -0
- package/dist/components/native-select.d.ts +0 -2
- package/dist/components/native-select.js.map +1 -1
- package/dist/components/navigation-menu.d.ts +1 -3
- package/dist/components/navigation-menu.js.map +1 -1
- package/dist/components/number-field.d.ts +1 -3
- package/dist/components/number-field.js +1 -1
- package/dist/components/number-field.js.map +1 -1
- package/dist/components/pagination.d.ts +0 -2
- package/dist/components/pagination.js.map +1 -1
- package/dist/components/phone-input.d.ts +0 -2
- package/dist/components/phone-input.js +1 -1
- package/dist/components/phone-input.js.map +1 -1
- package/dist/components/pie-chart.d.ts +1 -3
- package/dist/components/pie-chart.js.map +1 -1
- package/dist/components/popover.d.ts +1 -3
- package/dist/components/popover.js.map +1 -1
- package/dist/components/progress.d.ts +0 -2
- package/dist/components/progress.js +1 -1
- package/dist/components/progress.js.map +1 -1
- package/dist/components/radio-group.d.ts +0 -2
- package/dist/components/radio-group.js +1 -1
- package/dist/components/radio-group.js.map +1 -1
- package/dist/components/resizable.d.ts +0 -2
- package/dist/components/resizable.js.map +1 -1
- package/dist/components/ring-progress.d.ts +0 -2
- package/dist/components/ring-progress.js +1 -1
- package/dist/components/ring-progress.js.map +1 -1
- package/dist/components/scroll-area.d.ts +0 -2
- package/dist/components/scroll-area.js.map +1 -1
- package/dist/components/select.d.ts +1 -3
- package/dist/components/select.js.map +1 -1
- package/dist/components/separator.d.ts +1 -3
- package/dist/components/separator.js.map +1 -1
- package/dist/components/sidebar.d.ts +2 -4
- package/dist/components/sidebar.js +1 -1
- package/dist/components/sidebar.js.map +1 -1
- package/dist/components/simple-grid.d.ts +0 -2
- package/dist/components/simple-grid.js.map +1 -1
- package/dist/components/skeleton.d.ts +0 -2
- package/dist/components/skeleton.js.map +1 -1
- package/dist/components/slider.d.ts +0 -2
- package/dist/components/slider.js.map +1 -1
- package/dist/components/sonner.d.ts +0 -2
- package/dist/components/sonner.js.map +1 -1
- package/dist/components/spinner.d.ts +0 -2
- package/dist/components/spinner.js.map +1 -1
- package/dist/components/stack.d.ts +0 -2
- package/dist/components/stack.js.map +1 -1
- package/dist/components/stepper.d.ts +1 -3
- package/dist/components/stepper.js +1 -1
- package/dist/components/stepper.js.map +1 -1
- package/dist/components/switch.d.ts +0 -2
- package/dist/components/switch.js +1 -1
- package/dist/components/switch.js.map +1 -1
- package/dist/components/table.d.ts +0 -2
- package/dist/components/table.js.map +1 -1
- package/dist/components/tabs.d.ts +1 -3
- package/dist/components/tabs.js.map +1 -1
- package/dist/components/text.d.ts +1 -3
- package/dist/components/text.js.map +1 -1
- package/dist/components/textarea.d.ts +0 -2
- package/dist/components/textarea.js.map +1 -1
- package/dist/components/theme.d.ts +0 -2
- package/dist/components/theme.js.map +1 -1
- package/dist/components/timeline.d.ts +0 -2
- package/dist/components/timeline.js.map +1 -1
- package/dist/components/toggle-group.d.ts +1 -3
- package/dist/components/toggle-group.js.map +1 -1
- package/dist/components/toggle.d.ts +1 -3
- package/dist/components/toggle.js +1 -1
- package/dist/components/toggle.js.map +1 -1
- package/dist/components/toolbar.d.ts +30 -0
- package/dist/components/toolbar.js +2 -0
- package/dist/components/toolbar.js.map +1 -0
- package/dist/components/tooltip.d.ts +1 -3
- package/dist/components/tooltip.js.map +1 -1
- package/dist/components/unstyled-button.d.ts +1 -3
- package/dist/components/unstyled-button.js.map +1 -1
- package/dist/components/visibility.d.ts +0 -2
- package/dist/components/visibility.js.map +1 -1
- package/dist/hooks/use-breakpoint-value.d.ts +0 -2
- package/dist/hooks/use-breakpoint-value.js.map +1 -1
- package/dist/hooks/use-breakpoint.d.ts +0 -2
- package/dist/hooks/use-breakpoint.js.map +1 -1
- package/dist/hooks/use-disclosure.d.ts +0 -2
- package/dist/hooks/use-disclosure.js.map +1 -1
- package/dist/hooks/use-document-visibility.d.ts +0 -2
- package/dist/hooks/use-document-visibility.js.map +1 -1
- package/dist/hooks/use-hotkeys.d.ts +1 -1
- package/dist/hooks/use-idle.d.ts +0 -2
- package/dist/hooks/use-idle.js.map +1 -1
- package/dist/hooks/use-interval.d.ts +0 -2
- package/dist/hooks/use-interval.js.map +1 -1
- package/dist/hooks/use-local-storage.d.ts +0 -2
- package/dist/hooks/use-local-storage.js.map +1 -1
- package/dist/hooks/use-mask.d.ts +0 -2
- package/dist/hooks/use-mask.js.map +1 -1
- package/dist/hooks/use-mobile.d.ts +0 -2
- package/dist/hooks/use-mobile.js.map +1 -1
- package/dist/index.d.ts +21 -17
- package/dist/index.js +1 -1
- package/dist/lib/as-child.d.ts +1 -1
- package/dist/lib/as-child.js.map +1 -1
- package/dist/lib/badge.d.ts +0 -2
- package/dist/lib/badge.js.map +1 -1
- package/dist/lib/button.d.ts +0 -2
- package/dist/lib/button.js.map +1 -1
- package/dist/lib/color.d.ts +0 -2
- package/dist/lib/color.js.map +1 -1
- package/dist/lib/compose-refs.d.ts +0 -2
- package/dist/lib/compose-refs.js.map +1 -1
- package/dist/lib/progress.d.ts +0 -2
- package/dist/lib/progress.js.map +1 -1
- package/dist/lib/utils.d.ts +0 -2
- package/dist/lib/utils.js.map +1 -1
- package/dist/logo--R3_XDgA.js.map +1 -1
- package/dist/postcss.config.js.map +1 -1
- package/dist/resolve-class-name-BurP8ngI.js.map +1 -1
- package/dist/skills/uselets-ui/SKILL.md +3 -3
- package/dist/skills/uselets-ui/references/component-catalog.md +14 -2
- package/dist/skills/uselets-ui/references/package-guide.md +3 -3
- package/dist/{use-hotkeys-D1_TEIwN.d.ts → use-hotkeys-BVm0IGb8.d.ts} +1 -5
- package/dist/use-hotkeys-YDJmGWX6.js.map +1 -1
- package/package.json +14 -14
- package/skills/uselets-ui/SKILL.md +3 -3
- package/skills/uselets-ui/references/component-catalog.md +14 -2
- package/skills/uselets-ui/references/package-guide.md +3 -3
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { t as __name } from "../rolldown-runtime-BhWHdk3m.js";
|
|
2
|
-
import { t as AsChildPrimitiveProps } from "../as-child-
|
|
2
|
+
import { t as AsChildPrimitiveProps } from "../as-child-T9W73ZYU.js";
|
|
3
3
|
import { VariantProps } from "class-variance-authority";
|
|
4
4
|
import { Toggle as Toggle$1 } from "@base-ui/react/toggle";
|
|
5
|
-
//#region src/components/toggle.d.ts
|
|
6
5
|
declare const toggleVariants: (props?: ({
|
|
7
6
|
variant?: "ghost" | "outline" | "secondary" | null | undefined;
|
|
8
7
|
color?: "blue" | "brand" | "gray" | "green" | "indigo" | "pink" | "primary" | "red" | "yellow" | "zinc" | null | undefined;
|
|
@@ -10,6 +9,5 @@ declare const toggleVariants: (props?: ({
|
|
|
10
9
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
11
10
|
export type ToggleProps = AsChildPrimitiveProps<typeof Toggle$1> & VariantProps<typeof toggleVariants>;
|
|
12
11
|
declare function Toggle({ className, variant, color, size, asChild, children, ...props }: ToggleProps): import("react").JSX.Element;
|
|
13
|
-
//#endregion
|
|
14
12
|
export { Toggle, toggleVariants };
|
|
15
13
|
//# sourceMappingURL=toggle.d.ts.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"../rolldown-runtime-BhWHdk3m.js";import{toAsChildRenderProps as e}from"../lib/as-child.js";import{
|
|
1
|
+
import"../rolldown-runtime-BhWHdk3m.js";import{toAsChildRenderProps as e}from"../lib/as-child.js";import{buttonColorVariants as t}from"../lib/button.js";import{cn as n}from"../lib/utils.js";import{t as r}from"../resolve-class-name-BurP8ngI.js";import{jsx as i}from"react/jsx-runtime";import{cva as a}from"class-variance-authority";import{Toggle as o}from"@base-ui/react/toggle";const s=a(`group/toggle inline-flex items-center justify-center gap-1 rounded-full border border-transparent text-sm font-medium whitespace-nowrap transition-all outline-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,{variants:{variant:{secondary:`border-border bg-background hover:bg-muted hover:text-foreground data-pressed:bg-muted data-pressed:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50 dark:data-pressed:bg-input/50`,outline:`border-(--button-outline-border) bg-background text-(--button-outline-foreground) hover:bg-(--button-solid) hover:text-(--button-solid-foreground) data-pressed:bg-(--button-solid) data-pressed:text-(--button-solid-foreground)`,ghost:`text-(--button-ghost-foreground) hover:bg-(--button-ghost-hover) hover:text-(--button-ghost-foreground) data-pressed:bg-(--button-ghost-hover) data-pressed:text-(--button-ghost-foreground)`},color:t,size:{sm:`h-8 min-w-8 px-1.5 text-[0.8rem]`,md:`h-9 min-w-9 px-2`,lg:`h-10 min-w-10 px-2.5`}},defaultVariants:{variant:`ghost`,color:`primary`,size:`md`}});function Toggle({className:t,variant:a=`ghost`,color:c=`primary`,size:l=`md`,asChild:u,children:d,...f}){return/* @__PURE__ */ i(o,{"data-slot":`toggle`,"data-variant":a,"data-color":c,"data-size":l,className:e=>n(s({variant:a,color:c,size:l}),r(t,e)),...f,...e(u,d)})}export{Toggle,s as toggleVariants};
|
|
2
2
|
//# sourceMappingURL=toggle.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toggle.js","names":["TogglePrimitive","resolveClassName","Toggle$1","toggleVariants","cva","buttonColorVariants","props","variant","color","size","cn","className","state","toAsChildRenderProps","asChild","children"],"sources":["../../src/components/toggle.tsx"],"sourcesContent":["import { Toggle as TogglePrimitive } from '@base-ui/react/toggle'\nimport { cva, type VariantProps } from 'class-variance-authority'\n\nimport { type AsChildPrimitiveProps, toAsChildRenderProps } from '../lib/as-child'\nimport { buttonColorVariants } from '../lib/button'\nimport { cn } from '../lib/utils'\nimport { resolveClassName } from '../utils/resolve-class-name'\n\nconst toggleVariants = cva(\n \"group/toggle inline-flex items-center justify-center gap-1 rounded-full border border-transparent text-sm font-medium whitespace-nowrap transition-all outline-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n {\n variants: {\n variant: {\n secondary:\n 'border-border bg-background hover:bg-muted hover:text-foreground data-pressed:bg-muted data-pressed:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50 dark:data-pressed:bg-input/50',\n outline:\n 'border-(--button-outline-border) bg-background text-(--button-outline-foreground) hover:bg-(--button-solid) hover:text-(--button-solid-foreground) data-pressed:bg-(--button-solid) data-pressed:text-(--button-solid-foreground)',\n ghost:\n 'text-(--button-ghost-foreground) hover:bg-(--button-ghost-hover) hover:text-(--button-ghost-foreground) data-pressed:bg-(--button-ghost-hover) data-pressed:text-(--button-ghost-foreground)'\n },\n color: buttonColorVariants,\n size: {\n sm: 'h-8 min-w-8 px-1.5 text-[0.8rem]',\n md: 'h-9 min-w-9 px-2',\n lg: 'h-10 min-w-10 px-2.5'\n }\n },\n defaultVariants: {\n variant: 'ghost',\n color: 'primary',\n size: 'md'\n }\n }\n)\n\nexport type ToggleProps = AsChildPrimitiveProps<typeof TogglePrimitive> & VariantProps<typeof toggleVariants>\n\nfunction Toggle({\n className,\n variant = 'ghost',\n color = 'primary',\n size = 'md',\n asChild,\n children,\n ...props\n}: ToggleProps) {\n return (\n <TogglePrimitive\n data-slot=\"toggle\"\n data-variant={variant}\n data-color={color}\n data-size={size}\n className={(state) => cn(toggleVariants({ variant, color, size }), resolveClassName(className, state))}\n {...props}\n {...toAsChildRenderProps(asChild, children)}\n />\n )\n}\n\nexport { Toggle, toggleVariants }\n"],"mappings":"0XAQA,MAAMG,EAAiBC,EACrB,shBACA,CACE,SAAU,CACR,QAAS,CACP,UACE,8MACF,QACE,oOACF,MACE,8LACJ,EACA,MAAOC,EACP,KAAM,CACJ,GAAI,mCACJ,GAAI,mBACJ,GAAI,sBACN,CACF,EACA,gBAAiB,CACf,QAAS,QACT,MAAO,UACP,KAAM,IACR,CACF,CACF,EAIA,SAAS,OAAO,CACd,YACA,UAAU,QACV,QAAQ,UACR,OAAO,KACP,UACA,WACA,GAAGC,GACW,CACd,MACE,kBAACN,EAAD,CACE,YAAU,SACV,eAAcO,EACd,aAAYC,EACZ,YAAWC,EACX,UAAY,GAAUC,EAAGP,EAAe,CAAE,UAAS,QAAO,MAAK,CAAC,EAAGF,EAAiBU,EAAWC,CAAK,CAAC,EACrG,GAAIN,EACJ,GAAIO,EAAqBC,EAASC,CAAQ,CAC3C,CAAA,CAEL"}
|
|
1
|
+
{"version":3,"file":"toggle.js","names":["TogglePrimitive","resolveClassName","Toggle$1","toggleVariants","cva","buttonColorVariants","props","variant","color","size","cn","className","state","toAsChildRenderProps","asChild","children"],"sources":["../../src/components/toggle.tsx"],"sourcesContent":["import { Toggle as TogglePrimitive } from '@base-ui/react/toggle'\nimport { cva, type VariantProps } from 'class-variance-authority'\n\nimport { type AsChildPrimitiveProps, toAsChildRenderProps } from '../lib/as-child'\nimport { buttonColorVariants } from '../lib/button'\nimport { cn } from '../lib/utils'\nimport { resolveClassName } from '../utils/resolve-class-name'\n\nconst toggleVariants = cva(\n \"group/toggle inline-flex items-center justify-center gap-1 rounded-full border border-transparent text-sm font-medium whitespace-nowrap transition-all outline-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n {\n variants: {\n variant: {\n secondary:\n 'border-border bg-background hover:bg-muted hover:text-foreground data-pressed:bg-muted data-pressed:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50 dark:data-pressed:bg-input/50',\n outline:\n 'border-(--button-outline-border) bg-background text-(--button-outline-foreground) hover:bg-(--button-solid) hover:text-(--button-solid-foreground) data-pressed:bg-(--button-solid) data-pressed:text-(--button-solid-foreground)',\n ghost:\n 'text-(--button-ghost-foreground) hover:bg-(--button-ghost-hover) hover:text-(--button-ghost-foreground) data-pressed:bg-(--button-ghost-hover) data-pressed:text-(--button-ghost-foreground)'\n },\n color: buttonColorVariants,\n size: {\n sm: 'h-8 min-w-8 px-1.5 text-[0.8rem]',\n md: 'h-9 min-w-9 px-2',\n lg: 'h-10 min-w-10 px-2.5'\n }\n },\n defaultVariants: {\n variant: 'ghost',\n color: 'primary',\n size: 'md'\n }\n }\n)\n\nexport type ToggleProps = AsChildPrimitiveProps<typeof TogglePrimitive> & VariantProps<typeof toggleVariants>\n\nfunction Toggle({\n className,\n variant = 'ghost',\n color = 'primary',\n size = 'md',\n asChild,\n children,\n ...props\n}: ToggleProps) {\n return (\n <TogglePrimitive\n data-slot=\"toggle\"\n data-variant={variant}\n data-color={color}\n data-size={size}\n className={(state) => cn(toggleVariants({ variant, color, size }), resolveClassName(className, state))}\n {...props}\n {...toAsChildRenderProps(asChild, children)}\n />\n )\n}\n\nexport { Toggle, toggleVariants }\n"],"mappings":"A,0XAQA,MAAMG,EAAiBC,EACrB,shBACA,CACE,SAAU,CACR,QAAS,CACP,UACE,8MACF,QACE,oOACF,MACE,8LACJ,EACA,MAAOC,EACP,KAAM,CACJ,GAAI,mCACJ,GAAI,mBACJ,GAAI,sBACN,CACF,EACA,gBAAiB,CACf,QAAS,QACT,MAAO,UACP,KAAM,IACR,CACF,CACF,EAIA,SAAS,OAAO,CACd,YACA,UAAU,QACV,QAAQ,UACR,OAAO,KACP,UACA,WACA,GAAGC,GACW,CACd,MACE,kBAACN,EAAD,CACE,YAAU,SACV,eAAcO,EACd,aAAYC,EACZ,YAAWC,EACX,UAAY,GAAUC,EAAGP,EAAe,CAAE,UAAS,QAAO,MAAK,CAAC,EAAGF,EAAiBU,EAAWC,CAAK,CAAC,EACrG,GAAIN,EACJ,GAAIO,EAAqBC,EAASC,CAAQ,CAC3C,CAAA,CAEL,C"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { t as __name } from "../rolldown-runtime-BhWHdk3m.js";
|
|
2
|
+
import { t as AsChildPrimitiveProps } from "../as-child-T9W73ZYU.js";
|
|
3
|
+
import { ButtonProps } from "./button.js";
|
|
4
|
+
import * as React from "react";
|
|
5
|
+
import { Toolbar as Toolbar$1 } from "@base-ui/react/toolbar";
|
|
6
|
+
export type ToolbarProps = AsChildPrimitiveProps<typeof Toolbar$1.Root>;
|
|
7
|
+
export type ToolbarGroupProps = AsChildPrimitiveProps<typeof Toolbar$1.Group>;
|
|
8
|
+
export type ToolbarSeparatorProps = AsChildPrimitiveProps<typeof Toolbar$1.Separator>;
|
|
9
|
+
export type ToolbarButtonProps = AsChildPrimitiveProps<typeof Toolbar$1.Button> & Pick<ButtonProps, 'color' | 'loading'> & {
|
|
10
|
+
/**
|
|
11
|
+
* Visual style of the button.
|
|
12
|
+
* @default 'ghost'
|
|
13
|
+
*/
|
|
14
|
+
variant?: ButtonProps['variant'];
|
|
15
|
+
/**
|
|
16
|
+
* Height and padding of the button.
|
|
17
|
+
* @default 'sm'
|
|
18
|
+
*/
|
|
19
|
+
size?: ButtonProps['size'];
|
|
20
|
+
};
|
|
21
|
+
export type ToolbarLinkProps = AsChildPrimitiveProps<typeof Toolbar$1.Link>;
|
|
22
|
+
export type ToolbarInputProps = Omit<React.ComponentProps<typeof Toolbar$1.Input>, 'render'>;
|
|
23
|
+
declare function Toolbar({ className, asChild, children, ...props }: ToolbarProps): React.JSX.Element;
|
|
24
|
+
declare function ToolbarGroup({ className, asChild, children, ...props }: ToolbarGroupProps): React.JSX.Element;
|
|
25
|
+
declare function ToolbarSeparator({ className, asChild, children, ...props }: ToolbarSeparatorProps): React.JSX.Element;
|
|
26
|
+
declare function ToolbarButton({ className, variant, size, color, loading, asChild, children, ...props }: ToolbarButtonProps): React.JSX.Element;
|
|
27
|
+
declare function ToolbarLink({ className, asChild, children, ...props }: ToolbarLinkProps): React.JSX.Element;
|
|
28
|
+
declare function ToolbarInput({ className, ...props }: ToolbarInputProps): React.JSX.Element;
|
|
29
|
+
export { Toolbar, ToolbarButton, ToolbarGroup, ToolbarInput, ToolbarLink, ToolbarSeparator };
|
|
30
|
+
//# sourceMappingURL=toolbar.d.ts.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import"../rolldown-runtime-BhWHdk3m.js";import{toAsChildRenderProps as e}from"../lib/as-child.js";import{cn as t}from"../lib/utils.js";import{t as n}from"../resolve-class-name-BurP8ngI.js";import{Button as r}from"./button.js";import{Input as i}from"./input.js";import{jsx as a}from"react/jsx-runtime";import{Toolbar as o}from"@base-ui/react/toolbar";function Toolbar({className:r,asChild:i,children:s,...c}){return/* @__PURE__ */ a(o.Root,{"data-slot":`toolbar`,className:e=>t(`group/toolbar flex items-center gap-1`,`data-vertical:flex-col data-vertical:items-stretch`,n(r,e)),...c,...e(i,s)})}function ToolbarGroup({className:r,asChild:i,children:s,...c}){return/* @__PURE__ */ a(o.Group,{"data-slot":`toolbar-group`,className:e=>t(`flex items-center gap-1`,`group-data-[orientation=vertical]/toolbar:flex-col group-data-[orientation=vertical]/toolbar:items-stretch`,n(r,e)),...c,...e(i,s)})}function ToolbarSeparator({className:r,asChild:i,children:s,...c}){return/* @__PURE__ */ a(o.Separator,{"data-slot":`toolbar-separator`,className:e=>t(`bg-border shrink-0`,`data-vertical:mx-1 data-vertical:h-5 data-vertical:w-px`,`data-horizontal:my-1 data-horizontal:h-px data-horizontal:w-full`,n(r,e)),...c,...e(i,s)})}function ToolbarButton({className:t,variant:n=`ghost`,size:i=`sm`,color:s,loading:c,asChild:l,children:u,...d}){return l?/* @__PURE__ */ a(o.Button,{"data-slot":`toolbar-button`,className:t,...d,...e(l,u)}):/* @__PURE__ */ a(o.Button,{"data-slot":`toolbar-button`,render:/* @__PURE__ */ a(r,{variant:n,size:i,color:s,loading:c}),className:t,...d,children:u})}function ToolbarLink({className:r,asChild:i,children:s,...c}){return/* @__PURE__ */ a(o.Link,{"data-slot":`toolbar-link`,className:e=>t(`inline-flex h-8 items-center rounded-md px-2 text-sm font-medium text-muted-foreground outline-none`,`hover:text-foreground focus-visible:ring-3 focus-visible:ring-ring/50`,n(r,e)),...c,...e(i,s)})}function ToolbarInput({className:e,...r}){return/* @__PURE__ */ a(o.Input,{"data-slot":`toolbar-input`,render:/* @__PURE__ */ a(i,{}),className:r=>t(`h-8 w-auto`,n(e,r)),...r})}export{Toolbar,ToolbarButton,ToolbarGroup,ToolbarInput,ToolbarLink,ToolbarSeparator};
|
|
2
|
+
//# sourceMappingURL=toolbar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toolbar.js","names":["ToolbarPrimitive","resolveClassName","Toolbar$1","props","cn","className","state","toAsChildRenderProps","asChild","children","Button","Input"],"sources":["../../src/components/toolbar.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { Toolbar as ToolbarPrimitive } from '@base-ui/react/toolbar'\n\nimport { type AsChildPrimitiveProps, toAsChildRenderProps } from '../lib/as-child'\nimport { cn } from '../lib/utils'\nimport { resolveClassName } from '../utils/resolve-class-name'\nimport { Button, type ButtonProps } from './button'\nimport { Input } from './input'\n\nexport type ToolbarProps = AsChildPrimitiveProps<typeof ToolbarPrimitive.Root>\n\nexport type ToolbarGroupProps = AsChildPrimitiveProps<typeof ToolbarPrimitive.Group>\n\nexport type ToolbarSeparatorProps = AsChildPrimitiveProps<typeof ToolbarPrimitive.Separator>\n\nexport type ToolbarButtonProps = AsChildPrimitiveProps<typeof ToolbarPrimitive.Button> &\n Pick<ButtonProps, 'color' | 'loading'> & {\n /**\n * Visual style of the button.\n * @default 'ghost'\n */\n variant?: ButtonProps['variant']\n /**\n * Height and padding of the button.\n * @default 'sm'\n */\n size?: ButtonProps['size']\n }\n\nexport type ToolbarLinkProps = AsChildPrimitiveProps<typeof ToolbarPrimitive.Link>\n\nexport type ToolbarInputProps = Omit<React.ComponentProps<typeof ToolbarPrimitive.Input>, 'render'>\n\nfunction Toolbar({ className, asChild, children, ...props }: ToolbarProps) {\n return (\n <ToolbarPrimitive.Root\n data-slot=\"toolbar\"\n className={(state) =>\n cn(\n 'group/toolbar flex items-center gap-1',\n 'data-vertical:flex-col data-vertical:items-stretch',\n resolveClassName(className, state)\n )\n }\n {...props}\n {...toAsChildRenderProps(asChild, children)}\n />\n )\n}\n\nfunction ToolbarGroup({ className, asChild, children, ...props }: ToolbarGroupProps) {\n return (\n <ToolbarPrimitive.Group\n data-slot=\"toolbar-group\"\n className={(state) =>\n cn(\n 'flex items-center gap-1',\n 'group-data-[orientation=vertical]/toolbar:flex-col group-data-[orientation=vertical]/toolbar:items-stretch',\n resolveClassName(className, state)\n )\n }\n {...props}\n {...toAsChildRenderProps(asChild, children)}\n />\n )\n}\n\nfunction ToolbarSeparator({ className, asChild, children, ...props }: ToolbarSeparatorProps) {\n return (\n <ToolbarPrimitive.Separator\n data-slot=\"toolbar-separator\"\n className={(state) =>\n cn(\n 'bg-border shrink-0',\n 'data-vertical:mx-1 data-vertical:h-5 data-vertical:w-px',\n 'data-horizontal:my-1 data-horizontal:h-px data-horizontal:w-full',\n resolveClassName(className, state)\n )\n }\n {...props}\n {...toAsChildRenderProps(asChild, children)}\n />\n )\n}\n\nfunction ToolbarButton({\n className,\n variant = 'ghost',\n size = 'sm',\n color,\n loading,\n asChild,\n children,\n ...props\n}: ToolbarButtonProps) {\n if (asChild) {\n return (\n <ToolbarPrimitive.Button\n data-slot=\"toolbar-button\"\n className={className}\n {...props}\n {...toAsChildRenderProps(asChild, children)}\n />\n )\n }\n\n return (\n <ToolbarPrimitive.Button\n data-slot=\"toolbar-button\"\n render={<Button variant={variant} size={size} color={color} loading={loading} />}\n className={className}\n {...props}\n >\n {children}\n </ToolbarPrimitive.Button>\n )\n}\n\nfunction ToolbarLink({ className, asChild, children, ...props }: ToolbarLinkProps) {\n return (\n <ToolbarPrimitive.Link\n data-slot=\"toolbar-link\"\n className={(state) =>\n cn(\n 'inline-flex h-8 items-center rounded-md px-2 text-sm font-medium text-muted-foreground outline-none',\n 'hover:text-foreground focus-visible:ring-3 focus-visible:ring-ring/50',\n resolveClassName(className, state)\n )\n }\n {...props}\n {...toAsChildRenderProps(asChild, children)}\n />\n )\n}\n\nfunction ToolbarInput({ className, ...props }: ToolbarInputProps) {\n return (\n <ToolbarPrimitive.Input\n data-slot=\"toolbar-input\"\n render={<Input />}\n className={(state) => cn('h-8 w-auto', resolveClassName(className, state))}\n {...props}\n />\n )\n}\n\nexport { Toolbar, ToolbarButton, ToolbarGroup, ToolbarInput, ToolbarLink, ToolbarSeparator }\n"],"mappings":"A,8VAkCA,SAAS,QAAQ,CAAE,YAAW,UAAS,WAAU,GAAGG,GAAuB,CACzE,MACE,kBAACH,EAAiB,KAAlB,CACE,YAAU,UACV,UAAY,GACVI,EACE,wCACA,qDACAH,EAAiBI,EAAWC,CAAK,CACnC,EAEF,GAAIH,EACJ,GAAII,EAAqBC,EAASC,CAAQ,CAC3C,CAAA,CAEL,CAEA,SAAS,aAAa,CAAE,YAAW,UAAS,WAAU,GAAGN,GAA4B,CACnF,MACE,kBAACH,EAAiB,MAAlB,CACE,YAAU,gBACV,UAAY,GACVI,EACE,0BACA,6GACAH,EAAiBI,EAAWC,CAAK,CACnC,EAEF,GAAIH,EACJ,GAAII,EAAqBC,EAASC,CAAQ,CAC3C,CAAA,CAEL,CAEA,SAAS,iBAAiB,CAAE,YAAW,UAAS,WAAU,GAAGN,GAAgC,CAC3F,MACE,kBAACH,EAAiB,UAAlB,CACE,YAAU,oBACV,UAAY,GACVI,EACE,qBACA,0DACA,mEACAH,EAAiBI,EAAWC,CAAK,CACnC,EAEF,GAAIH,EACJ,GAAII,EAAqBC,EAASC,CAAQ,CAC3C,CAAA,CAEL,CAEA,SAAS,cAAc,CACrB,YACA,UAAU,QACV,OAAO,KACP,QACA,UACA,UACA,WACA,GAAGN,GACkB,CAYrB,OAXIK,EAEA,kBAACR,EAAiB,OAAlB,CACE,YAAU,iBACC,YACX,GAAIG,EACJ,GAAII,EAAqBC,EAASC,CAAQ,CAC3C,CAAA,EAKH,kBAACT,EAAiB,OAAlB,CACE,YAAU,iBACV,OAAQ,kBAACU,EAAD,CAAiB,UAAe,OAAa,QAAgB,SAAU,CAAA,EACpE,YACX,GAAIP,EAEH,UACsB,CAAA,CAE7B,CAEA,SAAS,YAAY,CAAE,YAAW,UAAS,WAAU,GAAGA,GAA2B,CACjF,MACE,kBAACH,EAAiB,KAAlB,CACE,YAAU,eACV,UAAY,GACVI,EACE,sGACA,wEACAH,EAAiBI,EAAWC,CAAK,CACnC,EAEF,GAAIH,EACJ,GAAII,EAAqBC,EAASC,CAAQ,CAC3C,CAAA,CAEL,CAEA,SAAS,aAAa,CAAE,YAAW,GAAGN,GAA4B,CAChE,MACE,kBAACH,EAAiB,MAAlB,CACE,YAAU,gBACV,OAAQ,kBAACW,EAAD,CAAQ,CAAA,EAChB,UAAY,GAAUP,EAAG,aAAcH,EAAiBI,EAAWC,CAAK,CAAC,EACzE,GAAIH,CACL,CAAA,CAEL,C"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { t as __name } from "../rolldown-runtime-BhWHdk3m.js";
|
|
2
|
-
import { t as AsChildPrimitiveProps } from "../as-child-
|
|
2
|
+
import { t as AsChildPrimitiveProps } from "../as-child-T9W73ZYU.js";
|
|
3
3
|
import * as React from "react";
|
|
4
4
|
import { Tooltip as Tooltip$1 } from "@base-ui/react/tooltip";
|
|
5
|
-
//#region src/components/tooltip.d.ts
|
|
6
5
|
export type TooltipProviderProps = React.ComponentProps<typeof Tooltip$1.Provider>;
|
|
7
6
|
export type TooltipRootProps = React.ComponentProps<typeof Tooltip$1.Root>;
|
|
8
7
|
export type TooltipTriggerProps = AsChildPrimitiveProps<typeof Tooltip$1.Trigger>;
|
|
@@ -23,6 +22,5 @@ declare function TooltipRoot({ ...props }: TooltipRootProps): React.JSX.Element;
|
|
|
23
22
|
declare function Tooltip({ label, children, disabled, open, defaultOpen, onOpenChange, onOpenChangeComplete, disableHoverablePopup, trackCursorAxis, actionsRef, delay, closeDelay, ...contentProps }: TooltipProps): string | number | bigint | boolean | React.JSX.Element | Iterable<React.ReactNode> | Promise<string | number | bigint | boolean | Iterable<React.ReactNode> | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | React.ReactPortal | null | undefined> | null | undefined;
|
|
24
23
|
declare function TooltipTrigger({ asChild, children, ...props }: TooltipTriggerProps): React.JSX.Element;
|
|
25
24
|
declare function TooltipContent({ className, side, sideOffset, align, alignOffset, sticky, keepMounted, children, asChild, ...props }: TooltipContentProps): React.JSX.Element;
|
|
26
|
-
//#endregion
|
|
27
25
|
export { Tooltip, TooltipContent, TooltipProvider, TooltipRoot, TooltipTrigger };
|
|
28
26
|
//# sourceMappingURL=tooltip.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tooltip.js","names":["TooltipPrimitive","resolveClassName","Tooltip$1","props","contentProps","disabled","children","label","toAsChildRenderProps","asChild","cn","className","state"],"sources":["../../src/components/tooltip.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { Tooltip as TooltipPrimitive } from '@base-ui/react/tooltip'\n\nimport { type AsChildPrimitiveProps, toAsChildRenderProps } from '../lib/as-child'\nimport { cn } from '../lib/utils'\nimport { resolveClassName } from '../utils/resolve-class-name'\n\nexport type TooltipProviderProps = React.ComponentProps<typeof TooltipPrimitive.Provider>\n\nexport type TooltipRootProps = React.ComponentProps<typeof TooltipPrimitive.Root>\n\nexport type TooltipTriggerProps = AsChildPrimitiveProps<typeof TooltipPrimitive.Trigger>\n\nexport type TooltipContentProps = AsChildPrimitiveProps<typeof TooltipPrimitive.Popup> &\n Pick<\n React.ComponentProps<typeof TooltipPrimitive.Positioner>,\n 'side' | 'sideOffset' | 'align' | 'alignOffset' | 'sticky'\n > &\n Pick<React.ComponentProps<typeof TooltipPrimitive.Portal>, 'keepMounted'>\n\nexport type TooltipProps = Pick<\n TooltipRootProps,\n | 'open'\n | 'defaultOpen'\n | 'onOpenChange'\n | 'onOpenChangeComplete'\n | 'disableHoverablePopup'\n | 'trackCursorAxis'\n | 'actionsRef'\n> &\n Omit<TooltipContentProps, 'children'> &\n Pick<TooltipTriggerProps, 'delay' | 'closeDelay'> & {\n /** The trigger. Must be a single element that accepts a ref and event handlers. */\n children?: React.ReactNode\n /** Tooltip content. */\n label?: React.ReactNode\n /**\n * Renders only the trigger, without a tooltip.\n * @default false\n */\n disabled?: boolean\n }\n\nfunction TooltipProvider({ delay = 0, ...props }: TooltipProviderProps) {\n return <TooltipPrimitive.Provider data-slot=\"tooltip-provider\" delay={delay} {...props} />\n}\n\nfunction TooltipRoot({ ...props }: TooltipRootProps) {\n return <TooltipPrimitive.Root data-slot=\"tooltip-root\" {...props} />\n}\n\nfunction Tooltip({\n label,\n children,\n disabled = false,\n open,\n defaultOpen,\n onOpenChange,\n onOpenChangeComplete,\n disableHoverablePopup,\n trackCursorAxis,\n actionsRef,\n delay,\n closeDelay,\n ...contentProps\n}: TooltipProps) {\n if (disabled) {\n return children\n }\n\n return (\n <TooltipRoot\n open={open}\n defaultOpen={defaultOpen}\n onOpenChange={onOpenChange}\n onOpenChangeComplete={onOpenChangeComplete}\n disableHoverablePopup={disableHoverablePopup}\n trackCursorAxis={trackCursorAxis}\n actionsRef={actionsRef}\n >\n <TooltipTrigger asChild delay={delay} closeDelay={closeDelay}>\n {children}\n </TooltipTrigger>\n <TooltipContent {...contentProps}>{label}</TooltipContent>\n </TooltipRoot>\n )\n}\n\nfunction TooltipTrigger({ asChild, children, ...props }: TooltipTriggerProps) {\n return (\n <TooltipPrimitive.Trigger data-slot=\"tooltip-trigger\" {...props} {...toAsChildRenderProps(asChild, children)} />\n )\n}\n\nfunction TooltipContent({\n className,\n side = 'top',\n sideOffset = 0,\n align = 'center',\n alignOffset = 0,\n sticky,\n keepMounted,\n children,\n asChild,\n ...props\n}: TooltipContentProps) {\n return (\n <TooltipPrimitive.Portal keepMounted={keepMounted}>\n <TooltipPrimitive.Positioner\n side={side}\n sideOffset={sideOffset}\n align={align}\n alignOffset={alignOffset}\n sticky={sticky}\n className=\"isolate z-50\"\n >\n <TooltipPrimitive.Popup\n data-slot=\"tooltip-content\"\n role=\"tooltip\"\n className={(state) =>\n cn(\n 'bg-foreground text-background z-50 w-fit max-w-xs rounded-md px-3 py-1.5 text-xs origin-(--transform-origin)',\n 'data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95',\n 'data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95',\n 'data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2',\n resolveClassName(className, state)\n )\n }\n {...props}\n {...toAsChildRenderProps(asChild, children)}\n >\n {!asChild && children}\n {!asChild && (\n <TooltipPrimitive.Arrow\n data-slot=\"tooltip-arrow\"\n className={cn(\n 'size-2.5 rotate-45 rounded-[2px] bg-foreground fill-foreground z-50 translate-y-[calc(-50%-2px)]',\n 'data-[side=top]:-bottom-2.5 data-[side=bottom]:top-1',\n 'data-[side=left]:top-1/2! data-[side=left]:-right-1 data-[side=left]:-translate-y-1/2',\n 'data-[side=right]:top-1/2! data-[side=right]:-left-1 data-[side=right]:-translate-y-1/2'\n )}\n />\n )}\n </TooltipPrimitive.Popup>\n </TooltipPrimitive.Positioner>\n </TooltipPrimitive.Portal>\n )\n}\n\nexport { Tooltip, TooltipContent, TooltipProvider, TooltipRoot, TooltipTrigger }\n"],"mappings":"gSA4CA,SAAS,gBAAgB,CAAE,QAAQ,EAAG,GAAGG,GAA+B,CACtE,MAAO,kBAACH,EAAiB,SAAlB,CAA2B,YAAU,mBAA0B,QAAO,GAAIG,CAAQ,CAAA,CAC3F,CAEA,SAAS,YAAY,CAAE,GAAGA,GAA2B,CACnD,MAAO,kBAACH,EAAiB,KAAlB,CAAuB,YAAU,eAAe,GAAIG,CAAQ,CAAA,CACrE,CAEA,SAAS,QAAQ,CACf,QACA,WACA,WAAW,GACX,OACA,cACA,eACA,uBACA,wBACA,kBACA,aACA,QACA,aACA,GAAGC,GACY,CAKf,OAJIC,EACKC,EAIP,kBAAC,YAAD,CACQ,OACO,cACC,eACQ,uBACC,wBACN,kBACL,aAPd,SAAA,CASE,kBAAC,eAAD,CAAgB,QAAA,GAAe,QAAmB,aAC/C,UACa,CAAA,EAChB,kBAAC,eAAD,CAAgB,GAAIF,EAAe,SAAAG,CAAsB,CAAA,CAC9C,
|
|
1
|
+
{"version":3,"file":"tooltip.js","names":["TooltipPrimitive","resolveClassName","Tooltip$1","props","contentProps","disabled","children","label","toAsChildRenderProps","asChild","cn","className","state"],"sources":["../../src/components/tooltip.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { Tooltip as TooltipPrimitive } from '@base-ui/react/tooltip'\n\nimport { type AsChildPrimitiveProps, toAsChildRenderProps } from '../lib/as-child'\nimport { cn } from '../lib/utils'\nimport { resolveClassName } from '../utils/resolve-class-name'\n\nexport type TooltipProviderProps = React.ComponentProps<typeof TooltipPrimitive.Provider>\n\nexport type TooltipRootProps = React.ComponentProps<typeof TooltipPrimitive.Root>\n\nexport type TooltipTriggerProps = AsChildPrimitiveProps<typeof TooltipPrimitive.Trigger>\n\nexport type TooltipContentProps = AsChildPrimitiveProps<typeof TooltipPrimitive.Popup> &\n Pick<\n React.ComponentProps<typeof TooltipPrimitive.Positioner>,\n 'side' | 'sideOffset' | 'align' | 'alignOffset' | 'sticky'\n > &\n Pick<React.ComponentProps<typeof TooltipPrimitive.Portal>, 'keepMounted'>\n\nexport type TooltipProps = Pick<\n TooltipRootProps,\n | 'open'\n | 'defaultOpen'\n | 'onOpenChange'\n | 'onOpenChangeComplete'\n | 'disableHoverablePopup'\n | 'trackCursorAxis'\n | 'actionsRef'\n> &\n Omit<TooltipContentProps, 'children'> &\n Pick<TooltipTriggerProps, 'delay' | 'closeDelay'> & {\n /** The trigger. Must be a single element that accepts a ref and event handlers. */\n children?: React.ReactNode\n /** Tooltip content. */\n label?: React.ReactNode\n /**\n * Renders only the trigger, without a tooltip.\n * @default false\n */\n disabled?: boolean\n }\n\nfunction TooltipProvider({ delay = 0, ...props }: TooltipProviderProps) {\n return <TooltipPrimitive.Provider data-slot=\"tooltip-provider\" delay={delay} {...props} />\n}\n\nfunction TooltipRoot({ ...props }: TooltipRootProps) {\n return <TooltipPrimitive.Root data-slot=\"tooltip-root\" {...props} />\n}\n\nfunction Tooltip({\n label,\n children,\n disabled = false,\n open,\n defaultOpen,\n onOpenChange,\n onOpenChangeComplete,\n disableHoverablePopup,\n trackCursorAxis,\n actionsRef,\n delay,\n closeDelay,\n ...contentProps\n}: TooltipProps) {\n if (disabled) {\n return children\n }\n\n return (\n <TooltipRoot\n open={open}\n defaultOpen={defaultOpen}\n onOpenChange={onOpenChange}\n onOpenChangeComplete={onOpenChangeComplete}\n disableHoverablePopup={disableHoverablePopup}\n trackCursorAxis={trackCursorAxis}\n actionsRef={actionsRef}\n >\n <TooltipTrigger asChild delay={delay} closeDelay={closeDelay}>\n {children}\n </TooltipTrigger>\n <TooltipContent {...contentProps}>{label}</TooltipContent>\n </TooltipRoot>\n )\n}\n\nfunction TooltipTrigger({ asChild, children, ...props }: TooltipTriggerProps) {\n return (\n <TooltipPrimitive.Trigger data-slot=\"tooltip-trigger\" {...props} {...toAsChildRenderProps(asChild, children)} />\n )\n}\n\nfunction TooltipContent({\n className,\n side = 'top',\n sideOffset = 0,\n align = 'center',\n alignOffset = 0,\n sticky,\n keepMounted,\n children,\n asChild,\n ...props\n}: TooltipContentProps) {\n return (\n <TooltipPrimitive.Portal keepMounted={keepMounted}>\n <TooltipPrimitive.Positioner\n side={side}\n sideOffset={sideOffset}\n align={align}\n alignOffset={alignOffset}\n sticky={sticky}\n className=\"isolate z-50\"\n >\n <TooltipPrimitive.Popup\n data-slot=\"tooltip-content\"\n role=\"tooltip\"\n className={(state) =>\n cn(\n 'bg-foreground text-background z-50 w-fit max-w-xs rounded-md px-3 py-1.5 text-xs origin-(--transform-origin)',\n 'data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95',\n 'data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95',\n 'data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2',\n resolveClassName(className, state)\n )\n }\n {...props}\n {...toAsChildRenderProps(asChild, children)}\n >\n {!asChild && children}\n {!asChild && (\n <TooltipPrimitive.Arrow\n data-slot=\"tooltip-arrow\"\n className={cn(\n 'size-2.5 rotate-45 rounded-[2px] bg-foreground fill-foreground z-50 translate-y-[calc(-50%-2px)]',\n 'data-[side=top]:-bottom-2.5 data-[side=bottom]:top-1',\n 'data-[side=left]:top-1/2! data-[side=left]:-right-1 data-[side=left]:-translate-y-1/2',\n 'data-[side=right]:top-1/2! data-[side=right]:-left-1 data-[side=right]:-translate-y-1/2'\n )}\n />\n )}\n </TooltipPrimitive.Popup>\n </TooltipPrimitive.Positioner>\n </TooltipPrimitive.Portal>\n )\n}\n\nexport { Tooltip, TooltipContent, TooltipProvider, TooltipRoot, TooltipTrigger }\n"],"mappings":"A,gSA4CA,SAAS,gBAAgB,CAAE,QAAQ,EAAG,GAAGG,GAA+B,CACtE,MAAO,kBAACH,EAAiB,SAAlB,CAA2B,YAAU,mBAA0B,QAAO,GAAIG,CAAQ,CAAA,CAC3F,CAEA,SAAS,YAAY,CAAE,GAAGA,GAA2B,CACnD,MAAO,kBAACH,EAAiB,KAAlB,CAAuB,YAAU,eAAe,GAAIG,CAAQ,CAAA,CACrE,CAEA,SAAS,QAAQ,CACf,QACA,WACA,WAAW,GACX,OACA,cACA,eACA,uBACA,wBACA,kBACA,aACA,QACA,aACA,GAAGC,GACY,CAKf,OAJIC,EACKC,EAIP,kBAAC,YAAD,CACQ,OACO,cACC,eACQ,uBACC,wBACN,kBACL,aAPd,SAAA,CASE,kBAAC,eAAD,CAAgB,QAAA,GAAe,QAAmB,aAC/C,UACa,CAAA,EAChB,kBAAC,eAAD,CAAgB,GAAIF,EAAe,SAAAG,CAAsB,CAAA,CAC9C,C,EAEjB,CAEA,SAAS,eAAe,CAAE,UAAS,WAAU,GAAGJ,GAA8B,CAC5E,MACE,kBAACH,EAAiB,QAAlB,CAA0B,YAAU,kBAAkB,GAAIG,EAAO,GAAIK,EAAqBC,EAASH,CAAQ,CAAI,CAAA,CAEnH,CAEA,SAAS,eAAe,CACtB,YACA,OAAO,MACP,aAAa,EACb,QAAQ,SACR,cAAc,EACd,SACA,cACA,WACA,UACA,GAAGH,GACmB,CACtB,MACE,kBAACH,EAAiB,OAAlB,CAAsC,cACpC,SAAA,kBAACA,EAAiB,WAAlB,CACQ,OACM,aACL,QACM,cACL,SACR,UAAU,eAEV,SAAA,kBAACA,EAAiB,MAAlB,CACE,YAAU,kBACV,KAAK,UACL,UAAY,GACVU,EACE,+GACA,gEACA,yEACA,8JACAT,EAAiBU,EAAWC,CAAK,CACnC,EAEF,GAAIT,EACJ,GAAIK,EAAqBC,EAASH,CAAQ,EAb5C,SAAA,CAeG,CAACG,GAAWH,EACZ,CAACG,GACA,kBAACT,EAAiB,MAAlB,CACE,YAAU,gBACV,UAAWU,EACT,mGACA,uDACA,wFACA,yFACF,CACD,CAAA,CAEmB,C,EACG,CAAA,CACN,CAAA,CAE7B,C"}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import { t as __name } from "../rolldown-runtime-BhWHdk3m.js";
|
|
2
|
-
import { n as AsChildProps } from "../as-child-
|
|
3
|
-
//#region src/components/unstyled-button.d.ts
|
|
2
|
+
import { n as AsChildProps } from "../as-child-T9W73ZYU.js";
|
|
4
3
|
export type UnstyledButtonProps = AsChildProps<'button'>;
|
|
5
4
|
declare function UnstyledButton({ className, type, asChild, ...props }: UnstyledButtonProps): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
|
|
6
|
-
//#endregion
|
|
7
5
|
export { UnstyledButton };
|
|
8
6
|
//# sourceMappingURL=unstyled-button.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unstyled-button.js","names":["props","useAsChild","asChild","type","cn","className"],"sources":["../../src/components/unstyled-button.tsx"],"sourcesContent":["import { type AsChildProps, useAsChild } from '../lib/as-child'\nimport { cn } from '../lib/utils'\n\nexport type UnstyledButtonProps = AsChildProps<'button'>\n\nfunction UnstyledButton({ className, type = 'button', asChild = false, ...props }: UnstyledButtonProps) {\n return useAsChild('button', {\n asChild,\n type: !asChild ? type : undefined,\n 'data-slot': 'unstyled-button',\n className: cn(\n 'inline-flex appearance-none items-center justify-center border-0 bg-transparent p-0 [font:inherit] text-inherit outline-none',\n 'cursor-pointer select-none disabled:pointer-events-none disabled:opacity-50',\n 'focus-visible:ring-3 focus-visible:ring-ring/50',\n className\n ),\n ...props\n })\n}\n\nexport { UnstyledButton }\n"],"mappings":"6HAKA,SAAS,eAAe,CAAE,YAAW,OAAO,SAAU,UAAU,GAAO,GAAGA,GAA8B,CACtG,OAAOC,EAAW,SAAU,CAC1B,UACA,KAAOC,EAAiB,IAAA,GAAPC,EACjB,YAAa,kBACb,UAAWC,EACT,+HACA,8EACA,kDACAC,CACF,EACA,GAAGL,CACL,CAAC,CACH"}
|
|
1
|
+
{"version":3,"file":"unstyled-button.js","names":["props","useAsChild","asChild","type","cn","className"],"sources":["../../src/components/unstyled-button.tsx"],"sourcesContent":["import { type AsChildProps, useAsChild } from '../lib/as-child'\nimport { cn } from '../lib/utils'\n\nexport type UnstyledButtonProps = AsChildProps<'button'>\n\nfunction UnstyledButton({ className, type = 'button', asChild = false, ...props }: UnstyledButtonProps) {\n return useAsChild('button', {\n asChild,\n type: !asChild ? type : undefined,\n 'data-slot': 'unstyled-button',\n className: cn(\n 'inline-flex appearance-none items-center justify-center border-0 bg-transparent p-0 [font:inherit] text-inherit outline-none',\n 'cursor-pointer select-none disabled:pointer-events-none disabled:opacity-50',\n 'focus-visible:ring-3 focus-visible:ring-ring/50',\n className\n ),\n ...props\n })\n}\n\nexport { UnstyledButton }\n"],"mappings":"A,6HAKA,SAAS,eAAe,CAAE,YAAW,OAAO,SAAU,UAAU,GAAO,GAAGA,GAA8B,CACtG,OAAOC,EAAW,SAAU,CAC1B,UACA,KAAOC,EAAiB,IAAA,GAAPC,EACjB,YAAa,kBACb,UAAWC,EACT,+HACA,8EACA,kDACAC,CACF,EACA,GAAGL,CACL,CAAC,CACH,C"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { t as __name } from "../rolldown-runtime-BhWHdk3m.js";
|
|
2
2
|
import { Breakpoint } from "../hooks/use-breakpoint.js";
|
|
3
|
-
//#region src/components/visibility.d.ts
|
|
4
3
|
type VisibilityBreakpoint = Exclude<Breakpoint, 'base'>;
|
|
5
4
|
export type HiddenFromProps = React.ComponentProps<'div'> & {
|
|
6
5
|
/** Breakpoint from which the children are hidden. */
|
|
@@ -14,6 +13,5 @@ export type VisibleFromProps = {
|
|
|
14
13
|
children?: React.ReactNode;
|
|
15
14
|
};
|
|
16
15
|
declare function VisibleFrom({ breakpoint, children }: VisibleFromProps): import("react").JSX.Element;
|
|
17
|
-
//#endregion
|
|
18
16
|
export { HiddenFrom, VisibleFrom };
|
|
19
17
|
//# sourceMappingURL=visibility.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visibility.js","names":["isHidden","useBreakpoint","breakpoint","Activity","isVisible"],"sources":["../../src/components/visibility.tsx"],"sourcesContent":["import { Activity } from 'react'\n\nimport { type Breakpoint, useBreakpoint } from '../hooks/use-breakpoint'\n\ntype VisibilityBreakpoint = Exclude<Breakpoint, 'base'>\n\nexport type HiddenFromProps = React.ComponentProps<'div'> & {\n /** Breakpoint from which the children are hidden. */\n breakpoint: VisibilityBreakpoint\n children?: React.ReactNode\n}\n\nfunction HiddenFrom({ breakpoint, children }: HiddenFromProps) {\n const isHidden = useBreakpoint(breakpoint)\n\n return <Activity mode={isHidden ? 'hidden' : 'visible'}>{children}</Activity>\n}\n\nexport type VisibleFromProps = {\n /** Breakpoint from which the children are shown. */\n breakpoint: VisibilityBreakpoint\n children?: React.ReactNode\n}\n\nfunction VisibleFrom({ breakpoint, children }: VisibleFromProps) {\n const isVisible = useBreakpoint(breakpoint)\n\n return <Activity mode={isVisible ? 'visible' : 'hidden'}>{children}</Activity>\n}\n\nexport { HiddenFrom, VisibleFrom }\n"],"mappings":"4KAYA,SAAS,WAAW,CAAE,aAAY,YAA6B,CAC7D,IAAMA,EAAWC,EAAcC,CAAU,EAEzC,MAAO,kBAACC,EAAD,CAAU,KAAMH,EAAW,SAAW,UAAY,UAAmB,CAAA,CAC9E,CAQA,SAAS,YAAY,CAAE,aAAY,YAA8B,CAC/D,IAAMI,EAAYH,EAAcC,CAAU,EAE1C,MAAO,kBAACC,EAAD,CAAU,KAAMC,EAAY,UAAY,SAAW,UAAmB,CAAA,CAC/E"}
|
|
1
|
+
{"version":3,"file":"visibility.js","names":["isHidden","useBreakpoint","breakpoint","Activity","isVisible"],"sources":["../../src/components/visibility.tsx"],"sourcesContent":["import { Activity } from 'react'\n\nimport { type Breakpoint, useBreakpoint } from '../hooks/use-breakpoint'\n\ntype VisibilityBreakpoint = Exclude<Breakpoint, 'base'>\n\nexport type HiddenFromProps = React.ComponentProps<'div'> & {\n /** Breakpoint from which the children are hidden. */\n breakpoint: VisibilityBreakpoint\n children?: React.ReactNode\n}\n\nfunction HiddenFrom({ breakpoint, children }: HiddenFromProps) {\n const isHidden = useBreakpoint(breakpoint)\n\n return <Activity mode={isHidden ? 'hidden' : 'visible'}>{children}</Activity>\n}\n\nexport type VisibleFromProps = {\n /** Breakpoint from which the children are shown. */\n breakpoint: VisibilityBreakpoint\n children?: React.ReactNode\n}\n\nfunction VisibleFrom({ breakpoint, children }: VisibleFromProps) {\n const isVisible = useBreakpoint(breakpoint)\n\n return <Activity mode={isVisible ? 'visible' : 'hidden'}>{children}</Activity>\n}\n\nexport { HiddenFrom, VisibleFrom }\n"],"mappings":"A,4KAYA,SAAS,WAAW,CAAE,aAAY,YAA6B,CAC7D,IAAMA,EAAWC,EAAcC,CAAU,EAEzC,MAAO,kBAACC,EAAD,CAAU,KAAMH,EAAW,SAAW,UAAY,UAAmB,CAAA,CAC9E,CAQA,SAAS,YAAY,CAAE,aAAY,YAA8B,CAC/D,IAAMI,EAAYH,EAAcC,CAAU,EAE1C,MAAO,kBAACC,EAAD,CAAU,KAAMC,EAAY,UAAY,SAAW,UAAmB,CAAA,CAC/E,C"}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import { t as __name } from "../rolldown-runtime-BhWHdk3m.js";
|
|
2
2
|
import { Breakpoint } from "./use-breakpoint.js";
|
|
3
|
-
//#region src/hooks/use-breakpoint-value.d.ts
|
|
4
3
|
export type ResponsiveValueMap<T> = Partial<Record<Breakpoint, T>>;
|
|
5
4
|
/** Returns the value of the largest active breakpoint in `values`, or `undefined` when none matches. */
|
|
6
5
|
export declare function useBreakpointValue<T>(values: ResponsiveValueMap<T>): T | undefined;
|
|
7
|
-
//#endregion
|
|
8
6
|
//# sourceMappingURL=use-breakpoint-value.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-breakpoint-value.js","names":["breakpointOrder","activeBreakpoints","useBreakpoint","value","values","breakpoint"],"sources":["../../src/hooks/use-breakpoint-value.ts"],"sourcesContent":["import type { Breakpoint } from './use-breakpoint'\nimport { useBreakpoint } from './use-breakpoint'\n\nexport type ResponsiveValueMap<T> = Partial<Record<Breakpoint, T>>\n\nconst breakpointOrder = ['base', 'sm', 'md', 'lg', 'xl', '2xl'] as const satisfies readonly Breakpoint[]\n\n/** Returns the value of the largest active breakpoint in `values`, or `undefined` when none matches. */\nexport function useBreakpointValue<T>(values: ResponsiveValueMap<T>) {\n const activeBreakpoints = {\n base: useBreakpoint('base'),\n sm: useBreakpoint('sm'),\n md: useBreakpoint('md'),\n lg: useBreakpoint('lg'),\n xl: useBreakpoint('xl'),\n '2xl': useBreakpoint('2xl')\n }\n\n let value = values.base\n\n for (const breakpoint of breakpointOrder) {\n if (activeBreakpoints[breakpoint] && values[breakpoint] !== undefined) {\n value = values[breakpoint]\n }\n }\n\n return value\n}\n"],"mappings":"4FAKA,MAAMA,EAAkB,CAAC,OAAQ,KAAM,KAAM,KAAM,KAAM,KAAK,EAG9D,SAAgB,mBAAsB,EAA+B,CACnE,IAAMC,EAAoB,CACxB,KAAMC,EAAc,MAAM,EAC1B,GAAIA,EAAc,IAAI,EACtB,GAAIA,EAAc,IAAI,EACtB,GAAIA,EAAc,IAAI,EACtB,GAAIA,EAAc,IAAI,EACtB,MAAOA,EAAc,KAAK,CAC5B,EAEIC,EAAQC,EAAO,KAEnB,IAAK,IAAMC,KAAcL,EACnBC,EAAkBI,IAAeD,EAAOC,KAAgB,IAAA,KAC1D,EAAQD,EAAOC,IAInB,OAAOF,CACT"}
|
|
1
|
+
{"version":3,"file":"use-breakpoint-value.js","names":["breakpointOrder","activeBreakpoints","useBreakpoint","value","values","breakpoint"],"sources":["../../src/hooks/use-breakpoint-value.ts"],"sourcesContent":["import type { Breakpoint } from './use-breakpoint'\nimport { useBreakpoint } from './use-breakpoint'\n\nexport type ResponsiveValueMap<T> = Partial<Record<Breakpoint, T>>\n\nconst breakpointOrder = ['base', 'sm', 'md', 'lg', 'xl', '2xl'] as const satisfies readonly Breakpoint[]\n\n/** Returns the value of the largest active breakpoint in `values`, or `undefined` when none matches. */\nexport function useBreakpointValue<T>(values: ResponsiveValueMap<T>) {\n const activeBreakpoints = {\n base: useBreakpoint('base'),\n sm: useBreakpoint('sm'),\n md: useBreakpoint('md'),\n lg: useBreakpoint('lg'),\n xl: useBreakpoint('xl'),\n '2xl': useBreakpoint('2xl')\n }\n\n let value = values.base\n\n for (const breakpoint of breakpointOrder) {\n if (activeBreakpoints[breakpoint] && values[breakpoint] !== undefined) {\n value = values[breakpoint]\n }\n }\n\n return value\n}\n"],"mappings":"A,4FAKA,MAAMA,EAAkB,CAAC,OAAQ,KAAM,KAAM,KAAM,KAAM,KAAK,EAG9D,SAAgB,mBAAsB,EAA+B,CACnE,IAAMC,EAAoB,CACxB,KAAMC,EAAc,MAAM,EAC1B,GAAIA,EAAc,IAAI,EACtB,GAAIA,EAAc,IAAI,EACtB,GAAIA,EAAc,IAAI,EACtB,GAAIA,EAAc,IAAI,EACtB,MAAOA,EAAc,KAAK,CAC5B,EAEIC,EAAQC,EAAO,KAEnB,IAAK,IAAMC,KAAcL,EACnBC,EAAkBI,IAAeD,EAAOC,KAAgB,IAAA,KAC1D,EAAQD,EAAOC,IAInB,OAAOF,CACT,C"}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import { t as __name } from "../rolldown-runtime-BhWHdk3m.js";
|
|
2
|
-
//#region src/hooks/use-breakpoint.d.ts
|
|
3
2
|
export type Breakpoint = 'base' | 'sm' | 'md' | 'lg' | 'xl' | '2xl';
|
|
4
3
|
export declare const breakpointValues: Record<Exclude<Breakpoint, 'base'>, number>;
|
|
5
4
|
/** Returns whether the viewport is at or above the given Tailwind breakpoint. */
|
|
6
5
|
export declare function useBreakpoint(breakpoint: Breakpoint): boolean;
|
|
7
|
-
//#endregion
|
|
8
6
|
//# sourceMappingURL=use-breakpoint.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-breakpoint.js","names":["React","breakpointValues","matches","setMatches","breakpoint","mql"],"sources":["../../src/hooks/use-breakpoint.ts"],"sourcesContent":["import * as React from 'react'\n\nexport type Breakpoint = 'base' | 'sm' | 'md' | 'lg' | 'xl' | '2xl'\n\nexport const breakpointValues: Record<Exclude<Breakpoint, 'base'>, number> = {\n sm: 640,\n md: 768,\n lg: 1024,\n xl: 1280,\n '2xl': 1536\n}\n\n/** Returns whether the viewport is at or above the given Tailwind breakpoint. */\nexport function useBreakpoint(breakpoint: Breakpoint) {\n const [matches, setMatches] = React.useState(breakpoint === 'base')\n\n React.useEffect(() => {\n if (breakpoint === 'base') {\n setMatches(true)\n return\n }\n\n const mql = window.matchMedia(`(min-width: ${breakpointValues[breakpoint]}px)`)\n const onChange = () => {\n setMatches(mql.matches)\n }\n\n mql.addEventListener('change', onChange)\n setMatches(mql.matches)\n\n return () => mql.removeEventListener('change', onChange)\n }, [breakpoint])\n\n return breakpoint === 'base' || matches\n}\n"],"mappings":"gEAIA,MAAaC,EAAgE,CAC3E,GAAI,IACJ,GAAI,IACJ,GAAI,KACJ,GAAI,KACJ,MAAO,IACT,EAGA,SAAgB,cAAc,EAAwB,CACpD,GAAM,CAACC,EAASC,GAAcH,EAAM,SAASI,IAAe,MAAM,EAmBlE,OAjBAJ,EAAM,cAAgB,CACpB,GAAII,IAAe,OAAQ,CACzBD,EAAW,EAAI,EACf,MACF,CAEA,IAAME,EAAM,OAAO,WAAW,eAAeJ,EAAiBG,GAAY,IAAI,EACxE,aAAiB,CACrBD,EAAWE,EAAI,OAAO,CACxB,EAKA,OAHAA,EAAI,iBAAiB,SAAU,QAAQ,EACvCF,EAAWE,EAAI,OAAO,MAETA,EAAI,oBAAoB,SAAU,QAAQ,CACzD,EAAG,CAACD,CAAU,CAAC,EAERA,IAAe,QAAUF,CAClC"}
|
|
1
|
+
{"version":3,"file":"use-breakpoint.js","names":["React","breakpointValues","matches","setMatches","breakpoint","mql"],"sources":["../../src/hooks/use-breakpoint.ts"],"sourcesContent":["import * as React from 'react'\n\nexport type Breakpoint = 'base' | 'sm' | 'md' | 'lg' | 'xl' | '2xl'\n\nexport const breakpointValues: Record<Exclude<Breakpoint, 'base'>, number> = {\n sm: 640,\n md: 768,\n lg: 1024,\n xl: 1280,\n '2xl': 1536\n}\n\n/** Returns whether the viewport is at or above the given Tailwind breakpoint. */\nexport function useBreakpoint(breakpoint: Breakpoint) {\n const [matches, setMatches] = React.useState(breakpoint === 'base')\n\n React.useEffect(() => {\n if (breakpoint === 'base') {\n setMatches(true)\n return\n }\n\n const mql = window.matchMedia(`(min-width: ${breakpointValues[breakpoint]}px)`)\n const onChange = () => {\n setMatches(mql.matches)\n }\n\n mql.addEventListener('change', onChange)\n setMatches(mql.matches)\n\n return () => mql.removeEventListener('change', onChange)\n }, [breakpoint])\n\n return breakpoint === 'base' || matches\n}\n"],"mappings":"A,gEAIA,MAAaC,EAAgE,CAC3E,GAAI,IACJ,GAAI,IACJ,GAAI,KACJ,GAAI,KACJ,MAAO,IACT,EAGA,SAAgB,cAAc,EAAwB,CACpD,GAAM,CAACC,EAASC,GAAcH,EAAM,SAASI,IAAe,MAAM,EAmBlE,OAjBAJ,EAAM,cAAgB,CACpB,GAAII,IAAe,OAAQ,CACzBD,EAAW,EAAI,EACf,MACF,CAEA,IAAME,EAAM,OAAO,WAAW,eAAeJ,EAAiBG,GAAY,IAAI,EACxE,aAAiB,CACrBD,EAAWE,EAAI,OAAO,CACxB,EAKA,OAHAA,EAAI,iBAAiB,SAAU,QAAQ,EACvCF,EAAWE,EAAI,OAAO,MAETA,EAAI,oBAAoB,SAAU,QAAQ,CACzD,EAAG,CAACD,CAAU,CAAC,EAERA,IAAe,QAAUF,CAClC,C"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { t as __name } from "../rolldown-runtime-BhWHdk3m.js";
|
|
2
|
-
//#region src/hooks/use-disclosure.d.ts
|
|
3
2
|
export type UseDisclosureOptions = {
|
|
4
3
|
/** Called when the state changes to open. */
|
|
5
4
|
onOpen?: () => void;
|
|
@@ -20,5 +19,4 @@ export declare namespace useDisclosure {
|
|
|
20
19
|
type Handlers = UseDisclosureHandlers;
|
|
21
20
|
type ReturnValue = UseDisclosureReturnValue;
|
|
22
21
|
}
|
|
23
|
-
//#endregion
|
|
24
22
|
//# sourceMappingURL=use-disclosure.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-disclosure.js","names":["opened","setOpened","useState","initialState","openedRef","useRef","callbacksRef","options","set","useCallback","value","open","close"],"sources":["../../src/hooks/use-disclosure.ts"],"sourcesContent":["import { useCallback, useRef, useState } from 'react'\n\nexport type UseDisclosureOptions = {\n /** Called when the state changes to open. */\n onOpen?: () => void\n /** Called when the state changes to closed. */\n onClose?: () => void\n}\n\nexport type UseDisclosureHandlers = {\n set: (value: boolean) => void\n open: () => void\n close: () => void\n toggle: () => void\n}\n\nexport type UseDisclosureReturnValue = [boolean, UseDisclosureHandlers]\n\n/** Open/close state with `open`, `close`, `toggle` and `set` handlers. */\nexport function useDisclosure(initialState = false, options: UseDisclosureOptions = {}): UseDisclosureReturnValue {\n const [opened, setOpened] = useState(initialState)\n // The callbacks run outside the state updater (React runs updaters twice in StrictMode), so the current state\n // is tracked in a ref that every handler reads and writes synchronously.\n const openedRef = useRef(initialState)\n const callbacksRef = useRef(options)\n callbacksRef.current = options\n\n const set = useCallback((value: boolean) => {\n openedRef.current = value\n setOpened(value)\n }, [])\n\n const open = useCallback(() => {\n if (openedRef.current) return\n set(true)\n callbacksRef.current.onOpen?.()\n }, [set])\n\n const close = useCallback(() => {\n if (!openedRef.current) return\n set(false)\n callbacksRef.current.onClose?.()\n }, [set])\n\n const toggle = useCallback(() => {\n openedRef.current ? close() : open()\n }, [close, open])\n\n return [opened, { open, close, toggle, set }]\n}\n\nexport namespace useDisclosure {\n export type Options = UseDisclosureOptions\n export type Handlers = UseDisclosureHandlers\n export type ReturnValue = UseDisclosureReturnValue\n}\n"],"mappings":"sGAmBA,SAAgB,cAAc,EAAe,GAAO,EAAgC,CAAC,EAA6B,CAChH,GAAM,CAACA,EAAQC,GAAaC,EAASC,CAAY,EAG3CC,EAAYC,EAAOF,CAAY,EAC/BG,EAAeD,EAAOE,CAAO,EACnC,EAAa,QAAUA,EAEvB,IAAMC,EAAMC,EAAa,GAAmB,CAC1C,EAAU,QAAUC,EACpBT,EAAUS,CAAK,CACjB,EAAG,CAAC,CAAC,EAECC,EAAOF,MAAkB,CACzBL,EAAU,UACdI,EAAI,EAAI,EACRF,EAAa,QAAQ,SAAS,EAChC,EAAG,CAACE,CAAG,CAAC,EAEFI,EAAQH,MAAkB,CACzBL,EAAU,UACfI,EAAI,EAAK,EACTF,EAAa,QAAQ,UAAU,EACjC,EAAG,CAACE,CAAG,CAAC,EAMR,MAAO,CAACR,EAAQ,CAAE,OAAM,QAAO,OAJhBS,MAAkB,CAC/BL,EAAU,QAAUQ,EAAM,EAAID,EAAK,CACrC,EAAG,CAACC,EAAOD,CAAI,CAEqB,EAAG,KAAI,CAAC,CAC9C"}
|
|
1
|
+
{"version":3,"file":"use-disclosure.js","names":["opened","setOpened","useState","initialState","openedRef","useRef","callbacksRef","options","set","useCallback","value","open","close"],"sources":["../../src/hooks/use-disclosure.ts"],"sourcesContent":["import { useCallback, useRef, useState } from 'react'\n\nexport type UseDisclosureOptions = {\n /** Called when the state changes to open. */\n onOpen?: () => void\n /** Called when the state changes to closed. */\n onClose?: () => void\n}\n\nexport type UseDisclosureHandlers = {\n set: (value: boolean) => void\n open: () => void\n close: () => void\n toggle: () => void\n}\n\nexport type UseDisclosureReturnValue = [boolean, UseDisclosureHandlers]\n\n/** Open/close state with `open`, `close`, `toggle` and `set` handlers. */\nexport function useDisclosure(initialState = false, options: UseDisclosureOptions = {}): UseDisclosureReturnValue {\n const [opened, setOpened] = useState(initialState)\n // The callbacks run outside the state updater (React runs updaters twice in StrictMode), so the current state\n // is tracked in a ref that every handler reads and writes synchronously.\n const openedRef = useRef(initialState)\n const callbacksRef = useRef(options)\n callbacksRef.current = options\n\n const set = useCallback((value: boolean) => {\n openedRef.current = value\n setOpened(value)\n }, [])\n\n const open = useCallback(() => {\n if (openedRef.current) return\n set(true)\n callbacksRef.current.onOpen?.()\n }, [set])\n\n const close = useCallback(() => {\n if (!openedRef.current) return\n set(false)\n callbacksRef.current.onClose?.()\n }, [set])\n\n const toggle = useCallback(() => {\n openedRef.current ? close() : open()\n }, [close, open])\n\n return [opened, { open, close, toggle, set }]\n}\n\nexport namespace useDisclosure {\n export type Options = UseDisclosureOptions\n export type Handlers = UseDisclosureHandlers\n export type ReturnValue = UseDisclosureReturnValue\n}\n"],"mappings":"A,sGAmBA,SAAgB,cAAc,EAAe,GAAO,EAAgC,CAAC,EAA6B,CAChH,GAAM,CAACA,EAAQC,GAAaC,EAASC,CAAY,EAG3CC,EAAYC,EAAOF,CAAY,EAC/BG,EAAeD,EAAOE,CAAO,EACnC,EAAa,QAAUA,EAEvB,IAAMC,EAAMC,EAAa,GAAmB,CAC1C,EAAU,QAAUC,EACpBT,EAAUS,CAAK,CACjB,EAAG,CAAC,CAAC,EAECC,EAAOF,MAAkB,CACzBL,EAAU,UACdI,EAAI,EAAI,EACRF,EAAa,QAAQ,SAAS,EAChC,EAAG,CAACE,CAAG,CAAC,EAEFI,EAAQH,MAAkB,CACzBL,EAAU,UACfI,EAAI,EAAK,EACTF,EAAa,QAAQ,UAAU,EACjC,EAAG,CAACE,CAAG,CAAC,EAMR,MAAO,CAACR,EAAQ,CAAE,OAAM,QAAO,OAJhBS,MAAkB,CAC/BL,EAAU,QAAUQ,EAAM,EAAID,EAAK,CACrC,EAAG,CAACC,EAAOD,CAAI,CAEqB,EAAG,KAAI,CAAC,CAC9C,C"}
|
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
import { t as __name } from "../rolldown-runtime-BhWHdk3m.js";
|
|
2
|
-
//#region src/hooks/use-document-visibility.d.ts
|
|
3
2
|
/** Returns the page visibility state (`visible` or `hidden`). */
|
|
4
3
|
export declare function useDocumentVisibility(): DocumentVisibilityState;
|
|
5
|
-
//#endregion
|
|
6
4
|
//# sourceMappingURL=use-document-visibility.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-document-visibility.js","names":["documentVisibility","setDocumentVisibility","useState","useEffect"],"sources":["../../src/hooks/use-document-visibility.ts"],"sourcesContent":["import { useEffect, useState } from 'react'\n\n/** Returns the page visibility state (`visible` or `hidden`). */\nexport function useDocumentVisibility(): DocumentVisibilityState {\n const [documentVisibility, setDocumentVisibility] = useState<DocumentVisibilityState>('visible')\n\n useEffect(() => {\n setDocumentVisibility(document.visibilityState)\n const listener = () => setDocumentVisibility(document.visibilityState)\n document.addEventListener('visibilitychange', listener)\n return () => document.removeEventListener('visibilitychange', listener)\n }, [])\n\n return documentVisibility\n}\n"],"mappings":"wFAGA,SAAgB,uBAAiD,CAC/D,GAAM,CAACA,EAAoBC,GAAyBC,EAAkC,SAAS,EAS/F,OAPAC,MAAgB,CACdF,EAAsB,SAAS,eAAe,EAC9C,IAAM,aAAiBA,EAAsB,SAAS,eAAe,EAErE,OADA,SAAS,iBAAiB,mBAAoB,QAAQ,MACzC,SAAS,oBAAoB,mBAAoB,QAAQ,CACxE,EAAG,CAAC,CAAC,EAEED,CACT"}
|
|
1
|
+
{"version":3,"file":"use-document-visibility.js","names":["documentVisibility","setDocumentVisibility","useState","useEffect"],"sources":["../../src/hooks/use-document-visibility.ts"],"sourcesContent":["import { useEffect, useState } from 'react'\n\n/** Returns the page visibility state (`visible` or `hidden`). */\nexport function useDocumentVisibility(): DocumentVisibilityState {\n const [documentVisibility, setDocumentVisibility] = useState<DocumentVisibilityState>('visible')\n\n useEffect(() => {\n setDocumentVisibility(document.visibilityState)\n const listener = () => setDocumentVisibility(document.visibilityState)\n document.addEventListener('visibilitychange', listener)\n return () => document.removeEventListener('visibilitychange', listener)\n }, [])\n\n return documentVisibility\n}\n"],"mappings":"A,wFAGA,SAAgB,uBAAiD,CAC/D,GAAM,CAACA,EAAoBC,GAAyBC,EAAkC,SAAS,EAS/F,OAPAC,MAAgB,CACdF,EAAsB,SAAS,eAAe,EAC9C,IAAM,aAAiBA,EAAsB,SAAS,eAAe,EAErE,OADA,SAAS,iBAAiB,mBAAoB,QAAQ,MACzC,SAAS,oBAAoB,mBAAoB,QAAQ,CACxE,EAAG,CAAC,CAAC,EAEED,CACT,C"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { i as getHotkeyHandler, n as useHotkeys, r as HotkeyItemOptions, t as HotkeyItem } from "../use-hotkeys-
|
|
1
|
+
import { i as getHotkeyHandler, n as useHotkeys, r as HotkeyItemOptions, t as HotkeyItem } from "../use-hotkeys-BVm0IGb8.js";
|
|
2
2
|
export { HotkeyItem, type HotkeyItemOptions, getHotkeyHandler, useHotkeys };
|
package/dist/hooks/use-idle.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { t as __name } from "../rolldown-runtime-BhWHdk3m.js";
|
|
2
|
-
//#region src/hooks/use-idle.d.ts
|
|
3
2
|
export type UseIdleOptions = {
|
|
4
3
|
/**
|
|
5
4
|
* Events that count as activity.
|
|
@@ -17,5 +16,4 @@ export declare function useIdle(timeout: number, options?: UseIdleOptions): bool
|
|
|
17
16
|
export declare namespace useIdle {
|
|
18
17
|
type Options = UseIdleOptions;
|
|
19
18
|
}
|
|
20
|
-
//#endregion
|
|
21
19
|
//# sourceMappingURL=use-idle.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-idle.js","names":["DEFAULT_OPTIONS","options","idle","setIdle","useState","initialState","timer","useRef","useEffect","timeout","event","events"],"sources":["../../src/hooks/use-idle.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react'\n\nexport type UseIdleOptions = {\n /**\n * Events that count as activity.\n * @default ['keydown', 'mousemove', 'touchmove', 'click', 'scroll', 'wheel']\n */\n events?: (keyof DocumentEventMap)[]\n /**\n * Value before any activity.\n * @default true\n */\n initialState?: boolean\n}\n\nconst DEFAULT_OPTIONS: Required<UseIdleOptions> = {\n events: ['keydown', 'mousemove', 'touchmove', 'click', 'scroll', 'wheel'],\n initialState: true\n}\n\n/** Returns `true` after `timeout` ms without user activity. */\nexport function useIdle(timeout: number, options?: UseIdleOptions) {\n const { events, initialState } = { ...DEFAULT_OPTIONS, ...options }\n const [idle, setIdle] = useState(initialState)\n const timer = useRef(-1)\n\n // biome-ignore lint/correctness/useExhaustiveDependencies: should not re-execute the effect when `events` changes\n useEffect(() => {\n const handleEvents = () => {\n setIdle(false)\n\n if (timer.current) {\n window.clearTimeout(timer.current)\n }\n\n timer.current = window.setTimeout(() => {\n setIdle(true)\n }, timeout)\n }\n\n for (const event of events) {\n document.addEventListener(event, handleEvents)\n }\n\n // Start the timer immediately instead of waiting for the first event to happen\n timer.current = window.setTimeout(() => {\n setIdle(true)\n }, timeout)\n\n return () => {\n for (const event of events) {\n document.removeEventListener(event, handleEvents)\n }\n\n window.clearTimeout(timer.current)\n timer.current = -1\n }\n }, [timeout])\n\n return idle\n}\n\nexport namespace useIdle {\n export type Options = UseIdleOptions\n}\n"],"mappings":"oGAeA,MAAMA,EAA4C,CAChD,OAAQ,CAAC,UAAW,YAAa,YAAa,QAAS,SAAU,OAAO,EACxE,aAAc,EAChB,EAGA,SAAgB,QAAQ,EAAiB,EAA0B,CACjE,GAAM,CAAE,SAAQ,gBAAiB,CAAE,GAAGA,EAAiB,GAAGC,CAAQ,EAC5D,CAACC,EAAMC,GAAWC,EAASC,CAAY,EACvCC,EAAQC,EAAO,EAAE,EAmCvB,OAhCAC,MAAgB,CACd,IAAM,iBAAqB,CACzBL,EAAQ,EAAK,EAETG,EAAM,SACR,OAAO,aAAaA,EAAM,OAAO,EAGnC,EAAM,QAAU,OAAO,eAAiB,CACtCH,EAAQ,EAAI,CACd,EAAGM,CAAO,CACZ,EAEA,IAAK,IAAMC,KAASC,EAClB,SAAS,iBAAiBD,EAAO,YAAY,EAQ/C,MAJA,GAAM,QAAU,OAAO,eAAiB,CACtCP,EAAQ,EAAI,CACd,EAAGM,CAAO,MAEG,CACX,IAAK,IAAMC,KAASC,EAClB,SAAS,oBAAoBD,EAAO,YAAY,EAGlD,OAAO,aAAaJ,EAAM,OAAO,EACjC,EAAM,QAAU,EAClB,CACF,EAAG,CAACG,CAAO,CAAC,EAELP,CACT"}
|
|
1
|
+
{"version":3,"file":"use-idle.js","names":["DEFAULT_OPTIONS","options","idle","setIdle","useState","initialState","timer","useRef","useEffect","timeout","event","events"],"sources":["../../src/hooks/use-idle.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react'\n\nexport type UseIdleOptions = {\n /**\n * Events that count as activity.\n * @default ['keydown', 'mousemove', 'touchmove', 'click', 'scroll', 'wheel']\n */\n events?: (keyof DocumentEventMap)[]\n /**\n * Value before any activity.\n * @default true\n */\n initialState?: boolean\n}\n\nconst DEFAULT_OPTIONS: Required<UseIdleOptions> = {\n events: ['keydown', 'mousemove', 'touchmove', 'click', 'scroll', 'wheel'],\n initialState: true\n}\n\n/** Returns `true` after `timeout` ms without user activity. */\nexport function useIdle(timeout: number, options?: UseIdleOptions) {\n const { events, initialState } = { ...DEFAULT_OPTIONS, ...options }\n const [idle, setIdle] = useState(initialState)\n const timer = useRef(-1)\n\n // biome-ignore lint/correctness/useExhaustiveDependencies: should not re-execute the effect when `events` changes\n useEffect(() => {\n const handleEvents = () => {\n setIdle(false)\n\n if (timer.current) {\n window.clearTimeout(timer.current)\n }\n\n timer.current = window.setTimeout(() => {\n setIdle(true)\n }, timeout)\n }\n\n for (const event of events) {\n document.addEventListener(event, handleEvents)\n }\n\n // Start the timer immediately instead of waiting for the first event to happen\n timer.current = window.setTimeout(() => {\n setIdle(true)\n }, timeout)\n\n return () => {\n for (const event of events) {\n document.removeEventListener(event, handleEvents)\n }\n\n window.clearTimeout(timer.current)\n timer.current = -1\n }\n }, [timeout])\n\n return idle\n}\n\nexport namespace useIdle {\n export type Options = UseIdleOptions\n}\n"],"mappings":"A,oGAeA,MAAMA,EAA4C,CAChD,OAAQ,CAAC,UAAW,YAAa,YAAa,QAAS,SAAU,OAAO,EACxE,aAAc,EAChB,EAGA,SAAgB,QAAQ,EAAiB,EAA0B,CACjE,GAAM,CAAE,SAAQ,gBAAiB,CAAE,GAAGA,EAAiB,GAAGC,CAAQ,EAC5D,CAACC,EAAMC,GAAWC,EAASC,CAAY,EACvCC,EAAQC,EAAO,EAAE,EAmCvB,OAhCAC,MAAgB,CACd,IAAM,iBAAqB,CACzBL,EAAQ,EAAK,EAETG,EAAM,SACR,OAAO,aAAaA,EAAM,OAAO,EAGnC,EAAM,QAAU,OAAO,eAAiB,CACtCH,EAAQ,EAAI,CACd,EAAGM,CAAO,CACZ,EAEA,IAAK,IAAMC,KAASC,EAClB,SAAS,iBAAiBD,EAAO,YAAY,EAQ/C,MAJA,GAAM,QAAU,OAAO,eAAiB,CACtCP,EAAQ,EAAI,CACd,EAAGM,CAAO,MAEG,CACX,IAAK,IAAMC,KAASC,EAClB,SAAS,oBAAoBD,EAAO,YAAY,EAGlD,OAAO,aAAaJ,EAAM,OAAO,EACjC,EAAM,QAAU,EAClB,CACF,EAAG,CAACG,CAAO,CAAC,EAELP,CACT,C"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { t as __name } from "../rolldown-runtime-BhWHdk3m.js";
|
|
2
|
-
//#region src/hooks/use-interval.d.ts
|
|
3
2
|
export type UseIntervalOptions = {
|
|
4
3
|
/** If set, the interval will start automatically when the component is mounted, `false` by default */
|
|
5
4
|
autoInvoke?: boolean;
|
|
@@ -20,5 +19,4 @@ export declare namespace useInterval {
|
|
|
20
19
|
type Options = UseIntervalOptions;
|
|
21
20
|
type ReturnValue = UseIntervalReturnValue;
|
|
22
21
|
}
|
|
23
|
-
//#endregion
|
|
24
22
|
//# sourceMappingURL=use-interval.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-interval.js","names":["intervalRef","useRef","fnRef","intervalValueRef","interval","active","setActive","useState","start","useCallback","old","stop","toggle","current","useEffect","fn","autoInvoke"],"sources":["../../src/hooks/use-interval.ts"],"sourcesContent":["import { useCallback, useEffect, useRef, useState } from 'react'\n\nexport type UseIntervalOptions = {\n /** If set, the interval will start automatically when the component is mounted, `false` by default */\n autoInvoke?: boolean\n}\n\nexport type UseIntervalReturnValue = {\n /** Starts the interval */\n start: () => void\n\n /** Stops the interval */\n stop: () => void\n\n /** Toggles the interval */\n toggle: () => void\n\n /** Indicates if the interval is active */\n active: boolean\n}\n\n/** Runs `fn` every `interval` ms, with `start`, `stop` and `toggle` controls. */\nexport function useInterval(\n fn: () => void,\n interval: number,\n { autoInvoke = false }: UseIntervalOptions = {}\n): UseIntervalReturnValue {\n const intervalRef = useRef<number | null>(null)\n const fnRef = useRef<() => void>(null)\n const intervalValueRef = useRef(interval)\n\n const [active, setActive] = useState(false)\n\n intervalValueRef.current = interval\n\n const start = useCallback(() => {\n setActive((old) => {\n if (!old && !intervalRef.current) {\n intervalRef.current = window.setInterval(fnRef.current!, intervalValueRef.current)\n }\n return true\n })\n }, [])\n\n const stop = useCallback(() => {\n setActive(false)\n if (intervalRef.current) {\n window.clearInterval(intervalRef.current)\n }\n intervalRef.current = null\n }, [])\n\n const toggle = useCallback(() => {\n setActive((current) => {\n if (current) {\n if (intervalRef.current) {\n window.clearInterval(intervalRef.current)\n }\n intervalRef.current = null\n return false\n }\n if (!intervalRef.current) {\n intervalRef.current = window.setInterval(fnRef.current!, intervalValueRef.current)\n }\n return true\n })\n }, [])\n\n // biome-ignore lint/correctness/useExhaustiveDependencies: should includes the 'interval'\n useEffect(() => {\n fnRef.current = fn\n active && start()\n return stop\n }, [fn, active, interval, start, stop])\n\n // biome-ignore lint/correctness/useExhaustiveDependencies: should execute only once\n useEffect(() => {\n if (autoInvoke) {\n start()\n }\n }, [start])\n\n return { start, stop, toggle, active }\n}\n\nexport namespace useInterval {\n export type Options = UseIntervalOptions\n export type ReturnValue = UseIntervalReturnValue\n}\n"],"mappings":"qHAsBA,SAAgB,YACd,EACA,EACA,CAAE,aAAa,IAA8B,CAAC,EACtB,CACxB,IAAMA,EAAcC,EAAsB,IAAI,EACxCC,EAAQD,EAAmB,IAAI,EAC/BE,EAAmBF,EAAOG,CAAQ,EAElC,CAACC,EAAQC,GAAaC,EAAS,EAAK,EAE1C,EAAiB,QAAUH,EAE3B,IAAMI,EAAQC,MAAkB,CAC9BH,EAAW,IACL,CAACI,GAAO,CAACV,EAAY,UACvB,EAAY,QAAU,OAAO,YAAYE,EAAM,QAAUC,EAAiB,OAAO,GAE5E,GACR,CACH,EAAG,CAAC,CAAC,EAECQ,EAAOF,MAAkB,CAC7BH,EAAU,EAAK,EACXN,EAAY,SACd,OAAO,cAAcA,EAAY,OAAO,EAE1C,EAAY,QAAU,IACxB,EAAG,CAAC,CAAC,EAECY,EAASH,MAAkB,CAC/BH,EAAW,GACLO,GACEb,EAAY,SACd,OAAO,cAAcA,EAAY,OAAO,EAE1C,EAAY,QAAU,KACf,KAET,AACEA,EAAY,UAAU,OAAO,YAAYE,EAAM,QAAUC,EAAiB,OAAO,EAE5E,GACR,CACH,EAAG,CAAC,CAAC,EAgBL,OAbAW,OACE,EAAM,QAAUC,EAChBV,GAAUG,EAAM,EACTG,GACN,CAACI,EAAIV,EAAQD,EAAUI,EAAOG,CAAI,CAAC,EAGtCG,MAAgB,CACVE,GACFR,EAAM,CAEV,EAAG,CAACA,CAAK,CAAC,EAEH,CAAE,QAAO,OAAM,SAAQ,QAAO,CACvC"}
|
|
1
|
+
{"version":3,"file":"use-interval.js","names":["intervalRef","useRef","fnRef","intervalValueRef","interval","active","setActive","useState","start","useCallback","old","stop","toggle","current","useEffect","fn","autoInvoke"],"sources":["../../src/hooks/use-interval.ts"],"sourcesContent":["import { useCallback, useEffect, useRef, useState } from 'react'\n\nexport type UseIntervalOptions = {\n /** If set, the interval will start automatically when the component is mounted, `false` by default */\n autoInvoke?: boolean\n}\n\nexport type UseIntervalReturnValue = {\n /** Starts the interval */\n start: () => void\n\n /** Stops the interval */\n stop: () => void\n\n /** Toggles the interval */\n toggle: () => void\n\n /** Indicates if the interval is active */\n active: boolean\n}\n\n/** Runs `fn` every `interval` ms, with `start`, `stop` and `toggle` controls. */\nexport function useInterval(\n fn: () => void,\n interval: number,\n { autoInvoke = false }: UseIntervalOptions = {}\n): UseIntervalReturnValue {\n const intervalRef = useRef<number | null>(null)\n const fnRef = useRef<() => void>(null)\n const intervalValueRef = useRef(interval)\n\n const [active, setActive] = useState(false)\n\n intervalValueRef.current = interval\n\n const start = useCallback(() => {\n setActive((old) => {\n if (!old && !intervalRef.current) {\n intervalRef.current = window.setInterval(fnRef.current!, intervalValueRef.current)\n }\n return true\n })\n }, [])\n\n const stop = useCallback(() => {\n setActive(false)\n if (intervalRef.current) {\n window.clearInterval(intervalRef.current)\n }\n intervalRef.current = null\n }, [])\n\n const toggle = useCallback(() => {\n setActive((current) => {\n if (current) {\n if (intervalRef.current) {\n window.clearInterval(intervalRef.current)\n }\n intervalRef.current = null\n return false\n }\n if (!intervalRef.current) {\n intervalRef.current = window.setInterval(fnRef.current!, intervalValueRef.current)\n }\n return true\n })\n }, [])\n\n // biome-ignore lint/correctness/useExhaustiveDependencies: should includes the 'interval'\n useEffect(() => {\n fnRef.current = fn\n active && start()\n return stop\n }, [fn, active, interval, start, stop])\n\n // biome-ignore lint/correctness/useExhaustiveDependencies: should execute only once\n useEffect(() => {\n if (autoInvoke) {\n start()\n }\n }, [start])\n\n return { start, stop, toggle, active }\n}\n\nexport namespace useInterval {\n export type Options = UseIntervalOptions\n export type ReturnValue = UseIntervalReturnValue\n}\n"],"mappings":"A,qHAsBA,SAAgB,YACd,EACA,EACA,CAAE,aAAa,IAA8B,CAAC,EACtB,CACxB,IAAMA,EAAcC,EAAsB,IAAI,EACxCC,EAAQD,EAAmB,IAAI,EAC/BE,EAAmBF,EAAOG,CAAQ,EAElC,CAACC,EAAQC,GAAaC,EAAS,EAAK,EAE1C,EAAiB,QAAUH,EAE3B,IAAMI,EAAQC,MAAkB,CAC9BH,EAAW,IACL,CAACI,GAAO,CAACV,EAAY,UACvB,EAAY,QAAU,OAAO,YAAYE,EAAM,QAAUC,EAAiB,OAAO,GAE5E,GACR,CACH,EAAG,CAAC,CAAC,EAECQ,EAAOF,MAAkB,CAC7BH,EAAU,EAAK,EACXN,EAAY,SACd,OAAO,cAAcA,EAAY,OAAO,EAE1C,EAAY,QAAU,IACxB,EAAG,CAAC,CAAC,EAECY,EAASH,MAAkB,CAC/BH,EAAW,GACLO,GACEb,EAAY,SACd,OAAO,cAAcA,EAAY,OAAO,EAE1C,EAAY,QAAU,KACf,KAET,AACEA,EAAY,UAAU,OAAO,YAAYE,EAAM,QAAUC,EAAiB,OAAO,EAE5E,GACR,CACH,EAAG,CAAC,CAAC,EAgBL,OAbAW,OACE,EAAM,QAAUC,EAChBV,GAAUG,EAAM,EACTG,GACN,CAACI,EAAIV,EAAQD,EAAUI,EAAOG,CAAI,CAAC,EAGtCG,MAAgB,CACVE,GACFR,EAAM,CAEV,EAAG,CAACA,CAAK,CAAC,EAEH,CAAE,QAAO,OAAM,SAAQ,QAAO,CACvC,C"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { t as __name } from "../rolldown-runtime-BhWHdk3m.js";
|
|
2
|
-
//#region src/hooks/use-local-storage.d.ts
|
|
3
2
|
export type UseLocalStorageOptions<T> = {
|
|
4
3
|
/** Value used when nothing is stored for the key. */
|
|
5
4
|
defaultValue?: T;
|
|
@@ -17,5 +16,4 @@ export declare function useLocalStorage<T = undefined>(key: string, options?: Us
|
|
|
17
16
|
export declare namespace useLocalStorage {
|
|
18
17
|
type Options<T> = UseLocalStorageOptions<T>;
|
|
19
18
|
}
|
|
20
|
-
//#endregion
|
|
21
19
|
//# sourceMappingURL=use-local-storage.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-local-storage.js","names":["LOCAL_STORAGE_EVENT","value","defaultValue","item","key","options","defaultValueRef","useRef","storedValue","setStoredValue","useState","storedValueRef","setValue","useCallback","nextValue","resolvedValue","useEffect","sync","event","eventKey"],"sources":["../../src/hooks/use-local-storage.ts"],"sourcesContent":["import { useCallback, useEffect, useRef, useState } from 'react'\n\nexport type UseLocalStorageOptions<T> = {\n /** Value used when nothing is stored for the key. */\n defaultValue?: T\n /**\n * Keeps the value in sync across tabs and components using the same key.\n * @default true\n */\n sync?: boolean\n}\n\ntype LocalStorageEventDetail<T> = {\n key: string\n value: T | undefined\n}\n\nconst LOCAL_STORAGE_EVENT = 'uselets-ui:local-storage'\n\nfunction parseStorageValue<T>(value: string) {\n try {\n return JSON.parse(value) as T\n } catch {\n return value as T\n }\n}\n\nfunction readStorageValue<T>(key: string, defaultValue: T | undefined) {\n if (typeof window === 'undefined') {\n return defaultValue\n }\n\n try {\n const item = window.localStorage.getItem(key)\n\n if (item === null) {\n return defaultValue\n }\n\n return parseStorageValue<T>(item)\n } catch {\n return defaultValue\n }\n}\n\nfunction writeStorageValue<T>(key: string, value: T) {\n if (typeof window === 'undefined') {\n return\n }\n\n try {\n // `undefined` has no JSON form (it would be stored as the string \"undefined\"), so it clears the key instead.\n if (value === undefined) {\n window.localStorage.removeItem(key)\n } else {\n window.localStorage.setItem(key, JSON.stringify(value))\n }\n } catch {}\n\n window.dispatchEvent(new CustomEvent<LocalStorageEventDetail<T>>(LOCAL_STORAGE_EVENT, { detail: { key, value } }))\n}\n\n/** `useState` persisted in `localStorage` as JSON, synced across tabs and components by default. */\nexport function useLocalStorage<T>(\n key: string,\n options: UseLocalStorageOptions<T> & { defaultValue: T }\n): [T, React.Dispatch<React.SetStateAction<T>>]\n\nexport function useLocalStorage<T = undefined>(\n key: string,\n options?: UseLocalStorageOptions<T>\n): [T | undefined, React.Dispatch<React.SetStateAction<T | undefined>>]\n\nexport function useLocalStorage<T>(key: string, options: UseLocalStorageOptions<T> = {}) {\n const { defaultValue, sync = true } = options\n const defaultValueRef = useRef(defaultValue)\n const [storedValue, setStoredValue] = useState<T | undefined>(() => readStorageValue<T>(key, defaultValue))\n const storedValueRef = useRef(storedValue)\n\n defaultValueRef.current = defaultValue\n storedValueRef.current = storedValue\n\n const setValue = useCallback<React.Dispatch<React.SetStateAction<T | undefined>>>(\n (value) => {\n const nextValue =\n typeof value === 'function'\n ? (value as (previousValue: T | undefined) => T | undefined)(storedValueRef.current)\n : value\n\n writeStorageValue(key, nextValue)\n const resolvedValue = nextValue === undefined ? defaultValueRef.current : nextValue\n storedValueRef.current = resolvedValue\n setStoredValue(resolvedValue)\n },\n [key]\n )\n\n useEffect(() => {\n if (!sync || typeof window === 'undefined') {\n return\n }\n\n const handleStorage = (event: StorageEvent) => {\n if (event.storageArea !== window.localStorage || event.key !== key) {\n return\n }\n\n const nextValue = event.newValue === null ? defaultValueRef.current : parseStorageValue<T>(event.newValue)\n\n storedValueRef.current = nextValue\n setStoredValue(nextValue)\n }\n\n const handleLocalStorageEvent = (event: Event) => {\n const { key: eventKey, value } = (event as CustomEvent<LocalStorageEventDetail<T>>).detail\n\n if (eventKey !== key) {\n return\n }\n\n const nextValue = value === undefined ? defaultValueRef.current : value\n\n storedValueRef.current = nextValue\n setStoredValue(nextValue)\n }\n\n window.addEventListener('storage', handleStorage)\n window.addEventListener(LOCAL_STORAGE_EVENT, handleLocalStorageEvent)\n\n return () => {\n window.removeEventListener('storage', handleStorage)\n window.removeEventListener(LOCAL_STORAGE_EVENT, handleLocalStorageEvent)\n }\n }, [key, sync])\n\n return [storedValue, setValue]\n}\n\nexport namespace useLocalStorage {\n export type Options<T> = UseLocalStorageOptions<T>\n}\n"],"mappings":"qHAiBA,MAAMA,EAAsB,2BAE5B,SAAS,kBAAqB,EAAe,CAC3C,GAAI,CACF,OAAO,KAAK,MAAMC,CAAK,CACzB,MAAQ,CACN,OAAOA,CACT,CACF,CAEA,SAAS,iBAAoB,EAAa,EAA6B,CACrE,GAAI,OAAO,OAAW,IACpB,OAAOC,EAGT,GAAI,CACF,IAAMC,EAAO,OAAO,aAAa,QAAQC,CAAG,EAM5C,OAJID,IAAS,KACJD,EAGF,kBAAqBC,CAAI,CAClC,MAAQ,CACN,OAAOD,CACT,CACF,CAEA,SAAS,kBAAqB,EAAa,EAAU,CACnD,GAAI,OAAO,OAAW,IAItB,IAAI,CAEED,IAAU,IAAA,GACZ,OAAO,aAAa,WAAWG,CAAG,EAElC,OAAO,aAAa,QAAQA,EAAK,KAAK,UAAUH,CAAK,CAAC,CAE1D,MAAQ,CAAC,CAET,OAAO,cAAc,IAAI,YAAwCD,EAAqB,CAAE,OAAQ,CAAE,MAAK,OAAM,CAAE,CAAC,CAAC,CAFxG,CAGX,CAaA,SAAgB,gBAAmB,EAAa,EAAqC,CAAC,EAAG,CACvF,GAAM,CAAE,eAAc,OAAO,IAASK,EAChCC,EAAkBC,EAAOL,CAAY,EACrC,CAACM,EAAaC,GAAkBC,MAA8B,iBAAoBN,EAAKF,CAAY,CAAC,EACpGS,EAAiBJ,EAAOC,CAAW,EAEzC,EAAgB,QAAUN,EAC1B,EAAe,QAAUM,EAEzB,IAAMI,EAAWC,EACd,GAAU,CACT,IAAMC,EACJ,OAAOb,GAAU,WACZA,EAA0DU,EAAe,OAAO,EACjFV,EAEN,kBAAkBG,EAAKU,CAAS,EAChC,IAAMC,EAAgBD,IAAc,IAAA,GAAYR,EAAgB,QAAUQ,EAC1E,EAAe,QAAUC,EACzBN,EAAeM,CAAa,CAC9B,EACA,CAACX,CAAG,CACN,EAwCA,OAtCAY,MAAgB,CACd,GAAI,CAACC,GAAQ,OAAO,OAAW,IAC7B,OAGF,IAAM,cAAiB,GAAwB,CAC7C,GAAIC,EAAM,cAAgB,OAAO,cAAgBA,EAAM,MAAQd,EAC7D,OAGF,IAAMU,EAAYI,EAAM,WAAa,KAAOZ,EAAgB,QAAU,kBAAqBY,EAAM,QAAQ,EAEzG,EAAe,QAAUJ,EACzBL,EAAeK,CAAS,CAC1B,EAEM,wBAA2B,GAAiB,CAChD,GAAM,CAAE,IAAKK,EAAU,SAAWD,EAAkD,OAEpF,GAAIC,IAAaf,EACf,OAGF,IAAMU,EAAYb,IAAU,IAAA,GAAYK,EAAgB,QAAUL,EAElE,EAAe,QAAUa,EACzBL,EAAeK,CAAS,CAC1B,EAKA,OAHA,OAAO,iBAAiB,UAAW,aAAa,EAChD,OAAO,iBAAiBd,EAAqB,uBAAuB,MAEvD,CACX,OAAO,oBAAoB,UAAW,aAAa,EACnD,OAAO,oBAAoBA,EAAqB,uBAAuB,CACzE,CACF,EAAG,CAACI,EAAKa,CAAI,CAAC,EAEP,CAACT,EAAaI,CAAQ,CAC/B"}
|
|
1
|
+
{"version":3,"file":"use-local-storage.js","names":["LOCAL_STORAGE_EVENT","value","defaultValue","item","key","options","defaultValueRef","useRef","storedValue","setStoredValue","useState","storedValueRef","setValue","useCallback","nextValue","resolvedValue","useEffect","sync","event","eventKey"],"sources":["../../src/hooks/use-local-storage.ts"],"sourcesContent":["import { useCallback, useEffect, useRef, useState } from 'react'\n\nexport type UseLocalStorageOptions<T> = {\n /** Value used when nothing is stored for the key. */\n defaultValue?: T\n /**\n * Keeps the value in sync across tabs and components using the same key.\n * @default true\n */\n sync?: boolean\n}\n\ntype LocalStorageEventDetail<T> = {\n key: string\n value: T | undefined\n}\n\nconst LOCAL_STORAGE_EVENT = 'uselets-ui:local-storage'\n\nfunction parseStorageValue<T>(value: string) {\n try {\n return JSON.parse(value) as T\n } catch {\n return value as T\n }\n}\n\nfunction readStorageValue<T>(key: string, defaultValue: T | undefined) {\n if (typeof window === 'undefined') {\n return defaultValue\n }\n\n try {\n const item = window.localStorage.getItem(key)\n\n if (item === null) {\n return defaultValue\n }\n\n return parseStorageValue<T>(item)\n } catch {\n return defaultValue\n }\n}\n\nfunction writeStorageValue<T>(key: string, value: T) {\n if (typeof window === 'undefined') {\n return\n }\n\n try {\n // `undefined` has no JSON form (it would be stored as the string \"undefined\"), so it clears the key instead.\n if (value === undefined) {\n window.localStorage.removeItem(key)\n } else {\n window.localStorage.setItem(key, JSON.stringify(value))\n }\n } catch {}\n\n window.dispatchEvent(new CustomEvent<LocalStorageEventDetail<T>>(LOCAL_STORAGE_EVENT, { detail: { key, value } }))\n}\n\n/** `useState` persisted in `localStorage` as JSON, synced across tabs and components by default. */\nexport function useLocalStorage<T>(\n key: string,\n options: UseLocalStorageOptions<T> & { defaultValue: T }\n): [T, React.Dispatch<React.SetStateAction<T>>]\n\nexport function useLocalStorage<T = undefined>(\n key: string,\n options?: UseLocalStorageOptions<T>\n): [T | undefined, React.Dispatch<React.SetStateAction<T | undefined>>]\n\nexport function useLocalStorage<T>(key: string, options: UseLocalStorageOptions<T> = {}) {\n const { defaultValue, sync = true } = options\n const defaultValueRef = useRef(defaultValue)\n const [storedValue, setStoredValue] = useState<T | undefined>(() => readStorageValue<T>(key, defaultValue))\n const storedValueRef = useRef(storedValue)\n\n defaultValueRef.current = defaultValue\n storedValueRef.current = storedValue\n\n const setValue = useCallback<React.Dispatch<React.SetStateAction<T | undefined>>>(\n (value) => {\n const nextValue =\n typeof value === 'function'\n ? (value as (previousValue: T | undefined) => T | undefined)(storedValueRef.current)\n : value\n\n writeStorageValue(key, nextValue)\n const resolvedValue = nextValue === undefined ? defaultValueRef.current : nextValue\n storedValueRef.current = resolvedValue\n setStoredValue(resolvedValue)\n },\n [key]\n )\n\n useEffect(() => {\n if (!sync || typeof window === 'undefined') {\n return\n }\n\n const handleStorage = (event: StorageEvent) => {\n if (event.storageArea !== window.localStorage || event.key !== key) {\n return\n }\n\n const nextValue = event.newValue === null ? defaultValueRef.current : parseStorageValue<T>(event.newValue)\n\n storedValueRef.current = nextValue\n setStoredValue(nextValue)\n }\n\n const handleLocalStorageEvent = (event: Event) => {\n const { key: eventKey, value } = (event as CustomEvent<LocalStorageEventDetail<T>>).detail\n\n if (eventKey !== key) {\n return\n }\n\n const nextValue = value === undefined ? defaultValueRef.current : value\n\n storedValueRef.current = nextValue\n setStoredValue(nextValue)\n }\n\n window.addEventListener('storage', handleStorage)\n window.addEventListener(LOCAL_STORAGE_EVENT, handleLocalStorageEvent)\n\n return () => {\n window.removeEventListener('storage', handleStorage)\n window.removeEventListener(LOCAL_STORAGE_EVENT, handleLocalStorageEvent)\n }\n }, [key, sync])\n\n return [storedValue, setValue]\n}\n\nexport namespace useLocalStorage {\n export type Options<T> = UseLocalStorageOptions<T>\n}\n"],"mappings":"A,qHAiBA,MAAMA,EAAsB,2BAE5B,SAAS,kBAAqB,EAAe,CAC3C,GAAI,CACF,OAAO,KAAK,MAAMC,CAAK,CACzB,MAAQ,CACN,OAAOA,CACT,CACF,CAEA,SAAS,iBAAoB,EAAa,EAA6B,CACrE,GAAI,OAAO,OAAW,IACpB,OAAOC,EAGT,GAAI,CACF,IAAMC,EAAO,OAAO,aAAa,QAAQC,CAAG,EAM5C,OAJID,IAAS,KACJD,EAGF,kBAAqBC,CAAI,CAClC,MAAQ,CACN,OAAOD,CACT,CACF,CAEA,SAAS,kBAAqB,EAAa,EAAU,CACnD,GAAI,OAAO,OAAW,IAItB,IAAI,CAEED,IAAU,IAAA,GACZ,OAAO,aAAa,WAAWG,CAAG,EAElC,OAAO,aAAa,QAAQA,EAAK,KAAK,UAAUH,CAAK,CAAC,CAE1D,MAAQ,CAAC,CAET,OAAO,cAAc,IAAI,YAAwCD,EAAqB,CAAE,OAAQ,CAAE,MAAK,OAAM,CAAE,CAAC,CAAC,CAFxG,CAGX,CAaA,SAAgB,gBAAmB,EAAa,EAAqC,CAAC,EAAG,CACvF,GAAM,CAAE,eAAc,OAAO,IAASK,EAChCC,EAAkBC,EAAOL,CAAY,EACrC,CAACM,EAAaC,GAAkBC,MAA8B,iBAAoBN,EAAKF,CAAY,CAAC,EACpGS,EAAiBJ,EAAOC,CAAW,EAEzC,EAAgB,QAAUN,EAC1B,EAAe,QAAUM,EAEzB,IAAMI,EAAWC,EACd,GAAU,CACT,IAAMC,EACJ,OAAOb,GAAU,WACZA,EAA0DU,EAAe,OAAO,EACjFV,EAEN,kBAAkBG,EAAKU,CAAS,EAChC,IAAMC,EAAgBD,IAAc,IAAA,GAAYR,EAAgB,QAAUQ,EAC1E,EAAe,QAAUC,EACzBN,EAAeM,CAAa,CAC9B,EACA,CAACX,CAAG,CACN,EAwCA,OAtCAY,MAAgB,CACd,GAAI,CAACC,GAAQ,OAAO,OAAW,IAC7B,OAGF,IAAM,cAAiB,GAAwB,CAC7C,GAAIC,EAAM,cAAgB,OAAO,cAAgBA,EAAM,MAAQd,EAC7D,OAGF,IAAMU,EAAYI,EAAM,WAAa,KAAOZ,EAAgB,QAAU,kBAAqBY,EAAM,QAAQ,EAEzG,EAAe,QAAUJ,EACzBL,EAAeK,CAAS,CAC1B,EAEM,wBAA2B,GAAiB,CAChD,GAAM,CAAE,IAAKK,EAAU,SAAWD,EAAkD,OAEpF,GAAIC,IAAaf,EACf,OAGF,IAAMU,EAAYb,IAAU,IAAA,GAAYK,EAAgB,QAAUL,EAElE,EAAe,QAAUa,EACzBL,EAAeK,CAAS,CAC1B,EAKA,OAHA,OAAO,iBAAiB,UAAW,aAAa,EAChD,OAAO,iBAAiBd,EAAqB,uBAAuB,MAEvD,CACX,OAAO,oBAAoB,UAAW,aAAa,EACnD,OAAO,oBAAoBA,EAAqB,uBAAuB,CACzE,CACF,EAAG,CAACI,EAAKa,CAAI,CAAC,EAEP,CAACT,EAAaI,CAAQ,CAC/B,C"}
|
package/dist/hooks/use-mask.d.ts
CHANGED
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
import { t as __name } from "../rolldown-runtime-BhWHdk3m.js";
|
|
2
2
|
import { MaskOptions, MaskOptions as MaskOptions$1, ModifiedData, Modify, Replacement, Track, TrackingData } from "@react-input/mask";
|
|
3
|
-
//#region src/hooks/use-mask.d.ts
|
|
4
3
|
export type UseMaskOptions = MaskOptions$1;
|
|
5
4
|
/** Masks the value of your own input. Returns a ref for the `<input>`. Default tokens: `_` digit, `#` letter, `*` any. */
|
|
6
5
|
export declare function useMask(options?: UseMaskOptions): import("react").MutableRefObject<HTMLInputElement>;
|
|
7
|
-
//#endregion
|
|
8
6
|
export type { MaskOptions, ModifiedData, Modify, Replacement, Track, TrackingData };
|
|
9
7
|
//# sourceMappingURL=use-mask.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-mask.js","names":["useReactInputMask","useMask$1","DEFAULT_REPLACEMENT","rest","options","safeMask","replacement","mask","token"],"sources":["../../src/hooks/use-mask.ts"],"sourcesContent":["import type { MaskOptions, Replacement } from '@react-input/mask'\nimport { useMask as useReactInputMask } from '@react-input/mask'\n\nexport type { MaskOptions, ModifiedData, Modify, Replacement, Track, TrackingData } from '@react-input/mask'\n\nconst DEFAULT_REPLACEMENT: Replacement = {\n _: /\\d/,\n '#': /[A-Za-z]/,\n '*': /./\n}\n\nexport type UseMaskOptions = MaskOptions\n\n/** Masks the value of your own input. Returns a ref for the `<input>`. Default tokens: `_` digit, `#` letter, `*` any. */\nexport function useMask(options: UseMaskOptions = {}) {\n const { replacement, mask, ...rest } = options\n\n // Legacy default tokens (9/a) collided with typed digits/letters; rewrite them to the safe tokens (_/#) when the default replacement is in effect.\n const safeMask = !replacement && mask ? mask.replace(/[9a]/g, (token) => (token === '9' ? '_' : '#')) : mask\n\n return useReactInputMask({\n mask: safeMask,\n ...rest,\n replacement: replacement ?? DEFAULT_REPLACEMENT\n })\n}\n"],"mappings":"oFAKA,MAAME,EAAmC,CACvC,EAAG,KACH,IAAK,WACL,IAAK,GACP,EAKA,SAAgB,QAAQ,EAA0B,CAAC,EAAG,CACpD,GAAM,CAAE,cAAa,OAAM,GAAGC,GAASC,EAGjCC,EAAW,CAACC,GAAeC,EAAOA,EAAK,QAAQ,QAAU,GAAWC,IAAU,IAAM,IAAM,GAAI,EAAID,EAExG,OAAOP,EAAkB,CACvB,KAAMK,EACN,GAAGF,EACH,YAAaG,GAAeJ,CAC9B,CAAC,CACH"}
|
|
1
|
+
{"version":3,"file":"use-mask.js","names":["useReactInputMask","useMask$1","DEFAULT_REPLACEMENT","rest","options","safeMask","replacement","mask","token"],"sources":["../../src/hooks/use-mask.ts"],"sourcesContent":["import type { MaskOptions, Replacement } from '@react-input/mask'\nimport { useMask as useReactInputMask } from '@react-input/mask'\n\nexport type { MaskOptions, ModifiedData, Modify, Replacement, Track, TrackingData } from '@react-input/mask'\n\nconst DEFAULT_REPLACEMENT: Replacement = {\n _: /\\d/,\n '#': /[A-Za-z]/,\n '*': /./\n}\n\nexport type UseMaskOptions = MaskOptions\n\n/** Masks the value of your own input. Returns a ref for the `<input>`. Default tokens: `_` digit, `#` letter, `*` any. */\nexport function useMask(options: UseMaskOptions = {}) {\n const { replacement, mask, ...rest } = options\n\n // Legacy default tokens (9/a) collided with typed digits/letters; rewrite them to the safe tokens (_/#) when the default replacement is in effect.\n const safeMask = !replacement && mask ? mask.replace(/[9a]/g, (token) => (token === '9' ? '_' : '#')) : mask\n\n return useReactInputMask({\n mask: safeMask,\n ...rest,\n replacement: replacement ?? DEFAULT_REPLACEMENT\n })\n}\n"],"mappings":"A,oFAKA,MAAME,EAAmC,CACvC,EAAG,KACH,IAAK,WACL,IAAK,GACP,EAKA,SAAgB,QAAQ,EAA0B,CAAC,EAAG,CACpD,GAAM,CAAE,cAAa,OAAM,GAAGC,GAASC,EAGjCC,EAAW,CAACC,GAAeC,EAAOA,EAAK,QAAQ,QAAU,GAAWC,IAAU,IAAM,IAAM,GAAI,EAAID,EAExG,OAAOP,EAAkB,CACvB,KAAMK,EACN,GAAGF,EACH,YAAaG,GAAeJ,CAC9B,CAAC,CACH,C"}
|
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
import { t as __name } from "../rolldown-runtime-BhWHdk3m.js";
|
|
2
|
-
//#region src/hooks/use-mobile.d.ts
|
|
3
2
|
/** Returns whether the viewport is narrower than `768px`. */
|
|
4
3
|
export declare function useIsMobile(): boolean;
|
|
5
|
-
//#endregion
|
|
6
4
|
//# sourceMappingURL=use-mobile.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-mobile.js","names":["React","isMobile","setIsMobile","mql"],"sources":["../../src/hooks/use-mobile.ts"],"sourcesContent":["import * as React from 'react'\n\nconst MOBILE_BREAKPOINT = 768\n\n/** Returns whether the viewport is narrower than `768px`. */\nexport function useIsMobile() {\n const [isMobile, setIsMobile] = React.useState<boolean | undefined>(undefined)\n\n React.useEffect(() => {\n const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`)\n const onChange = () => {\n setIsMobile(window.innerWidth < MOBILE_BREAKPOINT)\n }\n mql.addEventListener('change', onChange)\n setIsMobile(window.innerWidth < MOBILE_BREAKPOINT)\n return () => mql.removeEventListener('change', onChange)\n }, [])\n\n return !!isMobile\n}\n"],"mappings":"gEAKA,SAAgB,aAAc,CAC5B,GAAM,CAACC,EAAUC,GAAeF,EAAM,SAA8B,IAAA,EAAS,EAY7E,OAVAA,EAAM,cAAgB,CACpB,IAAMG,EAAM,OAAO,WAAW,oBAAyC,EACjE,aAAiB,CACrBD,EAAY,OAAO,WAAa,GAAiB,CACnD,EAGA,OAFAC,EAAI,iBAAiB,SAAU,QAAQ,EACvCD,EAAY,OAAO,WAAa,GAAiB,MACpCC,EAAI,oBAAoB,SAAU,QAAQ,CACzD,EAAG,CAAC,CAAC,EAEE,CAAC,CAACF,CACX"}
|
|
1
|
+
{"version":3,"file":"use-mobile.js","names":["React","isMobile","setIsMobile","mql"],"sources":["../../src/hooks/use-mobile.ts"],"sourcesContent":["import * as React from 'react'\n\nconst MOBILE_BREAKPOINT = 768\n\n/** Returns whether the viewport is narrower than `768px`. */\nexport function useIsMobile() {\n const [isMobile, setIsMobile] = React.useState<boolean | undefined>(undefined)\n\n React.useEffect(() => {\n const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`)\n const onChange = () => {\n setIsMobile(window.innerWidth < MOBILE_BREAKPOINT)\n }\n mql.addEventListener('change', onChange)\n setIsMobile(window.innerWidth < MOBILE_BREAKPOINT)\n return () => mql.removeEventListener('change', onChange)\n }, [])\n\n return !!isMobile\n}\n"],"mappings":"A,gEAKA,SAAgB,aAAc,CAC5B,GAAM,CAACC,EAAUC,GAAeF,EAAM,SAA8B,IAAA,EAAS,EAY7E,OAVAA,EAAM,cAAgB,CACpB,IAAMG,EAAM,OAAO,WAAW,oBAAyC,EACjE,aAAiB,CACrBD,EAAY,OAAO,WAAa,GAAiB,CACnD,EAGA,OAFAC,EAAI,iBAAiB,SAAU,QAAQ,EACvCD,EAAY,OAAO,WAAa,GAAiB,MACpCC,EAAI,oBAAoB,SAAU,QAAQ,CACzD,EAAG,CAAC,CAAC,EAEE,CAAC,CAACF,CACX,C"}
|