@almach/ui 0.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.
Files changed (147) hide show
  1. package/dist/.tsbuildinfo +1 -0
  2. package/dist/components/alert.d.ts +33 -0
  3. package/dist/components/alert.d.ts.map +1 -0
  4. package/dist/components/alert.js +54 -0
  5. package/dist/components/alert.js.map +1 -0
  6. package/dist/components/avatar.d.ts +15 -0
  7. package/dist/components/avatar.d.ts.map +1 -0
  8. package/dist/components/avatar.js +33 -0
  9. package/dist/components/avatar.js.map +1 -0
  10. package/dist/components/badge.d.ts +10 -0
  11. package/dist/components/badge.d.ts.map +1 -0
  12. package/dist/components/badge.js +24 -0
  13. package/dist/components/badge.js.map +1 -0
  14. package/dist/components/button.d.ts +15 -0
  15. package/dist/components/button.d.ts.map +1 -0
  16. package/dist/components/button.js +47 -0
  17. package/dist/components/button.js.map +1 -0
  18. package/dist/components/calendar.d.ts +4 -0
  19. package/dist/components/calendar.d.ts.map +1 -0
  20. package/dist/components/calendar.js +73 -0
  21. package/dist/components/calendar.js.map +1 -0
  22. package/dist/components/card.d.ts +30 -0
  23. package/dist/components/card.d.ts.map +1 -0
  24. package/dist/components/card.js +54 -0
  25. package/dist/components/card.js.map +1 -0
  26. package/dist/components/carousel.d.ts +21 -0
  27. package/dist/components/carousel.d.ts.map +1 -0
  28. package/dist/components/carousel.js +149 -0
  29. package/dist/components/carousel.js.map +1 -0
  30. package/dist/components/checkbox.d.ts +7 -0
  31. package/dist/components/checkbox.d.ts.map +1 -0
  32. package/dist/components/checkbox.js +9 -0
  33. package/dist/components/checkbox.js.map +1 -0
  34. package/dist/components/collapsible.d.ts +7 -0
  35. package/dist/components/collapsible.d.ts.map +1 -0
  36. package/dist/components/collapsible.js +19 -0
  37. package/dist/components/collapsible.js.map +1 -0
  38. package/dist/components/combobox.d.ts +11 -0
  39. package/dist/components/combobox.d.ts.map +1 -0
  40. package/dist/components/combobox.js +10 -0
  41. package/dist/components/combobox.js.map +1 -0
  42. package/dist/components/command.d.ts +85 -0
  43. package/dist/components/command.d.ts.map +1 -0
  44. package/dist/components/command.js +46 -0
  45. package/dist/components/command.js.map +1 -0
  46. package/dist/components/dialog.d.ts +36 -0
  47. package/dist/components/dialog.d.ts.map +1 -0
  48. package/dist/components/dialog.js +37 -0
  49. package/dist/components/dialog.js.map +1 -0
  50. package/dist/components/drawer.d.ts +34 -0
  51. package/dist/components/drawer.d.ts.map +1 -0
  52. package/dist/components/drawer.js +36 -0
  53. package/dist/components/drawer.js.map +1 -0
  54. package/dist/components/dropdown-menu.d.ts +30 -0
  55. package/dist/components/dropdown-menu.d.ts.map +1 -0
  56. package/dist/components/dropdown-menu.js +46 -0
  57. package/dist/components/dropdown-menu.js.map +1 -0
  58. package/dist/components/group.d.ts +26 -0
  59. package/dist/components/group.d.ts.map +1 -0
  60. package/dist/components/group.js +13 -0
  61. package/dist/components/group.js.map +1 -0
  62. package/dist/components/input.d.ts +34 -0
  63. package/dist/components/input.d.ts.map +1 -0
  64. package/dist/components/input.js +156 -0
  65. package/dist/components/input.js.map +1 -0
  66. package/dist/components/label.d.ts +7 -0
  67. package/dist/components/label.d.ts.map +1 -0
  68. package/dist/components/label.js +9 -0
  69. package/dist/components/label.js.map +1 -0
  70. package/dist/components/layered-card.d.ts +13 -0
  71. package/dist/components/layered-card.d.ts.map +1 -0
  72. package/dist/components/layered-card.js +13 -0
  73. package/dist/components/layered-card.js.map +1 -0
  74. package/dist/components/modal.d.ts +36 -0
  75. package/dist/components/modal.d.ts.map +1 -0
  76. package/dist/components/modal.js +72 -0
  77. package/dist/components/modal.js.map +1 -0
  78. package/dist/components/progress.d.ts +5 -0
  79. package/dist/components/progress.d.ts.map +1 -0
  80. package/dist/components/progress.js +11 -0
  81. package/dist/components/progress.js.map +1 -0
  82. package/dist/components/radio.d.ts +11 -0
  83. package/dist/components/radio.d.ts.map +1 -0
  84. package/dist/components/radio.js +17 -0
  85. package/dist/components/radio.js.map +1 -0
  86. package/dist/components/select.d.ts +41 -0
  87. package/dist/components/select.d.ts.map +1 -0
  88. package/dist/components/select.js +49 -0
  89. package/dist/components/select.js.map +1 -0
  90. package/dist/components/separator.d.ts +5 -0
  91. package/dist/components/separator.d.ts.map +1 -0
  92. package/dist/components/separator.js +11 -0
  93. package/dist/components/separator.js.map +1 -0
  94. package/dist/components/skeleton.d.ts +6 -0
  95. package/dist/components/skeleton.d.ts.map +1 -0
  96. package/dist/components/skeleton.js +7 -0
  97. package/dist/components/skeleton.js.map +1 -0
  98. package/dist/components/switch.d.ts +11 -0
  99. package/dist/components/switch.d.ts.map +1 -0
  100. package/dist/components/switch.js +44 -0
  101. package/dist/components/switch.js.map +1 -0
  102. package/dist/components/table.d.ts +36 -0
  103. package/dist/components/table.d.ts.map +1 -0
  104. package/dist/components/table.js +77 -0
  105. package/dist/components/table.js.map +1 -0
  106. package/dist/components/tabs.d.ts +18 -0
  107. package/dist/components/tabs.d.ts.map +1 -0
  108. package/dist/components/tabs.js +63 -0
  109. package/dist/components/tabs.js.map +1 -0
  110. package/dist/components/tag-input.d.ts +14 -0
  111. package/dist/components/tag-input.d.ts.map +1 -0
  112. package/dist/components/tag-input.js +53 -0
  113. package/dist/components/tag-input.js.map +1 -0
  114. package/dist/components/textarea.d.ts +7 -0
  115. package/dist/components/textarea.d.ts.map +1 -0
  116. package/dist/components/textarea.js +9 -0
  117. package/dist/components/textarea.js.map +1 -0
  118. package/dist/components/toast.d.ts +19 -0
  119. package/dist/components/toast.d.ts.map +1 -0
  120. package/dist/components/toast.js +51 -0
  121. package/dist/components/toast.js.map +1 -0
  122. package/dist/components/toaster.d.ts +2 -0
  123. package/dist/components/toaster.d.ts.map +1 -0
  124. package/dist/components/toaster.js +11 -0
  125. package/dist/components/toaster.js.map +1 -0
  126. package/dist/components/tooltip.d.ts +9 -0
  127. package/dist/components/tooltip.d.ts.map +1 -0
  128. package/dist/components/tooltip.js +17 -0
  129. package/dist/components/tooltip.js.map +1 -0
  130. package/dist/hooks/use-copy-to-clipboard.d.ts +8 -0
  131. package/dist/hooks/use-copy-to-clipboard.d.ts.map +1 -0
  132. package/dist/hooks/use-copy-to-clipboard.js +23 -0
  133. package/dist/hooks/use-copy-to-clipboard.js.map +1 -0
  134. package/dist/hooks/use-media-query.d.ts +7 -0
  135. package/dist/hooks/use-media-query.d.ts.map +1 -0
  136. package/dist/hooks/use-media-query.js +21 -0
  137. package/dist/hooks/use-media-query.js.map +1 -0
  138. package/dist/hooks/use-toast.d.ts +45 -0
  139. package/dist/hooks/use-toast.d.ts.map +1 -0
  140. package/dist/hooks/use-toast.js +102 -0
  141. package/dist/hooks/use-toast.js.map +1 -0
  142. package/dist/index.d.ts +46 -0
  143. package/dist/index.d.ts.map +1 -0
  144. package/dist/index.js +36 -0
  145. package/dist/index.js.map +1 -0
  146. package/package.json +74 -0
  147. package/src/styles/globals.css +241 -0
@@ -0,0 +1,30 @@
1
+ import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
2
+ import * as React from "react";
3
+ declare function DropdownMenuLabel({ className, inset, ...props }: React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Label> & {
4
+ inset?: boolean;
5
+ }): import("react/jsx-runtime").JSX.Element;
6
+ declare function DropdownMenuSeparator({ className, ...props }: React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Separator>): import("react/jsx-runtime").JSX.Element;
7
+ declare function DropdownMenuShortcut({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>): import("react/jsx-runtime").JSX.Element;
8
+ declare const DropdownMenu: React.FC<DropdownMenuPrimitive.DropdownMenuProps> & {
9
+ Trigger: React.ForwardRefExoticComponent<DropdownMenuPrimitive.DropdownMenuTriggerProps & React.RefAttributes<HTMLButtonElement>>;
10
+ Portal: React.FC<DropdownMenuPrimitive.DropdownMenuPortalProps>;
11
+ Sub: React.FC<DropdownMenuPrimitive.DropdownMenuSubProps>;
12
+ RadioGroup: React.ForwardRefExoticComponent<DropdownMenuPrimitive.DropdownMenuRadioGroupProps & React.RefAttributes<HTMLDivElement>>;
13
+ Group: React.ForwardRefExoticComponent<DropdownMenuPrimitive.DropdownMenuGroupProps & React.RefAttributes<HTMLDivElement>>;
14
+ Content: React.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
15
+ SubTrigger: React.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuSubTriggerProps & React.RefAttributes<HTMLDivElement>, "ref"> & {
16
+ inset?: boolean;
17
+ } & React.RefAttributes<HTMLDivElement>>;
18
+ SubContent: React.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuSubContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
19
+ Item: React.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuItemProps & React.RefAttributes<HTMLDivElement>, "ref"> & {
20
+ inset?: boolean;
21
+ destructive?: boolean;
22
+ } & React.RefAttributes<HTMLDivElement>>;
23
+ CheckboxItem: React.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuCheckboxItemProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
24
+ RadioItem: React.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuRadioItemProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
25
+ Label: typeof DropdownMenuLabel;
26
+ Separator: typeof DropdownMenuSeparator;
27
+ Shortcut: typeof DropdownMenuShortcut;
28
+ };
29
+ export { DropdownMenu };
30
+ //# sourceMappingURL=dropdown-menu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dropdown-menu.d.ts","sourceRoot":"","sources":["../../src/components/dropdown-menu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,qBAAqB,MAAM,+BAA+B,CAAC;AAEvE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAuI/B,iBAAS,iBAAiB,CAAC,EAC1B,SAAS,EACT,KAAK,EACL,GAAG,KAAK,EACR,EAAE,KAAK,CAAC,wBAAwB,CAAC,OAAO,qBAAqB,CAAC,KAAK,CAAC,GAAG;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,2CAW1F;AAED,iBAAS,qBAAqB,CAAC,EAC9B,SAAS,EACT,GAAG,KAAK,EACR,EAAE,KAAK,CAAC,wBAAwB,CAAC,OAAO,qBAAqB,CAAC,SAAS,CAAC,2CAOxE;AAED,iBAAS,oBAAoB,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,eAAe,CAAC,2CAO3F;AAGD,QAAA,MAAM,YAAY;;;;;;;;gBAvKmE,OAAO;;;;gBA+Db,OAAO;sBAAgB,OAAO;;;;;;;CAuH3G,CAAC;AAEH,OAAO,EAAE,YAAY,EAAE,CAAC"}
@@ -0,0 +1,46 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
3
+ import { Check, ChevronRight, Circle } from "lucide-react";
4
+ import * as React from "react";
5
+ import { cn } from "@almach/utils";
6
+ /* ── Sub-components ────────────────────────────────────────────────────── */
7
+ const DropdownMenuSubTrigger = React.forwardRef(({ className, inset, children, ...props }, ref) => (_jsxs(DropdownMenuPrimitive.SubTrigger, { ref: ref, className: cn("flex cursor-default select-none items-center gap-2 rounded-lg px-2 py-1.5 text-sm outline-none", "focus:bg-accent data-[state=open]:bg-accent", inset && "pl-8", className), ...props, children: [children, _jsx(ChevronRight, { className: "ml-auto h-4 w-4" })] })));
8
+ DropdownMenuSubTrigger.displayName = "DropdownMenu.SubTrigger";
9
+ const DropdownMenuSubContent = React.forwardRef(({ className, ...props }, ref) => (_jsx(DropdownMenuPrimitive.SubContent, { ref: ref, className: cn("z-50 min-w-[8rem] overflow-hidden rounded-xl border bg-popover p-1.5 text-popover-foreground shadow-lg", "data-[state=open]:animate-in data-[state=closed]:animate-out", "data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0", "data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95", "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", className), ...props })));
10
+ DropdownMenuSubContent.displayName = "DropdownMenu.SubContent";
11
+ const DropdownMenuContent = React.forwardRef(({ className, sideOffset = 6, ...props }, ref) => (_jsx(DropdownMenuPrimitive.Portal, { children: _jsx(DropdownMenuPrimitive.Content, { ref: ref, sideOffset: sideOffset, className: cn("z-50 min-w-[8rem] overflow-hidden rounded-xl border bg-popover p-1.5 text-popover-foreground shadow-xl", "data-[state=open]:animate-in data-[state=closed]:animate-out", "data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0", "data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95", "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", className), ...props }) })));
12
+ DropdownMenuContent.displayName = "DropdownMenu.Content";
13
+ const DropdownMenuItem = React.forwardRef(({ className, inset, destructive, ...props }, ref) => (_jsx(DropdownMenuPrimitive.Item, { ref: ref, className: cn("relative flex cursor-default select-none items-center gap-2 rounded-lg px-2 py-1.5 text-sm outline-none transition-colors", "focus:bg-accent focus:text-accent-foreground", "data-[disabled]:pointer-events-none data-[disabled]:opacity-50", inset && "pl-8", destructive && "text-destructive focus:bg-destructive/10 focus:text-destructive", "[&_svg]:size-4 [&_svg]:shrink-0", className), ...props })));
14
+ DropdownMenuItem.displayName = "DropdownMenu.Item";
15
+ const DropdownMenuCheckboxItem = React.forwardRef(({ className, children, ...props }, ref) => (_jsxs(DropdownMenuPrimitive.CheckboxItem, { ref: ref, className: cn("relative flex cursor-default select-none items-center rounded-lg py-1.5 pl-8 pr-2 text-sm outline-none transition-colors", "focus:bg-accent focus:text-accent-foreground", "data-[disabled]:pointer-events-none data-[disabled]:opacity-50"), ...props, children: [_jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: _jsx(DropdownMenuPrimitive.ItemIndicator, { children: _jsx(Check, { className: "h-4 w-4" }) }) }), children] })));
16
+ DropdownMenuCheckboxItem.displayName = "DropdownMenu.CheckboxItem";
17
+ const DropdownMenuRadioItem = React.forwardRef(({ className, children, ...props }, ref) => (_jsxs(DropdownMenuPrimitive.RadioItem, { ref: ref, className: cn("relative flex cursor-default select-none items-center rounded-lg py-1.5 pl-8 pr-2 text-sm outline-none transition-colors", "focus:bg-accent focus:text-accent-foreground", "data-[disabled]:pointer-events-none data-[disabled]:opacity-50", className), ...props, children: [_jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: _jsx(DropdownMenuPrimitive.ItemIndicator, { children: _jsx(Circle, { className: "h-2 w-2 fill-current" }) }) }), children] })));
18
+ DropdownMenuRadioItem.displayName = "DropdownMenu.RadioItem";
19
+ function DropdownMenuLabel({ className, inset, ...props }) {
20
+ return (_jsx(DropdownMenuPrimitive.Label, { className: cn("px-2 py-1 text-[11px] font-semibold uppercase tracking-wider text-muted-foreground", inset && "pl-8", className), ...props }));
21
+ }
22
+ function DropdownMenuSeparator({ className, ...props }) {
23
+ return (_jsx(DropdownMenuPrimitive.Separator, { className: cn("-mx-1.5 my-1 h-px bg-border", className), ...props }));
24
+ }
25
+ function DropdownMenuShortcut({ className, ...props }) {
26
+ return (_jsx("span", { className: cn("ml-auto text-xs tracking-widest opacity-50", className), ...props }));
27
+ }
28
+ /* ── Compound export ───────────────────────────────────────────────────── */
29
+ const DropdownMenu = Object.assign(DropdownMenuPrimitive.Root, {
30
+ Trigger: DropdownMenuPrimitive.Trigger,
31
+ Portal: DropdownMenuPrimitive.Portal,
32
+ Sub: DropdownMenuPrimitive.Sub,
33
+ RadioGroup: DropdownMenuPrimitive.RadioGroup,
34
+ Group: DropdownMenuPrimitive.Group,
35
+ Content: DropdownMenuContent,
36
+ SubTrigger: DropdownMenuSubTrigger,
37
+ SubContent: DropdownMenuSubContent,
38
+ Item: DropdownMenuItem,
39
+ CheckboxItem: DropdownMenuCheckboxItem,
40
+ RadioItem: DropdownMenuRadioItem,
41
+ Label: DropdownMenuLabel,
42
+ Separator: DropdownMenuSeparator,
43
+ Shortcut: DropdownMenuShortcut,
44
+ });
45
+ export { DropdownMenu };
46
+ //# sourceMappingURL=dropdown-menu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dropdown-menu.js","sourceRoot":"","sources":["../../src/components/dropdown-menu.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,qBAAqB,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AAEnC,8EAA8E;AAC9E,MAAM,sBAAsB,GAAG,KAAK,CAAC,UAAU,CAG7C,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CACpD,MAAC,qBAAqB,CAAC,UAAU,IAChC,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACZ,gGAAgG,EAChG,6CAA6C,EAC7C,KAAK,IAAI,MAAM,EACf,SAAS,CACT,KACG,KAAK,aAER,QAAQ,EACT,KAAC,YAAY,IAAC,SAAS,EAAC,iBAAiB,GAAG,IACV,CACnC,CAAC,CAAC;AACH,sBAAsB,CAAC,WAAW,GAAG,yBAAyB,CAAC;AAE/D,MAAM,sBAAsB,GAAG,KAAK,CAAC,UAAU,CAG7C,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CACnC,KAAC,qBAAqB,CAAC,UAAU,IAChC,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACZ,wGAAwG,EACxG,8DAA8D,EAC9D,4DAA4D,EAC5D,8DAA8D,EAC9D,+EAA+E,EAC/E,+EAA+E,EAC/E,SAAS,CACT,KACG,KAAK,GACR,CACF,CAAC,CAAC;AACH,sBAAsB,CAAC,WAAW,GAAG,yBAAyB,CAAC;AAE/D,MAAM,mBAAmB,GAAG,KAAK,CAAC,UAAU,CAG1C,CAAC,EAAE,SAAS,EAAE,UAAU,GAAG,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CACnD,KAAC,qBAAqB,CAAC,MAAM,cAC5B,KAAC,qBAAqB,CAAC,OAAO,IAC7B,GAAG,EAAE,GAAG,EACR,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,EAAE,CACZ,wGAAwG,EACxG,8DAA8D,EAC9D,4DAA4D,EAC5D,8DAA8D,EAC9D,+EAA+E,EAC/E,+EAA+E,EAC/E,SAAS,CACT,KACG,KAAK,GACR,GAC4B,CAC/B,CAAC,CAAC;AACH,mBAAmB,CAAC,WAAW,GAAG,sBAAsB,CAAC;AAEzD,MAAM,gBAAgB,GAAG,KAAK,CAAC,UAAU,CAGvC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CACvD,KAAC,qBAAqB,CAAC,IAAI,IAC1B,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACZ,2HAA2H,EAC3H,8CAA8C,EAC9C,gEAAgE,EAChE,KAAK,IAAI,MAAM,EACf,WAAW,IAAI,iEAAiE,EAChF,iCAAiC,EACjC,SAAS,CACT,KACG,KAAK,GACR,CACF,CAAC,CAAC;AACH,gBAAgB,CAAC,WAAW,GAAG,mBAAmB,CAAC;AAEnD,MAAM,wBAAwB,GAAG,KAAK,CAAC,UAAU,CAG/C,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAC7C,MAAC,qBAAqB,CAAC,YAAY,IAClC,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACZ,0HAA0H,EAC1H,8CAA8C,EAC9C,gEAAgE,CAChE,KACG,KAAK,aAET,eAAM,SAAS,EAAC,8DAA8D,YAC7E,KAAC,qBAAqB,CAAC,aAAa,cACnC,KAAC,KAAK,IAAC,SAAS,EAAC,SAAS,GAAG,GACQ,GAChC,EACN,QAAQ,IAC2B,CACrC,CAAC,CAAC;AACH,wBAAwB,CAAC,WAAW,GAAG,2BAA2B,CAAC;AAEnE,MAAM,qBAAqB,GAAG,KAAK,CAAC,UAAU,CAG5C,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAC7C,MAAC,qBAAqB,CAAC,SAAS,IAC/B,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACZ,0HAA0H,EAC1H,8CAA8C,EAC9C,gEAAgE,EAChE,SAAS,CACT,KACG,KAAK,aAET,eAAM,SAAS,EAAC,8DAA8D,YAC7E,KAAC,qBAAqB,CAAC,aAAa,cACnC,KAAC,MAAM,IAAC,SAAS,EAAC,sBAAsB,GAAG,GACN,GAChC,EACN,QAAQ,IACwB,CAClC,CAAC,CAAC;AACH,qBAAqB,CAAC,WAAW,GAAG,wBAAwB,CAAC;AAE7D,SAAS,iBAAiB,CAAC,EAC1B,SAAS,EACT,KAAK,EACL,GAAG,KAAK,EACkF;IAC1F,OAAO,CACN,KAAC,qBAAqB,CAAC,KAAK,IAC3B,SAAS,EAAE,EAAE,CACZ,oFAAoF,EACpF,KAAK,IAAI,MAAM,EACf,SAAS,CACT,KACG,KAAK,GACR,CACF,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,EAC9B,SAAS,EACT,GAAG,KAAK,EACgE;IACxE,OAAO,CACN,KAAC,qBAAqB,CAAC,SAAS,IAC/B,SAAS,EAAE,EAAE,CAAC,6BAA6B,EAAE,SAAS,CAAC,KACnD,KAAK,GACR,CACF,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAyC;IAC3F,OAAO,CACN,eACC,SAAS,EAAE,EAAE,CAAC,4CAA4C,EAAE,SAAS,CAAC,KAClE,KAAK,GACR,CACF,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,qBAAqB,CAAC,IAAI,EAAE;IAC9D,OAAO,EAAE,qBAAqB,CAAC,OAAO;IACtC,MAAM,EAAE,qBAAqB,CAAC,MAAM;IACpC,GAAG,EAAE,qBAAqB,CAAC,GAAG;IAC9B,UAAU,EAAE,qBAAqB,CAAC,UAAU;IAC5C,KAAK,EAAE,qBAAqB,CAAC,KAAK;IAClC,OAAO,EAAE,mBAAmB;IAC5B,UAAU,EAAE,sBAAsB;IAClC,UAAU,EAAE,sBAAsB;IAClC,IAAI,EAAE,gBAAgB;IACtB,YAAY,EAAE,wBAAwB;IACtC,SAAS,EAAE,qBAAqB;IAChC,KAAK,EAAE,iBAAiB;IACxB,SAAS,EAAE,qBAAqB;IAChC,QAAQ,EAAE,oBAAoB;CAC9B,CAAC,CAAC;AAEH,OAAO,EAAE,YAAY,EAAE,CAAC"}
@@ -0,0 +1,26 @@
1
+ import * as React from "react";
2
+ interface GroupProps extends React.HTMLAttributes<HTMLDivElement> {
3
+ /** Small label shown above the group */
4
+ label?: string;
5
+ /** Helper text shown below the group */
6
+ hint?: string;
7
+ }
8
+ declare function GroupRoot({ label, hint, className, children, ...props }: GroupProps): import("react/jsx-runtime").JSX.Element;
9
+ interface GroupRowProps extends React.HTMLAttributes<HTMLDivElement> {
10
+ /** Left-side primary label */
11
+ label?: string;
12
+ /** Left-side secondary text under label */
13
+ description?: string;
14
+ /** Associates label with a form control */
15
+ htmlFor?: string;
16
+ /** Marks the field as required (adds red asterisk) */
17
+ required?: boolean;
18
+ /** Right-side element: form control, toggle, arrow, badge, etc. */
19
+ action?: React.ReactNode;
20
+ }
21
+ declare function GroupRow({ label, description, htmlFor, required, action, children, className, onClick, ...props }: GroupRowProps): import("react/jsx-runtime").JSX.Element;
22
+ export declare const Group: typeof GroupRoot & {
23
+ Row: typeof GroupRow;
24
+ };
25
+ export {};
26
+ //# sourceMappingURL=group.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"group.d.ts","sourceRoot":"","sources":["../../src/components/group.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,UAAU,UAAW,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAChE,wCAAwC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wCAAwC;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;CACd;AAED,iBAAS,SAAS,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,UAAU,2CAgB5E;AAGD,UAAU,aAAc,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACnE,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2CAA2C;IAC3C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2CAA2C;IAC3C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sDAAsD;IACtD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mEAAmE;IACnE,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACzB;AAED,iBAAS,QAAQ,CAAC,EACjB,KAAK,EACL,WAAW,EACX,OAAO,EACP,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,SAAS,EACT,OAAO,EACP,GAAG,KAAK,EACR,EAAE,aAAa,2CAiDf;AAGD,eAAO,MAAM,KAAK;;CAEhB,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { cn } from "@almach/utils";
3
+ function GroupRoot({ label, hint, className, children, ...props }) {
4
+ return (_jsxs("div", { className: cn("space-y-1.5", className), ...props, children: [label && (_jsx("p", { className: "px-1 text-xs font-medium uppercase tracking-wider text-muted-foreground", children: label })), _jsx("div", { className: "overflow-hidden rounded-xl border bg-card divide-y", children: children }), hint && (_jsx("p", { className: "px-1 text-xs text-muted-foreground", children: hint }))] }));
5
+ }
6
+ function GroupRow({ label, description, htmlFor, required, action, children, className, onClick, ...props }) {
7
+ return (_jsxs("div", { className: cn("flex items-center gap-3 px-4 py-3 bg-card transition-colors", onClick && "cursor-pointer hover:bg-accent/50", className), onClick: onClick, ...props, children: [label ? (_jsxs("div", { className: "min-w-0 flex-1", children: [_jsxs("label", { htmlFor: htmlFor, className: cn("text-sm font-medium leading-none", htmlFor && "cursor-pointer"), children: [label, required && (_jsx("span", { className: "ml-1 text-destructive", "aria-hidden": true, children: "*" }))] }), description && (_jsx("p", { className: "mt-0.5 text-xs leading-relaxed text-muted-foreground", children: description }))] })) : (_jsx("div", { className: "min-w-0 flex-1 text-sm", children: children })), label && children && (_jsx("div", { className: "shrink-0", children: children })), action && (_jsx("div", { className: "shrink-0 text-muted-foreground", children: action }))] }));
8
+ }
9
+ /* ── Compound export ──────────────────────────────────────────────────────── */
10
+ export const Group = Object.assign(GroupRoot, {
11
+ Row: GroupRow,
12
+ });
13
+ //# sourceMappingURL=group.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"group.js","sourceRoot":"","sources":["../../src/components/group.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AAUnC,SAAS,SAAS,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAc;IAC5E,OAAO,CACN,eAAK,SAAS,EAAE,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC,KAAM,KAAK,aACrD,KAAK,IAAI,CACT,YAAG,SAAS,EAAC,yEAAyE,YACpF,KAAK,GACH,CACJ,EACD,cAAK,SAAS,EAAC,oDAAoD,YACjE,QAAQ,GACJ,EACL,IAAI,IAAI,CACR,YAAG,SAAS,EAAC,oCAAoC,YAAE,IAAI,GAAK,CAC5D,IACI,CACN,CAAC;AACH,CAAC;AAgBD,SAAS,QAAQ,CAAC,EACjB,KAAK,EACL,WAAW,EACX,OAAO,EACP,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,SAAS,EACT,OAAO,EACP,GAAG,KAAK,EACO;IACf,OAAO,CACN,eACC,SAAS,EAAE,EAAE,CACZ,6DAA6D,EAC7D,OAAO,IAAI,mCAAmC,EAC9C,SAAS,CACT,EACD,OAAO,EAAE,OAAO,KACZ,KAAK,aAGR,KAAK,CAAC,CAAC,CAAC,CACR,eAAK,SAAS,EAAC,gBAAgB,aAC9B,iBACC,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,EAAE,CACZ,kCAAkC,EAClC,OAAO,IAAI,gBAAgB,CAC3B,aAEA,KAAK,EACL,QAAQ,IAAI,CACZ,eAAM,SAAS,EAAC,uBAAuB,uCAEhC,CACP,IACM,EACP,WAAW,IAAI,CACf,YAAG,SAAS,EAAC,sDAAsD,YACjE,WAAW,GACT,CACJ,IACI,CACN,CAAC,CAAC,CAAC,CACH,cAAK,SAAS,EAAC,wBAAwB,YAAE,QAAQ,GAAO,CACxD,EAGA,KAAK,IAAI,QAAQ,IAAI,CACrB,cAAK,SAAS,EAAC,UAAU,YAAE,QAAQ,GAAO,CAC1C,EAGA,MAAM,IAAI,CACV,cAAK,SAAS,EAAC,gCAAgC,YAAE,MAAM,GAAO,CAC9D,IACI,CACN,CAAC;AACH,CAAC;AAED,iFAAiF;AACjF,MAAM,CAAC,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE;IAC7C,GAAG,EAAE,QAAQ;CACb,CAAC,CAAC"}
@@ -0,0 +1,34 @@
1
+ import * as React from "react";
2
+ export interface InputProps extends React.InputHTMLAttributes<HTMLInputElement> {
3
+ leftElement?: React.ReactNode;
4
+ rightElement?: React.ReactNode;
5
+ error?: boolean;
6
+ }
7
+ export interface InputDateProps {
8
+ id?: string;
9
+ value?: Date;
10
+ onChange?: (date: Date | undefined) => void;
11
+ disabled?: boolean;
12
+ error?: boolean;
13
+ /** Show calendar picker button inside the input */
14
+ withCalendar?: boolean;
15
+ /**
16
+ * Date format controlling segment order and separator.
17
+ * Tokens: MM (month), DD (day), YYYY (year).
18
+ * @example "MM/DD/YYYY" | "DD/MM/YYYY" | "YYYY-MM-DD" | "DD-MM-YYYY"
19
+ * @default "MM/DD/YYYY"
20
+ */
21
+ format?: string;
22
+ className?: string;
23
+ }
24
+ declare function InputDate({ id, value, onChange, disabled, error, withCalendar, format, className, }: InputDateProps): import("react/jsx-runtime").JSX.Element;
25
+ declare namespace InputDate {
26
+ var displayName: string;
27
+ }
28
+ declare const InputCompound: React.ForwardRefExoticComponent<InputProps & React.RefAttributes<HTMLInputElement>> & {
29
+ Date: typeof InputDate;
30
+ };
31
+ export { InputCompound as Input };
32
+ export declare const DateInput: typeof InputDate;
33
+ export type { InputDateProps as DateInputProps };
34
+ //# sourceMappingURL=input.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../src/components/input.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,MAAM,WAAW,UAAW,SAAQ,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC;IAC9E,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC/B,KAAK,CAAC,EAAE,OAAO,CAAC;CAChB;AA0CD,MAAM,WAAW,cAAc;IAC9B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,IAAI,CAAC;IACb,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,KAAK,IAAI,CAAC;IAC5C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,mDAAmD;IACnD,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AA4BD,iBAAS,SAAS,CAAC,EAClB,EAAE,EACF,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,YAAoB,EACpB,MAAqB,EACrB,SAAS,GACT,EAAE,cAAc,2CA6LhB;kBAtMQ,SAAS;;;AA0MlB,QAAA,MAAM,aAAa;;CAA4C,CAAC;AAEhE,OAAO,EAAE,aAAa,IAAI,KAAK,EAAE,CAAC;AAGlC,eAAO,MAAM,SAAS,kBAAY,CAAC;AACnC,YAAY,EAAE,cAAc,IAAI,cAAc,EAAE,CAAC"}
@@ -0,0 +1,156 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import * as PopoverPrimitive from "@radix-ui/react-popover";
4
+ import { CalendarIcon } from "lucide-react";
5
+ import * as React from "react";
6
+ import { cn } from "@almach/utils";
7
+ import { Calendar } from "./calendar";
8
+ const Input = React.forwardRef(({ className, type, leftElement, rightElement, error, ...props }, ref) => {
9
+ return (_jsxs("div", { className: "relative flex items-center w-full", children: [leftElement && (_jsx("div", { className: "pointer-events-none absolute left-3 flex items-center text-muted-foreground [&_svg]:size-4", children: leftElement })), _jsx("input", { type: type, className: cn("flex h-9 w-full rounded-lg border border-input bg-background text-sm", "transition-all duration-150", "placeholder:text-muted-foreground", "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 ring-offset-background", "disabled:cursor-not-allowed disabled:opacity-50", "file:border-0 file:bg-transparent file:text-sm file:font-medium", leftElement ? "pl-9 pr-3" : "px-3", rightElement ? "pr-9" : "", !leftElement && !rightElement && "px-3", error && "border-destructive focus-visible:ring-destructive", className), ref: ref, "aria-invalid": error, ...props }), rightElement && (_jsx("div", { className: "absolute right-3 flex items-center text-muted-foreground [&_svg]:size-4", children: rightElement }))] }));
10
+ });
11
+ Input.displayName = "Input";
12
+ const SEG_LIMITS = {
13
+ month: { min: 1, max: 12, len: 2 },
14
+ day: { min: 1, max: 31, len: 2 },
15
+ year: { min: 1900, max: 2100, len: 4 },
16
+ };
17
+ /** Supported tokens: MM, DD, YYYY. Separator = first non-token char. */
18
+ function parseFormat(fmt) {
19
+ const sep = fmt.replace(/MM|DD|YYYY/g, "")[0] ?? "/";
20
+ const order = fmt.split(sep).map((p) => p === "MM" ? "month" : p === "DD" ? "day" : "year");
21
+ return { order, sep };
22
+ }
23
+ function dateToSegments(date) {
24
+ return {
25
+ month: String(date.getMonth() + 1).padStart(2, "0"),
26
+ day: String(date.getDate()).padStart(2, "0"),
27
+ year: String(date.getFullYear()),
28
+ };
29
+ }
30
+ const SEG_PLACEHOLDER = { month: "MM", day: "DD", year: "YYYY" };
31
+ function InputDate({ id, value, onChange, disabled, error, withCalendar = false, format = "MM/DD/YYYY", className, }) {
32
+ const { order: SEG_ORDER, sep } = React.useMemo(() => parseFormat(format), [format]);
33
+ const [seg, setSeg] = React.useState(() => value && !isNaN(value.getTime())
34
+ ? dateToSegments(value)
35
+ : { month: "", day: "", year: "" });
36
+ const [active, setActive] = React.useState(null);
37
+ const [calOpen, setCalOpen] = React.useState(false);
38
+ const refs = {
39
+ month: React.useRef(null),
40
+ day: React.useRef(null),
41
+ year: React.useRef(null),
42
+ };
43
+ React.useEffect(() => {
44
+ if (!value) {
45
+ setSeg({ month: "", day: "", year: "" });
46
+ return;
47
+ }
48
+ if (isNaN(value.getTime()))
49
+ return;
50
+ const next = dateToSegments(value);
51
+ setSeg((prev) => prev.month === next.month && prev.day === next.day && prev.year === next.year
52
+ ? prev : next);
53
+ }, [value]);
54
+ const emit = (next) => {
55
+ const m = parseInt(next.month, 10);
56
+ const d = parseInt(next.day, 10);
57
+ const y = parseInt(next.year, 10);
58
+ if (m && d && y && next.year.length === 4) {
59
+ const date = new Date(y, m - 1, d);
60
+ if (!isNaN(date.getTime()) && date.getMonth() === m - 1) {
61
+ onChange?.(date);
62
+ return;
63
+ }
64
+ }
65
+ onChange?.(undefined);
66
+ };
67
+ const focus = (key) => refs[key].current?.focus();
68
+ const focusNext = (key) => { const n = SEG_ORDER[SEG_ORDER.indexOf(key) + 1]; if (n)
69
+ focus(n); };
70
+ const focusPrev = (key) => { const p = SEG_ORDER[SEG_ORDER.indexOf(key) - 1]; if (p)
71
+ focus(p); };
72
+ // When format changes, move focus to first segment
73
+ React.useEffect(() => { focus(SEG_ORDER[0]); }, [format]); // eslint-disable-line react-hooks/exhaustive-deps
74
+ const handleKeyDown = (key, e) => {
75
+ const { min, max, len } = SEG_LIMITS[key];
76
+ if (e.key === "ArrowUp" || e.key === "ArrowDown") {
77
+ e.preventDefault();
78
+ const cur = parseInt(seg[key], 10) || min;
79
+ const next = String(Math.min(Math.max(cur + (e.key === "ArrowUp" ? 1 : -1), min), max)).padStart(len, "0");
80
+ const nextSeg = { ...seg, [key]: next };
81
+ setSeg(nextSeg);
82
+ emit(nextSeg);
83
+ return;
84
+ }
85
+ if (e.key === "ArrowLeft") {
86
+ e.preventDefault();
87
+ focusPrev(key);
88
+ }
89
+ if (e.key === "ArrowRight" || e.key === sep) {
90
+ e.preventDefault();
91
+ focusNext(key);
92
+ }
93
+ if (e.key === "Backspace" && !seg[key])
94
+ focusPrev(key);
95
+ };
96
+ const handleChange = (key, raw) => {
97
+ const { min, max, len } = SEG_LIMITS[key];
98
+ const digits = raw.replace(/\D/g, "").slice(-len);
99
+ let val = digits;
100
+ if (digits.length === len) {
101
+ const n = parseInt(digits, 10);
102
+ if (n > max)
103
+ val = String(max).padStart(len, "0");
104
+ else if (n < min)
105
+ val = String(min).padStart(len, "0");
106
+ }
107
+ const nextSeg = { ...seg, [key]: val };
108
+ setSeg(nextSeg);
109
+ emit(nextSeg);
110
+ const shouldAdvance = val.length === len ||
111
+ (key === "month" && parseInt(val, 10) > 1 && val.length === 1) ||
112
+ (key === "day" && parseInt(val, 10) > 3 && val.length === 1);
113
+ if (shouldAdvance)
114
+ focusNext(key);
115
+ };
116
+ const handleCalendarSelect = (date) => {
117
+ if (date) {
118
+ setSeg(dateToSegments(date));
119
+ onChange?.(date);
120
+ }
121
+ setCalOpen(false);
122
+ };
123
+ const calValue = (() => {
124
+ const m = parseInt(seg.month, 10), d = parseInt(seg.day, 10), y = parseInt(seg.year, 10);
125
+ if (m && d && y && seg.year.length === 4) {
126
+ const dt = new Date(y, m - 1, d);
127
+ if (!isNaN(dt.getTime()) && dt.getMonth() === m - 1)
128
+ return dt;
129
+ }
130
+ return undefined;
131
+ })();
132
+ const segClass = (key) => cn("bg-transparent text-center outline-none tabular-nums caret-transparent select-none", "rounded transition-colors duration-100", "placeholder:text-muted-foreground/50", key === "year" ? "w-[3.2rem]" : "w-8", active === key && "bg-primary/10 text-primary");
133
+ const mkProps = (key, ph) => ({
134
+ ref: refs[key],
135
+ type: "text",
136
+ value: seg[key],
137
+ placeholder: ph,
138
+ maxLength: SEG_LIMITS[key].len,
139
+ disabled,
140
+ inputMode: "numeric",
141
+ "aria-label": key,
142
+ className: segClass(key),
143
+ onChange: (e) => handleChange(key, e.target.value),
144
+ onKeyDown: (e) => handleKeyDown(key, e),
145
+ onFocus: () => setActive(key),
146
+ onBlur: () => setActive(null),
147
+ });
148
+ return (_jsxs("div", { id: id, role: "group", "aria-label": "Date input", className: cn("flex h-9 w-full items-center rounded-lg border border-input bg-background px-3 text-sm", "ring-offset-background transition-all duration-150", "focus-within:outline-none focus-within:ring-2 focus-within:ring-ring focus-within:ring-offset-2", error && "border-destructive focus-within:ring-destructive", disabled && "cursor-not-allowed opacity-50", className), onClick: () => !active && focus(SEG_ORDER[0]), children: [SEG_ORDER.map((key, i) => (_jsxs(React.Fragment, { children: [i > 0 && (_jsx("span", { className: "mx-0.5 select-none text-muted-foreground/40", "aria-hidden": "true", children: sep })), _jsx("input", { ...mkProps(key, SEG_PLACEHOLDER[key]) })] }, key))), withCalendar && (_jsxs(PopoverPrimitive.Root, { open: calOpen, onOpenChange: setCalOpen, children: [_jsx(PopoverPrimitive.Trigger, { asChild: true, children: _jsx("button", { type: "button", disabled: disabled, "aria-label": "Open calendar", "aria-haspopup": "dialog", "aria-expanded": calOpen, className: cn("ml-auto flex items-center justify-center rounded-md p-0.5", "text-muted-foreground transition-colors", "hover:bg-accent hover:text-foreground", "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring", "disabled:pointer-events-none"), children: _jsx(CalendarIcon, { className: "h-4 w-4", "aria-hidden": "true" }) }) }), _jsx(PopoverPrimitive.Portal, { children: _jsx(PopoverPrimitive.Content, { align: "end", sideOffset: 6, className: cn("z-50 overflow-hidden rounded-xl border bg-popover shadow-xl", "data-[state=open]:animate-in data-[state=closed]:animate-out", "data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0", "data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95"), children: _jsx(Calendar, { mode: "single", selected: calValue, onSelect: handleCalendarSelect, defaultMonth: calValue ?? new Date(), initialFocus: true }) }) })] }))] }));
149
+ }
150
+ InputDate.displayName = "Input.Date";
151
+ /* ── Compound export ──────────────────────────────────────────────────────── */
152
+ const InputCompound = Object.assign(Input, { Date: InputDate });
153
+ export { InputCompound as Input };
154
+ // Backward-compat alias
155
+ export const DateInput = InputDate;
156
+ //# sourceMappingURL=input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input.js","sourceRoot":"","sources":["../../src/components/input.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import * as LabelPrimitive from "@radix-ui/react-label";
2
+ import * as React from "react";
3
+ declare const Label: React.ForwardRefExoticComponent<Omit<LabelPrimitive.LabelProps & React.RefAttributes<HTMLLabelElement>, "ref"> & {
4
+ required?: boolean;
5
+ } & React.RefAttributes<HTMLLabelElement>>;
6
+ export { Label };
7
+ //# sourceMappingURL=label.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"label.d.ts","sourceRoot":"","sources":["../../src/components/label.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,cAAc,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,QAAA,MAAM,KAAK;eAGE,OAAO;0CAmBlB,CAAC;AAIH,OAAO,EAAE,KAAK,EAAE,CAAC"}
@@ -0,0 +1,9 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import * as LabelPrimitive from "@radix-ui/react-label";
4
+ import * as React from "react";
5
+ import { cn } from "@almach/utils";
6
+ const Label = React.forwardRef(({ className, required, children, ...props }, ref) => (_jsxs(LabelPrimitive.Root, { ref: ref, className: cn("text-sm font-medium leading-none tracking-tight", "peer-disabled:cursor-not-allowed peer-disabled:opacity-50", className), ...props, children: [children, required && (_jsx("span", { className: "ml-0.5 text-destructive", "aria-hidden": "true", children: "*" }))] })));
7
+ Label.displayName = LabelPrimitive.Root.displayName;
8
+ export { Label };
9
+ //# sourceMappingURL=label.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"label.js","sourceRoot":"","sources":["../../src/components/label.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,KAAK,cAAc,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AAEnC,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAK5B,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CACvD,MAAC,cAAc,CAAC,IAAI,IACnB,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACZ,iDAAiD,EACjD,2DAA2D,EAC3D,SAAS,CACT,KACG,KAAK,aAER,QAAQ,EACR,QAAQ,IAAI,CACZ,eAAM,SAAS,EAAC,yBAAyB,iBAAa,MAAM,kBAErD,CACP,IACoB,CACtB,CAAC,CAAC;AAEH,KAAK,CAAC,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC;AAEpD,OAAO,EAAE,KAAK,EAAE,CAAC"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * @deprecated Use `Card.Layers`, `Card.LayerHeader`, `Card.LayerBody`, and `Card.LayerRow`
3
+ * from `@almach/ui` instead. LayeredCard has been merged into the Card component.
4
+ *
5
+ * @example
6
+ * import { Card } from "@almach/ui";
7
+ * <Card.Layers>
8
+ * <Card.LayerHeader>Settings</Card.LayerHeader>
9
+ * <Card.LayerRow action={<Switch />}>Notifications</Card.LayerRow>
10
+ * </Card.Layers>
11
+ */
12
+ export { Card as LayeredCard } from "./card";
13
+ //# sourceMappingURL=layered-card.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layered-card.d.ts","sourceRoot":"","sources":["../../src/components/layered-card.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,IAAI,IAAI,WAAW,EAAE,MAAM,QAAQ,CAAC"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * @deprecated Use `Card.Layers`, `Card.LayerHeader`, `Card.LayerBody`, and `Card.LayerRow`
3
+ * from `@almach/ui` instead. LayeredCard has been merged into the Card component.
4
+ *
5
+ * @example
6
+ * import { Card } from "@almach/ui";
7
+ * <Card.Layers>
8
+ * <Card.LayerHeader>Settings</Card.LayerHeader>
9
+ * <Card.LayerRow action={<Switch />}>Notifications</Card.LayerRow>
10
+ * </Card.Layers>
11
+ */
12
+ export { Card as LayeredCard } from "./card";
13
+ //# sourceMappingURL=layered-card.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layered-card.js","sourceRoot":"","sources":["../../src/components/layered-card.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,IAAI,IAAI,WAAW,EAAE,MAAM,QAAQ,CAAC"}
@@ -0,0 +1,36 @@
1
+ import * as React from "react";
2
+ interface ModalRootProps {
3
+ open?: boolean;
4
+ onOpenChange?: (open: boolean) => void;
5
+ children: React.ReactNode;
6
+ }
7
+ declare function ModalRoot({ open, onOpenChange, children }: ModalRootProps): import("react/jsx-runtime").JSX.Element;
8
+ interface ModalTriggerProps {
9
+ asChild?: boolean;
10
+ children: React.ReactNode;
11
+ }
12
+ declare function ModalTrigger({ asChild, children }: ModalTriggerProps): import("react/jsx-runtime").JSX.Element;
13
+ interface ModalContentProps {
14
+ className?: string;
15
+ children: React.ReactNode;
16
+ }
17
+ declare function ModalContent({ className, children }: ModalContentProps): import("react/jsx-runtime").JSX.Element;
18
+ declare function ModalHeader({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
19
+ declare function ModalFooter({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
20
+ interface ModalCloseProps {
21
+ asChild?: boolean;
22
+ children: React.ReactNode;
23
+ className?: string;
24
+ }
25
+ declare function ModalClose({ asChild, children, className }: ModalCloseProps): import("react/jsx-runtime").JSX.Element;
26
+ declare const Modal: typeof ModalRoot & {
27
+ Trigger: typeof ModalTrigger;
28
+ Content: typeof ModalContent;
29
+ Header: typeof ModalHeader;
30
+ Footer: typeof ModalFooter;
31
+ Title: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLHeadingElement> & React.RefAttributes<HTMLHeadingElement>>;
32
+ Description: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLParagraphElement> & React.RefAttributes<HTMLParagraphElement>>;
33
+ Close: typeof ModalClose;
34
+ };
35
+ export { Modal };
36
+ //# sourceMappingURL=modal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"modal.d.ts","sourceRoot":"","sources":["../../src/components/modal.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAW/B,UAAU,cAAc;IACvB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC1B;AAED,iBAAS,SAAS,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,EAAE,cAAc,2CAalE;AAGD,UAAU,iBAAiB;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC1B;AAED,iBAAS,YAAY,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,iBAAiB,2CAI7D;AAGD,UAAU,iBAAiB;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC1B;AAED,iBAAS,YAAY,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,iBAAiB,2CAK/D;AAGD,iBAAS,WAAW,CAAC,EACpB,SAAS,EACT,GAAG,KAAK,EACR,EAAE,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,2CAItC;AAGD,iBAAS,WAAW,CAAC,EACpB,SAAS,EACT,GAAG,KAAK,EACR,EAAE,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,2CAItC;AA2BD,UAAU,eAAe;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,iBAAS,UAAU,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,eAAe,2CAWpE;AAGD,QAAA,MAAM,KAAK;;;;;;;;CAQT,CAAC;AAEH,OAAO,EAAE,KAAK,EAAE,CAAC"}
@@ -0,0 +1,72 @@
1
+ "use client";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import * as React from "react";
4
+ import { useIsMobile } from "../hooks/use-media-query";
5
+ import { Dialog } from "./dialog";
6
+ import { Drawer } from "./drawer";
7
+ /* ── Context ─────────────────────────────────────────────────────────────── */
8
+ const ModalCtx = React.createContext(false);
9
+ const useModal = () => React.useContext(ModalCtx);
10
+ function ModalRoot({ open, onOpenChange, children }) {
11
+ const isMobile = useIsMobile();
12
+ const Root = isMobile ? Drawer : Dialog;
13
+ return (_jsx(ModalCtx.Provider, { value: isMobile, children: _jsx(Root, { ...(open !== undefined && { open }), ...(onOpenChange !== undefined && { onOpenChange }), children: children }) }));
14
+ }
15
+ function ModalTrigger({ asChild, children }) {
16
+ const isMobile = useModal();
17
+ const Trigger = isMobile ? Drawer.Trigger : Dialog.Trigger;
18
+ return _jsx(Trigger, { ...(asChild !== undefined && { asChild }), children: children });
19
+ }
20
+ function ModalContent({ className, children }) {
21
+ const isMobile = useModal();
22
+ if (isMobile)
23
+ return _jsx(Drawer.Content, { className: className, children: children });
24
+ return _jsx(Dialog.Content, { className: className, children: children });
25
+ }
26
+ /* ── Header ──────────────────────────────────────────────────────────────── */
27
+ function ModalHeader({ className, ...props }) {
28
+ const isMobile = useModal();
29
+ if (isMobile)
30
+ return _jsx(Drawer.Header, { className: className, ...props });
31
+ return _jsx(Dialog.Header, { className: className, ...props });
32
+ }
33
+ /* ── Footer ──────────────────────────────────────────────────────────────── */
34
+ function ModalFooter({ className, ...props }) {
35
+ const isMobile = useModal();
36
+ if (isMobile)
37
+ return _jsx(Drawer.Footer, { className: className, ...props });
38
+ return _jsx(Dialog.Footer, { className: className, ...props });
39
+ }
40
+ /* ── Title ───────────────────────────────────────────────────────────────── */
41
+ const ModalTitle = React.forwardRef(({ className, ...props }, ref) => {
42
+ const isMobile = useModal();
43
+ if (isMobile)
44
+ return _jsx(Drawer.Title, { ref: ref, className: className, ...props });
45
+ return _jsx(Dialog.Title, { ref: ref, className: className, ...props });
46
+ });
47
+ ModalTitle.displayName = "Modal.Title";
48
+ /* ── Description ─────────────────────────────────────────────────────────── */
49
+ const ModalDescription = React.forwardRef(({ className, ...props }, ref) => {
50
+ const isMobile = useModal();
51
+ if (isMobile)
52
+ return _jsx(Drawer.Description, { ref: ref, className: className, ...props });
53
+ return _jsx(Dialog.Description, { ref: ref, className: className, ...props });
54
+ });
55
+ ModalDescription.displayName = "Modal.Description";
56
+ function ModalClose({ asChild, children, className }) {
57
+ const isMobile = useModal();
58
+ const Close = isMobile ? Drawer.Close : Dialog.Close;
59
+ return (_jsx(Close, { ...(asChild !== undefined && { asChild }), ...(className !== undefined && { className }), children: children }));
60
+ }
61
+ /* ── Compound export ─────────────────────────────────────────────────────── */
62
+ const Modal = Object.assign(ModalRoot, {
63
+ Trigger: ModalTrigger,
64
+ Content: ModalContent,
65
+ Header: ModalHeader,
66
+ Footer: ModalFooter,
67
+ Title: ModalTitle,
68
+ Description: ModalDescription,
69
+ Close: ModalClose,
70
+ });
71
+ export { Modal };
72
+ //# sourceMappingURL=modal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"modal.js","sourceRoot":"","sources":["../../src/components/modal.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import * as ProgressPrimitive from "@radix-ui/react-progress";
2
+ import * as React from "react";
3
+ declare const Progress: React.ForwardRefExoticComponent<Omit<ProgressPrimitive.ProgressProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
4
+ export { Progress };
5
+ //# sourceMappingURL=progress.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progress.d.ts","sourceRoot":"","sources":["../../src/components/progress.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,iBAAiB,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,QAAA,MAAM,QAAQ,2JAqBZ,CAAC;AAGH,OAAO,EAAE,QAAQ,EAAE,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import * as ProgressPrimitive from "@radix-ui/react-progress";
3
+ import * as React from "react";
4
+ import { cn } from "@almach/utils";
5
+ const Progress = React.forwardRef(({ className, value, ...props }, ref) => (_jsx(ProgressPrimitive.Root, { ref: ref, className: cn("relative h-1.5 w-full overflow-hidden rounded-full", className), style: { backgroundColor: "hsl(var(--secondary))" }, ...props, children: _jsx(ProgressPrimitive.Indicator, { className: "h-full w-full flex-1 rounded-full transition-transform duration-500 ease-out", style: {
6
+ transform: `translateX(-${100 - (value ?? 0)}%)`,
7
+ backgroundColor: "hsl(var(--foreground))",
8
+ } }) })));
9
+ Progress.displayName = ProgressPrimitive.Root.displayName;
10
+ export { Progress };
11
+ //# sourceMappingURL=progress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progress.js","sourceRoot":"","sources":["../../src/components/progress.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,iBAAiB,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AAEnC,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAG/B,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAC1C,KAAC,iBAAiB,CAAC,IAAI,IACtB,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACZ,oDAAoD,EACpD,SAAS,CACT,EACD,KAAK,EAAE,EAAE,eAAe,EAAE,uBAAuB,EAAE,KAC/C,KAAK,YAET,KAAC,iBAAiB,CAAC,SAAS,IAC3B,SAAS,EAAC,8EAA8E,EACxF,KAAK,EAAE;YACN,SAAS,EAAE,eAAe,GAAG,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI;YAChD,eAAe,EAAE,wBAAwB;SACzC,GACA,GACsB,CACzB,CAAC,CAAC;AACH,QAAQ,CAAC,WAAW,GAAG,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC;AAE1D,OAAO,EAAE,QAAQ,EAAE,CAAC"}
@@ -0,0 +1,11 @@
1
+ import * as RadioGroupPrimitive from "@radix-ui/react-radio-group";
2
+ import * as React from "react";
3
+ interface RadioItemProps extends React.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Item> {
4
+ label?: string;
5
+ description?: string;
6
+ }
7
+ export declare const Radio: React.ForwardRefExoticComponent<Omit<RadioGroupPrimitive.RadioGroupProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>> & {
8
+ Item: React.ForwardRefExoticComponent<RadioItemProps & React.RefAttributes<HTMLButtonElement>>;
9
+ };
10
+ export {};
11
+ //# sourceMappingURL=radio.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"radio.d.ts","sourceRoot":"","sources":["../../src/components/radio.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,mBAAmB,MAAM,6BAA6B,CAAC;AACnE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAkB/B,UAAU,cACT,SAAQ,KAAK,CAAC,wBAAwB,CAAC,OAAO,mBAAmB,CAAC,IAAI,CAAC;IACvE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB;AAmDD,eAAO,MAAM,KAAK;;CAEhB,CAAC"}