@contractspec/lib.ui-kit-web 1.61.0 → 1.62.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (111) hide show
  1. package/dist/browser/ui/alert-dialog.js +9 -4
  2. package/dist/browser/ui/atoms/Pagination/Pagination.js +9 -4
  3. package/dist/browser/ui/atoms/Pagination/index.js +9 -4
  4. package/dist/browser/ui/atoms/SearchInput/SearchInput.js +9 -4
  5. package/dist/browser/ui/atoms/SearchInput/index.js +9 -4
  6. package/dist/browser/ui/button.js +9 -4
  7. package/dist/browser/ui/calendar.js +12 -7
  8. package/dist/browser/ui/carousel.js +20 -15
  9. package/dist/browser/ui/confirm-dialog.js +9 -4
  10. package/dist/browser/ui/context-menu.js +178 -85
  11. package/dist/browser/ui/cta.js +13 -9
  12. package/dist/browser/ui/date-picker.js +17 -12
  13. package/dist/browser/ui/date-range-picker.js +14 -9
  14. package/dist/browser/ui/datetime-picker.js +21 -16
  15. package/dist/browser/ui/empty-state.js +32 -10
  16. package/dist/browser/ui/input-group.js +9 -4
  17. package/dist/browser/ui/input-otp.js +37 -18
  18. package/dist/browser/ui/link.js +6 -4
  19. package/dist/browser/ui/loading-button.js +41 -14
  20. package/dist/browser/ui/marketing/Hero.js +9 -4
  21. package/dist/browser/ui/marketing/PricingTable.js +9 -4
  22. package/dist/browser/ui/marketing/index.js +9 -4
  23. package/dist/browser/ui/molecules/Autocomplete/index.js +15 -10
  24. package/dist/browser/ui/molecules/SearchAndFilter/SearchAndFilter.js +9 -4
  25. package/dist/browser/ui/molecules/SearchAndFilter/index.js +9 -4
  26. package/dist/browser/ui/organisms/ErrorBoundary/ErrorBoundary.js +12 -7
  27. package/dist/browser/ui/organisms/ErrorBoundary/index.js +12 -7
  28. package/dist/browser/ui/organisms/ListPage/ListPage.js +41 -14
  29. package/dist/browser/ui/organisms/ListPage/index.js +41 -14
  30. package/dist/browser/ui/page-header.js +32 -10
  31. package/dist/browser/ui/pagination.js +98 -79
  32. package/dist/browser/ui/resizable.js +6 -9
  33. package/dist/browser/ui/section.js +12 -4
  34. package/dist/browser/ui/sidebar.js +22 -17
  35. package/dist/browser/ui/stack.js +32 -10
  36. package/dist/browser/ui/stat-card-group.js +32 -10
  37. package/dist/browser/ui/stepper.js +32 -10
  38. package/dist/browser/ui/time-picker.js +13 -8
  39. package/dist/browser/ui/toast.js +57 -29
  40. package/dist/browser/ui/toaster.js +60 -32
  41. package/dist/browser/ui/usecases/UseCaseCard.js +41 -14
  42. package/dist/browser/ui/usecases/UserStoryCard.js +32 -10
  43. package/dist/browser/ui/usecases/index.js +41 -14
  44. package/dist/browser/ui/visually-hidden.js +8 -4
  45. package/dist/ui/alert-dialog.js +9 -4
  46. package/dist/ui/atoms/Pagination/Pagination.js +9 -4
  47. package/dist/ui/atoms/Pagination/index.js +9 -4
  48. package/dist/ui/atoms/SearchInput/SearchInput.js +9 -4
  49. package/dist/ui/atoms/SearchInput/index.js +9 -4
  50. package/dist/ui/button.d.ts +2 -6
  51. package/dist/ui/button.d.ts.map +1 -1
  52. package/dist/ui/button.js +9 -4
  53. package/dist/ui/calendar.js +12 -7
  54. package/dist/ui/carousel.js +20 -15
  55. package/dist/ui/confirm-dialog.js +9 -4
  56. package/dist/ui/context-menu.d.ts +26 -22
  57. package/dist/ui/context-menu.d.ts.map +1 -1
  58. package/dist/ui/context-menu.js +178 -85
  59. package/dist/ui/cta.d.ts +2 -8
  60. package/dist/ui/cta.d.ts.map +1 -1
  61. package/dist/ui/cta.js +13 -9
  62. package/dist/ui/date-picker.js +17 -12
  63. package/dist/ui/date-range-picker.js +14 -9
  64. package/dist/ui/datetime-picker.js +21 -16
  65. package/dist/ui/empty-state.js +32 -10
  66. package/dist/ui/input-group.js +9 -4
  67. package/dist/ui/input-otp.d.ts +13 -31
  68. package/dist/ui/input-otp.d.ts.map +1 -1
  69. package/dist/ui/input-otp.js +37 -18
  70. package/dist/ui/link.d.ts +4 -2
  71. package/dist/ui/link.d.ts.map +1 -1
  72. package/dist/ui/link.js +6 -4
  73. package/dist/ui/loading-button.js +41 -14
  74. package/dist/ui/marketing/Hero.js +9 -4
  75. package/dist/ui/marketing/PricingTable.js +9 -4
  76. package/dist/ui/marketing/index.js +9 -4
  77. package/dist/ui/molecules/Autocomplete/index.js +15 -10
  78. package/dist/ui/molecules/SearchAndFilter/SearchAndFilter.js +9 -4
  79. package/dist/ui/molecules/SearchAndFilter/index.js +9 -4
  80. package/dist/ui/organisms/ErrorBoundary/ErrorBoundary.js +12 -7
  81. package/dist/ui/organisms/ErrorBoundary/index.js +12 -7
  82. package/dist/ui/organisms/ListPage/ListPage.js +41 -14
  83. package/dist/ui/organisms/ListPage/index.js +41 -14
  84. package/dist/ui/page-header.js +32 -10
  85. package/dist/ui/pagination.d.ts +11 -22
  86. package/dist/ui/pagination.d.ts.map +1 -1
  87. package/dist/ui/pagination.js +98 -79
  88. package/dist/ui/resizable.d.ts +5 -20
  89. package/dist/ui/resizable.d.ts.map +1 -1
  90. package/dist/ui/resizable.js +6 -9
  91. package/dist/ui/section.d.ts +2 -9
  92. package/dist/ui/section.d.ts.map +1 -1
  93. package/dist/ui/section.js +12 -4
  94. package/dist/ui/sidebar.js +22 -17
  95. package/dist/ui/stack.d.ts +15 -23
  96. package/dist/ui/stack.d.ts.map +1 -1
  97. package/dist/ui/stack.js +32 -10
  98. package/dist/ui/stat-card-group.js +32 -10
  99. package/dist/ui/stepper.js +32 -10
  100. package/dist/ui/time-picker.js +13 -8
  101. package/dist/ui/toast.d.ts +20 -7
  102. package/dist/ui/toast.d.ts.map +1 -1
  103. package/dist/ui/toast.js +57 -29
  104. package/dist/ui/toaster.js +60 -32
  105. package/dist/ui/usecases/UseCaseCard.js +41 -14
  106. package/dist/ui/usecases/UserStoryCard.js +32 -10
  107. package/dist/ui/usecases/index.js +41 -14
  108. package/dist/ui/visually-hidden.d.ts +4 -2
  109. package/dist/ui/visually-hidden.d.ts.map +1 -1
  110. package/dist/ui/visually-hidden.js +8 -4
  111. package/package.json +11 -10
@@ -6,108 +6,201 @@ var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require
6
6
  throw Error('Dynamic require of "' + x + '" is not supported');
7
7
  });
8
8
 
9
+ // ui/utils.ts
10
+ import { clsx } from "clsx";
11
+ import { twMerge } from "tailwind-merge";
12
+ function cn(...inputs) {
13
+ return twMerge(clsx(inputs));
14
+ }
15
+
9
16
  // ui/context-menu.tsx
10
- import * as React from "react";
11
- import * as ContextMenuPrimitive from "@radix-ui/react-context-menu";
12
- import { Check, ChevronRight, Circle } from "lucide-react";
13
- import { cn } from "@contractspec/lib.ui-kit-core/utils";
17
+ import { ContextMenu as ContextMenuPrimitive } from "radix-ui";
18
+ import { CheckIcon, ChevronRightIcon } from "lucide-react";
14
19
  import { jsxDEV } from "react/jsx-dev-runtime";
15
20
  "use client";
16
- var ContextMenu = ContextMenuPrimitive.Root;
17
- var ContextMenuTrigger = ContextMenuPrimitive.Trigger;
18
- var ContextMenuGroup = ContextMenuPrimitive.Group;
19
- var ContextMenuPortal = ContextMenuPrimitive.Portal;
20
- var ContextMenuSub = ContextMenuPrimitive.Sub;
21
- var ContextMenuRadioGroup = ContextMenuPrimitive.RadioGroup;
22
- var ContextMenuSubTrigger = React.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxDEV(ContextMenuPrimitive.SubTrigger, {
23
- ref,
24
- className: cn("focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex cursor-default items-center rounded-xs px-2 py-1.5 text-base outline-hidden select-none", inset && "pl-8", className),
25
- ...props,
26
- children: [
27
- children,
28
- /* @__PURE__ */ jsxDEV(ChevronRight, {
29
- className: "ml-auto h-4 w-4"
21
+ function ContextMenu({
22
+ ...props
23
+ }) {
24
+ return /* @__PURE__ */ jsxDEV(ContextMenuPrimitive.Root, {
25
+ "data-slot": "context-menu",
26
+ ...props
27
+ }, undefined, false, undefined, this);
28
+ }
29
+ function ContextMenuTrigger({
30
+ className,
31
+ ...props
32
+ }) {
33
+ return /* @__PURE__ */ jsxDEV(ContextMenuPrimitive.Trigger, {
34
+ "data-slot": "context-menu-trigger",
35
+ className: cn("select-none", className),
36
+ ...props
37
+ }, undefined, false, undefined, this);
38
+ }
39
+ function ContextMenuGroup({
40
+ ...props
41
+ }) {
42
+ return /* @__PURE__ */ jsxDEV(ContextMenuPrimitive.Group, {
43
+ "data-slot": "context-menu-group",
44
+ ...props
45
+ }, undefined, false, undefined, this);
46
+ }
47
+ function ContextMenuPortal({
48
+ ...props
49
+ }) {
50
+ return /* @__PURE__ */ jsxDEV(ContextMenuPrimitive.Portal, {
51
+ "data-slot": "context-menu-portal",
52
+ ...props
53
+ }, undefined, false, undefined, this);
54
+ }
55
+ function ContextMenuSub({
56
+ ...props
57
+ }) {
58
+ return /* @__PURE__ */ jsxDEV(ContextMenuPrimitive.Sub, {
59
+ "data-slot": "context-menu-sub",
60
+ ...props
61
+ }, undefined, false, undefined, this);
62
+ }
63
+ function ContextMenuRadioGroup({
64
+ ...props
65
+ }) {
66
+ return /* @__PURE__ */ jsxDEV(ContextMenuPrimitive.RadioGroup, {
67
+ "data-slot": "context-menu-radio-group",
68
+ ...props
69
+ }, undefined, false, undefined, this);
70
+ }
71
+ function ContextMenuContent({
72
+ className,
73
+ ...props
74
+ }) {
75
+ return /* @__PURE__ */ jsxDEV(ContextMenuPrimitive.Portal, {
76
+ children: /* @__PURE__ */ jsxDEV(ContextMenuPrimitive.Content, {
77
+ "data-slot": "context-menu-content",
78
+ className: cn("data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-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 ring-foreground/10 bg-popover text-popover-foreground z-50 max-h-(--radix-context-menu-content-available-height) min-w-36 origin-(--radix-context-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-lg p-1 shadow-md ring-1 duration-100", className),
79
+ ...props
30
80
  }, undefined, false, undefined, this)
31
- ]
32
- }, undefined, true, undefined, this));
33
- ContextMenuSubTrigger.displayName = ContextMenuPrimitive.SubTrigger.displayName;
34
- var ContextMenuSubContent = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxDEV(ContextMenuPrimitive.SubContent, {
35
- ref,
36
- className: cn("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 min-w-32 overflow-hidden rounded-md border p-1 shadow-md", className),
81
+ }, undefined, false, undefined, this);
82
+ }
83
+ function ContextMenuItem({
84
+ className,
85
+ inset,
86
+ variant = "default",
37
87
  ...props
38
- }, undefined, false, undefined, this));
39
- ContextMenuSubContent.displayName = ContextMenuPrimitive.SubContent.displayName;
40
- var ContextMenuContent = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxDEV(ContextMenuPrimitive.Portal, {
41
- children: /* @__PURE__ */ jsxDEV(ContextMenuPrimitive.Content, {
42
- ref,
43
- className: cn("bg-popover text-popover-foreground animate-in fade-in-80 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 min-w-32 overflow-hidden rounded-md border p-1 shadow-md", className),
88
+ }) {
89
+ return /* @__PURE__ */ jsxDEV(ContextMenuPrimitive.Item, {
90
+ "data-slot": "context-menu-item",
91
+ "data-inset": inset,
92
+ "data-variant": variant,
93
+ className: cn("focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:text-destructive focus:*:[svg]:text-accent-foreground group/context-menu-item relative flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 data-inset:pl-7 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className),
44
94
  ...props
45
- }, undefined, false, undefined, this)
46
- }, undefined, false, undefined, this));
47
- ContextMenuContent.displayName = ContextMenuPrimitive.Content.displayName;
48
- var ContextMenuItem = React.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsxDEV(ContextMenuPrimitive.Item, {
49
- ref,
50
- className: cn("focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center rounded-xs px-2 py-1.5 text-base outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50", inset && "pl-8", className),
95
+ }, undefined, false, undefined, this);
96
+ }
97
+ function ContextMenuSubTrigger({
98
+ className,
99
+ inset,
100
+ children,
51
101
  ...props
52
- }, undefined, false, undefined, this));
53
- ContextMenuItem.displayName = ContextMenuPrimitive.Item.displayName;
54
- var ContextMenuCheckboxItem = React.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxDEV(ContextMenuPrimitive.CheckboxItem, {
55
- ref,
56
- className: cn("focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center rounded-xs py-1.5 pr-2 pl-8 text-base outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50", className),
102
+ }) {
103
+ return /* @__PURE__ */ jsxDEV(ContextMenuPrimitive.SubTrigger, {
104
+ "data-slot": "context-menu-sub-trigger",
105
+ "data-inset": inset,
106
+ className: cn("focus:bg-accent focus:text-accent-foreground data-open:bg-accent data-open:text-accent-foreground flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-hidden select-none data-inset:pl-7 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className),
107
+ ...props,
108
+ children: [
109
+ children,
110
+ /* @__PURE__ */ jsxDEV(ChevronRightIcon, {
111
+ className: "cn-rtl-flip ml-auto"
112
+ }, undefined, false, undefined, this)
113
+ ]
114
+ }, undefined, true, undefined, this);
115
+ }
116
+ function ContextMenuSubContent({
117
+ className,
118
+ ...props
119
+ }) {
120
+ return /* @__PURE__ */ jsxDEV(ContextMenuPrimitive.SubContent, {
121
+ "data-slot": "context-menu-sub-content",
122
+ className: cn("data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-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 bg-popover text-popover-foreground z-50 min-w-32 origin-(--radix-context-menu-content-transform-origin) overflow-hidden rounded-lg border p-1 shadow-lg duration-100", className),
123
+ ...props
124
+ }, undefined, false, undefined, this);
125
+ }
126
+ function ContextMenuCheckboxItem({
127
+ className,
128
+ children,
57
129
  checked,
58
- ...props,
59
- children: [
60
- /* @__PURE__ */ jsxDEV("span", {
61
- className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center",
62
- children: /* @__PURE__ */ jsxDEV(ContextMenuPrimitive.ItemIndicator, {
63
- children: /* @__PURE__ */ jsxDEV(Check, {
64
- className: "h-4 w-4"
130
+ inset,
131
+ ...props
132
+ }) {
133
+ return /* @__PURE__ */ jsxDEV(ContextMenuPrimitive.CheckboxItem, {
134
+ "data-slot": "context-menu-checkbox-item",
135
+ "data-inset": inset,
136
+ className: cn("focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 data-inset:pl-7 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className),
137
+ checked,
138
+ ...props,
139
+ children: [
140
+ /* @__PURE__ */ jsxDEV("span", {
141
+ className: "pointer-events-none absolute right-2",
142
+ children: /* @__PURE__ */ jsxDEV(ContextMenuPrimitive.ItemIndicator, {
143
+ children: /* @__PURE__ */ jsxDEV(CheckIcon, {}, undefined, false, undefined, this)
65
144
  }, undefined, false, undefined, this)
66
- }, undefined, false, undefined, this)
67
- }, undefined, false, undefined, this),
68
- children
69
- ]
70
- }, undefined, true, undefined, this));
71
- ContextMenuCheckboxItem.displayName = ContextMenuPrimitive.CheckboxItem.displayName;
72
- var ContextMenuRadioItem = React.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxDEV(ContextMenuPrimitive.RadioItem, {
73
- ref,
74
- className: cn("focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center rounded-xs py-1.5 pr-2 pl-8 text-base outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50", className),
75
- ...props,
76
- children: [
77
- /* @__PURE__ */ jsxDEV("span", {
78
- className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center",
79
- children: /* @__PURE__ */ jsxDEV(ContextMenuPrimitive.ItemIndicator, {
80
- children: /* @__PURE__ */ jsxDEV(Circle, {
81
- className: "h-2 w-2 fill-current"
145
+ }, undefined, false, undefined, this),
146
+ children
147
+ ]
148
+ }, undefined, true, undefined, this);
149
+ }
150
+ function ContextMenuRadioItem({
151
+ className,
152
+ children,
153
+ inset,
154
+ ...props
155
+ }) {
156
+ return /* @__PURE__ */ jsxDEV(ContextMenuPrimitive.RadioItem, {
157
+ "data-slot": "context-menu-radio-item",
158
+ "data-inset": inset,
159
+ className: cn("focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 data-inset:pl-7 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className),
160
+ ...props,
161
+ children: [
162
+ /* @__PURE__ */ jsxDEV("span", {
163
+ className: "pointer-events-none absolute right-2",
164
+ children: /* @__PURE__ */ jsxDEV(ContextMenuPrimitive.ItemIndicator, {
165
+ children: /* @__PURE__ */ jsxDEV(CheckIcon, {}, undefined, false, undefined, this)
82
166
  }, undefined, false, undefined, this)
83
- }, undefined, false, undefined, this)
84
- }, undefined, false, undefined, this),
85
- children
86
- ]
87
- }, undefined, true, undefined, this));
88
- ContextMenuRadioItem.displayName = ContextMenuPrimitive.RadioItem.displayName;
89
- var ContextMenuLabel = React.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsxDEV(ContextMenuPrimitive.Label, {
90
- ref,
91
- className: cn("text-foreground px-2 py-1.5 text-base font-semibold", inset && "pl-8", className),
167
+ }, undefined, false, undefined, this),
168
+ children
169
+ ]
170
+ }, undefined, true, undefined, this);
171
+ }
172
+ function ContextMenuLabel({
173
+ className,
174
+ inset,
92
175
  ...props
93
- }, undefined, false, undefined, this));
94
- ContextMenuLabel.displayName = ContextMenuPrimitive.Label.displayName;
95
- var ContextMenuSeparator = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxDEV(ContextMenuPrimitive.Separator, {
96
- ref,
97
- className: cn("bg-border -mx-1 my-1 h-px", className),
176
+ }) {
177
+ return /* @__PURE__ */ jsxDEV(ContextMenuPrimitive.Label, {
178
+ "data-slot": "context-menu-label",
179
+ "data-inset": inset,
180
+ className: cn("text-muted-foreground px-1.5 py-1 text-xs font-medium data-inset:pl-7", className),
181
+ ...props
182
+ }, undefined, false, undefined, this);
183
+ }
184
+ function ContextMenuSeparator({
185
+ className,
98
186
  ...props
99
- }, undefined, false, undefined, this));
100
- ContextMenuSeparator.displayName = ContextMenuPrimitive.Separator.displayName;
101
- var ContextMenuShortcut = ({
187
+ }) {
188
+ return /* @__PURE__ */ jsxDEV(ContextMenuPrimitive.Separator, {
189
+ "data-slot": "context-menu-separator",
190
+ className: cn("bg-border -mx-1 my-1 h-px", className),
191
+ ...props
192
+ }, undefined, false, undefined, this);
193
+ }
194
+ function ContextMenuShortcut({
102
195
  className,
103
196
  ...props
104
- }) => {
197
+ }) {
105
198
  return /* @__PURE__ */ jsxDEV("span", {
106
- className: cn("text-muted-foreground ml-auto text-sm tracking-widest", className),
199
+ "data-slot": "context-menu-shortcut",
200
+ className: cn("text-muted-foreground group-focus/context-menu-item:text-accent-foreground ml-auto text-xs tracking-widest", className),
107
201
  ...props
108
202
  }, undefined, false, undefined, this);
109
- };
110
- ContextMenuShortcut.displayName = "ContextMenuShortcut";
203
+ }
111
204
  export {
112
205
  ContextMenuTrigger,
113
206
  ContextMenuSubTrigger,
@@ -7,7 +7,6 @@ var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require
7
7
  });
8
8
 
9
9
  // ui/button.tsx
10
- import * as React from "react";
11
10
  import { Slot } from "@radix-ui/react-slot";
12
11
  import { cva } from "class-variance-authority";
13
12
  import { cn } from "@contractspec/lib.ui-kit-core/utils";
@@ -34,7 +33,14 @@ var buttonVariants = cva("inline-flex items-center justify-center gap-2 whitespa
34
33
  size: "default"
35
34
  }
36
35
  });
37
- var Button = React.forwardRef(({ className, variant, size, asChild = false, ...props }, ref) => {
36
+ function Button({
37
+ className,
38
+ variant,
39
+ size,
40
+ asChild = false,
41
+ ref,
42
+ ...props
43
+ }) {
38
44
  if (asChild) {
39
45
  return /* @__PURE__ */ jsxDEV(Slot, {
40
46
  "data-slot": "button",
@@ -48,13 +54,11 @@ var Button = React.forwardRef(({ className, variant, size, asChild = false, ...p
48
54
  className: cn(buttonVariants({ variant, size, className })),
49
55
  ...props
50
56
  }, undefined, false, undefined, this);
51
- });
52
- Button.displayName = "Button";
57
+ }
53
58
  // ui/cta.tsx
54
- import * as React2 from "react";
55
59
  import { cn as cn2 } from "@contractspec/lib.ui-kit-core/utils";
56
60
  import { jsxDEV as jsxDEV2 } from "react/jsx-dev-runtime";
57
- var Cta = React2.forwardRef(({
61
+ function Cta({
58
62
  capture,
59
63
  ctaName,
60
64
  className,
@@ -63,8 +67,9 @@ var Cta = React2.forwardRef(({
63
67
  onClick,
64
68
  size = "lg",
65
69
  children,
70
+ ref,
66
71
  ...props
67
- }, ref) => {
72
+ }) {
68
73
  const handleClick = (e) => {
69
74
  if (ctaName && capture) {
70
75
  try {
@@ -95,8 +100,7 @@ var Cta = React2.forwardRef(({
95
100
  ...props,
96
101
  children
97
102
  }, undefined, false, undefined, this);
98
- });
99
- Cta.displayName = "Cta";
103
+ }
100
104
  export {
101
105
  Cta
102
106
  };
@@ -7,7 +7,6 @@ var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require
7
7
  });
8
8
 
9
9
  // ui/button.tsx
10
- import * as React from "react";
11
10
  import { Slot } from "@radix-ui/react-slot";
12
11
  import { cva } from "class-variance-authority";
13
12
  import { cn } from "@contractspec/lib.ui-kit-core/utils";
@@ -34,7 +33,14 @@ var buttonVariants = cva("inline-flex items-center justify-center gap-2 whitespa
34
33
  size: "default"
35
34
  }
36
35
  });
37
- var Button = React.forwardRef(({ className, variant, size, asChild = false, ...props }, ref) => {
36
+ function Button({
37
+ className,
38
+ variant,
39
+ size,
40
+ asChild = false,
41
+ ref,
42
+ ...props
43
+ }) {
38
44
  if (asChild) {
39
45
  return /* @__PURE__ */ jsxDEV(Slot, {
40
46
  "data-slot": "button",
@@ -48,8 +54,7 @@ var Button = React.forwardRef(({ className, variant, size, asChild = false, ...p
48
54
  className: cn(buttonVariants({ variant, size, className })),
49
55
  ...props
50
56
  }, undefined, false, undefined, this);
51
- });
52
- Button.displayName = "Button";
57
+ }
53
58
  // ui/input.tsx
54
59
  import { cn as cn2 } from "@contractspec/lib.ui-kit-core/utils";
55
60
  import { jsxDEV as jsxDEV2 } from "react/jsx-dev-runtime";
@@ -62,7 +67,7 @@ function Input({ className, type, ...props }) {
62
67
  }, undefined, false, undefined, this);
63
68
  }
64
69
  // ui/calendar.tsx
65
- import * as React2 from "react";
70
+ import * as React from "react";
66
71
  import {
67
72
  ChevronDownIcon,
68
73
  ChevronLeftIcon,
@@ -168,8 +173,8 @@ function CalendarDayButton({
168
173
  ...props
169
174
  }) {
170
175
  const defaultClassNames = getDefaultClassNames();
171
- const ref = React2.useRef(null);
172
- React2.useEffect(() => {
176
+ const ref = React.useRef(null);
177
+ React.useEffect(() => {
173
178
  if (modifiers.focused)
174
179
  ref.current?.focus();
175
180
  }, [modifiers.focused]);
@@ -232,7 +237,7 @@ function PopoverAnchor({
232
237
  }, undefined, false, undefined, this);
233
238
  }
234
239
  // ui/date-picker.tsx
235
- import * as React3 from "react";
240
+ import * as React2 from "react";
236
241
  import { CalendarIcon } from "lucide-react";
237
242
  import { cn as cn5 } from "@contractspec/lib.ui-kit-core/utils";
238
243
  import { jsxDEV as jsxDEV5 } from "react/jsx-dev-runtime";
@@ -247,10 +252,10 @@ function DatePicker({
247
252
  className,
248
253
  language
249
254
  }) {
250
- const [open, setOpen] = React3.useState(false);
251
- const [month, setMonth] = React3.useState(value ?? new Date);
252
- const [textValue, setTextValue] = React3.useState(formatDate(value));
253
- React3.useEffect(() => {
255
+ const [open, setOpen] = React2.useState(false);
256
+ const [month, setMonth] = React2.useState(value ?? new Date);
257
+ const [textValue, setTextValue] = React2.useState(formatDate(value));
258
+ React2.useEffect(() => {
254
259
  setTextValue(formatDate(value));
255
260
  if (value)
256
261
  setMonth(value);
@@ -7,7 +7,6 @@ var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require
7
7
  });
8
8
 
9
9
  // ui/button.tsx
10
- import * as React from "react";
11
10
  import { Slot } from "@radix-ui/react-slot";
12
11
  import { cva } from "class-variance-authority";
13
12
  import { cn } from "@contractspec/lib.ui-kit-core/utils";
@@ -34,7 +33,14 @@ var buttonVariants = cva("inline-flex items-center justify-center gap-2 whitespa
34
33
  size: "default"
35
34
  }
36
35
  });
37
- var Button = React.forwardRef(({ className, variant, size, asChild = false, ...props }, ref) => {
36
+ function Button({
37
+ className,
38
+ variant,
39
+ size,
40
+ asChild = false,
41
+ ref,
42
+ ...props
43
+ }) {
38
44
  if (asChild) {
39
45
  return /* @__PURE__ */ jsxDEV(Slot, {
40
46
  "data-slot": "button",
@@ -48,10 +54,9 @@ var Button = React.forwardRef(({ className, variant, size, asChild = false, ...p
48
54
  className: cn(buttonVariants({ variant, size, className })),
49
55
  ...props
50
56
  }, undefined, false, undefined, this);
51
- });
52
- Button.displayName = "Button";
57
+ }
53
58
  // ui/calendar.tsx
54
- import * as React2 from "react";
59
+ import * as React from "react";
55
60
  import {
56
61
  ChevronDownIcon,
57
62
  ChevronLeftIcon,
@@ -157,8 +162,8 @@ function CalendarDayButton({
157
162
  ...props
158
163
  }) {
159
164
  const defaultClassNames = getDefaultClassNames();
160
- const ref = React2.useRef(null);
161
- React2.useEffect(() => {
165
+ const ref = React.useRef(null);
166
+ React.useEffect(() => {
162
167
  if (modifiers.focused)
163
168
  ref.current?.focus();
164
169
  }, [modifiers.focused]);
@@ -221,7 +226,7 @@ function PopoverAnchor({
221
226
  }, undefined, false, undefined, this);
222
227
  }
223
228
  // ui/date-range-picker.tsx
224
- import * as React3 from "react";
229
+ import * as React2 from "react";
225
230
  import { cn as cn4 } from "@contractspec/lib.ui-kit-core/utils";
226
231
  import { jsxDEV as jsxDEV4 } from "react/jsx-dev-runtime";
227
232
  "use client";
@@ -233,7 +238,7 @@ function DateRangePicker({
233
238
  maxDate,
234
239
  className
235
240
  }) {
236
- const [open, setOpen] = React3.useState(false);
241
+ const [open, setOpen] = React2.useState(false);
237
242
  return /* @__PURE__ */ jsxDEV4(Popover, {
238
243
  open,
239
244
  onOpenChange: setOpen,
@@ -7,7 +7,6 @@ var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require
7
7
  });
8
8
 
9
9
  // ui/button.tsx
10
- import * as React from "react";
11
10
  import { Slot } from "@radix-ui/react-slot";
12
11
  import { cva } from "class-variance-authority";
13
12
  import { cn } from "@contractspec/lib.ui-kit-core/utils";
@@ -34,7 +33,14 @@ var buttonVariants = cva("inline-flex items-center justify-center gap-2 whitespa
34
33
  size: "default"
35
34
  }
36
35
  });
37
- var Button = React.forwardRef(({ className, variant, size, asChild = false, ...props }, ref) => {
36
+ function Button({
37
+ className,
38
+ variant,
39
+ size,
40
+ asChild = false,
41
+ ref,
42
+ ...props
43
+ }) {
38
44
  if (asChild) {
39
45
  return /* @__PURE__ */ jsxDEV(Slot, {
40
46
  "data-slot": "button",
@@ -48,8 +54,7 @@ var Button = React.forwardRef(({ className, variant, size, asChild = false, ...p
48
54
  className: cn(buttonVariants({ variant, size, className })),
49
55
  ...props
50
56
  }, undefined, false, undefined, this);
51
- });
52
- Button.displayName = "Button";
57
+ }
53
58
  // ui/input.tsx
54
59
  import { cn as cn2 } from "@contractspec/lib.ui-kit-core/utils";
55
60
  import { jsxDEV as jsxDEV2 } from "react/jsx-dev-runtime";
@@ -62,7 +67,7 @@ function Input({ className, type, ...props }) {
62
67
  }, undefined, false, undefined, this);
63
68
  }
64
69
  // ui/calendar.tsx
65
- import * as React2 from "react";
70
+ import * as React from "react";
66
71
  import {
67
72
  ChevronDownIcon,
68
73
  ChevronLeftIcon,
@@ -168,8 +173,8 @@ function CalendarDayButton({
168
173
  ...props
169
174
  }) {
170
175
  const defaultClassNames = getDefaultClassNames();
171
- const ref = React2.useRef(null);
172
- React2.useEffect(() => {
176
+ const ref = React.useRef(null);
177
+ React.useEffect(() => {
173
178
  if (modifiers.focused)
174
179
  ref.current?.focus();
175
180
  }, [modifiers.focused]);
@@ -232,7 +237,7 @@ function PopoverAnchor({
232
237
  }, undefined, false, undefined, this);
233
238
  }
234
239
  // ui/date-picker.tsx
235
- import * as React3 from "react";
240
+ import * as React2 from "react";
236
241
  import { CalendarIcon } from "lucide-react";
237
242
  import { cn as cn5 } from "@contractspec/lib.ui-kit-core/utils";
238
243
  import { jsxDEV as jsxDEV5 } from "react/jsx-dev-runtime";
@@ -247,10 +252,10 @@ function DatePicker({
247
252
  className,
248
253
  language
249
254
  }) {
250
- const [open, setOpen] = React3.useState(false);
251
- const [month, setMonth] = React3.useState(value ?? new Date);
252
- const [textValue, setTextValue] = React3.useState(formatDate(value));
253
- React3.useEffect(() => {
255
+ const [open, setOpen] = React2.useState(false);
256
+ const [month, setMonth] = React2.useState(value ?? new Date);
257
+ const [textValue, setTextValue] = React2.useState(formatDate(value));
258
+ React2.useEffect(() => {
254
259
  setTextValue(formatDate(value));
255
260
  if (value)
256
261
  setMonth(value);
@@ -347,7 +352,7 @@ function DatePicker({
347
352
  }
348
353
 
349
354
  // ui/time-picker.tsx
350
- import * as React4 from "react";
355
+ import * as React3 from "react";
351
356
  import { cn as cn6 } from "@contractspec/lib.ui-kit-core/utils";
352
357
  import { jsxDEV as jsxDEV6 } from "react/jsx-dev-runtime";
353
358
  "use client";
@@ -368,9 +373,9 @@ function TimePicker({
368
373
  is24Hour = true,
369
374
  className
370
375
  }) {
371
- const [open, setOpen] = React4.useState(false);
372
- const [hours, setHours] = React4.useState(() => value ? String(value.getHours()).padStart(2, "0") : "");
373
- const [minutes, setMinutes] = React4.useState(() => value ? String(value.getMinutes()).padStart(2, "0") : "");
376
+ const [open, setOpen] = React3.useState(false);
377
+ const [hours, setHours] = React3.useState(() => value ? String(value.getHours()).padStart(2, "0") : "");
378
+ const [minutes, setMinutes] = React3.useState(() => value ? String(value.getMinutes()).padStart(2, "0") : "");
374
379
  const commit = (h, m) => {
375
380
  const base = value ?? new Date;
376
381
  const next = new Date(base);