iguazio.dashboard-react-controls 3.1.11 → 3.2.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.
@@ -1,68 +1,80 @@
1
- import { jsxs as g, jsx as s } from "react/jsx-runtime";
2
- import { useState as S, useRef as y, useCallback as z, useEffect as w } from "react";
1
+ import { jsxs as z, jsx as i } from "react/jsx-runtime";
2
+ import { useState as S, useRef as H, useCallback as g, useEffect as w } from "react";
3
3
  import { useLocation as M, useParams as U, Link as X } from "react-router-dom";
4
4
  import W from "prop-types";
5
- import k from "classnames";
6
- import H from "../Tip/Tip.mjs";
7
- import { SLIDER_TABS as G } from "../../types.mjs";
8
- import { generateUrlFromRouterPath as J } from "../../utils/common.util.mjs";
9
- import T from "../../images/arrow.svg.mjs";
10
- const K = ({
5
+ import C from "classnames";
6
+ import G from "../Tip/Tip.mjs";
7
+ import { SLIDER_TABS as J } from "../../types.mjs";
8
+ import { generateUrlFromRouterPath as K } from "../../utils/common.util.mjs";
9
+ import N from "../../images/arrow.svg.mjs";
10
+ const Q = ({
11
11
  fontSize: P = "sm",
12
12
  initialTab: q = "",
13
- isDetailsPopUp: C = !1,
13
+ isDetailsPopUp: k = !1,
14
14
  onClick: L = () => {
15
15
  },
16
16
  skipLink: D = !1,
17
- tabsList: v
17
+ tabsList: b
18
18
  }) => {
19
- const [d, $] = S(q), [x, O] = S(!0), [f, a] = S(0), [A, l] = S(!1), i = y(), n = y(), j = M(), b = U(), m = 2, I = 1.5, B = k(
19
+ const [d, $] = S(q), [R, O] = S(!0), [f, c] = S(0), [A, l] = S(!1), s = H(), n = H(), j = M(), v = U(), m = 2, I = 1.5, B = C(
20
20
  "tabs-slider__arrow",
21
21
  "tabs-slider__arrow_left",
22
- x && "tabs-slider__arrow_hidden",
22
+ R && "tabs-slider__arrow_hidden",
23
23
  f === 0 && "tabs-slider__arrow_disabled"
24
- ), F = k(
24
+ ), F = C(
25
25
  "tabs-slider__arrow",
26
26
  "tabs-slider__arrow_right",
27
- x && "tabs-slider__arrow_hidden",
27
+ R && "tabs-slider__arrow_hidden",
28
28
  A && "tabs-slider__arrow_disabled"
29
- ), R = (e) => {
30
- var r, o, c, _, p, N;
29
+ ), x = (e) => {
30
+ var r, o, a, _, p, y;
31
31
  let t;
32
- e ? ((r = n.current) == null ? void 0 : r.scrollWidth) < ((o = i.current) == null ? void 0 : o.offsetWidth) * I + f ? (t = ((c = n.current) == null ? void 0 : c.scrollWidth) - ((_ = i.current) == null ? void 0 : _.offsetWidth), l(!0)) : t = f + ((p = i.current) == null ? void 0 : p.offsetWidth) / m : (t = Math.max(
32
+ e ? ((r = n.current) == null ? void 0 : r.scrollWidth) < ((o = s.current) == null ? void 0 : o.offsetWidth) * I + f ? (t = ((a = n.current) == null ? void 0 : a.scrollWidth) - ((_ = s.current) == null ? void 0 : _.offsetWidth), l(!0)) : t = f + ((p = s.current) == null ? void 0 : p.offsetWidth) / m : (t = Math.max(
33
33
  0,
34
- f - ((N = i.current) == null ? void 0 : N.offsetWidth) / m
35
- ), l(!1)), a(t);
36
- }, u = z(() => {
37
- var t, r, o, c;
34
+ f - ((y = s.current) == null ? void 0 : y.offsetWidth) / m
35
+ ), l(!1)), c(t);
36
+ }, u = g(() => {
37
+ var t, r, o, a;
38
38
  const e = ((t = n.current) == null ? void 0 : t.offsetWidth) === ((r = n.current) == null ? void 0 : r.scrollWidth);
39
- O(e), A && a(((o = n.current) == null ? void 0 : o.scrollWidth) - ((c = i.current) == null ? void 0 : c.offsetWidth)), e && (a(0), l(!1));
40
- }, [A, n, i]), h = z(() => {
41
- var r, o, c, _, p;
42
- const e = document.querySelector(`[data-tab='${d}']`), t = (e == null ? void 0 : e.offsetLeft) - ((r = i.current) == null ? void 0 : r.offsetWidth) / m + (e == null ? void 0 : e.offsetWidth) / m;
43
- t <= 0 ? (a(0), l(!1)) : ((o = n.current) == null ? void 0 : o.scrollWidth) < ((c = i.current) == null ? void 0 : c.offsetWidth) / m + (e == null ? void 0 : e.offsetLeft) + (e == null ? void 0 : e.offsetWidth) ? (a(((_ = n.current) == null ? void 0 : _.scrollWidth) - ((p = i.current) == null ? void 0 : p.offsetWidth)), l(!0)) : (a(t), l(!1));
39
+ O(e), A && c(((o = n.current) == null ? void 0 : o.scrollWidth) - ((a = s.current) == null ? void 0 : a.offsetWidth)), e && (c(0), l(!1));
40
+ }, [A, n, s]), h = g(() => {
41
+ var r, o, a, _, p;
42
+ const e = document.querySelector(`[data-tab='${d}']`), t = (e == null ? void 0 : e.offsetLeft) - ((r = s.current) == null ? void 0 : r.offsetWidth) / m + (e == null ? void 0 : e.offsetWidth) / m;
43
+ t <= 0 ? (c(0), l(!1)) : ((o = n.current) == null ? void 0 : o.scrollWidth) < ((a = s.current) == null ? void 0 : a.offsetWidth) / m + (e == null ? void 0 : e.offsetLeft) + (e == null ? void 0 : e.offsetWidth) ? (c(((_ = n.current) == null ? void 0 : _.scrollWidth) - ((p = s.current) == null ? void 0 : p.offsetWidth)), l(!0)) : (c(t), l(!1));
44
44
  }, [d]), E = (e) => {
45
45
  $(e), L && L(e);
46
46
  };
47
- return w(() => (window.addEventListener("resize", u), () => window.removeEventListener("resize", u)), [u]), w(() => (window.addEventListener("resize", h), () => window.removeEventListener("resize", h)), [h]), w(() => {
47
+ w(() => (window.addEventListener("resize", u), () => window.removeEventListener("resize", u)), [u]), w(() => (window.addEventListener("resize", h), () => window.removeEventListener("resize", h)), [h]), w(() => {
48
48
  u();
49
- }, [v, u]), w(() => {
49
+ }, [b, u]), w(() => {
50
50
  h();
51
51
  }, [h]), w(() => {
52
52
  var e;
53
- b.tab && b.tab !== d && !C && $((e = v.find((t) => t.id === b.tab)) == null ? void 0 : e.id);
54
- }, [C, b.tab, d, v]), /* @__PURE__ */ g("div", { className: "content-menu", children: [
55
- /* @__PURE__ */ s(
53
+ v.tab && v.tab !== d && !k && $((e = b.find((t) => t.id === v.tab)) == null ? void 0 : e.id);
54
+ }, [k, v.tab, d, b]);
55
+ const T = g((e) => /* @__PURE__ */ z(
56
+ "span",
57
+ {
58
+ className: e.icon && "content-menu__tab-icon" || e.tip && "content-menu__tab-tip",
59
+ children: [
60
+ e.icon && /* @__PURE__ */ i("div", { children: e.icon }),
61
+ e.label,
62
+ e.tip && /* @__PURE__ */ i(G, { text: e.tip })
63
+ ]
64
+ }
65
+ ), []);
66
+ return /* @__PURE__ */ z("div", { className: "content-menu", children: [
67
+ /* @__PURE__ */ i(
56
68
  "div",
57
69
  {
58
70
  className: B,
59
71
  onClick: () => {
60
- R(!1);
72
+ x(!1);
61
73
  },
62
- children: /* @__PURE__ */ s(T, {})
74
+ children: /* @__PURE__ */ i(N, {})
63
75
  }
64
76
  ),
65
- /* @__PURE__ */ s("div", { className: "content-menu__tabs-wrapper", ref: i, children: /* @__PURE__ */ s(
77
+ /* @__PURE__ */ i("div", { className: "content-menu__tabs-wrapper", ref: s, children: /* @__PURE__ */ i(
66
78
  "div",
67
79
  {
68
80
  ref: n,
@@ -70,64 +82,50 @@ const K = ({
70
82
  style: {
71
83
  transform: `translateX(${-f}px)`
72
84
  },
73
- children: v.map((e) => {
85
+ children: b.map((e) => {
74
86
  var r;
75
- const t = k(
87
+ const t = C(
76
88
  "content-menu__tab",
77
89
  `content-menu__tab-${P}`,
78
90
  d === e.id && "content-menu__tab_active"
79
91
  );
80
- return !e.hidden && (D ? /* @__PURE__ */ g(
92
+ return !e.hidden && (D ? /* @__PURE__ */ i(
81
93
  "div",
82
94
  {
83
95
  className: t,
84
96
  "data-tab": e.id,
85
97
  onClick: () => E(e.id),
86
- children: [
87
- e.icon && /* @__PURE__ */ s("div", { className: "content-menu_tab-icon", children: e.icon }),
88
- e.label,
89
- e.tip && /* @__PURE__ */ s(H, { className: "content-menu__tab-tip", text: e.tip })
90
- ]
98
+ children: T(e)
91
99
  },
92
100
  e.id
93
- ) : /* @__PURE__ */ s(
101
+ ) : /* @__PURE__ */ i(
94
102
  X,
95
103
  {
96
- to: J(
104
+ to: K(
97
105
  `${(r = window.location.pathname) == null ? void 0 : r.replace(/^$|([^/]+$)/, e.id)}${j.search ?? ""}${e.query ?? ""}`
98
106
  ),
99
107
  className: t,
100
- children: /* @__PURE__ */ g(
101
- "span",
102
- {
103
- className: e.icon && "content-menu__tab-icon" || e.tip && "content-menu__tab-tip",
104
- "data-tab": e.id,
105
- onClick: () => E(e),
106
- children: [
107
- e.icon && /* @__PURE__ */ s("div", { children: e.icon }),
108
- e.label,
109
- e.tip && /* @__PURE__ */ s(H, { text: e.tip })
110
- ]
111
- }
112
- )
108
+ "data-tab": e.id,
109
+ onClick: () => E(e.id),
110
+ children: T(e)
113
111
  },
114
112
  e.id
115
113
  ));
116
114
  })
117
115
  }
118
116
  ) }),
119
- /* @__PURE__ */ s("div", { className: F, onClick: () => R(!0), children: /* @__PURE__ */ s(T, {}) })
117
+ /* @__PURE__ */ i("div", { className: F, onClick: () => x(!0), children: /* @__PURE__ */ i(N, {}) })
120
118
  ] });
121
119
  };
122
- K.propTypes = {
120
+ Q.propTypes = {
123
121
  fontSize: W.oneOf(["sm", "md", "lg"]),
124
122
  initialTab: W.string,
125
123
  isDetailsPopUp: W.bool,
126
124
  onClick: W.func,
127
125
  skipLink: W.bool,
128
- tabsList: G.isRequired
126
+ tabsList: J.isRequired
129
127
  };
130
128
  export {
131
- K as default
129
+ Q as default
132
130
  };
133
131
  //# sourceMappingURL=TabsSlider.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"TabsSlider.mjs","sources":["../../../src/lib/components/TabsSlider/TabsSlider.jsx"],"sourcesContent":["/*\nCopyright 2019 Iguazio Systems Ltd.\n\nLicensed under the Apache License, Version 2.0 (the \"License\") with\nan addition restriction as set forth herein. You may not use this\nfile except in compliance with the License. You may obtain a copy of\nthe License at http://www.apache.org/licenses/LICENSE-2.0.\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\nimplied. See the License for the specific language governing\npermissions and limitations under the License.\n\nIn addition, you may not use the software for any purposes that are\nillegal under applicable law, and the grant of the foregoing license\nunder the Apache 2.0 license is conditioned upon your compliance with\nsuch restriction.\n*/\nimport React, { useCallback, useEffect, useState, useRef } from 'react'\nimport { Link, useLocation, useParams } from 'react-router-dom'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\n\nimport Tip from '../Tip/Tip'\n\nimport { SLIDER_TABS } from '../../types'\nimport { generateUrlFromRouterPath } from '../../utils/common.util'\n\nimport Arrow from '../../images/arrow.svg?react'\n\nconst TabsSlider = ({\n fontSize = 'sm',\n initialTab = '',\n isDetailsPopUp = false,\n onClick = () => {},\n skipLink = false,\n tabsList\n}) => {\n const [selectedTab, setSelectedTab] = useState(initialTab)\n const [arrowsAreHidden, setArrowsAreHidden] = useState(true)\n const [scrolledWidth, setScrolledWidth] = useState(0)\n const [rightArrowDisabled, setRightArrowDisabled] = useState(false)\n const tabsWrapperRef = useRef()\n const tabsRef = useRef()\n const location = useLocation()\n const params = useParams()\n const menuOffsetHalfWidth = 2\n const tabOffset = 1.5\n\n const leftArrowClassNames = classnames(\n 'tabs-slider__arrow',\n 'tabs-slider__arrow_left',\n arrowsAreHidden && 'tabs-slider__arrow_hidden',\n scrolledWidth === 0 && 'tabs-slider__arrow_disabled'\n )\n const rightArrowClassNames = classnames(\n 'tabs-slider__arrow',\n 'tabs-slider__arrow_right',\n arrowsAreHidden && 'tabs-slider__arrow_hidden',\n rightArrowDisabled && 'tabs-slider__arrow_disabled'\n )\n\n const scrollTabs = toRight => {\n let scrollWidth\n\n if (toRight) {\n if (\n tabsRef.current?.scrollWidth <\n tabsWrapperRef.current?.offsetWidth * tabOffset + scrolledWidth\n ) {\n scrollWidth = tabsRef.current?.scrollWidth - tabsWrapperRef.current?.offsetWidth\n\n setRightArrowDisabled(true)\n } else {\n scrollWidth = scrolledWidth + tabsWrapperRef.current?.offsetWidth / menuOffsetHalfWidth\n }\n } else {\n scrollWidth = Math.max(\n 0,\n scrolledWidth - tabsWrapperRef.current?.offsetWidth / menuOffsetHalfWidth\n )\n\n setRightArrowDisabled(false)\n }\n\n setScrolledWidth(scrollWidth)\n }\n\n const handleHideArrows = useCallback(() => {\n const scrollIsHidden = tabsRef.current?.offsetWidth === tabsRef.current?.scrollWidth\n\n setArrowsAreHidden(scrollIsHidden)\n\n if (rightArrowDisabled) {\n setScrolledWidth(tabsRef.current?.scrollWidth - tabsWrapperRef.current?.offsetWidth)\n }\n\n if (scrollIsHidden) {\n setScrolledWidth(0)\n setRightArrowDisabled(false)\n }\n }, [rightArrowDisabled, tabsRef, tabsWrapperRef])\n\n const moveToSelectedTab = useCallback(() => {\n const selectedTabNode = document.querySelector(`[data-tab='${selectedTab}']`)\n const centeredTabPosition =\n selectedTabNode?.offsetLeft -\n tabsWrapperRef.current?.offsetWidth / menuOffsetHalfWidth +\n selectedTabNode?.offsetWidth / menuOffsetHalfWidth\n\n if (centeredTabPosition <= 0) {\n setScrolledWidth(0)\n setRightArrowDisabled(false)\n } else if (\n tabsRef.current?.scrollWidth <\n tabsWrapperRef.current?.offsetWidth / menuOffsetHalfWidth +\n selectedTabNode?.offsetLeft +\n selectedTabNode?.offsetWidth\n ) {\n setScrolledWidth(tabsRef.current?.scrollWidth - tabsWrapperRef.current?.offsetWidth)\n setRightArrowDisabled(true)\n } else {\n setScrolledWidth(centeredTabPosition)\n setRightArrowDisabled(false)\n }\n }, [selectedTab])\n\n const onSelectTab = newTab => {\n setSelectedTab(newTab)\n onClick && onClick(newTab)\n }\n\n useEffect(() => {\n window.addEventListener('resize', handleHideArrows)\n\n return () => window.removeEventListener('resize', handleHideArrows)\n }, [handleHideArrows])\n\n useEffect(() => {\n window.addEventListener('resize', moveToSelectedTab)\n\n return () => window.removeEventListener('resize', moveToSelectedTab)\n }, [moveToSelectedTab])\n\n useEffect(() => {\n handleHideArrows()\n }, [tabsList, handleHideArrows])\n\n useEffect(() => {\n moveToSelectedTab()\n }, [moveToSelectedTab])\n\n useEffect(() => {\n if (params.tab && params.tab !== selectedTab && !isDetailsPopUp) {\n setSelectedTab(tabsList.find(tab => tab.id === params.tab)?.id)\n }\n }, [isDetailsPopUp, params.tab, selectedTab, tabsList])\n\n return (\n <div className=\"content-menu\">\n <div\n className={leftArrowClassNames}\n onClick={() => {\n scrollTabs(false)\n }}\n >\n <Arrow />\n </div>\n <div className=\"content-menu__tabs-wrapper\" ref={tabsWrapperRef}>\n <div\n ref={tabsRef}\n className=\"content-menu__tabs\"\n style={{\n transform: `translateX(${-scrolledWidth}px)`\n }}\n >\n {tabsList.map(tab => {\n const tabClassName = classnames(\n 'content-menu__tab',\n `content-menu__tab-${fontSize}`,\n selectedTab === tab.id && 'content-menu__tab_active'\n )\n\n return (\n !tab.hidden &&\n (!skipLink ? (\n <Link\n to={generateUrlFromRouterPath(\n `${window.location.pathname?.replace(/^$|([^/]+$)/, tab.id)}${location.search ?? ''}${tab.query ?? ''}`\n )}\n className={tabClassName}\n key={tab.id}\n >\n <span\n className={\n (tab.icon && 'content-menu__tab-icon') || (tab.tip && 'content-menu__tab-tip')\n }\n data-tab={tab.id}\n onClick={() => onSelectTab(tab)}\n >\n {tab.icon && <div>{tab.icon}</div>}\n {tab.label}\n {tab.tip && <Tip text={tab.tip} />}\n </span>\n </Link>\n ) : (\n <div\n className={tabClassName}\n data-tab={tab.id}\n key={tab.id}\n onClick={() => onSelectTab(tab.id)}\n >\n {tab.icon && <div className=\"content-menu_tab-icon\">{tab.icon}</div>}\n {tab.label}\n {tab.tip && <Tip className=\"content-menu__tab-tip\" text={tab.tip} />}\n </div>\n ))\n )\n })}\n </div>\n </div>\n <div className={rightArrowClassNames} onClick={() => scrollTabs(true)}>\n <Arrow />\n </div>\n </div>\n )\n}\n\nTabsSlider.propTypes = {\n fontSize: PropTypes.oneOf(['sm', 'md', 'lg']),\n initialTab: PropTypes.string,\n isDetailsPopUp: PropTypes.bool,\n onClick: PropTypes.func,\n skipLink: PropTypes.bool,\n tabsList: SLIDER_TABS.isRequired\n}\n\nexport default TabsSlider\n"],"names":["TabsSlider","fontSize","initialTab","isDetailsPopUp","onClick","skipLink","tabsList","selectedTab","setSelectedTab","useState","arrowsAreHidden","setArrowsAreHidden","scrolledWidth","setScrolledWidth","rightArrowDisabled","setRightArrowDisabled","tabsWrapperRef","useRef","tabsRef","location","useLocation","params","useParams","menuOffsetHalfWidth","tabOffset","leftArrowClassNames","classnames","rightArrowClassNames","scrollTabs","toRight","scrollWidth","_a","_b","_c","_d","_e","_f","handleHideArrows","useCallback","scrollIsHidden","moveToSelectedTab","selectedTabNode","centeredTabPosition","onSelectTab","newTab","useEffect","tab","jsxs","jsx","Arrow","tabClassName","Tip","Link","generateUrlFromRouterPath","PropTypes","SLIDER_TABS"],"mappings":"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"}
1
+ {"version":3,"file":"TabsSlider.mjs","sources":["../../../src/lib/components/TabsSlider/TabsSlider.jsx"],"sourcesContent":["/*\nCopyright 2019 Iguazio Systems Ltd.\n\nLicensed under the Apache License, Version 2.0 (the \"License\") with\nan addition restriction as set forth herein. You may not use this\nfile except in compliance with the License. You may obtain a copy of\nthe License at http://www.apache.org/licenses/LICENSE-2.0.\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\nimplied. See the License for the specific language governing\npermissions and limitations under the License.\n\nIn addition, you may not use the software for any purposes that are\nillegal under applicable law, and the grant of the foregoing license\nunder the Apache 2.0 license is conditioned upon your compliance with\nsuch restriction.\n*/\nimport React, { useCallback, useEffect, useState, useRef } from 'react'\nimport { Link, useLocation, useParams } from 'react-router-dom'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\n\nimport Tip from '../Tip/Tip'\n\nimport { SLIDER_TABS } from '../../types'\nimport { generateUrlFromRouterPath } from '../../utils/common.util'\n\nimport Arrow from '../../images/arrow.svg?react'\n\nconst TabsSlider = ({\n fontSize = 'sm',\n initialTab = '',\n isDetailsPopUp = false,\n onClick = () => {},\n skipLink = false,\n tabsList\n}) => {\n const [selectedTab, setSelectedTab] = useState(initialTab)\n const [arrowsAreHidden, setArrowsAreHidden] = useState(true)\n const [scrolledWidth, setScrolledWidth] = useState(0)\n const [rightArrowDisabled, setRightArrowDisabled] = useState(false)\n const tabsWrapperRef = useRef()\n const tabsRef = useRef()\n const location = useLocation()\n const params = useParams()\n const menuOffsetHalfWidth = 2\n const tabOffset = 1.5\n\n const leftArrowClassNames = classnames(\n 'tabs-slider__arrow',\n 'tabs-slider__arrow_left',\n arrowsAreHidden && 'tabs-slider__arrow_hidden',\n scrolledWidth === 0 && 'tabs-slider__arrow_disabled'\n )\n const rightArrowClassNames = classnames(\n 'tabs-slider__arrow',\n 'tabs-slider__arrow_right',\n arrowsAreHidden && 'tabs-slider__arrow_hidden',\n rightArrowDisabled && 'tabs-slider__arrow_disabled'\n )\n\n const scrollTabs = toRight => {\n let scrollWidth\n\n if (toRight) {\n if (\n tabsRef.current?.scrollWidth <\n tabsWrapperRef.current?.offsetWidth * tabOffset + scrolledWidth\n ) {\n scrollWidth = tabsRef.current?.scrollWidth - tabsWrapperRef.current?.offsetWidth\n\n setRightArrowDisabled(true)\n } else {\n scrollWidth = scrolledWidth + tabsWrapperRef.current?.offsetWidth / menuOffsetHalfWidth\n }\n } else {\n scrollWidth = Math.max(\n 0,\n scrolledWidth - tabsWrapperRef.current?.offsetWidth / menuOffsetHalfWidth\n )\n\n setRightArrowDisabled(false)\n }\n\n setScrolledWidth(scrollWidth)\n }\n\n const handleHideArrows = useCallback(() => {\n const scrollIsHidden = tabsRef.current?.offsetWidth === tabsRef.current?.scrollWidth\n\n setArrowsAreHidden(scrollIsHidden)\n\n if (rightArrowDisabled) {\n setScrolledWidth(tabsRef.current?.scrollWidth - tabsWrapperRef.current?.offsetWidth)\n }\n\n if (scrollIsHidden) {\n setScrolledWidth(0)\n setRightArrowDisabled(false)\n }\n }, [rightArrowDisabled, tabsRef, tabsWrapperRef])\n\n const moveToSelectedTab = useCallback(() => {\n const selectedTabNode = document.querySelector(`[data-tab='${selectedTab}']`)\n const centeredTabPosition =\n selectedTabNode?.offsetLeft -\n tabsWrapperRef.current?.offsetWidth / menuOffsetHalfWidth +\n selectedTabNode?.offsetWidth / menuOffsetHalfWidth\n\n if (centeredTabPosition <= 0) {\n setScrolledWidth(0)\n setRightArrowDisabled(false)\n } else if (\n tabsRef.current?.scrollWidth <\n tabsWrapperRef.current?.offsetWidth / menuOffsetHalfWidth +\n selectedTabNode?.offsetLeft +\n selectedTabNode?.offsetWidth\n ) {\n setScrolledWidth(tabsRef.current?.scrollWidth - tabsWrapperRef.current?.offsetWidth)\n setRightArrowDisabled(true)\n } else {\n setScrolledWidth(centeredTabPosition)\n setRightArrowDisabled(false)\n }\n }, [selectedTab])\n\n const onSelectTab = newTab => {\n setSelectedTab(newTab)\n onClick && onClick(newTab)\n }\n\n useEffect(() => {\n window.addEventListener('resize', handleHideArrows)\n\n return () => window.removeEventListener('resize', handleHideArrows)\n }, [handleHideArrows])\n\n useEffect(() => {\n window.addEventListener('resize', moveToSelectedTab)\n\n return () => window.removeEventListener('resize', moveToSelectedTab)\n }, [moveToSelectedTab])\n\n useEffect(() => {\n handleHideArrows()\n }, [tabsList, handleHideArrows])\n\n useEffect(() => {\n moveToSelectedTab()\n }, [moveToSelectedTab])\n\n useEffect(() => {\n if (params.tab && params.tab !== selectedTab && !isDetailsPopUp) {\n setSelectedTab(tabsList.find(tab => tab.id === params.tab)?.id)\n }\n }, [isDetailsPopUp, params.tab, selectedTab, tabsList])\n\n const getTabContent = useCallback(tab => {\n return (\n <span\n className={(tab.icon && 'content-menu__tab-icon') || (tab.tip && 'content-menu__tab-tip')}\n >\n {tab.icon && <div>{tab.icon}</div>}\n {tab.label}\n {tab.tip && <Tip text={tab.tip} />}\n </span>\n )\n }, [])\n\n return (\n <div className=\"content-menu\">\n <div\n className={leftArrowClassNames}\n onClick={() => {\n scrollTabs(false)\n }}\n >\n <Arrow />\n </div>\n <div className=\"content-menu__tabs-wrapper\" ref={tabsWrapperRef}>\n <div\n ref={tabsRef}\n className=\"content-menu__tabs\"\n style={{\n transform: `translateX(${-scrolledWidth}px)`\n }}\n >\n {tabsList.map(tab => {\n const tabClassName = classnames(\n 'content-menu__tab',\n `content-menu__tab-${fontSize}`,\n selectedTab === tab.id && 'content-menu__tab_active'\n )\n\n return (\n !tab.hidden &&\n (!skipLink ? (\n <Link\n to={generateUrlFromRouterPath(\n `${window.location.pathname?.replace(/^$|([^/]+$)/, tab.id)}${location.search ?? ''}${tab.query ?? ''}`\n )}\n className={tabClassName}\n key={tab.id}\n data-tab={tab.id}\n onClick={() => onSelectTab(tab.id)}\n >\n {getTabContent(tab)}\n </Link>\n ) : (\n <div\n className={tabClassName}\n key={tab.id}\n data-tab={tab.id}\n onClick={() => onSelectTab(tab.id)}\n >\n {getTabContent(tab)}\n </div>\n ))\n )\n })}\n </div>\n </div>\n <div className={rightArrowClassNames} onClick={() => scrollTabs(true)}>\n <Arrow />\n </div>\n </div>\n )\n}\n\nTabsSlider.propTypes = {\n fontSize: PropTypes.oneOf(['sm', 'md', 'lg']),\n initialTab: PropTypes.string,\n isDetailsPopUp: PropTypes.bool,\n onClick: PropTypes.func,\n skipLink: PropTypes.bool,\n tabsList: SLIDER_TABS.isRequired\n}\n\nexport default TabsSlider\n"],"names":["TabsSlider","fontSize","initialTab","isDetailsPopUp","onClick","skipLink","tabsList","selectedTab","setSelectedTab","useState","arrowsAreHidden","setArrowsAreHidden","scrolledWidth","setScrolledWidth","rightArrowDisabled","setRightArrowDisabled","tabsWrapperRef","useRef","tabsRef","location","useLocation","params","useParams","menuOffsetHalfWidth","tabOffset","leftArrowClassNames","classnames","rightArrowClassNames","scrollTabs","toRight","scrollWidth","_a","_b","_c","_d","_e","_f","handleHideArrows","useCallback","scrollIsHidden","moveToSelectedTab","selectedTabNode","centeredTabPosition","onSelectTab","newTab","useEffect","tab","getTabContent","jsxs","jsx","Tip","Arrow","tabClassName","Link","generateUrlFromRouterPath","PropTypes","SLIDER_TABS"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export function useChipCell(isEditMode: any, visibleChipsMaxLength: any): {
1
+ export function useChipCell(isEditMode: any, visibleChipsMaxLength: any, withInitialParentWidth: any): {
2
2
  chipsCellRef: import("react").MutableRefObject<undefined>;
3
3
  chipsWrapperRef: import("react").MutableRefObject<undefined>;
4
4
  handleShowElements: (event: any) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"useChipCell.hook.d.ts","sourceRoot":"","sources":["../../src/lib/hooks/useChipCell.hook.js"],"names":[],"mappings":"AA6BO;;;;;;;;;;;EA4IN"}
1
+ {"version":3,"file":"useChipCell.hook.d.ts","sourceRoot":"","sources":["../../src/lib/hooks/useChipCell.hook.js"],"names":[],"mappings":"AA6BO;;;;;;;;;;;EAyJN"}
@@ -1,61 +1,68 @@
1
- import { useState as w, useMemo as S, useRef as g, useCallback as C, useEffect as v, useLayoutEffect as H } from "react";
1
+ import { useState as h, useMemo as k, useRef as d, useCallback as b, useEffect as C, useLayoutEffect as N } from "react";
2
2
  import { throttle as P } from "lodash";
3
- import { getScssVariableValue as I, getTransitionEndEventName as N, isEveryObjectValueEmpty as W } from "../utils/common.util.mjs";
4
- import { getFirstScrollableParent as x } from "../utils/getFirstScrollableParent.util.mjs";
5
- const A = (s, b) => {
6
- const [o, l] = w(!1), [c, k] = w({}), [z, B] = w(!1), [j, y] = w(8), E = S(
7
- () => parseInt(I("--chipBlockMarginRight")),
3
+ import { getScssVariableValue as x, getTransitionEndEventName as D, isEveryObjectValueEmpty as F } from "../utils/common.util.mjs";
4
+ import { getFirstScrollableParent as T } from "../utils/getFirstScrollableParent.util.mjs";
5
+ const K = (s, E, R) => {
6
+ const [o, c] = h(!1), [a, z] = h({}), [j, y] = h(!1), [L, O] = h(0), [V, H] = h(8), S = k(
7
+ () => parseInt(x("--chipBlockMarginRight")),
8
8
  []
9
- ), m = S(() => N(), []), L = g(), O = g(), a = g(), n = g(), f = C(
9
+ ), p = k(() => D(), []), f = d(), I = d(), u = d(), r = d(), g = b(
10
10
  (e) => {
11
- var u, i;
12
- (!s || s && b) && ((u = a.current) != null && u.contains(e.target) && !o ? l(!0) : l(!1)), e && ((i = a.current) != null && i.contains(e.target)) && e.stopPropagation();
11
+ var l, n;
12
+ (!s || s && E) && ((l = u.current) != null && l.contains(e.target) && !o ? c(!0) : c(!1)), e && ((n = u.current) != null && n.contains(e.target)) && e.stopPropagation();
13
13
  },
14
- [s, o, b]
14
+ [s, o, E]
15
15
  );
16
- v(() => (o && window.addEventListener("click", f, !0), () => window.removeEventListener("click", f, !0)), [o, f]);
17
- const p = C(
16
+ C(() => (o && window.addEventListener("click", g, !0), () => window.removeEventListener("click", g, !0)), [o, g]), C(() => {
17
+ var e;
18
+ (e = f.current) != null && e.getBoundingClientRect().width && O((l) => {
19
+ var n;
20
+ if (!l)
21
+ return (n = f.current) == null ? void 0 : n.getBoundingClientRect().width;
22
+ });
23
+ }, []);
24
+ const m = b(
18
25
  (e) => {
19
- e.target.parentElement !== (n == null ? void 0 : n.current) && l(!1);
26
+ e.target.parentElement !== (r == null ? void 0 : r.current) && c(!1);
20
27
  },
21
- [n]
28
+ [r]
22
29
  );
23
- v(() => (o && window.addEventListener("scroll", p, !0), () => window.removeEventListener("scroll", p, !0)), [p, o]);
24
- const h = C(() => {
25
- var e, u;
26
- if (n != null && n.current) {
27
- const r = x(a.current.offsetParent).getBoundingClientRect(), t = (e = a.current) == null ? void 0 : e.getBoundingClientRect();
28
- (t.left < r.left || t.top < r.top || t.right > r.right || t.bottom > r.bottom || t.right > window.innerWidth || t.bottom > window.innerHeight) && l(!1);
30
+ C(() => (o && window.addEventListener("scroll", m, !0), () => window.removeEventListener("scroll", m, !0)), [m, o]);
31
+ const w = b(() => {
32
+ var e, l;
33
+ if (r != null && r.current) {
34
+ const i = T(u.current.offsetParent).getBoundingClientRect(), t = (e = u.current) == null ? void 0 : e.getBoundingClientRect();
35
+ (t.left < i.left || t.top < i.top || t.right > i.right || t.bottom > i.bottom || t.right > window.innerWidth || t.bottom > window.innerHeight) && c(!1);
29
36
  }
30
- if (!s && !W(c)) {
31
- const i = (u = L.current) == null ? void 0 : u.getBoundingClientRect().width;
32
- let r = 0, t = 0;
33
- const V = 65;
34
- Object.values(c).every((d, R) => r + d > i || Object.values(c).length > 1 && r + d + E + V > i ? (t = R, !1) : (r += d, R === Object.values(c).length - 1 && (t = 8), !0)), y(t), B(!0);
37
+ if (!s && !F(a)) {
38
+ const n = R ? L : (l = f.current) == null ? void 0 : l.getBoundingClientRect().width;
39
+ let i = 0, t = 0;
40
+ const W = 65;
41
+ Object.values(a).every((v, B) => i + v > n || Object.values(a).length > 1 && i + v + S + W > n ? (t = B, !1) : (i += v, B === Object.values(a).length - 1 && (t = 8), !0)), H(t), y(!0);
35
42
  }
36
- }, [E, c, s]);
37
- return H(() => {
38
- h();
39
- }, [h]), v(() => {
40
- const e = P(h, 500);
43
+ }, [S, L, a, s, R]);
44
+ return N(() => {
45
+ w();
46
+ }, [w]), C(() => {
47
+ const e = P(w, 500);
41
48
  if (!s)
42
- return window.addEventListener("resize", e), window.addEventListener(m, e), () => {
43
- window.removeEventListener("resize", e), window.removeEventListener(m, e);
49
+ return window.addEventListener("resize", e), window.addEventListener(p, e), () => {
50
+ window.removeEventListener("resize", e), window.removeEventListener(p, e);
44
51
  };
45
- }, [h, s, m]), {
46
- chipsCellRef: L,
47
- chipsWrapperRef: O,
48
- handleShowElements: f,
49
- hiddenChipsCounterRef: a,
50
- hiddenChipsPopUpRef: n,
51
- setChipsSizes: k,
52
- setShowHiddenChips: l,
53
- showChips: z,
52
+ }, [w, s, p]), {
53
+ chipsCellRef: f,
54
+ chipsWrapperRef: I,
55
+ handleShowElements: g,
56
+ hiddenChipsCounterRef: u,
57
+ hiddenChipsPopUpRef: r,
58
+ setChipsSizes: z,
59
+ setShowHiddenChips: c,
60
+ showChips: j,
54
61
  showHiddenChips: o,
55
- visibleChipsCount: j
62
+ visibleChipsCount: V
56
63
  };
57
64
  };
58
65
  export {
59
- A as useChipCell
66
+ K as useChipCell
60
67
  };
61
68
  //# sourceMappingURL=useChipCell.hook.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"useChipCell.hook.mjs","sources":["../../src/lib/hooks/useChipCell.hook.js"],"sourcesContent":["/*\nCopyright 2019 Iguazio Systems Ltd.\n\nLicensed under the Apache License, Version 2.0 (the \"License\") with\nan addition restriction as set forth herein. You may not use this\nfile except in compliance with the License. You may obtain a copy of\nthe License at http://www.apache.org/licenses/LICENSE-2.0.\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\nimplied. See the License for the specific language governing\npermissions and limitations under the License.\n\nIn addition, you may not use the software for any purposes that are\nillegal under applicable law, and the grant of the foregoing license\nunder the Apache 2.0 license is conditioned upon your compliance with\nsuch restriction.\n*/\nimport { useCallback, useEffect, useMemo, useRef, useState, useLayoutEffect } from 'react'\nimport { throttle } from 'lodash'\n\nimport {\n getScssVariableValue,\n getTransitionEndEventName,\n isEveryObjectValueEmpty\n} from '../utils/common.util'\nimport { getFirstScrollableParent } from '../utils/getFirstScrollableParent.util'\n\nexport const useChipCell = (isEditMode, visibleChipsMaxLength) => {\n const [showHiddenChips, setShowHiddenChips] = useState(false)\n const [chipsSizes, setChipsSizes] = useState({})\n const [showChips, setShowChips] = useState(false)\n const [visibleChipsCount, setVisibleChipsCount] = useState(8)\n\n const chipBlockMarginRight = useMemo(\n () => parseInt(getScssVariableValue('--chipBlockMarginRight')),\n []\n )\n const transitionEndEventName = useMemo(() => getTransitionEndEventName(), [])\n\n const chipsCellRef = useRef()\n const chipsWrapperRef = useRef()\n const hiddenChipsCounterRef = useRef()\n const hiddenChipsPopUpRef = useRef()\n\n const handleShowElements = useCallback(\n event => {\n if (!isEditMode || (isEditMode && visibleChipsMaxLength)) {\n if (hiddenChipsCounterRef.current?.contains(event.target) && !showHiddenChips) {\n setShowHiddenChips(true)\n } else {\n setShowHiddenChips(false)\n }\n }\n\n event && hiddenChipsCounterRef.current?.contains(event.target) && event.stopPropagation()\n },\n [isEditMode, showHiddenChips, visibleChipsMaxLength]\n )\n\n useEffect(() => {\n if (showHiddenChips) {\n window.addEventListener('click', handleShowElements, true)\n }\n\n return () => window.removeEventListener('click', handleShowElements, true)\n }, [showHiddenChips, handleShowElements])\n\n const handleScroll = useCallback(\n event => {\n if (event.target.parentElement !== hiddenChipsPopUpRef?.current) {\n setShowHiddenChips(false)\n }\n },\n [hiddenChipsPopUpRef]\n )\n\n useEffect(() => {\n if (showHiddenChips) {\n window.addEventListener('scroll', handleScroll, true)\n }\n\n return () => window.removeEventListener('scroll', handleScroll, true)\n }, [handleScroll, showHiddenChips])\n\n const resizeChipCell = useCallback(() => {\n if (hiddenChipsPopUpRef?.current) {\n const scrollableParent = getFirstScrollableParent(hiddenChipsCounterRef.current.offsetParent)\n const scrollableParentRect = scrollableParent.getBoundingClientRect()\n const hiddenChipsCounterRect = hiddenChipsCounterRef.current?.getBoundingClientRect()\n\n // Check if the hiddenChipsCounterRect is outside the boundaries of the scrollableParentRect or the window\n if (\n hiddenChipsCounterRect.left < scrollableParentRect.left ||\n hiddenChipsCounterRect.top < scrollableParentRect.top ||\n hiddenChipsCounterRect.right > scrollableParentRect.right ||\n hiddenChipsCounterRect.bottom > scrollableParentRect.bottom ||\n hiddenChipsCounterRect.right > window.innerWidth ||\n hiddenChipsCounterRect.bottom > window.innerHeight\n ) {\n setShowHiddenChips(false)\n }\n }\n\n if (!isEditMode && !isEveryObjectValueEmpty(chipsSizes)) {\n const parentSize = chipsCellRef.current?.getBoundingClientRect().width\n\n let maxLength = 0\n let chipIndex = 0\n const padding = 65\n\n Object.values(chipsSizes).every((chipSize, index) => {\n // Check if adding chipSize to maxLength exceeds parentSize\n // or if adding chipSize and padding exceeds parentSize when there are multiple chips\n if (\n maxLength + chipSize > parentSize ||\n (Object.values(chipsSizes).length > 1 &&\n maxLength + chipSize + chipBlockMarginRight + padding > parentSize)\n ) {\n chipIndex = index\n\n return false\n } else {\n maxLength += chipSize\n\n if (index === Object.values(chipsSizes).length - 1) {\n chipIndex = 8\n }\n\n return true\n }\n })\n\n setVisibleChipsCount(chipIndex)\n setShowChips(true)\n }\n }, [chipBlockMarginRight, chipsSizes, isEditMode])\n\n useLayoutEffect(() => {\n resizeChipCell()\n }, [resizeChipCell])\n\n useEffect(() => {\n const resizeChipCellDebounced = throttle(resizeChipCell, 500)\n\n if (!isEditMode) {\n window.addEventListener('resize', resizeChipCellDebounced)\n window.addEventListener(transitionEndEventName, resizeChipCellDebounced)\n\n return () => {\n window.removeEventListener('resize', resizeChipCellDebounced)\n window.removeEventListener(transitionEndEventName, resizeChipCellDebounced)\n }\n }\n }, [resizeChipCell, isEditMode, transitionEndEventName])\n\n return {\n chipsCellRef,\n chipsWrapperRef,\n handleShowElements,\n hiddenChipsCounterRef,\n hiddenChipsPopUpRef,\n setChipsSizes,\n setShowHiddenChips,\n showChips,\n showHiddenChips,\n visibleChipsCount\n }\n}\n"],"names":["useChipCell","isEditMode","visibleChipsMaxLength","showHiddenChips","setShowHiddenChips","useState","chipsSizes","setChipsSizes","showChips","setShowChips","visibleChipsCount","setVisibleChipsCount","chipBlockMarginRight","useMemo","getScssVariableValue","transitionEndEventName","getTransitionEndEventName","chipsCellRef","useRef","chipsWrapperRef","hiddenChipsCounterRef","hiddenChipsPopUpRef","handleShowElements","useCallback","event","_a","_b","useEffect","handleScroll","resizeChipCell","scrollableParentRect","getFirstScrollableParent","hiddenChipsCounterRect","isEveryObjectValueEmpty","parentSize","maxLength","chipIndex","padding","chipSize","index","useLayoutEffect","resizeChipCellDebounced","throttle"],"mappings":"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"}
1
+ {"version":3,"file":"useChipCell.hook.mjs","sources":["../../src/lib/hooks/useChipCell.hook.js"],"sourcesContent":["/*\nCopyright 2019 Iguazio Systems Ltd.\n\nLicensed under the Apache License, Version 2.0 (the \"License\") with\nan addition restriction as set forth herein. You may not use this\nfile except in compliance with the License. You may obtain a copy of\nthe License at http://www.apache.org/licenses/LICENSE-2.0.\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\nimplied. See the License for the specific language governing\npermissions and limitations under the License.\n\nIn addition, you may not use the software for any purposes that are\nillegal under applicable law, and the grant of the foregoing license\nunder the Apache 2.0 license is conditioned upon your compliance with\nsuch restriction.\n*/\nimport { useCallback, useEffect, useMemo, useRef, useState, useLayoutEffect } from 'react'\nimport { throttle } from 'lodash'\n\nimport {\n getScssVariableValue,\n getTransitionEndEventName,\n isEveryObjectValueEmpty\n} from '../utils/common.util'\nimport { getFirstScrollableParent } from '../utils/getFirstScrollableParent.util'\n\nexport const useChipCell = (isEditMode, visibleChipsMaxLength, withInitialParentWidth) => {\n const [showHiddenChips, setShowHiddenChips] = useState(false)\n const [chipsSizes, setChipsSizes] = useState({})\n const [showChips, setShowChips] = useState(false)\n const [chipCellInitialWidth, setChipCellInitialWidth] = useState(0)\n const [visibleChipsCount, setVisibleChipsCount] = useState(8)\n\n const chipBlockMarginRight = useMemo(\n () => parseInt(getScssVariableValue('--chipBlockMarginRight')),\n []\n )\n const transitionEndEventName = useMemo(() => getTransitionEndEventName(), [])\n\n const chipsCellRef = useRef()\n const chipsWrapperRef = useRef()\n const hiddenChipsCounterRef = useRef()\n const hiddenChipsPopUpRef = useRef()\n\n const handleShowElements = useCallback(\n event => {\n if (!isEditMode || (isEditMode && visibleChipsMaxLength)) {\n if (hiddenChipsCounterRef.current?.contains(event.target) && !showHiddenChips) {\n setShowHiddenChips(true)\n } else {\n setShowHiddenChips(false)\n }\n }\n\n event && hiddenChipsCounterRef.current?.contains(event.target) && event.stopPropagation()\n },\n [isEditMode, showHiddenChips, visibleChipsMaxLength]\n )\n\n useEffect(() => {\n if (showHiddenChips) {\n window.addEventListener('click', handleShowElements, true)\n }\n\n return () => window.removeEventListener('click', handleShowElements, true)\n }, [showHiddenChips, handleShowElements])\n\n useEffect(() => {\n if (chipsCellRef.current?.getBoundingClientRect().width) {\n setChipCellInitialWidth(state => {\n if (!state) {\n return chipsCellRef.current?.getBoundingClientRect().width\n }\n })\n }\n }, [])\n\n const handleScroll = useCallback(\n event => {\n if (event.target.parentElement !== hiddenChipsPopUpRef?.current) {\n setShowHiddenChips(false)\n }\n },\n [hiddenChipsPopUpRef]\n )\n\n useEffect(() => {\n if (showHiddenChips) {\n window.addEventListener('scroll', handleScroll, true)\n }\n\n return () => window.removeEventListener('scroll', handleScroll, true)\n }, [handleScroll, showHiddenChips])\n\n const resizeChipCell = useCallback(() => {\n if (hiddenChipsPopUpRef?.current) {\n const scrollableParent = getFirstScrollableParent(hiddenChipsCounterRef.current.offsetParent)\n const scrollableParentRect = scrollableParent.getBoundingClientRect()\n const hiddenChipsCounterRect = hiddenChipsCounterRef.current?.getBoundingClientRect()\n\n // Check if the hiddenChipsCounterRect is outside the boundaries of the scrollableParentRect or the window\n if (\n hiddenChipsCounterRect.left < scrollableParentRect.left ||\n hiddenChipsCounterRect.top < scrollableParentRect.top ||\n hiddenChipsCounterRect.right > scrollableParentRect.right ||\n hiddenChipsCounterRect.bottom > scrollableParentRect.bottom ||\n hiddenChipsCounterRect.right > window.innerWidth ||\n hiddenChipsCounterRect.bottom > window.innerHeight\n ) {\n setShowHiddenChips(false)\n }\n }\n\n if (!isEditMode && !isEveryObjectValueEmpty(chipsSizes)) {\n const parentSize = withInitialParentWidth\n ? chipCellInitialWidth\n : chipsCellRef.current?.getBoundingClientRect().width\n\n let maxLength = 0\n let chipIndex = 0\n const padding = 65\n\n Object.values(chipsSizes).every((chipSize, index) => {\n // Check if adding chipSize to maxLength exceeds parentSize\n // or if adding chipSize and padding exceeds parentSize when there are multiple chips\n if (\n maxLength + chipSize > parentSize ||\n (Object.values(chipsSizes).length > 1 &&\n maxLength + chipSize + chipBlockMarginRight + padding > parentSize)\n ) {\n chipIndex = index\n\n return false\n } else {\n maxLength += chipSize\n\n if (index === Object.values(chipsSizes).length - 1) {\n chipIndex = 8\n }\n\n return true\n }\n })\n\n setVisibleChipsCount(chipIndex)\n setShowChips(true)\n }\n }, [chipBlockMarginRight, chipCellInitialWidth, chipsSizes, isEditMode, withInitialParentWidth])\n\n useLayoutEffect(() => {\n resizeChipCell()\n }, [resizeChipCell])\n\n useEffect(() => {\n const resizeChipCellDebounced = throttle(resizeChipCell, 500)\n\n if (!isEditMode) {\n window.addEventListener('resize', resizeChipCellDebounced)\n window.addEventListener(transitionEndEventName, resizeChipCellDebounced)\n\n return () => {\n window.removeEventListener('resize', resizeChipCellDebounced)\n window.removeEventListener(transitionEndEventName, resizeChipCellDebounced)\n }\n }\n }, [resizeChipCell, isEditMode, transitionEndEventName])\n\n return {\n chipsCellRef,\n chipsWrapperRef,\n handleShowElements,\n hiddenChipsCounterRef,\n hiddenChipsPopUpRef,\n setChipsSizes,\n setShowHiddenChips,\n showChips,\n showHiddenChips,\n visibleChipsCount\n }\n}\n"],"names":["useChipCell","isEditMode","visibleChipsMaxLength","withInitialParentWidth","showHiddenChips","setShowHiddenChips","useState","chipsSizes","setChipsSizes","showChips","setShowChips","chipCellInitialWidth","setChipCellInitialWidth","visibleChipsCount","setVisibleChipsCount","chipBlockMarginRight","useMemo","getScssVariableValue","transitionEndEventName","getTransitionEndEventName","chipsCellRef","useRef","chipsWrapperRef","hiddenChipsCounterRef","hiddenChipsPopUpRef","handleShowElements","useCallback","event","_a","_b","useEffect","state","handleScroll","resizeChipCell","scrollableParentRect","getFirstScrollableParent","hiddenChipsCounterRect","isEveryObjectValueEmpty","parentSize","maxLength","chipIndex","padding","chipSize","index","useLayoutEffect","resizeChipCellDebounced","throttle"],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ <svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <rect y="6.10352e-05" width="32" height="32" rx="6" fill="#00A59B"/>
3
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M15.3058 12.8884C14.1753 12.5831 13.3435 11.5504 13.3435 10.3234C13.3435 8.85609 14.533 7.66663 16.0002 7.66663C17.4675 7.66663 18.657 8.85609 18.657 10.3234C18.657 11.5504 17.8251 12.5831 16.6946 12.8884V15.8937L19.0294 15.1351C18.9191 13.9268 19.6525 12.7598 20.855 12.3691C22.2504 11.9157 23.7493 12.6794 24.2027 14.0748C24.6561 15.4703 23.8924 16.9691 22.4969 17.4225C21.3661 17.79 20.1674 17.3581 19.5122 16.4386L17.2049 17.1882L18.6884 19.23C19.7988 18.7659 21.1223 19.105 21.8605 20.1211C22.7229 21.3081 22.4598 22.9695 21.2727 23.832C20.0857 24.6944 18.4243 24.4313 17.5618 23.2442C16.8578 22.2752 16.9038 20.99 17.5903 20.0815L16.0152 17.9136L14.5476 19.9337C15.3469 20.8463 15.4395 22.2214 14.6963 23.2443C13.8339 24.4313 12.1724 24.6945 10.9854 23.832C9.79832 22.9696 9.53517 21.3081 10.3976 20.1211C11.0965 19.1591 12.3202 18.8039 13.3909 19.1628L14.9484 17.019L12.6059 16.2579C11.985 17.3002 10.7057 17.8132 9.50323 17.4225C8.10776 16.9691 7.34408 15.4703 7.7975 14.0748C8.25091 12.6794 9.74972 11.9157 11.1452 12.3691C12.276 12.7365 12.992 13.7905 12.9816 14.9196L15.3058 15.6748V12.8884ZM17.2681 10.3234C17.2681 11.0236 16.7005 11.5912 16.0002 11.5912C15.3 11.5912 14.7324 11.0236 14.7324 10.3234C14.7324 9.62314 15.3 9.0555 16.0002 9.0555C16.7005 9.0555 17.2681 9.62314 17.2681 10.3234ZM11.53 15.2876C11.7464 14.6216 11.382 13.9064 10.716 13.69C10.05 13.4736 9.33477 13.8381 9.11839 14.504C8.90201 15.17 9.26646 15.8852 9.93241 16.1016C10.5984 16.318 11.3136 15.9536 11.53 15.2876ZM13.2922 20.657C12.7257 20.2454 11.9328 20.371 11.5212 20.9375C11.1097 21.5039 11.2352 22.2968 11.8017 22.7084C12.3682 23.12 13.1611 22.9944 13.5727 22.4279C13.9843 21.8614 13.8587 21.0685 13.2922 20.657ZM18.9659 20.6569C18.3994 21.0685 18.2738 21.8614 18.6854 22.4279C19.097 22.9944 19.8899 23.12 20.4564 22.7084C21.0229 22.2968 21.1485 21.5039 20.7369 20.9374C20.3253 20.3709 19.5324 20.2453 18.9659 20.6569ZM20.4701 15.2876C20.6865 15.9536 21.4018 16.318 22.0677 16.1016C22.7337 15.8853 23.0982 15.17 22.8818 14.504C22.6654 13.8381 21.9501 13.4736 21.2842 13.69C20.6182 13.9064 20.2538 14.6217 20.4701 15.2876Z" fill="white"/>
4
+ </svg>
@@ -0,0 +1,4 @@
1
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <rect y="6.10352e-05" width="24" height="24" rx="12" fill="#F98B0A" fill-opacity="0.12"/>
3
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M7.33333 18.0001C6.96667 18.0001 6.65267 17.8696 6.39133 17.6087C6.13044 17.3474 6 17.0334 6 16.6667V7.33339C6 6.96673 6.13044 6.65273 6.39133 6.39139C6.65267 6.13051 6.96667 6.00006 7.33333 6.00006H16.6667C17.0333 6.00006 17.3473 6.13051 17.6087 6.39139C17.8696 6.65273 18 6.96673 18 7.33339V16.6667C18 17.0334 17.8696 17.3474 17.6087 17.6087C17.3473 17.8696 17.0333 18.0001 16.6667 18.0001H7.33333ZM7.33333 16.6667H16.6667V12.6667H14.9091C14.7711 12.6667 14.6441 12.6276 14.5358 12.5452C14.4322 12.4667 14.3564 12.3619 14.3061 12.2374L14.3042 12.2328L13.4548 9.93197L11.3791 15.5743C11.3113 15.7441 11.2036 15.8854 11.0581 15.9954C10.9076 16.1092 10.7349 16.1667 10.5455 16.1667C10.356 16.1667 10.1833 16.1092 10.0328 15.9954C9.88727 15.8854 9.77967 15.7441 9.71188 15.5743L9.71032 15.5704L8.63549 12.6667H7.33333V16.6667ZM7.33333 11.3333H9.09091C9.22885 11.3333 9.35594 11.3724 9.46421 11.4548C9.56777 11.5333 9.64363 11.6381 9.69392 11.7626L9.69582 11.7672L10.5452 14.068L12.6209 8.42567C12.6887 8.25591 12.7964 8.11463 12.9419 8.00457C13.0924 7.89077 13.2651 7.83333 13.4545 7.83333C13.644 7.83333 13.8167 7.89077 13.9672 8.00457C14.1127 8.11463 14.2203 8.25593 14.2881 8.4257L14.2897 8.42962L15.3645 11.3333H16.6667V7.33339H7.33333V11.3333Z" fill="#F98B0A"/>
4
+ </svg>
@@ -1,5 +1,6 @@
1
1
  export * as chips from "./chips.util";
2
2
  export * as common from "./common.util";
3
+ export * as createProxy from "./proxyServerConfig.util";
3
4
  export * as datetime from "./datetime.util";
4
5
  export * as filter from "./filter.util";
5
6
  export * as form from "./form.util";
@@ -1,25 +1,27 @@
1
1
  import * as t from "./chips.util.mjs";
2
- import * as o from "./common.util.mjs";
3
- import * as r from "./datetime.util.mjs";
4
- import * as i from "./filter.util.mjs";
5
- import * as a from "./form.util.mjs";
2
+ import * as r from "./common.util.mjs";
3
+ import * as o from "./proxyServerConfig.util.mjs";
4
+ import * as i from "./datetime.util.mjs";
5
+ import * as a from "./filter.util.mjs";
6
+ import * as e from "./form.util.mjs";
6
7
  import * as m from "./generateChipsList.util.mjs";
7
8
  import * as s from "./getFirstScrollableParent.util.mjs";
8
- import * as e from "./math.util.mjs";
9
- import * as p from "./notification.util.mjs";
10
- import * as l from "./string.util.mjs";
11
- import * as f from "./validation.util.mjs";
9
+ import * as p from "./math.util.mjs";
10
+ import * as l from "./notification.util.mjs";
11
+ import * as f from "./string.util.mjs";
12
+ import * as n from "./validation.util.mjs";
12
13
  export {
13
14
  t as chips,
14
- o as common,
15
- r as datetime,
16
- i as filter,
17
- a as form,
15
+ r as common,
16
+ o as createProxy,
17
+ i as datetime,
18
+ a as filter,
19
+ e as form,
18
20
  m as generateChipsList,
19
21
  s as getFirstScrollableParent,
20
- e as math,
21
- p as notification,
22
- l as string,
23
- f as validation
22
+ p as math,
23
+ l as notification,
24
+ f as string,
25
+ n as validation
24
26
  };
25
27
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"notification.util.d.ts","sourceRoot":"","sources":["../../src/lib/utils/notification.util.js"],"names":[],"mappings":"AAwBO,uKAqBN"}
1
+ {"version":3,"file":"notification.util.d.ts","sourceRoot":"","sources":["../../src/lib/utils/notification.util.js"],"names":[],"mappings":"AAwBO,uKAsBN"}
@@ -1,17 +1,17 @@
1
- import { setNotification as O } from "../reducers/notificationReducer.mjs";
2
- import { getErrorMsg as _ } from "./common.util.mjs";
3
- import { FORBIDDEN_ERROR_STATUS_CODE as f } from "../constants.mjs";
4
- const T = (E, t, m, R, n = null, s = null) => {
5
- var u, D;
6
- const p = {
7
- status: ((u = t == null ? void 0 : t.response) == null ? void 0 : u.status) || 400,
1
+ import { setNotification as f } from "../reducers/notificationReducer.mjs";
2
+ import { getErrorMsg as M } from "./common.util.mjs";
3
+ import { FORBIDDEN_ERROR_STATUS_CODE as O } from "../constants.mjs";
4
+ const S = (g, s, D, R, m = null, t = null) => {
5
+ var u, E;
6
+ const n = R || M(s, D), p = {
7
+ status: ((u = s == null ? void 0 : s.response) == null ? void 0 : u.status) || 400,
8
8
  id: Math.random(),
9
- message: R || _(t, m),
10
- error: t
9
+ message: n,
10
+ error: s
11
11
  };
12
- n && ((D = t == null ? void 0 : t.response) == null ? void 0 : D.status) !== f && (p.retry = n), s == null || s(m), E(O(p));
12
+ m && ((E = s == null ? void 0 : s.response) == null ? void 0 : E.status) !== O && (p.retry = m), t == null || t(n), g(f(p));
13
13
  };
14
14
  export {
15
- T as showErrorNotification
15
+ S as showErrorNotification
16
16
  };
17
17
  //# sourceMappingURL=notification.util.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"notification.util.mjs","sources":["../../src/lib/utils/notification.util.js"],"sourcesContent":["/*\nCopyright 2019 Iguazio Systems Ltd.\n\nLicensed under the Apache License, Version 2.0 (the \"License\") with\nan addition restriction as set forth herein. You may not use this\nfile except in compliance with the License. You may obtain a copy of\nthe License at http://www.apache.org/licenses/LICENSE-2.0.\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\nimplied. See the License for the specific language governing\npermissions and limitations under the License.\n\nIn addition, you may not use the software for any purposes that are\nillegal under applicable law, and the grant of the foregoing license\nunder the Apache 2.0 license is conditioned upon your compliance with\nsuch restriction.\n*/\n\nimport { setNotification } from '../reducers/notificationReducer'\nimport { getErrorMsg } from './common.util'\nimport { FORBIDDEN_ERROR_STATUS_CODE } from '../constants'\n\nexport const showErrorNotification = (\n dispatch,\n error,\n defaultErrorMsg,\n customErrorMsg,\n retryCallback = null,\n showNotificationCallback = null\n) => {\n const notificationData = {\n status: error?.response?.status || 400,\n id: Math.random(),\n message: customErrorMsg || getErrorMsg(error, defaultErrorMsg),\n error\n }\n\n if (retryCallback && error?.response?.status !== FORBIDDEN_ERROR_STATUS_CODE) {\n notificationData.retry = retryCallback\n }\n\n showNotificationCallback?.(defaultErrorMsg)\n dispatch(setNotification(notificationData))\n}\n"],"names":["showErrorNotification","dispatch","error","defaultErrorMsg","customErrorMsg","retryCallback","showNotificationCallback","notificationData","_a","getErrorMsg","_b","FORBIDDEN_ERROR_STATUS_CODE","setNotification"],"mappings":";;;AAwBY,MAACA,IAAwB,CACnCC,GACAC,GACAC,GACAC,GACAC,IAAgB,MAChBC,IAA2B,SACxB;;AACH,QAAMC,IAAmB;AAAA,IACvB,UAAQC,IAAAN,KAAA,gBAAAA,EAAO,aAAP,gBAAAM,EAAiB,WAAU;AAAA,IACnC,IAAI,KAAK,OAAQ;AAAA,IACjB,SAASJ,KAAkBK,EAAYP,GAAOC,CAAe;AAAA,IAC7D,OAAAD;AAAA,EACJ;AAEE,EAAIG,OAAiBK,IAAAR,KAAA,gBAAAA,EAAO,aAAP,gBAAAQ,EAAiB,YAAWC,MAC/CJ,EAAiB,QAAQF,IAG3BC,KAAA,QAAAA,EAA2BH,IAC3BF,EAASW,EAAgBL,CAAgB,CAAC;AAC5C;"}
1
+ {"version":3,"file":"notification.util.mjs","sources":["../../src/lib/utils/notification.util.js"],"sourcesContent":["/*\nCopyright 2019 Iguazio Systems Ltd.\n\nLicensed under the Apache License, Version 2.0 (the \"License\") with\nan addition restriction as set forth herein. You may not use this\nfile except in compliance with the License. You may obtain a copy of\nthe License at http://www.apache.org/licenses/LICENSE-2.0.\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\nimplied. See the License for the specific language governing\npermissions and limitations under the License.\n\nIn addition, you may not use the software for any purposes that are\nillegal under applicable law, and the grant of the foregoing license\nunder the Apache 2.0 license is conditioned upon your compliance with\nsuch restriction.\n*/\n\nimport { setNotification } from '../reducers/notificationReducer'\nimport { getErrorMsg } from './common.util'\nimport { FORBIDDEN_ERROR_STATUS_CODE } from '../constants'\n\nexport const showErrorNotification = (\n dispatch,\n error,\n defaultErrorMsg,\n customErrorMsg,\n retryCallback = null,\n showNotificationCallback = null\n) => {\n const errorMessage = customErrorMsg || getErrorMsg(error, defaultErrorMsg)\n const notificationData = {\n status: error?.response?.status || 400,\n id: Math.random(),\n message: errorMessage,\n error\n }\n\n if (retryCallback && error?.response?.status !== FORBIDDEN_ERROR_STATUS_CODE) {\n notificationData.retry = retryCallback\n }\n\n showNotificationCallback?.(errorMessage)\n dispatch(setNotification(notificationData))\n}\n"],"names":["showErrorNotification","dispatch","error","defaultErrorMsg","customErrorMsg","retryCallback","showNotificationCallback","errorMessage","getErrorMsg","notificationData","_a","_b","FORBIDDEN_ERROR_STATUS_CODE","setNotification"],"mappings":";;;AAwBY,MAACA,IAAwB,CACnCC,GACAC,GACAC,GACAC,GACAC,IAAgB,MAChBC,IAA2B,SACxB;;AACH,QAAMC,IAAeH,KAAkBI,EAAYN,GAAOC,CAAe,GACnEM,IAAmB;AAAA,IACvB,UAAQC,IAAAR,KAAA,gBAAAA,EAAO,aAAP,gBAAAQ,EAAiB,WAAU;AAAA,IACnC,IAAI,KAAK,OAAQ;AAAA,IACjB,SAASH;AAAA,IACT,OAAAL;AAAA,EACJ;AAEE,EAAIG,OAAiBM,IAAAT,KAAA,gBAAAA,EAAO,aAAP,gBAAAS,EAAiB,YAAWC,MAC/CH,EAAiB,QAAQJ,IAG3BC,KAAA,QAAAA,EAA2BC,IAC3BN,EAASY,EAAgBJ,CAAgB,CAAC;AAC5C;"}
@@ -0,0 +1,27 @@
1
+ export function mlrunProxyConfig(env: any): {
2
+ '/api': {
3
+ target: any;
4
+ changeOrigin: boolean;
5
+ headers: {
6
+ Connection: string;
7
+ 'x-v3io-session-key': any;
8
+ 'x-remote-user': string;
9
+ };
10
+ };
11
+ '/nuclio': {
12
+ target: any;
13
+ changeOrigin: boolean;
14
+ rewrite: (path: any) => any;
15
+ };
16
+ '/iguazio': {
17
+ target: any;
18
+ changeOrigin: boolean;
19
+ rewrite: (path: any) => any;
20
+ };
21
+ '/function-catalog': {
22
+ target: any;
23
+ changeOrigin: boolean;
24
+ rewrite: (path: any) => any;
25
+ };
26
+ };
27
+ //# sourceMappingURL=proxyServerConfig.util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proxyServerConfig.util.d.ts","sourceRoot":"","sources":["../../src/lib/utils/proxyServerConfig.util.js"],"names":[],"mappings":"AAoBO;;;;;;;;;;;;;;;;;;;;;;;;;EAiCL"}