microboard-ui-temp 0.9.0 → 0.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -376852,7 +376852,7 @@ function shouldShow(panel) {
376852
376852
  }
376853
376853
 
376854
376854
  // src/features/SidePanelsContainer/SidePanelsContainer.tsx
376855
- var import_react369 = __toESM(require_react(), 1);
376855
+ var import_react367 = __toESM(require_react(), 1);
376856
376856
 
376857
376857
  // src/features/AppView/InactiveBoardHidder.tsx
376858
376858
  var import_react308 = __toESM(require_react(), 1);
@@ -437900,7 +437900,7 @@ var AIChatPanel = ({ board }) => {
437900
437900
  var AIChatPanel_default = AIChatPanel;
437901
437901
 
437902
437902
  // src/features/ToolsPanel/ToolsPanel.tsx
437903
- var import_react363 = __toESM(require_react(), 1);
437903
+ var import_react361 = __toESM(require_react(), 1);
437904
437904
 
437905
437905
  // src/features/ToolsPanel/Buttons/AddConnector.tsx
437906
437906
  var import_react324 = __toESM(require_react(), 1);
@@ -439671,157 +439671,8 @@ function Redo() {
439671
439671
  }));
439672
439672
  }
439673
439673
 
439674
- // src/features/ToolsPanel/Buttons/ThemeToggle.tsx
439675
- var import_react353 = __toESM(require_react(), 1);
439676
-
439677
- // src/shared/lib/uiTheme.ts
439678
- var import_react352 = __toESM(require_react(), 1);
439679
- var STORAGE_KEY = "ui-theme";
439680
- function applyTheme(theme2) {
439681
- document.documentElement.setAttribute("data-theme", theme2);
439682
- conf.theme = theme2;
439683
- }
439684
- function getInitialTheme() {
439685
- const stored = localStorage.getItem(STORAGE_KEY);
439686
- if (stored === "light" || stored === "dark")
439687
- return stored;
439688
- return window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
439689
- }
439690
- function initTheme() {
439691
- applyTheme(getInitialTheme());
439692
- }
439693
- function toggleUITheme() {
439694
- const current2 = document.documentElement.getAttribute("data-theme");
439695
- const next5 = current2 === "dark" ? "light" : "dark";
439696
- localStorage.setItem(STORAGE_KEY, next5);
439697
- applyTheme(next5);
439698
- return next5;
439699
- }
439700
- function getCurrentUITheme() {
439701
- return document.documentElement.getAttribute("data-theme") ?? "light";
439702
- }
439703
- function useUITheme() {
439704
- const [theme2, setTheme] = import_react352.useState(getCurrentUITheme);
439705
- const toggle = () => {
439706
- setTheme(toggleUITheme());
439707
- };
439708
- return { theme: theme2, toggle };
439709
- }
439710
-
439711
- // src/features/ToolsPanel/Buttons/ThemeToggle.tsx
439712
- function SunIcon() {
439713
- return /* @__PURE__ */ import_react353.default.createElement("svg", {
439714
- width: "20",
439715
- height: "20",
439716
- viewBox: "0 0 20 20",
439717
- fill: "none",
439718
- xmlns: "http://www.w3.org/2000/svg"
439719
- }, /* @__PURE__ */ import_react353.default.createElement("circle", {
439720
- cx: "10",
439721
- cy: "10",
439722
- r: "3.5",
439723
- stroke: "currentColor",
439724
- strokeWidth: "1.5"
439725
- }), /* @__PURE__ */ import_react353.default.createElement("line", {
439726
- x1: "10",
439727
- y1: "1",
439728
- x2: "10",
439729
- y2: "3.5",
439730
- stroke: "currentColor",
439731
- strokeWidth: "1.5",
439732
- strokeLinecap: "round"
439733
- }), /* @__PURE__ */ import_react353.default.createElement("line", {
439734
- x1: "10",
439735
- y1: "16.5",
439736
- x2: "10",
439737
- y2: "19",
439738
- stroke: "currentColor",
439739
- strokeWidth: "1.5",
439740
- strokeLinecap: "round"
439741
- }), /* @__PURE__ */ import_react353.default.createElement("line", {
439742
- x1: "19",
439743
- y1: "10",
439744
- x2: "16.5",
439745
- y2: "10",
439746
- stroke: "currentColor",
439747
- strokeWidth: "1.5",
439748
- strokeLinecap: "round"
439749
- }), /* @__PURE__ */ import_react353.default.createElement("line", {
439750
- x1: "3.5",
439751
- y1: "10",
439752
- x2: "1",
439753
- y2: "10",
439754
- stroke: "currentColor",
439755
- strokeWidth: "1.5",
439756
- strokeLinecap: "round"
439757
- }), /* @__PURE__ */ import_react353.default.createElement("line", {
439758
- x1: "16.07",
439759
- y1: "3.93",
439760
- x2: "14.31",
439761
- y2: "5.69",
439762
- stroke: "currentColor",
439763
- strokeWidth: "1.5",
439764
- strokeLinecap: "round"
439765
- }), /* @__PURE__ */ import_react353.default.createElement("line", {
439766
- x1: "5.69",
439767
- y1: "14.31",
439768
- x2: "3.93",
439769
- y2: "16.07",
439770
- stroke: "currentColor",
439771
- strokeWidth: "1.5",
439772
- strokeLinecap: "round"
439773
- }), /* @__PURE__ */ import_react353.default.createElement("line", {
439774
- x1: "16.07",
439775
- y1: "16.07",
439776
- x2: "14.31",
439777
- y2: "14.31",
439778
- stroke: "currentColor",
439779
- strokeWidth: "1.5",
439780
- strokeLinecap: "round"
439781
- }), /* @__PURE__ */ import_react353.default.createElement("line", {
439782
- x1: "5.69",
439783
- y1: "5.69",
439784
- x2: "3.93",
439785
- y2: "3.93",
439786
- stroke: "currentColor",
439787
- strokeWidth: "1.5",
439788
- strokeLinecap: "round"
439789
- }));
439790
- }
439791
- function MoonIcon() {
439792
- return /* @__PURE__ */ import_react353.default.createElement("svg", {
439793
- width: "20",
439794
- height: "20",
439795
- viewBox: "0 0 20 20",
439796
- fill: "none",
439797
- xmlns: "http://www.w3.org/2000/svg"
439798
- }, /* @__PURE__ */ import_react353.default.createElement("path", {
439799
- d: "M17 12.5A7.5 7.5 0 1 1 7.5 3a5.5 5.5 0 0 0 9.5 9.5z",
439800
- stroke: "currentColor",
439801
- strokeWidth: "1.5",
439802
- strokeLinecap: "round",
439803
- strokeLinejoin: "round"
439804
- }));
439805
- }
439806
- function ThemeToggle() {
439807
- const { board } = useAppContext();
439808
- const { theme: theme2, toggle } = useUITheme();
439809
- const handleClick = () => {
439810
- toggle();
439811
- board.items.subject.publish(board.items);
439812
- };
439813
- return /* @__PURE__ */ import_react353.default.createElement(UiButton, {
439814
- id: "theme-toggle",
439815
- tooltip: theme2 === "light" ? "Switch to dark theme" : "Switch to light theme",
439816
- tooltipPosition: "bottom",
439817
- onClick: handleClick,
439818
- variant: "secondary",
439819
- rounded: "none"
439820
- }, theme2 === "light" ? /* @__PURE__ */ import_react353.default.createElement(MoonIcon, null) : /* @__PURE__ */ import_react353.default.createElement(SunIcon, null));
439821
- }
439822
-
439823
439674
  // src/features/ToolsPanel/Buttons/Select.tsx
439824
- var import_react354 = __toESM(require_react(), 1);
439675
+ var import_react352 = __toESM(require_react(), 1);
439825
439676
  function Select3({ rounded = "top" }) {
439826
439677
  const { board } = useAppContext();
439827
439678
  const { t: t11 } = useTranslation();
@@ -439833,7 +439684,7 @@ function Select3({ rounded = "top" }) {
439833
439684
  }
439834
439685
  }
439835
439686
  const isActive = Boolean(board.tools.getSelect());
439836
- return /* @__PURE__ */ import_react354.default.createElement(UiButton, {
439687
+ return /* @__PURE__ */ import_react352.default.createElement(UiButton, {
439837
439688
  id: "tool-select",
439838
439689
  tooltip: isActive ? undefined : t11("toolsPanel.select.tooltip"),
439839
439690
  hotkey: getHotkeyLabel("select"),
@@ -439841,13 +439692,13 @@ function Select3({ rounded = "top" }) {
439841
439692
  active: isActive,
439842
439693
  variant: "secondary",
439843
439694
  rounded
439844
- }, /* @__PURE__ */ import_react354.default.createElement(Icon, {
439695
+ }, /* @__PURE__ */ import_react352.default.createElement(Icon, {
439845
439696
  iconName: "Select"
439846
439697
  }));
439847
439698
  }
439848
439699
 
439849
439700
  // src/features/ToolsPanel/Buttons/Undo.tsx
439850
- var import_react355 = __toESM(require_react(), 1);
439701
+ var import_react353 = __toESM(require_react(), 1);
439851
439702
  function Undo() {
439852
439703
  const { board } = useAppContext();
439853
439704
  const { t: t11 } = useTranslation();
@@ -439860,7 +439711,7 @@ function Undo() {
439860
439711
  board.events?.undo();
439861
439712
  };
439862
439713
  const canUndo = board.events?.canUndo();
439863
- return /* @__PURE__ */ import_react355.default.createElement(UiButton, {
439714
+ return /* @__PURE__ */ import_react353.default.createElement(UiButton, {
439864
439715
  id: "undo",
439865
439716
  tooltip: t11("toolsPanel.undo.tooltip"),
439866
439717
  hotkey: getHotkeyLabel("undo"),
@@ -439868,7 +439719,7 @@ function Undo() {
439868
439719
  disabled: !canUndo,
439869
439720
  rounded: "top",
439870
439721
  variant: "secondary"
439871
- }, /* @__PURE__ */ import_react355.default.createElement(Icon, {
439722
+ }, /* @__PURE__ */ import_react353.default.createElement(Icon, {
439872
439723
  iconName: "Undo"
439873
439724
  }));
439874
439725
  }
@@ -439884,13 +439735,13 @@ var ToolsPanel_module_default = {
439884
439735
  };
439885
439736
 
439886
439737
  // src/features/ToolsPanel/Buttons/AddGameItem/AddGameItem.tsx
439887
- var import_react362 = __toESM(require_react(), 1);
439738
+ var import_react360 = __toESM(require_react(), 1);
439888
439739
 
439889
439740
  // src/features/ToolsPanel/Buttons/AddGameItem/AddDice.tsx
439890
- var import_react357 = __toESM(require_react(), 1);
439741
+ var import_react355 = __toESM(require_react(), 1);
439891
439742
 
439892
439743
  // src/features/GameItems/CreateDiceModal.tsx
439893
- var import_react356 = __toESM(require_react(), 1);
439744
+ var import_react354 = __toESM(require_react(), 1);
439894
439745
 
439895
439746
  // src/features/GameItems/Modal.module.css
439896
439747
  var Modal_module_default = {
@@ -439916,14 +439767,14 @@ var MIN_SIDES = 3;
439916
439767
  var MAX_SIDES = 20;
439917
439768
  function CreateDiceModal() {
439918
439769
  const { closeModal: closeModal2 } = useUiModalContext();
439919
- const [faces, setFaces] = import_react356.useState(Array(MIN_SIDES).fill(null));
439920
- const [previews, setPreviews] = import_react356.useState(Array(MIN_SIDES).fill(null));
439921
- const [isLoading, setIsLoading] = import_react356.useState(false);
439922
- const inputRefs = import_react356.useRef([]);
439770
+ const [faces, setFaces] = import_react354.useState(Array(MIN_SIDES).fill(null));
439771
+ const [previews, setPreviews] = import_react354.useState(Array(MIN_SIDES).fill(null));
439772
+ const [isLoading, setIsLoading] = import_react354.useState(false);
439773
+ const inputRefs = import_react354.useRef([]);
439923
439774
  const { board } = useAppContext();
439924
439775
  const account = useAccount();
439925
439776
  const { t: t11 } = useTranslation();
439926
- import_react356.useEffect(() => {
439777
+ import_react354.useEffect(() => {
439927
439778
  faces.forEach((file, idx) => {
439928
439779
  if (file) {
439929
439780
  const reader = new FileReader;
@@ -440009,43 +439860,43 @@ function CreateDiceModal() {
440009
439860
  }
440010
439861
  closeModal2();
440011
439862
  };
440012
- return /* @__PURE__ */ import_react356.default.createElement(UiModal, {
439863
+ return /* @__PURE__ */ import_react354.default.createElement(UiModal, {
440013
439864
  modalId: CREATE_DICE_MODAL,
440014
439865
  closeOnClickOutside: false,
440015
439866
  renderAsPageOnMobile: true
440016
- }, /* @__PURE__ */ import_react356.default.createElement("div", {
439867
+ }, /* @__PURE__ */ import_react354.default.createElement("div", {
440017
439868
  className: Modal_module_default.modalContent
440018
- }, /* @__PURE__ */ import_react356.default.createElement("div", {
439869
+ }, /* @__PURE__ */ import_react354.default.createElement("div", {
440019
439870
  className: Modal_module_default.title
440020
- }, t11("toolsPanel.addGameItem.addDice.title")), /* @__PURE__ */ import_react356.default.createElement("div", {
439871
+ }, t11("toolsPanel.addGameItem.addDice.title")), /* @__PURE__ */ import_react354.default.createElement("div", {
440021
439872
  className: Modal_module_default.cardsRow,
440022
439873
  style: { flexWrap: "wrap", gap: 16 }
440023
- }, faces.map((face, idx) => /* @__PURE__ */ import_react356.default.createElement("div", {
439874
+ }, faces.map((face, idx) => /* @__PURE__ */ import_react354.default.createElement("div", {
440024
439875
  key: idx,
440025
439876
  className: Modal_module_default.diceFace,
440026
439877
  onClick: () => handleFaceClick(idx)
440027
- }, previews[idx] ? /* @__PURE__ */ import_react356.default.createElement("img", {
439878
+ }, previews[idx] ? /* @__PURE__ */ import_react354.default.createElement("img", {
440028
439879
  src: previews[idx] || undefined,
440029
439880
  alt: `face-${idx + 1}`,
440030
439881
  className: Modal_module_default.dicePreview
440031
- }) : /* @__PURE__ */ import_react356.default.createElement("span", {
439882
+ }) : /* @__PURE__ */ import_react354.default.createElement("span", {
440032
439883
  className: Modal_module_default.diceLabel
440033
- }, idx + 1), /* @__PURE__ */ import_react356.default.createElement("input", {
439884
+ }, idx + 1), /* @__PURE__ */ import_react354.default.createElement("input", {
440034
439885
  type: "file",
440035
439886
  accept: "image/*",
440036
439887
  style: { display: "none" },
440037
439888
  ref: (el2) => inputRefs.current[idx] = el2,
440038
439889
  onChange: (ev) => handleFileChange(idx, ev)
440039
- }))), faces.length < MAX_SIDES && /* @__PURE__ */ import_react356.default.createElement("div", {
439890
+ }))), faces.length < MAX_SIDES && /* @__PURE__ */ import_react354.default.createElement("div", {
440040
439891
  className: Modal_module_default.addFaceBtn,
440041
439892
  onClick: handleAddFace
440042
- }, "+")), faces.length > MIN_SIDES && /* @__PURE__ */ import_react356.default.createElement("div", {
439893
+ }, "+")), faces.length > MIN_SIDES && /* @__PURE__ */ import_react354.default.createElement("div", {
440043
439894
  className: Modal_module_default.removeFaceBtnWrapper
440044
- }, /* @__PURE__ */ import_react356.default.createElement(UiButton, {
439895
+ }, /* @__PURE__ */ import_react354.default.createElement(UiButton, {
440045
439896
  variant: "secondary",
440046
439897
  onClick: handleRemoveLastFace,
440047
439898
  className: Modal_module_default.removeFaceBtn
440048
- }, t11("toolsPanel.addGameItem.addDice.removeFace"))), /* @__PURE__ */ import_react356.default.createElement(UiButton, {
439899
+ }, t11("toolsPanel.addGameItem.addDice.removeFace"))), /* @__PURE__ */ import_react354.default.createElement(UiButton, {
440049
439900
  className: Modal_module_default.acceptBtn,
440050
439901
  variant: "primary",
440051
439902
  onClick: handleAccept,
@@ -440060,23 +439911,23 @@ function AddDice2({ rounded }) {
440060
439911
  const handleClick = () => {
440061
439912
  openModal2(CREATE_DICE_MODAL);
440062
439913
  };
440063
- return /* @__PURE__ */ import_react357.default.createElement(UiButton, {
439914
+ return /* @__PURE__ */ import_react355.default.createElement(UiButton, {
440064
439915
  id: "tool-add-dice",
440065
439916
  tooltip: t11("toolsPanel.addGameItem.addDice.tooltip"),
440066
439917
  onClick: handleClick,
440067
439918
  active: false,
440068
439919
  variant: "secondary",
440069
439920
  rounded
440070
- }, /* @__PURE__ */ import_react357.default.createElement(Icon, {
439921
+ }, /* @__PURE__ */ import_react355.default.createElement(Icon, {
440071
439922
  iconName: "Dice"
440072
439923
  }));
440073
439924
  }
440074
439925
 
440075
439926
  // src/features/ToolsPanel/Buttons/AddGameItem/AddCard.tsx
440076
- var import_react359 = __toESM(require_react(), 1);
439927
+ var import_react357 = __toESM(require_react(), 1);
440077
439928
 
440078
439929
  // src/features/GameItems/CreateCardsModal.tsx
440079
- var import_react358 = __toESM(require_react(), 1);
439930
+ var import_react356 = __toESM(require_react(), 1);
440080
439931
  var CREATE_CARDS_MODAL = Symbol("createCardsModal");
440081
439932
  var getImageDimensions = (file) => {
440082
439933
  return new Promise((resolve2) => {
@@ -440095,14 +439946,14 @@ function CreateCardsModal() {
440095
439946
  const { closeModal: closeModal2 } = useUiModalContext();
440096
439947
  const { board } = useAppContext();
440097
439948
  const account = useAccount();
440098
- const [cover, setCover] = import_react358.default.useState(null);
440099
- const [coverPreview, setCoverPreview] = import_react358.default.useState(null);
440100
- const [cards, setCards] = import_react358.default.useState([]);
440101
- const [cardsPreview, setCardsPreview] = import_react358.default.useState([]);
440102
- const [loading, setLoading] = import_react358.default.useState(false);
440103
- const [cardDimensions, setCardDimensions] = import_react358.useState(conf.DEFAULT_GAME_ITEM_DIMENSIONS);
440104
- const coverInputRef = import_react358.default.useRef(null);
440105
- const cardsInputRef = import_react358.default.useRef(null);
439949
+ const [cover, setCover] = import_react356.default.useState(null);
439950
+ const [coverPreview, setCoverPreview] = import_react356.default.useState(null);
439951
+ const [cards, setCards] = import_react356.default.useState([]);
439952
+ const [cardsPreview, setCardsPreview] = import_react356.default.useState([]);
439953
+ const [loading, setLoading] = import_react356.default.useState(false);
439954
+ const [cardDimensions, setCardDimensions] = import_react356.useState(conf.DEFAULT_GAME_ITEM_DIMENSIONS);
439955
+ const coverInputRef = import_react356.default.useRef(null);
439956
+ const cardsInputRef = import_react356.default.useRef(null);
440106
439957
  const handleCoverClick = () => coverInputRef.current?.click();
440107
439958
  const handleCardsClick = () => cardsInputRef.current?.click();
440108
439959
  const createDeck2 = (backsideUrl, faceUrls) => {
@@ -440166,17 +440017,17 @@ function CreateCardsModal() {
440166
440017
  setLoading(false);
440167
440018
  }
440168
440019
  };
440169
- return /* @__PURE__ */ import_react358.default.createElement(UiModal, {
440020
+ return /* @__PURE__ */ import_react356.default.createElement(UiModal, {
440170
440021
  modalId: CREATE_CARDS_MODAL,
440171
440022
  closeOnClickOutside: false,
440172
440023
  renderAsPageOnMobile: true
440173
- }, /* @__PURE__ */ import_react358.default.createElement("div", {
440024
+ }, /* @__PURE__ */ import_react356.default.createElement("div", {
440174
440025
  className: Modal_module_default.modalContent
440175
- }, /* @__PURE__ */ import_react358.default.createElement("div", {
440026
+ }, /* @__PURE__ */ import_react356.default.createElement("div", {
440176
440027
  className: Modal_module_default.title
440177
- }, t11("toolsPanel.addGameItem.addCard.title")), /* @__PURE__ */ import_react358.default.createElement("div", {
440028
+ }, t11("toolsPanel.addGameItem.addCard.title")), /* @__PURE__ */ import_react356.default.createElement("div", {
440178
440029
  className: Modal_module_default.cardsRow
440179
- }, /* @__PURE__ */ import_react358.default.createElement("div", {
440030
+ }, /* @__PURE__ */ import_react356.default.createElement("div", {
440180
440031
  className: Modal_module_default.cardSilhouette,
440181
440032
  onClick: handleCoverClick,
440182
440033
  style: {
@@ -440184,19 +440035,19 @@ function CreateCardsModal() {
440184
440035
  height: cardDimensions.height,
440185
440036
  maxWidth: "80vw"
440186
440037
  }
440187
- }, coverPreview ? /* @__PURE__ */ import_react358.default.createElement("img", {
440038
+ }, coverPreview ? /* @__PURE__ */ import_react356.default.createElement("img", {
440188
440039
  src: coverPreview,
440189
440040
  alt: "cover",
440190
440041
  className: Modal_module_default.cardPreview
440191
- }) : /* @__PURE__ */ import_react358.default.createElement("span", {
440042
+ }) : /* @__PURE__ */ import_react356.default.createElement("span", {
440192
440043
  className: Modal_module_default.cardLabel
440193
- }, t11("toolsPanel.addGameItem.addCard.cover")), /* @__PURE__ */ import_react358.default.createElement("input", {
440044
+ }, t11("toolsPanel.addGameItem.addCard.cover")), /* @__PURE__ */ import_react356.default.createElement("input", {
440194
440045
  type: "file",
440195
440046
  accept: "image/*",
440196
440047
  style: { display: "none" },
440197
440048
  ref: coverInputRef,
440198
440049
  onChange: handleCoverChange
440199
- })), /* @__PURE__ */ import_react358.default.createElement("div", {
440050
+ })), /* @__PURE__ */ import_react356.default.createElement("div", {
440200
440051
  className: Modal_module_default.cardSilhouette,
440201
440052
  onClick: handleCardsClick,
440202
440053
  style: {
@@ -440204,20 +440055,20 @@ function CreateCardsModal() {
440204
440055
  height: cardDimensions.height,
440205
440056
  maxWidth: "80vw"
440206
440057
  }
440207
- }, cardsPreview.length > 0 ? /* @__PURE__ */ import_react358.default.createElement("img", {
440058
+ }, cardsPreview.length > 0 ? /* @__PURE__ */ import_react356.default.createElement("img", {
440208
440059
  src: cardsPreview[0],
440209
440060
  alt: "preview",
440210
440061
  className: Modal_module_default.cardPreview
440211
- }) : /* @__PURE__ */ import_react358.default.createElement("span", {
440062
+ }) : /* @__PURE__ */ import_react356.default.createElement("span", {
440212
440063
  className: Modal_module_default.cardLabel
440213
- }, t11("toolsPanel.addGameItem.addCard.cards")), /* @__PURE__ */ import_react358.default.createElement("input", {
440064
+ }, t11("toolsPanel.addGameItem.addCard.cards")), /* @__PURE__ */ import_react356.default.createElement("input", {
440214
440065
  type: "file",
440215
440066
  accept: "image/*",
440216
440067
  multiple: true,
440217
440068
  style: { display: "none" },
440218
440069
  ref: cardsInputRef,
440219
440070
  onChange: handleCardsChange
440220
- }))), /* @__PURE__ */ import_react358.default.createElement(UiButton, {
440071
+ }))), /* @__PURE__ */ import_react356.default.createElement(UiButton, {
440221
440072
  className: Modal_module_default.acceptBtn,
440222
440073
  variant: "primary",
440223
440074
  onClick: handleAccept,
@@ -440232,13 +440083,13 @@ function AddCard({ rounded = "none" }) {
440232
440083
  const handleClick = () => {
440233
440084
  openModal2(CREATE_CARDS_MODAL);
440234
440085
  };
440235
- return /* @__PURE__ */ import_react359.default.createElement(UiButton, {
440086
+ return /* @__PURE__ */ import_react357.default.createElement(UiButton, {
440236
440087
  id: `tool-add-card`,
440237
440088
  tooltip: t11("toolsPanel.addGameItem.addCard.tooltip"),
440238
440089
  onClick: handleClick,
440239
440090
  rounded,
440240
440091
  variant: "secondary"
440241
- }, /* @__PURE__ */ import_react359.default.createElement(Icon, {
440092
+ }, /* @__PURE__ */ import_react357.default.createElement(Icon, {
440242
440093
  iconName: "Card",
440243
440094
  width: 24,
440244
440095
  height: 24
@@ -440246,7 +440097,7 @@ function AddCard({ rounded = "none" }) {
440246
440097
  }
440247
440098
 
440248
440099
  // src/features/ToolsPanel/Buttons/AddGameItem/AddScreen.tsx
440249
- var import_react360 = __toESM(require_react(), 1);
440100
+ var import_react358 = __toESM(require_react(), 1);
440250
440101
  function AddScreen2() {
440251
440102
  const { board } = useAppContext();
440252
440103
  const { t: t11 } = useTranslation();
@@ -440254,20 +440105,20 @@ function AddScreen2() {
440254
440105
  board.tools.addRegisteredTool("AddScreen", true);
440255
440106
  };
440256
440107
  const isActive = Boolean(board.tools.getAddRegisteredTool("AddScreen"));
440257
- return /* @__PURE__ */ import_react360.default.createElement(UiButton, {
440108
+ return /* @__PURE__ */ import_react358.default.createElement(UiButton, {
440258
440109
  id: "tool-add-screen",
440259
440110
  tooltip: t11("toolsPanel.addGameItem.addScreen.tooltip"),
440260
440111
  onClick: handleClick,
440261
440112
  variant: "secondary",
440262
440113
  rounded: "none",
440263
440114
  active: isActive
440264
- }, /* @__PURE__ */ import_react360.default.createElement(Icon, {
440115
+ }, /* @__PURE__ */ import_react358.default.createElement(Icon, {
440265
440116
  iconName: "AddScreen"
440266
440117
  }));
440267
440118
  }
440268
440119
 
440269
440120
  // src/features/ToolsPanel/Buttons/AddGameItem/AddPouch.tsx
440270
- var import_react361 = __toESM(require_react(), 1);
440121
+ var import_react359 = __toESM(require_react(), 1);
440271
440122
  function AddPouch2() {
440272
440123
  const { board } = useAppContext();
440273
440124
  const { t: t11 } = useTranslation();
@@ -440275,14 +440126,14 @@ function AddPouch2() {
440275
440126
  board.tools.addRegisteredTool("AddPouch", true);
440276
440127
  };
440277
440128
  const isActive = Boolean(board.tools.getAddRegisteredTool("AddPouch"));
440278
- return /* @__PURE__ */ import_react361.default.createElement(UiButton, {
440129
+ return /* @__PURE__ */ import_react359.default.createElement(UiButton, {
440279
440130
  id: "tool-add-pouch",
440280
440131
  tooltip: t11("toolsPanel.addGameItem.addPouch.tooltip"),
440281
440132
  onClick: handleClick,
440282
440133
  variant: "secondary",
440283
440134
  rounded: "none",
440284
440135
  active: isActive
440285
- }, /* @__PURE__ */ import_react361.default.createElement(Icon, {
440136
+ }, /* @__PURE__ */ import_react359.default.createElement(Icon, {
440286
440137
  iconName: "AddPouch",
440287
440138
  width: 24,
440288
440139
  height: 24
@@ -440291,35 +440142,35 @@ function AddPouch2() {
440291
440142
 
440292
440143
  // src/features/ToolsPanel/Buttons/AddGameItem/AddGameItem.tsx
440293
440144
  function AddGameItem() {
440294
- const [isOpen, setIsOpen] = import_react362.useState(false);
440145
+ const [isOpen, setIsOpen] = import_react360.useState(false);
440295
440146
  const { t: t11 } = useTranslation();
440296
440147
  const ref4 = useClickOutside(() => setIsOpen(false), [], true);
440297
- return /* @__PURE__ */ import_react362.default.createElement(ButtonWithMenu2, {
440148
+ return /* @__PURE__ */ import_react360.default.createElement(ButtonWithMenu2, {
440298
440149
  ref: ref4,
440299
- button: /* @__PURE__ */ import_react362.default.createElement(UiButton, {
440150
+ button: /* @__PURE__ */ import_react360.default.createElement(UiButton, {
440300
440151
  id: "tool-add-game-item",
440301
440152
  tooltip: t11("toolsPanel.addGameItem.tooltip"),
440302
440153
  active: isOpen,
440303
440154
  variant: "secondary",
440304
440155
  rounded: "top",
440305
440156
  onClick: () => setIsOpen(!isOpen)
440306
- }, /* @__PURE__ */ import_react362.default.createElement(Icon, {
440157
+ }, /* @__PURE__ */ import_react360.default.createElement(Icon, {
440307
440158
  iconName: "GameItems"
440308
440159
  })),
440309
440160
  isOpen
440310
- }, /* @__PURE__ */ import_react362.default.createElement(UiPanel, {
440161
+ }, /* @__PURE__ */ import_react360.default.createElement(UiPanel, {
440311
440162
  vertical: true,
440312
440163
  padding: 0
440313
- }, /* @__PURE__ */ import_react362.default.createElement(AddDice2, {
440164
+ }, /* @__PURE__ */ import_react360.default.createElement(AddDice2, {
440314
440165
  rounded: "top"
440315
- }), /* @__PURE__ */ import_react362.default.createElement(AddScreen2, null), /* @__PURE__ */ import_react362.default.createElement(AddPouch2, null), /* @__PURE__ */ import_react362.default.createElement(AddCard, {
440166
+ }), /* @__PURE__ */ import_react360.default.createElement(AddScreen2, null), /* @__PURE__ */ import_react360.default.createElement(AddPouch2, null), /* @__PURE__ */ import_react360.default.createElement(AddCard, {
440316
440167
  rounded: "bottom"
440317
440168
  })));
440318
440169
  }
440319
440170
 
440320
440171
  // src/features/ToolsPanel/ToolsPanel.tsx
440321
440172
  function ToolsPanel() {
440322
- const [openedMenu, setOpenedMenu] = import_react363.useState("None");
440173
+ const [openedMenu, setOpenedMenu] = import_react361.useState("None");
440323
440174
  const toggleMenu = (menu) => setOpenedMenu((prev2) => prev2 === menu ? "None" : menu);
440324
440175
  const { app } = useAppContext();
440325
440176
  const forceUpdate = useForceUpdate();
@@ -440327,31 +440178,31 @@ function ToolsPanel() {
440327
440178
  subjects: ["tools"],
440328
440179
  observer: forceUpdate
440329
440180
  });
440330
- import_react363.useEffect(() => {}, [window.showDebug]);
440331
- return /* @__PURE__ */ import_react363.default.createElement(PanelContext2.Provider, {
440181
+ import_react361.useEffect(() => {}, [window.showDebug]);
440182
+ return /* @__PURE__ */ import_react361.default.createElement(PanelContext2.Provider, {
440332
440183
  value: { toggleMenu, openedMenu }
440333
- }, /* @__PURE__ */ import_react363.default.createElement("div", {
440184
+ }, /* @__PURE__ */ import_react361.default.createElement("div", {
440334
440185
  className: window.location.protocol === "file:" ? ToolsPanel_module_default.localWrapper : ToolsPanel_module_default.wrapper
440335
- }, /* @__PURE__ */ import_react363.default.createElement(UiPanel, {
440186
+ }, /* @__PURE__ */ import_react361.default.createElement(UiPanel, {
440336
440187
  vertical: true,
440337
440188
  padding: 0,
440338
440189
  zIndex: 20
440339
- }, /* @__PURE__ */ import_react363.default.createElement(AddGameItem, null), /* @__PURE__ */ import_react363.default.createElement(AddTemplate, null), /* @__PURE__ */ import_react363.default.createElement(UiSeparator, null), /* @__PURE__ */ import_react363.default.createElement(Select3, {
440190
+ }, /* @__PURE__ */ import_react361.default.createElement(AddGameItem, null), /* @__PURE__ */ import_react361.default.createElement(AddTemplate, null), /* @__PURE__ */ import_react361.default.createElement(UiSeparator, null), /* @__PURE__ */ import_react361.default.createElement(Select3, {
440340
440191
  rounded: "none"
440341
- }), /* @__PURE__ */ import_react363.default.createElement(AddDrawing2, null), /* @__PURE__ */ import_react363.default.createElement(AddText2, null), /* @__PURE__ */ import_react363.default.createElement(AddShape2, null), /* @__PURE__ */ import_react363.default.createElement(AddConnector2, null), /* @__PURE__ */ import_react363.default.createElement(AddSticker2, null), /* @__PURE__ */ import_react363.default.createElement(AddFrame2, null), /* @__PURE__ */ import_react363.default.createElement(AddMedia, null)), /* @__PURE__ */ import_react363.default.createElement(UiPanel, {
440192
+ }), /* @__PURE__ */ import_react361.default.createElement(AddDrawing2, null), /* @__PURE__ */ import_react361.default.createElement(AddText2, null), /* @__PURE__ */ import_react361.default.createElement(AddShape2, null), /* @__PURE__ */ import_react361.default.createElement(AddConnector2, null), /* @__PURE__ */ import_react361.default.createElement(AddSticker2, null), /* @__PURE__ */ import_react361.default.createElement(AddFrame2, null), /* @__PURE__ */ import_react361.default.createElement(AddMedia, null)), /* @__PURE__ */ import_react361.default.createElement(UiPanel, {
440342
440193
  vertical: true,
440343
440194
  padding: 0
440344
- }, /* @__PURE__ */ import_react363.default.createElement(Undo, null), /* @__PURE__ */ import_react363.default.createElement(Redo, null), /* @__PURE__ */ import_react363.default.createElement(ThemeToggle, null)), /* @__PURE__ */ import_react363.default.createElement("div", {
440195
+ }, /* @__PURE__ */ import_react361.default.createElement(Undo, null), /* @__PURE__ */ import_react361.default.createElement(Redo, null)), /* @__PURE__ */ import_react361.default.createElement("div", {
440345
440196
  className: ToolsPanel_module_default.bottomLeftWrapper
440346
- }, window.showDebug && /* @__PURE__ */ import_react363.default.createElement(EventList, null), window.enableDiagrams && /* @__PURE__ */ import_react363.default.createElement(AIChatPanel_default, {
440197
+ }, window.showDebug && /* @__PURE__ */ import_react361.default.createElement(EventList, null), window.enableDiagrams && /* @__PURE__ */ import_react361.default.createElement(AIChatPanel_default, {
440347
440198
  board: app.getBoard()
440348
440199
  }))));
440349
440200
  }
440350
440201
  // src/features/ToolsPanel/ViewToolsPanel.tsx
440351
- var import_react365 = __toESM(require_react(), 1);
440202
+ var import_react363 = __toESM(require_react(), 1);
440352
440203
 
440353
440204
  // src/features/ToolsPanel/Buttons/Grab.tsx
440354
- var import_react364 = __toESM(require_react(), 1);
440205
+ var import_react362 = __toESM(require_react(), 1);
440355
440206
  function Grab() {
440356
440207
  const { board } = useAppContext();
440357
440208
  const { t: t11 } = useTranslation();
@@ -440359,14 +440210,14 @@ function Grab() {
440359
440210
  board.tools.navigate();
440360
440211
  };
440361
440212
  const isActive = Boolean(board.tools.getNavigate());
440362
- return /* @__PURE__ */ import_react364.default.createElement(UiButton, {
440213
+ return /* @__PURE__ */ import_react362.default.createElement(UiButton, {
440363
440214
  id: "tool-select",
440364
440215
  tooltip: isActive ? undefined : t11("toolsPanel.grab.tooltip"),
440365
440216
  onClick: handleClick,
440366
440217
  active: isActive,
440367
440218
  variant: "secondary",
440368
440219
  rounded: "top"
440369
- }, /* @__PURE__ */ import_react364.default.createElement(Icon, {
440220
+ }, /* @__PURE__ */ import_react362.default.createElement(Icon, {
440370
440221
  iconName: "Hand"
440371
440222
  }));
440372
440223
  }
@@ -440378,25 +440229,25 @@ function ViewToolsPanel() {
440378
440229
  subjects: ["tools"],
440379
440230
  observer: forceUpdate
440380
440231
  });
440381
- import_react365.useEffect(() => {}, [window.showDebug]);
440382
- return /* @__PURE__ */ import_react365.default.createElement("div", {
440232
+ import_react363.useEffect(() => {}, [window.showDebug]);
440233
+ return /* @__PURE__ */ import_react363.default.createElement("div", {
440383
440234
  className: ToolsPanel_module_default.wrapper
440384
- }, /* @__PURE__ */ import_react365.default.createElement(UiPanel, {
440235
+ }, /* @__PURE__ */ import_react363.default.createElement(UiPanel, {
440385
440236
  vertical: true,
440386
440237
  padding: 0,
440387
440238
  zIndex: 20
440388
- }, /* @__PURE__ */ import_react365.default.createElement(Grab, null), /* @__PURE__ */ import_react365.default.createElement(UiSeparator, null), /* @__PURE__ */ import_react365.default.createElement(Select3, {
440239
+ }, /* @__PURE__ */ import_react363.default.createElement(Grab, null), /* @__PURE__ */ import_react363.default.createElement(UiSeparator, null), /* @__PURE__ */ import_react363.default.createElement(Select3, {
440389
440240
  rounded: "bottom"
440390
- })), window.showDebug && /* @__PURE__ */ import_react365.default.createElement(EventList, null));
440241
+ })), window.showDebug && /* @__PURE__ */ import_react363.default.createElement(EventList, null));
440391
440242
  }
440392
440243
 
440393
440244
  // src/features/BoardItemsPanel/BoardItemsPanel.tsx
440394
- var import_react368 = __toESM(require_react(), 1);
440245
+ var import_react366 = __toESM(require_react(), 1);
440395
440246
 
440396
440247
  // src/shared/lib/useHotkey.ts
440397
- var import_react366 = __toESM(require_react(), 1);
440248
+ var import_react364 = __toESM(require_react(), 1);
440398
440249
  function useHotkey(code4, callback, options3 = {}) {
440399
- import_react366.useEffect(() => {
440250
+ import_react364.useEffect(() => {
440400
440251
  const { ctrl = false, shift: shift2 = false, alt = false, meta: meta3 = false } = options3;
440401
440252
  const handler = (event) => {
440402
440253
  const target = event.target;
@@ -440414,7 +440265,7 @@ function useHotkey(code4, callback, options3 = {}) {
440414
440265
  }
440415
440266
 
440416
440267
  // src/features/BoardItemsPanel/BoardItemsPanelContext.tsx
440417
- var import_react367 = __toESM(require_react(), 1);
440268
+ var import_react365 = __toESM(require_react(), 1);
440418
440269
  var BoardItemsPanelContext = createStrictContext();
440419
440270
  function useBoardItemsPanelContext() {
440420
440271
  return useStrictContext(BoardItemsPanelContext);
@@ -440422,8 +440273,8 @@ function useBoardItemsPanelContext() {
440422
440273
  function BoardItemsPanelContextProvider({
440423
440274
  children
440424
440275
  }) {
440425
- const [isOpen, setIsOpen] = import_react367.useState(false);
440426
- return /* @__PURE__ */ import_react367.default.createElement(BoardItemsPanelContext.Provider, {
440276
+ const [isOpen, setIsOpen] = import_react365.useState(false);
440277
+ return /* @__PURE__ */ import_react365.default.createElement(BoardItemsPanelContext.Provider, {
440427
440278
  value: {
440428
440279
  isOpen,
440429
440280
  openPanel: () => setIsOpen(true),
@@ -440450,49 +440301,49 @@ var BoardItemsPanel_module_default = {
440450
440301
  // src/features/BoardItemsPanel/BoardItemsPanel.tsx
440451
440302
  function BoardItemsPanel() {
440452
440303
  const { isOpen, openPanel, closePanel } = useBoardItemsPanelContext();
440453
- const [query2, setQuery] = import_react368.useState("");
440454
- const inputRef = import_react368.useRef(null);
440455
- const handleOpenSearch = import_react368.useCallback(() => {
440304
+ const [query2, setQuery] = import_react366.useState("");
440305
+ const inputRef = import_react366.useRef(null);
440306
+ const handleOpenSearch = import_react366.useCallback(() => {
440456
440307
  openPanel();
440457
440308
  setTimeout(() => inputRef.current?.focus(), 50);
440458
440309
  }, [openPanel]);
440459
440310
  useHotkey("KeyF", handleOpenSearch, { ctrl: true });
440460
- return /* @__PURE__ */ import_react368.default.createElement(UiPanel, {
440311
+ return /* @__PURE__ */ import_react366.default.createElement(UiPanel, {
440461
440312
  padding: 0,
440462
440313
  className: clsx_default(BoardItemsPanel_module_default.panel, isOpen && BoardItemsPanel_module_default.open)
440463
- }, /* @__PURE__ */ import_react368.default.createElement("div", {
440314
+ }, /* @__PURE__ */ import_react366.default.createElement("div", {
440464
440315
  className: BoardItemsPanel_module_default.header
440465
- }, /* @__PURE__ */ import_react368.default.createElement("h3", {
440316
+ }, /* @__PURE__ */ import_react366.default.createElement("h3", {
440466
440317
  className: BoardItemsPanel_module_default.title
440467
- }, "Предметы"), /* @__PURE__ */ import_react368.default.createElement(UiButton, {
440318
+ }, "Предметы"), /* @__PURE__ */ import_react366.default.createElement(UiButton, {
440468
440319
  onClick: closePanel,
440469
440320
  variant: "secondary",
440470
440321
  className: BoardItemsPanel_module_default.close
440471
- }, /* @__PURE__ */ import_react368.default.createElement(Icon, {
440322
+ }, /* @__PURE__ */ import_react366.default.createElement(Icon, {
440472
440323
  iconName: "Close"
440473
- }))), /* @__PURE__ */ import_react368.default.createElement("div", {
440324
+ }))), /* @__PURE__ */ import_react366.default.createElement("div", {
440474
440325
  className: BoardItemsPanel_module_default.search
440475
- }, /* @__PURE__ */ import_react368.default.createElement(Icon, {
440326
+ }, /* @__PURE__ */ import_react366.default.createElement(Icon, {
440476
440327
  iconName: "Search",
440477
440328
  width: 14,
440478
440329
  height: 14,
440479
440330
  className: BoardItemsPanel_module_default.searchIcon
440480
- }), /* @__PURE__ */ import_react368.default.createElement("input", {
440331
+ }), /* @__PURE__ */ import_react366.default.createElement("input", {
440481
440332
  className: BoardItemsPanel_module_default.searchInput,
440482
440333
  placeholder: "Поиск...",
440483
440334
  ref: inputRef,
440484
440335
  value: query2,
440485
440336
  onChange: (e15) => setQuery(e15.target.value)
440486
- }), query2 && /* @__PURE__ */ import_react368.default.createElement("button", {
440337
+ }), query2 && /* @__PURE__ */ import_react366.default.createElement("button", {
440487
440338
  className: BoardItemsPanel_module_default.searchClear,
440488
440339
  onClick: () => setQuery("")
440489
- }, /* @__PURE__ */ import_react368.default.createElement(Icon, {
440340
+ }, /* @__PURE__ */ import_react366.default.createElement(Icon, {
440490
440341
  iconName: "Close",
440491
440342
  width: 12,
440492
440343
  height: 12
440493
- }))), /* @__PURE__ */ import_react368.default.createElement("div", {
440344
+ }))), /* @__PURE__ */ import_react366.default.createElement("div", {
440494
440345
  className: BoardItemsPanel_module_default.content
440495
- }, /* @__PURE__ */ import_react368.default.createElement(BoardItemsList, {
440346
+ }, /* @__PURE__ */ import_react366.default.createElement(BoardItemsList, {
440496
440347
  query: query2
440497
440348
  })));
440498
440349
  }
@@ -440503,7 +440354,7 @@ var SidePanelsContainer_module_default = {
440503
440354
  };
440504
440355
 
440505
440356
  // src/features/SidePanelsContainer/SidePanelsContainer.tsx
440506
- var SidePanelsContainer = import_react369.memo(({ isBlank }) => {
440357
+ var SidePanelsContainer = import_react367.memo(({ isBlank }) => {
440507
440358
  const { toggleSideMenu, isOpen } = useSidePanelContext();
440508
440359
  const { renamingId } = useRenameContext();
440509
440360
  const containerRef = useClickOutside(() => {
@@ -440511,21 +440362,21 @@ var SidePanelsContainer = import_react369.memo(({ isBlank }) => {
440511
440362
  toggleSideMenu();
440512
440363
  }
440513
440364
  });
440514
- return /* @__PURE__ */ import_react369.default.createElement(BoardItemsPanelContextProvider, null, /* @__PURE__ */ import_react369.default.createElement(ShapesPanelContextProvider, null, /* @__PURE__ */ import_react369.default.createElement("div", {
440365
+ return /* @__PURE__ */ import_react367.default.createElement(BoardItemsPanelContextProvider, null, /* @__PURE__ */ import_react367.default.createElement(ShapesPanelContextProvider, null, /* @__PURE__ */ import_react367.default.createElement("div", {
440515
440366
  ref: containerRef,
440516
440367
  className: SidePanelsContainer_module_default.sidePanels
440517
- }, (shouldShow("titlePanel") || !isIframe2()) && /* @__PURE__ */ import_react369.default.createElement(TitlePanel, null), /* @__PURE__ */ import_react369.default.createElement(ViewModeGuard, {
440368
+ }, (shouldShow("titlePanel") || !isIframe2()) && /* @__PURE__ */ import_react367.default.createElement(TitlePanel, null), /* @__PURE__ */ import_react367.default.createElement(ViewModeGuard, {
440518
440369
  iframe: true
440519
- }, /* @__PURE__ */ import_react369.default.createElement("div", {
440370
+ }, /* @__PURE__ */ import_react367.default.createElement("div", {
440520
440371
  className: SidePanelsContainer_module_default.hidingPanels
440521
- }, /* @__PURE__ */ import_react369.default.createElement(SidePanel, null), /* @__PURE__ */ import_react369.default.createElement(ShapesPanel, null), /* @__PURE__ */ import_react369.default.createElement(BoardItemsPanel, null)), /* @__PURE__ */ import_react369.default.createElement(InactiveBoardHidder, null, /* @__PURE__ */ import_react369.default.createElement(ViewModeGuard, {
440372
+ }, /* @__PURE__ */ import_react367.default.createElement(SidePanel, null), /* @__PURE__ */ import_react367.default.createElement(ShapesPanel, null), /* @__PURE__ */ import_react367.default.createElement(BoardItemsPanel, null)), /* @__PURE__ */ import_react367.default.createElement(InactiveBoardHidder, null, /* @__PURE__ */ import_react367.default.createElement(ViewModeGuard, {
440522
440373
  mode: ["edit", "view"]
440523
440374
  }, (interfaceType) => {
440524
440375
  switch (interfaceType) {
440525
440376
  case "view":
440526
- return /* @__PURE__ */ import_react369.default.createElement(ViewToolsPanel, null);
440377
+ return /* @__PURE__ */ import_react367.default.createElement(ViewToolsPanel, null);
440527
440378
  case "edit":
440528
- return /* @__PURE__ */ import_react369.default.createElement(ToolsPanel, null);
440379
+ return /* @__PURE__ */ import_react367.default.createElement(ToolsPanel, null);
440529
440380
  default:
440530
440381
  return null;
440531
440382
  }
@@ -440533,10 +440384,10 @@ var SidePanelsContainer = import_react369.memo(({ isBlank }) => {
440533
440384
  });
440534
440385
  SidePanelsContainer.displayName = "SidePanelsContainer";
440535
440386
  // src/features/TextEditor/TextEditor.tsx
440536
- var import_react372 = __toESM(require_react(), 1);
440387
+ var import_react370 = __toESM(require_react(), 1);
440537
440388
 
440538
440389
  // src/features/TextEditor/Leaf.tsx
440539
- var import_react370 = __toESM(require_react(), 1);
440390
+ var import_react368 = __toESM(require_react(), 1);
440540
440391
  function Leaf2(props) {
440541
440392
  const { attributes, leaf: leaf3, fontSize, isAutoSize, text: text5 } = props;
440542
440393
  let { children } = props;
@@ -440562,26 +440413,26 @@ function Leaf2(props) {
440562
440413
  for (const style3 of styles2) {
440563
440414
  switch (style3) {
440564
440415
  case "bold":
440565
- children = /* @__PURE__ */ import_react370.default.createElement("strong", null, children);
440416
+ children = /* @__PURE__ */ import_react368.default.createElement("strong", null, children);
440566
440417
  break;
440567
440418
  case "italic":
440568
- children = /* @__PURE__ */ import_react370.default.createElement("em", null, children);
440419
+ children = /* @__PURE__ */ import_react368.default.createElement("em", null, children);
440569
440420
  break;
440570
440421
  case "underline":
440571
- children = /* @__PURE__ */ import_react370.default.createElement("u", null, children);
440422
+ children = /* @__PURE__ */ import_react368.default.createElement("u", null, children);
440572
440423
  break;
440573
440424
  case "line-through":
440574
- children = /* @__PURE__ */ import_react370.default.createElement("s", null, children);
440425
+ children = /* @__PURE__ */ import_react368.default.createElement("s", null, children);
440575
440426
  break;
440576
440427
  case "sub":
440577
- children = /* @__PURE__ */ import_react370.default.createElement("sub", null, children);
440428
+ children = /* @__PURE__ */ import_react368.default.createElement("sub", null, children);
440578
440429
  break;
440579
440430
  case "super":
440580
- children = /* @__PURE__ */ import_react370.default.createElement("sup", null, children);
440431
+ children = /* @__PURE__ */ import_react368.default.createElement("sup", null, children);
440581
440432
  break;
440582
440433
  }
440583
440434
  }
440584
- return /* @__PURE__ */ import_react370.default.createElement("span", {
440435
+ return /* @__PURE__ */ import_react368.default.createElement("span", {
440585
440436
  ...attributes,
440586
440437
  style: {
440587
440438
  color: props.text.fontColor,
@@ -440593,7 +440444,7 @@ function Leaf2(props) {
440593
440444
  }
440594
440445
 
440595
440446
  // src/features/TextEditor/Element.tsx
440596
- var import_react371 = __toESM(require_react(), 1);
440447
+ var import_react369 = __toESM(require_react(), 1);
440597
440448
 
440598
440449
  // src/features/TextEditor/TextEditor.module.css
440599
440450
  var TextEditor_module_default = {
@@ -440638,7 +440489,7 @@ function Element4(props) {
440638
440489
  }
440639
440490
  switch (element5.type) {
440640
440491
  case "paragraph":
440641
- return /* @__PURE__ */ import_react371.default.createElement("p", {
440492
+ return /* @__PURE__ */ import_react369.default.createElement("p", {
440642
440493
  ...attributes,
440643
440494
  style: {
440644
440495
  textAlign: props.element.horisontalAlignment,
@@ -440648,7 +440499,7 @@ function Element4(props) {
440648
440499
  }
440649
440500
  }, children);
440650
440501
  case "ul_list":
440651
- return /* @__PURE__ */ import_react371.default.createElement("ul", {
440502
+ return /* @__PURE__ */ import_react369.default.createElement("ul", {
440652
440503
  ...attributes,
440653
440504
  style: {
440654
440505
  textAlign: props.element.horisontalAlignment,
@@ -440658,7 +440509,7 @@ function Element4(props) {
440658
440509
  }
440659
440510
  }, children);
440660
440511
  case "ol_list":
440661
- return /* @__PURE__ */ import_react371.default.createElement("ol", {
440512
+ return /* @__PURE__ */ import_react369.default.createElement("ol", {
440662
440513
  ...attributes,
440663
440514
  style: {
440664
440515
  textAlign: props.element.horisontalAlignment,
@@ -440669,7 +440520,7 @@ function Element4(props) {
440669
440520
  className: getListMarkType2(element5.listLevel || 1)
440670
440521
  }, children);
440671
440522
  case "block-quote":
440672
- return /* @__PURE__ */ import_react371.default.createElement("blockquote", {
440523
+ return /* @__PURE__ */ import_react369.default.createElement("blockquote", {
440673
440524
  ...attributes,
440674
440525
  style: {
440675
440526
  textAlign: props.element.horisontalAlignment,
@@ -440678,7 +440529,7 @@ function Element4(props) {
440678
440529
  }
440679
440530
  }, children);
440680
440531
  case "heading_one":
440681
- return /* @__PURE__ */ import_react371.default.createElement("h1", {
440532
+ return /* @__PURE__ */ import_react369.default.createElement("h1", {
440682
440533
  ...attributes,
440683
440534
  style: {
440684
440535
  textAlign: props.element.horisontalAlignment,
@@ -440687,7 +440538,7 @@ function Element4(props) {
440687
440538
  }
440688
440539
  }, children);
440689
440540
  case "heading_two":
440690
- return /* @__PURE__ */ import_react371.default.createElement("h2", {
440541
+ return /* @__PURE__ */ import_react369.default.createElement("h2", {
440691
440542
  ...attributes,
440692
440543
  style: {
440693
440544
  textAlign: props.element.horisontalAlignment,
@@ -440696,7 +440547,7 @@ function Element4(props) {
440696
440547
  }
440697
440548
  }, children);
440698
440549
  case "heading_three":
440699
- return /* @__PURE__ */ import_react371.default.createElement("h3", {
440550
+ return /* @__PURE__ */ import_react369.default.createElement("h3", {
440700
440551
  ...attributes,
440701
440552
  style: {
440702
440553
  textAlign: props.element.horisontalAlignment,
@@ -440705,7 +440556,7 @@ function Element4(props) {
440705
440556
  }
440706
440557
  }, children);
440707
440558
  case "heading_four":
440708
- return /* @__PURE__ */ import_react371.default.createElement("h4", {
440559
+ return /* @__PURE__ */ import_react369.default.createElement("h4", {
440709
440560
  ...attributes,
440710
440561
  style: {
440711
440562
  textAlign: props.element.horisontalAlignment,
@@ -440714,7 +440565,7 @@ function Element4(props) {
440714
440565
  }
440715
440566
  }, children);
440716
440567
  case "heading_five":
440717
- return /* @__PURE__ */ import_react371.default.createElement("h5", {
440568
+ return /* @__PURE__ */ import_react369.default.createElement("h5", {
440718
440569
  ...attributes,
440719
440570
  style: {
440720
440571
  textAlign: props.element.horisontalAlignment,
@@ -440723,7 +440574,7 @@ function Element4(props) {
440723
440574
  }
440724
440575
  }, children);
440725
440576
  case "code_block":
440726
- return /* @__PURE__ */ import_react371.default.createElement("code", {
440577
+ return /* @__PURE__ */ import_react369.default.createElement("code", {
440727
440578
  ...attributes,
440728
440579
  style: {
440729
440580
  textAlign: props.element.horisontalAlignment,
@@ -440733,7 +440584,7 @@ function Element4(props) {
440733
440584
  }
440734
440585
  }, children);
440735
440586
  case "list_item":
440736
- return /* @__PURE__ */ import_react371.default.createElement("li", {
440587
+ return /* @__PURE__ */ import_react369.default.createElement("li", {
440737
440588
  ...attributes,
440738
440589
  className: TextEditor_module_default.listItem,
440739
440590
  style: {
@@ -440747,7 +440598,7 @@ function Element4(props) {
440747
440598
  }
440748
440599
  }, children);
440749
440600
  default:
440750
- return /* @__PURE__ */ import_react371.default.createElement("span", {
440601
+ return /* @__PURE__ */ import_react369.default.createElement("span", {
440751
440602
  ...attributes,
440752
440603
  style: {
440753
440604
  textAlign: props.element.horisontalAlignment,
@@ -440770,7 +440621,7 @@ function verticalAlignmentToFlex(align2) {
440770
440621
  }
440771
440622
 
440772
440623
  // src/features/TextEditor/TextEditor.tsx
440773
- class TextEditors extends import_react372.default.Component {
440624
+ class TextEditors extends import_react370.default.Component {
440774
440625
  observer = () => {
440775
440626
  this.forceUpdate();
440776
440627
  };
@@ -440789,7 +440640,7 @@ class TextEditors extends import_react372.default.Component {
440789
440640
  if (!text5) {
440790
440641
  return null;
440791
440642
  }
440792
- return /* @__PURE__ */ import_react372.default.createElement(TextEditor, {
440643
+ return /* @__PURE__ */ import_react370.default.createElement(TextEditor, {
440793
440644
  app: this.props.app,
440794
440645
  board: this.props.board,
440795
440646
  text: text5,
@@ -440801,7 +440652,7 @@ class TextEditors extends import_react372.default.Component {
440801
440652
  }
440802
440653
  }
440803
440654
 
440804
- class TextEditor extends import_react372.default.Component {
440655
+ class TextEditor extends import_react370.default.Component {
440805
440656
  static getDerivedStateFromError(error3) {
440806
440657
  console.error("Text Editor error", error3);
440807
440658
  return { hasError: true };
@@ -440830,8 +440681,8 @@ class TextEditor extends import_react372.default.Component {
440830
440681
  isButtonVisible: false,
440831
440682
  isQuoteBtnTooltipVisible: false
440832
440683
  };
440833
- containerRef = import_react372.default.createRef();
440834
- editableRef = import_react372.default.createRef();
440684
+ containerRef = import_react370.default.createRef();
440685
+ editableRef = import_react370.default.createRef();
440835
440686
  updateHyperLinkDataFromSelectionAnchor(editor, isWatchMode) {
440836
440687
  const link2 = editor.getFirstSelectionLink(editor.getSelection());
440837
440688
  if (link2) {
@@ -441012,7 +440863,7 @@ class TextEditor extends import_react372.default.Component {
441012
440863
  const editorMaxWidth = text5.insideOf === "Sticker" ? maxWidth3 : Math.ceil(maxWidth3);
441013
440864
  const showPlaceholder = !text5.editor.includesListNode() && text5.getTextString().length === 0;
441014
440865
  if (this.state.hasError) {
441015
- return /* @__PURE__ */ import_react372.default.createElement("div", {
440866
+ return /* @__PURE__ */ import_react370.default.createElement("div", {
441016
440867
  id: "TextEditor",
441017
440868
  ref: this.containerRef,
441018
440869
  className: "notranslate",
@@ -441044,7 +440895,7 @@ class TextEditor extends import_react372.default.Component {
441044
440895
  }
441045
440896
  }, "An editor error has occured");
441046
440897
  }
441047
- return /* @__PURE__ */ import_react372.default.createElement(import_react372.default.Fragment, null, /* @__PURE__ */ import_react372.default.createElement("div", {
440898
+ return /* @__PURE__ */ import_react370.default.createElement(import_react370.default.Fragment, null, /* @__PURE__ */ import_react370.default.createElement("div", {
441048
440899
  id: "TextEditor",
441049
440900
  ref: this.containerRef,
441050
440901
  className: "notranslate",
@@ -441077,7 +440928,7 @@ class TextEditor extends import_react372.default.Component {
441077
440928
  willChange: "transform",
441078
440929
  transform: "translate3d(0,0,0)"
441079
440930
  }
441080
- }, /* @__PURE__ */ import_react372.default.createElement("div", {
440931
+ }, /* @__PURE__ */ import_react370.default.createElement("div", {
441081
440932
  ref: this.editableRef,
441082
440933
  style: {
441083
440934
  position: "relative",
@@ -441093,14 +440944,14 @@ class TextEditor extends import_react372.default.Component {
441093
440944
  },
441094
440945
  className: clsx_default(TextEditor_module_default.editorContainer, showPlaceholder && TextEditor_module_default.showPlaceholder),
441095
440946
  "data-placeholder": text5.placeholderText
441096
- }, /* @__PURE__ */ import_react372.default.createElement(Slate, {
440947
+ }, /* @__PURE__ */ import_react370.default.createElement(Slate, {
441097
440948
  editor: text5.editor.editor,
441098
440949
  initialValue: text5.getText(),
441099
440950
  key: text5.rtCounter,
441100
440951
  onChange: this.handleSelectionChange
441101
- }, /* @__PURE__ */ import_react372.default.createElement(Editable, {
440952
+ }, /* @__PURE__ */ import_react370.default.createElement(Editable, {
441102
440953
  renderElement: Element4,
441103
- renderLeaf: (props) => /* @__PURE__ */ import_react372.default.createElement(Leaf2, {
440954
+ renderLeaf: (props) => /* @__PURE__ */ import_react370.default.createElement(Leaf2, {
441104
440955
  fontSize: text5.getFontSize(),
441105
440956
  isAutoSize: text5.isAutosize(),
441106
440957
  ...props
@@ -441118,7 +440969,7 @@ class TextEditor extends import_react372.default.Component {
441118
440969
  fontSize: text5.isEmpty() ? `${window.MICROBOARD_CONFIG.DEFAULT_TEXT_STYLES.fontSize}px` : undefined
441119
440970
  },
441120
440971
  autoFocus: this.props.text.getLastClickPoint() ? false : true
441121
- }))), /* @__PURE__ */ import_react372.default.createElement(Icon, {
440972
+ }))), /* @__PURE__ */ import_react370.default.createElement(Icon, {
441122
440973
  iconName: "TextLimitWarning",
441123
440974
  width: this.editableRef.current?.offsetWidth,
441124
440975
  height: this.editableRef.current?.offsetHeight,
@@ -441126,7 +440977,7 @@ class TextEditor extends import_react372.default.Component {
441126
440977
  style: {
441127
440978
  transform: `translate(0px) scale(${editorScale})`
441128
440979
  }
441129
- })), isButtonVisible && buttonPosition && text5.insideOf === "AINode" && /* @__PURE__ */ import_react372.default.createElement("button", {
440980
+ })), isButtonVisible && buttonPosition && text5.insideOf === "AINode" && /* @__PURE__ */ import_react370.default.createElement("button", {
441130
440981
  onMouseEnter: () => this.setState({
441131
440982
  isQuoteBtnTooltipVisible: true
441132
440983
  }),
@@ -441140,15 +440991,15 @@ class TextEditor extends import_react372.default.Component {
441140
440991
  top: buttonPosition.top,
441141
440992
  left: buttonPosition.left
441142
440993
  }
441143
- }, this.state.isQuoteBtnTooltipVisible && /* @__PURE__ */ import_react372.default.createElement("div", {
440994
+ }, this.state.isQuoteBtnTooltipVisible && /* @__PURE__ */ import_react370.default.createElement("div", {
441144
440995
  className: TextEditor_module_default.tooltip
441145
- }, window.MICROBOARD_CONFIG.i18n.t("AIInput.quoteBtnTooltip")), /* @__PURE__ */ import_react372.default.createElement("svg", {
440996
+ }, window.MICROBOARD_CONFIG.i18n.t("AIInput.quoteBtnTooltip")), /* @__PURE__ */ import_react370.default.createElement("svg", {
441146
440997
  width: "16",
441147
440998
  height: "16",
441148
440999
  viewBox: "0 0 12 10",
441149
441000
  fill: "none",
441150
441001
  xmlns: "http://www.w3.org/2000/svg"
441151
- }, /* @__PURE__ */ import_react372.default.createElement("path", {
441002
+ }, /* @__PURE__ */ import_react370.default.createElement("path", {
441152
441003
  d: "M10.9485 1.45275C11.6352 2.18208 12.0039 3.00008 12.0039 4.32608C12.0039 6.65942 10.3659 8.75075 7.98385 9.78475L7.38852 8.86608C9.61185 7.66341 10.0465 6.10275 10.2199 5.11875C9.86185 5.30408 9.39319 5.36875 8.93385 5.32608C7.73119 5.21475 6.78319 4.22741 6.78319 3.00008C6.78319 2.38124 7.02902 1.78775 7.4666 1.35017C7.90419 0.912581 8.49768 0.666748 9.11652 0.666748C9.83185 0.666748 10.5159 0.993415 10.9485 1.45275ZM4.28185 1.45275C4.96852 2.18208 5.33719 3.00008 5.33719 4.32608C5.33719 6.65942 3.69919 8.75075 1.31719 9.78475L0.721854 8.86608C2.94519 7.66341 3.37985 6.10275 3.55319 5.11875C3.19519 5.30408 2.72652 5.36875 2.26719 5.32608C1.06452 5.21475 0.117188 4.22741 0.117188 3.00008C0.117188 2.38124 0.36302 1.78775 0.800605 1.35017C1.23819 0.912581 1.83168 0.666748 2.45052 0.666748C3.16585 0.666748 3.84985 0.993415 4.28252 1.45275H4.28185Z",
441153
441004
  fill: "#696B76"
441154
441005
  }))));
@@ -441156,11 +441007,11 @@ class TextEditor extends import_react372.default.Component {
441156
441007
  }
441157
441008
 
441158
441009
  // src/features/ToastProvider.tsx
441159
- var import_react373 = __toESM(require_react(), 1);
441010
+ var import_react371 = __toESM(require_react(), 1);
441160
441011
  function ToastProvider() {
441161
441012
  const isPhoneScreenCheck = () => matchMedia("screen and (max-width: 640px)").matches;
441162
- const [isPhoneScreen, setIsPhoneScreen] = import_react373.useState(isPhoneScreenCheck);
441163
- import_react373.useEffect(() => {
441013
+ const [isPhoneScreen, setIsPhoneScreen] = import_react371.useState(isPhoneScreenCheck);
441014
+ import_react371.useEffect(() => {
441164
441015
  const setScreen = () => {
441165
441016
  setIsPhoneScreen(isPhoneScreenCheck());
441166
441017
  };
@@ -441169,7 +441020,7 @@ function ToastProvider() {
441169
441020
  window.removeEventListener("resize", setScreen);
441170
441021
  };
441171
441022
  });
441172
- return /* @__PURE__ */ import_react373.default.createElement(Ie, {
441023
+ return /* @__PURE__ */ import_react371.default.createElement(Ie, {
441173
441024
  containerStyle: isPhoneScreen ? {
441174
441025
  left: 10,
441175
441026
  top: 10,
@@ -441183,7 +441034,7 @@ function ToastProvider() {
441183
441034
  var import_react405 = __toESM(require_react(), 1);
441184
441035
 
441185
441036
  // src/entities/comments/CommentsPanel/CommentsPanelContext.tsx
441186
- var import_react374 = __toESM(require_react(), 1);
441037
+ var import_react372 = __toESM(require_react(), 1);
441187
441038
  var CommentsPanelContext = createStrictContext();
441188
441039
  function useCommentsPanelContext() {
441189
441040
  return useStrictContext(CommentsPanelContext);
@@ -441191,8 +441042,8 @@ function useCommentsPanelContext() {
441191
441042
  var CommentsPanelContextProvider = ({
441192
441043
  children
441193
441044
  }) => {
441194
- const [isPanelOpen, setIsPanelOpen] = import_react374.useState(false);
441195
- return /* @__PURE__ */ import_react374.default.createElement(CommentsPanelContext.Provider, {
441045
+ const [isPanelOpen, setIsPanelOpen] = import_react372.useState(false);
441046
+ return /* @__PURE__ */ import_react372.default.createElement(CommentsPanelContext.Provider, {
441196
441047
  value: {
441197
441048
  isPanelOpen,
441198
441049
  setIsPanelOpen
@@ -441201,20 +441052,20 @@ var CommentsPanelContextProvider = ({
441201
441052
  };
441202
441053
 
441203
441054
  // src/features/UserPanel/UserPic/UserPic.tsx
441204
- var import_react378 = __toESM(require_react(), 1);
441055
+ var import_react376 = __toESM(require_react(), 1);
441205
441056
 
441206
441057
  // src/features/Presence/BringToMe/BringToMe.tsx
441207
- var import_react376 = __toESM(require_react(), 1);
441058
+ var import_react374 = __toESM(require_react(), 1);
441208
441059
 
441209
441060
  // src/features/Presence/PresenceUsers/EyeIcon.tsx
441210
- var import_react375 = __toESM(require_react(), 1);
441211
- var EyeIcon = ({ fill: fill3 = "#14151A" }) => /* @__PURE__ */ import_react375.default.createElement("svg", {
441061
+ var import_react373 = __toESM(require_react(), 1);
441062
+ var EyeIcon = ({ fill: fill3 = "#14151A" }) => /* @__PURE__ */ import_react373.default.createElement("svg", {
441212
441063
  width: "16",
441213
441064
  height: "16",
441214
441065
  viewBox: "0 0 16 16",
441215
441066
  fill: "none",
441216
441067
  xmlns: "http://www.w3.org/2000/svg"
441217
- }, /* @__PURE__ */ import_react375.default.createElement("path", {
441068
+ }, /* @__PURE__ */ import_react373.default.createElement("path", {
441218
441069
  d: "M0.787109 8C1.41378 4.58667 4.40511 2 7.99978 2C11.5944 2 14.5851 4.58667 15.2124 8C14.5858 11.4133 11.5944 14 7.99978 14C4.40511 14 1.41444 11.4133 0.787109 8V8ZM7.99978 11.3333C8.88383 11.3333 9.73168 10.9821 10.3568 10.357C10.9819 9.7319 11.3331 8.88406 11.3331 8C11.3331 7.11595 10.9819 6.2681 10.3568 5.64298C9.73168 5.01786 8.88383 4.66667 7.99978 4.66667C7.11572 4.66667 6.26788 5.01786 5.64275 5.64298C5.01763 6.2681 4.66644 7.11595 4.66644 8C4.66644 8.88406 5.01763 9.7319 5.64275 10.357C6.26788 10.9821 7.11572 11.3333 7.99978 11.3333ZM7.99978 10C7.46934 10 6.96064 9.78929 6.58556 9.41421C6.21049 9.03914 5.99978 8.53043 5.99978 8C5.99978 7.46957 6.21049 6.96086 6.58556 6.58579C6.96064 6.21071 7.46934 6 7.99978 6C8.53021 6 9.03892 6.21071 9.41399 6.58579C9.78906 6.96086 9.99978 7.46957 9.99978 8C9.99978 8.53043 9.78906 9.03914 9.41399 9.41421C9.03892 9.78929 8.53021 10 7.99978 10Z",
441219
441070
  fill: fill3
441220
441071
  }));
@@ -441287,11 +441138,11 @@ var UserActionsDropdown = ({
441287
441138
  userId,
441288
441139
  onClose
441289
441140
  }) => {
441290
- const dropdownRef = import_react376.useRef(null);
441141
+ const dropdownRef = import_react374.useRef(null);
441291
441142
  const { board } = useAppContext();
441292
441143
  const { t: t11 } = useTranslation();
441293
441144
  const notifyPosition = window.innerWidth < 768 ? "top-center" : "bottom-center";
441294
- import_react376.useEffect(() => {
441145
+ import_react374.useEffect(() => {
441295
441146
  const handleClickOutside = (event) => {
441296
441147
  if (dropdownRef.current && !dropdownRef.current.contains(event.target)) {
441297
441148
  onClose();
@@ -441329,10 +441180,10 @@ var UserActionsDropdown = ({
441329
441180
  });
441330
441181
  onClose();
441331
441182
  };
441332
- return /* @__PURE__ */ import_react376.default.createElement("div", {
441183
+ return /* @__PURE__ */ import_react374.default.createElement("div", {
441333
441184
  ref: dropdownRef,
441334
441185
  className: BringToMe_module_default.userActionsDropdown
441335
- }, /* @__PURE__ */ import_react376.default.createElement(UiButton, {
441186
+ }, /* @__PURE__ */ import_react374.default.createElement(UiButton, {
441336
441187
  className: BringToMe_module_default.dropdownButton,
441337
441188
  size: "sm",
441338
441189
  radius: "md",
@@ -441341,12 +441192,12 @@ var UserActionsDropdown = ({
441341
441192
  onMouseDown: (ev) => {
441342
441193
  ev.stopPropagation();
441343
441194
  }
441344
- }, /* @__PURE__ */ import_react376.default.createElement(Icon, {
441195
+ }, /* @__PURE__ */ import_react374.default.createElement(Icon, {
441345
441196
  iconName: "FollowUser",
441346
441197
  width: 16,
441347
441198
  height: 16,
441348
441199
  className: BringToMe_module_default.icon
441349
- }), /* @__PURE__ */ import_react376.default.createElement("span", null, t11("presence.followUser"))), /* @__PURE__ */ import_react376.default.createElement(UiButton, {
441200
+ }), /* @__PURE__ */ import_react374.default.createElement("span", null, t11("presence.followUser"))), /* @__PURE__ */ import_react374.default.createElement(UiButton, {
441350
441201
  className: BringToMe_module_default.dropdownButton,
441351
441202
  size: "sm",
441352
441203
  radius: "md",
@@ -441355,22 +441206,22 @@ var UserActionsDropdown = ({
441355
441206
  onMouseDown: (ev) => {
441356
441207
  ev.stopPropagation();
441357
441208
  }
441358
- }, /* @__PURE__ */ import_react376.default.createElement(Icon, {
441209
+ }, /* @__PURE__ */ import_react374.default.createElement(Icon, {
441359
441210
  iconName: "BringToMe",
441360
441211
  width: 16,
441361
441212
  height: 16,
441362
441213
  className: BringToMe_module_default.icon
441363
- }), /* @__PURE__ */ import_react376.default.createElement("span", null, t11("presence.bringToMe"))));
441214
+ }), /* @__PURE__ */ import_react374.default.createElement("span", null, t11("presence.bringToMe"))));
441364
441215
  };
441365
441216
  var BringToMe = ({ followers, users }) => {
441366
441217
  const { board } = useAppContext();
441367
441218
  const { t: t11 } = useTranslation();
441368
- const modalRef = import_react376.useRef(null);
441369
- const [trackedUser, setIsTrackedUser] = import_react376.useState();
441370
- const [openDropdownUserId, setOpenDropdownUserId] = import_react376.useState(null);
441371
- const [searchTerm, setSearchTerm] = import_react376.useState("");
441219
+ const modalRef = import_react374.useRef(null);
441220
+ const [trackedUser, setIsTrackedUser] = import_react374.useState();
441221
+ const [openDropdownUserId, setOpenDropdownUserId] = import_react374.useState(null);
441222
+ const [searchTerm, setSearchTerm] = import_react374.useState("");
441372
441223
  const notifyPosition = window.innerWidth < 768 ? "top-center" : "bottom-center";
441373
- import_react376.useEffect(() => {
441224
+ import_react374.useEffect(() => {
441374
441225
  const observer = (presence) => {
441375
441226
  setIsTrackedUser(presence.trackedUser || null);
441376
441227
  };
@@ -441379,18 +441230,18 @@ var BringToMe = ({ followers, users }) => {
441379
441230
  board.presence.subject.unsubscribe(observer);
441380
441231
  };
441381
441232
  });
441382
- const filteredUsers = import_react376.useMemo(() => {
441233
+ const filteredUsers = import_react374.useMemo(() => {
441383
441234
  return users.filter((user) => user.name.toLowerCase().includes(searchTerm.toLowerCase()));
441384
441235
  }, [users, searchTerm]);
441385
- return /* @__PURE__ */ import_react376.default.createElement("div", {
441236
+ return /* @__PURE__ */ import_react374.default.createElement("div", {
441386
441237
  className: PresenceUsers_module_default.shareModal,
441387
441238
  ref: modalRef
441388
- }, /* @__PURE__ */ import_react376.default.createElement("div", {
441239
+ }, /* @__PURE__ */ import_react374.default.createElement("div", {
441389
441240
  className: PresenceUsers_module_default.shareModalSearch
441390
- }, /* @__PURE__ */ import_react376.default.createElement(Input, {
441241
+ }, /* @__PURE__ */ import_react374.default.createElement(Input, {
441391
441242
  id: "searchNicknameId",
441392
441243
  placeholder: t11("presence.searchByName"),
441393
- prefixIcon: /* @__PURE__ */ import_react376.default.createElement(Icon, {
441244
+ prefixIcon: /* @__PURE__ */ import_react374.default.createElement(Icon, {
441394
441245
  iconName: "Search",
441395
441246
  height: 16,
441396
441247
  width: 16,
@@ -441403,34 +441254,34 @@ var BringToMe = ({ followers, users }) => {
441403
441254
  setSearchTerm(ev.target.value);
441404
441255
  setOpenDropdownUserId(null);
441405
441256
  }
441406
- })), /* @__PURE__ */ import_react376.default.createElement("div", {
441257
+ })), /* @__PURE__ */ import_react374.default.createElement("div", {
441407
441258
  className: PresenceUsers_module_default.shareList
441408
- }, filteredUsers.map((user) => /* @__PURE__ */ import_react376.default.createElement("div", {
441259
+ }, filteredUsers.map((user) => /* @__PURE__ */ import_react374.default.createElement("div", {
441409
441260
  key: user.id,
441410
441261
  className: `${PresenceUsers_module_default.shareUser} ${BringToMe_module_default.userListItem}`
441411
- }, user?.avatar ? /* @__PURE__ */ import_react376.default.createElement("img", {
441262
+ }, user?.avatar ? /* @__PURE__ */ import_react374.default.createElement("img", {
441412
441263
  src: user.avatar,
441413
441264
  className: clsx_default(PresenceUsers_module_default.shareUserPic, user.idle && BringToMe_module_default.idleAvatar),
441414
441265
  style: {
441415
441266
  border: `1px solid ${trackedUser && trackedUser.userId === user.id ? user.color : "transparent"}`
441416
441267
  }
441417
- }) : /* @__PURE__ */ import_react376.default.createElement("div", {
441268
+ }) : /* @__PURE__ */ import_react374.default.createElement("div", {
441418
441269
  className: clsx_default(PresenceUsers_module_default.shareUserPic, user.idle && BringToMe_module_default.idleAvatar),
441419
441270
  style: {
441420
441271
  backgroundColor: rgbToRgba(user.color, 0.5),
441421
441272
  border: `1px solid ${trackedUser && trackedUser.userId === user.id ? user.color : "transparent"}`
441422
441273
  }
441423
- }, user.name.charAt(0).toUpperCase()), trackedUser && trackedUser.userId === user.id && /* @__PURE__ */ import_react376.default.createElement("div", {
441274
+ }, user.name.charAt(0).toUpperCase()), trackedUser && trackedUser.userId === user.id && /* @__PURE__ */ import_react374.default.createElement("div", {
441424
441275
  className: PresenceUsers_module_default.shareEye
441425
- }, /* @__PURE__ */ import_react376.default.createElement(EyeIcon, null)), /* @__PURE__ */ import_react376.default.createElement("div", {
441276
+ }, /* @__PURE__ */ import_react374.default.createElement(EyeIcon, null)), /* @__PURE__ */ import_react374.default.createElement("div", {
441426
441277
  className: clsx_default(user.idle && BringToMe_module_default.idleHide)
441427
- }, /* @__PURE__ */ import_react376.default.createElement("p", {
441278
+ }, /* @__PURE__ */ import_react374.default.createElement("p", {
441428
441279
  className: BringToMe_module_default.nickname
441429
- }, user.name), user.idle && /* @__PURE__ */ import_react376.default.createElement("p", {
441280
+ }, user.name), user.idle && /* @__PURE__ */ import_react374.default.createElement("p", {
441430
441281
  className: BringToMe_module_default.idle
441431
- }, t11("presence.idle"))), /* @__PURE__ */ import_react376.default.createElement("div", {
441282
+ }, t11("presence.idle"))), /* @__PURE__ */ import_react374.default.createElement("div", {
441432
441283
  className: BringToMe_module_default.userActionsContainer
441433
- }, /* @__PURE__ */ import_react376.default.createElement(UiButton, {
441284
+ }, /* @__PURE__ */ import_react374.default.createElement(UiButton, {
441434
441285
  className: BringToMe_module_default.btn,
441435
441286
  size: "md",
441436
441287
  radius: "md",
@@ -441442,20 +441293,20 @@ var BringToMe = ({ followers, users }) => {
441442
441293
  onClick: (ev) => {
441443
441294
  ev.stopPropagation();
441444
441295
  }
441445
- }, /* @__PURE__ */ import_react376.default.createElement(Icon, {
441296
+ }, /* @__PURE__ */ import_react374.default.createElement(Icon, {
441446
441297
  iconName: "ThreeDots",
441447
441298
  width: 20,
441448
441299
  height: 20
441449
- })), openDropdownUserId === user.id && /* @__PURE__ */ import_react376.default.createElement(UserActionsDropdown, {
441300
+ })), openDropdownUserId === user.id && /* @__PURE__ */ import_react374.default.createElement(UserActionsDropdown, {
441450
441301
  userId: user.id,
441451
441302
  onClose: () => setOpenDropdownUserId(null)
441452
- }))))), filteredUsers.length === 0 && searchTerm && /* @__PURE__ */ import_react376.default.createElement("div", {
441303
+ }))))), filteredUsers.length === 0 && searchTerm && /* @__PURE__ */ import_react374.default.createElement("div", {
441453
441304
  className: BringToMe_module_default.noResults
441454
- }, /* @__PURE__ */ import_react376.default.createElement("span", null, t11("presence.noUsersFound")), /* @__PURE__ */ import_react376.default.createElement("p", {
441305
+ }, /* @__PURE__ */ import_react374.default.createElement("span", null, t11("presence.noUsersFound")), /* @__PURE__ */ import_react374.default.createElement("p", {
441455
441306
  className: BringToMe_module_default.noResultsTerm
441456
- }, '"', searchTerm, '"'), /* @__PURE__ */ import_react376.default.createElement("span", null, t11("presence.noUsersFoundPostfix"))), /* @__PURE__ */ import_react376.default.createElement("div", {
441307
+ }, '"', searchTerm, '"'), /* @__PURE__ */ import_react374.default.createElement("span", null, t11("presence.noUsersFoundPostfix"))), /* @__PURE__ */ import_react374.default.createElement("div", {
441457
441308
  className: BringToMe_module_default.btns
441458
- }, /* @__PURE__ */ import_react376.default.createElement(UiButton, {
441309
+ }, /* @__PURE__ */ import_react374.default.createElement(UiButton, {
441459
441310
  size: "md",
441460
441311
  className: BringToMe_module_default.btnBring,
441461
441312
  onClick: () => {
@@ -441480,7 +441331,7 @@ var BringToMe = ({ followers, users }) => {
441480
441331
  });
441481
441332
  }
441482
441333
  }
441483
- }, t11("presence.bringToMe")), followers.length > 0 && /* @__PURE__ */ import_react376.default.createElement(UiButton, {
441334
+ }, t11("presence.bringToMe")), followers.length > 0 && /* @__PURE__ */ import_react374.default.createElement(UiButton, {
441484
441335
  className: BringToMe_module_default.btnStop,
441485
441336
  variant: "secondary",
441486
441337
  size: "md",
@@ -441492,18 +441343,18 @@ var BringToMe = ({ followers, users }) => {
441492
441343
  users: followers.map((follower) => follower.userId)
441493
441344
  });
441494
441345
  }
441495
- }, /* @__PURE__ */ import_react376.default.createElement(Icon, {
441346
+ }, /* @__PURE__ */ import_react374.default.createElement(Icon, {
441496
441347
  iconName: "EyeDashed",
441497
441348
  width: 16,
441498
441349
  height: 16,
441499
441350
  style: { color: "#696B76" }
441500
- }), /* @__PURE__ */ import_react376.default.createElement("span", {
441351
+ }), /* @__PURE__ */ import_react374.default.createElement("span", {
441501
441352
  className: BringToMe_module_default.text
441502
441353
  }, `${t11("presence.stop")} ${followers.length} ${followers?.length > 1 ? t11("presence.followers") : t11("presence.follower")}`))));
441503
441354
  };
441504
441355
 
441505
441356
  // src/features/UserPanel/UserDropdown/UserDropdown.tsx
441506
- var import_react377 = __toESM(require_react(), 1);
441357
+ var import_react375 = __toESM(require_react(), 1);
441507
441358
  var UserDropDown = ({
441508
441359
  setIsDropdownOpen,
441509
441360
  isOpen,
@@ -441522,26 +441373,26 @@ var UserDropDown = ({
441522
441373
  if (!isOpen) {
441523
441374
  return null;
441524
441375
  }
441525
- return /* @__PURE__ */ import_react377.default.createElement("div", {
441376
+ return /* @__PURE__ */ import_react375.default.createElement("div", {
441526
441377
  className: UserPanel_module_default.dropdownWrapper,
441527
441378
  ref: dropdownRef,
441528
441379
  style: { top: customTop }
441529
- }, email && /* @__PURE__ */ import_react377.default.createElement("div", {
441380
+ }, email && /* @__PURE__ */ import_react375.default.createElement("div", {
441530
441381
  className: UserPanel_module_default.userInfo
441531
- }, /* @__PURE__ */ import_react377.default.createElement(UserAvatar, {
441382
+ }, /* @__PURE__ */ import_react375.default.createElement(UserAvatar, {
441532
441383
  src: account.info?.avatar,
441533
441384
  width: 40,
441534
441385
  height: 40
441535
- }), /* @__PURE__ */ import_react377.default.createElement("p", {
441386
+ }), /* @__PURE__ */ import_react375.default.createElement("p", {
441536
441387
  className: UserPanel_module_default.userName
441537
- }, email)), /* @__PURE__ */ import_react377.default.createElement("div", {
441388
+ }, email)), /* @__PURE__ */ import_react375.default.createElement("div", {
441538
441389
  className: UserPanel_module_default.dropdownBtns
441539
- }, buttons.filter(import_react377.default.isValidElement).map((button, index4) => {
441540
- return import_react377.default.cloneElement(button, {
441390
+ }, buttons.filter(import_react375.default.isValidElement).map((button, index4) => {
441391
+ return import_react375.default.cloneElement(button, {
441541
441392
  className: UserPanel_module_default.dropdownBtn,
441542
441393
  key: index4
441543
441394
  });
441544
- }), presenceUsers.length > 0 && /* @__PURE__ */ import_react377.default.createElement(BringToMe, {
441395
+ }), presenceUsers.length > 0 && /* @__PURE__ */ import_react375.default.createElement(BringToMe, {
441545
441396
  followers,
441546
441397
  users: presenceUsers
441547
441398
  })));
@@ -441566,7 +441417,7 @@ var UserPic = ({ ...props }) => {
441566
441417
  const { t: t11 } = useTranslation();
441567
441418
  const { board } = useAppContext();
441568
441419
  const { setIsPanelOpen } = useCommentsPanelContext();
441569
- const userPanelRef = import_react378.useRef(null);
441420
+ const userPanelRef = import_react376.useRef(null);
441570
441421
  const account = useAccount();
441571
441422
  const { openModal: openModal2 } = useUiModalContext();
441572
441423
  const navigate = useNavigate();
@@ -441597,7 +441448,7 @@ var UserPic = ({ ...props }) => {
441597
441448
  ev.stopPropagation();
441598
441449
  navigate("/admin");
441599
441450
  };
441600
- return /* @__PURE__ */ import_react378.default.createElement(import_react378.default.Fragment, null, /* @__PURE__ */ import_react378.default.createElement("div", {
441451
+ return /* @__PURE__ */ import_react376.default.createElement(import_react376.default.Fragment, null, /* @__PURE__ */ import_react376.default.createElement("div", {
441601
441452
  className: UserPanel_module_default.userPicWrapper,
441602
441453
  ref: userPanelRef,
441603
441454
  onClick: (event) => {
@@ -441610,14 +441461,14 @@ var UserPic = ({ ...props }) => {
441610
441461
  setIsPanelOpen(false);
441611
441462
  }
441612
441463
  }
441613
- }, /* @__PURE__ */ import_react378.default.createElement(UserAvatar, {
441464
+ }, /* @__PURE__ */ import_react376.default.createElement(UserAvatar, {
441614
441465
  src: account.info?.avatar,
441615
441466
  isOwner,
441616
441467
  tooltip: !props.isDropdownOpen,
441617
441468
  name: account.info?.name
441618
- }), /* @__PURE__ */ import_react378.default.createElement(FollowingUsersCount, {
441469
+ }), /* @__PURE__ */ import_react376.default.createElement(FollowingUsersCount, {
441619
441470
  followers: props.followers
441620
- })), /* @__PURE__ */ import_react378.default.createElement(UserDropDown, {
441471
+ })), /* @__PURE__ */ import_react376.default.createElement(UserDropDown, {
441621
441472
  openerRef: userPanelRef,
441622
441473
  isOpen: props.isDropdownOpen,
441623
441474
  setIsDropdownOpen: props.setIsDropdownOpen,
@@ -441625,67 +441476,67 @@ var UserPic = ({ ...props }) => {
441625
441476
  followers: props.followers,
441626
441477
  presenceUsers: props.presenceUsers,
441627
441478
  buttons: [
441628
- /* @__PURE__ */ import_react378.default.createElement(UiButton, {
441479
+ /* @__PURE__ */ import_react376.default.createElement(UiButton, {
441629
441480
  type: "button",
441630
441481
  key: "userDropDown1",
441631
441482
  onClick: handlePlanModalOpen,
441632
441483
  variant: "ghost",
441633
441484
  size: "lg"
441634
- }, /* @__PURE__ */ import_react378.default.createElement(Icon, {
441485
+ }, /* @__PURE__ */ import_react376.default.createElement(Icon, {
441635
441486
  iconName: "ArrowUpCircle",
441636
441487
  width: 20,
441637
441488
  height: 20
441638
- }), " ", /* @__PURE__ */ import_react378.default.createElement("span", {
441489
+ }), " ", /* @__PURE__ */ import_react376.default.createElement("span", {
441639
441490
  className: UserPanel_module_default.userDropDownButton
441640
441491
  }, t11("userPlan.upgradePlan"))),
441641
- /* @__PURE__ */ import_react378.default.createElement(UiButton, {
441492
+ /* @__PURE__ */ import_react376.default.createElement(UiButton, {
441642
441493
  type: "button",
441643
441494
  key: "userDropDown2",
441644
441495
  onClick: handleOpenProfileSettings,
441645
441496
  variant: "ghost",
441646
441497
  size: "lg"
441647
- }, /* @__PURE__ */ import_react378.default.createElement(Icon, {
441498
+ }, /* @__PURE__ */ import_react376.default.createElement(Icon, {
441648
441499
  width: 20,
441649
441500
  height: 20,
441650
441501
  iconName: "human"
441651
- }), " ", /* @__PURE__ */ import_react378.default.createElement("span", {
441502
+ }), " ", /* @__PURE__ */ import_react376.default.createElement("span", {
441652
441503
  className: UserPanel_module_default.userDropDownButton
441653
441504
  }, t11("profile.title"))),
441654
- /* @__PURE__ */ import_react378.default.createElement(UiButton, {
441505
+ /* @__PURE__ */ import_react376.default.createElement(UiButton, {
441655
441506
  type: "button",
441656
441507
  key: "userDropDown2",
441657
441508
  onClick: handleOpenSupport,
441658
441509
  variant: "ghost",
441659
441510
  size: "lg"
441660
- }, /* @__PURE__ */ import_react378.default.createElement(Icon, {
441511
+ }, /* @__PURE__ */ import_react376.default.createElement(Icon, {
441661
441512
  width: 20,
441662
441513
  height: 20,
441663
441514
  iconName: "support"
441664
- }), " ", /* @__PURE__ */ import_react378.default.createElement("span", {
441515
+ }), " ", /* @__PURE__ */ import_react376.default.createElement("span", {
441665
441516
  className: UserPanel_module_default.userDropDownButton
441666
441517
  }, t11("profile.support"))),
441667
- /* @__PURE__ */ import_react378.default.createElement(ComponentRolesGuard, {
441518
+ /* @__PURE__ */ import_react376.default.createElement(ComponentRolesGuard, {
441668
441519
  allowedRoles: ["ADMIN" /* ADMIN */]
441669
- }, /* @__PURE__ */ import_react378.default.createElement(UiButton, {
441520
+ }, /* @__PURE__ */ import_react376.default.createElement(UiButton, {
441670
441521
  type: "button",
441671
441522
  key: "userDropDown3",
441672
441523
  onClick: handleOpenAdminPage,
441673
441524
  variant: "ghost",
441674
441525
  size: "lg"
441675
- }, /* @__PURE__ */ import_react378.default.createElement(Icon, {
441526
+ }, /* @__PURE__ */ import_react376.default.createElement(Icon, {
441676
441527
  width: 20,
441677
441528
  height: 20,
441678
441529
  iconName: "Admin"
441679
- }), " ", /* @__PURE__ */ import_react378.default.createElement("span", {
441530
+ }), " ", /* @__PURE__ */ import_react376.default.createElement("span", {
441680
441531
  className: UserPanel_module_default.userDropDownButton
441681
441532
  }, t11("profile.adminPanel")))),
441682
- /* @__PURE__ */ import_react378.default.createElement(UiButton, {
441533
+ /* @__PURE__ */ import_react376.default.createElement(UiButton, {
441683
441534
  type: "button",
441684
441535
  key: "userDropDown4",
441685
441536
  onClick: handleLogout,
441686
441537
  variant: "ghost",
441687
441538
  size: "lg"
441688
- }, /* @__PURE__ */ import_react378.default.createElement(Logout, null), /* @__PURE__ */ import_react378.default.createElement("span", {
441539
+ }, /* @__PURE__ */ import_react376.default.createElement(Logout, null), /* @__PURE__ */ import_react376.default.createElement("span", {
441689
441540
  className: UserPanel_module_default.userDropDownButton
441690
441541
  }, t11("profile.logout")))
441691
441542
  ]
@@ -441693,18 +441544,18 @@ var UserPic = ({ ...props }) => {
441693
441544
  };
441694
441545
 
441695
441546
  // src/features/Presence/PresenceUsers/PresenceUsers.tsx
441696
- var import_react380 = __toESM(require_react(), 1);
441547
+ var import_react378 = __toESM(require_react(), 1);
441697
441548
 
441698
441549
  // src/features/Presence/PresenceUsers/PresenceUserAvatar.tsx
441699
- var import_react379 = __toESM(require_react(), 1);
441550
+ var import_react377 = __toESM(require_react(), 1);
441700
441551
  var TippySvg = () => {
441701
- return /* @__PURE__ */ import_react379.default.createElement("svg", {
441552
+ return /* @__PURE__ */ import_react377.default.createElement("svg", {
441702
441553
  width: "14",
441703
441554
  height: "4",
441704
441555
  viewBox: "0 0 14 4",
441705
441556
  fill: "none",
441706
441557
  xmlns: "http://www.w3.org/2000/svg"
441707
- }, /* @__PURE__ */ import_react379.default.createElement("path", {
441558
+ }, /* @__PURE__ */ import_react377.default.createElement("path", {
441708
441559
  d: "M6.9372 0C6.9372 0 3.40535 3.99848 0.0980963 3.99963C-1.46344 4.00017 16.1695 4.00007 13.7763 3.99963C10.2587 3.99898 6.9372 0 6.9372 0Z",
441709
441560
  fill: "#0B0C0E"
441710
441561
  }));
@@ -441717,35 +441568,35 @@ var PresenceUserAvatar = ({
441717
441568
  }) => {
441718
441569
  const isTracked = trackedUser?.userId === user.id;
441719
441570
  const { t: t11 } = useTranslation();
441720
- return /* @__PURE__ */ import_react379.default.createElement("div", {
441571
+ return /* @__PURE__ */ import_react377.default.createElement("div", {
441721
441572
  className: PresenceUsers_module_default.userWrapper,
441722
441573
  style: { "--index": index4 },
441723
441574
  onClick
441724
- }, /* @__PURE__ */ import_react379.default.createElement("div", {
441575
+ }, /* @__PURE__ */ import_react377.default.createElement("div", {
441725
441576
  className: clsx_default(PresenceUsers_module_default.userAvatar, isTracked ? PresenceUsers_module_default.selectedAvatar : "", user.idle && !isTracked ? PresenceUsers_module_default.idle : ""),
441726
441577
  style: {
441727
441578
  borderColor: user.color,
441728
441579
  backgroundColor: user.avatar ? undefined : rgbToRgba(user.color, 0.5)
441729
441580
  }
441730
- }, user.avatar ? /* @__PURE__ */ import_react379.default.createElement("img", {
441581
+ }, user.avatar ? /* @__PURE__ */ import_react377.default.createElement("img", {
441731
441582
  src: user.avatar,
441732
441583
  alt: user.name
441733
- }) : user.name.charAt(0), isTracked && /* @__PURE__ */ import_react379.default.createElement("div", {
441584
+ }) : user.name.charAt(0), isTracked && /* @__PURE__ */ import_react377.default.createElement("div", {
441734
441585
  className: PresenceUsers_module_default.trackedUserOverlay,
441735
441586
  style: {
441736
441587
  backgroundColor: rgbToRgba(user.color, 0.5) || user.color
441737
441588
  }
441738
- }, /* @__PURE__ */ import_react379.default.createElement(EyeIcon, null))), /* @__PURE__ */ import_react379.default.createElement("div", {
441589
+ }, /* @__PURE__ */ import_react377.default.createElement(EyeIcon, null))), /* @__PURE__ */ import_react377.default.createElement("div", {
441739
441590
  className: PresenceUsers_module_default.tooltip
441740
- }, user.name === "Anonymous" ? t11("presence.anonymous") : user.name), /* @__PURE__ */ import_react379.default.createElement("div", {
441591
+ }, user.name === "Anonymous" ? t11("presence.anonymous") : user.name), /* @__PURE__ */ import_react377.default.createElement("div", {
441741
441592
  className: PresenceUsers_module_default.tippy
441742
- }, /* @__PURE__ */ import_react379.default.createElement(TippySvg, null)));
441593
+ }, /* @__PURE__ */ import_react377.default.createElement(TippySvg, null)));
441743
441594
  };
441744
441595
 
441745
441596
  // src/features/Presence/PresenceUsers/PresenceUsers.tsx
441746
441597
  var FollowingUsersCount = ({ followers }) => {
441747
441598
  const { t: t11 } = useTranslation();
441748
- const [isOpen, setIsOpen] = import_react380.useState(false);
441599
+ const [isOpen, setIsOpen] = import_react378.useState(false);
441749
441600
  const account = useAccount();
441750
441601
  const tooltipRef = useClickOutside(() => {
441751
441602
  setIsOpen(false);
@@ -441753,9 +441604,9 @@ var FollowingUsersCount = ({ followers }) => {
441753
441604
  if (!followers.length) {
441754
441605
  return null;
441755
441606
  }
441756
- return /* @__PURE__ */ import_react380.default.createElement("div", {
441607
+ return /* @__PURE__ */ import_react378.default.createElement("div", {
441757
441608
  className: PresenceUsers_module_default.followingCounter
441758
- }, /* @__PURE__ */ import_react380.default.createElement("div", {
441609
+ }, /* @__PURE__ */ import_react378.default.createElement("div", {
441759
441610
  className: PresenceUsers_module_default.followingCounterIcon,
441760
441611
  onMouseDown: (ev) => {
441761
441612
  ev.stopPropagation();
@@ -441766,20 +441617,20 @@ var FollowingUsersCount = ({ followers }) => {
441766
441617
  }
441767
441618
  setIsOpen(!isOpen);
441768
441619
  }
441769
- }, /* @__PURE__ */ import_react380.default.createElement(EyeIcon, {
441620
+ }, /* @__PURE__ */ import_react378.default.createElement(EyeIcon, {
441770
441621
  fill: "white"
441771
- }), /* @__PURE__ */ import_react380.default.createElement("span", null, followers.length)), /* @__PURE__ */ import_react380.default.createElement("div", {
441622
+ }), /* @__PURE__ */ import_react378.default.createElement("span", null, followers.length)), /* @__PURE__ */ import_react378.default.createElement("div", {
441772
441623
  ref: tooltipRef,
441773
441624
  className: clsx_default(PresenceUsers_module_default.followersTooltip, isOpen && PresenceUsers_module_default.followersVisible)
441774
- }, /* @__PURE__ */ import_react380.default.createElement("p", {
441625
+ }, /* @__PURE__ */ import_react378.default.createElement("p", {
441775
441626
  className: PresenceUsers_module_default.followersMe
441776
- }, account.info?.email, " ", t11("presence.(you)")), /* @__PURE__ */ import_react380.default.createElement("span", {
441627
+ }, account.info?.email, " ", t11("presence.(you)")), /* @__PURE__ */ import_react378.default.createElement("span", {
441777
441628
  className: PresenceUsers_module_default.followersBoard
441778
- }, t11("presence.yourBoard")), /* @__PURE__ */ import_react380.default.createElement("div", {
441629
+ }, t11("presence.yourBoard")), /* @__PURE__ */ import_react378.default.createElement("div", {
441779
441630
  className: PresenceUsers_module_default.followersHr
441780
- }), /* @__PURE__ */ import_react380.default.createElement("div", {
441631
+ }), /* @__PURE__ */ import_react378.default.createElement("div", {
441781
441632
  className: PresenceUsers_module_default.followersList
441782
- }, followers.map((follower) => /* @__PURE__ */ import_react380.default.createElement("span", {
441633
+ }, followers.map((follower) => /* @__PURE__ */ import_react378.default.createElement("span", {
441783
441634
  key: follower.userId,
441784
441635
  className: PresenceUsers_module_default.followersItem
441785
441636
  }, follower.nickname, " ", t11("presence.following"))))));
@@ -441787,16 +441638,16 @@ var FollowingUsersCount = ({ followers }) => {
441787
441638
  var USERS_IN_ROW = 3;
441788
441639
  var PresenceUsers = () => {
441789
441640
  const { board } = useAppContext();
441790
- const [selectedUsers, setSelectedUsers] = import_react380.useState(new Set);
441791
- const [users, setUsers] = import_react380.useState([]);
441792
- const [followers, setFollowers] = import_react380.useState([]);
441793
- const [trackedUser, setTrackedUser] = import_react380.useState(null);
441794
- const [displayUsers, setDisplayUsers] = import_react380.useState(users);
441795
- const [isUserDropdownOpen, setIsUserDropdownOpen] = import_react380.useState(false);
441641
+ const [selectedUsers, setSelectedUsers] = import_react378.useState(new Set);
441642
+ const [users, setUsers] = import_react378.useState([]);
441643
+ const [followers, setFollowers] = import_react378.useState([]);
441644
+ const [trackedUser, setTrackedUser] = import_react378.useState(null);
441645
+ const [displayUsers, setDisplayUsers] = import_react378.useState(users);
441646
+ const [isUserDropdownOpen, setIsUserDropdownOpen] = import_react378.useState(false);
441796
441647
  const account = useAccount();
441797
441648
  const { setIsPanelOpen } = useCommentsPanelContext();
441798
441649
  const needsCollapse = users.length >= 3;
441799
- import_react380.useEffect(() => {
441650
+ import_react378.useEffect(() => {
441800
441651
  const sortedUsers = [...users].sort((first2, second) => selectedUsers.has(first2.id) === selectedUsers.has(second.id) ? 0 : selectedUsers.has(first2.id) ? -1 : 1).sort((first2, second) => first2.idle === second.idle ? 0 : first2.idle ? 1 : -1);
441801
441652
  setDisplayUsers(sortedUsers.slice(0, USERS_IN_ROW));
441802
441653
  }, [users, selectedUsers]);
@@ -441826,7 +441677,7 @@ var PresenceUsers = () => {
441826
441677
  setUsers(uniqueUsersByHardId);
441827
441678
  setFollowers(board.presence.getFollowers());
441828
441679
  };
441829
- import_react380.useEffect(() => {
441680
+ import_react378.useEffect(() => {
441830
441681
  const observer = (presence) => {
441831
441682
  updateUsers(presence);
441832
441683
  setTrackedUser(presence.trackedUser || null);
@@ -441836,22 +441687,22 @@ var PresenceUsers = () => {
441836
441687
  board.presence.subject.unsubscribe(observer);
441837
441688
  };
441838
441689
  }, [board]);
441839
- import_react380.useEffect(() => {
441690
+ import_react378.useEffect(() => {
441840
441691
  updateUsers(board.presence);
441841
441692
  }, [board.getInterfaceType()]);
441842
- return /* @__PURE__ */ import_react380.default.createElement("div", {
441693
+ return /* @__PURE__ */ import_react378.default.createElement("div", {
441843
441694
  className: PresenceUsers_module_default.wrapper
441844
- }, /* @__PURE__ */ import_react380.default.createElement("div", {
441695
+ }, /* @__PURE__ */ import_react378.default.createElement("div", {
441845
441696
  className: PresenceUsers_module_default.container
441846
- }, /* @__PURE__ */ import_react380.default.createElement("div", {
441697
+ }, /* @__PURE__ */ import_react378.default.createElement("div", {
441847
441698
  className: PresenceUsers_module_default.userList
441848
- }, displayUsers.map((user, index4) => /* @__PURE__ */ import_react380.default.createElement(PresenceUserAvatar, {
441699
+ }, displayUsers.map((user, index4) => /* @__PURE__ */ import_react378.default.createElement(PresenceUserAvatar, {
441849
441700
  key: user.id,
441850
441701
  user,
441851
441702
  trackedUser,
441852
441703
  index: index4,
441853
441704
  onClick: () => selectUser(user.id)
441854
- })), /* @__PURE__ */ import_react380.default.createElement(UserPic, {
441705
+ })), /* @__PURE__ */ import_react378.default.createElement(UserPic, {
441855
441706
  className: PresenceUsers_module_default.userWrapper,
441856
441707
  style: { zIndex: 1000 },
441857
441708
  followers,
@@ -441859,7 +441710,7 @@ var PresenceUsers = () => {
441859
441710
  email: account.info?.name ?? getEmailPrefix(account.info?.email ?? "", "Anonymous"),
441860
441711
  setIsDropdownOpen: setIsUserDropdownOpen,
441861
441712
  isDropdownOpen: isUserDropdownOpen
441862
- }), needsCollapse && /* @__PURE__ */ import_react380.default.createElement("button", {
441713
+ }), needsCollapse && /* @__PURE__ */ import_react378.default.createElement("button", {
441863
441714
  onClick: (event) => {
441864
441715
  event.stopPropagation();
441865
441716
  if (!isUserDropdownOpen) {
@@ -441874,11 +441725,11 @@ var PresenceUsers = () => {
441874
441725
  "--index": displayUsers.length
441875
441726
  },
441876
441727
  className: PresenceUsers_module_default.usersOverflowWrapper
441877
- }, /* @__PURE__ */ import_react380.default.createElement("div", {
441728
+ }, /* @__PURE__ */ import_react378.default.createElement("div", {
441878
441729
  className: PresenceUsers_module_default.usersOverflowGap
441879
- }), /* @__PURE__ */ import_react380.default.createElement("div", {
441730
+ }), /* @__PURE__ */ import_react378.default.createElement("div", {
441880
441731
  className: PresenceUsers_module_default.usersOverflowCounter
441881
- }, /* @__PURE__ */ import_react380.default.createElement("span", null, users.length), /* @__PURE__ */ import_react380.default.createElement(Icon, {
441732
+ }, /* @__PURE__ */ import_react378.default.createElement("span", null, users.length), /* @__PURE__ */ import_react378.default.createElement(Icon, {
441882
441733
  iconName: "StrokeChevronDown",
441883
441734
  width: 11,
441884
441735
  height: 6
@@ -441889,7 +441740,7 @@ var PresenceUsers = () => {
441889
441740
  var import_react383 = __toESM(require_react(), 1);
441890
441741
 
441891
441742
  // src/features/UserPanel/Buttons/AddComment/AddComment.tsx
441892
- var import_react381 = __toESM(require_react(), 1);
441743
+ var import_react379 = __toESM(require_react(), 1);
441893
441744
 
441894
441745
  // src/features/UserPanel/Buttons/AddComment/AddComment.module.css
441895
441746
  var AddComment_module_default = {
@@ -441924,7 +441775,7 @@ function AddComment2() {
441924
441775
  }
441925
441776
  board.tools.addComment(true);
441926
441777
  };
441927
- return /* @__PURE__ */ import_react381.default.createElement(UiButton, {
441778
+ return /* @__PURE__ */ import_react379.default.createElement(UiButton, {
441928
441779
  className: AddComment_module_default.btn,
441929
441780
  id: "tool-add-comment",
441930
441781
  tooltipPosition: "bottom",
@@ -441933,16 +441784,16 @@ function AddComment2() {
441933
441784
  active: isActive,
441934
441785
  variant: "secondary",
441935
441786
  rounded: "left"
441936
- }, /* @__PURE__ */ import_react381.default.createElement(Icon, {
441787
+ }, /* @__PURE__ */ import_react379.default.createElement(Icon, {
441937
441788
  iconName: "Comment",
441938
441789
  width: 20,
441939
441790
  height: 20
441940
- }), showBadge && /* @__PURE__ */ import_react381.default.createElement("div", {
441791
+ }), showBadge && /* @__PURE__ */ import_react379.default.createElement("div", {
441941
441792
  className: AddComment_module_default.badge
441942
441793
  }));
441943
441794
  }
441944
441795
  // src/features/UserPanel/Buttons/TogglePresenceRender/TogglePresenceRender.tsx
441945
- var import_react382 = __toESM(require_react(), 1);
441796
+ var import_react380 = __toESM(require_react(), 1);
441946
441797
 
441947
441798
  // src/features/UserPanel/Buttons/TogglePresenceRender/TogglePresenceRender.module.css
441948
441799
  var TogglePresenceRender_module_default = {
@@ -441953,9 +441804,9 @@ var TogglePresenceRender_module_default = {
441953
441804
  // src/features/UserPanel/Buttons/TogglePresenceRender/TogglePresenceRender.tsx
441954
441805
  var TogglePresenceRender = () => {
441955
441806
  const { t: t11 } = useTranslation();
441956
- const [cursorsActive, setCursorsActive] = import_react382.useState(true);
441807
+ const [cursorsActive, setCursorsActive] = import_react380.useState(true);
441957
441808
  const { app } = useAppContext();
441958
- return /* @__PURE__ */ import_react382.default.createElement(UiButton, {
441809
+ return /* @__PURE__ */ import_react380.default.createElement(UiButton, {
441959
441810
  id: "tool-cursors-toggle",
441960
441811
  tooltipPosition: "bottom",
441961
441812
  tooltip: cursorsActive ? t11("presence.hideCursors") : t11("presence.showCursors"),
@@ -441967,13 +441818,162 @@ var TogglePresenceRender = () => {
441967
441818
  const cursorsEnabled = app.getBoard().presence.toggleCursorsRendering();
441968
441819
  setCursorsActive(cursorsEnabled);
441969
441820
  }
441970
- }, /* @__PURE__ */ import_react382.default.createElement(Icon, {
441821
+ }, /* @__PURE__ */ import_react380.default.createElement(Icon, {
441971
441822
  iconName: "ToggleCursors",
441972
441823
  width: 20,
441973
441824
  height: 20
441974
441825
  }));
441975
441826
  };
441976
441827
 
441828
+ // src/features/ToolsPanel/Buttons/ThemeToggle.tsx
441829
+ var import_react382 = __toESM(require_react(), 1);
441830
+
441831
+ // src/shared/lib/uiTheme.ts
441832
+ var import_react381 = __toESM(require_react(), 1);
441833
+ var STORAGE_KEY = "ui-theme";
441834
+ function applyTheme(theme2) {
441835
+ document.documentElement.setAttribute("data-theme", theme2);
441836
+ conf.theme = theme2;
441837
+ }
441838
+ function getInitialTheme() {
441839
+ const stored = localStorage.getItem(STORAGE_KEY);
441840
+ if (stored === "light" || stored === "dark")
441841
+ return stored;
441842
+ return window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
441843
+ }
441844
+ function initTheme() {
441845
+ applyTheme(getInitialTheme());
441846
+ }
441847
+ function toggleUITheme() {
441848
+ const current2 = document.documentElement.getAttribute("data-theme");
441849
+ const next5 = current2 === "dark" ? "light" : "dark";
441850
+ localStorage.setItem(STORAGE_KEY, next5);
441851
+ applyTheme(next5);
441852
+ return next5;
441853
+ }
441854
+ function getCurrentUITheme() {
441855
+ return document.documentElement.getAttribute("data-theme") ?? "light";
441856
+ }
441857
+ function useUITheme() {
441858
+ const [theme2, setTheme] = import_react381.useState(getCurrentUITheme);
441859
+ const toggle = () => {
441860
+ setTheme(toggleUITheme());
441861
+ };
441862
+ return { theme: theme2, toggle };
441863
+ }
441864
+
441865
+ // src/features/ToolsPanel/Buttons/ThemeToggle.tsx
441866
+ function SunIcon() {
441867
+ return /* @__PURE__ */ import_react382.default.createElement("svg", {
441868
+ width: "20",
441869
+ height: "20",
441870
+ viewBox: "0 0 20 20",
441871
+ fill: "none",
441872
+ xmlns: "http://www.w3.org/2000/svg"
441873
+ }, /* @__PURE__ */ import_react382.default.createElement("circle", {
441874
+ cx: "10",
441875
+ cy: "10",
441876
+ r: "3.5",
441877
+ stroke: "currentColor",
441878
+ strokeWidth: "1.5"
441879
+ }), /* @__PURE__ */ import_react382.default.createElement("line", {
441880
+ x1: "10",
441881
+ y1: "1",
441882
+ x2: "10",
441883
+ y2: "3.5",
441884
+ stroke: "currentColor",
441885
+ strokeWidth: "1.5",
441886
+ strokeLinecap: "round"
441887
+ }), /* @__PURE__ */ import_react382.default.createElement("line", {
441888
+ x1: "10",
441889
+ y1: "16.5",
441890
+ x2: "10",
441891
+ y2: "19",
441892
+ stroke: "currentColor",
441893
+ strokeWidth: "1.5",
441894
+ strokeLinecap: "round"
441895
+ }), /* @__PURE__ */ import_react382.default.createElement("line", {
441896
+ x1: "19",
441897
+ y1: "10",
441898
+ x2: "16.5",
441899
+ y2: "10",
441900
+ stroke: "currentColor",
441901
+ strokeWidth: "1.5",
441902
+ strokeLinecap: "round"
441903
+ }), /* @__PURE__ */ import_react382.default.createElement("line", {
441904
+ x1: "3.5",
441905
+ y1: "10",
441906
+ x2: "1",
441907
+ y2: "10",
441908
+ stroke: "currentColor",
441909
+ strokeWidth: "1.5",
441910
+ strokeLinecap: "round"
441911
+ }), /* @__PURE__ */ import_react382.default.createElement("line", {
441912
+ x1: "16.07",
441913
+ y1: "3.93",
441914
+ x2: "14.31",
441915
+ y2: "5.69",
441916
+ stroke: "currentColor",
441917
+ strokeWidth: "1.5",
441918
+ strokeLinecap: "round"
441919
+ }), /* @__PURE__ */ import_react382.default.createElement("line", {
441920
+ x1: "5.69",
441921
+ y1: "14.31",
441922
+ x2: "3.93",
441923
+ y2: "16.07",
441924
+ stroke: "currentColor",
441925
+ strokeWidth: "1.5",
441926
+ strokeLinecap: "round"
441927
+ }), /* @__PURE__ */ import_react382.default.createElement("line", {
441928
+ x1: "16.07",
441929
+ y1: "16.07",
441930
+ x2: "14.31",
441931
+ y2: "14.31",
441932
+ stroke: "currentColor",
441933
+ strokeWidth: "1.5",
441934
+ strokeLinecap: "round"
441935
+ }), /* @__PURE__ */ import_react382.default.createElement("line", {
441936
+ x1: "5.69",
441937
+ y1: "5.69",
441938
+ x2: "3.93",
441939
+ y2: "3.93",
441940
+ stroke: "currentColor",
441941
+ strokeWidth: "1.5",
441942
+ strokeLinecap: "round"
441943
+ }));
441944
+ }
441945
+ function MoonIcon() {
441946
+ return /* @__PURE__ */ import_react382.default.createElement("svg", {
441947
+ width: "20",
441948
+ height: "20",
441949
+ viewBox: "0 0 20 20",
441950
+ fill: "none",
441951
+ xmlns: "http://www.w3.org/2000/svg"
441952
+ }, /* @__PURE__ */ import_react382.default.createElement("path", {
441953
+ d: "M17 12.5A7.5 7.5 0 1 1 7.5 3a5.5 5.5 0 0 0 9.5 9.5z",
441954
+ stroke: "currentColor",
441955
+ strokeWidth: "1.5",
441956
+ strokeLinecap: "round",
441957
+ strokeLinejoin: "round"
441958
+ }));
441959
+ }
441960
+ function ThemeToggle() {
441961
+ const { board } = useAppContext();
441962
+ const { theme: theme2, toggle } = useUITheme();
441963
+ const handleClick = () => {
441964
+ toggle();
441965
+ board.items.subject.publish(board.items);
441966
+ };
441967
+ return /* @__PURE__ */ import_react382.default.createElement(UiButton, {
441968
+ id: "theme-toggle",
441969
+ tooltip: theme2 === "light" ? "Switch to dark theme" : "Switch to light theme",
441970
+ tooltipPosition: "bottom",
441971
+ onClick: handleClick,
441972
+ variant: "secondary",
441973
+ rounded: "none"
441974
+ }, theme2 === "light" ? /* @__PURE__ */ import_react382.default.createElement(MoonIcon, null) : /* @__PURE__ */ import_react382.default.createElement(SunIcon, null));
441975
+ }
441976
+
441977
441977
  // src/features/UserPanel/ActionButtons/ActionButtons.module.css
441978
441978
  var ActionButtons_module_default = {
441979
441979
  wrapper: "wrapper_VBuAXg"
@@ -443588,7 +443588,7 @@ var UserPanel = () => {
443588
443588
  className: UserPanel_module_default.unauthWrapper
443589
443589
  }, /* @__PURE__ */ import_react405.default.createElement("div", {
443590
443590
  className: UserPanel_module_default.unauthBtns
443591
- }, isMicroboardIframe() && insideOfMicroboard ? /* @__PURE__ */ import_react405.default.createElement(import_react405.default.Fragment, null, /* @__PURE__ */ import_react405.default.createElement(UiLink, {
443591
+ }, /* @__PURE__ */ import_react405.default.createElement(ThemeToggle, null), isMicroboardIframe() && insideOfMicroboard ? /* @__PURE__ */ import_react405.default.createElement(import_react405.default.Fragment, null, /* @__PURE__ */ import_react405.default.createElement(UiLink, {
443592
443592
  variant: "secondary",
443593
443593
  className: UserPanel_module_default.logInBtn,
443594
443594
  onClick: () => onLoginOrRegistrationClick(`/auth/sign-in`),