@object-ui/components 13.1.0 → 13.2.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/CHANGELOG.md +59 -0
- package/dist/index.js +87 -75
- package/dist/index.umd.cjs +2 -2
- package/dist/renderers/action/action-group.d.ts +16 -0
- package/package.json +7 -7
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,64 @@
|
|
|
1
1
|
# @object-ui/components
|
|
2
2
|
|
|
3
|
+
## 13.2.0
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 80901aa: Honor action `visible` (and `enabled`) predicates in three more action renderers.
|
|
8
|
+
|
|
9
|
+
Following the data-table row-action fix, three sibling renderers still rendered schema-defined actions without evaluating their `visible` CEL predicate:
|
|
10
|
+
|
|
11
|
+
- **`action:group` dropdown mode** (`@object-ui/components`) — dropdown items ignored `visible`/`enabled`, while the group's inline mode already honored them.
|
|
12
|
+
- **Related-list `list_toolbar` header actions** (`@object-ui/plugin-detail`) — e.g. an organization's "Invite User" button ignored `visible`, even though the sibling row actions (fed by the same `deriveActions` bridge) already honored it via the data-table's `DataTableRowActionItem`.
|
|
13
|
+
- **Grid bulk-action bar** (`@object-ui/plugin-grid`) — `bulkActionDefs.visible` was ignored entirely; the button is now hidden when the predicate is false (the `BulkActionDef.visible` doc comment is corrected from "disables" to "hides" to match).
|
|
14
|
+
|
|
15
|
+
Each now evaluates `visible` (and, where applicable, `enabled`) via a hook-safe per-item component that mirrors `RowActionMenuItem` / `DataTableRowActionItem`, resolving `features`/`user` from the ambient `ExpressionProvider` scope. Rendering-layer only — no action definitions changed.
|
|
16
|
+
|
|
17
|
+
- e492b9d: Permission sets — pure separation of **design** (Studio) and **assignment**
|
|
18
|
+
(Setup), per ADR-0056 / epic #2398. A `sys_permission_set` used to render its six
|
|
19
|
+
authorization facets in Setup as raw `[Object]` / JSON textareas, and only
|
|
20
|
+
objects+fields were editable in Studio; this reworks both surfaces.
|
|
21
|
+
|
|
22
|
+
**Setup (assign + read-only):**
|
|
23
|
+
- The six facets (`object_permissions`, `field_permissions`, `system_permissions`,
|
|
24
|
+
`row_level_security`, `tab_permissions`, `admin_scope`) now render read-only on
|
|
25
|
+
the `sys_permission_set` record page as a compact summary (counts, or capability
|
|
26
|
+
chips) plus a **“Design in Studio →”** deep-link into the structured editor
|
|
27
|
+
(`/apps/:appName/metadata/permission/:setName`, env scope). No `[Object]`, no
|
|
28
|
+
JSON — in the record view, inline edit, and the create/edit form. Implemented as
|
|
29
|
+
a `permission-facet-link` field widget stamped onto the six fields via the single
|
|
30
|
+
`ObjectStackAdapter.getObjectSchema` choke point and honored by DetailSection +
|
|
31
|
+
the record form.
|
|
32
|
+
- User assignment (add/remove via `sys_user_permission_set`) is surfaced directly
|
|
33
|
+
on the Setup record page.
|
|
34
|
+
|
|
35
|
+
**Studio (design every facet):** the permission matrix editor gains structured
|
|
36
|
+
editors for the facets that were JSON-only —
|
|
37
|
+
- **System Capabilities**: a multi-select over the live `sys_capability` registry
|
|
38
|
+
(scope-grouped, labelled chips).
|
|
39
|
+
- **Row-Level Security**: per-policy rows (object · operation · enabled) with CEL
|
|
40
|
+
USING/CHECK.
|
|
41
|
+
- **Tab Visibility**: per-tab `visible | hidden | default_on | default_off`.
|
|
42
|
+
- **Delegated Admin Scope**: business-unit + subtree, manage-assignments /
|
|
43
|
+
-bindings / author-env-sets toggles, and an assignable-permission-sets allowlist.
|
|
44
|
+
Assignment was moved out of the editor (it is now a Setup act) — the editor is
|
|
45
|
+
purely a design surface.
|
|
46
|
+
|
|
47
|
+
Storage/types are unchanged; editors read/write the draft’s existing parsed
|
|
48
|
+
fields and tolerate legacy JSON strings on load. Note: env-scope metadata saves of
|
|
49
|
+
these facets do not yet project onto the queryable `sys_permission_set` data
|
|
50
|
+
record the Setup summary reads, so a fresh Studio edit isn’t reflected in Setup’s
|
|
51
|
+
read-only view until the projection refreshes — tracked as a framework follow-up
|
|
52
|
+
(enforcement reads the authoritative metadata).
|
|
53
|
+
|
|
54
|
+
- Updated dependencies [53c40c2]
|
|
55
|
+
- @object-ui/i18n@13.2.0
|
|
56
|
+
- @object-ui/react@13.2.0
|
|
57
|
+
- @object-ui/types@13.2.0
|
|
58
|
+
- @object-ui/core@13.2.0
|
|
59
|
+
- @object-ui/react-runtime@13.2.0
|
|
60
|
+
- @object-ui/sdui-parser@13.2.0
|
|
61
|
+
|
|
3
62
|
## 13.1.0
|
|
4
63
|
|
|
5
64
|
### Patch Changes
|
package/dist/index.js
CHANGED
|
@@ -3582,7 +3582,8 @@ var gc = tn({
|
|
|
3582
3582
|
]), xc = /* @__PURE__ */ new Set([
|
|
3583
3583
|
"lookup",
|
|
3584
3584
|
"master_detail",
|
|
3585
|
-
"tree"
|
|
3585
|
+
"tree",
|
|
3586
|
+
"capability-multiselect"
|
|
3586
3587
|
]);
|
|
3587
3588
|
function Sc(e) {
|
|
3588
3589
|
let { dataSource: t, inputType: n, options: r, field: i, schema: a, showActions: o, fieldContainerClass: s, mobileStickyActions: c, mobile_fullscreen: l, fullscreen: u, dependentValues: d, dependsOn: f, emptyHint: p, ...m } = e;
|
|
@@ -3785,13 +3786,13 @@ t.register("form", ({ schema: e, className: t, onAction: n, ...r }) => {
|
|
|
3785
3786
|
type: "form_cancel",
|
|
3786
3787
|
data: D.getValues()
|
|
3787
3788
|
});
|
|
3788
|
-
}, le = y > 1 ? K("grid gap-4", y === 1 ? "" : y === 2 ? "md:grid-cols-2" : y === 3 ? "md:grid-cols-2 lg:grid-cols-3" : "md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4") : "space-y-4", { "data-obj-id": L, "data-obj-type": ue, style: de, onSubmit: fe, onChange: pe, submitLabel: me, cancelLabel: he, showSubmit: ge, showCancel: _e, resetOnSubmit: ve, defaultValues: ye, inputType: be, dataSource: xe, showActions: Se, fieldContainerClass: Ce, mobileStickyActions: we,
|
|
3789
|
+
}, le = y > 1 ? K("grid gap-4", y === 1 ? "" : y === 2 ? "md:grid-cols-2" : y === 3 ? "md:grid-cols-2 lg:grid-cols-3" : "md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4") : "space-y-4", { "data-obj-id": L, "data-obj-type": ue, style: de, onSubmit: fe, onChange: pe, submitLabel: me, cancelLabel: he, showSubmit: ge, showCancel: _e, resetOnSubmit: ve, defaultValues: ye, inputType: be, dataSource: xe, showActions: Se, fieldContainerClass: Ce, mobileStickyActions: we, objectName: Te, onDirtyChange: Ee, onCancel: De, fields: Oe, layout: ke, columns: Ae, validationMode: je, disabled: Me, ...Ne } = r;
|
|
3789
3790
|
return /* @__PURE__ */ F(Ai, {
|
|
3790
3791
|
...D,
|
|
3791
3792
|
children: /* @__PURE__ */ I("form", {
|
|
3792
3793
|
onSubmit: P,
|
|
3793
3794
|
className: t,
|
|
3794
|
-
...
|
|
3795
|
+
...Ne,
|
|
3795
3796
|
"data-obj-id": L,
|
|
3796
3797
|
"data-obj-type": ue,
|
|
3797
3798
|
style: de,
|
|
@@ -13082,7 +13083,21 @@ var Hd = ({ action: e, variant: t, size: n, onExecute: r }) => {
|
|
|
13082
13083
|
});
|
|
13083
13084
|
};
|
|
13084
13085
|
Hd.displayName = "InlineActionButton";
|
|
13085
|
-
var Ud =
|
|
13086
|
+
var Ud = ({ action: e, index: t, onSelect: n }) => {
|
|
13087
|
+
let r = w(x(e.visible)), i = w(x(e.enabled));
|
|
13088
|
+
if (e.visible && !r) return null;
|
|
13089
|
+
let a = wd(e.icon), o = e.enabled ? !i : !1;
|
|
13090
|
+
return /* @__PURE__ */ I(P, { children: [e.tags?.includes("separator-before") && t > 0 && /* @__PURE__ */ F(Di, {}), /* @__PURE__ */ I(Ci, {
|
|
13091
|
+
disabled: o,
|
|
13092
|
+
onSelect: async (t) => {
|
|
13093
|
+
t.preventDefault(), !o && await n(e);
|
|
13094
|
+
},
|
|
13095
|
+
className: K(e.variant === "destructive" && "text-destructive focus:text-destructive", e.className),
|
|
13096
|
+
children: [a && /* @__PURE__ */ F(a, { className: "mr-2 h-4 w-4" }), /* @__PURE__ */ F("span", { children: e.label || e.name })]
|
|
13097
|
+
})] });
|
|
13098
|
+
};
|
|
13099
|
+
Ud.displayName = "DropdownActionItem";
|
|
13100
|
+
var Wd = j(({ schema: e, className: t, ...n }, r) => {
|
|
13086
13101
|
let { "data-obj-id": i, "data-obj-type": a, style: o, ...s } = n, { execute: c } = S(), [l, u] = N(!1), d = w(x(e.visible)), f = e.actions || [];
|
|
13087
13102
|
e.location && (f = f.filter((t) => !t.locations || t.locations.includes(e.location)));
|
|
13088
13103
|
let p = M(async (e) => {
|
|
@@ -13102,7 +13117,14 @@ var Ud = j(({ schema: e, className: t, ...n }, r) => {
|
|
|
13102
13117
|
locations: e.locations,
|
|
13103
13118
|
toast: e.toast
|
|
13104
13119
|
});
|
|
13105
|
-
}, [c])
|
|
13120
|
+
}, [c]), m = M(async (e) => {
|
|
13121
|
+
u(!0);
|
|
13122
|
+
try {
|
|
13123
|
+
await p(e);
|
|
13124
|
+
} finally {
|
|
13125
|
+
u(!1);
|
|
13126
|
+
}
|
|
13127
|
+
}, [p]);
|
|
13106
13128
|
if (e.visible && !d || f.length === 0) return null;
|
|
13107
13129
|
if ((e.display || "inline") === "dropdown") {
|
|
13108
13130
|
let n = wd(e.icon);
|
|
@@ -13126,21 +13148,11 @@ var Ud = j(({ schema: e, className: t, ...n }, r) => {
|
|
|
13126
13148
|
})
|
|
13127
13149
|
}), /* @__PURE__ */ F(Si, {
|
|
13128
13150
|
align: "end",
|
|
13129
|
-
children: f.map((e, t) => {
|
|
13130
|
-
|
|
13131
|
-
|
|
13132
|
-
|
|
13133
|
-
|
|
13134
|
-
try {
|
|
13135
|
-
await p(e);
|
|
13136
|
-
} finally {
|
|
13137
|
-
u(!1);
|
|
13138
|
-
}
|
|
13139
|
-
},
|
|
13140
|
-
className: K(e.variant === "destructive" && "text-destructive focus:text-destructive", e.className),
|
|
13141
|
-
children: [n && /* @__PURE__ */ F(n, { className: "mr-2 h-4 w-4" }), /* @__PURE__ */ F("span", { children: e.label || e.name })]
|
|
13142
|
-
})] }, e.name || t);
|
|
13143
|
-
})
|
|
13151
|
+
children: f.map((e, t) => /* @__PURE__ */ F(Ud, {
|
|
13152
|
+
action: e,
|
|
13153
|
+
index: t,
|
|
13154
|
+
onSelect: m
|
|
13155
|
+
}, e.name || t))
|
|
13144
13156
|
})] });
|
|
13145
13157
|
}
|
|
13146
13158
|
return /* @__PURE__ */ F("div", {
|
|
@@ -13158,7 +13170,7 @@ var Ud = j(({ schema: e, className: t, ...n }, r) => {
|
|
|
13158
13170
|
}, t.name))
|
|
13159
13171
|
});
|
|
13160
13172
|
});
|
|
13161
|
-
|
|
13173
|
+
Wd.displayName = "ActionGroupRenderer", t.register("action:group", Wd, {
|
|
13162
13174
|
namespace: "action",
|
|
13163
13175
|
label: "Action Group",
|
|
13164
13176
|
inputs: [
|
|
@@ -13228,7 +13240,7 @@ Ud.displayName = "ActionGroupRenderer", t.register("action:group", Ud, {
|
|
|
13228
13240
|
});
|
|
13229
13241
|
//#endregion
|
|
13230
13242
|
//#region src/renderers/action/action-bar.tsx
|
|
13231
|
-
function
|
|
13243
|
+
function Gd() {
|
|
13232
13244
|
try {
|
|
13233
13245
|
let { t: e } = on(), t = e("common.actions");
|
|
13234
13246
|
return !t || t === "common.actions" ? "Actions" : t;
|
|
@@ -13236,8 +13248,8 @@ function Wd() {
|
|
|
13236
13248
|
return "Actions";
|
|
13237
13249
|
}
|
|
13238
13250
|
}
|
|
13239
|
-
var
|
|
13240
|
-
let a =
|
|
13251
|
+
var Kd = j(({ schema: e, className: n, ...r }, i) => {
|
|
13252
|
+
let a = Gd(), { "data-obj-id": o, "data-obj-type": s, style: c, data: l, actions: u, systemActions: d, location: f, maxVisible: p, mobileMaxVisible: m, direction: h, gap: g, variant: _, size: v, visible: y, ...b } = r, S = w(x(e.visible), void 0, { throwOnError: !0 }), C = io(), T = ie(() => {
|
|
13241
13253
|
let t = e.actions || [], n = e.location ? t.filter((t) => !t.locations || t.locations.length === 0 || t.locations.includes(e.location)) : t, r = /* @__PURE__ */ new Set(), i = n.filter((e) => e.name ? r.has(e.name) ? !1 : (r.add(e.name), !0) : !0);
|
|
13242
13254
|
return i.some((e) => e.order !== void 0) ? [...i].sort((e, t) => (e.order ?? 0) - (t.order ?? 0)) : i;
|
|
13243
13255
|
}, [e.actions, e.location]), E = ie(() => {
|
|
@@ -13293,7 +13305,7 @@ var Gd = j(({ schema: e, className: n, ...r }, i) => {
|
|
|
13293
13305
|
}), te.length > 0 && j]
|
|
13294
13306
|
});
|
|
13295
13307
|
});
|
|
13296
|
-
|
|
13308
|
+
Kd.displayName = "ActionBarRenderer", t.register("action:bar", Kd, {
|
|
13297
13309
|
namespace: "action",
|
|
13298
13310
|
label: "Action Bar",
|
|
13299
13311
|
inputs: [
|
|
@@ -13366,7 +13378,7 @@ Gd.displayName = "ActionBarRenderer", t.register("action:bar", Gd, {
|
|
|
13366
13378
|
});
|
|
13367
13379
|
//#endregion
|
|
13368
13380
|
//#region src/renderers/placeholders.tsx
|
|
13369
|
-
var
|
|
13381
|
+
var qd = ({ schema: e, className: t }) => {
|
|
13370
13382
|
let n = e.type, r = n.startsWith("view:"), i = n.startsWith("widget:"), a = n.startsWith("field:");
|
|
13371
13383
|
return /* @__PURE__ */ I("div", {
|
|
13372
13384
|
className: K("flex flex-col items-center justify-center p-6 border-2 border-dashed rounded-lg bg-muted/30 transition-colors hover:bg-muted/50", r && "border-blue-300 bg-blue-50/50 min-h-[200px]", i && "border-purple-300 bg-purple-50/50 min-h-[150px]", a && "border-yellow-300 bg-yellow-50/50 p-2 min-h-[40px] flex-row gap-2 justify-start", t),
|
|
@@ -13393,15 +13405,15 @@ var Kd = ({ schema: e, className: t }) => {
|
|
|
13393
13405
|
})]
|
|
13394
13406
|
})]
|
|
13395
13407
|
});
|
|
13396
|
-
},
|
|
13397
|
-
function
|
|
13398
|
-
|
|
13399
|
-
t.get(e) || t.register(e,
|
|
13408
|
+
}, Jd = /* @__PURE__ */ "view:grid.view:kanban.view:map.view:calendar.view:gantt.view:timeline.view:gallery.view:simple.view:wizard.view:tabbed.view:drawer.view:modal.view:split.field:text.field:textarea.field:password.field:email.field:url.field:phone.field:markdown.field:html.field:code.field:number.field:currency.field:percent.field:slider.field:boolean.field:checkboxes.field:select.field:multiselect.field:radio.field:date.field:datetime.field:time.field:duration.field:lookup.field:master_detail.field:tree.field:image.field:file.field:video.field:audio.field:avatar.field:color.field:rating.field:signature.field:qrcode.field:progress.field:json.field:address.field:location.page:header.page-header.page:footer.page:tabs.page:accordion.page:card.page:sidebar.record:details.record:highlights.record:related_list.record:activity.record:chatter.record:path.app:launcher.nav:menu.nav:breadcrumb.global:search.global:notifications.user:profile.widget:metric.widget:bar.widget:line.widget:pie.widget:funnel.widget:radar.widget:scatter.widget:heatmap.widget:pivot.widget:table.widget:text.widget:image.ai:input.ai:suggestion.ai:feedback".split(".");
|
|
13409
|
+
function Yd() {
|
|
13410
|
+
Jd.forEach((e) => {
|
|
13411
|
+
t.get(e) || t.register(e, qd, { namespace: "protocol-placeholder" });
|
|
13400
13412
|
});
|
|
13401
13413
|
}
|
|
13402
13414
|
//#endregion
|
|
13403
13415
|
//#region src/hooks/use-config-draft.ts
|
|
13404
|
-
function
|
|
13416
|
+
function Xd(e, t) {
|
|
13405
13417
|
let n = t?.maxHistory ?? 50, [r, i] = N({ ...e }), [a, o] = N(t?.mode === "create"), s = ae([]), c = ae([]), [, l] = N(0);
|
|
13406
13418
|
re(() => {
|
|
13407
13419
|
i({ ...e }), o(t?.mode === "create"), s.current = [], c.current = [];
|
|
@@ -13438,7 +13450,7 @@ function Yd(e, t) {
|
|
|
13438
13450
|
}
|
|
13439
13451
|
//#endregion
|
|
13440
13452
|
//#region src/hooks/use-resize-observer.tsx
|
|
13441
|
-
function
|
|
13453
|
+
function Zd(e) {
|
|
13442
13454
|
let [t, n] = k.useState({
|
|
13443
13455
|
width: 0,
|
|
13444
13456
|
height: 0
|
|
@@ -13468,16 +13480,16 @@ function Xd(e) {
|
|
|
13468
13480
|
}
|
|
13469
13481
|
//#endregion
|
|
13470
13482
|
//#region src/hooks/use-export-job.ts
|
|
13471
|
-
var
|
|
13483
|
+
var Qd = [
|
|
13472
13484
|
"completed",
|
|
13473
13485
|
"failed",
|
|
13474
13486
|
"cancelled",
|
|
13475
13487
|
"expired"
|
|
13476
13488
|
];
|
|
13477
|
-
function
|
|
13478
|
-
return !!e &&
|
|
13489
|
+
function $d(e) {
|
|
13490
|
+
return !!e && Qd.includes(e);
|
|
13479
13491
|
}
|
|
13480
|
-
function
|
|
13492
|
+
function ef(e = {}) {
|
|
13481
13493
|
let { dataSource: t, pollIntervalMs: n = 1500, maxAttempts: r = 600, onComplete: i, onError: a } = e, [o, s] = N(null), [c, l] = N(null), [u, d] = N(!1), f = ae(null), p = ae(null), m = ae(0), h = ae(!1), g = ae({
|
|
13482
13494
|
onComplete: i,
|
|
13483
13495
|
onError: a
|
|
@@ -13502,7 +13514,7 @@ function $d(e = {}) {
|
|
|
13502
13514
|
try {
|
|
13503
13515
|
let e = await t.getExportJobProgress(f.current);
|
|
13504
13516
|
if (h.current) return;
|
|
13505
|
-
if (s(e),
|
|
13517
|
+
if (s(e), $d(e.status)) {
|
|
13506
13518
|
if (d(!1), e.status === "completed") g.current.onComplete?.(e);
|
|
13507
13519
|
else {
|
|
13508
13520
|
let t = e.error?.message ?? `Export ${e.status}`, n = Error(t);
|
|
@@ -13536,7 +13548,7 @@ function $d(e = {}) {
|
|
|
13536
13548
|
processedRecords: 0,
|
|
13537
13549
|
totalRecords: i.estimatedRecords,
|
|
13538
13550
|
percentComplete: 0
|
|
13539
|
-
}),
|
|
13551
|
+
}), $d(i.status)) {
|
|
13540
13552
|
if (d(!1), i.status === "completed" && t.getExportJobProgress) try {
|
|
13541
13553
|
let e = await t.getExportJobProgress(i.jobId);
|
|
13542
13554
|
s(e), g.current.onComplete?.(e);
|
|
@@ -13589,7 +13601,7 @@ function $d(e = {}) {
|
|
|
13589
13601
|
}
|
|
13590
13602
|
//#endregion
|
|
13591
13603
|
//#region src/debug/DebugPanel.tsx
|
|
13592
|
-
function
|
|
13604
|
+
function tf({ schema: e }) {
|
|
13593
13605
|
return e ? /* @__PURE__ */ F("pre", {
|
|
13594
13606
|
className: "text-[11px] leading-relaxed font-mono overflow-auto max-h-[60vh] whitespace-pre-wrap break-all",
|
|
13595
13607
|
children: JSON.stringify(e, null, 2)
|
|
@@ -13598,7 +13610,7 @@ function ef({ schema: e }) {
|
|
|
13598
13610
|
children: "No schema available"
|
|
13599
13611
|
});
|
|
13600
13612
|
}
|
|
13601
|
-
function
|
|
13613
|
+
function nf({ dataContext: e }) {
|
|
13602
13614
|
return e ? /* @__PURE__ */ F("pre", {
|
|
13603
13615
|
className: "text-[11px] leading-relaxed font-mono overflow-auto max-h-[60vh] whitespace-pre-wrap break-all",
|
|
13604
13616
|
children: JSON.stringify(e, null, 2)
|
|
@@ -13607,7 +13619,7 @@ function tf({ dataContext: e }) {
|
|
|
13607
13619
|
children: "No data context available"
|
|
13608
13620
|
});
|
|
13609
13621
|
}
|
|
13610
|
-
function
|
|
13622
|
+
function rf() {
|
|
13611
13623
|
let e = ie(() => {
|
|
13612
13624
|
try {
|
|
13613
13625
|
return t.getAllTypes();
|
|
@@ -13634,7 +13646,7 @@ function nf() {
|
|
|
13634
13646
|
})]
|
|
13635
13647
|
});
|
|
13636
13648
|
}
|
|
13637
|
-
function
|
|
13649
|
+
function af({ flags: e }) {
|
|
13638
13650
|
return e ? /* @__PURE__ */ F("pre", {
|
|
13639
13651
|
className: "text-[11px] leading-relaxed font-mono overflow-auto max-h-[60vh] whitespace-pre-wrap break-all",
|
|
13640
13652
|
children: JSON.stringify(e, null, 2)
|
|
@@ -13643,14 +13655,14 @@ function rf({ flags: e }) {
|
|
|
13643
13655
|
children: "No debug flags"
|
|
13644
13656
|
});
|
|
13645
13657
|
}
|
|
13646
|
-
function
|
|
13658
|
+
function of(e) {
|
|
13647
13659
|
let t = n.getInstance(), [r, i] = N(() => t.getEntries(e));
|
|
13648
13660
|
return A.useEffect(() => (i(t.getEntries(e)), t.subscribe(() => {
|
|
13649
13661
|
i(t.getEntries(e));
|
|
13650
13662
|
})), [t, e]), r;
|
|
13651
13663
|
}
|
|
13652
|
-
function
|
|
13653
|
-
let e =
|
|
13664
|
+
function sf() {
|
|
13665
|
+
let e = of("perf").map((e) => e.data);
|
|
13654
13666
|
return e.length === 0 ? /* @__PURE__ */ F("p", {
|
|
13655
13667
|
className: "text-xs text-muted-foreground italic",
|
|
13656
13668
|
children: "No performance data collected yet"
|
|
@@ -13676,8 +13688,8 @@ function of() {
|
|
|
13676
13688
|
})]
|
|
13677
13689
|
});
|
|
13678
13690
|
}
|
|
13679
|
-
function
|
|
13680
|
-
let e =
|
|
13691
|
+
function cf() {
|
|
13692
|
+
let e = of("expr").map((e) => e.data);
|
|
13681
13693
|
return e.length === 0 ? /* @__PURE__ */ F("p", {
|
|
13682
13694
|
className: "text-xs text-muted-foreground italic",
|
|
13683
13695
|
children: "No expression evaluations tracked yet"
|
|
@@ -13703,8 +13715,8 @@ function sf() {
|
|
|
13703
13715
|
})]
|
|
13704
13716
|
});
|
|
13705
13717
|
}
|
|
13706
|
-
function
|
|
13707
|
-
let e =
|
|
13718
|
+
function lf() {
|
|
13719
|
+
let e = of("event").map((e) => e.data);
|
|
13708
13720
|
return e.length === 0 ? /* @__PURE__ */ F("p", {
|
|
13709
13721
|
className: "text-xs text-muted-foreground italic",
|
|
13710
13722
|
children: "No events captured yet"
|
|
@@ -13736,42 +13748,42 @@ function cf() {
|
|
|
13736
13748
|
})]
|
|
13737
13749
|
});
|
|
13738
13750
|
}
|
|
13739
|
-
function
|
|
13751
|
+
function uf({ open: e, onClose: t, flags: n, schema: r, dataContext: i, extraTabs: a = [], className: o }) {
|
|
13740
13752
|
let s = ie(() => [
|
|
13741
13753
|
{
|
|
13742
13754
|
id: "schema",
|
|
13743
13755
|
label: "Schema",
|
|
13744
|
-
render: () => /* @__PURE__ */ F(
|
|
13756
|
+
render: () => /* @__PURE__ */ F(tf, { schema: r })
|
|
13745
13757
|
},
|
|
13746
13758
|
{
|
|
13747
13759
|
id: "data",
|
|
13748
13760
|
label: "Data",
|
|
13749
|
-
render: () => /* @__PURE__ */ F(
|
|
13761
|
+
render: () => /* @__PURE__ */ F(nf, { dataContext: i })
|
|
13750
13762
|
},
|
|
13751
13763
|
{
|
|
13752
13764
|
id: "perf",
|
|
13753
13765
|
label: "Perf",
|
|
13754
|
-
render: () => /* @__PURE__ */ F(
|
|
13766
|
+
render: () => /* @__PURE__ */ F(sf, {})
|
|
13755
13767
|
},
|
|
13756
13768
|
{
|
|
13757
13769
|
id: "expr",
|
|
13758
13770
|
label: "Expr",
|
|
13759
|
-
render: () => /* @__PURE__ */ F(
|
|
13771
|
+
render: () => /* @__PURE__ */ F(cf, {})
|
|
13760
13772
|
},
|
|
13761
13773
|
{
|
|
13762
13774
|
id: "events",
|
|
13763
13775
|
label: "Events",
|
|
13764
|
-
render: () => /* @__PURE__ */ F(
|
|
13776
|
+
render: () => /* @__PURE__ */ F(lf, {})
|
|
13765
13777
|
},
|
|
13766
13778
|
{
|
|
13767
13779
|
id: "registry",
|
|
13768
13780
|
label: "Registry",
|
|
13769
|
-
render: () => /* @__PURE__ */ F(
|
|
13781
|
+
render: () => /* @__PURE__ */ F(rf, {})
|
|
13770
13782
|
},
|
|
13771
13783
|
{
|
|
13772
13784
|
id: "flags",
|
|
13773
13785
|
label: "Flags",
|
|
13774
|
-
render: () => /* @__PURE__ */ F(
|
|
13786
|
+
render: () => /* @__PURE__ */ F(af, { flags: n })
|
|
13775
13787
|
}
|
|
13776
13788
|
], [
|
|
13777
13789
|
r,
|
|
@@ -13824,13 +13836,13 @@ function lf({ open: e, onClose: t, flags: n, schema: r, dataContext: i, extraTab
|
|
|
13824
13836
|
}
|
|
13825
13837
|
//#endregion
|
|
13826
13838
|
//#region src/share/ShareDialog.tsx
|
|
13827
|
-
var
|
|
13839
|
+
var df = {
|
|
13828
13840
|
permission: "view",
|
|
13829
13841
|
audience: "link_only",
|
|
13830
13842
|
expiresInDays: 7,
|
|
13831
13843
|
password: "",
|
|
13832
13844
|
label: ""
|
|
13833
|
-
},
|
|
13845
|
+
}, ff = [
|
|
13834
13846
|
{
|
|
13835
13847
|
label: "1 day",
|
|
13836
13848
|
value: 1
|
|
@@ -13851,7 +13863,7 @@ var uf = {
|
|
|
13851
13863
|
label: "Never",
|
|
13852
13864
|
value: null
|
|
13853
13865
|
}
|
|
13854
|
-
],
|
|
13866
|
+
], pf = [{
|
|
13855
13867
|
value: "link_only",
|
|
13856
13868
|
label: "Anyone with the link",
|
|
13857
13869
|
help: "No sign-in required"
|
|
@@ -13860,10 +13872,10 @@ var uf = {
|
|
|
13860
13872
|
label: "Signed-in users",
|
|
13861
13873
|
help: "Must be logged in to view"
|
|
13862
13874
|
}];
|
|
13863
|
-
function
|
|
13875
|
+
function mf(e, t) {
|
|
13864
13876
|
return `${(e ?? (typeof window < "u" ? `${window.location.origin}/s` : "/s")).replace(/\/+$/, "")}/${t}`;
|
|
13865
13877
|
}
|
|
13866
|
-
async function
|
|
13878
|
+
async function hf(e) {
|
|
13867
13879
|
try {
|
|
13868
13880
|
if (typeof navigator < "u" && navigator.clipboard?.writeText) return await navigator.clipboard.writeText(e), !0;
|
|
13869
13881
|
} catch {}
|
|
@@ -13878,8 +13890,8 @@ async function mf(e) {
|
|
|
13878
13890
|
}
|
|
13879
13891
|
return !1;
|
|
13880
13892
|
}
|
|
13881
|
-
function
|
|
13882
|
-
let [c, l] = N([]), [u, d] = N(!1), [f, p] = N(!1), [m, h] = N(null), [g, _] = N(
|
|
13893
|
+
function gf({ open: e, onOpenChange: t, objectName: n, recordId: r, recordLabel: i, apiBase: a, publicBaseUrl: o, fetchHeaders: s }) {
|
|
13894
|
+
let [c, l] = N([]), [u, d] = N(!1), [f, p] = N(!1), [m, h] = N(null), [g, _] = N(df), [v, y] = N(null), b = M(async () => {
|
|
13883
13895
|
let e = { "Content-Type": "application/json" };
|
|
13884
13896
|
if (!s) return e;
|
|
13885
13897
|
let t = await s();
|
|
@@ -13908,7 +13920,7 @@ function hf({ open: e, onOpenChange: t, objectName: n, recordId: r, recordLabel:
|
|
|
13908
13920
|
}
|
|
13909
13921
|
}, [x, b]);
|
|
13910
13922
|
re(() => {
|
|
13911
|
-
e && (S(), _(
|
|
13923
|
+
e && (S(), _(df));
|
|
13912
13924
|
}, [e, S]);
|
|
13913
13925
|
let C = M(async () => {
|
|
13914
13926
|
p(!0), h(null);
|
|
@@ -13933,7 +13945,7 @@ function hf({ open: e, onOpenChange: t, objectName: n, recordId: r, recordLabel:
|
|
|
13933
13945
|
}
|
|
13934
13946
|
let s = await i.json(), c = s.link ?? s.data;
|
|
13935
13947
|
if (!c) throw Error("Share link create response missing link payload");
|
|
13936
|
-
l((e) => [c, ...e]), await mf(
|
|
13948
|
+
l((e) => [c, ...e]), await hf(mf(o, c.token)) && (y(c.id), setTimeout(() => y(null), 1500)), _(df);
|
|
13937
13949
|
} catch (e) {
|
|
13938
13950
|
h(e?.message ?? "Failed to create share link");
|
|
13939
13951
|
} finally {
|
|
@@ -13962,7 +13974,7 @@ function hf({ open: e, onOpenChange: t, objectName: n, recordId: r, recordLabel:
|
|
|
13962
13974
|
h(e?.message ?? "Failed to revoke link");
|
|
13963
13975
|
}
|
|
13964
13976
|
}, [a, b]), T = M(async (e) => {
|
|
13965
|
-
await mf(
|
|
13977
|
+
await hf(mf(o, e.token)) && (y(e.id), setTimeout(() => y(null), 1500));
|
|
13966
13978
|
}, [o]), E = c.filter((e) => !e.revoked_at), D = c.filter((e) => e.revoked_at);
|
|
13967
13979
|
return /* @__PURE__ */ F(wr, {
|
|
13968
13980
|
open: e,
|
|
@@ -14004,7 +14016,7 @@ function hf({ open: e, onOpenChange: t, objectName: n, recordId: r, recordLabel:
|
|
|
14004
14016
|
className: "h-8 text-xs",
|
|
14005
14017
|
"data-testid": "share-audience",
|
|
14006
14018
|
children: /* @__PURE__ */ F(Ra, {})
|
|
14007
|
-
}), /* @__PURE__ */ F(Ha, { children:
|
|
14019
|
+
}), /* @__PURE__ */ F(Ha, { children: pf.map((e) => /* @__PURE__ */ F(Z, {
|
|
14008
14020
|
value: e.value,
|
|
14009
14021
|
className: "text-xs",
|
|
14010
14022
|
children: /* @__PURE__ */ I("div", {
|
|
@@ -14032,7 +14044,7 @@ function hf({ open: e, onOpenChange: t, objectName: n, recordId: r, recordLabel:
|
|
|
14032
14044
|
className: "h-8 text-xs",
|
|
14033
14045
|
"data-testid": "share-expiry",
|
|
14034
14046
|
children: /* @__PURE__ */ F(Ra, {})
|
|
14035
|
-
}), /* @__PURE__ */ F(Ha, { children:
|
|
14047
|
+
}), /* @__PURE__ */ F(Ha, { children: ff.map((e) => /* @__PURE__ */ F(Z, {
|
|
14036
14048
|
value: e.value == null ? "never" : String(e.value),
|
|
14037
14049
|
className: "text-xs",
|
|
14038
14050
|
children: e.label
|
|
@@ -14101,7 +14113,7 @@ function hf({ open: e, onOpenChange: t, objectName: n, recordId: r, recordLabel:
|
|
|
14101
14113
|
/* @__PURE__ */ I("ul", {
|
|
14102
14114
|
className: "space-y-2",
|
|
14103
14115
|
children: [
|
|
14104
|
-
E.map((e) => /* @__PURE__ */ F(
|
|
14116
|
+
E.map((e) => /* @__PURE__ */ F(_f, {
|
|
14105
14117
|
link: e,
|
|
14106
14118
|
copied: v === e.id,
|
|
14107
14119
|
onCopy: () => T(e),
|
|
@@ -14112,7 +14124,7 @@ function hf({ open: e, onOpenChange: t, objectName: n, recordId: r, recordLabel:
|
|
|
14112
14124
|
className: "pt-2 text-[10px] uppercase tracking-wide text-muted-foreground",
|
|
14113
14125
|
children: "Revoked"
|
|
14114
14126
|
}),
|
|
14115
|
-
D.map((e) => /* @__PURE__ */ F(
|
|
14127
|
+
D.map((e) => /* @__PURE__ */ F(_f, {
|
|
14116
14128
|
link: e,
|
|
14117
14129
|
copied: !1,
|
|
14118
14130
|
onCopy: () => T(e),
|
|
@@ -14134,8 +14146,8 @@ function hf({ open: e, onOpenChange: t, objectName: n, recordId: r, recordLabel:
|
|
|
14134
14146
|
})
|
|
14135
14147
|
});
|
|
14136
14148
|
}
|
|
14137
|
-
function
|
|
14138
|
-
let o =
|
|
14149
|
+
function _f({ link: e, copied: t, onCopy: n, onRevoke: r, publicBaseUrl: i, disabled: a }) {
|
|
14150
|
+
let o = mf(i, e.token);
|
|
14139
14151
|
return /* @__PURE__ */ I("li", {
|
|
14140
14152
|
className: K("flex items-center gap-2 rounded-md border bg-card px-2 py-2 text-xs", a && "opacity-60"),
|
|
14141
14153
|
"data-testid": "share-link-row",
|
|
@@ -14186,8 +14198,8 @@ function gf({ link: e, copied: t, onCopy: n, onRevoke: r, publicBaseUrl: i, disa
|
|
|
14186
14198
|
}
|
|
14187
14199
|
//#endregion
|
|
14188
14200
|
//#region src/index.ts
|
|
14189
|
-
function
|
|
14201
|
+
function vf() {
|
|
14190
14202
|
return !0;
|
|
14191
14203
|
}
|
|
14192
14204
|
//#endregion
|
|
14193
|
-
export { gn as Accordion, yn as AccordionContent, _n as AccordionItem, vn as AccordionTrigger, Jl as ActionParamDialog, Nn as Alert, Fn as AlertDescription, xn as AlertDialog, An as AlertDialogAction, jn as AlertDialogCancel, Tn as AlertDialogContent, kn as AlertDialogDescription, Dn as AlertDialogFooter, En as AlertDialogHeader, wn as AlertDialogOverlay, Cn as AlertDialogPortal, On as AlertDialogTitle, Sn as AlertDialogTrigger, Pn as AlertTitle, In as AspectRatio, Ln as Avatar, zn as AvatarFallback, Rn as AvatarImage, Vn as Badge, Hn as Breadcrumb, Jn as BreadcrumbEllipsis, Wn as BreadcrumbItem, Gn as BreadcrumbLink, Un as BreadcrumbList, Kn as BreadcrumbPage, qn as BreadcrumbSeparator, J as Button, Pc as ButtonGroup, Ic as ButtonGroupSeparator, Fc as ButtonGroupText, Yn as Calendar, Xn as CalendarDayButton, Zn as Card, tr as CardContent, er as CardDescription, nr as CardFooter, Qn as CardHeader, $n as CardTitle, ar as Carousel, or as CarouselContent, sr as CarouselItem, lr as CarouselNext, cr as CarouselPrevious, pr as ChartContainer, _r as ChartLegend, vr as ChartLegendContent, $l as ChartSkeleton, mr as ChartStyle, hr as ChartTooltip, gr as ChartTooltipContent, br as Checkbox, xr as Collapsible, Cr as CollapsibleContent, Sr as CollapsibleTrigger, Lc as Combobox, Pr as Command, Fr as CommandDialog, Rr as CommandEmpty, zr as CommandGroup, Ir as CommandInput, Vr as CommandItem, Lr as CommandList, Br as CommandSeparator, Hr as CommandShortcut, il as ConfigFieldRenderer, ol as ConfigPanelRenderer, Rc as ConfigRow, Ur as ContextMenu, $r as ContextMenuCheckboxItem, Zr as ContextMenuContent, Gr as ContextMenuGroup, Qr as ContextMenuItem, ti as ContextMenuLabel, Kr as ContextMenuPortal, Jr as ContextMenuRadioGroup, ei as ContextMenuRadioItem, ni as ContextMenuSeparator, ri as ContextMenuShortcut, qr as ContextMenuSub, Xr as ContextMenuSubContent, Yr as ContextMenuSubTrigger, Wr as ContextMenuTrigger, uu as DataEmptyState, uu as EmptyState, du as DataErrorState, lu as DataLoadingState, sl as DatePicker,
|
|
14205
|
+
export { gn as Accordion, yn as AccordionContent, _n as AccordionItem, vn as AccordionTrigger, Jl as ActionParamDialog, Nn as Alert, Fn as AlertDescription, xn as AlertDialog, An as AlertDialogAction, jn as AlertDialogCancel, Tn as AlertDialogContent, kn as AlertDialogDescription, Dn as AlertDialogFooter, En as AlertDialogHeader, wn as AlertDialogOverlay, Cn as AlertDialogPortal, On as AlertDialogTitle, Sn as AlertDialogTrigger, Pn as AlertTitle, In as AspectRatio, Ln as Avatar, zn as AvatarFallback, Rn as AvatarImage, Vn as Badge, Hn as Breadcrumb, Jn as BreadcrumbEllipsis, Wn as BreadcrumbItem, Gn as BreadcrumbLink, Un as BreadcrumbList, Kn as BreadcrumbPage, qn as BreadcrumbSeparator, J as Button, Pc as ButtonGroup, Ic as ButtonGroupSeparator, Fc as ButtonGroupText, Yn as Calendar, Xn as CalendarDayButton, Zn as Card, tr as CardContent, er as CardDescription, nr as CardFooter, Qn as CardHeader, $n as CardTitle, ar as Carousel, or as CarouselContent, sr as CarouselItem, lr as CarouselNext, cr as CarouselPrevious, pr as ChartContainer, _r as ChartLegend, vr as ChartLegendContent, $l as ChartSkeleton, mr as ChartStyle, hr as ChartTooltip, gr as ChartTooltipContent, br as Checkbox, xr as Collapsible, Cr as CollapsibleContent, Sr as CollapsibleTrigger, Lc as Combobox, Pr as Command, Fr as CommandDialog, Rr as CommandEmpty, zr as CommandGroup, Ir as CommandInput, Vr as CommandItem, Lr as CommandList, Br as CommandSeparator, Hr as CommandShortcut, il as ConfigFieldRenderer, ol as ConfigPanelRenderer, Rc as ConfigRow, Ur as ContextMenu, $r as ContextMenuCheckboxItem, Zr as ContextMenuContent, Gr as ContextMenuGroup, Qr as ContextMenuItem, ti as ContextMenuLabel, Kr as ContextMenuPortal, Jr as ContextMenuRadioGroup, ei as ContextMenuRadioItem, ni as ContextMenuSeparator, ri as ContextMenuShortcut, qr as ContextMenuSub, Xr as ContextMenuSubContent, Yr as ContextMenuSubTrigger, Wr as ContextMenuTrigger, uu as DataEmptyState, uu as EmptyState, du as DataErrorState, lu as DataLoadingState, sl as DatePicker, uf as DebugPanel, wr as Dialog, Dr as DialogClose, kr as DialogContent, Nr as DialogDescription, jr as DialogFooter, Ar as DialogHeader, Or as DialogOverlay, Er as DialogPortal, Mr as DialogTitle, Tr as DialogTrigger, ii as Drawer, si as DrawerClose, li as DrawerContent, pi as DrawerDescription, di as DrawerFooter, ui as DrawerHeader, ci as DrawerOverlay, oi as DrawerPortal, fi as DrawerTitle, ai as DrawerTrigger, mi as DropdownMenu, wi as DropdownMenuCheckboxItem, Si as DropdownMenuContent, gi as DropdownMenuGroup, Ci as DropdownMenuItem, Ei as DropdownMenuLabel, _i as DropdownMenuPortal, yi as DropdownMenuRadioGroup, Ti as DropdownMenuRadioItem, Di as DropdownMenuSeparator, Oi as DropdownMenuShortcut, vi as DropdownMenuSub, xi as DropdownMenuSubContent, bi as DropdownMenuSubTrigger, hi as DropdownMenuTrigger, ll as Empty, hl as EmptyContent, ml as EmptyDescription, ul as EmptyHeader, fl as EmptyMedia, pl as EmptyTitle, gl as EmptyValue, pu as ExportProgressDialog, vl as Field, el as FilterBuilder, Ai as Form, Li as FormControl, Ri as FormDescription, Mi as FormField, Fi as FormItem, Ii as FormLabel, zi as FormMessage, Zl as FormSkeleton, Ed as GridFieldAuthoringProvider, Yl as GridSkeleton, ql as GroupingEditor, Bi as HoverCard, Hi as HoverCardContent, Vi as HoverCardTrigger, X as Input, yl as InputGroup, Ui as InputOTP, Wi as InputOTPGroup, Ki as InputOTPSeparator, Gi as InputOTPSlot, Cl as Item, kl as ItemActions, El as ItemContent, Ol as ItemDescription, jl as ItemFooter, bl as ItemGroup, Al as ItemHeader, Tl as ItemMedia, xl as ItemSeparator, Dl as ItemTitle, Xl as KanbanSkeleton, Ml as Kbd, Nl as KbdGroup, Y as Label, Ps as LazyIcon, Ql as ListSkeleton, tl as LookupValuePicker, Qi as Menubar, ia as MenubarCheckboxItem, na as MenubarContent, Ji as MenubarGroup, ra as MenubarItem, oa as MenubarLabel, qi as MenubarMenu, Yi as MenubarPortal, Xi as MenubarRadioGroup, aa as MenubarRadioItem, sa as MenubarSeparator, ca as MenubarShortcut, Zi as MenubarSub, ta as MenubarSubContent, ea as MenubarSubTrigger, $i as MenubarTrigger, Rl as MobileDialogContent, Pl as NativeSelect, la as NavigationMenu, ma as NavigationMenuContent, _a as NavigationMenuIndicator, da as NavigationMenuItem, ha as NavigationMenuLink, ua as NavigationMenuList, pa as NavigationMenuTrigger, ga as NavigationMenuViewport, Wl as NavigationOverlay, va as Pagination, ya as PaginationContent, wa as PaginationEllipsis, ba as PaginationItem, xa as PaginationLink, Ca as PaginationNext, Sa as PaginationPrevious, Ta as Popover, Da as PopoverContent, Ea as PopoverTrigger, Oa as Progress, ka as RadioGroup, Aa as RadioGroupItem, au as RecordTitleChip, cu as RefreshIndicator, sd as RelatedCountStore, Na as ResizableHandle, Ma as ResizablePanel, ja as ResizablePanelGroup, Pa as ScrollArea, Fa as ScrollBar, al as SectionHeader, Ia as Select, Ha as SelectContent, La as SelectGroup, Z as SelectItem, Ua as SelectLabel, Va as SelectScrollDownButton, Ba as SelectScrollUpButton, Wa as SelectSeparator, za as SelectTrigger, Ra as SelectValue, Ga as Separator, gf as ShareDialog, Ka as Sheet, Ja as SheetClose, Qa as SheetContent, no as SheetDescription, eo as SheetFooter, $a as SheetHeader, Xa as SheetOverlay, Ya as SheetPortal, to as SheetTitle, qa as SheetTrigger, tu as ShimmerSkeleton, yo as Sidebar, Do as SidebarContent, To as SidebarFooter, Oo as SidebarGroup, Ao as SidebarGroupAction, jo as SidebarGroupContent, ko as SidebarGroupLabel, wo as SidebarHeader, Co as SidebarInput, So as SidebarInset, Mo as SidebarMenu, Io as SidebarMenuAction, Lo as SidebarMenuBadge, Fo as SidebarMenuButton, No as SidebarMenuItem, Ro as SidebarMenuSkeleton, zo as SidebarMenuSub, Vo as SidebarMenuSubButton, Bo as SidebarMenuSubItem, vo as SidebarProvider, xo as SidebarRail, Eo as SidebarSeparator, bo as SidebarTrigger, Q as Skeleton, Ho as Slider, rl as SortBuilder, Gl as Spinner, Wo as Switch, Go as Table, qo as TableBody, Qo as TableCaption, Zo as TableCell, Jo as TableFooter, Xo as TableHead, Ko as TableHeader, Yo as TableRow, $o as Tabs, ns as TabsContent, es as TabsList, ts as TabsTrigger, rs as Textarea, Uo as Toaster, as as Toggle, ss as ToggleGroup, cs as ToggleGroupItem, oo as Tooltip, co as TooltipContent, ao as TooltipProvider, so as TooltipTrigger, ms as TypographyBlockquote, ls as TypographyH1, us as TypographyH2, ds as TypographyH3, fs as TypographyH4, gs as TypographyInlineCode, vs as TypographyLarge, _s as TypographyLead, hs as TypographyList, bs as TypographyMuted, ps as TypographyP, ys as TypographySmall, eu as ViewSkeleton, Bn as badgeVariants, Nc as buttonGroupVariants, bn as buttonVariants, K as cn, _t as cva, Ns as getLazyIcon, vf as initializeComponents, Il as isInsidePopperLayer, fa as navigationMenuTriggerStyle, Yd as registerPlaceholders, q as renderChildren, ks as toKebabIconName, Yt as toast, is as toggleVariants, Xd as useConfigDraft, ef as useExportJob, Ni as useFormField, Dd as useGridFieldAuthoring, io as useIsMobile, Ll as usePopperAwareInteractOutside, ad as useRelatedCount, od as useRelatedCountVersion, Zd as useResizeObserver, _o as useSidebar };
|