@octaviaflow/core 3.1.0-beta.107 → 3.1.0-beta.109
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/Breadcrumb/Breadcrumb.d.ts +7 -0
- package/dist/components/Breadcrumb/Breadcrumb.d.ts.map +1 -1
- package/dist/components/ExpressionField/ExpressionField.d.ts.map +1 -1
- package/dist/index.cjs +262 -225
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +195 -158
- package/dist/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -5887,14 +5887,32 @@ var import_react_aria3 = require("react-aria");
|
|
|
5887
5887
|
var import_jsx_runtime18 = require("react/jsx-runtime");
|
|
5888
5888
|
function BreadcrumbItem({ item, isCurrent }) {
|
|
5889
5889
|
const ref = (0, import_react37.useRef)(null);
|
|
5890
|
+
const interactive = !isCurrent && (!!item.href || !!item.onClick);
|
|
5890
5891
|
const { itemProps } = (0, import_react_aria3.useBreadcrumbItem)(
|
|
5891
|
-
{
|
|
5892
|
+
{
|
|
5893
|
+
children: item.label,
|
|
5894
|
+
isCurrent,
|
|
5895
|
+
elementType: item.href ? "a" : item.onClick && !isCurrent ? "button" : "span"
|
|
5896
|
+
},
|
|
5892
5897
|
ref
|
|
5893
5898
|
);
|
|
5894
5899
|
const content = /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(import_jsx_runtime18.Fragment, { children: [
|
|
5895
5900
|
item.icon && /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("span", { className: "ods-breadcrumb__icon", children: item.icon }),
|
|
5896
5901
|
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)("span", { children: item.label })
|
|
5897
5902
|
] });
|
|
5903
|
+
if (item.onClick && !item.href && interactive) {
|
|
5904
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
5905
|
+
"button",
|
|
5906
|
+
{
|
|
5907
|
+
...itemProps,
|
|
5908
|
+
ref,
|
|
5909
|
+
type: "button",
|
|
5910
|
+
onClick: item.onClick,
|
|
5911
|
+
className: cn("ods-breadcrumb__link", "ods-breadcrumb__link--button"),
|
|
5912
|
+
children: content
|
|
5913
|
+
}
|
|
5914
|
+
);
|
|
5915
|
+
}
|
|
5898
5916
|
if (item.href && !isCurrent) {
|
|
5899
5917
|
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
5900
5918
|
"a",
|
|
@@ -41339,6 +41357,8 @@ ToolCard.displayName = "ToolCard";
|
|
|
41339
41357
|
|
|
41340
41358
|
// src/components/ExpressionField/ExpressionField.tsx
|
|
41341
41359
|
var import_react188 = require("react");
|
|
41360
|
+
var import_react_dom23 = require("react-dom");
|
|
41361
|
+
var import_icons68 = require("@octaviaflow/icons");
|
|
41342
41362
|
|
|
41343
41363
|
// src/components/ExpressionField/parseExpression.ts
|
|
41344
41364
|
var CALL_NAME_SOURCE = "(?:[A-Z_][A-Z0-9_]*|user\\.[A-Za-z_][A-Za-z0-9_]*)";
|
|
@@ -41558,6 +41578,16 @@ function insideCallArguments(textBeforeCaret) {
|
|
|
41558
41578
|
}
|
|
41559
41579
|
return depth > 0;
|
|
41560
41580
|
}
|
|
41581
|
+
function anchorRect(el) {
|
|
41582
|
+
const box = el.getBoundingClientRect();
|
|
41583
|
+
const width = Math.max(300, box.width);
|
|
41584
|
+
return {
|
|
41585
|
+
top: box.bottom + 4,
|
|
41586
|
+
// Keep it on screen when the chip sits near the right edge.
|
|
41587
|
+
left: Math.max(8, Math.min(box.left, window.innerWidth - width - 8)),
|
|
41588
|
+
width
|
|
41589
|
+
};
|
|
41590
|
+
}
|
|
41561
41591
|
function argSummary(arg, nameOf, depth = 2) {
|
|
41562
41592
|
const trimmed = arg.trim();
|
|
41563
41593
|
const call = parseCall(trimmed);
|
|
@@ -41746,17 +41776,7 @@ function ExpressionField({
|
|
|
41746
41776
|
const openEditor = (0, import_react188.useCallback)((chip) => {
|
|
41747
41777
|
const raw = chip.getAttribute("data-value") ?? "";
|
|
41748
41778
|
if (!parseCall(raw)) return;
|
|
41749
|
-
|
|
41750
|
-
const host = fieldRef.current?.getBoundingClientRect();
|
|
41751
|
-
setEditing({
|
|
41752
|
-
el: chip,
|
|
41753
|
-
raw,
|
|
41754
|
-
rect: {
|
|
41755
|
-
top: box.bottom - (host?.top ?? 0) + 4,
|
|
41756
|
-
left: Math.max(0, box.left - (host?.left ?? 0)),
|
|
41757
|
-
width: Math.max(300, box.width)
|
|
41758
|
-
}
|
|
41759
|
-
});
|
|
41779
|
+
setEditing({ el: chip, raw, rect: anchorRect(chip) });
|
|
41760
41780
|
}, []);
|
|
41761
41781
|
const applyEditor = (0, import_react188.useCallback)(
|
|
41762
41782
|
(raw) => {
|
|
@@ -41982,156 +42002,173 @@ function CallEditor({
|
|
|
41982
42002
|
setDraft((d) => replaceArgument(d, [...path, index], bare));
|
|
41983
42003
|
if (kind === "function" || parseCall(bare)) setPath((pth) => [...pth, index]);
|
|
41984
42004
|
};
|
|
41985
|
-
|
|
41986
|
-
|
|
41987
|
-
|
|
41988
|
-
|
|
41989
|
-
|
|
41990
|
-
|
|
41991
|
-
|
|
41992
|
-
"
|
|
41993
|
-
|
|
41994
|
-
|
|
41995
|
-
|
|
41996
|
-
|
|
42005
|
+
const [pos, setPos] = (0, import_react188.useState)(rect);
|
|
42006
|
+
(0, import_react188.useEffect)(() => {
|
|
42007
|
+
const follow = () => setPos(anchorRect(anchor));
|
|
42008
|
+
window.addEventListener("scroll", follow, true);
|
|
42009
|
+
window.addEventListener("resize", follow);
|
|
42010
|
+
return () => {
|
|
42011
|
+
window.removeEventListener("scroll", follow, true);
|
|
42012
|
+
window.removeEventListener("resize", follow);
|
|
42013
|
+
};
|
|
42014
|
+
}, [anchor]);
|
|
42015
|
+
if (typeof document === "undefined") return null;
|
|
42016
|
+
return (0, import_react_dom23.createPortal)(
|
|
42017
|
+
/* @__PURE__ */ (0, import_jsx_runtime174.jsxs)(
|
|
42018
|
+
"div",
|
|
42019
|
+
{
|
|
42020
|
+
ref: panelRef,
|
|
42021
|
+
"data-ods-floating": "",
|
|
42022
|
+
className: "ods-expression-field__editor",
|
|
42023
|
+
style: { top: pos.top, left: pos.left, width: pos.width },
|
|
42024
|
+
role: "dialog",
|
|
42025
|
+
"aria-label": `Edit ${crumbs[0]?.label ?? "function"}`,
|
|
42026
|
+
children: [
|
|
42027
|
+
/* @__PURE__ */ (0, import_jsx_runtime174.jsxs)("div", { className: "ods-expression-field__editor-head", children: [
|
|
41997
42028
|
/* @__PURE__ */ (0, import_jsx_runtime174.jsx)(
|
|
41998
|
-
|
|
42029
|
+
Breadcrumb,
|
|
41999
42030
|
{
|
|
42000
|
-
|
|
42001
|
-
|
|
42002
|
-
|
|
42003
|
-
|
|
42031
|
+
className: "ods-expression-field__editor-crumbs",
|
|
42032
|
+
items: crumbs.map((crumb) => ({
|
|
42033
|
+
label: crumb.label,
|
|
42034
|
+
onClick: () => setPath(crumb.path)
|
|
42035
|
+
}))
|
|
42004
42036
|
}
|
|
42005
|
-
)
|
|
42006
|
-
|
|
42007
|
-
|
|
42008
|
-
|
|
42037
|
+
),
|
|
42038
|
+
/* @__PURE__ */ (0, import_jsx_runtime174.jsx)(Button, { variant: "ghost", size: "sm", onClick: () => setRawMode((r) => !r), children: rawMode ? "Back to fields" : "Edit as text" })
|
|
42039
|
+
] }),
|
|
42040
|
+
rawMode ? /* @__PURE__ */ (0, import_jsx_runtime174.jsx)(
|
|
42041
|
+
"textarea",
|
|
42009
42042
|
{
|
|
42010
|
-
|
|
42011
|
-
|
|
42012
|
-
|
|
42013
|
-
|
|
42043
|
+
className: "ods-expression-field__editor-raw",
|
|
42044
|
+
value: draft,
|
|
42045
|
+
rows: 3,
|
|
42046
|
+
"aria-label": "Expression",
|
|
42047
|
+
onChange: (e) => setDraft(e.target.value)
|
|
42014
42048
|
}
|
|
42015
|
-
)
|
|
42016
|
-
|
|
42017
|
-
|
|
42018
|
-
|
|
42019
|
-
|
|
42020
|
-
|
|
42021
|
-
|
|
42022
|
-
|
|
42023
|
-
|
|
42024
|
-
|
|
42025
|
-
|
|
42026
|
-
|
|
42027
|
-
|
|
42028
|
-
|
|
42029
|
-
|
|
42030
|
-
|
|
42031
|
-
|
|
42032
|
-
|
|
42033
|
-
|
|
42034
|
-
|
|
42035
|
-
|
|
42036
|
-
|
|
42037
|
-
|
|
42038
|
-
{
|
|
42039
|
-
type: "button",
|
|
42040
|
-
className: "ods-expression-field__editor-remove",
|
|
42041
|
-
"aria-label": `Remove ${rowLabel}`,
|
|
42042
|
-
title: "Remove this argument",
|
|
42043
|
-
onClick: () => removeArg(index),
|
|
42044
|
-
children: "\u2715"
|
|
42045
|
-
}
|
|
42046
|
-
)
|
|
42047
|
-
] }),
|
|
42048
|
-
nested ? /* @__PURE__ */ (0, import_jsx_runtime174.jsxs)(
|
|
42049
|
-
"div",
|
|
42050
|
-
{
|
|
42051
|
-
className: "ods-expression-field__editor-nested",
|
|
42052
|
-
onDragOver: (e) => {
|
|
42053
|
-
if (e.dataTransfer.types.includes("application/x-fx-insert")) e.preventDefault();
|
|
42054
|
-
},
|
|
42055
|
-
onDrop: dropInto(index),
|
|
42056
|
-
children: [
|
|
42057
|
-
/* @__PURE__ */ (0, import_jsx_runtime174.jsx)("code", { children: argSummary(arg, nameOf) }),
|
|
42058
|
-
/* @__PURE__ */ (0, import_jsx_runtime174.jsxs)("span", { children: [
|
|
42059
|
-
/* @__PURE__ */ (0, import_jsx_runtime174.jsx)("button", { type: "button", onClick: () => setPath([...path, index]), children: "Open" }),
|
|
42060
|
-
/* @__PURE__ */ (0, import_jsx_runtime174.jsx)("button", { type: "button", onClick: () => setArg(index, ""), "aria-label": `Clear ${rowLabel}`, children: "Clear" })
|
|
42061
|
-
] })
|
|
42062
|
-
]
|
|
42063
|
-
}
|
|
42064
|
-
) : kind === "reference" ? (
|
|
42065
|
-
// A reference is a value from somewhere else — named, never
|
|
42066
|
-
// its raw `ods://…` path, here as much as in the field.
|
|
42067
|
-
/* @__PURE__ */ (0, import_jsx_runtime174.jsxs)(
|
|
42049
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime174.jsxs)("div", { className: "ods-expression-field__editor-rows", children: [
|
|
42050
|
+
args.map((arg, index) => {
|
|
42051
|
+
const kind = argumentKind(arg);
|
|
42052
|
+
const rowLabel = names[index] ?? `argument ${index + 1}`;
|
|
42053
|
+
const nested = kind === "call" ? parseCall(arg) : void 0;
|
|
42054
|
+
return (
|
|
42055
|
+
// eslint-disable-next-line react/no-array-index-key
|
|
42056
|
+
/* @__PURE__ */ (0, import_jsx_runtime174.jsxs)("div", { className: "ods-expression-field__editor-row", children: [
|
|
42057
|
+
/* @__PURE__ */ (0, import_jsx_runtime174.jsxs)("span", { className: "ods-expression-field__editor-row-head", children: [
|
|
42058
|
+
/* @__PURE__ */ (0, import_jsx_runtime174.jsx)("span", { className: "ods-expression-field__editor-row-name", id: `arg-${index}-label`, children: rowLabel }),
|
|
42059
|
+
/* @__PURE__ */ (0, import_jsx_runtime174.jsx)(
|
|
42060
|
+
Button,
|
|
42061
|
+
{
|
|
42062
|
+
variant: "icon",
|
|
42063
|
+
size: "sm",
|
|
42064
|
+
"aria-label": `Remove ${rowLabel}`,
|
|
42065
|
+
title: "Remove this argument",
|
|
42066
|
+
onClick: () => removeArg(index),
|
|
42067
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime174.jsx)(import_icons68.CloseIcon, { size: "sm" })
|
|
42068
|
+
}
|
|
42069
|
+
)
|
|
42070
|
+
] }),
|
|
42071
|
+
nested ? /* @__PURE__ */ (0, import_jsx_runtime174.jsxs)(
|
|
42068
42072
|
"div",
|
|
42069
42073
|
{
|
|
42070
|
-
className: "ods-expression-field__editor-
|
|
42074
|
+
className: "ods-expression-field__editor-nested",
|
|
42071
42075
|
onDragOver: (e) => {
|
|
42072
42076
|
if (e.dataTransfer.types.includes("application/x-fx-insert")) e.preventDefault();
|
|
42073
42077
|
},
|
|
42074
42078
|
onDrop: dropInto(index),
|
|
42075
42079
|
children: [
|
|
42076
|
-
/* @__PURE__ */ (0, import_jsx_runtime174.jsx)(
|
|
42077
|
-
|
|
42078
|
-
{
|
|
42079
|
-
|
|
42080
|
-
|
|
42081
|
-
|
|
42082
|
-
|
|
42083
|
-
|
|
42084
|
-
|
|
42085
|
-
|
|
42080
|
+
/* @__PURE__ */ (0, import_jsx_runtime174.jsx)("code", { children: argSummary(arg, nameOf) }),
|
|
42081
|
+
/* @__PURE__ */ (0, import_jsx_runtime174.jsxs)("span", { children: [
|
|
42082
|
+
/* @__PURE__ */ (0, import_jsx_runtime174.jsx)(Button, { variant: "secondary", size: "sm", onClick: () => setPath([...path, index]), children: "Open" }),
|
|
42083
|
+
/* @__PURE__ */ (0, import_jsx_runtime174.jsx)(
|
|
42084
|
+
Button,
|
|
42085
|
+
{
|
|
42086
|
+
variant: "ghost",
|
|
42087
|
+
size: "sm",
|
|
42088
|
+
"aria-label": `Clear ${rowLabel}`,
|
|
42089
|
+
onClick: () => setArg(index, ""),
|
|
42090
|
+
children: "Clear"
|
|
42091
|
+
}
|
|
42092
|
+
)
|
|
42093
|
+
] })
|
|
42086
42094
|
]
|
|
42087
42095
|
}
|
|
42096
|
+
) : kind === "reference" ? (
|
|
42097
|
+
// A reference is a value from somewhere else — named, never
|
|
42098
|
+
// its raw `ods://…` path, here as much as in the field.
|
|
42099
|
+
/* @__PURE__ */ (0, import_jsx_runtime174.jsxs)(
|
|
42100
|
+
"div",
|
|
42101
|
+
{
|
|
42102
|
+
className: "ods-expression-field__editor-ref",
|
|
42103
|
+
onDragOver: (e) => {
|
|
42104
|
+
if (e.dataTransfer.types.includes("application/x-fx-insert")) e.preventDefault();
|
|
42105
|
+
},
|
|
42106
|
+
onDrop: dropInto(index),
|
|
42107
|
+
children: [
|
|
42108
|
+
/* @__PURE__ */ (0, import_jsx_runtime174.jsx)(
|
|
42109
|
+
"span",
|
|
42110
|
+
{
|
|
42111
|
+
className: "ods-expression-field__pill",
|
|
42112
|
+
title: arg,
|
|
42113
|
+
"aria-labelledby": `arg-${index}-label`,
|
|
42114
|
+
children: labelFor(arg.startsWith("ods://") ? `{{${arg}}}` : arg)
|
|
42115
|
+
}
|
|
42116
|
+
),
|
|
42117
|
+
/* @__PURE__ */ (0, import_jsx_runtime174.jsx)(
|
|
42118
|
+
Button,
|
|
42119
|
+
{
|
|
42120
|
+
variant: "ghost",
|
|
42121
|
+
size: "sm",
|
|
42122
|
+
"aria-label": `Clear ${rowLabel}`,
|
|
42123
|
+
onClick: () => setArg(index, ""),
|
|
42124
|
+
children: "Clear"
|
|
42125
|
+
}
|
|
42126
|
+
)
|
|
42127
|
+
]
|
|
42128
|
+
}
|
|
42129
|
+
)
|
|
42130
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime174.jsx)(
|
|
42131
|
+
"input",
|
|
42132
|
+
{
|
|
42133
|
+
"aria-labelledby": `arg-${index}-label`,
|
|
42134
|
+
value: arg,
|
|
42135
|
+
placeholder: 'a value, "text", or drag one in',
|
|
42136
|
+
"data-kind": kind,
|
|
42137
|
+
onChange: (e) => setArg(index, e.target.value),
|
|
42138
|
+
onDragOver: (e) => {
|
|
42139
|
+
if (e.dataTransfer.types.includes("application/x-fx-insert")) e.preventDefault();
|
|
42140
|
+
},
|
|
42141
|
+
onDrop: dropInto(index)
|
|
42142
|
+
}
|
|
42088
42143
|
)
|
|
42089
|
-
|
|
42090
|
-
|
|
42091
|
-
|
|
42092
|
-
|
|
42093
|
-
|
|
42094
|
-
|
|
42095
|
-
|
|
42096
|
-
|
|
42097
|
-
|
|
42098
|
-
|
|
42099
|
-
|
|
42100
|
-
|
|
42101
|
-
|
|
42102
|
-
|
|
42103
|
-
|
|
42104
|
-
|
|
42105
|
-
|
|
42106
|
-
|
|
42107
|
-
|
|
42108
|
-
|
|
42109
|
-
|
|
42110
|
-
|
|
42111
|
-
|
|
42112
|
-
|
|
42113
|
-
|
|
42114
|
-
|
|
42115
|
-
|
|
42116
|
-
|
|
42117
|
-
children: "+ Add argument"
|
|
42118
|
-
}
|
|
42119
|
-
)
|
|
42120
|
-
] }),
|
|
42121
|
-
/* @__PURE__ */ (0, import_jsx_runtime174.jsxs)("div", { className: "ods-expression-field__editor-foot", children: [
|
|
42122
|
-
/* @__PURE__ */ (0, import_jsx_runtime174.jsx)("button", { type: "button", onClick: onCancel, children: "Cancel" }),
|
|
42123
|
-
/* @__PURE__ */ (0, import_jsx_runtime174.jsx)(
|
|
42124
|
-
"button",
|
|
42125
|
-
{
|
|
42126
|
-
type: "button",
|
|
42127
|
-
className: "ods-expression-field__editor-primary",
|
|
42128
|
-
onClick: () => onApply(draft),
|
|
42129
|
-
children: "Apply"
|
|
42130
|
-
}
|
|
42131
|
-
)
|
|
42132
|
-
] })
|
|
42133
|
-
]
|
|
42134
|
-
}
|
|
42144
|
+
] }, index)
|
|
42145
|
+
);
|
|
42146
|
+
}),
|
|
42147
|
+
/* @__PURE__ */ (0, import_jsx_runtime174.jsx)(
|
|
42148
|
+
Button,
|
|
42149
|
+
{
|
|
42150
|
+
variant: "ghost",
|
|
42151
|
+
size: "sm",
|
|
42152
|
+
fullWidth: true,
|
|
42153
|
+
leftIcon: /* @__PURE__ */ (0, import_jsx_runtime174.jsx)(import_icons68.AddIcon, { size: "sm" }),
|
|
42154
|
+
onClick: () => setDraft((d) => {
|
|
42155
|
+
const at = callAt(d, path);
|
|
42156
|
+
if (!at) return d;
|
|
42157
|
+
const next = [...at.args, '""'];
|
|
42158
|
+
return path.length === 0 ? formatCall(at.name, next) : replaceArgument(d, path, `${at.name}(${next.join(", ")})`);
|
|
42159
|
+
}),
|
|
42160
|
+
children: "Add argument"
|
|
42161
|
+
}
|
|
42162
|
+
)
|
|
42163
|
+
] }),
|
|
42164
|
+
/* @__PURE__ */ (0, import_jsx_runtime174.jsxs)("div", { className: "ods-expression-field__editor-foot", children: [
|
|
42165
|
+
/* @__PURE__ */ (0, import_jsx_runtime174.jsx)(Button, { variant: "secondary", size: "sm", onClick: onCancel, children: "Cancel" }),
|
|
42166
|
+
/* @__PURE__ */ (0, import_jsx_runtime174.jsx)(Button, { variant: "primary", size: "sm", onClick: () => onApply(draft), children: "Apply" })
|
|
42167
|
+
] })
|
|
42168
|
+
]
|
|
42169
|
+
}
|
|
42170
|
+
),
|
|
42171
|
+
document.body
|
|
42135
42172
|
);
|
|
42136
42173
|
}
|
|
42137
42174
|
|
|
@@ -42219,14 +42256,14 @@ function TopBar({
|
|
|
42219
42256
|
// src/components/TraceStep/TraceStep.tsx
|
|
42220
42257
|
var import_framer_motion38 = require("framer-motion");
|
|
42221
42258
|
var import_react189 = require("react");
|
|
42222
|
-
var
|
|
42259
|
+
var import_icons69 = require("@octaviaflow/icons");
|
|
42223
42260
|
var import_jsx_runtime176 = require("react/jsx-runtime");
|
|
42224
42261
|
var DEFAULT_KIND_GLYPH = {
|
|
42225
|
-
thought: /* @__PURE__ */ (0, import_jsx_runtime176.jsx)(
|
|
42226
|
-
tool: /* @__PURE__ */ (0, import_jsx_runtime176.jsx)(
|
|
42227
|
-
input: /* @__PURE__ */ (0, import_jsx_runtime176.jsx)(
|
|
42228
|
-
output: /* @__PURE__ */ (0, import_jsx_runtime176.jsx)(
|
|
42229
|
-
error: /* @__PURE__ */ (0, import_jsx_runtime176.jsx)(
|
|
42262
|
+
thought: /* @__PURE__ */ (0, import_jsx_runtime176.jsx)(import_icons69.IdeaIcon, { size: "xs" }),
|
|
42263
|
+
tool: /* @__PURE__ */ (0, import_jsx_runtime176.jsx)(import_icons69.BuildToolIcon, { size: "xs" }),
|
|
42264
|
+
input: /* @__PURE__ */ (0, import_jsx_runtime176.jsx)(import_icons69.ConnectionReceiveIcon, { size: "xs" }),
|
|
42265
|
+
output: /* @__PURE__ */ (0, import_jsx_runtime176.jsx)(import_icons69.ConnectionSendIcon, { size: "xs" }),
|
|
42266
|
+
error: /* @__PURE__ */ (0, import_jsx_runtime176.jsx)(import_icons69.WarningAltIcon, { size: "xs" })
|
|
42230
42267
|
};
|
|
42231
42268
|
var FALLBACK_GLYPH = DEFAULT_KIND_GLYPH.thought;
|
|
42232
42269
|
var TraceStep = (0, import_react189.forwardRef)(
|
|
@@ -42290,7 +42327,7 @@ var TraceStep = (0, import_react189.forwardRef)(
|
|
|
42290
42327
|
initial: disableAnimation ? false : { scale: 0.6, opacity: 0 },
|
|
42291
42328
|
animate: { scale: 1, opacity: 1 },
|
|
42292
42329
|
transition: { duration: 0.2, ease: [0.16, 1, 0.3, 1] },
|
|
42293
|
-
children: status === "running" ? /* @__PURE__ */ (0, import_jsx_runtime176.jsx)("span", { className: "ods-trace-step__spin", children: /* @__PURE__ */ (0, import_jsx_runtime176.jsx)(
|
|
42330
|
+
children: status === "running" ? /* @__PURE__ */ (0, import_jsx_runtime176.jsx)("span", { className: "ods-trace-step__spin", children: /* @__PURE__ */ (0, import_jsx_runtime176.jsx)(import_icons69.CircleDashIcon, { size: "xs" }) }) : resolvedGlyph
|
|
42294
42331
|
}
|
|
42295
42332
|
),
|
|
42296
42333
|
!isLast && /* @__PURE__ */ (0, import_jsx_runtime176.jsx)(
|
|
@@ -42333,7 +42370,7 @@ var TraceStep = (0, import_react189.forwardRef)(
|
|
|
42333
42370
|
title: tool,
|
|
42334
42371
|
"aria-label": `Tool: ${tool}`,
|
|
42335
42372
|
children: [
|
|
42336
|
-
/* @__PURE__ */ (0, import_jsx_runtime176.jsx)("span", { className: "ods-trace-step__tool-icon", "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime176.jsx)(
|
|
42373
|
+
/* @__PURE__ */ (0, import_jsx_runtime176.jsx)("span", { className: "ods-trace-step__tool-icon", "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime176.jsx)(import_icons69.BuildToolIcon, { size: "xs" }) }),
|
|
42337
42374
|
tool
|
|
42338
42375
|
]
|
|
42339
42376
|
}
|
|
@@ -42366,7 +42403,7 @@ var TraceStep = (0, import_react189.forwardRef)(
|
|
|
42366
42403
|
"aria-hidden": "true",
|
|
42367
42404
|
animate: { rotate: open ? 180 : 0 },
|
|
42368
42405
|
transition: { duration: 0.18, ease: [0.16, 1, 0.3, 1] },
|
|
42369
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime176.jsx)(
|
|
42406
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime176.jsx)(import_icons69.CaretDownIcon, { size: "xs" })
|
|
42370
42407
|
}
|
|
42371
42408
|
)
|
|
42372
42409
|
]
|
|
@@ -44267,7 +44304,7 @@ function cursorFor(corner) {
|
|
|
44267
44304
|
}
|
|
44268
44305
|
|
|
44269
44306
|
// src/workflow/components/kinds/BaseNode.tsx
|
|
44270
|
-
var
|
|
44307
|
+
var import_icons70 = require("@octaviaflow/icons");
|
|
44271
44308
|
var import_react199 = require("react");
|
|
44272
44309
|
var import_jsx_runtime183 = require("react/jsx-runtime");
|
|
44273
44310
|
function BaseNode({
|
|
@@ -44334,7 +44371,7 @@ function BaseNode({
|
|
|
44334
44371
|
"aria-label": "Delete node",
|
|
44335
44372
|
"data-flow-no-drag": "true",
|
|
44336
44373
|
title: "Delete node",
|
|
44337
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime183.jsx)(
|
|
44374
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime183.jsx)(import_icons70.TrashCanIcon, { size: 16, "aria-hidden": true })
|
|
44338
44375
|
}
|
|
44339
44376
|
)
|
|
44340
44377
|
] }),
|
|
@@ -46253,7 +46290,7 @@ function DefaultEmptyState() {
|
|
|
46253
46290
|
}
|
|
46254
46291
|
|
|
46255
46292
|
// src/components/WorkflowHeader/WorkflowHeader.tsx
|
|
46256
|
-
var
|
|
46293
|
+
var import_icons71 = require("@octaviaflow/icons");
|
|
46257
46294
|
|
|
46258
46295
|
// src/hooks/useWorkflowRuntime.ts
|
|
46259
46296
|
var import_react202 = require("react");
|
|
@@ -46344,7 +46381,7 @@ function WorkflowHeader({
|
|
|
46344
46381
|
onClick: onBack,
|
|
46345
46382
|
"aria-label": `Back to ${typeof parentLabel === "string" ? parentLabel : "previous"}`,
|
|
46346
46383
|
children: [
|
|
46347
|
-
/* @__PURE__ */ (0, import_jsx_runtime187.jsx)(
|
|
46384
|
+
/* @__PURE__ */ (0, import_jsx_runtime187.jsx)(import_icons71.ChevronLeftIcon, { size: "sm" }),
|
|
46348
46385
|
/* @__PURE__ */ (0, import_jsx_runtime187.jsx)("span", { className: "ods-workflow-header__back-label", children: parentLabel }),
|
|
46349
46386
|
/* @__PURE__ */ (0, import_jsx_runtime187.jsx)("span", { className: "ods-workflow-header__back-separator", "aria-hidden": "true", children: "/" })
|
|
46350
46387
|
]
|
|
@@ -46383,14 +46420,14 @@ function WorkflowHeader({
|
|
|
46383
46420
|
title: saveState === "error" ? saveError ?? void 0 : void 0,
|
|
46384
46421
|
children: [
|
|
46385
46422
|
saveState === "saving" ? /* @__PURE__ */ (0, import_jsx_runtime187.jsx)("span", { className: "ods-workflow-header__save-spinner", "aria-hidden": "true" }) : saveState === "error" ? /* @__PURE__ */ (0, import_jsx_runtime187.jsx)(
|
|
46386
|
-
|
|
46423
|
+
import_icons71.WarningAltIcon,
|
|
46387
46424
|
{
|
|
46388
46425
|
size: "sm",
|
|
46389
46426
|
className: "ods-workflow-header__save-icon",
|
|
46390
46427
|
"aria-hidden": "true"
|
|
46391
46428
|
}
|
|
46392
46429
|
) : /* @__PURE__ */ (0, import_jsx_runtime187.jsx)(
|
|
46393
|
-
|
|
46430
|
+
import_icons71.CheckmarkIcon,
|
|
46394
46431
|
{
|
|
46395
46432
|
size: "sm",
|
|
46396
46433
|
className: "ods-workflow-header__save-icon",
|
|
@@ -46431,7 +46468,7 @@ function WorkflowHeader({
|
|
|
46431
46468
|
size: "sm",
|
|
46432
46469
|
pressed: !!isConsoleOpen,
|
|
46433
46470
|
"aria-label": isConsoleOpen ? "Hide execution console" : "Show execution console",
|
|
46434
|
-
leftIcon: /* @__PURE__ */ (0, import_jsx_runtime187.jsx)(
|
|
46471
|
+
leftIcon: /* @__PURE__ */ (0, import_jsx_runtime187.jsx)(import_icons71.TerminalIcon, { size: "sm" }),
|
|
46435
46472
|
onClick: onToggleConsole,
|
|
46436
46473
|
children: "Console"
|
|
46437
46474
|
}
|
|
@@ -46443,7 +46480,7 @@ function WorkflowHeader({
|
|
|
46443
46480
|
variant: "ghost",
|
|
46444
46481
|
size: "sm",
|
|
46445
46482
|
"aria-label": runtime ? `Stop execution (running ${runtime})` : "Stop execution",
|
|
46446
|
-
leftIcon: /* @__PURE__ */ (0, import_jsx_runtime187.jsx)(
|
|
46483
|
+
leftIcon: /* @__PURE__ */ (0, import_jsx_runtime187.jsx)(import_icons71.StopFilledAltIcon, { size: "sm", className: "ods-workflow-header__stop-glyph" }),
|
|
46447
46484
|
onClick: onStop,
|
|
46448
46485
|
children: /* @__PURE__ */ (0, import_jsx_runtime187.jsxs)("span", { className: "ods-workflow-header__stop-label", children: [
|
|
46449
46486
|
/* @__PURE__ */ (0, import_jsx_runtime187.jsx)("span", { children: "Stop" }),
|
|
@@ -46459,7 +46496,7 @@ function WorkflowHeader({
|
|
|
46459
46496
|
variant: "primary",
|
|
46460
46497
|
size: "sm",
|
|
46461
46498
|
"aria-label": "Run workflow",
|
|
46462
|
-
leftIcon: /* @__PURE__ */ (0, import_jsx_runtime187.jsx)(
|
|
46499
|
+
leftIcon: /* @__PURE__ */ (0, import_jsx_runtime187.jsx)(import_icons71.PlayFilledAltIcon, { size: "sm" }),
|
|
46463
46500
|
onClick: onRun,
|
|
46464
46501
|
children: "Run"
|
|
46465
46502
|
}
|
|
@@ -46471,7 +46508,7 @@ function WorkflowHeader({
|
|
|
46471
46508
|
align: "end",
|
|
46472
46509
|
triggerClassName: "ods-workflow-header__menu-trigger",
|
|
46473
46510
|
...menuProps,
|
|
46474
|
-
trigger: menuTrigger ?? /* @__PURE__ */ (0, import_jsx_runtime187.jsx)("span", { "aria-hidden": "true", className: "ods-workflow-header__menu-icon", children: /* @__PURE__ */ (0, import_jsx_runtime187.jsx)(
|
|
46511
|
+
trigger: menuTrigger ?? /* @__PURE__ */ (0, import_jsx_runtime187.jsx)("span", { "aria-hidden": "true", className: "ods-workflow-header__menu-icon", children: /* @__PURE__ */ (0, import_jsx_runtime187.jsx)(import_icons71.OverflowMenuVerticalIcon, { size: "sm" }) }),
|
|
46475
46512
|
items: menuItems
|
|
46476
46513
|
}
|
|
46477
46514
|
))
|
|
@@ -46481,7 +46518,7 @@ function WorkflowHeader({
|
|
|
46481
46518
|
}
|
|
46482
46519
|
|
|
46483
46520
|
// src/components/WorkflowHeader/WorkflowHeaderExpanded.tsx
|
|
46484
|
-
var
|
|
46521
|
+
var import_icons72 = require("@octaviaflow/icons");
|
|
46485
46522
|
var import_jsx_runtime188 = require("react/jsx-runtime");
|
|
46486
46523
|
function WorkflowHeaderExpanded({
|
|
46487
46524
|
name,
|
|
@@ -46526,7 +46563,7 @@ function WorkflowHeaderExpanded({
|
|
|
46526
46563
|
onClick: onBack,
|
|
46527
46564
|
"aria-label": `Back to ${typeof parentLabel === "string" ? parentLabel : "previous"}`,
|
|
46528
46565
|
children: [
|
|
46529
|
-
/* @__PURE__ */ (0, import_jsx_runtime188.jsx)(
|
|
46566
|
+
/* @__PURE__ */ (0, import_jsx_runtime188.jsx)(import_icons72.ChevronLeftIcon, { size: "sm" }),
|
|
46530
46567
|
/* @__PURE__ */ (0, import_jsx_runtime188.jsx)("span", { children: parentLabel }),
|
|
46531
46568
|
/* @__PURE__ */ (0, import_jsx_runtime188.jsx)("span", { "aria-hidden": "true", className: "ods-workflow-header-expanded__back-sep", children: "/" })
|
|
46532
46569
|
]
|
|
@@ -46565,7 +46602,7 @@ function WorkflowHeaderExpanded({
|
|
|
46565
46602
|
size: "sm",
|
|
46566
46603
|
pressed: !!isConsoleOpen,
|
|
46567
46604
|
"aria-label": isConsoleOpen ? "Hide execution console" : "Show execution console",
|
|
46568
|
-
leftIcon: /* @__PURE__ */ (0, import_jsx_runtime188.jsx)(
|
|
46605
|
+
leftIcon: /* @__PURE__ */ (0, import_jsx_runtime188.jsx)(import_icons72.TerminalIcon, { size: "sm" }),
|
|
46569
46606
|
onClick: onToggleConsole,
|
|
46570
46607
|
children: "Console"
|
|
46571
46608
|
}
|
|
@@ -46578,7 +46615,7 @@ function WorkflowHeaderExpanded({
|
|
|
46578
46615
|
size: "sm",
|
|
46579
46616
|
"aria-label": runtime ? `Stop execution (running ${runtime})` : "Stop execution",
|
|
46580
46617
|
leftIcon: /* @__PURE__ */ (0, import_jsx_runtime188.jsx)(
|
|
46581
|
-
|
|
46618
|
+
import_icons72.StopFilledAltIcon,
|
|
46582
46619
|
{
|
|
46583
46620
|
size: "sm",
|
|
46584
46621
|
className: "ods-workflow-header-expanded__stop-glyph"
|
|
@@ -46599,7 +46636,7 @@ function WorkflowHeaderExpanded({
|
|
|
46599
46636
|
variant: "primary",
|
|
46600
46637
|
size: "sm",
|
|
46601
46638
|
"aria-label": "Run workflow",
|
|
46602
|
-
leftIcon: /* @__PURE__ */ (0, import_jsx_runtime188.jsx)(
|
|
46639
|
+
leftIcon: /* @__PURE__ */ (0, import_jsx_runtime188.jsx)(import_icons72.PlayFilledAltIcon, { size: "sm" }),
|
|
46603
46640
|
onClick: onRun,
|
|
46604
46641
|
children: "Run"
|
|
46605
46642
|
}
|
|
@@ -46615,7 +46652,7 @@ function WorkflowHeaderExpanded({
|
|
|
46615
46652
|
{
|
|
46616
46653
|
variant: "ghost",
|
|
46617
46654
|
size: "sm",
|
|
46618
|
-
leftIcon: /* @__PURE__ */ (0, import_jsx_runtime188.jsx)(
|
|
46655
|
+
leftIcon: /* @__PURE__ */ (0, import_jsx_runtime188.jsx)(import_icons72.OverflowMenuVerticalIcon, { size: "sm" })
|
|
46619
46656
|
}
|
|
46620
46657
|
),
|
|
46621
46658
|
items: menuItems
|
|
@@ -48112,60 +48149,60 @@ function DeliveryFrequencyControl({
|
|
|
48112
48149
|
DeliveryFrequencyControl.displayName = "DeliveryFrequencyControl";
|
|
48113
48150
|
|
|
48114
48151
|
// src/notifications/components/EventCatalogPicker/EventCatalogPicker.tsx
|
|
48115
|
-
var
|
|
48152
|
+
var import_icons74 = require("@octaviaflow/icons");
|
|
48116
48153
|
var import_react212 = require("react");
|
|
48117
48154
|
|
|
48118
48155
|
// src/notifications/components/meta.tsx
|
|
48119
|
-
var
|
|
48156
|
+
var import_icons73 = require("@octaviaflow/icons");
|
|
48120
48157
|
var import_jsx_runtime192 = require("react/jsx-runtime");
|
|
48121
48158
|
var CHANNEL_TYPE_META = {
|
|
48122
48159
|
in_app: {
|
|
48123
48160
|
label: "In-app",
|
|
48124
48161
|
hint: "The bell in the top bar. Always on.",
|
|
48125
48162
|
connected: false,
|
|
48126
|
-
icon: /* @__PURE__ */ (0, import_jsx_runtime192.jsx)(
|
|
48163
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime192.jsx)(import_icons73.NotificationIcon, { size: "sm", "aria-hidden": "true" })
|
|
48127
48164
|
},
|
|
48128
48165
|
email: {
|
|
48129
48166
|
label: "Email",
|
|
48130
48167
|
hint: "One or more addresses.",
|
|
48131
48168
|
connected: false,
|
|
48132
|
-
icon: /* @__PURE__ */ (0, import_jsx_runtime192.jsx)(
|
|
48169
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime192.jsx)(import_icons73.EmailIcon, { size: "sm", "aria-hidden": "true" })
|
|
48133
48170
|
},
|
|
48134
48171
|
slack: {
|
|
48135
48172
|
label: "Slack",
|
|
48136
48173
|
hint: "A channel in a connected workspace.",
|
|
48137
48174
|
connected: true,
|
|
48138
|
-
icon: /* @__PURE__ */ (0, import_jsx_runtime192.jsx)(
|
|
48175
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime192.jsx)(import_icons73.LogoSlackIcon, { size: "sm", "aria-hidden": "true" })
|
|
48139
48176
|
},
|
|
48140
48177
|
teams: {
|
|
48141
48178
|
label: "Microsoft Teams",
|
|
48142
48179
|
hint: "A channel in a connected team.",
|
|
48143
48180
|
connected: true,
|
|
48144
|
-
icon: /* @__PURE__ */ (0, import_jsx_runtime192.jsx)(
|
|
48181
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime192.jsx)(import_icons73.ChatOperationalIcon, { size: "sm", "aria-hidden": "true" })
|
|
48145
48182
|
},
|
|
48146
48183
|
google_chat: {
|
|
48147
48184
|
label: "Google Chat",
|
|
48148
48185
|
hint: "A space in a connected account.",
|
|
48149
48186
|
connected: true,
|
|
48150
|
-
icon: /* @__PURE__ */ (0, import_jsx_runtime192.jsx)(
|
|
48187
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime192.jsx)(import_icons73.ChatIcon, { size: "sm", "aria-hidden": "true" })
|
|
48151
48188
|
},
|
|
48152
48189
|
whatsapp: {
|
|
48153
48190
|
label: "WhatsApp",
|
|
48154
48191
|
hint: "Template messages to a phone number.",
|
|
48155
48192
|
connected: false,
|
|
48156
|
-
icon: /* @__PURE__ */ (0, import_jsx_runtime192.jsx)(
|
|
48193
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime192.jsx)(import_icons73.ChatLaunchIcon, { size: "sm", "aria-hidden": "true" })
|
|
48157
48194
|
},
|
|
48158
48195
|
webhook: {
|
|
48159
48196
|
label: "Webhook",
|
|
48160
48197
|
hint: "Signed JSON to a URL you own.",
|
|
48161
48198
|
connected: false,
|
|
48162
|
-
icon: /* @__PURE__ */ (0, import_jsx_runtime192.jsx)(
|
|
48199
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime192.jsx)(import_icons73.WebhookIcon, { size: "sm", "aria-hidden": "true" })
|
|
48163
48200
|
}
|
|
48164
48201
|
};
|
|
48165
48202
|
var PERSONAL_CHANNEL_META = {
|
|
48166
|
-
in_app: { label: "In-app", icon: /* @__PURE__ */ (0, import_jsx_runtime192.jsx)(
|
|
48167
|
-
email: { label: "Email", icon: /* @__PURE__ */ (0, import_jsx_runtime192.jsx)(
|
|
48168
|
-
slack_dm: { label: "Slack DM", icon: /* @__PURE__ */ (0, import_jsx_runtime192.jsx)(
|
|
48203
|
+
in_app: { label: "In-app", icon: /* @__PURE__ */ (0, import_jsx_runtime192.jsx)(import_icons73.NotificationIcon, { size: "sm", "aria-hidden": "true" }) },
|
|
48204
|
+
email: { label: "Email", icon: /* @__PURE__ */ (0, import_jsx_runtime192.jsx)(import_icons73.EmailIcon, { size: "sm", "aria-hidden": "true" }) },
|
|
48205
|
+
slack_dm: { label: "Slack DM", icon: /* @__PURE__ */ (0, import_jsx_runtime192.jsx)(import_icons73.LogoSlackIcon, { size: "sm", "aria-hidden": "true" }) }
|
|
48169
48206
|
};
|
|
48170
48207
|
var CHANNEL_STATUS_META = {
|
|
48171
48208
|
verified: { label: "Verified", variant: "success" },
|
|
@@ -48177,17 +48214,17 @@ var SEVERITY_META = {
|
|
|
48177
48214
|
info: {
|
|
48178
48215
|
label: "Info",
|
|
48179
48216
|
variant: "info",
|
|
48180
|
-
icon: /* @__PURE__ */ (0, import_jsx_runtime192.jsx)(
|
|
48217
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime192.jsx)(import_icons73.InformationFilledIcon, { size: "sm", "aria-hidden": "true" })
|
|
48181
48218
|
},
|
|
48182
48219
|
warning: {
|
|
48183
48220
|
label: "Warning",
|
|
48184
48221
|
variant: "warning",
|
|
48185
|
-
icon: /* @__PURE__ */ (0, import_jsx_runtime192.jsx)(
|
|
48222
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime192.jsx)(import_icons73.WarningFilledIcon, { size: "sm", "aria-hidden": "true" })
|
|
48186
48223
|
},
|
|
48187
48224
|
error: {
|
|
48188
48225
|
label: "Error",
|
|
48189
48226
|
variant: "error",
|
|
48190
|
-
icon: /* @__PURE__ */ (0, import_jsx_runtime192.jsx)(
|
|
48227
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime192.jsx)(import_icons73.ErrorFilledIcon, { size: "sm", "aria-hidden": "true" })
|
|
48191
48228
|
}
|
|
48192
48229
|
};
|
|
48193
48230
|
|
|
@@ -48262,7 +48299,7 @@ function EventCatalogPicker({
|
|
|
48262
48299
|
type: "search",
|
|
48263
48300
|
"aria-label": "Search events",
|
|
48264
48301
|
placeholder: "Search events",
|
|
48265
|
-
leftIcon: /* @__PURE__ */ (0, import_jsx_runtime193.jsx)(
|
|
48302
|
+
leftIcon: /* @__PURE__ */ (0, import_jsx_runtime193.jsx)(import_icons74.SearchIcon, { size: "sm", "aria-hidden": "true" }),
|
|
48266
48303
|
value: query,
|
|
48267
48304
|
onChange: (e) => setQuery(e.target.value),
|
|
48268
48305
|
clearable: true,
|
|
@@ -48354,7 +48391,7 @@ function EventCatalogPicker({
|
|
|
48354
48391
|
EventCatalogPicker.displayName = "EventCatalogPicker";
|
|
48355
48392
|
|
|
48356
48393
|
// src/notifications/components/NotificationBell/NotificationBell.tsx
|
|
48357
|
-
var
|
|
48394
|
+
var import_icons77 = require("@octaviaflow/icons");
|
|
48358
48395
|
var import_react214 = require("react");
|
|
48359
48396
|
|
|
48360
48397
|
// src/notifications/engine/inbox.ts
|
|
@@ -48425,7 +48462,7 @@ function groupInboxByDay(items, now2 = Date.now()) {
|
|
|
48425
48462
|
}
|
|
48426
48463
|
|
|
48427
48464
|
// src/notifications/components/NotificationDetailDialog/NotificationDetailDialog.tsx
|
|
48428
|
-
var
|
|
48465
|
+
var import_icons75 = require("@octaviaflow/icons");
|
|
48429
48466
|
var import_jsx_runtime194 = require("react/jsx-runtime");
|
|
48430
48467
|
function NotificationDetailDialog({
|
|
48431
48468
|
item,
|
|
@@ -48456,7 +48493,7 @@ function NotificationDetailDialog({
|
|
|
48456
48493
|
Button,
|
|
48457
48494
|
{
|
|
48458
48495
|
variant: "ghost",
|
|
48459
|
-
leftIcon: /* @__PURE__ */ (0, import_jsx_runtime194.jsx)(
|
|
48496
|
+
leftIcon: /* @__PURE__ */ (0, import_jsx_runtime194.jsx)(import_icons75.ArchiveIcon, { size: "sm", "aria-hidden": "true" }),
|
|
48460
48497
|
onClick: () => {
|
|
48461
48498
|
onArchive(item);
|
|
48462
48499
|
onClose();
|
|
@@ -48481,7 +48518,7 @@ function NotificationDetailDialog({
|
|
|
48481
48518
|
},
|
|
48482
48519
|
children: [
|
|
48483
48520
|
resolved.label ?? "Open",
|
|
48484
|
-
/* @__PURE__ */ (0, import_jsx_runtime194.jsx)(
|
|
48521
|
+
/* @__PURE__ */ (0, import_jsx_runtime194.jsx)(import_icons75.LaunchIcon, { size: "sm", "aria-hidden": "true" })
|
|
48485
48522
|
]
|
|
48486
48523
|
}
|
|
48487
48524
|
) })
|
|
@@ -48509,7 +48546,7 @@ function NotificationDetailDialog({
|
|
|
48509
48546
|
NotificationDetailDialog.displayName = "NotificationDetailDialog";
|
|
48510
48547
|
|
|
48511
48548
|
// src/notifications/components/NotificationInbox/NotificationInbox.tsx
|
|
48512
|
-
var
|
|
48549
|
+
var import_icons76 = require("@octaviaflow/icons");
|
|
48513
48550
|
var import_react213 = require("react");
|
|
48514
48551
|
var import_jsx_runtime195 = require("react/jsx-runtime");
|
|
48515
48552
|
var FILTER_OPTIONS = [
|
|
@@ -48624,7 +48661,7 @@ function NotificationInbox({
|
|
|
48624
48661
|
variant: "ghost",
|
|
48625
48662
|
"aria-label": "Mark as read",
|
|
48626
48663
|
onClick: () => onMarkRead([item.id]),
|
|
48627
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime195.jsx)(
|
|
48664
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime195.jsx)(import_icons76.CheckmarkIcon, { size: "sm", "aria-hidden": "true" })
|
|
48628
48665
|
}
|
|
48629
48666
|
),
|
|
48630
48667
|
onArchive && /* @__PURE__ */ (0, import_jsx_runtime195.jsx)(
|
|
@@ -48634,7 +48671,7 @@ function NotificationInbox({
|
|
|
48634
48671
|
variant: "ghost",
|
|
48635
48672
|
"aria-label": "Archive",
|
|
48636
48673
|
onClick: () => onArchive([item.id]),
|
|
48637
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime195.jsx)(
|
|
48674
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime195.jsx)(import_icons76.ArchiveIcon, { size: "sm", "aria-hidden": "true" })
|
|
48638
48675
|
}
|
|
48639
48676
|
)
|
|
48640
48677
|
] })
|
|
@@ -48662,7 +48699,7 @@ function NotificationInbox({
|
|
|
48662
48699
|
EmptyState,
|
|
48663
48700
|
{
|
|
48664
48701
|
size: compact ? "sm" : "md",
|
|
48665
|
-
icon: /* @__PURE__ */ (0, import_jsx_runtime195.jsx)(
|
|
48702
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime195.jsx)(import_icons76.NotificationOffIcon, { "aria-hidden": "true" }),
|
|
48666
48703
|
title: emptyTitle ?? (activeFilter === "unread" ? "You're all caught up" : activeFilter === "archived" ? "Nothing archived" : "No notifications yet"),
|
|
48667
48704
|
description: emptyDescription ?? (activeFilter === "all" ? "Run failures, apps that need re-authentication and account activity will show up here." : void 0)
|
|
48668
48705
|
}
|
|
@@ -48790,7 +48827,7 @@ function NotificationBell({
|
|
|
48790
48827
|
size: "md",
|
|
48791
48828
|
className: "ods-notif-bell__trigger",
|
|
48792
48829
|
"aria-label": hasUnread ? `${label}, ${countLabel} unread` : label,
|
|
48793
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime196.jsx)(
|
|
48830
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime196.jsx)(import_icons77.NotificationIcon, { size: "sm", "aria-hidden": "true" })
|
|
48794
48831
|
}
|
|
48795
48832
|
),
|
|
48796
48833
|
hasUnread && /* @__PURE__ */ (0, import_jsx_runtime196.jsx)("span", { className: "ods-notif-bell__count", "aria-hidden": "true", children: countLabel })
|
|
@@ -48814,7 +48851,7 @@ function NotificationBell({
|
|
|
48814
48851
|
NotificationBell.displayName = "NotificationBell";
|
|
48815
48852
|
|
|
48816
48853
|
// src/notifications/components/NotificationChannelCard/NotificationChannelCard.tsx
|
|
48817
|
-
var
|
|
48854
|
+
var import_icons78 = require("@octaviaflow/icons");
|
|
48818
48855
|
var import_jsx_runtime197 = require("react/jsx-runtime");
|
|
48819
48856
|
function NotificationChannelCard({
|
|
48820
48857
|
channel,
|
|
@@ -48871,7 +48908,7 @@ function NotificationChannelCard({
|
|
|
48871
48908
|
{
|
|
48872
48909
|
size: "sm",
|
|
48873
48910
|
variant: "secondary",
|
|
48874
|
-
leftIcon: /* @__PURE__ */ (0, import_jsx_runtime197.jsx)(
|
|
48911
|
+
leftIcon: /* @__PURE__ */ (0, import_jsx_runtime197.jsx)(import_icons78.SendIcon, { size: "sm", "aria-hidden": "true" }),
|
|
48875
48912
|
loading: testing,
|
|
48876
48913
|
loadingText: "Sending\u2026",
|
|
48877
48914
|
disabled: !channel.enabled,
|
|
@@ -48887,7 +48924,7 @@ function NotificationChannelCard({
|
|
|
48887
48924
|
variant: "ghost",
|
|
48888
48925
|
"aria-label": `Edit ${channel.label}`,
|
|
48889
48926
|
onClick: () => onEdit(channel),
|
|
48890
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime197.jsx)(
|
|
48927
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime197.jsx)(import_icons78.EditIcon, { size: "sm", "aria-hidden": "true" })
|
|
48891
48928
|
}
|
|
48892
48929
|
),
|
|
48893
48930
|
onRemove && /* @__PURE__ */ (0, import_jsx_runtime197.jsx)(
|
|
@@ -48898,7 +48935,7 @@ function NotificationChannelCard({
|
|
|
48898
48935
|
"aria-label": `Remove ${channel.label}`,
|
|
48899
48936
|
className: "ods-notif-channel__remove",
|
|
48900
48937
|
onClick: () => onRemove(channel),
|
|
48901
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime197.jsx)(
|
|
48938
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime197.jsx)(import_icons78.TrashCanIcon, { size: "sm", "aria-hidden": "true" })
|
|
48902
48939
|
}
|
|
48903
48940
|
),
|
|
48904
48941
|
onToggle && /* @__PURE__ */ (0, import_jsx_runtime197.jsx)(
|
|
@@ -48918,7 +48955,7 @@ function NotificationChannelCard({
|
|
|
48918
48955
|
NotificationChannelCard.displayName = "NotificationChannelCard";
|
|
48919
48956
|
|
|
48920
48957
|
// src/notifications/components/NotificationChannelDialog/NotificationChannelDialog.tsx
|
|
48921
|
-
var
|
|
48958
|
+
var import_icons80 = require("@octaviaflow/icons");
|
|
48922
48959
|
var import_react216 = require("react");
|
|
48923
48960
|
|
|
48924
48961
|
// src/notifications/engine/channels.ts
|
|
@@ -49024,7 +49061,7 @@ function draftFromChannel(channel, fallbackType = "slack") {
|
|
|
49024
49061
|
}
|
|
49025
49062
|
|
|
49026
49063
|
// src/notifications/components/NotificationChannelForm/NotificationChannelForm.tsx
|
|
49027
|
-
var
|
|
49064
|
+
var import_icons79 = require("@octaviaflow/icons");
|
|
49028
49065
|
var import_react215 = require("react");
|
|
49029
49066
|
var import_jsx_runtime198 = require("react/jsx-runtime");
|
|
49030
49067
|
var DEFAULT_TYPES = [
|
|
@@ -49140,7 +49177,7 @@ function NotificationChannelForm({
|
|
|
49140
49177
|
/* @__PURE__ */ (0, import_jsx_runtime198.jsx)("span", { className: "ods-notif-channel-form__type-label", children: meta2.label }),
|
|
49141
49178
|
/* @__PURE__ */ (0, import_jsx_runtime198.jsx)("span", { className: "ods-notif-channel-form__type-hint", children: meta2.connected && hasApp ? "Connected" : meta2.hint })
|
|
49142
49179
|
] }),
|
|
49143
|
-
selected && /* @__PURE__ */ (0, import_jsx_runtime198.jsx)("span", { className: "ods-notif-channel-form__type-check", "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime198.jsx)(
|
|
49180
|
+
selected && /* @__PURE__ */ (0, import_jsx_runtime198.jsx)("span", { className: "ods-notif-channel-form__type-check", "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime198.jsx)(import_icons79.CheckmarkFilledIcon, { size: "sm" }) })
|
|
49144
49181
|
]
|
|
49145
49182
|
},
|
|
49146
49183
|
type
|
|
@@ -49156,7 +49193,7 @@ function NotificationChannelForm({
|
|
|
49156
49193
|
{
|
|
49157
49194
|
size: "sm",
|
|
49158
49195
|
variant: "primary",
|
|
49159
|
-
leftIcon: /* @__PURE__ */ (0, import_jsx_runtime198.jsx)(
|
|
49196
|
+
leftIcon: /* @__PURE__ */ (0, import_jsx_runtime198.jsx)(import_icons79.LaunchIcon, { size: "sm", "aria-hidden": "true" }),
|
|
49160
49197
|
onClick: () => onConnectNew(value.type),
|
|
49161
49198
|
children: [
|
|
49162
49199
|
"Connect ",
|
|
@@ -49190,7 +49227,7 @@ function NotificationChannelForm({
|
|
|
49190
49227
|
{
|
|
49191
49228
|
size,
|
|
49192
49229
|
variant: "ghost",
|
|
49193
|
-
leftIcon: /* @__PURE__ */ (0, import_jsx_runtime198.jsx)(
|
|
49230
|
+
leftIcon: /* @__PURE__ */ (0, import_jsx_runtime198.jsx)(import_icons79.AddIcon, { size: "sm", "aria-hidden": "true" }),
|
|
49194
49231
|
onClick: () => onConnectNew(value.type),
|
|
49195
49232
|
className: "ods-notif-channel-form__connect",
|
|
49196
49233
|
children: "Connect new"
|
|
@@ -49341,7 +49378,7 @@ function NotificationChannelForm({
|
|
|
49341
49378
|
)
|
|
49342
49379
|
] }),
|
|
49343
49380
|
showSummary && summary && /* @__PURE__ */ (0, import_jsx_runtime198.jsxs)("div", { className: "ods-notif-channel-form__summary", "aria-live": "polite", children: [
|
|
49344
|
-
/* @__PURE__ */ (0, import_jsx_runtime198.jsx)(
|
|
49381
|
+
/* @__PURE__ */ (0, import_jsx_runtime198.jsx)(import_icons79.CheckmarkFilledIcon, { size: "sm", "aria-hidden": "true" }),
|
|
49345
49382
|
/* @__PURE__ */ (0, import_jsx_runtime198.jsx)("span", { children: summary })
|
|
49346
49383
|
] })
|
|
49347
49384
|
] });
|
|
@@ -49435,7 +49472,7 @@ function NotificationChannelDialog({
|
|
|
49435
49472
|
Button,
|
|
49436
49473
|
{
|
|
49437
49474
|
variant: "secondary",
|
|
49438
|
-
leftIcon: /* @__PURE__ */ (0, import_jsx_runtime199.jsx)(
|
|
49475
|
+
leftIcon: /* @__PURE__ */ (0, import_jsx_runtime199.jsx)(import_icons80.SendIcon, { size: "sm", "aria-hidden": "true" }),
|
|
49439
49476
|
loading: testing,
|
|
49440
49477
|
loadingText: "Sending\u2026",
|
|
49441
49478
|
disabled: !complete || saving,
|
|
@@ -49480,7 +49517,7 @@ function NotificationChannelDialog({
|
|
|
49480
49517
|
NotificationChannelDialog.displayName = "NotificationChannelDialog";
|
|
49481
49518
|
|
|
49482
49519
|
// src/notifications/components/NotificationChannelList/NotificationChannelList.tsx
|
|
49483
|
-
var
|
|
49520
|
+
var import_icons81 = require("@octaviaflow/icons");
|
|
49484
49521
|
var import_jsx_runtime200 = require("react/jsx-runtime");
|
|
49485
49522
|
function NotificationChannelList({
|
|
49486
49523
|
channels,
|
|
@@ -49509,7 +49546,7 @@ function NotificationChannelList({
|
|
|
49509
49546
|
{
|
|
49510
49547
|
size: "sm",
|
|
49511
49548
|
variant: "secondary",
|
|
49512
|
-
leftIcon: /* @__PURE__ */ (0, import_jsx_runtime200.jsx)(
|
|
49549
|
+
leftIcon: /* @__PURE__ */ (0, import_jsx_runtime200.jsx)(import_icons81.AddIcon, { size: "sm", "aria-hidden": "true" }),
|
|
49513
49550
|
onClick: onAdd,
|
|
49514
49551
|
children: "Add channel"
|
|
49515
49552
|
}
|
|
@@ -49518,14 +49555,14 @@ function NotificationChannelList({
|
|
|
49518
49555
|
channels.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime200.jsx)(
|
|
49519
49556
|
EmptyState,
|
|
49520
49557
|
{
|
|
49521
|
-
icon: /* @__PURE__ */ (0, import_jsx_runtime200.jsx)(
|
|
49558
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime200.jsx)(import_icons81.ConnectIcon, { "aria-hidden": "true" }),
|
|
49522
49559
|
title: "No channels yet",
|
|
49523
49560
|
description: "A channel is somewhere alerts go besides the in-app inbox \u2014 a Slack channel, an email address, a webhook. Add one, then point rules at it.",
|
|
49524
49561
|
action: canAdd ? /* @__PURE__ */ (0, import_jsx_runtime200.jsx)(
|
|
49525
49562
|
Button,
|
|
49526
49563
|
{
|
|
49527
49564
|
variant: "primary",
|
|
49528
|
-
leftIcon: /* @__PURE__ */ (0, import_jsx_runtime200.jsx)(
|
|
49565
|
+
leftIcon: /* @__PURE__ */ (0, import_jsx_runtime200.jsx)(import_icons81.AddIcon, { size: "sm", "aria-hidden": "true" }),
|
|
49529
49566
|
onClick: onAdd,
|
|
49530
49567
|
children: "Add channel"
|
|
49531
49568
|
}
|
|
@@ -49549,7 +49586,7 @@ function NotificationChannelList({
|
|
|
49549
49586
|
channel.id
|
|
49550
49587
|
)),
|
|
49551
49588
|
canAdd && /* @__PURE__ */ (0, import_jsx_runtime200.jsxs)("button", { type: "button", className: "ods-notif-channels__add", onClick: onAdd, children: [
|
|
49552
|
-
/* @__PURE__ */ (0, import_jsx_runtime200.jsx)("span", { className: "ods-notif-channels__add-icon", "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime200.jsx)(
|
|
49589
|
+
/* @__PURE__ */ (0, import_jsx_runtime200.jsx)("span", { className: "ods-notif-channels__add-icon", "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime200.jsx)(import_icons81.AddIcon, { size: "sm" }) }),
|
|
49553
49590
|
"Add channel"
|
|
49554
49591
|
] })
|
|
49555
49592
|
] })
|
|
@@ -49558,7 +49595,7 @@ function NotificationChannelList({
|
|
|
49558
49595
|
NotificationChannelList.displayName = "NotificationChannelList";
|
|
49559
49596
|
|
|
49560
49597
|
// src/notifications/components/NotificationPreferenceMatrix/NotificationPreferenceMatrix.tsx
|
|
49561
|
-
var
|
|
49598
|
+
var import_icons82 = require("@octaviaflow/icons");
|
|
49562
49599
|
var import_react217 = require("react");
|
|
49563
49600
|
|
|
49564
49601
|
// src/notifications/engine/preferences.ts
|
|
@@ -49800,7 +49837,7 @@ function NotificationPreferenceMatrix({
|
|
|
49800
49837
|
"aria-label": `${event.label} via ${colLabel}`
|
|
49801
49838
|
}
|
|
49802
49839
|
),
|
|
49803
|
-
locked && /* @__PURE__ */ (0, import_jsx_runtime201.jsx)("span", { className: "ods-pref-matrix__lock", "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime201.jsx)(
|
|
49840
|
+
locked && /* @__PURE__ */ (0, import_jsx_runtime201.jsx)("span", { className: "ods-pref-matrix__lock", "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime201.jsx)(import_icons82.LockedIcon, { size: "sm" }) })
|
|
49804
49841
|
] });
|
|
49805
49842
|
return /* @__PURE__ */ (0, import_jsx_runtime201.jsx)(
|
|
49806
49843
|
"div",
|
|
@@ -49831,7 +49868,7 @@ function NotificationPreferenceMatrix({
|
|
|
49831
49868
|
NotificationPreferenceMatrix.displayName = "NotificationPreferenceMatrix";
|
|
49832
49869
|
|
|
49833
49870
|
// src/notifications/components/NotificationRuleEditor/NotificationRuleEditor.tsx
|
|
49834
|
-
var
|
|
49871
|
+
var import_icons83 = require("@octaviaflow/icons");
|
|
49835
49872
|
var import_react218 = require("react");
|
|
49836
49873
|
var import_jsx_runtime202 = require("react/jsx-runtime");
|
|
49837
49874
|
var COOLDOWN_OPTIONS = [
|
|
@@ -49917,7 +49954,7 @@ function NotificationRuleEditor({
|
|
|
49917
49954
|
const canSave = value.events.length > 0 && value.channelIds.length > 0 && !saving && !readOnly;
|
|
49918
49955
|
return /* @__PURE__ */ (0, import_jsx_runtime202.jsxs)("div", { className: cn("ods-rule-editor", className), id: baseId, children: [
|
|
49919
49956
|
/* @__PURE__ */ (0, import_jsx_runtime202.jsxs)("div", { className: "ods-rule-editor__summary", "aria-live": "polite", children: [
|
|
49920
|
-
/* @__PURE__ */ (0, import_jsx_runtime202.jsx)("span", { className: "ods-rule-editor__summary-icon", "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime202.jsx)(
|
|
49957
|
+
/* @__PURE__ */ (0, import_jsx_runtime202.jsx)("span", { className: "ods-rule-editor__summary-icon", "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime202.jsx)(import_icons83.RuleIcon, { size: "sm" }) }),
|
|
49921
49958
|
/* @__PURE__ */ (0, import_jsx_runtime202.jsx)("span", { children: sentence })
|
|
49922
49959
|
] }),
|
|
49923
49960
|
/* @__PURE__ */ (0, import_jsx_runtime202.jsx)(
|
|
@@ -49982,7 +50019,7 @@ function NotificationRuleEditor({
|
|
|
49982
50019
|
{
|
|
49983
50020
|
size: "sm",
|
|
49984
50021
|
variant: "ghost",
|
|
49985
|
-
leftIcon: /* @__PURE__ */ (0, import_jsx_runtime202.jsx)(
|
|
50022
|
+
leftIcon: /* @__PURE__ */ (0, import_jsx_runtime202.jsx)(import_icons83.AddIcon, { size: "sm", "aria-hidden": "true" }),
|
|
49986
50023
|
onClick: onAddChannel,
|
|
49987
50024
|
children: "Add channel"
|
|
49988
50025
|
}
|
|
@@ -50176,7 +50213,7 @@ function NotificationRuleEditor({
|
|
|
50176
50213
|
NotificationRuleEditor.displayName = "NotificationRuleEditor";
|
|
50177
50214
|
|
|
50178
50215
|
// src/notifications/components/NotificationRuleList/NotificationRuleList.tsx
|
|
50179
|
-
var
|
|
50216
|
+
var import_icons84 = require("@octaviaflow/icons");
|
|
50180
50217
|
var import_jsx_runtime203 = require("react/jsx-runtime");
|
|
50181
50218
|
function NotificationRuleList({
|
|
50182
50219
|
rules,
|
|
@@ -50206,7 +50243,7 @@ function NotificationRuleList({
|
|
|
50206
50243
|
{
|
|
50207
50244
|
size: "sm",
|
|
50208
50245
|
variant: "secondary",
|
|
50209
|
-
leftIcon: /* @__PURE__ */ (0, import_jsx_runtime203.jsx)(
|
|
50246
|
+
leftIcon: /* @__PURE__ */ (0, import_jsx_runtime203.jsx)(import_icons84.AddIcon, { size: "sm", "aria-hidden": "true" }),
|
|
50210
50247
|
onClick: onCreate,
|
|
50211
50248
|
children: "New rule"
|
|
50212
50249
|
}
|
|
@@ -50216,14 +50253,14 @@ function NotificationRuleList({
|
|
|
50216
50253
|
/* @__PURE__ */ (0, import_jsx_runtime203.jsx)(
|
|
50217
50254
|
EmptyState,
|
|
50218
50255
|
{
|
|
50219
|
-
icon: /* @__PURE__ */ (0, import_jsx_runtime203.jsx)(
|
|
50256
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime203.jsx)(import_icons84.RuleIcon, { "aria-hidden": "true" }),
|
|
50220
50257
|
title: "No rules yet",
|
|
50221
50258
|
description: "Rules route events to shared channels \u2014 a Slack channel, an ops mailbox, a webhook \u2014 with thresholds and timing you choose. Everyone still gets their personal inbox and email without a rule.",
|
|
50222
50259
|
action: canCreate ? /* @__PURE__ */ (0, import_jsx_runtime203.jsx)(
|
|
50223
50260
|
Button,
|
|
50224
50261
|
{
|
|
50225
50262
|
variant: "primary",
|
|
50226
|
-
leftIcon: /* @__PURE__ */ (0, import_jsx_runtime203.jsx)(
|
|
50263
|
+
leftIcon: /* @__PURE__ */ (0, import_jsx_runtime203.jsx)(import_icons84.AddIcon, { size: "sm", "aria-hidden": "true" }),
|
|
50227
50264
|
onClick: onCreate,
|
|
50228
50265
|
children: "New rule"
|
|
50229
50266
|
}
|
|
@@ -50283,7 +50320,7 @@ function NotificationRuleList({
|
|
|
50283
50320
|
variant: "ghost",
|
|
50284
50321
|
"aria-label": `Edit ${rule.name || "rule"}`,
|
|
50285
50322
|
onClick: () => onEdit(rule),
|
|
50286
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime203.jsx)(
|
|
50323
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime203.jsx)(import_icons84.EditIcon, { size: "sm", "aria-hidden": "true" })
|
|
50287
50324
|
}
|
|
50288
50325
|
),
|
|
50289
50326
|
onDuplicate && /* @__PURE__ */ (0, import_jsx_runtime203.jsx)(
|
|
@@ -50293,7 +50330,7 @@ function NotificationRuleList({
|
|
|
50293
50330
|
variant: "ghost",
|
|
50294
50331
|
"aria-label": `Duplicate ${rule.name || "rule"}`,
|
|
50295
50332
|
onClick: () => onDuplicate(rule),
|
|
50296
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime203.jsx)(
|
|
50333
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime203.jsx)(import_icons84.CopyIcon, { size: "sm", "aria-hidden": "true" })
|
|
50297
50334
|
}
|
|
50298
50335
|
),
|
|
50299
50336
|
onDelete && /* @__PURE__ */ (0, import_jsx_runtime203.jsx)(
|
|
@@ -50303,7 +50340,7 @@ function NotificationRuleList({
|
|
|
50303
50340
|
variant: "ghost",
|
|
50304
50341
|
"aria-label": `Delete ${rule.name || "rule"}`,
|
|
50305
50342
|
onClick: () => onDelete(rule),
|
|
50306
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime203.jsx)(
|
|
50343
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime203.jsx)(import_icons84.TrashCanIcon, { size: "sm", "aria-hidden": "true" })
|
|
50307
50344
|
}
|
|
50308
50345
|
)
|
|
50309
50346
|
] })
|