remoraid 2.23.10 → 2.28.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.
@@ -5481,6 +5481,7 @@ __export(exports_core, {
5481
5481
  getCssVars: () => getCssVars,
5482
5482
  defaultUserExperienceCookieName: () => defaultUserExperienceCookieName,
5483
5483
  defaultUserExperience: () => defaultUserExperience,
5484
+ defaultTransitionDurations: () => defaultTransitionDurations,
5484
5485
  defaultSettingsWidgetOptions: () => defaultSettingsWidgetContext,
5485
5486
  defaultSettingsTableOptions: () => defaultSettingsTableOptions,
5486
5487
  defaultNavbarSettingsWidgetId: () => defaultNavbarSettingsWidgetId,
@@ -5514,6 +5515,7 @@ __export(exports_core, {
5514
5515
  NavbarVariant: () => NavbarVariant,
5515
5516
  NavbarSettingsWidget: () => NavbarSettingsWidget,
5516
5517
  LayoutType: () => LayoutType,
5518
+ InputWrapperScrollArea: () => InputWrapperScrollArea,
5517
5519
  HydrationStatusProvider: () => HydrationStatusProvider,
5518
5520
  FrameLayoutSection: () => FrameLayoutSection,
5519
5521
  FrameLayout: () => FrameLayout_default,
@@ -5603,9 +5605,15 @@ function WidgetsProvider({
5603
5605
  if (!widget) {
5604
5606
  continue;
5605
5607
  }
5608
+ const selected = selectedWidgetIds.includes(widgetId);
5609
+ const selectionChanged = widget.selected !== selected;
5610
+ if (!selectionChanged) {
5611
+ updatedPage[widgetId] = widget;
5612
+ continue;
5613
+ }
5606
5614
  updatedPage[widgetId] = {
5607
5615
  ...widget,
5608
- selected: selectedWidgetIds.includes(widgetId),
5616
+ selected,
5609
5617
  hidden: false
5610
5618
  };
5611
5619
  }
@@ -5834,13 +5842,14 @@ function HydrationStatusProvider({
5834
5842
  // src/core/components/RemoraidProvider/ThemeProvider/index.tsx
5835
5843
  var import_lodash2 = __toESM(require_lodash());
5836
5844
  var jsx_dev_runtime3 = require("react/jsx-dev-runtime");
5845
+ var defaultTransitionDurations = {
5846
+ ["short" /* Short */]: 200,
5847
+ ["medium" /* Medium */]: 350,
5848
+ ["long" /* Long */]: 500
5849
+ };
5837
5850
  var createRemoraidTheme = (customTheme, dependencies) => {
5838
5851
  const { mantineTheme, colorScheme } = dependencies ?? {};
5839
- const transitionDurations = import_lodash2.merge({
5840
- ["short" /* Short */]: 200,
5841
- ["medium" /* Medium */]: 350,
5842
- ["long" /* Long */]: 500
5843
- }, customTheme?.transitionDurations);
5852
+ const transitionDurations = import_lodash2.merge(defaultTransitionDurations, customTheme?.transitionDurations);
5844
5853
  const transparentBackground = customTheme?.transparentBackground ?? (mantineTheme && colorScheme ? colorScheme === "dark" ? import_core2.rgba(mantineTheme.colors.dark[8], 0.8) : import_core2.rgba(mantineTheme.white, 0.8) : undefined);
5845
5854
  let spacingPx;
5846
5855
  if (mantineTheme && colorScheme) {
@@ -5895,38 +5904,6 @@ var createRemoraidTheme = (customTheme, dependencies) => {
5895
5904
  size: 12,
5896
5905
  stroke: 2.6
5897
5906
  }
5898
- },
5899
- ScrollArea: {
5900
- scrollbarSize: 8,
5901
- scrollHideDelay: 20,
5902
- type: "hover"
5903
- },
5904
- HoverCard: {
5905
- shadow: "md",
5906
- withArrow: true,
5907
- transitionProps: {
5908
- transition: "pop",
5909
- duration: transitionDurations.short
5910
- },
5911
- styles: {
5912
- dropdown: { border: "none", background: transparentBackground },
5913
- arrow: { border: "none" }
5914
- }
5915
- },
5916
- Tooltip: {
5917
- withArrow: true
5918
- },
5919
- Menu: {
5920
- shadow: "md",
5921
- withArrow: true,
5922
- transitionProps: {
5923
- transition: "pop",
5924
- duration: transitionDurations.short
5925
- },
5926
- styles: {
5927
- dropdown: { border: "none", background: transparentBackground },
5928
- arrow: { border: "none" }
5929
- }
5930
5907
  }
5931
5908
  }
5932
5909
  };
@@ -6172,7 +6149,6 @@ function NavbarLink({
6172
6149
  href,
6173
6150
  indicator
6174
6151
  }) {
6175
- const theme = useRemoraidTheme();
6176
6152
  const [isHoveringRoleIndicator, setIsHoveringRoleIndicator] = import_react9.useState(false);
6177
6153
  const iconProps = {
6178
6154
  size: iconSize,
@@ -6181,7 +6157,6 @@ function NavbarLink({
6181
6157
  const Icon2 = icon ?? import_icons_react2.IconLink;
6182
6158
  if (!href) {
6183
6159
  return /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(import_core3.Tooltip, {
6184
- ...theme.componentsProps.Tooltip,
6185
6160
  label,
6186
6161
  position: "right",
6187
6162
  children: /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(import_core3.UnstyledButton, {
@@ -6209,7 +6184,6 @@ function NavbarLink({
6209
6184
  }, undefined, false, undefined, this)
6210
6185
  }, undefined, false, undefined, this);
6211
6186
  return /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(import_core3.Tooltip, {
6212
- ...theme.componentsProps.Tooltip,
6213
6187
  label,
6214
6188
  position: "right",
6215
6189
  children: indicator === undefined ? button : /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(import_core3.Indicator, {
@@ -6456,7 +6430,6 @@ function Element2({
6456
6430
  }
6457
6431
 
6458
6432
  // src/core/components/FrameLayout/index.tsx
6459
- var import_lodash5 = __toESM(require_lodash());
6460
6433
  var jsx_dev_runtime13 = require("react/jsx-dev-runtime");
6461
6434
  var layoutContext = import_react10.createContext(null);
6462
6435
  var useFrameLayout = () => {
@@ -6469,7 +6442,6 @@ function FrameLayout({
6469
6442
  componentsProps,
6470
6443
  children
6471
6444
  }) {
6472
- const theme = useRemoraidTheme();
6473
6445
  const { layouts, setLayouts } = useLayouts();
6474
6446
  const layout = layouts[layoutId];
6475
6447
  const defaultSections = import_react10.useMemo(() => ({
@@ -6571,7 +6543,7 @@ function FrameLayout({
6571
6543
  }, undefined, false, undefined, this),
6572
6544
  includeScrollArea ? /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(import_core7.ScrollArea, {
6573
6545
  flex: 1,
6574
- ...import_lodash5.merge({}, theme.componentsProps.ScrollArea, componentsProps?.ScrollArea),
6546
+ ...componentsProps?.ScrollArea,
6575
6547
  children: contentSection
6576
6548
  }, undefined, false, undefined, this) : contentSection,
6577
6549
  /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(import_core7.Stack, {
@@ -6601,7 +6573,7 @@ var FrameLayout_default = Object.assign(FrameLayout, {
6601
6573
  });
6602
6574
 
6603
6575
  // src/core/components/AppShell/index.tsx
6604
- var import_lodash6 = __toESM(require_lodash());
6576
+ var import_lodash5 = __toESM(require_lodash());
6605
6577
  var jsx_dev_runtime14 = require("react/jsx-dev-runtime");
6606
6578
  var remoraidAppShellLayoutId = "remoraid-app-shell";
6607
6579
  var defaultAppShellNavbarPositions = { ["minimal" /* Minimal */]: "left" /* Left */ };
@@ -6654,13 +6626,13 @@ function AppShell({
6654
6626
  navbarPosition !== null && /* @__PURE__ */ jsx_dev_runtime14.jsxDEV(FrameLayout_default.Element, {
6655
6627
  section: navbarPosition,
6656
6628
  includeContainer: false,
6657
- ...import_lodash6.merge(navbarLayoutElementProps, componentsProps?.navbarLayoutElement),
6629
+ ...import_lodash5.merge(navbarLayoutElementProps, componentsProps?.navbarLayoutElement),
6658
6630
  children: navbar
6659
6631
  }, undefined, false, undefined, this),
6660
6632
  children,
6661
6633
  footerPosition !== null && /* @__PURE__ */ jsx_dev_runtime14.jsxDEV(FrameLayout_default.Element, {
6662
6634
  section: footerPosition,
6663
- ...import_lodash6.merge(footerLayoutElementProps, componentsProps?.footerLayoutElement),
6635
+ ...import_lodash5.merge(footerLayoutElementProps, componentsProps?.footerLayoutElement),
6664
6636
  children: footer
6665
6637
  }, undefined, false, undefined, this)
6666
6638
  ]
@@ -6722,7 +6694,6 @@ var import_react14 = require("react");
6722
6694
 
6723
6695
  // src/core/components/ScrollableChipGroup/index.tsx
6724
6696
  var import_core10 = require("@mantine/core");
6725
- var import_lodash7 = __toESM(require_lodash());
6726
6697
  var jsx_dev_runtime16 = require("react/jsx-dev-runtime");
6727
6698
  function ScrollableChipGroup({
6728
6699
  value,
@@ -6732,10 +6703,10 @@ function ScrollableChipGroup({
6732
6703
  componentsProps,
6733
6704
  children
6734
6705
  }) {
6735
- const theme = useRemoraidTheme();
6736
6706
  return /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(import_core10.ScrollArea, {
6737
6707
  ref,
6738
- ...import_lodash7.merge({}, theme.componentsProps.ScrollArea, { style: { contain: "inline-size" } }, componentsProps?.ScrollArea),
6708
+ ...componentsProps?.ScrollArea,
6709
+ style: { contain: "inline-size", ...componentsProps?.ScrollArea?.style },
6739
6710
  children: /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(import_core10.Chip.Group, {
6740
6711
  value,
6741
6712
  onChange,
@@ -6754,7 +6725,7 @@ function ScrollableChipGroup({
6754
6725
  }
6755
6726
 
6756
6727
  // src/core/components/WidgetSelectionHeader/index.tsx
6757
- var import_lodash10 = __toESM(require_lodash());
6728
+ var import_lodash8 = __toESM(require_lodash());
6758
6729
 
6759
6730
  // src/core/components/Pinnable/index.tsx
6760
6731
  var import_react13 = require("react");
@@ -6764,7 +6735,7 @@ var import_core13 = require("@mantine/core");
6764
6735
  // src/core/components/Controls/ControlButton/index.tsx
6765
6736
  var import_core11 = require("@mantine/core");
6766
6737
  var import_icons_react4 = require("@tabler/icons-react");
6767
- var import_lodash8 = __toESM(require_lodash());
6738
+ var import_lodash6 = __toESM(require_lodash());
6768
6739
  var jsx_dev_runtime17 = require("react/jsx-dev-runtime");
6769
6740
  function ControlButton({
6770
6741
  icon: Icon3 = import_icons_react4.IconClick,
@@ -6785,7 +6756,9 @@ function ControlButton({
6785
6756
  timingFunction: "ease",
6786
6757
  ...componentsProps?.transition,
6787
6758
  children: (transitionStyle) => /* @__PURE__ */ jsx_dev_runtime17.jsxDEV(import_core11.Tooltip, {
6788
- ...import_lodash8.merge({}, theme.componentsProps.Tooltip, { label: tooltip, disabled: !Boolean(tooltip) }, componentsProps?.tooltip),
6759
+ label: tooltip,
6760
+ disabled: !Boolean(tooltip),
6761
+ ...componentsProps?.tooltip,
6789
6762
  children: /* @__PURE__ */ jsx_dev_runtime17.jsxDEV(import_core11.ActionIcon, {
6790
6763
  "data-control-button": true,
6791
6764
  size,
@@ -6795,10 +6768,10 @@ function ControlButton({
6795
6768
  ...componentsProps?.button,
6796
6769
  style: {
6797
6770
  order,
6798
- ...import_lodash8.merge(transitionStyle, componentsProps?.button?.style)
6771
+ ...import_lodash6.merge(transitionStyle, componentsProps?.button?.style)
6799
6772
  },
6800
6773
  children: /* @__PURE__ */ jsx_dev_runtime17.jsxDEV(Icon3, {
6801
- ...import_lodash8.merge({}, theme.componentsProps.icons[iconSize], componentsProps?.icon)
6774
+ ...import_lodash6.merge({}, theme.componentsProps.icons[iconSize], componentsProps?.icon)
6802
6775
  }, undefined, false, undefined, this)
6803
6776
  }, undefined, false, undefined, this)
6804
6777
  }, undefined, false, undefined, this)
@@ -6809,7 +6782,7 @@ function ControlButton({
6809
6782
  var import_react12 = require("react");
6810
6783
  var import_core12 = require("@mantine/core");
6811
6784
  var import_icons_react5 = require("@tabler/icons-react");
6812
- var import_lodash9 = __toESM(require_lodash());
6785
+ var import_lodash7 = __toESM(require_lodash());
6813
6786
  var jsx_dev_runtime18 = require("react/jsx-dev-runtime");
6814
6787
  function Controls({
6815
6788
  groupRef,
@@ -6888,7 +6861,7 @@ function Controls({
6888
6861
  style: {
6889
6862
  right: pos.x,
6890
6863
  top: pos.y,
6891
- ...import_lodash9.merge(transitionStyle, componentsProps?.container?.style)
6864
+ ...import_lodash7.merge(transitionStyle, componentsProps?.container?.style)
6892
6865
  },
6893
6866
  className: clsx_default("remoraid-controls", componentsProps?.container?.className),
6894
6867
  children: /* @__PURE__ */ jsx_dev_runtime18.jsxDEV(import_core12.Group, {
@@ -6899,7 +6872,7 @@ function Controls({
6899
6872
  className: clsx_default("remoraid-controls-group", componentsProps?.group?.className),
6900
6873
  children: [
6901
6874
  /* @__PURE__ */ jsx_dev_runtime18.jsxDEV(import_icons_react5.IconGripHorizontal, {
6902
- ...import_lodash9.merge({}, theme.componentsProps.icons[iconSize], { order: -100, color: "var(--mantine-color-default-border)" }, componentsProps?.gripIcon)
6875
+ ...import_lodash7.merge({}, theme.componentsProps.icons[iconSize], { order: -100, color: "var(--mantine-color-default-border)" }, componentsProps?.gripIcon)
6903
6876
  }, undefined, false, undefined, this),
6904
6877
  children,
6905
6878
  additionalButtons && additionalButtons.map((button, i) => {
@@ -6951,6 +6924,7 @@ function Pinnable({
6951
6924
  pos: "relative",
6952
6925
  ref: containerRef,
6953
6926
  "data-hidden": hidden,
6927
+ h: "100%",
6954
6928
  ...componentsProps?.container,
6955
6929
  className: clsx_default("remoraid-pinnable", componentsProps?.container?.className),
6956
6930
  children: [
@@ -7002,6 +6976,7 @@ function WidgetSelectionHeader({
7002
6976
  throw new InvalidComponentUsageError("WidgetSelectionHeader", "must be used as child of 'Page'.");
7003
6977
  }
7004
6978
  const [hover, setHover] = import_react14.useState(false);
6979
+ const [isPinned, setIsPinned] = import_react14.useState(initiallyPinned);
7005
6980
  const handleEnter = () => {
7006
6981
  setHover(true);
7007
6982
  };
@@ -7046,13 +7021,14 @@ function WidgetSelectionHeader({
7046
7021
  updateWidgetSelectionBulk(page.pageId, value);
7047
7022
  componentsProps?.ScrollableChipGroup?.onChange?.(value);
7048
7023
  },
7049
- componentsProps: import_lodash10.merge({ ScrollArea: { flex: 1 } }, componentsProps?.ScrollableChipGroup?.componentsProps),
7024
+ componentsProps: import_lodash8.merge({ ScrollArea: { flex: 1 } }, componentsProps?.ScrollableChipGroup?.componentsProps),
7050
7025
  children: Object.entries(widgets).map(([widgetId, widget]) => {
7051
7026
  if (!widget) {
7052
7027
  return;
7053
7028
  }
7054
7029
  return /* @__PURE__ */ jsx_dev_runtime20.jsxDEV(import_core14.Menu, {
7055
- ...import_lodash10.merge({}, theme.componentsProps.Menu, { trigger: "hover" }, componentsProps?.widgetMenu),
7030
+ trigger: "hover",
7031
+ ...componentsProps?.widgetMenu,
7056
7032
  children: [
7057
7033
  /* @__PURE__ */ jsx_dev_runtime20.jsxDEV(import_core14.Menu.Target, {
7058
7034
  children: /* @__PURE__ */ jsx_dev_runtime20.jsxDEV(import_core14.Box, {
@@ -7066,7 +7042,7 @@ function WidgetSelectionHeader({
7066
7042
  ...theme.componentsProps.icons.small
7067
7043
  }, undefined, false, undefined, this),
7068
7044
  ...componentsProps?.Chip,
7069
- styles: import_lodash10.merge({
7045
+ styles: import_lodash8.merge({
7070
7046
  label: {
7071
7047
  transition: "background-color var(--remoraid-transition-duration-short)"
7072
7048
  }
@@ -7078,9 +7054,6 @@ function WidgetSelectionHeader({
7078
7054
  }, undefined, false, undefined, this),
7079
7055
  /* @__PURE__ */ jsx_dev_runtime20.jsxDEV(import_core14.Menu.Dropdown, {
7080
7056
  children: [
7081
- /* @__PURE__ */ jsx_dev_runtime20.jsxDEV(import_core14.Menu.Label, {
7082
- children: "Widget menu"
7083
- }, undefined, false, undefined, this),
7084
7057
  /* @__PURE__ */ jsx_dev_runtime20.jsxDEV(import_core14.Menu.Item, {
7085
7058
  leftSection: /* @__PURE__ */ jsx_dev_runtime20.jsxDEV(import_icons_react7.IconNavigation, {
7086
7059
  ...theme.componentsProps.icons.small
@@ -7115,7 +7088,13 @@ function WidgetSelectionHeader({
7115
7088
  if (!activeWidget) {
7116
7089
  return;
7117
7090
  }
7118
- const activeWidgetChipElement = scrollAreaRef?.current?.querySelector(`#remoraid-widget-selection-header-chip-${activeWidget}`);
7091
+ if (!isPinned) {
7092
+ return;
7093
+ }
7094
+ if (!scrollAreaRef?.current) {
7095
+ return;
7096
+ }
7097
+ const activeWidgetChipElement = scrollAreaRef.current.querySelector(`#remoraid-widget-selection-header-chip-${activeWidget}`);
7119
7098
  if (!activeWidgetChipElement) {
7120
7099
  return;
7121
7100
  }
@@ -7146,6 +7125,7 @@ function WidgetSelectionHeader({
7146
7125
  button: {
7147
7126
  ...componentsProps?.Pinnable?.componentsProps?.button,
7148
7127
  onClick: (e) => {
7128
+ setIsPinned(!isPinned);
7149
7129
  handleLeave();
7150
7130
  componentsProps?.Pinnable?.componentsProps?.button?.onClick?.(e);
7151
7131
  }
@@ -7171,7 +7151,6 @@ var import_react15 = __toESM(require("react"));
7171
7151
 
7172
7152
  // src/core/components/BadgeMinimal/index.tsx
7173
7153
  var import_core15 = require("@mantine/core");
7174
- var import_lodash11 = __toESM(require_lodash());
7175
7154
  var jsx_dev_runtime21 = require("react/jsx-dev-runtime");
7176
7155
  function BadgeMinimal({
7177
7156
  label,
@@ -7187,7 +7166,9 @@ function BadgeMinimal({
7187
7166
  timingFunction: "ease",
7188
7167
  ...componentsProps?.transition,
7189
7168
  children: (transitionStyle) => /* @__PURE__ */ jsx_dev_runtime21.jsxDEV(import_core15.Tooltip, {
7190
- ...import_lodash11.merge({}, theme.componentsProps.Tooltip, { label: tooltip, disabled: !Boolean(tooltip) }, componentsProps?.tooltip),
7169
+ label: tooltip,
7170
+ disabled: !Boolean(tooltip),
7171
+ ...componentsProps?.tooltip,
7191
7172
  children: /* @__PURE__ */ jsx_dev_runtime21.jsxDEV(import_core15.Badge, {
7192
7173
  variant: "default",
7193
7174
  ...componentsProps?.badge,
@@ -7203,7 +7184,7 @@ function BadgeMinimal({
7203
7184
  }
7204
7185
 
7205
7186
  // src/core/components/BadgeGroup/index.tsx
7206
- var import_lodash12 = __toESM(require_lodash());
7187
+ var import_lodash9 = __toESM(require_lodash());
7207
7188
  var jsx_dev_runtime22 = require("react/jsx-dev-runtime");
7208
7189
  var react = require("react");
7209
7190
  function BadgeGroup({
@@ -7242,7 +7223,7 @@ function BadgeGroup({
7242
7223
  timingFunction: "ease",
7243
7224
  ...componentsProps?.cumulativeBadgeTransition,
7244
7225
  children: (transitionStyle) => /* @__PURE__ */ jsx_dev_runtime22.jsxDEV(import_core16.HoverCard, {
7245
- ...import_lodash12.merge({}, theme.componentsProps.HoverCard, componentsProps?.HoverCard),
7226
+ ...componentsProps?.HoverCard,
7246
7227
  children: [
7247
7228
  /* @__PURE__ */ jsx_dev_runtime22.jsxDEV(import_core16.HoverCard.Target, {
7248
7229
  children: /* @__PURE__ */ jsx_dev_runtime22.jsxDEV(import_core16.Badge, {
@@ -7251,7 +7232,7 @@ function BadgeGroup({
7251
7232
  ...componentsProps?.cumulativeBadge,
7252
7233
  style: {
7253
7234
  cursor: "pointer",
7254
- ...import_lodash12.merge(transitionStyle, componentsProps?.cumulativeBadge?.style)
7235
+ ...import_lodash9.merge(transitionStyle, componentsProps?.cumulativeBadge?.style)
7255
7236
  },
7256
7237
  children: [
7257
7238
  numVisibleBadges,
@@ -7275,7 +7256,7 @@ function BadgeGroup({
7275
7256
  }
7276
7257
  // src/core/components/AlertMinimal/index.tsx
7277
7258
  var import_core17 = require("@mantine/core");
7278
- var import_lodash13 = __toESM(require_lodash());
7259
+ var import_lodash10 = __toESM(require_lodash());
7279
7260
  var jsx_dev_runtime23 = require("react/jsx-dev-runtime");
7280
7261
  function AlertMinimal({
7281
7262
  category,
@@ -7292,7 +7273,7 @@ function AlertMinimal({
7292
7273
  icon: Icon3,
7293
7274
  iconSize = "medium" /* Medium */,
7294
7275
  componentsProps
7295
- } = import_lodash13.merge({}, theme.componentsProps.alerts[category], props);
7276
+ } = import_lodash10.merge({}, theme.componentsProps.alerts[category], props);
7296
7277
  return /* @__PURE__ */ jsx_dev_runtime23.jsxDEV(import_core17.Transition, {
7297
7278
  mounted,
7298
7279
  transition: "fade",
@@ -7306,9 +7287,9 @@ function AlertMinimal({
7306
7287
  onClose,
7307
7288
  withCloseButton: onClose !== undefined,
7308
7289
  icon: Icon3 ? /* @__PURE__ */ jsx_dev_runtime23.jsxDEV(Icon3, {
7309
- ...import_lodash13.merge({}, theme.componentsProps.icons[iconSize], componentsProps?.icon)
7290
+ ...import_lodash10.merge({}, theme.componentsProps.icons[iconSize], componentsProps?.icon)
7310
7291
  }, undefined, false, undefined, this) : undefined,
7311
- style: import_lodash13.merge(transitionStyle, componentsProps?.alert?.style),
7292
+ style: import_lodash10.merge(transitionStyle, componentsProps?.alert?.style),
7312
7293
  children: [
7313
7294
  text,
7314
7295
  children
@@ -7319,7 +7300,7 @@ function AlertMinimal({
7319
7300
  // src/core/components/RemoraidButton/index.tsx
7320
7301
  var import_core18 = require("@mantine/core");
7321
7302
  var import_icons_react8 = require("@tabler/icons-react");
7322
- var import_lodash14 = __toESM(require_lodash());
7303
+ var import_lodash11 = __toESM(require_lodash());
7323
7304
  var jsx_dev_runtime24 = require("react/jsx-dev-runtime");
7324
7305
  function RemoraidButton({
7325
7306
  label,
@@ -7343,7 +7324,7 @@ function RemoraidButton({
7343
7324
  const Icon4 = iconProp ?? import_icons_react8.IconClick;
7344
7325
  const theme = useRemoraidTheme();
7345
7326
  const iconElement = /* @__PURE__ */ jsx_dev_runtime24.jsxDEV(Icon4, {
7346
- ...import_lodash14.merge({}, theme.componentsProps.icons[iconSize], componentsProps?.icon)
7327
+ ...import_lodash11.merge({}, theme.componentsProps.icons[iconSize], componentsProps?.icon)
7347
7328
  }, undefined, false, undefined, this);
7348
7329
  return /* @__PURE__ */ jsx_dev_runtime24.jsxDEV(import_core18.Transition, {
7349
7330
  mounted,
@@ -7354,7 +7335,8 @@ function RemoraidButton({
7354
7335
  children: (transitionStyle) => /* @__PURE__ */ jsx_dev_runtime24.jsxDEV(jsx_dev_runtime24.Fragment, {
7355
7336
  children: [
7356
7337
  /* @__PURE__ */ jsx_dev_runtime24.jsxDEV(import_core18.Tooltip, {
7357
- ...import_lodash14.merge({}, theme.componentsProps.Tooltip, { label }, componentsProps?.tooltip),
7338
+ label,
7339
+ ...componentsProps?.tooltip,
7358
7340
  children: /* @__PURE__ */ jsx_dev_runtime24.jsxDEV(import_core18.ActionIcon, {
7359
7341
  "aria-label": label,
7360
7342
  variant,
@@ -7398,7 +7380,7 @@ function RemoraidButton({
7398
7380
  var import_core19 = require("@mantine/core");
7399
7381
  var import_react16 = require("react");
7400
7382
  var import_icons_react9 = require("@tabler/icons-react");
7401
- var import_lodash15 = __toESM(require_lodash());
7383
+ var import_lodash12 = __toESM(require_lodash());
7402
7384
  var jsx_dev_runtime25 = require("react/jsx-dev-runtime");
7403
7385
  function WidgetWrapper({
7404
7386
  config,
@@ -7433,8 +7415,9 @@ function WidgetWrapper({
7433
7415
  const handleLeave = () => {
7434
7416
  updateActiveWidget(null);
7435
7417
  };
7418
+ const mounted = Boolean(widget?.selected);
7436
7419
  let element = /* @__PURE__ */ jsx_dev_runtime25.jsxDEV(import_core19.Transition, {
7437
- mounted: Boolean(widget?.selected),
7420
+ mounted,
7438
7421
  transition: "fade-left",
7439
7422
  duration: theme.transitionDurations.medium,
7440
7423
  timingFunction: "ease",
@@ -7453,6 +7436,8 @@ function WidgetWrapper({
7453
7436
  mt,
7454
7437
  pos: "relative",
7455
7438
  h: "fit-content",
7439
+ mah: "100%",
7440
+ display: "flex",
7456
7441
  ...componentsProps?.container,
7457
7442
  onMouseEnter: (e) => {
7458
7443
  if (!pinnableSection) {
@@ -7466,7 +7451,7 @@ function WidgetWrapper({
7466
7451
  }
7467
7452
  componentsProps?.container?.onMouseLeave?.(e);
7468
7453
  },
7469
- style: import_lodash15.merge(transitionStyle, componentsProps?.container?.style),
7454
+ style: import_lodash12.merge(transitionStyle, { flexDirection: "column" }, componentsProps?.container?.style),
7470
7455
  className: clsx_default("remoraid-segment", componentsProps?.container?.className),
7471
7456
  id: config.widgetId,
7472
7457
  children: [
@@ -7482,6 +7467,13 @@ function WidgetWrapper({
7482
7467
  color: "red",
7483
7468
  order: 200,
7484
7469
  ...componentsProps?.closeButton,
7470
+ componentsProps: {
7471
+ ...componentsProps?.closeButton?.componentsProps,
7472
+ tooltip: {
7473
+ disabled: !mounted,
7474
+ ...componentsProps?.closeButton?.componentsProps?.tooltip
7475
+ }
7476
+ },
7485
7477
  onClick: (e) => {
7486
7478
  if (!page) {
7487
7479
  return;
@@ -7577,72 +7569,80 @@ function Widget({
7577
7569
  mt,
7578
7570
  ...componentsProps?.wrapper,
7579
7571
  pinnableSection: pinnableSection ?? componentsProps?.wrapper?.pinnableSection,
7580
- children: [
7581
- /* @__PURE__ */ jsx_dev_runtime26.jsxDEV(import_core20.Group, {
7582
- justify: "space-between",
7583
- wrap: "nowrap",
7584
- children: [
7585
- /* @__PURE__ */ jsx_dev_runtime26.jsxDEV(import_core20.Group, {
7586
- gap: badgesGap,
7587
- wrap: "nowrap",
7588
- children: [
7589
- /* @__PURE__ */ jsx_dev_runtime26.jsxDEV(import_core20.Title, {
7590
- order: 1,
7591
- size: "h2",
7592
- lineClamp: 1,
7593
- ...componentsProps?.title,
7594
- children: title ?? id
7595
- }, undefined, false, undefined, this),
7596
- badges !== undefined && /* @__PURE__ */ jsx_dev_runtime26.jsxDEV(BadgeGroup, {
7597
- badges,
7598
- gap: badgesGap,
7599
- ...componentsProps?.badgeGroup
7600
- }, undefined, false, undefined, this)
7601
- ]
7602
- }, undefined, true, undefined, this),
7603
- /* @__PURE__ */ jsx_dev_runtime26.jsxDEV(import_core20.Group, {
7604
- gap: buttonsGap,
7605
- wrap: "nowrap",
7606
- children: buttons !== undefined && buttons.map((button, i) => {
7607
- if (isValidElementOfType(RemoraidButton, button)) {
7608
- return button;
7609
- }
7610
- return /* @__PURE__ */ react2.createElement(RemoraidButton, {
7611
- ...button,
7612
- key: i
7613
- });
7614
- })
7572
+ children: /* @__PURE__ */ jsx_dev_runtime26.jsxDEV(import_core20.Stack, {
7573
+ gap: "md",
7574
+ mih: 0,
7575
+ ...componentsProps?.contentContainer,
7576
+ children: [
7577
+ /* @__PURE__ */ jsx_dev_runtime26.jsxDEV(import_core20.Group, {
7578
+ justify: "space-between",
7579
+ wrap: "nowrap",
7580
+ children: [
7581
+ /* @__PURE__ */ jsx_dev_runtime26.jsxDEV(import_core20.Group, {
7582
+ gap: badgesGap,
7583
+ wrap: "nowrap",
7584
+ children: [
7585
+ /* @__PURE__ */ jsx_dev_runtime26.jsxDEV(import_core20.Title, {
7586
+ order: 1,
7587
+ size: "h2",
7588
+ lineClamp: 1,
7589
+ ...componentsProps?.title,
7590
+ children: title ?? id
7591
+ }, undefined, false, undefined, this),
7592
+ badges !== undefined && /* @__PURE__ */ jsx_dev_runtime26.jsxDEV(BadgeGroup, {
7593
+ badges,
7594
+ gap: badgesGap,
7595
+ ...componentsProps?.badgeGroup
7596
+ }, undefined, false, undefined, this)
7597
+ ]
7598
+ }, undefined, true, undefined, this),
7599
+ /* @__PURE__ */ jsx_dev_runtime26.jsxDEV(import_core20.Group, {
7600
+ gap: buttonsGap,
7601
+ wrap: "nowrap",
7602
+ children: buttons !== undefined && buttons.map((button, i) => {
7603
+ if (isValidElementOfType(RemoraidButton, button)) {
7604
+ return button;
7605
+ }
7606
+ return /* @__PURE__ */ react2.createElement(RemoraidButton, {
7607
+ ...button,
7608
+ key: i
7609
+ });
7610
+ })
7611
+ }, undefined, false, undefined, this)
7612
+ ]
7613
+ }, undefined, true, undefined, this),
7614
+ /* @__PURE__ */ jsx_dev_runtime26.jsxDEV(import_core20.Box, {
7615
+ children: /* @__PURE__ */ jsx_dev_runtime26.jsxDEV(import_core20.Divider, {
7616
+ ...componentsProps?.divider
7615
7617
  }, undefined, false, undefined, this)
7616
- ]
7617
- }, undefined, true, undefined, this),
7618
- /* @__PURE__ */ jsx_dev_runtime26.jsxDEV(import_core20.Divider, {
7619
- my: "md",
7620
- ...componentsProps?.divider
7621
- }, undefined, false, undefined, this),
7622
- /* @__PURE__ */ jsx_dev_runtime26.jsxDEV(import_core20.Stack, {
7623
- align: "stretch",
7624
- gap: alertsGap,
7625
- mb: alerts && alerts.length > 0 ? "md" : 0,
7626
- ...componentsProps?.alertsContainer,
7627
- children: alerts?.map((alert, i) => {
7628
- if (isValidElementOfType(AlertMinimal, alert)) {
7629
- return alert;
7630
- }
7631
- return /* @__PURE__ */ react2.createElement(AlertMinimal, {
7632
- ...alert,
7633
- key: i
7634
- });
7635
- })
7636
- }, undefined, false, undefined, this),
7637
- loading ? /* @__PURE__ */ jsx_dev_runtime26.jsxDEV(import_core20.Center, {
7638
- children: /* @__PURE__ */ jsx_dev_runtime26.jsxDEV(import_core20.Loader, {
7639
- ...componentsProps?.loader
7618
+ }, undefined, false, undefined, this),
7619
+ /* @__PURE__ */ jsx_dev_runtime26.jsxDEV(import_core20.Stack, {
7620
+ align: "stretch",
7621
+ gap: alertsGap,
7622
+ ...componentsProps?.alertsContainer,
7623
+ className: clsx_default("remoraid-widget-alerts-container", componentsProps?.alertsContainer?.className),
7624
+ children: alerts?.map((alert, i) => {
7625
+ if (isValidElementOfType(AlertMinimal, alert)) {
7626
+ return alert;
7627
+ }
7628
+ return /* @__PURE__ */ react2.createElement(AlertMinimal, {
7629
+ ...alert,
7630
+ key: i
7631
+ });
7632
+ })
7633
+ }, undefined, false, undefined, this),
7634
+ /* @__PURE__ */ jsx_dev_runtime26.jsxDEV(import_core20.ScrollArea.Autosize, {
7635
+ flex: 1,
7636
+ ...componentsProps?.childrenContainer,
7637
+ children: loading ? /* @__PURE__ */ jsx_dev_runtime26.jsxDEV(import_core20.Center, {
7638
+ children: /* @__PURE__ */ jsx_dev_runtime26.jsxDEV(import_core20.Loader, {
7639
+ ...componentsProps?.loader
7640
+ }, undefined, false, undefined, this)
7641
+ }, undefined, false, undefined, this) : children
7640
7642
  }, undefined, false, undefined, this)
7641
- }, undefined, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime26.jsxDEV(jsx_dev_runtime26.Fragment, {
7642
- children
7643
- }, undefined, false, undefined, this)
7644
- ]
7645
- }, undefined, true, undefined, this);
7643
+ ]
7644
+ }, undefined, true, undefined, this)
7645
+ }, undefined, false, undefined, this);
7646
7646
  }
7647
7647
  // src/core/components/NotFoundPage/index.tsx
7648
7648
  var import_navigation3 = require("next/navigation");
@@ -7861,7 +7861,7 @@ var SettingsTable_default = Object.assign(SettingsTable, {
7861
7861
  Row
7862
7862
  });
7863
7863
  // src/core/components/NavbarSettingsWidget/index.tsx
7864
- var import_lodash16 = __toESM(require_lodash());
7864
+ var import_lodash13 = __toESM(require_lodash());
7865
7865
  var import_core24 = require("@mantine/core");
7866
7866
  var import_icons_react12 = require("@tabler/icons-react");
7867
7867
  var jsx_dev_runtime33 = require("react/jsx-dev-runtime");
@@ -7887,7 +7887,7 @@ function NavbarSettingsWidget({
7887
7887
  navbar: initialUserExperience.navbar
7888
7888
  }));
7889
7889
  },
7890
- custom: !import_lodash16.isEqual(userExperience.navbar, initialUserExperience.navbar),
7890
+ custom: !import_lodash13.isEqual(userExperience.navbar, initialUserExperience.navbar),
7891
7891
  children: /* @__PURE__ */ jsx_dev_runtime33.jsxDEV(SettingsTable_default, {
7892
7892
  ...componentsProps?.table,
7893
7893
  children: [
@@ -7916,6 +7916,7 @@ function NavbarSettingsWidget({
7916
7916
  color: "var(--mantine-primary-color-filled)"
7917
7917
  }, undefined, false, undefined, this),
7918
7918
  variant: "outline",
7919
+ size: "sm",
7919
7920
  children: label
7920
7921
  }, i, false, undefined, this);
7921
7922
  })
@@ -7976,3 +7977,45 @@ function ContextClusterProvider({
7976
7977
  children: t
7977
7978
  }, undefined, false, undefined, this) : t, children);
7978
7979
  }
7980
+ // src/core/components/InputWrapperScrollArea/index.tsx
7981
+ var import_core25 = require("@mantine/core");
7982
+ var import_react20 = require("react");
7983
+ var jsx_dev_runtime35 = require("react/jsx-dev-runtime");
7984
+ function InputWrapperScrollArea({
7985
+ children,
7986
+ label,
7987
+ mah,
7988
+ error,
7989
+ componentsProps
7990
+ }) {
7991
+ const theme = useRemoraidTheme();
7992
+ const [isHovering, setIsHovering] = import_react20.useState(false);
7993
+ return /* @__PURE__ */ jsx_dev_runtime35.jsxDEV(import_core25.Input.Wrapper, {
7994
+ label,
7995
+ error,
7996
+ onMouseEnter: () => setIsHovering(true),
7997
+ onMouseLeave: () => setIsHovering(false),
7998
+ ...componentsProps?.container,
7999
+ children: /* @__PURE__ */ jsx_dev_runtime35.jsxDEV(import_core25.Paper, {
8000
+ shadow: "none",
8001
+ p: 0,
8002
+ withBorder: true,
8003
+ display: "flex",
8004
+ bg: theme.transparentBackground,
8005
+ style: {
8006
+ transition: "border-color .1s",
8007
+ borderColor: error ? "var(--mantine-color-error)" : isHovering ? "var(--mantine-primary-color-filled)" : undefined
8008
+ },
8009
+ children: /* @__PURE__ */ jsx_dev_runtime35.jsxDEV(import_core25.ScrollArea, {
8010
+ mah,
8011
+ px: "md",
8012
+ flex: 1,
8013
+ ...componentsProps?.ScrollArea,
8014
+ children: /* @__PURE__ */ jsx_dev_runtime35.jsxDEV(import_core25.Box, {
8015
+ ...componentsProps?.childrenContainer,
8016
+ children
8017
+ }, undefined, false, undefined, this)
8018
+ }, undefined, false, undefined, this)
8019
+ }, undefined, false, undefined, this)
8020
+ }, undefined, false, undefined, this);
8021
+ }