@hazelcast/ui 1.3.2-next.0 → 1.3.2-next.13

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 (46) hide show
  1. package/lib/Calendar/Calendar.d.ts +2 -0
  2. package/lib/Calendar/Calendar.js +5 -5
  3. package/lib/Calendar/Calendar.js.map +1 -1
  4. package/lib/Checkbox.d.ts +2 -1
  5. package/lib/Checkbox.js +2 -2
  6. package/lib/Checkbox.js.map +1 -1
  7. package/lib/Code.d.ts +1 -0
  8. package/lib/Code.js +2 -2
  9. package/lib/Code.js.map +1 -1
  10. package/lib/CodeEditor.d.ts +1 -0
  11. package/lib/CodeEditor.js +2 -2
  12. package/lib/CodeEditor.js.map +1 -1
  13. package/lib/FieldHeader.js +3 -3
  14. package/lib/FieldHeader.js.map +1 -1
  15. package/lib/Link.d.ts +2 -1
  16. package/lib/Link.js +3 -2
  17. package/lib/Link.js.map +1 -1
  18. package/lib/Link.module.scss +12 -2
  19. package/lib/Popover.d.ts +2 -0
  20. package/lib/Popover.js +10 -5
  21. package/lib/Popover.js.map +1 -1
  22. package/lib/Select/SelectField.d.ts +2 -1
  23. package/lib/Select/SelectField.js +9 -2
  24. package/lib/Select/SelectField.js.map +1 -1
  25. package/lib/Select/SelectField.module.scss +0 -2
  26. package/lib/Table/Header.d.ts +4 -1
  27. package/lib/Table/Header.js +46 -7
  28. package/lib/Table/Header.js.map +1 -1
  29. package/lib/Table/Header.module.scss +19 -0
  30. package/lib/Table/Table.d.ts +19 -6
  31. package/lib/Table/Table.js +161 -36
  32. package/lib/Table/Table.js.map +1 -1
  33. package/lib/Table/Table.module.scss +23 -0
  34. package/lib/Tabs/Tab.d.ts +18 -4
  35. package/lib/Tabs/Tab.js +15 -4
  36. package/lib/Tabs/Tab.js.map +1 -1
  37. package/lib/Tooltip.d.ts +2 -2
  38. package/lib/Tooltip.js +2 -12
  39. package/lib/Tooltip.js.map +1 -1
  40. package/lib/hooks/useTableCustomizableColumns.d.ts +9 -8
  41. package/lib/hooks/useTableCustomizableColumns.js +15 -17
  42. package/lib/hooks/useTableCustomizableColumns.js.map +1 -1
  43. package/lib/utils/portal.d.ts +2 -0
  44. package/lib/utils/portal.js +15 -0
  45. package/lib/utils/portal.js.map +1 -0
  46. package/package.json +5 -5
@@ -1,23 +1,21 @@
1
- import React, { useMemo, useState } from 'react';
1
+ import React, { useCallback, useMemo, useState } from 'react';
2
2
  import { CheckableSelectField } from '../Select';
3
- export function useTableCustomizableColumns(columns, opts) {
4
- const untypedColumns = columns;
5
- const { size = 'medium', 'data-test': dataTest = 'table-custom-columns' } = opts || {};
3
+ export const selectionColumnId = 'selection';
4
+ export function useTableCustomizableColumns({ columns, visibleColumns, setHiddenColumns, dataTest = 'table-custom-columns', }) {
6
5
  // Header is used as a label
7
- const toggleableColumns = useMemo(() => untypedColumns.filter(({ Header }) => !!Header), [untypedColumns]);
8
- const options = useMemo(() => toggleableColumns.map(({ Header }) => ({
9
- value: String(Header),
6
+ const toggleableColumns = useMemo(() => columns.filter(({ Header, id, accessor, canHide = true }) => canHide && !!Header && (!!id || !!accessor)), [columns]);
7
+ const options = useMemo(() => toggleableColumns.map(({ Header, id, accessor }) => ({
8
+ value: String(id || accessor),
10
9
  label: String(Header),
11
10
  })), [toggleableColumns]);
12
- const [value, setValue] = useState(toggleableColumns.map(({ Header }) => String(Header)));
13
- const valueSet = useMemo(() => new Set(value), [value]);
14
- const toggleableColumnsSet = useMemo(() => new Set(toggleableColumns.map(({ Header }) => String(Header))), [toggleableColumns]);
15
- const tableColumns = useMemo(() => {
16
- return untypedColumns.filter(({ Header }) => (toggleableColumnsSet.has(String(Header)) ? valueSet.has(String(Header)) : true));
17
- }, [untypedColumns, valueSet, toggleableColumnsSet]);
18
- return {
19
- tableColumns: tableColumns,
20
- control: (React.createElement(CheckableSelectField, { name: "custom-columns", options: options, value: value, "data-test": dataTest, label: "Columns", onChange: setValue, size: size })),
21
- };
11
+ const onChange = useCallback((value) => {
12
+ const visibleColumns = new Set(value);
13
+ setHiddenColumns(toggleableColumns
14
+ .filter(({ id, accessor }) => !visibleColumns.has((id || accessor)))
15
+ .map(({ id, accessor }) => (id || accessor)));
16
+ setValue(value);
17
+ }, [setHiddenColumns, toggleableColumns]);
18
+ const [value, setValue] = useState(visibleColumns.filter(({ id }) => id !== selectionColumnId).map(({ id }) => id));
19
+ return (React.createElement(CheckableSelectField, { name: "custom-columns", options: options, value: value, "data-test": dataTest, label: "Columns", onChange: onChange }));
22
20
  }
23
21
  //# sourceMappingURL=useTableCustomizableColumns.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useTableCustomizableColumns.js","sourceRoot":"","sources":["../../src/hooks/useTableCustomizableColumns.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAGhD,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAIhD,MAAM,UAAU,2BAA2B,CACzC,OAAU,EACV,IAGC;IAED,MAAM,cAAc,GAAI,OAA2C,CAAA;IACnE,MAAM,EAAE,IAAI,GAAG,QAAQ,EAAE,WAAW,EAAE,QAAQ,GAAG,sBAAsB,EAAE,GAAG,IAAI,IAAI,EAAE,CAAA;IACtF,4BAA4B;IAC5B,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAA;IAC1G,MAAM,OAAO,GAAG,OAAO,CACrB,GAAG,EAAE,CACH,iBAAiB,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;QACrC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC;QACrB,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC;KACtB,CAAC,CAAC,EACL,CAAC,iBAAiB,CAAC,CACpB,CAAA;IACD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAW,iBAAiB,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IACnG,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;IACvD,MAAM,oBAAoB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,GAAG,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAA;IAC/H,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE;QAChC,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;IAChI,CAAC,EAAE,CAAC,cAAc,EAAE,QAAQ,EAAE,oBAAoB,CAAC,CAAC,CAAA;IAEpD,OAAO;QACL,YAAY,EAAG,YAA6B;QAC5C,OAAO,EAAE,CACP,oBAAC,oBAAoB,IACnB,IAAI,EAAC,gBAAgB,EACrB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,eACD,QAAQ,EACnB,KAAK,EAAC,SAAS,EACf,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,IAAI,GACV,CACH;KACF,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"useTableCustomizableColumns.js","sourceRoot":"","sources":["../../src/hooks/useTableCustomizableColumns.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAI7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAGhD,MAAM,CAAC,MAAM,iBAAiB,GAAG,WAAW,CAAA;AAE5C,MAAM,UAAU,2BAA2B,CAAmB,EAC5D,OAAO,EACP,cAAc,EACd,gBAAgB,EAChB,QAAQ,GAAG,sBAAsB,GAMlC;IACC,4BAA4B;IAC5B,MAAM,iBAAiB,GAAG,OAAO,CAC/B,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI,EAAE,EAAE,EAAE,CAAC,OAAO,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,EAC/G,CAAC,OAAO,CAAC,CACV,CAAA;IACD,MAAM,OAAO,GAAG,OAAO,CACrB,GAAG,EAAE,CACH,iBAAiB,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;QACnD,KAAK,EAAE,MAAM,CAAC,EAAE,IAAI,QAAQ,CAAC;QAC7B,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC;KACtB,CAAC,CAAC,EACL,CAAC,iBAAiB,CAAC,CACpB,CAAA;IAED,MAAM,QAAQ,GAAG,WAAW,CAC1B,CAAC,KAAe,EAAE,EAAE;QAClB,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAA;QAErC,gBAAgB,CACd,iBAAiB;aACd,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,QAAQ,CAAW,CAAC,CAAC;aAC7E,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,QAAQ,CAAW,CAAC,CACzD,CAAA;QACD,QAAQ,CAAC,KAAK,CAAC,CAAA;IACjB,CAAC,EACD,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,CACtC,CAAA;IACD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAW,cAAc,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IAE7H,OAAO,CACL,oBAAC,oBAAoB,IACnB,IAAI,EAAC,gBAAgB,EACrB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,eACD,QAAQ,EACnB,KAAK,EAAC,SAAS,EACf,QAAQ,EAAE,QAAQ,GAClB,CACH,CAAA;AACH,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare type PortalContainer = 'body' | 'referenceElement' | string | HTMLElement;
2
+ export declare const getPortalContainer: (container: PortalContainer, referenceElement?: HTMLElement | null | undefined) => HTMLElement | null;
@@ -0,0 +1,15 @@
1
+ import { canUseDOM } from './ssr';
2
+ export const getPortalContainer = (container, referenceElement) => {
3
+ if (container === 'body') {
4
+ // There is no document is SSR environment
5
+ return canUseDOM ? document.body : null;
6
+ }
7
+ if (container === 'referenceElement') {
8
+ return referenceElement !== null && referenceElement !== void 0 ? referenceElement : null;
9
+ }
10
+ if (typeof container === 'string') {
11
+ return canUseDOM ? document.getElementById(container) : null;
12
+ }
13
+ return container;
14
+ };
15
+ //# sourceMappingURL=portal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"portal.js","sourceRoot":"","sources":["../../src/utils/portal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAIjC,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,SAA0B,EAAE,gBAAqC,EAAsB,EAAE;IAC1H,IAAI,SAAS,KAAK,MAAM,EAAE;QACxB,0CAA0C;QAC1C,OAAO,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAA;KACxC;IAED,IAAI,SAAS,KAAK,kBAAkB,EAAE;QACpC,OAAO,gBAAgB,aAAhB,gBAAgB,cAAhB,gBAAgB,GAAI,IAAI,CAAA;KAChC;IAED,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;QACjC,OAAO,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;KAC7D;IAED,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hazelcast/ui",
3
- "version": "1.3.2-next.0+4462f30",
3
+ "version": "1.3.2-next.13+18e307f",
4
4
  "description": "Hazelcast design system components",
5
5
  "author": "",
6
6
  "homepage": "https://github.com/hazelcast/frontend-shared#readme",
@@ -49,8 +49,8 @@
49
49
  "@codemirror/basic-setup": "^0.19.1",
50
50
  "@codemirror/stream-parser": "^0.19.3",
51
51
  "@codemirror/view": "^0.19.35",
52
- "@hazelcast/helpers": "^1.3.2-next.0+4462f30",
53
- "@hazelcast/services": "^1.3.2-next.0+4462f30",
52
+ "@hazelcast/helpers": "^1.3.1",
53
+ "@hazelcast/services": "^1.3.1",
54
54
  "@headlessui/react": "^1.4.2",
55
55
  "@icons-pack/react-simple-icons": "^4.6.1",
56
56
  "@popperjs/core": "^2.11.0",
@@ -77,7 +77,7 @@
77
77
  },
78
78
  "devDependencies": {
79
79
  "@codemirror/legacy-modes": "0.19.0",
80
- "@hazelcast/test-helpers": "^1.3.2-next.0+4462f30",
80
+ "@hazelcast/test-helpers": "^1.3.1",
81
81
  "@storybook/addon-docs": "^6.4.9",
82
82
  "@storybook/addons": "^6.4.9",
83
83
  "@storybook/builder-webpack5": "^6.4.9",
@@ -113,5 +113,5 @@
113
113
  "webpack": "^5.65.0",
114
114
  "yup": "^0.32.11"
115
115
  },
116
- "gitHead": "4462f30d5e6da8bc57fe211684f1c78919818e7a"
116
+ "gitHead": "18e307f2d5bdaa02fa3014557119bc31ef43e62d"
117
117
  }