@trops/dash-core 0.1.569 → 0.1.570
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/electron/index.js +24 -0
- package/dist/electron/index.js.map +1 -1
- package/dist/index.esm.js +218 -67
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +217 -65
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.esm.js
CHANGED
|
@@ -2,7 +2,7 @@ import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
|
2
2
|
import _typeof from '@babel/runtime/helpers/typeof';
|
|
3
3
|
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
4
4
|
import * as DashReact from '@trops/dash-react';
|
|
5
|
-
import { isObject, ThemeContext, Modal, FontAwesomeIcon, deepCopy, MainSection, getUUID, getStylesForItem, themeObjects, Heading, SearchInput, ButtonIcon, SubHeading3, InputText, Button, Tag, Button3, Button2, Paragraph, Sidebar, Panel, Stepper, Tag3, Card2, Card3, Heading3, MenuItem3, FormLabel, SelectMenu, Switch, SelectInput, CodeEditorVS, SettingsModal, SubHeading2, tailwindHeightFractions, Menu3, Panel3, ButtonIcon2, DropdownPanel, MenuItem2, DragComponent, ConfirmationModal, DropComponent, getStyleName, capitalizeFirstLetter, colorTypes, isHexColor, deriveShades, TAILWIND_PALETTE, getCSSStyleForClassname, Panel2, Heading2, SubHeading, Paragraph2, Paragraph3, MenuItem, Tag2, ButtonIcon3, DashPanel, colorNames, shades, themeVariants, Tabs3, DataList, Checkbox, StatCard, Card, Tabs, Accordion, Alert, Toast, ProgressBar, Toggle, Breadcrumbs, Tabs2, Accordion2, Alert2, Toast2, ProgressBar2, Toggle2, Breadcrumbs2, Accordion3, Alert3, Toast3, ProgressBar3, Toggle3, Breadcrumbs3, ThemeFromUrlPane, TextArea, CodeEditorInline, Icon2, AlgoliaSearchBox, CommandPalette, useSidebar, Divider,
|
|
5
|
+
import { isObject, ThemeContext, Modal, FontAwesomeIcon, deepCopy, MainSection, getUUID, getStylesForItem, themeObjects, Heading, SearchInput, ButtonIcon, SubHeading3, InputText, Button, Tag, Button3, Button2, Paragraph, Sidebar, Panel, Stepper, Tag3, Card2, Card3, Heading3, MenuItem3, FormLabel, SelectMenu, Switch, SelectInput, CodeEditorVS, SettingsModal, SubHeading2, tailwindHeightFractions, Menu3, Panel3, ButtonIcon2, DropdownPanel, MenuItem2, DragComponent, ConfirmationModal, DropComponent, getStyleName, capitalizeFirstLetter, colorTypes, isHexColor, deriveShades, TAILWIND_PALETTE, getCSSStyleForClassname, Panel2, Heading2, SubHeading, Paragraph2, Paragraph3, MenuItem, Tag2, ButtonIcon3, normalizeHex, contrastRatio, Caption2, Caption, DashPanel, colorNames, shades, themeVariants, Tabs3, DataList, Checkbox, StatCard, Card, Tabs, Accordion, Alert, Toast, ProgressBar, Toggle, Breadcrumbs, Tabs2, Accordion2, Alert2, Toast2, ProgressBar2, Toggle2, Breadcrumbs2, Accordion3, Alert3, Toast3, ProgressBar3, Toggle3, Breadcrumbs3, ThemeFromUrlPane, TextArea, CodeEditorInline, Icon2, AlgoliaSearchBox, CommandPalette, useSidebar, Divider, Caption3, EmptyState, Navbar, withRouter, Menu as Menu$1 } from '@trops/dash-react';
|
|
6
6
|
export * from '@trops/dash-react';
|
|
7
7
|
export { ThemeContext } from '@trops/dash-react';
|
|
8
8
|
import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
|
|
@@ -35939,6 +35939,20 @@ function getThemePresets() {
|
|
|
35939
35939
|
return [buildRawTheme("Ocean Depth", "blue", "cyan", "teal", "slate"), buildRawTheme("Sunset Ember", "orange", "rose", "amber", "stone"), buildRawTheme("Forest Canopy", "green", "emerald", "lime", "gray"), buildRawTheme("Arctic Night", "slate", "sky", "indigo", "zinc"), buildRawTheme("Royal Amethyst", "purple", "violet", "fuchsia", "gray"), buildRawTheme("Warm Earth", "stone", "amber", "orange", "neutral"), buildRawTheme("Cyber Pulse", "cyan", "blue", "violet", "slate"), buildRawTheme("Rose Garden", "rose", "pink", "fuchsia", "gray"), buildRawTheme("Golden Hour", "amber", "yellow", "orange", "stone"), buildRawTheme("Midnight Sky", "indigo", "blue", "violet", "slate"), buildRawTheme("Spring Meadow", "emerald", "lime", "green", "gray"), buildRawTheme("Coral Reef", "red", "orange", "pink", "zinc"), buildRawTheme("Nordic Ice", "sky", "cyan", "blue", "slate"), buildRawTheme("Twilight Bloom", "violet", "purple", "pink", "gray"), buildRawTheme("Desert Sand", "amber", "orange", "stone", "neutral")];
|
|
35940
35940
|
}
|
|
35941
35941
|
|
|
35942
|
+
/**
|
|
35943
|
+
* Brand presets — curated hex palettes mirroring well-known
|
|
35944
|
+
* products. Surfaced in the theme picker so users can pick
|
|
35945
|
+
* familiar brand identities in one click. Hex values flow
|
|
35946
|
+
* through the arbitrary-color-themes pipeline (PRD US-006).
|
|
35947
|
+
*
|
|
35948
|
+
* Each preset spans all four channels (primary, secondary,
|
|
35949
|
+
* tertiary, neutral). When applied, every theme token resolves
|
|
35950
|
+
* to a brand-equivalent shade via the cssVars map.
|
|
35951
|
+
*/
|
|
35952
|
+
function getBrandPresets() {
|
|
35953
|
+
return [buildRawTheme("Slack Brand", "#4A154B", "#36C5F0", "#ECB22E", "#BCBEC0"), buildRawTheme("Notion Brand", "#2F3437", "#9B6A8C", "#D4845A", "#C1B5A7"), buildRawTheme("GitHub Brand", "#0D1117", "#58A6FF", "#F0883E", "#21262D"), buildRawTheme("Stripe Brand", "#635BFF", "#00D4FF", "#FFD600", "#525F7F"), buildRawTheme("Linear Brand", "#5E6AD2", "#B07FD0", "#E2A8F5", "#1F2026"), buildRawTheme("Discord Brand", "#5865F2", "#57F287", "#FEE75C", "#36393F"), buildRawTheme("Vercel Brand", "#000000", "#0070F3", "#FF0080", "#888888"), buildRawTheme("Figma Brand", "#F24E1E", "#A259FF", "#1ABCFE", "#2C2C2C")];
|
|
35954
|
+
}
|
|
35955
|
+
|
|
35942
35956
|
// ─── Random Generation ───────────────────────────────────────────────────
|
|
35943
35957
|
|
|
35944
35958
|
function generateRandomTheme() {
|
|
@@ -36835,6 +36849,87 @@ var PreviewColorsPane = function PreviewColorsPane(_ref) {
|
|
|
36835
36849
|
}) : null;
|
|
36836
36850
|
};
|
|
36837
36851
|
|
|
36852
|
+
var AA_RATIO = 4.5;
|
|
36853
|
+
var CustomHexColorPane = function CustomHexColorPane(_ref) {
|
|
36854
|
+
var onApply = _ref.onApply,
|
|
36855
|
+
_ref$label = _ref.label,
|
|
36856
|
+
label = _ref$label === void 0 ? "Custom hex color" : _ref$label;
|
|
36857
|
+
var _useState = useState(""),
|
|
36858
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
36859
|
+
input = _useState2[0],
|
|
36860
|
+
setInput = _useState2[1];
|
|
36861
|
+
var _useState3 = useState(null),
|
|
36862
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
36863
|
+
error = _useState4[0],
|
|
36864
|
+
setError = _useState4[1];
|
|
36865
|
+
var normalized = useMemo(function () {
|
|
36866
|
+
return normalizeHex(input);
|
|
36867
|
+
}, [input]);
|
|
36868
|
+
var isValid = !!normalized;
|
|
36869
|
+
|
|
36870
|
+
// Contrast vs. white — the most common "text on a colored fill"
|
|
36871
|
+
// case for primary buttons / active channels. Low contrast means
|
|
36872
|
+
// light text on the picked color will be hard to read.
|
|
36873
|
+
var contrastVsWhite = useMemo(function () {
|
|
36874
|
+
return isValid ? contrastRatio(normalized, "#ffffff") : null;
|
|
36875
|
+
}, [normalized, isValid]);
|
|
36876
|
+
var contrastVsBlack = useMemo(function () {
|
|
36877
|
+
return isValid ? contrastRatio(normalized, "#000000") : null;
|
|
36878
|
+
}, [normalized, isValid]);
|
|
36879
|
+
var bestContrast = contrastVsWhite ? Math.max(contrastVsWhite, contrastVsBlack) : null;
|
|
36880
|
+
var warning = bestContrast !== null && bestContrast < AA_RATIO ? "Best contrast ".concat(bestContrast.toFixed(1), ":1 \u2014 below WCAG AA target (4.5:1). Text overlaid on this color may be hard to read.") : null;
|
|
36881
|
+
function handleApply() {
|
|
36882
|
+
if (!normalized) {
|
|
36883
|
+
setError("Invalid hex (try #4A154B)");
|
|
36884
|
+
return;
|
|
36885
|
+
}
|
|
36886
|
+
setError(null);
|
|
36887
|
+
onApply(normalized);
|
|
36888
|
+
setInput("");
|
|
36889
|
+
}
|
|
36890
|
+
function handleKeyDown(e) {
|
|
36891
|
+
if (e.key === "Enter" && isValid) {
|
|
36892
|
+
e.preventDefault();
|
|
36893
|
+
handleApply();
|
|
36894
|
+
}
|
|
36895
|
+
}
|
|
36896
|
+
return /*#__PURE__*/jsxs("div", {
|
|
36897
|
+
className: "flex flex-col gap-2 p-3 border-t border-gray-700",
|
|
36898
|
+
children: [/*#__PURE__*/jsx("span", {
|
|
36899
|
+
className: "text-xs uppercase font-bold tracking-wider text-gray-400",
|
|
36900
|
+
children: label
|
|
36901
|
+
}), /*#__PURE__*/jsxs("div", {
|
|
36902
|
+
className: "flex flex-row items-center gap-2",
|
|
36903
|
+
children: [/*#__PURE__*/jsx(InputText, {
|
|
36904
|
+
value: input,
|
|
36905
|
+
onChange: function onChange(value) {
|
|
36906
|
+
var _value$target;
|
|
36907
|
+
// dispatchInputChange unwraps the event to a string
|
|
36908
|
+
setInput(typeof value === "string" ? value : (value === null || value === void 0 || (_value$target = value.target) === null || _value$target === void 0 ? void 0 : _value$target.value) || "");
|
|
36909
|
+
setError(null);
|
|
36910
|
+
},
|
|
36911
|
+
onKeyDown: handleKeyDown,
|
|
36912
|
+
placeholder: "#4A154B"
|
|
36913
|
+
}), /*#__PURE__*/jsx("div", {
|
|
36914
|
+
className: "w-10 h-10 rounded flex-shrink-0",
|
|
36915
|
+
style: {
|
|
36916
|
+
backgroundColor: normalized || "transparent",
|
|
36917
|
+
border: "1px solid rgba(255,255,255,0.15)"
|
|
36918
|
+
},
|
|
36919
|
+
"aria-label": "Color preview"
|
|
36920
|
+
}), /*#__PURE__*/jsx(Button, {
|
|
36921
|
+
title: "Apply",
|
|
36922
|
+
onClick: handleApply,
|
|
36923
|
+
disabled: !isValid
|
|
36924
|
+
})]
|
|
36925
|
+
}), error && /*#__PURE__*/jsx(Caption2, {
|
|
36926
|
+
text: error
|
|
36927
|
+
}), warning && /*#__PURE__*/jsx(Caption, {
|
|
36928
|
+
text: warning
|
|
36929
|
+
})]
|
|
36930
|
+
});
|
|
36931
|
+
};
|
|
36932
|
+
|
|
36838
36933
|
var AvailableColorsGridPane = function AvailableColorsGridPane(_ref) {
|
|
36839
36934
|
var _ref$currentColor = _ref.currentColor,
|
|
36840
36935
|
currentColor = _ref$currentColor === void 0 ? null : _ref$currentColor,
|
|
@@ -36908,13 +37003,23 @@ var AvailableColorsGridPane = function AvailableColorsGridPane(_ref) {
|
|
|
36908
37003
|
scrollable: true,
|
|
36909
37004
|
children: [/*#__PURE__*/jsx(DashPanel.Header, {
|
|
36910
37005
|
title: "AvailableColors"
|
|
36911
|
-
}), /*#__PURE__*/
|
|
37006
|
+
}), /*#__PURE__*/jsxs(DashPanel.Body, {
|
|
36912
37007
|
scrollable: true,
|
|
36913
37008
|
space: true,
|
|
36914
|
-
children: /*#__PURE__*/jsx("div", {
|
|
37009
|
+
children: [/*#__PURE__*/jsx("div", {
|
|
36915
37010
|
className: "flex flex-col space-y-1",
|
|
36916
37011
|
children: renderAvailableColors()
|
|
36917
|
-
})
|
|
37012
|
+
}), shade !== null && /*#__PURE__*/jsx(CustomHexColorPane, {
|
|
37013
|
+
onApply: function onApply(hex) {
|
|
37014
|
+
return handleChooseColor({
|
|
37015
|
+
colorName: hex,
|
|
37016
|
+
colorType: colorType,
|
|
37017
|
+
shade: shade || 500,
|
|
37018
|
+
panelType: "main"
|
|
37019
|
+
});
|
|
37020
|
+
},
|
|
37021
|
+
label: "Custom hex for ".concat(colorType || "channel")
|
|
37022
|
+
})]
|
|
36918
37023
|
}), onCancel && /*#__PURE__*/jsx(DashPanel.Footer, {
|
|
36919
37024
|
children: /*#__PURE__*/jsx(Button, {
|
|
36920
37025
|
title: "Cancel",
|
|
@@ -38380,23 +38485,41 @@ var ThemePickerGridPane = function ThemePickerGridPane(_ref) {
|
|
|
38380
38485
|
themeVariant = _useContext.themeVariant;
|
|
38381
38486
|
function renderMenuItem(tk) {
|
|
38382
38487
|
var displayTheme = themes[tk][themeVariant];
|
|
38383
|
-
|
|
38384
|
-
|
|
38488
|
+
// Read inline CSS color values from `cssValue` (v0.1.569+) so
|
|
38489
|
+
// preview swatches render correctly for BOTH named-color and
|
|
38490
|
+
// hex (brand-preset) themes. For hex themes, the className path
|
|
38491
|
+
// resolves to `bg-[var(--secondary-700)]` which depends on the
|
|
38492
|
+
// active theme's CSS variables — those aren't injected for
|
|
38493
|
+
// OTHER themes shown in the picker grid. Inline cssValue
|
|
38494
|
+
// sidesteps that limitation.
|
|
38495
|
+
var cssValue = displayTheme.cssValue || {};
|
|
38496
|
+
var swatches = [{
|
|
38385
38497
|
type: "secondary",
|
|
38386
|
-
|
|
38498
|
+
value: cssValue["bg-secondary-medium"],
|
|
38499
|
+
className: displayTheme["bg-secondary-medium"]
|
|
38387
38500
|
}, {
|
|
38388
|
-
colorName: displayTheme["tertiary"],
|
|
38389
38501
|
type: "tertiary",
|
|
38390
|
-
|
|
38502
|
+
value: cssValue["bg-tertiary-medium"],
|
|
38503
|
+
className: displayTheme["bg-tertiary-medium"]
|
|
38391
38504
|
}, {
|
|
38392
|
-
colorName: displayTheme["neutral"],
|
|
38393
38505
|
type: "neutral",
|
|
38394
|
-
|
|
38506
|
+
value: cssValue["bg-neutral-light"],
|
|
38507
|
+
className: displayTheme["bg-neutral-light"]
|
|
38395
38508
|
}];
|
|
38396
|
-
return
|
|
38509
|
+
return swatches.map(function (swatch) {
|
|
38510
|
+
// Prefer cssValue (works for any theme). Fall back to className
|
|
38511
|
+
// for pre-v0.1.569 themes without a cssValue map.
|
|
38512
|
+
if (swatch.value) {
|
|
38513
|
+
return /*#__PURE__*/jsx("div", {
|
|
38514
|
+
className: "rounded h-20 w-full",
|
|
38515
|
+
style: {
|
|
38516
|
+
backgroundColor: swatch.value
|
|
38517
|
+
}
|
|
38518
|
+
}, "theme-grid-".concat(swatch.type));
|
|
38519
|
+
}
|
|
38397
38520
|
return /*#__PURE__*/jsx("div", {
|
|
38398
|
-
className: "rounded ".concat(
|
|
38399
|
-
}, "theme-grid-".concat(
|
|
38521
|
+
className: "rounded ".concat(swatch.className, " h-20 w-full")
|
|
38522
|
+
}, "theme-grid-".concat(swatch.type));
|
|
38400
38523
|
});
|
|
38401
38524
|
}
|
|
38402
38525
|
function renderCurrentThemes() {
|
|
@@ -38556,15 +38679,30 @@ var GENERATE_MODES = {
|
|
|
38556
38679
|
|
|
38557
38680
|
// ─── Preset Gallery ──────────────────────────────────────────────────────
|
|
38558
38681
|
|
|
38559
|
-
|
|
38560
|
-
|
|
38561
|
-
|
|
38562
|
-
|
|
38563
|
-
|
|
38564
|
-
var
|
|
38565
|
-
|
|
38566
|
-
return "
|
|
38682
|
+
// Render a swatch for a preset's channel value. Handles both Tailwind
|
|
38683
|
+
// named colors (`"blue"` → `bg-blue-500`) and arbitrary-color-themes
|
|
38684
|
+
// hex values (`"#4A154B"` → inline style). Used by brand presets which
|
|
38685
|
+
// carry hex palettes.
|
|
38686
|
+
var PresetSwatch = function PresetSwatch(_ref) {
|
|
38687
|
+
var color = _ref.color;
|
|
38688
|
+
if (isHexColor(color)) {
|
|
38689
|
+
return /*#__PURE__*/jsx("div", {
|
|
38690
|
+
className: "h-6 flex-1 rounded",
|
|
38691
|
+
style: {
|
|
38692
|
+
backgroundColor: normalizeHex(color) || color
|
|
38693
|
+
}
|
|
38694
|
+
});
|
|
38695
|
+
}
|
|
38696
|
+
return /*#__PURE__*/jsx("div", {
|
|
38697
|
+
className: "h-6 flex-1 rounded bg-".concat(color, "-500")
|
|
38567
38698
|
});
|
|
38699
|
+
};
|
|
38700
|
+
var PresetCard = function PresetCard(_ref2) {
|
|
38701
|
+
var preset = _ref2.preset,
|
|
38702
|
+
onSelect = _ref2.onSelect,
|
|
38703
|
+
_ref2$selected = _ref2.selected,
|
|
38704
|
+
selected = _ref2$selected === void 0 ? false : _ref2$selected;
|
|
38705
|
+
var colors = [preset.primary, preset.secondary, preset.tertiary];
|
|
38568
38706
|
return /*#__PURE__*/jsxs("div", {
|
|
38569
38707
|
className: "flex flex-col gap-2 p-3 rounded-lg cursor-pointer transition-all bg-white/5 hover:bg-white/10 ".concat(selected ? "ring-2 ring-blue-500" : "hover:ring-2 hover:ring-blue-500"),
|
|
38570
38708
|
onClick: function onClick() {
|
|
@@ -38572,9 +38710,9 @@ var PresetCard = function PresetCard(_ref) {
|
|
|
38572
38710
|
},
|
|
38573
38711
|
children: [/*#__PURE__*/jsx("div", {
|
|
38574
38712
|
className: "flex flex-row gap-1",
|
|
38575
|
-
children:
|
|
38576
|
-
return /*#__PURE__*/jsx(
|
|
38577
|
-
|
|
38713
|
+
children: colors.map(function (c, i) {
|
|
38714
|
+
return /*#__PURE__*/jsx(PresetSwatch, {
|
|
38715
|
+
color: c
|
|
38578
38716
|
}, i);
|
|
38579
38717
|
})
|
|
38580
38718
|
}), /*#__PURE__*/jsx("span", {
|
|
@@ -38583,13 +38721,14 @@ var PresetCard = function PresetCard(_ref) {
|
|
|
38583
38721
|
})]
|
|
38584
38722
|
});
|
|
38585
38723
|
};
|
|
38586
|
-
var PresetGallery = function PresetGallery(
|
|
38587
|
-
var onSelect =
|
|
38588
|
-
|
|
38589
|
-
selectedPresetId =
|
|
38590
|
-
|
|
38591
|
-
inline =
|
|
38724
|
+
var PresetGallery = function PresetGallery(_ref3) {
|
|
38725
|
+
var onSelect = _ref3.onSelect,
|
|
38726
|
+
_ref3$selectedPresetI = _ref3.selectedPresetId,
|
|
38727
|
+
selectedPresetId = _ref3$selectedPresetI === void 0 ? null : _ref3$selectedPresetI,
|
|
38728
|
+
_ref3$inline = _ref3.inline,
|
|
38729
|
+
inline = _ref3$inline === void 0 ? false : _ref3$inline;
|
|
38592
38730
|
var presets = getThemePresets();
|
|
38731
|
+
var brandPresets = getBrandPresets();
|
|
38593
38732
|
return /*#__PURE__*/jsxs("div", {
|
|
38594
38733
|
className: inline ? "flex flex-col gap-4" : "flex flex-col gap-4 p-6 overflow-y-auto flex-1 min-h-0",
|
|
38595
38734
|
children: [/*#__PURE__*/jsx("span", {
|
|
@@ -38604,16 +38743,28 @@ var PresetGallery = function PresetGallery(_ref2) {
|
|
|
38604
38743
|
selected: selectedPresetId != null && preset.name === selectedPresetId
|
|
38605
38744
|
}, i);
|
|
38606
38745
|
})
|
|
38746
|
+
}), /*#__PURE__*/jsx("span", {
|
|
38747
|
+
className: "text-sm font-semibold opacity-50 mt-4",
|
|
38748
|
+
children: "Brand Presets"
|
|
38749
|
+
}), /*#__PURE__*/jsx("div", {
|
|
38750
|
+
className: "grid grid-cols-3 gap-3",
|
|
38751
|
+
children: brandPresets.map(function (preset, i) {
|
|
38752
|
+
return /*#__PURE__*/jsx(PresetCard, {
|
|
38753
|
+
preset: preset,
|
|
38754
|
+
onSelect: onSelect,
|
|
38755
|
+
selected: selectedPresetId != null && preset.name === selectedPresetId
|
|
38756
|
+
}, "brand-".concat(i));
|
|
38757
|
+
})
|
|
38607
38758
|
})]
|
|
38608
38759
|
});
|
|
38609
38760
|
};
|
|
38610
38761
|
|
|
38611
38762
|
// ─── Color Harmony Picker ────────────────────────────────────────────────
|
|
38612
38763
|
|
|
38613
|
-
var ColorSwatchGrid$1 = function ColorSwatchGrid(
|
|
38614
|
-
var value =
|
|
38615
|
-
onChange =
|
|
38616
|
-
label =
|
|
38764
|
+
var ColorSwatchGrid$1 = function ColorSwatchGrid(_ref4) {
|
|
38765
|
+
var value = _ref4.value,
|
|
38766
|
+
onChange = _ref4.onChange,
|
|
38767
|
+
label = _ref4.label;
|
|
38617
38768
|
return /*#__PURE__*/jsxs("div", {
|
|
38618
38769
|
className: "flex flex-col gap-2",
|
|
38619
38770
|
children: [/*#__PURE__*/jsx("span", {
|
|
@@ -38633,10 +38784,10 @@ var ColorSwatchGrid$1 = function ColorSwatchGrid(_ref3) {
|
|
|
38633
38784
|
})]
|
|
38634
38785
|
});
|
|
38635
38786
|
};
|
|
38636
|
-
var PreviewSwatch = function PreviewSwatch(
|
|
38637
|
-
var color =
|
|
38638
|
-
strategy =
|
|
38639
|
-
customColors =
|
|
38787
|
+
var PreviewSwatch = function PreviewSwatch(_ref5) {
|
|
38788
|
+
var color = _ref5.color,
|
|
38789
|
+
strategy = _ref5.strategy,
|
|
38790
|
+
customColors = _ref5.customColors;
|
|
38640
38791
|
var colors;
|
|
38641
38792
|
if (strategy === "custom" && customColors) {
|
|
38642
38793
|
colors = [customColors.primary, customColors.secondary, customColors.tertiary];
|
|
@@ -38659,10 +38810,10 @@ var PreviewSwatch = function PreviewSwatch(_ref4) {
|
|
|
38659
38810
|
})
|
|
38660
38811
|
});
|
|
38661
38812
|
};
|
|
38662
|
-
var ColorHarmonyPicker = function ColorHarmonyPicker(
|
|
38663
|
-
var onGenerate =
|
|
38664
|
-
|
|
38665
|
-
inline =
|
|
38813
|
+
var ColorHarmonyPicker = function ColorHarmonyPicker(_ref6) {
|
|
38814
|
+
var onGenerate = _ref6.onGenerate,
|
|
38815
|
+
_ref6$inline = _ref6.inline,
|
|
38816
|
+
inline = _ref6$inline === void 0 ? false : _ref6$inline;
|
|
38666
38817
|
var _useState = useState("blue"),
|
|
38667
38818
|
_useState2 = _slicedToArray(_useState, 2),
|
|
38668
38819
|
selectedColor = _useState2[0],
|
|
@@ -38756,12 +38907,12 @@ var ColorHarmonyPicker = function ColorHarmonyPicker(_ref5) {
|
|
|
38756
38907
|
|
|
38757
38908
|
// ─── Wizard Components ──────────────────────────────────────────────────
|
|
38758
38909
|
|
|
38759
|
-
var MethodCard = function MethodCard(
|
|
38760
|
-
var icon =
|
|
38761
|
-
title =
|
|
38762
|
-
subtitle =
|
|
38763
|
-
selected =
|
|
38764
|
-
onClick =
|
|
38910
|
+
var MethodCard = function MethodCard(_ref7) {
|
|
38911
|
+
var icon = _ref7.icon,
|
|
38912
|
+
title = _ref7.title,
|
|
38913
|
+
subtitle = _ref7.subtitle,
|
|
38914
|
+
selected = _ref7.selected,
|
|
38915
|
+
onClick = _ref7.onClick;
|
|
38765
38916
|
return /*#__PURE__*/jsxs("div", {
|
|
38766
38917
|
className: "flex flex-col gap-1.5 p-3 rounded-lg cursor-pointer transition-all bg-white/5 hover:bg-white/10 ".concat(selected ? "ring-2 ring-blue-500 bg-white/10" : "hover:ring-1 hover:ring-white/20"),
|
|
38767
38918
|
onClick: onClick,
|
|
@@ -38780,9 +38931,9 @@ var MethodCard = function MethodCard(_ref6) {
|
|
|
38780
38931
|
})]
|
|
38781
38932
|
});
|
|
38782
38933
|
};
|
|
38783
|
-
var RandomPreview = function RandomPreview(
|
|
38784
|
-
var theme =
|
|
38785
|
-
onRegenerate =
|
|
38934
|
+
var RandomPreview = function RandomPreview(_ref8) {
|
|
38935
|
+
var theme = _ref8.theme,
|
|
38936
|
+
onRegenerate = _ref8.onRegenerate;
|
|
38786
38937
|
var colors = theme ? [theme.primary, theme.secondary, theme.tertiary] : [];
|
|
38787
38938
|
return /*#__PURE__*/jsxs("div", {
|
|
38788
38939
|
className: "flex flex-col gap-4",
|
|
@@ -38809,20 +38960,20 @@ var RandomPreview = function RandomPreview(_ref7) {
|
|
|
38809
38960
|
})]
|
|
38810
38961
|
});
|
|
38811
38962
|
};
|
|
38812
|
-
var ThemeQuickCreate = function ThemeQuickCreate(
|
|
38813
|
-
var wizardName =
|
|
38814
|
-
setWizardName =
|
|
38815
|
-
wizardMethod =
|
|
38816
|
-
setWizardMethod =
|
|
38817
|
-
wizardTheme =
|
|
38818
|
-
setWizardTheme =
|
|
38819
|
-
onComplete =
|
|
38820
|
-
|
|
38821
|
-
onExtract =
|
|
38822
|
-
|
|
38823
|
-
onMapToTheme =
|
|
38824
|
-
|
|
38825
|
-
initialMethod =
|
|
38963
|
+
var ThemeQuickCreate = function ThemeQuickCreate(_ref9) {
|
|
38964
|
+
var wizardName = _ref9.wizardName,
|
|
38965
|
+
setWizardName = _ref9.setWizardName,
|
|
38966
|
+
wizardMethod = _ref9.wizardMethod,
|
|
38967
|
+
setWizardMethod = _ref9.setWizardMethod,
|
|
38968
|
+
wizardTheme = _ref9.wizardTheme,
|
|
38969
|
+
setWizardTheme = _ref9.setWizardTheme,
|
|
38970
|
+
onComplete = _ref9.onComplete,
|
|
38971
|
+
_ref9$onExtract = _ref9.onExtract,
|
|
38972
|
+
onExtract = _ref9$onExtract === void 0 ? null : _ref9$onExtract,
|
|
38973
|
+
_ref9$onMapToTheme = _ref9.onMapToTheme,
|
|
38974
|
+
onMapToTheme = _ref9$onMapToTheme === void 0 ? null : _ref9$onMapToTheme,
|
|
38975
|
+
_ref9$initialMethod = _ref9.initialMethod,
|
|
38976
|
+
initialMethod = _ref9$initialMethod === void 0 ? null : _ref9$initialMethod;
|
|
38826
38977
|
var canCreate = wizardName.trim().length > 0 && wizardTheme !== null;
|
|
38827
38978
|
var showMethodPicker = initialMethod === null;
|
|
38828
38979
|
useEffect(function () {
|
|
@@ -66412,5 +66563,5 @@ function MarkdownFormEditor(_ref8) {
|
|
|
66412
66563
|
|
|
66413
66564
|
ComponentManager.registerContainerTypes(LayoutContainer, LayoutGridContainer);
|
|
66414
66565
|
|
|
66415
|
-
export { ALGOLIA_ANALYTICS_FOR_QUERY, ALGOLIA_ANALYTICS_FOR_QUERY_COMPLETE, ALGOLIA_ANALYTICS_FOR_QUERY_ERROR, ALGOLIA_LIST_INDICES, ALGOLIA_LIST_INDICES_COMPLETE, ALGOLIA_LIST_INDICES_ERROR, AVAILABLE_COLORS, AddMenuItemModal, AdvancedMcpConfig, AppContext, AppSettingsModal, AppThemeScope, AppWrapper, CHOOSE_FILE, CHOOSE_FILE_COMPLETE, CHOOSE_FILE_ERROR, ChatCore, ChatInput, ChatMessages, ColorModel, ComponentConfigModel, ComponentManager, ContextModel, DATA_JSON_TO_CSV_FILE, DATA_JSON_TO_CSV_FILE_COMPLETE, DATA_JSON_TO_CSV_FILE_ERROR, DATA_JSON_TO_CSV_STRING, DATA_JSON_TO_CSV_STRING_COMPLETE, DATA_JSON_TO_CSV_STRING_ERROR, DATA_READ_FROM_FILE, DATA_READ_FROM_FILE_COMPLETE, DATA_READ_FROM_FILE_ERROR, DATA_SAVE_TO_FILE, DATA_SAVE_TO_FILE_COMPLETE, DATA_SAVE_TO_FILE_ERROR, DashCommandPalette, DashNavbar, DashSidebar, DashTabBar, DashboardStage as Dashboard, DashboardActionsApi, DashboardApi, DashboardContext, DashboardFooter, DashboardHeader, DashboardMenuItem, DashboardModel, DashboardMonitor, DashboardPublisher, DashboardStage, DashboardThemeProvider, DashboardWizardModal, DashboardWrapper, ElectronDashboardApi, ErrorBoundary, ExternalWidget, GRID_CELL_WIDGET_TYPE, HARMONY_STRATEGIES, LAYOUT_LIST, LAYOUT_LIST_COMPLETE, LAYOUT_LIST_ERROR, Layout, LayoutBuilder, LayoutBuilderAddItemModal, LayoutBuilderConfigContainerMenuItem, LayoutBuilderConfigMenuItem, LayoutBuilderConfigModal, LayoutBuilderEditItemModal, LayoutBuilderEventModal, LayoutBuilderGridItem, LayoutContainer, LayoutDragBuilder, LayoutDragBuilderEdit, LayoutGridContainer, LayoutManagerModal, LayoutModel, LayoutQuickAddMenu, MCP_CALL_TOOL_COMPLETE, MCP_CALL_TOOL_ERROR, MCP_GET_CATALOG_COMPLETE, MCP_GET_CATALOG_ERROR, MCP_LIST_RESOURCES_COMPLETE, MCP_LIST_RESOURCES_ERROR, MCP_LIST_TOOLS_COMPLETE, MCP_LIST_TOOLS_ERROR, MCP_READ_RESOURCE_COMPLETE, MCP_READ_RESOURCE_ERROR, MCP_RUN_AUTH_COMPLETE, MCP_RUN_AUTH_ERROR, MCP_SERVER_STATUS_COMPLETE, MCP_SERVER_STATUS_ERROR, MCP_START_SERVER_COMPLETE, MCP_START_SERVER_ERROR, MCP_STOP_SERVER_COMPLETE, MCP_STOP_SERVER_ERROR, MENU_ITEMS_DELETE, MENU_ITEMS_DELETE_COMPLETE, MENU_ITEMS_DELETE_ERROR, MENU_ITEMS_LIST, MENU_ITEMS_LIST_COMPLETE, MENU_ITEMS_LIST_ERROR, MENU_ITEMS_SAVE, MENU_ITEMS_SAVE_COMPLETE, MENU_ITEMS_SAVE_ERROR, MainMenu, MainMenuItem, MainMenuSection, MarkdownFormEditor, McpServerPicker, MenuItemModel, MenuSlideOverlay, MergeCellsModal, MessageBubble, MissingProviderPrompt, MockDashboardApi, PROVIDER_DELETE_COMPLETE, PROVIDER_DELETE_ERROR, PROVIDER_GET_COMPLETE, PROVIDER_GET_ERROR, PROVIDER_LIST_COMPLETE, PROVIDER_LIST_ERROR, PROVIDER_SAVE_COMPLETE, PROVIDER_SAVE_ERROR, PageTabBar, PanelCode, PanelEditItem, PanelEditItemHandlers, PanelEditItemNotifications, PanelEditItemProviders, PinnedSidebar, ProviderContext, ProviderErrorBoundary, ProviderForm, ProviderSelector, SECURE_STORAGE_ENCRYPT_STRING, SECURE_STORAGE_ENCRYPT_STRING_COMPLETE, SECURE_STORAGE_ENCRYPT_STRING_ERROR, SECURE_STORE_ENCRYPTION_CHECK, SECURE_STORE_ENCRYPTION_CHECK_COMPLETE, SECURE_STORE_ENCRYPTION_CHECK_ERROR, SECURE_STORE_GET_DATA, SECURE_STORE_GET_DATA_COMPLETE, SECURE_STORE_GET_DATA_ERROR, SECURE_STORE_SET_DATA, SECURE_STORE_SET_DATA_COMPLETE, SECURE_STORE_SET_DATA_ERROR, SETTINGS_GET, SETTINGS_GET_COMPLETE, SETTINGS_GET_ERROR, SETTINGS_SAVE, SETTINGS_SAVE_COMPLETE, SETTINGS_SAVE_ERROR, SIDEBAR_WIDGET_TYPE, SettingsModel, SideMenu, SplitCellModal, StreamingText, THEME_DELETE, THEME_DELETE_COMPLETE, THEME_DELETE_ERROR, THEME_EXTRACT_FROM_URL, THEME_EXTRACT_FROM_URL_COMPLETE, THEME_EXTRACT_FROM_URL_ERROR, THEME_LIST, THEME_LIST_COMPLETE, THEME_LIST_ERROR, THEME_MAP_PALETTE, THEME_MAP_PALETTE_COMPLETE, THEME_MAP_PALETTE_ERROR, THEME_SAVE, THEME_SAVE_COMPLETE, THEME_SAVE_ERROR, ThemeApi, ThemeColorDots, ThemeManagerModal, ThemeModel, ThemeWrapper, ToolCallBlock, ToolSelector, WELCOME_STORAGE_KEY, WORKSPACE_DELETE, WORKSPACE_DELETE_COMPLETE, WORKSPACE_DELETE_ERROR, WORKSPACE_LIST, WORKSPACE_LIST_COMPLETE, WORKSPACE_LIST_ERROR, WORKSPACE_SAVE, WORKSPACE_SAVE_COMPLETE, WORKSPACE_SAVE_ERROR, WebDashboardApi, WelcomePrompt, Widget, WidgetApi, WidgetConfigPanel, WidgetContext, WidgetFactory, WidgetNotFound, WidgetPopoutStage, WidgetProviderWrapper, WidgetSidebar, WizardCustomizeStep, WizardDiscoverStep, Workspace, WorkspaceContext, WorkspaceFooter, WorkspaceMenu, WorkspaceModel, WorkspaceScopeContext, addChildToLayoutItem, addItemToItemLayout, bareComponentName, buildMcpConfigFromOverrides, canHaveChildren, changeDirectionForLayoutItem, computeDashboardPreflight, createProviderRegistry, deriveFormFields, envMappingToRows, evaluateBundle, extractWidgetConfigs, formStateToMcpJson, formatFieldName, generateCustomTheme, generateHarmonyTheme, generateRandomTheme, generateThemeName, getBorderStyle, getChildrenForLayoutItem, getComponentInLayout, getContainerBorderColor, getContainerColor, getIndexOfLayoutChildrenForItem, getIndexOfLayoutItem, getLayoutItemById, getLayoutItemForWorkspace, getNearestParentWorkspace, getNextHighestId, getNextHighestItemInLayout, getNextHighestOrder, getNextHighestParentId, getNextLowestItemInLayout, getParentForLayoutItem, getParentWorkspaceForItem, getThemePresets, getUserConfigurableProviders, getWidgetsForWorkspace, getWorkspacesForWorkspace, headerTemplateToRows, humanizeAction, isContainer, isLikelySecret, isMaxOrderForItem, isMinOrderForItem, isWidget, isWidgetResolvable, isWorkspace, layoutItemHasWorkspaceAsChild, loadWidgetBundle, makeScopedComponentId, mcpJsonToFormState, moveWidgetAcrossContainers, numChildrenForLayout, parse, parseScopedComponentId, removeItemFromLayout, renderComponent, renderGridLayout, renderGridLayoutFlow, _renderLayout as renderLayout, renderLayoutMenu, replaceItemInLayout, resolveIcon, serialize, setHostModules, traverseParentTree, updateLayoutItem, updateParentForItem, useDashboard, useMcpDashServer, useMcpProvider, useNotifications, useProvider, useProviderClient, useScheduler, useWebSocketProvider, useWidgetEvents, useWidgetProviders, useWidgetRegistryVersion, useWidgetSchedulerStatus, useWizardState, validateCellMerge, validateGridCell, validateGridPlacement, validateWidgetPlacement, widgetCountToTemplate, withProviderDetection };
|
|
66566
|
+
export { ALGOLIA_ANALYTICS_FOR_QUERY, ALGOLIA_ANALYTICS_FOR_QUERY_COMPLETE, ALGOLIA_ANALYTICS_FOR_QUERY_ERROR, ALGOLIA_LIST_INDICES, ALGOLIA_LIST_INDICES_COMPLETE, ALGOLIA_LIST_INDICES_ERROR, AVAILABLE_COLORS, AddMenuItemModal, AdvancedMcpConfig, AppContext, AppSettingsModal, AppThemeScope, AppWrapper, CHOOSE_FILE, CHOOSE_FILE_COMPLETE, CHOOSE_FILE_ERROR, ChatCore, ChatInput, ChatMessages, ColorModel, ComponentConfigModel, ComponentManager, ContextModel, DATA_JSON_TO_CSV_FILE, DATA_JSON_TO_CSV_FILE_COMPLETE, DATA_JSON_TO_CSV_FILE_ERROR, DATA_JSON_TO_CSV_STRING, DATA_JSON_TO_CSV_STRING_COMPLETE, DATA_JSON_TO_CSV_STRING_ERROR, DATA_READ_FROM_FILE, DATA_READ_FROM_FILE_COMPLETE, DATA_READ_FROM_FILE_ERROR, DATA_SAVE_TO_FILE, DATA_SAVE_TO_FILE_COMPLETE, DATA_SAVE_TO_FILE_ERROR, DashCommandPalette, DashNavbar, DashSidebar, DashTabBar, DashboardStage as Dashboard, DashboardActionsApi, DashboardApi, DashboardContext, DashboardFooter, DashboardHeader, DashboardMenuItem, DashboardModel, DashboardMonitor, DashboardPublisher, DashboardStage, DashboardThemeProvider, DashboardWizardModal, DashboardWrapper, ElectronDashboardApi, ErrorBoundary, ExternalWidget, GRID_CELL_WIDGET_TYPE, HARMONY_STRATEGIES, LAYOUT_LIST, LAYOUT_LIST_COMPLETE, LAYOUT_LIST_ERROR, Layout, LayoutBuilder, LayoutBuilderAddItemModal, LayoutBuilderConfigContainerMenuItem, LayoutBuilderConfigMenuItem, LayoutBuilderConfigModal, LayoutBuilderEditItemModal, LayoutBuilderEventModal, LayoutBuilderGridItem, LayoutContainer, LayoutDragBuilder, LayoutDragBuilderEdit, LayoutGridContainer, LayoutManagerModal, LayoutModel, LayoutQuickAddMenu, MCP_CALL_TOOL_COMPLETE, MCP_CALL_TOOL_ERROR, MCP_GET_CATALOG_COMPLETE, MCP_GET_CATALOG_ERROR, MCP_LIST_RESOURCES_COMPLETE, MCP_LIST_RESOURCES_ERROR, MCP_LIST_TOOLS_COMPLETE, MCP_LIST_TOOLS_ERROR, MCP_READ_RESOURCE_COMPLETE, MCP_READ_RESOURCE_ERROR, MCP_RUN_AUTH_COMPLETE, MCP_RUN_AUTH_ERROR, MCP_SERVER_STATUS_COMPLETE, MCP_SERVER_STATUS_ERROR, MCP_START_SERVER_COMPLETE, MCP_START_SERVER_ERROR, MCP_STOP_SERVER_COMPLETE, MCP_STOP_SERVER_ERROR, MENU_ITEMS_DELETE, MENU_ITEMS_DELETE_COMPLETE, MENU_ITEMS_DELETE_ERROR, MENU_ITEMS_LIST, MENU_ITEMS_LIST_COMPLETE, MENU_ITEMS_LIST_ERROR, MENU_ITEMS_SAVE, MENU_ITEMS_SAVE_COMPLETE, MENU_ITEMS_SAVE_ERROR, MainMenu, MainMenuItem, MainMenuSection, MarkdownFormEditor, McpServerPicker, MenuItemModel, MenuSlideOverlay, MergeCellsModal, MessageBubble, MissingProviderPrompt, MockDashboardApi, PROVIDER_DELETE_COMPLETE, PROVIDER_DELETE_ERROR, PROVIDER_GET_COMPLETE, PROVIDER_GET_ERROR, PROVIDER_LIST_COMPLETE, PROVIDER_LIST_ERROR, PROVIDER_SAVE_COMPLETE, PROVIDER_SAVE_ERROR, PageTabBar, PanelCode, PanelEditItem, PanelEditItemHandlers, PanelEditItemNotifications, PanelEditItemProviders, PinnedSidebar, ProviderContext, ProviderErrorBoundary, ProviderForm, ProviderSelector, SECURE_STORAGE_ENCRYPT_STRING, SECURE_STORAGE_ENCRYPT_STRING_COMPLETE, SECURE_STORAGE_ENCRYPT_STRING_ERROR, SECURE_STORE_ENCRYPTION_CHECK, SECURE_STORE_ENCRYPTION_CHECK_COMPLETE, SECURE_STORE_ENCRYPTION_CHECK_ERROR, SECURE_STORE_GET_DATA, SECURE_STORE_GET_DATA_COMPLETE, SECURE_STORE_GET_DATA_ERROR, SECURE_STORE_SET_DATA, SECURE_STORE_SET_DATA_COMPLETE, SECURE_STORE_SET_DATA_ERROR, SETTINGS_GET, SETTINGS_GET_COMPLETE, SETTINGS_GET_ERROR, SETTINGS_SAVE, SETTINGS_SAVE_COMPLETE, SETTINGS_SAVE_ERROR, SIDEBAR_WIDGET_TYPE, SettingsModel, SideMenu, SplitCellModal, StreamingText, THEME_DELETE, THEME_DELETE_COMPLETE, THEME_DELETE_ERROR, THEME_EXTRACT_FROM_URL, THEME_EXTRACT_FROM_URL_COMPLETE, THEME_EXTRACT_FROM_URL_ERROR, THEME_LIST, THEME_LIST_COMPLETE, THEME_LIST_ERROR, THEME_MAP_PALETTE, THEME_MAP_PALETTE_COMPLETE, THEME_MAP_PALETTE_ERROR, THEME_SAVE, THEME_SAVE_COMPLETE, THEME_SAVE_ERROR, ThemeApi, ThemeColorDots, ThemeManagerModal, ThemeModel, ThemeWrapper, ToolCallBlock, ToolSelector, WELCOME_STORAGE_KEY, WORKSPACE_DELETE, WORKSPACE_DELETE_COMPLETE, WORKSPACE_DELETE_ERROR, WORKSPACE_LIST, WORKSPACE_LIST_COMPLETE, WORKSPACE_LIST_ERROR, WORKSPACE_SAVE, WORKSPACE_SAVE_COMPLETE, WORKSPACE_SAVE_ERROR, WebDashboardApi, WelcomePrompt, Widget, WidgetApi, WidgetConfigPanel, WidgetContext, WidgetFactory, WidgetNotFound, WidgetPopoutStage, WidgetProviderWrapper, WidgetSidebar, WizardCustomizeStep, WizardDiscoverStep, Workspace, WorkspaceContext, WorkspaceFooter, WorkspaceMenu, WorkspaceModel, WorkspaceScopeContext, addChildToLayoutItem, addItemToItemLayout, bareComponentName, buildMcpConfigFromOverrides, canHaveChildren, changeDirectionForLayoutItem, computeDashboardPreflight, createProviderRegistry, deriveFormFields, envMappingToRows, evaluateBundle, extractWidgetConfigs, formStateToMcpJson, formatFieldName, generateCustomTheme, generateHarmonyTheme, generateRandomTheme, generateThemeName, getBorderStyle, getBrandPresets, getChildrenForLayoutItem, getComponentInLayout, getContainerBorderColor, getContainerColor, getIndexOfLayoutChildrenForItem, getIndexOfLayoutItem, getLayoutItemById, getLayoutItemForWorkspace, getNearestParentWorkspace, getNextHighestId, getNextHighestItemInLayout, getNextHighestOrder, getNextHighestParentId, getNextLowestItemInLayout, getParentForLayoutItem, getParentWorkspaceForItem, getThemePresets, getUserConfigurableProviders, getWidgetsForWorkspace, getWorkspacesForWorkspace, headerTemplateToRows, humanizeAction, isContainer, isLikelySecret, isMaxOrderForItem, isMinOrderForItem, isWidget, isWidgetResolvable, isWorkspace, layoutItemHasWorkspaceAsChild, loadWidgetBundle, makeScopedComponentId, mcpJsonToFormState, moveWidgetAcrossContainers, numChildrenForLayout, parse, parseScopedComponentId, removeItemFromLayout, renderComponent, renderGridLayout, renderGridLayoutFlow, _renderLayout as renderLayout, renderLayoutMenu, replaceItemInLayout, resolveIcon, serialize, setHostModules, traverseParentTree, updateLayoutItem, updateParentForItem, useDashboard, useMcpDashServer, useMcpProvider, useNotifications, useProvider, useProviderClient, useScheduler, useWebSocketProvider, useWidgetEvents, useWidgetProviders, useWidgetRegistryVersion, useWidgetSchedulerStatus, useWizardState, validateCellMerge, validateGridCell, validateGridPlacement, validateWidgetPlacement, widgetCountToTemplate, withProviderDetection };
|
|
66416
66567
|
//# sourceMappingURL=index.esm.js.map
|