@nsaa/core 0.1.0-alpha.2 → 0.1.0-alpha.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/LICENSE +1 -1
  2. package/NOTICE +27 -0
  3. package/README.md +30 -8
  4. package/dist/_virtual/_rolldown/runtime.js +13 -0
  5. package/dist/alert/alert.d.ts +30 -5
  6. package/dist/alert/alert.js +201 -15
  7. package/dist/alert/index.d.ts +2 -2
  8. package/dist/alert-dialog/alert-dialog.js +13 -7
  9. package/dist/badge/badge.d.ts +2 -2
  10. package/dist/badge/badge.js +1 -1
  11. package/dist/button/button.d.ts +2 -2
  12. package/dist/button/button.js +1 -1
  13. package/dist/dialog/dialog.js +13 -7
  14. package/dist/empty/empty.d.ts +1 -1
  15. package/dist/empty/empty.js +2 -2
  16. package/dist/index.d.ts +4 -3
  17. package/dist/index.js +3 -2
  18. package/dist/input-group/input-group.d.ts +1 -1
  19. package/dist/input-otp/input-otp.js +1 -1
  20. package/dist/lib/opener.js +29 -0
  21. package/dist/sound/lazy-uisfx.d.ts +20 -0
  22. package/dist/sound/lazy-uisfx.js +68 -0
  23. package/dist/sound/sound-map.d.ts +2 -0
  24. package/dist/sound/sound-map.js +5 -1
  25. package/dist/sound/uisfx.d.ts +5 -1
  26. package/dist/sources/accordion.css +3 -0
  27. package/dist/sources/alert-dialog.css +26 -0
  28. package/dist/sources/alert.css +28 -0
  29. package/dist/sources/avatar.css +3 -0
  30. package/dist/sources/badge.css +3 -0
  31. package/dist/sources/button.css +24 -0
  32. package/dist/sources/calendar.css +25 -0
  33. package/dist/sources/card.css +3 -0
  34. package/dist/sources/checkbox.css +6 -0
  35. package/dist/sources/collapsible.css +2 -0
  36. package/dist/sources/combobox.css +28 -0
  37. package/dist/sources/command.css +30 -0
  38. package/dist/sources/context-menu.css +6 -0
  39. package/dist/sources/dialog.css +26 -0
  40. package/dist/sources/drawer.css +6 -0
  41. package/dist/sources/dropdown-menu.css +6 -0
  42. package/dist/sources/empty.css +3 -0
  43. package/dist/sources/field.css +5 -0
  44. package/dist/sources/input-group.css +27 -0
  45. package/dist/sources/input-otp.css +8 -0
  46. package/dist/sources/input.css +3 -0
  47. package/dist/sources/kbd.css +3 -0
  48. package/dist/sources/label.css +3 -0
  49. package/dist/sources/loaders-text.css +8 -0
  50. package/dist/sources/loaders.css +40 -0
  51. package/dist/sources/native-select.css +3 -0
  52. package/dist/sources/pagination.css +25 -0
  53. package/dist/sources/popover.css +3 -0
  54. package/dist/sources/radio-group.css +6 -0
  55. package/dist/sources/select.css +6 -0
  56. package/dist/sources/separator.css +3 -0
  57. package/dist/sources/skeleton.css +3 -0
  58. package/dist/sources/slider.css +6 -0
  59. package/dist/sources/spinner.css +20 -0
  60. package/dist/sources/switch.css +6 -0
  61. package/dist/sources/table.css +3 -0
  62. package/dist/sources/tabs.css +3 -0
  63. package/dist/sources/textarea.css +3 -0
  64. package/dist/sources/toast.css +25 -0
  65. package/dist/sources/toggle-group.css +32 -0
  66. package/dist/sources/toolbar.css +34 -0
  67. package/dist/sources/tooltip.css +3 -0
  68. package/dist/toolbar/toolbar.js +1 -1
  69. package/package.json +10 -4
  70. package/src/feel.css +80 -1
  71. package/src/styles-base.css +142 -0
  72. package/src/styles.css +3 -133
package/dist/index.js CHANGED
@@ -3,11 +3,11 @@ import { cn } from "./lib/cn.js";
3
3
  import { Accordion, AccordionContent, AccordionItem, AccordionTrigger } from "./accordion/accordion.js";
4
4
  import { SoundProvider, useSound } from "./sound/sound.js";
5
5
  import { SOUND_MAP } from "./sound/sound-map.js";
6
- import { Alert, AlertAction, AlertDescription, AlertTitle } from "./alert/alert.js";
7
6
  import { LoaderProvider } from "./spinner/loader-provider.js";
8
7
  import { registerLoader, registerLoaders } from "./spinner/registry.js";
9
8
  import { Spinner } from "./spinner/spinner.js";
10
9
  import { Button, buttonVariants } from "./button/button.js";
10
+ import { Alert, AlertAction, AlertClose, AlertDescription, AlertLink, AlertLinks, AlertTitle } from "./alert/alert.js";
11
11
  import { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogMedia, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger } from "./alert-dialog/alert-dialog.js";
12
12
  import { Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage } from "./avatar/avatar.js";
13
13
  import { Badge, badgeVariants } from "./badge/badge.js";
@@ -39,6 +39,7 @@ import { RadioGroup, RadioGroupItem } from "./radio-group/radio-group.js";
39
39
  import { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue } from "./select/select.js";
40
40
  import { Skeleton, SkeletonContent } from "./skeleton/skeleton.js";
41
41
  import { Slider } from "./slider/slider.js";
42
+ import { lazyUisfxPlayer } from "./sound/lazy-uisfx.js";
42
43
  import { Switch } from "./switch/switch.js";
43
44
  import { Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow } from "./table/table.js";
44
45
  import { Tabs, TabsContent, TabsList, TabsTrigger, tabsListVariants } from "./tabs/tabs.js";
@@ -47,4 +48,4 @@ import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "./tool
47
48
  import { ToggleGroup } from "./toggle-group/toggle-group.js";
48
49
  import { Toolbar } from "./toolbar/toolbar.js";
49
50
  import "./lib/track-input-modality.js";
50
- export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertAction, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogMedia, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage, Badge, Button, Calendar, CalendarDayButton, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Checkbox, Collapsible, CollapsibleContent, CollapsibleTrigger, Combobox, ComboboxChip, ComboboxChips, ComboboxChipsInput, ComboboxCollection, ComboboxContent, ComboboxEmpty, ComboboxGroup, ComboboxInput, ComboboxItem, ComboboxLabel, ComboboxList, ComboboxSeparator, ComboboxTrigger, ComboboxValue, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DirectionProvider, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerSwipeHandle, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle, Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle, IconSwap, Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, Kbd, KbdGroup, Label, LoaderProvider, NativeSelect, NativeSelectOptGroup, NativeSelectOption, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, Popover, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger, RadioGroup, RadioGroupItem, SOUND_MAP, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Skeleton, SkeletonContent, Slider, SoundProvider, Spinner, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, Toast, ToastAction, ToastClose, ToastContent, ToastDescription, ToastPortal, ToastProvider, ToastTitle, ToastViewport, Toaster, ToggleGroup, Toolbar, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, badgeVariants, buttonVariants, cn, createToastManager, registerLoader, registerLoaders, tabsListVariants, toast, useComboboxAnchor, useEmptyIllustration, useSound, useToastManager };
51
+ export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertAction, AlertClose, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogMedia, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertLink, AlertLinks, AlertTitle, Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage, Badge, Button, Calendar, CalendarDayButton, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Checkbox, Collapsible, CollapsibleContent, CollapsibleTrigger, Combobox, ComboboxChip, ComboboxChips, ComboboxChipsInput, ComboboxCollection, ComboboxContent, ComboboxEmpty, ComboboxGroup, ComboboxInput, ComboboxItem, ComboboxLabel, ComboboxList, ComboboxSeparator, ComboboxTrigger, ComboboxValue, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DirectionProvider, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerSwipeHandle, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle, Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle, IconSwap, Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, Kbd, KbdGroup, Label, LoaderProvider, NativeSelect, NativeSelectOptGroup, NativeSelectOption, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, Popover, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger, RadioGroup, RadioGroupItem, SOUND_MAP, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Skeleton, SkeletonContent, Slider, SoundProvider, Spinner, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, Toast, ToastAction, ToastClose, ToastContent, ToastDescription, ToastPortal, ToastProvider, ToastTitle, ToastViewport, Toaster, ToggleGroup, Toolbar, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, badgeVariants, buttonVariants, cn, createToastManager, lazyUisfxPlayer, registerLoader, registerLoaders, tabsListVariants, toast, useComboboxAnchor, useEmptyIllustration, useSound, useToastManager };
@@ -8,7 +8,7 @@ declare const inputGroupAddonVariants: (props?: ({
8
8
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
9
9
  declare function InputGroupAddon({ className, align, ...props }: React.ComponentProps<"div"> & VariantProps<typeof inputGroupAddonVariants>): React.JSX.Element;
10
10
  declare const inputGroupButtonVariants: (props?: ({
11
- size?: "xs" | "sm" | "icon-xs" | "icon-sm" | null | undefined;
11
+ size?: "sm" | "xs" | "icon-xs" | "icon-sm" | null | undefined;
12
12
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
13
13
  declare function InputGroupButton({ className, type, variant, size, ...props }: Omit<React.ComponentProps<typeof Button>, "size" | "type"> & VariantProps<typeof inputGroupButtonVariants> & {
14
14
  type?: "button" | "submit" | "reset";
@@ -1,8 +1,8 @@
1
1
  "use client";
2
2
  "use client";
3
3
  import { cn } from "../lib/cn.js";
4
- import { recentUserAction } from "../lib/user-action.js";
5
4
  import { useCue } from "../sound/sound-map.js";
5
+ import { recentUserAction } from "../lib/user-action.js";
6
6
  import { jsx, jsxs } from "react/jsx-runtime";
7
7
  import * as React from "react";
8
8
  import { OTPInput, OTPInputContext } from "input-otp";
@@ -0,0 +1,29 @@
1
+ "use client";
2
+ import { createContext, useContext, useState } from "react";
3
+ // src/lib/opener.ts
4
+ /**
5
+ * The element that had focus as a controlled dialog opened, recorded during render (#144). React
6
+ * focuses an `autoFocus` field inside the popup on mount, before Base UI records the opener, so
7
+ * with no Trigger focus would fall to `body` on close. (React's "store information from previous
8
+ * renders" pattern: the state update re-renders before anything inside the popup mounts.)
9
+ */
10
+ function useOpener(open) {
11
+ const [wasOpen, setWasOpen] = useState(false);
12
+ const [opener, setOpener] = useState(null);
13
+ if (!!open !== wasOpen) {
14
+ setWasOpen(!!open);
15
+ if (open && typeof document !== "undefined") {
16
+ const active = document.activeElement;
17
+ setOpener(active instanceof HTMLElement && active !== document.body ? active : null);
18
+ }
19
+ }
20
+ return opener;
21
+ }
22
+ const OpenerContext = createContext(null);
23
+ /** The popup's `finalFocus`: the app's own, else the recorded opener while it is still in the page. */
24
+ function useFinalFocus(own) {
25
+ const opener = useContext(OpenerContext);
26
+ if (own !== void 0 || !opener) return own;
27
+ return () => opener.isConnected ? opener : true;
28
+ }
29
+ export { OpenerContext, useFinalFocus, useOpener };
@@ -0,0 +1,20 @@
1
+
2
+ import { UisfxPlayerOptions, UisfxSoundPlayer, uisfx_d_exports } from "./uisfx.js";
3
+ type Engine = typeof uisfx_d_exports;
4
+ /**
5
+ * The recommended sound setup (#144): a `SoundPlayer` that loads the UISFX engine on first use, so
6
+ * it stays out of the app's first load. The first trusted pointer or key action starts the import
7
+ * (cues before it finishes are skipped, as they would be before unlocking anyway). If the import
8
+ * fails, say offline, it stays silent and tries again on the next interaction; a cue never throws.
9
+ *
10
+ * Create one per app, at module scope:
11
+ *
12
+ * ```tsx
13
+ * const player = lazyUisfxPlayer();
14
+ * <SoundProvider player={player}>…</SoundProvider>
15
+ * ```
16
+ */
17
+ export declare function lazyUisfxPlayer(options?: UisfxPlayerOptions,
18
+ /** @internal Tests swap the import. */
19
+ importEngine?: () => Promise<Engine>): UisfxSoundPlayer;
20
+ export {};
@@ -0,0 +1,68 @@
1
+ "use client";
2
+ import { sound } from "../tokens/dist/motion.js";
3
+ // src/sound/lazy-uisfx.ts
4
+ const GESTURES = ["pointerdown", "keydown"];
5
+ /**
6
+ * The recommended sound setup (#144): a `SoundPlayer` that loads the UISFX engine on first use, so
7
+ * it stays out of the app's first load. The first trusted pointer or key action starts the import
8
+ * (cues before it finishes are skipped, as they would be before unlocking anyway). If the import
9
+ * fails, say offline, it stays silent and tries again on the next interaction; a cue never throws.
10
+ *
11
+ * Create one per app, at module scope:
12
+ *
13
+ * ```tsx
14
+ * const player = lazyUisfxPlayer();
15
+ * <SoundProvider player={player}>…</SoundProvider>
16
+ * ```
17
+ */
18
+ function lazyUisfxPlayer(options = {}, importEngine = () => import("./uisfx.js")) {
19
+ let engine = null;
20
+ let loading = false;
21
+ let pack = options.pack;
22
+ let gestured = false;
23
+ const listenOn = options.target ?? (typeof window === "undefined" ? void 0 : window);
24
+ const stopListening = () => {
25
+ for (const type of GESTURES) listenOn?.removeEventListener(type, onGesture, true);
26
+ };
27
+ const load = () => {
28
+ if (engine || loading) return;
29
+ loading = true;
30
+ importEngine().then(({ createUisfxPlayer }) => {
31
+ engine = createUisfxPlayer({
32
+ ...options,
33
+ pack
34
+ });
35
+ stopListening();
36
+ if (gestured) engine.unlock();
37
+ }).catch(() => {}).finally(() => {
38
+ loading = false;
39
+ });
40
+ };
41
+ function onGesture(event) {
42
+ if (!event.isTrusted) return;
43
+ gestured = true;
44
+ load();
45
+ }
46
+ for (const type of GESTURES) listenOn?.addEventListener(type, onGesture, true);
47
+ const play = ((cue, playOptions) => {
48
+ if (engine) return engine(cue, playOptions);
49
+ load();
50
+ });
51
+ play.setPack = (next) => {
52
+ pack = next;
53
+ engine?.setPack(next);
54
+ };
55
+ play.getPack = () => engine?.getPack() ?? pack ?? sound.feel;
56
+ play.isUnlocked = () => engine?.isUnlocked() ?? false;
57
+ play.unlock = () => {
58
+ gestured = true;
59
+ if (engine) engine.unlock();
60
+ else load();
61
+ };
62
+ play.destroy = async () => {
63
+ stopListening();
64
+ await engine?.destroy();
65
+ };
66
+ return play;
67
+ }
68
+ export { lazyUisfxPlayer };
@@ -30,6 +30,8 @@ export declare const SOUND_MAP: {
30
30
  };
31
31
  readonly alert: {
32
32
  readonly destructive: "feedback.error";
33
+ readonly success: "feedback.success";
34
+ readonly warning: "feedback.warning";
33
35
  };
34
36
  readonly dialog: {
35
37
  readonly open: "navigation.open";
@@ -21,7 +21,11 @@ const SOUND_MAP = {
21
21
  },
22
22
  slider: { commit: "movement.snap" },
23
23
  "input-otp": { invalid: "feedback.error" },
24
- alert: { destructive: "feedback.error" },
24
+ alert: {
25
+ destructive: "feedback.error",
26
+ success: "feedback.success",
27
+ warning: "feedback.warning"
28
+ },
25
29
  dialog: {
26
30
  open: "navigation.open",
27
31
  close: "navigation.close"
@@ -1,6 +1,9 @@
1
1
 
2
2
  import { SoundPlayer } from "./sound.js";
3
3
  import { PackName } from "uisfx";
4
+ declare namespace uisfx_d_exports {
5
+ export { SoundPack, UisfxPlayerOptions, UisfxSoundPlayer, createUisfxPlayer, soundPacks };
6
+ }
4
7
  export type SoundPack = PackName;
5
8
  /** Every UISFX pack, for pickers. */
6
9
  export declare const soundPacks: readonly SoundPack[];
@@ -34,4 +37,5 @@ export interface UisfxSoundPlayer extends SoundPlayer {
34
37
  * <SoundProvider player={player}>…</SoundProvider>
35
38
  * ```
36
39
  */
37
- export declare function createUisfxPlayer({ pack, target }?: UisfxPlayerOptions): UisfxSoundPlayer;
40
+ export declare function createUisfxPlayer({ pack, target }?: UisfxPlayerOptions): UisfxSoundPlayer;
41
+ export { uisfx_d_exports };
@@ -0,0 +1,3 @@
1
+ /* @nsaa/core: Tailwind sources for accordion (generated). */
2
+ @source "../accordion/accordion.js";
3
+ @source "../lib/cn.js";
@@ -0,0 +1,26 @@
1
+ /* @nsaa/core: Tailwind sources for alert-dialog (generated). */
2
+ @source "../alert-dialog/alert-dialog.js";
3
+ @source "../button/button.js";
4
+ @source "../lib/cn.js";
5
+ @source "../lib/control-defaults.js";
6
+ @source "../lib/opener.js";
7
+ @source "../lib/use-press.js";
8
+ @source "../loaders/arc.js";
9
+ @source "../loaders/bouncing-dots.js";
10
+ @source "../loaders/cap.js";
11
+ @source "../loaders/circular-dots.js";
12
+ @source "../loaders/classic.js";
13
+ @source "../loaders/easing.js";
14
+ @source "../loaders/fade.js";
15
+ @source "../loaders/frame.js";
16
+ @source "../loaders/motion.js";
17
+ @source "../loaders/orbit.js";
18
+ @source "../loaders/pulse.js";
19
+ @source "../loaders/ring.js";
20
+ @source "../loaders/wave.js";
21
+ @source "../sound/sound-map.js";
22
+ @source "../sound/sound.js";
23
+ @source "../spinner/loader-provider.js";
24
+ @source "../spinner/registry.js";
25
+ @source "../spinner/spinner.js";
26
+ @source "../tokens/dist/motion.js";
@@ -0,0 +1,28 @@
1
+ /* @nsaa/core: Tailwind sources for alert (generated). */
2
+ @source "../alert/alert.js";
3
+ @source "../button/button.js";
4
+ @source "../lib/cn.js";
5
+ @source "../lib/control-defaults.js";
6
+ @source "../lib/input-modality.js";
7
+ @source "../lib/merge-refs.js";
8
+ @source "../lib/use-press.js";
9
+ @source "../lib/user-action.js";
10
+ @source "../loaders/arc.js";
11
+ @source "../loaders/bouncing-dots.js";
12
+ @source "../loaders/cap.js";
13
+ @source "../loaders/circular-dots.js";
14
+ @source "../loaders/classic.js";
15
+ @source "../loaders/easing.js";
16
+ @source "../loaders/fade.js";
17
+ @source "../loaders/frame.js";
18
+ @source "../loaders/motion.js";
19
+ @source "../loaders/orbit.js";
20
+ @source "../loaders/pulse.js";
21
+ @source "../loaders/ring.js";
22
+ @source "../loaders/wave.js";
23
+ @source "../sound/sound-map.js";
24
+ @source "../sound/sound.js";
25
+ @source "../spinner/loader-provider.js";
26
+ @source "../spinner/registry.js";
27
+ @source "../spinner/spinner.js";
28
+ @source "../tokens/dist/motion.js";
@@ -0,0 +1,3 @@
1
+ /* @nsaa/core: Tailwind sources for avatar (generated). */
2
+ @source "../avatar/avatar.js";
3
+ @source "../lib/cn.js";
@@ -0,0 +1,3 @@
1
+ /* @nsaa/core: Tailwind sources for badge (generated). */
2
+ @source "../badge/badge.js";
3
+ @source "../lib/cn.js";
@@ -0,0 +1,24 @@
1
+ /* @nsaa/core: Tailwind sources for button (generated). */
2
+ @source "../button/button.js";
3
+ @source "../lib/cn.js";
4
+ @source "../lib/control-defaults.js";
5
+ @source "../lib/use-press.js";
6
+ @source "../loaders/arc.js";
7
+ @source "../loaders/bouncing-dots.js";
8
+ @source "../loaders/cap.js";
9
+ @source "../loaders/circular-dots.js";
10
+ @source "../loaders/classic.js";
11
+ @source "../loaders/easing.js";
12
+ @source "../loaders/fade.js";
13
+ @source "../loaders/frame.js";
14
+ @source "../loaders/motion.js";
15
+ @source "../loaders/orbit.js";
16
+ @source "../loaders/pulse.js";
17
+ @source "../loaders/ring.js";
18
+ @source "../loaders/wave.js";
19
+ @source "../sound/sound-map.js";
20
+ @source "../sound/sound.js";
21
+ @source "../spinner/loader-provider.js";
22
+ @source "../spinner/registry.js";
23
+ @source "../spinner/spinner.js";
24
+ @source "../tokens/dist/motion.js";
@@ -0,0 +1,25 @@
1
+ /* @nsaa/core: Tailwind sources for calendar (generated). */
2
+ @source "../button/button.js";
3
+ @source "../calendar/calendar.js";
4
+ @source "../lib/cn.js";
5
+ @source "../lib/control-defaults.js";
6
+ @source "../lib/use-press.js";
7
+ @source "../loaders/arc.js";
8
+ @source "../loaders/bouncing-dots.js";
9
+ @source "../loaders/cap.js";
10
+ @source "../loaders/circular-dots.js";
11
+ @source "../loaders/classic.js";
12
+ @source "../loaders/easing.js";
13
+ @source "../loaders/fade.js";
14
+ @source "../loaders/frame.js";
15
+ @source "../loaders/motion.js";
16
+ @source "../loaders/orbit.js";
17
+ @source "../loaders/pulse.js";
18
+ @source "../loaders/ring.js";
19
+ @source "../loaders/wave.js";
20
+ @source "../sound/sound-map.js";
21
+ @source "../sound/sound.js";
22
+ @source "../spinner/loader-provider.js";
23
+ @source "../spinner/registry.js";
24
+ @source "../spinner/spinner.js";
25
+ @source "../tokens/dist/motion.js";
@@ -0,0 +1,3 @@
1
+ /* @nsaa/core: Tailwind sources for card (generated). */
2
+ @source "../card/card.js";
3
+ @source "../lib/cn.js";
@@ -0,0 +1,6 @@
1
+ /* @nsaa/core: Tailwind sources for checkbox (generated). */
2
+ @source "../checkbox/checkbox.js";
3
+ @source "../lib/cn.js";
4
+ @source "../sound/sound-map.js";
5
+ @source "../sound/sound.js";
6
+ @source "../tokens/dist/motion.js";
@@ -0,0 +1,2 @@
1
+ /* @nsaa/core: Tailwind sources for collapsible (generated). */
2
+ @source "../collapsible/collapsible.js";
@@ -0,0 +1,28 @@
1
+ /* @nsaa/core: Tailwind sources for combobox (generated). */
2
+ @source "../button/button.js";
3
+ @source "../combobox/combobox.js";
4
+ @source "../input-group/input-group.js";
5
+ @source "../input/input.js";
6
+ @source "../lib/cn.js";
7
+ @source "../lib/control-defaults.js";
8
+ @source "../lib/use-press.js";
9
+ @source "../loaders/arc.js";
10
+ @source "../loaders/bouncing-dots.js";
11
+ @source "../loaders/cap.js";
12
+ @source "../loaders/circular-dots.js";
13
+ @source "../loaders/classic.js";
14
+ @source "../loaders/easing.js";
15
+ @source "../loaders/fade.js";
16
+ @source "../loaders/frame.js";
17
+ @source "../loaders/motion.js";
18
+ @source "../loaders/orbit.js";
19
+ @source "../loaders/pulse.js";
20
+ @source "../loaders/ring.js";
21
+ @source "../loaders/wave.js";
22
+ @source "../sound/sound-map.js";
23
+ @source "../sound/sound.js";
24
+ @source "../spinner/loader-provider.js";
25
+ @source "../spinner/registry.js";
26
+ @source "../spinner/spinner.js";
27
+ @source "../textarea/textarea.js";
28
+ @source "../tokens/dist/motion.js";
@@ -0,0 +1,30 @@
1
+ /* @nsaa/core: Tailwind sources for command (generated). */
2
+ @source "../button/button.js";
3
+ @source "../command/command.js";
4
+ @source "../dialog/dialog.js";
5
+ @source "../input-group/input-group.js";
6
+ @source "../input/input.js";
7
+ @source "../lib/cn.js";
8
+ @source "../lib/control-defaults.js";
9
+ @source "../lib/opener.js";
10
+ @source "../lib/use-press.js";
11
+ @source "../loaders/arc.js";
12
+ @source "../loaders/bouncing-dots.js";
13
+ @source "../loaders/cap.js";
14
+ @source "../loaders/circular-dots.js";
15
+ @source "../loaders/classic.js";
16
+ @source "../loaders/easing.js";
17
+ @source "../loaders/fade.js";
18
+ @source "../loaders/frame.js";
19
+ @source "../loaders/motion.js";
20
+ @source "../loaders/orbit.js";
21
+ @source "../loaders/pulse.js";
22
+ @source "../loaders/ring.js";
23
+ @source "../loaders/wave.js";
24
+ @source "../sound/sound-map.js";
25
+ @source "../sound/sound.js";
26
+ @source "../spinner/loader-provider.js";
27
+ @source "../spinner/registry.js";
28
+ @source "../spinner/spinner.js";
29
+ @source "../textarea/textarea.js";
30
+ @source "../tokens/dist/motion.js";
@@ -0,0 +1,6 @@
1
+ /* @nsaa/core: Tailwind sources for context-menu (generated). */
2
+ @source "../context-menu/context-menu.js";
3
+ @source "../lib/cn.js";
4
+ @source "../sound/sound-map.js";
5
+ @source "../sound/sound.js";
6
+ @source "../tokens/dist/motion.js";
@@ -0,0 +1,26 @@
1
+ /* @nsaa/core: Tailwind sources for dialog (generated). */
2
+ @source "../button/button.js";
3
+ @source "../dialog/dialog.js";
4
+ @source "../lib/cn.js";
5
+ @source "../lib/control-defaults.js";
6
+ @source "../lib/opener.js";
7
+ @source "../lib/use-press.js";
8
+ @source "../loaders/arc.js";
9
+ @source "../loaders/bouncing-dots.js";
10
+ @source "../loaders/cap.js";
11
+ @source "../loaders/circular-dots.js";
12
+ @source "../loaders/classic.js";
13
+ @source "../loaders/easing.js";
14
+ @source "../loaders/fade.js";
15
+ @source "../loaders/frame.js";
16
+ @source "../loaders/motion.js";
17
+ @source "../loaders/orbit.js";
18
+ @source "../loaders/pulse.js";
19
+ @source "../loaders/ring.js";
20
+ @source "../loaders/wave.js";
21
+ @source "../sound/sound-map.js";
22
+ @source "../sound/sound.js";
23
+ @source "../spinner/loader-provider.js";
24
+ @source "../spinner/registry.js";
25
+ @source "../spinner/spinner.js";
26
+ @source "../tokens/dist/motion.js";
@@ -0,0 +1,6 @@
1
+ /* @nsaa/core: Tailwind sources for drawer (generated). */
2
+ @source "../drawer/drawer.js";
3
+ @source "../lib/cn.js";
4
+ @source "../sound/sound-map.js";
5
+ @source "../sound/sound.js";
6
+ @source "../tokens/dist/motion.js";
@@ -0,0 +1,6 @@
1
+ /* @nsaa/core: Tailwind sources for dropdown-menu (generated). */
2
+ @source "../dropdown-menu/dropdown-menu.js";
3
+ @source "../lib/cn.js";
4
+ @source "../sound/sound-map.js";
5
+ @source "../sound/sound.js";
6
+ @source "../tokens/dist/motion.js";
@@ -0,0 +1,3 @@
1
+ /* @nsaa/core: Tailwind sources for empty (generated). */
2
+ @source "../empty/empty.js";
3
+ @source "../lib/cn.js";
@@ -0,0 +1,5 @@
1
+ /* @nsaa/core: Tailwind sources for field (generated). */
2
+ @source "../field/field.js";
3
+ @source "../label/label.js";
4
+ @source "../lib/cn.js";
5
+ @source "../separator/separator.js";
@@ -0,0 +1,27 @@
1
+ /* @nsaa/core: Tailwind sources for input-group (generated). */
2
+ @source "../button/button.js";
3
+ @source "../input-group/input-group.js";
4
+ @source "../input/input.js";
5
+ @source "../lib/cn.js";
6
+ @source "../lib/control-defaults.js";
7
+ @source "../lib/use-press.js";
8
+ @source "../loaders/arc.js";
9
+ @source "../loaders/bouncing-dots.js";
10
+ @source "../loaders/cap.js";
11
+ @source "../loaders/circular-dots.js";
12
+ @source "../loaders/classic.js";
13
+ @source "../loaders/easing.js";
14
+ @source "../loaders/fade.js";
15
+ @source "../loaders/frame.js";
16
+ @source "../loaders/motion.js";
17
+ @source "../loaders/orbit.js";
18
+ @source "../loaders/pulse.js";
19
+ @source "../loaders/ring.js";
20
+ @source "../loaders/wave.js";
21
+ @source "../sound/sound-map.js";
22
+ @source "../sound/sound.js";
23
+ @source "../spinner/loader-provider.js";
24
+ @source "../spinner/registry.js";
25
+ @source "../spinner/spinner.js";
26
+ @source "../textarea/textarea.js";
27
+ @source "../tokens/dist/motion.js";
@@ -0,0 +1,8 @@
1
+ /* @nsaa/core: Tailwind sources for input-otp (generated). */
2
+ @source "../input-otp/input-otp.js";
3
+ @source "../lib/cn.js";
4
+ @source "../lib/input-modality.js";
5
+ @source "../lib/user-action.js";
6
+ @source "../sound/sound-map.js";
7
+ @source "../sound/sound.js";
8
+ @source "../tokens/dist/motion.js";
@@ -0,0 +1,3 @@
1
+ /* @nsaa/core: Tailwind sources for input (generated). */
2
+ @source "../input/input.js";
3
+ @source "../lib/cn.js";
@@ -0,0 +1,3 @@
1
+ /* @nsaa/core: Tailwind sources for kbd (generated). */
2
+ @source "../kbd/kbd.js";
3
+ @source "../lib/cn.js";
@@ -0,0 +1,3 @@
1
+ /* @nsaa/core: Tailwind sources for label (generated). */
2
+ @source "../label/label.js";
3
+ @source "../lib/cn.js";
@@ -0,0 +1,8 @@
1
+ /* @nsaa/core: Tailwind sources for loaders-text (generated). */
2
+ @source "../lib/cn.js";
3
+ @source "../loaders-text.js";
4
+ @source "../loaders/frame.js";
5
+ @source "../loaders/motion.js";
6
+ @source "../loaders/text/shared.js";
7
+ @source "../loaders/text/text-loaders.js";
8
+ @source "../tokens/dist/motion.js";
@@ -0,0 +1,40 @@
1
+ /* @nsaa/core: Tailwind sources for loaders (generated). */
2
+ @source "../lib/cn.js";
3
+ @source "../loaders/arc.js";
4
+ @source "../loaders/atom.js";
5
+ @source "../loaders/blocks.js";
6
+ @source "../loaders/bouncing-dots.js";
7
+ @source "../loaders/cap.js";
8
+ @source "../loaders/cascade.js";
9
+ @source "../loaders/circular-dots.js";
10
+ @source "../loaders/classic-v2.js";
11
+ @source "../loaders/classic.js";
12
+ @source "../loaders/clock.js";
13
+ @source "../loaders/comet.js";
14
+ @source "../loaders/compass.js";
15
+ @source "../loaders/dual.js";
16
+ @source "../loaders/easing.js";
17
+ @source "../loaders/eclipse.js";
18
+ @source "../loaders/fade.js";
19
+ @source "../loaders/flip.js";
20
+ @source "../loaders/frame.js";
21
+ @source "../loaders/gather.js";
22
+ @source "../loaders/leap.js";
23
+ @source "../loaders/linear-dots.js";
24
+ @source "../loaders/loading.js";
25
+ @source "../loaders/morph.js";
26
+ @source "../loaders/motion.js";
27
+ @source "../loaders/orbit.js";
28
+ @source "../loaders/pulse.js";
29
+ @source "../loaders/radar.js";
30
+ @source "../loaders/ring.js";
31
+ @source "../loaders/ripple.js";
32
+ @source "../loaders/slide.js";
33
+ @source "../loaders/snake.js";
34
+ @source "../loaders/spinners.js";
35
+ @source "../loaders/swirl.js";
36
+ @source "../loaders/text/shared.js";
37
+ @source "../loaders/text/text-loaders.js";
38
+ @source "../loaders/trace.js";
39
+ @source "../loaders/wave.js";
40
+ @source "../tokens/dist/motion.js";
@@ -0,0 +1,3 @@
1
+ /* @nsaa/core: Tailwind sources for native-select (generated). */
2
+ @source "../lib/cn.js";
3
+ @source "../native-select/native-select.js";
@@ -0,0 +1,25 @@
1
+ /* @nsaa/core: Tailwind sources for pagination (generated). */
2
+ @source "../button/button.js";
3
+ @source "../lib/cn.js";
4
+ @source "../lib/control-defaults.js";
5
+ @source "../lib/use-press.js";
6
+ @source "../loaders/arc.js";
7
+ @source "../loaders/bouncing-dots.js";
8
+ @source "../loaders/cap.js";
9
+ @source "../loaders/circular-dots.js";
10
+ @source "../loaders/classic.js";
11
+ @source "../loaders/easing.js";
12
+ @source "../loaders/fade.js";
13
+ @source "../loaders/frame.js";
14
+ @source "../loaders/motion.js";
15
+ @source "../loaders/orbit.js";
16
+ @source "../loaders/pulse.js";
17
+ @source "../loaders/ring.js";
18
+ @source "../loaders/wave.js";
19
+ @source "../pagination/pagination.js";
20
+ @source "../sound/sound-map.js";
21
+ @source "../sound/sound.js";
22
+ @source "../spinner/loader-provider.js";
23
+ @source "../spinner/registry.js";
24
+ @source "../spinner/spinner.js";
25
+ @source "../tokens/dist/motion.js";
@@ -0,0 +1,3 @@
1
+ /* @nsaa/core: Tailwind sources for popover (generated). */
2
+ @source "../lib/cn.js";
3
+ @source "../popover/popover.js";