@walkeros/explorer 1.0.1 → 2.0.1
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/LICENSE +2 -2
- package/dist/{chunk-VWWAIDNX.mjs → chunk-YKT4D7MG.mjs} +201 -53
- package/dist/chunk-YKT4D7MG.mjs.map +1 -0
- package/dist/components/atoms/alert.d.ts +29 -0
- package/dist/components/atoms/alert.d.ts.map +1 -0
- package/dist/components/atoms/alert.js +19 -0
- package/dist/components/atoms/alert.js.map +1 -0
- package/dist/components/atoms/alert.stories.d.ts +7 -0
- package/dist/components/atoms/alert.stories.d.ts.map +1 -0
- package/dist/components/atoms/alert.stories.js +14 -0
- package/dist/components/atoms/alert.stories.js.map +1 -0
- package/dist/components/atoms/button.stories.d.ts +14 -0
- package/dist/components/atoms/button.stories.d.ts.map +1 -0
- package/dist/components/atoms/button.stories.js +25 -0
- package/dist/components/atoms/button.stories.js.map +1 -0
- package/dist/components/atoms/code.d.ts.map +1 -1
- package/dist/components/atoms/code.js +14 -2
- package/dist/components/atoms/code.js.map +1 -1
- package/dist/components/atoms/footer.stories.d.ts +14 -0
- package/dist/components/atoms/footer.stories.d.ts.map +1 -0
- package/dist/components/atoms/footer.stories.js +29 -0
- package/dist/components/atoms/footer.stories.js.map +1 -0
- package/dist/components/atoms/form-field.d.ts +28 -0
- package/dist/components/atoms/form-field.d.ts.map +1 -0
- package/dist/components/atoms/form-field.js +16 -0
- package/dist/components/atoms/form-field.js.map +1 -0
- package/dist/components/atoms/form-field.stories.d.ts +7 -0
- package/dist/components/atoms/form-field.stories.d.ts.map +1 -0
- package/dist/components/atoms/form-field.stories.js +16 -0
- package/dist/components/atoms/form-field.stories.js.map +1 -0
- package/dist/components/atoms/form-input.d.ts +43 -0
- package/dist/components/atoms/form-input.d.ts.map +1 -0
- package/dist/components/atoms/form-input.js +26 -0
- package/dist/components/atoms/form-input.js.map +1 -0
- package/dist/components/atoms/form-input.stories.d.ts +7 -0
- package/dist/components/atoms/form-input.stories.d.ts.map +1 -0
- package/dist/components/atoms/form-input.stories.js +17 -0
- package/dist/components/atoms/form-input.stories.js.map +1 -0
- package/dist/components/atoms/form-textarea.d.ts +41 -0
- package/dist/components/atoms/form-textarea.d.ts.map +1 -0
- package/dist/components/atoms/form-textarea.js +26 -0
- package/dist/components/atoms/form-textarea.js.map +1 -0
- package/dist/components/atoms/form-textarea.stories.d.ts +7 -0
- package/dist/components/atoms/form-textarea.stories.d.ts.map +1 -0
- package/dist/components/atoms/form-textarea.stories.js +17 -0
- package/dist/components/atoms/form-textarea.stories.js.map +1 -0
- package/dist/components/atoms/grid.stories.d.ts +18 -0
- package/dist/components/atoms/grid.stories.d.ts.map +1 -0
- package/dist/components/atoms/grid.stories.js +60 -0
- package/dist/components/atoms/grid.stories.js.map +1 -0
- package/dist/components/atoms/header.stories.d.ts +15 -0
- package/dist/components/atoms/header.stories.d.ts.map +1 -0
- package/dist/components/atoms/header.stories.js +37 -0
- package/dist/components/atoms/header.stories.js.map +1 -0
- package/dist/components/atoms/icons/icon.stories.d.ts +18 -0
- package/dist/components/atoms/icons/icon.stories.d.ts.map +1 -0
- package/dist/components/atoms/icons/icon.stories.js +37 -0
- package/dist/components/atoms/icons/icon.stories.js.map +1 -0
- package/dist/components/atoms/panel-hints.stories.d.ts +14 -0
- package/dist/components/atoms/panel-hints.stories.d.ts.map +1 -0
- package/dist/components/atoms/panel-hints.stories.js +35 -0
- package/dist/components/atoms/panel-hints.stories.js.map +1 -0
- package/dist/components/atoms/spinner.d.ts +17 -0
- package/dist/components/atoms/spinner.d.ts.map +1 -0
- package/dist/components/atoms/spinner.js +14 -0
- package/dist/components/atoms/spinner.js.map +1 -0
- package/dist/components/atoms/spinner.stories.d.ts +7 -0
- package/dist/components/atoms/spinner.stories.d.ts.map +1 -0
- package/dist/components/atoms/spinner.stories.js +9 -0
- package/dist/components/atoms/spinner.stories.js.map +1 -0
- package/dist/components/atoms/submit-button.d.ts +34 -0
- package/dist/components/atoms/submit-button.d.ts.map +1 -0
- package/dist/components/atoms/submit-button.js +18 -0
- package/dist/components/atoms/submit-button.js.map +1 -0
- package/dist/components/atoms/submit-button.stories.d.ts +7 -0
- package/dist/components/atoms/submit-button.stories.d.ts.map +1 -0
- package/dist/components/atoms/submit-button.stories.js +13 -0
- package/dist/components/atoms/submit-button.stories.js.map +1 -0
- package/dist/components/molecules/architecture-flow/ArchitectureFlow.stories.js +1 -1
- package/dist/components/molecules/architecture-flow/ArchitectureFlow.stories.js.map +1 -1
- package/dist/components/molecules/code-box.stories.d.ts +8 -0
- package/dist/components/molecules/code-box.stories.d.ts.map +1 -1
- package/dist/components/molecules/code-box.stories.js +36 -0
- package/dist/components/molecules/code-box.stories.js.map +1 -1
- package/dist/components/molecules/config-form-card.d.ts +50 -0
- package/dist/components/molecules/config-form-card.d.ts.map +1 -0
- package/dist/components/molecules/config-form-card.js +30 -0
- package/dist/components/molecules/config-form-card.js.map +1 -0
- package/dist/components/molecules/config-form-card.stories.d.ts +7 -0
- package/dist/components/molecules/config-form-card.stories.d.ts.map +1 -0
- package/dist/components/molecules/config-form-card.stories.js +21 -0
- package/dist/components/molecules/config-form-card.stories.js.map +1 -0
- package/dist/components/molecules/dropdown.d.ts +68 -0
- package/dist/components/molecules/dropdown.d.ts.map +1 -0
- package/dist/components/molecules/dropdown.js +47 -0
- package/dist/components/molecules/dropdown.js.map +1 -0
- package/dist/components/molecules/dropdown.stories.d.ts +7 -0
- package/dist/components/molecules/dropdown.stories.d.ts.map +1 -0
- package/dist/components/molecules/dropdown.stories.js +18 -0
- package/dist/components/molecules/dropdown.stories.js.map +1 -0
- package/dist/components/molecules/flow-deploy-panel.d.ts +31 -0
- package/dist/components/molecules/flow-deploy-panel.d.ts.map +1 -0
- package/dist/components/molecules/flow-deploy-panel.js +72 -0
- package/dist/components/molecules/flow-deploy-panel.js.map +1 -0
- package/dist/components/molecules/flow-deploy-panel.stories.d.ts +40 -0
- package/dist/components/molecules/flow-deploy-panel.stories.d.ts.map +1 -0
- package/dist/components/molecules/flow-deploy-panel.stories.js +145 -0
- package/dist/components/molecules/flow-deploy-panel.stories.js.map +1 -0
- package/dist/components/molecules/flow-map/FlowMap.stories.d.ts.map +1 -1
- package/dist/components/molecules/flow-map/FlowMap.stories.js +7 -1
- package/dist/components/molecules/flow-map/FlowMap.stories.js.map +1 -1
- package/dist/components/molecules/flow-selector.d.ts +19 -0
- package/dist/components/molecules/flow-selector.d.ts.map +1 -0
- package/dist/components/molecules/flow-selector.js +26 -0
- package/dist/components/molecules/flow-selector.js.map +1 -0
- package/dist/components/molecules/flow-selector.stories.d.ts +28 -0
- package/dist/components/molecules/flow-selector.stories.d.ts.map +1 -0
- package/dist/components/molecules/flow-selector.stories.js +66 -0
- package/dist/components/molecules/flow-selector.stories.js.map +1 -0
- package/dist/components/molecules/form-card.d.ts +28 -0
- package/dist/components/molecules/form-card.d.ts.map +1 -0
- package/dist/components/molecules/form-card.js +16 -0
- package/dist/components/molecules/form-card.js.map +1 -0
- package/dist/components/molecules/form-card.stories.d.ts +7 -0
- package/dist/components/molecules/form-card.stories.d.ts.map +1 -0
- package/dist/components/molecules/form-card.stories.js +16 -0
- package/dist/components/molecules/form-card.stories.js.map +1 -0
- package/dist/components/molecules/preview.d.ts.map +1 -1
- package/dist/components/molecules/preview.js +0 -1
- package/dist/components/molecules/preview.js.map +1 -1
- package/dist/components/molecules/split-button.d.ts +25 -0
- package/dist/components/molecules/split-button.d.ts.map +1 -0
- package/dist/components/molecules/split-button.js +37 -0
- package/dist/components/molecules/split-button.js.map +1 -0
- package/dist/components/molecules/split-button.stories.d.ts +32 -0
- package/dist/components/molecules/split-button.stories.d.ts.map +1 -0
- package/dist/components/molecules/split-button.stories.js +88 -0
- package/dist/components/molecules/split-button.stories.js.map +1 -0
- package/dist/hooks/useDropdown.d.ts +34 -0
- package/dist/hooks/useDropdown.d.ts.map +1 -0
- package/dist/hooks/useDropdown.js +66 -0
- package/dist/hooks/useDropdown.js.map +1 -0
- package/dist/index.d.cts +441 -2
- package/dist/index.d.ts +26 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +14 -0
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +663 -28
- package/dist/index.mjs.map +1 -1
- package/dist/{monaco-types-4FIH5OVX.mjs → monaco-types-OLSF6MIE.mjs} +2 -2
- package/dist/styles.css +579 -0
- package/package.json +5 -14
- package/dist/chunk-VWWAIDNX.mjs.map +0 -1
- /package/dist/{monaco-types-4FIH5OVX.mjs.map → monaco-types-OLSF6MIE.mjs.map} +0 -0
package/dist/index.mjs
CHANGED
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
loadPackageTypes,
|
|
6
6
|
loadTypeLibraryFromURL,
|
|
7
7
|
registerWalkerOSTypes
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-YKT4D7MG.mjs";
|
|
9
9
|
|
|
10
10
|
// src/components/demos/MappingDemo.tsx
|
|
11
11
|
import { useState as useState6, useCallback as useCallback5, useEffect as useEffect4 } from "react";
|
|
@@ -851,6 +851,7 @@ function Code({
|
|
|
851
851
|
sticky = true,
|
|
852
852
|
ide = false
|
|
853
853
|
}) {
|
|
854
|
+
const [isMounted, setIsMounted] = useState3(false);
|
|
854
855
|
const [monacoTheme, setMonacoTheme] = useState3("vs-light");
|
|
855
856
|
const decorationsCleanupRef = useRef3(null);
|
|
856
857
|
const monacoRef = useRef3(null);
|
|
@@ -888,6 +889,7 @@ function Code({
|
|
|
888
889
|
registerDataElbStyles();
|
|
889
890
|
}, []);
|
|
890
891
|
const getDataTheme = useCallback2(() => {
|
|
892
|
+
if (typeof document === "undefined") return null;
|
|
891
893
|
if (containerRef.current) {
|
|
892
894
|
const closest = containerRef.current.closest("[data-theme]");
|
|
893
895
|
if (closest) {
|
|
@@ -897,6 +899,10 @@ function Code({
|
|
|
897
899
|
return document.documentElement.getAttribute("data-theme");
|
|
898
900
|
}, []);
|
|
899
901
|
useEffect2(() => {
|
|
902
|
+
setIsMounted(true);
|
|
903
|
+
}, []);
|
|
904
|
+
useEffect2(() => {
|
|
905
|
+
if (!isMounted) return;
|
|
900
906
|
const checkTheme = () => {
|
|
901
907
|
const dataTheme = getDataTheme();
|
|
902
908
|
const isDark = dataTheme === "dark" || dataTheme === null && window.matchMedia("(prefers-color-scheme: dark)").matches;
|
|
@@ -920,7 +926,7 @@ function Code({
|
|
|
920
926
|
observer.disconnect();
|
|
921
927
|
mediaQuery.removeEventListener("change", handleChange2);
|
|
922
928
|
};
|
|
923
|
-
}, [getDataTheme]);
|
|
929
|
+
}, [isMounted, getDataTheme]);
|
|
924
930
|
useEffect2(() => {
|
|
925
931
|
const editor = editorRef.current;
|
|
926
932
|
const container = containerRef.current;
|
|
@@ -950,7 +956,7 @@ function Code({
|
|
|
950
956
|
registerFormatters(monaco);
|
|
951
957
|
if (packages && packages.length > 0) {
|
|
952
958
|
registerWalkerOSTypes(monaco);
|
|
953
|
-
const { loadPackageTypes: loadPackageTypes2 } = await import("./monaco-types-
|
|
959
|
+
const { loadPackageTypes: loadPackageTypes2 } = await import("./monaco-types-OLSF6MIE.mjs");
|
|
954
960
|
for (const pkg of packages) {
|
|
955
961
|
if (pkg !== "@walkeros/core") {
|
|
956
962
|
await loadPackageTypes2(monaco, { package: pkg }).catch(() => {
|
|
@@ -1936,7 +1942,6 @@ function Preview({
|
|
|
1936
1942
|
config: {
|
|
1937
1943
|
settings: {
|
|
1938
1944
|
pageview: false,
|
|
1939
|
-
session: false,
|
|
1940
1945
|
prefix: "data-elb",
|
|
1941
1946
|
elb: "elb",
|
|
1942
1947
|
elbLayer: "elbLayer",
|
|
@@ -12547,6 +12552,8 @@ var isArbitrarySize = (value) => getIsArbitraryValue(value, isLabelSize, isNever
|
|
|
12547
12552
|
var isArbitraryValue = (value) => arbitraryValueRegex.test(value);
|
|
12548
12553
|
var isArbitraryLength = (value) => getIsArbitraryValue(value, isLabelLength, isLengthOnly);
|
|
12549
12554
|
var isArbitraryNumber = (value) => getIsArbitraryValue(value, isLabelNumber, isNumber);
|
|
12555
|
+
var isArbitraryWeight = (value) => getIsArbitraryValue(value, isLabelWeight, isAny);
|
|
12556
|
+
var isArbitraryFamilyName = (value) => getIsArbitraryValue(value, isLabelFamilyName, isNever);
|
|
12550
12557
|
var isArbitraryPosition = (value) => getIsArbitraryValue(value, isLabelPosition, isNever);
|
|
12551
12558
|
var isArbitraryImage = (value) => getIsArbitraryValue(value, isLabelImage, isImage);
|
|
12552
12559
|
var isArbitraryShadow = (value) => getIsArbitraryValue(value, isLabelShadow, isShadow);
|
|
@@ -12557,6 +12564,7 @@ var isArbitraryVariablePosition = (value) => getIsArbitraryVariable(value, isLab
|
|
|
12557
12564
|
var isArbitraryVariableSize = (value) => getIsArbitraryVariable(value, isLabelSize);
|
|
12558
12565
|
var isArbitraryVariableImage = (value) => getIsArbitraryVariable(value, isLabelImage);
|
|
12559
12566
|
var isArbitraryVariableShadow = (value) => getIsArbitraryVariable(value, isLabelShadow, true);
|
|
12567
|
+
var isArbitraryVariableWeight = (value) => getIsArbitraryVariable(value, isLabelWeight, true);
|
|
12560
12568
|
var getIsArbitraryValue = (value, testLabel, testValue) => {
|
|
12561
12569
|
const result = arbitraryValueRegex.exec(value);
|
|
12562
12570
|
if (result) {
|
|
@@ -12583,6 +12591,7 @@ var isLabelSize = (label) => label === "length" || label === "size" || label ===
|
|
|
12583
12591
|
var isLabelLength = (label) => label === "length";
|
|
12584
12592
|
var isLabelNumber = (label) => label === "number";
|
|
12585
12593
|
var isLabelFamilyName = (label) => label === "family-name";
|
|
12594
|
+
var isLabelWeight = (label) => label === "number" || label === "weight";
|
|
12586
12595
|
var isLabelShadow = (label) => label === "shadow";
|
|
12587
12596
|
var getDefaultConfig = () => {
|
|
12588
12597
|
const themeColor = fromTheme("color");
|
|
@@ -13384,7 +13393,7 @@ var getDefaultConfig = () => {
|
|
|
13384
13393
|
* @see https://tailwindcss.com/docs/font-weight
|
|
13385
13394
|
*/
|
|
13386
13395
|
"font-weight": [{
|
|
13387
|
-
font: [themeFontWeight,
|
|
13396
|
+
font: [themeFontWeight, isArbitraryVariableWeight, isArbitraryWeight]
|
|
13388
13397
|
}],
|
|
13389
13398
|
/**
|
|
13390
13399
|
* Font Stretch
|
|
@@ -13398,7 +13407,7 @@ var getDefaultConfig = () => {
|
|
|
13398
13407
|
* @see https://tailwindcss.com/docs/font-family
|
|
13399
13408
|
*/
|
|
13400
13409
|
"font-family": [{
|
|
13401
|
-
font: [isArbitraryVariableFamilyName,
|
|
13410
|
+
font: [isArbitraryVariableFamilyName, isArbitraryFamilyName, themeFont]
|
|
13402
13411
|
}],
|
|
13403
13412
|
/**
|
|
13404
13413
|
* Font Variant Numeric
|
|
@@ -16601,6 +16610,525 @@ function PropertyTable({ schema, className }) {
|
|
|
16601
16610
|
] });
|
|
16602
16611
|
}
|
|
16603
16612
|
|
|
16613
|
+
// src/components/molecules/form-card.tsx
|
|
16614
|
+
import { jsx as jsx92, jsxs as jsxs69 } from "react/jsx-runtime";
|
|
16615
|
+
function FormCard({
|
|
16616
|
+
children,
|
|
16617
|
+
title,
|
|
16618
|
+
subtitle,
|
|
16619
|
+
footer,
|
|
16620
|
+
maxWidth = "md",
|
|
16621
|
+
className = ""
|
|
16622
|
+
}) {
|
|
16623
|
+
return /* @__PURE__ */ jsxs69(
|
|
16624
|
+
"div",
|
|
16625
|
+
{
|
|
16626
|
+
className: `elb-form-card elb-form-card--${maxWidth} ${className}`.trim(),
|
|
16627
|
+
children: [
|
|
16628
|
+
(title || subtitle) && /* @__PURE__ */ jsxs69("div", { className: "elb-form-card__header", children: [
|
|
16629
|
+
title && /* @__PURE__ */ jsx92("h1", { className: "elb-form-card__title", children: title }),
|
|
16630
|
+
subtitle && /* @__PURE__ */ jsx92("p", { className: "elb-form-card__subtitle", children: subtitle })
|
|
16631
|
+
] }),
|
|
16632
|
+
/* @__PURE__ */ jsx92("div", { className: "elb-form-card__content", children }),
|
|
16633
|
+
footer && /* @__PURE__ */ jsx92("div", { className: "elb-form-card__footer", children: footer })
|
|
16634
|
+
]
|
|
16635
|
+
}
|
|
16636
|
+
);
|
|
16637
|
+
}
|
|
16638
|
+
|
|
16639
|
+
// src/components/molecules/dropdown.tsx
|
|
16640
|
+
import { jsx as jsx93, jsxs as jsxs70 } from "react/jsx-runtime";
|
|
16641
|
+
function Dropdown({
|
|
16642
|
+
trigger,
|
|
16643
|
+
isOpen,
|
|
16644
|
+
onToggle,
|
|
16645
|
+
children,
|
|
16646
|
+
align = "left",
|
|
16647
|
+
ariaLabel,
|
|
16648
|
+
className = ""
|
|
16649
|
+
}) {
|
|
16650
|
+
return /* @__PURE__ */ jsxs70("div", { className: `elb-dropdown ${className}`.trim(), children: [
|
|
16651
|
+
/* @__PURE__ */ jsx93(
|
|
16652
|
+
"div",
|
|
16653
|
+
{
|
|
16654
|
+
className: "elb-dropdown__trigger",
|
|
16655
|
+
onClick: onToggle,
|
|
16656
|
+
role: "button",
|
|
16657
|
+
tabIndex: 0,
|
|
16658
|
+
"aria-haspopup": "menu",
|
|
16659
|
+
"aria-expanded": isOpen,
|
|
16660
|
+
"aria-label": ariaLabel,
|
|
16661
|
+
onKeyDown: (e) => {
|
|
16662
|
+
if (e.key === "Enter" || e.key === " ") {
|
|
16663
|
+
e.preventDefault();
|
|
16664
|
+
onToggle();
|
|
16665
|
+
}
|
|
16666
|
+
},
|
|
16667
|
+
children: trigger
|
|
16668
|
+
}
|
|
16669
|
+
),
|
|
16670
|
+
isOpen && /* @__PURE__ */ jsx93(
|
|
16671
|
+
"div",
|
|
16672
|
+
{
|
|
16673
|
+
className: `elb-dropdown__panel elb-dropdown__panel--${align}`,
|
|
16674
|
+
role: "menu",
|
|
16675
|
+
children
|
|
16676
|
+
}
|
|
16677
|
+
)
|
|
16678
|
+
] });
|
|
16679
|
+
}
|
|
16680
|
+
function DropdownItem({
|
|
16681
|
+
children,
|
|
16682
|
+
onClick,
|
|
16683
|
+
disabled = false,
|
|
16684
|
+
variant = "default",
|
|
16685
|
+
className = ""
|
|
16686
|
+
}) {
|
|
16687
|
+
return /* @__PURE__ */ jsx93(
|
|
16688
|
+
"button",
|
|
16689
|
+
{
|
|
16690
|
+
type: "button",
|
|
16691
|
+
role: "menuitem",
|
|
16692
|
+
className: `elb-dropdown__item elb-dropdown__item--${variant} ${disabled ? "elb-dropdown__item--disabled" : ""} ${className}`.trim(),
|
|
16693
|
+
onClick,
|
|
16694
|
+
disabled,
|
|
16695
|
+
children
|
|
16696
|
+
}
|
|
16697
|
+
);
|
|
16698
|
+
}
|
|
16699
|
+
function DropdownDivider({ className = "" }) {
|
|
16700
|
+
return /* @__PURE__ */ jsx93(
|
|
16701
|
+
"div",
|
|
16702
|
+
{
|
|
16703
|
+
className: `elb-dropdown__divider ${className}`.trim(),
|
|
16704
|
+
role: "separator"
|
|
16705
|
+
}
|
|
16706
|
+
);
|
|
16707
|
+
}
|
|
16708
|
+
|
|
16709
|
+
// src/components/atoms/form-textarea.tsx
|
|
16710
|
+
import { useId } from "react";
|
|
16711
|
+
|
|
16712
|
+
// src/components/atoms/form-field.tsx
|
|
16713
|
+
import { jsx as jsx94, jsxs as jsxs71 } from "react/jsx-runtime";
|
|
16714
|
+
function FormField({
|
|
16715
|
+
children,
|
|
16716
|
+
label,
|
|
16717
|
+
htmlFor,
|
|
16718
|
+
error,
|
|
16719
|
+
required,
|
|
16720
|
+
className = ""
|
|
16721
|
+
}) {
|
|
16722
|
+
return /* @__PURE__ */ jsxs71(
|
|
16723
|
+
"div",
|
|
16724
|
+
{
|
|
16725
|
+
className: `elb-form-field ${error ? "elb-form-field--error" : ""} ${className}`.trim(),
|
|
16726
|
+
children: [
|
|
16727
|
+
label && /* @__PURE__ */ jsxs71("label", { htmlFor, className: "elb-form-field__label", children: [
|
|
16728
|
+
label,
|
|
16729
|
+
required && /* @__PURE__ */ jsx94("span", { className: "elb-form-field__required", "aria-hidden": "true", children: "*" })
|
|
16730
|
+
] }),
|
|
16731
|
+
/* @__PURE__ */ jsx94("div", { className: "elb-form-field__input", children }),
|
|
16732
|
+
error && /* @__PURE__ */ jsx94("div", { className: "elb-form-field__error", role: "alert", children: error })
|
|
16733
|
+
]
|
|
16734
|
+
}
|
|
16735
|
+
);
|
|
16736
|
+
}
|
|
16737
|
+
|
|
16738
|
+
// src/components/atoms/form-textarea.tsx
|
|
16739
|
+
import { jsx as jsx95 } from "react/jsx-runtime";
|
|
16740
|
+
function FormTextarea({
|
|
16741
|
+
value,
|
|
16742
|
+
onChange,
|
|
16743
|
+
label,
|
|
16744
|
+
rows = 5,
|
|
16745
|
+
placeholder,
|
|
16746
|
+
disabled = false,
|
|
16747
|
+
spellCheck = true,
|
|
16748
|
+
required = false,
|
|
16749
|
+
error,
|
|
16750
|
+
id,
|
|
16751
|
+
className = ""
|
|
16752
|
+
}) {
|
|
16753
|
+
const generatedId = useId();
|
|
16754
|
+
const textareaId = id ?? generatedId;
|
|
16755
|
+
const hasError = Boolean(error);
|
|
16756
|
+
const errorMessage = typeof error === "string" ? error : void 0;
|
|
16757
|
+
return /* @__PURE__ */ jsx95(
|
|
16758
|
+
FormField,
|
|
16759
|
+
{
|
|
16760
|
+
label,
|
|
16761
|
+
htmlFor: textareaId,
|
|
16762
|
+
error: errorMessage,
|
|
16763
|
+
required,
|
|
16764
|
+
className,
|
|
16765
|
+
children: /* @__PURE__ */ jsx95(
|
|
16766
|
+
"textarea",
|
|
16767
|
+
{
|
|
16768
|
+
id: textareaId,
|
|
16769
|
+
value,
|
|
16770
|
+
onChange: (e) => onChange(e.target.value),
|
|
16771
|
+
rows,
|
|
16772
|
+
placeholder,
|
|
16773
|
+
disabled,
|
|
16774
|
+
spellCheck,
|
|
16775
|
+
required,
|
|
16776
|
+
className: `elb-form-textarea ${hasError ? "elb-form-textarea--error" : ""}`,
|
|
16777
|
+
"aria-invalid": hasError
|
|
16778
|
+
}
|
|
16779
|
+
)
|
|
16780
|
+
}
|
|
16781
|
+
);
|
|
16782
|
+
}
|
|
16783
|
+
|
|
16784
|
+
// src/components/atoms/spinner.tsx
|
|
16785
|
+
import { jsx as jsx96 } from "react/jsx-runtime";
|
|
16786
|
+
function Spinner({ size = "md", className = "" }) {
|
|
16787
|
+
return /* @__PURE__ */ jsx96(
|
|
16788
|
+
"span",
|
|
16789
|
+
{
|
|
16790
|
+
className: `elb-spinner elb-spinner--${size} ${className}`.trim(),
|
|
16791
|
+
role: "status",
|
|
16792
|
+
"aria-label": "Loading"
|
|
16793
|
+
}
|
|
16794
|
+
);
|
|
16795
|
+
}
|
|
16796
|
+
|
|
16797
|
+
// src/components/atoms/submit-button.tsx
|
|
16798
|
+
import { Fragment as Fragment12, jsx as jsx97, jsxs as jsxs72 } from "react/jsx-runtime";
|
|
16799
|
+
function SubmitButton({
|
|
16800
|
+
children,
|
|
16801
|
+
loadingText,
|
|
16802
|
+
loading = false,
|
|
16803
|
+
disabled = false,
|
|
16804
|
+
variant = "primary",
|
|
16805
|
+
fullWidth = false,
|
|
16806
|
+
type = "submit",
|
|
16807
|
+
onClick,
|
|
16808
|
+
className = ""
|
|
16809
|
+
}) {
|
|
16810
|
+
const isDisabled = disabled || loading;
|
|
16811
|
+
return /* @__PURE__ */ jsx97(
|
|
16812
|
+
"button",
|
|
16813
|
+
{
|
|
16814
|
+
type,
|
|
16815
|
+
disabled: isDisabled,
|
|
16816
|
+
onClick,
|
|
16817
|
+
className: `elb-submit-button elb-submit-button--${variant} ${fullWidth ? "elb-submit-button--full-width" : ""} ${loading ? "elb-submit-button--loading" : ""} ${className}`.trim(),
|
|
16818
|
+
children: loading ? /* @__PURE__ */ jsxs72(Fragment12, { children: [
|
|
16819
|
+
/* @__PURE__ */ jsx97(Spinner, { size: "sm", className: "elb-submit-button__spinner" }),
|
|
16820
|
+
/* @__PURE__ */ jsx97("span", { children: loadingText ?? children })
|
|
16821
|
+
] }) : children
|
|
16822
|
+
}
|
|
16823
|
+
);
|
|
16824
|
+
}
|
|
16825
|
+
|
|
16826
|
+
// src/components/atoms/alert.tsx
|
|
16827
|
+
import { jsx as jsx98, jsxs as jsxs73 } from "react/jsx-runtime";
|
|
16828
|
+
function Alert({
|
|
16829
|
+
children,
|
|
16830
|
+
title,
|
|
16831
|
+
variant,
|
|
16832
|
+
role = variant === "error" ? "alert" : "status",
|
|
16833
|
+
className = ""
|
|
16834
|
+
}) {
|
|
16835
|
+
return /* @__PURE__ */ jsxs73(
|
|
16836
|
+
"div",
|
|
16837
|
+
{
|
|
16838
|
+
className: `elb-alert elb-alert--${variant} ${className}`.trim(),
|
|
16839
|
+
role,
|
|
16840
|
+
children: [
|
|
16841
|
+
title && /* @__PURE__ */ jsx98("div", { className: "elb-alert__title", children: title }),
|
|
16842
|
+
/* @__PURE__ */ jsx98("div", { className: "elb-alert__content", children })
|
|
16843
|
+
]
|
|
16844
|
+
}
|
|
16845
|
+
);
|
|
16846
|
+
}
|
|
16847
|
+
|
|
16848
|
+
// src/components/molecules/config-form-card.tsx
|
|
16849
|
+
import { jsx as jsx99, jsxs as jsxs74 } from "react/jsx-runtime";
|
|
16850
|
+
function ConfigFormCard({
|
|
16851
|
+
config,
|
|
16852
|
+
onConfigChange,
|
|
16853
|
+
onSubmit,
|
|
16854
|
+
loading = false,
|
|
16855
|
+
error = null,
|
|
16856
|
+
title = "Configuration",
|
|
16857
|
+
label = "Configuration (JSON)",
|
|
16858
|
+
submitText = "Submit",
|
|
16859
|
+
loadingText = "Processing...",
|
|
16860
|
+
rows = 20,
|
|
16861
|
+
maxWidth = "lg",
|
|
16862
|
+
className = ""
|
|
16863
|
+
}) {
|
|
16864
|
+
return /* @__PURE__ */ jsx99(FormCard, { title, maxWidth, className, children: /* @__PURE__ */ jsxs74("form", { onSubmit, children: [
|
|
16865
|
+
/* @__PURE__ */ jsx99(
|
|
16866
|
+
FormTextarea,
|
|
16867
|
+
{
|
|
16868
|
+
label,
|
|
16869
|
+
value: config,
|
|
16870
|
+
onChange: onConfigChange,
|
|
16871
|
+
rows,
|
|
16872
|
+
disabled: loading,
|
|
16873
|
+
spellCheck: false,
|
|
16874
|
+
error: !!error
|
|
16875
|
+
}
|
|
16876
|
+
),
|
|
16877
|
+
error && /* @__PURE__ */ jsx99(Alert, { variant: "error", children: error }),
|
|
16878
|
+
/* @__PURE__ */ jsx99(SubmitButton, { loading, loadingText, fullWidth: true, children: submitText })
|
|
16879
|
+
] }) });
|
|
16880
|
+
}
|
|
16881
|
+
|
|
16882
|
+
// src/components/molecules/split-button.tsx
|
|
16883
|
+
import { useState as useState40, useRef as useRef17, useEffect as useEffect28, useCallback as useCallback19 } from "react";
|
|
16884
|
+
import { Fragment as Fragment13, jsx as jsx100, jsxs as jsxs75 } from "react/jsx-runtime";
|
|
16885
|
+
function SplitButton({
|
|
16886
|
+
children,
|
|
16887
|
+
onClick,
|
|
16888
|
+
actions = [],
|
|
16889
|
+
variant = "primary",
|
|
16890
|
+
loading = false,
|
|
16891
|
+
loadingText,
|
|
16892
|
+
disabled = false,
|
|
16893
|
+
className = ""
|
|
16894
|
+
}) {
|
|
16895
|
+
const [open, setOpen] = useState40(false);
|
|
16896
|
+
const ref = useRef17(null);
|
|
16897
|
+
const isDisabled = disabled || loading;
|
|
16898
|
+
const handleClickOutside = useCallback19((e) => {
|
|
16899
|
+
if (ref.current && !ref.current.contains(e.target)) {
|
|
16900
|
+
setOpen(false);
|
|
16901
|
+
}
|
|
16902
|
+
}, []);
|
|
16903
|
+
const handleKeyDown = useCallback19((e) => {
|
|
16904
|
+
if (e.key === "Escape") setOpen(false);
|
|
16905
|
+
}, []);
|
|
16906
|
+
useEffect28(() => {
|
|
16907
|
+
if (open) {
|
|
16908
|
+
document.addEventListener("mousedown", handleClickOutside);
|
|
16909
|
+
document.addEventListener("keydown", handleKeyDown);
|
|
16910
|
+
return () => {
|
|
16911
|
+
document.removeEventListener("mousedown", handleClickOutside);
|
|
16912
|
+
document.removeEventListener("keydown", handleKeyDown);
|
|
16913
|
+
};
|
|
16914
|
+
}
|
|
16915
|
+
}, [open, handleClickOutside, handleKeyDown]);
|
|
16916
|
+
return /* @__PURE__ */ jsxs75(
|
|
16917
|
+
"div",
|
|
16918
|
+
{
|
|
16919
|
+
ref,
|
|
16920
|
+
className: `elb-split-button elb-split-button--${variant} ${className}`,
|
|
16921
|
+
children: [
|
|
16922
|
+
/* @__PURE__ */ jsx100(
|
|
16923
|
+
"button",
|
|
16924
|
+
{
|
|
16925
|
+
type: "button",
|
|
16926
|
+
className: "elb-split-button__primary",
|
|
16927
|
+
onClick,
|
|
16928
|
+
disabled: isDisabled,
|
|
16929
|
+
children: loading ? loadingText ?? children : children
|
|
16930
|
+
}
|
|
16931
|
+
),
|
|
16932
|
+
actions.length > 0 && /* @__PURE__ */ jsxs75(Fragment13, { children: [
|
|
16933
|
+
/* @__PURE__ */ jsx100(
|
|
16934
|
+
"button",
|
|
16935
|
+
{
|
|
16936
|
+
type: "button",
|
|
16937
|
+
className: "elb-split-button__toggle",
|
|
16938
|
+
onClick: () => setOpen(!open),
|
|
16939
|
+
disabled: isDisabled,
|
|
16940
|
+
"aria-label": "More actions",
|
|
16941
|
+
"aria-expanded": open,
|
|
16942
|
+
children: /* @__PURE__ */ jsx100(
|
|
16943
|
+
"svg",
|
|
16944
|
+
{
|
|
16945
|
+
className: "elb-split-button__arrow",
|
|
16946
|
+
width: "10",
|
|
16947
|
+
height: "6",
|
|
16948
|
+
viewBox: "0 0 10 6",
|
|
16949
|
+
fill: "currentColor",
|
|
16950
|
+
children: /* @__PURE__ */ jsx100(
|
|
16951
|
+
"path",
|
|
16952
|
+
{
|
|
16953
|
+
d: "M1 1l4 4 4-4",
|
|
16954
|
+
stroke: "currentColor",
|
|
16955
|
+
strokeWidth: "1.5",
|
|
16956
|
+
fill: "none"
|
|
16957
|
+
}
|
|
16958
|
+
)
|
|
16959
|
+
}
|
|
16960
|
+
)
|
|
16961
|
+
}
|
|
16962
|
+
),
|
|
16963
|
+
open && /* @__PURE__ */ jsx100("div", { className: "elb-split-button__dropdown", children: actions.map((action) => /* @__PURE__ */ jsx100(
|
|
16964
|
+
"button",
|
|
16965
|
+
{
|
|
16966
|
+
type: "button",
|
|
16967
|
+
className: "elb-split-button__action",
|
|
16968
|
+
disabled: action.disabled,
|
|
16969
|
+
onClick: () => {
|
|
16970
|
+
setOpen(false);
|
|
16971
|
+
action.onClick();
|
|
16972
|
+
},
|
|
16973
|
+
children: action.label
|
|
16974
|
+
},
|
|
16975
|
+
action.key
|
|
16976
|
+
)) })
|
|
16977
|
+
] })
|
|
16978
|
+
]
|
|
16979
|
+
}
|
|
16980
|
+
);
|
|
16981
|
+
}
|
|
16982
|
+
|
|
16983
|
+
// src/components/molecules/flow-selector.tsx
|
|
16984
|
+
import { jsx as jsx101, jsxs as jsxs76 } from "react/jsx-runtime";
|
|
16985
|
+
var STATUS_DOT = {
|
|
16986
|
+
active: "elb-flow-selector__dot--active",
|
|
16987
|
+
published: "elb-flow-selector__dot--active",
|
|
16988
|
+
bundling: "elb-flow-selector__dot--deploying",
|
|
16989
|
+
deploying: "elb-flow-selector__dot--deploying",
|
|
16990
|
+
failed: "elb-flow-selector__dot--failed"
|
|
16991
|
+
};
|
|
16992
|
+
function FlowSelector({
|
|
16993
|
+
flows,
|
|
16994
|
+
selectedFlow,
|
|
16995
|
+
onSelectFlow,
|
|
16996
|
+
className = ""
|
|
16997
|
+
}) {
|
|
16998
|
+
if (flows.length <= 1) return null;
|
|
16999
|
+
return /* @__PURE__ */ jsx101("div", { className: `elb-flow-selector ${className}`, role: "tablist", children: flows.map((flow) => {
|
|
17000
|
+
const isSelected = flow.name === selectedFlow;
|
|
17001
|
+
const dotClass = flow.deploymentStatus ? STATUS_DOT[flow.deploymentStatus] ?? "" : "";
|
|
17002
|
+
return /* @__PURE__ */ jsxs76(
|
|
17003
|
+
"button",
|
|
17004
|
+
{
|
|
17005
|
+
type: "button",
|
|
17006
|
+
role: "tab",
|
|
17007
|
+
"aria-selected": isSelected,
|
|
17008
|
+
className: `elb-flow-selector__tab ${isSelected ? "elb-flow-selector__tab--selected" : ""}`,
|
|
17009
|
+
onClick: () => onSelectFlow(flow.name),
|
|
17010
|
+
children: [
|
|
17011
|
+
/* @__PURE__ */ jsx101("span", { className: `elb-flow-selector__dot ${dotClass}` }),
|
|
17012
|
+
/* @__PURE__ */ jsx101("span", { className: "elb-flow-selector__name", children: flow.name }),
|
|
17013
|
+
flow.platform && /* @__PURE__ */ jsx101("span", { className: "elb-flow-selector__platform", children: flow.platform })
|
|
17014
|
+
]
|
|
17015
|
+
},
|
|
17016
|
+
flow.name
|
|
17017
|
+
);
|
|
17018
|
+
}) });
|
|
17019
|
+
}
|
|
17020
|
+
|
|
17021
|
+
// src/components/molecules/flow-deploy-panel.tsx
|
|
17022
|
+
import { Fragment as Fragment14, jsx as jsx102, jsxs as jsxs77 } from "react/jsx-runtime";
|
|
17023
|
+
function statusLabel(status) {
|
|
17024
|
+
switch (status) {
|
|
17025
|
+
case "active":
|
|
17026
|
+
return "Active";
|
|
17027
|
+
case "published":
|
|
17028
|
+
return "Published";
|
|
17029
|
+
case "bundling":
|
|
17030
|
+
case "deploying":
|
|
17031
|
+
return "Deploying...";
|
|
17032
|
+
case "failed":
|
|
17033
|
+
return "Failed";
|
|
17034
|
+
default:
|
|
17035
|
+
return status;
|
|
17036
|
+
}
|
|
17037
|
+
}
|
|
17038
|
+
function statusDotClass(status) {
|
|
17039
|
+
switch (status) {
|
|
17040
|
+
case "active":
|
|
17041
|
+
case "published":
|
|
17042
|
+
return "elb-flow-deploy-panel__dot--active";
|
|
17043
|
+
case "bundling":
|
|
17044
|
+
case "deploying":
|
|
17045
|
+
return "elb-flow-deploy-panel__dot--deploying";
|
|
17046
|
+
case "failed":
|
|
17047
|
+
return "elb-flow-deploy-panel__dot--failed";
|
|
17048
|
+
default:
|
|
17049
|
+
return "";
|
|
17050
|
+
}
|
|
17051
|
+
}
|
|
17052
|
+
function primaryLabel(deployment, flowName, multipleFlows) {
|
|
17053
|
+
const name = multipleFlows ? ` "${flowName}"` : "";
|
|
17054
|
+
if (!deployment) return `Deploy${name}`;
|
|
17055
|
+
switch (deployment.status) {
|
|
17056
|
+
case "failed":
|
|
17057
|
+
return `Retry${name}`;
|
|
17058
|
+
case "active":
|
|
17059
|
+
case "published":
|
|
17060
|
+
return `Redeploy${name}`;
|
|
17061
|
+
default:
|
|
17062
|
+
return `Deploy${name}`;
|
|
17063
|
+
}
|
|
17064
|
+
}
|
|
17065
|
+
function FlowDeployPanel({
|
|
17066
|
+
flowName,
|
|
17067
|
+
platform,
|
|
17068
|
+
deployment,
|
|
17069
|
+
deploying = false,
|
|
17070
|
+
error,
|
|
17071
|
+
hasUnsavedChanges = false,
|
|
17072
|
+
multipleFlows = false,
|
|
17073
|
+
onDeploy,
|
|
17074
|
+
onDeleteDeployment,
|
|
17075
|
+
onDownloadFlow,
|
|
17076
|
+
onBundle,
|
|
17077
|
+
className = ""
|
|
17078
|
+
}) {
|
|
17079
|
+
const isDeploying = deploying || deployment?.status === "bundling" || deployment?.status === "deploying";
|
|
17080
|
+
const bundleExt = platform === "server" ? ".mjs" : ".js";
|
|
17081
|
+
const actions = [
|
|
17082
|
+
{
|
|
17083
|
+
key: "download",
|
|
17084
|
+
label: "Download Flow (.json)",
|
|
17085
|
+
onClick: onDownloadFlow
|
|
17086
|
+
},
|
|
17087
|
+
{ key: "bundle", label: `Bundle (${bundleExt})`, onClick: onBundle }
|
|
17088
|
+
];
|
|
17089
|
+
return /* @__PURE__ */ jsxs77("div", { className: `elb-flow-deploy-panel ${className}`, children: [
|
|
17090
|
+
/* @__PURE__ */ jsx102("div", { className: "elb-flow-deploy-panel__status", children: deployment ? /* @__PURE__ */ jsxs77(Fragment14, { children: [
|
|
17091
|
+
/* @__PURE__ */ jsx102(
|
|
17092
|
+
"span",
|
|
17093
|
+
{
|
|
17094
|
+
className: `elb-flow-deploy-panel__dot ${statusDotClass(deployment.status)}`
|
|
17095
|
+
}
|
|
17096
|
+
),
|
|
17097
|
+
/* @__PURE__ */ jsx102("span", { className: "elb-flow-deploy-panel__status-text", children: statusLabel(deployment.status) }),
|
|
17098
|
+
deployment.createdAt && /* @__PURE__ */ jsx102("span", { className: "elb-flow-deploy-panel__time", children: new Date(deployment.createdAt).toLocaleString() })
|
|
17099
|
+
] }) : /* @__PURE__ */ jsxs77(Fragment14, { children: [
|
|
17100
|
+
/* @__PURE__ */ jsx102("span", { className: "elb-flow-deploy-panel__dot" }),
|
|
17101
|
+
/* @__PURE__ */ jsx102("span", { className: "elb-flow-deploy-panel__status-text", children: "Not deployed" })
|
|
17102
|
+
] }) }),
|
|
17103
|
+
hasUnsavedChanges && deployment && (deployment.status === "active" || deployment.status === "published") && /* @__PURE__ */ jsx102("div", { className: "elb-flow-deploy-panel__warning", children: "Config changed since last deploy" }),
|
|
17104
|
+
deployment?.publicUrl && /* @__PURE__ */ jsx102("div", { className: "elb-flow-deploy-panel__endpoint", children: /* @__PURE__ */ jsx102("code", { className: "elb-flow-deploy-panel__url", children: deployment.publicUrl }) }),
|
|
17105
|
+
deployment?.containerUrl && /* @__PURE__ */ jsx102("div", { className: "elb-flow-deploy-panel__endpoint", children: /* @__PURE__ */ jsx102("code", { className: "elb-flow-deploy-panel__url", children: deployment.containerUrl }) }),
|
|
17106
|
+
(error || deployment?.errorMessage) && /* @__PURE__ */ jsx102("div", { className: "elb-flow-deploy-panel__error", children: error || deployment?.errorMessage }),
|
|
17107
|
+
/* @__PURE__ */ jsxs77("div", { className: "elb-flow-deploy-panel__actions", children: [
|
|
17108
|
+
/* @__PURE__ */ jsx102(
|
|
17109
|
+
SplitButton,
|
|
17110
|
+
{
|
|
17111
|
+
onClick: onDeploy,
|
|
17112
|
+
actions,
|
|
17113
|
+
loading: isDeploying,
|
|
17114
|
+
loadingText: "Deploying...",
|
|
17115
|
+
disabled: isDeploying,
|
|
17116
|
+
children: primaryLabel(deployment, flowName, multipleFlows)
|
|
17117
|
+
}
|
|
17118
|
+
),
|
|
17119
|
+
deployment && deployment.status !== "bundling" && deployment.status !== "deploying" && /* @__PURE__ */ jsx102(
|
|
17120
|
+
"button",
|
|
17121
|
+
{
|
|
17122
|
+
type: "button",
|
|
17123
|
+
className: "elb-flow-deploy-panel__delete",
|
|
17124
|
+
onClick: onDeleteDeployment,
|
|
17125
|
+
children: "Delete deployment"
|
|
17126
|
+
}
|
|
17127
|
+
)
|
|
17128
|
+
] })
|
|
17129
|
+
] });
|
|
17130
|
+
}
|
|
17131
|
+
|
|
16604
17132
|
// src/schemas/config-structures/destination-config.ts
|
|
16605
17133
|
var DESTINATION_CONFIG_STRUCTURE = {
|
|
16606
17134
|
type: "object",
|
|
@@ -16687,13 +17215,13 @@ var DESTINATION_CONFIG_STRUCTURE = {
|
|
|
16687
17215
|
};
|
|
16688
17216
|
|
|
16689
17217
|
// src/components/atoms/footer.tsx
|
|
16690
|
-
import { jsx as
|
|
17218
|
+
import { jsx as jsx103 } from "react/jsx-runtime";
|
|
16691
17219
|
function Footer({ children, className = "" }) {
|
|
16692
|
-
return /* @__PURE__ */
|
|
17220
|
+
return /* @__PURE__ */ jsx103("div", { className: `elb-explorer-footer ${className}`, children });
|
|
16693
17221
|
}
|
|
16694
17222
|
|
|
16695
17223
|
// src/components/atoms/button-link.tsx
|
|
16696
|
-
import { jsx as
|
|
17224
|
+
import { jsx as jsx104 } from "react/jsx-runtime";
|
|
16697
17225
|
function ButtonLink({
|
|
16698
17226
|
variant = "default",
|
|
16699
17227
|
size = "md",
|
|
@@ -16706,9 +17234,9 @@ function ButtonLink({
|
|
|
16706
17234
|
const baseClass = "elb-button-link";
|
|
16707
17235
|
const classes = `${baseClass} ${baseClass}-${variant} ${baseClass}-${size} ${className}`.trim();
|
|
16708
17236
|
if (href && !disabled) {
|
|
16709
|
-
return /* @__PURE__ */
|
|
17237
|
+
return /* @__PURE__ */ jsx104("a", { href, className: classes, children });
|
|
16710
17238
|
}
|
|
16711
|
-
return /* @__PURE__ */
|
|
17239
|
+
return /* @__PURE__ */ jsx104(
|
|
16712
17240
|
"button",
|
|
16713
17241
|
{
|
|
16714
17242
|
type: "button",
|
|
@@ -16721,21 +17249,70 @@ function ButtonLink({
|
|
|
16721
17249
|
}
|
|
16722
17250
|
|
|
16723
17251
|
// src/components/atoms/panel-hints.tsx
|
|
16724
|
-
import { jsx as
|
|
17252
|
+
import { jsx as jsx105, jsxs as jsxs78 } from "react/jsx-runtime";
|
|
16725
17253
|
function PanelHints({
|
|
16726
17254
|
title = "Common patterns",
|
|
16727
17255
|
hints,
|
|
16728
17256
|
className = ""
|
|
16729
17257
|
}) {
|
|
16730
|
-
return /* @__PURE__ */
|
|
16731
|
-
title && /* @__PURE__ */
|
|
16732
|
-
/* @__PURE__ */
|
|
16733
|
-
/* @__PURE__ */
|
|
16734
|
-
/* @__PURE__ */
|
|
17258
|
+
return /* @__PURE__ */ jsxs78("div", { className: `elb-panel-hints ${className}`, children: [
|
|
17259
|
+
title && /* @__PURE__ */ jsx105("div", { className: "elb-panel-hints-title", children: title }),
|
|
17260
|
+
/* @__PURE__ */ jsx105("ul", { className: "elb-panel-hints-list", children: hints.map((hint, index) => /* @__PURE__ */ jsxs78("li", { className: "elb-panel-hints-item", children: [
|
|
17261
|
+
/* @__PURE__ */ jsx105("code", { className: "elb-panel-hints-code", children: hint.code }),
|
|
17262
|
+
/* @__PURE__ */ jsx105("span", { className: "elb-panel-hints-desc", children: hint.description })
|
|
16735
17263
|
] }, index)) })
|
|
16736
17264
|
] });
|
|
16737
17265
|
}
|
|
16738
17266
|
|
|
17267
|
+
// src/components/atoms/form-input.tsx
|
|
17268
|
+
import { useId as useId2 } from "react";
|
|
17269
|
+
import { jsx as jsx106 } from "react/jsx-runtime";
|
|
17270
|
+
function FormInput({
|
|
17271
|
+
value,
|
|
17272
|
+
onChange,
|
|
17273
|
+
label,
|
|
17274
|
+
type = "text",
|
|
17275
|
+
placeholder,
|
|
17276
|
+
disabled = false,
|
|
17277
|
+
autoFocus = false,
|
|
17278
|
+
autoComplete,
|
|
17279
|
+
required = false,
|
|
17280
|
+
error,
|
|
17281
|
+
id,
|
|
17282
|
+
className = ""
|
|
17283
|
+
}) {
|
|
17284
|
+
const generatedId = useId2();
|
|
17285
|
+
const inputId = id ?? generatedId;
|
|
17286
|
+
const hasError = Boolean(error);
|
|
17287
|
+
const errorMessage = typeof error === "string" ? error : void 0;
|
|
17288
|
+
return /* @__PURE__ */ jsx106(
|
|
17289
|
+
FormField,
|
|
17290
|
+
{
|
|
17291
|
+
label,
|
|
17292
|
+
htmlFor: inputId,
|
|
17293
|
+
error: errorMessage,
|
|
17294
|
+
required,
|
|
17295
|
+
className,
|
|
17296
|
+
children: /* @__PURE__ */ jsx106(
|
|
17297
|
+
"input",
|
|
17298
|
+
{
|
|
17299
|
+
id: inputId,
|
|
17300
|
+
type,
|
|
17301
|
+
value,
|
|
17302
|
+
onChange: (e) => onChange(e.target.value),
|
|
17303
|
+
placeholder,
|
|
17304
|
+
disabled,
|
|
17305
|
+
autoFocus,
|
|
17306
|
+
autoComplete,
|
|
17307
|
+
required,
|
|
17308
|
+
className: `elb-form-input ${hasError ? "elb-form-input--error" : ""}`,
|
|
17309
|
+
"aria-invalid": hasError
|
|
17310
|
+
}
|
|
17311
|
+
)
|
|
17312
|
+
}
|
|
17313
|
+
);
|
|
17314
|
+
}
|
|
17315
|
+
|
|
16739
17316
|
// src/components/atoms/icons/icons.tsx
|
|
16740
17317
|
addIcon("walkeros:piwik-pro", {
|
|
16741
17318
|
body: '<g fill="none" fill-rule="evenodd"><path fill="#231F20" d="M0 0h90v90H0z"/><path d="M50.792 57.21v.044H37.99v8.675c0 3.38-2.652 6.07-6.006 6.07a5.917 5.917 0 0 1-4.243-1.77 6.073 6.073 0 0 1-1.74-4.3v-38.88C26 23.67 28.65 21 31.983 21H50.79v.022c9.58.4 17.209 8.341 17.209 18.104 0 9.764-7.628 17.704-17.209 18.083h.001Zm-2.148-25.29H37.99v14.57h10.872c3.88-.112 6.993-3.337 6.993-7.274a7.347 7.347 0 0 0-2.114-5.16 7.16 7.16 0 0 0-5.098-2.134Z" fill="#FFF" fill-rule="nonzero"/></g>',
|
|
@@ -16744,12 +17321,12 @@ addIcon("walkeros:piwik-pro", {
|
|
|
16744
17321
|
});
|
|
16745
17322
|
|
|
16746
17323
|
// node_modules/@mdx-js/react/lib/index.js
|
|
16747
|
-
import
|
|
17324
|
+
import React28 from "react";
|
|
16748
17325
|
var emptyComponents = {};
|
|
16749
|
-
var MDXContext =
|
|
17326
|
+
var MDXContext = React28.createContext(emptyComponents);
|
|
16750
17327
|
function useMDXComponents(components) {
|
|
16751
|
-
const contextComponents =
|
|
16752
|
-
return
|
|
17328
|
+
const contextComponents = React28.useContext(MDXContext);
|
|
17329
|
+
return React28.useMemo(
|
|
16753
17330
|
function() {
|
|
16754
17331
|
if (typeof components === "function") {
|
|
16755
17332
|
return components(contextComponents);
|
|
@@ -16766,7 +17343,7 @@ function MDXProvider(properties) {
|
|
|
16766
17343
|
} else {
|
|
16767
17344
|
allComponents = useMDXComponents(properties.components);
|
|
16768
17345
|
}
|
|
16769
|
-
return
|
|
17346
|
+
return React28.createElement(
|
|
16770
17347
|
MDXContext.Provider,
|
|
16771
17348
|
{ value: allComponents },
|
|
16772
17349
|
properties.children
|
|
@@ -16775,7 +17352,7 @@ function MDXProvider(properties) {
|
|
|
16775
17352
|
|
|
16776
17353
|
// src/components/atoms/mdx-code.tsx
|
|
16777
17354
|
import { Children } from "react";
|
|
16778
|
-
import { jsx as
|
|
17355
|
+
import { jsx as jsx107 } from "react/jsx-runtime";
|
|
16779
17356
|
var MDXCode = ({
|
|
16780
17357
|
className,
|
|
16781
17358
|
children
|
|
@@ -16789,7 +17366,7 @@ var MDXCode = ({
|
|
|
16789
17366
|
return false;
|
|
16790
17367
|
});
|
|
16791
17368
|
if (!hasClassName || !hasNewlines) {
|
|
16792
|
-
return /* @__PURE__ */
|
|
17369
|
+
return /* @__PURE__ */ jsx107("code", { className: "elb-code-inline", children });
|
|
16793
17370
|
}
|
|
16794
17371
|
const mdxLanguage = className.replace(/^language-/, "");
|
|
16795
17372
|
const languageMap = {
|
|
@@ -16804,7 +17381,7 @@ var MDXCode = ({
|
|
|
16804
17381
|
};
|
|
16805
17382
|
const monacoLanguage = languageMap[mdxLanguage] || mdxLanguage;
|
|
16806
17383
|
const code = childrenArray.map((child) => typeof child === "string" ? child : "").join("").trim();
|
|
16807
|
-
return /* @__PURE__ */
|
|
17384
|
+
return /* @__PURE__ */ jsx107(
|
|
16808
17385
|
CodeBox,
|
|
16809
17386
|
{
|
|
16810
17387
|
code,
|
|
@@ -16818,7 +17395,7 @@ var MDXCode = ({
|
|
|
16818
17395
|
};
|
|
16819
17396
|
|
|
16820
17397
|
// src/providers/MDXProvider.tsx
|
|
16821
|
-
import { jsx as
|
|
17398
|
+
import { jsx as jsx108 } from "react/jsx-runtime";
|
|
16822
17399
|
var MDXProvider2 = ({ children }) => {
|
|
16823
17400
|
const components = {
|
|
16824
17401
|
// Markdown element mappings
|
|
@@ -16830,9 +17407,53 @@ var MDXProvider2 = ({ children }) => {
|
|
|
16830
17407
|
DestinationInitDemo,
|
|
16831
17408
|
DestinationDemo
|
|
16832
17409
|
};
|
|
16833
|
-
return /* @__PURE__ */
|
|
17410
|
+
return /* @__PURE__ */ jsx108(MDXProvider, { components, children });
|
|
16834
17411
|
};
|
|
17412
|
+
|
|
17413
|
+
// src/hooks/useDropdown.ts
|
|
17414
|
+
import { useState as useState41, useRef as useRef18, useEffect as useEffect29, useCallback as useCallback20 } from "react";
|
|
17415
|
+
function useDropdown() {
|
|
17416
|
+
const [isOpen, setIsOpen] = useState41(false);
|
|
17417
|
+
const containerRef = useRef18(null);
|
|
17418
|
+
const toggle = useCallback20(() => {
|
|
17419
|
+
setIsOpen((prev) => !prev);
|
|
17420
|
+
}, []);
|
|
17421
|
+
const open = useCallback20(() => {
|
|
17422
|
+
setIsOpen(true);
|
|
17423
|
+
}, []);
|
|
17424
|
+
const close = useCallback20(() => {
|
|
17425
|
+
setIsOpen(false);
|
|
17426
|
+
}, []);
|
|
17427
|
+
useEffect29(() => {
|
|
17428
|
+
if (!isOpen) return;
|
|
17429
|
+
function handleClickOutside(event) {
|
|
17430
|
+
if (containerRef.current && !containerRef.current.contains(event.target)) {
|
|
17431
|
+
setIsOpen(false);
|
|
17432
|
+
}
|
|
17433
|
+
}
|
|
17434
|
+
document.addEventListener("mousedown", handleClickOutside);
|
|
17435
|
+
return () => document.removeEventListener("mousedown", handleClickOutside);
|
|
17436
|
+
}, [isOpen]);
|
|
17437
|
+
useEffect29(() => {
|
|
17438
|
+
if (!isOpen) return;
|
|
17439
|
+
function handleEscape(event) {
|
|
17440
|
+
if (event.key === "Escape") {
|
|
17441
|
+
setIsOpen(false);
|
|
17442
|
+
}
|
|
17443
|
+
}
|
|
17444
|
+
document.addEventListener("keydown", handleEscape);
|
|
17445
|
+
return () => document.removeEventListener("keydown", handleEscape);
|
|
17446
|
+
}, [isOpen]);
|
|
17447
|
+
return {
|
|
17448
|
+
isOpen,
|
|
17449
|
+
toggle,
|
|
17450
|
+
open,
|
|
17451
|
+
close,
|
|
17452
|
+
containerRef
|
|
17453
|
+
};
|
|
17454
|
+
}
|
|
16835
17455
|
export {
|
|
17456
|
+
Alert,
|
|
16836
17457
|
ArchitectureFlow,
|
|
16837
17458
|
Box,
|
|
16838
17459
|
BrowserBox,
|
|
@@ -16844,13 +17465,23 @@ export {
|
|
|
16844
17465
|
CodeSnippet,
|
|
16845
17466
|
CollectorBox,
|
|
16846
17467
|
ConfigEditor,
|
|
17468
|
+
ConfigFormCard,
|
|
16847
17469
|
DESTINATION_CONFIG_STRUCTURE,
|
|
16848
17470
|
DestinationDemo,
|
|
16849
17471
|
DestinationInitDemo as DestinationInit,
|
|
16850
17472
|
DestinationInitDemo,
|
|
16851
17473
|
DestinationDemo as DestinationPush,
|
|
17474
|
+
Dropdown,
|
|
17475
|
+
DropdownDivider,
|
|
17476
|
+
DropdownItem,
|
|
17477
|
+
FlowDeployPanel,
|
|
16852
17478
|
FlowMap,
|
|
17479
|
+
FlowSelector,
|
|
16853
17480
|
Footer,
|
|
17481
|
+
FormCard,
|
|
17482
|
+
FormField,
|
|
17483
|
+
FormInput,
|
|
17484
|
+
FormTextarea,
|
|
16854
17485
|
Grid,
|
|
16855
17486
|
Header,
|
|
16856
17487
|
Icon,
|
|
@@ -16866,6 +17497,9 @@ export {
|
|
|
16866
17497
|
Preview,
|
|
16867
17498
|
PromotionPlayground,
|
|
16868
17499
|
PropertyTable,
|
|
17500
|
+
Spinner,
|
|
17501
|
+
SplitButton,
|
|
17502
|
+
SubmitButton,
|
|
16869
17503
|
captureDestinationPush,
|
|
16870
17504
|
cn,
|
|
16871
17505
|
createCaptureFn,
|
|
@@ -16882,6 +17516,7 @@ export {
|
|
|
16882
17516
|
registerAllThemes,
|
|
16883
17517
|
registerLighthouseTheme,
|
|
16884
17518
|
registerPalenightTheme,
|
|
16885
|
-
registerWalkerOSTypes
|
|
17519
|
+
registerWalkerOSTypes,
|
|
17520
|
+
useDropdown
|
|
16886
17521
|
};
|
|
16887
17522
|
//# sourceMappingURL=index.mjs.map
|