@geomak/ui 6.33.0 → 6.34.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/dist/index.cjs CHANGED
@@ -1,9 +1,10 @@
1
1
  'use strict';
2
2
 
3
+ var chunk4V4U2W7K_cjs = require('./chunk-4V4U2W7K.cjs');
3
4
  var chunkOAV4TA4B_cjs = require('./chunk-OAV4TA4B.cjs');
4
- var React29 = require('react');
5
- var jsxRuntime = require('react/jsx-runtime');
5
+ var React28 = require('react');
6
6
  var reactDom = require('react-dom');
7
+ var jsxRuntime = require('react/jsx-runtime');
7
8
  var AvatarPrimitive = require('@radix-ui/react-avatar');
8
9
  var DropdownMenu = require('@radix-ui/react-dropdown-menu');
9
10
  var Dialog = require('@radix-ui/react-dialog');
@@ -40,7 +41,7 @@ function _interopNamespace(e) {
40
41
  return Object.freeze(n);
41
42
  }
42
43
 
43
- var React29__default = /*#__PURE__*/_interopDefault(React29);
44
+ var React28__default = /*#__PURE__*/_interopDefault(React28);
44
45
  var AvatarPrimitive__namespace = /*#__PURE__*/_interopNamespace(AvatarPrimitive);
45
46
  var DropdownMenu__namespace = /*#__PURE__*/_interopNamespace(DropdownMenu);
46
47
  var Dialog__namespace = /*#__PURE__*/_interopNamespace(Dialog);
@@ -56,286 +57,9 @@ var CheckboxPrimitive__namespace = /*#__PURE__*/_interopNamespace(CheckboxPrimit
56
57
  var RadioGroupPrimitive__namespace = /*#__PURE__*/_interopNamespace(RadioGroupPrimitive);
57
58
  var SliderPrimitive__namespace = /*#__PURE__*/_interopNamespace(SliderPrimitive);
58
59
 
59
- function createIcon(displayName, content, options = {}) {
60
- const { viewBox = "0 0 24 24", solid = false } = options;
61
- const Component = React29.forwardRef(function Icon2({ size = 24, title, strokeWidth = 1.5, ...rest }, ref) {
62
- const a11y = title ? { role: "img", "aria-label": title } : { "aria-hidden": true, focusable: false };
63
- return /* @__PURE__ */ jsxRuntime.jsxs(
64
- "svg",
65
- {
66
- ref,
67
- xmlns: "http://www.w3.org/2000/svg",
68
- width: size,
69
- height: size,
70
- viewBox,
71
- fill: solid ? "currentColor" : "none",
72
- stroke: solid ? void 0 : "currentColor",
73
- strokeWidth: solid ? void 0 : strokeWidth,
74
- strokeLinecap: solid ? void 0 : "round",
75
- strokeLinejoin: solid ? void 0 : "round",
76
- ...a11y,
77
- ...rest,
78
- children: [
79
- title ? /* @__PURE__ */ jsxRuntime.jsx("title", { children: title }) : null,
80
- content
81
- ]
82
- }
83
- );
84
- });
85
- Component.displayName = displayName;
86
- return Component;
87
- }
88
- var ChevronUp = createIcon("ChevronUp", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "m4.5 15.75 7.5-7.5 7.5 7.5" }));
89
- var ChevronDown = createIcon("ChevronDown", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "m19.5 8.25-7.5 7.5-7.5-7.5" }));
90
- var ChevronLeft = createIcon("ChevronLeft", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M15.75 19.5 8.25 12l7.5-7.5" }));
91
- var ChevronRight = createIcon("ChevronRight", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "m8.25 4.5 7.5 7.5-7.5 7.5" }));
92
- var ChevronsLeft = createIcon("ChevronsLeft", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M18.75 19.5 11.25 12l7.5-7.5m-6 15L5.25 12l7.5-7.5" }));
93
- var ChevronsRight = createIcon("ChevronsRight", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "m5.25 4.5 7.5 7.5-7.5 7.5m6-15 7.5 7.5-7.5 7.5" }));
94
- var CaretUp = createIcon("CaretUp", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M12 8l6 8H6z" }), { solid: true });
95
- var CaretDown = createIcon("CaretDown", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M12 16 6 8h12z" }), { solid: true });
96
- var CaretLeft = createIcon("CaretLeft", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M8 12l8-6v12z" }), { solid: true });
97
- var CaretRight = createIcon("CaretRight", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M16 12 8 6v12z" }), { solid: true });
98
- var ArrowUp = createIcon("ArrowUp", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M4.5 10.5 12 3m0 0 7.5 7.5M12 3v18" }));
99
- var ArrowDown = createIcon("ArrowDown", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M19.5 13.5 12 21m0 0-7.5-7.5M12 21V3" }));
100
- var ArrowLeft = createIcon("ArrowLeft", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M10.5 19.5 3 12m0 0 7.5-7.5M3 12h18" }));
101
- var ArrowRight = createIcon("ArrowRight", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M13.5 4.5 21 12m0 0-7.5 7.5M21 12H3" }));
102
- var Menu = createIcon("Menu", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M3.75 6.75h16.5M3.75 12h16.5m-16.5 5.25h16.5" }));
103
- var DotsHorizontal = createIcon("DotsHorizontal", /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
104
- /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "5", cy: "12", r: "1.6" }),
105
- /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "1.6" }),
106
- /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "19", cy: "12", r: "1.6" })
107
- ] }), { solid: true });
108
- var DotsVertical = createIcon("DotsVertical", /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
109
- /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "12", cy: "5", r: "1.6" }),
110
- /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "1.6" }),
111
- /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "12", cy: "19", r: "1.6" })
112
- ] }), { solid: true });
113
- var ExternalLink = createIcon("ExternalLink", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M13.5 6H5.25A2.25 2.25 0 0 0 3 8.25v10.5A2.25 2.25 0 0 0 5.25 21h10.5A2.25 2.25 0 0 0 18 18.75V10.5m-10.5 6L21 3m0 0h-5.25M21 3v5.25" }));
114
- var X = createIcon("X", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M6 18 18 6M6 6l12 12" }));
115
- var XCircle = createIcon("XCircle", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M9.75 9.75l4.5 4.5m0-4.5l-4.5 4.5M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z" }));
116
- var Plus = createIcon("Plus", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M12 4.5v15m7.5-7.5h-15" }));
117
- var PlusCircle = createIcon("PlusCircle", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M12 9v6m3-3H9m12 0a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z" }));
118
- var Minus = createIcon("Minus", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M19.5 12h-15" }));
119
- var MinusCircle = createIcon("MinusCircle", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M15 12H9m12 0a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z" }));
120
- var Check = createIcon("Check", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M4.5 12.75l6 6 9-13.5" }));
121
- var CheckCircle = createIcon("CheckCircle", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M9 12.75 11.25 15 15 9.75M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z" }));
122
- var Search = createIcon("Search", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M21 21l-5.197-5.197m0 0A7.5 7.5 0 1 0 5.196 5.196a7.5 7.5 0 0 0 10.607 10.607Z" }));
123
- var Edit = createIcon("Edit", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M16.862 4.487l1.687-1.688a1.875 1.875 0 1 1 2.652 2.652L10.582 16.07a4.5 4.5 0 0 1-1.897 1.13L6 18l.8-2.685a4.5 4.5 0 0 1 1.13-1.897l8.932-8.931Zm0 0L19.5 7.125M18 14v4.75A2.25 2.25 0 0 1 15.75 21H5.25A2.25 2.25 0 0 1 3 18.75V8.25A2.25 2.25 0 0 1 5.25 6H10" }));
124
- var Trash = createIcon("Trash", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "m14.74 9-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 0 1-2.244 2.077H8.084a2.25 2.25 0 0 1-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 0 0-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 0 1 3.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 0 0-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 0 0-7.5 0" }));
125
- var Copy = createIcon("Copy", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M15.666 3.888A2.25 2.25 0 0 0 13.5 2.25h-3c-1.03 0-1.9.693-2.166 1.638m7.332 0c.055.194.084.4.084.612v0a.75.75 0 0 1-.75.75H9a.75.75 0 0 1-.75-.75v0c0-.212.03-.418.084-.612m7.332 0c.646.049 1.288.11 1.927.184 1.1.128 1.907 1.077 1.907 2.185V19.5a2.25 2.25 0 0 1-2.25 2.25H6.75A2.25 2.25 0 0 1 4.5 19.5V6.257c0-1.108.806-2.057 1.907-2.185a48.208 48.208 0 0 1 1.927-.184" }));
126
- var Clipboard = createIcon("Clipboard", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M9 12h3.75M9 15h3.75M9 18h3.75m3 .75H18a2.25 2.25 0 0 0 2.25-2.25V6.108c0-1.135-.845-2.098-1.976-2.192a48.424 48.424 0 0 0-1.123-.08m-5.801 0c-.065.21-.1.433-.1.664 0 .414.336.75.75.75h4.5a.75.75 0 0 0 .75-.75 2.25 2.25 0 0 0-.1-.664m-5.8 0A2.251 2.251 0 0 1 13.5 2.25H15c1.012 0 1.867.668 2.15 1.586m-5.8 0c-.376.023-.75.05-1.124.08C9.095 4.01 8.25 4.973 8.25 6.108V8.25m0 0H4.875c-.621 0-1.125.504-1.125 1.125v11.25c0 .621.504 1.125 1.125 1.125h9.75c.621 0 1.125-.504 1.125-1.125V9.375c0-.621-.504-1.125-1.125-1.125H8.25Z" }));
127
- var Download = createIcon("Download", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M3 16.5v2.25A2.25 2.25 0 0 0 5.25 21h13.5A2.25 2.25 0 0 0 21 18.75V16.5M16.5 12L12 16.5m0 0L7.5 12m4.5 4.5V3" }));
128
- var Upload = createIcon("Upload", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M3 16.5v2.25A2.25 2.25 0 0 0 5.25 21h13.5A2.25 2.25 0 0 0 21 18.75V16.5m-13.5-9L12 3m0 0l4.5 4.5M12 3v13.5" }));
129
- var Save = createIcon("Save", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M7.5 3.75H6A2.25 2.25 0 0 0 3.75 6v12A2.25 2.25 0 0 0 6 20.25h12A2.25 2.25 0 0 0 20.25 18V8.31a2.25 2.25 0 0 0-.659-1.591l-2.872-2.872A2.25 2.25 0 0 0 15.129 3.75H15m-7.5 0v3.375c0 .621.504 1.125 1.125 1.125h5.25c.621 0 1.125-.504 1.125-1.125V3.75m-7.5 0H15m-3 11.25a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z" }));
130
- var Filter = createIcon("Filter", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M12 3c2.755 0 5.455.232 8.083.678.533.09.917.556.917 1.096v1.044a2.25 2.25 0 0 1-.659 1.591l-5.432 5.432a2.25 2.25 0 0 0-.659 1.591v2.927a2.25 2.25 0 0 1-1.244 2.013L9.75 21v-6.568a2.25 2.25 0 0 0-.659-1.591L3.659 7.409A2.25 2.25 0 0 1 3 5.818V4.774c0-.54.384-1.006.917-1.096A48.32 48.32 0 0 1 12 3Z" }));
131
- var Sort = createIcon("Sort", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M3 7.5 7.5 3m0 0L12 7.5M7.5 3v13.5m13.5 0L16.5 21m0 0L12 16.5m4.5 4.5V7.5" }));
132
- var Refresh = createIcon("Refresh", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M16.023 9.348h4.992v-.001M2.985 19.644v-4.992m0 0h4.992m-4.993 0 3.181 3.183a8.25 8.25 0 0 0 13.803-3.7M4.031 9.865a8.25 8.25 0 0 1 13.803-3.7l3.181 3.182m0-4.991v4.99" }));
133
- var Share = createIcon("Share", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M7.217 10.907a2.25 2.25 0 1 0 0 2.186m0-2.186c.18.324.283.696.283 1.093s-.103.77-.283 1.093m0-2.186 9.566-5.314m-9.566 7.5 9.566 5.314m0 0a2.25 2.25 0 1 0 3.935 2.186 2.25 2.25 0 0 0-3.935-2.186Zm0-12.814a2.25 2.25 0 1 0 3.933-2.185 2.25 2.25 0 0 0-3.933 2.185Z" }));
134
- var Print = createIcon("Print", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M6.72 13.829c-.24.03-.48.062-.72.096m.72-.096a42.415 42.415 0 0 1 10.56 0m-10.56 0L6.34 18m10.94-4.171c.24.03.48.062.72.096m-.72-.096L17.66 18m0 0 .229 2.523a1.125 1.125 0 0 1-1.12 1.227H7.231c-.662 0-1.18-.568-1.12-1.227L6.34 18m11.318 0h1.091A2.25 2.25 0 0 0 21 15.75V9.456c0-1.081-.768-2.015-1.837-2.175a48.055 48.055 0 0 0-1.913-.247M6.34 18H5.25A2.25 2.25 0 0 1 3 15.75V9.456c0-1.081.768-2.015 1.837-2.175a48.041 48.041 0 0 1 1.913-.247m10.5 0a48.536 48.536 0 0 0-10.5 0m10.5 0V3.375c0-.621-.504-1.125-1.125-1.125h-8.25c-.621 0-1.125.504-1.125 1.125v3.659M18 10.5h.008v.008H18V10.5Z" }));
135
- var Settings = createIcon("Settings", /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
136
- /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M9.594 3.94c.09-.542.56-.94 1.11-.94h2.593c.55 0 1.02.398 1.11.94l.213 1.281c.063.374.313.686.645.87.074.04.147.083.22.127.324.196.72.257 1.075.124l1.217-.456a1.125 1.125 0 0 1 1.37.49l1.296 2.247a1.125 1.125 0 0 1-.26 1.431l-1.003.827c-.293.241-.438.613-.43.992a7.723 7.723 0 0 1 0 .255c-.008.378.137.75.43.991l1.004.827c.424.35.534.955.26 1.43l-1.298 2.247a1.125 1.125 0 0 1-1.369.491l-1.217-.456c-.355-.133-.75-.072-1.076.124a6.47 6.47 0 0 1-.22.128c-.331.183-.581.495-.644.869l-.213 1.281c-.09.543-.56.94-1.11.94h-2.594c-.55 0-1.019-.397-1.11-.94l-.213-1.281c-.062-.374-.312-.686-.644-.87a6.52 6.52 0 0 1-.22-.127c-.325-.196-.72-.257-1.076-.124l-1.217.456a1.125 1.125 0 0 1-1.369-.49l-1.297-2.247a1.125 1.125 0 0 1 .26-1.431l1.004-.827c.292-.24.437-.613.43-.991a6.932 6.932 0 0 1 0-.255c.007-.38-.138-.751-.43-.992l-1.004-.827a1.125 1.125 0 0 1-.26-1.43l1.297-2.247a1.125 1.125 0 0 1 1.37-.491l1.216.456c.356.133.751.072 1.076-.124.072-.044.146-.086.22-.128.332-.183.582-.495.644-.869l.214-1.28Z" }),
137
- /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M15 12a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z" })
138
- ] }));
139
- var Sliders = createIcon("Sliders", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M10.5 6h9.75M10.5 6a1.5 1.5 0 1 1-3 0m3 0a1.5 1.5 0 1 0-3 0M3.75 6H7.5m3 12h9.75m-9.75 0a1.5 1.5 0 0 1-3 0m3 0a1.5 1.5 0 0 0-3 0m-3.75 0H7.5m9-6h3.75m-3.75 0a1.5 1.5 0 0 1-3 0m3 0a1.5 1.5 0 0 0-3 0m-9.75 0h9.75" }));
140
- var Maximize = createIcon("Maximize", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M3.75 3.75v4.5m0-4.5h4.5m-4.5 0L9 9M3.75 20.25v-4.5m0 4.5h4.5m-4.5 0L9 15M20.25 3.75h-4.5m4.5 0v4.5m0-4.5L15 9m5.25 11.25h-4.5m4.5 0v-4.5m0 4.5L15 15" }));
141
- var Minimize = createIcon("Minimize", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M9 9V4.5M9 9H4.5M9 9 3.75 3.75M9 15v4.5M9 15H4.5M9 15l-5.25 5.25M15 9h4.5M15 9V4.5M15 9l5.25-5.25M15 15h4.5M15 15v4.5m0-4.5 5.25 5.25" }));
142
- var Info = createIcon("Info", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M11.25 11.25l.041-.02a.75.75 0 0 1 1.063.852l-.708 2.836a.75.75 0 0 0 1.063.853l.041-.021M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Zm-9-3.75h.008v.008H12V8.25Z" }));
143
- var Warning = createIcon("Warning", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M12 9v3.75m-9.303 3.376c-.866 1.5.217 3.374 1.948 3.374h14.71c1.73 0 2.813-1.874 1.948-3.374L13.949 3.378c-.866-1.5-3.032-1.5-3.898 0L2.697 16.126zM12 15.75h.007v.008H12v-.008Z" }));
144
- var Error2 = createIcon("Error", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M12 9v3.75m9-.75a9 9 0 1 1-18 0 9 9 0 0 1 18 0Zm-9 3.75h.008v.008H12v-.008Z" }));
145
- var Question = createIcon("Question", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M9.879 7.519c1.171-1.025 3.071-1.025 4.242 0 1.172 1.025 1.172 2.687 0 3.712-.203.179-.43.326-.67.442-.745.361-1.45.999-1.45 1.827v.75M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Zm-9 5.25h.008v.008H12v-.008Z" }));
146
- var Ban = createIcon("Ban", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M18.364 18.364A9 9 0 0 0 5.636 5.636m12.728 12.728A9 9 0 0 1 5.636 5.636m12.728 12.728L5.636 5.636" }));
147
- var Bell = createIcon("Bell", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M14.857 17.082a23.848 23.848 0 0 0 5.454-1.31A8.967 8.967 0 0 1 18 9.75V9A6 6 0 0 0 6 9v.75a8.967 8.967 0 0 1-2.312 6.022c1.733.64 3.56 1.085 5.455 1.31m5.714 0a24.255 24.255 0 0 1-5.714 0m5.714 0a3 3 0 1 1-5.714 0" }));
148
- var Play = createIcon("Play", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M5.25 5.653c0-.856.917-1.398 1.667-.986l11.54 6.348a1.125 1.125 0 0 1 0 1.971l-11.54 6.347a1.125 1.125 0 0 1-1.667-.985V5.653Z" }));
149
- var Pause = createIcon("Pause", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M15.75 5.25v13.5m-7.5-13.5v13.5" }));
150
- var Stop = createIcon("Stop", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M5.25 7.5A2.25 2.25 0 0 1 7.5 5.25h9a2.25 2.25 0 0 1 2.25 2.25v9a2.25 2.25 0 0 1-2.25 2.25h-9a2.25 2.25 0 0 1-2.25-2.25v-9Z" }));
151
- var VolumeUp = createIcon("VolumeUp", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M19.114 5.636a9 9 0 0 1 0 12.728M16.463 8.288a5.25 5.25 0 0 1 0 7.424M6.75 8.25l4.72-4.72a.75.75 0 0 1 1.28.53v15.88a.75.75 0 0 1-1.28.53l-4.72-4.72H4.51c-.88 0-1.704-.507-1.938-1.354A9.009 9.009 0 0 1 2.25 12c0-.83.112-1.633.322-2.396C2.806 8.756 3.63 8.25 4.51 8.25H6.75Z" }));
152
- var VolumeOff = createIcon("VolumeOff", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M17.25 9.75 19.5 12m0 0 2.25 2.25M19.5 12l2.25-2.25M19.5 12l-2.25 2.25M6.75 8.25l4.72-4.72a.75.75 0 0 1 1.28.53v15.88a.75.75 0 0 1-1.28.53l-4.72-4.72H4.51c-.88 0-1.704-.507-1.938-1.354A9.009 9.009 0 0 1 2.25 12c0-.83.112-1.633.322-2.396C2.806 8.756 3.63 8.25 4.51 8.25H6.75Z" }));
153
- var Image = createIcon("Image", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "m2.25 15.75 5.159-5.159a2.25 2.25 0 0 1 3.182 0l5.159 5.159m-1.5-1.5 1.409-1.409a2.25 2.25 0 0 1 3.182 0l2.909 2.909m-18 3.75h16.5a1.5 1.5 0 0 0 1.5-1.5V6a1.5 1.5 0 0 0-1.5-1.5H3.75A1.5 1.5 0 0 0 2.25 6v12a1.5 1.5 0 0 0 1.5 1.5Zm10.5-11.25h.008v.008h-.008V8.25Zm.375 0a.375.375 0 1 1-.75 0 .375.375 0 0 1 .75 0Z" }));
154
- var Video = createIcon("Video", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "m15.75 10.5 4.72-4.72a.75.75 0 0 1 1.28.53v11.38a.75.75 0 0 1-1.28.53l-4.72-4.72M4.5 18.75h9a2.25 2.25 0 0 0 2.25-2.25v-9a2.25 2.25 0 0 0-2.25-2.25h-9A2.25 2.25 0 0 0 2.25 7.5v9a2.25 2.25 0 0 0 2.25 2.25Z" }));
155
- var Camera = createIcon("Camera", /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
156
- /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M6.827 6.175A2.31 2.31 0 0 1 5.186 7.23c-.38.054-.757.112-1.134.175C2.999 7.58 2.25 8.507 2.25 9.574V18a2.25 2.25 0 0 0 2.25 2.25h15A2.25 2.25 0 0 0 21.75 18V9.574c0-1.067-.75-1.994-1.802-2.169a47.865 47.865 0 0 0-1.134-.175 2.31 2.31 0 0 1-1.64-1.055l-.822-1.316a2.192 2.192 0 0 0-1.736-1.039 48.774 48.774 0 0 0-5.232 0 2.192 2.192 0 0 0-1.736 1.039l-.821 1.316Z" }),
157
- /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M16.5 12.75a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0ZM18.75 10.5h.008v.008h-.008V10.5Z" })
158
- ] }));
159
- var Microphone = createIcon("Microphone", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M12 18.75a6 6 0 0 0 6-6v-1.5m-6 7.5a6 6 0 0 1-6-6v-1.5m6 7.5v3.75m-3.75 0h7.5M12 15.75a3 3 0 0 1-3-3V4.5a3 3 0 1 1 6 0v8.25a3 3 0 0 1-3 3Z" }));
160
- var Mail = createIcon("Mail", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M21.75 6.75v10.5a2.25 2.25 0 0 1-2.25 2.25h-15a2.25 2.25 0 0 1-2.25-2.25V6.75m19.5 0A2.25 2.25 0 0 0 19.5 4.5h-15a2.25 2.25 0 0 0-2.25 2.25m19.5 0v.243a2.25 2.25 0 0 1-1.07 1.916l-7.5 4.615a2.25 2.25 0 0 1-2.36 0L3.32 8.91a2.25 2.25 0 0 1-1.07-1.916V6.75" }));
161
- var Chat = createIcon("Chat", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M2.25 12.76c0 1.6 1.123 2.994 2.707 3.227 1.087.16 2.185.283 3.293.369V21l4.184-4.183a1.14 1.14 0 0 1 .778-.332 48.294 48.294 0 0 0 5.83-.498c1.585-.233 2.708-1.626 2.708-3.228V6.741c0-1.602-1.123-2.995-2.707-3.228A48.394 48.394 0 0 0 12 3c-2.392 0-4.744.175-7.043.513C3.373 3.746 2.25 5.14 2.25 6.741v6.019Z" }));
162
- var Phone = createIcon("Phone", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M2.25 6.75c0 8.284 6.716 15 15 15h2.25a2.25 2.25 0 0 0 2.25-2.25v-1.372c0-.516-.351-.966-.852-1.091l-4.423-1.106c-.44-.11-.902.055-1.173.417l-.97 1.293c-.282.376-.769.542-1.21.38a12.035 12.035 0 0 1-7.143-7.143c-.162-.441.004-.928.38-1.21l1.293-.97c.363-.271.527-.734.417-1.173L6.963 3.102a1.125 1.125 0 0 0-1.091-.852H4.5A2.25 2.25 0 0 0 2.25 4.5v2.25Z" }));
163
- var Send = createIcon("Send", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M6 12 3.269 3.125A59.769 59.769 0 0 1 21.485 12 59.768 59.768 0 0 1 3.27 20.875L5.999 12Zm0 0h7.5" }));
164
- var User = createIcon("User", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M15.75 6a3.75 3.75 0 1 1-7.5 0 3.75 3.75 0 0 1 7.5 0ZM4.501 20.118a7.5 7.5 0 0 1 14.998 0A17.933 17.933 0 0 1 12 21.75c-2.676 0-5.216-.584-7.499-1.632Z" }));
165
- var Users = createIcon("Users", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M15 19.128a9.38 9.38 0 0 0 2.625.372 9.337 9.337 0 0 0 4.121-.952 4.125 4.125 0 0 0-7.533-2.493M15 19.128v-.003c0-1.113-.285-2.16-.786-3.07M15 19.128v.106A12.318 12.318 0 0 1 8.624 21c-2.331 0-4.512-.645-6.374-1.766l-.001-.109a6.375 6.375 0 0 1 11.964-3.07M12 6.375a3.375 3.375 0 1 1-6.75 0 3.375 3.375 0 0 1 6.75 0Zm8.25 2.25a2.625 2.625 0 1 1-5.25 0 2.625 2.625 0 0 1 5.25 0Z" }));
166
- var Home = createIcon("Home", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "m2.25 12 8.954-8.955c.44-.439 1.152-.439 1.591 0L21.75 12M4.5 9.75v10.125c0 .621.504 1.125 1.125 1.125H9.75v-4.875c0-.621.504-1.125 1.125-1.125h2.25c.621 0 1.125.504 1.125 1.125V21h4.125c.621 0 1.125-.504 1.125-1.125V9.75M8.25 21h8.25" }));
167
- var Globe = createIcon("Globe", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M12 21a9.004 9.004 0 0 0 8.716-6.747M12 21a9.004 9.004 0 0 1-8.716-6.747M12 21c2.485 0 4.5-4.03 4.5-9S14.485 3 12 3m0 18c-2.485 0-4.5-4.03-4.5-9S9.515 3 12 3m0 0a8.997 8.997 0 0 1 7.843 4.582M12 3a8.997 8.997 0 0 0-7.843 4.582m15.686 0A11.953 11.953 0 0 1 12 10.5c-2.998 0-5.74-1.1-7.843-2.918m15.686 0A8.959 8.959 0 0 1 21 12c0 .778-.099 1.533-.284 2.253m0 0A17.919 17.919 0 0 1 12 16.5c-3.162 0-6.133-.815-8.716-2.247m0 0A9.015 9.015 0 0 1 3 12c0-1.605.42-3.113 1.157-4.418" }));
168
- var MapPin = createIcon("MapPin", /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
169
- /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M15 10.5a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z" }),
170
- /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M19.5 10.5c0 7.142-7.5 11.25-7.5 11.25S4.5 17.642 4.5 10.5a7.5 7.5 0 1 1 15 0Z" })
171
- ] }));
172
- var Calendar = createIcon("Calendar", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M6.75 3v2.25M17.25 3v2.25M3 18.75V7.5a2.25 2.25 0 0 1 2.25-2.25h13.5A2.25 2.25 0 0 1 21 7.5v11.25m-18 0A2.25 2.25 0 0 0 5.25 21h13.5A2.25 2.25 0 0 0 21 18.75m-18 0v-7.5A2.25 2.25 0 0 1 5.25 9h13.5A2.25 2.25 0 0 1 21 11.25v7.5" }));
173
- var Clock = createIcon("Clock", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M12 6v6h4.5m4.5 0a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z" }));
174
- var Document = createIcon("Document", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M19.5 14.25v-2.625a3.375 3.375 0 0 0-3.375-3.375h-1.5A1.125 1.125 0 0 1 13.5 7.125v-1.5a3.375 3.375 0 0 0-3.375-3.375H8.25m0 12.75h7.5m-7.5 3H12M10.5 2.25H5.625c-.621 0-1.125.504-1.125 1.125v17.25c0 .621.504 1.125 1.125 1.125h12.75c.621 0 1.125-.504 1.125-1.125V11.25a9 9 0 0 0-9-9Z" }));
175
- var File = createIcon("File", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M19.5 14.25v-2.625a3.375 3.375 0 0 0-3.375-3.375h-1.5A1.125 1.125 0 0 1 13.5 7.125v-1.5a3.375 3.375 0 0 0-3.375-3.375H8.25m2.25 0H5.625c-.621 0-1.125.504-1.125 1.125v17.25c0 .621.504 1.125 1.125 1.125h12.75c.621 0 1.125-.504 1.125-1.125V11.25a9 9 0 0 0-9-9Z" }));
176
- var Folder = createIcon("Folder", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M2.25 12.75V12A2.25 2.25 0 0 1 4.5 9.75h15A2.25 2.25 0 0 1 21.75 12v.75m-8.69-6.44-2.12-2.12a1.5 1.5 0 0 0-1.061-.44H4.5A2.25 2.25 0 0 0 2.25 6v12a2.25 2.25 0 0 0 2.25 2.25h15A2.25 2.25 0 0 0 21.75 18V9a2.25 2.25 0 0 0-2.25-2.25h-5.379a1.5 1.5 0 0 1-1.06-.44Z" }));
177
- var Database = createIcon("Database", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M20.25 6.375c0 2.278-3.694 4.125-8.25 4.125S3.75 8.653 3.75 6.375m16.5 0c0-2.278-3.694-4.125-8.25-4.125S3.75 4.097 3.75 6.375m16.5 0v11.25c0 2.278-3.694 4.125-8.25 4.125s-8.25-1.847-8.25-4.125V6.375m16.5 0v3.75m-16.5-3.75v3.75m16.5 0v3.75C20.25 16.153 16.556 18 12 18s-8.25-1.847-8.25-4.125v-3.75m16.5 0c0 2.278-3.694 4.125-8.25 4.125s-8.25-1.847-8.25-4.125" }));
178
- var Grid = createIcon("Grid", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M3.75 6A2.25 2.25 0 0 1 6 3.75h2.25A2.25 2.25 0 0 1 10.5 6v2.25a2.25 2.25 0 0 1-2.25 2.25H6a2.25 2.25 0 0 1-2.25-2.25V6ZM3.75 15.75A2.25 2.25 0 0 1 6 13.5h2.25a2.25 2.25 0 0 1 2.25 2.25V18a2.25 2.25 0 0 1-2.25 2.25H6A2.25 2.25 0 0 1 3.75 18v-2.25ZM13.5 6a2.25 2.25 0 0 1 2.25-2.25H18A2.25 2.25 0 0 1 20.25 6v2.25A2.25 2.25 0 0 1 18 10.5h-2.25a2.25 2.25 0 0 1-2.25-2.25V6ZM13.5 15.75a2.25 2.25 0 0 1 2.25-2.25H18a2.25 2.25 0 0 1 2.25 2.25V18A2.25 2.25 0 0 1 18 20.25h-2.25a2.25 2.25 0 0 1-2.25-2.25v-2.25Z" }));
179
- var List = createIcon("List", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M8.25 6.75h12M8.25 12h12m-12 5.25h12M3.75 6.75h.007v.008H3.75V6.75Zm.375 0a.375.375 0 1 1-.75 0 .375.375 0 0 1 .75 0ZM3.75 12h.007v.008H3.75V12Zm.375 0a.375.375 0 1 1-.75 0 .375.375 0 0 1 .75 0Zm-.375 5.25h.007v.008H3.75v-.008Zm.375 0a.375.375 0 1 1-.75 0 .375.375 0 0 1 .75 0Z" }));
180
- var Table = createIcon("Table", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M3.375 19.5h17.25m-17.25 0a1.125 1.125 0 0 1-1.125-1.125M3.375 19.5h7.5c.621 0 1.125-.504 1.125-1.125m-9.75 0V5.625m0 12.75v-1.5c0-.621.504-1.125 1.125-1.125m18.375 2.625V5.625m0 12.75c0 .621-.504 1.125-1.125 1.125m1.125-1.125v-1.5c0-.621-.504-1.125-1.125-1.125m0 3.75h-7.5A1.125 1.125 0 0 1 12 18.375m9.75-12.75c0-.621-.504-1.125-1.125-1.125H3.375c-.621 0-1.125.504-1.125 1.125m19.5 0v1.5c0 .621-.504 1.125-1.125 1.125M2.25 5.625v1.5c0 .621.504 1.125 1.125 1.125m0 0h17.25m-17.25 0h7.5c.621 0 1.125.504 1.125 1.125M3.375 8.25c-.621 0-1.125.504-1.125 1.125v1.5c0 .621.504 1.125 1.125 1.125m17.25-3.75h-7.5c-.621 0-1.125.504-1.125 1.125m8.625-1.125c.621 0 1.125.504 1.125 1.125v1.5c0 .621-.504 1.125-1.125 1.125m-17.25 0h7.5m-7.5 0c-.621 0-1.125.504-1.125 1.125v1.5c0 .621.504 1.125 1.125 1.125M12 10.875v-1.5m0 1.5c0 .621-.504 1.125-1.125 1.125M12 10.875c0 .621.504 1.125 1.125 1.125m-2.25 0c.621 0 1.125.504 1.125 1.125M13.125 12h7.5m-7.5 0c-.621 0-1.125.504-1.125 1.125M20.625 12c.621 0 1.125.504 1.125 1.125v1.5c0 .621-.504 1.125-1.125 1.125m-17.25 0h7.5M12 14.625v-1.5m0 1.5c0 .621-.504 1.125-1.125 1.125M12 14.625c0 .621.504 1.125 1.125 1.125m-2.25 0c.621 0 1.125.504 1.125 1.125m0 1.5v-1.5m0 0c0-.621.504-1.125 1.125-1.125m0 0h7.5" }));
181
- var ChartBar = createIcon("ChartBar", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M3 13.125C3 12.504 3.504 12 4.125 12h2.25c.621 0 1.125.504 1.125 1.125v6.75C7.5 20.496 6.996 21 6.375 21h-2.25A1.125 1.125 0 0 1 3 19.875v-6.75ZM9.75 8.625c0-.621.504-1.125 1.125-1.125h2.25c.621 0 1.125.504 1.125 1.125v11.25c0 .621-.504 1.125-1.125 1.125h-2.25a1.125 1.125 0 0 1-1.125-1.125V8.625ZM16.5 4.125c0-.621.504-1.125 1.125-1.125h2.25C20.496 3 21 3.504 21 4.125v15.75c0 .621-.504 1.125-1.125 1.125h-2.25a1.125 1.125 0 0 1-1.125-1.125V4.125Z" }));
182
- var PieChart = createIcon("PieChart", /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
183
- /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M10.5 6a7.5 7.5 0 1 0 7.5 7.5h-7.5V6Z" }),
184
- /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M13.5 10.5H21A7.5 7.5 0 0 0 13.5 3v7.5Z" })
185
- ] }));
186
- var TrendingUp = createIcon("TrendingUp", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M2.25 18 9 11.25l4.306 4.306a11.95 11.95 0 0 1 5.814-5.518l2.74-1.22m0 0-5.94-2.281m5.94 2.28-2.28 5.941" }));
187
- var TrendingDown = createIcon("TrendingDown", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M2.25 6 9 12.75l4.286-4.286a11.948 11.948 0 0 1 4.306 6.43l.776 2.898m0 0 3.182-5.511m-3.182 5.51-5.511-3.181" }));
188
- var Calculator = createIcon("Calculator", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M15.75 15.75V18m-7.5-6.75h.008v.008H8.25v-.008Zm0 2.25h.008v.008H8.25V13.5Zm0 2.25h.008v.008H8.25v-.008Zm0 2.25h.008v.008H8.25V18Zm2.498-6.75h.007v.008h-.007v-.008Zm0 2.25h.007v.008h-.007V13.5Zm0 2.25h.007v.008h-.007v-.008Zm0 2.25h.007v.008h-.007V18Zm2.504-6.75h.008v.008h-.008v-.008Zm0 2.25h.008v.008h-.008V13.5Zm0 2.25h.008v.008h-.008v-.008Zm0 2.25h.008v.008h-.008V18Zm2.498-6.75h.008v.008h-.008v-.008Zm0 2.25h.008v.008h-.008V13.5ZM8.25 6h7.5v2.25h-7.5V6ZM12 2.25c-1.892 0-3.758.11-5.593.322C5.307 2.7 4.5 3.65 4.5 4.757V19.5a2.25 2.25 0 0 0 2.25 2.25h10.5a2.25 2.25 0 0 0 2.25-2.25V4.757c0-1.108-.806-2.057-1.907-2.185A48.507 48.507 0 0 0 12 2.25Z" }));
189
- var Lock = createIcon("Lock", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M16.5 10.5V6.75a4.5 4.5 0 1 0-9 0v3.75m-.75 11.25h10.5a2.25 2.25 0 0 0 2.25-2.25v-6.75a2.25 2.25 0 0 0-2.25-2.25H6.75a2.25 2.25 0 0 0-2.25 2.25v6.75a2.25 2.25 0 0 0 2.25 2.25Z" }));
190
- var Unlock = createIcon("Unlock", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M13.5 10.5V6.75a4.5 4.5 0 1 1 9 0v3.75M3.75 21.75h10.5a2.25 2.25 0 0 0 2.25-2.25v-6.75a2.25 2.25 0 0 0-2.25-2.25H3.75a2.25 2.25 0 0 0-2.25 2.25v6.75a2.25 2.25 0 0 0 2.25 2.25Z" }));
191
- var Key = createIcon("Key", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M15.75 5.25a3 3 0 0 1 3 3m3 0a6 6 0 0 1-7.029 5.912c-.563-.097-1.159.026-1.563.43L10.5 17.25H8.25v2.25H6v2.25H2.25v-2.818c0-.597.237-1.17.659-1.591l6.499-6.499c.404-.404.527-1 .43-1.563A6 6 0 1 1 21.75 8.25Z" }));
192
- var Shield = createIcon("Shield", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M12 9v3.75m0-10.036A11.959 11.959 0 0 1 3.598 6 11.99 11.99 0 0 0 3 9.75c0 5.592 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.31-.21-2.57-.598-3.75h-.152c-3.196 0-6.1-1.249-8.25-3.286Zm0 13.036h.008v.008H12v-.008Z" }));
193
- var ShieldCheck = createIcon("ShieldCheck", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M9 12.75 11.25 15 15 9.75m-3-7.036A11.959 11.959 0 0 1 3.598 6 11.99 11.99 0 0 0 3 9.749c0 5.592 3.824 10.29 9 11.623 5.176-1.332 9-6.03 9-11.622 0-1.31-.21-2.571-.598-3.751h-.152c-3.196 0-6.1-1.248-8.25-3.285Z" }));
194
- var Star = createIcon("Star", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M11.48 3.499a.562.562 0 0 1 1.04 0l2.125 5.111a.563.563 0 0 0 .475.345l5.518.442c.499.04.701.663.321.988l-4.204 3.602a.563.563 0 0 0-.182.557l1.285 5.385a.562.562 0 0 1-.84.61l-4.725-2.885a.562.562 0 0 0-.586 0L6.982 20.54a.562.562 0 0 1-.84-.61l1.285-5.386a.562.562 0 0 0-.182-.557l-4.204-3.602a.562.562 0 0 1 .321-.988l5.518-.442a.563.563 0 0 0 .475-.345L11.48 3.5Z" }));
195
- var StarFilled = createIcon("StarFilled", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M10.788 3.21c.448-1.077 1.976-1.077 2.424 0l2.082 5.007 5.404.433c1.164.093 1.636 1.545.749 2.305l-4.117 3.527 1.257 5.273c.271 1.136-.964 2.033-1.96 1.425L12 18.354 7.373 21.18c-.996.608-2.231-.29-1.96-1.425l1.257-5.273-4.117-3.527c-.887-.76-.415-2.212.749-2.305l5.404-.433 2.082-5.005Z" }), { solid: true });
196
- var Heart = createIcon("Heart", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M21 8.25c0-2.485-2.099-4.5-4.688-4.5-1.935 0-3.597 1.126-4.312 2.733-.715-1.607-2.377-2.733-4.313-2.733C5.1 3.75 3 5.765 3 8.25c0 7.22 9 12 9 12s9-4.78 9-12Z" }));
197
- var Bookmark = createIcon("Bookmark", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M17.593 3.322c1.1.128 1.907 1.077 1.907 2.185V21L12 17.25 4.5 21V5.507c0-1.108.806-2.057 1.907-2.185a48.507 48.507 0 0 1 11.186 0Z" }));
198
- var Tag = createIcon("Tag", /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
199
- /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M9.568 3H5.25A2.25 2.25 0 0 0 3 5.25v4.318c0 .597.237 1.17.659 1.591l9.581 9.581c.699.699 1.78.872 2.607.33a18.095 18.095 0 0 0 5.223-5.223c.542-.827.369-1.908-.33-2.607L11.16 3.66A2.25 2.25 0 0 0 9.568 3Z" }),
200
- /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M6 6h.008v.008H6V6Z" })
201
- ] }));
202
- var Link = createIcon("Link", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M13.19 8.688a4.5 4.5 0 0 1 1.242 7.244l-4.5 4.5a4.5 4.5 0 0 1-6.364-6.364l1.757-1.757m13.35-.622 1.757-1.757a4.5 4.5 0 0 0-6.364-6.364l-4.5 4.5a4.5 4.5 0 0 0 1.242 7.244" }));
203
- var Eye = createIcon("Eye", /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
204
- /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M2.036 12.322a1.012 1.012 0 0 1 0-.639C3.423 7.51 7.36 4.5 12 4.5c4.638 0 8.573 3.007 9.963 7.178.07.207.07.431 0 .639C20.577 16.49 16.64 19.5 12 19.5c-4.638 0-8.573-3.007-9.963-7.178Z" }),
205
- /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M15 12a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z" })
206
- ] }));
207
- var EyeSlash = createIcon("EyeSlash", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M3.98 8.223A10.477 10.477 0 0 0 1.934 12C3.226 16.338 7.244 19.5 12 19.5c.993 0 1.953-.138 2.863-.395M6.228 6.228A10.451 10.451 0 0 1 12 4.5c4.756 0 8.773 3.162 10.065 7.498a10.522 10.522 0 0 1-4.293 5.774M6.228 6.228 3 3m3.228 3.228 3.65 3.65m7.894 7.894L21 21m-3.228-3.228-3.65-3.65m0 0a3 3 0 1 0-4.243-4.243m4.242 4.242L9.88 9.88" }));
208
- var Bolt = createIcon("Bolt", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "m3.75 13.5 10.5-11.25L12 10.5h8.25L9.75 21.75 12 13.5H3.75Z" }));
209
- var Sparkles = createIcon("Sparkles", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M9.813 15.904 9 18.75l-.813-2.846a4.5 4.5 0 0 0-3.09-3.09L2.25 12l2.846-.813a4.5 4.5 0 0 0 3.09-3.09L9 5.25l.813 2.846a4.5 4.5 0 0 0 3.09 3.09L15.75 12l-2.846.813a4.5 4.5 0 0 0-3.09 3.09ZM18.259 8.715 18 9.75l-.259-1.035a3.375 3.375 0 0 0-2.455-2.456L14.25 6l1.036-.259a3.375 3.375 0 0 0 2.455-2.456L18 2.25l.259 1.035a3.375 3.375 0 0 0 2.456 2.456L21.75 6l-1.035.259a3.375 3.375 0 0 0-2.456 2.456Z" }));
210
- var Sun = createIcon("Sun", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M12 3v2.25m6.364.386-1.591 1.591M21 12h-2.25m-.386 6.364-1.591-1.591M12 18.75V21m-4.773-4.227-1.591 1.591M5.25 12H3m4.227-4.773L5.636 5.636M15.75 12a3.75 3.75 0 1 1-7.5 0 3.75 3.75 0 0 1 7.5 0Z" }));
211
- var Moon = createIcon("Moon", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M21.752 15.002A9.72 9.72 0 0 1 18 15.75c-5.385 0-9.75-4.365-9.75-9.75 0-1.33.266-2.597.748-3.752A9.753 9.753 0 0 0 3 11.25C3 16.635 7.365 21 12.75 21a9.753 9.753 0 0 0 9.002-5.998Z" }));
212
- var Spinner = createIcon("Spinner", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M16.023 9.348h4.992v-.001M2.985 19.644v-4.992m0 0h4.992m-4.993 0 3.181 3.183a8.25 8.25 0 0 0 13.803-3.7M4.031 9.865a8.25 8.25 0 0 1 13.803-3.7l3.181 3.182m0-4.991v4.99" }));
213
- var Login = createIcon("Login", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M15.75 9V5.25A2.25 2.25 0 0 0 13.5 3h-6a2.25 2.25 0 0 0-2.25 2.25v13.5A2.25 2.25 0 0 0 7.5 21h6a2.25 2.25 0 0 0 2.25-2.25V15m3 0 3-3m0 0-3-3m3 3H9" }));
214
- var Logout = createIcon("Logout", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M15.75 9V5.25A2.25 2.25 0 0 0 13.5 3h-6a2.25 2.25 0 0 0-2.25 2.25v13.5A2.25 2.25 0 0 0 7.5 21h6a2.25 2.25 0 0 0 2.25-2.25V15M12 9l-3 3m0 0 3 3m-3-3h12.75" }));
215
- var Power = createIcon("Power", /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M5.636 5.636a9 9 0 1 0 12.728 0M12 3v9" }));
216
- var Icon = {
217
- ChevronUp,
218
- ChevronDown,
219
- ChevronLeft,
220
- ChevronRight,
221
- ChevronsLeft,
222
- ChevronsRight,
223
- CaretUp,
224
- CaretDown,
225
- CaretLeft,
226
- CaretRight,
227
- ArrowUp,
228
- ArrowDown,
229
- ArrowLeft,
230
- ArrowRight,
231
- Menu,
232
- DotsHorizontal,
233
- DotsVertical,
234
- ExternalLink,
235
- X,
236
- XCircle,
237
- Plus,
238
- PlusCircle,
239
- Minus,
240
- MinusCircle,
241
- Check,
242
- CheckCircle,
243
- Search,
244
- Edit,
245
- Trash,
246
- Copy,
247
- Clipboard,
248
- Download,
249
- Upload,
250
- Save,
251
- Filter,
252
- Sort,
253
- Refresh,
254
- Share,
255
- Print,
256
- Settings,
257
- Sliders,
258
- Maximize,
259
- Minimize,
260
- Info,
261
- Warning,
262
- Error: Error2,
263
- Question,
264
- Ban,
265
- Bell,
266
- Play,
267
- Pause,
268
- Stop,
269
- VolumeUp,
270
- VolumeOff,
271
- Image,
272
- Video,
273
- Camera,
274
- Microphone,
275
- Mail,
276
- Chat,
277
- Phone,
278
- Send,
279
- User,
280
- Users,
281
- Home,
282
- Globe,
283
- MapPin,
284
- Calendar,
285
- Clock,
286
- Document,
287
- File,
288
- Folder,
289
- Database,
290
- Grid,
291
- List,
292
- Table,
293
- ChartBar,
294
- PieChart,
295
- TrendingUp,
296
- TrendingDown,
297
- Calculator,
298
- Lock,
299
- Unlock,
300
- Key,
301
- Shield,
302
- ShieldCheck,
303
- Star,
304
- StarFilled,
305
- Heart,
306
- Bookmark,
307
- Tag,
308
- Link,
309
- Eye,
310
- EyeSlash,
311
- Bolt,
312
- Sparkles,
313
- Sun,
314
- Moon,
315
- Spinner,
316
- Login,
317
- Logout,
318
- Power,
319
- // ── Back-compat aliases (legacy names) ──
320
- XClose: X,
321
- Checked: Check,
322
- Cog: Settings,
323
- Tweak: Sliders,
324
- Expand: Maximize,
325
- Collapse: Minimize,
326
- ShowMore: DotsVertical,
327
- Delete: Trash,
328
- Bookmarks: Bookmark,
329
- CircleStack: Database,
330
- Data: Database,
331
- DoubleChevronRight: ChevronsRight,
332
- Loading: Spinner,
333
- PowerOff: Power
334
- };
335
- var icons_default = Icon;
336
60
  function Portal({ children, target }) {
337
- const [resolved, setResolved] = React29.useState(null);
338
- React29.useEffect(() => {
61
+ const [resolved, setResolved] = React28.useState(null);
62
+ React28.useEffect(() => {
339
63
  if (target === null) {
340
64
  setResolved(null);
341
65
  return;
@@ -552,7 +276,7 @@ var JUSTIFY_CLASS2 = {
552
276
  end: "justify-items-end",
553
277
  stretch: "justify-items-stretch"
554
278
  };
555
- function Grid2({
279
+ function Grid({
556
280
  cols,
557
281
  rows,
558
282
  gap,
@@ -769,7 +493,7 @@ function IconButton({
769
493
  className = "",
770
494
  style
771
495
  }) {
772
- const colorScheme = React29.useMemo(() => {
496
+ const colorScheme = React28.useMemo(() => {
773
497
  if (type === "primary") {
774
498
  return "bg-accent text-accent-fg hover:bg-accent-hover";
775
499
  }
@@ -859,7 +583,7 @@ var SIZE_CLASSES = {
859
583
  md: "h-9 px-4 text-sm gap-1.5 rounded-lg",
860
584
  lg: "h-11 px-5 text-sm gap-2 rounded-xl"
861
585
  };
862
- var Button = React29__default.default.forwardRef(function Button2({
586
+ var Button = React28__default.default.forwardRef(function Button2({
863
587
  content,
864
588
  variant = "primary",
865
589
  size = "md",
@@ -967,7 +691,7 @@ function MenuButton({
967
691
  "data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95",
968
692
  "data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95"
969
693
  ].join(" "),
970
- children: items.map((item) => /* @__PURE__ */ jsxRuntime.jsxs(React29__default.default.Fragment, { children: [
694
+ children: items.map((item) => /* @__PURE__ */ jsxRuntime.jsxs(React28__default.default.Fragment, { children: [
971
695
  item.separatorBefore && /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu__namespace.Separator, { className: "my-1 h-px bg-border" }),
972
696
  /* @__PURE__ */ jsxRuntime.jsxs(
973
697
  DropdownMenu__namespace.Item,
@@ -1210,9 +934,9 @@ function Tooltip({
1210
934
  ] }) });
1211
935
  }
1212
936
  var TooltipProvider = TooltipPrimitive__namespace.Provider;
1213
- var TabsContext = React29.createContext(null);
937
+ var TabsContext = React28.createContext(null);
1214
938
  function useTabsContext() {
1215
- const ctx = React29.useContext(TabsContext);
939
+ const ctx = React28.useContext(TabsContext);
1216
940
  if (!ctx) throw new Error("Tabs.List / Tabs.Trigger / Tabs.Panel must be rendered inside <Tabs>.");
1217
941
  return ctx;
1218
942
  }
@@ -1234,26 +958,26 @@ function Tabs({
1234
958
  children
1235
959
  }) {
1236
960
  const isControlled = value !== void 0;
1237
- const [internal, setInternal] = React29.useState(defaultValue);
961
+ const [internal, setInternal] = React28.useState(defaultValue);
1238
962
  const current = isControlled ? value : internal;
1239
963
  const reduced = !!framerMotion.useReducedMotion();
1240
- const indicatorId = React29.useId();
1241
- const select = React29.useCallback((next) => {
964
+ const indicatorId = React28.useId();
965
+ const select = React28.useCallback((next) => {
1242
966
  if (!isControlled) setInternal(next);
1243
967
  onValueChange?.(next);
1244
968
  }, [isControlled, onValueChange]);
1245
- const registry = React29.useRef(/* @__PURE__ */ new Map());
1246
- const orderRef = React29.useRef(0);
1247
- const [, bump] = React29.useState(0);
1248
- const registerTab = React29.useCallback((val, meta) => {
969
+ const registry = React28.useRef(/* @__PURE__ */ new Map());
970
+ const orderRef = React28.useRef(0);
971
+ const [, bump] = React28.useState(0);
972
+ const registerTab = React28.useCallback((val, meta) => {
1249
973
  const existing = registry.current.get(val);
1250
974
  registry.current.set(val, { ...meta, order: existing?.order ?? orderRef.current++ });
1251
975
  if (!existing) bump((v) => v + 1);
1252
976
  }, []);
1253
- const unregisterTab = React29.useCallback((val) => {
977
+ const unregisterTab = React28.useCallback((val) => {
1254
978
  if (registry.current.delete(val)) bump((v) => v + 1);
1255
979
  }, []);
1256
- const getTabs = React29.useCallback(() => [...registry.current.entries()].sort((a, b) => a[1].order - b[1].order).map(([val, m]) => ({ value: val, label: m.label, icon: m.icon, disabled: m.disabled })), []);
980
+ const getTabs = React28.useCallback(() => [...registry.current.entries()].sort((a, b) => a[1].order - b[1].order).map(([val, m]) => ({ value: val, label: m.label, icon: m.icon, disabled: m.disabled })), []);
1257
981
  return /* @__PURE__ */ jsxRuntime.jsx(TabsContext.Provider, { value: { value: current, variant, size, orientation, indicatorId, reduced, select, registerTab, unregisterTab, getTabs }, children: /* @__PURE__ */ jsxRuntime.jsx(
1258
982
  TabsPrimitive__namespace.Root,
1259
983
  {
@@ -1273,10 +997,10 @@ function Tabs({
1273
997
  function TabsList({ children, "aria-label": ariaLabel, className = "" }) {
1274
998
  const { variant, orientation, reduced, value } = useTabsContext();
1275
999
  const horizontal = orientation === "horizontal";
1276
- const scrollRef = React29.useRef(null);
1277
- const [edges, setEdges] = React29.useState({ start: false, end: false });
1000
+ const scrollRef = React28.useRef(null);
1001
+ const [edges, setEdges] = React28.useState({ start: false, end: false });
1278
1002
  const scrollable = variant !== "segmented";
1279
- React29.useLayoutEffect(() => {
1003
+ React28.useLayoutEffect(() => {
1280
1004
  const el = scrollRef.current;
1281
1005
  if (!el || !scrollable) return;
1282
1006
  const update = () => {
@@ -1301,13 +1025,13 @@ function TabsList({ children, "aria-label": ariaLabel, className = "" }) {
1301
1025
  ro.disconnect();
1302
1026
  };
1303
1027
  }, [horizontal, scrollable, children]);
1304
- const nudge = React29.useCallback((dir) => {
1028
+ const nudge = React28.useCallback((dir) => {
1305
1029
  const el = scrollRef.current;
1306
1030
  if (!el) return;
1307
1031
  const amount = (horizontal ? el.clientWidth : el.clientHeight) * 0.7 * dir;
1308
1032
  el.scrollBy({ [horizontal ? "left" : "top"]: amount, behavior: reduced ? "auto" : "smooth" });
1309
1033
  }, [horizontal, reduced]);
1310
- React29.useLayoutEffect(() => {
1034
+ React28.useLayoutEffect(() => {
1311
1035
  const el = scrollRef.current;
1312
1036
  if (!el || !scrollable) return;
1313
1037
  const active = el.querySelector("[role=tab][data-state=active]");
@@ -1365,9 +1089,9 @@ function Chevron2({ side, orientation, onClick }) {
1365
1089
  function OverflowMenu() {
1366
1090
  const { getTabs, value, select, orientation } = useTabsContext();
1367
1091
  const horizontal = orientation === "horizontal";
1368
- const [open, setOpen] = React29.useState(false);
1369
- const wrapRef = React29.useRef(null);
1370
- const timer = React29.useRef(null);
1092
+ const [open, setOpen] = React28.useState(false);
1093
+ const wrapRef = React28.useRef(null);
1094
+ const timer = React28.useRef(null);
1371
1095
  const openNow = () => {
1372
1096
  if (timer.current) clearTimeout(timer.current);
1373
1097
  setOpen(true);
@@ -1375,7 +1099,7 @@ function OverflowMenu() {
1375
1099
  const closeSoon = () => {
1376
1100
  timer.current = setTimeout(() => setOpen(false), 160);
1377
1101
  };
1378
- React29.useLayoutEffect(() => {
1102
+ React28.useLayoutEffect(() => {
1379
1103
  if (!open) return;
1380
1104
  const onDoc = (e) => {
1381
1105
  if (wrapRef.current && !wrapRef.current.contains(e.target)) setOpen(false);
@@ -1456,7 +1180,7 @@ function TabsTrigger({ value, icon, badge, closeable, onClose, disabled, classNa
1456
1180
  const isActive = active === value;
1457
1181
  const horizontal = orientation === "horizontal";
1458
1182
  const sz = SIZE[size];
1459
- React29.useLayoutEffect(() => {
1183
+ React28.useLayoutEffect(() => {
1460
1184
  registerTab(value, { label: children, icon, disabled });
1461
1185
  return () => unregisterTab(value);
1462
1186
  }, [value, children, icon, disabled, registerTab, unregisterTab]);
@@ -1654,7 +1378,7 @@ function Tree({
1654
1378
  item.key
1655
1379
  )) });
1656
1380
  }
1657
- var AccordionCtx = React29.createContext({ variant: "separated" });
1381
+ var AccordionCtx = React28.createContext({ variant: "separated" });
1658
1382
  function Accordion2({
1659
1383
  children,
1660
1384
  type = "single",
@@ -1713,7 +1437,7 @@ var Chevron3 = /* @__PURE__ */ jsxRuntime.jsx(
1713
1437
  }
1714
1438
  );
1715
1439
  function AccordionItem({ value, title, icon, children, disabled, className = "" }) {
1716
- const { variant } = React29.useContext(AccordionCtx);
1440
+ const { variant } = React28.useContext(AccordionCtx);
1717
1441
  return /* @__PURE__ */ jsxRuntime.jsxs(
1718
1442
  AccordionPrimitive__namespace.Item,
1719
1443
  {
@@ -1772,7 +1496,7 @@ function Breadcrumbs({
1772
1496
  className = "",
1773
1497
  style
1774
1498
  }) {
1775
- const [expanded, setExpanded] = React29.useState(false);
1499
+ const [expanded, setExpanded] = React28.useState(false);
1776
1500
  const shouldCollapse = maxItems > 0 && items.length > maxItems && !expanded;
1777
1501
  const visible = [];
1778
1502
  if (shouldCollapse) {
@@ -1906,9 +1630,9 @@ var SIZES = {
1906
1630
  sm: { box: "h-7 w-7 text-xs", center: 14, title: "text-xs", desc: "text-[11px]" },
1907
1631
  md: { box: "h-9 w-9 text-sm", center: 18, title: "text-sm", desc: "text-xs" }
1908
1632
  };
1909
- var Check2 = () => /* @__PURE__ */ jsxRuntime.jsx("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 3, "aria-hidden": "true", className: "h-1/2 w-1/2 animate-check-pop", children: /* @__PURE__ */ jsxRuntime.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M20 6L9 17l-5-5" }) });
1633
+ var Check = () => /* @__PURE__ */ jsxRuntime.jsx("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 3, "aria-hidden": "true", className: "h-1/2 w-1/2 animate-check-pop", children: /* @__PURE__ */ jsxRuntime.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M20 6L9 17l-5-5" }) });
1910
1634
  var Cross = () => /* @__PURE__ */ jsxRuntime.jsx("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 3, "aria-hidden": "true", className: "h-1/2 w-1/2", children: /* @__PURE__ */ jsxRuntime.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M18 6 6 18M6 6l12 12" }) });
1911
- var Spinner2 = () => /* @__PURE__ */ jsxRuntime.jsx("svg", { viewBox: "0 0 24 24", fill: "currentColor", "aria-hidden": "true", className: "h-1/2 w-1/2 animate-spin", children: /* @__PURE__ */ jsxRuntime.jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M4.755 10.059a7.5 7.5 0 0112.548-3.364l1.903 1.903h-3.183a.75.75 0 100 1.5h4.992a.75.75 0 00.75-.75V4.356a.75.75 0 00-1.5 0v3.18l-1.9-1.9A9 9 0 003.306 9.67a.75.75 0 101.45.388zm15.408 3.352a.75.75 0 00-.919.53 7.5 7.5 0 01-12.548 3.364l-1.902-1.903h3.183a.75.75 0 000-1.5H2.984a.75.75 0 00-.75.75v4.992a.75.75 0 001.5 0v-3.18l1.9 1.9a9 9 0 0015.059-4.035.75.75 0 00-.53-.918z" }) });
1635
+ var Spinner = () => /* @__PURE__ */ jsxRuntime.jsx("svg", { viewBox: "0 0 24 24", fill: "currentColor", "aria-hidden": "true", className: "h-1/2 w-1/2 animate-spin", children: /* @__PURE__ */ jsxRuntime.jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M4.755 10.059a7.5 7.5 0 0112.548-3.364l1.903 1.903h-3.183a.75.75 0 100 1.5h4.992a.75.75 0 00.75-.75V4.356a.75.75 0 00-1.5 0v3.18l-1.9-1.9A9 9 0 003.306 9.67a.75.75 0 101.45.388zm15.408 3.352a.75.75 0 00-.919.53 7.5 7.5 0 01-12.548 3.364l-1.902-1.903h3.183a.75.75 0 000-1.5H2.984a.75.75 0 00-.75.75v4.992a.75.75 0 001.5 0v-3.18l1.9 1.9a9 9 0 0015.059-4.035.75.75 0 00-.53-.918z" }) });
1912
1636
  function Indicator({ state, index, step, sizeKey }) {
1913
1637
  const reduced = framerMotion.useReducedMotion();
1914
1638
  const s = SIZES[sizeKey];
@@ -1920,7 +1644,7 @@ function Indicator({ state, index, step, sizeKey }) {
1920
1644
  error: "bg-status-error text-white",
1921
1645
  pending: "border border-border bg-surface text-foreground-muted"
1922
1646
  };
1923
- const content = step.icon ?? (state === "completed" ? /* @__PURE__ */ jsxRuntime.jsx(Check2, {}) : state === "error" ? /* @__PURE__ */ jsxRuntime.jsx(Cross, {}) : state === "loading" ? /* @__PURE__ */ jsxRuntime.jsx(Spinner2, {}) : index + 1);
1647
+ const content = step.icon ?? (state === "completed" ? /* @__PURE__ */ jsxRuntime.jsx(Check, {}) : state === "error" ? /* @__PURE__ */ jsxRuntime.jsx(Cross, {}) : state === "loading" ? /* @__PURE__ */ jsxRuntime.jsx(Spinner, {}) : index + 1);
1924
1648
  return /* @__PURE__ */ jsxRuntime.jsx(
1925
1649
  framerMotion.motion.span,
1926
1650
  {
@@ -1956,8 +1680,8 @@ function Stepper({
1956
1680
  className = ""
1957
1681
  }) {
1958
1682
  const reduced = framerMotion.useReducedMotion();
1959
- const [forcedVertical, setForcedVertical] = React29.useState(false);
1960
- React29.useEffect(() => {
1683
+ const [forcedVertical, setForcedVertical] = React28.useState(false);
1684
+ React28.useEffect(() => {
1961
1685
  if (!responsive || orientation === "vertical") return;
1962
1686
  if (typeof window === "undefined" || typeof window.matchMedia !== "function") return;
1963
1687
  const mq = window.matchMedia("(max-width: 767px)");
@@ -2009,7 +1733,7 @@ function Stepper({
2009
1733
  ] }, step.key);
2010
1734
  }) });
2011
1735
  }
2012
- var Check3 = () => /* @__PURE__ */ jsxRuntime.jsx("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 3, "aria-hidden": "true", className: "h-3 w-3", children: /* @__PURE__ */ jsxRuntime.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M20 6L9 17l-5-5" }) });
1736
+ var Check2 = () => /* @__PURE__ */ jsxRuntime.jsx("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 3, "aria-hidden": "true", className: "h-3 w-3", children: /* @__PURE__ */ jsxRuntime.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M20 6L9 17l-5-5" }) });
2013
1737
  var Cross2 = () => /* @__PURE__ */ jsxRuntime.jsx("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 3, "aria-hidden": "true", className: "h-3 w-3", children: /* @__PURE__ */ jsxRuntime.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M18 6 6 18M6 6l12 12" }) });
2014
1738
  var NODE = {
2015
1739
  complete: "bg-accent text-accent-fg border-accent",
@@ -2038,7 +1762,7 @@ function Timeline({ events, current, className = "" }) {
2038
1762
  ].join(" "),
2039
1763
  children: [
2040
1764
  status === "current" && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute inset-0 animate-breathe rounded-full ring-2 ring-accent/40", "aria-hidden": "true" }),
2041
- event.icon ?? (status === "complete" ? /* @__PURE__ */ jsxRuntime.jsx(Check3, {}) : status === "error" ? /* @__PURE__ */ jsxRuntime.jsx(Cross2, {}) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: `h-2 w-2 rounded-full ${status === "current" ? "bg-accent" : "bg-border"}` }))
1765
+ event.icon ?? (status === "complete" ? /* @__PURE__ */ jsxRuntime.jsx(Check2, {}) : status === "error" ? /* @__PURE__ */ jsxRuntime.jsx(Cross2, {}) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: `h-2 w-2 rounded-full ${status === "current" ? "bg-accent" : "bg-border"}` }))
2042
1766
  ]
2043
1767
  }
2044
1768
  ),
@@ -2066,7 +1790,7 @@ function Kbd({
2066
1790
  style
2067
1791
  }) {
2068
1792
  if (keys && keys.length > 0) {
2069
- return /* @__PURE__ */ jsxRuntime.jsx("span", { className: ["inline-flex items-center gap-1", className].filter(Boolean).join(" "), style, children: keys.map((k, i) => /* @__PURE__ */ jsxRuntime.jsxs(React29__default.default.Fragment, { children: [
1793
+ return /* @__PURE__ */ jsxRuntime.jsx("span", { className: ["inline-flex items-center gap-1", className].filter(Boolean).join(" "), style, children: keys.map((k, i) => /* @__PURE__ */ jsxRuntime.jsxs(React28__default.default.Fragment, { children: [
2070
1794
  i > 0 && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-foreground-muted text-xs select-none", children: separator }),
2071
1795
  /* @__PURE__ */ jsxRuntime.jsx("kbd", { className: [cap, SIZE3[size]].join(" "), children: k })
2072
1796
  ] }, `${k}-${i}`)) });
@@ -2157,13 +1881,13 @@ function FlatCarousel({
2157
1881
  className = "",
2158
1882
  style
2159
1883
  }) {
2160
- const scrollerRef = React29.useRef(null);
2161
- const slides = React29__default.default.Children.toArray(children);
2162
- const [active, setActive] = React29.useState(0);
2163
- const [atStart, setAtStart] = React29.useState(true);
2164
- const [atEnd, setAtEnd] = React29.useState(false);
1884
+ const scrollerRef = React28.useRef(null);
1885
+ const slides = React28__default.default.Children.toArray(children);
1886
+ const [active, setActive] = React28.useState(0);
1887
+ const [atStart, setAtStart] = React28.useState(true);
1888
+ const [atEnd, setAtEnd] = React28.useState(false);
2165
1889
  const width = typeof itemWidth === "number" ? `${itemWidth}px` : itemWidth;
2166
- const update = React29.useCallback(() => {
1890
+ const update = React28.useCallback(() => {
2167
1891
  const el = scrollerRef.current;
2168
1892
  if (!el) return;
2169
1893
  setAtStart(el.scrollLeft <= 1);
@@ -2172,7 +1896,7 @@ function FlatCarousel({
2172
1896
  const slideW = first ? first.getBoundingClientRect().width + gap : el.clientWidth;
2173
1897
  setActive(Math.round(el.scrollLeft / slideW));
2174
1898
  }, [gap]);
2175
- React29.useEffect(() => {
1899
+ React28.useEffect(() => {
2176
1900
  update();
2177
1901
  const el = scrollerRef.current;
2178
1902
  if (!el) return;
@@ -2213,9 +1937,9 @@ function RotatingCarousel({
2213
1937
  className = "",
2214
1938
  style
2215
1939
  }) {
2216
- const slides = React29__default.default.Children.toArray(children);
1940
+ const slides = React28__default.default.Children.toArray(children);
2217
1941
  const count = slides.length;
2218
- const [active, setActive] = React29.useState(0);
1942
+ const [active, setActive] = React28.useState(0);
2219
1943
  const reduced = framerMotion.useReducedMotion();
2220
1944
  const wrap = (n) => count > 0 ? (n % count + count) % count : 0;
2221
1945
  const idx = wrap(active);
@@ -2418,7 +2142,7 @@ var toDate = (d) => d instanceof Date ? d : new Date(d);
2418
2142
  var timeLabel = (d) => `${String(d.getHours()).padStart(2, "0")}:${String(d.getMinutes()).padStart(2, "0")}`;
2419
2143
  var initials = (name) => (name ?? "").trim().split(/\s+/).slice(0, 2).map((w) => w[0]?.toUpperCase() ?? "").join("") || void 0;
2420
2144
  var SendIcon = () => /* @__PURE__ */ jsxRuntime.jsx("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, "aria-hidden": "true", className: "h-4 w-4", children: /* @__PURE__ */ jsxRuntime.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M22 2 11 13M22 2l-7 20-4-9-9-4 20-7z" }) });
2421
- var ArrowDown2 = () => /* @__PURE__ */ jsxRuntime.jsx("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, "aria-hidden": "true", className: "h-4 w-4", children: /* @__PURE__ */ jsxRuntime.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M12 5v14M5 12l7 7 7-7" }) });
2145
+ var ArrowDown = () => /* @__PURE__ */ jsxRuntime.jsx("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, "aria-hidden": "true", className: "h-4 w-4", children: /* @__PURE__ */ jsxRuntime.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M12 5v14M5 12l7 7 7-7" }) });
2422
2146
  function TypingDots() {
2423
2147
  return /* @__PURE__ */ jsxRuntime.jsx("span", { className: "inline-flex items-center gap-1", "aria-hidden": "true", children: [0, 1, 2].map((i) => /* @__PURE__ */ jsxRuntime.jsx("span", { className: "h-1.5 w-1.5 animate-bounce rounded-full bg-foreground-muted", style: { animationDelay: `${i * 0.15}s` } }, i)) });
2424
2148
  }
@@ -2435,7 +2159,7 @@ function ChatSkeleton() {
2435
2159
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "h-8 animate-pulse rounded-2xl bg-surface", style: { width: r.w } })
2436
2160
  ] }, i)) });
2437
2161
  }
2438
- function Chat2({
2162
+ function Chat({
2439
2163
  messages,
2440
2164
  currentUserId,
2441
2165
  onSend,
@@ -2453,13 +2177,13 @@ function Chat2({
2453
2177
  className = "",
2454
2178
  style
2455
2179
  }) {
2456
- const listRef = React29.useRef(null);
2457
- const atBottomRef = React29.useRef(true);
2458
- const [showJump, setShowJump] = React29.useState(false);
2459
- const [draft, setDraft] = React29.useState("");
2180
+ const listRef = React28.useRef(null);
2181
+ const atBottomRef = React28.useRef(true);
2182
+ const [showJump, setShowJump] = React28.useState(false);
2183
+ const [draft, setDraft] = React28.useState("");
2460
2184
  const hasHeader = title != null || subtitle != null || avatar != null || headerActions != null;
2461
2185
  const isTyping = typingNames.length > 0;
2462
- const scrollToBottom = React29.useCallback((smooth = true) => {
2186
+ const scrollToBottom = React28.useCallback((smooth = true) => {
2463
2187
  const el = listRef.current;
2464
2188
  if (!el) return;
2465
2189
  if (typeof el.scrollTo === "function") el.scrollTo({ top: el.scrollHeight, behavior: smooth ? "smooth" : "auto" });
@@ -2472,10 +2196,10 @@ function Chat2({
2472
2196
  atBottomRef.current = near;
2473
2197
  setShowJump(!near);
2474
2198
  };
2475
- React29.useEffect(() => {
2199
+ React28.useEffect(() => {
2476
2200
  if (atBottomRef.current) scrollToBottom(messages.length > 0);
2477
2201
  }, [messages.length, isTyping]);
2478
- React29.useEffect(() => {
2202
+ React28.useEffect(() => {
2479
2203
  scrollToBottom(false);
2480
2204
  }, [scrollToBottom]);
2481
2205
  const send = () => {
@@ -2553,7 +2277,7 @@ function Chat2({
2553
2277
  onClick: () => scrollToBottom(true),
2554
2278
  "aria-label": "Jump to latest",
2555
2279
  className: "absolute bottom-3 left-1/2 flex h-8 w-8 -translate-x-1/2 items-center justify-center rounded-full border border-border bg-surface text-foreground-secondary shadow-md transition-colors hover:bg-surface-raised hover:text-foreground focus:outline-none focus-visible:ring-2 focus-visible:ring-accent",
2556
- children: /* @__PURE__ */ jsxRuntime.jsx(ArrowDown2, {})
2280
+ children: /* @__PURE__ */ jsxRuntime.jsx(ArrowDown, {})
2557
2281
  }
2558
2282
  )
2559
2283
  ] }),
@@ -2596,8 +2320,8 @@ var TONE2 = {
2596
2320
  bad: "text-status-error",
2597
2321
  neutral: "text-foreground-muted"
2598
2322
  };
2599
- var ArrowUp2 = /* @__PURE__ */ jsxRuntime.jsx("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2.2, "aria-hidden": "true", className: "h-3.5 w-3.5", children: /* @__PURE__ */ jsxRuntime.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M12 19V5M5 12l7-7 7 7" }) });
2600
- var ArrowDown3 = /* @__PURE__ */ jsxRuntime.jsx("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2.2, "aria-hidden": "true", className: "h-3.5 w-3.5", children: /* @__PURE__ */ jsxRuntime.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M12 5v14M5 12l7 7 7-7" }) });
2323
+ var ArrowUp = /* @__PURE__ */ jsxRuntime.jsx("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2.2, "aria-hidden": "true", className: "h-3.5 w-3.5", children: /* @__PURE__ */ jsxRuntime.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M12 19V5M5 12l7-7 7 7" }) });
2324
+ var ArrowDown2 = /* @__PURE__ */ jsxRuntime.jsx("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2.2, "aria-hidden": "true", className: "h-3.5 w-3.5", children: /* @__PURE__ */ jsxRuntime.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M12 5v14M5 12l7 7 7-7" }) });
2601
2325
  function Statistic({
2602
2326
  label,
2603
2327
  value,
@@ -2629,7 +2353,7 @@ function Statistic({
2629
2353
  suffix && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-foreground-muted text-[0.5em] font-medium self-center", children: suffix })
2630
2354
  ] }),
2631
2355
  delta && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `mt-1.5 flex items-center gap-1 text-sm font-medium ${align === "center" ? "justify-center" : ""} ${TONE2[deltaTone]}`, children: [
2632
- dir === "up" ? ArrowUp2 : dir === "down" ? ArrowDown3 : null,
2356
+ dir === "up" ? ArrowUp : dir === "down" ? ArrowDown2 : null,
2633
2357
  /* @__PURE__ */ jsxRuntime.jsx("span", { children: delta.value }),
2634
2358
  delta.label && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-foreground-muted font-normal", children: delta.label })
2635
2359
  ] }),
@@ -2665,7 +2389,7 @@ function FAB({
2665
2389
  className = "",
2666
2390
  style
2667
2391
  }) {
2668
- const [open, setOpen] = React29.useState(false);
2392
+ const [open, setOpen] = React28.useState(false);
2669
2393
  const reduced = framerMotion.useReducedMotion();
2670
2394
  const hasDial = !!actions && actions.length > 0;
2671
2395
  const bottom = position.startsWith("bottom");
@@ -2767,8 +2491,8 @@ function PopConfirm({
2767
2491
  onOpenChange,
2768
2492
  className = ""
2769
2493
  }) {
2770
- const [uncontrolledOpen, setUncontrolledOpen] = React29.useState(false);
2771
- const [loading, setLoading] = React29.useState(false);
2494
+ const [uncontrolledOpen, setUncontrolledOpen] = React28.useState(false);
2495
+ const [loading, setLoading] = React28.useState(false);
2772
2496
  const isOpen = open ?? uncontrolledOpen;
2773
2497
  const setOpen = (next) => {
2774
2498
  onOpenChange?.(next);
@@ -2855,16 +2579,16 @@ function LogoutTimer({
2855
2579
  logoutLabel = "Sign out now"
2856
2580
  }) {
2857
2581
  const reduced = framerMotion.useReducedMotion();
2858
- const [warning, setWarning] = React29.useState(false);
2859
- const [remaining, setRemaining] = React29.useState(countdown);
2860
- const idleTimer = React29.useRef(null);
2861
- const tick = React29.useRef(null);
2862
- const deadline = React29.useRef(0);
2863
- const warningRef = React29.useRef(false);
2864
- const lastReset = React29.useRef(0);
2865
- const cbs = React29.useRef({ onLogout, onContinue, onWarning });
2582
+ const [warning, setWarning] = React28.useState(false);
2583
+ const [remaining, setRemaining] = React28.useState(countdown);
2584
+ const idleTimer = React28.useRef(null);
2585
+ const tick = React28.useRef(null);
2586
+ const deadline = React28.useRef(0);
2587
+ const warningRef = React28.useRef(false);
2588
+ const lastReset = React28.useRef(0);
2589
+ const cbs = React28.useRef({ onLogout, onContinue, onWarning });
2866
2590
  cbs.current = { onLogout, onContinue, onWarning };
2867
- const clearTimers = React29.useCallback(() => {
2591
+ const clearTimers = React28.useCallback(() => {
2868
2592
  if (idleTimer.current) {
2869
2593
  clearTimeout(idleTimer.current);
2870
2594
  idleTimer.current = null;
@@ -2874,13 +2598,13 @@ function LogoutTimer({
2874
2598
  tick.current = null;
2875
2599
  }
2876
2600
  }, []);
2877
- const logout = React29.useCallback(() => {
2601
+ const logout = React28.useCallback(() => {
2878
2602
  clearTimers();
2879
2603
  warningRef.current = false;
2880
2604
  setWarning(false);
2881
2605
  cbs.current.onLogout();
2882
2606
  }, [clearTimers]);
2883
- const startIdle = React29.useCallback(() => {
2607
+ const startIdle = React28.useCallback(() => {
2884
2608
  if (idleTimer.current) clearTimeout(idleTimer.current);
2885
2609
  idleTimer.current = setTimeout(() => {
2886
2610
  warningRef.current = true;
@@ -2895,7 +2619,7 @@ function LogoutTimer({
2895
2619
  }, 250);
2896
2620
  }, timeout);
2897
2621
  }, [timeout, countdown, logout]);
2898
- const stay = React29.useCallback(() => {
2622
+ const stay = React28.useCallback(() => {
2899
2623
  if (tick.current) {
2900
2624
  clearInterval(tick.current);
2901
2625
  tick.current = null;
@@ -2905,7 +2629,7 @@ function LogoutTimer({
2905
2629
  cbs.current.onContinue?.();
2906
2630
  startIdle();
2907
2631
  }, [startIdle]);
2908
- React29.useEffect(() => {
2632
+ React28.useEffect(() => {
2909
2633
  if (!enabled) {
2910
2634
  clearTimers();
2911
2635
  warningRef.current = false;
@@ -2970,11 +2694,11 @@ function SegmentedControl({
2970
2694
  "aria-label": ariaLabel
2971
2695
  }) {
2972
2696
  const sz = SIZE5[size];
2973
- const groupId = React29.useId();
2974
- const errorId = React29.useId();
2697
+ const groupId = React28.useId();
2698
+ const errorId = React28.useId();
2975
2699
  const hasError = errorMessage != null;
2976
2700
  const isControlled = value !== void 0;
2977
- const [internal, setInternal] = React29.useState(defaultValue);
2701
+ const [internal, setInternal] = React28.useState(defaultValue);
2978
2702
  const current = isControlled ? value : internal;
2979
2703
  const handle = (v) => {
2980
2704
  if (!v) return;
@@ -3115,8 +2839,8 @@ var normalize = (e) => {
3115
2839
  const end = e.end ? toDate2(e.end) : new Date(start.getTime() + 36e5);
3116
2840
  return { ...e, start, end };
3117
2841
  };
3118
- var Spinner3 = () => /* @__PURE__ */ jsxRuntime.jsx("svg", { viewBox: "0 0 24 24", fill: "currentColor", "aria-hidden": "true", className: "h-5 w-5 animate-spin text-accent", children: /* @__PURE__ */ jsxRuntime.jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M4.755 10.059a7.5 7.5 0 0112.548-3.364l1.903 1.903h-3.183a.75.75 0 100 1.5h4.992a.75.75 0 00.75-.75V4.356a.75.75 0 00-1.5 0v3.18l-1.9-1.9A9 9 0 003.306 9.67a.75.75 0 101.45.388zm15.408 3.352a.75.75 0 00-.919.53 7.5 7.5 0 01-12.548 3.364l-1.902-1.903h3.183a.75.75 0 000-1.5H2.984a.75.75 0 00-.75.75v4.992a.75.75 0 001.5 0v-3.18l1.9 1.9a9 9 0 0015.059-4.035.75.75 0 00-.53-.918z" }) });
3119
- var Plus2 = () => /* @__PURE__ */ jsxRuntime.jsx("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, "aria-hidden": "true", className: "h-4 w-4", children: /* @__PURE__ */ jsxRuntime.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M12 5v14M5 12h14" }) });
2842
+ var Spinner2 = () => /* @__PURE__ */ jsxRuntime.jsx("svg", { viewBox: "0 0 24 24", fill: "currentColor", "aria-hidden": "true", className: "h-5 w-5 animate-spin text-accent", children: /* @__PURE__ */ jsxRuntime.jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M4.755 10.059a7.5 7.5 0 0112.548-3.364l1.903 1.903h-3.183a.75.75 0 100 1.5h4.992a.75.75 0 00.75-.75V4.356a.75.75 0 00-1.5 0v3.18l-1.9-1.9A9 9 0 003.306 9.67a.75.75 0 101.45.388zm15.408 3.352a.75.75 0 00-.919.53 7.5 7.5 0 01-12.548 3.364l-1.902-1.903h3.183a.75.75 0 000-1.5H2.984a.75.75 0 00-.75.75v4.992a.75.75 0 001.5 0v-3.18l1.9 1.9a9 9 0 0015.059-4.035.75.75 0 00-.53-.918z" }) });
2843
+ var Plus = () => /* @__PURE__ */ jsxRuntime.jsx("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, "aria-hidden": "true", className: "h-4 w-4", children: /* @__PURE__ */ jsxRuntime.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M12 5v14M5 12h14" }) });
3120
2844
  var Chevron4 = ({ dir }) => /* @__PURE__ */ jsxRuntime.jsx("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, "aria-hidden": "true", className: "h-4 w-4", children: /* @__PURE__ */ jsxRuntime.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: dir === "left" ? "M15 19l-7-7 7-7" : "M9 5l7 7-7 7" }) });
3121
2845
  function Scheduler({
3122
2846
  events: controlledEvents,
@@ -3134,22 +2858,22 @@ function Scheduler({
3134
2858
  style
3135
2859
  }) {
3136
2860
  const reduced = framerMotion.useReducedMotion();
3137
- const [view, setView] = React29.useState(defaultView);
3138
- const [cursor, setCursor] = React29.useState(() => defaultDate ?? /* @__PURE__ */ new Date());
3139
- const [loaded, setLoaded] = React29.useState([]);
3140
- const [loading, setLoading] = React29.useState(false);
3141
- const [error, setError] = React29.useState(null);
3142
- const [reloadKey, setReloadKey] = React29.useState(0);
3143
- const [dir, setDir] = React29.useState(0);
3144
- const cbRef = React29.useRef({ loadEvents, onError });
2861
+ const [view, setView] = React28.useState(defaultView);
2862
+ const [cursor, setCursor] = React28.useState(() => defaultDate ?? /* @__PURE__ */ new Date());
2863
+ const [loaded, setLoaded] = React28.useState([]);
2864
+ const [loading, setLoading] = React28.useState(false);
2865
+ const [error, setError] = React28.useState(null);
2866
+ const [reloadKey, setReloadKey] = React28.useState(0);
2867
+ const [dir, setDir] = React28.useState(0);
2868
+ const cbRef = React28.useRef({ loadEvents, onError });
3145
2869
  cbRef.current = { loadEvents, onError };
3146
- const range = React29.useMemo(
2870
+ const range = React28.useMemo(
3147
2871
  () => view === "month" ? monthRange(cursor) : weekRange(cursor, weekStartsOn),
3148
2872
  [view, cursor, weekStartsOn]
3149
2873
  );
3150
2874
  const fromKey = range.from.getTime();
3151
2875
  const toKey = range.to.getTime();
3152
- React29.useEffect(() => {
2876
+ React28.useEffect(() => {
3153
2877
  const { loadEvents: loader, onError: onErr } = cbRef.current;
3154
2878
  if (!loader) return;
3155
2879
  let cancelled = false;
@@ -3169,16 +2893,16 @@ function Scheduler({
3169
2893
  cancelled = true;
3170
2894
  };
3171
2895
  }, [fromKey, toKey, view, reloadKey]);
3172
- const retry = React29.useCallback(() => setReloadKey((k) => k + 1), []);
3173
- const events = React29.useMemo(
2896
+ const retry = React28.useCallback(() => setReloadKey((k) => k + 1), []);
2897
+ const events = React28.useMemo(
3174
2898
  () => (controlledEvents ?? loaded).map(normalize),
3175
2899
  [controlledEvents, loaded]
3176
2900
  );
3177
- const go = React29.useCallback((delta) => {
2901
+ const go = React28.useCallback((delta) => {
3178
2902
  setDir(delta);
3179
2903
  setCursor((c) => view === "month" ? addMonths(c, delta) : addDays(c, delta * 7));
3180
2904
  }, [view]);
3181
- const goToday = React29.useCallback(() => {
2905
+ const goToday = React28.useCallback(() => {
3182
2906
  setDir(0);
3183
2907
  setCursor(/* @__PURE__ */ new Date());
3184
2908
  }, []);
@@ -3206,7 +2930,7 @@ function Scheduler({
3206
2930
  }
3207
2931
  }
3208
2932
  ),
3209
- loading && /* @__PURE__ */ jsxRuntime.jsx(Spinner3, {})
2933
+ loading && /* @__PURE__ */ jsxRuntime.jsx(Spinner2, {})
3210
2934
  ] }),
3211
2935
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
3212
2936
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -3219,7 +2943,7 @@ function Scheduler({
3219
2943
  options: [{ value: "month", label: "Month" }, { value: "week", label: "Week" }]
3220
2944
  }
3221
2945
  ),
3222
- onNewEvent && /* @__PURE__ */ jsxRuntime.jsx(Button_default, { size: "sm", icon: /* @__PURE__ */ jsxRuntime.jsx(Plus2, {}), content: "New event", onClick: onNewEvent })
2946
+ onNewEvent && /* @__PURE__ */ jsxRuntime.jsx(Button_default, { size: "sm", icon: /* @__PURE__ */ jsxRuntime.jsx(Plus, {}), content: "New event", onClick: onNewEvent })
3223
2947
  ] })
3224
2948
  ] }),
3225
2949
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative flex-1 overflow-hidden", children: error ? /* @__PURE__ */ jsxRuntime.jsx(SchedulerError, { onRetry: retry }) : loadEvents && loading && events.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(SchedulerSkeleton, { view }) : /* @__PURE__ */ jsxRuntime.jsx(
@@ -3288,9 +3012,9 @@ function SchedulerError({ onRetry }) {
3288
3012
  ] });
3289
3013
  }
3290
3014
  function MonthYearPicker({ label, cursor, onPick }) {
3291
- const [open, setOpen] = React29.useState(false);
3292
- const [viewYear, setViewYear] = React29.useState(cursor.getFullYear());
3293
- React29.useEffect(() => {
3015
+ const [open, setOpen] = React28.useState(false);
3016
+ const [viewYear, setViewYear] = React28.useState(cursor.getFullYear());
3017
+ React28.useEffect(() => {
3294
3018
  if (open) setViewYear(cursor.getFullYear());
3295
3019
  }, [open, cursor]);
3296
3020
  return /* @__PURE__ */ jsxRuntime.jsxs(Popover__namespace.Root, { open, onOpenChange: setOpen, children: [
@@ -3353,7 +3077,7 @@ function MonthView({
3353
3077
  onSelectSlot,
3354
3078
  onSelectEvent
3355
3079
  }) {
3356
- const grid = React29.useMemo(() => buildMonthGrid(cursor, weekStartsOn), [cursor, weekStartsOn]);
3080
+ const grid = React28.useMemo(() => buildMonthGrid(cursor, weekStartsOn), [cursor, weekStartsOn]);
3357
3081
  const labels = weekdayLabels(weekStartsOn);
3358
3082
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex h-full flex-col", children: [
3359
3083
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-7 border-b border-border", children: labels.map((l) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: "px-2 py-1.5 text-center text-[11px] font-medium uppercase tracking-wide text-foreground-muted", children: l }, l)) }),
@@ -3427,11 +3151,11 @@ function WeekView({
3427
3151
  onSelectSlot,
3428
3152
  onSelectEvent
3429
3153
  }) {
3430
- const days = React29.useMemo(() => getWeekDays(cursor, weekStartsOn), [cursor, weekStartsOn]);
3431
- const labels = React29.useMemo(() => weekdayLabels(weekStartsOn), [weekStartsOn]);
3154
+ const days = React28.useMemo(() => getWeekDays(cursor, weekStartsOn), [cursor, weekStartsOn]);
3155
+ const labels = React28.useMemo(() => weekdayLabels(weekStartsOn), [weekStartsOn]);
3432
3156
  const dow = (d) => labels[(d.getDay() - weekStartsOn + 7) % 7];
3433
3157
  const [startHour, endHour] = dayHours;
3434
- const hours = React29.useMemo(
3158
+ const hours = React28.useMemo(
3435
3159
  () => Array.from({ length: endHour - startHour }, (_, i) => startHour + i),
3436
3160
  [startHour, endHour]
3437
3161
  );
@@ -3622,17 +3346,17 @@ function Cart({
3622
3346
  ] })
3623
3347
  ] });
3624
3348
  }
3625
- var CartContext = React29.createContext(null);
3349
+ var CartContext = React28.createContext(null);
3626
3350
  var clampQty = (qty, max) => {
3627
3351
  const lower = Math.max(1, Math.round(qty));
3628
3352
  return max != null ? Math.min(lower, max) : lower;
3629
3353
  };
3630
3354
  function CartProvider({ children, initialItems = [], onChange }) {
3631
- const [items, setItems] = React29.useState(initialItems);
3632
- React29.useEffect(() => {
3355
+ const [items, setItems] = React28.useState(initialItems);
3356
+ React28.useEffect(() => {
3633
3357
  onChange?.(items);
3634
3358
  }, [items]);
3635
- const addToCart = React29.useCallback((item, quantity) => {
3359
+ const addToCart = React28.useCallback((item, quantity) => {
3636
3360
  const addQty = quantity ?? item.quantity ?? 1;
3637
3361
  setItems((prev) => {
3638
3362
  const existing = prev.find((it) => it.id === item.id);
@@ -3645,29 +3369,29 @@ function CartProvider({ children, initialItems = [], onChange }) {
3645
3369
  return [...prev, { ...rest, quantity: clampQty(addQty, item.max) }];
3646
3370
  });
3647
3371
  }, []);
3648
- const removeFromCart = React29.useCallback((id) => {
3372
+ const removeFromCart = React28.useCallback((id) => {
3649
3373
  setItems((prev) => prev.filter((it) => it.id !== id));
3650
3374
  }, []);
3651
- const updateQuantity = React29.useCallback((id, quantity) => {
3375
+ const updateQuantity = React28.useCallback((id, quantity) => {
3652
3376
  setItems(
3653
3377
  (prev) => prev.map((it) => it.id === id ? { ...it, quantity: clampQty(quantity, it.max) } : it)
3654
3378
  );
3655
3379
  }, []);
3656
- const clearCart = React29.useCallback(() => setItems([]), []);
3657
- const isInCart = React29.useCallback((id) => items.some((it) => it.id === id), [items]);
3658
- const getItemCount = React29.useCallback(() => items.reduce((sum, it) => sum + it.quantity, 0), [items]);
3659
- const getCartTotal = React29.useCallback(
3380
+ const clearCart = React28.useCallback(() => setItems([]), []);
3381
+ const isInCart = React28.useCallback((id) => items.some((it) => it.id === id), [items]);
3382
+ const getItemCount = React28.useCallback(() => items.reduce((sum, it) => sum + it.quantity, 0), [items]);
3383
+ const getCartTotal = React28.useCallback(
3660
3384
  () => items.reduce((sum, it) => sum + it.price * it.quantity, 0),
3661
3385
  [items]
3662
3386
  );
3663
- const value = React29.useMemo(
3387
+ const value = React28.useMemo(
3664
3388
  () => ({ items, addToCart, removeFromCart, updateQuantity, clearCart, isInCart, getItemCount, getCartTotal }),
3665
3389
  [items, addToCart, removeFromCart, updateQuantity, clearCart, isInCart, getItemCount, getCartTotal]
3666
3390
  );
3667
3391
  return /* @__PURE__ */ jsxRuntime.jsx(CartContext.Provider, { value, children });
3668
3392
  }
3669
3393
  function useCart() {
3670
- const ctx = React29.useContext(CartContext);
3394
+ const ctx = React28.useContext(CartContext);
3671
3395
  if (!ctx) {
3672
3396
  throw new Error("useCart must be used within a <CartProvider>.");
3673
3397
  }
@@ -4001,11 +3725,11 @@ function buildBindings(store, name, kind, snap) {
4001
3725
 
4002
3726
  // src/form/useForm.ts
4003
3727
  function useForm(options = {}) {
4004
- const ref = React29.useRef(null);
3728
+ const ref = React28.useRef(null);
4005
3729
  if (ref.current === null) ref.current = new FormStore(options);
4006
3730
  const store = ref.current;
4007
- React29.useSyncExternalStore(store.subscribe, store.getRootSnapshot, store.getRootSnapshot);
4008
- const make = React29.useCallback(
3731
+ React28.useSyncExternalStore(store.subscribe, store.getRootSnapshot, store.getRootSnapshot);
3732
+ const make = React28.useCallback(
4009
3733
  (kind) => (name, rules) => {
4010
3734
  if (rules !== void 0) store.setRule(name, rules);
4011
3735
  return buildBindings(store, name, kind, store.getFieldSnapshot(name));
@@ -4034,9 +3758,9 @@ function useForm(options = {}) {
4034
3758
  fieldTarget: make("target")
4035
3759
  };
4036
3760
  }
4037
- var FormContext = React29.createContext(null);
3761
+ var FormContext = React28.createContext(null);
4038
3762
  function useFormStore() {
4039
- const store = React29.useContext(FormContext);
3763
+ const store = React28.useContext(FormContext);
4040
3764
  if (!store) {
4041
3765
  throw new Error("useFormStore must be used within a <Form>. Did you forget to wrap your fields?");
4042
3766
  }
@@ -4050,8 +3774,8 @@ function Form({
4050
3774
  children,
4051
3775
  ...rest
4052
3776
  }) {
4053
- const ref = React29.useRef(null);
4054
- const bypass = React29.useRef(false);
3777
+ const ref = React28.useRef(null);
3778
+ const bypass = React28.useRef(false);
4055
3779
  const handleSubmit = async (e) => {
4056
3780
  if (bypass.current) {
4057
3781
  bypass.current = false;
@@ -4103,12 +3827,12 @@ function useFormField(name, options = {}) {
4103
3827
  const store = useFormStore();
4104
3828
  const { kind = "value", rules } = options;
4105
3829
  if (rules !== void 0 && store.getRule(name) !== rules) store.setRule(name, rules);
4106
- React29.useEffect(() => {
3830
+ React28.useEffect(() => {
4107
3831
  return () => {
4108
3832
  if (rules !== void 0) store.removeRule(name);
4109
3833
  };
4110
3834
  }, [store, name]);
4111
- const snap = React29.useSyncExternalStore(
3835
+ const snap = React28.useSyncExternalStore(
4112
3836
  store.subscribe,
4113
3837
  () => store.getFieldSnapshot(name)
4114
3838
  );
@@ -4120,7 +3844,7 @@ function FormField({ name, kind, rules, children }) {
4120
3844
  }
4121
3845
  function useFieldArray(name) {
4122
3846
  const store = useFormStore();
4123
- React29.useSyncExternalStore(store.subscribe, store.getRootSnapshot, store.getRootSnapshot);
3847
+ React28.useSyncExternalStore(store.subscribe, store.getRootSnapshot, store.getRootSnapshot);
4124
3848
  const arr = store.getValue(name) ?? [];
4125
3849
  const keys = store.getKeys(name);
4126
3850
  return {
@@ -4153,7 +3877,7 @@ function TextInput({
4153
3877
  suffix,
4154
3878
  id
4155
3879
  }) {
4156
- const errorId = React29.useId();
3880
+ const errorId = React28.useId();
4157
3881
  const hasError = errorMessage != null;
4158
3882
  const hasAdornment = prefix != null || suffix != null;
4159
3883
  const inputId = htmlFor ?? id;
@@ -4314,7 +4038,7 @@ function CreditCardForm({
4314
4038
  className = "",
4315
4039
  style
4316
4040
  }) {
4317
- const initial = React29.useRef({
4041
+ const initial = React28.useRef({
4318
4042
  number: formatCardNumber(defaultValue?.number ?? ""),
4319
4043
  name: defaultValue?.name ?? "",
4320
4044
  expiry: formatExpiry(defaultValue?.expiry ?? ""),
@@ -4323,7 +4047,7 @@ function CreditCardForm({
4323
4047
  const form = useForm({ initialValues: initial });
4324
4048
  const numberStr = String(form.values.number ?? "");
4325
4049
  const brand = detectBrand(numberStr);
4326
- React29.useEffect(() => {
4050
+ React28.useEffect(() => {
4327
4051
  onChange?.(toCard(form.values));
4328
4052
  }, [form.values.number, form.values.name, form.values.expiry, form.values.cvv]);
4329
4053
  const numberBind = form.fieldNative("number", {
@@ -4446,7 +4170,7 @@ function Checkout({
4446
4170
  ] })
4447
4171
  ] });
4448
4172
  }
4449
- var NotificationContext = React29.createContext({
4173
+ var NotificationContext = React28.createContext({
4450
4174
  open: () => void 0,
4451
4175
  close: () => void 0
4452
4176
  });
@@ -4504,26 +4228,26 @@ function NotificationItem({
4504
4228
  onClose,
4505
4229
  reduced
4506
4230
  }) {
4507
- const [paused, setPaused] = React29.useState(false);
4231
+ const [paused, setPaused] = React28.useState(false);
4508
4232
  const duration = n.duration ?? 4e3;
4509
4233
  const isAutoDismissing = isFinite(duration) && duration > 0;
4510
4234
  const showProgress = !reduced && isAutoDismissing;
4511
- const timerRef = React29.useRef(null);
4512
- const startTimeRef = React29.useRef(0);
4513
- const remainingRef = React29.useRef(duration);
4514
- const clearTimer = React29.useCallback(() => {
4235
+ const timerRef = React28.useRef(null);
4236
+ const startTimeRef = React28.useRef(0);
4237
+ const remainingRef = React28.useRef(duration);
4238
+ const clearTimer = React28.useCallback(() => {
4515
4239
  if (timerRef.current !== null) {
4516
4240
  clearTimeout(timerRef.current);
4517
4241
  timerRef.current = null;
4518
4242
  }
4519
4243
  }, []);
4520
- const scheduleDismiss = React29.useCallback((ms) => {
4244
+ const scheduleDismiss = React28.useCallback((ms) => {
4521
4245
  clearTimer();
4522
4246
  if (!isAutoDismissing) return;
4523
4247
  startTimeRef.current = Date.now();
4524
4248
  timerRef.current = setTimeout(() => onClose(n.id), ms);
4525
4249
  }, [clearTimer, isAutoDismissing, n.id, onClose]);
4526
- React29.useEffect(() => {
4250
+ React28.useEffect(() => {
4527
4251
  if (paused || !isAutoDismissing) return;
4528
4252
  scheduleDismiss(remainingRef.current);
4529
4253
  return clearTimer;
@@ -4606,15 +4330,15 @@ function NotificationProvider({
4606
4330
  children,
4607
4331
  position = "top-right"
4608
4332
  }) {
4609
- const [notifications, setNotifications] = React29.useState([]);
4333
+ const [notifications, setNotifications] = React28.useState([]);
4610
4334
  const reduced = framerMotion.useReducedMotion();
4611
- const open = React29.useCallback((payload) => {
4335
+ const open = React28.useCallback((payload) => {
4612
4336
  setNotifications((prev) => [
4613
4337
  ...prev,
4614
4338
  { duration: 4e3, ...payload, id: Date.now() + Math.random() }
4615
4339
  ]);
4616
4340
  }, []);
4617
- const close = React29.useCallback((id) => {
4341
+ const close = React28.useCallback((id) => {
4618
4342
  setNotifications((prev) => prev.filter((n) => n.id !== id));
4619
4343
  }, []);
4620
4344
  return /* @__PURE__ */ jsxRuntime.jsxs(NotificationContext.Provider, { value: { open, close }, children: [
@@ -4643,7 +4367,7 @@ function NotificationProvider({
4643
4367
  ] });
4644
4368
  }
4645
4369
  function useNotification() {
4646
- const { open } = React29.useContext(NotificationContext);
4370
+ const { open } = React28.useContext(NotificationContext);
4647
4371
  return {
4648
4372
  info: (props) => open({ type: "info", ...props }),
4649
4373
  success: (props) => open({ type: "success", ...props }),
@@ -4760,10 +4484,10 @@ function FadingBase({
4760
4484
  isMounted = false,
4761
4485
  children
4762
4486
  }) {
4763
- const [shouldRender, setShouldRender] = React29.useState(isMounted);
4764
- const [visible, setVisible] = React29.useState(false);
4765
- const timerRef = React29.useRef(null);
4766
- React29.useEffect(() => {
4487
+ const [shouldRender, setShouldRender] = React28.useState(isMounted);
4488
+ const [visible, setVisible] = React28.useState(false);
4489
+ const timerRef = React28.useRef(null);
4490
+ React28.useEffect(() => {
4767
4491
  if (isMounted) {
4768
4492
  setShouldRender(true);
4769
4493
  const rafId = requestAnimationFrame(() => setVisible(true));
@@ -4796,7 +4520,7 @@ var DENSITY_PADDING = {
4796
4520
  "comfortable": "py-2.5 px-3",
4797
4521
  "spacious": "py-3.5 px-4"
4798
4522
  };
4799
- function List3({
4523
+ function List2({
4800
4524
  items,
4801
4525
  onItemClick,
4802
4526
  activeKey,
@@ -4861,8 +4585,8 @@ function ScalableContainer({
4861
4585
  togglePosition = "top-right",
4862
4586
  className = ""
4863
4587
  }) {
4864
- const containerRef = React29.useRef(null);
4865
- const [internalScaled, setInternalScaled] = React29.useState(false);
4588
+ const containerRef = React28.useRef(null);
4589
+ const [internalScaled, setInternalScaled] = React28.useState(false);
4866
4590
  const isScaled = expanded ?? internalScaled;
4867
4591
  const reduced = framerMotion.useReducedMotion();
4868
4592
  const onToggle = () => {
@@ -5000,17 +4724,17 @@ function CatalogGrid({ items, buttonText, onOpen, className = "" }) {
5000
4724
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: `flex flex-wrap gap-2 ${className}`.trim(), children: items.map((item) => /* @__PURE__ */ jsxRuntime.jsx(GridCard, { item, buttonText, onOpen }, item.key)) });
5001
4725
  }
5002
4726
  function CatalogCarousel({ items, buttonText, onOpen, className = "" }) {
5003
- const [activeIndex, setActiveIndex] = React29.useState(0);
5004
- const [indexPool, setIndexPool] = React29.useState([]);
5005
- const cardRefs = React29.useRef([]);
5006
- const getIndexes = React29.useMemo(() => {
4727
+ const [activeIndex, setActiveIndex] = React28.useState(0);
4728
+ const [indexPool, setIndexPool] = React28.useState([]);
4729
+ const cardRefs = React28.useRef([]);
4730
+ const getIndexes = React28.useMemo(() => {
5007
4731
  let nextIndex = activeIndex + 1;
5008
4732
  let previousIndex = activeIndex - 1;
5009
4733
  if (activeIndex === 0) previousIndex = items.length - 1;
5010
4734
  if (activeIndex === items.length - 1) nextIndex = 0;
5011
4735
  return { previousIndex, nextIndex };
5012
4736
  }, [activeIndex, items.length]);
5013
- React29.useEffect(() => {
4737
+ React28.useEffect(() => {
5014
4738
  const { nextIndex, previousIndex } = getIndexes;
5015
4739
  let indexes = [previousIndex, activeIndex, nextIndex];
5016
4740
  if (activeIndex !== 0 && activeIndex !== items.length - 1) {
@@ -5129,7 +4853,7 @@ function renderItem(item) {
5129
4853
  className: ITEM_CLASSNAME,
5130
4854
  children: [
5131
4855
  /* @__PURE__ */ jsxRuntime.jsx(ContextMenuLabel, { icon: item.icon, value: item.value }),
5132
- /* @__PURE__ */ jsxRuntime.jsx(ChevronRight2, {})
4856
+ /* @__PURE__ */ jsxRuntime.jsx(ChevronRight, {})
5133
4857
  ]
5134
4858
  }
5135
4859
  ),
@@ -5162,7 +4886,7 @@ function ContextMenuLabel({ icon, value }) {
5162
4886
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate", children: value })
5163
4887
  ] });
5164
4888
  }
5165
- function ChevronRight2() {
4889
+ function ChevronRight() {
5166
4890
  return /* @__PURE__ */ jsxRuntime.jsx("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, className: "h-4 w-4 flex-shrink-0", "aria-hidden": "true", children: /* @__PURE__ */ jsxRuntime.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M9 5l7 7-7 7" }) });
5167
4891
  }
5168
4892
  function readDismissed(key) {
@@ -5183,8 +4907,8 @@ function writeDismissed(key) {
5183
4907
  }
5184
4908
  }
5185
4909
  function useTargetBbox(ref) {
5186
- const [bbox, setBbox] = React29.useState(null);
5187
- React29.useLayoutEffect(() => {
4910
+ const [bbox, setBbox] = React28.useState(null);
4911
+ React28.useLayoutEffect(() => {
5188
4912
  const el = ref?.current;
5189
4913
  if (!el) {
5190
4914
  setBbox(null);
@@ -5214,7 +4938,7 @@ function tooltipStyleFor(bbox, placement) {
5214
4938
  return { left: bbox.left + bbox.width / 2, top: bbox.top - TOOLTIP_GAP, transform: "translate(-50%, -100%)", width: TOOLTIP_WIDTH };
5215
4939
  }
5216
4940
  function useFocusTrap(containerRef, active) {
5217
- React29.useEffect(() => {
4941
+ React28.useEffect(() => {
5218
4942
  if (!active) return;
5219
4943
  const el = containerRef.current;
5220
4944
  if (!el) return;
@@ -5253,16 +4977,16 @@ function Wizard({
5253
4977
  onComplete,
5254
4978
  onSkip
5255
4979
  }) {
5256
- const tooltipRef = React29.useRef(null);
5257
- const tooltipTitleId = React29.useId();
5258
- const tooltipBodyId = React29.useId();
4980
+ const tooltipRef = React28.useRef(null);
4981
+ const tooltipTitleId = React28.useId();
4982
+ const tooltipBodyId = React28.useId();
5259
4983
  const reduced = framerMotion.useReducedMotion();
5260
- const [open, setOpen] = React29.useState(() => steps.length > 0 && !readDismissed(storageKey));
5261
- const [activeIndex, setActiveIndex] = React29.useState(0);
4984
+ const [open, setOpen] = React28.useState(() => steps.length > 0 && !readDismissed(storageKey));
4985
+ const [activeIndex, setActiveIndex] = React28.useState(0);
5262
4986
  const step = steps[activeIndex];
5263
4987
  const bbox = useTargetBbox(step?.stepRef);
5264
4988
  useFocusTrap(tooltipRef, open);
5265
- React29.useEffect(() => {
4989
+ React28.useEffect(() => {
5266
4990
  if (!open || !dismissible) return;
5267
4991
  const onKey = (e) => {
5268
4992
  if (e.key === "Escape") {
@@ -5273,12 +4997,12 @@ function Wizard({
5273
4997
  document.addEventListener("keydown", onKey);
5274
4998
  return () => document.removeEventListener("keydown", onKey);
5275
4999
  }, [open, dismissible]);
5276
- const handleSkip = React29.useCallback(() => {
5000
+ const handleSkip = React28.useCallback(() => {
5277
5001
  writeDismissed(storageKey);
5278
5002
  setOpen(false);
5279
5003
  onSkip?.();
5280
5004
  }, [storageKey, onSkip]);
5281
- const handleComplete = React29.useCallback(() => {
5005
+ const handleComplete = React28.useCallback(() => {
5282
5006
  writeDismissed(storageKey);
5283
5007
  setOpen(false);
5284
5008
  onComplete?.();
@@ -5421,7 +5145,7 @@ function Wizard({
5421
5145
  ] });
5422
5146
  }
5423
5147
  var SearchIcon = /* @__PURE__ */ jsxRuntime.jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "currentColor", className: "w-4 h-4", "aria-hidden": "true", children: /* @__PURE__ */ jsxRuntime.jsx("path", { fillRule: "evenodd", d: "M10.5 3.75a6.75 6.75 0 100 13.5 6.75 6.75 0 000-13.5zM2.25 10.5a8.25 8.25 0 1114.59 5.28l4.69 4.69a.75.75 0 11-1.06 1.06l-4.69-4.69A8.25 8.25 0 012.25 10.5z", clipRule: "evenodd" }) });
5424
- var SearchInput = React29__default.default.forwardRef(function SearchInput2({ value, onChange, disabled, label, htmlFor, placeholder, name, inputStyle, style, layout = "vertical", size = "md", icon, helperText, className }, ref) {
5148
+ var SearchInput = React28__default.default.forwardRef(function SearchInput2({ value, onChange, disabled, label, htmlFor, placeholder, name, inputStyle, style, layout = "vertical", size = "md", icon, helperText, className }, ref) {
5425
5149
  return /* @__PURE__ */ jsxRuntime.jsx(Field, { className, label, htmlFor, layout, helperText, children: /* @__PURE__ */ jsxRuntime.jsxs(
5426
5150
  "div",
5427
5151
  {
@@ -5605,7 +5329,7 @@ function TableBody({
5605
5329
  expandRow,
5606
5330
  getRowKey
5607
5331
  }) {
5608
- const [expanded, setExpanded] = React29.useState(() => /* @__PURE__ */ new Set());
5332
+ const [expanded, setExpanded] = React28.useState(() => /* @__PURE__ */ new Set());
5609
5333
  const reduced = framerMotion.useReducedMotion();
5610
5334
  const toggleRow = (rowKey) => {
5611
5335
  setExpanded((prev) => {
@@ -5620,7 +5344,7 @@ function TableBody({
5620
5344
  return /* @__PURE__ */ jsxRuntime.jsx("tbody", { children: rows.map((row, i) => {
5621
5345
  const rowKey = getRowKey(row, i);
5622
5346
  const isExpanded = expanded.has(rowKey);
5623
- return /* @__PURE__ */ jsxRuntime.jsxs(React29__default.default.Fragment, { children: [
5347
+ return /* @__PURE__ */ jsxRuntime.jsxs(React28__default.default.Fragment, { children: [
5624
5348
  /* @__PURE__ */ jsxRuntime.jsxs(
5625
5349
  "tr",
5626
5350
  {
@@ -5676,9 +5400,9 @@ function Pagination({
5676
5400
  const matchedOption = picker.find(
5677
5401
  (o) => o.label === options.perPage || o.value === options.perPage
5678
5402
  );
5679
- const [perPageKey, setPerPageKey] = React29.useState(() => matchedOption?.key ?? picker[0]?.key);
5403
+ const [perPageKey, setPerPageKey] = React28.useState(() => matchedOption?.key ?? picker[0]?.key);
5680
5404
  const displayPerPageKey = serverSide ? matchedOption?.key ?? perPageKey : perPageKey;
5681
- React29.useEffect(() => {
5405
+ React28.useEffect(() => {
5682
5406
  if (serverSide && options.perPage != null) {
5683
5407
  const next = picker.find((o) => o.label === options.perPage || o.value === options.perPage);
5684
5408
  if (next) setPerPageKey(next.key);
@@ -5728,7 +5452,7 @@ function Pagination({
5728
5452
  ] })
5729
5453
  ] });
5730
5454
  }
5731
- function Table2({
5455
+ function Table({
5732
5456
  columns = [],
5733
5457
  rows = [],
5734
5458
  getRowKey = defaultGetRowKey,
@@ -5742,14 +5466,14 @@ function Table2({
5742
5466
  className = "",
5743
5467
  style
5744
5468
  }) {
5745
- const searchRef = React29.useRef(null);
5746
- const [searchTerm, setSearchTerm] = React29.useState("");
5747
- const [perPage, setPerPage] = React29.useState(
5469
+ const searchRef = React28.useRef(null);
5470
+ const [searchTerm, setSearchTerm] = React28.useState("");
5471
+ const [perPage, setPerPage] = React28.useState(
5748
5472
  typeof pagination.perPage === "number" ? pagination.perPage : 15
5749
5473
  );
5750
- const [activePage, setActivePage] = React29.useState(0);
5474
+ const [activePage, setActivePage] = React28.useState(0);
5751
5475
  const isServerSide = !!(pagination.enabled && pagination.serverSide);
5752
- const filteredRows = React29.useMemo(() => {
5476
+ const filteredRows = React28.useMemo(() => {
5753
5477
  if (isServerSide || !searchTerm) return rows;
5754
5478
  const term = searchTerm.toLowerCase();
5755
5479
  return rows.filter(
@@ -5758,29 +5482,29 @@ function Table2({
5758
5482
  )
5759
5483
  );
5760
5484
  }, [rows, searchTerm, isServerSide]);
5761
- const datasets = React29.useMemo(() => {
5485
+ const datasets = React28.useMemo(() => {
5762
5486
  if (isServerSide) return [rows];
5763
5487
  return createDatasets(filteredRows, pagination.enabled ? perPage : null);
5764
5488
  }, [filteredRows, perPage, pagination.enabled, isServerSide, rows]);
5765
- const MAX_PAGE = React29.useMemo(() => {
5489
+ const MAX_PAGE = React28.useMemo(() => {
5766
5490
  if (isServerSide && typeof pagination.maxPage === "number") return Math.max(0, pagination.maxPage);
5767
5491
  if (isServerSide && typeof pagination.totalCount === "number")
5768
5492
  return Math.max(0, Math.ceil(pagination.totalCount / perPage) - 1);
5769
5493
  return datasets.length ? datasets.length - 1 : 0;
5770
5494
  }, [isServerSide, pagination.maxPage, pagination.totalCount, perPage, datasets.length]);
5771
- const currentPageRows = React29.useMemo(() => {
5495
+ const currentPageRows = React28.useMemo(() => {
5772
5496
  if (isServerSide) return rows;
5773
5497
  return datasets[activePage] ?? [];
5774
5498
  }, [isServerSide, rows, datasets, activePage]);
5775
- React29.useEffect(() => {
5499
+ React28.useEffect(() => {
5776
5500
  if (pagination.enabled && !isServerSide && typeof pagination.perPage === "number") {
5777
5501
  setPerPage(pagination.perPage);
5778
5502
  }
5779
5503
  }, [pagination.enabled, pagination.perPage, isServerSide]);
5780
- React29.useEffect(() => {
5504
+ React28.useEffect(() => {
5781
5505
  if (isServerSide && typeof pagination.perPage === "number") setPerPage(pagination.perPage);
5782
5506
  }, [isServerSide, pagination.perPage]);
5783
- React29.useEffect(() => {
5507
+ React28.useEffect(() => {
5784
5508
  if (isServerSide && typeof pagination.page === "number" && pagination.page >= 1)
5785
5509
  setActivePage(pagination.page - 1);
5786
5510
  }, [isServerSide, pagination.page]);
@@ -5864,7 +5588,7 @@ function TableSkeletonBody({
5864
5588
  )) });
5865
5589
  }
5866
5590
  function ThemeSwitch({ checked, onChange, label = "Toggle dark mode", className = "" }) {
5867
- const id = React29.useId();
5591
+ const id = React28.useId();
5868
5592
  return /* @__PURE__ */ jsxRuntime.jsx("label", { htmlFor: id, className: `flex items-center gap-2 cursor-pointer select-none ${className}`.trim(), children: /* @__PURE__ */ jsxRuntime.jsx(
5869
5593
  SwitchPrimitive__namespace.Root,
5870
5594
  {
@@ -6048,7 +5772,7 @@ function Sidebar({
6048
5772
  }
6049
5773
  ) });
6050
5774
  }
6051
- var MegaMenuContext = React29.createContext({ align: "start" });
5775
+ var MegaMenuContext = React28.createContext({ align: "start" });
6052
5776
  function MegaMenu({
6053
5777
  children,
6054
5778
  align = "start",
@@ -6079,7 +5803,7 @@ function MegaMenu({
6079
5803
  }
6080
5804
  var TOP_ITEM = "group/top inline-flex items-center gap-1.5 h-10 px-3 rounded-md text-sm font-medium select-none text-foreground-secondary hover:text-foreground hover:bg-surface-raised data-[state=open]:text-accent data-[active]:text-accent transition-colors focus:outline-none focus-visible:ring-2 focus-visible:ring-accent";
6081
5805
  function MegaMenuItem({ label, icon, href, children, className = "" }) {
6082
- const { align } = React29.useContext(MegaMenuContext);
5806
+ const { align } = React28.useContext(MegaMenuContext);
6083
5807
  const pos = align === "center" ? "left-1/2 -translate-x-1/2" : align === "end" ? "right-0" : "left-0";
6084
5808
  if (!children) {
6085
5809
  return /* @__PURE__ */ jsxRuntime.jsx(NavigationMenu__namespace.Item, { children: /* @__PURE__ */ jsxRuntime.jsxs(NavigationMenu__namespace.Link, { href, className: [TOP_ITEM, className].filter(Boolean).join(" "), children: [
@@ -6164,8 +5888,8 @@ function MegaMenuLink({ href, icon, description, active, onClick, children, clas
6164
5888
  function MegaMenuFeatured({ children, className = "" }) {
6165
5889
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: ["min-w-0 rounded-lg bg-surface-raised border border-border p-4 flex flex-col", className].filter(Boolean).join(" "), children });
6166
5890
  }
6167
- var elementsOfType = (children, type) => React29__default.default.Children.toArray(children).filter(
6168
- (c) => React29__default.default.isValidElement(c) && c.type === type
5891
+ var elementsOfType = (children, type) => React28__default.default.Children.toArray(children).filter(
5892
+ (c) => React28__default.default.isValidElement(c) && c.type === type
6169
5893
  );
6170
5894
  var MOBILE_CHEVRON = /* @__PURE__ */ jsxRuntime.jsx(
6171
5895
  "svg",
@@ -6202,9 +5926,9 @@ function MobileLinkRow({ link, onNavigate }) {
6202
5926
  );
6203
5927
  }
6204
5928
  function MobilePanel({ panel, onNavigate }) {
6205
- const nodes = React29__default.default.Children.toArray(panel.props.children);
5929
+ const nodes = React28__default.default.Children.toArray(panel.props.children);
6206
5930
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col gap-4 px-2 pb-3 pt-1", children: nodes.map((node, i) => {
6207
- if (!React29__default.default.isValidElement(node)) return null;
5931
+ if (!React28__default.default.isValidElement(node)) return null;
6208
5932
  const el = node;
6209
5933
  if (el.type === MegaMenuSection) {
6210
5934
  const { title, children } = el.props;
@@ -6223,8 +5947,8 @@ function MegaMenuMobile({
6223
5947
  children,
6224
5948
  label
6225
5949
  }) {
6226
- const [open, setOpen] = React29.useState(false);
6227
- const [expanded, setExpanded] = React29.useState(null);
5950
+ const [open, setOpen] = React28.useState(false);
5951
+ const [expanded, setExpanded] = React28.useState(null);
6228
5952
  const items = elementsOfType(children, MegaMenuItem);
6229
5953
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "md:hidden w-full", children: [
6230
5954
  /* @__PURE__ */ jsxRuntime.jsxs(
@@ -6297,17 +6021,17 @@ function AppShell({
6297
6021
  children,
6298
6022
  className = ""
6299
6023
  }) {
6300
- const [expanded, setExpanded] = React29.useState(sidebarDefaultExpanded);
6301
- const [isMobile, setIsMobile] = React29.useState(false);
6302
- const [mobileOpen, setMobileOpen] = React29.useState(false);
6303
- React29.useEffect(() => {
6024
+ const [expanded, setExpanded] = React28.useState(sidebarDefaultExpanded);
6025
+ const [isMobile, setIsMobile] = React28.useState(false);
6026
+ const [mobileOpen, setMobileOpen] = React28.useState(false);
6027
+ React28.useEffect(() => {
6304
6028
  const mq = window.matchMedia("(max-width: 767px)");
6305
6029
  const update = (e) => setIsMobile(e.matches);
6306
6030
  update(mq);
6307
6031
  mq.addEventListener("change", update);
6308
6032
  return () => mq.removeEventListener("change", update);
6309
6033
  }, []);
6310
- React29.useEffect(() => {
6034
+ React28.useEffect(() => {
6311
6035
  if (!isMobile) setMobileOpen(false);
6312
6036
  }, [isMobile]);
6313
6037
  const hasSidebar = sidebarSections.length > 0;
@@ -6414,7 +6138,7 @@ function tokenValid(token) {
6414
6138
  return exp * 1e3 > Date.now();
6415
6139
  }
6416
6140
  var has = (have, need, all) => all ? need.every((n) => have?.includes(n)) : need.some((n) => have?.includes(n));
6417
- var Spinner4 = () => /* @__PURE__ */ jsxRuntime.jsx("svg", { viewBox: "0 0 24 24", fill: "currentColor", "aria-hidden": "true", className: "h-6 w-6 animate-spin text-accent", children: /* @__PURE__ */ jsxRuntime.jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M4.755 10.059a7.5 7.5 0 0112.548-3.364l1.903 1.903h-3.183a.75.75 0 100 1.5h4.992a.75.75 0 00.75-.75V4.356a.75.75 0 00-1.5 0v3.18l-1.9-1.9A9 9 0 003.306 9.67a.75.75 0 101.45.388zm15.408 3.352a.75.75 0 00-.919.53 7.5 7.5 0 01-12.548 3.364l-1.902-1.903h3.183a.75.75 0 000-1.5H2.984a.75.75 0 00-.75.75v4.992a.75.75 0 001.5 0v-3.18l1.9 1.9a9 9 0 0015.059-4.035.75.75 0 00-.53-.918z" }) });
6141
+ var Spinner3 = () => /* @__PURE__ */ jsxRuntime.jsx("svg", { viewBox: "0 0 24 24", fill: "currentColor", "aria-hidden": "true", className: "h-6 w-6 animate-spin text-accent", children: /* @__PURE__ */ jsxRuntime.jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M4.755 10.059a7.5 7.5 0 0112.548-3.364l1.903 1.903h-3.183a.75.75 0 100 1.5h4.992a.75.75 0 00.75-.75V4.356a.75.75 0 00-1.5 0v3.18l-1.9-1.9A9 9 0 003.306 9.67a.75.75 0 101.45.388zm15.408 3.352a.75.75 0 00-.919.53 7.5 7.5 0 01-12.548 3.364l-1.902-1.903h3.183a.75.75 0 000-1.5H2.984a.75.75 0 00-.75.75v4.992a.75.75 0 001.5 0v-3.18l1.9 1.9a9 9 0 0015.059-4.035.75.75 0 00-.53-.918z" }) });
6418
6142
  function SecureLayout({
6419
6143
  children,
6420
6144
  isAuthenticated,
@@ -6434,7 +6158,7 @@ function SecureLayout({
6434
6158
  className = ""
6435
6159
  }) {
6436
6160
  const reduced = framerMotion.useReducedMotion();
6437
- const cbs = React29.useRef({ canAccess, onGranted, onDeny });
6161
+ const cbs = React28.useRef({ canAccess, onGranted, onDeny });
6438
6162
  cbs.current = { canAccess, onGranted, onDeny };
6439
6163
  const rolesKey = JSON.stringify(roles);
6440
6164
  const requiredRolesKey = JSON.stringify(requiredRoles);
@@ -6449,10 +6173,10 @@ function SecureLayout({
6449
6173
  if (requiredPermissions?.length && !has(permissions, requiredPermissions, requireAllPermissions)) return false;
6450
6174
  return true;
6451
6175
  };
6452
- const [state, setState] = React29.useState(
6176
+ const [state, setState] = React28.useState(
6453
6177
  () => !passesSync() ? "denied" : canAccess ? "checking" : "granted"
6454
6178
  );
6455
- React29.useEffect(() => {
6179
+ React28.useEffect(() => {
6456
6180
  let cancelled = false;
6457
6181
  const { canAccess: check, onGranted: granted, onDeny: deny } = cbs.current;
6458
6182
  const finish = (ok) => {
@@ -6490,7 +6214,7 @@ function SecureLayout({
6490
6214
  ]);
6491
6215
  if (state === "checking") {
6492
6216
  if (loadingFallback === null) return null;
6493
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: ["flex min-h-[8rem] items-center justify-center", className].filter(Boolean).join(" "), children: loadingFallback !== void 0 ? loadingFallback : /* @__PURE__ */ jsxRuntime.jsx(Spinner4, {}) });
6217
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: ["flex min-h-[8rem] items-center justify-center", className].filter(Boolean).join(" "), children: loadingFallback !== void 0 ? loadingFallback : /* @__PURE__ */ jsxRuntime.jsx(Spinner3, {}) });
6494
6218
  }
6495
6219
  if (state === "denied") {
6496
6220
  if (fallback === null) return null;
@@ -6613,10 +6337,10 @@ function ThemeProvider({
6613
6337
  className = "",
6614
6338
  style
6615
6339
  }) {
6616
- const id = React29__default.default.useId().replace(/:/g, "");
6340
+ const id = React28__default.default.useId().replace(/:/g, "");
6617
6341
  const scopeClass = `geo-th-${id}`;
6618
- const divRef = React29.useRef(null);
6619
- React29.useEffect(() => {
6342
+ const divRef = React28.useRef(null);
6343
+ React28.useEffect(() => {
6620
6344
  const el = divRef.current;
6621
6345
  if (!el) return;
6622
6346
  if (colorScheme === "auto") return;
@@ -6631,8 +6355,8 @@ function ThemeProvider({
6631
6355
  }
6632
6356
  el.classList.toggle("dark", colorScheme === "dark");
6633
6357
  }, [colorScheme]);
6634
- const lightVars = React29.useMemo(() => toCssVars(theme), [theme]);
6635
- const darkVarStr = React29.useMemo(() => {
6358
+ const lightVars = React28.useMemo(() => toCssVars(theme), [theme]);
6359
+ const darkVarStr = React28.useMemo(() => {
6636
6360
  if (!darkTheme) return "";
6637
6361
  const dvars = toCssVars(darkTheme);
6638
6362
  if (!Object.keys(dvars).length) return "";
@@ -6674,7 +6398,7 @@ function NumberInput({
6674
6398
  readOnly = false,
6675
6399
  precision
6676
6400
  }) {
6677
- const errorId = React29.useId();
6401
+ const errorId = React28.useId();
6678
6402
  const hasError = errorMessage != null;
6679
6403
  const inferredPrecision = precision ?? (Number.isInteger(step) ? 0 : String(step).split(".")[1]?.length ?? 0);
6680
6404
  const round = (n) => {
@@ -6805,8 +6529,8 @@ function Password({
6805
6529
  showIcon,
6806
6530
  hideIcon
6807
6531
  }) {
6808
- const [visible, setVisible] = React29.useState(false);
6809
- const errorId = React29.useId();
6532
+ const [visible, setVisible] = React28.useState(false);
6533
+ const errorId = React28.useId();
6810
6534
  const hasError = errorMessage != null;
6811
6535
  return /* @__PURE__ */ jsxRuntime.jsx(
6812
6536
  Field,
@@ -6879,7 +6603,7 @@ function Checkbox({
6879
6603
  }) {
6880
6604
  const isChecked = checked ?? value ?? false;
6881
6605
  const labelFirst = labelPosition === "left";
6882
- const errorId = React29.useId();
6606
+ const errorId = React28.useId();
6883
6607
  const hasError = errorMessage != null;
6884
6608
  const box = /* @__PURE__ */ jsxRuntime.jsx(
6885
6609
  CheckboxPrimitive__namespace.Root,
@@ -6987,8 +6711,8 @@ function RadioGroup({
6987
6711
  className,
6988
6712
  errorMessage
6989
6713
  }) {
6990
- const errorId = React29.useId();
6991
- const groupId = React29.useId();
6714
+ const errorId = React28.useId();
6715
+ const groupId = React28.useId();
6992
6716
  const hasError = errorMessage != null;
6993
6717
  const labelFirst = labelPosition === "left";
6994
6718
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -7088,11 +6812,11 @@ function Switch({
7088
6812
  disabled,
7089
6813
  errorMessage
7090
6814
  }) {
7091
- const id = React29.useId();
7092
- const errorId = React29.useId();
6815
+ const id = React28.useId();
6816
+ const errorId = React28.useId();
7093
6817
  const hasError = errorMessage != null;
7094
6818
  const isControlled = checked !== void 0;
7095
- const [internal, setInternal] = React29.useState(defaultChecked);
6819
+ const [internal, setInternal] = React28.useState(defaultChecked);
7096
6820
  const isOn = isControlled ? checked : internal;
7097
6821
  const handle = (c) => {
7098
6822
  if (!isControlled) setInternal(c);
@@ -7143,7 +6867,7 @@ function Switch({
7143
6867
  }
7144
6868
  );
7145
6869
  }
7146
- function Tag2({ children, onRemove, removeLabel, disabled }) {
6870
+ function Tag({ children, onRemove, removeLabel, disabled }) {
7147
6871
  return /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "inline-flex items-center gap-1 rounded-md border border-border bg-surface-raised text-foreground text-xs pl-2 pr-1 py-0.5 max-w-full", children: [
7148
6872
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate", children }),
7149
6873
  onRemove && /* @__PURE__ */ jsxRuntime.jsx(
@@ -7168,11 +6892,11 @@ function MultiTagRow({
7168
6892
  labelFor,
7169
6893
  onRemove
7170
6894
  }) {
7171
- const wrapRef = React29.useRef(null);
7172
- const measureRef = React29.useRef(null);
7173
- const [visibleCount, setVisibleCount] = React29.useState(values.length);
6895
+ const wrapRef = React28.useRef(null);
6896
+ const measureRef = React28.useRef(null);
6897
+ const [visibleCount, setVisibleCount] = React28.useState(values.length);
7174
6898
  const key = values.map(String).join("|");
7175
- React29.useLayoutEffect(() => {
6899
+ React28.useLayoutEffect(() => {
7176
6900
  const wrap = wrapRef.current;
7177
6901
  const measure = measureRef.current;
7178
6902
  if (!wrap || !measure) return;
@@ -7227,14 +6951,14 @@ function MultiTagRow({
7227
6951
  className: "absolute invisible pointer-events-none flex flex-nowrap items-center gap-1.5",
7228
6952
  style: { left: -9999, top: -9999 },
7229
6953
  children: [
7230
- values.map((val) => /* @__PURE__ */ jsxRuntime.jsx("span", { "data-mt": true, children: /* @__PURE__ */ jsxRuntime.jsx(Tag2, { removeLabel: "x", onRemove: () => {
6954
+ values.map((val) => /* @__PURE__ */ jsxRuntime.jsx("span", { "data-mt": true, children: /* @__PURE__ */ jsxRuntime.jsx(Tag, { removeLabel: "x", onRemove: () => {
7231
6955
  }, children: labelFor(val) }) }, `m-${val}`)),
7232
6956
  /* @__PURE__ */ jsxRuntime.jsx("span", { "data-mm": true, children: moreChip(values.length) })
7233
6957
  ]
7234
6958
  }
7235
6959
  ),
7236
6960
  values.slice(0, visibleCount).map((val) => /* @__PURE__ */ jsxRuntime.jsx(
7237
- Tag2,
6961
+ Tag,
7238
6962
  {
7239
6963
  disabled,
7240
6964
  removeLabel: `Remove ${labelFor(val)}`,
@@ -7266,16 +6990,16 @@ function Dropdown({
7266
6990
  size = "md",
7267
6991
  className = ""
7268
6992
  }) {
7269
- const [open, setOpen] = React29.useState(false);
7270
- const [selectedItems, setSelectedItems] = React29.useState([]);
7271
- const [searchTerm, setSearchTerm] = React29.useState("");
7272
- const [innerItems, setInnerItems] = React29.useState([]);
7273
- const errorId = React29.useId();
6993
+ const [open, setOpen] = React28.useState(false);
6994
+ const [selectedItems, setSelectedItems] = React28.useState([]);
6995
+ const [searchTerm, setSearchTerm] = React28.useState("");
6996
+ const [innerItems, setInnerItems] = React28.useState([]);
6997
+ const errorId = React28.useId();
7274
6998
  const hasError = errorMessage != null;
7275
- React29.useEffect(() => {
6999
+ React28.useEffect(() => {
7276
7000
  setInnerItems(items);
7277
7001
  }, [items]);
7278
- React29.useEffect(() => {
7002
+ React28.useEffect(() => {
7279
7003
  if (isMultiselect && Array.isArray(value)) {
7280
7004
  setSelectedItems(value);
7281
7005
  }
@@ -7359,7 +7083,7 @@ function Dropdown({
7359
7083
  onRemove: removeSelected
7360
7084
  }
7361
7085
  ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-1 min-w-0 flex items-center overflow-hidden", children: /* @__PURE__ */ jsxRuntime.jsx(
7362
- Tag2,
7086
+ Tag,
7363
7087
  {
7364
7088
  disabled,
7365
7089
  removeLabel: `Remove ${labelFor(value)}`,
@@ -7467,19 +7191,19 @@ function AutoComplete({
7467
7191
  required,
7468
7192
  htmlFor
7469
7193
  }) {
7470
- const errorId = React29.useId();
7194
+ const errorId = React28.useId();
7471
7195
  const hasError = errorMessage != null;
7472
- const [term, setTerm] = React29.useState("");
7473
- const [open, setOpen] = React29.useState(false);
7474
- const [asyncItems, setAsyncItems] = React29.useState([]);
7475
- const [loading, setLoading] = React29.useState(false);
7196
+ const [term, setTerm] = React28.useState("");
7197
+ const [open, setOpen] = React28.useState(false);
7198
+ const [asyncItems, setAsyncItems] = React28.useState([]);
7199
+ const [loading, setLoading] = React28.useState(false);
7476
7200
  const isAsync = typeof onSearch === "function";
7477
- const debounceRef = React29.useRef(null);
7478
- const requestIdRef = React29.useRef(0);
7201
+ const debounceRef = React28.useRef(null);
7202
+ const requestIdRef = React28.useRef(0);
7479
7203
  const staticFiltered = isAsync || !items ? [] : term.trim() ? items.filter(
7480
7204
  ({ key, label: label2 }) => label2.toLowerCase().includes(term.toLowerCase()) || key.toLowerCase().includes(term.toLowerCase())
7481
7205
  ) : [];
7482
- React29.useEffect(() => {
7206
+ React28.useEffect(() => {
7483
7207
  if (!isAsync) return;
7484
7208
  if (debounceRef.current) clearTimeout(debounceRef.current);
7485
7209
  if (!term.trim()) {
@@ -7635,15 +7359,15 @@ function TreeSelect({
7635
7359
  defaultExpandedKeys = [],
7636
7360
  size = "md"
7637
7361
  }) {
7638
- const errorId = React29.useId();
7362
+ const errorId = React28.useId();
7639
7363
  const hasError = errorMessage != null;
7640
- const [open, setOpen] = React29.useState(false);
7641
- const [expanded, setExpanded] = React29.useState(() => new Set(defaultExpandedKeys));
7642
- const [activeIndex, setActiveIndex] = React29.useState(0);
7643
- const listRef = React29.useRef(null);
7644
- const visible = React29.useMemo(() => flattenVisible(items, expanded), [items, expanded]);
7645
- const didSyncOnOpenRef = React29.useRef(false);
7646
- React29.useEffect(() => {
7364
+ const [open, setOpen] = React28.useState(false);
7365
+ const [expanded, setExpanded] = React28.useState(() => new Set(defaultExpandedKeys));
7366
+ const [activeIndex, setActiveIndex] = React28.useState(0);
7367
+ const listRef = React28.useRef(null);
7368
+ const visible = React28.useMemo(() => flattenVisible(items, expanded), [items, expanded]);
7369
+ const didSyncOnOpenRef = React28.useRef(false);
7370
+ React28.useEffect(() => {
7647
7371
  if (!open) {
7648
7372
  didSyncOnOpenRef.current = false;
7649
7373
  return;
@@ -7653,7 +7377,7 @@ function TreeSelect({
7653
7377
  setActiveIndex(selectedIdx >= 0 ? selectedIdx : 0);
7654
7378
  didSyncOnOpenRef.current = true;
7655
7379
  }, [open, value]);
7656
- const selectedNode = React29.useMemo(
7380
+ const selectedNode = React28.useMemo(
7657
7381
  () => value != null ? findNodeByKey(items, value) : null,
7658
7382
  [items, value]
7659
7383
  );
@@ -7884,11 +7608,11 @@ function FileInput({
7884
7608
  required,
7885
7609
  icon
7886
7610
  }) {
7887
- const inputRef = React29.useRef(null);
7888
- const errorId = React29.useId();
7889
- const [files, setFiles] = React29.useState([]);
7890
- const [dragging, setDragging] = React29.useState(false);
7891
- const [sizeError, setSizeError] = React29.useState(null);
7611
+ const inputRef = React28.useRef(null);
7612
+ const errorId = React28.useId();
7613
+ const [files, setFiles] = React28.useState([]);
7614
+ const [dragging, setDragging] = React28.useState(false);
7615
+ const [sizeError, setSizeError] = React28.useState(null);
7892
7616
  const effectiveError = errorMessage ?? sizeError ?? void 0;
7893
7617
  const openPicker = () => {
7894
7618
  if (!disabled) inputRef.current?.click();
@@ -8079,30 +7803,30 @@ function DatePicker({
8079
7803
  size = "md",
8080
7804
  className = ""
8081
7805
  }) {
8082
- const errorId = React29.useId();
7806
+ const errorId = React28.useId();
8083
7807
  const hasError = errorMessage != null;
8084
- const [open, setOpen] = React29.useState(false);
8085
- const [viewMonth, setViewMonth] = React29.useState(() => startOfMonth2(value ?? /* @__PURE__ */ new Date()));
8086
- const [focusDate, setFocusDate] = React29.useState(() => value ?? /* @__PURE__ */ new Date());
8087
- const [view, setView] = React29.useState("days");
8088
- const gridRef = React29.useRef(null);
8089
- React29.useEffect(() => {
7808
+ const [open, setOpen] = React28.useState(false);
7809
+ const [viewMonth, setViewMonth] = React28.useState(() => startOfMonth2(value ?? /* @__PURE__ */ new Date()));
7810
+ const [focusDate, setFocusDate] = React28.useState(() => value ?? /* @__PURE__ */ new Date());
7811
+ const [view, setView] = React28.useState("days");
7812
+ const gridRef = React28.useRef(null);
7813
+ React28.useEffect(() => {
8090
7814
  if (!open) return;
8091
7815
  const target = value ?? /* @__PURE__ */ new Date();
8092
7816
  setViewMonth(startOfMonth2(target));
8093
7817
  setFocusDate(target);
8094
7818
  setView("days");
8095
7819
  }, [open, value]);
8096
- React29.useEffect(() => {
7820
+ React28.useEffect(() => {
8097
7821
  if (!open) return;
8098
7822
  const cell = gridRef.current?.querySelector(`[data-day="${defaultFormat3(focusDate)}"]`);
8099
7823
  cell?.focus();
8100
7824
  }, [open, focusDate]);
8101
- const weekdays = React29.useMemo(() => {
7825
+ const weekdays = React28.useMemo(() => {
8102
7826
  const ordered = WEEKDAY_SHORT.slice(weekStartsOn).concat(WEEKDAY_SHORT.slice(0, weekStartsOn));
8103
7827
  return ordered;
8104
7828
  }, [weekStartsOn]);
8105
- const grid = React29.useMemo(() => buildGrid(viewMonth, weekStartsOn), [viewMonth, weekStartsOn]);
7829
+ const grid = React28.useMemo(() => buildGrid(viewMonth, weekStartsOn), [viewMonth, weekStartsOn]);
8106
7830
  const isDisabled = (d) => {
8107
7831
  if (min && d < min) return true;
8108
7832
  if (max && d > max) return true;
@@ -8211,7 +7935,7 @@ function DatePicker({
8211
7935
  },
8212
7936
  "aria-label": view === "days" ? "Previous month" : view === "months" ? "Previous year" : "Previous decade",
8213
7937
  className: "w-7 h-7 inline-flex items-center justify-center rounded-md hover:bg-surface-raised focus:outline-none focus-visible:ring-2 focus-visible:ring-accent transition-colors",
8214
- children: /* @__PURE__ */ jsxRuntime.jsx(ChevronLeft2, {})
7938
+ children: /* @__PURE__ */ jsxRuntime.jsx(ChevronLeft, {})
8215
7939
  }
8216
7940
  ),
8217
7941
  /* @__PURE__ */ jsxRuntime.jsxs(
@@ -8246,7 +7970,7 @@ function DatePicker({
8246
7970
  },
8247
7971
  "aria-label": view === "days" ? "Next month" : view === "months" ? "Next year" : "Next decade",
8248
7972
  className: "w-7 h-7 inline-flex items-center justify-center rounded-md hover:bg-surface-raised focus:outline-none focus-visible:ring-2 focus-visible:ring-accent transition-colors",
8249
- children: /* @__PURE__ */ jsxRuntime.jsx(ChevronRight3, {})
7973
+ children: /* @__PURE__ */ jsxRuntime.jsx(ChevronRight2, {})
8250
7974
  }
8251
7975
  )
8252
7976
  ] }),
@@ -8361,10 +8085,10 @@ function CalendarIcon() {
8361
8085
  /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M3 9h18M8 3v4M16 3v4", strokeLinecap: "round" })
8362
8086
  ] });
8363
8087
  }
8364
- function ChevronLeft2() {
8088
+ function ChevronLeft() {
8365
8089
  return /* @__PURE__ */ jsxRuntime.jsx("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, className: "w-4 h-4", "aria-hidden": "true", children: /* @__PURE__ */ jsxRuntime.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M15 19l-7-7 7-7" }) });
8366
8090
  }
8367
- function ChevronRight3() {
8091
+ function ChevronRight2() {
8368
8092
  return /* @__PURE__ */ jsxRuntime.jsx("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, className: "w-4 h-4", "aria-hidden": "true", children: /* @__PURE__ */ jsxRuntime.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M9 5l7 7-7 7" }) });
8369
8093
  }
8370
8094
  var LINE_HEIGHT_PX = 21;
@@ -8392,10 +8116,10 @@ function TextArea({
8392
8116
  style,
8393
8117
  inputStyle
8394
8118
  }) {
8395
- const errorId = React29.useId();
8119
+ const errorId = React28.useId();
8396
8120
  const hasError = errorMessage != null;
8397
- const ref = React29.useRef(null);
8398
- React29.useLayoutEffect(() => {
8121
+ const ref = React28.useRef(null);
8122
+ React28.useLayoutEffect(() => {
8399
8123
  if (!autoGrow) return;
8400
8124
  const el = ref.current;
8401
8125
  if (!el) return;
@@ -8467,14 +8191,14 @@ function Slider({
8467
8191
  name,
8468
8192
  htmlFor
8469
8193
  }) {
8470
- const errorId = React29.useId();
8194
+ const errorId = React28.useId();
8471
8195
  const hasError = errorMessage != null;
8472
8196
  const isRange = Array.isArray(value ?? defaultValue);
8473
- const [internal, setInternal] = React29.useState(
8197
+ const [internal, setInternal] = React28.useState(
8474
8198
  () => toArray(value) ?? toArray(defaultValue) ?? [min]
8475
8199
  );
8476
8200
  const current = toArray(value) ?? internal;
8477
- const [dragging, setDragging] = React29.useState(false);
8201
+ const [dragging, setDragging] = React28.useState(false);
8478
8202
  const emit = (arr) => {
8479
8203
  setInternal(arr);
8480
8204
  const next = isRange ? [arr[0], arr[1]] : arr[0];
@@ -8569,11 +8293,11 @@ function TagsInput({
8569
8293
  validate,
8570
8294
  separators = ["Enter", ","]
8571
8295
  }) {
8572
- const errorId = React29.useId();
8573
- const inputRef = React29.useRef(null);
8574
- const [internal, setInternal] = React29.useState(defaultValue ?? []);
8575
- const [draft, setDraft] = React29.useState("");
8576
- const [localError, setLocalError] = React29.useState(null);
8296
+ const errorId = React28.useId();
8297
+ const inputRef = React28.useRef(null);
8298
+ const [internal, setInternal] = React28.useState(defaultValue ?? []);
8299
+ const [draft, setDraft] = React28.useState("");
8300
+ const [localError, setLocalError] = React28.useState(null);
8577
8301
  const tags = value ?? internal;
8578
8302
  const hasError = errorMessage != null || localError != null;
8579
8303
  const errorText = errorMessage ?? localError ?? void 0;
@@ -8641,7 +8365,7 @@ function TagsInput({
8641
8365
  onClick: () => inputRef.current?.focus(),
8642
8366
  children: [
8643
8367
  tags.map((tag, idx) => /* @__PURE__ */ jsxRuntime.jsx(
8644
- Tag2,
8368
+ Tag,
8645
8369
  {
8646
8370
  disabled,
8647
8371
  removeLabel: `Remove ${tag}`,
@@ -8704,9 +8428,9 @@ function OtpInput({
8704
8428
  className,
8705
8429
  groupAfter
8706
8430
  }) {
8707
- const errorId = React29.useId();
8431
+ const errorId = React28.useId();
8708
8432
  const hasError = errorMessage != null;
8709
- const refs = React29.useRef([]);
8433
+ const refs = React28.useRef([]);
8710
8434
  const chars = Array.from({ length }, (_, i) => value[i] ?? "");
8711
8435
  const pattern = mode === "numeric" ? /[0-9]/ : /[a-zA-Z0-9]/;
8712
8436
  const emit = (next) => {
@@ -8755,7 +8479,7 @@ function OtpInput({
8755
8479
  emit(valid.join(""));
8756
8480
  focusBox(valid.length);
8757
8481
  };
8758
- return /* @__PURE__ */ jsxRuntime.jsx(Field, { className, label, htmlFor, errorId, errorMessage, required, layout, helperText, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-wrap items-center gap-2", role: "group", "aria-label": typeof label === "string" ? label : "One-time code", children: chars.map((char, idx) => /* @__PURE__ */ jsxRuntime.jsxs(React29__default.default.Fragment, { children: [
8482
+ return /* @__PURE__ */ jsxRuntime.jsx(Field, { className, label, htmlFor, errorId, errorMessage, required, layout, helperText, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-wrap items-center gap-2", role: "group", "aria-label": typeof label === "string" ? label : "One-time code", children: chars.map((char, idx) => /* @__PURE__ */ jsxRuntime.jsxs(React28__default.default.Fragment, { children: [
8759
8483
  /* @__PURE__ */ jsxRuntime.jsx(
8760
8484
  "input",
8761
8485
  {
@@ -8793,7 +8517,7 @@ function OtpInput({
8793
8517
  ] }, idx)) }) });
8794
8518
  }
8795
8519
  var ICON_SIZE = { sm: "w-4 h-4", md: "w-5 h-5", lg: "w-7 h-7" };
8796
- var Star2 = (filled) => /* @__PURE__ */ jsxRuntime.jsx("svg", { viewBox: "0 0 24 24", fill: filled ? "currentColor" : "none", stroke: "currentColor", strokeWidth: filled ? 0 : 1.5, className: "w-full h-full", "aria-hidden": "true", children: /* @__PURE__ */ jsxRuntime.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M11.48 3.5a.56.56 0 011.04 0l2.13 4.77 5.18.5a.56.56 0 01.32.97l-3.9 3.46 1.15 5.1a.56.56 0 01-.83.6L12 16.8l-4.57 2.6a.56.56 0 01-.83-.6l1.15-5.1-3.9-3.46a.56.56 0 01.32-.97l5.18-.5L11.48 3.5z" }) });
8520
+ var Star = (filled) => /* @__PURE__ */ jsxRuntime.jsx("svg", { viewBox: "0 0 24 24", fill: filled ? "currentColor" : "none", stroke: "currentColor", strokeWidth: filled ? 0 : 1.5, className: "w-full h-full", "aria-hidden": "true", children: /* @__PURE__ */ jsxRuntime.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M11.48 3.5a.56.56 0 011.04 0l2.13 4.77 5.18.5a.56.56 0 01.32.97l-3.9 3.46 1.15 5.1a.56.56 0 01-.83.6L12 16.8l-4.57 2.6a.56.56 0 01-.83-.6l1.15-5.1-3.9-3.46a.56.56 0 01.32-.97l5.18-.5L11.48 3.5z" }) });
8797
8521
  function Rating({
8798
8522
  value,
8799
8523
  defaultValue = 0,
@@ -8805,7 +8529,7 @@ function Rating({
8805
8529
  label,
8806
8530
  size = "md",
8807
8531
  disabled,
8808
- icon = Star2,
8532
+ icon = Star,
8809
8533
  errorMessage,
8810
8534
  name,
8811
8535
  layout = "vertical",
@@ -8813,9 +8537,9 @@ function Rating({
8813
8537
  className,
8814
8538
  required
8815
8539
  }) {
8816
- const errorId = React29.useId();
8817
- const [internal, setInternal] = React29.useState(defaultValue);
8818
- const [hover, setHover] = React29.useState(null);
8540
+ const errorId = React28.useId();
8541
+ const [internal, setInternal] = React28.useState(defaultValue);
8542
+ const [hover, setHover] = React28.useState(null);
8819
8543
  const current = value ?? internal;
8820
8544
  const display2 = hover ?? current;
8821
8545
  const interactive = !readOnly && !disabled;
@@ -8938,9 +8662,9 @@ function TimePicker({
8938
8662
  required,
8939
8663
  style
8940
8664
  }) {
8941
- const errorId = React29.useId();
8665
+ const errorId = React28.useId();
8942
8666
  const hasError = errorMessage != null;
8943
- const [open, setOpen] = React29.useState(false);
8667
+ const [open, setOpen] = React28.useState(false);
8944
8668
  const parsed = parse(value) ?? { h: 0, m: 0, s: 0 };
8945
8669
  const update = (next) => {
8946
8670
  const merged = { ...parsed, ...next };
@@ -9064,13 +8788,13 @@ function DateRangePicker({
9064
8788
  required,
9065
8789
  style
9066
8790
  }) {
9067
- const errorId = React29.useId();
8791
+ const errorId = React28.useId();
9068
8792
  const hasError = errorMessage != null;
9069
- const [open, setOpen] = React29.useState(false);
9070
- const [leftMonth, setLeftMonth] = React29.useState(() => startOfMonth3(value.start ?? /* @__PURE__ */ new Date()));
9071
- const [pendingStart, setPendingStart] = React29.useState(null);
9072
- const [hoverDate, setHoverDate] = React29.useState(null);
9073
- const weekdays = React29.useMemo(
8793
+ const [open, setOpen] = React28.useState(false);
8794
+ const [leftMonth, setLeftMonth] = React28.useState(() => startOfMonth3(value.start ?? /* @__PURE__ */ new Date()));
8795
+ const [pendingStart, setPendingStart] = React28.useState(null);
8796
+ const [hoverDate, setHoverDate] = React28.useState(null);
8797
+ const weekdays = React28.useMemo(
9074
8798
  () => WEEKDAY.slice(weekStartsOn).concat(WEEKDAY.slice(0, weekStartsOn)),
9075
8799
  [weekStartsOn]
9076
8800
  );
@@ -9246,10 +8970,10 @@ function ColorPicker({
9246
8970
  required,
9247
8971
  placeholder = "Pick a colour\u2026"
9248
8972
  }) {
9249
- const errorId = React29.useId();
8973
+ const errorId = React28.useId();
9250
8974
  const hasError = errorMessage != null;
9251
- const [open, setOpen] = React29.useState(false);
9252
- const [draft, setDraft] = React29.useState(value);
8975
+ const [open, setOpen] = React28.useState(false);
8976
+ const [draft, setDraft] = React28.useState(value);
9253
8977
  const valid = HEX_RE.test(value);
9254
8978
  const pick = (hex) => {
9255
8979
  onChange?.(hex);
@@ -9336,7 +9060,7 @@ function ColorPicker({
9336
9060
  }
9337
9061
  var CUSTOM_EVENT = "oxy-local-storage";
9338
9062
  function useLocalStorage(key, initialValue) {
9339
- const read = React29.useCallback(() => {
9063
+ const read = React28.useCallback(() => {
9340
9064
  if (typeof window === "undefined") return initialValue;
9341
9065
  try {
9342
9066
  const item = window.localStorage.getItem(key);
@@ -9345,8 +9069,8 @@ function useLocalStorage(key, initialValue) {
9345
9069
  return initialValue;
9346
9070
  }
9347
9071
  }, [key]);
9348
- const [stored, setStored] = React29.useState(read);
9349
- const setValue = React29.useCallback((value) => {
9072
+ const [stored, setStored] = React28.useState(read);
9073
+ const setValue = React28.useCallback((value) => {
9350
9074
  setStored((prev) => {
9351
9075
  const next = value instanceof Function ? value(prev) : value;
9352
9076
  try {
@@ -9359,7 +9083,7 @@ function useLocalStorage(key, initialValue) {
9359
9083
  return next;
9360
9084
  });
9361
9085
  }, [key]);
9362
- const remove = React29.useCallback(() => {
9086
+ const remove = React28.useCallback(() => {
9363
9087
  try {
9364
9088
  if (typeof window !== "undefined") {
9365
9089
  window.localStorage.removeItem(key);
@@ -9369,10 +9093,10 @@ function useLocalStorage(key, initialValue) {
9369
9093
  }
9370
9094
  setStored(initialValue);
9371
9095
  }, [key]);
9372
- React29.useEffect(() => {
9096
+ React28.useEffect(() => {
9373
9097
  setStored(read());
9374
9098
  }, [key, read]);
9375
- React29.useEffect(() => {
9099
+ React28.useEffect(() => {
9376
9100
  if (typeof window === "undefined") return;
9377
9101
  const onStorage = (e) => {
9378
9102
  if (e.key === null || e.key === key) setStored(read());
@@ -9391,8 +9115,8 @@ function useLocalStorage(key, initialValue) {
9391
9115
  }
9392
9116
  function useMediaQuery(query) {
9393
9117
  const get = () => typeof window !== "undefined" && typeof window.matchMedia === "function" ? window.matchMedia(query).matches : false;
9394
- const [matches, setMatches] = React29.useState(get);
9395
- React29.useEffect(() => {
9118
+ const [matches, setMatches] = React28.useState(get);
9119
+ React28.useEffect(() => {
9396
9120
  if (typeof window === "undefined" || typeof window.matchMedia !== "function") return;
9397
9121
  const mql = window.matchMedia(query);
9398
9122
  const onChange = () => setMatches(mql.matches);
@@ -9423,8 +9147,8 @@ function decodeSegment(seg) {
9423
9147
  }
9424
9148
  }
9425
9149
  function useJwt(token) {
9426
- const [, tick] = React29.useState(0);
9427
- const decoded = React29.useMemo(() => {
9150
+ const [, tick] = React28.useState(0);
9151
+ const decoded = React28.useMemo(() => {
9428
9152
  if (!token) return { payload: null, header: null, exp: null };
9429
9153
  const [h, p] = token.split(".");
9430
9154
  const header = decodeSegment(h);
@@ -9432,7 +9156,7 @@ function useJwt(token) {
9432
9156
  const exp = payload && typeof payload.exp === "number" ? payload.exp : null;
9433
9157
  return { payload, header, exp };
9434
9158
  }, [token]);
9435
- React29.useEffect(() => {
9159
+ React28.useEffect(() => {
9436
9160
  if (decoded.exp == null) return;
9437
9161
  const ms = decoded.exp * 1e3 - Date.now();
9438
9162
  if (ms <= 0) return;
@@ -9515,7 +9239,7 @@ function FeatureGrid({
9515
9239
  ] }, f.key ?? i)) })
9516
9240
  ] });
9517
9241
  }
9518
- var Check4 = () => /* @__PURE__ */ jsxRuntime.jsx("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2.5, "aria-hidden": "true", className: "mt-0.5 h-4 w-4 flex-shrink-0 text-accent", children: /* @__PURE__ */ jsxRuntime.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M20 6 9 17l-5-5" }) });
9242
+ var Check3 = () => /* @__PURE__ */ jsxRuntime.jsx("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2.5, "aria-hidden": "true", className: "mt-0.5 h-4 w-4 flex-shrink-0 text-accent", children: /* @__PURE__ */ jsxRuntime.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M20 6 9 17l-5-5" }) });
9519
9243
  function PricingPlans({ plans, eyebrow, title, description, className = "", style }) {
9520
9244
  const hasHeader = eyebrow != null || title != null || description != null;
9521
9245
  return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: ["px-2", className].filter(Boolean).join(" "), style, children: [
@@ -9540,7 +9264,7 @@ function PricingPlans({ plans, eyebrow, title, description, className = "", styl
9540
9264
  ] }),
9541
9265
  p.description != null && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-2 text-sm leading-relaxed text-foreground-secondary", children: p.description }),
9542
9266
  /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "mt-6 flex flex-1 flex-col gap-2.5", children: p.features.map((f, fi) => /* @__PURE__ */ jsxRuntime.jsxs("li", { className: "flex gap-2 text-sm text-foreground-secondary", children: [
9543
- /* @__PURE__ */ jsxRuntime.jsx(Check4, {}),
9267
+ /* @__PURE__ */ jsxRuntime.jsx(Check3, {}),
9544
9268
  /* @__PURE__ */ jsxRuntime.jsx("span", { children: f })
9545
9269
  ] }, fi)) }),
9546
9270
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-6", children: /* @__PURE__ */ jsxRuntime.jsx(
@@ -9606,13 +9330,13 @@ function SlideShow({
9606
9330
  style
9607
9331
  }) {
9608
9332
  const reduced = framerMotion.useReducedMotion();
9609
- const [index, setIndex] = React29.useState(0);
9610
- const [paused, setPaused] = React29.useState(false);
9333
+ const [index, setIndex] = React28.useState(0);
9334
+ const [paused, setPaused] = React28.useState(false);
9611
9335
  const count = slides.length;
9612
9336
  const idx = count ? (index % count + count) % count : 0;
9613
- const go = React29.useCallback((d) => setIndex((i) => i + d), []);
9614
- const timer = React29.useRef(null);
9615
- React29.useEffect(() => {
9337
+ const go = React28.useCallback((d) => setIndex((i) => i + d), []);
9338
+ const timer = React28.useRef(null);
9339
+ React28.useEffect(() => {
9616
9340
  if (!autoPlay || paused || count <= 1) return;
9617
9341
  timer.current = setInterval(() => setIndex((i) => i + 1), interval);
9618
9342
  return () => {
@@ -9674,7 +9398,7 @@ function SlideShow({
9674
9398
  );
9675
9399
  }
9676
9400
  var PlayGlyph = () => /* @__PURE__ */ jsxRuntime.jsx("svg", { viewBox: "0 0 24 24", fill: "currentColor", "aria-hidden": "true", className: "h-7 w-7 translate-x-0.5", children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M8 5v14l11-7z" }) });
9677
- function Video2({
9401
+ function Video({
9678
9402
  src,
9679
9403
  embedUrl,
9680
9404
  poster,
@@ -9688,7 +9412,7 @@ function Video2({
9688
9412
  className = "",
9689
9413
  style
9690
9414
  }) {
9691
- const [playing, setPlaying] = React29.useState(autoPlay);
9415
+ const [playing, setPlaying] = React28.useState(autoPlay);
9692
9416
  const frame = ["relative w-full overflow-hidden bg-backdrop", framed ? "rounded-2xl border border-border shadow-sm" : "", className].filter(Boolean).join(" ");
9693
9417
  const ratio = aspect.replace("/", " / ");
9694
9418
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: frame, style: { aspectRatio: ratio, ...style }, children: embedUrl ? /* @__PURE__ */ jsxRuntime.jsx(
@@ -9743,7 +9467,7 @@ function Parallax({
9743
9467
  style
9744
9468
  }) {
9745
9469
  const reduced = framerMotion.useReducedMotion();
9746
- const ref = React29.useRef(null);
9470
+ const ref = React28.useRef(null);
9747
9471
  const { scrollYProgress } = framerMotion.useScroll({ target: ref, offset: ["start end", "end start"] });
9748
9472
  const shift = Math.max(0, Math.min(1, speed)) * 100;
9749
9473
  const y = framerMotion.useTransform(scrollYProgress, [0, 1], reduced ? ["0%", "0%"] : [`-${shift / 2}%`, `${shift / 2}%`]);
@@ -9811,7 +9535,7 @@ function Blog({
9811
9535
  post.tag != null && !post.image && /* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsx(Badge, { tone: "accent", variant: "soft", size: "sm", children: post.tag }) }),
9812
9536
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-base font-semibold leading-snug text-foreground transition-colors group-hover:text-accent", children: post.title }),
9813
9537
  post.excerpt != null && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "line-clamp-3 text-sm leading-relaxed text-foreground-secondary", children: post.excerpt }),
9814
- meta.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-auto flex flex-wrap items-center gap-x-2 gap-y-1 pt-3 text-xs text-foreground-muted", children: meta.map((m, j) => /* @__PURE__ */ jsxRuntime.jsxs(React29__default.default.Fragment, { children: [
9538
+ meta.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-auto flex flex-wrap items-center gap-x-2 gap-y-1 pt-3 text-xs text-foreground-muted", children: meta.map((m, j) => /* @__PURE__ */ jsxRuntime.jsxs(React28__default.default.Fragment, { children: [
9815
9539
  j > 0 && /* @__PURE__ */ jsxRuntime.jsx("span", { "aria-hidden": "true", children: "\xB7" }),
9816
9540
  /* @__PURE__ */ jsxRuntime.jsx("span", { children: m })
9817
9541
  ] }, j)) })
@@ -9940,8 +9664,8 @@ function LeadCapture({
9940
9664
  className = "",
9941
9665
  style
9942
9666
  }) {
9943
- const [email, setEmail] = React29.useState("");
9944
- const [done, setDone] = React29.useState(false);
9667
+ const [email, setEmail] = React28.useState("");
9668
+ const [done, setDone] = React28.useState(false);
9945
9669
  const submit = (e) => {
9946
9670
  e.preventDefault();
9947
9671
  const value = email.trim();
@@ -9984,6 +9708,14 @@ function LeadCapture({
9984
9708
  );
9985
9709
  }
9986
9710
 
9711
+ Object.defineProperty(exports, "Icon", {
9712
+ enumerable: true,
9713
+ get: function () { return chunk4V4U2W7K_cjs.icons_default; }
9714
+ });
9715
+ Object.defineProperty(exports, "createIcon", {
9716
+ enumerable: true,
9717
+ get: function () { return chunk4V4U2W7K_cjs.createIcon; }
9718
+ });
9987
9719
  Object.defineProperty(exports, "COLORS", {
9988
9720
  enumerable: true,
9989
9721
  get: function () { return chunkOAV4TA4B_cjs.colors_default; }
@@ -10018,7 +9750,7 @@ exports.CartProvider = CartProvider;
10018
9750
  exports.Catalog = Catalog;
10019
9751
  exports.CatalogCarousel = CatalogCarousel;
10020
9752
  exports.CatalogGrid = CatalogGrid;
10021
- exports.Chat = Chat2;
9753
+ exports.Chat = Chat;
10022
9754
  exports.Checkbox = Checkbox;
10023
9755
  exports.Checkout = Checkout;
10024
9756
  exports.ColorPicker = ColorPicker;
@@ -10041,14 +9773,13 @@ exports.Form = Form;
10041
9773
  exports.FormContext = FormContext;
10042
9774
  exports.FormField = FormField;
10043
9775
  exports.FormStore = FormStore;
10044
- exports.Grid = Grid2;
9776
+ exports.Grid = Grid;
10045
9777
  exports.GridCard = GridCard;
10046
- exports.Icon = icons_default;
10047
9778
  exports.IconButton = IconButton;
10048
9779
  exports.Jumbotron = Jumbotron;
10049
9780
  exports.Kbd = Kbd;
10050
9781
  exports.LeadCapture = LeadCapture;
10051
- exports.List = List3;
9782
+ exports.List = List2;
10052
9783
  exports.LoadingSpinner = LoadingSpinner;
10053
9784
  exports.LogoutTimer = LogoutTimer;
10054
9785
  exports.MegaMenu = MegaMenu_default;
@@ -10081,7 +9812,7 @@ exports.Socials = Socials;
10081
9812
  exports.Statistic = Statistic;
10082
9813
  exports.Stepper = Stepper;
10083
9814
  exports.Switch = Switch;
10084
- exports.Table = Table2;
9815
+ exports.Table = Table;
10085
9816
  exports.Tabs = Tabs_default;
10086
9817
  exports.TagsInput = TagsInput;
10087
9818
  exports.Temporal = DatePicker;
@@ -10098,10 +9829,9 @@ exports.TopBar = TopBar;
10098
9829
  exports.Tree = Tree;
10099
9830
  exports.TreeSelect = TreeSelect;
10100
9831
  exports.Typography = Typography;
10101
- exports.Video = Video2;
9832
+ exports.Video = Video;
10102
9833
  exports.Wizard = Wizard;
10103
9834
  exports.cardNumberError = cardNumberError;
10104
- exports.createIcon = createIcon;
10105
9835
  exports.cvvError = cvvError;
10106
9836
  exports.detectBrand = detectBrand;
10107
9837
  exports.expiryError = expiryError;