@layers-app/shared 0.2.6 → 0.2.7

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.
Files changed (53) hide show
  1. package/dist/components/AppContainer/components/AppSidebarButton.d.ts +1 -1
  2. package/dist/components/AppContainer/components/AppSidebarButton.d.ts.map +1 -1
  3. package/dist/components/AppContainer/components/AppSidebarButton.js +4 -4
  4. package/dist/components/AppContainer/components/AppsSidebar/AppsSection.js +22 -22
  5. package/dist/components/AppContainer/components/AppsSidebar/TopSection.d.ts.map +1 -1
  6. package/dist/components/AppContainer/components/AppsSidebar/TopSection.js +25 -25
  7. package/dist/components/AppContainer/components/AppsSidebar/UserSection.js +41 -41
  8. package/dist/components/AppContainer/components/menus/HelpMenu/HelpMenu.js +1 -1
  9. package/dist/components/AppContainer/hooks/useAppContainer.d.ts +1 -1
  10. package/dist/components/AppContainer/hooks/useAppContainer.d.ts.map +1 -1
  11. package/dist/components/AppContainer/hooks/useAppContainer.js +40 -37
  12. package/dist/components/AppContainer/hooks/useAppContainerDataStore.d.ts.map +1 -1
  13. package/dist/components/AppContainer/hooks/useAppContainerDataStore.js +3 -2
  14. package/dist/components/AppContainer/types.d.ts +1 -0
  15. package/dist/components/AppContainer/types.d.ts.map +1 -1
  16. package/dist/components/FormViewer/components/OneSlideLayput.js +39 -37
  17. package/dist/components/FormViewer/hooks/useCreateFormContext.d.ts.map +1 -1
  18. package/dist/components/FormViewer/hooks/useCreateFormContext.js +10 -10
  19. package/dist/components/FormViewer/store/formStoreApi.js +13 -13
  20. package/dist/components/ImageCropper/ImageCropper.d.ts.map +1 -1
  21. package/dist/components/ImageCropper/ImageCropper.js +185 -183
  22. package/dist/components/LanguagePicker/LanguagePicker.d.ts.map +1 -1
  23. package/dist/components/LanguagePicker/LanguagePicker.js +41 -32
  24. package/dist/components/LanguagePicker/LanguagePicker.module.css.js +6 -4
  25. package/dist/components/NavMenu/components/NavMenuItem.d.ts.map +1 -1
  26. package/dist/components/NavMenu/components/NavMenuItem.js +53 -50
  27. package/dist/components/NavMenu/types.d.ts +1 -0
  28. package/dist/components/NavMenu/types.d.ts.map +1 -1
  29. package/dist/components/SocialLinkRow/index.d.ts.map +1 -1
  30. package/dist/components/SocialLinkRow/index.js +80 -58
  31. package/dist/components/TimezonePicker/index.d.ts.map +1 -1
  32. package/dist/components/TimezonePicker/index.js +42 -41
  33. package/dist/components/UserAvatar/index.d.ts.map +1 -1
  34. package/dist/components/UserAvatar/index.js +11 -10
  35. package/dist/components/WorkspaceMenu/WorkspaceItem.js +1 -1
  36. package/dist/helpers/showFeatureFeedback.d.ts +16 -0
  37. package/dist/helpers/showFeatureFeedback.d.ts.map +1 -0
  38. package/dist/helpers/showFeatureFeedback.js +109 -0
  39. package/dist/helpers/showFeatureFeedback.module.css.js +9 -0
  40. package/dist/helpers/showNotifications.d.ts.map +1 -1
  41. package/dist/helpers/showNotifications.js +81 -113
  42. package/dist/helpers/showNotifications.module.css.js +10 -10
  43. package/dist/hooks/useFeatureFeedback.d.ts +23 -0
  44. package/dist/hooks/useFeatureFeedback.d.ts.map +1 -0
  45. package/dist/hooks/useFeatureFeedback.js +48 -0
  46. package/dist/index.css +1 -1
  47. package/dist/index.d.ts +3 -0
  48. package/dist/index.d.ts.map +1 -1
  49. package/dist/index.js +322 -310
  50. package/dist/lib/layersVisitData.d.ts +13 -0
  51. package/dist/lib/layersVisitData.d.ts.map +1 -0
  52. package/dist/lib/layersVisitData.js +37 -0
  53. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"NavMenuItem.d.ts","sourceRoot":"","sources":["../../../../src/components/NavMenu/components/NavMenuItem.tsx"],"names":[],"mappings":"AAqBA,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAKhD,KAAK,gBAAgB,GAAG;IACtB,IAAI,EAAE,oBAAoB,CAAC;IAC3B,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,eAAO,MAAM,WAAW,8DAAgC,gBAAgB,6CAQtE,CAAC;AA+OH,eAAO,MAAM,eAAe,GAAI,0CAI7B;IACD,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,oBAAoB,EAAE,MAAM,CAAC;CAC9B,4CAiCA,CAAC"}
1
+ {"version":3,"file":"NavMenuItem.d.ts","sourceRoot":"","sources":["../../../../src/components/NavMenu/components/NavMenuItem.tsx"],"names":[],"mappings":"AAqBA,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAKhD,KAAK,gBAAgB,GAAG;IACtB,IAAI,EAAE,oBAAoB,CAAC;IAC3B,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,eAAO,MAAM,WAAW,8DAAgC,gBAAgB,6CAQtE,CAAC;AAkPH,eAAO,MAAM,eAAe,GAAI,0CAI7B;IACD,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,oBAAoB,EAAE,MAAM,CAAC;CAC9B,4CAiCA,CAAC"}
@@ -1,29 +1,29 @@
1
1
  import { jsx as n, jsxs as u } from "react/jsx-runtime";
2
- import { memo as m, useRef as k, useEffect as O, useMemo as y } from "react";
2
+ import { memo as f, useRef as S, useEffect as k, useMemo as v } from "react";
3
3
  import { useTranslation as g } from "react-i18next";
4
- import { NavLink as E } from "react-router-dom";
5
- import { MoreHorizontalIcon as I, ArrowRight01Icon as M } from "@hugeicons/core-free-icons";
4
+ import { NavLink as O } from "react-router-dom";
5
+ import { MoreHorizontalIcon as E, ArrowRight01Icon as M } from "@hugeicons/core-free-icons";
6
6
  import { HugeiconsIcon as C } from "@hugeicons/react";
7
- import { Flex as h, Loader as N, Text as w, FocusTrap as P, Tooltip as b, Center as R } from "@mantine/core";
7
+ import { Flex as h, Loader as N, Text as w, FocusTrap as P, Tooltip as I, Center as R } from "@mantine/core";
8
8
  import { useForm as j } from "@mantine/form";
9
9
  import { useClickOutside as z } from "@mantine/hooks";
10
10
  import { useAsyncStatus as A } from "../../../hooks/useAsyncStatus.js";
11
11
  import { useMenu as D } from "../../../hooks/useMenu.js";
12
12
  import { appContainerStore as T } from "../../AppContainer/hooks/useAppContainerStore.js";
13
13
  import { EmojiPicker as F } from "../../EmojiPicker/EmojiPicker.js";
14
- import { EntityIcon as x } from "../../EntityIcon.js";
14
+ import { EntityIcon as b } from "../../EntityIcon.js";
15
15
  import { NavMenu as L } from "../NavMenu.js";
16
- import { useNavMenuStore as f } from "../store.js";
16
+ import { useNavMenuStore as m } from "../store.js";
17
17
  import { NavMenuActionIcon as B } from "./NavMenuActionIcon.js";
18
18
  import s from "../NavMenu.module.css.js";
19
- const re = m(({ item: e, ignoreDepth: a }) => {
20
- const { useStore: r } = f(), i = r((t) => t.editId === e.id);
21
- return /* @__PURE__ */ n(S, { depth: a ? void 0 : e.depth, children: i ? /* @__PURE__ */ n(H, { item: e }) : /* @__PURE__ */ n(V, { item: e }) });
22
- }), V = m(({ item: e }) => {
23
- const { api: a, useStore: r } = f(), i = r((o) => o.props.onClick), { isMobile: t } = D(), { t: l } = g("appContainer"), d = () => {
19
+ const re = f(({ item: e, ignoreDepth: a }) => {
20
+ const { useStore: r } = m(), i = r((o) => o.editId === e.id);
21
+ return /* @__PURE__ */ n(x, { depth: a ? void 0 : e.depth, testId: e.testId, children: i ? /* @__PURE__ */ n($, { item: e }) : /* @__PURE__ */ n(V, { item: e }) });
22
+ }), V = f(({ item: e }) => {
23
+ const { api: a, useStore: r } = m(), i = r((t) => t.props.onClick), { isMobile: o } = D(), { t: l } = g("appContainer"), d = () => {
24
24
  i ? i(e) : e.hasChildren && a.toggleOpened(e);
25
25
  }, c = e.data?.isReadOnly, p = e.href ? /* @__PURE__ */ n(
26
- E,
26
+ O,
27
27
  {
28
28
  to: e.href,
29
29
  className: s.item,
@@ -31,9 +31,9 @@ const re = m(({ item: e, ignoreDepth: a }) => {
31
31
  "data-has-children": e.hasChildren,
32
32
  "data-read-only": c,
33
33
  onClick: c ? void 0 : () => {
34
- t && !e.hasChildren && T.api.closeToolbar();
34
+ o && !e.hasChildren && T.api.closeToolbar();
35
35
  },
36
- children: /* @__PURE__ */ n(v, { item: e })
36
+ children: /* @__PURE__ */ n(y, { item: e })
37
37
  }
38
38
  ) : /* @__PURE__ */ n(
39
39
  "div",
@@ -43,14 +43,14 @@ const re = m(({ item: e, ignoreDepth: a }) => {
43
43
  "data-has-children": e.hasChildren,
44
44
  "data-read-only": c,
45
45
  onClick: c ? void 0 : d,
46
- children: /* @__PURE__ */ n(v, { item: e })
46
+ children: /* @__PURE__ */ n(y, { item: e })
47
47
  }
48
48
  );
49
- return c ? /* @__PURE__ */ n(b, { label: l("readOnlyAccess"), position: "right", withArrow: !0, children: p }) : p;
50
- }), v = m(({ item: e }) => {
51
- const { t: a } = g(), { useStore: r, api: i } = f(), t = r((o) => o.opened.includes(e.id)), l = r((o) => o.loading[e.id]), d = y(
52
- () => ({ ...e.data, isOpen: t }),
53
- [t, e.data]
49
+ return c ? /* @__PURE__ */ n(I, { label: l("readOnlyAccess"), position: "right", withArrow: !0, children: p }) : p;
50
+ }), y = f(({ item: e }) => {
51
+ const { t: a } = g(), { useStore: r, api: i } = m(), o = r((t) => t.opened.includes(e.id)), l = r((t) => t.loading[e.id]), d = v(
52
+ () => ({ ...e.data, isOpen: o }),
53
+ [o, e.data]
54
54
  ), c = e.data?.isReadOnly, p = c ? 0.3 : void 0;
55
55
  return /* @__PURE__ */ u(h, { gap: 4, h: "100%", flex: 1, miw: 0, justify: "space-between", children: [
56
56
  /* @__PURE__ */ u(h, { gap: 4, miw: 0, flex: 1, children: [
@@ -58,8 +58,9 @@ const re = m(({ item: e, ignoreDepth: a }) => {
58
58
  B,
59
59
  {
60
60
  className: s.chevron,
61
- onClick: (o) => {
62
- o.preventDefault(), o.stopPropagation(), i.toggleOpened(e);
61
+ "data-cy": e.testId ? `${e.testId}-expand` : void 0,
62
+ onClick: (t) => {
63
+ t.preventDefault(), t.stopPropagation(), i.toggleOpened(e);
63
64
  },
64
65
  children: /* @__PURE__ */ n(
65
66
  C,
@@ -67,16 +68,16 @@ const re = m(({ item: e, ignoreDepth: a }) => {
67
68
  icon: M,
68
69
  size: 16,
69
70
  style: {
70
- transform: `rotate(${t ? 90 : 0}deg)`,
71
+ transform: `rotate(${o ? 90 : 0}deg)`,
71
72
  transition: "transform 0.1s ease-in-out"
72
73
  }
73
74
  }
74
75
  )
75
76
  }
76
77
  ),
77
- /* @__PURE__ */ n("div", { className: s.icon, style: { opacity: p }, children: /* @__PURE__ */ n(x, { item: d }) }),
78
+ /* @__PURE__ */ n("div", { className: s.icon, style: { opacity: p }, children: /* @__PURE__ */ n(b, { item: d }) }),
78
79
  /* @__PURE__ */ n(
79
- b,
80
+ I,
80
81
  {
81
82
  disabled: e.title.length < 25,
82
83
  label: e.title || a("noName"),
@@ -91,8 +92,8 @@ const re = m(({ item: e, ignoreDepth: a }) => {
91
92
  fw: 500,
92
93
  miw: 0,
93
94
  c: "var(--mantine-color-text)",
94
- onDoubleClick: (o) => {
95
- r.getState().props.onEdit && !e?.isDisabledEditByDoubleClick && (o.preventDefault(), o.stopPropagation(), i.startEditing(e.id));
95
+ onDoubleClick: (t) => {
96
+ r.getState().props.onEdit && !e?.isDisabledEditByDoubleClick && (t.preventDefault(), t.stopPropagation(), i.startEditing(e.id));
96
97
  },
97
98
  children: e.title || a("noName")
98
99
  }
@@ -102,32 +103,32 @@ const re = m(({ item: e, ignoreDepth: a }) => {
102
103
  ] }),
103
104
  e.rightSection
104
105
  ] });
105
- }), H = m(({ item: e }) => {
106
- const { api: a, useStore: r } = f(), i = k(null), t = j({
106
+ }), $ = f(({ item: e }) => {
107
+ const { api: a, useStore: r } = m(), i = S(null), o = j({
107
108
  initialValues: {
108
109
  name: e.title,
109
110
  icon: e.data?.icon || ""
110
111
  }
111
- }), l = (o) => {
112
+ }), l = (t) => {
112
113
  a.handleEdit({
113
114
  id: e.id,
114
- name: o.name ?? "",
115
- icon: o.icon ?? ""
115
+ name: t.name ?? "",
116
+ icon: t.icon ?? ""
116
117
  }), a.stopEditing();
117
118
  }, d = z(() => {
118
- l(t.getValues());
119
+ l(o.getValues());
119
120
  });
120
- O(() => {
121
+ k(() => {
121
122
  i.current && i.current.select();
122
123
  }, []);
123
- const c = y(
124
+ const c = v(
124
125
  () => ["SPRINT", "PROJECT"].includes(e.data?.type || ""),
125
126
  [e.data?.type]
126
- ), p = r((o) => o.opened.includes(e.id));
127
+ ), p = r((t) => t.opened.includes(e.id));
127
128
  return /* @__PURE__ */ n(
128
129
  "form",
129
130
  {
130
- onSubmit: t.onSubmit(l),
131
+ onSubmit: o.onSubmit(l),
131
132
  className: s.item,
132
133
  ref: d,
133
134
  "data-editing": !0,
@@ -141,12 +142,12 @@ const re = m(({ item: e, ignoreDepth: a }) => {
141
142
  popoverProps: {
142
143
  floatingStrategy: "fixed"
143
144
  },
144
- value: t.values.icon,
145
- onChange: (o) => t.setFieldValue("icon", o),
145
+ value: o.values.icon,
146
+ onChange: (t) => o.setFieldValue("icon", t),
146
147
  children: /* @__PURE__ */ n(L.ActionIcon, { disabled: c, children: /* @__PURE__ */ n(
147
- x,
148
+ b,
148
149
  {
149
- item: { ...e.data, isOpen: p, icon: t.values.icon }
150
+ item: { ...e.data, isOpen: p, icon: o.values.icon }
150
151
  }
151
152
  ) })
152
153
  }
@@ -156,24 +157,26 @@ const re = m(({ item: e, ignoreDepth: a }) => {
156
157
  {
157
158
  ref: i,
158
159
  className: s.editInput,
159
- ...t.getInputProps("name"),
160
+ "data-cy": e.testId ? `${e.testId}-rename-input` : void 0,
161
+ ...o.getInputProps("name"),
160
162
  maxLength: 255,
161
- onFocus: (o) => o.target.select()
163
+ onFocus: (t) => t.target.select()
162
164
  }
163
165
  ) })
164
166
  ] })
165
167
  }
166
168
  );
167
- }), S = m(
168
- ({ depth: e = 0, children: a }) => /* @__PURE__ */ u(
169
+ }), x = f(
170
+ ({ depth: e = 0, children: a, testId: r }) => /* @__PURE__ */ u(
169
171
  "div",
170
172
  {
171
173
  className: s.itemContainer,
174
+ "data-cy": r,
172
175
  style: {
173
176
  "--depth": e
174
177
  },
175
178
  children: [
176
- Array.from({ length: e }).map((r, i) => /* @__PURE__ */ n("div", { className: s.depthBox }, i)),
179
+ Array.from({ length: e }).map((i, o) => /* @__PURE__ */ n("div", { className: s.depthBox }, o)),
177
180
  a
178
181
  ]
179
182
  }
@@ -183,14 +186,14 @@ const re = m(({ item: e, ignoreDepth: a }) => {
183
186
  itemId: a,
184
187
  currentChildrenCount: r
185
188
  }) => {
186
- const { t: i } = g("appContainer"), { api: t } = f(), { isLoading: l, onSubmit: d } = A();
187
- return /* @__PURE__ */ n(S, { depth: e, children: /* @__PURE__ */ n(
189
+ const { t: i } = g("appContainer"), { api: o } = m(), { isLoading: l, onSubmit: d } = A();
190
+ return /* @__PURE__ */ n(x, { depth: e, children: /* @__PURE__ */ n(
188
191
  "div",
189
192
  {
190
193
  className: s.item,
191
- onClick: () => d(() => t.loadMore({ itemId: a, currentChildrenCount: r })),
194
+ onClick: () => d(() => o.loadMore({ itemId: a, currentChildrenCount: r })),
192
195
  children: /* @__PURE__ */ n(h, { gap: 4, h: "100%", flex: 1, miw: 0, justify: "space-between", children: /* @__PURE__ */ u(h, { gap: 4, miw: 0, flex: 1, c: "gray", children: [
193
- /* @__PURE__ */ n("div", { className: s.icon, children: l ? /* @__PURE__ */ n(N, { size: 16 }) : /* @__PURE__ */ n(C, { icon: I, size: 16 }) }),
196
+ /* @__PURE__ */ n("div", { className: s.icon, children: l ? /* @__PURE__ */ n(N, { size: 16 }) : /* @__PURE__ */ n(C, { icon: E, size: 16 }) }),
194
197
  /* @__PURE__ */ n(w, { flex: 1, truncate: !0, size: "sm", fw: 500, miw: 0, children: i("loadMore") })
195
198
  ] }) })
196
199
  }
@@ -19,6 +19,7 @@ export type NavMenuItemDef<DATA = NavMenuItemData> = {
19
19
  order?: number;
20
20
  data?: DATA;
21
21
  isDisabledEditByDoubleClick?: boolean;
22
+ testId?: string;
22
23
  };
23
24
  export type ExpandNavMenuItemDef<DATA = NavMenuItemData> = NavMenuItemDef<DATA> & {
24
25
  depth: number;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/NavMenu/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;CAEtB,CAAC;AAEF,MAAM,MAAM,cAAc,CAAC,IAAI,GAAG,eAAe,IAAI;IACnD,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;IACjC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,2BAA2B,CAAC,EAAE,OAAO,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,oBAAoB,CAAC,IAAI,GAAG,eAAe,IACrD,cAAc,CAAC,IAAI,CAAC,GAAG;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,mBAAmB,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEJ,MAAM,MAAM,kBAAkB,CAAC,IAAI,GAAG,eAAe,IAAI,CAAC,CAAC,EAAE;IAC3D,IAAI,EAAE,oBAAoB,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,EAAE,oBAAoB,CAAC,IAAI,CAAC,CAAC;IACjC,QAAQ,EAAE,0BAA0B,CAAC;CACtC,KAAK,IAAI,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,EAAE;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,oBAAoB,EAAE,MAAM,CAAC;CAC9B,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAEpB,MAAM,MAAM,0BAA0B,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/NavMenu/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;CAEtB,CAAC;AAEF,MAAM,MAAM,cAAc,CAAC,IAAI,GAAG,eAAe,IAAI;IACnD,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;IACjC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,2BAA2B,CAAC,EAAE,OAAO,CAAC;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,oBAAoB,CAAC,IAAI,GAAG,eAAe,IACrD,cAAc,CAAC,IAAI,CAAC,GAAG;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,mBAAmB,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEJ,MAAM,MAAM,kBAAkB,CAAC,IAAI,GAAG,eAAe,IAAI,CAAC,CAAC,EAAE;IAC3D,IAAI,EAAE,oBAAoB,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,EAAE,oBAAoB,CAAC,IAAI,CAAC,CAAC;IACjC,QAAQ,EAAE,0BAA0B,CAAC;CACtC,KAAK,IAAI,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,EAAE;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,oBAAoB,EAAE,MAAM,CAAC;CAC9B,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAEpB,MAAM,MAAM,0BAA0B,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/SocialLinkRow/index.tsx"],"names":[],"mappings":"AA0BA,UAAU,kBAAkB;IAC1B,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,eAAO,MAAM,aAAa,GAAI,8BAI3B,kBAAkB,4CAqHpB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/SocialLinkRow/index.tsx"],"names":[],"mappings":"AAmBA,UAAU,kBAAkB;IAC1B,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,eAAO,MAAM,aAAa,GAAI,8BAI3B,kBAAkB,4CAiIpB,CAAC"}
@@ -1,42 +1,42 @@
1
- import { jsxs as o, jsx as t } from "react/jsx-runtime";
1
+ import { jsxs as i, jsx as t } from "react/jsx-runtime";
2
2
  import a from "react";
3
3
  import { useTranslation as E } from "react-i18next";
4
- import { Cancel01Icon as f } from "@hugeicons/core-free-icons";
5
- import { HugeiconsIcon as h } from "@hugeicons/react";
6
- import { Group as S, Flex as i, Text as d, ActionIcon as g, Button as x, TextInput as b } from "@mantine/core";
7
- import z from "../../assets/svg/socials/github.svg.js";
8
- import T from "../../assets/svg/socials/instagram.svg.js";
9
- import L from "../../assets/svg/socials/x.svg.js";
10
- import _ from "../../assets/svg/socials/youtube.svg.js";
11
- const D = {
12
- Instagram: T,
13
- "X (Twitter)": L,
14
- Youtube: _,
15
- GitHub: z
16
- }, O = ({
4
+ import { Cancel01Icon as h } from "@hugeicons/core-free-icons";
5
+ import { HugeiconsIcon as p } from "@hugeicons/react";
6
+ import { Flex as o, Text as d, ActionIcon as g, Button as x, TextInput as S } from "@mantine/core";
7
+ import b from "../../assets/svg/socials/github.svg.js";
8
+ import z from "../../assets/svg/socials/instagram.svg.js";
9
+ import T from "../../assets/svg/socials/x.svg.js";
10
+ import L from "../../assets/svg/socials/youtube.svg.js";
11
+ const _ = {
12
+ Instagram: z,
13
+ "X (Twitter)": T,
14
+ Youtube: L,
15
+ GitHub: b
16
+ }, N = ({
17
17
  social: n,
18
18
  onSave: v,
19
19
  onClear: w
20
20
  }) => {
21
- const { t: r } = E(), [I, l] = a.useState(!1), [s, c] = a.useState(n.link || ""), [k, u] = a.useState(null), m = (e) => e.length > 30 ? r("MAX_LENGTH_EXCEEDED", { max: 30, ns: "errors" }) : /[\u0400-\u04FF]/.test(e) ? r("CYRILLIC_NOT_ALLOWED", { ns: "errors" }) : null, C = (e) => {
22
- c(e), u(m(e));
23
- }, p = () => {
24
- const e = m(s);
21
+ const { t: r } = E(), [I, l] = a.useState(!1), [s, c] = a.useState(n.link || ""), [k, m] = a.useState(null), u = (e) => e.length > 30 ? r("MAX_LENGTH_EXCEEDED", { max: 30, ns: "errors" }) : /[\u0400-\u04FF]/.test(e) ? r("CYRILLIC_NOT_ALLOWED", { ns: "errors" }) : null, C = (e) => {
22
+ c(e), m(u(e));
23
+ }, f = () => {
24
+ const e = u(s);
25
25
  if (e) {
26
- u(e);
26
+ m(e);
27
27
  return;
28
28
  }
29
29
  v(s), l(!1);
30
30
  };
31
- return /* @__PURE__ */ o(S, { justify: "space-between", w: "100%", children: [
32
- /* @__PURE__ */ o(i, { maw: 343, w: "100%", gap: 8, children: [
33
- a.createElement(D[n.name], {
31
+ return /* @__PURE__ */ i(o, { justify: "space-between", children: [
32
+ /* @__PURE__ */ i(o, { maw: 343, gap: 8, children: [
33
+ a.createElement(_[n.name], {
34
34
  height: 16,
35
35
  width: 16
36
36
  }),
37
37
  /* @__PURE__ */ t(d, { fw: 500, size: "sm", children: n.name })
38
38
  ] }),
39
- n.link ? /* @__PURE__ */ o(i, { align: "center", gap: 16, children: [
39
+ n.link ? /* @__PURE__ */ i(o, { align: "center", gap: 16, children: [
40
40
  /* @__PURE__ */ t(d, { size: "sm", c: "var(--mantine-color-text)", children: n.link }),
41
41
  /* @__PURE__ */ t(
42
42
  g,
@@ -45,17 +45,17 @@ const D = {
45
45
  variant: "subtle",
46
46
  size: "xs",
47
47
  children: /* @__PURE__ */ t(
48
- h,
48
+ p,
49
49
  {
50
50
  onClick: () => {
51
51
  w(), c("");
52
52
  },
53
- icon: f
53
+ icon: h
54
54
  }
55
55
  )
56
56
  }
57
57
  )
58
- ] }) : !n.link && !I ? /* @__PURE__ */ t(i, { children: /* @__PURE__ */ t(
58
+ ] }) : !n.link && !I ? /* @__PURE__ */ t(o, { children: /* @__PURE__ */ t(
59
59
  x,
60
60
  {
61
61
  c: "var(--mantine-color-text)",
@@ -67,43 +67,65 @@ const D = {
67
67
  },
68
68
  children: r("addUsername")
69
69
  }
70
- ) }) : /* @__PURE__ */ o(i, { flex: 1, align: "center", gap: 16, children: [
71
- /* @__PURE__ */ t(
72
- b,
73
- {
74
- flex: 1,
75
- placeholder: r("username"),
76
- variant: "default",
77
- size: "xs",
78
- value: s,
79
- onChange: (e) => C(e.currentTarget.value),
80
- onKeyDown: (e) => {
81
- e.key === "Enter" && (e.preventDefault(), e.stopPropagation(), p());
82
- },
83
- error: k
84
- }
85
- ),
86
- /* @__PURE__ */ t(x, { onClick: p, variant: "transparent", px: 0, size: "xs", children: r("send") }),
87
- /* @__PURE__ */ t(
88
- g,
89
- {
90
- color: "var(--mantine-color-text)",
91
- variant: "subtle",
92
- size: "xs",
93
- children: /* @__PURE__ */ t(
94
- h,
70
+ ) }) : /* @__PURE__ */ i(
71
+ o,
72
+ {
73
+ align: "center",
74
+ justify: "end",
75
+ w: "100%",
76
+ maw: 335,
77
+ miw: 0,
78
+ gap: 16,
79
+ children: [
80
+ /* @__PURE__ */ t(
81
+ S,
95
82
  {
96
- onClick: () => {
97
- c(""), l(!1), u(null);
83
+ flex: 1,
84
+ miw: 50,
85
+ placeholder: r("username"),
86
+ variant: "default",
87
+ size: "xs",
88
+ value: s,
89
+ onChange: (e) => C(e.currentTarget.value),
90
+ onKeyDown: (e) => {
91
+ e.key === "Enter" && (e.preventDefault(), e.stopPropagation(), f());
98
92
  },
99
- icon: f
93
+ error: k
94
+ }
95
+ ),
96
+ /* @__PURE__ */ t(
97
+ x,
98
+ {
99
+ w: 34,
100
+ onClick: f,
101
+ variant: "transparent",
102
+ px: 0,
103
+ size: "xs",
104
+ children: r("send")
105
+ }
106
+ ),
107
+ /* @__PURE__ */ t(
108
+ g,
109
+ {
110
+ color: "var(--mantine-color-text)",
111
+ variant: "subtle",
112
+ size: "xs",
113
+ children: /* @__PURE__ */ t(
114
+ p,
115
+ {
116
+ onClick: () => {
117
+ c(""), l(!1), m(null);
118
+ },
119
+ icon: h
120
+ }
121
+ )
100
122
  }
101
123
  )
102
- }
103
- )
104
- ] })
124
+ ]
125
+ }
126
+ )
105
127
  ] });
106
128
  };
107
129
  export {
108
- O as SocialLinkRow
130
+ N as SocialLinkRow
109
131
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/TimezonePicker/index.tsx"],"names":[],"mappings":"AAMA,OAAO,EAEL,aAAa,EAQd,MAAM,eAAe,CAAC;AAIvB,UAAU,mBAAoB,SAAQ,aAAa;IACjD,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC;AAED,eAAO,MAAM,cAAc,GAAI,wCAK5B,mBAAmB,4CA8FrB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/TimezonePicker/index.tsx"],"names":[],"mappings":"AAMA,OAAO,EAEL,aAAa,EAQd,MAAM,eAAe,CAAC;AAIvB,UAAU,mBAAoB,SAAQ,aAAa;IACjD,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC;AAED,eAAO,MAAM,cAAc,GAAI,wCAK5B,mBAAmB,4CA+FrB,CAAC"}
@@ -1,44 +1,45 @@
1
- import { jsx as e, jsxs as l } from "react/jsx-runtime";
2
- import { useState as p, useMemo as v } from "react";
3
- import { useTranslation as S } from "react-i18next";
4
- import { Tick02Icon as w, Search01Icon as x } from "@hugeicons/core-free-icons";
5
- import { HugeiconsIcon as u } from "@hugeicons/react";
6
- import C from "../../assets/svg/globeIcon.svg.js";
7
- import { useCombobox as I, Combobox as t, Flex as T, InputBase as D, Input as k, Stack as y, TextInput as z, ScrollArea as O } from "@mantine/core";
8
- import { getTimeZones as P } from "../../helpers/timezones.js";
9
- const G = ({
10
- label: m,
11
- timezone: h,
12
- onChange: d,
13
- ...f
1
+ import { jsx as o, jsxs as l } from "react/jsx-runtime";
2
+ import { useState as f, useMemo as g } from "react";
3
+ import { useTranslation as b } from "react-i18next";
4
+ import { Tick02Icon as v, Search01Icon as S } from "@hugeicons/core-free-icons";
5
+ import { HugeiconsIcon as p } from "@hugeicons/react";
6
+ import x from "../../assets/svg/globeIcon.svg.js";
7
+ import { useCombobox as w, Combobox as t, Flex as C, InputBase as I, Input as T, Stack as D, TextInput as k, ScrollArea as y } from "@mantine/core";
8
+ import { getTimeZones as O } from "../../helpers/timezones.js";
9
+ const F = ({
10
+ label: u,
11
+ timezone: r,
12
+ onChange: h,
13
+ ...m
14
14
  }) => {
15
- const [c, a] = p(""), g = v(() => P(), []), { t: i } = S(), n = I({
15
+ const [c, a] = f(""), d = g(() => O(), []), { t: i } = b(), n = w({
16
16
  onDropdownClose: () => {
17
17
  n.resetSelectedOption(), n.focusTarget(), a("");
18
18
  },
19
19
  onDropdownOpen: () => {
20
20
  n.focusSearchInput();
21
21
  }
22
- }), [r, b] = p(h), s = g.filter(
23
- (o) => o.label.toLowerCase().includes(c.toLowerCase().trim())
24
- ).map((o) => /* @__PURE__ */ e(
22
+ }), s = d.filter(
23
+ (e) => e.label.toLowerCase().includes(c.toLowerCase().trim())
24
+ ).map((e) => /* @__PURE__ */ o(
25
25
  t.Option,
26
26
  {
27
- active: r === o.value,
28
- value: o.value,
29
- children: /* @__PURE__ */ l(T, { justify: "space-between", align: "center", children: [
30
- o.label,
31
- r === o.value ? /* @__PURE__ */ e(
32
- u,
27
+ active: r === e.value,
28
+ value: e.value,
29
+ px: "xs",
30
+ children: /* @__PURE__ */ l(C, { justify: "space-between", align: "center", children: [
31
+ e.label,
32
+ r === e.value ? /* @__PURE__ */ o(
33
+ p,
33
34
  {
34
35
  color: "var(--mantine-primary-color-filled)",
35
36
  size: 16,
36
- icon: w
37
+ icon: v
37
38
  }
38
39
  ) : null
39
40
  ] })
40
41
  },
41
- o.value
42
+ e.value
42
43
  ));
43
44
  return /* @__PURE__ */ l(
44
45
  t,
@@ -46,45 +47,45 @@ const G = ({
46
47
  position: "bottom",
47
48
  store: n,
48
49
  withinPortal: !1,
49
- onOptionSubmit: (o) => {
50
- b(o), d(o), n.closeDropdown();
50
+ onOptionSubmit: (e) => {
51
+ h(e), n.closeDropdown();
51
52
  },
52
- ...f,
53
+ ...m,
53
54
  children: [
54
- /* @__PURE__ */ e(t.Target, { children: /* @__PURE__ */ e(
55
- D,
55
+ /* @__PURE__ */ o(t.Target, { children: /* @__PURE__ */ o(
56
+ I,
56
57
  {
57
- label: m,
58
+ label: u,
58
59
  value: r || "",
59
60
  component: "button",
60
61
  type: "button",
61
- leftSection: /* @__PURE__ */ e(C, { width: 16, height: 16 }),
62
+ leftSection: /* @__PURE__ */ o(x, { width: 16, height: 16 }),
62
63
  flex: 1,
63
64
  pointer: !0,
64
- rightSection: /* @__PURE__ */ e(t.Chevron, {}),
65
+ rightSection: /* @__PURE__ */ o(t.Chevron, {}),
65
66
  onClick: () => n.toggleDropdown(),
66
67
  rightSectionPointerEvents: "none",
67
- children: r || /* @__PURE__ */ e(k.Placeholder, { children: i("pickValue") })
68
+ children: r || /* @__PURE__ */ o(T.Placeholder, { children: i("pickValue") })
68
69
  }
69
70
  ) }),
70
- /* @__PURE__ */ e(t.Dropdown, { children: /* @__PURE__ */ l(y, { gap: 12, children: [
71
- /* @__PURE__ */ e(
72
- z,
71
+ /* @__PURE__ */ o(t.Dropdown, { children: /* @__PURE__ */ l(D, { gap: 12, children: [
72
+ /* @__PURE__ */ o(
73
+ k,
73
74
  {
74
75
  variant: "filled",
75
76
  size: "sm",
76
77
  placeholder: `${i("search")}...`,
77
78
  value: c,
78
- onChange: (o) => a(o.currentTarget.value),
79
- leftSection: /* @__PURE__ */ e(u, { color: "dimmed", size: 16, icon: x })
79
+ onChange: (e) => a(e.currentTarget.value),
80
+ leftSection: /* @__PURE__ */ o(p, { color: "dimmed", size: 16, icon: S })
80
81
  }
81
82
  ),
82
- /* @__PURE__ */ e(t.Options, { children: /* @__PURE__ */ e(O.Autosize, { mah: 200, type: "scroll", children: s.length > 0 ? s : /* @__PURE__ */ e(t.Empty, { children: i("nothingData") }) }) })
83
+ /* @__PURE__ */ o(t.Options, { children: /* @__PURE__ */ o(y.Autosize, { mah: 200, type: "scroll", children: s.length > 0 ? s : /* @__PURE__ */ o(t.Empty, { children: i("nothingData") }) }) })
83
84
  ] }) })
84
85
  ]
85
86
  }
86
87
  );
87
88
  };
88
89
  export {
89
- G as TimezonePicker
90
+ F as TimezonePicker
90
91
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/UserAvatar/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAc,MAAM,OAAO,CAAC;AAErD,OAAO,EAAU,WAAW,EAAE,MAAM,eAAe,CAAC;AAGpD,OAAO,EAAE,QAAQ,EAAE,MAAM,4DAA4D,CAAC;AAGtF,MAAM,WAAW,eACf,SAAQ,WAAW,EACjB,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,KAAK,CAAC,EAAE,MAAM,WAAW,CAAC;IAChE,IAAI,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;IAChC,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAED,eAAO,MAAM,UAAU,wFAsCtB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/UserAvatar/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAc,MAAM,OAAO,CAAC;AAErD,OAAO,EAAU,WAAW,EAAE,MAAM,eAAe,CAAC;AAGpD,OAAO,EAAE,QAAQ,EAAE,MAAM,4DAA4D,CAAC;AAGtF,MAAM,WAAW,eACf,SAAQ,WAAW,EACjB,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,KAAK,CAAC,EAAE,MAAM,WAAW,CAAC;IAChE,IAAI,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;IAChC,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAED,eAAO,MAAM,UAAU,wFAuCtB,CAAC"}
@@ -1,34 +1,35 @@
1
- import { jsx as o, Fragment as c } from "react/jsx-runtime";
2
- import { forwardRef as e } from "react";
1
+ import { jsx as t, Fragment as c } from "react/jsx-runtime";
2
+ import { forwardRef as m } from "react";
3
3
  import { Avatar as d } from "@mantine/core";
4
4
  import { IconUser as l } from "@tabler/icons-react";
5
5
  import { ProjectIcon as f } from "../ProjectIcon/ProjectIcon.js";
6
- const A = e(
7
- ({ user: r, size: t = 24, emptyIcon: m, ...i }, n) => {
6
+ const A = m(
7
+ ({ user: r, size: o = 24, emptyIcon: e, ...i }, n) => {
8
8
  const a = r?.avatar || r?.avatarUrl;
9
- return a && (a.includes("i=") || a.includes("e=")) ? /* @__PURE__ */ o(
9
+ return a && (a.includes("i=") || a.includes("e=")) ? /* @__PURE__ */ t(
10
10
  f,
11
11
  {
12
12
  icon: a,
13
13
  name: r?.name,
14
14
  fallbackColorById: r?.id,
15
- size: t,
16
- textSize: typeof t == "number" ? t * 0.75 : void 0,
15
+ size: o,
16
+ textSize: typeof o == "number" ? o * 0.75 : void 0,
17
17
  radius: i.radius,
18
18
  ...i,
19
19
  ref: n
20
20
  }
21
- ) : /* @__PURE__ */ o(
21
+ ) : /* @__PURE__ */ t(
22
22
  d,
23
23
  {
24
24
  src: a,
25
25
  color: "initials",
26
26
  tt: "uppercase",
27
- size: t,
27
+ size: o,
28
+ variant: "filled",
28
29
  name: r?.id ?? "",
29
30
  ...i,
30
31
  ref: n,
31
- children: r ? /* @__PURE__ */ o(c, { children: r.name?.charAt(0) }) : /* @__PURE__ */ o(c, { children: m ?? /* @__PURE__ */ o(l, { size: "70%" }) })
32
+ children: r ? /* @__PURE__ */ t(c, { children: r.name?.charAt(0) }) : /* @__PURE__ */ t(c, { children: e ?? /* @__PURE__ */ t(l, { size: "70%" }) })
32
33
  }
33
34
  );
34
35
  }
@@ -15,7 +15,7 @@ const g = ({ workspace: e, onClick: a }) => {
15
15
  children: /* @__PURE__ */ n(o, { gap: 12, children: [
16
16
  /* @__PURE__ */ t(h, { workspace: e, size: 36 }),
17
17
  /* @__PURE__ */ n(i, { flex: 1, miw: 0, children: [
18
- /* @__PURE__ */ t(m, { truncate: !0, size: "sm", fw: 500, c: "var(--mantine-color-bright", children: e.workspaceName }),
18
+ /* @__PURE__ */ t(m, { truncate: !0, size: "sm", fw: 500, c: "var(--mantine-color-bright)", children: e.workspaceName }),
19
19
  !e?.invitation && /* @__PURE__ */ t(m, { c: "gray", fw: 500, size: "xs", component: "span", children: /* @__PURE__ */ n(o, { gap: 8, component: "span", children: [
20
20
  e.totalMembers ? /* @__PURE__ */ n(s, { children: [
21
21
  r("member", { count: e.totalMembers }),