intergalactic 15.47.0-prerelease-9ee4af8a → 15.47.0-prerelease-de51389d

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/CHANGELOG.md CHANGED
@@ -26,8 +26,13 @@
26
26
 
27
27
  ### @semcore/d3-chart
28
28
 
29
+ - **Fixed** Selection of next focusable element after chart plot.
29
30
  - **Fixed** Error in ScatterPlot with undefined values.
30
31
 
32
+ ### @semcore/data-table
33
+
34
+ - **Added** Sort icon animation back.
35
+
31
36
  ### @semcore/date-picker
32
37
 
33
38
  - **Fixed** Disabled dates should not be available from the keyboard.
@@ -15,6 +15,21 @@ var isFocusable = function isFocusable(element) {
15
15
  if ('A' === tagName || 'AREA' === tagName) return element.hasAttribute('href');
16
16
  if ('BODY' === tagName || 'IFRAME' === tagName) return true;
17
17
  };
18
+ var findNextFocusableElementInChildren = function findNextFocusableElementInChildren(element) {
19
+ var children = element === null || element === void 0 ? void 0 : element.children;
20
+ if (element && isFocusable(element)) {
21
+ return element;
22
+ }
23
+ if (children) {
24
+ for (var i = 0; i < children.length; i++) {
25
+ var childChild = children.item(i);
26
+ if (childChild) {
27
+ return findNextFocusableElementInChildren(childChild);
28
+ }
29
+ }
30
+ }
31
+ return null;
32
+ };
18
33
  var heavyFindNextFocusableElement = function heavyFindNextFocusableElement(base) {
19
34
  var trace = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : new Map();
20
35
  trace.set(base, true);
@@ -26,13 +41,13 @@ var heavyFindNextFocusableElement = function heavyFindNextFocusableElement(base)
26
41
  if (!child) continue;
27
42
  if (trace.has(child)) continue;
28
43
  if (isFocusable(child)) return child;
29
- var childInnerResult = heavyFindNextFocusableElement(child, trace);
44
+ var childInnerResult = findNextFocusableElementInChildren(child.children.item(0));
30
45
  if (childInnerResult) return childInnerResult;
31
46
  }
32
47
  while (sibling) {
33
48
  if (isFocusable(sibling)) return sibling;
34
49
  if (!trace.has(sibling)) {
35
- var siblingInnerResult = heavyFindNextFocusableElement(sibling, trace);
50
+ var siblingInnerResult = findNextFocusableElementInChildren(sibling.children.item(0));
36
51
  if (siblingInnerResult) return siblingInnerResult;
37
52
  }
38
53
  sibling = sibling.nextElementSibling;
@@ -1 +1 @@
1
- {"version":3,"file":"focus.js","names":["isFocusable","element","tabIndex","getAttribute","tabIndexValue","parseInt","isNaN","tagName","hasAttribute","heavyFindNextFocusableElement","base","trace","arguments","length","undefined","Map","set","sibling","nextElementSibling","i","children","child","item","has","childInnerResult","siblingInnerResult","parentElement","exports"],"sources":["../../../src/a11y/focus.ts"],"sourcesContent":["const isFocusable = (element: Element) => {\n const tabIndex = element.getAttribute('tabindex');\n if (tabIndex) {\n const tabIndexValue = parseInt(tabIndex, 10);\n if (!isNaN(tabIndexValue) && tabIndexValue >= 0) return element;\n }\n\n const { tagName } = element;\n\n if ('INPUT' === tagName) return !element.getAttribute('disabled');\n if ('A' === tagName || 'AREA' === tagName) return element.hasAttribute('href');\n if ('BODY' === tagName || 'IFRAME' === tagName) return true;\n};\n\ntype FocusableElement = Element & { focus: () => void };\n\nexport const heavyFindNextFocusableElement = (\n base: Element,\n trace: Map<Element, true> = new Map(),\n): FocusableElement | null => {\n trace.set(base, true);\n let sibling = base.nextElementSibling;\n if (sibling) {\n trace.set(sibling, true);\n for (let i = 0; i < sibling.children.length; i++) {\n const child = sibling.children.item(i);\n if (!child) continue;\n if (trace.has(child)) continue;\n if (isFocusable(child)) return child as FocusableElement;\n const childInnerResult = heavyFindNextFocusableElement(child, trace);\n if (childInnerResult) return childInnerResult;\n }\n while (sibling) {\n if (isFocusable(sibling)) return sibling as FocusableElement;\n if (!trace.has(sibling)) {\n const siblingInnerResult = heavyFindNextFocusableElement(sibling, trace);\n if (siblingInnerResult) return siblingInnerResult;\n }\n sibling = sibling.nextElementSibling;\n }\n }\n\n if (!base.parentElement || trace.has(base.parentElement)) return null;\n\n return heavyFindNextFocusableElement(base.parentElement, trace);\n};\n"],"mappings":";;;;;;AAAA,IAAMA,WAAW,GAAG,SAAdA,WAAWA,CAAIC,OAAgB,EAAK;EACxC,IAAMC,QAAQ,GAAGD,OAAO,CAACE,YAAY,CAAC,UAAU,CAAC;EACjD,IAAID,QAAQ,EAAE;IACZ,IAAME,aAAa,GAAGC,QAAQ,CAACH,QAAQ,EAAE,EAAE,CAAC;IAC5C,IAAI,CAACI,KAAK,CAACF,aAAa,CAAC,IAAIA,aAAa,IAAI,CAAC,EAAE,OAAOH,OAAO;EACjE;EAEA,IAAQM,OAAO,GAAKN,OAAO,CAAnBM,OAAO;EAEf,IAAI,OAAO,KAAKA,OAAO,EAAE,OAAO,CAACN,OAAO,CAACE,YAAY,CAAC,UAAU,CAAC;EACjE,IAAI,GAAG,KAAKI,OAAO,IAAI,MAAM,KAAKA,OAAO,EAAE,OAAON,OAAO,CAACO,YAAY,CAAC,MAAM,CAAC;EAC9E,IAAI,MAAM,KAAKD,OAAO,IAAI,QAAQ,KAAKA,OAAO,EAAE,OAAO,IAAI;AAC7D,CAAC;AAIM,IAAME,6BAA6B,GAAG,SAAhCA,6BAA6BA,CACxCC,IAAa,EAEe;EAAA,IAD5BC,KAAyB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAIG,GAAG,EAAE;EAErCJ,KAAK,CAACK,GAAG,CAACN,IAAI,EAAE,IAAI,CAAC;EACrB,IAAIO,OAAO,GAAGP,IAAI,CAACQ,kBAAkB;EACrC,IAAID,OAAO,EAAE;IACXN,KAAK,CAACK,GAAG,CAACC,OAAO,EAAE,IAAI,CAAC;IACxB,KAAK,IAAIE,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGF,OAAO,CAACG,QAAQ,CAACP,MAAM,EAAEM,CAAC,EAAE,EAAE;MAChD,IAAME,KAAK,GAAGJ,OAAO,CAACG,QAAQ,CAACE,IAAI,CAACH,CAAC,CAAC;MACtC,IAAI,CAACE,KAAK,EAAE;MACZ,IAAIV,KAAK,CAACY,GAAG,CAACF,KAAK,CAAC,EAAE;MACtB,IAAIrB,WAAW,CAACqB,KAAK,CAAC,EAAE,OAAOA,KAAK;MACpC,IAAMG,gBAAgB,GAAGf,6BAA6B,CAACY,KAAK,EAAEV,KAAK,CAAC;MACpE,IAAIa,gBAAgB,EAAE,OAAOA,gBAAgB;IAC/C;IACA,OAAOP,OAAO,EAAE;MACd,IAAIjB,WAAW,CAACiB,OAAO,CAAC,EAAE,OAAOA,OAAO;MACxC,IAAI,CAACN,KAAK,CAACY,GAAG,CAACN,OAAO,CAAC,EAAE;QACvB,IAAMQ,kBAAkB,GAAGhB,6BAA6B,CAACQ,OAAO,EAAEN,KAAK,CAAC;QACxE,IAAIc,kBAAkB,EAAE,OAAOA,kBAAkB;MACnD;MACAR,OAAO,GAAGA,OAAO,CAACC,kBAAkB;IACtC;EACF;EAEA,IAAI,CAACR,IAAI,CAACgB,aAAa,IAAIf,KAAK,CAACY,GAAG,CAACb,IAAI,CAACgB,aAAa,CAAC,EAAE,OAAO,IAAI;EAErE,OAAOjB,6BAA6B,CAACC,IAAI,CAACgB,aAAa,EAAEf,KAAK,CAAC;AACjE,CAAC;AAACgB,OAAA,CAAAlB,6BAAA,GAAAA,6BAAA"}
1
+ {"version":3,"file":"focus.js","names":["isFocusable","element","tabIndex","getAttribute","tabIndexValue","parseInt","isNaN","tagName","hasAttribute","findNextFocusableElementInChildren","children","i","length","childChild","item","heavyFindNextFocusableElement","base","trace","arguments","undefined","Map","set","sibling","nextElementSibling","child","has","childInnerResult","siblingInnerResult","parentElement","exports"],"sources":["../../../src/a11y/focus.ts"],"sourcesContent":["const isFocusable = (element: Element) => {\n const tabIndex = element.getAttribute('tabindex');\n if (tabIndex) {\n const tabIndexValue = parseInt(tabIndex, 10);\n if (!isNaN(tabIndexValue) && tabIndexValue >= 0) return element;\n }\n\n const { tagName } = element;\n\n if ('INPUT' === tagName) return !element.getAttribute('disabled');\n if ('A' === tagName || 'AREA' === tagName) return element.hasAttribute('href');\n if ('BODY' === tagName || 'IFRAME' === tagName) return true;\n};\n\ntype FocusableElement = Element & { focus: () => void };\n\nconst findNextFocusableElementInChildren = (element: Element | null): FocusableElement | null => {\n const children = element?.children;\n\n if (element && isFocusable(element)) {\n return element as FocusableElement;\n }\n\n if (children) {\n for (let i = 0; i < children.length; i++) {\n const childChild = children.item(i);\n\n if (childChild) {\n return findNextFocusableElementInChildren(childChild);\n }\n }\n }\n\n return null;\n};\n\nexport const heavyFindNextFocusableElement = (\n base: Element,\n trace: Map<Element, true> = new Map(),\n): FocusableElement | null => {\n trace.set(base, true);\n let sibling = base.nextElementSibling;\n if (sibling) {\n trace.set(sibling, true);\n for (let i = 0; i < sibling.children.length; i++) {\n const child = sibling.children.item(i);\n if (!child) continue;\n if (trace.has(child)) continue;\n if (isFocusable(child)) return child as FocusableElement;\n const childInnerResult = findNextFocusableElementInChildren(child.children.item(0));\n if (childInnerResult) return childInnerResult;\n }\n while (sibling) {\n if (isFocusable(sibling)) return sibling as FocusableElement;\n if (!trace.has(sibling)) {\n const siblingInnerResult = findNextFocusableElementInChildren(sibling.children.item(0));\n if (siblingInnerResult) return siblingInnerResult;\n }\n sibling = sibling.nextElementSibling;\n }\n }\n\n if (!base.parentElement || trace.has(base.parentElement)) return null;\n\n return heavyFindNextFocusableElement(base.parentElement, trace);\n};\n"],"mappings":"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"}
@@ -9,6 +9,21 @@ var isFocusable = function isFocusable(element) {
9
9
  if ('A' === tagName || 'AREA' === tagName) return element.hasAttribute('href');
10
10
  if ('BODY' === tagName || 'IFRAME' === tagName) return true;
11
11
  };
12
+ var findNextFocusableElementInChildren = function findNextFocusableElementInChildren(element) {
13
+ var children = element === null || element === void 0 ? void 0 : element.children;
14
+ if (element && isFocusable(element)) {
15
+ return element;
16
+ }
17
+ if (children) {
18
+ for (var i = 0; i < children.length; i++) {
19
+ var childChild = children.item(i);
20
+ if (childChild) {
21
+ return findNextFocusableElementInChildren(childChild);
22
+ }
23
+ }
24
+ }
25
+ return null;
26
+ };
12
27
  export var heavyFindNextFocusableElement = function heavyFindNextFocusableElement(base) {
13
28
  var trace = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : new Map();
14
29
  trace.set(base, true);
@@ -20,13 +35,13 @@ export var heavyFindNextFocusableElement = function heavyFindNextFocusableElemen
20
35
  if (!child) continue;
21
36
  if (trace.has(child)) continue;
22
37
  if (isFocusable(child)) return child;
23
- var childInnerResult = heavyFindNextFocusableElement(child, trace);
38
+ var childInnerResult = findNextFocusableElementInChildren(child.children.item(0));
24
39
  if (childInnerResult) return childInnerResult;
25
40
  }
26
41
  while (sibling) {
27
42
  if (isFocusable(sibling)) return sibling;
28
43
  if (!trace.has(sibling)) {
29
- var siblingInnerResult = heavyFindNextFocusableElement(sibling, trace);
44
+ var siblingInnerResult = findNextFocusableElementInChildren(sibling.children.item(0));
30
45
  if (siblingInnerResult) return siblingInnerResult;
31
46
  }
32
47
  sibling = sibling.nextElementSibling;
@@ -1 +1 @@
1
- {"version":3,"file":"focus.js","names":["isFocusable","element","tabIndex","getAttribute","tabIndexValue","parseInt","isNaN","tagName","hasAttribute","heavyFindNextFocusableElement","base","trace","arguments","length","undefined","Map","set","sibling","nextElementSibling","i","children","child","item","has","childInnerResult","siblingInnerResult","parentElement"],"sources":["../../../src/a11y/focus.ts"],"sourcesContent":["const isFocusable = (element: Element) => {\n const tabIndex = element.getAttribute('tabindex');\n if (tabIndex) {\n const tabIndexValue = parseInt(tabIndex, 10);\n if (!isNaN(tabIndexValue) && tabIndexValue >= 0) return element;\n }\n\n const { tagName } = element;\n\n if ('INPUT' === tagName) return !element.getAttribute('disabled');\n if ('A' === tagName || 'AREA' === tagName) return element.hasAttribute('href');\n if ('BODY' === tagName || 'IFRAME' === tagName) return true;\n};\n\ntype FocusableElement = Element & { focus: () => void };\n\nexport const heavyFindNextFocusableElement = (\n base: Element,\n trace: Map<Element, true> = new Map(),\n): FocusableElement | null => {\n trace.set(base, true);\n let sibling = base.nextElementSibling;\n if (sibling) {\n trace.set(sibling, true);\n for (let i = 0; i < sibling.children.length; i++) {\n const child = sibling.children.item(i);\n if (!child) continue;\n if (trace.has(child)) continue;\n if (isFocusable(child)) return child as FocusableElement;\n const childInnerResult = heavyFindNextFocusableElement(child, trace);\n if (childInnerResult) return childInnerResult;\n }\n while (sibling) {\n if (isFocusable(sibling)) return sibling as FocusableElement;\n if (!trace.has(sibling)) {\n const siblingInnerResult = heavyFindNextFocusableElement(sibling, trace);\n if (siblingInnerResult) return siblingInnerResult;\n }\n sibling = sibling.nextElementSibling;\n }\n }\n\n if (!base.parentElement || trace.has(base.parentElement)) return null;\n\n return heavyFindNextFocusableElement(base.parentElement, trace);\n};\n"],"mappings":"AAAA,IAAMA,WAAW,GAAG,SAAdA,WAAWA,CAAIC,OAAgB,EAAK;EACxC,IAAMC,QAAQ,GAAGD,OAAO,CAACE,YAAY,CAAC,UAAU,CAAC;EACjD,IAAID,QAAQ,EAAE;IACZ,IAAME,aAAa,GAAGC,QAAQ,CAACH,QAAQ,EAAE,EAAE,CAAC;IAC5C,IAAI,CAACI,KAAK,CAACF,aAAa,CAAC,IAAIA,aAAa,IAAI,CAAC,EAAE,OAAOH,OAAO;EACjE;EAEA,IAAQM,OAAO,GAAKN,OAAO,CAAnBM,OAAO;EAEf,IAAI,OAAO,KAAKA,OAAO,EAAE,OAAO,CAACN,OAAO,CAACE,YAAY,CAAC,UAAU,CAAC;EACjE,IAAI,GAAG,KAAKI,OAAO,IAAI,MAAM,KAAKA,OAAO,EAAE,OAAON,OAAO,CAACO,YAAY,CAAC,MAAM,CAAC;EAC9E,IAAI,MAAM,KAAKD,OAAO,IAAI,QAAQ,KAAKA,OAAO,EAAE,OAAO,IAAI;AAC7D,CAAC;AAID,OAAO,IAAME,6BAA6B,GAAG,SAAhCA,6BAA6BA,CACxCC,IAAa,EAEe;EAAA,IAD5BC,KAAyB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAIG,GAAG,EAAE;EAErCJ,KAAK,CAACK,GAAG,CAACN,IAAI,EAAE,IAAI,CAAC;EACrB,IAAIO,OAAO,GAAGP,IAAI,CAACQ,kBAAkB;EACrC,IAAID,OAAO,EAAE;IACXN,KAAK,CAACK,GAAG,CAACC,OAAO,EAAE,IAAI,CAAC;IACxB,KAAK,IAAIE,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGF,OAAO,CAACG,QAAQ,CAACP,MAAM,EAAEM,CAAC,EAAE,EAAE;MAChD,IAAME,KAAK,GAAGJ,OAAO,CAACG,QAAQ,CAACE,IAAI,CAACH,CAAC,CAAC;MACtC,IAAI,CAACE,KAAK,EAAE;MACZ,IAAIV,KAAK,CAACY,GAAG,CAACF,KAAK,CAAC,EAAE;MACtB,IAAIrB,WAAW,CAACqB,KAAK,CAAC,EAAE,OAAOA,KAAK;MACpC,IAAMG,gBAAgB,GAAGf,6BAA6B,CAACY,KAAK,EAAEV,KAAK,CAAC;MACpE,IAAIa,gBAAgB,EAAE,OAAOA,gBAAgB;IAC/C;IACA,OAAOP,OAAO,EAAE;MACd,IAAIjB,WAAW,CAACiB,OAAO,CAAC,EAAE,OAAOA,OAAO;MACxC,IAAI,CAACN,KAAK,CAACY,GAAG,CAACN,OAAO,CAAC,EAAE;QACvB,IAAMQ,kBAAkB,GAAGhB,6BAA6B,CAACQ,OAAO,EAAEN,KAAK,CAAC;QACxE,IAAIc,kBAAkB,EAAE,OAAOA,kBAAkB;MACnD;MACAR,OAAO,GAAGA,OAAO,CAACC,kBAAkB;IACtC;EACF;EAEA,IAAI,CAACR,IAAI,CAACgB,aAAa,IAAIf,KAAK,CAACY,GAAG,CAACb,IAAI,CAACgB,aAAa,CAAC,EAAE,OAAO,IAAI;EAErE,OAAOjB,6BAA6B,CAACC,IAAI,CAACgB,aAAa,EAAEf,KAAK,CAAC;AACjE,CAAC"}
1
+ {"version":3,"file":"focus.js","names":["isFocusable","element","tabIndex","getAttribute","tabIndexValue","parseInt","isNaN","tagName","hasAttribute","findNextFocusableElementInChildren","children","i","length","childChild","item","heavyFindNextFocusableElement","base","trace","arguments","undefined","Map","set","sibling","nextElementSibling","child","has","childInnerResult","siblingInnerResult","parentElement"],"sources":["../../../src/a11y/focus.ts"],"sourcesContent":["const isFocusable = (element: Element) => {\n const tabIndex = element.getAttribute('tabindex');\n if (tabIndex) {\n const tabIndexValue = parseInt(tabIndex, 10);\n if (!isNaN(tabIndexValue) && tabIndexValue >= 0) return element;\n }\n\n const { tagName } = element;\n\n if ('INPUT' === tagName) return !element.getAttribute('disabled');\n if ('A' === tagName || 'AREA' === tagName) return element.hasAttribute('href');\n if ('BODY' === tagName || 'IFRAME' === tagName) return true;\n};\n\ntype FocusableElement = Element & { focus: () => void };\n\nconst findNextFocusableElementInChildren = (element: Element | null): FocusableElement | null => {\n const children = element?.children;\n\n if (element && isFocusable(element)) {\n return element as FocusableElement;\n }\n\n if (children) {\n for (let i = 0; i < children.length; i++) {\n const childChild = children.item(i);\n\n if (childChild) {\n return findNextFocusableElementInChildren(childChild);\n }\n }\n }\n\n return null;\n};\n\nexport const heavyFindNextFocusableElement = (\n base: Element,\n trace: Map<Element, true> = new Map(),\n): FocusableElement | null => {\n trace.set(base, true);\n let sibling = base.nextElementSibling;\n if (sibling) {\n trace.set(sibling, true);\n for (let i = 0; i < sibling.children.length; i++) {\n const child = sibling.children.item(i);\n if (!child) continue;\n if (trace.has(child)) continue;\n if (isFocusable(child)) return child as FocusableElement;\n const childInnerResult = findNextFocusableElementInChildren(child.children.item(0));\n if (childInnerResult) return childInnerResult;\n }\n while (sibling) {\n if (isFocusable(sibling)) return sibling as FocusableElement;\n if (!trace.has(sibling)) {\n const siblingInnerResult = findNextFocusableElementInChildren(sibling.children.item(0));\n if (siblingInnerResult) return siblingInnerResult;\n }\n sibling = sibling.nextElementSibling;\n }\n }\n\n if (!base.parentElement || trace.has(base.parentElement)) return null;\n\n return heavyFindNextFocusableElement(base.parentElement, trace);\n};\n"],"mappings":"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"}
@@ -28,46 +28,47 @@ var _uniqueID = _interopRequireDefault(require("intergalactic/utils/lib/uniqueID
28
28
  var _excluded = ["children", "name", "fixed", "resizable", "sortable", "flex", "vBorders", "active"],
29
29
  _excluded2 = ["name", "children"];
30
30
  /*__reshadow-styles__:"./style/data-table.shadow.css"*/
31
- var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".___SDataTable_4023j_gg_,.___SHeadWrapper_4023j_gg_{position:relative}.___SDataTable_4023j_gg_.__compact_4023j_gg_ .___SCell_4023j_gg_,.___SDataTable_4023j_gg_.__compact_4023j_gg_ .___SColumn_4023j_gg_{padding:var(--intergalactic-spacing-3x, 12px) var(--intergalactic-spacing-2x, 8px)}.___SHeadWrapper_4023j_gg_.__sticky_4023j_gg_{position:sticky;top:0;z-index:2}.___SHead_4023j_gg_{display:flex;position:relative;flex-direction:row;min-width:-moz-fit-content;min-width:fit-content;z-index:0}.___SColumn_4023j_gg_{display:flex;align-items:flex-start;flex-grow:1;font-size:var(--intergalactic-fs-100, 12px);line-height:var(--intergalactic-lh-100, 133%);color:var(--intergalactic-text-primary, #191b23);box-sizing:border-box;position:relative}.___SColumn_4023j_gg_:focus-visible{outline:0;box-shadow:inset var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5))}.___SColumn_4023j_gg_.__hidden_4023j_gg_{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border-width:0!important}.___SColumn_4023j_gg_._use_primary_4023j_gg_{padding:var(--intergalactic-spacing-3x, 12px);border-bottom:1px solid var(--intergalactic-border-secondary, #e0e1e9);background-color:var(--intergalactic-table-th-primary-cell, #f4f5f9)}.___SColumn_4023j_gg_._use_secondary_4023j_gg_{padding:var(--intergalactic-spacing-2x, 8px);border-bottom:1px solid var(--intergalactic-border-table-accent, #a9abb6);background-color:var(--intergalactic-table-th-secondary-cell, #ffffff)}.___SColumn_4023j_gg_.__group_4023j_gg_.__use_4023j_gg_{display:flex;flex-wrap:wrap;flex-direction:column;align-items:normal;border-bottom:none;padding:0}.___SColumn_4023j_gg_.__groupHead_4023j_gg_{justify-content:center;z-index:1;border-bottom:none}.___SColumn_4023j_gg_.__sortable_4023j_gg_{cursor:pointer}.___SColumn_4023j_gg_.__sortable_4023j_gg_._use_primary_4023j_gg_:focus{background-color:var(--intergalactic-table-th-primary-cell-hover, #e0e1e9)}@media (hover:hover){.___SColumn_4023j_gg_.__sortable_4023j_gg_._use_primary_4023j_gg_:hover{background-color:var(--intergalactic-table-th-primary-cell-hover, #e0e1e9)}}.___SColumn_4023j_gg_.__sortable_4023j_gg_:focus .___SSortWrapper_4023j_gg_{flex-basis:calc(var(--intergalactic-spacing-1x, 4px) + 16px);opacity:1}@media (hover:hover){.___SColumn_4023j_gg_.__sortable_4023j_gg_:hover .___SSortWrapper_4023j_gg_{flex-basis:calc(var(--intergalactic-spacing-1x, 4px) + 16px);opacity:1}}.___SColumn_4023j_gg_.__sortable_4023j_gg_:focus .___SSortIcon_4023j_gg_,.___SColumn_4023j_gg_.__sortable_4023j_gg_:focus .___SSortWrapper_4023j_gg_:before{display:block;opacity:1}@media (hover:hover){.___SColumn_4023j_gg_.__sortable_4023j_gg_:hover .___SSortWrapper_4023j_gg_:before{display:block;opacity:1}}@media (hover:hover){.___SColumn_4023j_gg_.__sortable_4023j_gg_:hover .___SSortIcon_4023j_gg_{display:block;opacity:1}}.___SColumn_4023j_gg_._use_primary_4023j_gg_.__active_4023j_gg_{background-color:var(--intergalactic-table-th-primary-cell-active, #e0e1e9);width:100%}.___SColumn_4023j_gg_.__active_4023j_gg_ .___SSortWrapper_4023j_gg_{flex-basis:calc(var(--intergalactic-spacing-1x, 4px) + 16px);opacity:1}.___SColumn_4023j_gg_.__active_4023j_gg_ .___SSortIcon_4023j_gg_{display:block;position:relative;opacity:1}.___SColumn_4023j_gg_.__resizable_4023j_gg_{border-right:1px solid transparent}@media (hover:hover){.___SColumn_4023j_gg_.__resizable_4023j_gg_:hover:after{border-right-color:var(--intergalactic-border-table-accent, #a9abb6)}}.___SColumn_4023j_gg_.__resizable_4023j_gg_:after{content:\"\";position:absolute;bottom:0;right:-1px;height:100%;width:5px;background:0 0;cursor:col-resize;border-right:1px solid transparent}.___SColumn_4023j_gg_.__fixed_4023j_gg_{position:sticky;z-index:2}.___SCell_4023j_gg_.__borderLeft_4023j_gg_,.___SColumn_4023j_gg_.__borderLeft_4023j_gg_{border-left:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SCell_4023j_gg_.__borderRight_4023j_gg_,.___SColumn_4023j_gg_.__borderRight_4023j_gg_{border-right:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SSortWrapper_4023j_gg_{flex-shrink:99999;position:relative;flex-basis:0;height:100%;min-height:16px;opacity:0}.___SSortIcon_4023j_gg_,.___SSortWrapper_4023j_gg_:before{display:none;position:absolute;right:0;opacity:0;transition:opacity .3s ease}.___SSortWrapper_4023j_gg_:before{content:\"\";top:0;width:20px;height:100%}.___SSortIcon_4023j_gg_{fill:var(--intergalactic-icon-secondary-neutral-hover-active, #878992);top:calc(1em*1.25 - 16px);margin-left:var(--intergalactic-spacing-1x, 4px)}.___SColumn_4023j_gg_._use_primary_4023j_gg_ .___SSortWrapper_4023j_gg_:before{background:linear-gradient(270deg,var(--intergalactic-table-th-primary-cell-hover, #e0e1e9) 67.5%,rgba(224,225,233,0) 105%)}.___SColumn_4023j_gg_._use_secondary_4023j_gg_ .___SSortWrapper_4023j_gg_:before{background:linear-gradient(270deg,var(--intergalactic-table-th-secondary-cell, #ffffff) 67.5%,rgba(255,255,255,0) 105%)}.___SBodyWrapper_4023j_gg_{position:relative}.___SBody_4023j_gg_{display:flex;flex-direction:column;position:relative;min-width:-moz-fit-content;min-width:fit-content}.___SRow_4023j_gg_{display:flex;flex-direction:row;position:relative}.___SRow_4023j_gg_.__active_4023j_gg_>.___SCell_4023j_gg_:not(.__theme_4023j_gg_),.___SRow_4023j_gg_._theme_muted_4023j_gg_.__active_4023j_gg_>.___SCell_4023j_gg_:not(.__theme_4023j_gg_){background-color:var(--intergalactic-table-td-cell-active, #e6e7ed)}@media (hover:hover){.___SRow_4023j_gg_ .___SCell_4023j_gg_:hover+.___SGroupCell_4023j_gg_ .___SCell_4023j_gg_:not(.__theme_4023j_gg_),.___SRow_4023j_gg_:hover>.___SCell_4023j_gg_:not(.__theme_4023j_gg_){background-color:var(--intergalactic-table-td-cell-hover, #f0f0f4)}}.___SRow_4023j_gg_._theme_muted_4023j_gg_ .___SCell_4023j_gg_:not(.__theme_4023j_gg_){background-color:var(--intergalactic-table-td-cell-unread, #f4f5f9)}@media (hover:hover){.___SRow_4023j_gg_._theme_muted_4023j_gg_ .___SCell_4023j_gg_:hover+.___SGroupCell_4023j_gg_ .___SCell_4023j_gg_:not(.__theme_4023j_gg_),.___SRow_4023j_gg_._theme_muted_4023j_gg_:hover>.___SCell_4023j_gg_:not(.__theme_4023j_gg_),.___SRow_4023j_gg_:hover>.___SCell_4023j_gg_._theme_muted_4023j_gg_{background-color:var(--intergalactic-table-td-cell-hover, #f0f0f4)}}.___SRow_4023j_gg_._theme_info_4023j_gg_ .___SCell_4023j_gg_:not(.__theme_4023j_gg_){background-color:var(--intergalactic-table-td-cell-selected, #e9f7ff)}.___SRow_4023j_gg_._theme_info_4023j_gg_.__active_4023j_gg_>.___SCell_4023j_gg_:not(.__theme_4023j_gg_){background-color:var(--intergalactic-table-td-cell-selected-active, #c4e5fe)}@media (hover:hover){.___SRow_4023j_gg_._theme_info_4023j_gg_ .___SCell_4023j_gg_:hover+.___SGroupCell_4023j_gg_ .___SCell_4023j_gg_:not(.__theme_4023j_gg_),.___SRow_4023j_gg_._theme_info_4023j_gg_:hover>.___SCell_4023j_gg_:not(.__theme_4023j_gg_),.___SRow_4023j_gg_:hover>.___SCell_4023j_gg_._theme_info_4023j_gg_{background-color:var(--intergalactic-table-td-cell-selected-hover, #c4e5fe)}}.___SRow_4023j_gg_._theme_success_4023j_gg_ .___SCell_4023j_gg_:not(.__theme_4023j_gg_){background-color:var(--intergalactic-table-td-cell-new, #dbfee8)}.___SRow_4023j_gg_._theme_success_4023j_gg_.__active_4023j_gg_>.___SCell_4023j_gg_:not(.__theme_4023j_gg_){background-color:var(--intergalactic-table-td-cell-new-active, #9ef2c9)}@media (hover:hover){.___SRow_4023j_gg_._theme_success_4023j_gg_ .___SCell_4023j_gg_:hover+.___SGroupCell_4023j_gg_ .___SCell_4023j_gg_:not(.__theme_4023j_gg_),.___SRow_4023j_gg_._theme_success_4023j_gg_:hover>.___SCell_4023j_gg_:not(.__theme_4023j_gg_),.___SRow_4023j_gg_:hover>.___SCell_4023j_gg_._theme_success_4023j_gg_{background-color:var(--intergalactic-table-td-cell-new-hover, #9ef2c9)}}.___SRow_4023j_gg_._theme_warning_4023j_gg_ .___SCell_4023j_gg_:not(.__theme_4023j_gg_){background-color:var(--intergalactic-table-td-cell-warning, #fff3d9)}.___SRow_4023j_gg_._theme_warning_4023j_gg_.__active_4023j_gg_>.___SCell_4023j_gg_:not(.__theme_4023j_gg_){background-color:var(--intergalactic-table-td-cell-warning-active, #ffdca2)}@media (hover:hover){.___SRow_4023j_gg_._theme_warning_4023j_gg_ .___SCell_4023j_gg_:hover+.___SGroupCell_4023j_gg_ .___SCell_4023j_gg_:not(.__theme_4023j_gg_),.___SRow_4023j_gg_._theme_warning_4023j_gg_:hover>.___SCell_4023j_gg_:not(.__theme_4023j_gg_),.___SRow_4023j_gg_:hover>.___SCell_4023j_gg_._theme_warning_4023j_gg_{background-color:var(--intergalactic-table-td-cell-warning-hover, #ffdca2)}}.___SRow_4023j_gg_._theme_danger_4023j_gg_ .___SCell_4023j_gg_:not(.__theme_4023j_gg_){background-color:var(--intergalactic-table-td-cell-critical, #fff0f7)}.___SRow_4023j_gg_._theme_danger_4023j_gg_.__active_4023j_gg_>.___SCell_4023j_gg_:not(.__theme_4023j_gg_){background-color:var(--intergalactic-table-td-cell-critical-active, #ffd7df)}@media (hover:hover){.___SRow_4023j_gg_._theme_danger_4023j_gg_ .___SCell_4023j_gg_:hover+.___SGroupCell_4023j_gg_ .___SCell_4023j_gg_:not(.__theme_4023j_gg_),.___SRow_4023j_gg_._theme_danger_4023j_gg_:hover>.___SCell_4023j_gg_:not(.__theme_4023j_gg_),.___SRow_4023j_gg_:hover>.___SCell_4023j_gg_._theme_danger_4023j_gg_{background-color:var(--intergalactic-table-td-cell-critical-hover, #ffd7df)}}.___SRow_4023j_gg_.__positioned_4023j_gg_{position:absolute}.___SCell_4023j_gg_{display:flex;flex:1;flex-basis:auto;font-size:var(--intergalactic-fs-200, 14px);line-height:var(--intergalactic-lh-200, 142%);color:var(--intergalactic-text-primary, #191b23);box-sizing:border-box;border-bottom:1px solid var(--intergalactic-border-secondary, #e0e1e9);overflow:hidden;white-space:nowrap;font-feature-settings:\"tnum\";font-variant-numeric:tabular-nums}.___SCell_4023j_gg_._use_primary_4023j_gg_{padding:var(--intergalactic-spacing-3x, 12px);min-height:45px;background-color:var(--intergalactic-bg-primary-neutral, #ffffff)}.___SCell_4023j_gg_._use_secondary_4023j_gg_{padding:var(--intergalactic-spacing-2x, 8px);min-height:37px;background-color:var(--intergalactic-bg-primary-neutral, #ffffff)}.___SCell_4023j_gg_.__fixed_4023j_gg_{position:sticky;z-index:1}.___SCell_4023j_gg_._theme_muted_4023j_gg_{background-color:var(--intergalactic-table-td-cell-unread, #f4f5f9)}.___SCell_4023j_gg_._theme_info_4023j_gg_{background-color:var(--intergalactic-table-td-cell-selected, #e9f7ff)}.___SCell_4023j_gg_._theme_success_4023j_gg_{background-color:var(--intergalactic-table-td-cell-new, #dbfee8)}.___SCell_4023j_gg_._theme_warning_4023j_gg_{background-color:var(--intergalactic-table-td-cell-warning, #fff3d9)}.___SCell_4023j_gg_._theme_danger_4023j_gg_{background-color:var(--intergalactic-table-td-cell-critical, #fff0f7)}.___SScrollAreaBar_4023j_gg_._orientation_horizontal_4023j_gg_{position:sticky;bottom:0;left:0;margin-top:calc(-1*var(--intergalactic-spacing-3x, 12px));z-index:2;margin-left:calc(var(--left-offset_4023j) + var(--intergalactic-spacing-1x, 4px));margin-right:calc(var(--right-offset_4023j) + var(--intergalactic-spacing-1x, 4px));width:calc(100% - var(--offsetSum_4023j) - 8px)}.___SScrollAreaBar_4023j_gg_._orientation_vertical_4023j_gg_{width:12px}.___SHeightHold_4023j_gg_{position:absolute;top:0;width:100%;pointer-events:none;z-index:-1}" /*__inner_css_end__*/, "4023j_gg_") /*__reshadow_css_end__*/, {
32
- "__SDataTable": "___SDataTable_4023j_gg_",
33
- "__SHeadWrapper": "___SHeadWrapper_4023j_gg_",
34
- "_sticky": "__sticky_4023j_gg_",
35
- "__SHead": "___SHead_4023j_gg_",
36
- "__SColumn": "___SColumn_4023j_gg_",
37
- "_hidden": "__hidden_4023j_gg_",
38
- "_use_primary": "_use_primary_4023j_gg_",
39
- "_use_secondary": "_use_secondary_4023j_gg_",
40
- "_group": "__group_4023j_gg_",
41
- "_use": "__use_4023j_gg_",
42
- "_groupHead": "__groupHead_4023j_gg_",
43
- "_active": "__active_4023j_gg_",
44
- "__SSortWrapper": "___SSortWrapper_4023j_gg_",
45
- "__SSortIcon": "___SSortIcon_4023j_gg_",
46
- "_fixed": "__fixed_4023j_gg_",
47
- "_borderLeft": "__borderLeft_4023j_gg_",
48
- "__SCell": "___SCell_4023j_gg_",
49
- "_borderRight": "__borderRight_4023j_gg_",
50
- "__SBodyWrapper": "___SBodyWrapper_4023j_gg_",
51
- "__SBody": "___SBody_4023j_gg_",
52
- "__SRow": "___SRow_4023j_gg_",
53
- "_theme": "__theme_4023j_gg_",
54
- "__SGroupCell": "___SGroupCell_4023j_gg_",
55
- "_theme_muted": "_theme_muted_4023j_gg_",
56
- "_theme_info": "_theme_info_4023j_gg_",
57
- "_theme_success": "_theme_success_4023j_gg_",
58
- "_theme_warning": "_theme_warning_4023j_gg_",
59
- "_theme_danger": "_theme_danger_4023j_gg_",
60
- "_positioned": "__positioned_4023j_gg_",
61
- "__SScrollAreaBar": "___SScrollAreaBar_4023j_gg_",
62
- "_orientation_horizontal": "_orientation_horizontal_4023j_gg_",
63
- "--left-offset": "--left-offset_4023j",
64
- "--right-offset": "--right-offset_4023j",
65
- "--offsetSum": "--offsetSum_4023j",
66
- "_orientation_vertical": "_orientation_vertical_4023j_gg_",
67
- "__SHeightHold": "___SHeightHold_4023j_gg_",
68
- "_compact": "__compact_4023j_gg_",
69
- "_sortable": "__sortable_4023j_gg_",
70
- "_resizable": "__resizable_4023j_gg_"
31
+ var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".___SDataTable_f4lv7_gg_,.___SHeadWrapper_f4lv7_gg_{position:relative}.___SDataTable_f4lv7_gg_.__compact_f4lv7_gg_ .___SCell_f4lv7_gg_,.___SDataTable_f4lv7_gg_.__compact_f4lv7_gg_ .___SColumn_f4lv7_gg_{padding:var(--intergalactic-spacing-3x, 12px) var(--intergalactic-spacing-2x, 8px)}.___SHeadWrapper_f4lv7_gg_.__sticky_f4lv7_gg_{position:sticky;top:0;z-index:2}.___SHead_f4lv7_gg_{display:flex;position:relative;flex-direction:row;min-width:-moz-fit-content;min-width:fit-content;z-index:0}.___SColumn_f4lv7_gg_{display:flex;align-items:flex-start;flex-grow:1;font-size:var(--intergalactic-fs-100, 12px);line-height:var(--intergalactic-lh-100, 133%);color:var(--intergalactic-text-primary, #191b23);box-sizing:border-box;position:relative}.___SColumn_f4lv7_gg_:focus-visible{outline:0;box-shadow:inset var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5))}.___SColumn_f4lv7_gg_.__hidden_f4lv7_gg_{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border-width:0!important}.___SColumn_f4lv7_gg_._use_primary_f4lv7_gg_{padding:var(--intergalactic-spacing-3x, 12px);border-bottom:1px solid var(--intergalactic-border-secondary, #e0e1e9);background-color:var(--intergalactic-table-th-primary-cell, #f4f5f9)}.___SColumn_f4lv7_gg_._use_secondary_f4lv7_gg_{padding:var(--intergalactic-spacing-2x, 8px);border-bottom:1px solid var(--intergalactic-border-table-accent, #a9abb6);background-color:var(--intergalactic-table-th-secondary-cell, #ffffff)}.___SColumn_f4lv7_gg_.__group_f4lv7_gg_.__use_f4lv7_gg_{display:flex;flex-wrap:wrap;flex-direction:column;align-items:normal;border-bottom:none;padding:0}.___SColumn_f4lv7_gg_.__groupHead_f4lv7_gg_{justify-content:center;z-index:1;border-bottom:none}.___SColumn_f4lv7_gg_.__sortable_f4lv7_gg_{cursor:pointer}.___SColumn_f4lv7_gg_.__sortable_f4lv7_gg_._use_primary_f4lv7_gg_:focus{background-color:var(--intergalactic-table-th-primary-cell-hover, #e0e1e9)}@media (hover:hover){.___SColumn_f4lv7_gg_.__sortable_f4lv7_gg_._use_primary_f4lv7_gg_:hover{background-color:var(--intergalactic-table-th-primary-cell-hover, #e0e1e9)}}.___SColumn_f4lv7_gg_.__sortable_f4lv7_gg_._justifyContent_right_f4lv7_gg_ .___SSortWrapper_f4lv7_gg_{position:absolute;right:calc(var(--intergalactic-spacing-1x, 4px) + 16px)}.___SColumn_f4lv7_gg_.__sortable_f4lv7_gg_._justifyContent_right_f4lv7_gg_.__active_f4lv7_gg_ .___SSortWrapper_f4lv7_gg_,.___SColumn_f4lv7_gg_.__sortable_f4lv7_gg_._justifyContent_right_f4lv7_gg_:focus .___SSortWrapper_f4lv7_gg_{right:var(--intergalactic-spacing-3x, 12px)}@media (hover:hover){.___SColumn_f4lv7_gg_.__sortable_f4lv7_gg_._justifyContent_right_f4lv7_gg_:hover .___SSortWrapper_f4lv7_gg_{right:var(--intergalactic-spacing-3x, 12px)}}.___SColumn_f4lv7_gg_.__sortable_f4lv7_gg_.__active_f4lv7_gg_ .___SSortWrapper_f4lv7_gg_,.___SColumn_f4lv7_gg_.__sortable_f4lv7_gg_:focus .___SSortWrapper_f4lv7_gg_{flex-basis:calc(var(--intergalactic-spacing-1x, 4px) + 16px);opacity:1}@media (hover:hover){.___SColumn_f4lv7_gg_.__sortable_f4lv7_gg_:hover .___SSortWrapper_f4lv7_gg_{flex-basis:calc(var(--intergalactic-spacing-1x, 4px) + 16px);opacity:1}}.___SColumn_f4lv7_gg_.__sortable_f4lv7_gg_.__active_f4lv7_gg_ .___SSortWrapper_f4lv7_gg_:before,.___SColumn_f4lv7_gg_.__sortable_f4lv7_gg_:focus .___SSortIcon_f4lv7_gg_,.___SColumn_f4lv7_gg_.__sortable_f4lv7_gg_:focus .___SSortWrapper_f4lv7_gg_:before{display:block;opacity:1}@media (hover:hover){.___SColumn_f4lv7_gg_.__sortable_f4lv7_gg_:hover .___SSortWrapper_f4lv7_gg_:before{display:block;opacity:1}}@media (hover:hover){.___SColumn_f4lv7_gg_.__sortable_f4lv7_gg_:hover .___SSortIcon_f4lv7_gg_{display:block;opacity:1}}.___SColumn_f4lv7_gg_._use_primary_f4lv7_gg_.__active_f4lv7_gg_{background-color:var(--intergalactic-table-th-primary-cell-active, #e0e1e9);width:100%}.___SColumn_f4lv7_gg_.__active_f4lv7_gg_ .___SSortIcon_f4lv7_gg_{display:block;opacity:1}.___SColumn_f4lv7_gg_.__resizable_f4lv7_gg_{border-right:1px solid transparent}@media (hover:hover){.___SColumn_f4lv7_gg_.__resizable_f4lv7_gg_:hover:after{border-right-color:var(--intergalactic-border-table-accent, #a9abb6)}}.___SColumn_f4lv7_gg_.__resizable_f4lv7_gg_:after{content:\"\";position:absolute;bottom:0;right:-1px;height:100%;width:5px;background:0 0;cursor:col-resize;border-right:1px solid transparent}.___SColumn_f4lv7_gg_.__fixed_f4lv7_gg_{position:sticky;z-index:2}.___SCell_f4lv7_gg_.__borderLeft_f4lv7_gg_,.___SColumn_f4lv7_gg_.__borderLeft_f4lv7_gg_{border-left:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SCell_f4lv7_gg_.__borderRight_f4lv7_gg_,.___SColumn_f4lv7_gg_.__borderRight_f4lv7_gg_{border-right:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SSortWrapper_f4lv7_gg_{flex-shrink:99999;position:relative;flex-basis:0;min-height:16px;opacity:0;transition:all calc(var(--intergalactic-duration-medium, 300)*1ms) ease}.___SSortIcon_f4lv7_gg_,.___SSortWrapper_f4lv7_gg_:before{display:none;position:absolute;right:0;opacity:0;transition:opacity .3s ease}.___SSortWrapper_f4lv7_gg_:before{content:\"\";top:0;width:20px;height:100%}.___SSortIcon_f4lv7_gg_{fill:var(--intergalactic-icon-secondary-neutral-hover-active, #878992);top:calc(1em*1.25 - 16px);margin-left:var(--intergalactic-spacing-1x, 4px)}.___SColumn_f4lv7_gg_._use_primary_f4lv7_gg_ .___SSortWrapper_f4lv7_gg_:before{background:linear-gradient(270deg,var(--intergalactic-table-th-primary-cell-hover, #e0e1e9) 67.5%,rgba(224,225,233,0) 105%)}.___SColumn_f4lv7_gg_._use_secondary_f4lv7_gg_ .___SSortWrapper_f4lv7_gg_:before{background:linear-gradient(270deg,var(--intergalactic-table-th-secondary-cell, #ffffff) 67.5%,rgba(255,255,255,0) 105%)}.___SBodyWrapper_f4lv7_gg_{position:relative}.___SBody_f4lv7_gg_{display:flex;flex-direction:column;position:relative;min-width:-moz-fit-content;min-width:fit-content}.___SRow_f4lv7_gg_{display:flex;flex-direction:row;position:relative}.___SRow_f4lv7_gg_.__active_f4lv7_gg_>.___SCell_f4lv7_gg_:not(.__theme_f4lv7_gg_),.___SRow_f4lv7_gg_._theme_muted_f4lv7_gg_.__active_f4lv7_gg_>.___SCell_f4lv7_gg_:not(.__theme_f4lv7_gg_){background-color:var(--intergalactic-table-td-cell-active, #e6e7ed)}@media (hover:hover){.___SRow_f4lv7_gg_ .___SCell_f4lv7_gg_:hover+.___SGroupCell_f4lv7_gg_ .___SCell_f4lv7_gg_:not(.__theme_f4lv7_gg_),.___SRow_f4lv7_gg_:hover>.___SCell_f4lv7_gg_:not(.__theme_f4lv7_gg_){background-color:var(--intergalactic-table-td-cell-hover, #f0f0f4)}}.___SRow_f4lv7_gg_._theme_muted_f4lv7_gg_ .___SCell_f4lv7_gg_:not(.__theme_f4lv7_gg_){background-color:var(--intergalactic-table-td-cell-unread, #f4f5f9)}@media (hover:hover){.___SRow_f4lv7_gg_._theme_muted_f4lv7_gg_ .___SCell_f4lv7_gg_:hover+.___SGroupCell_f4lv7_gg_ .___SCell_f4lv7_gg_:not(.__theme_f4lv7_gg_),.___SRow_f4lv7_gg_._theme_muted_f4lv7_gg_:hover>.___SCell_f4lv7_gg_:not(.__theme_f4lv7_gg_),.___SRow_f4lv7_gg_:hover>.___SCell_f4lv7_gg_._theme_muted_f4lv7_gg_{background-color:var(--intergalactic-table-td-cell-hover, #f0f0f4)}}.___SRow_f4lv7_gg_._theme_info_f4lv7_gg_ .___SCell_f4lv7_gg_:not(.__theme_f4lv7_gg_){background-color:var(--intergalactic-table-td-cell-selected, #e9f7ff)}.___SRow_f4lv7_gg_._theme_info_f4lv7_gg_.__active_f4lv7_gg_>.___SCell_f4lv7_gg_:not(.__theme_f4lv7_gg_){background-color:var(--intergalactic-table-td-cell-selected-active, #c4e5fe)}@media (hover:hover){.___SRow_f4lv7_gg_._theme_info_f4lv7_gg_ .___SCell_f4lv7_gg_:hover+.___SGroupCell_f4lv7_gg_ .___SCell_f4lv7_gg_:not(.__theme_f4lv7_gg_),.___SRow_f4lv7_gg_._theme_info_f4lv7_gg_:hover>.___SCell_f4lv7_gg_:not(.__theme_f4lv7_gg_),.___SRow_f4lv7_gg_:hover>.___SCell_f4lv7_gg_._theme_info_f4lv7_gg_{background-color:var(--intergalactic-table-td-cell-selected-hover, #c4e5fe)}}.___SRow_f4lv7_gg_._theme_success_f4lv7_gg_ .___SCell_f4lv7_gg_:not(.__theme_f4lv7_gg_){background-color:var(--intergalactic-table-td-cell-new, #dbfee8)}.___SRow_f4lv7_gg_._theme_success_f4lv7_gg_.__active_f4lv7_gg_>.___SCell_f4lv7_gg_:not(.__theme_f4lv7_gg_){background-color:var(--intergalactic-table-td-cell-new-active, #9ef2c9)}@media (hover:hover){.___SRow_f4lv7_gg_._theme_success_f4lv7_gg_ .___SCell_f4lv7_gg_:hover+.___SGroupCell_f4lv7_gg_ .___SCell_f4lv7_gg_:not(.__theme_f4lv7_gg_),.___SRow_f4lv7_gg_._theme_success_f4lv7_gg_:hover>.___SCell_f4lv7_gg_:not(.__theme_f4lv7_gg_),.___SRow_f4lv7_gg_:hover>.___SCell_f4lv7_gg_._theme_success_f4lv7_gg_{background-color:var(--intergalactic-table-td-cell-new-hover, #9ef2c9)}}.___SRow_f4lv7_gg_._theme_warning_f4lv7_gg_ .___SCell_f4lv7_gg_:not(.__theme_f4lv7_gg_){background-color:var(--intergalactic-table-td-cell-warning, #fff3d9)}.___SRow_f4lv7_gg_._theme_warning_f4lv7_gg_.__active_f4lv7_gg_>.___SCell_f4lv7_gg_:not(.__theme_f4lv7_gg_){background-color:var(--intergalactic-table-td-cell-warning-active, #ffdca2)}@media (hover:hover){.___SRow_f4lv7_gg_._theme_warning_f4lv7_gg_ .___SCell_f4lv7_gg_:hover+.___SGroupCell_f4lv7_gg_ .___SCell_f4lv7_gg_:not(.__theme_f4lv7_gg_),.___SRow_f4lv7_gg_._theme_warning_f4lv7_gg_:hover>.___SCell_f4lv7_gg_:not(.__theme_f4lv7_gg_),.___SRow_f4lv7_gg_:hover>.___SCell_f4lv7_gg_._theme_warning_f4lv7_gg_{background-color:var(--intergalactic-table-td-cell-warning-hover, #ffdca2)}}.___SRow_f4lv7_gg_._theme_danger_f4lv7_gg_ .___SCell_f4lv7_gg_:not(.__theme_f4lv7_gg_){background-color:var(--intergalactic-table-td-cell-critical, #fff0f7)}.___SRow_f4lv7_gg_._theme_danger_f4lv7_gg_.__active_f4lv7_gg_>.___SCell_f4lv7_gg_:not(.__theme_f4lv7_gg_){background-color:var(--intergalactic-table-td-cell-critical-active, #ffd7df)}@media (hover:hover){.___SRow_f4lv7_gg_._theme_danger_f4lv7_gg_ .___SCell_f4lv7_gg_:hover+.___SGroupCell_f4lv7_gg_ .___SCell_f4lv7_gg_:not(.__theme_f4lv7_gg_),.___SRow_f4lv7_gg_._theme_danger_f4lv7_gg_:hover>.___SCell_f4lv7_gg_:not(.__theme_f4lv7_gg_),.___SRow_f4lv7_gg_:hover>.___SCell_f4lv7_gg_._theme_danger_f4lv7_gg_{background-color:var(--intergalactic-table-td-cell-critical-hover, #ffd7df)}}.___SRow_f4lv7_gg_.__positioned_f4lv7_gg_{position:absolute}.___SCell_f4lv7_gg_{display:flex;flex:1;flex-basis:auto;font-size:var(--intergalactic-fs-200, 14px);line-height:var(--intergalactic-lh-200, 142%);color:var(--intergalactic-text-primary, #191b23);box-sizing:border-box;border-bottom:1px solid var(--intergalactic-border-secondary, #e0e1e9);overflow:hidden;white-space:nowrap;font-feature-settings:\"tnum\";font-variant-numeric:tabular-nums}.___SCell_f4lv7_gg_._use_primary_f4lv7_gg_{padding:var(--intergalactic-spacing-3x, 12px);min-height:45px;background-color:var(--intergalactic-bg-primary-neutral, #ffffff)}.___SCell_f4lv7_gg_._use_secondary_f4lv7_gg_{padding:var(--intergalactic-spacing-2x, 8px);min-height:37px;background-color:var(--intergalactic-bg-primary-neutral, #ffffff)}.___SCell_f4lv7_gg_.__fixed_f4lv7_gg_{position:sticky;z-index:1}.___SCell_f4lv7_gg_._theme_muted_f4lv7_gg_{background-color:var(--intergalactic-table-td-cell-unread, #f4f5f9)}.___SCell_f4lv7_gg_._theme_info_f4lv7_gg_{background-color:var(--intergalactic-table-td-cell-selected, #e9f7ff)}.___SCell_f4lv7_gg_._theme_success_f4lv7_gg_{background-color:var(--intergalactic-table-td-cell-new, #dbfee8)}.___SCell_f4lv7_gg_._theme_warning_f4lv7_gg_{background-color:var(--intergalactic-table-td-cell-warning, #fff3d9)}.___SCell_f4lv7_gg_._theme_danger_f4lv7_gg_{background-color:var(--intergalactic-table-td-cell-critical, #fff0f7)}.___SScrollAreaBar_f4lv7_gg_._orientation_horizontal_f4lv7_gg_{position:sticky;bottom:0;left:0;margin-top:calc(-1*var(--intergalactic-spacing-3x, 12px));z-index:2;margin-left:calc(var(--left-offset_f4lv7) + var(--intergalactic-spacing-1x, 4px));margin-right:calc(var(--right-offset_f4lv7) + var(--intergalactic-spacing-1x, 4px));width:calc(100% - var(--offsetSum_f4lv7) - 8px)}.___SScrollAreaBar_f4lv7_gg_._orientation_vertical_f4lv7_gg_{width:12px}.___SHeightHold_f4lv7_gg_{position:absolute;top:0;width:100%;pointer-events:none;z-index:-1}" /*__inner_css_end__*/, "f4lv7_gg_") /*__reshadow_css_end__*/, {
32
+ "__SDataTable": "___SDataTable_f4lv7_gg_",
33
+ "__SHeadWrapper": "___SHeadWrapper_f4lv7_gg_",
34
+ "_sticky": "__sticky_f4lv7_gg_",
35
+ "__SHead": "___SHead_f4lv7_gg_",
36
+ "__SColumn": "___SColumn_f4lv7_gg_",
37
+ "_hidden": "__hidden_f4lv7_gg_",
38
+ "_use_primary": "_use_primary_f4lv7_gg_",
39
+ "_use_secondary": "_use_secondary_f4lv7_gg_",
40
+ "_group": "__group_f4lv7_gg_",
41
+ "_use": "__use_f4lv7_gg_",
42
+ "_groupHead": "__groupHead_f4lv7_gg_",
43
+ "_active": "__active_f4lv7_gg_",
44
+ "__SSortIcon": "___SSortIcon_f4lv7_gg_",
45
+ "_fixed": "__fixed_f4lv7_gg_",
46
+ "_borderLeft": "__borderLeft_f4lv7_gg_",
47
+ "__SCell": "___SCell_f4lv7_gg_",
48
+ "_borderRight": "__borderRight_f4lv7_gg_",
49
+ "__SSortWrapper": "___SSortWrapper_f4lv7_gg_",
50
+ "__SBodyWrapper": "___SBodyWrapper_f4lv7_gg_",
51
+ "__SBody": "___SBody_f4lv7_gg_",
52
+ "__SRow": "___SRow_f4lv7_gg_",
53
+ "_theme": "__theme_f4lv7_gg_",
54
+ "__SGroupCell": "___SGroupCell_f4lv7_gg_",
55
+ "_theme_muted": "_theme_muted_f4lv7_gg_",
56
+ "_theme_info": "_theme_info_f4lv7_gg_",
57
+ "_theme_success": "_theme_success_f4lv7_gg_",
58
+ "_theme_warning": "_theme_warning_f4lv7_gg_",
59
+ "_theme_danger": "_theme_danger_f4lv7_gg_",
60
+ "_positioned": "__positioned_f4lv7_gg_",
61
+ "__SScrollAreaBar": "___SScrollAreaBar_f4lv7_gg_",
62
+ "_orientation_horizontal": "_orientation_horizontal_f4lv7_gg_",
63
+ "--left-offset": "--left-offset_f4lv7",
64
+ "--right-offset": "--right-offset_f4lv7",
65
+ "--offsetSum": "--offsetSum_f4lv7",
66
+ "_orientation_vertical": "_orientation_vertical_f4lv7_gg_",
67
+ "__SHeightHold": "___SHeightHold_f4lv7_gg_",
68
+ "_compact": "__compact_f4lv7_gg_",
69
+ "_sortable": "__sortable_f4lv7_gg_",
70
+ "_justifyContent_right": "_justifyContent_right_f4lv7_gg_",
71
+ "_resizable": "__resizable_f4lv7_gg_"
71
72
  });
72
73
  var reversedSortDirection = {
73
74
  desc: 'asc',
@@ -1 +1 @@
1
- {"version":3,"file":"DataTable.js","names":["_core","_interopRequireWildcard","require","_react","_interopRequireDefault","_flexBox","_syncScroll","_assignProps2","_fire","_utils","_Head","_Body","_uniqueID","_excluded","_excluded2","style","sstyled","insert","reversedSortDirection","desc","asc","defaultSortDirection","ROW_GROUP","Symbol","exports","cssVarReg","createCssVarForWidth","name","concat","replace","setBorderGroupColumns","columns","side","firstColumn","lastColumn","length","borderLeft","borderRight","RootDefinitionTable","_Component","_inherits2","_super","_createSuper2","props","_this","_classCallCheck2","call","_defineProperty2","_assertThisInitialized2","React","createRef","event","column","find","fire","active","sortDirection","forceUpdate","_this$tableRef","_this$tableRef$curren","tableRef","current","scrollIntoView","block","inline","behavior","syncScroll","scrollBodyRef","scrollHeadRef","_createClass2","key","value","setVarStyle","_iterator","_createForOfIteratorHelper2","_step","s","n","done","setVar","_this$tableRef$curren2","setProperty","varWidth","width","err","e","f","childrenToColumns","children","_this2","options","arguments","undefined","fixed","sort","asProps","columnsChildren","Children","forEach","child","_column$props","isValidElement","type","DefinitionTable","Column","_ref3","_ref3$fixed","resizable","sortable","flex","vBorders","_objectWithoutProperties2","lastColumnChildren","isGroup","some","c","flattenColumns","map","_ref4","join","toArray","filter","columnChildren","_this$props$ref$curre","ref","getBoundingClientRect","_objectSpread2","forwardRef","parentColumns","unshift","push","getHeadProps","_this$asProps","use","uid","$onSortClick","callAllEventHandlers","handlerSortClick","scrollToUp","onResize","handlerResize","$scrollRef","getBodyProps","_this$asProps2","data","uniqueKey","cellPropsLayers","rowPropsLayers","_ref5","other","Cell","split","childrenPropsGetter","Row","rows","dataToRows","_this3","parseData","exclude","row","groupByName","columnsWithoutRowGroup","rowKey","columnNames","_iterator2","_step2","groupedColumns","groupData","rowsGroup","rowsGroupedNames","Object","fromEntries","flatMap","subRow","keys","cells","_groupByName$column$n","cssVar","flatRowData","componentDidUpdate","render","_ref","_ref2","SDataTable","Box","_this$asProps3","styles","createElement","cn","assignProps","Component","uniqueIDEnhancement","ComponentDefinition","createComponent","Head","Body","_default"],"sources":["../../src/DataTable.tsx"],"sourcesContent":["import React from 'react';\nimport { Property } from 'csstype';\nimport createComponent, {\n Component,\n PropGetterFn,\n Root,\n sstyled,\n UnknownProperties,\n Intergalactic,\n} from '@semcore/core';\nimport { Box, BoxProps, FlexProps } from '@semcore/flex-box';\nimport syncScroll from '@semcore/utils/lib/syncScroll';\nimport { callAllEventHandlers } from '@semcore/utils/lib/assignProps';\nimport fire from '@semcore/utils/lib/fire';\nimport { flattenColumns } from './utils';\nimport type {\n Column,\n NestedCells,\n PropsLayer,\n PseudoChildPropsGetter,\n RowData,\n SortDirection,\n} from './types';\nimport Head from './Head';\nimport Body from './Body';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\n\nimport style from './style/data-table.shadow.css';\n\nconst reversedSortDirection: { [direction in SortDirection]: SortDirection } = {\n desc: 'asc',\n asc: 'desc',\n};\nconst defaultSortDirection: SortDirection = 'desc';\n\nconst ROW_GROUP = Symbol('ROW_GROUP');\n\nconst cssVarReg = /[:;\\W]/g;\n\nconst createCssVarForWidth = (name: string) => {\n return `--${name.replace(cssVarReg, '_')}_width`;\n};\n\ntype AsProps = {\n use: 'primary' | 'secondary';\n sort: SortDirection[];\n data: RowData[];\n uniqueKey: string;\n uid?: string;\n};\n\ntype HeadAsProps = {\n children: React.ReactChild;\n uid: string;\n};\ntype BodyAsProps = {\n children: React.ReactChild;\n uid: string;\n};\n\nexport type DataTableData = { [key: string]: unknown };\nexport type DataTableSort<Columns extends string | number | symbol = string> = [\n sortBy: Columns,\n sortDirection: 'desc' | 'asc',\n];\nexport type DataTableTheme = 'muted' | 'info' | 'success' | 'warning' | 'danger';\nexport type DataTableUse = 'primary' | 'secondary';\nexport type DataTableRow = DataTableCell[];\nexport type DataTableCell = {\n /** Name of column */\n name: string;\n /** Data of column */\n data: React.ReactNode;\n [key: string]: unknown;\n};\n\n/** @deprecated */\nexport interface IDataTableProps<\n DataTableData extends { [key: string]: any }[] = UnknownProperties[],\n> extends DataTableProps<DataTableData> {}\nexport type DataTableProps<DataTableData extends { [key: string]: any }[] = UnknownProperties[]> =\n BoxProps & {\n /** Table theme according to visual hierarchy on the page\n * @default primary\n * */\n use?: DataTableUse;\n /** Data for table */\n data?: DataTableData;\n /** Active sort object */\n sort?: DataTableSort<keyof DataTableData[0]>;\n /** Handler call when request will change sort */\n onSortChange?: (sort: DataTableSort<keyof DataTableData[0]>, e?: React.SyntheticEvent) => void;\n /** Field name in one data entity that is unique accross all dataset\n * @default id\n */\n uniqueKey?: keyof DataTableData[0];\n /** Make cells compact by changing left and right paddings to smaller ones*/\n compact?: boolean;\n };\n\n/** @deprecated */\nexport interface IDataTableHeadProps extends DataTableHeadProps, UnknownProperties {}\nexport type DataTableHeadProps = BoxProps & {\n /** Sticky table header\n * @deprecated\n * */\n sticky?: boolean;\n\n /** Hidden header */\n hidden?: boolean;\n\n /** Disabled scroll */\n disabledScroll?: boolean;\n};\n\n/** @deprecated */\nexport interface IDataTableColumnProps extends DataTableColumnProps, UnknownProperties {}\nexport type DataTableColumnProps = FlexProps & {\n /** Unique column name */\n name?: string;\n /** Enable sorting for column. And if you are passing a string, you can also set the default sorting */\n sortable?: boolean | 'desc' | 'asc';\n /** Enable resize for column\n * @ignore */\n resizable?: boolean;\n /** Fix column on the left o right side of the table */\n fixed?: 'left' | 'right';\n /** Fields to control the size of the column */\n flex?: Property.Flex | 'inherit';\n /** Add vertical border to the column */\n vBorders?: boolean;\n /** Add vertical border to the right side of the cell */\n borderRight?: boolean;\n /** Add vertical border to the left side of the cell */\n borderLeft?: boolean;\n};\n\n/** @deprecated */\nexport interface IDataTableBodyProps extends DataTableBodyProps, UnknownProperties {}\nexport type DataTableBodyProps = BoxProps & {\n /** Rows table */\n rows?: DataTableRow[];\n /** When enabled, only visually acessable rows are rendered.\n * `tollerance` property controls how many rows outside of viewport are render.\n * `rowHeight` fixes the rows height if it has known. If not provided, first row node height is measured.\n * @default { tollerance: 2 }\n */\n virtualScroll?: boolean | { tollerance?: number; rowHeight?: number };\n /**\n * Called every time user scrolls area\n */\n onScroll?: (event: React.SyntheticEvent<HTMLElement>) => void;\n /** Disabled scroll */\n disabledScroll?: boolean;\n};\n\n/** @deprecated */\nexport interface IDataTableRowProps extends DataTableRowProps, UnknownProperties {}\nexport type DataTableRowProps = BoxProps & {\n /** Theme for row */\n theme?: DataTableTheme;\n /** Sets row state to active*/\n active?: boolean;\n};\n\n/** @deprecated */\nexport interface IDataTableCellProps extends DataTableCellProps, UnknownProperties {}\nexport type DataTableCellProps<Name extends string = string> = FlexProps & {\n /** Unique name for column or columns separated by / */\n name: Name;\n /** Theme for cell */\n theme?: DataTableTheme;\n};\n\nfunction setBorderGroupColumns(columns: Column[], side?: string) {\n const firstColumn = columns[0];\n const lastColumn = columns[columns.length - 1];\n if (firstColumn && (!side || side === 'left')) {\n firstColumn.borderLeft = true;\n if (firstColumn.columns) {\n setBorderGroupColumns(firstColumn.columns, 'left');\n }\n }\n if (lastColumn && (!side || side === 'right')) {\n lastColumn.borderRight = true;\n if (lastColumn.columns) {\n setBorderGroupColumns(lastColumn.columns, 'right');\n }\n }\n}\n\nclass RootDefinitionTable extends Component<AsProps> {\n static displayName = 'DefinitionTable';\n\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = {\n use: 'primary',\n uniqueKey: 'id',\n sort: [],\n data: [],\n } as AsProps;\n\n columns: Column[] = [];\n\n tableRef = React.createRef<HTMLElement>();\n scrollBodyRef: null | ReturnType<ReturnType<typeof syncScroll>> = null;\n scrollHeadRef: null | ReturnType<ReturnType<typeof syncScroll>> = null;\n\n constructor(props: AsProps) {\n super(props);\n\n const createRef = syncScroll();\n // first create body ref for master scroll\n this.scrollBodyRef = createRef('body');\n this.scrollHeadRef = createRef('head');\n }\n\n handlerSortClick = (name: string, event: React.MouseEvent) => {\n const column = this.columns.find((column) => column.name === name)!;\n return fire(\n this,\n 'onSortChange',\n [\n column.name,\n column.active ? reversedSortDirection[column.sortDirection] : column.sortDirection,\n ],\n event,\n );\n };\n\n handlerResize = () => {\n this.forceUpdate();\n };\n\n scrollToUp = () => {\n this.tableRef?.current?.scrollIntoView({\n block: 'nearest',\n inline: 'nearest',\n behavior: 'smooth',\n });\n };\n\n setVarStyle(columns: Column[]) {\n for (const column of columns) {\n if (column.setVar) {\n this.tableRef.current?.style.setProperty(column.varWidth, `${column.width}px`);\n }\n }\n }\n\n childrenToColumns(\n children: React.ReactNode,\n options: { fixed?: 'left' | 'right' } = { fixed: undefined },\n ) {\n const { sort } = this.asProps;\n const columnsChildren: Column[] = [];\n React.Children.forEach(children, (child) => {\n if (!React.isValidElement(child)) return;\n if (child.type !== DefinitionTable.Column) return;\n\n let {\n children,\n name,\n fixed = options.fixed,\n resizable,\n sortable,\n flex,\n vBorders,\n active,\n ...props\n } = child.props as Column['props'];\n const lastColumnChildren = columnsChildren[columnsChildren.length - 1];\n const isGroup = !name;\n let columns: Column[] | undefined;\n\n if (isGroup) {\n columns = this.childrenToColumns(children, { fixed });\n active = typeof active === 'boolean' ? active : columns.some((c) => c.active);\n\n if (vBorders) {\n setBorderGroupColumns(columns);\n }\n\n name = flattenColumns(columns)\n .map(({ name }) => name)\n .join('/');\n if (!columns.length) return;\n children = React.Children.toArray(children).filter(\n (child) => !(React.isValidElement(child) && child.type === DefinitionTable.Column),\n );\n }\n\n const column = this.columns.find((column) => column.name === name);\n const columnChildren = {\n get width() {\n // @ts-ignore\n return this.props.ref.current?.getBoundingClientRect().width || 0;\n },\n name,\n varWidth: createCssVarForWidth(name),\n setVar: flex !== 'inherit',\n fixed,\n resizable,\n active: typeof active === 'boolean' ? active : sort[0] === name,\n sortable,\n borderLeft: lastColumnChildren?.borderRight === true ? false : vBorders,\n borderRight: vBorders,\n sortDirection:\n sort[0] === name\n ? sort[1]\n : column?.sortDirection ||\n (typeof sortable === 'string' ? sortable : defaultSortDirection),\n props: {\n name,\n flex: flex === 'inherit' ? undefined : flex,\n ...props,\n // @ts-ignore\n forwardRef: child.ref,\n children,\n ref: column?.props?.ref || React.createRef(),\n },\n parentColumns: [],\n } as unknown as Column;\n\n if (columns) {\n columnChildren.columns = columns;\n columns.forEach((column) => column.parentColumns.unshift(columnChildren));\n }\n columnsChildren.push(columnChildren);\n });\n return columnsChildren;\n }\n\n getHeadProps(props: HeadAsProps) {\n const { use, uid } = this.asProps;\n const columnsChildren = this.childrenToColumns(props.children);\n\n this.columns = flattenColumns(columnsChildren);\n return {\n $onSortClick: callAllEventHandlers(this.handlerSortClick, this.scrollToUp),\n columnsChildren,\n use,\n onResize: this.handlerResize,\n $scrollRef: this.scrollHeadRef,\n uid,\n };\n }\n\n getBodyProps(props: BodyAsProps) {\n const { data, use, uniqueKey, uid } = this.asProps;\n const cellPropsLayers: { [columnName: string]: PropsLayer[] } = {};\n const rowPropsLayers: PropsLayer[] = [];\n\n React.Children.forEach(props.children, (child) => {\n if (React.isValidElement(child)) {\n const { name, children, ...other } = child.props as {\n name?: string;\n children?: PseudoChildPropsGetter;\n } & { [propName: string]: unknown };\n if (child.type === DefinitionTable.Cell && name) {\n name.split('/').forEach((name) => {\n cellPropsLayers[name] = cellPropsLayers[name] || [];\n cellPropsLayers[name].push({\n ...other,\n childrenPropsGetter: children,\n });\n });\n }\n if (child.type === DefinitionTable.Row) {\n rowPropsLayers.push({\n ...other,\n childrenPropsGetter: children,\n });\n }\n }\n });\n\n return {\n columns: this.columns,\n rows: this.dataToRows(data, cellPropsLayers),\n uniqueKey,\n use,\n rowPropsLayers,\n $scrollRef: this.scrollBodyRef,\n uid,\n };\n }\n\n dataToRows(data: RowData[], cellPropsLayers: { [columnName: string]: PropsLayer[] }) {\n const parseData = (data: RowData[], exclude: { [columnName: string]: true }) =>\n data.map((row) => {\n const groupByName: {\n [columnName: string]: {\n groupedColumns: string[];\n groupData: { [columnName: string]: unknown };\n };\n } = {};\n const columnsWithoutRowGroup: { [columnname: string]: true } = {};\n for (const rowKey in row) {\n const columnNames = rowKey.split('/');\n if (columnNames.length >= 2) {\n for (const column of columnNames) {\n groupByName[column] = {\n groupedColumns: columnNames,\n groupData: row[rowKey] as { [columnName: string]: unknown },\n };\n columnsWithoutRowGroup[column] = true;\n }\n } else {\n columnsWithoutRowGroup[rowKey] = true;\n }\n }\n\n const rowsGroup = row[ROW_GROUP] || [];\n const rowsGroupedNames = Object.fromEntries(\n rowsGroup\n .flatMap((subRow) => Object.keys(subRow))\n .flatMap((key) => key.split('/'))\n .map((key) => [key, true]),\n );\n\n let isGroup = false;\n\n const cells: NestedCells = this.columns\n .map((column) => {\n if (groupByName[column.name]) {\n const { groupedColumns, groupData } = groupByName[column.name];\n if (groupedColumns[0] === column.name) {\n return {\n name: groupedColumns.join('/'),\n cssVar: groupedColumns.map(createCssVarForWidth),\n fixed: column.fixed,\n data: groupData,\n cellPropsLayers: cellPropsLayers[column.name] || [],\n };\n }\n } else if (column.name in row) {\n return {\n name: column.name,\n cssVar: column.varWidth,\n fixed: column.fixed,\n data: row[column.name],\n cellPropsLayers: cellPropsLayers[column.name] || [],\n };\n } else if (!isGroup && rowsGroupedNames[column.name]) {\n // TODO: make it work not only with first group\n isGroup = true;\n return parseData(rowsGroup, {\n ...exclude,\n ...columnsWithoutRowGroup,\n });\n } else if (!exclude[column.name] && !rowsGroupedNames[column.name]) {\n // add empty cell if it is not present in data\n return {\n name: column.name,\n cssVar: column.varWidth,\n fixed: column.fixed,\n data: null,\n cellPropsLayers: cellPropsLayers[column.name] || [],\n };\n }\n })\n .filter((column) => column)\n .map((column) => column!);\n\n cells.flatRowData = row;\n return cells;\n });\n\n return parseData(data, {});\n }\n\n componentDidUpdate() {\n this.setVarStyle(this.columns);\n }\n\n render() {\n const SDataTable = Root;\n const { Children, styles, data } = this.asProps;\n\n return sstyled(styles)(\n <SDataTable\n render={Box}\n __excludeProps={['data']}\n ref={this.tableRef}\n role='table'\n aria-rowcount={(data ?? []).length}\n >\n <Children />\n </SDataTable>,\n );\n }\n}\n\ntype DataTableCtx = {\n getHeadProps: PropGetterFn;\n getBodyProps: PropGetterFn;\n};\n\nfunction ComponentDefinition() {\n return null;\n}\n\ntype IntergalacticDataTableComponent = (<\n Data extends DataTableData[],\n Tag extends Intergalactic.Tag = 'div',\n>(\n props: Intergalactic.InternalTypings.ComponentProps<\n Tag,\n 'div',\n DataTableProps<Data>,\n DataTableCtx,\n never\n >,\n) => Intergalactic.InternalTypings.ComponentRenderingResults) &\n Intergalactic.InternalTypings.ComponentAdditive<'div'>;\n\ntype IntergalacticDataTableRowComponent = (<\n Data extends DataTableData[],\n Tag extends Intergalactic.Tag = 'div',\n>(\n props: Intergalactic.InternalTypings.PropsRenderingResultComponentProps<\n Tag,\n DataTableRowProps & {\n /**\n * That property is ONLY used for the component strict typings. In the component runtime `data` prop set on `<DataTable>...</DataTable> is used.\n */\n data?: Data;\n },\n DataTableCtx & { data: Data },\n [row: Data[0], index: number]\n >,\n) => Intergalactic.InternalTypings.ComponentRenderingResults) &\n Intergalactic.InternalTypings.ComponentAdditive<'div'>;\n\ntype IntergalacticDataTableCellComponent = (<\n Data extends DataTableData[] = [],\n Name extends string = string,\n Tag extends Intergalactic.Tag = 'div',\n>(\n props: Intergalactic.InternalTypings.PropsRenderingResultComponentProps<\n Tag,\n DataTableCellProps<Name> & {\n /**\n * That property is ONLY used for the componenct strict typings. In the component runtime `data` prop set on `<DataTable>...</DataTable> is used.\n */\n data?: Data;\n },\n DataTableCtx & { data: Data },\n [row: Data[0], index: number]\n >,\n) => Intergalactic.InternalTypings.ComponentRenderingResults) &\n Intergalactic.InternalTypings.ComponentAdditive<'div'>;\n\nconst DefinitionTable = createComponent(\n RootDefinitionTable,\n {\n Head,\n Body,\n Column: ComponentDefinition,\n Cell: ComponentDefinition,\n Row: ComponentDefinition,\n },\n {},\n) as IntergalacticDataTableComponent & {\n Head: Intergalactic.Component<'div', DataTableHeadProps>;\n Body: Intergalactic.Component<'div', DataTableBodyProps>;\n Column: Intergalactic.Component<'div', DataTableColumnProps>;\n Row: IntergalacticDataTableRowComponent;\n Cell: IntergalacticDataTableCellComponent;\n};\n\nexport { ROW_GROUP };\nexport default DefinitionTable;\n"],"mappings":"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"}
1
+ {"version":3,"file":"DataTable.js","names":["_core","_interopRequireWildcard","require","_react","_interopRequireDefault","_flexBox","_syncScroll","_assignProps2","_fire","_utils","_Head","_Body","_uniqueID","_excluded","_excluded2","style","sstyled","insert","reversedSortDirection","desc","asc","defaultSortDirection","ROW_GROUP","Symbol","exports","cssVarReg","createCssVarForWidth","name","concat","replace","setBorderGroupColumns","columns","side","firstColumn","lastColumn","length","borderLeft","borderRight","RootDefinitionTable","_Component","_inherits2","_super","_createSuper2","props","_this","_classCallCheck2","call","_defineProperty2","_assertThisInitialized2","React","createRef","event","column","find","fire","active","sortDirection","forceUpdate","_this$tableRef","_this$tableRef$curren","tableRef","current","scrollIntoView","block","inline","behavior","syncScroll","scrollBodyRef","scrollHeadRef","_createClass2","key","value","setVarStyle","_iterator","_createForOfIteratorHelper2","_step","s","n","done","setVar","_this$tableRef$curren2","setProperty","varWidth","width","err","e","f","childrenToColumns","children","_this2","options","arguments","undefined","fixed","sort","asProps","columnsChildren","Children","forEach","child","_column$props","isValidElement","type","DefinitionTable","Column","_ref3","_ref3$fixed","resizable","sortable","flex","vBorders","_objectWithoutProperties2","lastColumnChildren","isGroup","some","c","flattenColumns","map","_ref4","join","toArray","filter","columnChildren","_this$props$ref$curre","ref","getBoundingClientRect","_objectSpread2","forwardRef","parentColumns","unshift","push","getHeadProps","_this$asProps","use","uid","$onSortClick","callAllEventHandlers","handlerSortClick","scrollToUp","onResize","handlerResize","$scrollRef","getBodyProps","_this$asProps2","data","uniqueKey","cellPropsLayers","rowPropsLayers","_ref5","other","Cell","split","childrenPropsGetter","Row","rows","dataToRows","_this3","parseData","exclude","row","groupByName","columnsWithoutRowGroup","rowKey","columnNames","_iterator2","_step2","groupedColumns","groupData","rowsGroup","rowsGroupedNames","Object","fromEntries","flatMap","subRow","keys","cells","_groupByName$column$n","cssVar","flatRowData","componentDidUpdate","render","_ref","_ref2","SDataTable","Box","_this$asProps3","styles","createElement","cn","assignProps","Component","uniqueIDEnhancement","ComponentDefinition","createComponent","Head","Body","_default"],"sources":["../../src/DataTable.tsx"],"sourcesContent":["import React from 'react';\nimport { Property } from 'csstype';\nimport createComponent, {\n Component,\n PropGetterFn,\n Root,\n sstyled,\n UnknownProperties,\n Intergalactic,\n} from '@semcore/core';\nimport { Box, BoxProps, FlexProps } from '@semcore/flex-box';\nimport syncScroll from '@semcore/utils/lib/syncScroll';\nimport { callAllEventHandlers } from '@semcore/utils/lib/assignProps';\nimport fire from '@semcore/utils/lib/fire';\nimport { flattenColumns } from './utils';\nimport type {\n Column,\n NestedCells,\n PropsLayer,\n PseudoChildPropsGetter,\n RowData,\n SortDirection,\n} from './types';\nimport Head from './Head';\nimport Body from './Body';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\n\nimport style from './style/data-table.shadow.css';\n\nconst reversedSortDirection: { [direction in SortDirection]: SortDirection } = {\n desc: 'asc',\n asc: 'desc',\n};\nconst defaultSortDirection: SortDirection = 'desc';\n\nconst ROW_GROUP = Symbol('ROW_GROUP');\n\nconst cssVarReg = /[:;\\W]/g;\n\nconst createCssVarForWidth = (name: string) => {\n return `--${name.replace(cssVarReg, '_')}_width`;\n};\n\ntype AsProps = {\n use: 'primary' | 'secondary';\n sort: SortDirection[];\n data: RowData[];\n uniqueKey: string;\n uid?: string;\n};\n\ntype HeadAsProps = {\n children: React.ReactChild;\n uid: string;\n};\ntype BodyAsProps = {\n children: React.ReactChild;\n uid: string;\n};\n\nexport type DataTableData = { [key: string]: unknown };\nexport type DataTableSort<Columns extends string | number | symbol = string> = [\n sortBy: Columns,\n sortDirection: 'desc' | 'asc',\n];\nexport type DataTableTheme = 'muted' | 'info' | 'success' | 'warning' | 'danger';\nexport type DataTableUse = 'primary' | 'secondary';\nexport type DataTableRow = DataTableCell[];\nexport type DataTableCell = {\n /** Name of column */\n name: string;\n /** Data of column */\n data: React.ReactNode;\n [key: string]: unknown;\n};\n\n/** @deprecated */\nexport interface IDataTableProps<\n DataTableData extends { [key: string]: any }[] = UnknownProperties[],\n> extends DataTableProps<DataTableData> {}\nexport type DataTableProps<DataTableData extends { [key: string]: any }[] = UnknownProperties[]> =\n BoxProps & {\n /** Table theme according to visual hierarchy on the page\n * @default primary\n * */\n use?: DataTableUse;\n /** Data for table */\n data?: DataTableData;\n /** Active sort object */\n sort?: DataTableSort<keyof DataTableData[0]>;\n /** Handler call when request will change sort */\n onSortChange?: (sort: DataTableSort<keyof DataTableData[0]>, e?: React.SyntheticEvent) => void;\n /** Field name in one data entity that is unique accross all dataset\n * @default id\n */\n uniqueKey?: keyof DataTableData[0];\n /** Make cells compact by changing left and right paddings to smaller ones*/\n compact?: boolean;\n };\n\n/** @deprecated */\nexport interface IDataTableHeadProps extends DataTableHeadProps, UnknownProperties {}\nexport type DataTableHeadProps = BoxProps & {\n /** Sticky table header\n * @deprecated\n * */\n sticky?: boolean;\n\n /** Hidden header */\n hidden?: boolean;\n\n /** Disabled scroll */\n disabledScroll?: boolean;\n};\n\n/** @deprecated */\nexport interface IDataTableColumnProps extends DataTableColumnProps, UnknownProperties {}\nexport type DataTableColumnProps = FlexProps & {\n /** Unique column name */\n name?: string;\n /** Enable sorting for column. And if you are passing a string, you can also set the default sorting */\n sortable?: boolean | 'desc' | 'asc';\n /** Enable resize for column\n * @ignore */\n resizable?: boolean;\n /** Fix column on the left o right side of the table */\n fixed?: 'left' | 'right';\n /** Fields to control the size of the column */\n flex?: Property.Flex | 'inherit';\n /** Add vertical border to the column */\n vBorders?: boolean;\n /** Add vertical border to the right side of the cell */\n borderRight?: boolean;\n /** Add vertical border to the left side of the cell */\n borderLeft?: boolean;\n};\n\n/** @deprecated */\nexport interface IDataTableBodyProps extends DataTableBodyProps, UnknownProperties {}\nexport type DataTableBodyProps = BoxProps & {\n /** Rows table */\n rows?: DataTableRow[];\n /** When enabled, only visually acessable rows are rendered.\n * `tollerance` property controls how many rows outside of viewport are render.\n * `rowHeight` fixes the rows height if it has known. If not provided, first row node height is measured.\n * @default { tollerance: 2 }\n */\n virtualScroll?: boolean | { tollerance?: number; rowHeight?: number };\n /**\n * Called every time user scrolls area\n */\n onScroll?: (event: React.SyntheticEvent<HTMLElement>) => void;\n /** Disabled scroll */\n disabledScroll?: boolean;\n};\n\n/** @deprecated */\nexport interface IDataTableRowProps extends DataTableRowProps, UnknownProperties {}\nexport type DataTableRowProps = BoxProps & {\n /** Theme for row */\n theme?: DataTableTheme;\n /** Sets row state to active*/\n active?: boolean;\n};\n\n/** @deprecated */\nexport interface IDataTableCellProps extends DataTableCellProps, UnknownProperties {}\nexport type DataTableCellProps<Name extends string = string> = FlexProps & {\n /** Unique name for column or columns separated by / */\n name: Name;\n /** Theme for cell */\n theme?: DataTableTheme;\n};\n\nfunction setBorderGroupColumns(columns: Column[], side?: string) {\n const firstColumn = columns[0];\n const lastColumn = columns[columns.length - 1];\n if (firstColumn && (!side || side === 'left')) {\n firstColumn.borderLeft = true;\n if (firstColumn.columns) {\n setBorderGroupColumns(firstColumn.columns, 'left');\n }\n }\n if (lastColumn && (!side || side === 'right')) {\n lastColumn.borderRight = true;\n if (lastColumn.columns) {\n setBorderGroupColumns(lastColumn.columns, 'right');\n }\n }\n}\n\nclass RootDefinitionTable extends Component<AsProps> {\n static displayName = 'DefinitionTable';\n\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = {\n use: 'primary',\n uniqueKey: 'id',\n sort: [],\n data: [],\n } as AsProps;\n\n columns: Column[] = [];\n\n tableRef = React.createRef<HTMLElement>();\n scrollBodyRef: null | ReturnType<ReturnType<typeof syncScroll>> = null;\n scrollHeadRef: null | ReturnType<ReturnType<typeof syncScroll>> = null;\n\n constructor(props: AsProps) {\n super(props);\n\n const createRef = syncScroll();\n // first create body ref for master scroll\n this.scrollBodyRef = createRef('body');\n this.scrollHeadRef = createRef('head');\n }\n\n handlerSortClick = (name: string, event: React.MouseEvent) => {\n const column = this.columns.find((column) => column.name === name)!;\n return fire(\n this,\n 'onSortChange',\n [\n column.name,\n column.active ? reversedSortDirection[column.sortDirection] : column.sortDirection,\n ],\n event,\n );\n };\n\n handlerResize = () => {\n this.forceUpdate();\n };\n\n scrollToUp = () => {\n this.tableRef?.current?.scrollIntoView({\n block: 'nearest',\n inline: 'nearest',\n behavior: 'smooth',\n });\n };\n\n setVarStyle(columns: Column[]) {\n for (const column of columns) {\n if (column.setVar) {\n this.tableRef.current?.style.setProperty(column.varWidth, `${column.width}px`);\n }\n }\n }\n\n childrenToColumns(\n children: React.ReactNode,\n options: { fixed?: 'left' | 'right' } = { fixed: undefined },\n ) {\n const { sort } = this.asProps;\n const columnsChildren: Column[] = [];\n React.Children.forEach(children, (child) => {\n if (!React.isValidElement(child)) return;\n if (child.type !== DefinitionTable.Column) return;\n\n let {\n children,\n name,\n fixed = options.fixed,\n resizable,\n sortable,\n flex,\n vBorders,\n active,\n ...props\n } = child.props as Column['props'];\n const lastColumnChildren = columnsChildren[columnsChildren.length - 1];\n const isGroup = !name;\n let columns: Column[] | undefined;\n\n if (isGroup) {\n columns = this.childrenToColumns(children, { fixed });\n active = typeof active === 'boolean' ? active : columns.some((c) => c.active);\n\n if (vBorders) {\n setBorderGroupColumns(columns);\n }\n\n name = flattenColumns(columns)\n .map(({ name }) => name)\n .join('/');\n if (!columns.length) return;\n children = React.Children.toArray(children).filter(\n (child) => !(React.isValidElement(child) && child.type === DefinitionTable.Column),\n );\n }\n\n const column = this.columns.find((column) => column.name === name);\n const columnChildren = {\n get width() {\n // @ts-ignore\n return this.props.ref.current?.getBoundingClientRect().width || 0;\n },\n name,\n varWidth: createCssVarForWidth(name),\n setVar: flex !== 'inherit',\n fixed,\n resizable,\n active: typeof active === 'boolean' ? active : sort[0] === name,\n sortable,\n borderLeft: lastColumnChildren?.borderRight === true ? false : vBorders,\n borderRight: vBorders,\n sortDirection:\n sort[0] === name\n ? sort[1]\n : column?.sortDirection ||\n (typeof sortable === 'string' ? sortable : defaultSortDirection),\n props: {\n name,\n flex: flex === 'inherit' ? undefined : flex,\n ...props,\n // @ts-ignore\n forwardRef: child.ref,\n children,\n ref: column?.props?.ref || React.createRef(),\n },\n parentColumns: [],\n } as unknown as Column;\n\n if (columns) {\n columnChildren.columns = columns;\n columns.forEach((column) => column.parentColumns.unshift(columnChildren));\n }\n columnsChildren.push(columnChildren);\n });\n return columnsChildren;\n }\n\n getHeadProps(props: HeadAsProps) {\n const { use, uid } = this.asProps;\n const columnsChildren = this.childrenToColumns(props.children);\n\n this.columns = flattenColumns(columnsChildren);\n return {\n $onSortClick: callAllEventHandlers(this.handlerSortClick, this.scrollToUp),\n columnsChildren,\n use,\n onResize: this.handlerResize,\n $scrollRef: this.scrollHeadRef,\n uid,\n };\n }\n\n getBodyProps(props: BodyAsProps) {\n const { data, use, uniqueKey, uid } = this.asProps;\n const cellPropsLayers: { [columnName: string]: PropsLayer[] } = {};\n const rowPropsLayers: PropsLayer[] = [];\n\n React.Children.forEach(props.children, (child) => {\n if (React.isValidElement(child)) {\n const { name, children, ...other } = child.props as {\n name?: string;\n children?: PseudoChildPropsGetter;\n } & { [propName: string]: unknown };\n if (child.type === DefinitionTable.Cell && name) {\n name.split('/').forEach((name) => {\n cellPropsLayers[name] = cellPropsLayers[name] || [];\n cellPropsLayers[name].push({\n ...other,\n childrenPropsGetter: children,\n });\n });\n }\n if (child.type === DefinitionTable.Row) {\n rowPropsLayers.push({\n ...other,\n childrenPropsGetter: children,\n });\n }\n }\n });\n\n return {\n columns: this.columns,\n rows: this.dataToRows(data, cellPropsLayers),\n uniqueKey,\n use,\n rowPropsLayers,\n $scrollRef: this.scrollBodyRef,\n uid,\n };\n }\n\n dataToRows(data: RowData[], cellPropsLayers: { [columnName: string]: PropsLayer[] }) {\n const parseData = (data: RowData[], exclude: { [columnName: string]: true }) =>\n data.map((row) => {\n const groupByName: {\n [columnName: string]: {\n groupedColumns: string[];\n groupData: { [columnName: string]: unknown };\n };\n } = {};\n const columnsWithoutRowGroup: { [columnname: string]: true } = {};\n for (const rowKey in row) {\n const columnNames = rowKey.split('/');\n if (columnNames.length >= 2) {\n for (const column of columnNames) {\n groupByName[column] = {\n groupedColumns: columnNames,\n groupData: row[rowKey] as { [columnName: string]: unknown },\n };\n columnsWithoutRowGroup[column] = true;\n }\n } else {\n columnsWithoutRowGroup[rowKey] = true;\n }\n }\n\n const rowsGroup = row[ROW_GROUP] || [];\n const rowsGroupedNames = Object.fromEntries(\n rowsGroup\n .flatMap((subRow) => Object.keys(subRow))\n .flatMap((key) => key.split('/'))\n .map((key) => [key, true]),\n );\n\n let isGroup = false;\n\n const cells: NestedCells = this.columns\n .map((column) => {\n if (groupByName[column.name]) {\n const { groupedColumns, groupData } = groupByName[column.name];\n if (groupedColumns[0] === column.name) {\n return {\n name: groupedColumns.join('/'),\n cssVar: groupedColumns.map(createCssVarForWidth),\n fixed: column.fixed,\n data: groupData,\n cellPropsLayers: cellPropsLayers[column.name] || [],\n };\n }\n } else if (column.name in row) {\n return {\n name: column.name,\n cssVar: column.varWidth,\n fixed: column.fixed,\n data: row[column.name],\n cellPropsLayers: cellPropsLayers[column.name] || [],\n };\n } else if (!isGroup && rowsGroupedNames[column.name]) {\n // TODO: make it work not only with first group\n isGroup = true;\n return parseData(rowsGroup, {\n ...exclude,\n ...columnsWithoutRowGroup,\n });\n } else if (!exclude[column.name] && !rowsGroupedNames[column.name]) {\n // add empty cell if it is not present in data\n return {\n name: column.name,\n cssVar: column.varWidth,\n fixed: column.fixed,\n data: null,\n cellPropsLayers: cellPropsLayers[column.name] || [],\n };\n }\n })\n .filter((column) => column)\n .map((column) => column!);\n\n cells.flatRowData = row;\n return cells;\n });\n\n return parseData(data, {});\n }\n\n componentDidUpdate() {\n this.setVarStyle(this.columns);\n }\n\n render() {\n const SDataTable = Root;\n const { Children, styles, data } = this.asProps;\n\n return sstyled(styles)(\n <SDataTable\n render={Box}\n __excludeProps={['data']}\n ref={this.tableRef}\n role='table'\n aria-rowcount={(data ?? []).length}\n >\n <Children />\n </SDataTable>,\n );\n }\n}\n\ntype DataTableCtx = {\n getHeadProps: PropGetterFn;\n getBodyProps: PropGetterFn;\n};\n\nfunction ComponentDefinition() {\n return null;\n}\n\ntype IntergalacticDataTableComponent = (<\n Data extends DataTableData[],\n Tag extends Intergalactic.Tag = 'div',\n>(\n props: Intergalactic.InternalTypings.ComponentProps<\n Tag,\n 'div',\n DataTableProps<Data>,\n DataTableCtx,\n never\n >,\n) => Intergalactic.InternalTypings.ComponentRenderingResults) &\n Intergalactic.InternalTypings.ComponentAdditive<'div'>;\n\ntype IntergalacticDataTableRowComponent = (<\n Data extends DataTableData[],\n Tag extends Intergalactic.Tag = 'div',\n>(\n props: Intergalactic.InternalTypings.PropsRenderingResultComponentProps<\n Tag,\n DataTableRowProps & {\n /**\n * That property is ONLY used for the component strict typings. In the component runtime `data` prop set on `<DataTable>...</DataTable> is used.\n */\n data?: Data;\n },\n DataTableCtx & { data: Data },\n [row: Data[0], index: number]\n >,\n) => Intergalactic.InternalTypings.ComponentRenderingResults) &\n Intergalactic.InternalTypings.ComponentAdditive<'div'>;\n\ntype IntergalacticDataTableCellComponent = (<\n Data extends DataTableData[] = [],\n Name extends string = string,\n Tag extends Intergalactic.Tag = 'div',\n>(\n props: Intergalactic.InternalTypings.PropsRenderingResultComponentProps<\n Tag,\n DataTableCellProps<Name> & {\n /**\n * That property is ONLY used for the componenct strict typings. In the component runtime `data` prop set on `<DataTable>...</DataTable> is used.\n */\n data?: Data;\n },\n DataTableCtx & { data: Data },\n [row: Data[0], index: number]\n >,\n) => Intergalactic.InternalTypings.ComponentRenderingResults) &\n Intergalactic.InternalTypings.ComponentAdditive<'div'>;\n\nconst DefinitionTable = createComponent(\n RootDefinitionTable,\n {\n Head,\n Body,\n Column: ComponentDefinition,\n Cell: ComponentDefinition,\n Row: ComponentDefinition,\n },\n {},\n) as IntergalacticDataTableComponent & {\n Head: Intergalactic.Component<'div', DataTableHeadProps>;\n Body: Intergalactic.Component<'div', DataTableBodyProps>;\n Column: Intergalactic.Component<'div', DataTableColumnProps>;\n Row: IntergalacticDataTableRowComponent;\n Cell: IntergalacticDataTableCellComponent;\n};\n\nexport { ROW_GROUP };\nexport default DefinitionTable;\n"],"mappings":"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"}
@@ -90,12 +90,20 @@ SColumn[sortable] {
90
90
  background-color: var(--intergalactic-table-th-primary-cell-hover, #e0e1e9);
91
91
  }
92
92
 
93
- &:hover SSortWrapper, &:focus SSortWrapper {
93
+ &[justifyContent='right'] SSortWrapper {
94
+ position: absolute;
95
+ right: calc(var(--intergalactic-spacing-1x, 4px) + 16px);
96
+ }
97
+ &[justifyContent='right']:hover SSortWrapper, &[justifyContent='right']:focus SSortWrapper, &[justifyContent='right'][active] SSortWrapper {
98
+ right: var(--intergalactic-spacing-3x, 12px);
99
+ }
100
+
101
+ &:hover SSortWrapper, &:focus SSortWrapper, &[active] SSortWrapper {
94
102
  flex-basis: calc(var(--intergalactic-spacing-1x, 4px) + 16px);
95
103
  opacity: 1;
96
104
  }
97
105
 
98
- &:hover SSortWrapper:before, &:focus SSortWrapper:before {
106
+ &:hover SSortWrapper:before, &:focus SSortWrapper:before, &[active] SSortWrapper:before {
99
107
  display: block;
100
108
  opacity: 1;
101
109
  }
@@ -111,14 +119,8 @@ SColumn[use='primary'][active] {
111
119
  width: 100%;
112
120
  }
113
121
 
114
- SColumn[active] SSortWrapper {
115
- flex-basis: calc(var(--intergalactic-spacing-1x, 4px) + 16px);
116
- opacity: 1;
117
- }
118
-
119
122
  SColumn[active] SSortIcon {
120
123
  display: block;
121
- position: relative;
122
124
  opacity: 1;
123
125
  }
124
126
 
@@ -162,9 +164,9 @@ SSortWrapper {
162
164
  flex-shrink: 99999;
163
165
  position: relative;
164
166
  flex-basis: 0;
165
- height: 100%;
166
167
  min-height: 16px;
167
168
  opacity: 0;
169
+ transition: all calc(var(--intergalactic-duration-medium, 300) * 1ms) ease;
168
170
  }
169
171
 
170
172
  SSortWrapper:before {
@@ -22,46 +22,47 @@ import Head from './Head';
22
22
  import Body from './Body';
23
23
  import uniqueIDEnhancement from 'intergalactic/utils/lib/uniqueID';
24
24
  /*__reshadow-styles__:"./style/data-table.shadow.css"*/
25
- var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SDataTable_4023j_gg_,.___SHeadWrapper_4023j_gg_{position:relative}.___SDataTable_4023j_gg_.__compact_4023j_gg_ .___SCell_4023j_gg_,.___SDataTable_4023j_gg_.__compact_4023j_gg_ .___SColumn_4023j_gg_{padding:var(--intergalactic-spacing-3x, 12px) var(--intergalactic-spacing-2x, 8px)}.___SHeadWrapper_4023j_gg_.__sticky_4023j_gg_{position:sticky;top:0;z-index:2}.___SHead_4023j_gg_{display:flex;position:relative;flex-direction:row;min-width:-moz-fit-content;min-width:fit-content;z-index:0}.___SColumn_4023j_gg_{display:flex;align-items:flex-start;flex-grow:1;font-size:var(--intergalactic-fs-100, 12px);line-height:var(--intergalactic-lh-100, 133%);color:var(--intergalactic-text-primary, #191b23);box-sizing:border-box;position:relative}.___SColumn_4023j_gg_:focus-visible{outline:0;box-shadow:inset var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5))}.___SColumn_4023j_gg_.__hidden_4023j_gg_{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border-width:0!important}.___SColumn_4023j_gg_._use_primary_4023j_gg_{padding:var(--intergalactic-spacing-3x, 12px);border-bottom:1px solid var(--intergalactic-border-secondary, #e0e1e9);background-color:var(--intergalactic-table-th-primary-cell, #f4f5f9)}.___SColumn_4023j_gg_._use_secondary_4023j_gg_{padding:var(--intergalactic-spacing-2x, 8px);border-bottom:1px solid var(--intergalactic-border-table-accent, #a9abb6);background-color:var(--intergalactic-table-th-secondary-cell, #ffffff)}.___SColumn_4023j_gg_.__group_4023j_gg_.__use_4023j_gg_{display:flex;flex-wrap:wrap;flex-direction:column;align-items:normal;border-bottom:none;padding:0}.___SColumn_4023j_gg_.__groupHead_4023j_gg_{justify-content:center;z-index:1;border-bottom:none}.___SColumn_4023j_gg_.__sortable_4023j_gg_{cursor:pointer}.___SColumn_4023j_gg_.__sortable_4023j_gg_._use_primary_4023j_gg_:focus{background-color:var(--intergalactic-table-th-primary-cell-hover, #e0e1e9)}@media (hover:hover){.___SColumn_4023j_gg_.__sortable_4023j_gg_._use_primary_4023j_gg_:hover{background-color:var(--intergalactic-table-th-primary-cell-hover, #e0e1e9)}}.___SColumn_4023j_gg_.__sortable_4023j_gg_:focus .___SSortWrapper_4023j_gg_{flex-basis:calc(var(--intergalactic-spacing-1x, 4px) + 16px);opacity:1}@media (hover:hover){.___SColumn_4023j_gg_.__sortable_4023j_gg_:hover .___SSortWrapper_4023j_gg_{flex-basis:calc(var(--intergalactic-spacing-1x, 4px) + 16px);opacity:1}}.___SColumn_4023j_gg_.__sortable_4023j_gg_:focus .___SSortIcon_4023j_gg_,.___SColumn_4023j_gg_.__sortable_4023j_gg_:focus .___SSortWrapper_4023j_gg_:before{display:block;opacity:1}@media (hover:hover){.___SColumn_4023j_gg_.__sortable_4023j_gg_:hover .___SSortWrapper_4023j_gg_:before{display:block;opacity:1}}@media (hover:hover){.___SColumn_4023j_gg_.__sortable_4023j_gg_:hover .___SSortIcon_4023j_gg_{display:block;opacity:1}}.___SColumn_4023j_gg_._use_primary_4023j_gg_.__active_4023j_gg_{background-color:var(--intergalactic-table-th-primary-cell-active, #e0e1e9);width:100%}.___SColumn_4023j_gg_.__active_4023j_gg_ .___SSortWrapper_4023j_gg_{flex-basis:calc(var(--intergalactic-spacing-1x, 4px) + 16px);opacity:1}.___SColumn_4023j_gg_.__active_4023j_gg_ .___SSortIcon_4023j_gg_{display:block;position:relative;opacity:1}.___SColumn_4023j_gg_.__resizable_4023j_gg_{border-right:1px solid transparent}@media (hover:hover){.___SColumn_4023j_gg_.__resizable_4023j_gg_:hover:after{border-right-color:var(--intergalactic-border-table-accent, #a9abb6)}}.___SColumn_4023j_gg_.__resizable_4023j_gg_:after{content:\"\";position:absolute;bottom:0;right:-1px;height:100%;width:5px;background:0 0;cursor:col-resize;border-right:1px solid transparent}.___SColumn_4023j_gg_.__fixed_4023j_gg_{position:sticky;z-index:2}.___SCell_4023j_gg_.__borderLeft_4023j_gg_,.___SColumn_4023j_gg_.__borderLeft_4023j_gg_{border-left:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SCell_4023j_gg_.__borderRight_4023j_gg_,.___SColumn_4023j_gg_.__borderRight_4023j_gg_{border-right:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SSortWrapper_4023j_gg_{flex-shrink:99999;position:relative;flex-basis:0;height:100%;min-height:16px;opacity:0}.___SSortIcon_4023j_gg_,.___SSortWrapper_4023j_gg_:before{display:none;position:absolute;right:0;opacity:0;transition:opacity .3s ease}.___SSortWrapper_4023j_gg_:before{content:\"\";top:0;width:20px;height:100%}.___SSortIcon_4023j_gg_{fill:var(--intergalactic-icon-secondary-neutral-hover-active, #878992);top:calc(1em*1.25 - 16px);margin-left:var(--intergalactic-spacing-1x, 4px)}.___SColumn_4023j_gg_._use_primary_4023j_gg_ .___SSortWrapper_4023j_gg_:before{background:linear-gradient(270deg,var(--intergalactic-table-th-primary-cell-hover, #e0e1e9) 67.5%,rgba(224,225,233,0) 105%)}.___SColumn_4023j_gg_._use_secondary_4023j_gg_ .___SSortWrapper_4023j_gg_:before{background:linear-gradient(270deg,var(--intergalactic-table-th-secondary-cell, #ffffff) 67.5%,rgba(255,255,255,0) 105%)}.___SBodyWrapper_4023j_gg_{position:relative}.___SBody_4023j_gg_{display:flex;flex-direction:column;position:relative;min-width:-moz-fit-content;min-width:fit-content}.___SRow_4023j_gg_{display:flex;flex-direction:row;position:relative}.___SRow_4023j_gg_.__active_4023j_gg_>.___SCell_4023j_gg_:not(.__theme_4023j_gg_),.___SRow_4023j_gg_._theme_muted_4023j_gg_.__active_4023j_gg_>.___SCell_4023j_gg_:not(.__theme_4023j_gg_){background-color:var(--intergalactic-table-td-cell-active, #e6e7ed)}@media (hover:hover){.___SRow_4023j_gg_ .___SCell_4023j_gg_:hover+.___SGroupCell_4023j_gg_ .___SCell_4023j_gg_:not(.__theme_4023j_gg_),.___SRow_4023j_gg_:hover>.___SCell_4023j_gg_:not(.__theme_4023j_gg_){background-color:var(--intergalactic-table-td-cell-hover, #f0f0f4)}}.___SRow_4023j_gg_._theme_muted_4023j_gg_ .___SCell_4023j_gg_:not(.__theme_4023j_gg_){background-color:var(--intergalactic-table-td-cell-unread, #f4f5f9)}@media (hover:hover){.___SRow_4023j_gg_._theme_muted_4023j_gg_ .___SCell_4023j_gg_:hover+.___SGroupCell_4023j_gg_ .___SCell_4023j_gg_:not(.__theme_4023j_gg_),.___SRow_4023j_gg_._theme_muted_4023j_gg_:hover>.___SCell_4023j_gg_:not(.__theme_4023j_gg_),.___SRow_4023j_gg_:hover>.___SCell_4023j_gg_._theme_muted_4023j_gg_{background-color:var(--intergalactic-table-td-cell-hover, #f0f0f4)}}.___SRow_4023j_gg_._theme_info_4023j_gg_ .___SCell_4023j_gg_:not(.__theme_4023j_gg_){background-color:var(--intergalactic-table-td-cell-selected, #e9f7ff)}.___SRow_4023j_gg_._theme_info_4023j_gg_.__active_4023j_gg_>.___SCell_4023j_gg_:not(.__theme_4023j_gg_){background-color:var(--intergalactic-table-td-cell-selected-active, #c4e5fe)}@media (hover:hover){.___SRow_4023j_gg_._theme_info_4023j_gg_ .___SCell_4023j_gg_:hover+.___SGroupCell_4023j_gg_ .___SCell_4023j_gg_:not(.__theme_4023j_gg_),.___SRow_4023j_gg_._theme_info_4023j_gg_:hover>.___SCell_4023j_gg_:not(.__theme_4023j_gg_),.___SRow_4023j_gg_:hover>.___SCell_4023j_gg_._theme_info_4023j_gg_{background-color:var(--intergalactic-table-td-cell-selected-hover, #c4e5fe)}}.___SRow_4023j_gg_._theme_success_4023j_gg_ .___SCell_4023j_gg_:not(.__theme_4023j_gg_){background-color:var(--intergalactic-table-td-cell-new, #dbfee8)}.___SRow_4023j_gg_._theme_success_4023j_gg_.__active_4023j_gg_>.___SCell_4023j_gg_:not(.__theme_4023j_gg_){background-color:var(--intergalactic-table-td-cell-new-active, #9ef2c9)}@media (hover:hover){.___SRow_4023j_gg_._theme_success_4023j_gg_ .___SCell_4023j_gg_:hover+.___SGroupCell_4023j_gg_ .___SCell_4023j_gg_:not(.__theme_4023j_gg_),.___SRow_4023j_gg_._theme_success_4023j_gg_:hover>.___SCell_4023j_gg_:not(.__theme_4023j_gg_),.___SRow_4023j_gg_:hover>.___SCell_4023j_gg_._theme_success_4023j_gg_{background-color:var(--intergalactic-table-td-cell-new-hover, #9ef2c9)}}.___SRow_4023j_gg_._theme_warning_4023j_gg_ .___SCell_4023j_gg_:not(.__theme_4023j_gg_){background-color:var(--intergalactic-table-td-cell-warning, #fff3d9)}.___SRow_4023j_gg_._theme_warning_4023j_gg_.__active_4023j_gg_>.___SCell_4023j_gg_:not(.__theme_4023j_gg_){background-color:var(--intergalactic-table-td-cell-warning-active, #ffdca2)}@media (hover:hover){.___SRow_4023j_gg_._theme_warning_4023j_gg_ .___SCell_4023j_gg_:hover+.___SGroupCell_4023j_gg_ .___SCell_4023j_gg_:not(.__theme_4023j_gg_),.___SRow_4023j_gg_._theme_warning_4023j_gg_:hover>.___SCell_4023j_gg_:not(.__theme_4023j_gg_),.___SRow_4023j_gg_:hover>.___SCell_4023j_gg_._theme_warning_4023j_gg_{background-color:var(--intergalactic-table-td-cell-warning-hover, #ffdca2)}}.___SRow_4023j_gg_._theme_danger_4023j_gg_ .___SCell_4023j_gg_:not(.__theme_4023j_gg_){background-color:var(--intergalactic-table-td-cell-critical, #fff0f7)}.___SRow_4023j_gg_._theme_danger_4023j_gg_.__active_4023j_gg_>.___SCell_4023j_gg_:not(.__theme_4023j_gg_){background-color:var(--intergalactic-table-td-cell-critical-active, #ffd7df)}@media (hover:hover){.___SRow_4023j_gg_._theme_danger_4023j_gg_ .___SCell_4023j_gg_:hover+.___SGroupCell_4023j_gg_ .___SCell_4023j_gg_:not(.__theme_4023j_gg_),.___SRow_4023j_gg_._theme_danger_4023j_gg_:hover>.___SCell_4023j_gg_:not(.__theme_4023j_gg_),.___SRow_4023j_gg_:hover>.___SCell_4023j_gg_._theme_danger_4023j_gg_{background-color:var(--intergalactic-table-td-cell-critical-hover, #ffd7df)}}.___SRow_4023j_gg_.__positioned_4023j_gg_{position:absolute}.___SCell_4023j_gg_{display:flex;flex:1;flex-basis:auto;font-size:var(--intergalactic-fs-200, 14px);line-height:var(--intergalactic-lh-200, 142%);color:var(--intergalactic-text-primary, #191b23);box-sizing:border-box;border-bottom:1px solid var(--intergalactic-border-secondary, #e0e1e9);overflow:hidden;white-space:nowrap;font-feature-settings:\"tnum\";font-variant-numeric:tabular-nums}.___SCell_4023j_gg_._use_primary_4023j_gg_{padding:var(--intergalactic-spacing-3x, 12px);min-height:45px;background-color:var(--intergalactic-bg-primary-neutral, #ffffff)}.___SCell_4023j_gg_._use_secondary_4023j_gg_{padding:var(--intergalactic-spacing-2x, 8px);min-height:37px;background-color:var(--intergalactic-bg-primary-neutral, #ffffff)}.___SCell_4023j_gg_.__fixed_4023j_gg_{position:sticky;z-index:1}.___SCell_4023j_gg_._theme_muted_4023j_gg_{background-color:var(--intergalactic-table-td-cell-unread, #f4f5f9)}.___SCell_4023j_gg_._theme_info_4023j_gg_{background-color:var(--intergalactic-table-td-cell-selected, #e9f7ff)}.___SCell_4023j_gg_._theme_success_4023j_gg_{background-color:var(--intergalactic-table-td-cell-new, #dbfee8)}.___SCell_4023j_gg_._theme_warning_4023j_gg_{background-color:var(--intergalactic-table-td-cell-warning, #fff3d9)}.___SCell_4023j_gg_._theme_danger_4023j_gg_{background-color:var(--intergalactic-table-td-cell-critical, #fff0f7)}.___SScrollAreaBar_4023j_gg_._orientation_horizontal_4023j_gg_{position:sticky;bottom:0;left:0;margin-top:calc(-1*var(--intergalactic-spacing-3x, 12px));z-index:2;margin-left:calc(var(--left-offset_4023j) + var(--intergalactic-spacing-1x, 4px));margin-right:calc(var(--right-offset_4023j) + var(--intergalactic-spacing-1x, 4px));width:calc(100% - var(--offsetSum_4023j) - 8px)}.___SScrollAreaBar_4023j_gg_._orientation_vertical_4023j_gg_{width:12px}.___SHeightHold_4023j_gg_{position:absolute;top:0;width:100%;pointer-events:none;z-index:-1}" /*__inner_css_end__*/, "4023j_gg_") /*__reshadow_css_end__*/, {
26
- "__SDataTable": "___SDataTable_4023j_gg_",
27
- "__SHeadWrapper": "___SHeadWrapper_4023j_gg_",
28
- "_sticky": "__sticky_4023j_gg_",
29
- "__SHead": "___SHead_4023j_gg_",
30
- "__SColumn": "___SColumn_4023j_gg_",
31
- "_hidden": "__hidden_4023j_gg_",
32
- "_use_primary": "_use_primary_4023j_gg_",
33
- "_use_secondary": "_use_secondary_4023j_gg_",
34
- "_group": "__group_4023j_gg_",
35
- "_use": "__use_4023j_gg_",
36
- "_groupHead": "__groupHead_4023j_gg_",
37
- "_active": "__active_4023j_gg_",
38
- "__SSortWrapper": "___SSortWrapper_4023j_gg_",
39
- "__SSortIcon": "___SSortIcon_4023j_gg_",
40
- "_fixed": "__fixed_4023j_gg_",
41
- "_borderLeft": "__borderLeft_4023j_gg_",
42
- "__SCell": "___SCell_4023j_gg_",
43
- "_borderRight": "__borderRight_4023j_gg_",
44
- "__SBodyWrapper": "___SBodyWrapper_4023j_gg_",
45
- "__SBody": "___SBody_4023j_gg_",
46
- "__SRow": "___SRow_4023j_gg_",
47
- "_theme": "__theme_4023j_gg_",
48
- "__SGroupCell": "___SGroupCell_4023j_gg_",
49
- "_theme_muted": "_theme_muted_4023j_gg_",
50
- "_theme_info": "_theme_info_4023j_gg_",
51
- "_theme_success": "_theme_success_4023j_gg_",
52
- "_theme_warning": "_theme_warning_4023j_gg_",
53
- "_theme_danger": "_theme_danger_4023j_gg_",
54
- "_positioned": "__positioned_4023j_gg_",
55
- "__SScrollAreaBar": "___SScrollAreaBar_4023j_gg_",
56
- "_orientation_horizontal": "_orientation_horizontal_4023j_gg_",
57
- "--left-offset": "--left-offset_4023j",
58
- "--right-offset": "--right-offset_4023j",
59
- "--offsetSum": "--offsetSum_4023j",
60
- "_orientation_vertical": "_orientation_vertical_4023j_gg_",
61
- "__SHeightHold": "___SHeightHold_4023j_gg_",
62
- "_compact": "__compact_4023j_gg_",
63
- "_sortable": "__sortable_4023j_gg_",
64
- "_resizable": "__resizable_4023j_gg_"
25
+ var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SDataTable_f4lv7_gg_,.___SHeadWrapper_f4lv7_gg_{position:relative}.___SDataTable_f4lv7_gg_.__compact_f4lv7_gg_ .___SCell_f4lv7_gg_,.___SDataTable_f4lv7_gg_.__compact_f4lv7_gg_ .___SColumn_f4lv7_gg_{padding:var(--intergalactic-spacing-3x, 12px) var(--intergalactic-spacing-2x, 8px)}.___SHeadWrapper_f4lv7_gg_.__sticky_f4lv7_gg_{position:sticky;top:0;z-index:2}.___SHead_f4lv7_gg_{display:flex;position:relative;flex-direction:row;min-width:-moz-fit-content;min-width:fit-content;z-index:0}.___SColumn_f4lv7_gg_{display:flex;align-items:flex-start;flex-grow:1;font-size:var(--intergalactic-fs-100, 12px);line-height:var(--intergalactic-lh-100, 133%);color:var(--intergalactic-text-primary, #191b23);box-sizing:border-box;position:relative}.___SColumn_f4lv7_gg_:focus-visible{outline:0;box-shadow:inset var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5))}.___SColumn_f4lv7_gg_.__hidden_f4lv7_gg_{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border-width:0!important}.___SColumn_f4lv7_gg_._use_primary_f4lv7_gg_{padding:var(--intergalactic-spacing-3x, 12px);border-bottom:1px solid var(--intergalactic-border-secondary, #e0e1e9);background-color:var(--intergalactic-table-th-primary-cell, #f4f5f9)}.___SColumn_f4lv7_gg_._use_secondary_f4lv7_gg_{padding:var(--intergalactic-spacing-2x, 8px);border-bottom:1px solid var(--intergalactic-border-table-accent, #a9abb6);background-color:var(--intergalactic-table-th-secondary-cell, #ffffff)}.___SColumn_f4lv7_gg_.__group_f4lv7_gg_.__use_f4lv7_gg_{display:flex;flex-wrap:wrap;flex-direction:column;align-items:normal;border-bottom:none;padding:0}.___SColumn_f4lv7_gg_.__groupHead_f4lv7_gg_{justify-content:center;z-index:1;border-bottom:none}.___SColumn_f4lv7_gg_.__sortable_f4lv7_gg_{cursor:pointer}.___SColumn_f4lv7_gg_.__sortable_f4lv7_gg_._use_primary_f4lv7_gg_:focus{background-color:var(--intergalactic-table-th-primary-cell-hover, #e0e1e9)}@media (hover:hover){.___SColumn_f4lv7_gg_.__sortable_f4lv7_gg_._use_primary_f4lv7_gg_:hover{background-color:var(--intergalactic-table-th-primary-cell-hover, #e0e1e9)}}.___SColumn_f4lv7_gg_.__sortable_f4lv7_gg_._justifyContent_right_f4lv7_gg_ .___SSortWrapper_f4lv7_gg_{position:absolute;right:calc(var(--intergalactic-spacing-1x, 4px) + 16px)}.___SColumn_f4lv7_gg_.__sortable_f4lv7_gg_._justifyContent_right_f4lv7_gg_.__active_f4lv7_gg_ .___SSortWrapper_f4lv7_gg_,.___SColumn_f4lv7_gg_.__sortable_f4lv7_gg_._justifyContent_right_f4lv7_gg_:focus .___SSortWrapper_f4lv7_gg_{right:var(--intergalactic-spacing-3x, 12px)}@media (hover:hover){.___SColumn_f4lv7_gg_.__sortable_f4lv7_gg_._justifyContent_right_f4lv7_gg_:hover .___SSortWrapper_f4lv7_gg_{right:var(--intergalactic-spacing-3x, 12px)}}.___SColumn_f4lv7_gg_.__sortable_f4lv7_gg_.__active_f4lv7_gg_ .___SSortWrapper_f4lv7_gg_,.___SColumn_f4lv7_gg_.__sortable_f4lv7_gg_:focus .___SSortWrapper_f4lv7_gg_{flex-basis:calc(var(--intergalactic-spacing-1x, 4px) + 16px);opacity:1}@media (hover:hover){.___SColumn_f4lv7_gg_.__sortable_f4lv7_gg_:hover .___SSortWrapper_f4lv7_gg_{flex-basis:calc(var(--intergalactic-spacing-1x, 4px) + 16px);opacity:1}}.___SColumn_f4lv7_gg_.__sortable_f4lv7_gg_.__active_f4lv7_gg_ .___SSortWrapper_f4lv7_gg_:before,.___SColumn_f4lv7_gg_.__sortable_f4lv7_gg_:focus .___SSortIcon_f4lv7_gg_,.___SColumn_f4lv7_gg_.__sortable_f4lv7_gg_:focus .___SSortWrapper_f4lv7_gg_:before{display:block;opacity:1}@media (hover:hover){.___SColumn_f4lv7_gg_.__sortable_f4lv7_gg_:hover .___SSortWrapper_f4lv7_gg_:before{display:block;opacity:1}}@media (hover:hover){.___SColumn_f4lv7_gg_.__sortable_f4lv7_gg_:hover .___SSortIcon_f4lv7_gg_{display:block;opacity:1}}.___SColumn_f4lv7_gg_._use_primary_f4lv7_gg_.__active_f4lv7_gg_{background-color:var(--intergalactic-table-th-primary-cell-active, #e0e1e9);width:100%}.___SColumn_f4lv7_gg_.__active_f4lv7_gg_ .___SSortIcon_f4lv7_gg_{display:block;opacity:1}.___SColumn_f4lv7_gg_.__resizable_f4lv7_gg_{border-right:1px solid transparent}@media (hover:hover){.___SColumn_f4lv7_gg_.__resizable_f4lv7_gg_:hover:after{border-right-color:var(--intergalactic-border-table-accent, #a9abb6)}}.___SColumn_f4lv7_gg_.__resizable_f4lv7_gg_:after{content:\"\";position:absolute;bottom:0;right:-1px;height:100%;width:5px;background:0 0;cursor:col-resize;border-right:1px solid transparent}.___SColumn_f4lv7_gg_.__fixed_f4lv7_gg_{position:sticky;z-index:2}.___SCell_f4lv7_gg_.__borderLeft_f4lv7_gg_,.___SColumn_f4lv7_gg_.__borderLeft_f4lv7_gg_{border-left:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SCell_f4lv7_gg_.__borderRight_f4lv7_gg_,.___SColumn_f4lv7_gg_.__borderRight_f4lv7_gg_{border-right:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SSortWrapper_f4lv7_gg_{flex-shrink:99999;position:relative;flex-basis:0;min-height:16px;opacity:0;transition:all calc(var(--intergalactic-duration-medium, 300)*1ms) ease}.___SSortIcon_f4lv7_gg_,.___SSortWrapper_f4lv7_gg_:before{display:none;position:absolute;right:0;opacity:0;transition:opacity .3s ease}.___SSortWrapper_f4lv7_gg_:before{content:\"\";top:0;width:20px;height:100%}.___SSortIcon_f4lv7_gg_{fill:var(--intergalactic-icon-secondary-neutral-hover-active, #878992);top:calc(1em*1.25 - 16px);margin-left:var(--intergalactic-spacing-1x, 4px)}.___SColumn_f4lv7_gg_._use_primary_f4lv7_gg_ .___SSortWrapper_f4lv7_gg_:before{background:linear-gradient(270deg,var(--intergalactic-table-th-primary-cell-hover, #e0e1e9) 67.5%,rgba(224,225,233,0) 105%)}.___SColumn_f4lv7_gg_._use_secondary_f4lv7_gg_ .___SSortWrapper_f4lv7_gg_:before{background:linear-gradient(270deg,var(--intergalactic-table-th-secondary-cell, #ffffff) 67.5%,rgba(255,255,255,0) 105%)}.___SBodyWrapper_f4lv7_gg_{position:relative}.___SBody_f4lv7_gg_{display:flex;flex-direction:column;position:relative;min-width:-moz-fit-content;min-width:fit-content}.___SRow_f4lv7_gg_{display:flex;flex-direction:row;position:relative}.___SRow_f4lv7_gg_.__active_f4lv7_gg_>.___SCell_f4lv7_gg_:not(.__theme_f4lv7_gg_),.___SRow_f4lv7_gg_._theme_muted_f4lv7_gg_.__active_f4lv7_gg_>.___SCell_f4lv7_gg_:not(.__theme_f4lv7_gg_){background-color:var(--intergalactic-table-td-cell-active, #e6e7ed)}@media (hover:hover){.___SRow_f4lv7_gg_ .___SCell_f4lv7_gg_:hover+.___SGroupCell_f4lv7_gg_ .___SCell_f4lv7_gg_:not(.__theme_f4lv7_gg_),.___SRow_f4lv7_gg_:hover>.___SCell_f4lv7_gg_:not(.__theme_f4lv7_gg_){background-color:var(--intergalactic-table-td-cell-hover, #f0f0f4)}}.___SRow_f4lv7_gg_._theme_muted_f4lv7_gg_ .___SCell_f4lv7_gg_:not(.__theme_f4lv7_gg_){background-color:var(--intergalactic-table-td-cell-unread, #f4f5f9)}@media (hover:hover){.___SRow_f4lv7_gg_._theme_muted_f4lv7_gg_ .___SCell_f4lv7_gg_:hover+.___SGroupCell_f4lv7_gg_ .___SCell_f4lv7_gg_:not(.__theme_f4lv7_gg_),.___SRow_f4lv7_gg_._theme_muted_f4lv7_gg_:hover>.___SCell_f4lv7_gg_:not(.__theme_f4lv7_gg_),.___SRow_f4lv7_gg_:hover>.___SCell_f4lv7_gg_._theme_muted_f4lv7_gg_{background-color:var(--intergalactic-table-td-cell-hover, #f0f0f4)}}.___SRow_f4lv7_gg_._theme_info_f4lv7_gg_ .___SCell_f4lv7_gg_:not(.__theme_f4lv7_gg_){background-color:var(--intergalactic-table-td-cell-selected, #e9f7ff)}.___SRow_f4lv7_gg_._theme_info_f4lv7_gg_.__active_f4lv7_gg_>.___SCell_f4lv7_gg_:not(.__theme_f4lv7_gg_){background-color:var(--intergalactic-table-td-cell-selected-active, #c4e5fe)}@media (hover:hover){.___SRow_f4lv7_gg_._theme_info_f4lv7_gg_ .___SCell_f4lv7_gg_:hover+.___SGroupCell_f4lv7_gg_ .___SCell_f4lv7_gg_:not(.__theme_f4lv7_gg_),.___SRow_f4lv7_gg_._theme_info_f4lv7_gg_:hover>.___SCell_f4lv7_gg_:not(.__theme_f4lv7_gg_),.___SRow_f4lv7_gg_:hover>.___SCell_f4lv7_gg_._theme_info_f4lv7_gg_{background-color:var(--intergalactic-table-td-cell-selected-hover, #c4e5fe)}}.___SRow_f4lv7_gg_._theme_success_f4lv7_gg_ .___SCell_f4lv7_gg_:not(.__theme_f4lv7_gg_){background-color:var(--intergalactic-table-td-cell-new, #dbfee8)}.___SRow_f4lv7_gg_._theme_success_f4lv7_gg_.__active_f4lv7_gg_>.___SCell_f4lv7_gg_:not(.__theme_f4lv7_gg_){background-color:var(--intergalactic-table-td-cell-new-active, #9ef2c9)}@media (hover:hover){.___SRow_f4lv7_gg_._theme_success_f4lv7_gg_ .___SCell_f4lv7_gg_:hover+.___SGroupCell_f4lv7_gg_ .___SCell_f4lv7_gg_:not(.__theme_f4lv7_gg_),.___SRow_f4lv7_gg_._theme_success_f4lv7_gg_:hover>.___SCell_f4lv7_gg_:not(.__theme_f4lv7_gg_),.___SRow_f4lv7_gg_:hover>.___SCell_f4lv7_gg_._theme_success_f4lv7_gg_{background-color:var(--intergalactic-table-td-cell-new-hover, #9ef2c9)}}.___SRow_f4lv7_gg_._theme_warning_f4lv7_gg_ .___SCell_f4lv7_gg_:not(.__theme_f4lv7_gg_){background-color:var(--intergalactic-table-td-cell-warning, #fff3d9)}.___SRow_f4lv7_gg_._theme_warning_f4lv7_gg_.__active_f4lv7_gg_>.___SCell_f4lv7_gg_:not(.__theme_f4lv7_gg_){background-color:var(--intergalactic-table-td-cell-warning-active, #ffdca2)}@media (hover:hover){.___SRow_f4lv7_gg_._theme_warning_f4lv7_gg_ .___SCell_f4lv7_gg_:hover+.___SGroupCell_f4lv7_gg_ .___SCell_f4lv7_gg_:not(.__theme_f4lv7_gg_),.___SRow_f4lv7_gg_._theme_warning_f4lv7_gg_:hover>.___SCell_f4lv7_gg_:not(.__theme_f4lv7_gg_),.___SRow_f4lv7_gg_:hover>.___SCell_f4lv7_gg_._theme_warning_f4lv7_gg_{background-color:var(--intergalactic-table-td-cell-warning-hover, #ffdca2)}}.___SRow_f4lv7_gg_._theme_danger_f4lv7_gg_ .___SCell_f4lv7_gg_:not(.__theme_f4lv7_gg_){background-color:var(--intergalactic-table-td-cell-critical, #fff0f7)}.___SRow_f4lv7_gg_._theme_danger_f4lv7_gg_.__active_f4lv7_gg_>.___SCell_f4lv7_gg_:not(.__theme_f4lv7_gg_){background-color:var(--intergalactic-table-td-cell-critical-active, #ffd7df)}@media (hover:hover){.___SRow_f4lv7_gg_._theme_danger_f4lv7_gg_ .___SCell_f4lv7_gg_:hover+.___SGroupCell_f4lv7_gg_ .___SCell_f4lv7_gg_:not(.__theme_f4lv7_gg_),.___SRow_f4lv7_gg_._theme_danger_f4lv7_gg_:hover>.___SCell_f4lv7_gg_:not(.__theme_f4lv7_gg_),.___SRow_f4lv7_gg_:hover>.___SCell_f4lv7_gg_._theme_danger_f4lv7_gg_{background-color:var(--intergalactic-table-td-cell-critical-hover, #ffd7df)}}.___SRow_f4lv7_gg_.__positioned_f4lv7_gg_{position:absolute}.___SCell_f4lv7_gg_{display:flex;flex:1;flex-basis:auto;font-size:var(--intergalactic-fs-200, 14px);line-height:var(--intergalactic-lh-200, 142%);color:var(--intergalactic-text-primary, #191b23);box-sizing:border-box;border-bottom:1px solid var(--intergalactic-border-secondary, #e0e1e9);overflow:hidden;white-space:nowrap;font-feature-settings:\"tnum\";font-variant-numeric:tabular-nums}.___SCell_f4lv7_gg_._use_primary_f4lv7_gg_{padding:var(--intergalactic-spacing-3x, 12px);min-height:45px;background-color:var(--intergalactic-bg-primary-neutral, #ffffff)}.___SCell_f4lv7_gg_._use_secondary_f4lv7_gg_{padding:var(--intergalactic-spacing-2x, 8px);min-height:37px;background-color:var(--intergalactic-bg-primary-neutral, #ffffff)}.___SCell_f4lv7_gg_.__fixed_f4lv7_gg_{position:sticky;z-index:1}.___SCell_f4lv7_gg_._theme_muted_f4lv7_gg_{background-color:var(--intergalactic-table-td-cell-unread, #f4f5f9)}.___SCell_f4lv7_gg_._theme_info_f4lv7_gg_{background-color:var(--intergalactic-table-td-cell-selected, #e9f7ff)}.___SCell_f4lv7_gg_._theme_success_f4lv7_gg_{background-color:var(--intergalactic-table-td-cell-new, #dbfee8)}.___SCell_f4lv7_gg_._theme_warning_f4lv7_gg_{background-color:var(--intergalactic-table-td-cell-warning, #fff3d9)}.___SCell_f4lv7_gg_._theme_danger_f4lv7_gg_{background-color:var(--intergalactic-table-td-cell-critical, #fff0f7)}.___SScrollAreaBar_f4lv7_gg_._orientation_horizontal_f4lv7_gg_{position:sticky;bottom:0;left:0;margin-top:calc(-1*var(--intergalactic-spacing-3x, 12px));z-index:2;margin-left:calc(var(--left-offset_f4lv7) + var(--intergalactic-spacing-1x, 4px));margin-right:calc(var(--right-offset_f4lv7) + var(--intergalactic-spacing-1x, 4px));width:calc(100% - var(--offsetSum_f4lv7) - 8px)}.___SScrollAreaBar_f4lv7_gg_._orientation_vertical_f4lv7_gg_{width:12px}.___SHeightHold_f4lv7_gg_{position:absolute;top:0;width:100%;pointer-events:none;z-index:-1}" /*__inner_css_end__*/, "f4lv7_gg_") /*__reshadow_css_end__*/, {
26
+ "__SDataTable": "___SDataTable_f4lv7_gg_",
27
+ "__SHeadWrapper": "___SHeadWrapper_f4lv7_gg_",
28
+ "_sticky": "__sticky_f4lv7_gg_",
29
+ "__SHead": "___SHead_f4lv7_gg_",
30
+ "__SColumn": "___SColumn_f4lv7_gg_",
31
+ "_hidden": "__hidden_f4lv7_gg_",
32
+ "_use_primary": "_use_primary_f4lv7_gg_",
33
+ "_use_secondary": "_use_secondary_f4lv7_gg_",
34
+ "_group": "__group_f4lv7_gg_",
35
+ "_use": "__use_f4lv7_gg_",
36
+ "_groupHead": "__groupHead_f4lv7_gg_",
37
+ "_active": "__active_f4lv7_gg_",
38
+ "__SSortIcon": "___SSortIcon_f4lv7_gg_",
39
+ "_fixed": "__fixed_f4lv7_gg_",
40
+ "_borderLeft": "__borderLeft_f4lv7_gg_",
41
+ "__SCell": "___SCell_f4lv7_gg_",
42
+ "_borderRight": "__borderRight_f4lv7_gg_",
43
+ "__SSortWrapper": "___SSortWrapper_f4lv7_gg_",
44
+ "__SBodyWrapper": "___SBodyWrapper_f4lv7_gg_",
45
+ "__SBody": "___SBody_f4lv7_gg_",
46
+ "__SRow": "___SRow_f4lv7_gg_",
47
+ "_theme": "__theme_f4lv7_gg_",
48
+ "__SGroupCell": "___SGroupCell_f4lv7_gg_",
49
+ "_theme_muted": "_theme_muted_f4lv7_gg_",
50
+ "_theme_info": "_theme_info_f4lv7_gg_",
51
+ "_theme_success": "_theme_success_f4lv7_gg_",
52
+ "_theme_warning": "_theme_warning_f4lv7_gg_",
53
+ "_theme_danger": "_theme_danger_f4lv7_gg_",
54
+ "_positioned": "__positioned_f4lv7_gg_",
55
+ "__SScrollAreaBar": "___SScrollAreaBar_f4lv7_gg_",
56
+ "_orientation_horizontal": "_orientation_horizontal_f4lv7_gg_",
57
+ "--left-offset": "--left-offset_f4lv7",
58
+ "--right-offset": "--right-offset_f4lv7",
59
+ "--offsetSum": "--offsetSum_f4lv7",
60
+ "_orientation_vertical": "_orientation_vertical_f4lv7_gg_",
61
+ "__SHeightHold": "___SHeightHold_f4lv7_gg_",
62
+ "_compact": "__compact_f4lv7_gg_",
63
+ "_sortable": "__sortable_f4lv7_gg_",
64
+ "_justifyContent_right": "_justifyContent_right_f4lv7_gg_",
65
+ "_resizable": "__resizable_f4lv7_gg_"
65
66
  });
66
67
  var reversedSortDirection = {
67
68
  desc: 'asc',
@@ -1 +1 @@
1
- {"version":3,"file":"DataTable.js","names":["React","createComponent","Component","Root","sstyled","Box","syncScroll","callAllEventHandlers","fire","flattenColumns","Head","Body","uniqueIDEnhancement","style","_sstyled","insert","reversedSortDirection","desc","asc","defaultSortDirection","ROW_GROUP","Symbol","cssVarReg","createCssVarForWidth","name","concat","replace","setBorderGroupColumns","columns","side","firstColumn","lastColumn","length","borderLeft","borderRight","RootDefinitionTable","_Component","_inherits","_super","_createSuper","props","_this","_classCallCheck","call","_defineProperty","_assertThisInitialized","createRef","event","column","find","active","sortDirection","forceUpdate","_this$tableRef","_this$tableRef$curren","tableRef","current","scrollIntoView","block","inline","behavior","scrollBodyRef","scrollHeadRef","_createClass","key","value","setVarStyle","_iterator","_createForOfIteratorHelper","_step","s","n","done","setVar","_this$tableRef$curren2","setProperty","varWidth","width","err","e","f","childrenToColumns","children","_this2","options","arguments","undefined","fixed","sort","asProps","columnsChildren","Children","forEach","child","_column$props","isValidElement","type","DefinitionTable","Column","_ref3","_ref3$fixed","resizable","sortable","flex","vBorders","_objectWithoutProperties","_excluded","lastColumnChildren","isGroup","some","c","map","_ref4","join","toArray","filter","columnChildren","_this$props$ref$curre","ref","getBoundingClientRect","_objectSpread","forwardRef","parentColumns","unshift","push","getHeadProps","_this$asProps","use","uid","$onSortClick","handlerSortClick","scrollToUp","onResize","handlerResize","$scrollRef","getBodyProps","_this$asProps2","data","uniqueKey","cellPropsLayers","rowPropsLayers","_ref5","other","_excluded2","Cell","split","childrenPropsGetter","Row","rows","dataToRows","_this3","parseData","exclude","row","groupByName","columnsWithoutRowGroup","rowKey","columnNames","_iterator2","_step2","groupedColumns","groupData","rowsGroup","rowsGroupedNames","Object","fromEntries","flatMap","subRow","keys","cells","_groupByName$column$n","cssVar","flatRowData","componentDidUpdate","render","_ref","_ref2","SDataTable","_this$asProps3","styles","createElement","cn","_assignProps","ComponentDefinition"],"sources":["../../src/DataTable.tsx"],"sourcesContent":["import React from 'react';\nimport { Property } from 'csstype';\nimport createComponent, {\n Component,\n PropGetterFn,\n Root,\n sstyled,\n UnknownProperties,\n Intergalactic,\n} from '@semcore/core';\nimport { Box, BoxProps, FlexProps } from '@semcore/flex-box';\nimport syncScroll from '@semcore/utils/lib/syncScroll';\nimport { callAllEventHandlers } from '@semcore/utils/lib/assignProps';\nimport fire from '@semcore/utils/lib/fire';\nimport { flattenColumns } from './utils';\nimport type {\n Column,\n NestedCells,\n PropsLayer,\n PseudoChildPropsGetter,\n RowData,\n SortDirection,\n} from './types';\nimport Head from './Head';\nimport Body from './Body';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\n\nimport style from './style/data-table.shadow.css';\n\nconst reversedSortDirection: { [direction in SortDirection]: SortDirection } = {\n desc: 'asc',\n asc: 'desc',\n};\nconst defaultSortDirection: SortDirection = 'desc';\n\nconst ROW_GROUP = Symbol('ROW_GROUP');\n\nconst cssVarReg = /[:;\\W]/g;\n\nconst createCssVarForWidth = (name: string) => {\n return `--${name.replace(cssVarReg, '_')}_width`;\n};\n\ntype AsProps = {\n use: 'primary' | 'secondary';\n sort: SortDirection[];\n data: RowData[];\n uniqueKey: string;\n uid?: string;\n};\n\ntype HeadAsProps = {\n children: React.ReactChild;\n uid: string;\n};\ntype BodyAsProps = {\n children: React.ReactChild;\n uid: string;\n};\n\nexport type DataTableData = { [key: string]: unknown };\nexport type DataTableSort<Columns extends string | number | symbol = string> = [\n sortBy: Columns,\n sortDirection: 'desc' | 'asc',\n];\nexport type DataTableTheme = 'muted' | 'info' | 'success' | 'warning' | 'danger';\nexport type DataTableUse = 'primary' | 'secondary';\nexport type DataTableRow = DataTableCell[];\nexport type DataTableCell = {\n /** Name of column */\n name: string;\n /** Data of column */\n data: React.ReactNode;\n [key: string]: unknown;\n};\n\n/** @deprecated */\nexport interface IDataTableProps<\n DataTableData extends { [key: string]: any }[] = UnknownProperties[],\n> extends DataTableProps<DataTableData> {}\nexport type DataTableProps<DataTableData extends { [key: string]: any }[] = UnknownProperties[]> =\n BoxProps & {\n /** Table theme according to visual hierarchy on the page\n * @default primary\n * */\n use?: DataTableUse;\n /** Data for table */\n data?: DataTableData;\n /** Active sort object */\n sort?: DataTableSort<keyof DataTableData[0]>;\n /** Handler call when request will change sort */\n onSortChange?: (sort: DataTableSort<keyof DataTableData[0]>, e?: React.SyntheticEvent) => void;\n /** Field name in one data entity that is unique accross all dataset\n * @default id\n */\n uniqueKey?: keyof DataTableData[0];\n /** Make cells compact by changing left and right paddings to smaller ones*/\n compact?: boolean;\n };\n\n/** @deprecated */\nexport interface IDataTableHeadProps extends DataTableHeadProps, UnknownProperties {}\nexport type DataTableHeadProps = BoxProps & {\n /** Sticky table header\n * @deprecated\n * */\n sticky?: boolean;\n\n /** Hidden header */\n hidden?: boolean;\n\n /** Disabled scroll */\n disabledScroll?: boolean;\n};\n\n/** @deprecated */\nexport interface IDataTableColumnProps extends DataTableColumnProps, UnknownProperties {}\nexport type DataTableColumnProps = FlexProps & {\n /** Unique column name */\n name?: string;\n /** Enable sorting for column. And if you are passing a string, you can also set the default sorting */\n sortable?: boolean | 'desc' | 'asc';\n /** Enable resize for column\n * @ignore */\n resizable?: boolean;\n /** Fix column on the left o right side of the table */\n fixed?: 'left' | 'right';\n /** Fields to control the size of the column */\n flex?: Property.Flex | 'inherit';\n /** Add vertical border to the column */\n vBorders?: boolean;\n /** Add vertical border to the right side of the cell */\n borderRight?: boolean;\n /** Add vertical border to the left side of the cell */\n borderLeft?: boolean;\n};\n\n/** @deprecated */\nexport interface IDataTableBodyProps extends DataTableBodyProps, UnknownProperties {}\nexport type DataTableBodyProps = BoxProps & {\n /** Rows table */\n rows?: DataTableRow[];\n /** When enabled, only visually acessable rows are rendered.\n * `tollerance` property controls how many rows outside of viewport are render.\n * `rowHeight` fixes the rows height if it has known. If not provided, first row node height is measured.\n * @default { tollerance: 2 }\n */\n virtualScroll?: boolean | { tollerance?: number; rowHeight?: number };\n /**\n * Called every time user scrolls area\n */\n onScroll?: (event: React.SyntheticEvent<HTMLElement>) => void;\n /** Disabled scroll */\n disabledScroll?: boolean;\n};\n\n/** @deprecated */\nexport interface IDataTableRowProps extends DataTableRowProps, UnknownProperties {}\nexport type DataTableRowProps = BoxProps & {\n /** Theme for row */\n theme?: DataTableTheme;\n /** Sets row state to active*/\n active?: boolean;\n};\n\n/** @deprecated */\nexport interface IDataTableCellProps extends DataTableCellProps, UnknownProperties {}\nexport type DataTableCellProps<Name extends string = string> = FlexProps & {\n /** Unique name for column or columns separated by / */\n name: Name;\n /** Theme for cell */\n theme?: DataTableTheme;\n};\n\nfunction setBorderGroupColumns(columns: Column[], side?: string) {\n const firstColumn = columns[0];\n const lastColumn = columns[columns.length - 1];\n if (firstColumn && (!side || side === 'left')) {\n firstColumn.borderLeft = true;\n if (firstColumn.columns) {\n setBorderGroupColumns(firstColumn.columns, 'left');\n }\n }\n if (lastColumn && (!side || side === 'right')) {\n lastColumn.borderRight = true;\n if (lastColumn.columns) {\n setBorderGroupColumns(lastColumn.columns, 'right');\n }\n }\n}\n\nclass RootDefinitionTable extends Component<AsProps> {\n static displayName = 'DefinitionTable';\n\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = {\n use: 'primary',\n uniqueKey: 'id',\n sort: [],\n data: [],\n } as AsProps;\n\n columns: Column[] = [];\n\n tableRef = React.createRef<HTMLElement>();\n scrollBodyRef: null | ReturnType<ReturnType<typeof syncScroll>> = null;\n scrollHeadRef: null | ReturnType<ReturnType<typeof syncScroll>> = null;\n\n constructor(props: AsProps) {\n super(props);\n\n const createRef = syncScroll();\n // first create body ref for master scroll\n this.scrollBodyRef = createRef('body');\n this.scrollHeadRef = createRef('head');\n }\n\n handlerSortClick = (name: string, event: React.MouseEvent) => {\n const column = this.columns.find((column) => column.name === name)!;\n return fire(\n this,\n 'onSortChange',\n [\n column.name,\n column.active ? reversedSortDirection[column.sortDirection] : column.sortDirection,\n ],\n event,\n );\n };\n\n handlerResize = () => {\n this.forceUpdate();\n };\n\n scrollToUp = () => {\n this.tableRef?.current?.scrollIntoView({\n block: 'nearest',\n inline: 'nearest',\n behavior: 'smooth',\n });\n };\n\n setVarStyle(columns: Column[]) {\n for (const column of columns) {\n if (column.setVar) {\n this.tableRef.current?.style.setProperty(column.varWidth, `${column.width}px`);\n }\n }\n }\n\n childrenToColumns(\n children: React.ReactNode,\n options: { fixed?: 'left' | 'right' } = { fixed: undefined },\n ) {\n const { sort } = this.asProps;\n const columnsChildren: Column[] = [];\n React.Children.forEach(children, (child) => {\n if (!React.isValidElement(child)) return;\n if (child.type !== DefinitionTable.Column) return;\n\n let {\n children,\n name,\n fixed = options.fixed,\n resizable,\n sortable,\n flex,\n vBorders,\n active,\n ...props\n } = child.props as Column['props'];\n const lastColumnChildren = columnsChildren[columnsChildren.length - 1];\n const isGroup = !name;\n let columns: Column[] | undefined;\n\n if (isGroup) {\n columns = this.childrenToColumns(children, { fixed });\n active = typeof active === 'boolean' ? active : columns.some((c) => c.active);\n\n if (vBorders) {\n setBorderGroupColumns(columns);\n }\n\n name = flattenColumns(columns)\n .map(({ name }) => name)\n .join('/');\n if (!columns.length) return;\n children = React.Children.toArray(children).filter(\n (child) => !(React.isValidElement(child) && child.type === DefinitionTable.Column),\n );\n }\n\n const column = this.columns.find((column) => column.name === name);\n const columnChildren = {\n get width() {\n // @ts-ignore\n return this.props.ref.current?.getBoundingClientRect().width || 0;\n },\n name,\n varWidth: createCssVarForWidth(name),\n setVar: flex !== 'inherit',\n fixed,\n resizable,\n active: typeof active === 'boolean' ? active : sort[0] === name,\n sortable,\n borderLeft: lastColumnChildren?.borderRight === true ? false : vBorders,\n borderRight: vBorders,\n sortDirection:\n sort[0] === name\n ? sort[1]\n : column?.sortDirection ||\n (typeof sortable === 'string' ? sortable : defaultSortDirection),\n props: {\n name,\n flex: flex === 'inherit' ? undefined : flex,\n ...props,\n // @ts-ignore\n forwardRef: child.ref,\n children,\n ref: column?.props?.ref || React.createRef(),\n },\n parentColumns: [],\n } as unknown as Column;\n\n if (columns) {\n columnChildren.columns = columns;\n columns.forEach((column) => column.parentColumns.unshift(columnChildren));\n }\n columnsChildren.push(columnChildren);\n });\n return columnsChildren;\n }\n\n getHeadProps(props: HeadAsProps) {\n const { use, uid } = this.asProps;\n const columnsChildren = this.childrenToColumns(props.children);\n\n this.columns = flattenColumns(columnsChildren);\n return {\n $onSortClick: callAllEventHandlers(this.handlerSortClick, this.scrollToUp),\n columnsChildren,\n use,\n onResize: this.handlerResize,\n $scrollRef: this.scrollHeadRef,\n uid,\n };\n }\n\n getBodyProps(props: BodyAsProps) {\n const { data, use, uniqueKey, uid } = this.asProps;\n const cellPropsLayers: { [columnName: string]: PropsLayer[] } = {};\n const rowPropsLayers: PropsLayer[] = [];\n\n React.Children.forEach(props.children, (child) => {\n if (React.isValidElement(child)) {\n const { name, children, ...other } = child.props as {\n name?: string;\n children?: PseudoChildPropsGetter;\n } & { [propName: string]: unknown };\n if (child.type === DefinitionTable.Cell && name) {\n name.split('/').forEach((name) => {\n cellPropsLayers[name] = cellPropsLayers[name] || [];\n cellPropsLayers[name].push({\n ...other,\n childrenPropsGetter: children,\n });\n });\n }\n if (child.type === DefinitionTable.Row) {\n rowPropsLayers.push({\n ...other,\n childrenPropsGetter: children,\n });\n }\n }\n });\n\n return {\n columns: this.columns,\n rows: this.dataToRows(data, cellPropsLayers),\n uniqueKey,\n use,\n rowPropsLayers,\n $scrollRef: this.scrollBodyRef,\n uid,\n };\n }\n\n dataToRows(data: RowData[], cellPropsLayers: { [columnName: string]: PropsLayer[] }) {\n const parseData = (data: RowData[], exclude: { [columnName: string]: true }) =>\n data.map((row) => {\n const groupByName: {\n [columnName: string]: {\n groupedColumns: string[];\n groupData: { [columnName: string]: unknown };\n };\n } = {};\n const columnsWithoutRowGroup: { [columnname: string]: true } = {};\n for (const rowKey in row) {\n const columnNames = rowKey.split('/');\n if (columnNames.length >= 2) {\n for (const column of columnNames) {\n groupByName[column] = {\n groupedColumns: columnNames,\n groupData: row[rowKey] as { [columnName: string]: unknown },\n };\n columnsWithoutRowGroup[column] = true;\n }\n } else {\n columnsWithoutRowGroup[rowKey] = true;\n }\n }\n\n const rowsGroup = row[ROW_GROUP] || [];\n const rowsGroupedNames = Object.fromEntries(\n rowsGroup\n .flatMap((subRow) => Object.keys(subRow))\n .flatMap((key) => key.split('/'))\n .map((key) => [key, true]),\n );\n\n let isGroup = false;\n\n const cells: NestedCells = this.columns\n .map((column) => {\n if (groupByName[column.name]) {\n const { groupedColumns, groupData } = groupByName[column.name];\n if (groupedColumns[0] === column.name) {\n return {\n name: groupedColumns.join('/'),\n cssVar: groupedColumns.map(createCssVarForWidth),\n fixed: column.fixed,\n data: groupData,\n cellPropsLayers: cellPropsLayers[column.name] || [],\n };\n }\n } else if (column.name in row) {\n return {\n name: column.name,\n cssVar: column.varWidth,\n fixed: column.fixed,\n data: row[column.name],\n cellPropsLayers: cellPropsLayers[column.name] || [],\n };\n } else if (!isGroup && rowsGroupedNames[column.name]) {\n // TODO: make it work not only with first group\n isGroup = true;\n return parseData(rowsGroup, {\n ...exclude,\n ...columnsWithoutRowGroup,\n });\n } else if (!exclude[column.name] && !rowsGroupedNames[column.name]) {\n // add empty cell if it is not present in data\n return {\n name: column.name,\n cssVar: column.varWidth,\n fixed: column.fixed,\n data: null,\n cellPropsLayers: cellPropsLayers[column.name] || [],\n };\n }\n })\n .filter((column) => column)\n .map((column) => column!);\n\n cells.flatRowData = row;\n return cells;\n });\n\n return parseData(data, {});\n }\n\n componentDidUpdate() {\n this.setVarStyle(this.columns);\n }\n\n render() {\n const SDataTable = Root;\n const { Children, styles, data } = this.asProps;\n\n return sstyled(styles)(\n <SDataTable\n render={Box}\n __excludeProps={['data']}\n ref={this.tableRef}\n role='table'\n aria-rowcount={(data ?? []).length}\n >\n <Children />\n </SDataTable>,\n );\n }\n}\n\ntype DataTableCtx = {\n getHeadProps: PropGetterFn;\n getBodyProps: PropGetterFn;\n};\n\nfunction ComponentDefinition() {\n return null;\n}\n\ntype IntergalacticDataTableComponent = (<\n Data extends DataTableData[],\n Tag extends Intergalactic.Tag = 'div',\n>(\n props: Intergalactic.InternalTypings.ComponentProps<\n Tag,\n 'div',\n DataTableProps<Data>,\n DataTableCtx,\n never\n >,\n) => Intergalactic.InternalTypings.ComponentRenderingResults) &\n Intergalactic.InternalTypings.ComponentAdditive<'div'>;\n\ntype IntergalacticDataTableRowComponent = (<\n Data extends DataTableData[],\n Tag extends Intergalactic.Tag = 'div',\n>(\n props: Intergalactic.InternalTypings.PropsRenderingResultComponentProps<\n Tag,\n DataTableRowProps & {\n /**\n * That property is ONLY used for the component strict typings. In the component runtime `data` prop set on `<DataTable>...</DataTable> is used.\n */\n data?: Data;\n },\n DataTableCtx & { data: Data },\n [row: Data[0], index: number]\n >,\n) => Intergalactic.InternalTypings.ComponentRenderingResults) &\n Intergalactic.InternalTypings.ComponentAdditive<'div'>;\n\ntype IntergalacticDataTableCellComponent = (<\n Data extends DataTableData[] = [],\n Name extends string = string,\n Tag extends Intergalactic.Tag = 'div',\n>(\n props: Intergalactic.InternalTypings.PropsRenderingResultComponentProps<\n Tag,\n DataTableCellProps<Name> & {\n /**\n * That property is ONLY used for the componenct strict typings. In the component runtime `data` prop set on `<DataTable>...</DataTable> is used.\n */\n data?: Data;\n },\n DataTableCtx & { data: Data },\n [row: Data[0], index: number]\n >,\n) => Intergalactic.InternalTypings.ComponentRenderingResults) &\n Intergalactic.InternalTypings.ComponentAdditive<'div'>;\n\nconst DefinitionTable = createComponent(\n RootDefinitionTable,\n {\n Head,\n Body,\n Column: ComponentDefinition,\n Cell: ComponentDefinition,\n Row: ComponentDefinition,\n },\n {},\n) as IntergalacticDataTableComponent & {\n Head: Intergalactic.Component<'div', DataTableHeadProps>;\n Body: Intergalactic.Component<'div', DataTableBodyProps>;\n Column: Intergalactic.Component<'div', DataTableColumnProps>;\n Row: IntergalacticDataTableRowComponent;\n Cell: IntergalacticDataTableCellComponent;\n};\n\nexport { ROW_GROUP };\nexport default DefinitionTable;\n"],"mappings":"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"}
1
+ {"version":3,"file":"DataTable.js","names":["React","createComponent","Component","Root","sstyled","Box","syncScroll","callAllEventHandlers","fire","flattenColumns","Head","Body","uniqueIDEnhancement","style","_sstyled","insert","reversedSortDirection","desc","asc","defaultSortDirection","ROW_GROUP","Symbol","cssVarReg","createCssVarForWidth","name","concat","replace","setBorderGroupColumns","columns","side","firstColumn","lastColumn","length","borderLeft","borderRight","RootDefinitionTable","_Component","_inherits","_super","_createSuper","props","_this","_classCallCheck","call","_defineProperty","_assertThisInitialized","createRef","event","column","find","active","sortDirection","forceUpdate","_this$tableRef","_this$tableRef$curren","tableRef","current","scrollIntoView","block","inline","behavior","scrollBodyRef","scrollHeadRef","_createClass","key","value","setVarStyle","_iterator","_createForOfIteratorHelper","_step","s","n","done","setVar","_this$tableRef$curren2","setProperty","varWidth","width","err","e","f","childrenToColumns","children","_this2","options","arguments","undefined","fixed","sort","asProps","columnsChildren","Children","forEach","child","_column$props","isValidElement","type","DefinitionTable","Column","_ref3","_ref3$fixed","resizable","sortable","flex","vBorders","_objectWithoutProperties","_excluded","lastColumnChildren","isGroup","some","c","map","_ref4","join","toArray","filter","columnChildren","_this$props$ref$curre","ref","getBoundingClientRect","_objectSpread","forwardRef","parentColumns","unshift","push","getHeadProps","_this$asProps","use","uid","$onSortClick","handlerSortClick","scrollToUp","onResize","handlerResize","$scrollRef","getBodyProps","_this$asProps2","data","uniqueKey","cellPropsLayers","rowPropsLayers","_ref5","other","_excluded2","Cell","split","childrenPropsGetter","Row","rows","dataToRows","_this3","parseData","exclude","row","groupByName","columnsWithoutRowGroup","rowKey","columnNames","_iterator2","_step2","groupedColumns","groupData","rowsGroup","rowsGroupedNames","Object","fromEntries","flatMap","subRow","keys","cells","_groupByName$column$n","cssVar","flatRowData","componentDidUpdate","render","_ref","_ref2","SDataTable","_this$asProps3","styles","createElement","cn","_assignProps","ComponentDefinition"],"sources":["../../src/DataTable.tsx"],"sourcesContent":["import React from 'react';\nimport { Property } from 'csstype';\nimport createComponent, {\n Component,\n PropGetterFn,\n Root,\n sstyled,\n UnknownProperties,\n Intergalactic,\n} from '@semcore/core';\nimport { Box, BoxProps, FlexProps } from '@semcore/flex-box';\nimport syncScroll from '@semcore/utils/lib/syncScroll';\nimport { callAllEventHandlers } from '@semcore/utils/lib/assignProps';\nimport fire from '@semcore/utils/lib/fire';\nimport { flattenColumns } from './utils';\nimport type {\n Column,\n NestedCells,\n PropsLayer,\n PseudoChildPropsGetter,\n RowData,\n SortDirection,\n} from './types';\nimport Head from './Head';\nimport Body from './Body';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\n\nimport style from './style/data-table.shadow.css';\n\nconst reversedSortDirection: { [direction in SortDirection]: SortDirection } = {\n desc: 'asc',\n asc: 'desc',\n};\nconst defaultSortDirection: SortDirection = 'desc';\n\nconst ROW_GROUP = Symbol('ROW_GROUP');\n\nconst cssVarReg = /[:;\\W]/g;\n\nconst createCssVarForWidth = (name: string) => {\n return `--${name.replace(cssVarReg, '_')}_width`;\n};\n\ntype AsProps = {\n use: 'primary' | 'secondary';\n sort: SortDirection[];\n data: RowData[];\n uniqueKey: string;\n uid?: string;\n};\n\ntype HeadAsProps = {\n children: React.ReactChild;\n uid: string;\n};\ntype BodyAsProps = {\n children: React.ReactChild;\n uid: string;\n};\n\nexport type DataTableData = { [key: string]: unknown };\nexport type DataTableSort<Columns extends string | number | symbol = string> = [\n sortBy: Columns,\n sortDirection: 'desc' | 'asc',\n];\nexport type DataTableTheme = 'muted' | 'info' | 'success' | 'warning' | 'danger';\nexport type DataTableUse = 'primary' | 'secondary';\nexport type DataTableRow = DataTableCell[];\nexport type DataTableCell = {\n /** Name of column */\n name: string;\n /** Data of column */\n data: React.ReactNode;\n [key: string]: unknown;\n};\n\n/** @deprecated */\nexport interface IDataTableProps<\n DataTableData extends { [key: string]: any }[] = UnknownProperties[],\n> extends DataTableProps<DataTableData> {}\nexport type DataTableProps<DataTableData extends { [key: string]: any }[] = UnknownProperties[]> =\n BoxProps & {\n /** Table theme according to visual hierarchy on the page\n * @default primary\n * */\n use?: DataTableUse;\n /** Data for table */\n data?: DataTableData;\n /** Active sort object */\n sort?: DataTableSort<keyof DataTableData[0]>;\n /** Handler call when request will change sort */\n onSortChange?: (sort: DataTableSort<keyof DataTableData[0]>, e?: React.SyntheticEvent) => void;\n /** Field name in one data entity that is unique accross all dataset\n * @default id\n */\n uniqueKey?: keyof DataTableData[0];\n /** Make cells compact by changing left and right paddings to smaller ones*/\n compact?: boolean;\n };\n\n/** @deprecated */\nexport interface IDataTableHeadProps extends DataTableHeadProps, UnknownProperties {}\nexport type DataTableHeadProps = BoxProps & {\n /** Sticky table header\n * @deprecated\n * */\n sticky?: boolean;\n\n /** Hidden header */\n hidden?: boolean;\n\n /** Disabled scroll */\n disabledScroll?: boolean;\n};\n\n/** @deprecated */\nexport interface IDataTableColumnProps extends DataTableColumnProps, UnknownProperties {}\nexport type DataTableColumnProps = FlexProps & {\n /** Unique column name */\n name?: string;\n /** Enable sorting for column. And if you are passing a string, you can also set the default sorting */\n sortable?: boolean | 'desc' | 'asc';\n /** Enable resize for column\n * @ignore */\n resizable?: boolean;\n /** Fix column on the left o right side of the table */\n fixed?: 'left' | 'right';\n /** Fields to control the size of the column */\n flex?: Property.Flex | 'inherit';\n /** Add vertical border to the column */\n vBorders?: boolean;\n /** Add vertical border to the right side of the cell */\n borderRight?: boolean;\n /** Add vertical border to the left side of the cell */\n borderLeft?: boolean;\n};\n\n/** @deprecated */\nexport interface IDataTableBodyProps extends DataTableBodyProps, UnknownProperties {}\nexport type DataTableBodyProps = BoxProps & {\n /** Rows table */\n rows?: DataTableRow[];\n /** When enabled, only visually acessable rows are rendered.\n * `tollerance` property controls how many rows outside of viewport are render.\n * `rowHeight` fixes the rows height if it has known. If not provided, first row node height is measured.\n * @default { tollerance: 2 }\n */\n virtualScroll?: boolean | { tollerance?: number; rowHeight?: number };\n /**\n * Called every time user scrolls area\n */\n onScroll?: (event: React.SyntheticEvent<HTMLElement>) => void;\n /** Disabled scroll */\n disabledScroll?: boolean;\n};\n\n/** @deprecated */\nexport interface IDataTableRowProps extends DataTableRowProps, UnknownProperties {}\nexport type DataTableRowProps = BoxProps & {\n /** Theme for row */\n theme?: DataTableTheme;\n /** Sets row state to active*/\n active?: boolean;\n};\n\n/** @deprecated */\nexport interface IDataTableCellProps extends DataTableCellProps, UnknownProperties {}\nexport type DataTableCellProps<Name extends string = string> = FlexProps & {\n /** Unique name for column or columns separated by / */\n name: Name;\n /** Theme for cell */\n theme?: DataTableTheme;\n};\n\nfunction setBorderGroupColumns(columns: Column[], side?: string) {\n const firstColumn = columns[0];\n const lastColumn = columns[columns.length - 1];\n if (firstColumn && (!side || side === 'left')) {\n firstColumn.borderLeft = true;\n if (firstColumn.columns) {\n setBorderGroupColumns(firstColumn.columns, 'left');\n }\n }\n if (lastColumn && (!side || side === 'right')) {\n lastColumn.borderRight = true;\n if (lastColumn.columns) {\n setBorderGroupColumns(lastColumn.columns, 'right');\n }\n }\n}\n\nclass RootDefinitionTable extends Component<AsProps> {\n static displayName = 'DefinitionTable';\n\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = {\n use: 'primary',\n uniqueKey: 'id',\n sort: [],\n data: [],\n } as AsProps;\n\n columns: Column[] = [];\n\n tableRef = React.createRef<HTMLElement>();\n scrollBodyRef: null | ReturnType<ReturnType<typeof syncScroll>> = null;\n scrollHeadRef: null | ReturnType<ReturnType<typeof syncScroll>> = null;\n\n constructor(props: AsProps) {\n super(props);\n\n const createRef = syncScroll();\n // first create body ref for master scroll\n this.scrollBodyRef = createRef('body');\n this.scrollHeadRef = createRef('head');\n }\n\n handlerSortClick = (name: string, event: React.MouseEvent) => {\n const column = this.columns.find((column) => column.name === name)!;\n return fire(\n this,\n 'onSortChange',\n [\n column.name,\n column.active ? reversedSortDirection[column.sortDirection] : column.sortDirection,\n ],\n event,\n );\n };\n\n handlerResize = () => {\n this.forceUpdate();\n };\n\n scrollToUp = () => {\n this.tableRef?.current?.scrollIntoView({\n block: 'nearest',\n inline: 'nearest',\n behavior: 'smooth',\n });\n };\n\n setVarStyle(columns: Column[]) {\n for (const column of columns) {\n if (column.setVar) {\n this.tableRef.current?.style.setProperty(column.varWidth, `${column.width}px`);\n }\n }\n }\n\n childrenToColumns(\n children: React.ReactNode,\n options: { fixed?: 'left' | 'right' } = { fixed: undefined },\n ) {\n const { sort } = this.asProps;\n const columnsChildren: Column[] = [];\n React.Children.forEach(children, (child) => {\n if (!React.isValidElement(child)) return;\n if (child.type !== DefinitionTable.Column) return;\n\n let {\n children,\n name,\n fixed = options.fixed,\n resizable,\n sortable,\n flex,\n vBorders,\n active,\n ...props\n } = child.props as Column['props'];\n const lastColumnChildren = columnsChildren[columnsChildren.length - 1];\n const isGroup = !name;\n let columns: Column[] | undefined;\n\n if (isGroup) {\n columns = this.childrenToColumns(children, { fixed });\n active = typeof active === 'boolean' ? active : columns.some((c) => c.active);\n\n if (vBorders) {\n setBorderGroupColumns(columns);\n }\n\n name = flattenColumns(columns)\n .map(({ name }) => name)\n .join('/');\n if (!columns.length) return;\n children = React.Children.toArray(children).filter(\n (child) => !(React.isValidElement(child) && child.type === DefinitionTable.Column),\n );\n }\n\n const column = this.columns.find((column) => column.name === name);\n const columnChildren = {\n get width() {\n // @ts-ignore\n return this.props.ref.current?.getBoundingClientRect().width || 0;\n },\n name,\n varWidth: createCssVarForWidth(name),\n setVar: flex !== 'inherit',\n fixed,\n resizable,\n active: typeof active === 'boolean' ? active : sort[0] === name,\n sortable,\n borderLeft: lastColumnChildren?.borderRight === true ? false : vBorders,\n borderRight: vBorders,\n sortDirection:\n sort[0] === name\n ? sort[1]\n : column?.sortDirection ||\n (typeof sortable === 'string' ? sortable : defaultSortDirection),\n props: {\n name,\n flex: flex === 'inherit' ? undefined : flex,\n ...props,\n // @ts-ignore\n forwardRef: child.ref,\n children,\n ref: column?.props?.ref || React.createRef(),\n },\n parentColumns: [],\n } as unknown as Column;\n\n if (columns) {\n columnChildren.columns = columns;\n columns.forEach((column) => column.parentColumns.unshift(columnChildren));\n }\n columnsChildren.push(columnChildren);\n });\n return columnsChildren;\n }\n\n getHeadProps(props: HeadAsProps) {\n const { use, uid } = this.asProps;\n const columnsChildren = this.childrenToColumns(props.children);\n\n this.columns = flattenColumns(columnsChildren);\n return {\n $onSortClick: callAllEventHandlers(this.handlerSortClick, this.scrollToUp),\n columnsChildren,\n use,\n onResize: this.handlerResize,\n $scrollRef: this.scrollHeadRef,\n uid,\n };\n }\n\n getBodyProps(props: BodyAsProps) {\n const { data, use, uniqueKey, uid } = this.asProps;\n const cellPropsLayers: { [columnName: string]: PropsLayer[] } = {};\n const rowPropsLayers: PropsLayer[] = [];\n\n React.Children.forEach(props.children, (child) => {\n if (React.isValidElement(child)) {\n const { name, children, ...other } = child.props as {\n name?: string;\n children?: PseudoChildPropsGetter;\n } & { [propName: string]: unknown };\n if (child.type === DefinitionTable.Cell && name) {\n name.split('/').forEach((name) => {\n cellPropsLayers[name] = cellPropsLayers[name] || [];\n cellPropsLayers[name].push({\n ...other,\n childrenPropsGetter: children,\n });\n });\n }\n if (child.type === DefinitionTable.Row) {\n rowPropsLayers.push({\n ...other,\n childrenPropsGetter: children,\n });\n }\n }\n });\n\n return {\n columns: this.columns,\n rows: this.dataToRows(data, cellPropsLayers),\n uniqueKey,\n use,\n rowPropsLayers,\n $scrollRef: this.scrollBodyRef,\n uid,\n };\n }\n\n dataToRows(data: RowData[], cellPropsLayers: { [columnName: string]: PropsLayer[] }) {\n const parseData = (data: RowData[], exclude: { [columnName: string]: true }) =>\n data.map((row) => {\n const groupByName: {\n [columnName: string]: {\n groupedColumns: string[];\n groupData: { [columnName: string]: unknown };\n };\n } = {};\n const columnsWithoutRowGroup: { [columnname: string]: true } = {};\n for (const rowKey in row) {\n const columnNames = rowKey.split('/');\n if (columnNames.length >= 2) {\n for (const column of columnNames) {\n groupByName[column] = {\n groupedColumns: columnNames,\n groupData: row[rowKey] as { [columnName: string]: unknown },\n };\n columnsWithoutRowGroup[column] = true;\n }\n } else {\n columnsWithoutRowGroup[rowKey] = true;\n }\n }\n\n const rowsGroup = row[ROW_GROUP] || [];\n const rowsGroupedNames = Object.fromEntries(\n rowsGroup\n .flatMap((subRow) => Object.keys(subRow))\n .flatMap((key) => key.split('/'))\n .map((key) => [key, true]),\n );\n\n let isGroup = false;\n\n const cells: NestedCells = this.columns\n .map((column) => {\n if (groupByName[column.name]) {\n const { groupedColumns, groupData } = groupByName[column.name];\n if (groupedColumns[0] === column.name) {\n return {\n name: groupedColumns.join('/'),\n cssVar: groupedColumns.map(createCssVarForWidth),\n fixed: column.fixed,\n data: groupData,\n cellPropsLayers: cellPropsLayers[column.name] || [],\n };\n }\n } else if (column.name in row) {\n return {\n name: column.name,\n cssVar: column.varWidth,\n fixed: column.fixed,\n data: row[column.name],\n cellPropsLayers: cellPropsLayers[column.name] || [],\n };\n } else if (!isGroup && rowsGroupedNames[column.name]) {\n // TODO: make it work not only with first group\n isGroup = true;\n return parseData(rowsGroup, {\n ...exclude,\n ...columnsWithoutRowGroup,\n });\n } else if (!exclude[column.name] && !rowsGroupedNames[column.name]) {\n // add empty cell if it is not present in data\n return {\n name: column.name,\n cssVar: column.varWidth,\n fixed: column.fixed,\n data: null,\n cellPropsLayers: cellPropsLayers[column.name] || [],\n };\n }\n })\n .filter((column) => column)\n .map((column) => column!);\n\n cells.flatRowData = row;\n return cells;\n });\n\n return parseData(data, {});\n }\n\n componentDidUpdate() {\n this.setVarStyle(this.columns);\n }\n\n render() {\n const SDataTable = Root;\n const { Children, styles, data } = this.asProps;\n\n return sstyled(styles)(\n <SDataTable\n render={Box}\n __excludeProps={['data']}\n ref={this.tableRef}\n role='table'\n aria-rowcount={(data ?? []).length}\n >\n <Children />\n </SDataTable>,\n );\n }\n}\n\ntype DataTableCtx = {\n getHeadProps: PropGetterFn;\n getBodyProps: PropGetterFn;\n};\n\nfunction ComponentDefinition() {\n return null;\n}\n\ntype IntergalacticDataTableComponent = (<\n Data extends DataTableData[],\n Tag extends Intergalactic.Tag = 'div',\n>(\n props: Intergalactic.InternalTypings.ComponentProps<\n Tag,\n 'div',\n DataTableProps<Data>,\n DataTableCtx,\n never\n >,\n) => Intergalactic.InternalTypings.ComponentRenderingResults) &\n Intergalactic.InternalTypings.ComponentAdditive<'div'>;\n\ntype IntergalacticDataTableRowComponent = (<\n Data extends DataTableData[],\n Tag extends Intergalactic.Tag = 'div',\n>(\n props: Intergalactic.InternalTypings.PropsRenderingResultComponentProps<\n Tag,\n DataTableRowProps & {\n /**\n * That property is ONLY used for the component strict typings. In the component runtime `data` prop set on `<DataTable>...</DataTable> is used.\n */\n data?: Data;\n },\n DataTableCtx & { data: Data },\n [row: Data[0], index: number]\n >,\n) => Intergalactic.InternalTypings.ComponentRenderingResults) &\n Intergalactic.InternalTypings.ComponentAdditive<'div'>;\n\ntype IntergalacticDataTableCellComponent = (<\n Data extends DataTableData[] = [],\n Name extends string = string,\n Tag extends Intergalactic.Tag = 'div',\n>(\n props: Intergalactic.InternalTypings.PropsRenderingResultComponentProps<\n Tag,\n DataTableCellProps<Name> & {\n /**\n * That property is ONLY used for the componenct strict typings. In the component runtime `data` prop set on `<DataTable>...</DataTable> is used.\n */\n data?: Data;\n },\n DataTableCtx & { data: Data },\n [row: Data[0], index: number]\n >,\n) => Intergalactic.InternalTypings.ComponentRenderingResults) &\n Intergalactic.InternalTypings.ComponentAdditive<'div'>;\n\nconst DefinitionTable = createComponent(\n RootDefinitionTable,\n {\n Head,\n Body,\n Column: ComponentDefinition,\n Cell: ComponentDefinition,\n Row: ComponentDefinition,\n },\n {},\n) as IntergalacticDataTableComponent & {\n Head: Intergalactic.Component<'div', DataTableHeadProps>;\n Body: Intergalactic.Component<'div', DataTableBodyProps>;\n Column: Intergalactic.Component<'div', DataTableColumnProps>;\n Row: IntergalacticDataTableRowComponent;\n Cell: IntergalacticDataTableCellComponent;\n};\n\nexport { ROW_GROUP };\nexport default DefinitionTable;\n"],"mappings":"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"}
@@ -90,12 +90,20 @@ SColumn[sortable] {
90
90
  background-color: var(--intergalactic-table-th-primary-cell-hover, #e0e1e9);
91
91
  }
92
92
 
93
- &:hover SSortWrapper, &:focus SSortWrapper {
93
+ &[justifyContent='right'] SSortWrapper {
94
+ position: absolute;
95
+ right: calc(var(--intergalactic-spacing-1x, 4px) + 16px);
96
+ }
97
+ &[justifyContent='right']:hover SSortWrapper, &[justifyContent='right']:focus SSortWrapper, &[justifyContent='right'][active] SSortWrapper {
98
+ right: var(--intergalactic-spacing-3x, 12px);
99
+ }
100
+
101
+ &:hover SSortWrapper, &:focus SSortWrapper, &[active] SSortWrapper {
94
102
  flex-basis: calc(var(--intergalactic-spacing-1x, 4px) + 16px);
95
103
  opacity: 1;
96
104
  }
97
105
 
98
- &:hover SSortWrapper:before, &:focus SSortWrapper:before {
106
+ &:hover SSortWrapper:before, &:focus SSortWrapper:before, &[active] SSortWrapper:before {
99
107
  display: block;
100
108
  opacity: 1;
101
109
  }
@@ -111,14 +119,8 @@ SColumn[use='primary'][active] {
111
119
  width: 100%;
112
120
  }
113
121
 
114
- SColumn[active] SSortWrapper {
115
- flex-basis: calc(var(--intergalactic-spacing-1x, 4px) + 16px);
116
- opacity: 1;
117
- }
118
-
119
122
  SColumn[active] SSortIcon {
120
123
  display: block;
121
- position: relative;
122
124
  opacity: 1;
123
125
  }
124
126
 
@@ -162,9 +164,9 @@ SSortWrapper {
162
164
  flex-shrink: 99999;
163
165
  position: relative;
164
166
  flex-basis: 0;
165
- height: 100%;
166
167
  min-height: 16px;
167
168
  opacity: 0;
169
+ transition: all calc(var(--intergalactic-duration-medium, 300) * 1ms) ease;
168
170
  }
169
171
 
170
172
  SSortWrapper:before {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "intergalactic",
3
- "version": "15.47.0-prerelease-9ee4af8a",
3
+ "version": "15.47.0-prerelease-de51389d",
4
4
  "license": "MIT",
5
5
  "dependencies": {
6
6
  "intergalactic-migrate": "0.0.0",
@@ -26,9 +26,9 @@
26
26
  "@babel/runtime": "^7.17.9",
27
27
  "text-mask-core": "5.1.2",
28
28
  "@popperjs/core": "2.11.5",
29
- "unplugin": "1.2.0",
30
29
  "focus-lock": "0.11.3",
31
- "@phytonmk/nano-css": "5.3.7"
30
+ "@phytonmk/nano-css": "5.3.7",
31
+ "unplugin": "1.2.0"
32
32
  },
33
33
  "peerDependencies": {
34
34
  "react": "16.8 - 18",