hazo_ui 4.6.1 → 4.8.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.
- package/CHANGE_LOG.md +25 -0
- package/README.md +4 -0
- package/dist/index.cjs +298 -6
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +154 -3
- package/dist/index.d.ts +154 -3
- package/dist/index.js +295 -9
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -9,7 +9,7 @@ import { jsx, jsxs, Fragment as Fragment$1 } from 'react/jsx-runtime';
|
|
|
9
9
|
import { Slot } from '@radix-ui/react-slot';
|
|
10
10
|
import { cva } from 'class-variance-authority';
|
|
11
11
|
import * as DialogPrimitive from '@radix-ui/react-dialog';
|
|
12
|
-
import { X, ChevronDown, ChevronUp, Check, Circle, ChevronRight, ChevronLeft, Filter, Plus, ArrowUpDown, Loader2, AlertTriangle, OctagonAlert, CheckCircle2, ChevronsUpDown, Download, Share2, Copy, GripVertical, ArrowUp, ArrowDown, Pencil, Calendar as Calendar$1 } from 'lucide-react';
|
|
12
|
+
import { X, ChevronDown, ChevronUp, Check, Circle, ChevronRight, Sun, Moon, ChevronLeft, Filter, Plus, ArrowUpDown, Loader2, AlertTriangle, OctagonAlert, CheckCircle2, ChevronsUpDown, Download, Share2, Copy, GripVertical, ArrowUp, ArrowDown, Pencil, Calendar as Calendar$1 } from 'lucide-react';
|
|
13
13
|
import * as PopoverPrimitive from '@radix-ui/react-popover';
|
|
14
14
|
import * as SelectPrimitive from '@radix-ui/react-select';
|
|
15
15
|
import * as TooltipPrimitive from '@radix-ui/react-tooltip';
|
|
@@ -50,7 +50,7 @@ import TableCell from '@tiptap/extension-table-cell';
|
|
|
50
50
|
import TableHeader from '@tiptap/extension-table-header';
|
|
51
51
|
import TaskList from '@tiptap/extension-task-list';
|
|
52
52
|
import TaskItem from '@tiptap/extension-task-item';
|
|
53
|
-
import { LuBold, LuItalic, LuUnderline, LuAlignLeft, LuAlignCenter, LuAlignRight, LuUndo2, LuRedo2, LuMinus, LuPlus, LuStrikethrough, LuSubscript, LuSuperscript, LuLink, LuRemoveFormatting, LuPalette, LuHighlighter, LuAlignJustify,
|
|
53
|
+
import { LuBold, LuItalic, LuUnderline, LuAlignLeft, LuAlignCenter, LuAlignRight, LuAlignVerticalJustifyStart, LuAlignVerticalJustifyCenter, LuAlignVerticalJustifyEnd, LuList, LuUndo2, LuRedo2, LuMinus, LuPlus, LuStrikethrough, LuSubscript, LuSuperscript, LuLink, LuRemoveFormatting, LuPalette, LuHighlighter, LuAlignJustify, LuListOrdered, LuListChecks, LuIndentDecrease, LuIndentIncrease, LuTable, LuTableRowsSplit, LuTableColumnsSplit, LuTrash2, LuGrid3X3, LuVariable, LuPaperclip, LuX, LuImage, LuFileText, LuFileCode, LuFile } from 'react-icons/lu';
|
|
54
54
|
import { RxDividerHorizontal } from 'react-icons/rx';
|
|
55
55
|
import { Extension, Node, mergeAttributes } from '@tiptap/core';
|
|
56
56
|
import * as TabsPrimitive from '@radix-ui/react-tabs';
|
|
@@ -4634,6 +4634,12 @@ function CanvasTextToolbar({
|
|
|
4634
4634
|
onUnderline,
|
|
4635
4635
|
onColor,
|
|
4636
4636
|
onAlign,
|
|
4637
|
+
verticalAlign = "middle",
|
|
4638
|
+
font = "sans-serif",
|
|
4639
|
+
bullet,
|
|
4640
|
+
onVerticalAlign,
|
|
4641
|
+
onFont,
|
|
4642
|
+
onBullet,
|
|
4637
4643
|
className,
|
|
4638
4644
|
style
|
|
4639
4645
|
}) {
|
|
@@ -4714,7 +4720,55 @@ function CanvasTextToolbar({
|
|
|
4714
4720
|
)
|
|
4715
4721
|
]
|
|
4716
4722
|
}
|
|
4717
|
-
)
|
|
4723
|
+
),
|
|
4724
|
+
/* @__PURE__ */ jsx("div", { className: "mx-1 h-6 w-px bg-border" }),
|
|
4725
|
+
/* @__PURE__ */ jsx(
|
|
4726
|
+
ToolbarButton,
|
|
4727
|
+
{
|
|
4728
|
+
is_active: verticalAlign === "top",
|
|
4729
|
+
onClick: () => onVerticalAlign?.("top"),
|
|
4730
|
+
tooltip: "Align top",
|
|
4731
|
+
children: /* @__PURE__ */ jsx(LuAlignVerticalJustifyStart, { className: "h-4 w-4" })
|
|
4732
|
+
}
|
|
4733
|
+
),
|
|
4734
|
+
/* @__PURE__ */ jsx(
|
|
4735
|
+
ToolbarButton,
|
|
4736
|
+
{
|
|
4737
|
+
is_active: verticalAlign === "middle",
|
|
4738
|
+
onClick: () => onVerticalAlign?.("middle"),
|
|
4739
|
+
tooltip: "Align middle",
|
|
4740
|
+
children: /* @__PURE__ */ jsx(LuAlignVerticalJustifyCenter, { className: "h-4 w-4" })
|
|
4741
|
+
}
|
|
4742
|
+
),
|
|
4743
|
+
/* @__PURE__ */ jsx(
|
|
4744
|
+
ToolbarButton,
|
|
4745
|
+
{
|
|
4746
|
+
is_active: verticalAlign === "bottom",
|
|
4747
|
+
onClick: () => onVerticalAlign?.("bottom"),
|
|
4748
|
+
tooltip: "Align bottom",
|
|
4749
|
+
children: /* @__PURE__ */ jsx(LuAlignVerticalJustifyEnd, { className: "h-4 w-4" })
|
|
4750
|
+
}
|
|
4751
|
+
),
|
|
4752
|
+
/* @__PURE__ */ jsx("div", { className: "mx-1 h-6 w-px bg-border" }),
|
|
4753
|
+
/* @__PURE__ */ jsxs(
|
|
4754
|
+
"select",
|
|
4755
|
+
{
|
|
4756
|
+
value: font,
|
|
4757
|
+
onChange: (e) => onFont?.(e.target.value),
|
|
4758
|
+
className: "h-8 text-xs rounded-md border border-border bg-background px-1 text-foreground focus:outline-none",
|
|
4759
|
+
title: "Font family",
|
|
4760
|
+
children: [
|
|
4761
|
+
/* @__PURE__ */ jsx("option", { value: "sans-serif", children: "Sans" }),
|
|
4762
|
+
/* @__PURE__ */ jsx("option", { value: "serif", children: "Serif" }),
|
|
4763
|
+
/* @__PURE__ */ jsx("option", { value: "monospace", children: "Mono" }),
|
|
4764
|
+
/* @__PURE__ */ jsx("option", { value: "Arial", children: "Arial" }),
|
|
4765
|
+
/* @__PURE__ */ jsx("option", { value: "Georgia", children: "Georgia" }),
|
|
4766
|
+
/* @__PURE__ */ jsx("option", { value: "Courier New", children: "Courier" })
|
|
4767
|
+
]
|
|
4768
|
+
}
|
|
4769
|
+
),
|
|
4770
|
+
/* @__PURE__ */ jsx("div", { className: "mx-1 h-6 w-px bg-border" }),
|
|
4771
|
+
/* @__PURE__ */ jsx(ToolbarButton, { is_active: bullet, onClick: onBullet, tooltip: "Bullet list", children: /* @__PURE__ */ jsx(LuList, { className: "h-4 w-4" }) })
|
|
4718
4772
|
]
|
|
4719
4773
|
}
|
|
4720
4774
|
) });
|
|
@@ -6688,6 +6742,8 @@ function HazoUiDialog({
|
|
|
6688
6742
|
actionButtonVariant,
|
|
6689
6743
|
cancelButtonText = "Cancel",
|
|
6690
6744
|
showCancelButton = true,
|
|
6745
|
+
showActionButton = true,
|
|
6746
|
+
closeOnConfirm = false,
|
|
6691
6747
|
actionButtonLoading = false,
|
|
6692
6748
|
actionButtonDisabled = false,
|
|
6693
6749
|
actionButtonIcon,
|
|
@@ -6721,6 +6777,9 @@ function HazoUiDialog({
|
|
|
6721
6777
|
const resolved_action_button_variant = actionButtonVariant ?? variant_preset?.action_button_variant ?? "default";
|
|
6722
6778
|
const handleConfirm = () => {
|
|
6723
6779
|
onConfirm?.();
|
|
6780
|
+
if (closeOnConfirm) {
|
|
6781
|
+
onOpenChange?.(false);
|
|
6782
|
+
}
|
|
6724
6783
|
};
|
|
6725
6784
|
const handleCancel = () => {
|
|
6726
6785
|
onCancel?.();
|
|
@@ -6903,7 +6962,7 @@ function HazoUiDialog({
|
|
|
6903
6962
|
children: cancelButtonText
|
|
6904
6963
|
}
|
|
6905
6964
|
),
|
|
6906
|
-
/* @__PURE__ */ jsxs(
|
|
6965
|
+
showActionButton && /* @__PURE__ */ jsxs(
|
|
6907
6966
|
Button,
|
|
6908
6967
|
{
|
|
6909
6968
|
type: "button",
|
|
@@ -7038,14 +7097,14 @@ function HazoUiConfirmDialog({
|
|
|
7038
7097
|
"bg-background shadow-lg",
|
|
7039
7098
|
"duration-200",
|
|
7040
7099
|
animation_classes,
|
|
7041
|
-
"overflow-hidden"
|
|
7042
|
-
"focus:outline-none"
|
|
7100
|
+
"overflow-hidden"
|
|
7043
7101
|
),
|
|
7044
7102
|
style: {
|
|
7045
7103
|
width: "min(90vw, 420px)",
|
|
7046
7104
|
borderRadius: "12px",
|
|
7047
7105
|
borderTop: `4px solid ${resolved_accent_color}`,
|
|
7048
|
-
boxShadow: "0 20px 60px rgba(0,0,0,0.15)"
|
|
7106
|
+
boxShadow: "0 20px 60px rgba(0,0,0,0.15)",
|
|
7107
|
+
outline: "none"
|
|
7049
7108
|
},
|
|
7050
7109
|
onOpenAutoFocus: (e) => {
|
|
7051
7110
|
if ((variant === "destructive" || variant === "warning") && showCancelButton && cancel_ref.current) {
|
|
@@ -7065,7 +7124,7 @@ function HazoUiConfirmDialog({
|
|
|
7065
7124
|
{
|
|
7066
7125
|
ref: cancel_ref,
|
|
7067
7126
|
type: "button",
|
|
7068
|
-
className: "cls_confirm_cancel_button",
|
|
7127
|
+
className: "cls_confirm_cancel_button focus-visible:ring-0 focus-visible:ring-offset-0",
|
|
7069
7128
|
variant: "outline",
|
|
7070
7129
|
onClick: handle_cancel,
|
|
7071
7130
|
disabled: is_loading,
|
|
@@ -11097,6 +11156,233 @@ function HazoUiEtaProgress({
|
|
|
11097
11156
|
);
|
|
11098
11157
|
}
|
|
11099
11158
|
|
|
11100
|
-
|
|
11159
|
+
// src/components/hazo_ui_memory_dropdown/store.ts
|
|
11160
|
+
var MAX_ENTRIES = 50;
|
|
11161
|
+
function filterEntries(entries, query) {
|
|
11162
|
+
const q = query.trim().toLowerCase();
|
|
11163
|
+
if (!q) return entries;
|
|
11164
|
+
return entries.filter((e) => e.label.toLowerCase().includes(q));
|
|
11165
|
+
}
|
|
11166
|
+
function upsertEntry(entries, entry) {
|
|
11167
|
+
const without = entries.filter((e) => e.id !== entry.id);
|
|
11168
|
+
const updated = [entry, ...without];
|
|
11169
|
+
return updated.slice(0, MAX_ENTRIES);
|
|
11170
|
+
}
|
|
11171
|
+
function removeEntry(entries, id) {
|
|
11172
|
+
return entries.filter((e) => e.id !== id);
|
|
11173
|
+
}
|
|
11174
|
+
function HazoUiMemoryDropdown({
|
|
11175
|
+
history_key,
|
|
11176
|
+
placeholder = "Search history\u2026",
|
|
11177
|
+
on_select,
|
|
11178
|
+
add_entry,
|
|
11179
|
+
empty_label = "No history yet"
|
|
11180
|
+
}) {
|
|
11181
|
+
const { value: stored, setValue } = useHazoState(history_key, {
|
|
11182
|
+
level: "scope",
|
|
11183
|
+
fallback: []
|
|
11184
|
+
});
|
|
11185
|
+
const storedEntries = Array.isArray(stored) ? stored : [];
|
|
11186
|
+
const [query, setQuery] = React26.useState("");
|
|
11187
|
+
React26.useEffect(() => {
|
|
11188
|
+
if (!add_entry) return;
|
|
11189
|
+
const updated = upsertEntry(storedEntries, add_entry);
|
|
11190
|
+
setValue(updated);
|
|
11191
|
+
}, [add_entry, setValue]);
|
|
11192
|
+
const filtered = filterEntries(storedEntries, query);
|
|
11193
|
+
function handleDelete(id, e) {
|
|
11194
|
+
e.stopPropagation();
|
|
11195
|
+
const updated = removeEntry(storedEntries, id);
|
|
11196
|
+
setValue(updated);
|
|
11197
|
+
}
|
|
11198
|
+
return /* @__PURE__ */ jsxs(
|
|
11199
|
+
"div",
|
|
11200
|
+
{
|
|
11201
|
+
style: {
|
|
11202
|
+
display: "flex",
|
|
11203
|
+
flexDirection: "column",
|
|
11204
|
+
border: "1px solid #DAE1E7",
|
|
11205
|
+
borderRadius: 6,
|
|
11206
|
+
background: "#F0F4F8",
|
|
11207
|
+
overflow: "hidden",
|
|
11208
|
+
fontSize: 14,
|
|
11209
|
+
color: "#1A202C"
|
|
11210
|
+
},
|
|
11211
|
+
children: [
|
|
11212
|
+
/* @__PURE__ */ jsx("div", { style: { padding: "8px 10px", borderBottom: "1px solid #DAE1E7" }, children: /* @__PURE__ */ jsx(
|
|
11213
|
+
"input",
|
|
11214
|
+
{
|
|
11215
|
+
type: "text",
|
|
11216
|
+
value: query,
|
|
11217
|
+
onChange: (e) => setQuery(e.target.value),
|
|
11218
|
+
placeholder,
|
|
11219
|
+
style: {
|
|
11220
|
+
width: "100%",
|
|
11221
|
+
background: "#FFFFFF",
|
|
11222
|
+
border: "1px solid #DAE1E7",
|
|
11223
|
+
borderRadius: 4,
|
|
11224
|
+
padding: "5px 8px",
|
|
11225
|
+
fontSize: 13,
|
|
11226
|
+
color: "#1A202C",
|
|
11227
|
+
outline: "none",
|
|
11228
|
+
boxSizing: "border-box"
|
|
11229
|
+
}
|
|
11230
|
+
}
|
|
11231
|
+
) }),
|
|
11232
|
+
/* @__PURE__ */ jsx(
|
|
11233
|
+
"div",
|
|
11234
|
+
{
|
|
11235
|
+
style: {
|
|
11236
|
+
overflowY: "auto",
|
|
11237
|
+
maxHeight: 240
|
|
11238
|
+
},
|
|
11239
|
+
children: filtered.length === 0 ? /* @__PURE__ */ jsx(
|
|
11240
|
+
"div",
|
|
11241
|
+
{
|
|
11242
|
+
style: {
|
|
11243
|
+
padding: "10px 12px",
|
|
11244
|
+
color: "#94A3B8",
|
|
11245
|
+
fontStyle: "italic",
|
|
11246
|
+
fontSize: 13
|
|
11247
|
+
},
|
|
11248
|
+
children: empty_label
|
|
11249
|
+
}
|
|
11250
|
+
) : filtered.map((entry) => /* @__PURE__ */ jsx(
|
|
11251
|
+
EntryRow,
|
|
11252
|
+
{
|
|
11253
|
+
entry,
|
|
11254
|
+
on_select,
|
|
11255
|
+
onDelete: handleDelete
|
|
11256
|
+
},
|
|
11257
|
+
entry.id
|
|
11258
|
+
))
|
|
11259
|
+
}
|
|
11260
|
+
)
|
|
11261
|
+
]
|
|
11262
|
+
}
|
|
11263
|
+
);
|
|
11264
|
+
}
|
|
11265
|
+
function EntryRow({ entry, on_select, onDelete }) {
|
|
11266
|
+
const [deleteHovered, setDeleteHovered] = React26.useState(false);
|
|
11267
|
+
const [rowHovered, setRowHovered] = React26.useState(false);
|
|
11268
|
+
return /* @__PURE__ */ jsxs(
|
|
11269
|
+
"div",
|
|
11270
|
+
{
|
|
11271
|
+
onClick: () => on_select(entry),
|
|
11272
|
+
onMouseEnter: () => setRowHovered(true),
|
|
11273
|
+
onMouseLeave: () => setRowHovered(false),
|
|
11274
|
+
style: {
|
|
11275
|
+
display: "flex",
|
|
11276
|
+
alignItems: "center",
|
|
11277
|
+
justifyContent: "space-between",
|
|
11278
|
+
padding: "7px 12px",
|
|
11279
|
+
cursor: "pointer",
|
|
11280
|
+
background: rowHovered ? "#DAE1E7" : "transparent",
|
|
11281
|
+
borderBottom: "1px solid #DAE1E7",
|
|
11282
|
+
gap: 8
|
|
11283
|
+
},
|
|
11284
|
+
children: [
|
|
11285
|
+
/* @__PURE__ */ jsx(
|
|
11286
|
+
"span",
|
|
11287
|
+
{
|
|
11288
|
+
style: {
|
|
11289
|
+
flex: 1,
|
|
11290
|
+
overflow: "hidden",
|
|
11291
|
+
textOverflow: "ellipsis",
|
|
11292
|
+
whiteSpace: "nowrap",
|
|
11293
|
+
fontSize: 13,
|
|
11294
|
+
color: "#1A202C"
|
|
11295
|
+
},
|
|
11296
|
+
children: entry.label
|
|
11297
|
+
}
|
|
11298
|
+
),
|
|
11299
|
+
/* @__PURE__ */ jsx(
|
|
11300
|
+
"button",
|
|
11301
|
+
{
|
|
11302
|
+
onClick: (e) => onDelete(entry.id, e),
|
|
11303
|
+
onMouseEnter: () => setDeleteHovered(true),
|
|
11304
|
+
onMouseLeave: () => setDeleteHovered(false),
|
|
11305
|
+
"aria-label": `Remove ${entry.label} from history`,
|
|
11306
|
+
style: {
|
|
11307
|
+
flexShrink: 0,
|
|
11308
|
+
background: "none",
|
|
11309
|
+
border: "none",
|
|
11310
|
+
cursor: "pointer",
|
|
11311
|
+
padding: "2px 4px",
|
|
11312
|
+
borderRadius: 3,
|
|
11313
|
+
color: deleteHovered ? "#EF4444" : "#94A3B8",
|
|
11314
|
+
fontSize: 14,
|
|
11315
|
+
lineHeight: 1
|
|
11316
|
+
},
|
|
11317
|
+
children: "\xD7"
|
|
11318
|
+
}
|
|
11319
|
+
)
|
|
11320
|
+
]
|
|
11321
|
+
}
|
|
11322
|
+
);
|
|
11323
|
+
}
|
|
11324
|
+
var ThemeContext = React26.createContext(void 0);
|
|
11325
|
+
function HazoThemeProvider({
|
|
11326
|
+
children,
|
|
11327
|
+
defaultTheme = "system",
|
|
11328
|
+
storageKey = "theme"
|
|
11329
|
+
}) {
|
|
11330
|
+
const [theme, setTheme] = useLocalStorage(storageKey, defaultTheme);
|
|
11331
|
+
const prefersDark = useMediaQuery("(prefers-color-scheme: dark)");
|
|
11332
|
+
const resolvedTheme = theme === "system" ? prefersDark ? "dark" : "light" : theme;
|
|
11333
|
+
React26.useEffect(() => {
|
|
11334
|
+
document.documentElement.classList.toggle("dark", resolvedTheme === "dark");
|
|
11335
|
+
}, [resolvedTheme]);
|
|
11336
|
+
const toggleTheme = React26.useCallback(() => {
|
|
11337
|
+
setTheme(resolvedTheme === "dark" ? "light" : "dark");
|
|
11338
|
+
}, [resolvedTheme, setTheme]);
|
|
11339
|
+
const value = React26.useMemo(
|
|
11340
|
+
() => ({ theme, setTheme, resolvedTheme, toggleTheme }),
|
|
11341
|
+
[theme, setTheme, resolvedTheme, toggleTheme]
|
|
11342
|
+
);
|
|
11343
|
+
return /* @__PURE__ */ jsx(ThemeContext.Provider, { value, children });
|
|
11344
|
+
}
|
|
11345
|
+
function useTheme() {
|
|
11346
|
+
const context = React26.useContext(ThemeContext);
|
|
11347
|
+
if (context === void 0) {
|
|
11348
|
+
throw new Error("useTheme must be used within a <HazoThemeProvider>");
|
|
11349
|
+
}
|
|
11350
|
+
return context;
|
|
11351
|
+
}
|
|
11352
|
+
function ThemeScript({ storageKey = "theme" }) {
|
|
11353
|
+
const script = `(function(){try{var k=${JSON.stringify(
|
|
11354
|
+
storageKey
|
|
11355
|
+
)};var raw=localStorage.getItem(k);var t="system";if(raw){try{t=JSON.parse(raw);}catch(e){t=String(raw).replace(/^"|"$/g,"");}}var m=window.matchMedia("(prefers-color-scheme: dark)").matches;var isDark=t==="dark"||((t==="system"||!t)&&m);var c=document.documentElement.classList;if(isDark){c.add("dark");}else{c.remove("dark");}}catch(e){}})();`;
|
|
11356
|
+
return /* @__PURE__ */ jsx("script", { dangerouslySetInnerHTML: { __html: script } });
|
|
11357
|
+
}
|
|
11358
|
+
var ThemeToggle = React26.forwardRef(
|
|
11359
|
+
({ className, ...props }, ref) => {
|
|
11360
|
+
const { resolvedTheme, toggleTheme } = useTheme();
|
|
11361
|
+
const [mounted, setMounted] = React26.useState(false);
|
|
11362
|
+
React26.useEffect(() => {
|
|
11363
|
+
setMounted(true);
|
|
11364
|
+
}, []);
|
|
11365
|
+
const isDark = mounted && resolvedTheme === "dark";
|
|
11366
|
+
const label = isDark ? "Switch to light theme" : "Switch to dark theme";
|
|
11367
|
+
return /* @__PURE__ */ jsx(
|
|
11368
|
+
"button",
|
|
11369
|
+
{
|
|
11370
|
+
type: "button",
|
|
11371
|
+
ref,
|
|
11372
|
+
onClick: toggleTheme,
|
|
11373
|
+
"aria-label": label,
|
|
11374
|
+
className: cn(
|
|
11375
|
+
"inline-flex h-9 w-9 items-center justify-center rounded-full text-foreground transition-colors hover:bg-muted focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50",
|
|
11376
|
+
className
|
|
11377
|
+
),
|
|
11378
|
+
...props,
|
|
11379
|
+
children: isDark ? /* @__PURE__ */ jsx(Sun, { className: "h-4 w-4" }) : /* @__PURE__ */ jsx(Moon, { className: "h-4 w-4" })
|
|
11380
|
+
}
|
|
11381
|
+
);
|
|
11382
|
+
}
|
|
11383
|
+
);
|
|
11384
|
+
ThemeToggle.displayName = "ThemeToggle";
|
|
11385
|
+
|
|
11386
|
+
export { ANIMATION_PRESETS, Accordion, AccordionContent, AccordionItem, AccordionTrigger, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, Button, ButtonGroup, ButtonGroupSeparator, ButtonGroupText, CELEBRATION_GRADIENT, Calendar, CanvasTextToolbar, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, CelebrationProvider, Checkbox, Collapsible, CollapsibleContent2 as CollapsibleContent, CollapsibleTrigger2 as CollapsibleTrigger, CommandNodeExtension, CommandPill, CommandPopover, DateRangeSelector, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EmptyState, ErrorBanner, ErrorPage, FunnelChart, HazoContextProvider, HazoThemeProvider, HazoUiConfirmDialog, HazoUiDialog, DialogClose as HazoUiDialogClose, DialogContent as HazoUiDialogContent, DialogDescription as HazoUiDialogDescription, DialogFooter as HazoUiDialogFooter, DialogHeader as HazoUiDialogHeader, DialogOverlay as HazoUiDialogOverlay, DialogPortal as HazoUiDialogPortal, Dialog as HazoUiDialogRoot, DialogTitle as HazoUiDialogTitle, DialogTrigger as HazoUiDialogTrigger, HazoUiEtaProgress, HazoUiFlexInput, HazoUiFlexRadio, HazoUiImageCropper, HazoUiImageCropperDialog, HazoUiKanban, HazoUiKanbanFilter, HazoUiMemoryDropdown, HazoUiMultiFilterDialog, HazoUiMultiSortDialog, HazoUiPillRadio, HazoUiProgressBar, HazoUiRte, HazoUiTable, HazoUiTextarea, HazoUiTextbox, HazoUiToaster, HoverCard, HoverCardContent, HoverCardTrigger, Input, InputAffix, InverseSparkline, Label3 as Label, LoadingTimeout, MarkdownEditor, NotificationCountBadge, NotificationItem, NotificationPanel, Popover, PopoverContent, PopoverTrigger, ProgressiveImage, RadioGroup, RadioGroupItem, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator3 as Separator, Command as ShadcnCommand, CommandEmpty as ShadcnCommandEmpty, CommandGroup as ShadcnCommandGroup, CommandInput as ShadcnCommandInput, CommandItem as ShadcnCommandItem, CommandList as ShadcnCommandList, Skeleton, SkeletonBar, SkeletonCircle, SkeletonGroup, SkeletonRect, Slider, Sparkline, Spinner, StackedBars, Switch, Table2 as Table, TableBody, TableCaption, TableCell2 as TableCell, TableFooter, TableHead, TableHeader2 as TableHeader, TableRow2 as TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, ThemeScript, ThemeToggle, Toggle, ToggleGroup, ToggleGroupItem, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, applyKanbanFilter, buttonGroupVariants, celebrate, cn, computeEta, create_command_suggestion_extension, easeToward, errorToast, format_num, generateUUID, get_hazo_ui_config, get_logger, median, parse_commands_from_text, pick_x_label_indices, reset_hazo_ui_config, resolve_animation_classes, set_hazo_ui_config, set_logger, successToast, text_to_tiptap_content, toggleVariants, upsertEntry as upsertMemoryEntry, useClickOutside, useCopyToClipboard, useDebounce, useErrorDisplay, useEtaProgress, useFullscreen, useIsMobile, useLoadingState, useLocalStorage, useMediaQuery, useSessionStorage, useTheme, useViewport, useWakeLock, use_fullscreen, use_wake_lock };
|
|
11101
11387
|
//# sourceMappingURL=index.js.map
|
|
11102
11388
|
//# sourceMappingURL=index.js.map
|