@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
@@ -44,4 +44,4 @@ export declare function NavCategorizedWithPreview({ categories, modules, activeC
44
44
  setActiveKey: (k: string | null) => void;
45
45
  preview: React.ReactNode;
46
46
  }): import("react/jsx-runtime").JSX.Element;
47
- export { NavigationMenu as NavRoot, NavigationMenuList as NavList, NavigationMenuItem as NavItem, NavigationMenuTrigger as NavTrigger, NavigationMenuContent as NavContent, NavigationMenuLink as NavLink, };
47
+ export { NavigationMenu as NavRoot, NavigationMenuContent as NavContent, NavigationMenuItem as NavItem, NavigationMenuLink as NavLink, NavigationMenuList as NavList, NavigationMenuTrigger as NavTrigger, };
@@ -2,10 +2,10 @@
2
2
  var __require = import.meta.require;
3
3
 
4
4
  // ui/navigation-menu.tsx
5
+ import { cn } from "@contractspec/lib.ui-kit-core/utils";
5
6
  import * as NavigationMenuPrimitive from "@radix-ui/react-navigation-menu";
6
7
  import { cva } from "class-variance-authority";
7
8
  import { ChevronDownIcon } from "lucide-react";
8
- import { cn } from "@contractspec/lib.ui-kit-core/utils";
9
9
  import { jsxDEV } from "react/jsx-dev-runtime";
10
10
  function NavigationMenu({
11
11
  className,
@@ -44,7 +44,7 @@ function NavigationMenuItem({
44
44
  ...props
45
45
  }, undefined, false, undefined, this);
46
46
  }
47
- 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");
47
+ 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");
48
48
  function NavigationMenuTrigger({
49
49
  className,
50
50
  children,
@@ -70,7 +70,7 @@ function NavigationMenuContent({
70
70
  }) {
71
71
  return /* @__PURE__ */ jsxDEV(NavigationMenuPrimitive.Content, {
72
72
  "data-slot": "navigation-menu-content",
73
- 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),
73
+ 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),
74
74
  ...props
75
75
  }, undefined, false, undefined, this);
76
76
  }
@@ -82,7 +82,7 @@ function NavigationMenuViewport({
82
82
  className: cn("absolute top-full left-0 isolate z-50 flex justify-center"),
83
83
  children: /* @__PURE__ */ jsxDEV(NavigationMenuPrimitive.Viewport, {
84
84
  "data-slot": "navigation-menu-viewport",
85
- 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),
85
+ 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),
86
86
  ...props
87
87
  }, undefined, false, undefined, this)
88
88
  }, undefined, false, undefined, this);
@@ -93,7 +93,7 @@ function NavigationMenuLink({
93
93
  }) {
94
94
  return /* @__PURE__ */ jsxDEV(NavigationMenuPrimitive.Link, {
95
95
  "data-slot": "navigation-menu-link",
96
- 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),
96
+ 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),
97
97
  ...props
98
98
  }, undefined, false, undefined, this);
99
99
  }
@@ -103,17 +103,17 @@ function NavigationMenuIndicator({
103
103
  }) {
104
104
  return /* @__PURE__ */ jsxDEV(NavigationMenuPrimitive.Indicator, {
105
105
  "data-slot": "navigation-menu-indicator",
106
- 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),
106
+ 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),
107
107
  ...props,
108
108
  children: /* @__PURE__ */ jsxDEV("div", {
109
- className: "bg-border relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm shadow-md"
109
+ className: "relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-border shadow-md"
110
110
  }, undefined, false, undefined, this)
111
111
  }, undefined, false, undefined, this);
112
112
  }
113
113
  // ui/nav-layout.tsx
114
- import * as React from "react";
115
- import { cva as cva2 } from "class-variance-authority";
116
114
  import { cn as cn2 } from "@contractspec/lib.ui-kit-core/utils";
115
+ import { cva as cva2 } from "class-variance-authority";
116
+ import * as React from "react";
117
117
  import { jsxDEV as jsxDEV2 } from "react/jsx-dev-runtime";
118
118
  var navPanelVariants = cva2("", {
119
119
  variants: {
@@ -152,7 +152,7 @@ function NavSimpleList({
152
152
  return /* @__PURE__ */ jsxDEV2("div", {
153
153
  children: [
154
154
  title && /* @__PURE__ */ jsxDEV2("div", {
155
- className: "mb-2 text-base font-semibold",
155
+ className: "mb-2 font-semibold text-base",
156
156
  children: title
157
157
  }, undefined, false, undefined, this),
158
158
  /* @__PURE__ */ jsxDEV2("ul", {
@@ -162,14 +162,14 @@ function NavSimpleList({
162
162
  asChild: true,
163
163
  children: /* @__PURE__ */ jsxDEV2("a", {
164
164
  href: it.href,
165
- className: "hover:bg-accent block rounded-md p-2",
165
+ className: "block rounded-md p-2 hover:bg-accent",
166
166
  children: [
167
167
  /* @__PURE__ */ jsxDEV2("div", {
168
- className: "text-base font-medium",
168
+ className: "font-medium text-base",
169
169
  children: it.label
170
170
  }, undefined, false, undefined, this),
171
171
  it.description && /* @__PURE__ */ jsxDEV2("div", {
172
- className: "text-muted-foreground line-clamp-2 text-sm",
172
+ className: "line-clamp-2 text-muted-foreground text-sm",
173
173
  children: it.description
174
174
  }, undefined, false, undefined, this)
175
175
  ]
@@ -188,7 +188,7 @@ function NavColumns({
188
188
  children: columns.map((col, idx) => /* @__PURE__ */ jsxDEV2("div", {
189
189
  children: [
190
190
  col.title && /* @__PURE__ */ jsxDEV2("div", {
191
- className: "text-muted-foreground mb-2 text-base font-semibold",
191
+ className: "mb-2 font-semibold text-base text-muted-foreground",
192
192
  children: col.title
193
193
  }, undefined, false, undefined, this),
194
194
  /* @__PURE__ */ jsxDEV2("ul", {
@@ -198,14 +198,14 @@ function NavColumns({
198
198
  asChild: true,
199
199
  children: /* @__PURE__ */ jsxDEV2("a", {
200
200
  href: it.href,
201
- className: "hover:bg-accent block rounded-md p-2",
201
+ className: "block rounded-md p-2 hover:bg-accent",
202
202
  children: [
203
203
  /* @__PURE__ */ jsxDEV2("div", {
204
- className: "text-base font-medium",
204
+ className: "font-medium text-base",
205
205
  children: it.label
206
206
  }, undefined, false, undefined, this),
207
207
  it.description && /* @__PURE__ */ jsxDEV2("div", {
208
- className: "text-muted-foreground line-clamp-2 text-sm",
208
+ className: "line-clamp-2 text-muted-foreground text-sm",
209
209
  children: it.description
210
210
  }, undefined, false, undefined, this)
211
211
  ]
@@ -234,14 +234,14 @@ function NavCategorizedWithPreview({
234
234
  className: "max-h-96 w-48 shrink-0 overflow-auto pr-1",
235
235
  children: [
236
236
  /* @__PURE__ */ jsxDEV2("button", {
237
- className: `hover:bg-muted w-full rounded-md px-3 py-2 text-left text-base transition-colors ${activeCategory === "all" ? "bg-muted" : ""}`,
237
+ className: `w-full rounded-md px-3 py-2 text-left text-base transition-colors hover:bg-muted ${activeCategory === "all" ? "bg-muted" : ""}`,
238
238
  onMouseEnter: () => setActiveCategory("all"),
239
239
  onFocus: () => setActiveCategory("all"),
240
240
  onClick: () => setActiveCategory("all"),
241
241
  children: "All"
242
242
  }, undefined, false, undefined, this),
243
243
  categories.map((c) => /* @__PURE__ */ jsxDEV2("button", {
244
- className: `hover:bg-muted w-full rounded-md px-3 py-2 text-left text-base transition-colors ${activeCategory === c.key ? "bg-muted" : ""}`,
244
+ className: `w-full rounded-md px-3 py-2 text-left text-base transition-colors hover:bg-muted ${activeCategory === c.key ? "bg-muted" : ""}`,
245
245
  onMouseEnter: () => setActiveCategory(c.key),
246
246
  onFocus: () => setActiveCategory(c.key),
247
247
  onClick: () => setActiveCategory(c.key),
@@ -255,16 +255,16 @@ function NavCategorizedWithPreview({
255
255
  asChild: true,
256
256
  children: /* @__PURE__ */ jsxDEV2("a", {
257
257
  href: `/modules/${m.key}`,
258
- className: "hover:bg-muted rounded-md px-3 py-2 text-left transition-colors",
258
+ className: "rounded-md px-3 py-2 text-left transition-colors hover:bg-muted",
259
259
  onMouseEnter: () => setActiveKey(m.key),
260
260
  onFocus: () => setActiveKey(m.key),
261
261
  children: [
262
262
  /* @__PURE__ */ jsxDEV2("div", {
263
- className: "text-base font-medium",
263
+ className: "font-medium text-base",
264
264
  children: m.title
265
265
  }, undefined, false, undefined, this),
266
266
  m.description && /* @__PURE__ */ jsxDEV2("div", {
267
- className: "text-muted-foreground line-clamp-2 text-sm",
267
+ className: "line-clamp-2 text-muted-foreground text-sm",
268
268
  children: m.description
269
269
  }, undefined, false, undefined, this)
270
270
  ]
@@ -1,5 +1,5 @@
1
- import * as React from 'react';
2
1
  import * as NavigationMenuPrimitive from '@radix-ui/react-navigation-menu';
2
+ import * as React from 'react';
3
3
  declare function NavigationMenu({ className, children, viewport, ...props }: React.ComponentProps<typeof NavigationMenuPrimitive.Root> & {
4
4
  viewport?: boolean;
5
5
  }): import("react/jsx-runtime").JSX.Element;
@@ -11,4 +11,4 @@ declare function NavigationMenuContent({ className, ...props }: React.ComponentP
11
11
  declare function NavigationMenuViewport({ className, ...props }: React.ComponentProps<typeof NavigationMenuPrimitive.Viewport>): import("react/jsx-runtime").JSX.Element;
12
12
  declare function NavigationMenuLink({ className, ...props }: React.ComponentProps<typeof NavigationMenuPrimitive.Link>): import("react/jsx-runtime").JSX.Element;
13
13
  declare function NavigationMenuIndicator({ className, ...props }: React.ComponentProps<typeof NavigationMenuPrimitive.Indicator>): import("react/jsx-runtime").JSX.Element;
14
- export { NavigationMenu, NavigationMenuList, NavigationMenuItem, NavigationMenuContent, NavigationMenuTrigger, NavigationMenuLink, NavigationMenuIndicator, NavigationMenuViewport, navigationMenuTriggerStyle, };
14
+ export { NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, navigationMenuTriggerStyle, };
@@ -2,10 +2,10 @@
2
2
  var __require = import.meta.require;
3
3
 
4
4
  // ui/navigation-menu.tsx
5
+ import { cn } from "@contractspec/lib.ui-kit-core/utils";
5
6
  import * as NavigationMenuPrimitive from "@radix-ui/react-navigation-menu";
6
7
  import { cva } from "class-variance-authority";
7
8
  import { ChevronDownIcon } from "lucide-react";
8
- import { cn } from "@contractspec/lib.ui-kit-core/utils";
9
9
  import { jsxDEV } from "react/jsx-dev-runtime";
10
10
  function NavigationMenu({
11
11
  className,
@@ -44,7 +44,7 @@ function NavigationMenuItem({
44
44
  ...props
45
45
  }, undefined, false, undefined, this);
46
46
  }
47
- 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");
47
+ 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");
48
48
  function NavigationMenuTrigger({
49
49
  className,
50
50
  children,
@@ -70,7 +70,7 @@ function NavigationMenuContent({
70
70
  }) {
71
71
  return /* @__PURE__ */ jsxDEV(NavigationMenuPrimitive.Content, {
72
72
  "data-slot": "navigation-menu-content",
73
- 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),
73
+ 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),
74
74
  ...props
75
75
  }, undefined, false, undefined, this);
76
76
  }
@@ -82,7 +82,7 @@ function NavigationMenuViewport({
82
82
  className: cn("absolute top-full left-0 isolate z-50 flex justify-center"),
83
83
  children: /* @__PURE__ */ jsxDEV(NavigationMenuPrimitive.Viewport, {
84
84
  "data-slot": "navigation-menu-viewport",
85
- 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),
85
+ 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),
86
86
  ...props
87
87
  }, undefined, false, undefined, this)
88
88
  }, undefined, false, undefined, this);
@@ -93,7 +93,7 @@ function NavigationMenuLink({
93
93
  }) {
94
94
  return /* @__PURE__ */ jsxDEV(NavigationMenuPrimitive.Link, {
95
95
  "data-slot": "navigation-menu-link",
96
- 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),
96
+ 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),
97
97
  ...props
98
98
  }, undefined, false, undefined, this);
99
99
  }
@@ -103,10 +103,10 @@ function NavigationMenuIndicator({
103
103
  }) {
104
104
  return /* @__PURE__ */ jsxDEV(NavigationMenuPrimitive.Indicator, {
105
105
  "data-slot": "navigation-menu-indicator",
106
- 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),
106
+ 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),
107
107
  ...props,
108
108
  children: /* @__PURE__ */ jsxDEV("div", {
109
- className: "bg-border relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm shadow-md"
109
+ className: "relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-border shadow-md"
110
110
  }, undefined, false, undefined, this)
111
111
  }, undefined, false, undefined, this);
112
112
  }
@@ -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/organisms/ErrorBoundary/ErrorBoundary.tsx
54
+ import { AlertTriangle, Home, RefreshCw } from "lucide-react";
54
55
  import React from "react";
55
- import { AlertTriangle, RefreshCw, Home } from "lucide-react";
56
56
  import { jsxDEV as jsxDEV2 } from "react/jsx-dev-runtime";
57
57
  "use client";
58
58
  var DefaultErrorFallback = ({
@@ -73,7 +73,7 @@ var DefaultErrorFallback = ({
73
73
  }, undefined, false, undefined, this)
74
74
  }, undefined, false, undefined, this),
75
75
  /* @__PURE__ */ jsxDEV2("h1", {
76
- className: "mb-2 text-2xl font-semibold text-gray-900",
76
+ className: "mb-2 font-semibold text-2xl text-gray-900",
77
77
  children: "Une erreur s'est produite"
78
78
  }, undefined, false, undefined, this),
79
79
  /* @__PURE__ */ jsxDEV2("p", {
@@ -84,15 +84,15 @@ var DefaultErrorFallback = ({
84
84
  className: "mb-6 rounded-md bg-red-50 p-4 text-left",
85
85
  children: [
86
86
  /* @__PURE__ */ jsxDEV2("p", {
87
- className: "mb-2 text-base font-medium text-red-800",
87
+ className: "mb-2 font-medium text-base text-red-800",
88
88
  children: "Erreur de d\xE9veloppement:"
89
89
  }, undefined, false, undefined, this),
90
90
  /* @__PURE__ */ jsxDEV2("p", {
91
- className: "font-mono text-sm break-all text-red-700",
91
+ className: "break-all font-mono text-red-700 text-sm",
92
92
  children: error.message
93
93
  }, undefined, false, undefined, this),
94
94
  errorId && /* @__PURE__ */ jsxDEV2("p", {
95
- className: "mt-2 text-sm text-red-600",
95
+ className: "mt-2 text-red-600 text-sm",
96
96
  children: [
97
97
  "ID: ",
98
98
  errorId
@@ -127,7 +127,7 @@ var DefaultErrorFallback = ({
127
127
  ]
128
128
  }, undefined, true, undefined, this),
129
129
  !isDevelopment && errorId && /* @__PURE__ */ jsxDEV2("p", {
130
- className: "mt-4 text-sm text-gray-500",
130
+ className: "mt-4 text-gray-500 text-sm",
131
131
  children: [
132
132
  "Code d'erreur: ",
133
133
  errorId
@@ -1,2 +1,2 @@
1
- export { ErrorBoundary, useErrorHandler } from './ErrorBoundary';
2
1
  export type { ErrorBoundaryProps, ErrorFallbackProps } from './ErrorBoundary';
2
+ export { ErrorBoundary, useErrorHandler } from './ErrorBoundary';