@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
@@ -21,7 +21,7 @@ function Skeleton({
21
21
  }) {
22
22
  return /* @__PURE__ */ jsxDEV("div", {
23
23
  "data-slot": "skeleton",
24
- className: cn("bg-accent animate-pulse rounded-md", className),
24
+ className: cn("animate-pulse rounded-md bg-accent", className),
25
25
  ...props
26
26
  }, undefined, false, undefined, this);
27
27
  }
@@ -7,10 +7,10 @@ var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require
7
7
  });
8
8
 
9
9
  // ui/navigation-menu.tsx
10
+ import { cn } from "@contractspec/lib.ui-kit-core/utils";
10
11
  import * as NavigationMenuPrimitive from "@radix-ui/react-navigation-menu";
11
12
  import { cva } from "class-variance-authority";
12
13
  import { ChevronDownIcon } from "lucide-react";
13
- import { cn } from "@contractspec/lib.ui-kit-core/utils";
14
14
  import { jsxDEV } from "react/jsx-dev-runtime";
15
15
  function NavigationMenu({
16
16
  className,
@@ -49,7 +49,7 @@ function NavigationMenuItem({
49
49
  ...props
50
50
  }, undefined, false, undefined, this);
51
51
  }
52
- var navigationMenuTriggerStyle = cva("group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground disabled:pointer-events-none disabled:opacity-50 data-[state=open]:hover:bg-accent data-[state=open]:text-accent-foreground data-[state=open]:focus:bg-accent data-[state=open]:bg-accent/50 focus-visible:ring-ring/50 outline-hidden transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1");
52
+ var navigationMenuTriggerStyle = cva("group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 font-medium text-sm outline-hidden transition-[color,box-shadow] hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus-visible:outline-1 focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 data-[state=open]:bg-accent/50 data-[state=open]:text-accent-foreground data-[state=open]:focus:bg-accent data-[state=open]:hover:bg-accent");
53
53
  function NavigationMenuTrigger({
54
54
  className,
55
55
  children,
@@ -75,7 +75,7 @@ function NavigationMenuContent({
75
75
  }) {
76
76
  return /* @__PURE__ */ jsxDEV(NavigationMenuPrimitive.Content, {
77
77
  "data-slot": "navigation-menu-content",
78
- className: cn("data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 top-0 left-0 w-full p-2 pr-2.5 md:absolute md:w-auto", "bg-background group-data-[viewport=false]/navigation-menu:bg-popover group-data-[viewport=false]/navigation-menu:text-popover-foreground data-[state=open]:group-data-[viewport=false]/navigation-menu:animate-in data-[state=closed]:group-data-[viewport=false]/navigation-menu:animate-out data-[state=closed]:group-data-[viewport=false]/navigation-menu:fade-out-0 data-[state=open]:group-data-[viewport=false]/navigation-menu:fade-in-0 data-[state=closed]:group-data-[viewport=false]/navigation-menu:zoom-out-95 data-[state=open]:group-data-[viewport=false]/navigation-menu:zoom-in-95 group-data-[viewport=false]/navigation-menu:top-full group-data-[viewport=false]/navigation-menu:mt-1.5 group-data-[viewport=false]/navigation-menu:overflow-hidden group-data-[viewport=false]/navigation-menu:rounded-md group-data-[viewport=false]/navigation-menu:border group-data-[viewport=false]/navigation-menu:shadow-2xs group-data-[viewport=false]/navigation-menu:duration-200 **:data-[slot=navigation-menu-link]:focus:ring-0 **:data-[slot=navigation-menu-link]:focus:outline-hidden", className),
78
+ className: cn("data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 top-0 left-0 w-full p-2 pr-2.5 data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out md:absolute md:w-auto", "data-[state=closed]:group-data-[viewport=false]/navigation-menu:fade-out-0 data-[state=open]:group-data-[viewport=false]/navigation-menu:fade-in-0 data-[state=closed]:group-data-[viewport=false]/navigation-menu:zoom-out-95 data-[state=open]:group-data-[viewport=false]/navigation-menu:zoom-in-95 bg-background **:data-[slot=navigation-menu-link]:focus:outline-hidden **:data-[slot=navigation-menu-link]:focus:ring-0 group-data-[viewport=false]/navigation-menu:top-full group-data-[viewport=false]/navigation-menu:mt-1.5 group-data-[viewport=false]/navigation-menu:overflow-hidden group-data-[viewport=false]/navigation-menu:rounded-md group-data-[viewport=false]/navigation-menu:border group-data-[viewport=false]/navigation-menu:bg-popover group-data-[viewport=false]/navigation-menu:text-popover-foreground group-data-[viewport=false]/navigation-menu:shadow-2xs group-data-[viewport=false]/navigation-menu:duration-200 data-[state=closed]:group-data-[viewport=false]/navigation-menu:animate-out data-[state=open]:group-data-[viewport=false]/navigation-menu:animate-in", className),
79
79
  ...props
80
80
  }, undefined, false, undefined, this);
81
81
  }
@@ -87,7 +87,7 @@ function NavigationMenuViewport({
87
87
  className: cn("absolute top-full left-0 isolate z-50 flex justify-center"),
88
88
  children: /* @__PURE__ */ jsxDEV(NavigationMenuPrimitive.Viewport, {
89
89
  "data-slot": "navigation-menu-viewport",
90
- className: cn("origin-top-center bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 relative mt-1.5 h-(--radix-navigation-menu-viewport-height) w-full overflow-hidden rounded-md border shadow-2xs md:w-(--radix-navigation-menu-viewport-width)", className),
90
+ className: cn("data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 relative mt-1.5 h-(--radix-navigation-menu-viewport-height) w-full origin-top-center overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-2xs data-[state=closed]:animate-out data-[state=open]:animate-in md:w-(--radix-navigation-menu-viewport-width)", className),
91
91
  ...props
92
92
  }, undefined, false, undefined, this)
93
93
  }, undefined, false, undefined, this);
@@ -98,7 +98,7 @@ function NavigationMenuLink({
98
98
  }) {
99
99
  return /* @__PURE__ */ jsxDEV(NavigationMenuPrimitive.Link, {
100
100
  "data-slot": "navigation-menu-link",
101
- className: cn("hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus-visible:ring-ring/50 data-[active=true]:bg-accent/50 data-[active=true]:text-accent-foreground data-[active=true]:hover:bg-accent data-[active=true]:focus:bg-accent [&_svg:not([class*='text-'])]:text-muted-foreground flex flex-col gap-1 rounded-xs p-2 text-sm outline-hidden transition-all focus-visible:ring-[3px] focus-visible:outline-1 [&_svg:not([class*='size-'])]:size-4", className),
101
+ className: cn("flex flex-col gap-1 rounded-xs p-2 text-sm outline-hidden transition-all hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus-visible:outline-1 focus-visible:ring-[3px] focus-visible:ring-ring/50 data-[active=true]:bg-accent/50 data-[active=true]:text-accent-foreground data-[active=true]:focus:bg-accent data-[active=true]:hover:bg-accent [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground", className),
102
102
  ...props
103
103
  }, undefined, false, undefined, this);
104
104
  }
@@ -108,17 +108,17 @@ function NavigationMenuIndicator({
108
108
  }) {
109
109
  return /* @__PURE__ */ jsxDEV(NavigationMenuPrimitive.Indicator, {
110
110
  "data-slot": "navigation-menu-indicator",
111
- className: cn("data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in top-full z-1 flex h-1.5 items-end justify-center overflow-hidden", className),
111
+ className: cn("data-[state=hidden]:fade-out data-[state=visible]:fade-in top-full z-1 flex h-1.5 items-end justify-center overflow-hidden data-[state=hidden]:animate-out data-[state=visible]:animate-in", className),
112
112
  ...props,
113
113
  children: /* @__PURE__ */ jsxDEV("div", {
114
- className: "bg-border relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm shadow-md"
114
+ className: "relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-border shadow-md"
115
115
  }, undefined, false, undefined, this)
116
116
  }, undefined, false, undefined, this);
117
117
  }
118
118
  // ui/nav-layout.tsx
119
- import * as React from "react";
120
- import { cva as cva2 } from "class-variance-authority";
121
119
  import { cn as cn2 } from "@contractspec/lib.ui-kit-core/utils";
120
+ import { cva as cva2 } from "class-variance-authority";
121
+ import * as React from "react";
122
122
  import { jsxDEV as jsxDEV2 } from "react/jsx-dev-runtime";
123
123
  var navPanelVariants = cva2("", {
124
124
  variants: {
@@ -157,7 +157,7 @@ function NavSimpleList({
157
157
  return /* @__PURE__ */ jsxDEV2("div", {
158
158
  children: [
159
159
  title && /* @__PURE__ */ jsxDEV2("div", {
160
- className: "mb-2 text-base font-semibold",
160
+ className: "mb-2 font-semibold text-base",
161
161
  children: title
162
162
  }, undefined, false, undefined, this),
163
163
  /* @__PURE__ */ jsxDEV2("ul", {
@@ -167,14 +167,14 @@ function NavSimpleList({
167
167
  asChild: true,
168
168
  children: /* @__PURE__ */ jsxDEV2("a", {
169
169
  href: it.href,
170
- className: "hover:bg-accent block rounded-md p-2",
170
+ className: "block rounded-md p-2 hover:bg-accent",
171
171
  children: [
172
172
  /* @__PURE__ */ jsxDEV2("div", {
173
- className: "text-base font-medium",
173
+ className: "font-medium text-base",
174
174
  children: it.label
175
175
  }, undefined, false, undefined, this),
176
176
  it.description && /* @__PURE__ */ jsxDEV2("div", {
177
- className: "text-muted-foreground line-clamp-2 text-sm",
177
+ className: "line-clamp-2 text-muted-foreground text-sm",
178
178
  children: it.description
179
179
  }, undefined, false, undefined, this)
180
180
  ]
@@ -193,7 +193,7 @@ function NavColumns({
193
193
  children: columns.map((col, idx) => /* @__PURE__ */ jsxDEV2("div", {
194
194
  children: [
195
195
  col.title && /* @__PURE__ */ jsxDEV2("div", {
196
- className: "text-muted-foreground mb-2 text-base font-semibold",
196
+ className: "mb-2 font-semibold text-base text-muted-foreground",
197
197
  children: col.title
198
198
  }, undefined, false, undefined, this),
199
199
  /* @__PURE__ */ jsxDEV2("ul", {
@@ -203,14 +203,14 @@ function NavColumns({
203
203
  asChild: true,
204
204
  children: /* @__PURE__ */ jsxDEV2("a", {
205
205
  href: it.href,
206
- className: "hover:bg-accent block rounded-md p-2",
206
+ className: "block rounded-md p-2 hover:bg-accent",
207
207
  children: [
208
208
  /* @__PURE__ */ jsxDEV2("div", {
209
- className: "text-base font-medium",
209
+ className: "font-medium text-base",
210
210
  children: it.label
211
211
  }, undefined, false, undefined, this),
212
212
  it.description && /* @__PURE__ */ jsxDEV2("div", {
213
- className: "text-muted-foreground line-clamp-2 text-sm",
213
+ className: "line-clamp-2 text-muted-foreground text-sm",
214
214
  children: it.description
215
215
  }, undefined, false, undefined, this)
216
216
  ]
@@ -239,14 +239,14 @@ function NavCategorizedWithPreview({
239
239
  className: "max-h-96 w-48 shrink-0 overflow-auto pr-1",
240
240
  children: [
241
241
  /* @__PURE__ */ jsxDEV2("button", {
242
- className: `hover:bg-muted w-full rounded-md px-3 py-2 text-left text-base transition-colors ${activeCategory === "all" ? "bg-muted" : ""}`,
242
+ className: `w-full rounded-md px-3 py-2 text-left text-base transition-colors hover:bg-muted ${activeCategory === "all" ? "bg-muted" : ""}`,
243
243
  onMouseEnter: () => setActiveCategory("all"),
244
244
  onFocus: () => setActiveCategory("all"),
245
245
  onClick: () => setActiveCategory("all"),
246
246
  children: "All"
247
247
  }, undefined, false, undefined, this),
248
248
  categories.map((c) => /* @__PURE__ */ jsxDEV2("button", {
249
- className: `hover:bg-muted w-full rounded-md px-3 py-2 text-left text-base transition-colors ${activeCategory === c.key ? "bg-muted" : ""}`,
249
+ className: `w-full rounded-md px-3 py-2 text-left text-base transition-colors hover:bg-muted ${activeCategory === c.key ? "bg-muted" : ""}`,
250
250
  onMouseEnter: () => setActiveCategory(c.key),
251
251
  onFocus: () => setActiveCategory(c.key),
252
252
  onClick: () => setActiveCategory(c.key),
@@ -260,16 +260,16 @@ function NavCategorizedWithPreview({
260
260
  asChild: true,
261
261
  children: /* @__PURE__ */ jsxDEV2("a", {
262
262
  href: `/modules/${m.key}`,
263
- className: "hover:bg-muted rounded-md px-3 py-2 text-left transition-colors",
263
+ className: "rounded-md px-3 py-2 text-left transition-colors hover:bg-muted",
264
264
  onMouseEnter: () => setActiveKey(m.key),
265
265
  onFocus: () => setActiveKey(m.key),
266
266
  children: [
267
267
  /* @__PURE__ */ jsxDEV2("div", {
268
- className: "text-base font-medium",
268
+ className: "font-medium text-base",
269
269
  children: m.title
270
270
  }, undefined, false, undefined, this),
271
271
  m.description && /* @__PURE__ */ jsxDEV2("div", {
272
- className: "text-muted-foreground line-clamp-2 text-sm",
272
+ className: "line-clamp-2 text-muted-foreground text-sm",
273
273
  children: m.description
274
274
  }, undefined, false, undefined, this)
275
275
  ]
@@ -7,10 +7,10 @@ var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require
7
7
  });
8
8
 
9
9
  // ui/navigation-menu.tsx
10
+ import { cn } from "@contractspec/lib.ui-kit-core/utils";
10
11
  import * as NavigationMenuPrimitive from "@radix-ui/react-navigation-menu";
11
12
  import { cva } from "class-variance-authority";
12
13
  import { ChevronDownIcon } from "lucide-react";
13
- import { cn } from "@contractspec/lib.ui-kit-core/utils";
14
14
  import { jsxDEV } from "react/jsx-dev-runtime";
15
15
  function NavigationMenu({
16
16
  className,
@@ -49,7 +49,7 @@ function NavigationMenuItem({
49
49
  ...props
50
50
  }, undefined, false, undefined, this);
51
51
  }
52
- var navigationMenuTriggerStyle = cva("group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground disabled:pointer-events-none disabled:opacity-50 data-[state=open]:hover:bg-accent data-[state=open]:text-accent-foreground data-[state=open]:focus:bg-accent data-[state=open]:bg-accent/50 focus-visible:ring-ring/50 outline-hidden transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1");
52
+ var navigationMenuTriggerStyle = cva("group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 font-medium text-sm outline-hidden transition-[color,box-shadow] hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus-visible:outline-1 focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 data-[state=open]:bg-accent/50 data-[state=open]:text-accent-foreground data-[state=open]:focus:bg-accent data-[state=open]:hover:bg-accent");
53
53
  function NavigationMenuTrigger({
54
54
  className,
55
55
  children,
@@ -75,7 +75,7 @@ function NavigationMenuContent({
75
75
  }) {
76
76
  return /* @__PURE__ */ jsxDEV(NavigationMenuPrimitive.Content, {
77
77
  "data-slot": "navigation-menu-content",
78
- className: cn("data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 top-0 left-0 w-full p-2 pr-2.5 md:absolute md:w-auto", "bg-background group-data-[viewport=false]/navigation-menu:bg-popover group-data-[viewport=false]/navigation-menu:text-popover-foreground data-[state=open]:group-data-[viewport=false]/navigation-menu:animate-in data-[state=closed]:group-data-[viewport=false]/navigation-menu:animate-out data-[state=closed]:group-data-[viewport=false]/navigation-menu:fade-out-0 data-[state=open]:group-data-[viewport=false]/navigation-menu:fade-in-0 data-[state=closed]:group-data-[viewport=false]/navigation-menu:zoom-out-95 data-[state=open]:group-data-[viewport=false]/navigation-menu:zoom-in-95 group-data-[viewport=false]/navigation-menu:top-full group-data-[viewport=false]/navigation-menu:mt-1.5 group-data-[viewport=false]/navigation-menu:overflow-hidden group-data-[viewport=false]/navigation-menu:rounded-md group-data-[viewport=false]/navigation-menu:border group-data-[viewport=false]/navigation-menu:shadow-2xs group-data-[viewport=false]/navigation-menu:duration-200 **:data-[slot=navigation-menu-link]:focus:ring-0 **:data-[slot=navigation-menu-link]:focus:outline-hidden", className),
78
+ className: cn("data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 top-0 left-0 w-full p-2 pr-2.5 data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out md:absolute md:w-auto", "data-[state=closed]:group-data-[viewport=false]/navigation-menu:fade-out-0 data-[state=open]:group-data-[viewport=false]/navigation-menu:fade-in-0 data-[state=closed]:group-data-[viewport=false]/navigation-menu:zoom-out-95 data-[state=open]:group-data-[viewport=false]/navigation-menu:zoom-in-95 bg-background **:data-[slot=navigation-menu-link]:focus:outline-hidden **:data-[slot=navigation-menu-link]:focus:ring-0 group-data-[viewport=false]/navigation-menu:top-full group-data-[viewport=false]/navigation-menu:mt-1.5 group-data-[viewport=false]/navigation-menu:overflow-hidden group-data-[viewport=false]/navigation-menu:rounded-md group-data-[viewport=false]/navigation-menu:border group-data-[viewport=false]/navigation-menu:bg-popover group-data-[viewport=false]/navigation-menu:text-popover-foreground group-data-[viewport=false]/navigation-menu:shadow-2xs group-data-[viewport=false]/navigation-menu:duration-200 data-[state=closed]:group-data-[viewport=false]/navigation-menu:animate-out data-[state=open]:group-data-[viewport=false]/navigation-menu:animate-in", className),
79
79
  ...props
80
80
  }, undefined, false, undefined, this);
81
81
  }
@@ -87,7 +87,7 @@ function NavigationMenuViewport({
87
87
  className: cn("absolute top-full left-0 isolate z-50 flex justify-center"),
88
88
  children: /* @__PURE__ */ jsxDEV(NavigationMenuPrimitive.Viewport, {
89
89
  "data-slot": "navigation-menu-viewport",
90
- className: cn("origin-top-center bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 relative mt-1.5 h-(--radix-navigation-menu-viewport-height) w-full overflow-hidden rounded-md border shadow-2xs md:w-(--radix-navigation-menu-viewport-width)", className),
90
+ className: cn("data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 relative mt-1.5 h-(--radix-navigation-menu-viewport-height) w-full origin-top-center overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-2xs data-[state=closed]:animate-out data-[state=open]:animate-in md:w-(--radix-navigation-menu-viewport-width)", className),
91
91
  ...props
92
92
  }, undefined, false, undefined, this)
93
93
  }, undefined, false, undefined, this);
@@ -98,7 +98,7 @@ function NavigationMenuLink({
98
98
  }) {
99
99
  return /* @__PURE__ */ jsxDEV(NavigationMenuPrimitive.Link, {
100
100
  "data-slot": "navigation-menu-link",
101
- className: cn("hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus-visible:ring-ring/50 data-[active=true]:bg-accent/50 data-[active=true]:text-accent-foreground data-[active=true]:hover:bg-accent data-[active=true]:focus:bg-accent [&_svg:not([class*='text-'])]:text-muted-foreground flex flex-col gap-1 rounded-xs p-2 text-sm outline-hidden transition-all focus-visible:ring-[3px] focus-visible:outline-1 [&_svg:not([class*='size-'])]:size-4", className),
101
+ className: cn("flex flex-col gap-1 rounded-xs p-2 text-sm outline-hidden transition-all hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus-visible:outline-1 focus-visible:ring-[3px] focus-visible:ring-ring/50 data-[active=true]:bg-accent/50 data-[active=true]:text-accent-foreground data-[active=true]:focus:bg-accent data-[active=true]:hover:bg-accent [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground", className),
102
102
  ...props
103
103
  }, undefined, false, undefined, this);
104
104
  }
@@ -108,10 +108,10 @@ function NavigationMenuIndicator({
108
108
  }) {
109
109
  return /* @__PURE__ */ jsxDEV(NavigationMenuPrimitive.Indicator, {
110
110
  "data-slot": "navigation-menu-indicator",
111
- className: cn("data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in top-full z-1 flex h-1.5 items-end justify-center overflow-hidden", className),
111
+ className: cn("data-[state=hidden]:fade-out data-[state=visible]:fade-in top-full z-1 flex h-1.5 items-end justify-center overflow-hidden data-[state=hidden]:animate-out data-[state=visible]:animate-in", className),
112
112
  ...props,
113
113
  children: /* @__PURE__ */ jsxDEV("div", {
114
- className: "bg-border relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm shadow-md"
114
+ className: "relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-border shadow-md"
115
115
  }, undefined, false, undefined, this)
116
116
  }, undefined, false, undefined, this);
117
117
  }
@@ -7,23 +7,23 @@ var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require
7
7
  });
8
8
 
9
9
  // ui/button.tsx
10
+ import { cn } from "@contractspec/lib.ui-kit-core/utils";
10
11
  import { Slot } from "@radix-ui/react-slot";
11
12
  import { cva } from "class-variance-authority";
12
- import { cn } from "@contractspec/lib.ui-kit-core/utils";
13
13
  import { jsxDEV } from "react/jsx-dev-runtime";
14
- 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", {
14
+ 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", {
15
15
  variants: {
16
16
  variant: {
17
17
  default: "bg-primary text-primary-foreground hover:bg-primary/90",
18
- destructive: "bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",
19
- 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",
18
+ destructive: "bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40",
19
+ 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",
20
20
  secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80",
21
21
  ghost: "hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",
22
22
  link: "text-primary underline-offset-4 hover:underline"
23
23
  },
24
24
  size: {
25
25
  default: "h-9 px-4 py-2 has-[>svg]:px-3",
26
- sm: "h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",
26
+ sm: "h-8 gap-1.5 rounded-md px-3 has-[>svg]:px-2.5",
27
27
  lg: "h-10 rounded-md px-6 has-[>svg]:px-4",
28
28
  icon: "size-9"
29
29
  }
@@ -56,8 +56,8 @@ function Button({
56
56
  }, undefined, false, undefined, this);
57
57
  }
58
58
  // ui/organisms/ErrorBoundary/ErrorBoundary.tsx
59
+ import { AlertTriangle, Home, RefreshCw } from "lucide-react";
59
60
  import React from "react";
60
- import { AlertTriangle, RefreshCw, Home } from "lucide-react";
61
61
  import { jsxDEV as jsxDEV2 } from "react/jsx-dev-runtime";
62
62
  "use client";
63
63
  var DefaultErrorFallback = ({
@@ -78,7 +78,7 @@ var DefaultErrorFallback = ({
78
78
  }, undefined, false, undefined, this)
79
79
  }, undefined, false, undefined, this),
80
80
  /* @__PURE__ */ jsxDEV2("h1", {
81
- className: "mb-2 text-2xl font-semibold text-gray-900",
81
+ className: "mb-2 font-semibold text-2xl text-gray-900",
82
82
  children: "Une erreur s'est produite"
83
83
  }, undefined, false, undefined, this),
84
84
  /* @__PURE__ */ jsxDEV2("p", {
@@ -89,15 +89,15 @@ var DefaultErrorFallback = ({
89
89
  className: "mb-6 rounded-md bg-red-50 p-4 text-left",
90
90
  children: [
91
91
  /* @__PURE__ */ jsxDEV2("p", {
92
- className: "mb-2 text-base font-medium text-red-800",
92
+ className: "mb-2 font-medium text-base text-red-800",
93
93
  children: "Erreur de développement:"
94
94
  }, undefined, false, undefined, this),
95
95
  /* @__PURE__ */ jsxDEV2("p", {
96
- className: "font-mono text-sm break-all text-red-700",
96
+ className: "break-all font-mono text-red-700 text-sm",
97
97
  children: error.message
98
98
  }, undefined, false, undefined, this),
99
99
  errorId && /* @__PURE__ */ jsxDEV2("p", {
100
- className: "mt-2 text-sm text-red-600",
100
+ className: "mt-2 text-red-600 text-sm",
101
101
  children: [
102
102
  "ID: ",
103
103
  errorId
@@ -132,7 +132,7 @@ var DefaultErrorFallback = ({
132
132
  ]
133
133
  }, undefined, true, undefined, this),
134
134
  !isDevelopment && errorId && /* @__PURE__ */ jsxDEV2("p", {
135
- className: "mt-4 text-sm text-gray-500",
135
+ className: "mt-4 text-gray-500 text-sm",
136
136
  children: [
137
137
  "Code d'erreur: ",
138
138
  errorId