iguazio.dashboard-react-controls 3.2.2 → 3.2.4

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 (60) hide show
  1. package/dist/components/FormChipCell/FormChip/FormChip.d.ts +3 -1
  2. package/dist/components/FormChipCell/FormChip/FormChip.d.ts.map +1 -1
  3. package/dist/components/FormChipCell/FormChip/FormChip.mjs +30 -27
  4. package/dist/components/FormChipCell/FormChip/FormChip.mjs.map +1 -1
  5. package/dist/components/FormChipCell/FormChipCell.d.ts +7 -2
  6. package/dist/components/FormChipCell/FormChipCell.d.ts.map +1 -1
  7. package/dist/components/FormChipCell/FormChipCell.mjs +131 -124
  8. package/dist/components/FormChipCell/FormChipCell.mjs.map +1 -1
  9. package/dist/components/FormChipCell/FormChipCellView.d.ts +8 -1
  10. package/dist/components/FormChipCell/FormChipCellView.d.ts.map +1 -1
  11. package/dist/components/FormChipCell/FormChipCellView.mjs +105 -96
  12. package/dist/components/FormChipCell/FormChipCellView.mjs.map +1 -1
  13. package/dist/components/FormChipCell/NewChipForm/NewChipForm.d.ts +3 -1
  14. package/dist/components/FormChipCell/NewChipForm/NewChipForm.d.ts.map +1 -1
  15. package/dist/components/FormChipCell/NewChipForm/NewChipForm.mjs +189 -183
  16. package/dist/components/FormChipCell/NewChipForm/NewChipForm.mjs.map +1 -1
  17. package/dist/components/ReadOnlyChips/ReadOnlyChips.d.ts +22 -0
  18. package/dist/components/ReadOnlyChips/ReadOnlyChips.d.ts.map +1 -0
  19. package/dist/components/ReadOnlyChips/ReadOnlyChips.mjs +41 -0
  20. package/dist/components/ReadOnlyChips/ReadOnlyChips.mjs.map +1 -0
  21. package/dist/components/TableCell/TableCell.d.ts.map +1 -1
  22. package/dist/components/TableCell/TableCell.mjs +39 -32
  23. package/dist/components/TableCell/TableCell.mjs.map +1 -1
  24. package/dist/components/index.d.ts +2 -3
  25. package/dist/components/index.d.ts.map +1 -1
  26. package/dist/components/index.mjs +52 -54
  27. package/dist/components/index.mjs.map +1 -1
  28. package/dist/hooks/useChipCell.hook.d.ts.map +1 -1
  29. package/dist/hooks/useChipCell.hook.mjs +52 -49
  30. package/dist/hooks/useChipCell.hook.mjs.map +1 -1
  31. package/dist/images/add.svg.mjs +3 -2
  32. package/dist/images/add.svg.mjs.map +1 -1
  33. package/dist/index.css +1 -1
  34. package/dist/types.d.ts +1 -0
  35. package/dist/types.d.ts.map +1 -1
  36. package/dist/types.mjs +53 -49
  37. package/dist/types.mjs.map +1 -1
  38. package/package.json +1 -1
  39. package/dist/components/Chip/Chip.d.ts +0 -3
  40. package/dist/components/Chip/Chip.d.ts.map +0 -1
  41. package/dist/components/Chip/Chip.mjs +0 -153
  42. package/dist/components/Chip/Chip.mjs.map +0 -1
  43. package/dist/components/Chip/Chip.stories.d.ts +0 -26
  44. package/dist/components/Chip/Chip.stories.d.ts.map +0 -1
  45. package/dist/components/ChipCell/ChipCell.d.ts +0 -3
  46. package/dist/components/ChipCell/ChipCell.d.ts.map +0 -1
  47. package/dist/components/ChipCell/ChipCell.mjs +0 -212
  48. package/dist/components/ChipCell/ChipCell.mjs.map +0 -1
  49. package/dist/components/ChipCell/ChipTooltip/ChipTooltip.d.ts +0 -15
  50. package/dist/components/ChipCell/ChipTooltip/ChipTooltip.d.ts.map +0 -1
  51. package/dist/components/ChipCell/ChipTooltip/ChipTooltip.mjs +0 -36
  52. package/dist/components/ChipCell/ChipTooltip/ChipTooltip.mjs.map +0 -1
  53. package/dist/components/ChipCell/HiddenChipsBlock/HiddenChipsBlock.d.ts +0 -35
  54. package/dist/components/ChipCell/HiddenChipsBlock/HiddenChipsBlock.d.ts.map +0 -1
  55. package/dist/components/ChipCell/HiddenChipsBlock/HiddenChipsBlock.mjs +0 -73
  56. package/dist/components/ChipCell/HiddenChipsBlock/HiddenChipsBlock.mjs.map +0 -1
  57. package/dist/components/ChipForm/ChipForm.mjs +0 -184
  58. package/dist/components/ChipForm/ChipForm.mjs.map +0 -1
  59. package/dist/images/add.svg2.mjs +0 -6
  60. package/dist/images/add.svg2.mjs.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReadOnlyChips.d.ts","sourceRoot":"","sources":["../../../src/lib/components/ReadOnlyChips/ReadOnlyChips.jsx"],"names":[],"mappings":";AAiCA;;;;;;;;;;;;gBAyBC;;;;;;;6BA7B4B,aAAa"}
@@ -0,0 +1,41 @@
1
+ import { jsx as t } from "react/jsx-runtime";
2
+ import p from "react";
3
+ import { Form as a } from "react-final-form";
4
+ import { createForm as s } from "final-form";
5
+ import l from "prop-types";
6
+ import f from "final-form-arrays";
7
+ import "../index.mjs";
8
+ import { getChipOptions as n } from "../../utils/chips.util.mjs";
9
+ import { setFieldState as u } from "../../utils/form.util.mjs";
10
+ import { CHIP_OPTIONS as c } from "../../types.mjs";
11
+ import d from "../FormChipCell/FormChipCell.mjs";
12
+ const h = n("metrics"), C = ({ chipOptions: o = h, labels: i = [], ...e }) => {
13
+ const m = p.useRef(
14
+ s({
15
+ initialValues: { labels: i },
16
+ mutators: { ...f, setFieldState: u },
17
+ onSubmit: () => {
18
+ }
19
+ })
20
+ );
21
+ return /* @__PURE__ */ t(a, { form: m.current, onSubmit: () => {
22
+ }, children: (r) => /* @__PURE__ */ t(
23
+ d,
24
+ {
25
+ chipOptions: o,
26
+ formState: r,
27
+ isEditable: !1,
28
+ initialValues: r.initialValues,
29
+ name: "labels",
30
+ ...e
31
+ }
32
+ ) });
33
+ };
34
+ C.propTypes = {
35
+ chipOptions: c,
36
+ labels: l.array
37
+ };
38
+ export {
39
+ C as default
40
+ };
41
+ //# sourceMappingURL=ReadOnlyChips.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReadOnlyChips.mjs","sources":["../../../src/lib/components/ReadOnlyChips/ReadOnlyChips.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 from 'react'\nimport { Form } from 'react-final-form'\nimport { createForm } from 'final-form'\nimport PropTypes from 'prop-types'\nimport arrayMutators from 'final-form-arrays'\n\nimport { FormChipCell } from '../index'\n\nimport { getChipOptions } from '../../utils/chips.util'\nimport { setFieldState } from '../../utils/form.util'\nimport { CHIP_OPTIONS } from '../../types'\n\nconst defaultChipOptions = getChipOptions('metrics')\n\nconst ReadOnlyChips = ({ chipOptions = defaultChipOptions, labels = [], ...args }) => {\n const formRef = React.useRef(\n createForm({\n initialValues: { labels: labels },\n mutators: { ...arrayMutators, setFieldState },\n onSubmit: () => {}\n })\n )\n\n return (\n <Form form={formRef.current} onSubmit={() => {}}>\n {formState => {\n return (\n <FormChipCell\n chipOptions={chipOptions}\n formState={formState}\n isEditable={false}\n initialValues={formState.initialValues}\n name=\"labels\"\n {...args}\n />\n )\n }}\n </Form>\n )\n}\n\nReadOnlyChips.propTypes = {\n chipOptions: CHIP_OPTIONS,\n labels: PropTypes.array\n}\n\nexport default ReadOnlyChips\n"],"names":["defaultChipOptions","getChipOptions","ReadOnlyChips","chipOptions","labels","args","formRef","React","createForm","arrayMutators","setFieldState","Form","formState","jsx","FormChipCell","CHIP_OPTIONS","PropTypes"],"mappings":";;;;;;;;;;;AA+BA,MAAMA,IAAqBC,EAAe,SAAS,GAE7CC,IAAgB,CAAC,EAAE,aAAAC,IAAcH,GAAoB,QAAAI,IAAS,CAAC,GAAG,GAAGC,QAAW;AACpF,QAAMC,IAAUC,EAAM;AAAA,IACpBC,EAAW;AAAA,MACT,eAAe,EAAE,QAAAJ,EAAe;AAAA,MAChC,UAAU,EAAE,GAAGK,GAAe,eAAAC,EAAc;AAAA,MAC5C,UAAU,MAAM;AAAA,MAAA;AAAA,IACjB,CAAA;AAAA,EACH;AAEA,2BACGC,GAAK,EAAA,MAAML,EAAQ,SAAS,UAAU,MAAM;AAAA,EAAA,GAC1C,UAAa,CAAAM,MAEV,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,aAAAX;AAAA,MACA,WAAAS;AAAA,MACA,YAAY;AAAA,MACZ,eAAeA,EAAU;AAAA,MACzB,MAAK;AAAA,MACJ,GAAGP;AAAA,IAAA;AAAA,EACN,GAGN;AAEJ;AAEAH,EAAc,YAAY;AAAA,EACxB,aAAaa;AAAA,EACb,QAAQC,EAAU;AACpB;"}
@@ -1 +1 @@
1
- {"version":3,"file":"TableCell.d.ts","sourceRoot":"","sources":["../../../src/lib/components/TableCell/TableCell.jsx"],"names":[],"mappings":";AAkCA;;;;;;;;;;;gBAyHC"}
1
+ {"version":3,"file":"TableCell.d.ts","sourceRoot":"","sources":["../../../src/lib/components/TableCell/TableCell.jsx"],"names":[],"mappings":";AAkCA;;;;;;;;;;;gBA6HC"}
@@ -1,12 +1,12 @@
1
- import { jsx as t, jsxs as C } from "react/jsx-runtime";
1
+ import { jsx as s, jsxs as C } from "react/jsx-runtime";
2
2
  import { cloneElement as T } from "react";
3
- import s from "prop-types";
3
+ import t from "prop-types";
4
4
  import c from "classnames";
5
- import j from "../ChipCell/ChipCell.mjs";
5
+ import i from "../Tooltip/Tooltip.mjs";
6
+ import j from "../ReadOnlyChips/ReadOnlyChips.mjs";
6
7
  import I from "../../elements/TableLinkCell/TableLinkCell.mjs";
7
8
  import O from "../../elements/TableTypeCell/TableTypeCell.mjs";
8
- import i from "../TooltipTemplate/TextTooltipTemplate.mjs";
9
- import p from "../Tooltip/Tooltip.mjs";
9
+ import p from "../TooltipTemplate/TextTooltipTemplate.mjs";
10
10
  import { getChipOptions as A } from "../../utils/chips.util.mjs";
11
11
  import { truncateUid as L } from "../../utils/string.util.mjs";
12
12
  import _ from "../../images/arrow.svg.mjs";
@@ -19,11 +19,11 @@ const g = ({
19
19
  onClick: d = null,
20
20
  selectItem: y = () => {
21
21
  },
22
- selectedItem: N = {},
22
+ selectedItem: b = {},
23
23
  showExpandButton: a = !1,
24
24
  toggleRow: u = null
25
25
  }) => {
26
- const { value: b, label: f, className: v } = r.state ?? {}, o = c(
26
+ const { value: N, label: f, className: v } = r.state ?? {}, o = c(
27
27
  "table-body__cell",
28
28
  e.className,
29
29
  m,
@@ -32,7 +32,7 @@ const g = ({
32
32
  );
33
33
  return e.template ? T(e.template, {
34
34
  className: m
35
- }) : l && e.type !== "hidden" ? /* @__PURE__ */ t(
35
+ }) : l && e.type !== "hidden" ? /* @__PURE__ */ s(
36
36
  I,
37
37
  {
38
38
  className: m,
@@ -40,7 +40,7 @@ const g = ({
40
40
  item: r,
41
41
  link: l,
42
42
  selectItem: y,
43
- selectedItem: N,
43
+ selectedItem: b,
44
44
  showExpandButton: a,
45
45
  toggleRow: u
46
46
  }
@@ -50,36 +50,43 @@ const g = ({
50
50
  onClick: () => e.value && d && d(e.value),
51
51
  className: o,
52
52
  children: [
53
- /* @__PURE__ */ t("div", { className: "data-ellipsis", children: e && /* @__PURE__ */ t(
54
- p,
53
+ /* @__PURE__ */ s("div", { className: "data-ellipsis", children: e && /* @__PURE__ */ s(
54
+ i,
55
55
  {
56
- template: /* @__PURE__ */ t(i, { text: e.tooltip || e.value || "" }),
56
+ template: /* @__PURE__ */ s(p, { text: e.tooltip || e.value || "" }),
57
57
  children: e.value
58
58
  }
59
59
  ) }),
60
- r.state && b && f && /* @__PURE__ */ t(p, { className: "status", template: /* @__PURE__ */ t(i, { text: f }), children: /* @__PURE__ */ t("i", { className: v }) }),
61
- !r.state && r.status && /* @__PURE__ */ t(p, { className: "status", template: /* @__PURE__ */ t(i, { text: r.status }), children: /* @__PURE__ */ t("i", { className: `${r.status[0].toLowerCase()}${r.status.slice(1)}` }) }),
62
- a && /* @__PURE__ */ t(_, { onClick: (n) => u && u(n, r), className: "expand-arrow" })
60
+ r.state && N && f && /* @__PURE__ */ s(i, { className: "status", template: /* @__PURE__ */ s(p, { text: f }), children: /* @__PURE__ */ s("i", { className: v }) }),
61
+ !r.state && r.status && /* @__PURE__ */ s(i, { className: "status", template: /* @__PURE__ */ s(p, { text: r.status }), children: /* @__PURE__ */ s("i", { className: `${r.status[0].toLowerCase()}${r.status.slice(1)}` }) }),
62
+ a && /* @__PURE__ */ s(_, { onClick: (n) => u && u(n, r), className: "expand-arrow" })
63
63
  ]
64
64
  }
65
- ) : e.type === "type" ? /* @__PURE__ */ t(O, { className: m, cellData: e }) : e.type === "icons" ? /* @__PURE__ */ t("td", { "data-testid": e.headerId, className: o, children: e.value.map((n, x) => /* @__PURE__ */ t(
66
- p,
65
+ ) : e.type === "type" ? /* @__PURE__ */ s(O, { className: m, cellData: e }) : e.type === "icons" ? /* @__PURE__ */ s("td", { "data-testid": e.headerId, className: o, children: e.value.map((n, x) => /* @__PURE__ */ s(
66
+ i,
67
67
  {
68
- template: /* @__PURE__ */ t(i, { text: n.tooltip }),
68
+ template: /* @__PURE__ */ s(p, { text: n.tooltip }),
69
69
  children: n.icon
70
70
  },
71
71
  n.tooltip + x
72
- )) }) : Array.isArray(e.value) ? /* @__PURE__ */ t("td", { "data-testid": e.headerId, className: o, children: /* @__PURE__ */ t(j, { chipOptions: A(e.type), elements: e.value, tooltip: !0 }) }) : e.type === "hash" ? /* @__PURE__ */ t("td", { "data-testid": e.headerId, className: o, children: /* @__PURE__ */ t(p, { template: /* @__PURE__ */ t(i, { text: e.value }), children: /* @__PURE__ */ t("span", { children: L(e.value) }) }) }) : e.type === "hidden" ? null : e.type === "component" ? /* @__PURE__ */ t("td", { "data-testid": e.headerId, className: o, children: e.value }) : /* @__PURE__ */ t(
72
+ )) }) : Array.isArray(e.value) ? /* @__PURE__ */ s("td", { "data-testid": e.headerId, className: o, children: /* @__PURE__ */ s(
73
+ j,
74
+ {
75
+ chipOptions: A(e.type),
76
+ labels: e.value,
77
+ shortChips: !0
78
+ }
79
+ ) }) : e.type === "hash" ? /* @__PURE__ */ s("td", { "data-testid": e.headerId, className: o, children: /* @__PURE__ */ s(i, { template: /* @__PURE__ */ s(p, { text: e.value }), children: /* @__PURE__ */ s("span", { children: L(e.value) }) }) }) : e.type === "hidden" ? null : e.type === "component" ? /* @__PURE__ */ s("td", { "data-testid": e.headerId, className: o, children: e.value }) : /* @__PURE__ */ s(
73
80
  "td",
74
81
  {
75
82
  "data-testid": e == null ? void 0 : e.headerId,
76
83
  className: o,
77
84
  onClick: () => e.value && d && d(e.value),
78
- children: /* @__PURE__ */ t(
79
- p,
85
+ children: /* @__PURE__ */ s(
86
+ i,
80
87
  {
81
88
  className: "text_small",
82
- template: /* @__PURE__ */ t(i, { text: e.tooltip || e.value || "" }),
89
+ template: /* @__PURE__ */ s(p, { text: e.tooltip || e.value || "" }),
83
90
  children: e.value
84
91
  }
85
92
  )
@@ -87,16 +94,16 @@ const g = ({
87
94
  );
88
95
  };
89
96
  g.propTypes = {
90
- cellData: s.object.isRequired,
91
- className: s.string,
92
- firstCell: s.bool,
93
- item: s.oneOfType([s.object, s.bool]),
94
- link: s.oneOfType([s.string, s.bool]),
95
- onClick: s.func,
96
- selectItem: s.func,
97
- selectedItem: s.object,
98
- showExpandButton: s.bool,
99
- toggleRow: s.func
97
+ cellData: t.object.isRequired,
98
+ className: t.string,
99
+ firstCell: t.bool,
100
+ item: t.oneOfType([t.object, t.bool]),
101
+ link: t.oneOfType([t.string, t.bool]),
102
+ onClick: t.func,
103
+ selectItem: t.func,
104
+ selectedItem: t.object,
105
+ showExpandButton: t.bool,
106
+ toggleRow: t.func
100
107
  };
101
108
  export {
102
109
  g as default
@@ -1 +1 @@
1
- {"version":3,"file":"TableCell.mjs","sources":["../../../src/lib/components/TableCell/TableCell.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, { cloneElement } from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\n\nimport ChipCell from '../ChipCell/ChipCell'\nimport TableLinkCell from '../../elements/TableLinkCell/TableLinkCell'\nimport TableTypeCell from '../../elements/TableTypeCell/TableTypeCell'\nimport TextTooltipTemplate from '../TooltipTemplate/TextTooltipTemplate'\nimport Tooltip from '../Tooltip/Tooltip'\n\nimport { getChipOptions } from '../../utils/chips.util'\nimport { truncateUid } from '../../utils/string.util'\n\nimport Arrow from '../../images/arrow.svg?react'\n\nconst TableCell = ({\n cellData,\n className = '',\n firstCell = false,\n item,\n link = '',\n onClick = null,\n selectItem = () => {},\n selectedItem = {},\n showExpandButton = false,\n toggleRow = null\n}) => {\n const { value: stateValue, label: stateLabel, className: stateClassName } = item.state ?? {}\n const cellClassNames = classnames(\n 'table-body__cell',\n cellData.className,\n className,\n cellData.bodyCellClassName,\n onClick && 'link'\n )\n\n if (cellData.template) {\n return cloneElement(cellData.template, {\n className\n })\n } else if (link && cellData.type !== 'hidden') {\n return (\n <TableLinkCell\n className={className}\n cellData={cellData}\n item={item}\n link={link}\n selectItem={selectItem}\n selectedItem={selectedItem}\n showExpandButton={showExpandButton}\n toggleRow={toggleRow}\n />\n )\n } else if (firstCell && !link) {\n return (\n <td\n onClick={() => cellData.value && onClick && onClick(cellData.value)}\n className={cellClassNames}\n >\n <div className=\"data-ellipsis\">\n {cellData && (\n <Tooltip\n template={<TextTooltipTemplate text={cellData.tooltip || cellData.value || ''} />}\n >\n {cellData.value}\n </Tooltip>\n )}\n </div>\n {item.state && stateValue && stateLabel && (\n <Tooltip className=\"status\" template={<TextTooltipTemplate text={stateLabel} />}>\n <i className={stateClassName} />\n </Tooltip>\n )}\n {!item.state && item.status && (\n <Tooltip className=\"status\" template={<TextTooltipTemplate text={item.status} />}>\n <i className={`${item.status[0].toLowerCase()}${item.status.slice(1)}`} />\n </Tooltip>\n )}\n {showExpandButton && (\n <Arrow onClick={e => toggleRow && toggleRow(e, item)} className=\"expand-arrow\" />\n )}\n </td>\n )\n } else if (cellData.type === 'type') {\n return <TableTypeCell className={className} cellData={cellData} />\n } else if (cellData.type === 'icons') {\n return (\n <td data-testid={cellData.headerId} className={cellClassNames}>\n {cellData.value.map((valueItem, index) => (\n <Tooltip\n key={valueItem.tooltip + index}\n template={<TextTooltipTemplate text={valueItem.tooltip} />}\n >\n {valueItem.icon}\n </Tooltip>\n ))}\n </td>\n )\n } else if (Array.isArray(cellData.value)) {\n return (\n <td data-testid={cellData.headerId} className={cellClassNames}>\n <ChipCell chipOptions={getChipOptions(cellData.type)} elements={cellData.value} tooltip />\n </td>\n )\n } else if (cellData.type === 'hash') {\n return (\n <td data-testid={cellData.headerId} className={cellClassNames}>\n <Tooltip template={<TextTooltipTemplate text={cellData.value} />}>\n <span>{truncateUid(cellData.value)}</span>\n </Tooltip>\n </td>\n )\n } else if (cellData.type === 'hidden') {\n return null\n } else if (cellData.type === 'component') {\n return (\n <td data-testid={cellData.headerId} className={cellClassNames}>\n {cellData.value}\n </td>\n )\n } else {\n return (\n <td\n data-testid={cellData?.headerId}\n className={cellClassNames}\n onClick={() => cellData.value && onClick && onClick(cellData.value)}\n >\n <Tooltip\n className=\"text_small\"\n template={<TextTooltipTemplate text={cellData.tooltip || cellData.value || ''} />}\n >\n {cellData.value}\n </Tooltip>\n </td>\n )\n }\n}\n\nTableCell.propTypes = {\n cellData: PropTypes.object.isRequired,\n className: PropTypes.string,\n firstCell: PropTypes.bool,\n item: PropTypes.oneOfType([PropTypes.object, PropTypes.bool]),\n link: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n onClick: PropTypes.func,\n selectItem: PropTypes.func,\n selectedItem: PropTypes.object,\n showExpandButton: PropTypes.bool,\n toggleRow: PropTypes.func\n}\n\nexport default TableCell\n"],"names":["TableCell","cellData","className","firstCell","item","link","onClick","selectItem","selectedItem","showExpandButton","toggleRow","stateValue","stateLabel","stateClassName","cellClassNames","classnames","cloneElement","jsx","TableLinkCell","jsxs","Tooltip","TextTooltipTemplate","Arrow","e","TableTypeCell","valueItem","index","ChipCell","getChipOptions","PropTypes"],"mappings":"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"}
1
+ {"version":3,"file":"TableCell.mjs","sources":["../../../src/lib/components/TableCell/TableCell.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, { cloneElement } from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\n\nimport Tooltip from '../Tooltip/Tooltip'\nimport ReadOnlyChips from '../ReadOnlyChips/ReadOnlyChips'\nimport TableLinkCell from '../../elements/TableLinkCell/TableLinkCell'\nimport TableTypeCell from '../../elements/TableTypeCell/TableTypeCell'\nimport TextTooltipTemplate from '../TooltipTemplate/TextTooltipTemplate'\n\nimport { getChipOptions } from '../../utils/chips.util'\nimport { truncateUid } from '../../utils/string.util'\n\nimport Arrow from '../../images/arrow.svg?react'\n\nconst TableCell = ({\n cellData,\n className = '',\n firstCell = false,\n item,\n link = '',\n onClick = null,\n selectItem = () => {},\n selectedItem = {},\n showExpandButton = false,\n toggleRow = null\n}) => {\n const { value: stateValue, label: stateLabel, className: stateClassName } = item.state ?? {}\n const cellClassNames = classnames(\n 'table-body__cell',\n cellData.className,\n className,\n cellData.bodyCellClassName,\n onClick && 'link'\n )\n\n if (cellData.template) {\n return cloneElement(cellData.template, {\n className\n })\n } else if (link && cellData.type !== 'hidden') {\n return (\n <TableLinkCell\n className={className}\n cellData={cellData}\n item={item}\n link={link}\n selectItem={selectItem}\n selectedItem={selectedItem}\n showExpandButton={showExpandButton}\n toggleRow={toggleRow}\n />\n )\n } else if (firstCell && !link) {\n return (\n <td\n onClick={() => cellData.value && onClick && onClick(cellData.value)}\n className={cellClassNames}\n >\n <div className=\"data-ellipsis\">\n {cellData && (\n <Tooltip\n template={<TextTooltipTemplate text={cellData.tooltip || cellData.value || ''} />}\n >\n {cellData.value}\n </Tooltip>\n )}\n </div>\n {item.state && stateValue && stateLabel && (\n <Tooltip className=\"status\" template={<TextTooltipTemplate text={stateLabel} />}>\n <i className={stateClassName} />\n </Tooltip>\n )}\n {!item.state && item.status && (\n <Tooltip className=\"status\" template={<TextTooltipTemplate text={item.status} />}>\n <i className={`${item.status[0].toLowerCase()}${item.status.slice(1)}`} />\n </Tooltip>\n )}\n {showExpandButton && (\n <Arrow onClick={e => toggleRow && toggleRow(e, item)} className=\"expand-arrow\" />\n )}\n </td>\n )\n } else if (cellData.type === 'type') {\n return <TableTypeCell className={className} cellData={cellData} />\n } else if (cellData.type === 'icons') {\n return (\n <td data-testid={cellData.headerId} className={cellClassNames}>\n {cellData.value.map((valueItem, index) => (\n <Tooltip\n key={valueItem.tooltip + index}\n template={<TextTooltipTemplate text={valueItem.tooltip} />}\n >\n {valueItem.icon}\n </Tooltip>\n ))}\n </td>\n )\n } else if (Array.isArray(cellData.value)) {\n return (\n <td data-testid={cellData.headerId} className={cellClassNames}>\n <ReadOnlyChips\n chipOptions={getChipOptions(cellData.type)}\n labels={cellData.value}\n shortChips\n />\n </td>\n )\n } else if (cellData.type === 'hash') {\n return (\n <td data-testid={cellData.headerId} className={cellClassNames}>\n <Tooltip template={<TextTooltipTemplate text={cellData.value} />}>\n <span>{truncateUid(cellData.value)}</span>\n </Tooltip>\n </td>\n )\n } else if (cellData.type === 'hidden') {\n return null\n } else if (cellData.type === 'component') {\n return (\n <td data-testid={cellData.headerId} className={cellClassNames}>\n {cellData.value}\n </td>\n )\n } else {\n return (\n <td\n data-testid={cellData?.headerId}\n className={cellClassNames}\n onClick={() => cellData.value && onClick && onClick(cellData.value)}\n >\n <Tooltip\n className=\"text_small\"\n template={<TextTooltipTemplate text={cellData.tooltip || cellData.value || ''} />}\n >\n {cellData.value}\n </Tooltip>\n </td>\n )\n }\n}\n\nTableCell.propTypes = {\n cellData: PropTypes.object.isRequired,\n className: PropTypes.string,\n firstCell: PropTypes.bool,\n item: PropTypes.oneOfType([PropTypes.object, PropTypes.bool]),\n link: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n onClick: PropTypes.func,\n selectItem: PropTypes.func,\n selectedItem: PropTypes.object,\n showExpandButton: PropTypes.bool,\n toggleRow: PropTypes.func\n}\n\nexport default TableCell\n"],"names":["TableCell","cellData","className","firstCell","item","link","onClick","selectItem","selectedItem","showExpandButton","toggleRow","stateValue","stateLabel","stateClassName","cellClassNames","classnames","cloneElement","jsx","TableLinkCell","jsxs","Tooltip","TextTooltipTemplate","Arrow","e","TableTypeCell","valueItem","index","ReadOnlyChips","getChipOptions","PropTypes"],"mappings":"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"}
@@ -1,8 +1,6 @@
1
1
  import ActionsMenu from './ActionsMenu/ActionsMenu';
2
2
  import BlockerSpy from './BlockerSpy/BlockerSpy';
3
3
  import Button from './Button/Button';
4
- import Chip from './Chip/Chip';
5
- import ChipCell from './ChipCell/ChipCell';
6
4
  import ConfirmDialog from './ConfirmDialog/ConfirmDialog';
7
5
  import CopyToClipboard from './CopyToClipboard/CopyToClipboard';
8
6
  import ErrorMessage from './ErrorMessage/ErrorMessage';
@@ -21,6 +19,7 @@ import Loader from './Loader/Loader';
21
19
  import LoaderForSuspenseFallback from './Loader/LoaderForSuspenseFallback';
22
20
  import Modal from './Modal/Modal';
23
21
  import PopUpDialog from './PopUpDialog/PopUpDialog';
22
+ import ReadOnlyChips from './ReadOnlyChips/ReadOnlyChips';
24
23
  import RoundedIcon from './RoundedIcon/RoundedIcon';
25
24
  import TableCell from './TableCell/TableCell';
26
25
  import TabsSlider from './TabsSlider/TabsSlider';
@@ -28,5 +27,5 @@ import TextTooltipTemplate from './TooltipTemplate/TextTooltipTemplate';
28
27
  import Tip from './Tip/Tip';
29
28
  import Tooltip from './Tooltip/Tooltip';
30
29
  import Wizard from './Wizard/Wizard';
31
- export { ActionsMenu, BlockerSpy, Button, Chip, ChipCell, ConfirmDialog, CopyToClipboard, ErrorMessage, FormCheckBox, FormChipCell, FormCombobox, FormInput, FormKeyValueTable, FormOnChange, FormRadio, FormSelect, FormTextarea, FormToggle, LoadButton, Loader, LoaderForSuspenseFallback, Modal, PopUpDialog, RoundedIcon, TableCell, TabsSlider, TextTooltipTemplate, Tip, Tooltip, 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 };
32
31
  //# 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;iBACnB,aAAa;qBACT,qBAAqB;0BAChB,+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;wBAC3B,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;wBACT,2BAA2B;0BACzB,+BAA+B;wBACjC,2BAA2B;sBAC7B,uBAAuB;uBACtB,yBAAyB;gCAChB,uCAAuC;gBACvD,WAAW;oBACP,mBAAmB;mBACpB,iBAAiB"}
@@ -1,63 +1,61 @@
1
1
  import { default as r } 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
- import { default as m } from "./Chip/Chip.mjs";
5
- import { default as u } from "./ChipCell/ChipCell.mjs";
6
- import { default as x } from "./ConfirmDialog/ConfirmDialog.mjs";
7
- import { default as C } from "./CopyToClipboard/CopyToClipboard.mjs";
8
- import { default as n } from "./ErrorMessage/ErrorMessage.mjs";
9
- import { default as b } from "./FormCheckBox/FormCheckBox.mjs";
10
- import { default as g } from "./FormChipCell/FormChipCell.mjs";
11
- import { default as B } from "./FormCombobox/FormCombobox.mjs";
12
- import { default as k } from "./FormInput/FormInput.mjs";
13
- import { default as L } from "./FormKeyValueTable/FormKeyValueTable.mjs";
14
- import { default as D } from "./FormOnChange/FormOnChange.mjs";
15
- import { default as R } from "./FormRadio/FormRadio.mjs";
16
- import { default as A } from "./FormSelect/FormSelect.mjs";
17
- import { default as K } from "./FormTextarea/FormTextarea.mjs";
18
- import { default as P } from "./FormToggle/FormToggle.mjs";
19
- import { default as V } from "./LoadButton/LoadButton.mjs";
20
- import { default as j } from "./Loader/Loader.mjs";
21
- import { default as v } from "./Loader/LoaderForSuspenseFallback.mjs";
22
- import { default as G } from "./Modal/Modal.mjs";
23
- import { default as J } from "./PopUpDialog/PopUpDialog.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 ro } from "./Tip/Tip.mjs";
29
- import { default as to } from "./Tooltip/Tooltip.mjs";
30
- import { default as lo } from "./Wizard/Wizard.mjs";
4
+ import { default as p } from "./ConfirmDialog/ConfirmDialog.mjs";
5
+ import { default as s } from "./CopyToClipboard/CopyToClipboard.mjs";
6
+ import { default as x } from "./ErrorMessage/ErrorMessage.mjs";
7
+ import { default as n } from "./FormCheckBox/FormCheckBox.mjs";
8
+ import { default as T } from "./FormChipCell/FormChipCell.mjs";
9
+ import { default as b } from "./FormCombobox/FormCombobox.mjs";
10
+ import { default as g } from "./FormInput/FormInput.mjs";
11
+ import { default as y } from "./FormKeyValueTable/FormKeyValueTable.mjs";
12
+ import { default as S } from "./FormOnChange/FormOnChange.mjs";
13
+ import { default as L } from "./FormRadio/FormRadio.mjs";
14
+ import { default as R } from "./FormSelect/FormSelect.mjs";
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";
31
30
  export {
32
31
  r as ActionsMenu,
33
32
  t as BlockerSpy,
34
33
  l as Button,
35
- m as Chip,
36
- u as ChipCell,
37
- x as ConfirmDialog,
38
- C as CopyToClipboard,
39
- n as ErrorMessage,
40
- b as FormCheckBox,
41
- g as FormChipCell,
42
- B as FormCombobox,
43
- k as FormInput,
44
- L as FormKeyValueTable,
45
- D as FormOnChange,
46
- R as FormRadio,
47
- A as FormSelect,
48
- K as FormTextarea,
49
- P as FormToggle,
50
- V as LoadButton,
51
- j as Loader,
52
- v as LoaderForSuspenseFallback,
53
- G as Modal,
54
- J as PopUpDialog,
55
- Q as RoundedIcon,
56
- Y as TableCell,
57
- _ as TabsSlider,
58
- oo as TextTooltipTemplate,
59
- ro as Tip,
60
- to as Tooltip,
61
- lo as Wizard
34
+ p as ConfirmDialog,
35
+ s as CopyToClipboard,
36
+ x as ErrorMessage,
37
+ n as FormCheckBox,
38
+ T as FormChipCell,
39
+ b as FormCombobox,
40
+ g as FormInput,
41
+ y as FormKeyValueTable,
42
+ S as FormOnChange,
43
+ L as FormRadio,
44
+ R as FormSelect,
45
+ 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
62
60
  };
63
61
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useChipCell.hook.d.ts","sourceRoot":"","sources":["../../src/lib/hooks/useChipCell.hook.js"],"names":[],"mappings":"AA6BO;;;;;;;;;;;EAyJN"}
1
+ {"version":3,"file":"useChipCell.hook.d.ts","sourceRoot":"","sources":["../../src/lib/hooks/useChipCell.hook.js"],"names":[],"mappings":"AA6BO;;;;;;;;;;;EAoKN"}
@@ -1,68 +1,71 @@
1
- import { useState as h, useMemo as k, useRef as d, useCallback as b, useEffect as C, useLayoutEffect as N } from "react";
2
- import { throttle as P } from "lodash";
3
- import { getScssVariableValue as x, getTransitionEndEventName as D, isEveryObjectValueEmpty as F } from "../utils/common.util.mjs";
4
- import { getFirstScrollableParent as T } from "../utils/getFirstScrollableParent.util.mjs";
5
- const K = (s, E, R) => {
6
- const [o, c] = h(!1), [a, z] = h({}), [j, y] = h(!1), [L, O] = h(0), [V, H] = h(8), S = k(
7
- () => parseInt(x("--chipBlockMarginRight")),
1
+ import { useState as h, useMemo as V, useRef as w, useCallback as R, useEffect as m, useLayoutEffect as A } from "react";
2
+ import { throttle as G } from "lodash";
3
+ import { getScssVariableValue as J, getTransitionEndEventName as K, isEveryObjectValueEmpty as Q } from "../utils/common.util.mjs";
4
+ import { getFirstScrollableParent as X } from "../utils/getFirstScrollableParent.util.mjs";
5
+ const M = (i, z, B) => {
6
+ const [o, u] = h(!1), [v, H] = h({}), [I, j] = h(!1), [W, x] = h(0), [N, O] = h(8), E = V(
7
+ () => parseInt(J("--chipBlockMarginRight")),
8
8
  []
9
- ), p = k(() => D(), []), f = d(), I = d(), u = d(), r = d(), g = b(
9
+ ), S = V(() => K(), []), a = w(), P = w(), c = w(), n = w(), f = R(
10
10
  (e) => {
11
- var l, n;
12
- (!s || s && E) && ((l = u.current) != null && l.contains(e.target) && !o ? c(!0) : c(!1)), e && ((n = u.current) != null && n.contains(e.target)) && e.stopPropagation();
11
+ var s, r;
12
+ (!i || i && z) && ((s = c.current) != null && s.contains(e.target) && !o ? u(!0) : u(!1)), e && ((r = c.current) != null && r.contains(e.target)) && e.stopPropagation();
13
13
  },
14
- [s, o, E]
14
+ [i, o, z]
15
15
  );
16
- C(() => (o && window.addEventListener("click", g, !0), () => window.removeEventListener("click", g, !0)), [o, g]), C(() => {
16
+ m(() => (o && window.addEventListener("click", f, !0), () => window.removeEventListener("click", f, !0)), [o, f]), m(() => {
17
17
  var e;
18
- (e = f.current) != null && e.getBoundingClientRect().width && O((l) => {
19
- var n;
20
- if (!l)
21
- return (n = f.current) == null ? void 0 : n.getBoundingClientRect().width;
18
+ (e = a.current) != null && e.getBoundingClientRect().width && x((s) => {
19
+ var r;
20
+ if (!s)
21
+ return (r = a.current) == null ? void 0 : r.getBoundingClientRect().width;
22
22
  });
23
23
  }, []);
24
- const m = b(
24
+ const b = R(
25
25
  (e) => {
26
- e.target.parentElement !== (r == null ? void 0 : r.current) && c(!1);
26
+ e.target.parentElement !== (n == null ? void 0 : n.current) && u(!1);
27
27
  },
28
- [r]
28
+ [n]
29
29
  );
30
- C(() => (o && window.addEventListener("scroll", m, !0), () => window.removeEventListener("scroll", m, !0)), [m, o]);
31
- const w = b(() => {
32
- var e, l;
33
- if (r != null && r.current) {
34
- const i = T(u.current.offsetParent).getBoundingClientRect(), t = (e = u.current) == null ? void 0 : e.getBoundingClientRect();
35
- (t.left < i.left || t.top < i.top || t.right > i.right || t.bottom > i.bottom || t.right > window.innerWidth || t.bottom > window.innerHeight) && c(!1);
30
+ m(() => (o && window.addEventListener("scroll", b, !0), () => window.removeEventListener("scroll", b, !0)), [b, o]);
31
+ const d = R(() => {
32
+ var e, s, r;
33
+ if (n != null && n.current) {
34
+ const l = X(c.current.offsetParent).getBoundingClientRect(), t = (e = c.current) == null ? void 0 : e.getBoundingClientRect();
35
+ (t.left < l.left || t.top < l.top || t.right > l.right || t.bottom > l.bottom || t.right > window.innerWidth || t.bottom > window.innerHeight) && u(!1);
36
36
  }
37
- if (!s && !F(a)) {
38
- const n = R ? L : (l = f.current) == null ? void 0 : l.getBoundingClientRect().width;
39
- let i = 0, t = 0;
40
- const W = 65;
41
- Object.values(a).every((v, B) => i + v > n || Object.values(a).length > 1 && i + v + S + W > n ? (t = B, !1) : (i += v, B === Object.values(a).length - 1 && (t = 8), !0)), H(t), y(!0);
37
+ if (!i && !Q(v)) {
38
+ const L = B ? W : (s = a.current) == null ? void 0 : s.getBoundingClientRect().width, l = (((r = c.current) == null ? void 0 : r.getBoundingClientRect().width) ?? 0) + E;
39
+ let t = 0, g = 0;
40
+ const C = Object.values(v);
41
+ C.every((D, k) => {
42
+ const F = D + E, y = k === C.length - 1, p = t + F, T = p + l > L, q = p > L;
43
+ return T ? y && !q ? (t = p, g = C.length, !0) : (g = k, !1) : (t = p, y && (g = C.length), !0);
44
+ }), O(g), j(!0);
42
45
  }
43
- }, [S, L, a, s, R]);
44
- return N(() => {
45
- w();
46
- }, [w]), C(() => {
47
- const e = P(w, 500);
48
- if (!s)
49
- return window.addEventListener("resize", e), window.addEventListener(p, e), () => {
50
- window.removeEventListener("resize", e), window.removeEventListener(p, e);
46
+ }, [E, W, v, i, B]);
47
+ return A(() => {
48
+ d();
49
+ }, [d]), m(() => {
50
+ const e = G(d, 500);
51
+ if (!i)
52
+ return window.addEventListener("resize", e), window.addEventListener(S, e), () => {
53
+ window.removeEventListener("resize", e), window.removeEventListener(S, e);
51
54
  };
52
- }, [w, s, p]), {
53
- chipsCellRef: f,
54
- chipsWrapperRef: I,
55
- handleShowElements: g,
56
- hiddenChipsCounterRef: u,
57
- hiddenChipsPopUpRef: r,
58
- setChipsSizes: z,
59
- setShowHiddenChips: c,
60
- showChips: j,
55
+ }, [d, i, S]), {
56
+ chipsCellRef: a,
57
+ chipsWrapperRef: P,
58
+ handleShowElements: f,
59
+ hiddenChipsCounterRef: c,
60
+ hiddenChipsPopUpRef: n,
61
+ setChipsSizes: H,
62
+ setShowHiddenChips: u,
63
+ showChips: I,
61
64
  showHiddenChips: o,
62
- visibleChipsCount: V
65
+ visibleChipsCount: N
63
66
  };
64
67
  };
65
68
  export {
66
- K as useChipCell
69
+ M as useChipCell
67
70
  };
68
71
  //# sourceMappingURL=useChipCell.hook.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"useChipCell.hook.mjs","sources":["../../src/lib/hooks/useChipCell.hook.js"],"sourcesContent":["/*\nCopyright 2019 Iguazio Systems Ltd.\n\nLicensed under the Apache License, Version 2.0 (the \"License\") with\nan addition restriction as set forth herein. You may not use this\nfile except in compliance with the License. You may obtain a copy of\nthe License at http://www.apache.org/licenses/LICENSE-2.0.\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\nimplied. See the License for the specific language governing\npermissions and limitations under the License.\n\nIn addition, you may not use the software for any purposes that are\nillegal under applicable law, and the grant of the foregoing license\nunder the Apache 2.0 license is conditioned upon your compliance with\nsuch restriction.\n*/\nimport { useCallback, useEffect, useMemo, useRef, useState, useLayoutEffect } from 'react'\nimport { throttle } from 'lodash'\n\nimport {\n getScssVariableValue,\n getTransitionEndEventName,\n isEveryObjectValueEmpty\n} from '../utils/common.util'\nimport { getFirstScrollableParent } from '../utils/getFirstScrollableParent.util'\n\nexport const useChipCell = (isEditMode, visibleChipsMaxLength, withInitialParentWidth) => {\n const [showHiddenChips, setShowHiddenChips] = useState(false)\n const [chipsSizes, setChipsSizes] = useState({})\n const [showChips, setShowChips] = useState(false)\n const [chipCellInitialWidth, setChipCellInitialWidth] = useState(0)\n const [visibleChipsCount, setVisibleChipsCount] = useState(8)\n\n const chipBlockMarginRight = useMemo(\n () => parseInt(getScssVariableValue('--chipBlockMarginRight')),\n []\n )\n const transitionEndEventName = useMemo(() => getTransitionEndEventName(), [])\n\n const chipsCellRef = useRef()\n const chipsWrapperRef = useRef()\n const hiddenChipsCounterRef = useRef()\n const hiddenChipsPopUpRef = useRef()\n\n const handleShowElements = useCallback(\n event => {\n if (!isEditMode || (isEditMode && visibleChipsMaxLength)) {\n if (hiddenChipsCounterRef.current?.contains(event.target) && !showHiddenChips) {\n setShowHiddenChips(true)\n } else {\n setShowHiddenChips(false)\n }\n }\n\n event && hiddenChipsCounterRef.current?.contains(event.target) && event.stopPropagation()\n },\n [isEditMode, showHiddenChips, visibleChipsMaxLength]\n )\n\n useEffect(() => {\n if (showHiddenChips) {\n window.addEventListener('click', handleShowElements, true)\n }\n\n return () => window.removeEventListener('click', handleShowElements, true)\n }, [showHiddenChips, handleShowElements])\n\n useEffect(() => {\n if (chipsCellRef.current?.getBoundingClientRect().width) {\n setChipCellInitialWidth(state => {\n if (!state) {\n return chipsCellRef.current?.getBoundingClientRect().width\n }\n })\n }\n }, [])\n\n const handleScroll = useCallback(\n event => {\n if (event.target.parentElement !== hiddenChipsPopUpRef?.current) {\n setShowHiddenChips(false)\n }\n },\n [hiddenChipsPopUpRef]\n )\n\n useEffect(() => {\n if (showHiddenChips) {\n window.addEventListener('scroll', handleScroll, true)\n }\n\n return () => window.removeEventListener('scroll', handleScroll, true)\n }, [handleScroll, showHiddenChips])\n\n const resizeChipCell = useCallback(() => {\n if (hiddenChipsPopUpRef?.current) {\n const scrollableParent = getFirstScrollableParent(hiddenChipsCounterRef.current.offsetParent)\n const scrollableParentRect = scrollableParent.getBoundingClientRect()\n const hiddenChipsCounterRect = hiddenChipsCounterRef.current?.getBoundingClientRect()\n\n // Check if the hiddenChipsCounterRect is outside the boundaries of the scrollableParentRect or the window\n if (\n hiddenChipsCounterRect.left < scrollableParentRect.left ||\n hiddenChipsCounterRect.top < scrollableParentRect.top ||\n hiddenChipsCounterRect.right > scrollableParentRect.right ||\n hiddenChipsCounterRect.bottom > scrollableParentRect.bottom ||\n hiddenChipsCounterRect.right > window.innerWidth ||\n hiddenChipsCounterRect.bottom > window.innerHeight\n ) {\n setShowHiddenChips(false)\n }\n }\n\n if (!isEditMode && !isEveryObjectValueEmpty(chipsSizes)) {\n const parentSize = withInitialParentWidth\n ? chipCellInitialWidth\n : chipsCellRef.current?.getBoundingClientRect().width\n\n let maxLength = 0\n let chipIndex = 0\n const padding = 65\n\n Object.values(chipsSizes).every((chipSize, index) => {\n // Check if adding chipSize to maxLength exceeds parentSize\n // or if adding chipSize and padding exceeds parentSize when there are multiple chips\n if (\n maxLength + chipSize > parentSize ||\n (Object.values(chipsSizes).length > 1 &&\n maxLength + chipSize + chipBlockMarginRight + padding > parentSize)\n ) {\n chipIndex = index\n\n return false\n } else {\n maxLength += chipSize\n\n if (index === Object.values(chipsSizes).length - 1) {\n chipIndex = 8\n }\n\n return true\n }\n })\n\n setVisibleChipsCount(chipIndex)\n setShowChips(true)\n }\n }, [chipBlockMarginRight, chipCellInitialWidth, chipsSizes, isEditMode, withInitialParentWidth])\n\n useLayoutEffect(() => {\n resizeChipCell()\n }, [resizeChipCell])\n\n useEffect(() => {\n const resizeChipCellDebounced = throttle(resizeChipCell, 500)\n\n if (!isEditMode) {\n window.addEventListener('resize', resizeChipCellDebounced)\n window.addEventListener(transitionEndEventName, resizeChipCellDebounced)\n\n return () => {\n window.removeEventListener('resize', resizeChipCellDebounced)\n window.removeEventListener(transitionEndEventName, resizeChipCellDebounced)\n }\n }\n }, [resizeChipCell, isEditMode, transitionEndEventName])\n\n return {\n chipsCellRef,\n chipsWrapperRef,\n handleShowElements,\n hiddenChipsCounterRef,\n hiddenChipsPopUpRef,\n setChipsSizes,\n setShowHiddenChips,\n showChips,\n showHiddenChips,\n visibleChipsCount\n }\n}\n"],"names":["useChipCell","isEditMode","visibleChipsMaxLength","withInitialParentWidth","showHiddenChips","setShowHiddenChips","useState","chipsSizes","setChipsSizes","showChips","setShowChips","chipCellInitialWidth","setChipCellInitialWidth","visibleChipsCount","setVisibleChipsCount","chipBlockMarginRight","useMemo","getScssVariableValue","transitionEndEventName","getTransitionEndEventName","chipsCellRef","useRef","chipsWrapperRef","hiddenChipsCounterRef","hiddenChipsPopUpRef","handleShowElements","useCallback","event","_a","_b","useEffect","state","handleScroll","resizeChipCell","scrollableParentRect","getFirstScrollableParent","hiddenChipsCounterRect","isEveryObjectValueEmpty","parentSize","maxLength","chipIndex","padding","chipSize","index","useLayoutEffect","resizeChipCellDebounced","throttle"],"mappings":"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"}
1
+ {"version":3,"file":"useChipCell.hook.mjs","sources":["../../src/lib/hooks/useChipCell.hook.js"],"sourcesContent":["/*\nCopyright 2019 Iguazio Systems Ltd.\n\nLicensed under the Apache License, Version 2.0 (the \"License\") with\nan addition restriction as set forth herein. You may not use this\nfile except in compliance with the License. You may obtain a copy of\nthe License at http://www.apache.org/licenses/LICENSE-2.0.\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\nimplied. See the License for the specific language governing\npermissions and limitations under the License.\n\nIn addition, you may not use the software for any purposes that are\nillegal under applicable law, and the grant of the foregoing license\nunder the Apache 2.0 license is conditioned upon your compliance with\nsuch restriction.\n*/\nimport { useCallback, useEffect, useMemo, useRef, useState, useLayoutEffect } from 'react'\nimport { throttle } from 'lodash'\n\nimport {\n getScssVariableValue,\n getTransitionEndEventName,\n isEveryObjectValueEmpty\n} from '../utils/common.util'\nimport { getFirstScrollableParent } from '../utils/getFirstScrollableParent.util'\n\nexport const useChipCell = (isEditMode, visibleChipsMaxLength, withInitialParentWidth) => {\n const [showHiddenChips, setShowHiddenChips] = useState(false)\n const [chipsSizes, setChipsSizes] = useState({})\n const [showChips, setShowChips] = useState(false)\n const [chipCellInitialWidth, setChipCellInitialWidth] = useState(0)\n const [visibleChipsCount, setVisibleChipsCount] = useState(8)\n\n const chipBlockMarginRight = useMemo(\n () => parseInt(getScssVariableValue('--chipBlockMarginRight')),\n []\n )\n const transitionEndEventName = useMemo(() => getTransitionEndEventName(), [])\n\n const chipsCellRef = useRef()\n const chipsWrapperRef = useRef()\n const hiddenChipsCounterRef = useRef()\n const hiddenChipsPopUpRef = useRef()\n\n const handleShowElements = useCallback(\n event => {\n if (!isEditMode || (isEditMode && visibleChipsMaxLength)) {\n if (hiddenChipsCounterRef.current?.contains(event.target) && !showHiddenChips) {\n setShowHiddenChips(true)\n } else {\n setShowHiddenChips(false)\n }\n }\n\n event && hiddenChipsCounterRef.current?.contains(event.target) && event.stopPropagation()\n },\n [isEditMode, showHiddenChips, visibleChipsMaxLength]\n )\n\n useEffect(() => {\n if (showHiddenChips) {\n window.addEventListener('click', handleShowElements, true)\n }\n\n return () => window.removeEventListener('click', handleShowElements, true)\n }, [showHiddenChips, handleShowElements])\n\n useEffect(() => {\n if (chipsCellRef.current?.getBoundingClientRect().width) {\n setChipCellInitialWidth(state => {\n if (!state) {\n return chipsCellRef.current?.getBoundingClientRect().width\n }\n })\n }\n }, [])\n\n const handleScroll = useCallback(\n event => {\n if (event.target.parentElement !== hiddenChipsPopUpRef?.current) {\n setShowHiddenChips(false)\n }\n },\n [hiddenChipsPopUpRef]\n )\n\n useEffect(() => {\n if (showHiddenChips) {\n window.addEventListener('scroll', handleScroll, true)\n }\n\n return () => window.removeEventListener('scroll', handleScroll, true)\n }, [handleScroll, showHiddenChips])\n\n const resizeChipCell = useCallback(() => {\n if (hiddenChipsPopUpRef?.current) {\n const scrollableParent = getFirstScrollableParent(hiddenChipsCounterRef.current.offsetParent)\n const scrollableParentRect = scrollableParent.getBoundingClientRect()\n const hiddenChipsCounterRect = hiddenChipsCounterRef.current?.getBoundingClientRect()\n\n // Check if the hiddenChipsCounterRect is outside the boundaries of the scrollableParentRect or the window\n if (\n hiddenChipsCounterRect.left < scrollableParentRect.left ||\n hiddenChipsCounterRect.top < scrollableParentRect.top ||\n hiddenChipsCounterRect.right > scrollableParentRect.right ||\n hiddenChipsCounterRect.bottom > scrollableParentRect.bottom ||\n hiddenChipsCounterRect.right > window.innerWidth ||\n hiddenChipsCounterRect.bottom > window.innerHeight\n ) {\n setShowHiddenChips(false)\n }\n }\n\n if (!isEditMode && !isEveryObjectValueEmpty(chipsSizes)) {\n const parentSize = withInitialParentWidth\n ? chipCellInitialWidth\n : chipsCellRef.current?.getBoundingClientRect().width\n const hiddenChipsCounterWidth =\n (hiddenChipsCounterRef.current?.getBoundingClientRect().width ?? 0) + chipBlockMarginRight\n\n let chipsLengthSum = 0\n let chipIndex = 0\n const chipsSizesList = Object.values(chipsSizes)\n\n chipsSizesList.every((chipSize, index) => {\n const chipSizeWithMargin = chipSize + chipBlockMarginRight\n const isLastChip = index === chipsSizesList.length - 1\n const newChipsLengthSum = chipsLengthSum + chipSizeWithMargin\n const wouldExceedWithCounter = newChipsLengthSum + hiddenChipsCounterWidth > parentSize\n const wouldExceedWithoutCounter = newChipsLengthSum > parentSize\n\n // If we've exceeded the limit\n if (wouldExceedWithCounter) {\n // Special case: last chip might fit without the counter\n if (isLastChip && !wouldExceedWithoutCounter) {\n chipsLengthSum = newChipsLengthSum\n chipIndex = chipsSizesList.length\n return true\n }\n\n // Stop here - this chip doesn't fit\n chipIndex = index\n return false\n }\n\n // Chip fits, add it\n chipsLengthSum = newChipsLengthSum\n\n if (isLastChip) {\n chipIndex = chipsSizesList.length\n }\n\n return true\n })\n\n setVisibleChipsCount(chipIndex)\n setShowChips(true)\n }\n }, [chipBlockMarginRight, chipCellInitialWidth, chipsSizes, isEditMode, withInitialParentWidth])\n\n useLayoutEffect(() => {\n resizeChipCell()\n }, [resizeChipCell])\n\n useEffect(() => {\n const resizeChipCellDebounced = throttle(resizeChipCell, 500)\n\n if (!isEditMode) {\n window.addEventListener('resize', resizeChipCellDebounced)\n window.addEventListener(transitionEndEventName, resizeChipCellDebounced)\n\n return () => {\n window.removeEventListener('resize', resizeChipCellDebounced)\n window.removeEventListener(transitionEndEventName, resizeChipCellDebounced)\n }\n }\n }, [resizeChipCell, isEditMode, transitionEndEventName])\n\n return {\n chipsCellRef,\n chipsWrapperRef,\n handleShowElements,\n hiddenChipsCounterRef,\n hiddenChipsPopUpRef,\n setChipsSizes,\n setShowHiddenChips,\n showChips,\n showHiddenChips,\n visibleChipsCount\n }\n}\n"],"names":["useChipCell","isEditMode","visibleChipsMaxLength","withInitialParentWidth","showHiddenChips","setShowHiddenChips","useState","chipsSizes","setChipsSizes","showChips","setShowChips","chipCellInitialWidth","setChipCellInitialWidth","visibleChipsCount","setVisibleChipsCount","chipBlockMarginRight","useMemo","getScssVariableValue","transitionEndEventName","getTransitionEndEventName","chipsCellRef","useRef","chipsWrapperRef","hiddenChipsCounterRef","hiddenChipsPopUpRef","handleShowElements","useCallback","event","_a","_b","useEffect","state","handleScroll","resizeChipCell","scrollableParentRect","getFirstScrollableParent","hiddenChipsCounterRect","isEveryObjectValueEmpty","parentSize","hiddenChipsCounterWidth","_c","chipsLengthSum","chipIndex","chipsSizesList","chipSize","index","chipSizeWithMargin","isLastChip","newChipsLengthSum","wouldExceedWithCounter","wouldExceedWithoutCounter","useLayoutEffect","resizeChipCellDebounced","throttle"],"mappings":"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"}
@@ -1,5 +1,6 @@
1
- const t = "data:image/svg+xml,%3csvg%20width='13'%20height='14'%20viewBox='0%200%2013%2014'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20x='7.34326'%20y='0.5'%20width='13'%20height='1.5'%20transform='rotate(90%207.34326%200.5)'%20fill='%237F7989'/%3e%3crect%20width='13'%20height='1.5'%20transform='matrix(-1%20-2.18557e-08%20-2.18557e-08%201%2013%206.15723)'%20fill='%237F7989'/%3e%3c/svg%3e";
1
+ import * as t from "react";
2
+ const r = (e) => /* @__PURE__ */ t.createElement("svg", { width: 13, height: 14, viewBox: "0 0 13 14", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...e }, /* @__PURE__ */ t.createElement("rect", { x: 7.34326, y: 0.5, width: 13, height: 1.5, transform: "rotate(90 7.34326 0.5)", fill: "#7F7989" }), /* @__PURE__ */ t.createElement("rect", { width: 13, height: 1.5, transform: "matrix(-1 -2.18557e-08 -2.18557e-08 1 13 6.15723)", fill: "#7F7989" }));
2
3
  export {
3
- t as default
4
+ r as default
4
5
  };
5
6
  //# sourceMappingURL=add.svg.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"add.svg.mjs","sources":["../../src/lib/images/add.svg"],"sourcesContent":["export default \"data:image/svg+xml,%3csvg%20width='13'%20height='14'%20viewBox='0%200%2013%2014'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20x='7.34326'%20y='0.5'%20width='13'%20height='1.5'%20transform='rotate(90%207.34326%200.5)'%20fill='%237F7989'/%3e%3crect%20width='13'%20height='1.5'%20transform='matrix(-1%20-2.18557e-08%20-2.18557e-08%201%2013%206.15723)'%20fill='%237F7989'/%3e%3c/svg%3e\""],"names":["Add"],"mappings":"AAAA,MAAeA,IAAA;"}
1
+ {"version":3,"file":"add.svg.mjs","sources":["../../src/lib/images/add.svg?react"],"sourcesContent":["import * as React from \"react\";\nconst SvgAdd = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 13, height: 14, viewBox: \"0 0 13 14\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", ...props }, /* @__PURE__ */ React.createElement(\"rect\", { x: 7.34326, y: 0.5, width: 13, height: 1.5, transform: \"rotate(90 7.34326 0.5)\", fill: \"#7F7989\" }), /* @__PURE__ */ React.createElement(\"rect\", { width: 13, height: 1.5, transform: \"matrix(-1 -2.18557e-08 -2.18557e-08 1 13 6.15723)\", fill: \"#7F7989\" }));\nexport default SvgAdd;\n"],"names":["SvgAdd","props","React"],"mappings":";AACK,MAACA,IAAS,CAACC,MAA0B,gBAAAC,EAAM,cAAc,OAAO,EAAE,OAAO,IAAI,QAAQ,IAAI,SAAS,aAAa,MAAM,QAAQ,OAAO,8BAA8B,GAAGD,KAAyB,gBAAAC,EAAM,cAAc,QAAQ,EAAE,GAAG,SAAS,GAAG,KAAK,OAAO,IAAI,QAAQ,KAAK,WAAW,0BAA0B,MAAM,UAAS,CAAE,GAAmB,gBAAAA,EAAM,cAAc,QAAQ,EAAE,OAAO,IAAI,QAAQ,KAAK,WAAW,qDAAqD,MAAM,WAAW,CAAC;"}