@ai-matrx/design-system 0.86.362 → 0.86.363
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/CHANGELOG.md +4 -0
- package/dist/data-table/index.cjs +1 -0
- package/dist/data-table/index.cjs.map +1 -1
- package/dist/data-table/index.js +1 -0
- package/dist/data-table/index.js.map +1 -1
- package/dist/index.cjs +366 -305
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +29 -2
- package/dist/index.d.ts +29 -2
- package/dist/index.js +231 -182
- package/dist/index.js.map +1 -1
- package/dist/styles.css +13 -0
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -389,12 +389,15 @@ import {
|
|
|
389
389
|
usePortalContainer
|
|
390
390
|
} from "./chunk-XIUVUL2Y.js";
|
|
391
391
|
import {
|
|
392
|
+
AlertTriangleIcon,
|
|
392
393
|
AtSignIcon,
|
|
393
394
|
BadgeCheckIcon,
|
|
394
395
|
BellOffIcon,
|
|
395
396
|
CheckIcon,
|
|
396
397
|
ChevronDownIcon,
|
|
397
398
|
ChevronRightIcon,
|
|
399
|
+
CircleCheckIcon,
|
|
400
|
+
CircleXIcon,
|
|
398
401
|
ClockIcon,
|
|
399
402
|
CopyIcon,
|
|
400
403
|
CopyPlusIcon,
|
|
@@ -402,6 +405,7 @@ import {
|
|
|
402
405
|
DownloadIcon,
|
|
403
406
|
ExternalLinkIcon,
|
|
404
407
|
GlobeIcon,
|
|
408
|
+
InfoIcon,
|
|
405
409
|
LightbulbIcon,
|
|
406
410
|
Link2OffIcon,
|
|
407
411
|
Loader2Icon,
|
|
@@ -4997,10 +5001,54 @@ function TrayMenu({ menu }) {
|
|
|
4997
5001
|
] });
|
|
4998
5002
|
}
|
|
4999
5003
|
|
|
5004
|
+
// src/peek-notice.tsx
|
|
5005
|
+
import { jsx as jsx26, jsxs as jsxs15 } from "react/jsx-runtime";
|
|
5006
|
+
var LEVEL = {
|
|
5007
|
+
success: { icon: CircleCheckIcon, ink: "text-success-ink", label: "Done" },
|
|
5008
|
+
info: { icon: InfoIcon, ink: "text-info-ink", label: "Notice" },
|
|
5009
|
+
warning: { icon: AlertTriangleIcon, ink: "text-warning-ink", label: "Warning" },
|
|
5010
|
+
error: { icon: CircleXIcon, ink: "text-destructive-ink", label: "Error" }
|
|
5011
|
+
};
|
|
5012
|
+
function PeekNotice({ level, title, subtitle, items, limit = 5, onDismiss }) {
|
|
5013
|
+
const tone = LEVEL[level];
|
|
5014
|
+
const Icon = tone.icon;
|
|
5015
|
+
const rows = (items ?? []).map((item, i) => ({
|
|
5016
|
+
key: `${i}:${item.text}`,
|
|
5017
|
+
text: item.text,
|
|
5018
|
+
title: item.text,
|
|
5019
|
+
...item.detail ? { detail: item.detail } : {}
|
|
5020
|
+
}));
|
|
5021
|
+
return /* @__PURE__ */ jsxs15(
|
|
5022
|
+
PeekCard,
|
|
5023
|
+
{
|
|
5024
|
+
size: "md",
|
|
5025
|
+
height: "content",
|
|
5026
|
+
density: "compact",
|
|
5027
|
+
role: level === "error" ? "alert" : "status",
|
|
5028
|
+
"aria-label": `${tone.label}: ${title}`,
|
|
5029
|
+
"data-matrx-peek-notice": level,
|
|
5030
|
+
children: [
|
|
5031
|
+
/* @__PURE__ */ jsx26(
|
|
5032
|
+
PeekCardHeader,
|
|
5033
|
+
{
|
|
5034
|
+
title,
|
|
5035
|
+
leading: /* @__PURE__ */ jsx26(Icon, { className: cn("size-4", tone.ink) }),
|
|
5036
|
+
...subtitle ? { subtitle } : {},
|
|
5037
|
+
...onDismiss ? {
|
|
5038
|
+
trailing: /* @__PURE__ */ jsx26(Button2, { type: "button", variant: "quiet", "aria-label": "Dismiss", title: "Dismiss", icon: /* @__PURE__ */ jsx26(XIcon, { className: "size-3.5" }), onClick: onDismiss })
|
|
5039
|
+
} : {}
|
|
5040
|
+
}
|
|
5041
|
+
),
|
|
5042
|
+
rows.length ? /* @__PURE__ */ jsx26(PeekCardBody, { children: /* @__PURE__ */ jsx26(PeekCardRows, { rows, limit }) }) : null
|
|
5043
|
+
]
|
|
5044
|
+
}
|
|
5045
|
+
);
|
|
5046
|
+
}
|
|
5047
|
+
|
|
5000
5048
|
// src/radio-group.tsx
|
|
5001
5049
|
import * as RadioGroupPrimitive from "@radix-ui/react-radio-group";
|
|
5002
5050
|
import * as React22 from "react";
|
|
5003
|
-
import { jsx as
|
|
5051
|
+
import { jsx as jsx27, jsxs as jsxs16 } from "react/jsx-runtime";
|
|
5004
5052
|
var RadioGroupSizeContext = React22.createContext("md");
|
|
5005
5053
|
var CONTROL_CLASSES = {
|
|
5006
5054
|
sm: "h-3.5 w-3.5",
|
|
@@ -5012,7 +5060,7 @@ var DOT_CLASSES = {
|
|
|
5012
5060
|
md: "h-1.5 w-1.5",
|
|
5013
5061
|
lg: "h-2 w-2"
|
|
5014
5062
|
};
|
|
5015
|
-
var RadioGroup = React22.forwardRef(({ className, size = "md", ...props }, ref) => /* @__PURE__ */
|
|
5063
|
+
var RadioGroup = React22.forwardRef(({ className, size = "md", ...props }, ref) => /* @__PURE__ */ jsx27(RadioGroupSizeContext.Provider, { value: size, children: /* @__PURE__ */ jsx27(
|
|
5016
5064
|
RadioGroupPrimitive.Root,
|
|
5017
5065
|
{
|
|
5018
5066
|
ref,
|
|
@@ -5025,7 +5073,7 @@ RadioGroup.displayName = RadioGroupPrimitive.Root.displayName;
|
|
|
5025
5073
|
var RadioGroupItem = React22.forwardRef(({ className, size, ...props }, ref) => {
|
|
5026
5074
|
const groupSize = React22.useContext(RadioGroupSizeContext);
|
|
5027
5075
|
const resolved = size ?? groupSize;
|
|
5028
|
-
return /* @__PURE__ */
|
|
5076
|
+
return /* @__PURE__ */ jsx27(
|
|
5029
5077
|
RadioGroupPrimitive.Item,
|
|
5030
5078
|
{
|
|
5031
5079
|
ref,
|
|
@@ -5042,7 +5090,7 @@ var RadioGroupItem = React22.forwardRef(({ className, size, ...props }, ref) =>
|
|
|
5042
5090
|
className
|
|
5043
5091
|
),
|
|
5044
5092
|
...props,
|
|
5045
|
-
children: /* @__PURE__ */
|
|
5093
|
+
children: /* @__PURE__ */ jsx27(RadioGroupPrimitive.Indicator, { className: "flex items-center justify-center", children: /* @__PURE__ */ jsx27(
|
|
5046
5094
|
"div",
|
|
5047
5095
|
{
|
|
5048
5096
|
className: cn("rounded-full bg-primary-foreground", DOT_CLASSES[resolved])
|
|
@@ -5061,7 +5109,7 @@ function RadioList({
|
|
|
5061
5109
|
"aria-label": ariaLabel
|
|
5062
5110
|
}) {
|
|
5063
5111
|
const baseId = React22.useId();
|
|
5064
|
-
return /* @__PURE__ */
|
|
5112
|
+
return /* @__PURE__ */ jsx27(
|
|
5065
5113
|
RadioGroup,
|
|
5066
5114
|
{
|
|
5067
5115
|
value,
|
|
@@ -5072,7 +5120,7 @@ function RadioList({
|
|
|
5072
5120
|
children: options.map((opt, i) => {
|
|
5073
5121
|
const selected = value === opt.value;
|
|
5074
5122
|
const id = `${baseId}-${i}`;
|
|
5075
|
-
return /* @__PURE__ */
|
|
5123
|
+
return /* @__PURE__ */ jsxs16(
|
|
5076
5124
|
"label",
|
|
5077
5125
|
{
|
|
5078
5126
|
htmlFor: id,
|
|
@@ -5083,9 +5131,9 @@ function RadioList({
|
|
|
5083
5131
|
opt.disabled && "cursor-not-allowed text-disabled-foreground"
|
|
5084
5132
|
),
|
|
5085
5133
|
children: [
|
|
5086
|
-
/* @__PURE__ */
|
|
5087
|
-
/* @__PURE__ */
|
|
5088
|
-
opt.hint != null && opt.hint !== "" ? /* @__PURE__ */
|
|
5134
|
+
/* @__PURE__ */ jsx27(RadioGroupItem, { id, value: opt.value, disabled: opt.disabled }),
|
|
5135
|
+
/* @__PURE__ */ jsx27("span", { className: "flex-1 truncate", children: opt.label }),
|
|
5136
|
+
opt.hint != null && opt.hint !== "" ? /* @__PURE__ */ jsx27("span", { className: "shrink-0 text-xs tabular-nums text-muted-foreground", children: opt.hint }) : null
|
|
5089
5137
|
]
|
|
5090
5138
|
},
|
|
5091
5139
|
opt.value
|
|
@@ -5100,7 +5148,7 @@ import * as ToggleGroupPrimitive from "@radix-ui/react-toggle-group";
|
|
|
5100
5148
|
import * as TogglePrimitive from "@radix-ui/react-toggle";
|
|
5101
5149
|
import { cva as cva4 } from "class-variance-authority";
|
|
5102
5150
|
import * as React23 from "react";
|
|
5103
|
-
import { jsx as
|
|
5151
|
+
import { jsx as jsx28 } from "react/jsx-runtime";
|
|
5104
5152
|
var toggleVariants = cva4(
|
|
5105
5153
|
"inline-flex items-center justify-center gap-2 rounded-md text-sm font-medium transition-colors hover:bg-muted hover:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
|
|
5106
5154
|
{
|
|
@@ -5126,7 +5174,7 @@ var toggleVariants = cva4(
|
|
|
5126
5174
|
}
|
|
5127
5175
|
}
|
|
5128
5176
|
);
|
|
5129
|
-
var Toggle = React23.forwardRef(({ className, variant, size, ...props }, ref) => /* @__PURE__ */
|
|
5177
|
+
var Toggle = React23.forwardRef(({ className, variant, size, ...props }, ref) => /* @__PURE__ */ jsx28(
|
|
5130
5178
|
TogglePrimitive.Root,
|
|
5131
5179
|
{
|
|
5132
5180
|
ref,
|
|
@@ -5137,20 +5185,20 @@ var Toggle = React23.forwardRef(({ className, variant, size, ...props }, ref) =>
|
|
|
5137
5185
|
));
|
|
5138
5186
|
Toggle.displayName = TogglePrimitive.Root.displayName;
|
|
5139
5187
|
var ToggleGroupContext = React23.createContext({ size: "default", variant: "default" });
|
|
5140
|
-
var ToggleGroup = React23.forwardRef(({ className, variant, size, children, ...props }, ref) => /* @__PURE__ */
|
|
5188
|
+
var ToggleGroup = React23.forwardRef(({ className, variant, size, children, ...props }, ref) => /* @__PURE__ */ jsx28(
|
|
5141
5189
|
ToggleGroupPrimitive.Root,
|
|
5142
5190
|
{
|
|
5143
5191
|
ref,
|
|
5144
5192
|
"data-slot": "toggle-group",
|
|
5145
5193
|
className: cn("flex items-center justify-center gap-1", className),
|
|
5146
5194
|
...props,
|
|
5147
|
-
children: /* @__PURE__ */
|
|
5195
|
+
children: /* @__PURE__ */ jsx28(ToggleGroupContext.Provider, { value: { variant, size }, children })
|
|
5148
5196
|
}
|
|
5149
5197
|
));
|
|
5150
5198
|
ToggleGroup.displayName = ToggleGroupPrimitive.Root.displayName;
|
|
5151
5199
|
var ToggleGroupItem = React23.forwardRef(({ className, children, variant, size, ...props }, ref) => {
|
|
5152
5200
|
const context = React23.useContext(ToggleGroupContext);
|
|
5153
|
-
return /* @__PURE__ */
|
|
5201
|
+
return /* @__PURE__ */ jsx28(
|
|
5154
5202
|
ToggleGroupPrimitive.Item,
|
|
5155
5203
|
{
|
|
5156
5204
|
ref,
|
|
@@ -5171,7 +5219,7 @@ ToggleGroupItem.displayName = ToggleGroupPrimitive.Item.displayName;
|
|
|
5171
5219
|
|
|
5172
5220
|
// src/floating-dock.tsx
|
|
5173
5221
|
import * as React24 from "react";
|
|
5174
|
-
import { jsx as
|
|
5222
|
+
import { jsx as jsx29, jsxs as jsxs17 } from "react/jsx-runtime";
|
|
5175
5223
|
var BASE_SIZE = 40;
|
|
5176
5224
|
var BASE_ICON = 20;
|
|
5177
5225
|
var REACH = 150;
|
|
@@ -5191,29 +5239,29 @@ function FloatingDock({
|
|
|
5191
5239
|
growthFactor = 2,
|
|
5192
5240
|
labelPosition = "top"
|
|
5193
5241
|
}) {
|
|
5194
|
-
return /* @__PURE__ */
|
|
5195
|
-
/* @__PURE__ */
|
|
5196
|
-
/* @__PURE__ */
|
|
5242
|
+
return /* @__PURE__ */ jsxs17("div", { className: cn("flex w-auto items-center justify-center bg-background", className), children: [
|
|
5243
|
+
/* @__PURE__ */ jsx29(FloatingDockPhone, { items }),
|
|
5244
|
+
/* @__PURE__ */ jsx29(FloatingDockDesktop, { items, growthFactor, labelPosition })
|
|
5197
5245
|
] });
|
|
5198
5246
|
}
|
|
5199
5247
|
function BalancedFloatingDock(props) {
|
|
5200
|
-
return /* @__PURE__ */
|
|
5248
|
+
return /* @__PURE__ */ jsx29(FloatingDock, { growthFactor: 1.8, labelPosition: "side", ...props });
|
|
5201
5249
|
}
|
|
5202
5250
|
function FloatingDockPhone({ items }) {
|
|
5203
5251
|
const [open, setOpen] = React24.useState(false);
|
|
5204
|
-
return /* @__PURE__ */
|
|
5205
|
-
/* @__PURE__ */
|
|
5252
|
+
return /* @__PURE__ */ jsxs17("div", { className: "relative block md:hidden", children: [
|
|
5253
|
+
/* @__PURE__ */ jsx29(
|
|
5206
5254
|
Button2,
|
|
5207
5255
|
{
|
|
5208
5256
|
type: "button",
|
|
5209
5257
|
variant: "quiet",
|
|
5210
5258
|
"aria-label": open ? "Close menu" : "Open menu",
|
|
5211
|
-
icon: open ? /* @__PURE__ */
|
|
5259
|
+
icon: open ? /* @__PURE__ */ jsx29(PanelTopCloseIcon, { className: "h-5 w-5" }) : /* @__PURE__ */ jsx29(PanelTopOpenIcon, { className: "h-5 w-5" }),
|
|
5212
5260
|
"aria-expanded": open,
|
|
5213
5261
|
onClick: () => setOpen(!open)
|
|
5214
5262
|
}
|
|
5215
5263
|
),
|
|
5216
|
-
/* @__PURE__ */
|
|
5264
|
+
/* @__PURE__ */ jsx29(
|
|
5217
5265
|
"div",
|
|
5218
5266
|
{
|
|
5219
5267
|
"data-open": open,
|
|
@@ -5223,32 +5271,32 @@ function FloatingDockPhone({ items }) {
|
|
|
5223
5271
|
PANEL_MOTION_CLASS,
|
|
5224
5272
|
open ? "translate-y-0" : "pointer-events-none -translate-y-full"
|
|
5225
5273
|
),
|
|
5226
|
-
children: /* @__PURE__ */
|
|
5227
|
-
/* @__PURE__ */
|
|
5228
|
-
/* @__PURE__ */
|
|
5229
|
-
/* @__PURE__ */
|
|
5274
|
+
children: /* @__PURE__ */ jsxs17("div", { className: "flex h-full flex-col", children: [
|
|
5275
|
+
/* @__PURE__ */ jsxs17("div", { className: "flex items-center justify-between border-b border-border p-4", children: [
|
|
5276
|
+
/* @__PURE__ */ jsx29("h2", { className: "text-lg font-medium", children: "Menu" }),
|
|
5277
|
+
/* @__PURE__ */ jsx29(
|
|
5230
5278
|
Button2,
|
|
5231
5279
|
{
|
|
5232
5280
|
type: "button",
|
|
5233
5281
|
variant: "quiet",
|
|
5234
5282
|
"aria-label": "Close menu",
|
|
5235
|
-
icon: /* @__PURE__ */
|
|
5283
|
+
icon: /* @__PURE__ */ jsx29(XIcon, { className: "h-6 w-6" }),
|
|
5236
5284
|
onClick: () => setOpen(false)
|
|
5237
5285
|
}
|
|
5238
5286
|
)
|
|
5239
5287
|
] }),
|
|
5240
|
-
/* @__PURE__ */
|
|
5288
|
+
/* @__PURE__ */ jsx29("div", { className: "flex-1 overflow-y-auto", children: items.map((item) => /* @__PURE__ */ jsxs17(
|
|
5241
5289
|
HostLink,
|
|
5242
5290
|
{
|
|
5243
5291
|
href: item.href,
|
|
5244
5292
|
className: "flex items-center justify-between border-b border-border p-4",
|
|
5245
5293
|
onClick: () => setOpen(false),
|
|
5246
5294
|
children: [
|
|
5247
|
-
/* @__PURE__ */
|
|
5248
|
-
/* @__PURE__ */
|
|
5249
|
-
/* @__PURE__ */
|
|
5295
|
+
/* @__PURE__ */ jsxs17("div", { className: "flex items-center space-x-4", children: [
|
|
5296
|
+
/* @__PURE__ */ jsx29("div", { className: "flex h-10 w-10 items-center justify-center rounded-full bg-muted", children: /* @__PURE__ */ jsx29("div", { className: "h-5 w-5 [&>svg]:h-full [&>svg]:w-full", children: item.icon }) }),
|
|
5297
|
+
/* @__PURE__ */ jsx29("span", { className: "font-medium", children: item.label })
|
|
5250
5298
|
] }),
|
|
5251
|
-
/* @__PURE__ */
|
|
5299
|
+
/* @__PURE__ */ jsx29(ChevronRightIcon, { className: "h-5 w-5 text-muted-foreground" })
|
|
5252
5300
|
]
|
|
5253
5301
|
},
|
|
5254
5302
|
item.label
|
|
@@ -5275,7 +5323,7 @@ function FloatingDockDesktop({
|
|
|
5275
5323
|
})
|
|
5276
5324
|
);
|
|
5277
5325
|
};
|
|
5278
|
-
return /* @__PURE__ */
|
|
5326
|
+
return /* @__PURE__ */ jsx29(
|
|
5279
5327
|
"div",
|
|
5280
5328
|
{
|
|
5281
5329
|
onMouseMove: (e) => measure(e.clientX),
|
|
@@ -5289,8 +5337,8 @@ function FloatingDockDesktop({
|
|
|
5289
5337
|
const size = dockSize(BASE_SIZE, growthFactor, distance);
|
|
5290
5338
|
const icon = dockSize(BASE_ICON, growthFactor, distance);
|
|
5291
5339
|
const under = Number.isFinite(distance) && Math.abs(distance) < BASE_SIZE / 2;
|
|
5292
|
-
return /* @__PURE__ */
|
|
5293
|
-
/* @__PURE__ */
|
|
5340
|
+
return /* @__PURE__ */ jsx29(HostLink, { href: item.href, "aria-label": item.label, children: /* @__PURE__ */ jsxs17("div", { className: "relative", children: [
|
|
5341
|
+
/* @__PURE__ */ jsx29(
|
|
5294
5342
|
"div",
|
|
5295
5343
|
{
|
|
5296
5344
|
ref: (el) => {
|
|
@@ -5301,7 +5349,7 @@ function FloatingDockDesktop({
|
|
|
5301
5349
|
"relative flex aspect-square items-center justify-center rounded-full bg-muted transition-[width,height]",
|
|
5302
5350
|
MAGNIFY_MOTION
|
|
5303
5351
|
),
|
|
5304
|
-
children: /* @__PURE__ */
|
|
5352
|
+
children: /* @__PURE__ */ jsx29(
|
|
5305
5353
|
"div",
|
|
5306
5354
|
{
|
|
5307
5355
|
style: { width: icon, height: icon },
|
|
@@ -5314,7 +5362,7 @@ function FloatingDockDesktop({
|
|
|
5314
5362
|
)
|
|
5315
5363
|
}
|
|
5316
5364
|
),
|
|
5317
|
-
/* @__PURE__ */
|
|
5365
|
+
/* @__PURE__ */ jsx29(
|
|
5318
5366
|
"div",
|
|
5319
5367
|
{
|
|
5320
5368
|
"data-shown": under,
|
|
@@ -5336,7 +5384,7 @@ function FloatingDockDesktop({
|
|
|
5336
5384
|
|
|
5337
5385
|
// src/deferred-dialog.tsx
|
|
5338
5386
|
import * as React25 from "react";
|
|
5339
|
-
import { jsx as
|
|
5387
|
+
import { jsx as jsx30 } from "react/jsx-runtime";
|
|
5340
5388
|
function deferredDialog(name, load, isOpen) {
|
|
5341
5389
|
let pending = null;
|
|
5342
5390
|
const preload = () => pending ??= load().then((component) => ({ default: component }));
|
|
@@ -5346,7 +5394,7 @@ function deferredDialog(name, load, isOpen) {
|
|
|
5346
5394
|
const [opened, setOpened] = React25.useState(open);
|
|
5347
5395
|
if (open && !opened) setOpened(true);
|
|
5348
5396
|
if (!open && !opened) return null;
|
|
5349
|
-
return /* @__PURE__ */
|
|
5397
|
+
return /* @__PURE__ */ jsx30(React25.Suspense, { fallback: null, children: /* @__PURE__ */ jsx30(Body, { ...props }) });
|
|
5350
5398
|
}
|
|
5351
5399
|
Deferred.displayName = name;
|
|
5352
5400
|
return Object.assign(Deferred, { preload });
|
|
@@ -5392,10 +5440,10 @@ var TextInputDialog = deferredDialog(
|
|
|
5392
5440
|
// src/clipboard-fallback-host.tsx
|
|
5393
5441
|
import { clipboardFallbackOpener } from "@ai-matrx/kit/clipboard-fallback-opener";
|
|
5394
5442
|
import { useOpenerHost } from "@ai-matrx/kit/opener-react";
|
|
5395
|
-
import { jsx as
|
|
5443
|
+
import { jsx as jsx31 } from "react/jsx-runtime";
|
|
5396
5444
|
function ClipboardFallbackHost() {
|
|
5397
5445
|
const { open, shown, settle } = useOpenerHost(clipboardFallbackOpener);
|
|
5398
|
-
return /* @__PURE__ */
|
|
5446
|
+
return /* @__PURE__ */ jsx31(
|
|
5399
5447
|
ClipboardFallbackDialog,
|
|
5400
5448
|
{
|
|
5401
5449
|
open,
|
|
@@ -5411,7 +5459,7 @@ function ClipboardFallbackHost() {
|
|
|
5411
5459
|
|
|
5412
5460
|
// src/floating-sheet.tsx
|
|
5413
5461
|
import { useState as useState15, useEffect as useEffect9, useCallback as useCallback7, useRef as useRef9 } from "react";
|
|
5414
|
-
import { Fragment as Fragment7, jsx as
|
|
5462
|
+
import { Fragment as Fragment7, jsx as jsx32, jsxs as jsxs18 } from "react/jsx-runtime";
|
|
5415
5463
|
var FloatingSheet = ({
|
|
5416
5464
|
children,
|
|
5417
5465
|
isOpen,
|
|
@@ -5717,8 +5765,8 @@ var FloatingSheet = ({
|
|
|
5717
5765
|
const bottomPadding = showFooter ? "" : "pb-safe";
|
|
5718
5766
|
return `${basePadding} ${bottomPadding}`.trim();
|
|
5719
5767
|
};
|
|
5720
|
-
return /* @__PURE__ */
|
|
5721
|
-
isOpen && hasBackdrop && /* @__PURE__ */
|
|
5768
|
+
return /* @__PURE__ */ jsxs18(Fragment7, { children: [
|
|
5769
|
+
isOpen && hasBackdrop && /* @__PURE__ */ jsx32(
|
|
5722
5770
|
"div",
|
|
5723
5771
|
{
|
|
5724
5772
|
className: `fixed ${respectHeader ? "left-0 right-0 top-10 bottom-0" : "inset-0"} bg-[var(--matrx-overlay-scrim-soft)] z-40 ${isMobile ? "backdrop-blur-sm" : ""} transition-opacity ${durationClass} ${backdropClassName}`,
|
|
@@ -5727,7 +5775,7 @@ var FloatingSheet = ({
|
|
|
5727
5775
|
"data-testid": "floating-sheet-backdrop"
|
|
5728
5776
|
}
|
|
5729
5777
|
),
|
|
5730
|
-
/* @__PURE__ */
|
|
5778
|
+
/* @__PURE__ */ jsx32(
|
|
5731
5779
|
"div",
|
|
5732
5780
|
{
|
|
5733
5781
|
ref: sheetRef,
|
|
@@ -5739,25 +5787,25 @@ var FloatingSheet = ({
|
|
|
5739
5787
|
"aria-labelledby": "sheet-title",
|
|
5740
5788
|
tabIndex: -1,
|
|
5741
5789
|
"data-testid": "floating-sheet",
|
|
5742
|
-
children: /* @__PURE__ */
|
|
5743
|
-
showHeader && /* @__PURE__ */
|
|
5790
|
+
children: /* @__PURE__ */ jsxs18("div", { className: "flex flex-col h-full overflow-hidden", children: [
|
|
5791
|
+
showHeader && /* @__PURE__ */ jsxs18(
|
|
5744
5792
|
"div",
|
|
5745
5793
|
{
|
|
5746
5794
|
className: `flex items-center justify-between border-b border-border ${getMobileHeaderClass()} ${headerClassName}`,
|
|
5747
5795
|
children: [
|
|
5748
|
-
/* @__PURE__ */
|
|
5749
|
-
typeof title === "string" ? /* @__PURE__ */
|
|
5750
|
-
description && (typeof description === "string" ? /* @__PURE__ */
|
|
5796
|
+
/* @__PURE__ */ jsxs18("div", { className: "flex-1 min-w-0", children: [
|
|
5797
|
+
typeof title === "string" ? /* @__PURE__ */ jsx32("h2", { id: "sheet-title", className: `${isMobile ? "text-xl" : "text-lg"} font-semibold text-foreground`, children: title }) : /* @__PURE__ */ jsx32("div", { id: "sheet-title", children: title }),
|
|
5798
|
+
description && (typeof description === "string" ? /* @__PURE__ */ jsx32("p", { className: "type-body text-muted-foreground mt-1", children: description }) : /* @__PURE__ */ jsx32("div", { className: "mt-1", children: description }))
|
|
5751
5799
|
] }),
|
|
5752
|
-
headerContent && /* @__PURE__ */
|
|
5753
|
-
showCloseButton && /* @__PURE__ */
|
|
5800
|
+
headerContent && /* @__PURE__ */ jsx32("div", { className: "ml-4 flex items-center", children: headerContent }),
|
|
5801
|
+
showCloseButton && /* @__PURE__ */ jsx32(
|
|
5754
5802
|
"button",
|
|
5755
5803
|
{
|
|
5756
5804
|
onClick: onClose,
|
|
5757
5805
|
className: `ml-4 rounded-full ${isMobile ? "p-2" : "p-1.5"} text-muted-foreground hover:text-foreground bg-transparent hover:bg-accent focus:outline-none focus:ring-2 focus:ring-ring`,
|
|
5758
5806
|
"aria-label": "Close",
|
|
5759
5807
|
"data-testid": "floating-sheet-close",
|
|
5760
|
-
children: closeButton || /* @__PURE__ */
|
|
5808
|
+
children: closeButton || /* @__PURE__ */ jsxs18(
|
|
5761
5809
|
"svg",
|
|
5762
5810
|
{
|
|
5763
5811
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -5769,8 +5817,8 @@ var FloatingSheet = ({
|
|
|
5769
5817
|
strokeLinecap: "round",
|
|
5770
5818
|
strokeLinejoin: "round",
|
|
5771
5819
|
children: [
|
|
5772
|
-
/* @__PURE__ */
|
|
5773
|
-
/* @__PURE__ */
|
|
5820
|
+
/* @__PURE__ */ jsx32("line", { x1: "18", y1: "6", x2: "6", y2: "18" }),
|
|
5821
|
+
/* @__PURE__ */ jsx32("line", { x1: "6", y1: "6", x2: "18", y2: "18" })
|
|
5774
5822
|
]
|
|
5775
5823
|
}
|
|
5776
5824
|
)
|
|
@@ -5779,7 +5827,7 @@ var FloatingSheet = ({
|
|
|
5779
5827
|
]
|
|
5780
5828
|
}
|
|
5781
5829
|
),
|
|
5782
|
-
/* @__PURE__ */
|
|
5830
|
+
/* @__PURE__ */ jsx32(
|
|
5783
5831
|
"div",
|
|
5784
5832
|
{
|
|
5785
5833
|
ref: contentRef,
|
|
@@ -5788,7 +5836,7 @@ var FloatingSheet = ({
|
|
|
5788
5836
|
children
|
|
5789
5837
|
}
|
|
5790
5838
|
),
|
|
5791
|
-
showFooter && /* @__PURE__ */
|
|
5839
|
+
showFooter && /* @__PURE__ */ jsx32(
|
|
5792
5840
|
"div",
|
|
5793
5841
|
{
|
|
5794
5842
|
className: `border-t border-border ${getMobileFooterClass()} ${footerClassName}`,
|
|
@@ -5803,12 +5851,12 @@ var FloatingSheet = ({
|
|
|
5803
5851
|
};
|
|
5804
5852
|
|
|
5805
5853
|
// src/simple-tooltip.tsx
|
|
5806
|
-
import { jsx as
|
|
5854
|
+
import { jsx as jsx33, jsxs as jsxs19 } from "react/jsx-runtime";
|
|
5807
5855
|
var SimpleTooltip = ({ children, text }) => {
|
|
5808
5856
|
if (!text) return children;
|
|
5809
|
-
return /* @__PURE__ */
|
|
5810
|
-
/* @__PURE__ */
|
|
5811
|
-
/* @__PURE__ */
|
|
5857
|
+
return /* @__PURE__ */ jsxs19(Tooltip, { children: [
|
|
5858
|
+
/* @__PURE__ */ jsx33(TooltipTrigger, { asChild: true, children }),
|
|
5859
|
+
/* @__PURE__ */ jsx33(TooltipContent, { children: /* @__PURE__ */ jsx33("p", { children: text }) })
|
|
5812
5860
|
] });
|
|
5813
5861
|
};
|
|
5814
5862
|
var AdvancedTooltip = ({
|
|
@@ -5831,16 +5879,16 @@ var AdvancedTooltip = ({
|
|
|
5831
5879
|
success: "bg-success text-success-foreground"
|
|
5832
5880
|
};
|
|
5833
5881
|
const baseContentClasses = "rounded-md px-3 py-1.5 text-sm shadow-md";
|
|
5834
|
-
return /* @__PURE__ */
|
|
5835
|
-
/* @__PURE__ */
|
|
5836
|
-
/* @__PURE__ */
|
|
5882
|
+
return /* @__PURE__ */ jsxs19(Tooltip, { delayDuration, children: [
|
|
5883
|
+
/* @__PURE__ */ jsx33(TooltipTrigger, { asChild: true, className, children }),
|
|
5884
|
+
/* @__PURE__ */ jsx33(
|
|
5837
5885
|
TooltipContent,
|
|
5838
5886
|
{
|
|
5839
5887
|
side,
|
|
5840
5888
|
align,
|
|
5841
5889
|
sideOffset,
|
|
5842
5890
|
className: `${baseContentClasses} ${variantStyles[variant]} ${contentClassName}`,
|
|
5843
|
-
children: /* @__PURE__ */
|
|
5891
|
+
children: /* @__PURE__ */ jsx33("p", { className: "leading-none whitespace-pre-wrap", children: text })
|
|
5844
5892
|
}
|
|
5845
5893
|
)
|
|
5846
5894
|
] });
|
|
@@ -5848,7 +5896,7 @@ var AdvancedTooltip = ({
|
|
|
5848
5896
|
|
|
5849
5897
|
// src/loading-spinner.tsx
|
|
5850
5898
|
import React27 from "react";
|
|
5851
|
-
import { Fragment as Fragment8, jsx as
|
|
5899
|
+
import { Fragment as Fragment8, jsx as jsx34, jsxs as jsxs20 } from "react/jsx-runtime";
|
|
5852
5900
|
var animationStyles = `
|
|
5853
5901
|
@keyframes pulseWave {
|
|
5854
5902
|
0% { opacity: 0.3; transform: scale(0.8); }
|
|
@@ -5925,19 +5973,19 @@ var LoadingSpinner = ({
|
|
|
5925
5973
|
}
|
|
5926
5974
|
};
|
|
5927
5975
|
const sizeClasses2 = getSizeClasses();
|
|
5928
|
-
const renderDots = () => /* @__PURE__ */
|
|
5929
|
-
/* @__PURE__ */
|
|
5930
|
-
/* @__PURE__ */
|
|
5931
|
-
/* @__PURE__ */
|
|
5976
|
+
const renderDots = () => /* @__PURE__ */ jsxs20("div", { className: cn("flex items-center", sizeClasses2.container), children: [
|
|
5977
|
+
/* @__PURE__ */ jsx34("div", { className: cn(sizeClasses2.dot, "bg-primary dark:bg-primary-foreground rounded-full loading-pulse-1") }),
|
|
5978
|
+
/* @__PURE__ */ jsx34("div", { className: cn(sizeClasses2.dot, "bg-primary dark:bg-primary-foreground rounded-full loading-pulse-2") }),
|
|
5979
|
+
/* @__PURE__ */ jsx34("div", { className: cn(sizeClasses2.dot, "bg-primary dark:bg-primary-foreground rounded-full loading-pulse-3") })
|
|
5932
5980
|
] });
|
|
5933
|
-
const renderBars = () => /* @__PURE__ */
|
|
5934
|
-
/* @__PURE__ */
|
|
5935
|
-
/* @__PURE__ */
|
|
5936
|
-
/* @__PURE__ */
|
|
5937
|
-
/* @__PURE__ */
|
|
5981
|
+
const renderBars = () => /* @__PURE__ */ jsxs20("div", { className: cn("flex items-center", sizeClasses2.container), children: [
|
|
5982
|
+
/* @__PURE__ */ jsx34("div", { className: cn(sizeClasses2.bar, "bg-primary dark:bg-primary-foreground rounded-sm loading-bounce-1") }),
|
|
5983
|
+
/* @__PURE__ */ jsx34("div", { className: cn(sizeClasses2.bar, "bg-primary dark:bg-primary-foreground rounded-sm loading-bounce-2") }),
|
|
5984
|
+
/* @__PURE__ */ jsx34("div", { className: cn(sizeClasses2.bar, "bg-primary dark:bg-primary-foreground rounded-sm loading-bounce-3") }),
|
|
5985
|
+
/* @__PURE__ */ jsx34("div", { className: cn(sizeClasses2.bar, "bg-primary dark:bg-primary-foreground rounded-sm loading-bounce-4") })
|
|
5938
5986
|
] });
|
|
5939
|
-
const renderBrain = () => /* @__PURE__ */
|
|
5940
|
-
/* @__PURE__ */
|
|
5987
|
+
const renderBrain = () => /* @__PURE__ */ jsxs20("div", { className: "relative w-6 h-6 flex items-center justify-center", children: [
|
|
5988
|
+
/* @__PURE__ */ jsx34("div", { className: "absolute", children: /* @__PURE__ */ jsx34(
|
|
5941
5989
|
"svg",
|
|
5942
5990
|
{
|
|
5943
5991
|
width: "24",
|
|
@@ -5945,7 +5993,7 @@ var LoadingSpinner = ({
|
|
|
5945
5993
|
viewBox: "0 0 24 24",
|
|
5946
5994
|
fill: "none",
|
|
5947
5995
|
className: "w-5 h-5 text-primary dark:text-primary-foreground",
|
|
5948
|
-
children: /* @__PURE__ */
|
|
5996
|
+
children: /* @__PURE__ */ jsx34(
|
|
5949
5997
|
"path",
|
|
5950
5998
|
{
|
|
5951
5999
|
d: "M12 4C9.5 4 7.5 5.5 7.5 8C7.5 9 7.5 9.5 7 10.5C6.5 11.5 6 12 6 13.5C6 15.5 7.5 17 9.5 17C10.5 17 11 16.5 12 16.5C13 16.5 13.5 17 14.5 17C16.5 17 18 15.5 18 13.5C18 12 17.5 11.5 17 10.5C16.5 9.5 16.5 9 16.5 8C16.5 5.5 14.5 4 12 4Z",
|
|
@@ -5956,44 +6004,44 @@ var LoadingSpinner = ({
|
|
|
5956
6004
|
)
|
|
5957
6005
|
}
|
|
5958
6006
|
) }),
|
|
5959
|
-
/* @__PURE__ */
|
|
5960
|
-
/* @__PURE__ */
|
|
5961
|
-
/* @__PURE__ */
|
|
5962
|
-
/* @__PURE__ */
|
|
5963
|
-
/* @__PURE__ */
|
|
5964
|
-
/* @__PURE__ */
|
|
6007
|
+
/* @__PURE__ */ jsxs20("div", { className: "absolute inset-0", children: [
|
|
6008
|
+
/* @__PURE__ */ jsx34("div", { className: "absolute w-1 h-1 bg-primary/60 dark:bg-primary-foreground/60 rounded-full left-[8px] top-[10px] loading-neuron-1" }),
|
|
6009
|
+
/* @__PURE__ */ jsx34("div", { className: "absolute w-1 h-1 bg-primary/60 dark:bg-primary-foreground/60 rounded-full left-[12px] top-[8px] loading-neuron-2" }),
|
|
6010
|
+
/* @__PURE__ */ jsx34("div", { className: "absolute w-1 h-1 bg-primary/60 dark:bg-primary-foreground/60 rounded-full left-[16px] top-[10px] loading-neuron-3" }),
|
|
6011
|
+
/* @__PURE__ */ jsx34("div", { className: "absolute w-1 h-1 bg-primary/60 dark:bg-primary-foreground/60 rounded-full left-[10px] top-[14px] loading-neuron-4" }),
|
|
6012
|
+
/* @__PURE__ */ jsx34("div", { className: "absolute w-1 h-1 bg-primary/60 dark:bg-primary-foreground/60 rounded-full left-[14px] top-[14px] loading-neuron-5" })
|
|
5965
6013
|
] }),
|
|
5966
|
-
/* @__PURE__ */
|
|
5967
|
-
/* @__PURE__ */
|
|
6014
|
+
/* @__PURE__ */ jsx34("div", { className: "absolute w-full h-full rounded-full border border-primary/30 dark:border-primary-foreground/30 loading-brain-pulse-1" }),
|
|
6015
|
+
/* @__PURE__ */ jsx34("div", { className: "absolute w-full h-full rounded-full border border-primary/30 dark:border-primary-foreground/30 loading-brain-pulse-2" })
|
|
5968
6016
|
] });
|
|
5969
|
-
const renderMinimal = () => /* @__PURE__ */
|
|
5970
|
-
const renderWorkflow = () => /* @__PURE__ */
|
|
5971
|
-
/* @__PURE__ */
|
|
5972
|
-
/* @__PURE__ */
|
|
5973
|
-
/* @__PURE__ */
|
|
5974
|
-
/* @__PURE__ */
|
|
6017
|
+
const renderMinimal = () => /* @__PURE__ */ jsx34("div", { className: "relative", children: /* @__PURE__ */ jsx34("div", { className: cn(sizeClasses2.dot, "bg-primary dark:bg-primary-foreground rounded-full loading-pulse-1") }) });
|
|
6018
|
+
const renderWorkflow = () => /* @__PURE__ */ jsxs20("div", { className: "flex flex-col items-center justify-center space-y-6", children: [
|
|
6019
|
+
/* @__PURE__ */ jsxs20("div", { className: "relative", children: [
|
|
6020
|
+
/* @__PURE__ */ jsx34("div", { className: "w-16 h-16 bg-primary/10 dark:bg-primary-foreground/10 rounded-full flex items-center justify-center", children: /* @__PURE__ */ jsx34(WorkflowIcon, { className: "w-8 h-8 text-primary dark:text-primary-foreground" }) }),
|
|
6021
|
+
/* @__PURE__ */ jsx34("div", { className: "absolute -top-1 -right-1 w-6 h-6 bg-primary dark:bg-primary-foreground rounded-full flex items-center justify-center", children: /* @__PURE__ */ jsx34(PlusIcon, { className: "w-3 h-3 text-primary-foreground dark:text-primary" }) }),
|
|
6022
|
+
/* @__PURE__ */ jsx34("div", { className: "absolute inset-0 border-2 border-transparent border-t-primary dark:border-t-primary-foreground rounded-full matrx-spin" })
|
|
5975
6023
|
] }),
|
|
5976
|
-
/* @__PURE__ */
|
|
5977
|
-
/* @__PURE__ */
|
|
5978
|
-
/* @__PURE__ */
|
|
6024
|
+
/* @__PURE__ */ jsxs20("div", { className: "text-center space-y-2", children: [
|
|
6025
|
+
/* @__PURE__ */ jsxs20("h2", { className: "text-lg font-semibold text-foreground flex items-center gap-2 justify-center", children: [
|
|
6026
|
+
/* @__PURE__ */ jsx34(Loader2Icon, { className: "w-4 h-4 matrx-spin" }),
|
|
5979
6027
|
title || "Loading Workflow"
|
|
5980
6028
|
] }),
|
|
5981
|
-
/* @__PURE__ */
|
|
6029
|
+
/* @__PURE__ */ jsx34("p", { className: "type-body text-muted-foreground max-w-sm", children: subtitle || message || "Setting up your workflow..." })
|
|
5982
6030
|
] }),
|
|
5983
|
-
showProgressSteps && /* @__PURE__ */
|
|
5984
|
-
/* @__PURE__ */
|
|
5985
|
-
/* @__PURE__ */
|
|
5986
|
-
/* @__PURE__ */
|
|
6031
|
+
showProgressSteps && /* @__PURE__ */ jsxs20("div", { className: "flex items-center gap-2 type-secondary text-muted-foreground", children: [
|
|
6032
|
+
/* @__PURE__ */ jsxs20("div", { className: "flex items-center gap-1", children: [
|
|
6033
|
+
/* @__PURE__ */ jsx34("div", { className: "w-2 h-2 bg-primary dark:bg-primary-foreground rounded-full matrx-pulse" }),
|
|
6034
|
+
/* @__PURE__ */ jsx34("span", { children: "Loading" })
|
|
5987
6035
|
] }),
|
|
5988
|
-
/* @__PURE__ */
|
|
5989
|
-
/* @__PURE__ */
|
|
5990
|
-
/* @__PURE__ */
|
|
5991
|
-
/* @__PURE__ */
|
|
6036
|
+
/* @__PURE__ */ jsx34("div", { className: "w-4 h-px bg-muted-foreground/30" }),
|
|
6037
|
+
/* @__PURE__ */ jsxs20("div", { className: "flex items-center gap-1", children: [
|
|
6038
|
+
/* @__PURE__ */ jsx34("div", { className: "w-2 h-2 bg-muted-foreground/30 rounded-full" }),
|
|
6039
|
+
/* @__PURE__ */ jsx34("span", { children: "Initializing" })
|
|
5992
6040
|
] }),
|
|
5993
|
-
/* @__PURE__ */
|
|
5994
|
-
/* @__PURE__ */
|
|
5995
|
-
/* @__PURE__ */
|
|
5996
|
-
/* @__PURE__ */
|
|
6041
|
+
/* @__PURE__ */ jsx34("div", { className: "w-4 h-px bg-muted-foreground/30" }),
|
|
6042
|
+
/* @__PURE__ */ jsxs20("div", { className: "flex items-center gap-1", children: [
|
|
6043
|
+
/* @__PURE__ */ jsx34("div", { className: "w-2 h-2 bg-muted-foreground/30 rounded-full" }),
|
|
6044
|
+
/* @__PURE__ */ jsx34("span", { children: "Ready" })
|
|
5997
6045
|
] })
|
|
5998
6046
|
] })
|
|
5999
6047
|
] });
|
|
@@ -6022,13 +6070,13 @@ var LoadingSpinner = ({
|
|
|
6022
6070
|
}
|
|
6023
6071
|
};
|
|
6024
6072
|
if (variant === "workflow" && (fullscreen || overlay)) {
|
|
6025
|
-
return /* @__PURE__ */
|
|
6073
|
+
return /* @__PURE__ */ jsxs20("div", { className: cn(
|
|
6026
6074
|
"flex items-center justify-center bg-background",
|
|
6027
6075
|
fullscreen && "h-dvh w-full",
|
|
6028
6076
|
className
|
|
6029
6077
|
), "aria-busy": "true", children: [
|
|
6030
|
-
overlay && /* @__PURE__ */
|
|
6031
|
-
/* @__PURE__ */
|
|
6078
|
+
overlay && /* @__PURE__ */ jsx34("div", { className: "absolute inset-0 bg-background/80 backdrop-blur-sm z-50" }),
|
|
6079
|
+
/* @__PURE__ */ jsx34("div", { className: cn(
|
|
6032
6080
|
"flex flex-col items-center justify-center",
|
|
6033
6081
|
overlay && "relative z-50"
|
|
6034
6082
|
), children: renderWorkflow() })
|
|
@@ -6036,21 +6084,21 @@ var LoadingSpinner = ({
|
|
|
6036
6084
|
}
|
|
6037
6085
|
return (
|
|
6038
6086
|
// aria-busy: a spinner is a stand-in, and whatever measures a settled layout waits for it.
|
|
6039
|
-
/* @__PURE__ */
|
|
6087
|
+
/* @__PURE__ */ jsx34("div", { className: cn("flex items-center", className), "aria-busy": "true", children: variant === "workflow" ? renderWorkflow() : /* @__PURE__ */ jsxs20(Fragment8, { children: [
|
|
6040
6088
|
renderSpinner(),
|
|
6041
|
-
showMessage && /* @__PURE__ */
|
|
6089
|
+
showMessage && /* @__PURE__ */ jsx34("span", { className: cn("ml-3 text-muted-foreground", sizeClasses2.text), children: message || getDefaultMessage() })
|
|
6042
6090
|
] }) })
|
|
6043
6091
|
);
|
|
6044
6092
|
};
|
|
6045
6093
|
|
|
6046
6094
|
// src/mini-loader.tsx
|
|
6047
|
-
import { jsx as
|
|
6095
|
+
import { jsx as jsx35 } from "react/jsx-runtime";
|
|
6048
6096
|
function MatrxMiniLoader() {
|
|
6049
|
-
return /* @__PURE__ */
|
|
6097
|
+
return /* @__PURE__ */ jsx35(LoadingSpinner, { variant: "dots", message: "Initializing Matrx...", size: "md" });
|
|
6050
6098
|
}
|
|
6051
6099
|
|
|
6052
6100
|
// src/suspense-loader.tsx
|
|
6053
|
-
import { jsx as
|
|
6101
|
+
import { jsx as jsx36, jsxs as jsxs21 } from "react/jsx-runtime";
|
|
6054
6102
|
var sizeClasses = {
|
|
6055
6103
|
xs: "h-3 w-3",
|
|
6056
6104
|
sm: "h-4 w-4",
|
|
@@ -6063,7 +6111,7 @@ function SuspenseLoader({
|
|
|
6063
6111
|
message,
|
|
6064
6112
|
className = ""
|
|
6065
6113
|
}) {
|
|
6066
|
-
const spinner = /* @__PURE__ */
|
|
6114
|
+
const spinner = /* @__PURE__ */ jsx36(
|
|
6067
6115
|
Loader2Icon,
|
|
6068
6116
|
{
|
|
6069
6117
|
className: `${sizeClasses[size]} matrx-spin text-disabled-foreground ${className}`,
|
|
@@ -6071,7 +6119,7 @@ function SuspenseLoader({
|
|
|
6071
6119
|
"aria-label": message ? void 0 : "Loading"
|
|
6072
6120
|
}
|
|
6073
6121
|
);
|
|
6074
|
-
const content = message ? /* @__PURE__ */
|
|
6122
|
+
const content = message ? /* @__PURE__ */ jsxs21(
|
|
6075
6123
|
"span",
|
|
6076
6124
|
{
|
|
6077
6125
|
className: "inline-flex items-center gap-2",
|
|
@@ -6079,19 +6127,19 @@ function SuspenseLoader({
|
|
|
6079
6127
|
"aria-live": "polite",
|
|
6080
6128
|
children: [
|
|
6081
6129
|
spinner,
|
|
6082
|
-
/* @__PURE__ */
|
|
6130
|
+
/* @__PURE__ */ jsx36("span", { children: message })
|
|
6083
6131
|
]
|
|
6084
6132
|
}
|
|
6085
6133
|
) : spinner;
|
|
6086
6134
|
if (centered) {
|
|
6087
|
-
return /* @__PURE__ */
|
|
6135
|
+
return /* @__PURE__ */ jsx36("div", { className: "flex items-center justify-center w-full h-full min-h-[2rem]", children: content });
|
|
6088
6136
|
}
|
|
6089
6137
|
return content;
|
|
6090
6138
|
}
|
|
6091
6139
|
|
|
6092
6140
|
// src/shimmer-text.tsx
|
|
6093
6141
|
import { useCallback as useCallback8, useRef as useRef10 } from "react";
|
|
6094
|
-
import { jsx as
|
|
6142
|
+
import { jsx as jsx37 } from "react/jsx-runtime";
|
|
6095
6143
|
var SHIMMER_STYLE = {
|
|
6096
6144
|
backgroundImage: "linear-gradient(90deg, color-mix(in srgb, currentColor 18%, transparent) 0%, currentColor 50%, color-mix(in srgb, currentColor 18%, transparent) 100%)",
|
|
6097
6145
|
backgroundSize: "200% 100%",
|
|
@@ -6119,7 +6167,7 @@ function useShimmerSweep(durationMs = 2e3) {
|
|
|
6119
6167
|
}
|
|
6120
6168
|
function ShimmerText({ text, className }) {
|
|
6121
6169
|
const ref = useShimmerSweep();
|
|
6122
|
-
return /* @__PURE__ */
|
|
6170
|
+
return /* @__PURE__ */ jsx37(
|
|
6123
6171
|
"span",
|
|
6124
6172
|
{
|
|
6125
6173
|
ref,
|
|
@@ -6178,7 +6226,7 @@ function formThemeClasses(theme) {
|
|
|
6178
6226
|
import * as PopoverPrimitive2 from "@radix-ui/react-popover";
|
|
6179
6227
|
import { Slot as Slot4 } from "@radix-ui/react-slot";
|
|
6180
6228
|
import * as React28 from "react";
|
|
6181
|
-
import { Fragment as Fragment9, jsx as
|
|
6229
|
+
import { Fragment as Fragment9, jsx as jsx38, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
6182
6230
|
var FIRST_USE_HINT_TITLE_MAX = 32;
|
|
6183
6231
|
var FIRST_USE_HINT_DETAIL_MAX = 60;
|
|
6184
6232
|
var FirstUseHintContext = React28.createContext(null);
|
|
@@ -6186,7 +6234,7 @@ function FirstUseHintProvider({
|
|
|
6186
6234
|
store,
|
|
6187
6235
|
children
|
|
6188
6236
|
}) {
|
|
6189
|
-
return /* @__PURE__ */
|
|
6237
|
+
return /* @__PURE__ */ jsx38(FirstUseHintContext.Provider, { value: store, children });
|
|
6190
6238
|
}
|
|
6191
6239
|
var sessionLearned = /* @__PURE__ */ new Set();
|
|
6192
6240
|
var warnedNoProvider = false;
|
|
@@ -6269,9 +6317,9 @@ function FirstUseHint({
|
|
|
6269
6317
|
}),
|
|
6270
6318
|
[target]
|
|
6271
6319
|
);
|
|
6272
|
-
return /* @__PURE__ */
|
|
6273
|
-
pulse ? /* @__PURE__ */
|
|
6274
|
-
/* @__PURE__ */
|
|
6320
|
+
return /* @__PURE__ */ jsxs22(Popover, { open, children: [
|
|
6321
|
+
pulse ? /* @__PURE__ */ jsxs22(Fragment9, { children: [
|
|
6322
|
+
/* @__PURE__ */ jsx38(
|
|
6275
6323
|
Slot4,
|
|
6276
6324
|
{
|
|
6277
6325
|
ref: hostRef,
|
|
@@ -6280,8 +6328,8 @@ function FirstUseHint({
|
|
|
6280
6328
|
children
|
|
6281
6329
|
}
|
|
6282
6330
|
),
|
|
6283
|
-
/* @__PURE__ */
|
|
6284
|
-
] }) : /* @__PURE__ */
|
|
6331
|
+
/* @__PURE__ */ jsx38(PopoverAnchor, { virtualRef })
|
|
6332
|
+
] }) : /* @__PURE__ */ jsx38(
|
|
6285
6333
|
PopoverAnchor,
|
|
6286
6334
|
{
|
|
6287
6335
|
asChild: true,
|
|
@@ -6293,7 +6341,7 @@ function FirstUseHint({
|
|
|
6293
6341
|
children
|
|
6294
6342
|
}
|
|
6295
6343
|
),
|
|
6296
|
-
/* @__PURE__ */
|
|
6344
|
+
/* @__PURE__ */ jsxs22(
|
|
6297
6345
|
PopoverContent,
|
|
6298
6346
|
{
|
|
6299
6347
|
side,
|
|
@@ -6310,17 +6358,17 @@ function FirstUseHint({
|
|
|
6310
6358
|
onInteractOutside: (e) => e.preventDefault(),
|
|
6311
6359
|
onEscapeKeyDown: learn,
|
|
6312
6360
|
children: [
|
|
6313
|
-
/* @__PURE__ */
|
|
6314
|
-
/* @__PURE__ */
|
|
6315
|
-
/* @__PURE__ */
|
|
6361
|
+
/* @__PURE__ */ jsxs22("div", { className: "flex items-center gap-1 py-0.5 pl-3 pr-0.5", children: [
|
|
6362
|
+
/* @__PURE__ */ jsxs22("div", { className: "flex min-w-0 flex-col py-1", children: [
|
|
6363
|
+
/* @__PURE__ */ jsx38("span", { className: "type-secondary truncate font-medium text-foreground", children: title }),
|
|
6316
6364
|
detail ? (
|
|
6317
6365
|
// Two lines at most: on a 375px phone a full 60-character line can wrap once.
|
|
6318
|
-
/* @__PURE__ */
|
|
6366
|
+
/* @__PURE__ */ jsx38("span", { className: "type-secondary line-clamp-2 text-muted-foreground", children: detail })
|
|
6319
6367
|
) : null
|
|
6320
6368
|
] }),
|
|
6321
|
-
/* @__PURE__ */
|
|
6369
|
+
/* @__PURE__ */ jsx38(IconButton, { icon: XIcon, "aria-label": "Dismiss tip", className: "shrink-0", onClick: learn })
|
|
6322
6370
|
] }),
|
|
6323
|
-
/* @__PURE__ */
|
|
6371
|
+
/* @__PURE__ */ jsx38(PopoverPrimitive2.Arrow, { className: "fill-popover", width: 10, height: 5 })
|
|
6324
6372
|
]
|
|
6325
6373
|
}
|
|
6326
6374
|
)
|
|
@@ -6329,7 +6377,7 @@ function FirstUseHint({
|
|
|
6329
6377
|
|
|
6330
6378
|
// src/review-changes.tsx
|
|
6331
6379
|
import * as React29 from "react";
|
|
6332
|
-
import { jsx as
|
|
6380
|
+
import { jsx as jsx39, jsxs as jsxs23 } from "react/jsx-runtime";
|
|
6333
6381
|
var SKIP = "skip";
|
|
6334
6382
|
function unansweredQuestions(preview, answers) {
|
|
6335
6383
|
return preview.questions.filter((q) => !answers[q.id]);
|
|
@@ -6347,11 +6395,11 @@ function ItemDoor({ item, onOpenItem }) {
|
|
|
6347
6395
|
const renderItem = React29.useContext(RenderItemContext);
|
|
6348
6396
|
const hosted = renderItem ? renderItem(item) : null;
|
|
6349
6397
|
if (hosted != null) {
|
|
6350
|
-
return /* @__PURE__ */
|
|
6398
|
+
return /* @__PURE__ */ jsx39("span", { "data-change-item": item.id, className: "inline-flex max-w-full items-center", children: hosted });
|
|
6351
6399
|
}
|
|
6352
6400
|
const title = item.title?.trim() || "Untitled";
|
|
6353
|
-
return /* @__PURE__ */
|
|
6354
|
-
/* @__PURE__ */
|
|
6401
|
+
return /* @__PURE__ */ jsxs23("span", { "data-change-item": item.id, className: "inline-flex max-w-full items-center gap-0.5", children: [
|
|
6402
|
+
/* @__PURE__ */ jsx39(
|
|
6355
6403
|
Button2,
|
|
6356
6404
|
{
|
|
6357
6405
|
type: "button",
|
|
@@ -6362,12 +6410,12 @@ function ItemDoor({ item, onOpenItem }) {
|
|
|
6362
6410
|
children: title
|
|
6363
6411
|
}
|
|
6364
6412
|
),
|
|
6365
|
-
/* @__PURE__ */
|
|
6413
|
+
/* @__PURE__ */ jsx39(
|
|
6366
6414
|
Button2,
|
|
6367
6415
|
{
|
|
6368
6416
|
type: "button",
|
|
6369
6417
|
variant: "quiet",
|
|
6370
|
-
icon: /* @__PURE__ */
|
|
6418
|
+
icon: /* @__PURE__ */ jsx39(ExternalLinkIcon, {}),
|
|
6371
6419
|
"data-clickable": "",
|
|
6372
6420
|
"aria-label": `Open ${title} in a new tab`,
|
|
6373
6421
|
className: "shrink-0",
|
|
@@ -6379,9 +6427,9 @@ function ItemDoor({ item, onOpenItem }) {
|
|
|
6379
6427
|
function Doors({ items, total, onOpenItem }) {
|
|
6380
6428
|
if (!items.length) return null;
|
|
6381
6429
|
const more = (total ?? items.length) - items.length;
|
|
6382
|
-
return /* @__PURE__ */
|
|
6383
|
-
items.map((item) => /* @__PURE__ */
|
|
6384
|
-
more > 0 ? /* @__PURE__ */
|
|
6430
|
+
return /* @__PURE__ */ jsxs23("span", { className: "flex min-w-0 flex-wrap items-center gap-x-3 gap-y-1", children: [
|
|
6431
|
+
items.map((item) => /* @__PURE__ */ jsx39(ItemDoor, { item, onOpenItem }, `${item.table ?? item.type}:${item.id}`)),
|
|
6432
|
+
more > 0 ? /* @__PURE__ */ jsxs23("span", { className: "text-xs text-muted-foreground", children: [
|
|
6385
6433
|
"+",
|
|
6386
6434
|
more,
|
|
6387
6435
|
" more"
|
|
@@ -6389,17 +6437,17 @@ function Doors({ items, total, onOpenItem }) {
|
|
|
6389
6437
|
] });
|
|
6390
6438
|
}
|
|
6391
6439
|
function Row({ title, meta, children }) {
|
|
6392
|
-
return /* @__PURE__ */
|
|
6393
|
-
/* @__PURE__ */
|
|
6394
|
-
/* @__PURE__ */
|
|
6395
|
-
meta ? /* @__PURE__ */
|
|
6440
|
+
return /* @__PURE__ */ jsxs23("div", { "data-change-row": "", className: "flex flex-col gap-1 px-3 py-2", children: [
|
|
6441
|
+
/* @__PURE__ */ jsxs23("div", { className: "flex items-baseline justify-between gap-3", children: [
|
|
6442
|
+
/* @__PURE__ */ jsx39("span", { className: "min-w-0 text-sm text-foreground", children: title }),
|
|
6443
|
+
meta ? /* @__PURE__ */ jsx39("span", { className: "shrink-0 text-xs text-muted-foreground", children: meta }) : null
|
|
6396
6444
|
] }),
|
|
6397
6445
|
children
|
|
6398
6446
|
] });
|
|
6399
6447
|
}
|
|
6400
6448
|
function Alarm({ warning, onOpenItem }) {
|
|
6401
6449
|
const items = [...warning.items ?? [], ...warning.users ?? []];
|
|
6402
|
-
return /* @__PURE__ */
|
|
6450
|
+
return /* @__PURE__ */ jsxs23(
|
|
6403
6451
|
"div",
|
|
6404
6452
|
{
|
|
6405
6453
|
role: "alert",
|
|
@@ -6407,8 +6455,8 @@ function Alarm({ warning, onOpenItem }) {
|
|
|
6407
6455
|
"data-severity": warning.severity,
|
|
6408
6456
|
className: "flex flex-col gap-1.5 rounded-group border border-destructive bg-destructive/10 px-3 py-2",
|
|
6409
6457
|
children: [
|
|
6410
|
-
/* @__PURE__ */
|
|
6411
|
-
/* @__PURE__ */
|
|
6458
|
+
/* @__PURE__ */ jsx39("span", { className: "text-sm font-medium text-foreground", children: warning.message }),
|
|
6459
|
+
/* @__PURE__ */ jsx39(Doors, { items, total: warning.count ?? items.length, onOpenItem })
|
|
6412
6460
|
]
|
|
6413
6461
|
}
|
|
6414
6462
|
);
|
|
@@ -6425,10 +6473,10 @@ function Question({ question, answer, onAnswer, onOpenItem, disabled }) {
|
|
|
6425
6473
|
const suggested = !question.suggested ? null : yes && question.suggested === yes.value ? "yes" : noOption && question.suggested === noOption.value ? "no" : "other";
|
|
6426
6474
|
const wayOut = rest.map((o) => ({ value: o.value, label: o.label }));
|
|
6427
6475
|
const chosen = [...question.options, ...question.way_out].find((o) => o.value === answer);
|
|
6428
|
-
return /* @__PURE__ */
|
|
6429
|
-
/* @__PURE__ */
|
|
6430
|
-
/* @__PURE__ */
|
|
6431
|
-
/* @__PURE__ */
|
|
6476
|
+
return /* @__PURE__ */ jsxs23("div", { "data-change-question": question.id, "data-kind": question.kind, className: "flex flex-col gap-1.5 px-3 py-2", children: [
|
|
6477
|
+
/* @__PURE__ */ jsx39("span", { className: "text-sm text-foreground", children: question.prompt }),
|
|
6478
|
+
/* @__PURE__ */ jsx39(Doors, { items: question.items.sample, total: question.items.count, onOpenItem }),
|
|
6479
|
+
/* @__PURE__ */ jsx39(
|
|
6432
6480
|
DecisionControl,
|
|
6433
6481
|
{
|
|
6434
6482
|
value,
|
|
@@ -6450,7 +6498,7 @@ function Question({ question, answer, onAnswer, onOpenItem, disabled }) {
|
|
|
6450
6498
|
"aria-label": question.prompt
|
|
6451
6499
|
}
|
|
6452
6500
|
),
|
|
6453
|
-
chosen?.consequence ? /* @__PURE__ */
|
|
6501
|
+
chosen?.consequence ? /* @__PURE__ */ jsx39("span", { className: "text-xs text-muted-foreground", children: chosen.consequence }) : null
|
|
6454
6502
|
] });
|
|
6455
6503
|
}
|
|
6456
6504
|
var VERB_WORDS = {
|
|
@@ -6459,7 +6507,7 @@ var VERB_WORDS = {
|
|
|
6459
6507
|
move: { goes: "Moves with it", commit: "Move" }
|
|
6460
6508
|
};
|
|
6461
6509
|
function ReviewChanges({ renderItem, ...props }) {
|
|
6462
|
-
return /* @__PURE__ */
|
|
6510
|
+
return /* @__PURE__ */ jsx39(RenderItemContext.Provider, { value: renderItem, children: /* @__PURE__ */ jsx39(ReviewChangesBody, { ...props }) });
|
|
6463
6511
|
}
|
|
6464
6512
|
function ReviewChangesBody({ preview, answers, onAnswer, onOpenItem, onCommit, onCancel, busy, commitLabel, className }) {
|
|
6465
6513
|
const words = VERB_WORDS[preview.verb] ?? { goes: "Changes with it", commit: "Apply" };
|
|
@@ -6473,23 +6521,23 @@ function ReviewChangesBody({ preview, answers, onAnswer, onOpenItem, onCommit, o
|
|
|
6473
6521
|
const suggestible = pending.filter((q) => q.suggested);
|
|
6474
6522
|
const ready = canCommitChanges(preview, answers);
|
|
6475
6523
|
const target = preview.target_organization?.name;
|
|
6476
|
-
return /* @__PURE__ */
|
|
6477
|
-
alarms.map((w, i) => /* @__PURE__ */
|
|
6478
|
-
/* @__PURE__ */
|
|
6479
|
-
moving.length ? /* @__PURE__ */
|
|
6480
|
-
kept.length || staying.length ? /* @__PURE__ */
|
|
6481
|
-
kept.map((w, i) => /* @__PURE__ */
|
|
6482
|
-
staying.map((g) => /* @__PURE__ */
|
|
6524
|
+
return /* @__PURE__ */ jsxs23("div", { "data-review-changes": "", "data-verb": preview.verb, className: cn("flex min-h-0 flex-col gap-3", className), children: [
|
|
6525
|
+
alarms.map((w, i) => /* @__PURE__ */ jsx39(Alarm, { warning: w, onOpenItem }, `${w.kind}:${i}`)),
|
|
6526
|
+
/* @__PURE__ */ jsx39(RowGroup, { title: preview.verb === "move" && target ? `Moving to ${target}` : void 0, children: /* @__PURE__ */ jsx39(Row, { title: /* @__PURE__ */ jsx39(Doors, { items: preview.roots, onOpenItem }) }) }),
|
|
6527
|
+
moving.length ? /* @__PURE__ */ jsx39(RowGroup, { title: words.goes, children: moving.map((g) => /* @__PURE__ */ jsx39(Row, { title: g.noun, meta: `${g.count_is_estimate ? "about " : ""}${g.count}`, children: /* @__PURE__ */ jsx39(Doors, { items: g.sample, total: g.count, onOpenItem }) }, `${g.rule_id ?? "root"}:${g.table ?? g.type}`)) }) : null,
|
|
6528
|
+
kept.length || staying.length ? /* @__PURE__ */ jsxs23(RowGroup, { title: "Stays where it is", children: [
|
|
6529
|
+
kept.map((w, i) => /* @__PURE__ */ jsx39(Row, { title: w.message ?? w.noun ?? "Used elsewhere", meta: w.count ?? void 0, children: /* @__PURE__ */ jsx39(Doors, { items: w.items ?? [], total: w.count, onOpenItem }) }, `kept:${i}`)),
|
|
6530
|
+
staying.map((g) => /* @__PURE__ */ jsx39(Row, { title: g.noun, meta: g.count, children: /* @__PURE__ */ jsx39(Doors, { items: g.sample, total: g.count, onOpenItem }) }, `stay:${g.table ?? g.type}`))
|
|
6483
6531
|
] }) : null,
|
|
6484
|
-
preview.questions.length ? /* @__PURE__ */
|
|
6485
|
-
auto || unchecked ? /* @__PURE__ */
|
|
6486
|
-
auto ? /* @__PURE__ */
|
|
6487
|
-
unchecked ? /* @__PURE__ */
|
|
6532
|
+
preview.questions.length ? /* @__PURE__ */ jsx39(RowGroup, { title: "Decide", children: preview.questions.map((q) => /* @__PURE__ */ jsx39(Question, { question: q, answer: answers[q.id], onAnswer, onOpenItem, disabled: busy }, q.id)) }) : null,
|
|
6533
|
+
auto || unchecked ? /* @__PURE__ */ jsxs23("div", { className: "flex flex-wrap gap-2 px-1", children: [
|
|
6534
|
+
auto ? /* @__PURE__ */ jsx39(Badge, { tone: "neutral", children: `${auto.count ?? ""} decided automatically`.trim() }) : null,
|
|
6535
|
+
unchecked ? /* @__PURE__ */ jsx39(Badge, { tone: "neutral", children: "Links inside text not checked" }) : null
|
|
6488
6536
|
] }) : null,
|
|
6489
|
-
/* @__PURE__ */
|
|
6490
|
-
suggestible.length ? /* @__PURE__ */
|
|
6491
|
-
/* @__PURE__ */
|
|
6492
|
-
/* @__PURE__ */
|
|
6537
|
+
/* @__PURE__ */ jsxs23("div", { "data-review-changes-actions": "", className: "flex flex-wrap items-center justify-end gap-2", children: [
|
|
6538
|
+
suggestible.length ? /* @__PURE__ */ jsx39(Button2, { variant: "quiet", disabled: busy, onClick: () => suggestible.forEach((q) => onAnswer(q.id, q.suggested)), children: "Accept suggestions" }) : null,
|
|
6539
|
+
/* @__PURE__ */ jsx39(Button2, { variant: "outline", disabled: busy, onClick: onCancel, children: "Cancel" }),
|
|
6540
|
+
/* @__PURE__ */ jsx39(Button2, { variant: preview.verb === "delete" ? "danger" : "primary", disabled: busy || !ready, onClick: onCommit, children: commitLabel ?? words.commit })
|
|
6493
6541
|
] })
|
|
6494
6542
|
] });
|
|
6495
6543
|
}
|
|
@@ -6660,7 +6708,7 @@ function insertLines(boxes, id, line, col, cols) {
|
|
|
6660
6708
|
}
|
|
6661
6709
|
|
|
6662
6710
|
// src/grid-canvas/grid-canvas.tsx
|
|
6663
|
-
import { jsx as
|
|
6711
|
+
import { jsx as jsx40, jsxs as jsxs24 } from "react/jsx-runtime";
|
|
6664
6712
|
var GRID_CANVAS_COLUMNS = { lg: 12, sm: 4 };
|
|
6665
6713
|
var GRID_CANVAS_PHONE_MAX_PX = 640;
|
|
6666
6714
|
var GRID_CANVAS_ROW_PX = 24;
|
|
@@ -6835,7 +6883,7 @@ function GridCanvas({
|
|
|
6835
6883
|
};
|
|
6836
6884
|
const rows = { lg: gridRows(grids.lg), sm: gridRows(grids.sm) };
|
|
6837
6885
|
const active = preview ? preview.boxes.find((b) => b.id === preview.id) : void 0;
|
|
6838
|
-
return /* @__PURE__ */
|
|
6886
|
+
return /* @__PURE__ */ jsxs24(
|
|
6839
6887
|
"div",
|
|
6840
6888
|
{
|
|
6841
6889
|
ref: rootRef,
|
|
@@ -6855,8 +6903,8 @@ function GridCanvas({
|
|
|
6855
6903
|
"--grid-rows-sm": preview?.breakpoint === "sm" ? rows.sm + 1 : rows.sm
|
|
6856
6904
|
},
|
|
6857
6905
|
children: [
|
|
6858
|
-
/* @__PURE__ */
|
|
6859
|
-
active && preview ? /* @__PURE__ */
|
|
6906
|
+
/* @__PURE__ */ jsxs24("div", { className: "matrx-grid-canvas-field", children: [
|
|
6907
|
+
active && preview ? /* @__PURE__ */ jsx40("div", { className: "matrx-grid-canvas-placeholder", "aria-hidden": true, style: placementVars(active, active) }) : null,
|
|
6860
6908
|
items.map((item, n) => {
|
|
6861
6909
|
const lg = grids.lg[n];
|
|
6862
6910
|
const sm = grids.sm[n];
|
|
@@ -6865,7 +6913,7 @@ function GridCanvas({
|
|
|
6865
6913
|
const drawLg = moving && preview.breakpoint === "lg" ? startBox : lg;
|
|
6866
6914
|
const drawSm = moving && preview.breakpoint === "sm" ? startBox : sm;
|
|
6867
6915
|
const label = itemLabel?.(item.id);
|
|
6868
|
-
return /* @__PURE__ */
|
|
6916
|
+
return /* @__PURE__ */ jsxs24(
|
|
6869
6917
|
"div",
|
|
6870
6918
|
{
|
|
6871
6919
|
ref: (el) => {
|
|
@@ -6881,8 +6929,8 @@ function GridCanvas({
|
|
|
6881
6929
|
onPointerDown: editable ? (e) => onItemPointerDown(e, item.id) : void 0,
|
|
6882
6930
|
onKeyDown: editable ? (e) => onItemKeyDown(e, item.id) : void 0,
|
|
6883
6931
|
children: [
|
|
6884
|
-
/* @__PURE__ */
|
|
6885
|
-
editable ? /* @__PURE__ */
|
|
6932
|
+
/* @__PURE__ */ jsx40("div", { className: "matrx-grid-canvas-content", children: renderItem(item.id, { breakpoint, editing: editable }) }),
|
|
6933
|
+
editable ? /* @__PURE__ */ jsx40(
|
|
6886
6934
|
"span",
|
|
6887
6935
|
{
|
|
6888
6936
|
className: "matrx-grid-canvas-resize",
|
|
@@ -6897,7 +6945,7 @@ function GridCanvas({
|
|
|
6897
6945
|
);
|
|
6898
6946
|
})
|
|
6899
6947
|
] }),
|
|
6900
|
-
/* @__PURE__ */
|
|
6948
|
+
/* @__PURE__ */ jsx40("span", { className: "matrx-grid-canvas-live", "aria-live": "polite", children: announcement })
|
|
6901
6949
|
]
|
|
6902
6950
|
}
|
|
6903
6951
|
);
|
|
@@ -7146,6 +7194,7 @@ export {
|
|
|
7146
7194
|
Peek,
|
|
7147
7195
|
PeekEntityRendererProvider,
|
|
7148
7196
|
PeekHoverCard,
|
|
7197
|
+
PeekNotice,
|
|
7149
7198
|
PeekPartRendererProvider,
|
|
7150
7199
|
PeekPopover,
|
|
7151
7200
|
PeekWindow,
|