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.
- package/dist/components/FormChipCell/NewChipForm/NewChipForm.mjs +36 -36
- package/dist/components/FormChipCell/NewChipForm/NewChipForm.mjs.map +1 -1
- package/dist/components/Navbar/Navbar.d.ts +30 -0
- package/dist/components/Navbar/Navbar.d.ts.map +1 -0
- package/dist/components/Navbar/Navbar.mjs +48 -0
- package/dist/components/Navbar/Navbar.mjs.map +1 -0
- package/dist/components/index.d.ts +2 -1
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.mjs +32 -30
- package/dist/components/index.mjs.map +1 -1
- package/dist/constants.d.ts +2 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.mjs +11 -9
- package/dist/constants.mjs.map +1 -1
- package/dist/elements/NavbarLink/NavbarLink.d.ts +3 -0
- package/dist/elements/NavbarLink/NavbarLink.d.ts.map +1 -0
- package/dist/elements/NavbarLink/NavbarLink.mjs +62 -0
- package/dist/elements/NavbarLink/NavbarLink.mjs.map +1 -0
- package/dist/elements/index.d.ts +2 -1
- package/dist/elements/index.d.ts.map +1 -1
- package/dist/elements/index.mjs +16 -14
- package/dist/elements/index.mjs.map +1 -1
- package/dist/images/group-navbar-icon.svg +3 -0
- package/dist/images/ig4-header-projects-icon.svg +4 -0
- package/dist/images/navbar/group-navbar-icon.svg +3 -0
- package/dist/images/navbar/navbar-closed-icon.svg +10 -0
- package/dist/images/navbar/navbar-closed-icon.svg.mjs +6 -0
- package/dist/images/navbar/navbar-closed-icon.svg.mjs.map +1 -0
- package/dist/images/navbar/navbar-opened-icon.svg +10 -0
- package/dist/images/navbar/navbar-opened-icon.svg.mjs +6 -0
- package/dist/images/navbar/navbar-opened-icon.svg.mjs.map +1 -0
- package/dist/images/navbar/users-navbar-icon.svg +3 -0
- package/dist/images/navbar-closed-icon.svg +10 -0
- package/dist/images/navbar-opened-icon.svg +10 -0
- package/dist/images/users-delete.svg +3 -0
- package/dist/images/users-navbar-icon.svg +3 -0
- package/dist/images/users.svg +2 -2
- package/dist/index.css +1 -1
- package/dist/scss/colors.scss +2 -0
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.mjs +10 -8
- package/dist/utils/index.mjs.map +1 -1
- package/dist/utils/localStorageService.util.d.ts +3 -0
- package/dist/utils/localStorageService.util.d.ts.map +1 -0
- package/dist/utils/localStorageService.util.mjs +16 -0
- package/dist/utils/localStorageService.util.mjs.map +1 -0
- 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
|
|
8
|
-
import
|
|
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
|
|
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:
|
|
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:
|
|
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] = $(
|
|
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,
|
|
66
|
-
let R = null,
|
|
67
|
-
if (_ &&
|
|
68
|
-
R =
|
|
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
|
-
|
|
71
|
-
const
|
|
72
|
-
R =
|
|
73
|
-
} else if (
|
|
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
|
|
76
|
-
|
|
75
|
+
const b = n - R;
|
|
76
|
+
k = b > s ? s : b;
|
|
77
77
|
} else
|
|
78
|
-
R = !l.key || t <= F ? F : t,
|
|
79
|
-
o.current.style.width = `${R}px`, y(c.current) || (c.current.style.width = `${
|
|
80
|
-
...
|
|
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:
|
|
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
|
|
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),
|
|
114
|
+
x != null && x.current && !x.current.contains(e.target) && (B(!1), L(e, !0));
|
|
115
115
|
},
|
|
116
|
-
[
|
|
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",
|
|
134
|
-
document.removeEventListener("click",
|
|
133
|
+
return document.addEventListener("click", L, !0), () => {
|
|
134
|
+
document.removeEventListener("click", L, !0);
|
|
135
135
|
};
|
|
136
|
-
}, [
|
|
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
|
|
181
|
+
var P;
|
|
182
182
|
return {
|
|
183
183
|
..._,
|
|
184
184
|
value: c.current.value,
|
|
185
|
-
valueFieldWidth: ((
|
|
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(
|
|
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 &&
|
|
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(
|
|
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
|
-
|
|
263
|
-
|
|
264
|
-
|
|
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 =
|
|
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":"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"}
|
|
@@ -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;
|
|
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
|
|
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
|
|
17
|
-
import { default as
|
|
18
|
-
import { default as
|
|
19
|
-
import { default as
|
|
20
|
-
import { default as
|
|
21
|
-
import { default as
|
|
22
|
-
import { default as
|
|
23
|
-
import { default as
|
|
24
|
-
import { default as Q } from "./
|
|
25
|
-
import { default as Y } from "./
|
|
26
|
-
import { default as _ } from "./
|
|
27
|
-
import { default as oo } from "./
|
|
28
|
-
import { default as
|
|
29
|
-
import { default as to } from "./
|
|
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
|
-
|
|
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
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
Q as
|
|
55
|
-
Y as
|
|
56
|
-
_ as
|
|
57
|
-
oo as
|
|
58
|
-
|
|
59
|
-
to as
|
|
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/constants.d.ts
CHANGED
|
@@ -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
|
package/dist/constants.d.ts.map
CHANGED
|
@@ -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"}
|
package/dist/constants.mjs
CHANGED
|
@@ -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",
|
|
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
|
-
},
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
35
|
+
W as MAIN_TABLE_BODY_ID,
|
|
36
36
|
g as MAIN_TABLE_ID,
|
|
37
37
|
u as MODAL_LG,
|
|
38
|
-
|
|
38
|
+
b as MODAL_MAX,
|
|
39
39
|
h as MODAL_MD,
|
|
40
|
-
|
|
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
|
-
|
|
50
|
+
R as TERTIARY_BUTTON,
|
|
49
51
|
E as VIEW_SEARCH_PARAMETER,
|
|
50
52
|
i as validation
|
|
51
53
|
};
|
package/dist/constants.mjs.map
CHANGED
|
@@ -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;"}
|