@contractspec/lib.ui-kit-web 3.7.6 → 3.9.2

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 (234) hide show
  1. package/README.md +33 -88
  2. package/dist/browser/ui/accordion.js +4 -4
  3. package/dist/browser/ui/alert-dialog.js +9 -9
  4. package/dist/browser/ui/alert.js +4 -4
  5. package/dist/browser/ui/atoms/FilterSelect/FilterSelect.js +51 -51
  6. package/dist/browser/ui/atoms/FilterSelect/index.js +51 -51
  7. package/dist/browser/ui/atoms/LoadingSpinner/LoadingSpinner.js +1 -1
  8. package/dist/browser/ui/atoms/Pagination/Pagination.js +13 -13
  9. package/dist/browser/ui/atoms/Pagination/index.js +13 -13
  10. package/dist/browser/ui/atoms/SearchInput/SearchInput.js +8 -8
  11. package/dist/browser/ui/atoms/SearchInput/index.js +8 -8
  12. package/dist/browser/ui/avatar.js +1 -1
  13. package/dist/browser/ui/badge.js +3 -3
  14. package/dist/browser/ui/breadcrumb.js +4 -4
  15. package/dist/browser/ui/button.js +5 -5
  16. package/dist/browser/ui/calendar.js +21 -21
  17. package/dist/browser/ui/card.js +2 -2
  18. package/dist/browser/ui/carousel.js +6 -6
  19. package/dist/browser/ui/checkbox.js +2 -2
  20. package/dist/browser/ui/command.js +14 -14
  21. package/dist/browser/ui/confirm-dialog.js +9 -9
  22. package/dist/browser/ui/context-menu.js +10 -10
  23. package/dist/browser/ui/cta.js +5 -5
  24. package/dist/browser/ui/data-table.js +1009 -0
  25. package/dist/browser/ui/data-table.parts.js +467 -0
  26. package/dist/browser/ui/date-picker.js +26 -26
  27. package/dist/browser/ui/date-range-picker.js +24 -24
  28. package/dist/browser/ui/datetime-picker.js +29 -29
  29. package/dist/browser/ui/dialog.js +5 -5
  30. package/dist/browser/ui/drawer.js +5 -5
  31. package/dist/browser/ui/dropdown-menu.js +10 -10
  32. package/dist/browser/ui/empty-state.js +5 -5
  33. package/dist/browser/ui/empty.js +7 -7
  34. package/dist/browser/ui/field.js +12 -12
  35. package/dist/browser/ui/form.js +4 -4
  36. package/dist/browser/ui/hover-card.js +2 -2
  37. package/dist/browser/ui/input-group.js +16 -16
  38. package/dist/browser/ui/input-otp.js +4 -4
  39. package/dist/browser/ui/input.js +1 -1
  40. package/dist/browser/ui/label.js +2 -2
  41. package/dist/browser/ui/loading-button.js +8 -8
  42. package/dist/browser/ui/marketing/FeatureGrid.js +3 -3
  43. package/dist/browser/ui/marketing/Hero.js +7 -7
  44. package/dist/browser/ui/marketing/PricingTable.js +10 -10
  45. package/dist/browser/ui/menubar.js +12 -12
  46. package/dist/browser/ui/molecules/Autocomplete/index.js +26 -26
  47. package/dist/browser/ui/molecules/SearchAndFilter/SearchAndFilter.js +62 -62
  48. package/dist/browser/ui/molecules/SearchAndFilter/index.js +62 -62
  49. package/dist/browser/ui/molecules/SkeletonList.js +1 -1
  50. package/dist/browser/ui/nav-layout.js +22 -22
  51. package/dist/browser/ui/navigation-menu.js +7 -7
  52. package/dist/browser/ui/organisms/ErrorBoundary/ErrorBoundary.js +11 -11
  53. package/dist/browser/ui/organisms/ListPage/ListPage.js +84 -84
  54. package/dist/browser/ui/page-header.js +4 -4
  55. package/dist/browser/ui/pagination.js +6 -6
  56. package/dist/browser/ui/popover.js +2 -2
  57. package/dist/browser/ui/progress.js +3 -3
  58. package/dist/browser/ui/radio-group.js +3 -3
  59. package/dist/browser/ui/resizable.js +3 -3
  60. package/dist/browser/ui/scroll-area.js +4 -4
  61. package/dist/browser/ui/section.js +1 -1
  62. package/dist/browser/ui/select.js +6 -6
  63. package/dist/browser/ui/separator.js +2 -2
  64. package/dist/browser/ui/sheet.js +5 -5
  65. package/dist/browser/ui/sidebar.js +64 -64
  66. package/dist/browser/ui/skeleton.js +1 -1
  67. package/dist/browser/ui/slider.js +6 -6
  68. package/dist/browser/ui/stack.js +1 -1
  69. package/dist/browser/ui/stat-card-group.js +5 -5
  70. package/dist/browser/ui/stepper.js +2 -2
  71. package/dist/browser/ui/switch.js +3 -3
  72. package/dist/browser/ui/table.js +5 -5
  73. package/dist/browser/ui/tabs.js +3 -3
  74. package/dist/browser/ui/text.js +2 -2
  75. package/dist/browser/ui/textarea.js +1 -1
  76. package/dist/browser/ui/time-picker.js +10 -10
  77. package/dist/browser/ui/toast.js +5 -5
  78. package/dist/browser/ui/toaster.js +5 -5
  79. package/dist/browser/ui/toggle-group.js +7 -7
  80. package/dist/browser/ui/toggle.js +5 -5
  81. package/dist/browser/ui/tooltip.js +3 -3
  82. package/dist/browser/ui/typography.js +14 -14
  83. package/dist/browser/ui/usecases/UseCaseCard.js +8 -8
  84. package/dist/browser/ui/usecases/UserStoryCard.js +3 -3
  85. package/dist/browser/ui/visualization/Visualization.js +447 -0
  86. package/dist/browser/ui/visualization/Visualization.support.js +128 -0
  87. package/dist/browser/ui/visualization/index.js +10 -0
  88. package/dist/ui/accordion.d.ts +2 -2
  89. package/dist/ui/accordion.js +4 -4
  90. package/dist/ui/alert-dialog.d.ts +2 -2
  91. package/dist/ui/alert-dialog.js +9 -9
  92. package/dist/ui/alert.d.ts +2 -2
  93. package/dist/ui/alert.js +4 -4
  94. package/dist/ui/atoms/FilterSelect/FilterSelect.js +51 -51
  95. package/dist/ui/atoms/FilterSelect/index.d.ts +1 -1
  96. package/dist/ui/atoms/FilterSelect/index.js +51 -51
  97. package/dist/ui/atoms/LoadingSpinner/LoadingSpinner.js +1 -1
  98. package/dist/ui/atoms/LoadingSpinner/index.d.ts +1 -1
  99. package/dist/ui/atoms/Pagination/Pagination.js +13 -13
  100. package/dist/ui/atoms/Pagination/index.js +13 -13
  101. package/dist/ui/atoms/SearchInput/SearchInput.js +8 -8
  102. package/dist/ui/atoms/SearchInput/index.js +8 -8
  103. package/dist/ui/avatar.d.ts +2 -2
  104. package/dist/ui/avatar.js +1 -1
  105. package/dist/ui/badge.d.ts +1 -1
  106. package/dist/ui/badge.js +3 -3
  107. package/dist/ui/breadcrumb.d.ts +1 -1
  108. package/dist/ui/breadcrumb.js +4 -4
  109. package/dist/ui/button.d.ts +1 -1
  110. package/dist/ui/button.js +5 -5
  111. package/dist/ui/calendar.js +21 -21
  112. package/dist/ui/card.d.ts +1 -1
  113. package/dist/ui/card.js +2 -2
  114. package/dist/ui/carousel.d.ts +2 -2
  115. package/dist/ui/carousel.js +6 -6
  116. package/dist/ui/checkbox.d.ts +1 -1
  117. package/dist/ui/checkbox.js +2 -2
  118. package/dist/ui/collapsible.d.ts +1 -1
  119. package/dist/ui/command.d.ts +2 -2
  120. package/dist/ui/command.js +14 -14
  121. package/dist/ui/confirm-dialog.js +9 -9
  122. package/dist/ui/context-menu.d.ts +2 -2
  123. package/dist/ui/context-menu.js +10 -10
  124. package/dist/ui/cta.js +5 -5
  125. package/dist/ui/data-table.d.ts +12 -0
  126. package/dist/ui/data-table.js +1004 -0
  127. package/dist/ui/data-table.parts.d.ts +14 -0
  128. package/dist/ui/data-table.parts.js +462 -0
  129. package/dist/ui/date-picker.js +26 -26
  130. package/dist/ui/date-range-picker.js +24 -24
  131. package/dist/ui/datetime-picker.js +29 -29
  132. package/dist/ui/dialog.d.ts +1 -1
  133. package/dist/ui/dialog.js +5 -5
  134. package/dist/ui/drawer.d.ts +1 -1
  135. package/dist/ui/drawer.js +5 -5
  136. package/dist/ui/dropdown-menu.d.ts +2 -2
  137. package/dist/ui/dropdown-menu.js +10 -10
  138. package/dist/ui/empty-state.d.ts +1 -1
  139. package/dist/ui/empty-state.js +5 -5
  140. package/dist/ui/empty.d.ts +2 -2
  141. package/dist/ui/empty.js +7 -7
  142. package/dist/ui/field.d.ts +2 -2
  143. package/dist/ui/field.js +12 -12
  144. package/dist/ui/form.d.ts +3 -3
  145. package/dist/ui/form.js +4 -4
  146. package/dist/ui/hover-card.d.ts +2 -2
  147. package/dist/ui/hover-card.js +2 -2
  148. package/dist/ui/input-group.d.ts +2 -2
  149. package/dist/ui/input-group.js +16 -16
  150. package/dist/ui/input-otp.d.ts +2 -2
  151. package/dist/ui/input-otp.js +4 -4
  152. package/dist/ui/input.js +1 -1
  153. package/dist/ui/label.d.ts +1 -1
  154. package/dist/ui/label.js +2 -2
  155. package/dist/ui/loading-button.js +8 -8
  156. package/dist/ui/map/index.d.ts +1 -1
  157. package/dist/ui/marketing/FeatureGrid.js +3 -3
  158. package/dist/ui/marketing/Hero.js +7 -7
  159. package/dist/ui/marketing/PricingTable.js +10 -10
  160. package/dist/ui/marketing/index.d.ts +1 -1
  161. package/dist/ui/menubar.d.ts +2 -2
  162. package/dist/ui/menubar.js +12 -12
  163. package/dist/ui/molecules/Autocomplete/index.js +26 -26
  164. package/dist/ui/molecules/SearchAndFilter/SearchAndFilter.js +62 -62
  165. package/dist/ui/molecules/SearchAndFilter/index.js +62 -62
  166. package/dist/ui/molecules/SkeletonList.js +1 -1
  167. package/dist/ui/nav-layout.d.ts +1 -1
  168. package/dist/ui/nav-layout.js +22 -22
  169. package/dist/ui/navigation-menu.d.ts +2 -2
  170. package/dist/ui/navigation-menu.js +7 -7
  171. package/dist/ui/organisms/ErrorBoundary/ErrorBoundary.js +11 -11
  172. package/dist/ui/organisms/ErrorBoundary/index.d.ts +1 -1
  173. package/dist/ui/organisms/ListPage/ListPage.js +84 -84
  174. package/dist/ui/organisms/ListPage/index.d.ts +1 -1
  175. package/dist/ui/organisms/ListPage/types.d.ts +1 -1
  176. package/dist/ui/page-header.d.ts +1 -1
  177. package/dist/ui/page-header.js +4 -4
  178. package/dist/ui/pagination.js +6 -6
  179. package/dist/ui/popover.d.ts +2 -2
  180. package/dist/ui/popover.js +2 -2
  181. package/dist/ui/progress.d.ts +1 -1
  182. package/dist/ui/progress.js +3 -3
  183. package/dist/ui/radio-group.d.ts +1 -1
  184. package/dist/ui/radio-group.js +3 -3
  185. package/dist/ui/resizable.d.ts +2 -2
  186. package/dist/ui/resizable.js +3 -3
  187. package/dist/ui/scroll-area.d.ts +1 -1
  188. package/dist/ui/scroll-area.js +4 -4
  189. package/dist/ui/section.d.ts +1 -1
  190. package/dist/ui/section.js +1 -1
  191. package/dist/ui/select.d.ts +1 -1
  192. package/dist/ui/select.js +6 -6
  193. package/dist/ui/separator.d.ts +1 -1
  194. package/dist/ui/separator.js +2 -2
  195. package/dist/ui/sheet.d.ts +2 -2
  196. package/dist/ui/sheet.js +5 -5
  197. package/dist/ui/sidebar.d.ts +1 -1
  198. package/dist/ui/sidebar.js +64 -64
  199. package/dist/ui/skeleton.js +1 -1
  200. package/dist/ui/slider.d.ts +1 -1
  201. package/dist/ui/slider.js +6 -6
  202. package/dist/ui/stack.d.ts +4 -4
  203. package/dist/ui/stack.js +1 -1
  204. package/dist/ui/stat-card-group.js +5 -5
  205. package/dist/ui/stepper.js +2 -2
  206. package/dist/ui/switch.d.ts +1 -1
  207. package/dist/ui/switch.js +3 -3
  208. package/dist/ui/table.d.ts +1 -1
  209. package/dist/ui/table.js +5 -5
  210. package/dist/ui/tabs.d.ts +2 -2
  211. package/dist/ui/tabs.js +3 -3
  212. package/dist/ui/text.js +2 -2
  213. package/dist/ui/textarea.js +1 -1
  214. package/dist/ui/time-picker.js +10 -10
  215. package/dist/ui/toast.d.ts +2 -2
  216. package/dist/ui/toast.js +5 -5
  217. package/dist/ui/toaster.js +5 -5
  218. package/dist/ui/toggle-group.d.ts +1 -1
  219. package/dist/ui/toggle-group.js +7 -7
  220. package/dist/ui/toggle.d.ts +1 -1
  221. package/dist/ui/toggle.js +5 -5
  222. package/dist/ui/tooltip.d.ts +2 -2
  223. package/dist/ui/tooltip.js +3 -3
  224. package/dist/ui/typography.js +14 -14
  225. package/dist/ui/use-toast.d.ts +1 -1
  226. package/dist/ui/usecases/UseCaseCard.js +8 -8
  227. package/dist/ui/usecases/UserStoryCard.js +3 -3
  228. package/dist/ui/visualization/Visualization.d.ts +9 -0
  229. package/dist/ui/visualization/Visualization.js +442 -0
  230. package/dist/ui/visualization/Visualization.support.d.ts +15 -0
  231. package/dist/ui/visualization/Visualization.support.js +123 -0
  232. package/dist/ui/visualization/index.d.ts +1 -0
  233. package/dist/ui/visualization/index.js +5 -0
  234. package/package.json +75 -12
package/dist/ui/tabs.js CHANGED
@@ -2,8 +2,8 @@
2
2
  var __require = import.meta.require;
3
3
 
4
4
  // ui/tabs.tsx
5
- import * as TabsPrimitive from "@radix-ui/react-tabs";
6
5
  import { cn } from "@contractspec/lib.ui-kit-core/utils";
6
+ import * as TabsPrimitive from "@radix-ui/react-tabs";
7
7
  import { jsxDEV } from "react/jsx-dev-runtime";
8
8
  "use client";
9
9
  function Tabs({
@@ -22,7 +22,7 @@ function TabsList({
22
22
  }) {
23
23
  return /* @__PURE__ */ jsxDEV(TabsPrimitive.List, {
24
24
  "data-slot": "tabs-list",
25
- className: cn("bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-[3px]", className),
25
+ className: cn("inline-flex h-9 w-fit items-center justify-center rounded-lg bg-muted p-[3px] text-muted-foreground", className),
26
26
  ...props
27
27
  }, undefined, false, undefined, this);
28
28
  }
@@ -32,7 +32,7 @@ function TabsTrigger({
32
32
  }) {
33
33
  return /* @__PURE__ */ jsxDEV(TabsPrimitive.Trigger, {
34
34
  "data-slot": "tabs-trigger",
35
- className: cn("text-foreground focus-visible:border-ring focus-visible:outline-ring focus-visible:ring-ring/50 data-[state=active]:bg-background dark:text-muted-foreground dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 dark:data-[state=active]:text-foreground inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-2xs [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className),
35
+ className: cn("inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 whitespace-nowrap rounded-md border border-transparent px-2 py-1 font-medium text-foreground text-sm transition-[color,box-shadow] focus-visible:border-ring focus-visible:outline-1 focus-visible:outline-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:shadow-2xs dark:text-muted-foreground dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 dark:data-[state=active]:text-foreground [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0", className),
36
36
  ...props
37
37
  }, undefined, false, undefined, this);
38
38
  }
package/dist/ui/text.js CHANGED
@@ -2,13 +2,13 @@
2
2
  var __require = import.meta.require;
3
3
 
4
4
  // ui/text.tsx
5
- import { Slot } from "@radix-ui/react-slot";
6
5
  import { cn } from "@contractspec/lib.ui-kit-core/utils";
6
+ import { Slot } from "@radix-ui/react-slot";
7
7
  import { jsxDEV } from "react/jsx-dev-runtime";
8
8
  function Text({ className, asChild = false, ...props }) {
9
9
  const Component = asChild ? Slot : "p";
10
10
  return /* @__PURE__ */ jsxDEV(Component, {
11
- className: cn("text-foreground web:select-text text-base", className),
11
+ className: cn("web:select-text text-base text-foreground", className),
12
12
  ...props
13
13
  }, undefined, false, undefined, this);
14
14
  }
@@ -7,7 +7,7 @@ import { jsxDEV } from "react/jsx-dev-runtime";
7
7
  function Textarea({ className, ...props }) {
8
8
  return /* @__PURE__ */ jsxDEV("textarea", {
9
9
  "data-slot": "textarea",
10
- className: cn("aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 dark:bg-input/30 flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-2xs outline-hidden transition-[color,box-shadow] focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm", className),
10
+ className: cn("field-sizing-content flex min-h-16 w-full rounded-md border border-input bg-transparent px-3 py-2 text-base shadow-2xs outline-hidden transition-[color,box-shadow] placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:aria-invalid:ring-destructive/40", className),
11
11
  ...props
12
12
  }, undefined, false, undefined, this);
13
13
  }
@@ -2,23 +2,23 @@
2
2
  var __require = import.meta.require;
3
3
 
4
4
  // ui/button.tsx
5
+ import { cn } from "@contractspec/lib.ui-kit-core/utils";
5
6
  import { Slot } from "@radix-ui/react-slot";
6
7
  import { cva } from "class-variance-authority";
7
- import { cn } from "@contractspec/lib.ui-kit-core/utils";
8
8
  import { jsxDEV } from "react/jsx-dev-runtime";
9
- var buttonVariants = cva("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-hidden focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive", {
9
+ var buttonVariants = cva("inline-flex shrink-0 items-center justify-center gap-2 whitespace-nowrap rounded-md font-medium text-sm outline-hidden transition-all focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0", {
10
10
  variants: {
11
11
  variant: {
12
12
  default: "bg-primary text-primary-foreground hover:bg-primary/90",
13
- destructive: "bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",
14
- outline: "border bg-background shadow-2xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",
13
+ destructive: "bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40",
14
+ outline: "border bg-background shadow-2xs hover:bg-accent hover:text-accent-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",
15
15
  secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80",
16
16
  ghost: "hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",
17
17
  link: "text-primary underline-offset-4 hover:underline"
18
18
  },
19
19
  size: {
20
20
  default: "h-9 px-4 py-2 has-[>svg]:px-3",
21
- sm: "h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",
21
+ sm: "h-8 gap-1.5 rounded-md px-3 has-[>svg]:px-2.5",
22
22
  lg: "h-10 rounded-md px-6 has-[>svg]:px-4",
23
23
  icon: "size-9"
24
24
  }
@@ -51,8 +51,8 @@ function Button({
51
51
  }, undefined, false, undefined, this);
52
52
  }
53
53
  // ui/popover.tsx
54
- import * as PopoverPrimitive from "@radix-ui/react-popover";
55
54
  import { cn as cn2 } from "@contractspec/lib.ui-kit-core/utils";
55
+ import * as PopoverPrimitive from "@radix-ui/react-popover";
56
56
  import { jsxDEV as jsxDEV2 } from "react/jsx-dev-runtime";
57
57
  "use client";
58
58
  function Popover({
@@ -82,7 +82,7 @@ function PopoverContent({
82
82
  "data-slot": "popover-content",
83
83
  align,
84
84
  sideOffset,
85
- className: cn2("bg-popover text-popover-foreground 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 z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden", className),
85
+ className: cn2("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 z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-hidden data-[state=closed]:animate-out data-[state=open]:animate-in", className),
86
86
  ...props
87
87
  }, undefined, false, undefined, this)
88
88
  }, undefined, false, undefined, this);
@@ -96,8 +96,8 @@ function PopoverAnchor({
96
96
  }, undefined, false, undefined, this);
97
97
  }
98
98
  // ui/time-picker.tsx
99
- import * as React from "react";
100
99
  import { cn as cn3 } from "@contractspec/lib.ui-kit-core/utils";
100
+ import * as React from "react";
101
101
  import { jsxDEV as jsxDEV3 } from "react/jsx-dev-runtime";
102
102
  "use client";
103
103
  function formatTime(d, is24Hour) {
@@ -156,7 +156,7 @@ function TimePicker({
156
156
  max: is24Hour ? 23 : 12,
157
157
  value: hours,
158
158
  onChange: (e) => setHours(e.target.value),
159
- className: "border-input bg-background w-16 rounded-md border px-2 py-1 text-center"
159
+ className: "w-16 rounded-md border border-input bg-background px-2 py-1 text-center"
160
160
  }, undefined, false, undefined, this),
161
161
  /* @__PURE__ */ jsxDEV3("span", {
162
162
  children: ":"
@@ -167,7 +167,7 @@ function TimePicker({
167
167
  max: 59,
168
168
  value: minutes,
169
169
  onChange: (e) => setMinutes(e.target.value),
170
- className: "border-input bg-background w-16 rounded-md border px-2 py-1 text-center"
170
+ className: "w-16 rounded-md border border-input bg-background px-2 py-1 text-center"
171
171
  }, undefined, false, undefined, this),
172
172
  /* @__PURE__ */ jsxDEV3(Button, {
173
173
  type: "button",
@@ -1,6 +1,6 @@
1
- import * as React from 'react';
2
1
  import * as ToastPrimitives from '@radix-ui/react-toast';
3
2
  import { type VariantProps } from 'class-variance-authority';
3
+ import * as React from 'react';
4
4
  declare const ToastProvider: React.FC<ToastPrimitives.ToastProviderProps>;
5
5
  declare function ToastViewport({ className, ref, ...props }: React.ComponentPropsWithoutRef<typeof ToastPrimitives.Viewport> & {
6
6
  ref?: React.Ref<React.ElementRef<typeof ToastPrimitives.Viewport>>;
@@ -25,4 +25,4 @@ declare function ToastDescription({ className, ref, ...props }: React.ComponentP
25
25
  }): import("react/jsx-runtime").JSX.Element;
26
26
  type ToastProps = React.ComponentPropsWithoutRef<typeof Toast>;
27
27
  type ToastActionElement = React.ReactElement<typeof ToastAction>;
28
- export { type ToastProps, type ToastActionElement, ToastProvider, ToastViewport, Toast, ToastTitle, ToastDescription, ToastClose, ToastAction, };
28
+ export { Toast, ToastAction, type ToastActionElement, ToastClose, ToastDescription, type ToastProps, ToastProvider, ToastTitle, ToastViewport, };
package/dist/ui/toast.js CHANGED
@@ -2,10 +2,10 @@
2
2
  var __require = import.meta.require;
3
3
 
4
4
  // ui/toast.tsx
5
+ import { cn } from "@contractspec/lib.ui-kit-core/utils";
5
6
  import * as ToastPrimitives from "@radix-ui/react-toast";
6
7
  import { cva } from "class-variance-authority";
7
8
  import { X } from "lucide-react";
8
- import { cn } from "@contractspec/lib.ui-kit-core/utils";
9
9
  import { jsxDEV } from "react/jsx-dev-runtime";
10
10
  "use client";
11
11
  var ToastProvider = ToastPrimitives.Provider;
@@ -20,7 +20,7 @@ function ToastViewport({
20
20
  ...props
21
21
  }, undefined, false, undefined, this);
22
22
  }
23
- var toastVariants = cva("group pointer-events-auto relative flex w-full items-center justify-between space-x-4 overflow-hidden rounded-md border p-6 pr-8 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-(--radix-toast-swipe-end-x) data-[swipe=move]:translate-x-(--radix-toast-swipe-move-x) data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full sm:data-[state=open]:slide-in-from-bottom-full", {
23
+ var toastVariants = cva("group data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full sm:data-[state=open]:slide-in-from-bottom-full pointer-events-auto relative flex w-full items-center justify-between space-x-4 overflow-hidden rounded-md border p-6 pr-8 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-(--radix-toast-swipe-end-x) data-[swipe=move]:translate-x-(--radix-toast-swipe-move-x) data-[state=closed]:animate-out data-[state=open]:animate-in data-[swipe=end]:animate-out data-[swipe=move]:transition-none", {
24
24
  variants: {
25
25
  variant: {
26
26
  default: "border bg-background text-foreground",
@@ -50,7 +50,7 @@ function ToastAction({
50
50
  }) {
51
51
  return /* @__PURE__ */ jsxDEV(ToastPrimitives.Action, {
52
52
  ref,
53
- className: cn("ring-offset-background hover:bg-secondary focus:ring-ring group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-base font-medium transition-colors focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none disabled:opacity-50", className),
53
+ className: cn("inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 font-medium text-base ring-offset-background transition-colors hover:bg-secondary focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 group-[.destructive]:border-muted/40 group-[.destructive]:focus:ring-destructive group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground", className),
54
54
  ...props
55
55
  }, undefined, false, undefined, this);
56
56
  }
@@ -61,7 +61,7 @@ function ToastClose({
61
61
  }) {
62
62
  return /* @__PURE__ */ jsxDEV(ToastPrimitives.Close, {
63
63
  ref,
64
- className: cn("text-foreground/50 hover:text-foreground absolute top-2 right-2 rounded-md p-1 opacity-0 transition-opacity group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50 focus:opacity-100 focus:ring-2 focus:outline-hidden group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600", className),
64
+ className: cn("absolute top-2 right-2 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-hidden focus:ring-2 group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600 group-[.destructive]:hover:text-red-50", className),
65
65
  "toast-close": "",
66
66
  ...props,
67
67
  children: /* @__PURE__ */ jsxDEV(X, {
@@ -76,7 +76,7 @@ function ToastTitle({
76
76
  }) {
77
77
  return /* @__PURE__ */ jsxDEV(ToastPrimitives.Title, {
78
78
  ref,
79
- className: cn("text-base font-semibold", className),
79
+ className: cn("font-semibold text-base", className),
80
80
  ...props
81
81
  }, undefined, false, undefined, this);
82
82
  }
@@ -2,10 +2,10 @@
2
2
  var __require = import.meta.require;
3
3
 
4
4
  // ui/toast.tsx
5
+ import { cn } from "@contractspec/lib.ui-kit-core/utils";
5
6
  import * as ToastPrimitives from "@radix-ui/react-toast";
6
7
  import { cva } from "class-variance-authority";
7
8
  import { X } from "lucide-react";
8
- import { cn } from "@contractspec/lib.ui-kit-core/utils";
9
9
  import { jsxDEV } from "react/jsx-dev-runtime";
10
10
  "use client";
11
11
  var ToastProvider = ToastPrimitives.Provider;
@@ -20,7 +20,7 @@ function ToastViewport({
20
20
  ...props
21
21
  }, undefined, false, undefined, this);
22
22
  }
23
- var toastVariants = cva("group pointer-events-auto relative flex w-full items-center justify-between space-x-4 overflow-hidden rounded-md border p-6 pr-8 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-(--radix-toast-swipe-end-x) data-[swipe=move]:translate-x-(--radix-toast-swipe-move-x) data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full sm:data-[state=open]:slide-in-from-bottom-full", {
23
+ var toastVariants = cva("group data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full sm:data-[state=open]:slide-in-from-bottom-full pointer-events-auto relative flex w-full items-center justify-between space-x-4 overflow-hidden rounded-md border p-6 pr-8 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-(--radix-toast-swipe-end-x) data-[swipe=move]:translate-x-(--radix-toast-swipe-move-x) data-[state=closed]:animate-out data-[state=open]:animate-in data-[swipe=end]:animate-out data-[swipe=move]:transition-none", {
24
24
  variants: {
25
25
  variant: {
26
26
  default: "border bg-background text-foreground",
@@ -50,7 +50,7 @@ function ToastAction({
50
50
  }) {
51
51
  return /* @__PURE__ */ jsxDEV(ToastPrimitives.Action, {
52
52
  ref,
53
- className: cn("ring-offset-background hover:bg-secondary focus:ring-ring group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-base font-medium transition-colors focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none disabled:opacity-50", className),
53
+ className: cn("inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 font-medium text-base ring-offset-background transition-colors hover:bg-secondary focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 group-[.destructive]:border-muted/40 group-[.destructive]:focus:ring-destructive group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground", className),
54
54
  ...props
55
55
  }, undefined, false, undefined, this);
56
56
  }
@@ -61,7 +61,7 @@ function ToastClose({
61
61
  }) {
62
62
  return /* @__PURE__ */ jsxDEV(ToastPrimitives.Close, {
63
63
  ref,
64
- className: cn("text-foreground/50 hover:text-foreground absolute top-2 right-2 rounded-md p-1 opacity-0 transition-opacity group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50 focus:opacity-100 focus:ring-2 focus:outline-hidden group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600", className),
64
+ className: cn("absolute top-2 right-2 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-hidden focus:ring-2 group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600 group-[.destructive]:hover:text-red-50", className),
65
65
  "toast-close": "",
66
66
  ...props,
67
67
  children: /* @__PURE__ */ jsxDEV(X, {
@@ -76,7 +76,7 @@ function ToastTitle({
76
76
  }) {
77
77
  return /* @__PURE__ */ jsxDEV(ToastPrimitives.Title, {
78
78
  ref,
79
- className: cn("text-base font-semibold", className),
79
+ className: cn("font-semibold text-base", className),
80
80
  ...props
81
81
  }, undefined, false, undefined, this);
82
82
  }
@@ -1,6 +1,6 @@
1
- import * as React from 'react';
2
1
  import * as ToggleGroupPrimitive from '@radix-ui/react-toggle-group';
3
2
  import { type VariantProps } from 'class-variance-authority';
3
+ import * as React from 'react';
4
4
  import { toggleVariants } from './toggle';
5
5
  declare function ToggleGroup({ className, variant, size, children, ...props }: React.ComponentProps<typeof ToggleGroupPrimitive.Root> & VariantProps<typeof toggleVariants>): import("react/jsx-runtime").JSX.Element;
6
6
  declare function ToggleGroupItem({ className, children, variant, size, ...props }: React.ComponentProps<typeof ToggleGroupPrimitive.Item> & VariantProps<typeof toggleVariants>): import("react/jsx-runtime").JSX.Element;
@@ -2,21 +2,21 @@
2
2
  var __require = import.meta.require;
3
3
 
4
4
  // ui/toggle.tsx
5
+ import { cn } from "@contractspec/lib.ui-kit-core/utils";
5
6
  import * as TogglePrimitive from "@radix-ui/react-toggle";
6
7
  import { cva } from "class-variance-authority";
7
- import { cn } from "@contractspec/lib.ui-kit-core/utils";
8
8
  import { jsxDEV } from "react/jsx-dev-runtime";
9
9
  "use client";
10
- var toggleVariants = cva("inline-flex items-center justify-center gap-2 rounded-md text-sm font-medium hover:bg-muted hover:text-muted-foreground disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 [&_svg]:shrink-0 focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] outline-hidden transition-[color,box-shadow] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive whitespace-nowrap", {
10
+ var toggleVariants = cva("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md font-medium text-sm outline-hidden transition-[color,box-shadow] hover:bg-muted hover:text-muted-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground dark:aria-invalid:ring-destructive/40 [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0", {
11
11
  variants: {
12
12
  variant: {
13
13
  default: "bg-transparent",
14
14
  outline: "border border-input bg-transparent shadow-2xs hover:bg-accent hover:text-accent-foreground"
15
15
  },
16
16
  size: {
17
- default: "h-9 px-2 min-w-9",
18
- sm: "h-8 px-1.5 min-w-8",
19
- lg: "h-10 px-2.5 min-w-10"
17
+ default: "h-9 min-w-9 px-2",
18
+ sm: "h-8 min-w-8 px-1.5",
19
+ lg: "h-10 min-w-10 px-2.5"
20
20
  }
21
21
  },
22
22
  defaultVariants: {
@@ -37,9 +37,9 @@ function Toggle({
37
37
  }, undefined, false, undefined, this);
38
38
  }
39
39
  // ui/toggle-group.tsx
40
- import * as React from "react";
41
- import * as ToggleGroupPrimitive from "@radix-ui/react-toggle-group";
42
40
  import { cn as cn2 } from "@contractspec/lib.ui-kit-core/utils";
41
+ import * as ToggleGroupPrimitive from "@radix-ui/react-toggle-group";
42
+ import * as React from "react";
43
43
  import { jsxDEV as jsxDEV2 } from "react/jsx-dev-runtime";
44
44
  "use client";
45
45
  var ToggleGroupContext = React.createContext({
@@ -1,6 +1,6 @@
1
- import * as React from 'react';
2
1
  import * as TogglePrimitive from '@radix-ui/react-toggle';
3
2
  import { type VariantProps } from 'class-variance-authority';
3
+ import * as React from 'react';
4
4
  declare const toggleVariants: (props?: ({
5
5
  variant?: "default" | "outline" | null | undefined;
6
6
  size?: "default" | "sm" | "lg" | null | undefined;
package/dist/ui/toggle.js CHANGED
@@ -2,21 +2,21 @@
2
2
  var __require = import.meta.require;
3
3
 
4
4
  // ui/toggle.tsx
5
+ import { cn } from "@contractspec/lib.ui-kit-core/utils";
5
6
  import * as TogglePrimitive from "@radix-ui/react-toggle";
6
7
  import { cva } from "class-variance-authority";
7
- import { cn } from "@contractspec/lib.ui-kit-core/utils";
8
8
  import { jsxDEV } from "react/jsx-dev-runtime";
9
9
  "use client";
10
- var toggleVariants = cva("inline-flex items-center justify-center gap-2 rounded-md text-sm font-medium hover:bg-muted hover:text-muted-foreground disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 [&_svg]:shrink-0 focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] outline-hidden transition-[color,box-shadow] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive whitespace-nowrap", {
10
+ var toggleVariants = cva("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md font-medium text-sm outline-hidden transition-[color,box-shadow] hover:bg-muted hover:text-muted-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground dark:aria-invalid:ring-destructive/40 [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0", {
11
11
  variants: {
12
12
  variant: {
13
13
  default: "bg-transparent",
14
14
  outline: "border border-input bg-transparent shadow-2xs hover:bg-accent hover:text-accent-foreground"
15
15
  },
16
16
  size: {
17
- default: "h-9 px-2 min-w-9",
18
- sm: "h-8 px-1.5 min-w-8",
19
- lg: "h-10 px-2.5 min-w-10"
17
+ default: "h-9 min-w-9 px-2",
18
+ sm: "h-8 min-w-8 px-1.5",
19
+ lg: "h-10 min-w-10 px-2.5"
20
20
  }
21
21
  },
22
22
  defaultVariants: {
@@ -1,7 +1,7 @@
1
- import * as React from 'react';
2
1
  import * as TooltipPrimitive from '@radix-ui/react-tooltip';
2
+ import * as React from 'react';
3
3
  declare function TooltipProvider({ delayDuration, ...props }: React.ComponentProps<typeof TooltipPrimitive.Provider>): import("react/jsx-runtime").JSX.Element;
4
4
  declare function Tooltip({ ...props }: React.ComponentProps<typeof TooltipPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
5
5
  declare function TooltipTrigger({ ...props }: React.ComponentProps<typeof TooltipPrimitive.Trigger>): import("react/jsx-runtime").JSX.Element;
6
6
  declare function TooltipContent({ className, sideOffset, children, ...props }: React.ComponentProps<typeof TooltipPrimitive.Content>): import("react/jsx-runtime").JSX.Element;
7
- export { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider };
7
+ export { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger };
@@ -2,8 +2,8 @@
2
2
  var __require = import.meta.require;
3
3
 
4
4
  // ui/tooltip.tsx
5
- import * as TooltipPrimitive from "@radix-ui/react-tooltip";
6
5
  import { cn } from "@contractspec/lib.ui-kit-core/utils";
6
+ import * as TooltipPrimitive from "@radix-ui/react-tooltip";
7
7
  import { jsxDEV } from "react/jsx-dev-runtime";
8
8
  "use client";
9
9
  function TooltipProvider({
@@ -44,12 +44,12 @@ function TooltipContent({
44
44
  children: /* @__PURE__ */ jsxDEV(TooltipPrimitive.Content, {
45
45
  "data-slot": "tooltip-content",
46
46
  sideOffset,
47
- className: cn("bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-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 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance", className),
47
+ className: cn("fade-in-0 zoom-in-95 data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-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 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) animate-in text-balance rounded-md bg-foreground px-3 py-1.5 text-background text-xs data-[state=closed]:animate-out", className),
48
48
  ...props,
49
49
  children: [
50
50
  children,
51
51
  /* @__PURE__ */ jsxDEV(TooltipPrimitive.Arrow, {
52
- className: "bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%-2px)] rotate-45 rounded-[2px]"
52
+ className: "z-50 size-2.5 translate-y-[calc(-50%-2px)] rotate-45 rounded-[2px] bg-foreground fill-foreground"
53
53
  }, undefined, false, undefined, this)
54
54
  ]
55
55
  }, undefined, true, undefined, this)
@@ -2,26 +2,26 @@
2
2
  var __require = import.meta.require;
3
3
 
4
4
  // ui/text.tsx
5
- import { Slot } from "@radix-ui/react-slot";
6
5
  import { cn } from "@contractspec/lib.ui-kit-core/utils";
6
+ import { Slot } from "@radix-ui/react-slot";
7
7
  import { jsxDEV } from "react/jsx-dev-runtime";
8
8
  function Text({ className, asChild = false, ...props }) {
9
9
  const Component = asChild ? Slot : "p";
10
10
  return /* @__PURE__ */ jsxDEV(Component, {
11
- className: cn("text-foreground web:select-text text-base", className),
11
+ className: cn("web:select-text text-base text-foreground", className),
12
12
  ...props
13
13
  }, undefined, false, undefined, this);
14
14
  }
15
15
  // ui/typography.tsx
16
- import { Slot as Slot2 } from "@radix-ui/react-slot";
17
16
  import { cn as cn2 } from "@contractspec/lib.ui-kit-core/utils";
17
+ import { Slot as Slot2 } from "@radix-ui/react-slot";
18
18
  import { jsxDEV as jsxDEV2 } from "react/jsx-dev-runtime";
19
19
  function H1({ className, asChild = false, ...props }) {
20
20
  const Component = asChild ? Slot2 : "h1";
21
21
  return /* @__PURE__ */ jsxDEV2(Component, {
22
22
  role: "heading",
23
23
  "aria-level": 1,
24
- className: cn2("text-foreground web:select-text web:scroll-m-20 text-4xl font-extrabold tracking-tight lg:text-5xl", className),
24
+ className: cn2("web:select-text web:scroll-m-20 font-extrabold text-4xl text-foreground tracking-tight lg:text-5xl", className),
25
25
  ...props
26
26
  }, undefined, false, undefined, this);
27
27
  }
@@ -30,7 +30,7 @@ function H2({ className, asChild = false, ...props }) {
30
30
  return /* @__PURE__ */ jsxDEV2(Component, {
31
31
  role: "heading",
32
32
  "aria-level": 2,
33
- className: cn2("border-border text-foreground web:select-text web:scroll-m-20 border-b pb-2 text-3xl font-semibold tracking-tight first:mt-0", className),
33
+ className: cn2("web:select-text web:scroll-m-20 border-border border-b pb-2 font-semibold text-3xl text-foreground tracking-tight first:mt-0", className),
34
34
  ...props
35
35
  }, undefined, false, undefined, this);
36
36
  }
@@ -39,7 +39,7 @@ function H3({ className, asChild = false, ...props }) {
39
39
  return /* @__PURE__ */ jsxDEV2(Component, {
40
40
  role: "heading",
41
41
  "aria-level": 3,
42
- className: cn2("text-foreground web:select-text web:scroll-m-20 text-2xl font-semibold tracking-tight", className),
42
+ className: cn2("web:select-text web:scroll-m-20 font-semibold text-2xl text-foreground tracking-tight", className),
43
43
  ...props
44
44
  }, undefined, false, undefined, this);
45
45
  }
@@ -48,14 +48,14 @@ function H4({ className, asChild = false, ...props }) {
48
48
  return /* @__PURE__ */ jsxDEV2(Component, {
49
49
  role: "heading",
50
50
  "aria-level": 4,
51
- className: cn2("text-foreground web:select-text web:scroll-m-20 text-xl font-semibold tracking-tight", className),
51
+ className: cn2("web:select-text web:scroll-m-20 font-semibold text-foreground text-xl tracking-tight", className),
52
52
  ...props
53
53
  }, undefined, false, undefined, this);
54
54
  }
55
55
  function P({ className, asChild = false, ...props }) {
56
56
  const Component = asChild ? Slot2 : Text;
57
57
  return /* @__PURE__ */ jsxDEV2(Component, {
58
- className: cn2("text-foreground web:select-text text-base", className),
58
+ className: cn2("web:select-text text-base text-foreground", className),
59
59
  ...props
60
60
  }, undefined, false, undefined, this);
61
61
  }
@@ -63,7 +63,7 @@ function BlockQuote({ className, asChild = false, ...props }) {
63
63
  const Component = asChild ? Slot2 : Text;
64
64
  return /* @__PURE__ */ jsxDEV2(Component, {
65
65
  role: "blockquote",
66
- className: cn2("native:mt-4 native:pl-3 border-border text-foreground web:select-text mt-6 border-l-2 pl-6 text-base italic", className),
66
+ className: cn2("mt-6 native:mt-4 web:select-text border-border border-l-2 native:pl-3 pl-6 text-base text-foreground italic", className),
67
67
  ...props
68
68
  }, undefined, false, undefined, this);
69
69
  }
@@ -71,35 +71,35 @@ function Code({ className, asChild = false, ...props }) {
71
71
  const Component = asChild ? Slot2 : Text;
72
72
  return /* @__PURE__ */ jsxDEV2(Component, {
73
73
  role: "code",
74
- className: cn2("bg-muted text-foreground web:select-text relative rounded-md px-[0.3rem] py-[0.2rem] text-sm font-semibold", className),
74
+ className: cn2("relative web:select-text rounded-md bg-muted px-[0.3rem] py-[0.2rem] font-semibold text-foreground text-sm", className),
75
75
  ...props
76
76
  }, undefined, false, undefined, this);
77
77
  }
78
78
  function Lead({ className, asChild = false, ...props }) {
79
79
  const Component = asChild ? Slot2 : Text;
80
80
  return /* @__PURE__ */ jsxDEV2(Component, {
81
- className: cn2("text-muted-foreground web:select-text text-xl", className),
81
+ className: cn2("web:select-text text-muted-foreground text-xl", className),
82
82
  ...props
83
83
  }, undefined, false, undefined, this);
84
84
  }
85
85
  function Large({ className, asChild = false, ...props }) {
86
86
  const Component = asChild ? Slot2 : Text;
87
87
  return /* @__PURE__ */ jsxDEV2(Component, {
88
- className: cn2("text-foreground web:select-text text-xl font-semibold", className),
88
+ className: cn2("web:select-text font-semibold text-foreground text-xl", className),
89
89
  ...props
90
90
  }, undefined, false, undefined, this);
91
91
  }
92
92
  function Small({ className, asChild = false, ...props }) {
93
93
  const Component = asChild ? Slot2 : Text;
94
94
  return /* @__PURE__ */ jsxDEV2(Component, {
95
- className: cn2("text-foreground web:select-text text-sm leading-none font-medium", className),
95
+ className: cn2("web:select-text font-medium text-foreground text-sm leading-none", className),
96
96
  ...props
97
97
  }, undefined, false, undefined, this);
98
98
  }
99
99
  function Muted({ className, asChild = false, ...props }) {
100
100
  const Component = asChild ? Slot2 : Text;
101
101
  return /* @__PURE__ */ jsxDEV2(Component, {
102
- className: cn2("text-muted-foreground web:select-text text-sm", className),
102
+ className: cn2("web:select-text text-muted-foreground text-sm", className),
103
103
  ...props
104
104
  }, undefined, false, undefined, this);
105
105
  }
@@ -41,4 +41,4 @@ declare function useToast(): {
41
41
  dismiss: (toastId?: string) => void;
42
42
  toasts: ToasterToast[];
43
43
  };
44
- export { useToast, toast };
44
+ export { toast, useToast };
@@ -2,23 +2,23 @@
2
2
  var __require = import.meta.require;
3
3
 
4
4
  // ui/button.tsx
5
+ import { cn } from "@contractspec/lib.ui-kit-core/utils";
5
6
  import { Slot } from "@radix-ui/react-slot";
6
7
  import { cva } from "class-variance-authority";
7
- import { cn } from "@contractspec/lib.ui-kit-core/utils";
8
8
  import { jsxDEV } from "react/jsx-dev-runtime";
9
- var buttonVariants = cva("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-hidden focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive", {
9
+ var buttonVariants = cva("inline-flex shrink-0 items-center justify-center gap-2 whitespace-nowrap rounded-md font-medium text-sm outline-hidden transition-all focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0", {
10
10
  variants: {
11
11
  variant: {
12
12
  default: "bg-primary text-primary-foreground hover:bg-primary/90",
13
- destructive: "bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",
14
- outline: "border bg-background shadow-2xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",
13
+ destructive: "bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40",
14
+ outline: "border bg-background shadow-2xs hover:bg-accent hover:text-accent-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",
15
15
  secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80",
16
16
  ghost: "hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",
17
17
  link: "text-primary underline-offset-4 hover:underline"
18
18
  },
19
19
  size: {
20
20
  default: "h-9 px-4 py-2 has-[>svg]:px-3",
21
- sm: "h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",
21
+ sm: "h-8 gap-1.5 rounded-md px-3 has-[>svg]:px-2.5",
22
22
  lg: "h-10 rounded-md px-6 has-[>svg]:px-4",
23
23
  icon: "size-9"
24
24
  }
@@ -51,8 +51,8 @@ function Button({
51
51
  }, undefined, false, undefined, this);
52
52
  }
53
53
  // ui/stack.tsx
54
- import { cva as cva2 } from "class-variance-authority";
55
54
  import { cn as cn2 } from "@contractspec/lib.ui-kit-core/utils";
55
+ import { cva as cva2 } from "class-variance-authority";
56
56
  import { jsxDEV as jsxDEV2 } from "react/jsx-dev-runtime";
57
57
  var vStackVariants = cva2("flex flex-col", {
58
58
  variants: {
@@ -228,11 +228,11 @@ function UseCaseCard({
228
228
  gap: "sm",
229
229
  children: [
230
230
  /* @__PURE__ */ jsxDEV3("div", {
231
- className: "text-lg font-semibold",
231
+ className: "font-semibold text-lg",
232
232
  children: title
233
233
  }, undefined, false, undefined, this),
234
234
  summary && /* @__PURE__ */ jsxDEV3("div", {
235
- className: "text-muted-foreground text-base",
235
+ className: "text-base text-muted-foreground",
236
236
  children: summary
237
237
  }, undefined, false, undefined, this),
238
238
  ctaHref && /* @__PURE__ */ jsxDEV3(HStack, {
@@ -2,8 +2,8 @@
2
2
  var __require = import.meta.require;
3
3
 
4
4
  // ui/stack.tsx
5
- import { cva } from "class-variance-authority";
6
5
  import { cn } from "@contractspec/lib.ui-kit-core/utils";
6
+ import { cva } from "class-variance-authority";
7
7
  import { jsxDEV } from "react/jsx-dev-runtime";
8
8
  var vStackVariants = cva("flex flex-col", {
9
9
  variants: {
@@ -177,11 +177,11 @@ function UserStoryCard({
177
177
  gap: "sm",
178
178
  children: [
179
179
  /* @__PURE__ */ jsxDEV2("div", {
180
- className: "text-lg font-semibold",
180
+ className: "font-semibold text-lg",
181
181
  children: title
182
182
  }, undefined, false, undefined, this),
183
183
  body && /* @__PURE__ */ jsxDEV2("div", {
184
- className: "text-muted-foreground text-base",
184
+ className: "text-base text-muted-foreground",
185
185
  children: body
186
186
  }, undefined, false, undefined, this),
187
187
  outcome && /* @__PURE__ */ jsxDEV2("div", {
@@ -0,0 +1,9 @@
1
+ import { type ContractVisualizationRenderModel } from '@contractspec/lib.presentation-runtime-core';
2
+ export type VisualizationInteractionHandler = (params: unknown) => void;
3
+ export interface VisualizationProps {
4
+ model: ContractVisualizationRenderModel;
5
+ className?: string;
6
+ height?: number;
7
+ onDataPointPress?: VisualizationInteractionHandler;
8
+ }
9
+ export declare function Visualization({ model, className, height, onDataPointPress, }: VisualizationProps): import("react/jsx-runtime").JSX.Element;