iguazio.dashboard-react-controls 3.2.3 → 3.2.4-navbar

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 (47) hide show
  1. package/dist/components/FormChipCell/NewChipForm/NewChipForm.mjs +36 -36
  2. package/dist/components/FormChipCell/NewChipForm/NewChipForm.mjs.map +1 -1
  3. package/dist/components/Navbar/Navbar.d.ts +30 -0
  4. package/dist/components/Navbar/Navbar.d.ts.map +1 -0
  5. package/dist/components/Navbar/Navbar.mjs +48 -0
  6. package/dist/components/Navbar/Navbar.mjs.map +1 -0
  7. package/dist/components/index.d.ts +2 -1
  8. package/dist/components/index.d.ts.map +1 -1
  9. package/dist/components/index.mjs +32 -30
  10. package/dist/components/index.mjs.map +1 -1
  11. package/dist/constants.d.ts +2 -0
  12. package/dist/constants.d.ts.map +1 -1
  13. package/dist/constants.mjs +11 -9
  14. package/dist/constants.mjs.map +1 -1
  15. package/dist/elements/NavbarLink/NavbarLink.d.ts +3 -0
  16. package/dist/elements/NavbarLink/NavbarLink.d.ts.map +1 -0
  17. package/dist/elements/NavbarLink/NavbarLink.mjs +62 -0
  18. package/dist/elements/NavbarLink/NavbarLink.mjs.map +1 -0
  19. package/dist/elements/index.d.ts +2 -1
  20. package/dist/elements/index.d.ts.map +1 -1
  21. package/dist/elements/index.mjs +16 -14
  22. package/dist/elements/index.mjs.map +1 -1
  23. package/dist/images/group-navbar-icon.svg +3 -0
  24. package/dist/images/ig4-header-projects-icon.svg +4 -0
  25. package/dist/images/navbar/group-navbar-icon.svg +3 -0
  26. package/dist/images/navbar/navbar-closed-icon.svg +10 -0
  27. package/dist/images/navbar/navbar-closed-icon.svg.mjs +6 -0
  28. package/dist/images/navbar/navbar-closed-icon.svg.mjs.map +1 -0
  29. package/dist/images/navbar/navbar-opened-icon.svg +10 -0
  30. package/dist/images/navbar/navbar-opened-icon.svg.mjs +6 -0
  31. package/dist/images/navbar/navbar-opened-icon.svg.mjs.map +1 -0
  32. package/dist/images/navbar/users-navbar-icon.svg +3 -0
  33. package/dist/images/navbar-closed-icon.svg +10 -0
  34. package/dist/images/navbar-opened-icon.svg +10 -0
  35. package/dist/images/users-delete.svg +3 -0
  36. package/dist/images/users-navbar-icon.svg +3 -0
  37. package/dist/images/users.svg +2 -2
  38. package/dist/index.css +1 -1
  39. package/dist/scss/colors.scss +2 -0
  40. package/dist/utils/index.d.ts +1 -0
  41. package/dist/utils/index.mjs +10 -8
  42. package/dist/utils/index.mjs.map +1 -1
  43. package/dist/utils/localStorageService.util.d.ts +3 -0
  44. package/dist/utils/localStorageService.util.d.ts.map +1 -0
  45. package/dist/utils/localStorageService.util.mjs +16 -0
  46. package/dist/utils/localStorageService.util.mjs.map +1 -0
  47. package/package.json +4 -2
@@ -4,8 +4,8 @@ import a from "prop-types";
4
4
  import j from "classnames";
5
5
  import { isEmpty as y, get as z, throttle as Re, isNil as G } from "lodash";
6
6
  import se from "../NewChipInput/NewChipInput.mjs";
7
- import be from "../../../elements/OptionsMenu/OptionsMenu.mjs";
8
- import ke from "../../../elements/ValidationTemplate/ValidationTemplate.mjs";
7
+ import ke from "../../../elements/OptionsMenu/OptionsMenu.mjs";
8
+ import be from "../../../elements/ValidationTemplate/ValidationTemplate.mjs";
9
9
  import { CHIP_OPTIONS as We } from "../../../types.mjs";
10
10
  import { CLICK as Ie, TAB as J, TAB_SHIFT as Ke } from "../../../constants.mjs";
11
11
  import { getTextWidth as D } from "../formChipCell.util.mjs";
@@ -15,13 +15,13 @@ import _e from "../../../images/close.svg.mjs";
15
15
  const Ne = {
16
16
  rules: {}
17
17
  };
18
- let P = ({
18
+ let E = ({
19
19
  chip: d,
20
20
  chipIndex: i,
21
21
  chipOptions: ne,
22
22
  className: ie = "",
23
23
  editConfig: r,
24
- handleRemoveChip: le,
24
+ handleRemoveChip: ue,
25
25
  isDeletable: Q,
26
26
  isEditable: u,
27
27
  keyName: N,
@@ -29,7 +29,7 @@ let P = ({
29
29
  onChange: q,
30
30
  setChipSizeIsRecalculated: U,
31
31
  setEditConfig: O,
32
- validationRules: ue = Ne.rules,
32
+ validationRules: le = Ne.rules,
33
33
  valueName: oe
34
34
  }, w) => {
35
35
  const [l, A] = $({
@@ -38,7 +38,7 @@ let P = ({
38
38
  value: d.value,
39
39
  keyFieldWidth: 0,
40
40
  valueFieldWidth: 0
41
- }), [v, ce] = $("key"), [X, ae] = $(ue), [p, B] = $(!1), { background: Y, borderColor: Z, borderRadius: C, density: g, font: ee } = ne, F = H(() => u ? 25 : 20, [u]), f = H(() => u ? 35 : 20, [u]), M = H(() => Ve(), []), o = T.useRef({}), c = T.useRef({}), S = T.useRef(), x = T.useRef(), de = j(
41
+ }), [v, ce] = $("key"), [X, ae] = $(le), [p, B] = $(!1), { background: Y, borderColor: Z, borderRadius: C, density: g, font: ee } = ne, F = H(() => u ? 25 : 20, [u]), f = H(() => u ? 35 : 20, [u]), M = H(() => Ve(), []), o = T.useRef({}), c = T.useRef({}), S = T.useRef(), x = T.useRef(), de = j(
42
42
  ie,
43
43
  !r.isKeyFocused && "item_edited",
44
44
  !y(z(m, ["error", i, "key"], [])) && !y(l.key) && !d.disabled && u && "item_edited_invalid"
@@ -57,29 +57,29 @@ let P = ({
57
57
  !y(z(m, ["error", i, "value"], [])) && !y(l.value) && u && "item_edited_invalid"
58
58
  ), he = j(
59
59
  "item-icon-close",
60
- !d.disabled && (r.chipIndex === i && u || !Q) && "item-icon-close invisible",
60
+ !d.disabled && (r.chipIndex === i && u || !Q && !u) && "item-icon-close invisible",
61
61
  !u && !Q && "item-icon-close hidden"
62
62
  ), K = I(() => {
63
63
  var e;
64
64
  if (o.current) {
65
- const t = D(o.current) + 1, s = D(c.current) + 1, n = ((e = w.current) == null ? void 0 : e.clientWidth) - 50, _ = t >= n / 2, L = s >= n / 2;
66
- let R = null, b = null;
67
- if (_ && L)
68
- R = b = n / 2;
65
+ const t = D(o.current) + 1, s = D(c.current) + 1, n = ((e = w.current) == null ? void 0 : e.clientWidth) - 50, _ = t >= n / 2, P = s >= n / 2;
66
+ let R = null, k = null;
67
+ if (_ && P)
68
+ R = k = n / 2;
69
69
  else if (_) {
70
- b = l.value ? s : f;
71
- const k = n - b;
72
- R = k > t ? t : k;
73
- } else if (L) {
70
+ k = l.value ? s : f;
71
+ const b = n - k;
72
+ R = b > t ? t : b;
73
+ } else if (P) {
74
74
  R = l.key ? t : F;
75
- const k = n - R;
76
- b = k > s ? s : k;
75
+ const b = n - R;
76
+ k = b > s ? s : b;
77
77
  } else
78
- R = !l.key || t <= F ? F : t, b = !l.value || s <= f ? f : s;
79
- o.current.style.width = `${R}px`, y(c.current) || (c.current.style.width = `${b}px`), A((k) => ({
80
- ...k,
78
+ R = !l.key || t <= F ? F : t, k = !l.value || s <= f ? f : s;
79
+ o.current.style.width = `${R}px`, y(c.current) || (c.current.style.width = `${k}px`), A((b) => ({
80
+ ...b,
81
81
  keyFieldWidth: R,
82
- valueFieldWidth: b
82
+ valueFieldWidth: k
83
83
  })), U(!0);
84
84
  }
85
85
  }, [
@@ -103,7 +103,7 @@ let P = ({
103
103
  }, [u, K, M]), h(() => {
104
104
  !l.keyFieldWidth && !l.valueFieldWidth && K();
105
105
  }, [l.keyFieldWidth, l.valueFieldWidth, K]);
106
- const E = I(
106
+ const L = I(
107
107
  (e, t) => {
108
108
  var s;
109
109
  r.chipIndex === i && (!(e.path ?? ((s = e.composedPath) == null ? void 0 : s.call(e))).includes(S.current) || t ? (q(e, Ie, !0), window.getSelection().removeAllRanges(), document.activeElement.blur()) : e.stopPropagation());
@@ -111,9 +111,9 @@ let P = ({
111
111
  [q, S, i, r.chipIndex]
112
112
  ), V = I(
113
113
  (e) => {
114
- x != null && x.current && !x.current.contains(e.target) && (B(!1), E(e, !0));
114
+ x != null && x.current && !x.current.contains(e.target) && (B(!1), L(e, !0));
115
115
  },
116
- [E]
116
+ [L]
117
117
  );
118
118
  h(() => (p && window.addEventListener("scroll", V, !0), () => {
119
119
  window.removeEventListener("scroll", V, !0);
@@ -130,10 +130,10 @@ let P = ({
130
130
  window.removeEventListener("scroll", V, !0);
131
131
  }), [V, p]), h(() => {
132
132
  if (r.isEdit)
133
- return document.addEventListener("click", E, !0), () => {
134
- document.removeEventListener("click", E, !0);
133
+ return document.addEventListener("click", L, !0), () => {
134
+ document.removeEventListener("click", L, !0);
135
135
  };
136
- }, [E, r.isEdit]);
136
+ }, [L, r.isEdit]);
137
137
  const ye = I(
138
138
  (e) => {
139
139
  if (r.chipIndex === i && u) {
@@ -178,11 +178,11 @@ let P = ({
178
178
  } else {
179
179
  const n = D(c.current);
180
180
  A((_) => {
181
- var L;
181
+ var P;
182
182
  return {
183
183
  ..._,
184
184
  value: c.current.value,
185
- valueFieldWidth: ((L = c.current.value) == null ? void 0 : L.length) <= 1 ? f : n >= t ? t : n > f ? n + 2 : f
185
+ valueFieldWidth: ((P = c.current.value) == null ? void 0 : P.length) <= 1 ? f : n >= t ? t : n > f ? n + 2 : f
186
186
  };
187
187
  });
188
188
  }
@@ -209,7 +209,7 @@ let P = ({
209
209
  }, [m, p, v, r.chipIndex]);
210
210
  const ve = I(() => {
211
211
  var e;
212
- return (e = X[v]) == null ? void 0 : e.map(({ isValid: t = !1, label: s, name: n }) => /* @__PURE__ */ W(ke, { valid: t, validationMessage: s }, n));
212
+ return (e = X[v]) == null ? void 0 : e.map(({ isValid: t = !1, label: s, name: n }) => /* @__PURE__ */ W(be, { valid: t, validationMessage: s }, n));
213
213
  }, [v, X]);
214
214
  return /* @__PURE__ */ Fe(
215
215
  "div",
@@ -250,18 +250,18 @@ let P = ({
250
250
  {
251
251
  disabled: d.disabled,
252
252
  className: he,
253
- onClick: (e) => !d.disabled && le(e, i),
253
+ onClick: (e) => !d.disabled && ue(e, i),
254
254
  children: /* @__PURE__ */ W(_e, {})
255
255
  }
256
256
  ),
257
- !d.disabled && (r.isKeyFocused ? !y(l.key) : !y(l.value)) && r.chipIndex === i && !y(z(m, ["error", r.chipIndex, v], [])) && /* @__PURE__ */ W(be, { show: p, ref: { refInputContainer: S, validationRulesRef: x }, children: ve() })
257
+ !d.disabled && (r.isKeyFocused ? !y(l.key) : !y(l.value)) && r.chipIndex === i && !y(z(m, ["error", r.chipIndex, v], [])) && /* @__PURE__ */ W(ke, { show: p, ref: { refInputContainer: S, validationRulesRef: x }, children: ve() })
258
258
  ]
259
259
  }
260
260
  );
261
261
  };
262
- P = we(P);
263
- P.displayName = "NewChipForm";
264
- P.propTypes = {
262
+ E = we(E);
263
+ E.displayName = "NewChipForm";
264
+ E.propTypes = {
265
265
  chip: a.object.isRequired,
266
266
  chipIndex: a.number.isRequired,
267
267
  chipOptions: We.isRequired,
@@ -278,7 +278,7 @@ P.propTypes = {
278
278
  validationRules: a.object,
279
279
  valueName: a.string.isRequired
280
280
  };
281
- const Me = P;
281
+ const Me = E;
282
282
  export {
283
283
  Me as default
284
284
  };
@@ -1 +1 @@
1
- {"version":3,"file":"NewChipForm.mjs","sources":["../../../../src/lib/components/FormChipCell/NewChipForm/NewChipForm.jsx"],"sourcesContent":["/*\nCopyright 2022 Iguazio Systems Ltd.\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.\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.\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, {\n useState,\n useCallback,\n useEffect,\n useLayoutEffect,\n useMemo,\n forwardRef\n} from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport { isEmpty, get, isNil, throttle } from 'lodash'\n\nimport NewChipInput from '../NewChipInput/NewChipInput'\nimport OptionsMenu from '../../../elements/OptionsMenu/OptionsMenu'\nimport ValidationTemplate from '../../../elements/ValidationTemplate/ValidationTemplate'\n\nimport { CHIP_OPTIONS } from '../../../types'\nimport { CLICK, TAB, TAB_SHIFT } from '../../../constants'\nimport { getTextWidth } from '../formChipCell.util'\nimport { getTransitionEndEventName } from '../../../utils/common.util'\n\nimport Close from '../../../images/close.svg?react'\n\nimport './newChipForm.scss'\n\nconst defaultProps = {\n rules: {}\n}\n\nlet NewChipForm = (\n {\n chip,\n chipIndex,\n chipOptions,\n className = '',\n editConfig,\n handleRemoveChip,\n isDeletable,\n isEditable,\n keyName,\n meta,\n onChange,\n setChipSizeIsRecalculated,\n setEditConfig,\n validationRules: rules = defaultProps.rules,\n valueName\n },\n ref\n) => {\n const [chipData, setChipData] = useState({\n isKeyOnly: chip.isKeyOnly,\n key: chip.key,\n value: chip.value,\n keyFieldWidth: 0,\n valueFieldWidth: 0\n })\n const [selectedInput, setSelectedInput] = useState('key')\n const [validationRules, setValidationRules] = useState(rules)\n const [showValidationRules, setShowValidationRules] = useState(false)\n\n const { background, borderColor, borderRadius, density, font } = chipOptions\n const minWidthInput = useMemo(() => {\n return isEditable ? 25 : 20\n }, [isEditable])\n const minWidthValueInput = useMemo(() => {\n return isEditable ? 35 : 20\n }, [isEditable])\n const transitionEndEventName = useMemo(() => getTransitionEndEventName(), [])\n\n const refInputKey = React.useRef({})\n const refInputValue = React.useRef({})\n const refInputContainer = React.useRef()\n const validationRulesRef = React.useRef()\n\n const labelKeyClassName = classnames(\n className,\n !editConfig.isKeyFocused && 'item_edited',\n !isEmpty(get(meta, ['error', chipIndex, 'key'], [])) &&\n !isEmpty(chipData.key) &&\n !chip.disabled &&\n isEditable &&\n 'item_edited_invalid'\n )\n const labelContainerClassName = classnames(\n 'edit-chip-container',\n background && `edit-chip-container-background_${background}`,\n borderColor && `edit-chip-container-border_${borderColor}`,\n font && `edit-chip-container-font_${font}`,\n density && `edit-chip-container-density_${density}`,\n borderRadius && `edit-chip-container-border_${borderRadius}`,\n (editConfig.isEdit || editConfig.isNewChip) && 'edit-chip-container_edited',\n isEditable && chip.disabled && 'edit-chip-container_disabled edit-chip-container-font_disabled'\n )\n const labelValueClassName = classnames(\n 'input-label-value',\n !editConfig.isValueFocused && 'item_edited',\n !isEmpty(get(meta, ['error', chipIndex, 'value'], [])) &&\n !isEmpty(chipData.value) &&\n isEditable &&\n 'item_edited_invalid'\n )\n\n const closeButtonClass = classnames(\n 'item-icon-close',\n !chip.disabled &&\n ((editConfig.chipIndex === chipIndex && isEditable) || !isDeletable) &&\n 'item-icon-close invisible',\n !isEditable && !isDeletable && 'item-icon-close hidden'\n )\n\n const resizeChip = useCallback(() => {\n if (refInputKey.current) {\n const currentWidthKeyInput = getTextWidth(refInputKey.current) + 1\n const currentWidthValueInput = getTextWidth(refInputValue.current) + 1\n const maxWidthInput = ref.current?.clientWidth - 50\n const keyEllipsis = currentWidthKeyInput >= maxWidthInput / 2\n const valueEllipsis = currentWidthValueInput >= maxWidthInput / 2\n let keyFieldWidth = null\n let valueFieldWidth = null\n\n if (keyEllipsis && valueEllipsis) {\n keyFieldWidth = valueFieldWidth = maxWidthInput / 2\n } else if (keyEllipsis) {\n valueFieldWidth = !chipData.value ? minWidthValueInput : currentWidthValueInput\n\n const remainingPlace = maxWidthInput - valueFieldWidth\n\n keyFieldWidth =\n remainingPlace > currentWidthKeyInput ? currentWidthKeyInput : remainingPlace\n } else if (valueEllipsis) {\n keyFieldWidth = !chipData.key ? minWidthInput : currentWidthKeyInput\n\n const remainingPlace = maxWidthInput - keyFieldWidth\n\n valueFieldWidth =\n remainingPlace > currentWidthValueInput ? currentWidthValueInput : remainingPlace\n } else {\n keyFieldWidth =\n !chipData.key || currentWidthKeyInput <= minWidthInput\n ? minWidthInput\n : currentWidthKeyInput\n valueFieldWidth =\n !chipData.value || currentWidthValueInput <= minWidthValueInput\n ? minWidthValueInput\n : currentWidthValueInput\n }\n\n refInputKey.current.style.width = `${keyFieldWidth}px`\n\n if (!isEmpty(refInputValue.current)) {\n refInputValue.current.style.width = `${valueFieldWidth}px`\n }\n\n setChipData(prevState => ({\n ...prevState,\n keyFieldWidth,\n valueFieldWidth\n }))\n setChipSizeIsRecalculated(true)\n }\n }, [\n chipData.key,\n chipData.value,\n minWidthInput,\n minWidthValueInput,\n ref,\n setChipSizeIsRecalculated\n ])\n\n useEffect(() => {\n if (!ref.current) return\n\n const element = ref.current\n const observer = new ResizeObserver(resizeChip)\n\n observer.observe(element)\n\n return () => observer.unobserve(element)\n }, [ref, resizeChip])\n\n useEffect(() => {\n const resizeChipDebounced = throttle(resizeChip, 500)\n\n if (isEditable) {\n window.addEventListener('resize', resizeChipDebounced)\n window.addEventListener(transitionEndEventName, resizeChipDebounced)\n\n return () => {\n window.removeEventListener('resize', resizeChipDebounced)\n window.removeEventListener(transitionEndEventName, resizeChipDebounced)\n }\n }\n }, [isEditable, resizeChip, transitionEndEventName])\n\n useEffect(() => {\n if (!chipData.keyFieldWidth && !chipData.valueFieldWidth) {\n resizeChip()\n }\n }, [chipData.keyFieldWidth, chipData.valueFieldWidth, resizeChip])\n\n const outsideClick = useCallback(\n (event, forceOutsideClick) => {\n if (editConfig.chipIndex === chipIndex) {\n const elementPath = event.path ?? event.composedPath?.()\n\n if (!elementPath.includes(refInputContainer.current) || forceOutsideClick) {\n onChange(event, CLICK, true)\n window.getSelection().removeAllRanges()\n document.activeElement.blur()\n } else {\n event.stopPropagation()\n }\n }\n },\n [onChange, refInputContainer, chipIndex, editConfig.chipIndex]\n )\n\n const handleScroll = useCallback(\n event => {\n if (validationRulesRef?.current && !validationRulesRef.current.contains(event.target)) {\n setShowValidationRules(false)\n outsideClick(event, true)\n }\n },\n [outsideClick]\n )\n\n useEffect(() => {\n if (showValidationRules) {\n window.addEventListener('scroll', handleScroll, true)\n }\n return () => {\n window.removeEventListener('scroll', handleScroll, true)\n }\n }, [handleScroll, showValidationRules])\n\n useEffect(() => {\n if (editConfig.chipIndex === chipIndex) {\n if (editConfig.isKeyFocused) {\n refInputKey.current.focus()\n } else if (editConfig.isValueFocused) {\n refInputValue.current.focus()\n }\n }\n }, [\n editConfig.isKeyFocused,\n editConfig.isValueFocused,\n refInputKey,\n refInputValue,\n chipIndex,\n editConfig.chipIndex\n ])\n\n useEffect(() => {\n if (showValidationRules) {\n window.addEventListener('scroll', handleScroll, true)\n }\n return () => {\n window.removeEventListener('scroll', handleScroll, true)\n }\n }, [handleScroll, showValidationRules])\n\n useEffect(() => {\n if (editConfig.isEdit) {\n document.addEventListener('click', outsideClick, true)\n\n return () => {\n document.removeEventListener('click', outsideClick, true)\n }\n }\n }, [outsideClick, editConfig.isEdit])\n\n const focusChip = useCallback(\n event => {\n if (editConfig.chipIndex === chipIndex && isEditable) {\n if (!event.shiftKey && event.key === TAB && editConfig.isValueFocused) {\n return onChange(event, TAB)\n } else if (event.shiftKey && event.key === TAB && editConfig.isKeyFocused) {\n return onChange(event, TAB_SHIFT)\n }\n }\n event.stopPropagation()\n },\n [editConfig, onChange, chipIndex, isEditable]\n )\n\n const handleOnFocus = useCallback(\n event => {\n const isKeyFocused = event.target.name === keyName\n\n if (editConfig.chipIndex === chipIndex) {\n if (isKeyFocused) {\n refInputKey.current.selectionStart = refInputKey.current.selectionEnd\n\n setEditConfig(prevConfig => ({\n ...prevConfig,\n isKeyFocused: true,\n isValueFocused: false\n }))\n } else {\n refInputValue.current.selectionStart = refInputValue.current.selectionEnd\n\n setEditConfig(prevConfig => ({\n ...prevConfig,\n isKeyFocused: false,\n isValueFocused: true\n }))\n }\n\n event && event.stopPropagation()\n } else if (isNil(editConfig.chipIndex)) {\n if (isKeyFocused) {\n refInputKey.current.selectionStart = refInputKey.current.selectionEnd\n } else {\n refInputValue.current.selectionStart = refInputValue.current.selectionEnd\n }\n setEditConfig({\n chipIndex,\n isEdit: true,\n isKeyFocused: isKeyFocused,\n isValueFocused: !isKeyFocused\n })\n }\n },\n [keyName, refInputKey, refInputValue, setEditConfig, editConfig.chipIndex, chipIndex]\n )\n\n const handleOnChange = useCallback(\n event => {\n const maxWidthInput = ref.current?.clientWidth - 50\n\n event.preventDefault()\n\n if (event.target.name === keyName) {\n const currentWidthKeyInput = getTextWidth(refInputKey.current)\n\n setChipData(prevState => ({\n ...prevState,\n key: refInputKey.current.value,\n keyFieldWidth:\n refInputKey.current.value.length <= 1\n ? minWidthInput\n : currentWidthKeyInput >= maxWidthInput\n ? maxWidthInput\n : currentWidthKeyInput > minWidthInput\n ? currentWidthKeyInput + 2\n : minWidthInput\n }))\n } else {\n const currentWidthValueInput = getTextWidth(refInputValue.current)\n\n setChipData(prevState => ({\n ...prevState,\n value: refInputValue.current.value,\n valueFieldWidth:\n refInputValue.current.value?.length <= 1\n ? minWidthValueInput\n : currentWidthValueInput >= maxWidthInput\n ? maxWidthInput\n : currentWidthValueInput > minWidthValueInput\n ? currentWidthValueInput + 2\n : minWidthValueInput\n }))\n }\n },\n [keyName, minWidthInput, ref, minWidthValueInput]\n )\n\n useLayoutEffect(() => {\n if (editConfig.chipIndex === chipIndex) {\n setSelectedInput(editConfig.isKeyFocused ? 'key' : editConfig.isValueFocused ? 'value' : null)\n }\n }, [editConfig.isKeyFocused, editConfig.isValueFocused, editConfig.chipIndex, chipIndex])\n\n useEffect(() => {\n if (meta.valid && showValidationRules) {\n setShowValidationRules(false)\n }\n }, [meta.valid, showValidationRules])\n\n useEffect(() => {\n if (meta.error) {\n setValidationRules(prevState => {\n return {\n ...prevState,\n [selectedInput]: prevState[selectedInput]?.map(rule => {\n return {\n ...rule,\n isValid: isEmpty(get(meta, ['error', editConfig.chipIndex, selectedInput], []))\n ? true\n : !meta.error[editConfig.chipIndex][selectedInput].some(\n err => err && err.name === rule.name\n )\n }\n })\n }\n })\n\n !showValidationRules && setShowValidationRules(true)\n }\n }, [meta, showValidationRules, selectedInput, editConfig.chipIndex])\n\n const getValidationRules = useCallback(() => {\n return validationRules[selectedInput]?.map(({ isValid = false, label, name }) => {\n return <ValidationTemplate valid={isValid} validationMessage={label} key={name} />\n })\n }, [selectedInput, validationRules])\n\n return (\n <div\n className={labelContainerClassName}\n onKeyDown={event => !chip.disabled && editConfig.isEdit && focusChip(event)}\n ref={refInputContainer}\n >\n <NewChipInput\n className={labelKeyClassName}\n disabled={\n chip.disabled ||\n !isEditable ||\n (!isNil(editConfig.chipIndex) && editConfig.chipIndex !== chipIndex)\n }\n name={keyName}\n onChange={handleOnChange}\n onFocus={handleOnFocus}\n placeholder={isEditable ? 'key' : ''}\n ref={refInputKey}\n style={{ width: chipData.keyFieldWidth }}\n />\n {!chipData.isKeyOnly && <div className=\"edit-chip-separator\">:</div>}\n {!chipData.isKeyOnly && (\n <NewChipInput\n className={labelValueClassName}\n disabled={\n chip.disabled ||\n !isEditable ||\n (!isNil(editConfig.chipIndex) && editConfig.chipIndex !== chipIndex)\n }\n name={valueName}\n onChange={handleOnChange}\n onFocus={handleOnFocus}\n placeholder={isEditable ? 'value' : ''}\n ref={refInputValue}\n style={{ width: chipData.valueFieldWidth }}\n />\n )}\n\n <button\n disabled={chip.disabled}\n className={closeButtonClass}\n onClick={event => !chip.disabled && handleRemoveChip(event, chipIndex)}\n >\n <Close />\n </button>\n\n {!chip.disabled &&\n (editConfig.isKeyFocused ? !isEmpty(chipData.key) : !isEmpty(chipData.value)) &&\n editConfig.chipIndex === chipIndex &&\n !isEmpty(get(meta, ['error', editConfig.chipIndex, selectedInput], [])) && (\n <OptionsMenu show={showValidationRules} ref={{ refInputContainer, validationRulesRef }}>\n {getValidationRules()}\n </OptionsMenu>\n )}\n </div>\n )\n}\n\nNewChipForm = forwardRef(NewChipForm)\n\nNewChipForm.displayName = 'NewChipForm'\n\nNewChipForm.propTypes = {\n chip: PropTypes.object.isRequired,\n chipIndex: PropTypes.number.isRequired,\n chipOptions: CHIP_OPTIONS.isRequired,\n className: PropTypes.string,\n editConfig: PropTypes.object.isRequired,\n handleRemoveChip: PropTypes.func.isRequired,\n isDeletable: PropTypes.bool.isRequired,\n isEditable: PropTypes.bool.isRequired,\n keyName: PropTypes.string.isRequired,\n meta: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n setChipSizeIsRecalculated: PropTypes.func.isRequired,\n setEditConfig: PropTypes.func.isRequired,\n validationRules: PropTypes.object,\n valueName: PropTypes.string.isRequired\n}\n\nexport default NewChipForm\n"],"names":["defaultProps","NewChipForm","chip","chipIndex","chipOptions","className","editConfig","handleRemoveChip","isDeletable","isEditable","keyName","meta","onChange","setChipSizeIsRecalculated","setEditConfig","rules","valueName","ref","chipData","setChipData","useState","selectedInput","setSelectedInput","validationRules","setValidationRules","showValidationRules","setShowValidationRules","background","borderColor","borderRadius","density","font","minWidthInput","useMemo","minWidthValueInput","transitionEndEventName","getTransitionEndEventName","refInputKey","React","refInputValue","refInputContainer","validationRulesRef","labelKeyClassName","classnames","isEmpty","get","labelContainerClassName","labelValueClassName","closeButtonClass","resizeChip","useCallback","currentWidthKeyInput","getTextWidth","currentWidthValueInput","maxWidthInput","_a","keyEllipsis","valueEllipsis","keyFieldWidth","valueFieldWidth","remainingPlace","prevState","useEffect","element","observer","resizeChipDebounced","throttle","outsideClick","event","forceOutsideClick","CLICK","handleScroll","focusChip","TAB","TAB_SHIFT","handleOnFocus","isKeyFocused","prevConfig","isNil","handleOnChange","useLayoutEffect","rule","err","getValidationRules","isValid","label","name","ValidationTemplate","jsxs","jsx","NewChipInput","Close","OptionsMenu","forwardRef","PropTypes","CHIP_OPTIONS","NewChipForm$1"],"mappings":"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"}
1
+ {"version":3,"file":"NewChipForm.mjs","sources":["../../../../src/lib/components/FormChipCell/NewChipForm/NewChipForm.jsx"],"sourcesContent":["/*\nCopyright 2022 Iguazio Systems Ltd.\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.\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.\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, {\n useState,\n useCallback,\n useEffect,\n useLayoutEffect,\n useMemo,\n forwardRef\n} from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport { isEmpty, get, isNil, throttle } from 'lodash'\n\nimport NewChipInput from '../NewChipInput/NewChipInput'\nimport OptionsMenu from '../../../elements/OptionsMenu/OptionsMenu'\nimport ValidationTemplate from '../../../elements/ValidationTemplate/ValidationTemplate'\n\nimport { CHIP_OPTIONS } from '../../../types'\nimport { CLICK, TAB, TAB_SHIFT } from '../../../constants'\nimport { getTextWidth } from '../formChipCell.util'\nimport { getTransitionEndEventName } from '../../../utils/common.util'\n\nimport Close from '../../../images/close.svg?react'\n\nimport './newChipForm.scss'\n\nconst defaultProps = {\n rules: {}\n}\n\nlet NewChipForm = (\n {\n chip,\n chipIndex,\n chipOptions,\n className = '',\n editConfig,\n handleRemoveChip,\n isDeletable,\n isEditable,\n keyName,\n meta,\n onChange,\n setChipSizeIsRecalculated,\n setEditConfig,\n validationRules: rules = defaultProps.rules,\n valueName\n },\n ref\n) => {\n const [chipData, setChipData] = useState({\n isKeyOnly: chip.isKeyOnly,\n key: chip.key,\n value: chip.value,\n keyFieldWidth: 0,\n valueFieldWidth: 0\n })\n const [selectedInput, setSelectedInput] = useState('key')\n const [validationRules, setValidationRules] = useState(rules)\n const [showValidationRules, setShowValidationRules] = useState(false)\n\n const { background, borderColor, borderRadius, density, font } = chipOptions\n const minWidthInput = useMemo(() => {\n return isEditable ? 25 : 20\n }, [isEditable])\n const minWidthValueInput = useMemo(() => {\n return isEditable ? 35 : 20\n }, [isEditable])\n const transitionEndEventName = useMemo(() => getTransitionEndEventName(), [])\n\n const refInputKey = React.useRef({})\n const refInputValue = React.useRef({})\n const refInputContainer = React.useRef()\n const validationRulesRef = React.useRef()\n\n const labelKeyClassName = classnames(\n className,\n !editConfig.isKeyFocused && 'item_edited',\n !isEmpty(get(meta, ['error', chipIndex, 'key'], [])) &&\n !isEmpty(chipData.key) &&\n !chip.disabled &&\n isEditable &&\n 'item_edited_invalid'\n )\n const labelContainerClassName = classnames(\n 'edit-chip-container',\n background && `edit-chip-container-background_${background}`,\n borderColor && `edit-chip-container-border_${borderColor}`,\n font && `edit-chip-container-font_${font}`,\n density && `edit-chip-container-density_${density}`,\n borderRadius && `edit-chip-container-border_${borderRadius}`,\n (editConfig.isEdit || editConfig.isNewChip) && 'edit-chip-container_edited',\n isEditable && chip.disabled && 'edit-chip-container_disabled edit-chip-container-font_disabled'\n )\n const labelValueClassName = classnames(\n 'input-label-value',\n !editConfig.isValueFocused && 'item_edited',\n !isEmpty(get(meta, ['error', chipIndex, 'value'], [])) &&\n !isEmpty(chipData.value) &&\n isEditable &&\n 'item_edited_invalid'\n )\n\n const closeButtonClass = classnames(\n 'item-icon-close',\n !chip.disabled &&\n ((editConfig.chipIndex === chipIndex && isEditable) || (!isDeletable && !isEditable)) &&\n 'item-icon-close invisible',\n !isEditable && !isDeletable && 'item-icon-close hidden'\n )\n\n const resizeChip = useCallback(() => {\n if (refInputKey.current) {\n const currentWidthKeyInput = getTextWidth(refInputKey.current) + 1\n const currentWidthValueInput = getTextWidth(refInputValue.current) + 1\n const maxWidthInput = ref.current?.clientWidth - 50\n const keyEllipsis = currentWidthKeyInput >= maxWidthInput / 2\n const valueEllipsis = currentWidthValueInput >= maxWidthInput / 2\n let keyFieldWidth = null\n let valueFieldWidth = null\n\n if (keyEllipsis && valueEllipsis) {\n keyFieldWidth = valueFieldWidth = maxWidthInput / 2\n } else if (keyEllipsis) {\n valueFieldWidth = !chipData.value ? minWidthValueInput : currentWidthValueInput\n\n const remainingPlace = maxWidthInput - valueFieldWidth\n\n keyFieldWidth =\n remainingPlace > currentWidthKeyInput ? currentWidthKeyInput : remainingPlace\n } else if (valueEllipsis) {\n keyFieldWidth = !chipData.key ? minWidthInput : currentWidthKeyInput\n\n const remainingPlace = maxWidthInput - keyFieldWidth\n\n valueFieldWidth =\n remainingPlace > currentWidthValueInput ? currentWidthValueInput : remainingPlace\n } else {\n keyFieldWidth =\n !chipData.key || currentWidthKeyInput <= minWidthInput\n ? minWidthInput\n : currentWidthKeyInput\n valueFieldWidth =\n !chipData.value || currentWidthValueInput <= minWidthValueInput\n ? minWidthValueInput\n : currentWidthValueInput\n }\n\n refInputKey.current.style.width = `${keyFieldWidth}px`\n\n if (!isEmpty(refInputValue.current)) {\n refInputValue.current.style.width = `${valueFieldWidth}px`\n }\n\n setChipData(prevState => ({\n ...prevState,\n keyFieldWidth,\n valueFieldWidth\n }))\n setChipSizeIsRecalculated(true)\n }\n }, [\n chipData.key,\n chipData.value,\n minWidthInput,\n minWidthValueInput,\n ref,\n setChipSizeIsRecalculated\n ])\n\n useEffect(() => {\n if (!ref.current) return\n\n const element = ref.current\n const observer = new ResizeObserver(resizeChip)\n\n observer.observe(element)\n\n return () => observer.unobserve(element)\n }, [ref, resizeChip])\n\n useEffect(() => {\n const resizeChipDebounced = throttle(resizeChip, 500)\n\n if (isEditable) {\n window.addEventListener('resize', resizeChipDebounced)\n window.addEventListener(transitionEndEventName, resizeChipDebounced)\n\n return () => {\n window.removeEventListener('resize', resizeChipDebounced)\n window.removeEventListener(transitionEndEventName, resizeChipDebounced)\n }\n }\n }, [isEditable, resizeChip, transitionEndEventName])\n\n useEffect(() => {\n if (!chipData.keyFieldWidth && !chipData.valueFieldWidth) {\n resizeChip()\n }\n }, [chipData.keyFieldWidth, chipData.valueFieldWidth, resizeChip])\n\n const outsideClick = useCallback(\n (event, forceOutsideClick) => {\n if (editConfig.chipIndex === chipIndex) {\n const elementPath = event.path ?? event.composedPath?.()\n\n if (!elementPath.includes(refInputContainer.current) || forceOutsideClick) {\n onChange(event, CLICK, true)\n window.getSelection().removeAllRanges()\n document.activeElement.blur()\n } else {\n event.stopPropagation()\n }\n }\n },\n [onChange, refInputContainer, chipIndex, editConfig.chipIndex]\n )\n\n const handleScroll = useCallback(\n event => {\n if (validationRulesRef?.current && !validationRulesRef.current.contains(event.target)) {\n setShowValidationRules(false)\n outsideClick(event, true)\n }\n },\n [outsideClick]\n )\n\n useEffect(() => {\n if (showValidationRules) {\n window.addEventListener('scroll', handleScroll, true)\n }\n return () => {\n window.removeEventListener('scroll', handleScroll, true)\n }\n }, [handleScroll, showValidationRules])\n\n useEffect(() => {\n if (editConfig.chipIndex === chipIndex) {\n if (editConfig.isKeyFocused) {\n refInputKey.current.focus()\n } else if (editConfig.isValueFocused) {\n refInputValue.current.focus()\n }\n }\n }, [\n editConfig.isKeyFocused,\n editConfig.isValueFocused,\n refInputKey,\n refInputValue,\n chipIndex,\n editConfig.chipIndex\n ])\n\n useEffect(() => {\n if (showValidationRules) {\n window.addEventListener('scroll', handleScroll, true)\n }\n return () => {\n window.removeEventListener('scroll', handleScroll, true)\n }\n }, [handleScroll, showValidationRules])\n\n useEffect(() => {\n if (editConfig.isEdit) {\n document.addEventListener('click', outsideClick, true)\n\n return () => {\n document.removeEventListener('click', outsideClick, true)\n }\n }\n }, [outsideClick, editConfig.isEdit])\n\n const focusChip = useCallback(\n event => {\n if (editConfig.chipIndex === chipIndex && isEditable) {\n if (!event.shiftKey && event.key === TAB && editConfig.isValueFocused) {\n return onChange(event, TAB)\n } else if (event.shiftKey && event.key === TAB && editConfig.isKeyFocused) {\n return onChange(event, TAB_SHIFT)\n }\n }\n event.stopPropagation()\n },\n [editConfig, onChange, chipIndex, isEditable]\n )\n\n const handleOnFocus = useCallback(\n event => {\n const isKeyFocused = event.target.name === keyName\n\n if (editConfig.chipIndex === chipIndex) {\n if (isKeyFocused) {\n refInputKey.current.selectionStart = refInputKey.current.selectionEnd\n\n setEditConfig(prevConfig => ({\n ...prevConfig,\n isKeyFocused: true,\n isValueFocused: false\n }))\n } else {\n refInputValue.current.selectionStart = refInputValue.current.selectionEnd\n\n setEditConfig(prevConfig => ({\n ...prevConfig,\n isKeyFocused: false,\n isValueFocused: true\n }))\n }\n\n event && event.stopPropagation()\n } else if (isNil(editConfig.chipIndex)) {\n if (isKeyFocused) {\n refInputKey.current.selectionStart = refInputKey.current.selectionEnd\n } else {\n refInputValue.current.selectionStart = refInputValue.current.selectionEnd\n }\n setEditConfig({\n chipIndex,\n isEdit: true,\n isKeyFocused: isKeyFocused,\n isValueFocused: !isKeyFocused\n })\n }\n },\n [keyName, refInputKey, refInputValue, setEditConfig, editConfig.chipIndex, chipIndex]\n )\n\n const handleOnChange = useCallback(\n event => {\n const maxWidthInput = ref.current?.clientWidth - 50\n\n event.preventDefault()\n\n if (event.target.name === keyName) {\n const currentWidthKeyInput = getTextWidth(refInputKey.current)\n\n setChipData(prevState => ({\n ...prevState,\n key: refInputKey.current.value,\n keyFieldWidth:\n refInputKey.current.value.length <= 1\n ? minWidthInput\n : currentWidthKeyInput >= maxWidthInput\n ? maxWidthInput\n : currentWidthKeyInput > minWidthInput\n ? currentWidthKeyInput + 2\n : minWidthInput\n }))\n } else {\n const currentWidthValueInput = getTextWidth(refInputValue.current)\n\n setChipData(prevState => ({\n ...prevState,\n value: refInputValue.current.value,\n valueFieldWidth:\n refInputValue.current.value?.length <= 1\n ? minWidthValueInput\n : currentWidthValueInput >= maxWidthInput\n ? maxWidthInput\n : currentWidthValueInput > minWidthValueInput\n ? currentWidthValueInput + 2\n : minWidthValueInput\n }))\n }\n },\n [keyName, minWidthInput, ref, minWidthValueInput]\n )\n\n useLayoutEffect(() => {\n if (editConfig.chipIndex === chipIndex) {\n setSelectedInput(editConfig.isKeyFocused ? 'key' : editConfig.isValueFocused ? 'value' : null)\n }\n }, [editConfig.isKeyFocused, editConfig.isValueFocused, editConfig.chipIndex, chipIndex])\n\n useEffect(() => {\n if (meta.valid && showValidationRules) {\n setShowValidationRules(false)\n }\n }, [meta.valid, showValidationRules])\n\n useEffect(() => {\n if (meta.error) {\n setValidationRules(prevState => {\n return {\n ...prevState,\n [selectedInput]: prevState[selectedInput]?.map(rule => {\n return {\n ...rule,\n isValid: isEmpty(get(meta, ['error', editConfig.chipIndex, selectedInput], []))\n ? true\n : !meta.error[editConfig.chipIndex][selectedInput].some(\n err => err && err.name === rule.name\n )\n }\n })\n }\n })\n\n !showValidationRules && setShowValidationRules(true)\n }\n }, [meta, showValidationRules, selectedInput, editConfig.chipIndex])\n\n const getValidationRules = useCallback(() => {\n return validationRules[selectedInput]?.map(({ isValid = false, label, name }) => {\n return <ValidationTemplate valid={isValid} validationMessage={label} key={name} />\n })\n }, [selectedInput, validationRules])\n\n return (\n <div\n className={labelContainerClassName}\n onKeyDown={event => !chip.disabled && editConfig.isEdit && focusChip(event)}\n ref={refInputContainer}\n >\n <NewChipInput\n className={labelKeyClassName}\n disabled={\n chip.disabled ||\n !isEditable ||\n (!isNil(editConfig.chipIndex) && editConfig.chipIndex !== chipIndex)\n }\n name={keyName}\n onChange={handleOnChange}\n onFocus={handleOnFocus}\n placeholder={isEditable ? 'key' : ''}\n ref={refInputKey}\n style={{ width: chipData.keyFieldWidth }}\n />\n {!chipData.isKeyOnly && <div className=\"edit-chip-separator\">:</div>}\n {!chipData.isKeyOnly && (\n <NewChipInput\n className={labelValueClassName}\n disabled={\n chip.disabled ||\n !isEditable ||\n (!isNil(editConfig.chipIndex) && editConfig.chipIndex !== chipIndex)\n }\n name={valueName}\n onChange={handleOnChange}\n onFocus={handleOnFocus}\n placeholder={isEditable ? 'value' : ''}\n ref={refInputValue}\n style={{ width: chipData.valueFieldWidth }}\n />\n )}\n\n <button\n disabled={chip.disabled}\n className={closeButtonClass}\n onClick={event => !chip.disabled && handleRemoveChip(event, chipIndex)}\n >\n <Close />\n </button>\n\n {!chip.disabled &&\n (editConfig.isKeyFocused ? !isEmpty(chipData.key) : !isEmpty(chipData.value)) &&\n editConfig.chipIndex === chipIndex &&\n !isEmpty(get(meta, ['error', editConfig.chipIndex, selectedInput], [])) && (\n <OptionsMenu show={showValidationRules} ref={{ refInputContainer, validationRulesRef }}>\n {getValidationRules()}\n </OptionsMenu>\n )}\n </div>\n )\n}\n\nNewChipForm = forwardRef(NewChipForm)\n\nNewChipForm.displayName = 'NewChipForm'\n\nNewChipForm.propTypes = {\n chip: PropTypes.object.isRequired,\n chipIndex: PropTypes.number.isRequired,\n chipOptions: CHIP_OPTIONS.isRequired,\n className: PropTypes.string,\n editConfig: PropTypes.object.isRequired,\n handleRemoveChip: PropTypes.func.isRequired,\n isDeletable: PropTypes.bool.isRequired,\n isEditable: PropTypes.bool.isRequired,\n keyName: PropTypes.string.isRequired,\n meta: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n setChipSizeIsRecalculated: PropTypes.func.isRequired,\n setEditConfig: PropTypes.func.isRequired,\n validationRules: PropTypes.object,\n valueName: PropTypes.string.isRequired\n}\n\nexport default NewChipForm\n"],"names":["defaultProps","NewChipForm","chip","chipIndex","chipOptions","className","editConfig","handleRemoveChip","isDeletable","isEditable","keyName","meta","onChange","setChipSizeIsRecalculated","setEditConfig","rules","valueName","ref","chipData","setChipData","useState","selectedInput","setSelectedInput","validationRules","setValidationRules","showValidationRules","setShowValidationRules","background","borderColor","borderRadius","density","font","minWidthInput","useMemo","minWidthValueInput","transitionEndEventName","getTransitionEndEventName","refInputKey","React","refInputValue","refInputContainer","validationRulesRef","labelKeyClassName","classnames","isEmpty","get","labelContainerClassName","labelValueClassName","closeButtonClass","resizeChip","useCallback","currentWidthKeyInput","getTextWidth","currentWidthValueInput","maxWidthInput","_a","keyEllipsis","valueEllipsis","keyFieldWidth","valueFieldWidth","remainingPlace","prevState","useEffect","element","observer","resizeChipDebounced","throttle","outsideClick","event","forceOutsideClick","CLICK","handleScroll","focusChip","TAB","TAB_SHIFT","handleOnFocus","isKeyFocused","prevConfig","isNil","handleOnChange","useLayoutEffect","rule","err","getValidationRules","isValid","label","name","ValidationTemplate","jsxs","jsx","NewChipInput","Close","OptionsMenu","forwardRef","PropTypes","CHIP_OPTIONS","NewChipForm$1"],"mappings":";;;;;;;;;;;;;;AAyCA,MAAMA,KAAe;AAAA,EACnB,OAAO,CAAA;AACT;AAEA,IAAIC,IAAc,CAChB;AAAA,EACE,MAAAC;AAAA,EACA,WAAAC;AAAA,EACA,aAAAC;AAAA,EACA,WAAAC,KAAY;AAAA,EACZ,YAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,aAAAC;AAAA,EACA,YAAAC;AAAA,EACA,SAAAC;AAAA,EACA,MAAAC;AAAA,EACA,UAAAC;AAAA,EACA,2BAAAC;AAAA,EACA,eAAAC;AAAA,EACA,iBAAiBC,KAAQf,GAAa;AAAA,EACtC,WAAAgB;AACF,GACAC,MACG;AACH,QAAM,CAACC,GAAUC,CAAW,IAAIC,EAAS;AAAA,IACvC,WAAWlB,EAAK;AAAA,IAChB,KAAKA,EAAK;AAAA,IACV,OAAOA,EAAK;AAAA,IACZ,eAAe;AAAA,IACf,iBAAiB;AAAA,EAAA,CAClB,GACK,CAACmB,GAAeC,EAAgB,IAAIF,EAAS,KAAK,GAClD,CAACG,GAAiBC,EAAkB,IAAIJ,EAASL,EAAK,GACtD,CAACU,GAAqBC,CAAsB,IAAIN,EAAS,EAAK,GAE9D,EAAE,YAAAO,GAAY,aAAAC,GAAa,cAAAC,GAAc,SAAAC,GAAS,MAAAC,OAAS3B,IAC3D4B,IAAgBC,EAAQ,MACrBxB,IAAa,KAAK,IACxB,CAACA,CAAU,CAAC,GACTyB,IAAqBD,EAAQ,MAC1BxB,IAAa,KAAK,IACxB,CAACA,CAAU,CAAC,GACT0B,IAAyBF,EAAQ,MAAMG,GAA0B,GAAG,CAAA,CAAE,GAEtEC,IAAcC,EAAM,OAAO,EAAE,GAC7BC,IAAgBD,EAAM,OAAO,EAAE,GAC/BE,IAAoBF,EAAM,OAAO,GACjCG,IAAqBH,EAAM,OAAO,GAElCI,KAAoBC;AAAA,IACxBtC;AAAA,IACA,CAACC,EAAW,gBAAgB;AAAA,IAC5B,CAACsC,EAAQC,EAAIlC,GAAM,CAAC,SAASR,GAAW,KAAK,GAAG,CAAA,CAAE,CAAC,KACjD,CAACyC,EAAQ1B,EAAS,GAAG,KACrB,CAAChB,EAAK,YACNO,KACA;AAAA,EACJ,GACMqC,KAA0BH;AAAA,IAC9B;AAAA,IACAhB,KAAc,kCAAkCA,CAAU;AAAA,IAC1DC,KAAe,8BAA8BA,CAAW;AAAA,IACxDG,MAAQ,4BAA4BA,EAAI;AAAA,IACxCD,KAAW,+BAA+BA,CAAO;AAAA,IACjDD,KAAgB,8BAA8BA,CAAY;AAAA,KACzDvB,EAAW,UAAUA,EAAW,cAAc;AAAA,IAC/CG,KAAcP,EAAK,YAAY;AAAA,EACjC,GACM6C,KAAsBJ;AAAA,IAC1B;AAAA,IACA,CAACrC,EAAW,kBAAkB;AAAA,IAC9B,CAACsC,EAAQC,EAAIlC,GAAM,CAAC,SAASR,GAAW,OAAO,GAAG,CAAA,CAAE,CAAC,KACnD,CAACyC,EAAQ1B,EAAS,KAAK,KACvBT,KACA;AAAA,EACJ,GAEMuC,KAAmBL;AAAA,IACvB;AAAA,IACA,CAACzC,EAAK,aACFI,EAAW,cAAcH,KAAaM,KAAgB,CAACD,KAAe,CAACC,MACzE;AAAA,IACF,CAACA,KAAc,CAACD,KAAe;AAAA,EACjC,GAEMyC,IAAaC,EAAY,MAAM;;AACnC,QAAIb,EAAY,SAAS;AACvB,YAAMc,IAAuBC,EAAaf,EAAY,OAAO,IAAI,GAC3DgB,IAAyBD,EAAab,EAAc,OAAO,IAAI,GAC/De,MAAgBC,IAAAtC,EAAI,YAAJ,gBAAAsC,EAAa,eAAc,IAC3CC,IAAcL,KAAwBG,IAAgB,GACtDG,IAAgBJ,KAA0BC,IAAgB;AAChE,UAAII,IAAgB,MAChBC,IAAkB;AAEtB,UAAIH,KAAeC;AACjB,QAAAC,IAAgBC,IAAkBL,IAAgB;AAAA,eACzCE,GAAa;AACJ,QAAAG,IAACzC,EAAS,QAA6BmC,IAArBnB;AAEpC,cAAM0B,IAAiBN,IAAgBK;AAGrC,QAAAD,IAAAE,IAAiBT,IAAuBA,IAAuBS;AAAA,iBACxDH,GAAe;AACR,QAAAC,IAACxC,EAAS,MAAsBiC,IAAhBnB;AAEhC,cAAM4B,IAAiBN,IAAgBI;AAGrC,QAAAC,IAAAC,IAAiBP,IAAyBA,IAAyBO;AAAA,MAAA;AAErE,QAAAF,IACE,CAACxC,EAAS,OAAOiC,KAAwBnB,IACrCA,IACAmB,GACNQ,IACE,CAACzC,EAAS,SAASmC,KAA0BnB,IACzCA,IACAmB;AAGR,MAAAhB,EAAY,QAAQ,MAAM,QAAQ,GAAGqB,CAAa,MAE7Cd,EAAQL,EAAc,OAAO,MAChCA,EAAc,QAAQ,MAAM,QAAQ,GAAGoB,CAAe,OAGxDxC,EAAY,CAAc0C,OAAA;AAAA,QACxB,GAAGA;AAAA,QACH,eAAAH;AAAA,QACA,iBAAAC;AAAA,MAAA,EACA,GACF9C,EAA0B,EAAI;AAAA,IAAA;AAAA,EAChC,GACC;AAAA,IACDK,EAAS;AAAA,IACTA,EAAS;AAAA,IACTc;AAAA,IACAE;AAAA,IACAjB;AAAA,IACAJ;AAAA,EAAA,CACD;AAED,EAAAiD,EAAU,MAAM;AACV,QAAA,CAAC7C,EAAI,QAAS;AAElB,UAAM8C,IAAU9C,EAAI,SACd+C,IAAW,IAAI,eAAef,CAAU;AAE9C,WAAAe,EAAS,QAAQD,CAAO,GAEjB,MAAMC,EAAS,UAAUD,CAAO;AAAA,EAAA,GACtC,CAAC9C,GAAKgC,CAAU,CAAC,GAEpBa,EAAU,MAAM;AACR,UAAAG,IAAsBC,GAASjB,GAAY,GAAG;AAEpD,QAAIxC;AACK,oBAAA,iBAAiB,UAAUwD,CAAmB,GAC9C,OAAA,iBAAiB9B,GAAwB8B,CAAmB,GAE5D,MAAM;AACJ,eAAA,oBAAoB,UAAUA,CAAmB,GACjD,OAAA,oBAAoB9B,GAAwB8B,CAAmB;AAAA,MACxE;AAAA,EAED,GAAA,CAACxD,GAAYwC,GAAYd,CAAsB,CAAC,GAEnD2B,EAAU,MAAM;AACd,IAAI,CAAC5C,EAAS,iBAAiB,CAACA,EAAS,mBAC5B+B,EAAA;AAAA,EACb,GACC,CAAC/B,EAAS,eAAeA,EAAS,iBAAiB+B,CAAU,CAAC;AAEjE,QAAMkB,IAAejB;AAAA,IACnB,CAACkB,GAAOC,MAAsB;;AACxB,MAAA/D,EAAW,cAAcH,MAGvB,EAFgBiE,EAAM,UAAQb,IAAAa,EAAM,iBAAN,gBAAAb,EAAA,KAAAa,KAEjB,SAAS5B,EAAkB,OAAO,KAAK6B,KAC7CzD,EAAAwD,GAAOE,IAAO,EAAI,GACpB,OAAA,eAAe,gBAAgB,GACtC,SAAS,cAAc,KAAK,KAE5BF,EAAM,gBAAgB;AAAA,IAG5B;AAAA,IACA,CAACxD,GAAU4B,GAAmBrC,GAAWG,EAAW,SAAS;AAAA,EAC/D,GAEMiE,IAAerB;AAAA,IACnB,CAASkB,MAAA;AACH,MAAA3B,KAAA,QAAAA,EAAoB,WAAW,CAACA,EAAmB,QAAQ,SAAS2B,EAAM,MAAM,MAClF1C,EAAuB,EAAK,GAC5ByC,EAAaC,GAAO,EAAI;AAAA,IAE5B;AAAA,IACA,CAACD,CAAY;AAAA,EACf;AAEA,EAAAL,EAAU,OACJrC,KACK,OAAA,iBAAiB,UAAU8C,GAAc,EAAI,GAE/C,MAAM;AACJ,WAAA,oBAAoB,UAAUA,GAAc,EAAI;AAAA,EACzD,IACC,CAACA,GAAc9C,CAAmB,CAAC,GAEtCqC,EAAU,MAAM;AACV,IAAAxD,EAAW,cAAcH,MACvBG,EAAW,eACb+B,EAAY,QAAQ,MAAM,IACjB/B,EAAW,kBACpBiC,EAAc,QAAQ,MAAM;AAAA,EAEhC,GACC;AAAA,IACDjC,EAAW;AAAA,IACXA,EAAW;AAAA,IACX+B;AAAA,IACAE;AAAA,IACApC;AAAA,IACAG,EAAW;AAAA,EAAA,CACZ,GAEDwD,EAAU,OACJrC,KACK,OAAA,iBAAiB,UAAU8C,GAAc,EAAI,GAE/C,MAAM;AACJ,WAAA,oBAAoB,UAAUA,GAAc,EAAI;AAAA,EACzD,IACC,CAACA,GAAc9C,CAAmB,CAAC,GAEtCqC,EAAU,MAAM;AACd,QAAIxD,EAAW;AACJ,sBAAA,iBAAiB,SAAS6D,GAAc,EAAI,GAE9C,MAAM;AACF,iBAAA,oBAAoB,SAASA,GAAc,EAAI;AAAA,MAC1D;AAAA,EAED,GAAA,CAACA,GAAc7D,EAAW,MAAM,CAAC;AAEpC,QAAMkE,KAAYtB;AAAA,IAChB,CAASkB,MAAA;AACH,UAAA9D,EAAW,cAAcH,KAAaM,GAAY;AACpD,YAAI,CAAC2D,EAAM,YAAYA,EAAM,QAAQK,KAAOnE,EAAW;AAC9C,iBAAAM,EAASwD,GAAOK,CAAG;YACjBL,EAAM,YAAYA,EAAM,QAAQK,KAAOnE,EAAW;AACpD,iBAAAM,EAASwD,GAAOM,EAAS;AAAA,MAClC;AAEF,MAAAN,EAAM,gBAAgB;AAAA,IACxB;AAAA,IACA,CAAC9D,GAAYM,GAAUT,GAAWM,CAAU;AAAA,EAC9C,GAEMkE,KAAgBzB;AAAA,IACpB,CAASkB,MAAA;AACD,YAAAQ,IAAeR,EAAM,OAAO,SAAS1D;AAEvC,MAAAJ,EAAW,cAAcH,KACvByE,KACUvC,EAAA,QAAQ,iBAAiBA,EAAY,QAAQ,cAEzDvB,EAAc,CAAe+D,OAAA;AAAA,QAC3B,GAAGA;AAAA,QACH,cAAc;AAAA,QACd,gBAAgB;AAAA,MAAA,EAChB,MAEYtC,EAAA,QAAQ,iBAAiBA,EAAc,QAAQ,cAE7DzB,EAAc,CAAe+D,OAAA;AAAA,QAC3B,GAAGA;AAAA,QACH,cAAc;AAAA,QACd,gBAAgB;AAAA,MAAA,EAChB,IAGJT,KAASA,EAAM,gBAAgB,KACtBU,EAAMxE,EAAW,SAAS,MAC/BsE,IACUvC,EAAA,QAAQ,iBAAiBA,EAAY,QAAQ,eAE3CE,EAAA,QAAQ,iBAAiBA,EAAc,QAAQ,cAEjDzB,EAAA;AAAA,QACZ,WAAAX;AAAA,QACA,QAAQ;AAAA,QACR,cAAAyE;AAAA,QACA,gBAAgB,CAACA;AAAA,MAAA,CAClB;AAAA,IAEL;AAAA,IACA,CAAClE,GAAS2B,GAAaE,GAAezB,GAAeR,EAAW,WAAWH,CAAS;AAAA,EACtF,GAEM4E,KAAiB7B;AAAA,IACrB,CAASkB,MAAA;;AACD,YAAAd,MAAgBC,IAAAtC,EAAI,YAAJ,gBAAAsC,EAAa,eAAc;AAI7C,UAFJa,EAAM,eAAe,GAEjBA,EAAM,OAAO,SAAS1D,GAAS;AAC3B,cAAAyC,IAAuBC,EAAaf,EAAY,OAAO;AAE7D,QAAAlB,EAAY,CAAc0C,OAAA;AAAA,UACxB,GAAGA;AAAA,UACH,KAAKxB,EAAY,QAAQ;AAAA,UACzB,eACEA,EAAY,QAAQ,MAAM,UAAU,IAChCL,IACAmB,KAAwBG,IACtBA,IACAH,IAAuBnB,IACrBmB,IAAuB,IACvBnB;AAAA,QAAA,EACV;AAAA,MAAA,OACG;AACC,cAAAqB,IAAyBD,EAAab,EAAc,OAAO;AAEjE,QAAApB,EAAY,CAAc0C,MAAA;;AAAA;AAAA,YACxB,GAAGA;AAAA,YACH,OAAOtB,EAAc,QAAQ;AAAA,YAC7B,mBACEgB,IAAAhB,EAAc,QAAQ,UAAtB,gBAAAgB,EAA6B,WAAU,IACnCrB,IACAmB,KAA0BC,IACxBA,IACAD,IAAyBnB,IACvBmB,IAAyB,IACzBnB;AAAA,UAAA;AAAA,SACV;AAAA,MAAA;AAAA,IAEN;AAAA,IACA,CAACxB,GAASsB,GAAef,GAAKiB,CAAkB;AAAA,EAClD;AAEA,EAAA8C,GAAgB,MAAM;AAChB,IAAA1E,EAAW,cAAcH,KAC3BmB,GAAiBhB,EAAW,eAAe,QAAQA,EAAW,iBAAiB,UAAU,IAAI;AAAA,EAC/F,GACC,CAACA,EAAW,cAAcA,EAAW,gBAAgBA,EAAW,WAAWH,CAAS,CAAC,GAExF2D,EAAU,MAAM;AACV,IAAAnD,EAAK,SAASc,KAChBC,EAAuB,EAAK;AAAA,EAE7B,GAAA,CAACf,EAAK,OAAOc,CAAmB,CAAC,GAEpCqC,EAAU,MAAM;AACd,IAAInD,EAAK,UACPa,GAAmB,CAAaqC,MAAA;;AACvB,aAAA;AAAA,QACL,GAAGA;AAAA,QACH,CAACxC,CAAa,IAAGkC,IAAAM,EAAUxC,CAAa,MAAvB,gBAAAkC,EAA0B,IAAI,CAAQ0B,OAC9C;AAAA,UACL,GAAGA;AAAA,UACH,SAASrC,EAAQC,EAAIlC,GAAM,CAAC,SAASL,EAAW,WAAWe,CAAa,GAAG,CAAE,CAAA,CAAC,IAC1E,KACA,CAACV,EAAK,MAAML,EAAW,SAAS,EAAEe,CAAa,EAAE;AAAA,YAC/C,CAAO6D,MAAAA,KAAOA,EAAI,SAASD,EAAK;AAAA,UAAA;AAAA,QAExC;AAAA,MAEJ;AAAA,IAAA,CACD,GAEA,CAAAxD,KAAuBC,EAAuB,EAAI;AAAA,EACrD,GACC,CAACf,GAAMc,GAAqBJ,GAAef,EAAW,SAAS,CAAC;AAE7D,QAAA6E,KAAqBjC,EAAY,MAAM;;AACpC,YAAAK,IAAAhC,EAAgBF,CAAa,MAA7B,gBAAAkC,EAAgC,IAAI,CAAC,EAAE,SAAA6B,IAAU,IAAO,OAAAC,GAAO,MAAAC,0BAC5DC,IAAmB,EAAA,OAAOH,GAAS,mBAAmBC,KAAYC,CAAM;AAAA,EACjF,GACA,CAACjE,GAAeE,CAAe,CAAC;AAGjC,SAAA,gBAAAiE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAW1C;AAAA,MACX,WAAW,OAAS,CAAC5C,EAAK,YAAYI,EAAW,UAAUkE,GAAUJ,CAAK;AAAA,MAC1E,KAAK5B;AAAA,MAEL,UAAA;AAAA,QAAA,gBAAAiD;AAAA,UAACC;AAAA,UAAA;AAAA,YACC,WAAWhD;AAAA,YACX,UACExC,EAAK,YACL,CAACO,KACA,CAACqE,EAAMxE,EAAW,SAAS,KAAKA,EAAW,cAAcH;AAAA,YAE5D,MAAMO;AAAA,YACN,UAAUqE;AAAA,YACV,SAASJ;AAAA,YACT,aAAalE,IAAa,QAAQ;AAAA,YAClC,KAAK4B;AAAA,YACL,OAAO,EAAE,OAAOnB,EAAS,cAAc;AAAA,UAAA;AAAA,QACzC;AAAA,QACC,CAACA,EAAS,+BAAc,OAAI,EAAA,WAAU,uBAAsB,UAAC,KAAA;AAAA,QAC7D,CAACA,EAAS,aACT,gBAAAuE;AAAA,UAACC;AAAA,UAAA;AAAA,YACC,WAAW3C;AAAA,YACX,UACE7C,EAAK,YACL,CAACO,KACA,CAACqE,EAAMxE,EAAW,SAAS,KAAKA,EAAW,cAAcH;AAAA,YAE5D,MAAMa;AAAA,YACN,UAAU+D;AAAA,YACV,SAASJ;AAAA,YACT,aAAalE,IAAa,UAAU;AAAA,YACpC,KAAK8B;AAAA,YACL,OAAO,EAAE,OAAOrB,EAAS,gBAAgB;AAAA,UAAA;AAAA,QAC3C;AAAA,QAGF,gBAAAuE;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,UAAUvF,EAAK;AAAA,YACf,WAAW8C;AAAA,YACX,SAAS,CAASoB,MAAA,CAAClE,EAAK,YAAYK,GAAiB6D,GAAOjE,CAAS;AAAA,YAErE,4BAACwF,IAAM,CAAA,CAAA;AAAA,UAAA;AAAA,QACT;AAAA,QAEC,CAACzF,EAAK,aACJI,EAAW,eAAe,CAACsC,EAAQ1B,EAAS,GAAG,IAAI,CAAC0B,EAAQ1B,EAAS,KAAK,MAC3EZ,EAAW,cAAcH,KACzB,CAACyC,EAAQC,EAAIlC,GAAM,CAAC,SAASL,EAAW,WAAWe,CAAa,GAAG,CAAE,CAAA,CAAC,uBACnEuE,IAAY,EAAA,MAAMnE,GAAqB,KAAK,EAAE,mBAAAe,GAAmB,oBAAAC,KAC/D,eACH,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAEN;AAEJ;AAEAxC,IAAc4F,GAAW5F,CAAW;AAEpCA,EAAY,cAAc;AAE1BA,EAAY,YAAY;AAAA,EACtB,MAAM6F,EAAU,OAAO;AAAA,EACvB,WAAWA,EAAU,OAAO;AAAA,EAC5B,aAAaC,GAAa;AAAA,EAC1B,WAAWD,EAAU;AAAA,EACrB,YAAYA,EAAU,OAAO;AAAA,EAC7B,kBAAkBA,EAAU,KAAK;AAAA,EACjC,aAAaA,EAAU,KAAK;AAAA,EAC5B,YAAYA,EAAU,KAAK;AAAA,EAC3B,SAASA,EAAU,OAAO;AAAA,EAC1B,MAAMA,EAAU,OAAO;AAAA,EACvB,UAAUA,EAAU,KAAK;AAAA,EACzB,2BAA2BA,EAAU,KAAK;AAAA,EAC1C,eAAeA,EAAU,KAAK;AAAA,EAC9B,iBAAiBA,EAAU;AAAA,EAC3B,WAAWA,EAAU,OAAO;AAC9B;AAEA,MAAAE,KAAe/F;"}
@@ -0,0 +1,30 @@
1
+ export default Navbar;
2
+ declare function Navbar({ children, id, setNavbarIsPinned }: {
3
+ children: any;
4
+ id?: string;
5
+ setNavbarIsPinned: any;
6
+ }): JSX.Element;
7
+ declare namespace Navbar {
8
+ export function Body({ children }: {
9
+ children: any;
10
+ }): JSX.Element;
11
+ export namespace Body {
12
+ let displayName: string;
13
+ namespace propTypes {
14
+ let children: any;
15
+ }
16
+ }
17
+ export function Divider(): JSX.Element;
18
+ export namespace Divider {
19
+ let displayName_1: string;
20
+ export { displayName_1 as displayName };
21
+ }
22
+ export namespace propTypes_1 {
23
+ let children_1: any;
24
+ export { children_1 as children };
25
+ export let id: any;
26
+ export let setNavbarIsPinned: any;
27
+ }
28
+ export { propTypes_1 as propTypes };
29
+ }
30
+ //# sourceMappingURL=Navbar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Navbar.d.ts","sourceRoot":"","sources":["../../../src/lib/components/Navbar/Navbar.jsx"],"names":[],"mappings":";AAkCA;;;;gBAkCC;;IAED;;oBAIC;;;;;;;IAID,uCAA0D"}
@@ -0,0 +1,48 @@
1
+ import { jsxs as v, jsx as a } from "react/jsx-runtime";
2
+ import b, { useState as f, useRef as u, useEffect as N } from "react";
3
+ import e from "prop-types";
4
+ import y from "classnames";
5
+ import _ from "../Tooltip/Tooltip.mjs";
6
+ import T from "../TooltipTemplate/TextTooltipTemplate.mjs";
7
+ import { NAVBAR_WIDTH_OPENED as h } from "../../constants.mjs";
8
+ import "../../utils/index.mjs";
9
+ import S from "../../images/navbar/navbar-closed-icon.svg.mjs";
10
+ import g from "../../images/navbar/navbar-opened-icon.svg.mjs";
11
+ /* empty css */
12
+ import { getStorageValue as x, setStorageValue as P } from "../../utils/localStorageService.util.mjs";
13
+ const i = ({ children: t, id: s = "navbar", setNavbarIsPinned: n }) => {
14
+ const [r, d] = f(
15
+ x("isNavbarStatic", !1) === "true"
16
+ ), l = u(null), m = y("navbar", r && "navbar_pinned"), p = {
17
+ maxWidth: r && h
18
+ }, c = () => {
19
+ d((o) => (P("isNavbarStatic", !o), !o));
20
+ };
21
+ return N(() => {
22
+ n(r);
23
+ }, [r, n]), /* @__PURE__ */ v("nav", { className: m, "data-testid": s, style: p, ref: l, children: [
24
+ /* @__PURE__ */ a("div", { className: "navbar__pin-icon", children: /* @__PURE__ */ a("div", { id: "navbar-pin", onClick: c, children: /* @__PURE__ */ a(_, { template: /* @__PURE__ */ a(T, { text: `${r ? "Unpin" : "Pin"} Menu` }), children: r ? /* @__PURE__ */ a(g, {}) : /* @__PURE__ */ a(S, {}) }) }) }),
25
+ b.cloneElement(t, { navbarIsPinned: r })
26
+ ] });
27
+ };
28
+ i.Body = ({ children: t }) => /* @__PURE__ */ a("div", { className: "navbar__body", "data-testid": "navbar-body", children: t });
29
+ i.Body.displayName = "Navbar.Body";
30
+ i.Divider = () => /* @__PURE__ */ a("div", { className: "navbar__divider" });
31
+ i.Divider.displayName = "Navbar.Divider";
32
+ i.Body.propTypes = {
33
+ children: e.node.isRequired
34
+ };
35
+ i.propTypes = {
36
+ children: e.oneOfType([
37
+ e.element,
38
+ e.object,
39
+ e.node,
40
+ e.string
41
+ ]).isRequired,
42
+ id: e.string,
43
+ setNavbarIsPinned: e.func
44
+ };
45
+ export {
46
+ i as default
47
+ };
48
+ //# sourceMappingURL=Navbar.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Navbar.mjs","sources":["../../../src/lib/components/Navbar/Navbar.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, { useState, useRef, useEffect } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nimport Tooltip from '../Tooltip/Tooltip'\nimport TextTooltipTemplate from '../TooltipTemplate/TextTooltipTemplate'\n\nimport { NAVBAR_WIDTH_OPENED } from '../../constants'\nimport { localStorageService } from '../../utils'\n\nimport NavbarClosedIcon from '../../images/navbar/navbar-closed-icon.svg?react'\nimport NavbarOpenedIcon from '../../images/navbar/navbar-opened-icon.svg?react'\n\nimport './Navbar.scss'\n\nconst Navbar = ({ children, id = 'navbar', setNavbarIsPinned }) => {\n const [isPinned, setIsPinned] = useState(\n localStorageService.getStorageValue('isNavbarStatic', false) === 'true'\n )\n const navbarRef = useRef(null)\n\n const navbarClasses = classNames('navbar', isPinned && 'navbar_pinned')\n const navbarStyles = {\n maxWidth: isPinned && NAVBAR_WIDTH_OPENED\n }\n\n const handlePinClick = () => {\n setIsPinned(prevIsPinned => {\n localStorageService.setStorageValue('isNavbarStatic', !prevIsPinned)\n return !prevIsPinned\n })\n }\n\n useEffect(() => {\n setNavbarIsPinned(isPinned)\n }, [isPinned, setNavbarIsPinned])\n\n return (\n <nav className={navbarClasses} data-testid={id} style={navbarStyles} ref={navbarRef}>\n <div className=\"navbar__pin-icon\">\n <div id=\"navbar-pin\" onClick={handlePinClick}>\n <Tooltip template={<TextTooltipTemplate text={`${isPinned ? 'Unpin' : 'Pin'} Menu`} />}>\n {isPinned ? <NavbarOpenedIcon /> : <NavbarClosedIcon />}\n </Tooltip>\n </div>\n </div>\n {React.cloneElement(children, { navbarIsPinned: isPinned })}\n </nav>\n )\n}\n\nNavbar.Body = ({ children }) => (\n <div className=\"navbar__body\" data-testid=\"navbar-body\">\n {children}\n </div>\n)\n\nNavbar.Body.displayName = 'Navbar.Body'\n\nNavbar.Divider = () => <div className=\"navbar__divider\" />\n\nNavbar.Divider.displayName = 'Navbar.Divider'\n\nNavbar.Body.propTypes = {\n children: PropTypes.node.isRequired\n}\n\nNavbar.propTypes = {\n children: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.object,\n PropTypes.node,\n PropTypes.string\n ]).isRequired,\n id: PropTypes.string,\n setNavbarIsPinned: PropTypes.func\n}\n\nexport default Navbar\n"],"names":["Navbar","children","id","setNavbarIsPinned","isPinned","setIsPinned","useState","localStorageService.getStorageValue","navbarRef","useRef","navbarClasses","classNames","navbarStyles","NAVBAR_WIDTH_OPENED","handlePinClick","prevIsPinned","localStorageService.setStorageValue","useEffect","jsxs","jsx","Tooltip","TextTooltipTemplate","NavbarOpenedIcon","NavbarClosedIcon","React","PropTypes"],"mappings":";;;;;;;;;;;;AAkCA,MAAMA,IAAS,CAAC,EAAE,UAAAC,GAAU,IAAAC,IAAK,UAAU,mBAAAC,QAAwB;AAC3D,QAAA,CAACC,GAAUC,CAAW,IAAIC;AAAA,IAC9BC,EAAoC,kBAAkB,EAAK,MAAM;AAAA,EACnE,GACMC,IAAYC,EAAO,IAAI,GAEvBC,IAAgBC,EAAW,UAAUP,KAAY,eAAe,GAChEQ,IAAe;AAAA,IACnB,UAAUR,KAAYS;AAAA,EACxB,GAEMC,IAAiB,MAAM;AAC3B,IAAAT,EAAY,CAAgBU,OACNC,EAAgB,kBAAkB,CAACD,CAAY,GAC5D,CAACA,EACT;AAAA,EACH;AAEA,SAAAE,EAAU,MAAM;AACd,IAAAd,EAAkBC,CAAQ;AAAA,EAAA,GACzB,CAACA,GAAUD,CAAiB,CAAC,GAG9B,gBAAAe,EAAC,SAAI,WAAWR,GAAe,eAAaR,GAAI,OAAOU,GAAc,KAAKJ,GACxE,UAAA;AAAA,IAAA,gBAAAW,EAAC,OAAI,EAAA,WAAU,oBACb,UAAA,gBAAAA,EAAC,OAAI,EAAA,IAAG,cAAa,SAASL,GAC5B,UAAA,gBAAAK,EAACC,GAAQ,EAAA,UAAW,gBAAAD,EAAAE,GAAA,EAAoB,MAAM,GAAGjB,IAAW,UAAU,KAAK,QAAS,CAAA,GACjF,UAAAA,IAAY,gBAAAe,EAAAG,GAAA,CAAA,CAAiB,IAAK,gBAAAH,EAACI,GAAiB,CAAA,CAAA,EACvD,CAAA,EACF,CAAA,GACF;AAAA,IACCC,EAAM,aAAavB,GAAU,EAAE,gBAAgBG,EAAU,CAAA;AAAA,EAAA,GAC5D;AAEJ;AAEAJ,EAAO,OAAO,CAAC,EAAE,UAAAC,EAAS,MACvB,gBAAAkB,EAAA,OAAA,EAAI,WAAU,gBAAe,eAAY,eACvC,UAAAlB,EACH,CAAA;AAGFD,EAAO,KAAK,cAAc;AAE1BA,EAAO,UAAU,MAAO,gBAAAmB,EAAA,OAAA,EAAI,WAAU,mBAAkB;AAExDnB,EAAO,QAAQ,cAAc;AAE7BA,EAAO,KAAK,YAAY;AAAA,EACtB,UAAUyB,EAAU,KAAK;AAC3B;AAEAzB,EAAO,YAAY;AAAA,EACjB,UAAUyB,EAAU,UAAU;AAAA,IAC5BA,EAAU;AAAA,IACVA,EAAU;AAAA,IACVA,EAAU;AAAA,IACVA,EAAU;AAAA,EACX,CAAA,EAAE;AAAA,EACH,IAAIA,EAAU;AAAA,EACd,mBAAmBA,EAAU;AAC/B;"}
@@ -18,6 +18,7 @@ import LoadButton from './LoadButton/LoadButton';
18
18
  import Loader from './Loader/Loader';
19
19
  import LoaderForSuspenseFallback from './Loader/LoaderForSuspenseFallback';
20
20
  import Modal from './Modal/Modal';
21
+ import Navbar from './Navbar/Navbar';
21
22
  import PopUpDialog from './PopUpDialog/PopUpDialog';
22
23
  import ReadOnlyChips from './ReadOnlyChips/ReadOnlyChips';
23
24
  import RoundedIcon from './RoundedIcon/RoundedIcon';
@@ -27,5 +28,5 @@ import TextTooltipTemplate from './TooltipTemplate/TextTooltipTemplate';
27
28
  import Tip from './Tip/Tip';
28
29
  import Tooltip from './Tooltip/Tooltip';
29
30
  import Wizard from './Wizard/Wizard';
30
- export { ActionsMenu, BlockerSpy, Button, ConfirmDialog, CopyToClipboard, ErrorMessage, FormCheckBox, FormChipCell, FormCombobox, FormInput, FormKeyValueTable, FormOnChange, FormRadio, FormSelect, FormTextarea, FormToggle, LoadButton, Loader, LoaderForSuspenseFallback, Modal, PopUpDialog, ReadOnlyChips, RoundedIcon, TableCell, TabsSlider, TextTooltipTemplate, Tip, Tooltip, Wizard };
31
+ export { ActionsMenu, BlockerSpy, Button, ConfirmDialog, CopyToClipboard, ErrorMessage, FormCheckBox, FormChipCell, FormCombobox, FormInput, FormKeyValueTable, FormOnChange, FormRadio, FormSelect, FormTextarea, FormToggle, LoadButton, Loader, LoaderForSuspenseFallback, Modal, Navbar, PopUpDialog, ReadOnlyChips, RoundedIcon, TableCell, TabsSlider, TextTooltipTemplate, Tip, Tooltip, Wizard };
31
32
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/components/index.js"],"names":[],"mappings":"wBAiBwB,2BAA2B;uBAC5B,yBAAyB;mBAC7B,iBAAiB;0BACV,+BAA+B;4BAC7B,mCAAmC;yBACtC,6BAA6B;yBAC7B,6BAA6B;yBAC7B,6BAA6B;yBAC7B,6BAA6B;sBAChC,uBAAuB;8BACf,uCAAuC;yBAC5C,6BAA6B;sBAChC,uBAAuB;uBACtB,yBAAyB;yBACvB,6BAA6B;uBAC/B,yBAAyB;uBACzB,yBAAyB;mBAC7B,iBAAiB;sCACE,oCAAoC;kBACxD,eAAe;wBACT,2BAA2B;0BACzB,+BAA+B;wBACjC,2BAA2B;sBAC7B,uBAAuB;uBACtB,yBAAyB;gCAChB,uCAAuC;gBACvD,WAAW;oBACP,mBAAmB;mBACpB,iBAAiB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/components/index.js"],"names":[],"mappings":"wBAiBwB,2BAA2B;uBAC5B,yBAAyB;mBAC7B,iBAAiB;0BACV,+BAA+B;4BAC7B,mCAAmC;yBACtC,6BAA6B;yBAC7B,6BAA6B;yBAC7B,6BAA6B;yBAC7B,6BAA6B;sBAChC,uBAAuB;8BACf,uCAAuC;yBAC5C,6BAA6B;sBAChC,uBAAuB;uBACtB,yBAAyB;yBACvB,6BAA6B;uBAC/B,yBAAyB;uBACzB,yBAAyB;mBAC7B,iBAAiB;sCACE,oCAAoC;kBACxD,eAAe;mBACd,iBAAiB;wBACZ,2BAA2B;0BACzB,+BAA+B;wBACjC,2BAA2B;sBAC7B,uBAAuB;uBACtB,yBAAyB;gCAChB,uCAAuC;gBACvD,WAAW;oBACP,mBAAmB;mBACpB,iBAAiB"}
@@ -1,4 +1,4 @@
1
- import { default as r } from "./ActionsMenu/ActionsMenu.mjs";
1
+ import { default as a } from "./ActionsMenu/ActionsMenu.mjs";
2
2
  import { default as t } from "./BlockerSpy/BlockerSpy.mjs";
3
3
  import { default as l } from "./Button/Button.mjs";
4
4
  import { default as p } from "./ConfirmDialog/ConfirmDialog.mjs";
@@ -13,22 +13,23 @@ import { default as S } from "./FormOnChange/FormOnChange.mjs";
13
13
  import { default as L } from "./FormRadio/FormRadio.mjs";
14
14
  import { default as R } from "./FormSelect/FormSelect.mjs";
15
15
  import { default as I } from "./FormTextarea/FormTextarea.mjs";
16
- import { default as z } from "./FormToggle/FormToggle.mjs";
17
- import { default as E } from "./LoadButton/LoadButton.mjs";
18
- import { default as P } from "./Loader/Loader.mjs";
19
- import { default as V } from "./Loader/LoaderForSuspenseFallback.mjs";
20
- import { default as j } from "./Modal/Modal.mjs";
21
- import { default as v } from "./PopUpDialog/PopUpDialog.mjs";
22
- import { default as G } from "./ReadOnlyChips/ReadOnlyChips.mjs";
23
- import { default as J } from "./RoundedIcon/RoundedIcon.mjs";
24
- import { default as Q } from "./TableCell/TableCell.mjs";
25
- import { default as Y } from "./TabsSlider/TabsSlider.mjs";
26
- import { default as _ } from "./TooltipTemplate/TextTooltipTemplate.mjs";
27
- import { default as oo } from "./Tip/Tip.mjs";
28
- import { default as ro } from "./Tooltip/Tooltip.mjs";
29
- import { default as to } from "./Wizard/Wizard.mjs";
16
+ import { default as v } from "./FormToggle/FormToggle.mjs";
17
+ import { default as A } from "./LoadButton/LoadButton.mjs";
18
+ import { default as K } from "./Loader/Loader.mjs";
19
+ import { default as P } from "./Loader/LoaderForSuspenseFallback.mjs";
20
+ import { default as V } from "./Modal/Modal.mjs";
21
+ import { default as j } from "./Navbar/Navbar.mjs";
22
+ import { default as w } from "./PopUpDialog/PopUpDialog.mjs";
23
+ import { default as H } from "./ReadOnlyChips/ReadOnlyChips.mjs";
24
+ import { default as Q } from "./RoundedIcon/RoundedIcon.mjs";
25
+ import { default as Y } from "./TableCell/TableCell.mjs";
26
+ import { default as _ } from "./TabsSlider/TabsSlider.mjs";
27
+ import { default as oo } from "./TooltipTemplate/TextTooltipTemplate.mjs";
28
+ import { default as ao } from "./Tip/Tip.mjs";
29
+ import { default as to } from "./Tooltip/Tooltip.mjs";
30
+ import { default as lo } from "./Wizard/Wizard.mjs";
30
31
  export {
31
- r as ActionsMenu,
32
+ a as ActionsMenu,
32
33
  t as BlockerSpy,
33
34
  l as Button,
34
35
  p as ConfirmDialog,
@@ -43,19 +44,20 @@ export {
43
44
  L as FormRadio,
44
45
  R as FormSelect,
45
46
  I as FormTextarea,
46
- z as FormToggle,
47
- E as LoadButton,
48
- P as Loader,
49
- V as LoaderForSuspenseFallback,
50
- j as Modal,
51
- v as PopUpDialog,
52
- G as ReadOnlyChips,
53
- J as RoundedIcon,
54
- Q as TableCell,
55
- Y as TabsSlider,
56
- _ as TextTooltipTemplate,
57
- oo as Tip,
58
- ro as Tooltip,
59
- to as Wizard
47
+ v as FormToggle,
48
+ A as LoadButton,
49
+ K as Loader,
50
+ P as LoaderForSuspenseFallback,
51
+ V as Modal,
52
+ j as Navbar,
53
+ w as PopUpDialog,
54
+ H as ReadOnlyChips,
55
+ Q as RoundedIcon,
56
+ Y as TableCell,
57
+ _ as TabsSlider,
58
+ oo as TextTooltipTemplate,
59
+ ao as Tip,
60
+ to as Tooltip,
61
+ lo as Wizard
60
62
  };
61
63
  //# 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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -119,4 +119,6 @@ export const MODAL_MIN: "min";
119
119
  export const MODAL_MAX: "max";
120
120
  export const MAIN_TABLE_ID: "main-table";
121
121
  export const MAIN_TABLE_BODY_ID: "main-table-body";
122
+ export const NAVBAR_WIDTH_CLOSED: 57;
123
+ export const NAVBAR_WIDTH_OPENED: 245;
122
124
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/lib/constants.js"],"names":[],"mappings":"AAmBA,oCAAqC,MAAM,CAAA;AAC3C,6BAA8B,MAAM,CAAA;AAEpC,4BAA6B,OAAO,CAAA;AACpC,6BAA8B,QAAQ,CAAA;AACtC,6BAA8B,QAAQ,CAAA;AACtC,6BAA8B,QAAQ,CAAA;AAGtC,wBAAyB,WAAW,CAAA;AACpC,oBAAqB,OAAO,CAAA;AAC5B,qBAAsB,QAAQ,CAAA;AAC9B,kBAAmB,KAAK,CAAA;AACxB,wBAAyB,WAAW,CAAA;AAIpC,6BAA8B,SAAS,CAAA;AACvC,+BAAgC,WAAW,CAAA;AAC3C,8BAA+B,UAAU,CAAA;AACzC,4BAA6B,QAAQ,CAAA;AACrC,2BAA4B,OAAO,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwBnC,2CAA4C,GAAG,CAAA;AAC/C,0CAA2C,GAAG,CAAA;AAC9C,yCAA0C,GAAG,CAAA;AAC7C,yCAA0C,GAAG,CAAA;AAC7C,gDAAiD,GAAG,CAAA;AACpD,4CAA6C,GAAG,CAAA;AAChD,oDAAqD,GAAG,CAAA;AACxD,0CAA2C,GAAG,CAAA;AAI9C,uBAAwB,IAAI,CAAA;AAC5B,uBAAwB,IAAI,CAAA;AAC5B,uBAAwB,IAAI,CAAA;AAC5B,wBAAyB,KAAK,CAAA;AAC9B,wBAAyB,KAAK,CAAA;AAI9B,4BAA6B,YAAY,CAAA;AACzC,iCAAkC,iBAAiB,CAAA"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/lib/constants.js"],"names":[],"mappings":"AAmBA,oCAAqC,MAAM,CAAA;AAC3C,6BAA8B,MAAM,CAAA;AAEpC,4BAA6B,OAAO,CAAA;AACpC,6BAA8B,QAAQ,CAAA;AACtC,6BAA8B,QAAQ,CAAA;AACtC,6BAA8B,QAAQ,CAAA;AAGtC,wBAAyB,WAAW,CAAA;AACpC,oBAAqB,OAAO,CAAA;AAC5B,qBAAsB,QAAQ,CAAA;AAC9B,kBAAmB,KAAK,CAAA;AACxB,wBAAyB,WAAW,CAAA;AAIpC,6BAA8B,SAAS,CAAA;AACvC,+BAAgC,WAAW,CAAA;AAC3C,8BAA+B,UAAU,CAAA;AACzC,4BAA6B,QAAQ,CAAA;AACrC,2BAA4B,OAAO,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwBnC,2CAA4C,GAAG,CAAA;AAC/C,0CAA2C,GAAG,CAAA;AAC9C,yCAA0C,GAAG,CAAA;AAC7C,yCAA0C,GAAG,CAAA;AAC7C,gDAAiD,GAAG,CAAA;AACpD,4CAA6C,GAAG,CAAA;AAChD,oDAAqD,GAAG,CAAA;AACxD,0CAA2C,GAAG,CAAA;AAI9C,uBAAwB,IAAI,CAAA;AAC5B,uBAAwB,IAAI,CAAA;AAC5B,uBAAwB,IAAI,CAAA;AAC5B,wBAAyB,KAAK,CAAA;AAC9B,wBAAyB,KAAK,CAAA;AAI9B,4BAA6B,YAAY,CAAA;AACzC,iCAAkC,iBAAiB,CAAA;AAInD,kCAAmC,EAAE,CAAA;AACrC,kCAAmC,GAAG,CAAA"}
@@ -1,4 +1,4 @@
1
- const E = "view", t = "full", A = "dense", n = "normal", _ = "medium", T = "chunky", N = "Backspace", e = "Click", s = "Delete", o = "Tab", c = "Tab+Shift", L = "primary", O = "secondary", a = "tertiary", R = "danger", M = "label", i = {
1
+ const E = "view", t = "full", A = "dense", n = "normal", _ = "medium", T = "chunky", N = "Backspace", e = "Click", s = "Delete", o = "Tab", c = "Tab+Shift", L = "primary", O = "secondary", R = "tertiary", a = "danger", M = "label", i = {
2
2
  BEGIN_END_NOT_WITH: { LABEL: "Must not begin and end with", NAME: "beginEndNot" },
3
3
  BEGIN_END_WITH: { LABEL: "Must begin and end with", NAME: "beginEnd" },
4
4
  BEGIN_NOT_WITH: { LABEL: "Must not begin with", NAME: "beginNot" },
@@ -14,38 +14,40 @@ const E = "view", t = "full", A = "dense", n = "normal", _ = "medium", T = "chun
14
14
  REQUIRED: { LABEL: "This field is required", NAME: "required" },
15
15
  VALID_CHARACTERS_WITH_REFIX: { LABEL: "Valid characters", NAME: "validCharactersWithPrefix" },
16
16
  VALID_CHARACTERS: { LABEL: "Valid characters", NAME: "validCharacters" }
17
- }, I = 400, D = 403, B = 404, C = 409, S = 500, r = 502, d = 503, U = 504, l = "sm", h = "md", u = "lg", b = "min", H = "max", g = "main-table", Y = "main-table-body";
17
+ }, D = 400, I = 403, B = 404, C = 409, S = 500, r = 502, d = 503, U = 504, l = "sm", h = "md", u = "lg", H = "min", b = "max", g = "main-table", W = "main-table-body", V = 57, Y = 245;
18
18
  export {
19
19
  N as BACKSPACE,
20
- I as BADREQUEST_ERROR_STATUS_CODE,
20
+ D as BADREQUEST_ERROR_STATUS_CODE,
21
21
  r as BAD_GATEWAY_ERROR_STATUS_CODE,
22
22
  e as CLICK,
23
23
  C as CONFLICT_ERROR_STATUS_CODE,
24
- R as DANGER_BUTTON,
24
+ a as DANGER_BUTTON,
25
25
  s as DELETE,
26
26
  T as DENSITY_CHUNKY,
27
27
  A as DENSITY_DENSE,
28
28
  _ as DENSITY_MEDIUM,
29
29
  n as DENSITY_NORMAL,
30
- D as FORBIDDEN_ERROR_STATUS_CODE,
30
+ I as FORBIDDEN_ERROR_STATUS_CODE,
31
31
  t as FULL_VIEW_MODE,
32
32
  U as GATEWAY_TIMEOUT_STATUS_CODE,
33
33
  S as INTERNAL_SERVER_ERROR_STATUS_CODE,
34
34
  M as LABEL_BUTTON,
35
- Y as MAIN_TABLE_BODY_ID,
35
+ W as MAIN_TABLE_BODY_ID,
36
36
  g as MAIN_TABLE_ID,
37
37
  u as MODAL_LG,
38
- H as MODAL_MAX,
38
+ b as MODAL_MAX,
39
39
  h as MODAL_MD,
40
- b as MODAL_MIN,
40
+ H as MODAL_MIN,
41
41
  l as MODAL_SM,
42
+ V as NAVBAR_WIDTH_CLOSED,
43
+ Y as NAVBAR_WIDTH_OPENED,
42
44
  B as NOTFOUND_ERROR_STATUS_CODE,
43
45
  L as PRIMARY_BUTTON,
44
46
  O as SECONDARY_BUTTON,
45
47
  d as SERVICE_UNAVAILABLE_ERROR_STATUS_CODE,
46
48
  o as TAB,
47
49
  c as TAB_SHIFT,
48
- a as TERTIARY_BUTTON,
50
+ R as TERTIARY_BUTTON,
49
51
  E as VIEW_SEARCH_PARAMETER,
50
52
  i as validation
51
53
  };
@@ -1 +1 @@
1
- {"version":3,"file":"constants.mjs","sources":["../src/lib/constants.js"],"sourcesContent":["/*\nCopyright 2022 Iguazio Systems Ltd.\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.\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.\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\n/*=========== GENERAL =============*/\n\nexport const VIEW_SEARCH_PARAMETER = 'view'\nexport const FULL_VIEW_MODE = 'full'\n\nexport const DENSITY_DENSE = 'dense'\nexport const DENSITY_NORMAL = 'normal'\nexport const DENSITY_MEDIUM = 'medium'\nexport const DENSITY_CHUNKY = 'chunky'\n\n/*=========== EVENT KEYS =============*/\nexport const BACKSPACE = 'Backspace'\nexport const CLICK = 'Click'\nexport const DELETE = 'Delete'\nexport const TAB = 'Tab'\nexport const TAB_SHIFT = 'Tab+Shift'\n\n/*=========== BUTTONS =============*/\n\nexport const PRIMARY_BUTTON = 'primary'\nexport const SECONDARY_BUTTON = 'secondary'\nexport const TERTIARY_BUTTON = 'tertiary'\nexport const DANGER_BUTTON = 'danger'\nexport const LABEL_BUTTON = 'label'\n\n/*=========== VALITATION =============*/\n\nexport const validation = {\n BEGIN_END_NOT_WITH: { LABEL: 'Must not begin and end with', NAME: 'beginEndNot' },\n BEGIN_END_WITH: { LABEL: 'Must begin and end with', NAME: 'beginEnd' },\n BEGIN_NOT_WITH: { LABEL: 'Must not begin with', NAME: 'beginNot' },\n BEGIN_WITH: { LABEL: 'Must begin with', NAME: 'begin' },\n END_NOT_WITH: { LABEL: 'Must not end with', NAME: 'endNot' },\n END_WITH: { LABEL: 'Must end with', NAME: 'end' },\n MUST_CONTAIN_EXACTLY_ONE: { LABEL: 'Must contain exactly one', NAME: 'exactlyOne' },\n MUST_HAVE_DOT_AFTER_AT: { LABEL: 'Must have at least one . after @', NAME: 'dotAfterAt' },\n MUST_NOT_BE: { LABEL: 'Must not be', NAME: 'mustNotBe' },\n NO_CONSECUTIVE_CHARACTER: { LABEL: 'No consecutive characters', NAME: 'noConsecutiveCharacters' },\n NOT_CONTAIN: { LABEL: 'Must not contain', NAME: 'notContainCharacters' },\n ONLY_AT_THE_BEGINNING: { LABEL: 'Only at the beginning', NAME: 'onlyAtTheBeginning' },\n REQUIRED: { LABEL: 'This field is required', NAME: 'required' },\n VALID_CHARACTERS_WITH_REFIX: { LABEL: 'Valid characters', NAME: 'validCharactersWithPrefix' },\n VALID_CHARACTERS: { LABEL: 'Valid characters', NAME: 'validCharacters' }\n}\n\n/*=========== STATUS CODES =============*/\n\nexport const BADREQUEST_ERROR_STATUS_CODE = 400\nexport const FORBIDDEN_ERROR_STATUS_CODE = 403\nexport const NOTFOUND_ERROR_STATUS_CODE = 404\nexport const CONFLICT_ERROR_STATUS_CODE = 409\nexport const INTERNAL_SERVER_ERROR_STATUS_CODE = 500\nexport const BAD_GATEWAY_ERROR_STATUS_CODE = 502\nexport const SERVICE_UNAVAILABLE_ERROR_STATUS_CODE = 503\nexport const GATEWAY_TIMEOUT_STATUS_CODE = 504\n\n/*=========== MODAL =============*/\n\nexport const MODAL_SM = 'sm'\nexport const MODAL_MD = 'md'\nexport const MODAL_LG = 'lg'\nexport const MODAL_MIN = 'min'\nexport const MODAL_MAX = 'max'\n\n/*=========== TABLE =============*/\n\nexport const MAIN_TABLE_ID = 'main-table'\nexport const MAIN_TABLE_BODY_ID = 'main-table-body'\n"],"names":["VIEW_SEARCH_PARAMETER","FULL_VIEW_MODE","DENSITY_DENSE","DENSITY_NORMAL","DENSITY_MEDIUM","DENSITY_CHUNKY","BACKSPACE","CLICK","DELETE","TAB","TAB_SHIFT","PRIMARY_BUTTON","SECONDARY_BUTTON","TERTIARY_BUTTON","DANGER_BUTTON","LABEL_BUTTON","validation","BADREQUEST_ERROR_STATUS_CODE","FORBIDDEN_ERROR_STATUS_CODE","NOTFOUND_ERROR_STATUS_CODE","CONFLICT_ERROR_STATUS_CODE","INTERNAL_SERVER_ERROR_STATUS_CODE","BAD_GATEWAY_ERROR_STATUS_CODE","SERVICE_UNAVAILABLE_ERROR_STATUS_CODE","GATEWAY_TIMEOUT_STATUS_CODE","MODAL_SM","MODAL_MD","MODAL_LG","MODAL_MIN","MODAL_MAX","MAIN_TABLE_ID","MAIN_TABLE_BODY_ID"],"mappings":"AAmBY,MAACA,IAAwB,QACxBC,IAAiB,QAEjBC,IAAgB,SAChBC,IAAiB,UACjBC,IAAiB,UACjBC,IAAiB,UAGjBC,IAAY,aACZC,IAAQ,SACRC,IAAS,UACTC,IAAM,OACNC,IAAY,aAIZC,IAAiB,WACjBC,IAAmB,aACnBC,IAAkB,YAClBC,IAAgB,UAChBC,IAAe,SAIfC,IAAa;AAAA,EACxB,oBAAoB,EAAE,OAAO,+BAA+B,MAAM,cAAe;AAAA,EACjF,gBAAgB,EAAE,OAAO,2BAA2B,MAAM,WAAY;AAAA,EACtE,gBAAgB,EAAE,OAAO,uBAAuB,MAAM,WAAY;AAAA,EAClE,YAAY,EAAE,OAAO,mBAAmB,MAAM,QAAS;AAAA,EACvD,cAAc,EAAE,OAAO,qBAAqB,MAAM,SAAU;AAAA,EAC5D,UAAU,EAAE,OAAO,iBAAiB,MAAM,MAAO;AAAA,EACjD,0BAA0B,EAAE,OAAO,4BAA4B,MAAM,aAAc;AAAA,EACnF,wBAAwB,EAAE,OAAO,oCAAoC,MAAM,aAAc;AAAA,EACzF,aAAa,EAAE,OAAO,eAAe,MAAM,YAAa;AAAA,EACxD,0BAA0B,EAAE,OAAO,6BAA6B,MAAM,0BAA2B;AAAA,EACjG,aAAa,EAAE,OAAO,oBAAoB,MAAM,uBAAwB;AAAA,EACxE,uBAAuB,EAAE,OAAO,yBAAyB,MAAM,qBAAsB;AAAA,EACrF,UAAU,EAAE,OAAO,0BAA0B,MAAM,WAAY;AAAA,EAC/D,6BAA6B,EAAE,OAAO,oBAAoB,MAAM,4BAA6B;AAAA,EAC7F,kBAAkB,EAAE,OAAO,oBAAoB,MAAM,kBAAiB;AACxE,GAIaC,IAA+B,KAC/BC,IAA8B,KAC9BC,IAA6B,KAC7BC,IAA6B,KAC7BC,IAAoC,KACpCC,IAAgC,KAChCC,IAAwC,KACxCC,IAA8B,KAI9BC,IAAW,MACXC,IAAW,MACXC,IAAW,MACXC,IAAY,OACZC,IAAY,OAIZC,IAAgB,cAChBC,IAAqB;"}
1
+ {"version":3,"file":"constants.mjs","sources":["../src/lib/constants.js"],"sourcesContent":["/*\nCopyright 2022 Iguazio Systems Ltd.\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.\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.\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\n/*=========== GENERAL =============*/\n\nexport const VIEW_SEARCH_PARAMETER = 'view'\nexport const FULL_VIEW_MODE = 'full'\n\nexport const DENSITY_DENSE = 'dense'\nexport const DENSITY_NORMAL = 'normal'\nexport const DENSITY_MEDIUM = 'medium'\nexport const DENSITY_CHUNKY = 'chunky'\n\n/*=========== EVENT KEYS =============*/\nexport const BACKSPACE = 'Backspace'\nexport const CLICK = 'Click'\nexport const DELETE = 'Delete'\nexport const TAB = 'Tab'\nexport const TAB_SHIFT = 'Tab+Shift'\n\n/*=========== BUTTONS =============*/\n\nexport const PRIMARY_BUTTON = 'primary'\nexport const SECONDARY_BUTTON = 'secondary'\nexport const TERTIARY_BUTTON = 'tertiary'\nexport const DANGER_BUTTON = 'danger'\nexport const LABEL_BUTTON = 'label'\n\n/*=========== VALITATION =============*/\n\nexport const validation = {\n BEGIN_END_NOT_WITH: { LABEL: 'Must not begin and end with', NAME: 'beginEndNot' },\n BEGIN_END_WITH: { LABEL: 'Must begin and end with', NAME: 'beginEnd' },\n BEGIN_NOT_WITH: { LABEL: 'Must not begin with', NAME: 'beginNot' },\n BEGIN_WITH: { LABEL: 'Must begin with', NAME: 'begin' },\n END_NOT_WITH: { LABEL: 'Must not end with', NAME: 'endNot' },\n END_WITH: { LABEL: 'Must end with', NAME: 'end' },\n MUST_CONTAIN_EXACTLY_ONE: { LABEL: 'Must contain exactly one', NAME: 'exactlyOne' },\n MUST_HAVE_DOT_AFTER_AT: { LABEL: 'Must have at least one . after @', NAME: 'dotAfterAt' },\n MUST_NOT_BE: { LABEL: 'Must not be', NAME: 'mustNotBe' },\n NO_CONSECUTIVE_CHARACTER: { LABEL: 'No consecutive characters', NAME: 'noConsecutiveCharacters' },\n NOT_CONTAIN: { LABEL: 'Must not contain', NAME: 'notContainCharacters' },\n ONLY_AT_THE_BEGINNING: { LABEL: 'Only at the beginning', NAME: 'onlyAtTheBeginning' },\n REQUIRED: { LABEL: 'This field is required', NAME: 'required' },\n VALID_CHARACTERS_WITH_REFIX: { LABEL: 'Valid characters', NAME: 'validCharactersWithPrefix' },\n VALID_CHARACTERS: { LABEL: 'Valid characters', NAME: 'validCharacters' }\n}\n\n/*=========== STATUS CODES =============*/\n\nexport const BADREQUEST_ERROR_STATUS_CODE = 400\nexport const FORBIDDEN_ERROR_STATUS_CODE = 403\nexport const NOTFOUND_ERROR_STATUS_CODE = 404\nexport const CONFLICT_ERROR_STATUS_CODE = 409\nexport const INTERNAL_SERVER_ERROR_STATUS_CODE = 500\nexport const BAD_GATEWAY_ERROR_STATUS_CODE = 502\nexport const SERVICE_UNAVAILABLE_ERROR_STATUS_CODE = 503\nexport const GATEWAY_TIMEOUT_STATUS_CODE = 504\n\n/*=========== MODAL =============*/\n\nexport const MODAL_SM = 'sm'\nexport const MODAL_MD = 'md'\nexport const MODAL_LG = 'lg'\nexport const MODAL_MIN = 'min'\nexport const MODAL_MAX = 'max'\n\n/*=========== TABLE =============*/\n\nexport const MAIN_TABLE_ID = 'main-table'\nexport const MAIN_TABLE_BODY_ID = 'main-table-body'\n\n/*=========== NAVBAR =============*/\n\nexport const NAVBAR_WIDTH_CLOSED = 57\nexport const NAVBAR_WIDTH_OPENED = 245\n"],"names":["VIEW_SEARCH_PARAMETER","FULL_VIEW_MODE","DENSITY_DENSE","DENSITY_NORMAL","DENSITY_MEDIUM","DENSITY_CHUNKY","BACKSPACE","CLICK","DELETE","TAB","TAB_SHIFT","PRIMARY_BUTTON","SECONDARY_BUTTON","TERTIARY_BUTTON","DANGER_BUTTON","LABEL_BUTTON","validation","BADREQUEST_ERROR_STATUS_CODE","FORBIDDEN_ERROR_STATUS_CODE","NOTFOUND_ERROR_STATUS_CODE","CONFLICT_ERROR_STATUS_CODE","INTERNAL_SERVER_ERROR_STATUS_CODE","BAD_GATEWAY_ERROR_STATUS_CODE","SERVICE_UNAVAILABLE_ERROR_STATUS_CODE","GATEWAY_TIMEOUT_STATUS_CODE","MODAL_SM","MODAL_MD","MODAL_LG","MODAL_MIN","MODAL_MAX","MAIN_TABLE_ID","MAIN_TABLE_BODY_ID","NAVBAR_WIDTH_CLOSED","NAVBAR_WIDTH_OPENED"],"mappings":"AAmBY,MAACA,IAAwB,QACxBC,IAAiB,QAEjBC,IAAgB,SAChBC,IAAiB,UACjBC,IAAiB,UACjBC,IAAiB,UAGjBC,IAAY,aACZC,IAAQ,SACRC,IAAS,UACTC,IAAM,OACNC,IAAY,aAIZC,IAAiB,WACjBC,IAAmB,aACnBC,IAAkB,YAClBC,IAAgB,UAChBC,IAAe,SAIfC,IAAa;AAAA,EACxB,oBAAoB,EAAE,OAAO,+BAA+B,MAAM,cAAe;AAAA,EACjF,gBAAgB,EAAE,OAAO,2BAA2B,MAAM,WAAY;AAAA,EACtE,gBAAgB,EAAE,OAAO,uBAAuB,MAAM,WAAY;AAAA,EAClE,YAAY,EAAE,OAAO,mBAAmB,MAAM,QAAS;AAAA,EACvD,cAAc,EAAE,OAAO,qBAAqB,MAAM,SAAU;AAAA,EAC5D,UAAU,EAAE,OAAO,iBAAiB,MAAM,MAAO;AAAA,EACjD,0BAA0B,EAAE,OAAO,4BAA4B,MAAM,aAAc;AAAA,EACnF,wBAAwB,EAAE,OAAO,oCAAoC,MAAM,aAAc;AAAA,EACzF,aAAa,EAAE,OAAO,eAAe,MAAM,YAAa;AAAA,EACxD,0BAA0B,EAAE,OAAO,6BAA6B,MAAM,0BAA2B;AAAA,EACjG,aAAa,EAAE,OAAO,oBAAoB,MAAM,uBAAwB;AAAA,EACxE,uBAAuB,EAAE,OAAO,yBAAyB,MAAM,qBAAsB;AAAA,EACrF,UAAU,EAAE,OAAO,0BAA0B,MAAM,WAAY;AAAA,EAC/D,6BAA6B,EAAE,OAAO,oBAAoB,MAAM,4BAA6B;AAAA,EAC7F,kBAAkB,EAAE,OAAO,oBAAoB,MAAM,kBAAiB;AACxE,GAIaC,IAA+B,KAC/BC,IAA8B,KAC9BC,IAA6B,KAC7BC,IAA6B,KAC7BC,IAAoC,KACpCC,IAAgC,KAChCC,IAAwC,KACxCC,IAA8B,KAI9BC,IAAW,MACXC,IAAW,MACXC,IAAW,MACXC,IAAY,OACZC,IAAY,OAIZC,IAAgB,cAChBC,IAAqB,mBAIrBC,IAAsB,IACtBC,IAAsB;"}