remoraid 2.45.0 → 3.3.2

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.
@@ -5756,6 +5756,8 @@ var isIcon = (value) => {
5756
5756
  import { px, rgba, useMantineTheme } from "@mantine/core";
5757
5757
  import {
5758
5758
  IconAlertCircle,
5759
+ IconArrowLeft,
5760
+ IconArrowRight,
5759
5761
  IconCircleCheck,
5760
5762
  IconInfoCircle
5761
5763
  } from "@tabler/icons-react";
@@ -5866,6 +5868,18 @@ var createRemoraidTheme = (customTheme, dependencies) => {
5866
5868
  ["medium" /* Medium */]: { size: 24, stroke: 1.7 },
5867
5869
  ["large" /* Large */]: { size: 28, stroke: 1.7 },
5868
5870
  ["huge" /* Huge */]: { size: 44, stroke: 1.7 }
5871
+ },
5872
+ Scroller: {
5873
+ edgeGradientColor: "transparent",
5874
+ className: "remoraid-masked-scroller",
5875
+ startControlIcon: /* @__PURE__ */ jsx3(IconArrowLeft, {
5876
+ size: "var(--remoraid-icon-size-extraSmall)",
5877
+ stroke: "var(--remoraid-icon-stroke-extraSmall)"
5878
+ }),
5879
+ endControlIcon: /* @__PURE__ */ jsx3(IconArrowRight, {
5880
+ size: "var(--remoraid-icon-size-extraSmall)",
5881
+ stroke: "var(--remoraid-icon-stroke-extraSmall)"
5882
+ })
5869
5883
  }
5870
5884
  }
5871
5885
  };
@@ -5877,7 +5891,8 @@ var getCssVars = (theme) => {
5877
5891
  transitionDurations,
5878
5892
  primaryGutter,
5879
5893
  containerSize,
5880
- transparentBackground
5894
+ transparentBackground,
5895
+ componentsProps: { icons }
5881
5896
  } = theme;
5882
5897
  return {
5883
5898
  "--mantine-color-body": bodyColor,
@@ -5889,6 +5904,11 @@ var getCssVars = (theme) => {
5889
5904
  ...Object.entries(transitionDurations).reduce((t, [key, value]) => ({
5890
5905
  ...t,
5891
5906
  [`--remoraid-transition-duration-${key}`]: `${value}ms`
5907
+ }), {}),
5908
+ ...Object.entries(icons).reduce((t, [key, { size, stroke }]) => ({
5909
+ ...t,
5910
+ [`--remoraid-icon-size-${key}`]: typeof size === "number" ? `${size}px` : size,
5911
+ [`--remoraid-icon-stroke-${key}`]: `${stroke}`
5892
5912
  }), {})
5893
5913
  };
5894
5914
  };
@@ -6451,7 +6471,7 @@ function FooterMinimal({
6451
6471
  ...componentsProps?.container,
6452
6472
  children: /* @__PURE__ */ jsx13(Center, {
6453
6473
  children: /* @__PURE__ */ jsx13(Icon2, {
6454
- color: "var(--mantine-color-default-border)",
6474
+ color: "var(--mantine-color-disabled)",
6455
6475
  ...theme.componentsProps.icons.huge,
6456
6476
  ...componentsProps?.icon
6457
6477
  })
@@ -6513,7 +6533,7 @@ var import_lodash8 = __toESM(require_lodash(), 1);
6513
6533
  // src/core/components/AppShell/Navbar/NavbarMinimal/NavbarMinimalContent/NavigationMenu/index.tsx
6514
6534
  import {
6515
6535
  Box as Box2,
6516
- Menu,
6536
+ Menu as MantineMenu,
6517
6537
  Transition,
6518
6538
  useMantineTheme as useMantineTheme2
6519
6539
  } from "@mantine/core";
@@ -6529,10 +6549,10 @@ function NavigationMenu({
6529
6549
  const mantineTheme = useMantineTheme2();
6530
6550
  const router = useRemoraidRouter();
6531
6551
  const { pathname } = router;
6532
- const item = (element) => /* @__PURE__ */ jsx15(Transition, {
6533
- mounted: element.mounted ?? true,
6534
- ...componentsProps?.transition,
6535
- children: (transitionStyle) => /* @__PURE__ */ jsx15(Menu.Item, {
6552
+ const item = (element, style) => {
6553
+ const isLeaf2 = element.children === undefined || element.children.length === 0;
6554
+ const Menu2 = isLeaf2 ? MantineMenu : MantineMenu.Sub;
6555
+ return /* @__PURE__ */ jsx15(Menu2.Item, {
6536
6556
  leftSection: element.icon ? /* @__PURE__ */ jsx15(element.icon, {
6537
6557
  ...theme.componentsProps.icons.small
6538
6558
  }) : undefined,
@@ -6545,36 +6565,48 @@ function NavigationMenu({
6545
6565
  element.onClick(e);
6546
6566
  }
6547
6567
  },
6548
- style: transitionStyle,
6568
+ style,
6549
6569
  children: element.label
6550
- })
6551
- });
6552
- const targetElement = isValidElement2(target) ? target : item(target);
6553
- if (elements === undefined || elements.length === 0) {
6554
- return targetElement;
6555
- }
6556
- return /* @__PURE__ */ jsxs2(Menu, {
6557
- trigger: "click-hover",
6558
- ...componentsProps?.Menu,
6559
- children: [
6560
- /* @__PURE__ */ jsx15(Menu.Target, {
6561
- children: /* @__PURE__ */ jsx15(Box2, {
6562
- children: targetElement
6563
- })
6564
- }),
6565
- /* @__PURE__ */ jsxs2(Menu.Dropdown, {
6570
+ });
6571
+ };
6572
+ const isRoot = isValidElement2(target);
6573
+ const isLeaf = elements === undefined || elements.length === 0;
6574
+ const Menu = isRoot ? MantineMenu : MantineMenu.Sub;
6575
+ const menuProps = isRoot ? { trigger: "click-hover", ...componentsProps?.Menu } : { ...componentsProps?.MenuSub };
6576
+ return /* @__PURE__ */ jsx15(Transition, {
6577
+ mounted: isRoot ? true : target.mounted ?? true,
6578
+ ...componentsProps?.transition,
6579
+ children: (transitionStyle) => {
6580
+ if (isLeaf) {
6581
+ if (isRoot) {
6582
+ return target;
6583
+ }
6584
+ return item(target, transitionStyle);
6585
+ }
6586
+ return /* @__PURE__ */ jsxs2(Menu, {
6587
+ ...menuProps,
6566
6588
  children: [
6567
- label !== undefined && /* @__PURE__ */ jsx15(Menu.Label, {
6568
- children: label
6589
+ /* @__PURE__ */ jsx15(Menu.Target, {
6590
+ children: isRoot ? /* @__PURE__ */ jsx15(Box2, {
6591
+ ...componentsProps?.rootTargetContainer,
6592
+ children: target
6593
+ }) : item(target, transitionStyle)
6569
6594
  }),
6570
- elements.map((element, i) => /* @__PURE__ */ jsx15(NavigationMenu, {
6571
- target: item(element),
6572
- elements: element.children,
6573
- componentsProps
6574
- }, `navigation-menu-${i}`))
6595
+ /* @__PURE__ */ jsxs2(Menu.Dropdown, {
6596
+ children: [
6597
+ label !== undefined && /* @__PURE__ */ jsx15(MantineMenu.Label, {
6598
+ children: label
6599
+ }),
6600
+ elements.map((element, i) => /* @__PURE__ */ jsx15(NavigationMenu, {
6601
+ target: element,
6602
+ elements: element.children,
6603
+ componentsProps
6604
+ }, `navigation-menu-${i}`))
6605
+ ]
6606
+ })
6575
6607
  ]
6576
- })
6577
- ]
6608
+ });
6609
+ }
6578
6610
  });
6579
6611
  }
6580
6612
 
@@ -7378,7 +7410,7 @@ import {
7378
7410
  Chip as Chip2,
7379
7411
  Divider,
7380
7412
  Flex as Flex2,
7381
- Menu as Menu2,
7413
+ Menu,
7382
7414
  Text,
7383
7415
  useMantineTheme as useMantineTheme3
7384
7416
  } from "@mantine/core";
@@ -7434,25 +7466,30 @@ import { useEffect as useEffect6, useRef as useRef3, useState as useState8 } fro
7434
7466
  import {
7435
7467
  Chip,
7436
7468
  Flex,
7437
- ScrollArea as ScrollArea3
7469
+ Scroller
7438
7470
  } from "@mantine/core";
7471
+ var import_lodash14 = __toESM(require_lodash(), 1);
7439
7472
  import { jsx as jsx26 } from "react/jsx-runtime";
7440
7473
  function ScrollableChipGroup({
7441
7474
  value,
7442
- ref,
7443
7475
  onChange,
7444
7476
  gap = "xs",
7445
7477
  componentsProps,
7446
7478
  children
7447
7479
  }) {
7448
- return /* @__PURE__ */ jsx26(ScrollArea3, {
7449
- ref,
7450
- ...componentsProps?.ScrollArea,
7451
- style: { contain: "inline-size", ...componentsProps?.ScrollArea?.style },
7480
+ const theme = useRemoraidTheme();
7481
+ return /* @__PURE__ */ jsx26(Scroller, {
7482
+ ...theme.componentsProps?.Scroller,
7483
+ ...componentsProps?.Scroller,
7484
+ className: clsx_default("remoraid-masked-scroller", theme.componentsProps?.Scroller?.className, componentsProps?.Scroller?.className),
7485
+ style: import_lodash14.merge({ contain: "inline-size" }, theme.componentsProps?.Scroller?.style, componentsProps?.Scroller?.style),
7486
+ attributes: import_lodash14.merge({
7487
+ container: { "data-remoraid-scroller-container": true }
7488
+ }, theme.componentsProps?.Scroller?.attributes, componentsProps?.Scroller?.attributes),
7452
7489
  children: /* @__PURE__ */ jsx26(Chip.Group, {
7453
7490
  value,
7454
7491
  onChange,
7455
- ...componentsProps?.chipGroup,
7492
+ ...componentsProps?.ChipGroup,
7456
7493
  multiple: true,
7457
7494
  children: /* @__PURE__ */ jsx26(Flex, {
7458
7495
  justify: "flex-start",
@@ -7467,12 +7504,12 @@ function ScrollableChipGroup({
7467
7504
  }
7468
7505
 
7469
7506
  // src/core/components/WidgetSelectionHeader/index.tsx
7470
- var import_lodash14 = __toESM(require_lodash(), 1);
7507
+ var import_lodash15 = __toESM(require_lodash(), 1);
7471
7508
  import { jsx as jsx27, jsxs as jsxs8 } from "react/jsx-runtime";
7472
7509
  function WidgetSelectionHeader({
7473
7510
  title,
7474
7511
  pinnableSection = "top" /* Top */,
7475
- initiallyPinned = true,
7512
+ initiallyPinned: initiallyPinnedProp,
7476
7513
  disabledWidgets,
7477
7514
  componentsProps
7478
7515
  }) {
@@ -7488,6 +7525,7 @@ function WidgetSelectionHeader({
7488
7525
  if (!page) {
7489
7526
  throw new InvalidComponentUsageError("WidgetSelectionHeader", "must be used as child of 'Page'.");
7490
7527
  }
7528
+ const initiallyPinned = pinnableSection ? initiallyPinnedProp ?? true : false;
7491
7529
  const [hover, setHover] = useState8(false);
7492
7530
  const [isPinned, setIsPinned] = useState8(initiallyPinned);
7493
7531
  const handleEnter = () => {
@@ -7496,7 +7534,7 @@ function WidgetSelectionHeader({
7496
7534
  const handleLeave = () => {
7497
7535
  setHover(false);
7498
7536
  };
7499
- const scrollAreaRef = useRef3(null);
7537
+ const containerRef = useRef3(null);
7500
7538
  const widgets = widgetsContext2.widgets[page.pageId] ?? {};
7501
7539
  const selectedWidgets = Object.entries(widgets).reduce((t, [widgetId, widget]) => widget?.selected ? [...t, widgetId] : t, []);
7502
7540
  const element = /* @__PURE__ */ jsxs8(Flex2, {
@@ -7504,6 +7542,7 @@ function WidgetSelectionHeader({
7504
7542
  align: "center",
7505
7543
  gap: "md",
7506
7544
  ...componentsProps?.container,
7545
+ ref: containerRef,
7507
7546
  onMouseEnter: (e) => {
7508
7547
  if (!pinnableSection) {
7509
7548
  handleEnter();
@@ -7514,13 +7553,14 @@ function WidgetSelectionHeader({
7514
7553
  if (!pinnableSection) {
7515
7554
  handleLeave();
7516
7555
  }
7517
- componentsProps?.container?.onMouseEnter?.(e);
7556
+ componentsProps?.container?.onMouseLeave?.(e);
7518
7557
  },
7519
7558
  className: clsx_default(!pinnableSection ? "remoraid-non-widget-segment" : undefined, !pinnableSection ? "remoraid-segment" : undefined, componentsProps?.container?.className),
7520
7559
  children: [
7521
7560
  /* @__PURE__ */ jsx27(Text, {
7522
7561
  size: "md",
7523
7562
  ...componentsProps?.title,
7563
+ style: { whiteSpace: "nowrap", ...componentsProps?.title?.style },
7524
7564
  children: title ?? page.name
7525
7565
  }),
7526
7566
  /* @__PURE__ */ jsx27(Divider, {
@@ -7529,22 +7569,26 @@ function WidgetSelectionHeader({
7529
7569
  }),
7530
7570
  isPageRegistered(page.pageId) && /* @__PURE__ */ jsx27(ScrollableChipGroup, {
7531
7571
  value: selectedWidgets,
7532
- ref: scrollAreaRef,
7533
7572
  ...componentsProps?.ScrollableChipGroup,
7534
7573
  onChange: (value) => {
7535
7574
  updateWidgetSelectionBulk(page.pageId, value);
7536
7575
  componentsProps?.ScrollableChipGroup?.onChange?.(value);
7537
7576
  },
7538
- componentsProps: import_lodash14.merge({ ScrollArea: { flex: 1 } }, componentsProps?.ScrollableChipGroup?.componentsProps),
7577
+ componentsProps: import_lodash15.merge({
7578
+ Scroller: {
7579
+ flex: 1,
7580
+ miw: 0
7581
+ }
7582
+ }, componentsProps?.ScrollableChipGroup?.componentsProps),
7539
7583
  children: Object.entries(widgets).map(([widgetId, widget]) => {
7540
7584
  if (!widget) {
7541
7585
  return;
7542
7586
  }
7543
- return /* @__PURE__ */ jsxs8(Menu2, {
7587
+ return /* @__PURE__ */ jsxs8(Menu, {
7544
7588
  trigger: "hover",
7545
7589
  ...componentsProps?.widgetMenu,
7546
7590
  children: [
7547
- /* @__PURE__ */ jsx27(Menu2.Target, {
7591
+ /* @__PURE__ */ jsx27(Menu.Target, {
7548
7592
  children: /* @__PURE__ */ jsx27(Box6, {
7549
7593
  children: /* @__PURE__ */ jsx27(Chip2, {
7550
7594
  variant: selectedWidgets.includes(widgetId) ? "filled" : "outline",
@@ -7556,19 +7600,22 @@ function WidgetSelectionHeader({
7556
7600
  ...theme.componentsProps.icons.extraSmall
7557
7601
  }),
7558
7602
  ...componentsProps?.Chip,
7559
- styles: import_lodash14.merge({
7603
+ styles: import_lodash15.merge({
7560
7604
  label: {
7561
7605
  transition: "background-color var(--remoraid-transition-duration-short)"
7562
7606
  }
7563
7607
  }, componentsProps?.Chip?.styles),
7564
- id: `remoraid-widget-selection-header-chip-${widgetId}`,
7608
+ wrapperProps: {
7609
+ ...componentsProps?.Chip?.wrapperProps,
7610
+ id: `remoraid-widget-selection-header-chip-${widgetId}`
7611
+ },
7565
7612
  children: widget.name
7566
7613
  })
7567
7614
  })
7568
7615
  }),
7569
- /* @__PURE__ */ jsxs8(Menu2.Dropdown, {
7616
+ /* @__PURE__ */ jsxs8(Menu.Dropdown, {
7570
7617
  children: [
7571
- /* @__PURE__ */ jsx27(Menu2.Item, {
7618
+ /* @__PURE__ */ jsx27(Menu.Item, {
7572
7619
  leftSection: /* @__PURE__ */ jsx27(IconNavigation, {
7573
7620
  ...theme.componentsProps.icons.small
7574
7621
  }),
@@ -7579,7 +7626,7 @@ function WidgetSelectionHeader({
7579
7626
  disabled: !widget.selected,
7580
7627
  children: "Scroll to widget"
7581
7628
  }),
7582
- /* @__PURE__ */ jsx27(Menu2.Item, {
7629
+ /* @__PURE__ */ jsx27(Menu.Item, {
7583
7630
  leftSection: /* @__PURE__ */ jsx27(IconFocus, {
7584
7631
  ...theme.componentsProps.icons.small
7585
7632
  }),
@@ -7602,19 +7649,20 @@ function WidgetSelectionHeader({
7602
7649
  if (!activeWidget) {
7603
7650
  return;
7604
7651
  }
7605
- if (!isPinned) {
7652
+ if (!containerRef?.current) {
7606
7653
  return;
7607
7654
  }
7608
- if (!scrollAreaRef?.current) {
7655
+ const activeWidgetChipElement = containerRef.current.querySelector(`#remoraid-widget-selection-header-chip-${activeWidget}`);
7656
+ if (!activeWidgetChipElement) {
7609
7657
  return;
7610
7658
  }
7611
- const activeWidgetChipElement = scrollAreaRef.current.querySelector(`#remoraid-widget-selection-header-chip-${activeWidget}`);
7612
- if (!activeWidgetChipElement) {
7659
+ const scrollContainerElement = activeWidgetChipElement.closest("[data-remoraid-scroller-container]");
7660
+ if (!scrollContainerElement) {
7613
7661
  return;
7614
7662
  }
7615
- activeWidgetChipElement.scrollIntoView({
7616
- behavior: "smooth",
7617
- inline: "center"
7663
+ scrollContainerElement.scrollTo({
7664
+ left: activeWidgetChipElement.offsetLeft - scrollContainerElement.clientWidth / 2 + activeWidgetChipElement.clientWidth / 2,
7665
+ behavior: "smooth"
7618
7666
  });
7619
7667
  }, [activeWidget]);
7620
7668
  if (pinnableSection) {
@@ -7708,7 +7756,7 @@ function BadgeMinimal({
7708
7756
  }
7709
7757
 
7710
7758
  // src/core/components/BadgeGroup/index.tsx
7711
- var import_lodash15 = __toESM(require_lodash(), 1);
7759
+ var import_lodash16 = __toESM(require_lodash(), 1);
7712
7760
  import { jsx as jsx29, jsxs as jsxs9, Fragment as Fragment2 } from "react/jsx-runtime";
7713
7761
  import { createElement } from "react";
7714
7762
  function BadgeGroup({
@@ -7756,7 +7804,7 @@ function BadgeGroup({
7756
7804
  ...componentsProps?.cumulativeBadge,
7757
7805
  style: {
7758
7806
  cursor: "pointer",
7759
- ...import_lodash15.merge(transitionStyle, componentsProps?.cumulativeBadge?.style)
7807
+ ...import_lodash16.merge(transitionStyle, componentsProps?.cumulativeBadge?.style)
7760
7808
  },
7761
7809
  children: [
7762
7810
  numVisibleBadges,
@@ -7780,7 +7828,7 @@ function BadgeGroup({
7780
7828
  }
7781
7829
  // src/core/components/AlertMinimal/index.tsx
7782
7830
  import { Alert, Transition as Transition7 } from "@mantine/core";
7783
- var import_lodash16 = __toESM(require_lodash(), 1);
7831
+ var import_lodash17 = __toESM(require_lodash(), 1);
7784
7832
  import { jsx as jsx30, jsxs as jsxs10 } from "react/jsx-runtime";
7785
7833
  function AlertMinimal({
7786
7834
  category,
@@ -7797,7 +7845,7 @@ function AlertMinimal({
7797
7845
  icon: Icon4,
7798
7846
  iconSize = "small" /* Small */,
7799
7847
  componentsProps
7800
- } = import_lodash16.merge({}, theme.componentsProps.alerts[category], props);
7848
+ } = import_lodash17.merge({}, theme.componentsProps.alerts[category], props);
7801
7849
  return /* @__PURE__ */ jsx30(Transition7, {
7802
7850
  mounted,
7803
7851
  transition: "fade",
@@ -7811,10 +7859,10 @@ function AlertMinimal({
7811
7859
  onClose,
7812
7860
  withCloseButton: onClose !== undefined,
7813
7861
  icon: Icon4 ? /* @__PURE__ */ jsx30(Icon4, {
7814
- ...import_lodash16.merge({}, theme.componentsProps.icons[iconSize], componentsProps?.icon)
7862
+ ...import_lodash17.merge({}, theme.componentsProps.icons[iconSize], componentsProps?.icon)
7815
7863
  }) : undefined,
7816
7864
  ...componentsProps?.alert,
7817
- style: import_lodash16.merge(transitionStyle, componentsProps?.alert?.style),
7865
+ style: import_lodash17.merge(transitionStyle, componentsProps?.alert?.style),
7818
7866
  children: [
7819
7867
  text,
7820
7868
  children
@@ -7831,7 +7879,7 @@ import {
7831
7879
  useState as useState9
7832
7880
  } from "react";
7833
7881
  import { IconX } from "@tabler/icons-react";
7834
- var import_lodash17 = __toESM(require_lodash(), 1);
7882
+ var import_lodash18 = __toESM(require_lodash(), 1);
7835
7883
  import { jsx as jsx31, jsxs as jsxs11 } from "react/jsx-runtime";
7836
7884
  function WidgetWrapper({
7837
7885
  config,
@@ -7902,7 +7950,7 @@ function WidgetWrapper({
7902
7950
  handleLeave(e);
7903
7951
  componentsProps?.container?.onMouseLeave?.(e);
7904
7952
  },
7905
- style: import_lodash17.merge(transitionStyle, { flexDirection: "column" }, componentsProps?.container?.style),
7953
+ style: import_lodash18.merge(transitionStyle, { flexDirection: "column" }, componentsProps?.container?.style),
7906
7954
  className: clsx_default("remoraid-segment", componentsProps?.container?.className),
7907
7955
  id: config.widgetId,
7908
7956
  children: [
@@ -7982,12 +8030,12 @@ import {
7982
8030
  Title,
7983
8031
  Stack as Stack5,
7984
8032
  Box as Box7,
7985
- ScrollArea as ScrollArea4,
8033
+ ScrollArea as ScrollArea3,
7986
8034
  Transition as Transition9,
7987
8035
  Text as Text2
7988
8036
  } from "@mantine/core";
7989
8037
  import { Children } from "react";
7990
- var import_lodash18 = __toESM(require_lodash(), 1);
8038
+ var import_lodash19 = __toESM(require_lodash(), 1);
7991
8039
  import { jsx as jsx32, jsxs as jsxs12 } from "react/jsx-runtime";
7992
8040
  import { createElement as createElement2 } from "react";
7993
8041
  function Widget({
@@ -8059,7 +8107,7 @@ function Widget({
8059
8107
  size: "sm",
8060
8108
  c: "dimmed",
8061
8109
  ...componentsProps?.description,
8062
- style: import_lodash18.merge(transitionStyle, componentsProps?.description?.style),
8110
+ style: import_lodash19.merge(transitionStyle, componentsProps?.description?.style),
8063
8111
  children: description
8064
8112
  })
8065
8113
  })
@@ -8100,7 +8148,7 @@ function Widget({
8100
8148
  });
8101
8149
  })
8102
8150
  }),
8103
- (loading || Children.toArray(children).length > 0) && /* @__PURE__ */ jsx32(ScrollArea4.Autosize, {
8151
+ (loading || Children.toArray(children).length > 0) && /* @__PURE__ */ jsx32(ScrollArea3.Autosize, {
8104
8152
  flex: 1,
8105
8153
  ...componentsProps?.childrenContainer,
8106
8154
  className: clsx_default("remoraid-widget-children-container", componentsProps?.childrenContainer?.className),
@@ -8330,7 +8378,7 @@ var SettingsTable_default = Object.assign(SettingsTable, {
8330
8378
  Row
8331
8379
  });
8332
8380
  // src/core/components/NavbarSettingsWidget/index.tsx
8333
- var import_lodash19 = __toESM(require_lodash(), 1);
8381
+ var import_lodash20 = __toESM(require_lodash(), 1);
8334
8382
  import { Select } from "@mantine/core";
8335
8383
  import { jsx as jsx39, jsxs as jsxs15 } from "react/jsx-runtime";
8336
8384
  var defaultNavbarSettingsWidgetId = "navbar-settings";
@@ -8366,7 +8414,7 @@ function NavbarSettingsWidget({
8366
8414
  navbar: initialUserExperience.navbar
8367
8415
  }));
8368
8416
  },
8369
- custom: !import_lodash19.isEqual(userExperience.navbar, initialUserExperience.navbar),
8417
+ custom: !import_lodash20.isEqual(userExperience.navbar, initialUserExperience.navbar),
8370
8418
  children: /* @__PURE__ */ jsxs15(SettingsTable_default, {
8371
8419
  ...componentsProps?.table,
8372
8420
  children: [
@@ -8424,7 +8472,7 @@ function NavbarSettingsWidget({
8424
8472
  });
8425
8473
  }
8426
8474
  // src/core/components/FooterSettingsWidget/index.tsx
8427
- var import_lodash20 = __toESM(require_lodash(), 1);
8475
+ var import_lodash21 = __toESM(require_lodash(), 1);
8428
8476
  import { Select as Select2 } from "@mantine/core";
8429
8477
  import { jsx as jsx40, jsxs as jsxs16 } from "react/jsx-runtime";
8430
8478
  var defaultFooterSettingsWidgetId = "footer-settings";
@@ -8455,7 +8503,7 @@ function FooterSettingsWidget({
8455
8503
  footer: initialUserExperience.footer
8456
8504
  }));
8457
8505
  },
8458
- custom: !import_lodash20.isEqual(userExperience.footer, initialUserExperience.footer),
8506
+ custom: !import_lodash21.isEqual(userExperience.footer, initialUserExperience.footer),
8459
8507
  children: /* @__PURE__ */ jsxs16(SettingsTable_default, {
8460
8508
  ...componentsProps?.table,
8461
8509
  children: [
@@ -8540,7 +8588,7 @@ import {
8540
8588
  Box as Box8,
8541
8589
  Input,
8542
8590
  Paper as Paper4,
8543
- ScrollArea as ScrollArea5
8591
+ ScrollArea as ScrollArea4
8544
8592
  } from "@mantine/core";
8545
8593
  import { useState as useState10 } from "react";
8546
8594
  import { jsx as jsx42 } from "react/jsx-runtime";
@@ -8574,7 +8622,7 @@ function InputWrapperScrollArea({
8574
8622
  transition: "border-color .1s",
8575
8623
  borderColor: error ? "var(--mantine-color-error)" : isHovering ? "var(--mantine-primary-color-filled)" : undefined
8576
8624
  },
8577
- children: /* @__PURE__ */ jsx42(ScrollArea5, {
8625
+ children: /* @__PURE__ */ jsx42(ScrollArea4, {
8578
8626
  mah,
8579
8627
  px: "md",
8580
8628
  flex: 1,
@@ -26,17 +26,17 @@
26
26
  --remoraid-frame-layout-gutter
27
27
  );
28
28
  &:has(
29
- > .remoraid-frame-layout-vertical-container
30
- > .remoraid-frame-layout-top-section
31
- > :not([data-hidden="true"], style)
32
- ) {
29
+ > .remoraid-frame-layout-vertical-container
30
+ > .remoraid-frame-layout-top-section
31
+ > :not([data-hidden="true"], style)
32
+ ) {
33
33
  --remoraid-frame-layout-content-section-padding-top: 0;
34
34
  }
35
35
  &:has(
36
- > .remoraid-frame-layout-vertical-container
37
- > .remoraid-frame-layout-bottom-section
38
- > :not([data-hidden="true"], style)
39
- ) {
36
+ > .remoraid-frame-layout-vertical-container
37
+ > .remoraid-frame-layout-bottom-section
38
+ > :not([data-hidden="true"], style)
39
+ ) {
40
40
  --remoraid-frame-layout-content-section-padding-bottom: 0;
41
41
  }
42
42
  }
@@ -79,14 +79,14 @@
79
79
  }
80
80
  .remoraid-widget-children-container {
81
81
  &:not(
82
- :has(
83
- > div
84
- > .mantine-ScrollArea-root
85
- > .mantine-ScrollArea-viewport
86
- > div
87
- :not([data-hidden="true"], style)
88
- )
89
- ) {
82
+ :has(
83
+ > div
84
+ > .mantine-ScrollArea-root
85
+ > .mantine-ScrollArea-viewport
86
+ > div
87
+ :not([data-hidden="true"], style)
88
+ )
89
+ ) {
90
90
  display: none !important;
91
91
  }
92
92
  }
@@ -120,3 +120,60 @@
120
120
  transform: none !important;
121
121
  }
122
122
  }
123
+ .remoraid-masked-scroller > .mantine-Scroller-container {
124
+ mask-image: none;
125
+ -webkit-mask-image: none;
126
+ }
127
+ .remoraid-masked-scroller:has(
128
+ > .mantine-Scroller-control[data-position="start"]:not([data-hidden])
129
+ )
130
+ > .mantine-Scroller-container {
131
+ mask-image: linear-gradient(
132
+ to right,
133
+ transparent,
134
+ black var(--scroller-control-size),
135
+ black 100%
136
+ );
137
+ -webkit-mask-image: linear-gradient(
138
+ to right,
139
+ transparent,
140
+ black var(--scroller-control-size),
141
+ black 100%
142
+ );
143
+ }
144
+ .remoraid-masked-scroller:has(
145
+ > .mantine-Scroller-control[data-position="end"]:not([data-hidden])
146
+ )
147
+ > .mantine-Scroller-container {
148
+ mask-image: linear-gradient(
149
+ to right,
150
+ black 0,
151
+ black calc(100% - var(--scroller-control-size)),
152
+ transparent
153
+ );
154
+ -webkit-mask-image: linear-gradient(
155
+ to right,
156
+ black 0,
157
+ black calc(100% - var(--scroller-control-size)),
158
+ transparent
159
+ );
160
+ }
161
+ .remoraid-masked-scroller:has(
162
+ > .mantine-Scroller-control[data-position="start"]:not([data-hidden])
163
+ ):has(> .mantine-Scroller-control[data-position="end"]:not([data-hidden]))
164
+ > .mantine-Scroller-container {
165
+ mask-image: linear-gradient(
166
+ to right,
167
+ transparent,
168
+ black var(--scroller-control-size),
169
+ black calc(100% - var(--scroller-control-size)),
170
+ transparent
171
+ );
172
+ -webkit-mask-image: linear-gradient(
173
+ to right,
174
+ transparent,
175
+ black var(--scroller-control-size),
176
+ black calc(100% - var(--scroller-control-size)),
177
+ transparent
178
+ );
179
+ }