hazo_ui 2.7.0 → 2.7.1

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.
package/README.md CHANGED
@@ -186,6 +186,31 @@ The following components support both global config and prop-level color overrid
186
186
 
187
187
  - **[HazoUiConfirmDialog](#hazouiconfirmdialog)** - A compact, opinionated confirmation dialog with accent top border, variant system (destructive, warning, info, success), async loading support, and configurable buttons. Perfect for delete confirmations, unsaved changes warnings, and simple acknowledgments.
188
188
 
189
+ ### shadcn/ui Primitive Re-exports
190
+
191
+ All shadcn/ui base components are re-exported from hazo_ui, so sibling hazo_* packages (and consumers) can import UI primitives from a single source without installing shadcn/ui separately:
192
+
193
+ ```tsx
194
+ import { Button, Input, Label, Checkbox, Switch, Tabs, TabsList, TabsTrigger, TabsContent } from 'hazo_ui';
195
+ import { Select, SelectTrigger, SelectValue, SelectContent, SelectItem } from 'hazo_ui';
196
+ import { DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuItem } from 'hazo_ui';
197
+ import { Accordion, AccordionItem, AccordionTrigger, AccordionContent } from 'hazo_ui';
198
+ import { HoverCard, HoverCardTrigger, HoverCardContent } from 'hazo_ui';
199
+ import { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider } from 'hazo_ui';
200
+ import { Popover, PopoverTrigger, PopoverContent } from 'hazo_ui';
201
+ import { RadioGroup, RadioGroupItem } from 'hazo_ui';
202
+ import { Calendar, Textarea } from 'hazo_ui';
203
+ ```
204
+
205
+ ### Animation Utilities
206
+
207
+ Shared animation presets and resolver function are exported for use in custom dialog implementations:
208
+
209
+ ```tsx
210
+ import { ANIMATION_PRESETS, resolve_animation_classes } from 'hazo_ui';
211
+ import type { AnimationPreset } from 'hazo_ui';
212
+ ```
213
+
189
214
  ---
190
215
 
191
216
  ## HazoUiMultiFilterDialog
@@ -1962,7 +1987,7 @@ HazoUiDialog offers two approaches depending on your needs:
1962
1987
  - **9 Animation Presets**: Zoom, slide (bottom/top/left/right), fade, bounce, scale-up, and flip animations
1963
1988
  - **Header Bar Option**: Full-width colored header bar for modern modal designs
1964
1989
  - **Color Customization**: Override header, body, footer, border, and accent colors via props
1965
- - **Themed Variants**: Pre-built themes for success, warning, danger, and info states
1990
+ - **Themed Variants**: Pre-built themes for success, warning, destructive, and info states
1966
1991
  - **Responsive Design**: Viewport-relative sizing with maximum constraints
1967
1992
  - **Controlled Component**: Fully controlled open/close state
1968
1993
  - **Callback Support**: Separate callbacks for confirm and cancel actions
@@ -2035,7 +2060,7 @@ interface HazoUiDialogProps {
2035
2060
  showCloseButton?: boolean; // default: true
2036
2061
  }
2037
2062
 
2038
- type DialogVariant = 'default' | 'info' | 'success' | 'warning' | 'danger';
2063
+ type DialogVariant = 'default' | 'info' | 'success' | 'warning' | 'destructive';
2039
2064
  type AnimationPreset = 'zoom' | 'slide' | 'fade' | 'bounce' | 'scale-up' | 'flip' | 'slide-left' | 'slide-right' | 'slide-top' | 'none';
2040
2065
  type ButtonVariant = "default" | "destructive" | "outline" | "secondary" | "ghost" | "link";
2041
2066
  ```
@@ -2577,9 +2602,9 @@ function ProgressDialog() {
2577
2602
 
2578
2603
  #### Themed Dialogs (Variant Prop)
2579
2604
 
2580
- Use the `variant` prop to apply preset color themes with a single prop instead of specifying individual colors. Available variants: `info`, `success`, `warning`, `danger`.
2605
+ Use the `variant` prop to apply preset color themes with a single prop instead of specifying individual colors. Available variants: `info`, `success`, `warning`, `destructive`.
2581
2606
 
2582
- Each variant auto-applies: header background tint, header text color, border color, accent color, tinted overlay, and (for `danger`) destructive button variant.
2607
+ Each variant auto-applies: header background tint, header text color, border color, accent color, tinted overlay, and (for `destructive`) destructive button variant.
2583
2608
 
2584
2609
  **Override chain:** Individual prop > Variant preset > Global config. You can use a variant and still override specific colors via props.
2585
2610
 
@@ -2595,7 +2620,7 @@ Each variant auto-applies: header background tint, header text color, border col
2595
2620
  </HazoUiDialog>
2596
2621
 
2597
2622
  // Danger variant (auto-sets destructive button)
2598
- <HazoUiDialog variant="danger" title="⛔ Delete" actionButtonText="Delete Permanently" {...props}>
2623
+ <HazoUiDialog variant="destructive" title="⛔ Delete" actionButtonText="Delete Permanently" {...props}>
2599
2624
  <p>All data will be permanently deleted.</p>
2600
2625
  </HazoUiDialog>
2601
2626
 
@@ -2616,7 +2641,7 @@ By default (`splitHeader={true}`), variant dialogs render the title and descript
2616
2641
  </HazoUiDialog>
2617
2642
 
2618
2643
  // Merged header - single background, italic description
2619
- <HazoUiDialog variant="danger" splitHeader={false} title="Delete" description="This is permanent." {...props}>
2644
+ <HazoUiDialog variant="destructive" splitHeader={false} title="Delete" description="This is permanent." {...props}>
2620
2645
  <p>One red header background with italic description text.</p>
2621
2646
  </HazoUiDialog>
2622
2647
  ```
@@ -2636,7 +2661,7 @@ By default (`splitHeader={true}`), variant dialogs render the title and descript
2636
2661
  </HazoUiDialog>
2637
2662
 
2638
2663
  // Danger variant with non-destructive button override
2639
- <HazoUiDialog variant="danger" actionButtonVariant="default" title="Acknowledge" {...props}>
2664
+ <HazoUiDialog variant="destructive" actionButtonVariant="default" title="Acknowledge" {...props}>
2640
2665
  <p>Red colors from variant, default button from prop override.</p>
2641
2666
  </HazoUiDialog>
2642
2667
  ```
package/dist/index.cjs CHANGED
@@ -57,6 +57,10 @@ var TabsPrimitive = require('@radix-ui/react-tabs');
57
57
  var Suggestion = require('@tiptap/suggestion');
58
58
  var state = require('@tiptap/pm/state');
59
59
  var reactDom = require('react-dom');
60
+ var AccordionPrimitive = require('@radix-ui/react-accordion');
61
+ var CheckboxPrimitive = require('@radix-ui/react-checkbox');
62
+ var DropdownMenuPrimitive = require('@radix-ui/react-dropdown-menu');
63
+ var HoverCardPrimitive = require('@radix-ui/react-hover-card');
60
64
 
61
65
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
62
66
 
@@ -115,6 +119,10 @@ var TaskList__default = /*#__PURE__*/_interopDefault(TaskList);
115
119
  var TaskItem__default = /*#__PURE__*/_interopDefault(TaskItem);
116
120
  var TabsPrimitive__namespace = /*#__PURE__*/_interopNamespace(TabsPrimitive);
117
121
  var Suggestion__default = /*#__PURE__*/_interopDefault(Suggestion);
122
+ var AccordionPrimitive__namespace = /*#__PURE__*/_interopNamespace(AccordionPrimitive);
123
+ var CheckboxPrimitive__namespace = /*#__PURE__*/_interopNamespace(CheckboxPrimitive);
124
+ var DropdownMenuPrimitive__namespace = /*#__PURE__*/_interopNamespace(DropdownMenuPrimitive);
125
+ var HoverCardPrimitive__namespace = /*#__PURE__*/_interopNamespace(HoverCardPrimitive);
118
126
 
119
127
  var __create = Object.create;
120
128
  var __defProp = Object.defineProperty;
@@ -142,9 +150,9 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
142
150
  mod
143
151
  ));
144
152
 
145
- // node_modules/@babel/runtime/helpers/extends.js
153
+ // ../node_modules/@babel/runtime/helpers/extends.js
146
154
  var require_extends = __commonJS({
147
- "node_modules/@babel/runtime/helpers/extends.js"(exports$1, module) {
155
+ "../node_modules/@babel/runtime/helpers/extends.js"(exports$1, module) {
148
156
  function _extends11() {
149
157
  return module.exports = _extends11 = Object.assign ? Object.assign.bind() : function(n) {
150
158
  for (var e = 1; e < arguments.length; e++) {
@@ -158,9 +166,9 @@ var require_extends = __commonJS({
158
166
  }
159
167
  });
160
168
 
161
- // node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js
169
+ // ../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js
162
170
  var require_objectWithoutPropertiesLoose = __commonJS({
163
- "node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js"(exports$1, module) {
171
+ "../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js"(exports$1, module) {
164
172
  function _objectWithoutPropertiesLoose10(r, e) {
165
173
  if (null == r) return {};
166
174
  var t = {};
@@ -482,6 +490,7 @@ var Input = React27__namespace.forwardRef(
482
490
  );
483
491
  Input.displayName = "Input";
484
492
  var Select = SelectPrimitive__namespace.Root;
493
+ var SelectGroup = SelectPrimitive__namespace.Group;
485
494
  var SelectValue = SelectPrimitive__namespace.Value;
486
495
  var SelectTrigger = React27__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
487
496
  SelectPrimitive__namespace.Trigger,
@@ -6172,41 +6181,8 @@ var HazoUiTextarea = ({
6172
6181
  );
6173
6182
  };
6174
6183
  HazoUiTextarea.displayName = "HazoUiTextarea";
6175
- var VARIANT_PRESETS = {
6176
- info: {
6177
- header_background_color: "rgb(191, 219, 254)",
6178
- description_background_color: "rgb(219, 234, 254)",
6179
- header_text_color: "rgb(30, 58, 138)",
6180
- border_color: "rgb(59, 130, 246)",
6181
- accent_color: "rgb(59, 130, 246)",
6182
- overlay_class_name: "bg-blue-950/50"
6183
- },
6184
- success: {
6185
- header_background_color: "rgb(187, 247, 208)",
6186
- description_background_color: "rgb(220, 252, 231)",
6187
- header_text_color: "rgb(22, 101, 52)",
6188
- border_color: "rgb(34, 197, 94)",
6189
- accent_color: "rgb(34, 197, 94)",
6190
- overlay_class_name: "bg-green-950/50"
6191
- },
6192
- warning: {
6193
- header_background_color: "rgb(253, 230, 138)",
6194
- description_background_color: "rgb(254, 249, 195)",
6195
- header_text_color: "rgb(113, 63, 18)",
6196
- border_color: "rgb(234, 179, 8)",
6197
- accent_color: "rgb(234, 179, 8)",
6198
- overlay_class_name: "bg-yellow-950/50"
6199
- },
6200
- danger: {
6201
- header_background_color: "rgb(254, 202, 202)",
6202
- description_background_color: "rgb(254, 226, 226)",
6203
- header_text_color: "rgb(127, 29, 29)",
6204
- border_color: "rgb(239, 68, 68)",
6205
- accent_color: "rgb(239, 68, 68)",
6206
- overlay_class_name: "bg-red-950/50",
6207
- action_button_variant: "destructive"
6208
- }
6209
- };
6184
+
6185
+ // src/lib/animations.ts
6210
6186
  var ANIMATION_PRESETS = {
6211
6187
  zoom: {
6212
6188
  open: "animate-dialog-zoom",
@@ -6246,11 +6222,46 @@ var ANIMATION_PRESETS = {
6246
6222
  },
6247
6223
  none: { open: "", close: "" }
6248
6224
  };
6249
- function resolveAnimationClasses(openAnim = "zoom", closeAnim = "zoom") {
6250
- const openClasses = openAnim in ANIMATION_PRESETS ? ANIMATION_PRESETS[openAnim].open : openAnim;
6251
- const closeClasses = closeAnim in ANIMATION_PRESETS ? ANIMATION_PRESETS[closeAnim].close : closeAnim;
6252
- return `${openClasses} ${closeClasses}`;
6225
+ function resolve_animation_classes(open_anim = "zoom", close_anim = "zoom") {
6226
+ const open_classes = open_anim in ANIMATION_PRESETS ? ANIMATION_PRESETS[open_anim].open : open_anim;
6227
+ const close_classes = close_anim in ANIMATION_PRESETS ? ANIMATION_PRESETS[close_anim].close : close_anim;
6228
+ return `${open_classes} ${close_classes}`;
6253
6229
  }
6230
+ var VARIANT_PRESETS = {
6231
+ info: {
6232
+ header_background_color: "rgb(191, 219, 254)",
6233
+ description_background_color: "rgb(219, 234, 254)",
6234
+ header_text_color: "rgb(30, 58, 138)",
6235
+ border_color: "rgb(59, 130, 246)",
6236
+ accent_color: "rgb(59, 130, 246)",
6237
+ overlay_class_name: "bg-blue-950/50"
6238
+ },
6239
+ success: {
6240
+ header_background_color: "rgb(187, 247, 208)",
6241
+ description_background_color: "rgb(220, 252, 231)",
6242
+ header_text_color: "rgb(22, 101, 52)",
6243
+ border_color: "rgb(34, 197, 94)",
6244
+ accent_color: "rgb(34, 197, 94)",
6245
+ overlay_class_name: "bg-green-950/50"
6246
+ },
6247
+ warning: {
6248
+ header_background_color: "rgb(253, 230, 138)",
6249
+ description_background_color: "rgb(254, 249, 195)",
6250
+ header_text_color: "rgb(113, 63, 18)",
6251
+ border_color: "rgb(234, 179, 8)",
6252
+ accent_color: "rgb(234, 179, 8)",
6253
+ overlay_class_name: "bg-yellow-950/50"
6254
+ },
6255
+ destructive: {
6256
+ header_background_color: "rgb(254, 202, 202)",
6257
+ description_background_color: "rgb(254, 226, 226)",
6258
+ header_text_color: "rgb(127, 29, 29)",
6259
+ border_color: "rgb(239, 68, 68)",
6260
+ accent_color: "rgb(239, 68, 68)",
6261
+ overlay_class_name: "bg-red-950/50",
6262
+ action_button_variant: "destructive"
6263
+ }
6264
+ };
6254
6265
  function HazoUiDialog({
6255
6266
  open,
6256
6267
  onOpenChange,
@@ -6300,7 +6311,7 @@ function HazoUiDialog({
6300
6311
  onCancel?.();
6301
6312
  onOpenChange?.(false);
6302
6313
  };
6303
- const animationClasses = resolveAnimationClasses(openAnimation, closeAnimation);
6314
+ const animationClasses = resolve_animation_classes(openAnimation, closeAnimation);
6304
6315
  const resolved_border_color = borderColor ?? variant_preset?.border_color;
6305
6316
  const contentStyles = {
6306
6317
  width: sizeWidth,
@@ -6530,23 +6541,6 @@ var CONFIRM_VARIANT_PRESETS = {
6530
6541
  overlay_class_name: "bg-green-950/50"
6531
6542
  }
6532
6543
  };
6533
- var ANIMATION_PRESETS2 = {
6534
- zoom: { open: "animate-dialog-zoom", close: "animate-dialog-zoom" },
6535
- slide: { open: "animate-dialog-slide-bottom", close: "animate-dialog-slide-bottom" },
6536
- fade: { open: "animate-dialog-fade", close: "animate-dialog-fade" },
6537
- bounce: { open: "animate-dialog-bounce", close: "animate-dialog-bounce" },
6538
- "scale-up": { open: "animate-dialog-scale", close: "animate-dialog-scale" },
6539
- flip: { open: "animate-dialog-flip", close: "animate-dialog-flip" },
6540
- "slide-left": { open: "animate-dialog-slide-left", close: "animate-dialog-slide-left" },
6541
- "slide-right": { open: "animate-dialog-slide-right", close: "animate-dialog-slide-right" },
6542
- "slide-top": { open: "animate-dialog-slide-top", close: "animate-dialog-slide-top" },
6543
- none: { open: "", close: "" }
6544
- };
6545
- function resolve_animation_classes(open_anim = "zoom", close_anim = "zoom") {
6546
- const open_classes = open_anim in ANIMATION_PRESETS2 ? ANIMATION_PRESETS2[open_anim].open : open_anim;
6547
- const close_classes = close_anim in ANIMATION_PRESETS2 ? ANIMATION_PRESETS2[close_anim].close : close_anim;
6548
- return `${open_classes} ${close_classes}`;
6549
- }
6550
6544
  function HazoUiConfirmDialog({
6551
6545
  open,
6552
6546
  onOpenChange,
@@ -6680,10 +6674,253 @@ function HazoUiConfirmDialog({
6680
6674
  )
6681
6675
  ] }) });
6682
6676
  }
6677
+ var Accordion = AccordionPrimitive__namespace.Root;
6678
+ var AccordionItem = React27__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
6679
+ AccordionPrimitive__namespace.Item,
6680
+ {
6681
+ ref,
6682
+ className: cn("border-b", className),
6683
+ ...props
6684
+ }
6685
+ ));
6686
+ AccordionItem.displayName = "AccordionItem";
6687
+ var AccordionTrigger = React27__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(AccordionPrimitive__namespace.Header, { className: "flex", children: /* @__PURE__ */ jsxRuntime.jsxs(
6688
+ AccordionPrimitive__namespace.Trigger,
6689
+ {
6690
+ ref,
6691
+ className: cn(
6692
+ "flex flex-1 items-center justify-between py-4 font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180",
6693
+ className
6694
+ ),
6695
+ ...props,
6696
+ children: [
6697
+ children,
6698
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDown, { className: "h-4 w-4 shrink-0 transition-transform duration-200" })
6699
+ ]
6700
+ }
6701
+ ) }));
6702
+ AccordionTrigger.displayName = AccordionPrimitive__namespace.Trigger.displayName;
6703
+ var AccordionContent = React27__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
6704
+ AccordionPrimitive__namespace.Content,
6705
+ {
6706
+ ref,
6707
+ className: "overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",
6708
+ ...props,
6709
+ children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("pb-4 pt-0", className), children })
6710
+ }
6711
+ ));
6712
+ AccordionContent.displayName = AccordionPrimitive__namespace.Content.displayName;
6713
+ var Checkbox = React27__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
6714
+ CheckboxPrimitive__namespace.Root,
6715
+ {
6716
+ ref,
6717
+ className: cn(
6718
+ "peer h-4 w-4 shrink-0 rounded-sm border border-primary ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground",
6719
+ className
6720
+ ),
6721
+ ...props,
6722
+ children: /* @__PURE__ */ jsxRuntime.jsx(
6723
+ CheckboxPrimitive__namespace.Indicator,
6724
+ {
6725
+ className: cn("flex items-center justify-center text-current"),
6726
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "h-4 w-4" })
6727
+ }
6728
+ )
6729
+ }
6730
+ ));
6731
+ Checkbox.displayName = CheckboxPrimitive__namespace.Root.displayName;
6732
+ var DropdownMenu = DropdownMenuPrimitive__namespace.Root;
6733
+ var DropdownMenuTrigger = DropdownMenuPrimitive__namespace.Trigger;
6734
+ var DropdownMenuGroup = DropdownMenuPrimitive__namespace.Group;
6735
+ var DropdownMenuPortal = DropdownMenuPrimitive__namespace.Portal;
6736
+ var DropdownMenuSub = DropdownMenuPrimitive__namespace.Sub;
6737
+ var DropdownMenuRadioGroup = DropdownMenuPrimitive__namespace.RadioGroup;
6738
+ var DropdownMenuSubTrigger = React27__namespace.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
6739
+ DropdownMenuPrimitive__namespace.SubTrigger,
6740
+ {
6741
+ ref,
6742
+ className: cn(
6743
+ "flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent",
6744
+ inset && "pl-8",
6745
+ className
6746
+ ),
6747
+ ...props,
6748
+ children: [
6749
+ children,
6750
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRight, { className: "ml-auto h-4 w-4" })
6751
+ ]
6752
+ }
6753
+ ));
6754
+ DropdownMenuSubTrigger.displayName = DropdownMenuPrimitive__namespace.SubTrigger.displayName;
6755
+ var DropdownMenuSubContent = React27__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
6756
+ DropdownMenuPrimitive__namespace.SubContent,
6757
+ {
6758
+ ref,
6759
+ className: cn(
6760
+ "z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg 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",
6761
+ className
6762
+ ),
6763
+ ...props
6764
+ }
6765
+ ));
6766
+ DropdownMenuSubContent.displayName = DropdownMenuPrimitive__namespace.SubContent.displayName;
6767
+ var DropdownMenuContent = React27__namespace.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(
6768
+ DropdownMenuPrimitive__namespace.Content,
6769
+ {
6770
+ ref,
6771
+ sideOffset,
6772
+ className: cn(
6773
+ "z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md 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",
6774
+ className
6775
+ ),
6776
+ ...props
6777
+ }
6778
+ ) }));
6779
+ DropdownMenuContent.displayName = DropdownMenuPrimitive__namespace.Content.displayName;
6780
+ var DropdownMenuItem = React27__namespace.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
6781
+ DropdownMenuPrimitive__namespace.Item,
6782
+ {
6783
+ ref,
6784
+ className: cn(
6785
+ "relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
6786
+ inset && "pl-8",
6787
+ className
6788
+ ),
6789
+ ...props
6790
+ }
6791
+ ));
6792
+ DropdownMenuItem.displayName = DropdownMenuPrimitive__namespace.Item.displayName;
6793
+ var DropdownMenuCheckboxItem = React27__namespace.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
6794
+ DropdownMenuPrimitive__namespace.CheckboxItem,
6795
+ {
6796
+ ref,
6797
+ className: cn(
6798
+ "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
6799
+ className
6800
+ ),
6801
+ checked,
6802
+ ...props,
6803
+ children: [
6804
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive__namespace.ItemIndicator, { children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "h-4 w-4" }) }) }),
6805
+ children
6806
+ ]
6807
+ }
6808
+ ));
6809
+ DropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive__namespace.CheckboxItem.displayName;
6810
+ var DropdownMenuRadioItem = React27__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
6811
+ DropdownMenuPrimitive__namespace.RadioItem,
6812
+ {
6813
+ ref,
6814
+ className: cn(
6815
+ "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
6816
+ className
6817
+ ),
6818
+ ...props,
6819
+ children: [
6820
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive__namespace.ItemIndicator, { children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Circle, { className: "h-2 w-2 fill-current" }) }) }),
6821
+ children
6822
+ ]
6823
+ }
6824
+ ));
6825
+ DropdownMenuRadioItem.displayName = DropdownMenuPrimitive__namespace.RadioItem.displayName;
6826
+ var DropdownMenuLabel = React27__namespace.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
6827
+ DropdownMenuPrimitive__namespace.Label,
6828
+ {
6829
+ ref,
6830
+ className: cn(
6831
+ "px-2 py-1.5 text-sm font-semibold",
6832
+ inset && "pl-8",
6833
+ className
6834
+ ),
6835
+ ...props
6836
+ }
6837
+ ));
6838
+ DropdownMenuLabel.displayName = DropdownMenuPrimitive__namespace.Label.displayName;
6839
+ var DropdownMenuSeparator = React27__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
6840
+ DropdownMenuPrimitive__namespace.Separator,
6841
+ {
6842
+ ref,
6843
+ className: cn("-mx-1 my-1 h-px bg-muted", className),
6844
+ ...props
6845
+ }
6846
+ ));
6847
+ DropdownMenuSeparator.displayName = DropdownMenuPrimitive__namespace.Separator.displayName;
6848
+ var DropdownMenuShortcut = ({
6849
+ className,
6850
+ ...props
6851
+ }) => {
6852
+ return /* @__PURE__ */ jsxRuntime.jsx(
6853
+ "span",
6854
+ {
6855
+ className: cn("ml-auto text-xs tracking-widest opacity-60", className),
6856
+ ...props
6857
+ }
6858
+ );
6859
+ };
6860
+ DropdownMenuShortcut.displayName = "DropdownMenuShortcut";
6861
+ var HoverCard = HoverCardPrimitive__namespace.Root;
6862
+ var HoverCardTrigger = HoverCardPrimitive__namespace.Trigger;
6863
+ var HoverCardContent = React27__namespace.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
6864
+ HoverCardPrimitive__namespace.Content,
6865
+ {
6866
+ ref,
6867
+ align,
6868
+ sideOffset,
6869
+ className: cn(
6870
+ "z-50 w-64 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none 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",
6871
+ className
6872
+ ),
6873
+ ...props
6874
+ }
6875
+ ));
6876
+ HoverCardContent.displayName = HoverCardPrimitive__namespace.Content.displayName;
6877
+ var Textarea = React27__namespace.forwardRef(
6878
+ ({ className, ...props }, ref) => {
6879
+ return /* @__PURE__ */ jsxRuntime.jsx(
6880
+ "textarea",
6881
+ {
6882
+ className: cn(
6883
+ "flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2",
6884
+ "text-sm ring-offset-background",
6885
+ "placeholder:text-muted-foreground",
6886
+ "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
6887
+ "disabled:cursor-not-allowed disabled:opacity-50",
6888
+ className
6889
+ ),
6890
+ ref,
6891
+ ...props
6892
+ }
6893
+ );
6894
+ }
6895
+ );
6896
+ Textarea.displayName = "Textarea";
6683
6897
 
6898
+ exports.ANIMATION_PRESETS = ANIMATION_PRESETS;
6899
+ exports.Accordion = Accordion;
6900
+ exports.AccordionContent = AccordionContent;
6901
+ exports.AccordionItem = AccordionItem;
6902
+ exports.AccordionTrigger = AccordionTrigger;
6903
+ exports.Button = Button;
6904
+ exports.Calendar = Calendar;
6905
+ exports.Checkbox = Checkbox;
6684
6906
  exports.CommandNodeExtension = CommandNodeExtension;
6685
6907
  exports.CommandPill = CommandPill;
6686
6908
  exports.CommandPopover = CommandPopover;
6909
+ exports.DropdownMenu = DropdownMenu;
6910
+ exports.DropdownMenuCheckboxItem = DropdownMenuCheckboxItem;
6911
+ exports.DropdownMenuContent = DropdownMenuContent;
6912
+ exports.DropdownMenuGroup = DropdownMenuGroup;
6913
+ exports.DropdownMenuItem = DropdownMenuItem;
6914
+ exports.DropdownMenuLabel = DropdownMenuLabel;
6915
+ exports.DropdownMenuPortal = DropdownMenuPortal;
6916
+ exports.DropdownMenuRadioGroup = DropdownMenuRadioGroup;
6917
+ exports.DropdownMenuRadioItem = DropdownMenuRadioItem;
6918
+ exports.DropdownMenuSeparator = DropdownMenuSeparator;
6919
+ exports.DropdownMenuShortcut = DropdownMenuShortcut;
6920
+ exports.DropdownMenuSub = DropdownMenuSub;
6921
+ exports.DropdownMenuSubContent = DropdownMenuSubContent;
6922
+ exports.DropdownMenuSubTrigger = DropdownMenuSubTrigger;
6923
+ exports.DropdownMenuTrigger = DropdownMenuTrigger;
6687
6924
  exports.HazoUiConfirmDialog = HazoUiConfirmDialog;
6688
6925
  exports.HazoUiDialog = HazoUiDialog;
6689
6926
  exports.HazoUiDialogClose = DialogClose;
@@ -6703,10 +6940,47 @@ exports.HazoUiMultiSortDialog = HazoUiMultiSortDialog;
6703
6940
  exports.HazoUiRte = HazoUiRte;
6704
6941
  exports.HazoUiTextarea = HazoUiTextarea;
6705
6942
  exports.HazoUiTextbox = HazoUiTextbox;
6943
+ exports.HoverCard = HoverCard;
6944
+ exports.HoverCardContent = HoverCardContent;
6945
+ exports.HoverCardTrigger = HoverCardTrigger;
6946
+ exports.Input = Input;
6947
+ exports.Label = Label2;
6948
+ exports.Popover = Popover;
6949
+ exports.PopoverContent = PopoverContent;
6950
+ exports.PopoverTrigger = PopoverTrigger;
6951
+ exports.RadioGroup = RadioGroup;
6952
+ exports.RadioGroupItem = RadioGroupItem;
6953
+ exports.Select = Select;
6954
+ exports.SelectContent = SelectContent;
6955
+ exports.SelectGroup = SelectGroup;
6956
+ exports.SelectItem = SelectItem;
6957
+ exports.SelectLabel = SelectLabel;
6958
+ exports.SelectScrollDownButton = SelectScrollDownButton;
6959
+ exports.SelectScrollUpButton = SelectScrollUpButton;
6960
+ exports.SelectSeparator = SelectSeparator;
6961
+ exports.SelectTrigger = SelectTrigger;
6962
+ exports.SelectValue = SelectValue;
6963
+ exports.ShadcnCommand = Command;
6964
+ exports.ShadcnCommandEmpty = CommandEmpty;
6965
+ exports.ShadcnCommandGroup = CommandGroup;
6966
+ exports.ShadcnCommandInput = CommandInput;
6967
+ exports.ShadcnCommandItem = CommandItem;
6968
+ exports.ShadcnCommandList = CommandList;
6969
+ exports.Switch = Switch;
6970
+ exports.Tabs = Tabs;
6971
+ exports.TabsContent = TabsContent;
6972
+ exports.TabsList = TabsList;
6973
+ exports.TabsTrigger = TabsTrigger;
6974
+ exports.Textarea = Textarea;
6975
+ exports.Tooltip = Tooltip;
6976
+ exports.TooltipContent = TooltipContent;
6977
+ exports.TooltipProvider = TooltipProvider;
6978
+ exports.TooltipTrigger = TooltipTrigger;
6706
6979
  exports.create_command_suggestion_extension = create_command_suggestion_extension;
6707
6980
  exports.get_hazo_ui_config = get_hazo_ui_config;
6708
6981
  exports.parse_commands_from_text = parse_commands_from_text;
6709
6982
  exports.reset_hazo_ui_config = reset_hazo_ui_config;
6983
+ exports.resolve_animation_classes = resolve_animation_classes;
6710
6984
  exports.set_hazo_ui_config = set_hazo_ui_config;
6711
6985
  exports.text_to_tiptap_content = text_to_tiptap_content;
6712
6986
  //# sourceMappingURL=index.cjs.map