@xemahq/ui-kernel 0.1.11 → 0.2.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 (235) hide show
  1. package/dist/index.d.ts +1 -0
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +1 -0
  4. package/dist/index.js.map +1 -1
  5. package/dist/lib/biome-host/biome-builders.d.ts +21 -0
  6. package/dist/lib/biome-host/biome-builders.d.ts.map +1 -0
  7. package/dist/lib/biome-host/biome-builders.js +25 -0
  8. package/dist/lib/biome-host/biome-builders.js.map +1 -0
  9. package/dist/lib/biome-host/biome-navigation.d.ts +3 -0
  10. package/dist/lib/biome-host/biome-navigation.d.ts.map +1 -0
  11. package/dist/lib/biome-host/biome-navigation.js +14 -0
  12. package/dist/lib/biome-host/biome-navigation.js.map +1 -0
  13. package/dist/lib/biome-host/biome-scope.d.ts +18 -0
  14. package/dist/lib/biome-host/biome-scope.d.ts.map +1 -0
  15. package/dist/lib/biome-host/biome-scope.js +42 -0
  16. package/dist/lib/biome-host/biome-scope.js.map +1 -0
  17. package/dist/lib/biome-host/biome-scoped-query.d.ts +17 -0
  18. package/dist/lib/biome-host/biome-scoped-query.d.ts.map +1 -0
  19. package/dist/lib/biome-host/biome-scoped-query.js +39 -0
  20. package/dist/lib/biome-host/biome-scoped-query.js.map +1 -0
  21. package/dist/lib/biome-host/host-bridge.d.ts +3 -0
  22. package/dist/lib/biome-host/host-bridge.d.ts.map +1 -1
  23. package/dist/lib/biome-host/host-bridge.js.map +1 -1
  24. package/dist/lib/biome-host/index.d.ts +4 -0
  25. package/dist/lib/biome-host/index.d.ts.map +1 -1
  26. package/dist/lib/biome-host/index.js +4 -0
  27. package/dist/lib/biome-host/index.js.map +1 -1
  28. package/dist/lib/capabilities/capability-provider.d.ts +15 -0
  29. package/dist/lib/capabilities/capability-provider.d.ts.map +1 -0
  30. package/dist/lib/capabilities/capability-provider.js +36 -0
  31. package/dist/lib/capabilities/capability-provider.js.map +1 -0
  32. package/dist/lib/capabilities/index.d.ts +4 -0
  33. package/dist/lib/capabilities/index.d.ts.map +1 -0
  34. package/dist/lib/capabilities/index.js +20 -0
  35. package/dist/lib/capabilities/index.js.map +1 -0
  36. package/dist/lib/capabilities/types.d.ts +18 -0
  37. package/dist/lib/capabilities/types.d.ts.map +1 -0
  38. package/dist/lib/capabilities/types.js +3 -0
  39. package/dist/lib/capabilities/types.js.map +1 -0
  40. package/dist/lib/capabilities/use-capability.d.ts +18 -0
  41. package/dist/lib/capabilities/use-capability.d.ts.map +1 -0
  42. package/dist/lib/capabilities/use-capability.js +21 -0
  43. package/dist/lib/capabilities/use-capability.js.map +1 -0
  44. package/dist/session/shell/SessionWorkspaceShell.js +1 -1
  45. package/dist/session/shell/SessionWorkspaceShell.js.map +1 -1
  46. package/dist/session-kit/display/ThinkingPanel.d.ts.map +1 -1
  47. package/dist/session-kit/display/ThinkingPanel.js +3 -0
  48. package/dist/session-kit/display/ThinkingPanel.js.map +1 -1
  49. package/dist/ui/chrome/AsyncBoundary.d.ts +22 -0
  50. package/dist/ui/chrome/AsyncBoundary.d.ts.map +1 -0
  51. package/dist/ui/chrome/AsyncBoundary.js +23 -0
  52. package/dist/ui/chrome/AsyncBoundary.js.map +1 -0
  53. package/dist/ui/chrome/EmptyState.d.ts +34 -0
  54. package/dist/ui/chrome/EmptyState.d.ts.map +1 -0
  55. package/dist/ui/chrome/EmptyState.js +27 -0
  56. package/dist/ui/chrome/EmptyState.js.map +1 -0
  57. package/dist/ui/chrome/ErrorCard.d.ts +11 -0
  58. package/dist/ui/chrome/ErrorCard.d.ts.map +1 -0
  59. package/dist/ui/chrome/ErrorCard.js +21 -0
  60. package/dist/ui/chrome/ErrorCard.js.map +1 -0
  61. package/dist/ui/chrome/LoadingState.d.ts +10 -0
  62. package/dist/ui/chrome/LoadingState.d.ts.map +1 -0
  63. package/dist/ui/chrome/LoadingState.js +17 -0
  64. package/dist/ui/chrome/LoadingState.js.map +1 -0
  65. package/dist/ui/chrome/PageHeader.d.ts +20 -0
  66. package/dist/ui/chrome/PageHeader.d.ts.map +1 -0
  67. package/dist/ui/chrome/PageHeader.js +26 -0
  68. package/dist/ui/chrome/PageHeader.js.map +1 -0
  69. package/dist/ui/chrome/StateCard.d.ts +24 -0
  70. package/dist/ui/chrome/StateCard.d.ts.map +1 -0
  71. package/dist/ui/chrome/StateCard.js +17 -0
  72. package/dist/ui/chrome/StateCard.js.map +1 -0
  73. package/dist/ui/cn.d.ts +3 -0
  74. package/dist/ui/cn.d.ts.map +1 -0
  75. package/dist/ui/cn.js +18 -0
  76. package/dist/ui/cn.js.map +1 -0
  77. package/dist/ui/index.d.ts +33 -0
  78. package/dist/ui/index.d.ts.map +1 -0
  79. package/dist/ui/index.js +61 -0
  80. package/dist/ui/index.js.map +1 -0
  81. package/dist/ui/primitives/alert-dialog.d.ts +21 -0
  82. package/dist/ui/primitives/alert-dialog.d.ts.map +1 -0
  83. package/dist/ui/primitives/alert-dialog.js +72 -0
  84. package/dist/ui/primitives/alert-dialog.js.map +1 -0
  85. package/dist/ui/primitives/badge.d.ts +10 -0
  86. package/dist/ui/primitives/badge.d.ts.map +1 -0
  87. package/dist/ui/primitives/badge.js +60 -0
  88. package/dist/ui/primitives/badge.js.map +1 -0
  89. package/dist/ui/primitives/button.d.ts +12 -0
  90. package/dist/ui/primitives/button.d.ts.map +1 -0
  91. package/dist/ui/primitives/button.js +71 -0
  92. package/dist/ui/primitives/button.js.map +1 -0
  93. package/dist/ui/primitives/card.d.ts +9 -0
  94. package/dist/ui/primitives/card.d.ts.map +1 -0
  95. package/dist/ui/primitives/card.js +58 -0
  96. package/dist/ui/primitives/card.js.map +1 -0
  97. package/dist/ui/primitives/checkbox.d.ts +5 -0
  98. package/dist/ui/primitives/checkbox.d.ts.map +1 -0
  99. package/dist/ui/primitives/checkbox.js +45 -0
  100. package/dist/ui/primitives/checkbox.js.map +1 -0
  101. package/dist/ui/primitives/collapsible.d.ts +6 -0
  102. package/dist/ui/primitives/collapsible.d.ts.map +1 -0
  103. package/dist/ui/primitives/collapsible.js +44 -0
  104. package/dist/ui/primitives/collapsible.js.map +1 -0
  105. package/dist/ui/primitives/dialog.d.ts +22 -0
  106. package/dist/ui/primitives/dialog.d.ts.map +1 -0
  107. package/dist/ui/primitives/dialog.js +68 -0
  108. package/dist/ui/primitives/dialog.js.map +1 -0
  109. package/dist/ui/primitives/dropdown-menu.d.ts +28 -0
  110. package/dist/ui/primitives/dropdown-menu.d.ts.map +1 -0
  111. package/dist/ui/primitives/dropdown-menu.js +83 -0
  112. package/dist/ui/primitives/dropdown-menu.js.map +1 -0
  113. package/dist/ui/primitives/input.d.ts +4 -0
  114. package/dist/ui/primitives/input.d.ts.map +1 -0
  115. package/dist/ui/primitives/input.js +45 -0
  116. package/dist/ui/primitives/input.js.map +1 -0
  117. package/dist/ui/primitives/label.d.ts +6 -0
  118. package/dist/ui/primitives/label.d.ts.map +1 -0
  119. package/dist/ui/primitives/label.js +46 -0
  120. package/dist/ui/primitives/label.js.map +1 -0
  121. package/dist/ui/primitives/overflow-tabs.d.ts +18 -0
  122. package/dist/ui/primitives/overflow-tabs.d.ts.map +1 -0
  123. package/dist/ui/primitives/overflow-tabs.js +84 -0
  124. package/dist/ui/primitives/overflow-tabs.js.map +1 -0
  125. package/dist/ui/primitives/popover.d.ts +9 -0
  126. package/dist/ui/primitives/popover.d.ts.map +1 -0
  127. package/dist/ui/primitives/popover.js +48 -0
  128. package/dist/ui/primitives/popover.js.map +1 -0
  129. package/dist/ui/primitives/radio-group.d.ts +6 -0
  130. package/dist/ui/primitives/radio-group.d.ts.map +1 -0
  131. package/dist/ui/primitives/radio-group.js +52 -0
  132. package/dist/ui/primitives/radio-group.js.map +1 -0
  133. package/dist/ui/primitives/resizable.d.ts +12 -0
  134. package/dist/ui/primitives/resizable.d.ts.map +1 -0
  135. package/dist/ui/primitives/resizable.js +18 -0
  136. package/dist/ui/primitives/resizable.js.map +1 -0
  137. package/dist/ui/primitives/scroll-area.d.ts +6 -0
  138. package/dist/ui/primitives/scroll-area.d.ts.map +1 -0
  139. package/dist/ui/primitives/scroll-area.js +47 -0
  140. package/dist/ui/primitives/scroll-area.js.map +1 -0
  141. package/dist/ui/primitives/select.d.ts +14 -0
  142. package/dist/ui/primitives/select.d.ts.map +1 -0
  143. package/dist/ui/primitives/select.js +71 -0
  144. package/dist/ui/primitives/select.js.map +1 -0
  145. package/dist/ui/primitives/separator.d.ts +5 -0
  146. package/dist/ui/primitives/separator.d.ts.map +1 -0
  147. package/dist/ui/primitives/separator.js +44 -0
  148. package/dist/ui/primitives/separator.js.map +1 -0
  149. package/dist/ui/primitives/sheet.d.ts +26 -0
  150. package/dist/ui/primitives/sheet.d.ts.map +1 -0
  151. package/dist/ui/primitives/sheet.js +82 -0
  152. package/dist/ui/primitives/sheet.js.map +1 -0
  153. package/dist/ui/primitives/skeleton.d.ts +13 -0
  154. package/dist/ui/primitives/skeleton.d.ts.map +1 -0
  155. package/dist/ui/primitives/skeleton.js +29 -0
  156. package/dist/ui/primitives/skeleton.js.map +1 -0
  157. package/dist/ui/primitives/switch.d.ts +5 -0
  158. package/dist/ui/primitives/switch.d.ts.map +1 -0
  159. package/dist/ui/primitives/switch.js +44 -0
  160. package/dist/ui/primitives/switch.js.map +1 -0
  161. package/dist/ui/primitives/table.d.ts +11 -0
  162. package/dist/ui/primitives/table.d.ts.map +1 -0
  163. package/dist/ui/primitives/table.js +64 -0
  164. package/dist/ui/primitives/table.js.map +1 -0
  165. package/dist/ui/primitives/tabs.d.ts +8 -0
  166. package/dist/ui/primitives/tabs.d.ts.map +1 -0
  167. package/dist/ui/primitives/tabs.js +52 -0
  168. package/dist/ui/primitives/tabs.js.map +1 -0
  169. package/dist/ui/primitives/tag-multi-select.d.ts +19 -0
  170. package/dist/ui/primitives/tag-multi-select.d.ts.map +1 -0
  171. package/dist/ui/primitives/tag-multi-select.js +92 -0
  172. package/dist/ui/primitives/tag-multi-select.js.map +1 -0
  173. package/dist/ui/primitives/textarea.d.ts +5 -0
  174. package/dist/ui/primitives/textarea.d.ts.map +1 -0
  175. package/dist/ui/primitives/textarea.js +45 -0
  176. package/dist/ui/primitives/textarea.js.map +1 -0
  177. package/dist/ui/primitives/tooltip.d.ts +8 -0
  178. package/dist/ui/primitives/tooltip.d.ts.map +1 -0
  179. package/dist/ui/primitives/tooltip.js +50 -0
  180. package/dist/ui/primitives/tooltip.js.map +1 -0
  181. package/package.json +27 -4
  182. package/src/index.ts +1 -0
  183. package/src/lib/biome-host/biome-builders.ts +109 -0
  184. package/src/lib/biome-host/biome-navigation.ts +37 -0
  185. package/src/lib/biome-host/biome-scope.tsx +119 -0
  186. package/src/lib/biome-host/biome-scoped-query.ts +130 -0
  187. package/src/lib/biome-host/host-bridge.ts +23 -0
  188. package/src/lib/biome-host/index.ts +4 -0
  189. package/src/lib/capabilities/capability-provider.tsx +95 -0
  190. package/src/lib/capabilities/index.ts +16 -0
  191. package/src/lib/capabilities/types.ts +69 -0
  192. package/src/lib/capabilities/use-capability.ts +72 -0
  193. package/src/session/shell/SessionWorkspaceShell.tsx +2 -2
  194. package/src/session-kit/display/ThinkingPanel.tsx +3 -0
  195. package/src/ui/chrome/AsyncBoundary.tsx +66 -0
  196. package/src/ui/chrome/EmptyState.tsx +184 -0
  197. package/src/ui/chrome/ErrorCard.tsx +68 -0
  198. package/src/ui/chrome/LoadingState.tsx +61 -0
  199. package/src/ui/chrome/PageHeader.tsx +137 -0
  200. package/src/ui/chrome/StateCard.tsx +150 -0
  201. package/src/ui/cn.ts +32 -0
  202. package/src/ui/index.ts +53 -0
  203. package/src/ui/primitives/alert-dialog.tsx +104 -0
  204. package/src/ui/primitives/badge.tsx +32 -0
  205. package/src/ui/primitives/button.tsx +47 -0
  206. package/src/ui/primitives/card.tsx +43 -0
  207. package/src/ui/primitives/checkbox.tsx +26 -0
  208. package/src/ui/primitives/collapsible.tsx +9 -0
  209. package/src/ui/primitives/dialog.tsx +103 -0
  210. package/src/ui/primitives/dropdown-menu.tsx +179 -0
  211. package/src/ui/primitives/input.tsx +22 -0
  212. package/src/ui/primitives/label.tsx +17 -0
  213. package/src/ui/primitives/overflow-tabs.tsx +281 -0
  214. package/src/ui/primitives/popover.tsx +33 -0
  215. package/src/ui/primitives/radio-group.tsx +36 -0
  216. package/src/ui/primitives/resizable.tsx +67 -0
  217. package/src/ui/primitives/scroll-area.tsx +38 -0
  218. package/src/ui/primitives/select.tsx +143 -0
  219. package/src/ui/primitives/separator.tsx +20 -0
  220. package/src/ui/primitives/sheet.tsx +107 -0
  221. package/src/ui/primitives/skeleton.tsx +99 -0
  222. package/src/ui/primitives/switch.tsx +27 -0
  223. package/src/ui/primitives/table.tsx +72 -0
  224. package/src/ui/primitives/tabs.tsx +53 -0
  225. package/src/ui/primitives/tag-multi-select.tsx +241 -0
  226. package/src/ui/primitives/textarea.tsx +21 -0
  227. package/src/ui/primitives/tooltip.tsx +30 -0
  228. package/dist/lib/biome-host/composition-validation.d.ts +0 -22
  229. package/dist/lib/biome-host/composition-validation.d.ts.map +0 -1
  230. package/dist/lib/biome-host/composition-validation.js +0 -127
  231. package/dist/lib/biome-host/composition-validation.js.map +0 -1
  232. package/dist/registry/lib/composition-validation-host.d.ts +0 -3
  233. package/dist/registry/lib/composition-validation-host.d.ts.map +0 -1
  234. package/dist/registry/lib/composition-validation-host.js +0 -10
  235. package/dist/registry/lib/composition-validation-host.js.map +0 -1
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.Separator = void 0;
37
+ const jsx_runtime_1 = require("react/jsx-runtime");
38
+ const SeparatorPrimitive = __importStar(require("@radix-ui/react-separator"));
39
+ const React = __importStar(require("react"));
40
+ const cn_1 = require("../cn");
41
+ const Separator = React.forwardRef(({ className, orientation = "horizontal", decorative = true, ...props }, ref) => ((0, jsx_runtime_1.jsx)(SeparatorPrimitive.Root, { ref: ref, decorative: decorative, orientation: orientation, className: (0, cn_1.cn)("shrink-0 bg-border", orientation === "horizontal" ? "h-[1px] w-full" : "h-full w-[1px]", className), ...props })));
42
+ exports.Separator = Separator;
43
+ Separator.displayName = SeparatorPrimitive.Root.displayName;
44
+ //# sourceMappingURL=separator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"separator.js","sourceRoot":"","sources":["../../../src/ui/primitives/separator.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8EAAgE;AAChE,6CAA+B;AAE/B,8BAA2B;AAE3B,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAGhC,CAAC,EAAE,SAAS,EAAE,WAAW,GAAG,YAAY,EAAE,UAAU,GAAG,IAAI,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CACjF,uBAAC,kBAAkB,CAAC,IAAI,IACtB,GAAG,EAAE,GAAG,EACR,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,IAAA,OAAE,EAAC,oBAAoB,EAAE,WAAW,KAAK,YAAY,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,EAAE,SAAS,CAAC,KAC9G,KAAK,GACT,CACH,CAAC,CAAC;AAGM,8BAAS;AAFlB,SAAS,CAAC,WAAW,GAAG,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC"}
@@ -0,0 +1,26 @@
1
+ import * as SheetPrimitive from "@radix-ui/react-dialog";
2
+ import { type VariantProps } from "class-variance-authority";
3
+ import * as React from "react";
4
+ declare const Sheet: React.FC<SheetPrimitive.DialogProps>;
5
+ declare const SheetTrigger: React.ForwardRefExoticComponent<SheetPrimitive.DialogTriggerProps & React.RefAttributes<HTMLButtonElement>>;
6
+ declare const SheetClose: React.ForwardRefExoticComponent<SheetPrimitive.DialogCloseProps & React.RefAttributes<HTMLButtonElement>>;
7
+ declare const SheetPortal: React.FC<SheetPrimitive.DialogPortalProps>;
8
+ declare const SheetOverlay: React.ForwardRefExoticComponent<Omit<SheetPrimitive.DialogOverlayProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
9
+ declare const sheetVariants: (props?: ({
10
+ side?: "left" | "right" | "bottom" | "top" | null | undefined;
11
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
12
+ interface SheetContentProps extends React.ComponentPropsWithoutRef<typeof SheetPrimitive.Content>, VariantProps<typeof sheetVariants> {
13
+ }
14
+ declare const SheetContent: React.ForwardRefExoticComponent<SheetContentProps & React.RefAttributes<HTMLDivElement>>;
15
+ declare const SheetHeader: {
16
+ ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): React.JSX.Element;
17
+ displayName: string;
18
+ };
19
+ declare const SheetFooter: {
20
+ ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): React.JSX.Element;
21
+ displayName: string;
22
+ };
23
+ declare const SheetTitle: React.ForwardRefExoticComponent<Omit<SheetPrimitive.DialogTitleProps & React.RefAttributes<HTMLHeadingElement>, "ref"> & React.RefAttributes<HTMLHeadingElement>>;
24
+ declare const SheetDescription: React.ForwardRefExoticComponent<Omit<SheetPrimitive.DialogDescriptionProps & React.RefAttributes<HTMLParagraphElement>, "ref"> & React.RefAttributes<HTMLParagraphElement>>;
25
+ export { Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, };
26
+ //# sourceMappingURL=sheet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sheet.d.ts","sourceRoot":"","sources":["../../../src/ui/primitives/sheet.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,cAAc,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAElE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,QAAA,MAAM,KAAK,sCAAsB,CAAC;AAElC,QAAA,MAAM,YAAY,6GAAyB,CAAC;AAE5C,QAAA,MAAM,UAAU,2GAAuB,CAAC;AAExC,QAAA,MAAM,WAAW,4CAAwB,CAAC;AAE1C,QAAA,MAAM,YAAY,6JAYhB,CAAC;AAGH,QAAA,MAAM,aAAa;;8EAiBlB,CAAC;AAEF,UAAU,iBACR,SAAQ,KAAK,CAAC,wBAAwB,CAAC,OAAO,cAAc,CAAC,OAAO,CAAC,EACnE,YAAY,CAAC,OAAO,aAAa,CAAC;CAAG;AAEzC,QAAA,MAAM,YAAY,0FAajB,CAAC;AAGF,QAAA,MAAM,WAAW;8BAA6B,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;;CAEjF,CAAC;AAGF,QAAA,MAAM,WAAW;8BAA6B,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;;CAEjF,CAAC;AAGF,QAAA,MAAM,UAAU,mKAKd,CAAC;AAGH,QAAA,MAAM,gBAAgB,6KAKpB,CAAC;AAGH,OAAO,EACL,KAAK,EACL,UAAU,EACV,YAAY,EACZ,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,YAAY,EACZ,WAAW,EACX,UAAU,EACV,YAAY,GACb,CAAC"}
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.SheetTrigger = exports.SheetTitle = exports.SheetPortal = exports.SheetOverlay = exports.SheetHeader = exports.SheetFooter = exports.SheetDescription = exports.SheetContent = exports.SheetClose = exports.Sheet = void 0;
37
+ const jsx_runtime_1 = require("react/jsx-runtime");
38
+ const SheetPrimitive = __importStar(require("@radix-ui/react-dialog"));
39
+ const class_variance_authority_1 = require("class-variance-authority");
40
+ const lucide_react_1 = require("lucide-react");
41
+ const React = __importStar(require("react"));
42
+ const cn_1 = require("../cn");
43
+ const Sheet = SheetPrimitive.Root;
44
+ exports.Sheet = Sheet;
45
+ const SheetTrigger = SheetPrimitive.Trigger;
46
+ exports.SheetTrigger = SheetTrigger;
47
+ const SheetClose = SheetPrimitive.Close;
48
+ exports.SheetClose = SheetClose;
49
+ const SheetPortal = SheetPrimitive.Portal;
50
+ exports.SheetPortal = SheetPortal;
51
+ const SheetOverlay = React.forwardRef(({ className, ...props }, ref) => ((0, jsx_runtime_1.jsx)(SheetPrimitive.Overlay, { className: (0, cn_1.cn)("modal-scrim fixed inset-0 z-50 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0", className), ...props, ref: ref })));
52
+ exports.SheetOverlay = SheetOverlay;
53
+ SheetOverlay.displayName = SheetPrimitive.Overlay.displayName;
54
+ const sheetVariants = (0, class_variance_authority_1.cva)("modal-surface fixed z-50 gap-4 p-6 transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500", {
55
+ variants: {
56
+ side: {
57
+ top: "inset-x-0 top-0 data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",
58
+ bottom: "inset-x-0 bottom-0 data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom",
59
+ left: "inset-y-0 left-0 h-full w-3/4 data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm",
60
+ right: "inset-y-0 right-0 h-full w-3/4 data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm",
61
+ },
62
+ },
63
+ defaultVariants: {
64
+ side: "right",
65
+ },
66
+ });
67
+ const SheetContent = React.forwardRef(({ side = "right", className, children, ...props }, ref) => ((0, jsx_runtime_1.jsxs)(SheetPortal, { children: [(0, jsx_runtime_1.jsx)(SheetOverlay, {}), (0, jsx_runtime_1.jsxs)(SheetPrimitive.Content, { ref: ref, className: (0, cn_1.cn)(sheetVariants({ side }), className), ...props, children: [children, (0, jsx_runtime_1.jsxs)(SheetPrimitive.Close, { className: "absolute right-4 top-4 rounded-sm text-ink-3 ring-offset-background transition-colors hover:text-ink focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none", children: [(0, jsx_runtime_1.jsx)(lucide_react_1.X, { className: "h-4 w-4" }), (0, jsx_runtime_1.jsx)("span", { className: "sr-only", children: "Close" })] })] })] })));
68
+ exports.SheetContent = SheetContent;
69
+ SheetContent.displayName = SheetPrimitive.Content.displayName;
70
+ const SheetHeader = ({ className, ...props }) => ((0, jsx_runtime_1.jsx)("div", { className: (0, cn_1.cn)("flex flex-col space-y-2 text-center sm:text-left", className), ...props }));
71
+ exports.SheetHeader = SheetHeader;
72
+ SheetHeader.displayName = "SheetHeader";
73
+ const SheetFooter = ({ className, ...props }) => ((0, jsx_runtime_1.jsx)("div", { className: (0, cn_1.cn)("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", className), ...props }));
74
+ exports.SheetFooter = SheetFooter;
75
+ SheetFooter.displayName = "SheetFooter";
76
+ const SheetTitle = React.forwardRef(({ className, ...props }, ref) => ((0, jsx_runtime_1.jsx)(SheetPrimitive.Title, { ref: ref, className: (0, cn_1.cn)("text-subtitle font-semibold text-foreground", className), ...props })));
77
+ exports.SheetTitle = SheetTitle;
78
+ SheetTitle.displayName = SheetPrimitive.Title.displayName;
79
+ const SheetDescription = React.forwardRef(({ className, ...props }, ref) => ((0, jsx_runtime_1.jsx)(SheetPrimitive.Description, { ref: ref, className: (0, cn_1.cn)("text-body-1 text-ink-3", className), ...props })));
80
+ exports.SheetDescription = SheetDescription;
81
+ SheetDescription.displayName = SheetPrimitive.Description.displayName;
82
+ //# sourceMappingURL=sheet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sheet.js","sourceRoot":"","sources":["../../../src/ui/primitives/sheet.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ export type SkeletonVariant = "pulse" | "shimmer";
2
+ export type SkeletonColor = "muted" | "paper" | "paper-elev" | "paper-sunk" | "ink" | "ink-2" | "ink-3";
3
+ export type SkeletonRounded = "sm" | "md" | "lg" | "full" | "none";
4
+ export interface SkeletonProps extends React.HTMLAttributes<HTMLDivElement> {
5
+ variant?: SkeletonVariant;
6
+ color?: SkeletonColor;
7
+ rounded?: SkeletonRounded;
8
+ height?: number;
9
+ width?: string | number;
10
+ }
11
+ declare function Skeleton({ className, variant, color, rounded, height, width, ...props }: SkeletonProps): import("react").JSX.Element;
12
+ export { Skeleton };
13
+ //# sourceMappingURL=skeleton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skeleton.d.ts","sourceRoot":"","sources":["../../../src/ui/primitives/skeleton.tsx"],"names":[],"mappings":"AAKA,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,SAAS,CAAC;AAKlD,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,OAAO,GAAG,YAAY,GAAG,YAAY,GAAG,KAAK,GAAG,OAAO,GAAG,OAAO,CAAC;AAKxG,MAAM,MAAM,eAAe,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;AAEnE,MAAM,WAAW,aAAc,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAEzE,OAAO,CAAC,EAAE,eAAe,CAAC;IAE1B,KAAK,CAAC,EAAE,aAAa,CAAC;IAEtB,OAAO,CAAC,EAAE,eAAe,CAAC;IAE1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACzB;AAiBD,iBAAS,QAAQ,CAAC,EAChB,SAAS,EACT,OAAmB,EACnB,KAAe,EACf,OAAc,EACd,MAAM,EACN,KAAK,EACL,GAAG,KAAK,EACT,EAAE,aAAa,+BA2Cf;AAED,OAAO,EAAE,QAAQ,EAAE,CAAC"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Skeleton = Skeleton;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const cn_1 = require("../cn");
6
+ function Skeleton({ className, variant = "shimmer", color = "muted", rounded = "md", height, width, ...props }) {
7
+ const colorMap = {
8
+ muted: "bg-muted",
9
+ paper: "bg-paper",
10
+ "paper-elev": "bg-paper-elev",
11
+ "paper-sunk": "bg-paper-sunk",
12
+ ink: "bg-ink",
13
+ "ink-2": "bg-ink-2",
14
+ "ink-3": "bg-ink-3",
15
+ };
16
+ const roundedMap = {
17
+ sm: "rounded-sm",
18
+ md: "rounded-md",
19
+ lg: "rounded-lg",
20
+ full: "rounded-full",
21
+ none: "rounded-none",
22
+ };
23
+ const baseClasses = (0, cn_1.cn)(colorMap[color], roundedMap[rounded]);
24
+ const animationClasses = variant === "pulse"
25
+ ? "animate-pulse"
26
+ : "shimmer";
27
+ return ((0, jsx_runtime_1.jsx)("div", { className: (0, cn_1.cn)(baseClasses, animationClasses, height && `h-[${height}px]`, width && `w-[${width}]`, className), style: { animationDuration: variant === "shimmer" ? "2s" : undefined, ...props.style }, ...props }));
28
+ }
29
+ //# sourceMappingURL=skeleton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skeleton.js","sourceRoot":"","sources":["../../../src/ui/primitives/skeleton.tsx"],"names":[],"mappings":";;AAkGS,4BAAQ;;AAlGjB,8BAA2B;AA6C3B,SAAS,QAAQ,CAAC,EAChB,SAAS,EACT,OAAO,GAAG,SAAS,EACnB,KAAK,GAAG,OAAO,EACf,OAAO,GAAG,IAAI,EACd,MAAM,EACN,KAAK,EACL,GAAG,KAAK,EACM;IAEd,MAAM,QAAQ,GAAkC;QAC9C,KAAK,EAAE,UAAU;QACjB,KAAK,EAAE,UAAU;QACjB,YAAY,EAAE,eAAe;QAC7B,YAAY,EAAE,eAAe;QAC7B,GAAG,EAAE,QAAQ;QACb,OAAO,EAAE,UAAU;QACnB,OAAO,EAAE,UAAU;KACpB,CAAC;IAGF,MAAM,UAAU,GAAoC;QAClD,EAAE,EAAE,YAAY;QAChB,EAAE,EAAE,YAAY;QAChB,EAAE,EAAE,YAAY;QAChB,IAAI,EAAE,cAAc;QACpB,IAAI,EAAE,cAAc;KACrB,CAAC;IAGF,MAAM,WAAW,GAAG,IAAA,OAAE,EAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;IAG7D,MAAM,gBAAgB,GACpB,OAAO,KAAK,OAAO;QACjB,CAAC,CAAC,eAAe;QACjB,CAAC,CAAC,SAAS,CAAC;IAEhB,OAAO,CACL,gCACE,SAAS,EAAE,IAAA,OAAE,EACX,WAAW,EACX,gBAAgB,EAChB,MAAM,IAAI,MAAM,MAAM,KAAK,EAC3B,KAAK,IAAI,MAAM,KAAK,GAAG,EACvB,SAAS,CACV,EACD,KAAK,EAAE,EAAE,iBAAiB,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,KAClF,KAAK,GACT,CACH,CAAC;AACJ,CAAC"}
@@ -0,0 +1,5 @@
1
+ import * as SwitchPrimitives from "@radix-ui/react-switch";
2
+ import * as React from "react";
3
+ declare const Switch: React.ForwardRefExoticComponent<Omit<SwitchPrimitives.SwitchProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
4
+ export { Switch };
5
+ //# sourceMappingURL=switch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"switch.d.ts","sourceRoot":"","sources":["../../../src/ui/primitives/switch.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,gBAAgB,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,QAAA,MAAM,MAAM,8JAkBV,CAAC;AAGH,OAAO,EAAE,MAAM,EAAE,CAAC"}
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.Switch = void 0;
37
+ const jsx_runtime_1 = require("react/jsx-runtime");
38
+ const SwitchPrimitives = __importStar(require("@radix-ui/react-switch"));
39
+ const React = __importStar(require("react"));
40
+ const cn_1 = require("../cn");
41
+ const Switch = React.forwardRef(({ className, ...props }, ref) => ((0, jsx_runtime_1.jsx)(SwitchPrimitives.Root, { className: (0, cn_1.cn)("peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors data-[state=checked]:bg-primary data-[state=unchecked]:bg-input focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50", className), ...props, ref: ref, children: (0, jsx_runtime_1.jsx)(SwitchPrimitives.Thumb, { className: (0, cn_1.cn)("pointer-events-none block h-5 w-5 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0") }) })));
42
+ exports.Switch = Switch;
43
+ Switch.displayName = SwitchPrimitives.Root.displayName;
44
+ //# sourceMappingURL=switch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"switch.js","sourceRoot":"","sources":["../../../src/ui/primitives/switch.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yEAA2D;AAC3D,6CAA+B;AAE/B,8BAA2B;AAE3B,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAG7B,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAClC,uBAAC,gBAAgB,CAAC,IAAI,IACpB,SAAS,EAAE,IAAA,OAAE,EACX,oXAAoX,EACpX,SAAS,CACV,KACG,KAAK,EACT,GAAG,EAAE,GAAG,YAER,uBAAC,gBAAgB,CAAC,KAAK,IACrB,SAAS,EAAE,IAAA,OAAE,EACX,4KAA4K,CAC7K,GACD,GACoB,CACzB,CAAC,CAAC;AAGM,wBAAM;AAFf,MAAM,CAAC,WAAW,GAAG,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC"}
@@ -0,0 +1,11 @@
1
+ import * as React from "react";
2
+ declare const Table: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLTableElement> & React.RefAttributes<HTMLTableElement>>;
3
+ declare const TableHeader: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLTableSectionElement> & React.RefAttributes<HTMLTableSectionElement>>;
4
+ declare const TableBody: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLTableSectionElement> & React.RefAttributes<HTMLTableSectionElement>>;
5
+ declare const TableFooter: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLTableSectionElement> & React.RefAttributes<HTMLTableSectionElement>>;
6
+ declare const TableRow: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLTableRowElement> & React.RefAttributes<HTMLTableRowElement>>;
7
+ declare const TableHead: React.ForwardRefExoticComponent<React.ThHTMLAttributes<HTMLTableCellElement> & React.RefAttributes<HTMLTableCellElement>>;
8
+ declare const TableCell: React.ForwardRefExoticComponent<React.TdHTMLAttributes<HTMLTableCellElement> & React.RefAttributes<HTMLTableCellElement>>;
9
+ declare const TableCaption: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLTableCaptionElement> & React.RefAttributes<HTMLTableCaptionElement>>;
10
+ export { Table, TableHeader, TableBody, TableFooter, TableHead, TableRow, TableCell, TableCaption };
11
+ //# sourceMappingURL=table.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../src/ui/primitives/table.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,QAAA,MAAM,KAAK,iHAMV,CAAC;AAGF,QAAA,MAAM,WAAW,+HAEhB,CAAC;AAGF,QAAA,MAAM,SAAS,+HAId,CAAC;AAGF,QAAA,MAAM,WAAW,+HAIhB,CAAC;AAGF,QAAA,MAAM,QAAQ,uHAQb,CAAC;AAGF,QAAA,MAAM,SAAS,2HAWd,CAAC;AAGF,QAAA,MAAM,SAAS,2HAId,CAAC;AAGF,QAAA,MAAM,YAAY,+HAIjB,CAAC;AAGF,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC"}
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.TableCaption = exports.TableCell = exports.TableRow = exports.TableHead = exports.TableFooter = exports.TableBody = exports.TableHeader = exports.Table = void 0;
37
+ const jsx_runtime_1 = require("react/jsx-runtime");
38
+ const React = __importStar(require("react"));
39
+ const cn_1 = require("../cn");
40
+ const Table = React.forwardRef(({ className, ...props }, ref) => ((0, jsx_runtime_1.jsx)("div", { className: "relative w-full overflow-auto", children: (0, jsx_runtime_1.jsx)("table", { ref: ref, className: (0, cn_1.cn)("w-full caption-bottom text-body-1", className), ...props }) })));
41
+ exports.Table = Table;
42
+ Table.displayName = "Table";
43
+ const TableHeader = React.forwardRef(({ className, ...props }, ref) => (0, jsx_runtime_1.jsx)("thead", { ref: ref, className: (0, cn_1.cn)("[&_tr]:border-b", className), ...props }));
44
+ exports.TableHeader = TableHeader;
45
+ TableHeader.displayName = "TableHeader";
46
+ const TableBody = React.forwardRef(({ className, ...props }, ref) => ((0, jsx_runtime_1.jsx)("tbody", { ref: ref, className: (0, cn_1.cn)("[&_tr:last-child]:border-0", className), ...props })));
47
+ exports.TableBody = TableBody;
48
+ TableBody.displayName = "TableBody";
49
+ const TableFooter = React.forwardRef(({ className, ...props }, ref) => ((0, jsx_runtime_1.jsx)("tfoot", { ref: ref, className: (0, cn_1.cn)("border-t bg-paper-elev/60 font-medium [&>tr]:last:border-b-0", className), ...props })));
50
+ exports.TableFooter = TableFooter;
51
+ TableFooter.displayName = "TableFooter";
52
+ const TableRow = React.forwardRef(({ className, ...props }, ref) => ((0, jsx_runtime_1.jsx)("tr", { ref: ref, className: (0, cn_1.cn)("border-b transition-colors data-[state=selected]:bg-muted hover:bg-paper-elev", className), ...props })));
53
+ exports.TableRow = TableRow;
54
+ TableRow.displayName = "TableRow";
55
+ const TableHead = React.forwardRef(({ className, ...props }, ref) => ((0, jsx_runtime_1.jsx)("th", { ref: ref, className: (0, cn_1.cn)("h-12 px-4 text-left align-middle font-medium text-ink-3 [&:has([role=checkbox])]:pr-0", className), ...props })));
56
+ exports.TableHead = TableHead;
57
+ TableHead.displayName = "TableHead";
58
+ const TableCell = React.forwardRef(({ className, ...props }, ref) => ((0, jsx_runtime_1.jsx)("td", { ref: ref, className: (0, cn_1.cn)("p-4 align-middle [&:has([role=checkbox])]:pr-0", className), ...props })));
59
+ exports.TableCell = TableCell;
60
+ TableCell.displayName = "TableCell";
61
+ const TableCaption = React.forwardRef(({ className, ...props }, ref) => ((0, jsx_runtime_1.jsx)("caption", { ref: ref, className: (0, cn_1.cn)("mt-4 text-body-1 text-ink-3", className), ...props })));
62
+ exports.TableCaption = TableCaption;
63
+ TableCaption.displayName = "TableCaption";
64
+ //# sourceMappingURL=table.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table.js","sourceRoot":"","sources":["../../../src/ui/primitives/table.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import * as TabsPrimitive from "@radix-ui/react-tabs";
2
+ import * as React from "react";
3
+ declare const Tabs: React.ForwardRefExoticComponent<TabsPrimitive.TabsProps & React.RefAttributes<HTMLDivElement>>;
4
+ declare const TabsList: React.ForwardRefExoticComponent<Omit<TabsPrimitive.TabsListProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
5
+ declare const TabsTrigger: React.ForwardRefExoticComponent<Omit<TabsPrimitive.TabsTriggerProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
6
+ declare const TabsContent: React.ForwardRefExoticComponent<Omit<TabsPrimitive.TabsContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
7
+ export { Tabs, TabsList, TabsTrigger, TabsContent };
8
+ //# sourceMappingURL=tabs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tabs.d.ts","sourceRoot":"","sources":["../../../src/ui/primitives/tabs.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,aAAa,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,QAAA,MAAM,IAAI,gGAAqB,CAAC;AAEhC,QAAA,MAAM,QAAQ,uJAYZ,CAAC;AAGH,QAAA,MAAM,WAAW,gKAYf,CAAC;AAGH,QAAA,MAAM,WAAW,0JAYf,CAAC;AAGH,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC"}
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.TabsContent = exports.TabsTrigger = exports.TabsList = exports.Tabs = void 0;
37
+ const jsx_runtime_1 = require("react/jsx-runtime");
38
+ const TabsPrimitive = __importStar(require("@radix-ui/react-tabs"));
39
+ const React = __importStar(require("react"));
40
+ const cn_1 = require("../cn");
41
+ const Tabs = TabsPrimitive.Root;
42
+ exports.Tabs = Tabs;
43
+ const TabsList = React.forwardRef(({ className, ...props }, ref) => ((0, jsx_runtime_1.jsx)(TabsPrimitive.List, { ref: ref, className: (0, cn_1.cn)("inline-flex h-10 items-center justify-center rounded-md bg-paper-elev/60 p-1 text-ink-3", className), ...props })));
44
+ exports.TabsList = TabsList;
45
+ TabsList.displayName = TabsPrimitive.List.displayName;
46
+ const TabsTrigger = React.forwardRef(({ className, ...props }, ref) => ((0, jsx_runtime_1.jsx)(TabsPrimitive.Trigger, { ref: ref, className: (0, cn_1.cn)("inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-body-1 font-medium text-ink-2 ring-offset-background transition-[background-color,color,border-color,box-shadow] hover:text-ink data-[state=active]:bg-paper-elev data-[state=active]:text-ink data-[state=active]:shadow-[var(--shadow-2)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50", className), ...props })));
47
+ exports.TabsTrigger = TabsTrigger;
48
+ TabsTrigger.displayName = TabsPrimitive.Trigger.displayName;
49
+ const TabsContent = React.forwardRef(({ className, ...props }, ref) => ((0, jsx_runtime_1.jsx)(TabsPrimitive.Content, { ref: ref, className: (0, cn_1.cn)("mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2", className), ...props })));
50
+ exports.TabsContent = TabsContent;
51
+ TabsContent.displayName = TabsPrimitive.Content.displayName;
52
+ //# sourceMappingURL=tabs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tabs.js","sourceRoot":"","sources":["../../../src/ui/primitives/tabs.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oEAAsD;AACtD,6CAA+B;AAE/B,8BAA2B;AAE3B,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC;AA+CvB,oBAAI;AA7Cb,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAG/B,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAClC,uBAAC,aAAa,CAAC,IAAI,IACjB,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,IAAA,OAAE,EACX,yFAAyF,EACzF,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAC,CAAC;AAiCY,4BAAQ;AAhCvB,QAAQ,CAAC,WAAW,GAAG,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC;AAEtD,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,CAGlC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAClC,uBAAC,aAAa,CAAC,OAAO,IACpB,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,IAAA,OAAE,EACX,wdAAwd,EACxd,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAC,CAAC;AAkBsB,kCAAW;AAjBpC,WAAW,CAAC,WAAW,GAAG,aAAa,CAAC,OAAO,CAAC,WAAW,CAAC;AAE5D,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,CAGlC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAClC,uBAAC,aAAa,CAAC,OAAO,IACpB,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,IAAA,OAAE,EACX,iIAAiI,EACjI,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAC,CAAC;AAGmC,kCAAW;AAFjD,WAAW,CAAC,WAAW,GAAG,aAAa,CAAC,OAAO,CAAC,WAAW,CAAC"}
@@ -0,0 +1,19 @@
1
+ export interface TagOption {
2
+ value: string;
3
+ label: string;
4
+ hint?: string;
5
+ }
6
+ export interface TagMultiSelectProps {
7
+ value: string[];
8
+ onChange: (next: string[]) => void;
9
+ options: TagOption[];
10
+ placeholder?: string;
11
+ searchPlaceholder?: string;
12
+ emptyMessage?: string;
13
+ allowCustom?: boolean;
14
+ chipVariant?: 'default' | 'secondary' | 'success' | 'destructive';
15
+ triggerClassName?: string;
16
+ disabled?: boolean;
17
+ }
18
+ export declare function TagMultiSelect({ value, onChange, options, placeholder, searchPlaceholder, emptyMessage, allowCustom, chipVariant, triggerClassName, disabled, }: Readonly<TagMultiSelectProps>): import("react").JSX.Element;
19
+ //# sourceMappingURL=tag-multi-select.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tag-multi-select.d.ts","sourceRoot":"","sources":["../../../src/ui/primitives/tag-multi-select.tsx"],"names":[],"mappings":"AAUA,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACnC,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB,WAAW,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,aAAa,CAAC;IAElE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AASD,wBAAgB,cAAc,CAAC,EAC7B,KAAK,EACL,QAAQ,EACR,OAAO,EACP,WAAuB,EACvB,iBAA6B,EAC7B,YAA2B,EAC3B,WAAmB,EACnB,WAAuB,EACvB,gBAAgB,EAChB,QAAQ,GACT,EAAE,QAAQ,CAAC,mBAAmB,CAAC,+BA8L/B"}
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TagMultiSelect = TagMultiSelect;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const lucide_react_1 = require("lucide-react");
6
+ const react_1 = require("react");
7
+ const badge_1 = require("./badge");
8
+ const button_1 = require("./button");
9
+ const input_1 = require("./input");
10
+ const popover_1 = require("./popover");
11
+ const scroll_area_1 = require("./scroll-area");
12
+ const cn_1 = require("../cn");
13
+ const CHIP_CLASSES = {
14
+ default: 'bg-primary/10 text-primary border-primary/20',
15
+ secondary: 'bg-secondary text-secondary-foreground border-secondary',
16
+ success: 'bg-success/10 text-success border-success/20',
17
+ destructive: 'bg-destructive/10 text-destructive border-destructive/20',
18
+ };
19
+ function TagMultiSelect({ value, onChange, options, placeholder = 'Select…', searchPlaceholder = 'Search…', emptyMessage = 'No matches', allowCustom = false, chipVariant = 'default', triggerClassName, disabled, }) {
20
+ const [open, setOpen] = (0, react_1.useState)(false);
21
+ const [search, setSearch] = (0, react_1.useState)('');
22
+ const inputRef = (0, react_1.useRef)(null);
23
+ const selectedSet = (0, react_1.useMemo)(() => new Set(value), [value]);
24
+ const optionByValue = (0, react_1.useMemo)(() => {
25
+ const map = new Map();
26
+ options.forEach((o) => map.set(o.value, o));
27
+ return map;
28
+ }, [options]);
29
+ const filteredOptions = (0, react_1.useMemo)(() => {
30
+ const q = search.trim().toLowerCase();
31
+ if (!q)
32
+ return options;
33
+ return options.filter((o) => o.label.toLowerCase().includes(q) ||
34
+ o.value.toLowerCase().includes(q) ||
35
+ (o.hint?.toLowerCase().includes(q) ?? false));
36
+ }, [options, search]);
37
+ const normalizedSearch = search.trim();
38
+ const canAddCustom = allowCustom &&
39
+ normalizedSearch.length > 0 &&
40
+ !optionByValue.has(normalizedSearch) &&
41
+ !selectedSet.has(normalizedSearch);
42
+ const toggle = (val) => {
43
+ if (selectedSet.has(val)) {
44
+ onChange(value.filter((v) => v !== val));
45
+ }
46
+ else {
47
+ onChange([...value, val]);
48
+ }
49
+ };
50
+ const remove = (val, e) => {
51
+ e?.stopPropagation();
52
+ onChange(value.filter((v) => v !== val));
53
+ };
54
+ const addCustom = () => {
55
+ if (!canAddCustom)
56
+ return;
57
+ onChange([...value, normalizedSearch]);
58
+ setSearch('');
59
+ inputRef.current?.focus();
60
+ };
61
+ const onKeyDown = (e) => {
62
+ if (e.key === 'Enter') {
63
+ e.preventDefault();
64
+ if (canAddCustom) {
65
+ addCustom();
66
+ }
67
+ else if (filteredOptions.length === 1) {
68
+ toggle(filteredOptions[0].value);
69
+ }
70
+ }
71
+ };
72
+ const chipClass = CHIP_CLASSES[chipVariant];
73
+ return ((0, jsx_runtime_1.jsxs)(popover_1.Popover, { open: open, onOpenChange: setOpen, children: [(0, jsx_runtime_1.jsx)(popover_1.PopoverTrigger, { asChild: true, children: (0, jsx_runtime_1.jsxs)(button_1.Button, { variant: "outline", role: "combobox", "aria-expanded": open, disabled: disabled, className: (0, cn_1.cn)('w-full min-h-9 h-auto justify-between font-normal py-1.5', triggerClassName), children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex flex-wrap gap-1 flex-1 text-left", children: [value.length === 0 && ((0, jsx_runtime_1.jsx)("span", { className: "text-ink-3 text-body-1", children: placeholder })), value.map((val) => {
74
+ const opt = optionByValue.get(val);
75
+ return ((0, jsx_runtime_1.jsxs)(badge_1.Badge, { variant: "outline", className: (0, cn_1.cn)('text-body-1 gap-1 pr-1', chipClass), children: [(0, jsx_runtime_1.jsx)("span", { className: "truncate max-w-[160px]", children: opt?.label ?? val }), (0, jsx_runtime_1.jsx)("span", { role: "button", tabIndex: -1, onClick: (e) => remove(val, e), onKeyDown: (e) => {
76
+ if (e.key === 'Enter' || e.key === ' ') {
77
+ e.preventDefault();
78
+ e.stopPropagation();
79
+ remove(val);
80
+ }
81
+ }, className: "rounded-sm hover:bg-paper-elev p-0.5", "aria-label": `Remove ${opt?.label ?? val}`, children: (0, jsx_runtime_1.jsx)(lucide_react_1.X, { className: "h-4 w-4" }) })] }, val));
82
+ })] }), (0, jsx_runtime_1.jsx)(lucide_react_1.ChevronsUpDown, { className: "ml-2 h-4 w-4 shrink-0 opacity-50" })] }) }), (0, jsx_runtime_1.jsxs)(popover_1.PopoverContent, { className: "w-[--radix-popover-trigger-width] p-0", align: "start", onOpenAutoFocus: (e) => {
83
+ e.preventDefault();
84
+ setTimeout(() => inputRef.current?.focus(), 30);
85
+ }, children: [(0, jsx_runtime_1.jsxs)("div", { className: "relative border-b", children: [(0, jsx_runtime_1.jsx)(lucide_react_1.Search, { className: "absolute left-2.5 top-1/2 -translate-y-1/2 h-4 w-4 text-ink-3" }), (0, jsx_runtime_1.jsx)(input_1.Input, { ref: inputRef, value: search, onChange: (e) => setSearch(e.target.value), onKeyDown: onKeyDown, placeholder: searchPlaceholder, className: "h-9 text-body-1 pl-8 border-0 rounded-none focus-visible:ring-0 focus-visible:ring-offset-0" })] }), (0, jsx_runtime_1.jsx)(scroll_area_1.ScrollArea, { className: "max-h-56", children: (0, jsx_runtime_1.jsxs)("div", { className: "p-1", children: [filteredOptions.length === 0 && !canAddCustom && ((0, jsx_runtime_1.jsx)("p", { className: "text-body-1 text-ink-3 text-center py-3", children: emptyMessage })), filteredOptions.map((opt) => {
86
+ const selected = selectedSet.has(opt.value);
87
+ return ((0, jsx_runtime_1.jsxs)("button", { type: "button", onClick: () => toggle(opt.value), className: (0, cn_1.cn)('w-full text-left text-body-1 px-2 py-1.5 rounded hover:bg-paper-elev transition-colors flex items-start gap-2', selected && 'bg-paper-elev/60'), children: [(0, jsx_runtime_1.jsx)("span", { className: (0, cn_1.cn)('mt-0.5 h-4 w-4 shrink-0 rounded border flex items-center justify-center', selected
88
+ ? 'bg-primary border-primary text-primary-foreground'
89
+ : 'border-muted-foreground/40'), children: selected && (0, jsx_runtime_1.jsx)(lucide_react_1.Check, { className: "h-4 w-4" }) }), (0, jsx_runtime_1.jsxs)("span", { className: "flex-1 min-w-0", children: [(0, jsx_runtime_1.jsx)("span", { className: "font-medium block truncate", children: opt.label }), opt.hint && ((0, jsx_runtime_1.jsx)("span", { className: "text-body-1 text-ink-3 block truncate", children: opt.hint }))] })] }, opt.value));
90
+ }), canAddCustom && ((0, jsx_runtime_1.jsxs)("button", { type: "button", onClick: addCustom, className: "w-full text-left text-body-1 px-2 py-1.5 rounded hover:bg-paper-elev transition-colors flex items-center gap-2 border-t mt-1 pt-2", children: [(0, jsx_runtime_1.jsx)(lucide_react_1.Plus, { className: "h-4 w-4 text-ink-3" }), (0, jsx_runtime_1.jsxs)("span", { children: ["Add ", (0, jsx_runtime_1.jsx)("span", { className: "font-mono font-medium", children: normalizedSearch })] })] }))] }) })] })] }));
91
+ }
92
+ //# sourceMappingURL=tag-multi-select.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tag-multi-select.js","sourceRoot":"","sources":["../../../src/ui/primitives/tag-multi-select.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import * as React from "react";
2
+ export type TextareaProps = React.TextareaHTMLAttributes<HTMLTextAreaElement>;
3
+ declare const Textarea: React.ForwardRefExoticComponent<TextareaProps & React.RefAttributes<HTMLTextAreaElement>>;
4
+ export { Textarea };
5
+ //# sourceMappingURL=textarea.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"textarea.d.ts","sourceRoot":"","sources":["../../../src/ui/primitives/textarea.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,MAAM,MAAM,aAAa,GAAG,KAAK,CAAC,sBAAsB,CAAC,mBAAmB,CAAC,CAAC;AAE9E,QAAA,MAAM,QAAQ,2FAWZ,CAAC;AAGH,OAAO,EAAE,QAAQ,EAAE,CAAC"}